JPH0820964B2 - メモリ制御装置および方法 - Google Patents

メモリ制御装置および方法

Info

Publication number
JPH0820964B2
JPH0820964B2 JP4187950A JP18795092A JPH0820964B2 JP H0820964 B2 JPH0820964 B2 JP H0820964B2 JP 4187950 A JP4187950 A JP 4187950A JP 18795092 A JP18795092 A JP 18795092A JP H0820964 B2 JPH0820964 B2 JP H0820964B2
Authority
JP
Japan
Prior art keywords
parity
memory
data
string
generator
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.)
Expired - Fee Related
Application number
JP4187950A
Other languages
English (en)
Other versions
JPH05241870A (ja
Inventor
ジェームス・トーマス・ブラディ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05241870A publication Critical patent/JPH05241870A/ja
Publication of JPH0820964B2 publication Critical patent/JPH0820964B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はディスク・ファイルなど
の冗長記憶装置の配列におけるパリティの生成方法及び
手段に関し、特に(1)配列の少なくとも、いくつかの
記憶装置に対する専用パリティ発生器とのデータの転送
を最小化することにより、データ転送及びバスの帯域幅
が縮小され、(2)パリティ発生はデータ転送と散在
し、(3)パリティ発生器と関連する異なるメモリ或い
はメモリ部分の間で、個別の計算が割り当てられ、且つ
/或いは共用される、メモリ制御装置を含む手段に関す
る。
【0002】
【従来の技術】本明細書及び特許請求の範囲で使用され
るように、"パリティ"は冗長記憶配列のために生成され
るパリティを意味し、排他的論理和(XOR)及び他の
コード(例えば"b隣接リード・ソロモン・コード" (b
-adjacent Reed-Solomon)を含む。これらのコードはデ
ータ・ブロック単位で変更される唯一のデータ・ビット
及び部分パリティ・ビットを必要とし、パリティ生成コ
ードはデータ・ブロック内のビット単位で行われる連想
可換計算を使用する。誤り訂正コード(ECC)はメモ
リにおける誤り検出及び/或いは訂正において、従来の
パリティ及びECC技術を使用することを意味する。"
記憶装置"はディスク・ファイル、テープ・ドライブ、
光ディスク、及びキャッシュ・メモリを含むが、これに
限るものではない。"データ・ソース"はチャネル・イン
タフェース、メモリ、記憶装置、バス上のマイクロプロ
セッサ、バス間ブリッジ、或いはデータをバスに供給す
るその他の装置を意味する。
【0003】冗長ディスク配列の実現可能性が、Patter
son等による"A case for redundantarrays of inexpens
ive disks"、Report No.UCB/CSD 87/391、ComputerScie
nce Division、University of California/Berkeley、D
ecember 1987で述べられている。
【0004】小型ディスクの出現及び種々の設計の改善
により、(ディスク配列などの)外部記憶装置の配列に
おいて、"パリティ"装置の使用が可能となった。パリテ
ィ装置の使用を可能とするための要点は、性能への影響
及びパリティ計算に必要なリソースを最小化することで
ある。パリティは通常、配列制御装置の主データ・バス
に接続される特殊な専用パリティ発生器において計算さ
れる。バス制御、及びパリティ発生器を制御するための
論理に加え、バス上には複数のデータ・パスが必要とな
る。例えば、高性能パラレル・インタフェース(HPP
I)入出力バスの定格帯域幅を支援するような高データ
転送率の配列では、HPPIインタフェースは200M
B/秒を扱うことができる。しかしながら、最悪の状態
(すなわち通常の書込みが読出しと結合され、ある装置
が使用状態でない場合)では、配列が従来のパリティ発
生器を使用する場合には800MB/秒の帯域幅が必要
となり、パリティ発生器を使用しない場合は400MB
/秒の帯域幅が必要となる。
【0005】米国特許第3876978号はテープ・ド
ライブ配列を構成するシステム、及びこれらのテープ・
ドライブの内に専用の1台を設けることにより、残りの
テープ・ドライブにおけるデータの破局的損失を阻止す
るための手段について開示している。従来技術によれ
ば、専用のテープ・ドライブは他のテープ・ドライブの
ビットのXORの合計を、各々のビット位置にチェック
・ビットとして記憶する。更に詳しくは、テープから読
み出された情報はバッファに送られ、双方向XORに供
給されてバッファされ、その後テープ上に書き戻され
る。しかしながら、このシステムは単にパリティを読出
して書き込む(計算する)に過ぎず、データを読出して
書き込むことは行わない。また、複数のテープ・ドライ
ブのためにパリティを生成するだけの専用のリソースを
必要とする。更に、この構成は多数のデータ転送及び決
められたパリティ計算シーケンスを必要とする。
【0006】米国特許第3976982号はグラフィッ
ク・イメージを処理する装置を開示しており、そこでは
計算メモリ内のあるロケーションに記憶される基本イメ
ージを読み出し、前記イメージを別のラスタ・ソースか
ら読み出されるシーケンスと組み合わせて排他的論理和
を取り、次にこの組み合わされたイメージを前記メモリ
内の同じロケーションに書き込む。しかしながら、パリ
ティ生成のための新たな方法を創案するための、このア
プローチに対する変更及び使用方法については教示或い
は提案されていない。
【0007】
【発明が解決しようとする課題】従って、ディスク配列
などの外部記憶装置に対するパリティ計算及び生成に関
する改善された方法及び手段が必要とされる。そうした
方法及び手段においては、(1)配列制御装置バスの帯
域幅及び必要なデータ転送数を縮小し、(2)任意の順
序によるパリティ・ブロックの転送を可能とし、他のパ
リティ計算を前記転送と共に散在させ、(3)メモリ内
の各記憶領域をデータ或いはパリティのために使用可能
とし、それによりシステム設計を簡素化し、(4)メモ
リの通常のオペレーションの制御に加え、パリティを書
き込むための特有の "パリティ書込み信号"に応答す
る。
【0008】
【課題を解決するための手段】本発明によれば、読出し
パス(31)を介して相互接続手段(24)に接続され
るメモリ間で転送される複数のデータ・ストリングにお
いて、パリティ・エンコーディングが達成される。前記
相互接続手段は対応する複数の記憶装置に接続されて動
作する。記憶装置のためのパリティはパリティ発生器
(34)により計算され、前記パリティ発生器は書込み
バッファ手段(35)を書込みパス(30)を介してメ
モリに接続する。相互接続手段からの制御信号(38)
に応答する回路(36、37)は、メモリからの現行部
分パリティを表すデータを、読出しパスを介してパリテ
ィ発生器に伝達する。現行部分パリティは論理的に且つ
繰り返し書込みバッファ手段からのデータと組み合わさ
れ、部分パリティ計算を更新する。これは全ての部分パ
リティ計算が完了し、最終パリティ計算が完了するまで
繰り返される。
【0009】この技術はデータ転送数及びストリングに
渡ってパリティ計算を実行するために必要な帯域幅を縮
小する。データ・ストリング或いは部分は、前記バッフ
ァ手段に提供される任意の順序により論理的に組み合わ
される。パリティ・エンコーディングのために、連想型
の可換なコードが使用される。
【0010】誤り検出及び訂正は、好適にはメモリ内の
データに対して提供され、これは書込みパスとメモリの
間にECC発生器(32)を配置し、また読出しパスと
制御信号に応答する制御装置の間にECCチェック/訂
正ユニット(33)を配置することにより達成される。
【0011】
【実施例】図1に表される冗長ディスク配列は従来より
提案され、またUC Berkeley^sRAID II 設計として知ら
れる配列に相当する。この配列はチャネル・インタフェ
ース10、パリティ発生器11、及びメモリ12から構
成され、それぞれはデータ・バス13に接続される。メ
モリ12はメモリ制御装置14及びメモリ配列15とで
構成される。
【0012】ここでnブロックのデータがチャネル・イ
ンタフェース10を介してバス13に転送され、ポート
aを介してシリアルにメモリ12に記憶される。バス1
3を介してポートcに入力される制御信号に応答して、
nブロックのデータはメモリ12からポートa、バス1
3及びポートdを介して、シリアルに発生器11に送ら
れる。発生器11はnブロックの排他的論理和を取るこ
とにより、パリティを計算する。次に、バス13を介し
てポートfに入力される制御信号に応答し、発生器11
は計算されたパリティをポートe及びbを介してメモリ
12に返送する。メモリ12からパリティはSCSI
(Small Computer System Interface) 制御装置16を
介して、複数のディスク・ファイル17の内の適切な1
つ17^ に転送される。
【0013】このパリティ生成技術は、制御装置のデー
タ・バス13に沿って、2n+2回の転送を必要とす
る。
【0014】図2を参照すると、本発明を実施した冗長
ディスク配列が示されており、チャネル・インタフェー
ス20及び複数の同一のメモリ21により構成される。
メモリ21には21a、21bなどが含まれる。各メモ
リ21はメモリ配列23(これはメモリ配列12と同一
である)と、本発明の特徴によれば、パリティ発生器を
含むメモリ制御装置22により構成される。
【0015】ここで冗長ディスク配列がn+1個のディ
スク・ファイル25を含むものとし、n個の異なるディ
スク・ファイル上にn個のデータ・ブロックを書き込
み、パリティを計算し、前記nブロックに対して計算さ
れたパリティをn+1番目のディスク・ファイル上に書
き込むものとする。本明細書において開示されるよう
に、nデータ・ブロックは各々k*m ビット幅を有し、
チャネル・インタフェース20を介して相互接続手段
(本実施例ではデータ・バス24として表される)に供
給され、mビットのバーストとして各メモリ21の入力
ポートgにシリアルに直接転送される。メモリ21の1
つ(本実施例では21aと仮定する)がこの特定のデー
タ転送におけるパリティを計算するために予め選択され
ており、従って指定されたメモリ21aはバス24から
ポートiを介して入力される制御信号に応答し、パリテ
ィ計算のために割り当てられたメモリ配列23の部分或
いはロケーションPの内容に対する排他的論理和を演算
する。この割り当てられたロケーションPは排他的論理
和を生じさせるために予めゼロに初期化されるか、或い
は最初に到来するブロックが従来通りに記憶され、事前
の初期化の必要性を排除する。チャネル・インタフェー
ス20を介してデータ・ブロックが到来し続けると、こ
れらは前記割り当てられたロケーションPにおいて、1
つ1つ排他的論理和が計算されて部分パリティが生成さ
れる。最後のnブロックが転送される時、パリティはメ
モリ21aにおいて即座に使用可能となり、メモリ配列
23に書き込まれ、ディスク制御装置26を介して適切
なディスク・ファイル25^ に書き込まれる。
【0016】一方、nデータ・ブロックはポートiを介
して入力される通常の記憶を指定する制御信号に応じ
て、メモリ21bの配列23のロケーションDに記憶さ
れる。メモリ21aにおいてパリティが計算されると、
パリティはバス24からポートiを介して供給される制
御信号に応じ、ポートhを介してバス上に送られ、ディ
スク制御装置26にゲート出力される。制御装置26は
次にパリティを適切なディスク25^ に送信する。
【0017】図3は本発明を実施するための各メモリ2
1の構成を更に詳しく表したものである。図では説明の
簡略化及び本発明の変化を表すために、パリティ・ロケ
ーションP及びデータ・ロケーションDは同じメモリ2
1に存在するものとする(但し実際には、また前述の説
明によれば、この仮定は必要条件ではない)。
【0018】本発明によれば、メモリ制御装置22は、
好適にはECC発生器32、ECCチェック及び訂正ユ
ニット33を含み、何れの場合にもディスク・パリティ
発生器34、書込みバッファ35、制御装置36、及び
スイッチ37を含む。書込みパス30はECC発生器3
2をメモリ配列23に接続し、読出しパス31はメモリ
配列をECCチェック/訂正ユニット33に接続する。
【0019】動作的には、通常の書込みモードにおいて
データをメモリに書き込むために、制御信号がデータ・
バス24からライン38を介して制御装置36に転送さ
れる。この制御信号により、制御装置36はライン39
を介して、ディスク・パリティ発生器34をパス・スル
ー・モードにセットし、またライン47を介してECC
発生器32を制御する。これによりデータはデータ・バ
ス24からライン42を介し、書込みバッファ35、デ
ィスク・パリティ発生器34、ECC発生器32、及び
書込みパス30を経由し、メモリ21のメモリ配列23
内のロケーションDに転送される。ロケーションDはラ
イン44を介し、制御装置36により予め選択される。
こうしてデータが転送されると、制御装置36は自身を
待機状態とし、次の命令を待機する。
【0020】通常の読出しモードによりデータを読み出
すために、バス24からライン38を介して入力される
制御信号は、制御装置36を制御して、ライン44を介
しメモリ21のメモリ配列23内のアクセスされるべき
ロケーションDを選択させる。ライン38からの制御信
号はまた、装置36を制御して、ライン48を介してE
CCチェック/訂正ユニット33を制御させ、ライン4
0をライン41と接続するようにスイッチ37を活動化
する。その結果、読出しデータは、メモリ配列23のロ
ケーションDから読出しパス31を介して、ECCチェ
ック/訂正ユニット33にゲートされる。ユニット33
はECCパリティが正しいかどうかを確認し、正しくな
い場合は、従来通りにデータの訂正を開始する。この機
能については本発明に関係しないのでここでは述べな
い。データが正しいと仮定すると、次にロケーションD
からスイッチ37(装置36により制御される)を介し
て、ライン40からライン41に転送される。
【0021】本発明によれば、メモリ制御装置21は"
書込みパリティ"モードを有し、このモードにおいてメ
モリ配列23の全ての或いは指定部分がパリティ計算の
ために使用され、従来必要とされた指定されたパリティ
計算ユニットとのデータ転送の必要性を除去する。この
モードでは、データはロケーションDからメモリ配列2
3内の割り当てられたメモリ・アドレス或いはロケーシ
ョンPに書き込まれ、論理的に前記メモリ・ロケーショ
ンの現存する内容と組み合わされて、パリティ計算を更
新する。この組み合わせステップは、最後のパリティ計
算が生成されるまで繰り返される。
【0022】図3の実施例では、ロケーションD及びP
が同一のメモリ配列23内に存在し、2セットの制御信
号が順次、ライン38を介して制御装置36に転送され
る。一方のセットの制御信号は、パリティ計算が更新さ
れて、XOR書込みオペレーションが実行されるロケー
ションPを識別する。他方のセットの制御信号は、デー
タが書込みバッファ35に読み出されるロケーションD
を識別する。
【0023】更に、スイッチ37は一方のセットの信号
により、ライン40をライン43に接続するように制御
され、また他方のセットの信号によりライン40をライ
ン45に接続するように制御される。ライン40、43
が接続されると、ロケーションPの内容がユニット33
を介して書込みバッファ35にゲートされる。ライン4
0、45が接続されると、ロケーションDの内容がユニ
ット33を介して書込みバッファ35にゲートされる。
ロケーションP及びDから書込みバッファ35に書き込
まれるデータは同期される。ロケーションPからのn番
目のバイトが、ロケーションDからのデータと共に整列
すると、同期したmビットのデータ・ワードが書込みバ
ッファ35から2つのパス上を、ディスク・パリティ発
生器34に向けて並列に転送される。発生器34はライ
ン39を介して制御装置36により制御され、2つのm
ビット・データ・ワードをビット単位で排他的論理和
し、次に排他的論理和されたmビットのデータ・ワード
をECC発生器32に転送する。ECC発生器32はラ
イン47を介して、メモリ配列23のECCパリティを
計算するように制御される。パリティが計算されると、
データ及びメモリ配列パリティが、書込みパス30を介
してメモリ配列23に転送され、そこのロケーションP
に記憶される。この処理は、メモリ配列23内のロケー
ションD及びPからの必要な数のワードが共に排他的論
理和され、1ブロックに対する部分パリティが計算され
るまで繰り返される。次にこの処理は続くブロックに対
しても繰り返され、最終パリティ計算が完了するまで、
ロケーションPに記憶されるパリティ計算を更新する。
メモリ21は各部分パリティ計算の後に、待機状態を再
開し、次の命令を待機する。
【0024】ここでECC発生器32及びECCチェッ
ク/訂正ユニット33は、好適には対応するメモリ21
内にビットのドロップアウトが存在する場合に、関連す
るメモリ配列23内のデータの誤り検出及び訂正を提供
するために設けられる。しかしながら、本発明はECC
発生器32及びECCチェック/訂正ユニット33が除
去された場合にも実施できる。このような場合には、デ
ィスク・パリティ発生器34が書込みパス30に直結さ
れ、読出しパス31はライン40に直結される。また、
ライン47及び48は除去される。従って、特許請求の
範囲を解釈する際に、出願人は発生器32及びユニット
33を含む構成に限定することを望むものではない。
【0025】パリティ計算はチップ上、カード上、或い
はカード外のメモリ配列23において実施される。しか
しながら、論理がチップに近接すればする程、帯域幅の
コストを低減させる機会が増える。
【0026】本発明によれば、従来技術による専用のパ
リティ・ユニットが取り除かれ、メモリ制御装置22内
の少量の論理により置換されることにより、データ転送
数、従ってデータ・バスの帯域幅或いは他の相互接続手
段が最小化できる。また、従来の専用パリティ・ユニッ
トを制御するために別途必要であったマイクロコードが
不要となり、前記専用パリティ・ユニットにおいて必要
であったバッファによるコストの増加を低減させること
ができる。メモリ配列23における各記憶ブロック或い
は領域は、データまたはパリティを記憶するためのバッ
ファもしくはキャッシュ・メモリとして使用される。ま
た、データ・ソースからのデータは、何れかの記憶ブロ
ックに記憶されるか、或いは排他的論理和されるため
に、設計の柔軟性が増進される。パリティ生成期間中の
データ・ブロックの転送は任意の順序で実施され、転送
は他のパリティ計算と共に散在される。結局、同報通信
バスにおいて実施される場合、本発明はデータ及びパリ
ティ情報の両者の記憶を単一のバス転送により可能とす
る。更に、本出願人によるパリティ生成技術は、制御装
置バス24に沿って、n+1回の転送で足りる。
【0027】また、あるメモリ制御装置が単数或いは複
数の外部記憶装置に対する全てのパリティ及びECC計
算を制御することができる。或いは、パリティ及びEC
C計算が共用されるか、複数のメモリ制御装置間で割り
当てられ、各制御装置はトータル・パリティ或いはEC
Cの部分を計算する。
【0028】最後に、データ・ロケーション例えばD、
及びパリティ・ロケーションPは異なるメモリ制御装置
(すなわち図2で表される21a及び21b)のメモリ
配列23内に存在してもよく、またロケーションD及び
Pが同じメモリ配列23内に存在してもよい(図3参
照)。ロケーションD及びPが同じメモリ配列に存在す
る場合、データはロケーションDからディスク・パリテ
ィ発生器34に、データ・バス24を介する転送を必要
とせずに転送される。ダイオード46はライン45をデ
ータ・バスから分離するためにライン42に挿入され、
データが同一メモリ配列内のロケーションDから供給さ
れるか、或いはロケーションDが異なるメモリ配列内に
存在する場合には、データ・バスを介して供給されるこ
とを可能とする。
【0029】
【発明の効果】以上説明したように、本発明によれば、
冗長記憶配列における専用のパリティ・ユニットを不要
とすることによりコスト低減を実現し、配列制御装置バ
スの帯域幅及び必要なデータ転送数を最小化し、更に任
意の順序によるパリティ・ブロックの転送を可能とす
る。
【図面の簡単な説明】
【図1】従来技術による専用のパリティ発生器を有する
冗長ディスク配列を表す図である。
【図2】本発明によるメモリ制御装置を含む冗長ディス
ク配列を表す図である。
【図3】図2で表されるメモリ制御装置の詳細図であ
る。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−65547(JP,A) 特開 昭60−118956(JP,A) 特開 昭64−108655(JP,A)

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】メモリ手段(21或いは21a、21b)
    間で転送される複数のデータ・ストリングにおけるパリ
    ティ符号化を実行するメモリ制御装置(22)であっ
    て、前記メモリ手段は読出しパス(31)を介し相互接
    続手段(24)に接続され、前記相互接続手段は複数の
    記憶装置(例えば25)に接続され、前記メモリ制御装
    置は、 書込みバッファ手段(35)と、 連続したデータ・ストリングを前記書込みバッファ手段
    から受け取ったときに累積されたパリティ・ストリング
    を計算するための、パリティ発生器(34)とを有し、 前記書込みバッファ手段は前記パリティ発生器に接続さ
    れ、前記メモリ手段に記憶するために前記相互接続手段
    から前記データ・ストリングを受取るための第1の入力
    (42)と、現在の累積されたパリティ・ストリングを
    表す前記メモリ手段からデータを受取る第2の入力(4
    3)とを有し、 前記メモリ制御装置は、さらに、 前記書き込みバッファに接続されたスイッチ手段(3
    7)と、 前記スイッチ手段、パリティ発生器、及び相互接続手段
    に接続され、前記相互接続手段からの制御信号(38)
    に応答して、所定のバイト数が前記書き込み手段の前記
    第2の入力に転送され、かつ1つの前記データ・ストリ
    ングからの前記所定のバイト数が前記相互接続手段を介
    して前記書き込みバッファ手段の第1の入力に転送され
    るまで、前記スイッチ手段が前記累積されたパリティ・
    ストリングを前記書き込みバッファ手段の第2の入力に
    転送するように制御し、その後、前記所定のバイト数を
    前記書き込みバッファ手段から前記パリティ発生器に転
    送し、書込みパス(30)を介して新たな現在の累積パ
    リティ・ストリングを前記メモリ手段に供給するため
    に、前記パリティ発生器に論理的かつ再帰的に前記転送
    されたバイトを結合させるよう制御する、制御装置(3
    6)と、 を有する、メモリ制御装置。
  2. 【請求項2】前記書込みパスと前記パリティ発生器の間
    に配置されるECC発生器(32)と、 前記読出しパスと前記制御装置との間に配置されるEC
    Cチェック/訂正ユニット(33)とを備え、前記EC
    C発生器及びチェック/訂正ユニットは前記メモリ手段
    におけるデータの誤り検出及び訂正を提供することを特
    徴とする、請求項1記載のメモリ制御装置。
  3. 【請求項3】前記書込みバッファ手段は、前記相互接続
    手段をバイパスして、前記スイッチ手段を介して前記メ
    モリ手段からデータ・ストリングを受取るための第3の
    入力(45)を有することを特徴とする、請求項1記載
    のメモリ制御装置。
  4. 【請求項4】前記メモリ手段が複数のメモリ・アレイを
    含み、前記第1及び第2の入力が異なるメモリ・アレイ
    からの入力であることを特徴とする、請求項1記載のメ
    モリ制御装置。
  5. 【請求項5】メモリ間で転送される複数のデータ・スト
    リングにおけるパリティ符号化を実行する方法であっ
    て、前記メモリは読出しパスを介して相互接続手段に接
    続され、前記相互接続手段は複数の記憶装置に接続さ
    れ、前記方法は、 パリティ発生器により前記記憶装置に対応するパリティ
    を計算し、前記パリティ発生器は書込みバッファ手段を
    書込みパスを介して前記メモリに接続させ、 前記相互接続手段からの制御信号に応答して、現在の累
    積されたパリティ・ストリングを表すデータを前記メモ
    リから前記読出しパスを介し前記パリティ発生器に転送
    し、 現在の累積されたパリティ・ストリングを書込みバッフ
    ァ手段からのデータ・ストリングと論理的かつ再帰的に
    結合させ、現在の累積されたパリティ・ストリングを更
    新する、ステップを含むことを特徴とする方法。
  6. 【請求項6】前記結合させるステップが、全ての累積さ
    れたパリティ・ストリングが更新され、最終パリティを
    提供するまで再帰的に繰り返されることを特徴とする、
    請求項5記載の方法。
  7. 【請求項7】前記書込みパスと前記メモリの間にECC
    発生器を配置し、前記読出しパスと制御信号に応答する
    制御装置の間にECCチェック/訂正ユニットを配置す
    ることにより、前記メモリ内のデータの誤り検出及び訂
    正を提供するステップを含むことを特徴とする、請求項
    5記載の方法。
  8. 【請求項8】メモリと複数の外部記憶装置間の複数のデ
    ータ・パス上を通信される複数のデータ・ストリングに
    おけるパリティ計算を実行する方法であって、 現在の累積されたパリティ・ストリングを表す内容のメ
    モリに記憶されたデータ・ストリングと、データ源から
    転送されかつ新たな現在の累積されたパリティ・ストリ
    ングを提供するために累積パリティ発生器に書き込まれ
    たデータを構成する内容の、別のデータ・ストリングと
    を、再帰的かつ論理的に結合させ、 前記新たな現在の累積されたパリティ・ストリングを前
    記メモリに書き戻し、それによってストリングに渡るパ
    リティ計算を実行するために必要なデータ転送数及び帯
    域幅を縮小するステップを含むことを特徴とする方法。
  9. 【請求項9】前記結合させるステップは更に、データ・
    ストリング若しくは部分を前記バッファ手段に与えられ
    る任意の順序により論理的に結合するステップを含むこ
    とを特徴とする、請求項8記載の方法。
  10. 【請求項10】メモリ間で転送される複数のデータ・ス
    トリングにおけるパリティ符号化を実行する装置であっ
    て、前記メモリは読出しパスを介し相互接続手段に接続
    され、前記相互接続手段は複数の記憶装置に接続され、
    前記装置は、 連続したデータ・ストリングを記憶するための、書込み
    バッファ手段と、 連続したデータ・ストリングを前記書込みバッファ手段
    から受け取ったときに累積されたパリティ・ストリング
    を計算し、書込みパスを介して前記累積されたパリティ
    ・ストリングを前記メモリに渡すための、前記書込みバ
    ッファ手段に接続されたパリティ発生器と、 制御信号に応答する手段(36、37)であって、前記
    メモリからの前記累積されたパリティ・ストリングを読
    出しパスを介し前記パリティ発生器に転送し、前記パリ
    ティ発生器が、前記累積されたパリティ・ストリングを
    更新するために、前記累積されたパリティ・ストリング
    を前記書込みバッファからのデータ・ストリングに論理
    的かつ再帰的に結合させる、前記制御信号に応答する手
    段と、を有する装置。
  11. 【請求項11】前記パリティ発生器と目盛りの間に配置
    されるECC発生器と、 前記メモリと前記制御信号に応答する手段の間に配置さ
    れるECCチェック/訂正ユニット(33)とを備え、
    前記ECC発生器及びチェック/訂正ユニットは前記メ
    モリにおけるデータの誤り検出及び訂正を提供すること
    を特徴とする、請求項10記載の装置。
JP4187950A 1991-09-13 1992-07-15 メモリ制御装置および方法 Expired - Fee Related JPH0820964B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75930891A 1991-09-13 1991-09-13
US759308 1991-09-13

Publications (2)

Publication Number Publication Date
JPH05241870A JPH05241870A (ja) 1993-09-21
JPH0820964B2 true JPH0820964B2 (ja) 1996-03-04

Family

ID=25055173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4187950A Expired - Fee Related JPH0820964B2 (ja) 1991-09-13 1992-07-15 メモリ制御装置および方法

Country Status (2)

Country Link
US (1) US5373512A (ja)
JP (1) JPH0820964B2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154850A (en) * 1993-11-01 2000-11-28 Beaufort River, Inc. Data storage system and method
JPH07134635A (ja) * 1993-11-10 1995-05-23 Nec Eng Ltd ディスクアレイ装置
US5530948A (en) * 1993-12-30 1996-06-25 International Business Machines Corporation System and method for command queuing on raid levels 4 and 5 parity drives
US5522032A (en) * 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
US5771247A (en) * 1994-10-03 1998-06-23 International Business Machines Corporation Low latency error reporting for high performance bus
US5634033A (en) * 1994-12-16 1997-05-27 At&T Global Information Solutions Company Disk array storage system architecture for parity operations simultaneous with other data operations
JP2969251B2 (ja) * 1995-01-26 1999-11-02 日本アイ・ビー・エム株式会社 データ記憶システム及びデータ記憶システムのパリティ発生方法
US5640506A (en) * 1995-02-15 1997-06-17 Mti Technology Corporation Integrity protection for parity calculation for raid parity cache
EP0832456A1 (en) * 1995-05-22 1998-04-01 MTI Technology Corporation Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
US5737744A (en) * 1995-10-13 1998-04-07 Compaq Computer Corporation Disk array controller for performing exclusive or operations
US5862158A (en) * 1995-11-08 1999-01-19 International Business Machines Corporation Efficient method for providing fault tolerance against double device failures in multiple device systems
US5974530A (en) * 1996-03-15 1999-10-26 Adaptec, Inc. Integrated PCI buffer controller and XOR function circuit
US5881250A (en) * 1996-03-15 1999-03-09 Adaptec, Inc. Host adapter system including an integrated PCI buffer controller and XOR function circuit
US5867732A (en) * 1996-03-15 1999-02-02 Adaptec, Inc. Hardware method for verifying that an area of memory has only zero values
US5991861A (en) * 1996-03-15 1999-11-23 Adaptec, Inc. Method of enabling and disabling a data function in an integrated circuit
US5883909A (en) * 1996-11-06 1999-03-16 Lsi Logic Corporation Method and apparatus for reducing data transfers across a memory bus of a disk array controller
US6154788A (en) * 1997-04-25 2000-11-28 Simple Technology, Inc. Multi-function module incorporating flash memory having additional controller adapted to configure the data from the memory that is to be provided to the external source
US6151641A (en) * 1997-09-30 2000-11-21 Lsi Logic Corporation DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments
AU5522898A (en) * 1997-12-10 1999-06-28 Symbios Logic Inc. Computer bus data transfer reduction with parity circuit
US6332197B1 (en) 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6446237B1 (en) * 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6446220B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US6272662B1 (en) 1998-08-04 2001-08-07 International Business Machines Corporation Distributed storage system using front-end and back-end locking
US6128762A (en) * 1998-08-04 2000-10-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system with request forwarding
US6964008B1 (en) * 1999-11-12 2005-11-08 Maxtor Corporation Data checksum method and apparatus
US7127668B2 (en) * 2000-06-15 2006-10-24 Datadirect Networks, Inc. Data management architecture
US6681340B2 (en) 2001-02-23 2004-01-20 International Business Machines Corporation Efficient implementation of error correction code scheme
US6704230B1 (en) * 2003-06-12 2004-03-09 International Business Machines Corporation Error detection and correction method and apparatus in a magnetoresistive random access memory
US7562230B2 (en) * 2003-10-14 2009-07-14 Intel Corporation Data security
US7711965B2 (en) * 2004-10-20 2010-05-04 Intel Corporation Data security
US8291161B2 (en) * 2005-10-07 2012-10-16 Agere Systems Llc Parity rotation in storage-device array
US7644303B2 (en) * 2005-10-07 2010-01-05 Agere Systems Inc. Back-annotation in storage-device array
US7769948B2 (en) * 2005-10-07 2010-08-03 Agere Systems Inc. Virtual profiles for storage-device array encoding/decoding
US7653783B2 (en) * 2005-10-07 2010-01-26 Agere Systems Inc. Ping-pong state machine for storage-device array
US7861036B2 (en) * 2007-09-18 2010-12-28 Agere Systems Inc. Double degraded array protection in an integrated network attached storage device
US8001417B2 (en) * 2007-12-30 2011-08-16 Agere Systems Inc. Method and apparatus for repairing uncorrectable drive errors in an integrated network attached storage device
US20110040761A1 (en) * 2009-08-12 2011-02-17 Globalspec, Inc. Estimation of postings list length in a search system using an approximation table
US8347169B1 (en) * 2010-03-01 2013-01-01 Applied Micro Circuits Corporation System and method for encoding using common partial parity products
CN104205059B (zh) * 2012-04-27 2017-07-14 株式会社日立制作所 存储系统和存储控制装置
US9252802B2 (en) * 2014-02-07 2016-02-02 Qualcomm Incorporated Encoding for partitioned data bus
US10176039B2 (en) 2014-09-19 2019-01-08 Micron Technology, Inc. Self-accumulating exclusive OR program
US10990291B2 (en) * 2017-06-12 2021-04-27 Dell Products, L.P. Software assist memory module hardware architecture

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3876978A (en) * 1973-06-04 1975-04-08 Ibm Archival data protection
US3976982A (en) * 1975-05-12 1976-08-24 International Business Machines Corporation Apparatus for image manipulation
JPS60118956A (ja) * 1983-11-30 1985-06-26 Fujitsu Ltd メモリシステムのパリテイチエツク方式
JPS6365547A (ja) * 1986-09-05 1988-03-24 Nec Corp メモリ内蔵集積回路
US4916704A (en) * 1987-09-04 1990-04-10 Digital Equipment Corporation Interface of non-fault tolerant components to fault tolerant system
US5233616A (en) * 1990-10-01 1993-08-03 Digital Equipment Corporation Write-back cache with ECC protection

Also Published As

Publication number Publication date
US5373512A (en) 1994-12-13
JPH05241870A (ja) 1993-09-21

Similar Documents

Publication Publication Date Title
JPH0820964B2 (ja) メモリ制御装置および方法
US5720027A (en) Redundant disc computer having targeted data broadcast
US4092732A (en) System for recovering data stored in failed memory unit
US5499337A (en) Storage device array architecture with solid-state redundancy unit
KR100351964B1 (ko) 고성능 패리티 아키텍처를 구비하는 디스크 어레이 저장시스템
JP3181398B2 (ja) アレイ型記録装置
JP3302688B2 (ja) 並列ディスク駆動機構アレイ式データ記憶サブシステム用の論理トラック書込みスケジューリングのシステム
US5369651A (en) Multiplexed byte enable bus for partial word writes to ECC protected memory
JPH0772986A (ja) ディスクアレイにおける高速書き込みi/o処理の方法
US5630054A (en) Method and apparatus for storing and retrieving error check information
US5875460A (en) Disk array subsystem and data generation method therefor
EP0948770B1 (en) Error detection device and method
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
KR0162121B1 (ko) 개선된 데이터 기억장치 및 이 기억장치에 데이터를 기억시키는 방법
USRE36448E (en) Memory controller with parity generator for an I/O control unit
JP2981482B2 (ja) データ記憶システム、データ転送方法及びデータ再構成方法
US5748885A (en) Method and apparatus for reduction of I/O operations in persistent storage system
JP2981711B2 (ja) ディスク記憶装置
JPH06119126A (ja) ディスクアレイ装置
KR100423812B1 (ko) 디스크 캐쉬메모리 제어기 및 패리티 연산장치를 구비한알에이아이디 제어기 및 패리티 연산방법
JP2857289B2 (ja) ディスクアレイ装置
JP3555871B2 (ja) ディスクアレイ装置
JPH08202505A (ja) アレイ型記憶装置
JPH11327796A (ja) ディスクアレイ制御装置及び同装置に適用されるキャッシュ制御方法
JPH1078854A (ja) ディスクアレイ制御装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees