JP2008262325A - メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体 - Google Patents

メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2008262325A
JP2008262325A JP2007103602A JP2007103602A JP2008262325A JP 2008262325 A JP2008262325 A JP 2008262325A JP 2007103602 A JP2007103602 A JP 2007103602A JP 2007103602 A JP2007103602 A JP 2007103602A JP 2008262325 A JP2008262325 A JP 2008262325A
Authority
JP
Japan
Prior art keywords
data
ecc
dimm
memory
check
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.)
Granted
Application number
JP2007103602A
Other languages
English (en)
Other versions
JP4349532B2 (ja
Inventor
Hiromi Ozawa
裕美 小澤
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2007103602A priority Critical patent/JP4349532B2/ja
Priority to US12/078,938 priority patent/US20080256416A1/en
Publication of JP2008262325A publication Critical patent/JP2008262325A/ja
Application granted granted Critical
Publication of JP4349532B2 publication Critical patent/JP4349532B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4072Circuits for initialization, powering up or down, clearing memory or presetting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】FB−DIMMメモリを迅速にテストや初期化を行うメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体を提供する。
【解決手段】複数のFB−DIMMメモリの初期化はその内部のメモリコントローラにより行い、外部のシステム本体内に外部のメモリコントローラ201を設け、このメモリコントローラ201によりFB−DIMM30にデータ書き込み時にアドレスパリティを含むECCを作成し、メモリに書き込む。
【選択図】図2

Description

本発明はメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体に関し、特にFB−DIMMメモリのテストや初期化を行うメモリ制御装置および方法並びにそれを使用する情報処理システムに関する。
コンピュータやサーバ等の情報処理システム等にあっては各種プログラムやデータを記憶保存するために記憶容量の大きいメモリを使用している。斯かるプログラムやデータの記憶保存用のメモリには、ハードディスクデバイス(HDD)等の磁気的記憶デバイスと共にDRAM(ダイナミック・ランダムアクセス・メモリ)等の半導体メモリが使用されている。斯かる半導体メモリは、DIMM(Dual Inline Memory Module)として、システム本体に予め内蔵するか、必要に応じて追加(増設)されるのが一般的である。
従来、斯かるメモリ上のデータをECC(Error Correcting Code:エラー訂正コード)で保証する場合には、ECC付きデータによりメモリのテストや初期化を行う必要がある。最近では、Chipkill対応ECCを用いるようになっている。Chipkillとは、同時にアクセスするDRAMチップの1つに障害が発生した場合でも、有効なデータをメモリに保持し続け、システムを連続して稼動可能にする技術である。Chipkill対応ECCの1例
には、S4EC−D4EDコードを使用したECCがある。このS4EC−D4EDコードのECCを使用できるDIMM(Dual Inline Memory Module)は、DRAMチップ幅が4ビット幅の場合である。一方、S4EC−D4EDコードのECCを作成するデータ幅は16バイトである。
更に、ミッションクリティカルな領域で使用されるシステムの可用性を考えると、Chipkill対応ECCにアドレスのパリティを埋め込んだECCを作成し、メモリのテストや初期化を行う必要がある。通常、メモリのテストや初期化は、ある一定値のデータに対してECCの作成を行うため、作り出されるChipkill対応ECCの値は全アドレス同じ値となってしまう。そのため、システム運用時にエラーを検出した場合に、どのアドレスのデータがエラーしたのか判断することができない。しかし、アドレスのパリティを埋め込んだChipkill対応のECCによりメモリのテストや初期化を行った場合には、システム運用時にエラーを検出した場合に、どのアドレスのデータがエラーしたのか即座に判断することができ、システムの可用性を向上させることができる。
通常のDIMMの場合には、メモリのテストや初期化はシステムのメモリコントローラを使用して行われる。これはDIMM上にメモリコントローラ機能が搭載されていないためである。システムのメモリコントローラの機能を用いてメモリのテストや初期化を行う場合には、メモリのテストや初期化を実行するアドレス、ECC、データの幅、データの値等を自由に作成できるので、アドレスのパリティを埋め込んだChipkill対応ECCを作成し、メモリのテストや初期化を行なうことが可能となる。従って、システムのメモリコントローラを使用してメモリのテストや初期化を行なう場合には、システムの可用性を向上させつつ、メモリのテストや初期化を行うことが可能である。
しかし、システムの全メモリについて、指定したアドレス毎に、メモリのテストや初期化を行わなければならないため、メモリのテストや初期化に多くの時間がかかってしまうという課題がある。そこで、DRAM規格の1つであるFB−DIMM(Fully Buffered DIMM)にはメモリコントローラが搭載されている。FB−DIMMのメモリコントローラに、ECC付きデータや、ある一定値のデータを指定すると、FB−DIMMのメモリコントローラが、指定されたデータを使用して、メモリのテストや初期化を行う機能が備わっている。この機能を使用すると、FB−DIMM単位で、パラレルにメモリのテストや初期化を行うことが可能である。
斯かるFB−DIMMのメモリテストやECCに関する従来技術は、種々の文献に開示されている。ECC/Chipkill回路を使用する冗長メモリモジュールおよびメモリコントローラが開示されている(例えば、特許文献1参照。)。また、FB−DIMMを使用するメモリモジュール内でのインタフェースタイミングを制御するメモリシステムおよびタイミング制御方法が開示されている(例えば、特許文献2参照。)。更に、起動時にメモリにECCを含む初期化データを書き込むメモリ初期化設定方式が開示されている(例えば、特許文献3参照。)。
特開2003−303139号公報(第5−6頁、第1図) 特開2006−127515号公報(第6−7頁、第1図) 特開昭61−34646号公報(第2頁、第1図)
図7は、メモリ制御装置を使用する情報処理システム(以下、単にシステムという場合もある)の全体構成例を示すブロック図である。このシステム10は、システム本体20およびこのシステム本体20に接続された複数(この特定例では8枚)のFB−DIMMメモリ(以下、単にFB‐DIMMという)30a〜30hにより構成されている。システム本体20には、これらのFB−DIMM30を制御するメモリコントローラ21が内蔵されている。
上述のFB−DIMMのメモリコントローラ機能を使用すると、図7に示す如く8枚のFB−DIMM30を同時に制御、例えばテストや初期化を行うことが可能である。システム本体20のメモリコントローラ(外部メモリコントローラ)21を使用してメモリのテストや初期化を行う場合には、FB−DIMM30を1枚ずつテストや初期化を行う必要がある。従って、FB−DIMMのメモリコントローラ機能を用いてメモリのテストや初期化を行う場合には、システム本体20のメモリコントローラ21を使用する場合に比べ、大幅にメモリのテストや初期化時間を短縮することが可能となる。
上述の如きシステム10において、FB−DIMM30のメモリコントローラ機能を用いてメモリのテストや初期化を行う場合には、FB−DIMM30単位でパラレル処理ができるため、システムに搭載するFB−DIMM30の枚数が増加しても、メモリのテストや初期化にかかる時間は、FB−DIMM30の枚数が増加する前と変わらない。更に、FB−DIMM30のメモリ容量が増えた場合には、FB−DIMM30のメモリコントローラ機能を用いてメモリのテストや初期化を行う場合も、メモリのテストや初期化時間は増加するが、増加する時間は、FB−DIMM単位でパラレル処理ができるため、FB−DIMM1枚の増加したメモリ容量分だけということになる。一方、システム10のシステム本体20に内蔵されたメモリコントローラ21を用いてメモリ30のテストや初期化を行う場合には、『FB−DIMM 1枚の増加したメモリ容量 × 搭載されているFB−DIMM30の枚数』分、メモリのテストや初期化時間が増加してしまうことになる。
しかし、FB−DIMM30のメモリコントローラ機能を用いてメモリのテストや初期化を行う場合には、メモリのテストや初期化の時間を短縮することは可能であるが、アドレスパリティを埋め込んだChipkill対応ECCによりメモリ30のテストや初期化を行うことができない。そのため、システム10のメモリコントローラ21を用いてメモリ30のテストや初期化を行った場合に比べ、システム10の可用性が著しく低下してしまう。従って、現在ミッションクリティカルな領域で使用されるシステムにおいては、システム10の可用性を向上するため、システム10のメモリコントローラ21の機能を用いて、メモリのテストや初期化を行わざるを得ないという課題を有する。
本発明は、従来技術の上述した課題に鑑みなされたものであり、斯かる課題を解消又は軽減して、システムの可用性を維持しつつメモリの初期化を迅速且つ効率的に行うことが可能なメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体を提供することを主たる目的とする。
上述した課題を解決し且つ上述した目的を達成するために、本発明のメモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体は、次の如き特徴的な構成を採用している。
(1)複数のFB−DIMMメモリを使用するシステムの前記FB−DIMMを制御するメモリ制御装置において、
アドレスパリティを埋め込んだChipkill対応ECCを作成して前記FB−DIMMへ送出するFB−DIMM送出ECC生成回路と、
前記FB−DIMMから受信したECCがアドレスパリティを埋め込んだChipkill対応ECCであるか否かをチェックする第1データECCチェック/訂正回路と、
前記FB−DIMMから受信したECCが前記メモリのテストや初期化時のECCであるか否かをチェックする第2データECCチェック/訂正回路と、
前記第1および第2データECCチェック/訂正回路の結果により前記第1又は第2データECCチェック/訂正回路からのデータを使用するか判定するデータエラーセレクタ回路と、
を備えるメモリ制御装置。
(2)前記FB−DIMM送出ECC生成回路からの前記アドレスパリティを埋め込んだChipkill対応ECCは、前記システムのプロセッサ又はIOデバイスから受信したデータのECCチェックおよびエラー訂正を行うリクエスタデータECCチェック/訂正回路の出力に基づいて生成される上記(1)のメモリ制御装置。
(3)前記データエラーセレクト回路の出力に基づき前記システムのプロセッサ又はIOデバイスへ送出されるECCを作成するリクエスタ送出ECC生成回路を備える上記(1)又は(2)のメモリ制御装置。
(4)前記データエラーセレクタ回路は、予め決められたテーブルに基づいて前記使用するデータを決定する上記(1)、(2)又は(3)のメモリ制御装置。
(5)前記第2データECCチェック/訂正回路から送出されたECCおよびデータを前記リクエスタデータECCチェック/訂正回路へも送出する上記(2)のメモリ制御装置。
(6)前記第2データECCチェック/訂正回路は、前記FB−DIMMから受信したデータの一致チェックを行うFB−DIMMデータ一致チェック回路である上記(1)乃至(5)の何れかのメモリ制御装置。
(7)複数のFB−DIMMメモリを使用するシステムのメモリ制御方法において、
前記FB−DIMM内のメモリコントローラにより前記メモリの初期化を行うステップと、
前記システム内に設けられた前記FB−DIMMのメモリコントローラと異なる外部メモリコントローラにより前記メモリにデータ書き込み時にアドレスパリティを含むECCを作成するステップと、
該作成されたECCを前記メモリに書き込むステップと
を備えるメモリ制御方法。
(8)上記(7)に記載されている処理ステップをコンピュータに実行させるプログラム。
(9)上記(8)のプログラムを格納した記憶媒体。
(10)上記(1)乃至(7)の何れかのメモリ制御装置により制御される複数のFB−DIMMメモリを使用する情報処理システム。
(11)上記(7)のメモリ制御方法により制御される複数のFB−DIMMメモリを使用する情報処理システム。
上述の如き特徴的な構成を採用する本発明のメモリ制御装置、方法及び情報処理システムによると、次の如き実用上の特有の効果を奏する。先ず、FB−DIMMのメモリコントローラ機能を用いてメモリのテストや初期化を行うので、メモリ容量が増加した場合に、テストや初期化の時間を大幅に短縮可能である。
また、FB−DIMMのメモリコントローラ機能を用いてメモリのテストや初期化を行うにも拘らず、従来と同じシステムの可用性を維持し且つメモリのテストや初期化時間の短縮が可能である。
以下、本発明によるメモリ制御装置、メモリ制御方法、情報処理システムの好適な実施の形態の構成および動作を、添付図面を参照して詳細に説明する。なお、本発明は、以下に説明するような処理をコンピュータに実行させるためのプログラムやそれを格納した記憶媒体を包含することは言うまでもない。
先ず、図1を参照して本発明によるメモリ制御装置および方法を使用する情報処理システムの第1実施の形態について説明する。図1は、図6のシステム本体20内のメモリコントローラに対応する部分を示し、図1(A)は、システム(情報処理システム)のプロセッサ又はIOデバイスからデータをFB−DIMMにライト(書き込み)する際のメモリコントローラ(メモリ制御装置)の構成を示すブロック図である。他方、図1(B)は、FB−DIMMからリード(読み出)したデータをシステムのプロセッサ又はIOデバイス(図1中には図示せず)へ送信する際のメモリコントローラの構成を示すブロック図である。
図1(A)において、メモリコントローラ201は、2つのリクエスタデータECCチェック/訂正回路(SEC−DED)202、203およびこれらリクエスタデータECCチェック/訂正回路(SEC−DED)202、203に接続されたFB−DIMM送出ECC生成回路(S4EC−D4ED)204を含んでいる。ここで、リクエスタデータECCチェック/訂正回路(SEC−DED)202、203は、プロセッサ又はIOデバイスから受信した16バイトデータのうち8バイトデータの、ECCチェックおよびエラー訂正を行う。また、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)204は、リクエスタデータECCチェック/訂正回路(SEC−DED)202、203から送出された残りの8バイトデータから、FB−DIMMに送出するためのアドレスパリティを埋め込んだChipkill対応ECCを作成する。
他方、図1(B)において、メモリコントローラ201は、第1データECCチェック/訂正回路であるFB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)302、第2データECCチェック/訂正回路である2つのFB−DIMMデータECCチェック/訂正回路(SEC−DED)303、304、これらデータECCチェック/訂正回路302〜304に接続されたデータエラーセレクト回路305、このデータエラーセレクト回路305に接続された2つのリクエスタ送出ECC生成回路(SEC−DED)306、307およびこれら2つのリクエスタ送出ECC生成回路(SEC−DED)306、307に接続されたデータセレクタ308を含んでいる。
ここで、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)302およびFB−DIMMデータECCチェック/訂正回路(SEC−DED)303、304は、FB−DIMM(図6中の30参照)から受信したデータのECCチェックおよびエラー訂正を行う。特に、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)302は、FB−DIMM30から受信したECCが、アドレスパリティを埋め込んだChipkill対応ECCであるか否かをチェックする。FB−DIMMデータECCチェック/訂正回路(SEC−DED)303−304は、FB−DIMM30から受信したECCが、メモリのテストや初期化時のECCであるか否かをチェックする。
また、データエラーセレクト回路305は、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)302とFB−DIMMデータECCチェック/訂正回路(SEC−DED)303および304のECCチェック結果により、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)302から送出されたデータを使用するか、FB−DIMMデータECCチェック/訂正回路(SEC−DED)303、304から送出されたデータを使用するかを判定する。リクエスタ送出ECC生成回路(SEC−DED)306、307は、データエラーセレクト回路305から送出されたデータから、プロセッサ又はIOデバイスに送出するためのECC作成を行う。データセレクタ308は、プロセッサ又はIOデバイスに送出するデータをセレクトする。
次に、図1および図2を参照して、本発明による第1実施の形態のメモリ制御装置の動作を説明する。図2は、図1(B)中に示す上述したデータエラーセレクト回路305においてセレクトされるデータを説明する説明図又はテーブルである。
先ず、メモリ30のテストや初期化について説明する。メモリのテストや初期化は、FB−DIMM30のメモリコントローラ機能を用いて、ECC付きデータによりメモリのテストや初期化を行う。FB−DIMM30のメモリコントローラ機能を用いて、メモリのテストや初期化を行なうことにより、システム10のシステム本体20に内蔵されたメモリコントローラ21(又は図1の外部メモリコントローラ201)には、メモリのテストや初期化を行う機能の搭載は不要となる。
次に、システムの運用時において、FB−DIMM30からリード(読み出)したデータについて説明する。FB−DIMM30から受信したECCとデータは、図1(B)のFB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)302およびFB−DIMMデータECCチェック/訂正回路(SEC−DED)303、304に送出される。FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)302およびFB−DIMMデータECCチェック/訂正回路(SEC−DED)303、304のECCチェック結果とデータを、データエラーセレクト回路305に送出する。
データエラーセレクト回路305では、図2の説明図に示されるデータエラーセレクト方法又はテーブルにより、セレクトするデータの判断およびECCエラーを検出するか否かの判断を行う。そして、このデータエラーセレクト回路305の判断結果によりリクエスタ送出ECC生成回路(SEC−DED)306、307からECCおよびデータを送出する。リクエスタ送出ECC生成回路(SEC−DED)306、307より送出されたECCとデータは、データセレクタ308を介してプロセッサ又はIOデバイスへ送出される。
図2には、図2中の回路302、〜304の結果、データセレクト回路305のセレクトデータ、エラー検出をする又はしないおよびセレクトされたデータとエラー検出に関する説明が示されている。具体的に説明すると、第1行では、回路302〜304の結果が全てOKであり、データセレクタ305は、回路302のデータをセレクトし、エラー検出はしない。即ち、プロセッサ又はIOデバイスからのリクエストにより、実際にメモリにライトされた(書き込まれた)データと判断し、エラー検出はしない。他方、末行では、回路302〜304の結果が全てNGであり、データセレクト回路305は回路303、304のデータをセレクトする。そして、エラー検出を行い、メモリのテスト又は初期化時にライトされたデータと判断し、エラー検出する。訂正可能エラーは、FB−DIMMデータECCチェック/訂正回路303、304によりエラー訂正される。尚、その他の場合は、図2に示すとおりであるので、説明を省略する。
次に、図3および図4を参照して、本発明による第2実施の形態のメモリ制御装置について説明する。図3および図4は、それぞれ上述した図1(B)および図1(A)に対応するメモリコントローラ内部構成を示すブロック図である。そして、図4は、メモリコントローラを構成する各回路の動作説明図である。
先ず、図3(A)は、FB−DIMM30から受信した(又は読み出された)データを、プロセッサ又はIOデバイスへ送信するメモリコントローラ401のブロック図である。他方、図3(B)は、プロセッサ又はIOデバイスから受信した(又は書き込み)データをFB−DIMM30へ送信するブロック図である。また、図4は、回路402〜404の結果、データセレクト回路405のセレクトデータ、エラー検出をする又はしないおよびセレクトされたデータとエラー検出についての説明図又はテーブルである。
図3(A)において、メモリコントローラ401は、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)402、2つのFB−DIMMデータECCチェック/訂正回路403−404、データエラーセレクト回路405、2つのリクエスタ送出ECC生成回路(SEC−DED)406−407およびデータセレクタ408により構成される。ここで、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)402およびFB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404は、FB−DIMM30から受信したデータのECCチェックおよびエラー訂正を行う。特に、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)402は、FB−DIMM30から受信したECCが、アドレスパリティを埋め込んだChipkill対応ECCであるか否かをチェックする。FB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404は、FB−DIMM30から受信したECCが、メモリのテストや初期化時のECCであるか否かをチェックする。
また、データエラーセレクト回路405は、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)402およびFB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404のECCチェック結果により、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)402から送出されたデータを使用するか、FB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404から送出されたデータを使用するかを判定する。リクエスタ送出ECC生成回路(SEC−DED)406、407は、データエラーセレクト回路405から送出されたデータから、プロセッサ又はIOデバイスに送出するためのECC作成を行う。データセレクタ408は、プロセッサ又はIOデバイスに送出するデータをセレクトする。
更に、FB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404から送出されたECCとデータを、プロセッサ又はIOデバイスから受信したデータをFB−DIMMへ送信するブロックへ送出するFB−DIMMチェックデータ通知信号409、410を有する。
他方、図3(B)において、メモリコントローラ401は、2つのリクエスタデータECCチェック/訂正回路(SEC−DED)502、503およびFB−DIMM送出ECC生成回路(S4EC−D4ED)504を含んでいる。ここで、リクエスタデータECCチェック/訂正回路(SEC−DED)502、503は、プロセッサ又はIOデバイスから受信したデータのECCチェックおよびエラー訂正を行う。FB−DIMM送出ECC生成回路(S4EC−D4ED)504は、リクエスタデータECC
チェック/訂正回路(SEC−DED)502、503から送出されたデータから、FB−DIMM30へ送出するためのECCを作成する。
次に、図3および図4を参照して本発明による第2実施の形態のメモリ制御装置の動作を説明する。先ず、メモリのテストや初期化は、上述の動作の説明と同様に、FB−DIMM30のメモリコントローラ機能を用いて、ECC付きデータにより行う。
次に、システム運用時には、システムのメモリコントローラの機能である「パトロール機能」によりFB−DIMM30から読み出したデータについて説明する。ここで、「パトロール機能」とは、全メモリ空間を定期間内に順番にリードしてデータを読み出し、ECCチェックを行う機能のことである。ソフトエラーによるデータ破壊を事前に発見/訂正し、訂正不可能な致命的エラーになるのを防ぐ目的で行われる機能である。
FB−DIMM30から受信したECCおよびデータは、図3(A)のFB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)402およびFB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404に送出される。FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)402およびFB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404のECCチェック結果とデータを、データエラーセレクト回路405に送出する。データエラーセレクト回路405では、図4の説明図に示されるデータエラーセレクト方法又はテーブルにより、セレクトするデータの判断とECCエラーを検出するか否かの判断を行い、リクエスタ送出ECC生成回路(SEC−DED)406、407に送出する。リクエスタ送出ECC生成回路(SEC−DED)406、407より送出されたECCとデータは、データセレクタ408により、プロセッサ又はIOデバイスへ送出される。
図4には、上述の如く、図3(A)の各回路402〜404の結果、データセレクト回路405のセレクトデータ、エラー検出をする又はしないおよびセレクトされたデータとエラー検出に関する説明が示されている。データエラーセレクト回路405において、メモリのテストや初期化のデータと判断された場合(図4の番号5、6、7および8)には、FB−DIMMデータECCチェック/訂正回路(SEC−DED)403、404から送出されたECCとデータを、FB−DIMMチェックデータ通知信号409および410により、図3(B)のリクエスタデータECCチェック/訂正回路(SEC−DED)502、503に送出する。
ECCチェックでエラーを検出していない図4の番号5のECCとデータの場合には、FB−DIMM送出ECC生成回路(S4EC−D4ED)504において、アドレスパリティを埋め込んだChipkill対応ECCを作成し、ECCとデータをFB−DIMM30へ送出する。他方、ECCチェックでエラーを検出した図4の番号6、7および8のECCとデータの場合には、FB−DIMM送出ECC生成回路(S4ED−D4ED)504において、poisonedデータのECCを作成し、ECCとデータをFB−DIMM30へ送出する。
次に、図5および図6を参照して、本発明によるメモリ制御装置の第3実施の形態について説明する。図5は、FB−DIMM30から受信した(又は読み出された)データを、プロセッサ又はIOデバイスへ送信するメモリコントローラ601のブロック図である。図6は、図5中のデータエラーセレクト回路605の動作説明図である。
図5において、メモリコントローラ601は、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)602、FB−DIMMデータ一致チェック回路603、データエラーセレクト回路605、2つのリクエスタ送出ECC生成回路(SEC−DED)606、607およびデータセレクタ608を含んでいる。ここで、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)602は、FB−DIMM30から受信したデータのECCチェックおよびエラー訂正を行う。FB−DIMMデータ一致チェック回路603は、FB−DIMM30から受信したデータの一致チェックを行う。FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)602は、FB−DIMM30から受信したECCが、アドレスパリティを埋め込んだChipkill対応ECCであるか否かをチェックする。FB−DIMMデータECCチェック/訂正回路603は、FB−DIMM30から受信したデータが、メモリのテストや初期化によりFB−DIMM30にライトされたデータであるか否かをチェックする。
また、データエラーセレクト回路605は、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)602のECCチェック結果およびFB−DIMMデータ一致チェック回路603のデータ一致チェック結果により、FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)602から送出されたデータを使用するか、FB−DIMMデータ一致チェック回路603から送出されたデータを使用するかを判定する。リクエスタ送出ECC生成回路(SEC−DED)606、607は、データセレクト回路605から送出されたデータから、プロセッサ又はIOデバイスに送出するためのECC作成を行う。データセレクタ608は、プロセッサ又はIOデバイスに送出するデータをセレクトする。
先ず、メモリのテストや初期化について説明する。メモリのテストや初期化は、FB−DIMM30のメモリコントローラ機能を用いて、ある一定値のデータをメモリにライトする(書き込む)ことにより行う。
次に、システムの運用時において、FB−DIMM30から読み出されたデータについて説明する。FB−DIMM30から受信したECCおよびデータは、図5のFB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)602およびFB−DIMMデータ一致チェック回路603に送出される。FB−DIMMデータECCチェック/訂正回路(S4EC−D4ED)602のECCチェック結果とデータ、FB−DIMMデータ一致チェック回路603のデータ一致チェック結果とデータを、データエラーセレクト回路605に送出する。データエラーセレクト回路605では、図6に示すデータエラーセレクト方法またはテーブルにより、セレクトするデータの判断やエラーを検出するか否かの判断を行い、リクエスタ送出ECC生成回路(SEC−DED)606、607に送出する。リクエスタ送出ECC生成回路(SEC−DED)606、607より送出されたデータは、データセレクト608によりプロセッサ又はIOデバイスへ送出される。
図6の説明図を参照して具体的に説明すると、図5中の回路602および603の結果が共にOKの場合には、データセレクト回路605のセレクトデータは回路602のデータであり、エラー検出はしない。そして、プロセッサ又はIOデバイスからのリクエストにより、実際にメモリにライトされたデータと判断する(図6中の第1行参照)。他方、回路602および603の結果が共にNGの場合には、データセレクト回路605は回路603のデータをセレクトし、メモリのテスト又は初期化時にライトされたデータと判断し、エラー検出する(図6中の末行参照)。その他の場合については、図6から明らかであるので、説明を省略する。
以上、本発明によるメモリ制御装置および方法並びにそれを使用する場報処理システムを、好適な実施の形態に基づいて詳述した。しかし、斯かる実施の形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨や精神を逸脱することなく、特定用途に応じて種々の変形変更が可能であること、当業者には容易に理解できよう。
本発明の第1実施の形態のメモリ制御装置の構成を示し、(A)はメモリのライト(書き込み)時、(B)はメモリのリード(読み出し)時のブロック図である。 図1に示す第1の実施の形態における動作説明図である。 本発明の第2実施の形態のメモリ制御装置の構成を示し、(A)はメモリのリード(読み出し)時、(B)はメモリのライト(書き込み)時のブロック図である。 図3に示す第2実施の形態における動作説明図である。 本発明の第3実施の形態のメモリ制御装置のメモリのリード(読み出し)時の構成を示すブロック図である。 図5に示すメモリ制御装置の動作説明図である。 FD−DIMMメモリのメモリ制御装置が適用される代表的なシステムのシステム構成図である。
符号の説明
10 情報処理システム
21、201、401、601 メモリコントローラ(メモリ制御装置)
30a〜30h FB−DIMM(メモリ)
202、203、502、503 リクエスタデータECCチェック/訂正回路
204、504 FB−DIMM送出ECC生成回路
302、402、602 FB−DIMMデータECCチェック/訂正回路
303、304、403、404 FB−DIMMデータECCチェック/訂正回路
305、405、605 データエラーセレクト回路
406、307、406、407 606、607 リクエスタ送出ECC生成回路
308、408、608 データセレクタ
603 FB−DIMMデータ一致チェック回路

Claims (11)

  1. 複数のFB−DIMMメモリを使用するシステムの前記FB−DIMMを制御するメモリ制御装置において、
    アドレスパリティを埋め込んだChipkill対応ECCを作成して前記FB−DIMMへ送出するFB−DIMM送出ECC生成回路と、
    前記FB−DIMMから受信したECCがアドレスパリティを埋め込んだChipkill対応ECCであるか否かをチェックする第1データECCチェック/訂正回路と、
    前記FB−DIMMから受信したECCが前記メモリのテストや初期化時のECCであるか否かをチェックする第2データECCチェック/訂正回路と、
    前記第1および第2データECCチェック/訂正回路の結果により前記第1又は第2データECCチェック/訂正回路からのデータを使用するか判定するデータエラーセレクタ回路と、
    を備えることを特徴とするメモリ制御装置。
  2. 前記FB−DIMM送出ECC生成回路からの前記アドレスパリティを埋め込んだChipkill対応ECCは、前記システムのプロセッサ又はIOデバイスから受信したデータのECCチェックおよびエラー訂正を行うリクエスタデータECCチェック/訂正回路の出力に基づいて生成されることを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記データエラーセレクト回路の出力に基づき前記システムのプロセッサ又はIOデバイスへ送出されるECCを作成するリクエスタ送出ECC生成回路を備えることを特徴とする請求項1又は2に記載のメモリ制御装置。
  4. 前記データエラーセレクタ回路は、予め決められたテーブルに基づいて前記使用するデータを決定することを特徴とする請求項1、2又は3に記載のメモリ制御装置。
  5. 前記第2データECCチェック/訂正回路から送出されたECCおよびデータを前記リクエスタデータECCチェック/訂正回路へも送出することを特徴とする請求項2に記載のメモリ制御装置。
  6. 前記第2データECCチェック/訂正回路は、前記FB−DIMMから受信したデータの一致チェックを行うFB−DIMMデータ一致チェック回路であることを特徴とする請求項1乃至5の何れかに記載のメモリ制御装置。
  7. 複数のFB−DIMMメモリを使用するシステムのメモリ制御方法において、
    前記FB−DIMM内のメモリコントローラにより前記メモリの初期化を行うステップと、
    前記システム内に設けられた前記FB−DIMMのメモリコントローラと異なる外部メモリコントローラにより前記メモリにデータ書き込み時にアドレスパリティを含むECCを作成するステップと、
    該作成されたECCを前記メモリに書き込むステップと
    を備えることを特徴とするメモリ制御方法。
  8. 請求項7に記載されている処理ステップをコンピュータに実行させるプログラム。
  9. 請求項8のプログラムを格納した記憶媒体。
  10. 請求項1乃至7の何れかのメモリ制御装置により制御される複数のFB−DIMMメモリを使用する情報処理システム。
  11. 請求項7に記載のメモリ制御方法により制御される複数のFB−DIMMメモリを使用する情報処理システム。
JP2007103602A 2007-04-11 2007-04-11 メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体 Expired - Fee Related JP4349532B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007103602A JP4349532B2 (ja) 2007-04-11 2007-04-11 メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
US12/078,938 US20080256416A1 (en) 2007-04-11 2008-04-08 Apparatus and method for initializing memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007103602A JP4349532B2 (ja) 2007-04-11 2007-04-11 メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2008262325A true JP2008262325A (ja) 2008-10-30
JP4349532B2 JP4349532B2 (ja) 2009-10-21

Family

ID=39854874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007103602A Expired - Fee Related JP4349532B2 (ja) 2007-04-11 2007-04-11 メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体

Country Status (2)

Country Link
US (1) US20080256416A1 (ja)
JP (1) JP4349532B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244553A (ja) * 2009-03-31 2010-10-28 Sean Eilert 大容量記憶装置を接続するための階層型メモリアーキテクチャ
JP2011192211A (ja) * 2010-03-16 2011-09-29 Fujitsu Ltd 制御装置,試験方法及び試験プログラム
CN103258574A (zh) * 2012-02-11 2013-08-21 三星电子株式会社 用于远程存储系统诊断和优化的体系结构和方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252558A (ja) * 2011-06-03 2012-12-20 Sony Corp 不揮発性メモリ、メモリコントローラ、不揮発性メモリのアクセス方法、およびプログラム
WO2013028827A1 (en) 2011-08-24 2013-02-28 Rambus Inc. Methods and systems for mapping a peripheral function onto a legacy memory interface
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
US10860474B2 (en) 2017-12-14 2020-12-08 Micron Technology, Inc. Multilevel addressing
TWI719550B (zh) * 2019-07-23 2021-02-21 慧榮科技股份有限公司 記憶體控制器、資料儲存裝置及其開卡方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3969240B2 (ja) * 2002-08-02 2007-09-05 ソニー株式会社 半導体記憶装置
JP4734033B2 (ja) * 2005-05-30 2011-07-27 株式会社東芝 記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244553A (ja) * 2009-03-31 2010-10-28 Sean Eilert 大容量記憶装置を接続するための階層型メモリアーキテクチャ
JP2011192211A (ja) * 2010-03-16 2011-09-29 Fujitsu Ltd 制御装置,試験方法及び試験プログラム
CN103258574A (zh) * 2012-02-11 2013-08-21 三星电子株式会社 用于远程存储系统诊断和优化的体系结构和方法

Also Published As

Publication number Publication date
JP4349532B2 (ja) 2009-10-21
US20080256416A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
CN110120243B (zh) 半导体存储器装置、操作其的方法以及存储器系统
CN110148434B (zh) 半导体存储器件、存储系统和操作半导体存储器件的方法
JP4349532B2 (ja) メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
CN111566621B (zh) 使用双通道存储器作为具有间隔的单通道存储器
US8869007B2 (en) Three dimensional (3D) memory device sparing
US8874979B2 (en) Three dimensional(3D) memory device sparing
US20190034270A1 (en) Memory system having an error correction function and operating method of memory module and memory controller
JP2018028910A (ja) Ddr sdramインタフェイスのためのdram支援エラー訂正メカニズム
US20080270717A1 (en) Memory module and method for mirroring data by rank
US20130198587A1 (en) Memory buffer performing error correction coding (ecc)
US9570197B2 (en) Information processing device, computer-readable recording medium, and method
JP2010009102A (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
CN109785893B (zh) 用于验证存储器适当操作的错误纠正码校验位的冗余存储
US11650752B2 (en) Computing system and operating method thereof
US11030040B2 (en) Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system
CN112306737A (zh) 控制易失性存储器装置的修复的方法和存储装置
JP2007066423A (ja) 半導体集積回路装置
US8995217B2 (en) Hybrid latch and fuse scheme for memory repair
US20210216419A1 (en) Memory module, memory system including the same and operation method thereof
CN114490172B (zh) 数据存储系统及方法
JP2006512630A (ja) エラー訂正を含むメモリ・サブシステム
US11182231B2 (en) Host system and computing system including the host system
KR20170143084A (ko) 반도체장치 및 반도체시스템
KR102427323B1 (ko) 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법
EP4174657A1 (en) Memory device, memory module including the memory device, and operating method of memory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090715

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees