Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
1997-12-19
2003-05-20
Robertson, David L. (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C711S113000
Reexamination Certificate
active
06567889
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of solid state logical units and in particular to a storage controller that includes a virtual solid state disk partitioned from cache memory.
2. Discussion of Related Art
Redundant Arrays of Inexpensive Disks (RAID) systems are disk array storage systems designed to provide large amounts of data storage capacity, data redundancy for reliability, and fast access to stored data. RAID provides data redundancy to recover data from a failed disk drive and thereby improve reliability of the array. Although data in the disk array may be distributed over the plurality of disks in the array, to the user portions of the disk array (logical units or LUNs) are mapped to appear as single disks.
There are several different methods to implement RAID. RAID level
1
protects stored data by duplicating the stored data and storing the original data and duplicated data on separate disks. RAID level
0
provides no enhanced data reliability but does enhance I/O performance by distributing data across multiple data disks in the array. Other implementations of RAID, levels
2
,
3
,
4
,
5
, and
6
distribute data across multiple data disks in the array to improve performance and provide for a block (or multiple blocks) of redundancy information (e.g., parity) that is distributed over the disk drives.
On each disk, data is mapped and stored in predefined blocks generally having fixed size. A predefined number of blocks of data and redundancy information, from each disk of the array, are mapped to define a stripe of data. RAID levels
2
,
3
,
4
,
5
, and
6
do not provide the I/O performance of RAID
0
due to overhead associated with maintenance of the redundancy information (e.g., parity). However, RAID levels
2
-
6
enhance data redundancy in comparison with RAID level
0
.
In RAID level
3
, and
4
, the parity information is stored in a dedicated parity disk. In RAID levels
5
and
6
, the parity information is interleaved across all the disks in the array and is part of the stripe. In RAID levels
3
,
4
,
5
, and
6
parity is computed using the boolean bitwise Exclusive OR (XOR) function, whereas in RAID level
2
, parity is computed using the Hamming Code. In RAID level
6
, there are two independent parity computations and both are interleaved across the disks.
In RAID levels
2
,
3
,
4
,
5
, and
6
I/O performance suffers during write operations to disk due to the need for updating the parity information on the disk array. This performance degradation is often referred to as a write penalty. This write penalty is due to redundancy algorithms (parity computations) that require additional accesses to disk to read and write data. I/O performance is principally measured by the I/O request rate; that is, the time required for executing I/O requests. The time required to execute the read or write operation is defined at a minimum by the time required by disk heads to reach the starting point of data on the disk. Time required to access disk drives in a storage subsystem is therefore the predominant factor in degrading I/O performance.
To improve I/O performance, current RAID controllers include cache memory subsystems attached to the controller to provide efficient I/O operations. Write operations in particular are completed more quickly by storing the host supplied data in cache memory, allowing the host system to carry on, and later posting the data to the disk drives (e.g., write-back caching). The access time to cache is very fast as compared to typical disk drives. The controller later transfers the data from cache to the disk drive for permanent storage. This use of cache defers imposition of the write penalty caused by the redundancy algorithms of RAID levels
2
,
3
,
4
,
5
, and
6
but does not eliminate the write penalty.
Other known techniques to reduce the impact of the write penalty use log areas to record information, such as new data, new parity, old data, and/or old parity for later processing in parity computations or for later storing to disk. Use of the log space helps assure reliable data storage (recoverable in case of a failure) until the information can be permanently stored on disk in accordance with the selected RAID management technique. Though new and old data is temporarily saved in a log space, RAID systems using such logging techniques still require writing parity information to disk to permanently store this information and ensure data can be reconstructed in case of a disk failure. Logging techniques, like caching methods, therefore serve to defer the imposition of the write penalty rather than eliminate it because an access to disk is required to write the parity permanently to disk.
These caching and logging methods improve overall performance but do not completely mitigate the I/O performance degradation (parity write penalty) during RAID operations. RAID levels
2
,
3
,
4
,
5
, and
6
implemented with present technology, require parity information (or similar redundancy information) and eventually must be updated on the disk array to ensure data reliability. Cache operations or logging operations, as noted above, serve only to delay the inevitable imposition of the RAID write penalty, that is writing parity information to disk.
It is also known to couple RAID controllers to use one or more physical solid state disk devices in place of standard rotating media disk devices. Solid state disk drives use fast RAM memory in place of rotating disk magnetic media and associated moving read/write heads. The purpose of the solid state disk device is to emulate a standard rotating disk drive and thereby improve I/O performance by storing data and/or parity in the higher speed solid state device. Though such devices can dramatically reduce the RAID write penalty, they are stand-alone devices external to the RAID controller. These external solid state disk drives add significant cost to a subsystem due to packaging and interconnection complexity of an external device. Further, external solid state disks are connected to the RAID controller via SCSI or other well known peripheral interconnect protocols and media. Such interconnection interfaces impose a secondary performance limitation as compared to cache memory techniques discussed above. Still further costs are added to a subsystem if spare solid state disks are used in the system to provide hot-swap spares for replacement of a failed solid state disk.
It can be seen from the above discussion that a need exists to improve RAID subsystem performance to reduce RAID write penalties without adding significant cost or complexity to the subsystem.
SUMMARY OF THE INVENTION
The present invention solves the above and other problems, thereby advancing the useful arts, by creating one or more virtual solid state disks within a primary RAID controller cache memory. In a first embodiment, the controller uses one or more virtual solid state disks as a private disk storage by reserving for itself the use of the virtual solid state disks. In a second embodiment, a virtual LUN is configured as one or more of the virtual solid state disks operating in conjunction with other physical disks in the disk array. In a third embodiment, a virtual logical unit, that is, a virtual LUN is configured as a one or more virtual solid state disks. According to the present invention, a redundant controller present in the disk array subsystem automatically mirrors the contents of the virtual disk defined within the cache memories. Mirroring of cache between the primary and redundant controllers is an aspect of normal cache operations in some such redundant pairs of controllers.
Specifically, the present invention defines one or more virtual solid state disks within a section of the cache memory of the primary storage controller. In the first embodiment of the present invention, the controller utilizes the virtual solid state disk as a private disk storage unit to store for example, disk array configuration information or information regarding b
DeKoning Rodney A.
Fredin Gerald J.
Humlicek Donald R.
Lathrop & Gage L.C.
LSI Logic Corporation
Robertson David L.
LandOfFree
Apparatus and method to provide virtual solid state disk in... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Apparatus and method to provide virtual solid state disk in..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method to provide virtual solid state disk in... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3065977