JP4916504B2 - Data storage system - Google Patents

Data storage system Download PDF

Info

Publication number
JP4916504B2
JP4916504B2 JP2008316900A JP2008316900A JP4916504B2 JP 4916504 B2 JP4916504 B2 JP 4916504B2 JP 2008316900 A JP2008316900 A JP 2008316900A JP 2008316900 A JP2008316900 A JP 2008316900A JP 4916504 B2 JP4916504 B2 JP 4916504B2
Authority
JP
Japan
Prior art keywords
data
value
memory
nonvolatile semiconductor
latch
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.)
Expired - Fee Related
Application number
JP2008316900A
Other languages
Japanese (ja)
Other versions
JP2009064468A (en
Inventor
悟 玉田
達也 佐伯
泰宏 興梠
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2008316900A priority Critical patent/JP4916504B2/en
Publication of JP2009064468A publication Critical patent/JP2009064468A/en
Application granted granted Critical
Publication of JP4916504B2 publication Critical patent/JP4916504B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)

Description

この発明は、データ記憶システムに関し、特に、電気的に書込/消去可能な不揮発性半導体メモリセルを使用する構成に関するものである。 This invention relates to data storage systems, and more particularly, to a structure using an electrically writing / erasable nonvolatile semiconductor memory cell.

電気的に書込み消去が可能な不揮発性半導体メモリ(フラッシュメモリ)は、基板上での書換えが可能であるという長所を生かして、当初、プログタムコード格納用メモリとしてEPROMやマスクROMの代替として普及した。   Non-volatile semiconductor memory (flash memory) that can be electrically written and erased is widely used as an alternative to EPROM and mask ROM as a program code storage memory, taking advantage of the fact that it can be rewritten on the substrate. did.

近年では、半導体加工技術の微細化が進歩したため、画像データや音声データを記憶できる大容量フラッシュメモリが登場し、デジタススチルカメラや携帯オーディオへの応用が急速に進んでいる。   In recent years, as semiconductor processing technology has been miniaturized, a large-capacity flash memory capable of storing image data and audio data has appeared, and its application to digital still cameras and portable audio is rapidly progressing.

しかし、動画データの記録を可能にするためにフラッシュメモリにはさらなる大容量化が要求されている。   However, the flash memory is required to have a larger capacity in order to enable recording of moving image data.

フラッシュメモリのさらなる大容量化実現のための重要な技術として、半導体加工技術の微細化とならんで、多値化の技術が挙げられる。フラッシュメモリは、一般的に絶縁膜によって周囲と絶縁されたフローティングゲートに高電界をかけ、電荷を注入するまたは放出することにより、メモリセルのしきい値を変化させて、データを記憶する。   As an important technology for realizing a larger capacity of the flash memory, there is a multi-value technology in addition to the miniaturization of the semiconductor processing technology. A flash memory generally stores data by changing a threshold value of a memory cell by applying a high electric field to a floating gate insulated from the surroundings by an insulating film and injecting or discharging electric charges.

通常のフラッシュメモリ(2値フラッシュメモリ)の場合、メモリのしきい値の高い状態を“1”(または“0”)、メモリセルのしきい値の低い状態を“0”(または“1”)に対応させている。   In the case of a normal flash memory (binary flash memory), the high threshold value of the memory is “1” (or “0”), and the low threshold value of the memory cell is “0” (or “1”). ).

多値技術を用いたフラッシュメモリ(多値フラッシュメモリ)の場合、メモリセルのしきい値を3以上の複数の状態に設定する。たとえば、4値を記憶することができるフラッシュメモリでは、メモリセルのしきい値を4つの状態にして、順に、“11”(しきい値の最も低い状態)、“10”、“00”、“01”(しきい値の最も高い状態)に対応させる。これにより、1つのメモリセルに2ビットのデータを記憶することができる。メモリセルの物理的な状態と論理的なデータとの対応は、2値フラッシュメモリと同様、任意に定めることができることは言うまでもない。   In the case of a flash memory using a multi-value technology (multi-value flash memory), the threshold value of the memory cell is set to a plurality of states of 3 or more. For example, in a flash memory capable of storing four values, the threshold value of the memory cell is set to four states, and “11” (the lowest threshold state), “10”, “00”, Correspond to “01” (the state with the highest threshold). Thereby, 2-bit data can be stored in one memory cell. Needless to say, the correspondence between the physical state of the memory cell and the logical data can be arbitrarily determined as in the binary flash memory.

ところで、多値フラッシュメモリを実現するにあたり、メモリセルに“1”(または“0”)を記憶して、長時間放置した後に当該データを読出すと、“0”(または“1”)になるという重要な問題がある。   By the way, when realizing a multi-value flash memory, if “1” (or “0”) is stored in a memory cell and the data is read after being left for a long time, it becomes “0” (or “1”). There is an important problem of becoming.

この問題点は、物理的には、主としてフローティングゲートに注入された電子が絶縁膜にエネルギー障壁を通り抜けて半導体基板またはゲートに放出されるため、もしくは半導体基板またはゲートから注入されることによりメモリセルのしきい値が変化するために起こる。   This problem is physically caused by electrons injected into the floating gate being emitted to the semiconductor substrate or gate through the energy barrier to the insulating film or by being injected from the semiconductor substrate or gate. This happens because the threshold of changes.

図44を参照して、2値フラッシュメモリの場合、たとえば、“1”状態のしきい値を1V〜1.7V、“0”状態のしきい値を4.3V以上とし、読出時の判定しきい値を3Vとする。この場合、“1”状態および“0”状態のいずれも、1.3Vの読出し余裕がある。この場合、1.3Vに相当する電子が注入/放出されると、誤読出しが生じる。   Referring to FIG. 44, in the case of a binary flash memory, for example, the threshold value in the “1” state is set to 1 V to 1.7 V, the threshold value in the “0” state is set to 4.3 V or more, and determination at the time of reading is performed. The threshold is 3V. In this case, there is a read margin of 1.3 V in both the “1” state and the “0” state. In this case, erroneous reading occurs when electrons corresponding to 1.3 V are injected / released.

これに対し、多値フラッシュメモリの場合、たとえば、“11”状態のしきい値を1V〜1.7V、“10”状態のしきい値を2.3V〜2.7V、“00”状態のしきい値を3.3V〜3.7V、“01”状態のしきい値を4.3V以上とする。読出し時の判定しきい値を2V、3V、4Vとすると、それぞれの状態の読出し余裕は、0.3Vしかない。したがって、0.3Vに相当する電子が注入/放出されると、誤読出しが生じることになる。   On the other hand, in the case of a multi-level flash memory, for example, the threshold value in the “11” state is 1 V to 1.7 V, the threshold value in the “10” state is 2.3 V to 2.7 V, and the “00” state is The threshold value is set to 3.3 V to 3.7 V, and the threshold value in the “01” state is set to 4.3 V or more. If the determination threshold value at the time of reading is 2V, 3V, and 4V, the reading margin in each state is only 0.3V. Therefore, when electrons corresponding to 0.3 V are injected / released, erroneous reading occurs.

図44のF1で表わされるVgs−Ids特性を有するメモリセルが、フローティングゲートから電子が放出されることにより、F2で表わされるVgs−Ids特性を有するメモリセルと同じ状態になった場合、多値フラッシュメモリでは、書込まれた“01”のデータが、“00”と誤読み出しされてしまう。   When the memory cell having the Vgs-Ids characteristic represented by F1 in FIG. 44 is brought into the same state as the memory cell having the Vgs-Ids characteristic represented by F2 due to the emission of electrons from the floating gate, the multi-value is obtained. In the flash memory, the written data “01” is erroneously read as “00”.

同様に、F3で表わされるVgs−Ids特性を有するメモリセルが、F4で表わされるVgs−Ids特性を有するメモリセルと同じ状態になった場合、多値フラッシュメモリでは、書込まれた“11”のデータが、“10”と誤読み出しされてしまう。   Similarly, when the memory cell having the Vgs-Ids characteristic represented by F3 is in the same state as the memory cell having the Vgs-Ids characteristic represented by F4, in the multilevel flash memory, “11” written is written. Is erroneously read as “10”.

これに対し、2値フラッシュメモリでは、F1の状態のメモリセルがF2の状態になった場合であっても、またはF3の状態のメモリセルがF4の状態になっても、正しくデータが読み出される。   On the other hand, in the binary flash memory, even when the memory cell in the F1 state is in the F2 state or the memory cell in the F3 state is in the F4 state, data is read correctly. .

このように、多値フラッシュメモリと2値フラッシュメモリでは、互いに物理的には同等のデータ保持特性を有するにもかかわらず、データの信頼性は多値フラッシュメモリより2値フラッシュメモリのほうが優れている。また、データ転送速度の点からは、2値フラッシュメモリのほうが優れている。その一方で、上述したように、コストおよび大容量化の点では、多値フラッシュメモリのほうが優れている。したがって、今後は、これらのすべての特性を有効に生かしたデバイスの開発が要請される。   As described above, the multilevel flash memory and the binary flash memory have data retention characteristics that are physically equivalent to each other, but the data reliability of the binary flash memory is superior to that of the multilevel flash memory. Yes. In terms of data transfer speed, the binary flash memory is superior. On the other hand, as described above, the multilevel flash memory is superior in terms of cost and capacity increase. Therefore, in the future, it will be required to develop devices that effectively utilize all these characteristics.

そこで、本発明はかかる問題を解決するためになされたものであり、その目的は、メモリの大容量を実現し、かつデータの信頼性、高速動作を可能にするデータ記憶システムを提供することにある。 The present invention has been made to solve such problems, and its object is to realize a large capacity of memory, and the reliability of the data, to enable high speed operation provides to Lud over data storage system There is to do.

この発明の一つの局面によるデータ記憶システムは、第1特性を有する複数の第1不揮発性半導体メモリと、第1特性と異なる第2特性を有する少なくとも1つの第2不揮発性半導体メモリとを含むメモリ領域と、外部とデータの授受を行ない、メモリ領域におけるデータの書込およびメモリ領域からのデータの読出を行なうための制御装置とを備えたものである。制御装置は、複数の第1不揮発性半導体メモリのうちの少なくとも1つが制御装置からのコマンドを受領することが可能な第1状態では、外部から受けるメモリ領域に書込むための格納データに基づいて、第1特性に合致した書込みが要求されている第1の場合であるか第2特性に合致した書込みが要求されている第2の場合であるかを判断し、第1の場合であると判断したときは第1不揮発性半導体メモリに格納データを書込み、第2の場合であると判断したときは第2不揮発性半導体メモリに格納データを書込み、複数の第1不揮発性半導体メモリの全てが制御装置からのコマンドを受領することが不可能な第2状態では、第2不揮発性半導体メモリがコマンドを受領可能である場合に第2不揮発性半導体メモリに格納データを書込む。 A data storage system according to one aspect of the present invention includes a plurality of first nonvolatile semiconductor memories having a first characteristic, and at least one second nonvolatile semiconductor memory having a second characteristic different from the first characteristic. An area and a controller for exchanging data with the outside and writing data in the memory area and reading data from the memory area are provided . In the first state in which at least one of the plurality of first non-volatile semiconductor memories can receive a command from the control device, the control device is based on stored data for writing to the memory area received from the outside. , it is determined whether writing which matches the second characteristic or write that match the first characteristic is the first case that is required is a case where the second being requested, if it is the first case the determined when writing data stored in the first nonvolatile semiconductor memory, when it is determined that the case of the second viewing write data stored in the second nonvolatile semiconductor memory, a plurality of first nonvolatile semiconductor memory in the second state is impossible to receive commands from all the control device, the write-free stored data when the second non-volatile semiconductor memory is capable receiving a command to the second nonvolatile semiconductor memory.

好ましくは、第1特性とは、所定の信頼性でデータを記憶し、かつ所定の処理速度で動作することができる特性であって、第2特性とは、第1特性よりも相対的に高い信頼性でデータを記憶することができ、かつ第1特性よりも高速に動作することができる特性である。   Preferably, the first characteristic is a characteristic capable of storing data with predetermined reliability and operating at a predetermined processing speed, and is relatively higher than the first characteristic. It is a characteristic that can store data with reliability and can operate at a higher speed than the first characteristic.

好ましくは、第1不揮発性半導体メモリは、各々が2ビット以上のデータを記憶する複数の多値データ用メモリセルを含み、第2不揮発性半導体メモリは、各々が1ビットのデータを記憶する複数のメモリセルを含む。   Preferably, the first nonvolatile semiconductor memory includes a plurality of multi-value data memory cells each storing data of 2 bits or more, and the second nonvolatile semiconductor memory includes a plurality of data each storing 1-bit data. Memory cells.

好ましくは、制御装置は、一定期間内に、外部から受ける格納データの大きさを測定する測定回路をさらに含み、測定回路の測定結果に基づいて、格納データの大きさが基準値以下であるときは第1の場合であると判断して第1不揮発性半導体メモリに格納データを書込み、格納データの大きさが基準値を超えるときは第2の場合であると判断して第2不揮発性半導体メモリに格納データを書込む。 Preferably, the control device, within a certain period of time, further comprising a measuring circuit for measuring the magnitude of the stored data received from the outside, based on the measurement result of the measurement circuit, when the magnitude of the stored data is equal to or smaller than the reference value Is determined to be the first case, the stored data is written to the first nonvolatile semiconductor memory, and when the size of the stored data exceeds the reference value, the second case is determined to be the second case. write non-stored data in the memory.

好ましくは、制御装置は、外部との間でデータの授受が無いことに応じて、第2状態において第2不揮発性半導体メモリに既に書込んだデータを第1不揮発性半導体メモリに転送する。 Preferably, the control device transfers data already written in the second nonvolatile semiconductor memory in the second state to the first nonvolatile semiconductor memory in response to the absence of data exchange with the outside.

好ましくは、制御装置は、格納データがメモリ領域を管理するための管理データであるときは第2の場合であると判断して、管理データを第2不揮発性半導体メモリに書込む。 Preferably, the control device determines that it is the second case when the stored data is management data for managing the memory area, and writes the management data to the second nonvolatile semiconductor memory.

好ましくは、制御装置は、データに誤り検出符号を付加する誤り訂正回路をさらに含み、第1不揮発性半導体メモリに格納データを書込む際には、格納データに誤り検出符号を付加して書込みを行ない、第2不揮発性半導体メモリに格納データを書込む際には、格納データに誤り検出符号を付加せずに書込みを行なう。 Preferably, the control device further includes an error correction circuit for adding an error detection code to the data, and when the stored data is written to the first nonvolatile semiconductor memory, the error detection code is added to the stored data for writing. When writing stored data to the second nonvolatile semiconductor memory, writing is performed without adding an error detection code to the stored data.

