(57)【要約】【課題】出荷後において記憶装置に不良領域が生じた場合でも継続して使用することができるメモリ制御装置、メモリモジュール及びメモリ制御方法の提供。【解決手段】記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、前記記憶領域に含まれる、データの格納が不可能な不良領域を検出し、検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶し、前記不良領域への書込みが実行されたデータを、所定の記憶領域に記憶された不良情報に基づき、不良領域以外の記憶領域に書込む。【選択図】図１
2010238192.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とするメモリ制御装置。
【請求項２】
前記不良検出手段は、書込み指示されたデータを前記記憶装置に書込んだ後、当該書込んだデータを読出し、書込みデータと読出しデータとの差分に基づき、前記記憶装置に含まれる不良領域を特定することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記データ書込み手段は、前記不良領域への書込みが実行されたデータを、当該不良領域の代わりにデータを書込む退避領域として当該不良領域に予め対応付けられた記憶領域に書込むことを特徴とする請求項１又は請求項２に記載のメモリ制御装置。
【請求項４】
前記データ書込み手段は、メモリセルに予め対応付けられた退避領域が存在しない場合、前記記憶領域に存在する空き領域の中から、予め設定された容量の退避領域を確保し、前記不良領域への書込みが実行されたデータを、該確保した退避領域に書込むことを特徴とする請求項３に記載のメモリ制御装置。
【請求項５】
前記記憶領域のうち、前記不良検出手段により検出した不良領域の占める割合が、予め設定された所定の割合よりも低いか否かを判定する不良数判定手段を備えたことを特徴とする請求項１〜４のいずれか１項に記載のメモリ制御装置。
【請求項６】
前記不良領域に対してデータが書込まれた場合に、当該データを不良領域以外の記憶領域へ書込む処理を実行する通常動作モードと、前記不良領域に対してデータが書込まれた場合であっても、当該データを不良領域以外の記憶領域へ書込まない試験モードとを有し、
前記不良数判定手段により不良領域の数が所定の数よりも少ないと判定した場合、前記試験モードから前記通常動作モードへのモード切替えを行うモード切替手段を備えたことを特徴とする請求項５に記載のメモリ制御装置。
【請求項７】
データを格納する記憶領域を有する記憶装置と、前記記憶装置へのアクセスを制御するメモリ制御装置とを含むメモリモジュールであって、
前記メモリ制御装置は、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とするメモリモジュール。
【請求項８】
記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置のメモリ制御方法であって、
前記メモリ制御装置が、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する検出ステップと、
前記検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶ステップと、
前記不良領域への書込みが実行されたデータを、前記記憶処理ステップにおいて記憶した不良情報に基づき、不良領域以外の記憶領域に書込む書込みステップと
を含むことを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置、メモリモジュール及びメモリ制御方法に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータなどの情報処理装置には、情報処理装置のメインメモリであるＤＩＭＭ(Dual Inline Memory Module)等のメモリモジュールが搭載される。例えば、図１０−１に示すように、情報処理装置５００は、ＣＰＵ(Central Processing Unit)５１０と、チップセット５２０と、ＤＩＭＭ５３０とを含む。
【０００３】
ＣＰＵ５１０は、データの計算・加工を行う演算処理装置であり、チップセット５２０に対して、ＤＩＭＭ５３０へのデータ書込みや読出しを指示する。チップセット５２０は、ＤＩＭＭ５３０に接続されるメモリ制御装置であり、ＣＰＵ５１０からの指示に従い、ＤＩＭＭ５３０へのデータの書込みや読出しを行う。そして、ＤＩＭＭ５３０は、複数のＤＲＡＭ(Dynamic Random Access Memory)５３１ａ〜５３１ｄを有し、このＤＲＡＭ５３１ａ〜５３１ｄに各種のデータを記憶する。
【０００４】
かかる情報処理装置の使用中に、ＤＩＭＭ５３０にメモリエラーが発生した場合、情報処理装置を一旦停止し、不良となったＤＩＭＭ５３０を交換しなければならず、ユーザの負担となっていた。メモリエラーは、ＤＲＡＭ５３１ａ〜５３１ｄの備えるメモリブロック（記憶領域）に、データの格納が不可能な不良ブロック（不良領域）が生じることにより起こる。
【０００５】
図１１に、メモリエラー発生時の処理手順の一例を示す。図１１に示すように、電源がＯＮされると、チップセット５２０は、ＤＲＡＭ５３１ａ〜５３１ｄの不良発生状況の監視を開始する（ステップＳ５０１）。続いて、チップセット５２０は、ＤＲＡＭ５３１ａ〜５３１ｄの不良発生を検出したか否かを判定する（ステップＳ５０２）。この処理において、ＤＲＡＭ５３１ａ〜５３１ｄの不良発生を検出しないとき（ステップＳ５０２否定）、処理をステップＳ５０１へ移行し、チップセット５２０は、引き続きＤＲＡＭ５３１ａ〜５３１ｄの不良発生状況の監視を行う。一方、ＤＲＡＭ５３１ａ〜５３１ｄの不良発生を検出したと判定すると（ステップＳ５０２肯定）、チップセット５２０は、不良情報を保存した後（ステップＳ５０３）、電源をＯＦＦし（ステップＳ５０４）、処理を終了する。そして、不良と判定されたＤＩＭＭ５３０は、新たなＤＩＭＭ５３０へと交換される。
【０００６】
なお、各ＤＲＡＭ５３１ａ〜５３１ｄの不良情報は、例えば、図１０−１に示すように、ＤＩＭＭ５３０に設けられた不揮発性メモリ５３２にまとめて記憶される。また、各ＤＲＡＭ５３１ａ〜５３１ｄの不良情報は、図１０−２に示すように、各ＤＲＡＭ５３１ａ〜５３１ｄ内に設けられた不揮発性メモリ領域５３３ａ〜５３３ｄに個別に記憶してもよい。
【０００７】
このように、従来において、ＤＩＭＭに不良ブロックが一部でも存在する場合、当該ＤＩＭＭを利用することができなかった。そこで、ＤＩＭＭに不良ブロックが含まれる場合であっても、当該ＤＩＭＭを利用可能とする技術として、例えば、不良ブロックの代替領域としてＤＲＡＭ内に設けた冗長領域を利用する技術が知られている。
【０００８】
例えば、図１２に示すように、情報処理装置６００は、ＣＰＵ６１０と、チップセット６２０と、ＤＩＭＭ６３０を含む。そして、ＤＩＭＭ６３０内の各ＤＲＡＭ６３１ａ〜６３１ｄは、それぞれ冗長領域６３２ａ〜６３２ｄを有する。ＤＩＭＭ６３０には、各ＤＲＡＭ６３１ａ〜６３１ｄの不良情報を記憶する不揮発性メモリ６３３が設けられている。不揮発性メモリ６３３は、出荷前の電気的試験において検出された不良ブロックに関する情報を不良情報として記憶する。
【０００９】
図１３−１に、従来において電気的試験時にメモリエラーを検出した場合の処理の一例を示す。図１３−１に示すように、電気的試験を開始すると、ＤＲＡＭ６３１ａ〜６３１ｄに含まれる不良ブロックの検出処理が行われる（ステップＳ６０１）。この処理において不良ブロックが検出されると（ステップＳ６０２肯定）、不良情報が保存される（ステップＳ６０３）。そして、ステップＳ６０１の検出処理により検出された不良ブロックは、当該不良ブロックに書込み指示されたデータが冗長領域に書込まれるようにハード的に修正処理される（ステップＳ６０４）。この処理が終了したとき、あるいは、不良ブロックが検出されなかったとき（ステップＳ６０２否定）、ＤＩＭＭ６３０の電気的試験は終了する。
【００１０】
続いて、図１３−２に、従来において装置の使用中に不良ブロックへのアクセス指示がなされた場合の処理の一例を示す。チップセット６２０は、図１３−２に示すように、情報処理装置６００の電源がＯＮされると、先ず、不揮発性メモリ６３３に記憶された不良情報を各ＤＲＡＭ６３１ａ〜６３１ｄに展開する（ステップＳ６１１）。続いて、チップセット６２０は、ＣＰＵ６１０から不良ブロックへのアクセス指示がなされたか否かを判定する（ステップＳ６１２）。この処理において、不良ブロックへのアクセス指示がなされたと判定すると（ステップＳ６１２肯定）、チップセット６２０は、指示された不良ブロックへのアクセスは行わず、冗長領域６３２ａ〜６３２ｄへのアクセスを行う（ステップＳ６１３）。すなわち、チップセット６２０は、ＣＰＵ６１０から不良ブロックへのデータの書込み指示を受けた場合、当該不良ブロックではなく、冗長領域６３２ａ〜６３２ｄにデータを書込む。
【００１１】
ステップＳ６１３の処理を終えたとき、あるいは、ステップＳ６１２においてＣＰＵ６１０から不良ブロックへのアクセス指示がなされていないとき（ステップＳ６１２否定）、チップセット６２０は、電源がＯＦＦされたか否かを判定する（ステップＳ６１４）。この処理において、電源がＯＦＦされていないとき（ステップＳ６１４否定）、チップセット６２０は、処理をステップＳ６１２へ移行し、電源がＯＦＦされたと判定すると（ステップＳ６１４肯定）、処理を終了する。このように、不良ブロックの代替領域として冗長領域を利用することにより、電気的試験においてＤＩＭＭ６３０に不良ブロックが検出された場合であっても、当該ＤＩＭＭ６３０を利用することができる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００４−５５１００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述した従来技術は、電気的試験時に記憶した不良情報のみに基づき、不良ブロックへ書込まれるデータの冗長領域への退避処理を行う。そのため、出荷時に既に存在する不良ブロックについてはデータの退避を行うことができるものの、情報処理装置の使用中に新たに生じた不良ブロックについては退避処理を行うことはできない。
【００１４】
そこで、開示の技術は、出荷後において記憶装置に不良領域が生じた場合でも継続して使用することができるメモリ制御装置、メモリモジュール及びメモリ制御方法を提供することを目的とする。
【００１５】
また、上述した従来技術は、不良ブロックの代替領域を冗長領域に限定しているため、冗長領域の容量が一杯になると、不良ブロックの代替処理を行うことができなくなってしまう。
【００１６】
そこで、開示の技術は、不良領域へ書込まれるデータの代替領域への退避処理を、代替領域として使用可能な領域の容量を限定せずに実行することのできるメモリ制御装置、メモリモジュール及びメモリ制御方法を提供することを目的とする。
【００１７】
また、上述した従来技術は、電気的試験時において不良ブロックを検出すると、当該不良ブロックに対して、当該不良ブロックに書込み指示されたデータが冗長領域に書込まれるようにハード的な修正を施す。このように、一度不良ブロックに対して修正処理を施すと、元の状態に戻すことができないため、不良ブロックを含むＤＩＭＭに対し、不良ブロックの改善処理や不良ブロック発生の根本原因の調査等が困難となる。そのため、例えば、不良ブロックが多数検出されたＤＩＭＭは、従来では、根本原因の調査や改善処理等が行われることなく廃棄処分されており、歩留まり低下の原因の一つとなっていた。
【００１８】
そこで、開示の技術は、不良領域の修正処理を行うか否かを判断することのできるメモリ制御装置、メモリモジュール及びメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法は、一つの態様において、記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段とを備える。
【発明の効果】
【００２０】
本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の一つの態様によれば、記憶装置に不良領域が生じた場合でも、当該記憶装置を搭載する機器を継続して使用することができるという効果を奏する。
【００２１】
また、本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の一つの態様によれば、不良領域へ書込まれるデータの代替領域への退避処理を、代替領域として使用可能な領域の容量を限定せずに実行することができるという効果を奏する。
【００２２】
また、本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の一つの態様によれば、不良領域の修正処理を行うか否かを判断することができるという効果を奏する。
【図面の簡単な説明】
【００２３】
【図１】図１は、実施例１における情報処理装置の構成を示すブロック図である。
【図２】図２は、不良情報管理テーブルの一例を示す図である。
【図３−１】図３−１は、実施例１におけるメモリ制御装置の処理手順を示すフローチャートである。
【図３−２】図３−２は、実施例１における正常セル使用モード処理の処理手順を示すフローチャートである。
【図３−３】図３−３は、実施例１における正常セル不使用モード処理の処理手順を示すフローチャートである。
【図４−１】図４−１は、実施例２における正常セル使用モード処理の処理手順を示すフローチャートである。
【図４−２】図４−２は、実施例２における正常セル不使用モード処理の処理手順を示すフローチャートである。
【図４−３】図４−３は、実施例２における正常セル不使用モード処理の処理手順の他の一例を示すフローチャートである。
【図５】図５は、不良情報管理テーブルの一例を示す図である。
【図６−１】図６−１は、実施例３におけるメモリ制御装置の処理手順を示すフローチャートである。
【図６−２】図６−２は、実施例３における正常セル使用モード処理の処理手順を示すフローチャートである。
【図７】図７は、実施例４における情報処理装置の構成を示すブロック図である。
【図８−１】図８−１は、実施例４におけるメモリ制御装置の処理手順を示すフローチャートである。
【図８−２】図８−２は、実施例４における試験モード処理の処理手順を示すフローチャートである。
【図９−１】図９−１は、情報処理装置の構成の他の一例を示すブロック図である。
【図９−２】図９−２は、情報処理装置の構成の他の一例を示すブロック図である。
【図９−３】図９−３は、情報処理装置の構成の他の一例を示すブロック図である。
【図１０−１】図１０−１は、従来における情報処理装置の構成の一例を示すブロック図である。
【図１０−２】図１０−２は、従来における情報処理装置の構成の他の一例を示すブロック図である。
【図１１】図１１は、従来におけるメモリエラー発生時の処理手順の一例を示すフローチャートである。
【図１２】図１２は、従来における情報処理装置の構成の他の一例を示すブロック図である。
【図１３−１】図１３−１は、従来における電気的試験時にメモリエラーを検出した場合の処理の一例を示すフローチャートである。
【図１３−２】図１３−２は、従来における不良ブロックへのアクセス指示がなされた場合の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下に、本願の開示するメモリ制御装置、メモリモジュール及びメモリ制御方法の実施例を図面に基づいて詳細に説明する。
【００２５】
なお、この実施例によりこの発明が限定されるものではない。例えば、以下の実施例では、記憶装置の一例として、揮発性メモリであるＤＲＡＭを用いて説明するが、本願に開示する技術は、フラッシュメモリなどの不揮発性メモリやＨＤＤ(Hard Disk Drive)などのディスク装置に対しても適用可能である。また、以下の実施例では、メモリモジュールの一例として、記憶装置たるＤＲＡＭを複数備えたＤＩＭＭを用いて説明するとともに、メモリモジュールをパーソナルコンピュータなどの情報処理装置に搭載した場合について説明する。また、以下の実施例では、ＤＲＡＭのメモリセル単位で不良検出を行う（すなわち、１つのメモリセルが不良領域に相当する。）こととするが、必ずしもメモリセル単位でなくてもよく、例えば、複数のメモリセルを含むブロック単位で不良検出を行ってもよい。
【実施例１】
【００２６】
まず、本実施例にかかる情報処理装置の構成について、図面を参照して説明する。図１は実施例１における情報処理装置の構成を示すブロック図、図２は不良情報管理テーブルの一例を示す図である。
【００２７】
図１に示すように、本実施例にかかる情報処理装置１は、ＣＰＵ１０と、メモリ制御装置１１と、ＤＩＭＭ１２とを有する。ＣＰＵ１０は、データの計算・加工を行う演算処理装置であり、メモリ制御装置１１に対して、ＤＩＭＭ１２に対するデータの書込みや読出しを指示する。メモリ制御装置１１は、ＣＰＵ１０のＤＩＭＭ１２へのアクセスを制御する装置であり、ＣＰＵ１０からの指示に基づき、ＤＩＭＭ１２へのデータの書込みや読出しを行う。かかるメモリ制御装置１１は、例えば、チップセットに相当する。ＤＩＭＭ１２は、各種データを記憶するメモリモジュールである。
【００２８】
ＤＩＭＭ１２は、複数のＤＲＡＭ１２０ａ〜１２０ｄと、記憶部１２１とを有する。ＤＲＡＭ１２０ａ〜１２０ｄは、それぞれ記憶領域を複数のメモリセルに区切られた揮発性メモリであり、記憶装置に相当する。各ＤＲＡＭ１２０ａ〜１２０ｄの有する複数のメモリセルは、それぞれ１ビットのデータを格納する。そして、これらメモリセルの中には、データの格納が不可能なメモリセルである不良セルが存在する場合がある。
【００２９】
記憶部１２１は、メモリ制御装置１１がＤＲＡＭ１２０ａ〜１２０ｄにアクセスする場合に必要な情報を記憶する不揮発性の記憶領域（「所定の記憶領域」に相当）である。特に、記憶部１２１は、本実施例と密接に関連するものとして、不良情報管理テーブル１２２を記憶する。
【００３０】
不良情報管理テーブル１２２は、不良セルとして検出されたメモリセルの不良情報を記憶する。具体的には、図２に示すように、不良情報管理テーブル１２２には、不良セルの位置を特定するためのアドレス情報として、ＤＲＡＭ番号、Ｂａｎｋ番号、Row AddressおよびColumn Addressとが記憶される。ＤＲＡＭ番号は、不良セルが属するＤＲＡＭを特定するための情報であり、Ｂａｎｋ番号は、ＤＲＡＭ内に設けられた複数のＢａｎｋのうち不良セルが属するＢａｎｋを示す情報であり、Row AddressおよびColumn Addressは、それぞれＢａｎｋ内における不良セルの行アドレス及び列アドレスである。
【００３１】
メモリ制御装置１１は、不良検出部１１１と、記憶処理部１１２と、データ書込み／読出し部１１３とを有する。不良検出部１１１は、不良検出手段として機能し、複数のメモリセルの中からデータの格納が不可能な不良セルの検出を行う。具体的には、本実施例にかかる不良検出部１１１は、ＣＰＵ１０からの指示に基づきＤＩＭＭ１２からのデータの読出しが行われた後、不良セルの検出処理を行う。
【００３２】
記憶処理部１１２は、記憶処理手段として機能し、不良検出部１１１により検出された不良セルに関する情報である不良情報を不良情報管理テーブル１２２に記憶する。また、データ書込み／読出し部１１３は、データ書込み手段として機能し、記憶処理部１１２により不良情報管理テーブル１２２に記憶された不良情報に基づき、不良セルへの書込み指示がなされたデータを、不良情報管理テーブル１２２のメモリセル以外のメモリセルに書込む。
【００３３】
次に、本実施例にかかる情報処理装置１の具体的動作について図面を参照して説明する。図３−１は、実施例１におけるメモリ制御装置１１の処理手順を示すフローチャートである。なお、図３−１においては、メモリ制御装置１１が実行する処理手順のうち、ＤＩＭＭ１２へのアクセス制御に関する処理手順のみを示す。
【００３４】
図３−１に示すように、本実施例にかかるメモリ制御装置１１は、電源がＯＮされると、先ず、不良情報管理テーブル１２２に不良情報が記憶されているか否かを判定する（ステップＳ１０１）。この処理において、不良情報管理テーブル１２２に不良情報が記憶されていると判定すると（ステップＳ１０１肯定）、メモリ制御装置１１は、不良情報管理テーブル１２２に記憶されている不良情報を取得する（ステップＳ１０２）。取得した不良情報は、メモリ制御装置１１内の所定の記憶領域（図示せず）に記憶される。
【００３５】
ステップＳ１０２の処理を終えたとき、あるいは、ステップＳ１０１において不良情報管理テーブル１２２に不良情報が記憶されていないとき（ステップＳ１０１否定）、メモリ制御装置１１は、正常セル使用フラグがセットされているか否かを判定する（ステップＳ１０３）。この処理において、正常セル使用フラグがセットされていると判定すると（ステップＳ１０３肯定）、メモリ制御装置１１は、正常セル使用モード処理を実行する（ステップＳ１０４）。ここで、正常セル使用モードとは、データの書込み指示がなされたメモリセルが不良セルであった場合、他のメモリセルへのデータの書込み（退避処理）を実行するモードである。正常セル使用モード処理は、図３−２に示す処理であり、後述する。
【００３６】
一方、ステップＳ１０３において、正常セル使用フラグがセットされていないとき（ステップＳ１０３否定）、メモリ制御装置１１は、正常セル不使用モード処理を行う（ステップＳ１０５）。ここで、正常セル不使用モードとは、データの書込み指示がなされたメモリセルが不良セルであった場合でも、当該不良セルに書込んだデータの他のメモリセルへのデータの書込み（退避処理）を行わないモードであり、例えば、出荷前の電気的試験において使用される。正常セル不使用モード処理は、図３−３に示す処理であり、後述する。ステップＳ１０４又はステップＳ１０５の処理を終えたとき、メモリ制御装置１１は、ＤＩＭＭ１２へのアクセス制御に関する処理を終了する。
【００３７】
続いて、ステップＳ１０４に示す正常セル使用モード処理について図３−２を参照して説明する。図３−２は、実施例１にかかる正常セル使用モード処理の処理手順を示すフローチャートである。
【００３８】
図３−２に示すように、正常セル使用モード処理を開始すると、メモリ制御装置１１のデータ書込み／読出し部１１３は、各ＤＲＡＭ１２０ａ〜１２０ｄ内の記憶領域のうち、ＣＰＵ１０により指示されたデータを読出す（ステップＳ１１１）。続いて、不良検出部１１１は、不良セルが検出されたか否かを判定する（ステップＳ１１２）。この処理において、不良セルが検出されたと判定すると（ステップＳ１１２肯定）、記憶処理部１１２は、不良情報管理テーブル１２２の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル１２２に書込み（ステップＳ１１３）、更新後の不良情報管理テーブル１２２に記憶されている不良情報を取得する。
【００３９】
続いて、データ書込み／読出し部１１３は、ＣＰＵ１０から書込み指示されたデータを書込む（ステップＳ１１４）。なお、この処理において、データ書込み／読出し部１１３は、書込み指示された記憶領域に不良セルが含まれているか否かにかかわらず、指定された記憶領域にデータを書込む。
【００４０】
続いて、データ書込み／読出し部１１３は、不良情報管理テーブル１２２を参照することにより、書込みが指示されたメモリセルの中に不良セルが存在するか否かを判定する（ステップＳ１１５）。この処理において、書込みが指示されたメモリセルの中に不良セルが存在すると判定すると（ステップＳ１１５肯定）、データ書込み／読出し部１１３は、ステップＳ１１４において不良セルに書込んだデータを正常なメモリセルに書込む（ステップＳ１１６）。具体的には、データ書込み／読出し部１１３は、不良情報管理テーブル１２２に記憶されたメモリセル以外のメモリセル（すなわち、不良セルとして検出されていないメモリセル）を正常なメモリセルと判定する。そして正常なメモリセルと判定したメモリセルのいずれかに対して不良セルに書込んだデータを退避させる。
【００４１】
一方、ステップＳ１１５において、書込みが指示されたメモリセルの中に不良セルが存在しないとき（ステップＳ１１５否定）、データ書込み／読出し部１１３は、書込みが指示されたメモリセルにデータを書込む（ステップＳ１１７）。ステップＳ１１６、Ｓ１１７の処理を終えたとき、あるいは、ステップＳ１１２において不良セルが検出されていないとき（ステップＳ１１２否定）、メモリ制御装置１１は、処理をステップＳ１１８に移行する。
【００４２】
ステップＳ１１８において、メモリ制御装置１１は、処理終了が指示されたか否かを判定する。処理終了の指示とは、例えば、電源のＯＦＦ操作などである。この処理において、処理終了が指示されていないとき（ステップＳ１１８否定）、メモリ制御装置１１は、処理をステップＳ１１１へ移行する。一方、処理終了が指示されたと判定すると（ステップＳ１１８肯定）、メモリ制御装置１１は、ＤＩＭＭ１２へのアクセス制御に関する処理を終了する。
【００４３】
続いて、ステップＳ１０５に示す正常セル不使用モード処理の処理手順について図３−３を参照して説明する。図３−３は、実施例１にかかる正常セル不使用モード処理の処理手順を示すフローチャートである。
【００４４】
図３−３に示すように、正常セル不使用モード処理を開始すると、メモリ制御装置１１は、ＣＰＵ１０により指示されたデータをＤＲＡＭ１２０から読出す（ステップＳ１２１）。続いて、不良検出部１１１は、不良セルが検出されたか否かを判定する（ステップＳ１２２）。この処理において、不良セルが検出されたと判定すると（ステップＳ１２２肯定）、記憶処理部１１２は、不良情報管理テーブル１２２の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル１２２に書込み（ステップＳ１２３）、更新後の不良情報管理テーブル１２２に記憶されている不良情報を取得する（ステップＳ１２４）。
【００４５】
続いて、データ書込み／読出し部１１３は、ＣＰＵ１０から書込み指示されたデータを書込む（ステップＳ１２５）。なお、この処理において、データ書込み／読出し部１１３は、書込み指示された記憶領域に不良セルが含まれているか否かにかかわらず、指定された記憶領域にデータを書込む。
【００４６】
続いて、データ書込み／読出し部１１３は、不良情報管理テーブル１２２を参照することにより、書込みが指示されたメモリセルの中に不良セルが存在するか否かを判定する（ステップＳ１２６）。この処理において、書込みが指示されたメモリセルの中に不良セルが存在すると判定すると（ステップＳ１２６肯定）、データ書込み／読出し部１１３は、データを正常なメモリセルに書込みをしないで、すなわちデータを退避させないで、処理をステップＳ１２８へ移行する。
【００４７】
一方、ステップＳ１２７において、書込みが指示されたメモリセルの中に不良セルが存在しないとき（ステップＳ１２６否定）、データ書込み／読出し部１１３は、書込みが指示されたメモリセルにデータを書込む（ステップＳ１２７）。
【００４８】
ステップＳ１２６において書込みが指示されたメモリセルの中に不良セルが存在すると判定したとき（ステップＳ１２６肯定）、ステップＳ１２７の処理を終えたとき、あるいは、ステップＳ１２２において不良セルが検出されていないとき（ステップＳ１２２否定）、メモリ制御装置１１は、処理終了が指示されたか否かを判定する（ステップＳ１２８）。この処理において、処理終了が指示されていないとき（ステップＳ１２８否定）、メモリ制御装置１１は、処理をステップＳ１２１へ移行する。一方、処理終了が指示されたと判定すると（ステップＳ１２８肯定）、メモリ制御装置１１は、ＤＩＭＭ１２へのアクセス制御に関する処理を終了する。
【００４９】
このように、正常セル不使用モード処理においてＣＰＵ１０からデータの書込み指示を受けた場合、メモリ制御装置１１は、データを書込んだ領域に不良セルが含まれていたとしても、当該不良セルに書込んだデータの退避処理を行わない。
【００５０】
上述してきたように、実施例１では、ＤＩＭＭ１２へのデータの読出しが指示された場合、不良セルの検出処理を行い、不良セルを検出すると、当該不良セルについての不良情報を不良情報管理テーブル１２２に記憶する。そして、不良情報管理テーブル１２２に記憶された不良情報に基づき、不良セルへの書込み指示がなされたデータを正常なメモリセルに退避させる。これにより、使用中にＤＲＡＭにメモリエラーが発生した場合であっても、情報処理装置１を停止させることなく継続して使用することができる。
【００５１】
また、実施例１では、不良セルへの書込み指示がなされたデータの退避領域は、不良セル以外の正常なメモリセルのいずれかであればよいため、退避領域を予め指定した容量に限定されることなく、不良セルの退避処理を行うことができる。
【実施例２】
【００５２】
実施例１では、ＣＰＵ１０から指示された領域のデータを読出し、不良セルの検出を行った後、指示されたデータの書込みを行ったが、これに代えて、ＣＰＵ１０により指示されたデータを書込んだ後、当該書込んだデータを直ぐに読出して不良セルの検出を行うようにしてもよい。以下、実施例２について図面を参照して説明する。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
【００５３】
図４−１は、実施例２における正常セル使用モード処理の処理手順を示すフローチャートである。図４−１に示すように、正常セル使用モード処理を開始すると、データ書込み／読出し部１１３は、書込み指示されたデータをＤＩＭＭ１２に書込む（ステップＳ２０１）。続いて、不良検出部１１１は、ステップＳ２０１において書込んだデータを読出す（ステップＳ２０２）。
【００５４】
続いて、不良検出部１１１は、不良セルが検出されたか否かを判定する（ステップＳ２０３）。具体的には、不良検出部１１１は、各ＤＲＡＭ１２０ａ〜１２０ｄに対して書込んだ書込みデータと、各ＤＲＡＭ１２０ａ〜１２０ｄから読出した読出しデータとの差分に基づき、ＤＲＡＭ１２０ａ〜１２０ｄに書込まれていないデータを特定し、当該データを書込んだメモリセルを不良セルと判定する。この処理において、不良セルが検出されたと判定すると（ステップＳ２０３肯定）、記憶処理部１１２は、検出された不良セルに関する不良情報を不良情報管理テーブル１２２に書込むことで不良情報管理テーブル１２２を更新し（ステップＳ２０４）、更新後の不良情報管理テーブル１２２に記憶されている不良情報を取得する。
【００５５】
続いて、データ書込み／読出し部１１３は、ステップＳ２０１において不良セルに書込んだデータを正常なメモリセルに書込む（ステップ２０５）。続いて、不良検出部１１１は、ステップＳ２０５において書込んだデータを再度読出し（ステップＳ２０６）、不良セルを新たに検出したか否かを判定する（ステップＳ２０７）。この処理において、不良セルを新たに検出したと判定すると（ステップＳ２０７肯定）、記憶処理部１１２は、処理をステップＳ２０４へ移行する。このように、本実施例では、不良セルの検出処理を新たな不良セルが検出されなくなるまで繰り返す。
【００５６】
ステップＳ２０３において不良セルが検出されていないとき（ステップＳ２０３否定）、あるいは、ステップＳ２０７において不良セルを新たに検出していないとき（ステップＳ２０７否定）、メモリ制御装置１１は、処理をステップＳ２０８に移行する。
【００５７】
ステップＳ２０８において、メモリ制御装置１１は、処理終了が指示されたか否かを判定する。この処理において、処理終了が指示されていないとき（ステップＳ２０８否定）、メモリ制御装置１１は、処理をステップＳ２０１へ移行する。一方、処理終了が指示されたと判定すると（ステップＳ２０８肯定）、メモリ制御装置１１は、正常セル使用モード処理を終了する。
【００５８】
続いて、本実施例にかかる正常セル不使用モード処理について図４−２を参照して説明する。図４−２は、実施例２における正常セル不使用モード処理の処理手順を示すフローチャートである。
【００５９】
図４−２に示すように、正常セル不使用モード処理を開始すると、データ書込み／読出し部１１３は、書込み指示されたデータをＤＩＭＭ１２に書込む（ステップＳ２１１）。続いて、不良検出部１１１は、ステップＳ２１１において書込んだデータを読出す（ステップＳ２１２）。続いて、不良検出部１１１は、不良セルが検出されたか否かを判定する（ステップＳ２１３）。具体的には、不良検出部１１１は、図４−１におけるステップＳ２０３と同様、書込みデータと読出しデータとの差分に基づき、不良セルを特定する。この処理において、不良セルが検出されたと判定すると（ステップＳ２１３肯定）、記憶処理部１１２は、検出された不良セルに関する不良情報を不良情報管理テーブル１２２に書込むことで不良情報管理テーブルを更新し（ステップＳ２１４）、更新後の不良情報管理テーブル１２２に記憶されている不良情報を取得する（ステップＳ２１５）。
【００６０】
ステップＳ２１５の処理を終えたとき、あるいは、ステップＳ２１３において不良セルが検出されていないとき（ステップＳ２１３否定）、メモリ制御装置１１は、処理をステップＳ２１６に移行する。ステップＳ２１６において、メモリ制御装置１１は、処理終了が指示されたか否かを判定する。この処理において、処理終了が指示されていないとき（ステップＳ２１６否定）、メモリ制御装置１１は、処理をステップＳ２１１へ移行する。一方、処理終了が指示されたと判定すると（ステップＳ２１６肯定）、メモリ制御装置１１は、正常セル不使用モード処理を終了する。
【００６１】
なお、本実施例では、上述した正常セル不使用モード処理において全領域検査を行ってもよい。全領域検査とは、ＤＲＡＭ１２０ａ〜１２０ｄの全メモリセルに対して不良検出部１１１による不良セルの検出を処理する処理である。以下、かかる場合における正常セル不使用モード処理について、図４−３を参照して説明する。図４−３は、実施例２における正常セル不使用モード処理の処理手順の他の一例を示すフローチャートである。
【００６２】
図４−３に示すように、正常セル不使用モード処理を開始すると、メモリ制御装置１１は、ＣＰＵ１０から全領域検査指示がなされたか否かを判定する（ステップＳ２２１）。この処理においてＣＰＵ１０から全領域検査指示がなされたと判定すると（ステップＳ２２１肯定）、データ書込み／読出し部１１３は、書込みが指示されたデータを各ＤＲＡＭ１２０ａ〜１２０ｄの全領域に対して書込む（ステップＳ２２２）。なお、この処理において書込まれるデータは、不良セルの検出処理を行う際に用いられるテストデータとする。続いて、不良検出部１１１は、ステップＳ２２２において書込んだデータを読出す（ステップＳ２２３）。
【００６３】
続いて、不良検出部１１１は、不良セルが検出されたか否かを判定する（ステップＳ２２４）。具体的には、不良検出部１１１は、図４−１におけるステップＳ２０３と同様、書込みデータと読出しデータとの差分に基づき、不良セルを特定する。
【００６４】
ステップＳ２２４の処理において、不良セルが検出されたと判定すると（ステップＳ２２４肯定）、記憶処理部１１２は、不良情報管理テーブル１２２の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル１２２に書込み（ステップＳ２２５）、更新後の不良情報管理テーブル１２２に記憶されている不良情報を取得する（ステップＳ２２６）。
【００６５】
続いて、メモリ制御装置１１は、全領域検査が終了したか否かを判定する（ステップＳ２２７）。この処理において、全領域検査が終了していないとき（ステップＳ２２７否定）、メモリ制御装置１１は、処理をステップＳ２２２へ移行する。
【００６６】
一方、ステップＳ２２１において全領域検査指示がなされていないとき（ステップＳ２２１否定）、メモリ制御装置１１は、指示領域検査処理としてステップＳ２２８〜Ｓ２３２の処理を実行する。指示領域検査とは、ＤＲＡＭ１２０ａ〜１２０ｄの全メモリセルのうち、指定されたメモリセルに対して不良セルの検出を処理する処理である。ここで、ステップＳ２２８〜Ｓ２３２は、図４−２に示すステップＳ２１１〜Ｓ２１５の処理と同一であり、その説明を省略する。
【００６７】
ステップＳ２３２の処理を終えると、メモリ制御装置１１は、指示領域検査が終了したか否かを判定する（ステップＳ２３３）。この処理において、指示領域検査が終了していないとき（ステップＳ２３３否定）、メモリ制御装置１１は、処理をステップＳ２２８へ移行する。
【００６８】
ステップＳ２２７において、全領域検査が終了したと判定した場合（ステップＳ２２７肯定）、あるいは、ステップＳ２３３において指示領域検査が終了したと判定した場合（ステップＳ２３３肯定）、メモリ制御装置１１は、正常セル不使用モード処理を終了する。
【００６９】
上述してきたように、実施例２では、ＣＰＵ１０からのデータの書込み指示を受けた場合に、データを書込んだ後、直ぐにデータを読出して不良セルの検出を行うため、不良セルの検出をより正確に行なうことができる。また、実施例２では、不良セルの検出処理を新たな不良セルが検出されなくなるまで繰り返すため、不良セルをより確実に検出することができる。
【実施例３】
【００７０】
上記各実施例では、不良セルへ書込まれるデータの退避領域を特定の領域に限定しないこととしたが、ＤＲＡＭ１２０ａ〜１２０ｄの記憶領域に冗長領域が存在する場合は、不良セルへの書込み指示がなされたデータを冗長領域に書込むようにしてもよい。以下、実施例３について図面を参照して説明する。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。図５は不良情報管理テーブルの一例を示す図である。
【００７１】
本実施例にかかる不良情報管理テーブル１２２は、図２に示す不良情報管理テーブル１２２に記憶される情報に加え、図５に示すように、不良セルへの書込み指示がなされたデータの退避領域を特定するための情報を当該不良セルの不良情報と関連付けて記憶する。具体的には、不良情報管理テーブル１２２は、退避領域を特定するための情報として、ＤＲＡＭ番号と、Ｂａｎｋ番号と、Row Addressと、Column Addressとを記憶する。なお、退避領域に関する情報は、後述する図６−２に示すステップＳ３１４において不良情報管理テーブル１２２の更新を行った段階では記憶されていない状態となっている。
【００７２】
次に、本実施例におけるメモリ制御装置１１の具体的動作について図６−１を参照して説明する。図６−１は、本実施例におけるメモリ制御装置１１の処理手順を示すフローチャートである。なお、ステップＳ３０１、Ｓ３０２の処理は、図３−１におけるステップＳ１０１、Ｓ１０２の処理と同様であるため、これらの説明を省略する。
【００７３】
図６−１に示すように、ステップＳ３０２の処理を終えたとき、あるいは、ステップＳ３０１において不良情報管理テーブル１２２に不良情報が記憶されていないとき（ステップＳ３０１否定）、メモリ制御装置１１は、ＤＲＡＭ１２０ａ〜１２０ｄの記憶領域に冗長領域が存在するか否かを判定する（ステップＳ３０３）。ここで、冗長領域とは、ＤＲＡＭ１２０に不良セルが発生した場合、当該不良セルへの書込み指示がなされたデータを書込むための退避領域であり、通常はユーザに使用されることはないベンダ固有の領域である。この処理において、ＤＲＡＭ１２０ａ〜１２０ｄの記憶領域に冗長領域が存在すると判定すると（ステップＳ３０３肯定）、メモリ制御装置１１は、不良セルに書込まれるデータの退避領域として冗長領域を使用するように設定する（ステップＳ３０４）。
【００７４】
一方、ステップＳ３０３においてＤＲＡＭ１２０ａ〜１２０ｄの記憶領域に冗長領域が存在しない場合（ステップＳ３０３否定）、メモリ制御装置１１は、退避領域として使用する空き領域の容量が設定されているか否かを判定する（ステップＳ３０５）。空き領域とは、ＤＲＡＭ１２０ａ〜１２０ｄの記憶領域のうち、現在使用されていない記憶領域を示す。この処理において、空き領域の容量が設定されていると判定すると（ステップＳ３０５肯定）、メモリ制御装置１１は、ＤＲＡＭ１２０ａ〜１２０ｄに存在する空き領域の中から、予め設定された容量の退避領域を確保する（ステップＳ３０６）。一方、ステップＳ３０５において空き領域の容量が設定されていないとき（ステップＳ３０５否定）、メモリ制御装置１１は、既定容量の空き領域を退避領域として設定する（ステップＳ３０７）。このように、冗長領域が存在しない場合であっても、書込み処理を行う前に退避領域を確保しておくことによって、不良セルに書込み指示されたデータの退避処理を確実に行うことができる。
【００７５】
ステップＳ３０４、Ｓ３０６、Ｓ３０７の処理を終えると、メモリ制御装置１１は、正常セル使用フラグがセットされているか否かを判定する（ステップＳ３０８）。この処理において正常セル使用フラグがセットされていると判定した場合（ステップＳ３０８肯定）、メモリ制御装置１１は、正常セル使用モード処理を実行する（ステップＳ３０９）。一方、正常セル使用フラグがセットされていないとき（ステップＳ３０８否定）、メモリ制御装置１１は、正常セル不使用モード処理を実行する（ステップＳ３１０）。なお、ステップＳ３１０の正常セル不使用モード処理は、図４−２又は図４−３に示す処理と同様であるため、その説明を省略する。そして、ステップＳ３０９、Ｓ３１０の処理を終えると、メモリ制御装置１１は、メモリアクセスに関する処理を終了する。
【００７６】
続いて、ステップＳ３０９に示す正常セル使用モード処理について図６−２を参照して説明する。図６−２は本実施例にかかる正常セル使用モード処理の処理手順を示すフローチャートである。
【００７７】
図６−２に示すように、正常セル使用モード処理を開始すると、データ書込み／読出し部１１３は、書込み指示されたデータをＤＩＭＭ１２に書込む（ステップＳ３１１）。続いて、不良検出部１１１は、ステップＳ３１１において書込んだデータを読出し（ステップＳ３１２）、不良セルが検出されたか否かを判定する（ステップＳ３１３）。この処理において、不良セルが検出されたと判定すると（ステップＳ３１３肯定）、記憶処理部１１２は、不良情報管理テーブル１２２の更新処理として、検出された不良セルに関する不良情報を不良情報管理テーブル１２２に書込み（ステップＳ３１４）、更新後の不良情報管理テーブル１２２に記憶されている不良情報を取得する。
【００７８】
続いて、データ書込み／読出し部１１３は、ステップＳ３１１で不良セルに書込んだデータを、図６−１に示すステップＳ３０４、Ｓ３０６、Ｓ３０７のいずれかの処理で設定した退避領域に書込む（ステップＳ３１５）。このように、本実施例において、データ書込み／読出し部１１３は、メモリセルに予め対応付けられた退避領域が存在しない場合、ＤＲＡＭ１２０ａ〜１２０ｄに存在する空き領域の中から、予め設定された容量の退避領域に対して、不良セルへの書込みが実行されたデータを、確保された退避領域に書込む。
【００７９】
続いて、不良検出部１１１は、退避領域に書込んだデータを読出す（ステップＳ３１６）。そして、記憶処理部１１２は、退避領域に関する情報を不良情報管理テーブル１２２に記憶する（ステップＳ３１７）。具体的には、記憶処理部１１２は、読出したデータを格納していた退避領域内のメモリセルを当該テストデータの書込み対象であった不良セルに対応する退避領域とし、当該メモリセルに関する情報を不良情報管理テーブル１２２に記憶する。これにより、不良情報管理テーブル１２２における退避領域に関する情報が記憶される。
【００８０】
続いて、不良検出部１１１は、ステップＳ３１６において読出したデータに基づき、不良セルを新たに検出したか否かを判定する（ステップＳ３１８）。この処理において、不良セルを新たに検出したと判定すると（ステップＳ３１８肯定）、記憶処理部１１２は、処理をステップＳ３１４へ移行する。このように、本実施例においても、実施例２と同様、不良セルの検出処理を新たな不良セルが検出されなくなるまで繰り返す。
【００８１】
一方、ステップＳ３１３において不良セルが検出されていないとき（ステップＳ３１３否定）、あるいは、ステップＳ３１８において不良セルを新たに検出していないとき（ステップＳ３１８否定）、メモリ制御装置１１は、処理をステップＳ３１９に移行する。
【００８２】
ステップＳ３１９において、メモリ制御装置１１は、処理終了が指示されたか否かを判定する。この処理において、処理終了が指示されていないとき（ステップＳ３１９否定）、メモリ制御装置１１は、処理をステップＳ３１１へ移行する。一方、処理終了が指示されたと判定すると（ステップＳ３１９肯定）、メモリ制御装置１１は、正常セル使用モード処理を終了する。
【００８３】
上述してきたように、実施例３では、ＤＲＡＭ１２０ａ〜１２０ｄの記憶領域に、不良セルへの書込み指示がなされたデータを書込む退避領域が予め存在する場合は、不良セルへの書込み指示がなされたデータをこの退避領域に書込む。このように、予め設定されている退避領域を使用することにより、退避領域の設定を行う場合の手間を省くことができる。
【実施例４】
【００８４】
実施例４において、メモリ制御装置は、出荷前の電気的試験を行うための試験モードを有する。そして、本実施例におけるメモリ制御装置は、試験モードにおいて、ＤＩＭＭ１２に含まれる不良セルの数を求め、試験対象のＤＩＭＭ１２に不良セルが規格値よりも多く含まれる場合には、当該不良セルに対する修正処理を行うことなく、当該ＤＩＭＭ１２を出荷対象から除外する。これにより、多数の不良セルを含むことにより出荷不能と判定されたＤＩＭＭであっても、根本原因の調査を行い、可能な場合は改善処理を施すことで、市場へ流通させることができ、歩留まり低下を防止することができる。以下、実施例４について図面を参照して説明する。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。図７は実施例４における情報処理装置の構成を示すブロック図である。
【００８５】
図７に示すように、本実施例にかかるメモリ制御装置１１’は、上述した不良検出部１１１、記憶処理部１１２、データ書込み／読出し部１１３に加え、不良数判定部１１４とモード切替部１１５とを有する。ここで、通常動作モードと試験モードとの違いは、不良セルに書込まれたデータの正常セルへの退避処理がデータ書込み／読出し部１１３により行われるか否かにある。すなわち、試験モードにおいて、メモリ制御装置１１’は、不良セルにデータが書込まれた場合であっても当該データを他のメモリセルに退避させる処理を行わない。
【００８６】
不良数判定部１１４は、不良数判定手段として機能し、ＤＩＭＭ１２内のＤＲＡＭ１２０ａ〜１２０ｄに含まれる不良セルの数が、予め設定された所定の数よりも多いか否かを判定する。モード切替部１１５は、モード切替手段として機能し、試験モードにおいて不良数判定部１１４により不良セルの数が所定の数よりも低いと判定した場合、試験モードから通常動作モードへのモード切替えを行う。
【００８７】
次に、本実施例にかかるメモリ制御装置１１’の動作について図面を参照して説明する。図８−１は、実施例４におけるメモリ制御装置の処理手順を示すフローチャートである。なお、ステップＳ４０１、Ｓ４０２の処理は、図３−１におけるステップＳ１０１、Ｓ１０２の処理と同じであり、その説明を省略する。
【００８８】
図８−１に示すように、ステップＳ４０３において、メモリ制御装置１１’は、通常動作モード中であるか否かを判定する。この処理において、通常動作モード中であると判定すると（ステップＳ４０３肯定）、メモリ制御装置１１’は、通常動作モード処理を実行する（ステップＳ４０４）。ここで、通常動作モード処理は、図４−１に示す処理と同様であるため、その説明を省略する。
【００８９】
一方、ステップＳ４０３において、通常動作モード中ではないとき（ステップＳ４０３否定）、メモリ制御装置１１’は、試験モード処理を実行する（ステップＳ４０５）。試験モード処理は、図８−２に示す処理であり、後述する。ステップＳ４０４、Ｓ４０５の処理を終えると、メモリ制御装置１１’は、ＤＩＭＭ１２へのアクセス制御に関する処理を終了する。
【００９０】
続いて、ステップＳ４０５に示す試験モード処理の処理手順について図８−２を参照して説明する。図８−２は実施例４における試験モード処理の処理手順を示すフローチャートである。
【００９１】
図８−２に示すように、試験モード処理を開始すると、メモリ制御装置１１は、ＣＰＵ１０から全領域検査指示がなされたか否かを判定する（ステップＳ４１１）。この処理においてＣＰＵ１０から全領域検査指示がなされたと判定すると（ステップＳ４１１肯定）、不良検出部１１１は、各ＤＲＡＭ１２０ａ〜１２０ｄの全領域に対してデータを書込み（ステップＳ４１２）、各ＤＲＡＭ１２０ａ〜１２０ｄ内に記憶されているデータを読出す（ステップＳ４１３）。
【００９２】
一方、ステップＳ４１１において全領域検査指示がなされていないとき（ステップＳ４１１否定）、メモリ制御装置１１は、指定領域検査処理として、書込み指示されたデータをＤＩＭＭ１２に書込む（ステップＳ４１４）。続いて、不良検出部１１１は、ステップＳ４１４において書込んだデータを読出す（ステップＳ４１５）。このように、指定された領域に対してのみ不良セルの検出処理を行うことで、処理にかかる時間を短縮することができる。
【００９３】
ステップＳ４１３、Ｓ４１５の処理を終えたとき、不良検出部１１１は、不良セルが検出されたか否かを判定する（ステップＳ４１６）。この処理において、不良セルが検出されたと判定すると（ステップＳ４１６肯定）、記憶処理部１１２は、検出された不良セルに関する不良情報を不良情報管理テーブル１２２に書込むことにより不良情報管理テーブルを更新し（ステップＳ４１７）、更新後の不良情報管理テーブル１２２に記憶されている不良情報を取得する（ステップＳ４１８）。
【００９４】
続いて、不良数判定部１１４は、不良情報管理テーブル１２２に記憶されている不良情報の数に基づき、ＤＩＭＭ１２に含まれる不良セルの数を算出する（ステップＳ４１９）。
【００９５】
ステップＳ４１９の処理を終えたとき、あるいは、ステップＳ４１６において不良セルを検出していないとき（ステップＳ４１６否定）、不良数判定部１１４は、ＤＩＭＭ１２の電気的試験の終了指示がなされたか否かを判定する（ステップＳ４２０）。この処理において、電気的試験の終了指示がなされていないとき（ステップＳ４２０否定）、不良数判定部１１４は、処理をステップＳ４１１へ移行する。一方、電気的試験の終了指示がなされたと判定すると（ステップＳ４２０肯定）、不良数判定部１１４は、処理をステップＳ４２１へ移行する。
【００９６】
ステップＳ４２１において、不良数判定部１１４は、ステップＳ４１９において算出した不良セルの数が規格値以下であるか否かを判定する。ここで、規格値とは、予め設定された所定の不良セル数である。
【００９７】
ステップＳ４２１の処理において、不良セルの数が規格値以下であると判定した場合（ステップＳ４２１肯定）、モード切替部１１５は、モードを現在の試験モードから通常動作モードへ切替え（ステップＳ４２２）、処理をステップＳ４２３へ移行する。
【００９８】
ステップＳ４２３において、データ書込み／読出し部１１３は、ステップＳ４１６において検出した不良セルに対してテストデータを書込む。このとき、ステップＳ４２２において通常動作モードへの切替えが行われているため、不良セルにテストデータを書込むと、データ書込み／読出し部１１３は、テストデータの退避処理を行う。これにより、不良セルへの書込み指示がなされたデータは、不良セルではない他のメモリセル（退避領域）に書込まれる。
【００９９】
続いて、不良検出部１１１は、ステップＳ４２３において書込んだテストデータを読出し（ステップＳ４２４）、不良セルに書込んだデータを退避領域に書込む（ステップＳ４２５）。そして、記憶処理部１１２は、読出したテストデータを格納していたメモリセルを当該テストデータの書込み対象であった不良セルの退避領域とし、当該メモリセルに関する情報を不良情報管理テーブル１２２に記憶する（ステップＳ４２６）。ステップＳ４２６の処理を終えたＤＩＭＭ１２は、不良セルを含む場合、当該不良セルに書込み指示されたデータが退避領域に書込まれて修正処理される。
【０１００】
一方、ステップＳ４２１において、不良セルの数が規格値以下ではないとき（ステップＳ４２１否定）、メモリ制御装置１１’は、試験対象であるＤＩＭＭ１２が出荷不可能な不良ＤＩＭＭである旨のエラー報告を行う（ステップＳ４２７）。ここで、不良ＤＩＭＭについては、修正処理が施されないため、根本原因の調査および改善を容易に行うことができる。そして、その後の再検査により不良セルの数が規格値以下であると判定された場合には、当該不良ＤＩＭＭをユーザへ出荷することができる。
【０１０１】
ステップＳ４２６、Ｓ４２７の処理を終えると、メモリ制御装置１１’は、試験モード処理を終了する。なお、本実施例では、実施例３と同じように、ＤＲＡＭ１２０ａ〜１２０ｄの記憶領域に冗長領域が存在する場合は、不良セルへの書込み指示がなされたデータを冗長領域に書込むようにしてもよい。かかる場合は、図８−１に示すステップＳ４０３の処理の前に、図６−１に示すステップＳ３０３〜Ｓ３０７の処理を行えばよい。
【０１０２】
また、本実施例では、不良セルの数が規格値以上であるか否かの判定をＤＩＭＭ単位で行ったが、必ずしもＤＩＭＭ単位でなくてもよく、例えば、ＤＲＡＭ単位で判定してもよい。また、本実施例では、ＤＩＭＭ１２に含まれる不良セルの数が規格値以下であるか否かを判定することとしたが、これに限らず、ＤＩＭＭ１２に含まれる不良セルの割合が規格値以下であるか否かを判定してもよい。
【０１０３】
上述してきたように、実施例４では、通常動作モードのほかに試験モードを設け、試験モードにおいて、不良セルの数が規格値以下であるか否かを不良数判定部１１４により判定する。これにより、不良セルを含むＤＩＭＭに対して修正処理を施すべきか否かを不良数判定部１１４による判定結果に基づき判断することができる。したがって、例えば、不良セルの数が規格値以上であった不良ＤＩＭＭについては、修正処理を施さないようにすることができ、これにより、不良ＤＩＭＭの根本原因の調査や改善処理が可能となり、改善処理によって不良セルの数が規格値以下と成った場合は市場へ流通させることができるため、歩留まり低下を防止することができる。
【０１０４】
また、不良セルの割合が規格値以下であったＤＩＭＭ１２については、モード切替部１１５による通常動作モードへの切替えが自動的に行われるため、電気的試験をパスしたＤＩＭＭ１２を実際の出荷により適した状態とすることができる。
【０１０５】
しかも、通常動作モードに切替えることにより、不良セルに書込まれたデータのデータ書込み／読出し部１１３による退避処理が実行される。そこで、通常動作モードに切替えた後、データ書込み／読出し部１１３により、不良セルに対してテストデータを書込むとともに、当該書込んだテストデータを読出して、読出したテストデータを正常セルに書込む。そして、テストデータを書込んだ正常セルを当該テストデータが書込まれた不良セルに対応する退避領域とし、記憶処理手段により当該正常セルに関する情報を当該不良セルの不良情報と関連付けて不良情報管理テーブル１２２に記憶する。このように、不良セルに対する修正処理を行う前に、不良セルに予め退避領域が対応付けられた状態とすることで、修正処理に要する時間を短縮することができる。
【０１０６】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１０７】
例えば、各ＤＲＡＭ内に制御部を設けてもよい。図９−１は、情報処理装置の構成の他の一例である。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
【０１０８】
図９−１に示すように、かかる場合の情報処理装置１’’は、ＣＰＵ１０と、チップセット１３と、ＤＩＭＭ１２’とを有する。ＤＩＭＭ１２’は、複数のＤＲＡＭ１３０ａ〜１３０ｄを有する。
【０１０９】
ＤＲＡＭ１３０ａ〜１３０ｄは、それぞれ制御部１３１ａ〜１３１ｄと、記憶部１３２ａ〜１３２ｄとを含む。制御部１３１ａ〜１３１ｄは、上記各実施例におけるメモリ制御装置に相当し、不良検出部１１１、記憶処理部１１２、データ書込み／読出し部１１３、不良数判定部１１４、モード切替部１１５等を有する。また、記憶部１３２ａ〜１３２ｄは、不揮発性の記憶領域であり、不良情報管理テーブル１３３ａ〜１３３ｄを記憶する。不良情報管理テーブル１３３ａ〜１３３ｄは、それぞれ自ＤＲＡＭ内の不良セルに関する不良情報のみを記憶する。チップセット１３は、ＤＩＭＭ１２’に接続されるメモリインタフェースであり、ＣＰＵ１０からの指示に従い、ＤＩＭＭ１２’へのデータの書込みや読出しを各ＤＲＡＭ１３０ａ〜１３０ｄの制御部１３１ａ〜１３１ｄへ指示する。すなわち、かかる場合、各ＤＲＡＭ１３０ａ〜１３０ｄの制御部１３１ａ〜１３１ｄは、自ＤＲＡＭ内の不良セルに関する不良情報を記憶する不良情報管理テーブル１３３ａ〜１３３ｄを用いて、自ＤＲＡＭへのアクセスのみを制御するため、情報処理装置１全体としての処理速度を上げることができる。
【０１１０】
このように、各ＤＲＡＭ１３０ａ〜１３０ｄは、メモリセルに含まれる不良セルを検出する不良検出手段と、不良検出手段により検出された不良セルのアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、不良セルへの書込みが実行されたデータを、記憶処理手段により記憶された不良情報に基づき、不良セル以外の記憶領域に書込むデータ書込み手段とを備えた記憶装置に相当する。
【０１１１】
また、ＤＩＭＭに制御部を設けることで、ＤＩＭＭが上記各実施例におけるメモリ制御装置として機能するようにしてもよい。図９−２は、情報処理装置の構成の他の一例である。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
【０１１２】
図９−２に示すように、かかる場合の情報処理装置１’’’は、ＣＰＵ１０と、チップセット１３と、ＤＩＭＭ１２’’とを有する。ＤＩＭＭ１２’’は、複数のＤＲＡＭ１２０ａ〜１２０ｄと、不良情報管理テーブル１２２を記憶する記憶部１２１と、制御部１５０とを有する。そして、制御部１５０は、メモリ制御装置に相当し、不良検出部１１１、記憶処理部１１２、データ書込み／読出し部１１３、不良数判定部１１４、モード切替部１１５等を有する。このように、本願に開示するメモリ制御装置は、ＤＲＡＭやＤＩＭＭに対して適用することもできる。
【０１１３】
また、記憶部１２１をメモリ制御装置１１内に設けてもよい。図９−３は、情報処理装置の構成の他の一例である。なお、既に説明した構成と同じものについては同一の符号を付し、その説明を省略する。
【０１１４】
図９−３に示すように、かかる場合の情報処理装置１’’’’は、ＣＰＵ１０と、メモリ制御装置１１’’と、ＤＩＭＭ１２’’’とを有する。メモリ制御装置１１’’は、不良検出部１１１と、記憶処理部１１２と、データ書込み／読出し部１１３に加えて、記憶部１２１を有する。記憶部１２１は、不良情報記憶手段に相当し、不良検出部１１１により検出された不良セルの不良情報を記憶する不良情報管理テーブル１２２を有する。また、ＤＩＭＭ１２’’’は、複数のＤＲＡＭ１２０ａ〜１２０ｄを有する。
【０１１５】
このように、記憶部１２１をメモリ制御装置１１’’が有することにより、記憶処理部１１２は、不良検出部１１１により検出された不良セルに関する不良情報を不良情報管理テーブル１２２に記憶する場合にＤＩＭＭ１２にアクセスする必要がなくなり、処理を効率的に行うことができる。
【０１１６】
また、上記各実施例では、書込み指示がなされた領域について不良セルの検出を行うこととしたが、これに限ったものではない。例えば、情報処理装置の電源ＯＮ時に取得（例えば、図３−１のステップＳ１０２の処理。）した不良情報管理テーブル１２２の不良情報に基づき、不良セルであることが明らかとなっているメモリセルについては、上記のようなデータの書込み処理や読出し処理を行わないこととしてもよい。
【０１１７】
このようにすることにより、不良セルであることが明らかなメモリセルに対して不良セルであるか否かの判定を行うといった無駄な処理を省くことができる。なお、実施例４のように試験モードを設けた場合、電源ＯＮ時に取得した不良情報を用いるか否かをモードごとに変えてもよい。例えば、試験モードにおいては、電源ＯＮ時に取得した不良情報を用いることなく、全てのメモリセルに対して不良セルであるか否かの判定を行ってもよい。
【０１１８】
また、上述した各実施例では、各ＤＲＡＭ１２０ａ〜１２０ｄの不良情報は、ＤＩＭＭ１２の記憶部１２１にまとめて記憶することとしたが、各ＤＲＡＭ１２０ａ〜１２０ｄ内に不揮発性の記憶領域を設け、当該記憶領域に個別に記憶してもよい。
【０１１９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２０】
（付記１）記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置であって、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とするメモリ制御装置。
【０１２１】
（付記２）前記不良検出手段は、書込み指示されたデータを前記記憶装置に書込んだ後、当該書込んだデータを読出し、書込みデータと読出しデータとの差分に基づき、前記記憶装置に含まれる不良領域を特定することを特徴とする付記１に記載のメモリ制御装置。
【０１２２】
（付記３）前記データ書込み手段は、前記不良領域への書込みが実行されたデータを、当該不良領域の代わりにデータを書込む退避領域として当該不良領域に予め対応付けられた記憶領域に書込むことを特徴とする付記１又は付記２に記載のメモリ制御装置。
【０１２３】
（付記４）前記データ書込み手段は、メモリセルに予め対応付けられた退避領域が存在しない場合、前記記憶領域に存在する空き領域の中から、予め設定された容量の退避領域を確保し、前記不良領域への書込みが実行されたデータを、該確保した退避領域に書込むことを特徴とする付記３に記載のメモリ制御装置。
【０１２４】
（付記５）前記記憶領域のうち、前記不良検出手段により検出した不良領域の占める割合が、予め設定された所定の割合よりも低いか否かを判定する不良数判定手段を備えたことを特徴とする付記１〜４のいずれか１つに記載のメモリ制御装置。
【０１２５】
（付記６）前記不良領域に対してデータが書込まれた場合に、当該データを不良領域以外の記憶領域へ書込む処理を実行する通常動作モードと、前記不良領域に対してデータが書込まれた場合であっても、当該データを不良領域以外の記憶領域へ書込まない試験モードとを有し、
前記不良数判定手段により不良領域の数が所定の数よりも少ないと判定した場合、前記試験モードから前記通常動作モードへのモード切替えを行うモード切替手段を備えたことを特徴とする付記５に記載のメモリ制御装置。
【０１２６】
（付記７）前記データ書込み手段は、前記不良数判定手段により不良領域の数が予め設定された所定の数よりも少ないと判定された場合、前記モード切替手段によるモード切替えが行われた後、不良領域に対して書込まれたテストデータを不良領域以外の記憶領域に書込み、
前記記憶処理手段は、前記テストデータを書込んだ不良領域以外の記憶領域のアドレス情報を含む情報を当該不良領域の不良情報と関連付けて前記所定の記憶領域に記憶する
ことを特徴とする付記６に記載のメモリ制御装置。
【０１２７】
（付記８）前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を記憶する不良情報記憶手段をさらに備えたことを特徴とする付記１〜７の何れか１つに記載のメモリ制御装置。
【０１２８】
（付記９）データを格納する記憶領域を有する記憶装置と、前記記憶装置へのアクセスを制御するメモリ制御装置とを含むメモリモジュールであって、
前記メモリ制御装置は、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とするメモリモジュール。
【０１２９】
（付記１０）記憶領域を有する記憶装置であって、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する不良検出手段と、
前記不良検出手段により検出された不良領域のアドレス情報を含んだ不良情報を所定の記憶領域に記憶する記憶処理手段と、
前記不良領域への書込みが実行されたデータを、前記記憶処理手段により記憶された不良情報に基づき、不良領域以外の記憶領域に書込むデータ書込み手段と
を備えたことを特徴とする記憶装置。
【０１３０】
（付記１１）記憶領域を有する記憶装置へのアクセスを制御するメモリ制御装置のメモリ制御方法であって、
前記メモリ制御装置が、
前記記憶領域に含まれる、データの格納が不可能な不良領域を検出する検出ステップと、
前記検出された不良領域のアドレス情報を含んだ不良情報を前記所定の記憶領域に記憶する記憶ステップと、
前記不良領域への書込みが実行されたデータを、前記記憶処理ステップにおいて記憶した不良情報に基づき、不良領域以外の記憶領域に書込む書込みステップと
を含むことを特徴とするメモリ制御方法。
【符号の説明】
【０１３１】
１  情報処理装置
１０  ＣＰＵ
１１  メモリ制御装置
１２  ＤＩＭＭ
１１１  不良検出部
１１２  記憶処理部
１１３  データ書込み／読出し部
１１４  不良数判定部
１１５  モード切替部
１２０ａ〜１２０ｄ  ＤＲＡＭ
１２１  記憶部
１２２  不良情報管理テーブル
【図１】
2010238192.tif 000003
【図２】
2010238192.tif 000004
【図３−１】
2010238192.tif 000005
【図３−２】
2010238192.tif 000006
【図３−３】
2010238192.tif 000007
【図４−１】
2010238192.tif 000008
【図４−２】
2010238192.tif 000009
【図４−３】
2010238192.tif 000010
【図５】
2010238192.tif 000011
【図６−１】
2010238192.tif 000012
【図６−２】
2010238192.tif 000013
【図７】
2010238192.tif 000014
【図８−１】
2010238192.tif 000015
【図８−２】
2010238192.tif 000016
【図９−１】
2010238192.tif 000017
【図９−２】
2010238192.tif 000018
【図９−３】
2010238192.tif 000019
【図１０−１】
2010238192.tif 000020
【図１０−２】
2010238192.tif 000021
【図１１】
2010238192.tif 000022
【図１２】
2010238192.tif 000023
【図１３−１】
2010238192.tif 000024
【図１３−２】
2010238192.tif 000025