Nothing Special   »   [go: up one dir, main page]

JP2005078634A - Nonvolatile storage device and write method therefor - Google Patents

Nonvolatile storage device and write method therefor Download PDF

Info

Publication number
JP2005078634A
JP2005078634A JP2004246989A JP2004246989A JP2005078634A JP 2005078634 A JP2005078634 A JP 2005078634A JP 2004246989 A JP2004246989 A JP 2004246989A JP 2004246989 A JP2004246989 A JP 2004246989A JP 2005078634 A JP2005078634 A JP 2005078634A
Authority
JP
Japan
Prior art keywords
logical
block
data
physical block
group
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
JP2004246989A
Other languages
Japanese (ja)
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 JP2004246989A priority Critical patent/JP2005078634A/en
Publication of JP2005078634A publication Critical patent/JP2005078634A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To resolve the problem that write requires a long time due to difference between an external data management size and an internal data management size of a semiconductor memory card caused by an increase in the capacity of the semiconductor memory card. <P>SOLUTION: Partial physical blocks according with the external management size are used independently of a physical block size in a nonvolatile storage device. Data is written in a partial physical block unit, and erase blocks are secured in a physical block unit, so that the write speed is increased. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は書き換え可能な不揮発性メモリを有する不揮発性記憶装置及びその書込み方法に関するものである。   The present invention relates to a nonvolatile memory device having a rewritable nonvolatile memory and a writing method thereof.

書き換え可能な不揮発性メモリを有する半導体メモリは、メモリカードとして需要が広まっている。そのメモリカードに主に使用されている不揮発性メモリであるNAND型フラッシュメモリは、16KBを消去単位としてきた。そのためにメモリカードを使用する外部ホスト機器は16KBというサイズを書き込みの管理単位として使用している。   A demand for a semiconductor memory having a rewritable nonvolatile memory is increasing as a memory card. The NAND flash memory, which is a non-volatile memory mainly used for the memory card, has used 16 KB as an erasing unit. Therefore, an external host device using a memory card uses a size of 16 KB as a writing management unit.

しかし、近年メモリカードの容量の増加のために、内蔵するNAND型フラッシュメモリ容量も増加し、それに伴い消去単位を128KBとしたNAND型フラッシュメモリが提案されている。しかし、メモリカードを使用する外部ホスト機器からの16KB単位での書き込みに対して、メモリカード内部のコントローラではNAND型フラッシュメモリの消去単位である128KB単位として扱うために、ホスト機器からみて相対的に16KB単位の書き込みに要する時間がかかるという欠点があった。   However, in recent years, due to the increase in the capacity of memory cards, the capacity of built-in NAND flash memory has also increased, and accordingly, a NAND flash memory having an erase unit of 128 KB has been proposed. However, with respect to writing in 16 KB units from an external host device using a memory card, the controller inside the memory card handles it as 128 KB units, which is the erase unit of the NAND flash memory. There is a drawback that it takes time to write in 16 KB units.

次に従来の半導体メモリカードについてより具体的に説明する。図10は従来のメモリカード100を示す図であり、コントローラ101と不揮発性メモリであるフラッシュメモリFM0〜FM3が設けられている。各フラッシュメモリFM0〜FM3は夫々例えば128MBの容量を有しており、有効データ領域として500MBのメモリカードを構成している。又コントローラ101は図10に示すように、CPU111、2KBの容量を持つ一時退避バッファ112、512Bの容量を持つデータ転送バッファ113、12ビットで4KWord構成、即ち6KBの容量を持つアドレス変換テーブル114、及び1ビットで4KWord構成、即ち全512Bの容量を持つエントリテーブル115によって構成されている。   Next, a conventional semiconductor memory card will be described more specifically. FIG. 10 is a diagram showing a conventional memory card 100, which is provided with a controller 101 and flash memories FM0 to FM3 which are nonvolatile memories. Each of the flash memories FM0 to FM3 has a capacity of 128 MB, for example, and constitutes a 500 MB memory card as an effective data area. As shown in FIG. 10, the controller 101 includes a CPU 111, a temporary save buffer 112 having a capacity of 1KB, a data transfer buffer 113 having a capacity of 512B, an address conversion table 114 having a 12-bit 4K Word configuration, that is, a capacity of 6KB, And an entry table 115 having a capacity of 512 B in a 4K Word configuration with 1 bit.

さてフラッシュメモリFM0〜FM3は図10に示すように、夫々128MBの容量を持っている。各フラッシュメモリFM0〜FM3は図11(a)に示すように、夫々が128KBの容量を持つ1024の物理ブロック(PB0〜PB1023)によって構成される。これによってメモリカード100の不揮発性メモリの全容量は512MBとなり、このうちホスト機器102がデータ領域として使用できる容量は500MBである。   The flash memories FM0 to FM3 each have a capacity of 128 MB, as shown in FIG. As shown in FIG. 11A, each of the flash memories FM0 to FM3 is composed of 1024 physical blocks (PB0 to PB1023) each having a capacity of 128 KB. As a result, the total capacity of the nonvolatile memory of the memory card 100 is 512 MB, and the capacity that can be used as the data area by the host device 102 is 500 MB.

図11(b)はフラッシュメモリ内の1つの物理ブロックPBi(i=0〜1023)の構成を示している。物理ブロックは物理ページPP0〜PP63までの64の物理ページから成り立っている。各物理ページは図12に示すように、2KBの容量を持つデータ領域と、64Bの容量を持つ管理領域から成り立っている。   FIG. 11B shows the configuration of one physical block PBi (i = 0 to 1023) in the flash memory. The physical block is composed of 64 physical pages from physical pages PP0 to PP63. As shown in FIG. 12, each physical page is composed of a data area having a capacity of 2 KB and a management area having a capacity of 64 B.

さてこのメモリカード100は外部のホスト機器102から見て500MBのメモリ容量があり、図13に示すような論理マップによって論理アドレスが割り付けられる。即ち500MBのデータ領域は論理ブロック0から論理ブロック3999まで4000の論理ブロック(LB)に分割され、各論理ブロックが128KBの容量を持つ。この論理ブロックアドレスはホスト機器が指定するアドレスと対応している。   The memory card 100 has a memory capacity of 500 MB as viewed from the external host device 102, and a logical address is assigned by a logical map as shown in FIG. That is, the 500 MB data area is divided into 4000 logical blocks (LB) from logical block 0 to logical block 3999, and each logical block has a capacity of 128 KB. This logical block address corresponds to an address designated by the host device.

図10に示すアドレス変換テーブル114は論理グループを示す論理アドレスが与えられたときに、フラッシュメモリとその中の物理ブロックを指定するものである。このうち最初の2ビットはフラッシュメモリFM0からFM3のどれかを示すビット、続く10ビットはそのフラッシュメモリ内のどの物理ブロックかを示すビットである。又エントリテーブル115は、4096の物理ブロックに対応した1ビット構成のフラグから成るテーブルである。このフラグは消去済みであれば1、書込み済みの場合は0とする。   The address conversion table 114 shown in FIG. 10 specifies a flash memory and a physical block in the memory when a logical address indicating a logical group is given. Of these, the first 2 bits are bits indicating any one of the flash memories FM0 to FM3, and the subsequent 10 bits are bits indicating which physical block in the flash memory. The entry table 115 is a table composed of 1-bit flags corresponding to 4096 physical blocks. This flag is 1 if it has been erased and 0 if it has been written.

次にデータの読み出し処理について、図14のデータ読み出しの概略図を用いて説明する。ホスト機器102からの論理アドレスのうち、128KB単位のアドレスを論理ブロックアドレス、128KB未満のアドレスを論理ページアドレスとする。論理ブロックアドレスを元にアドレス変換テーブル114から物理ブロックを指定し、これを読み出し元物理ブロックとする。そして読み出し元物理ブロックの論理ページアドレスのデータを読み出してデータ転送バッファ113を介してホスト機器102に転送する。そして読み出しが終了したかどうかをチェックし、終了していなければ論理ページアドレスがブロック内で最終となったかどうかをチェックする。最終でなければ論理ページアドレスをインクリメントし、同様の処理を繰り返す。論理ページアドレスがブロック内で最終となれば、論理ページアドレスを0とし、論理ブロックアドレスをインクリメントして同様の処理を繰り返す。こうすれば指定された論理アドレスからデータを読み出すことができる。   Next, the data reading process will be described with reference to the schematic diagram of data reading in FIG. Of the logical addresses from the host device 102, an address in units of 128 KB is a logical block address, and an address less than 128 KB is a logical page address. A physical block is designated from the address conversion table 114 based on the logical block address, and this is set as a read source physical block. Then, the data of the logical page address of the read source physical block is read and transferred to the host device 102 via the data transfer buffer 113. Then, it is checked whether or not the reading is finished. If not finished, it is checked whether or not the logical page address is the last in the block. If it is not final, the logical page address is incremented and the same processing is repeated. If the logical page address is the last in the block, the logical page address is set to 0, the logical block address is incremented, and the same processing is repeated. In this way, data can be read from the designated logical address.

次に書込みの処理について図15のフローチャートを用いて説明する。データを書込む際には、まずステップS301においてホスト機器102からの論理アドレスのうち、128KB単位のアドレスを論理ブロックアドレスとし、128KB単位未満のアドレスを論理ページアドレスとする。次いでステップS302においてエントリテーブルを検索し、消去済みの物理ブロックを得て書込み先物理ブロックとする。そしてエントリテーブル115の該当ビットを書込み済み「0」に更新する。次いでステップS303に進んで論理ページアドレスが0かどうかをチェックし、0でなければ後述する前半巻き込み処理を行い(ステップS304)、論理ページアドレスが0であればこの処理を行うことなくステップS305に進む。そしてステップS305において、ホスト機器からの書込みデータをページバッファを介してフラッシュメモリに転送し、書込み先物理ブロックの論理ページアドレスに書込む。このとき管理領域に書込むための管理情報を同時に書込んでおく。そしてステップS306において書込みを終了したかどうかをチェックし、終了していなければステップS307において論理ページアドレスがブロック内の最終かどうかをチェックする。最終でなければステップS308において論理ページアドレスをインクリメントし、ステップS305に戻る。論理ページアドレスが最終ブロックであれば、ステップS309において消去とテーブル更新を行い、ステップS310において論理ページアドレスを0、論理ブロックアドレスをインクリメントして、ステップS302に戻る。又ステップS306において書込みが終了すれば、ステップS311において論理ページアドレスがブロック内最終かどうかをチェックする。最終でなければステップS312において後半の巻き込み処理を行い、ブロック内で最終であれば、この処理を行うことなくステップS313に進んで消去とテーブル更新を行って処理を終える。   Next, the writing process will be described with reference to the flowchart of FIG. When writing data, first, in step S301, among the logical addresses from the host device 102, addresses in 128 KB units are set as logical block addresses, and addresses less than 128 KB units are set as logical page addresses. In step S302, the entry table is searched to obtain an erased physical block as a write destination physical block. Then, the corresponding bit in the entry table 115 is updated to “0” written. Next, the process proceeds to step S303, where it is checked whether the logical page address is 0. If it is not 0, the first half winding process described later is performed (step S304). If the logical page address is 0, the process proceeds to step S305 without performing this process. move on. In step S305, write data from the host device is transferred to the flash memory via the page buffer, and written to the logical page address of the write destination physical block. At this time, management information for writing in the management area is written at the same time. In step S306, it is checked whether writing has been completed. If not, it is checked in step S307 whether the logical page address is the last in the block. If it is not final, the logical page address is incremented in step S308, and the process returns to step S305. If the logical page address is the last block, erase and table update are performed in step S309, the logical page address is incremented by 0 and the logical block address is incremented in step S310, and the process returns to step S302. If writing is completed in step S306, it is checked in step S311 whether the logical page address is the last in the block. If it is not final, the latter half of the entrainment process is performed in step S312, and if it is final in the block, the process proceeds to step S313 without performing this process, and erase and table update are performed to finish the process.

このように従来の不揮発性記憶装置のデータ書き込み方法によれば、図16に示すように読出し元物理ブロック120が128KBあり、そのうちのホスト機器が管理する16KBの新しいデータ122を書込む場合であっても、書込み先物理ブロック121は128KB単位で書き込みを行う。読出し元物理ブロック120のうち物理ブロックに書込まない前半の領域120−1については、前半巻き込み処理によってフラッシュメモリの書込み先物理ブロック121−1にコピーする。同様に後半の領域120−2についても、後半の巻き込み処理によって書込みページアドレス以降の論理ページアドレスについて書込み先物理ブロック121−2にコピーする。従って従来のデータ書き込み処理によれば、図16に示すように外部のホスト機器で管理されているデータ処理単位が16KBであっても、書き込み先の物理ブロック単位で書き込まれることとなる。
トランジスタ技術社発行、「インターフェイス」1999年12月号、P108〜119
Thus, according to the conventional data writing method of the nonvolatile storage device, as shown in FIG. 16, the reading source physical block 120 is 128 KB, and new data 122 of 16 KB managed by the host device is written. However, the write destination physical block 121 performs writing in units of 128 KB. Of the read source physical block 120, the first half area 120-1 that is not written to the physical block is copied to the write destination physical block 121-1 of the flash memory by the first half winding process. Similarly, in the latter half area 120-2, the logical page addresses after the write page address are copied to the write destination physical block 121-2 by the latter half of the winding process. Therefore, according to the conventional data writing process, even if the data processing unit managed by the external host device is 16 KB as shown in FIG. 16, data is written in the physical block unit of the writing destination.
Issued by Transistor Technology Co., Ltd., “Interface” December 1999 issue, pages 108-119

このように従来の不揮発性記憶装置のデータ書き込み方法によれば、フラッシュメモリの消去サイズより小さなデータを書込むときに、メモリカード内部においてはフラッシュメモリの消去サイズと同等のデータを書き込むため、書き込み速度が低下するという欠点があった。   As described above, according to the conventional data writing method of the nonvolatile memory device, when writing data smaller than the erase size of the flash memory, the data equivalent to the erase size of the flash memory is written inside the memory card. There was a drawback that the speed was reduced.

本発明はこのような従来の問題点に鑑みてなされたものであって、書き込みの単位を小さくして高速で書き込みを行うことができるようにすると共に、書込まれたデータを集約することによって消去済みのブロックを確保し、確保した消去済みの領域を次の書込みを容易に行えるようにすることを目的とする。   The present invention has been made in view of such a conventional problem, and enables writing at a high speed by reducing the unit of writing and by collecting written data. An object of the present invention is to secure an erased block so that the secured erased area can be easily written next.

この課題を解決するために、本発明は、不揮発性メモリと、コントローラと、を有し、外部から与えられる論理アドレスに基づいて前記不揮発性メモリにデータを書き込み、及び読み出す不揮発性記憶装置であって、前記不揮発性メモリは、互いにペアとなる複数の不揮発性メモリ素子から成り、各不揮発性メモリは複数のバンクから成り、各バンクは同一数の複数の物理ブロックから成り、前記各物理ブロックは複数の部分物理ブロックから成るものであり、外部からは、一連の論理グループアドレスと各論理グループに属する一連の論理ブロックアドレスを含む論理アドレスが与えられるものであり、前記コントローラは、ペア毎に各バンクから夫々1つずつ選択される物理ブロックの組を物理ブロックグループとし、その共通する部分物理ブロックの位置に論理ブロックを書き込むものであり、外部から与えられる論理アドレスのうち論理グループアドレスをその論理グループが属する論理ブロックが記録される部分物理ブロックアドレスに変換するアドレス変換領域を有するアドレス変換テーブルと、各物理ブロックについて書き込み済み及び消去済みのいずれかを示すエントリテーブルと、論理ブロックグループを構成する論理ブロックが有効データかどうかを記載した有効データテーブルと、を有し、書き込みのためのデータとその論理アドレスとが外部から与えられたときに、前記有効データテーブルに基づいて未書き込みの領域に部分物理ブロックグループの単位で当該データを書き込むと共に、前記アドレス変換テーブルにその論理ブロックが属する論理グループに対してその部分物理ブロックを登録し、エントリテーブル及び有効データテーブルを更新することを特徴とするものである。   In order to solve this problem, the present invention is a non-volatile storage device that includes a non-volatile memory and a controller, and writes and reads data to and from the non-volatile memory based on a logical address given from outside. The nonvolatile memory is composed of a plurality of nonvolatile memory elements paired with each other, each nonvolatile memory is composed of a plurality of banks, each bank is composed of the same number of physical blocks, and each physical block is It is composed of a plurality of partial physical blocks, and from the outside, a logical address including a series of logical group addresses and a series of logical block addresses belonging to each logical group is given. A set of physical blocks selected one by one from the bank is defined as a physical block group, and its common part Address conversion having an address conversion area for writing a logical block at a logical block position and converting a logical group address among logical addresses given from the outside into a partial physical block address in which the logical block to which the logical group belongs is recorded A table, an entry table that indicates whether each physical block has been written or erased, and a valid data table that describes whether or not a logical block that constitutes a logical block group is valid data. When data and its logical address are given from the outside, the data is written in an unwritten area in units of partial physical block groups based on the valid data table, and the logical block belongs to the address conversion table Logical glue It is characterized in that to register the partial physical block, and updates the entry table and the valid data table for.

ここで、前記コントローラは、有効データテーブルを検索し、物理ブロックに含まれる有効データが少ない物理ブロックを消去予定物理ブロックとし、消去予定物理ブロックに有効な論理ブロックがなければその論理ブロックを消去し、有効な論理ブロックがあれば消去済みの他の物理ブロックに有効な論理ブロックのデータを集約することによって、消去ブロックを確保する消去ブロック確保手段を有するものであってもよい。   Here, the controller searches the valid data table, sets a physical block with a small amount of valid data contained in the physical block as a to-be-erased physical block, and erases the logical block if there is no valid logical block in the to-be-erased physical block If there is a valid logical block, there may be provided an erase block securing means for securing an erase block by consolidating data of valid logical blocks into other physical blocks that have been erased.

ここで、前記不揮発性メモリの物理ブロックグループのデータ容量は論理グループのデータ容量と等しいものであり、部分物理ブロックグループのデータ容量は、論理ブロックのデータ容量及び前記不揮発性記憶装置の外部のデータ管理単位と等しくしたものであってもよい。   Here, the data capacity of the physical block group of the nonvolatile memory is equal to the data capacity of the logical group, and the data capacity of the partial physical block group is the data capacity of the logical block and the data outside the nonvolatile storage device. It may be equal to the management unit.

このような特徴を有する本発明によれば、データ書き込みの際の書き込み単位をホスト機器で用いられているデータ書き込み単位と同一とし、しかもメモリカード内の不揮発性メモリの消去単位が大容量化により拡大した場合であっても外部ホスト機器からみたデータの書き込みを短時間で行うことができる。又書き込み領域のうちの一部が使用されている場合であっても、消去済みのブロックの確保処理を行うことによって書き込み可能な領域を形成することができるという効果が得られる。   According to the present invention having such characteristics, the writing unit at the time of data writing is made the same as the data writing unit used in the host device, and the erase unit of the nonvolatile memory in the memory card is increased in capacity. Even in the case of enlargement, data can be written in a short time as viewed from the external host device. Further, even when a part of the writing area is used, an effect that a writable area can be formed by performing the process of securing the erased block can be obtained.

図1は本発明の実施の形態によるメモリカードの構成を示すブロック図である。本図に示すようにメモリカード21はコントローラ22及び不揮発性メモリ、例えば128MBの容量を持つフラッシュメモリFM0〜FM3によって構成されている。コントローラ22はCPU31、512Bの容量を持つ一時退避バッファ32、512Bの容量を持つデータ転送バッファ33、15ビットで4KWordの構成、即ち7.5KBの容量を持つアドレス変換テーブル34と、1ビットで32KWordの構成、即ち4KBの容量を持つエントリテーブル35及び8ビットで4KWordの構成、即ち4KBの容量を持つ有効データテーブル36によって構成されている。   FIG. 1 is a block diagram showing a configuration of a memory card according to an embodiment of the present invention. As shown in the figure, the memory card 21 includes a controller 22 and a nonvolatile memory, for example, flash memories FM0 to FM3 having a capacity of 128 MB. The controller 22 includes a temporary save buffer 32 having a capacity of the CPU 31, 512B, a data transfer buffer 33 having a capacity of 512B, a 15-bit 4K Word configuration, that is, an address conversion table 34 having a 7.5 KB capacity, and a 1-bit 32K Word. , That is, an entry table 35 having a capacity of 4 KB and an 8 bit 4 KWord structure, that is, an effective data table 36 having a capacity of 4 KB.

さてフラッシュメモリFM0〜FM3は図2(a)に示すように、夫々16KBのデータ容量を持つ8092の物理ブロックPB0〜PB8191によって構成される。又1つのフラッシュメモリはバンク0〜3の4つのバンクから成り、各バンクは2048の物理ブロックから構成されている。バンク0には4の倍数である物理ブロックPB0,PB4・・・PB8188が含まれる。バンク1には4の倍数+1の物理ブロック、即ちPB1,PB5・・・PB8189が含まれ、バンク2には4の倍数+2である物理ブロックPB2,PB6・・・PB8190が含まれ、又バンク3には4の倍数+3である物理ブロックPB3,PB7・・・PB8191が含まれる。   As shown in FIG. 2A, the flash memories FM0 to FM3 are configured by 8092 physical blocks PB0 to PB8191 each having a data capacity of 16 KB. One flash memory is composed of four banks 0 to 3, and each bank is composed of 2048 physical blocks. Bank 0 includes physical blocks PB0, PB4... PB8188 that are multiples of four. Bank 1 includes physical blocks that are multiples of 4 + 1, that is, PB1, PB5... PB8189, bank 2 includes physical blocks PB2, PB6. Includes physical blocks PB3, PB7... PB8191 that are multiples of 4 + 3.

図2(b)はメモリ内の1つの物理ブロックPBi(i=0〜8191)の構成を示している。各物理ブロックは物理ページPP0〜PP31の32個の物理ページから構成されている。各物理ページは512Bのデータ容量を持つ。この物理ページはデータの書き込み単位であり、4ページ、即ち2KBを部分物理ブロックとする。1物理ブロック中には8つの部分物理ブロックが含まれる。そして4つのフラッシュメモリ0〜3を、フラッシュメモリFM0とFM1、FM2とFM3でペアにして2つのグループとする。これらの各グループに含まれる8つのバンクの夫々から、消去済みである物理ブロックを夫々1つ選択し、8つの物理ブロックから成る物理ブロックグループを構成する。   FIG. 2B shows the configuration of one physical block PBi (i = 0 to 8191) in the memory. Each physical block is composed of 32 physical pages, physical pages PP0 to PP31. Each physical page has a data capacity of 512B. This physical page is a data writing unit, and 4 pages, that is, 2 KB, is a partial physical block. One physical block includes eight partial physical blocks. The four flash memories 0 to 3 are paired with the flash memories FM0 and FM1, and FM2 and FM3 to form two groups. One erased physical block is selected from each of the eight banks included in each of these groups to form a physical block group composed of eight physical blocks.

さて論理アドレスは実施の形態1と同様に、論理グループLG0〜LG3999に対して論理ブロックLB0〜LB32767までの論理ブロックが構成される。アドレス変換テーブル34は論理グループに対して15ビット構成で部分物理ブロックを特定している。このうち1ビットはフラッシュメモリのペアを特定するビットであり、11ビットは物理ブロックグループを特定するビット、3ビットはその物理ブロックグループ内の先頭バンクの物理ブロックの中の部分物理ブロックを特定するビットである。実施の形態2では複数の物理ブロックをグループ化しているため、このアドレステーブルもグループの先頭のみを示している。又エントリテーブルは1ビットで32KW構成で、各物理ブロックについて消去済みか書き込み済みかを示すものである。   As in the first embodiment, logical blocks of logical blocks LB0 to LB32767 are configured for the logical groups LG0 to LG3999. The address translation table 34 specifies partial physical blocks with a 15-bit configuration for a logical group. Of these, 1 bit specifies a flash memory pair, 11 bits specify a physical block group, and 3 bits specify a partial physical block in a physical block of the first bank in the physical block group. Is a bit. In the second embodiment, since a plurality of physical blocks are grouped, this address table also shows only the head of the group. The entry table has a 1-bit, 32 KW configuration and indicates whether each physical block has been erased or written.

図3はフラッシュメモリとその上に構成される論理ブロックを示す図である。物理ブロックグループに含まれる物理ブロックの物理ページを4ページ単位の8つの部分物理ブロックに分割し、夫々の物理ブロックから同じ位置の部分物理ブロックを取り出し、これらを1つの単位として論理ブロックとする。例えばフラッシュメモリFM0とFM1の各バンク0〜3の全てについて、物理ページPP0〜PP3を取り出して論理ブロック(LB)を構成している。言い換えると論理ブロックは1つの物理ブロックグループに属し、8つの物理ブロックから成り、物理ブロックから物理ページを4ページ、すなわち1部分物理ブロックを夫々選択しており、物理ブロック内における相対的な物理ページ位置は同じである。このようにある論理ブロックのデータは部分物理ブロックグループに書き込まれる。   FIG. 3 is a diagram showing a flash memory and a logical block formed thereon. The physical page of the physical block included in the physical block group is divided into eight partial physical blocks in units of four pages, partial physical blocks at the same position are taken out from each physical block, and these are used as one unit as a logical block. For example, for all the banks 0 to 3 of the flash memories FM0 and FM1, the physical pages PP0 to PP3 are taken out to form a logical block (LB). In other words, a logical block belongs to one physical block group, and consists of eight physical blocks. Four physical pages are selected from the physical blocks, that is, one partial physical block is selected, and relative physical pages within the physical block are selected. The position is the same. In this way, data of a certain logical block is written to the partial physical block group.

コントローラ22は論理ブロック単位でデータを書き込み管理する。有効なデータの集約や無効なブロックの消去を行うために論理ブロック単位でそこに有効なデータが書かれているか、それとも既に無効なデータかを認識する必要がある。そのため論理グループの先頭に対してその論理グループのデータが有効か無効かを1ビットの情報として有効データテーブル36として持っている。図4はこの有効データテーブル36の構成を示す図である。論理ブロックの先頭はフラッシュメモリFM0とFM2のバンク0にのみ存在する。従ってフラッシュメモリFM0,FM2のバンク0の物理ブロック2×8K/4バンクの全てに1Word(8ビット)を割り当て、物理ブロック内の各部分物理ブロックが有効なデータかどうかを1ビットで表す。従って有効データテーブルの全てが1でないワードを選択することで消去対象を見つけることができる。   The controller 22 writes and manages data in units of logical blocks. In order to aggregate valid data or erase invalid blocks, it is necessary to recognize whether valid data is written in logical block units or whether it is already invalid data. Therefore, the effective data table 36 has 1-bit information indicating whether the data of the logical group is valid or invalid with respect to the head of the logical group. FIG. 4 is a diagram showing the configuration of the effective data table 36. As shown in FIG. The head of the logical block exists only in the bank 0 of the flash memories FM0 and FM2. Accordingly, 1 word (8 bits) is assigned to all of the physical blocks 2 × 8K / 4 banks in the bank 0 of the flash memories FM0 and FM2, and 1 bit indicates whether each partial physical block in the physical block is valid data. Therefore, an erasure target can be found by selecting a word in which all the valid data tables are not 1.

ここでコントローラ22のCPU31は、有効データテーブルを検索し、物理ブロックに含まれる有効データが少ない物理ブロックを消去予定物理ブロックとし、消去予定物理ブロックに有効な論理ブロックがなければその論理ブロックを消去し、有効な論理ブロックがあれば消去済みの他の物理ブロックに有効な論理ブロックのデータを集約することによって、消去ブロックを確保する消去ブロック確保手段の機能を有している。   Here, the CPU 31 of the controller 22 searches the valid data table, sets a physical block with less valid data contained in the physical block as a to-be-erased physical block, and erases the logical block if there is no valid logical block in the to-be-erased physical block. If there is a valid logical block, it has a function of an erase block securing means for securing an erase block by aggregating data of valid logical blocks into another physical block that has been erased.

次にこの実施の形態の動作についてフローチャートを用いて説明する。まず電源投入時には最終書き込み論理グループアドレスを無効値とし、エントリカウンタを0とする。エントリカウンタとは物理ブロックグループにおける部分物理ブロックの位置を指定するために使用される。そして書き込み処理時には図5のフローチャートに示すように、ホスト機器3からの論理アドレスのうち128KB単位のアドレスを論理グループアドレス、16KB単位のアドレスを論理ブロックアドレス、16KB単位未満のアドレスを論理ページアドレスとする。次いでステップS202に進んで、論理グループアドレスを元にアドレス変換テーブル34から得られる部分物理ブロックをテーブル部分物理ブロックとする。次いでステップS203に進んで、テーブル部分物理ブロックのアドレステーブルを読み出して保持する。そしてステップS204に進んで後述する書き込み先の決定処理を行い、ステップS205において、コントローラに保持したアドレステーブルのうち論理ブロックアドレスに対応するアドレスを読み込み元部分物理ブロックとして保持する。実施の形態2では複数の物理ブロックをグループ化しているため、このアドレステーブルもグループの先頭のみを示している。次いでステップS206において、コントローラに保持したアドレステーブルのうち論理ブロックアドレスに対応するアドレスを書き込み先部分物理ブロックグループの先頭の部分物理ブロックに差し替える。そしてステップS207において論理ページアドレスが0かどうかをチェックし、0でなければ前半巻き込み処理ステップS208を行う。論理ページアドレスが0であればステップS209に進んでホスト機器からの書き込みデータをデータ転送バッファ33を介してフラッシュメモリに転送し、書き込み先部分物理ブロックに書き込む。又このとき管理領域に書き込む管理情報も同時に書き込む。実施の形態2では2つのフラッシュメモリの8つのブロックに並列して書き込みを行っているため、高速で書き込み処理が行える。   Next, the operation of this embodiment will be described using a flowchart. First, when the power is turned on, the last write logical group address is set to an invalid value and the entry counter is set to zero. The entry counter is used to designate the position of the partial physical block in the physical block group. At the time of write processing, as shown in the flowchart of FIG. 5, among the logical addresses from the host device 3, 128 KB unit addresses are logical group addresses, 16 KB unit addresses are logical block addresses, and less than 16 KB unit addresses are logical page addresses. To do. In step S202, the partial physical block obtained from the address conversion table 34 based on the logical group address is set as a table partial physical block. In step S203, the address table of the table partial physical block is read and held. In step S204, a write destination determination process described later is performed. In step S205, an address corresponding to the logical block address in the address table held in the controller is held as a read-source partial physical block. In the second embodiment, since a plurality of physical blocks are grouped, this address table also shows only the head of the group. In step S206, the address corresponding to the logical block address in the address table held in the controller is replaced with the first partial physical block in the write destination partial physical block group. In step S207, it is checked whether the logical page address is 0. If it is not 0, the first half winding process step S208 is performed. If the logical page address is 0, the process proceeds to step S209, where the write data from the host device is transferred to the flash memory via the data transfer buffer 33 and written to the write destination partial physical block. At this time, management information to be written in the management area is also written at the same time. In the second embodiment, since writing is performed in parallel in eight blocks of two flash memories, writing processing can be performed at high speed.

そして図6のステップS210において、書き込みが終了したかどうかをチェックし、終了していなければ、ステップS211に進んで論理ブロック境界までの書き込みが終了したかどうかをチェックする。ブロック境界まで書き込みが終了していなければ、図5のステップS209に戻って同様の処理を繰り返す。さてステップS211においてブロック境界まで書き込みを終了していると、ステップS212においてテーブルを更新し、ステップS213において論理ブロックアドレスが論理グループ内の最終かどうかをチェックする。最終でなければ、ステップS214において論理ページアドレスを0、論理ブロックアドレスをインクリメントしてステップS204に戻る。又論理グループ内で最終であればステップS215において論理ページアドレスを0、論理ブロックアドレスと論理グループアドレスとをインクリメントしてステップS202に戻る。一方ステップS210において書き込みが終了していれば、ステップS216において、論理ページアドレスがブロック内で最終かどうかをチェックする。最終でなければステップS217において後半巻き込み処理を行う。最終であれば、ステップS218においてテーブル更新を行って処理を終える。   Then, in step S210 of FIG. 6, it is checked whether or not the writing has been completed. If not, the process proceeds to step S211 to check whether or not the writing up to the logical block boundary has been completed. If writing has not been completed up to the block boundary, the process returns to step S209 in FIG. 5 to repeat the same processing. If writing to the block boundary has been completed in step S211, the table is updated in step S212, and it is checked in step S213 whether the logical block address is the last in the logical group. If not final, the logical page address is incremented by 0 and the logical block address is incremented in step S214, and the process returns to step S204. If it is the last in the logical group, the logical page address is incremented by 0, the logical block address and the logical group address are incremented in step S215, and the process returns to step S202. On the other hand, if writing has been completed in step S210, it is checked in step S216 whether the logical page address is the last in the block. If it is not final, the second half entrainment process is performed in step S217. If it is final, the table is updated in step S218 and the process is terminated.

図7はステップS204の書き込み先決定処理を示すフローチャートである。この処理を開始すると、まずステップS221において、論理グループアドレスが最終グループアドレスと同一かどうかをチェックする。同一であればステップS222においてエントリカウンタが8未満かどうかをチェックする。論理グループアドレスが最終書き込み論理グループアドレスと同一でないか、エントリカウンタが8以上であれば、ステップS223に進んで空き領域をチェックする。空き領域がなければステップS224において後述する消去ブロック確保処理を行い、空き領域があればステップS225においてエントリテーブルを検索し、消去済みの物理ブロックグループを得て書き込み先物理ブロックグループとする。そしてエントリテーブルの該当ビットを書き込み済み「0」に更新し、エントリカウンタを0とする(ステップS222)。一方ステップS222においてエントリーカウンタが8未満であれば、ステップS227においてエントリカウンタをインクリメントする。そしてステップS228において書き込み物理ブロックグループのエントリカウンタ番目の部分物理ブロックのグループを書き込み先部分物理ブロックグループとする。   FIG. 7 is a flowchart showing the write destination determination process in step S204. When this process is started, it is first checked in step S221 whether the logical group address is the same as the final group address. If they are the same, it is checked in step S222 if the entry counter is less than 8. If the logical group address is not the same as the last written logical group address or if the entry counter is 8 or more, the process proceeds to step S223 to check the free area. If there is no free area, an erase block securing process described later is performed in step S224. If there is a free area, the entry table is searched in step S225 to obtain an erased physical block group as a write destination physical block group. Then, the corresponding bit in the entry table is updated to “0” which has been written, and the entry counter is set to 0 (step S222). On the other hand, if the entry counter is less than 8 in step S222, the entry counter is incremented in step S227. In step S228, the write physical block group entry counter-th partial physical block group is set as a write destination partial physical block group.

次にステップS224の消去ブロック確保処理について、図8のフローチャートについて説明する。動作を開始すると、まずステップS231において有効データテーブルを順に検索し、物理ブロック内に含まれる有効データが最も少ない物理ブロックを得て第1の消去予定ブロックとする。次いでステップS232において第1の消去予定ブロックに有効な論理ブロックが含まれないどうかをチェックする。有効な論理ブロックがなければ、ステップS233においてこの第1の消去予定物理ブロックを消去し、ステップS234においてエントリテーブルのこの消去予定ブロックに該当するデータを消去済み「1」に更新する。一方ステップS232において第1の消去予定ブロックに含まれる有効な論理ブロックがあれば、ステップS235に進む。そしてその物理ブロックに含まれる論理ブロックに書かれている論理アドレスの論理グループを元にアドレス変換テーブルからアドレステーブルを読み出す。次いでステップS236において、アドレステーブルから論理グループの有効な論理ブロックがどの物理ブロックに含まれるかを調べ、第2の消去予定物理ブロックから順次最大で第8の消去予定物理ブロックまでを得る。この場合、最小では第1の消去予定物理ブロックのみとなる。次いでステップS237においてエントリテーブルを検索し、消去済みの物理ブロックを得てその先頭の部分物理ブロックを書き込み先物理ブロックとする。又エントリテーブルの該当ビットを書き込み済み「0」に更新する。次いでステップS238において、アドレステーブルから有効な論理ブロックの物理アドレスを元にデータを書き込み先物理ブロックにコピーする。これによって集約先に対してデータを集約する。次にステップS239において、第1から最大で第8の消去予定物理ブロックまで消去予定物理ブロックを順次消去する。これによって分散している物理ブロックを消去することができる。次いでステップS240に進んで、エントリテーブルの第1の消去予定物理ブロックに該当するデータから最大第8の消去予定物理ブロックに該当するデータまでを、順次消去済み「1」として消去ブロック確保の処理を終える。   Next, the erase block securing process in step S224 will be described with reference to the flowchart of FIG. When the operation is started, first, in step S231, the effective data table is sequentially searched to obtain a physical block having the least effective data contained in the physical block and set as a first erasure scheduled block. Next, in step S232, it is checked whether or not a valid logical block is included in the first block to be erased. If there is no valid logical block, the first erase-scheduled physical block is erased in step S233, and the data corresponding to this erase-scheduled block in the entry table is updated to erased “1” in step S234. On the other hand, if there is a valid logical block included in the first block to be erased in step S232, the process proceeds to step S235. Then, the address table is read from the address conversion table based on the logical group of logical addresses written in the logical block included in the physical block. Next, in step S236, it is checked from the address table which physical block contains a valid logical block of the logical group, and the second to-be-erased physical block is sequentially ordered up to the eighth to-be-erased physical block. In this case, the minimum is only the first erase-scheduled physical block. In step S237, the entry table is searched to obtain an erased physical block, and the top partial physical block is set as a write destination physical block. Also, the corresponding bit of the entry table is updated to “0” which has been written. In step S238, data is copied from the address table to the write destination physical block based on the physical address of the valid logical block. As a result, data is aggregated to the aggregation destination. Next, in step S239, the to-be-erased physical blocks are sequentially erased from the first to the eighth to-be-erased physical block. As a result, distributed physical blocks can be erased. Next, the process proceeds to step S240, and the process of securing the erase block is performed by sequentially erasing “1” from the data corresponding to the first erase-scheduled physical block to the data corresponding to the maximum eighth erase-scheduled physical block in the entry table. Finish.

次にステップS212,218のテーブル更新処理について、図9のフローチャートを用いて説明する。テーブル更新処理では、ステップS251においてアドレス変換テーブルの論理グループアドレスのデータを書き込み先部分物理ブロックグループの先頭の部分物理ブロックに書き換える。そしてステップS252において最終書き込み論理グループアドレスを論理グループアドレスとして処理を終える。   Next, the table update processing in steps S212 and S218 will be described with reference to the flowchart of FIG. In the table update process, in step S251, the data of the logical group address in the address conversion table is rewritten to the first partial physical block of the write destination partial physical block group. In step S252, the process ends with the last write logical group address as the logical group address.

尚ここで説明した各実施の形態でのデータ容量などの数値は一例であり、他の数値としても良いことはいうまでもない。   It should be noted that the numerical values such as the data capacity in each embodiment described here are merely examples, and it goes without saying that other numerical values may be used.

本発明は書き換え可能な不揮発性メモリを有する不揮発性記憶装置及びその書込み方法であって、大容量化した場合にも従来例に比べて書き込み速度を高速化することができる。そのため大容量化で高速で書き込みが必要な不揮発性メモリの種々の用途に使用することができる。   The present invention relates to a nonvolatile memory device having a rewritable nonvolatile memory and a writing method thereof, and the writing speed can be increased as compared with the conventional example even when the capacity is increased. Therefore, it can be used for various uses of a nonvolatile memory that requires a large capacity and high speed writing.

本発明の実施の形態による不揮発性記憶装置の全体構成を示すブロック図である。1 is a block diagram showing an overall configuration of a nonvolatile memory device according to an embodiment of the present invention. 実施の形態によるフラッシュメモリとその物理ブロックの構成を示す図である。It is a figure which shows the structure of the flash memory by the embodiment, and its physical block. 実施の形態によるフラッシュメモリとその上に構成される論理ブロックを示す図である。1 is a diagram illustrating a flash memory and a logical block configured thereon according to an embodiment. FIG. 実施の形態による有効データテーブルの一例を示す図である。It is a figure which shows an example of the effective data table by embodiment. 実施の形態によるデータ書き込み処理を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the data write-in process by embodiment. 実施の形態によるデータ書き込み処理を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the data write-in process by embodiment. 実施の形態による書き込み先決定処理を示すフローチャートである。It is a flowchart which shows the write-destination determination process by embodiment. 実施の形態による消去ブロック確保処理を示すフローチャートである。It is a flowchart which shows the erasure block reservation process by embodiment. 実施の形態によるテーブル更新処理を示すフローチャートである。It is a flowchart which shows the table update process by embodiment. 従来の不揮発性メモリの構成を示す図である。It is a figure which shows the structure of the conventional non-volatile memory. 従来のフラッシュメモリ、及びその物理ブロックの構成を示す図である。It is a figure which shows the structure of the conventional flash memory and its physical block. 従来の物理ブロックに書き込まれる論理ページの構成を示す図である。It is a figure which shows the structure of the logical page written in the conventional physical block. 従来の論理ブロックの構成を示す図である。It is a figure which shows the structure of the conventional logic block. 従来の不揮発性メモリのデータ読み出し時の動作を示す概略図である。It is the schematic which shows the operation | movement at the time of the data reading of the conventional non-volatile memory. 従来の不揮発性記憶装置のデータ書き込み処理を示すフローチャートである。It is a flowchart which shows the data write-in process of the conventional non-volatile memory device. 従来のデータ書き込み時の動作を示す概略図である。It is the schematic which shows the operation | movement at the time of the conventional data writing.

符号の説明Explanation of symbols

21 メモリカード
21 コントローラ
31 CPU
32 一時退避バッファ
33 データ転送バッファ
34 アドレス変換テーブル
35 エントリテーブル
36 有効テーブル
FM0〜FM3 フラッシュメモリ
21 Memory Card 21 Controller 31 CPU
32 Temporary save buffer 33 Data transfer buffer 34 Address conversion table 35 Entry table 36 Valid table FM0 to FM3 Flash memory

Claims (6)

不揮発性メモリと、
コントローラと、を有し、
外部から与えられる論理アドレスに基づいて前記不揮発性メモリにデータを書き込み、及び読み出す不揮発性記憶装置であって、
前記不揮発性メモリは、互いにペアとなる複数の不揮発性メモリ素子から成り、各不揮発性メモリは複数のバンクから成り、各バンクは同一数の複数の物理ブロックから成り、前記各物理ブロックは複数の部分物理ブロックから成るものであり、
外部からは、一連の論理グループアドレスと各論理グループに属する一連の論理ブロックアドレスを含む論理アドレスが与えられるものであり、
前記コントローラは、
ペア毎に各バンクから夫々1つずつ選択される物理ブロックの組を物理ブロックグループとし、その共通する部分物理ブロックの位置に論理ブロックを書き込むものであり、
外部から与えられる論理アドレスのうち論理グループアドレスをその論理グループが属する論理ブロックが記録される部分物理ブロックアドレスに変換するアドレス変換領域を有するアドレス変換テーブルと、
各物理ブロックについて書き込み済み及び消去済みのいずれかを示すエントリテーブルと、
論理ブロックグループを構成する論理ブロックが有効データかどうかを記載した有効データテーブルと、を有し、
書き込みのためのデータとその論理アドレスとが外部から与えられたときに、前記有効データテーブルに基づいて未書き込みの領域に部分物理ブロックグループの単位で当該データを書き込むと共に、前記アドレス変換テーブルにその論理ブロックが属する論理グループに対してその部分物理ブロックを登録し、エントリテーブル及び有効データテーブルを更新することを特徴とする不揮発性記憶装置。
Non-volatile memory;
A controller, and
A nonvolatile storage device that writes data to and reads data from the nonvolatile memory based on a logical address given from the outside,
The nonvolatile memory includes a plurality of nonvolatile memory elements paired with each other, each nonvolatile memory includes a plurality of banks, each bank includes the same number of physical blocks, and each physical block includes a plurality of Consisting of partial physical blocks,
From the outside, a logical address including a series of logical group addresses and a series of logical block addresses belonging to each logical group is given,
The controller is
A set of physical blocks selected one by one from each bank for each pair is used as a physical block group, and a logical block is written at the position of the common partial physical block.
An address conversion table having an address conversion area for converting a logical group address among logical addresses given from the outside into a partial physical block address in which a logical block to which the logical group belongs is recorded;
An entry table indicating either written or erased for each physical block;
A valid data table that describes whether or not the logical blocks constituting the logical block group are valid data;
When data for writing and its logical address are given from the outside, based on the effective data table, the data is written in an unwritten area in units of partial physical block groups, and the data is written to the address conversion table. A non-volatile storage device, wherein a partial physical block is registered for a logical group to which a logical block belongs, and an entry table and an effective data table are updated.
前記コントローラは、有効データテーブルを検索し、物理ブロックに含まれる有効データが少ない物理ブロックを消去予定物理ブロックとし、消去予定物理ブロックに有効な論理ブロックがなければその論理ブロックを消去し、有効な論理ブロックがあれば消去済みの他の物理ブロックに有効な論理ブロックのデータを集約することによって、消去ブロックを確保する消去ブロック確保手段を有することを特徴とする請求項1記載の不揮発性記憶装置。   The controller searches the valid data table, sets a physical block with less valid data contained in the physical block as a physical block to be erased, and erases a logical block if there is no valid logical block in the physical block to be erased. 2. The non-volatile memory device according to claim 1, further comprising erase block securing means for securing erase blocks by aggregating valid logical block data in other erased physical blocks if there are logical blocks. . 前記不揮発性メモリの物理ブロックグループのデータ容量は論理グループのデータ容量と等しいものであり、部分物理ブロックグループのデータ容量は、論理ブロックのデータ容量及び前記不揮発性記憶装置の外部のデータ管理単位と等しくしたことを特徴とする請求項1記載の不揮発性記憶装置。   The data capacity of the physical block group of the nonvolatile memory is equal to the data capacity of the logical group, and the data capacity of the partial physical block group is the data capacity of the logical block and the data management unit outside the nonvolatile storage device. The nonvolatile memory device according to claim 1, wherein the nonvolatile memory devices are equal. 不揮発性メモリと、
コントローラと、を有し、
外部から与えられる論理アドレスに基づいて前記不揮発性メモリにデータを書き込み、及び読み出す不揮発性記憶装置のデータ書き込み方法であって、
前記不揮発性メモリは、互いにペアとなる複数の不揮発性メモリ素子から成り、各不揮発性メモリは複数のバンクから成り、各バンクは同一数の複数の物理ブロックから成り、前記各物理ブロックは複数の部分物理ブロックから成るものであり、
外部からは、一連の論理グループアドレスと各論理グループに属する一連の論理ブロックアドレスを含む論理アドレスが与えられるものであり、
前記コントローラは、
ペア毎に各バンクから夫々1つずつ選択される物理ブロックの組を物理ブロックグループとし、その共通する部分物理ブロックの位置に論理ブロックを書き込むものであり、
外部から与えられる論理アドレスのうち論理グループアドレスをその論理グループが属する論理ブロックが記録される部分物理ブロックアドレスに変換するアドレス変換領域を有するアドレス変換テーブルと、
各物理ブロックについて書き込み済み及び消去済みのいずれかを示すエントリテーブルと、
論理ブロックグループを構成する論理ブロックが有効データかどうかを記載した有効データテーブルと、を有し、
書き込みのためのデータとその論理アドレスとが外部から与えられたときに、前記有効データテーブルに基づいて未書き込みの領域に部分物理ブロックグループの単位で当該データを書き込み、
前記アドレス変換テーブルにその論理ブロックが属する論理グループに対してその部分物理ブロックを登録し、
エントリテーブル及び有効データテーブルを更新することを特徴とする不揮発性記憶装置のデータ書き込み方法。
Non-volatile memory;
A controller, and
A data writing method for a nonvolatile storage device that writes data to and reads data from the nonvolatile memory based on a logical address given from the outside,
The nonvolatile memory includes a plurality of nonvolatile memory elements paired with each other, each nonvolatile memory includes a plurality of banks, each bank includes the same number of physical blocks, and each physical block includes a plurality of Consisting of partial physical blocks,
From the outside, a logical address including a series of logical group addresses and a series of logical block addresses belonging to each logical group is given,
The controller is
A set of physical blocks selected one by one from each bank for each pair is used as a physical block group, and a logical block is written at the position of the common partial physical block.
An address conversion table having an address conversion area for converting a logical group address among logical addresses given from the outside into a partial physical block address in which a logical block to which the logical group belongs is recorded;
An entry table indicating either written or erased for each physical block;
A valid data table that describes whether or not the logical blocks constituting the logical block group are valid data;
When data for writing and its logical address are given from the outside, the data is written in the unit of partial physical block group in an unwritten area based on the valid data table,
Register the partial physical block for the logical group to which the logical block belongs in the address translation table;
A data writing method for a nonvolatile memory device, wherein the entry table and the valid data table are updated.
前記有効データテーブルを検索し、物理ブロックに含まれる有効データが少ない物理ブロックを消去予定物理ブロックとし、消去予定物理ブロックに有効な論理ブロックがなければその論理ブロックを消去し、有効な物理ブロックがあれば消去済みの他の物理ブロックに有効な論理ブロックのデータを集約することによって、消去ブロックを確保する処理を更に有することを特徴とする請求項4記載の不揮発性記憶装置のデータ書き込み方法。   The effective data table is searched, a physical block with a small amount of valid data contained in the physical block is set as a physical block to be erased, and if there is no valid logical block in the physical block to be erased, the logical block is erased. 5. The method of writing data in a nonvolatile storage device according to claim 4, further comprising a process of securing an erase block by aggregating data of valid logical blocks into another physical block that has been erased. 前記不揮発性メモリの物理ブロックグループのデータ容量は、論理グループのデータ容量と等しいものであり、部分物理ブロックグループのデータ容量は、論理ブロックのデータ容量及び前記不揮発性記憶装置の外部のデータ管理単位と等しくしたことを特徴とする請求項4記載の不揮発性記憶装置のデータ書き込み方法。
The data capacity of the physical block group of the nonvolatile memory is equal to the data capacity of the logical group, and the data capacity of the partial physical block group is the data capacity of the logical block and the data management unit outside the nonvolatile storage device. The data writing method for a nonvolatile memory device according to claim 4, wherein
JP2004246989A 2004-08-26 2004-08-26 Nonvolatile storage device and write method therefor Pending JP2005078634A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004246989A JP2005078634A (en) 2004-08-26 2004-08-26 Nonvolatile storage device and write method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004246989A JP2005078634A (en) 2004-08-26 2004-08-26 Nonvolatile storage device and write method therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003306160 Division 2003-08-29 2003-08-29

Publications (1)

Publication Number Publication Date
JP2005078634A true JP2005078634A (en) 2005-03-24

Family

ID=34420306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004246989A Pending JP2005078634A (en) 2004-08-26 2004-08-26 Nonvolatile storage device and write method therefor

Country Status (1)

Country Link
JP (1) JP2005078634A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516477A (en) * 2009-05-27 2012-07-19 株式会社日立製作所 Storage apparatus, control method therefor, and program
JP2012194993A (en) * 2005-06-06 2012-10-11 Sony Corp Storage device
US9715444B2 (en) 2012-06-01 2017-07-25 Samsung Electronics Co., Ltd. Storage device having nonvolatile memory device and write method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194993A (en) * 2005-06-06 2012-10-11 Sony Corp Storage device
JP2014194817A (en) * 2005-06-06 2014-10-09 Sony Corp Storage device
JP2012516477A (en) * 2009-05-27 2012-07-19 株式会社日立製作所 Storage apparatus, control method therefor, and program
US9715444B2 (en) 2012-06-01 2017-07-25 Samsung Electronics Co., Ltd. Storage device having nonvolatile memory device and write method

Similar Documents

Publication Publication Date Title
KR100706242B1 (en) Memory system and run level address mapping table forming method thereof
US8375157B2 (en) Cluster based non-volatile memory translation layer
CN110998550B (en) Memory addressing
TWI381274B (en) Block management method and storage system and controller thereof
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
TWI385667B (en) Block accessing method for flash memory and storage system and controller using the same
TWI385517B (en) Storage device and data management method
JP2006216036A (en) Data storage device including flash memory and its merging method
JP5969130B2 (en) Information processing device
CN1514971A (en) Partial block data programming and reading operations in non-volatile memory
WO2007000862A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
TW201007451A (en) Block management method for flash memory and storage system and controller using the same
US8392691B2 (en) Data management method, memory controller and memory storage apparatus
TWI718709B (en) Data storage device and non-volatile memory control method
US8423707B2 (en) Data access method for flash memory and storage system and controller using the same
JP4667243B2 (en) Nonvolatile storage device and writing method thereof
CN113253926A (en) Memory internal index construction method for improving query and memory performance of novel memory
JP2003058417A (en) Storage device
JP2005078634A (en) Nonvolatile storage device and write method therefor
JP2004151939A (en) Storage device
TWI745987B (en) Data storage device and non-volatile memory control method
JP2012068764A (en) Memory controller, nonvolatile memory system with memory controller, and control method of nonvolatile memory
JP2008299455A (en) Data storage device and data management method
KR20030095820A (en) Access control device for memory and method thereof
CN107315648B (en) Method for improving data moving performance during bad block management