Accelerating synchronization of certain types of cached data

US9280469B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9280469-B1
Application numberUS-201213730017-A
CountryUS
Kind codeB1
Filing dateDec 28, 2012
Priority dateDec 28, 2012
Publication dateMar 8, 2016
Grant dateMar 8, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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).

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9280469B1 cover?
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 …
Who is the assignee on this patent?
Emc Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0804. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).