JP4535117B2 - メモリ装置、メモリ管理方法、およびプログラム - Google Patents
メモリ装置、メモリ管理方法、およびプログラム Download PDFInfo
- Publication number
- JP4535117B2 JP4535117B2 JP2007288726A JP2007288726A JP4535117B2 JP 4535117 B2 JP4535117 B2 JP 4535117B2 JP 2007288726 A JP2007288726 A JP 2007288726A JP 2007288726 A JP2007288726 A JP 2007288726A JP 4535117 B2 JP4535117 B2 JP 4535117B2
- Authority
- JP
- Japan
- Prior art keywords
- physical
- data
- logical
- block
- written
- 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
- 230000015654 memory Effects 0.000 title claims description 193
- 238000007726 management method Methods 0.000 title claims description 74
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000006243 chemical reaction Methods 0.000 claims description 113
- 238000000034 method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 6
- 101000842368 Homo sapiens Protein HIRA Proteins 0.000 description 16
- 102100030473 Protein HIRA Human genes 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000008439 repair process Effects 0.000 description 12
- 102100026711 Metalloreductase STEAP2 Human genes 0.000 description 10
- 101000628535 Homo sapiens Metalloreductase STEAP2 Proteins 0.000 description 8
- 238000010276 construction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 230000002950 deficient Effects 0.000 description 5
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 2
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 230000003936 working memory Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
たとえば、“書き込み”による各ビットの書き換えは「1」から「0」の一方向だけであることから、新たにデータを書き込む際にはいったん“消去”により全てのビットを「1」にしてから“書き込み”を行う必要がある。
たとえば、ページPGは512バイトに予備の16バイトを加えた528バイト、つまり4224ビットにより形成され、ブロックBLKはPG0〜PG31の32個のページを含む。
“書き込み”の最小単位にくらべて、“消去”の最小単位は数十倍大きいので、NANDフラッシュの書き換えを効率よく行うにはなんらかの対策が必要である。
一般的に、NANDフラッシュメモリは、ブロックBLK内のページPG(拡張領域も含む)の書き込みを、図3(A)に示すように、若い番号のページから順番に行わなければならない。すなわち、NANDフラッシュメモリは、図3(B)に示すように、ブロックBLKB内でランダムな書き込みは禁止されている。
また、NANDフラッシュメモリには出荷時に不良ブロックと呼ばれる使用できないブロックが存在し、不良ブロックをよけてNANDフラッシュメモリへの読み書きを行う必要がある。
そのためには“消去”の操作や不良ブロックを意識せずに使用できるようにする必要がある。
これに関する技術は種々提案されている(たとえば、特許文献1,2参照)。
そのため、ブロックサイズより小さいデータの書き換えでも、NANDフラッシュメモリへのブロックサイズの書き込みが必要で、データの書き込みの無駄が大きいという不利益がある。
しかし、図3に示すNANDフラッシュメモリのブロック内のページの書き込み順序の制約を満たすためには、論物変換に必要な管理情報を格納するために別途不揮発性メモリやNANDフラッシュメモリのデータ領域が必要になり、システムの構成が複雑になってしまうという不利益がある。
また、特許文献2においては、停電等のデバイス操作中のシステムダウン時において正常な記憶状態に復帰する仕組みが何ら考慮されていない。
NANDフラッシュメモリ11、メモリ12、およびCPU13は、バス14を介して相互に接続されている。
NANDフラッシュメモリ11の書き込み/読み込みの最小単位はページPG、消去の最小単位はページが複数集まったブロックBLKである。
たとえば、ページPGは512バイトのデータ領域に拡張領域の16バイトを加えた528バイト、つまり4224ビットにより形成され、ブロックBLKはPG0〜PG31の32個のページを含む。
たとえば、2Gbitチップの場合には、128KBのブロックBLK0〜BLK2047の2048個あり、各ブロックには、2KBのページPGが64個あり、各ブロックは128KB=2KB×64で構成される。
NANDフラッシュメモリ11へのアクセス管理は、拡張領域に書き込まれる管理情報、書き込み完了データ情報、あるいはCRC情報等、並びにメモリ12に構築される論物変換テーブル(論理‐物理変換テーブル)、物理トランスレーションユニット(TU)状態マップの情報に基づきCPU13の制御に従って行われる。
なお、ここで、NANDフラッシュメモリ11へのアクセスとは、書き込み、読み込み、および消去の各操作(アドレス変換、ガーベッジコレクション、ウェアーレベリング等に相当する制御処理も含む)に係るメモリアクセスを含む。
メモリ12には、CPU13の制御の下、後で詳述する論物変換テーブル(論理‐物理ス変換テーブル)、および物理(TU)状態マップが構築される。
CPU13は、ブロックの内容のうち、使用中の物理TUだけ全てを別の未使用の物理TUがあるブロックにコピーし、元のブロックを消去することにより、元のブロックに含まれていた無効の物理TUの数だけ、新たに未使用の物理TUを増やす操作制御を行う機能を有する。
以下の説明では、この操作をフォールド操作という。
また、CPU13は、NANDフラッシュメモリ11の拡張領域に、書き込みが完了したことを示すステート情報と拡張領域の管理情報のCRCを書き込むことにより、NANDフラッシュメモリ11への書き込み中または消去中の電源断から正常な状態に復旧する。
図5は、本実施形態における、物理TU内の基本的な構成例および拡張領域に格納される管理情報に係るデータ構造を示す図である。
管理情報22は、対応する論理TU番号LTUN、およびブロックBLKごとに割り当てられる書き込み順序情報であるシーケンシャル番号SQNを含む。
そして、拡張領域23は、シーケンシャル番号記憶領域231と、論理TU番号記憶領域232とを有している。拡張領域23におけるシーケンシャル番号記憶領域231と論理TU番号記憶領域232を管理領域という場合もある。
拡張領域23には、後で説明するように、管理情報22の他に、書き込み完了データやCRC等の書き込みが完了したTUであるかを判別するための情報が記録される。
また、本実施形態においては、最も新しいシーケンシャル番号が割り当てられているブロックのことを最新ブロックと呼ぶ。
図6は、本実施形態におけるメモリ上のデータ構造について説明するための図である。ここでは、ブロック、論理TU、物理TUを管理するためのメモリ上のデータ構造について説明する。
論物変換テーブルLPTTは、論理TU番号(アドレス)LTUNから対応する物理TU番号(アドレス)BTUNを得るためのテーブルである。
物理TU状態マップSTMPは、各物理TUの状態を管理するためのマップで、状態は、クリーン(CLEAN)、インユース(INUSE)、ダーディ(DIRTY)、およびディフェクト(DEFECT)
の4種類存在する。
クリーン(CLEAN)は、消去操作を行った後の未書き込みの状態である。
インユース(INUSE)は、論物変換テーブルLPTTから参照される有効なデータが格納されている状態である(有効(バリッド)状態ということができる)。
ダーティ(DIRTY)は、論物変換テーブルLPTTから参照されない無効なデータが格納されている状態である(無効(インバリッド)状態ということができる)。
ディフェクト(DEFECT)は、不良ブロックの中の物理TUである状態である。
シーケンシャル番号テーブルSQNTは、各ブロックに割り当てられたシーケンシャル番号SQNを格納するためのテーブルである。論物変換テーブルLPTTの構築の処理の際のみに使用する。
NANDフラッシュメモリデバイス上の実際のTUを物理TU、本発明の実施形態によってアドレス変換されて利用側に提供されるTUを論理TUと呼ぶ。
これにより、ファイルシステムの読み書きの単位と一致させるなど、柔軟な読み書きのサイズを設定することができる。
CPU13は、TU単位の論物変換を実現するために、論理TU番号(アドレス)から対応する物理TU番号(アドレス)を得るためのテーブルである論物変換テーブルLPTTを利用する。
図8は、論理TUの読み込み動作を示す図である。
CPU13は、論理TUを読み込む際には、図8に示すように、論物変換テーブルLPTTから論理TU番号に対応する物理TU番号を求め、その物理TUを読み込む。論物変換テーブルLPTTを介すことにより、不良ブロックを回避することができる。
図9は、論理TUの書き込み動作を示す図である。
書き込み前は、論理TU L1には物理TU P1が対応している。
CPU13は、まず、未書き込みの物理TU P2に書き換えを行いたいデータを書き込む(図9のST1)。
次に、CPU13は、論物変換テーブルLPTTの論理TU L1に、書き込みを行った物理TU P2を対応させる(図9のST2)。
ここでは、物理TU P2のように最新のデータが格納されている状態を有効、前の物理TU P1のように消去対象の古いデータが格納されている状態を無効と呼ぶ。
図10は、本実施形態に係るフォールド動作を示す図である。
NANDフラッシュメモリ11はブロックBLK単位でしか消去できないため、図9の物理TU P1のようにブロックBLK内の他に有効な物理TUがあると、無効な物理TUであっても消去することができない。
そのため、書き込みを繰り返すにつれ無効な物理TUが増加する一方で、書き込み可能な未書き込みの物理TUが減少する。
そこで、CPU13は、図10に示すように、無効な物理TUの数を減らし、未書き込みの物理TUを増やすために、有効な物理TUだけを書き込み対象ブロックBLKに移動し(ST11)、移動元のブロックを消去する操作を行う(ST12)。
本実施形態においては、この操作をフォールドと呼ぶ。
論物変換テーブルLPTTは揮発性のメモリ12上の情報であり、電源が切れると失われる。その場合でも、電源投入後に、NANDフラッシュメモリ11上の情報から論物変換テーブルLPTTの構築ができるように、CPU13は、物理TUへデータの書き込み時に拡張領域に論理TU番号の書き込みを行う。
CPU13は、起動時に、各物理TUの拡張領域の管理情報を走査することにより、論物変換テーブルLPTTをメモリ12上に構築する。
ただし、論理TU の書き込みの際に古くなった物理TU(無効な物理TU)はすぐには消去しないので、たとえば図9における物理TU P1と物理TU P2のように、複数の物理TU が同じ論理TU番号を持つことが起こる。
CPU13は、論物変換テーブルLPTTの構築の際に、論理TU番号に対応する有効な物理TUを知るためには、最後に書き込んだ物理TUを判別する必要がある。
CPU13は、同一ブロックBLK内では、図3のブロック内のページの書き込み順序を満たすように、物理TU番号の若い物理TUから順に書き込みを行う。
CPU13は、物理TUの書き込みの際に、拡張領域に論理TU番号に加えてシーケンシャル番号SQNを記録する。
図11の例においては、ブロックBLKBLKmにはシーケンシャル番号SQNとしてSが付与され、次のブロックBLKBLKm+1にはシーケンシャル番号SQNとしてS+1が付与され、次のブロックBLKBLKm+2にはシーケンシャル番号SQNとしてS+2が付与され、次のブロックBLKBLKm+3にはシーケンシャル番号SQNとしてS+3が付与されている。
CPU13は、論物変換テーブルLPTTの構築の際に、シーケンシャル番号SQNから物理TUの書き込み順序が一意にわかるので、同じ論理TU番号を持つ物理TUのうち、最後に書き込んだ物理TU、つまり有効な物理TUを判別することができる。
図12は、メモリ上の論物変換テーブルとNANDフラッシュメモリの各物理TUの拡張領域に書き込まれている管理情報(論理TU番号LTUNとシーケンシャル番号(SQN))の関係の一例を示す図である。
図13(A)〜(C)は、図12のNANDフラッシュメモリの管理情報を物理TU0から順に走査することにより、論物変換テーブルが構築されていく様子を示す図である。
この場合、ブロックBLK0において、同じ論理TU番号4を持つ物理TU3の方が新しいため、(*)で示す物理TUがダーティ(DIRTY)と判別されている。
この場合、ブロックBKL0とBLK1において、同じ論理TU番号1を持つ物理TU4の方が新しいため、(*)で示すブロックBLK0のブロック物理TUがダーティ(DIRTY)と判別されている。
この場合、ブロックBKL3とBLK0において、同じ論理TU番号5を持つ物理TU0の方が新しいため、(*)で示すブロックBLK3のブロック物理TUがダーティ(DIRTY)と判別されている。
まず、論理TUの読み込み動作について説明する。
CPU13は、読み込みを行う論理TUの番号を、メモリ12に格納されている論物変換テーブルLPTTを参照することで物理TU番号に変換する。そして、CPU13は、データの読み出しを実施する物理TUを特定し、そのデータ領域を読み込む。
図14は、データの書き込みの動作を示すフローチャートである。
図14においては、物理TUをPTUとして表記している。
ステップST101において、書き込み対象PTUがブロックの最後のTUであると判別すると、未書き込みのブロックを一つ選び、その先頭TUを書き込み対象PTUとする(ST102)。
そして、最新のシーケンシャル番号SQNを1増加する(ST103)。
次に、書き込み対象PTUに、指定されたデータ、論理TU番号(L)、最新のシーケンシャル番号を書き込む(ST104)。
次に、CPU13は、論物変換テーブルLPTT、物理TU状態マップSTMPを更新する(ST105)。
なお、ステップST101において、書き込み対象PTUがブロックの最後のTUではないと判別すると、ステップST102ではなくステップST106に移行し、書き込み対象PTUを次の物理TUに進め、ステップST104の処理に移行する。
もし、最終物理TUがクリーン(CLEAN)でなければ、未書き込みのブロック(すべての物理TUがクリーン(CLEAN)なブロック)をランダムに選択し、シーケンシャル番号SQNを1ステップ進めて、そのブロックに書き込む(この書き込みの対象になっている物理TUのことを書き込み対象PTU、書き込みの対象PTUが含まれるブロックのことを書き込み対象ブロックと呼ぶ)。
物理TU状態マップSTMPは、論物変換テーブルLPTTで論理TU Lに前に対応していた物理TUの状態をダーティ(DIRTY)に、書き込み対象PTUの状態をインユース(INUSE)に設定する。
論物変換テーブルLPTTは、論理TU Lに書き込み対象PTUを対応させる。
図15は、本実施形態に係るフォールドの動作を示すフローチャートを示す。
図15のフローチャート中においては、フォールド処理中の物理TUをPと表記している。
フォールド対象のブロック内の全てのインユース(INUSE)のTUに対して、以下の処理行う。
物理TU内のデータおよび管理情報を読み込む(ST112)。
次に、ステップST112で読み込んだデータ、論理TU番号を指定して、読み込んだ内容を書き込む。換言すれば、論理TUの書き込みを行う(ST113)。
フォールド対象のブロック内の全てのインユース(INUSE)をTUに対して、上記の処理行った後、フォールド対象のブロックを消去する。
論物変換テーブルLPTT、物理TU状態マップSTMPはメモリ12上のデータであり、電源断により失われてしまう。
本実施形態においては、その場合でも、NANDフラッシュの拡張領域23に書き込まれた管理情報(論理TU番号LTUNおよびシーケンシャル番号SQN)を走査することにより、論物変換テーブルLPTT、物理TU状態マップSTMPを復元することができる。
図16のフローチャート中において、走査中の物理TUをP1と表記している。
CPU13は、物理TUP1の拡張領域23における管理情報22の記憶領域(ここでは管理領域という)231,232を読み込む(ST121)。
次に、物理TUP1の管理領域が未書き込み(全てが0xFF)であるか否かを判別する(ST122)。
ステップST122において、管理領域が未書き込みであると判別すると、物理TUP1の状態をクリーン(CLEAN)に設定する(ST123)。
ステップST122において、管理領域が未書き込みでないと判別すると、物理TUP1の管理領域の論理TU番号をLとする。管理領域のシーケンシャル番号SQNをシーケンシャル番号テーブルSQNTに保存する(ST124)。
次に、現在までに構築された論物変換テーブルLPTTに論理TU番号Lを指す別の物理TUP2が登録されているか否かを判別する(ST125)。
ステップST125において、別の物理TUP2が登録されていないと判別すると、論物変換テーブルLPTTにおいて、論理TU番号Lには物理TU番号P1を対応させる(ST126)。
そして、物理TUP1の状態をインユース(INUSE)に設定する(ST127)。
ステップST125において、別の物理TUP2が登録されていると判別すると、物理TUP1の方が物理TUP2より新しいか否かを判別する(ST128)。これは、シーケンシャル番号SQNとブロック内の位置から判別する。
ステップST128において、物理TUP1の方が物理TUP2より新しいと判別すると、論物変換テーブルLPTTにおいて、論理TU番号Lには物理TU番号P1を対応させる(ST129)。
そして、物理TUP1の状態をインユース(INUSE)に設定し、物理TUP2の状態をダーティ(DIRTY)に設定する(ST130)。
ステップST128において、物理TUP1の方が物理TUP2より新しくないと判別すると、物理TUP1の状態をダーティ(DIRTY)に設定する(ST131)。
走査対象ブロック内の全ての物理TUに対して、上記の処理を行う。
書き込み順序はシーケンシャル番号とブロック内の位置から判別できる。
図17(A)に示すように、物理TUが異なるブロックにある場合には、シーケンシャル番号SQNの大小で判別する。この例では、シーケンシャル番号SQNがS1<S2であることから、物理TUP2が物理TUP1より新しいと判別する。
次に、停電や動作不良等に起因するシステムダウンが生じた後に実施されるシステム復帰処理に伴ってNANDフラッシュメモリ11におけるデータの記憶状態を正常化するための工夫について述べる。
再起動時に、そのような中途半端な状態の物理TUを有効な物理TUとみなして利用したり、未書き込みとみなして上書きを行ってしまったりしないための仕組みが必要である。
そこで、次のような仕組みを追加する。
図18は、書き込み中の電源断と修復処理の一例を示す図である。
再起動時に、最後に書き込みを行ったブロック(最新のシーケンシャル番号を持つブロック)について書き込み完了ステートをチェックすることにより、書き込み中の物理TUを検出する。
たとえば、図18に示すように、再起動時に、物理TUP3について、データや管理情報の書き込みがある一方、書き込み完了ステート情報が未書き込みであることから、CPU13は書き込み中の電源断を検出する。
そして、ブロックBLK1の有効な物理TUの内容のみを未書き込みのブロックBLK2に移動する。
そして、ブロックBLK1を消去する。
すなわち、書き込み中の物理TUを検出したら、図18に示すような修復処理を行って、書き込み中の物理TUを消去する。
図19は、消去中の電源断と修復処理の一例を示す図である。
再起動時に、管理情報のCRCをチェックすることにより管理情報の値が正しいかどうかをチェックする。
図19では、消去中の電源断が発生してデータ領域21や拡張領域23が不正な状態になった場合にも、修復処理によって消去中だったブロックが再度消去されること示している。
たとえば、図19に示すように、論物変換テーブル構築時に、このブロック内の物理TUを、その消去の状態に応じて、次のように、ダーティ(DIRTY)またはクリーン(CLEAN)と判断する。
(a):管理情報、CRCが完全に残っている場合、もともともこの物理TUはダーティ(DIRTY)であり、正しくダーティ(DIRTY)と判断する。
(b):管理情報、CRCの一部が残っている場合、CRCのチェックが正しくないことからダーティ(DIRTY)と判断する。
(c):管理情報、CRCが全て消去されている場合、クリーン(CLEAN)と判断する。
図20は、電源断対策を行う場合の論理TUの書き込みの動作のフローチャートである。
この図20の処理と図14の処理と比較すると、ステップST104Aの処理において、拡張領域に書き込む管理情報にCRCが追加された点、およびステップST105の処理の前に、データと管理情報の書き込み直後に、別途書き込みを完了したことを表すステートを書き込むステップST107が設けられている点が異なる。
図21は、電源断対策を行う場合の論理TUの書き込みの動作のフローチャートである。
この図21の処理と図16の処理を比較すると、ステップST122において否定的な判別を行った場合に、拡張領域23に書き込み完了ステート情報が正しく書き込まれているか否かを判別するステップST132と、正しく書き込まれていると判別した場合に、拡張領域のCRCが正しいか否かを判別するステップST133が設けられている点が異なる。
図22は、書き込み中または消去中の電源断からの修復処理を示すフローチャートである。
次に、最新ブロックをB1、最新ブロックB1の最も物理TU番号の大きいクリーン(CLEAN)でない物理TUをP1とする(ST142)。
物理TUP1はダーティ(DIRTY)であるか否かを判別する(ST143)。
ステップST143において、物理TUP1はダーティ(DIRTY)でないと判別すると、物理TUP1はブロックB1の最終物理TUであるか否かを判別する(ST144)。
ステップST144において、最終物理TUでないと判別すると、物理TUP1より1つ物理TU番号の大きい物理TUをP2とする。そして、物理TUP2のデータ領域21、拡張領域23全体を読み込む(ST145)。
次に、読み込んだデータが全て“FFh”のパターンであるか否かを判別する(ST146)。そして、ステップST146において、全て“FFh”のパターンである判別した場合、ステップST144で最終物理TUであると判別した場合は処理を終了する。
一方、ステップST143において、物理TUP1がダーティ(DIRTY)であると判別した場合、または、ステップST146において、全て“FFh”のパターンでないと判別した場合には、ブロックB1の修復処理(リロケート)を行う(ST147)。
ステップST147においては、書き込み中の電源断のための修復処理(リロケート)を行う。
図23のフローチャ中では、リロケート処理中の物理TUはPと表記している。
リロケート対象のブロック内の全てのインユース(INUSE)なTUに対し、以下の処理を行う。
物理TU内のデータ、および管理領域(管理情報が記憶されている記憶領域)を読み込む(ST1472)。
読み込んだ内容を書き込む(ST1473)。
リロケート対象のブロック内の全てのインユース(INUSE)なTUに対し、上記の処理を行う。
そして、リロケート対象のブロックを消去する(ST1474)。
NANDフラッシュの拡張領域に、論物変換テーブル等の管理情報の構築に必要な情報をすべて格納するので、NANDフラッシュの利用率を向上できる(論物変換テーブル等の管理情報の構築に必要な情報を格納するために、NANDフラッシュのデータ領域を利用したり、別途不揮発性メモリを使用したりせずに済む)。
NANDフラッシュにデータを書き込む際に、同時に論物変換テーブル等の管理情報の構築に必要な情報を書き込むので、論物変換に関する管理情報の書き込みを別途行うことが不要で、効率よくデータの書き換えができる。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
Claims (12)
- データの書き込みおよび読み込みがページ単位で実行され、データの消去が複数のページを含むブロック単位で実行される不揮発性メモリと、
上記不揮発性メモリへのアクセスを管理する制御部と、
揮発性メモリと
を有し、
上記不揮発性メモリは、
上記不揮発性メモリの物理アドレス空間を、上記ブロックのサイズの整数分の1かつ上記ページのサイズの整数倍のトランスレーションユニット(TU)単位で分割した物理TU毎に、上記不揮発性メモリに書き込むデータのためのデータ領域および拡張領域を有し、
上記揮発性メモリは、
上記不揮発性メモリにアクセスするための論理アドレス空間を上記トランスレーションユニット(TU)単位で分割した論理TUと上記物理TUとを対応付けた変換テーブルと、
上記不揮発性メモリの各上記物理TUの状態として、データを消去した未書き込みのクリーン状態、上記変換テーブルに登録されて有効なデータを格納するインユース状態、および上記変換テーブルに登録されていない無効なデータを格納するインバリッド状態のいずれかの状態を含む物理TU状態マップと
を記憶し、
上記制御部は、
上記変換テーブルを用いて上記論理アドレスを上記物理アドレスへ変換して、上記トランスレーションユニット(TU)単位で上記不揮発性メモリにアクセスし、
上記不揮発性メモリにデータを書き込む場合には、書き込み対象の物理TUの拡張領域に、当該物理TUに対応する論理TUと、当該物理TUを含むブロックに対する上記不揮発性メモリでの書き込み順を示すシーケンシャル番号とを含む管理情報を書き込み、
上記不揮発性メモリを起動する場合に、上記不揮発性メモリの拡張領域の管理情報を走査し、上記論理TUに対して、当該論理TUに対応付けられた最新のシーケンシャル番号の物理TUを対応付けるように上記変換テーブルを生成し、さらに、上記変換テーブルを参照して上記物理TUを管理するための物理TU状態マップを生成し、
上記不揮発性メモリの起動の後には、起動時に生成した上記変換テーブルを用いてアドレスを変換し、上記物理TU状態マップを用いてクリーン状態の物理TUを書き込み先に選択する
メモリ装置。 - 上記制御部は、
上記不揮発性メモリにデータを書き込む場合に、上記物理TU状態マップにおいて、最新のシーケンシャル番号を持つブロックにクリーン状態の物理TUが複数含まれているときには、当該最新のシーケンシャル番号を持つブロックを選択し、選択した当該ブロックのクリーン状態の複数の物理TUに対して、予め定められた一定の順番でデータを書き込む
請求項1記載のメモリ装置。 - 上記制御部は、
上記不揮発性メモリにデータを書き込む場合に、上記物理TU状態マップにおいて、最新のシーケンシャル番号を持つブロックにクリーンな物理TUが含まれていないときには、未書き込みの新たなブロックをランダムに選択し、選択した当該ブロックのクリーン状態の複数の物理TUに対して、予め定められた一定の順番でデータを書き込み、データを書き込んだ物理TUの拡張領域に、上記最新のシーケンシャル番号を持つブロックの次の書き込み順を示すシーケンシャル番号を書き込む
請求項2記載のメモリ装置。 - 上記制御部は、
上記変換テーブルにおいて既に物理TUが対応付けられている論理TUに対して新たなデータが書き込まれる場合には、当該新たなデータを当該既対応の物理TUとは異なる別の物理TUへ書き込み、
上記変換テーブルにおいて上記論理TUに当該別の物理TUを対応付け、
上記物理TU状態マップにおいて上記既対応の物理TUをインバリッド状態とし、上記別の物理TUをインユース状態に更新する
請求項3記載のメモリ装置。 - 上記制御部は、
上記不揮発性メモリの拡張領域の上記管理情報を走査し、同じ論理TUに対応付けられた物理TUが複数存在する場合には、当該複数の物理TUのうち、一番新しくデータが書き込まれた物理TUの上記物理TU状態マップの登録状態をインユース状態とし、それ以外の物理TUの上記物理TU状態マップの登録状態をインバリッド状態に更新する
請求項1から4のいずれか一項記載のメモリ装置。 - 上記制御部は、
上記同じ論理TUに対応付けられた複数の物理TUが異なるブロックにある場合には、その内の最新のシーケンシャル番号に対応するブロックの物理TUを、上記一番新しく書き込まれた物理TUとし、
上記同じ論理TUに対応付けられた複数の物理TUが同じブロックにある場合には、予め定められた同一ブロック内でのデータの書き込み順において、その内の最も後にデータが書き込まれる物理TUを、上記一番新しく書き込まれた物理TUとする
請求項5記載のメモリ装置。 - 上記制御部は、
上記不揮発性メモリにデータを書き込む場合には、上記不揮発性メモリから未使用のブロックを選択し、選択した当該未使用のブロック内の物理TU単位でデータの書き込み処理を実行し、
上記データの書き込みによりデータ書き込み処理が完了した有効な物理TUとデータ書き込み処理が完了しなかった無効な物理TUとを含むブロックが生じた場合には、当該ブロックのうち上記有効な物理TUを別の未使用のブロックへコピーし、当該コピー元のブロックを消去するフォールド操作を行う
請求項1から6のいずれか一項記載のメモリ装置。 - 上記制御部は、
上記フォールド操作において、フォールド元のブロック内の全てのインユース状態の物理TUから、各々の物理TUのデータおよび管理情報を読み込み、読み込んだデータおよび論理TU番号をフォールド先のブロックに書き込み、その後にフォールド元のブロックを消去する
請求項7記載のメモリ装置。 - 上記制御部は、
上記不揮発性メモリにデータを書き込む場合には、上記物理TU毎にデータを書き込み、書き込みを完了した物理TUの拡張領域に、当該物理TUへのデータ書き込みが完了した時点で、データの書き込みが完了したか否かを示すステート情報を書き込み、
上記不揮発性メモリを起動する場合に、最後に書き込みを行った最新のシーケンシャル番号を持つブロックの各物理TUの上記ステート情報をチェックし、データを有しかつ上記ステート情報が書き込まれていない物理TUを検出したときには、前記フォールド操作を実行する
請求項1から8のいずれか一項記載のメモリ装置。 - 上記制御部は、
上記不揮発性メモリにデータを書き込む場合、データの書き込み対象の物理TUの拡張領域に、当該拡張領域の管理情報が正しいか否かを示す情報を書き込み、
上記不揮発性メモリを起動する場合に、上記管理情報が正しいか否かを示す情報をチェックすることにより管理情報の値が正しいかどうかをチェックする
請求項1から9のいずれか一項記載のメモリ装置。 - データの書き込みおよび読み込みがページ単位で実行され、データの消去が複数のページを含むブロック単位で実行される不揮発性メモリと、
上記不揮発性メモリへのアクセスを管理する制御部と、
揮発性メモリと
を有し、
上記不揮発性メモリは、
上記不揮発性メモリの物理アドレス空間を、上記ブロックのサイズの整数分の1かつ上記ページのサイズの整数倍のトランスレーションユニット(TU)単位で分割した物理TU毎に、上記不揮発性メモリに書き込むデータのためのデータ領域および拡張領域を有する、
メモリ装置の管理方法であって、
上記揮発性メモリは、
上記不揮発性メモリにアクセスするための論理アドレス空間を上記トランスレーションユニット(TU)単位で分割した論理TUと上記物理TUとを対応付けた変換テーブルと、
上記不揮発性メモリの各上記物理TUの状態として、データを消去した未書き込みのクリーン状態、上記変換テーブルに登録されて有効なデータを格納するインユース状態、および上記変換テーブルに登録されていない無効なデータを格納するインバリッド状態のいずれかの状態を含む物理TU状態マップと
を記憶し、
上記制御部は、
上記変換テーブルを用いて上記論理アドレスを上記物理アドレスへ変換して、上記トランスレーションユニット(TU)単位で上記不揮発性メモリにアクセスし、
上記不揮発性メモリにデータを書き込む場合には、書き込み対象の物理TUの拡張領域に、当該物理TUに対応する論理TUと、当該物理TUを含むブロックに対する上記不揮発性メモリでの書き込み順を示すシーケンシャル番号とを含む管理情報を書き込み、
上記不揮発性メモリを起動する場合に、上記不揮発性メモリの拡張領域の管理情報を走査し、上記論理TUに対して、当該論理TUに対応付けられた最新のシーケンシャル番号の物理TUを対応付けるように上記変換テーブルを生成し、さらに、上記変換テーブルを参照して上記物理TUを管理するための物理TU状態マップを生成し、
上記不揮発性メモリの起動の後には、起動時に生成した上記変換テーブルを用いてアドレスを変換し、上記物理TU状態マップを用いてクリーン状態の物理TUを書き込み先に選択する
メモリ管理方法。 - データの書き込みおよび読み込みがページ単位で実行され、データの消去が複数のページを含むブロック単位で実行される不揮発性メモリと、
上記不揮発性メモリへのアクセスを管理する制御部と、
揮発性メモリと
を有し、
上記不揮発性メモリは、
上記不揮発性メモリの物理アドレス空間を、上記ブロックのサイズの整数分の1かつ上記ページのサイズの整数倍のトランスレーションユニット(TU)単位で分割した物理TU毎に、上記不揮発性メモリに書き込むデータのためのデータ領域および拡張領域を有する、
メモリ装置での上記制御部としてのコンピュータに実行されるプログラムであって、
上記揮発性メモリに、上記コンピュータによる上記プログラムの実行により、
上記不揮発性メモリにアクセスするための論理アドレス空間を上記トランスレーションユニット(TU)単位で分割した論理TUと上記物理TUとを対応付けた変換テーブルと、
上記不揮発性メモリの各上記物理TUの状態として、データを消去した未書き込みのクリーン状態、上記変換テーブルに登録されて有効なデータを格納するインユース状態、および上記変換テーブルに登録されていない無効なデータを格納するインバリッド状態のいずれかの状態を含む物理TU状態マップと
を記憶させ、
上記コンピュータに、
上記変換テーブルを用いて上記論理アドレスを上記物理アドレスへ変換して、上記トランスレーションユニット(TU)単位で上記不揮発性メモリにアクセスする手順と、
上記不揮発性メモリにデータを書き込む場合には、書き込み対象の物理TUの拡張領域に、当該物理TUに対応する論理TUと、当該物理TUを含むブロックに対する上記不揮発性メモリでの書き込み順を示すシーケンシャル番号とを含む管理情報を書き込む手順と、
上記不揮発性メモリを起動する場合に、上記不揮発性メモリの拡張領域の管理情報を走査し、上記論理TUに対して、当該論理TUに対応付けられた最新のシーケンシャル番号の物理TUを対応付けるように上記変換テーブルを生成し、さらに、上記変換テーブルを参照して上記物理TUを管理するための物理TU状態マップを生成する手順と、
上記不揮発性メモリの起動の後には、起動時に生成した上記変換テーブルを用いてアドレスを変換し、上記物理TU状態マップを用いてクリーン状態の物理TUを書き込み先に選択する手順と
を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007288726A JP4535117B2 (ja) | 2007-11-06 | 2007-11-06 | メモリ装置、メモリ管理方法、およびプログラム |
EP08253498.3A EP2058737B1 (en) | 2007-11-06 | 2008-10-28 | Non-volatile memory device, memory management method, and program |
US12/265,324 US8205033B2 (en) | 2007-11-06 | 2008-11-05 | Memory device, memory management method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007288726A JP4535117B2 (ja) | 2007-11-06 | 2007-11-06 | メモリ装置、メモリ管理方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009116601A JP2009116601A (ja) | 2009-05-28 |
JP4535117B2 true JP4535117B2 (ja) | 2010-09-01 |
Family
ID=40219437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007288726A Expired - Fee Related JP4535117B2 (ja) | 2007-11-06 | 2007-11-06 | メモリ装置、メモリ管理方法、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8205033B2 (ja) |
EP (1) | EP2058737B1 (ja) |
JP (1) | JP4535117B2 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5063337B2 (ja) | 2007-12-27 | 2012-10-31 | 株式会社日立製作所 | 半導体装置 |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
JP2011154547A (ja) * | 2010-01-27 | 2011-08-11 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
US20120173795A1 (en) * | 2010-05-25 | 2012-07-05 | Ocz Technology Group, Inc. | Solid state drive with low write amplification |
JP5464066B2 (ja) * | 2010-06-10 | 2014-04-09 | ソニー株式会社 | 通信装置、及び、通信方法 |
US8682639B2 (en) * | 2010-09-21 | 2014-03-25 | Texas Instruments Incorporated | Dedicated memory window for emulation address |
JP2012133655A (ja) * | 2010-12-22 | 2012-07-12 | Sony Corp | 管理装置、管理方法、およびプログラム |
JP2012173778A (ja) * | 2011-02-17 | 2012-09-10 | Sony Corp | 管理装置、および管理方法 |
US9424125B2 (en) * | 2013-01-16 | 2016-08-23 | Google Inc. | Consistent, disk-backed arrays |
TWI503841B (zh) * | 2013-04-26 | 2015-10-11 | Phison Electronics Corp | 寫入方法、記憶體控制器與記憶體儲存裝置 |
US10956050B2 (en) | 2014-03-31 | 2021-03-23 | Sandisk Enterprise Ip Llc | Methods and systems for efficient non-isolated transactions |
US9916356B2 (en) | 2014-03-31 | 2018-03-13 | Sandisk Technologies Llc | Methods and systems for insert optimization of tiered data structures |
US9633233B2 (en) | 2014-05-07 | 2017-04-25 | Sandisk Technologies Llc | Method and computing device for encrypting data stored in swap memory |
US9928169B2 (en) | 2014-05-07 | 2018-03-27 | Sandisk Technologies Llc | Method and system for improving swap performance |
US9710198B2 (en) | 2014-05-07 | 2017-07-18 | Sandisk Technologies Llc | Method and computing device for controlling bandwidth of swap operations |
US9665296B2 (en) | 2014-05-07 | 2017-05-30 | Sandisk Technologies Llc | Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications |
US20150324132A1 (en) * | 2014-05-07 | 2015-11-12 | Sandisk Technologies Inc. | Method and Computing Device for Fast Erase of Swap Memory |
JP2016012166A (ja) | 2014-06-27 | 2016-01-21 | 富士通株式会社 | ストレージ管理装置,ストレージ管理プログラム,及び制御方法 |
KR102263046B1 (ko) | 2014-10-29 | 2021-06-09 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법 |
KR102287760B1 (ko) | 2014-10-29 | 2021-08-09 | 삼성전자주식회사 | 메모리 시스템 및 상기 메모리 시스템의 동작 방법 |
KR102252378B1 (ko) | 2014-10-29 | 2021-05-14 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법 |
US10133764B2 (en) | 2015-09-30 | 2018-11-20 | Sandisk Technologies Llc | Reduction of write amplification in object store |
US9619165B1 (en) * | 2015-10-30 | 2017-04-11 | Sandisk Technologies Llc | Convertible leaf memory mapping |
US10185658B2 (en) | 2016-02-23 | 2019-01-22 | Sandisk Technologies Llc | Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes |
US10289340B2 (en) | 2016-02-23 | 2019-05-14 | Sandisk Technologies Llc | Coalescing metadata and data writes via write serialization with device-level address remapping |
US10747676B2 (en) | 2016-02-23 | 2020-08-18 | Sandisk Technologies Llc | Memory-efficient object address mapping in a tiered data structure |
US9983820B2 (en) | 2016-03-29 | 2018-05-29 | Nxp B.V. | Method for performing data updates |
FR3051590A1 (fr) * | 2016-05-20 | 2017-11-24 | Proton World Int Nv | Compteur en memoire flash |
FR3051574A1 (fr) * | 2016-05-20 | 2017-11-24 | Proton World Int Nv | Gestion du stockage dans une memoire flash |
JP2018028830A (ja) * | 2016-08-19 | 2018-02-22 | 三菱電機株式会社 | 電子制御装置およびその情報記憶方法 |
FR3055992A1 (fr) | 2016-09-09 | 2018-03-16 | Proton World International N.V. | Gestion d'index dans une memoire flash |
FR3072476A1 (fr) | 2017-10-13 | 2019-04-19 | Proton World International N.V. | Unite logique de memoire pour memoire flash |
JP6675466B2 (ja) * | 2018-11-13 | 2020-04-01 | キオクシア株式会社 | メモリシステム |
KR102693311B1 (ko) | 2018-12-20 | 2024-08-09 | 삼성전자주식회사 | 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치 |
CN112148365B (zh) * | 2019-06-26 | 2024-04-05 | 珠海零边界集成电路有限公司 | 一种控制模块、方法及微控制器芯片 |
CN113311989B (zh) * | 2020-02-26 | 2023-09-22 | 北京君正集成电路股份有限公司 | 一种基于并行使用的双片nand flash坏块管理方法 |
CN113391755B (zh) * | 2020-02-26 | 2023-09-22 | 北京君正集成电路股份有限公司 | 一种并行双片nand flash中物理擦除块动态关联的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005115561A (ja) * | 2003-10-06 | 2005-04-28 | Media Logic:Kk | フラッシュrom制御装置 |
JP2005174279A (ja) * | 2003-12-10 | 2005-06-30 | Samsung Electronics Co Ltd | フラッシュメモリ、そのためのマッピング制御装置及び方法 |
JP2005267676A (ja) * | 2004-03-16 | 2005-09-29 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置 |
JP2007257283A (ja) * | 2006-03-23 | 2007-10-04 | Tdk Corp | メモリコントローラ及びフラッシュメモリシステム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
US6278678B1 (en) * | 1999-02-12 | 2001-08-21 | Sony Corporation | Editing apparatus, editing method, and recording medium |
JP2002032256A (ja) | 2000-07-19 | 2002-01-31 | Matsushita Electric Ind Co Ltd | 端末装置 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP3675375B2 (ja) | 2001-07-25 | 2005-07-27 | ソニー株式会社 | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 |
US7242632B2 (en) * | 2002-06-20 | 2007-07-10 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
US7062577B2 (en) * | 2002-12-18 | 2006-06-13 | Lsi Logic Corporation | AMBA slave modular bus interfaces |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7281114B2 (en) * | 2003-12-26 | 2007-10-09 | Tdk Corporation | Memory controller, flash memory system, and method of controlling operation for data exchange between host system and flash memory |
EP1797645B1 (en) * | 2004-08-30 | 2018-08-01 | Google LLC | Systems and methods for providing nonvolatile memory management in wireless phones |
US20060059296A1 (en) * | 2004-09-16 | 2006-03-16 | M-Systems Flash Disk Pioneers, Ltd. | Emulating small block size of flash memory |
US7849253B2 (en) * | 2005-04-04 | 2010-12-07 | Standard Microsystems Corporation | Method for fast access to flash-memory media |
US7752381B2 (en) * | 2005-05-24 | 2010-07-06 | Micron Technology, Inc. | Version based non-volatile memory translation layer |
US7797479B2 (en) * | 2005-06-30 | 2010-09-14 | Intel Corporation | Technique to write to a non-volatile memory |
TW200705180A (en) * | 2005-07-29 | 2007-02-01 | Genesys Logic Inc | Adjustable flash memory management system and method |
CN100573476C (zh) * | 2005-09-25 | 2009-12-23 | 深圳市朗科科技股份有限公司 | 闪存介质数据管理方法 |
JP2007288726A (ja) | 2006-04-20 | 2007-11-01 | Matsushita Electric Ind Co Ltd | 撮像装置 |
CA2631004C (en) * | 2007-05-09 | 2016-07-19 | Universite De Sherbrooke | Image reconstruction methods based on block circulant system matrices |
-
2007
- 2007-11-06 JP JP2007288726A patent/JP4535117B2/ja not_active Expired - Fee Related
-
2008
- 2008-10-28 EP EP08253498.3A patent/EP2058737B1/en not_active Ceased
- 2008-11-05 US US12/265,324 patent/US8205033B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005115561A (ja) * | 2003-10-06 | 2005-04-28 | Media Logic:Kk | フラッシュrom制御装置 |
JP2005174279A (ja) * | 2003-12-10 | 2005-06-30 | Samsung Electronics Co Ltd | フラッシュメモリ、そのためのマッピング制御装置及び方法 |
JP2005267676A (ja) * | 2004-03-16 | 2005-09-29 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置 |
JP2007257283A (ja) * | 2006-03-23 | 2007-10-04 | Tdk Corp | メモリコントローラ及びフラッシュメモリシステム |
Also Published As
Publication number | Publication date |
---|---|
EP2058737B1 (en) | 2017-10-25 |
US20090119450A1 (en) | 2009-05-07 |
EP2058737A1 (en) | 2009-05-13 |
US8205033B2 (en) | 2012-06-19 |
JP2009116601A (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4535117B2 (ja) | メモリ装置、メモリ管理方法、およびプログラム | |
US7558904B2 (en) | Controller, data memory system, data rewriting method, and computer program product | |
US8028120B2 (en) | System with flash memory device and data recovery method thereof | |
US7979626B2 (en) | Flash recovery employing transaction log | |
JP3692313B2 (ja) | 不揮発性メモリの制御方法 | |
US6687784B2 (en) | Controller for controlling nonvolatile memory unit | |
US7882300B2 (en) | Apparatus and method for managing nonvolatile memory | |
US20170228154A1 (en) | Device and method for power loss protection in solid state drive | |
USRE45222E1 (en) | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table | |
US20080120488A1 (en) | Apparatus and method of managing nonvolatile memory | |
US8296503B2 (en) | Data updating and recovering methods for a non-volatile memory array | |
US20080276036A1 (en) | Memory with Block-Erasable Location | |
JP2009199625A (ja) | メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
KR20020009564A (ko) | 메모리 시스템 | |
US20110271030A1 (en) | Wear Leveling For Erasable Memories | |
JP2006350430A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2010287049A (ja) | メモリシステムおよびメモリシステムの管理方法 | |
JP4242245B2 (ja) | フラッシュrom制御装置 | |
US20070005929A1 (en) | Method, system, and article of manufacture for sector mapping in a flash device | |
JP2003058417A (ja) | 記憶装置 | |
JP4794530B2 (ja) | 半導体装置および携帯電話 | |
JP2004240660A (ja) | 不揮発性メモリ装置の制御方法 | |
JP2013250603A (ja) | メモリ管理装置および方法、並びにプログラム | |
JP2018206161A (ja) | 記憶装置および記憶装置のデータ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100430 |
|
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: 20100525 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100607 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4535117 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 |
|
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 |