throbber
(12) United States Patent
`Long
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,421,552 B2
`Sep. 2, 2008
`
`US007421552B2
`
`(54) TECHNIQUES FOR MANAGING DATA
`WITHIN A DATA STORAGE SYSTEM
`UTILIZING A FLASH-BASED MEMORY
`VAULT
`
`-
`-
`(75) Inventor: Matthew Long, Uxbridge, MA (US)
`(73) Assignee: EMC Corporation, Hopkinton, MA
`(US)
`s
`s
`
`6,731,487 B2 * 5/2004 Fletcher et al. ............ 361/93.2
`6,898,727 B1 * 5/2005 Wang et al. .................... 714/4
`7,103,798 B2
`9/2006 Morita
`2002/0152417 A1 10/2002 Nguyen et al. ................ 71.4/10
`2003/0126494 A1
`7/2003 Strasser ......................... 714/6
`2004/0103238 A1
`5/2004 Abraham et al. ......
`... 711/102
`2005/01 17418 A1* 6/2005 Jewell et al. ................ 365/.202
`2005/0132178 A1* 6/2005 Balasubramanian ........... 713/1
`OTHER PUBLICATIONS
`
`“International Search Report” issued by the International Searching
`
`Authority for ports oogo45553 dated May 3, 2007. A pages.
`-
`-
`* cited by examiner
`Primary Examiner—Reginald G. Bragdon
`Assistant Examiner–Shawn X Gu
`(74) Attorney, Agent, or Firm—BainwoodHuang
`
`ABSTRACT
`(57)
`A technique for managing data within a data storage system
`involves performing data storage operations on behalf of a set
`of hosts (i.e., one or more hosts) using a volatile-memory
`storage cache and a set of magnetic disk drives while the data
`storage system is being powered by a primary power source
`(e.g., a main power feed). The technique further involves
`receiving a power failure signal (e.g., from a sensor) indicat
`ing that the data storage system is now being powered by a
`backup power source rather than by the primary power source
`(e.g., due to a loss of the main power feed, due to a failure of
`a power converter, etc.), and moving data from the volatile
`memory storage cache of the data storage system to a flash
`based memory vault of the data storage system in response to
`the power failure signal.
`
`15 Claims, 7 Drawing Sheets
`
`FLASH-BASED
`
`- - - - - - - MEMORYVAULT 44(A)
`
`(*) Notice.
`
`* * * *
`
`-
`
`-
`
`-
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 218 days.
`
`-
`
`-
`(21) Appl. No.: 11/378,722
`(22) Filed:
`Mar. 17, 2006
`
`-
`
`• a
`
`3
`
`(65)
`
`Prior Publication Data
`|US 2007/0220227 A1
`Sep. 20, 2007
`
`(51) Int. Cl.
`(2006.01)
`G06F H2/C}{}
`(52) U.S. Cl. ....................... 711/162; 711/103: 711/117;
`711/118; 711/154; 711/161
`(58) Field of Classification Search ....................... None
`See application file for complete search history.
`References Cited
`|U.S. PATENT DOCUMENTS
`- - -
`10/1997 Liong et al. ................. 365/.229
`5,677,890 A
`8/1998 Brant et al.
`5,799,200 A
`9/2001 Anderson et al.
`6,295,577 B1
`6,625,705 B2 * 9/2003 Yanai et al. ................. 711/162
`
`(56)
`
`
`
`VOLATILE-MEMORY
`STORAGE CACHE 42(A)
`
`VOLATILE-MEMORY
`STORAGE CACHE 42(B)
`
`FLASH-BASED
`
`- - - - - - - MEMORYVAULT 44(B)
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 1
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 1 of 7
`
`US 7,421,552 B2
`
`22
`
`cºal, **
`
`HOST 22(2
`
`24
`
`L
`
`
`
`20
`*
`
`
`
`PRIMARY
`POWER
`SOURCE
`26
`
`SECONDARY
`POWER
`SOURCE
`28
`
`34
`
`36
`
`38
`
`STORAGE PROCESSING CIRCUITRY 30
`
`CONTROLLER 40
`
`VOLATILE-MEMORY STORAGE CACHE 42
`
`FLASH-BASED MEMORY VAULT 44
`
`|
`
`SET OF MAGNETIC DISK DRIVES 32
`
`.
`
`.
`
`E. E. .
`
`FIG. 1
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 2
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 2 of 7
`
`US 7,421,552 B2
`
`
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 3
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 3 of 7
`
`US 7,421,552 B2
`
`80
`
`
`
`PERFORM DATA STORAGE OPERATIONS WITHIN THE DATA STORAGE
`SYSTEM ON BEHALF OF THE SET OF HOSTS USING A
`VOLATILE-MEMORY STORAGE CACHE AND A SET OF MAGNETIC DISK
`DRIVES WHILE BEING POWERED BY A PRIMARY POWER SOURCE
`
`RECEIVE A POWER FAILURE SIGNAL INDICATING THAT THE DATA
`STORAGE SYSTEM jS NOW BEING POWER BY A BACKUP POWER
`SOURCE RATHER THAN THE PRIMARY POWER SOURCE (E.G., DUETO
`A POWER FAILURE, DUE TO A HARDWARE FAILURE, ETC.)
`
`MOVE DATA FROM THE VOLATILE-MEMORY STORAGE CACHE TO A
`FLASH-BASED MEMORY VAULT IN RESPONSE TO THE POWER
`FAILURE SIGNAL
`
`FIG. 3
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 4
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 4 of 7
`
`US 7,421,552 B2
`
`
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 5
`
`

`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 5 of 7
`
`US 7,421,552 B2
`
`
`
`(5)75 LT·
`
`
`
`
`
`(5577 EHOVO ESDV HOLS
`
`
`
`
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 6
`
`

`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 7
`
`

`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 8
`
`

`
`US 7,421,552 B2
`
`1
`TECHNIQUES FOR MANAGING DATA
`WITHIN A DATA STORAGE SYSTEM
`UTILIZING A FLASH-BASED MEMORY
`VAULT
`
`BACKGROUND
`
`2
`high serviceability demands as well as increase the number of
`components which are susceptible to failure.
`In contrast to the above-described conventional
`approaches to storing data from storage caches into magnetic
`disk drive vaults during power failures, an improved tech
`nique involves moving data within a data storage system from
`a storage cache into a flash-based memory vault (e.g., a mod
`ule containing flash memory with no mechanical moving
`parts) in response to a power failure signal. Such operation
`alleviates the need to provide backup power to magnetic disk
`drives. Rather, data can be moved from the storage cache to
`the flash-based memory vault using a relatively-small backup
`power source (e.g., a battery that only powers a storage pro
`cessor). Without the need for backup power to the magnetic
`disk drives, there is no burden of having to provide large,
`costly and complex backup power supplies and the associated
`external cabling for magnetic disk drives. That is, the mag
`netic disk drives can simply turn off as soon as primary power
`is lost. With the storage processor still running from a backup
`power source (e.g., a relatively small battery), the storage
`processor is capable of moving the contents of the storage
`cache to the flash-based memory vault thus preserving data
`integrity of the data storage system so that no data is ever lost.
`One embodiment is directed to a technique for managing
`data within a data storage system. The technique involves
`performing data storage operations on behalf of a set of hosts
`(i.e., one or more hosts) using a volatile-memory storage
`cache and a set of magnetic disk drives while the data storage
`system is being powered by a primary power source (e.g., a
`main power feed). The technique further involves receiving a
`power failure signal (e.g., from a sensor, from a backup power
`source, etc.) indicating that the data storage system is now
`being powered by a backup power source rather than by the
`primary power source (e.g., due to a loss of the main power
`feed, due to a failure of a power converter, etc.), and moving
`data from the volatile-memory storage cache of the data stor
`age system to a flash-based memory vault of the data storage
`system in response to the power failure signal.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foregoing and other objects, features and advantages
`of the invention will be apparent from the following descrip
`tion of particular embodiments of the invention, as illustrated
`in the accompanying drawings in which like reference char
`acters refer to the same parts throughout the different views.
`The drawings are not necessarily to scale, emphasis instead
`being placed upon illustrating the principles of the invention.
`FIG. 1 is a block diagram of a data storage system which
`utilizes a flash-based memory vault.
`FIG. 2 is a diagram of the data storage system of FIG. 1 in
`a multiple storage processor context.
`FIG. 3 is a flowchart of a procedure performed by the data
`storage system of FIGS. 1 and 2.
`FIG. 4 is a block diagram illustrating a particular use of the
`flash-based memory vault of FIG. 2.
`FIG. 5 is a block diagram of a first technique for restoring
`contents of the flash-based memory vault of FIG. 2 to a
`storage cache.
`FIG. 6 is a block diagram of a second technique for restor
`ing contents of the flash-based memory vault of FIG. 2 to a
`storage cache.
`FIG. 7 is a block diagram of a third technique for restoring
`contents of the flash-based memory vault of FIG. 2 to a
`storage cache.
`
`One conventional data storage system includes a storage
`processor, an array of magnetic disk drives and a backup
`power supply. The storage processor carries out a variety of 10
`data storage operations on behalf of an external host device
`(or simply host). In particular, the storage processor tempo
`rarily caches host data within its storage cache and, at certain
`times, de-stages that cached data onto the array of magnetic
`disk drives. If the data storage system is set up so that it
`acknowledges write requests from the host once the data
`reaches the storage cache rather than once the data reaches the
`array of magnetic disk drives, the host will enjoy shorter
`transaction latency.
`Some data storage systems employ backup power supplies
`(e.g., uninterrupted power supplies) to prevent the loss of data
`from the storage caches in the event of power failures. For
`example, suppose that such a data storage system fails to
`receive power from a main power feed (e.g., power from the
`street) during operation. In such a situation, a set of backup
`power supplies provides reserve power to the storage proces
`sor and to the array of magnetic disk drives for a short period
`of time (e.g., 30 seconds). During this time, the storage pro
`cessor writes the data from its storage cache onto a dedicated
`section of the magnetic disk drives called a “vault” so that any
`data which has not yet been properly de-staged is not lost.
`Once power from the main power feed returns, the storage
`processor loads the data from the magnetic disk drive vault
`back into the storage cache. At this point, the data storage
`system is capable of continuing normal operation.
`It should be understood that some data storage systems
`include two storage processors for high availability (e.g., fault
`tolerant redundancy, higher throughput, etc.). Furthermore,
`some data storage systems position arrays of magnetic disk
`drives within enclosures which are separated from other
`enclosures holding the storage processors. These data storage
`systems typically rely on an external backup power supply for
`each storage processor and the array of magnetic disk drives
`that contain the vault. Typically the backup power supplies for
`45
`the storage processors and the magnetic disk drives commu
`nicate with the various components of the data storage system
`through external cables in order to properly coordinate their
`operations.
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`SUMMARY
`
`Unfortunately, there are deficiencies to the above-de
`scribed conventional data storage systems which store data
`from storage caches to magnetic disk drive vaults during
`power failures. For example, magnetic disk drives typically
`consume a significant amount of power even during a short
`time duration (e.g., 30 seconds) since power is required for
`disk drive motors to spin, for fans to provide cooling, for
`actuators to move magnetic heads, and so on. Accordingly,
`the backup power supplies for arrays of magnetic disk drives
`are often large, costly and complex.
`Additionally, the backup power supplies are external to the
`storage processor and disk array enclosures and as such
`require power and control cabling between the backup power
`supplies and the various enclosures. These external backup
`power supplies and the associated cabling impose relatively
`
`50
`
`55
`
`60
`
`65
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 9
`
`

`
`3
`DETAILED DESCRIPTION
`
`US 7,421,552 B2
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4
`backup power 36 from the secondary power source 28 is
`available at least temporarily. Accordingly, the controller 40
`remains operational and moves data from the volatile
`memory storage cache 42 to the flash-based memory vault 44
`in response to the power failure signal 38. The amount of
`power necessary to move the data from the volatile-memory
`storage cache 42 to the flash-based memory vault 44 is sig
`nificantly less than that which would be required to write that
`data out to a vault on the set of magnetic disk drives 32 since
`flash-based memory (which has no motors or actuators to
`operate) requires relatively little power to store data.
`When the primary power source 26 becomes available
`again, the storage processing circuitry 30 receives primary
`power 34 and no longer receives the power failure signal 38.
`In some arrangements, the omission of the power failure
`signal 38 (or the de-asserted state of the power failure signal
`38) is essentially a power normal signal indicating that the
`storage processing circuitry 30 is running off of primary
`power 34. At this point, the controller 40 restores the contents
`of volatile-memory storage cache 42. In particular, the con
`troller 40 moves the data from the flash-based memory vault
`44 back into the volatile-memory storage cache 42 thus
`enabling the storage processing circuitry 30 to resume data
`storage operations where it left off, e.g., the storage process
`ing circuitry 30 is now capable of properly de-staging the data
`in the volatile-memory storage cache 42 to the set of magnetic
`disk drives 32 as well as performing new data storage opera
`tions on behalf of the set of hosts 22 in a normal manner.
`It should be understood that, in contrast to conventional
`data storage systems which store data from storage caches
`into magnetic disk drive storage vaults in response to power
`failures, there is no need to run the set of magnetic disk drives
`32 of the data storage system 20. Rather, the set of magnetic
`disk drives 32 is allowed to deactivate in response to loss of
`primary power 34 from the primary power source 26 since the
`controller 40 transfers data from the volatile-memory storage
`cache 42 to the flash-based memory vault 44 for safekeeping.
`Thus, data within the volatile-memory storage cache 42,
`which has not yet been de-staged, is not lost.
`It should be further understood that other components
`within the storage processing circuitry 30 enable enhanced
`operation in the event of a power failure. For example, the
`clock generator circuit 46 and the isolation circuitry 48 are
`configured to perform certain duties during a loss of primary
`power 34 from the primary power source 26.
`In connection with the clock generator circuit 46, the clock
`generator 46 is configured to provide a relatively-fast clock
`signal (or multiple clock signals) to the processing circuitry
`of the controller 40 during normal operation when the con
`troller 40 is performing data storage operations on behalf of
`the set of hosts 22. In some arrangements, a microprocessor of
`the controller 40 runs within a range of 50 to 100 Watts when
`operating at this normal operating clock speed.
`However, if there is a loss of primary power 34, the clock
`generator 46 is configured to provide a significantly slower
`clock signal to the processing circuitry of the controller 40
`while the controller 40 moves data from the volatile-memory
`storage cache 42 to the flash-based memory vault 44. In some
`arrangements, the microprocessor of the controller 40 runs at
`less than 30 Watts (e.g., substantially within a range of 15 to
`20 Watts) when operating at this reduced clock speed. As a
`result, less power is consumed thus enabling the use of a
`smaller-sized backup power source 28 (e.g., a relatively small
`battery).
`In connection with the isolation circuitry 48, it should be
`understood that various components of the data storage sys
`tem 20 form a processing core 50. In some arrangements, the
`
`An improved technique involves moving data within a data
`storage system from a storage cache into a flash-based
`memory vault in response to a power failure signal. Such
`operation alleviates the need to provide backup power to
`magnetic disk drives. Rather, data can be moved from the
`storage cache to the flash-based memory vault using a rela
`tively-small backup power source, e.g., a battery that only
`powers a storage processor. Without the need for backup
`power to the magnetic disk drives, there is no burden of
`having to provide large, costly and complex backup power
`supplies and the associated external cabling for magnetic disk
`drives. That is, the magnetic disk drives can simply turn off as
`soon as the primary power source is lost. With the storage
`processor still running from a backup power source (e.g., a
`dedicated battery), the storage processoris capable of moving
`the contents of the storage cache to the flash-based memory
`vault thus preserving data integrity of the data storage system
`so that no data is ever lost.
`FIG. 1 shows a data storage system 20 which is configured
`to manage data behalf of a set of hosts 22(1), 22(2), .
`.
`.
`(collectively, hosts 22). In particular, the data storage system
`20 exchanges communications signals 24 with at least one
`host 22 to perform a variety of data storage operations (e.g.,
`read, write, read-modify-write, etc.).
`As shown in FIG. 1, the data storage system 20 includes a
`primary power source 26, a secondary power source 28, stor
`age processing circuitry 30 and a set of magnetic disk drives
`32 (i.e., one or more magnetic disk drives 32). The primary
`power source 26 (e.g., a set of power supplies which connects
`to an external main power feed) is configured to provide
`primary power 34 to the storage processing circuitry 30 under
`normal conditions. The secondary power source 28 (e.g., a set
`of batteries) is configured to provide backup power 36 to the
`storage processing circuitry 30 in the event of a loss of pri
`mary power 34.
`As further shown in FIG. 1, the storage processing circuitry
`30 is configured to receive a power failure signal 38 which
`indicates whether the storage processing circuitry 30 is run
`ning off of primary power 34 or backup power 36. In some
`arrangements, the power failure signal 38 is a power supply
`signal from the primary power source 26 or from the second
`ary power source 28. In other arrangements, the power failure
`signal 38 is a separate signal, e.g., from a sensor connected to
`the main power feed.
`The storage processing circuitry 30 includes a controller
`40, a volatile-memory storage cache 42 (a data storage cache
`between 100 MB to 1 GB), a flash-based memory vault 44, a
`clock generator circuit 46, and isolation circuitry 48. While
`the controller 40 is being powered by the primary power
`source 28, the controller 40 performs data storage operations
`on behalf of the set of hosts 22 using the volatile-memory
`storage cache 42 and the set of magnetic disk drives 32. For
`example, when a host 22 sends the controller 40 a request to
`write data, the controller 40 stores the data in volatile memory
`42 and then, in parallel to scheduling the data to be written to
`the magnetic disk drives 32, conveys the completion of the
`write data request to the host 22. As a result, the write request
`completes to the host 22 as soon as the data is written to the
`volatile-memory storage cache 42 which takes less time than
`writing the magnetic disk drives 32.
`Now, suppose that the controller 40 receives the power
`failure signal 38 indicating that the controller 40 is now being
`powered by the secondary power source 28 rather than by the
`primary power source 26. In this situation, primary power 34
`from the primary power source 26 is no longer available but
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 10
`
`

`
`US 7,421,552 B2
`
`5
`controller 40, the volatile-memory storage cache 42 and the
`flash-based memory vault 44 (perhaps among other compo
`ments) form this core 50. During normal operation, primary
`power 34 from the primary power source 26 reaches all of the
`components of the data storage system 20 (e.g., the set of
`magnetic disk drives 32). However, during a loss of the pri
`mary power 34 and a switch to backup power 36 from the
`secondary power source 28, the isolation circuitry 48 is con
`figured to electrically isolate the processing core 50 from the
`other areas of the data storage system 20 (e.g., the set of
`magnetic disk drives 32) so that only the processing core 50
`receives the backup power36. Accordingly, the backup power
`36 is not wasted by unnecessarily powering the non-vital
`areas of the data storage system 20 and only reaches the vital
`areas thus enabling the controller 40 to dump the contents of
`the volatile-memory storage cache 42 into the flash-based
`memory vault 44. Such electrical isolation conserves backup
`power by removing interference, i.e., power consumption by
`circuits of the data storage system 20 which are non-essential
`during the loss of primary power such as the set of magnetic
`disk drives 32. Further details will now be provided with
`reference to FIG. 2.
`FIG. 2 is a diagram of the data storage system 20 in the
`context of a dual storage processor configuration 60. Here, the
`data storage system 20 includes a first storage processor
`62(A), a second storage processor 62(B) and a high-speed bus
`64 which interconnects the first and second storage proces
`sors 62(A), 62(B) (collectively, storage processors 62). The
`storage processor 62(A) includes, among other things, an
`enclosure 66(A) which contains a controller 40(A), a volatile
`memory storage cache 42(A), and a flash-based memory
`vault 44(A). Within the enclosure 66(A) also resides a battery
`68(A) which forms a portion of the secondary power source
`28 (also see FIG. 1).
`Similarly, the storage processor 62(B) includes, among
`other things, an enclosure 66(B) which contains a controller
`40(B), a volatile-memory storage cache 42(B), and a flash
`based memory vault 44(B). Within the enclosure 66(B) also
`resides a battery 68(B) which forms another portion of the
`secondary power source 28 (again, also see FIG. 1).
`Each storage processor 62 sends communications 70 to the
`other storage processor 62 through the bus 64. In particular,
`each storage processor 62 is capable of providing status to the
`other storage processor 62 through the bus 64 (e.g., an indi
`cation of whether it is running in a normal operating mode or
`whether it has switched from the normal operating mode to a
`data vaulting mode). Additionally, the storage processors 62
`exchange data through the bus 64 thus enabling the storage
`processors 62 to mirror the contents of the volatile-memory
`storage caches 42(A), 42(B). Accordingly, the volatile
`memory storage caches 42(A), 42(B) can be viewed as form
`ing the volatile-memory storage cache 42 of FIG. 1, and the
`flash-based memory vaults 44(A), 44(B) can be viewed as
`forming the flash-based memory vault 44 of FIG. 1. Further
`details will now be provided with reference to FIG. 3.
`FIG. 3 is a flowchart of a procedure 80 for managing data
`within the data storage system 20 during a power failure
`event. In step 82, the controller 40 performs data storage
`operations on behalf of the set of hosts 22 using the volatile
`memory storage cache 42 and the set of magnetic disk drives
`44 while the data storage system 20 is being powered by the
`primary power source 26 (also see FIG. 1).
`In step 84, the controller 40 receives the power failure
`signal 38 indicating that the data storage system 20 is now
`being powered by the backup power source 28 rather than by
`the primary power source 26. Accordingly, a power failure
`event has occurred. For example, the data storage system 20
`
`40
`
`45
`
`6
`may lose access to a main power feed (e.g., power from the
`street). As anotherexample, the primary power source 26 may
`suffer a hardware failure.
`In step 86, the controller 40 moves data from the volatile
`memory storage cache 42 to the flash-based memory vault 44
`in response to the power failure signal 38. In view of certain
`electrical behaviors of flash-memories, a significant amount
`of data is capable of being written to flash memory in a
`relatively short period of time (e.g., a data storage rate of 12
`MB/second).
`It should be understood that, once the data is written to
`flash memory, the data is capable of residing on the flash
`memory indefinitely. As will be explained in further detail
`momentarily, this feature provides flexibility when restoring
`data storage system operations. Furthermore, in contrast to
`conventional data storage systems which require external
`UPS's and external cabling, the backup power supplies for the
`data storage system 20 can be relatively small (e.g., see the
`batteries 68 in FIG. 2) and there is no external cabling nec
`essary thus making the above-described technique an attrac
`tive, simple and low cost mechanism for managing data dur
`ing a power failure event.
`It should be further understood that, in the context of a dual
`storage processor configuration 60 (also see FIG. 2), the
`controller 40 of each storage processor 62 preferably moves
`the contents of the volatile-memory storage caches 42 of that
`storage processor 62 to the flash-based memory vault 44 of
`that storage processor 62. That is, the storage processor 62(A)
`is configured to transfer the contents of the volatile-memory
`storage cache 42(A) to the flash-based memory vault 44(A)
`and, concurrently the storage processor 62(B) is configured to
`transfer the contents of the volatile-memory storage cache
`42(B) to the flash-based memory vault 44(B). This contem
`poraneous operation is superior to the operation of conven
`tional data storage systems where only one of a pair of storage
`processors writes the contents of its storage cache out to the
`magnetic disk drive vault on an array of magnetic disk drives.
`Further details will now be provided with reference to FIG. 4.
`FIG. 4 illustrates a recovery procedure which is easily
`accomplished through use of the flash-based memory vault
`44. In particular, in some arrangements, the flash-based
`memory vault 44 is configured as a removable module that
`conveniently connects to and disconnects from other portions
`of the data storage system 20 through module connectors,
`e.g., in a manner similar to attaching and detaching a common
`memory stick to a general purpose computer through a USB
`port, in a manner similar to connecting a daughter card to and
`disconnecting the daughter card from a motherboard, and so
`Oil.
`Moreover, in the situation of a dual storage processor con
`figuration 60 such as that shown in FIG. 2, it should be
`understood that either flash-based memory vault 44(A),
`44(B) contains the entire storage cache contents since the
`volatile-memory storage caches 42(A), 42(B) mirror each
`other. As such, only one flash-based memory vault 44(A),
`44(B) is necessary to restore the storage cachestate of the data
`storage system 20.
`Accordingly, in the event of a hardware failure after safely
`storing the contents of the volatile-memory storage cache 42
`into the flash-based memory vault 44, the flash-based
`memory vault 44 is then capable of being disconnected from
`the data storage system 20 and connected to new storage
`processing hardware (e.g., a new data storage system 20'), as
`generally shown by the arrow 90 in FIG. 4. The contents of the
`flash-based memory vault 44 are then capable of being
`restored onto each volatile-memory storage cache 42(A),
`42(B) of the new hardware (e.g., mirrored through the bus 64
`of the new data storage system 20', also see FIG. 2) thus
`enabling the new storage processing hardware to continue to
`perform data storage operations on behalf of the set of hosts
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`Petitioners SK hynix Inc., SK hynix America Inc. and SK hynix memory solutions Inc.
`Ex. 1011, p. 11
`
`

`
`US 7,421,552 B2
`
`7
`22. Under this situation, there is no loss of data. Further
`details will now be provided with reference to FIG. 5.
`FIG. 5 is a block diagram of a first technique for restoring
`contents of the flash-based memory vault 44 to the volatile
`memory storage cache 42 in the context of a dual storage
`processor configuration 60 (also see FIG. 2). Recall that the
`flash-based memory vaults 44(A), 44(B) (FIG. 2) form the
`flash-based memory vault 44 (FIG. 1), and that each flash
`based memory vault 44(A), 44(B) is configured to contain the
`same up-to-date information since the volatile-memory stor
`age caches 42(A), 42(B) mirror each other. Whether both
`volatile-memory storage caches 42(A), 42(B) contain the
`same current data can be confirmed by a check of time infor
`mation on the flash-based memory vaults 44(A), 44(B) (e.g.,
`by comparing the output of generation counters, by compar
`ing timestamps, etc.).
`If it turns out that one flash-based memory vault 44 con
`tains more recent information, the contents of both volatile
`memory storage caches 42(A), 42(B) can be restored from
`that flash-based memory vault 44. Otherwise, it does not
`matter which flash-based memory vault 44 provides the data
`during data restoration.
`As shown in FIG. 5, in accordance with the first technique,
`the restoration transfer occurs in a two step process. In par
`ticular, one of the flash-based memory vaults 44(A), 44(B)
`(e.g., the flash-based memory vault 44(A)) provides the data
`to its respective volatile-memory storage cache 42(A), 42(B)
`directly (e.g., the volatile-memory storage cache 42(A)).
`Then, the data is copied through the bus 64 to the other
`volatile-memory storage cache 42 (e.g., the volatile-memory
`storage cache 42(A)). At completion, the data is mirrored by
`both volatile-memory storage caches 42(A), 42(B). FIGS. 6
`and 7 show alternative restoration techniques which are avail
`able if the flash-based memory vaults 44(A), 44(B) contain
`the same information.
`FIG. 6 is a block diagram of a second technique for restor
`ing contents of the flash-based memory vault 44 to the vola
`tile-memory storage cache 42 in the context of a dual storage
`processor configuration 60 (also see FIG. 2). Here, the con
`troller 40(A) (also see FIG. 2) restores the contents of flash
`based memory vault 44(A) into the volatile-memory storage
`cache 42(A). Simultaneously, the controller 40(B) (also see
`FIG. 2) restores the contents of flash-based memory vault
`44(B) into the volatile-memory storage cache 42(B).
`It should be understood that the restoration technique illus
`trated in FIG. 6 provides an additional level of thoroughness.
`In particular, once the contents of the volatile-memory stor
`age caches 42(A), 42(B) are restored, the controllers 40 can
`perform further tasks to guarantee accuracy of the data, e.g.,
`a comparison of the contents of the volatile-memory storage
`caches 42(A), 42(B).
`FIG. 7 is a block diagram of a third technique for restoring
`contents of the flash-based memory vault 44 to the volatile
`memory storage cache 42 in the context of a dual storage
`processor configuration 60 (also see FIG. 2). Under this third
`technique, the controller 40(A) (also see FIG. 2) restores half
`of the contents of flash-based memory vault 44(A) into the
`volatile-memory storage cache 42(A) (e.g., an upper half of
`the address space). Simultaneously, the controller 40(B) (also
`see FIG. 2) restores an opposite half of the contents of flash
`based memory vault 44(B) into the volatile-memory storage
`cache 42(B) (e.g., a lower half of the address space). Next, the
`controllers 40 exchange their restored contents with each
`other through the bus 64 (also see FIG. 2) so that each volatile
`memory storage cache 42 is completely restored (e.g., the
`upper half is copied from the volatile-memory storage cache
`42(A) to the volatile-memory storage cache 42(B), and the
`lower half is copied from the volatile-memory storage cache
`42(B) to the volatile-memory storage cache 42(A)).
`
`40
`
`45
`
`8
`It should be understood that the restoration technique illus
`trated in FIG. 7 provides a faster restoration time since the
`data transfer rate between the volatile-memory storage
`caches 42(A), 42(B) (e.g., the bandwidth of the bus 64, also
`see FIG. 2) is faster

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket