JP4665539B2 - メモリ制御装置、メモリ制御方法、プログラム - Google Patents
メモリ制御装置、メモリ制御方法、プログラム Download PDFInfo
- Publication number
- JP4665539B2 JP4665539B2 JP2005023110A JP2005023110A JP4665539B2 JP 4665539 B2 JP4665539 B2 JP 4665539B2 JP 2005023110 A JP2005023110 A JP 2005023110A JP 2005023110 A JP2005023110 A JP 2005023110A JP 4665539 B2 JP4665539 B2 JP 4665539B2
- Authority
- JP
- Japan
- Prior art keywords
- logical
- physical address
- physical
- address
- segment
- 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)
Description
つまり、データを更新するときには、更新前のデータが書き込まれていたブロックに再度書き込むことはせずに、他の消去状態にあるブロックを選択して書き込みを行うようにされる(ブロック交替処理)。これにより、1つのブロックに対してデータの消去/書き込みが集中しないようにして、フラッシュメモリ全体としての寿命をのばすことが可能となる。
そして、メモリを初期化するのに際しては、1つの集合領域を管理する論理−物理アドレス対応情報における物理アドレス範囲と対応付けられていた論理アドレス範囲を、他の1つの集合領域の上記論理−物理アドレス対応情報において物理アドレスと対応付けられていた論理アドレス範囲に変更するようにして、論理−物理アドレス対応情報を再構築する。
上記のようにして論理−物理アドレス対応情報が再構築されることによっては、初期化前と初期化後とで集合領域に対応する論理アドレス範囲が変更されることになる。メモリに書き込まれるべきデータは論理アドレスとの対応が付けられる。
このことから、例えば、更新頻度が高いとされる内容のデータが存在するとした場合、この高更新頻度のデータは、本発明による対応情報の再構築によって、初期化前とは異なる集合領域の単位領域を使用して更新が行われることになる。つまり、メモリの物理的記憶領域において使用頻度が高いとされる領域を、集合領域単位で移動させていくことができる。これにより、メモリの物理的記憶領域の使用頻度を分散させて均一化を図ることが可能になる。
この図に示すようにして、半導体記憶装置1は、フラッシュメモリ2、データ処理部3、及び通信処理部4を備えて成る。
なお、データ処理部3としては、例えばCPU、ROM及びRAMなどを備えるマイクロコンピュータとして構成される。
通信処理部4では、所定の通信方式によりホストシステム10から送信されてきたコマンド(レスポンス)、データなどの情報を受信、デコードし、半導体記憶装置1内部のデータ通信方式に従った形式のデータに変換してデータ処理部3に対して転送する。データ処理部3は、通信処理部4から転送されてきたコマンド、データなどを受信したのに応じて、コマンドに応答した処理や、フラッシュメモリ2へのデータ書き込みなどの処理を実行する。
また、例えばデータ処理部3が、コマンド(レスポンス)を送信したり、フラッシュメモリ2から読み出したデータをホストシステム10に転送する場合には、データ処理部3は、これらのコマンド、データなどを通信処理部4に転送して、ホストシステム10に対して送信するように指示を行う。これに応じて通信処理部4は、データ処理部3から転送されてきたコマンド、データを、ホストシステム10との通信方式に従った形式に変換してホストシステム10に送信する。
この場合のホストシステム10がどのような機器であるのかについては、ここでは特に限定されるべきものではないが、例えばパーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオレコーダ、携帯電話などを挙げることができる。デジタルスチルカメラを例にとると、撮影操作に応じて生成された写真としての画像データを半導体記憶装置1に対して転送して、フラッシュメモリ2に記憶させるようにする。また、例えば半導体記憶装置1(フラッシュメモリ2)から写真の画像データを読み出して取り込み、液晶ディスプレイパネルなどの表示部に表示出力させることなどが行われる。
フラッシュメモリとしての記憶領域全体は、図2(a)に示すようにして、先ず、所定の固定長によるセグメント単位で分割される。
また、1セグメントは、図2(b)に示すようにして、所定の固定長によるブロック(消去単位領域)0〜nにより分割される。周知のようにして、フラッシュメモリは、データの上書きはできないことになっており、データの書き込みは、消去済みの領域に対して行われる。そして、このブロックは、データを消去するときの最小単位となる。
本実施の形態に対応するフォーマットでは、原則として、1セグメントは512ブロックにより分割されて成る。この場合、図2(b)に示される最終のブロック番号nは511となる。また、図2(a)において示されるセグメント0〜Mで表されるM+1個のセグメントは、それぞれ512ブロックごとの単位で分割されることになる。
そして、1つのフラッシュメモリ内におけるデータ用セグメントの数(M)は1以上であることが規定されるが、これについてはフラッシュメモリの容量に応じて異なってくることになる。
また、図2(a)においては、セグメント0内の先頭においてシステム用セグメントが記されているが、これについては、後述する。
1ページは固定長であり、図2(d)に示すように、所定サイズのデータ部と冗長部より成る。データ部にはデータを格納する領域であり、冗長部は、各種の所要の管理情報などが格納される領域となる。
データ書き込みについては、このページが最小単位となる。つまり、フラッシュメモリ2は、データの消去はブロック単位で行われ、データの書き込みはページ単位で行われるべきものとなっており、データ消去単位とデータ書込単位のデータサイズが相互に異なるものとなっている。なお、ブロック内におけるページ数は、固定的に規定されているものではなく、例えばこれまでにおいては、16(m=15),32(m=31),64(m=63)などのページ数の構造とすることが行われている。
図3(a)は、データ更新処理前の状態として、或るセグメント内から4つのブロックを抜き出して、これを模式的に示している。
フラッシュメモリにおいて物理的に存在する各ブロック(物理ブロック)に対しては物理アドレスが付される。この物理アドレスはメモリにおける物理ブロックの物理的な配列順に従って決まるもので、或る物理ブロックとこれに対応付けされた物理アドレスとの関係は不変となる。図2(a)において示されていたブロックアドレスは、この物理アドレスとなる。
ここでは、図3(a)に示す4つのブロックに対して、上から順に物理アドレスの値として、105,106,107,108が付されている。
図3(a)では、4つの各ブロックに対して、上から順に論理アドレスの値として、102,103,104,105が付されている状態が示されている。なお、論理アドレスも実際には2バイトにより表現されるものである。
このような場合、フラッシュメモリのファイルシステムでは、同じブロックに対して更新したデータを再度書き込むことはせずに、消去済ブロックに対してその更新したデータを書き込むようにされる。
つまり、例えば図3において処理1となる図3(a)から図3(b)の遷移として示すようにして、物理アドレス105のブロックに書き込まれていたデータについての更新データは、これまで未使用ブロックであった物理アドレス107で示されるブロックに書き込むようにされる。そして、物理アドレス105のブロックのデータについては消去するようにされる。
そして、この際に論理アドレスを上記処理2のようにして扱うことで、更新前と更新後のデータとで書き込まれるブロックの交替があるようにされても、FATは論理アドレスによりファイル管理を行っているために、FAT側からは同一のアドレスが見えることになり、以降のアクセスを適正に実行することができるものである。
なお、後述する論理−物理アドレス変換テーブル上での更新のための管理を簡略にすることなどを目的として、上記したようなデータ書き込み対象とするブロックの交替は、1セグメント内で完結するものとして規定されており、セグメント間で跨るようにしては行われない。
この図に示すようにして、論理−物理アドレス変換テーブルとしては、例えば、先ず論理アドレスの値を昇順に整列させることことしている。そして、各論理アドレスごとに、対応させるべき物理アドレスを格納するようにしてテーブル情報を構築する。
なお、先に図3により説明したデータ書き込み時におけるブロックの変更はセグメントの範囲内で行われるので、上記図4に示した構造概念の論理−物理アドレス変換テーブルは、セグメントごとに設けられるものとなる。
この図においては、各512ブロックの容量のセグメント0〜3の4セグメントが設定された例が示されている。そのうえで、この場合において、フラッシュメモリにおいて先頭となるセグメント0については、物理ブロックのアドレス、つまり、物理アドレスとしては、0〜511までの範囲が割与えられることになる。また、次のセグメント1の物理アドレスは512〜1023の範囲が割与えられ、さらに、セグメント2は、1024〜1535、セグメント3は、1536〜2047の物理アドレス範囲が割与えられることになる。
また、セグメント1の論理−物理アドレス変換テーブルは、論理アドレス494〜989のそれぞれに対して、物理アドレス512〜1023の何れかを対応させ、セグメント2の論理−物理アドレス変換テーブルは、論理アドレス990〜1485のそれぞれに対して、物理アドレス1024〜1535の何れかを対応させ、セグメント3の論理−物理アドレス変換テーブルは、論理アドレス1486〜1981のそれぞれに対して、物理アドレス1536〜2047の何れかを対応させることになる。
例えば、論理−物理アドレス変換テーブルによるメモリ管理を、フラッシュメモリの記憶領域全体を対象として一括に行うこととすると、1つの論理−物理アドレス変換テーブルにより、フラッシュメモリの記憶領域における全ての物理ブロックを管理することとなる。論理−物理アドレス変換テーブルを参照して、目的の物理アドレス又は論理アドレスを検索するのに要する時間の平均は、検索範囲となる物理ブロックの数、つまり、論理−物理アドレス変換テーブル上で管理する物理ブロック数に比例する、ということがいえる。従って、上記のようにして、論理−物理アドレス変換テーブルによるメモリ管理を、フラッシュメモリの記憶領域全体で一括的に行った場合には、目的の物理アドレス又は論理アドレスの検索に要する平均時間がそれだけ長くなる。
そこで、論理−物理アドレス変換テーブルによるメモリ管理について、セグメント単位により分割して行うようにすれば、各セグメントごとに対応する論理−物理アドレス変換テーブルのそれぞれが管理する物理ブロック数は、セグメント単位により分割されることなって、その分、記憶領域全体に対応する物理ブロック数よりも少なくなる。そして、論理アドレス又は物理アドレスの検索は、この検索対象の論理アドレス又は物理アドレスを含む論理−物理アドレス変換テーブルのみを参照して実行すればよいことになる。つまり、分割管理によっては、論理−物理アドレス変換テーブルの検索に要する平均時間が短縮される。
この場合において、1つの論理−物理アドレス変換テーブルによりフラッシュメモリの記憶領域全体を一括的に管理することとした場合には、物理アドレスの格納領域について、フラッシュメモリの記憶領域全体における最大ブロック番号(ブロック数)までを表現可能なだけのビット数を与える必要がある。これに対して、分割管理を行うこととすれば、上記もしているように、セグメントごとが対応する物理アドレス数(ブロック数)は、記憶領域全体に対応する物理ブロック数よりも少なくなる。従って、論理−物理アドレス変換テーブルにおける物理アドレスの格納領域としては、対応するセグメントが有する物理アドレス数(ブロック数)までを表現可能な、より少ないビット数を設定することができる。分割管理を行う場合は、セグメントごとに0から始まる物理アドレス(ブロック番号)を使用したうえで、セグメントの位置に応じたオフセット値を与えるようにすれば、記憶領域全体における物理アドレス(ブロック番号)を適正に表現できるからである。
このようにして、分割管理を行うことによっては、論理−物理アドレス変換テーブルにおいて物理アドレスを格納する領域のビット数を削減することができる。この結果、フラッシュメモリの記憶領域全体に対応する論理−物理アドレス変換テーブルのサイズを縮小することが可能になる。
このファイル管理情報は、FATファイルシステムのフォーマット(初期化)構造の規定に従った論理的配置によりメディアに記録すべきものとされており、FATファイルシステムをフラッシュメモリに適用する場合にも、ファイル管理情報は、上記フォーマット(初期化)構造の規定に従って所定の論理的記憶領域に記憶される。FATファイルシステムでは、特に、FAT領域及びルートディレクトリエントリなどのファイル管理情報については、起動時におけるアクセス性などを考慮して、フォーマット(初期化)構造における下位側のアドレス(アドレス値の小さい側)に配置することとしている。このようなフォーマット(初期化)構造は、論理的に規定されるものであるから、本実施の形態のようにして論理−物理アドレス変換テーブルを設ける場合には、フォーマット(初期化)構造のアドレスは、論理アドレスが対応することになる。
このフォーマット構造におけるファイル管理情報の配置位置と、図5とを対応させると、ファイル管理情報は、0〜493の論理アドレス範囲に含まれるものとしてみることができる。従って、図5の場合において、ファイル管理情報の内容の更新があった場合には、論理アドレス範囲0〜493が対応するセグメント0内のブロックを使用してブロック交替処理が行われることになる。
従来、例えば図5に示しているようなセグメントごとの物理アドレス範囲と論理アドレス範囲との対応は固定的なものとされている。このために、フラッシュメモリの使用経過に応じて、ブロックの使用は、ファイル管理情報が存在するセグメント0に集中することになる。これにより、半導体記憶装置1がデータ記録、更新に使用されるごとに、セグメント0におけるブロックの使用回数は、残るセグメントにおけるユーザデータの更新に伴うブロックの使用回数よりも高い率で増加していくことになる。この結果、最終的には、例えばセグメント1〜3においては、消去回数に充分余裕があるのにかかわらず、セグメント0において消去回数の上限に到達して使用不可のブロックが増加することとなり、フラッシュメモリ全体としても使用できなくなるような状態に至ることになる。つまり、一部の記憶領域への消去が集中したことが原因で、フラッシュメモリの短命化を招くことになる。
先ず、図6(a)においては、フラッシュメモリ2に関して、図5(a)と同様の物理アドレスと論理アドレスとの対応を設定した状態が示されている。そして、図6(a)に示す状態から、フラッシュメモリ2をフォーマットした場合には、図6(b)に示すようにして、論理アドレス範囲0〜493が対応するセグメントを、セグメント0からセグメント3に変更する。また、これに伴い、論理アドレス範囲494〜989については、セグメント1からセグメント0に変更し、論理アドレス範囲990〜1485については、セグメント2からセグメント1に変更し、論理アドレス範囲1486〜1981については、セグメント3からセグメント2に変更する。
さらに、図6(b)に示す状態の下でフォーマット処理が実行されたとすると、図6(c)に示すようにして、論理アドレス範囲0〜493が対応するセグメントを、セグメント3からセグメント2に、論理アドレス範囲494〜989については、セグメント0からセグメント3に、論理アドレス範囲990〜1485については、セグメント1からセグメント0に変更し、論理アドレス範囲1486〜1981については、セグメント2からセグメント1に変更する。
さらにまた、図6(c)に示す状態の下でフォーマット処理が実行されたとすると、図6(d)に示すようにして、論理アドレス範囲0〜493が対応するセグメントを、セグメント2からセグメント1に、論理アドレス範囲494〜989については、セグメント3からセグメント2に、論理アドレス範囲990〜1485については、セグメント0からセグメント3に変更し、論理アドレス範囲1486〜1981については、セグメント1からセグメント0に変更する。
そして、図6(d)の状態においてフォーマット処理が実行されたとすると、図6(a)の状態に変更するようにされる。
つまり、この場合においては、フォーマット処理が実行されるごとに、セグメントに対する論理アドレス範囲の対応を、セグメント番号順に従って循環(ローテーション)させるようにして変更していくようにされる。
また、確認のために述べておくと、この図6に示されるセグメントに対する論理アドレス範囲の対応の変更は、セグメントが対応する物理アドレス範囲に対する、論理アドレス範囲の対応を変更しているものである。つまり、セグメントごとの論理−物理アドレス変換テーブルにおける、論理アドレス範囲の対応を変更しているということになる。
そして、図7(a)に示した状態の下でフォーマット処理を実行したとすると、図6(a)から図6(b)への遷移と同様の論理アドレス範囲のローテーションが行われることになる。そして、この状態では、図7(b)に示すようにして、論理アドレス範囲0〜493はセグメント3に対応するようにして変更され、これに伴って、論理アドレス範囲0〜95のファイル管理情報としても、セグメント3に対応することとなる。
このようにして、論理アドレス範囲をセグメントに対応させて変更することで、ファイル管理情報(つまり更新頻度が高い情報)が使用する物理的記憶領域について、セグメント単位で変更が行われる結果となることが、図7において明確に示されている。
これにより、従来のようにして、使用頻度が高くなる物理的記憶領域を含むセグメントは、定常的に固定となることはなく、フォーマット処理ごとに変更されることになる。つまり、フラッシュメモリの物理的記憶領域全体についての使用頻度を均一的にすることが可能となるわけであり、これによるフラッシュメモリの長寿命化、延命化が図られることとなる。
先ず、図8(a)により、変形例としての基本的な論理アドレス範囲の割り当て設定について説明する。なお、この図においても、図6及び図7と同様にして、物理ブロック(アドレス)範囲0〜2047までの2048ブロックを、物理ブロック範囲0〜511のセグメント0、物理ブロック範囲512〜1023のセグメント1、物理ブロック範囲1024〜1535のセグメント2、物理ブロック範囲1536〜2047のセグメント3の4セグメントに分割している。また、論理アドレス範囲としては、ここでは全体で、0〜1983までの1984としたうえで、ファイル管理情報については、0〜95の連続した論理アドレス値による論理アドレス範囲を割り当て、データ領域については、論理アドレス範囲100〜1983を割り当てることとしている。論理アドレス範囲96〜99は、この場合にも空き領域として設定される。
そして、セグメント0〜3ごとの物理アドレス範囲に対応させる論理アドレス範囲としては、図8(a)において示されるようにして、パターンA,B,C,Dの4パターンを形成することとする。パターンAは、論理アドレス範囲0〜23と、論理アドレス範囲100〜569とを含んで形成される。パターンBは、論理アドレス範囲24〜47と、論理アドレス範囲570〜1039とを含んで形成され、パターンCは、論理アドレス範囲48〜71と、論理アドレス範囲1040〜1511とを含んで形成され、パターンDは、論理アドレス範囲72〜95と、論理アドレス範囲1512〜1983とを含んで形成される。
つまり、変形例としては、メディアに記憶される情報のうちで、他の情報と比較して更新機会が最多とされる情報であるファイル管理情報に関して、割り当てが行われた論理アドレス範囲をセグメントに対応して分割する。そして、セグメント単位に対応させるローテーション対象の論理アドレス範囲の個々に対して、これらの分割したファイル管理情報の論理アドレス範囲を1つずつ含めるようにされる。
そのうえで、図8(a)においては、セグメント0(物理アドレス範囲0〜511)に対しては、パターンAの論理アドレス範囲を対応させ、セグメント1(物理アドレス範囲512〜1023)に対しては、パターンBの論理アドレス範囲を対応させ、セグメント2(物理アドレス範囲1024〜1535)に対しては、パターンCの論理アドレス範囲を対応させ、セグメント3(物理アドレス範囲1536〜2047)に対しては、パターンDの論理アドレス範囲を対応させている。
つまり、例えば図8(a)に示す状態の下でフラッシュメモリ2をフォーマット(初期化)したとすると、図8(b)に示すようにして、パターンAが対応するセグメントについては、セグメント0からセグメント3に変更するようにされる。また、パターンBが対応するセグメントについては、セグメント1からセグメント0に変更し、パターンCが対応するセグメントについては、セグメント2からセグメント1に変更し、パターンDが対応するセグメントについては、セグメント3からセグメント2に変更する。
そして、ここでの図示は省略しているが、以降においてフラッシュメモリ2のフォーマットが実行されるごとに、各論理アドレス範囲のパターン(A,B,C,D)が対応するセグメントは、セグメント番号を1つずつデクリメントする(セグメント0の次は、最大のセグメント番号(3)に戻る)ようにして変更される。
図9(a)に示すテーブルパターンAは、図8に示したパターンAの論理アドレス範囲に対応する論理−物理アドレス変換テーブルのパターンである。
このテーブルパターンAは、所定ビット数の物理アドレス格納領域FL1を494列配置した構造とされる。そのうえで、これら494の物理アドレス格納領域FL1の個々に対しては、配列順に従って特定の1つの論理アドレスが対応付けられる。このテーブルパターンAでは、先ず、1番目から24番目の列順に従って、論理アドレス0,1,2〜22,23のアドレス値を対応させ、続く25番目から494番目までの列に対して、論理アドレス100〜569までのアドレス値を順次対応させる。つまり、1番目から494番目までの列に対して、図8におけるパターンAの論理アドレス範囲(0〜23,100〜569)を下位から順に割り当てていくようにして対応させている。
図9(c)に示すテーブルパターンCは、図8に示したパターンCの論理アドレス範囲に対応する論理−物理アドレス変換テーブルのパターンであり、物理アドレス格納領域FL1を496列配置し、この列順に従って、論理アドレス範囲(48〜71、1040〜1511)を順次対応させる。
図9(c)に示すテーブルパターンDは、図8に示したパターンDの論理アドレス範囲に対応する論理−物理アドレス変換テーブルのパターンであり、物理アドレス格納領域FL1を496列配置し、この列順に従って、論理アドレス範囲(72〜95、1512〜1983)を順次対応させる。
先ず、物理アドレス格納領域FL1に格納すべき値であり、物理アドレスを示す物理アドレス値dについて、セグメント0については、d=0〜511までの整数を使用し、この物理アドレス値dに与えるべきオフセット値offsetについては、offset=0であることとする。また、セグメント1については、物理アドレス値dについてd=0〜511、オフセット値offsetについてoffset=512とする。また、セグメント2については、物理アドレス値dについてd=0〜511、オフセット値offsetについてoffset=1024とし、セグメント3については、物理アドレス値dについてd=0〜511、オフセット値offsetについてoffset=1536とする。
このようにして、物理アドレス格納領域FL1としては、セグメント0、1,2,3でそれぞれ、d=0〜511の同じ物理アドレス値dを使用したうえで、この物理アドレス値dに設定すべきオフセット値offsetを変更するようにされている。例として、セグメント1の場合には、物理アドレス値dに対して、オフセット値offset=512が設定されるから、物理アドレス格納領域FL1に格納する0〜511までのアドレス値dにより、512(=0+512)〜1023(=511+512)までの実際の物理アドレスを適正に表現できることになる。このような物理アドレス格納領域の定義とすれば、実際の物理アドレス範囲が、例えば図6〜図8に示すようにして0〜2047であるとしても、物理アドレス値dとしては、セグメントにかかわらず、0〜512までの整数値が表現できればよいことになる。つまり、例えば具体的には、物理アドレス格納領域FL1については、最小で9ビットのサイズにとどめることが可能になる。
先ず、図8(a)から説明する。
セグメント0としては、
図9(e)にて説明したように、物理アドレス格納領域FL1に格納する物理アドレス値dについては、d=0〜511、オフセット値offset=0とされる。そのうえで、図8(a)の場合においては、図9(a)のテーブルパターンAの構造を採用する。
同様にして、セグメント1の論理−物理アドレス変換テーブルについては、物理アドレス格納領域FL1について物理アドレス値d=0〜511、オフセット値offset=512としたうえで、図9(b)のテーブルパターンBの構造を採用する。
また、セグメント2の論理−物理アドレス変換テーブルについては、物理アドレス格納領域FL1について物理アドレス値d=0〜511、オフセット値offset=1024とされたうえで、図9(c)のテーブルパターンCの構造を採用する。
セグメント3の論理−物理アドレス変換テーブルは、物理アドレス格納領域FL1について物理アドレス値d=0〜511、オフセット値offset=1536とされたうえで、図9(d)のテーブルパターンDの構造を採用する。
先ず、セグメント0については、テーブルパターンAの採用に代えて、テーブルパターンBを採用する。なお、物理アドレス格納領域FL1の定義は、セグメント0に対応する物理アドレス値d=0〜511、オフセット値offset=0のままであり、これは変更されるものではない。
セグメント1については、テーブルパターンBの採用に代えて、テーブルパターンCを採用する。物理アドレス格納領域FL1の定義は、物理アドレス値d=0〜511、オフセット値offset=512のままでである。
セグメント2については、テーブルパターンCの採用に代えて、テーブルパターンDを採用する。物理アドレス格納領域FL1の定義は、物理アドレス値d=0〜511、オフセット値offset=1024のままでである。
セグメント3については、テーブルパターンDの採用に代えて、テーブルパターンAを採用する。物理アドレス格納領域FL1の定義は、物理アドレス値d=0〜511、オフセット値offset=0のままでである。
このようにして、セグメントごとの物理アドレス範囲に対する論理アドレス範囲を変更するためには、セグメントごとに図9(a)(b)(c)(d)に示した基本のテーブルパターンのうちからしかるべきテーブルパターンを選択して採用して論理−物理アドレス変換テーブルを作成すればよいということが分かる。
また、ステップS102においてテーブルパターンBであるとの判別結果が得られた場合には、ステップS104に進んで、セグメントnに対応するテーブルパターンとして、テーブルパターンCを採用する。
ステップS102においてテーブルパターンCであるとの判別結果が得られた場合には、ステップS105に進んで、セグメントnに対応するテーブルパターンとして、テーブルパターンDを採用する。
ステップS102においてテーブルパターンDであるとの判別結果が得られた場合には、ステップS106に進んで、セグメントnに対応するテーブルパターンとして、テーブルパターンAを採用する。
これらステップS103,S104,S105,S106の処理により採用されたテーブルパターンを用いて、初期化処理時において、各セグメントの論理−物理アドレス変換テーブルが構築されて、所定の記憶領域に書き込まれるようにして領域が確保されることになる。ステップS103,S104,S105,S106の処理を実行した後は、ステップS107に進む。
そして、フラッシュメモリ2において形成される全てのセグメントについての論理−物理アドレス変換テーブルの再構築が終了したとされると、ステップS107において肯定の判別結果が得られることとなって、この図に示す処理を終了することになる。
また、本発明としては、必ずしも、全てのセグメントについて論理アドレス範囲を変更すべき必要はなく、1つのセグメントを対象としてみたときに、このセグメントの論理−物理アドレス変換テーブルの物理アドレス範囲に対応する論理アドレス範囲が、初期化前において、他のセグメントの論理−物理アドレス変換テーブルにおいて対応付けられていたものに変更されればよい。従って、例えば、或る特定の2つのセグメント間においてのみ、論理アドレス範囲の交換が行われるようにされてもよい。この場合にも、セグメントと論理アドレス範囲の対応が固定である従来と比較すれば、使用頻度の均一化の目的は達成される。
Claims (3)
- メモリの記憶領域を所定の固定長により分割した単位領域ごとに対応する物理アドレスと、上記単位領域に書き込まれるべきデータに対応付けられる論理アドレスとの対応を示す論理−物理アドレス対応情報によりメモリ管理を行うもので、この上記論理−物理アドレス対応情報によるメモリ管理を、所定の連続する物理アドレスの範囲に対応する単位領域の集合から成る集合領域ごとに行うメモリ管理手段と、
上記メモリを初期化するときに、1つの集合領域の上記論理−物理アドレス対応情報における物理アドレス範囲と対応付けられていた論理アドレス範囲を、他の1つの集合領域の上記論理−物理アドレス対応情報において物理アドレスと対応付けられていた論理アドレス範囲に変更するようにして論理−物理アドレス対応情報の再構築を行う再構築手段と、
を備え、
上記メモリ管理手段は、
アドレス値が連続する所定の論理アドレス範囲を分割したうえで、
論理−物理アドレス対応情報における物理アドレス範囲と対応付けられる1つの論理アドレス範囲について、上記分割されたアドレス範囲の1つを含めるようにして形成するとともに、
分割の対象としての上記アドレス番号が連続する所定の論理アドレス範囲を、メモリに記憶されるデータを所定の情報単位により管理するための管理情報としてのデータに対応付けた論理アドレス範囲とする、
メモリ制御装置。 - メモリの記憶領域を所定の固定長により分割した単位領域ごとに対応する物理アドレスと、上記単位領域に書き込まれるべきデータに対応付けられる論理アドレスとの対応を示す論理−物理アドレス対応情報によりメモリ管理を行うもので、この上記論理−物理アドレス対応情報によるメモリ管理を、所定の連続する物理アドレスの範囲に対応する単位領域の集合から成る集合領域ごとに行うメモリ管理手順と、
上記メモリを初期化するときに、1つの集合領域の上記論理−物理アドレス対応情報における物理アドレス範囲と対応付けられていた論理アドレス範囲を、他の1つの集合領域の上記論理−物理アドレス対応情報において物理アドレスと対応付けられていた論理アドレス範囲に変更するようにして論理−物理アドレス対応情報の再構築を行う再構築手順と、
を実行し、
上記メモリ管理手順は、
アドレス値が連続する所定の論理アドレス範囲を分割したうえで、
論理−物理アドレス対応情報における物理アドレス範囲と対応付けられる1つの論理アドレス範囲について、上記分割されたアドレス範囲の1つを含めるようにして形成するとともに、
分割の対象としての上記アドレス番号が連続する所定の論理アドレス範囲を、メモリに記憶されるデータを所定の情報単位により管理するための管理情報としてのデータに対応付けた論理アドレス範囲とする、
メモリ制御方法。 - メモリの記憶領域を所定の固定長により分割した単位領域ごとに対応する物理アドレスと、上記単位領域に書き込まれるべきデータに対応付けられる論理アドレスとの対応を示す論理−物理アドレス対応情報によりメモリ管理を行うもので、この上記論理−物理アドレス対応情報によるメモリ管理を、所定の連続する物理アドレスの範囲に対応する単位領域の集合から成る集合領域ごとに行うメモリ管理手順と、
上記メモリを初期化するときに、1つの集合領域の上記論理−物理アドレス対応情報における物理アドレス範囲と対応付けられていた論理アドレス範囲を、他の1つの集合領域の上記論理−物理アドレス対応情報において物理アドレスと対応付けられていた論理アドレス範囲に変更するようにして論理−物理アドレス対応情報の再構築を行う再構築手順とを、
メモリ制御装置に実行させ、
上記メモリ管理手順は、
アドレス値が連続する所定の論理アドレス範囲を分割したうえで、
論理−物理アドレス対応情報における物理アドレス範囲と対応付けられる1つの論理アドレス範囲について、上記分割されたアドレス範囲の1つを含めるようにして形成するとともに、
分割の対象としての上記アドレス番号が連続する所定の論理アドレス範囲を、メモリに記憶されるデータを所定の情報単位により管理するための管理情報としてのデータに対応付けた論理アドレス範囲とする、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005023110A JP4665539B2 (ja) | 2005-01-31 | 2005-01-31 | メモリ制御装置、メモリ制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005023110A JP4665539B2 (ja) | 2005-01-31 | 2005-01-31 | メモリ制御装置、メモリ制御方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006209608A JP2006209608A (ja) | 2006-08-10 |
JP4665539B2 true JP4665539B2 (ja) | 2011-04-06 |
Family
ID=36966372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005023110A Expired - Fee Related JP4665539B2 (ja) | 2005-01-31 | 2005-01-31 | メモリ制御装置、メモリ制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4665539B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4679581B2 (ja) * | 2005-07-29 | 2011-04-27 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
JP4572205B2 (ja) * | 2007-01-12 | 2010-11-04 | Necインフロンティア株式会社 | フラッシュメモリドライブ装置、その制御方法及びそのプログラム |
US7669092B2 (en) * | 2007-02-26 | 2010-02-23 | Micron Technology, Inc. | Apparatus, method, and system of NAND defect management |
TW200917277A (en) * | 2007-10-15 | 2009-04-16 | A Data Technology Co Ltd | Adaptive hybrid density memory storage device and control method thereof |
JP4737223B2 (ja) * | 2008-04-21 | 2011-07-27 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP5180726B2 (ja) * | 2008-07-31 | 2013-04-10 | 株式会社日立製作所 | 記憶装置およびデータ書き込み制御方法 |
US8793429B1 (en) * | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
KR102024725B1 (ko) * | 2016-11-23 | 2019-09-24 | 한양대학교 산학협력단 | 스토리지 정보에 기반한 포맷팅 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004040586A1 (en) * | 2002-10-28 | 2004-05-13 | Sandisk Corporation | Automated wear leveling in non-volatile storage systems |
JP2004234473A (ja) * | 2003-01-31 | 2004-08-19 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置 |
JP2004240660A (ja) * | 2003-02-05 | 2004-08-26 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ装置の制御方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
-
2005
- 2005-01-31 JP JP2005023110A patent/JP4665539B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004040586A1 (en) * | 2002-10-28 | 2004-05-13 | Sandisk Corporation | Automated wear leveling in non-volatile storage systems |
JP2004234473A (ja) * | 2003-01-31 | 2004-08-19 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置 |
JP2004240660A (ja) * | 2003-02-05 | 2004-08-26 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2006209608A (ja) | 2006-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4665539B2 (ja) | メモリ制御装置、メモリ制御方法、プログラム | |
JP4356686B2 (ja) | メモリ装置及びメモリ制御方法 | |
JP4356782B2 (ja) | メモリ装置、メモリ制御方法、およびプログラム | |
EP1561168B1 (en) | Method and apparatus for splitting a logical block | |
JP4679581B2 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 | |
US6625713B2 (en) | Memory controller and method for managing a logical/physical address control table | |
KR100847506B1 (ko) | 기억 장치, 메모리 관리 방법 및 프로그램 | |
US20150186224A1 (en) | Data storage device and flash memory control method | |
US20100082878A1 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method | |
US20080082773A1 (en) | Systems for Managing File Allocation Table Information | |
US20100042775A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US20060059297A1 (en) | Memory control apparatus, memory control method and program | |
CN1319205A (zh) | 记录系统、数据记录设备、存储设备和数据记录方法 | |
JP4561246B2 (ja) | メモリ装置 | |
JPWO2008139689A1 (ja) | メモリコントローラ、半導体記録装置及び書き換え回数通知方法 | |
TWI457941B (zh) | 區塊為基礎快閃記憶體之位元組存取的方法與裝置 | |
JP2007233838A (ja) | メモリシステムの制御方法 | |
JP2006252137A (ja) | 不揮発性記憶装置の最適化方法 | |
KR100997819B1 (ko) | 정보 처리 장치 | |
KR100514756B1 (ko) | 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법 | |
JP2007280329A (ja) | 不揮発性記憶装置および不揮発性記憶装置の管理方法 | |
JP2005301885A (ja) | データ記憶媒体へのアクセス方法,情報処理装置,データ記憶媒体へのアクセスプログラム | |
JP4218406B2 (ja) | 情報記録再生方法 | |
JP4895264B2 (ja) | 記憶装置および情報処理装置 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070628 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101122 |
|
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: 20101214 |
|
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: 20101227 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |