Browse Prior Art Database

Parity Buffer used as Data Cache for Raid System

IP.com Disclosure Number: IPCOM000116090D
Original Publication Date: 1995-Aug-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 86K

Publishing Venue

IBM

Related People

Munetoh, S: AUTHOR [+4]

Abstract

Disclosed is a parity cache for speeding up the write operation in the RAID 4 and RAID 5 systems, which use parity to improve their reliability of the stored data. The parity cache keeps a record of the parity calculated in the write operation and speeds up the next write operation by reusing the parity and eliminating the access to a Hard Disk Drive (HDD).

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

Parity Buffer used as Data Cache for Raid System

      Disclosed is a parity cache for speeding up the write operation
in the RAID 4 and RAID 5 systems, which use parity to improve their
reliability of the stored data.  The parity cache keeps a record of
the parity calculated in the write operation and speeds up the next
write operation by reusing the parity and eliminating the access to a
Hard Disk Drive (HDD).

      Fig. 1 shows an example of a RAID system using this invention.
This RAID system consists of a Bus IF with the host system's I/O bus,
as well as an MCU, a ROM, a RAM, a DMAC, a parity cache, a Parity
Generator (PGEN), and HDDs.  The parity cache consists of a parity
buffer and parity tags.   The parity buffer saves parity, while the
parity tags record the properties of the parity saved in the parity
buffer.  The parity cache is controlled by the MCU or special
hardware.

      The parity buffer is divided into lines, whose length is the
same as the block length.  The block is the unit of data or parity
distribution in the RAID 4 and RAID 5 systems.  A parity tag is made
to correspond to each line.  Fig. 2 shows the structure of a set of
parity tags.  Each parity tag consists of fields labeled valid flag,
dirty flag, row, and AccessNo.  Valid flag shows whether the content
of the tag is valid.  Dirty flag shows whether the content of the
corresponding line is the same as the  parity on the HDD or is
updated only in the line.  Row shows the row of the parity cached in
the corresponding line.  The parity is cached and managed within the
length of the parity buffer.  When the parity should be managed in a
smaller unit, some flag is needed to validate the parity line
partially.  AccessNo shows the number of accesses used for the LRU
cache management method.  This invention is applicable to both
write-through cache and write-back cache.  For write-through cache,
dirty flag is not used.

      The parity tags, parity lines, and HDDs ar...