JP2010055673A - Nonvolatile semiconductor memory device - Google Patents
Nonvolatile semiconductor memory device Download PDFInfo
- Publication number
- JP2010055673A JP2010055673A JP2008218153A JP2008218153A JP2010055673A JP 2010055673 A JP2010055673 A JP 2010055673A JP 2008218153 A JP2008218153 A JP 2008218153A JP 2008218153 A JP2008218153 A JP 2008218153A JP 2010055673 A JP2010055673 A JP 2010055673A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- writing
- external
- addresses
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、多値データと二値データを切替えて書込み可能な不揮発性半導体記憶装置に関する。 The present invention relates to a nonvolatile semiconductor memory device that can be written by switching between multi-value data and binary data.
近年、集積度を上げるため、MLC(Multi Level Cell)技術を用いたフラッシュメモリが量産化されている。NOR型フラッシュメモリでも同様であるが、デザインルールの微細化が進む中でMLC技術を適用するには、データの信頼性を確保するために高度な技術を要する。このような背景から、メモリ内部にECC(Error Correction code)回路を設けたMLC NOR型フラッシュメモリが登場している。 In recent years, flash memories using MLC (Multi Level Cell) technology have been mass-produced in order to increase the degree of integration. The same applies to the NOR type flash memory, but in order to apply the MLC technique as the design rule becomes finer, advanced techniques are required to ensure the reliability of the data. Against this background, an MLC NOR type flash memory in which an ECC (Error Correction code) circuit is provided inside the memory has appeared.
その一方で、フラッシュメモリにワード単位でデータを書込みたいとうユーザサイドからの要求もある。そこで、多値データの書込み機能と二値データの書込み機能を備えて、モードによって、同じメモリセル領域に多値データまたは二値データを書き込むことができるようにしたフラッシュメモリも登場している(特許文献1参照)。 On the other hand, there is a request from the user side to write data to the flash memory in units of words. Therefore, a flash memory that has a multi-value data write function and a binary data write function and can write multi-value data or binary data in the same memory cell area depending on the mode has appeared ( Patent Document 1).
しかしながら、この種の従来のメモリにおいて、二値データの書込みを行う場合、連続したアドレスをユーザが指定できないとう問題があり、飛び飛びのアドレスを指定しなければならず、プログラマの負担が大きくなり、使い勝手が悪いという問題があった。
本発明は、二値データの書込みを行う場合に、外部から連続したアドレスでメモリセルにアクセスすることが可能な不揮発性半導体記憶装置を提供するものである。 The present invention provides a nonvolatile semiconductor memory device capable of accessing memory cells with continuous addresses from the outside when binary data is written.
本発明の一態様では、データの読み書きが可能な複数のメモリセルと、前記複数のメモリセルの一部を構成する所定のセル領域ごとに、多値データの書込みと二値データの書込みのいずれを行うかを示すフラグデータを格納するフラグ格納手段と、
前記フラグデータにより前記多値データの書込みが選択された場合には、対応する前記セル領域の全域を外部アドレスによりアクセス可能とし、前記フラグデータにより前記二値データの書込みが選択された場合には、対応する前記セル領域の半分の領域を外部アドレスの連続したアドレス範囲によりアクセス可能とするアクセス範囲設定手段と、を備えることを特徴とする不揮発性半導体記憶装置が提供される。
In one embodiment of the present invention, any one of a plurality of memory cells that can read and write data and a predetermined cell region that constitutes a part of the plurality of memory cells, either multi-value data writing or binary data writing Flag storage means for storing flag data indicating whether to perform
When writing of the multi-value data is selected by the flag data, the entire corresponding cell area can be accessed by an external address, and when writing of the binary data is selected by the flag data There is provided a non-volatile semiconductor memory device comprising: an access range setting unit that makes a half of the corresponding cell region accessible by a continuous address range of external addresses.
本発明によれば、二値データの書込みを行う場合に、外部から連続したアドレスでメモリセルにアクセスすることができる。 According to the present invention, when binary data is written, a memory cell can be accessed from the outside with continuous addresses.
以下、図面を参照しながら、本発明の実施形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
本発明の実施形態に係る不揮発性半導体記憶装置は、例えばNOR型フラッシュメモリであり、多値データ(MLC)の書込み機能を備えている。多値データを書き込む場合、信頼性向上のために、パリティデータを生成するECC回路を設けて、エラー訂正を行えるようにするのが一般的である。 The nonvolatile semiconductor memory device according to the embodiment of the present invention is, for example, a NOR flash memory, and has a multi-value data (MLC) write function. When writing multi-value data, it is common to provide an ECC circuit for generating parity data so that error correction can be performed in order to improve reliability.
ECC回路で訂正可能なビットサイズは、信頼性のスペックやチップサイズから複数ワード単位で1ビット訂正が主流である。1ワード単位で1ビット訂正を行うようにすると、高信頼性は保証できるものの、膨大なチップサイズになり、現実的ではない。よって、NOR型フラッシュメモリに書き込みを行う場合、最低でもECC回路で訂正可能なワード領域を単位(以下、ECC単位またはECCセグメント)として一括書込みを行う必要がある。実際には、平均書込速度向上のため、複数のセグメントからなるECC単位での一括書込みを行うのが一般的であり、ページプログラムと呼ばれる。 As for the bit size that can be corrected by the ECC circuit, 1-bit correction is mainly performed in units of a plurality of words because of reliability specifications and chip size. If 1-bit correction is performed in units of 1 word, high reliability can be guaranteed, but the chip size becomes enormous, which is not practical. Therefore, when writing to the NOR flash memory, it is necessary to perform batch writing in units of word areas that can be corrected by the ECC circuit (hereinafter referred to as ECC units or ECC segments). Actually, in order to improve the average writing speed, it is common to perform batch writing in ECC units composed of a plurality of segments, which is called a page program.
一方、メモリのユーザ側は、ワード単位でデータを扱うことがあり、メモリの記憶領域を無駄なく使うためには、ワード単位で書込みを行う機能が必要とされる。このため、本実施形態に係るNOR型フラッシュメモリでは、MLC書込み機能の他に、二値データ(SLC:Single Level Cell)の書込み機能も備えている。SLCを利用する場合は、ECC回路は使用せず、1ワード単位での書込みが可能である。以下では、多値データの書込み機能を利用する場合をMLCモード、二値データの書込み機能を利用する場合をSLCモードと呼ぶ。 On the other hand, the user side of the memory may handle data in units of words, and in order to use the memory storage area without waste, a function for writing in units of words is required. For this reason, the NOR flash memory according to the present embodiment has a binary data (SLC: Single Level Cell) write function in addition to the MLC write function. When SLC is used, writing is possible in units of one word without using an ECC circuit. Hereinafter, a case where the multi-value data writing function is used is referred to as an MLC mode, and a case where the binary data writing function is used is referred to as an SLC mode.
なお、MLCモードとSLCモードのどちらを選択するかは、アドレスグループ単位(通常はページプログラム単位)で切替えることができる。メモリ内のどのアドレスグループをSLCモードにするかは、ユーザ側がコマンド(命令)で設定する。このため、メモリ内には、アドレスグループごとに冗長部(フラグ格納手段、パリティ格納手段)1aが設けられ、この冗長部1aにMLCモードとSLCモードのどちらかを示すフラグデータが記憶される。
Note that whether the MLC mode or the SLC mode is selected can be switched in units of address groups (usually page program units). Which address group in the memory is set to the SLC mode is set by the user (command) on the user side. Therefore, a redundant portion (flag storage means, parity storage means) 1a is provided for each address group in the memory, and flag data indicating either the MLC mode or the SLC mode is stored in the
SLCモードを選択した場合、実際にデータ書込みに利用されるアドレス領域は半分になる。この場合、ECC単位ごとに、有効アドレスと無効アドレスが半々に現れる。 When the SLC mode is selected, the address area actually used for data writing is halved. In this case, the valid address and the invalid address appear in half for each ECC unit.
図1(a)はMLCモードを選択した場合の外部アドレスとメモリセルの関係を示す図である。図示のように、多値データを記憶する場合、複数のアドレスのデータが同一のメモリセルに記憶される。図1(a)では、ECC単位が2Nワードの例を示している。 FIG. 1A is a diagram showing a relationship between an external address and a memory cell when the MLC mode is selected. As shown in the figure, when multi-value data is stored, data at a plurality of addresses is stored in the same memory cell. FIG. 1A shows an example in which the ECC unit is 2N words.
なお、図1(a)は一つのアドレスで1ワード(16ビット)のデータを書き込むことを念頭に置いている。したがって、実際には、一つのアドレスで16個のメモリセルにデータが書き込まれることになるが、図1(a)では簡易的に1個のメモリセルのみを図示している。 In FIG. 1A, it is assumed that one word (16 bits) of data is written at one address. Therefore, data is actually written into 16 memory cells with one address, but FIG. 1A shows only one memory cell for simplicity.
図1(b)は図1(a)のNをN=4にした例を示している。この場合も同じであり、各メモリセルに2つのアドレスのデータが記憶される。したがって、ECC単位ごとに、8つのアドレスが4ワード分のメモリセルに対応付けられる。 FIG. 1B shows an example where N in FIG. 1A is set to N = 4. This is also the case, and data of two addresses is stored in each memory cell. Therefore, eight addresses are associated with memory cells for four words for each ECC unit.
図2(a)はSLCモードを選択した場合の外部アドレスとメモリセルとの関係を示す図であり、ECC単位の前半部分のアドレスのみを有効アドレスとしてメモリセルと対応づけた例を示している。ECC単位の後半部分のアドレスは無効アドレスとなり、メモリセルへの記憶には用いられない。 FIG. 2A is a diagram showing the relationship between the external address and the memory cell when the SLC mode is selected, and shows an example in which only the address in the first half of the ECC unit is associated with the memory cell as an effective address. . The address in the latter half of the ECC unit is an invalid address and is not used for storage in the memory cell.
図2(b)は図2(a)のNをN=4にした例を示している。この場合も同じであり、ECC単位の前半部分のアドレスのみがメモリセルへの記憶に用いられる。 FIG. 2B shows an example in which N in FIG. 2A is set to N = 4. This is also the case, and only the address of the first half of the ECC unit is used for storage in the memory cell.
図2(a)および図2(b)に示すように、SLCモードを選択した場合、外部アドレスの半分しかメモリセルの記憶に用いられず、しかも、メモリセルの記憶に用いられる外部アドレスが飛び飛びになってしまう。このため、外部から連続したアドレスを指定してデータ書込みを行うことができず、飛び飛びのアドレスを指定しなければならないことから、ユーザ側(プログラマ)の負担が大きいという問題がある。 As shown in FIGS. 2A and 2B, when the SLC mode is selected, only half of the external address is used for storing the memory cell, and the external address used for storing the memory cell jumps out. Become. For this reason, data cannot be written by designating consecutive addresses from the outside, and there is a problem that the burden on the user side (programmer) is heavy because it is necessary to designate jump addresses.
図1および図2では、ページプログラムの単位であるECC単位ごとに、メモリセルにデータ書込みを行うページプログラムの例を示しているが、フラッシュメモリでは一般に、データ書込みの単位よりも大きな単位でデータの消去を行う。データ消去の単位はイレースブロックと呼ばれる。 1 and 2 show an example of a page program for writing data to a memory cell for each ECC unit which is a page program unit. In a flash memory, data is generally written in a unit larger than the unit of data writing. Erase. A unit of data erasure is called an erase block.
図3はページプログラムの単位とイレースブロックの単位の一例を模式的に示す図である。図3において、ECC単位は32個のセグメントからなり、各セグメントは8ワードからなる。したがって、ECC単位は8×32=256ワードであり、これが1ページ分に対応する。 FIG. 3 is a diagram schematically showing an example of a page program unit and an erase block unit. In FIG. 3, the ECC unit consists of 32 segments, and each segment consists of 8 words. Therefore, the ECC unit is 8 × 32 = 256 words, which corresponds to one page.
ページプログラム・アドレスグループは、512ページ=256ワード×512個=128kワードの領域を有し、この領域がデータ消去の単位であり、イレースブロックとなる。イレースブロックを64個集めた、64×128kワード/ブロック=8Mワードの領域が1バンク分に対応する。NOR型フラッシュメモリは、複数バンクのデータ容量を有する。例えば、図3のNOR型フラッシュメモリは、8バンクを備えており、メモリの総データ容量は8×8Mワード/バンク=64Mワード=1Gビットになる。 The page program address group has an area of 512 pages = 256 words × 512 = 128 k words, and this area is a unit for erasing data and is an erase block. An area of 64 × 128k words / block = 8M words, which is a collection of 64 erase blocks, corresponds to one bank. The NOR type flash memory has a data capacity of a plurality of banks. For example, the NOR type flash memory of FIG. 3 has 8 banks, and the total data capacity of the memory is 8 × 8 M words / bank = 64 M words = 1 Gbit.
なお、図3のページプログラム、イレースブロックおよびバンクの各データ量は一例にすぎず、種々の変更が可能である。 The data amounts of the page program, erase block, and bank shown in FIG. 3 are merely examples, and various changes can be made.
以下に説明する本実施形態のNOR型フラッシュメモリは、データ書込み時には256ワードからなるECC単位ごとにデータ書込みを行い、128kワードからなるイレースブロックごとにデータ消去を行うものとする。 The NOR flash memory according to the present embodiment described below performs data writing for each ECC unit consisting of 256 words at the time of data writing, and erases data for each erase block consisting of 128 k words.
図4はNOR型フラッシュメモリ100の内部構成の一例を示すブロック図である。図4のNOR型フラッシュメモリ100は、メモリセルアレイ1と、デコーダ2と、センスアンプ3と、制御回路4と、アドレスバッファ5と、入出力バッファ6と、データラッチ回路7と、データ圧縮回路8と、パリティ生成回路9と、バースト回路10と、ECC訂正回路11と、マルチプレクサ12と、アドレス変換回路13とを備える。ここで、制御回路4とアドレス変換回路13はアクセス範囲設定手段に対応する。
FIG. 4 is a block diagram showing an example of the internal configuration of the NOR
メモリセルアレイ1は、マトリックス状に配置された複数のメモリセルを有する。選択行方向に配列された複数のメモリセルの制御ゲート電極は、ワード線に共通接続され、選択列方向に配列された複数のメモリセルのドレイン領域は、ビット線コンタクトを介してビット線に共通接続されている。
The
1つのワード線に接続されるメモリセル群には、本体データ(外部から入力された書き込みデータ)を格納するデータ領域として使用される複数のメモリセルと、本体データに関連づけられたパリティデータおよびフラグデータが記憶されるパリティ/フラグ領域として使用される複数のメモリセルとがある。本実施形態では、1つのワード線に接続された上記メモリセル群が、一回のページ書き込み動作によって処理される単位をなすものとする。 A group of memory cells connected to one word line includes a plurality of memory cells used as a data area for storing main body data (write data input from the outside), and parity data and flags associated with the main body data. There are a plurality of memory cells used as a parity / flag area in which data is stored. In the present embodiment, it is assumed that the memory cell group connected to one word line forms a unit processed by a single page write operation.
デコーダ2は、制御回路4が出力する制御信号に応じて、メモリセルアレイ1のビット線選択、ワード線選択及び駆動を行う。
The
センスアンプ3は、メモリセルアレイ1のビット線に接続され、メモリセルに格納されたデータを読み出し、また出力する。
The
アドレスバッファ5は、外部からのアドレス信号を受けて、内部アドレス信号を生成する。このアドレスバッファ5で生成される内部アドレス信号は、制御回路4、データラッチ回路7、バースト回路10に供給される。
入出力バッファ6は、例えば、一回の転送サイクルで同時に16ビット(1ワード)分のデータの入出力が可能なデータ入出力端子(図示せず)に接続され、データの書き込み時には、外部から供給されるデータをデータラッチ回路7および制御回路4に供給する。また、入出力バッファ6は、データの読み出し時には、読み出されたデータがバースト回路10を介して入力され、この入力されたデータを外部に出力する。
The input /
制御回路4は、外部から入力されるチップイネーブル信号CEB、ライトイネーブル信号WEBおよびアウトプットイネーブル信号OEBを受けるとともに、内部アドレス信号およびデータ信号を受ける。制御回路4は、これらの入力信号に基づいて、各内部回路の動作を制御するための各種制御信号を出力する。
The
データラッチ回路7は、内部アドレス信号および入力データ信号を受けて、この内部アドレス信号が示す領域に入力データをラッチするとともに、ラッチした入力データをデータ圧縮回路8およびパリティ生成回路9に出力する。データラッチ回路7は、例えば、少なくとも256ビットのデータを保持可能であるとする。
The
データ圧縮回路8は、多値データをメモリセルに書き込む際に、制御回路4から出力されたフラグデータ、データラッチ回路7から出力された本体データ、およびパリティ生成回路9から出力されたパリティデータを、アドレス圧縮する。本実施形態では、詳しい説明は省略するが、異なる転送サイクルで入力された1ワード単位のデータを組み(多値圧縮ペア)として処理するアドレス圧縮方式を用いる。
The
パリティ生成回路9は、データラッチ回路7から出力されたデータに応じて、このデータをECC訂正するためのパリティデータを生成する。パリティデータは、例えば、一回のページ書き込み動作によって処理される256ワード単位で生成される。
The
ECC訂正回路11は、センスアンプ3から出力された読み出しデータを、パリティデータに基づいて訂正し、訂正されたデータ(以下、訂正データと呼ぶ)を出力する。
The
マルチプレクサ12には、ECC訂正回路11から出力された訂正データが入力されるとともに、フラグデータが入力される。このマルチプレクサ12は、該訂正データをバースト回路10に出力する。さらに、マルチプレクサ12は、制御回路4から出力された該フラグデータの出力を要請する制御信号の入力に応じて、該フラグデータをバースト回路10に出力する。
The
バースト回路10は、内部アドレス信号に応じて、外部クロック信号CLKに同期して、読み出すデータのアドレスを連続してデコーダ2に出力する。また、バースト回路10は、外部クロック信号CLKに同期して、マルチプレクサ12から出力されたデータ信号を入出力バッファ6に出力する(バースト読み出し動作)。
The
本実施形態では、ページプログラムの単位である256ワードごとに、MLCモードとSLCモードの切替を行うことができ、256ワードごとにパリティデータとフラグデータが生成される。フラグデータには、MLCモードであることを示すフラグデータと、SLCモードであることを示すフラグデータとが存在し、これらは別々のメモリセルに記憶される。より具体的には、フラグデータは、例えば、消去状態では(11)、多値状態では(01)、二値状態では(10)、書き込み禁止状態では(00)のように定義されて、2つのメモリセルに記憶される。SLCモードが選択された場合は、データのECC訂正は行われず、パリティデータも必要ない。 In the present embodiment, switching between the MLC mode and the SLC mode can be performed for every 256 words, which is a unit of page program, and parity data and flag data are generated for every 256 words. The flag data includes flag data indicating the MLC mode and flag data indicating the SLC mode, and these are stored in separate memory cells. More specifically, the flag data is defined as (11) in the erased state, (01) in the multi-valued state, (10) in the binary state, (00) in the write-inhibited state, and 2 Stored in one memory cell. When the SLC mode is selected, data ECC correction is not performed and parity data is not required.
図4のNOR型フラッシュメモリ100は、SLCモードのときに、外部から連続したアドレスを供給して1ワード単位でメモリセルにアクセスできるようにしたことを特徴とする。このことを実現するために、図4のNOR型フラッシュメモリ100はアドレス変換回路13を有する。このアドレス変換回路13は、外部アドレスのビット列の一部を並び換えた内部アドレスを生成する。外部アドレスが供給されると、アドレス変換回路13で変換された内部アドレスに対応するメモリセルが選択される。
The NOR
図5および図6はアドレス変換回路13の動作を説明する図である。図5(a)はアドレス変換を行わない場合の外部アドレスと内部セルとの関係を示す図、図5(b)は図5(a)の場合の外部アドレスと内部アドレスとの関係を示す図である。アドレス変換を行わない場合は、外部アドレスも内部アドレスも同じになるが、外部アドレスが連続的にインクリメントすると、メモリセルにアクセスできる有効アドレスとメモリセルにアクセスできない無効アドレスが交互に現れる。より具体的には、外部アドレス0h〜3hはメモリセルにアクセスできるが、その後の4h〜7hはアクセスできず、連続してアクセスできるのは4ワードアドレスだけである。
5 and 6 are diagrams for explaining the operation of the
一方、図6(a)はアドレス変換回路13を設けた場合の外部アドレスと内部セルとの関係を示す図、図6(b)は図6(a)の場合の外部アドレスと内部アドレスとの関係を示す図である。図6(b)に示すように、外部アドレスのA2−A6がそれぞれ1ビットずつシフトされて、内部アドレスのA3−A7に割り当てられ、外部アドレスのA7(通常は0)が内部アドレスのA2に割り当てられる。これにより、図6(a)に示すように、外部アドレスが0h〜7Fhの間は連続的にメモリセルにアクセスできる。それ以降の80h〜FFhはすべてメモリセルにアクセスできない無効アドレスである。
On the other hand, FIG. 6A shows the relationship between the external address and the internal cell when the
このように、アドレス変換回路13を設けることにより、外部アドレスで連続的にアクセスできるメモリセル領域を大幅に増やすことができ、SLCモード時に外部からアドレスを指定しやすくなり、NOR型フラッシュメモリの有効利用が図れる。
Thus, by providing the
図7はアドレス変換回路13の内部構成の一例を示す回路図である。図示のように、アドレス変換回路13は、外部アドレスの2つのアドレスビットのいずれか一つを選択する第1〜第6のアドレス選択回路13a〜13fを有する。第1〜第6のアドレス選択回路13a〜13fはいずれも、フラグデータ(MLC/SLCモード信号)によりアドレス選択を行う。
FIG. 7 is a circuit diagram showing an example of the internal configuration of the
第1のアドレス選択回路13aは外部アドレスA2,A3のいずれかを選択して、内部アドレスA3に供給する。第2のアドレス選択回路13bは外部アドレスA3,A4のいずれかを選択して、内部アドレスA4に供給する。第3のアドレス選択回路13cは外部アドレスA4,A5のいずれかを選択して、内部アドレスA5に供給する。第4のアドレス選択回路13dは外部アドレスA5,A6のいずれかを選択して、内部アドレスA6に供給する。第5のアドレス選択回路13eは外部アドレスA6,A7のいずれかを選択して、内部アドレスA7に供給する。第6のアドレス選択回路13fは外部アドレスA7,A2のいずれかを選択して、内部アドレスA2に供給する。
The first
図7の第1〜第6のアドレス選択回路はいずれも、ANDゲート、NORゲートおよびインバータを組合わせて構成されているが、回路構成は図示したものに限定されない。 Each of the first to sixth address selection circuits in FIG. 7 is configured by combining an AND gate, a NOR gate, and an inverter, but the circuit configuration is not limited to that shown in the figure.
このように、第1の実施形態では、SLCモード時に外部アドレスのアドレスビットの一部を並び換えるアドレス変換回路13を設けたため、SLCモード時には、連続した外部アドレスを与えて1ワード単位でのデータ書込みとデータ読出しが可能となり、SLCモード時にNOR型フラッシュメモリ100を有効利用できる。
As described above, in the first embodiment, the
(第2の実施形態)
第1の実施形態では、SLCモード時にページプログラムを単位として連続アドレスでデータ書込みができる例を説明したが、以下に説明する第2の実施形態はイレースブロックを単位として連続アドレスでデータ書込みができるようにしたものである。以下では、第1の実施形態との相違点を中心に説明する。
(Second Embodiment)
In the first embodiment, an example has been described in which data can be written with continuous addresses in units of page programs in the SLC mode. However, in the second embodiment described below, data can be written with continuous addresses in units of erase blocks. It is what I did. Below, it demonstrates centering around difference with 1st Embodiment.
第2の実施形態では、SLCモード時に外部から連続アドレスを与えてデータ書込みを行えるアドレス範囲が第1の実施形態と異なるだけで、基本的な動作は同じである。 In the second embodiment, the basic operation is the same except that the address range in which data can be written by giving a continuous address from the outside in the SLC mode is different from that in the first embodiment.
図8および図9は第2の実施形態によるアドレス変換回路13の動作を説明する図である。図8(a)はアドレス変換を行わない場合の外部アドレスと内部セルとの関係を示す図、図8(b)は図8(a)の場合の外部アドレスと内部アドレスとの関係を示す図である。アドレス変換を行わない場合は、メモリセルにアクセスできる有効アドレスとアクセスできない無効アドレスが交互に現れる。
8 and 9 are diagrams for explaining the operation of the
一方、図9(a)はアドレス変換回路13を設けた場合の外部アドレスと内部セルとの関係を示す図、図9(b)は図9(a)の場合の外部アドレスと内部アドレスとの関係を示す図である。図9(b)に示すように、外部アドレスのA2−A15がそれぞれ1ビットずつシフトされて、内部アドレスのA3−A16に割り当てられ、外部アドレスのA16(通常は0)が内部アドレスのA2に割り当てられる。これにより、図9(a)に示すように、外部アドレス0h〜FFFFhの間は連続的にメモリセルにアクセスできる。それ以降の10000h〜1FFFFhはすべてメモリセルにアクセスできない無効アドレスである。
On the other hand, FIG. 9A shows the relationship between the external address and the internal cell when the
このように、第2の実施形態では、イレースブロック単位で、外部から連続アドレスでデータ書込みを行えるため、第1の実施形態よりも広いアドレス空間について連続アドレスでのデータ書込みを行えることになり、第1の実施形態よりもNOR型フラッシュメモリ100を有効利用できる。
As described above, in the second embodiment, since data can be written from the outside with continuous addresses in units of erase blocks, data can be written with continuous addresses in a wider address space than in the first embodiment. The NOR
(第3の実施形態)
SLCモード時に連続アドレスでデータ書込みを行うアドレス範囲は、ページプログラム単位やイレースブロック単位に限る理由はない。そこで、以下に説明する第3の実施形態では、任意のアドレス範囲を対象として連続アドレスでのデータ書込みができるようにしたものである。
(Third embodiment)
There is no reason why the address range in which data is written with continuous addresses in the SLC mode is limited to page program units or erase block units. Therefore, in the third embodiment described below, data can be written at continuous addresses in an arbitrary address range.
図10および図11は第3の実施形態によるアドレス変換回路13の動作を説明する図である。図10(a)はアドレス変換を行わない場合の外部アドレスと内部セルとの関係を示す図、図10(b)は図10(a)の場合の外部アドレスと内部アドレスとの関係を示す図である。図11(a)はアドレス変換を行わない場合の外部アドレスと内部セルとの関係を示す図、図11(b)は図11(a)の場合の外部アドレスと内部アドレスとの関係を示す図である。
10 and 11 are diagrams for explaining the operation of the
これらの図では、SLCモード時には、2y+1ワード分のアドレス範囲を単位として、連続アドレスでデータ書込みができるようにした例を示している。 In these drawings, in the SLC mode, an example is shown in which data can be written with continuous addresses in units of an address range of 2 y + 1 words.
アドレス変換を行う場合は、図11(b)に示すように、外部アドレスのA0〜A(x−1)は内部アドレスのA0〜A(x−1)に対応づけられ、外部アドレスのAx〜A(y−1)は1ビットずつシフトされて内部アドレスのA(x+1)〜Ayに対応づけられ、外部アドレスのAyは内部アドレスのAxに対応づけられる。 When performing address translation, as shown in FIG. 11B, external addresses A0 to A (x-1) are associated with internal addresses A0 to A (x-1), and external addresses Ax to A (y-1) is shifted bit by bit and associated with internal addresses A (x + 1) to Ay, and external address Ay is associated with internal address Ax.
これにより、SLCモード時には、0h〜(m+1)N/2hのアドレス範囲(ただし、m、Nは16進数)で、外部からの連続アドレスでのデータ書込みが可能になる。 Thus, in the SLC mode, data can be written from the outside with continuous addresses in the address range of 0h to (m + 1) N / 2h (where m and N are hexadecimal numbers).
このように、第3の実施形態では、SLCモード時には、メモリセルアレイ内の任意のアドレス範囲について、外部からの連続したアドレスでのデータ書込みが可能になる。 As described above, in the third embodiment, in the SLC mode, data can be written at a continuous address from the outside in an arbitrary address range in the memory cell array.
(その他の実施形態)
上述した第1〜第3の実施形態で説明したNOR型フラッシュメモリ100の用途は特に問わず、種々の電気機器や電子機器の記憶装置として用いることができる。また、NOR型フラッシュメモリ100をNAND型フラッシュメモリ等の他のメモリと同一のパッケージに収納してもよい。
(Other embodiments)
The use of the NOR
図12は第1〜第3の実施形態で説明したNOR型フラッシュメモリ100と他のメモリを内蔵した半導体チップ(マルチ・チップ・パッケージ:MCP(Multi Chip Package))20の一例を示す断面図である。
FIG. 12 is a cross-sectional view showing an example of a semiconductor chip (multi-chip package: MCP) 20 incorporating the NOR
図12に示すように、半導体チップ20は、基板21上に順次積層されたNAND型フラッシュメモリ22、スペーサ23、NOR型フラッシュメモリ100、スペーサ24、PSRAM(Pseudo Static Random Access Memory)25、およびコントローラ26を同一パッケージ内に搭載している。
As shown in FIG. 12, the semiconductor chip 20 includes a
NAND型フラッシュメモリ22は、例えば、多値データの記憶が可能な複数のメモリセルを有している。また、半導体チップ20において、PSRAMに換えて、SDRAM(Synchronous Dynamic Random Access Memory)を用いた構成であっても良い。
The
上記メモリのうち、メモリシステムによる用途により、NAND型フラッシュメモリ22は、例えば、データ格納用メモリとして使用される。また、NOR型フラッシュメモリ100は、例えば、プログラム格納用メモリとして使用される。また、PSRAM25は、例えば、ワーク用メモリとして使用される。
Among the above memories, the
コントローラ26は、主としてNAND型フラッシュメモリ22に対するデータ入出力制御、データ管理を行う。コントローラ26は、ECC訂正回路(図示せず)を有しており、データを書き込む際には誤り訂正符合(ECC)付加し、読み出す際にも誤り訂正符号の解析・処理を行う。
The
NAND型フラッシュメモリ22、NOR型フラッシュメモリ100、PSRAM25、およびコントローラ26は、ワイヤ27により基板21にボンディングされている。
The
基板21の裏面に設けられた各半田ボール28は、それぞれワイヤ27に電気的に接続されている。パッケージ形状としては、例えば、各半田ボール28が二次元的に配置された表面実装型のBGA(Ball Grid Array)が採用される。
Each
尚、実施例1におけるECC訂正回路11は、既述のようにNOR型フラッシュメモリ100内に設けられてもよく、または、コントローラ26内に設けられていても良い。この場合、NAND型フラッシュメモリ22とECC訂正回路を共用しても良いし、NAND型フラッシュメモリ22とNOR型フラッシュメモリ100とで、それぞれ異なるECC訂正回路を有していても良い。また、ECC訂正回路11は、コントローラ22の外部に独立して設けられていても良い。
The
次に、上記半導体チップ20を、電子機器の一例である携帯電話に適用する場合について説明する。 Next, a case where the semiconductor chip 20 is applied to a mobile phone which is an example of an electronic device will be described.
図13はこの種の携帯電話の内部構成の一例を示すブロック図である。図13の携帯電話は、アンテナ31と、送受信信号の切替を行うアンテナ共用器32と、無線信号をベースバンド信号に変換する受信回路33と、送受信用の局部発振信号を生成する周波数シンセサイザ34と、送信信号を変調処理して無線信号を生成する送信回路35と、ベースバンド信号に基づいて所定の伝送フォーマットの受信信号を生成するベースバンド処理部36と、受信信号を音声、ビデオおよびテキストデータに分離する多重分離処理部37と、音声データをディジタル音声信号に復号する音声コーディック38と、ディジタル音声信号をPCM復号してアナログ音声信号を生成するPCMコーディック39と、スピーカ40と、マイクロホン41と、ビデオデータをディジタルビデオ信号に復号するビデオコーディック42と、カメラ43と、カメラ制御部44と、携帯電話全体を制御する制御部45と、表示部46と、キー入力部47と、RAM48と、ROM49と、プログラム格納用フラッシュメモリ50と、データ格納用フラッシュメモリ51と、電源回路52とを備えている。
FIG. 13 is a block diagram showing an example of the internal configuration of this type of mobile phone. The mobile phone of FIG. 13 includes an
図13において、プログラム格納用フラッシュメモリ50には第1〜第3の実施形態で説明されたNOR型フラッシュメモリ100が用いられ、データ格納用フラッシュメモリ51にはNAND型フラッシュメモリ22が用いられる。
In FIG. 13, the NOR
携帯電話が扱うデータの中には、小容量(数ワード単位)のデータがある。このようなデータを記憶する場合、NAND型フラッシュメモリ22では、NAND型の構造上、数ワードのデータを書き込むごとにページ単位(512バイト)で書込みを行わなければならない。このため、使用しない記憶領域が発生し、また書込み終了までに要する時間も長くなる。そこで、図13の携帯電話では、本来はプログラム格納用に用いられるNOR型フラッシュメモリ100の記憶領域の一部を利用して、SLCモードにて1ワード単位でデータの書込みを行えるため、記憶領域を無駄なく使えて、かつ高速書込みも可能となる。このとき、第1〜第3の実施形態で説明したNOR型フラッシュメモリ100であれば、外部から連続したアドレスを与えてデータ書込みが可能であるため、数ワードのデータ用のプログラムの作成が容易になり、プログラマの負担が軽減される。
Among the data handled by mobile phones, there is data with a small capacity (in units of several words). When storing such data, the
上記の記載に基づいて、当業者であれば、本発明の追加の効果や種々の変形を想到できるかもしれない。したがって、本発明の態様は、上述した個々の実施形態には限定されない。特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。 Based on the above description, those skilled in the art may be able to conceive additional effects and various modifications of the present invention. Accordingly, aspects of the present invention are not limited to the individual embodiments described above. Various additions, modifications, and partial deletions can be made without departing from the concept and spirit of the present invention derived from the contents defined in the claims and equivalents thereof.
1 メモリセルアレイ
1a 冗長部
4 制御回路
13 アドレス変換回路
22 NAND型フラッシュメモリ
100 NOR型フラッシュメモリ
50 プログラム格納用フラッシュメモリ
51 データ格納用フラッシュメモリ
DESCRIPTION OF
Claims (5)
前記複数のメモリセルの一部を構成する所定のセル領域ごとに、多値データの書込みと二値データの書込みのいずれを行うかを示すフラグデータを格納するフラグ格納手段と、
前記フラグデータにより前記多値データの書込みが選択された場合には、対応する前記セル領域の全域を外部アドレスによりアクセス可能とし、前記フラグデータにより前記二値データの書込みが選択された場合には、対応する前記セル領域の半分の領域を外部アドレスの連続したアドレス範囲によりアクセス可能とするアクセス範囲設定手段と、を備えることを特徴とする不揮発性半導体記憶装置。 A plurality of memory cells capable of reading and writing data;
Flag storage means for storing flag data indicating whether to write multi-value data or binary data for each predetermined cell region constituting a part of the plurality of memory cells;
When writing of the multi-value data is selected by the flag data, the entire corresponding cell area can be accessed by an external address, and when writing of the binary data is selected by the flag data A non-volatile semiconductor memory device, comprising: an access range setting unit that allows a half of the corresponding cell region to be accessed by a continuous address range of external addresses.
前記フラグ格納手段と前記パリティ格納手段は、前記複数のメモリセルの一部に設けられることを特徴とする請求項1または2に記載の不揮発性半導体記憶装置。 Parity storage means for storing parity data used for error correction when writing of the multi-value data is selected by the flag data,
3. The nonvolatile semiconductor memory device according to claim 1, wherein the flag storage unit and the parity storage unit are provided in a part of the plurality of memory cells.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008218153A JP2010055673A (en) | 2008-08-27 | 2008-08-27 | Nonvolatile semiconductor memory device |
US12/272,161 US7843728B2 (en) | 2007-11-20 | 2008-11-17 | Nonvolatile semiconductor storage device |
US12/938,435 US8130545B2 (en) | 2007-11-20 | 2010-11-03 | Nonvolatile semiconductor storage device |
US13/364,496 US20120155169A1 (en) | 2007-11-20 | 2012-02-02 | Nonvolatile semiconductor storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008218153A JP2010055673A (en) | 2008-08-27 | 2008-08-27 | Nonvolatile semiconductor memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010055673A true JP2010055673A (en) | 2010-03-11 |
Family
ID=42071431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008218153A Pending JP2010055673A (en) | 2007-11-20 | 2008-08-27 | Nonvolatile semiconductor memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010055673A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349079A (en) * | 2023-11-16 | 2024-01-05 | 苏州门海微电子科技有限公司 | ECC data error correction method for SPI Norflash |
-
2008
- 2008-08-27 JP JP2008218153A patent/JP2010055673A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349079A (en) * | 2023-11-16 | 2024-01-05 | 苏州门海微电子科技有限公司 | ECC data error correction method for SPI Norflash |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8130545B2 (en) | Nonvolatile semiconductor storage device | |
US6400602B2 (en) | Semiconductor memory device and restoration method therefor | |
KR101529291B1 (en) | Flash memory device and flash memory system including the same | |
JP2007305210A (en) | Semiconductor storage device | |
EP1052646B1 (en) | Non-volatile semiconductor memory device permitting data-read operation performed during data-write/erase operation | |
JP2004265162A (en) | Storage device and address management method | |
JP2011165305A (en) | Nonvolatile memory device and memory system containing the same | |
US20060259729A1 (en) | Semiconductor memory device, a sector-address conversion circuit, an address-conversion method, and operation method of the semiconductor memory device | |
KR20100124087A (en) | Memory controller, memory system including the same and method of operating the same | |
KR100764750B1 (en) | Flash memory device with flexible address mapping scheme | |
JP2000251484A (en) | Non-volatile semiconductor memory | |
JP5403292B2 (en) | Replacement of defective memory blocks that respond to external addresses | |
JP4259922B2 (en) | Semiconductor memory device | |
KR20120076083A (en) | Data storage system having multi-bit memory device and operating method thereof | |
KR20080056586A (en) | Flash memory device and method for changing a block size using address shifting | |
JP2009129477A (en) | Nonvolatile semiconductor storage device | |
TWI732642B (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
JP2010055673A (en) | Nonvolatile semiconductor memory device | |
US8395959B2 (en) | Storage device, control method of storage device, and control method of storage control device | |
US8583855B2 (en) | Flash memory preprocessing system and method | |
JP2010129154A (en) | Nonvolatile semiconductor memory device | |
JP2014120184A (en) | Nonvolatile semiconductor memory device | |
JP2007048184A (en) | Memory card | |
JP2009146555A (en) | Nonvolatile semiconductor storage device | |
US11281406B2 (en) | Memory system |