JP4356686B2 - メモリ装置及びメモリ制御方法 - Google Patents
メモリ装置及びメモリ制御方法 Download PDFInfo
- Publication number
- JP4356686B2 JP4356686B2 JP2005348111A JP2005348111A JP4356686B2 JP 4356686 B2 JP4356686 B2 JP 4356686B2 JP 2005348111 A JP2005348111 A JP 2005348111A JP 2005348111 A JP2005348111 A JP 2005348111A JP 4356686 B2 JP4356686 B2 JP 4356686B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- writing
- logical
- cache
- 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
- 238000000034 method Methods 0.000 title claims description 197
- 230000015654 memory Effects 0.000 title claims description 109
- 238000010586 diagram Methods 0.000 description 19
- 230000006866 deterioration Effects 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004044 response 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ここで、上述した先願では、不揮発性メモリを記録媒体とするメモリ装置は、不揮発性メモリに対してデータの上書きが不可であるとともに、書き込み単位と消去単位が異なる(書き込み単位<消去単位)ものであり、さらに、不揮発性メモリのブロック内は追記可能である。
また、管理情報を保存する記録装置は、メモリ装置内に、ユーザ用のデータ領域以外に管理情報を保存するエリアを持っていて、ホストからのファイルデータの書き込みが発生するたびに、管理情報をフラッシュメモリに更新する。
さらに、キャッシュブロックを有するメモリ装置は、クラスタ単位でキャッシュブロック内のデータを保存するとともに、キャッシュブロック内の論理・物理の対応関係は固定(物理ブロックの先頭から昇順に論理アドレスが割当られている)である。
また、上述した書き込みから連続した、クラスタ境界に限らないファイルデータの書き込みが行われた場合、キャッシュブロック内を追記することで、ライトバック処理を発生させない処理をすることができる。このとき、ライトバック処理の発生を抑えることでガベージ処理の発生が抑えられ、書き込みパフォーマンスを向上させることができる。ライトバック処理の発生を抑えることでブロックへの消去処理を減少させることができるため、製品寿命を延ばすことができる。
また、ライトバックされるキャッシュブロックの優先順位について、キャッシュブロックの空きがない場合に、キャッシュブロックの内で更新頻度の低いキャッシュブロックを優先的にライトバック処理する。このとき、更新頻度が低いキャッシュブロックを優先的にライトバック処理することで、書き込みに対するキャッシュブロックの使用効率を上げることができる。これは、更新頻度が低いキャッシュブロックは、更新頻度が高いキャッシュブロックと比較して、書き込みが発生する確率が低いためである。また、書き込みに対するキャッシュブロックの使用効率が上がることで、ライトバック処理の発生を抑えるので、ガベージ処理の発生が抑えられ書き込みパフォーマンスを向上させることができる。さらに、ライトバック処理の発生を抑えることでブロックへの消去処理を減少させることができるため、製品寿命を延ばすことができる。
また、上述した書き込みから連続した、クラスタ境界に限らないファイルデータの書き込みが行われた場合、キャッシュブロック内を追記することで、ライトバック処理を発生させない処理をすることができる。このとき、ライトバック処理の発生を抑えることでガベージ処理の発生が抑えられ、書き込みパフォーマンスを向上させることができる。ライトバック処理の発生を抑えることでブロックへの消去処理を減少させることができるため、製品寿命を延ばすことができる。
また、ライトバックされるキャッシュブロックの優先順位について、キャッシュブロックの空きがない場合に、キャッシュブロックの内で更新頻度の低いキャッシュブロックを優先的にライトバック処理する。このとき、更新頻度が低いキャッシュブロックを優先的にライトバック処理することで、書き込みに対するキャッシュブロックの使用効率を上げることができる。これは、更新頻度が低いキャッシュブロックは、更新頻度が高いキャッシュブロックと比較して、書き込みが発生する確率が低いためである。また、書き込みに対するキャッシュブロックの使用効率が上がることで、ライトバック処理の発生を抑えるので、ガベージ処理の発生が抑えられ書き込みパフォーマンスを向上させることができる。さらに、ライトバック処理の発生を抑えることでブロックへの消去処理を減少させることができるため、製品寿命を延ばすことができる。
図1は、本実施の形態に適用されるデータ処理システムの概略構成を示す図である。
図1に示すように、このデータ処理システムは、フラッシュメモリ23を有するメモリカード20と、メモリカード20が着脱自在に装着されるホスト装置10とを備える。
図2に示すように、メモリカード20は、例えば板状のメモリスティック(登録商標)に相当し、ホスト装置10に装着され、ホスト装置10から供給されるデータが書き込まれる。メモリカード20は、複数のフラッシュメモリ23を有するメモリ部40と、メモリ部40を制御するコントローラ部30とを備える。
シリアルI/F31、パラレルI/F32、レジスタ33、データバッファ34及びECC35は、バス38により相互に接続されている。レジスタ33、データバッファ34及びECC35は、MPU36に接続されている。
まず、書き込みコマンド及び書き込みデータのアドレスが、次に、書き込みデータがホスト装置10から送信され、メモリカード20に受信される。フラッシュメモリ23は、セクタ単位にデータの書き込み及び読み出しを行うが、ホスト装置10は、クラスタ単位でデータの書き込み及び読み出しを行う。書き込みデータがメモリカード20に受信されると、受信された書き込みデータがデータバッファ34に記憶される。書き込みデータの受信が終了すると、データバッファ34に記憶された書き込みデータがフラッシュメモリ23に書き込まれる。
読み出しコマンド及び読み出しデータのアドレスがホスト装置10から送信され、メモリカード20に受信されると、当該アドレスの読み出しデータがフラッシュメモリ23から読み出され、データバッファ34に記憶される。フラッシュメモリ23の読み出しデータの読み出しが終了すると、データバッファ34に記憶された読み出しデータが読み出されホスト装置10に送信される。
図3は、ユーザデータブロックとキャッシュブロックの対応を示す図である。
図1及び図2に示されるフラッシュメモリ23には、図3に示されるユーザデータブロックの論理アドレスと物理アドレスの対応を示すテーブル51である論理/物理テーブルが記憶されている。この論理/物理テーブル51は、論理ブロックのアドレス0,1,2,3,4,5と、論理ブロックに割り当てられた物理ブロックのアドレス3,8,7,6,5,4とを対応付けたものである。この論理/物理テーブル51は、メモリカード20がホスト装置10に装着されると、コントロール部30によりフラッシュメモリ23から読み出され、データの書き込み動作に従って書き換えられる。
まず、第1に用語の定義について説明する。
上述した図2に示したメモリカード20などのメモリ装置内の複数のフラッシュメモリ23には、それぞれ、管理領域41、ユーザデータ領域42、キャッシュ領域43が存在する。ここで、ユーザデータ領域42のブロックをユーザデータブロックと呼び、キャッシュ領域43のブロックをキャッシュブロックと呼ぶ。キャッシュブロックはユーザブロックと同じサイズである。また、キャッシュブロックの論理空間をユーザブロック単位に区切ったサイズを論理ブロックサイズと呼び、ユーザブロック内の複数セクタ単位の論理空間のサイズを指定論理境界と呼ぶ。また、消去済みのブロックをフリーブロックと呼び、新規キャッシュブロックを取得する際はフリーブロックから取得する。
キャッシュブロックはAD-CACHEとOD-CACHEの2種類の形態がある。キャッシュブロックとして確保されている個数は固定数だが、AD-CACHE、OD-CACHEの各個数は、ホストからの書き込みにより変化する。
AD-CACHEは、ファイルデータの保存を目的としたキャッシュブロックである。書き込みサイズにより、OD-CACHE、AD-CACHEを判別する。新規キャッシュブロックを取得して書き込みを行う際に、指定論理境界を超えればAD-CACHEとする。
キャッシュブロックの更新頻度を示す情報、キャッシュブロックがどの論理ブロックに対応しているかを示す情報及びキャッシュブロックの先頭の論理アドレス情報が管理情報内に保持される。
図4〜図8は、書き込み処理を示すフローチャートである。図4〜図8は、CPU21の制御によるフラッシュメモリ23に対する書き込み動作を示す図である。
図4において、まず初めに、CPU21は管理領域41の管理情報からユーザデータ領域42のユーザデータブロックのアドレス情報と書き込み済み論理空間情報を取得する(ステップS1)。また、CPU21はユーザデータ領域42のユーザデータブロックの論理アドレスに対応したキャッシュ領域43のキャッシュブロックのアドレス情報と書き込み済み論理空間情報を取得する。また、このとき、CPU21はキャッシュ領域43の新規キャッシュブロック(フリーブロック)のアドレス情報を取得する処理を行う。
例えば、図12において、ユーザデータブロック111に対する論理セクタアドレス2〜5の書き込みが発生した場合の書き込み終了後はキャッシュブロック112の先頭から論理セクタアドレス2〜5の書き込みが行われ、残りは空き領域の状態となる(第1の書き込み手段、第2の書き込み手段)。
図9は、ステップS22の書き込み条件を満たす書き込みパターンを示す図である。図9において、81は、書き込み済み空間86の書き込み済みセクタ以降から書き込みが始まる場合であり、82は、書き込み済み空間86の書き込み済みセクタ直後から書き込みが始まる場合である。83は、ホストからの書き込みデータの書き終わりが書き込み済み空間86の書き込み済みセクタの手前の場合であり、84は、ホストからの書き込みデータの書き終わりが書き込み済み空間86の書き込み済みセクタの直前の場合である。
例えば、図12の状態から、図13において、ユーザデータブロック121に対する論理セクタアドレス7〜8の書き込みが発生した場合、書き込み終了後のキャッシュブロック122は論理セクタアドレス2〜5の書き込み済みデータ123に続いて、124に示すように論理セクタアドレス6はユーザデータブロック121からコピーされ、これに続いて論理セクタアドレス7〜8のホストからの書き込みデータ125が書き込まれた状態となる(第3の書き込み手段、第4の書き込み手段)。
ステップS21の判断で、キャッシュブロック(AD-CACHE)が書き込み済み領域のみのフル状態であるとき、又は、ステップS22の判断で、キャッシュブロック(AD-CACHE)への書き込み条件を満たさないときは、CPU21は書き込みサイズが論理ブロックサイズであるか否かを判断する(ステップS25−1)。ステップS25−1の判断で、書き込みサイズが論理ブロックサイズでないときは、CPU21はライトバック処理を行う(ステップS25)。そして、CPU21はメモリ22の管理情報を更新する(ステップS26)。
また、ステップS25−1の判断で、書き込みサイズが論理ブロックサイズのときは、新規キャッシュブロック(AD-CACHE)へフル状態で書き込みを行う(ステップS41)。そして、CPU21はキャッシュブロック(AD-CACHE)が割当済みであるか否かを判断する(ステップS42)。
例えば、図14において、ユーザデータブロック131の論理セクタアドレス0〜nに対して、キャッシュブロック132に論理セクタアドレス2〜7の書き込み済みデータ133があるとき、他の論理セクタアドレス8〜n、0〜1のデータをユーザデータブロック131からキャッシュブロック132に134に示すようにコピーして、キャッシュブロック132をフル状態にしておいて、ライトバック処理を行った後に再割当を行うことができる(第5の書き込み手段)。
図5のステップS10の判断で、指定論理境界以下の書き込みが発生した場合に、CPU21は新規キャッシュブロック(OD-CACHE)へ書き込みを行う(ステップS11)。ステップS11で新規キャッシュブロック(OD-CACHE)を用いることで、ライトバック処理を発生させずに書き込みを行う。ステップS11の書き込みは、論理アドレスに関係なくキャッシュブロックの先頭から行う。
例えば、図16において、ユーザデータブロック151に対する論理セクタアドレス2の書き込みが発生した場合の書き込み終了後はキャッシュブロック152の先頭から論理セクタアドレス2はホストからの書き込みデータ153が書き込まれ、これに続いて、154に示すように論理セクタアドレス3はユーザデータブロック151からデータをコピーして、両者を合わせて指定論理境界155となるようにし、残りは空き領域の状態となる(第6の書き込み手段、第7の書き込み手段)。
ステップS11は、指定論理境界以下の書き込みが発生した場合にキャッシュブロックを用いることで、ライトバック処理を発生させずに書き込みを行う処理である。ステップS11の書き込みは、論理アドレスに関係なくキャッシュブロックの先頭から行う。
図10は、ステップS31の書き込み条件を満たす書き込みパターンを示す図である。図10において、91は、書き込み済み空間94の範囲内の書き込みの場合であり、92は、書き込み済み空間94と同一範囲の書き込みの場合である。
図17は、ステップS33の書き込み処理におけるキャッシュブロックとユーザデータブロックの状態を示す図である。
ステップS31の判断で、キャッシュブロック(OD-CACHE)への書き込み条件を満たさないときは、CPU21はキャッシュブロック(OD-CACHE)に登録されている論理空間以降の書き込みであるか否かを判断する(ステップS35)。
図11は、ステップS35の書き込み条件を満たす書き込みパターンを示す図である。図11において、101は、書き込み済み空間104の書き込み済みセクタ以降から書き込みが始まる場合であり、102は、書き込み済み空間104の書き込み済みセクタ直後から書き込みが始まる場合である。
ステップS39は、書き込みが発生した場合、新規キャッシュブロック(AD-CACHE)を取得しライトバック処理を行う処理である。
例えば、始めに、キャッシュブロック172に書き込まれている論理セクタアドレス2〜3のデータを、174に示すように新規キャッシュブロック173へコピーする。その後に、ユーザデータブロック171に書き込まれている他の論理セクタアドレス4〜n、0〜1のデータを、175に示すように新規キャッシュブロック173へコピーする。例えば、図17に示す状態からステップS39のライトバック処理を行うと図18に示す状態となる。ステップS39のライトバック処理によるコピー処理後、新規キャッシュブロック173をユーザデータブロック171として管理情報に登録し、前のユーザデータブロック171は消去処理を行いフリーブロックとして管理情報に登録する(第13の書き込み手段、第1優先処理手段)。
ステップS41は、書き込みが発生した場合、新規キャッシュブロック(OD-CACHE)を取得することで、ライトバック処理を行わずにキャッシュブロックの更新を行う処理である。
図20は、ステップS41の書き込み処理後におけるキャッシュブロックとユーザデータブロックの状態を示す図である。
図22は、ステップS36の書き込み処理後におけるキャッシュブロックとユーザデータブロックの状態を示す図である。
例えば、図21において、キャッシュブロック202とユーザデータブロック201の状態から、ユーザデータブロック201に対する論理アドレス5〜7の書き込みが発生した場合、図22に示すように新規キャッシュブロック213の先頭に214に示す論理セクタアドレス2〜3のデータをキャッシュブロック212からコピーし、これに続いて215に示す論理セクタアドレス4のデータをユーザデータブロック211からコピーする。215に示すデータのコピー終了後に、216に示す論理セクタアドレス5〜7のホストからのデータの書き込みを行う(第11の書き込み手段)。
ステップS36は、ステップS35の条件を満たす書き込みが発生した場合に、新規キャッシュブロック(AD-CACHE)を取得することで、ライトバック処理を行わずに書き込みを行う処理である。
図23において、まず、ステップS111で、CPU21は管理情報からユーザデータブロックのアドレス情報と書き込み済み論理空間情報を取得し、また、論理アドレスに対応したキャッシュブロックのアドレス情報と書き込み済み論理空間情報を取得する。
ステップS125は、キャッシュブロック内のデータをホストに読み出す処理である。
上述した本実施の形態に限らず、本発明の要旨を逸脱しない限り、適宜、変更しうることはいうまでもない。
Claims (16)
- クラスタ単位にデータの書き込み及び読み出しが行われるとともに、複数のセクタからなるブロック単位にデータの消去が行われる不揮発性メモリと、
前記不揮発性メモリの動作を制御する制御回路と備えたメモリ装置であって、
前記不揮発性メモリは、管理情報を記録する管理領域と、
ユーザからのデータが記録されるユーザデータ領域と、
前記ユーザデータ領域に対する書き込み及び読み出しデータを一時的に保持するキャッシュ領域と、を有し、
前記管理領域は、前記ユーザデータ領域の論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスとを対応付けて記憶する論理/物理テーブルと、前記論理/物理テーブルの物理ブロックのアドレスに対応する前記キャッシュ領域の物理ブロックのアドレスを含み、
前記制御回路は、
前記ユーザデータ領域のユーザブロック内の複数セクタ単位の論理空間サイズである指定論理境界を超えるデータの書き込みの際に、消去済みの前記キャッシュ領域の新規キャッシュブロックに書き込む第1の書き込み手段と、
前記第1の書き込み手段による前記新規キャッシュブロックへのデータの書き込みの際に、書き込まれる前記新規キャッシュブロックの論理アドレス空間に関係なく前記新規キャッシュブロックの先頭からデータを書き込む第2の書き込み手段と、
前記第1の書き込み手段による前記新規キャッシュブロックへのデータの書き込みから連続したデータの書き込みを行う場合に、前記新規キャッシュブロック内の書き込み済みセクタの直後から追記する第3の書き込み手段と、
前記第1の書き込み手段による前記新規キャッシュブロックへのデータの書き込みから不連続なデータの書き込みを行う場合に、書き込みの開始セクタアドレスまで前記ユーザデータブロックから前記不連続な範囲のデータのコピーを行った後に追記する第4の書き込み手段とを備えた
メモリ装置。 - 前記制御回路は、前記第4の書き込み手段によるデータの書き込みの際に、前記新規キャッシュブロック内がすべて書き込み済みの場合は、ライトバック処理を行うためのコピー処理であるガベージ処理を発生させずに、前記新規キャッシュブロック内のデータを前記ユーザデータブロックに書き戻すライトバック処理を行う第5の書き込み手段、を備えた
請求項1に記載のメモリ装置。 - クラスタ単位にデータの書き込み及び読み出しが行われるとともに、複数のセクタからなるブロック単位にデータの消去が行われる不揮発性メモリと、
前記不揮発性メモリの動作を制御する制御回路と備えたメモリ装置であって、
前記不揮発性メモリは、管理情報を記録する管理領域と、
ユーザからのデータが記録されるユーザデータ領域と、
前記ユーザデータ領域に対する書き込み及び読み出しデータを一時的に保持するキャッシュ領域と、を有し、
前記管理領域は、前記ユーザデータ領域の論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスとを対応付けて記憶する論理/物理テーブルと、前記論理/物理テーブルの物理ブロックのアドレスに対応する前記キャッシュ領域の物理ブロックのアドレスを含み、
前記制御回路は、
前記ユーザデータ領域のユーザブロック内の複数セクタ単位の論理空間サイズである指定論理境界以下のデータの書き込みの際に、消去済みの前記キャッシュ領域の新規キャッシュブロックに書き込む第6の書き込み手段と、
前記第6の書き込み手段による前記新規キャッシュブロックへのデータの書き込みの際に、書き込まれる前記新規キャッシュブロックの論理アドレス空間に関係なく前記新規キャッシュブロックの先頭からデータを書き込み、書き込み後のデータが前記指定論理境界以下となる場合は、前記指定論理境界となる連続したセクタアドレスまで前記ユーザデータブロックからデータのコピーを行う第7の書き込み手段と、を備えた
メモリ装置。 - 前記制御回路は、前記第6の書き込み手段による前記新規キャッシュブロックへのデータの書き込みの後に、前記新規キャッシュブロック内の同じ論理アドレス空間の書き込みが発生した場合、前記新規キャッシュブロック内の書き込み済みセクタの直後から追記する第8の書き込み手段、を備えた
請求項3に記載のメモリ装置。 - 前記制御回路は、前記第8の書き込み手段による前記新規キャッシュブロックへのデータの書き込みの後に、前記書き込み後のデータが前記指定論理境界以下となる場合は、前記指定論理境界となる連続したセクタアドレスまで前記ユーザデータブロックからデータのコピーを行う第9の書き込み手段、を備えた
請求項4に記載のメモリ装置。 - 前記制御回路は、前記第9の書き込み手段によるデータの書き込みの際に、前記新規キャッシュブロック内がすべて書き込み済みの場合は、他のキャッシュブロックへデータの書き込みを行う第10の書き込み手段、を備えた
請求項5に記載のメモリ装置。 - 前記制御回路は、前記第10の書き込み手段による前記新規キャッシュブロックへのデータの書き込みの後に、前記指定論理境界を超えるデータの書き込みが発生した場合は、他のキャッシュブロックへデータの書き込みを行う第11の書き込み手段、を備えた
請求項6に記載のメモリ装置。 - クラスタ単位にデータの書き込み及び読み出しが行われるとともに、複数のセクタからなるブロック単位にデータの消去が行われる不揮発性メモリと、
前記不揮発性メモリの動作を制御する制御回路と備えたメモリ装置であって、
前記不揮発性メモリは、管理情報を記録する管理領域と、
ユーザからのデータが記録されるユーザデータ領域と、
前記ユーザデータ領域に対する書き込み及び読み出しデータを一時的に保持するキャッシュ領域とを有し、
前記管理領域は、前記ユーザデータ領域の論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスとを対応付けて記憶する論理/物理テーブルと、前記論理/物理テーブルの物理ブロックのアドレスに対応する前記キャッシュ領域の物理ブロックのアドレスを含み、
前記制御回路は、
前記ユーザデータ領域のユーザブロック内のデータの書き込みの際に、前記キャッシュ領域のキャッシュブロック内がすべて書き込み済みの場合は、ライトバック処理を行うためのコピー処理であるガベージ処理を発生させずに、前記キャッシュブロックを前記ユーザデータブロックとして割り当てることによりライトバック処理を行う第12の書き込み手段と、
前記第12の書き込み手段による前記ライトバック処理を、前記キャッシュブロックを含むキャッシュブロックのうち、データの更新頻度が低いキャッシュブロックに対して優先的に行う第1の優先処理手段と、を備えた
メモリ装置。 - クラスタ単位にデータの書き込み及び読み出しが行われるとともに、複数のセクタからなるブロック単位にデータの消去が行われる不揮発性メモリが有する管理領域、ユーザデータ領域及びキャッシュ領域に対するメモリ制御方法であって、
前記ユーザデータ領域の論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスとを対応付けて記憶する論理/物理テーブルと、前記論理/物理テーブルの物理ブロックのアドレスに対応する前記キャッシュ領域の物理ブロックのアドレスを記憶する記憶ステップと、
前記ユーザデータ領域のユーザブロック内の複数セクタ単位の論理空間サイズである指定論理境界を超えるデータの書き込みの際に、消去済みの前記キャッシュ領域の新規キャッシュブロックに書き込む第1の書き込みステップと、
前記第1の書き込みステップによる前記新規キャッシュブロックへのデータの書き込みの際に、書き込まれる前記新規キャッシュブロックの論理アドレス空間に関係なく前記新規キャッシュブロックの先頭からデータを書き込む第2の書き込みステップと、
前記第1の書き込みステップによる前記新規キャッシュブロックへのデータの書き込みから連続したデータの書き込みを行う場合に、前記新規キャッシュブロック内の書き込み済みセクタの直後から追記する第3の書き込みステップと、
前記第1の書き込みステップによる前記新規キャッシュブロックへのデータの書き込みから不連続なデータの書き込みを行う場合に、書き込みの開始セクタアドレスまで前記ユーザデータブロックから前記不連続な範囲のデータのコピーを行った後に追記する第4の書き込みステップとを含む
メモリ制御方法。 - 前記第4の書き込みステップによるデータの書き込みの際に、前記新規キャッシュブロック内がすべて書き込み済みの場合は、ライトバック処理を行うためのコピー処理であるガベージ処理を発生させずに、前記新規キャッシュブロック内のデータを前記ユーザデータブロックに書き戻すライトバック処理を行う第5の書き込みステップ、を含む
請求項9に記載のメモリ制御方法。 - クラスタ単位にデータの書き込み及び読み出しが行われるとともに、複数のセクタからなるブロック単位にデータの消去が行われる不揮発性メモリが有する管理領域、ユーザデータ領域及びキャッシュ領域に対するメモリ制御方法であって、
前記ユーザデータ領域の論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスとを対応付けて記憶する論理/物理テーブルと、前記論理/物理テーブルの物理ブロックのアドレスに対応する前記キャッシュ領域の物理ブロックのアドレスを記憶する記憶ステップと、
前記ユーザデータ領域のユーザブロック内の複数セクタ単位の論理空間サイズである指定論理境界以下のデータの書き込みの際に、消去済みの前記キャッシュ領域の新規キャッシュブロックに書き込む第6の書き込みステップと、
前記第6の書き込みステップによる前記新規キャッシュブロックへのデータの書き込みの際に、書き込まれる前記新規キャッシュブロックの論理アドレス空間に関係なく前記新規キャッシュブロックの先頭からデータを書き込み、書き込み後のデータが前記指定論理境界以下となる場合は、前記指定論理境界となる連続したセクタアドレスまで前記ユーザデータブロックからデータのコピーを行う第7の書き込みステップと、を含む
メモリ制御方法。 - 前記第6の書き込みステップによる前記新規キャッシュブロックへのデータの書き込みの後に、前記新規キャッシュブロック内の同じ論理アドレス空間の書き込みが発生した場合、前記新規キャッシュブロック内の書き込み済みセクタの直後から追記する第8の書き込みステップ、を含む
請求項11に記載のメモリ制御方法。 - 前記第8の書き込みステップによる前記新規キャッシュブロックへのデータの書き込みの後に、前記書き込み後のデータが前記指定論理境界以下となる場合は、前記指定論理境界となる連続したセクタアドレスまで前記ユーザデータブロックからデータのコピーを行う第9の書き込みステップ、を含む
請求項12に記載のメモリ制御方法。 - 前記第9の書き込みステップによるデータの書き込みの際に、前記新規キャッシュブロック内がすべて書き込み済みの場合は、他のキャッシュブロックへデータの書き込みを行う第10の書き込みステップ、を含む
請求項13に記載のメモリ制御方法。 - 前記第10の書き込みステップによる前記新規キャッシュブロックへのデータの書き込みの後に、前記指定論理境界を超えるデータの書き込みが発生した場合は、他のキャッシュブロックへデータの書き込みを行う第11の書き込みステップ、を含む
請求項14に記載のメモリ制御方法。 - クラスタ単位にデータの書き込み及び読み出しが行われるとともに、複数のセクタからなるブロック単位にデータの消去が行われる不揮発性メモリが有する管理領域、ユーザデータ領域及びキャッシュ領域に対するメモリ制御方法であって、
前記ユーザデータ領域の論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスとを対応付けて記憶する論理/物理テーブルと、前記論理/物理テーブルの物理ブロックのアドレスに対応する前記キャッシュ領域の物理ブロックのアドレスを記憶する記憶ステップと、
前記ユーザデータ領域のユーザブロック内のデータの書き込みの際に、前記キャッシュ領域のキャッシュブロック内がすべて書き込み済みの場合は、ライトバック処理を行うためのコピー処理であるガベージ処理を発生させずに、前記キャッシュブロックを前記ユーザデータブロックとして割り当てることによりライトバック処理を行う第12の書き込みステップと、
前記第12の書き込みステップによる前記ライトバック処理を、前記キャッシュブロックを含むキャッシュブロックのうち、データの更新頻度が低いキャッシュブロックに対して優先的に行う第1の優先処理ステップと、を含む
メモリ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005348111A JP4356686B2 (ja) | 2005-12-01 | 2005-12-01 | メモリ装置及びメモリ制御方法 |
US11/565,279 US8489850B2 (en) | 2005-12-01 | 2006-11-30 | Memory apparatus and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005348111A JP4356686B2 (ja) | 2005-12-01 | 2005-12-01 | メモリ装置及びメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007156633A JP2007156633A (ja) | 2007-06-21 |
JP4356686B2 true JP4356686B2 (ja) | 2009-11-04 |
Family
ID=38240946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005348111A Expired - Fee Related JP4356686B2 (ja) | 2005-12-01 | 2005-12-01 | メモリ装置及びメモリ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8489850B2 (ja) |
JP (1) | JP4356686B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101438290B (zh) * | 2006-05-01 | 2011-10-05 | 联发科技股份有限公司 | 用于包括处理器和缓存虚拟存储器的系统中的安全语境切换的方法和装置 |
KR100850515B1 (ko) * | 2007-01-24 | 2008-08-05 | 삼성전자주식회사 | 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법 |
JP2008299513A (ja) * | 2007-05-30 | 2008-12-11 | Sony Corp | データ記憶装置およびその制御方法 |
JP4356782B2 (ja) | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
US8200904B2 (en) * | 2007-12-12 | 2012-06-12 | Sandisk Il Ltd. | System and method for clearing data from a cache |
US7870446B2 (en) * | 2008-02-29 | 2011-01-11 | Kabushiki Kaisha Toshiba | Information processing apparatus and nonvolatile semiconductor memory drive |
JP4558054B2 (ja) * | 2008-03-11 | 2010-10-06 | 株式会社東芝 | メモリシステム |
US8261009B2 (en) * | 2008-12-30 | 2012-09-04 | Sandisk Il Ltd. | Method and apparatus for retroactive adaptation of data location |
US20100169540A1 (en) * | 2008-12-30 | 2010-07-01 | Sinclair Alan W | Method and apparatus for relocating selected data between flash partitions in a memory device |
KR101663667B1 (ko) * | 2009-02-03 | 2016-10-07 | 삼성전자주식회사 | 플래시 메모리의 주소 매핑에 의한 데이터 관리 방법 및 장치 |
US9323670B2 (en) | 2010-12-13 | 2016-04-26 | Seagate Technology Llc | Protecting volatile data of a storage device in response to a state reset |
US9280477B2 (en) | 2010-12-13 | 2016-03-08 | Seagate Technology Llc | Data storage management in a memory device |
JP5178857B2 (ja) * | 2011-02-16 | 2013-04-10 | 株式会社東芝 | メモリシステム |
WO2012161659A1 (en) * | 2011-05-24 | 2012-11-29 | Agency For Science, Technology And Research | A memory storage device, and a related zone-based block management and mapping method |
US8977799B2 (en) * | 2011-09-26 | 2015-03-10 | Lsi Corporation | Storage caching/tiering acceleration through staggered asymmetric caching |
US9612956B2 (en) | 2013-03-15 | 2017-04-04 | Seagate Technology Llc | Multi-tiered caching for data storage management in a device |
JP6260395B2 (ja) * | 2014-03-27 | 2018-01-17 | Tdk株式会社 | メモリコントローラ、メモリシステム及びメモリ制御方法 |
KR102447471B1 (ko) | 2015-06-24 | 2022-09-27 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
KR20200057473A (ko) | 2018-11-16 | 2020-05-26 | 삼성전자주식회사 | 스토리지 장치 및 이를 포함하는 스토리지 시스템 |
KR20210027563A (ko) * | 2019-08-28 | 2021-03-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11929121B2 (en) | 2022-03-09 | 2024-03-12 | Micron Technology, Inc. | Storing one data value by programming a first memory cell and a second memory cell |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263142A (en) * | 1990-04-12 | 1993-11-16 | Sun Microsystems, Inc. | Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices |
JPH0997206A (ja) | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP3954698B2 (ja) | 1997-08-29 | 2007-08-08 | パナソニック コミュニケーションズ株式会社 | メモリー制御装置 |
JP3534585B2 (ja) | 1997-10-21 | 2004-06-07 | 株式会社日立製作所 | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
JPH11249968A (ja) | 1998-03-05 | 1999-09-17 | Sanyo Electric Co Ltd | ファイル記録方法及びファイルシステム |
JP2002091707A (ja) | 2000-09-14 | 2002-03-29 | Hitachi Electronics Eng Co Ltd | 記憶媒体ライブラリシステムにおけるファイル情報管理方法 |
TW539950B (en) | 2000-12-28 | 2003-07-01 | Sony Corp | Data recording device and data write method for flash memory |
JP2003015928A (ja) | 2001-07-04 | 2003-01-17 | Nec System Technologies Ltd | フラッシュメモリのデータ格納装置及びそれに用いるデータ格納方法 |
JP3892751B2 (ja) | 2002-04-23 | 2007-03-14 | 日本電信電話株式会社 | Icカードに搭載されたフラッシュメモリの管理方法及びシステム |
JP4334331B2 (ja) | 2003-12-11 | 2009-09-30 | 群聯電子股▲ふん▼有限公司 | フラッシュメモリのアクセス制御方法 |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
JP2005225716A (ja) | 2004-02-12 | 2005-08-25 | Katagiri Seisakusho:Kk | セラミックス材、およびその製造方法 |
JP2005301591A (ja) * | 2004-04-09 | 2005-10-27 | Toshiba Corp | 不揮発性メモリを備えた装置及びメモリコントロ−ラ |
JP2007102314A (ja) * | 2005-09-30 | 2007-04-19 | Fujitsu Ltd | ディスクキャッシュ制御装置 |
-
2005
- 2005-12-01 JP JP2005348111A patent/JP4356686B2/ja not_active Expired - Fee Related
-
2006
- 2006-11-30 US US11/565,279 patent/US8489850B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8489850B2 (en) | 2013-07-16 |
US20070150693A1 (en) | 2007-06-28 |
JP2007156633A (ja) | 2007-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4356686B2 (ja) | メモリ装置及びメモリ制御方法 | |
JP4356782B2 (ja) | メモリ装置、メモリ制御方法、およびプログラム | |
JP4122972B2 (ja) | データ記録装置及びフラッシュメモリに対するデータ書き込み方法 | |
KR100877448B1 (ko) | 비휘발성 기억 시스템 | |
JP3825465B2 (ja) | メモリカード及びメモリカードシステム | |
JP5087347B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
US6591328B1 (en) | Non-volatile memory storing address control table data formed of logical addresses and physical addresses | |
US7702846B2 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method | |
US20050021904A1 (en) | Mass memory device based on a flash memory with multiple buffers | |
US20080028132A1 (en) | Non-volatile storage device, data storage system, and data storage method | |
US7647470B2 (en) | Memory device and controlling method for elongating the life of nonvolatile memory | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
JP5570406B2 (ja) | メモリコントローラ、及びデータ記録装置 | |
JP4665539B2 (ja) | メモリ制御装置、メモリ制御方法、プログラム | |
JPWO2007105688A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JP2004326165A (ja) | メモリ制御装置およびメモリ制御方法 | |
US20050204115A1 (en) | Semiconductor memory device, memory controller and data recording method | |
WO2020039927A1 (ja) | 不揮発性記憶装置、ホスト装置、及びデータ記憶システム | |
JP4710274B2 (ja) | メモリ装置、メモリ装置の制御方法およびデータ処理システム | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2007280329A (ja) | 不揮発性記憶装置および不揮発性記憶装置の管理方法 | |
JP2008191855A (ja) | 半導体記憶装置及びメモリ制御方法 | |
JP2006040170A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US20090319587A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
JP2004326538A (ja) | 情報記録再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090602 |
|
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: 20090714 |
|
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: 20090727 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4356686 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 4 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |