JP2003303139A - 冗長メモリモジュールおよびメモリコントローラ - Google Patents
冗長メモリモジュールおよびメモリコントローラInfo
- Publication number
- JP2003303139A JP2003303139A JP2002106467A JP2002106467A JP2003303139A JP 2003303139 A JP2003303139 A JP 2003303139A JP 2002106467 A JP2002106467 A JP 2002106467A JP 2002106467 A JP2002106467 A JP 2002106467A JP 2003303139 A JP2003303139 A JP 2003303139A
- Authority
- JP
- Japan
- Prior art keywords
- data
- dimm
- parity
- read
- deblocking
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System (AREA)
Abstract
換可能にする。 【解決手段】 ECC/ChipKill回路4−0〜
4−4は、ECCの生成/チェック/再構成およびCh
ipKillを行う。パリティ生成/チェック/再構成
回路5は、データライト時にはパリティデータの生成、
データリード時にはパリティデータのチェック、異常な
DIMMが存在する場合には正常なDIMMからデータ
の再構成を行う。これにより、4枚のDIMM1−0〜
1−3に対して1枚のパリティDIMM1−4を用意す
ることで、DIMMの障害時に、異常なDIMMをホッ
トプラグすることを可能とし、OSのメモリ縮退機能に
よらずにDIMMの動的な交換を可能にする。
Description
ル(Redundant Array Independ
ent Memory Module(RAIMM))お
よびメモリコントローラに関し、特にDIMM(Dua
l Inline Memory Module)に冗長
性を持たせた冗長メモリモジュールおよびそのメモリコ
ントローラに関する。
or Checking and Correctin
g)や、不良のメモリ素子のデータを非使用にするCh
ipKill技術により、メモリ障害に対してシステム
の連続運用を可能とする方式が存在している。
は、1ワードがN×Mビット(NおよびMは正の整数)
のデータを記憶するM枚のメモリパッケージと、M枚の
メモリパッケージについてパッケージ毎に電源をオンオ
フ制御するメモリ電源回路と、メモリパッケージの交換
後、新たなメモリパッケージについてのメモリ電源回路
による電源オン制御に応答して該メモリパッケージから
データを1ワード単位で読み出す読出し制御手段と、読
み出されたデータについて、少なくともNビットのエラ
ーを訂正する誤り訂正手段とを含み、誤り訂正機能を用
いるためにデータを高速に復元できる電子ディスク装置
が開示されていた。
は、データを記憶するデータ記憶部と、データ記憶部に
記憶されるデータの誤り訂正符号を記憶するECC記憶
部と、データの誤り訂正符号を生成する訂正符号生成部
と、ECC記憶部に記憶された誤り訂正符号を利用して
誤り訂正・検出を行う訂正・検出部とを備え、ECC誤
り訂正検出も可能な記憶回路モジュールが開示されてい
た。
た従来の技術には、次のような問題点がある。
lの技術にて対メモリ障害性は向上しているものの、障
害が発生しECCやChipKillの機能が働いて危
機的状態で稼働しているメモリモジュールを交換するた
めには、OSによりメモリ縮退機能がサポートされてい
ないと、システムを停止させて交換する必要があるとい
うことである。
いるために、通電時にメモリモジュールの交換を行うこ
とができず、障害が発生してメモリモジュールを交換す
る際には、システムを停止させる必要があるということ
である。その理由は、現状のメモリ制御では、通電時の
メモリ交換には、OSによりメモリ縮退機能がサポート
されていないと、メモリ空間に直に割り当てられている
メモリモジュールの交換ができないためである。
縮退機能がサポートされていない場合でも、システム稼
働中に異常なDIMMを動的に交換可能にする冗長メモ
リモジュールを提供することにある。
通電状態でも異常なDIMMを動的に交換可能にする冗
長メモリモジュールを提供することにある。
縮退機能がサポートされていない場合でも、冗長メモリ
モジュールにおいてシステム稼働中に異常なDIMMを
動的に交換可能にするメモリコントローラを提供するこ
とにある。
通電状態でも、冗長メモリモジュールにおいて異常なD
IMMを動的に交換可能にするメモリコントローラを提
供することにある。
ュールは、複数枚のDIMMと、各DIMMがそれぞれ
挿入された複数のDIMMスロットと、これらDIMM
スロットに接続されたメモリコントローラとからなるメ
モリモジュールにおいて、前記メモリコントローラが、
前記複数枚のDIMMのうちの1枚のDIMMをパリテ
ィDIMM、残りのDIMMをデータDIMMとし、前
記データDIMMに書き込まれるライトデータからパリ
ティデータを生成して前記パリティDIMMに保持さ
せ、前記データDIMMから読み出されたリードデータ
と前記パリティDIMMから読み出されたパリティデー
タとによりリードデータのパリティチェックおよびエラ
ー訂正を可能にする冗長機能を持つことを特徴とする。
前記メモリコントローラをホットプラグ可能なDIMM
スロットに接続し、システム稼働中の通電状態でDIM
Mの動的な交換を可能にしたことを特徴とする。
は、複数枚のDIMMと、各DIMMがそれぞれ挿入さ
れた複数のDIMMスロットと、これらDIMMスロッ
トに接続されたメモリコントローラとからなるメモリモ
ジュールにおいて、前記メモリコントローラが、前記複
数のDIMMスロットにそれぞれ接続され、ECCの生
成/チェック/再構成およびChipKillを行う複
数のECC/ChipKill回路と、前記複数のEC
C/ChipKill回路に接続され、前記複数枚のD
IMMのうちの1枚のDIMMをパリティDIMM、残
りのDIMMをデータDIMMとし、前記データDIM
Mに書き込まれるライトデータからパリティデータを生
成して前記パリティDIMMに保持させ、前記データD
IMMから読み出されたリードデータと前記パリティD
IMMから読み出されたパリティデータとによりリード
データのパリティチェックおよびエラー訂正を可能にす
るパリティ生成/チェック/再構成回路と、上位装置か
らの指示により、データが前記パリティ生成/チェック
/再構成回路を経由するRAIMMモードと、データが
前記パリティ生成/チェック/再構成回路をバイパスす
るバイパスモードとを切り替えるバイパス回路と、各D
IMMスロットごとのECC1ビットエラー発生回数,
ECC2ビットエラー発生回数,ChipKill発生
回数およびリードエラー発生回数を保持する発生回数レ
ジスタ,ECC1ビットエラー発生回数,ECC2ビッ
トエラー発生回数,ChipKill発生回数およびリ
ードエラー発生回数の閾値を保持する閾値レジスタ,前
記発生回数レジスタの発生回数と前記閾値レジスタの閾
値とを比較する比較器,前記比較器により発生回数が閾
値を越えたDIMMスロットがあったときに上位装置に
割り込みを上げる割り込み信号線とを含むエラーカウン
トレジスタとを備えることを特徴とする。
ルは、前記パリティ生成/チェック/再構成回路が、ラ
イトデータをn(正整数)個のデブロッキングデータに
デブロッキングし、各デブロッキングデータを排他的論
理和してパリティデータを生成し、各デブロッキングデ
ータおよびパリティデータを各DIMMにそれぞれ書き
込む手段と、前記データDIMMから読み出したデータ
をn個のデブロッキングデータにそれぞれデブロッキン
グし、対応するデブロッキングデータをブロッキングし
てリードデータを復元し、各デブロッキングデータの排
他的論理和をとってパリティデータを生成し、前記パリ
ティDIMMから読み出されたデータの対応するデブロ
ッキングデータであるパリティデータと比較し、パリテ
ィエラーがなければ復元されたリードデータを上位装置
に送出する手段と、リードデータのうちのデブロッキン
グデータに訂正可能な1ビットエラーがあるときに、他
のリードデータのうちのデブロッキングデータとパリテ
ィデータのデブロッキングデータとの排他的論理和をと
ることにより訂正可能な1ビットエラーがあるデブロッ
キングデータをエラー訂正し、各データDIMMから読
み出されたリードデータのうちの対応するデブロッキン
グデータをブロッキングしてリードデータを復元し、上
位装置に送出する手段とを備えることを特徴とする。
数枚のDIMMがそれぞれ挿入される複数のDIMMス
ロットに接続されたメモリコントローラにおいて、前記
複数枚のDIMMのうちの1枚のDIMMをパリティD
IMM、残りのDIMMをデータDIMMとし、前記デ
ータDIMMに書き込まれるライトデータからパリティ
データを生成して前記パリティDIMMに保持させ、前
記データDIMMから読み出されたリードデータと前記
パリティDIMMから読み出されたパリティデータとに
よりリードデータのパリティチェックおよびエラー訂正
を可能にする冗長機能を持つことを特徴とする。
ットプラグ可能なDIMMスロットに接続され、システ
ム稼働中の通電状態でDIMMの動的な交換を可能にし
たことを特徴とする。
複数のDIMMスロットにそれぞれ接続され、ECCの
生成/チェック/再構成およびChipKillを行う
複数のECC/ChipKill回路と、前記複数のE
CC/ChipKill回路に接続され、前記複数枚の
DIMMのうちの1枚のDIMMをパリティDIMM、
残りのDIMMをデータDIMMとし、前記データDI
MMに書き込まれるライトデータからパリティデータを
生成して前記パリティDIMMに保持させ、前記データ
DIMMから読み出されたリードデータと前記パリティ
DIMMから読み出されたパリティデータとによりリー
ドデータのパリティチェックおよびエラー訂正を可能に
するパリティ生成/チェック/再構成回路と、上位装置
からの指示により、データが前記パリティ生成/チェッ
ク/再構成回路を経由するRAIMMモードと、データ
が前記パリティ生成/チェック/再構成回路をバイパス
するバイパスモードとを切り替えるバイパス回路と、各
DIMMスロットごとのECC1ビットエラー発生回
数,ECC2ビットエラー発生回数,ChipKill
発生回数およびリードエラー発生回数を保持する発生回
数レジスタ,ECC1ビットエラー発生回数,ECC2
ビットエラー発生回数,ChipKill発生回数およ
びリードエラー発生回数の閾値を保持する閾値レジス
タ,前記発生回数レジスタの発生回数と前記閾値レジス
タの閾値とを比較する比較器,前記比較器により発生回
数が閾値を越えたDIMMスロットがあったときに上位
装置に割り込みを上げる割り込み信号線とを含むエラー
カウントレジスタとを有することを特徴とする。
は、前記パリティ生成/チェック/再構成回路が、ライ
トデータをn(正整数)個のデブロッキングデータにデ
ブロッキングし、各デブロッキングデータを排他的論理
和してパリティデータを生成し、各デブロッキングデー
タおよびパリティデータを各DIMMにそれぞれ書き込
む手段と、各DIMMから読み出したデータをn個のデ
ブロッキングデータにそれぞれデブロッキングし、対応
するデブロッキングデータをブロッキングしてリードデ
ータを復元し、各デブロッキングデータの排他的論理和
をとってパリティデータを生成し、パリティDIMMか
ら読み出されたデータの対応するデブロッキングデータ
であるパリティデータと比較し、パリティエラーがなけ
れば復元されたリードデータを上位装置に送出する手段
と、リードデータのうちのデブロッキングデータに訂正
可能な1ビットエラーがあるときに、他のリードデータ
のうちのデブロッキングデータとパリティデータのデブ
ロッキングデータとの排他的論理和をとることにより訂
正可能な1ビットエラーがあるデブロッキングデータを
エラー訂正し、各データDIMMから読み出されたリー
ドデータのうちの対応するデブロッキングデータをブロ
ッキングしてリードデータを復元し、上位装置に送出す
る手段とを備えることを特徴とする。
Mがそれぞれ挿入された複数のDIMMスロットに接続
されたメモリコントローラに、磁気ディスク装置で用い
られる、いわゆるRAID(Redundant Ar
ray of Inexpensive Disks)
相当の冗長機能を実現するパリティ生成/チェック/再
構成回路を持たせ、DIMMの障害時に、OSのメモリ
縮退機能によらずにDIMMの動的な交換を可能にす
る。
データライト時にはパリティデータの生成、データリー
ド時にはパリティデータのチェック、異常なDIMMが
存在する場合には正常なDIMMからのデータ再構成を
行う。
当てられていないため、ECCやChipKillにて
検出した異常なDIMMを使用しないでも、システム全
体でのメモリ空間としては何ら支障なく使用できるとい
う効果が得られる。
lectron Device Engineering
Council)で制定されているホットプラグ対応の
DIMMスロットを使用することで、システム稼働中の
通電状態でDIMMの動的な交換を可能にするという効
果も得られる。
て図面を参照して詳細に説明する。
形態に係る冗長メモリモジュールは、5枚のDIMM1
−0〜1−4と、DIMM1−0〜1−4がそれぞれ挿
入された5つのDIMMスロット2−0〜2−4と、D
IMMスロット2−0〜2−4が接続されたメモリコン
トローラ3とから、その主要部が構成されている。な
お、符号10は上位装置としてのCPU(Centra
l ProcessingUnit)を、20はCPU
バスをそれぞれ示す。
DECで制定されているホットプラグ対応のDIMMス
ロットである。
ChipKill回路4−0〜4−4と、パリティ生成
/チェック/再構成回路5と、バイパス回路6と、エラ
ーカウントレジスタ7とを含んで構成されており、CP
U10からの指示によりDIMMスロット2−0〜2−
4に挿入されたDIMM1−0〜1−4からデータをリ
ード(Read)したり、DIMM1−0〜1−4にデ
ータをライト(Write)したりする。
−4は、DIMMスロット2−0〜2−4にそれぞれ接
続され、ECCの生成/チェック/再構成およびChi
pKillを行う。なお、ECC/ChipKill回
路4−0〜4−4の詳細は、当業者にとってよく知られ
ており、また本発明とは直接関係しないので、その詳細
な構成は省略する。
は、ECC/ChipKill回路4−0〜4−4に接
続され、5枚のDIMM1−0〜1−4のうちの1枚の
DIMMをパリティDIMM1−4、残りのDIMMを
データDIMM1−0〜1−3とし、データDIMM1
−0〜1−3に書き込まれるライトデータからパリティ
データを生成して(図2参照)、パリティDIMM1−
4に保持させ、データDIMM1−0〜1−3から読み
出されたリードデータとパリティDIMM1−4から読
み出されたパリティデータとによりリードデータのパリ
ティチェック(図3参照)およびエラー訂正(図4参
照)を可能にする。
により、データがパリティ生成/チェック/再構成回路
5を経由するRAIMMモードと、データがパリティ生
成/チェック/再構成回路5をバイパスするバイパスモ
ードとを切り替える。
タ7は、DIMMスロット2−0〜2−4ごとのECC
1ビットエラー発生回数,ECC2ビットエラー発生回
数,ChipKill発生回数,およびリードエラー発
生回数を保持する発生回数レジスタ71と、ECC1ビ
ットエラー発生回数,ECC2ビットエラー発生回数,
ChipKill発生回数,およびリードエラー発生回
数の閾値を保持する閾値レジスタ72と、発生回数レジ
スタ71の発生回数と閾値レジスタ72の閾値とを比較
する比較器73と、比較器73により発生回数が閾値を
越えたと判定されたときにCPU10に割り込みを上げ
る割り込み信号線74とを含んで構成されている。
へのパワーオン時の動作は、バイパスモードステップA
1と、メモリチェックステップA2と、エラー判定ステ
ップA3と、エラー表示等ステップA4と、RAIMM
モードステップA5とからなる。
に対するデータライト時の動作は、パリティ生成ステッ
プB1と、ECC生成/ChipKill配置ステップ
B2と、DIMMライトステップB3とからなる。
に対するデータリード時の動作は、DIMMリードステ
ップC1と、リードエラー判定ステップC2と、ECC
エラー判定ステップC3と、データ送出ステップC4
と、エラーカウントレジスタインクリメントステップC
5と、データ再構成ステップC6と、訂正可否判定ステ
ップC7と、エラーカウントレジスタインクリメントス
テップC8と、ChipKill判定ステップC9と、
エラーカウントレジスタインクリメントステップC10
と、エラーカウントレジスタインクリメントステップC
11と、データ再構成ステップC12とからなる。
でのデータ再構成時の動作は、DIMM抜去ステップD
1と、DIMM挿入ステップD2と、エラーカウントレ
ジスタクリアステップD3と、バックグラウンドDIM
MリードステップD4と、データ再構成ステップD5
と、DIMMライトステップD6とからなる。
形態に係る冗長メモリモジュールの動作について説明す
る。
パスモードに設定されており(ステップA1)、CPU
10は、DIMM1−0〜1−4の初期のメモリチェッ
クをパリティ生成/チェック/再構成回路5を経由しな
いで行う(ステップA2)。この際、DIMM1−0〜
1−4のいずれかに異常があれば(ステップA3でイエ
ス)、システムの設計に従ってDIMM1−0〜1−4
の異常検出時のエラー表示等の動作を行う(ステップA
4)。初期のメモリチェックが正常に完了すると(ステ
ップA3でノー)、CPU10は、バイパス回路6に指
示を出し、バイパスモードからRAIMMモードに切り
替える(ステップA5)。
3は、パリティ生成/チェック/再構成回路5により、
データDIMM1−1〜1−4に書かれるライトデータ
からパリティデータを生成し(ステップB1)、ECC
/ChipKill回路4−0〜4−4により、ECC
の生成およびChipKillのデータ配置を行った後
(ステップB2)、ライトデータおよびパリティデータ
をDIMMスロット2−0〜2−4に挿入されたDIM
M1−0〜1−4に書き込む(ステップB3)。
0からのライトデータが64ビットの場合、パリティ生
成/チェック/再構成回路5は、64ビットのライトデ
ータα 1+α2+α3+α4をデータDIMM1−0〜
1−3に別々に書き込まれる4つの16ビットのデブロ
ッキングデータα1,α2,α3,α4にデブロッキン
グし、各16ビットのデブロッキングデータα1,
α2,α3,α4を排他的論理和して16ビットのパリ
ティデータp1を生成し、4つのデブロッキングデータ
α1,α2,α3,α4および1つのパリティデータp
1を5つのECC/ChipKill回路4−0〜4−
4にそれぞれ渡す(ステップB1)。ECC/Chip
Kill回路4−0〜4−4は、ECCの生成およびC
hipKillのデータ配置を行った後(ステップB
2)、実際に4つのデブロッキングデータα1,α2,
α3,α4および1つのパリティデータp1を5つのD
IMMスロット2−0〜2−4に挿入されているDIM
M1−0〜1−4にそれぞれ書き込む(ステップB
3)。
3は、DIMMスロット2−0〜2−4を通じてDIM
M1−0〜1−4からデータをそれぞれ読み出し(ステ
ップC1)、リードエラーがなければ(ステップC2で
ノー)、ECC/ChipKill回路4−0〜4−4
により、ECCの確認を行い(ステップC3)、ECC
エラーがなければ、パリティ生成/チェック/再構成回
路5により、リードデータを再構成してCPUバス20
を介してCPU10に送出する(ステップC4)
M1−0〜1−4から読み出されるデータが64ビット
の場合、パリティ生成/チェック/再構成回路5は、D
IMM1−0〜1−4からそれぞれ読み出された64ビ
ットのデータを4つの16ビットのデブロッキングデー
タにそれぞれデブロッキングし、先頭16ビットの各デ
ブロッキングデータα1,α2,α3,α4をブロッキ
ングして64ビットのリードデータα1+α2+α3+
α4を復元する。この際、各16ビットのデブロッキン
グデータα1,α2,α3,α4の排他的論理和をとっ
てパリティデータp1を生成し、DIMM1−4から読
み出された64ビットのパリティデータにおける先頭1
6ビットのパリティデータp1と比較し、パリティエラ
ーがなければ、リードデータα1+α2+α3+α4を
CPUバス20を介してCPU10に送出する(ステッ
プC4)。
0〜2−4を通じてDIMM1−0〜1−4のいずれか
にリードエラーが発生すると(ステップC2でイエ
ス)、メモリコントローラ3は、エラーカウントレジス
タ7のリードエラー発生回数をインクリメントし(ステ
ップC5)、パリティ生成/チェック/再構成回路5に
より、パリティデータに基づいてリードデータを再構成
して(ステップC6)、再構成されたリードデータをC
PUバス20を介してCPU10に送出する(ステップ
C4)。
M1−0〜1−4からのリードデータが64ビットの場
合、パリティ生成/チェック/再構成回路5は、スロッ
ト番号1のDIMM1−0から読み出された64ビット
のデータのうちの先頭16ビットのデータに訂正可能な
1ビットエラーがあると判定すると、スロット番号2〜
4のDIMM1−1〜1−3から読み出された64ビッ
トのリードデータのうちの先頭16ビットのデータ
α2,α3,α4と、スロット番号5のDIMM1−4
から読み出された64ビットのパリティデータのうちの
先頭16ビットのパリティデータp1との排他的論理和
をとることにより、スロット番号1のDIMM1−0か
ら読み出された64ビットのデータのうちの先頭16ビ
ットのデータβ 1をエラー訂正した16ビットのデータ
α1を得、スロット番号2〜4のDIMM1−1〜1−
4から読み出された64ビットのリードデータのうちの
先頭16ビットのデブロッキングデータα2,α3,α
4とブロッキングして、64ビットのリードデータα1
+α2+α3+α4としてCPUバス20を介してCP
U10に送出する。
であれば(ステップC7でイエス)、メモリコントロー
ラ3は、エラーカウントレジスタ7のECC1ビットエ
ラー発生回数をインクリメントして(ステップC8)、
ECC/ChipKill回路4−0〜4−4によりエ
ラー訂正されたデータをCPUバス20を介してCPU
10に送出する(ステップC4)。
プC7でノー)、メモリコントローラ3は、ECC/C
hipKill回路4−0〜4−4により、ChipK
illを行う(ステップC9)。
れた場合は(ステップC9でイエス)、メモリコントロ
ーラ3は、エラーカウントレジスタ7のChipKil
l発生回数をインクリメントし(ステップC10)、エ
ラー訂正されたデータをCPUバス20を介してCPU
10に送出する(ステップC4)。
テップC9でノー)、メモリコントローラ3は、エラー
カウントレジスタ7のECC2ビットエラー発生回数を
インクリメントし(ステップC11)、パリティ生成/
チェック/再構成回路5により、パリティデータに基づ
いてリードデータを再構成して(ステップC12)、再
構成されたリードデータをCPUバス20を介してCP
U10に送出する(ステップC4)。
ロット2−1〜2−4の発生回数レジスタ71のECC
1ビットエラー発生回数,ECC2ビットエラー発生回
数,ChipKill発生回数,およびリードエラー発
生回数のいずれかが閾値レジスタ72に前もって設定さ
れていた閾値より大きくなった場合に、割り込み信号線
74を通じてCPU10に割り込みを発生する。以下、
DIMM1−0に対応するECC1ビットエラー発生回
数,ECC2ビットエラー発生回数,ChipKill
発生回数,およびリードエラー発生回数のいずれかが閾
値より大きくなったものとする。
ット番号を含む異常アラームをオペレータに発する。
ラームにより、異常なDIMM1−0をDIMMスロッ
ト2−0から抜却する(ステップD1)。抜却中は、D
IMMスロット2−0は、リードエラーと同等に扱われ
る。
常なDIMM1−0を挿入すると(ステップD2)、メ
モリコントローラ3は、エラーカウントレジスタ7の発
生回数レジスタ71の該当スロット番号0のECC1ビ
ットエラー発生回数,ECC2ビットエラー発生回数,
ChipKill発生回数,およびリードエラー発生回
数を0クリアし(ステップD3)、CPU10からのア
クセスのバックグランドで、正常なDIMM1−1〜1
−4からDIMMスロット2−1〜2−4を通じてデー
タをそれぞれ読み出し(ステップD4)、パリティデー
タに基づいてデータを再構成し(ステップD5)、再構
成されたデータをDIMMスロット2−0に挿入された
DIMM1−0に書き込む(ステップD6)。
態で異常なDIMM1−0の交換を可能にする。なお、
異常なDIMM1−0が、他のDIMM1−1〜1−4
であっても、同様な動作になることはいうまでもない。
は、次のような効果を奏する。
ることができることである。その理由は、メモリコント
ローラにより、パリティを使用することができるからで
ある。
のサポートなしにシステム稼働中にDIMMを動的に交
換できることである。その理由は、DIMMの障害が発
生した場合にも、OSはソフトウェアが稼働しているメ
モリ空間上ではリードおよびライトともに異常なく行う
ことができるためである。
るホットプラグ対応のDIMMスロットを使用すること
で、システム稼働中の通電状態でDIMMの動的な交換
が可能になるということである。
ことができることである。その理由は、システム運用中
にDIMMの動的な交換が可能なためである。
ジュールの構成を示す回路ブロック図である。
のライトパリティデータ生成動作を説明する図である。
の正常リード動作を説明する図である。
のデータ再構成動作を説明する図である。
図である。
パワーオン動作を示すフローチャートである。
データライト動作を示すフローチャートである。
データリード動作を示すフローチャートである。
データ再構成動作を示すフローチャートである。
プ C11 エラーカウントレジスタインクリメントステッ
プ C12 データ再構成ステップ D1 DIMM抜去ステップ D2 DIMM挿入ステップ D3 エラーカウントレジスタクリアステップ D4 バックグラウンドDIMMリードステップ D5 データ再構成ステップ D6 DIMMライトステップ
Claims (8)
- 【請求項1】 複数枚のDIMMと、各DIMMがそれ
ぞれ挿入された複数のDIMMスロットと、これらDI
MMスロットに接続されたメモリコントローラとからな
るメモリモジュールにおいて、前記メモリコントローラ
が、前記複数枚のDIMMのうちの1枚のDIMMをパ
リティDIMM、残りのDIMMをデータDIMMと
し、前記データDIMMに書き込まれるライトデータか
らパリティデータを生成して前記パリティDIMMに保
持させ、前記データDIMMから読み出されたリードデ
ータと前記パリティDIMMから読み出されたパリティ
データとによりリードデータのパリティチェックおよび
エラー訂正を可能にする冗長機能を持つことを特徴とす
る冗長メモリモジュール。 - 【請求項2】 前記メモリコントローラをホットプラグ
可能なDIMMスロットに接続し、システム稼働中の通
電状態でDIMMの動的な交換を可能にしたことを特徴
とする請求項1記載の冗長メモリモジュール。 - 【請求項3】 複数枚のDIMMと、各DIMMがそれ
ぞれ挿入された複数のDIMMスロットと、これらDI
MMスロットに接続されたメモリコントローラとからな
るメモリモジュールにおいて、前記メモリコントローラ
が、前記複数のDIMMスロットにそれぞれ接続され、
ECCの生成/チェック/再構成およびChipKil
lを行う複数のECC/ChipKill回路と、前記
複数のECC/ChipKill回路に接続され、前記
複数枚のDIMMのうちの1枚のDIMMをパリティD
IMM、残りのDIMMをデータDIMMとし、前記デ
ータDIMMに書き込まれるライトデータからパリティ
データを生成して前記パリティDIMMに保持させ、前
記データDIMMから読み出されたリードデータと前記
パリティDIMMから読み出されたパリティデータとに
よりリードデータのパリティチェックおよびエラー訂正
を可能にするパリティ生成/チェック/再構成回路と、
上位装置からの指示により、データが前記パリティ生成
/チェック/再構成回路を経由するRAIMMモード
と、データが前記パリティ生成/チェック/再構成回路
をバイパスするバイパスモードとを切り替えるバイパス
回路と、各DIMMスロットごとのECC1ビットエラ
ー発生回数,ECC2ビットエラー発生回数,Chip
Kill発生回数およびリードエラー発生回数を保持す
る発生回数レジスタ,ECC1ビットエラー発生回数,
ECC2ビットエラー発生回数,ChipKill発生
回数およびリードエラー発生回数の閾値を保持する閾値
レジスタ,前記発生回数レジスタの発生回数と前記閾値
レジスタの閾値とを比較する比較器,前記比較器により
発生回数が閾値を越えたDIMMスロットがあったとき
に上位装置に割り込みを上げる割り込み信号線とを含む
エラーカウントレジスタとを備えることを特徴とする冗
長メモリモジュール。 - 【請求項4】 前記パリティ生成/チェック/再構成回
路が、ライトデータをn(正整数)個のデブロッキング
データにデブロッキングし、各デブロッキングデータを
排他的論理和してパリティデータを生成し、各デブロッ
キングデータおよびパリティデータを各DIMMにそれ
ぞれ書き込む手段と、前記データDIMMから読み出し
たデータをn個のデブロッキングデータにそれぞれデブ
ロッキングし、対応するデブロッキングデータをブロッ
キングしてリードデータを復元し、各デブロッキングデ
ータの排他的論理和をとってパリティデータを生成し、
前記パリティDIMMから読み出されたデータの対応す
るデブロッキングデータであるパリティデータと比較
し、パリティエラーがなければ復元されたリードデータ
を上位装置に送出する手段と、リードデータのうちのデ
ブロッキングデータに訂正可能な1ビットエラーがある
ときに、他のリードデータのうちのデブロッキングデー
タとパリティデータのデブロッキングデータとの排他的
論理和をとることにより訂正可能な1ビットエラーがあ
るデブロッキングデータをエラー訂正し、各データDI
MMから読み出されたリードデータのうちの対応するデ
ブロッキングデータをブロッキングしてリードデータを
復元し、上位装置に送出する手段とを備えることを特徴
とする請求項3記載の冗長メモリモジュール。 - 【請求項5】 複数枚のDIMMがそれぞれ挿入される
複数のDIMMスロットに接続されたメモリコントロー
ラにおいて、前記複数枚のDIMMのうちの1枚のDI
MMをパリティDIMM、残りのDIMMをデータDI
MMとし、前記データDIMMに書き込まれるライトデ
ータからパリティデータを生成して前記パリティDIM
Mに保持させ、前記データDIMMから読み出されたリ
ードデータと前記パリティDIMMから読み出されたパ
リティデータとによりリードデータのパリティチェック
およびエラー訂正を可能にする冗長機能を持つことを特
徴とするメモリコントローラ。 - 【請求項6】 ホットプラグ可能なDIMMスロットに
接続され、システム稼働中の通電状態でDIMMの動的
な交換を可能にしたことを特徴とする請求項5記載のメ
モリコントローラ。 - 【請求項7】 複数のDIMMスロットにそれぞれ接続
され、ECCの生成/チェック/再構成およびChip
Killを行う複数のECC/ChipKill回路
と、前記複数のECC/ChipKill回路に接続さ
れ、前記複数枚のDIMMのうちの1枚のDIMMをパ
リティDIMM、残りのDIMMをデータDIMMと
し、前記データDIMMに書き込まれるライトデータか
らパリティデータを生成して前記パリティDIMMに保
持させ、前記データDIMMから読み出されたリードデ
ータと前記パリティDIMMから読み出されたパリティ
データとによりリードデータのパリティチェックおよび
エラー訂正を可能にするパリティ生成/チェック/再構
成回路と、上位装置からの指示により、データが前記パ
リティ生成/チェック/再構成回路を経由するRAIM
Mモードと、データが前記パリティ生成/チェック/再
構成回路をバイパスするバイパスモードとを切り替える
バイパス回路と、各DIMMスロットごとのECC1ビ
ットエラー発生回数,ECC2ビットエラー発生回数,
ChipKill発生回数およびリードエラー発生回数
を保持する発生回数レジスタ,ECC1ビットエラー発
生回数,ECC2ビットエラー発生回数,ChipKi
ll発生回数およびリードエラー発生回数の閾値を保持
する閾値レジスタ,前記発生回数レジスタの発生回数と
前記閾値レジスタの閾値とを比較する比較器,前記比較
器により発生回数が閾値を越えたDIMMスロットがあ
ったときに上位装置に割り込みを上げる割り込み信号線
とを含むエラーカウントレジスタとを有することを特徴
とするメモリコントローラ。 - 【請求項8】 前記パリティ生成/チェック/再構成回
路が、ライトデータをn(正整数)個のデブロッキング
データにデブロッキングし、各デブロッキングデータを
排他的論理和してパリティデータを生成し、各デブロッ
キングデータおよびパリティデータを各DIMMにそれ
ぞれ書き込む手段と、各DIMMから読み出したデータ
をn個のデブロッキングデータにそれぞれデブロッキン
グし、対応するデブロッキングデータをブロッキングし
てリードデータを復元し、各デブロッキングデータの排
他的論理和をとってパリティデータを生成し、前記パリ
ティDIMMから読み出されたデータの対応するデブロ
ッキングデータであるパリティデータと比較し、パリテ
ィエラーがなければ復元されたリードデータを上位装置
に送出する手段と、リードデータのうちのデブロッキン
グデータに訂正可能な1ビットエラーがあるときに、他
のリードデータのうちのデブロッキングデータとパリテ
ィデータのデブロッキングデータとの排他的論理和をと
ることにより訂正可能な1ビットエラーがあるデブロッ
キングデータをエラー訂正し、各データDIMMから読
み出されたリードデータのうちの対応するデブロッキン
グデータをブロッキングしてリードデータを復元し、上
位装置に送出する手段とを備えることを特徴とする請求
項7記載のメモリコントローラ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002106467A JP2003303139A (ja) | 2002-04-09 | 2002-04-09 | 冗長メモリモジュールおよびメモリコントローラ |
US10/409,580 US20040168101A1 (en) | 2002-04-09 | 2003-04-09 | Redundant memory system and memory controller used therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002106467A JP2003303139A (ja) | 2002-04-09 | 2002-04-09 | 冗長メモリモジュールおよびメモリコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003303139A true JP2003303139A (ja) | 2003-10-24 |
Family
ID=29390781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002106467A Pending JP2003303139A (ja) | 2002-04-09 | 2002-04-09 | 冗長メモリモジュールおよびメモリコントローラ |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040168101A1 (ja) |
JP (1) | JP2003303139A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100585158B1 (ko) | 2004-09-13 | 2006-05-30 | 삼성전자주식회사 | Ecc 메모리 모듈 |
KR101234444B1 (ko) * | 2008-07-02 | 2013-02-18 | 마이크론 테크놀로지, 인크. | 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치 |
US8861246B2 (en) | 2010-12-16 | 2014-10-14 | Micron Technology, Inc. | Phase interpolators and push-pull buffers |
US9275698B2 (en) | 2008-07-21 | 2016-03-01 | Micron Technology, Inc. | Memory system and method using stacked memory device dice, and system using the memory system |
US9411538B2 (en) | 2008-05-29 | 2016-08-09 | Micron Technology, Inc. | Memory systems and methods for controlling the timing of receiving read data |
US10109343B2 (en) | 2008-07-02 | 2018-10-23 | Micron Technology, Inc. | Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes |
CN109189719A (zh) * | 2018-07-27 | 2019-01-11 | 西安微电子技术研究所 | 一种片内容错存储的复用结构及方法 |
WO2020189617A1 (ja) * | 2019-03-19 | 2020-09-24 | Necプラットフォームズ株式会社 | メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197662B2 (en) * | 2002-10-31 | 2007-03-27 | Ring Technology Enterprises, Llc | Methods and systems for a storage system |
US7415565B2 (en) * | 2002-10-31 | 2008-08-19 | Ring Technology Enterprises, Llc | Methods and systems for a storage system with a program-controlled switch for routing data |
US7707351B2 (en) * | 2002-10-31 | 2010-04-27 | Ring Technology Enterprises Of Texas, Llc | Methods and systems for an identifier-based memory section |
US6879526B2 (en) * | 2002-10-31 | 2005-04-12 | Ring Technology Enterprises Llc | Methods and apparatus for improved memory access |
US7174476B2 (en) * | 2003-04-28 | 2007-02-06 | Lsi Logic Corporation | Methods and structure for improved fault tolerance during initialization of a RAID logical unit |
US7116600B2 (en) * | 2004-02-19 | 2006-10-03 | Micron Technology, Inc. | Memory device having terminals for transferring multiple types of data |
US7590918B2 (en) * | 2004-09-10 | 2009-09-15 | Ovonyx, Inc. | Using a phase change memory as a high volume memory |
US7350007B2 (en) * | 2005-04-05 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Time-interval-based system and method to determine if a device error rate equals or exceeds a threshold error rate |
KR100891332B1 (ko) * | 2007-03-30 | 2009-03-31 | 삼성전자주식회사 | 에러 정정 부호화기를 이용하여 에러를 체크하는 bch에러 정정 방법 및 회로 |
US8041990B2 (en) * | 2007-06-28 | 2011-10-18 | International Business Machines Corporation | System and method for error correction and detection in a memory system |
US8041989B2 (en) * | 2007-06-28 | 2011-10-18 | International Business Machines Corporation | System and method for providing a high fault tolerant memory system |
EP2297742B1 (en) * | 2008-05-16 | 2013-07-24 | Fusion-io, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
US7979757B2 (en) | 2008-06-03 | 2011-07-12 | Micron Technology, Inc. | Method and apparatus for testing high capacity/high bandwidth memory devices |
US8127204B2 (en) | 2008-08-15 | 2012-02-28 | Micron Technology, Inc. | Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system |
US8438455B2 (en) * | 2008-12-31 | 2013-05-07 | Intel Corporation | Error correction in a solid state disk |
US8307258B2 (en) * | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8854882B2 (en) | 2010-01-27 | 2014-10-07 | Intelligent Intellectual Property Holdings 2 Llc | Configuring storage cells |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
US9245653B2 (en) | 2010-03-15 | 2016-01-26 | Intelligent Intellectual Property Holdings 2 Llc | Reduced level cell mode for non-volatile memory |
US8898511B2 (en) | 2010-06-24 | 2014-11-25 | International Business Machines Corporation | Homogeneous recovery in a redundant memory system |
US8549378B2 (en) | 2010-06-24 | 2013-10-01 | International Business Machines Corporation | RAIM system using decoding of virtual ECC |
US8631271B2 (en) | 2010-06-24 | 2014-01-14 | International Business Machines Corporation | Heterogeneous recovery in a redundant memory system |
US8484529B2 (en) | 2010-06-24 | 2013-07-09 | International Business Machines Corporation | Error correction and detection in a redundant memory system |
JP2012022422A (ja) * | 2010-07-13 | 2012-02-02 | Panasonic Corp | 半導体記録再生装置 |
US8522122B2 (en) | 2011-01-29 | 2013-08-27 | International Business Machines Corporation | Correcting memory device and memory channel failures in the presence of known memory device failures |
US9432298B1 (en) | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
US8782485B2 (en) | 2012-01-19 | 2014-07-15 | International Business Machines Corporation | Hierarchical channel marking in a memory system |
US8843806B2 (en) * | 2012-01-19 | 2014-09-23 | International Business Machines Corporation | Dynamic graduated memory device protection in redundant array of independent memory (RAIM) systems |
US20130191685A1 (en) | 2012-01-19 | 2013-07-25 | International Business Machines Corporation | Per-rank channel marking in a memory system |
JP2015537279A (ja) * | 2012-09-24 | 2015-12-24 | アルカテル−ルーセント | 通信ネットワークにおけるユーザ認証の始動 |
US9171597B2 (en) | 2013-08-30 | 2015-10-27 | Micron Technology, Inc. | Apparatuses and methods for providing strobe signals to memories |
US9722335B2 (en) * | 2014-05-05 | 2017-08-01 | Qualcomm Incorporated | Dual in line memory module (DIMM) connector |
US10303545B1 (en) | 2017-11-30 | 2019-05-28 | International Business Machines Corporation | High efficiency redundant array of independent memory |
KR20210111561A (ko) * | 2020-03-03 | 2021-09-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그것의 동작 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233614A (en) * | 1991-01-07 | 1993-08-03 | International Business Machines Corporation | Fault mapping apparatus for memory |
US6587909B1 (en) * | 1996-06-05 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Installation and removal of components of a computer |
US6854070B2 (en) * | 2000-01-25 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | Hot-upgrade/hot-add memory |
US6651138B2 (en) * | 2000-01-27 | 2003-11-18 | Hewlett-Packard Development Company, L.P. | Hot-plug memory catridge power control logic |
US6775791B2 (en) * | 2001-01-26 | 2004-08-10 | Dell Products L.P. | Replaceable memory modules with parity-based data recovery |
US6981173B2 (en) * | 2001-09-28 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Redundant memory sequence and fault isolation |
US7076686B2 (en) * | 2002-02-20 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | Hot swapping memory method and system |
-
2002
- 2002-04-09 JP JP2002106467A patent/JP2003303139A/ja active Pending
-
2003
- 2003-04-09 US US10/409,580 patent/US20040168101A1/en not_active Abandoned
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100585158B1 (ko) | 2004-09-13 | 2006-05-30 | 삼성전자주식회사 | Ecc 메모리 모듈 |
US9411538B2 (en) | 2008-05-29 | 2016-08-09 | Micron Technology, Inc. | Memory systems and methods for controlling the timing of receiving read data |
US10109343B2 (en) | 2008-07-02 | 2018-10-23 | Micron Technology, Inc. | Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes |
US9146811B2 (en) | 2008-07-02 | 2015-09-29 | Micron Technology, Inc. | Method and apparatus for repairing high capacity/high bandwidth memory devices |
KR101296070B1 (ko) * | 2008-07-02 | 2013-08-12 | 마이크론 테크놀로지, 인크. | 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치 |
KR101234444B1 (ko) * | 2008-07-02 | 2013-02-18 | 마이크론 테크놀로지, 인크. | 고용량/고대역폭의 메모리 장치를 복구하기 위한 방법 및 장치 |
US10892003B2 (en) | 2008-07-02 | 2021-01-12 | Micron Technology, Inc. | Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes |
US9275698B2 (en) | 2008-07-21 | 2016-03-01 | Micron Technology, Inc. | Memory system and method using stacked memory device dice, and system using the memory system |
US8861246B2 (en) | 2010-12-16 | 2014-10-14 | Micron Technology, Inc. | Phase interpolators and push-pull buffers |
US9602080B2 (en) | 2010-12-16 | 2017-03-21 | Micron Technology, Inc. | Phase interpolators and push-pull buffers |
US9899994B2 (en) | 2010-12-16 | 2018-02-20 | Micron Technology, Inc. | Phase interpolators and push-pull buffers |
CN109189719A (zh) * | 2018-07-27 | 2019-01-11 | 西安微电子技术研究所 | 一种片内容错存储的复用结构及方法 |
CN109189719B (zh) * | 2018-07-27 | 2022-04-19 | 西安微电子技术研究所 | 一种片内容错存储的复用结构及方法 |
WO2020189617A1 (ja) * | 2019-03-19 | 2020-09-24 | Necプラットフォームズ株式会社 | メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 |
US11726888B2 (en) | 2019-03-19 | 2023-08-15 | Nec Platforms, Ltd. | Memory fault handling system, information processing device, and memory fault handling method |
Also Published As
Publication number | Publication date |
---|---|
US20040168101A1 (en) | 2004-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003303139A (ja) | 冗長メモリモジュールおよびメモリコントローラ | |
US7320086B2 (en) | Error indication in a raid memory system | |
US6785835B2 (en) | Raid memory | |
US6397365B1 (en) | Memory error correction using redundant sliced memory and standard ECC mechanisms | |
US6981173B2 (en) | Redundant memory sequence and fault isolation | |
US6766469B2 (en) | Hot-replace of memory | |
US6684292B2 (en) | Memory module resync | |
US7900084B2 (en) | Reliable memory for memory controller with multiple channels | |
US8090976B2 (en) | Error correction for digital systems | |
JP5014899B2 (ja) | 再構成可能デバイス | |
EP0530554A2 (en) | Scrubbing and sparing in a memory system | |
US20020010875A1 (en) | Hot-upgrade/hot-add memory | |
US20100287436A1 (en) | System for Error Decoding with Retries and Associated Methods | |
US20100293436A1 (en) | System for Error Control Coding for Memories of Different Types and Associated Methods | |
US6981095B1 (en) | Hot replace power control sequence logic | |
JPS6051749B2 (ja) | エラ−訂正方式 | |
GB2429805A (en) | Memory correction system and method | |
WO2023020031A1 (zh) | 一种内存故障恢复方法、系统以及内存 | |
US8250435B2 (en) | Memory error detection and/or correction | |
US6532546B2 (en) | Computer system for dynamically scaling busses during operation | |
KR20190132238A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US9043655B2 (en) | Apparatus and control method | |
JPH10312340A (ja) | 半導体記憶装置におけるエラー検出,訂正方式 | |
JP2011154593A (ja) | メモリ装置およびそのセルフチェック制御方法 | |
JPS61125651A (ja) | エラ−報告処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050124 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051018 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060307 |