この発明の一つの局面によるデータ記憶システムは、互いに特性の異なる不揮発性半導体メモリを少なくとも2つ備え、格納データに応じて該当する特性を有する不揮発性半導体メモリにデータを記憶することができる。特に、所定の信頼性でデータを記憶し、かつ所定の処理速度で動作することができる第1不揮発性半導体メモリと、第1不揮発性半導体メモリよりも相対的に高い信頼性でデータを記憶することができ、かつ第1特性よりも高速に動作することができる第2不揮発性半導体メモリとを用いることで、大容量で、高信頼性かつ高速なデータ処理を実行することができる。 One by that data storage system to an aspect of the invention, it is possible to store data in a nonvolatile semiconductor memory having the appropriate characteristics according to at least two comprise, store data having different non-volatile semiconductor memory characteristics from each other . In particular, a first nonvolatile semiconductor memory capable of storing data with a predetermined reliability and operating at a predetermined processing speed, and storing data with a relatively higher reliability than the first nonvolatile semiconductor memory. it can either Tsu by using the second non-volatile semiconductor memory capable of operating at a higher speed than the first characteristic, a large capacity, it is possible to perform a reliable and high-speed data processing.

好ましくは、2値データを記憶する第2不揮発性半導体メモリと、多値データを記憶する第1不揮発性半導体メモリとを用いることができる。 Preferably , a second nonvolatile semiconductor memory that stores binary data and a first nonvolatile semiconductor memory that stores multi-value data can be used.

好ましくは、一定期間内に、外部から受ける格納データの大きさを測定する測定回路を備えることにより、格納データの大きさが基準値を超える場合には高速で書込みが要求されていると判断して、2値データ対応の不揮発性半導体メモリに格納データを書込むことができる。 Preferably, within a certain time period, by providing a measuring circuit for measuring the magnitude of the stored data received from external, write at high speed is required when the size of the store data exceeds the standard values Therefore, the stored data can be written in the nonvolatile semiconductor memory corresponding to binary data.

好ましくは、外部との間でデータの授受が無いことに応じて、2値データ対応の不揮発性半導体メモリに書込んだ2値データを、多値データ対応の不揮発性半導体メモリに多値データとして記憶させることができる。 Preferably , the binary data written in the non-volatile semiconductor memory corresponding to binary data is converted into multi-value data in the non-volatile semiconductor memory corresponding to multi-value data in response to the absence of data exchange with the outside. It can be memorized.

好ましくは、メモリ領域を管理するための管理データについては、2値データ対応の不揮発性半導体メモリに2値データとして記憶させる。これにより、管理データに関する誤読出しの確率が低減するため、システムに致命的なエラーを引起こす可能性が低減される。 Preferably , management data for managing the memory area is stored as binary data in a nonvolatile semiconductor memory corresponding to binary data. As a result, the probability of erroneous reading of the management data is reduced, so that the possibility of causing a fatal error in the system is reduced.

好ましくは、2値データについては、誤り訂正処理を実行しない。これにより、高速なデータ処理が実現される。 Preferably , error correction processing is not executed for binary data. Thereby, high-speed data processing is realized.

以下、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated.

[実施の形態1]
本発明の実施の形態1によるフラッシュメモリ1000について説明する。本発明の実施の形態1は、多値データを記憶する領域と2値データを記憶する領域とを混在させることができるフラッシュメモリに関するものである。
[Embodiment 1]
A flash memory 1000 according to the first embodiment of the present invention will be described. The first embodiment of the present invention relates to a flash memory capable of mixing an area for storing multi-value data and an area for storing binary data.

図1を参照して、フラッシュメモリ1000は、外部との間で信号の授受を行なうための複数のピン、複数のピンに対応して設けられる入出力バッファ11、入出力バッファ11から出力される内部アドレス信号をデコードするアドレスデコーダ12、入出力バッファ11から出力される内部制御信号をデコードしてコマンドを発行するコマンドデコーダ13、ならびに行列状に配置される複数の不揮発性メモリセルを含むメモリセルアレイMAおよびMBを備える。   Referring to FIG. 1, flash memory 1000 is output from a plurality of pins for exchanging signals with the outside, input / output buffer 11 provided corresponding to the plurality of pins, and input / output buffer 11. An address decoder 12 for decoding an internal address signal, a command decoder 13 for decoding an internal control signal output from the input / output buffer 11 and issuing a command, and a memory cell array including a plurality of nonvolatile memory cells arranged in a matrix With MA and MB.

複数のピンは、メモリが動作中であるか(Busy状態)、動作可能な状態であるか(Ready状態)を示す信号R/Bを出力するR/BピンP1、データの入出力を行なうデータ入出力ピン群P2、および内部動作を制御する外部制御信号を受ける制御ピン群P3を含む。制御ピン群P3は、チップイネーブル/CE信号を受ける/CEピンを含む。   The plurality of pins are an R / B pin P1 that outputs a signal R / B indicating whether the memory is operating (Busy state) or is operable (Ready state), and data for inputting and outputting data It includes an input / output pin group P2 and a control pin group P3 that receives an external control signal for controlling internal operations. Control pin group P3 includes a / CE pin that receives a chip enable / CE signal.

メモリセルアレイMAおよびMBの含まれるメモリセルは、複数の状態に設定可能であり、2値データまたは多値データ(3値以上)を記憶する。以下では、多値データの一例として、“01”、“00”、“10”、“11”を用いて説明する。多値データ/2値データとしきい値との関係は、図44に示す対応関係を適用する。なお、実施の形態1では、2値データ“0”の書込要求があった場合、メモリセルを多値データ“01”の状態にする。   Memory cells included in memory cell arrays MA and MB can be set in a plurality of states, and store binary data or multi-value data (three or more values). In the following description, “01”, “00”, “10”, “11” will be used as an example of multi-value data. The correspondence shown in FIG. 44 is applied to the relationship between the multi-value data / binary data and the threshold value. In the first embodiment, when there is a write request for binary data “0”, the memory cell is brought into a state of multi-value data “01”.

フラッシュメモリ1000はさらに、データの書込、読出、消去等を制御するための制御用CPU16、およびベリファイ動作を制御するためのベリファイ回路17を備える。制御用CPU16は、デバイス内部のステータスを保持するステータスレジスタ18を含む。ステータスレジスタ18の保持する情報は、外部に出力可能である。   The flash memory 1000 further includes a control CPU 16 for controlling data writing, reading, erasing, and the like, and a verify circuit 17 for controlling a verify operation. The control CPU 16 includes a status register 18 that holds the internal status of the device. Information held in the status register 18 can be output to the outside.

外部から受けるコマンドにより、メモリセルにデータを2値で記憶するか、多値で記憶するかを制御する。コマンドデコーダ13で、2値書込コマンド/多値書込コマンドのいずれが入力されたかを認識させる。制御用CPU16は、コマンドデコーダ13の出力に応じて、2値の書込シーケンスまたは多値の書込シーケンスに従って、メモリセルにデータを書込むための制御を行なう。   A command received from the outside controls whether data is stored in binary or multi-value in the memory cell. The command decoder 13 recognizes which of the binary write command / multi-value write command is input. The control CPU 16 performs control for writing data into the memory cell in accordance with a binary write sequence or a multi-value write sequence in accordance with the output of the command decoder 13.

読出/書込は、1本のワード線に接続されるメモリセルからなるセクタ(またはページ)単位で行なう。   Reading / writing is performed in units of sectors (or pages) composed of memory cells connected to one word line.

フラッシュメモリ1000はさらに、アドレスデコーダ12の出力を受けてメモリセルアレイMAの行方向の選択をおこなうXデコーダ14A、アドレスデコーダ12の出力を受けてメモリセルアレイMBの行方向の選択をおこなうXデコーダ14B、メモリセルアレイMAに対して設けられる多値フラグ部15A、メモリセルアレイMBに対して設けられる多値フラグ部15B、アドレスデコーダ12の出力と制御用CPU16の出力とに応じて動作するYデコーダ/データラッチ19、20、アドレスデコーダ12の出力と制御用CPU16の出力とに応じて動作するYデコーダ/センスラッチ21、および多値フラグセンスラッチ部22を備える。Yデコーダは、メモリセルアレイの列方向の選択をおこなう。   The flash memory 1000 further receives an output from the address decoder 12 to select the memory cell array MA in the row direction, and receives an output from the address decoder 12 to select the memory cell array MB in the row direction. Multi-level flag unit 15A provided for memory cell array MA, multi-level flag unit 15B provided for memory cell array MB, Y decoder / data latch that operates in accordance with the output of address decoder 12 and the output of control CPU 16 19 and 20, a Y decoder / sense latch 21 that operates according to the output of the address decoder 12 and the output of the control CPU 16, and a multi-value flag sense latch unit 22. The Y decoder performs selection in the column direction of the memory cell array.

多値フラグ部15A、15Bには、後述するように、メモリセルに2値データを記憶したか多値データを記憶したかを示す値を格納する。多値フラグ部15A、15Bへのデータの書込(多値なら“0”、2値なら“1”)、多値フラグ部15A、15Bのデータの読出は、制御用CPU16で制御する。多値フラグ部15A、5Bのデータは、後述するようにメモリセルからのデータの読出と同じ手順で読出す。   As will be described later, the multi-value flag sections 15A and 15B store values indicating whether binary data or multi-value data is stored in the memory cell. The control CPU 16 controls writing of data to the multi-value flag sections 15A and 15B ("0" for multi-value and "1" for 2-value) and reading of data from the multi-value flag sections 15A and 15B. The data of the multilevel flag portions 15A and 5B is read in the same procedure as the reading of data from the memory cell as will be described later.

図2を参照して、メモリセルアレイMAは、複数の不揮発性メモリセルMと、行方向に配置されるワード線WL00およびWL01とを含む。メモリセルアレイMBは、複数の不揮発性メモリセルMと、行方向に配置されるワード線WL10およびWL11とを含む。ビット線BL1、BL2は、メモリセルアレイMAおよびMBの列に対応して共通に配置される。   Referring to FIG. 2, memory cell array MA includes a plurality of nonvolatile memory cells M and word lines WL00 and WL01 arranged in the row direction. Memory cell array MB includes a plurality of nonvolatile memory cells M and word lines WL10 and WL11 arranged in the row direction. Bit lines BL1 and BL2 are arranged in common corresponding to the columns of memory cell arrays MA and MB.

メモリセルMのコントロールゲート層はワード線と、ドレイン領域はビット線と接続され、ソース領域は、ソース電圧VSLを受ける。   The control gate layer of the memory cell M is connected to the word line, the drain region is connected to the bit line, and the source region receives the source voltage VSL.

Xデコーダ14Aおよび14Bは、アドレスデコーダ12の出力するデコード信号を受ける複数のNAND回路と複数のインバータとを含む。Xデコーダ14Aに含まれるインバータV1aは、NAND回路N1aの出力を反転してワード線WL00を駆動し、インバータV1bは、NAND回路N1bの出力を反転してワード線WL01を駆動する。Xデコーダ14Bに含まれるインバータV1cは、NAND回路N1cの出力を反転してワード線WL10を駆動し、インバータV1dは、NAND回路N1dの出力を反転してワード線WL11を駆動する。   X decoders 14A and 14B include a plurality of NAND circuits receiving a decode signal output from address decoder 12 and a plurality of inverters. The inverter V1a included in the X decoder 14A inverts the output of the NAND circuit N1a to drive the word line WL00, and the inverter V1b inverts the output of the NAND circuit N1b to drive the word line WL01. The inverter V1c included in the X decoder 14B inverts the output of the NAND circuit N1c to drive the word line WL10, and the inverter V1d inverts the output of the NAND circuit N1d to drive the word line WL11.

多値フラグ部15Aおよび15Bのそれぞれは、多値フラグMFを含む。多値フラグMFは、メモリセルM(不揮発性メモリセル)と同じ構造を有する。図においては、ワード線WL00、WL01、WL10およびWL11のそれぞれ接続される4つの多値フラグMFが示されている。多値フラグMFは、セクタまたはページ単位で配置される。多値フラグMFは、ビット線方向に配置される配線(ビット線BL0と称す)で多値フラグセンスラッチ部22と接続されている。多値フラグMFは、同一ワード線に接続されるメモリセルMに2値でデータを書込んだか、多値でデータを書込んだかを示す値を記憶する。   Each of the multi-value flag units 15A and 15B includes a multi-value flag MF. The multi-value flag MF has the same structure as the memory cell M (nonvolatile memory cell). In the figure, four multi-value flags MF connected to word lines WL00, WL01, WL10 and WL11, respectively, are shown. The multi-level flag MF is arranged in units of sectors or pages. The multi-level flag MF is connected to the multi-level flag sense latch unit 22 by wiring (referred to as bit line BL0) arranged in the bit line direction. The multi-value flag MF stores a value indicating whether data is written in binary or multi-value in the memory cell M connected to the same word line.

Yデコーダ/データラッチ21は、ビット線に対応して設けられるセンスラッチ3♯1を含む。センスラッチ3♯1は、インバータV2aおよびインバータV2bで構成される。   Y decoder / data latch 21 includes sense latch 3 # 1 provided corresponding to the bit line. Sense latch 3 # 1 includes inverter V2a and inverter V2b.

Yデコーダ/データラッチ19は、ビット線に対応して配置されるデータラッチ1を含む。データラッチ1は、インバータV3aおよびインバータV3bで構成される。Yデコーダ/データラッチ20は、ビット線に対応して配置されるデータラッチ2を含む。データラッチ2は、インバータV4aおよびインバータV4bで構成される。   Y decoder / data latch 19 includes data latch 1 arranged corresponding to the bit line. The data latch 1 includes an inverter V3a and an inverter V3b. Y decoder / data latch 20 includes data latch 2 arranged corresponding to the bit line. The data latch 2 includes an inverter V4a and an inverter V4b.

一本のワード線に接続されるメモリセルのドレインのそれぞれは、互いに異なるセンスラッチとデータラッチとに電気的に接続されている。   Each of the drains of the memory cells connected to one word line is electrically connected to a different sense latch and data latch.

読出動作時、ワード線に読出電圧を与え、センスラッチを介して、メモリセルに電流が流れるかどうかを判定する。データラッチ1、2は、読出した結果を退避するために使用する。本発明の実施の形態1では、1つのメモリセルから2ビットの信号を読出すため、データラッチ1、2を配置している。データラッチ1、2の値を用いて、データを外部に出力する。   During the read operation, a read voltage is applied to the word line, and it is determined whether or not a current flows through the memory cell via the sense latch. The data latches 1 and 2 are used for saving the read result. In the first embodiment of the present invention, data latches 1 and 2 are arranged to read a 2-bit signal from one memory cell. Data is output to the outside using the values of the data latches 1 and 2.

書込動作では、まずデータラッチ1、2にデータを入力し、次にセンスラッチ3♯1に値を設定することで、メモリセルのしきい値を変化させる。   In the write operation, first, data is input to data latches 1 and 2, and then a value is set in sense latch 3 # 1, thereby changing the threshold value of the memory cell.

多値フラグセンスラッチ部22は、インバータV5aおよびV5bで構成されるセンスラッチ3♯2を含む。センスラッチ3♯1および3♯2を総称的に、センスラッチ3と記す。   Multi-level flag sense latch unit 22 includes a sense latch 3 # 2 formed of inverters V5a and V5b. Sense latches 3 # 1 and 3 # 2 are collectively referred to as sense latch 3.

各ラッチ(データラッチ、センスラッチ)とビット線との間には、信号処理回路25が配置される。   A signal processing circuit 25 is disposed between each latch (data latch, sense latch) and the bit line.

信号処理回路25は、図3に示されるように、NMOSトランジスタT1、T2およびT3を含む。なお、図3において、ラッチLは、データラッチ、センスラッチのいずれかを示している。   As shown in FIG. 3, the signal processing circuit 25 includes NMOS transistors T1, T2, and T3. In FIG. 3, the latch L indicates either a data latch or a sense latch.

トランジスタT1は、ビット線とラッチLの入出力ノードZ1との間に配置される。トランジスタT2は、ノードZ2とノードZ3との間に接続され、ゲートはノードZ1と接続される。トランジスタT3は、ノードZ3とビット線との間に接続される。   The transistor T1 is arranged between the bit line and the input / output node Z1 of the latch L. Transistor T2 is connected between nodes Z2 and Z3, and has a gate connected to node Z1. Transistor T3 is connected between node Z3 and the bit line.

信号処理回路25により、選択プリチャージ処理・選択ディスチャージ処理・センス処理を行なう。制御用CPU16は、処理に応じて、ノードZ2、トランジスタT1のゲート、トランジスタT3のゲートに信号を与える。   The signal processing circuit 25 performs selective precharge processing / selective discharge processing / sense processing. The control CPU 16 gives signals to the node Z2, the gate of the transistor T1, and the gate of the transistor T3 in accordance with the processing.

選択プリチャージ処理では、図4(A)に示されるように、トランジスタT1のゲートにLレベルの信号を、ノードZ2にHレベルの信号を、トランジスタT3のゲートにHレベルの信号を印加する。ラッチLにラッチされる値が“1”ならば、トランジスタT2およびT3により、ビット線は“H”に、 “0”ならば、ビット線はそのまま電圧レベルを保持する。   In the selective precharge process, as shown in FIG. 4A, an L level signal is applied to the gate of the transistor T1, an H level signal is applied to the node Z2, and an H level signal is applied to the gate of the transistor T3. If the value latched in the latch L is “1”, the bit line is held at “H” by the transistors T 2 and T 3, and if it is “0”, the bit line keeps the voltage level as it is.

選択ディスチャージ処理では、図4(B)に示されるように、トランジスタT1のゲートにLレベルの信号を、ノードZ2にLレベルの信号を、トランジスタT3のゲートにHレベルの信号を印加する。ラッチLにラッチされる値が“1”ならば、ビット線は“L”に、 “0”ならば、ビット線はそのまま電圧レベルを保持する。   In the selective discharge process, as shown in FIG. 4B, an L level signal is applied to the gate of the transistor T1, an L level signal is applied to the node Z2, and an H level signal is applied to the gate of the transistor T3. If the value latched in the latch L is “1”, the bit line is held at “L”, and if “0”, the bit line holds the voltage level as it is.

さらに、センス処理では、図4(C)に示されるように、トランジスタT1のゲートにHレベルの信号を、ノードZ2にHまたはLレベルの信号を、トランジスタT3のゲートにLレベルの信号を印加する。ラッチLは、ビット線の電位に応じて、“1”または“0”となる。   Further, in the sense processing, as shown in FIG. 4C, an H level signal is applied to the gate of the transistor T1, an H or L level signal is applied to the node Z2, and an L level signal is applied to the gate of the transistor T3. To do. The latch L becomes “1” or “0” depending on the potential of the bit line.

なお、以下に示すラッチからラッチへのデータの転送処理は、転送元のラッチに基づき選択プリチャージ処理を行ない、転送先のラッチでセンス処理を行なうことで実現される。   The data transfer process from latch to latch shown below is realized by performing a selective precharge process based on the transfer source latch and performing a sense process in the transfer destination latch.

フラッシュメモリ1000の書込/読出/消去の概要について、図27(A)〜(D)を用いて説明する。メモリセルMは、基板10上に形成されるソース領域6およびビット線に接続されるドレイン領域7、フローティングゲート層8、ならびにワード線と接続されるコントロールゲート層9を含む。   An outline of writing / reading / erasing of the flash memory 1000 will be described with reference to FIGS. Memory cell M includes a source region 6 formed on a substrate 10 and a drain region 7 connected to a bit line, a floating gate layer 8, and a control gate layer 9 connected to a word line.

データの書込時、図27(A)に示されるように、書込対象となるメモリセルに対しては、ワード線を介してコントロールゲート層9に正の高電圧(たとえば、18V)を印加する。この際、対応するセンスラッチを“0”(0V)にして、ドレイン領域7に0Vを印加する。なお、ソース領域6は、オープン状態とする。   At the time of data writing, as shown in FIG. 27A, a positive high voltage (for example, 18 V) is applied to control gate layer 9 through the word line for the memory cell to be written. To do. At this time, the corresponding sense latch is set to “0” (0 V), and 0 V is applied to the drain region 7. Note that the source region 6 is in an open state.

図27(B)に示されるように、書込対象でないメモリセルに対しては、対応するセンスラッチを“1”(6V)にして、ドレイン領域7に6Vを印加する。   As shown in FIG. 27B, for a memory cell that is not a write target, the corresponding sense latch is set to “1” (6 V) and 6 V is applied to the drain region 7.

データの一括消去時には、図27(C)に示されるように、コントロールゲート層9に負の高電圧(たとえば、−16V)を印加する。この際、ソース領域6およびドレイン領域7には0Vを印加する。メモリセルのしきい値は最も低い状態になる(多値データ“11”、2値データ“1”に対応)。   At the time of batch erasing of data, a negative high voltage (for example, −16 V) is applied to the control gate layer 9 as shown in FIG. At this time, 0 V is applied to the source region 6 and the drain region 7. The threshold value of the memory cell becomes the lowest state (corresponding to multi-value data “11” and binary data “1”).

データの読出時、図27(D)に示されるように、ワード線を介してコントロールゲート層9に正の電圧(たとえば、3V)を、ソース領域6およびドレイン領域7に0Vを印加する。そして、メモリセルに電流が流れるか否かをセンスラッチを用いて判定する。   When data is read, a positive voltage (for example, 3 V) is applied to control gate layer 9 and 0 V is applied to source region 6 and drain region 7 through a word line, as shown in FIG. Then, it is determined using a sense latch whether or not a current flows through the memory cell.

次に、フラッシュメモリ1000におけるデータの読出シーケンスの詳細について、多値データのみを記憶する多値フラッシュメモリと比較しながら説明する。   Next, details of the data reading sequence in the flash memory 1000 will be described in comparison with a multi-value flash memory that stores only multi-value data.

多値フラッシュメモリでは、図5〜図7に示される読出シーケンスを実行する。なお、多値データ(“01”、“00”、“10”または“11”)を、本願と同様、データラッチ1、2およびセンスラッチ3を使用して読出すものとする。   In the multilevel flash memory, the read sequence shown in FIGS. 5 to 7 is executed. Note that multi-value data (“01”, “00”, “10” or “11”) is read using the data latches 1 and 2 and the sense latch 3 as in the present application.

図5を参照して、3回の読出動作(READ1、READ2、READ3)を実行する。READ1では、ワード線電圧を3.0V、READ2では、ワード線電圧を4.0V、READ3では、ワード線電圧を2.0Vにする。   Referring to FIG. 5, three read operations (READ1, READ2, and READ3) are executed. In READ1, the word line voltage is set to 3.0V, in READ2, the word line voltage is set to 4.0V, and in READ3, the word line voltage is set to 2.0V.

READ1では(図6(A)参照)、メモリセルアレイからデータを読出し、読出したデータ(“1”、“1”、“0”、“0”)を、センスラッチ3でラッチする。次にセンスラッチ3からデータラッチ2にデータを転送する(転送処理)。   In READ 1 (see FIG. 6A), data is read from the memory cell array, and the read data (“1”, “1”, “0”, “0”) is latched by the sense latch 3. Next, data is transferred from the sense latch 3 to the data latch 2 (transfer processing).

READ2では(図6(B)参照)、メモリセルアレイからデータを読出し、読出したデータ( “1”、“0”、“0”、“0”)を、センスラッチ3でラッチする。次にセンスラッチ3からデータラッチ1にデータを転送する(転送処理)。   In READ 2 (see FIG. 6B), data is read from the memory cell array, and the read data (“1”, “0”, “0”, “0”) is latched by the sense latch 3. Next, data is transferred from the sense latch 3 to the data latch 1 (transfer processing).

READ3では(図6(C)参照)、メモリセルアレイからデータを読出し、読出したデータ(“1”、“1”、“1”、“0”)を、センスラッチ3でラッチする。   In READ 3 (see FIG. 6C), data is read from the memory cell array, and the read data (“1”, “1”, “1”, “0”) is latched by the sense latch 3.

次に、演算処理を行なう(図7(A)参照)。演算処理では、センスラッチ3からデータラッチ1にデータを転送し(転送処理)、データラッチ1からセンスラッチ3にデータを転送する(転送反転処理)。これにより、センスラッチ3のデータとデータラッチ1のデータとのXOR処理が行われる。   Next, arithmetic processing is performed (see FIG. 7A). In the arithmetic processing, data is transferred from the sense latch 3 to the data latch 1 (transfer processing), and data is transferred from the data latch 1 to the sense latch 3 (transfer inversion processing). As a result, XOR processing of the data in the sense latch 3 and the data in the data latch 1 is performed.

次に、出力処理を行なう(図7(B))。具体的には、センスラッチ3からデータラッチ1にデータを転送する(転送処理)。そして、データラッチ2のデータ(“0”、“0”、“1”、“1”)と、データラッチ1のデータ(“0”、“1”、“1”、“0”)を反転したデータとを出力する。これにより、多値データ(“01”、“00”、“10”、“11”)が読出されることになる。   Next, an output process is performed (FIG. 7B). Specifically, data is transferred from the sense latch 3 to the data latch 1 (transfer process). Then, the data in data latch 2 (“0”, “0”, “1”, “1”) and the data in data latch 1 (“0”, “1”, “1”, “0”) are inverted. Output the data. As a result, multi-value data (“01”, “00”, “10”, “11”) is read out.

なお、データ(3回の読出後のデータラッチの値)と各動作によりセンスラッチ3にラッチされる値との関係は、図8に示されるようになる。   The relationship between the data (value of the data latch after three readings) and the value latched in the sense latch 3 by each operation is as shown in FIG.

これに対し、フラッシュメモリ1000では、図9〜図11に示される多値データの読出シーケンスを実行する。まず、制御用CPU16は、1回目の読出動作(READ1)で多値フラグMFのデータを読出し、この値に基づき、2回目および3回目の読出動作を行なうか否かを判断する。多値フラグMFのデータが“0”、すなわち同一セクタ(または同一ページ)のメモリセルMに多値データが記憶されていることを示す場合、2回目、3回目の読出動作READ2、READ3を実行する。READ1では、ワード線電圧を3.0V、READ2では、ワード線電圧を4.0V、READ3では、ワード線電圧を2.0Vにする。   On the other hand, the flash memory 1000 executes the multi-value data reading sequence shown in FIGS. First, the control CPU 16 reads the data of the multi-value flag MF in the first read operation (READ1), and determines whether or not the second and third read operations are performed based on this value. If the data of the multilevel flag MF is “0”, that is, indicates that multilevel data is stored in the memory cell M of the same sector (or the same page), the second and third read operations READ2 and READ3 are executed. To do. In READ1, the word line voltage is set to 3.0V, in READ2, the word line voltage is set to 4.0V, and in READ3, the word line voltage is set to 2.0V.

READ1では(図10(A)参照)、メモリセルアレイMAのメモリセルMおよび当該メモリセルMに対応する多値フラグMFのデータを読出す。メモリセルMのデータ(“1”、“1”、“0”、“0”)をセンスラッチ3♯1で、多値フラグMFのデータ(“0”)をセンスラッチ3♯2でラッチする。   In READ1 (see FIG. 10A), data of the memory cell M of the memory cell array MA and the multilevel flag MF corresponding to the memory cell M are read. The data (“1”, “1”, “0”, “0”) of the memory cell M is latched by the sense latch 3 # 1, and the data (“0”) of the multilevel flag MF is latched by the sense latch 3 # 2. .

多値フラグMFのデータが“0”であるため、制御用CPU16は、多値データ読出用のシーケンスを実行する。センスラッチ3♯1からデータラッチ2にメモリセルMの反転データを転送する(転送処理)。   Since the data of the multi-value flag MF is “0”, the control CPU 16 executes a multi-value data read sequence. Inverted data of memory cell M is transferred from sense latch 3 # 1 to data latch 2 (transfer process).

READ2では(図10(B)参照)、メモリセルMからデータを読出す。メモリセルMのデータ( “1”、“0”、“0”、“0”)を、センスラッチ3♯1でラッチする。センスラッチ3♯1からデータラッチ1にメモリセルMのデータを転送する(転送処理)。   In READ2 (see FIG. 10B), data is read from the memory cell M. Data (“1”, “0”, “0”, “0”) of the memory cell M is latched by the sense latch 3 # 1. Data in memory cell M is transferred from sense latch 3 # 1 to data latch 1 (transfer process).

READ3では(図10(C)参照)、メモリセルMからデータを読出す。メモリセルMのデータ( “1”、“1”、“1”、“0”)を、センスラッチ3♯1でラッチする。   In READ3 (see FIG. 10C), data is read from the memory cell M. Data (“1”, “1”, “1”, “0”) of memory cell M is latched by sense latch 3 # 1.

次に、演算処理を行なう(図11(A)参照)。演算処理では、メモリセルアレイMAのビット線に対して、センスラッチ3♯1に基づき選択プリチャージ処理を行ない、データラッチ1に基づき選択ディスチャージ処理を行なう。これにより、データラッチ1のデータとセンスラッチ3♯1のデータとのXOR処理が行なわれる。   Next, arithmetic processing is performed (see FIG. 11A). In the arithmetic processing, selective precharge processing is performed on the bit lines of the memory cell array MA based on the sense latch 3 # 1, and selective discharge processing is performed based on the data latch 1. Thus, XOR processing of data in data latch 1 and data in sense latch 3 # 1 is performed.

次に、出力処理を行なう(図11(B)参照)。具体的には、データラッチ1でセンス処理を行なう。データラッチ1に、メモリセルアレイMAのビット線の電位に対応するデータがラッチされる(“0”、“1”、“1”、“0”)。そして、データラッチ2のデータ(“0”、“0”、“1”、“1”)と、データラッチ1のデータを反転したデータとを出力する。これにより、多値データ(“01”、“00”、“10”、“11”)が読出されることになる。   Next, an output process is performed (see FIG. 11B). Specifically, the data latch 1 performs a sensing process. Data corresponding to the potential of the bit line of the memory cell array MA is latched in the data latch 1 (“0”, “1”, “1”, “0”). Then, data (“0”, “0”, “1”, “1”) in the data latch 2 and data obtained by inverting the data in the data latch 1 are output. As a result, multi-value data (“01”, “00”, “10”, “11”) is read out.

なお、データ(3回の読出動作の後のデータラッチの値)と各動作によりセンスラッチ3にラッチされる値との関係は、図12に示されるようになる。   The relationship between the data (value of the data latch after three read operations) and the value latched in the sense latch 3 by each operation is as shown in FIG.

2値データの読出時には、フラッシュメモリ1000は、図13〜図14に示される2値データの読出シーケンスを実行する。制御用CPU16は、1回目の読出動作(READ1)で読出された多値フラグMFのデータが“1”であるならば、図13に示されるように、READ1で読出動作を終了する。   At the time of reading binary data, the flash memory 1000 executes the binary data reading sequence shown in FIGS. If the data of the multi-value flag MF read in the first read operation (READ1) is “1”, the control CPU 16 ends the read operation in READ1 as shown in FIG.

READ1では(図14(A)参照)、メモリセルアレイMAのメモリセルMおよび当該メモリセルMに対応する多値フラグMFのデータを読出す。メモリセルMのデータ(“1”、“1”、“0”、“0”)をセンスラッチ3♯1で、多値フラグMFのデータ(“1”)をセンスラッチ3♯2でラッチする。   In READ1 (see FIG. 14A), data of the memory cell M of the memory cell array MA and the multilevel flag MF corresponding to the memory cell M are read. The data (“1”, “1”, “0”, “0”) of the memory cell M is latched by the sense latch 3 # 1, and the data (“1”) of the multilevel flag MF is latched by the sense latch 3 # 2. .

多値フラグMFのデータが“1”であるため、制御用CPU16は、2値データ読出用のシーケンスを実行するように制御する。センスラッチ3♯1からデータラッチ2にデータを転送する(転送処理)。データラッチ2に、読出したデータの反転データがラッチされる。   Since the data of the multilevel flag MF is “1”, the control CPU 16 performs control so as to execute a binary data read sequence. Data is transferred from sense latch 3 # 1 to data latch 2 (transfer process). The inverted data of the read data is latched in the data latch 2.

次に、出力処理を行なう(図14(B)参照)。具体的には、データラッチ2のデータ(“0”、“0”、“1”、“1”)を出力する。これにより、2値データ(“0”、“0”、“1”、“1”)が読出されることになる。   Next, an output process is performed (see FIG. 14B). Specifically, data (“0”, “0”, “1”, “1”) of the data latch 2 is output. As a result, binary data (“0”, “0”, “1”, “1”) is read out.

なお、データ(1回の読出動作後のデータラッチの値)と1回の読出動作でセンスラッチ3にラッチされる値との関係は、図15に示されるようになる。このように、多値フラグの値に基づき、読出動作を1回で終了することができる。   Note that the relationship between the data (value of the data latch after one read operation) and the value latched in the sense latch 3 in one read operation is as shown in FIG. In this way, the read operation can be completed once based on the value of the multilevel flag.

次にフラッシュメモリ1000へのデータの書込シーケンスについて、多値データのみを記憶する多値フラッシュメモリと比較しながら説明する。   Next, a data write sequence to the flash memory 1000 will be described in comparison with a multi-value flash memory that stores only multi-value data.

多値フラッシュメモリでは、図16〜図19に示される書込シーケンスを実行する。なお、多値データ(“01”、“00”、“10”または“11”)を、本願と同様、データラッチ1、2およびセンスラッチ3♯1を使用して書込むものとする。   In the multilevel flash memory, the write sequence shown in FIGS. 16 to 19 is executed. It is assumed that multi-value data (“01”, “00”, “10” or “11”) is written using data latches 1 and 2 and sense latch 3 # 1 as in the present application.

図16を参照して、3回の書込動作(PROGRAM1、PROGRAM2、PROGRAM3)を実行する。PROGRAM1では、ワード線電圧を18V、PROGRAM2では、ワード線電圧を17V、PROGRAM3では、ワード線電圧を16Vにする。   Referring to FIG. 16, three write operations (PROGRAM1, PROGRAM2, and PROGRAM3) are executed. In PROGRAM1, the word line voltage is set to 18V, in PROGRAM2, the word line voltage is set to 17V, and in PROGRAM3, the word line voltage is set to 16V.

PROGRAM1でデータ“01”が、PROGRAM2でデータ“00”が、PROGRAM3でデータ“10”が書込まれる。   Data “01” is written in PROGRAM1, data “00” is written in PROGRAM2, and data “10” is written in PROGRAM3.

PROGRAM1の処理は、図17(A)〜(D)に示されるとおりである。図17(A)を参照して、データラッチ1に1ビット目のデータ(“1”、“0”、“0”、“1”)を、データラッチ2に2ビット目のデータ(“0”、“0”、“1”、“1”)を格納する。データラッチ1からセンスラッチ3にデータを転送する(転送処理)。   The processing of PROGRAM 1 is as shown in FIGS. Referring to FIG. 17A, data latch 1 has the first bit data (“1”, “0”, “0”, “1”), and data latch 2 has the second bit data (“0”). ”,“ 0 ”,“ 1 ”,“ 1 ”). Data is transferred from the data latch 1 to the sense latch 3 (transfer processing).

図17(B)を参照して、データラッチ2とセンスラッチ3との間のビット線をすべてプリチャージする(“1”)。図17(C)を参照して、当該ビット線に対して、データラッチ2に基づき選択ディスチャージ処理を、センスラッチ3に基づき選択ディスチャージ処理を行なう。   Referring to FIG. 17B, all the bit lines between data latch 2 and sense latch 3 are precharged (“1”). Referring to FIG. 17C, selective discharge processing is performed based on data latch 2 and selective discharge processing is performed based on sense latch 3 for the bit line.

次に、図17(D)を参照して、センスラッチ3でセンス処理を行なう。センスラッチ3に、当該ビット線の電位に対応するデータ(“1”、“0”、“0”、“0”)および反転データがラッチされる。“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“01”が書込まれる。   Next, referring to FIG. 17D, the sense latch 3 performs a sensing process. Data corresponding to the potential of the bit line (“1”, “0”, “0”, “0”) and inverted data are latched in the sense latch 3. Data “01” is written into the memory cell M connected to the sense latch that latched “0”.

PROGRAM2の処理は、図18(A)〜(D)に示されるとおりである。図18(A)を参照して、データラッチ1からセンスラッチ3にデータを転送する(転送処理)。図18(B)を参照して、センスラッチ3に基づき、データラッチ2とセンスラッチ3との間のビット線に対して選択プリチャージ処理を行なう。図18(C)を参照して、データラッチ2に基づき、当該ビット線に対して選択ディスチャージ処理を行なう。図18(D)を参照して、センスラッチ3でセンス処理を行なう。センスラッチ3に、当該ビット線の電位に対応するデータ(“0”、“1”、“0”、“0”)および反転データがラッチされる。“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“00”が書込まれる。   The processing of PROGRAM2 is as shown in FIGS. Referring to FIG. 18A, data is transferred from data latch 1 to sense latch 3 (transfer processing). Referring to FIG. 18B, a selective precharge process is performed on the bit line between data latch 2 and sense latch 3 based on sense latch 3. Referring to FIG. 18C, a selective discharge process is performed on the bit line based on data latch 2. Referring to FIG. 18D, sense processing is performed by sense latch 3. Data corresponding to the potential of the bit line (“0”, “1”, “0”, “0”) and inverted data are latched in the sense latch 3. Data “00” is written into the memory cell M connected to the sense latch that latched “0”.

PROGRAM3の処理は、図19(A)〜(D)に示されるとおりである。図19(A)を参照して、データラッチ1からセンスラッチ3にデータを転送する(転送処理)。図19(B)を参照して、センスラッチ3とデータラッチ1との間のビット線をすべてプリチャージ(“1”)する。図19(C)を参照して、当該ビット線に対して、センスラッチ3に基づき選択ディスチャージ処理を、データラッチ1に基づき選択ディスチャージ処理を行なう。   The processing of PROGRAM 3 is as shown in FIGS. Referring to FIG. 19A, data is transferred from data latch 1 to sense latch 3 (transfer processing). Referring to FIG. 19B, all bit lines between sense latch 3 and data latch 1 are precharged (“1”). Referring to FIG. 19C, the selected discharge process is performed based on sense latch 3 and the selected discharge process is performed based on data latch 1 for the bit line.

次に、図19(D)を参照して、センスラッチ3でセンス処理を行なう。センスラッチ3に、当該ビット線の電位に対応するデータ(“0”、“0”、“1”、“0”)および反転データがラッチされる。“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“10”が書込まれる。   Next, referring to FIG. 19D, the sense latch 3 performs a sensing process. Data corresponding to the potential of the bit line (“0”, “0”, “1”, “0”) and inverted data are latched in the sense latch 3. Data “10” is written into the memory cell M connected to the sense latch that latched “0”.

なお、データ(データロード後のデータラッチの値)と各動作でセンスラッチ3にラッチされる値との関係は、図20に示されるようになる。   The relationship between the data (value of the data latch after data loading) and the value latched in the sense latch 3 in each operation is as shown in FIG.

これに対し、フラッシュメモリ1000は、多値データの書込時には、図21〜図23に示される書込シーケンスを実行する。   On the other hand, flash memory 1000 executes the write sequence shown in FIGS. 21 to 23 when writing multi-value data.

図21を参照して、3回の書込動作(PROGRAM1、PROGRAM2、PROGRAM3)を実行する。PROGRAM1では、ワード線電圧を18V、PROGRAM2では、ワード線電圧を17V、PROGRAM3では、ワード線電圧を16Vにする。   Referring to FIG. 21, three write operations (PROGRAM1, PROGRAM2, and PROGRAM3) are executed. In PROGRAM1, the word line voltage is set to 18V, in PROGRAM2, the word line voltage is set to 17V, and in PROGRAM3, the word line voltage is set to 16V.

PROGRAM1の処理は、図22(A)〜(D)に示されるとおりである。図22(A)を参照して、データラッチ1に1ビット目のデータ(“1”、“0”、“0”、“1”)を、データラッチ2に2ビット目のデータ(“0”、“0”、“1”、“1”)を格納する。データラッチ1からセンスラッチ3♯1にデータを転送する(転送処理)。   The processing of PROGRAM1 is as shown in FIGS. 22 (A) to (D). Referring to FIG. 22A, data latch 1 has the first bit data (“1”, “0”, “0”, “1”), and data latch 2 has the second bit data (“0”). ”,“ 0 ”,“ 1 ”,“ 1 ”). Data is transferred from data latch 1 to sense latch 3 # 1 (transfer process).

同時に、メモリセルアレイMA側の多値フラグMFに“0”を書込むため、センスラッチ3♯2のメモリセルアレイMA側に“0”を格納する。   At the same time, “0” is written to the memory cell array MA side of the sense latch 3 # 2 in order to write “0” to the multi-value flag MF on the memory cell array MA side.

図22(B)を参照して、メモリセルアレイMBのビット線をすべてプリチャージする(“1”)。図22(C)を参照して、メモリセルアレイMBのビット線に対して、データラッチ2に基づき選択ディスチャージ処理を、センスラッチ3♯1に基づき選択ディスチャージ処理を行なう。   Referring to FIG. 22B, all the bit lines of memory cell array MB are precharged (“1”). Referring to FIG. 22C, selective discharge processing is performed on the bit lines of memory cell array MB based on data latch 2, and selective discharge processing is performed on sense latch 3 # 1.

図22(D)を参照して、センスラッチ3♯1でセンス処理を行なう。センスラッチ3♯1に、当該ビット線の電位に対応するデータ(“1”、“0”、“0”、“0”)および反転データがラッチされる。“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“01”が書込まれる。   Referring to FIG. 22D, sense processing is performed in sense latch 3 # 1. Data corresponding to the potential of the bit line (“1”, “0”, “0”, “0”) and inverted data are latched in sense latch 3 # 1. Data “01” is written into the memory cell M connected to the sense latch that latched “0”.

PROGRAM2、3の処理内容は、上述した多値フラッシュメモリにおけるPROGRAM2、3の処理と同じである。これにより、データ“00”、“10”が書込まれる。   The processing contents of PROGRAM2 and 3 are the same as the processing of PROGRAM2 and 3 in the multi-level flash memory described above. Thereby, data “00” and “10” are written.

なお、データ(データロード後のデータラッチの値)と各書込動作においてセンスラッチ3にラッチされる値との関係は、図23に示されるようになる。   The relationship between the data (value of the data latch after data loading) and the value latched in the sense latch 3 in each write operation is as shown in FIG.

