JP2007199828A - 不揮発性記憶装置およびそのアドレス管理方法 - Google Patents

不揮発性記憶装置およびそのアドレス管理方法 Download PDF

Info

Publication number
JP2007199828A
JP2007199828A JP2006014978A JP2006014978A JP2007199828A JP 2007199828 A JP2007199828 A JP 2007199828A JP 2006014978 A JP2006014978 A JP 2006014978A JP 2006014978 A JP2006014978 A JP 2006014978A JP 2007199828 A JP2007199828 A JP 2007199828A
Authority
JP
Japan
Prior art keywords
address
physical
block
logical
stored
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.)
Pending
Application number
JP2006014978A
Other languages
English (en)
Inventor
Toshiyuki Honda
利行 本多
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 JP2006014978A priority Critical patent/JP2007199828A/ja
Publication of JP2007199828A publication Critical patent/JP2007199828A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】物理ブロックの数が多い大容量のフラッシュメモリを用いた不揮発性記憶装置において、空きブロックの検索を短時間で実行可能な不揮発性記憶装置を提供する。
【解決手段】データ書き込み済みの物理ブロックのアドレスを論物変換テーブル106にリストし、データ消去済みの物理ブロックのアドレスを空きブロックテーブル107にリストする。
コントローラ104は、フラッシュメモリ103にデータを書き込む際、(a)空きブロックテーブル107から有効なデータが書き込まれていない任意の物理ブロックのアドレスを選択して、そのアドレスの物理ブロックにデータを書き込み、(b)データが書き込まれた物理ブロックのアドレスを、論物変換テーブル106に、外部から提供された論理アドレスに対応する形で格納する。
【選択図】図1

Description

