JP2004151939A - Storage device - Google Patents

Storage device Download PDF

Info

Publication number
JP2004151939A
JP2004151939A JP2002315579A JP2002315579A JP2004151939A JP 2004151939 A JP2004151939 A JP 2004151939A JP 2002315579 A JP2002315579 A JP 2002315579A JP 2002315579 A JP2002315579 A JP 2002315579A JP 2004151939 A JP2004151939 A JP 2004151939A
Authority
JP
Japan
Prior art keywords
conversion table
data
physical address
address
logical 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.)
Granted
Application number
JP2002315579A
Other languages
Japanese (ja)
Other versions
JP3694501B2 (en
Inventor
Hironori Mori
博範 森
Toshiyuki Honda
利行 本多
Yoshihisa Inagaki
善久 稲垣
Akio Takeuchi
昭夫 竹内
Kunihiro Maki
晋弘 真木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002315579A priority Critical patent/JP3694501B2/en
Publication of JP2004151939A publication Critical patent/JP2004151939A/en
Application granted granted Critical
Publication of JP3694501B2 publication Critical patent/JP3694501B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a storage device with a rewritable nonvolatile memory that requires no or only a few dedicated recording areas for conversion tables. <P>SOLUTION: The storage device has a volatile memory, and a nonvolatile memory where conversion tables having a tree structure of n hierarchies (n is an arbitrary integer larger than one) from the first conversion table to the n-th conversion table can be stored and rewritten. In at least one of redundant areas of physical addresses specified by the i-th conversion table (i is an arbitrary integer satisfying 1 ≤ i ≤ n) for conversion of logical addresses to physical addresses, the (i + 1)th conversion table for conversion of logical addresses to physical addresses is stored, and data on each logical address are stored in a data storage area of a physical address specified by the nth conversion table as the lowest layer conversion table. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、書き換え可能な不揮発性メモリを有する記憶装置に関する。
【0002】
【従来の技術】
近年、書き換え可能な不揮発性メモリ(例えばフラッシュメモリ)を用いた記憶装置(例えばメモリカード)が市場で広く使用されるようになってきている。半導体技術の進歩に伴い、不揮発性メモリの記憶容量は大きくなってきている。例えばフラッシュメモリを有するメモリカードであるSDカードの記憶容量は、発売当初は8MBであったが、現在は512MBのSDカードが発売されており、今後も記憶容量は増加していく見込みである。
【0003】
ホスト(例えばSDカードスロットを有する携帯情報端末)は、記憶装置(例えば不揮発性メモリを有するSDカード)にデータを書込み、データを読み出す。フラッシュメモリ等の書き換え可能な不揮発性メモリにおいては、一定の領域を一括消去した後そこに新たなデータを書き込む。そのため、例えば記録されているデータを書き換えると、そのデータが記録されているアドレスは、書き換えの前後で異なる。データが実際に記録されているアドレス(物理アドレス)をホストが直接管理することは極めて煩雑であるため、ホストと記憶装置との通信においては論理アドレスを用いることが一般的である。ホストは、実際にデータが書き込まれているアドレス(物理アドレス)を管理することなく、一定の論理アドレスに基づいてデータを記憶装置に書き込み又は読み出すことが出来る。記憶装置が実際にデータが書き込まれる物理アドレスを管理する。記憶装置は、内部で論理アドレスを物理アドレスに変換し(論理アドレス/物理アドレス変換テーブル(以下、「変換テーブル」と略す。)を用いる。)、物理アドレスにデータを記録し、物理アドレスからデータを再生する。
【0004】
しかし、SDカードの記憶容量の増大に伴い、変換テーブルも大きくなる。記憶装置は一般に、不揮発性メモリから読み出した変換テーブルをRAM(RandomAccess 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に記載の発明は、データを格納する論理アドレスを物理アドレスに変換する変換テーブルの少なくとも一部を記憶可能な揮発性メモリと、第1の変換テーブルから第nの変換テーブルまでのn階層(nは2以上の任意の整数)のツリー構造を有する前記変換テーブルを記憶し、物理アドレスが割り付けられ、各物理アドレス毎にデータ記憶領域と冗長領域とを有する書き換え可能な不揮発性メモリと、を有し、論理アドレスを物理アドレスに変換する第iの変換テーブル(iは1≦i≦nを満たす任意の整数)に基づいて指定される物理アドレスの前記冗長領域の少なくとも1つに、論理アドレスを物理アドレスに変換する第(i+1)の変換テーブルが記憶され、論理アドレスを物理アドレスに変換する最下層の変換テーブルである第nの変換テーブルに基づいて指定される物理アドレスの前記データ記憶領域に各論理アドレスのデータが記憶されている、ことを特徴とする記憶装置である。好ましくはnは3以上の任意の整数である。
【0014】
本発明の請求項2に記載の発明は、データを格納する論理アドレスを物理アドレスに変換する変換テーブルの少なくとも一部を記憶可能な揮発性メモリと、第1の変換テーブルから第nの変換テーブルまでのn個(nは2以上の任意の整数)のテーブルを鎖状に連結した構造を有する前記変換テーブルを記憶し、物理アドレスが割り付けられている書き換え可能な不揮発性メモリと、を有し、論理アドレスを物理アドレスに変換する第iの変換テーブル(iは1≦i≦nを満たす任意の整数)に基づいて指定される物理アドレスの前記データ記憶領域に、その論理アドレスのデータが記憶され、且つその前記冗長領域に論理アドレスを物理アドレスに変換する第(i+1)の変換テーブルが記憶され、論理アドレスを物理アドレスに変換する第nの変換テーブルに基づいて指定される物理アドレスの前記データ記憶領域にその論理アドレスのデータが記憶されている、ことを特徴とする記憶装置である。好ましくはnは3以上の任意の整数である。
【0015】
本発明の請求項3に記載の発明は、前記不揮発性メモリがnの値を記憶することを特徴とする請求項1又は請求項2に記載の記憶装置である。
【0016】
本発明の請求項4に記載の発明は、第1の変換テーブルに対応づけられた、第1の変換テーブルが存在するか否かを示すフラグを更に記憶したことを特徴とする請求項1又は請求項2に記載の記憶装置である。
【0017】
本発明の請求項5に記載の発明は、第iの変換テーブル(iは1≦i≦nを満たす任意の整数)に対応づけて、その階層レベルを示す値が更に記録されていることを特徴とする請求項1に記載の記憶装置である。
【0018】
本発明の請求項6に記載の発明は、第iの変換テーブル(iは2≦i≦nを満たす任意の整数)に対応づけて、その第iの変換テーブルが記録されている物理アドレスを指定する第(i−1)の変換テーブルが記録されている物理アドレスが更に記録されていることを特徴とする請求項1又は請求項2に記載の記憶装置である。
【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であり、第1の変換テーブルは、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個(=16)の第2の変換テーブル、4096個(=16)の第3の変換テーブル、65536個(=16)の第3の変換テーブルを有する。この変換テーブルにより、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 フラッシュメモリ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a storage device having a rewritable nonvolatile memory.
[0002]
[Prior art]
In recent years, storage devices (for example, memory cards) using rewritable nonvolatile memories (for example, flash memories) have been widely used in the market. With the advance of semiconductor technology, the storage capacity of nonvolatile memories has been increasing. For example, the storage capacity of an SD card, which is a memory card having a flash memory, was 8 MB at the time of its release, but now a 512 MB SD card has been released, and the storage capacity is expected to increase in the future.
[0003]
A host (for example, a portable information terminal having an SD card slot) writes data to and reads data from a storage device (for example, an SD card having a non-volatile memory). In a rewritable nonvolatile memory such as a flash memory, new data is written in a certain area after erasing the area. Therefore, for example, when the recorded data is rewritten, the address where the data is recorded differs before and after the rewriting. Since it is extremely complicated for a host to directly manage an address (physical address) at which data is actually recorded, a logical address is generally used in communication between the host and the storage device. The host can write or read data to or from the storage device based on a certain logical address without managing the address (physical address) where the data is actually written. The storage device manages the physical address where data is actually written. The storage device internally converts a logical address into a physical address (using a logical address / physical address conversion table (hereinafter, abbreviated as “conversion table”)), records data in the physical address, and converts the data from the physical address to the data. To play.
[0004]
However, as the storage capacity of the SD card increases, the conversion table also increases. In general, a storage device writes a conversion table read from a non-volatile memory to a random access memory (RAM), and writes or reads data to or from the non-volatile memory while referring to the conversion table. If the conversion table becomes too large, the entire conversion table is stored in the RAM, so that the RAM capacity increases and the cost of the memory card increases.
[0005]
Japanese Patent Application Laid-Open No. 2001-142774 discloses a conventional example having a plurality of conversion tables each having a size that can be stored in a RAM and a pointer table for storing storage locations of the conversion tables in a nonvolatile memory. A memory card is listed.
FIG. 6 shows the configuration of the above-described conventional memory card. 6, 611 is a host interface, 612 is a control unit, 613 is a ROM (Read Only Memory), 614 is a RAM, and 615 is a flash memory. The flash memory 615 has a management information recording area 653 and a user area 654.
[0006]
In a conventional memory card, the flash memory has a plurality of blocks. The batch erasing of data is performed using a block as a minimum unit (all data in the block is set to 1). One block consists of 32 sectors. Writing or reading of data is performed using a sector as a minimum unit. Each sector has a data storage area and a redundant area. Data is recorded in the data recording area, and attribute information of the data is recorded in the redundant area.
[0007]
The conventional conversion table converts a logical address into a physical address in units of blocks. The logical address and physical address of the block each have a size of 2B.
In the management information recording area 653, a pointer table 651 (LTPa) and a plurality of conversion tables 652-0 to 652-3 (LTPb (# 0) to LTPb (# 3)) are recorded. Data is recorded in the user area. A pointer table 651 (LTPa) is stored in the LTPa area 641 of the RAM 614. One of the conversion tables (LTPb (# 1) in FIG. 6) is stored in the LTPb area 642 of the RAM 614.
[0008]
When a data read command is received from the host, the control unit 612 determines whether the conversion table (LTPb (# 1) in FIG. 6) stored in the RAM 614 includes a read address (logical address). To convert the logical address into a physical address to read the data. If the conversion table LTPb (# 1) stored in the RAM 614 does not include the read address (logical address), the control unit 612 uses the conversion table including the read address (logical address) (for example, LTPb (# 3)). The recording address is described in the pointer table 651 (LTPa).) The flash memory 615 reads the data, stores it in the RAM 614, converts the logical address into a physical address using the conversion table, and reads the data.
[0009]
When a data rewrite command is received from the host, the control unit 612 secures a free area in the flash memory, writes data therein, and writes a new conversion table (for example, LTPb (# 1)) in one free area. Write. The pointer table 651 (LTPa) is also rewritten.
[0010]
[Patent Document 1]
JP 2001-142774 A
[0011]
[Problems to be solved by the invention]
However, in the conventional memory card, it is necessary to secure a large management information recording area for recording the conversion table in proportion to the recording capacity of the flash memory.
In the conventional memory card, since the recording area of the data and the recording area of the conversion table are completely separate areas, it is necessary to read the conversion table separately from the data reading operation.
In a conventional memory card, every time data is rewritten, it is necessary to rewrite a large conversion table (for example, LTPb (# 1)) and a pointer table 651 (LTPa).
[0012]
SUMMARY OF THE INVENTION It is an object of the present invention to provide a storage device having a rewritable nonvolatile memory that requires only a small dedicated recording area for a conversion table.
An object of the present invention is to provide a storage device having a rewritable nonvolatile memory that can read a conversion table at the same time as reading data.
An object of the present invention is to provide a storage device having a rewritable non-volatile memory in which only a small number of small conversion tables need to be rewritten depending on the address at which data has been rewritten.
[0013]
[Means for Solving the Problems]
In order to solve the above problems, the present invention has the following configurations.
According to the first aspect of the present invention, there is provided a volatile memory capable of storing at least a part of a conversion table for converting a logical address for storing data into a physical address, and a first conversion table to an n-th conversion table. A rewritable nonvolatile memory which stores the conversion table having a tree structure of n layers (n is an arbitrary integer of 2 or more) up to, physical addresses are allocated, and has a data storage area and a redundant area for each physical address. And at least one of the redundant areas of a physical address specified based on an i-th conversion table (i is any integer satisfying 1 ≦ i ≦ n) that converts a logical address into a physical address. Finally, a (i + 1) -th conversion table for converting a logical address into a physical address is stored, and a lowermost conversion table for converting a logical address into a physical address is stored. Data for each logical address to the data storage area of the physical address specified on the basis of the conversion table of the n are stored is Le, it is a storage device according to claim. Preferably, n is any integer of 3 or more.
[0014]
According to a second aspect of the present invention, there is provided a volatile memory capable of storing at least a part of a conversion table for converting a logical address for storing data into a physical address, and a first to an n-th conversion table. And a rewritable non-volatile memory storing the conversion table having a structure in which n tables (n is an arbitrary integer of 2 or more) are connected in a chain, and to which physical addresses are assigned. The data of the logical address is stored in the data storage area of the physical address specified based on the i-th conversion table for converting the logical address into the physical address (i is any integer satisfying 1 ≦ i ≦ n). And a (i + 1) -th conversion table for converting a logical address into a physical address is stored in the redundant area, and converts the logical address into a physical address. The physical address designated on the basis of the n conversion table in the data storage area in the data of the logical address is stored, it is a storage device according to claim. Preferably, n is any integer of 3 or more.
[0015]
The invention according to claim 3 of the present invention is the storage device according to claim 1 or 2, wherein the nonvolatile memory stores a value of n.
[0016]
The invention according to claim 4 of the present invention further stores a flag indicating whether or not the first conversion table exists, which is associated with the first conversion table. A storage device according to claim 2.
[0017]
According to a fifth aspect of the present invention, a value indicating a hierarchical level is further recorded in association with an i-th conversion table (i is an arbitrary integer satisfying 1 ≦ i ≦ n). The storage device according to claim 1, wherein the storage device is a storage device.
[0018]
According to a sixth aspect of the present invention, a physical address in which the i-th conversion table is recorded is associated with an i-th conversion table (i is an arbitrary integer satisfying 2 ≦ i ≦ n). 3. The storage device according to claim 1, further comprising a physical address in which a specified (i-1) th conversion table is recorded.
[0019]
The present invention has an effect that a storage device having a rewritable nonvolatile memory that requires only a small dedicated recording area for a conversion table can be realized. The present invention has an effect that a storage device having a rewritable nonvolatile memory that can read a conversion table at the same time as reading data can be realized.
The present invention has the effect of realizing a storage device having a rewritable nonvolatile memory, in which, when data is rewritten, only a small number of small conversion tables related to a logical address need be rewritten.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment specifically showing the best mode for carrying out the present invention will be described with reference to the drawings.
[0021]
<< Example 1 >>
A storage device according to a first embodiment of the present invention will be described with reference to FIGS. The storage device according to the first embodiment is a memory card.
The memory card according to the first embodiment includes a flash memory that is a rewritable nonvolatile memory. The memory card of the first embodiment has a conversion table different from the conventional example. In other respects, the memory card of the first embodiment is basically the same as the conventional example (FIG. 6).
In the memory card of the embodiment, the flash memory has a plurality of blocks. The batch erasing of data is performed using a block as a minimum unit (all data in the block is set to 1). One block consists of 32 sectors. Writing or reading of data is performed using a sector as a minimum unit. Each sector has a data storage area and a redundant area. Data is recorded in the data recording area, and attribute information of the data is recorded in the redundant area.
Generally, data is recorded in the data recording area without creating a free area. Only limited information is recorded in the redundant area, and a substantially unrecorded area remains.
[0022]
As described above, in communication between a host and a storage device, data is transmitted and received using a logical address. The storage device converts a logical address into a physical address using the conversion table, records data in the physical address, and reproduces data from the physical address.
In the first embodiment, a conversion table having a tree structure is recorded in a redundant area of a block.
One block has a size of 16 kB. The 1 GB flash memory has 65536 (= 1G / 16k) blocks. Since the size of the physical address of the block is 2B, in the conventional example, it is necessary to secure a conversion table recording area of 128 kB (= 2B × 65536) in the management information recording area 131 of the nonvolatile memory.
[0023]
In the storage device of the first embodiment, when the SD card is initialized, the control unit 111 stores in the RAM 122 the 0th conversion table 141 (for example, 32B (= (2B / 1 logical block address)) which is the starting point of the logical / physical block address conversion table. × 16 logical block address information).
In the redundant area of the physical block of the user area 132 of the nonvolatile memory 112, a first conversion table 151 and a first conversion table valid flag indicating whether the first conversion table 151 is valid are stored. Is stored. A value “1” of the first conversion table valid flag indicates that the first conversion table 151 is valid, and a value “0” indicates that the first conversion table 151 is invalid.
The control unit 111 reads the first conversion table valid flag and the first conversion table 151 from the nonvolatile memory 112, and generates the zeroth conversion table 141.
The control unit 111 reads the first logical address of the first conversion table 151 registered in the redundant area of the physical block for which the first conversion table valid flag is valid, and reads the logical address and the first conversion table 151. Is registered in the 0th conversion table 141 of the RAM 122 in association with the physical address of the physical block in which the is stored. By performing this basic operation for all physical block addresses, a zeroth conversion table 141 is generated.
[0024]
FIG. 1 is a diagram illustrating the configuration of the memory card according to the first embodiment. In FIG. 1, reference numeral 101 denotes a host, and 102 denotes a memory card according to the first embodiment. The memory card 102 has a control unit 111 and a nonvolatile memory 112. The control unit 111 has an external interface unit 121 and a RAM 122. The nonvolatile memory 112 has a management information recording area 131 and a user area 132. Hierarchy information n (= 3) 155 is recorded in the management information recording area 131, and first to third conversion tables 151 to 153 are recorded in the user area 132.
In the first embodiment, the host 101 is a portable information terminal having a memory card insertion slot. The external interface unit 121 of the control unit 111 communicates with the host 101. The interface unit 121 receives a command (for example, a data read command, a data write command, etc.) and data from the host 101, and transmits a response and data to the host 101.
[0025]
The memory card according to the first embodiment has a tree-structured conversion table of n layers (n is an arbitrary integer of 2 or more; n = 3 in the first embodiment) from the first conversion table to the n-th conversion table. Having.
The control unit 111 uses the conversion table stored in the RAM 122 to write data to or read data from the nonvolatile memory.
When the power is turned on, the control unit 111 reads from the nonvolatile memory 112 a first conversion table 151 (having 16 pairs of logical addresses and physical addresses, each having a size of 32 B (= 2 B × 16). Each address is 2 B). .) Is searched for a valid physical block, and the logical address and the physical address are associated with each other and stored in the RAM 122 (the 0th conversion table 141).
[0026]
The control unit 111 reads one or a plurality of conversion tables (i-th conversion tables) of the first to third conversion tables based on the 0-th conversion table 141, and stores them in the RAM 122 (i-th conversion table). Conversion table 142). The control unit 111 can read the (i + 1) -th conversion table based on the i-th conversion table (1 ≦ i ≦ n). By repeating this, an arbitrary conversion table can be read.
Using the conversion table stored in the RAM 122, the control unit 111 can write data to a physical address of the nonvolatile memory 112 associated with an arbitrary logical address and read data from the physical address.
[0027]
FIG. 2 is a diagram illustrating details of the structure of a conversion table for converting a logical address into a physical address in the memory card according to the first embodiment of the present invention. As described above, the conversion table of the memory card of the first embodiment has n layers from the first conversion table to the n-th conversion table (n is an arbitrary integer of 2 or more; n = 3 in the first embodiment). Has a tree structure of
The 16 pairs of logical addresses and physical addresses included in the 0th conversion table 141 specify 16 blocks in the user area. In the specification and drawings, the logical address and the physical address are represented by hexadecimal numbers. The first conversion tables 151-1 to 151-16 (a total of 16 first conversion tables 151) are recorded in the redundant areas of those blocks.
[0028]
The zeroth conversion table 141 according to the first embodiment has logical addresses that are uniformly located in the entire address space at regular intervals. The entire block address space of the memory according to the first embodiment is from 0000H to FFFFH, and the first conversion table has a physical address associated with a logical address of j000H (j is any integer of 0 ≦ j ≦ F). . For example, in the 0th conversion table 141, the logical address 0000H is associated with the physical address 53ACH.
The physical address associated with the logical address of j000H, the second translation table recorded at that physical address, and the entire third translation table linked to the second translation table in a tree structure are in the range of j000H to jFFFH. Specifies the physical address associated with the logical address.
[0029]
The first conversion table 151-1 is recorded in the redundant area of the block of the physical address 53ACH.
The 16 pairs of logical addresses and physical addresses included in the first conversion table 151-1 specify 16 block addresses in the user area. The conversion table 151-1 of the first embodiment has logical addresses evenly located in the address space of 0000H to 0FFFH at substantially constant intervals. The first conversion table 151-1 of the first embodiment has physical addresses associated with logical addresses of 0000H and 0j00H (j is any integer satisfying 0 ≦ j ≦ F). For example, in the first conversion table 151-1, the physical address indicating the logical address 0000H to 00FFH is associated with 6410H.
[0030]
The second conversion table 152-1 is recorded in the redundant area of the block at the physical address 6410H.
The 16 pairs of logical addresses and physical addresses included in the second conversion table 152-1 specify 16 blocks in the user area. The second conversion table 152-1 of the first embodiment has logical addresses evenly located in the address space of 0000 to 00FFH at substantially constant intervals. The second conversion table 152-1 of the first embodiment has physical addresses associated with logical addresses of 0000H and 00j0H (j is any integer satisfying 0 ≦ j ≦ F). For example, in the second conversion table 152-1, the logical addresses 0010H to 001FH are associated with the physical address 65DAH.
[0031]
Similarly to the above, the third conversion table 153-2 is recorded at the physical address 65DAH.
The 16 pairs of logical addresses and physical addresses included in the third conversion table 153-2 specify 16 blocks in the user area.
For example, in the third conversion table 153-2, the logical address 0010H is associated with the physical address 65EFH. The data of the logical address 0010H is recorded in the physical address 65EFH.
[0032]
That is, data is stored in the physical block address specified by the lowermost translation table (the n-th translation table) stored in the physical address designated based on the multi-layered i-th translation table for translating the logical address into the physical address. Is stored.
[0033]
For example, a conversion table having a tree structure of three layers has 16 first conversion tables and 256 conversion tables (= 16 2 ) Second conversion table, 4096 (= 16 3 ), 65536 (= 16) 4 ) Has a third conversion table. With this conversion table, logical address / physical address conversion of the address space of the 1 GB flash memory (having 65536 blocks) can be performed.
Since the first to third conversion tables are distributed and written in the redundant area (there is an unused area) of each block, a recording area dedicated to these conversion tables is unnecessary.
[0034]
For example, a translation table having a four-layer tree structure can perform a logical address / physical address translation of the address space of a 16 GB flash memory (having 1048576 blocks) (the block address is 3B).
As described above, according to the present invention, logical address / physical address conversion of a large address space can be performed by hierarchically combining small logical / physical address conversion tables.
Since the hierarchy information n155 is recorded in the nonvolatile memory 112, compatibility can be easily obtained. Even when the number of layers n is changed in accordance with the capacity of the nonvolatile memory 112 for each memory card, the control unit 111 can correctly convert a logical address to a physical address by reading the number of layers n. Instead of recording the number of layers n155, the number of layers n according to the recording capacity of the non-volatile memory 112 may be determined by a standard. In this case, the control unit 111 obtains the number n of layers according to the recording capacity, and converts the logical address into the physical address.
[0035]
FIG. 3 shows a flowchart of a data reading method in the memory card according to the first embodiment of the present invention. In FIG. 3, the memory card 102 inputs a data read command (including a logical address) from the host 101 (step 301). The control unit 111 of the memory card 102 sets i = 1 (initial setting) (step 302). The first conversion table 151 is read from the nonvolatile memory 112 (Step 303).
Next, the control unit 111 checks whether or not the read conversion table is the lowermost conversion table (the n-th conversion table) (step 304). If it is the lowermost conversion table, the process proceeds to step 308. If it is not the lowermost conversion table, i = i + 1 is set (step 305).
[0036]
Next, the control unit 111 searches the read conversion table for a logical address that is closest to the target logical address and has a value that is not greater than that address (step 306). Next, the control unit 111 reads the i-th conversion table from the physical address corresponding to the searched logical address (Step 307). Proceeding to step 304, the above processing is repeated.
If the conversion table read in step 304 is the lowermost conversion table, the control unit 111 reads a physical address corresponding to the target logical address from the lowermost conversion table, and reads data from the physical address (step 308). ). The control unit 111 outputs the read data to the host 101 (Step 309). The process ends.
[0037]
FIG. 4 is a flowchart illustrating a data rewriting method in the memory card according to the first embodiment of the present invention. 4, the memory card 102 inputs a data rewrite command (including a logical address) from the host 101 (step 401). The control unit 111 of the memory card 102 selects a physical address where nothing is recorded (data is all 1), and writes new data there (step 402).
Next, the control unit 111 changes the conversion table associated with the changed physical address and records it in a new block (step 403). The block having the first conversion table is associated with a first conversion table valid flag (1 if valid, 0 if invalid). Next, the control unit 111 sets the first conversion table valid flag of the block in which the first conversion table is recorded to 0 (step 404).
[0038]
In step 403, the conversion table that needs to be rewritten is a conversion table from the changed physical address to the 0th conversion table 141 by tracing the tree. That is, in the first embodiment (the number of hierarchies n = 3), it is sufficient to rewrite at most four blocks (data and conversion tables).
For example, assume that the data at the logical address 0000H is rewritten in FIG. In FIG. 2, it is assumed that the original data of the logical address 0000H is recorded at the physical address 6483H, but new data is written to the new physical address A023H. The third conversion table 153-1 in which the physical address corresponding to the logical address 0000H has been updated to A023H is copied to the redundant area of A035H which is a new physical address.
[0039]
Next, the control unit 111 changes the physical block corresponding to the logical address 0000H of the second conversion table 152-1 from 6411H to A035H, and adds the new second conversion table to the redundant area of the new physical address A038H. Write 152-1.
Next, the control unit 111 changes the physical block corresponding to the logical address 0000H of the first conversion table 151-1 from 6410H to A038H, and adds the new first conversion table to the redundant area of the new physical address A03BH. Write 151-1. Next, the control unit 111 changes the physical block corresponding to the logical address 0000H of the 0th conversion table 141 on the RAM from 53ACH to A03BH.
In the conventional example, when data is rewritten, it is necessary to rewrite a large conversion table in the management information recording area 131 (actually, write a new conversion table in an unrecorded area). In the storage device of the first embodiment, when data is rewritten, only a small number of small conversion tables need to be rewritten.
[0040]
<< Example 2 >>
Second Embodiment A storage device according to a second embodiment of the present invention will be described with reference to FIG. The storage device according to the second embodiment is a memory card having a 1 GB flash memory. The memory card according to the second embodiment has the same configuration as that of the first embodiment (FIG. 1). In the second embodiment, the host 101 is a portable video / audio player having a memory card insertion slot.
The memory card of the second embodiment has a conversion table different from that of the first embodiment. In other respects, the memory card of the second embodiment is the same as the first embodiment.
[0041]
In the storage device of the second embodiment, a plurality of (four in the embodiment) small first conversion tables 64B (= 2B × 2 × 16) are recorded in the redundant area of the user area 132 of the nonvolatile memory. Another conversion table having a chain structure (second to n-th conversion tables) is recorded in another redundant area of the user area 132. n is an arbitrary integer of 2 or more. In the 1 GB memory card of the second embodiment, n = 1024 (= 1 G / (16 k × 16 × 4)). The size of the first conversion table is arbitrary.
The second to n-th conversion tables have a size of 8B (= 2B × 2 × 2) and include two pairs of logical addresses and physical addresses. One-bit continuation flags are associated with the second to n-th conversion tables.
[0042]
When the power is turned on, the control unit 111 transmits the first conversion table 501 (16 pairs of logical addresses and physical addresses) having a size of 64 B (= 2 B × 2 × 16) from the redundant area of the user area 132 of the nonvolatile memory 112. The address is 2B.) And stored in the RAM 122 (first conversion table 501).
The control unit 111 reads one or a plurality of conversion tables (i-th conversion tables) from the second to n-th conversion tables based on the first conversion table 501 and stores the read-out conversion tables in the RAM 122. The control unit 111 can read the (i + 1) -th conversion table based on the i-th conversion table (1 ≦ i ≦ (n−1)). By repeating this, an arbitrary conversion table can be read.
Using the conversion table stored in the RAM 122, the control unit 111 can write data to a physical address of the nonvolatile memory 112 associated with an arbitrary logical address and read data from the physical address.
[0043]
FIG. 5 is a diagram illustrating a chain structure of a conversion table for converting a logical address to a physical address in the memory card according to the second embodiment of the present invention. Referring to FIG. The 64 pairs of logical addresses and physical addresses included in the first conversion table 501 specify 64 blocks in the user area. Data is recorded in the data recording area of those blocks, and the second conversion table 502 (a total of 64 second conversion tables) is recorded in the redundant area of those blocks.
[0044]
A plurality of (four) first conversion tables 501 of the second embodiment have logical addresses that are evenly located in the entire address space at regular intervals. The entire block address space of the memory according to the second embodiment is 0000H to FFFFH, and the first conversion table 501 corresponds to a logical address of 0j00H (j is 0 ≦ j ≦ FFH and is an integer multiple of 4). It has an assigned physical address. For example, in the first conversion table 501, the logical address 0000H is associated with the physical address 2538H.
The physical address associated with the logical address of 0j00H and the entirety of the second to n-th (= 1024) conversion tables linked in a chain are associated with logical addresses in the range of 0j00H to 0 (j + 3) FFH. Specify the physical address.
[0045]
Data of the logical address 0000H is written in the data recording area of the block of the physical address 2538H. The second conversion table 502 and the continuation flag (= 0) are recorded in the redundant area of the block at the physical address 2538H. The pair of logical address and physical address included in the second conversion table 502 specify the next logical address 0001H and physical address 27A4H linked in a chain. The continuation flag indicates whether or not the next conversion table is recorded in the redundant area of the block of the physical address specified by the conversion table associated therewith. If the continuation flag = 0, the next conversion table is recorded, and if the continuation flag = 1, the next conversion table is not recorded. Thereby, it is possible to identify whether or not the end of the chained conversion table.
[0046]
The data at the logical address 0001H is written in the data recording area of the block at the physical address 27A4H. The third conversion table 503 and the continuation flag (= 0) are recorded in the redundant area of the block at the physical address 27A4H. The two pairs of logical addresses and physical addresses included in the third conversion table 503 are the logical address 0002H and the physical address 27BBH of the next chain and the logical address 0000H and the physical address 2538H of the previous chain. Specify a pair and
[0047]
Similarly to the above, data of the logical address 000iH is written in the data recording area of the block of the i-th physical address. The (i + 2) th conversion table 504 and the continuation flag (= 0) are recorded in the redundant area of the block. The two pairs of logical addresses and physical addresses included in the (i + 2) th conversion table 504 are linked in a chain with the next (i + 1) th logical address and the (i + 1) th physical address pair linked in a chain. The (i-1) th logical address and the (i-1) th physical address pair are designated.
The continuation flag corresponding to the last conversion table connected in a chain is 1. Data is recorded in the block of the physical address specified by the last conversion table, and no conversion table is recorded.
[0048]
In the memory card according to the second embodiment, the first to fourth conversion tables are written in a distributed manner in the redundant area (unused area) of each block. Not required.
In the first or second embodiment, the first conversion table may be recorded in the management information recording area 131 of the nonvolatile memory 112. Also in this case, the amount of information recorded in the management information recording area 131 is small. According to the present invention, logical address / physical address conversion of a large address space can be performed without providing a recording area dedicated to the conversion table (or with a small management information recording area).
The (i + 2) -th conversion table describes the logical address and the physical address of the block in which the (i + 1) -th conversion table located ahead in the chain is written, so that the logical address becomes smaller. Is easy to access. The number n of continuous conversion tables in a chain may or may not be recorded in the nonvolatile memory 112.
[0049]
A method for reading data from the memory card according to the second embodiment will be described. First, a logical address where the target logical address is connected to the chain is searched from the first conversion table 501. Next, the conversion table is sequentially traced from the logical address to find a physical address corresponding to the target logical address. Data is read from the physical address.
[0050]
A method for rewriting data in the memory card according to the second embodiment will be described. The new data and the k-th conversion table are written to the new physical address, and the valid / invalid bit of the block of the physical address where the old data is written is set to 0. In the second embodiment, since the second to n-th conversion tables are very small, any number of conversion tables can be written in the redundant area of one block. An invalidation bit is associated with each conversion table (not invalid = 1 / invalid = 0). The (k-1) th conversion table and the (k + 1) th conversion table are invalidated (invalidation bit = 0), and a new (k-1) th conversion table and a (k + 1) th conversion table are stored in the redundant area of the same block. ) Is written (the physical address where the k-th conversion table is written is updated).
In the conventional example, when data is rewritten, it is necessary to rewrite a large conversion table in the management information recording area 131 (actually, write a new conversion table in an unrecorded area). In the storage device of the first embodiment, when data is rewritten, only a small number of small conversion tables need to be rewritten.
When reading data from the sector, the control unit 111 can simultaneously read the conversion table written in the redundant area.
[0051]
【The invention's effect】
According to the present invention, there is obtained an advantageous effect that a storage device having a rewritable nonvolatile memory that does not require or only needs a dedicated recording area for a conversion table can be realized.
According to the present invention, there is obtained an advantageous effect that a storage device having a rewritable nonvolatile memory capable of reading a conversion table at the same time as reading data can be realized.
According to the present invention, there is an advantageous effect that a storage device having a rewritable non-volatile memory can be realized in which only a small number of small conversion tables need to be rewritten depending on the address at which data has been rewritten.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a memory card according to embodiments 1 and 2 of the present invention.
FIG. 2 is a diagram illustrating a tree structure of a conversion table for converting a logical address into a physical address in the memory card according to the first embodiment of the present invention.
FIG. 3 is a flowchart of a data reading method in the memory card according to the first embodiment of the present invention;
FIG. 4 is a flowchart of a data rewriting method in the memory card according to the first embodiment of the present invention;
FIG. 5 is a diagram illustrating a chain structure of a conversion table for converting a logical address into a physical address in the memory card according to the second embodiment of the present invention.
FIG. 6 is a diagram showing a configuration of a conventional memory card.
[Explanation of symbols]
101 Host
102 Memory Card
111,612 control unit
112 Non-volatile memory
121 External interface
122,614 RAM
131, 615 management information recording area
132, 654 User area
611 Host interface
621 ROM
615 Flash memory

Claims (6)

データを格納する論理アドレスを物理アドレスに変換する変換テーブルの少なくとも一部を記憶可能な揮発性メモリと、
第1の変換テーブルから第nの変換テーブルまでのn階層(nは2以上の任意の整数)のツリー構造を有する前記変換テーブルを記憶し、物理アドレスが割り付けられ、各物理アドレス毎にデータ記憶領域と冗長領域とを有する書き換え可能な不揮発性メモリと、
を有し、
論理アドレスを物理アドレスに変換する第iの変換テーブル(iは1≦i≦nを満たす任意の整数)に基づいて指定される物理アドレスの前記冗長領域の少なくとも1つに、論理アドレスを物理アドレスに変換する第(i+1)の変換テーブルが記憶され、
論理アドレスを物理アドレスに変換する最下層の変換テーブルである第nの変換テーブルに基づいて指定される物理アドレスの前記データ記憶領域に各論理アドレスのデータが記憶されている、
ことを特徴とする記憶装置。
A volatile memory capable of storing at least a part of a conversion table for converting a logical address for storing data into a physical address,
The conversion table having an n-level (n is an arbitrary integer of 2 or more) tree structure from the first conversion table to the n-th conversion table is stored, physical addresses are allocated, and data is stored for each physical address. A rewritable nonvolatile memory having an area and a redundant area;
Has,
A logical address is assigned to at least one of the redundant areas of a physical address specified based on an i-th conversion table for converting a logical address into a physical address (i is an arbitrary integer satisfying 1 ≦ i ≦ n). The (i + 1) -th conversion table to be converted is stored,
The data of each logical address is stored in the data storage area of the physical address specified based on the n-th conversion table, which is a lowermost conversion table for converting a logical address to a physical address.
A storage device characterized by the above-mentioned.
データを格納する論理アドレスを物理アドレスに変換する変換テーブルの少なくとも一部を記憶可能な揮発性メモリと、
第1の変換テーブルから第nの変換テーブルまでのn個(nは2以上の任意の整数)のテーブルを鎖状に連結した構造を有する前記変換テーブルを記憶し、物理アドレスが割り付けられている書き換え可能な不揮発性メモリと、
を有し、
論理アドレスを物理アドレスに変換する第iの変換テーブル(iは1≦i≦nを満たす任意の整数)に基づいて指定される物理アドレスの前記データ記憶領域に、その論理アドレスのデータが記憶され、且つその前記冗長領域に論理アドレスを物理アドレスに変換する第(i+1)の変換テーブルが記憶され、
論理アドレスを物理アドレスに変換する第nの変換テーブルに基づいて指定される物理アドレスの前記データ記憶領域にその論理アドレスのデータが記憶されている、
ことを特徴とする記憶装置。
A volatile memory capable of storing at least a part of a conversion table for converting a logical address for storing data into a physical address,
The conversion table has a structure in which n tables (n is an arbitrary integer of 2 or more) from a first conversion table to an n-th conversion table are connected in a chain, and a physical address is allocated. A rewritable nonvolatile memory;
Has,
The data of the logical address is stored in the data storage area of the physical address specified based on the i-th conversion table (i is any integer satisfying 1 ≦ i ≦ n) for converting the logical address into the physical address. And an (i + 1) -th conversion table for converting a logical address into a physical address is stored in the redundant area,
The data of the logical address is stored in the data storage area of the physical address specified based on the n-th conversion table for converting the logical address to the physical address,
A storage device characterized by the above-mentioned.
前記不揮発性メモリがnの値を記憶することを特徴とする請求項1又は請求項2に記載の記憶装置。3. The storage device according to claim 1, wherein the nonvolatile memory stores a value of n. 第1の変換テーブルに対応づけられた、第1の変換テーブルが存在するか否かを示すフラグを更に記憶したことを特徴とする請求項1又は請求項2に記載の記憶装置。3. The storage device according to claim 1, further comprising a flag associated with the first conversion table, the flag indicating whether the first conversion table exists. 第iの変換テーブル(iは1≦i≦nを満たす任意の整数)に対応づけて、その階層レベルを示す値が更に記録されていることを特徴とする請求項1に記載の記憶装置。2. The storage device according to claim 1, wherein a value indicating the hierarchical level is further recorded in association with an i-th conversion table (i is any integer satisfying 1 ≦ i ≦ n). 第iの変換テーブル(iは2≦i≦nを満たす任意の整数)に対応づけて、その第iの変換テーブルが記録されている物理アドレスを指定する第(i−1)の変換テーブルが記録されている物理アドレスが更に記録されていることを特徴とする請求項1又は請求項2に記載の記憶装置。Corresponding to the ith conversion table (i is an arbitrary integer satisfying 2 ≦ i ≦ n), the (i−1) th conversion table that specifies the physical address where the ith conversion table is recorded is 3. The storage device according to claim 1, wherein a recorded physical address is further recorded.
JP2002315579A 2002-10-30 2002-10-30 Storage device Expired - Fee Related JP3694501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002315579A JP3694501B2 (en) 2002-10-30 2002-10-30 Storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002315579A JP3694501B2 (en) 2002-10-30 2002-10-30 Storage device

Publications (2)

Publication Number Publication Date
JP2004151939A true JP2004151939A (en) 2004-05-27
JP3694501B2 JP3694501B2 (en) 2005-09-14

Family

ID=32459533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002315579A Expired - Fee Related JP3694501B2 (en) 2002-10-30 2002-10-30 Storage device

Country Status (1)

Country Link
JP (1) JP3694501B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006067923A1 (en) * 2004-12-22 2006-06-29 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile storage, nonvolatile storage system, and memory control method
JP2008299455A (en) * 2007-05-30 2008-12-11 Sony Corp Data storage device and data management method
JP2010515179A (en) * 2007-01-17 2010-05-06 メモライト メモリテック (シェンチェン) カンパニー リミテッド Flash memory block management method
WO2011032443A1 (en) * 2009-09-16 2011-03-24 中兴通讯股份有限公司 Method and device for storing and retrieving non-volatile data
JP2013065310A (en) * 2011-09-16 2013-04-11 Apple Inc Faster tree flattening for system having non-volatile memory
JP2017004355A (en) * 2015-06-12 2017-01-05 株式会社東芝 Memory system
JP2018041204A (en) * 2016-09-06 2018-03-15 東芝メモリ株式会社 Memory device and information processing system
JP2019040628A (en) * 2018-11-13 2019-03-14 東芝メモリ株式会社 Memory system
JP2020074222A (en) * 2020-02-04 2020-05-14 キオクシア株式会社 Memory device and method
JP2020091911A (en) * 2020-03-05 2020-06-11 キオクシア株式会社 Control method of memory system
JP2022051857A (en) * 2020-02-04 2022-04-01 キオクシア株式会社 Memory device and method for controlling memory device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05241741A (en) * 1990-12-31 1993-09-21 Intel Corp Non-volatile semiconductor memory and computer system using this
JPH05282880A (en) * 1992-01-10 1993-10-29 Toshiba Corp Semiconductor disk apparatus
JPH08127634A (en) * 1990-09-28 1996-05-21 Ppg Ind Inc Flexible,foamable fireproofing coating composition
JPH08510072A (en) * 1993-03-08 1996-10-22 エム−システムズ・リミテッド Flash file system
JPH1049447A (en) * 1996-08-02 1998-02-20 Tokyo Electron Ltd Semiconductor memory device
WO1999030239A1 (en) * 1997-12-05 1999-06-17 Tokyo Electron Limited Memory and access method
JP2000227871A (en) * 1999-02-05 2000-08-15 Seiko Epson Corp Non-volatile storage device, control method therefor and information recording medium
JP2002175211A (en) * 2000-12-07 2002-06-21 Sharp Corp System and method for controlling data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08127634A (en) * 1990-09-28 1996-05-21 Ppg Ind Inc Flexible,foamable fireproofing coating composition
JPH05241741A (en) * 1990-12-31 1993-09-21 Intel Corp Non-volatile semiconductor memory and computer system using this
JPH05282880A (en) * 1992-01-10 1993-10-29 Toshiba Corp Semiconductor disk apparatus
JPH08510072A (en) * 1993-03-08 1996-10-22 エム−システムズ・リミテッド Flash file system
JPH1049447A (en) * 1996-08-02 1998-02-20 Tokyo Electron Ltd Semiconductor memory device
WO1999030239A1 (en) * 1997-12-05 1999-06-17 Tokyo Electron Limited Memory and access method
JP2000227871A (en) * 1999-02-05 2000-08-15 Seiko Epson Corp Non-volatile storage device, control method therefor and information recording medium
JP2002175211A (en) * 2000-12-07 2002-06-21 Sharp Corp System and method for controlling data

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006067923A1 (en) * 2004-12-22 2006-06-29 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile storage, nonvolatile storage system, and memory control method
JP2010515179A (en) * 2007-01-17 2010-05-06 メモライト メモリテック (シェンチェン) カンパニー リミテッド Flash memory block management method
JP2008299455A (en) * 2007-05-30 2008-12-11 Sony Corp Data storage device and data management method
WO2011032443A1 (en) * 2009-09-16 2011-03-24 中兴通讯股份有限公司 Method and device for storing and retrieving non-volatile data
JP2013065310A (en) * 2011-09-16 2013-04-11 Apple Inc Faster tree flattening for system having non-volatile memory
US10248322B2 (en) 2015-06-12 2019-04-02 Toshiba Memory Corporation Memory system
JP2017004355A (en) * 2015-06-12 2017-01-05 株式会社東芝 Memory system
JP2018041204A (en) * 2016-09-06 2018-03-15 東芝メモリ株式会社 Memory device and information processing system
JP2019040628A (en) * 2018-11-13 2019-03-14 東芝メモリ株式会社 Memory system
JP2020074222A (en) * 2020-02-04 2020-05-14 キオクシア株式会社 Memory device and method
JP2022051857A (en) * 2020-02-04 2022-04-01 キオクシア株式会社 Memory device and method for controlling memory device
JP7048650B2 (en) 2020-02-04 2022-04-05 キオクシア株式会社 Memory device and method
JP7238178B2 (en) 2020-02-04 2023-03-13 キオクシア株式会社 Memory device and method of controlling memory device
JP2020091911A (en) * 2020-03-05 2020-06-11 キオクシア株式会社 Control method of memory system

Also Published As

Publication number Publication date
JP3694501B2 (en) 2005-09-14

Similar Documents

Publication Publication Date Title
US10657047B2 (en) Data storage device and method of performing partial garbage collection
CN100347684C (en) Recording system, data recording device, memory device, and data recording method
JP4695801B2 (en) Method and apparatus for reducing block write operation time performed on non-volatile memory
TWI240865B (en) Method and apparatus for splitting a logical block
JP4611024B2 (en) Method and apparatus for grouping pages in a block
US8205063B2 (en) Dynamic mapping of logical ranges to write blocks
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US7227788B2 (en) Memory management device and memory device
US7404031B2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
CN1227591C (en) Recording system, data recording device, memory device, and data recording method
JP5129156B2 (en) Access device and write-once recording system
JP2001350665A (en) Semiconductor memory device with block alignment function
US20080082774A1 (en) Methods of Managing File Allocation Table Information
KR100608602B1 (en) Flash memory, Mapping controlling apparatus and method for the same
KR20180131475A (en) Managing multiple namespaces in a non-volatile memory (nvm)
KR20080032636A (en) Interfacing systems operating through a logical address space and on a direct data file basis
JPWO2009153982A1 (en) Multiple-partitioned nonvolatile storage device and system
US20100217918A1 (en) Data storage device and method for accessing flash memory
JP3694501B2 (en) Storage device
KR20020092261A (en) Management Scheme for Flash Memory with the Multi-Plane Architecture
JP2003058417A (en) Storage device
TW201935247A (en) Management method of metadata and memory device using the same
KR20040072875A (en) Storage using nand flash memory
JP2006252137A (en) Optimization method for nonvolatile storage device

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