← Back to Patent Explorer
US5644697A Expired / Lapsed US ⏱️ 0.0 years remaining

Redundant array of disks with improved storage and recovery speed

Assignee: Mitsubishi Electric Corp
•
Filing: 1996-01-04
•
Granted: 1997-07-01
•
Expires: 2016-01-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a redundant array of disks, the disks are divided into areas of different sizes, so that small amounts of data can be stored in an area of an appropriate size on a single disk, instead of being spread over multiple disks. A usage status table indicates which areas are in use. Check information is generated and stored only for areas indicated to be in use. When new check information is generated, it is therefore possible to omit the reading of unnecessary old data and old check information. When a disk fails and is replaced with a standby disk, only the data in areas indicated to be in use are reconstructed. Check information can be stored on a solid-state disk.

Inventors

  • 👤 Toshio Matsumoto
  • 👤 Hiroshi Baba
  • 👤 Kazuhiko Itoh
  • 👤 Shiro Ogura

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 14:07
CPC Classifications
G; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1816; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F11/108; G06F11/30; G06F11/3003; G06F11/3034; G06F11/3055; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0611; G06F3/0613; G06F3/0628; G06F3/0638; G06F3/0644; G06F3/0646; G06F3/065; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G11B20/12; G11B20/1217; G11B20/1252; G11B20/1803; G11B20/1833; G11B20/1883; G11B27/00; G11B27/002; G11B27/10; G11B27/11; G11B27/19; G11B27/28; G11B27/32; G11B27/327; G11B27/329; G06F11/14; G06F11/1446; G06F11/1458; G06F11/1461; G06F11/16; G06F11/20; G06F11/2053; G06F11/2056; G06F2211/00; G06F2211/10; G06F2211/1002; G06F2211/1019; G06F2211/1033; G06F2211/1054; G11B2220/00; G11B2220/20; G11B2220/40; G11B2220/41; G11B2220/415; G11B2220/60; G11B2220/65

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 160 words
A method of storing data in a redundant group of disks, comprising the steps of: partitioning each disk in said group into areas; designating certain areas as data areas for storing data; designating certain other areas as check areas for storing check information of corresponding data areas disposed on different disks in said group; maintaining, in a semiconductor memory, a usage status table (12) indicating which areas are in use and which are not in use; receiving, from a host computer (13), new data to be stored in said group of disks; choosing selected data areas in which to store said new data; writing said new data in said selected data areas; and writing, in corresponding check areas, new check information pertaining to the new data written in said selected areas and to data in any corresponding areas indicated by said usage status table to be in use, but not pertaining to data areas not indicated to be in use.
Claim 2
Independent Claim 160 words
A method of storing data in a redundant group of disks, comprising the steps of: partitioning each disk in said group into areas; designating certain areas as data areas for storing data; designating certain other areas as check areas for storing check information of corresponding data areas disposed on different disks in said group; maintaining, in a semiconductor memory, a usage status table (12) indicating which areas are in use and which are not in use; receiving, from a host computer (13), new data to be stored in said group of disks; choosing selected data areas in which to store said new data; writing said new data in said selected data areas; and writing, in corresponding check areas, new check information pertaining to the new data written in said selected areas and to data in any corresponding areas indicated by said usage status table to be in use, but not pertaining to data areas not indicated to be in use.
Claim 3
Dependent Claim 85 words
The method of claim 1, comprising the further steps of: determining, from said usage status table (12), whether, in order to generate said new check information, old data must be read from said selected data areas and old check information must be read from corresponding check areas; reading the old data, if any, and old check information, if any, thus determined to be necessary; and generating said new check information from said new data and from any old data and old check information thus read.
Claim 4
Dependent Claim 40 words
The method of claim 1, comprising the further step of notifying said host computer that the storing of said new data has been completed as soon as the step of writing said new data in said selected data areas ends.
Claim 5
Dependent Claim 13 words
The method of claim 1, wherein said usage status table (12) is bit-mapped.
Claim 6
Dependent Claim 27 words
The method of claim 1, wherein said usage status table (12) indicates identical usage status for a set of data areas corresponding to a single check area.
Claim 7
Dependent Claim 28 words
The method of claim 1, wherein said usage status table (12) indicates individually whether each data area on each disk in said group is in use or not.
Claim 8
Dependent Claim 65 words
The method of claim 6, wherein a file allocation table comprising chains of pointers to areas in use is stored on the disks of said redundant array by an operating system running on said host computer (13), and said step of maintaining, in a semiconductor memory, a usage status table (12) comprises the further step of copying said file allocation table to said semiconductor memory.
Claim 9
Dependent Claim 87 words
The method of claim 6, comprising the further steps of: receiving, from said host computer (13), a command to delete data stored in certain areas on certain disks in said group; determining, from said usage status table (12), whether any corresponding areas on other disks in said group are in use; and if no such corresponding areas on other disks in said group are in use, modifying said usage status table (12) to indicate that the areas containing the data to be deleted are not in use.
Claim 10
Dependent Claim 198 words
A redundant array of disks, comprising: a plurality of disks (9) partitioned into areas, certain areas being designated as data areas for storing data, and certain areas being designated as check areas for storing check information of corresponding data areas on different disks; a first semiconductor memory (4) for storing new data received from a host computer (13); a second semiconductor memory for storing a usage status table (12) indicating, for each disk in said redundant array, which areas are in use and which are not in use; a microprocessor (3) coupled to said plurality of disks, said first semiconductor memory (4), and said second semiconductor memory, programmed to choose selected data areas for storing said new data, write said new data on said selected data areas, and write new check information on corresponding check areas; and a check processor (5) coupled to said microprocessor (3), for generating said new check information from said new data, and from old data and old check information read from said disks as necessary according to information in said usage status table (12), said new check information pertaining only to areas indicated by said usage status table (12) to be in use.
Claim 11
Dependent Claim 198 words
A redundant array of disks, comprising: a plurality of disks (9) partitioned into areas, certain areas being designated as data areas for storing data, and certain areas being designated as check areas for storing check information of corresponding data areas on different disks; a first semiconductor memory (4) for storing new data received from a host computer (13); a second semiconductor memory for storing a usage status table (12) indicating, for each disk in said redundant array, which areas are in use and which are not in use; a microprocessor (3) coupled to said plurality of disks, said first semiconductor memory (4), and said second semiconductor memory, programmed to choose selected data areas for storing said new data, write said new data on said selected data areas, and write new check information on corresponding check areas; and a check processor (5) coupled to said microprocessor (3), for generating said new check information from said new data, and from old data and old check information read from said disks as necessary according to information in said usage status table (12), said new check information pertaining only to areas indicated by said usage status table (12) to be in use.
Claim 12
Dependent Claim 40 words
The array of claim 9, wherein said microprocessor (3) is programmed to notify said host computer (13) that storing of said new data has been completed as soon as said new data have been written on said selected data areas.
Claim 13
Dependent Claim 38 words
The array of claim 9, wherein said microprocessor (3) is programmed to write said new data as a foreground task, and to write said new check information as a background task having lower priority than said foreground task.
Claim 14
Dependent Claim 20 words
The array of claim 9, wherein said microprocessor (3) is programmed to write said new check information at regular intervals.
Claim 15
Dependent Claim 13 words
The array of claim 9, wherein said usage status table (12) is bit-mapped.
Claim 16
Dependent Claim 51 words
The array of claim 9, wherein a file allocation table comprising chains of pointers to areas in use is stored on the disks of said redundant array by an operating system running on said host computer (13), and said usage status table (12) is created by copying said file allocation table.

References Cited (Backward Citations)

US4761785A Cited
US4761785B1 Cited
US5210866A Cited
EP0481759A2 Cited
EP0485110A2 Cited
EP0493984A2 Cited
US5257362A Cited
WO1993013475A1 Cited
US5408644A Cited
US5517632A Cited
US5392244A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-06-30 2000-12-30 2001-07-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-06-30 2004-12-30 2005-07-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-06-30 2008-12-30 2009-07-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag