JP2007199828A - Nonvolatile storage device and address management method - Google Patents
Nonvolatile storage device and address management method Download PDFInfo
- 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
Links
Images
Abstract
Description
本発明は、フラッシュメモリ等の不揮発性メモリを用いた不揮発性記憶装置およびそのアドレス管理方法に関するものである。 The present invention relates to a nonvolatile memory device using a nonvolatile memory such as a flash memory and an address management method thereof.
近年、不揮発性メモリを搭載したメモリーカードが、デジタルカメラや携帯電話のメモリーカードとして市場を拡大している。またメモリーカードは、デジタルカメラの高画素化や携帯電話での動画記録等の用途へ向け、さらなる大容量化へと拡がりを見せている。 In recent years, memory cards equipped with non-volatile memory have been expanding the market as memory cards for digital cameras and mobile phones. Memory cards are also expanding to higher capacities for applications such as increasing the pixel count of digital cameras and recording video on mobile phones.
このため、より大容量のメモリーカードを実現するため大容量の不揮発性メモリを容易にかつ高速に制御する方法が求められている。より大容量の不揮発性メモリを扱うためには、より大容量のアドレス情報を管理するための揮発性メモリが必要になる。 For this reason, in order to realize a larger capacity memory card, a method for easily and rapidly controlling a large capacity nonvolatile memory is required. In order to handle a larger capacity non-volatile memory, a volatile memory for managing a larger capacity address information is required.
アドレス情報の管理は、論物変換テーブルと消去済みテーブルを用いて行なわれる。論物変換テーブルは、メモリーカード外部のホスト機器が指定するアドレス(以降、論理アドレスという)と不揮発性メモリのアドレス(以降、物理アドレスという)との対応関係、すなわち論理アドレスを物理アドレスに変換する情報を格納したテーブルである。また消去済みテーブルは、不揮発性メモリの消去単位あたりの物理アドレス毎に、その物理アドレスが書き込み済であるか消去済であるかの情報を格納するテーブルである。 Address information is managed using a logical-physical conversion table and an erased table. The logical-physical conversion table converts the correspondence between an address (hereinafter referred to as a logical address) specified by a host device outside the memory card and an address of a nonvolatile memory (hereinafter referred to as a physical address), that is, a logical address into a physical address. It is a table storing information. The erased table is a table that stores, for each physical address per erase unit of the nonvolatile memory, information indicating whether the physical address has been written or erased.
以下、従来の不揮発性記憶装置の構成と書き込み方法について図面を参照して説明する(特許文献1参照)。
図10は不揮発性記憶装置の一種であるメモリーカードのブロック図である。メモリーカード702は、主に、データを記憶するための不揮発性メモリからなるフラッシュメモリ1003と、ホスト1001とのI/Fを制御すると共にフラッシュメモリ1003の制御を行うコントローラで構成されている。コントローラ1004は、フラッシュメモリ1003を管理するための揮発性メモリで構成されたアドレス管理テーブルを有している。アドレス管理テーブル1005は、ホスト1001の指定する論理アドレスに対応するフラッシュメモリ1003の物理アドレスを情報として格納する論物変換テーブル1006と、フラッシュメモリ1003の物理ブロックの状態がそれぞれ書き込み済みか消去済みかを、ビット情報として格納している消去済みテーブル1007で構成されている。
Hereinafter, a configuration of a conventional nonvolatile memory device and a writing method will be described with reference to the drawings (see Patent Document 1).
FIG. 10 is a block diagram of a memory card which is a kind of nonvolatile storage device. The
図11はフラッシュメモリ1003の内部の構成を示した図である。フラッシュメモリ1003は、データの消去単位である物理ブロック単位で番号付けされており、それぞれPBA0000〜PBA0123の1024個の物理ブロック1101がある。論物変換テーブル1006には、この物理ブロックのアドレスである0000〜1023が格納されている。
FIG. 11 is a diagram showing an internal configuration of the
図12(A)は論物変換テーブル1006の構成を示した図である。フラッシュメモリ1003の1024個の物理ブロックうち1000個の物理ブロックでカバーできる容量をホスト1001からアクセスできる領域としている。従って、論理アドレスが0x000〜0x3E7(16進数12ビットで表記、10進数表記では0〜999)が論物変換テーブルの領域であり、それぞれ論理アドレスをテーブルのアドレスとしたときの対応する物理ブロックのアドレスがデータとして格納されている。論物変換テーブルに引き続くアドレス0x3E8〜0x3FFの領域は、予備領域として何も使用されない領域となっている。
FIG. 12A is a diagram showing the configuration of the logical / physical conversion table 1006. A capacity that can be covered by 1000 physical blocks out of 1024 physical blocks of the
一方、図12(B)は消去済みテーブル1007の構成を示した図である。フラッシュメモリ1003の物理ブロック数1024個に対応して、それぞれ1ビットの情報で、消去済みの物理ブロックに関してはデータ”1”で、書き込み済みの物理ブロックに関してはデータ”0”で表している。
On the other hand, FIG. 12B shows the configuration of the erased table 1007. Corresponding to the number of physical blocks 1024 in the
図13は、書き込み時のコントローラ1004の動作を示すフローチャート、図14(A)、(B)は、書き込み前の論物変換テーブル1006と消去済みテーブル1007の状態を示した図、図15(A)、(B)は、書き込み後の論物変換テーブル1006と消去済みテーブル1007の状態を示した図である。以下、図13〜15を用いて従来の不揮発性記憶装置の書き込み方法について説明する。
FIG. 13 is a flowchart showing the operation of the
図13の書き込みフローに入る前に、ホスト1001がメモリーカード1002に対して書き込みのコマンドと書き込みのデータを送る。ここではホスト1001が論理アドレス0x100に対してデータを書き込む場合について説明する。
Before entering the write flow of FIG. 13, the
ホスト1001のコマンドを受けて、コントローラ1004は書き込み先を決定する(ステップS1301)。具体的には、消去済みテーブル1007からデータ”1”が格納されている箇所を検索することで消去済みの物理ブロックを得て書き込み先の物理ブロックとする。
Upon receiving a command from the
この際、消去済みテーブル1007を順次読み出して確認する必要があるので、消去済みの物理ブロックの検索には相当の時間がかかる。消去済みテーブル1007には、論物変換テーブル1006に登録されている1000個の論理アドレスに対して1000個の物理アドレスが登録されているために、最悪の条件では1001ビットの情報を読み出してようやく消去済みの物理ブロックを得ることができる。図14(B)に示す例では、消去済みテーブル1007を検索してアドレス0x321に格納されたデータ”1”を読み出すことで物理ブロックアドレス0x321が消去済みの物理ブロックであるという情報を得る。 At this time, since it is necessary to sequentially read and check the erased table 1007, it takes a considerable time to search for the erased physical block. Since 1000 physical addresses are registered in the erased table 1007 with respect to 1000 logical addresses registered in the logical-physical conversion table 1006, 1001 bit information is finally read under the worst condition. An erased physical block can be obtained. In the example shown in FIG. 14B, information indicating that the physical block address 0x321 is an erased physical block is obtained by searching the erased table 1007 and reading the data “1” stored at the address 0x321.
次に、コントローラ1004は、S1301で決定した物理ブロック0x321に対してホスト1001から転送されてきたデータを書き込む(S1302)。
Next, the
次に、コントローラ1004は、フラッシュメモリ1003に残された旧データの消去を行う(S1303)。旧データは、論物変換テーブル1006にもともと書き込まれていたアドレスの物理ブロックに存在しているはずなので、図14(A)においてホスト1001の指定した論理アドレス0x100に格納されている0x123が、旧データの存在する物理ブロックのアドレスである。この物理ブロック0x123のデータを消去する。
Next, the
次に、テーブルの更新を行う(S1304)。図15(A)に示すように、論物変換テーブル1006のホストの指定した論理アドレス0x100に対応する位置にS1302で書き込みを行った物理ブロックのアドレス0x321を格納し、図15(B)に示すように、消去済みテーブル1007のうち、書き込みを行った物理ブロックのアドレス0x321の位置のビット情報を”0”に、消去を行った物理ブロックのアドレス0x123の位置のビット情報を”1”に更新する。図15(A)が論物変換テーブル1006の更新後の状態、図15(B)が消去済みテーブル1007の更新後の状態である。 Next, the table is updated (S1304). As shown in FIG. 15A, the address 0x321 of the physical block written in S1302 is stored at the position corresponding to the logical address 0x100 designated by the host in the logical-physical conversion table 1006, and shown in FIG. Thus, in the erased table 1007, the bit information at the position of the address 0x321 of the written physical block is updated to “0”, and the bit information at the position of the address 0x123 of the erased physical block is updated to “1”. To do. FIG. 15A shows a state after the logical-physical conversion table 1006 is updated, and FIG. 15B shows a state after the erased table 1007 is updated.
このようにしてコントローラ1004は書き込みを終了する。この後、コントローラ1004はホスト1001に対して書き込みの終了を通知することで、ホスト1001からメモリーカード1002へのデータの書き込みが終了する。
上記状来の書き込み方法においては、フラッシュメモリに対してデータを書き込む際、コントローラは、書き込み先となる物理ブロックを決定するため、空きブロックテーブルを用いて書き込み先物理ブロックの検索を行っている。しかし、空きブロックテーブルはビットマップ形式で保持されており、空きブロックを検索するためには、最悪の場合、ビットマップのほぼ全領域を検索する時間が必要となり、大容量化に伴って検索時間が無視できない状況になってきている。
本発明は上記従来の問題点に鑑み、空きブロックの検索を短時間で実行可能な不揮発性記憶装置を提供することを目的とする。
In the above conventional writing method, when writing data to the flash memory, the controller searches for the write destination physical block using the empty block table in order to determine the physical block to be written. However, the empty block table is held in bitmap format, and in order to search for empty blocks, in the worst case, it takes time to search almost the entire area of the bitmap. Has become a situation that can not be ignored.
An object of the present invention is to provide a non-volatile storage device capable of executing a search for an empty block in a short time in view of the above conventional problems.
上記目的を達成するために、本発明の不揮発性記憶装置は、
消去単位である複数の物理ブロックで構成され、かつ前記各物理ブロックにアドレスが付与された不揮発性メモリと、
前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
を備えた不揮発性記憶装置であって、
前記アドレス管理テーブルは、
(a)有効なデータが書き込まれた物理ブロックのアドレスを、外部から提供された論理アドレスに対応する形で格納する論物変換テーブルと、
(b)有効なデータが書き込まれていない物理ブロックのアドレスを格納する空きブロックテーブルと
で構成されていることを特徴とする。
In order to achieve the above object, the nonvolatile memory device of the present invention provides:
A non-volatile memory composed of a plurality of physical blocks which are erasure units, and an address is assigned to each physical block;
An address management table for managing the address of each physical block, and a controller for controlling data writing to the plurality of physical blocks or data reading from the plurality of physical blocks based on the address A non-volatile storage device,
The address management table is
(A) a logical-physical conversion table that stores the address of a physical block in which valid data is written in a form corresponding to a logical address provided from the outside;
(B) It is composed of an empty block table for storing addresses of physical blocks to which valid data is not written.
本発明の不揮発性記憶装置において、前記アドレス管理テーブルに空きブロックインデックスを設け、この空きブロックインデックスに、前記空きブロックテーブルに格納された物理ブロックのアドレスのうち、次にデータを書き込む物理ブロックのアドレスを格納することが好ましい。なお、前記空きブロックインデックスは、前記空きブロックテーブルに格納された複数の物理ブロックのアドレスを巡回的に選択するようにしても良い。 In the nonvolatile storage device of the present invention, an empty block index is provided in the address management table, and an address of a physical block to which data is next written out of physical block addresses stored in the empty block table. Is preferably stored. The free block index may cyclically select addresses of a plurality of physical blocks stored in the free block table.
また本発明の不揮発性記憶装置において、有効なデータが書き込まれていない前記物理ブロックの数が、前記空きブロックテーブルに格納可能な数を超えた場合、前記アドレスに識別フラグを付して前記論物変換テーブルに格納することが好ましい。 In the nonvolatile storage device of the present invention, when the number of physical blocks to which valid data is not written exceeds the number that can be stored in the empty block table, an identification flag is attached to the address and It is preferable to store in the object conversion table.
また本発明の不揮発性記憶装置において、前記空きブロックテーブルの一部をバッドブロックテーブルとして用い、このバッドブロックテーブルに不良ブロックのアドレスを格納しても良い。同様に、前記アドレス管理テーブルにバッドブロックカウントを設け、このバッドブロックカウントに、前記バッドブロックテーブルに格納された不良ブロックの数を格納するようにしても良い。 In the nonvolatile memory device of the present invention, a part of the empty block table may be used as a bad block table, and the bad block address may be stored in the bad block table. Similarly, a bad block count may be provided in the address management table, and the number of bad blocks stored in the bad block table may be stored in the bad block count.
次に、本発明の不揮発性記憶装置のアドレス管理方法は、
消去単位である複数の物理ブロックで構成され、かつ前記各物理ブロックにアドレスが付与された不揮発性メモリと、
前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
を備えた不揮発性記憶装置のアドレス管理方法であって、
前記コントローラは、
(a)有効なデータが書き込まれていない物理ブロックのアドレスを格納した空きブロックテーブルから任意のアドレスを選択して、そのアドレスの物理ブロックにデータを書き込み、
(b)前記データが書き込まれた物理ブロックのアドレスを、有効なデータが書き込まれた物理ブロックのアドレスを管理する論物変換テーブルに、外部から提供された論理アドレスに対応する形で格納する
ことを特徴とする。
Next, the address management method of the nonvolatile memory device of the present invention is
A non-volatile memory composed of a plurality of physical blocks which are erasure units, and an address is assigned to each physical block;
An address management table for managing the address of each physical block, and a controller for controlling data writing to the plurality of physical blocks or data reading from the plurality of physical blocks based on the address A non-volatile storage device address management method comprising:
The controller is
(A) Select an arbitrary address from the free block table storing the address of the physical block to which valid data is not written, and write the data to the physical block at that address;
(B) Store the address of the physical block in which the data is written in a logical-physical conversion table that manages the address of the physical block in which valid data is written, in a form corresponding to the logical address provided from the outside. It is characterized by.
本発明の不揮発性記憶装置のアドレス管理方法において、前記論物変換テーブルに物理ブロックのアドレスが書き込まれた後、前記論物変換テーブルに、前記論理アドレスに対応する形で先に格納されていたアドレスの物理ブロックのデータを消去し、その物理ブロックのアドレスを前記空きブロックテーブルに格納することが好ましい。 In the nonvolatile memory device address management method of the present invention, after the address of the physical block is written in the logical-physical conversion table, it is first stored in the logical-physical conversion table in a form corresponding to the logical address. It is preferable to erase the data of the physical block at the address and store the address of the physical block in the empty block table.
本発明の不揮発性記憶装置は、消去済みテーブルによる空きブロックの管理を廃止し、フラッシュメモリの空きブロックのアドレスをリスト形式で保持すると共に、リスト順に従って書き込み先物理ブロックを順次使用することで、空きブロックの検索時間を実質なくすことができるものである。 The nonvolatile storage device of the present invention abolishes the management of empty blocks by the erased table, holds the addresses of the empty blocks of the flash memory in a list format, and sequentially uses the write destination physical block according to the list order, The search time for empty blocks can be substantially eliminated.
以下、本発明の実施の形態について図面を参照して説明する。
(実施の形態1)
図1は本発明の実施の形態1における不揮発性記憶装置のブロック図である。
図1において、不揮発性記憶装置としてのメモリーカード102は、主に、データを記憶するための不揮発性メモリからなるフラッシュメモリ103と、ホスト101とのI/Fを制御すると共にフラッシュメモリ103の制御を行うコントローラで構成されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(Embodiment 1)
FIG. 1 is a block diagram of a nonvolatile memory device according to
In FIG. 1, a
コントローラ104には、フラッシュメモリ103を管理するための揮発性メモリで構成されたアドレス管理テーブル105が内蔵されている。アドレス管理テーブル105において、106はホスト101の指定する論理アドレスに対応するフラッシュメモリ103の物理ブロックのアドレスを格納する論物変換テーブル、107はフラッシュメモリ103のなかでホストの指定する論理アドレスのデータが格納されている物理ブロック以外の複数の物理ブロックが、物理アドレスのリストとして格納されている空きブロックテーブルである。
The
従って、論物変換テーブル106と空きブロックテーブル107には、供にフラッシュメモリ103の物理ブロックアドレスのリストが格納されているが、互いに重複するデータが格納されることはない。108は空きブロックインデックスで、空きブロックテーブル107のリストのどの行を選択するかのインデックス情報が格納されている。
Therefore, the logical-physical conversion table 106 and the empty block table 107 store lists of physical block addresses of the
前述の図11に示したように、フラッシュメモリ103はデータの消去単位である物理ブロック単位で番号付けされており、それぞれPBA0000〜PBA0123までの1024個の物理ブロックがある。論物変換テーブル106にも空きブロックテーブル107にもこの物理ブロックのアドレスである0000〜1023が格納されている。
As shown in FIG. 11, the
図2は論物変換テーブル106と空きブロックテーブル107の構成を示した図である。フラッシュメモリ103の物理ブロック数は1024個であり、2のべき乗個である。これは一般的なメモリ全てについて言えることであり、メモリは普通2のべき乗のアドレスを持つ。これは2のべき乗のアドレスを持つことが最も面積に対する容量の効率が良いからである。従って本実施の形態では、論物変換テーブル106にも空きブロックテーブル107とを併せて一つの揮発性メモリ上に構成した場合について説明する。
FIG. 2 is a diagram showing the configuration of the logical / physical conversion table 106 and the empty block table 107. The number of physical blocks in the
フラッシュメモリ103の全ての物理ブロックと同じ容量をメモリーカード102が持つわけではなく、実際にはメモリーカード102の容量はフラッシュメモリ103の容量よりも少なく設定される。これはフラッシュメモリ103にある不良ブロックの存在や、物理ブロックのウェアレベリングの問題からそのような構成をとることが一般的である。図2の例では、論理アドレスは0x000〜0x3E7(16進数12ビットで表記、10進数表記で0〜999)で示されている。すなわちアドレスの0x000〜0x3E7までが論物変換テーブル106の領域であり、このテーブルには、それぞれ論理アドレスをテーブルのアドレスとしたときの対応する物理ブロックのアドレスがデータとして格納されている。
The
図2において、論理アドレスの領域に続くアドレス0x3E8〜0x3FFの領域が空きブロックテーブル107であり、ホストの論理アドレスに対応しない物理ブロックのアドレスがリストされている。 In FIG. 2, the area of addresses 0x3E8 to 0x3FF following the logical address area is the free block table 107, and addresses of physical blocks not corresponding to the logical address of the host are listed.
論物変換テーブル106のワード数と空きブロックテーブル107のワード数とを併せたワード数(ここでは0x400ワード)はフラッシュメモリ103の物理ブロック数と等しくなる。これは、有効なデータが書きこまれた物理ブロックについては論物変換テーブルにアドレスがリストされ、有効なデータが書き込まれていない物理ブロックについては空きブロックテーブルにアドレスがリストされるためである。
The number of words (here, 0 × 400 words) that is the sum of the number of words in the logical-physical conversion table 106 and the number of words in the free block table 107 is equal to the number of physical blocks in the
次に、図3はフラッシュメモリ103にデータを書き込む際のコントローラ104の制御動作を示すフローチャート、図4(A)、(B)はデータ書き込みの前と後における論物変換テーブル106と空きブロックテーブル107の状態を示した図である。以下、図3および図4を用いてメモリーカードにデータを書き込む際のアドレス管理方法について説明する。
3 is a flowchart showing the control operation of the
図3の書き込みフローに入る前に、ホスト101がメモリーカード102に対して書き込みのコマンドと書き込みのデータを送る。ここではホスト101が論理アドレス0x100に対してデータを書き込む場合について説明する。
Before entering the write flow of FIG. 3, the
ホスト101のコマンドを受けてコントローラ104はインデックスの取得を行う(ステップS301)。具体的には、空きブロックインデックス108の値を取得する。ここでは空きブロックインデックス108の値が0x009であるとする。
In response to the command from the
次に、コントローラ104は書き込み先の決定を行う(S302)。具体的には、ステップS301で取得したインデックスに対応する空きブロックテーブル107にアドレスが格納された物理ブロックをフラッシュメモリ103の書き込み先として決定する。インデックスが0x009なので、空きブロックテーブル107の開始アドレスである0x3E8をオフセットとして0x3F1(=0x3E8+0x009)に格納された物理ブロックアドレス、つまり図4(A)のアドレス0x3F1に格納されている0x321がフラッシュメモリ103の書き込み先物理ブロックのアドレスとなる。この書き込み先決定は、指定されるアドレスのデータを読み出すだけであるため直ぐに決定することができ、従来のような検索動作は必要がなくなる。
Next, the
次に、コントローラ104は、ステップS302で決定した物理ブロックのアドレス0x321に対してホスト101から転送されてきたデータを書き込む(S303)。
Next, the
次に、コントローラ104はフラッシュメモリ103に残された旧データの消去を行う(S304)。旧データは論物変換テーブル106にもともと書き込まれていたアドレスの物理ブロックに存在しているはずなので、図4(A)においてホスト101の指定した論理アドレス0x100に格納されているアドレス0x123が旧データの存在するフラッシュメモリ103の物理ブロックのアドレスである。この物理ブロックのアドレス0x123のデータを消去する。
Next, the
次にテーブルの更新を行う(S305)。図4(B)に示すように、論物変換テーブル106のホストの指定した論理アドレス0x100に対応する位置に今回のステップS303で書き込みを行った物理ブロックのアドレス0x321を格納し、空きブロックテーブル107のインデックスから指定される位置である0x3F1に、ステップS304で消去を行った物理ブロックのアドレス0x123を格納する。 Next, the table is updated (S305). As shown in FIG. 4B, the address 0x321 of the physical block written in the current step S303 is stored at the position corresponding to the logical address 0x100 designated by the host in the logical-physical conversion table 106, and the free block table 107 is stored. The address 0x123 of the physical block that has been erased in step S304 is stored in 0x3F1, which is the position designated from the index.
最後に、インデックスインクリメントを行う(S306)。具体的には、空きブロックインデックス108に格納されているアドレス0x009を1インクリメントしたアドレス0x00Aを空きブロックインデックス108に格納する。なお、インデックスが空きブロックテーブル107の領域を超えてオーバーフローするときにはインデックスの値は0x000にしてループさせる。このように空きブロックインデックス108には、空きブロックテーブル107に格納されているアドレスを巡回的に格納する。
Finally, index increment is performed (S306). Specifically, an address 0x00A obtained by incrementing the address 0x009 stored in the
このようにしてコントローラ104は書き込みを終了する。この後、コントローラ104はホスト101に対して書き込みの終了を通知することで、ホスト101からメモリーカード102へのデータの書き込みが終了する。
In this way, the
本実施の形態において、空きブロックテーブル107にリストする物理ブロックのアドレス数は24個に限られており、その数を超える物理ブロックが、論理ブロックに対応する有効なデータがない、または論理ブロックに対応するデータが消去済みで未書き込みの状態である場合は、例えば論物変換テーブル106に未書き込みの状態を表すフラグとともに物理ブロックのアドレスを書き込むことによって対応可能である。 In the present embodiment, the number of physical block addresses listed in the free block table 107 is limited to 24, and the physical block exceeding that number has no valid data corresponding to the logical block, or is in the logical block. When the corresponding data has been erased and is in an unwritten state, it can be dealt with by writing the address of the physical block together with a flag indicating the unwritten state in the logical-physical conversion table 106, for example.
図5は、全ての物理ブロックがデータ消去済みの状態における論物変換テーブル106を示したものであり、物理ブロックのアドレスの最上位ビットを“1”(16進数表記で“8”)にして、データ消去済みのブロックであることを表している。図6は上記構成を採用した時のデータ書き込みの前と後における論物変換テーブル106と空きブロックテーブル107の状態を示した図である。なお、空きブロックインデックス108の値は0x000とする。従って、書き込み開始アドレスはオフセット値0x3E8+0x000=0x3E8となる。
FIG. 5 shows the logical-physical conversion table 106 in a state where all the physical blocks have already been erased. The most significant bit of the physical block address is set to “1” (“8” in hexadecimal notation). Represents a data erased block. FIG. 6 shows the state of the logical-physical conversion table 106 and the empty block table 107 before and after data writing when the above configuration is adopted. Note that the value of the
図6に基づいて、簡単に書き込みの際のフローを説明すると、空きブロックインデックス108で指定された物理ブロック0x3E8に対してデータの書き込みを行う。図4の説明ではデータの書き込みに引き続いて旧データの消去を行ったが、図6では全ての物理ブロックが消去済みであるため旧データの消去を行う必要はない。このため、次にテーブルの更新を行う。
A simple flow of writing will be described with reference to FIG. 6. Data is written to the physical block 0x3E8 specified by the
図6に矢印で示したように、ホスト101の指定した論物変換テーブル106の論理アドレス0x000に対応する位置に、書き込みを行った物理ブロックのアドレス0x3E8を格納し、代わりに論理アドレス0x000に格納された物理ブロックのアドレス0x000(論物変換テーブル106では最上位ビットに消去済みのブロックを示す“1”をつけて0x800が格納されているが、物理ブロックアドレスは最上位ビットの“1”を除いた部分の0x00)を空きブロックインデックス108で指定された位置である0x3E8に格納する。最後にインデックスインクリメントを行い、空きブロックインデックス108に格納されている0x000を1インクリメントした0x001を空きブロックインデックス108に格納する。
As indicated by an arrow in FIG. 6, the address 0x3E8 of the physical block that has been written is stored at the position corresponding to the logical address 0x000 in the logical-physical conversion table 106 designated by the
以上の動作を繰り返すことにより、物理ブロックでのデータの書き込みと論物変換テーブル106および空きブロックテーブル107の更新を行う。
(実施の形態2)
By repeating the above operation, data is written in the physical block and the logical-physical conversion table 106 and the empty block table 107 are updated.
(Embodiment 2)
本発明の実施の形態2では、新たに、不良ブロックが発生した場合の物理アドレスの管理を、アドレス管理テーブル105に追加している。
図7は本実施の形態2における不揮発性記憶装置のブロック図である。図1に示す実施の形態1の構成と異なるのは、アドレス管理テーブル105にバッドブロックテーブル701とバッドブロックカウント702を付加した点である。バッドブロックテーブル701は、不良ブロック(バッドブロック)の物理アドレスをリスト形式で保持したものであり、不良ブロックが発生すると空きブロックの数が減るため、空きブロックテーブル107の空き部分を利用している。バッドブロックカウント702は、不良ブロックの物理ブロック数を保持するものである。
In the second embodiment of the present invention, management of a physical address when a defective block is newly added is added to the address management table 105.
FIG. 7 is a block diagram of the nonvolatile memory device according to the second embodiment. The difference from the configuration of the first embodiment shown in FIG. 1 is that a bad block table 701 and a
図8は論物変換テーブル106と空きブロックテーブル107、さらにバッドブロックカウント702の構成を示した図である。図8において、図2と同様アドレスの0x000〜0x3E7までが論物変換テーブル106の領域である。空きブロックテーブル107の一部がバッドブロックテーブル701に割り当てられており、バッドブロックカウント702の数は、バッドブロックテーブル701に含まれる不良ブロックのアドレス数と一致する。なお、不良ブロックがない時には、バッドブロックテーブル701がなくなるか容量が0になる。
FIG. 8 is a diagram showing the configuration of the logical-physical conversion table 106, the empty block table 107, and the
物理ブロックにデータを書き込む際のアドレス管理方法は、基本的には実施の形態1で説明した方法と変わらないが、空きブロックインデックス108での処理が異なってくる。すなわち、空きブロックインデックス108の値は、(論理アドレスの最大値+1)から(物理アドレスの最大値−バッドブロックの数)までが巡回的に変化する。
The address management method for writing data to the physical block is basically the same as the method described in the first embodiment, but the processing in the
例えば、不良ブロックがない場合には(バッドブロックカウントの値は0)、実施の形態1で説明したように空きブロックインデックス108の値は、0x3E8、0x3E9、・・・0x3FE、0x3FFと続き、先頭にもどるが、不良ブロックが2つある場合(バッドブロックカウントの値は2)、0x3E8、0x3E9、・・・0x3FC、0x3FDと続き、その後先頭にもどる。
For example, when there is no bad block (the bad block count value is 0), as described in the first embodiment, the value of the
以上説明したように、本実施の形態では、アドレス管理テーブル105にバッドブロックテーブル701を付加することにより、不良ブロックのアドレスを容易に管理することが可能となる。 As described above, in the present embodiment, the bad block address can be easily managed by adding the bad block table 701 to the address management table 105.
なお、上記各実施の形態においては、メモリーカードの全ての論理アドレスを管理できる容量のアドレス管理テーブルを揮発性メモリ上に配置した例について説明したが、それを不揮発性メモリ(データを格納するためのフラッシュメモリ、またはそれ以外の別のFeRAMやRRAM等の不揮発性メモリ)に保持しておき、アドレス管理テーブルの一部分を必要に応じて揮発性メモリにキャッシュして使用する場合についても本発明を適用可能である。そうすることで揮発性メモリの容量を削減することができる。図9は全体を4分割してそのうちの二つの部分を揮発性メモリにキャッシュする場合について示している。この場合には、領域0〜2を選択的に切り替えながらキャッシュし、領域3を常にキャッシュすれば、揮発性メモリの容量を半減することができる。
また、上記各実施の形態においては、アドレス管理テーブルを揮発性メモリ上に配置した例について説明したが、ワード単位で書き換えが可能なメモリであれば本発明に適用可能であるので、FeRAMやRRAM等の不揮発性メモリ上にアドレス管理テーブルを配置してもよい。
In each of the above embodiments, the example in which the address management table having a capacity capable of managing all the logical addresses of the memory card is arranged on the volatile memory has been described. However, the non-volatile memory (for storing data) is described. The present invention is also applicable to a case in which a part of the address management table is cached in a volatile memory and used as necessary in a non-volatile memory such as another FeRAM or RRAM). Applicable. By doing so, the capacity of the volatile memory can be reduced. FIG. 9 shows a case where the whole is divided into four and two of them are cached in a volatile memory. In this case, the capacity of the volatile memory can be halved by caching while selectively switching the areas 0 to 2 and always caching the area 3.
In each of the above embodiments, the example in which the address management table is arranged on the volatile memory has been described. However, any memory that can be rewritten in units of words can be applied to the present invention. An address management table may be arranged on a non-volatile memory.
本発明にかかる不揮発性記憶装置は、より多くの物理ブロックを有するフラッシュメモリを用いた場合でも書き込み可能な空きブロックを高速に検索できるため、より大容量の不揮発性記憶装置を必要とする動画記録再生装置等のAV機器の記録媒体として有用である。 Since the nonvolatile memory device according to the present invention can search for a writable free block at high speed even when a flash memory having more physical blocks is used, moving image recording that requires a larger capacity nonvolatile memory device It is useful as a recording medium for AV equipment such as playback devices.
101 ホスト
102 メモリーカード
103 フラッシュメモリ
104 コントローラ
105 アドレス管理テーブル
106 空きブロックテーブル
107 消去済みテーブル
108 空きブロックインデックス
701 バッドブロックテーブル
702 バッドブロックカウント
101
Claims (15)
前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
を備えた不揮発性記憶装置であって、
前記アドレス管理テーブルは、
(a)有効なデータが書き込まれた物理ブロックのアドレスを、外部から提供された論理アドレスに対応する形で格納する論物変換テーブルと、
(b)有効なデータが書き込まれていない物理ブロックのアドレスを格納する空きブロックテーブルと
で構成されていることを特徴とする不揮発性記憶装置。 A non-volatile memory composed of a plurality of physical blocks which are erasure units, and an address is assigned to each physical block;
An address management table for managing the address of each physical block, and a controller for controlling data writing to the plurality of physical blocks or data reading from the plurality of physical blocks based on the address A non-volatile storage device,
The address management table is
(A) a logical-physical conversion table that stores the address of a physical block in which valid data is written in a form corresponding to a logical address provided from the outside;
(B) A non-volatile storage device comprising an empty block table for storing addresses of physical blocks to which valid data is not written.
前記各物理ブロックのアドレスを管理するアドレス管理テーブルを有し、前記アドレスに基づいて前記複数の物理ブロックへのデータの書き込み、または前記複数の物理ブロックからのデータの読み出しを制御するコントローラと
を備えた不揮発性記憶装置のアドレス管理方法であって、
前記コントローラは、
(a)有効なデータが書き込まれていない物理ブロックのアドレスを格納した空きブロックテーブルから任意のアドレスを選択して、そのアドレスの物理ブロックにデータを書き込み、
(b)前記データが書き込まれた物理ブロックのアドレスを、有効なデータが書き込まれた物理ブロックのアドレスを管理する論物変換テーブルに、外部から提供された論理アドレスに対応する形で格納する
ことを特徴とする不揮発性記憶装置のアドレス管理方法。 A non-volatile memory composed of a plurality of physical blocks which are erasure units, and an address is assigned to each physical block;
An address management table for managing the address of each physical block, and a controller for controlling data writing to the plurality of physical blocks or data reading from the plurality of physical blocks based on the address A non-volatile storage device address management method comprising:
The controller is
(A) Select an arbitrary address from the free block table storing the address of the physical block to which valid data is not written, and write the data to the physical block at that address;
(B) Store the address of the physical block in which the data is written in a logical-physical conversion table that manages the address of the physical block in which valid data is written, in a form corresponding to the logical address provided from the outside. An address management method for a nonvolatile storage device.
The nonvolatile memory according to claim 9, wherein the address management table is held in a nonvolatile memory, and a part of the address management table is cached and used in a volatile memory as necessary. Address management method for portable storage device
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006014978A JP2007199828A (en) | 2006-01-24 | 2006-01-24 | Nonvolatile storage device and address management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006014978A JP2007199828A (en) | 2006-01-24 | 2006-01-24 | Nonvolatile storage device and address management method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007199828A true JP2007199828A (en) | 2007-08-09 |
Family
ID=38454419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006014978A Pending JP2007199828A (en) | 2006-01-24 | 2006-01-24 | Nonvolatile storage device and address management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007199828A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152676A (en) * | 2012-01-26 | 2013-08-08 | Hitachi Ltd | Non-volatile storage |
JP2014006902A (en) * | 2012-06-22 | 2014-01-16 | Freescale Semiconductor Inc | Emulated electrically erasable memory having address ram for data stored in flash memory |
JP5400875B2 (en) * | 2009-05-21 | 2014-01-29 | パナソニック株式会社 | MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, ACCESS DEVICE, NONVOLATILE STORAGE SYSTEM, DATA WRITE METHOD, AND PROGRAM |
CN109656835A (en) * | 2017-10-12 | 2019-04-19 | 拉碧斯半导体株式会社 | The data rewriting method and semiconductor device of nonvolatile memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210468A (en) * | 1994-01-18 | 1995-08-11 | Hitachi Ltd | Semiconductor auxiliary memory |
JP2001067258A (en) * | 1999-08-25 | 2001-03-16 | Mitsubishi Electric Corp | Semiconductor device with built-in flash memory and flash memory address converting method |
JP2005242897A (en) * | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | Flash disk drive |
-
2006
- 2006-01-24 JP JP2006014978A patent/JP2007199828A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210468A (en) * | 1994-01-18 | 1995-08-11 | Hitachi Ltd | Semiconductor auxiliary memory |
JP2001067258A (en) * | 1999-08-25 | 2001-03-16 | Mitsubishi Electric Corp | Semiconductor device with built-in flash memory and flash memory address converting method |
JP2005242897A (en) * | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | Flash disk drive |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5400875B2 (en) * | 2009-05-21 | 2014-01-29 | パナソニック株式会社 | MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, ACCESS DEVICE, NONVOLATILE STORAGE SYSTEM, DATA WRITE METHOD, AND PROGRAM |
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 (en) * | 2012-01-26 | 2013-08-08 | Hitachi Ltd | Non-volatile storage |
JP2014006902A (en) * | 2012-06-22 | 2014-01-16 | Freescale Semiconductor Inc | Emulated electrically erasable memory having address ram for data stored in flash memory |
CN109656835A (en) * | 2017-10-12 | 2019-04-19 | 拉碧斯半导体株式会社 | The data rewriting method and semiconductor device of nonvolatile memory |
CN109656835B (en) * | 2017-10-12 | 2023-07-18 | 拉碧斯半导体株式会社 | Data rewriting method of nonvolatile memory and semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8484432B2 (en) | Memory system | |
US8117374B2 (en) | Flash memory control devices that support multiple memory mapping schemes and methods of operating same | |
JP4871260B2 (en) | MEMORY MODULE, MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, NONVOLATILE STORAGE SYSTEM, AND MEMORY READ / WRITE METHOD | |
WO2009096180A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
JP2007241576A (en) | Nonvolatile storage device and data writing method | |
KR20080067334A (en) | Data management method in flash memory medium | |
JPWO2006067923A1 (en) | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD | |
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 (en) | Nonvolatile storage device and address management method | |
JP2009116465A (en) | Storage device and memory control method | |
JP2011222057A (en) | Memory system | |
TWI601141B (en) | Access method of flash memory and associated memory controller and electronic device | |
JP2008097132A (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
US8103819B2 (en) | Information storage device and stored data processing method | |
JP4235646B2 (en) | Memory controller and flash memory system | |
JP2007280329A (en) | Nonvolatile storage device and method for managing the same device | |
JP4308780B2 (en) | Semiconductor memory device, memory controller, and data recording method | |
JP2009217630A (en) | Memory system | |
US20090055574A1 (en) | NAND Flash Memory Device And Related Method Thereof | |
US20150220432A1 (en) | Method and apparatus for managing at least one non-volatile memory | |
JP2009230205A (en) | Memory system | |
JP5491201B2 (en) | Semiconductor recording apparatus and semiconductor recording system | |
JP2005135544A (en) | Semiconductor recording medium and data erasing method of semiconductor recording medium | |
JP2005092678A (en) | Semiconductor memory card and method for deleting data in nonvolatile memory |
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 |