JP2016184448A - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP2016184448A
JP2016184448A JP2015064388A JP2015064388A JP2016184448A JP 2016184448 A JP2016184448 A JP 2016184448A JP 2015064388 A JP2015064388 A JP 2015064388A JP 2015064388 A JP2015064388 A JP 2015064388A JP 2016184448 A JP2016184448 A JP 2016184448A
Authority
JP
Japan
Prior art keywords
data
bit string
specific bit
input
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015064388A
Other languages
English (en)
Other versions
JP5940704B1 (ja
Inventor
須藤 直昭
Naoaki Sudo
直昭 須藤
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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to JP2015064388A priority Critical patent/JP5940704B1/ja
Priority to TW104121663A priority patent/TWI564899B/zh
Priority to CN201510434090.XA priority patent/CN106024058B/zh
Priority to KR1020150117396A priority patent/KR101689185B1/ko
Priority to US14/923,452 priority patent/US9612753B2/en
Application granted granted Critical
Publication of JP5940704B1 publication Critical patent/JP5940704B1/ja
Publication of JP2016184448A publication Critical patent/JP2016184448A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 消去後のデータがプログラムされたデータかを識別する識別情報を付加することなくデータスクランブルを行い、かつ信頼性を向上させる半導体記憶装置を提供する。
【解決手段】 本発明のフラッシュメモリは、入出力バッファ110とページバッファ160との間にデータのスクランブルを行うスクランブル部120を含む。スクランブル部120は、書込みエンコーダ200と読出しデコーダ220を含み、書込みエンコーダ200は、入力データが一定のビット列に該当する場合には、その入力データのスクランブルをスキップし、読出しデコーダ220は、ページバッファ160の読出しデータが一定のビット列に該当する場合には、その読出しデータのデスクランブルをスキップする。
【選択図】 図5

Description

本発明は、NAND型フラッシュメモリ等の半導体記憶装置に関し、特にNAND型フラッシュメモリにおけるデータのスクランブル方法に関する。
NAND型フラッシュメモリは、複数のブロックから構成されたメモリアレイを有し、1つのブロックには、複数のメモリセルが直列に接続されたNANDストリングが形成される。典型的にデータの読出しやプログラムは、ページ単位で行われ、データの消去はブロック単位で行われる。
特許文献1は、NAND型フラッシュメモリの動作信頼性を向上させるデータの書込み方法を開示している。この書込み方法は、ワード線のアドレスに基づきスクランブル方式を選択し、選択したスクランブル方式に従い書込むべきデータをスクランブルし、スクランブルされたデータを対応するページに書込むものである。
特開2008−198299号公報
NAND型フラッシュメモリのメモリセルは、フローティングゲート(電荷蓄積層)とコントロールゲートとを備えたN型のMOS構造から構成される。フローティングゲートに電子が蓄積されると、メモリセルのしきい値が正方向にシフトし、この状態は、データ「0」である。他方、フローティングゲートから電子が放出されると、しきい値が負方向にシフトし、この状態は、データ「1」である。ブロックが一括消去されたとき、当該ブロック内のすべてのメモリセルは、データ「1」である。
このようなフラッシュメモリにおいて、プログラム(書込み)や消去が繰り返されたとき、データに依存した信頼性の悪化が生じ得る。例えば、プログラムするとき、データ「0」の割合がデータ「1」よりも圧倒的に多いような場合、またはそれと反対にデータ「1」の割合がデータ「0」よりも圧倒的に多いような場合である。メモリセルの微細化、高集積化により、メモリセル間の距離が短くなり、隣接するメモリセルが容量的に結合され、相互に干渉し得る状況にある。1つのメモリセルを取り囲む周辺のメモリセルが全てデータ「0」であれば、中心のメモリセルには、周辺のメモリセルの電荷が影響して全てデータ「1」の場合に比べしきい値が高くなる。さらに、データ「0」またはデータ「1」の偏在は、データを読み出すときのソースライン電圧の浮き電圧の相違によりセンスアンプの特性にも悪影響を及ぼしかねない。
それ故、信頼性の観点からすると、データ「0」とデータ「1」の割合はおおよそ0.5であることが望ましい。これを実現する1つの方法に、データスクランブルスキームがある。つまり、プログラムすべきデータを、乱数を用いてスクランブルし、スクランブルしたデータをメモリアレイにプログラムする。スクランブルは、例えば、プログラムするアドレスをシーズに用いてアドレス毎に乱数を変えることが可能であり、これにより、メモリアレイの行方向および列方向において、データ「0」とデータ「1」をランダムに配置させることができる。また、読出し動作では、メモリアレイから読み出されたデータをスクランブルしたときの乱数によりデスクランブルすることで、スクランブルされたデータは元のデータに変換される。
NAND型フラッシュメモリでは、データを消去した後のメモリセルは、データ「1」であり、消去後の読出し動作では、例えば、「FFh」のデータが出力されなければならない。このため、データスクランブルをNAND型フラッシュメモリに用いた場合には、消去後のデータがすべて「1」となるように、デスクランブルを禁止する必要がある。他方、確率的には非常に小さいが、データスクランブルによりプログラムされたデータがすべて「1」となることがある。このようなデータを読出す場合には、デスクランブルする必要がある。このような制約から、NAND型フラッシュメモリでは、メモリアレイの冗長領域等に、当該ページが消去された状態のものか、またはプログラムされた状態のものかを判定するためのフラグビットを設けている。フラグビットは、当該ページを含むブロックが消去されたとき、データ「1」であり、当該ページがプログラムされたとき、データ「0」に変更される。
図1(A)は、プログラム動作時のフロー、図1(B)は、読出し動作時のフローである。先ず、プログラム動作では、外部のコントローラからプログラムコマンドが受け取られ(S10)、次いで、アドレスおよびプログラムすべきデータが受け取られる(S12)。受け取られたデータは、スクランブルされ(S14)、さらに選択されたページがプログラムされたことを示すようにフラグがデータ「1」から「0」に変更される(S16)。次に、スクランブルされたデータおよびフラグが選択されたページにプログラムされる(S18)。
読出し動作では、外部のコントローラから読出しコマンドおよびアドレスが入力されると(S20)、メモリアレイの選択されたページからデータが読出され(S22)、次に、フラグの判定が行われる(S24)。フラグが「0」であれば、仮にすべてのデータが「1」であるにせよ、そのデータはプログラムされたデータであるから、読み出されたデータがデスクランブルされ(S26)、元のデータに変換されて出力される(S28)。一方、フラグが「1」であれば、読み出したデータは消去後のデータであるから、デスクランブル処理をすることなくそのままデータを出力する(S28)。
このように従来のNAND型フラッシュメモリでは、データスクランブルスキームを実現するためには、消去されたデータかプログラムされたデータかを判別するためのフラグビットを格納するための記憶容量が必要となり、さらにはデータの読出し時にフラグビットを判定するために時間が余分にかかってしまうという課題がある。
本発明は、このような従来の課題を解決し、消去後のデータがプログラムされたデータかを識別する識別情報を付加することなくデータスクランブルを行い、かつ信頼性を向上させる半導体記憶装置を提供することを目的とする。
本発明の半導体記憶装置は、メモリアレイと、前記メモリアレイから読み出したデータを保持し、または前記メモリアレイにプログラムするデータを保持する保持手段と、データを入力する入力手段と、前記入力手段からのデータが第1の特定のビット列または第2の特定のビット列である場合には、前記入力手段からのデータを前記保持手段へ提供し、前記入力手段からのデータが第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記入力手段からのデータをスクランブルし、スクランブルしたデータを前記保持手段へ提供する符号化手段とを含み、前記第1の特定のビット列は、前記メモリアレイを消去したときのデータに等しいものであり、第2の特定のビット列は、前記第1のスクランブル手段によりスクランブルされた場合に前記第1の特定のビット列になるものである。
好ましくは半導体記憶装置はさらにデータを出力する出力手段と、前記保持手段からのデータが前記第1の特定のビット列または前記第2の特定のビット列である場合には、前記保持手段からのデータを前記出力手段へ提供し、前記保持手段からのデータが前記第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記保持手段からのデータをデスクランブルし、デスクランブルしたデータを前記出力手段へ提供する復号化手段とを含む。好ましくは前記符号化手段は、前記入力手段からのデータを受け取り、当該データに前記第1の特定のビット列が含まれるか否かを検出する第1の検出器と、前記入力手段からのデータを受け取り、当該データをスクランブルするスクランブル回路と、前記スクランブル回路によりスクランブルされたデータを受け取り、当該データに前記第2の特定のビット列が含まれるか否かを検出する第2の検出器と、前記第1の検出器および前記第2の検出器の検出結果に基づき前記入力手段からのデータまたは前記スクランブル回路によりスクランブルされたデータを選択部を含む。好ましくは前記復号化手段は、前記保持手段からのデータを受け取り、当該データに前記第1の特定のビット列が含まれているか否かを検出する第1の検出器と、前記保持手段からのデータを受け取り、当該データをデスクランブルするデスクランブル回路と、前記デスクランブル回路によりデスクランブルされたデータを受け取り、当該データに前記第2の特定のビット列が含まれるか否かを検出する第2の検出器と、前記第1の検出器および前記第2の検出器の検出結果に基づき、前記保持手段からのデータまたは前記デスクランブル回路によりデスクランブルされたデータを選択する選択部を含む。例えば、前記第1の特定のビット列は、論理1からなるビット列である。
本発明のデータ処理方法は、NAND型のメモリアレイを有する半導体記憶装置のものであって、外部からプログラムすべきデータを入力するステップと、前記入力されたデータが第1の特定のビット列または第2の特定のビット列である場合には、前記入力されたデータを前記メモリアレイへ提供し、前記入力されたデータが第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記入力されたデータをスクランブルし、スクランブルしたデータを前記メモリアレイへ提供する符号化ステップとを含み、前記第1の特定のビット列は、前記メモリアレイを消去したときのデータに等しいものであり、第2の特定のビット列は、前記スクランブルされた場合に前記第1の特定のビット列になるものである。
好ましくはデータ処理方法はさらに、前記メモリアレイからデータを読み出すステップと、読み出されたデータが前記第1の特定のビット列または前記第2の特定のビット列である場合には、前記読み出されたデータを出力手段へ提供し、前記読み出されたデータが前記第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記読み出されたデータをデスクランブルし、デスクランブルしたデータを前記出力手段へ提供する復号化ステップとを含む。好ましくは前記符号化ステップは、前記入力されたデータに前記第1の特定のビット列が含まれるか否かを検出する第1の検出ステップと、前記入力されたデータをスクランブルするスクランブルステップと、スクランブルステップによりスクランブルされたデータに前記第2の特定のビット列が含まれるか否かを検出する第2の検出ステップと、前記第1の検出ステップおよび前記第2の検出ステップの検出結果に基づき前記入力されたデータまたは前記スクランブルされたデータを選択する選択ステップ部を含む。好ましくは前記復号化ステップは、前記メモリアレイから読み出されたデータに前記第1の特定のビット列が含まれているか否かを検出する第1の検出ステップと、前記読み出されたデータをデスクランブルするデスクランブルステップと、前記デスクランブルされたデータに前記第2の特定のビット列が含まれるか否かを検出する第2の検出ステップと、前記第1の検出ステップおよび前記第2の検出ステップの検出結果に基づき、前記読み出されたデータまたは前記デスクランブルされたデータを選択する選択ステップを含む。例えば前記特定のビット列は、論理1からなるビット列である。
本発明によれば、メモリアレイを消去したときと等しい第1の特定のビット列、およびスクランブルしたときに第1の特定のビット列となる第2の特定のビット列のいずれかに該当する場合には、入力されたデータをスクランブルせずにメモリアレイにプログラムし、メモリアレイから読出されたデータが第1の特定のビット列または第2の特定のビット列に該当する場合には、読み出されたデータをデスクランブルせずに出力するようにしたので、消去したときのデータかプログラムされたデータかを識別するためのフラグ等の識別情報を付加する必要がなくなる。このため、メモリアレイの記憶容量を他の資源に有効に活用することができ、かつデータスクランブルを実施したときのデータの読出し時間を短縮することができる。
データスクランブルを行うNAND型フラッシュメモリの動作フローであり、図1(A)は、プログラム動作時のフロー、図1(B)は、読出し動作時のフローである。 本発明の実施例に係るNAND型フラッシュメモリの全体の概略構成を示す図である。 本発明の実施例に係るメモリセルアレイのNANDストリングの構成を示す回路図である。 本発明の実施例に係るフラッシュメモリのプログラム時に各部に印加される電圧の一例を示す図である。 本発明の実施例によるスクランブル部の内部構成を示す図である。 図6(A)は、書込みエンコーダのスクランブルの判定基準、図6(B)は、読出しデコーダのデスクランブルの判定基準を示す。 図7(A)は、本実施例の書込みエンコーダの内部構成を示し、図7(B)は、本実施例による読出しデコーダの内部構成を示す。
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは同一ではないことに留意すべきである。
本発明の実施例に係るフラッシュメモリの典型的な構成を図2に示す。但し、ここに示すフラッシュメモリの構成は例示であり、本発明は、必ずしもこのような構成に限定されるものではない。本実施例のフラッシュメモリ10は、複数のメモリセルが行列状に配列されたメモリアレイ100と、外部入出力端子I/Oに接続され入出力データを保持する入出力バッファ110と、メモリアレイ100にプログラムするデータのスクランブルやそこから読み出されたデータのデスクランブルを行うスクランブル部120と、入出力バッファ110からのアドレスデータを受け取るアドレスレジスタ130と、入出力バッファ110からのコマンドデータや外部からの制御信号を受け取り、各部を制御する制御部140と、アドレスレジスタ130から行アドレス情報Axを受け取り、行アドレス情報Axをデコードし、デコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路150と、ワード線選択回路150によって選択されたページから読み出されたデータを保持したり、選択されたページへの書込みデータを保持するページバッファ/センス回路160と、アドレスレジスタ130から列アドレス情報Ayを受け取り、列アドレス情報Ayをデコードし、当該デコード結果に基づきページバッファ/センス回路160内のデータの選択等を行う列選択回路170と、データの読出し、プログラムおよび消去等のために必要な種々の電圧(書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど)を生成する内部電圧発生回路180とを含んで構成される。
メモリアレイ100は、列方向に配置されたm個のメモリブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有する。ブロックBLK(0)に近接して、ページバッファ/センス回路160が配置される。このような構成以外にも、ページバッファ/センス回路160は、ブロックの他方の端部、あるいは両側の端部に配置されるものであってもよい。
1つのメモリブロックには、図3に示すように、複数のメモリセルを直列に接続したNANDストリングユニットNUが複数形成され、1つのメモリブロック内にn+1個のストリングユニットNUが行方向に配列されている。セルユニットNUは、直列に接続された複数のメモリセルMCi(i=0、1、・・・、31)と、一方の端部であるメモリセルMC31のドレイン側に接続された選択トランジスタTDと、他方の端部であるメモリセルMC0のソース側に接続された選択トランジスタTSとを含み、選択トランジスタTDのドレインは、対応する1つのビット線GBLに接続され、選択トランジスタTSのソースは、共通のソース線SLに接続される。
メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路150は、行アドレスAxまたは変換されたアドレスに基づきブロックを選択するとき、ブロックの選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを選択的に駆動する。図3は、典型的なセルユニットの構成を示しているが、セルユニットは、NANDストリング内に1つまたは複数のダミーセルを包含するものであってもよい。
メモリセルは、典型的に、Pウエル内に形成されたN型の拡散領域であるソース/ドレインと、ソース/ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート(電荷蓄積層)と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むMOS構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「1」が書込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「0」が書込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。但し、メモリセルは、1ビット(2値データ)を記憶するSLCタイプでもよいし、多ビットを記憶するMLCタイプであってもよい。
図4は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧Vpass(例えば4.5V)を印加し、選択ゲート線SGD、SGSに正の電圧(例えば4.5V)を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に0Vを印加する。プログラム(書込み)動作では、選択されたワード線に高電圧のプログラム電圧Vprog(15〜20V)を印加し、非選択のワード線に中間電位(例えば10V)を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「0」または「1」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧(例えば20V)を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
次に、本実施例のデータスクランブル処理の詳細について説明する。スクランブル部120は、図5に示すように、入出力バッファ110とページバッファ160との間に配置され、プログラム動作時、書込みエンコーダ200が入出力バッファ110から入力されたデータをスクランブルし、スクランブルされたデータをページバッファ160へ提供し、読出し動作時、読出しデコーダ220がページバッファ160から読み出されたデータをデスクランブルし、デスクランブルされたデータを入出力バッファ110へ提供する。通常、スクランブル処理は、入力されたデータに対してアドレスなどから生成した乱数シードとXOR演算を行う。この場合、スクランブル処理されたデータに対して同一の乱数シードとのXOR演算を再度行うことにより、元の入力データ、すなわちデスクランブルされたデータを得ることができる。このため、スクランブル処理を行う書込みエンコーダ200と、デスクランブル処理を行う読み出しデコーダ220は、同一の回路から構成され、それぞれスクランブル処理およびデスクランブル処理をすることが可能である。
NAND型フラッシュメモリにおいてデータのスクランブルを実施する場合、消去後の読出しでは、データ「1」が出力されなければならない。従って、消去後のデータを読み出すとき、データのスクランブルは禁止される。他方、スクランブルされたデータがすべて「1」であるデータがプログラムされたとき、このデータは、消去後のデータと違って、スクランブルされた状態でメモリセルアレイに格納されており、読み出し時にはデスクランブルされなければならないため、消去後のデータと区別されなければならない。従来は、両者のデータを区別するためにフラグビットを用意したが、本実施例では、フラグビットを用いず、プログラムされるデータまたは読み出されるデータの構成に基づきスクランブルを制御する。
書込みエンコーダ200は、上記したように、入出力バッファ110から入力されたプログラムすべきデータのスクランブルを行い、読出しデコーダ220は、ページバッファ160に保持された読出しデータのデスクランブルを行う。図6(A)は、書込みエンコーダ200のスクランブルの判定基準を示している。先ず、入出力バッファ110からの入力データがすべて「1」であるとき(ここでは、便宜上、FFhとする)、入力データ「FFh」のスクランブルを行わず、入力データ「FFh」がそのままメモリアレイにプログラムされる。入力データが「XXh」である場合にも、入力データ「XXh」のスクランブルを行わず、入力データ「XXh」がそのままメモリアレイにプログラムされる。ここで、「XXh」は、スクランブルされたときに「FFh」になるデータである。入力データが、「FFh」および「XXh」のいずれでもないとき(これを、総称として「YYh」で表している)、入力データ「YYh」をスクランブルし、スクランブルされたデータ「ZZh」がメモリアレイにプログラムされる。
図6(B)は、読出しデコーダ220のデスクランブルの判定基準を示している。ページバッファ160に読み出されたデータが「FFh」のとき、デスクランブルは行わず、そのまま「FFh」が入出力バッファ110へ出力される。読み出されたデータが「XXh」の場合にも、デスクランブルすることなく、そのまま「XXh」が入出力バッファ110へ出力される。読み出されたデータが「YYh」であるとき、読み出されたデータ「YYh」をデスクランブルし、デスクランブルされたデータ「ZZh」が入出力バッファ110へ出力される。
図7(A)は、書込みエンコーダ200の構成例を示し、図7(B)は、読出しデコーダ220の構成例を示す。書込みエンコーダ200は、入力データを受け取り、当該入力データが「FFh」に該当するか否かを検出する第1の検出器202と、入力データを受け取り、当該入力データをスクランブルするスクランブル回路204と、スクランブル回路204から出力されたスクランブルされたデータを受け取り、当該スクランブルされたデータが「FFh」に該当するか否かを検出する第2の検出器206と、第1の検出器202および第2の検出器206の検出結果を受け取り、その論理和を出力するオア回路208と、入出力バッファ110からの入力データおよびスクランブル回路204から出力されるデータを受け取り、オア回路208の出力に基づきいずれかのデータを選択するマルチプレクサ210とを有する。マルチプレクサ210は、オア回路208の出力がHレベルのとき、すなわち、第1の検出器202または第2の検出器206のいずれかにより「FFh」が検出されたとき、入力バッファ110からの入力データを選択し、選択したデータをページバッファ160へ出力し、オア回路208の出力がLレベルのとき、スクランブル回路204によりスクランブルされたデータを選択し、選択したデータをページバッファ160へ出力する。
読出しデコーダ220は、書込みエンコーダ200と同様の処理を行う。すなわち、読出しデコーダ220は、ページバッファ160からの読出しデータを受け取り、当該読出しデータが「FFh」に該当するか否かを検出する第1の検出器222と、読出しデータを受け取り、当該読出しデータをデスクランブルするデスクランブル回路224と、デスクランブル回路224から出力されたデスクランブルされたデータを受け取り、当該デスクランブルされたデータが「FFh」に該当するか否かを検出する第2の検出器226と、第1の検出器222および第2の検出器226の検出結果を受け取り、その論理和を出力するオア回路228と、ページバッファ160の読出しデータおよびデスクランブル回路224から出力されるデータを受け取り、オア回路228の出力に基づきいずれかのデータを選択するマルチプレクサ230とを有する。マルチプレクサ230は、オア回路228の出力がHレベルのとき、すなわち、第1の検出器222または第2の検出器226のいずれかにより「FFh」が検出されたとき、読出しデータを選択し、選択したデータを入出力バッファ110へ出力し、オア回路228の出力がLレベルのとき、デスクランブル回路224によりデスクランブルされたデータを選択し、選択したデータを入出力バッファ110へ出力する。
本実施例では、プログラムすべきデータが「FFh」であるとき、「FFh」は、スクランブルされずにメモリアレイにプログラムされる。この場合、プログラムすべきデータ「FFh」は、メモリアレイ内において消去後のデータと同じになるが、読出しデータが「FFh」である場合には、「FFh」がそのまま出力されるので、消去後のデータおよび「FFh」のプログラムすべきデータの読出しには何ら問題が生じない。
また、プログラムすべきデータが「XXh」であるとき、「XXh」は、スクランブルされずにメモリアレイにプログラムされる。つまり、メモリアレイには、消去後のデータと同じ構成のデータがプログラムされないので、消去後のデータから区別される。例えば、あるブロックが消去されたとき、そのブロック内の各ページのメモリセルはすべてデータ「1」である。消去されたブロック内のある選択されたページに、プログラムデータ「XXh」がプログラムされるとき、「XXh」がそのまま選択されたページにプログラムされることになる。もし、「XXh」がスクランブルされた場合には、「FFh」がプログラムされることになり、そうすると、プログラムすべきデータ「FFh」をプログラムしたときのデータと区別がつかなくなる。
このように本実施例では、データが「FFh」、「XXh」の場合にスクランブルをスキップすることで、従来のようにページ毎にフラグビットを書込み必要がなくなり、かつデータの読み出し時にはフラグを判定する必要がなくなるため、メモリアレイの記憶容量を他の資源に有効に利用することができ、データの読出し速度を向上させることができる。また、本実施例では、「FFh」、「XXh」のデータについてスクランブルを実施しないことになるが、これらのデータの発生頻度は非常に少なく、全体の信頼性に及ぼす影響は限定的である。
次に、本発明の他の実施例について説明する。NAND型フラッシュメモリでは、同一ページにn回(nは、2以上の自然数)連続してデータをプログラムする機能(以下、便宜上、パーシャルページプログラムという)を実行することが可能である。メモリセルの高集積化が進むと、1ページのサイズも増加し、プログラムするデータ量が1ページのサイズに満たない場合がある。仮に、同一ページに1回しかデータをプログラムすることができないとなると、各ページの利用効率が低下し、その反面、1ページにプログラム可能な複数のデータがあるときに、それらのデータを複数のページにプログラムしなければならないのであれば、プログラムに要する時間が大幅に増加してしまう。他方、同一ページにn回連続してプログラムするということは、そのページにn回の高いプログラム電圧が印加されることになるため、プログラムの回数には制限がある。例えば、n=4であれば、同一ページに、4回連続してデータをプログラムすることができる。
パーシャルページプログラムは、例えば、外部のコントローラからプログラムコマンドを受け取った後に、行アドレスAxおよび列アドレスAy1を受け取り、次に、パーシャルデータD1を受け取り、行アドレスAxによって選択されたページの列アドレスAy1を先頭にパーシャルデータD1をプログラムし、次に、列アドレスAy2およびパーシャルデータD2を受け取り、同一ページの列アドレスAy2を先頭にパーシャルデータD2をプログラムし、このような処理がn回繰り返され、結果的に、1つのページには、n個のパーシャルデータD1、D2、…、Dnがプログラムされる。
このようなパーシャルページプログラムを実行可能なNAND型フラッシュメモリにおいて、データスクランブルスキームを採用した場合には、ページ内のパーシャルデータがプログラムされたものか、あるいは消去されたものであるかを判定しなければならない。パーシャルページプログラムによりプログラムされるパーシャスデータのサイズは、固定ではなく可変するため、パーシャルデータの境界が判明しなければ、データスクランブルを適切に実行することができない。
本実施例に係るスクランブル部120を用いた場合には、パーシャルページプログラムが実行された場合でも、パーシャルデータの境界を判別することなく、適切にデータスクランブルを実施することができる。
上記実施例では、入出力バッファ110とページバッファ160との間にスクランブル120を配置する例を示したが、スクランブル部120は、例えば、ページバッファ160内に設けられる構成であってもよい。
以上のように本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10:フラッシュメモリ 100:メモリアレイ
110:入出力バッファ 120:スクランブル部
130:アドレスレジスタ 140:制御部
150:ワード線選択回路 160:ページバッファ/センス回路
170:列選択回路 180:内部電圧発生正回路
200:書込みエンコーダ 202:第1の検出器
204:スクランブル回路 206:第2の検出器
208:オア回路 210:マルチプレクサ
220:読出しデコーダ 222:第1の検出器
224:スクランブル回路 226:第2の検出器
228:オア回路 230:マルチプレクサ

Claims (10)

  1. メモリアレイと、
    前記メモリアレイから読み出したデータを保持し、または前記メモリアレイにプログラムするデータを保持する保持手段と、
    データを入力する入力手段と、
    前記入力手段からのデータが第1の特定のビット列または第2の特定のビット列である場合には、前記入力手段からのデータを前記保持手段へ提供し、前記入力手段からのデータが第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記入力手段からのデータをスクランブルし、スクランブルしたデータを前記保持手段へ提供する符号化手段とを含み、
    前記第1の特定のビット列は、前記メモリアレイを消去したときのデータに等しいものであり、第2の特定のビット列は、前記第1のスクランブル手段によりスクランブルされた場合に前記第1の特定のビット列になるものである、半導体記憶装置。
  2. 半導体記憶装置はさらにデータを出力する出力手段と、
    前記保持手段からのデータが前記第1の特定のビット列または前記第2の特定のビット列である場合には、前記保持手段からのデータを前記出力手段へ提供し、前記保持手段からのデータが前記第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記保持手段からのデータをデスクランブルし、デスクランブルしたデータを前記出力手段へ提供する復号化手段とを含む、請求項1に記載の半導体記憶装置。
  3. 前記符号化手段は、前記入力手段からのデータを受け取り、当該データに前記第1の特定のビット列が含まれるか否かを検出する第1の検出器と、前記入力手段からのデータを受け取り、当該データをスクランブルするスクランブル回路と、前記スクランブル回路によりスクランブルされたデータを受け取り、当該データに前記第2の特定のビット列が含まれるか否かを検出する第2の検出器と、前記第1の検出器および前記第2の検出器の検出結果に基づき前記入力手段からのデータまたは前記スクランブル回路によりスクランブルされたデータを選択部を含む、請求項1に記載の半導体記憶装置。
  4. 前記復号化手段は、前記保持手段からのデータを受け取り、当該データに前記第1の特定のビット列が含まれているか否かを検出する第1の検出器と、前記保持手段からのデータを受け取り、当該データをデスクランブルするデスクランブル回路と、前記デスクランブル回路によりデスクランブルされたデータを受け取り、当該データに前記第2の特定のビット列が含まれるか否かを検出する第2の検出器と、前記第1の検出器および前記第2の検出器の検出結果に基づき、前記保持手段からのデータまたは前記デスクランブル回路によりデスクランブルされたデータを選択する選択部を含む、請求項2に記載の半導体記憶装置。
  5. 前記第1の特定のビット列は、論理1からなるビット列である、請求項1ないし4いずれか1つに記載の半導体記憶装置。
  6. NAND型のメモリアレイを有する半導体記憶装置のデータ処理方法であって、
    外部からプログラムすべきデータを入力するステップと、
    前記入力されたデータが第1の特定のビット列または第2の特定のビット列である場合には、前記入力されたデータを前記メモリアレイへ提供し、前記入力されたデータが第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記入力されたデータをスクランブルし、スクランブルしたデータを前記メモリアレイへ提供する符号化ステップとを含み、
    前記第1の特定のビット列は、前記メモリアレイを消去したときのデータに等しいものであり、第2の特定のビット列は、前記スクランブルされた場合に前記第1の特定のビット列になるものである、データ処理方法。
  7. データ処理方法はさらに、
    前記メモリアレイからデータを読み出すステップと、
    読み出されたデータが前記第1の特定のビット列または前記第2の特定のビット列である場合には、前記読み出されたデータを出力手段へ提供し、前記読み出されたデータが前記第1の特定のビット列および第2の特定のビット列のいずれでもない場合には、前記読み出されたデータをデスクランブルし、デスクランブルしたデータを前記出力手段へ提供する復号化ステップとを含む、請求項6に記載のデータ処理方法。
  8. 前記符号化ステップは、前記入力されたデータに前記第1の特定のビット列が含まれるか否かを検出する第1の検出ステップと、前記入力されたデータをスクランブルするスクランブルステップと、スクランブルステップによりスクランブルされたデータに前記第2の特定のビット列が含まれるか否かを検出する第2の検出ステップと、前記第1の検出ステップおよび前記第2の検出ステップの検出結果に基づき前記入力されたデータまたは前記スクランブルされたデータを選択する選択ステップ部を含む、請求項6に記載のデータ処理方法。
  9. 前記復号化ステップは、前記メモリアレイから読み出されたデータに前記第1の特定のビット列が含まれているか否かを検出する第1の検出ステップと、前記読み出されたデータをデスクランブルするデスクランブルステップと、前記デスクランブルされたデータに前記第2の特定のビット列が含まれるか否かを検出する第2の検出ステップと、前記第1の検出ステップおよび前記第2の検出ステップの検出結果に基づき、前記読み出されたデータまたは前記デスクランブルされたデータを選択する選択ステップを含む、請求項7に記載のデータ処理方法。
  10. 前記特定のビット列は、論理1からなるビット列である、請求項6ないし9いずれか1つに記載のデータ処理方法。
JP2015064388A 2015-03-26 2015-03-26 半導体記憶装置 Active JP5940704B1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015064388A JP5940704B1 (ja) 2015-03-26 2015-03-26 半導体記憶装置
TW104121663A TWI564899B (zh) 2015-03-26 2015-07-03 半導體儲存裝置以及資料處理方法
CN201510434090.XA CN106024058B (zh) 2015-03-26 2015-07-22 半导体存储装置以及数据处理方法
KR1020150117396A KR101689185B1 (ko) 2015-03-26 2015-08-20 반도체 메모리 장치 및 데이터 처리 방법
US14/923,452 US9612753B2 (en) 2015-03-26 2015-10-27 Semiconductor memory apparatus and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015064388A JP5940704B1 (ja) 2015-03-26 2015-03-26 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP5940704B1 JP5940704B1 (ja) 2016-06-29
JP2016184448A true JP2016184448A (ja) 2016-10-20

Family

ID=56244667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015064388A Active JP5940704B1 (ja) 2015-03-26 2015-03-26 半導体記憶装置

Country Status (5)

Country Link
US (1) US9612753B2 (ja)
JP (1) JP5940704B1 (ja)
KR (1) KR101689185B1 (ja)
CN (1) CN106024058B (ja)
TW (1) TWI564899B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6181218B2 (ja) * 2016-02-09 2017-08-16 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11462278B2 (en) * 2020-05-26 2022-10-04 Samsung Electronics Co., Ltd. Method and apparatus for managing seed value for data scrambling in NAND memory
KR20220048377A (ko) 2020-10-12 2022-04-19 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09162859A (ja) * 1995-12-07 1997-06-20 Fujitsu Ltd スクランブル方法及び装置、デスクランブル方法及び装置、並びに、データ伝達方法及びシステム
US7603413B1 (en) * 2005-04-07 2009-10-13 Aol Llc Using automated agents to facilitate chat communications
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US7984360B2 (en) * 2006-12-31 2011-07-19 Ramot At Tel Aviv University Ltd. Avoiding errors in a flash memory by using substitution transformations
KR100813627B1 (ko) * 2007-01-04 2008-03-14 삼성전자주식회사 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치를제어하는 메모리 제어기와 그것을 포함한 메모리 시스템
JP4498370B2 (ja) 2007-02-14 2010-07-07 株式会社東芝 データ書き込み方法
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US7826277B2 (en) * 2008-03-10 2010-11-02 Hynix Semiconductor Inc. Non-volatile memory device and method of operating the same
KR101517185B1 (ko) * 2008-04-15 2015-05-04 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
KR101082650B1 (ko) * 2009-01-21 2011-11-14 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR101504338B1 (ko) * 2009-03-04 2015-03-23 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법
US8413016B2 (en) * 2009-04-28 2013-04-02 Panasonic Corporation Nonvolatile memory device and controller for judging a normal or anomalous condition of an error-corrected bit pattern
JP2011134125A (ja) * 2009-12-24 2011-07-07 Toshiba Corp コントローラ及びデータストレージシステム
CN102208210B (zh) * 2010-03-31 2016-04-27 深圳市朗科科技股份有限公司 闪存设备及其数据存储方法
KR20120002760A (ko) * 2010-07-01 2012-01-09 삼성전자주식회사 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치
JP2012133835A (ja) * 2010-12-20 2012-07-12 Samsung Yokohama Research Institute Co Ltd 不揮発性半導体記憶装置及び方法
CN102682848B (zh) * 2011-03-16 2016-12-07 三星电子株式会社 存储器装置、存储器卡、固态驱动器、系统及其操作方法
KR101893143B1 (ko) * 2011-03-16 2018-08-31 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 읽기 방법, 및 그것을 포함하는 메모리 시스템
US8843693B2 (en) * 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8666068B2 (en) * 2011-10-20 2014-03-04 Sandisk Technologies Inc. Method for scrambling shaped data
KR20140023609A (ko) * 2012-08-16 2014-02-27 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법

Also Published As

Publication number Publication date
TWI564899B (zh) 2017-01-01
KR20160115649A (ko) 2016-10-06
CN106024058A (zh) 2016-10-12
KR101689185B1 (ko) 2016-12-23
US20160283113A1 (en) 2016-09-29
CN106024058B (zh) 2018-06-29
US9612753B2 (en) 2017-04-04
TW201635297A (zh) 2016-10-01
JP5940704B1 (ja) 2016-06-29

Similar Documents

Publication Publication Date Title
KR101121346B1 (ko) 반도체 메모리에 대한 데이터 기록 방법 및 메모리 컨트롤러
KR101790632B1 (ko) 반도체 메모리 장치 및 그 스크램블 방법
JP5019611B2 (ja) メモリシステム
JP4886434B2 (ja) 不揮発性半導体記憶装置
JP5940705B1 (ja) 半導体記憶装置
JP2010170685A (ja) 不揮発性メモリ装置、そのプログラム方法及び読出し方法
KR20110053452A (ko) 메모리 디바이스 및 메모리 디바이스에 데이터를 저장하는 방법
JP2011040124A (ja) 半導体記憶装置のデータ読み出し方法
JP2009016021A (ja) Nand型フラッシュメモリ
JP2019207743A (ja) 半導体装置
JP2006164408A (ja) 不揮発性半導体記憶装置及びそのデータ消去方法。
JP5940704B1 (ja) 半導体記憶装置
KR101047577B1 (ko) 서로 다른 사전충전 인에이블 전압들을 사용함으로써 프로그램 디스터브가 감소된 비휘발성 메모리 프로그래밍
JP2011146088A (ja) 半導体記憶装置
CN110956996B (zh) 半导体装置
KR102148569B1 (ko) 반도체 장치
CN111696593A (zh) 半导体存储装置
JP2015109123A (ja) 半導体記憶装置
KR20120005943A (ko) 반도체 메모리 장치 및 이의 동작 방법
JP2010238360A (ja) 不揮発性半導体記憶装置及びそのデータ消去方法

Legal Events

Date Code Title Description
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: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160518

R150 Certificate of patent or registration of utility model

Ref document number: 5940704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250