このように、多値データの書込時には、データラッチに書込データをラッチする。そして、多値データ“01”を書込むときは、対応するセンスラッチを“0”に、“01”以外の多値データに対応するメモリセルのセンスラッチを“1”にする。同様に、多値データ“00”を書込むときは、対応するセンスラッチを“0”に、“00”以外の多値データに対応するメモリセルのセンスラッチを“1”にする。さらに、多値データ“10”を書込むときは、対応するセンスラッチを“0”に、“10”以外の多値データに対応するメモリセルのセンスラッチを“1”にする。この際、多値フラグには、多値データであることを示す値を格納する。   Thus, when writing multi-value data, the write data is latched in the data latch. When the multi-value data “01” is written, the corresponding sense latch is set to “0”, and the sense latch of the memory cell corresponding to the multi-value data other than “01” is set to “1”. Similarly, when writing multi-value data “00”, the corresponding sense latch is set to “0”, and the sense latch of the memory cell corresponding to multi-value data other than “00” is set to “1”. Further, when multi-value data “10” is written, the corresponding sense latch is set to “0”, and the sense latch of the memory cell corresponding to multi-value data other than “10” is set to “1”. At this time, a value indicating multi-value data is stored in the multi-value flag.

さらに、フラッシュメモリ1000は、2値データの書込時には、図24〜図25に示される書込シーケンスを実行する。   Further, the flash memory 1000 executes the writing sequence shown in FIGS. 24 to 25 when binary data is written.

図24を参照して、1回の書込動作(PROGRAM1)を実行する。PROGRAM1では、ワード線電圧を18Vにする。   Referring to FIG. 24, one write operation (PROGRAM1) is executed. In PROGRAM1, the word line voltage is set to 18V.

PROGRAM1の処理は、図25(A)〜(C)に示されるとおりである。図25(A)を参照して、データラッチ2に書込データ(“0”、“0”、“1”、“1”)を格納する。同時に、メモリセルアレイMA側の多値フラグMFに“1”を書込むため、センスラッチ3♯2のメモリセルアレイMA側に“1”を格納する。そして、メモリセルアレイMBのビット線をすべてプリチャージする(“1”)。   The processing of PROGRAM 1 is as shown in FIGS. Referring to FIG. 25A, write data (“0”, “0”, “1”, “1”) is stored in data latch 2. At the same time, in order to write “1” into the multi-value flag MF on the memory cell array MA side, “1” is stored on the memory cell array MA side of the sense latch 3 # 2. Then, all the bit lines of the memory cell array MB are precharged (“1”).

図25(B)を参照して、メモリセルアレイMBのビット線に対して、データラッチ2に基づき選択ディスチャージ処理を行なう。図25(C)を参照して、センスラッチ3♯1でセンス処理を行なう。センスラッチ3♯1に、当該ビット線の電位に対応するデータ(“1”、“1”、“0”、“0”)および反転データがラッチされる。これにより、“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“0”(データ“01”に相当)が書込まれる。   Referring to FIG. 25B, selective discharge processing is performed on the bit lines of memory cell array MB based on data latch 2. Referring to FIG. 25C, sense processing is performed in sense latch 3 # 1. Data corresponding to the potential of the bit line (“1”, “1”, “0”, “0”) and inverted data are latched in sense latch 3 # 1. As a result, data “0” (corresponding to data “01”) is written into the memory cell M connected to the sense latch that latched “0”.

データ(データロード後のデータラッチの値)と1回の書込動作でセンスラッチ3にラッチされる値との関係は、図26に示されるようになる。   The relationship between the data (value of the data latch after data loading) and the value latched in the sense latch 3 by one write operation is as shown in FIG.

このように、2値での書込み要求があった場合には、データ“01”を書込んだ時点で書込み動作を終了することができる。   As described above, when there is a binary write request, the write operation can be terminated when the data “01” is written.

このように、本発明の実施の形態1によるフラッシュメモリ1000によると、多値データと2値データとを混在して記憶することができる。したがって、書込要求に応じて、たとえば、高い信頼性を必要とされるデータについては2値で記憶し、また大容量のデータは、多値で記憶することができる。また、多値データについては、多値で、2値データについては、2値でデータを読出すことができる。   Thus, according to the flash memory 1000 according to the first embodiment of the present invention, multi-value data and binary data can be mixed and stored. Therefore, in response to a write request, for example, data requiring high reliability can be stored in binary, and large capacity data can be stored in multiple values. Further, multi-value data can be read as multi-value data, and binary data can be read as binary data.

[実施の形態2]
本発明の実施の形態2では、フラッシュメモリ1000の改良例について説明する。本発明の実施の形態2による制御用CPU16は、2値データを読出す際も、多値データと同様、3回の読出動作を行なうように制御する。そして、1回目の読出動作と3回目の読出動作とで読出データの値が異なった場合、より具体的には、多値データの“10”、“00”に相当するしきい値になっている場合、2値で記憶させたデータのしきい値が変化していることを示す警告を発生する。
[Embodiment 2]
In the second embodiment of the present invention, an improved example of the flash memory 1000 will be described. The control CPU 16 according to the second embodiment of the present invention controls to read out binary data three times as in the case of multivalued data when reading out binary data. If the read data value differs between the first read operation and the third read operation, more specifically, the threshold values correspond to multi-value data “10” and “00”. If so, a warning is generated indicating that the threshold value of the binary stored data has changed.

警告が発生した場合、制御用CPU16は、2値データを再度書込むための制御を行なう。   When a warning occurs, the control CPU 16 performs control for rewriting binary data.

本発明の実施の形態2によるフラッシュメモリにおける2値データの読出シーケンスを、図28〜図31を用いて説明する。   A binary data read sequence in the flash memory according to the second embodiment of the present invention will be described with reference to FIGS.

本発明の実施の形態2においては、図28に示されるように、合計3回の読出動作(READ1、READ2、READ3)を実行する。READ1では、ワード線電圧を3.0V、READ2では、ワード線電圧を4.0V、READ3では、ワード線電圧を2.0Vにする。   In Embodiment 2 of the present invention, as shown in FIG. 28, a total of three read operations (READ1, READ2, and READ3) are executed. In READ1, the word line voltage is set to 3.0V, in READ2, the word line voltage is set to 4.0V, and in READ3, the word line voltage is set to 2.0V.

2値データを書込んだメモリセルが、多値データ“01”の状態(“0P”)、多値データ“00”の状態(“0E”)、多値データ“11”の状態(“1P”)、または多値データ“10”の状態(“1E”)になったとする。制御用CPU16は、“0E”および“1E”の状態を検出し、警告を発生する。   The memory cell into which binary data has been written is in a state of multi-value data “01” (“0P”), a state of multi-value data “00” (“0E”), a state of multi-value data “11” (“1P ”) Or the state of multi-value data“ 10 ”(“ 1E ”). The control CPU 16 detects the states of “0E” and “1E” and generates a warning.

READ1では(図29(A)参照)、メモリセルアレイMAのメモリセルMおよび当該メモリセルMに対応する多値フラグMFのデータを読出し、センスラッチでラッチする。センスラッチ3♯1には、メモリセルM(“0P”、“0E”、“1E”、“1P”)に対応するデータ(“1”、“1”、“0”、“0”)が、センスラッチ3♯2のメモリセルアレイMA側には、多値フラグMFのデータ(“1”)が格納される。センスラッチ3♯1からデータラッチ2にデータを転送する(転送処理)。   In READ1 (see FIG. 29A), the data of the memory cell M of the memory cell array MA and the multilevel flag MF corresponding to the memory cell M are read and latched by the sense latch. Data (“1”, “1”, “0”, “0”) corresponding to the memory cell M (“0P”, “0E”, “1E”, “1P”) is stored in the sense latch 3 # 1. On the memory cell array MA side of sense latch 3 # 2, data ("1") of multilevel flag MF is stored. Data is transferred from sense latch 3 # 1 to data latch 2 (transfer process).

READ2では(図29(B)参照)、メモリセルMからデータを読出す。読出したデータ( “1”、“0”、“0”、“0”)を、センスラッチ3♯1でラッチする。センスラッチ3♯1からデータラッチ1にデータを転送する(転送処理)。   In READ2 (see FIG. 29B), data is read from the memory cell M. The read data (“1”, “0”, “0”, “0”) is latched by the sense latch 3 # 1. Data is transferred from sense latch 3 # 1 to data latch 1 (transfer process).

READ3では(図29(C)参照)、メモリセルMからデータを読出す。読出したデータ( “1”、“1”、“1”、“0”)を、センスラッチ3♯1でラッチする。   In READ3 (see FIG. 29C), data is read from the memory cell M. The read data (“1”, “1”, “1”, “0”) is latched by the sense latch 3 # 1.

次に、演算処理を行なう(図29(D)参照)。演算処理では、メモリセルアレイMAのビット線に対して、センスラッチ3♯1に基づき選択プリチャージ処理を行ない、データラッチ1に基づき選択ディスチャージ処理を行なう。これにより、データラッチ1のデータとセンスラッチ3♯1のデータとのXOR処理が行なわれる。   Next, arithmetic processing is performed (see FIG. 29D). In the arithmetic processing, selective precharge processing is performed on the bit lines of the memory cell array MA based on the sense latch 3 # 1, and selective discharge processing is performed based on the data latch 1. Thus, XOR processing of data in data latch 1 and data in sense latch 3 # 1 is performed.

次に、出力処理を行なう(図29(E)参照)。具体的には、データラッチ1でセンス処理を行なう。データラッチ1に、メモリセルアレイMAのビット線の電位に対応するデータがラッチされる(“0”、“1”、“1”、“0”)。   Next, an output process is performed (see FIG. 29E). Specifically, the data latch 1 performs a sensing process. Data corresponding to the potential of the bit line of the memory cell array MA is latched in the data latch 1 (“0”, “1”, “1”, “0”).

なお、データ(3回の読出動作の後のデータラッチの値)と各動作によりセンスラッチ3♯1にラッチされる値との関係は、図32に示されるようになる。   The relationship between the data (value of the data latch after the three read operations) and the value latched in the sense latch 3 # 1 by each operation is as shown in FIG.

制御用CPU16は、読出したデータが2値データの場合(多値フラグMFが“1”)、00レベル検出処理および10レベル検出処理をさらに行なう。   When the read data is binary data (multi-value flag MF is “1”), the control CPU 16 further performs 00 level detection processing and 10 level detection processing.

00レベル検出処理では、第1処理として(図30(A)参照)、メモリセルアレイMAのビット線をすべてプリチャージする。第2処理では(図30(B)参照)、メモリセルアレイMAのビット線に対して、データラッチ1に基づき選択ディスチャージ処理を行ない、センスラッチ3♯1でセンス処理を行なう。   In the 00 level detection process, as the first process (see FIG. 30A), all the bit lines of the memory cell array MA are precharged. In the second process (see FIG. 30B), a selective discharge process is performed on the bit lines of memory cell array MA based on data latch 1, and a sense process is performed by sense latch 3 # 1.

第3処理では(図30(C)参照)、メモリセルアレイMBのビット線に対して、センスラッチ3♯1に基づき選択プリチャージ処理を行ない、データラッチ2に基づき選択ディスチャージ処理を行なう。さらに、第4処理として(図30(D)参照)、センスラッチ3♯1でセンス処理を行なう。センスラッチ3♯1に、メモリセルアレイMBのビット線の電位に対応するデータがラッチされる(“0”、“1”、“0”、“0”)。   In the third process (see FIG. 30C), a selective precharge process is performed on the bit lines of the memory cell array MB based on the sense latch 3 # 1, and a selective discharge process is performed on the data latch 2. Further, as the fourth process (see FIG. 30D), the sense latch 3 # 1 performs the sense process. Data corresponding to the potential of the bit line of memory cell array MB is latched in sense latch 3 # 1 (“0”, “1”, “0”, “0”).

“0E”の状態のメモリセルに対応するセンスラッチには、他のメモリセルに対応するセンスラッチと異なる値が格納される。ラッチされた値を用いて、図33に示される全ラッチ判定回路200でALL判定処理を行なう。そして、00レベル検出処理の第4処理が終了すると、10レベル検出処理を行なう。   The sense latch corresponding to the memory cell in the “0E” state stores a value different from that of the sense latch corresponding to another memory cell. Using the latched value, ALL determination processing is performed by all the latch determination circuits 200 shown in FIG. When the fourth process of the 00 level detection process ends, a 10 level detection process is performed.

10レベル検出処理の第1処理では(図31(A)参照)、データラッチ1からセンスラッチ3♯1にデータを転送する(転送処理)。続く第2処理では(図31(B)参照)、メモリセルアレイMBのビット線に対して、センスラッチ3♯1に基づき選択ディスチャージ処理を行ない、データラッチ2に基づき選択プリチャージ処理を行なう。   In the first process of the 10-level detection process (see FIG. 31A), data is transferred from the data latch 1 to the sense latch 3 # 1 (transfer process). In the subsequent second process (see FIG. 31B), the selective discharge process is performed on the bit lines of the memory cell array MB based on the sense latch 3 # 1, and the selective precharge process is performed on the data latch 2.

続く第3処理では(図31(C)参照)、センスラッチ3♯1でセンス処理を行なう。センスラッチ3♯1に、メモリセルアレイMBのビット線の電位に対応するデータがラッチされる(“0”、“0”、“1”、“0”)。   In the subsequent third process (see FIG. 31C), the sense latch 3 # 1 performs the sense process. Data corresponding to the potential of the bit line of memory cell array MB is latched in sense latch 3 # 1 (“0”, “0”, “1”, “0”).

“1E”の状態のメモリセルに対応するセンスラッチには、他のメモリセルに対応するセンスラッチと異なる値が格納される。ラッチされた値を用いて、図33に示される全ラッチ判定回路200でALL判定処理を行なう。   The sense latch corresponding to the memory cell in the “1E” state stores a value different from that of the sense latch corresponding to the other memory cell. Using the latched value, ALL determination processing is performed by all the latch determination circuits 200 shown in FIG.

ALL判定処理を行なう全ラッチ判定回路200は、図33に示されるように、信号線Lと接地電圧を受けるノードとの間に設けれる複数のNMOSトランジスタT10、T11、T12、…、信号線Lと電源電圧を受けるノードとの間に設けられる抵抗素子R、ならびに信号線Lの信号を反転するインバータV20およびV21を含む。   As shown in FIG. 33, all latch determination circuit 200 that performs the ALL determination processing includes a plurality of NMOS transistors T10, T11, T12,... And a node receiving power supply voltage, and inverters V20 and V21 for inverting the signal on signal line L.

トランジスタT10、T11、T12、…は、複数のセンスラッチ3♯1のそれぞれに対応して設けられる。トランジスタT10、T11、T12、…のそれぞれは、対応するセンスラッチ3♯1の出力に応じてオン/オフする。   Transistors T10, T11, T12,... Are provided corresponding to each of the plurality of sense latches 3 # 1. Each of transistors T10, T11, T12,... Is turned on / off according to the output of the corresponding sense latch 3 # 1.

すべてのセンスラッチ3♯1の出力が“L"レベルであれば、インバータV21から出力される判定値は、”H"レベルになる。   If the outputs of all sense latches 3 # 1 are at "L" level, the determination value output from inverter V21 is at "H" level.

したがって、図30および図31に示される場合、1つのセンスラッチ3♯1からHレベルの信号が出力されるため、判定値は“L”レベルになる。この判定値に基づき、制御用CPU16は、しきい値のずれを修正するため再度2値データの書込みを行うとともに、しきい値のずれを示す警告信号を発生する。警告信号は、たとえば、ステータスレジスタ18を介して外部に出力する。   Therefore, in the case shown in FIGS. 30 and 31, since the H level signal is output from one sense latch 3 # 1, the determination value becomes "L" level. Based on this determination value, the control CPU 16 writes binary data again to correct the threshold shift, and generates a warning signal indicating the threshold shift. The warning signal is output to the outside via the status register 18, for example.

このように、本発明の実施の形態2によるフラッシュメモリによると、2値データを正確に記憶することができる。また、2値データのずれを検出した場合には、外部にずれの発生を知らせることができる。   Thus, according to the flash memory according to the second embodiment of the present invention, binary data can be accurately stored. In addition, when the deviation of the binary data is detected, the occurrence of the deviation can be notified to the outside.

[実施の形態3]
本発明の実施の形態3では、フラッシュメモリ1000の改良例を示す。上述した実施の形態1では、2値データ“0”の書込要求があった場合、メモリセルを多値データ“01”の状態、すなわちしきい値が最も高い状態に設定する。
[Embodiment 3]
In the third embodiment of the present invention, an improved example of the flash memory 1000 is shown. In the first embodiment described above, when there is a write request for binary data “0”, the memory cell is set to the state of multi-value data “01”, that is, the threshold value is the highest.

これに対して、本発明の実施の形態3における制御用CPU16は、2値データ“0”の書込要求があった場合、メモリセルを、多値データ“11”の状態に最も近い多値データ“10”の状態に設定する(図43参照)。   On the other hand, when there is a write request for binary data “0”, the control CPU 16 according to the third embodiment of the present invention sets the memory cell to the multivalue closest to the state of the multivalue data “11”. A state of data “10” is set (see FIG. 43).

“01”に書込む場合よりも、しきい値のシフト量が少ないので、書込み時間を短縮することができる。この結果、本発明の実施の形態3によるフラッシュメモリによると、高速な書込動作が実現される。   Since the threshold shift amount is smaller than in the case of writing to “01”, the writing time can be shortened. As a result, the flash memory according to the third embodiment of the present invention realizes a high-speed write operation.

[実施の形態4]
本発明の実施の形態4によるデータ記憶システム4000について、図34を用いて説明する。データ記憶システム4000は、図34に示されるように、2値フラッシュメモリ102、多値フラッシュメモリ104Aおよび104B、ならびにカウンタ/タイマ401、バッファ402、コントローラ403、およびエラー訂正回路404を含むシステムコントローラ400を備える。
[Embodiment 4]
A data storage system 4000 according to Embodiment 4 of the present invention will be described with reference to FIG. As shown in FIG. 34, the data storage system 4000 includes a binary flash memory 102, multilevel flash memories 104A and 104B, and a system controller 400 including a counter / timer 401, a buffer 402, a controller 403, and an error correction circuit 404. Is provided.

2値フラッシュメモリ102は、複数の不揮発性メモリセルを含む。2値フラッシュメモリ102に含まれるメモリセルには2値データが書込まれ、また当該メモリセルからは2値データが読出される。   The binary flash memory 102 includes a plurality of nonvolatile memory cells. Binary data is written into a memory cell included in the binary flash memory 102, and binary data is read from the memory cell.

多値フラッシュメモリ104Aおよび104Bのそれぞれは、複数の不揮発性メモリセルを含む。多値フラッシュメモリ104Aおよび104Bのそれぞれに含まれるメモリセルには多値データが書込まれ、また当該メモリセルからは多値データが読出される。   Each of multi-level flash memories 104A and 104B includes a plurality of nonvolatile memory cells. Multi-value data is written in the memory cells included in each of the multi-value flash memories 104A and 104B, and multi-value data is read from the memory cells.

2値フラッシュメモリ102、多値フラッシュメモリ104Aおよび104Bのそれぞれは、I/Oピンからデータを入出力する。I/Oピンは、バッファ402と接続されている。   Each of the binary flash memory 102 and the multi-level flash memories 104A and 104B inputs and outputs data from the I / O pins. The I / O pin is connected to the buffer 402.

2値フラッシュメモリ102は、R/Bピンから動作中であるか否かを示す信号R/B0を出力する。多値フラッシュメモリ104Aおよび104Bのそれぞれは、R/Bピンから動作中であるか否かを示す信号R/B1、R/B2を出力する。信号R/B0、R/B1、R/B2は、コントローラ403に入力される。   The binary flash memory 102 outputs a signal R / B0 indicating whether or not it is operating from the R / B pin. Each of the multi-value flash memories 104A and 104B outputs signals R / B1 and R / B2 indicating whether or not they are operating from the R / B pin. The signals R / B0, R / B1, and R / B2 are input to the controller 403.

2値フラッシュメモリ102、多値フラッシュメモリ104Aおよび104Bのそれぞれは、コントローラ403から出力されるチップイネーブル信号を/OEピンで受けて動作する。   Each of the binary flash memory 102 and the multi-level flash memories 104A and 104B operates by receiving a chip enable signal output from the controller 403 at the / OE pin.

カウンタ/タイマ401は、一定期間内にホストシステム4100から要求される書込データの大きさを測定する。カウンタ/タイマ401の測定結果は、コントローラ403に出力される。   The counter / timer 401 measures the size of write data requested from the host system 4100 within a certain period. The measurement result of the counter / timer 401 is output to the controller 403.

バッファ402は、ホストシステム4100から転送されるデータを取込み、またフラッシュメモリから読出されたデータを取込む。   Buffer 402 captures data transferred from host system 4100 and captures data read from flash memory.

エラー訂正回路404は、コントローラ403の制御に基づき、バッファ402に取込まれた書込データに誤り訂正検出信号を付加し、またホストシステム4100への読出データの転送時に、バッファ402に取込まれたデータに対してエラー訂正処理を行なう。   Based on the control of the controller 403, the error correction circuit 404 adds an error correction detection signal to the write data taken in the buffer 402, and is taken into the buffer 402 when the read data is transferred to the host system 4100. Error correction processing is performed on the received data.

コントローラ403は、カウンタ/タイマ401の出力、信号R/B0、R/B1、R/B2をモニタして、フレッシュメモリへのデータの書込みを制御する。また、データの読出時、エラー訂正を行なうか否かを制御する。   The controller 403 monitors the output of the counter / timer 401 and signals R / B0, R / B1, and R / B2, and controls the writing of data to the fresh memory. It also controls whether or not error correction is performed when reading data.

図35に示されるように、データ記憶システム4000を駆動するためのソフトウェア、FAT情報(フラッシュメモリのアドレスとデータ記憶システム4000におけるアドレスとの対応を示すファイル情報)および高速書込要求時のユーザデータは、相対的に高信頼性かつ高速動作が可能なフラッシュメモリ102に書込む。これら以外のユーザデータは、多値フラッシュメモリ104Aおよび104Bに書込む。   As shown in FIG. 35, software for driving the data storage system 4000, FAT information (file information indicating the correspondence between flash memory addresses and addresses in the data storage system 4000), and user data at the time of high-speed write request Is written in the flash memory 102 capable of relatively high reliability and high speed operation. Other user data is written into the multi-level flash memories 104A and 104B.

システムコントローラ400によるフラッシュメモリへの書込制御の第1例について、多値フラッシュメモリのみを複数個配置したデータ記憶システムと対比して説明する。   A first example of writing control to the flash memory by the system controller 400 will be described in comparison with a data storage system in which only a plurality of multi-value flash memories are arranged.

多値フラッシュメモリのみを用いる場合、図36に示される手順で書込みが行なわれる。なお、データ記憶システムが、多値フラッシュメモリをN個搭載しているものとする。N個の多値フラッシュメモリのそれぞれにデバイス番号1〜Nを割当てる。ホストシステムからの書込要求があると(ステップS401)、書込対象として指定するデバイス番号(DEVICE NO)を初期化“0”する(ステップS401)。   When only the multi-level flash memory is used, writing is performed according to the procedure shown in FIG. It is assumed that the data storage system is equipped with N multi-value flash memories. Device numbers 1 to N are assigned to each of the N multilevel flash memories. When there is a write request from the host system (step S401), a device number (DEVICE NO) designated as a write target is initialized to “0” (step S401).

続いて、デバイス番号を“1”インクリメントする(ステップS402)。対応する多値フラッシュメモリの信号R/Bに応じて、書込可能であるか(Ready状態)か、書込不可である(Busy状態)かを判断する(ステップS403)。   Subsequently, the device number is incremented by “1” (step S402). It is determined whether writing is possible (Ready state) or writing is not possible (Busy state) in accordance with the signal R / B of the corresponding multi-level flash memory (Step S403).

書込可能(Ready状態)であれば、デバイス番号に対応する多値フラッシュメモリにホストシステムから受けるデータを書込む(ステップS404)。そして、ホストシステムからの次の書込要求を受付ける(ステップS400)。   If it is writable (Ready state), the data received from the host system is written into the multilevel flash memory corresponding to the device number (step S404). Then, the next write request from the host system is accepted (step S400).

書込不可(Busy状態)であれば、デバイス番号が最大値“N”に達したか否かを判断する(ステップS405)。デバイス番号がNより小さければ、デバイス番号を“1”インクリメントする処理に移る(ステップS402)。デバイス番号が“N”である場合には、デバイス番号を初期化“0”する処理に移る(ステップS401)。このようにして、搭載される複数の多値フラッシュメモリのうち、書込可能なフラッシュメモリにデータを順次書込んでいく。   If writing is not possible (Busy state), it is determined whether or not the device number has reached the maximum value “N” (step S405). If the device number is smaller than N, the process proceeds to a process of incrementing the device number by “1” (step S402). If the device number is “N”, the process proceeds to processing for initializing the device number to “0” (step S401). In this way, data is sequentially written into a writable flash memory among a plurality of mounted multi-value flash memories.

一方、データ記憶システム4000によると、図37に示される手順で書込みが実行される。なお、データ記憶システム4000が、N個の多値フラッシュメモリと1個の2値フラッシュメモリとを搭載しているものとする。N個の多値フラッシュメモリのそれぞれにデバイス番号1〜Nを、2値フラッシュメモリにデバイス番号(N+1)を割当てる。   On the other hand, according to the data storage system 4000, writing is executed according to the procedure shown in FIG. It is assumed that the data storage system 4000 is equipped with N multi-value flash memories and one binary flash memory. Device numbers 1 to N are assigned to each of the N multilevel flash memories, and a device number (N + 1) is assigned to the binary flash memory.

ホストシステム4100から書込要求があると(ステップS410)、書込対象となるデバイス番号を初期化“0”する(ステップS411)。続いて、デバイス番号を“1”インクリメントする(ステップS412)。対応する多値フラッシュメモリの信号R/Bに応じて、書込可能であるか(Ready状態)か、書込不可である(Busy状態)かを判断する(ステップS413)。   When there is a write request from the host system 4100 (step S410), the device number to be written is initialized to “0” (step S411). Subsequently, the device number is incremented by “1” (step S412). It is determined whether writing is possible (Ready state) or writing is impossible (Busy state) in accordance with the signal R / B of the corresponding multilevel flash memory (Step S413).

書込可能(ReadY状態)であれば、デバイス番号に対応するフラッシュメモリにデータを書込む(ステップS414)。そして、ホストシステム4100からの次の書込要求を受付ける(ステップS410)。   If it is writable (ReadY state), data is written into the flash memory corresponding to the device number (step S414). Then, the next write request from the host system 4100 is accepted (step S410).

書込不可(Busy状態)であれば、デバイス番号が最大値“N+1”に達したか否かを判断する(ステップS415)。デバイス番号が“N+1”より小さければ、デバイス番号を“1”インクリメントする処理に移る(ステップS412)。   If writing is not possible (Busy state), it is determined whether or not the device number has reached the maximum value “N + 1” (step S415). If the device number is smaller than “N + 1”, the process proceeds to a process of incrementing the device number by “1” (step S412).

デバイス番号が“N+1”である場合には、対応するフラッシュメモリ(2値フラッシュメモリ)がReady状態かBusy状態であるかを判断する処理に移る(ステップS413)。   When the device number is “N + 1”, the process proceeds to processing for determining whether the corresponding flash memory (binary flash memory) is in the Ready state or the Busy state (step S413).

すなわち、システムコントローラ400は、フラッシュメモリの状態(R/B)をモニタして、Ready状態の多値フラッシュメモリからデータの書込みを行なうよう制御する。そして、すべての多値フラッシュメモリがBusy状態になると、2値フラッシュメモリにデータを書込むように制御する。この動作により、データ記憶システム4000に、大容量のデータを格納することができる。   That is, the system controller 400 monitors the state (R / B) of the flash memory and controls to write data from the multi-value flash memory in the Ready state. Then, when all the multi-level flash memories are in the Busy state, control is performed so that data is written to the binary flash memory. With this operation, a large amount of data can be stored in the data storage system 4000.

システムコントローラ400によるフラッシュメモリへの書込制御の第2例について、図38を用いて説明する。図38を参照して、ホストシステム4100からの書込要求があるか否かを判断する(ステップS420)。書込要求がある場合には、後述するデータの大きさによる書込制御処理(ステップS421)に移る。   A second example of writing control to the flash memory by the system controller 400 will be described with reference to FIG. Referring to FIG. 38, it is determined whether or not there is a write request from host system 4100 (step S420). If there is a write request, the process proceeds to a write control process (step S421) based on the data size described later.

書込要求が無い場合、2値フラッシュメモリ102に高速書込要求時のユーザデータが書込まれているか否かを判断する(ステップS422)。2値フラッシュメモリ102に高速書込要求時のユーザデータが無いときには、処理を行なわない(ステップS423)。2値フラッシュメモリ102に高速書込要求時のユーザデータが書込まれているときには、2値フラッシュメモリ102の当該データをバッファ402に転送させる(ステップS424)。   If there is no write request, it is determined whether or not the user data at the time of the high-speed write request is written in the binary flash memory 102 (step S422). If there is no user data at the time of the high-speed write request in the binary flash memory 102, the processing is not performed (step S423). When the user data at the time of the high-speed write request is written in the binary flash memory 102, the data in the binary flash memory 102 is transferred to the buffer 402 (step S424).

バッファ402を介して、多値フラッシュメモリに当該データを書込む(ステップS425)。そして、ホストシステム4100の次の書込要求を判断する処理に移る(ステップS420)。   The data is written to the multi-value flash memory via the buffer 402 (step S425). Then, the process proceeds to processing for determining the next write request of the host system 4100 (step S420).

すなわち、ホストシステム4100から書込要求が無いときには、2値フラッシュメモリ102に書込まれた高速書込要求時のユーザデータを多値フラッシュメモリに移し替える。これにより、高速書込と大容量とを両立させることができる。   That is, when there is no write request from the host system 4100, the user data at the time of the high-speed write request written in the binary flash memory 102 is transferred to the multi-level flash memory. Thereby, both high-speed writing and large capacity can be achieved.

書込データの大きさによる書込制御処理(ステップS421)について、図39を用いて説明する。ホストシステム4100からの書込み要求があると(ステップS430)、カウンタ/タイマ401の出力に基づき、一定時間の大きさ(基準値)の書込データがあるか否かを判断する。書込データの大きさが基準値以内の場合、書込対象とするデバイス番号を初期化“0”する(ステップS432)。続いて、デバイス番号を“1”インクリメントして(ステップS433)、対応するフラッシュメモリのReady/Busy状態を判定する処理に移る(ステップS435)。   The write control process (step S421) based on the size of the write data will be described with reference to FIG. When there is a write request from the host system 4100 (step S430), based on the output of the counter / timer 401, it is determined whether or not there is write data of a certain time (reference value). If the size of the write data is within the reference value, the device number to be written is initialized to “0” (step S432). Subsequently, the device number is incremented by “1” (step S433), and the process proceeds to processing for determining the ready / busy state of the corresponding flash memory (step S435).

書込データの大きさが基準値以上の場合、デバイス番号を“N+1”にして(ステップS434)、対応する2値フラッシュメモリのReady/Busy状態を判定する処理に移る(ステップS435)。   If the size of the write data is greater than or equal to the reference value, the device number is set to “N + 1” (step S434), and the process proceeds to processing for determining the ready / busy state of the corresponding binary flash memory (step S435).

対応するフラッシュメモリがReady状態であるならば、当該フラッシュメモリにデータを書込む(ステップS436)。そして、ホストシステム4100からの次の書込要求を受付ける(ステップS430)。   If the corresponding flash memory is in the Ready state, data is written to the flash memory (step S436). Then, the next write request from the host system 4100 is accepted (step S430).

対応するフラッシュメモリがBusy状態の場合、デバイス番号が最大値“N+1”に達したか否かを判断する(ステップS437)。デバイス番号が“N+1”より小さければ、デバイス番号を“1”インクリメントする処理に移る(ステップS433)。   If the corresponding flash memory is in the Busy state, it is determined whether or not the device number has reached the maximum value “N + 1” (step S437). If the device number is smaller than “N + 1”, the process proceeds to a process of incrementing the device number by “1” (step S433).

デバイス番号が“N+1”の場合、対応するフラッシュメモリ(2値フラッシュメモリ)がReady状態かBusy状態であるかを判断する処理に移る(ステップS435)。   If the device number is “N + 1”, the process proceeds to processing for determining whether the corresponding flash memory (binary flash memory) is in the Ready state or the Busy state (step S435).

すなわち、システムコントローラ400は、データが大きい場合には高速なデータの書込が要求されていると判断して、高速動作が可能な2値フラッシュメモリに当該データを書込む。   That is, the system controller 400 determines that high-speed data writing is requested when the data is large, and writes the data to the binary flash memory capable of high-speed operation.

次に、システムコントローラ400によるフラッシュメモリの読出制御例について、図40を用いて説明する。ホストシステム4100からの読出要求があると(ステップS450)、フラッシュメモリに格納される対応するデータがバッファ402に転送される(ステップS451)。   Next, an example of flash memory read control by the system controller 400 will be described with reference to FIG. When there is a read request from the host system 4100 (step S450), the corresponding data stored in the flash memory is transferred to the buffer 402 (step S451).

バッファ402に転送されたデータが、多値フラッシュメモリから読出された多値データであるか否かを判断する(ステップS452)。   It is determined whether the data transferred to the buffer 402 is multilevel data read from the multilevel flash memory (step S452).

データが2値フラッシュメモリから読出された場合、エラー訂正回路404におけるエラー訂正処理を行なわず、バッファ402からホストシステム4100へデータを転送する処理に移る(ステップS456)。   If the data is read from the binary flash memory, the error correction process in the error correction circuit 404 is not performed, and the process proceeds to a process of transferring data from the buffer 402 to the host system 4100 (step S456).

データが多値フラッシュメモリから読出された場合、バッファ402に転送されたデータをエラー訂正回路404に送る(ステップS453)。エラー訂正回路404においてエラー訂正処理が実施される(ステップS454)。エラー訂正後のデータは、バッファ402に格納する(ステップS455)。そして、バッファ402からホストシステム4100へデータを転送する処理に移る(ステップS456)。   When the data is read from the multilevel flash memory, the data transferred to the buffer 402 is sent to the error correction circuit 404 (step S453). Error correction processing is performed in the error correction circuit 404 (step S454). The data after error correction is stored in the buffer 402 (step S455). Then, the process proceeds to a process of transferring data from the buffer 402 to the host system 4100 (step S456).

すなわち、2値フラッシュメモリへの書込み時には、誤り訂正符号を付けず、多値フラッシュメモリへの書込み時には、誤り訂正符号を付加しておく。そして、ホストシステム4100からのデータ読出要求に対し、高信頼性の2値フラッシュメモリからデータを読出した場合には、エラー訂正を行なわず、多値フラッシュメモリからデータを読出した場合には、エラー訂正を行なってからホストシステム4100にデータを転送するよう制御する。これにより、高速動作を実現することができる。   That is, no error correction code is added when writing to the binary flash memory, and an error correction code is added when writing to the multilevel flash memory. In response to a data read request from the host system 4100, when data is read from the high-reliability binary flash memory, error correction is not performed, and when data is read from the multi-value flash memory, an error occurs. Control is performed so that data is transferred to the host system 4100 after correction. As a result, high-speed operation can be realized.

[実施の形態5]
本発明の実施の形態5によるデータ記憶システム5000について、図41を用いて説明する。データ記憶システム5000は、図41に示されるように、多値/2値フラッシュメモリ100A、100Bおよび100C、ならびにシステムコントローラ400を含む。多値/2値フラッシュメモリ100A〜100Cは、実施の形態1、2または3で説明した構成を有し、メモリセルに2値データまたは多値データを記憶させることができる。
[Embodiment 5]
A data storage system 5000 according to the fifth embodiment of the present invention will be described with reference to FIG. Data storage system 5000 includes multi-value / binary flash memories 100A, 100B and 100C, and system controller 400, as shown in FIG. The multi-value / binary flash memories 100A to 100C have the configuration described in the first, second, or third embodiment, and can store binary data or multi-value data in a memory cell.

実施の形態5による構成の場合、図42に示されるように、フラッシュメモリ100A、100Bに、ユーザデータを多値データで、高速書込要求時のユーザデータを2値データで書込み、フラッシュメモリ100Cに、ユーザデータを多値データで、高速書込要求時のユーザデータ、データ記憶システムを駆動するためのソフトウェアおよびFAT情報(フラッシュメモリのアドレスとデータ記憶システム5000におけるアドレスとの対応を示すファイル情報)を2値データで書込むことができる。   In the case of the configuration according to the fifth embodiment, as shown in FIG. 42, the user data is written to the flash memories 100A and 100B as multi-value data, and the user data at the time of the high-speed write request is written as binary data. In addition, the user data is multi-value data, user data at the time of a high-speed write request, software for driving the data storage system, and FAT information (file information indicating correspondence between the address of the flash memory and the address in the data storage system 5000) ) Can be written as binary data.

システムコントローラ400は、ホストシステム4100から受ける書込みデータの種類に応じて、多値で記憶させるか2値で記憶させるかを制御する。また、システムコントローラ400は、データの種類に応じて、エラー訂正を行なう否かを制御することも可能である。   The system controller 400 controls whether to store multiple values or binary values depending on the type of write data received from the host system 4100. The system controller 400 can also control whether or not to perform error correction according to the type of data.

また、書込要求が無い場合、フラッシュメモリに高速書込要求時のユーザデータ(2値データ)が書込まれているときには、当該データをバッファ402に転送させ、バッファ402を介して、多値の状態で当該データを記憶させることも可能である。   Further, when there is no write request, when the user data (binary data) at the time of the high-speed write request is written in the flash memory, the data is transferred to the buffer 402, and the multi-value is transmitted via the buffer 402. It is also possible to store the data in this state.

実施の形態4の場合、2値フラッシュメモリ102に未使用領域が多く残っているにもかかわらず多値フラッシュメモリには未使用領域が無くなり、または、多値フラッシュメモリに未使用領域が多く残っているにもかかわらず2値フラッシュメモリ102には未使用領域が無くなることもあり得る。   In the case of the fourth embodiment, although there are many unused areas remaining in the binary flash memory 102, there are no unused areas in the multilevel flash memory, or many unused areas remain in the multilevel flash memory. In spite of this, there may be no unused area in the binary flash memory 102.

そこで、本発明の実施の形態5では、多値データ/2値データを書込み、書込んだ多値データ/値データを読出すことができるフラッシュメモリを配置する。これにより、メモリ空間を有効に使用しつつ、信頼性の高いかつ高速動作が行なうことが可能になる。   Therefore, in the fifth embodiment of the present invention, a flash memory is provided in which multi-value data / binary data can be written and the written multi-value data / value data can be read. This makes it possible to perform a highly reliable and high-speed operation while effectively using the memory space.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is shown not by the above description of the embodiments but by the scope of claims for patent, and is intended to include meanings equivalent to the scope of claims for patent and all modifications within the scope.

本発明の実施の形態1によるフラッシュメモリ1000の全体構成の概要を示すブロック図である。1 is a block diagram showing an outline of an overall configuration of a flash memory 1000 according to Embodiment 1 of the present invention. FIG. フラッシュメモリ1000の主要部の構成を示す回路図である。2 is a circuit diagram showing a configuration of a main part of a flash memory 1000. FIG. 信号処理回路25の構成について説明するための回路図である。3 is a circuit diagram for explaining a configuration of a signal processing circuit 25. FIG. (A)〜(C)は、選択プリチャージ処理・選択ディスチャージ処理・センス処理における信号の状態を示す図である。(A)-(C) is a figure which shows the state of the signal in a selection precharge process, a selection discharge process, and a sense process. 多値フラッシュメモリの読出動作時におけるワード線電圧を示す図である。It is a figure which shows the word line voltage at the time of read-out operation | movement of a multilevel flash memory. (A)〜(C)は、多値フラッシュメモリにおける読出シーケンス(READ1〜READ3)を示す図である。(A)-(C) is a figure which shows the reading sequence (READ1-READ3) in a multi-value flash memory. (A)および(B)は、多値フラッシュメモリにおける読出シーケンスを示す図である。(A) and (B) are diagrams showing a read sequence in the multi-level flash memory. 多値フラッシュメモリの読出動作時におけるデータとセンスラッチの値との関係を示す図である。It is a figure which shows the relationship between the data at the time of read-out operation | movement of a multilevel flash memory, and the value of a sense latch. フラッシュメモリ1000の多値データ読出動作時におけるワード線電圧を示す図である。FIG. 5 is a diagram showing a word line voltage during a multi-value data read operation of the flash memory 1000. (A)〜(C)は、フラッシュメモリ1000における多値データの読出シーケンス(READ1〜READ3)を示す図である。(A) to (C) are diagrams showing a multi-value data read sequence (READ1 to READ3) in the flash memory 1000. FIG. (A)および(B)は、フラッシュメモリ1000における多値データの読出シーケンスを示す図である。(A) and (B) are diagrams showing a multi-value data read sequence in the flash memory 1000. FIG. フラッシュメモリ1000の多値データ読出動作時におけるデータとセンスラッチの値との関係を示す図である。FIG. 6 is a diagram showing a relationship between data and a sense latch value during a multi-value data read operation of flash memory 1000. フラッシュメモリ1000の2値データ読出動作時におけるワード線電圧を示す図である。FIG. 5 is a diagram showing a word line voltage during binary data read operation of the flash memory 1000. (A)および(B)は、フラッシュメモリ1000における2値データの読出シーケンスについて説明するための図である。(A) And (B) is a figure for demonstrating the reading sequence of the binary data in the flash memory 1000. FIG. フラッシュメモリ1000の2値データ読出動作時におけるデータとセンスラッチの値との関係を示す図である。FIG. 3 is a diagram showing a relationship between data and a sense latch value during binary data read operation of flash memory 1000. 多値フラッシュメモリの書込動作時におけるワード線電圧を示す図である。It is a figure which shows the word line voltage at the time of write-in operation | movement of a multi-value flash memory. (A)〜(D)は、多値フラッシュメモリにおける書込シーケンス(PROGRAM1)について説明するための図である。(A)-(D) is a figure for demonstrating the write sequence (PROGRAM1) in a multi-value flash memory. (A)〜(D)は、多値フラッシュメモリにおける書込シーケンス(PROGRAM2)について説明するための図である。(A)-(D) is a figure for demonstrating the write sequence (PROGRAM2) in a multi-value flash memory. (A)〜(D)は、多値フラッシュメモリにおける書込シーケンス(PROGRAM3)について説明するための図である。(A)-(D) is a figure for demonstrating the write sequence (PROGRAM3) in a multi-value flash memory. 多値フラッシュメモリの書込動作時におけるデータとセンスラッチの値との関係を示す図である。It is a figure which shows the relationship between the data and the value of a sense latch at the time of write-in operation | movement of a multilevel flash memory. フラッシュメモリ1000の多値データ書込動作時におけるワード線電圧を示す図である。FIG. 5 is a diagram showing a word line voltage during a multi-value data write operation of the flash memory 1000. (A)〜(D)は、フラッシュメモリ1000における多値データの書込シーケンス(PROGRAM1)を示す図である。(A)-(D) is a figure which shows the write sequence (PROGRAM1) of the multi-value data in the flash memory 1000. FIG. フラッシュメモリ1000の多値データ書込動作時におけるデータとセンスラッチの値との関係を示す図である。6 is a diagram showing a relationship between data and a value of a sense latch during a multi-value data write operation of flash memory 1000. FIG. フラッシュメモリ1000の2値データ書込動作時におけるワード線電圧を示す図である。FIG. 5 is a diagram showing a word line voltage during binary data write operation of the flash memory 1000. (A)〜(C)は、フラッシュメモリ1000における2値データの書込シーケンス(PROGRAM1)を示す図である。(A)-(C) is a figure which shows the write-in sequence (PROGRAM1) of the binary data in the flash memory 1000. FIG. フラッシュメモリ1000の2値データ書込動作時におけるデータとセンスラッチの値との関係を示す図である。6 is a diagram showing a relationship between data and a value of a sense latch during binary data write operation of flash memory 1000. FIG. (A)〜(D)は、フラッシュメモリ1000の書込/消去/読出時における電圧関係を説明するための図である。(A)-(D) is a figure for demonstrating the voltage relationship at the time of writing / erasing / reading of the flash memory 1000. FIG. 本発明の実施の形態2によるフラッシュメモリの2値データ読出時におけるワード線電圧を示す図である。It is a figure which shows the word line voltage at the time of the binary data read of the flash memory by Embodiment 2 of this invention. (A)〜(E)は、本発明の実施の形態2によるフラッシュメモリにおける2値データの読出シーケンスを示す図である。(A)-(E) are figures which show the reading sequence of the binary data in the flash memory by Embodiment 2 of this invention. (A)〜(D)は、本発明の実施の形態2における00レベル検出処理の内容を示す図である。(A)-(D) are the figures which show the content of the 00 level detection process in Embodiment 2 of this invention. (A)〜(C)は、本発明の実施の形態2における10レベル検出処理の内容を示す図である。(A)-(C) are the figures which show the content of the 10 level detection process in Embodiment 2 of this invention. 2値データ読出動作時におけるデータとセンスラッチの値との関係を示す図である。It is a figure which shows the relationship between the data at the time of binary data read-out operation | movement, and the value of a sense latch. 全ラッチ判定回路200の構成を示す回路図である。2 is a circuit diagram showing a configuration of an all latch determination circuit 200. FIG. 本発明の実施の形態4によるデータ記憶システム4000について説明するための図である。It is a figure for demonstrating the data storage system 4000 by Embodiment 4 of this invention. データ記憶システム4000におけるアドレス空間上のデータ配置例を示す図である。6 is a diagram illustrating an example of data arrangement on an address space in the data storage system 4000. FIG. 多値フラッシュメモリのみを複数個配置したデータ記憶システムにおける書込制御を示すフローチャートである。It is a flowchart which shows the write-in control in the data storage system which has arrange | positioned only multiple multi-value flash memories. データ記憶システム4000における第1の書込制御を示すフローチャートである。12 is a flowchart showing first write control in the data storage system 4000. データ記憶システム4000における第2の書込制御を示すフローチャートである。10 is a flowchart showing second write control in data storage system 4000. データ記憶システム4000における書込データの大きさによる書込制御処理を示すフローチャートである。10 is a flowchart showing a write control process according to the size of write data in the data storage system 4000. データ記憶システム4000における読出制御を示すフローチャートである。10 is a flowchart showing read control in the data storage system 4000. 本発明の実施の形態5によるデータ記憶システム5000について説明するための図である。It is a figure for demonstrating the data storage system 5000 by Embodiment 5 of this invention. データ記憶システム5000におけるアドレス空間上のデータ配置例を示す図である。6 is a diagram showing an example of data arrangement on an address space in the data storage system 5000. FIG. 多値データと2値データとの関係を示す図である。It is a figure which shows the relationship between multi-value data and binary data. 不揮発性メモリセルにおける多値データと2値データとの関係を示す図である。It is a figure which shows the relationship between multi-value data and binary data in a non-volatile memory cell.

符号の説明Explanation of symbols

1,2 データラッチ、3♯1,3♯2 センスラッチ、11 入出力バッファ、12 アドレスデコーダ、13 コマンドデコーダ、14A,14B Xデコーダ、15A,15B 多値フラグ部、16 制御用CPU、17 ベリファイ回路、18 ステータスレジスタ、19,20 Yデコーダ/データラッチ、21 Yデコーダ/センスラッチ、22 多値フラグセンスラッチ部、25 信号処理部、100A〜100C 多値/2値フラッシュメモリ、102 2値フラッシュメモリ、104A,104B 多値フラッシュメモリ、400 システムコントローラ、401 カウンタ/タイマ、402 バッファ、403 コントローラ、404 エラー訂正回路、1000 フラッシュメモリ、4000 データ記憶システム、4100 ホストシステム、MA,MB メモリセルアレイ、M メモリセル、MF 多値フラグ。   1, 2 Data latch, 3 # 1, 3 # 2 Sense latch, 11 Input / output buffer, 12 Address decoder, 13 Command decoder, 14A, 14B X decoder, 15A, 15B Multi-level flag section, 16 Control CPU, 17 Verify Circuit, 18 status register, 19, 20 Y decoder / data latch, 21 Y decoder / sense latch, 22 multi-level flag sense latch unit, 25 signal processing unit, 100A to 100C multi-level / binary flash memory, 102 binary flash Memory, 104A, 104B Multi-level flash memory, 400 system controller, 401 counter / timer, 402 buffer, 403 controller, 404 error correction circuit, 1000 flash memory, 4000 data storage system, 4100 host Stem, MA, MB memory cell array, M memory cells, MF multivalued flag.

Claims (7)

第1特性を有する複数の第1不揮発性半導体メモリと、前記第1特性と異なる第2特性を有する少なくとも1つの第2不揮発性半導体メモリとを含むメモリ領域と、
外部とデータの授受を行ない、前記メモリ領域におけるデータの書込および前記メモリ領域からのデータの読出を行なうための制御装置とを備え、
前記制御装置は、
前記複数の第1不揮発性半導体メモリのうちの少なくとも1つが前記制御装置からのコマンドを受領することが可能な第1状態では、前記外部から受ける前記メモリ領域に書込むための格納データに基づいて、前記第1特性に合致した書込みが要求されている第1の場合であるか前記第2特性に合致した書込みが要求されている第2の場合であるかを判断し、前記第1の場合であると判断したときは前記第1不揮発性半導体メモリに前記格納データを書込み、前記第2の場合であると判断したときは前記第2不揮発性半導体メモリに前記格納データを書込み、
前記複数の第1不揮発性半導体メモリの全てが前記制御装置からのコマンドを受領することが不可能な第2状態では、前記第2不揮発性半導体メモリがコマンドを受領可能である場合に前記第2不揮発性半導体メモリに前記格納データを書込む、データ記憶システム。
A memory region including a plurality of first nonvolatile semiconductor memories having a first characteristic and at least one second nonvolatile semiconductor memory having a second characteristic different from the first characteristic;
A controller for exchanging data with the outside and writing data in the memory area and reading data from the memory area;
The controller is
In a first state where at least one of the plurality of first non-volatile semiconductor memories can receive a command from the control device , based on stored data for writing to the memory area received from the outside , it is determined whether the write that matches the second characteristic or write is the first case that is being requested match the first characteristic is the case where the second being requested, the first case when it is determined that it is the unwritten said stored data in said second nonvolatile semiconductor memory when it is determined that the write data stored, the second case the first non-volatile semiconductor memory,
In a second state in which all of the plurality of first nonvolatile semiconductor memories cannot receive a command from the control device, the second nonvolatile semiconductor memory can receive the command when the second nonvolatile semiconductor memory can receive the command. writing the stored data in the nonvolatile semiconductor memory free, the data storage system.
前記第1特性とは、
所定の信頼性でデータを記憶し、かつ所定の処理速度で動作することができる特性であって、
前記第2特性とは、
前記第1特性よりも相対的に高い信頼性でデータを記憶することができ、かつ前記第1特性よりも高速に動作することができる特性である、請求項1に記載のデータ記憶システム。
The first characteristic is
It is a characteristic that can store data with a predetermined reliability and operate at a predetermined processing speed,
The second characteristic is
The data storage system according to claim 1, wherein the data storage system is a characteristic that can store data with higher reliability than the first characteristic and can operate at a higher speed than the first characteristic.
前記第1不揮発性半導体メモリは、
各々が2ビット以上のデータを記憶する複数の多値データ用メモリセルを含み、
前記第2不揮発性半導体メモリは、
各々が1ビットのデータを記憶する複数のメモリセルを含む、請求項2に記載のデータ記憶システム。
The first nonvolatile semiconductor memory is
A plurality of multi-value data memory cells each storing two or more bits of data;
The second nonvolatile semiconductor memory is
The data storage system of claim 2, comprising a plurality of memory cells each storing one bit of data.
前記制御装置は、
一定期間内に、前記外部から受ける格納データの大きさを測定する測定回路をさらに含み
前記測定回路の測定結果に基づいて、前記格納データの大きさが基準値以下であるときは前記第1の場合であると判断して前記第1不揮発性半導体メモリに前記格納データを書込み、前記格納データの大きさが前記基準値を超えるときは前記第2の場合であると判断して前記第2不揮発性半導体メモリに前記格納データを書込む、請求項2に記載のデータ記憶システム。
The controller is
A measurement circuit for measuring the size of stored data received from the outside within a predetermined period;
Based on the measurement result of the measurement circuit, when the size of the stored data is less than or equal to a reference value, it is determined that it is the first case, and the stored data is written to the first nonvolatile semiconductor memory, said storage data writing free on the second non-volatile semiconductor memory when the size of the stored data exceeds the reference value it is determined that the case of the second data storage system of claim 2.
前記制御装置は、
前記外部との間でデータの授受が無いことに応じて、前記第2状態において前記第2不揮発性半導体メモリに既に書込んだデータを前記第1不揮発性半導体メモリに転送する、請求項2に記載のデータ記憶システム。
The controller is
The data already written in the second nonvolatile semiconductor memory in the second state is transferred to the first nonvolatile semiconductor memory in response to the absence of data exchange with the outside. The data storage system described.
前記制御装置は、
前記格納データが前記メモリ領域を管理するための管理データであるときは前記第2の場合であると判断して、前記管理データを前記第2不揮発性半導体メモリに書込む、請求項2に記載のデータ記憶システム。
The controller is
3. The management data for managing the memory area is determined to be the second case when the stored data is management data for managing the memory area, and the management data is written to the second nonvolatile semiconductor memory. Data storage system.
前記制御装置は、
データに誤り検出符号を付加する誤り訂正回路をさらに含み、
前記第1不揮発性半導体メモリに前記格納データを書込む際には、前記格納データに前記誤り検出符号を付加して書込みを行ない、前記第2不揮発性半導体メモリに前記格納データを書込む際には、前記格納データに前記誤り検出符号を付加せずに書込みを行なう、請求項2に記載のデータ記憶システム。
The controller is
An error correction circuit for adding an error detection code to the data ;
When writing the stored data to the first nonvolatile semiconductor memory, the error detection code is added to the stored data and writing is performed, and when the stored data is written to the second nonvolatile semiconductor memory The data storage system according to claim 2, wherein writing is performed without adding the error detection code to the stored data.
JP2008316900A 2008-12-12 2008-12-12 Data storage system Expired - Fee Related JP4916504B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008316900A JP4916504B2 (en) 2008-12-12 2008-12-12 Data storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008316900A JP4916504B2 (en) 2008-12-12 2008-12-12 Data storage system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000014557A Division JP4282197B2 (en) 2000-01-24 2000-01-24 Nonvolatile semiconductor memory device

Publications (2)

Publication Number Publication Date
JP2009064468A JP2009064468A (en) 2009-03-26
JP4916504B2 true JP4916504B2 (en) 2012-04-11

Family

ID=40558941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008316900A Expired - Fee Related JP4916504B2 (en) 2008-12-12 2008-12-12 Data storage system

Country Status (1)

Country Link
JP (1) JP4916504B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222974A (en) * 1993-01-26 1994-08-12 Nippon Steel Corp Semiconductor storage device
JPH1131102A (en) * 1997-07-14 1999-02-02 Toshiba Corp Data storage system and access control method applied to the system
JPH11176178A (en) * 1997-12-15 1999-07-02 Sony Corp Non-volatile semiconductor storage and ic memory card using it
JP2000173281A (en) * 1998-12-04 2000-06-23 Sony Corp Semiconductor memory

Also Published As

Publication number Publication date
JP2009064468A (en) 2009-03-26

Similar Documents

Publication Publication Date Title
JP4282197B2 (en) Nonvolatile semiconductor memory device
KR101098656B1 (en) Semiconductor memory device and method of reading the same
US7917685B2 (en) Method for reading a multilevel cell in a non-volatile memory device
US5751634A (en) Non-volatile semiconductor memory device for storing multivalue data and readout/write-in method therefor
CN102063930B (en) Semiconductor integrated circuit
US7586784B2 (en) Apparatus and methods for programming multilevel-cell NAND memory devices
KR100551646B1 (en) Semiconductor memory device having page copying function
US8605512B2 (en) Nonvolatile semiconductor memory device and method of operating a nonvolatile memory device
US7619920B2 (en) NAND type flash memory and write method of the same
JP4746658B2 (en) Semiconductor memory system
US7898866B2 (en) Nonvolatile memory device and method of operating the same
US8036034B2 (en) Semiconductor storage device equipped with a sense amplifier for reading data and threshold-voltage-information data
JP2010134992A (en) Nonvolatile semiconductor memory unit and method for writing into the same
US10698617B2 (en) Memory system
JP4040215B2 (en) Control method for nonvolatile semiconductor memory
JPH10233096A (en) Nonvolatile semiconductor storage and read-out method
JP4916504B2 (en) Data storage system
US20130024606A1 (en) Nonvolatile semiconductor memory device
KR20020081925A (en) Nonvolatile semiconductor memory device with a page copy flag cell array
JP2008234714A (en) Write control method of nonvolatile semiconductor storage device and memory system
JP2006209963A (en) Semiconductor storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

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: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120124

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

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees