JP3694501B2 - 記憶装置 - Google Patents
記憶装置 Download PDFInfo
- Publication number
- JP3694501B2 JP3694501B2 JP2002315579A JP2002315579A JP3694501B2 JP 3694501 B2 JP3694501 B2 JP 3694501B2 JP 2002315579 A JP2002315579 A JP 2002315579A JP 2002315579 A JP2002315579 A JP 2002315579A JP 3694501 B2 JP3694501 B2 JP 3694501B2
- Authority
- JP
- Japan
- Prior art keywords
- conversion table
- data
- address
- logical address
- physical address
- 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
- 238000006243 chemical reaction Methods 0.000 claims description 243
- 238000013500 data storage Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
Description
【発明の属する技術分野】
本発明は、書き換え可能な不揮発性メモリを有する記憶装置に関する。
【0002】
【従来の技術】
近年、書き換え可能な不揮発性メモリ(例えばフラッシュメモリ)を用いた記憶装置(例えばメモリカード)が市場で広く使用されるようになってきている。半導体技術の進歩に伴い、不揮発性メモリの記憶容量は大きくなってきている。例えばフラッシュメモリを有するメモリカードであるSDカードの記憶容量は、発売当初は8MBであったが、現在は512MBのSDカードが発売されており、今後も記憶容量は増加していく見込みである。
【0003】
ホスト(例えばSDカードスロットを有する携帯情報端末)は、記憶装置(例えば不揮発性メモリを有するSDカード)にデータを書込み、データを読み出す。フラッシュメモリ等の書き換え可能な不揮発性メモリにおいては、一定の領域を一括消去した後そこに新たなデータを書き込む。そのため、例えば記録されているデータを書き換えると、そのデータが記録されているアドレスは、書き換えの前後で異なる。データが実際に記録されているアドレス(物理アドレス)をホストが直接管理することは極めて煩雑であるため、ホストと記憶装置との通信においては論理アドレスを用いることが一般的である。ホストは、実際にデータが書き込まれているアドレス(物理アドレス)を管理することなく、一定の論理アドレスに基づいてデータを記憶装置に書き込み又は読み出すことが出来る。記憶装置が実際にデータが書き込まれる物理アドレスを管理する。記憶装置は、内部で論理アドレスを物理アドレスに変換し(論理アドレス/物理アドレス変換テーブル(以下、「変換テーブル」と略す。)を用いる。)、物理アドレスにデータを記録し、物理アドレスからデータを再生する。
【0004】
しかし、SDカードの記憶容量の増大に伴い、変換テーブルも大きくなる。記憶装置は一般に、不揮発性メモリから読み出した変換テーブルをRAM(Random Access Memory)に書き込み、この変換テーブルを参照しながら不揮発性メモリにデータを書き込み又は読み出す。変換テーブルが大きくなりすぎると、変換テーブル全体をRAMに格納するために、RAM容量が増え、メモリカードのコストがアップする。
【0005】
特開2001−142774号公報には、それぞれがRAMに格納可能な大きさを有する複数の変換テーブルと、それらの変換テーブルの不揮発性メモリ内の格納場所を記憶するポインターテーブルとを有する従来例のメモリカードが記載されている。
図6は、上記の従来例のメモリカードの構成を示す。図6において、611はホストインターフェース、612は制御部、613はROM(Read Only Memory)、614はRAM、615はフラッシュメモリである。フラッシュメモリ615は、管理情報記録領域653とユーザ領域654とを有する。
【0006】
従来例のメモリカードにおいて、フラッシュメモリは複数のブロックを有する。データの一括消去はブロックを最小単位として行われる(ブロック内の全データを1にする。)。1ブロックは32セクタからなる。データの書き込み又は読み出しは、セクタを最小単位として行われる。各セクタは、データ記憶領域と冗長領域とを有する。データ記録領域にはデータを記録し、冗長領域にはデータの属性情報等を記録する。
【0007】
従来例の変換テーブルは、ブロックを単位として論理アドレスを物理アドレスに変換する。ブロックの論理アドレス及び物理アドレスはそれぞれ2Bのサイズを有する。
管理情報記録領域653には、ポインターテーブル651(LTPa)と、複数の変換テーブル652−0〜652−3(LTPb(#0)〜LTPb(#3))とが記録されている。ユーザ領域には、データが記録されている。RAM614のLTPa領域641にはポインターテーブル651(LTPa)が格納されている。RAM614のLTPb領域642には、いずれか1つの変換テーブル(図6ではLTPb(#1))が格納されている。
【0008】
ホストからデータの読み出し命令が来ると、制御部612は、もしRAM614に格納された変換テーブル(図6ではLTPb(#1))が読み出しアドレス(論理アドレス)を含んでいれば、その変換テーブルを用いてその論理アドレスを物理アドレスに変換して、データを読み出す。制御部612は、もしRAM614に格納された変換テーブルLTPb(#1)が読み出しアドレス(論理アドレス)を含んでいなければ、読み出しアドレス(論理アドレス)を含む変換テーブル(例えばLTPb(#3)。その記録アドレスはポインターテーブル651(LTPa)に記載されている。)をフラッシュメモリ615から読み出してRAM614に格納し、その変換テーブルを用いてその論理アドレスを物理アドレスに変換して、データを読み出す。
【0009】
ホストからデータの書き換え命令が来ると、制御部612は、フラッシュメモリ上の空き領域を確保し、そこにデータを書き込み、且つ1つの空き領域に新たな変換テーブル(例えばLTPb(#1))を書込む。ポインターテーブル651(LTPa)も書き換える。
【0010】
【特許文献1】
特開2001−142774号公報
【0011】
【発明が解決しようとする課題】
しかし、従来例のメモリーカードにおいては、フラッシュメモリの記録容量の大きさに比例して、変換テーブルを記録するための大きな管理情報記録領域を確保する必要があった。
従来のメモリーカードにおいては、データの記録領域と変換テーブルの記録領域とが全く別個の領域であった故に、データの読み出し動作と別個に、変換テーブルの読み出し動作をする必要があった。
従来のメモリーカードにおいては、データの書き換えを行う毎に、大きな変換テーブル(例えばLTPb(#1))と、ポインターテーブル651(LTPa)とを書き換える必要があった。
【0012】
本発明は、変換テーブルのための専用記録領域をわずかしか必要としない書き換え可能な不揮発性メモリを有する記憶装置を提供することを目的とする。
本発明は、データの読み出しの際、同時に変換テーブルを読み出すことが出来る書き換え可能な不揮発性メモリを有する記憶装置を提供することを目的とする。
本発明は、データの書き換えを行ったアドレスによっては、少数の小さな変換テーブルを書き換えるだけで済む書き換え可能な不揮発性メモリを有する記憶装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
上記課題を解決するため、本発明は下記の構成を有する。
本発明の請求項1に記載の発明は、データを格納する論理アドレスを物理アドレスに変換するための(n+1)個の変換テーブル(nは2以上の任意の整数)のうち、第0の変換テーブルを記憶する揮発性メモリと、前記(n+1)個の変換テーブルのうち、第1の変換テーブルから第nの変換テーブルまでを記憶し、複数のデータ記憶領域と冗長領域との組を有し、前記データ記憶領域と冗長領域との組毎に物理アドレスが割り付けられる書き換え可能な不揮発性メモリと、を有し、前記第0の変換テーブルは、所定のビットで表現可能な複数の論理アドレス範囲に基づいて、前記論理アドレスを第1の変換テーブルを格納する第1の物理アドレスに変換し、第iの変換テーブル(iは、1≦i≦n−1を満たす任意の整数)は、前記第0の変換テーブルから第(i−1)の変換テーブルまでに対応するビットが前記論理アドレスで与えられる論理アドレスの範囲内において第iの変換テーブルに対応するビットで表現可能な複数の論理アドレス範囲に基づいて、前記論理アドレスを第(i+1)の変換テーブルを格納する第(i+1)の物理アドレスに変換し、第nの変換テーブルは、第0の変換テーブルから第(n−1)の変換テーブルまでに対応するビットが前記論理アドレスで与えられる論理アドレス範囲内において第nの変換テーブルに対応するビットに基づいて、前記論理アドレスをデータが格納される前記物理アドレスに変換し、前記不揮発性メモリのデータを書き換える場合は、前記論理アドレスに対応する前記物理アドレスを変更して何も記録されていない物理アドレスを選んでデータを書き、書き換えるデータを格納する前記データ記憶領域と組をなし同じ物理アドレスを有する前記不揮発性メモリの前記冗長領域に前記第1〜第nの変換テーブルが記憶されることを特徴とする記憶装置。
【0014】
本発明の請求項2に記載の発明は、前記データの記憶領域と冗長領域との組毎に割り付けられる前記物理アドレスは、前記不揮発性メモリのデータの消去単位を単位として割り付けられることを特徴とする請求項1に記載の記憶装置。である。好ましくはnは3以上の任意の整数である。
【0015】
本発明の請求項3に記載の発明は、前記不揮発性メモリがnの値を記憶することを特徴とする請求項1に記載の記憶装置である。
【0016】
本発明の請求項4に記載の発明は、前記第0の変換テーブルの前記所定のビットは、前記論理アドレスの最上位ビットを含むことを特徴とした請求項1に記載の記憶装置である。
【0017】
本発明の請求項5に記載の発明は、前記第1の変換テーブルから前記第nの変換テーブルまでに対応する前記ビットは、前記論理アドレスの前記第0の変換テーブルの前記所定のビットより下位のビットに基づいて上位ビットから順に対応づけられた物理アドレスを有することを特徴とした請求項4に記載の記憶装置である。
【0019】
本発明は、変換テーブルのための専用記録領域をわずかしか必要としない書き換え可能な不揮発性メモリを有する記憶装置を実現出来るという作用を有する。
本発明は、データの読み出しの際、同時に変換テーブルを読み出すことが出来る書き換え可能な不揮発性メモリを有する記憶装置を実現出来るという作用を有する。
本発明は、データの書き換えを行った場合、論理アドレスに関連する少数の小さな変換テーブルを書き換えるだけで良い、書き換え可能な不揮発性メモリを有する記憶装置を実現出来るという作用を有する。
【0020】
【発明の実施の形態】
以下本発明の実施をするための最良の形態を具体的に示した実施例について図面とともに記載する。
【0021】
《実施例1》
図1〜4を用いて、本発明の実施例1の記憶装置について説明する。実施例1の記憶装置は、メモリカードである。
実施例1のメモリカードは、書き換え可能な不揮発性メモリであるフラッシュメモリを有する。実施例1のメモリカードは、従来例と異なる変換テーブルを有する。これ以外の点において、実施例1のメモリカードは従来例(図6)と基本的に同一である。
実施例のメモリカードにおいて、フラッシュメモリは複数のブロックを有する。データの一括消去はブロックを最小単位として行われる(ブロック内の全データを1にする。)。1ブロックは32セクタからなる。データの書き込み又は読み出しは、セクタを最小単位として行われる。各セクタは、データ記憶領域と冗長領域とを有する。データ記録領域にはデータを記録し、冗長領域にはデータの属性情報等を記録する。
一般にデータ記録領域には空き領域を作ることなくデータを記録する。冗長領域には限られた情報しか記録せず、実質的に未記録の領域が残っている。
【0022】
上述の様に、ホストと記憶装置との間の通信においては、論理アドレスを用いてデータを送受信する。記憶装置は、変換テーブルを用いて論理アドレスを物理アドレスに変換し、物理アドレスにデータを記録し、物理アドレスからデータを再生する。
実施例1においては、ブロックの冗長領域にツリー構造を有する変換テーブルを記録する。
1ブロックは16kBの大きさを有している。1GBのフラッシュメモリは、65536個(=1G/16k)のブロックを有する。ブロックの物理アドレスのサイズは2Bであるから、従来例であれば、不揮発性メモリの管理情報記録領域131に128kB(=2B×65536)の変換テーブル記録領域を確保する必要があった。
【0023】
実施例1の記憶装置において、SDカードの初期化時に制御部111はRAM122に論理/物理ブロックアドレス変換テーブルの起点となる第0の変換テーブル141(例えば32B(=(2B/1論理ブロックアドレス)×16論理ブロックアドレス情報)を生成する。
不揮発性メモリ112のユーザ領域132の物理ブロックの冗長領域に、第1の変換テーブル151と、その第1の変換テーブル151が有効であるか否かを示す第1の変換テーブル有効フラグと、が格納されている。第1の変換テーブル有効フラグの値“1”は第1の変換テーブル151が有効であることを示し、値“0”が第1の変換テーブル151が無効であることを示す。
制御部111は、不揮発性メモリ112から第1の変換テーブル有効フラグと、第1の変換テーブル151と、を読み出し、第0の変換テーブル141を生成する。
制御部111は第1の変換テーブル有効フラグが有効である物理ブロックの冗長領域に登録されている第1の変換テーブル151の先頭の論理アドレスを読み出し、その論理アドレスと、第1の変換テーブル151が格納されている物理ブロックの物理アドレスとを対応づけて、RAM122の第0の変換テーブル141に登録する。この基本動作を全物理ブロックアドレスについて処理することで、第0の変換テーブル141が生成される。
【0024】
図1は、実施例1のメモリカードの構成を示す図である。図1において、101はホスト、102は実施例1のメモリカードである。メモリカード102は、制御部111及び不揮発性メモリ112を有する。制御部111は、外部インターフェース部121及びRAM122を有する。不揮発性メモリ112は、管理情報記録領域131、ユーザ領域132を有する。管理情報記録領域131には階層情報n(=3)155が記録されており、ユーザ領域132には第1〜第3の変換テーブル151〜153が記録されている。
実施例1において、ホスト101はメモリカードの挿入スロットを有する携帯情報端末である。制御部111の外部インターフェース部121はホスト101との間で通信を行う。インターフェース部121は、ホスト101からのコマンド(例えばデータ読み出しコマンド、データ書き込みコマンド等)及びデータを受信し、ホスト101にレスポンス及びデータを送信する。
【0025】
実施例1のメモリカードは、第1の変換テーブルから第nの変換テーブルまでのn階層(nは2以上の任意の整数である。実施例1においてはn=3)のツリー構造の変換テーブルを有する。
制御部111は、RAM122に格納された変換テーブルを利用して、不揮発性メモリにデータを書き込み、又はデータを読み出す。
電源起動時、制御部111は、不揮発性メモリ112から32B(=2B×16)の大きさを有する第1の変換テーブル151(16対の論理アドレス及び物理アドレスを有する。各アドレスは2Bである。)が有効な物理ブロックをサーチし、論理アドレスと物理アドレスとを対応付けてRAM122に格納する(第0の変換テーブル141)。
【0026】
制御部111は、第0の変換テーブル141に基づいて第1〜第3の変換テーブルのいずれか1つ又は複数の変換テーブル(第iの変換テーブル)を読み出し、RAM122に格納する(第iの変換テーブル142)。制御部111は、第iの変換テーブル(1≦i≦n)に基づいて第(i+1)の変換テーブルを読み出すことが出来る。これを繰り返すことにより任意の変換テーブルを読み出すことが出来る。
制御部111は、RAM122に格納された変換テーブルを用いて、任意の論理アドレスに対応づけられた不揮発性メモリ112の物理アドレスにデータを書き込み、物理アドレスからデータを読み出すことが出来る。
【0027】
図2は、本発明の実施例1のメモリカードにおける、論理アドレスを物理アドレスに変換する変換テーブルの構造の詳細を説明する図である。上述の様に、実施例1のメモリカードの変換テーブルは、第1の変換テーブルから第nの変換テーブルまでのn階層(nは2以上の任意の整数。実施例1においてはn=3)のツリー構造を有する。
第0の変換テーブル141に含まれる16対の論理アドレス及び物理アドレスは、ユーザ領域にある16個のブロックを指定する。明細書及び図面において、論理アドレス及び物理アドレスは16進数で表示されている。それらのブロックの冗長領域には、第1の変換テーブル151−1〜151−16(合計16個の第1の変換テーブル151)が記録されている。
【0028】
実施例1の第0の変換テーブル141は、一定間隔で、全アドレス空間に均等に位置する論理アドレスを有する。実施例1のメモリの全ブロックアドレス空間は0000H〜FFFFHであり、第0の変換テーブルは、j000H(jは0≦j≦Fの任意の整数)の論理アドレスに対応づけられた物理アドレスを有する。例えば第0の変換テーブル141において、論理アドレス0000Hは物理アドレス53ACHに対応付けられている。
j000Hの論理アドレスに対応付けられた物理アドレス、その物理アドレスに記録された第2の変換テーブル、及び第2の変換テーブルにツリー構造で繋がる第3の変換テーブルの全体は、j000H〜jFFFHの範囲の論理アドレスに対応付けられた物理アドレスを指定する。
【0029】
物理アドレス53ACHのブロックの冗長領域には、第1の変換テーブル151−1が記録されている。
第1の変換テーブル151−1に含まれる16対の論理アドレス及び物理アドレスは、ユーザ領域にある16個のブロックアドレスを指定する。実施例1の変換テーブル151−1は、ほぼ一定間隔で、0000H〜0FFFHのアドレス空間に均等に位置する論理アドレスを有する。実施例1の第1の変換テーブル151−1は、0000H及び0j00H(jは0≦j≦Fの任意の整数)の論理アドレスに対応づけられた物理アドレスを有する。例えば第1の変換テーブル151−1において、論理アドレス0000H〜00FFHを示す物理アドレスは6410Hに対応付けられている。
【0030】
物理アドレス6410Hのブロックの冗長領域には、第2の変換テーブル152−1が記録されている。
第2の変換テーブル152−1に含まれる16対の論理アドレス及び物理アドレスは、ユーザ領域にある16個のブロックを指定する。実施例1の第2の変換テーブル152−1は、ほぼ一定間隔で、0000〜00FFHのアドレス空間に均等に位置する論理アドレスを有する。実施例1の第2の変換テーブル152−1は、0000H及び00j0H(jは0≦j≦Fの任意の整数)の論理アドレスに対応づけられた物理アドレスを有する。例えば第2の変換テーブル152−1において、論理アドレス0010H〜001FHは物理アドレス65DAHに対応付けられている。
【0031】
上記と同様に、物理アドレス65DAHには第3の変換テーブル153−2が記録されている。
第3の変換テーブル153−2に含まれる16対の論理アドレス及び物理アドレスは、ユーザ領域にある16個のブロックを指定する。
例えば第3の変換テーブル153−2において、論理アドレス0010Hは物理アドレス65EFHに対応付けられている。物理アドレス65EFHには論理アドレス0010Hのデータが記録されている。
【0032】
即ち、論理アドレスを物理アドレスに変換する多層構造の第iの変換テーブルに基づいて指定される物理アドレスに格納された最下層の変換テーブル(第nの変換テーブル)が指定する物理ブロックアドレスにデータが記憶されている。
【0033】
例えば3階層のツリー構造の変換テーブルは、16個の第1の変換テーブル、256個(=162)の第2の変換テーブル、4096個(=163)の第3の変換テーブル、65536個(=164)のデータを有する。この変換テーブルにより、1GBのフラッシュメモリ(65536個のブロックを有する。)のアドレス空間の論理アドレス/物理アドレス変換をすることが出来る。
第1〜第3の変換テーブルは、各ブロックの冗長領域(未使用領域がある。)に分散して書き込まれている故、これらの変換テーブル専用の記録領域は不要である。
【0034】
例えば4階層のツリー構造の変換テーブルは、16GBフラッシュメモリ(1048576個のブロックを有する。)のアドレス空間の論理アドレス/物理アドレス変換をすることが出来る(ブロックのアドレスは3Bである。)。
このように、本発明によれば、小さな論理/物理アドレス変換テーブルを階層的に組み合わせることにより、大きなアドレス空間の論理アドレス/物理アドレス変換をすることが出来る。
不揮発性メモリ112に階層情報n155を記録している故に、互換性を取ることが容易である。メモリカード毎に不揮発性メモリ112の容量に応じて階層数nを変更した場合にも、制御部111が階層数nを読み出すことにより論理アドレスから物理アドレスに正しく変換することが出来る。階層数n155を記録しないで、不揮発性メモリ112の記録容量に応じた階層数nを規格で定めても良い。この場合、制御部111は、記録容量に応じて階層数nを求め、論理アドレスから物理アドレスに変換を行う。
【0035】
図3は、本発明の実施例1のメモリカードにおける、データの読み出し方法のフローチャートを示す。図3において、メモリカード102はホスト101からデータの読み出し命令(論理アドレスを含む。)を入力する(ステップ301)。メモリカード102の制御部111は、i=1とする(初期設定)(ステップ302)。不揮発性メモリ112から第1の変換テーブル151を読み出す(ステップ303)。
次に制御部111は、読み出した変換テーブルが最下層の変換テーブル(第nの変換テーブル)か否かをチェックする(ステップ304)。もし最下層の変換テーブルであればステップ308に進む。もし最下層の変換テーブルでなければ、i=i+1とする(ステップ305)。
【0036】
次に制御部111は、読み出した変換テーブルの中から、目的の論理アドレスに最も近く且つそのアドレスより値が大きくない論理アドレスを検索する(ステップ306)。次に制御部111は、検索した論理アドレスに対応する物理アドレスから第iの変換テーブルを読み出す(ステップ307)。ステップ304に進み、上記の処理を繰り返す。
ステップ304で読み出した変換テーブルが最下層の変換テーブルであれば、制御部111は、最下層の変換テーブルから目的の論理アドレスに対応した物理アドレスを読み出し、その物理アドレスからデータを読み出す(ステップ308)。制御部111は、読み出したデータをホスト101に出力する(ステップ309)。処理を終了する。
【0037】
図4は、本発明の実施例1のメモリカードにおける、データの書き換え方法のフローチャートを示す。図4において、メモリカード102はホスト101からデータの書き換え命令(論理アドレスを含む。)を入力する(ステップ401)。メモリカード102の制御部111は、何も記録されていない(データが全て1である)物理アドレスを選び、そこに新しいデータを書く(ステップ402)。
次に制御部111は、変更した物理アドレスに関連する変換テーブルを変更して、新たなブロックに記録する(ステップ403)。第1の変換テーブルを有するブロックには第1の変換テーブル有効フラグが対応付けられている(有効であれば1、無効であれば0)。次に、制御部111は、第1の変換テーブルが記録されていたブロックの第1の変換テーブル有効フラグを0にする(ステップ404)。
【0038】
ステップ403において、書き換えの必要がある変換テーブルは、変更した物理アドレスからツリーをさかのぼって第0の変換テーブル141までの変換テーブルである。即ち実施例1(階層数n=3)では最大でも4個のブロック(データ及び変換テーブル)を書き換えれば良い。
例えば図2において、論理アドレス0000Hのデータを書き換えたとする。図2において、論理アドレス0000Hの元のデータは物理アドレス6483Hに記録されているが、新たなデータを新たな物理アドレスであるA023Hに書き込んだとする。論理アドレス0000Hに対応する物理アドレスをA023Hに更新した第3の変換テーブル153−1を、新たな物理アドレスであるA035Hの冗長領域にコピーする。
【0039】
次に制御部111は、第2の変換テーブル152−1の論理アドレス0000Hに対応する物理ブロックを6411HからA035Hに変更し、新たな物理アドレスであるA038Hの冗長領域に新たな第2の変換テーブル152−1を書き込む。
次に制御部111は、第1の変換テーブル151−1の論理アドレス0000Hに対応する物理ブロックを6410HからA038Hに変更し、新たな物理アドレスであるA03BHの冗長領域に新たな第1の変換テーブル151−1を書き込む。次に制御部111は、RAM上の第0の変換テーブル141の論理アドレス0000Hに対応する物理ブロックを53ACHからA03BHに変更する。
従来例においては、データを書き換えると、管理情報記録領域131の大きな変換テーブルを書き換える(実際には、未記録領域に新たな変換テーブルを書き込む)必要があった。実施例1の記憶装置においては、データを書き換えた場合、少数の小さな変換テーブルを書き換えるだけで良い。
【0040】
《実施例2》
図5を用いて、本発明の実施例2の記憶装置について説明する。実施例2の記憶装置は、1GBのフラッシュメモリを有するメモリカードである。実施例2のメモリカードは、実施例1と同一の構成を有する(図1)。実施例2において、ホスト101はメモリカードの挿入スロットを有する携帯型映像音声再生機である。
実施例2のメモリカードは、実施例1と異なる変換テーブルを有する。これ以外の点において、実施例2のメモリカードは実施例1と同一である。
【0041】
実施例2の記憶装置は、不揮発性メモリのユーザ領域132の冗長領域に小さな第1の変換テーブル64B(=2B×2×16)を複数個(実施例においては4個)記録しており、ユーザ領域132の他の冗長領域に鎖状構造を有する他の変換テーブル(第2〜第nの変換テーブル)を記録する。nは2以上の任意の整数である。実施例2の1GBのメモリカードにおいてはn=1024(=1G/(16k×16×4))である。第1の変換テーブルの大きさは任意である。
第2〜第nの変換テーブルは8B(=2B×2×2)の大きさを有し、2対の論理アドレス及び物理アドレスを含む。第2〜第nの変換テーブルには1ビットの継続フラグが対応付けられている。
【0042】
電源起動時、制御部111は、不揮発性メモリ112のユーザ領域132の冗長領域から64B(=2B×2×16)の大きさを有する第1の変換テーブル501(16対の論理アドレス及び物理アドレスを有する。各アドレスは2Bである。)を読み出し、RAM122に格納する(第1の変換テーブル501)。
制御部111は、第1の変換テーブル501に基づいて第2〜第nの変換テーブルのいずれか1つ又は複数の変換テーブル(第iの変換テーブル)を読み出し、RAM122に格納する。制御部111は、第iの変換テーブル(1≦i≦(n−1))に基づいて第(i+1)の変換テーブルを読み出すことが出来る。これを繰り返すことにより任意の変換テーブルを読み出すことが出来る。
制御部111は、RAM122に格納された変換テーブルを用いて、任意の論理アドレスに対応づけられた不揮発性メモリ112の物理アドレスにデータを書き込み、物理アドレスからデータを読み出すことが出来る。
【0043】
図5は、本発明の実施例2のメモリカードにおける、論理アドレスを物理アドレスに変換する変換テーブルの鎖状構造を説明する図である。図5を説明する。
第1の変換テーブル501に含まれる64対の論理アドレス及び物理アドレスは、ユーザ領域にある64個のブロックを指定する。それらのブロックのデータ記録領域にはデータが記録されており、それらのブロックの冗長領域には、第2の変換テーブル502(合計64個の第2の変換テーブル)が記録されている。
【0044】
実施例2の複数個(4個)の第1の変換テーブル501は、一定間隔で、全アドレス空間に均等に位置する論理アドレスを有する。実施例2のメモリの全ブロックアドレス空間は0000H〜FFFFHであり、第1の変換テーブル501は、0j00H(jは0≦j≦FFHであって、4の整数倍の整数)の論理アドレスに対応づけられた物理アドレスを有する。例えば第1の変換テーブル501において、論理アドレス0000Hは物理アドレス2538Hに対応付けられている。
0j00Hの論理アドレスに対応付けられた物理アドレス、及びそれに鎖状に繋がる第2〜第n(=1024)の変換テーブルの全体は、0j00H〜0(j+3)FFHの範囲の論理アドレスに対応付けられた物理アドレスを指定する。
【0045】
物理アドレス2538Hのブロックのデータ記録領域には、論理アドレス0000Hのデータが書き込まれる。物理アドレス2538Hのブロックの冗長領域には、第2の変換テーブル502及び継続フラグ(=0)が記録されている。第2の変換テーブル502に含まれる1対の論理アドレス及び物理アドレスは、鎖状に繋がる次の論理アドレス0001H及び物理アドレス27A4Hを指定する。継続フラグは、それに対応付けられた変換テーブルによって指定された物理アドレスのブロックの冗長領域に、次の変換テーブルが記録されているか否かを示す。継続フラグ=0であれば次の変換テーブルが記録されており、継続フラグ=1であれば次の変換テーブルが記録されていない。これにより、鎖状の変換テーブルの最後か否かを識別できる。
【0046】
物理アドレス27A4Hのブロックのデータ記録領域には、論理アドレス0001Hのデータが書き込まれる。物理アドレス27A4Hのブロックの冗長領域には、第3の変換テーブル503及び継続フラグ(=0)が記録されている。第3の変換テーブル503に含まれる2対の論理アドレス及び物理アドレスは、鎖状に繋がる次の論理アドレス0002H及び物理アドレス27BBHの対と、鎖状に繋がる前の論理アドレス0000H及び物理アドレス2538Hの対と、を指定する。
【0047】
上記と同様に、第iの物理アドレスのブロックのデータ記録領域には、論理アドレス000iHのデータが書き込まれる。そのブロックの冗長領域には、第(i+2)の変換テーブル504及び継続フラグ(=0)が記録されている。第(i+2)の変換テーブル504に含まれる2対の論理アドレス及び物理アドレスは、鎖状に繋がる次の第(i+1)の論理アドレス及び第(i+1)の物理アドレスの対と、鎖状に繋がる前の第(i−1)の論理アドレス及び第(i−1)の物理アドレスの対と、を指定する。
鎖状に繋がった最後の変換テーブルに対応する継続フラグは1である。その最後の変換テーブルによって指定された物理アドレスのブロックにはデータが記録されており、変換テーブルが記録されていない。
【0048】
実施例2のメモリカードにおいて、第1〜第4の変換テーブルは、各ブロックの冗長領域(未使用領域がある。)に分散して書き込まれている故、これらの変換テーブル専用の記録領域は不要である。
実施例1又は実施例2において、第1の変換テーブルを不揮発性メモリ112の管理情報記録領域131に記録しても良い。この場合も、管理情報記録領域131に記録された情報量は小さい。本発明によれば、変換テーブル専用の記録領域を設けることなく(又は小さな管理情報記録領域で)、大きなアドレス空間の論理アドレス/物理アドレス変換をすることが出来る。
第(i+2)の変換テーブルには、鎖状で前に位置する第(i+1)の変換テーブルが書き込まれているブロックの論理アドレス及び物理アドレスが記載されている故、論理アドレスが小さくなる方向へのアクセスも容易である。不揮発性メモリ112に鎖状に連続する変換テーブルの数nを記録しても良いし、記録しなくても良い。
【0049】
実施例2のメモリカードのデータの読み出し方法を説明する。最初に目的の論理アドレスが鎖に繋がっている論理アドレスを第1の変換テーブル501の中から探し出す。次に、その論理アドレスから順次変換テーブルをたどって行って、目的の論理アドレスに対応した物理アドレスを探し出す。その物理アドレスからデータを読み出す。
【0050】
実施例2のメモリカードのデータの書き換え方法を説明する。新たな物理アドレスに新たなデータと第kの変換テーブルとを書き込み、旧いデータが書き込まれた物理アドレスのブロックの有効/無効ビットを0にする。実施例2においては第2〜nの変換テーブルが非常に小さいので、幾つもの変換テーブルを1つのブロックの冗長領域に書き込むことが出来る。又、変換テーブル毎に無効化ビットが対応付けられている(無効でない=1/無効=0)。第(k−1)の変換テーブル及び第(k+1)の変換テーブルを無効化し(無効化ビット=0)、同じブロックの冗長領域内に新たな第(k−1)の変換テーブル及び第(k+1)の変換テーブル(第kの変換テーブルが書き込まれた物理アドレスが、更新されている。)を書き込む。
従来例においては、データを書き換えると、管理情報記録領域131の大きな変換テーブルを書き換える(実際には、未記録領域に新たな変換テーブルを書き込む)必要があった。実施例1の記憶装置においては、データを書き換えた場合、少数の小さな変換テーブルを書き換えるだけで良い。
制御部111は、セクタからデータを読み出す時、冗長領域に書かれた変換テーブルを同時に読み出すことが出来る。
【0051】
【発明の効果】
本発明によれば、変換テーブルのための専用記録領域が不要な又はわずかしか必要としない書き換え可能な不揮発性メモリを有する記憶装置を実現出来るという有利な効果が得られる。
本発明によれば、データの読み出しの際、同時に変換テーブルを読み出すことが出来る書き換え可能な不揮発性メモリを有する記憶装置を実現出来るという有利な効果が得られる。
本発明によれば、データの書き換えを行ったアドレスによっては、少数の小さな変換テーブルを書き換えるだけで済む書き換え可能な不揮発性メモリを有する記憶装置を実現出来るという有利な効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施例1及び2のメモリカードの構成を示す図
【図2】本発明の実施例1のメモリカードにおける、論理アドレスを物理アドレスに変換する変換テーブルのツリー構造を説明する図
【図3】本発明の実施例1のメモリカードにおける、データの読み出し方法のフローチャート
【図4】本発明の実施例1のメモリカードにおける、データの書き換え方法のフローチャート
【図5】本発明の実施例2のメモリカードにおける、論理アドレスを物理アドレスに変換する変換テーブルの鎖状構造を説明する図
【図6】従来例のメモリカードの構成を示す図
【符号の説明】
101 ホスト
102 メモリカード
111、612 制御部
112 不揮発性メモリ
121 外部インターフェース部
122、614 RAM
131、615 管理情報記録領域
132、654 ユーザ領域
611 ホストインターフェース
621 ROM
615 フラッシュメモリ
Claims (5)
- データを格納する論理アドレスを物理アドレスに変換するための(n+1)個の変換テーブル(nは2以上の任意の整数)のうち、第0の変換テーブルを記憶する揮発性メモリと、
前記(n+1)個の変換テーブルのうち、第1の変換テーブルから第nの変換テーブルまでを記憶し、複数のデータ記憶領域と冗長領域との組を有し、前記データ記憶領域と冗長領域との組毎に物理アドレスが割り付けられる書き換え可能な不揮発性メモリと、を有し、
前記第0の変換テーブルは、所定のビットで表現可能な複数の論理アドレス範囲に基づいて、前記論理アドレスを第1の変換テーブルを格納する第1の物理アドレスに変換し、
第iの変換テーブル(iは、1≦i≦n−1を満たす任意の整数)は、前記第0の変換テーブルから第(i−1)の変換テーブルまでに対応するビットが前記論理アドレスで与えられる論理アドレスの範囲内において第iの変換テーブルに対応するビットで表現可能な複数の論理アドレス範囲に基づいて、前記論理アドレスを第(i+1)の変換テーブルを格納する第(i+1)の物理アドレスに変換し、
第nの変換テーブルは、第0の変換テーブルから第(n−1)の変換テーブルまでに対応するビットが前記論理アドレスで与えられる論理アドレス範囲内において第nの変換テーブルに対応するビットに基づいて、前記論理アドレスをデータが格納される前記物理アドレスに変換し、
前記不揮発性メモリのデータを書き換える場合は、前記論理アドレスに対応する前記物理アドレスを変更して何も記録されていない物理アドレスを選んでデータを書き、
書き換えるデータを格納する前記データ記憶領域と組をなし同じ物理アドレスを有する前記不揮発性メモリの前記冗長領域に前記第1〜第nの変換テーブルが記憶される
ことを特徴とする記憶装置。 - 前記データの記憶領域と冗長領域との組毎に割り付けられる前記物理アドレスは、前記不揮発性メモリのデータの消去単位を単位として割り付けられることを特徴とする請求項1に記載の記憶装置。
- 前記不揮発性メモリがnの値を記憶することを特徴とする請求項1に記載の記憶装置。
- 前記第0の変換テーブルの前記所定のビットは、前記論理アドレスの最上位ビットを含むことを特徴とした請求項1に記載の記憶装置。
- 前記第1の変換テーブルから前記第nの変換テーブルまでに対応する前記ビットは、前記論理アドレスの前記第0の変換テーブルの前記所定のビットより下位のビットに基づいて上位ビットから順に対応づけられた物理アドレスを有することを特徴とした請求項4に記載の記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002315579A JP3694501B2 (ja) | 2002-10-30 | 2002-10-30 | 記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002315579A JP3694501B2 (ja) | 2002-10-30 | 2002-10-30 | 記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004151939A JP2004151939A (ja) | 2004-05-27 |
JP3694501B2 true JP3694501B2 (ja) | 2005-09-14 |
Family
ID=32459533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002315579A Expired - Fee Related JP3694501B2 (ja) | 2002-10-30 | 2002-10-30 | 記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3694501B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006067923A1 (ja) * | 2004-12-22 | 2006-06-29 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法 |
CN100504814C (zh) * | 2007-01-17 | 2009-06-24 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
JP2008299455A (ja) * | 2007-05-30 | 2008-12-11 | Sony Corp | データ記憶装置及びデータ管理方法 |
CN101650689B (zh) * | 2009-09-16 | 2011-10-26 | 中兴通讯股份有限公司 | 一种非易失性数据的存储和检索方法及装置 |
US8924632B2 (en) * | 2011-09-16 | 2014-12-30 | Apple Inc. | Faster tree flattening for a system having non-volatile memory |
JP6441171B2 (ja) | 2015-06-12 | 2018-12-19 | 東芝メモリ株式会社 | メモリシステム |
JP2018041204A (ja) * | 2016-09-06 | 2018-03-15 | 東芝メモリ株式会社 | メモリ装置及び情報処理システム |
JP6675466B2 (ja) * | 2018-11-13 | 2020-04-01 | キオクシア株式会社 | メモリシステム |
JP7048650B2 (ja) * | 2020-02-04 | 2022-04-05 | キオクシア株式会社 | メモリ装置及び方法 |
JP7238178B2 (ja) * | 2020-02-04 | 2023-03-13 | キオクシア株式会社 | メモリ装置及びメモリ装置を制御する方法 |
JP6860722B2 (ja) * | 2020-03-05 | 2021-04-21 | キオクシア株式会社 | メモリシステムの制御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5108832A (en) * | 1990-09-28 | 1992-04-28 | Ppg Industries, Inc. | Flexible intumescent coating composition |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JP3303011B2 (ja) * | 1996-08-02 | 2002-07-15 | 東京エレクトロンデバイス株式会社 | 半導体メモリ装置 |
WO1999030239A1 (fr) * | 1997-12-05 | 1999-06-17 | Tokyo Electron Limited | Memoire et procede d'acces |
JP2000227871A (ja) * | 1999-02-05 | 2000-08-15 | Seiko Epson Corp | 不揮発性記憶装置、その制御方法、および、情報記録媒体 |
JP2002175211A (ja) * | 2000-12-07 | 2002-06-21 | Sharp Corp | データ管理システムおよびデータ管理方法 |
-
2002
- 2002-10-30 JP JP2002315579A patent/JP3694501B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004151939A (ja) | 2004-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5905993A (en) | Flash memory card with block memory address arrangement | |
JP4122972B2 (ja) | データ記録装置及びフラッシュメモリに対するデータ書き込み方法 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US7864572B2 (en) | Flash memory storage apparatus, flash memory controller, and switching method thereof | |
US20190220396A1 (en) | Data Storage Device | |
CN1227591C (zh) | 记录系统、数据记录设备、存储设备和数据记录方法 | |
US7404031B2 (en) | Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory | |
WO2009153982A1 (ja) | 複数区分型不揮発性記憶装置およびシステム | |
WO2001008015A1 (fr) | Systeme d'enregistrement, dispositif d'enregistrement de donnees, dispositif a memoire et procede d'enregistrement de donnees | |
JP2005182793A5 (ja) | ||
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
JP2006031696A (ja) | バッドブロック管理部を含むフラッシュメモリシステム | |
JP2003044351A (ja) | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 | |
JP2005516264A (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
JP2001350665A (ja) | ブロックアラインメント機能付き半導体記憶装置 | |
US8127072B2 (en) | Data storage device and method for accessing flash memory | |
JP2008090519A (ja) | 記憶装置 | |
JP3694501B2 (ja) | 記憶装置 | |
JP5166118B2 (ja) | 半導体メモリの制御方法 | |
JP2010515162A (ja) | 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用 | |
JP2003058417A (ja) | 記憶装置 | |
JP2012058770A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2003208360A (ja) | 一時記憶のための不揮発性メモリを含むライトワンスメモリデバイス | |
KR20040072875A (ko) | 낸드 플래시 메모리를 이용한 저장장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050322 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050523 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050524 |
|
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: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050624 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090701 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100701 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |