JP2001142789A - ローエンドサーバまたはワークステーション用のチップキル - Google Patents

ローエンドサーバまたはワークステーション用のチップキル

Info

Publication number
JP2001142789A
JP2001142789A JP2000320318A JP2000320318A JP2001142789A JP 2001142789 A JP2001142789 A JP 2001142789A JP 2000320318 A JP2000320318 A JP 2000320318A JP 2000320318 A JP2000320318 A JP 2000320318A JP 2001142789 A JP2001142789 A JP 2001142789A
Authority
JP
Japan
Prior art keywords
memory
bits
low
chip kill
chip
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.)
Withdrawn
Application number
JP2000320318A
Other languages
English (en)
Other versions
JP2001142789A5 (ja
Inventor
B Reinhamu Michael
マイケル・ビー・レインハム
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2001142789A publication Critical patent/JP2001142789A/ja
Publication of JP2001142789A5 publication Critical patent/JP2001142789A5/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】非標準のコンホ゜ーネントや追加のメモリテ゛ハ゛イスを必要と
せずに、ローエント゛サーハ゛にチッフ゜キルエラー検出機能を実装するた
めのフ゜ロセス及びメモリ構成を提供する。 【解決手段】一般的には、チッフ゜キル機能に必要なエラー訂正ヒ
゛ットの数は、訂正されるメモリチッフ゜のテ゛ータ幅と使用されるCR
Cアルコ゛リス゛ムに依存する。エラー訂正に必要な数のヒ゛ットがメモリシ
ステムによって提供されない場合は、本発明による別のオフ゜
ションによって、単一のDIMMモシ゛ュールにおける連続するメモリロケ
ーションに対してタ゛フ゛ルワート゛オヘ゜レーションが実行される。メモリモシ゛ュ
ールをタ゛フ゛ルワート゛で読み出すことによって、本質的に、テ゛ー
タ転送毎のECCビットの数が以前の2倍であるシステムが提供
される。一般に、これらのローエント゛システムは、チッフ゜キルオヘ゜レーシ
ョンを行うために必要な数のエラー訂正ヒ゛ットを有していない
ため、このタ゛フ゛ルワート゛技法により、通常は、チッフ゜キルオヘ゜レー
ションを実行することができないローエント゛システムにおいて、チッフ
゜キルオヘ゜レーションを実施することが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムにおいて単一のメモリモジュールでメモリオペレー
ションを実行する方法、および少なくとも1つのメモリ
モジュールを有するメモリ構成に関する。
【0002】
【従来の技術】利用可能なメモリシステムは、時の経過
と共にサイズを拡大し続けており、ハイエンドサーバの
場合、現サーバメモリシステムは、しばしば64Gバイ
トまで(おおよそ1/2兆記憶ビット)またはそれ以上
の範囲にある。顧客は、自身の要求に応じて、ローエン
ドサーバかまたはハイエンドサーバかを購入するよう選
択することができる。現ローエンドサーバシステムは、
一般に、1〜4のデュアルインラインメモリモジュール
(DIMM)を含み、ハイエンドサーバは、一般に、4
以上のDIMMを含む。また、一般にハイエンドサーバ
は、メモリチップ冗長性、ホットスワッピングおよびチ
ップキル(chipkill)エラー訂正を行う能力等の有用性
の高い特徴を有している。
【0003】図1Aを参照すると、ローエンドサーバシ
ステム100のメモリシステムの側面図が示されてい
る。メモリシステムは、マザーボード106に取付けら
れたCPUまたはメモリコントローラ102と、2つの
デュアルインラインメモリモジュール108a、108
bと、を有している。示されている2つのメモリモジュ
ール108a、108bは、各々、並列に接続されたN
個のメモリデバイス112を含んでいる。説明のため
に、Nは18に等しいものとする。各メモリモジュール
108a、108b上の18個のメモリデバイス112
a〜112Nは、データバス114によってメモリコン
トローラ102に接続されている。なお、データバス1
14には、基板トレース部116、コネクタ118およ
びモジュールトレース部120が含まれる。
【0004】図1Bは、図1Aに示すローエンドサーバ
のメモリモジュールのメモリ構成のブロック図を示す。
図1Bに示す実施の形態では、データバスは72ビット
幅であり、データ用に64ビット使用され、エラー訂正
用に8ビット使用される。メモリモジュール108a、
108b上の18個のメモリデバイスの各々は、4ビッ
ト幅であり、256Mバイトシステムの場合、18×4
のSDRAMの各々は32Mバイトである。18×4の
メモリデバイスは、各メモリオペレーションに対し、デ
ータバス114上への出力が72ビット幅となるよう
に、並列に接続されている。
【0005】図1Cを参照すると、図1Aに示すローエ
ンドサーバのメモリロケーションに対する読出しまたは
書込み用のクロックパルスが示されている。メモリコン
トローラは、1つのメモリモジュールから1度に1つの
ワードまたはメモリロケーションを読出す。シングルデ
ータレート(SDR)システムであって読出しオペレー
ションの場合、クロックエッジt1において、メモリモ
ジュール108のアドレス000000を有するメモリ
ロケーションが読出される。メモリロケーションの内容
は、72ビット幅である。クロックエッジt2では、い
かなるメモリオペレーションも発生しない。クロックエ
ッジt3では、メモリモジュール108のアドレスロケ
ーション000001を有する第2のメモリロケーショ
ンが読出しされる。
【0006】図2Aは、8個のDIMMモジュールを有
する従来からのハイエンドサーバシステム200用のメ
モリシステムの側面図を示す。図1Aに示すローエンド
サーバ構成と同様に、図2Aに示すメモリシステムは、
マザーボード206に取付けられたCPUまたはメモリ
コントローラ202を有しているが、ハイエンド構成
は、図1Aに示す2個のDIMM108a、108bの
代りに8個のデュアルインラインメモリモジュール20
8a〜208hを有する。メモリコントローラ202
は、基板トレース部216、コネクタ218およびモジ
ュールトレース部220を含むデータバス214によっ
て、8個のメモリモジュール208a〜208hに接続
されている。
【0007】図2Bは、図2Aに示すハイエンドサーバ
のメモリ構成のブロック図を示す。図示のハイエンドサ
ーバでは、データバスは、144ビット幅であり、12
8ビットはデータ用に使用され、16ビットはエラー訂
正用に使用される。好ましくは、各メモリモジュール
は、18個のメモリデバイス(N=18)を有し、各メ
モリデバイスは、4ビット幅である。各メモリモジュー
ルに対し、18×4のメモリデバイスが並列に接続され
ている。データは、各メモリオペレーション対して、デ
ータバス114への出力が144ビット幅であるよう
に、2つのメモリモジュールから同時に読出される。
【0008】図2Cには、図2Aに示すハイエンドサー
バのメモリロケーションに対する読出しまたは書込み用
のクロックパルスが示されている。メモリコントローラ
は、1つのメモリモジュールから1度に1つのワードま
たはメモリロケーションを読出す。ダブルデータレート
(DDR)システムであってメモリ読出しオペレーショ
ンの場合、クロックエッジt1において、メモリモジュ
ール208aのアドレス000000を有するメモリロ
ケーションと、メモリモジュール208eのアドレス0
00000を有するメモリロケーションの両方が、同時
に読出される。クロックエッジt2では、メモリモジュ
ール208aのアドレスロケーション000001を有
する第2のメモリロケーションと、メモリモジュール2
08eのアドレス000001を有する第2のメモリロ
ケーションの両方が、共に同時に読出される。
【0009】メモリサイズが増大する最近の傾向は、継
続していく可能性が高い。マイクロプロセッサメーカ
は、より高速のCPUを提供し続けている。CPU速度
が増大するに従い、CPUバスおよびサポートしている
I/Oシステムの速度が増大し、CPU毎により多くの
ユーザをサポートすることができるため、対応してCP
U毎のサーバメモリサイズが増大する。メモリシステム
のサイズが増大すると、メモリビット障害、従って、メ
モリシステム障害の可能性が増大する。顧客は、ローエ
ンドシステムに対してであっても、これら増大するメモ
リ障害を処理するために改良されたエラー訂正機能を必
要としている。
【0010】従来、ローエンドサーバでサポートされて
いなかったエラー訂正機能の1つは、業界においてチッ
プキル(chipkill)として知られているものである。従
来、チップキルという用語は、メモリ内の複数のビット
エラーを訂正する機能を言い、複数のビットエラーは、
メモリデバイスの幅である。例えば、4ビット幅の32
MビットSDRAMに対し、チップキル機能をサポート
するシステムは、メモリデバイスにおける4ビット幅エ
ラーを訂正することができる。このため、チップキルを
サポートするシステムにおいて×4構成で編成されたS
DRAMチップ全体の障害によって、システムに障害が
発生することはない。
【0011】チップキルは、例えば、2つのDIMMを
結合して、128データビットと16ECCビット(E
CCは、エラー訂正コード、すなわち、エラーチェック
および訂正コードを表す)とを含む144ビットバスに
することにより、ハイエンドチップセットに提供され
る。一般に、訂正することができるビットの数は、シス
テムがサポートするECCビットの数によって決まる。
ECCすなわちエラー訂正コードとは、一般にCRC
(巡回冗長検査)アルゴリズムに基づく、通常使用され
るエラー検出および訂正プロセスのことを言う。CRC
アルゴリズムは、データを受取った時にCRCチェッカ
によって完全なデータシーケンス(データフィールドの
終端部に付加されたCRCビットを含む)が読出される
ように作用する。完全なデータシーケンスは、CRC多
項式によってきっかりと割切れなければならない。完全
なデータシーケンスがCRC多項式によって割切れない
場合、エラーが発生したと考えられる。
【0012】一般に、ECCプロセスに基づくチップキ
ル機能をサポートするためには、追加のエラー訂正ビッ
トが必要である。訂正されるビットの数は、システムが
サポートするECCビットの数によって決まる。例え
ば、一般に、4ビット幅のメモリ編成に対して訂正する
ために使用されるCRCアルゴリズムには、図1Aに示
すローエンドサーバによって提供される8エラー訂正ビ
ットより多くのビットが必要である。従って、×4編成
に対してチップキル機能を実行するために、ローエンド
サーバには、要求されたCRCアルゴリズムを実行する
ために必要な追加のECCビットを提供する追加のメモ
リモジュールまたはデバイス(または装置)が必要であ
る。しかしながら、4ビット幅メモリ編成の訂正のため
に一般に使用されるCRCアルゴリズムでは、図2Aに
示すハイエンドサーバがサポートする16エラー訂正ビ
ットより多くのビットは必要ではないので、ハイエンド
サーバはチップキル機能をサポートすることができる。
【0013】
【発明が解決しようとする課題】チップキルによるエラ
ー訂正機能を機能を付加することを望むローエンドサー
バシステムに使用可能な代替的な実現例は、現在、IB
M社によって市販されているような、専用ロジックを提
供するカスタムASICを使用することである。カスタ
ムASICは、専用コントローラと、72ビットより大
きい、すなわち80ビットのメモリを使用して16EC
Cビットを提供し、高速SDRAMを使用する。通常必
要なECCメモリの数の2倍であるのは、ECCメモリ
に対して追加のメモリが必要とされるからである。これ
によって最大メモリサイズが制限される。カスタムAS
ICがチップキル機能を提供するが、それは比較的高価
であり、使用可能であれば標準のコンポーネントを使用
することが好ましい。更に、現在入手可能なASIC
は、使用可能なメモリサイズが制限されており、次世代
のバスシステムに必要な133MHz速度で動作しない
可能性がある。
【0014】要求されるCRCアルゴリズムを実行する
ために必要な追加のECCビットを提供するために、コ
ストのかかるカスタムASICチップあるいは追加のメ
モリモジュールまたは装置を必要としない、ローエンド
サーバシステムにおけるチップキルによるエラー検出
(以下、チップキルエラー検出)を提供するメモリシス
テム構成およびプロセスが必要とされている。
【0015】
【課題を解決するための手段】本発明は、非標準コンポ
ーネントまたは追加のメモリデバイスを必要とすること
なく、ローエンドサーバにおいてチップキルエラー検出
を提供するプロセスおよびメモリ構成を提供する。一般
に、半導体メモリデバイスに対し、エラー検出および訂
正は、ECCエラー訂正を用いて実行される。ECC訂
正を実行するためには、指定されたメモリデバイスにお
いて予め決められた数のビットが、エラー訂正のために
使用可能でなければならない。一般に、チップキル機能
に必要なエラー訂正ビットの数は、訂正されるメモリチ
ップの幅と使用されるCRCアルゴリズムに依存する。
必要とされる数のエラー訂正ビットが、メモリシステム
によって提供されない場合は、本発明による別のオプシ
ョンは、1つのDIMMモジュールにおける連続したメ
モリロケーションに対しダブルワードオペレーションを
実行することである。ダブルワード(または、2ワー
ド:doubleword)でメモリモジュールを読出すことによ
り、基本的に、データ転送毎の使用可能なECCビット
の数が以前の2倍であるシステムが提供される。一般
に、これらローエンドシステムがチップキルオペレーシ
ョンを行うために必要な数のエラー訂正ビットを有して
いないため、このダブルワード技術により、通常チップ
キルオペレーションを実行することができないローエン
ドシステムにおいて、チップキルをサポートすることが
可能となる。
【0016】上述したメモリ構成と組合わせてダブルワ
ード読出しおよび/または書込みを使用することによ
り、システム性能への影響を最小限にし、かつ、コスト
の影響を受けやすいローエンドサーバまたはワークステ
ーションのアプリケーションに対しシステムコストを増
大させることなく、チップキルオペレーションを実行す
ることができる。本発明による実施例では、今日市販さ
れているカスタムASICのように、カスタムメモリモ
ジュールが必要とせず、かつ、所定のメモリモジュール
サイズが制限されることもない。
【0017】サーバアプリケーションに対し、ダブルワ
ードを実施する場合、他の場合では無駄にされるDDR
の余分の帯域幅を使用して、チップキルオペレーション
のためのオーバヘッドを「隠す」。ローエンドサーバア
プリケーションで使用される場合、ダブルワード(16
バイト(または16B)のデータ、2バイト(または2
B)のECC)読出しの性能ペナルティは、システムバ
ス帯域幅の2倍であるメモリシステムの帯域幅によって
最小化される。PCまたはワークステーションでは、こ
の帯域幅は、メモリに対する非キャッシュ・コヒーレン
トAGPアクセス(non-cache coherent AGP access)
に対して使用されるが、これは、サーバでは適用できな
い。従って、バイト書込みオペレーションで使用される
R−M−Wに対するオーバヘッドが隠され、他の場合で
は無駄にされるであろう帯域幅が使用される。さらに、
本発明は、追加の部品またはカスタム部品を必要とする
ことなく、メモリコントローラを小変更したPCチップ
セットを用いて、サーバシステムで提供されるのと同じ
チップキル機能を提供することができる。
【0018】ダブルワード読出しを実施するか否かを決
定する際、システムを実現するシステムユーザは、ま
ず、チップキルが所望とされている機能であるか否かを
決定しなければならない。チップキル機能が望まれてい
る場合、対象とするチップのメモリ幅をサポートするの
に必要なエラー訂正ビットの数が、単一のメモリアドレ
スにおけるエラー訂正ビットによりすでに提供されてい
るか否かを決定しなければならない。必要とされるエラ
ービットの数がすでに提供されている場合、ダブルワー
ドオペレーションは必要ではない。提供されていない場
合、単一のメモリモジュールにおけるメモリロケーショ
ンに対し、ダブルワードで読出しまたは書込みを行うこ
とができる。ダブルワードでメモリモジュールを読出す
ことにより、基本的に、データ転送毎のECCの数が以
前の2倍であるシステムが提供される。この増加した数
のエラー訂正ビットは、対象とする(または、目的とす
る)チップ幅に対してチップキルオペレーションを実行
するのに十分なものである。
【0019】本発明の特徴および利点については、明細
書の他の部分および添付図面を参照することにより更に
理解されよう。
【0020】
【発明の実施の形態】本発明は、メモリコントローラと
少なくとも1つのメモリモジュールとを備えるメモリ構
成に対しチップキル機能を提供するための方法を提供す
る。メモリモジュールは、好ましくは、目的とする幅を
有する複数のメモリデバイスを含む。本発明によると、
適切な(または、十分な)数のエラー訂正ビットを提供
してチップキル機能を提供するために、メモリコントロ
ーラによりダブルワードメモリオペレーションが起動さ
れる。
【0021】図3Aを参照すると、2つのメモリモジュ
ールを含むローエンドサーバシステム300用のメモリ
システムの側面図が示されている。メモリシステムは、
マザーボード306に取付けられたCPUまたはメモリ
コントローラ302と、2つのデュアルインラインメモ
リモジュール308a、308bとを有している。2つ
のメモリモジュール308a、308bは各々、好まし
くは並列に接続されたN個のメモリデバイス312を含
んでいる。ここでは、説明のために、Nは18に等しい
ものとする。メモリモジュール308a、308b上の
18個のメモリデバイス312a〜312Nは、データ
バス314によってメモリコントローラ302に接続さ
れている。データバス314には、基板トレース部31
6と、コネクタ318と、モジュールトレース部320
が含まれる。
【0022】図3Bは、図3Aに示すローエンドサーバ
のメモリモジュールのメモリ構成のブロック図を示す。
図3Bに示す実施形態では、各DIMMモジュールは7
2ビット幅であるが、ダブルワードオペレーションによ
り、データバスは144ビット幅の有効幅を有するよう
になる。ここで、128ビットはデータに使用され、1
6ビットはエラー訂正に使用される。メモリモジュール
308a、308b上の18個のメモリデバイスの各々
は4ビット幅であり、256Mビットシステムの場合、
18×4のSDRAMの各々は32Mバイトである。
【0023】図3Cに、図3Aに示すローエンドサーバ
のメモリロケーションに対する読出しまたは書込み用の
クロックパルスを示す。メモリコントローラ302は、
単一のメモリモジュールからダブルワードを同時に読出
す。ダブルデータレート(DDR)システムであって、
読出しオペレーションの場合、クロックエッジt1にお
いて、メモリモジュール308のアドレス000000
を有するメモリロケーションが読出される。メモリアド
レス000000の内容は72ビット幅である。本発明
はダブルワードで動作するため、次に、クロックエッジ
2において、同じメモリモジュール308aにおける
アドレスロケーション000001を有する第2のメモ
リロケーションの内容が読出される。また、メモリロケ
ーション000001の内容も72ビット幅である。従
って、クロックエッジt2において、データバスから
(メモリロケーション000000からの72ビットと
メモリロケーション000001からの72ビットの)
合計144ビットが読出される。
【0024】上述したメモリ構成と組合せてダブルワー
ド読出しおよび/または書込みを用いることにより、シ
ステム性能への影響を最小限にし、かつコストの影響を
受けやすいローエンドサーバまたはワークステーション
への適用に対しシステムコストを増大させることなく、
チップキルオペレーションを実行することができる。本
発明の実施例では、今日市販されているカスタムASI
Cのように、カスタムメモリモジュールが必要ではな
く、かつ、所定のメモリモジュールサイズも制限されな
い。
【0025】サーバアプリケーションの場合、ダブルワ
ードアクセスを実施すると、ダブルワードを適用しない
場合には無駄にされることになるDDRの余分の帯域幅
が使用され、チップキルオペレーションに対するオーバ
ヘッドが「隠される」。ローエンドサーバアプリケーシ
ョンで使用される場合、ダブルワード(16バイト(ま
たは16B)のデータ、2バイト(または2B)のEC
C)の読出しによる性能ペナルティは、システムバス帯
域幅の2倍であるメモリシステムの帯域幅によって最小
化される。PCまたはワークステーションでは、この帯
域幅は、サーバでは適用できない、メモリに対する非キ
ャッシュ・コヒーレントAGPアクセスに対して使用さ
れる。従って、バイト書込みオペレーションで使用され
るR−M−Wに対するオーバヘッドが隠され、他の場合
には無駄にされることになるであろう帯域幅が使用され
る。さらに、本発明は、追加の部品またはカスタム部品
を必要とすることなく、メモリコントローラに小変更を
施したPCチップセットを用いて、サーバシステムにお
いて提供されるものと同じチップキル機能を提供するこ
とができる。
【0026】提供されるチップキルの全機能は、性能ま
たはコストの不利益を受けないハイエンドシステムのも
のに類似している。しかしながら、ダブルワードの実施
は、性能およびシステムコストに関してシステムに対し
て実質的に透過的(トランスペアレント)であるが、そ
の実施により、シングル(単一)ワードオペレーション
が発生する場合と比較すると、システムの出力が変更さ
れる場合がある。例えば、DIMMコネクタデータピン
障害の場合、本発明を実施すると、ダブルリード(読出
し)オペレーションによりダブルビットエラーが生じう
る。しかし、これは、CRCエラー訂正法によって訂正
することができる。
【0027】DIMMモジュールの置換に関しては、一
般に、ローエンドシステムの場合、ホットスペアモジュ
ールおよび基本的なエラー訂正技術を実装することは現
実的でなく、障害の発生したDIMMを置き換えるため
のサービスダウンタイム期間まで、あるいは、ホットス
ペアを提供することができるようになるまで、障害に対
する基本的な耐性に頼ることになる。使用されるCRC
多項式およびSDRAM編成にもよるが、メモリ内の障
害を訂正しその後ホットスペアで再構築することができ
るか、または、単純に訂正した後、次の1年のサーバダ
ウンタイム期間でDIMMを置換することができる。
「再構築」を処理する複雑さが最小化されている場合、
3〜4のDIMMのPCサーバシステムの場合、ホット
スペア用に1つのDIMMを使用することができる。
【0028】図4Aに、ローエンドサーバにおいてチッ
プキルを実施するか否かを決定するステップのフローチ
ャート400を示す。ダブルワード読出しを実施するか
否かを決定する際に、まず、システムを実施する者によ
り、チップキルが所望の機能であるか否かが判断されな
ければならない(ステップ404)。チップキル機能が
所望されていない場合は(ステップ406)、従来技術
によるシステムで使用されるシングルワードオペレーシ
ョンを行うことができる(ステップ408)。
【0029】チップキル機能が所望されている場合は
(ステップ410)、メモリモジュールの単一のメモリ
ロケーションによって提供されるエラー訂正ビットの数
が、メモリデバイスの所望の(データまたはバスの)幅
についてチップキルをサポートするために十分であるか
否かが判断される(ステップ414)。チップキルを実
行するための種々のアルゴリズムが周知であり、選択さ
れる特定のアルゴリズムにより、要求されるエラー訂正
ビットの数が決定される。要求されるエラー訂正ビット
の数がすでに提供されている場合(ステップ416)、
シングルワードオペレーションがチップキル機能をサポ
ートするため、ダブルワードオペレーションを行う必要
はない。また、倍の数のビットが十分な数のエラー訂正
ビットを提供するか否かの判断を行うことができる(ス
テップ420)。十分な数を提供しない場合は(ステッ
プ422)、本発明のダブルワードアクセスを実施して
チップキルを行うことはできない(ステップ424)。
十分な数を提供する場合は、単一のメモリモジュールに
おけるメモリロケーションに対してダブルワードで読出
したり書込むことができる(ステップ428)。メモリ
モジュールをダブルワードで読出すことにより、基本的
に、データ転送毎のECCの数が以前の倍であるシステ
ムが提供される。
【0030】また、図4Aにおいて説明した方法は、メ
モリコントローラが、シングルワードメモリオペレーシ
ョンを実施するか、ダブルワードメモリオペレーション
を実施するか否かを決定するために使用することができ
る。好ましい実施形態では、メモリコントローラが、シ
ステム初期化中に、シングルワードオペレーションが実
施されるか、ダブルワードオペレーションが実施される
か否かを決定する。1実施形態では、いずれが実施され
るかは、スイッチインジケータに基づいて選択される。
この場合、スイッチインジケータは、シングルワード構
成においてチップキルアルゴリズムを実行するのに十分
なビットが存在するか否かを示す。代替的には、メモリ
コントローラが、スイッチインジケータに従って、シン
グルワードメモリオペレーションとダブルワードメモリ
オペレーションとを自動的に切替えることができる。
【0031】図4Bは、シングルワードメモリオペレー
ションを利用する場合にチップキルをサポートしないロ
ーエンドサーバに、チップキルを実施するためのステッ
プのフローチャートを示す。まず、ダブルワードメモリ
オペレーションの実施が所望されているか否かが決定さ
れる(ステップ450)。好ましくは、このステップ
は、図4Aに示す方法のステップ404〜426を使用
してシステム初期化の前に実行される。次に、ダブルワ
ードメモリオペレーションの実施が所望されている場合
は、ダブルワードメモリオペレーションが実行される
(ステップ452)。要求されたデータを収集するため
にダブルワードメモリオペレーションが実行された後、
チップキルアルゴリズムが実行される(ステップ45
4)。
【0032】上記説明は、例示的なものであって、限定
することを意図したものではない。例えば、本明細書で
説明したのと同じ原理を、144ビットバス(128ビ
ットがデータ、16ビットがECC)を有するミッドレ
ンジのシステムに適用することができる。この場合、こ
のシステムは、上述した実施例と異なり、32ECCビ
ットおよび128バイトのキャッシュラインを備える2
88ビットシステムを必要とする。ダブルワードは、2
56ビットのデータと32ビットのECCであり、バー
スト長は8である。ここで、1999年10月28日に出願され
た、発明者がMichael B.RaynhamとJames G. Mathiosで
ある「Self-Healing Memory System forHigh Availabil
ity Srver」と題された出願(HP整理番号第10991629
号)と、1999年10月28日に出願された、発明者がMichae
l B.RaynhamとHans Wiggersである「Radial Arm Memory
Bus for a High Availability Computer System」と題
された出願(HP整理番号第10991678号)とは、本同時
係属出願に関連する主題を含んでおり、これらに開示さ
れた内容は参照により本明細書に組み込まれている。本
発明は、これらに開示された構成またはプロセスと組み
合わせて使用することもできる。従って、本発明の範囲
は、上記説明に関して決定されるべきではなく、特許請
求の範囲及び、それに記載された発明の均等物の全範囲
に関して決定されるべきである。
【0033】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。 1.単一のメモリモジュールにおけるエラー訂正専用の
ビット数が、コンピュータシステムによってサポートさ
れるチップキル訂正アルゴリズムの実行に必要なビット
数より少ない場合において、該コンピュータシステムの
単一のメモリモジュールにおいてメモリオペレーション
を実行するための方法であって、単一のメモリモジュー
ルにおいてダブルワードメモリオペレーションを実行す
るステップと、前記コンピュータシステムによってサポ
ートされる所望のチップキルアルゴリズムを実行するた
めに、前記ダブルワードメモリオペレーションによって
提供される追加のエラー訂正ビットを使用するステップ
を含む、方法。 2.ダブルワードメモリオペレーションの実施が望まれ
ているか否かを決定するステップを更に含み、ダブルワ
ードメモリオペレーションの実施が望まれているか否か
を決定するこのステップを、ダブルワードメモリオペレ
ーションを実行する前記ステップより前に実行する、上
項1の方法。 3.コンピュータシステムのユーザが前記チップキルア
ルゴリズムの実行を望んでいるか否かを判定するステッ
プを更に含む、上項2の方法。 4.前記単一のメモリモジュールが、該単一のメモリモ
ジュールのメモリデバイスに対してチップキルアルゴリ
ズムを実行するために必要な数のエラー訂正ビットを有
しているか否か、を判定するステップを更に含む、上項
3の方法。 5.チップキルアルゴリズムを実行するために前記コン
ピュータシステムによって必要とされるビットの数が、
前記単一のメモリモジュールにおいて使用可能なエラー
訂正ビットの数の2倍以下であるか否かを判定するステ
ップを更に含む、上項3の方法。 6.前記コンピュータシステムが、シングルワードメモ
リ(オペレーション)の実施とダブルワードメモリ(オ
ペレーション)の実施とを切り替える能力を有する、上
項2の方法。 7.メモリコントローラと、データバスと、前記データ
バスにより前記メモリコントローラに電気的に結合さ
れ、少なくとも1つのメモリデバイスを有する少なくと
も1つのメモリモジュールを具備し、コンピュータシス
テムの単一のメモリモジュールにおけるエラー訂正専用
のビット数が、該コンピュータシステムによってサポー
トされるチップキル訂正アルゴリズムを実行するために
必要なビット数より少ない場合、前記メモリコントロー
ラによってダブルワードメモリオペレーションが実行さ
れることからなる、メモリ構成。
【0034】
【発明の効果】本発明によれば、ローエンドサーバシス
テムにおいて、コストのかかるカスタムASICチップ
や追加のメモリモジュール等を必要とせずに、チップキ
ルによるエラー検出を実行可能なメモリシステム構成お
よびプロセスが提供される。
【図面の簡単な説明】
【図1A】2つのDIMMモジュールを有するローエン
ドサーバシステム用のメモリシステムの側面図を示す。
【図1B】図1Aに示すローエンドサーバのメモリモジ
ュールのメモリ構成のブロック図を示す。
【図1C】図1Aに示すローエンドサーバのメモリロケ
ーションに対する読出しまたは書込み用のクロック信号
を示す。
【図2A】8つのDIMMモジュールを有する従来のハ
イエンドサーバシステム200用のメモリシステムの側
面図を示す。
【図2B】図2Aに示すハイエンドサーバのメモリ構成
のブロック図を示す。
【図2C】図2Aに示すハイエンドサーバのメモリロケ
ーションに対する読出しまたは書込み用のクロック信号
を示す。
【図3A】本発明による2つのメモリモジュールを有す
るローエンドサーバ用のメモリシステムの側面図を示
す。
【図3B】図3Aに示すローエンドサーバのメモリモジ
ュールのメモリ構成のブロック図を示す。
【図3C】図3Aに示すローエンドサーバのメモリロケ
ーションに対する読出しまたは書込み用のクロック信号
を示す。
【図4A】ローエンドサーバにおいてチップキルを実施
するか否かを決定するためのステップのフローチャート
を示す。
【図4B】シングルワードメモリオペレーションを利用
している時にチップキルをサポートしないローエンドサ
ーバでチップキルを実施するためのステップのフローチ
ャートを示す。
【符号の説明】
300 ローエンドサーバシステム 302 コントローラ 306 マザーボード 308a、308b メモリモジュール 312 メモリデバイス 314 デーババス 316 基板トレース部 318 コネクタ 320 モジュールトレース部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】単一のメモリモジュールにおけるエラー訂
    正専用のビット数が、コンピュータシステムによってサ
    ポートされるチップキル訂正アルゴリズムの実行に必要
    なビット数より少ない場合に、該コンピュータシステム
    の単一のメモリモジュールにおいてメモリオペレーショ
    ンを実行するための方法であって、 単一のメモリモジュールにおいてダブルワードメモリオ
    ペレーションを実行するステップと、 前記コンピュータシステムによってサポートされる所望
    のチップキルアルゴリズムを実行するために、前記ダブ
    ルワードメモリオペレーションによって提供される追加
    のエラー訂正ビットを使用するステップを含む、方法。
JP2000320318A 1999-10-28 2000-10-20 ローエンドサーバまたはワークステーション用のチップキル Withdrawn JP2001142789A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/429,749 US6493843B1 (en) 1999-10-28 1999-10-28 Chipkill for a low end server or workstation
US09/429749 1999-10-28

Publications (2)

Publication Number Publication Date
JP2001142789A true JP2001142789A (ja) 2001-05-25
JP2001142789A5 JP2001142789A5 (ja) 2005-03-17

Family

ID=23704584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000320318A Withdrawn JP2001142789A (ja) 1999-10-28 2000-10-20 ローエンドサーバまたはワークステーション用のチップキル

Country Status (2)

Country Link
US (1) US6493843B1 (ja)
JP (1) JP2001142789A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701090A (zh) * 2016-01-19 2018-10-23 美光科技公司 用以支持存储器错误校正的非易失性存储器模块架构
JP2021509499A (ja) * 2018-01-03 2021-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリ・コントローラを動作させる方法、デュアル・チャネル・モードからシングル・チャネル・モードに切り替える方法、およびメモリ・コントローラ

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370668B1 (en) * 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
US7051166B2 (en) * 2003-04-21 2006-05-23 Hewlett-Packard Development Company, L.P. Directory-based cache coherency scheme for reducing memory bandwidth loss
US7065697B2 (en) * 2003-07-29 2006-06-20 Hewlett-Packard Development Company, L.P. Systems and methods of partitioning data to facilitate error correction
US7051265B2 (en) * 2003-07-29 2006-05-23 Hewlett-Packard Development Company, L.P. Systems and methods of routing data to facilitate error correction
US7143236B2 (en) * 2003-07-30 2006-11-28 Hewlett-Packard Development Company, Lp. Persistent volatile memory fault tracking using entries in the non-volatile memory of a fault storage unit
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7577890B2 (en) 2005-01-21 2009-08-18 Hewlett-Packard Development Company, L.P. Systems and methods for mitigating latency associated with error detection and correction
US7546514B2 (en) 2005-04-11 2009-06-09 Hewlett-Packard Development Company, L.P. Chip correct and fault isolation in computer memory systems
US7360132B1 (en) * 2005-05-19 2008-04-15 Sun Microsystems, Inc. System and method for memory chip kill
US7734980B2 (en) * 2005-06-24 2010-06-08 Intel Corporation Mitigating silent data corruption in a buffered memory module architecture
US7227797B2 (en) * 2005-08-30 2007-06-05 Hewlett-Packard Development Company, L.P. Hierarchical memory correction system and method
US7307902B2 (en) * 2005-08-30 2007-12-11 Hewlett-Packard Development Company, L.P. Memory correction system and method
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7975205B2 (en) * 2007-01-26 2011-07-05 Hewlett-Packard Development Company, L.P. Error correction algorithm selection based upon memory organization
US8706914B2 (en) * 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
US8848470B2 (en) 2012-08-29 2014-09-30 International Business Machines Corporation Memory operation upon failure of one of two paired memory devices
US8996935B2 (en) 2012-12-07 2015-03-31 International Business Machines Corporation Memory operation of paired memory devices
US9632862B2 (en) 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
US9697884B2 (en) 2015-10-08 2017-07-04 Rambus Inc. Variable width memory module supporting enhanced error detection and correction
KR20190062908A (ko) * 2017-11-29 2019-06-07 에스케이하이닉스 주식회사 에러 정정 방법 및 칩 킬 감지 방법
KR20210147131A (ko) 2020-05-27 2021-12-07 삼성전자주식회사 반도체 메모리 모듈을 액세스하는 방법
US11404136B2 (en) 2020-12-16 2022-08-02 Micron Technology, Inc. Memory device protection using interleaved multibit symbols
US11409601B1 (en) 2021-01-26 2022-08-09 Micron Technology, Inc. Memory device protection

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3585378A (en) * 1969-06-30 1971-06-15 Ibm Error detection scheme for memories
US5058116A (en) * 1989-09-19 1991-10-15 International Business Machines Corporation Pipelined error checking and correction for cache memories
US5335234A (en) * 1990-06-19 1994-08-02 Dell Usa, L.P. Error correction code pipeline for interleaved memory system
US5481552A (en) * 1993-12-30 1996-01-02 International Business Machines Corporation Method and structure for providing error correction code for 8-byte data words on SIMM cards
US5465262A (en) * 1994-01-28 1995-11-07 International Business Machines Corporation Method and structure for providing error correction code and automatic parity sensing
US5379304A (en) * 1994-01-28 1995-01-03 International Business Machines Corporation Method and structure for providing error correction code and parity for each byte on SIMM's
US5623506A (en) * 1994-01-28 1997-04-22 International Business Machines Corporation Method and structure for providing error correction code within a system having SIMMs
US6003144A (en) * 1997-06-30 1999-12-14 Compaq Computer Corporation Error detection and correction
US6233716B1 (en) * 1998-09-24 2001-05-15 Sun Microsystems, Inc. Technique for partitioning data to correct memory part failures
US6304992B1 (en) * 1998-09-24 2001-10-16 Sun Microsystems, Inc. Technique for correcting single-bit errors in caches with sub-block parity bits

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701090A (zh) * 2016-01-19 2018-10-23 美光科技公司 用以支持存储器错误校正的非易失性存储器模块架构
US11461042B2 (en) 2016-01-19 2022-10-04 Micron Technology, Inc. Non-volatile memory module architecture to support memory error correction
CN108701090B (zh) * 2016-01-19 2022-11-04 美光科技公司 用以支持存储器错误校正的非易失性存储器模块架构
US11797225B2 (en) 2016-01-19 2023-10-24 Lodestar Licensing Group, Llc Non-volatile memory module architecture to support memory error correction
JP2021509499A (ja) * 2018-01-03 2021-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリ・コントローラを動作させる方法、デュアル・チャネル・モードからシングル・チャネル・モードに切り替える方法、およびメモリ・コントローラ
JP7146920B2 (ja) 2018-01-03 2022-10-04 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリ・コントローラを動作させる方法、デュアル・チャネル・モードからシングル・チャネル・モードに切り替える方法、およびメモリ・コントローラ

Also Published As

Publication number Publication date
US6493843B1 (en) 2002-12-10

Similar Documents

Publication Publication Date Title
JP2001142789A (ja) ローエンドサーバまたはワークステーション用のチップキル
KR100379812B1 (ko) 하드웨어에의해메모리의ecc에러를자동적으로스크러빙하는방법및장치
JP5135348B2 (ja) メモリ装置の信頼性、可用性、およびサービス性の改善
US6754858B2 (en) SDRAM address error detection method and apparatus
EP2266116B1 (en) Systems, methods, and apparatuses to save memory self-refresh power
EP1984822B1 (en) Memory transaction replay mechanism
US6052818A (en) Method and apparatus for ECC bus protection in a computer system with non-parity memory
US5452429A (en) Error correction code on add-on cards for writing portions of data words
US8132074B2 (en) Reliability, availability, and serviceability solutions for memory technology
US20190034270A1 (en) Memory system having an error correction function and operating method of memory module and memory controller
US8886892B2 (en) Memory module and method employing a multiplexer to replace a memory device
US20080270717A1 (en) Memory module and method for mirroring data by rank
US7975205B2 (en) Error correction algorithm selection based upon memory organization
JPH0757496A (ja) 記憶装置の誤り検出装置及び記憶装置の誤り検出と訂正をおこなう方法
US20030163767A1 (en) Memory subsystem including an error detection mechanism for address and control signals
US20040237001A1 (en) Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals
US20080189481A1 (en) Methods and systems for storing data based on a reliability requirement
US20040225944A1 (en) Systems and methods for processing an error correction code word for storage in memory components
US6681299B1 (en) Cache-tag control method in information processing apparatus having cache, with error checking mechanism in cache tag, and information processing apparatus using this control method
US7392347B2 (en) Systems and methods for buffering data between a coherency cache controller and memory
JP3786418B2 (ja) メモリバンド幅損失を低減するディレクトリベースのコヒーレンシ方式
US20030163769A1 (en) Memory module including an error detection mechanism for address and control signals
JP2006085704A (ja) Eccメモリモジュール
US20080183916A1 (en) Using Extreme Data Rate Memory Commands to Scrub and Refresh Double Data Rate Memory
US20040003165A1 (en) Memory subsystem including error correction

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040408

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040408

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060719