Memory system and host device
US-2024394189-A1 · Nov 28, 2024 · US
US9280469B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9280469-B1 |
| Application number | US-201213730017-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 28, 2012 |
| Priority date | Dec 28, 2012 |
| Publication date | Mar 8, 2016 |
| Grant date | Mar 8, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A technique manages data within a data storage apparatus having a cache of volatile memory and non-volatile storage. The technique involves receiving a set of write commands to write data to the non-volatile storage. The technique further involves acknowledging, in a write-back caching manner, completion of the set of write commands after the data reaches the cache of volatile memory and prior to the data reaching the non-volatile storage. The data includes host data as well as critical metadata. The technique further involves saving, after acknowledging completion of the set of write commands, the data from the cache of volatile memory to the non-volatile storage, the critical metadata being saved from the cache of volatile memory to the non-volatile storage at a quicker rate than that of the host data (i.e., accelerated synchronization of the critical metadata).
Opening claim text (preview).
What is claimed is: 1. A method of managing data within a data storage apparatus having a cache of volatile memory and non-volatile storage, the method comprising: receiving, from a set of external host devices, a set of host write commands to write data to the non-volatile storage; in a write-back caching manner, acknowledging completion of the set of host write commands after the data reaches the cache of volatile memory and prior to the data reaching the non-volatile storage, the data including host data and critical metadata; and after acknowledging completion of the set of host write commands, saving the data from the cache of volatile memory to the non-volatile storage, the critical metadata being saved from the cache of volatile memory to the non-volatile storage at a quicker rate than that of the host data; wherein the data storage apparatus is a data storage array having multiple storage devices; wherein receiving the set of host write commands includes obtaining a particular host write command from a host computer over a communications medium connecting the host computer to the data storage array; and wherein saving the data includes, in response to the particular host write command from the host computer, writing, as the critical metadata, operating system information to the multiple storage devices ahead of writing the host data to the multiple storage devices. 2. A method as in claim 1 wherein saving the data further includes: imposing a critical metadata maximum time limit on the amount of time in which the critical metadata is permitted to reside in the cache of volatile memory before being saved from the cache of volatile memory to the non-volatile storage. 3. A method as in claim 2 wherein the operating system information is provided from an operating system executing on the data storage apparatus; wherein the host data is provided from the set of external host devices; and wherein saving the data from the cache of volatile memory to the non-volatile storage includes synchronizing at least some of the host data from the cache to the non-volatile storage after that host data has resided in the cache of volatile memory longer than the critical metadata maximum time limit. 4. A method as in claim 3 wherein a set of applications executes on the set of external host devices; wherein the host data includes application data generated from the set of applications executing on the set of external host devices; wherein receiving the set of host write commands to write data to the non-volatile storage includes receiving small computer system interface (SCSI) write commands from the set of external host devices; and wherein the critical metadata maximum time limit substantially equals one minute. 5. A method as in claim 2 wherein the data further includes non-critical metadata provided from the operating system executing on the data storage apparatus; and wherein saving the data from the cache of volatile memory to the non-volatile storage includes synchronizing at least some of the non-critical metadata from the cache to the non-volatile storage after that non-critical metadata has resided in the cache of volatile memory longer than the critical metadata maximum time limit. 6. A method as in claim 5 wherein a set of non-critical operating system routines executes on the data storage apparatus; wherein the non-critical metadata includes low performance operating system metadata generated from the set of non-critical operating system routines; and wherein the critical metadata maximum time limit substantially equals one minute. 7. A method as in claim 2 wherein the data further includes non-critical metadata; wherein the operating system information and the non-critical metadata are provided from an operating system executing on the data storage apparatus; wherein the host data is provided from the set of external host devices; and wherein saving the data from the cache of volatile memory to the non-volatile storage further includes synchronizing (i) at least some of the host data and (ii) at least some of the non-critical metadata from the cache to the non-volatile storage after that host data and that non-critical metadata have resided in the cache of volatile memory longer than the critical metadata maximum time limit. 8. A method as in claim 7 wherein imposing the critical metadata maximum time limit includes: ensuring that all of the critical metadata is synchronized from the cache to the non-volatile storage before the critical metadata maximum time limit expires for that critical metadata. 9. A method as in claim 8 wherein the critical metadata includes file system metadata and data-services metadata which is managed by the operating system of the executing on the data storage apparatus; and wherein the critical metadata maximum time limit substantially equals one minute. 10. A method as in claim 8 , further comprising: encountering a failure of the cache of volatile memory; and wherein ensuring that all of the critical metadata is synchronized from the cache to the non-volatile storage before the critical metadata maximum time limit expires minimizes critical metadata loss due to the failure of the cache of volatile memory. 11. A method as in claim 8 wherein the data storage apparatus is constructed and arranged to maintain multiple specialized logical units of storage (LUNs) striped across a redundant array of independent device (RAID) group of storage devices; wherein each specialized LUN striped across the RAID group includes (i) a set of slices to hold information, and (ii) a slice allocation table (SAT) which tracks allocation of that set of slices; and wherein ensuring that all of the critical metadata is synchronized from the cache to the non-volatile storage before the critical metadata maximum time limit expires for that critical metadata includes copying updated SAT information from the cache to the non-volatile storage. 12. A method as in claim 8 wherein the data storage apparatus is constructed and arranged to maintain multiple specialized logical units of storage (LUNs) striped across a redundant array of independent device (RAID) group of storage devices; wherein each specialized LUN striped across the RAID group includes a set of slices, each slice having (i) a slice mark portion to hold information regarding that slice and (ii) data portion to hold information; and wherein ensuring that all of the critical metadata is synchronized from the cache to the non-volatile storage before the critical metadata maximum time limit expires for that critical metadata includes copying updated slice mark portions from the cache to the non-volatile storage. 13. A method as in claim 8 wherein acknowledging completion of the set of host write commands after the data reaches the cache of volatile memory and prior to the data reaching the non-volatile storage includes: mirroring contents of the cache of volatile memory to persist the data after the data reaches the cache of volatile memory. 14. A method as in claim 8 , further comprising: after all of the critical metadata has been synchronized from the cache to the non-volatile storage, maintaining the data in the cache of volatile memory and processing a read command by reading at least a portion of the data from the cache of volatile memory in response to a cache hit. 15. A method as in claim 1 wherein the data storage array is equipped with an operating system which performs data recovery in response to a failure; and wherein writing the operating system information includes writing operating system par
with main memory updating (G06F12/0806 takes precedence) · CPC title
Cache consistency protocols · CPC title
for peripheral storage systems, e.g. disk cache · CPC title
Digital input from, or digital output to, record carriers {, e.g. RAID, emulated record carriers or networked record carriers} · CPC title
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.