JP2010238192A - メモリ制御装置、メモリモジュール及びメモリ制御方法 - Google Patents

メモリ制御装置、メモリモジュール及びメモリ制御方法 Download PDF

Info

Publication number
JP2010238192A
JP2010238192A JP2009088381A JP2009088381A JP2010238192A JP 2010238192 A JP2010238192 A JP 2010238192A JP 2009088381 A JP2009088381 A JP 2009088381A JP 2009088381 A JP2009088381 A JP 2009088381A JP 2010238192 A JP2010238192 A JP 2010238192A
Authority
JP
Japan
Prior art keywords
area
data
defective
storage
defect
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
JP2009088381A
Other languages
English (en)
Other versions
JP5365310B2 (ja
Inventor
Sadao Miyazaki
貞夫 宮崎
Osamu Ishibashi
修 石橋
Rikizo Nakano
力蔵 中野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009088381A priority Critical patent/JP5365310B2/ja
Priority to US12/725,893 priority patent/US8495463B2/en
Publication of JP2010238192A publication Critical patent/JP2010238192A/ja
Application granted granted Critical
Publication of JP5365310B2 publication Critical patent/JP5365310B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Indication or identification of errors, e.g. for repair
    • 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/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • 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
    • 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
    • G11C2029/1208Error catch memory
    • 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

Abstract

【課題】出荷後において記憶装置に不良領域が生じた場合でも継続して使用することができるメモリ制御装置、メモリモジュール及びメモリ制御方法の提供。
【解決手段】記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、前記記憶領域に含まれる、データの格納が不可能な不良領域を検出し、検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶し、前記不良領域への書込みが実行されたデータを、所定の記憶領域に記憶された不良情報に基づき、不良領域以外の記憶領域に書込む。
【選択図】図1

Description

本発明は、メモリ制御装置、メモリモジュール及びメモリ制御方法に関する。
従来、パーソナルコンピュータなどの情報処理装置には、情報処理装置のメインメモリであるDIMM(Dual Inline Memory Module)等のメモリモジュールが搭載される。例えば、図10−1に示すように、情報処理装置500は、CPU(Central Processing Unit)510と、チップセット520と、DIMM530とを含む。
CPU510は、データの計算・加工を行う演算処理装置であり、チップセット520に対して、DIMM530へのデータ書込みや読出しを指示する。チップセット520は、DIMM530に接続されるメモリ制御装置であり、CPU510からの指示に従い、DIMM530へのデータの書込みや読出しを行う。そして、DIMM530は、複数のDRAM(Dynamic Random Access Memory)531a〜531dを有し、このDRAM531a〜531dに各種のデータを記憶する。
かかる情報処理装置の使用中に、DIMM530にメモリエラーが発生した場合、情報処理装置を一旦停止し、不良となったDIMM530を交換しなければならず、ユーザの負担となっていた。メモリエラーは、DRAM531a〜531dの備えるメモリブロック(記憶領域)に、データの格納が不可能な不良ブロック(不良領域)が生じることにより起こる。
図11に、メモリエラー発生時の処理手順の一例を示す。図11に示すように、電源がONされると、チップセット520は、DRAM531a〜531dの不良発生状況の監視を開始する(ステップS501)。続いて、チップセット520は、DRAM531a〜531dの不良発生を検出したか否かを判定する(ステップS502)。この処理において、DRAM531a〜531dの不良発生を検出しないとき(ステップS502否定)、処理をステップS501へ移行し、チップセット520は、引き続きDRAM531a〜531dの不良発生状況の監視を行う。一方、DRAM531a〜531dの不良発生を検出したと判定すると(ステップS502肯定)、チップセット520は、不良情報を保存した後(ステップS503)、電源をOFFし(ステップS504)、処理を終了する。そして、不良と判定されたDIMM530は、新たなDIMM530へと交換される。
なお、各DRAM531a〜531dの不良情報は、例えば、図10−1に示すように、DIMM530に設けられた不揮発性メモリ532にまとめて記憶される。また、各DRAM531a〜531dの不良情報は、図10−2に示すように、各DRAM531a〜531d内に設けられた不揮発性メモリ領域533a〜533dに個別に記憶してもよい。
このように、従来において、DIMMに不良ブロックが一部でも存在する場合、当該DIMMを利用することができなかった。そこで、DIMMに不良ブロックが含まれる場合であっても、当該DIMMを利用可能とする技術として、例えば、不良ブロックの代替領域としてDRAM内に設けた冗長領域を利用する技術が知られている。
例えば、図12に示すように、情報処理装置600は、CPU610と、チップセット620と、DIMM630を含む。そして、DIMM630内の各DRAM631a〜631dは、それぞれ冗長領域632a〜632dを有する。DIMM630には、各DRAM631a〜631dの不良情報を記憶する不揮発性メモリ633が設けられている。不揮発性メモリ633は、出荷前の電気的試験において検出された不良ブロックに関する情報を不良情報として記憶する。
図13−1に、従来において電気的試験時にメモリエラーを検出した場合の処理の一例を示す。図13−1に示すように、電気的試験を開始すると、DRAM631a〜631dに含まれる不良ブロックの検出処理が行われる(ステップS601)。この処理において不良ブロックが検出されると(ステップS602肯定)、不良情報が保存される(ステップS603)。そして、ステップS601の検出処理により検出された不良ブロックは、当該不良ブロックに書込み指示されたデータが冗長領域に書込まれるようにハード的に修正処理される(ステップS604)。この処理が終了したとき、あるいは、不良ブロックが検出されなかったとき(ステップS602否定)、DIMM630の電気的試験は終了する。
続いて、図13−2に、従来において装置の使用中に不良ブロックへのアクセス指示がなされた場合の処理の一例を示す。チップセット620は、図13−2に示すように、情報処理装置600の電源がONされると、先ず、不揮発性メモリ633に記憶された不良情報を各DRAM631a〜631dに展開する(ステップS611)。続いて、チップセット620は、CPU610から不良ブロックへのアクセス指示がなされたか否かを判定する(ステップS612)。この処理において、不良ブロックへのアクセス指示がなされたと判定すると(ステップS612肯定)、チップセット620は、指示された不良ブロックへのアクセスは行わず、冗長領域632a〜632dへのアクセスを行う(ステップS613)。すなわち、チップセット620は、CPU610から不良ブロックへのデータの書込み指示を受けた場合、当該不良ブロックではなく、冗長領域632a〜632dにデータを書込む。
ステップS613の処理を終えたとき、あるいは、ステップS612においてCPU610から不良ブロックへのアクセス指示がなされていないとき(ステップS612否定)、チップセット620は、電源がOFFされたか否かを判定する(ステップS614)。この処理において、電源がOFFされていないとき(ステップS614否定)、チップセット620は、処理をステップS612へ移行し、電源がOFFされたと判定すると(ステップS614肯定)、処理を終了する。このように、不良ブロックの代替領域として冗長領域を利用することにより、電気的試験においてDIMM630に不良ブロックが検出された場合であっても、当該DIMM630を利用することができる。
特開2004−55100号公報
しかしながら、上述した従来技術は、電気的試験時に記憶した不良情報のみに基づき、不良ブロックへ書込まれるデータの冗長領域への退避処理を行う。そのため、出荷時に既に存在する不良ブロックについてはデータの退避を行うことができるものの、情報処理装置の使用中に新たに生じた不良ブロックについては退避処理を行うことはできない。
そこで、開示の技術は、出荷後において記憶装置に不良領域が生じた場合でも継続して使用することができるメモリ制御装置、メモリモジュール及びメモリ制御方法を提供することを目的とする。
また、上述した従来技術は、不良ブロックの代替領域を冗長領域に限定しているため、冗長領域の容量が一杯になると、不良ブロックの代替処理を行うことができなくなってしまう。
そこで、開示の技術は、不良領域へ書込まれるデータの代替領域への退避処理を、代替領域として使用可能な領域の容量を限定せずに実行することのできるメモリ制御装置、メモリモジュール及びメモリ制御方法を提供することを目的とする。
また、上述した従来技術は、電気的試験時において不良ブロックを検出すると、当該不良ブロックに対して、当該不良ブロックに書込み指示されたデータが冗長領域に書込まれるようにハード的な修正を施す。このように、一度不良ブロックに対して修正処理を施すと、元の状態に戻すことができないため、不良ブロックを含むDIMMに対し、不良ブロックの改善処理や不良ブロック発生の根本原因の調査等が困難となる。そのため、例えば、不良ブロックが多数検出されたDIMMは、従来では、根本原因の調査や改善処理等が行われることなく廃棄処分されており、歩留まり低下の原因の一つとなっていた。
そこで、開示の技術は、不良領域の修正処理を行うか否かを判断することのできるメモリ制御装置、メモリモジュール及びメモリ制御方法を提供することを目的とする。
本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法は、一つの態様において、記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段とを備える。
本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の一つの態様によれば、記憶装置に不良領域が生じた場合でも、当該記憶装置を搭載する機器を継続して使用することができるという効果を奏する。
また、本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の一つの態様によれば、不良領域へ書込まれるデータの代替領域への退避処理を、代替領域として使用可能な領域の容量を限定せずに実行することができるという効果を奏する。
また、本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の一つの態様によれば、不良領域の修正処理を行うか否かを判断することができるという効果を奏する。
図1は、実施例1における情報処理装置の構成を示すブロック図である。 図2は、不良情報管理テーブルの一例を示す図である。 図3−1は、実施例1におけるメモリ制御装置の処理手順を示すフローチャートである。 図3−2は、実施例1における正常セル使用モード処理の処理手順を示すフローチャートである。 図3−3は、実施例1における正常セル不使用モード処理の処理手順を示すフローチャートである。 図4−1は、実施例2における正常セル使用モード処理の処理手順を示すフローチャートである。 図4−2は、実施例2における正常セル不使用モード処理の処理手順を示すフローチャートである。 図4−3は、実施例2における正常セル不使用モード処理の処理手順の他の一例を示すフローチャートである。 図5は、不良情報管理テーブルの一例を示す図である。 図6−1は、実施例3におけるメモリ制御装置の処理手順を示すフローチャートである。 図6−2は、実施例3における正常セル使用モード処理の処理手順を示すフローチャートである。 図7は、実施例4における情報処理装置の構成を示すブロック図である。 図8−1は、実施例4におけるメモリ制御装置の処理手順を示すフローチャートである。 図8−2は、実施例4における試験モード処理の処理手順を示すフローチャートである。 図9−1は、情報処理装置の構成の他の一例を示すブロック図である。 図9−2は、情報処理装置の構成の他の一例を示すブロック図である。 図9−3は、情報処理装置の構成の他の一例を示すブロック図である。 図10−1は、従来における情報処理装置の構成の一例を示すブロック図である。 図10−2は、従来における情報処理装置の構成の他の一例を示すブロック図である。 図11は、従来におけるメモリエラー発生時の処理手順の一例を示すフローチャートである。 図12は、従来における情報処理装置の構成の他の一例を示すブロック図である。 図13−1は、従来における電気的試験時にメモリエラーを検出した場合の処理の一例を示すフローチャートである。 図13−2は、従来における不良ブロックへのアクセス指示がなされた場合の処理の一例を示すフローチャートである。
以下に、本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の実施例を図面に基づいて詳細に説明する。
なお、この実施例によりこの発明が限定されるものではない。例えば、以下の実施例では、記憶装置の一例として、揮発性メモリであるDRAMを用いて説明するが、本願に開示する技術は、フラッシュメモリなどの不揮発性メモリやHDD(Hard Disk Drive)などのディスク装置に対しても適用可能である。また、以下の実施例では、メモリモジュールの一例として、記憶装置たるDRAMを複数備えたDIMMを用いて説明するとともに、メモリモジュールをパーソナルコンピュータなどの情報処理装置に搭載した場合について説明する。また、以下の実施例では、DRAMのメモリセル単位で不良検出を行う(すなわち、1つのメモリセルが不良領域に相当する。)こととするが、必ずしもメモリセル単位でなくてもよく、例えば、複数のメモリセルを含むブロック単位で不良検出を行ってもよい。
まず、本実施例にかかる情報処理装置の構成について、図面を参照して説明する。図1は実施例1における情報処理装置の構成を示すブロック図、図2は不良情報管理テーブルの一例を示す図である。
図1に示すように、本実施例にかかる情報処理装置1は、CPU10と、メモリ制御装置11と、DIMM12とを有する。CPU10は、データの計算・加工を行う演算処理装置であり、メモリ制御装置11に対して、DIMM12に対するデータの書込みや読出しを指示する。メモリ制御装置11は、CPU10のDIMM12へのアクセスを制御する装置であり、CPU10からの指示に基づき、DIMM12へのデータの書込みや読出しを行う。かかるメモリ制御装置11は、例えば、チップセットに相当する。DIMM12は、各種データを記憶するメモリモジュールである。
DIMM12は、複数のDRAM120a〜120dと、記憶部121とを有する。DRAM120a〜120dは、それぞれ記憶領域を複数のメモリセルに区切られた揮発性メモリであり、記憶装置に相当する。各DRAM120a〜120dの有する複数のメモリセルは、それぞれ1ビットのデータを格納する。そして、これらメモリセルの中には、データの格納が不可能なメモリセルである不良セルが存在する場合がある。
記憶部121は、メモリ制御装置11がDRAM120a〜120dにアクセスする場合に必要な情報を記憶する不揮発性の記憶領域(「所定の記憶領域」に相当)である。特に、記憶部121は、本実施例と密接に関連するものとして、不良情報管理テーブル122を記憶する。
不良情報管理テーブル122は、不良セルとして検出されたメモリセルの不良情報を記憶する。具体的には、図2に示すように、不良情報管理テーブル122には、不良セルの位置を特定するためのアドレス情報として、DRAM番号、Bank番号、Row AddressおよびColumn Addressとが記憶される。DRAM番号は、不良セルが属するDRAMを特定するための情報であり、Bank番号は、DRAM内に設けられた複数のBankのうち不良セルが属するBankを示す情報であり、Row AddressおよびColumn Addressは、それぞれBank内における不良セルの行アドレス及び列アドレスである。
メモリ制御装置11は、不良検出部111と、記憶処理部112と、データ書込み/読出し部113とを有する。不良検出部111は、不良検出手段として機能し、複数のメモリセルの中からデータの格納が不可能な不良セルの検出を行う。具体的には、本実施例にかかる不良検出部111は、CPU10からの指示に基づきDIMM12からのデータの読出しが行われた後、不良セルの検出処理を行う。
記憶処理部112は、記憶処理手段として機能し、不良検出部111により検出された不良セルに関する情報である不良情報を不良情報管理テーブル122に記憶する。また、データ書込み/読出し部113は、データ書込み手段として機能し、記憶処理部112により不良情報管理テーブル122に記憶された不良情報に基づき、不良セルへの書込み指示がなされたデータを、不良情報管理テーブル122のメモリセル以外のメモリセルに書込む。
次に、本実施例にかかる情報処理装置1の具体的動作について図面を参照して説明する。図3−1は、実施例1におけるメモリ制御装置11の処理手順を示すフローチャートである。なお、図3−1においては、メモリ制御装置11が実行する処理手順のうち、DIMM12へのアクセス制御に関する処理手順のみを示す。
図3−1に示すように、本実施例にかかるメモリ制御装置11は、電源がONされると、先ず、不良情報管理テーブル122に不良情報が記憶されているか否かを判定する(ステップS101)。この処理において、不良情報管理テーブル122に不良情報が記憶されていると判定すると(ステップS101肯定)、メモリ制御装置11は、不良情報管理テーブル122に記憶されている不良情報を取得する(ステップS102)。取得した不良情報は、メモリ制御装置11内の所定の記憶領域(図示せず)に記憶される。
ステップS102の処理を終えたとき、あるいは、ステップS101において不良情報管理テーブル122に不良情報が記憶されていないとき(ステップS101否定)、メモリ制御装置11は、正常セル使用フラグがセットされているか否かを判定する(ステップS103)。この処理において、正常セル使用フラグがセットされていると判定すると(ステップS103肯定)、メモリ制御装置11は、正常セル使用モード処理を実行する(ステップS104)。ここで、正常セル使用モードとは、データの書込み指示がなされたメモリセルが不良セルであった場合、他のメモリセルへのデータの書込み(退避処理)を実行するモードである。正常セル使用モード処理は、図3−2に示す処理であり、後述する。
一方、ステップS103において、正常セル使用フラグがセットされていないとき(ステップS103否定)、メモリ制御装置11は、正常セル不使用モード処理を行う(ステップS105)。ここで、正常セル不使用モードとは、データの書込み指示がなされたメモリセルが不良セルであった場合でも、当該不良セルに書込んだデータの他のメモリセルへのデータの書込み(退避処理)を行わないモードであり、例えば、出荷前の電気的試験において使用される。正常セル不使用モード処理は、図3−3に示す処理であり、後述する。ステップS104又はステップS105の処理を終えたとき、メモリ制御装置11は、DIMM12へのアクセス制御に関する処理を終了する。
続いて、ステップS104に示す正常セル使用モード処理について図3−2を参照して説明する。図3−2は、実施例1にかかる正常セル使用モード処理の処理手順を示すフローチャートである。
図3−2に示すように、正常セル使用モード処理を開始すると、メモリ制御装置11のデータ書込み/読出し部113は、各DRAM120a〜120d内の記憶領域のうち、CPU10により指示されたデータを読出す(ステップS111)。続いて、不良検出部111は、不良セルが検出されたか否かを判定する(ステップS112)。この処理において、不良セルが検出されたと判定すると(ステップS112肯定)、記憶処理部112は、不良情報管理テーブル122の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル122に書込み(ステップS113)、更新後の不良情報管理テーブル122に記憶されている不良情報を取得する。
続いて、データ書込み/読出し部113は、CPU10から書込み指示されたデータを書込む(ステップS114)。なお、この処理において、データ書込み/読出し部113は、書込み指示された記憶領域に不良セルが含まれているか否かにかかわらず、指定された記憶領域にデータを書込む。
続いて、データ書込み/読出し部113は、不良情報管理テーブル122を参照することにより、書込みが指示されたメモリセルの中に不良セルが存在するか否かを判定する(ステップS115)。この処理において、書込みが指示されたメモリセルの中に不良セルが存在すると判定すると(ステップS115肯定)、データ書込み/読出し部113は、ステップS114において不良セルに書込んだデータを正常なメモリセルに書込む(ステップS116)。具体的には、データ書込み/読出し部113は、不良情報管理テーブル122に記憶されたメモリセル以外のメモリセル(すなわち、不良セルとして検出されていないメモリセル)を正常なメモリセルと判定する。そして正常なメモリセルと判定したメモリセルのいずれかに対して不良セルに書込んだデータを退避させる。
一方、ステップS115において、書込みが指示されたメモリセルの中に不良セルが存在しないとき(ステップS115否定)、データ書込み/読出し部113は、書込みが指示されたメモリセルにデータを書込む(ステップS117)。ステップS116、S117の処理を終えたとき、あるいは、ステップS112において不良セルが検出されていないとき(ステップS112否定)、メモリ制御装置11は、処理をステップS118に移行する。
ステップS118において、メモリ制御装置11は、処理終了が指示されたか否かを判定する。処理終了の指示とは、例えば、電源のOFF操作などである。この処理において、処理終了が指示されていないとき(ステップS118否定)、メモリ制御装置11は、処理をステップS111へ移行する。一方、処理終了が指示されたと判定すると(ステップS118肯定)、メモリ制御装置11は、DIMM12へのアクセス制御に関する処理を終了する。
続いて、ステップS105に示す正常セル不使用モード処理の処理手順について図3−3を参照して説明する。図3−3は、実施例1にかかる正常セル不使用モード処理の処理手順を示すフローチャートである。
図3−3に示すように、正常セル不使用モード処理を開始すると、メモリ制御装置11は、CPU10により指示されたデータをDRAM120から読出す(ステップS121)。続いて、不良検出部111は、不良セルが検出されたか否かを判定する(ステップS122)。この処理において、不良セルが検出されたと判定すると(ステップS122肯定)、記憶処理部112は、不良情報管理テーブル122の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル122に書込み(ステップS123)、更新後の不良情報管理テーブル122に記憶されている不良情報を取得する(ステップS124)。
続いて、データ書込み/読出し部113は、CPU10から書込み指示されたデータを書込む(ステップS125)。なお、この処理において、データ書込み/読出し部113は、書込み指示された記憶領域に不良セルが含まれているか否かにかかわらず、指定された記憶領域にデータを書込む。
続いて、データ書込み/読出し部113は、不良情報管理テーブル122を参照することにより、書込みが指示されたメモリセルの中に不良セルが存在するか否かを判定する(ステップS126)。この処理において、書込みが指示されたメモリセルの中に不良セルが存在すると判定すると(ステップS126肯定)、データ書込み/読出し部113は、データを正常なメモリセルに書込みをしないで、すなわちデータを退避させないで、処理をステップS128へ移行する。
一方、ステップS127において、書込みが指示されたメモリセルの中に不良セルが存在しないとき(ステップS126否定)、データ書込み/読出し部113は、書込みが指示されたメモリセルにデータを書込む(ステップS127)。
ステップS126において書込みが指示されたメモリセルの中に不良セルが存在すると判定したとき(ステップS126肯定)、ステップS127の処理を終えたとき、あるいは、ステップS122において不良セルが検出されていないとき(ステップS122否定)、メモリ制御装置11は、処理終了が指示されたか否かを判定する(ステップS128)。この処理において、処理終了が指示されていないとき(ステップS128否定)、メモリ制御装置11は、処理をステップS121へ移行する。一方、処理終了が指示されたと判定すると(ステップS128肯定)、メモリ制御装置11は、DIMM12へのアクセス制御に関する処理を終了する。
このように、正常セル不使用モード処理においてCPU10からデータの書込み指示を受けた場合、メモリ制御装置11は、データを書込んだ領域に不良セルが含まれていたとしても、当該不良セルに書込んだデータの退避処理を行わない。
上述してきたように、実施例1では、DIMM12へのデータの読出しが指示された場合、不良セルの検出処理を行い、不良セルを検出すると、当該不良セルについての不良情報を不良情報管理テーブル122に記憶する。そして、不良情報管理テーブル122に記憶された不良情報に基づき、不良セルへの書込み指示がなされたデータを正常なメモリセルに退避させる。これにより、使用中にDRAMにメモリエラーが発生した場合であっても、情報処理装置1を停止させることなく継続して使用することができる。
また、実施例1では、不良セルへの書込み指示がなされたデータの退避領域は、不良セル以外の正常なメモリセルのいずれかであればよいため、退避領域を予め指定した容量に限定されることなく、不良セルの退避処理を行うことができる。
実施例1では、CPU10から指示された領域のデータを読出し、不良セルの検出を行った後、指示されたデータの書込みを行ったが、これに代えて、CPU10により指示されたデータを書込んだ後、当該書込んだデータを直ぐに読出して不良セルの検出を行うようにしてもよい。以下、実施例2について図面を参照して説明する。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
図4−1は、実施例2における正常セル使用モード処理の処理手順を示すフローチャートである。図4−1に示すように、正常セル使用モード処理を開始すると、データ書込み/読出し部113は、書込み指示されたデータをDIMM12に書込む(ステップS201)。続いて、不良検出部111は、ステップS201において書込んだデータを読出す(ステップS202)。
続いて、不良検出部111は、不良セルが検出されたか否かを判定する(ステップS203)。具体的には、不良検出部111は、各DRAM120a〜120dに対して書込んだ書込みデータと、各DRAM120a〜120dから読出した読出しデータとの差分に基づき、DRAM120a〜120dに書込まれていないデータを特定し、当該データを書込んだメモリセルを不良セルと判定する。この処理において、不良セルが検出されたと判定すると(ステップS203肯定)、記憶処理部112は、検出された不良セルに関する不良情報を不良情報管理テーブル122に書込むことで不良情報管理テーブル122を更新し(ステップS204)、更新後の不良情報管理テーブル122に記憶されている不良情報を取得する。
続いて、データ書込み/読出し部113は、ステップS201において不良セルに書込んだデータを正常なメモリセルに書込む(ステップ205)。続いて、不良検出部111は、ステップS205において書込んだデータを再度読出し(ステップS206)、不良セルを新たに検出したか否かを判定する(ステップS207)。この処理において、不良セルを新たに検出したと判定すると(ステップS207肯定)、記憶処理部112は、処理をステップS204へ移行する。このように、本実施例では、不良セルの検出処理を新たな不良セルが検出されなくなるまで繰り返す。
ステップS203において不良セルが検出されていないとき(ステップS203否定)、あるいは、ステップS207において不良セルを新たに検出していないとき(ステップS207否定)、メモリ制御装置11は、処理をステップS208に移行する。
ステップS208において、メモリ制御装置11は、処理終了が指示されたか否かを判定する。この処理において、処理終了が指示されていないとき(ステップS208否定)、メモリ制御装置11は、処理をステップS201へ移行する。一方、処理終了が指示されたと判定すると(ステップS208肯定)、メモリ制御装置11は、正常セル使用モード処理を終了する。
続いて、本実施例にかかる正常セル不使用モード処理について図4−2を参照して説明する。図4−2は、実施例2における正常セル不使用モード処理の処理手順を示すフローチャートである。
図4−2に示すように、正常セル不使用モード処理を開始すると、データ書込み/読出し部113は、書込み指示されたデータをDIMM12に書込む(ステップS211)。続いて、不良検出部111は、ステップS211において書込んだデータを読出す(ステップS212)。続いて、不良検出部111は、不良セルが検出されたか否かを判定する(ステップS213)。具体的には、不良検出部111は、図4−1におけるステップS203と同様、書込みデータと読出しデータとの差分に基づき、不良セルを特定する。この処理において、不良セルが検出されたと判定すると(ステップS213肯定)、記憶処理部112は、検出された不良セルに関する不良情報を不良情報管理テーブル122に書込むことで不良情報管理テーブルを更新し(ステップS214)、更新後の不良情報管理テーブル122に記憶されている不良情報を取得する(ステップS215)。
ステップS215の処理を終えたとき、あるいは、ステップS213において不良セルが検出されていないとき(ステップS213否定)、メモリ制御装置11は、処理をステップS216に移行する。ステップS216において、メモリ制御装置11は、処理終了が指示されたか否かを判定する。この処理において、処理終了が指示されていないとき(ステップS216否定)、メモリ制御装置11は、処理をステップS211へ移行する。一方、処理終了が指示されたと判定すると(ステップS216肯定)、メモリ制御装置11は、正常セル不使用モード処理を終了する。
なお、本実施例では、上述した正常セル不使用モード処理において全領域検査を行ってもよい。全領域検査とは、DRAM120a〜120dの全メモリセルに対して不良検出部111による不良セルの検出を処理する処理である。以下、かかる場合における正常セル不使用モード処理について、図4−3を参照して説明する。図4−3は、実施例2における正常セル不使用モード処理の処理手順の他の一例を示すフローチャートである。
図4−3に示すように、正常セル不使用モード処理を開始すると、メモリ制御装置11は、CPU10から全領域検査指示がなされたか否かを判定する(ステップS221)。この処理においてCPU10から全領域検査指示がなされたと判定すると(ステップS221肯定)、データ書込み/読出し部113は、書込みが指示されたデータを各DRAM120a〜120dの全領域に対して書込む(ステップS222)。なお、この処理において書込まれるデータは、不良セルの検出処理を行う際に用いられるテストデータとする。続いて、不良検出部111は、ステップS222において書込んだデータを読出す(ステップS223)。
続いて、不良検出部111は、不良セルが検出されたか否かを判定する(ステップS224)。具体的には、不良検出部111は、図4−1におけるステップS203と同様、書込みデータと読出しデータとの差分に基づき、不良セルを特定する。
ステップS224の処理において、不良セルが検出されたと判定すると(ステップS224肯定)、記憶処理部112は、不良情報管理テーブル122の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル122に書込み(ステップS225)、更新後の不良情報管理テーブル122に記憶されている不良情報を取得する(ステップS226)。
続いて、メモリ制御装置11は、全領域検査が終了したか否かを判定する(ステップS227)。この処理において、全領域検査が終了していないとき(ステップS227否定)、メモリ制御装置11は、処理をステップS222へ移行する。
一方、ステップS221において全領域検査指示がなされていないとき(ステップS221否定)、メモリ制御装置11は、指示領域検査処理としてステップS228〜S232の処理を実行する。指示領域検査とは、DRAM120a〜120dの全メモリセルのうち、指定されたメモリセルに対して不良セルの検出を処理する処理である。ここで、ステップS228〜S232は、図4−2に示すステップS211〜S215の処理と同一であり、その説明を省略する。
ステップS232の処理を終えると、メモリ制御装置11は、指示領域検査が終了したか否かを判定する(ステップS233)。この処理において、指示領域検査が終了していないとき(ステップS233否定)、メモリ制御装置11は、処理をステップS228へ移行する。
ステップS227において、全領域検査が終了したと判定した場合(ステップS227肯定)、あるいは、ステップS233において指示領域検査が終了したと判定した場合(ステップS233肯定)、メモリ制御装置11は、正常セル不使用モード処理を終了する。
上述してきたように、実施例2では、CPU10からのデータの書込み指示を受けた場合に、データを書込んだ後、直ぐにデータを読出して不良セルの検出を行うため、不良セルの検出をより正確に行なうことができる。また、実施例2では、不良セルの検出処理を新たな不良セルが検出されなくなるまで繰り返すため、不良セルをより確実に検出することができる。
上記各実施例では、不良セルへ書込まれるデータの退避領域を特定の領域に限定しないこととしたが、DRAM120a〜120dの記憶領域に冗長領域が存在する場合は、不良セルへの書込み指示がなされたデータを冗長領域に書込むようにしてもよい。以下、実施例3について図面を参照して説明する。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。図5は不良情報管理テーブルの一例を示す図である。
本実施例にかかる不良情報管理テーブル122は、図2に示す不良情報管理テーブル122に記憶される情報に加え、図5に示すように、不良セルへの書込み指示がなされたデータの退避領域を特定するための情報を当該不良セルの不良情報と関連付けて記憶する。具体的には、不良情報管理テーブル122は、退避領域を特定するための情報として、DRAM番号と、Bank番号と、Row Addressと、Column Addressとを記憶する。なお、退避領域に関する情報は、後述する図6−2に示すステップS314において不良情報管理テーブル122の更新を行った段階では記憶されていない状態となっている。
次に、本実施例におけるメモリ制御装置11の具体的動作について図6−1を参照して説明する。図6−1は、本実施例におけるメモリ制御装置11の処理手順を示すフローチャートである。なお、ステップS301、S302の処理は、図3−1におけるステップS101、S102の処理と同様であるため、これらの説明を省略する。
図6−1に示すように、ステップS302の処理を終えたとき、あるいは、ステップS301において不良情報管理テーブル122に不良情報が記憶されていないとき(ステップS301否定)、メモリ制御装置11は、DRAM120a〜120dの記憶領域に冗長領域が存在するか否かを判定する(ステップS303)。ここで、冗長領域とは、DRAM120に不良セルが発生した場合、当該不良セルへの書込み指示がなされたデータを書込むための退避領域であり、通常はユーザに使用されることはないベンダ固有の領域である。この処理において、DRAM120a〜120dの記憶領域に冗長領域が存在すると判定すると(ステップS303肯定)、メモリ制御装置11は、不良セルに書込まれるデータの退避領域として冗長領域を使用するように設定する(ステップS304)。
一方、ステップS303においてDRAM120a〜120dの記憶領域に冗長領域が存在しない場合(ステップS303否定)、メモリ制御装置11は、退避領域として使用する空き領域の容量が設定されているか否かを判定する(ステップS305)。空き領域とは、DRAM120a〜120dの記憶領域のうち、現在使用されていない記憶領域を示す。この処理において、空き領域の容量が設定されていると判定すると(ステップS305肯定)、メモリ制御装置11は、DRAM120a〜120dに存在する空き領域の中から、予め設定された容量の退避領域を確保する(ステップS306)。一方、ステップS305において空き領域の容量が設定されていないとき(ステップS305否定)、メモリ制御装置11は、既定容量の空き領域を退避領域として設定する(ステップS307)。このように、冗長領域が存在しない場合であっても、書込み処理を行う前に退避領域を確保しておくことによって、不良セルに書込み指示されたデータの退避処理を確実に行うことができる。
ステップS304、S306、S307の処理を終えると、メモリ制御装置11は、正常セル使用フラグがセットされているか否かを判定する(ステップS308)。この処理において正常セル使用フラグがセットされていると判定した場合(ステップS308肯定)、メモリ制御装置11は、正常セル使用モード処理を実行する(ステップS309)。一方、正常セル使用フラグがセットされていないとき(ステップS308否定)、メモリ制御装置11は、正常セル不使用モード処理を実行する(ステップS310)。なお、ステップS310の正常セル不使用モード処理は、図4−2又は図4−3に示す処理と同様であるため、その説明を省略する。そして、ステップS309、S310の処理を終えると、メモリ制御装置11は、メモリアクセスに関する処理を終了する。
続いて、ステップS309に示す正常セル使用モード処理について図6−2を参照して説明する。図6−2は本実施例にかかる正常セル使用モード処理の処理手順を示すフローチャートである。
図6−2に示すように、正常セル使用モード処理を開始すると、データ書込み/読出し部113は、書込み指示されたデータをDIMM12に書込む(ステップS311)。続いて、不良検出部111は、ステップS311において書込んだデータを読出し(ステップS312)、不良セルが検出されたか否かを判定する(ステップS313)。この処理において、不良セルが検出されたと判定すると(ステップS313肯定)、記憶処理部112は、不良情報管理テーブル122の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル122に書込み(ステップS314)、更新後の不良情報管理テーブル122に記憶されている不良情報を取得する。
続いて、データ書込み/読出し部113は、ステップS311で不良セルに書込んだデータを、図6−1に示すステップS304、S306、S307のいずれかの処理で設定した退避領域に書込む(ステップS315)。このように、本実施例において、データ書込み/読出し部113は、メモリセルに予め対応付けられた退避領域が存在しない場合、DRAM120a〜120dに存在する空き領域の中から、予め設定された容量の退避領域に対して、不良セルへの書込みが実行されたデータを、確保された退避領域に書込む。
続いて、不良検出部111は、退避領域に書込んだデータを読出す(ステップS316)。そして、記憶処理部112は、退避領域に関する情報を不良情報管理テーブル122に記憶する(ステップS317)。具体的には、記憶処理部112は、読出したデータを格納していた退避領域内のメモリセルを当該テストデータの書込み対象であった不良セルに対応する退避領域とし、当該メモリセルに関する情報を不良情報管理テーブル122に記憶する。これにより、不良情報管理テーブル122における退避領域に関する情報が記憶される。
続いて、不良検出部111は、ステップS316において読出したデータに基づき、不良セルを新たに検出したか否かを判定する(ステップS318)。この処理において、不良セルを新たに検出したと判定すると(ステップS318肯定)、記憶処理部112は、処理をステップS314へ移行する。このように、本実施例においても、実施例2と同様、不良セルの検出処理を新たな不良セルが検出されなくなるまで繰り返す。
一方、ステップS313において不良セルが検出されていないとき(ステップS313否定)、あるいは、ステップS318において不良セルを新たに検出していないとき(ステップS318否定)、メモリ制御装置11は、処理をステップS319に移行する。
ステップS319において、メモリ制御装置11は、処理終了が指示されたか否かを判定する。この処理において、処理終了が指示されていないとき(ステップS319否定)、メモリ制御装置11は、処理をステップS311へ移行する。一方、処理終了が指示されたと判定すると(ステップS319肯定)、メモリ制御装置11は、正常セル使用モード処理を終了する。
上述してきたように、実施例3では、DRAM120a〜120dの記憶領域に、不良セルへの書込み指示がなされたデータを書込む退避領域が予め存在する場合は、不良セルへの書込み指示がなされたデータをこの退避領域に書込む。このように、予め設定されている退避領域を使用することにより、退避領域の設定を行う場合の手間を省くことができる。
実施例4において、メモリ制御装置は、出荷前の電気的試験を行うための試験モードを有する。そして、本実施例におけるメモリ制御装置は、試験モードにおいて、DIMM12に含まれる不良セルの数を求め、試験対象のDIMM12に不良セルが規格値よりも多く含まれる場合には、当該不良セルに対する修正処理を行うことなく、当該DIMM12を出荷対象から除外する。これにより、多数の不良セルを含むことにより出荷不能と判定されたDIMMであっても、根本原因の調査を行い、可能な場合は改善処理を施すことで、市場へ流通させることができ、歩留まり低下を防止することができる。以下、実施例4について図面を参照して説明する。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。図7は実施例4における情報処理装置の構成を示すブロック図である。
図7に示すように、本実施例にかかるメモリ制御装置11’は、上述した不良検出部111、記憶処理部112、データ書込み/読出し部113に加え、不良数判定部114とモード切替部115とを有する。ここで、通常動作モードと試験モードとの違いは、不良セルに書込まれたデータの正常セルへの退避処理がデータ書込み/読出し部113により行われるか否かにある。すなわち、試験モードにおいて、メモリ制御装置11’は、不良セルにデータが書込まれた場合であっても当該データを他のメモリセルに退避させる処理を行わない。
不良数判定部114は、不良数判定手段として機能し、DIMM12内のDRAM120a〜120dに含まれる不良セルの数が、予め設定された所定の数よりも多いか否かを判定する。モード切替部115は、モード切替手段として機能し、試験モードにおいて不良数判定部114により不良セルの数が所定の数よりも低いと判定した場合、試験モードから通常動作モードへのモード切替えを行う。
次に、本実施例にかかるメモリ制御装置11’の動作について図面を参照して説明する。図8−1は、実施例4におけるメモリ制御装置の処理手順を示すフローチャートである。なお、ステップS401、S402の処理は、図3−1におけるステップS101、S102の処理と同じであり、その説明を省略する。
図8−1に示すように、ステップS403において、メモリ制御装置11’は、通常動作モード中であるか否かを判定する。この処理において、通常動作モード中であると判定すると(ステップS403肯定)、メモリ制御装置11’は、通常動作モード処理を実行する(ステップS404)。ここで、通常動作モード処理は、図4−1に示す処理と同様であるため、その説明を省略する。
一方、ステップS403において、通常動作モード中ではないとき(ステップS403否定)、メモリ制御装置11’は、試験モード処理を実行する(ステップS405)。試験モード処理は、図8−2に示す処理であり、後述する。ステップS404、S405の処理を終えると、メモリ制御装置11’は、DIMM12へのアクセス制御に関する処理を終了する。
続いて、ステップS405に示す試験モード処理の処理手順について図8−2を参照して説明する。図8−2は実施例4における試験モード処理の処理手順を示すフローチャートである。
図8−2に示すように、試験モード処理を開始すると、メモリ制御装置11は、CPU10から全領域検査指示がなされたか否かを判定する(ステップS411)。この処理においてCPU10から全領域検査指示がなされたと判定すると(ステップS411肯定)、不良検出部111は、各DRAM120a〜120dの全領域に対してデータを書込み(ステップS412)、各DRAM120a〜120d内に記憶されているデータを読出す(ステップS413)。
一方、ステップS411において全領域検査指示がなされていないとき(ステップS411否定)、メモリ制御装置11は、指定領域検査処理として、書込み指示されたデータをDIMM12に書込む(ステップS414)。続いて、不良検出部111は、ステップS414において書込んだデータを読出す(ステップS415)。このように、指定された領域に対してのみ不良セルの検出処理を行うことで、処理にかかる時間を短縮することができる。
ステップS413、S415の処理を終えたとき、不良検出部111は、不良セルが検出されたか否かを判定する(ステップS416)。この処理において、不良セルが検出されたと判定すると(ステップS416肯定)、記憶処理部112は、検出された不良セルに関する不良情報を不良情報管理テーブル122に書込むことにより不良情報管理テーブルを更新し(ステップS417)、更新後の不良情報管理テーブル122に記憶されている不良情報を取得する(ステップS418)。
続いて、不良数判定部114は、不良情報管理テーブル122に記憶されている不良情報の数に基づき、DIMM12に含まれる不良セルの数を算出する(ステップS419)。
ステップS419の処理を終えたとき、あるいは、ステップS416において不良セルを検出していないとき(ステップS416否定)、不良数判定部114は、DIMM12の電気的試験の終了指示がなされたか否かを判定する(ステップS420)。この処理において、電気的試験の終了指示がなされていないとき(ステップS420否定)、不良数判定部114は、処理をステップS411へ移行する。一方、電気的試験の終了指示がなされたと判定すると(ステップS420肯定)、不良数判定部114は、処理をステップS421へ移行する。
ステップS421において、不良数判定部114は、ステップS419において算出した不良セルの数が規格値以下であるか否かを判定する。ここで、規格値とは、予め設定された所定の不良セル数である。
ステップS421の処理において、不良セルの数が規格値以下であると判定した場合(ステップS421肯定)、モード切替部115は、モードを現在の試験モードから通常動作モードへ切替え(ステップS422)、処理をステップS423へ移行する。
ステップS423において、データ書込み/読出し部113は、ステップS416において検出した不良セルに対してテストデータを書込む。このとき、ステップS422において通常動作モードへの切替えが行われているため、不良セルにテストデータを書込むと、データ書込み/読出し部113は、テストデータの退避処理を行う。これにより、不良セルへの書込み指示がなされたデータは、不良セルではない他のメモリセル(退避領域)に書込まれる。
続いて、不良検出部111は、ステップS423において書込んだテストデータを読出し(ステップS424)、不良セルに書込んだデータを退避領域に書込む(ステップS425)。そして、記憶処理部112は、読出したテストデータを格納していたメモリセルを当該テストデータの書込み対象であった不良セルの退避領域とし、当該メモリセルに関する情報を不良情報管理テーブル122に記憶する(ステップS426)。ステップS426の処理を終えたDIMM12は、不良セルを含む場合、当該不良セルに書込み指示されたデータが退避領域に書込まれて修正処理される。
一方、ステップS421において、不良セルの数が規格値以下ではないとき(ステップS421否定)、メモリ制御装置11’は、試験対象であるDIMM12が出荷不可能な不良DIMMである旨のエラー報告を行う(ステップS427)。ここで、不良DIMMについては、修正処理が施されないため、根本原因の調査および改善を容易に行うことができる。そして、その後の再検査により不良セルの数が規格値以下であると判定された場合には、当該不良DIMMをユーザへ出荷することができる。
ステップS426、S427の処理を終えると、メモリ制御装置11’は、試験モード処理を終了する。なお、本実施例では、実施例3と同じように、DRAM120a〜120dの記憶領域に冗長領域が存在する場合は、不良セルへの書込み指示がなされたデータを冗長領域に書込むようにしてもよい。かかる場合は、図8−1に示すステップS403の処理の前に、図6−1に示すステップS303〜S307の処理を行えばよい。
また、本実施例では、不良セルの数が規格値以上であるか否かの判定をDIMM単位で行ったが、必ずしもDIMM単位でなくてもよく、例えば、DRAM単位で判定してもよい。また、本実施例では、DIMM12に含まれる不良セルの数が規格値以下であるか否かを判定することとしたが、これに限らず、DIMM12に含まれる不良セルの割合が規格値以下であるか否かを判定してもよい。
上述してきたように、実施例4では、通常動作モードのほかに試験モードを設け、試験モードにおいて、不良セルの数が規格値以下であるか否かを不良数判定部114により判定する。これにより、不良セルを含むDIMMに対して修正処理を施すべきか否かを不良数判定部114による判定結果に基づき判断することができる。したがって、例えば、不良セルの数が規格値以上であった不良DIMMについては、修正処理を施さないようにすることができ、これにより、不良DIMMの根本原因の調査や改善処理が可能となり、改善処理によって不良セルの数が規格値以下と成った場合は市場へ流通させることができるため、歩留まり低下を防止することができる。
また、不良セルの割合が規格値以下であったDIMM12については、モード切替部115による通常動作モードへの切替えが自動的に行われるため、電気的試験をパスしたDIMM12を実際の出荷により適した状態とすることができる。
しかも、通常動作モードに切替えることにより、不良セルに書込まれたデータのデータ書込み/読出し部113による退避処理が実行される。そこで、通常動作モードに切替えた後、データ書込み/読出し部113により、不良セルに対してテストデータを書込むとともに、当該書込んだテストデータを読出して、読出したテストデータを正常セルに書込む。そして、テストデータを書込んだ正常セルを当該テストデータが書込まれた不良セルに対応する退避領域とし、記憶処理手段により当該正常セルに関する情報を当該不良セルの不良情報と関連付けて不良情報管理テーブル122に記憶する。このように、不良セルに対する修正処理を行う前に、不良セルに予め退避領域が対応付けられた状態とすることで、修正処理に要する時間を短縮することができる。
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
例えば、各DRAM内に制御部を設けてもよい。図9−1は、情報処理装置の構成の他の一例である。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
図9−1に示すように、かかる場合の情報処理装置1’’は、CPU10と、チップセット13と、DIMM12’とを有する。DIMM12’は、複数のDRAM130a〜130dを有する。
DRAM130a〜130dは、それぞれ制御部131a〜131dと、記憶部132a〜132dとを含む。制御部131a〜131dは、上記各実施例におけるメモリ制御装置に相当し、不良検出部111、記憶処理部112、データ書込み/読出し部113、不良数判定部114、モード切替部115等を有する。また、記憶部132a〜132dは、不揮発性の記憶領域であり、不良情報管理テーブル133a〜133dを記憶する。不良情報管理テーブル133a〜133dは、それぞれ自DRAM内の不良セルに関する不良情報のみを記憶する。チップセット13は、DIMM12’に接続されるメモリインタフェースであり、CPU10からの指示に従い、DIMM12’へのデータの書込みや読出しを各DRAM130a〜130dの制御部131a〜131dへ指示する。すなわち、かかる場合、各DRAM130a〜130dの制御部131a〜131dは、自DRAM内の不良セルに関する不良情報を記憶する不良情報管理テーブル133a〜133dを用いて、自DRAMへのアクセスのみを制御するため、情報処理装置1全体としての処理速度を上げることができる。
このように、各DRAM130a〜130dは、メモリセルに含まれる不良セルを検出する不良検出手段と、不良検出手段により検出された不良セルのアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、不良セルへの書込みが実行されたデータを、記憶処理手段により記憶された不良情報に基づき、不良セル以外の記憶領域に書込むデータ書込み手段とを備えた記憶装置に相当する。
また、DIMMに制御部を設けることで、DIMMが上記各実施例におけるメモリ制御装置として機能するようにしてもよい。図9−2は、情報処理装置の構成の他の一例である。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
図9−2に示すように、かかる場合の情報処理装置1’’’は、CPU10と、チップセット13と、DIMM12’’とを有する。DIMM12’’は、複数のDRAM120a〜120dと、不良情報管理テーブル122を記憶する記憶部121と、制御部150とを有する。そして、制御部150は、メモリ制御装置に相当し、不良検出部111、記憶処理部112、データ書込み/読出し部113、不良数判定部114、モード切替部115等を有する。このように、本願に開示するメモリ制御装置は、DRAMやDIMMに対して適用することもできる。
また、記憶部121をメモリ制御装置11内に設けてもよい。図9−3は、情報処理装置の構成の他の一例である。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
図9−3に示すように、かかる場合の情報処理装置1’’’’は、CPU10と、メモリ制御装置11’’と、DIMM12’’’とを有する。メモリ制御装置11’’は、不良検出部111と、記憶処理部112と、データ書込み/読出し部113に加えて、記憶部121を有する。記憶部121は、不良情報記憶手段に相当し、不良検出部111により検出された不良セルの不良情報を記憶する不良情報管理テーブル122を有する。また、DIMM12’’’は、複数のDRAM120a〜120dを有する。
このように、記憶部121をメモリ制御装置11’’が有することにより、記憶処理部112は、不良検出部111により検出された不良セルに関する不良情報を不良情報管理テーブル122に記憶する場合にDIMM12にアクセスする必要がなくなり、処理を効率的に行うことができる。
また、上記各実施例では、書込み指示がなされた領域について不良セルの検出を行うこととしたが、これに限ったものではない。例えば、情報処理装置の電源ON時に取得(例えば、図3−1のステップS102の処理。)した不良情報管理テーブル122の不良情報に基づき、不良セルであることが明らかとなっているメモリセルについては、上記のようなデータの書込み処理や読出し処理を行わないこととしてもよい。
このようにすることにより、不良セルであることが明らかなメモリセルに対して不良セルであるか否かの判定を行うといった無駄な処理を省くことができる。なお、実施例4のように試験モードを設けた場合、電源ON時に取得した不良情報を用いるか否かをモードごとに変えてもよい。例えば、試験モードにおいては、電源ON時に取得した不良情報を用いることなく、全てのメモリセルに対して不良セルであるか否かの判定を行ってもよい。
また、上述した各実施例では、各DRAM120a〜120dの不良情報は、DIMM12の記憶部121にまとめて記憶することとしたが、各DRAM120a〜120d内に不揮発性の記憶領域を設け、当該記憶領域に個別に記憶してもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とするメモリ制御装置。
(付記2)前記不良検出手段は、書込み指示されたデータを前記記憶装置に書込んだ後、当該書込んだデータを読出し、書込みデータと読出しデータとの差分に基づき、前記記憶装置に含まれる不良領域を特定することを特徴とする付記1に記載のメモリ制御装置。
(付記3)前記データ書込み手段は、前記不良領域への書込みが実行されたデータを、当該不良領域の代わりにデータを書込む退避領域として当該不良領域に予め対応付けられた記憶領域に書込むことを特徴とする付記1又は付記2に記載のメモリ制御装置。
(付記4)前記データ書込み手段は、メモリセルに予め対応付けられた退避領域が存在しない場合、前記記憶領域に存在する空き領域の中から、予め設定された容量の退避領域を確保し、前記不良領域への書込みが実行されたデータを、該確保した退避領域に書込むことを特徴とする付記3に記載のメモリ制御装置。
(付記5)前記記憶領域のうち、前記不良検出手段により検出した不良領域の占める割合が、予め設定された所定の割合よりも低いか否かを判定する不良数判定手段を備えたことを特徴とする付記1〜4のいずれか1つに記載のメモリ制御装置。
(付記6)前記不良領域に対してデータが書込まれた場合に、当該データを不良領域以外の記憶領域へ書込む処理を実行する通常動作モードと、前記不良領域に対してデータが書込まれた場合であっても、当該データを不良領域以外の記憶領域へ書込まない試験モードとを有し、
前記不良数判定手段により不良領域の数が所定の数よりも少ないと判定した場合、前記試験モードから前記通常動作モードへのモード切替えを行うモード切替手段を備えたことを特徴とする付記5に記載のメモリ制御装置。
(付記7)前記データ書込み手段は、前記不良数判定手段により不良領域の数が予め設定された所定の数よりも少ないと判定された場合、前記モード切替手段によるモード切替えが行われた後、不良領域に対して書込まれたテストデータを不良領域以外の記憶領域に書込み、
前記記憶処理手段は、前記テストデータを書込んだ不良領域以外の記憶領域のアドレス情報を含む情報を当該不良領域の不良情報と関連付けて前記所定の記憶領域に記憶する
ことを特徴とする付記6に記載のメモリ制御装置。
(付記8)前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を記憶する不良情報記憶手段をさらに備えたことを特徴とする付記1〜7の何れか1つに記載のメモリ制御装置。
(付記9)データを格納する記憶領域を有する記憶装置と、前記記憶装置へのアクセスを制御するメモリ制御装置とを含むメモリモジュールであって、
前記メモリ制御装置は、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とするメモリモジュール。
(付記10)記憶領域を有する記憶装置であって、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とする記憶装置。
(付記11)記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置のメモリ制御方法であって、
前記メモリ制御装置が、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する検出ステップと、
前記検出された不良領域のアドレス情報を含んだ不良情報を前記所定の記憶領域に記憶する記憶ステップと、
前記不良領域への書込みが実行されたデータを、前記記憶処理ステップにおいて記憶した不良情報に基づき、不良領域以外の記憶領域に書込む書込みステップと
を含むことを特徴とするメモリ制御方法。
1 情報処理装置
10 CPU
11 メモリ制御装置
12 DIMM
111 不良検出部
112 記憶処理部
113 データ書込み/読出し部
114 不良数判定部
115 モード切替部
120a〜120d DRAM
121 記憶部
122 不良情報管理テーブル

Claims (8)

  1. 記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、
    前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
    前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
    前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
    を備えたことを特徴とするメモリ制御装置。
  2. 前記不良検出手段は、書込み指示されたデータを前記記憶装置に書込んだ後、当該書込んだデータを読出し、書込みデータと読出しデータとの差分に基づき、前記記憶装置に含まれる不良領域を特定することを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記データ書込み手段は、前記不良領域への書込みが実行されたデータを、当該不良領域の代わりにデータを書込む退避領域として当該不良領域に予め対応付けられた記憶領域に書込むことを特徴とする請求項1又は請求項2に記載のメモリ制御装置。
  4. 前記データ書込み手段は、メモリセルに予め対応付けられた退避領域が存在しない場合、前記記憶領域に存在する空き領域の中から、予め設定された容量の退避領域を確保し、前記不良領域への書込みが実行されたデータを、該確保した退避領域に書込むことを特徴とする請求項3に記載のメモリ制御装置。
  5. 前記記憶領域のうち、前記不良検出手段により検出した不良領域の占める割合が、予め設定された所定の割合よりも低いか否かを判定する不良数判定手段を備えたことを特徴とする請求項1〜4のいずれか1項に記載のメモリ制御装置。
  6. 前記不良領域に対してデータが書込まれた場合に、当該データを不良領域以外の記憶領域へ書込む処理を実行する通常動作モードと、前記不良領域に対してデータが書込まれた場合であっても、当該データを不良領域以外の記憶領域へ書込まない試験モードとを有し、
    前記不良数判定手段により不良領域の数が所定の数よりも少ないと判定した場合、前記試験モードから前記通常動作モードへのモード切替えを行うモード切替手段を備えたことを特徴とする請求項5に記載のメモリ制御装置。
  7. データを格納する記憶領域を有する記憶装置と、前記記憶装置へのアクセスを制御するメモリ制御装置とを含むメモリモジュールであって、
    前記メモリ制御装置は、
    前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
    前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
    前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
    を備えたことを特徴とするメモリモジュール。
  8. 記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置のメモリ制御方法であって、
    前記メモリ制御装置が、
    前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する検出ステップと、
    前記検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶ステップと、
    前記不良領域への書込みが実行されたデータを、前記記憶処理ステップにおいて記憶した不良情報に基づき、不良領域以外の記憶領域に書込む書込みステップと
    を含むことを特徴とするメモリ制御方法。
JP2009088381A 2009-03-31 2009-03-31 メモリ制御装置、メモリモジュール及びメモリ制御方法 Expired - Fee Related JP5365310B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009088381A JP5365310B2 (ja) 2009-03-31 2009-03-31 メモリ制御装置、メモリモジュール及びメモリ制御方法
US12/725,893 US8495463B2 (en) 2009-03-31 2010-03-17 Memory controlling apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009088381A JP5365310B2 (ja) 2009-03-31 2009-03-31 メモリ制御装置、メモリモジュール及びメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2010238192A true JP2010238192A (ja) 2010-10-21
JP5365310B2 JP5365310B2 (ja) 2013-12-11

Family

ID=42785812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009088381A Expired - Fee Related JP5365310B2 (ja) 2009-03-31 2009-03-31 メモリ制御装置、メモリモジュール及びメモリ制御方法

Country Status (2)

Country Link
US (1) US8495463B2 (ja)
JP (1) JP5365310B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146167A (ja) * 2011-01-13 2012-08-02 Nec Corp メモリエラーパターン記録システム、メモリモジュール、及びメモリエラーパターン記録方法
JP2013061887A (ja) * 2011-09-14 2013-04-04 Fujitsu Ltd 故障位置判定回路、記憶装置、および情報処理装置
JP2015041175A (ja) * 2013-08-21 2015-03-02 Necプラットフォームズ株式会社 メモリ管理装置、制御方法、プログラムおよび記録媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318168B2 (en) 2012-11-27 2016-04-19 Samsung Electronics Co., Ltd. Memory system for continuously mapping addresses of a memory module having defective locations
KR20210013387A (ko) 2019-07-24 2021-02-04 삼성전자주식회사 메모리 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0553926A (ja) * 1991-08-29 1993-03-05 Kawasaki Steel Corp メモリモジユール及びその不良ビツトテーブル設定方法
JPH05158804A (ja) * 1991-12-10 1993-06-25 Fujitsu Ltd Ramチェック方法
JP2001006388A (ja) * 1999-06-23 2001-01-12 Toshiba Corp 冗長回路内蔵半導体記憶装置
JP2006065396A (ja) * 2004-08-24 2006-03-09 Mitsubishi Electric Corp メモリ管理装置
JP2006107363A (ja) * 2004-10-08 2006-04-20 Toshiba Corp 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4214280A (en) * 1978-05-30 1980-07-22 Xerox Corporation Method and apparatus for recording data without recording on defective areas of a data recording medium
JP2004055100A (ja) 2002-07-24 2004-02-19 Elpida Memory Inc メモリモジュールの救済方法、メモリモジュール、及び揮発性メモリ
KR20040028469A (ko) * 2002-09-30 2004-04-03 엘지전자 주식회사 1 회 기록 가능한 광디스크의 디펙트 영역 관리방법
CA2556138C (en) * 2004-02-14 2011-04-19 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc and write-once disc therefor
JP4273149B2 (ja) * 2006-10-31 2009-06-03 キヤノン株式会社 情報記録再生方法
US8473791B2 (en) * 2007-04-30 2013-06-25 Hewlett-Packard Development Company, L.P. Redundant memory to mask DRAM failures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0553926A (ja) * 1991-08-29 1993-03-05 Kawasaki Steel Corp メモリモジユール及びその不良ビツトテーブル設定方法
JPH05158804A (ja) * 1991-12-10 1993-06-25 Fujitsu Ltd Ramチェック方法
JP2001006388A (ja) * 1999-06-23 2001-01-12 Toshiba Corp 冗長回路内蔵半導体記憶装置
JP2006065396A (ja) * 2004-08-24 2006-03-09 Mitsubishi Electric Corp メモリ管理装置
JP2006107363A (ja) * 2004-10-08 2006-04-20 Toshiba Corp 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146167A (ja) * 2011-01-13 2012-08-02 Nec Corp メモリエラーパターン記録システム、メモリモジュール、及びメモリエラーパターン記録方法
JP2013061887A (ja) * 2011-09-14 2013-04-04 Fujitsu Ltd 故障位置判定回路、記憶装置、および情報処理装置
JP2015041175A (ja) * 2013-08-21 2015-03-02 Necプラットフォームズ株式会社 メモリ管理装置、制御方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP5365310B2 (ja) 2013-12-11
US20100251041A1 (en) 2010-09-30
US8495463B2 (en) 2013-07-23

Similar Documents

Publication Publication Date Title
TWI421875B (zh) 記憶體故障預測系統和方法
JP5365310B2 (ja) メモリ制御装置、メモリモジュール及びメモリ制御方法
EP1447813B1 (en) Memory built-in self repair (MBISR) circuits / devices and method for repairing a memory comprising a memory built-in self repair (MBISR) structure
US8467258B2 (en) Method and apparatus for bit cell repair
EP2787440B1 (en) Information processing device, program, and method
TW200903487A (en) Methods, circuits, and systems to select memory regions
US8055948B2 (en) Resilient software-controlled redundant array of independent disks (RAID)
WO2015073900A1 (en) Method and apparatus for multiple-bit dram error recovery
JP2008033995A (ja) メモリシステム
KR101746701B1 (ko) 저항성 메모리에서의 비트 결함의 실시간 정정
US20060253764A1 (en) Computer system and method for redundancy repair of memories installed in computer system
US9589675B2 (en) Semiconductor apparatus and repair method thereof
US7623399B2 (en) Semiconductor memory for relieving a defective bit
KR20160141484A (ko) 반도체 메모리 장치 및 그의 테스트 방법
JP2005302250A (ja) 半導体装置
JP4893746B2 (ja) アドレス線故障処理装置、アドレス線故障処理方法、アドレス線故障処理プログラム、情報処理装置およびメモリコントローラ
JP2003323352A (ja) メモリ装置
TWI743016B (zh) 用於對儲存器進行上電重置的方法、儲存器件、儲存器控制器及資料結構
JP5074968B2 (ja) 集積回路及びメモリテスト方法
JP3244031B2 (ja) 半導体記憶装置
CN112154409A (zh) 超级块操作的时间指示符
CN101169754B (zh) 计算机系统及其控制方法
US20070014165A1 (en) Column redundancy reuse in memory devices
JP5451971B2 (ja) 半導体装置及びその制御方法
JP2006018934A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130726

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: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

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