JP2007066386A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2007066386A JP2007066386A JP2005249753A JP2005249753A JP2007066386A JP 2007066386 A JP2007066386 A JP 2007066386A JP 2005249753 A JP2005249753 A JP 2005249753A JP 2005249753 A JP2005249753 A JP 2005249753A JP 2007066386 A JP2007066386 A JP 2007066386A
- Authority
- JP
- Japan
- Prior art keywords
- write
- data
- bit
- bits
- loop
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
【課題】本発明は、ECC回路を備えたNAND型フラッシュメモリにおいて、Program Disturb不良の発生のみならず、ECC回路のエラー訂正能力の低下を抑制できるようにする。
【解決手段】たとえば、1ページあたりの許容ビット数nが4ビットとされたECC回路を備える多値論理のNAND型フラッシュメモリの場合、データ書き込み動作時に、ワード線の電圧をステップアップしながら書き込みループを繰り返す。そして、ページ内のプログラム未終了メモリセルの個数mが2ビット(M1)以下になったところで、ワード線の電圧を1つステップアップさせて、1回分の書き込みループを追加により実行する。その後、プログラム未終了メモリセルの書き込みが終了している、いないにかかわらず、書き込みループを停止する。
【選択図】図7
【解決手段】たとえば、1ページあたりの許容ビット数nが4ビットとされたECC回路を備える多値論理のNAND型フラッシュメモリの場合、データ書き込み動作時に、ワード線の電圧をステップアップしながら書き込みループを繰り返す。そして、ページ内のプログラム未終了メモリセルの個数mが2ビット(M1)以下になったところで、ワード線の電圧を1つステップアップさせて、1回分の書き込みループを追加により実行する。その後、プログラム未終了メモリセルの書き込みが終了している、いないにかかわらず、書き込みループを停止する。
【選択図】図7
Description
本発明は、半導体記憶装置に関するもので、特に、データ書き込み動作時の非選択高電圧によるプログラムディスターブ(Program Disturb)不良の発生が懸念される、NAND型フラッシュメモリなどの不揮発性半導体記憶装置に関する。
従来、NAND型フラッシュメモリなどの不揮発性半導体記憶装置においては、ページ単位でデータの書き込みが行われる。たとえば、ページ内の各メモリセルにそれぞれ接続されたワード線の電圧(書き込み電圧)を任意のステップ幅で順次ステップアップさせながらデータ書き込み動作(プログラム/ベリファイ動作)を繰り返し、全ビットの書き込みが終了した時点でデータ書き込み動作を停止する、いわゆる書き込みループ(Program Loop)方式が適用されている。なお、書き込みループにおける任意のステップ幅としては、たとえば、90nmスケール(世代)の多値論理の不揮発性半導体記憶装置の場合で0.4V程度である。
しかしながら、この方式の場合、ごくまれに存在する非常にプログラムの遅いメモリセル(孤立ビット不良)が存在するページに対しては、プログラム/ベリファイ動作が必ず書き込みループの上限(以下、Loop_max)まで繰り返されるため、書き込み時間が長くなる上に、非選択高電圧によるプログラムディスターブ不良が多発するという問題があった。
特に、“0”データが“1”データに化ける、いわゆるカラム不良がビット線方向に存在する不揮発性半導体記憶装置の場合には、全ページにおいて、プログラム/ベリファイ動作がLoop_maxまで繰り返されることになるため、書き込み時間が長くなる上に、プログラムディスターブ不良が多発するという問題が顕著であった。
なお、書き込み電圧を制限することによって、プログラムディスターブ不良の発生を抑えることは可能であるが、書き込み電圧が低すぎると書き込み歩留まりに影響が出る。このため、書き込み電圧はむやみに制限することができないという問題がある。
また、ワード線単位のページプログラムにおいて、所定回数のプログラム/ベリファイ動作を繰り返した後のプログラム未終了メモリセルの個数(エラービット数)が、エラー訂正回路によるエラー訂正が可能な所定のエラービット数以下である場合には、以降のプログラム/ベリファイ動作を停止し、そのエラービットをエラー訂正回路により救済することによって、プログラムの遅い孤立ビット不良やカラム不良に律速されることなく、高速なデータプログラムを可能にした方法も既に提案されている(たとえば、特許文献1参照)。
しかしながら、この特許文献1にかかる方法の場合、多くのページで、いくつか(エラー訂正回路によるエラー訂正が可能なビット数以下)のプログラム未終了メモリセルを残したまま、書き込みループが停止する可能性があり、エラー訂正回路の負担が大きくなるという問題があった。すなわち、多くのプログラム未終了メモリセルが残るということは、最初からエラー訂正回路のエラー訂正能力の一部またはすべてが、そのエラービットの救済に利用されることになる。これにより、結果としてエラー訂正回路のエラー訂正能力が低下し、本来のエラー訂正能力が損なわれる。
特開平10−222995号公報
本発明は、上記の問題点を解決すべくなされたもので、プログラムの遅い孤立ビット不良やカラム不良があった場合にも、エラー訂正能力の低下を抑制しつつ、データ書き込み時間の高速化とともに、プログラムディスターブ不良の発生を抑えることが可能な半導体記憶装置を提供することを目的としている。
本願発明の一態様によれば、エラービットを訂正するためのエラー訂正回路を有する半導体記憶装置であって、複数のメモリセルが配列されたメモリセルアレイと、前記メモリセルアレイにおける前記複数のメモリセルに対し、所定個単位で、データの書き込み動作およびプログラムベリファイ動作を繰り返し行う書き込み制御回路と、前記書き込み制御回路による前記プログラムベリファイ動作の結果を保持するページバッファと、前記ページバッファに保持された前記プログラムベリファイ動作の結果にもとづいて、前記所定個単位内におけるデータ書き込み未終了セルの個数(m)が、前記エラー訂正回路によるエラー訂正可能なビット数(n)以下であるか否かを判定するビットスキャン回路と、前記ビットスキャン回路の判定結果を保持するレジスタと、前記レジスタで保持された、前記ビットスキャン回路の判定結果をもとに、前記データ書き込み未終了セルの個数が前記エラー訂正回路によるエラー訂正可能なビット数と同じか、それ以下の場合(n≧m)に、前記書き込み制御回路による前記書き込み動作および前記プログラムベリファイ動作を規定の回数(C)だけ追加により実行した後に停止させるように制御する制御回路とを具備したことを特徴とする半導体記憶装置が提供される。
上記の構成により、所定回数のプログラム/ベリファイ動作を繰り返した後のプログラム未終了メモリセルの個数が、エラー訂正回路によるエラー訂正が可能なビット数と同じか、それ以下である場合には、さらに、そのプログラム未終了メモリセルの個数を減らした上で書き込みループを停止できるようになるので、プログラムの遅い孤立ビット不良やカラム不良があった場合にも、エラー訂正能力の低下を抑制しつつ、データ書き込み時間の高速化とともに、プログラムディスターブ不良の発生を抑えることが可能な半導体記憶装置を提供できる。
以下、本発明の実施の形態について図面を参照して説明する。ただし、図面は模式的なものであり、各回路ブロックの平面寸法の比率などは現実のものとは異なることに留意すべきである。また、図面相互間においても、互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
また、以下に示すいくつかの実施の形態は、本発明の技術思想を具体化するための装置や方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。この発明の技術的思想は、その要旨を逸脱しない範囲において、種々の変更を加えることができる。
本発明の実施の形態によれば、たとえば、多値論理のNAND型フラッシュメモリにおいて、「ビット無視」の機能および「規定回数追加書き込み」の機能を組み込むことで、データ書き込み動作時に、プログラムの遅い孤立ビット不良やカラム不良があった場合にも、Loop_maxまで繰り返される前に書き込みループ(プログラム/ベリファイ動作)を停止させることが可能となり、高速なデータプログラムを実現できるとともに、データ書き込み動作時の非選択高電圧によるプログラムディスターブの影響を最少限に抑えることができるだけでなく、プログラム未終了メモリセルの個数がエラー訂正回路(ECC;Error Checking & Correction code)の許容ビット数(リファレンスフェイル数)以下になると、規定回数のデータ書き込み動作を追加で実施した後に書き込みループが停止するため、ECCのエラー訂正能力の低下を最低限にとどめることが可能となる。
[第1の実施の形態]
以下の説明において、第1の特定ビット数をM1ビット、第2の特定ビット数をM2ビットと定義する。“M1<M2<n(ECCの許容ビット数)”が原則である。「ビット無視」および「規定回数追加書き込み」の各機能を適用するには、そのフェイルビット(エラービット)を訂正して、正しいデータを出力するECCが必要である。つまり、“M1<M2<n(ECCの許容ビット数)”で表される不等式が成立すると、不良のないメモリとして認識することができる。
以下の説明において、第1の特定ビット数をM1ビット、第2の特定ビット数をM2ビットと定義する。“M1<M2<n(ECCの許容ビット数)”が原則である。「ビット無視」および「規定回数追加書き込み」の各機能を適用するには、そのフェイルビット(エラービット)を訂正して、正しいデータを出力するECCが必要である。つまり、“M1<M2<n(ECCの許容ビット数)”で表される不等式が成立すると、不良のないメモリとして認識することができる。
“M1”,“M2”は任意の値である。値が大きいほど、プログラムディスターブの影響を抑える点では有効である。しかし、“M1”,“M2”の値としては、ECCが確実にエラー訂正できる、許容するリファレンスフェイル数(n)以下に設定することが必要である。
本発明の第1の実施の形態においては、データ書き込み動作の途中でビットスキャン動作を行い、フェイルビット数(m)がある値(M1,M2ビット)以下に収まれば、規定回数のデータ書き込み動作(プログラム/ベリファイ動作)を追加で行った後に、書き込みループを停止させるというシーケンサ(制御回路)の動作が重要であり、これらの動作は2値/多値によらず、いずれのNAND型フラッシュメモリでも実行させることが可能である。特に、多値論理のNAND型フラッシュメモリは、しきい値電圧分布の間隔が狭いため、データ書き込み動作時のプログラムディスターブの影響を受けやすいが、本発明の第1の実施の形態にかかる「ビット無視」の機能と「規定回数追加書き込み」の機能とを組み込むことによって、有効に対応することが可能となる。
(全体構成)
図1は、この発明の第1の実施の形態にしたがった、不揮発性半導体記憶装置の基本構成を示すものである。なお、この第1の実施の形態では、多値論理のNAND型フラッシュメモリを例に説明する。また、同一ページ内にプログラムの遅い孤立ビット不良が複数存在する多値論理のNAND型フラッシュメモリにおいて、フェイルビット数(m)がリファレンスフェイル数(n)と同じか、それ以下のある値(M1,M2ビット)以下の場合には、規定回数のデータ書き込み動作を追加で行った後に書き込みループを停止させることにより、エラー訂正能力の低下を抑制しつつ、データ書き込み時間の増大やプログラムディスターブ不良の発生を抑えるようにした場合について説明する。
図1は、この発明の第1の実施の形態にしたがった、不揮発性半導体記憶装置の基本構成を示すものである。なお、この第1の実施の形態では、多値論理のNAND型フラッシュメモリを例に説明する。また、同一ページ内にプログラムの遅い孤立ビット不良が複数存在する多値論理のNAND型フラッシュメモリにおいて、フェイルビット数(m)がリファレンスフェイル数(n)と同じか、それ以下のある値(M1,M2ビット)以下の場合には、規定回数のデータ書き込み動作を追加で行った後に書き込みループを停止させることにより、エラー訂正能力の低下を抑制しつつ、データ書き込み時間の増大やプログラムディスターブ不良の発生を抑えるようにした場合について説明する。
図1に示すように、この発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリは、メモリ装置本体1と、そのメモリ装置本体1を制御するコントローラ2とを有して構成されている。コントローラ2は、その内部にECC回路3を備えている。ECC回路3としては、たとえば、1ページ当たりのECC(エラー訂正)能力である許容ビット数が複数ビットとされている。
メモリ装置本体1は、メモリセルアレイ14と、メモリセルアレイ14に対してアドレスデータA6〜A18を入力するロウアドレスバッファ42と、さらに、ロウアドレスバッファ42に接続されるロウアドレスレジスタ40、および、ロウアドレスデコーダ38と、メモリセルアレイ14からのデータを検出するセンスアンプ16と、センスアンプ16に対してアドレスデータA0〜A5,A16を入力するカラムアドレスバッファ36と、さらに、カラムアドレスバッファ36に接続されるカラムアドレスレジスタ34、および、カラムアドレスデコーダ32と、センスアンプ16に接続されるデータインプットバッファ28,30、および、データアウトプットバッファ44,46と、クロックジェネレータ48と、論理回路ブロック50とから構成されている。論理回路ブロック50は、たとえば図1に示すように、ORゲート52と、NORゲート54,56,58,60と、ANDゲート62,64とから構成されている。メモリセルアレイ14は、たとえば、3値以上の多値論理データを記憶することが可能である。
図1に示した、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリにおいて、「ビット無視」の機能および「規定回数追加書き込み」の機能を組み込むためには、各ビットの書き込み状況のデータ(プログラムベリファイ結果)が必要である。このデータは、センスアンプ16内に格納される。
図2は、図1に示した、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリの、メモリ装置本体1におけるセンスアンプ16の近傍の構成を、より詳細に示すものである。メモリ装置本体1内には、たとえば図2に示すように、コア回路(書き込み制御回路)10と周辺回路12とが設けられている。コア回路10は、メモリセルアレイ14と、ページバッファ24およびキャッシュメモリ26からなるセンスアンプ16と、ページバッファ24に接続されたビットスキャン回路18とを備えている。ページバッファ24は、メモリセルアレイ14に対する書き込みデータまたは読み出しデータを保持し、データ書き込み動作時にはプログラムベリファイ結果を保持する。ビットスキャン回路18は、センスアンプ16内のページバッファ24に格納されるデータを受けて、ビットスキャン動作を実行する。周辺回路12は、シーケンサ(制御回路)20とレジスタ22とを備えている。レジスタ22は、ビットスキャン回路18に接続されており、ビットスキャン回路18におけるビットスキャン動作の結果を格納する。シーケンサ20は、レジスタ22に格納されているビットスキャン動作の結果にしたがって、メモリセルアレイ14に対するデータ書き込み動作などの動作シーケンスを制御する。
すなわち、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリは、たとえば図2に示したように、メモリセルアレイ14内の複数のメモリセル(図示していない)に対し、ページ単位で、データの書き込み動作(プログラム動作)とプログラムベリファイ動作とを繰り返し行うデータ書き込み動作(書き込みループ)において、プログラムベリファイ結果を保持するページバッファ24と、ページバッファ24に保持されたプログラムベリファイ結果にもとづいて、ページ内におけるプログラム未終了メモリセルの個数(フェイルビット数)mが、ECC回路3の許容ビット数(リファレンスフェイル数)nと同じか、それ以下のある値(M1,M2ビット)以下であるか否かを判定するビットスキャン回路18と、ビットスキャン回路18の判定結果を保持するレジスタ22と、ビットスキャン回路18の判定結果にしたがってコア回路10を制御し、プログラム未終了メモリセルの個数mが、リファレンスフェイル数nと同じか、それ以下のある値(M1,M2ビット)以下である場合には、プログラム動作およびプログラムベリファイ動作を規定の回数だけ追加し、それを実行した後に書き込みループを停止させるシーケンサ20とを備えている。あるいは、また、シーケンサ20は、ビットスキャン回路18の動作シーケンスを制御し、データ書き込み動作において、リファレンスフェイル数nをM1ビットからM2ビットに変更する動作を行う(ただし、M1<M2≦n)。
(センスアンプ)
図3は、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリに適用される、センスアンプ16の構成例を示すものである。図3に示すように、センスアンプ16は、メモリセルアレイ14に対してビット線BLを介して接続されるセンスアンプ回路66と、センスアンプ回路66に接続されるクランプ回路74と、クランプ回路74とセンスノード72にて接続されるテンポラリデータキャッシュ/ダイナミックデータキャッシュ70と、さらに、ページバッファ76およびセカンダリーデータキャッシュ78とから構成されている。テンポラリデータキャッシュ/ダイナミックデータキャッシュ70は、より詳細には、テンポラリデータキャッシュ80とダイナミックデータキャッシュ82とを備えている。テンポラリデータキャッシュ80とダイナミックデータキャッシュ82は、検出・演算時に使用するキャッシュである。ページバッファ76は、プライマリーデータキャッシュ84によって構成されている。このページバッファ76は、図2のページバッファ24に相当する。
図3は、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリに適用される、センスアンプ16の構成例を示すものである。図3に示すように、センスアンプ16は、メモリセルアレイ14に対してビット線BLを介して接続されるセンスアンプ回路66と、センスアンプ回路66に接続されるクランプ回路74と、クランプ回路74とセンスノード72にて接続されるテンポラリデータキャッシュ/ダイナミックデータキャッシュ70と、さらに、ページバッファ76およびセカンダリーデータキャッシュ78とから構成されている。テンポラリデータキャッシュ/ダイナミックデータキャッシュ70は、より詳細には、テンポラリデータキャッシュ80とダイナミックデータキャッシュ82とを備えている。テンポラリデータキャッシュ80とダイナミックデータキャッシュ82は、検出・演算時に使用するキャッシュである。ページバッファ76は、プライマリーデータキャッシュ84によって構成されている。このページバッファ76は、図2のページバッファ24に相当する。
データ読み出し動作(プログラムベリファイ動作)においては、メモリセルトランジスタの書き込み状況をセンスノード72で検出し、その結果を、ページバッファ76内のフリップフロップ回路の構成を有するプライマリーデータキャッシュ84に格納する。ビットスキャン回路18は、このページバッファ76に格納されたデータにもとづいて、設定された許容ビット数(n)と同じか、それ以下のある値(M1,M2ビット)以下に、フェイルビット数(プログラム未終了メモリセルの個数)mが収まっているかを検出する。この検出結果を受けて、シーケンサ20内で、データ書き込み動作の継続(書き込みループのステップアップ)、停止、または、「規定回数追加書き込み」という命令が下される。
(ビットスキャン回路)
図4は、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリに適用される、ビットスキャン回路18の構成例を示すものである。なお、同図(a)は回路図であり、同図(b)は同図(a)の回路に流れる動作電流波形を示している。ビットスキャン回路18は、たとえば図4(a)に示すように、1ページ長個のセンスアンプ(ラッチ)86を複数個並列接続したセンスアンプ87と、リファレンス定電流パス88と、インバータ90と、出力ノード92とを備えている。1ページ長個のセンスアンプ86に含まれる各々のセンスアンプS/Aは、プログラムベリファイ結果であるパス/フェイルデータを保持する。図4(a)の例では、プログラムベリファイ結果がパスデータのときに“H(HIGH)”レベルが保持され、プログラムベリファイ結果がフェイルデータのときに“L(LOW)”レベルが保持される場合を示している。このような構成のビットスキャン回路18は、1ページ長個のセンスアンプ86を複数個並列接続したセンスアンプ87からの電流Isumと、リファレンス定電流パス88を流れるリファレンス電流Irefとの間の差動電流を、インバータ90の出力ノード92から検出するという動作を行っている。
図4は、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリに適用される、ビットスキャン回路18の構成例を示すものである。なお、同図(a)は回路図であり、同図(b)は同図(a)の回路に流れる動作電流波形を示している。ビットスキャン回路18は、たとえば図4(a)に示すように、1ページ長個のセンスアンプ(ラッチ)86を複数個並列接続したセンスアンプ87と、リファレンス定電流パス88と、インバータ90と、出力ノード92とを備えている。1ページ長個のセンスアンプ86に含まれる各々のセンスアンプS/Aは、プログラムベリファイ結果であるパス/フェイルデータを保持する。図4(a)の例では、プログラムベリファイ結果がパスデータのときに“H(HIGH)”レベルが保持され、プログラムベリファイ結果がフェイルデータのときに“L(LOW)”レベルが保持される場合を示している。このような構成のビットスキャン回路18は、1ページ長個のセンスアンプ86を複数個並列接続したセンスアンプ87からの電流Isumと、リファレンス定電流パス88を流れるリファレンス電流Irefとの間の差動電流を、インバータ90の出力ノード92から検出するという動作を行っている。
上記の構成において、センスアンプ87のI/O0に対応するデータ出力(センスアンプ87からの電流Isum)は、たとえば図4(b)に示すように、I/O0が保持するフェイルデータ(L)の数に比例している。図4(a)の例では、I/O0のフェイルデータの数が1ビットの場合を示している。この場合、センスアンプ87からの電流Isumは“1×I”となる。リファレンス定電流パス88内のMOSトランジスタのゲート端子に供給される信号B0,B1は、許容するフェイルビット数(リファレンスフェイル数)nに応じてレベルが設定される信号である。リファレンスフェイル数nを1ビットに設定する場合には、信号B0,B1を(B0,B1)=(1,0)と設定する。この時、リファレンス電流Irefは“1.5×I”となり、センスアンプ87からの電流Isumがリファレンス電流Irefよりも小さくなる。これにより、インバータ90の出力ノード92は“1”レベルとなって、I/O0のフェイルビット数(m)が、許容するフェイルビット数(1ビット)n以下であることが分かる。
ビットスキャン回路18においては、リファレンスフェイル数nを何ビットにするかによってリファレンス電流Irefの設定を変え、I/O0〜I/O7について、それぞれ、フェイルビット数mを検出する必要がある。図4(a)の回路構成では、リファレンス定電流パス88の数はカラムの数に等しいため、バイトの数に対しては1対1の対応であるが、ビットの数に対しては1/8に縮約された数となっている。したがって、フェイルビット数mを検出するためには、I/O0〜I/O7のデータ出力を8回に時分割して検出する必要がある。リファレンス電流Irefの設定として、リファレンスフェイル数nを0個、1個と増やしていくと、I/O1にもフェイルビットがあったことが分かる。このようにして、I/O0〜I/O7について、それぞれの検出動作で検出されたフェイルビット数をレジスタ22に累積していけば、最終的なフェイルビット数mを検出することができる。実際には、レジスタ22に累積されていくフェイルビット数mが全体としてリファレンスフェイル数nを超えたところで、検出のための動作が終了する。
この動作の一例としては、多値動作におけるソフトプログラム後のベリファイ動作で1ビット以下のフェイルであることを検出する場合、あるいは、多値動作におけるデータ書き込み動作の最終ループ後に1ビット以下のフェイルであることを検出する場合などが挙げられる。
(データ書き込み方法)
以下の説明において、書き込みループとは、書き込みパルス(電圧)を段階的にステップアップしてループさせる、つまり、プログラム動作およびプログラムベリファイ動作を繰り返させる動作をさす。PC(プログラムカウント)とは、プログラム動作が繰り返されるごとに、その繰り返しのループ回数を積算させて回路に記憶させるための回数データを求めるための動作をさす。
以下の説明において、書き込みループとは、書き込みパルス(電圧)を段階的にステップアップしてループさせる、つまり、プログラム動作およびプログラムベリファイ動作を繰り返させる動作をさす。PC(プログラムカウント)とは、プログラム動作が繰り返されるごとに、その繰り返しのループ回数を積算させて回路に記憶させるための回数データを求めるための動作をさす。
(検討例)
まず、本発明の第1の実施の形態の基礎として検討した検討例にかかる、多値論理のNAND型フラッシュメモリのデータ書き込み方法は、図5に示すフローチャートのように表される。「Vpgm」を書き込み電圧、「PC」をデータ書き込みループ(繰り返しの)回数とする。
まず、本発明の第1の実施の形態の基礎として検討した検討例にかかる、多値論理のNAND型フラッシュメモリのデータ書き込み方法は、図5に示すフローチャートのように表される。「Vpgm」を書き込み電圧、「PC」をデータ書き込みループ(繰り返しの)回数とする。
(a) ステップS1において、“書き込み電圧Vpgm=スタート電圧Vpgm_start”、“書き込みループ回数PC=0”に設定する。
(b) 次に、ステップS2において、“PC=PC+1”と設定し、プログラム動作を実行する。
(c) 次に、ステップS3において、“ベリファイステータス=パス”か否かを判定する。
(d) ステップS3において、“ベリファイステータス=パス”がYESであれば、ステップS5に移行し、“ステータス=パス”となる。
(e) 一方、ステップS3において、“ベリファイステータス=パス”がNOであれば、ステップS4に移行し、“書き込みループ回数PC<書き込みループ回数の最大値PC_max(上限Loop_max)”か否かを判定する。
(f) ステップS4において、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”がNOであれば、ステップS6に移行し、“ステータス=フェイル”となる。
(g) 一方、ステップS4において、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”がYESであれば、ステップS7に移行し、“書き込み電圧Vpgm=Vpgm+ステップサイズ”と設定し、ステップS2に戻る。
通常、NAND型フラッシュメモリには、図5に示したように、データ書き込み動作時に書き込みループを任意のステップ幅で電圧をステップアップさせながら繰り返し、ページ内の全ビットの書き込みが終了した時点で書き込みループが停止する、データ書き込み方法が適用されている。
書き込みループにおける任意のステップ幅としては、たとえば、90nm世代の多値論理の不揮発性半導体記憶装置の場合で0.4V程度であり、それ以前の多値論理の不揮発性半導体記憶装置の場合で0.2V程度である。
図6に、この検討例にかかる、多値論理のNAND型フラッシュメモリのデータ書き込みの方法において、「1ページ=1ワード線昇圧で書き込み可能な512バイト」とした場合の、ページ数分布とデータ書き込みループ回数との関係を示している。
(本発明の第1の実施の形態にかかるデータ書き込み方法)
図7は、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリでの、データ書き込み方法(処理の流れ)について示すものである。以下の説明においては、ECC回路の使用を前提とするNAND型フラッシュメモリを対象としている。ECC回路としては、データ書き込みが同時に行われる1ページ当たりについて、複数ビットのエラー訂正が可能な機能を有するものとする。
図7は、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリでの、データ書き込み方法(処理の流れ)について示すものである。以下の説明においては、ECC回路の使用を前提とするNAND型フラッシュメモリを対象としている。ECC回路としては、データ書き込みが同時に行われる1ページ当たりについて、複数ビットのエラー訂正が可能な機能を有するものとする。
図7に示すように、たとえば、データ書き込みスタートからN回ループ目(または、設定値Loop_max2と記す)までは「M1ビット無視」で書き込みループ(プログラム動作)を繰り返し、N+1回ループ目以降は、Loop_maxまで「M2ビット無視」のプログラムベリファイ動作(書き込みステータスの確認)を毎回実施する。ここで、“M1”,“M2”は任意の値であり、“M1<M2≦n(ECCの許容ビット数)”とする。また、N回ループした時点またはN+1回ループ以降において、“ベリファイステータス=パス”がYESと判断された場合には、さらに、書き込みループを規定の回数だけ繰り返した後に、書き込みループを停止する。
図8に、本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリのデータ書き込みの方法において、データ書き込みループ回数とページ数分布との関係を示している。Loop_max2は、図に示すように、典型的なページがすべて収まる境界辺りの値を任意に設定する。なお、Loop_max2は、各NAND型フラッシュメモリの書き込みばらつきを考慮してトリミングできるように設計することが望ましい。
本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリにおいて、Loop_max2は、変数としての書き込みスタートから固定値としての任意のループ回数に設定され、NAND型フラッシュメモリのチップごとに異なる値となる。ここで、「変数としての書き込みスタート」とは、書き込み開始電圧Vpgm_startがウェハ状態における各NAND型フラッシュメモリのチップごとに異なることを意味する。チップごとに最適な書き込み開始電圧Vpgm_startを測定し、この測定値をチップ内にあらかじめ書き込むことによって、「変数としての書き込みスタート」が実行される。また、「固定値としての任意のループ回数」とは、デバイス設計者あるいは回路設計者が任意に決定する値である。
以下に、図7を参照して、本発明の第1の実施の形態にかかる多値論理のNAND型フラッシュメモリのデータ書き込み方法について説明する。なお、ここでは、1ページあたりの許容ビット数nが「4」とされたECC回路3を備えるNAND型フラッシュメモリにおいて、第1の特定ビット数M1を「2」、第2の特定ビット数M2を「3」とし、規定回数追加書き込みの回数Cを「1」とした場合について、説明する。
(a) まず、ステップS11において、“書き込み電圧Vpgm=スタート電圧Vpgm_start”、“書き込みループ回数PC=0”に設定する。
(b) 次に、ステップS12において、“PC=PC+1”と設定し、プログラム動作を実行する。
(c) 次に、ステップS13において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2(Loop_max2)”であるか否かを判定する。
(d) ステップS13において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”がYESであれば、ステップS14に移行し、M1ビット無視の“ベリファイステータス=パス”か否かを判定する。
(e) 一方、ステップS13において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”がNOであれば、ステップS15に移行し、M2ビット無視の“ベリファイステータス=パス”か否かを判定する。
(f) ステップS14において、M1ビット無視の“ベリファイステータス=パス”がYESであれば、ステップS16に移行し、“PC=PC+C”と設定し、追加のプログラム動作(書き込みループ)を実行する。つまり、Loop_max2に達した時点において、プログラム未終了メモリセルの個数(m)がM1ビット以下の場合、規定回数追加書き込みの回数Cの分だけ書き込みループを追加により実行する。
(g) その後、ステップS17に移行し、“ステータス=パス”となる。
(h) また、ステップS14において、M1ビット無視の“ベリファイステータス=パス”がNOであれば、ステップS18に移行し、“書き込み電圧Vprm=Vpgm+ステップサイズ”と設定し、ステップS12に戻る。
(i) 次に、ステップS15において、M2ビット無視の“ベリファイステータス=パス”がYESであれば、ステップS16に移行する。つまり、Loop_max2を越えた以降において、プログラム未終了メモリセルの個数(m)がM2ビット以下の場合、規定回数追加書き込みの回数Cの分だけ書き込みループを追加により実行する。
(j) 一方、ステップS15において、M2ビット無視の“ベリファイステータス=パス”がNOであれば、ステップS19に移行し、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”か否かを判定する。
(k) 次に、ステップS19において、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”がYESであれば、ステップS18に戻る。
(m) 一方、ステップS19において、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”がNOであれば、ステップS20に移行し、“ステータス=フェイル”となる。
上記したデータ書き込み方法について、より具体的に説明すると、たとえば、1ページあたりの許容ビット数nが4ビット(4ビットECC)とされたECC回路3を備える、多値論理のNAND型フラッシュメモリにおいて、ページ単位でデータの書き込みを行う場合、ワード線の電圧をステップアップしながら書き込みループを繰り返す。そして、当該ページ内のプログラム未終了メモリセルの個数(m)が2ビット(M1)以下になったところ(Loop_max2到達時)で、たとえば、ワード線の電圧を1つステップアップさせて、1回分の書き込みループを追加により実行する。こうして、その2ビット以下のプログラム未終了メモリセルの書き込みが終了している、いないにかかわらず、書き込みループを停止する。もしくは、プログラム未終了メモリセルの個数(m)が3ビット(M2)以下になったところ(Loop_max2到達以降)で、たとえば、ワード線の電圧を1つステップアップさせて、1回分の書き込みループを追加により実行する。こうして、その3ビット以下のプログラム未終了メモリセルの書き込みが終了している、いないにかかわらず、書き込みループを停止する。
ここで、追加の書き込みループの回数Cを何回に設定するかは、セルの書き込み特性にも依存して最適な値を決めるのがよい。通常は、プログラム未終了セルが特に異常なセルでない限り、大半の場合は1〜2回のループで書き込みできるので、その程度の回数が設定される。単なる書き込み速度の分布内で最もプログラムの遅いセルが書き込み終了していない場合は、大半のページにおいて、全ビットの書き込みが終了する。また、そのセルに何らかの問題があり、他のセルよりも非常にプログラムが遅い場合は、追加の1回のループでは書き込みが終了しないかもしれないが、プログラム未終了メモリセルのビット数は4ビット以下であるから、4ビットの許容ビット数を有するECC回路3で読み出した際には、正しいデータとして読み出すことができる。
なお、規定回数の追加の書き込みを行わなくても、プログラム未終了メモリセルの個数は4ビット以下であるから読み出し時に不良とはならないが、追加の書き込みを行わない場合、全ページにわたって2または3ビット分のプログラム未終了メモリセルを残してデータ書き込み動作が終了してしまう可能性がある。その場合には、ECC回路3の許容ビット数のうちの約半分のビットを最初から全ページで消費することを意味しており、それ以外の不良セルの発生によるECC回路3のエラー訂正能力を非常に低下させることになる。
そこで、本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリにおいては、当該ページ内のプログラム未終了メモリセルの個数(m)が、たとえば2ビット(M1)もしくは3ビット(M2)以下になったところで、規定回数の追加の書き込みを行うことにより、単に、データ書き込み時間の高速化やプログラムディスターブ不良の発生を抑制しようとするのみでなく、搭載しているECC回路3のエラー訂正能力の低下をも最低限に抑制できるようにしたものである。
本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリのデータ書き込み方法において、ページ数分布とデータ書き込みループ回数との関係は、図8に示すように表される。
本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリのデータ書き込み方法において、フェイルビット数(m)とデータ書き込みループ回数との関係は、図9に示すように表される。
本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリのデータ書き込み方法において、フェイルビット数(m)とデータ書き込みループ回数との関係の拡大図は、図10に示すように表される。
ここで、図8中の“A”に示すように、データ書き込みループ回数の上限(Loop_max)付近まで達してしまうページの、セル書き込み特性の例を図9に示す。
図9において、横軸はデータ書き込みループ回数であり、縦軸はデータ書き込みが終了していないプログラム未終了メモリセルの個数(フェイルビット数)であり、典型的なセルの書き込み速度が速いページと遅いページの分布を代表として示している。図9に“A”で示すように、ページ内にプログラムの遅いメモリセルが数ビット存在する場合、検討例にかかる書き込みの方法では、すべてのセルの書き込みが終わるように、Loop_maxまで書き込みループが繰り返し実行される。
これに対し、本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリのデータ書き込み方法においては、プログラム未終了メモリセルの個数がM1,M2ビット以下になると、書き込みループを1回だけ追加により実行した後に、当該ページに対するデータ書き込み動作を止めるようにしているため、ごくまれに存在する非常にプログラムの遅いメモリセル(孤立ビット不良)やカラム不良に律速されることなく、高速なデータプログラムが可能になるとともに、プログラムディスターブの影響を最少限に抑えることができる。
しかも、追加の書き込みループにより、ページ内に存在するM1,M2ビット以下のプログラム未終了メモリセルのいくつかを、データ書き込みが正常に行われたプログラム終了メモリセルとすることが可能となり、プログラム未終了メモリセルの個数を減少できる。したがって、万が一、同一ページ内にプログラム未終了メモリセルが存在したとしても、このプログラム未終了メモリセルはECC回路3による救済が可能なビット数以下のため、データ読み出し動作時には正常なデータとして出力することができるだけでなく、ECC回路3のエラー訂正能力の低下を最低限にとどめることが可能となる。なお、追加書き込みの回数Cは任意の値であり、たとえばLoop_max2の値に、この追加書き込みの回数Cを加えたデータ書き込みループの回数(Loop_max2+C)が、データ書き込みループ回数の最大値PC_max(上限Loop_max)を超えないように設定するのが望ましい。
図10は、Loop_max2,Loop_max付近(図9中にEで示す部分)の拡大図であり、それぞれの分布が、「M1,M2ビット無視」により書き込みループを停止する地点B,C,D、および、「規定回数追加書き込み」により書き込みループを停止する地点X,Yを、それぞれ例示している。
以上のように、孤立ビット不良やカラム不良の存在によってデータ書き込みループ回数の分布に裾を持つページでは、ECC回路3のエラー訂正能力の低下を抑制しつつ、プログラムディスターブの影響を効果的に抑えることができる。
以下に、パラメータの提案例を示す。
(1)ループ1〜ループ28 → 0ビット無視
(2)ループ29〜ループ32(max) → 1ビット無視
29回ループ目以降に「1ビット無視」を適用することで、前述の通り、プログラムの遅い孤立ビット不良や単カラム不良が存在しても、1ビット無視して書き込みループが止まる。
(2)ループ29〜ループ32(max) → 1ビット無視
29回ループ目以降に「1ビット無視」を適用することで、前述の通り、プログラムの遅い孤立ビット不良や単カラム不良が存在しても、1ビット無視して書き込みループが止まる。
また、書き込みスタートから「1ビット無視」を適用すると、正常な、多値論理のNAND型フラッシュメモリであっても、多くのページで1ビット残して書き込みループが止まってしまうが、これはECC回路3による救済が可能なレベルであるため、プログラムディスターブ不良の発生率の高いNAND型フラッシュメモリについては「M1(≧1)ビット無視」の適用を検討することもできる。
本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリによれば、ビット無視の機能を組み込むことで、プログラムの遅いメモリセルが数ビット存在するページにおいて、M1,M2ビット以下(ECCの許容ビット数(n)以下)のプログラム未終了メモリセルを残して書き込みループが停止するため、プログラムの遅い孤立ビット不良やカラム不良があった場合においても、書き込みループが過剰に繰り返されることなく、プログラムディスターブの影響を最少限に抑えることができる。
しかも、本発明の第1の実施の形態にかかる、多値論理のNAND型フラッシュメモリによれば、規定回数の追加書き込みの機能を組み込むことで、M1,M2ビット以下のプログラム未終了メモリセルのいくつかにデータの書き込みを行った後に書き込みループが停止するため、プログラム未終了メモリセルの救済に利用されるECC回路3の負担を軽減できるようになるものである。
[第2の実施の形態]
図11は、本発明の第2の実施の形態にしたがった、不揮発性半導体記憶装置(多値論理のNAND型フラッシュメモリ)のデータ書き込み方法を説明するために示すものである。
図11は、本発明の第2の実施の形態にしたがった、不揮発性半導体記憶装置(多値論理のNAND型フラッシュメモリ)のデータ書き込み方法を説明するために示すものである。
上述した本発明の第1の実施の形態では、追加の書き込みループの回数Cを「1」とし、ページ内のプログラム未終了メモリセルの個数(m)がM1,M2ビット以下になったところで、1回分の書き込みループを追加により実行するようにした場合について説明したが、この第2の実施の形態では、プログラム未終了メモリセルの個数(m)がM1,M2ビット以下になった際の、たとえば、書き込みループの繰り返しの回数(データ書き込みループ回数)に応じて、追加の書き込みループの回数Cを変化させるようにした場合について説明する。
すなわち、プログラム未終了メモリセルのビット数(m)が、たとえば、ECC回路3で救済できるビット数(n)以下のあるビット数(M1,M2)に到達するまでのループ回数(k)がある設定回数(p)よりも少なく、低い電圧で書き込みができる場合にはセルの書き込み特性が良好なため、この場合には、追加の書き込みループ回数C1を1回に設定する。一方、プログラム未終了メモリセルのビット数(m)が、たとえば、ECC回路3で救済できるビット数(n)以下のあるビット数(M1,M2)に到達するまでのループ回数(k)がある設定回数(p)よりも多く、高い電圧でないと書き込みができない場合にはセルの書き込み特性が悪いため、この場合には、追加の書き込みループの回数C2を2回に設定する。これらの追加の書き込みループの回数C1,C2に関するデータは、たとえば周辺回路12内のレジスタ22で保持される(図2参照)。
書き込みループでステップアップする電圧値は、通常、一定電圧でステップアップし、一定電界にはなっていないので、そのための補正という意味合いもある。同じループ1回の追加で、0.4V高い電圧を印加したとしても、書き込み速度を決める電界のステップアップ値は同じにはならない。高い電圧まで上がらないと書き込みが終了しないという場合は、同じ電圧を印加してもメモリセルの絶縁膜に印加される電界が低いということであり、より多い回数の追加書き込みが必要である。
このように、追加の書き込みループの回数Cに2つの設定データC1,C2(C1<C2)を設け、ループ回数が少ない段階、たとえばLoop_max2までの間に、ページ内のプログラム未終了メモリセルのビット数(m)が、ECC回路3で救済可能なビット数(n)以下のあるビット数(M1)に達した場合には、追加の書き込みループの回数Cとして設定データC1を選択する。これに対し、ループ回数がLoop_max2に達するまでの間に、ページ内のプログラム未終了メモリセルのビット数(m)が、ECC回路3で救済可能なビット数(n)以下のあるビット数(M1)に達しなかった場合、つまり、ループ回数が、たとえばLoop_max2を超えてLoop_maxに達するまでの間に、ページ内のプログラム未終了メモリセルのビット数(m)が、ECC回路3で救済可能なビット数(n)以下のあるビット数(M2)に達した場合には、追加の書き込みループの回数Cとして設定データC2を選択する。
以下に、図11を参照して、本発明の第2の実施の形態にかかる多値論理のNAND型フラッシュメモリのデータ書き込み方法(処理の流れ)について説明する。なお、ここでは、1ページあたりの許容ビット数nが「4」とされたECC回路3を備えるNAND型フラッシュメモリにおいて、第1の特定ビット数M1を「2」、第2の特定ビット数M2を「3」とし、規定回数追加書き込みの回数(設定データ)C1,C2をそれぞれ「1」,「2」とした場合について、説明する。
(a) まず、ステップS21において、“書き込み電圧Vpgm=スタート電圧Vpgm_start”、“書き込みループ回数PC=0”に設定する。
(b) 次に、ステップS22において、“PC=PC+1”と設定し、プログラム動作を実行する。
(c) 次に、ステップS23において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”であるか否かを判定する。
(d) ステップS23において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”がYESであれば、ステップS24に移行し、M1ビット無視の“ベリファイステータス=パス”か否かを判定する。
(e) 一方、ステップS23において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”がNOであれば、ステップS25に移行し、M2ビット無視の“ベリファイステータス=パス”か否かを判定する。
(f) ステップS24において、M1ビット無視の“ベリファイステータス=パス”がYESであれば、ステップS26に移行し、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”であるか否かを判定する。
(g) そして、ステップS26において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”がYESであれば、ステップS27に移行し、“PC=PC+C1”と設定して、追加のプログラム動作(書き込みループ)を1回実行する。つまり、Loop_max2に達した時点において、プログラム未終了メモリセルの個数(m)がM1ビット以下の場合、規定回数追加書き込みの回数C1の分だけ書き込みループを追加により実行する。
(h) その後、ステップS28に移行し、“ステータス=パス”となる。
(i) また、ステップS24において、M1ビット無視の“ベリファイステータス=パス”がNOであれば、ステップS29に移行し、“書き込み電圧Vprm=Vpgm+ステップサイズ”と設定し、ステップS22に戻る。
(j) 次に、ステップS25において、M2ビット無視の“ベリファイステータス=パス”がYESであれば、ステップS26に移行し、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”であるか否かを判定する。
(k) そして、ステップS26において、“書き込みループ回数PC≦書き込みループ回数の設定値PC_max2”がNOであれば、ステップS30に移行し、“PC=PC+C2”と設定して、追加のプログラム動作(書き込みループ)を2回実行する。つまり、Loop_max2を越えた以降において、プログラム未終了メモリセルの個数(m)がM2ビット以下の場合、規定回数追加書き込みの回数C2の分だけ書き込みループを追加により実行する。
(m) その後、ステップS28に移行し、“ステータス=パス”となる。
(n) 一方、ステップS25において、M2ビット無視の“ベリファイステータス=パス”がNOであれば、ステップS31に移行し、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”か否かを判定する。
(o) 次に、ステップS31において、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”がYESであれば、ステップS29に戻る。
(p) 一方、ステップS31において、“書き込みループ回数PC<書き込みループ回数の最大値PC_max”がNOであれば、ステップS32に移行し、“ステータス=フェイル”となる。
以上のように、本発明の第2の実施に形態にかかる多値論理のNAND型フラッシュメモリのデータ書き込み方法とした場合、第1の実施の形態で述べた効果に加え、特に、M2ビット以下のプログラム未終了メモリセルをより多く救済することが可能となり、ECC回路3の負担をさらに軽減できるようになる。
なお、上記した本発明の第2の実施の形態においては、書き込みループの繰り返しの回数(データ書き込みループ回数)に応じて、追加の書き込みループの回数C1,C2を変化させるようにした場合について説明したが、これに限らず、たとえば書き込み電圧(ステップアップ電圧値)Vpgmに応じて、追加の書き込みループの回数C1,C2を変化させるように構成することも可能である。
また、追加の書き込みループの回数Cを、2つの設定データC1,C2により切り替える場合に限らず、たとえば書き込みループの繰り返しの回数や書き込み電圧に応じて多段階的に切り替えるようにしてもよい。
その他、本願発明は、上記(各)実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記(各)実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、(各)実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(の少なくとも1つ)が得られる場合には、その構成要件が削除された構成が発明として抽出され得る。
1…メモリ装置本体、2…コントローラ、3…ECC回路、10…コア回路、12…周辺回路、14…メモリセルアレイ、16…センスアンプ、18…ビットスキャン回路、20…シーケンサ、22…レジスタ、24…ページバッファ、26…キャッシュメモリ、28,30…データインプットバッファ、32…カラムアドレスデコーダ、34…カラムアドレスレジスタ、36…カラムアドレスバッファ、38…ロウアドレスデコーダ、40…ロウアドレスレジスタ、42…ロウアドレスバッファ、44,46…データアウトプットバッファ、48…クロックジェネレータ、50…論理回路ブロック、Vpgm…書き込み電圧、Vpgm_start…書き込み開始電圧、PC…データ書き込みループ回数、Loop_max,PC_max…データ書き込みループ回数の最大値、Loop_max2,PC_max2…データ書き込みループ回数の設定値。
Claims (5)
- エラービットを訂正するためのエラー訂正回路を有する半導体記憶装置であって、
複数のメモリセルが配列されたメモリセルアレイと、
前記メモリセルアレイにおける前記複数のメモリセルに対し、所定個単位で、データの書き込み動作およびプログラムベリファイ動作を繰り返し行う書き込み制御回路と、
前記書き込み制御回路による前記プログラムベリファイ動作の結果を保持するページバッファと、
前記ページバッファに保持された前記プログラムベリファイ動作の結果にもとづいて、前記所定個単位内におけるデータ書き込み未終了セルの個数(m)が、前記エラー訂正回路によるエラー訂正可能なビット数(n)以下であるか否かを判定するビットスキャン回路と、
前記ビットスキャン回路の判定結果を保持するレジスタと、
前記レジスタで保持された、前記ビットスキャン回路の判定結果をもとに、前記データ書き込み未終了セルの個数が前記エラー訂正回路によるエラー訂正可能なビット数と同じか、それ以下の場合(n≧m)に、前記書き込み制御回路による前記書き込み動作および前記プログラムベリファイ動作を規定の回数(C)だけ追加により実行した後に停止させるように制御する制御回路と
を具備したことを特徴とする半導体記憶装置。 - 前記制御回路は、スタートからN回目まではM1ビット無視で前記書き込み制御回路による前記書き込み動作および前記プログラムベリファイ動作を繰り返させ、N+1回目以降は、M2ビット無視で前記書き込み制御回路による前記書き込み動作および前記プログラムベリファイ動作を繰り返させるように制御する(ただし、M1ビット<M2ビット<n)ことを特徴とする請求項1に記載の半導体記憶装置。
- 前記制御回路は、スタートからN回目までの間に、前記所定個単位内におけるデータ書き込み未終了セルの個数(m)が、前記エラー訂正回路によるエラー訂正可能なビット数(n)以下のある値(M1ビット)よりも小さくなった場合、および、N+1回目以降において、前記所定個単位内におけるデータ書き込み未終了セルの個数(m)が、前記エラー訂正回路によるエラー訂正可能なビット数(n)以下のある値(M2ビット)よりも小さくなった場合に、前記書き込み制御回路による前記書き込み動作および前記プログラムベリファイ動作を1回だけ追加により実行した後に停止させるように制御する(ただし、M1ビット<M2ビット<n)ことを特徴とする請求項1に記載の半導体記憶装置。
- 前記レジスタは、前記規定の回数(C)を決定するための第1の回数データ(C1)および前記第1の回数データよりも多い第2の回数データ(C2)を保持し、
前記制御回路は、前記データ書き込み未終了セルの個数(m)が前記エラー訂正回路によるエラー訂正可能なビット数(n)以下になるまでの、前記書き込み制御回路による前記書き込み動作および前記プログラムベリファイ動作の繰り返し回数(k)を判断し、前記繰り返し回数(k)がある設定値(p)よりも小さい場合(k<pまたはk≦p)には前記第1の回数データ(C1)を前記規定の回数(C)として、前記繰り返し回数(k)がある設定値(p)よりも大きい場合(k≧pまたはk>p)には前記第2の回数データ(C2)を前記規定の回数(C)として選択することを特徴とする請求項1に記載の半導体記憶装置。 - 前記制御回路は、前記データ書き込み未終了セルの個数(m)が前記エラー訂正回路によるエラー訂正可能なビット数(n)以下になるまでの、前記書き込み制御回路による前記書き込み動作および前記プログラムベリファイ動作の繰り返し回数(k)を判断し、前記繰り返し回数(k)が多いほど前記規定の回数(C)が多くなるように、前記繰り返し回数(k)に応じて前記規定の回数(C)を多段階的に変化させることを特徴とする請求項1に記載の半導体記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005249753A JP2007066386A (ja) | 2005-08-30 | 2005-08-30 | 半導体記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005249753A JP2007066386A (ja) | 2005-08-30 | 2005-08-30 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007066386A true JP2007066386A (ja) | 2007-03-15 |
Family
ID=37928411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005249753A Pending JP2007066386A (ja) | 2005-08-30 | 2005-08-30 | 半導体記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007066386A (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067291A (ja) * | 2008-09-08 | 2010-03-25 | Toshiba Corp | 半導体記憶装置およびそのデータ書込み方法 |
JP2012069180A (ja) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | 半導体記憶装置 |
CN103065678A (zh) * | 2011-10-21 | 2013-04-24 | 点序科技股份有限公司 | 闪速存储器装置及其数据储存方法 |
US8437197B2 (en) | 2010-03-24 | 2013-05-07 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory and method of operating the same |
US8458537B2 (en) | 2010-06-02 | 2013-06-04 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
US8656085B2 (en) | 2009-06-29 | 2014-02-18 | Samsung Electronics Co., Ltd. | Flash memory device and method for programming flash memory device |
US8958247B2 (en) | 2012-09-21 | 2015-02-17 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US8972775B2 (en) | 2008-05-15 | 2015-03-03 | Samsung Electronics Co., Ltd. | Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit |
US9047962B2 (en) | 2012-09-07 | 2015-06-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and control method of the same |
US9053978B2 (en) | 2011-07-12 | 2015-06-09 | Samsung Electronics Co., Ltd. | Erase system and method of nonvolatile memory device |
JP6115740B1 (ja) * | 2015-12-17 | 2017-04-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US11398277B2 (en) | 2020-09-15 | 2022-07-26 | Kioxia Corporation | Semiconductor storage device |
-
2005
- 2005-08-30 JP JP2005249753A patent/JP2007066386A/ja active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972775B2 (en) | 2008-05-15 | 2015-03-03 | Samsung Electronics Co., Ltd. | Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit |
US8787093B2 (en) | 2008-09-08 | 2014-07-22 | Kabushiki Kaisha Toshiba | Semiconductor memory device and data write method thereof |
US9349460B2 (en) | 2008-09-08 | 2016-05-24 | Kabushiki Kaisha Toshiba | Semiconductor memory device and data write method thereof |
US8391074B2 (en) | 2008-09-08 | 2013-03-05 | Kabushiki Kaisha Toshiba | Semiconductor memory device and data write method thereof |
JP2010067291A (ja) * | 2008-09-08 | 2010-03-25 | Toshiba Corp | 半導体記憶装置およびそのデータ書込み方法 |
US9754662B2 (en) | 2008-09-08 | 2017-09-05 | Toshiba Memory Corporation | Semiconductor memory device and data write method thereof |
US8656085B2 (en) | 2009-06-29 | 2014-02-18 | Samsung Electronics Co., Ltd. | Flash memory device and method for programming flash memory device |
US8437197B2 (en) | 2010-03-24 | 2013-05-07 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory and method of operating the same |
US8458537B2 (en) | 2010-06-02 | 2013-06-04 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
JP2012069180A (ja) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | 半導体記憶装置 |
US9431115B2 (en) | 2011-07-12 | 2016-08-30 | Samsung Electronics Co., Ltd. | Erase system and method of nonvolatile memory device |
US9053978B2 (en) | 2011-07-12 | 2015-06-09 | Samsung Electronics Co., Ltd. | Erase system and method of nonvolatile memory device |
CN103065678A (zh) * | 2011-10-21 | 2013-04-24 | 点序科技股份有限公司 | 闪速存储器装置及其数据储存方法 |
US9047962B2 (en) | 2012-09-07 | 2015-06-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and control method of the same |
US9368211B2 (en) | 2012-09-21 | 2016-06-14 | Kabushiki Kaisha Toshiba | Semiconductor memory device having a memory string that includes a transistor having a charge stored therein to indicate the memory string is defective |
US9685232B2 (en) | 2012-09-21 | 2017-06-20 | Kabushiki Kaisha Toshiba | Semiconductor memory device having a memory string that includes a transistor having a charge stored therein to indicate the memory string is defective |
US8958247B2 (en) | 2012-09-21 | 2015-02-17 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JP6115740B1 (ja) * | 2015-12-17 | 2017-04-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
JP2017111846A (ja) * | 2015-12-17 | 2017-06-22 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN106898378A (zh) * | 2015-12-17 | 2017-06-27 | 华邦电子股份有限公司 | 半导体存储装置及与非型快闪存储器的编程方法 |
CN106898378B (zh) * | 2015-12-17 | 2021-03-02 | 华邦电子股份有限公司 | 半导体存储装置及与非型快闪存储器的编程方法 |
US11398277B2 (en) | 2020-09-15 | 2022-07-26 | Kioxia Corporation | Semiconductor storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007066386A (ja) | 半導体記憶装置 | |
KR100624595B1 (ko) | 불휘발성 반도체 기억 장치, 불휘발성 반도체 기억 장치의데이터 기입 방법 및 메모리 카드 | |
KR101201582B1 (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
US8923056B2 (en) | Non-volatile memory device for reducing operating time and method of operating the same | |
US20180130544A1 (en) | Semiconductor device and operating method thereof | |
US8873298B2 (en) | Nonvolatile semiconductor storage device | |
JP2005222625A (ja) | 不揮発性半導体記憶装置 | |
US8964477B2 (en) | Nonvolatile memory, electronic apparatus, and verification method | |
JP2008204591A (ja) | メモリ素子の読み出し方法 | |
US7796438B2 (en) | Flash memory device and method of programming the same | |
US20090238007A1 (en) | Method of supplying an operating voltage of a flash memory device | |
US10026490B2 (en) | Programming method for reducing a width of a threshold voltage distribution curve of memory cells | |
JP2007035243A (ja) | Norフラッシュメモリ装置及びそのプログラム方法 | |
JP2010211883A (ja) | 不揮発性半導体記憶装置 | |
JP2011044200A (ja) | 不揮発性半導体記憶装置 | |
JP2006294144A (ja) | 不揮発性半導体記憶装置 | |
JP2006294142A (ja) | 不揮発性半導体記憶装置 | |
US10431312B2 (en) | Nonvolatile memory apparatus and refresh method thereof | |
JP2008130123A (ja) | 不揮発性半導体記憶装置 | |
JP2009080884A (ja) | 不揮発性半導体記憶装置 | |
KR20090000407A (ko) | 전압 제공 장치 및 이를 구비한 플래시 메모리 소자 | |
KR100880329B1 (ko) | 플래시 메모리 소자 및 그 프로그램 방법 | |
US8531905B2 (en) | Memory apparatus and refresh method thereof | |
JP2009176372A (ja) | 半導体記憶装置 | |
JP2013127827A (ja) | 不揮発性半導体記憶装置 |