JP2004265447A - Method of writing data in nonvolatile semiconductor memory device - Google Patents

Method of writing data in nonvolatile semiconductor memory device Download PDF

Info

Publication number
JP2004265447A
JP2004265447A JP2004151857A JP2004151857A JP2004265447A JP 2004265447 A JP2004265447 A JP 2004265447A JP 2004151857 A JP2004151857 A JP 2004151857A JP 2004151857 A JP2004151857 A JP 2004151857A JP 2004265447 A JP2004265447 A JP 2004265447A
Authority
JP
Japan
Prior art keywords
data
block
page
writing
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004151857A
Other languages
Japanese (ja)
Other versions
JP3908238B2 (en
Inventor
Yutaka Okamoto
豊 岡本
Yoshiyuki Tanaka
義幸 田中
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004151857A priority Critical patent/JP3908238B2/en
Publication of JP2004265447A publication Critical patent/JP2004265447A/en
Application granted granted Critical
Publication of JP3908238B2 publication Critical patent/JP3908238B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To extend the lifetime of a chip by preventing the number of times of writings from being increased due to erroneous writing or rewriting. <P>SOLUTION: A method of writing data in a nonvolatile semiconductor memory device 1 provided with an EEPROM memory cell array divided into physical blocks 2 composed of a plurality of pages comprises; a step of referring to a management table 20 to specify a physical block which corresponds to a logical page designated by a host 3 and where data are written; a step of writing data in the specified physical block 2; and a step of setting a pointer 21 pointing a physical page where data are next written in the block 2. When the pointer 21 is set, the pointer is incremented from a physical page on the source side in the specified physical block 2 toward a physical page on the drain side. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

本発明は、電気的に書き換え可能な不揮発性半導体メモリ素子(EEPROM)のうちのNAND型EEPROMを用いた不揮発性半導体メモリ装置のデータ書き込み方法に関する。  The present invention relates to a data writing method for a nonvolatile semiconductor memory device using a NAND type EEPROM among electrically rewritable nonvolatile semiconductor memory elements (EEPROM).

コンピュータの2次記憶装置には、現在磁気ディスク装置が広く用いられているが、近年、電気的に書き換え可能な不揮発性半導体メモリ(EEPROM)が、その機械的強度に対する信頼性、低消費電力、可搬性の良さ、高速アクセスといった特徴を生かして、磁気ディスクを置き換えるような用途に使われだした。  Currently, magnetic disk devices are widely used as secondary storage devices of computers. In recent years, electrically rewritable non-volatile semiconductor memories (EEPROMs) have been used for their reliability against mechanical strength, low power consumption, Taking advantage of its portability and high-speed access, it has been used to replace magnetic disks.

しかし、磁気ディスク装置とEEPROMには機能的な相違点があるため、従来の磁気ディスク装置をそのまま置き換えるためには、これを埋めるための制御が必要となる。 However, since there are functional differences between the magnetic disk device and the EEPROM, in order to replace the conventional magnetic disk device as it is, it is necessary to perform control to fill this.

EEPROMの一つとして、高集積化が可能なNAND型EEPROMが知られている。これは、複数のメモリセルをそれらのソース、ドレインを隣接するもの同士で共有する形で直列接続して一単位とし、ビット線に接続するものである。メモリセルは通常、電荷蓄積層と制御ゲートが積層されたFETMOS構造を有する。メモリセルアレイは、p型基板、又はn型基板に形成されたp型ウェル内に集積形成される。NANDセルのドレイン側は選択ゲートを介してビット線に接続され、ソース側はやはり選択ゲートを介して、ソース線(基準電位配線に接続される(図12)。メモリセルの制御ゲートは、行方向に連続的に接続されてワード線となる。通常同一ワード線につながるメモリセルの集合を1ページと呼び、一組のドレイン側及びソース側の選択ゲートに挟まれたページの集合を1NANDブロック又は単に1ブロックと呼ぶ(図13)。通常1ブロックは独立に消去可能な最小単位となる。  As one of the EEPROMs, a NAND type EEPROM that can be highly integrated is known. In this method, a plurality of memory cells are connected in series in such a manner that their sources and drains are shared by adjacent ones to form one unit, which is connected to a bit line. The memory cell usually has a FETMOS structure in which a charge storage layer and a control gate are stacked. The memory cell array is integrally formed in a p-type substrate or a p-type well formed in an n-type substrate. The drain side of the NAND cell is connected to a bit line via a selection gate, and the source side is also connected to a source line (reference potential wiring) via a selection gate (FIG. 12). In general, a set of memory cells connected to the same word line is called one page, and a set of pages sandwiched between a pair of drain-side and source-side select gates is one NAND block. Or, it is simply called one block (FIG. 13) .One block is usually the minimum unit that can be independently erased.

NAND型EEPROMの動作は次の通りである。データの消去は1NANDブロック内のメモリセルに対して同時に行われる。即ち選択されたNANDブロックの全ての制御ゲートを基準電位VSSとし、p型ウェル及びn型基板に高電圧VPP(例えば20V)を印加する。これにより、全てのメモリセルにおいて浮遊ゲートから基板に電子が放出され、しきい値は負の方向にシフトする。通常この状態を”1”状態と定義する。またチップ消去は全NANDブロックを選択状態にすることによりなされる。  The operation of the NAND type EEPROM is as follows. Data erasure is performed simultaneously on memory cells in one NAND block. That is, all the control gates of the selected NAND block are set to the reference potential VSS, and the high voltage VPP (for example, 20 V) is applied to the p-type well and the n-type substrate. As a result, electrons are emitted from the floating gate to the substrate in all the memory cells, and the threshold value shifts in the negative direction. Usually, this state is defined as "1" state. Chip erasing is performed by setting all NAND blocks to a selected state.

データの書き込み動作は、ビット線から最も離れた位置のメモリセルから順に行われる。NANDブロック内の選択された制御ゲートには高電圧VPP(例えば20V)を印加し、他の非選択ゲートには中間電位VM(例えば10V)を与える。またビット線にはデータに応じて、VSS又はVMを与える。ビット線にVSSが与えられたとき(”0”書き込み)、その電位は選択メモリセルに伝達され、浮遊ゲートに電子注入が生ずる。これによりその選択メモリセルのしきい値は正方向にシフトする。通常この状態を”0”状態と定義する。ビット線にVMが与えられた(”1”書き込み)メモリセルには電子注入は起らず、従ってしきい値は変化せず負に留まる。データの読み出し動作はNANDブロック内の選択されたメモリセルの制御ゲートをVSSとして、それ以外の制御ゲート及び選択ゲートをVCCとし選択メモリセルで電流が流れるか否かを検出することにより行われる。  The data write operation is performed sequentially from the memory cell located farthest from the bit line. A high voltage VPP (for example, 20 V) is applied to a selected control gate in the NAND block, and an intermediate potential VM (for example, 10 V) is applied to other non-selected gates. VSS or VM is applied to the bit line according to data. When VSS is applied to the bit line ("0" write), the potential is transmitted to the selected memory cell, and electron injection occurs in the floating gate. As a result, the threshold value of the selected memory cell shifts in the positive direction. Normally, this state is defined as "0" state. Electron injection does not occur in the memory cell in which VM is applied to the bit line ("1" write), so that the threshold value does not change and remains negative. The data read operation is performed by setting the control gate of the selected memory cell in the NAND block to VSS, setting the other control gates and the selection gate to VCC, and detecting whether a current flows in the selected memory cell.

NAND型EEPROMではデータの書き込みはソース線に近いページからドレイン側のページに順に行なわれる必要がある。その必要性を図14を参照して以下に説明する。”1”書き込みは中間電位VM(10V程度)を選択メモリセルのドレインに転送し、電子の注入を起こさせず消去状態(即ち負のしきい値)を保つ。図14は制御ゲート1が選択状態(VPP)のときを示している。よって制御ゲート2は非選択でVMが与えられている。またドレインにもVM(”1”書き込み)が与えられている。図14(a)はソース側から書き込みを行なったときの図、図14(b)はドレイン側から書き込みを行なった場合のものである。図14(a)の場合ドレイン側のセルMa2のしきい値は負であるので、ドレインの電位VMは確実にソース側セルMa1に転送される。しかしながら、図14(b)の場合ドレイン側セルMb2にすでに”0”書き込み動作がなされ、正のしきい値(たとえば3.5V)を持っていたとすると、ソース側セルMb1に”1”を書き込む際、セルMb1にはVMからセルMb2のしきい値電圧分差し引いた電圧しか転送されてこない。よってセルMb1では制御ゲートと基板間の電位差が大きくなって誤書き込みが起こる可能性がある。以上のようにソース側から順に書き込む手段は誤書き込みを防ぐ意味で重要である。  In a NAND type EEPROM, data writing must be performed in order from a page near the source line to a page on the drain side. The necessity will be described below with reference to FIG. When "1" is written, the intermediate potential VM (about 10 V) is transferred to the drain of the selected memory cell, and the erase state (that is, the negative threshold value) is maintained without injecting electrons. FIG. 14 shows a case where the control gate 1 is in the selected state (VPP). Therefore, the control gate 2 is not selected and is supplied with VM. VM ("1" write) is also applied to the drain. FIG. 14A shows a case where writing is performed from the source side, and FIG. 14B shows a case where writing is performed from the drain side. In the case of FIG. 14A, since the threshold value of the drain-side cell Ma2 is negative, the drain potential VM is reliably transferred to the source-side cell Ma1. However, in the case of FIG. 14B, assuming that the "0" write operation has already been performed on the drain-side cell Mb2 and that the drain-side cell Mb2 has a positive threshold value (for example, 3.5 V), "1" is written on the source-side cell Mb1. At this time, only the voltage obtained by subtracting the threshold voltage of the cell Mb2 from the VM is transferred to the cell Mb1. Therefore, in the cell Mb1, there is a possibility that the potential difference between the control gate and the substrate becomes large and erroneous writing occurs. As described above, the means for sequentially writing from the source side is important in preventing erroneous writing.

従来磁気ディスク装置では、データの読み出しや書き込みといったアクセスの単位はセクタであった。媒体の円周上に形成されるトラックは数十個のセクタに分割されていて、このセクタには、回転方向に従って順に番号(アドレス)が付いている。いま仮に1トラックに50セクタあったとして、1回目のアクセスで第5セクタから4セクタ分のデータを書き込み、2回目のアクセスで第1セクタから4セクタ分のデータを書き込むといったアクセスは普通に行われる。一方、NAND型EEPROMのアクセス単位はページである。4MビットNAND型EEPROMを例に取ると、1ページは512バイトで、1ブロックは8ページで構成されている。よって、磁気ディスク装置をNAND型EEPROMで置き換えるような応用において、ディスクの1セクタをNAND型EEPROMの1ページマッピングすると変換が容易である。しかしながら、磁気ディスクと同様に、1ブロック中のソース側から5番目のページから4ページを書き込んでから、1番目から4ページを書き込むといったアクセスを行うと先に述べたように、誤書き込みが起こる可能性がある。  In a conventional magnetic disk device, the unit of access such as data reading and writing is a sector. The track formed on the circumference of the medium is divided into several tens of sectors, and these sectors are sequentially numbered (addressed) in the direction of rotation. Assuming that there are 50 sectors in one track, the first access writes data for four sectors from the fifth sector, and the second access writes data for four sectors from the first sector. Is On the other hand, the access unit of the NAND type EEPROM is a page. Taking a 4M-bit NAND type EEPROM as an example, one page is composed of 512 bytes and one block is composed of eight pages. Therefore, in applications where the magnetic disk device is replaced with a NAND EEPROM, conversion is easy if one sector of the disk is mapped to one page of the NAND EEPROM. However, as in the case of the magnetic disk, if access is performed such that the fourth page is written from the fifth page from the source side in one block and then the first page to the fourth page is written, erroneous writing occurs as described above. there is a possibility.

これを避けるための一つの方法は、2回目のアクセスにおいて、最初に書いた第5ページから4ページ分を1度バッファに待避してからこのブロックを消去し、第1ページから8ページ分のデータを書き込むという手順を踏むことである。  One method for avoiding this is that, in the second access, the first page written from the fifth page to the fourth page is saved once in a buffer, then this block is erased, and the first page written to the eight pages from the first page. It is the procedure of writing data.

しかし、この操作は、EEPROMの限られた書き換え回数を浪費することになる。また他の方法は、NAND型EEPROMのアクセス単位を消去単位のブロックにしてしまうことである。この場合には、前述のようなブロックの一部のデータを書き換えるには、ブロック内の既に書き込まれたデータを一旦バッファに読み込み、書き換えるデータをバッファ上で重ね書きし、上記と同様に、このブロックを消去して、第1ページから8ページ分のデータを書き込むという手順を踏む。 However, this operation wastes a limited number of times of rewriting the EEPROM. Another method is to make the access unit of the NAND type EEPROM a block of the erase unit. In this case, in order to rewrite a part of the data of the block as described above, the already written data in the block is once read into the buffer, and the data to be rewritten is overwritten on the buffer. A procedure of erasing a block and writing data of eight pages from the first page is performed.

以上のようにNAND型EEPROMでは、データのアクセスは磁気ディスクのセクタに相当するページを単位として行われるが、磁気ディスクのようにページ単位でランダムなデータ書き込みを行うと、ブロック内での書き込み順が規則からはずれて誤書き込みをする可能性がでるという問題があった。これを避けるために、バッファに先に書き込まれたデータを吸い上げてブロック消去を行った後に再書き込みをすることは、書き換え回数を増大させて、チップの寿命を縮めるという問題があった。また、アクセス単位をブロックすると、データの書き込みもブロック内の全てのページに対して1度に行われる。このとき、書き込まれるべきデータはバッファからNAND型EEPROMに転送されるが、バッファ内のデータは、全てが有効であるとは限らない。即ち、あるブロックに書き込みを行う場合で、その書き込みがそのブロックに対する初めての書き込みである場合、又はそのブロックに書き込んであるデータを無効にする場合、書き換えに先だってブロック内のデータを読み出す必要はない。よって、このとき一部のページにだけしか書き込むデータがなければ、残りのページに対するデータは無効である。通常、無効部分にデータはセットされないから、バッファが前に使われた時の”消し残した”データが残っていて、これがそのまま書き込まれる。従来の磁気ディスク装置では、データとして”1”を書き込む場合も”0”を書き込む場合も書き込みの時間に違いはなかった。しかし、NAND型EEPROMの場合は、先に説明したように消去状態では、全てのデータは”1”であり、”0”のデータを書き込む場合だけ電子の注入が行われる。また、電子の注入にかかる時間は、ビットごとに一定していないので、”0”が正常に書き込まれたかどうかをベリファイしながら進められる。よって、もしページ内のデータが全て”1”であったなら、書き込みは瞬時にして終了する。さらに、電子の注入が起きないから酸化膜に対するストレスも軽減される。このように、NAND型EEPROMの特性を考慮すると、無効なデータ部分は全て”1”に設定しておけば、これが1ページにわたった場合そのページの書き込みには無駄な時間をかけないで済むはずであるが、従来の入出力システムはこのような特性を持たない磁気ディスクのためのものであったから、この点に関する考慮がなされていなかった。  As described above, in the NAND type EEPROM, data access is performed in units of pages corresponding to sectors of the magnetic disk. However, when random data is written in page units as in the case of a magnetic disk, the write order in a block is reduced. However, there is a problem that writing may be performed incorrectly out of the rules. In order to avoid this, if the data previously written to the buffer is taken up and the block is erased and then rewritten, the number of times of rewriting is increased and the life of the chip is shortened. When the access unit is blocked, data writing is performed at once for all pages in the block. At this time, data to be written is transferred from the buffer to the NAND EEPROM, but not all data in the buffer is valid. That is, when writing to a certain block and the writing is the first writing to the block, or when invalidating the data written to the block, it is not necessary to read the data in the block prior to rewriting. . Therefore, at this time, if there is no data to be written in only some of the pages, the data for the remaining pages is invalid. Normally, no data is set in the invalid portion, so that there is data left "erased" when the buffer was previously used, and this data is written as it is. In the conventional magnetic disk drive, there is no difference in writing time between writing "1" and writing "0" as data. However, in the case of a NAND-type EEPROM, as described above, all data is "1" in the erased state, and electrons are injected only when data "0" is written. Also, since the time required for electron injection is not constant for each bit, the process proceeds while verifying whether "0" has been normally written. Therefore, if the data in the page are all "1", the writing is completed instantaneously. Further, since no electron injection occurs, stress on the oxide film is reduced. As described above, in consideration of the characteristics of the NAND type EEPROM, if all invalid data portions are set to "1", if this data is spread over one page, it is not necessary to waste time writing the page. However, since the conventional input / output system is for a magnetic disk having no such characteristics, no consideration has been given to this point.

本発明は、上述のような問題に鑑みなされたもので、書き込み順の逆転による誤書き込みや再書き込みによる書き込み回数の増大を防止し、またメモリセルの絶縁膜に無駄なストレスを与えることを防止してチップの寿命を向上させ、さらに書き込みに要する時間を最小限に抑えることのできる不揮発性半導体メモリ装置のデータ書き込み方法を提供することを目的とする。  The present invention has been made in view of the above-described problems, and prevents an increase in the number of write operations due to erroneous write due to reversal of a write order and a rewrite operation, and also prevents unnecessary stress from being applied to an insulating film of a memory cell. Accordingly, it is an object of the present invention to provide a data writing method for a nonvolatile semiconductor memory device that can improve the life of a chip and further minimize the time required for writing.

上記目的を達成するために、本発明の実施の形態の特徴は、(イ)複数個のページから構成される物理ブロックに分割されたNAND型EEPROMメモリセルアレイを備えた不揮発性半導体メモリ装置にデータを書き込む方法であって、(ロ)管理テーブルを参照して、ホストが指定した論理ページに対応しデータの書き込みが行われるべき物理ブロックを特定するステップと、(ハ)特定された物理ブロックに対してデータの書き込みを行うステップと、(ニ)ブロック内の次にデータが書き込まれるべき物理ページを示すポインタを設定するステップとを有し、(ホ)ポインタの設定において、特定された物理ブロック内のソース側の物理ページからドレイン側の物理ページへ向かってインクリメントする不揮発性半導体メモリ装置のデータ書き込み方法であることを要旨とする。  In order to achieve the above object, the features of the embodiment of the present invention are as follows. (A) A nonvolatile semiconductor memory device provided with a NAND type EEPROM memory cell array divided into physical blocks composed of a plurality of pages. (B) referring to a management table to specify a physical block to which data is to be written corresponding to a logical page specified by the host; and (c) specifying a physical block to which the specified physical block is to be written. And (d) setting a pointer indicating a physical page in the block to which data is to be written next, and (e) specifying the physical block specified in the setting of the pointer. Of a non-volatile semiconductor memory device that increments from a physical page on the source side to a physical page on the drain side And summarized in that a chromatography data write method.

第1に、メモリ手段へのデータの書き込みに際しては、ホストシステム等からのページへのアクセス順序によらず、書き込み順に関する規則、即ち常にブロック内のソース側等のページから書き込みが行われる。これによりドレイン側等のページが先に書き込まれたことに起因する誤書き込みや、ドレイン側等に書き込まれたデータを消してから再書き込みを行うことによる書き込み回数の増大でチップの寿命を縮めることが回避される。  First, at the time of writing data to the memory means, regardless of the order of accessing the pages from the host system or the like, the rules regarding the writing order, that is, writing is always performed from the page on the source side in the block. This shortens the life of the chip due to erroneous writing due to the page written on the drain side or the like being written first, or increasing the number of writings by erasing the data written on the drain side and then rewriting. Is avoided.

第2に、ブロックへのデータの書き込みに際し、バッファ内の有効なデータが存在しない領域のデータが、全て消去状態のデータと同じになるように初期化される。これにより無効なデータのみで満たされたページの書き込みが最短時間で終了し、またメモリセルの絶縁膜に対して無駄なストレスを与えることがなくなってチップの寿命を縮めることが回避される。  Second, when writing data to a block, data in an area of the buffer where no valid data is present is initialized so that all data is the same as data in an erased state. As a result, writing of a page filled with only invalid data is completed in the shortest time, and unnecessary stress is not applied to the insulating film of the memory cell, thereby avoiding shortening the life of the chip.

(第1の実施の形態)
図1は、本発明の第1の実施の形態に係る不揮発性半導体メモリ装置のデータ書き込み方法を適用する不揮発性半導体メモリ装置の全体構成を示すブロック図である。同図において1はメモリ手段としてのNAND型EEPROMモジュールであり、複数個のページからなるブロックに分割されたメモリセルアレイで構成されている。EEPROMモジュール1はデータ線で結ばれたホストインターフェイス3を介して図示省略のホストシステムに接続されている。
(First Embodiment)
FIG. 1 is a block diagram showing an entire configuration of a nonvolatile semiconductor memory device to which a data writing method for a nonvolatile semiconductor memory device according to a first embodiment of the present invention is applied. In FIG. 1, reference numeral 1 denotes a NAND type EEPROM module as a memory means, which is constituted by a memory cell array divided into blocks composed of a plurality of pages. The EEPROM module 1 is connected to a host system (not shown) via a host interface 3 connected by data lines.

データ線上には、マルチプレクサ10及びデータバッファ11が設けられている。また、ホストインターフェイス3内には、データレジスタ4、アドレスレジスタ5、カウントレジスタ6、コマンドレジスタ7、ステータレジスタ8及びエラーレジスタ9が設けられている。12はコントロールロジック、13はECC(誤差修正コード)ジェネレータ/チェッカ、14はアドレスジェネレータ、15は制御手段としての機能を有するCPU、16は後述のページ管理テーブル等が読み込まれる作業用RAM、17は制御プログラムROMである。制御プログラムROM17には、データ書き込み等のための一連の制御プログラムが格納されるようになっている。  A multiplexer 10 and a data buffer 11 are provided on the data line. In the host interface 3, a data register 4, an address register 5, a count register 6, a command register 7, a status register 8, and an error register 9 are provided. 12 is a control logic, 13 is an ECC (error correction code) generator / checker, 14 is an address generator, 15 is a CPU having a function as control means, 16 is a work RAM from which a page management table described later is read, and 17 is a work RAM. This is a control program ROM. The control program ROM 17 stores a series of control programs for writing data and the like.

本実施の形態のメモリ装置は、不揮発性メモリ領域であるEEPROMモジュール1に記録されるデータに関し、そのブロック内でのページ位置を割付け、管理するためにページ管理テーブルを使用する。このテーブルは、他のユーザ・データとともにEEPROMモジュール1に記録されるが、この装置が起動するときに自動的に作業用RAM16に読み込まれる。また、このテーブルはEEPROMモジュール1への書き込みが行われる度にその内容が更新されるが、この更新されたテーブルは、その都度、或いは装置の使用が終了する時点でEEPROMモジュール1に書き戻されることとする。  The memory device according to the present embodiment uses a page management table for allocating and managing a page position in a block of data recorded in the EEPROM module 1 which is a nonvolatile memory area. This table is recorded in the EEPROM module 1 together with other user data, but is automatically read into the working RAM 16 when the apparatus is started. The contents of this table are updated each time data is written to the EEPROM module 1. The updated table is written back to the EEPROM module 1 each time or at the end of use of the device. It shall be.

図2は、ブロック内のページアドレス(論理ページ)と物理的な位置(物理ページ)との対応を管理し、EEPROMモジュール1の書き込み順に関する規則に従って次に使用されるべきページの物理的な位置をポイントするための管理手段としてのページ管理テーブル20の1例である。このページ管理テーブル20は、図2(a)に示すようにn個の領域に分割されていて、各領域18はEEPROMモジュール1の各ブロックに対応している。ここでは簡単のため、メモリ装置を構成しているNAND型EEPROMが4MビットEEPROM1個であると仮定すると、n即ちブロック数は128である。これらの領域18は、さらに、同図(b)に示すようにポイント手段となる1個のポインタ21とページ数(=8)のフラグ領域22から構成されている。ポインタ21はブロック内のページへの書き込みをソース側から順に行うためのものでまだ書き込みの行われていない最もソース側のページを示すものとし、もしこの値がブロック当たりのページ数を越えた場合(この例では9になった場合)には、ブロック消去をしないと書き込みが行えないことを示すものとする。論理ページのフラグ22は、その論理ページがまだ書き込まれていない場合には”0”に設定され、書き込まれた場合には、実際に書き込まれた物理的な位置をソース側から何番目の物理ページであったかで示すものとする。  FIG. 2 manages the correspondence between the page address (logical page) and the physical position (physical page) in the block, and the physical position of the next page to be used in accordance with the rules regarding the writing order of the EEPROM module 1. 1 is an example of a page management table 20 as a management means for pointing to a. The page management table 20 is divided into n areas as shown in FIG. 2A, and each area 18 corresponds to each block of the EEPROM module 1. Here, for simplicity, assuming that the NAND type EEPROM constituting the memory device is one 4-Mbit EEPROM, n, that is, the number of blocks is 128. These areas 18 are further composed of one pointer 21 serving as point means and a flag area 22 of the number of pages (= 8) as shown in FIG. The pointer 21 is used to sequentially write to pages in a block from the source side, and indicates the most source side page to which writing has not yet been performed. If this value exceeds the number of pages per block, (In the case of 9 in this example), it is assumed that writing cannot be performed unless block erasure is performed. The logical page flag 22 is set to “0” if the logical page has not been written yet, and if it has been written, the physical position actually written is set to what physical number from the source side. It indicates whether the page was a page.

具体的な例を用いてデータが記録される際の動作の概要を述べる。あるブロックに、まだ何も書き込まれていなかったとすると、そのあるブロックに対応するページ管理テーブル20の領域18中のポインタ及びフラグの内容は、図3(a)のようになっている。このとき、このブロックの第5論理ページから3ページ分のデータを書き込むとする。まず、ポインタ21の値が1であるから、第5論理ページの内容は、一番ソース側の物理ページに書き込まれ、第5論理ページのフラグ22の値は1に更新され、ポインタ21の値もソース側から2番目のページを示すためにインクリメントされる。この操作がさらに2ページ分繰り返されて、図3(b)のように更新される。次に、同じブロックに第1論理ページから5ページ分の書き込みを行うとすると、ポインタ21は4番目の物理ページを指しているから、ここから5ページ分の書き込みを行い、テーブルを図3(c)のように更新する。この結果、ポインタ21は9になるので、このブロックへの次回の書き込みは、書き換えられないデータをバッファに待避してからブロック消去を行って新たなデータとともに書き戻すといった処理が必要になる。例えば、図3(c)の状態で、第1論理ページから2ページ分のデータを書き換えるとすると、書き換えられない第3論理ページから第7論理ページの内容をバッファに吸い上げてブロック消去を行い、ポインタ21も1に初期化する。その後、バッファ内の7ページ分のデータをブロックに書き込む。この場合の更新されたテーブルの内容を図3(d)に示す。また、ポインタの内容が9になっていなくても、書き込もうとするページ数が残りページ数より多い場合にも(例えば、図3(b)の状態で第3論理ページから6ページ分の書き込み要求がきた場合)、同様の処理をする必要がある。データの読み出しに際しては、ブロック内のページアドレスと物理的な位置との対応をこのページ管理テーブル20から求め必要なデータをアクセスする。  The outline of the operation when data is recorded will be described using a specific example. If nothing has been written to a certain block yet, the contents of the pointer and the flag in the area 18 of the page management table 20 corresponding to the certain block are as shown in FIG. At this time, assume that data for three pages from the fifth logical page of this block is written. First, since the value of the pointer 21 is 1, the contents of the fifth logical page are written to the physical page on the source side, the value of the flag 22 of the fifth logical page is updated to 1, and the value of the pointer 21 is updated. Is also incremented to indicate the second page from the source side. This operation is further repeated for two pages, and updated as shown in FIG. Next, assuming that writing is performed for five pages from the first logical page to the same block, since the pointer 21 points to the fourth physical page, writing for five pages is performed from here, and the table is changed as shown in FIG. Update as in c). As a result, the pointer 21 becomes 9, so that the next writing to this block requires a process of saving data that is not rewritten in a buffer, erasing the block, and writing it back with new data. For example, in the state of FIG. 3C, if data of two pages is rewritten from the first logical page, the contents of the third logical page to the seventh logical page which are not rewritten are taken into the buffer and block erase is performed. The pointer 21 is also initialized to 1. After that, data for seven pages in the buffer is written to the block. FIG. 3D shows the contents of the updated table in this case. Even if the content of the pointer is not 9, even when the number of pages to be written is larger than the number of remaining pages (for example, a write request for six pages from the third logical page in the state of FIG. 3B) ), The same processing needs to be performed. When reading data, the correspondence between the page address in the block and the physical position is determined from the page management table 20, and necessary data is accessed.

次に、この装置の動作をフローチャートを用いて説明する。ホストシステムは、図1のホストインターフェース3内のアドレスレジスタ5にアクセス開始アドレスを、カウントレジスタ6にアクセスしたいデータのセクタ長をセットし、最後にコマンドレジスタ7に読み出し/書き込み等の命令をセットする。ホストインターフェース3のコマンドレジスタ7にアクセス命令が書き込まれると、コントローラ内のCPU15は、コマンドレジスタ7内の命令を読み込み、制御プログラムROM17に納められたコマンド実行のための一連の制御プログラムを実行する。以下の説明では、簡単のためホストシステムの指定してくるセクタ長とEEPROMモジュール1におけるページ長は一致しているものと仮定する。  Next, the operation of this device will be described using a flowchart. The host system sets the access start address in the address register 5 in the host interface 3 of FIG. 1, the sector length of the data to be accessed in the count register 6, and finally sets the command such as read / write in the command register 7. . When an access command is written in the command register 7 of the host interface 3, the CPU 15 in the controller reads the command in the command register 7 and executes a series of control programs for executing commands stored in the control program ROM 17. In the following description, for simplicity, it is assumed that the sector length specified by the host system and the page length in the EEPROM module 1 match.

図4は、EEPROMモジュール1からデータを読み出す手順を示すフローチャートである。まず、図1のCPU15は、ホストインターフェース3にセットされた開始アドレスとページ管理テーブル20内のアドレス変換テーブルを参照して読み出しを行うべきEEPROMモジュール1の物理的なアドレスを決定する(ステップ101)。次に、EEPROMモジュール1からデータバッファ11にデータを読み出す(ステップ102)。次いで、後に詳述するようなエラー処理及びデータバッファ11からホストシステムへのデータ転送等を実行する(ステップ103〜105)。  FIG. 4 is a flowchart showing a procedure for reading data from the EEPROM module 1. First, the CPU 15 of FIG. 1 refers to the start address set in the host interface 3 and the address conversion table in the page management table 20 to determine the physical address of the EEPROM module 1 to be read (step 101). . Next, data is read from the EEPROM module 1 to the data buffer 11 (step 102). Next, error processing and data transfer from the data buffer 11 to the host system, which will be described in detail later, are executed (steps 103 to 105).

図5は、EEPROMモジュールからデータバッファにデータを読み出す手順を示すフローチャートである。CPU15は、EEPROMモジュール1をマルチプレクサ10を通してアクセスし読み出しモードに設定し、データバッファ11を読み出しモードに設定する(ステップ201,202)。アドレスジェネレータ14には、読み出しを行うべきEEPROMモジュール1の物理的なアドレスを設定する(ステップ203)。そして、データバッファ11に、読み出したデータを蓄えるべき領域を決定してその先頭番地をデータバッファ10への書き込みアドレスとして設定する(ステップ204)。その後、コントロールロジック12に対してデータ読み出しのための定められたシーケンスを実行するように指令を送る。  FIG. 5 is a flowchart showing a procedure for reading data from the EEPROM module to the data buffer. The CPU 15 accesses the EEPROM module 1 through the multiplexer 10 to set the read mode, and sets the data buffer 11 to the read mode (steps 201 and 202). The physical address of the EEPROM module 1 to be read is set in the address generator 14 (step 203). Then, an area in which the read data is to be stored is determined in the data buffer 11, and the start address thereof is set as a write address to the data buffer 10 (step 204). Thereafter, a command is sent to the control logic 12 to execute a predetermined sequence for reading data.

コントロールロジック12は、マルチプレクサ10をEEPROMモジュール1からの読み出しデータがデータバッファ11に流れるように設定し、アドレスジェネレータ14の内容をインクリメントしながら、1セクタ分のデータを読み出す(ステップ205)。また、ECCジェネレータ/チェッカ13をこれらのデータ及びこれに付随して読み出されるECCコードを使って誤りを検出するように制御する。1セクタ分のデータが読み出されると、CPU15は、ECCジェネレータ/チェッカ13をチェックしデータの誤りを検査する(ステップ206)。誤りが検出されなかった場合、又は検出されても訂正が行えた場合は、データバッファ11からホストシステムにデータを転送する。もし、訂正不可能な誤りが検出された場合には、ホストシステムに対するデータ転送は行わずに、CPU15は、ホストインターフェース3内のステータスレジスタ8にエラーが起きたことを示すコードを、エラーレジスタ9にエラーの内容を示すコードを設定し、ホストシステムに命令の実行が異常終了したことを通知して処理を終了する(ステップ207〜210)。  The control logic 12 sets the multiplexer 10 so that the read data from the EEPROM module 1 flows to the data buffer 11, and reads data of one sector while incrementing the contents of the address generator 14 (Step 205). Further, the ECC generator / checker 13 is controlled so as to detect an error by using these data and the ECC code read out accompanying thereto. When the data for one sector is read, the CPU 15 checks the ECC generator / checker 13 to check the data for errors (step 206). If no error is detected, or if an error is detected and correction can be performed, the data is transferred from the data buffer 11 to the host system. If an uncorrectable error is detected, the data is not transferred to the host system, and the CPU 15 writes a code indicating that an error has occurred in the status register 8 in the host interface 3 into the error register 9. Is set to indicate the content of the error, and the host system is notified that the execution of the command has been abnormally terminated, and the process is terminated (steps 207 to 210).

