Browse Prior Art Database

Redundant Array of Independent Disks 5 Parity Cache Strategies

IP.com Disclosure Number: IPCOM000114356D
Original Publication Date: 1994-Dec-01
Included in the Prior Art Database: 2005-Mar-28
Document File: 4 page(s) / 97K

Publishing Venue

IBM

Related People

Larson, JA: AUTHOR

Abstract

Described are three redundant array of independent disks (RAID) 5 parity cache strategies: write-through, volatile write-back, and nonvolatile write-back. o Let N represent the number of disks in the array. o A parity group is comprised of the data and parity (necessary to rebuild the data) stored on the disks. o A parity group's data is stored in data bands; there are N-1 data bands on N-1 disks in a parity group. o A parity group's parity is stored in a single parity band; the disk in a parity group that does not store data stores the parity band. o A band spans 1 or more logical blocks on a disk; this is the parity width of the RAID 5 configuration.

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

Redundant Array of Independent Disks 5 Parity Cache Strategies

      Described are three redundant array of independent disks (RAID)
5 parity cache strategies:  write-through, volatile write-back, and
nonvolatile write-back.
  o  Let N represent the number of disks in the array.
  o  A parity group is comprised of the data and parity (necessary to
      rebuild the data) stored on the disks.
  o  A parity group's data is stored in data bands; there are N-1
data
      bands on N-1 disks in a parity group.
  o  A parity group's parity is stored in a single parity band; the
      disk in a parity group that does not store data stores the
parity
      band.
  o  A band spans 1 or more logical blocks on a disk; this is the
      parity width of the RAID 5 configuration.  In traditional RAID
5
      striping, the parity group is a logical cross section of the
      disks, so that the first logical block address of these bands
is
      the same on each disk.

      With a parity cache, parity is initially read from the disk,
updated, and placed in the cache.  Whether it is immediately written
back out to disk or not depends on the particular strategy (this is
addressed later).  In any case, the new parity is retained in the
RAID 5 controller and is allowed to "age", in hopes that it will be
updated again.  If it is, the parity is updated in the cache, and
disk ops are eliminated.

      To help ensure this happens frequently, the entire parity band
of a parity group (or a predefined fraction of the parity band, in
case of a large parity width) is read into the parity cache whenever
a parity group is initially updated.  While this parity resides in
the cache, it may be updated by any of the following:
  o  the same logical block in a data band is rewritten to disk.
  o  different logical blocks in the same data band are written to
      disk.
  o  logical blocks in another data band within the same parity group
      are written to disk.

      When the parity cache is full and new parity is to be cached, a
replacement policy is required.  This is generally a Least Recently
Used (LRU) policy, but may vary according to the parity caching
scheme.

      With a write-through parity cache, parity is initially read
from the disk, updated and immediately written back out to disk.  The
new parity is retained in the RAID 5 controller and is allowed to
age, in hopes that it will be updated again.  If it is, the parity is
updated in the cache and again written immediately out to disk.  A
read operation o...