Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
301 words
A method of controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein a record transferred between the CPU and the storage device, a cache controller for controlling the cache, and a program executed by the CPU and issuing record update requests for the storage device, comprising the steps of: issuing from the CPU executing the program a checkpoint request with a checkpoint identifier to the cache controller; generating by the cache controller, in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; writing by the cache controller an update record into the cache in response to the update request issued by the CPU; notifying by the cache controller completion of the write operation to the CPU when the update record is written into the cache; and writing by the cache controller the update record in the cache into the storage device, wherein the step of writing the update record into the cache includes the step of recording the update generation identifier generated at the last checkpoint with the update record as the update generation identifier of the update record if the update generation identifier of the undated record is not recorded, and the step of writing the update record in the cache into the storage device includes the step of deciding an order of writing the update record into the storage device based on the update generation identifier of the update record.
Claim 2
Independent Claim
301 words
A method of controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein a record transferred between the CPU and the storage device, a cache controller for controlling the cache, and a program executed by the CPU and issuing record update requests for the storage device, comprising the steps of: issuing from the CPU executing the program a checkpoint request with a checkpoint identifier to the cache controller; generating by the cache controller, in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; writing by the cache controller an update record into the cache in response to the update request issued by the CPU; notifying by the cache controller completion of the write operation to the CPU when the update record is written into the cache; and writing by the cache controller the update record in the cache into the storage device, wherein the step of writing the update record into the cache includes the step of recording the update generation identifier generated at the last checkpoint with the update record as the update generation identifier of the update record if the update generation identifier of the undated record is not recorded, and the step of writing the update record in the cache into the storage device includes the step of deciding an order of writing the update record into the storage device based on the update generation identifier of the update record.
Claim 3
Dependent Claim
63 words
A method according to claim 1, wherein the step of writing the update record in the cache into the storage device includes the step of: storing in a non-volatile memory the generation identifier of the update record in the cache whose update generation identifier is generated prior to the generation of the update generation identifier of any other update record in the cache.
Claim 4
Dependent Claim
89 words
A method according to claim 2, further comprising the step of: specifying by the CPU an effective management generation number n indicating a number of update generation of the update record in the cache managed by the cache controller; wherein the step of writing the update record in the cache into the storage device preferentially writes into the storage device the update record stored in the cache, wherein the record has an update generation identifier prior to a newest update generation identifier by the effective management generation number n.
Claim 5
Dependent Claim
33 words
A method according to claim 2, further comprising the step of: establishing at the checkpoint a correspondence between an execution position of the program executed by the CPU and the update generation identifier.
Claim 6
Dependent Claim
49 words
A method according to claim 4, further comprising the step of: executing again the program, when update records in the cache are lost due to a failure from the program execution position corresponding to the update generation identifier stored in the non-volatile memory, thereby recovering the write after data.
Claim 7
Dependent Claim
72 words
A method according to claim 2, wherein the computer system includes a journal file, and the method further comprises the steps of: recording, by the CPU, when the program updates a record in the storage device, an update journal including update contents of the record in the journal file; and establishing by the CPU at the checkpoint a correspondence between a recording position of the journal file and the update generation identifier.
Claim 8
Independent Claim
507 words
A method of controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein a record transferred between the CPU and the storage device, a cache controller for controlling the cache, and a program executed by the CPU and issuing record update requests for the storage device, comprising the steps of: issuing from the CPU executing the program a checkpoint request with a checkpoint identifier to the cache controller; generating by the cache controller, in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; writing by the cache controller an update record into the cache in response to the update request issued by the CPU; notifying by the cache controller completion of the write operation to the CPU when the update record is written into the cache; and writing by the cache controller the update record in the cache into the storage device, wherein the step of writing the update record into the cache includes the step of recording the update generation identifier generated at the last checkpoint with the update record as the update generation identifier of the update record if the update generation identifier of the updated record is not recorded, and the step of writing the update record in the cache into the storage device includes the step of deciding an order of writing the update record into the storage device based on the update generation identifier of the update record; wherein the step of writing the update record in the cache into the storage device further includes the step of: storing in a non-volatile memory the generation identifier of the update record in the cache whose update generation identifier is generated prior to the generation of the update generation identifier of any other update record in the cache; wherein the computer system includes a journal file, and the method further comprises the steps of: recording, by the CPU, when the program updates a record in the storage device, an update journal including update contents of the record in the journal file; establishing by the CPU at the checkpoint a correspondence between a recording position of the journal file and the update generation identifier; blocking, by the CPU, when update records in the cache are lost due to a failure, the storage device as a destination of a write operation of the update record; detecting by the CPU the recording position in the journal file associated with the update generation identifier stored in the non-volatile memory; recovering by the CPU the lost update records in the cache according to update journals following the recording position; and releasing by the CPU the blocked state of the storage device.
Claim 9
Independent Claim
507 words
A method of controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein a record transferred between the CPU and the storage device, a cache controller for controlling the cache, and a program executed by the CPU and issuing record update requests for the storage device, comprising the steps of: issuing from the CPU executing the program a checkpoint request with a checkpoint identifier to the cache controller; generating by the cache controller, in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; writing by the cache controller an update record into the cache in response to the update request issued by the CPU; notifying by the cache controller completion of the write operation to the CPU when the update record is written into the cache; and writing by the cache controller the update record in the cache into the storage device, wherein the step of writing the update record into the cache includes the step of recording the update generation identifier generated at the last checkpoint with the update record as the update generation identifier of the update record if the update generation identifier of the updated record is not recorded, and the step of writing the update record in the cache into the storage device includes the step of deciding an order of writing the update record into the storage device based on the update generation identifier of the update record; wherein the step of writing the update record in the cache into the storage device further includes the step of: storing in a non-volatile memory the generation identifier of the update record in the cache whose update generation identifier is generated prior to the generation of the update generation identifier of any other update record in the cache; wherein the computer system includes a journal file, and the method further comprises the steps of: recording, by the CPU, when the program updates a record in the storage device, an update journal including update contents of the record in the journal file; establishing by the CPU at the checkpoint a correspondence between a recording position of the journal file and the update generation identifier; blocking, by the CPU, when update records in the cache are lost due to a failure, the storage device as a destination of a write operation of the update record; detecting by the CPU the recording position in the journal file associated with the update generation identifier stored in the non-volatile memory; recovering by the CPU the lost update records in the cache according to update journals following the recording position; and releasing by the CPU the blocked state of the storage device.
Claim 10
Dependent Claim
79 words
A method according to claim 7, wherein the step of recovering the lost update records in the cache comprises the steps of: reading from the journal file update journals beginning from the recording position; reading a desired record of the update journals from the blocked storage device; recovering the lost update records in the cache according to the record read from the blocked storage device and the update journals; and writing the recovered update records in the storage device.
Claim 11
Independent Claim
446 words
A method of controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein a record transferred between the CPU and the direct access storage device, a cache controller for controlling the cache, a storage device for storing therein a journal file, and a program executed by the CPU and issuing record update requests for the storage requests, comprising the steps of: specifying by the CPU an effective management generation number n indicating a number of update generation of the update record in the cache managed by the cache controller; recording by the CPU a checkpoint journal including the checkpoint identifier in the journal file at a plurality of points during execution of the program; issuing by the CPU executing the program a checkpoint request with the checkpoint identifier to the cache controller at the plurality of points during execution of the program; generating by the cache controller, in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; recording, by the CPU, when the program updates a record in the storage device, an update journal including update contents of the record in the journal file; writing by the cache controller an update record into the cache in response to the update request issued by the CPU; notifying by the cache controller completion of the write operation to the CPU when the update record is written into the cache; writing by the cache controller the update record in the cache into the storage device, wherein the step of writing the update record into the cache includes the step of recording the update generation identifier generated at the last checkpoint into the update record as the update generation identifier of the update record if the update generation identifier of the updated record is not recorded, and wherein the step of writing the update record into the storage device preferentially writes the update record in the cache into the storage device, the record having an update generation identifier prior to a newest update generation identifier by the effective management generation number n; and storing in a non-volatile memory the update generation identifier of the update record in the cache whose update generation identifier is generated prior to the generation of the update generation identifier of any other update record in the cache.
Claim 12
Independent Claim
446 words
A method of controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein a record transferred between the CPU and the direct access storage device, a cache controller for controlling the cache, a storage device for storing therein a journal file, and a program executed by the CPU and issuing record update requests for the storage requests, comprising the steps of: specifying by the CPU an effective management generation number n indicating a number of update generation of the update record in the cache managed by the cache controller; recording by the CPU a checkpoint journal including the checkpoint identifier in the journal file at a plurality of points during execution of the program; issuing by the CPU executing the program a checkpoint request with the checkpoint identifier to the cache controller at the plurality of points during execution of the program; generating by the cache controller, in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; recording, by the CPU, when the program updates a record in the storage device, an update journal including update contents of the record in the journal file; writing by the cache controller an update record into the cache in response to the update request issued by the CPU; notifying by the cache controller completion of the write operation to the CPU when the update record is written into the cache; writing by the cache controller the update record in the cache into the storage device, wherein the step of writing the update record into the cache includes the step of recording the update generation identifier generated at the last checkpoint into the update record as the update generation identifier of the update record if the update generation identifier of the updated record is not recorded, and wherein the step of writing the update record into the storage device preferentially writes the update record in the cache into the storage device, the record having an update generation identifier prior to a newest update generation identifier by the effective management generation number n; and storing in a non-volatile memory the update generation identifier of the update record in the cache whose update generation identifier is generated prior to the generation of the update generation identifier of any other update record in the cache.
Claim 13
Dependent Claim
171 words
A method according to claim 9, further comprising the steps of: blocking, by the CPU, when update records in the cache are lost due to a failure, the direct access storage device as a destination of a write operation of the update record; reading by the CPU the journal file; detecting by the CPU the checkpoint journal including the checkpoint of the identifier corresponding to the update generation identifier stored in the non-volatile memory; recovering by the CPU the lost update records in the cache, the recovering step including the steps of: reading from the journal file update journals beginning from the checkpoint journal thus detected, reading a record associated with the update journal from the blocked direct access storage device, recovering the lost update records in the cache according to the record read from the blocked direct access storage device and the update journals, and writing the recovered update records in the direct access storage device; and releasing by the CPU the blocked state of the direct access storage device.
Claim 14
Dependent Claim
272 words
A cache controller for controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein record transferred between the CPU and the storage device, a cache controller for controlling the cache, and a program executed by the CPU and issuing record update requests for the storage device, comprising: said CPU issuing a checkpoint request with a checkpoint identifier; update generation control means for generating in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; write after data control means for writing an update record into the cache in response to the update request issued by the CPU and notifying completion of the write operation to the CPU when the update record is written into the cache; and wherein said update generation control means includes means for recording the update generation identifier generated at the last checkpoint with the update record as the update generation identifier of the update record if the update generation identifier of the updated record is not recorded; and destaging means for writing the update record in the cache into the storage device, wherein said destaging means includes means for deciding an order of writing the update record into the storage device based on the update generation identifier of the update record.
Claim 15
Dependent Claim
272 words
A cache controller for controlling a cache in a computer system which includes a central processing unit (CPU), a direct access storage device, a cache disposed between the CPU and the storage device for temporarily storing therein record transferred between the CPU and the storage device, a cache controller for controlling the cache, and a program executed by the CPU and issuing record update requests for the storage device, comprising: said CPU issuing a checkpoint request with a checkpoint identifier; update generation control means for generating in response to the checkpoint request issued by the CPU, an update generation identifier corresponding to the checkpoint identifier of the checkpoint request and indicating when an update record in the cache to be written into the storage device is first written into the cache in response to an update request issued by the CPU; write after data control means for writing an update record into the cache in response to the update request issued by the CPU and notifying completion of the write operation to the CPU when the update record is written into the cache; and wherein said update generation control means includes means for recording the update generation identifier generated at the last checkpoint with the update record as the update generation identifier of the update record if the update generation identifier of the updated record is not recorded; and destaging means for writing the update record in the cache into the storage device, wherein said destaging means includes means for deciding an order of writing the update record into the storage device based on the update generation identifier of the update record.
Claim 16
Dependent Claim
75 words
A cache controller according to claim 11, further comprising: effective generation number management means for specifying an effective management generation number n indicating a number of update generation of the update record in the cache managed by the cache controller; wherein said destaging means preferentially writes in the storage device the update record, wherein the record has an update generation identifier prior to a newest update generation identifier by the effective management generation number n.
Claim 17
Dependent Claim
30 words
A cache controller according to claim 12, wherein the destaging means reports, after writing the update record in the cache into the storage device, completion of destaging to the CPU.
Claim 18
Dependent Claim
62 words
A cache controller according to claim 11, wherein the update generation management means includes: means operative at a predetermined point of time for storing in a non-volatile memory the update generation identifier of the update record in the cache whose update generation identifier is generated prior to the generation of the update generation identifier of any other update record in the cache.
Claim 19
Dependent Claim
28 words
A cache controller according to claim 11, wherein the cache includes a volatile cache formed in a volatile memory and a non-volatile cache disposed in a non-volatile memory.
Claim 20
Dependent Claim
91 words
A cache controller according to claim 15, further comprising: volatile cache effective generation number management means for specifying an effective management generation number of volatile cache M indicating a number of update generation of the update record in the cache managed by the cache controller; wherein said destaging means includes intra-cache backup means for writing the update record from the volatile cache into the non-volatile cache, wherein the record has an update generation identifier prior to a newest update generation identifier by the effective management generation number of volatile cache M.