US6233648B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Disk storage system and data update method used therefor
Assignee: Toshiba Corp
•
Filing: 1998-08-06
•
Granted: 2001-05-15
•
Expires: 2018-08-06
Abstract
Abstract A disk storage system with a RAID architecture includes a write buffer having a storage capacity corresponding to one stripe, a buffer management table, and a controller. The controller stores, in the write buffer, logical blocks whose data lengths are changed, as needed, and delays updating of the logical blocks stored in the write buffer in data update processing until the number of stored logical blocks reaches N*K−1 The controller then performs a continuous write operation to sequentially write N*K logical blocks, obtained by adding a logical address tag block to the N*K−1logical blocks, in contiguous areas of empty areas different from the areas in which the old data are stored.
Inventors
- 👤 Haruo Tomita
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 16:21
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0613; G06F3/0628; G06F3/0638; G06F3/064; G06F3/0655; G06F3/0656; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076
Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
197 words
A disk storage system comprising: N (N is a positive integer of two or more) disk storages; a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks); buffer management means for managing logical addresses that are included in data to be written in the write buffer; means for writing (N*K−1) write block data into (N*K−1) blocks of the write buffer, the writing means rearranging, when a plurality of write block data whose logical addresses are contiguous is detected by the buffer management means, the plurality of write block data into contiguous blocks of the write buffer and writing the rearranged write block data in the write buffer; means for generating a logical address tag block corresponding to the write block data from the logical addresses of the (N*K−1) write block data and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; and means for contiguously storing, as a single stripe, the (N*K−1) write block data and the logical address tag block written into the write buffer into empty areas of the N disk storages.
Claim 2
Dependent Claim
197 words
A disk storage system comprising: N (N is a positive integer of two or more) disk storages; a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks); buffer management means for managing logical addresses that are included in data to be written in the write buffer; means for writing (N*K−1) write block data into (N*K−1) blocks of the write buffer, the writing means rearranging, when a plurality of write block data whose logical addresses are contiguous is detected by the buffer management means, the plurality of write block data into contiguous blocks of the write buffer and writing the rearranged write block data in the write buffer; means for generating a logical address tag block corresponding to the write block data from the logical addresses of the (N*K−1) write block data and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; and means for contiguously storing, as a single stripe, the (N*K−1) write block data and the logical address tag block written into the write buffer into empty areas of the N disk storages.
Claim 3
Dependent Claim
85 words
The system according to claim 1 , wherein the buffer management means has a buffer management table, and wherein the buffer management means divides a data length of the write block data in units of optimal blocks to be stored in the write buffer in a log form, and wherein the buffer management means stores in an entry of the buffer management table corresponding to a storage area of the write buffer the logical address and the time stamps included in the write block data.
Claim 4
Dependent Claim
50 words
The system according to claim 1 , wherein the buffer management means divides the write block data and writes the divided data into a plurality of contiguous blocks of the write buffer when the write block data has a length extending over a plurality of blocks of the write buffer.
Claim 5
Dependent Claim
86 words
The system according to claim 1 , wherein the buffer management means performs a write operation from the write buffer into the empty areas of the N disk storages such that physical blocks are stored in a contiguous manner so that a read request for the contiguous physical blocks in the single stripe can be made with respect to the write block data when the physical addresses of the plurality of the write block data are not arranged contiguously while the logical addresses thereof are contiguous.
Claim 6
Dependent Claim
105 words
The system according to claim 1 , further comprising: means for, in response to a read request from a host system, reading, in the write buffer, the write block data and the logical address tag block of the stripe corresponding to the read request; and means for, when the logical addresses of the logical address tag block are contiguous, rearranging the plurality of write block data into contiguous blocks in the write buffer, forming (N*K−1) block data together with other write block data, writing the formed (N*K−1) block data in the write buffer, generating and writing the logical address tag block in the write buffer.
Claim 7
Dependent Claim
83 words
The system according to claim 1 , further comprising: means for reading the write block data and the logical address tag blocks from a plurality of stripes written in the N disk storages; means for detecting only effective write block data from the logical address tag blocks; and means for arranging and writing the data whose logical addresses are contiguous in the contiguous blocks of the write buffer when the effective write block data is written in (N*K−1) blocks of the write buffer.
Claim 8
Dependent Claim
77 words
The system according to claim 6 , further comprising: means for rearranging and writing in the remaining one block of the write buffer the logical address tag blocks in conformity to the write arrangement of the write block data; and means for arranging the rearranged logical address tag blocks and (N*K−1) write block data into a single stripe of data and contiguously storing the single stripe of data in other empty areas of the N disk storages.
Claim 9
Dependent Claim
222 words
A disk storage system, comprising: (N+1) (N is a positive integer of two or more) disk storages; a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks); buffer management means for managing logical addresses that are included in data to be written in the write buffer; means for writing (N*K−1) write block data into (N*K−1) blocks of the write buffer, the writing means rearranging, when a plurality of block data whose logical addresses are contiguous is detected by the buffer management means, the plurality of block data into contiguous blocks of the write buffer and writing the rearranged write block data into the write buffer; means for generating a logical address tag block corresponding to the write block data from the logical addresses of the (N*K−1) write blocks and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; means for generating K parity blocks corresponding to K stripe data consisting of the (N*K−1) write block data and the logical address tag block by using an exclusive OR operation; and means for contiguously storing, as a single stripe, the (N*K−1) write data, the logical address tag block and the K parity blocks into empty areas of the (N+1) disk storages.
Claim 10
Dependent Claim
222 words
A disk storage system, comprising: (N+1) (N is a positive integer of two or more) disk storages; a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks); buffer management means for managing logical addresses that are included in data to be written in the write buffer; means for writing (N*K−1) write block data into (N*K−1) blocks of the write buffer, the writing means rearranging, when a plurality of block data whose logical addresses are contiguous is detected by the buffer management means, the plurality of block data into contiguous blocks of the write buffer and writing the rearranged write block data into the write buffer; means for generating a logical address tag block corresponding to the write block data from the logical addresses of the (N*K−1) write blocks and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; means for generating K parity blocks corresponding to K stripe data consisting of the (N*K−1) write block data and the logical address tag block by using an exclusive OR operation; and means for contiguously storing, as a single stripe, the (N*K−1) write data, the logical address tag block and the K parity blocks into empty areas of the (N+1) disk storages.
Claim 11
Dependent Claim
185 words
A data update method applied to a disk storage system constituted by N disk storages (N is a positive integer of two or more), comprising the steps of: writing (N*K−1) write block data in (N*K−1) blocks of a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks), the writing step rearranging, when a plurality of block data whose logical addresses are contiguous is detected by a buffer management means managing logical addresses that the write block data includes, the plurality of block data into contiguous blocks of the write buffer and writing the rearranged block data in the write buffer; generating a logical address tag block corresponding to the write block data from the logical addresses of the (N*K−1) write blocks and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; and contiguously storing, as a single stripe, the (N*K−1) write block data and the logical address tag block written into the write buffer into empty areas of the N disk storage.
Claim 12
Dependent Claim
185 words
A data update method applied to a disk storage system constituted by N disk storages (N is a positive integer of two or more), comprising the steps of: writing (N*K−1) write block data in (N*K−1) blocks of a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks), the writing step rearranging, when a plurality of block data whose logical addresses are contiguous is detected by a buffer management means managing logical addresses that the write block data includes, the plurality of block data into contiguous blocks of the write buffer and writing the rearranged block data in the write buffer; generating a logical address tag block corresponding to the write block data from the logical addresses of the (N*K−1) write blocks and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; and contiguously storing, as a single stripe, the (N*K−1) write block data and the logical address tag block written into the write buffer into empty areas of the N disk storage.
Claim 13
Dependent Claim
58 words
The method according to claim 9 , wherein the writing step of the write block data includes a step of dividing the write block data and writing the divided data into a plurality of contiguous blocks of the write buffer when the write block data has a length extending over a plurality of blocks of the write buffer.
Claim 14
Dependent Claim
90 words
The method according to claim 9 , wherein the writing step of the write block data performing a write operation from the write buffer into the empty area of the N disk storages such that physical blocks are stored in a contiguous manner so that a read request for the contiguous physical blocks in the single stripe can be made with respect to the write block data when the physical addresses of the plurality of the write block data are not arranged contiguously while the logical addresses thereof are contiguous.
Claim 15
Dependent Claim
104 words
The method according to claim 9 , further comprising the steps of: reading, in response to a read request from a host system, in the write buffer, the write block data and the logical address tag block of the stripe corresponding to the read request; forming, when the logical addresses of the logical address tag block are contiguous, the plurality of write block data into contiguous blocks in the write buffer; arranging (N*K−1) block data together with other write block data, writing the arranged (N*K−1) block data in the write buffer, and generating and writing the logical address tag block in the write buffer.
Claim 16
Dependent Claim
76 words
The method according to claim 9 , further comprising: reading the write block data and the logical address tag blocks from a plurality of stripes written in the N disk storages; detecting only effective write block data from the logical address tag blocks; and allocating the data whose logical addresses are contiguous to the contiguous blocks of the write buffer when the effective write block data is written in the (N*K−1) blocks of the write buffer.
Claim 17
Dependent Claim
74 words
The method according to claim 13 , further comprising: rearranging and writing in the remaining one block of the write buffer the logical address tag blocks in conformity to the write arrangement of the write block data; and arranging the rearranged logical address tag blocks and the (N*K−1) write block data into a single stripe of data and contiguously storing the single stripe of data in other empty areas of the N disk storages.
Claim 18
Dependent Claim
84 words
The method according to claim 9 , further comprising the steps of: reading logical address tag blocks of all the stripes from the N disk storages when a system is powered; forming a conversion map for converting a logical address to a physical address by using the logical address as a hash key; and executing a read operation by accessing a disk storage storing an effective write block data by using the conversion map in response to a read request from a host system.
Claim 19
Dependent Claim
86 words
The method according to claim 9 , further comprising the steps of: reading logical address tag blocks of all the stripes from the N disk storages when a system is powered; forming a conversion map for converting a logical address to a physical address having a tree structure in which the logical address is two-branched; and executing a read operation by accessing a disk storage storing an effective write block data by using the conversion map in response to a read request from a host system.
Claim 20
Dependent Claim
212 words
A data update method applied to a disk storage system constituted by (N+1) (N is a positive integer of two or more) disks storages, comprising the steps of: writing (N*K−1) write block data in (N*K−1) blocks of a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks), the writing step rearranging, when a plurality of block data whose logical addresses are contiguous is detected by a buffer management means managing logical addresses that the write block data have, the plurality of block data into contiguous blocks of the write buffer and writing the rearranged block data in the write buffer; generating a logical address tag block corresponding to the write block data from the logical addresses, of the (N*K−1) write blocks and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; generating K parity blocks corresponding to K stripe data consisting of the (N*K−1) write block data and the logical address tag block by using an exclusive OR operation; and contiguously storing, as a single stripe, the (N*K−1) write block data, the logical address tag block and the K parity blocks into empty areas of the (N+1) disk storages.
Claim 21
Dependent Claim
212 words
A data update method applied to a disk storage system constituted by (N+1) (N is a positive integer of two or more) disks storages, comprising the steps of: writing (N*K−1) write block data in (N*K−1) blocks of a write buffer having a storage capacity corresponding to N*K (K is an integer indicating the number of blocks), the writing step rearranging, when a plurality of block data whose logical addresses are contiguous is detected by a buffer management means managing logical addresses that the write block data have, the plurality of block data into contiguous blocks of the write buffer and writing the rearranged block data in the write buffer; generating a logical address tag block corresponding to the write block data from the logical addresses, of the (N*K−1) write blocks and time stamps indicating the write time, and writing the generated logical address tag block into the remaining one block in the write buffer; generating K parity blocks corresponding to K stripe data consisting of the (N*K−1) write block data and the logical address tag block by using an exclusive OR operation; and contiguously storing, as a single stripe, the (N*K−1) write block data, the logical address tag block and the K parity blocks into empty areas of the (N+1) disk storages.
References Cited (Backward Citations)
US5124987A
Cited
JPH06214720A
Cited
JPH06266510A
Cited
US5613088A
Cited
US5530948A
Cited
US5822782A
Cited
US6058455A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2004-05-14 | 2004-11-13 | 2005-05-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2008-05-14 | 2008-11-13 | 2009-05-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2012-05-14 | 2012-11-13 | 2013-05-15 | $7700.00 | Window Closed / Lapsed |