GB2407405A - RAID arrays with solid-state memory devices - Google Patents

RAID arrays with solid-state memory devices Download PDF

Info

Publication number
GB2407405A
GB2407405A GB0324690A GB0324690A GB2407405A GB 2407405 A GB2407405 A GB 2407405A GB 0324690 A GB0324690 A GB 0324690A GB 0324690 A GB0324690 A GB 0324690A GB 2407405 A GB2407405 A GB 2407405A
Authority
GB
United Kingdom
Prior art keywords
raid
data storage
memory cards
virtual
raid array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0324690A
Other versions
GB0324690D0 (en
GB2407405B (en
Inventor
Andrew Lester
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to GB0324690A priority Critical patent/GB2407405B/en
Publication of GB0324690D0 publication Critical patent/GB0324690D0/en
Publication of GB2407405A publication Critical patent/GB2407405A/en
Application granted granted Critical
Publication of GB2407405B publication Critical patent/GB2407405B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A unit 1 consists of a RAID array and adapter that can replace existing storage units, for example a hard drive. The unit is intended principally for use with mobile computing devices. The array is, built from standard removable solid-state memory cards which are stored in caddies 2, where each card takes a role similar to that of a hard drive in a normal RAID setup. Additional storage devices can be included with the RAID array. Either the RAID array or an additional unit can act as a cache. The solid-state memory cards 2 can form two or more predefined groups, each a separate RAID entity. The caddies 2 may be hinged or removable, and may or may not contain the necessary interfaces and controller circuitry.

Description

1 2407405 Small-scale RAID arrays and adapters for mobile computing
devices UK pa tent applica tion 2nd draft: 1 gth October 2003
BACKGROUND
One of the main disadvantages of modern mobile computing devices is the comparatively small capacity and limited data protection that is offered by their persistent storage devices (notably their hard drives). In spite of the fact that most laptop computers, palmtops (PDAs) and other mobile computing devices now offer a processing power that is comparable to that of desktop systems, their persistent storage capacity is, by comparison, greatly reduced. Laptop hard drives, for example, can only hold between one quarter and one third of the data that can be stored on those destined for desktop systems.
Furthermore, while fixed servers and high-end workstations can benefit from advanced features such as RAID (Redundant Array of Independent Drives) arrays, (RAID arrays offer greater performance in terms of the rate of data transfer, and often more importantly, greater security in the event of the failure of one or many of their hard drives), almost all mobile devices, such as laptops, offer little or no possibility for adding the same type of redundancy to their permanent storage. In general, most laptops can only accept one hard drive, and although some models may allow the addition of a second device, RAID style redundancy is not possible (the failure of the drive on which the operating system is installed will require its complete reinstallation).
The evolution and proliferation over the last few years of very small, solid-state, persistent memory devices (memory cards) will, in the near future, render their usage advantageous in situations where (mechanical) hard drives may otherwise be adopted: they offer a much greater level of reliability; they have considerably lower power requirements; they are physically robust, that is they are not subject to damage or error from relatively minor shocks; and although, at the time of writing, their capacity is comparatively small, it is increasing at a considerable rate, probably to the extent that they will soon be on a level footing with mechanical hard drives in terms of storage capacity for a given physical weight and volume.
However, more importantly for mobile computing, their size allows them to be placed in a RAID configuration, even inside a device such as a PDA. This would thus allow mobile computing devices to benefit from the reliability and performance that is currently only available to servers and high-end desktop
DETAILED DESCRIPTION
The basis of the invention is a unit that can accept two or more solidstate memory devices (hereafter referred to as memory cards) that, for increased performance and reliability, are placed in a RAID configuration for use with a computing device (in particular a mobile computing device). In general, the unit is designed so that it can replace existing memory or storage devices that take the form of hard drives, PCMCIA or even Compact-Flash type cards, though this should not be taken to be systematically the case (external units are also possible which may be linked to the computing device by either a cable to an external interface or a wireless link). By replace, it should be understood that the unit is able to take the place, and operate in the context of, an existing storage device.
The unit includes a RAID controller or RAID memory card controller (7 in figure 3) that communicates via a bus (8) to the individual memory card controllers (9) and cards (10). The RAID controller distributes the data between the individual cards in a manner similar or identical to that of a normal RAID array of hard drives. RAID arrays can be configured in a number of different ways, the choice of the configuration depending, in general, on its required performance and reliability. For RAID arrays these configurations are referred to as RAID levels (from level O to 5 or greater), each level offering facilities that are appropriate for specific needs. Though it may be possible to include all the possible RAID levels in the unit, the configuration often referred to as RAID level O (or simply RAID O) may be privileged, due notably to the increased reliability of solid-state memory cards. RAID O offers no data redundancy in its implementation (strictly it should not be known under the acronym RAID), but as the stored data is shared evenly between all the cards, it offers, amongst all the RAID configurations, by far the best read and write performance as well as the greatest possible data storage capacity (which, given no other constraints, can be simply evaluated by multiplying the performance or capacity of any one card by the number of cards available). However, in situations where data security is important (the main disadvantage of the RAID O configuration being that it offers no protection against failure) configurations such as RAID levels 1, 3 or 5 may be preferred.
Such configurations offer the possibility of storing data across the cards in such a way that, in the event of the failure of any one card, the original information can be reconstructed and recovered.
Where appropriate, a facultative non-RAID (or multiple RAID array) configuration could be included whereby each card (or for the multiple RAID configuration, each predefined group of cards, the group making up an entire RAID array) is treated as an independent unit (or drive), allowing individual cards (or for the multiple RAID configuration, the predefined groups of cards that each make up an entire RAID array) to be inserted or removed without compromising the overall integrity of the data stored elsewhere on the unit. In non-RAID mode, the unit will simply act as a multiple memory card reader.
Though the unit is characterized by a RAID array of small solid- state memory devices, it may, however, contain one or many additional data storage devices of a type different in nature to that of the devices making up the array. These devices may themselves also be in a RAID configuration, though single devices may be preferred. Furthermore, in general, these additional data storage devices would operate in coordination with the array: for example, the array may act as a fast, persistent memory cache for a hard drive. In this case, the array will be able to hold cashed data in such a way that it and the hard drive will remain in a consistent state even in the event of a power failure to the unit before information in the array has been synchronized with (written to) the hard drive.
The great advantage of this configuration would be that cached data stored in the array need only be synchronized when, for example, the cache is full and space has to be liberated for a further read or write operation, which, as an immediate consequence, would result in a great reduction to the workload of the hard drive, leading naturally in its increased performance as well as its greater longevity.
It should be noted, however, that the invention does not exclude a configuration whereby the previously mentioned one or many additional data storage devices are themselves used as a memory cache to the array (the roles of the array and the hard drive being simply inversed with respect to the previous example).
Notably, a standard hard drive could act as a persistent memory cache to a RAID array.
The caching can, in both cases, function by means of virtual sectors, data blocks or addresses that correspond to physical sectors, data blocks or addresses in the device for which the cache acts, whether it be the additional data storage devices as in the first example or the RAID array as in the second. A table of the physical and virtual sectors, data blocks or addresses would then be maintained and updated dynamically to reflect the state of the data cache. The table may reside in any previously mentioned data support, or may use its own dedicated storage.
EMBODIMENTS
The invention consists of several embodiments, an example of the principle being that shown in figure 1. The unit (1) and interface (3) are modelled so that they can take the place of a standard flinch laptop hard drive. Enclosed in the unit (1) are several caddies (2) each of which can accept memory cards (in figure 1, the unit (1) has four such caddies (2), two of which are illustrated, the other two being hidden on its lower side).
Each caddie (2) can open outwards as shown in the diagram so that a memory card can be inserted or removed. (It should be noted that though in this case the caddie is a useful feature, it is not an essential element of this invention: in another embodiment, the memory cards may be simply inserted in fixed slots on the unit.) The caddies themselves may take a number of forms: they may house a memory card interface and even a memory card controller circuit (9) for one or many memory cards, though again this may not necessarily be so: each caddie could simply offer support to the memory card or cards, facilitating their insertion to an interface fixed to the main circuit board of the unit (1).
As the unit (1) is designed to replace a laptop hard drive, the configuration of the RAID array could present a problem as the interface (3) is, in general, only designed for one specific hardware-type (a standard hard drive). One solution (it should be noted that it is not the only possibility that exits) consists of reading and writing to a virtual sector outside the normal logical address space used by the array (drive), thus treating the configuration data in the same way as any other data destined for the array (the sector being mapped to the internal memory of the controller and not to the array itself).
Another, simpler, possibility would be to mount DIP switches on the casing, the configuration of the switches defining the configuration of the array.
Though a non-RAID (or multiple RAID array) configuration of that cards is in general not appropriate for a single laptop hard drive unit (the majority of interfaces that currently exist can only manage a maximum of two independent hard drives), the possibility exists of presenting each card (or predefined group of cards that makeup an entire RAID array) as a separate partition of a single hard drive. It should be noted, however, that this should not be considered to be a preferred addition to this embodiment, as it will render it at least partially incompatible with the majority of hard drive partitioning and formatting tools that currently exist.
An example of another embodiment (figure 2) is a PCMCIA unit (4) that consists of a number of emplacements and interfaces for memory cards (5) that are held in place by means of clips. In figure 2, the unit (4) can accept six cards in a back-to-back configuration in which the cards are held in two rows of three, with each row occupying one side of the unit (4). As for the previous embodiment, the unit includes a RAID controller (7 in figure 3) that communicates via a bus (8) to the individual memory card controllers (9) and cards (10). The memory card controllers are connected to the memory cards by means of interfaces, which, in the case of figure 2, would be arranged along a double sided support (not illustrated for clarity), each side accepting a separate memory card. The controller would offer similar facilities and configurations to those described for the previous embodiment. As the unit (4) uses a more general PCMCIA interface (6) than the hard drive interface (3), greater possibilities exist for its configuration: the interface is not designed for and constrained to one sole hardware type (though the unit may, all the same, simply present itself as a standard hard drive, for which the solutions outlined above may be preferable). The non-RAID (or multiple RAID array) configuration would be a reasonable and even preferred addition as the PCMCIA adapter is able to present, without difficulty, many drives to its host computing device.
A further embodiment would be a Compact-Flash type unit that accepts two (or more) smaller memory cards. In the case where the unit accepts only two cards, it will offer at least one of RAID O (maximum performance), RAID 1 (maximum security), and the simple non-RAID configuration outlined above.
An example of a further embodiment (not illustrated) is an external unit that is connected to a computing device by means of either a wired (for example, a USB Universal Serial Bus connection) or wireless (for example, communication by means of the IEEE 802.11 protocols) link. The unit would accept a number of memory cards in a way similar to that described for the previous embodiments, and would provide one or many of the same RAID, non-RAID or multiple RAID configurations as previously described.

Claims (15)

  1. Claims 1. A device that can accept two or more small solid- state memory
    devices (hereafter known as memory cards) and place them in one or many of the possible RAID configurations.
  2. 2. A device as in claim 1 that, in addition, provides a non-RAID configuration whereby each memory card, from all or a subset of the memory cards, is treated independently in such a way that information stored on the card can be read from and written to without affecting any other card.
  3. 3. A device as in either claim 1 or 2, that, in addition provides a multiple RAID configuration whereby two or more predefined groups of memory cards each form a separate RAID array.
  4. 4. A device as in any previous claim that can replace physically and function in the context of any existing memory or data storage device.
  5. 5. A device as in claim 4 where the said data storage device is a hard drive
  6. 6. A device as in claim 5 where the RAID array can be configured by means of a virtual sector, data block or collection of virtual addresses that lies outside the normal address space of the RAID array.
  7. 7. A device as in claim 4 where the data storage device is a PCMCIA type extension card.
  8. 8. A device as in claim 1, 2 or 3 that consists of an external unit that is connected to a computing device by means of a wired or wireless link.
  9. 9. A device that in addition to any previous claim, contains one or many additional data storage devices, the additional data storage devices being of any type that satisfies the technical constraints regarding the size and power consumption of the unit (device).
  10. lO.A device as in claim 9 where the additional data storage device is a hard drive.
  11. ll.A device as in claim 9 or 10 in which the RAID array of memory cards acts as a data cache for the one or many additional data storage devices.
  12. 12.A device as in claim 11 where the data cache is implemented by means of virtual sectors, data blocks or addresses in the RAID array of memory cards, each virtual sector, data block or address corresponding to a physical sector, data block or address in the one or many additional data storage devices, a correspondence table between the virtual and real sectors, data blocks or addresses being maintained on any previously mentioned or additional data storage device.
  13. 13.A device as in claim 9 or 10 in which the one or many said additional data storage devices acts as a data cache for the RAID array of memory cards.
  14. 14.A device as in claim 11 where the data cache is implemented by means of virtual sectors, data blocks or addresses in the one or many additional data storage devices, each virtual sector, data block or address corresponding to a physical sector, data block or address in the RAID array of memory cards, a correspondence table between the virtual and real sectors, data blocks or addresses being maintained on any previously mentioned or additional data storage device.
  15. 15.A device as in any previous claim that uses hinged or removable caddies in order to maintain the memory cards and to facilitate their insertion or removal; additionally each caddie may or may not contain the necessary interface or interfaces and controller circuitry for one or many memory cards.
GB0324690A 2003-10-23 2003-10-23 Small-scale RAID arrays and adapters for mobile computing devices Expired - Lifetime GB2407405B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0324690A GB2407405B (en) 2003-10-23 2003-10-23 Small-scale RAID arrays and adapters for mobile computing devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0324690A GB2407405B (en) 2003-10-23 2003-10-23 Small-scale RAID arrays and adapters for mobile computing devices

Publications (3)

Publication Number Publication Date
GB0324690D0 GB0324690D0 (en) 2003-11-26
GB2407405A true GB2407405A (en) 2005-04-27
GB2407405B GB2407405B (en) 2008-05-21

Family

ID=29595645

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0324690A Expired - Lifetime GB2407405B (en) 2003-10-23 2003-10-23 Small-scale RAID arrays and adapters for mobile computing devices

Country Status (1)

Country Link
GB (1) GB2407405B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008066605A2 (en) 2006-11-27 2008-06-05 Lsi Corporation System for optimizing the performance and reliability of a storage controller cache offload circuit
WO2008081445A2 (en) * 2007-01-02 2008-07-10 Sandisk Il Ltd. Apparatus and method for archiving digital content
WO2009081392A1 (en) * 2007-12-26 2009-07-02 Sandisk Il Ltd. A storage device coordinator and a host device that includes the same
US8713268B2 (en) 2010-08-05 2014-04-29 Ut-Battelle, Llc Coordinated garbage collection for raid array of solid state disks

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2295037A (en) * 1994-11-10 1996-05-15 Raymond Engineering Redundant array of solid state memory devices
JP2000207137A (en) * 1999-01-12 2000-07-28 Kowa Co Information storage device
GB2370690A (en) * 2000-08-24 2002-07-03 Hewlett Packard Co Solid state mass storage memory device
US20030028725A1 (en) * 2001-08-03 2003-02-06 Naberhuis Steven Louis Redundant array of independent storage devices
US6611895B1 (en) * 1998-06-08 2003-08-26 Nicholas J. Krull High bandwidth cache system
US20030182494A1 (en) * 2002-03-20 2003-09-25 Rodrigues Steven Harold Raid assimilation method and apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2498154A1 (en) * 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2295037A (en) * 1994-11-10 1996-05-15 Raymond Engineering Redundant array of solid state memory devices
US6611895B1 (en) * 1998-06-08 2003-08-26 Nicholas J. Krull High bandwidth cache system
JP2000207137A (en) * 1999-01-12 2000-07-28 Kowa Co Information storage device
GB2370690A (en) * 2000-08-24 2002-07-03 Hewlett Packard Co Solid state mass storage memory device
US20030028725A1 (en) * 2001-08-03 2003-02-06 Naberhuis Steven Louis Redundant array of independent storage devices
US20030182494A1 (en) * 2002-03-20 2003-09-25 Rodrigues Steven Harold Raid assimilation method and apparatus

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008066605A2 (en) 2006-11-27 2008-06-05 Lsi Corporation System for optimizing the performance and reliability of a storage controller cache offload circuit
EP2097822A2 (en) * 2006-11-27 2009-09-09 Lsi Corporation System for optimizing the performance and reliability of a storage controller cache offload circuit
EP2097822A4 (en) * 2006-11-27 2010-06-02 Lsi Corp System for optimizing the performance and reliability of a storage controller cache offload circuit
US7904647B2 (en) 2006-11-27 2011-03-08 Lsi Corporation System for optimizing the performance and reliability of a storage controller cache offload circuit
WO2008081445A2 (en) * 2007-01-02 2008-07-10 Sandisk Il Ltd. Apparatus and method for archiving digital content
WO2008081445A3 (en) * 2007-01-02 2008-09-25 Sandisk Il Ltd Apparatus and method for archiving digital content
JP2010515190A (en) * 2007-01-02 2010-05-06 サンディスク アイエル リミテッド Apparatus and method for archiving digital content
EP2189894A1 (en) * 2007-01-02 2010-05-26 SanDisk IL Ltd Digital shoebox
US8037266B2 (en) 2007-01-02 2011-10-11 Sandisk Il Ltd. Apparatus and method for archiving digital content
WO2009081392A1 (en) * 2007-12-26 2009-07-02 Sandisk Il Ltd. A storage device coordinator and a host device that includes the same
US9495116B2 (en) 2007-12-26 2016-11-15 Sandisk Il Ltd. Storage device coordinator and a host device that includes the same
US8713268B2 (en) 2010-08-05 2014-04-29 Ut-Battelle, Llc Coordinated garbage collection for raid array of solid state disks

Also Published As

Publication number Publication date
GB0324690D0 (en) 2003-11-26
GB2407405B (en) 2008-05-21

Similar Documents

Publication Publication Date Title
CA2116985C (en) Memory system
CN107301134B (en) Wear leveling in a memory device
US7099994B2 (en) RAID memory system
US8131916B2 (en) Data storage device
US7240235B2 (en) Journaling technique for write transactions to mass storage
US8135902B2 (en) Nonvolatile semiconductor memory drive, information processing apparatus and management method of storage area in nonvolatile semiconductor memory drive
US20040138868A1 (en) Hard disk drive emulator
US9542101B2 (en) System and methods for performing embedded full-stripe write operations to a data volume with data elements distributed across multiple modules
JP2000207137A (en) Information storage device
US8090900B2 (en) Storage device and data management method
US8244975B2 (en) Command queue ordering by flipping active write zones
WO2005081093A1 (en) Dual media storage device
US20110060869A1 (en) Large capacity solid-state storage devices and methods therefor
JP2008176785A (en) Hybrid hard disk drive, computer system incorporating hybrid hard disk drive, and flash memory dma circuit for hybrid hard disk drive
JP2012507100A (en) Logical unit operation
US20160062696A1 (en) Solid-state memory device with plurality of memory devices
US7296117B2 (en) Method and apparatus for aggregating storage devices
DE69930307D1 (en) DATA STORAGE SYSTEM
JP2017531856A (en) Active storage units and arrays
US20160254031A1 (en) Semiconductor memory device
CN115756299A (en) Memory system and method for storing logical-to-physical address table entries in codewords in volatile memory
GB2407405A (en) RAID arrays with solid-state memory devices
US20100325348A1 (en) Device of flash modules array
US20090222615A1 (en) Information Processing Apparatus and Nonvolatile Semiconductor Memory Drive
US20160011810A1 (en) Solid-state memory device with plurality of memory devices