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

Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache

Assignee: Zitel Corp
•
Filing: 1994-06-20
•
Granted: 1997-05-27
•
Expires: 2014-06-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present system may be utilized to minimize access performance penalties in memory subsystems which utilize redundant arrays of disk memory devices. Redundant arrays of disk memory devices provide levels of reliability which are not available with single storage devices; however, the redundancy carries with it an access performance degradation due to the requirement that such systems write data segments and parity elements to the array each time an application updates data within the system. A large nonvolatile cache is therefore provided in association with a redundant array of disk memory devices. Each time a data segment is written or read the data segment is staged from the array to the nonvolatile cache, if the data segment is not already within the cache. Additionally, if the operation is an update, a parity element associated with the data segment to be updated is also staged to the cache with the existing data segment content. An updated parity element is then calculated based upon the updated data, the existing data and the existing parity element. Data segments and associated parity elements are then maintained in the cache for future reading and updates until the number of updated data segments within the cache exceeds a predetermined value. Thereafter, selected data segments and associated parity elements are destaged from the cache to the array based upon a "Least Recently Utilized" (LRU) or "minimum seek" algorithm.

Inventors

  • 👤 James C. Chen
  • 👤 Joseph S. Glider
  • 👤 Lloyd R. Shipman, Jr.
  • 👤 Jesse I. Stamness

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 23:21
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F12/0804; G06F2211/00; G06F2211/10; G06F2211/1002; G06F2211/1009

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 194 words
A method for enhanced data management in a memory storage subsystem which includes a nonvolatile cache and a redundant array of disk memory devices for storing a plurality of data segments and associated parity elements, said method comprising the steps of: determining if a selected data segment and an associated parity element are present within said nonvolatile cache in response to an attempted update to said selected data segment; staging said selected data segment and an associated parity element into said nonvolatile cache from said redundant array of disk memory devices in response to a determination that said selected data segment and an associated parity element are not present within said nonvolatile cache; updating both said selected data segment and said associated parity element; writing said updated selected data segment and said updated associated parity element into said nonvolatile cache; and destaging a data segment and an associated parity element from said nonvolatile cache into said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number wherein access performance degradation associated with redundant arrays of disk memory devices is minimized.
Claim 2
Independent Claim 194 words
A method for enhanced data management in a memory storage subsystem which includes a nonvolatile cache and a redundant array of disk memory devices for storing a plurality of data segments and associated parity elements, said method comprising the steps of: determining if a selected data segment and an associated parity element are present within said nonvolatile cache in response to an attempted update to said selected data segment; staging said selected data segment and an associated parity element into said nonvolatile cache from said redundant array of disk memory devices in response to a determination that said selected data segment and an associated parity element are not present within said nonvolatile cache; updating both said selected data segment and said associated parity element; writing said updated selected data segment and said updated associated parity element into said nonvolatile cache; and destaging a data segment and an associated parity element from said nonvolatile cache into said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number wherein access performance degradation associated with redundant arrays of disk memory devices is minimized.
Claim 3
Dependent Claim 43 words
The method for enhanced data management in a memory storage subsystem according to claim 1, further including the step of determining if a particular data segment is present within said nonvolatile cache in response to an attempted read of said particular data segment.
Claim 4
Dependent Claim 58 words
The method for enhanced data management in a memory storage subsystem according to claim 2, further including the step of staging said particular data segment without a parity element into said nonvolatile cache from said redundant array of disk memory devices in response to a determination that said particular data segment is not present within said nonvolatile cache.
Claim 5
Dependent Claim 53 words
The method for enhanced data management in a memory storage subsystem according to claim 1, wherein said step of updating both said selected data segment and said associated parity element comprises the step of updating said selected data segment and calculating a new parity element for association with said updated selected data segment.
Claim 6
Dependent Claim 52 words
The method for enhanced data management in a memory storage subsystem according to claim 4, wherein said step of calculating a new parity element for association with said updated selected data segment comprises the step of exclusive ORing said associated parity element, said selected data segment and said updated selected data segment.
Claim 7
Dependent Claim 105 words
The method for enhanced data management in a memory storage subsystem according to claim 1, wherein said step of destaging a data segment and an associated parity element from said nonvolatile cache into said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number comprises the step of destaging a least recently utilized (LRU) data segment and an associated parity element from said nonvolatile cache into said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number.
Claim 8
Dependent Claim 103 words
The method for enhanced data management in a memory storage subsystem according to claim 1, wherein said step of destaging a data segment and an associated parity element from said nonvolatile cache into said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number comprises the step of destaging a minimum seek data segment and an associated parity element from said nonvolatile cache into said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number.
Claim 9
Dependent Claim 167 words
A data processing system for permitting enhanced data management, said data processing system comprising: a host processor; a data storage subsystem, said data storage subsystem comprising: a nonvolatile cache; a redundant array of disk memory devices for storing a plurality of data segments and associated parity elements; a control circuit for staging an image of a selected data segment and an associated parity element from said redundant array of disk memory devices into said nonvolatile cache in response to an attempted update thereto, for updating said selected data segment and said associated parity element, and writing said updated selected data segment and such updated associated parity element into said nonvolatile cache; and destaging means for destaging a data segment and an associated parity element from said non-volatile cache to said redundant array of disk memory devices only in response to a number of updated segments within said non-volatile cache exceeding a predetermined number, wherein access performance degradation associated with redundant arrays of disk storage devices is minimized.
Claim 10
Dependent Claim 167 words
A data processing system for permitting enhanced data management, said data processing system comprising: a host processor; a data storage subsystem, said data storage subsystem comprising: a nonvolatile cache; a redundant array of disk memory devices for storing a plurality of data segments and associated parity elements; a control circuit for staging an image of a selected data segment and an associated parity element from said redundant array of disk memory devices into said nonvolatile cache in response to an attempted update thereto, for updating said selected data segment and said associated parity element, and writing said updated selected data segment and such updated associated parity element into said nonvolatile cache; and destaging means for destaging a data segment and an associated parity element from said non-volatile cache to said redundant array of disk memory devices only in response to a number of updated segments within said non-volatile cache exceeding a predetermined number, wherein access performance degradation associated with redundant arrays of disk storage devices is minimized.
Claim 11
Dependent Claim 52 words
The data processing system according to claim 8, wherein said control circuit further includes means for staging an image of a particular data segment without an associated parity element from said redundant array of disk memory devices into said nonvolatile cache in response to an attempted read of said particular data segment.
Claim 12
Dependent Claim 46 words
The data processing system according to claim 8, wherein said control circuit further includes means for calculating an updated parity element for association with an updated selected data segment by exclusive ORing said associated parity element, said selected data segment and said updated selected data segment.
Claim 13
Dependent Claim 58 words
The data processing system according to claim 8, wherein said destaging means comprises means for destaging a least recently utilized (LRU) data segment and an associated parity element from said nonvolatile cache to said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number.
Claim 14
Dependent Claim 56 words
The data processing system according to claim 8, wherein said destaging means comprises means for destaging a minimum seek data segment and an associated parity element from said nonvolatile cache to said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number.
Claim 15
Dependent Claim 160 words
A data storage subsystem for permitting the efficient management of data stored therein, said data storage subsystem comprising: a nonvolatile cache; a redundant array of disk memory devices for storing a plurality of data segments and associated parity elements; a control circuit for staging an image of a selected data segment and an associated parity element from said redundant array of disk memory devices into said nonvolatile cache in response to an attempted update thereto, for updating said selected data segment and said associated parity element, and writing said updated selected data segment and said updated associated parity element into said nonvolatile cache; and destaging means for destaging a data segment and an associated parity element from said nonvolatile cache to said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number wherein access performance degradation associated with redundant arrays of disk storage devices is minimized.
Claim 16
Dependent Claim 160 words
A data storage subsystem for permitting the efficient management of data stored therein, said data storage subsystem comprising: a nonvolatile cache; a redundant array of disk memory devices for storing a plurality of data segments and associated parity elements; a control circuit for staging an image of a selected data segment and an associated parity element from said redundant array of disk memory devices into said nonvolatile cache in response to an attempted update thereto, for updating said selected data segment and said associated parity element, and writing said updated selected data segment and said updated associated parity element into said nonvolatile cache; and destaging means for destaging a data segment and an associated parity element from said nonvolatile cache to said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number wherein access performance degradation associated with redundant arrays of disk storage devices is minimized.
Claim 17
Dependent Claim 52 words
The data processing system according to claim 13, wherein said control circuit further includes means for staging an image of a particular data segment without an associated parity element from said redundant array of disk memory devices into said nonvolatile cache in response to an attempted read of said particular data segment.
Claim 18
Dependent Claim 46 words
The data processing system according to claim 13, wherein said control circuit further includes means for calculating an updated parity element for association with an updated selected data segment by exclusive ORing said associated parity element, said selected data segment and said updated selected data segment.
Claim 19
Dependent Claim 58 words
The data processing system according to claim 13, wherein said destaging means comprises means for destaging a least recently utilized (LRU) data segment and an associated parity element from said nonvolatile cache to said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number.
Claim 20
Dependent Claim 56 words
The data processing system according to claim 13, wherein said destaging means comprises means for destaging a minimum seek data segment and an associated parity element from said nonvolatile cache to said redundant array of disk memory devices only in response to a number of updated data segments within said nonvolatile cache exceeding a predetermined number.

References Cited (Backward Citations)

US5257352A Cited
US5341493A Cited
US5274799A Cited
US5418921A Cited
US5448719A Cited
US5309451A Cited
US5315602A Cited
US5459853A Cited
US5542066A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag