JP3928500B2 - メモリ装置 - Google Patents
メモリ装置 Download PDFInfo
- Publication number
- JP3928500B2 JP3928500B2 JP2002194084A JP2002194084A JP3928500B2 JP 3928500 B2 JP3928500 B2 JP 3928500B2 JP 2002194084 A JP2002194084 A JP 2002194084A JP 2002194084 A JP2002194084 A JP 2002194084A JP 3928500 B2 JP3928500 B2 JP 3928500B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory device
- segment
- data
- recording unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
【発明の属する技術分野】
本発明は不良領域を含む揮発性或いは不揮発性記録部を使用したメモリにおいて、信頼性が高くかつ高速で安価なメモリシステムの構築に関する。
【0002】
【従来の技術】
メモリ装置において、内部のメモリセルへのアクセス単位が複数バイトを一まとめとしたブロック単位でアクセス可能でかつ不良ブロックを含む場合、それらを管理するために、特開2000-11677号公報に記載のように、メモリ内に通常領域と、その領域に含まれる不良領域を代替するためのスペア領域を設け、スペア領域上の各ブロックと、それが代替しているデータ領域上の不良ブロックの対応付けを管理する不良管理情報を構成する。これによって、データ領域にアクセスした場合、不良管理情報を参照し、アクセスアドレスが不良ブロックか判定を行い、不良ブロックの場合は、対応するスペア領域上のブロックをアクセスすることで、不良代替を行う。
【0003】
また、特開平6-124596号公報に記載のように、データ領域上の各ブロックに物理アドレスと論理アドレスを割り当て、その対応付けを行う管理情報を用意する。そして、ホストがデータの書き込みを行う論理アドレスを指定すると、新規に消去状態のブロックへデータを記録しこの物理アドレスと論理アドレスを対応付ける。以前にこの論理アドレスに割り当てられていた物理アドレスに対応するブロック内の古いデータは消去する。
【0004】
【発明が解決しようとする課題】
上記従来技術では、通常領域のアクセス時、毎回スペア領域との対応付け情報をすべて参照する必要があり、また、通常領域全域の不良ブロックを一括してスペア領域に代替するため、例えば通常領域が巨大な場合、スペア領域も巨大になり、対応付け情報も膨大になる。このため、不良検索に時間がかかる。
【0005】
さらに上記従来技術では、不良ブロックが通常領域内に局所集中的に発生した場合でも、通常領域のアクセス時、スペア領域との対応付け情報をすべて参照する必要があるため、局所集中的な不良発生が通常領域全域のアクセス時間に影響を及ぼす。
さらに上記従来技術では、データの消去書込み回数を分散するために、全データブロックにおける物理アドレスと論理アドレスの対応付け情報が必要になるため、テーブル検索時間と管理情報が膨大になる。このためアクセス時間が遅くなり、大きな管理領域が必要になる。
【0006】
本発明の目的は、通常領域と代替領域が巨大になり、管理情報量が増大しても、通常領域に対するアクセス時間の低下を抑制可能なメモリ装置を提供する。
【0007】
本発明の別の目的は、通常領域内に局所集中的に不良ブロックが発生しても、その付近以外の通常領域のアクセス速度に影響を与えない高速で効率的なメモリ装置を提供する。
【0008】
本発明の別の目的は、データの消去書き込み回数を分散するための管理情報を削減し、アクセス時の管理情報検索時間を削減することで、効率的に書き込みを行うことが可能なメモリ装置を提供する。
【0009】
【課題を解決するための手段】
本発明の目的を達成するために、不良ブロックを含むメモリ装置において、メモリ上の通常領域と代替領域のアクセス単位であるブロックを複数個一まとめにしたセグメントを構成し、通常領域のセグメントとスペア領域のセグメントを各々一対一に対応させ管理する手段と、セグメント全域に不良が発生した場合は、代替セグメントをスペア領域に設け、セグメントごと代替セグメントへ代替する手段とを設けた。
【0010】
本発明の別の目的を達成するために、各セグメントの先頭からのオフセット値aが等しい各セグメントのそれぞれのデータブロックをまとめて管理するための管理情報と、個々のデータブロックへ消去書込の度に記録される消去書込回数とを用いて、セグメントm内のオフセットaにある特定のデータブロックの消去書込回数が閾値に達すると、オフセットaに対応する前期管理情報の値nを変化させ、その管理情報に基づき、セグメントmのオフセットaのデータブロックへ書込む内容を、セグメントn+mのオフセットaにあるデータブロックへ記録するする手段と、セグメントmのオフセットaのデータブロックの内容の読み出しを行う際、オフセットaの管理情報の値nを用いて、セグメントn+mのオフセットaのデータブロックの内容を読み出す手段とを設けた。
【0011】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0012】
図1は、本発明の不良代替処理の概念説明図である。フラッシュメモリ100は本発明を適用するフラッシュメモリのデータ構成を示す。また、ホストシステム120はフラッシュメモリ100へアクセスする装置を示す。フラッシュメモリ100は、図示の様に、フラッシュメモリセル113へデータを保持する。このフラッシュメモリセル113は、通常、複数バイトを一まとめにしたブロックという単位で消去、書き込み、読み出しが行われる。ブロックには、正常に使用可能な良ブロックと、製造時の不具合等により不良化した不良ブロックが存在する。
本発明では、フラッシュメモリセル113を通常領域108と代替領域109の2種類の領域に分けて管理する。通常領域は、ホストシステムのデータを保存する。また、代替領域は通常領域内の不良ブロックを置き換えるために使用する。それぞれの領域において、ブロックをn個合わせたものをセグメントと定義し、各領域が複数のセグメントから構成されているとして扱う。
【0013】
メモリ物理アドレス102は、フラッシュメモリセル113の先頭から順次ブロックに割り当てられるアドレスである。オフセット101は各セグメントの先頭を0として割り当てられるアドレスで、各セグメントの先頭からのオフセット値を示す。
【0014】
通常領域108のデータセグメントと代替領域109の代替セグメントは一対一に対応する。すなわち、データセグメントnと代替セグメントnが対応する。この対応付け情報は不良管理テーブル114へ保存される。
【0015】
不良管理テーブル114は、セグメントごとの対応付け情報を保持する。すなわちデータセグメントnと代替セグメントnの対応付け情報は、セグメントn管理情報111として不良管理テーブル114へ保持される。
【0016】
セグメント管理情報内のエントリ117は、対応する代替セグメント内の各ブロックの状態を示す。例えば、先頭エントリは、代替セグメント内の先頭ブロックの状態を示す。エントリを構成する情報について説明する。良不良フラグ110は対応する代替セグメントが良ブロックか不良ブロックかを示す。代替元論理アドレス112は、このエントリに対応するブロックが代替する、通常領域内のブロックのオフセットを示す。例えば、代替セグメント0の先頭ブロックは、データセグメント0内のオフセット2の不良ブロックを代替するため、不良管理テーブル114内のセグメント0管理情報の先頭エントリの代替元論理アドレスに0002hが記録される。通常、オフセット101はメモリ物理アドレスと比較して、アドレス空間が小さいため、代替元論理アドレス情報量は小さくなる。尚、代替処理とは、不良化した領域に対応する正常領域を用意しておき、不良領域の変わりにアクセスするようにすることで、正常なアクセスを保証する処理を示す。
【0017】
上記構成のフラッシュメモリ100は、アドレス変換処理107を介して、ホストシステム120へホスト空間123を提供する。この空間においてホスト論理アドレス121は、フラッシュメモリ100内のメモリ物理アドレス102と対応するが、アドレス変換処理107により、不良ブロックが代替されるため、ホスト空間123では全領域が良ブロックで構成される。
【0018】
図2はこのアドレス変換処理107の流れを示すフローチャートである。
【0019】
ホストシステム120がフラッシュメモリ100へ、アクセス対象ホスト論理アドレスを送信する(ステップ201)。フラッシュメモリ100はホスト論理アドレスに対応する通常領域内のデータセグメントとオフセット値を計算する(ステップ202)。この方法として例えば、ホスト論理アドレスがメモリ物理アドレスと一対一に対応しているため、メモリ物理アドレスとデータセグメント及びオフセットの関係を利用する方法が考えられる。次に、不良管理テーブルを参照し対象データセグメントのセグメント管理情報内から、アクセスするオフセットが代替登録されていないか検索する(ステップ203、ステップ204)。代替登録されている場合は、対応する代替セグメント内の対応ブロックを指定する(ステップ206)。登録されていない場合は、データセグメント内の対応ブロックを指定する(ステップ205)
フラッシュメモリ100が指定したブロックに対してホストシステム120がアクセスを行う(207)。以上の処理を行うことで、ホストシステム120は、フラッシュメモリ100を擬似的に不良ブロックが一切含まれないメモリとしてアクセスすることが可能になる。
【0020】
本発明では、上記不良代替処理に加え、ホストシステム120からの消去書き込みを分散するための手段を設けている。以下これについて説明する。図3はこの方式概念の説明図である。
【0021】
データセグメントの各ブロックに、消去書き込みが行われた回数を記録する。そしてウェアレベリング管理テーブル302を用意する。このテーブルは不良代替後のフラッシュメモリ空間であるフラッシュメモリ論理空間300において、データセグメントの同一オフセットごとにセグメントシフト数というデータを管理する。このデータは、あるセグメントのオフセットに対応すべきデータが、異なるセグメントの同一オフセットに存在する場合、そのセグメント数の差分を記録する。すなわち、セグメントNのオフセットnにあるべきデータが、セグメントN+Mのオフセットnに存在する場合、セグメントシフト数はMになる。また、この値は、全セグメントの同一オフセットに対応するため、例えば、オフセットnのセグメントシフト数が1の場合、全セグメントのオフセットnの値が1セグメント分ずれていることを示す。
【0022】
以下、これらの情報を利用した消去書込み分散について説明する。
【0023】
図3のステップ1は、ホストシステム120がフラッシュメモリ100へ消去書き込みを行う前の状態である。ホストシステム120がデータセグメント1のオフセット1のデータBの更新をフラッシュメモリ100へ指示するとデータBの書込み回数が1増加する。このとき、データBの書込み回数が書込み分散処理を起動する閾値mに達すると、フラッシュメモリ100は、ウェアレベリング管理テーブル302内のセグメントシフト数304の値を更新する。この値の更新方法としては、単に1を加える方法、全セグメントの同一オフセット内で一番書込み回数が少ないブロックへデータBのデータが格納されるようにオフセット値を計算する方法などが考えられる。本例では、現在の値に1を加えた場合を示している。この結果、ステップ3に示すように、全セグメントのオフセット1に存在するデータが全て1セグメント分後方にシフトされて記録し直される。この結果、データBの更新が集中しても、内部的には複数のブロックに対して分散して書き込まれるため、消去書込みの分散処理を実現できる。また、全セグメントの同一オフセットに対して、1つのセグメントシフト数を用意すればよいため、ウェアレベリング管理テーブル302サイズを削減することが可能になる。
【0024】
図4は、本発明を適用した不揮発性メモリ400の内部構成の一例を示している。当該メモリ装置401は、ホストシステム440とホスト I/F441を介して接続される。ホストI/F441はI/F切り替え信号437によって切り替えることが可能である。ホストI/F441の例としては、NAND形/AND形フラッシュメモリI/F、SRAMI/F SDRAM I/Fが考えられる。
【0025】
不揮発性メモリ400は、ホストシステム440とのI/Fを切り替えるI/F切り替え部437、ホストシステム440との間でI/F制御を行うI/F制御部430、情報の記録を行うメモリセル部401、メモリセル部401内の不良ブロック管理を行う管理部410から構成される。尚、管理部410はメモリセル部401の分散書き込み処理などの制御を行う場合もある。
【0026】
I/F制御部420とメモリセル部401はAND I/F-1 431、およびAND I/F-2 432で接続されている。ここでAND I/FはAND形フラッシュメモリ制御用I/F仕様のことを示す。尚、このI/FはNAND形フラッシュメモリ制御用I/F等、その他のI/Fを適用することも可能である。
【0027】
メモリセル部401はホストシステム440から直接AND I/F-1 431を介して制御することも可能である。
【0028】
管理部410はI/F制御部430と専用I/F 435で接続されている。また、メモリセル部401をAND I/F-3 433を介して制御可能な上、メモリセル部401のバッファ405上のデータをSRAM I/F434を介して直接アクセスすることも可能である。
【0029】
制御部403は、さらに不揮発性記録媒体であるフラッシュメモリセル402、フラッシュメモリへ書き込むデータを一時的に記録するSRAMで構成されたバッファ405、AND I/F 407を介した外部回路からの指示により、バッファ405とフラッシュメモリセル402を制御する制御部403、制御部403への制御信号を切り替える切り替え部404から構成される。
【0030】
図5は、管理部410の構成の一例を示している。
【0031】
ECC(Error correcting code;エラー訂正符号)506はメモリセル部401へデータ書き込む際にはECCを生成して付加し、データを読み出す場合にはECC計算を行い、エラー検出訂正を行うことで、データの信頼性を高めるために使用される。
【0032】
I/Fレジスタ505はI/F制御部420との間で情報を送受信するために使用される。
【0033】
プログラマブルシーケンサ500は管理部410内の各回路を制御し代替処理などのシーケンス処理を実行する。
【0034】
シーケンスROM501は、プログラマブルシーケンサ500が実行するシーケンスコードを記録する。ここに記録されるシーケンスコードを変更することで様々な処理を追加、変更することが可能である。また、シーケンスROM501の変わりに、シーケンスRAMを搭載し、不揮発性メモリ400起動時にメモリセル部からシーケンスコードを読み込み可能にすることで、不揮発性メモリが製造された後も、フラッシュメモリセル402に記録されているシーケンスコードに改変を加えることが可能になる。
【0035】
Work RAM502は、プログラマブルシーケンサ500が一時的に値を保存したり、メモリセル部401管理用の管理データを保持するために使用される。
【0036】
制御レジスタ群503は前述処理に特化された制御用レジスタ群が格納される。これはプログラマブルシーケンサ500が動作中に使用する。
【0037】
図6は、不揮発性メモリ400のアドレス構成を示す。
【0038】
不揮発性メモリ400最下位アドレスを「0000」、ホストシステム440がアクセス可能な上限値をHMAX602と定義する、この領域は前述の通常領域108に対応する。この領域は複数の同一の大きさを持つデータセグメントから構成される。不揮発性メモリ400の最上アドレスをFMAX603と定義する。HMAX602からFMAX603の間を管理領域601と定義する。管理領域601はさらに3種の領域に分割される。代替領域612は、複数の代替セグメントから構成される。各代替セグメントサイズは、データセグメントに含まれる不良ブロック数及び発生が予測される不良ブロック数に最適化された大きさになるため、各代替セグメントごとにサイズは異なる。この領域は、全データセグメントに共通で使用する。管理テーブル領域613は、前述の不良管理テーブル114及びウェアレベリング管理テーブル302を保持する領域である。
【0039】
図7は管理テーブルの構成例を示している。
【0040】
管理テーブル701は、不良管理テーブル701とウェアレベリング管理テーブル706から構成される。不良管理テーブル701は、図1で示した不良管理情報を格納する。セグメントスワップ情報702は、セグメント内の全てのブロックが不良化した場合に、其のセグメント自体を別のセグメントで代替する場合の情報を格納するために使用される。これは、下記情報から構成される。不良セグメントアドレス709:不良化したセグメントの番号を記録する。代替先セグメントアドレス710:このセグメントを代替するセグメントの番号を記録する。
【0041】
代替セグメントオフセット711と代替セグメント情報715は、代替セグメントの情報を管理する。代替セグメントのサイズは対応するセグメントの不良ブロック数に応じて代替セグメントごとに可変長になるため、管理データ自体も可変長になる。したがって、代替セグメントオフセット情報711で代替セグメント情報715上のセグメント毎の不良管理データの先頭位置を示し、エントリ数714でセグメント内に含まれる不良代替用ブロック数を示す。このエントリ数714は、前述のセグメント毎の不良ブロック数計算手段を用いて計算された値を使用する。不良管理データ自体は、代替セグメント情報715内に置かれ、各セグメントに対応するデータは、先頭に管理アドレス空間上のこのセグメントに対応する代替セグメントの先頭アドレス716、その後には、代替セグメントに含まれるブロックの属性がエントリ717として記録される。例えば、代替セグメントの先頭ブロックの情報はエントリ0に記録される。エントリの内容としては、例えば、代替セグメントの先頭からのオフセット値、このブロック自体が正常か不良かの判定フラグなどが考えられる。
【0042】
ウェアレベリング管理情報718は、ウェアレベリング管理テーブルに保存される。この情報は、全データセグメントのオフセットごとの前述のセグメントシフト数を記録する。
【0043】
以上で述べた構成を用いた不揮発性メモリ400の基本動作の一例を説明する。
【0044】
図8は、不揮発性メモリ400起動時の動作例を示すフローチャートである。
【0045】
電源が挿入されると各回路が初期化される(ステップ801)。初期化が完了するとI/F制御部420が初期化コマンドを管理回路410内のプログラマブルシーケンサ500に発行する(ステップ802)。プログラマブルシーケンサ500は、管理部410内の設定情報を初期化し、初期管理テーブル読み込み位置を設定する(ステップ803)。初期化処理が終了すると、プログラマブルシーケンサ500は、管理テーブル読込コマンドをメモリセル部401に発行する(ステップ805)。メモリセル部402はフラッシュメモリセル401よりデータ読み出しを行う(ステップ806)。その後、メモリセル部401と管理部410のプログラマブルシーケンサ500は管理テーブル情報を管理部410内のWorkRAM502へ転送する(ステップ807)。プログラマブルシーケンサ500は、管理テーブル情報を検査し(ステップ808)、このテーブルが使用可能なら処理を終了する。もし、管理テーブル情報が不良なら、次のアクセスアドレスを設定して、管理テーブル読込以下の手順を繰り返す(ステップ804)。
【0046】
図9は、不揮発性メモリ400からのデータリード時の動作例を示すフローチャートである。ホストシステム440がリードコマンドを不揮発性メモリ400へ発行すると、I/F制御部420がコマンドを受ける(ステップ900)。同様にホストシステム440がリードアドレスSAを不揮発性メモリ400へ発行する(ステップ901)。I/F制御部420はリードアドレスSAを受け取ると、リードコマンドとリードアドレスSAを管理部410のプログラマブルシーケンサ400へ発行する(ステップ902、ステップ903)。リードコマンドを受け取った管理部500はリードアドレスSAからセグメント番号とオフセット値を抽出した後、ウエアレベリング処理を行いアクセス先アドレスを計算する(ステップ904)。続いて、管理テーブル700から対応するセグメント情報を選択する(ステップ905)。この後、代替セグメント情報715と先に計算したオフセット値を比較し、不良ブロック検索を行う(ステップ906)。比較の結果、SAが不良ブロックを示していれば、対応する代替アドレスをSA'にセットする(ステップ907)。もし正常ブロックを示していれば、SAをSA'に代入する(ステップ908)。管理部410は、リードコマンドをメモリセル部110に発行し(ステップ909)、続いてSA'をメモリセル部401へ発行する(ステップ910)。メモリセル部401はSA'をアクセスアドレスとしてフラッシュメモリセル401からデータ読出を行う(ステップ911)。データリードが完了すると、メモリセル部401は、データリード完了をI/F制御部420へ通知する(ステップ912)。この方法としては、例えばメモリセル部401がレディビジー信号を出力し、処理中はビジーを通知し、処理が終了すればレディーを通知する方法が考えられる。続いて、I/F制御部420はメモリセル部110からデータリードを行い(ステップ913)、そのままホストシステム440へデータ転送を行う(ステップ914)。
【0047】
ホストシステム440と不揮発性メモリ401のアクセス調停について、もし不揮発性メモリ401へデータリードコマンドを発行してから、データ転送を開始するまでの間が一定時間なら、ホストシステム440はその待ち時間をカウンタなどでカウントすることが可能である。もし可変なら、レディビジー信号を不揮発性メモリ40が出力しホストシステム440がその信号をモニタリングする方法等が考えられる。
【0048】
図10は、不揮発性メモリ400へのデータライト時の動作例を示すフローチャートである。
【0049】
ホストシステム440がライトコマンドを不揮発性メモリ400へ発行すると、I/F制御部420がコマンドを受ける(ステップ1000)。同様にホストシステム406がライトアドレスSAを不揮発性メモリ400へ発行する(ステップ1001)。続いてホストシステム440はライトデータを不揮発性メモリ400へ転送する(ステップ1002)。このデータはI/F制御部420を介してメモリセル部401へ送信されメモリセル部401内のバッファへ保存される(ステップ1003)。ホストシステム440からのデータ転送が終了すると、I/F制御部420はライトコマンドとライトアドレスSAを管理部410へ発行する(ステップ1004、ステップ1005)。
ライトコマンドを受け取った管理部410は、ライトアドレスSAからセグメント番号とオフセット値を計算した後、管理テーブル700から対応するセグメント情報を選択する(ステップ1006)。この後、セグメント情報と内部アドレスのオフセット値を比較し不良ブロック検索を行う (ステップ1007)。比較の結果、SAが不良ブロックを示していれば、対応する代替アドレスをSA'にセットする(ステップ1010)。もし正常ブロックを示していれば、SAをSA'とする(ステップ1009)。管理部410は、SA'をメモリセル部110へ発行する(ステップ1011)。続いて管理部410は、ライトコマンドをメモリセル部401に発行する(ステップ1012)。ライトコマンドを受け取ったメモリセル部401はSA'をライトアドレスとして、フラッシュメモリセル401へ、バッファに保持されているホストシステム440から転送されたライトデータの書き込みを行う(ステップ1013)。もし、ライトエラーが発生すると、メモリセル部401は管理部410へエラー報告を行い(ステップ1015)、管理部410は、このライトアドレスが示すブロックSA'を不良ブロックとして管理テーブルに登録する(ステップ1014)。そして、管理テーブルを管理領域に保存し(ステップ1016)、次に書き込むべきアドレスを計算してデータライト処理を再実行する。このとき、通常、書き込むべき次のアドレスは、ライトエラーが発生したアドレスの次を使用するが、何らかの予測手段を用いて算出を行ってもかまわない。
【0050】
メモリセル部401がデータライト実行後(ステップ1017)。正常終了した場合は、I/F制御部420を介してホストシステム440へライト完了を通知する(ステップ1017、ステップ1018)。ホストシステム440への通知方法としては、例えば、ステータスを送信する方法等がある。またライトコマンドを不揮発性メモリ400へ発行してから、ライト完了の通知が戻ってくるまでの間のホストシステム440と不揮発性メモリ400との間での待ち制御方法として、前述同様、レディビジー信号を不揮発性メモリ400が出力し、ホストシステム440がその信号をモニタリングする方法が考えられる。
【0051】
なお、本発明で示した不揮発性メモリ400は一例であり、不良を含む揮発性メモリの代替処理方式としても本方式を適用することが可能である。この場合は、管理情報のみ別途外部から起動時に管理部410へ読み込むか、管理情報用の不揮発性メモリを搭載することで対応することが可能になる。また、不揮発性メモリ400として半導体メモリだけでなく、例えば磁気ディスクなどにおいても、本方式を適用することが可能である。また、本発明で示した構成は、揮発性或いは不揮発性メモリと、それを制御するコントローラを一つのパッケージにした製品にも適用可能である。
【0052】
【発明の効果】
本発明によれば、メモリを複数領域に分けて領域ごとの特性を管理するため、大容量で不良領域を含むメモリの不良管理を小容量の管理情報で効率よく管理することが可能になる。
【0053】
また、アクセス時に行うアクセスアドレスと、不良アドレスの検索比較処理の時間を、短縮することが可能になる。
【0054】
また、局所集中的な不良が発生した場合も、その不良を含む領域以外の領域に対するアクセスを行う場合、アクセスアドレスの不良、正常判定に必要な時間を削減できる。
さらに、書込み回数をブロックごとに管理し、局所集中的な消去書き込みを分散させる機能を少量の管理データで実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の概念説明図である。
【図2】本発明の処理の流れを示すフローチャート図である。
【図3】本発明の概念説明図である。
【図4】本発明を適用した不揮発性メモリ構成例を示す図である。
【図5】本発明を適用した不揮発性メモリ構成例を示す図である。
【図6】本発明を適用した不揮発性メモリのメモリマップの一例を示す図である。
【図7】本発明を適用した不揮発性メモリの管理テーブルの構成例を示す図である。
【図8】本発明を適用した不揮発性メモリの初期起動時の動作例を示す図である。
【図9】本発明を適用した不揮発性メモリのデータリード時の動作例を示す図である。
【図10】本発明を適用した不揮発性メモリのデータライト時の動作例を示す図である。
【符号の説明】
100…フラッシュメモリ、101…オフセット、102…メモリ物理アドレス、103…ブロック、104…ブロックの状態、105…データセグメント、106…代替セグメント、107…アドレス変換処理、108…通常領域、109…代替領域、110…良不良フラグ、111…セグメントN管理情報、112…代替元論理アドレス、113…フラッシュメモリセル、114…不良管理テーブル、117…登録エントリ、120…ホストシステム、121…ホスト論理アドレス、122…ブロックの状態、123…ホスト空間、300…フラッシュメモリ論理空間、301…書換回数、302…SRウェアレベリング管理テーブル、303…オフセット値、304…セグメントシフト数、400…不揮発性メモリ、401…メモリセル部、402…フラッシュメモリセル、403…制御部、404…切替部、405…バッファ、406…SRAM I/F-3、407…AND I/F、408…SRAM I/F-2、410…管理部、420…I/F制御部、430…I/F制御部、431…AND I/F-1、432…AMD I/F-2、433…AND I/F-3、434…SRAM I/F、434…I/F切替信号、440…ホストシステム、441…ホストI/F、500…プログラマブルシーケンサ、501…シーケンスROM、502…WorkRAM、503…制御レジスタ群、505…I/Fレジスタ、506…ECC、700…管理テーブル構成例
Claims (7)
- 情報を特定の単位でアクセスすることが可能な、不良領域を含む不揮発性或いは揮発性の記録部と、前記記録部を制御する記録部制御回路と、前記記録部と送受信するデータを一時的に記録するバッファメモリと、前記記録部内の前記不良領域を管理するための情報を保存する揮発性メモリと、前記揮発性メモリの情報を処理する不良管理回路と、ホストシステムからのアクセスを処理し、前記記録部制御回路と前記不良管理回路に動作指示を出すインタフェース制御回路を有するメモリ装置において、
前記記録部を仮想的に複数の領域に分割して個別に管理する手段と、
分割単位ごとにその領域内に含まれる不良領域と、今後発生する可能性のある不良領域を置き換えるための代替領域を確保し管理する手段と、
不良領域へ前記ホストシステムがアクセスしたときに、前記代替領域をアクセスさせるためにアクセス先を変換する手段とを有するメモリ装置。 - 請求項1に記載のメモリ装置において、
複数の領域に分割された各領域の先頭からの位置aが等しいそれぞれの領域内の個々のデータブロックを、位置aごとまとめて管理するための管理情報と、個々のデータブロックへ消去書込の度に記録される消去書込回数とを用いて、領域m内の位置aにある特定のデータブロックの消去書込回数が一定の値に達すると、位置aに対応する前記管理情報の値nを変化させ、その管理情報に基づき、領域mの位置aのデータブロックへ書込む内容を、領域n+mの位置aにあるデータブロックへ記録するする手段を有するメモリ装置。 - 請求項2に記載のメモリ装置において、
領域mの位置aのデータブロックの内容の読み出しを行う際、位置aの管理情報の値nを用いて、領域n+mの位置aのデータブロックの内容を読み出す手段を有するメモリ装置。 - 請求項1に記載のメモリ装置において、
前記記録部が複数種類の不良特性を持ち、
それぞれの不良特性に応じた回路で順次代替処理を行うメモリ装置。 - 請求項1に記載のメモリ装置において、
前記不良管理回路が、プログラマブルシーケンサとシーケンスを記録したROMで構成され、
前記ROMを入れ替えることで、シーケンスコードを変更することが可能であるメモリ装置。 - 請求項1に記載のメモリ装置において、
前記不良管理回路がプログラマブルシーケンサとシーケンスを保持するRAMで構成され、
起動時に前記記録部からシーケンスコードを読出し前記RAMへ保存し、前記シーケンスコードをシーケンサが実行することで、前記シーケンスコードを変更することが可能であるメモリ装置。 - 請求項5または請求項6に記載のメモリ装置において、
前記記録部が複数種類の不良特性を持ち、そのうち特定種類のみプログラマブルシーケンサで処理を行い、その他の不良特性を専用回路で処理するメモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002194084A JP3928500B2 (ja) | 2002-02-26 | 2002-07-03 | メモリ装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002-48943 | 2002-02-26 | ||
JP2002048943 | 2002-02-26 | ||
JP2002194084A JP3928500B2 (ja) | 2002-02-26 | 2002-07-03 | メモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003323352A JP2003323352A (ja) | 2003-11-14 |
JP3928500B2 true JP3928500B2 (ja) | 2007-06-13 |
Family
ID=29551959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002194084A Expired - Fee Related JP3928500B2 (ja) | 2002-02-26 | 2002-07-03 | メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3928500B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3905091B2 (ja) | 2004-02-10 | 2007-04-18 | シャープ株式会社 | 不揮発性半導体記憶装置及びブロック冗長救済方法 |
KR100572328B1 (ko) * | 2004-07-16 | 2006-04-18 | 삼성전자주식회사 | 배드 블록 관리부를 포함하는 플래시 메모리 시스템 |
US7315917B2 (en) | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
JP4503500B2 (ja) * | 2005-06-29 | 2010-07-14 | シャープ株式会社 | 記録装置、並びに、そのプログラムおよび記録媒体 |
JP4679581B2 (ja) | 2005-07-29 | 2011-04-27 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
JP5014821B2 (ja) | 2007-02-06 | 2012-08-29 | 株式会社日立製作所 | ストレージシステム及びその制御方法 |
US7870446B2 (en) | 2008-02-29 | 2011-01-11 | Kabushiki Kaisha Toshiba | Information processing apparatus and nonvolatile semiconductor memory drive |
JP4987962B2 (ja) * | 2008-02-29 | 2012-08-01 | 株式会社東芝 | 情報処理装置及び不揮発性半導体メモリドライブ |
JP5218198B2 (ja) * | 2009-03-25 | 2013-06-26 | 富士通セミコンダクター株式会社 | 半導体メモリおよびシステム |
KR101984900B1 (ko) | 2012-07-24 | 2019-05-31 | 삼성전자 주식회사 | 메모리 장치 및 상기 메모리 장치의 독출 전압 결정 방법 |
JP6102800B2 (ja) | 2014-03-04 | 2017-03-29 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。 |
-
2002
- 2002-07-03 JP JP2002194084A patent/JP3928500B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003323352A (ja) | 2003-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP3944496B2 (ja) | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 | |
US7340581B2 (en) | Method of writing data to non-volatile memory | |
JP4132086B2 (ja) | フラッシュメモリ内のブロックにおける移動セクタ | |
JP5026213B2 (ja) | ストレージ装置及びデータ重複排除方法 | |
JP5612514B2 (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
US20100161885A1 (en) | Semiconductor storage device and storage controlling method | |
JP7358594B2 (ja) | メモリシステム | |
US20080168252A1 (en) | Memory Controller, Nonvolatile Storage Device, Nonvolatile Storage System, and Memory Control Method | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
JPH11338782A (ja) | 記憶装置及びその欠陥セクタ代替方法 | |
JP2007199905A (ja) | 半導体記憶装置の制御方法 | |
KR20060012696A (ko) | 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. | |
JP2000067574A (ja) | 半導体記憶装置 | |
JP2009064251A (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
JP2005301591A (ja) | 不揮発性メモリを備えた装置及びメモリコントロ−ラ | |
JP3928500B2 (ja) | メモリ装置 | |
JP2021034091A (ja) | メモリシステムおよび制御方法 | |
US11748012B2 (en) | Memory system and method for controlling nonvolatile memory | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
JPWO2007105688A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JP2007334413A (ja) | 記憶装置 | |
JP2023002294A (ja) | メモリシステムおよびリフレッシュ制御方法 | |
JP4127307B2 (ja) | データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040629 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061121 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070117 |
|
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: 20070213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070226 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100316 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100316 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120316 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140316 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |