Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
212 words
A cache system in communication with a host application and a disk array, the disk array comprising a plurality of disk storage devices across which data is stored in strides, each stride comprising a multi-sector stripe of data on each of two or more devices of the disk array and an associated multi-sector parity stripe on a further device of the disk array, the cache system comprising: a cache memory 50 for staging data to be transferred between a host application and a disk array 30; a plurality of cache control blocks, each cache control block being associated with an individual data stride, at least a portion of which is stored in the cache memory, and each cache control block identifying where in the cache data stripes making up the data stride are located, a cache manager for maintaining an ordered list of cache control blocks, the cache control blocks in the list being ordered according to the time of last access; and wherein in response to a write or read request from the host application for data forming part of a data stride in the cache memory, the cache control block associated with the requested data stride is moved to the most recently accessed end of the cache control block list.
Claim 2
Dependent Claim
212 words
A cache system in communication with a host application and a disk array, the disk array comprising a plurality of disk storage devices across which data is stored in strides, each stride comprising a multi-sector stripe of data on each of two or more devices of the disk array and an associated multi-sector parity stripe on a further device of the disk array, the cache system comprising: a cache memory 50 for staging data to be transferred between a host application and a disk array 30; a plurality of cache control blocks, each cache control block being associated with an individual data stride, at least a portion of which is stored in the cache memory, and each cache control block identifying where in the cache data stripes making up the data stride are located, a cache manager for maintaining an ordered list of cache control blocks, the cache control blocks in the list being ordered according to the time of last access; and wherein in response to a write or read request from the host application for data forming part of a data stride in the cache memory, the cache control block associated with the requested data stride is moved to the most recently accessed end of the cache control block list.
Claim 3
Dependent Claim
66 words
A cache system as claimed in claim 1, further comprising: means for scanning the cache control block list to identify a data stride for which a complete set of data stripes is stored in cache memory; means for generating parity, for each data stride so-identified, from the set of data stripes; and means for committing the data stripes and generated parity stripe to the disk array.
Claim 4
Dependent Claim
74 words
A cache system as claimed in claim 1, wherein each data stripe making up a data stride has associated therewith a stripe control block for maintaining the status of the area in cache memory in which the data stripe is stored; and wherein a cache control block for a data stride includes an array of pointers which reference the stripe control blocks associated with each of the data stripes making up the data stride.
Claim 5
Dependent Claim
53 words
A data processing system comprising: a host computer system including host memory; a plurality of disk storage devices configured as a disk array; and a cache system as claimed in claim 1, connected for communication to the disk array, for staging data to be transferred between the disk storage devices and host memory.
Claim 6
Dependent Claim
206 words
In a cache system including a cache memory 50 for staging data to be transferred between a host application and a disk array 30, the disk array comprising a plurality of disk storage devices 34,36,38,40 across which data is stored in strides, each stride comprising a multi-sector stripe of data on each of two or more devices of the disk array and an associated multi-sector parity stripe on a further device of the disk array, a method for managing data in the cache memory comprising the steps of: maintaining an ordered list of cache control blocks, each cache control block of the list being associated with an individual data stride, at least a portion of which is stored in the cache memory, and each cache control block identifying where in the cache data stripes making up the data stride are located, the cache control blocks in the list being ordered according to the time of last access; and responsive to a write or read request from the host application for data forming part of a data stride in the cache memory, causing the cache control block associated with the data stride to be moved to the most recently accessed end of the cache control block list.
Claim 7
Dependent Claim
206 words
In a cache system including a cache memory 50 for staging data to be transferred between a host application and a disk array 30, the disk array comprising a plurality of disk storage devices 34,36,38,40 across which data is stored in strides, each stride comprising a multi-sector stripe of data on each of two or more devices of the disk array and an associated multi-sector parity stripe on a further device of the disk array, a method for managing data in the cache memory comprising the steps of: maintaining an ordered list of cache control blocks, each cache control block of the list being associated with an individual data stride, at least a portion of which is stored in the cache memory, and each cache control block identifying where in the cache data stripes making up the data stride are located, the cache control blocks in the list being ordered according to the time of last access; and responsive to a write or read request from the host application for data forming part of a data stride in the cache memory, causing the cache control block associated with the data stride to be moved to the most recently accessed end of the cache control block list.
Claim 8
Dependent Claim
60 words
The method of claim 5 further comprising the step of: scanning the cache control block list to identify a data stride for which a complete set of data stripes is stored in cache memory; for each identified data stride, generating parity from the set of data stripes; and committing the data stripes and generated parity stripe to the disk array.
Claim 9
Dependent Claim
71 words
The method of claim 5, wherein each data stripe making up a data stride has associated therewith a stripe control block for maintaining the status of the area in cache memory in which the data stripe is stored; and wherein a cache control block for a data stride includes an array of pointers which reference the stripe control blocks associated with each of the data stripes making up the data stride.
Claim 10
Dependent Claim
234 words
An article of manufacture for use in a computer system including a cache memory 50 for staging data to be transferred between a host application and a disk array 30, the disk array comprising a plurality of disk storage devices 34,36,38,40, said article of manufacture comprising a computer-readable storage medium having a computer program code embodied in said medium which cause the computer to: store data in the plurality of disk storage devices 34, 36, 38, 40 across which data is stored in strides, each stride comprising multi-sector stripes of data on each of two or more devices of the disk array and an associated multi-sector parity stripe on a further device of the disk array; maintain an ordered list of cache control blocks, each cache control block of the list being associated with an individual data stride, at least a portion of which is stored in the cache memory, and each cache control block identifying where in the cache data stripes making up the data stride are located, the cache control blocks in the list being ordered according to the time of last access; and responsive to a write or read request from the host application for data forming part of a data stride in the cache memory, cause the cache control block associated with the data stride to be moved to the most recently accessed end of the cache control block list.
Claim 11
Dependent Claim
234 words
An article of manufacture for use in a computer system including a cache memory 50 for staging data to be transferred between a host application and a disk array 30, the disk array comprising a plurality of disk storage devices 34,36,38,40, said article of manufacture comprising a computer-readable storage medium having a computer program code embodied in said medium which cause the computer to: store data in the plurality of disk storage devices 34, 36, 38, 40 across which data is stored in strides, each stride comprising multi-sector stripes of data on each of two or more devices of the disk array and an associated multi-sector parity stripe on a further device of the disk array; maintain an ordered list of cache control blocks, each cache control block of the list being associated with an individual data stride, at least a portion of which is stored in the cache memory, and each cache control block identifying where in the cache data stripes making up the data stride are located, the cache control blocks in the list being ordered according to the time of last access; and responsive to a write or read request from the host application for data forming part of a data stride in the cache memory, cause the cache control block associated with the data stride to be moved to the most recently accessed end of the cache control block list.
Claim 12
Dependent Claim
68 words
The article of manufacture of claim 8 wherein the computer program code may further cause the computer to: scan the cache control block list to identify a data stride for which a complete set of data stripes is stored in cache memory; for each identified data stride, generate parity from the set of data stripes; and commit the data stripes and generated parity stripe to the disk array.
Claim 13
Dependent Claim
73 words
The article of manufacture of claim 8, wherein each data stripe making up a data stride has associated therewith a stripe control block for maintaining the status of the area in cache memory in which the data stripe is stored; and wherein a cache control block for a data stride includes an array of pointers which reference the stripe control blocks associated with each of the data stripes making up the data stride.