JP6072428B2 - 制御装置、記憶装置、記憶制御方法 - Google Patents
制御装置、記憶装置、記憶制御方法 Download PDFInfo
- Publication number
- JP6072428B2 JP6072428B2 JP2012104459A JP2012104459A JP6072428B2 JP 6072428 B2 JP6072428 B2 JP 6072428B2 JP 2012104459 A JP2012104459 A JP 2012104459A JP 2012104459 A JP2012104459 A JP 2012104459A JP 6072428 B2 JP6072428 B2 JP 6072428B2
- Authority
- JP
- Japan
- Prior art keywords
- physical
- data
- logical
- management information
- nonvolatile memory
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000015654 memory Effects 0.000 claims description 83
- 238000012545 processing Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 22
- 210000002784 stomach Anatomy 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 10
- 238000012005 ligant binding assay Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
上記特許文献1〜4にはフラッシュメモリを用いた記憶装置が開示されている。
消去(イレーズ)は物理ブロック単位で行われ、書込(プログラム)及び読出(リード)は物理ページ単位で可能とされる。
ホスト側やメモリ制御部側からのアドレス指定は、論理アドレス(LBA:Logical Block Address)が用いられる。論理アドレスによる論理ブロック、論理ページが、上記の物理アドレスに対応づけられる。これによりアクセス要求時には論理アドレスが物理アドレスに変換されて、実際のフラッシュメモリへのアクセスが実行される。
従って、この変換を行うための管理情報を構築しなければならない。ところが、ホストからの小さいサイズ単位のアクセスや、LBAが連続していないアクセスが多い場合には、物理ブロック内部でデータが連続して存在しづらくなり、管理情報構築に時間が掛かってしまう。この結果、システムとしての速度低下を発生させてしまうという問題がある。
本開示の記憶装置は、当該制御装置と不揮発性メモリを有する。
そしてこの場合、論理・物理アドレス管理情報を、物理的書き込み単位への通常の書き込み/読み出しのためのアクセスの際に同時に扱うことができる。
<1.メモリカード構成>
<2.論理・物理アドレス管理情報(管理テーブル)>
<3.データ書き込み制御処理/管理テーブル構築処理>
<4.管理テーブル書き込み機会>
<5.変形例>
図1に実施の形態のメモリカード1の構成例を示す。
メモリカード1はホスト機器2に接続され、記憶装置として用いられる。ホスト機器2とは、例えばパーソナルコンピュータ、デジタルスチルカメラ、ビデオカメラ、オーディオプレーヤ、ビデオプレーヤ、ゲーム機器、携帯電話機、PDA(Personal Digital Assistant)等の情報端末など、各種の電子機器、情報処理装置が想定される。
デバイスインターフェース13はホスト機器2との間の通信を行う。
バッファRAM14はホスト機器2との間の転送データ(書込データや読出データ)のバッファリングに用いられる。
不揮発性メモリ15は、例えばNAND型フラッシュメモリである。
ホスト機器2から送られてくる書き込むデータは、デバイスインターフェース13で受信されてバッファRAM14にバッファリングされる。そして制御部11の制御の元、データが不揮発性メモリ15に書き込まれる。制御部11は書込要求、書込アドレス、データサイズに応じてこれらの動作を制御する。
データ読出時にはホスト機器2から読出要求とともに、読出アドレス(論理アドレス)、データサイズが送られてくる。制御部11は、読出アドレス、データサイズに基づいて不揮発性メモリ15から指示されたデータの読出を行い、バッファRAM14にバッファリングする。また制御部11はバッファリングされた読出データに対してエラー訂正処理等を行う。そして読出データはバッファRAM14からデバイスインターフェース13に転送され、ホスト機器2に送信される。
図2には、物理ブロックPBとしてn+1個の物理ブロックPB0〜PBnを模式的に示している。ここでは、あくまで説明上の一例であるが、1つの物理ブロックPBが、16個の物理ページPP(PP0〜PP15)で形成される例を挙げている。
なお、1つの物理ページPPは、例えば16Kbyteなどとされる。図示していないが、この物理ページPP内が複数の物理セクタに分けられている。
ホスト機器2側からのアドレス指定は、論理アドレスが用いられる。論理アドレスによる論理ブロック、論理ページ、論理セクタが、上記の物理アドレスに対応づけられる。即ち制御部11は論理アドレスと物理アドレスを対応づける論理・物理アドレス管理情報を形成し、ホスト機器2からのアクセス要求時には、指定される論理アドレスを論理・物理アドレス管理情報を参照して物理アドレスに変換する。そして物理アドレスにより、実際の不揮発性メモリ15へのアクセスを実行する。
管理情報生成部11aは、論理アドレスと物理アドレスの対応関係を示す論理・物理アドレス管理情報(以下「管理テーブル」という)の生成や更新を行う。
アクセス制御部11bは、ホスト機器2から要求された不揮発性メモリ15へのデータ書込やデータ読出のアクセスの実行制御を行う。また不揮発性メモリ15への管理テーブルの書込や、不揮発性メモリ15からの管理テーブルの読出の動作の制御も行う。
なお、ここではこれらの機能部位がCPU11の処理として発現するソフトウエア機能として設けられているとするが、これらがハードウエアにより形成されてもかまわない。
また制御部11の管理のもと、例えばインターナルRAM12に、管理情報生成部11aが生成、更新した管理テーブルが記憶される。
この場合、非シーケンシャルなホストデータの書込や、記憶済みの或る論理アドレスのホストデータの書換が要求されても、ガベージコレクションを行うことなく対応できる。つまり書き込み要求されたホストデータを、物理ブロックPB内の最終使用済みの物理ページの次の物理ページPPに書き込めばよい。
ところが、この場合、制御部11が、或る物理ブロックPBに記憶されているホストデータの論理アドレスと物理アドレスの対応関係を知るには、当該物理ブロックPBの全ての書き込み済みの物理ページPPを読み出し、各物理ページPPの冗長エリアに書きこまれている論理アドレスの情報を取得して、対応関係の情報(つまり論理・物理アドレス管理情報)を構築する必要がある。結果としてホストデータの書き込み速度、読み出し速度を著しく低下させてしまう。
その上で、管理テーブル(論理・物理アドレス管理情報)の生成・更新のための動作を効率的に短時間で実行できるようにし、ホストデータの書き込み/読み出しとしてのアクセス速度の向上を実現する。
具体的には、ホスト機器2からデータ書込を要求された際に、管理テーブルをホストデータと同じ物理ページ内に書き込むようにする。
そしてアクセス制御部11bは、不揮発性メモリ15へのホストデータ書き込み時に、不揮発性メモリ15の物理ページ内に、当該ホストデータとともに管理テーブルの書き込みの実行制御を行うようにする。
特に実施の形態の場合、アクセス制御部は、書き込みを行うホストデータと管理テーブルを合わせたデータ量が、物理ページPPの容量以内である場合に、当該ホストデータと管理テーブルを、不揮発性メモリの物理ページPPへの書き込みの実行制御を行う。
管理情報生成部11aは、アクセス制御部11bが取得した管理テーブルが、最終使用済み物理ページPPに記憶されたものでない場合、検索した物理ページPP(管理テーブルが含まれていなかった物理ページPP)の論理アドレス情報を用いて、管理テーブルを最新の状態に更新する。
図3で管理テーブルの例を説明する。
図3Aは、或る物理ブロックPBxの各物理ページPP0〜PP15の記憶状態を示している。
仮に、1つの物理ページPPは、16Kbyteであるとする。またホストデータは4Kbyte単位で論理アドレスが付与されているとする。図の枠の中の数値は論理アドレス(LBA)を示している。
また物理ページPP2には論理アドレス「1000」「1001」「1002」「1003」のホストデータが記憶されている。
また物理ページPP3には論理アドレス「3000」「3001」「3002」「3003」のホストデータが書き込まれたが、その後の時点で、内容が更新された論理アドレス「3000」「3001」「3002」「3003」のホストデータが物理ページPP12に書き込まれた状態である。
例えば論理アドレス「1」を先頭とする論理アドレス「1」「2」「3」「4」の最新のホストデータが、物理ページPP1に記憶されていることが示される。
次の論理アドレス「5」を先頭とする論理アドレス「5」「6」「7」「8」の最新のホストデータが、物理ページPP5に記憶されていることが示される。
次の論理アドレス「9」を先頭とする論理アドレス「9」「10」「11」「12」の最新のホストデータが、物理ページPP9に記憶されていることが示される。
以下同様に記憶されている論理アドレスとの対応が管理され、例えば論理アドレス「3000」「3001」「3002」「3003」の最新のホストデータが物理ページPP12に記憶されていることが示されている。
このように管理テーブルには、各物理ページPPと、その物理ページPPに記憶されたホストデータの論理アドレスとの対応関係を示す情報が記憶されることになる。
なお管理テーブルにエントリされた個々の対応情報を説明上「論物対応データ」という。
或る物理ブロックPBの管理テーブルが、必ずしも、その物理ブロックPB内に記憶される必要があるわけではなく、他の物理ブロックPBの物理ページPP内に書き込まれることもあり得る。そのような場合に対応するには、図3Cのように、各論理アドレスに対応して、物理ブロックPBの番号と物理ページPPの番号を管理することが適切となる。
制御部11の具体的な処理例を図4,図5で説明する。なお、図4,図5は管理情報生成部11a及びアクセス制御部11bとしての機能を有することで実行される制御部11の処理としている。
制御部11はステップF101として、ホスト機器2からデータ書き込み要求に応じて、書き込みを行うホストデータの取り込みや論理アドレスの取得等を行う。
具体的には制御部11は、送信されてくるホストデータについてはデバイスインターフェース13を介してバッファRAM14に一時格納させる。また制御部11は、デバイスインターフェース13を介して送信される書き込み要求のコマンドにより、書き込むホストデータの論理アドレスとデータ量を把握する。
制御部11は、今回のホストデータを、或る物理ブロックPBの最終使用済みの物理ページの次の物理ページPPから書き込むことになる。そこで、その時点での管理テーブルに、今回のホストデータの論理アドレスと、書き込みを行おうとする物理ページPPの番号を対応させた論物対応データを追加する。
なお、その時点で、その書き込みを行おうとする物理ブロックPBについての管理テーブルがまだ構築されていない場合は、後述する図5の処理で管理テーブル構築を行い、その管理テーブルに、書き込みを行おうとする物理ページPPの番号を対応させた論物対応データを追加する。
また書き込みを行おうとする物理ブロックPBが、未使用の物理ブロックPBであった場合、新たに今回のホストデータの論理アドレスを、書き込みを行おうとする物理ページPPの番号を対応させた論物対応データをエントリした管理テーブルを生成すればよい。
この判断は、1つの物理ページPP内に、今回のホストデータと管理テーブルをまとめて書き込めるか否かの判断である。従って所定量とは、ホストデータを物理ページPPに書き込んでも、まだ管理テーブルを書き込む容量が残っていると判断できるデータ量をいう。
例えば1つの物理ページPPが16Kbyteの容量であって、管理テーブルが数Kbyte必要とすると、例えば8Kbyteを所定量などとすればよい。またここでいう所定量とは、固定のデータ量である必要はなく、物理ページPPの容量から、その時点の管理テーブルのデータサイズを減算した値としてもよい。
そして今回の書込要求に応じた処理を終える。
この管理テーブル書込条件とは、ホストデータのデータサイズ以外の条件であり、例えば、
(a)データサイズが所定量以下であれば必ず管理テーブル書込を行う(つまりサイズ以外の管理テーブル書込条件無し)
(b)データサイズが所定量以下であった機会のm回に1回、管理テーブル書込を行う
(c)前回の管理テーブル書込から、ホストデータの書込機会がm回以上あった場合に管理テーブル書込を行う
(d)物理ブロックPB内に論理アドレスが不連続となる場合に管理テーブル書込を行う
などの各種条件設定が考えられる。
例えばバッファRAM14に一時格納させたホストデータと、その時点でインターナルRAM12に格納している最新の管理テーブルを、今回ステップF102で管理テーブルにエントリした物理アドレスに応じて、不揮発性メモリ15に記憶させていく。
そして今回の書込要求に応じた処理を終える。
物理ブロックPBは物理ページPP0から順に使用されていくもので、最終使用済み物理ページPPeとは、その時点で過去に最新のデータ書込が行われた物理ページPPのことである。
図6Aには、過去に物理ページPP13までデータ書込が行われた物理ブロックPBxを示しているが、この場合、物理ブロックPBxは矢印の方向で各物理ページPPが順に使用されていく。そして最終使用済み物理ページPPeとは、物理ページPP13となる。
2分検索とは、例えば中央の物理ページPPを確認しながら最終使用済み物理ページPPeを探索する手法である。図6Aでいえば、まず例えば物理ページPP7を確認する。物理ページPP7が書込済みであれば、最終使用済み物理ページPPeは物理ページPP7〜PP15のいずれかである。そこで次に物理ページPP11を確認する。物理ページPP11が書込済みであれば、最終使用済み物理ページPPeは物理ページPP11〜PP15のいずれかである。そこで次に物理ページPP13を確認する。このように中央の物理ページPPを確認しながら追い込んでいき、最終使用済み物理ページPPeを探索するものである。
最終使用済み物理ページPPeに管理テーブルが含まれていた場合、制御部11はステップF203からF207に進み、当該管理テーブルを更新のために取り込む。そしてステップF208で管理テーブルを最新状態に更新する。
例えば図6Aでは、管理テーブルを「MGT」と示しており、最終使用済み物理ページPPeである物理ページPP13には、管理テーブルMGTが含まれている。
このような物理ブロックPBの場合では、制御部11は図6Bの矢印MRとして示すように、検索された最終使用済み物理ページPPeに記憶されていた管理テーブルMGTを取り込むことになる。
この最終使用済み物理ページPPeに記憶されていた管理テーブルMGTは、その時点の当該物理ブロックPBxに記憶された全てのホストデータについての論物対応データを含む最新のものである。
従って上述の図4のステップF102でこの図5の処理が行われる場合は、図5のステップF208では、この管理テーブルMGTに、今回書き込もうとするホストデータの論理アドレスについて、新たな論物対応データを追加するか、もしくはデータ書換であるなら、或る論物対応データを書き換えればよいことになる。
図4のようなデータ書込の際以外にこの図5の処理を行う場合は、最終使用済み物理ページPPeから管理テーブルMGTを読み出せた場合は、それが最新の状態であるので、ステップF208では論物対応データの追加や更新は必要ない。
つまり、図5の処理は、例えば電源投入時に1回行えばよい。その後はデータ書き込みの際に、その図5の処理で得た管理テーブルを更新していけばよい。そして可能なときに、物理ページPP内に、最新の管理テーブルを記憶させればよいものである。
そして当該物理ページPPが対象の物理ブロックPBxの先頭の物理ページPP0でなければ、ステップF205からF206に進み、1つ前の物理ページPPの読出を行い、ステップF203で、その物理ページPPに管理テーブルMGTが記憶されているか否かを確認する。
この場合、矢印SCとして示すように1つ前の物理ページPPの確認を行っていく。この例では1つ前の物理ページPP13で管理テーブルMGTが発見されるため、矢印MRとして示すように物理ページPP13から管理テーブルMGTを取り込むことになる。
そこでステップF208では、この物理ページPP14についての論物対応データを管理テーブルMGTに反映させるように管理テーブルMGTの更新を行う。つまりステップF204で物理ページPP14に記憶されたホストデータの論理アドレスを記憶したため、その記憶された論理アドレスを、物理ページPP14に対応づける論物対応データを、取り込んだ管理テーブルMGTに追加することになる。
その上で、上述の図4のステップF102でこの図5の処理が行われる場合は、この管理テーブルMGTに、今回書き込もうとするホストデータの論理アドレスについて、新たな論物対応データを追加するか、もしくはデータ書換であるなら、或る論物対応データを書き換えればよいことになる。
図4のようなデータ書込の際以外にこの図5の処理を行う場合は、最終使用済み物理ページPPe(この場合、物理ページPP14)までの論物対応データを追加した時点で、それが最新の状態を示す管理テーブルMGTとなる。
この場合制御部11はステップF208で管理テーブルMGTを新たに構築することになる。
即ち最終使用済み物理ページPPeから先頭の物理ページPP0までの各物理ページPPについてステップF204で記憶した論理アドレスを用いて、各論理アドレスについての論物対応データを生成し、管理テーブルMGTを生成する。
その上で、上述の図4のステップF102でこの図5の処理が行われる場合は、この生成した管理テーブルMGTに、今回書き込もうとするホストデータの論理アドレスについて、新たな論物対応データを追加するか、もしくはデータ書換であるなら、或る論物対応データを書き換えることとなる。
図4のようなデータ書込の際以外にこの図5の処理を行う場合は、生成した管理テーブルMGTが最新の状態を示すものとなる。
換言すれば、書込要求時に、ホストデータが例えば4Kbyteのデータなど、小さいデータであった機会に、最新の管理テーブルがホストデータとともに物理ページに記憶される。
管理テーブルが物理ページPP内に記憶されていることで、必要に応じて物理ページPPの読出で管理テーブルが読み出せる。また管理テーブルの保存も、ホストデータの書き込み機会に同時に行うことができる。
さらに、管理テーブルは、ホストデータが小さく書き込みが可能なときに最新の状態で物理ページPP内に記憶されるため、常に最新に近い管理テーブルが不揮発的に保存されることになる。そして電源オン時などに管理テーブルを把握したい場合は、制御部11は図5の処理を行えば、多くの場合、対象の物理ブロックPBの全物理ページPPを読み出さなくとも、最新の管理テーブルを得ることができる。例えば図6B、図6Cのような場合が多くなる。
従って、最新の管理テーブルを取得するための処理も高速に実行できる。
また、ホスト機器2からのホストデータと、管理テーブルを同じ物理ページPPに書き込む為、物理ブロックPB内部の実態と管理テーブルとの齟齬が発生する可能性が低くなり、途中電源遮断などの異常事態においてもデータの信頼性を高める事ができる。
上記実施の形態の処理で行われる管理テーブルの書き込み機会について説明する。先に(a)(b)(c)(d)として管理テーブル書込条件の例を示した。
管理テーブル書込条件として上記(a)が設定され、データサイズが所定量以下であれば必ず(無条件に)管理テーブル書込を行う、という場合は、管理テーブル書き込み動作は図7に示すようになる。
その後、ある時点で論理アドレス「3」「4」のホストデータの書き込みが要求され、この場合もサイズ的に管理テーブルの書き込みが可能であるとする。すると図7Bの矢印DMWのように、例えば物理ページPP1にホストデータと管理テーブルMGTの書き込みを行う。
以降、同様に小サイズのホストデータの書き込み要求があったとすると、図7C、図7Dの矢印DMWのように、物理ページPP2,PP3,PP4に、それぞれホストデータと管理テーブルMGTの書き込みを行う。
なお、図7Eのようにデータサイズが所定量以下ではない論理アドレス「9」「10」「11」「12」のホストデータの書込要求があった場合は、矢印DWのように物理ページPP4にホストデータの書込を行うが、管理テーブルMGTの書き込みは行わない。
以上のように、1回の書き込み要求にかかるホストデータのサイズが所定量以下であれば無条件に管理テーブル書込を同時に行うという処理例が考えられる。
例えば5回に1回という条件であるとする。
図8Aは、1回目の書き込み要求(論理アドレス「1」「2」のホストデータ)、2回目の書き込み要求(論理アドレス「3」「4」のホストデータ)・・・5回目の書き込み要求(論理アドレス「9」「10」のホストデータ)というように小サイズのホストデータの書き込み要求が5回あった場合を示している。1回目から4回目までは、ホストデータのサイズ的には管理テーブル書き込みが可能であるが、図4のステップF104で条件を満たさないとして管理テーブル書き込みは行われない。そして5回目の書き込み要求の際は、図4のステップF104で条件を満たすとしてステップF106でホストデータとともに管理テーブルMGTの書き込み(矢印DMW)が行われる。
その後も小サイズのホストデータの書き込み要求が連続したとしても、図8B、図8Cのように、6回目から9回目の書き込み要求の際には管理テーブル書き込みは行われない。図8Dのように10回目の書き込み要求の際には、5回に1回という条件を満たすとしてホストデータとともに管理テーブルMGTの書き込み(矢印DMW)が行われる。
また、途中でサイズの大きいホストデータの書き込み要求、つまり図4のステップF103で所定量以上と判定されるホストデータの書き込み要求があった場合は、それをm回の回数のカウントに入れる例も考えられるし、入れない例も考えられる。
所定量を超えるホストデータの書き込み要求機会を、m回の回数のカウントに入れる例とは、上記(c)の、前回の管理テーブル書込から、ホストデータの書込機会がm回以上あった場合に管理テーブル書込を行うという例に該当する。
図9A、図9Bは、1回目の書き込み要求(論理アドレス「1」「2」のホストデータ)、2回目の書き込み要求(論理アドレス「3」「4」のホストデータ)・・・5回目の書き込み要求(論理アドレス「9」「10」のホストデータ)というように小サイズのホストデータの書き込み要求が5回あった場合を示している。
ただしこれらの場合、各物理ページPPに記憶される論理アドレスが連続している。この1回目から5回目の書き込み要求の各場合では、論理アドレスが連続しているため、ホストデータのサイズ的には管理テーブル書き込みが可能であるが、図4のステップF104で条件を満たさないとして管理テーブル書き込みは行われない。
その後6回目の書き込み要求として論理アドレス「21」「22」のホストデータの書き込みが要求されたとする。このホストデータは次の物理ページPP5に書き込まれるが、すると論理アドレスは不連続となる。この場合、図4のステップF104で条件を満たすとしてステップF106でホストデータとともに管理テーブルMGTの書き込み(矢印DMW)が行われる。
その後も小サイズのホストデータの書き込み要求が連続したとしても、図8B、図8Cのように、6回目から9回目の書き込み要求の際には管理テーブル書き込みは行われない。図8Dのように10回目の書き込み要求の際には、5回に1回という条件を満たすとしてホストデータとともに管理テーブルの書き込み(矢印DMW)が行われる。
書き込み条件の設定によってはより効率的な管理テーブルの保存が可能となる。
以上、実施の形態について説明したが、実施の形態の構成、処理としては多様な変形例が考えられる。
例えば、図4のステップF106でホストデータと管理テーブルを同一物理ページPP内に書き込む場合、その物理ページPPは、それまで使用していた物理ブロックPBxとは別の物理ブロックPByにおける物理ページPPとしてもよい。
また例えば物理ブロックPByとして、管理テーブルの入りの物理ページPPを提供する専用の物理ブロックPByを設定してもよい。
それらの場合、管理テーブルの構造は図3Cの構造とすることが適切である。
本開示の技術は、各種メモリカード、SSD、eMMCなどに適用できる。
(1)不揮発性メモリに書き込むデータ、又は上記不揮発性メモリに既に書き込まれているデータについて、論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス管理情報を生成及び更新する管理情報生成部と、
上記不揮発性メモリへのデータ書き込み時に、上記不揮発性メモリの物理的書き込み単位内に、当該データとともに上記論理・物理アドレス管理情報の書き込みの実行制御を行うアクセス制御部と、
を備えた制御装置。
(2)上記アクセス制御部は、
書き込みを行うデータと上記論理・物理アドレス管理情報を合わせたデータ量が、上記物理的書き込み単位の容量以内であるときに、当該データと上記論理・物理アドレス管理情報を、上記不揮発性メモリの1つの物理的書き込み単位へ書き込む制御を行う上記(1)に記載の制御装置。
(3)上記アクセス制御部は、
書き込みを行うデータと上記論理・物理アドレス管理情報を合わせたデータ量が、上記物理的書き込み単位の容量以内であって、かつ所定の管理情報書き込み条件が満たされた場合に、当該データと上記論理・物理アドレス管理情報を、上記不揮発性メモリの物理的書き込み単位への書き込みの実行制御を行う上記(1)又は(2)に記載の制御装置。
(4)上記管理情報書き込み条件は、前回の上記論理・物理アドレス管理情報の書き込みからの、書き込み機会回数の条件である上記(3)に記載の制御装置。
(5)上記管理情報書き込み条件は、
上記不揮発性メモリ上で物理的に連続して書き込まれるデータの論理アドレスの連続性についての条件である上記(3)又は(4)に記載の制御装置。
(6)上記不揮発性メモリでは、複数の上記物理的書き込み単位により、物理的消去単位が形成されており、
上記アクセス制御部は、上記物理的消去単位内で、最終使用済みの物理的書き込み単位から先頭側の物理的書き込み単位に向かって、順に、物理的書き込み単位内に上記論理・物理アドレス管理情報が含まれているか否かを検索して、最初に発見された上記論理・物理アドレス管理情報を取得する処理を行い、
上記管理情報生成部は、上記アクセス制御部が取得した論理・物理アドレス管理情報及び論理・物理アドレス管理情報が含まれていなかった物理的書き込み単位の論理アドレス情報を用いて、論理・物理アドレス管理情報を更新する上記(1)乃至(5)のいずれかに記載の制御装置。
(7)上記不揮発性メモリは複数の物理ページで消去単位である物理ブロックが構成されるNAND型フラッシュメモリであり、
上記物理ページが、上記物理的書き込み単位である上記(1)乃至(6)のいずれかに記載の制御装置。
Claims (8)
- 不揮発性メモリに書き込むデータ、又は上記不揮発性メモリに既に書き込まれているデータについて、論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス管理情報を生成及び更新する管理情報生成部と、
上記不揮発性メモリへのデータ書き込み時に、上記不揮発性メモリの物理的書き込み単位内に、当該データとともに上記論理・物理アドレス管理情報の書き込みの実行制御を行うアクセス制御部と、
を備え、
上記アクセス制御部は、
書き込みを行うデータと上記論理・物理アドレス管理情報を合わせたデータ量が、上記物理的書き込み単位の容量以内であるときに、当該データと上記論理・物理アドレス管理情報を、上記不揮発性メモリの1つの物理的書き込み単位へ書き込む制御を行う制御装置。 - 上記アクセス制御部は、
書き込みを行うデータと上記論理・物理アドレス管理情報を合わせたデータ量が、上記物理的書き込み単位の容量以内であって、かつ所定の管理情報書き込み条件が満たされた場合に、当該データと上記論理・物理アドレス管理情報を、上記不揮発性メモリの物理的書き込み単位への書き込みの実行制御を行う請求項1に記載の制御装置。 - 上記管理情報書き込み条件は、前回の上記論理・物理アドレス管理情報の書き込みからの、書き込み機会回数の条件である請求項2に記載の制御装置。
- 上記管理情報書き込み条件は、
上記不揮発性メモリ上で物理的に連続して書き込まれるデータの論理アドレスの連続性についての条件である請求項2に記載の制御装置。 - 上記不揮発性メモリでは、複数の上記物理的書き込み単位により、物理的消去単位が形成されており、
上記アクセス制御部は、上記物理的消去単位内で、最終使用済みの物理的書き込み単位から先頭側の物理的書き込み単位に向かって、順に、物理的書き込み単位内に上記論理・物理アドレス管理情報が含まれているか否かを検索して、最初に発見された上記論理・物理アドレス管理情報を取得する処理を行い、
上記管理情報生成部は、上記アクセス制御部が取得した論理・物理アドレス管理情報及び論理・物理アドレス管理情報が含まれていなかった物理的書き込み単位の論理アドレス情報を用いて、論理・物理アドレス管理情報を更新する請求項1に記載の制御装置。 - 上記不揮発性メモリは複数の物理ページで消去単位である物理ブロックが構成されるNAND型フラッシュメモリであり、
上記物理ページが、上記物理的書き込み単位である請求項1に記載の制御装置。 - 不揮発性メモリと、
上記不揮発性メモリに書き込むデータ、又は上記不揮発性メモリに既に書き込まれているデータについて、論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス管理情報を生成及び更新する管理情報生成部と、
上記不揮発性メモリへのデータ書き込み時に、上記不揮発性メモリの物理的書き込み単位内に、当該データとともに上記論理・物理アドレス管理情報の書き込みの実行制御を行うアクセス制御部と、
を備え、
上記アクセス制御部は、
書き込みを行うデータと上記論理・物理アドレス管理情報を合わせたデータ量が、上記物理的書き込み単位の容量以内であるときに、当該データと上記論理・物理アドレス管理情報を、上記不揮発性メモリの1つの物理的書き込み単位へ書き込む制御を行う記憶装置。 - 不揮発性メモリに書き込むデータ、又は上記不揮発性メモリに既に書き込まれているデータについて、論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス管理情報を生成及び更新する処理と、
上記不揮発性メモリへのデータ書き込み時に、上記不揮発性メモリの物理的書き込み単位内に、当該データとともに上記論理・物理アドレス管理情報の書き込みの実行制御を行う書き込み処理と、
を行い、
書き込みを行うデータと上記論理・物理アドレス管理情報を合わせたデータ量が、上記物理的書き込み単位の容量以内であるときに、当該データと上記論理・物理アドレス管理情報を、上記不揮発性メモリの1つの物理的書き込み単位へ書き込む制御を行う記憶制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012104459A JP6072428B2 (ja) | 2012-05-01 | 2012-05-01 | 制御装置、記憶装置、記憶制御方法 |
US13/867,770 US9575883B2 (en) | 2012-05-01 | 2013-04-22 | Control device, storage device, and storage control method |
CN201310146488.4A CN103383664B (zh) | 2012-05-01 | 2013-04-24 | 控制装置、存储装置以及存储控制方法 |
US15/436,588 US10025706B2 (en) | 2012-05-01 | 2017-02-17 | Control device, storage device, and storage control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012104459A JP6072428B2 (ja) | 2012-05-01 | 2012-05-01 | 制御装置、記憶装置、記憶制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013232144A JP2013232144A (ja) | 2013-11-14 |
JP6072428B2 true JP6072428B2 (ja) | 2017-02-01 |
Family
ID=49491461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012104459A Active JP6072428B2 (ja) | 2012-05-01 | 2012-05-01 | 制御装置、記憶装置、記憶制御方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9575883B2 (ja) |
JP (1) | JP6072428B2 (ja) |
CN (1) | CN103383664B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489241B2 (en) * | 2015-12-30 | 2019-11-26 | Arteris, Inc. | Control and address redundancy in storage buffer |
TWI601011B (zh) * | 2016-07-05 | 2017-10-01 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
JP2019133391A (ja) * | 2018-01-31 | 2019-08-08 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
KR102417696B1 (ko) * | 2018-03-20 | 2022-07-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189823C (zh) * | 1999-03-03 | 2005-02-16 | 索尼公司 | 数据处理设备、数据处理方法、终端单元、和数据处理设备的发送方法 |
JP4233213B2 (ja) * | 2000-12-27 | 2009-03-04 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
JP5162846B2 (ja) | 2005-07-29 | 2013-03-13 | ソニー株式会社 | 記憶装置、コンピュータシステム、および記憶システム |
JP5076411B2 (ja) | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
JP4537420B2 (ja) | 2007-04-02 | 2010-09-01 | 株式会社リコー | Simd型マイクロプロセッサ |
CN100470506C (zh) * | 2007-06-08 | 2009-03-18 | 马彩艳 | 基于sector访问的flash存储器的存储管理方法 |
JP4356782B2 (ja) | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
CN101676882B (zh) * | 2008-09-16 | 2013-01-16 | 美光科技公司 | 存储器装置的内嵌映射信息 |
US8732388B2 (en) * | 2008-09-16 | 2014-05-20 | Micron Technology, Inc. | Embedded mapping information for memory devices |
US8219781B2 (en) * | 2008-11-06 | 2012-07-10 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
US9104546B2 (en) * | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
JP2012037971A (ja) * | 2010-08-04 | 2012-02-23 | Tdk Corp | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 |
JP2012064158A (ja) * | 2010-09-17 | 2012-03-29 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP2012068764A (ja) * | 2010-09-21 | 2012-04-05 | Tdk Corp | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 |
-
2012
- 2012-05-01 JP JP2012104459A patent/JP6072428B2/ja active Active
-
2013
- 2013-04-22 US US13/867,770 patent/US9575883B2/en active Active
- 2013-04-24 CN CN201310146488.4A patent/CN103383664B/zh active Active
-
2017
- 2017-02-17 US US15/436,588 patent/US10025706B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013232144A (ja) | 2013-11-14 |
US9575883B2 (en) | 2017-02-21 |
CN103383664A (zh) | 2013-11-06 |
CN103383664B (zh) | 2018-01-02 |
US20170249245A1 (en) | 2017-08-31 |
US20130297859A1 (en) | 2013-11-07 |
US10025706B2 (en) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5983019B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
KR101555022B1 (ko) | 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법 | |
US10606761B2 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
JP4122972B2 (ja) | データ記録装置及びフラッシュメモリに対するデータ書き込み方法 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8321624B2 (en) | Memory device and management method of memory device | |
JP5708216B2 (ja) | フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20130024623A1 (en) | Method and apparatus for high speed cache flushing in a non-volatile memory | |
JP5929485B2 (ja) | 制御装置、記憶装置、データ書込方法 | |
TWI423022B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
JP5073402B2 (ja) | メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム | |
JP5874525B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
US10025706B2 (en) | Control device, storage device, and storage control method | |
TWI556103B (zh) | 記憶體裝置及其資料存取方法 | |
JP2003076605A (ja) | ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法 | |
US8589620B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
JP5949122B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US7899974B2 (en) | Nonvolatile memory, mapping control apparatus and method of the same | |
WO2020039927A1 (ja) | 不揮発性記憶装置、ホスト装置、及びデータ記憶システム | |
JP2008299455A (ja) | データ記憶装置及びデータ管理方法 | |
JP2012037971A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
JP2013109404A (ja) | 情報処理装置 | |
US11704238B1 (en) | Method and apparatus for accessing L2P address without searching group-to-flash mapping table |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150501 |
|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20150501 |
|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20150501 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20160218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160404 |
|
AA91 | Notification that invitation to amend document was cancelled |
Free format text: JAPANESE INTERMEDIATE CODE: A971091 Effective date: 20160419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160509 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160809 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20161011 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161109 |
|
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: 20161205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6072428 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |