JP2003208352A - Flash memory enabling restriction of writing frequency and ware levelling - Google Patents

Flash memory enabling restriction of writing frequency and ware levelling

Info

Publication number
JP2003208352A
JP2003208352A JP2002008507A JP2002008507A JP2003208352A JP 2003208352 A JP2003208352 A JP 2003208352A JP 2002008507 A JP2002008507 A JP 2002008507A JP 2002008507 A JP2002008507 A JP 2002008507A JP 2003208352 A JP2003208352 A JP 2003208352A
Authority
JP
Japan
Prior art keywords
page
data
written
pages
writing
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.)
Withdrawn
Application number
JP2002008507A
Other languages
Japanese (ja)
Inventor
Toru Kudo
徹 工藤
Isamu Nakajima
勇 中島
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002008507A priority Critical patent/JP2003208352A/en
Publication of JP2003208352A publication Critical patent/JP2003208352A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a flash memory for restricting writing frequencies and enabling ware levelling. <P>SOLUTION: The flash memory is provided with a plurality of pages having data areas and management areas corresponding to the data areas and further has a plurality of the pages and a plurality of memory blocks of deletion unit. Then the flash memory is further provided with page ID areas in which page IDs specifying the pages are written when data is written in the management areas of the respective pages and a first positional flag area in which information for specifying a page to be written among a plurality of the pages with the same page ID in the latest data writing position is written when the data is updated and written. Thus, writing operation to a page at an update origin becomes unnecessary to be performed in the case of update and write. Writing operations are successively performed to deleted unused pages and when unused pages to be written are deleted, garbage collection is performed. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は,半導体不揮発性メ
モリの一つであるフラッシュメモリに関し,特に,書き
込み回数を制限し,ウエアレベリングを可能にしたフラ
ッシュメモリに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a flash memory which is one of semiconductor non-volatile memories, and more particularly to a flash memory which limits the number of times of writing and enables wear leveling.

【0002】[0002]

【従来の技術】半導体不揮発性メモリは,電源がオフ状
態でも記憶データを保持でき,ハードディスクよりも小
型で,高速読み出し可能なデバイスとして広く普及して
いる。特に,フラッシュメモリは,消去単位を比較的大
きくして,消去時間が長いという半導体不揮発性メモリ
の欠点を抑えている。
2. Description of the Related Art Semiconductor non-volatile memory is widely used as a device that can retain stored data even when the power is off, is smaller than a hard disk, and can be read at high speed. In particular, the flash memory has a relatively large erase unit to suppress the disadvantage of the semiconductor nonvolatile memory that the erase time is long.

【0003】半導体不揮発性メモリは,MOSトランジ
スタのゲート電極とチャネル領域との間のゲート酸化膜
内にフローティングゲートを埋め込んだ構成のセルトラ
ンジスタを有する。フラッシュメモリには,このセルト
ランジスタを縦列に接続し,その縦列接続したセグメン
トを選択トランジスタを介してビット線に接続したNAND
型のメモリがある。このNAND型フラッシュメモリは,大
容量であることから,デジタルスチールカメラや携帯電
話のメモリとして広く利用されている。
A semiconductor non-volatile memory has a cell transistor having a structure in which a floating gate is embedded in a gate oxide film between a gate electrode of a MOS transistor and a channel region. In the flash memory, these cell transistors are connected in cascade, and the segments connected in cascade are connected to the bit line through the select transistor.
Type memory. Because of its large capacity, this NAND flash memory is widely used as a memory for digital still cameras and mobile phones.

【0004】かかるNAND型のフラッシュメモリの特徴点
として,セルトランジスタのフローティングゲートに電
荷を蓄積する書き込み(プログラム)動作の回数が多く
なると,書き込みエラーを発生しやすくなることが知ら
れており,ある消去動作から次の消去動作の間の書き込
み回数を制限したほうが良い。一方で,消去動作では,
消去単位のブロック内全てのセルトランジスタに対し
て,フローティングゲートに一旦電荷を注入し,その後
一斉に消去パルスを印加して,フローティングゲート内
の電荷を引き抜く。従って,読み出し動作や書き込み動
作に比較すると,消去動作は,例えば1秒と長時間を要
する。従って,消去動作の頻度をなるべく低くすること
が好ましい。
It is known that a characteristic feature of such a NAND type flash memory is that when the number of write (program) operations for accumulating charges in the floating gate of a cell transistor increases, a write error is likely to occur. It is better to limit the number of times of writing from one erase operation to the next. On the other hand, in the erase operation,
Electric charges are once injected into the floating gates of all the cell transistors in the block of the erase unit, and then an erase pulse is applied all at once to remove the charges in the floating gates. Therefore, as compared with the read operation and the write operation, the erase operation requires a long time, for example, 1 second. Therefore, it is preferable to reduce the frequency of the erase operation as much as possible.

【0005】更に,フラッシュメモリの特徴として,書
き込み(プログラム)動作や消去動作の回数が多くなる
と,フローティングゲート下のトンネル酸化膜が劣化
し,プログラム動作によるオーバープログラム現象が生
じることがある。従って,できるだけ消去回数を減らし
て,かかる問題を最小に抑えることが望まれる。その一
つの解決方法が,ウエアレベリングという考え方であ
り,チップ内のメモリセルアレイ内で,できるだけ均等
に消去動作を行うようにすることが提案されている。
Further, as a feature of the flash memory, if the number of write (program) operations or erase operations increases, the tunnel oxide film under the floating gate may deteriorate, and an over-program phenomenon due to the program operation may occur. Therefore, it is desirable to reduce the number of erasures as much as possible to minimize such a problem. One solution to this is the idea of wear leveling, and it has been proposed to perform the erase operation as evenly as possible in the memory cell array in the chip.

【0006】図1は,特開平9−97218号公報に提
案されている従来の一つのフラッシュメモリの構成図で
ある。この例では,消去単位であるイレーズブロックEB
LK内に複数のページを有し,各ページPAGE内に,図示し
ないセルトランジスタのアレイを有する。複数のイレー
ズブロックEBLKは,消去回数カウンタ10をそれぞれ有
し,イレーズブロックを消去するたびに,そのブロック
内の消去回数カウンタ10をインクリメントする。それ
により,全てのイレーズブロックの消去回数を把握する
ことができ,ガーベージコレクション処理において,消
去回数の少ないイレーズブロックを優先的に整理対象ブ
ロックにして,消去動作を分散させることができる。
FIG. 1 is a block diagram of one conventional flash memory proposed in Japanese Patent Laid-Open No. 9-97218. In this example, erase block EB, which is the erase unit
It has a plurality of pages in LK, and has an array of cell transistors (not shown) in each page PAGE. Each of the erase blocks EBLK has an erase count counter 10, and every time an erase block is erased, the erase count counter 10 in the block is incremented. As a result, it is possible to grasp the erase counts of all erase blocks, and in the garbage collection process, erase blocks with a small erase count can be preferentially selected as the rearrangement target blocks to disperse the erase operation.

【0007】各ページは,データが記憶されるデータ領
域20と,管理領域とからなる。管理領域には,ページ
番号12と,ページが有効に利用されているかを示す使
用中フラグ14と,ページの利用が終了したことを表す
使用済みフラグ16と,エラーコレクションコード18
の領域が設けられる。
Each page comprises a data area 20 for storing data and a management area. In the management area, a page number 12, a busy flag 14 indicating whether the page is effectively used, a used flag 16 indicating that the usage of the page is finished, and an error collection code 18
Area is provided.

【0008】この従来例によれば,新規書き込み動作で
は,未使用中のページに対して,ページ番号12に所定
の番号を,使用中フラグ14にTRUEをそれぞれ書き込
み,データ領域に書き込みデータを書き込む。また,書
き込み済みの特定のページに対して,更新書き込み動
作,即ちデータを書き換える動作では,そのページを消
去せずに,未使用中のページに更新データを書き込み,
使用中フラグ14をTRUEにし,更に,元のデータが書き
込まれたページに対して使用済みフラグ16をTRUEにす
る。その結果,同じページ番号を有する複数のページの
うち,使用済みフラグ16がFALSEのページのデータが
有効な最新データであると,判別することができる。ペ
ージのデータを削除するときは,その使用済みフラグを
TRUEにすれば良いことになる。
According to this conventional example, in the new write operation, a predetermined number is written in the page number 12 and TRUE is written in the in-use flag 14 for an unused page, and write data is written in the data area. . In addition, in the update write operation, that is, the operation of rewriting the data with respect to the specific page that has been written, the update data is written in the unused page without erasing the page,
The busy flag 14 is set to TRUE, and the used flag 16 is set to TRUE for the page in which the original data is written. As a result, among the plurality of pages having the same page number, it can be determined that the data of the page whose used flag 16 is FALSE is the latest valid data. When deleting page data, set the used flag
It should be set to TRUE.

【0009】上記のように更新書き込み動作を繰り返し
たり,また,ページの削除動作を繰り返すうちに,未使
用中のページがなくなってしまう。そのため,新規書き
込み動作や更新書き込み動作ができなくなる。そのよう
な場合は,ガーベージコレクションが行われる。このガ
ーベージコレクションでは,特定のイレーズブロック内
の使用中の全てのページのデータを,未使用中のページ
に書き込み,当該イレーズブロックに対して消去動作を
行い,未使用中ページとする。この調整対象のイレーズ
ブロックの選択が,各ブロック内の消去回数カウンタの
少ないことを基準にして行われる。
As the update write operation is repeated and the page delete operation is repeated as described above, unused pages disappear. Therefore, new write operation and update write operation cannot be performed. In such cases, garbage collection is performed. In this garbage collection, the data of all the used pages in a specific erase block is written in the unused page, and the erase operation is performed on the erase block to make it the unused page. The erase block to be adjusted is selected on the basis of the small number of erase counters in each block.

【0010】[0010]

【発明が解決しようとする課題】上記の従来例では,書
き込み命令に対して,データ領域20にデータを書き込
み,更に,管理領域内のページ番号12,使用中フラグ
14,ECC18などに必要な情報を書き込む。更に,
更新書き込み命令が発生すると,更新元のページに対し
て使用済みフラグ16にTRUEを書き込む必要がある。ま
た,書き込んだ後に削除命令があると,同様に使用済み
フラグ16にTRUEを書き込む必要がある。しかも,イレ
ーズ動作が終了した時点で,消去回数カウンタ10への
書き込み動作も行われている。
In the above-mentioned conventional example, in response to a write command, data is written in the data area 20, and further information necessary for the page number 12, the busy flag 14, the ECC 18, etc. in the management area. Write. Furthermore,
When an update write command is issued, it is necessary to write TRUE to the used flag 16 for the update source page. Further, if there is a delete command after writing, it is necessary to write TRUE in the used flag 16 as well. Moreover, when the erase operation is completed, the write operation to the erase number counter 10 is also performed.

【0011】従って,1つのイレーズブロックにおい
て,消去動作から次の消去動作までの間に,(1)消去
回数カウンタへの書き込み,(2)データ領域への書き
込み,(3)管理領域への書き込み,(4)使用済みフ
ラグへの書き込みと,多数の書き込み動作が繰り返され
ることになる。このような書き込み動作回数が多くなる
ことは,特にNAND型のフラッシュメモリにおいては,エ
ラーを招くことになり,好ましくない。
Therefore, in one erase block, between the erase operation and the next erase operation, (1) writing to the erase count counter, (2) writing to the data area, and (3) writing to the management area. , (4) Writing to the used flag and a large number of writing operations are repeated. Such increase in the number of write operations causes an error, especially in a NAND flash memory, which is not preferable.

【0012】更に,イレーズブロック毎に消去回数カウ
ンタを設けて,そこに消去動作毎にカウンタ値をインク
リメントし,ガーベージコレクションを行う時に,消去
回数カウンタを参照して調整対象のイレーズブロックを
選択することは,煩雑であり,ウエアレベリングの方法
として好ましくない。
Further, an erase count counter is provided for each erase block, the counter value is incremented for each erase operation, and when performing garbage collection, the erase count counter is referenced to select the erase block to be adjusted. Is complicated and is not preferable as a wear leveling method.

【0013】そこで,本発明の目的は,ウエアレベリン
グの管理を簡素化し,消去動作間の書き込み回数をでき
るだけ少なくしたフラッシュメモリを提供することにあ
る。
Therefore, an object of the present invention is to provide a flash memory in which the management of wear leveling is simplified and the number of write operations between erase operations is minimized.

【0014】[0014]

【課題を解決するための手段】上記の目的を達成するた
めに,本発明の第1の側面は,データ領域とデータ領域
に対応する管理領域とを有する複数のページを有し,更
に,当該複数のページを有し消去単位のメモリブロック
を複数有するフラッシュメモリである。そして,各ペー
ジの管理領域に,データが書き込まれる時に,ページを
特定するページIDが書き込まれるページID領域と,
前記データが書き込まれる時に,同じページIDの複数
のページのうち当該書き込み対象ページを最新データ書
き込に位置に特定する情報が書き込まれる第1の位置フ
ラグ領域とを設ける。
In order to achieve the above object, the first aspect of the present invention has a plurality of pages each having a data area and a management area corresponding to the data area. It is a flash memory having a plurality of pages and a plurality of memory blocks in erase units. Then, in the management area of each page, when data is written, a page ID area in which a page ID that identifies the page is written,
There is provided a first position flag area in which, when the data is written, information for specifying the position of the write target page for writing the latest data among a plurality of pages having the same page ID is written.

【0015】上記の第1の側面によれば,更新書き込み
の時に,更新元のページの管理領域に対してなんら情報
の書き込みを必要とせず,更新先のページの管理領域
に,ページIDと第1の位置フラグとを書き込めば良
い。従って,更新元のページの管理領域への書き込み動
作を,省略することができ,消去動作の間の書き込み回
数を減らすことができる。
According to the first aspect described above, at the time of update writing, it is not necessary to write any information to the management area of the update source page, and the page ID and the first ID are stored in the management area of the update destination page. It is sufficient to write the position flag of 1. Therefore, the write operation to the management area of the update source page can be omitted, and the number of write operations during the erase operation can be reduced.

【0016】上記の目的を達成するために,本発明の第
2の側面は,データ領域とデータ領域に対応する管理領
域とを有する複数のページを有し,更に,当該複数のペ
ージを有し消去単位のメモリブロックを複数有するフラ
ッシュメモリである。そして,各ページ領域に,データ
が書き込まれる時に,当該書き込み対象ページを最終書
き込み位置に特定する情報が書き込まれる第2の位置フ
ラグ領域を設ける。この第2の位置フラグ領域の情報に
従って,データの書き込み動作が前記複数のページに対
してシリアルな順番で行われる。
To achieve the above object, the second aspect of the present invention has a plurality of pages having a data area and a management area corresponding to the data area, and further has the plurality of pages. It is a flash memory having a plurality of erase-unit memory blocks. Then, in each page area, a second position flag area is provided in which, when data is written, information for specifying the write target page as a final write position is written. According to the information in the second position flag area, the data write operation is performed on the plurality of pages in serial order.

【0017】更に,転送用メモリブロック以外のメモリ
ブロックへのデータ書き込み動作が終了した時点で,ガ
ーベージコレクションが行われ,その時,最も早く書き
込みが行われた有効ページを有する整理対象メモリブロ
ック内の有効データを,前記転送用メモリブロックに書
き込み,当該整理対象メモリブロックを消去するガーベ
ージコレクションが行われる。
Further, when the data write operation to the memory blocks other than the transfer memory block is completed, garbage collection is performed, and at that time, the valid data in the rearrangement target memory block having the valid page written earliest is valid. Garbage collection is performed in which data is written to the transfer memory block and the rearrangement target memory block is erased.

【0018】上記の第2の側面では,消去単位のメモリ
ブロックに対して,順番にシリアルにデータ書き込みを
行い,更に,順番に消去動作を行うことができる。従っ
て,各メモリブロックに消去回数カウンタを設けること
なく,複数のメモリブロックへの消去動作を均等に分散
させることができる。
In the second aspect described above, it is possible to serially write data to the memory blocks in the erase unit and further perform the erase operation in order. Therefore, it is possible to evenly distribute the erase operation to a plurality of memory blocks without providing an erase counter in each memory block.

【0019】[0019]

【発明の実施の形態】以下,図面を参照して本発明の実
施の形態例を説明する。しかしながら,本発明の保護範
囲は,以下の実施の形態例に限定されるものではなく,
特許請求の範囲に記載された発明とその均等物にまで及
ぶものである。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. However, the scope of protection of the present invention is not limited to the following embodiments,
The invention extends to the inventions described in the claims and their equivalents.

【0020】図2は,本実施の形態におけるフラッシュ
メモリの全体構成図である。フラッシュメモリには,外
部からのコマンドCMDを入力して,内部の書き込み(プ
ログラム),読み出し,消去,を制御するコントローラ
30と,データを記憶するメモリセルアレイ32と,メ
モリセルアレイ32へのデータ書き込みや読み出しを行
うページバッファPBとを有する。外部から供給される
書き込みデータDATAは,一旦ページバッファPB内に格
納され,外部から供給されたアドレスADDに対応するペ
ージ領域に,そのデータが書き込まれる。
FIG. 2 is an overall configuration diagram of the flash memory according to the present embodiment. A command CMD from the outside is input to the flash memory, and a controller 30 for controlling internal writing (programming), reading, and erasing, a memory cell array 32 for storing data, and data writing to the memory cell array 32 and It has a page buffer PB for reading. The write data DATA supplied from the outside is temporarily stored in the page buffer PB, and the data is written to the page area corresponding to the address ADD supplied from the outside.

【0021】メモリセルアレイ32は,複数の消去単位
のメモリブロック(イレーズブロック)EBLKに分割さ
れ,更に,各メモリブロックEBLK内は,複数のページ領
域PAGEに分割されている。各ページ領域に対して,デー
タを保持するデータ領域とそのページを管理する管理領
域とが設けられる。
The memory cell array 32 is divided into a plurality of erase unit memory blocks (erase blocks) EBLK, and each memory block EBLK is further divided into a plurality of page areas PAGE. A data area for holding data and a management area for managing the page are provided for each page area.

【0022】図3は,NAND型のフラッシュメモリのメモ
リセルアレイの構成図である。メモリセルアレイ内に
は,複数のビット線BL0,BL1と,各ビット線に接続され
た複数のセグメントSGと,各セグメント内に設けられた
複数のメモリセルMCと,それに接続される複数のワード
線WLとが設けられる。
FIG. 3 is a block diagram of a memory cell array of a NAND type flash memory. In the memory cell array, a plurality of bit lines BL0, BL1, a plurality of segments SG connected to each bit line, a plurality of memory cells MC provided in each segment, and a plurality of word lines connected thereto WL and is provided.

【0023】セグメントSGには,複数(図中では16
個)のメモリセルMCが縦列に接続され,その一方が第1
のセグメントゲートSGG10,SGG11,SGG12を介してビット
線BLに接続され,その他方が第2のセグメントゲートSG
G20,SGG21,SGG22を介してセル内ソース電圧ARRVSSに接
続される。
A plurality of segments (16 in the figure) are provided in the segment SG.
Memory cells MC are connected in a column, one of which is the first
Is connected to the bit line BL via the segment gates SGG10, SGG11, SGG12, and the other is the second segment gate SG.
It is connected to the in-cell source voltage ARRVSS via G20, SGG21, SGG22.

【0024】そして,リード動作では,例えば,セグメ
ント選択信号SG10,SG20がHレベルに制御され,第1及
び第2のセグメントゲートSGG10,SGG20が導通し,16
個のメモリセルからなるセグメントSGが,ビット線BLと
セル内ソース電圧ARRVSSとの間に接続される。16個の
メモリセルMCに接続される16本のワード線のうち,1
5本の非選択ワード線には高い電圧が印加され,1本の
選択ワード線にはデータ「0」と「1」に対応する閾値
電圧の中間の電圧が印加される。一例では,非選択ワー
ド線は4Vまたはそれより低い電圧,選択ワード線は0
Vである。
Then, in the read operation, for example, the segment selection signals SG10, SG20 are controlled to the H level, the first and second segment gates SGG10, SGG20 are rendered conductive, and 16
A segment SG composed of memory cells is connected between the bit line BL and the source voltage ARRVSS in the cell. 1 of 16 word lines connected to 16 memory cells MC
A high voltage is applied to the five unselected word lines, and an intermediate voltage between the threshold voltages corresponding to the data "0" and "1" is applied to one selected word line. In one example, unselected word lines have a voltage of 4V or lower, and selected word lines have a voltage of 0V.
V.

【0025】その結果,セグメント内の16個のメモリ
セルのうち,15個の非選択メモリセルは全て導通状態
になり,1個の選択メモリセルのみは,記憶データに応
じて導通または非導通になる。それに伴い,ビット線BL
に電流が流れるか流れないかの状態が生成される。各ビ
ット線BL0,BL1に接続されたページバッファPBは,その
ビット線電流の有無を検出し,読み出しデータをラッチ
する。
As a result, of the 16 memory cells in the segment, all 15 non-selected memory cells become conductive, and only one selected memory cell becomes conductive or non-conductive depending on the stored data. Become. Along with that, bit line BL
A state is generated in which current flows or does not flow. The page buffer PB connected to each bit line BL0, BL1 detects the presence or absence of the bit line current and latches the read data.

【0026】また,書き込み(プログラム)動作時に
は,同様にセグメントSGがビット線BLとセル内ソース線
ARRVSSに接続され,ビット線BLと選択ワード線が高い電
位に制御される。それにより,選択されたメモリセルの
ドレインからトンネル現象によりチャージ(電子)がフ
ローティングゲート内に注入される。これに伴い,その
メモリセルの閾値電圧は正電圧になる。
In addition, during a write (program) operation, the segment SG is similarly divided into the bit line BL and the source line in the cell.
Connected to ARRVSS, the bit line BL and the selected word line are controlled to a high potential. As a result, charges (electrons) are injected into the floating gate from the drain of the selected memory cell by the tunnel phenomenon. Along with this, the threshold voltage of the memory cell becomes a positive voltage.

【0027】一方,消去動作時には,全てのメモリセル
がプログラム状態にされた後,全てのセグメントがビッ
ト線BLとセル内ソース線ARRVSSに接続され,ビット線BL
がフローティング状態,全ワード線が負電圧,セル内ソ
ース電圧ARRVSSが高い電圧にそれぞれ制御される。その
結果,全てのメモリセルにおいて,フローティングゲー
ト内のチャージがソースに引き抜かれ,全てのメモリセ
ルの閾値電圧は負電圧になる。
On the other hand, in the erase operation, after all the memory cells are set to the programmed state, all the segments are connected to the bit line BL and the intra-cell source line ARRVSS, and the bit line BL.
Is controlled to a floating state, all word lines are controlled to a negative voltage, and the in-cell source voltage ARRVSS is controlled to a high voltage. As a result, in all the memory cells, the charge in the floating gate is extracted to the source, and the threshold voltage of all the memory cells becomes a negative voltage.

【0028】図4は,本実施の形態におけるフラッシュ
メモリの詳細構成図である。消去単位であるメモリブロ
ックEBLKは,複数のページPAGEに分割されている。図4
の例では,簡単のために,メモリブロックEBLKが4つの
ページPAGEに分割されている。
FIG. 4 is a detailed configuration diagram of the flash memory according to the present embodiment. The memory block EBLK, which is the erase unit, is divided into multiple pages PAGE. Figure 4
In the above example, the memory block EBLK is divided into four pages PAGE for simplicity.

【0029】各ページPAGEには,データを保持するデー
タ領域20とそのページ領域を管理するための管理領域
11とが設けられる。データ領域20は,例えば256
バイトの容量を有する。管理領域11は,必ずしもデー
タ領域20に物理的に隣接して設けられる必要はなく,
全てのページ領域のデータ領域20と管理領域11とが
物理的に離れて設けられていても良い。
Each page PAGE is provided with a data area 20 for holding data and a management area 11 for managing the page area. The data area 20 is, for example, 256
Has a capacity of bytes. The management area 11 does not necessarily have to be provided physically adjacent to the data area 20,
The data area 20 and the management area 11 of all page areas may be provided physically separated.

【0030】また,各ページPAGEには,物理アドレスが
割り当てられていて,全てのページを物理的に区別する
ことができる。
A physical address is assigned to each page PAGE so that all pages can be physically distinguished.

【0031】各ページ領域の管理領域11は,ページを
特定するためのページIDとが書き込まれるページ識別
子PIDと,同じページIDを有する複数のページのう
ち,最新のデータが書き込まれた位置を特定するページ
最新書込位置フラグ(第1の位置フラグ)F1と,全ペ
ージのうち,最後にデータが書き込まれた位置を特定す
る最終書込位置フラグ(第2の位置フラグ)F2とを有
する。このページ識別子PIDは,ページPAGEの論理アド
レスに該当する。更に,管理領域11は,データ領域2
0に書き込まれたデータの誤り訂正コードを書き込むEC
C領域と,記憶データにエラーが発生した時にそのペー
ジが属するメモリブロックを不良ブロックと特定する不
良ブロック情報領域DBLとを有する。
The management area 11 of each page area specifies the position where the latest data is written among the plurality of pages having the same page ID and the page identifier PID in which the page ID for specifying the page is written. The latest page write position flag (first position flag) F1 to be used and the final write position flag (second position flag) F2 that specifies the last data write position of all pages are included. This page identifier PID corresponds to the logical address of page PAGE. Furthermore, the management area 11 is the data area 2
EC to write error correction code of data written in 0
It has a C area and a bad block information area DBL that specifies the memory block to which the page belongs as a bad block when an error occurs in the stored data.

【0032】このようなフラッシュメモリ構成におい
て,書き込み動作とガーベージコレクション動作とを以
下に説明する。
A write operation and a garbage collection operation in such a flash memory configuration will be described below.

【0033】[書き込み動作]図5は,ページへの書き
込み動作のフローチャート図である。また,図6は,ペ
ージへの書き込み動作を説明する図である。データの書
き込み命令が発生すると,コントローラ30は,書き込
み対象のページのデータ領域10に,データの書き込み
(プログラム)を行う(S10)。後述するとおり,書き
込み対象のページは,常に消去済みの未使用のページで
あるので,データ領域10内のメモリセルにプログラム
動作を行うことで書き込みを行うことができる。図6に
示されるとおり,これがページに対する1回目の書き込
み動作である。
[Write Operation] FIG. 5 is a flow chart of the write operation to the page. Further, FIG. 6 is a diagram for explaining a write operation to a page. When a data write command is issued, the controller 30 writes (programs) data in the data area 10 of the page to be written (S10). As will be described later, since the page to be written is an erased and unused page, it is possible to write by performing a program operation on the memory cell in the data area 10. As shown in FIG. 6, this is the first write operation for the page.

【0034】プログラム動作には,プログラムベリファ
イが含まれ,それにより正常に書き込みが完了したか否
かが確認される(S12)。正常に書き込み動作が終了す
れば,次に,管理領域11内のページ識別子PID,ペー
ジ最新書込位置フラグF1,最終書込位置フラグF2,
及びECC領域への書き込みが行われる(S14)。これが,
ページに対する2回目の書き込み動作である。
The program operation includes a program verify, which confirms whether or not the writing is normally completed (S12). When the writing operation is completed normally, next, the page identifier PID in the management area 11, the latest page writing position flag F1, the last writing position flag F2,
And writing to the ECC area is performed (S14). This is,
This is the second write operation for the page.

【0035】ページ識別子PIDは,ページに割り当てら
れる論理アドレスであり,後述するとおり,更新書き込
みの結果,複数のページに対して同じページ識別子が与
えられる場合がある。また,ページ最新書込位置フラグ
F1は,例えば,同じページ識別子を有する複数のペー
ジに対して,順次デクリメントされる(または順次イン
クリメントされる)カウント値であり,その位置フラグ
F1を参照することで,同じページ識別子PIDを有する
複数のページのうち,どれが最新のデータを書き込まれ
た有効ページであるかを識別することができる。
The page identifier PID is a logical address assigned to a page, and as described later, the same page identifier may be given to a plurality of pages as a result of update writing. The latest page write position flag F1 is, for example, a count value that is sequentially decremented (or sequentially incremented) for a plurality of pages having the same page identifier, and by referring to the position flag F1. It is possible to identify which of a plurality of pages having the same page identifier PID is a valid page in which the latest data is written.

【0036】更に,最終書き込み位置フラグF2は,全
てのページに対して,書き込みが行われるたびに,順次
デクリメントされる(または順次インクリメントされ
る)カウント値である。従って,その位置フラグF2を
参照することで,最後に書き込まれたページの位置を検
出することができ,この位置フラグF2により,データ
の書き込み動作を複数のページに対してシリアルな順番
で行うことができる。
The final write position flag F2 is a count value that is sequentially decremented (or sequentially incremented) every time writing is performed on all pages. Therefore, the position of the last written page can be detected by referring to the position flag F2, and the data write operation can be performed on a plurality of pages in serial order by the position flag F2. You can

【0037】ECCは,データ領域10に書き込んだデー
タから,所定のエラー訂正アルゴリズムに従って生成さ
れるエラー訂正コードである。このエラー訂正コードに
より,記憶データに誤りがあったか否かを検出すること
ができ,そのエラーを訂正することができる。そして,
通常,一旦エラーが発生すると,そのページの不良ブロ
ック情報DBLがTRUEにされ,その後,その不良ページが
属するメモリブロックの使用が禁止される。
The ECC is an error correction code generated from the data written in the data area 10 according to a predetermined error correction algorithm. With this error correction code, it is possible to detect whether or not there is an error in the stored data, and the error can be corrected. And
Normally, once an error occurs, the bad block information DBL of that page is set to TRUE, and then the use of the memory block to which the bad page belongs is prohibited.

【0038】データ領域10への正常書き込みが行われ
ない場合は,不良ブロック情報DBLにTRUEが書き込まれ
る(S15)。これも,2回目の書き込み動作である。ま
た,管理領域11への書き込みが正常に行われない場合
も(S16),不良ブロック情報DBLにTRUEが書き込まれる
(S18)。これは,3回目の書き込み動作に該当する。
更に,データ領域と管理領域への書き込みが正常に行わ
れた後であっても,その後の読み出し動作でエラーの発
生が検出されると,上記の通り,不良ブロック情報DBL
にTRUEが書き込まれる。これも3回目の書き込み動作に
該当する。
If normal writing to the data area 10 is not performed, TRUE is written to the defective block information DBL (S15). This is also the second write operation. Further, even when the writing to the management area 11 is not normally performed (S16), TRUE is written to the bad block information DBL (S18). This corresponds to the third write operation.
Furthermore, even after the writing to the data area and the management area is normally performed, if an error is detected in the subsequent read operation, the defective block information DBL is detected as described above.
TRUE is written to. This also corresponds to the third write operation.

【0039】データ領域10に書き込まれたデータを更
新する更新書き込み命令があると(S20),フラッシュ
メモリは,元のページにその更新データを再度書き込む
のではなく,別の消去済みのページ(未使用ページ)に
更新データを書き込む。フラッシュメモリでは,更新デ
ータを再書き込みするためには,元のページを一旦消去
することが必要である。しかし,消去動作は,長時間を
要するので,更新書き込みのたびに元のページの消去を
行うことは効率的ではない。従って,元のページの記憶
状態をそのままにしたまま,消去済みの新たなページ
に,更新データを書き込むことが行われる。
When there is an update write command to update the data written in the data area 10 (S20), the flash memory does not write the update data again to the original page, but to another erased page (not yet written). Write the updated data to the (used page). In the flash memory, it is necessary to erase the original page once in order to rewrite the updated data. However, since the erase operation takes a long time, it is not efficient to erase the original page for each update write. Therefore, the update data is written to the new erased page while keeping the storage state of the original page.

【0040】その場合,消去済みの別のページに対し
て,更新データが書き込まれると共に,管理領域11に
は,同じページ識別子PIDが書き込まれ,ページ最新書
込位置フラグF1には,デクリメントされたカウント値
が書き込まれる(S22)。その結果,同じページ識別子P
IDを有する複数のページが存在することになるが,ペー
ジ最新書込フラグF1を参照することで,どのページが
有効なデータを記憶しているかを識別することができ
る。こうすることにより,元のページの管理領域への書
き込み動作を行うことなく,更新書き込みを行うことが
できる。
In this case, the update data is written to another erased page, the same page identifier PID is written to the management area 11, and the page latest write position flag F1 is decremented. The count value is written (S22). As a result, the same page identifier P
Although there are a plurality of pages having the ID, it is possible to identify which page stores valid data by referring to the page latest write flag F1. By doing so, the update writing can be performed without performing the writing operation to the management area of the original page.

【0041】更に,そのページのデータを削除する削除
命令があると(S24),管理領域11内のページ最新書
込位置フラグF1に,削除済みを示すカウント値,例え
ば全て0のカウント値,が書き込まれる(S26)。これ
は,3回目の書き込みに該当する。削除命令に応答し
て,対応するページのデータ領域が消去されることはな
い。また,削除命令は,書き込み命令の一つであるが,
削除の場合は,更新書き込みと異なり,新たに同じ識別
子を有し且つデクリメントされたページ最新書込位置フ
ラグF1を有するページが追加されない。従って,削除
命令の場合は,同じページ識別子のページに対して,そ
のページ最新書込位置フラグF1に全て0のカウント値
を書き込んで,そのページのデータが無効になったこと
をしるす必要がある。または,有効なデータを有するペ
ージに対してのみ,そのページ最新書込位置フラグF1
に全て0のカウント値を書き込んでも良い。
Furthermore, if there is a delete command for deleting the data of the page (S24), the page latest write position flag F1 in the management area 11 will have a count value indicating deletion, for example, a count value of all 0s. It is written (S26). This corresponds to the third writing. The data area of the corresponding page is not erased in response to the delete command. Also, the delete command is one of the write commands,
In the case of deletion, unlike update writing, a page having the same latest identifier and decremented page latest writing position flag F1 is not added. Therefore, in the case of a delete instruction, it is necessary to write a count value of all 0s to the page latest write position flag F1 for a page with the same page identifier to indicate that the data of that page has become invalid. . Alternatively, only for the page having valid data, the page latest writing position flag F1
A count value of all 0 may be written in.

【0042】図7,8は,更に書き込み動作を説明する
ための図である。ここでは,各メモリブロックEBLKに4
つのページが含まれ,更に,全体で4つのメモリブロッ
クEBLK0-3がある。そして,最初の状態では,全てのペ
ージが消去状態である。また,図7において,実線は,
書込対象ページの推移を示し,破線は,更新書込に対す
る同じページ識別子PIDのページの推移を示す。
7 and 8 are diagrams for further explaining the write operation. Here, 4 for each memory block EBLK
One page is included, and there are four memory blocks EBLK0-3 in total. In the initial state, all pages are in the erased state. Further, in FIG. 7, the solid line is
The transition of the write target page is shown, and the broken line shows the transition of the page of the same page identifier PID for the update writing.

【0043】図7には,新規書き込み済みの状態S30が
示されている。最初の新規書込動作により,メモリブロ
ックEBLK0の最上位のページにデータが書き込まれ,ペ
ージ識別子PID=0,ページ最新書込位置フラグF1に「0
xFFFE」が,最終書込位置フラグF2に「0xFFFE」がそれ
ぞれ書き込まれている。尚,消去状態では,これらの識
別子やフラグには,デフォルト値として最大カウント値
「0xFFFF」が書き込まれている。従って,新たにそのペ
ージへの書込が行われると,位置フラグF1,F2に
は,そのデフォルト値をデクリメントしたカウント値が
書き込まれる。
FIG. 7 shows a newly written state S30. By the first new write operation, data is written in the highest page of the memory block EBLK0, the page identifier PID = 0, and the page latest write position flag F1 is set to "0".
xFFFE "and" 0xFFFE "are written in the final write position flag F2. In the erased state, the maximum count value “0xFFFF” is written as a default value in these identifiers and flags. Therefore, when a new writing is performed on the page, the count value obtained by decrementing the default value is written in the position flags F1 and F2.

【0044】次の新規書込動作が発生すると,同じメモ
リブロックEBLK内の次の位置のページにデータが書き込
まれ,ページ識別子PID=1,ページ最新書込位置フラ
グF1に「0xFFFE」が,最終書込位置フラグF2に「0xFFF
D」がそれぞれ書き込まれる。ページ識別子PID=1とし
ては,最初の書込であるので,そのページ最新書込位置
フラグF1には,デフォルトの最高カウント値からデクリ
メントした「0xFFFE」が書き込まれる。一方,書き込ま
れる対象ページとしては,2番目であるので,最終書込
位置フラグF2には,デクリメントされた「0xFFFD」が書
き込まれる。
When the next new write operation occurs, the data is written to the page at the next position in the same memory block EBLK, and the page identifier PID = 1 and the page latest write position flag F1 is "0xFFFE", which is the final value. Write position flag F2 with "0xFFF
"D" is written respectively. Since the page identifier PID = 1 is the first write, the page latest write position flag F1 is written with "0xFFFE" decremented from the default maximum count value. On the other hand, since the target page to be written is the second, the decremented "0xFFFD" is written in the final write position flag F2.

【0045】同様にして,その後の2つの新規書込動作
により,メモリブロックEBLK内の残りの2つのページに
は,PID=2,F1=0xFFFE,F2=0xFFFCと,PID=3,F1
=0xFFFE,F2=0xFFFBとが書き込まれる。
Similarly, by the subsequent two new write operations, PID = 2, F1 = 0xFFFE, F2 = 0xFFFC and PID = 3, F1 in the remaining two pages in the memory block EBLK.
= 0xFFFE and F2 = 0xFFFB are written.

【0046】この状態では,メモリブロックEBLKの4番
目のページの最終書込位置フラグF2が最も小さいカウン
ト値であるので,次の書き込みを,そのページの次のペ
ージに対して行うことができる。このように,最終書込
位置フラグF2として,順次デクリメントしたカウント
値を書き込むことで,全てのページへの書き込みを,シ
リアルな順番で行っていくことができる。
In this state, since the final write position flag F2 of the fourth page of the memory block EBLK has the smallest count value, the next write can be performed to the page next to that page. In this way, by sequentially writing the decremented count value as the final write position flag F2, writing to all pages can be performed in a serial order.

【0047】次に,図7には,更新書き込みされた状態
S31が示される。新規書込状態S30から,ページ識別子PI
D=0に対して,2回の更新書込が発生した後の状態S31
に示される。ページ識別子PID=0に対して1回目の更
新書込が発生すると,メモリブロックEBLK1の最初のペ
ージに対して,更新後のデータが書き込まれ,その管理
領域に,PID=0,F1=0xFFFD,F2=0xFFFAが書き込ま
れる。つまり,同じページ識別子PID=0を有するページ
が複数になるので,最新のデータが書き込まれた位置で
あることを示すために,ページ最新書込位置フラグF1
に,更新元のページの位置フラグF1=0xFFFEからデクリ
メントしたF1=0xFFFDが書き込まれる。更に,ページ識
別子PIDにかかわらず最終書込位置を示すために,最終
書込位置フラグF2に,4番目の新規書込対象ページの
位置フラグF2=0xFFFBからデクリメントしたF2=0xFFFA
が書き込まれる。
Next, FIG. 7 shows a state in which the data has been updated and written.
S31 is shown. From the new writing state S30, the page identifier PI
State S31 after two update writes have occurred for D = 0
Shown in. When the first update writing occurs for the page identifier PID = 0, the updated data is written to the first page of the memory block EBLK1, and PID = 0, F1 = 0xFFFD, F2 = 0xFFFA is written. That is, since there are a plurality of pages having the same page identifier PID = 0, the page latest writing position flag F1 is displayed to indicate that the latest data is written.
At this time, F1 = 0xFFFD decremented from the position flag F1 = 0xFFFE of the update source page is written. Further, in order to indicate the final write position regardless of the page identifier PID, the final write position flag F2 is decremented from the position flag F2 = 0xFFFB of the fourth new write target page F2 = 0xFFFA.
Is written.

【0048】更に,ページ識別子PID=0に対して2回
目の更新書き込みが発生すると,メモリブロックEBLKの
2番目のページに対して,更新後のデータが書き込ま
れ,その管理領域に,PID=0,F1=0xFFFC,F2=0xFFF
9が書き込まれる。1回目と同様に,両位置フラグF
1,F2は共にデクリメントされている。
Further, when the second update write occurs for the page identifier PID = 0, the updated data is written to the second page of the memory block EBLK, and PID = 0 is written in the management area. , F1 = 0xFFFC, F2 = 0xFFF
9 is written. As with the first time, both position flags F
Both 1 and F2 are decremented.

【0049】このように更新書込が発生すると,同じペ
ージ識別子PIDを有する複数のページが発生する。しか
し,ページ最新書込位置フラグF1が最も小さいカウン
ト値を有するページが,最新のデータを保持している有
効ページであると判別することができ,ページ識別子PI
D=0に対する読み出し動作では,その最新のデータを
保持している有効ページを判別して,有効データを読み
出すことが可能である。そして,図7中に示されるとお
り,網掛けした2つのページが無効データが書き込まれ
た無効ページ状態になる。
When update writing occurs in this way, a plurality of pages having the same page identifier PID occur. However, it is possible to determine that the page having the smallest count value of the page latest writing position flag F1 is the valid page holding the latest data, and the page identifier PI
In the read operation for D = 0, it is possible to determine the valid page holding the latest data and read the valid data. Then, as shown in FIG. 7, the two shaded pages become an invalid page state in which invalid data is written.

【0050】図8には,削除動作後の状態S32が示され
る。図7の更新書込後の状態S31から,ページ識別子PID
=0を削除する命令が発生すると,ページ識別しPID=0
を有する全てのページのページ最新書込位置フラグF1
に対して,削除状態を示す最小カウント値「0x0000」が
書き込まれる。その結果,3つのページが無効データ保
持状態(網掛けしたページ)になり,3つのページが有
効データ保持状態になる。また,10個のページは未だ
消去状態である(図中PAGE)。
FIG. 8 shows the state S32 after the deleting operation. From the state S31 after update writing in FIG. 7, the page identifier PID
When an instruction to delete = 0 is issued, the page is identified and PID = 0
Page latest writing position flag F1 of all pages having
, The minimum count value “0x0000” indicating the deleted state is written. As a result, the three pages are in the invalid data holding state (shaded pages), and the three pages are in the valid data holding state. Also, 10 pages are still in the erased state (PAGE in the figure).

【0051】以上のとおり,ページ最新書込位置フラグ
F1を利用することで,更新書き込みの時に,更新元の
ページに対して何らかの書込動作を行う必要がなくな
る。また,その位置フラグF1により,削除されたペー
ジの判別も可能になる。
As described above, by using the page latest writing position flag F1, it is not necessary to perform any writing operation on the update source page at the time of update writing. Further, the position flag F1 also makes it possible to identify the deleted page.

【0052】なお,不良が発生すると,不良ブロック情
報DBLにTRUEが書き込まれるが,その後,そのページが
属するメモリブロック内において,有効データを有する
ページのデータが,他のメモリブロック内のページにコ
ピーされる。このデータのコピーは,上記の更新書き込
み動作と同じである。そして,有効データがコピーされ
た後,不良ブロック情報DBLがTRUEになっているメモリ
ブロックの使用は,禁止される。
When a defect occurs, TRUE is written in the defective block information DBL, but thereafter, in the memory block to which the page belongs, the data of the page having valid data is copied to the page in another memory block. To be done. This data copy is the same as the above update write operation. Then, after the valid data is copied, the use of the memory block whose bad block information DBL is TRUE is prohibited.

【0053】[ガーベージコレクション]本実施の形態
では,新規書き込み動作,更新書き込み動作のたびに,
新たに消去状態の未使用ページにデータの書き込みを行
う。このデータ書き込みは,未使用ページに対してシリ
アルな順番で行われる。そして,更新書き込み動作のた
びに,または削除動作のたびに,無効データを保持する
無効ページが発生する。やがて,消去状態の未使用ペー
ジの数に限りがでてくると,無効データを保持する無効
ページを整理して,新たに消去状態の未使用ページを確
保する必要がある。この処理がガーベージコレクション
である。
[Garbage Collection] In this embodiment, each time a new write operation or an update write operation is performed,
Data is newly written to an unused page in the erased state. This data writing is performed in a serial order with respect to unused pages. Then, an invalid page that holds invalid data is generated every update write operation or every delete operation. Eventually, when the number of unused pages in the erased state becomes limited, it is necessary to sort out the invalid pages that hold invalid data and newly secure an unused page in the erased state. This process is garbage collection.

【0054】ガーベージコレクションは,あらかじめ決
められた転送用メモリブロック以外の全てのメモリブロ
ックへのデータ書き込みが完了した時点で,行われる。
本実施の形態では,書き込みが未使用ページに対してシ
リアルな順番で行われるので,ガーベージコレクション
が発生する頻度を低く抑えることができる。
Garbage collection is performed when data writing to all memory blocks other than a predetermined transfer memory block is completed.
In the present embodiment, since writing is performed on unused pages in a serial order, the frequency of garbage collection can be suppressed to a low level.

【0055】ガーベージコレクションでは,有効データ
を記憶し最も早く書き込みが行われたページのメモリブ
ロックが整理対象ブロックになる。この最も早く書き込
みが行われたページは,書込順が記憶された最終書込位
置フラグF2を参照することで,見つけることができ
る。また,有効データを記憶する有効ページは,第1の
位置フラグF1により検出可能である。そして,整理対
象ブロック内の有効データが,転送用メモリブロックに
コピーされる。このコピー動作は,更新書込動作と同じ
である。整理対象ブロック内の全ての有効データの退避
が終了すると,整理対象ブロックを消去する。複数の整
理対象ブロックが消去された場合は,最後に消去された
メモリブロックが,その後の転送用メモリブロックに指
定される。
In the garbage collection, the memory block of the page in which valid data is stored and written earliest becomes the rearrangement target block. The page in which the writing is performed earliest can be found by referring to the final writing position flag F2 in which the writing order is stored. In addition, the valid page that stores valid data can be detected by the first position flag F1. Then, the valid data in the rearrangement target block is copied to the transfer memory block. This copy operation is the same as the update write operation. When the saving of all valid data in the rearrangement target block is completed, the rearrangement target block is erased. When a plurality of blocks to be sorted are erased, the last erased memory block is designated as the subsequent transfer memory block.

【0056】図9は,ガーベージコレクションの動作フ
ローチャート図である。また,図10〜13は,ガーベ
ージコレクションを説明するための図である。この図に
おいても,実線は,書き込み対象ページの推移を示し,
破線は,更新書き込みのデータの推移を示す。
FIG. 9 is a flowchart showing the operation of garbage collection. 10 to 13 are diagrams for explaining the garbage collection. Also in this figure, the solid line shows the transition of the write target page,
The broken line shows the transition of data for update writing.

【0057】図10のガーベージコレクション前の状態
S60では,新規書き込みと更新書き込み及び削除を適宜
繰り返した結果,転送用メモリブロックEBLK3を除く全
てのメモリブロックへのデータ書き込みが終了してい
る。新規書き込み,更新書き込み,削除の動作は,前述
した通りであり,図中の実線と破線,及び各ページのペ
ージ識別子PIDと位置フラグF1,F2を参照すること
で,その動作を理解することができる。消去状態のメモ
リブロックが転送用ブロックT-BLKのみとなると,ガー
ベージコレクションが必要になる。
The state before the garbage collection in FIG.
In S60, as a result of appropriately repeating new writing, update writing, and deletion, data writing to all memory blocks except the transfer memory block EBLK3 is completed. The operation of new writing, update writing, and deletion is as described above, and the operation can be understood by referring to the solid line and the broken line in the figure, and the page identifier PID of each page and the position flags F1 and F2. it can. If the erased memory block is the transfer block T-BLK only, garbage collection becomes necessary.

【0058】図9に示されるとおり,転送用のメモリブ
ロックがあらかじめ指定されている(S40)。最初の状
態では,メモリブロックEBLK3が転送用メモリブロックT
-BLKとして指定されている。そして,整理対象ブロック
が転送元ブロックとして指定される(S42)。最も早く書
き込みが行われた有効ページは,ページ識別子PID=1の
ページであるので,そのページが属するメモリブロック
EBLK0が整理対象ブロックになる。
As shown in FIG. 9, a memory block for transfer is designated in advance (S40). In the first state, the memory block EBLK3 is the transfer memory block T
-Designated as BLK. Then, the block to be sorted is specified as the transfer source block (S42). The valid page that was written earliest is the page with page identifier PID = 1, so the memory block to which the page belongs
EBLK0 is the block to be sorted.

【0059】そこで,図10の状態S61にように,有効
ページPID=1,2の有効データが,転送先ブロックEBLK3に
コピーされる。このコピー動作は,更新書き込み動作と
同じであり,例えば,有効ページPID=1のデータが転送
先ブロックEBLK3の最初のページに書き込まれ(S46),
その後,同ページに管理領域のページ識別子PIDにPID=1
が,ページ最新書込位置フラグF1に「0xFFFD」が,最
終書込位置フラグF2に「0xFFF2」がそれぞれ書き込ま
れる(S48)。この状態では,ページ識別子PID=1のペー
ジが複数存在するが,位置フラグF1によりいずれが有
効ページかを判別することができる。同様の方法で,ペ
ージ識別子PID=2のページのデータも転送用ブロックEBL
K3の次のページ内にコピーされる。
Therefore, as in the state S61 of FIG. 10, the valid data of the valid page PID = 1, 2 is copied to the transfer destination block EBLK3. This copy operation is the same as the update write operation, for example, the data of valid page PID = 1 is written to the first page of the transfer destination block EBLK3 (S46),
After that, PID = 1 in the page identifier PID of the management area on the same page
However, "0xFFFD" is written in the page latest writing position flag F1 and "0xFFF2" is written in the final writing position flag F2 (S48). In this state, there are a plurality of pages with the page identifier PID = 1, but it is possible to determine which is the valid page by the position flag F1. In the same way, the data of the page with page identifier PID = 2 is transferred to the transfer block EBL.
Copied to the next page of K3.

【0060】調整用ブロックである転送元ブロックEBLK
0に有効ページが存在しなくなれば,転送元ブロックEBL
K0が消去される(S50,S52)。この消去動作は,転送元
ブロック内の全てのページに対して一斉に行われる。従
って,消去時間が長くても,複数ページが消去対象ペー
ジになるので,消去の効率を高めることができる。図1
1の状態S62が,整理対象ブロックEBLK0の消去動作が終
了した状態である。
Source block EBLK which is an adjustment block
If there are no valid pages in 0, the transfer source block EBL
K0 is erased (S50, S52). This erase operation is performed simultaneously for all pages in the transfer source block. Therefore, even if the erasing time is long, a plurality of pages become erasing target pages, so that erasing efficiency can be improved. Figure 1
The state S62 of 1 is a state in which the erase operation of the rearrangement target block EBLK0 is completed.

【0061】更に,次のメモリブロックEBLK1が整理対
象ブロック(転送元ブロック)に指定される(S42)。
このブロック内には,ページ識別子PID=3,4が有効ペー
ジとして存在する。従って,これらのページに対して
も,転送用メモリブロックEBLK3へのデータのコピーが
行われる。データのコピーは,最も先に(早く)書き込
みが行われた有効ページから行われる。従って,最終書
込位置フラグF2を参照して,ページ識別子PID=4のペ
ージが先にコピーされる。コピー動作は,前述した通り
である。その後,ページ識別子PID=3の有効ページのデ
ータがコピーされる。その結果,図11の状態S63に示
されるとおり,整理対象ブロックEBLK1内は,全て無効
ページとなる。そこで,図12の状態S64に示されると
おり,整理対象ブロックEBLK1が消去される。
Further, the next memory block EBLK1 is designated as the rearrangement target block (transfer source block) (S42).
In this block, page identifiers PID = 3 and 4 exist as valid pages. Therefore, data is copied to the transfer memory block EBLK3 for these pages as well. Data is copied from the valid page that was written first (earliest). Therefore, referring to the final write position flag F2, the page with the page identifier PID = 4 is copied first. The copy operation is as described above. After that, the data of the valid page with the page identifier PID = 3 is copied. As a result, as shown in the state S63 of FIG. 11, all the rearrangement target blocks EBLK1 are invalid pages. Therefore, the rearrangement target block EBLK1 is erased as shown in the state S64 of FIG.

【0062】この状態S64の時点で,更にガーベージコ
レクション対象のメモリブロックは,EBLK2となる。従
って,このメモリブロックEBLK2が調整対象ブロック,
つまり転送元ブロックになる(S56)。そして,転送先
ブロックEBLK3内の消去済みブロックがなくなっている
ので(S44),消去した最も古いメモリブロックEBLK0が
転送先ブロックに一時的に指定される(S58)。
At the time of this state S64, the memory block subject to garbage collection becomes EBLK2. Therefore, this memory block EBLK2 is the block to be adjusted,
That is, it becomes the transfer source block (S56). Then, since there is no erased block in the transfer destination block EBLK3 (S44), the oldest erased memory block EBLK0 is temporarily designated as the transfer destination block (S58).

【0063】そして,図12の状態S65に示されるとお
り,転送元ブロックEBLK2内のページ識別子PID=5,6のペ
ージのデータが,それぞれ転送先ブロックEBLK0の消去
済みページにそれぞれコピーされる(S46,S48)。この
状態で,転送元ブロックEBLK2は全てのページが無効ペ
ージとなり,図13の状態S66のとおり,そのメモリブ
ロックEBLK2が消去される。
Then, as shown in the state S65 of FIG. 12, the data of the page of the page identifier PID = 5,6 in the transfer source block EBLK2 is copied to the erased pages of the transfer destination block EBLK0, respectively (S46). , S48). In this state, all pages of the transfer source block EBLK2 are invalid pages, and the memory block EBLK2 is erased as in state S66 of FIG.

【0064】最後に,消去したメモリブロックのうち,
最新の消去ブロック(最後に消去したメモリブロック)
を転送用メモリブロックにして(S59),ガーベージコ
レクションが終了する。その結果,メモリブロックEBLK
2が転送用ブロックT-BLKに指定される。
Finally, of the erased memory blocks,
Latest erased block (last erased memory block)
Is set as the transfer memory block (S59), and the garbage collection is completed. As a result, memory block EBLK
2 is designated as the transfer block T-BLK.

【0065】以上のとおり,書き込み動作は,メモリ領
域内の複数の消去済みページの中から,消去単位のメモ
リブロックにかかわらず,シリアルな順番で行われる。
そして,転送用ブロックを残して全ての書き込み対象ブ
ロックで書き込みが行われた時に,ガーベージコレクシ
ョンが実行される。ガーベージコレクションでは,最も
古く書き込まれた有効ページのメモリブロックが調整対
象ブロックになり,そのブロック内の有効ページのデー
タが,転送用ブロックにコピーされる。このコピー動作
の結果,元の有効ページは無効ページになる。そして,
調整対象ブロック内の有効ページのデータが全てコピー
された段階で,そのブロックが消去される。転送用ブロ
ック内に未使用ページがなくなると,コピー先のメモリ
ブロックは,最も古い消去ブロック(最初に消去された
ブロック)に移る。こうして,転送先ブロックが順次確
保される。そして,全ての有効ページのコピーが終了し
て,消去も終了すると,最も新しく消去されたメモリブ
ロックが転送用ブロックに指定され,新たな書き込み動
作が開始される。
As described above, the write operation is performed in a serial order from a plurality of erased pages in the memory area regardless of the memory block of the erase unit.
Then, when data is written in all the write target blocks except the transfer block, garbage collection is executed. In garbage collection, the memory block of the oldest written valid page becomes the adjustment target block, and the valid page data in that block is copied to the transfer block. As a result of this copy operation, the original valid page becomes an invalid page. And
The block is erased when all the valid page data in the adjustment target block is copied. When there are no unused pages in the transfer block, the memory block of the copy destination moves to the oldest erase block (first erased block). In this way, the transfer destination blocks are sequentially secured. When the copying of all valid pages is completed and the erasing is completed, the most recently erased memory block is designated as the transfer block and a new write operation is started.

【0066】従って,各メモリブロックが消去回数カウ
ンタを持たなくても,消去回数を平均化することがで
き,ウエアレベリングを可能にする。尚,上記のガーベ
ージコレクションは,必ずしも転送用ブロック以外の消
去済みブロックへの書き込みが完了した時点で行う必要
はなく,消去済みページが一定のレベルに達した時点
で,行ってもよい。上記一定のレベルを制御すること
で,ガーベージコレクションの頻度と一回当たりの所用
時間とを制御することができる。
Therefore, even if each memory block does not have an erase count counter, the erase counts can be averaged and wear leveling can be performed. The above garbage collection does not necessarily have to be performed at the time when writing to the erased block other than the transfer block is completed, but may be performed when the erased page reaches a certain level. By controlling the above-mentioned fixed level, the frequency of garbage collection and the time required for each garbage collection can be controlled.

【0067】図13のメモリブロックEMBL2が消去され
た状態では,メモリ内は,有効ページと消去済みページ
のみから構成される。その後は,前述したように,新規
書き込み,更新書き込みを含む書き込み動作が,消去済
みの未使用ページに対してシリアルな順番で実行され
る。
When the memory block EMBL2 in FIG. 13 is erased, the memory is composed of only valid pages and erased pages. After that, as described above, the write operation including the new write and the update write is executed in the serial order on the erased unused pages.

【0068】以上,実施の形態例をまとめると以下の付
記の通りである。
The above embodiments are summarized below.

【0069】(付記1)データ領域とデータ領域に対応
する管理領域とを有する複数のページを有し,当該複数
のページを有し消去単位のメモリブロックを複数有する
フラッシュメモリにおいて,データ書き込みが,消去済
みのページに対して行われ,各ページの前記管理領域
は,データが書き込まれる時に,ページを特定するペー
ジIDが書き込まれるページID領域と,前記データが
書き込まれる時に,同じページIDの複数のページのう
ち,当該書き込み対象ページを最新データ書き込み位置
に特定する情報が書き込まれる第1の位置フラグ領域と
を有することを特徴とするフラッシュメモリ。
(Supplementary Note 1) In a flash memory having a plurality of pages having a data area and a management area corresponding to the data area, and having a plurality of memory blocks in erase units, the data writing is This is performed for erased pages, and the management area of each page includes a page ID area in which a page ID that identifies a page is written when data is written and a plurality of page IDs that have the same page ID when the data is written. A first position flag area in which information specifying the write target page at the latest data write position is written.

【0070】(付記2)付記1において,前記第1の位
置フラグ領域には,消去状態で所定のカウント値が書き
込まれ,同じページIDを有するページに更新書き込み
が行われるたびに,当該カウント値をデクリメント又は
インクリメントしたカウント値が書き込まれることを特
徴とするフラッシュメモリ。
(Supplementary Note 2) In Supplementary Note 1, in the first position flag area, a predetermined count value is written in the erased state, and each time the page having the same page ID is updated and written, the count value is updated. A flash memory in which a count value obtained by decrementing or incrementing is written.

【0071】(付記3)付記2において,所定のページ
IDのページにおけるデータを読み出す時,前記第1の
位置フラグ領域のカウント値が最も小さい又は最も大き
いページのデータが有効データとして読み出されること
を特徴とするフラッシュメモリ。
(Supplementary Note 3) In Supplementary Note 2, when the data in the page having the predetermined page ID is read, the data of the page having the smallest or largest count value in the first position flag area is read as the valid data. Characteristic flash memory.

【0072】(付記4)付記1において,所定のページ
IDのページ内のデータを削除する時,当該ページID
を持つページの前記第1の位置フラグ領域に,削除状態
を示す情報が書き込まれることを特徴とするフラッシュ
メモリ。
(Supplementary Note 4) In Supplementary Note 1, when data in a page having a predetermined page ID is deleted, the page ID concerned is deleted.
A flash memory in which information indicating a deletion state is written in the first position flag area of a page having

【0073】(付記5)付記1において,更に,前記管
理領域は,データが書き込まれる時に,当該書き込み対
象ページを最終書き込み位置に特定する情報が書き込ま
れる第2の位置フラグ領域を有し,データの書き込み動
作が前記複数の消去済みページに対してシリアルな順番
で行われることを特徴とするフラッシュメモリ。
(Supplementary Note 5) In Supplementary Note 1, further, the management area has a second position flag area in which information for specifying the final write position of the write target page is written when the data is written, The flash memory is characterized in that the write operation is performed on the plurality of erased pages in a serial order.

【0074】(付記6)データ領域とデータ領域に対応
する管理領域とを有する複数のページを有し,当該複数
のページを有し消去単位のメモリブロックを複数有する
フラッシュメモリにおいて,各ページの前記管理領域
は,データが書き込まれる時に,当該書き込み対象ペー
ジを最終書き込み位置に特定する情報が書き込まれる第
2の位置フラグ領域を有し,前記第2の位置フラグ領域
内の情報に従って,データの書き込み動作が,前記複数
の消去済みページに対してシリアルな順番で行われ,転
送用メモリブロック以外のメモリブロックへのデータ書
き込み動作が終了した時点で,ガーベージコレクション
が行われ,前記ガーベージコレクションでは,最も早く
書き込みが行われた有効ページを有する整理対象メモリ
ブロック内の有効データを,前記転送用メモリブロック
に書き込み,その後当該整理対象メモリブロックを消去
し,最後に消去された未使用メモリブロックを新たな転
送用メモリブロックに指定することを特徴とするフラッ
シュメモリ。
(Supplementary Note 6) In a flash memory having a plurality of pages having a data area and a management area corresponding to the data area, and having a plurality of memory blocks in erase units, the page of each page is The management area has a second position flag area in which information for specifying the write target page at the final write position is written when data is written, and the data is written according to the information in the second position flag area. The operations are performed on the plurality of erased pages in a serial order, and when the data writing operation to the memory block other than the transfer memory block is completed, the garbage collection is performed, and the garbage collection is most performed. The effective data in the memory block to be pruned that has the effective page written early. Flash memory, characterized in that the data is written into the transfer memory block, then deletes the organizing target memory block, specify the unused memory blocks that were erased last new transfer memory blocks.

【0075】(付記7)付記6において,前記第2の位
置フラグ領域には,消去状態で所定のカウント値が書き
込まれ,新たに書き込みが行われるたびに,当該カウン
ト値をデクリメント又はインクリメントしたカウント値
が書き込まれることを特徴とするフラッシュメモリ。
(Supplementary Note 7) In Supplementary Note 6, a predetermined count value is written in the second position flag area in the erased state, and the count value obtained by decrementing or incrementing the count value each time new writing is performed. A flash memory that is written with a value.

【0076】(付記8)付記6において,前記管理領域
は,データが書き込まれる時に,ページを特定するペー
ジIDが書き込まれるページID領域と,前記データが
書き込まれる時に,同じページIDの複数のページのう
ち当該書き込み対象ページを最新データ書き込み位置に
特定する情報が書き込まれる第1の位置フラグ領域とを
有することを特徴とするフラッシュメモリ。
(Supplementary Note 8) In Supplementary Note 6, the management area includes a page ID area in which a page ID for specifying a page is written when data is written, and a plurality of pages having the same page ID in writing the data. And a first position flag area in which information for specifying the write target page at the latest data write position is written.

【0077】(付記9)付記8において,既に書き込ま
れたデータが更新書き込みされる時,更新元のページの
第1の位置フラグ領域とは異なる情報が,更新先のペー
ジの第1の位置フラグ領域に書き込まれ,その結果,前
記更新元のページが無効ページ,更新先のページが有効
ページになることを特徴とするフラッシュメモリ。
(Supplementary note 9) In Supplementary note 8, when the already written data is updated and written, the information different from the first position flag area of the update source page is the first position flag of the update destination page. The flash memory is written in an area, and as a result, the update source page becomes an invalid page and the update destination page becomes a valid page.

【0078】(付記10)付記6において,前記ガーベ
ージコレクションは,有効データを記憶するページを有
する全てのメモリブロックに対して,行われることを特
徴とするフラッシュメモリ。
(Supplementary Note 10) In Supplementary Note 6, the flash memory is characterized in that the garbage collection is performed for all memory blocks having a page for storing valid data.

【0079】(付記11)データ領域とデータ領域に対
応する管理領域とを有する複数のページを有し,当該複
数のページを有し消去単位のメモリブロックを複数有す
るフラッシュメモリにおいて,前記管理領域は,(1)
データが書き込まれる時に,ページを特定するページI
Dが書き込まれるページID領域と,(2)前記データ
が更新書き込みされる時に,同じページIDの複数のペ
ージのうち当該書き込み対象ページを最新データ書き込
み位置に特定する情報が書き込まれる第1の位置フラグ
領域と,(3)データが書き込まれる時に,当該書き込
み対象ページを最終書き込み位置に特定する情報が書き
込まれる第2の位置フラグ領域とを有し,データ書き込
みは,前記第2の位置フラグ領域に従って,消去済みペ
ージに順次行われ,書き込み対象である消去済みページ
が一定レベル以下に達した時点で,ガーベージコレクシ
ョンが行われ,当該ガーベージコレクションでは,前記
第1及び第2の位置フラグ領域の情報に従って,有効デ
ータを有し最も早く書き込みが行われたページを有する
整理対象メモリブロック内の有効データを,転送用メモ
リブロックに書き込み,その後当該整理対象メモリブロ
ックを消去することを特徴とするフラッシュメモリ。
(Supplementary Note 11) In a flash memory having a plurality of pages having a data area and a management area corresponding to the data area, and having a plurality of memory blocks in erase units having the plurality of pages, the management area is , (1)
Page I that identifies the page when the data is written
A page ID area in which D is written, and (2) a first position in which, when the data is updated and written, information identifying the write target page among the plurality of pages having the same page ID as the latest data write position is written. And a second position flag area in which information specifying the write target page to the final write position is written when the data is written, and the data writing is performed in the second position flag area. According to the above, the erased pages are sequentially performed, and when the erased page to be written reaches a certain level or less, garbage collection is performed. In the garbage collection, information on the first and second position flag areas is written. According to, the organized memory mem- bers having valid data and having the earliest written page. Flash memory, characterized in that Tsu valid data in the click, the writing to the transfer memory block, and then erases the organizing target memory block.

【0080】[0080]

【発明の効果】以上,本発明によれば,消去動作と消去
動作の間の書き込み回数を少なくすることができる。ま
た,消去回数カウンタを設けることなく,ウエアレベリ
ングを実現することができる。
As described above, according to the present invention, the number of times of writing between erase operations can be reduced. Further, wear leveling can be realized without providing an erase count counter.

【図面の簡単な説明】[Brief description of drawings]

【図1】従来の一つのフラッシュメモリの構成図であ
る。
FIG. 1 is a configuration diagram of one conventional flash memory.

【図2】本実施の形態におけるフラッシュメモリの全体
構成図である。
FIG. 2 is an overall configuration diagram of a flash memory according to the present embodiment.

【図3】NAND型のフラッシュメモリのメモリセルアレイ
の構成図である。
FIG. 3 is a configuration diagram of a memory cell array of a NAND flash memory.

【図4】本実施の形態におけるフラッシュメモリの詳細
構成図である。
FIG. 4 is a detailed configuration diagram of a flash memory according to the present embodiment.

【図5】ページへの書き込み動作のフローチャート図で
ある。
FIG. 5 is a flow chart of a page write operation.

【図6】ページへの書き込み動作を説明する図である。FIG. 6 is a diagram illustrating a page write operation.

【図7】書き込み動作を説明するための図である。FIG. 7 is a diagram for explaining a write operation.

【図8】書き込み動作を説明するための図である。FIG. 8 is a diagram for explaining a write operation.

【図9】ガーベージコレクションの動作フローチャート
図である。
FIG. 9 is a flowchart showing an operation of garbage collection.

【図10】ガーベージコレクションを説明するための図
である。
FIG. 10 is a diagram for explaining garbage collection.

【図11】ガーベージコレクションを説明するための図
である。
FIG. 11 is a diagram for explaining garbage collection.

【図12】ガーベージコレクションを説明するための図
である。
FIG. 12 is a diagram for explaining garbage collection.

【図13】ガーベージコレクションを説明するための図
である。
FIG. 13 is a diagram for explaining garbage collection.

【符号の説明】[Explanation of symbols]

EBLK 消去単位のメモリブロック T-BLK 転送用メモリブロック PAGE ページ PID ページ識別子,ページID F1 第1の位置フラグ,ページ最新書込位置フラ
グ F2 第2の位置フラグ,最終書込位置フラグ ECC 誤り訂正コード領域 DBL 不良ブロック情報 11 管理領域 20 データ領域
EBLK Memory block in erase unit T-BLK Transfer memory block PAGE Page PID Page identifier, page ID F1 First position flag, Page latest write position flag F2 Second position flag, Last write position flag ECC Error correction code Area DBL Bad block information 11 Management area 20 Data area

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11C 17/00 601B (72)発明者 中島 勇 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B025 AA01 AD04 AD08 AE01 AE05 5B060 AA10 ─────────────────────────────────────────────────── ─── Continuation of front page (51) Int.Cl. 7 Identification code FI theme code (reference) G11C 17/00 601B (72) Inventor Isamu Nakajima 4-1-1 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture Fujitsu In-house F-term (reference) 5B025 AA01 AD04 AD08 AE01 AE05 5B060 AA10

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】データ領域とデータ領域に対応する管理領
域とを有する複数のページを有し,当該複数のページを
有し消去単位のメモリブロックを複数有するフラッシュ
メモリにおいて,データ書き込みが,消去済みのページ
に対して行われ,各ページの前記管理領域は,データが
書き込まれる時に,ページを特定するページIDが書き
込まれるページID領域と,前記データが書き込まれる
時に,同じページIDの複数のページのうち,当該書き
込み対象ページを最新データ書き込み位置に特定する情
報が書き込まれる第1の位置フラグ領域とを有すること
を特徴とするフラッシュメモリ。
1. In a flash memory having a plurality of pages having a data area and a management area corresponding to the data area, and having a plurality of memory blocks in erase units, the data writing has been completed. Page ID area in which a page ID identifying a page is written when data is written, and a plurality of pages having the same page ID when the data is written. Among them, a flash memory having a first position flag area in which information for specifying the write target page at the latest data write position is written.
【請求項2】請求項1において,前記第1の位置フラグ
領域には,消去状態で所定のカウント値が書き込まれ,
同じページIDを有するページに更新書き込みが行われ
るたびに,当該カウント値をデクリメント又はインクリ
メントしたカウント値が書き込まれることを特徴とする
フラッシュメモリ。
2. A predetermined count value in an erased state is written in the first position flag area according to claim 1,
A flash memory in which a count value obtained by decrementing or incrementing the count value is written each time update writing is performed on a page having the same page ID.
【請求項3】データ領域とデータ領域に対応する管理領
域とを有する複数のページを有し,当該複数のページを
有し消去単位のメモリブロックを複数有するフラッシュ
メモリにおいて,各ページの前記管理領域は,データが
書き込まれる時に,当該書き込み対象ページを最終書き
込み位置に特定する情報が書き込まれる第2の位置フラ
グ領域を有し,前記第2の位置フラグ領域内の情報に従
って,データの書き込み動作が,前記複数の消去済みペ
ージに対してシリアルな順番で行われ,転送用メモリブ
ロック以外のメモリブロックへのデータ書き込み動作が
終了した時点で,ガーベージコレクションが行われ,前
記ガーベージコレクションでは,最も早く書き込みが行
われた有効ページを有する整理対象メモリブロック内の
有効データを,前記転送用メモリブロックに書き込み,
その後当該整理対象メモリブロックを消去し,最後に消
去された未使用メモリブロックを新たな転送用メモリブ
ロックに指定することを特徴とするフラッシュメモリ。
3. A management area of each page in a flash memory having a plurality of pages each having a data area and a management area corresponding to the data area, and having a plurality of memory blocks in erase units. Has a second position flag area in which information for specifying the write target page at the final write position is written when data is written, and the data write operation is performed according to the information in the second position flag area. , The plurality of erased pages are serially processed, and the garbage collection is performed at the time when the data writing operation to the memory block other than the transfer memory block is completed, and the fastest writing is performed in the garbage collection. The valid data in the memory block to be sorted that has the valid page Writing to the transfer memory block,
After that, the flash memory is characterized in that the memory block to be rearranged is erased, and the last unused unused memory block is designated as a new transfer memory block.
【請求項4】付記3において,前記第2の位置フラグ領
域には,消去状態で所定のカウント値が書き込まれ,新
たに書き込みが行われるたびに,当該カウント値をデク
リメント又はインクリメントしたカウント値が書き込ま
れることを特徴とするフラッシュメモリ。
4. In appendix 3, a predetermined count value is written in the second position flag area in an erased state, and a count value obtained by decrementing or incrementing the count value each time new writing is performed. Flash memory characterized by being written.
【請求項5】請求項3において,前記管理領域は,デー
タが書き込まれる時に,ページを特定するページIDが
書き込まれるページID領域と,前記データが書き込ま
れる時に,同じページIDの複数のページのうち当該書
き込み対象ページを最新データ書き込み位置に特定する
情報が書き込まれる第1の位置フラグ領域とを有するこ
とを特徴とするフラッシュメモリ。
5. The management area according to claim 3, wherein the management area includes a page ID area in which a page ID specifying a page is written when data is written, and a plurality of pages having the same page ID when the data is written. A flash memory having a first position flag area in which information for specifying the write target page at the latest data write position is written.
JP2002008507A 2002-01-17 2002-01-17 Flash memory enabling restriction of writing frequency and ware levelling Withdrawn JP2003208352A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002008507A JP2003208352A (en) 2002-01-17 2002-01-17 Flash memory enabling restriction of writing frequency and ware levelling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002008507A JP2003208352A (en) 2002-01-17 2002-01-17 Flash memory enabling restriction of writing frequency and ware levelling

Publications (1)

Publication Number Publication Date
JP2003208352A true JP2003208352A (en) 2003-07-25

Family

ID=27646747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002008507A Withdrawn JP2003208352A (en) 2002-01-17 2002-01-17 Flash memory enabling restriction of writing frequency and ware levelling

Country Status (1)

Country Link
JP (1) JP2003208352A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190288A (en) * 2003-12-26 2005-07-14 Tdk Corp Memory controller, flash memory system therewith, and method for controlling flash memory
JP2005268621A (en) * 2004-03-19 2005-09-29 Toshiba Corp Semiconductor integrated circuit device
JP2006048585A (en) * 2004-08-09 2006-02-16 Fujitsu Ltd Access method of flash memory
JP2007004234A (en) * 2005-06-21 2007-01-11 Hitachi Ltd Storage device
JP2007140628A (en) * 2005-11-15 2007-06-07 Sony Corp Information processor, imaging device, information processing method and computer program
KR100739722B1 (en) 2005-08-20 2007-07-13 삼성전자주식회사 A method for managing a flash memory and a flash memory system
JP2009503745A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Nonvolatile memory with block management
JP2009503746A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Data integration and garbage collection in direct data file storage memory
JP2009503735A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Free up data storage capacity of flash memory system
JP2009181254A (en) * 2008-01-30 2009-08-13 Tdk Corp Memory controller, flash memory system having memory controller and control method for flash memory
WO2009118917A1 (en) * 2008-03-26 2009-10-01 Suzuki Masumi Storage device using flash memory
US7669003B2 (en) 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
JP2010176200A (en) * 2009-01-27 2010-08-12 Tokai Rika Co Ltd Flash memory operation protective device and flash memory operation protective method
US7814262B2 (en) 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
JP2012194993A (en) * 2005-06-06 2012-10-11 Sony Corp Storage device
JP2012221338A (en) * 2011-04-12 2012-11-12 Hitachi Ltd Semiconductor device and method of controlling nonvolatile memory device
CN103336749A (en) * 2013-05-31 2013-10-02 南京熊猫电子股份有限公司 Access method of FLASH parameter of embedded system

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190288A (en) * 2003-12-26 2005-07-14 Tdk Corp Memory controller, flash memory system therewith, and method for controlling flash memory
JP2005268621A (en) * 2004-03-19 2005-09-29 Toshiba Corp Semiconductor integrated circuit device
JP2006048585A (en) * 2004-08-09 2006-02-16 Fujitsu Ltd Access method of flash memory
JP2014194817A (en) * 2005-06-06 2014-10-09 Sony Corp Storage device
JP2012194993A (en) * 2005-06-06 2012-10-11 Sony Corp Storage device
JP2007004234A (en) * 2005-06-21 2007-01-11 Hitachi Ltd Storage device
JP4688584B2 (en) * 2005-06-21 2011-05-25 株式会社日立製作所 Storage device
US7669003B2 (en) 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
JP2009503745A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Nonvolatile memory with block management
JP2009503738A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Data manipulation in flash memory using direct data file storage
US8055832B2 (en) 2005-08-03 2011-11-08 SanDisk Technologies, Inc. Management of memory blocks that directly store data files
JP2009503735A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Free up data storage capacity of flash memory system
JP2009503746A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Data integration and garbage collection in direct data file storage memory
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
KR100739722B1 (en) 2005-08-20 2007-07-13 삼성전자주식회사 A method for managing a flash memory and a flash memory system
US7814262B2 (en) 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
JP2007140628A (en) * 2005-11-15 2007-06-07 Sony Corp Information processor, imaging device, information processing method and computer program
JP4687720B2 (en) * 2008-01-30 2011-05-25 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2009181254A (en) * 2008-01-30 2009-08-13 Tdk Corp Memory controller, flash memory system having memory controller and control method for flash memory
WO2009118917A1 (en) * 2008-03-26 2009-10-01 Suzuki Masumi Storage device using flash memory
JP2010176200A (en) * 2009-01-27 2010-08-12 Tokai Rika Co Ltd Flash memory operation protective device and flash memory operation protective method
JP2012221338A (en) * 2011-04-12 2012-11-12 Hitachi Ltd Semiconductor device and method of controlling nonvolatile memory device
US8984209B2 (en) 2011-04-12 2015-03-17 Hitachi, Ltd. Semiconductor device and method of controlling non-volatile memory device
US9069662B2 (en) 2011-04-12 2015-06-30 Hitachi, Ltd. Semiconductor device and method of controlling non-volatile memory device
US9286212B2 (en) 2011-04-12 2016-03-15 Hitachi, Ltd. Semiconductor device and method of controlling non-volatile memory device
CN103336749A (en) * 2013-05-31 2013-10-02 南京熊猫电子股份有限公司 Access method of FLASH parameter of embedded system

Similar Documents

Publication Publication Date Title
US11594282B2 (en) Semiconductor memory device
US8009503B2 (en) Card controller controlling semiconductor memory including memory cell having charge accumulation layer and control gate
KR100819102B1 (en) Non-volatile semiconductor memory device with advanced multi page program operation
US10096357B2 (en) Data storage device and data writing method thereof
JP2003208352A (en) Flash memory enabling restriction of writing frequency and ware levelling
JP3938309B2 (en) Flash memory with reduced read disturb
TWI406295B (en) Scheduling of housekeeping operations in flash memory systems
JP2008123330A (en) Nonvolatile semiconductor storage device
US9799401B2 (en) Incremental step pulse programming
JP2002318729A (en) Filing system and control method therefor
US20090010057A1 (en) Semiconductor memory device with memory cell having charge accumulation layer and control gate and memory system
US8902665B2 (en) Solid state storage system for uniformly using memory area and method controlling the same
US7385850B2 (en) Method of programming and verifying cells of a nonvolatile memory and relative NAND FLASH memory
JP5494086B2 (en) Nonvolatile storage device and nonvolatile memory controller
US6667903B2 (en) Programming method for a multilevel memory cell
JP2021026448A (en) Storage part system, storage part controller, and storage part control method
JP4661191B2 (en) Memory controller, flash memory system, and flash memory control method
JP4332108B2 (en) Memory controller, flash memory system, and flash memory control method
JP2008077468A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
JP2002208287A (en) Non-volatile semiconductor memory
US20080080252A1 (en) Methods of programming a memory cell and memory cell arrangements

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050405