JP4916504B2 - Data storage system - Google Patents
Data storage system Download PDFInfo
- 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
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
図1を参照して、フラッシュメモリ1000は、外部との間で信号の授受を行なうための複数のピン、複数のピンに対応して設けられる入出力バッファ11、入出力バッファ11から出力される内部アドレス信号をデコードするアドレスデコーダ12、入出力バッファ11から出力される内部制御信号をデコードしてコマンドを発行するコマンドデコーダ13、ならびに行列状に配置される複数の不揮発性メモリセルを含むメモリセルアレイMAおよびMBを備える。
Referring to FIG. 1,
複数のピンは、メモリが動作中であるか(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
外部から受けるコマンドにより、メモリセルにデータを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
読出/書込は、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
多値フラグ部15A、15Bには、後述するように、メモリセルに2値データを記憶したか多値データを記憶したかを示す値を格納する。多値フラグ部15A、15Bへのデータの書込(多値なら“0”、2値なら“1”)、多値フラグ部15A、15Bのデータの読出は、制御用CPU16で制御する。多値フラグ部15A、5Bのデータは、後述するようにメモリセルからのデータの読出と同じ手順で読出す。
As will be described later, the
図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を駆動する。
多値フラグ部15Aおよび15Bのそれぞれは、多値フラグMFを含む。多値フラグMFは、メモリセルM(不揮発性メモリセル)と同じ構造を有する。図においては、ワード線WL00、WL01、WL10およびWL11のそれぞれ接続される4つの多値フラグMFが示されている。多値フラグMFは、セクタまたはページ単位で配置される。多値フラグMFは、ビット線方向に配置される配線(ビット線BL0と称す)で多値フラグセンスラッチ部22と接続されている。多値フラグMFは、同一ワード線に接続されるメモリセルMに2値でデータを書込んだか、多値でデータを書込んだかを示す値を記憶する。
Each of the
Yデコーダ/データラッチ21は、ビット線に対応して設けられるセンスラッチ3♯1を含む。センスラッチ3♯1は、インバータV2aおよびインバータV2bで構成される。
Y decoder /
Yデコーダ/データラッチ19は、ビット線に対応して配置されるデータラッチ1を含む。データラッチ1は、インバータV3aおよびインバータV3bで構成される。Yデコーダ/データラッチ20は、ビット線に対応して配置されるデータラッチ2を含む。データラッチ2は、インバータV4aおよびインバータV4bで構成される。
Y decoder /
一本のワード線に接続されるメモリセルのドレインのそれぞれは、互いに異なるセンスラッチとデータラッチとに電気的に接続されている。 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
多値フラグセンスラッチ部22は、インバータV5aおよびV5bで構成されるセンスラッチ3♯2を含む。センスラッチ3♯1および3♯2を総称的に、センスラッチ3と記す。
Multi-level flag
各ラッチ(データラッチ、センスラッチ)とビット線との間には、信号処理回路25が配置される。
A
信号処理回路25は、図3に示されるように、NMOSトランジスタT1、T2およびT3を含む。なお、図3において、ラッチLは、データラッチ、センスラッチのいずれかを示している。
As shown in FIG. 3, the
トランジスタ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
選択プリチャージ処理では、図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
選択ディスチャージ処理では、図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
データの書込時、図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
図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
データの一括消去時には、図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
データの読出時、図27(D)に示されるように、ワード線を介してコントロールゲート層9に正の電圧(たとえば、3V)を、ソース領域6およびドレイン領域7に0Vを印加する。そして、メモリセルに電流が流れるか否かをセンスラッチを用いて判定する。
When data is read, a positive voltage (for example, 3 V) is applied to control
次に、フラッシュメモリ1000におけるデータの読出シーケンスの詳細について、多値データのみを記憶する多値フラッシュメモリと比較しながら説明する。
Next, details of the data reading sequence in the
多値フラッシュメモリでは、図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
図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
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
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
次に、演算処理を行なう(図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
次に、出力処理を行なう(図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
なお、データ(3回の読出後のデータラッチの値)と各動作によりセンスラッチ3にラッチされる値との関係は、図8に示されるようになる。
The relationship between the data (value of the data latch after three readings) and the value latched in the
これに対し、フラッシュメモリ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
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
多値フラグMFのデータが“0”であるため、制御用CPU16は、多値データ読出用のシーケンスを実行する。センスラッチ3♯1からデータラッチ2にメモリセルMの反転データを転送する(転送処理)。
Since the data of the multi-value flag MF is “0”, the
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
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
次に、演算処理を行なう(図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
次に、出力処理を行なう(図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
なお、データ(3回の読出動作の後のデータラッチの値)と各動作によりセンスラッチ3にラッチされる値との関係は、図12に示されるようになる。
The relationship between the data (value of the data latch after three read operations) and the value latched in the
2値データの読出時には、フラッシュメモリ1000は、図13〜図14に示される2値データの読出シーケンスを実行する。制御用CPU16は、1回目の読出動作(READ1)で読出された多値フラグMFのデータが“1”であるならば、図13に示されるように、READ1で読出動作を終了する。
At the time of reading binary data, the
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
多値フラグMFのデータが“1”であるため、制御用CPU16は、2値データ読出用のシーケンスを実行するように制御する。センスラッチ3♯1からデータラッチ2にデータを転送する(転送処理)。データラッチ2に、読出したデータの反転データがラッチされる。
Since the data of the multilevel flag MF is “1”, the
次に、出力処理を行なう(図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
次にフラッシュメモリ1000へのデータの書込シーケンスについて、多値データのみを記憶する多値フラッシュメモリと比較しながら説明する。
Next, a data write sequence to the
多値フラッシュメモリでは、図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
図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
図17(B)を参照して、データラッチ2とセンスラッチ3との間のビット線をすべてプリチャージする(“1”)。図17(C)を参照して、当該ビット線に対して、データラッチ2に基づき選択ディスチャージ処理を、センスラッチ3に基づき選択ディスチャージ処理を行なう。
Referring to FIG. 17B, all the bit lines between
次に、図17(D)を参照して、センスラッチ3でセンス処理を行なう。センスラッチ3に、当該ビット線の電位に対応するデータ(“1”、“0”、“0”、“0”)および反転データがラッチされる。“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“01”が書込まれる。
Next, referring to FIG. 17D, the
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
PROGRAM3の処理は、図19(A)〜(D)に示されるとおりである。図19(A)を参照して、データラッチ1からセンスラッチ3にデータを転送する(転送処理)。図19(B)を参照して、センスラッチ3とデータラッチ1との間のビット線をすべてプリチャージ(“1”)する。図19(C)を参照して、当該ビット線に対して、センスラッチ3に基づき選択ディスチャージ処理を、データラッチ1に基づき選択ディスチャージ処理を行なう。
The processing of
次に、図19(D)を参照して、センスラッチ3でセンス処理を行なう。センスラッチ3に、当該ビット線の電位に対応するデータ(“0”、“0”、“1”、“0”)および反転データがラッチされる。“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“10”が書込まれる。
Next, referring to FIG. 19D, the
なお、データ(データロード後のデータラッチの値)と各動作でセンスラッチ3にラッチされる値との関係は、図20に示されるようになる。
The relationship between the data (value of the data latch after data loading) and the value latched in the
これに対し、フラッシュメモリ1000は、多値データの書込時には、図21〜図23に示される書込シーケンスを実行する。
On the other hand,
図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
同時に、メモリセルアレイMA側の多値フラグMFに“0”を書込むため、センスラッチ3♯2のメモリセルアレイMA側に“0”を格納する。
At the same time, “0” is written to the memory cell array MA side of the
図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
図22(D)を参照して、センスラッチ3♯1でセンス処理を行なう。センスラッチ3♯1に、当該ビット線の電位に対応するデータ(“1”、“0”、“0”、“0”)および反転データがラッチされる。“0”をラッチしたセンスラッチに接続されるメモリセルMにデータ“01”が書込まれる。
Referring to FIG. 22D, sense processing is performed in
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
このように、多値データの書込時には、データラッチに書込データをラッチする。そして、多値データ“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
図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
図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
データ(データロード後のデータラッチの値)と1回の書込動作でセンスラッチ3にラッチされる値との関係は、図26に示されるようになる。
The relationship between the data (value of the data latch after data loading) and the value latched in the
このように、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
[実施の形態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
警告が発生した場合、制御用CPU16は、2値データを再度書込むための制御を行なう。
When a warning occurs, the
本発明の実施の形態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
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
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
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
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
次に、演算処理を行なう(図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
次に、出力処理を行なう(図29(E)参照)。具体的には、データラッチ1でセンス処理を行なう。データラッチ1に、メモリセルアレイMAのビット線の電位に対応するデータがラッチされる(“0”、“1”、“1”、“0”)。
Next, an output process is performed (see FIG. 29E). Specifically, the
なお、データ(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
制御用CPU16は、読出したデータが2値データの場合(多値フラグMFが“1”)、00レベル検出処理および10レベル検出処理をさらに行なう。
When the read data is binary data (multi-value flag MF is “1”), the
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
第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
“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
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
続く第3処理では(図31(C)参照)、センスラッチ3♯1でセンス処理を行なう。センスラッチ3♯1に、メモリセルアレイMBのビット線の電位に対応するデータがラッチされる(“0”、“0”、“1”、“0”)。
In the subsequent third process (see FIG. 31C), the
“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
ALL判定処理を行なう全ラッチ判定回路200は、図33に示されるように、信号線Lと接地電圧を受けるノードとの間に設けれる複数のNMOSトランジスタT10、T11、T12、…、信号線Lと電源電圧を受けるノードとの間に設けられる抵抗素子R、ならびに信号線Lの信号を反転するインバータV20およびV21を含む。
As shown in FIG. 33, all latch
トランジスタ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
すべてのセンスラッチ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
このように、本発明の実施の形態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
これに対して、本発明の実施の形態3における制御用CPU16は、2値データ“0”の書込要求があった場合、メモリセルを、多値データ“11”の状態に最も近い多値データ“10”の状態に設定する(図43参照)。
On the other hand, when there is a write request for binary data “0”, the
“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
2値フラッシュメモリ102は、複数の不揮発性メモリセルを含む。2値フラッシュメモリ102に含まれるメモリセルには2値データが書込まれ、また当該メモリセルからは2値データが読出される。
The
多値フラッシュメモリ104Aおよび104Bのそれぞれは、複数の不揮発性メモリセルを含む。多値フラッシュメモリ104Aおよび104Bのそれぞれに含まれるメモリセルには多値データが書込まれ、また当該メモリセルからは多値データが読出される。
Each of
2値フラッシュメモリ102、多値フラッシュメモリ104Aおよび104Bのそれぞれは、I/Oピンからデータを入出力する。I/Oピンは、バッファ402と接続されている。
Each of the
2値フラッシュメモリ102は、R/Bピンから動作中であるか否かを示す信号R/B0を出力する。多値フラッシュメモリ104Aおよび104Bのそれぞれは、R/Bピンから動作中であるか否かを示す信号R/B1、R/B2を出力する。信号R/B0、R/B1、R/B2は、コントローラ403に入力される。
The
2値フラッシュメモリ102、多値フラッシュメモリ104Aおよび104Bのそれぞれは、コントローラ403から出力されるチップイネーブル信号を/OEピンで受けて動作する。
Each of the
カウンタ/タイマ401は、一定期間内にホストシステム4100から要求される書込データの大きさを測定する。カウンタ/タイマ401の測定結果は、コントローラ403に出力される。
The counter /
バッファ402は、ホストシステム4100から転送されるデータを取込み、またフラッシュメモリから読出されたデータを取込む。
エラー訂正回路404は、コントローラ403の制御に基づき、バッファ402に取込まれた書込データに誤り訂正検出信号を付加し、またホストシステム4100への読出データの転送時に、バッファ402に取込まれたデータに対してエラー訂正処理を行なう。
Based on the control of the
コントローラ403は、カウンタ/タイマ401の出力、信号R/B0、R/B1、R/B2をモニタして、フレッシュメモリへのデータの書込みを制御する。また、データの読出時、エラー訂正を行なうか否かを制御する。
The
図35に示されるように、データ記憶システム4000を駆動するためのソフトウェア、FAT情報(フラッシュメモリのアドレスとデータ記憶システム4000におけるアドレスとの対応を示すファイル情報)および高速書込要求時のユーザデータは、相対的に高信頼性かつ高速動作が可能なフラッシュメモリ102に書込む。これら以外のユーザデータは、多値フラッシュメモリ104Aおよび104Bに書込む。
As shown in FIG. 35, software for driving the
システムコントローラ400によるフラッシュメモリへの書込制御の第1例について、多値フラッシュメモリのみを複数個配置したデータ記憶システムと対比して説明する。
A first example of writing control to the flash memory by the
多値フラッシュメモリのみを用いる場合、図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.
続いて、デバイス番号を“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
ホストシステム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
書込不可(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
システムコントローラ400によるフラッシュメモリへの書込制御の第2例について、図38を用いて説明する。図38を参照して、ホストシステム4100からの書込要求があるか否かを判断する(ステップS420)。書込要求がある場合には、後述するデータの大きさによる書込制御処理(ステップS421)に移る。
A second example of writing control to the flash memory by the
書込要求が無い場合、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
バッファ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
書込データの大きさによる書込制御処理(ステップ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 /
書込データの大きさが基準値以上の場合、デバイス番号を“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
対応するフラッシュメモリが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
次に、システムコントローラ400によるフラッシュメモリの読出制御例について、図40を用いて説明する。ホストシステム4100からの読出要求があると(ステップS450)、フラッシュメモリに格納される対応するデータがバッファ402に転送される(ステップS451)。
Next, an example of flash memory read control by the
バッファ402に転送されたデータが、多値フラッシュメモリから読出された多値データであるか否かを判断する(ステップS452)。
It is determined whether the data transferred to the
データが2値フラッシュメモリから読出された場合、エラー訂正回路404におけるエラー訂正処理を行なわず、バッファ402からホストシステム4100へデータを転送する処理に移る(ステップS456)。
If the data is read from the binary flash memory, the error correction process in the
データが多値フラッシュメモリから読出された場合、バッファ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
すなわち、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
[実施の形態5]
本発明の実施の形態5によるデータ記憶システム5000について、図41を用いて説明する。データ記憶システム5000は、図41に示されるように、多値/2値フラッシュメモリ100A、100Bおよび100C、ならびにシステムコントローラ400を含む。多値/2値フラッシュメモリ100A〜100Cは、実施の形態1、2または3で説明した構成を有し、メモリセルに2値データまたは多値データを記憶させることができる。
[Embodiment 5]
A
実施の形態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
システムコントローラ400は、ホストシステム4100から受ける書込みデータの種類に応じて、多値で記憶させるか2値で記憶させるかを制御する。また、システムコントローラ400は、データの種類に応じて、エラー訂正を行なう否かを制御することも可能である。
The
また、書込要求が無い場合、フラッシュメモリに高速書込要求時のユーザデータ(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
実施の形態4の場合、2値フラッシュメモリ102に未使用領域が多く残っているにもかかわらず多値フラッシュメモリには未使用領域が無くなり、または、多値フラッシュメモリに未使用領域が多く残っているにもかかわらず2値フラッシュメモリ102には未使用領域が無くなることもあり得る。
In the case of the fourth embodiment, although there are many unused areas remaining in the
そこで、本発明の実施の形態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,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状態では、前記外部から受ける前記メモリ領域に書込むための格納データに基づいて、前記第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.
所定の信頼性でデータを記憶し、かつ所定の処理速度で動作することができる特性であって、
前記第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.
各々が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.
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)
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 |
-
2008
- 2008-12-12 JP JP2008316900A patent/JP4916504B2/en not_active Expired - Fee Related
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 |