本発明は、フラッシュメモリ等の不揮発性メモリを用いた不揮発性記憶装置およびそのアドレス管理方法に関するものである。
近年、不揮発性メモリを搭載したメモリーカードが、デジタルカメラや携帯電話のメモリーカードとして市場を拡大している。またメモリーカードは、デジタルカメラの高画素化や携帯電話での動画記録等の用途へ向け、さらなる大容量化へと拡がりを見せている。
このため、より大容量のメモリーカードを実現するため大容量の不揮発性メモリを容易にかつ高速に制御する方法が求められている。より大容量の不揮発性メモリを扱うためには、より大容量のアドレス情報を管理するための揮発性メモリが必要になる。
アドレス情報の管理は、論物変換テーブルと消去済みテーブルを用いて行なわれる。論物変換テーブルは、メモリーカード外部のホスト機器が指定するアドレス(以降、論理アドレスという)と不揮発性メモリのアドレス(以降、物理アドレスという)との対応関係、すなわち論理アドレスを物理アドレスに変換する情報を格納したテーブルである。また消去済みテーブルは、不揮発性メモリの消去単位あたりの物理アドレス毎に、その物理アドレスが書き込み済であるか消去済であるかの情報を格納するテーブルである。
以下、従来の不揮発性記憶装置の構成と書き込み方法について図面を参照して説明する(特許文献1参照)。
図10は不揮発性記憶装置の一種であるメモリーカードのブロック図である。メモリーカード702は、主に、データを記憶するための不揮発性メモリからなるフラッシュメモリ1003と、ホスト1001とのI/Fを制御すると共にフラッシュメモリ1003の制御を行うコントローラで構成されている。コントローラ1004は、フラッシュメモリ1003を管理するための揮発性メモリで構成されたアドレス管理テーブルを有している。アドレス管理テーブル1005は、ホスト1001の指定する論理アドレスに対応するフラッシュメモリ1003の物理アドレスを情報として格納する論物変換テーブル1006と、フラッシュメモリ1003の物理ブロックの状態がそれぞれ書き込み済みか消去済みかを、ビット情報として格納している消去済みテーブル1007で構成されている。
図11はフラッシュメモリ1003の内部の構成を示した図である。フラッシュメモリ1003は、データの消去単位である物理ブロック単位で番号付けされており、それぞれPBA0000〜PBA0123の1024個の物理ブロック1101がある。論物変換テーブル1006には、この物理ブロックのアドレスである0000〜1023が格納されている。
図12(A)は論物変換テーブル1006の構成を示した図である。フラッシュメモリ1003の1024個の物理ブロックうち1000個の物理ブロックでカバーできる容量をホスト1001からアクセスできる領域としている。従って、論理アドレスが0x000〜0x3E7(16進数12ビットで表記、10進数表記では0〜999)が論物変換テーブルの領域であり、それぞれ論理アドレスをテーブルのアドレスとしたときの対応する物理ブロックのアドレスがデータとして格納されている。論物変換テーブルに引き続くアドレス0x3E8〜0x3FFの領域は、予備領域として何も使用されない領域となっている。
一方、図12(B)は消去済みテーブル1007の構成を示した図である。フラッシュメモリ1003の物理ブロック数1024個に対応して、それぞれ1ビットの情報で、消去済みの物理ブロックに関してはデータ”1”で、書き込み済みの物理ブロックに関してはデータ”0”で表している。
図13は、書き込み時のコントローラ1004の動作を示すフローチャート、図14(A)、(B)は、書き込み前の論物変換テーブル1006と消去済みテーブル1007の状態を示した図、図15(A)、(B)は、書き込み後の論物変換テーブル1006と消去済みテーブル1007の状態を示した図である。以下、図13〜15を用いて従来の不揮発性記憶装置の書き込み方法について説明する。
図13の書き込みフローに入る前に、ホスト1001がメモリーカード1002に対して書き込みのコマンドと書き込みのデータを送る。ここではホスト1001が論理アドレス0x100に対してデータを書き込む場合について説明する。
ホスト1001のコマンドを受けて、コントローラ1004は書き込み先を決定する(ステップS1301)。具体的には、消去済みテーブル1007からデータ”1”が格納されている箇所を検索することで消去済みの物理ブロックを得て書き込み先の物理ブロックとする。
この際、消去済みテーブル1007を順次読み出して確認する必要があるので、消去済みの物理ブロックの検索には相当の時間がかかる。消去済みテーブル1007には、論物変換テーブル1006に登録されている1000個の論理アドレスに対して1000個の物理アドレスが登録されているために、最悪の条件では1001ビットの情報を読み出してようやく消去済みの物理ブロックを得ることができる。図14(B)に示す例では、消去済みテーブル1007を検索してアドレス0x321に格納されたデータ”1”を読み出すことで物理ブロックアドレス0x321が消去済みの物理ブロックであるという情報を得る。
次に、コントローラ1004は、S1301で決定した物理ブロック0x321に対してホスト1001から転送されてきたデータを書き込む(S1302)。
次に、コントローラ1004は、フラッシュメモリ1003に残された旧データの消去を行う(S1303)。旧データは、論物変換テーブル1006にもともと書き込まれていたアドレスの物理ブロックに存在しているはずなので、図14(A)においてホスト1001の指定した論理アドレス0x100に格納されている0x123が、旧データの存在する物理ブロックのアドレスである。この物理ブロック0x123のデータを消去する。
次に、テーブルの更新を行う(S1304)。図15(A)に示すように、論物変換テーブル1006のホストの指定した論理アドレス0x100に対応する位置にS1302で書き込みを行った物理ブロックのアドレス0x321を格納し、図15(B)に示すように、消去済みテーブル1007のうち、書き込みを行った物理ブロックのアドレス0x321の位置のビット情報を”0”に、消去を行った物理ブロックのアドレス0x123の位置のビット情報を”1”に更新する。図15(A)が論物変換テーブル1006の更新後の状態、図15(B)が消去済みテーブル1007の更新後の状態である。
このようにしてコントローラ1004は書き込みを終了する。この後、コントローラ1004はホスト1001に対して書き込みの終了を通知することで、ホスト1001からメモリーカード1002へのデータの書き込みが終了する。
特開2001−142774号公報
上記状来の書き込み方法においては、フラッシュメモリに対してデータを書き込む際、コントローラは、書き込み先となる物理ブロックを決定するため、空きブロックテーブルを用いて書き込み先物理ブロックの検索を行っている。しかし、空きブロックテーブルはビットマップ形式で保持されており、空きブロックを検索するためには、最悪の場合、ビットマップのほぼ全領域を検索する時間が必要となり、大容量化に伴って検索時間が無視できない状況になってきている。
本発明は上記従来の問題点に鑑み、空きブロックの検索を短時間で実行可能な不揮発性記憶装置を提供することを目的とする。
上記目的を達成するために、本発明の不揮発性記憶装置は、
消去単位である複数の物理ブロックで構成され、かつ前記各物理ブロックにアドレスが付与された不揮発性メモリと、
前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
を備えた不揮発性記憶装置であって、
前記アドレス管理テーブルは、
(a)有効なデータが書き込まれた物理ブロックのアドレスを、外部から提供された論理アドレスに対応する形で格納する論物変換テーブルと、
(b)有効なデータが書き込まれていない物理ブロックのアドレスを格納する空きブロックテーブルと
で構成されていることを特徴とする。
本発明の不揮発性記憶装置において、前記アドレス管理テーブルに空きブロックインデックスを設け、この空きブロックインデックスに、前記空きブロックテーブルに格納された物理ブロックのアドレスのうち、次にデータを書き込む物理ブロックのアドレスを格納することが好ましい。なお、前記空きブロックインデックスは、前記空きブロックテーブルに格納された複数の物理ブロックのアドレスを巡回的に選択するようにしても良い。
また本発明の不揮発性記憶装置において、有効なデータが書き込まれていない前記物理ブロックの数が、前記空きブロックテーブルに格納可能な数を超えた場合、前記アドレスに識別フラグを付して前記論物変換テーブルに格納することが好ましい。
また本発明の不揮発性記憶装置において、前記空きブロックテーブルの一部をバッドブロックテーブルとして用い、このバッドブロックテーブルに不良ブロックのアドレスを格納しても良い。同様に、前記アドレス管理テーブルにバッドブロックカウントを設け、このバッドブロックカウントに、前記バッドブロックテーブルに格納された不良ブロックの数を格納するようにしても良い。
次に、本発明の不揮発性記憶装置のアドレス管理方法は、
消去単位である複数の物理ブロックで構成され、かつ前記各物理ブロックにアドレスが付与された不揮発性メモリと、
前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
を備えた不揮発性記憶装置のアドレス管理方法であって、
前記コントローラは、
(a)有効なデータが書き込まれていない物理ブロックのアドレスを格納した空きブロックテーブルから任意のアドレスを選択して、そのアドレスの物理ブロックにデータを書き込み、
(b)前記データが書き込まれた物理ブロックのアドレスを、有効なデータが書き込まれた物理ブロックのアドレスを管理する論物変換テーブルに、外部から提供された論理アドレスに対応する形で格納する
ことを特徴とする。
本発明の不揮発性記憶装置のアドレス管理方法において、前記論物変換テーブルに物理ブロックのアドレスが書き込まれた後、前記論物変換テーブルに、前記論理アドレスに対応する形で先に格納されていたアドレスの物理ブロックのデータを消去し、その物理ブロックのアドレスを前記空きブロックテーブルに格納することが好ましい。
本発明の不揮発性記憶装置は、消去済みテーブルによる空きブロックの管理を廃止し、フラッシュメモリの空きブロックのアドレスをリスト形式で保持すると共に、リスト順に従って書き込み先物理ブロックを順次使用することで、空きブロックの検索時間を実質なくすことができるものである。
以下、本発明の実施の形態について図面を参照して説明する。
(実施の形態1)
図1は本発明の実施の形態1における不揮発性記憶装置のブロック図である。
図1において、不揮発性記憶装置としてのメモリーカード102は、主に、データを記憶するための不揮発性メモリからなるフラッシュメモリ103と、ホスト101とのI/Fを制御すると共にフラッシュメモリ103の制御を行うコントローラで構成されている。
コントローラ104には、フラッシュメモリ103を管理するための揮発性メモリで構成されたアドレス管理テーブル105が内蔵されている。アドレス管理テーブル105において、106はホスト101の指定する論理アドレスに対応するフラッシュメモリ103の物理ブロックのアドレスを格納する論物変換テーブル、107はフラッシュメモリ103のなかでホストの指定する論理アドレスのデータが格納されている物理ブロック以外の複数の物理ブロックが、物理アドレスのリストとして格納されている空きブロックテーブルである。
従って、論物変換テーブル106と空きブロックテーブル107には、供にフラッシュメモリ103の物理ブロックアドレスのリストが格納されているが、互いに重複するデータが格納されることはない。108は空きブロックインデックスで、空きブロックテーブル107のリストのどの行を選択するかのインデックス情報が格納されている。
前述の図11に示したように、フラッシュメモリ103はデータの消去単位である物理ブロック単位で番号付けされており、それぞれPBA0000〜PBA0123までの1024個の物理ブロックがある。論物変換テーブル106にも空きブロックテーブル107にもこの物理ブロックのアドレスである0000〜1023が格納されている。
図2は論物変換テーブル106と空きブロックテーブル107の構成を示した図である。フラッシュメモリ103の物理ブロック数は1024個であり、2のべき乗個である。これは一般的なメモリ全てについて言えることであり、メモリは普通2のべき乗のアドレスを持つ。これは2のべき乗のアドレスを持つことが最も面積に対する容量の効率が良いからである。従って本実施の形態では、論物変換テーブル106にも空きブロックテーブル107とを併せて一つの揮発性メモリ上に構成した場合について説明する。
フラッシュメモリ103の全ての物理ブロックと同じ容量をメモリーカード102が持つわけではなく、実際にはメモリーカード102の容量はフラッシュメモリ103の容量よりも少なく設定される。これはフラッシュメモリ103にある不良ブロックの存在や、物理ブロックのウェアレベリングの問題からそのような構成をとることが一般的である。図2の例では、論理アドレスは0x000〜0x3E7(16進数12ビットで表記、10進数表記で0〜999)で示されている。すなわちアドレスの0x000〜0x3E7までが論物変換テーブル106の領域であり、このテーブルには、それぞれ論理アドレスをテーブルのアドレスとしたときの対応する物理ブロックのアドレスがデータとして格納されている。
図2において、論理アドレスの領域に続くアドレス0x3E8〜0x3FFの領域が空きブロックテーブル107であり、ホストの論理アドレスに対応しない物理ブロックのアドレスがリストされている。
論物変換テーブル106のワード数と空きブロックテーブル107のワード数とを併せたワード数(ここでは0x400ワード)はフラッシュメモリ103の物理ブロック数と等しくなる。これは、有効なデータが書きこまれた物理ブロックについては論物変換テーブルにアドレスがリストされ、有効なデータが書き込まれていない物理ブロックについては空きブロックテーブルにアドレスがリストされるためである。
次に、図3はフラッシュメモリ103にデータを書き込む際のコントローラ104の制御動作を示すフローチャート、図4(A)、(B)はデータ書き込みの前と後における論物変換テーブル106と空きブロックテーブル107の状態を示した図である。以下、図3および図4を用いてメモリーカードにデータを書き込む際のアドレス管理方法について説明する。
図3の書き込みフローに入る前に、ホスト101がメモリーカード102に対して書き込みのコマンドと書き込みのデータを送る。ここではホスト101が論理アドレス0x100に対してデータを書き込む場合について説明する。
ホスト101のコマンドを受けてコントローラ104はインデックスの取得を行う(ステップS301)。具体的には、空きブロックインデックス108の値を取得する。ここでは空きブロックインデックス108の値が0x009であるとする。
次に、コントローラ104は書き込み先の決定を行う(S302)。具体的には、ステップS301で取得したインデックスに対応する空きブロックテーブル107にアドレスが格納された物理ブロックをフラッシュメモリ103の書き込み先として決定する。インデックスが0x009なので、空きブロックテーブル107の開始アドレスである0x3E8をオフセットとして0x3F1(=0x3E8+0x009)に格納された物理ブロックアドレス、つまり図4(A)のアドレス0x3F1に格納されている0x321がフラッシュメモリ103の書き込み先物理ブロックのアドレスとなる。この書き込み先決定は、指定されるアドレスのデータを読み出すだけであるため直ぐに決定することができ、従来のような検索動作は必要がなくなる。
次に、コントローラ104は、ステップS302で決定した物理ブロックのアドレス0x321に対してホスト101から転送されてきたデータを書き込む(S303)。
次に、コントローラ104はフラッシュメモリ103に残された旧データの消去を行う(S304)。旧データは論物変換テーブル106にもともと書き込まれていたアドレスの物理ブロックに存在しているはずなので、図4(A)においてホスト101の指定した論理アドレス0x100に格納されているアドレス0x123が旧データの存在するフラッシュメモリ103の物理ブロックのアドレスである。この物理ブロックのアドレス0x123のデータを消去する。
次にテーブルの更新を行う(S305)。図4(B)に示すように、論物変換テーブル106のホストの指定した論理アドレス0x100に対応する位置に今回のステップS303で書き込みを行った物理ブロックのアドレス0x321を格納し、空きブロックテーブル107のインデックスから指定される位置である0x3F1に、ステップS304で消去を行った物理ブロックのアドレス0x123を格納する。
最後に、インデックスインクリメントを行う(S306)。具体的には、空きブロックインデックス108に格納されているアドレス0x009を1インクリメントしたアドレス0x00Aを空きブロックインデックス108に格納する。なお、インデックスが空きブロックテーブル107の領域を超えてオーバーフローするときにはインデックスの値は0x000にしてループさせる。このように空きブロックインデックス108には、空きブロックテーブル107に格納されているアドレスを巡回的に格納する。
このようにしてコントローラ104は書き込みを終了する。この後、コントローラ104はホスト101に対して書き込みの終了を通知することで、ホスト101からメモリーカード102へのデータの書き込みが終了する。
本実施の形態において、空きブロックテーブル107にリストする物理ブロックのアドレス数は24個に限られており、その数を超える物理ブロックが、論理ブロックに対応する有効なデータがない、または論理ブロックに対応するデータが消去済みで未書き込みの状態である場合は、例えば論物変換テーブル106に未書き込みの状態を表すフラグとともに物理ブロックのアドレスを書き込むことによって対応可能である。
図5は、全ての物理ブロックがデータ消去済みの状態における論物変換テーブル106を示したものであり、物理ブロックのアドレスの最上位ビットを“1”(16進数表記で“8”)にして、データ消去済みのブロックであることを表している。図6は上記構成を採用した時のデータ書き込みの前と後における論物変換テーブル106と空きブロックテーブル107の状態を示した図である。なお、空きブロックインデックス108の値は0x000とする。従って、書き込み開始アドレスはオフセット値0x3E8+0x000=0x3E8となる。
図6に基づいて、簡単に書き込みの際のフローを説明すると、空きブロックインデックス108で指定された物理ブロック0x3E8に対してデータの書き込みを行う。図4の説明ではデータの書き込みに引き続いて旧データの消去を行ったが、図6では全ての物理ブロックが消去済みであるため旧データの消去を行う必要はない。このため、次にテーブルの更新を行う。
図6に矢印で示したように、ホスト101の指定した論物変換テーブル106の論理アドレス0x000に対応する位置に、書き込みを行った物理ブロックのアドレス0x3E8を格納し、代わりに論理アドレス0x000に格納された物理ブロックのアドレス0x000(論物変換テーブル106では最上位ビットに消去済みのブロックを示す“1”をつけて0x800が格納されているが、物理ブロックアドレスは最上位ビットの“1”を除いた部分の0x00)を空きブロックインデックス108で指定された位置である0x3E8に格納する。最後にインデックスインクリメントを行い、空きブロックインデックス108に格納されている0x000を1インクリメントした0x001を空きブロックインデックス108に格納する。
以上の動作を繰り返すことにより、物理ブロックでのデータの書き込みと論物変換テーブル106および空きブロックテーブル107の更新を行う。
(実施の形態2)
本発明の実施の形態2では、新たに、不良ブロックが発生した場合の物理アドレスの管理を、アドレス管理テーブル105に追加している。
図7は本実施の形態2における不揮発性記憶装置のブロック図である。図1に示す実施の形態1の構成と異なるのは、アドレス管理テーブル105にバッドブロックテーブル701とバッドブロックカウント702を付加した点である。バッドブロックテーブル701は、不良ブロック(バッドブロック)の物理アドレスをリスト形式で保持したものであり、不良ブロックが発生すると空きブロックの数が減るため、空きブロックテーブル107の空き部分を利用している。バッドブロックカウント702は、不良ブロックの物理ブロック数を保持するものである。
図8は論物変換テーブル106と空きブロックテーブル107、さらにバッドブロックカウント702の構成を示した図である。図8において、図2と同様アドレスの0x000〜0x3E7までが論物変換テーブル106の領域である。空きブロックテーブル107の一部がバッドブロックテーブル701に割り当てられており、バッドブロックカウント702の数は、バッドブロックテーブル701に含まれる不良ブロックのアドレス数と一致する。なお、不良ブロックがない時には、バッドブロックテーブル701がなくなるか容量が0になる。
物理ブロックにデータを書き込む際のアドレス管理方法は、基本的には実施の形態1で説明した方法と変わらないが、空きブロックインデックス108での処理が異なってくる。すなわち、空きブロックインデックス108の値は、(論理アドレスの最大値+1)から(物理アドレスの最大値−バッドブロックの数)までが巡回的に変化する。
例えば、不良ブロックがない場合には(バッドブロックカウントの値は0)、実施の形態1で説明したように空きブロックインデックス108の値は、0x3E8、0x3E9、・・・0x3FE、0x3FFと続き、先頭にもどるが、不良ブロックが2つある場合(バッドブロックカウントの値は2)、0x3E8、0x3E9、・・・0x3FC、0x3FDと続き、その後先頭にもどる。
以上説明したように、本実施の形態では、アドレス管理テーブル105にバッドブロックテーブル701を付加することにより、不良ブロックのアドレスを容易に管理することが可能となる。
なお、上記各実施の形態においては、メモリーカードの全ての論理アドレスを管理できる容量のアドレス管理テーブルを揮発性メモリ上に配置した例について説明したが、それを不揮発性メモリ(データを格納するためのフラッシュメモリ、またはそれ以外の別のFeRAMやRRAM等の不揮発性メモリ)に保持しておき、アドレス管理テーブルの一部分を必要に応じて揮発性メモリにキャッシュして使用する場合についても本発明を適用可能である。そうすることで揮発性メモリの容量を削減することができる。図9は全体を4分割してそのうちの二つの部分を揮発性メモリにキャッシュする場合について示している。この場合には、領域0〜2を選択的に切り替えながらキャッシュし、領域3を常にキャッシュすれば、揮発性メモリの容量を半減することができる。
また、上記各実施の形態においては、アドレス管理テーブルを揮発性メモリ上に配置した例について説明したが、ワード単位で書き換えが可能なメモリであれば本発明に適用可能であるので、FeRAMやRRAM等の不揮発性メモリ上にアドレス管理テーブルを配置してもよい。
本発明にかかる不揮発性記憶装置は、より多くの物理ブロックを有するフラッシュメモリを用いた場合でも書き込み可能な空きブロックを高速に検索できるため、より大容量の不揮発性記憶装置を必要とする動画記録再生装置等のAV機器の記録媒体として有用である。
本発明の実施の形態1における不揮発性記憶装置のブロック図 同実施の形態1におけるアドレス管理テーブルの構成を示した図 同実施の形態1におけるコントローラの書き込み動作を示したフローチャート 同実施の形態1における書き込み前後のアドレス管理テーブルのアドレスマップを示した図 同実施の形態1におけるアドレス管理テーブルのアドレスマップの他の例を示した図 図5のアドレス管理テーブルを用いた書き込み前後のアドレスマップを示した図 本発明の実施の形態2における不揮発性記憶装置のブロック図 同実施の形態2におけるアドレス管理テーブルの構成を示した図 アドレス管理テーブルが複数の領域に分割されて揮発性メモリに格納された例を示す図 従来の不揮発性記憶装置のブロック図 不揮発性メモリの内部構造を示した図 従来の不揮発性記憶装置における論物変換テーブルと消去済みテーブルのアドレスマップを示した図 従来の不揮発性記憶装置におけるコンとローラの書き込み動作を示したフローチャート 従来の不揮発性記憶装置における書き込み前の論物変換テーブルと消去済みテーブルのアドレスマップを示した図 従来の不揮発性記憶装置における書き込み後の論物変換テーブルと消去済みテーブルのアドレスマップを示した図
符号の説明
101 ホスト
102 メモリーカード
103 フラッシュメモリ
104 コントローラ
105 アドレス管理テーブル
106 空きブロックテーブル
107 消去済みテーブル
108 空きブロックインデックス
701 バッドブロックテーブル
702 バッドブロックカウント

