Solid state drive data storage system and method

Information

  • Patent Grant
  • 8819334
  • Patent Number
    8,819,334
  • Date Filed
    Monday, June 17, 2013
    11 years ago
  • Date Issued
    Tuesday, August 26, 2014
    10 years ago
Abstract
The present disclosure relates to a data storage system and method that includes at least two solid state devices that can be classified in at least two different efficiency levels, wherein data progression is used to allocate data to the most cost-appropriate device according to the nature of the data.
Description
FIELD OF THE INVENTION

The present disclosure generally relates to a solid state drive data storage system and method. More particularly, the present disclosure relates to a data storage system that includes solid state drives utilizing data progression.


BACKGROUND OF THE INVENTION

The use of solid state drives (SSDs) in data systems is increasing. Solid state drives are advantageous over hard disk drives (HDD) because SSDs have no moving parts. Thus, SSDs are not as fragile as HDDs. Further, because SSDs have no mechanical delay, SSDs are not subject to the relatively lengthy access times, seek times and latency to which HDDs are subject. For this reason, SSDs are usually much faster than HDDs. A significant drawback of SSDs, however, is their relatively high cost compared to HDDs.


SSDs can be based on either volatile (RAM-based) or non-volatile (flash) memory. Non-volatile memory can maintain information even when there is no power, whereas volatile memory requires continual power to maintain stored information. Flash memory stores information in memory cells that are made from floating-gate transistors. Solid state devices include single-level cell devices (SLC) and multi-level cell devices (MLC), for example. SLC devices store only one bit of information per cell, whereas MLC devices can store more than one bit of information per cell. Memory cells can be either NOR gate flash or NAND gate flash. NOR allows for random-access reading and NAND allows only page access.


There is a need for an improved data storage system and method that includes SSDs and utilizes data progression to improve the efficiency of the system.


BRIEF SUMMARY OF THE INVENTION

The present disclosure relates to a data storage system that includes solid state drive devices utilizing data progression.


The present disclosure, in one embodiment, relates to a data storage system that includes at least two solid state devices that can be classified in at least two different efficiency levels, wherein data progression is used to allocate data to the most cost-appropriate device according to the nature of the data or to the most appropriate performance oriented device according to how frequently the data is accessed.


The present disclosure, in another embodiment, relates to a data storage system wherein the plurality of solid state devices includes at least one read/write optimized device, and at least one read-optimized device.


The present disclosure, in a further embodiment, relates to a data storage system, wherein at least one of the read/write optimized SSDs is a single-level cell device, and wherein at least one of the read optimized SSDs is a multi-level cell device.


In a further embodiment, at least one of the solid state devices can be configured to function as either a read/write performance optimized device or a read performance optimized device.


In yet another embodiment of the present disclosure, a solid state device of one storage efficiency level may be reconfigured into a solid state device of another storage efficiency level.


The present disclosure, in a further embodiment, relates to a data storage system, wherein data progression is used to automatically move data between read/write optimized SSDs and read optimized SSDs.


The present disclosure, in one embodiment, relates to a data storage system wherein the read/write data is segregated on read/write optimized devices and the read data is segregated on read optimized devices.


In another embodiment, the read/write data is segregated on single-level cell devices, and the read data is segregated on multi-level cell devices.


In another embodiment of the present disclosure, data progression is used to move infrequently accessed data to a less costly storage device, and to move frequently accessed data to a faster storage device within the data storage system.


The present disclosure, in another embodiment, relates to a data storage system, wherein read/write data is separately bundled for execution, and read data is separately bundled for execution by using data progression to distinguish between read/write data and read data.


The present disclosure, in one embodiment, relates to a data storage system, wherein multi-level cell devices, and single-level cell devices can be either NOR or NAND devices.


In another embodiment of the present disclosure, the data storage system can include at least one hard disk drive in addition to the plurality of SSD devices.


The present disclosure, in one embodiment, relates to a data storage system, wherein the solid state devices use either RAM-based memory or flash-based memory.


The present disclosure, in another embodiment, relates to a method for efficiently storing data in a data storage system that includes a plurality of solid state devices that can be classified in at least two different efficiency levels, wherein data progression is used to move data to the most cost-appropriate device.





BRIEF DESCRIPTION OF THE DRAWINGS

While the specification concludes with claims particularly pointing out and distinctly claiming the subject matter that is regarded as forming the various embodiments of the present disclosure, it is believed that the disclosure will be better understood from the following description taken in conjunction with the accompanying Figures, in which:



FIG. 1 illustrates different types of SSD devices that could be included in a data storage system of the present disclosure according to various embodiments.



FIG. 2 illustrates a data storage system according to one embodiment of the present disclosure, wherein read/write data is segregated on specific and different SSD device types than read data.



FIG. 3 illustrates a data storage system according to one embodiment of the present disclosure, whereby data progression is used to move data to device types of appropriate cost, according to frequency of access.



FIG. 4
a illustrates a data storage system in a first state including an example number of read/write optimized devices, an example number of read optimized devices, and an example amount of data of different types.



FIG. 4
b illustrates the data storage system illustrated in FIG. 4a after a read/write optimized device has been reprogrammed into a read optimized device.





DETAILED DESCRIPTION

The present disclosure relates to a novel and advantageous data storage system (“system”) that includes solid state drives (SSD) utilizing data progression (DP). Data storage systems may include: hard disk drives (HDD); SSDs; other suitable types of storage devices; or any combination thereof. Regardless of what components comprise a data storage system, an overall goal for the system is to store data in the most efficient, reliable, and least costly manner. One method that can be used to meet these objectives is data progression (DP), which moves data gradually to storage space of appropriate cost. For example, DP may move non-recently accessed data and historical snapshot data to less expensive storage. It will be recognized, however, that DP can be used to move data of any type from one device to another or from one storage space to another in order to increase the efficiency of the system. For a detailed description of DP and historical snapshot data, see U.S. Pat. No. 7,398,418, issued Jul. 8, 2008, (Ser. No. 11/689,862), entitled “Virtual Disk Drive System and Method,” as well as published U.S. patent application Ser. No. 11/753,357, entitled “Data Progression Disk Locality Optimization System and Method,” and U.S. patent application No. 61/086,917, filed Aug. 7, 2008, entitled, “System and Method for Transferring Data Between Different RAID Data Storage Types for Current Data and Replay Data,” each of which are herein incorporated by reference in their entirety.


Including SSDs in data storage systems is advantageous over using only hard disk drives (HDD), for example, because SSDs are much faster and more reliable than HDDs. A drawback of SSDs, however, is their cost. Ideally, a data storage system could take advantage of the speed and reliability of SSDs, but in a manner that is efficient, so as to minimize the impact of the increased monetary cost of SSDs relative to HDDs.


SSDs gain their advantage over HDDs because there are no moving parts in an SSD, meaning that there may be none of the mechanical delays associated with HDDs, such as lengthy access times, seek times, and latency. As shown in FIG. 1, SSDs 110 can be based on either volatile (RAM-based) memory 124 or non-volatile (flash) memory 122. Non-volatile memory does not require constant power in order to maintain stored information, whereas volatile memory does require continual power to maintain stored information. Non-volatile flash memory stores information in memory cells that are made from floating-gate transistors. Flash memory may be either NOR 132 or NAND 134. Single-level cell (SLC) devices store only one bit of information per cell, whereas multi-level cell (MLC) devices may store more than one bit of information per cell. SLC 144, 148 and MLC 142, 146 devices may be either NOR or NAND flash devices.


Because only one bit of information is stored per cell in SLC memory, it may have faster transfer speeds, use less power, and have higher cell endurance than MLC memory, which can store multiple bits of information per cell. SLC memory generally costs more money to manufacture and purchase than MLC memory because it stores less information per cell. Conversely, MLC memory may be less costly to manufacture but may have slower transfer speeds, consume more power and have lower cell endurance than SLC memory.


Flash memory, in particular, may only be capable of a finite number of erase-write cycles before the wear begins to erode the integrity of the storage. This deterioration of storage integrity may be partially offset by wear leveling, a process whereby firmware or special file systems count writes, and blocks are dynamically remapped in order to spread write operations between sectors. Generally, when a flash store is to be updated, the file system can write a new copy of the changed data over to a fresh block, remap the file pointers, and then erase the old block later when it has time.


Another approach may be to perform write verification and remapping to spare sectors in case of write failure. Most SSD designs include spare memory areas used to substitute for areas that wear out over time due to an inordinate amount of writes, or normal device manufacturing defects. Flash cells wearing out through writes may occur with any flash design, and may be a result of various physical factors. By incorporating a large amount of spare space, the effective write endurance, or number of writes to a given logical block address (LBA) may be greatly enhanced by spreading the total number of writes over many more physical flash memory areas. Over time, as one area wears, the SSD firmware may automatically substitute it with another area that is less worn, without intervention by the host controller. The more spare areas there are, the more write optimized a drive may generally be, and less overhead may be required to support any given write to the device. However, less usable LBA space may be available for a given amount of installed flash memory for a particular SSD.


SSDs may be configured to perform particular types of operations optimally. An SSD, for instance, may be configured to be read/write optimized (have a large amount of spares), or read optimized (have fewer spares with more usable LBA space). Accordingly, both SLC and MLC devices, for example, may be read/write optimized or read (or capacity) optimized.


According to one embodiment of the present disclosure, SSDs that are read/write optimized may be combined with read optimized SSDs in a data storage system, such that each type of memory is used cost efficiently. In this way, a data storage system may benefit from the advantages that SSDs offer over HDDs, or other data storage devices, while minimizing cost by avoiding inefficiencies in storage. For example, a data storage system may include both SLC and MLC devices, which are each configured to most efficiently store data according to whether the data is read/write data or read data.


Data progression (DP) may be used, for example, to efficiently allocate data between SSDs of different efficiency levels, such as SLC and MLC devices in a data storage system. DP may be used to move data gradually to storage space of appropriate cost, allowing a user to add additional SSD drives only when they are actually needed. This may significantly reduce the overall cost of the data storage system.


Data progression may be used to move non-recently accessed data and historical snapshot data to less expensive storage; for example, from SLC memory to MLC memory. For non-recently accessed data, DP may gradually reduce the cost of storage for any page that has not been recently accessed. As was mentioned above, however, DP can be used to move any type of data from one device to another, or one storage space to another, in order to store the data in the system more efficiently. One advantage of DP includes maintaining high I/O access to data currently being accessed and reducing the need to purchase fast but expensive solid state drives.


In operation, DP may determine the cost of storage using the cost of the physical media and the efficiency of devices, such as read/write optimized devices and read optimized devices in the system. DP can include the ability to automatically classify drives in the system relative to the rest of the drives within a system. The system examines a drive to determine its performance relative to the other drives in the system. The most efficient (e.g. faster, more reliable, etc.) drives are classified in a higher value classification, and the slower drives are classified in a lower value classification. As drives are added to a system, the system may automatically rebalance the value classifications of the drives.


Single-level cell memory, for example, is characterized by having both great read durability and great write durability coupled with a higher monetary cost for the SSD device. Multi-level cell memory, on the other hand, may also have great read durability coupled with a lower monetary cost for the SSD, but it has relatively poor write durability. Both the SLC and the MLC may be configured to be either read/write optimized or read optimized.



FIG. 2 illustrates one embodiment of the present disclosure, whereby a data storage system 200 may be a hybrid solution including both read optimized SSDs 240, for example read-optimized MLC devices, and read/write optimized SSDs 210, for example read/write optimized SLC devices. Read/write data 215 can be segregated on the read/write optimized devices, for example the more efficient and higher cost SLC read/write optimized devices 210, while read data 245 can be segregated on read optimized devices, for example the MLC read optimized devices 240. It will be understood by those in the art that read optimized data may also be stored on SLC read optimized devices. Allocating data in this way preserves device reliability while significantly decreasing hardware costs. Storage efficiencies are achieved in this embodiment because when read data and read/write data are mixed together on the same SSD device, a significant performance drop can occur. Segregating the read data 240 and the read/write data 215 according to this embodiment of the present disclosure may provide a significant performance boost.


In one embodiment, a data storage system may include snapshot functions to allow efficient storage of Point-In-Time Copies (PITCs) of a virtual volume matrix, instant data fusion, and data instant replay for data backup, recovery, testing, etc., remote data storage, and data progression, etc., each of which is described in detail in U.S. Pat. No. 7,398,418, which was previously incorporated by reference in its entirety.


In another embodiment of the present disclosure, DP can be used to move infrequently accessed data from a high cost storage device to a storage device of appropriate cost. Similarly, frequently accessed data may be moved from a less efficient storage device to a more efficient storage device. For instance, when new data is being written to a volume it may first go to an SSD device that is read/write optimized. Once a replay is taken, for example, the data could move to a read optimized SSD device. Should that data become less active, the data may be moved to a lower tier of storage, for instance an HDD.



FIG. 3 shows an embodiment of the present disclosure where DP may be used to move infrequently accessed data 350 from a read/write optimized SSD device 310 to a read optimized SSD device 340. Similarly, frequently accessed data 360, or read data that needs to be written to, may be moved from a read optimized SSD device 340 to a read/write optimized SSD device 310 by means of DP. In another embodiment, infrequently or very infrequently accessed data may be moved to an even lower tier device, such as an HDD or tape backup. Data storage efficiencies are achieved in this embodiment because infrequently accessed data does not take up valuable high-cost storage. Rather, less costly storage is used for infrequently accessed data. In instances where the read/write optimized device is an SLC device, and the read optimized device is an MLC device, storage efficiency is also gained by moving frequently used data to a faster and more reliable storage device, as reliability is increased for data stored on an SLC device as opposed to an MLC device, and write speed is increased for data stored on an SLC read/write optimized device as opposed to a read optimized SLC or MLC device.


However, as was discussed above, mixing read/write and read data together on the same SSD device may cause a significant performance drop. Some SSDs may be extremely sensitive to mixing read and write operations in their queues. In this embodiment, read/write data and read optimized data may coexist simultaneously on the same SSD device. For example, one SLC SSD device could contain frequently accessed read/write data, as well as frequently accessed read data. To minimize the performance drop associated with having different data types on the same device, but still achieve the efficiencies gained by using DP to store data cost-appropriately according to frequency of use, read data may be bundled together for execution, and read/write data may be bundled together for execution. Issuing groups of I/Os into batches of reads and batches of writes may greatly enhance I/O performance. Bundling each data type separately in this manner, prior to execution, may alleviate the performance impact of mixing the two operations together on a single SSD device.


Not only may both SLC and MLC devices be read/write optimized or read optimized, but both SLC and MLC devices may be converted on demand from read/write optimized devices to read optimized devices. Conversely, both SLC and MLC devices may be converted from read optimized devices to read/write optimized devices. An SLC device that is read/write optimized or read optimized may be very efficient in either optimization. An MLC device that is read optimized may be very read efficient, but when it is read/write optimized, may only be marginally efficient, and have lower overall endurance.



FIGS. 4
a and 4b show an embodiment of the present disclosure, whereby an SSD device may be reconfigured on demand. FIG. 4a shows a system 400 in an initial state. The initial state system includes three devices, which are read/write optimized 405, for example, three SLC read/write optimized devices. While three read/write optimized devices are shown, it will be recognized that any number of read/write optimized and/or read optimized devices may be included in the system and the number of devices shown in the FIGS. is simply for illustrative purposes, and is in no way limiting. In an initial state, only one of the read/write devices is needed to store the amount of data 410 that may most efficiently be stored on read/write devices according to embodiments discussed above. FIG. 4a shows that the initial state system 400 also includes two read optimized devices 425, for example two MLC read optimized devices. As can be seen, both read optimized devices 425 in the system 400 are used to store the amount of data 430 in the system that is most efficiently stored on read optimized devices according to embodiments discussed above.


It will be appreciated from viewing the initial state system 400 that it may be advantageous to have additional read optimized devices, and that there may be more read/write optimized devices than are currently needed. According to this embodiment, the system recognizes that the system would function more efficiently, given the nature of the data stored in the system, and the types of devices in the system, if a read/write optimized device were reprogrammed into a read optimized device. FIG. 4b shows the system after such a reprogramming has occurred. In the reprogrammed system 450, one of the read/write optimized devices 460 has been reprogrammed 475 into a read optimized device 485.


An SSD device that is read/write optimized 460 may be converted 475 to an SSD that is read optimized 485 by adjusting the number of spare memory areas available in the device during operation of the storage controller. If a read/write optimized SSD device 460 is adjusted 475 to function as a read optimized SSD 485, it may have less write endurance, have more usable capacity, and be more suitable for only reading data. One advantage of this embodiment may be that an SLC device that is read/write optimized may be very expensive per bit, but when reconfigured to be read optimized, the effective cost per bit is lower, and it may perform better than a read optimized MLC device. Further, conversion from a read/write optimized device to a read optimized device may increase or even double the device's addressable storage capacity.


In another embodiment of the present disclosure, an MLC SSD, for example, that is read/write optimized may be reconfigured as a read optimized device with fewer spares. The read optimized MLC may have lower write endurance than a read/write MLC device with more spares. A read/write optimized MLC may be reconfigured to a read optimized MLC through a configuration operation that may be performed with the drive in use through software and standard small computer system interface (SCSI) protocol commands to select the appropriate vendor device options.


In another embodiment, a read optimized MLC device may be reconfigured into a lower capacity read/write MLC device with a corresponding increase in the effective cost per bit. One skilled in the art will recognize that through a combination of these devices, nearly any price or performance characteristic between those of read/write SSDs, such as SLC devices, and read optimized SSDs, such as MLC devices, can be achieved. The configuration of SSD devices, for instance whether an SSD is read/write or read optimized, or the reconfiguration of SSD devices, for instance from a read/write optimized device to a read optimized device or vice versa, may be performed on site without the physical modification of installed hardware, allowing the system to respond to changing needs.


In another embodiment of the present disclosure, the flash memory 122 cells can be either NOR gate flash 132 or NAND gate flash 134, as is shown in FIG. 1. For example, a data storage system may contain SSD flash devices that are: exclusively NOR flash; exclusively NAND flash; or the system may include a combination of devices, some of which are NOR flash and others of which are NAND flash. NOR flash may be used as a storage device by using the random-access programming of which NOR is capable. Some NOR devices may include read-while-write functionality where the code can continue to be executed even if a program or erase operation is happening in the background. However, the write speeds of NOR flash are not as fast as NAND flash. Also, in terms of data storage, NAND flash is capable of higher densities, larger capacities at lower cost, and faster sequential read speeds. It will be understood by those skilled in the art that using different combinations of NOR and/or NAND flash may provide additional storage efficiencies in a data storage system using SSDs.


In a further embodiment of the present disclosure, a data storage system may include one or more SLC SSD device of 147 GB, and one or more MLC SSD device of 750 GB, however, any suitable size and type of SSD may be used in the data storage system.


In a further embodiment of the present disclosure, DP may be used to automatically move data between read/write optimized SSDs and read optimized SSDs. Read optimized SSDs may be particularly efficient devices for storing data that has been frozen in time by a replay. Once a replay occurs, that data becomes read data. DP may write that data to an SSD only a few times per day, which may significantly reduce the number of erasure cycles occurring on that SSD.


In another embodiment of the present disclosure, a data storage system may include both SSDs and HDDs and/or other suitable storage devices. Data progression can be used to efficiently allocate data to the device of appropriate cost, as determined by the price, performance, capacity, and/or function of the drive. As discussed previously, DP includes the ability to automatically classify drives relative to the other drives within a system. The system examines a drive to determine its performance relative to the other drives in the system. The faster and/or more efficient drives are classified in a higher value classification, and the slower and/or less efficient drives are classified in a lower value classification. As drives are added to a system, the system automatically rebalances the value of classifications of the drives. For a detailed description of DP and historical snapshot data, see U.S. Pat. No. 7,398,418, issued Jul. 8, 2008, (Ser. No. 11/689,862), entitled “Virtual Disk Drive System and Method,” as well as published U.S. patent application Ser. No. 11/753,357, entitled “Data Progression Disk Locality Optimization System and Method,” both of which have previously been incorporated by reference in their entirety. In a system that includes both SSDs and HDDs, DP may be used to classify each drive type's speed relative to the others. All of the data storage efficiencies that can be obtained through the disclosures of the above mentioned patent and published application can apply to the HDDs included in a system combining SSDs and HDDs, such as efficiencies gained from RAID and DP.


In yet another embodiment of the present disclosure, the SSDs 110 of the present disclosure may use volatile RAM-based memory 124, such as synchronous dynamic random access memory (SDRAM), or dynamic random access memory (DRAM), collectively referred to as “RAM-based” memory, as shown in FIG. 1. In a further embodiment, a data storage system may use a combination of flash-based memory 122 SSD devices, and RAM-based memory 124 SSD devices. SSDs based on volatile RAM-based memory 124 may have faster read access times and write speeds than devices using flash memory 122. RAM-based SSD memory 124, however, may be more vulnerable to abrupt power loss. Further, RAM-based SSD memory 124 may require more power than flash memory 122. It will be recognized by those skilled in the art that a data storage system could include various combinations of SSD devices, some of which utilize flash memory, and others of which utilize RAM-based memory. Alternatively, a system may include only flash-based SSD devices, or may include only RAM-based SSD devices. Regardless of the combination of SSD devices included in the system, DP may be used to classify all of the drives in the system according to their speed, and then allocate, and/or move data to the most cost-appropriate device for that data type.


In the foregoing description, various embodiments of the disclosure have been presented for the purpose of illustration and description. They are not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiments were chosen and described to provide the best illustration of the principals of the disclosure and its practical application, and to enable one of ordinary skill in the art to utilize the various embodiments with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the disclosure as determined by the appended claims when interpreted in accordance with the breadth they are fairly, legally, and equitably entitled.

Claims
  • 1. A data storage system comprising a plurality of solid state devices, each solid state device being read optimized or read/write optimized and configured for on-demand conversion between read optimization and read/write optimization, wherein data progression is used to allocate data to the most cost-appropriate device according to how frequently the data is accessed.
  • 2. The system of claim 1, wherein the plurality of solid state devices includes at least one single-level cell device, and at least one multi-level cell device.
  • 3. The system of claim 2, wherein at least one a single-level cell device is read/write optimized, and wherein at least one multi-level cell device is read optimized.
  • 4. The system of claim 3, wherein the multi-level cell device and the single-level cell device can be either NOR or NAND devices.
  • 5. The system of claim 1, further comprising at least one hard disk drive.
  • 6. The system of claim 5, wherein data progression is used to move infrequently accessed data to a less costly storage device, and to move frequently accessed data to a faster storage device.
  • 7. The system of claim 1, wherein data progression is used to move infrequently accessed data to a less costly storage device, and to move frequently accessed data to a faster storage device.
  • 8. The system of claim 1, wherein the solid state devices use either RAM-based memory or flash-based memory.
  • 9. A method for efficiently storing data in a data storage system that comprises a plurality of solid state devices, each solid state device being read optimized or read/write optimized and configured for on-demand conversion between read optimization and read/write optimization, comprising using data progression to move data to the most cost-appropriate solid state device according to how frequently the data is accessed.
  • 10. The method of claim 9, wherein the data storage system further includes at least one hard disk drive.
  • 11. The method of claim 10, further comprising determining a cost of storage for each of the plurality of solid state devices and the at least one hard disk drive.
  • 12. The method of claim 11, further comprising classifying each of the plurality of solid state devices and the at least one hard disk drive based on the cost relative to one another.
  • 13. The method of claim 12, wherein the cost of storage of each of the plurality of solid state devices and the at least one hard disk drive is based on efficiency of the respective device.
  • 14. The method of claim 9, further comprising determining a cost of storage for each of the plurality of solid state devices.
  • 15. The method of claim 14, further comprising classifying each of the plurality of solid state devices based on the cost relative to one another.
  • 16. The method of claim 15, wherein the cost of storage of each of the plurality of solid state devices is based on efficiency of the respective device.
  • 17. The method of claim 15, wherein the cost of storage of each of the plurality of solid state devices is based on physical cost of the respective device.
  • 18. The method of claim 15, wherein the cost of storage of each of the plurality of solid state devices and the at least one hard disk drive is based on physical cost of the respective device.
  • 19. The method of claim 9, wherein the data storage system further includes at least one non-solid state storage device.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/501,907, titled “Solid State Drive Data Storage System and Method,” filed Jul. 13, 2009, now U.S. Pat. No. 8,468,292, the entirety of which is herein incorporated by reference.

US Referenced Citations (216)
Number Name Date Kind
5155835 Belsan Oct 1992 A
5274807 Hoshen et al. Dec 1993 A
5276867 Kenley et al. Jan 1994 A
5327535 Ogata et al. Jul 1994 A
5331646 Krueger et al. Jul 1994 A
5371882 Ludlam Dec 1994 A
5390327 Lubbers Feb 1995 A
5548740 Kiyohara Aug 1996 A
5572661 Jacobson Nov 1996 A
5644701 Takewaki Jul 1997 A
5659704 Burkes et al. Aug 1997 A
5696934 Jacobson et al. Dec 1997 A
5742792 Yanai et al. Apr 1998 A
5835953 Ohran Nov 1998 A
5897661 Baranovsky et al. Apr 1999 A
RE36462 Chang et al. Dec 1999 E
6052759 Stallmo et al. Apr 2000 A
6052797 Ofek et al. Apr 2000 A
6058489 Schultz et al. May 2000 A
6070249 Lee May 2000 A
6073218 Dekoning et al. Jun 2000 A
6073221 Beal et al. Jun 2000 A
6073222 Ohran Jun 2000 A
6078932 Haye et al. Jun 2000 A
RE36846 Ng et al. Aug 2000 E
6115781 Howard Sep 2000 A
6192444 White et al. Feb 2001 B1
6212531 Blea et al. Apr 2001 B1
6269431 Dunham Jul 2001 B1
6269453 Krantz Jul 2001 B1
6275897 Bachmat Aug 2001 B1
6275898 DeKoning Aug 2001 B1
6282671 Islam et al. Aug 2001 B1
6311251 Merritt et al. Oct 2001 B1
6353878 Dunham Mar 2002 B1
6366987 Tzelnic et al. Apr 2002 B1
6366988 Skiba et al. Apr 2002 B1
6415296 Challener et al. Jul 2002 B1
6434681 Armangau Aug 2002 B1
6438638 Jones et al. Aug 2002 B1
6516425 Belhadj et al. Feb 2003 B1
6560615 Zayas et al. May 2003 B1
6591335 Sade et al. Jul 2003 B1
6604171 Sade Aug 2003 B1
6611897 Komachiya et al. Aug 2003 B2
6618794 Sicola et al. Sep 2003 B1
6636778 Basham et al. Oct 2003 B2
6718436 Kim et al. Apr 2004 B2
6732125 Autrey May 2004 B1
6799258 Linde Sep 2004 B1
6804755 Selkirk et al. Oct 2004 B2
6826711 Moulton et al. Nov 2004 B2
6839827 Beardsley et al. Jan 2005 B1
6839864 Mambakkam et al. Jan 2005 B2
6857057 Nelson et al. Feb 2005 B2
6862609 Merkey Mar 2005 B2
6877109 Delaney et al. Apr 2005 B2
6883065 Pittelkow et al. Apr 2005 B1
6904599 Cabrera et al. Jun 2005 B1
6907505 Cochran et al. Jun 2005 B2
6915241 Kohlmorgen et al. Jul 2005 B2
6915454 Moore et al. Jul 2005 B1
6938123 Willis et al. Aug 2005 B2
6948038 Berkowitz et al. Sep 2005 B2
6952794 Lu Oct 2005 B2
6957294 Saunders et al. Oct 2005 B1
6957362 Armangau Oct 2005 B2
6981114 Wu et al. Dec 2005 B1
6996582 Daniels et al. Feb 2006 B2
6996741 Pittelkow et al. Feb 2006 B1
7000069 Bruning et al. Feb 2006 B2
7003688 Pittelkow et al. Feb 2006 B1
7017076 Ohno et al. Mar 2006 B2
7032093 Cameron Apr 2006 B1
7039778 Yamasaki May 2006 B2
7043663 Pittelkow et al. May 2006 B1
7047358 Lee et al. May 2006 B2
7051182 Blumenau et al. May 2006 B2
7058788 Niles et al. Jun 2006 B2
7069468 Olson et al. Jun 2006 B1
7072916 Lewis et al. Jul 2006 B1
7085899 Kim et al. Aug 2006 B2
7085956 Petersen et al. Aug 2006 B2
7089395 Jacobson et al. Aug 2006 B2
7093161 Mambakkam et al. Aug 2006 B1
7100080 Howe Aug 2006 B2
7107417 Gibble et al. Sep 2006 B2
7111147 Strange et al. Sep 2006 B1
7124272 Kennedy et al. Oct 2006 B1
7127633 Olson et al. Oct 2006 B1
7133884 Murley et al. Nov 2006 B1
7134053 Moore Nov 2006 B1
7162587 Hiken et al. Jan 2007 B2
7162599 Berkowitz et al. Jan 2007 B2
7181581 Burkey Feb 2007 B2
7184933 Prekeges et al. Feb 2007 B2
7191304 Cameron et al. Mar 2007 B1
7194653 Hadders et al. Mar 2007 B1
7197614 Nowakowski Mar 2007 B2
7216258 Ebsen et al. May 2007 B2
7222205 Jones et al. May 2007 B2
7228441 Fung Jun 2007 B2
7251713 Zhang Jul 2007 B1
7272666 Rowan et al. Sep 2007 B2
7272735 Fung Sep 2007 B2
7293196 Hicken et al. Nov 2007 B2
7305579 Williams Dec 2007 B2
7320052 Zimmer et al. Jan 2008 B2
7380113 Ebsen et al. May 2008 B2
7398418 Soran et al. Jul 2008 B2
7404102 Soran et al. Jul 2008 B2
7406631 Moore Jul 2008 B2
7475098 Patterson et al. Jan 2009 B2
7484111 Fung Jan 2009 B2
7493514 Soran et al. Feb 2009 B2
7512822 Fung Mar 2009 B2
7533283 Fung May 2009 B2
7552350 Fung Jun 2009 B2
7558976 Fung Jul 2009 B2
7562239 Fung Jul 2009 B2
7574622 Soran et al. Aug 2009 B2
7603532 Rajan et al. Oct 2009 B2
7613945 Soran et al. Nov 2009 B2
7672226 Shea Mar 2010 B2
7702948 Kalman et al. Apr 2010 B1
8078794 Lee et al. Dec 2011 B2
20010020282 Murotani et al. Sep 2001 A1
20020004912 Fung Jan 2002 A1
20020004913 Fung Jan 2002 A1
20020004915 Fung Jan 2002 A1
20020007438 Lee Jan 2002 A1
20020007463 Fung Jan 2002 A1
20020007464 Fung Jan 2002 A1
20020053009 Selkirk et al. May 2002 A1
20020056031 Skiba et al. May 2002 A1
20020062454 Fung May 2002 A1
20020073278 McDowell Jun 2002 A1
20020103969 Koizumi et al. Aug 2002 A1
20020112113 Karpoff et al. Aug 2002 A1
20020129214 Sarkar Sep 2002 A1
20020188768 Hirakawa et al. Dec 2002 A1
20030005248 Selkirk et al. Jan 2003 A1
20030009619 Kano et al. Jan 2003 A1
20030046270 Leung et al. Mar 2003 A1
20030065901 Krishnamurthy Apr 2003 A1
20030110263 Shillo Jun 2003 A1
20030182301 Patterson et al. Sep 2003 A1
20030182503 Leong et al. Sep 2003 A1
20030188208 Fung Oct 2003 A1
20030200473 Fung Oct 2003 A1
20030212865 Hicken et al. Nov 2003 A1
20030221060 Umberger et al. Nov 2003 A1
20040030822 Rajan et al. Feb 2004 A1
20040030951 Armangau Feb 2004 A1
20040088505 Watanabe May 2004 A1
20040107222 Venkatesh et al. Jun 2004 A1
20040107315 Watanabe et al. Jun 2004 A1
20040111558 Kistler et al. Jun 2004 A1
20040117572 Welsh et al. Jun 2004 A1
20040133742 Vasudevan et al. Jul 2004 A1
20040163009 Goldstein et al. Aug 2004 A1
20040172577 Tan et al. Sep 2004 A1
20050010618 Hayden Jan 2005 A1
20050010731 Zalewski et al. Jan 2005 A1
20050027938 Burkey Feb 2005 A1
20050055603 Soran et al. Mar 2005 A1
20050065962 Rowan et al. Mar 2005 A1
20050066095 Mullick et al. Mar 2005 A1
20050108582 Fung May 2005 A1
20050182992 Land et al. Aug 2005 A1
20050262325 Shmueli et al. Nov 2005 A1
20060031287 Ulrich Feb 2006 A1
20060093282 Shepherd et al. May 2006 A1
20060107006 Green et al. May 2006 A1
20060161752 Burkey Jul 2006 A1
20060161808 Burkey Jul 2006 A1
20060179218 Burkey Aug 2006 A1
20060206536 Sawdon et al. Sep 2006 A1
20060218360 Burkey Sep 2006 A1
20060230244 Amarendran et al. Oct 2006 A1
20060248324 Fung Nov 2006 A1
20060248325 Fung Nov 2006 A1
20060248358 Fung Nov 2006 A1
20060248359 Fung Nov 2006 A1
20060248360 Fung Nov 2006 A1
20060248361 Fung Nov 2006 A1
20060253669 Lobdell Nov 2006 A1
20060253717 Fung Nov 2006 A1
20060259797 Fung Nov 2006 A1
20060265608 Fung Nov 2006 A1
20060265609 Fung Nov 2006 A1
20060271604 Shoens Nov 2006 A1
20070016749 Nakamura et al. Jan 2007 A1
20070016754 Testardi Jan 2007 A1
20070101173 Fung May 2007 A1
20070180306 Soran et al. Aug 2007 A1
20070234110 Soran et al. Oct 2007 A1
20070240006 Fung Oct 2007 A1
20070245165 Fung Oct 2007 A1
20070260830 Faibish et al. Nov 2007 A1
20070266066 Kapoor et al. Nov 2007 A1
20070288401 Hood et al. Dec 2007 A1
20080005468 Faibish et al. Jan 2008 A1
20080091877 Klemm et al. Apr 2008 A1
20080112238 Kim et al. May 2008 A1
20080140918 Sutardja Jun 2008 A1
20080288546 Adkins et al. Nov 2008 A1
20090043831 Antonopoulos et al. Feb 2009 A1
20090132617 Soran et al. May 2009 A1
20090138755 Soran et al. May 2009 A1
20090235104 Fung Sep 2009 A1
20090300412 Soran et al. Dec 2009 A1
20100037023 Aszmann et al. Feb 2010 A1
20110010488 Aszmann et al. Jan 2011 A1
20110197017 Yu et al. Aug 2011 A1
20120059992 Radke et al. Mar 2012 A1
Foreign Referenced Citations (19)
Number Date Country
1790351987 Aug 1987 JP
732211993 Mar 1993 JP
1872011994 Jul 1994 JP
690281997 Mar 1997 JP
2546281998 Sep 1998 JP
3278031999 Nov 1999 JP
2000132343 May 2000 JP
2001147785 May 2001 JP
2001337850 Dec 2001 JP
2001344139 Dec 2001 JP
2002278819 Sep 2002 JP
2002366398 Dec 2002 JP
200315915 Jan 2003 JP
200350724 Feb 2003 JP
2005512191 Apr 2005 JP
0013077 Mar 2000 WO
0225445 Mar 2002 WO
03048941 Jun 2003 WO
2005017737 Feb 2005 WO
Non-Patent Literature Citations (6)
Entry
The Compaq Enterprise Network Storage Architecture: An Overview, source(s): Compaq, May 2000, pp. 1-22.
Massiglia, P., “Chapter 11: Dynamic Data Mapping”, The RAIDbook. A Source for RAID Technology, Feb. 1997; pp. 197-208.
Wilkes, John, et al. “The HP AutoRAID Hierarchical Storage System”, ACM Transactions on Computer Systems, Association for Computing Machinery, ACM Transactions on Computer Systems, vol. 14, No. 1, Feb. 1996, pp. 108-136.
The PC Guide, “RAID Level 7”, 2001, Retrieved from http://www.pcguide.com/ref/hdd/perf/raid/levels/singleLeve17-c.html on Sep. 13, 2010, 3 pp.
Chen, Feng et al. “Hystor: Making the Best Use of Solid State Drives in High Performance Storage Systems”, Proceedings of the International Conference on Supercomputing, May 31-Jun. 4, 2011, Tucson, Arizona, U.S.A., pp. 22-32.
Chang, Li-Pin. “Hybrid Solid-State Disks: Combining Heterogeneous NAND Flash in Large SSDs”, Design Automation Conference Asia and South Pacific, Seoul, South Korea, Mar. 21-24, 2008, pp. 428-433.
Related Publications (1)
Number Date Country
20130297850 A1 Nov 2013 US
Continuations (1)
Number Date Country
Parent 12501907 Jul 2009 US
Child 13919353 US