図6は、データバッファからホストシステムにデータを転送する手順を示すフローチャートである。CPU15は、データバッファ11に読み出したデータが蓄えられた領域の先頭番地を同バッファからの読み出しアドレスとして設定し(ステップ301,302)、コントロールロジック12に対して、ホストシステムに1セクタ分のデータの転送を行うように指令する。コントロールロジック12は、データバッファ11とホストインターフェース3を制御してホストシステムに対して1セクタ分のデータを転送し(ステップ303)、これが終了するとアドレスレジスタ5を1セクタ分進め、カウントレジスタ6から1を減じ、CPU15に転送が終了したことを通知する。ホストシステムに転送すべきデータが残っている限り、CPU15はこの制御を繰り返す。読み出しデータが全て転送されたら、CPU15は、ホストインターフェース3内のステータスレジスタ8にエラーの無かったことを示すコードを設定し、ホストシステムに命令の実行が終了したことを通知して処理を終了する。  FIG. 6 is a flowchart showing a procedure for transferring data from the data buffer to the host system. The CPU 15 sets the start address of the area in which the data read in the data buffer 11 is stored as an address to be read from the buffer (steps 301 and 302). Command to perform the transfer. The control logic 12 controls the data buffer 11 and the host interface 3 to transfer one sector of data to the host system (step 303). When this is completed, the address register 5 is advanced by one sector and the count register 6 1 is subtracted, and the CPU 15 is notified that the transfer is completed. As long as data to be transferred remains in the host system, the CPU 15 repeats this control. When all the read data is transferred, the CPU 15 sets a code indicating that there is no error in the status register 8 in the host interface 3, notifies the host system that the execution of the instruction has been completed, and ends the processing. .

図7及び図8は、EEPROMモジュール1へデータを書き込む手順を示すフローチャートである。CPU15はホストインターフェース3にセットされた開始アドレスから、ホストシステムが書き込みを行おうとしているEEPROMモジュール1上のブロックを割り出す(ステップ401)。ホストシステムの指示するEEPROMモジュール1のブロック中の未使用ページ数が、書き込まれるページ数より少なく、かつ、ホストシステムからの要求がこのブロックのデータの全てを書き換えるものでない場合は、ブロック内の書き換えられないデータをデータバッファに読み込む(ステップ402〜404)。EEPROMからデータバッファ11にデータを読み出す手順は、先に図5のフローチャートを用いて説明した。ブロック内の重ね書きされない部分のデータが全てバッファに読み込まれるまで、図5の処理が繰り返される。ブロック中の未使用ページ数が、書き込まれるページ数以上の場合以外は、この後にブロック消去を行う(ステップ405)。次いで、後に詳述するようなホストシステムからデータバッファ11への書き込みデータの転送、データバッファ11からEEPROMモジュール1へのデータの書き込み処理及びエラー処理等を実行し、さらにページ管理テーブル中のポインタを初期化する(ステップ406〜411)。  FIGS. 7 and 8 are flowcharts showing a procedure for writing data to the EEPROM module 1. The CPU 15 determines a block on the EEPROM module 1 to which the host system is to write from the start address set in the host interface 3 (step 401). If the number of unused pages in the block of the EEPROM module 1 specified by the host system is smaller than the number of pages to be written and the request from the host system does not rewrite all the data of this block, the rewriting in the block is performed. Data that cannot be read is read into the data buffer (steps 402 to 404). The procedure for reading data from the EEPROM to the data buffer 11 has been described above with reference to the flowchart in FIG. The process of FIG. 5 is repeated until all data of the non-overwritten portion in the block is read into the buffer. Unless the number of unused pages in the block is equal to or greater than the number of pages to be written, block erasure is performed thereafter (step 405). Next, transfer of write data from the host system to the data buffer 11, write processing of data from the data buffer 11 to the EEPROM module 1, error processing, and the like, which will be described in detail later, are performed. Initialization is performed (steps 406 to 411).

図9は、ホストシステムからデータバッファに書き込みデータを転送する手順を示している。CPU15は、データバッファ11を書き込みモードに設定し(ステップ501)、ホストシステムから転送されてくるデータが蓄えられるデータバッファ11上のアドレスを同バッファへの書き込みアドレスとして設定する(ステップ502)。その後、コントロールロジック12に対して、ホストシステムから1セクタ分のデータの転送を行うように指令する。コントロールロジック12は、データバッファ11とホストインターフェース3を制御してホストシステムから1セクタ分のデータを受け取り、これが終了するとCPU15に転送が終了したことを通知する(ステップ503)。図9の処理は、ホストシステムから転送すべきデータが残っていて、かつ、データバッファ11にEEPROMモジュール1の書き込みを行おうとしているブロックのためのデータが不足している限り続けられる。ホストシステムからの転送が終了したら、CPU15はホストインターフェース3にセットされた開始アドレスに対応するブロックのページ管理テーブルのポインタを参照して、先に説明したように、データバッファ11に蓄えられた1ページ分のデータが書き込まれるべきEEPROMモジュール1上の該当ブロックのページ位置を決定し、書き込みを行う。  FIG. 9 shows a procedure for transferring write data from the host system to the data buffer. The CPU 15 sets the data buffer 11 to the write mode (step 501), and sets an address on the data buffer 11 where data transferred from the host system is stored as a write address to the buffer (step 502). After that, the control logic 12 is instructed to transfer one sector of data from the host system. The control logic 12 controls the data buffer 11 and the host interface 3 to receive one sector of data from the host system, and when this is completed, notifies the CPU 15 that the transfer has been completed (step 503). The process of FIG. 9 is continued as long as data to be transferred from the host system remains and data for the block for which the EEPROM module 1 is to be written in the data buffer 11 is insufficient. When the transfer from the host system is completed, the CPU 15 refers to the pointer of the page management table of the block corresponding to the start address set in the host interface 3 and, as described above, stores the 1 stored in the data buffer 11. The page position of the corresponding block on the EEPROM module 1 to which the data for the page is to be written is determined and writing is performed.

図10は、データバッファ内のデータ1ページ分をEEPROMモジュールに書き込む手順を示したフローチャートである。CPU15は、EEPROMモジュール1とデータバッファ11に必要ならば初期設定を施した後(ステップ601,602)、書き込みを行うページの先頭アドレスをアドレスジェネレータ14に設定し(ステップ603)、データバッファ11には、書き込まれるデータの先頭アドレスを同バッファの読み出しアドレスとして設定する(ステップ604)。そして、コントロールロジック12に対してデータ書き込みのための定められたシーケンスを実行するように指令を送る。コントロールロジック12は、マルチプレクサ10をデータバッファ11からの書き込みデータがEEPROMモジュール1に流れるように設定し、アドレスジェネレータ14の内容をインクリメントしながらデータを書き込む(ステップ605)。また、ECCジェネレータ/チェッカ13をこれらのデータからECCコードを生成するように制御し、データとともにこのコードも記録する(ステップ606)。図10の処理は、書き込みエラーが発生するか、該当ブロックに書き込むべき、データを書き終えるかするまで、ページ管理テーブルのポインタをインクリメントしながら続けられる。データの書き込みが正常に行えなかった場合は必要なエラー処理を行い、再度、書き込みを行う(ステップ607,608)。書き込みが正常に終了したらページ管理テーブルの内容を更新する。ホストシステムの要求するデータを全て記録し終えるか、エラーからの回復が不可能で処理を中断した場合は、CPU15は、ホストインターフェース3内のステータスレジスタ8に所定のコードを設定し、ホストシステムに命令の実行が終了したことを通知する。  FIG. 10 is a flowchart showing a procedure for writing one page of data in the data buffer to the EEPROM module. The CPU 15 initializes the EEPROM module 1 and the data buffer 11 if necessary (steps 601 and 602), and sets the head address of the page to be written to the address generator 14 (step 603). Sets the head address of the data to be written as the read address of the buffer (step 604). Then, a command is sent to the control logic 12 to execute a predetermined sequence for writing data. The control logic 12 sets the multiplexer 10 so that write data from the data buffer 11 flows to the EEPROM module 1, and writes data while incrementing the contents of the address generator 14 (step 605). Also, the ECC generator / checker 13 is controlled to generate an ECC code from these data, and this code is recorded together with the data (step 606). The process of FIG. 10 is continued while incrementing the pointer of the page management table until a write error occurs or data is to be written to the corresponding block or data has been written. If the data cannot be written normally, necessary error processing is performed, and writing is performed again (steps 607 and 608). When the writing is completed normally, the contents of the page management table are updated. If all the data requested by the host system has been recorded or the processing has been interrupted due to the inability to recover from the error, the CPU 15 sets a predetermined code in the status register 8 in the host interface 3 and sets the predetermined code in the host system. Notifies that instruction execution has been completed.

なお、本実施の形態では、EEPROMモジュールは、ホストインターフェースを介して、ホストシステムと並行して動作可能なコントローラにより制御される形態を取っているが、ホストシステムのCPUにより直接制御される形態を取ってもよい。  In this embodiment, the EEPROM module is controlled by a controller operable in parallel with the host system via the host interface. However, the EEPROM module is controlled directly by the CPU of the host system. May be taken.

