Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Raid with NVRAM for Parity and/or Data

IP.com Disclosure Number: IPCOM000115809D
Original Publication Date: 1995-Jun-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 132K

Publishing Venue

IBM

Related People

McIlvain, J: AUTHOR [+2]

Abstract

In a disk array, writes are slow, since they require four disk accesses, two to read and write old data, two to read and write old parity. Disclosed is a technique in which the parity disk is replaced with NVRAM. An update now requires only two disk accesses, the other two accesses are to NVRAM, which is fast.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 46% of the total text.

Raid with NVRAM for Parity and/or Data

      In a disk array, writes are slow, since they require four disk
accesses, two to read and write old data, two to read and write old
parity.  Disclosed is a technique in which the parity disk is
replaced with NVRAM.  An update now requires only two disk accesses,
the other two accesses are to NVRAM, which is fast.

      An N+1 (RAID-4) disk array operates as follows.  N disk drives
(disks for short) store user data.  One disk stores parity.  The
parity is computed as follows.  The ith block on the parity disk is
the exclusive-OR (XOR) of the ith blocks on the N data disks.  Block
i on disks 1 through N and block i on the parity disk constitute a
parity group.  When a block in a parity group is updated, the
corresponding parity block must also be updated to make it
consistent.  It is well known, that the new value of the parity block
is computed as (old value of data block) XOR (new value of data
block) XOR (old value of parity block).  This requires two disk
accesses to the data disk (read old data, write new data) and two
disk accesses to the parity disk (read old parity, write new parity).

      The proposed parity disk would be replaced with Non-Volatile
memory, such as battery-backed RAM or flash memory.  Reports have
shown that flash memory costs may drop rapidly due to pervasive use
on notebook computers.  The size of the NVRAM is equal to the size of
a disk.  When a block of data is updated, it is necessary to read and
write data on the data disk.  However, the read and write of parity
can now be done at electronic rather than disk speeds.  Hence, the
overall performance of disk writing is improved, since only 2 disk
accesses are needed, instead of the 4 needed previously.  This is a
RAID-4 disk array built with NVRAM parity.

      The NVRAM parity array we are proposing has twice the write
throughput of a comparable traditional RAID-4 or RAID-5 array.  This
fact can be used to ameliorate the cost of NVRAM over a larger number
of disks.  For example, instead of 12 arrays, each 8+P, a single 96+P
array could be built where the parity was stored in NVRAM.  If NVRAM
is 12 times as expensive as disk, the second system is no more
expensive than the first.  However, it has superior write
performance.  Of course, a 96+P array does have the disadvantage that
its performance when a disk is failed is not as good as that of the
system of 8+P arrays.  However, since disks fail infrequently, the
concern is more with improving normal performance even at the expense
of slower failure performance.

      A RAID-5 with NVRAM may also be built as follows.  Assume N
disks and 1 NVRAM whose storage capacity is the same as that of a
disk.  Distribute the data and parity between the N+1 storage devices
(N disks and 1 NVRAM) as in a traditional RAID-5.  Now, the
performance of all reads to data stored in NVRAM is improved since
they require no disk accesses.  Also im...