Claims (15)

  1. 消去単位である複数の物理ブロックで構成され、かつ前記各物理ブロックにアドレスが付与された不揮発性メモリと、
    前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
    を備えた不揮発性記憶装置であって、
    前記アドレス管理テーブルは、
    (a)有効なデータが書き込まれた物理ブロックのアドレスを、外部から提供された論理アドレスに対応する形で格納する論物変換テーブルと、
    (b)有効なデータが書き込まれていない物理ブロックのアドレスを格納する空きブロックテーブルと
    で構成されていることを特徴とする不揮発性記憶装置。
  2. 前記アドレス管理テーブルに空きブロックインデックスを設け、この空きブロックインデックスに、前記空きブロックテーブルに格納された物理ブロックのアドレスのうち、次にデータを書き込む物理ブロックのアドレスを格納することを特徴とする請求項1に記載の不揮発性記憶装置。
  3. 前記空きブロックインデックスは、前記空きブロックテーブルに格納された複数の物理ブロックのアドレスを巡回的に選択することを特徴とする請求項2に記載の不揮発性記憶装置。
  4. 有効なデータが書き込まれていない前記物理ブロックの数が、前記空きブロックテーブルに格納可能な数を超えた場合、前記アドレスに識別フラグを付して前記論物変換テーブルに格納することを特徴とする請求項1〜3のいずれかに記載の不揮発性記憶装置。
  5. 前記空きブロックテーブルの一部をバッドブロックテーブルとして用い、このバッドブロックテーブルに不良ブロックのアドレスを格納することを特徴とする請求項1に記載の不揮発性記憶装置。
  6. 前記アドレス管理テーブルにバッドブロックカウントを設け、このバッドブロックカウントに、前記バッドブロックテーブルに格納された不良ブロックの数を格納することを特徴とする請求項5に記載の不揮発性記憶装置。
  7. 前記アドレス管理テーブルを揮発性メモリ上または不揮発性メモリ上に配置したことを特徴とする請求項1〜6のいずれかに記載の不揮発性記憶装置。
  8. 前記アドレス管理テーブルを不揮発性メモリに保持し、必要に応じて前記アドレス管理テーブルの一部を揮発性メモリにキャッシュして使用することを特徴とする請求項1〜6のいずれかに記載の不揮発性記憶装置。
  9. 消去単位である複数の物理ブロックで構成され、かつ前記各物理ブロックにアドレスが付与された不揮発性メモリと、
    前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
    を備えた不揮発性記憶装置のアドレス管理方法であって、
    前記コントローラは、
    (a)有効なデータが書き込まれていない物理ブロックのアドレスを格納した空きブロックテーブルから任意のアドレスを選択して、そのアドレスの物理ブロックにデータを書き込み、
    (b)前記データが書き込まれた物理ブロックのアドレスを、有効なデータが書き込まれた物理ブロックのアドレスを管理する論物変換テーブルに、外部から提供された論理アドレスに対応する形で格納する
    ことを特徴とする不揮発性記憶装置のアドレス管理方法。
  10. 前記論物変換テーブルに物理ブロックのアドレスが書き込まれた後、前記論物変換テーブルに、前記論理アドレスに対応する形で先に格納されていたアドレスの物理ブロックのデータを消去し、その物理ブロックのアドレスを前記空きブロックテーブルに格納することを特徴とする請求項9に記載の不揮発性記憶装置のアドレス管理方法。
  11. 前記空きブロックテーブルに格納された物理ブロックのアドレスのうち、次にデータを書き込む物理ブロックのアドレスを、前記アドレス管理テーブルに設けた空きブロックインデックスに格納することを特徴とする請求項9または10に記載の不揮発性記憶装置のアドレス管理方法。
  12. 前記空きブロックインデックスは、前記空きブロックテーブルに格納された複数の物理ブロックのアドレスを巡回的に選択することを特徴とする請求項11に記載の不揮発性記憶装置のアドレス管理方法。
  13. 有効なデータが書き込まれていない前記物理ブロックの数が、前記空きブロックテーブルに格納可能な数を超えた場合、前記アドレスに識別フラグを付して前記論物変換テーブルに格納することを特徴とする請求項9に記載の不揮発性記憶装置のアドレス管理方法。
  14. 前記アドレス管理テーブルを揮発性メモリ上または不揮発性メモリ上に配置したことを特徴とする請求項9〜13のいずれかに記載の不揮発性記憶装置のアドレス管理方法。
  15. 前記アドレス管理テーブルを不揮発性メモリに保持し、必要に応じて前記アドレス管理テーブルの一部を揮発性メモリにキャッシュして使用することを特徴とする請求項9〜13のいずれかに記載の不揮発性記憶装置のアドレス管理方法。


JP2006014978A 2006-01-24 2006-01-24 不揮発性記憶装置およびそのアドレス管理方法 Pending JP2007199828A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006014978A JP2007199828A (ja) 2006-01-24 2006-01-24 不揮発性記憶装置およびそのアドレス管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006014978A JP2007199828A (ja) 2006-01-24 2006-01-24 不揮発性記憶装置およびそのアドレス管理方法

Publications (1)

Publication Number Publication Date
JP2007199828A true JP2007199828A (ja) 2007-08-09

Family

ID=38454419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006014978A Pending JP2007199828A (ja) 2006-01-24 2006-01-24 不揮発性記憶装置およびそのアドレス管理方法

Country Status (1)

Country Link
JP (1) JP2007199828A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013152676A (ja) * 2012-01-26 2013-08-08 Hitachi Ltd 不揮発性記憶装置
JP2014006902A (ja) * 2012-06-22 2014-01-16 Freescale Semiconductor Inc フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ
JP5400875B2 (ja) * 2009-05-21 2014-01-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
CN109656835A (zh) * 2017-10-12 2019-04-19 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210468A (ja) * 1994-01-18 1995-08-11 Hitachi Ltd 半導体補助記憶装置
JP2001067258A (ja) * 1999-08-25 2001-03-16 Mitsubishi Electric Corp フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210468A (ja) * 1994-01-18 1995-08-11 Hitachi Ltd 半導体補助記憶装置
JP2001067258A (ja) * 1999-08-25 2001-03-16 Mitsubishi Electric Corp フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5400875B2 (ja) * 2009-05-21 2014-01-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
US8688896B2 (en) 2009-05-21 2014-04-01 Panasonic Corporation High speed writing mode in memory controller, nonvolatile storage device, accessing device, nonvolatile storage system, and method and program for writing data
JP2013152676A (ja) * 2012-01-26 2013-08-08 Hitachi Ltd 不揮発性記憶装置
JP2014006902A (ja) * 2012-06-22 2014-01-16 Freescale Semiconductor Inc フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ
CN109656835A (zh) * 2017-10-12 2019-04-19 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置
CN109656835B (zh) * 2017-10-12 2023-07-18 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置

Similar Documents

Publication Publication Date Title
JP4871260B2 (ja) メモリモジュール、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリの読み書き方法
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
JPWO2006067923A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
JP2007241576A (ja) 不揮発性記憶装置およびそのデータ書込み方法
KR20080067334A (ko) 플래시 메모리 매체에서의 데이터 관리 방법
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP2007199828A (ja) 不揮発性記憶装置およびそのアドレス管理方法
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP2009116465A (ja) 記憶装置及びメモリ制御方法
JP2011222057A (ja) メモリシステム
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
TWI601141B (zh) 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置
JP2008097132A (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US8103819B2 (en) Information storage device and stored data processing method
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP4558054B2 (ja) メモリシステム
JP2007280329A (ja) 不揮発性記憶装置および不揮発性記憶装置の管理方法
US20150220432A1 (en) Method and apparatus for managing at least one non-volatile memory
JP2009230205A (ja) メモリシステム
JP5491201B2 (ja) 半導体記録装置及び半導体記録システム
JP2005135544A (ja) 半導体記録媒体及び半導体記録媒体のデータ消去方法
JP2005092678A (ja) 半導体メモリカード及び不揮発性メモリのデータ消去処理方法
JP4710274B2 (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP2004206615A (ja) 記憶装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081107

A621 Written request for application examination

Effective date: 20090123

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Effective date: 20111020

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20111216

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120412