(第2の実施の形態)
図11は、本発明の第2実施の形態に係る不揮発性半導体メモリ装置のデータ書き込み方法を適用する不揮発性半導体メモリ装置を示すブロック図である。CPU15は、インターフェース25をとおしてEEPROMモジュール1をアクセスする。また、アクセスに際しては、RAM26の一部に設けられたバッファ30を使用するようになっている。いま、EEPROMモジュール1が、4MビットNAND型EEPROMで構成されているとすると、1ブロックは4kバイトであるからバッファ30の大きさ、即ち入出力の単位は4kバイトである。バッファ30中の31〜38に相当する部分は、NAND型EEPROMのブロック中のページに相当する部分であるが、この装置では独立したデータとしては扱われない。
(Second embodiment)
FIG. 11 is a block diagram showing a nonvolatile semiconductor memory device to which the data writing method of the nonvolatile semiconductor memory device according to the second embodiment of the present invention is applied. The CPU 15 accesses the EEPROM module 1 through the interface 25. For access, a buffer 30 provided in a part of the RAM 26 is used. Now, assuming that the EEPROM module 1 is composed of a 4M-bit NAND type EEPROM, one block is 4 kbytes, so the size of the buffer 30, that is, the unit of input / output is 4 kbytes. Portions corresponding to 31 to 38 in the buffer 30 are portions corresponding to pages in a block of the NAND type EEPROM, but are not treated as independent data in this device.

まず、EEPROMモジュール1内のあるブロック2のデータの一部を書き換える場合を考える。ブロック2の書き換えられない部分のデータは残さなければならないので予め読み出す必要があるが、この装置ではアクセス単位が1ブロックであるから、ブロック2のデータ全てがバッファ30に転送される。次にバッファ30上でデータの書き換えが行われ、同時にEEPROMモジュール1のブロック2は消去される。そして、バッファ30の内容が、ソース側のページから順に1ブロック分書き込まれる。  First, consider a case where a part of data of a certain block 2 in the EEPROM module 1 is rewritten. Since the data of the non-rewritable portion of the block 2 must be left, it must be read in advance. However, in this apparatus, since the access unit is one block, all the data of the block 2 is transferred to the buffer 30. Next, data is rewritten on the buffer 30, and at the same time, the block 2 of the EEPROM module 1 is erased. Then, the contents of the buffer 30 are written in one block in order from the page on the source side.

次に、ブロック2の内容は無効にして、3ページ分のデータだけを書き込む場合を考える。この場合ブロック2のデータは破棄するので予め読み出す必要はない。ブロック2は即消去される。いま仮に、3ページ分のデータがページ31〜33の位置に書き込まれるものであるとすると、CPU15はまずこの部分にデータを設定する。この時点では、バッファ30内の34〜38には、このアクセスの前にEEPROMモジュールにアクセスを行った時のデータがそのまま残っている。よって、このままバッファ30のデータをブロック2に書き込むと、本来意味の無いデータの入ったページ34〜38の内容がベリファイまでされてそのまま書き込まれるため無駄な時間を浪費する。そこで、CPU15は、ブロック2への書き込みに先だって、バッファ30内の34〜38にはEEPROMモジュールの消去時のデータである”1”をセットする。このように、本実施の形態では、データの書き込みに際し、バッファ30内の有効なデータが存在しない領域のデータが全て消去状態のデータと同じになるように初期化されるので、書き込みが最短時間で終了し、かつ、NAND型EEPROMの酸化膜に対して無駄なストレスを与えることが回避される。  Next, consider a case where the contents of block 2 are invalidated and only data for three pages are written. In this case, since the data in block 2 is discarded, there is no need to read it out in advance. Block 2 is immediately erased. Assuming that three pages of data are to be written in the positions of pages 31 to 33, the CPU 15 first sets data in this part. At this time, the data obtained when the EEPROM module was accessed before this access remains in the buffers 34 to 38 in the buffer 30. Therefore, if the data in the buffer 30 is written to the block 2 as it is, the contents of the pages 34 to 38 containing the originally meaningless data are verified and written as they are, and wasteful time is wasted. Therefore, the CPU 15 sets “1”, which is data at the time of erasing the EEPROM module, in 34 to 38 in the buffer 30 before writing to the block 2. As described above, in the present embodiment, when data is written, the data in the area where no valid data exists in the buffer 30 is initialized so as to be the same as the data in the erased state. In addition, it is possible to avoid giving unnecessary stress to the oxide film of the NAND type EEPROM.

なお、本実施の形態では、EEPROMモジュール1はインターフェース25を介してバス27上のCPU15により直接制御される形態を取っているが、インターフェース25とEEPROMモジュール1の間に介在しCPU15と並行して動作可能なコントローラにより制御される形態を取ってもよい。その他、本実施の形態はその主旨を逸脱しない範囲で種々変形して用いることができる。  In this embodiment, the EEPROM module 1 is controlled directly by the CPU 15 on the bus 27 via the interface 25. However, the EEPROM module 1 is interposed between the interface 25 and the It may take a form controlled by an operable controller. In addition, the present embodiment can be variously modified and used without departing from the gist thereof.

本発明の第1実施の形態に係る不揮発性半導体メモリ装置のデータ書き込み方法に適用する不揮発性半導体メモリ装置を示すブロック図である。1 is a block diagram showing a nonvolatile semiconductor memory device applied to a data writing method of a nonvolatile semiconductor memory device according to a first embodiment of the present invention. 第1の実施の形態におけるページ管理テーブルの構成を示す図である。FIG. 3 is a diagram illustrating a configuration of a page management table according to the first embodiment. 上記ページ管理テーブルの操作を説明するための図である。It is a figure for explaining operation of the above-mentioned page management table. 第1実施の形態においてEEPROMモジュールからデータの読み出し処理を説明するためのフローチャートである。6 is a flowchart for explaining a process of reading data from an EEPROM module in the first embodiment. 第1実施の形態においてEEPROMモジュールからデータバッファへのデータの読み出し処理を説明するためのフローチャートである。5 is a flowchart for explaining a process of reading data from the EEPROM module to the data buffer in the first embodiment. 第1実施の形態においてデータバッファからホストシステムへの読み出しデータの転送処理を説明するためのフローチャートである。5 is a flowchart for explaining a process of transferring read data from a data buffer to a host system in the first embodiment. 第1実施の形態においてEEPROMモジュールへのデータの書き込み処理を説明するためのフローチャートである。5 is a flowchart for explaining a process of writing data to an EEPROM module in the first embodiment. 第1実施の形態においてEEPROMモジュールへのデータの書き込み処理を説明するためのフローチャートである。5 is a flowchart for explaining a process of writing data to an EEPROM module in the first embodiment. 第1実施の形態においてホストシステムからデータバッファへの書き込みデータの転送処理を説明するためのフローチャートである。6 is a flowchart for explaining a process of transferring write data from the host system to the data buffer in the first embodiment. 第1実施の形態においてデータバッファ内のデータをEEPROMモジュールに書き込む処理を説明するためのフローチャートである。5 is a flowchart for describing a process of writing data in a data buffer to an EEPROM module in the first embodiment. 本発明の第2実施の形態に係る不揮発性半導体メモリ装置のデータ書き込み方法に適用する不揮発性半導体メモリ装置を示すブロック図である。FIG. 9 is a block diagram illustrating a nonvolatile semiconductor memory device applied to a data writing method for a nonvolatile semiconductor memory device according to a second embodiment of the present invention. EEPROMの一つのNANDセルを示す等価回路図である。FIG. 3 is an equivalent circuit diagram showing one NAND cell of the EEPROM. EEPROMのメモリセルアレイを示す等価回路図である。FIG. 3 is an equivalent circuit diagram showing a memory cell array of the EEPROM. NAND型EEPROMの書き込み動作を説明するための図である。FIG. 3 is a diagram for explaining a write operation of a NAND type EEPROM.

符号の説明Explanation of reference numerals

1…EEPROMモジュール(メモリ手段)
2…ブロック
3・・・ホストインタフェース
4・・・データレジスタ
5・・・アドレスレジスタ
6・・・カウントレジスタ
7・・・コマンドレジスタ
8・・・ステータスレジスタ
9・・・エラーレジスタ
10・・・マルチプレクサ
11・・・データバッファ
12・・・コントロールロジック
13・・・ECCジェネレータ/チェッカ
14・・・アドレスジェネレータ
15・・・CPU(制御手段)
16・・・作業用RAM
17・・・制御プログラムROM
18・・・領域(ブロック)
20…管理手段となるページ管理テーブル
21…ポイント手段ポインタ(ポイント手段)
22・・・フラグ(領域)
25・・・インタフェース
26・・・RAM
27・・・バス
30…バッファ
31,32,33,34,35,36,37,38・・・ページ
101〜105,201〜210,301〜303,401〜411,501〜503,601〜608・・・ステップ
1: EEPROM module (memory means)
2 Block 3 Host interface 4 Data register 5 Address register 6 Count register 7 Command register 8 Status register 9 Error register 10 Multiplexer 11 data buffer 12 control logic 13 ECC generator / checker 14 address generator 15 CPU (control means)
16 ... Work RAM
17 ... Control program ROM
18 area (block)
20 page management table 21 serving as management means Pointer pointer (pointer)
22 ... Flag (area)
25 Interface 26 RAM
27 bus 30 buffers 31, 32, 33, 34, 35, 36, 37, 38 pages 101 to 105, 201 to 210, 301 to 303, 401 to 411, 501 to 503, 601 to 608 ... Steps

Claims (4)

複数個のページから構成される物理ブロックに分割されたNAND型EEPROMメモリセルアレイを備えた不揮発性半導体メモリ装置にデータを書き込む方法であって、
管理テーブルを参照して、ホストが指定した論理ページに対応しデータの書き込みが行われるべき物理ブロックを特定するステップと、
前記特定された物理ブロックに対してデータの書き込みを行うステップと、
前記ブロック内の次にデータが書き込まれるべき物理ページを示すポインタを設定するステップ
とを有し、前記ポインタの設定において、前記特定された物理ブロック内のソース側の物理ページからドレイン側の物理ページへ向かってインクリメントすることを特徴とする不揮発性半導体メモリ装置のデータ書き込み方法。
A method of writing data to a non-volatile semiconductor memory device having a NAND type EEPROM memory cell array divided into physical blocks composed of a plurality of pages,
Referring to the management table to identify a physical block to which data is to be written corresponding to the logical page specified by the host;
Writing data to the specified physical block,
Setting a pointer indicating a physical page to which data is to be written next in the block, wherein in the setting of the pointer, a physical page on the drain side and a physical page on the drain side in the specified physical block are set. A data writing method for a non-volatile semiconductor memory device, comprising:
前記特定するステップに先立ち、前記管理テーブルを前記メモリセルアレイからRAMに読み込むステップを実施することを特徴とする請求項1記載の不揮発性半導体メモリ装置のデータ書き込み方法。   2. The method according to claim 1, further comprising, prior to the specifying, reading the management table from the memory cell array to a RAM. 前記RAMに読み込むステップを、前記不揮発性半導体メモリ装置の起動時に実施することを特徴とする請求項2記載の不揮発性半導体メモリ装置のデータ書き込み方法。   3. The method according to claim 2, wherein the step of reading the data into the RAM is performed when the nonvolatile semiconductor memory device is started. ECCコードをデータとともに書き込むことを特徴とする請求項1乃至請求項3の内、いずれか1項に記載の不揮発性半導体メモリ装置のデータ書き込み方法。   4. The data writing method for a nonvolatile semiconductor memory device according to claim 1, wherein the ECC code is written together with the data.
JP2004151857A 2004-05-21 2004-05-21 Data writing method for nonvolatile semiconductor memory device Expired - Fee Related JP3908238B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004151857A JP3908238B2 (en) 2004-05-21 2004-05-21 Data writing method for nonvolatile semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004151857A JP3908238B2 (en) 2004-05-21 2004-05-21 Data writing method for nonvolatile semiconductor memory device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP17423492A Division JP3672576B2 (en) 1992-07-01 1992-07-01 Nonvolatile semiconductor memory device

Publications (2)

Publication Number Publication Date
JP2004265447A true JP2004265447A (en) 2004-09-24
JP3908238B2 JP3908238B2 (en) 2007-04-25

Family

ID=33128666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004151857A Expired - Fee Related JP3908238B2 (en) 2004-05-21 2004-05-21 Data writing method for nonvolatile semiconductor memory device

Country Status (1)

Country Link
JP (1) JP3908238B2 (en)

Also Published As

Publication number Publication date
JP3908238B2 (en) 2007-04-25

Similar Documents

Publication Publication Date Title
US20230333932A1 (en) Memory system and operating method thereof
US11561725B2 (en) System and operating method thereof
KR20220001137A (en) Memory system, memory device, and operating method of memory device
JP3672576B2 (en) Nonvolatile semiconductor memory device
US11221945B2 (en) Semiconductor memory device
US20210382655A1 (en) Memory device, memory system, and operation method of memory device
US11249838B2 (en) Memory system, memory controller, and method of operating memory controller
JP3908238B2 (en) Data writing method for nonvolatile semiconductor memory device
JP3267320B2 (en) Nonvolatile semiconductor memory device and method of controlling nonvolatile semiconductor memory device
JP4050250B2 (en) Nonvolatile semiconductor memory device
US11404137B1 (en) Memory system and operating method of memory system
US11704050B2 (en) Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks
US11640263B2 (en) Memory system and operating method thereof
US11669266B2 (en) Memory system and operating method of memory system
US11656790B2 (en) Memory system, memory controller, and operation method of memory system
US11960359B2 (en) Memory system, memory controller and operating method of memory system
US11636007B2 (en) Memory system and operating method thereof for flushing data in data cache with parity
US11500771B2 (en) Memory system, memory controller, and method of operating memory system
US20230195367A1 (en) Memory system, memory controller, and operation method of memory system
KR20230094565A (en) Controller executing active mode or low power mode based on state of multiple sub-circuits and operating method thereof
KR20210149314A (en) Memory system, memory controller, and operating method of memory system
KR20220029903A (en) Memory system and operating method of memory system
KR20210054187A (en) Memory system, memory device, and operating method of memory system
JPH05282886A (en) Nonvolatile semiconductor memory
JP2006252579A (en) Nonvolatile semiconductor memory device and its control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070117

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees