JP2011018387A - メモリ装置、メモリ制御方法、およびプログラム - Google Patents

メモリ装置、メモリ制御方法、およびプログラム Download PDF

Info

Publication number
JP2011018387A
JP2011018387A JP2009160458A JP2009160458A JP2011018387A JP 2011018387 A JP2011018387 A JP 2011018387A JP 2009160458 A JP2009160458 A JP 2009160458A JP 2009160458 A JP2009160458 A JP 2009160458A JP 2011018387 A JP2011018387 A JP 2011018387A
Authority
JP
Japan
Prior art keywords
memory
area
defective
replacement
cell
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
JP2009160458A
Other languages
English (en)
Other versions
JP5347779B2 (ja
Inventor
Kenichi Nakanishi
健一 中西
Keiichi Tsutsui
敬一 筒井
Junichi Koshiyama
潤一 越山
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2009160458A priority Critical patent/JP5347779B2/ja
Priority to US12/801,736 priority patent/US8448017B2/en
Publication of JP2011018387A publication Critical patent/JP2011018387A/ja
Application granted granted Critical
Publication of JP5347779B2 publication Critical patent/JP5347779B2/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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】メモリセルの書込み特性の劣化によって書込みエラーが発生した場合の交代処理にかかる時間を削減可能なメモリ装置、メモリ制御方法、およびプログラムを提供する。
【解決手段】メモリ140は、書込みに要する時間が一定の時間内に終了しなかった場合にエラーを発生し、不良セルであることをメモリコントローラ130に通知する機能と、エラーの発生した主メモリ領域のメモリセルを交代領域のメモリセルと切換える交代処理機能と、不良メモリセルのアドレスとデータをペアとして退避するための領域を複数有する退避領域と、を含み、各退避領域は、使用状態であるか未使用状態であるかを示すフラグを含み、メモリは、新たに不良セルが発生した場合には、退避領域の未使用の領域に新しい不良アドレスとデータを保持し、フラグを使用状態に設定する機能と、交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態にする機能と、を含む。
【選択図】図4

Description

本発明は、エラーの発生したメモリセルを交代領域のメモリセルと切換える交代処理機能を有するメモリ装置、メモリ制御方法、およびプログラムに関するものである。
電気的書込み、消去が可能な揮発性、不揮発性メモリにおいて、メモリセルに対するデータの書込み後あるいは消去後のベリファイ読出しを行うことによって、書込みあるいは消去が正しく行われているかを検証する一連の制御を行う。
図1は、メモリセルの書き込み処理のフローを示す図である。
メモリ装置は、図1に示すように、メモリセルへの書込み後(ST1)、ベリファイ読出しを行い(ST2)、読出しデータと書込みデータとの比較処理を行う(ST3)。
この比較処理でデータが一致すれば処理を終了し、一致しない場合には規定回数、データが一致するまでステップST1からの処理を繰り返す(ST4)。
消去の場合も同様の処理が行われる。
このように、メモリ装置では、この一連の制御を書込みあるいは消去が正しく行われるまで所定の回数繰り返す。所定の回数を超えてもデータが一致しないメモリセルは、特性の変化(劣化)した不良メモリセルと判断される。
その結果、コントローラに対して書込みあるいは消去処理のエラーとして通知される。
ところで、検査において発生する初期不良メモリセルに対して交代処理を行うことは、揮発性メモリ、不揮発性メモリにおいて一般的である。
さらに、書込み時に発生する不良メモリセルについても、交代処理に対応した不揮発性メモリに関する技術も、たとえば特許文献1から4に提案されている。
図2は、提案されている交代処理のフローを示す図である。
特許文献1から4に提案されている技術に見られる交代処理には、共通に図2に示すような処理ステップが存在する。
なお、以下では、不良メモリセルを不良セル、交代メモリセルを交代セルとしていう場合もある。
まず第1ステップST11として、不良セルのアドレスから交代領域の交代可能かつ未使用な交代セルを決定する。
第2ステップST12として、本来不良セルに書込むはずであったデータを交代セルに書込み、正常に完了することを確認する。
ここで第3ステップST13として、エラーが発生したか否かを確認する。
エラーが発生した場合は、第4ステップST14として、その交代セルも不良セルとして使用禁止として記憶し、交代処理をエラーで終了させ、再び交代処理を開始した時に他の交代セルでリトライされる。
エラーが発生せず書込みが正常に完了した場合には、第5ステップST15として、アドレスデコード時に不良セルに対するアクセスが交代セルに切換えられるよう記憶させ、交代処理を完了する。
特願2007−518819号 特開平9−128962号公報 特開平8−031190号公報 特開平8−007597号公報
提案されている交代処理では、上述したような一連の処理を必要とするため、交代処理は通常の書込み処理よりもさらに長い時間を必要とする。
また上記でも説明したように、交代処理では交代セル自体へも書込み、消去を行うことからエラーを発生する可能性も存在する。
ある一定以上の書込み速度でライト(Write)コマンドの実行を続けることを期待されるメモリシステムにおいては、上記のメモリを使用した場合、交代処理が発生し完了するまでは、ライトコマンドを完了することができない。
交代処理は例外的に起こる処理であって常に発生する処理ではないが、上記一定以上の書込み速度を続けるために、交代処理に必要な時間分のマージンを持たないと、メモリへの書込みが間に合わずシステムが破たんすることになる。
そこで図3のように書込むべきデータサイズに相当するバッファを追加するなどの方法によって交代処理にかかる時間分のマージンを確保している。
図3(A)および(B)は、既存のバッファ構成とデータ転送シーケンスの一例を示す図である。
このメモリシステム1は、ホスト2およびメモリモジュール3を有する。
図3(A)のホスト2は、一例として入力モジュール21、およびバッファ部22を含んで構成される。バッファ部22は、入力モジュール21およびメモリモジュール3に対して並列に接続された2つのバッファ22A、22Bを含む。
この例では、バッファ入力シーケンスで書込み速度は2Mbyte/sec、メモリモジュール入力シーケンスで書込み速度は2.4Mbyte/secである。
しかし、バッファサイズの増加はメモリシステムのコストを増加させる要因となり、あるいは、メモリシステムとして実現できる書込み速度を低減させる要因となっていた。
図3(B)に示すように、交代処理が発生した場合に、データ転送において交代処理による延長分がマージンMGN内であれば問題とならないが、マージンMGNを超える交代処理の場合にはオーバーフローが発生するという不利益がある。
このような課題を解決するために、上記交代処理にかかる時間を削減することが重要となっている。
本発明は、メモリセルの書込み特性の変化によって書込みエラーが発生した場合の交代処理にかかる時間を削減することが可能なメモリ装置、メモリ制御方法、およびプログラムを提供することにある。
本発明の第1の観点のメモリ装置は、主メモリ領域および交代領域を有するメモリと、コマンドに応じた命令を上記メモリに発行し、データの送受信、上記メモリの状態情報の読出しを行う機能を含むメモリコントローラと、を有し、上記メモリは、書込みに要するビジー時間が一定の時間内に終了しなかった場合にエラーを発生し、不良メモリセルであることを上記メモリコントローラに通知する機能と、エラーの発生した主メモリ領域のメモリセルを交代領域のメモリセルと切換える交代処理機能であって、不良メモリセルのアドレスを記憶し、アドレスデコード時に不良メモリセルに対するアクセスを、交代メモリセルへのアクセスに自動的に切換える機能と、不良メモリセルのアドレスとデータをペアとして退避するための領域を複数有する退避領域と、を含み、上記退避領域は、不良メモリセルのアドレスとデータをペアとして退避する上記各領域に、当該領域が使用状態であるか未使用状態であるかを示すフラグを含み、当該メモリは、新たに不良セルが発生した場合には、退避領域の未使用の領域に新しい不良アドレスとデータを保持し、フラグを使用状態に設定する機能と、上記交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態に設定する機能と、を含む。
本発明の第2の観点のメモリ制御方法は、書込みに要するビジー時間が一定の時間内に終了しなかった場合にエラーを発生し、不良メモリセルであることをメモリコントローラに通知するステップと、エラーの発生した主メモリ領域のメモリセルを交代領域のメモリセルと切換える交代処理を行うステップであって、不良セルのアドレスを記憶し、アドレスデコード時に不良メモリセルに対するアクセスを、交代メモリセルへのアクセスに自動的に切換えるステップと、新たに不良メモリセルが発生した場合には、不良メモリセルのアドレスとデータをペアとして退避するための領域を複数有し、各領域が使用状態であるか未使用状態であるかを示すフラグを含む退避領域の未使用の領域に新しい不良アドレスとデータを保持し、フラグを使用状態に設定するステップと、上記交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態に設定するステップと、を含む。
本発明の第3の観点は、書込みに要するビジー時間が一定の時間内に終了しなかった場合にエラーを発生し、不良メモリセルであることをメモリコントローラに通知する処理と、エラーの発生した主メモリ領域のメモリセルを交代領域のメモリセルと切換える交代処理を行うステップであって、不良セルのアドレスを記憶し、アドレスデコード時に不良メモリセルに対するアクセスを、交代メモリセルへのアクセスに自動的に切換える処理と、新たに不良メモリセルが発生した場合には、不良メモリセルのアドレスとデータをペアとして退避するための領域を複数有し、各領域が使用状態であるか未使用状態であるかを示すフラグを含む退避領域の未使用の領域に新しい不良アドレスとデータを保持し、フラグを使用状態に設定する処理と、上記交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態に設定する処理と、を含むメモリ制御処理をコンピュータに実行させるプログラムである。
本発明によれば、ある一定以上の書込み速度で書き込みを続けることを期待されるメモリシステムにおいて、セルの書込み特性の変化によって書込みエラーが発生した場合の交代処理にかかる時間を削減することができる。
メモリセルの書き込み処理のフローを示す図である。 提案されている交代処理のフローを示す図である。 既存のバッファ構成とデータ転送シーケンスの一例を示す図である。 本発明の第1の実施形態に係るメモリ装置を適用したメモリシステムの構成例を示すブロック図である。 第1の実施形態に係るホストからメモリモジュール(メモリコントローラ)に送信されるコマンドと、メモリコントローラからメモリに送信されるコマンドの対応例を示す図である。 本実施形態での一定以上の書込み速度でライトコマンドの実行処理を説明するための図である。 交代処理に対応した基本的な構成例を示す図である。 図7のメモリのMem_writeコマンド制御部が実施するMem_writeコマンドの処理フローを示す図である。 交代処理に対応したメモリの特徴的な構成例を示す図である。 図9のメモリのMem_writeコマンド制御部が実施するMem_writeコマンドの処理フローを示す図である。 図9のメモリのMem_readコマンド制御部が実施するMem_readコマンドの処理フローを示す図である。 本実施形態の退避処理制御部が実施する退避処理のフローを示す図である。 本実施形態に係る退避領域の一例を示す図である。 本実施形態に係る交代処理のフローを示す図である。 本実施形態に係る退避処理の具体例を説明するための基本概念図である。 図14の基本概念構成に関連付けた第1の具体例を説明するための図である。 図14の基本概念構成に関連付けた第2の具体例を説明するための図である。 図14の基本概念構成に関連付けた第3の具体例を説明するための図である。 図15の基本概念に示されるメモリを制御するコントローラ側の交代処理指示のフローを示す図である。 図14の基本概念構成に関連付けた交代処理時の具体例を示す図である。 本発明の第2の実施形態に係るメモリ装置を適用したメモリシステムの構成例を示すブロック図である。 第2の実施形態に係るホストからメモリモジュール(メモリコントローラ)に送信されるコマンドと、メモリコントローラからメモリに送信されるコマンドの対応例を示す図である。 第2の実施形態に係る交代処理に対応したメモリの特徴的な構成例を示す図である。 図23のメモリのMem_eraseコマンド制御部が実施するMem_eraseコマンドの処理フローを示す図である。 本第2の実施形態に係る退避処理制御部が実施する消去エラーに対応した退避処理のフローを示す図である。 本第2の実施形態に係る交代処理のフローを示す図である。 本発明の第3の実施形態に係るメモリ装置を適用したメモリシステムの構成例を示すブロック図である。 第3の実施形態に係るホストからメモリモジュール(メモリコントローラ)に送信されるコマンドと、メモリコントローラからメモリに送信されるコマンドの対応例を示す図である。
以下、本発明の実施形態を図面に関連付けて説明する。
なお、説明は以下の順序で行う。
1.第1の実施形態
2.第2の実施形態
3.第3の実施形態
<1.第1の実施形態>
図4は、本発明の第1の実施形態に係るメモリ装置を適用したメモリシステムの構成例を示すブロック図である。
本メモリシステム100は、ホスト110、およびメモリモジュール120により構成されている。
メモリモジュール120は、メモリコントローラ130およびメモリ140を含んで構成される。
メモリ140は、たとえば不揮発性メモリにより形成される。
なお、メモリコントローラ130とメモリ140は、メモリ装置を形成するが、同一チップに集積化されてもよく、また、別々のチップに集積化されてもよい。
ホスト110は、メモリモジュール120を制御することで目的とするアプリケーションを実行する。
ホスト110は、メモリモジュール120に対して発行する読出し(リード:Read)コマンドRD、書込み(ライト:Write)コマンドWRTによって、データDTの送受信とコマンドの処理結果の確認を行う。
ホスト110は、アイドル(Idle)コマンドIDLをメモリモジュール120に対して発行する。このアイドルコマンドIDLは、メモリモジュール120を待機状態にし、待機状態から通常の状態への復帰は、次のコマンドの受信時に行われる。
メモリコントローラ130は、ホスト110とメモリ140の間に存在し、両者間のインターフェースの変換処理として、次のような処理を行う。
メモリコントローラ130は、読出し処理(Mem_read)、書込み処理(Mem_write)および交代処理(Mem_replace)などをメモリコマンドに置き換えて命令し、データDTの送受信、メモリ140の状態情報STSの読出しを行う。
メモリコントローラ130は、待機状態において、必要な場合に交代処理を命令する。
図5に、第1の実施形態に係るホスト110からメモリモジュール120のメモリコントローラ130に送信されるコマンドと、メモリコントローラ130からメモリ140に送信されるコマンドの対応例を示す。
図5において、メモリコントローラ130は、ホスト110からのリードコマンドRDを読出し処理コマンドMem_read(Mem_readコマンドという場合もある)に変換し、メモリ140に供給する。
メモリコントローラ130は、ホスト110からのライトコマンドWRTを書込み処理コマンドMem_write(Mem_writeコマンドという場合もある)に変換し、メモリ140に供給する。
メモリコントローラ130は、ホスト110からのアイドルコマンドIDLを交代処理コマンドMem_replace(Mem_replaceという場合もある)に変換し、メモリ140に供給する。
メモリコントローラ130は、メモリ140から出力される状態情報STSに含まれるエラーについて交代処理が必要となるエラーを判別し、メモリ140に対して不良メモリセルの交代処理を行うことを指示する機能を有する。
メモリコントローラ130は、書込み速度が不定でもよいアプリケーションから使用する場合には、エラーが発生した際に直ちに交代処理を開始する設定をする機能を有する。
メモリコントローラ130によって制御されるメモリ140は、メモリセルアレイからなる主メモリ領域141と交代領域142とそれらを制御する制御部143により構成される。
メモリ140の制御部143は、メモリセルの特性の変化(劣化)によって、書込みに要するビジー時間がある一定の時間内に終了しなかった場合にはエラーを発生し、メモリコントローラ130に対して不良メモリセルが発生したことを通知する機能を有する。
制御部143は、エラーの発生した主メモリ領域141のメモリセルを交代領域142のメモリセルと切換える交代処理機能を有する。換言すれば、制御部143は、不良メモリセルのアドレスを記憶し、アドレスデコード時に不良メモリセルに対するアクセスを、交代メモリセルへのアクセスに自動的に切換える機能を有する。
制御部143は、後で詳述するように、不良メモリセルのアドレスとデータをペアとして退避するための記憶領域、たとえば退避ラッチLTCを複数有する退避領域を含む。
退避領域は、不良メモリセルのアドレスとデータをペアとして退避する退避ラッチに、その退避ラッチが使用状態であるか未使用状態であるかを示すフラグを含む。
制御部143は、新たに不良メモリセルが発生した場合には、退避領域の未使用の領域(退避ラッチ)に新しい不良アドレスとデータを保持(ラッチ)し、フラグを使用状態に設定する機能を有する。
制御部143は、交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態にする機能を有する。
なお、退避領域はラッチではなく、不揮発性記憶セルにより形成することも可能である。
メモリ140の制御部143は、ライトコマンドWRTに応じた書込み処理実行時に、書込みに係るアドレスが退避領域にラッチされたアドレスと一致した場合に、退避領域にラッチされたデータを書換える。
これによって、交代処理を未実行であっても、不良セルへの書込みは発生せず、ライトコマンドWRTがエラーを発生することを防ぐことが可能となっている。
制御部143は、リードコマンドRDに応じた読出し処理実行時に、読出しに係るアドレスが退避領域に保持されたアドレスと一致した場合に、退避領域にラッチされたデータを出力する。
これによって、交代処理を未実行であっても、不良セルからの読出しは発生せず、リードコマンドRDは正常なデータを返すことが可能となっている。
制御部143は、交代処理の対象とする不良メモリセルのアドレスを退避領域に保持された値から選択し、メモリコントローラ130からの指示で交代処理の対象として選択された退避領域のフラグを、未使用状態に設定する。
これにより、次のエラー発生時に再利用可能となる。
制御部143は、交代処理が実行されるまでに発生したすべての不良メモリセルのアドレスおよびデータを退避領域にラッチする機能を有する。
したがって、退避領域の容量は、メモリシステムに期待される一定以上の書込み速度を実現する上で、書込みを妨げずに交代処理が可能になるまでの時間に発生し得る書込みエラーに対応できる容量に設定される。
制御部143は、書込み速度が不定でもよいアプリケーションから使用する場合には、エラーが発生した際に直ちに交代処理を開始する設定を選択できる機能を有する。
このとき、上述したように、メモリコントローラ130が、書込み速度が不定でもよいアプリケーションから使用する場合には、エラーが発生した際に直ちに交代処理を開始する設定を行う。
この場合、メモリコントローラ130はメモリ140から交代処理を必要とするエラーを受信することはなく、したがって交代処理を指示する必要もない。
本実施形態のメモリシステム100は、ホスト110からメモリモジュール120へある一定以上の書込み速度でライトコマンドWRTの実行を続ける機能を含んで構成されていることを特徴とする。
すなわち、本実施形態のメモリシステム100においては、基本的にライトコマンドWRT実行中は交代処理が発生しないにように構成される。
以下に、前述した機能について、本実施形態の特徴を示す図6(A),(B)、および比較例としての図2(A),(B)に関連付けて説明する。
まず、比較例の処理を説明した後、本実施形態の特徴的な処理について説明する。
[比較例での一定以上の書込み速度でライトコマンドWRTの実行]
比較例は、入力モジュール21からは2MByte/secでデータが継続的に出力され、そのデータをライト(Write)コマンドを使ってメモリモジュール3上に途切れることなく記録するシステムの例である。
この例にあるメモリモジュール3の書込み速度は通常では2.4MByte/secであるが交代処理が発生することによって最大20%落ちるために、2面バッファメモリ22A,22Bを備えることにより、2MByte/secを維持する仕様となっている。
2面バッファ部22はバッファ22A,22Bの2つの面からなり、一方の面が入力モジュール21からのデータを受信中に、もう一方の面のデータをメモリモジュール3に対して送信するといった動作を、交互に繰り返す。
図2(B)の例では、バッファ部22の入力とメモリモジュール3への入力(バッファの出力)の各データのシーケンスを示した図が示されている。
メモリモジュール3への入力のデータData3で交代処理が発生し、書込みにかかる時間が延長されている。この場合、次のデータData4のデータの書込み開始までに、データData4の処理が完了するために、2MByte/secの書込み速度が維持できている。
図2(B)の一番下の例では、データData3の書込み処理が延びたことによって、データData4の書込み完了がデータData5の書込み開始までに間に合わず、バッファオーバーフローが発生している例である。
[本実施形態での一定以上の書込み速度でライトコマンドWRTの実行]
図6(A)および(B)は、本実施形態での一定以上の書込み速度でライトコマンドWRTの実行処理を説明するための図である。
本実施形態のメモリシステム100においては、図6(A)および(B)に示すように、交代処理がライトコマンドWRT実行中には発生しないため、メモリモジュール120に対する書込み速度は2.4MByte/secで安定する。
したがって、2MByte/secの書込み速度を維持するためにホスト110側にあった2面のバッファが不要となる。
また、本実施形態のメモリシステム100は、メモリモジュール120の速度に合わせて、2.4MByte/secに高速化することも可能となることを示している。
次に、メモリ140の使用中に発生した不良セルの交代処理に対応した具体的な構成例について説明する。
以下では、まず、交代処理に対応した基本的なメモリ140の構成例を説明した後、本実施形態の特徴的な構成を有するメモリ140の構成例について説明する。
[交代処理に対応した基本的なメモリの構成例]
図7は、交代処理に対応したメモリの基本的な構成例を示す図である。
図7においては、図4のメモリを符号200で示す。
メモリ200は、メモリセルアレイからなる主メモリ領域210と交代領域220と、それらを制御する制御部230により構成される。
図7の制御部230は、メモリコントローラ130から受信したコマンドをデコードするコマンドデコーダ231、各コマンドに対応した読出し(Mem_read)コマンド制御部232、書込み(Mem_write)コマンド制御部233、交代処理制御部234を有する。
また、制御部230は、アドレスデータラッチ235、アドレスデコーダ236、およびメモリの状態情報STSをメモリコントローラ130に出力する状態出力部237を有する。
Mem_writeコマンド制御部233は、メモリセルへの書込み中、ベリファイ読出しを行い、一定回数内にデータが一致しない場合にはエラー信号ERRを発生する。
制御部230は、このベリファイエラーが発生した場合に交代処理を行う、交代処理制御部234が存在する。
交代処理を行った不良メモリセルのアドレスはアドレスデコーダ236に記憶され、不良メモリセルのアドレスに一致したアクセスはすべて交代領域220へのアクセスへ自動的に切り換えられる。
メモリコントローラ130から入力されるアドレスADRは、アドレスデコーダ236に入力され適切なセルの選択信号が生成される。
図7のメモリ200におけるMem_writeコマンド制御部233が実施するメモリセルへの書込みは、たとえば図1の処理のフローに従って行われる。
Mem_writeコマンド制御部233は、メモリセルへの書込み後(ST1)、ベリファイ読出しを行い(ST2)、読出しデータと書込みデータとの比較処理を行う(ST3)。
この比較処理でデータが一致すれば処理を終了し、一致しない場合には規定回数、データが一致するまでステップST1からの処理を繰り返す(ST4)。
このように、この一連の制御を書込みが正しく行われるまで所定の回数繰り返す。所定の回数を超えてもデータが一致しないメモリセルは、特性の劣化した不良セルと判断される。
その結果、Mem_Writeコマンド制御部233は、交代処理制御部234に対して書込み処理のエラーを通知し、交代処理を起動する。
図8は、図7のメモリのMem_writeコマンド制御部が実施するMem_writeコマンドの処理フローを示す図である。
この場合、上記したメモリセルへの書込み処理と、交代処理制御部234が実施する交代処理も含まれている。
フローの最初にアドレスデコーダ236によって主メモリ領域210か、交代領域220のセルか判断されている。セルへの書込みが失敗し、交代処理も失敗した場合には、エラー信号ERRを返す仕様としている。
図7のメモリ200では、最初の書込みが失敗したとしても交代処理が成功すれば、メモリコントローラ130に対して成功を示す信号を返す仕様になっている。
具体的には、まず、Mem_writeコマンド制御部233が、交代セルであるか否かを判断する(ST101)。
交代セルでない場合には、Mem_writeコマンド制御部233は、主メモリ領域210のメモリセルへの書込みを行う(ST102)。
ここで、Mem_writeコマンド制御部233はエラーが発生したか否かを判断する(ST103)。ここでエラーが発生した場合、エラーが発生したことが交代処理制御部234に報知される。
エラー信号を受けた交代処理制御部234は、交代処理を行い(ST104)、エラーが発生したか否かを判断する(ST105)。
ここでエラーが発生した場合、エラー信号ERRが出力される(ST106)。
ステップST101において、交代セルであると判断した場合、Mem_writeコマンド制御部233は、交代領域220のメモリセルへの書込みを行う(ST107)。
ここで、Mem_writeコマンド制御部233はエラーが発生したか否かを判断する(ST108)。ここでエラーが発生した場合、エラーが発生したことが交代処理制御部234に報知される。
エラー信号を受けた交代処理制御部234は、交代処理を行い(ST109)、エラーが発生したか否かを判断する(ST110)。
ここでエラーが発生した場合、エラー信号ERRが出力される(ST111)。
交代処理制御部234における交代処理は以下のように行われる。
交代処理制御部234は、不良セルと交代可能なセルを交代領域から探し出し、その交代セルへの書込みが成功した場合に、アドレスデコーダ236に不良セルと交代セルのアドレスを記憶し、以降の不良セルへのアクセスが交代セルに切換わるようになる。
[交代処理に対応したメモリの特徴的な構成例]
図9は、第1の実施形態に係る交代処理に対応したメモリの特徴的な構成例を示す図である。
図9のメモリ200Aは、図7のメモリ200と比較して以下の2点が異なる。
第1は、メモリ200Aの制御部230Aが、退避領域238と退避処理制御部239を有する。
第2は、制御部230Aにおいては、交代処理制御部234の代わりに、Mem_replace(交代処理)コマンド制御部234Aが設けられている。
つまり、図9のメモリ200Aは、交代処理もMem_replaceコマンドとしてメモリコントローラ130から指示され実行する。
図9の退避領域238は、メモリセルの特性劣化による書込みエラーが発生した場合に、不良セルのアドレスと書込みデータを退避するための複数のラッチ(以下、退避ラッチ)からなる領域である。
退避処理制御部239は、退避ラッチの未使用ラッチの検出機能、および退避ラッチの読み書き制御機能を有する。
さらに、退避処理制御部239は、使用状態の退避ラッチに保持された不良アドレスと外部から入力されるアドレスを比較し、一致した場合に退避領域238へのアクセスに切換える機能を有する。
以下に、図9のメモリ200AにおけるMem_writeコマンド処理、Mem_readコマンド処理、退避処理、交代処理について詳述する。
図10は、図9のメモリのMem_writeコマンド制御部が実施するMem_writeコマンドの処理フローを示す図である。
図10の処理フローは、図8の処理フローと以下の点で異なる。
図10の処理フローは、アクセスされたセルが退避ラッチに割り当てられているかをアドレス比較によって確認するステップが追加され、図8の交代処理の代わりに退避処理を行うことを特徴とする。
具体的には、まず、Mem_writeコマンド制御部233が、アクセスされたセルが退避領域238の退避ラッチに割り当てられているかをアドレス比較によって確認する(ST121)。
アクセスされるセルが退避領域238の退避ラッチに割り当てられていない場合、Mem_writeコマンド制御部233は、交代セルであるか否かを判断する(ST122)。
交代セルではない場合には、Mem_writeコマンド制御部233は、主メモリ領域210のメモリセルへの書込みを行う(ST123)。
ここで、Mem_writeコマンド制御部233はエラーが発生したか否かを判断する(ST124)。ここでエラーが発生した場合、その旨が退避処理制御部239に報知され、退避処理制御部239の制御による退避処理が行われる(ST125)。
ステップST122において、交代セルであると判断した場合、Mem_writeコマンド制御部233は、交代領域220のメモリセルへの書込みを行う(ST126)。
ここで、Mem_writeコマンド制御部233はエラーが発生したか否かを判断する(ST127)。ここでエラーが発生した場合、その旨が退避処理制御部239に報知され、退避処理制御部239の制御による退避処理が行われる(ST128)。
また、ステップST121において、アクセスされたセルが退避領域238の退避ラッチに割り当てられていると判断した場合には、退避処理制御部239により退避領域238の退避ラッチへの書込みが行われる(ST129)。
図11は、図9のメモリのMem_readコマンド制御部が実施するMem_readコマンドの処理フローを示す図である。
図11の処理フローにおいても、アクセスされたセルが退避ラッチに割り当てられているかをアドレス比較によって確認するステップを有する。
具体的には、まず、Mem_readコマンド制御部232が、アクセスされたセルが退避領域238の退避ラッチに割り当てられているかをアドレス比較によって確認する(ST131)。
アクセスされるセルが退避領域238の退避ラッチに割り当てられていない場合、Mem_readコマンド制御部232は、交代セルであるか否かを判断する(ST132)。
交代セルではない場合には、Mem_readコマンド制御部232は、主メモリ領域210のメモリセルからの読出しを行う(ST133)。
ステップST122において、交代セルであると判断した場合、Mem_readコマンド制御部232は、交代領域220のメモリセルからの読出しを行う(ST134)。
また、ステップST131において、アクセスされたセルが退避領域238の退避ラッチに割り当てられていると判断した場合には、退避処理制御部239により退避領域238の退避ラッチからの読出しが行われる(ST135)。
図12は、本実施形態の退避処理制御部が実施する退避処理のフローを示す図である。
図13は、本実施形態に係る退避領域の一例を示す図である。
退避領域238は、図13に示すように、記憶(保持)領域である複数の退避ラッチLTC0〜LTCnを有する。
各退避ラッチLTC0〜LTCnは、フラグ領域FARA、不良アドレスラッチ領域(不良アドレス退避領域)NAARA、およびデータラッチ領域(データ退避領域)DARAの各領域を含む。
フラグ領域FARAは、たとえば1ビットのフラグFL0〜FLnが設定される。
フラグFL0〜FLnは、たとえば「0」が設定されている場合にはその退避ラッチLTCは「未使用」であることを示し、「1」が設定されている場合にはその退避ラッチLTCは「使用中」であることを示す。
不良アドレスラッチ領域NAARAは、不良アドレスNADR0〜MADRnがラッチされる。
データラッチ領域DARAは、不良アドレスNADR0〜MADRnに対応したデータDT0〜DTnがラッチされる。
退避ラッチLTC0〜LTCnは、通常メモリで使用されるラッチと同様、高速に読み書きが可能である。
退避処理はあらかじめ退避領域238で次に使用する未使用状態の退避ラッチLTCを準備する。
退避処理が必要となるエラーが発生した場合には、その退避ラッチLTCの使用状態を示すフラグFLを使用中(本例では、「1」)に設定し、不良アドレスとそのアドレスに保存するはずだったデータを退避ラッチLTCに保存する(ST141〜ST143)。
これにより、書込みエラー発生時も高速に処理を完了する。
退避ラッチLTCは、その後の交代処理が完了後にフラグFLが未使用状態(本例では、「0」)に再設定され、再利用される。
次に、交代処理について説明する。
図14は、本実施形態に係る交代処理のフローを示す図である。
まず、Mem_replaceコマンド制御部234Aが、たとえば退避処理制御部239を通して使用中の退避ラッチLTCが存在するか否かの検出を行う(ST151)。
この場合、使用状態の退避ラッチLTCが存在しなければ、Mem_replaceコマンド制御部234Aは交代処理をただちに終了する。
使用状態の退避ラッチLTCが存在した場合、Mem_replaceコマンド制御部234Aは、その退避ラッチLTCにラッチされている不良アドレスNADRから交代可能な交代領域220のアドレスを決定し、交代領域220の交代セルを検出する(ST152)。
そして、Mem_replaceコマンド制御部234Aは、退避ラッチLTC上のデータDTをその交代セルへ書込む(ST153)。
ここで、書込みエラーが発生した否かが判別される(ST154)。
書込みエラーが発生せず、交代セルへの書込みが成功した場合、Mem_replaceコマンド制御部234Aは、アドレスデコーダ236に不良セルと交代セルのアドレスを記録し、アドレスデコード時に交代セルへのアクセスが有効になるよう設定する(ST155)。
最後に、退避ラッチLTCのフラグFLを未使用状態にクリアする(「0」に設定する)ことで交代処理を完了する(ST156)。
なお、ステップST154で書込みエラーが発生した場合、その交代セルの不良情報が記録される(ST157)。
本実施形態の特徴として交代処理もホスト110およびメモリコントローラ130からの指示で起動する。
次に、本実施形態に係る退避処理のより具体な例について説明する。
図15は、本実施形態に係る退避処理の具体例を説明するための基本概念図である。
この例では、退避領域238における3つの退避ラッチLTC1〜LTC3が用いられる。
退避ラッチLTC1は、フラグ領域FARA1、アドレスラッチ領域NAARA1、およびデータラッチ領域DARA1により形成される。
退避ラッチLTC2は、フラグ領域FARA2、アドレスラッチ領域NAARA2、およびデータラッチ領域DARA2により形成される。
退避ラッチLTC3は、フラグ領域FARA3、アドレスラッチ領域NAARA3、およびデータラッチ領域DARA3により形成される。
アドレスラッチ領域NAARA1〜NAARA3の入力は、メモリコントローラ130によりアドレス信号ADRの供給ラインに接続されている。
アドレスラッチ領域NAARA1〜NAARA3の出力は、アドレス比較器240に接続されている。
アドレス比較器240は、アドレスラッチ領域NAARA1〜NAARA3にラッチされたアドレスの比較を行う。アドレス比較器240は、退避領域238の全アドレスラッチの中から、フラグ状態が「使用中」であるすべてのアドレスラッチと比較する。
アドレス比較器240は、アドレスの一致が検出された場合にアドレスデコーダ236の主メモリ領域210、交代領域220への選択信号の出力を禁止するための出力禁止信号S240を出力する。
図16は、図14の基本概念構成に関連付けた第1の具体例を説明するための図である。
図17は、図14の基本概念構成に関連付けた第2の具体例を説明するための図である。
図16の例は、退避ラッチLTC1〜LTC3がすべて未使用の初期状態で、1組の退避ラッチがフラグFLは未使用状態のまま、メモリコントローラ130からのアドレス入力、データ入出力用として常時使用される例を示している。
この例では、アドレス信号ADRにより入力されるアドレスAdrは「080000h」であり、データDTは「ABCDh」である。
メモリコントローラ130からのMem_writeコマンド実行中に書込みエラーが発生すると、フラグFLが使用状態に設定され(FL=1)、アドレスラッチ領域NAARA1、データラッチ領域DARA1の値を保持した状態に移行する。
図16でも書込みエラーが発生すると、図17のようにフラグ領域FARA1のフラグFL1は使用状態に設定され(FL=1)、アドレスラッチ領域NAARA1とデータラッチ領域DARA1の値が保持される。
次のアクセスからは退避ラッチLTC2が入力用に使用され、退避ラッチLTC2に入力されるアドレスAdrは退避ラッチLTC1のアドレスラッチ領域NAARA1にラッチされているアドレスと常にアドレス比較器240によって比較される。
図18は、図14の基本概念構成に関連付けた第3の具体例を説明するための図である。
図18の例は、Mem_writeコマンドの処理では、退避ラッチLTC2へのアドレスが退避ラッチLTC1のアドレスラッチ領域NAARA1のアドレスと一致することがアドレス比較器240で検出された結果、データラッチ領域DARA1の値が変更される例である。
図15の構成は最大3回のエラーまで退避領域238にラッチすることができる。ただし、3つの退避ラッチLTC1〜LTC3がすべて使用状態では、次のアドレス、コマンドを受信することができず、未使用状態の退避ラッチを作るために交代処理を実施する必要がある。
また図15のメモリは、退避処理制御部239で使用状態にある退避ラッチの数を管理する。
メモリコントローラ130に対して、状態出力部237から使用の状態情報STSとして退避ラッチ数をメモリコントローラ130に返す。
これにより、メモリコントローラ130は、退避領域238にある不良アドレスとデータの個数を把握し、すべての交代処理を完了するまでに、何回の交代処理が必要かを判断することができる。
交代処理については、図14に関連付けて説明したことから、ここでは、その具体的な処理フローについては省略する。
次に、メモリを制御するメモリコントローラ側の交代処理指示のフローについて説明する。
図19は、図15の基本概念に示されるメモリを制御するコントローラ側の交代処理指示のフローを示す図である。
メモリの状態から退避領域の使用状態を事前に取得することで、交代処理の指示が必要かどうかを判断する。
まず、メモリコントローラ130は、メモリ200Aの状態出力部237かメモリ200Aの状態情報STSを取得する(ST161)。
メモリコントローラ130は、取得した状態情報STSからメモリ200Aにおける使用状態にある退避ラッチ数が0であるか否かを判断する(ST162)。
使用状態にある退避ラッチが0で無いと判断すると、メモリコントローラ130は、交代処理をメモリ200Aに対して指示する(ST163)。
そして、メモリコントローラ130は、処理結果を確認し(ST164)、エラーが発生したか否かを判別する(ST165)。
そして、エラーが発生した場合には、エラー信号ERRが出力される。
図20は、図15の基本概念構成に関連付けた交代処理時の具体例を示す図である。
この例では、退避領域238のアドレスラッチ領域NAARA1のアドレスとデータラッチ領域DARA1のデータ入力として交代領域220に書込みが行われる。
交代に使用する交代領域220のセルのアドレスはMem_replaceコマンド制御部234Aがアドレスラッチ領域NAARA1の値を基に決定する。
図15の例では、退避領域238を3つの退避ラッチで構成したが、実際に退避領域として必要となる容量はそのメモリで発生する不良の発生率に依存して決定される値である。
ある一定の転送レートでメモリ200Aに記録を行う場合には、その一定レートの転送が継続する期間内で発生すると見込まれる不良セル数に充分なだけの退避領域が必要となる。
一般的に不良セルの発生する確率は、揮発性メモリでは発生せず、不揮発性メモリでも数万回から10万回の書き換え回数が保証されていることから、ppmレベルの発生確率であり、そのために必要となる退避領域も規模的に現実的な範囲であるといえる。
<2.第2の実施形態>
図21は、本発明の第2の実施形態に係るメモリ装置を適用したメモリシステムの構成例を示すブロック図である。
本第2の実施形態に係るメモリシステム100Bは、第1の実施形態に係るメモリシステム100の構成に加えて、消去コマンド(Mem_eraseコマンド)にも対応可能とする構成を有している。
メモリコントローラ130Bは、ホスト110Bとメモリ140(200)の間でインターフェースの変換処理として、次のような処理を行う。
メモリコントローラ130Bは、読出し処理(Mem_read)、書込み処理(Mem_write)、消去処理(Mem_erase)、および交代処理(Mem_replace)などをメモリ140に命令し、データDTの送受信、メモリ140の状態情報の読出しを行う。
図22に、第2の実施形態に係るホスト110Bからメモリモジュール120Bのメモリコントローラ130Bに送信されるコマンドと、メモリコントローラ130Bからメモリ140に送信されるコマンドの対応例を示す。
図22において、メモリコントローラ130Bは、ホスト110BからのリードコマンドRDを読出し処理コマンドMem_read(Mem_readコマンド)に変換し、メモリ140に供給する。
メモリコントローラ130Bは、ホスト110BからのライトコマンドWRTを書込み処理コマンドMem_write(Mem_writeコマンド)に変換し、メモリ140に供給する。
メモリコントローラ130Bは、ホスト110Bからの消去(イレーズ)コマンドERSを消去処理コマンドMem_erase(Mem_eraseコマンド)に変換し、メモリ140に供給する。
メモリコントローラ130Bは、ホスト110BからのアイドルコマンドIDLを交代処理コマンドMem_replace(Mem_replaceコマンド)に変換し、メモリ140に供給する。
図23は、第2の実施形態に係る交代処理に対応したメモリの特徴的な構成例を示す図である。
図23においては、図21のメモリを符号200Bで示す。
図23のメモリ200Bは、図9のメモリ200Aの構成に加えて、消去処理(Mem_erase)を可能とするMem_eraseコマンド制御部241を有している。
Mem_eraseコマンド制御部241は、セルの特性の劣化によって消去エラーが発生する場合に、書込みエラーの場合と同様に交代処理に対応した制御を行う。
図24は、図23のメモリのMem_eraseコマンド制御部が実施するMem_eraseコマンドの処理フローを示す図である。
図24の処理フローは、図10の書込みと同様に、アクセスされたセルが退避領域に割り当てられているかを確認するステップがあり、交代処理の代わりに退避処理を行うことを特徴とする。
具体的には、まず、Mem_eraseコマンド制御部241が、アクセスされたセルが退避領域238の退避ラッチに割り当てられているかをアドレス比較によって確認する(ST171)。
アクセスされるセルが退避領域238の退避ラッチに割り当てられていない場合、Mem_eraseコマンド制御部241は、不良セルであるか否かを判断する(ST172)。
不良セルではない場合には、Mem_eraseコマンド制御部241は、主メモリ領域210のメモリセルの消去を行う(ST173)。
ここで、Mem_eraseコマンド制御部241はエラーが発生したか否かを判断する(ST174)。ここでエラーが発生した場合、その旨が退避処理制御部239に報知され、退避処理制御部239の制御による退避処理が行われる(ST175)。
ステップST172において、不良セルであると判断した場合、Mem_eraseコマンド制御部241は、交代領域220のメモリセルの消去を行う(ST176)。
ここで、Mem_eraseコマンド制御部241はエラーが発生したか否かを判断する(ST177)。ここでエラーが発生した場合、その旨が退避処理制御部239に報知され、退避処理制御部239の制御による退避処理が行われる(ST178)。
また、ステップST171において、アクセスされたセルが退避領域238の退避ラッチに割り当てられていると判断した場合には、退避処理制御部239により退避領域238の退避ラッチへの消去データの書込みが行われる(ST179)。
図25は、本第2の実施形態に係る退避処理制御部が実施する消去エラーに対応した退避処理のフローを示す図である。
なお、この場合も退避領域238は、基本的に図13に示すように、複数の退避ラッチLTC0〜LTCnを有し、各退避ラッチの構成は図13の場合と同様である。したがって、ここでは、その説明は省略する。
退避処理はあらかじめ退避領域238で次に使用する未使用状態の退避ラッチLTCを準備する。
退避処理が必要となるエラーが発生した場合には、その退避ラッチLTCの使用状態を示すフラグFLを使用中(本例では、「1」)に設定し、不良アドレスと、そのアドレスに保存するはずだったデータを退避ラッチに保存する(ST181〜ST183)。
Mem_eraseコマンド実行後のセルは消去状態を示す固定値となるため、その固定値が退避ラッチのデータとして保持される。
退避ラッチLTCは、その後の交代処理が完了後にフラグFLが未使用状態(本例では、「0」)に再設定され、再利用される。
次に、第2の実施形態に係る交代処理について説明する。
図26は、本第2の実施形態に係る交代処理のフローを示す図である。
図26はMem_writeとMem_eraseに対応した交代処理であり、交代領域に未使用セルはすでに消去状態であるので、消去エラーが発生した不良セルの交代セルには書込みを行っていない。
まず、Mem_replaceコマンド制御部234Bが、たとえば退避処理制御部239を通して使用中の退避ラッチLTCが存在するか否かの検出を行う(ST191)。
この場合、使用状態の退避ラッチが存在しなければ、Mem_replaceコマンド制御部234Bは交代処理をただちに終了する。
使用状態の退避ラッチLTCが存在した場合、Mem_replaceコマンド制御部234Bは、その退避ラッチLTCにラッチされている不良アドレスNADRから交代可能な交代領域220のアドレスを決定し、交代領域220の交代セルを検出する(ST192)。
ここで、Mem_replaceコマンド制御部234Bは、退避ラッチLTCのラッチデータが消去後の値であるか否かを判断する(ST193)。
退避ラッチのラッチデータが消去後の値でない場合、Mem_replaceコマンド制御部234Bは、退避ラッチLTC上のデータDTをその交代セルへ書込む(ST194)。
ここで、書込みエラーが発生した否かが判別される(ST195)。
書込みエラーが発生せず、交代セルへの書込みが成功した場合、Mem_replaceコマンド制御部234Bはまたは退避ラッチのラッチデータが消去後の値である場合、アドレスデコーダ236に不良セルと交代セルのアドレスを記録する(ST196)。そして、アドレスデコード時に交代セルへのアクセスが有効になるよう設定する。
最後に退避ラッチLTCのフラグFLを未使用状態にクリアする(「0」に設定する)ことで交代処理を完了する(ST197)。
なお、ステップST195で書込みエラーが発生した場合、その交代セルの不良情報が記録される(ST198)。
本実施形態の特徴として交代処理もホスト110Bおよびメモリコントローラ130Bからの指示で起動する。
<3.第3の実施形態>
図27は、本発明の第3の実施形態に係るメモリ装置を適用したメモリシステムの構成例を示すブロック図である。
本第3の実施形態に係るメモリシステム100Cが、第2の実施形態に係るメモリシステム100Bと異なる点は、メモリモジュール120Cがホストコマンドとして消去(Erase)コマンドを持たない場合に対応した構成を有することにある。
メモリコントローラ130Cはホストコマンドとして、ホスト110Cからはメモリ140に対して直接制御する必要のない処理を持たない場合がある。
たとえば、書込む前に消去が必要なメモリを搭載したメモリモジュール120Cであっても、ホストコマンドとしてはイレーズ(消去)コマンドを持たず、ライトコマンドだけを持つことで、ホスト110Cからは消去不要なメモリとして見せる。
この役割を担うのが、メモリコントローラ130Cである。
図28に、第3の実施形態に係るホスト110Cからメモリモジュール120Cのメモリコントローラ130Cに送信されるコマンドと、メモリコントローラ130Cからメモリ140に送信されるコマンドの対応例を示す。
図28において、メモリコントローラ130Cは、ホスト110CからのリードコマンドRDを読出し処理コマンドMem_read(Mem_readコマンド)に変換し、メモリ140に供給する。
メモリコントローラ130Cは、ホスト110CからのライトコマンドWRTを消去処理コマンドMem_erase(Mem_eraseコマンド)および書込み処理コマンドMem_write(Mem_writeコマンド)に変換し、メモリ140に供給する。
メモリコントローラ130Cは、ホスト110CからのアイドルコマンドIDLを交代処理コマンドMem_replace(Mem_replaceコマンド)に変換し、メモリ140に供給する。
このように、本第3の実施形態に係るメモリシステム100Cにおいては、メモリコントローラ130Cが、ホスト110CからのライトコマンドWRTに対して、Mem_eraseコマンドとMem_writeコマンドを発行し実行させる。
本実施形態では、退避処理によって書込み速度をある一定以上に保つ仕組みを用意しているが、書込み速度に制約のない使い方をする場合には、通常のように書込みエラー発生時に交代処理を実施するよう設定できる機能を持つことが望ましい。
また、メモリ140がMem_replaceコマンドによってのみ交代処理を開始する場合も、メモリコントローラ130Cが書込みエラー検出後ただちにMem_replaceコマンドを送信することによって、ホストから見て等価な動作を実現することができる。
以上説明したように、本実施形態によれば、以下の効果を得ることができる。
本発明の実施形態に係るメモリシステムは、メモリ上で書込みエラー、消去エラー発生時も、交代処理のパフォーマンスへの影響なく、ホストからメモリモジュールに対して、ある一定以上の書込み速度でライトコマンドを継続することができる。
システムの設計を容易にするだけでなく、交代処理に備えてマージンを取る必要がなく、結果としてパフォーマンスも改善する。
また、これによってメモリシステムとして、ホスト内に必要だったバッファが不要になることによるコスト削減効果が得られる。
本実施形態に係るメモリシステムは、データの書き込みを終了後に交代処理を指示する機能を持つことで、コントローラが交代処理を開始する最適なタイミングを選択する柔軟性を持つ。
本実施形態に係るメモリシステムは、不良セルのアドレスと書込むデータをラッチする機能を持つことにより、ホストは不良セルが発生したこと以外の情報を保持、管理する必要がなく、交代処理に必要なホスト側、コントローラ側の負荷を軽減できる。
上述した本実施の形態に限らず、本発明の要旨を逸脱しない限り、適宜、変更しうることはいうまでもない。
また、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
100,100B、100C・・・メモリシステム、110,110B,110C・・・ホスト、120,120B,120C・・・メモリモジュール、130,130B,130C・・・メモリコントローラ、140・・・メモリ、141・・・主メモリ領域、142・・・交代領域、143・・・制御部、200A,200B,200C・・・メモリ、210・・・主メモリ領域、220・・・交代領域、230A,230B,230C・・・制御部、231・・・コマンドデコーダ、232・・・読出し(Mem_read)コマンド制御部、233・・・書込み(Mem_write)コマンド制御部、234A,234B・・・3、交代処理(Mem_replace)コマンド制御部、235・・・アドレスデータラッチ、236・・・アドレスデコーダ、237・・・状態出力部、238・・・退避領域、239・・・退避処理制御部、241・・・消去処理(Mem_erase)コマンド制御部。

Claims (12)

  1. 主メモリ領域および交代領域を有するメモリと、
    コマンドに応じた命令を上記メモリに発行し、データの送受信、上記メモリの状態情報の読出しを行う機能を含むメモリコントローラと、を有し、
    上記メモリは、
    書込みに要するビジー時間が一定の時間内に終了しなかった場合にエラーを発生し、不良メモリセルであることを上記メモリコントローラに通知する機能と、
    エラーの発生した主メモリ領域のメモリセルを交代領域のメモリセルと切換える交代処理機能であって、不良メモリセルのアドレスを記憶し、アドレスデコード時に不良メモリセルに対するアクセスを、交代メモリセルへのアクセスに自動的に切換える機能と、
    不良メモリセルのアドレスとデータをペアとして退避するための領域を複数有する退避領域と、を含み、
    上記退避領域は、
    不良メモリセルのアドレスとデータをペアとして退避する上記各領域に、当該領域が使用状態であるか未使用状態であるかを示すフラグを含み、
    当該メモリは、
    新たに不良セルが発生した場合には、退避領域の未使用の領域に新しい不良アドレスとデータを保持し、フラグを使用状態に設定する機能と、
    上記交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態に設定する機能と、を含む
    メモリ装置。
  2. 上記メモリは、
    書込みコマンドに応じた書込み処理実行時に、当該書込みに係るアドレスが上記退避領域にラッチされたアドレスと一致した場合に、当該退避領域に保持されたデータを書換える
    請求項1記載のメモリ装置。
  3. 上記メモリは、
    読出しコマンドに応じた読出し処理実行時に、当該読出しに係るアドレスが上記退避領域に保持されたアドレスと一致した場合に、当該退避領域に保持されたデータを出力する
    請求項1または2記載のメモリ装置。
  4. 上記メモリコントローラは、
    上記メモリから出力される状態情報に含まれるエラーについて交代処理が必要となるエラーを判別し、上記メモリに対して不良メモリセルの交代処理を行うことを指示する機能を有する
    請求項1から3のいずれか一に記載のメモリ装置。
  5. 上記メモリは、
    交代処理の対象とする不良メモリセルのアドレスを上記退避領域に保持された値から選択し、上記メモリコントローラからの指示で交代処理の対象として選択された退避領域のフラグを、次のエラー発生時に再利用可能となるように未使用状態に設定する
    請求項4記載のメモリ装置。
  6. 上記メモリは、
    交代処理が実行されるまでに発生したすべての不良メモリセルのアドレスおよびデータを退避領域に保持する
    請求項1から5のいずれか一に記載のメモリ装置。
  7. 上記退避領域の容量は、
    メモリシステムに期待される一定以上の書込み速度を実現する上で、書込みを妨げずに交代処理が可能になるまでの時間に発生し得る書込みエラーに対応できる容量を有する
    請求項6記載のメモリ装置。
  8. 上記メモリは、
    書込み速度が不定でもよいアプリケーションから使用する場合には、エラーが発生した際に直ちに交代処理を開始する設定を選択でき、
    上記メモリコントローラは、
    上記書込み速度が不定でもよいアプリケーションから使用する場合には、エラーが発生した際に直ちに交代処理を開始する設定をする機能を有する
    請求項1から7のいずれか一に記載のメモリ装置。
  9. 上記メモリは、
    消去に要するビジー時間もある一定の時間内に終了しなかった場合にはエラーを発生し、不良セルであることを上記メモリコントローラに通知する機能を有する
    請求項1から8のいずれか一に記載のメモリ装置。
  10. 上記メモリと上記メモリコントローラによりメモリモジュールが形成され、
    データの書換えのために消去コマンドの実行を含む場合、ホストが上記メモリモジュールに対して一定以上の書込み速度で書込みコマンドと消去コマンドの実行を続ける
    請求項1から9のいずれか一に記載のメモリ装置。
  11. 書込みに要するビジー時間が一定の時間内に終了しなかった場合にエラーを発生し、不良メモリセルであることをメモリコントローラに通知するステップと、
    エラーの発生した主メモリ領域のメモリセルを交代領域のメモリセルと切換える交代処理を行うステップであって、不良セルのアドレスを記憶し、アドレスデコード時に不良メモリセルに対するアクセスを、交代メモリセルへのアクセスに自動的に切換えるステップと、
    新たに不良メモリセルが発生した場合には、不良メモリセルのアドレスとデータをペアとして退避するための領域を複数有し、各領域が使用状態であるか未使用状態であるかを示すフラグを含む退避領域の未使用の領域に新しい不良アドレスとデータを保持し、フラグを使用状態に設定するステップと、
    上記交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態に設定するステップと、
    を含むメモリ制御方法。
  12. 書込みに要するビジー時間が一定の時間内に終了しなかった場合にエラーを発生し、不良メモリセルであることをメモリコントローラに通知する処理と、
    エラーの発生した主メモリ領域のメモリセルを交代領域のメモリセルと切換える交代処理を行うステップであって、不良セルのアドレスを記憶し、アドレスデコード時に不良メモリセルに対するアクセスを、交代メモリセルへのアクセスに自動的に切換える処理と、
    新たに不良メモリセルが発生した場合には、不良メモリセルのアドレスとデータをペアとして退避するための領域を複数有し、各領域が使用状態であるか未使用状態であるかを示すフラグを含む退避領域の未使用の領域に新しい不良アドレスとデータを保持し、フラグを使用状態に設定する処理と、
    上記交代処理を実施し退避領域の情報が不要になった場合にはフラグを未使用状態に設定する処理と、
    を含むメモリ制御処理をコンピュータに実行させるプログラム。
JP2009160458A 2009-07-07 2009-07-07 メモリ装置、メモリ制御方法、およびプログラム Expired - Fee Related JP5347779B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009160458A JP5347779B2 (ja) 2009-07-07 2009-07-07 メモリ装置、メモリ制御方法、およびプログラム
US12/801,736 US8448017B2 (en) 2009-07-07 2010-06-23 Memory apparatus, memory controlling method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009160458A JP5347779B2 (ja) 2009-07-07 2009-07-07 メモリ装置、メモリ制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2011018387A true JP2011018387A (ja) 2011-01-27
JP5347779B2 JP5347779B2 (ja) 2013-11-20

Family

ID=43428371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009160458A Expired - Fee Related JP5347779B2 (ja) 2009-07-07 2009-07-07 メモリ装置、メモリ制御方法、およびプログラム

Country Status (2)

Country Link
US (1) US8448017B2 (ja)
JP (1) JP5347779B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160086059A (ko) * 2015-01-09 2016-07-19 에스케이하이닉스 주식회사 데이터 저장 장치
JP2017534966A (ja) * 2014-09-27 2017-11-24 クアルコム,インコーポレイテッド バーストリフレッシュにおけるメモリのシステム内修復のための方法および装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150286529A1 (en) * 2014-04-08 2015-10-08 Micron Technology, Inc. Memory device having controller with local memory

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150913A (ja) * 1991-11-29 1993-06-18 Hitachi Ltd フラツシユメモリを記憶媒体としたシリコンデイスク
JPH05204561A (ja) * 1991-11-26 1993-08-13 Hitachi Ltd フラッシュメモリを記憶媒体とした半導体ディスク
JPH06332806A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd フラッシュメモリを記憶媒体とする記憶システムおよびその制御方法
JPH0793215A (ja) * 1993-09-20 1995-04-07 Toshiba Corp 半導体記憶装置
JPH087597A (ja) * 1994-06-24 1996-01-12 Toshiba Corp 不揮発性半導体記憶装置
JP2003085034A (ja) * 2001-09-12 2003-03-20 Hitachi Ltd 不揮発性記憶装置およびデータ格納方法
JP2003234000A (ja) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置、icカードおよび検査装置
JP2004310930A (ja) * 2003-04-08 2004-11-04 Renesas Technology Corp 不揮発性半導体記憶装置
WO2006104036A1 (ja) * 2005-03-28 2006-10-05 Matsushita Electric Industrial Co., Ltd. 記憶装置
JP2006294143A (ja) * 2005-04-12 2006-10-26 Toshiba Corp 不揮発性半導体記憶装置
WO2006129345A1 (ja) * 2005-05-30 2006-12-07 Spansion Llc 半導体装置及びプログラムデータ冗長方法
JP2007072810A (ja) * 2005-09-07 2007-03-22 Fujitsu Ltd 冗長置換方法、半導体記憶装置及び情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0675502B1 (en) * 1989-04-13 2005-05-25 SanDisk Corporation Multiple sector erase flash EEPROM system
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
JPH0831190A (ja) 1994-07-19 1996-02-02 Nkk Corp 不揮発性半導体メモリ装置
JPH09128962A (ja) 1995-11-06 1997-05-16 Fujitsu Ltd 半導体記憶装置
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204561A (ja) * 1991-11-26 1993-08-13 Hitachi Ltd フラッシュメモリを記憶媒体とした半導体ディスク
JPH05150913A (ja) * 1991-11-29 1993-06-18 Hitachi Ltd フラツシユメモリを記憶媒体としたシリコンデイスク
JPH06332806A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd フラッシュメモリを記憶媒体とする記憶システムおよびその制御方法
JPH0793215A (ja) * 1993-09-20 1995-04-07 Toshiba Corp 半導体記憶装置
JPH087597A (ja) * 1994-06-24 1996-01-12 Toshiba Corp 不揮発性半導体記憶装置
JP2003085034A (ja) * 2001-09-12 2003-03-20 Hitachi Ltd 不揮発性記憶装置およびデータ格納方法
JP2003234000A (ja) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置、icカードおよび検査装置
JP2004310930A (ja) * 2003-04-08 2004-11-04 Renesas Technology Corp 不揮発性半導体記憶装置
WO2006104036A1 (ja) * 2005-03-28 2006-10-05 Matsushita Electric Industrial Co., Ltd. 記憶装置
JP2006294143A (ja) * 2005-04-12 2006-10-26 Toshiba Corp 不揮発性半導体記憶装置
WO2006129345A1 (ja) * 2005-05-30 2006-12-07 Spansion Llc 半導体装置及びプログラムデータ冗長方法
JP2007072810A (ja) * 2005-09-07 2007-03-22 Fujitsu Ltd 冗長置換方法、半導体記憶装置及び情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017534966A (ja) * 2014-09-27 2017-11-24 クアルコム,インコーポレイテッド バーストリフレッシュにおけるメモリのシステム内修復のための方法および装置
KR20160086059A (ko) * 2015-01-09 2016-07-19 에스케이하이닉스 주식회사 데이터 저장 장치
KR102355436B1 (ko) 2015-01-09 2022-01-26 에스케이하이닉스 주식회사 데이터 저장 장치

Also Published As

Publication number Publication date
JP5347779B2 (ja) 2013-11-20
US20110010580A1 (en) 2011-01-13
US8448017B2 (en) 2013-05-21

Similar Documents

Publication Publication Date Title
JP5486047B2 (ja) フラッシュメモリの優先順位付き消去のためのデバイスおよび方法
US8489850B2 (en) Memory apparatus and memory control method
US8041882B2 (en) Method and device for writing to a flash memory
US20060198202A1 (en) Flash memory backup system and method
US9785438B1 (en) Media cache cleaning based on workload
CZ2001908A3 (cs) Způsob a zařízení pro záznam informací
JP5347779B2 (ja) メモリ装置、メモリ制御方法、およびプログラム
JP4997798B2 (ja) 不揮発性半導体記憶装置およびメモリシステム
US8230276B2 (en) Writing to memory using adaptive write techniques
JP5179596B2 (ja) テープ記録装置におけるデータの上書き制御方法、上書き制御プログラム、及びテープ記録装置
US20110047409A1 (en) Storage device supporting auto backup function
US6075731A (en) Memory control apparatus having data retention capabilities
JP5057796B2 (ja) 半導体メモリ情報蓄積装置とその不良部位対処方法
US7062682B2 (en) Data recorder and data recording method avoiding data loss due to data transfer error
US8386739B2 (en) Writing to memory using shared address buses
JP4719167B2 (ja) 半導体メモリ情報蓄積装置とその書き込み不良対策方法
JP2013250603A (ja) メモリ管理装置および方法、並びにプログラム
JP2006085596A (ja) 情報記録読出装置
US8166228B2 (en) Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods
TW202411852A (zh) 記憶體系統
JP2003296199A (ja) 記憶装置、データ処理方法及びデータ処理プログラム
JP2007072839A (ja) 記録制御装置および方法、並びにプログラム
US20110145519A1 (en) Data writing apparatus and data writing method
JP3944326B2 (ja) フラッシュEEpromシステム
JPH04111030A (ja) 情報記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R151 Written notification of patent or utility model registration

Ref document number: 5347779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees