JP2012133835A - Nonvolatile semiconductor memory device and method - Google Patents

Nonvolatile semiconductor memory device and method Download PDF

Info

Publication number
JP2012133835A
JP2012133835A JP2010283129A JP2010283129A JP2012133835A JP 2012133835 A JP2012133835 A JP 2012133835A JP 2010283129 A JP2010283129 A JP 2010283129A JP 2010283129 A JP2010283129 A JP 2010283129A JP 2012133835 A JP2012133835 A JP 2012133835A
Authority
JP
Japan
Prior art keywords
data
circuit
memory cell
cell array
index
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
Application number
JP2010283129A
Other languages
Japanese (ja)
Inventor
Koji Murata
光司 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung R&D Institute Japan Co Ltd
Original Assignee
Samsung Yokohama Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Yokohama Research Institute filed Critical Samsung Yokohama Research Institute
Priority to JP2010283129A priority Critical patent/JP2012133835A/en
Publication of JP2012133835A publication Critical patent/JP2012133835A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a nonvolatile semiconductor memory device which is capable of effectively increasing a dispersion of data, and preventing unnecessary data randomization processing.SOLUTION: A nonvolatile semiconductor memory device is provided, which includes: a determination circuit which calculates an index indicating a dispersion degree of data to be written in a memory cell array, and determines whether the index is equal to or greater than a predetermined value; a randomization circuit which outputs the data to the memory cell array as it is if the determination circuit determines that the index is equal to or greater than the predetermined value, and randomizes the data to output to the memory cell array if the index is less than the predetermined value.

Description

本発明は、不揮発性半導体記憶装置及び方法に関し、特に、データランダマイズ処理機能を有する不揮発性半導体記憶装置及び方法に関する。   The present invention relates to a nonvolatile semiconductor memory device and method, and more particularly, to a nonvolatile semiconductor memory device and method having a data randomization processing function.

フラッシュメモリなどの不揮発性半導体装置では、メモリセルが備えるフローティングゲート中の電子の量を制御することにより、メモリセルに対するデータのプログラム及び消去を行っている。例えば、メモリセルにデータ「1」をプログラムする場合、フローティングゲートに電子を注入し、このフローティングゲートを備えたトランジスターの見かけ上のゲート閾値を上昇させる。また、メモリセルのデータ「1」を消去する場合(即ち、データ「0」を書き込む場合)には、フローティングゲートから電子を引き抜き、上記トランジスターのゲート閾値を初期状態に戻す。   In a nonvolatile semiconductor device such as a flash memory, data is programmed into and erased from a memory cell by controlling the amount of electrons in a floating gate included in the memory cell. For example, when data “1” is programmed in the memory cell, electrons are injected into the floating gate, and the apparent gate threshold value of the transistor having the floating gate is increased. When erasing data “1” in the memory cell (that is, when writing data “0”), electrons are extracted from the floating gate and the gate threshold value of the transistor is returned to the initial state.

一般に、上述のメモリセルのフローティングゲートに対する電子の注入及び引き抜きは、そのメモリセルを構成するトランジスターのゲート酸化膜を介して行われるため、データの書き込み回数の増加に伴ってゲート酸化膜の劣化が進行し、メモリセルの電気的特性が徐々に変化する傾向を示す。このような現象は、特定のメモリセルに特定のデータのプログラムが繰り返されると、顕著になる。   In general, since the above-described injection and extraction of electrons to and from the floating gate of the memory cell are performed through the gate oxide film of the transistor that constitutes the memory cell, the gate oxide film deteriorates as the number of data writing increases. It progresses and the electric characteristics of the memory cell tend to change gradually. Such a phenomenon becomes prominent when a specific data program is repeated in a specific memory cell.

また、データの書き込みモードにおいて、非選択メモリセルに保持されているデータが破壊される現象(プログラムディスターブ)が知られている。例えば、フラッシュメモリの場合、同一のワード線に接続された複数のメモリセルに対して連続的に同一データをプログラムする場合、そのワード線に接続された非選択メモリセルのゲートに対して長時間にわたってストレスが加えられる結果、その非選択メモリセルに保持されているデータが破壊される場合がある。   Further, a phenomenon (program disturb) in which data held in an unselected memory cell is destroyed in a data write mode is known. For example, in the case of a flash memory, when the same data is continuously programmed in a plurality of memory cells connected to the same word line, the gates of unselected memory cells connected to the word line have a long time. As a result, the data held in the non-selected memory cell may be destroyed.

また、複数のメモリストリングでソース・ラインを共有するコモン・ソース・ライン方式を採用したフラッシュメモリにおいて、例えば、或るストリング内の全てのメモリセルにデータ「0」をプログラムし、他のストリング内の全てのメモリセルにデータ「1」をプログラムした場合、それぞれのストリングを流れる電流が異なったものになる。この結果、ベリファイ時またはリード時に、ソース・ラインの電位が変動しやすくなり、メモリセルのデータを誤検出することがある。   Further, in a flash memory employing a common source line method in which a source line is shared by a plurality of memory strings, for example, data “0” is programmed in all memory cells in a certain string, When data “1” is programmed in all the memory cells, the currents flowing through the respective strings are different. As a result, the potential of the source line is likely to fluctuate during verification or reading, and data in the memory cell may be erroneously detected.

上述の各現象は、同一のデータが連続してプログラムされる場合、即ち、書き込むべきデータにおいて「0」および「1」の偏りが存在し、そのばらつきが小さい場合に顕著となる。そこで、従来、いわゆるデータランダマイズ処理により、データを書き込むときに、乱数に従ってデータを反転させ、メモリセルアレイに実際に書き込まれるデータ中の「0」と「1」のばらつきを大きくしている。   Each of the above-described phenomena becomes prominent when the same data is continuously programmed, that is, when there is a deviation of “0” and “1” in the data to be written and the variation is small. Therefore, conventionally, when data is written by so-called data randomization processing, the data is inverted according to a random number to increase the variation of “0” and “1” in the data actually written to the memory cell array.

特開2009−163774号公報JP 2009-163774 A

しかしながら、上述の従来技術によれば、書き込むべきデータ中の「0」と「1」の偏りが小さく、そのばらつきが十分に大きいとしても、それとは関係なくデータランダマイズ処理が行われる。このため、データランダマイズ処理が無駄に行われる場合があるのみならず、リード時にはデータをランダマイズ処理前の配列に戻すためのランダマイズ解除処理が必要になる。また、データランダマイズ処理後のデータのばらつきが、必ずしもデータランダマイズ処理前の元のデータのばらつきよりも大きくなるとは限らず、逆にデータのばらつきが小さくなる可能性もある。   However, according to the above-described prior art, even if the deviation of “0” and “1” in the data to be written is small and the variation is sufficiently large, the data randomization process is performed regardless of this. For this reason, not only data randomization processing may be performed wastefully, but also randomization cancellation processing for returning data to an array before randomization processing is required at the time of reading. Further, the data variation after the data randomization process is not necessarily larger than the original data variation before the data randomization process, and conversely, the data variation may be reduced.

本発明は、上記事情に鑑みてなされたものであり、データのばらつきを有効に大きくすることができると共に、無駄なデータランダマイズ処理を防止することができる不揮発性半導体記憶装置及び方法を提供することを目的とする。   The present invention has been made in view of the above circumstances, and provides a nonvolatile semiconductor memory device and method capable of effectively increasing the variation in data and preventing unnecessary data randomization processing. With the goal.

上記課題を解決するため、本発明に係る不揮発性半導体記憶装置は、メモリセルアレイを備え、アドレス信号で指定される前記メモリセルアレイにデータを書き込むように構成された不揮発性半導体記憶装置であって、前記メモリセルアレイに書き込むべきデータのばらつきの度合いを表す指標を演算し、前記指標が所定値以上であるかどうかを判定する判定回路と、前記判定回路による判定の結果、前記指標が前記所定値以上である場合、前記データを前記メモリセルアレイにそのまま出力し、前記指標が前記所定値を下回る場合、前記データをランダマイズして前記メモリセルアレイに出力するランダマイズ回路と、
を備えた不揮発性半導体記憶装置の構成を有する。
In order to solve the above problems, a nonvolatile semiconductor memory device according to the present invention includes a memory cell array, and is configured to write data into the memory cell array specified by an address signal, An index representing the degree of variation in data to be written to the memory cell array is calculated, a determination circuit for determining whether the index is equal to or greater than a predetermined value, and a result of determination by the determination circuit, the index is equal to or greater than the predetermined value The data is output to the memory cell array as it is, and when the index is lower than the predetermined value, the data is randomized and output to the memory cell array.
The structure of the non-volatile semiconductor memory device provided with.

上記構成によれば、前記指標が所定値以上である場合、前記データを前記メモリセルアレイに書き込むべきデータとしてそのまま出力するので、無駄なデータランダマイズ処理を防止することが可能になる。また、前記指標が前記所定値を下回る場合、前記データをランダマイズするので、データのばらつきを有効に改善することが可能になる。   According to the above configuration, when the index is equal to or greater than a predetermined value, the data is output as it is as data to be written into the memory cell array, so that useless data randomization processing can be prevented. In addition, when the index is less than the predetermined value, the data is randomized, so that it is possible to effectively improve data variation.

また、本発明に係る不揮発性半導体記憶装置は、上記構成において、前記メモリセルアレイに書き込むべきデータがNビット(Nは任意の自然数)からなるデータであるとしたときに、前記指標は、前記Nビットのデータに含まれる隣接する二つのビットの排他的論理和を演算することで得られる階差数列に含まれる「1」の個数であり、前記所定値は(N−1)/2であることを特徴とする不揮発性半導体記憶装置の構成を有する。   In the nonvolatile semiconductor memory device according to the present invention, in the above configuration, when the data to be written to the memory cell array is data composed of N bits (N is an arbitrary natural number), the index is the N It is the number of “1” included in the difference number sequence obtained by calculating the exclusive OR of two adjacent bits included in the bit data, and the predetermined value is (N−1) / 2. The configuration of the nonvolatile semiconductor memory device is characterized.

また、本発明に係る不揮発性半導体記憶装置は、上記構成において、前記判定回路は、前記メモリセルアレイに書き込むべきデータに含まれる隣接する二つのビットの排他的論理和を演算して前記階差数列を出力するための排他的論理和回路と、前記排他的論理和回路から出力される階差数列に含まれる「1」の個数をカウントするためのカウント回路と、前記カウント回路のカウント値と前記所定値とを比較する比較回路と、を備えたことを特徴とする不揮発性半導体記憶装置の構成を有する。   In the nonvolatile semiconductor memory device according to the present invention, in the configuration described above, the determination circuit calculates an exclusive OR of two adjacent bits included in data to be written to the memory cell array to calculate the difference number sequence. , A count circuit for counting the number of “1” included in the difference number sequence output from the exclusive OR circuit, a count value of the count circuit, and the count circuit It has a configuration of a non-volatile semiconductor memory device comprising a comparison circuit for comparing with a predetermined value.

更に、本発明に係る不揮発性半導体記憶装置は、上記構成において、前記ランダマイズ回路は、前記アドレス信号に基づき乱数信号を発生させる乱数信号発生回路と、前記判定回路の判定結果に応じて、前記乱数信号発生回路で発生された乱数信号により前記データを反転させ、または、そのまま出力するゲート回路と、を備えたことを特徴とする不揮発性半導体記憶装置の構成を有する。   Furthermore, the nonvolatile semiconductor memory device according to the present invention has the configuration described above, wherein the randomizing circuit generates a random number signal based on the address signal, and the random number according to a determination result of the determination circuit. A non-volatile semiconductor memory device comprising: a gate circuit that inverts the data by a random number signal generated by a signal generation circuit or outputs the data as it is.

更に、本発明に係る方法は、メモリセルアレイを備えた不揮発性半導体記憶装置において、アドレス信号で指定される前記メモリセルアレイにデータを書き込む方法であって、前記メモリセルアレイに書き込むべきデータのばらつきの度合いを表す指標を演算し、前記指標が所定値以上であるかどうかを判定する段階と、前記判定の結果、前記指標が前記所定値以上である場合、前記データをそのまま前記メモリセルアレイに出力し、前記指標が前記所定値を下回る場合、前記データをランダマイズして前記メモリセルアレイに出力する段階と、を含む方法の構成を有する。   Furthermore, the method according to the present invention is a method of writing data to the memory cell array specified by an address signal in a nonvolatile semiconductor memory device having a memory cell array, and the degree of variation of data to be written to the memory cell array Calculating an index representing the value, and determining whether the index is equal to or greater than a predetermined value; and as a result of the determination, if the index is equal to or greater than the predetermined value, the data is output to the memory cell array as it is; Randomizing the data and outputting the data to the memory cell array when the index is less than the predetermined value.

本発明によれば、無駄なデータランダマイズ処理を防止すると共に、元のデータに比較してデータのばらつきを有効に大きくすることができる。   According to the present invention, it is possible to prevent useless data randomization processing and to effectively increase the variation in data compared to the original data.

本発明の実施形態による不揮発性半導体記憶装置の構成(データの書き込みに関連する構成)を示すブロック図である。1 is a block diagram showing a configuration of a nonvolatile semiconductor memory device according to an embodiment of the present invention (configuration related to data writing). 本発明の実施形態による不揮発性半導体記憶装置が備えるランダマイズ回路(300)の構成例を示すブロック図である。It is a block diagram which shows the structural example of the randomization circuit (300) with which the non-volatile semiconductor memory device by embodiment of this invention is provided. 本発明の実施形態によるランダマイズ回路(300)が備える乱数信号発生回路(310)の構成例を示すブロック図である。It is a block diagram which shows the structural example of the random number signal generation circuit (310) with which the randomization circuit (300) by embodiment of this invention is provided. 本発明の実施形態による不揮発性記憶装置が備える判定回路(400)の構成例を示すブロック図である。It is a block diagram which shows the structural example of the determination circuit (400) with which the non-volatile memory device by embodiment of this invention is provided. 本発明の実施形態による不揮発性半導体記憶装置が備えるメモリセルアレイ(600)に格納されるデータの配列例を説明するための図である。FIG. 5 is a diagram illustrating an example of an arrangement of data stored in a memory cell array (600) included in a nonvolatile semiconductor memory device according to an embodiment of the present invention. 本発明の実施形態による不揮発性半導体記憶装置の構成(データの読み出しに関連する構成)を示すブロック図である。1 is a block diagram showing a configuration of a nonvolatile semiconductor memory device according to an embodiment of the present invention (configuration related to data reading). 本発明の実施形態による不揮発性半導体記憶装置が備えるランダマイズ解除回路(700)の構成例を示すブロック図である。It is a block diagram which shows the structural example of the randomization cancellation | release circuit (700) with which the non-volatile semiconductor memory device by embodiment of this invention is provided. 本発明の実施形態による不揮発性半導体記憶装置が備える判定回路(400)の動作(データのばらつきの判定手法)を説明するための図である。It is a figure for demonstrating operation | movement (data variation determination method) of the determination circuit (400) with which the non-volatile semiconductor memory device by embodiment of this invention is provided. 本発明の実施形態による不揮発性半導体記憶装置が備える判定回路(400)の動作(データのばらつきの判定基準)を説明するための図である。It is a figure for demonstrating operation | movement (determination reference | standard of the dispersion | variation in data) of the determination circuit (400) with which the non-volatile semiconductor memory device by embodiment of this invention is provided.

以下、図面を参照しながら、本発明の実施形態による不揮発性半導体記憶装置ついて詳細に説明する。   Hereinafter, a nonvolatile semiconductor memory device according to an embodiment of the present invention will be described in detail with reference to the drawings.

1.構成
図1に、本実施形態による不揮発性半導体記憶装置の全体構成を概略的に示す。
なお、図1では、データの書き込みに関連する構成のみを示しており、データの読み出しに関連する構成や、その他の一般的な回路(例えば、アドレス系の回路、制御系回路など)については省略されている。
1. Configuration FIG. 1 schematically shows the overall configuration of the nonvolatile semiconductor memory device according to the present embodiment.
Note that FIG. 1 shows only the configuration related to data writing, and the configuration related to data reading and other general circuits (for example, address-related circuits, control-related circuits, etc.) are omitted. Has been.

図1に示すように、本実施形態による不揮発性半導体記憶装置は、データの書き込みに関連する構成として、データ端子100、一時データ格納領域200(例えばSRAM)、ランダマイズ回路300、判定回路400、ページバッファ500、メモリセルアレイ600を備える。   As shown in FIG. 1, the nonvolatile semiconductor memory device according to the present embodiment includes a data terminal 100, a temporary data storage area 200 (for example, SRAM), a randomization circuit 300, a determination circuit 400, a page as a configuration related to data writing. A buffer 500 and a memory cell array 600 are provided.

ここで、データ端子100は、メモリセルアレイ100に書き込むべきデータDを外部から受け取るための外部端子である。一時データ格納領域200は、データ端子100を介して外部から入力されたデータDを一時的に記憶するためのものである。ランダマイズ回路300は、一時データ格納領域200から出力されたデータDAに対しランダマイズ処理を実施するためのものである。   Here, the data terminal 100 is an external terminal for receiving data D to be written to the memory cell array 100 from the outside. The temporary data storage area 200 is for temporarily storing data D input from the outside via the data terminal 100. The randomizing circuit 300 is for performing a randomizing process on the data DA output from the temporary data storage area 200.

判定回路400は、本実施形態による不揮発性半導体記憶回路の特徴部であり、データ端子100を介して入力されたデータDのばらつきを判定するためのものである。この判定回路400の判定結果に応じて、上述のランダマイズ回路300におけるランダマイズ処理の有無が制御される。   The determination circuit 400 is a characteristic part of the nonvolatile semiconductor memory circuit according to the present embodiment, and is for determining the variation of the data D input through the data terminal 100. The presence / absence of the randomizing process in the above-described randomizing circuit 300 is controlled according to the determination result of the determination circuit 400.

本実施形態では、判定回路400は、データDのばらつきが小さいと判定した場合、この判定結果を表す判定信号Sbypassとして論理値「0」を出力する。この場合、ランダマイズ回路300はデータDAに対してランダマイズ処理を実施する。また、判定回路400は、データDのばらつきが大きいと判定した場合、判定信号Sbypassとして論理値「1」を出力する。この場合、ランダマイズ回路300は、ランダマイズ処理を実施せず、ランダマイズ処理がバイパスされる。   In the present embodiment, when the determination circuit 400 determines that the variation in the data D is small, the determination circuit 400 outputs a logical value “0” as the determination signal Sbypass representing the determination result. In this case, the randomizing circuit 300 performs a randomizing process on the data DA. If the determination circuit 400 determines that the variation in the data D is large, the determination circuit 400 outputs a logical value “1” as the determination signal Sbypass. In this case, the randomizing circuit 300 does not perform the randomizing process, and the randomizing process is bypassed.

ページバッファ500は、ランダマイズ回路300から出力されたデータDBを一時的に蓄積するためのものである。   The page buffer 500 is for temporarily storing the data DB output from the randomizing circuit 300.

メモリセルアレイ600は、フローティングゲートを備えたメモリセル群から構成され、概略的には、各メモリセルは、複数のワード線と複数のビット線との交差点に位置するようにしてマトリックス状に配列されている。外部からのアドレス信号に基づいてロウデコーダ及びカラムデコーダ(図示なし)がワード線及びビット線をそれぞれ選択することにより、データを書き込むべきメモリセルを特定するものとなっている。   The memory cell array 600 is composed of a group of memory cells having floating gates. In general, each memory cell is arranged in a matrix so as to be located at intersections of a plurality of word lines and a plurality of bit lines. ing. A row decoder and a column decoder (not shown) select a word line and a bit line based on an external address signal, thereby specifying a memory cell to which data is to be written.

図2に、ランダマイズ回路300の構成例を示す。
同図に示すように、ランダマイズ回路300は、乱数信号発生回路310、インバータ320、論理積ゲート回路330、排他的論理和ゲート回路340から構成される。ここで、乱数信号発生回路310は、データの書き込み時に、外部のアドレス信号ADからランダマイズ処理で使用される乱数信号SPを発生させるためのものである。
FIG. 2 shows a configuration example of the randomization circuit 300.
As shown in the figure, the randomization circuit 300 includes a random number signal generation circuit 310, an inverter 320, an AND gate circuit 330, and an exclusive OR gate circuit 340. Here, the random number signal generation circuit 310 is for generating a random number signal SP used in randomization processing from an external address signal AD when data is written.

また、インバータ320の入力部には、図1の判定回路400から判定信号Sbypassが与えられる。論理積ゲート回路330の一方の入力部にはインバータ320の出力部が接続され、他方の入力部には乱数信号発生回路310の出力部が接続される。排他的論理和ゲート回路340の一方の入力部には論理積ゲート回路330の出力部が接続され、他方の入力部には一時データ格納領域200から出力されたデータDAが与えられる。   Further, the determination signal Sbypass is given from the determination circuit 400 of FIG. The output part of the inverter 320 is connected to one input part of the AND gate circuit 330 and the output part of the random number signal generation circuit 310 is connected to the other input part. The output part of the AND gate circuit 330 is connected to one input part of the exclusive OR gate circuit 340, and the data DA output from the temporary data storage area 200 is supplied to the other input part.

このランダマイズ回路300によれば、判定信号Sbypassに応じてデータDAに対するランダマイズ処理が制御される。即ち、判定信号Sbypassの論理値が「0」である場合、乱数信号発生回路310から出力される乱数信号SPが論理積ゲート回路330を介して排他的論理和ゲート回路340に与えられ、排他的論理和ゲート回路340が、乱数信号SPに基づいてデータDAに対するランダマイズ処理を実施し、ランダマイズされたデータDBを出力する。このとき、排他的論理和ゲート回路340は、乱数信号発生回路310で発生された乱数信号SPによりデータDAの各ビットを選択的に反転させる。   According to the randomization circuit 300, the randomization process for the data DA is controlled according to the determination signal Sbypass. That is, when the logical value of the determination signal Sbypass is “0”, the random number signal SP output from the random number signal generation circuit 310 is given to the exclusive OR gate circuit 340 via the AND gate circuit 330, The OR gate circuit 340 performs a randomization process on the data DA based on the random number signal SP, and outputs a randomized data DB. At this time, the exclusive OR gate circuit 340 selectively inverts each bit of the data DA by the random number signal SP generated by the random number signal generation circuit 310.

これに対し、判定信号Sbypassの論理値が「1」である場合、論理積ゲート回路330の出力が論理値「0」に固定される。この場合、排他的論理和ゲート回路340は、データDAをそのままデータDBとして出力する。即ち、この場合、ランダマイズ処理がバイパスされる。また、この場合、判定信号Sbypassに基づいて乱数信号発生回路310は非活性化され、ランダマイズ処理のための回路動作は実施されない。   On the other hand, when the logical value of the determination signal Sbypass is “1”, the output of the AND gate circuit 330 is fixed to the logical value “0”. In this case, the exclusive OR gate circuit 340 outputs the data DA as it is as the data DB. That is, in this case, the randomization process is bypassed. In this case, the random number signal generation circuit 310 is deactivated based on the determination signal Sbypass, and the circuit operation for the randomization process is not performed.

図3に、乱数信号発生回路310の構成例を示す。
同図に示すように、乱数信号発生回路310は、カスケード接続されたn個のフリップフロップ311−1,311−2,…311−n(nは自然数)からなるシフトレジスタと、排他的論理和ゲート回路312から構成される。ここで、排他的論理和ゲート回路312の一方の入力部は最終段のフリップフロップ311−nの入力部に接続され、他方の入力部は上記フリップフロップ311−nの出力部に接続される。この排他的論理和ゲート回路312の出力部は初段のフリップフロップ311−1の入力部に接続される。また、フリップフロップ311−1,311−2,…311−nには、それらの初期値(乱数のシード値)として、アドレス信号ADの各ビットの値A,A,…Aが設定される。
FIG. 3 shows a configuration example of the random number signal generation circuit 310.
As shown in the figure, the random number signal generation circuit 310 includes a shift register composed of n flip-flops 311-1, 311-2, ... 311-n (n is a natural number) connected in cascade, and an exclusive OR. The gate circuit 312 is configured. Here, one input section of the exclusive OR gate circuit 312 is connected to the input section of the final flip-flop 311-n, and the other input section is connected to the output section of the flip-flop 311-n. The output part of this exclusive OR gate circuit 312 is connected to the input part of the first stage flip-flop 311-1. The flip-flop 311-1 and 311-2, the ... 311-n, as their initial values (seed value of the random number), the value A 0 of each bit of the address signal AD, A 1, is ... A n set Is done.

この乱数信号発生回路310によれば、所定のクロック信号(図示なし)に同期してn個のフリップフロップ311−1,311−2,…311−nの各値を順次シフトさせ、最終段のフリップフロップ311−nの入力部と出力部に表れる信号を排他的論理和ゲート回路312で演算し、その演算結果を初段のフリップフロップ311−1に戻すことにより、上記クロック信号に同期して、最終段のフリップフロップ回路311−nから乱数信号SPが出力される。   According to the random number signal generation circuit 310, each value of the n flip-flops 311-1, 311-2,... 311-n is sequentially shifted in synchronization with a predetermined clock signal (not shown), and the final stage signal is output. A signal appearing at the input and output of the flip-flop 311-n is operated by the exclusive OR gate circuit 312, and the result of the operation is returned to the flip-flop 311-1 at the first stage, thereby synchronizing with the clock signal, A random number signal SP is output from the flip-flop circuit 311-n at the final stage.

図4に、判定回路400の構成例を示す。
同図に示すように、判定回路400は、排他的論理和回路410、カウント回路420、比較回路430から構成される。ここで、排他的論理和回路410の入力部には、図1のデータ端子100を介して外部から入力されたデータDが与えられる。この排他的論理和回路410は、データDの各ビットのうち、隣接する二つのビットの排他的論理和を演算することにより、データDの階差数列に相当するデータD’を生成する。
FIG. 4 shows a configuration example of the determination circuit 400.
As shown in the figure, the determination circuit 400 includes an exclusive OR circuit 410, a count circuit 420, and a comparison circuit 430. Here, the data D input from the outside is given to the input part of the exclusive OR circuit 410 through the data terminal 100 of FIG. The exclusive OR circuit 410 generates data D ′ corresponding to the difference number sequence of the data D by calculating the exclusive OR of two adjacent bits among the bits of the data D.

排他的論理和回路410の出力部はカウント回路420の入力部に接続され、カウント回路420には排他的論理和ゲート回路410からデータD’が与えられる。このカウント回路420は、データD’に含まれるビットのうち、論理値が「1」のビットの個数(階差数列D’の重み)をカウントするためのものである。   The output section of the exclusive OR circuit 410 is connected to the input section of the count circuit 420, and the data D ′ is supplied from the exclusive OR gate circuit 410 to the count circuit 420. The count circuit 420 is for counting the number of bits having a logical value “1” (the weight of the difference number sequence D ′) among the bits included in the data D ′.

カウント回路420の出力部は比較回路430の入力部に接続され、比較回路430にはカウント回路420からカウント値CNTが与えられる。この比較回路430は、カウント値CNTと所定値とを比較し、その比較結果を判定信号Sbypassとして出力するためのものである。この例では、カウント値CNTが所定値以上であれば、判定信号Sbypassとして論理値「1」を出力し、カウント値CNTが所定値を下回れば、判定信号Sbypassとして論理値「0」を出力する。   An output part of the count circuit 420 is connected to an input part of the comparison circuit 430, and the count value CNT is given to the comparison circuit 430 from the count circuit 420. The comparison circuit 430 compares the count value CNT with a predetermined value and outputs the comparison result as a determination signal Sbypass. In this example, if the count value CNT is greater than or equal to a predetermined value, a logical value “1” is output as the determination signal Sbypass, and if the count value CNT falls below the predetermined value, a logical value “0” is output as the determination signal Sbypass. .

図5に、メモリセルアレイ600に格納されたデータの配列を示す。
同図に示すように、メモリセルアレイ600には、ランダマイズ回路300から出力されたデータDBの各ビットの値B,B,…Bを格納するためのデータ領域610と、判定回路400から出力される判定信号Sbypassの論理値を表す1ビットのデータBを格納するためのデータ領域620とを1組として、データが格納される。
FIG. 5 shows an arrangement of data stored in the memory cell array 600.
As shown in the figure, the memory cell array 600 includes a data area 610 for storing values B 0 , B 1 ,... B N of each bit of the data DB output from the randomizing circuit 300, and a determination circuit 400. a data area 620 for storing data B R of 1 bit representing the logical value of the decision signal Sbypass is output as one set, the data is stored.

本実施形態では、1回の書き込み動作で書き込まれるNビット(Nは任意の自然数)のデータDBごとに、判定回路400から出力される判定信号Sbypassに基づいて1ビットのデータBが設定される。ここで、論理値「0」のデータBは、このデータBと組をなすデータDBがランダマイズ処理されたことを表し、論理値「1」のデータBは、このデータBと組をなすデータDBがランダマイズ処理されていないことを表す。このデータBは、メモリセルアレイ600に書き込まれたデータDBを読み出す際に、ランダマイズ解除処理を必要とするかどうかを判別するために使用される。 In the present embodiment, for each data DB of one N bits written in the write operation (N is an arbitrary natural number), the data B R of 1 bit on the basis of the determination signal Sbypass output from the determination circuit 400 is set The Here, the logical value data B R "0" represents that data DB that forms the data B R and pairs were randomized processed, data B R of a logical value "1", the data B R and pairs This means that the data DB that constitutes is not randomized. The data B R, when reading data DB written in the memory cell array 600, is used to determine whether to require randomizing release processing.

次に、図6及び図7を参照して、データの読み出しに関連する構成について説明する。
図6に、データの読み出しに関連する本実施形態による不揮発性半導体記憶装置の全体構成を概略的に示す。同図において、前述の図1に示す構成要素と共通する要素には同一符号を付し、その説明を省略する。
Next, a configuration related to data reading will be described with reference to FIGS.
FIG. 6 schematically shows the overall configuration of the nonvolatile semiconductor memory device according to the present embodiment related to data reading. In the figure, elements common to the components shown in FIG. 1 described above are denoted by the same reference numerals and description thereof is omitted.

なお、本実施形態では、説明の便宜上、図1にデータの書き込みに関連する構成を示し、図6にデータの読み出しに関連する構成を示すが、本実施形態による不揮発性半導体記憶装置は、図1の構成と図6の構成を一体的に備えている。   In the present embodiment, for convenience of explanation, FIG. 1 shows a configuration related to data writing, and FIG. 6 shows a configuration related to data reading. The nonvolatile semiconductor memory device according to the present embodiment is shown in FIG. 1 and the configuration of FIG. 6 are integrally provided.

図6に示すように、本実施形態による不揮発性半導体記憶装置は、データの読み出しに関連する構成として、ページバッファ500と一時データ格納領域200との間にランダマイズ解除回路700を備え、このランダマイズ解除回路700には、メモリセルアレイ600からページバッファ500を介して上述のデータDBとデータBが入力される。ランダマイズ解除回路700は、メモリセルアレイ600からデータDBを読み出す際に、このデータDBと組をなすデータBに基づいてランダマイズ解除処理の要否を判別し、データBの論理値が「0」である場合、即ち、書き込み時にデータDBがランダマイズ処理されたものである場合に、このデータDBに対しランダマイズ解除処理を実施するものである。 As shown in FIG. 6, the nonvolatile semiconductor memory device according to the present embodiment includes a randomization cancellation circuit 700 between the page buffer 500 and the temporary data storage area 200 as a configuration related to data reading, and this randomization cancellation. The above-described data DB and data BR are input to the circuit 700 from the memory cell array 600 via the page buffer 500. Randomized release circuit 700, when reading the data DB from the memory cell array 600, to determine the necessity of randomizing release process based on the data B R constituting the data DB and set, the logical value of the data B R is "0" In other words, when the data DB is randomized at the time of writing, the randomization cancellation processing is performed on the data DB.

図7に、ランダマイズ解除回路700の構成例を示す。
同図に示すように、ランダマイズ解除回路700は、乱数信号発生回路710、インバータ720、論理積ゲート回路730、排他的論理和ゲート回路740から構成される。ここで、乱数信号発生回路710は、データの読み出し時に、外部のアドレス信号ADからランダマイズ解除処理で使用される乱数信号SRを発生させるためのものであり、基本的に、乱数信号発生回路710が乱数信号SRを発生させるアルゴリズムは、乱数信号発生回路310と同じである。従って、ランダマイズ解除で使用される乱数SRは、データ書き込み時に生成される乱数SPと同じである。
FIG. 7 shows a configuration example of the randomization cancellation circuit 700.
As shown in the figure, the randomization cancellation circuit 700 includes a random number signal generation circuit 710, an inverter 720, an AND gate circuit 730, and an exclusive OR gate circuit 740. Here, the random number signal generation circuit 710 is for generating a random number signal SR to be used in randomization cancellation processing from an external address signal AD when reading data, and basically the random number signal generation circuit 710 The algorithm for generating the random number signal SR is the same as that of the random number signal generating circuit 310. Therefore, the random number SR used for randomization cancellation is the same as the random number SP generated at the time of data writing.

また、インバータ720の入力部には、図1のページバッファ500を介してメモリセルアレイ600からデータBが与えられる。論理積ゲート回路730の一方の入力部にはインバータ720の出力部が接続され、その他方の入力部には乱数信号発生回路710の出力部が接続される。排他的論理和ゲート回路740の一方の入力部には論理積ゲート回路730の出力部が接続され、その他方の入力部には図6のページバッファ500を介してメモリセルアレイ600からデータDBが与えられる。 Further, the input of inverter 720, the data B R is given from the memory cell array 600 via the page buffer 500 of FIG. The output part of the inverter 720 is connected to one input part of the AND gate circuit 730, and the output part of the random number signal generation circuit 710 is connected to the other input part. One input portion of the exclusive OR gate circuit 740 is connected to the output portion of the AND gate circuit 730, and the other input portion is supplied with data DB from the memory cell array 600 via the page buffer 500 of FIG. It is done.

このランダマイズ解除回路700によれば、データBに応じてデータDBに対するランダマイズ解除処理が制御される。即ち、データBの論理値が「0」である場合、乱数信号発生回路710から出力される乱数信号SRが論理積ゲート回路730を介して排他的論理和ゲート回路740に与えられ、この排他的論理和ゲート回路740が、乱数信号SRに基づいてデータDBに対するランダマイズ解除処理を実施し、ランダマイズ解除されたデータDAを出力する。 According to the randomized release circuit 700, randomizing release processing for the data DB according to the data B R is controlled. That is, when the logical value of the data B R is "0", the random number signal SR output from the random number signal generating circuit 710 is supplied to the exclusive OR gate circuit 740 through the AND gate circuit 730, the exclusive The logical OR gate circuit 740 performs a randomization cancellation process on the data DB based on the random number signal SR, and outputs the randomized data DA.

このとき、データ書き込み時において反転されたビットの論理値がランダマイズ処理前の元の論理値に戻される。これに対し、データBの論理値が「1」である場合、論理積ゲート回路730の出力が論理値「0」に固定される。この場合、排他的論理和ゲート回路740は、メモリセルアレイ600からのデータDBをそのままデータDAとして一時データ格納領域200に出力する。即ち、ランダマイズ解除処理がバイパスされる。 At this time, the logical value of the inverted bit at the time of data writing is returned to the original logical value before the randomizing process. In contrast, when the logical value of the data B R is "1", the output of the AND gate circuit 730 is fixed to the logic value "0". In this case, the exclusive OR gate circuit 740 outputs the data DB from the memory cell array 600 as it is to the temporary data storage area 200 as data DA. That is, the randomization cancellation process is bypassed.

2.動作
次に、上述の図1ないし図7に加え、図8および図9を参照しながら、ランダマイズ処理に着目して、本実施形態による不揮発性半導体記憶装置のデータ書き込み動作(データ書き込み方法)とデータ読み出し動作(データ読み出し方法)を説明する。
2. Operation Next, with reference to FIGS. 8 and 9 in addition to FIGS. 1 to 7 described above, focusing on the randomization process, the data write operation (data write method) of the nonvolatile semiconductor memory device according to the present embodiment will be described. A data read operation (data read method) will be described.

<データ書き込み動作>
書き込むべきNビット(Nは任意の自然数)のデータDとして、図8に例示するように、10ビット(N=10)のビット列「0001101111」を仮定する。このデータDは、データ端子100を介して一時データ格納領域200に入力され、一時データ格納領域200からデータDAとしてランダマイズ回路300に与えられる。
<Data writing operation>
As illustrated in FIG. 8, a 10-bit (N = 10) bit string “0001101111” is assumed as data D of N bits (N is an arbitrary natural number) to be written. The data D is input to the temporary data storage area 200 via the data terminal 100, and is supplied from the temporary data storage area 200 to the randomization circuit 300 as data DA.

また、データDは判定回路400にも与えられる。判定回路400は、書き込むべきデータDのビット列における「0」のビットと「1」のビットの分布のばらつき(以下、単に「データのばらつき」と称す)が大きいか小さいかを判定する。即ち、判定回路400を構成する図4の排他的論理和回路410は、データDのビット列内の隣り合う二つのビットの排他的論理和を演算することにより、データDの階差数列からなるデータD’を生成する。   Data D is also given to the determination circuit 400. The determination circuit 400 determines whether the distribution variation (hereinafter simply referred to as “data variation”) between the “0” bit and the “1” bit in the bit string of the data D to be written is large or small. That is, the exclusive OR circuit 410 shown in FIG. 4 constituting the determination circuit 400 calculates the exclusive OR of two adjacent bits in the bit string of the data D, thereby obtaining the data composed of the difference sequence of the data D. D ′ is generated.

カウント回路420は、このデータD’に含まれる論理値「1」のビットの個数をカウントしてカウント値CNTを出力する。比較回路430は、カウント値CNTと所定値とを比較し、その大小関係に応じた論理値を判定信号Sbypassとして出力する。このとき、カウント値CNTが所定値以上である場合、判定信号Sbypassの論理値は、データDのばらつきが大きいことを示す「1」とされ、逆に、カウント値CNTが所定値を下回る場合には、判定信号Sbypassの論理値は、データDのばらつきが小さいことを示す「0」とされる。   The count circuit 420 counts the number of bits of the logical value “1” included in the data D ′ and outputs a count value CNT. The comparison circuit 430 compares the count value CNT with a predetermined value and outputs a logical value corresponding to the magnitude relationship as the determination signal Sbypass. At this time, when the count value CNT is equal to or larger than the predetermined value, the logical value of the determination signal Sbypass is set to “1” indicating that the variation of the data D is large, and conversely, when the count value CNT is lower than the predetermined value. The logic value of the determination signal Sbypass is “0” indicating that the variation of the data D is small.

ここで、データのばらつきの判定原理を説明する。
データDのばらつきの判定は、データDのビット列における「0」のビットと「1」のビットとの間の境界の個数に基づいている。図8の例では、上記の境界は破線で示されている。図8に例示するデータDのビット列「0001101111」においては、左側から数えて3番目のビットと4番目のビットとの間と、5番目のビットと6番目のビットのとの間と、6番目のビットと7番目のビットのとの間に上記の境界が存在し、この例では境界の個数は「3」である。
Here, the principle of determination of data variation will be described.
The determination of the variation of the data D is based on the number of boundaries between “0” bits and “1” bits in the bit string of the data D. In the example of FIG. 8, the above boundary is indicated by a broken line. In the bit string “0001101111” of the data D illustrated in FIG. 8, between the third bit and the fourth bit counted from the left side, between the fifth bit and the sixth bit, and the sixth bit. The above boundary exists between the 7th bit and the 7th bit. In this example, the number of boundaries is “3”.

上記の境界で区切られる各区間では、「0」または「1」の一方のビットが連続し、1つの区間内には同一論理値のビットが存在する。従って、或る一定サイズのデータD内で上記の境界の個数が多いほど、同一論理値のビットが連続する区間が短くなり、「0」のビットと「1」のビットの分布の偏りが小さく、データのばらつきが大きくなる。逆に、或る一定サイズのデータD内で上記の境界の個数が少ないほど、同一論理値のビットが連続する区間が長くなり、「0」のビットと「1」のビットの分布の偏りが大きく、データのばらつきが小さくなる。従って、上記の境界の個数からデータのばらつきを評価することができる。このような理由から、データのばらつきの度合いを表す指標として上記の境界の個数を採用することができる。   In each section delimited by the boundary, one bit of “0” or “1” is continuous, and bits having the same logical value exist in one section. Accordingly, the larger the number of the above-mentioned boundaries in the data D of a certain size, the shorter the section in which the same logical value bits continue, and the deviation in the distribution of the “0” bits and the “1” bits becomes smaller. The variation of data becomes large. Conversely, the smaller the number of the above-mentioned boundaries in the data D of a certain size, the longer the section in which bits of the same logical value continue, and the distribution of the distribution of “0” bits and “1” bits becomes more uneven. Large and data variation is small. Therefore, data variation can be evaluated from the number of the boundaries. For these reasons, the number of boundaries described above can be used as an index representing the degree of data variation.

また、図8に示す例において、上記の境界は、書き込むべきデータDのビット列「0001101111」を数列として見たときに、その階差数列として得られるデータD’のビット列「001011000」における「1」に対応している。このデータD’は、判定回路400を構成する図4の排他的論理和回路410により生成される。即ち、排他的論理和回路410は、図8のデータDのビット列「0001101111」のうち、隣り合う二つのビットの排他的論理和を演算することにより、データD’のビット列「001011000」を生成する。   In the example shown in FIG. 8, the boundary is “1” in the bit string “001011000” of the data D ′ obtained as the difference number sequence when the bit string “0001101111” of the data D to be written is viewed as a number sequence. It corresponds to. This data D ′ is generated by the exclusive OR circuit 410 of FIG. That is, the exclusive OR circuit 410 generates the bit string “001011000” of the data D ′ by calculating the exclusive OR of two adjacent bits in the bit string “0001101111” of the data D in FIG. .

ここで、データD’のビット列における「1」のビットは、データDにおいて隣り合う二つのビットのうちの一方が論理値「0」であり、他方が論理値「1」である場合に、これら二つのビットの論理値の排他的論理和(階差の絶対値)を演算したときに得られ、図8の例では、境界を挟んで隣り合う二つのビット論理値の排他的論理和(階差の絶対値)を演算したときに得られる。従って、図8において、データD’のビット列における「1」のビットは、データDのビット列における上記の境界に対応し、上記の境界の個数は、図4のカウント回路420によりデータD’における「1」のビットの個数を計数することにより得られる。   Here, the bit “1” in the bit string of the data D ′ is obtained when one of two adjacent bits in the data D has a logical value “0” and the other has a logical value “1”. Obtained by calculating the exclusive OR of the logical values of the two bits (the absolute value of the difference). In the example of FIG. 8, the exclusive logical OR of the two bit logical values adjacent to each other across the boundary is calculated. Obtained when computing the absolute value of the difference. Therefore, in FIG. 8, the bit “1” in the bit string of the data D ′ corresponds to the boundary in the bit string of the data D, and the number of the boundary is determined by the count circuit 420 in FIG. It is obtained by counting the number of “1” bits.

上記の境界の個数を表すカウント値CNTは、上述したように、比較回路430により所定値と比較され、比較回路430は、その大小関係に応じた論理値を有する判定信号Sbypassを出力する。ここで、上記の所定値として(N−1)/2を採用することが好ましい。なお、Nは、書き込むべきデータDのビット数を表す。   As described above, the count value CNT representing the number of boundaries is compared with a predetermined value by the comparison circuit 430, and the comparison circuit 430 outputs a determination signal Sbypass having a logical value corresponding to the magnitude relationship. Here, it is preferable to adopt (N−1) / 2 as the predetermined value. N represents the number of bits of data D to be written.

ここで、図9を参照して、上記の所定値として(N−1)/2を採用することの技術的意義を説明する。
一般に、特定の値に初期化されたデータ等のように特別な場合を除けば、書き込むべきデータのビット列における論理値の配列は様々なパターンをとり、そのデータの階差数列の重み(論理値「1」の個数)は二項分布に従う。
Here, with reference to FIG. 9, the technical significance of adopting (N−1) / 2 as the predetermined value will be described.
In general, except for special cases such as data initialized to a specific value, the arrangement of logical values in the bit string of data to be written takes various patterns, and the weight of the difference number sequence (logical value) of the data. The number of “1”) follows a binomial distribution.

即ち、NビットのデータDを考えると、その階差数列の項数(データD’のビット数)は「N−1」であり、その階差数列の重み(データD’に含まれる「1」のビットの個数)は、図9(a)に示すように、(N−1)/2を平均値とする二項分布に従う。従って、上記の階差数列の重みに対応する上記の境界の個数の分布も(N−1)/2を平均値とする二項分布に従う。ランダマイズ処理後のデータも同様である。
なお、図9(a)において、二項分布を表す曲線と横軸とにより囲まれた領域の面積は1であり、即ち、各重みに対する確率の合計は100パーセントになる。
That is, when N-bit data D is considered, the number of terms in the difference number sequence (the number of bits of data D ′) is “N−1”, and the weight of the difference number sequence (“1” included in data D ′) "Number of bits" follows a binomial distribution with an average value of (N-1) / 2, as shown in FIG. Accordingly, the distribution of the number of boundaries corresponding to the weights of the difference number sequence follows a binomial distribution with an average value of (N-1) / 2. The same applies to the data after randomization processing.
In FIG. 9A, the area surrounded by the curve representing the binomial distribution and the horizontal axis is 1, that is, the total probability for each weight is 100%.

いま、上記階差数列の任意の重みxを考えると、図9(a)において、重みがx以上となる確率は、図9(a)の斜線領域の面積Sで表される。ただし、xは0からN−1までの任意の値を表す変数である。本発明では、データDのばらつきが小さい場合(重みが所定値を下回る場合)にランダマイズ処理を実施し、大きい場合(重みが所定値以上である場合)にはランダマイズ処理を実施せずにデータを書き込む。このことから、最終的にメモリセルアレイに書き込まれるデータDBの階差数列の重みがx以上となる確率Piは、元のデータDの階差数列の重みがx以上である場合の確率P1と、元のデータDの階差数列の重みがxを下回る場合にランダマイズ処理を実施したことによりデータの階差数列の重みがx以上となる場合の確率P2との和(P1+P2)になる。   Now, considering an arbitrary weight x of the above-mentioned difference number sequence, in FIG. 9A, the probability that the weight is greater than or equal to x is represented by the area S of the hatched area in FIG. 9A. Here, x is a variable representing an arbitrary value from 0 to N-1. In the present invention, the randomization process is performed when the variation of the data D is small (when the weight is less than the predetermined value), and when the data D is large (when the weight is greater than or equal to the predetermined value), Write. From this, the probability Pi that the weight of the difference sequence of the data DB that is finally written in the memory cell array is greater than or equal to x is the probability P1 when the weight of the difference sequence of the original data D is greater than or equal to x. When the weight of the difference sequence of the original data D is less than x, the randomization process is performed, so that the sum (P1 + P2) with the probability P2 when the weight of the difference sequence of the data is greater than or equal to x.

確率P1はSで表され、確率P2は(1−S)Sで表されるから、確率Piは、次式(1)により表され、図9(b)に示すように、座標(0,0)を通り、座標(1,1)を頂点とする二次関数曲線により表される。   Since the probability P1 is represented by S and the probability P2 is represented by (1-S) S, the probability Pi is represented by the following equation (1), and as shown in FIG. 0) and is expressed by a quadratic function curve having coordinates (1, 1) as a vertex.

Pi=P1+P2=S+(1−S)S=−S+2S=−(S−1)+1 …(1) Pi = P1 + P2 = S + (1-S) S = −S 2 + 2S = − (S−1) 2 +1 (1)

これに対し、従来技術により単純にデータDに対してランダマイズ処理を実施して得られる階差数列の重みがx以上となる場合の確率Pjは次式(2)により表され、図9(b)に示すように、座標(0,0)を通り、傾きが1の直線により表される。   On the other hand, the probability Pj when the weight of the difference sequence obtained by simply performing the randomization process on the data D by the conventional technique is greater than or equal to x is expressed by the following equation (2), and FIG. ), It is represented by a straight line passing through coordinates (0, 0) and having an inclination of 1.

P2=S …(2)   P2 = S (2)

ここで、式(1)および式(2)から、本発明による確率Piと、従来技術による確率Pjとの差分ΔPは、次式(3)により表される。   Here, from the equations (1) and (2), the difference ΔP between the probability Pi according to the present invention and the probability Pj according to the prior art is expressed by the following equation (3).

ΔP=Pi−Pj
=(−S+2S)−S=−S+S=−(S−1/2)+1/4 …(3)
ΔP = Pi−Pj
= (-S 2 + 2S) -S = -S 2 + S =-(S-1 / 2) 2 +1/4 (3)

式(3)から、ΔPはS=1/2のときに最大になることが分かる。これは、図9(a)において、変数xが(N−1)/2となる場合に相当する。従って、書き込む前のデータDのばらつきが大きいか小さいかの判定において、比較回路430に上記の所定値として(N−1)/2を設定し、データDのばらつきの度合いを表す指標として得られる上記の境界の個数を表すカウント値CNTを(N−1)/2と比較することにより、データDのばらつきを最も効果的に改善するように判定することができる。ただし、前述のように、上記の所定値は(N−1)/2に限定されず、これ以外の値に設定した場合であっても、データのばらつきを改善することができる。   From equation (3), it can be seen that ΔP is maximized when S = ½. This corresponds to the case where the variable x is (N−1) / 2 in FIG. Therefore, in determining whether the variation of the data D before writing is large or small, (N−1) / 2 is set as the predetermined value in the comparison circuit 430, and it is obtained as an index representing the degree of variation of the data D. By comparing the count value CNT representing the number of the boundaries with (N−1) / 2, it is possible to determine to most effectively improve the variation of the data D. However, as described above, the predetermined value is not limited to (N−1) / 2, and even when the value is set to a value other than this, data variation can be improved.

上述のような判定の結果、判定回路400から出力された判定信号Sbypassは図1および図2のランダマイズ回路300に与えられる。   As a result of the determination as described above, the determination signal Sbypass output from the determination circuit 400 is applied to the randomization circuit 300 of FIGS.

ここで、説明を図1および図2に戻す。
ランダマイズ回路300は、判定回路400から入力される判定信号Sbypassの論理値が「1」であれば、一時データ格納領域200から入力されるデータDAをそのままデータDBとしてページバッファ500に与える。この場合、ランダマイズ処理は実施されず、バイパスされる。また、判定信号Sbypassの論理値が「0」であれば、一時データ格納領域200から入力されるデータDAに対し、乱数信号発生回路310から出力される乱数信号SPを用いてランダマイズ処理を実施し、ランダマイズされたデータDBをページバッファに与える。
Here, the description returns to FIG. 1 and FIG.
If the logical value of the determination signal Sbypass input from the determination circuit 400 is “1”, the randomization circuit 300 supplies the data DA input from the temporary data storage area 200 as it is to the page buffer 500 as the data DB. In this case, the randomization process is not performed and bypassed. If the logical value of the determination signal Sbypass is “0”, randomization processing is performed on the data DA input from the temporary data storage area 200 using the random number signal SP output from the random number signal generation circuit 310. Then, the randomized data DB is given to the page buffer.

ランダマイズ回路300から出力されたデータDBは、ページバッファ500を介して、アドレス信号で指定されるメモリセルアレイ600内のメモリセルに書き込まれる。
以上で、データの書き込み動作を説明した。
The data DB output from the randomizing circuit 300 is written into the memory cell in the memory cell array 600 specified by the address signal via the page buffer 500.
The data write operation has been described above.

<データ読み出し動作>
次に、図6および図7を参照して、データの読み出し動作を説明する。
上述したようにメモリセルアレイ600に書き込まれたデータDBを読み出す場合、書き込み時と同じアドレス信号ADが外部から指定され、このアドレス信号ADに基づいて、メモリセルアレイ600からデータDBがページバッファ500を介してランダマイズ解除回路700に与えられる。このとき、このデータDBと組をなすデータBもメモリセルアレイ600から一緒に読み出される。
<Data read operation>
Next, a data read operation will be described with reference to FIGS.
As described above, when reading the data DB written in the memory cell array 600, the same address signal AD as that at the time of writing is designated from the outside, and the data DB is transferred from the memory cell array 600 via the page buffer 500 based on this address signal AD. To the randomization cancellation circuit 700. In this case, the data constituting the data DB and the set B R also read together from the memory cell array 600.

ランダマイズ解除回路700は、データBの論理値が「1」であれば、ページバッファ500から入力されるデータDBをそのままデータDAとして一時データ格納領域200に与える。この場合、ランダマイズ解除処理は実施されず、バイパスされる。また、データBの論理値が「0」であれば、ページバッファ500から入力されるデータDBに対し、乱数信号発生回路710から出力される乱数信号SRを用いてランダマイズ解除処理を実施し、ランダマイズ解除されたデータDAを一時データ格納領域200に与える。 Randomized release circuit 700, if the logical value of the data B R is "1", giving the data DB input from the page buffer 500 as it is to the temporary data storage area 200 as the data DA. In this case, the randomization cancellation processing is not performed and bypassed. Further, if the logical value of the data B R is "0", for the data DB input from the page buffer 500, performing the randomizing cancellation processing using the random number signal SR output from the random number signal generating circuit 710, The randomized data DA is given to the temporary data storage area 200.

一時データ格納領域200は、ランダマイズ解除回路700から入力されたデータDAをデータDとしてデータ端子100を介して外部に出力する。
以上で、データ読み出し動作を説明した。
The temporary data storage area 200 outputs the data DA input from the randomization cancellation circuit 700 as data D to the outside through the data terminal 100.
The data read operation has been described above.

以上のように、本実施形態では、書き込むべきデータDのばらつきに応じて、ランダマイズ処理の有無を制御している。これにより、実際にメモリセルアレイ600に書き込まれるデータDBのばらつきを有効に改善することが可能になる。   As described above, in the present embodiment, the presence / absence of the randomization process is controlled according to the variation of the data D to be written. Thereby, it is possible to effectively improve the variation of the data DB actually written in the memory cell array 600.

以下では、どの程度までデータのばらつきを改善することができるかを説明する。
ここでは、データのばらつきを判定するときの上記の所定値を平均値(=(N−1)/2)に設定し、実際にメモリセルに書き込まれるデータDBのビット列における「0」と「1」との間の境界の個数が上記平均値以上となる事象Aの起こる確率を計算する。
In the following, the extent to which data variation can be improved will be described.
Here, the above-mentioned predetermined value when determining the data variation is set to the average value (= (N−1) / 2), and “0” and “1” in the bit string of the data DB actually written in the memory cell. The probability of the occurrence of an event A in which the number of boundaries between “and“ is greater than the average value is calculated.

事象Aが起こるのは、次の場合である。
(i)書き込むべきデータDのビット列のおける「0」と「1」との間の境界の個数が上記平均値以上である場合。
(ii)書き込むべきデータDのビット列における「0」と「1」との間の境界の個数が上記平均値を下回り、且つ、ランダマイズ処理後のデータDBにおけるビット列における「0」と「1」との間の境界の個数が上記平均値以上である場合。
Event A occurs when:
(I) The number of boundaries between “0” and “1” in the bit string of the data D to be written is equal to or greater than the above average value.
(Ii) The number of boundaries between “0” and “1” in the bit string of the data D to be written is less than the average value, and “0” and “1” in the bit string in the data DB after randomization processing When the number of boundaries between is greater than the above average.

(i)の場合の確率は、1/2である。
(ii)の場合の確率は、書き込むべきデータDの上記の境界の個数が上記平均値を下回る確率(=1/2)と、ランダマイズ処理後のデータDBのビット列における「0」と「1」との間の上記の境界の個数が平均値以上となる確率(=1/2)とから求められ、これらは独立が事象であるから、単純に乗算して、1/2×1/2=1/4となる。
そして、上記の(i)と(ii)は背反な事象であるので、事象Aが起こる確率は、上記の(i)の確率と(ii)の確率を加算して、1/2+1/4=3/4となる。
In the case of (i), the probability is 1/2.
In the case of (ii), the probability of the data D to be written is less than the average value (= 1/2), and “0” and “1” in the bit string of the data DB after randomization processing. And the probability that the number of the above-mentioned boundaries between the two is greater than or equal to the average value (= 1/2). Since these are independent events, they are simply multiplied to give 1/2 × 1/2 = 1/4.
Since the above (i) and (ii) are contradictory events, the probability that the event A will occur is the sum of the probability of (i) and the probability of (ii), and 1/2 + 1/4 = 3/4.

一方、従来のランダマイズ方式によれば、実際にメモリセルに書き込まれるデータにおける「0」と「1」との間の境界の個数が平均値以上となる確率は、ランダマイズ処理前のデータとは無関係に1/2である。   On the other hand, according to the conventional randomization method, the probability that the number of boundaries between “0” and “1” in the data actually written in the memory cell is equal to or greater than the average value is irrelevant to the data before the randomization processing. 1/2.

従って、本実施形態によれば、従来のランダマイズ方式に比較して、1.5倍の確率で、ばらつきが平均値以上であるデータをメモリセルアレイに書き込むことができる。従って、データのばらつきを有効に改善することが可能になり、プログラムディスターブ等の問題に対して、従来のランダマイズ方式よりも高い効果を得ることができる。   Therefore, according to the present embodiment, data whose variation is equal to or greater than the average value can be written in the memory cell array with a probability 1.5 times that of the conventional randomization method. Therefore, it is possible to effectively improve the variation in data, and it is possible to obtain a higher effect than problems in the conventional randomization method for problems such as program disturb.

また、本実施形態によれば、元のデータのばらつきが十分である場合(上記の境界値が上記の平均値以上である場合)には、ランダマイズ処理は実施されないので、無駄な回路動作を防止することができ、消費電力を低減させることも可能になる。
更に、本実施形態によれば、データのばらつきが有効に改善される結果、データの書き込み回数が増えるに従って、各メモリセルに対する書き込み回数が均一化される。従って、特定のメモリセルにストレスが集中することがなく、信頼性を改善することもできる。
Further, according to the present embodiment, when the variation of the original data is sufficient (when the boundary value is equal to or greater than the average value), randomization processing is not performed, thereby preventing unnecessary circuit operation. It is possible to reduce power consumption.
Furthermore, according to the present embodiment, as a result of effectively improving the variation in data, the number of times of writing to each memory cell is made uniform as the number of times of writing data increases. Therefore, stress is not concentrated on a specific memory cell, and reliability can be improved.

以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものでははく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。   Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention.

100…データ端子、200…一時データ格納領域、300…ランダマイズ回路、400…判定回路、410…排他的論理和回路、420…カウント回路、430…比較回路、500…ページバッファ、600…メモリセルアレイ、700…ランダマイズ解除回路。   DESCRIPTION OF SYMBOLS 100 ... Data terminal, 200 ... Temporary data storage area, 300 ... Randomize circuit, 400 ... Judgment circuit, 410 ... Exclusive OR circuit, 420 ... Count circuit, 430 ... Comparison circuit, 500 ... Page buffer, 600 ... Memory cell array, 700: Randomize cancel circuit.

Claims (5)

メモリセルアレイを備え、アドレス信号で指定される前記メモリセルアレイにデータを書き込むように構成された不揮発性半導体記憶装置であって、
前記メモリセルアレイに書き込むべきデータのばらつきの度合いを表す指標を演算し、前記指標が所定値以上であるかどうかを判定する判定回路と、
前記判定回路による判定の結果、前記指標が前記所定値以上である場合、前記データを前記メモリセルアレイにそのまま出力し、前記指標が前記所定値を下回る場合、前記データをランダマイズして前記メモリセルアレイに出力するランダマイズ回路と、
を備えた不揮発性半導体記憶装置。
A nonvolatile semiconductor memory device comprising a memory cell array and configured to write data to the memory cell array specified by an address signal,
A determination circuit that calculates an index representing a degree of variation of data to be written to the memory cell array and determines whether the index is equal to or greater than a predetermined value;
As a result of determination by the determination circuit, when the index is equal to or greater than the predetermined value, the data is output to the memory cell array as it is, and when the index is lower than the predetermined value, the data is randomized and stored in the memory cell array. A randomizing circuit to output,
A non-volatile semiconductor memory device.
前記メモリセルアレイに書き込むべきデータがNビット(Nは任意の自然数)からなるデータであるとしたときに、前記指標は、前記Nビットのデータに含まれる隣接する二つのビットの排他的論理和を演算することで得られる階差数列に含まれる「1」の個数であり、前記所定値は(N−1)/2であることを特徴とする請求項1記載の不揮発性半導体記憶装置。   When the data to be written into the memory cell array is data consisting of N bits (N is an arbitrary natural number), the index is an exclusive OR of two adjacent bits included in the N-bit data. The nonvolatile semiconductor memory device according to claim 1, wherein the number is “1” included in the difference number sequence obtained by the calculation, and the predetermined value is (N−1) / 2. 前記判定回路は、
前記メモリセルアレイに書き込むべきデータに含まれる隣接する二つのビットの排他的論理和を演算して前記階差数列を出力するための排他的論理和回路と、
前記排他的論理和回路から出力される階差数列に含まれる「1」の個数をカウントするためのカウント回路と、
前記カウント回路のカウント値と前記所定値とを比較する比較回路と、
を備えたことを特徴とする請求項2記載の不揮発性半導体記憶装置。
The determination circuit includes:
An exclusive OR circuit for calculating the exclusive OR of two adjacent bits included in the data to be written in the memory cell array and outputting the difference number sequence;
A count circuit for counting the number of “1” included in the difference number sequence output from the exclusive OR circuit;
A comparison circuit for comparing the count value of the count circuit with the predetermined value;
The nonvolatile semiconductor memory device according to claim 2, further comprising:
前記ランダマイズ回路は、
前記アドレス信号に基づき乱数信号を発生させる乱数信号発生回路と、
前記判定回路の判定結果に応じて、前記乱数信号発生回路で発生された乱数信号により前記データを反転させ、または、そのまま出力するゲート回路と、
を備えたことを特徴とする請求項1ないし3の何れか1項記載の不揮発性半導体記憶装置。
The randomization circuit is:
A random number signal generating circuit for generating a random number signal based on the address signal;
In accordance with a determination result of the determination circuit, a gate circuit that inverts the data by a random number signal generated by the random number signal generation circuit or outputs the data as it is,
4. The nonvolatile semiconductor memory device according to claim 1, further comprising:
メモリセルアレイを備えた不揮発性半導体記憶装置において、アドレス信号で指定される前記メモリセルアレイにデータを書き込む方法であって、
前記メモリセルアレイに書き込むべきデータのばらつきの度合いを表す指標を演算し、前記指標が所定値以上であるかどうかを判定する段階と、
前記判定の結果、前記指標が前記所定値以上である場合、前記データをそのまま前記メモリセルアレイに出力し、前記指標が前記所定値を下回る場合、前記データをランダマイズして前記メモリセルアレイに出力する段階と、
を含む方法。
In a nonvolatile semiconductor memory device including a memory cell array, a method of writing data to the memory cell array specified by an address signal,
Calculating an index indicating the degree of variation of data to be written to the memory cell array, and determining whether the index is a predetermined value or more;
As a result of the determination, when the index is equal to or greater than the predetermined value, the data is output to the memory cell array as it is, and when the index is lower than the predetermined value, the data is randomized and output to the memory cell array. When,
Including methods.
JP2010283129A 2010-12-20 2010-12-20 Nonvolatile semiconductor memory device and method Pending JP2012133835A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010283129A JP2012133835A (en) 2010-12-20 2010-12-20 Nonvolatile semiconductor memory device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010283129A JP2012133835A (en) 2010-12-20 2010-12-20 Nonvolatile semiconductor memory device and method

Publications (1)

Publication Number Publication Date
JP2012133835A true JP2012133835A (en) 2012-07-12

Family

ID=46649273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010283129A Pending JP2012133835A (en) 2010-12-20 2010-12-20 Nonvolatile semiconductor memory device and method

Country Status (1)

Country Link
JP (1) JP2012133835A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5940704B1 (en) * 2015-03-26 2016-06-29 ウィンボンド エレクトロニクス コーポレーション Semiconductor memory device
US9927990B2 (en) 2015-09-10 2018-03-27 Toshiba Memory Corporation Memory system, memory controller and memory control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5940704B1 (en) * 2015-03-26 2016-06-29 ウィンボンド エレクトロニクス コーポレーション Semiconductor memory device
CN106024058A (en) * 2015-03-26 2016-10-12 华邦电子股份有限公司 Semiconductor memory apparatus and data processing method
US9927990B2 (en) 2015-09-10 2018-03-27 Toshiba Memory Corporation Memory system, memory controller and memory control method

Similar Documents

Publication Publication Date Title
US9036412B2 (en) Memory device and method of determining read voltage of memory device
US8014207B2 (en) Nonvolatile memory device and method of operating the same
US20070237006A1 (en) Method for generating soft bits in flash memories
US20090316490A1 (en) Method of writing data into semiconductor memory and memory controller
JP5291111B2 (en) Apparatus and method for multi-bit programming
KR20110051190A (en) Methods and apparatus for intercell interference mitigation using modulation coding
JP2013080450A (en) Memory device
US10672488B2 (en) Memory device
KR20080080041A (en) Memory controller and semiconductor device
US8164961B2 (en) Nonvolatile semiconductor memory device which can electrically rewrite data and system therefor
US20110238891A1 (en) Method for suppressing errors, and associated memory device and controller thereof
JP2010218637A (en) Semiconductor storage and method of controlling the same
KR102450508B1 (en) Clock signal generation device and memory device including the same
CN112860474B (en) Soft bit flip decoder for fast converging low density parity check codes
TWI524354B (en) Data path integrity verification
US20090296478A1 (en) Method of programming nonvolatile memory device
Dong et al. Techniques for embracing intra-cell unbalanced bit error characteristics in MLC NAND flash memory
JP2009048379A (en) Memory system
US20120002469A1 (en) Nonvolatile semiconductor memory device
JP2012507803A (en) Data transfer and programming in memory devices
US8520447B2 (en) Semiconductor memory device and method of operating the same
JP6027567B2 (en) Cache memory and processor system
JP2012133835A (en) Nonvolatile semiconductor memory device and method
US10338984B2 (en) Storage control apparatus, storage apparatus, and storage control method
CN108962322B (en) Method and system for implementing non-volatile counter using non-volatile memory