JP2020155180A - メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム - Google Patents
メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2020155180A JP2020155180A JP2019052956A JP2019052956A JP2020155180A JP 2020155180 A JP2020155180 A JP 2020155180A JP 2019052956 A JP2019052956 A JP 2019052956A JP 2019052956 A JP2019052956 A JP 2019052956A JP 2020155180 A JP2020155180 A JP 2020155180A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- memory
- reading
- writing
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5644—Multilevel memory comprising counting devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
【課題】処理量を削減することができるメモリ読み出し方法を提供することである。【解決手段】読み出しステップは、読み出し電圧を用いて不揮発性メモリのメモリセルアレイに書き込まれたデータを読み出す。カウントステップは、データ読み出し時に得られるランダマイズ解除前のデータの1又は0のビット数をカウントしてビットカウント値を出力する。判定ステップは、読み出したデータにエラー訂正符号復号エラーが発生した場合に、ビットカウント値と第1基準値とに基づきデータが正常な書き込みされたデータか否かを判定する。実行ステップは、データが正常な書き込みされたデータであると判定された場合に読み出し電圧をシフトさせることにより正常な書き込みされたデータのリトライリードを実行する。【選択図】図1
Description
本発明の実施形態は、不揮発性のNANDフラッシュメモリ等のメモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラムに関する。
NANDフラッシュメモリに有するメモリセルは、浮遊ゲートに蓄えられた電荷量に応じたデータを記憶する。メモリセルから読み出したデータは、書き込み時に付加されたエラー訂正符号(ECC)を用いて復号される。
本発明が解決しようとする課題は、処理量を削減することができるメモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラムを提供することである。
本発明の実施形態に係るメモリ読み出し方法は、第1読み出しステップと、カウントステップと、第1判定ステップと、実行ステップとを備える。第1読み出しステップは、読み出し電圧を用いて不揮発性メモリのメモリセルアレイに書き込まれたデータを読み出す。カウントステップは、データ読み出し時に得られるランダマイズ解除前のデータの1又は0のビット数をカウントしてビットカウント値を出力する。第1判定ステップは、読み出したデータにエラー訂正符号復号エラーが発生した場合に、ビットカウント値と第1基準値とに基づきデータが正常な書き込みされたデータか否かを判定する。実行ステップは、データが正常な書き込みされたデータであると判定された場合に読み出し電圧をシフトさせることにより正常な書き込みされたデータのリトライリードを実行する。
以下、実施形態のメモリ読み出し方法及びメモリシステムについて、図面を参照しながら詳細に説明する。
参照される図面は模式的なものである。以下の説明において、同一の機能及び構成を有する要素については、共通する参照符号を付す。参照符号を構成する数字の後のアルファベットは、同じ数字を含んだ参照符号によって参照される。且つ同様の構成を有する要素同士を区別するために用いられている。同じ数字を含んだ参照符号で示される要素を相互に区別する必要がない。この場合、これらの要素は数字のみを含んだ参照符号により参照される。
(第1実施形態)
(メモリシステムの構成)
図1は、本発明の第1実施形態にかかるメモリシステムの機能ブロック図である。メモリシステム1は、図1に示すように、図示しないホスト装置のためのストレージとして機能する。メモリシステム1は、ホスト装置と通信する。メモリシステム1は、ホスト装置の指示に基づいて、ホスト装置からのデータを記憶する。
(メモリシステムの構成)
図1は、本発明の第1実施形態にかかるメモリシステムの機能ブロック図である。メモリシステム1は、図1に示すように、図示しないホスト装置のためのストレージとして機能する。メモリシステム1は、ホスト装置と通信する。メモリシステム1は、ホスト装置の指示に基づいて、ホスト装置からのデータを記憶する。
メモリシステム1は、複数のメモリ装置100と、メモリコントローラ200を備える。メモリシステム1は、例えばSDTMカードのようなメモリカードや、SSD(Solid state device)である。メモリ装置100と、メモリコントローラ200は、別々のパッケージに例えば、樹脂によって封止されたチップであってもよい。メモリ装置100と、メモリコントローラ200は、1つのチップであってもよい。
複数のメモリ装置100は、同じ要素及び接続を有する。ここでは、1つのメモリ装置100を代表として説明する。1つのメモリ装置100の説明は他のメモリ装置100にも適用される。メモリ装置100は、不揮発にデータを記憶するNAND型フラッシュメモリである。
(メモリコントローラの構成)
メモリコントローラ200は、ホスト装置からの命令に応答する。メモリコントローラ200は、メモリ装置100に対して読み出し、書き込み、及び消去等を命令する制御装置である。メモリコントローラ200は、ホスト装置から書き込みを指示されたデータをメモリ装置100に書き込む。メモリコントローラ200は、ホスト装置から読み出しを指示されたデータをメモリ装置100から読み出す。メモリコントローラ200は、メモリ装置100から読み出したデータをホスト装置に送信する。
メモリコントローラ200は、ホスト装置からの命令に応答する。メモリコントローラ200は、メモリ装置100に対して読み出し、書き込み、及び消去等を命令する制御装置である。メモリコントローラ200は、ホスト装置から書き込みを指示されたデータをメモリ装置100に書き込む。メモリコントローラ200は、ホスト装置から読み出しを指示されたデータをメモリ装置100から読み出す。メモリコントローラ200は、メモリ装置100から読み出したデータをホスト装置に送信する。
また、メモリコントローラ200は、メモリ装置100におけるメモリ空間を管理する。管理は、アドレスの管理、及びメモリ装置100の状態の管理を含む。アドレスのマッピングは、論理アドレスと物理アドレスのマッピングである。物理アドレスはメモリ装置100により提供される記憶領域を特定する領域である。具体的には、メモリコントローラ200は、書き込みを指示される。すると、書き込みを指示されたデータの書き込み先の論理アドレスと、当該データが書き込まれたメモリ装置100中の記憶領域の物理アドレスはアドレス変換テーブルにより管理される。
メモリコントローラ200は、ある論理アドレスと関連付けられた物理アドレスを知得し、知得された物理アドレスの記憶領域からデータを読み出す。メモリ装置100の状態の管理は、メモリ装置100の記憶領域の管理、ウェアレベリング、ガベージコレクション、及びリフリッシュを含む。
メモリコントローラ200は、ホストインターフェイス21、全体制御部22、RAM(random access memory)23、メモリインターフェイス24、ECC回路25、ROM(read only memory)26を備える。なお、各図において、インターフェイスは、I/Fと記載する。
メモリコントローラ200は、例えば、ハードウェアとしてCPU(central processing unit )等のプロセッサを含む。メモリコントローラ200は、ROM26に記憶され且つRAM23上にロードされたファームウェア(プログラム)がプロセッサによって実行されることによって、ホストインターフェイス21、全体制御部22、RAM23、メモリインターフェイス24及びECC回路25の各々の機能の一部または全部を実行する。ホストインターフェイス21、全体制御部22、メモリインターフェイス24及びECC回路25は、バスにより相互に接続されている。
ホストインターフェイス21は、外部との通信を行うハードウェアインターフェイスである。例えば、ホストインターフェイス21は、外部から受信した命令及びデータをそれぞれ、全体制御部22及びRAM23に転送する。
RAM23は、メモリコントローラ200がメモリ装置100及びホスト装置から受信したデータを一時的に記憶し、バッファとしての機能を有するメモリである。
メモリインターフェイス24は、メモリ装置100と接続され、メモリコントローラ200とメモリ装置100との通信を行うハードウェアインターフェイスである。メモリインターフェイス24は、NANDインターフェイスに従った信号の送受信を行う。NANDインターフェイスに従った信号は、例えば種々の制御信号及び入出力信号DQを含む。入出力信号DQ(DQ0〜DQ7)は、例えば8ビットの幅を有し、コマンド(CMD)、書き込みデータ及び読み出しデータ(DATA)、アドレス信号(ADD)、各種の管理データを含む。
ECC回路25は、データのエラー訂正(Error Checking and Correcting)を行うハードウェア回路である。ECC回路25は、メモリインターフェイス24を介してメモリ装置100に接続される。具体的には、ECC回路25は、データの書き込み時に書き込みデータに基づいてパリティを生成する。ECC回路25は、データの読み出し時にパリティからシンドロームを生成して、エラーを検出し、検出したエラーを訂正する。
また、ECC回路25は、メモリ装置100からの読み出されたデータ(読み出しデータ)に対して誤り訂正演算を行う。ECC回路25は、読み出しデータの符号誤り(エラー)が、誤り訂正能力以内である場合には、読み出しデータから正しいデータを復元できる。誤り訂正能力は、読み出しデータに含まれる誤り訂正データに基づいて定まる。ECC回路25は、読み出しデータのエラーが誤り訂正能力を超える場合には、読み出しデータから正しいデータを復元できない。
全体制御部22は、演算処理装置である。全体制御部22は、ホストインターフェイス21、RAM23、メモリインターフェイス24、ROM26、ECC回路25、ROM26に接続される。全体制御部22は、ホストインターフェイス21、RAM23、メモリインターフェイス24及びECC回路25を制御する。全体制御部22は、書き込み及び読み出しの際に、RAM23及びメモリインターフェイス24を制御しつつ、メモリ装置100の状態を管理する。また、全体制御部22は、ホスト装置から受信した書き込み命令に応答して、書き込み命令を発行する。この動作は、読み出し及び消去の場合についても同様である。
全体制御部22は、ECC回路25によるパリティ生成前でメモリ装置100へのデータ書き込み前に、ビット単位で各々の値をそれらと無関係に0又は1に等確率で変換する。この処理をランダマイズと呼ぶ。ランダマイズの結果、書き込まれるデータの0又は1の数はほぼ同数(それぞれ50%)となる。
ROM26は、データの読み出しのみ可能なメモリである。ROM26は、全体制御部22に接続される。ROM26は、書き込みデータ判定処理プログラム(コンピュータ・プログラムに対応)を格納する。全体制御部22は、ROM26に格納された書き込みデータ判定処理プログラムを実行することで、図4に示すフローチャートの各処理を実行する。
(メモリ装置の構成)
各メモリ装置100は、メモリセルアレイ11、シーケンサ(制御回路)12、電位
生成回路13、ドライバ14、ロウデコーダ15、センスアンプ16等を含む。
各メモリ装置100は、メモリセルアレイ11、シーケンサ(制御回路)12、電位
生成回路13、ドライバ14、ロウデコーダ15、センスアンプ16等を含む。
メモリセルアレイ11は、複数のブロック(メモリブロック)BLK(BLK0、BLK1、…)により構成される記憶部である。メモリセルアレイ11は、電位生成回路13、ロウデコーダ15、センスアンプ16に接続される。各ブロックBLK中のデータは一括して消去される。各ブロックBLKは、ビット線及びワード線に関連付けられた複数のセルトランジスタ(メモリセル)を備える。セルトランジスタは、メモリコントローラ200からの書き込みデータを不揮発に記憶する。
電位生成回路13は、電位を生成するハードウェア回路である。電位生成回路13は、シーケンサ12、メモリセルアレイ11、ドライバ14、ロウデコーダ15、センスアンプ16に接続される。電位生成回路13は、シーケンサ12の指示に基づいて電位を生成する。生成された電位は、メモリセルアレイ11、ドライバ14、ロウデコーダ15、センスアンプ16に供給される。ドライバ14は、メモリコントローラ200からのアドレス信号ADDを受け取り、電位生成回路13からの電位のうちアドレス信号ADDに基づいていくつかの電位を選択し、選択された電位をロウデコーダ15に供給する。
ロウデコーダ15は、ブロックアドレス又はページアドレスをデコードするハードウェア回路である。ロウデコーダ15は、メモリコントローラ200に接続される。ロウデコーダ15は、メモリコントローラ200からのアドレス信号ADDを受け取る。ロウデコーダ15は、アドレス信号ADDに基づいて、1つのブロックを選択する。ロウデコーダ15は、選択されたブロックBLKにドライバ14からの電位を転送する。また、ロウデコーダ15は読み出し動作及び書き込み動作を行う対象のセルトランジスタに対応するワード線を選択する。そして、ロウデコーダ15は、選択ワード線及び非選択ワード線にそれぞれ所望の電圧を印加する。
センスアンプ16は、メモリセルからの電圧を増幅する回路である。データ読み出し時、メモリセルからビット線に読み出される電圧は数百mV程度と小さい。センスアンプ16は、データ読み出し時にビット線の電圧変動をデジタル信号として取り扱いが可能となるレベルまで増幅する。また、センスアンプ16は、カウンタ161を有する。カウンタ161は、読み出しデータの1または0の数をカウントし、このカウント結果をシーケンサ12に転送する。
シーケンサ12は、メモリ装置100の動作を制御するコントローラである。シーケンサ12は、メモリコントローラ200に接続される。シーケンサ12は、メモリコントローラ200からのコマンドCMDに基づいて、電位生成回路13、ドライバ14、及びセンスアンプ16等を制御する。シーケンサ12は、レジスタ121を含む。レジスタ121は、複数の記憶領域を含む。各記憶領域は、一意のアドレスにより特定でき、1または複数のビットの情報を記憶できる。レジスタ121は、各記憶領域において種々のデータを記憶する。
図2は、本発明の第1実施形態にかかるブロックBLK0の回路図である。図2は、メモリセルアレイ11のブロックBLK0の要素及び接続を示す。ブロックBLK0以外の他のブロックBLKは、図2に示されるブロックBLK0と同様の要素及び接続を備える。
ブロックBLK0は、ビット線及びワード線に関連付けられた複数のトランジスタを備える。ブロックBLK0は、複数の(例えば4つの)ストリングユニットSU(SU0〜SU3)からなる。各ストリングSTRは、1つの選択ゲートトランジスタST、複数(例えば8個)のセルトランジスタMT(MT0〜MT7)、1つの選択ゲートトランジスタDT(DT0〜DT3)からなる。ブロックBLK0において、m(mは自然数)本のビット線BL0〜BLm−1の各々は、4つのストリングユニットSU0〜SU3の各々の1つのストリングSTRと、それぞれ接続されている。
1つの選択ゲートトランジスタSTは、制御ゲート電極が信号線SGSLに接続される。複数のセルトランジスタMT(MT0〜MT7)は、制御ゲート電極がワード線WLに接続される。1つの選択ゲートトランジスタDT(DT0〜DT3)は、制御ゲート電極が信号線SGDL0に接続される。選択ゲートトランジスタST、セルトランジスタMT、及び選択ゲートトランジスタDTは、この順でソース線CELSRCと1つのビット線BLとに直列に接続されている。
セルトランジスタMTは、MOSFET(Metal Oxide Semiconductor Field Effect Transistor)である。セルトランジスタMTは、制御ゲート電極がワード線WLに接続される。セルトランジスタMTは、制御ゲート電極及び周囲から絶縁された浮遊ゲート電極を備える。セルトランジスタMTは、浮遊ゲート電極に蓄えられた電荷の量に応じて閾値電圧が変化する。つまり、セルトランジスタMTは、電荷の量に応じたデータを記憶する。データ書き込み時、セルトランジスタMTは、浮遊ゲート電極に、電子を注入される。データ消去時、セルトランジスタMTは、浮遊ゲート電極から電子を引き抜かれる。
複数のビット線BLとそれぞれ接続された複数のストリングSTRは、複数のストリングユニットSU(SU0、SU1、SU2、SU3)を構成する。各ストリングユニットSUは、1本のビット線BL毎に1つずつ、そのビット線BLと接続されたストリングSTRを備える。
各ストリングユニットSUにおいて、セルトランジスタMT(MT0〜MT7)の制御ゲート電極は、ワード線WL0〜WL7とそれぞれ接続されている。さらに、相違するストリングユニットSU中の同じアドレスのワード線WLも相互に接続されている。
1つのストリングユニットSU中でワード線WLを共有するセルトランジスタMTの組は、1ページPGとして取り扱われ、ページ毎にデータの書き込み及び読み出しが行われる。即ち、1ページPGのセルトランジスタMTは、一括してデータを書き込まれ、また一括してデータを読み出される。ページPGは、複数を纏めて管理することができる。
選択ゲートトランジスタDT0〜DT3は、ストリングユニットSU0〜SU3にそれぞれ属する。各α(αは0または3以下の自然数)について、ストリングユニットSUαの複数のストリングSTRの各々の選択ゲートトランジスタDTαのゲートは、選択ゲート線SGDLαに接続されている。選択ゲートトランジスタSTのゲートは、選択ゲート線SGSLに接続されている。
メモリ装置100は、1つのセルトランジスタMTにおいて1ビット以上のデータを記憶することができる。書き込みの結果として1セルトランジスタ当たり1ビットのデータを記憶するものはシングルレベルセル(SLC)と呼ぶ。SLCであるセルトランジスタMTは、電荷の蓄積量が2つのレベルに分類される。1セルトランジスタ当たり2ビットのデータを記憶するものはマルチレベルセル(MLC)と呼ぶ。MLCであるセルトランジスタMTは、電荷の蓄積量が4つのレベルに分類される。1セルトランジスタ当たり3ビットのデータを記憶するものはトリプルレベルセル(TLC)と呼ぶ。TLCであるセルトランジスタMTは、電荷の蓄積量が8つのレベルに分類される。1セルトランジスタ当たりのビット数が増加するに従って、データ容量が大きい記憶素子である。
各ワード線WL0〜WL7に対して、電位生成回路13の出力が接続され、各ビット線BL0〜BLm−1にそれぞれセンスアンプ16が接続される。各ワード線WL0〜WL7から1つを選択し、電位生成回路13により選択されたワード線をセルトランジスタMTのオフ電圧、それ以外のワード線をオン電圧とする。そして、各ビット線BL0〜BLm−1の電圧をそれぞれセンスアンプ16により検知することで、1ページ分のデータを読み出すことができる。
図3は、本発明の第1実施形態にかかるセルトランジスタの閾値電圧の分布の一例を示す図である。図3(a)は、SLCである複数のセルトランジスタMTの閾値電圧の分布の一例を示す。図3(b)は、TLCである複数のセルトランジスタMTの閾値電圧の分布の一例を示す。図3(a)、図3(b)において、縦軸は導通するセルトランジスタMTの数(セル数)、横軸は閾値電圧を示す。
図3(a)において、分布3bは、閾値電圧が読み出し電圧Th1以下である消去状態(Erase状態またはEr状態とも呼ぶ)にある複数のセルトランジスタの分布を模式的に示す。データの書き込みは、Er状態のセルトランジスタMTに対して実行される。分布3aは、閾値電圧がTh1以上であるA状態にある複数のセルトランジスタの分布を模式的に示す。SLCであるセルトランジスタMTにおける読み出し電圧Th1は例えば0Vである。書き込みの結果、SLCであるセルトランジスタMTは、Er状態からA状態に遷移する。
図3(b)において、読み出し条件として7つの読み出し電圧Th11〜Th17を含む読み出し電圧Thの組を設定する。セルトランジスタMTの閾値電圧をこれらの読み出し電圧Th11〜Th17で分類する。即ち、読み出し電圧Th11〜Th17を用いてデータを読み出す。なお、分布5hは、消去状態(Erase)の分布を示す。
(書き込みデータ判定処理)
次に、第1実施形態のメモリシステムの書き込みデータ判定処理について説明する。図4は、本発明の第1実施形態にかかるメモリシステムの書き込みデータ判定処理を示すフローチャートである。図4を参照しながら、書き込みデータ判定処理を説明する。
次に、第1実施形態のメモリシステムの書き込みデータ判定処理について説明する。図4は、本発明の第1実施形態にかかるメモリシステムの書き込みデータ判定処理を示すフローチャートである。図4を参照しながら、書き込みデータ判定処理を説明する。
外部から書き込みの指示を受信すると、全体制御部22は、データを書き込むメモリ装置100を選択する。全体制御部22は、データの書き込み前にビット単位で各々の値をそれらと無関係に0又は1に等確率で変換する(ステップS1)。書き込まれるデータの0又は1の数はほぼ同数(それぞれ50%)となる。そして、全体制御部22は、選択したメモリ装置100へ、データの書き込みを指示する(ステップS2)。外部から受信する書き込みの指示は、例えば、ページを指定する信号、データ、アドレス信号、書き込み実行コマンドを含む。次に、シーケンサ12は、全体制御部22の指示に基づいて、セルユニットにデータを書き込む。
次に、全体制御部22は、読み出し信号をステップS2で選択したメモリ装置100へ送信する。全体制御部22は、ステップS2で選択したメモリ装置100に対する通常データ読み出し処理を実施する(ステップS3)。シーケンサ12は、読み出し対象ページのデータを読み出す。
全体制御部22は、S3のデータ読み出し時に得られた2進数データの1(または0)のビット数(ビットカウント値)をカウンタ161にカウントさせる(ステップS4)。カウンタ161は、ビットカウント値をシーケンサ12に転送する。シーケンサ12は、全体制御部22にビットカウント値を送る。
全体制御部22は、S3のデータ読み出し時に得られた2進数データについて、誤り訂正演算をECC回路25に行わせる(ステップS5)。読み出しデータのエラーが誤り訂正能力以内である場合(ステップS5 NO)、ECC回路25は、読み出しデータから正しいデータを復元できたこと(ECC復号成功)を全体制御部22に通知する(ステップS6)。全体制御部22は、ECC回路25からECC復号成功を通知されると、一連の処理を終了する(終了)。読み出しデータのエラーが誤り訂正能力を超える場合(ステップS5 YES)、ECC回路25は、読み出しデータから正しいデータを復元できなかったこと(ECC復号エラー)を全体制御部22に通知する(ステップS7)。
全体制御部22は、ECC回路25からECC復号エラーを通知されると、S4でカウントされたビットカウント値と基準値(第1基準値)との差が所定範囲内かどうかを判断する(ステップS8)。
ビットカウント値と第1基準値との差が所定範囲内であると判断した場合には(ステップS8 YES)、全体制御部22は、S3のデータ読み出し時とは異なる読み出し電圧でデータ読み出し(リトライリード)を行う(ステップS9)。ビットカウント値と第1基準値との差が所定範囲内でないと判断した場合には(ステップS8 NO)、全体制御部22は、一連の処理を終了する(終了)。
全体制御部22は、S9のリトライリード時に得られた2進数データについて、誤り訂正演算をECC回路25に行わせる(ステップS10)。読み出しデータのエラーが誤り訂正能力以内である場合(ステップS10 NO)、ECC回路25は、読み出しデータから正しいデータを復元できたこと(ECC復号成功)を全体制御部22に通知する(ステップS11)。全体制御部22は、ECC回路25からECC復号成功を通知されると、一連の処理を終了する(終了)。読み出しデータのエラーが誤り訂正能力を超える場合(ステップS10 YES)、ECC回路25は、読み出しデータから正しいデータを復元できなかったこと(ECC復号エラー)を全体制御部22に通知する(ステップS12)。全体制御部22は、ECC回路25からECC復号エラーを通知されると、一連の処理を終了する(終了)。
図5は、本発明の第1実施形態にかかるSLCである複数のセルトランジスタMTに対する書き込みの進み具合とビットカウント(割合)との関係を示す図である。横軸は、所定数のセルトランジスタMTに対する書き込み開始から書き込み完了までの時間を示す。縦軸は、上述した所定数の複数のセルトランジスタMTについて、データ読み出し時に得られる2進数データの1の割合(ビットカウント(割合))である。所定数とは例えば1ページ分のことである。
書き込み開始時点では、すべてのデータは1である。上述した通り、セルトランジスタMTに書き込むデータにはランダマイズを行うので、書き込み完了時には、ビットカウントが50%となる。
図6は、本発明の第1実施形態にかかるSLCである複数のセルトランジスタMTに対する(a)書き込み25%完了時、(b)50%完了時、(c)100%完了時それぞれにおける閾値電圧の分布の一例である。図6を参照しながら、ビットカウント(割合)が図5に示すように変化する過程を説明する。
図6(a)に示すように、書き込み25%完了時、ランダマイズにより、全体の半数のセルトランジスタMTに対してデータ書き込みがそれぞれ25%進行すると考えられる。しかしながら、25%程度では閾値電圧が読出し電圧を超えるほどのことはなく、書き込まれたデータの1の割合は、100%となると考えられる。次に、図6(b)に示すように、書き込み50%完了時、全体の半数のセルトランジスタMTに対してデータ書き込みがそれぞれ50%進行すると考えられる。しかしながら、50%でも閾値電圧が読出し電圧を超えるほどのことはなく、書き込まれたデータの1の割合は、100%となると考えられる。次に、図6(c)に示すように、書き込み100%完了時、全体の半数のセルトランジスタMTに対してデータ書き込みがそれぞれ100%進行すると考えられる。100%まで進行すれば閾値電圧が読出し電圧を超えて、書き込まれたデータの1の割合は、50%となると考えられる。
図6において、全体制御部22は、1の割合が基準値、例えば60%を下回ったときにアサインされている、即ち、データを読み出しできると判定する。アサインされているとは、データの読み出し(リトライリードを含む)が可能な状態であり、書き込みが完全に完了していない場合、例えば書き込み99%完了も含む。
次に、TLCの場合で複数のページにデータ書き込みがなされた場合について説明する。図7は、本発明の第1実施形態にかかるTLCである複数のセルトランジスタMTに対する書き込みの進み具合とビットカウント値との関係を示す図である。横軸は、所定数のセルトランジスタMTに対する書き込み開始から書き込み完了までの時間を示している。縦軸は、所定数の複数のセルトランジスタMTについて、データ読み出し時に得られる2進数データの1の割合(ビットカウント(割合))である。所定数とは例えば1ページ分のことである。縦軸は、アッパーページ、ミドルページ、ロウワーページの書き込み開始から書き込み完了時までのビットカウント値の変化を示す。図7において、ビットカウントが50%から大きく外れている場合には全体制御部22がデータを読み出しできないと判断する。
図8は、本発明の第1実施形態にかかるTLCセルトランジスタの(a)ロウワーページ、(b)ミドルページ、(c)アッパーページの各ページについて書き込まれたデータの一例を示す図である。
図8(a)に示すロウワーページでは、TLCの8つのレベルを閾値電圧の低い順から10000111と定義し、読み出し電圧Th3以下および読み出し電圧Th4以上を1、読み出し電圧Th3以上かつ読み出し電圧Th4以下が0となるように読み出し電圧Th3およびTh4を設定する。図8(b)に示すミドルページでは、TLCの8つのレベルを閾値電圧の低い順から11001100と定義し、読み出し電圧Th5以下および読み出し電圧Th6以上読み出し電圧Th7以下を1、読み出し電圧Th5以上読み出し電圧Th6以下および読み出し電圧Th7を0となるように読み出し電圧Th5、電圧Th6およびTh7を設定する。
図8(c)に示すアッパーページでは、TLCの8つのレベルを閾値電圧の低い順から11100001と定義し、読み出し電圧Th8以下および読み出し電圧Th9以上を1、読み出し電圧Th8以上および読み出し電圧Th9以下を0となるように読み出し電圧Th8およびTh9を設定する。メモリコントローラ200は、7つの読み出し電圧Th3〜Th9を用いてデータを読み出す。なお、TLCの読み出し電圧の設定方法は、3ビットの区別が可能であれば、上記の方法以外の方法でもよい。
1の分布状態は、浮遊ゲート電極に電子がない状態である。0の分布は、浮遊ゲート電極に電子がある状態である。書き込み開始時点では、全てのデータは1であり、1の分布は、100%である。0の分布は、0%である。上述した通り、セルトランジスタMTに書き込むデータにはランダマイズを行うので、書き込み完了時には、ビットカウントが50%となる。消去状態では、アッパーページ、ミドルページ、ロウワーページの各ページについて、1の割合は、100%である。
なお、図7において、ビットカウントが50%近辺でも書き込み完了していない時間帯の点線に示す領域EA1,EA2,EA3,EA4では、書き込み状態を誤判定されるため、誤判定の対策が必要になる。誤判定対策に対しては、第2実施形態、第3実施形態のメモリシステムで説明する。
このように第1実施形態のメモリシステムによれば、データを読み出した時にデータに含まれる1又は0のビット数(ビットカウント値)をカウントする。読み出したデータに復号エラーが発生した場合には、ビットカウント値と第1基準値とに基づき正常な書き込みがされたか否かを判定する。正常な書き込みがされたと判定された場合、リトライリードを実行する。
即ち、読み出し時に得られるデータの0と1のビット数の割合に基づきデータの書き込み状態を判定し、正常な書き込みデータに対してのみリトライリードを行う。
これにより、不完全な書き込みデータに対してリトライリードを実施することがなくなる。また、正常な書き込みデータに対してもアサインドチェックによる余分なリードを回避することができる。
(第2実施形態)
第2実施形態のメモリシステムは、第1実施形態のメモリシステムにおける書き込み状態を誤判定したときの誤判定の対策として、第1実施形態のメモリシステムの書き込みデータ判定処理に、さらに、アサインドチェック判定を追加したことを特徴とする。図9は、本発明の第2実施形態にかかるメモリシステムの書き込みデータ判定処理を示すフローチャートである。なお、図13に示すフローチャートの各処理は、全体制御部22がROM26に格納された書き込みデータ判定処理プログラムを実行することで実行される。
第2実施形態のメモリシステムは、第1実施形態のメモリシステムにおける書き込み状態を誤判定したときの誤判定の対策として、第1実施形態のメモリシステムの書き込みデータ判定処理に、さらに、アサインドチェック判定を追加したことを特徴とする。図9は、本発明の第2実施形態にかかるメモリシステムの書き込みデータ判定処理を示すフローチャートである。なお、図13に示すフローチャートの各処理は、全体制御部22がROM26に格納された書き込みデータ判定処理プログラムを実行することで実行される。
次に、図9のフローチャートを参照しながら、第2実施形態のメモリシステムのリトライリード処理を説明する。まず、ステップS1からS12までの処理は、図4のフローチャートの処理と同じであるので、ここでは、それらの説明は、省略する。
ビットカウント値と第1基準値との差が所定範囲内であると判断した場合(ステップS8 YES)、全体制御部22は、ビットカウント(割合)が50%付近で且つ複数のページにデータの書き込みが完了していない時間帯かどうかを判断する(ステップS13)。ビットカウント値と第1基準値との差が所定範囲内でないと判断した場合には(ステップS8 NO)、全体制御部22は、一連の処理を終了する(終了)。
全体制御部22は、ステップS13において、複数のページにデータの書き込みが完了していない時間帯でないと判断した場合には(ステップS13のNO)、リトライリードを行う(ステップS9)。複数のページにデータの書き込みが完了していない時間帯であると判断した場合には(ステップS13のYES)、リードを行う(ステップS14)。
全体制御部22は、ステップS14で読み出したデータについて、0のビット数が第2基準値を超えたかどうかを判断する(ステップS15)。0のビット数が第2基準値を超えたと判断した場合には(ステップS15のYES)、ステップS9に進み、全体制御部22は、データのリトライリードを実行する(ステップS9)。
0のビット数が第2基準値に満たないと判断した場合には(ステップS15のNO)、全体制御部22は、図9の一連の処理を終了する(終了)。
このように、第2実施形態のメモリシステムによれば、書き込み完了していない書き込みデータの誤判定を防止することができる。また、不完全な書き込みデータに対してリトライリードを実施することがなくなる。
(第3実施形態)
第3実施形態のメモリシステムは、第1実施形態のメモリシステムにおける書き込み状態を誤判定したときの対策として、第1実施形態のメモリシステムの書き込みデータ判定処理に、さらに、複数ページの組み合わせによる判定処理を追加したことを特徴とする。
第3実施形態のメモリシステムは、第1実施形態のメモリシステムにおける書き込み状態を誤判定したときの対策として、第1実施形態のメモリシステムの書き込みデータ判定処理に、さらに、複数ページの組み合わせによる判定処理を追加したことを特徴とする。
第3実施形態のメモリシステムでは、全体制御部22は、アッパーページとロウワーページの書き込み開始から書き込み完了時までのビットカウント値に基づいてデータが不完全に書き込みされたデータであるか否かを判定する。
図10は、本発明の第3実施形態にかかるメモリシステムにおけるビットカウントの変化を示す図である。
図10を参照して全体制御部22の動作を説明する。図14に示すように、書き込み開始直後では、アッパーページのビットカウントは、約100%、ロウワーページのビットカウントは、約50%である(領域EA11)。
アッパーページのビットカウントとロウワーページのビットカウントとの差は50%である。全体制御部22は、ビットカウントの差が例えば20%を超えた場合には、データが不完全に書き込みされたデータであると判定する。
次に、書き込み途中では、アッパーページのビットカウントは約50%、ロウワーページのビットカウントは 約20%である(領域EA12)。
アッパーページのビットカウントとロウワーページのビットカウントとの差は30%である。全体制御部22は、ビットカウントの差が例えば20%を超えた場合には、データが不完全に書き込みされたデータであると判定する。
次に、書き込み完了時では、アッパーページのビットカウントもロウワーページのビットカウントも、ともに50%である(領域EA13)。アッパーページのビットカウントとロウワーページのビットカウントとの差は0%である。全体制御部22は、ビットカウントの差が例えば20%を超えないので、データが完全に書き込みされたデータであると判定する。
このように、第3実施形態のメモリシステムによれば、アッパーページとロウワーページの書き込み開始から書き込み完了時までのビットカウント値に基づいてデータが不完全に書き込みされたデータであるか否かを判定する。
これにより、書き込み完了していない書き込みデータの誤判定を防止することができる。また、不完全な書き込みデータに対してリトライリードを実施することがなくなり、処理量を削減することができる。また、正常な書き込みデータに対してもアサインドチェックによる余分なリードを回避することができ、処理量を削減することができる。
以上説明した少なくともひとつの実施形態のメモリシステムによれば、データを読み出した時にデータに含まれる1又は0のビット数をカウントしてビットカウント値を出力する。読み出したデータにエラー訂正符号復号エラーが発生した場合には、ビットカウント値と第1基準値とに基づきデータが正常な書き込みされたデータか否かを判定する。データが正常な書き込みされたデータであると判定された場合に正常な書き込みされたデータのリトライリードを実行する。
これにより、不完全な書き込みデータに対してリトライリードを実施することがなくなり、処理量を削減することができる。また、正常な書き込みデータに対してもアサインドチェックによる余分なリードを回避することができ、処理量を削減することができる。
なお、第1乃至第3の実施形態のメモリシステムは、複数のページにTLC書き込みが行われた場合を説明したが、これに限定されることなく、複数のページにMLC書き込みが行われた場合にも、第1乃至第3の実施形態のメモリシステムは適用可能である。
また、第1乃至第3の実施形態のメモリシステムは、1のビット数をカウントしたが、0のビット数をカウントし、0のビットカウント値を基準値と比較してデータが正常な書き込みされたデータかどうかを判定しても良い。
以上のように、いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム
11…メモリセルアレイ
12…シーケンサ
13…電位生成回路
14…ドライバ
15…ロウデコーダ
16…センスアンプ
21…ホストインターフェイス
22…全体制御部
23…RAM
24…メモリインターフェイス
25…ECC回路
26…ROM
100…メモリ装置
200…メモリコントローラ
161…カウンタ
DT0〜DT3,ST…選択ゲートトランジスタ
SU0〜SU3…ストリングユニット
MT0〜MT7…セルトランジスタ
PG…ページ
BL0〜BLm−1…ビット線
WL0〜WL7…ワード線
BLK0,BLK1…ブロック
CMD…コマンド
DATA…書き込みデータ及び読み出しデータ
ADD…アドレス信号
DQ…入出力信号
SGSL,SGDL0…信号線
Th1〜Th17…読み出し電圧
EA1,EA2,EA3,EA4,EA11,EA12,EA13…領域
11…メモリセルアレイ
12…シーケンサ
13…電位生成回路
14…ドライバ
15…ロウデコーダ
16…センスアンプ
21…ホストインターフェイス
22…全体制御部
23…RAM
24…メモリインターフェイス
25…ECC回路
26…ROM
100…メモリ装置
200…メモリコントローラ
161…カウンタ
DT0〜DT3,ST…選択ゲートトランジスタ
SU0〜SU3…ストリングユニット
MT0〜MT7…セルトランジスタ
PG…ページ
BL0〜BLm−1…ビット線
WL0〜WL7…ワード線
BLK0,BLK1…ブロック
CMD…コマンド
DATA…書き込みデータ及び読み出しデータ
ADD…アドレス信号
DQ…入出力信号
SGSL,SGDL0…信号線
Th1〜Th17…読み出し電圧
EA1,EA2,EA3,EA4,EA11,EA12,EA13…領域
Claims (9)
- 読み出し電圧を用いて不揮発性メモリのメモリセルアレイに書き込まれたデータを読み出す第1読み出しステップと、
データ読み出し時に得られるランダマイズ解除前のデータの1又は0のビット数をカウントしてビットカウント値を出力するカウントステップと、
読み出した前記データにエラー訂正符号復号エラーが発生した場合に、前記ビットカウント値と第1基準値とに基づき前記データが正常な書き込みされたデータか否かを判定する第1判定ステップと、
前記データが正常な書き込みされたデータであると判定された場合に前記読み出し電圧をシフトさせることにより前記正常な書き込みされたデータのリトライリードを実行する実行ステップと、
を備えることを特徴とするメモリ読み出し方法。 - 前記メモリセルアレイに有するセルトランジスタがトリプルレベルセルからなり、ワード線を共有する複数のセルを含むページを複数有し、前記データの書き込みを開始した後、前記ビットカウント値が前記第1基準値付近となり且つ前記複数のページに前記データの書き込みが完了していない場合には、前記リトライリードを実行する前に、前記読み出し電圧を用いて前記データを読み出す第2読み出しステップと、
前記読み出したデータについて、0のビット数が第2基準値に満たない場合には前記データが不完全に書き込みされたデータであると判定する第2判定ステップと、
を備えることを特徴とする請求項1記載のメモリ読み出し方法。 - 前記メモリセルアレイに有するセルトランジスタがトリプルレベルセルからなり、ワード線を共有する複数のセルを含むページを複数有し、
前記複数のページの内の2つのページの書き込み開始から書き込み完了時までのビットカウント値に基づいて前記データが不完全に書き込みされたデータであるか否かを判定する第3判定ステップを備えることを特徴とする請求項1記載のメモリ読み出し方法。 - 読み出し電圧を用いて不揮発性メモリのメモリセルアレイに書き込まれたデータを読み出す第1読み出し部と、
データ読み出し時に得られるランダマイズ解除前のデータの1又は0のビット数をカウントしてビットカウント値を出力するカウンタと、
読み出した前記データにエラー訂正符号復号エラーが発生した場合に、前記ビットカウント値と第1基準値とに基づき前記データが正常な書き込みされたデータか否かを判定する第1判定部と、
前記データが正常な書き込みされたデータであると判定された場合に前記読み出し電圧をシフトさせることにより前記正常な書き込みされたデータのリトライリードを実行する実行部と、
を備えることを特徴とするメモリシステム。 - 前記メモリセルアレイに有するセルトランジスタがトリプルレベルセルからなり、ワード線を共有する複数のセルを含むページを複数有し、前記複数のページに前記データの書き込みを開始した後、前記ビットカウント値が前記第1基準値付近となり且つ前記複数のページに前記データの書き込みが完了していない場合には、前記リトライリードを実行する前に、前記読み出し電圧を用いて前記データを読み出す第2読み出し部と、
前記読み出したデータについて、つ0のビット数が第2基準値に満たない場合には前記データが不完全に書き込みされたデータであると判定する第2判定部と、
を備えることを特徴とする請求項4記載のメモリシステム。 - 前記メモリセルアレイに有するセルトランジスタがトリプルレベルセルからなり、ワード線を共有する複数のセルを含むページを複数有し、
前記複数のページの内の2つのページの書き込み開始から書き込み完了時までのビットカウント値に基づいて前記データが不完全に書き込みされたデータであるか否かを判定する第3判定部を備えることを特徴とする請求項4記載のメモリシステム。 - 不揮発性メモリと、該不揮発性メモリを制御する制御部とを有するメモリシステムのメモリ書き込み及び読み出し処理を実行するコンピュータ・プログラムであって、
読み出し電圧を用いて前記不揮発性メモリのメモリセルアレイに書き込まれたデータを読み出す第1読み出しステップと、
データ読み出し時に得られるランダマイズ解除前のデータの1又は0のビット数をカウントしてビットカウント値を出力するカウントステップと、
読み出した前記データにエラー訂正符号復号エラーが発生した場合に、前記ビットカウント値と第1基準値とに基づき前記データが正常な書き込みされたデータか否かを判定する第1判定ステップと、
前記データが正常な書き込みされたデータであると判定された場合に前記読み出し電圧をシフトさせることにより前記正常な書き込みされたデータのリトライリードを実行する実行ステップと、
を備えることを特徴とするコンピュータ・プログラム。 - 前記メモリセルアレイに有するセルトランジスタがトリプルレベルセルからなり、ワード線を共有する複数のセルを含むページを複数有し、前記データの書き込みを開始した後、前記ビットカウント値が前記第1基準値付近となり且つ前記複数のページに前記データの書き込みが完了していない場合には、前記リトライリードを実行する前に、前記読み出し電圧を用いて前記データを読み出す第2読み出しステップと、
前記読み出したデータについて、0のビット数が第2基準値に満たない場合には前記データが不完全に書き込みされたデータであると判定する第2判定ステップと、
を備えることを特徴とする請求項7記載のコンピュータ・プログラム。 - 前記メモリセルアレイに有するセルトランジスタがトリプルレベルセルからなり、ワード線を共有する複数のセルを含むページを複数有し、
前記複数のページの内の2つのページの書き込み開始から書き込み完了時までのビットカウント値に基づいて前記データが不完全に書き込みされたデータであるか否かを判定する第3判定ステップを備えることを特徴とする請求項7記載のコンピュータ・プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052956A JP2020155180A (ja) | 2019-03-20 | 2019-03-20 | メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム |
US16/557,221 US20200303016A1 (en) | 2019-03-20 | 2019-08-30 | Memory reading method and memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052956A JP2020155180A (ja) | 2019-03-20 | 2019-03-20 | メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020155180A true JP2020155180A (ja) | 2020-09-24 |
Family
ID=72513736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019052956A Pending JP2020155180A (ja) | 2019-03-20 | 2019-03-20 | メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200303016A1 (ja) |
JP (1) | JP2020155180A (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11494254B2 (en) * | 2019-12-20 | 2022-11-08 | Cnex Labs, Inc. | Storage system with predictive adjustment mechanism and method of operation thereof |
US11907571B2 (en) * | 2020-07-13 | 2024-02-20 | SK Hynix Inc. | Read threshold optimization systems and methods using domain transformation |
US11355204B2 (en) | 2020-09-03 | 2022-06-07 | SK Hynix Inc. | Efficient read-threshold calculation method for parametric PV-level modeling |
KR20220096077A (ko) * | 2020-12-30 | 2022-07-07 | 삼성전자주식회사 | Ecc 데이터를 이용하여 신뢰성 검사를 수행하는 스토리지 장치 |
US11430530B2 (en) | 2021-01-25 | 2022-08-30 | SK Hynix Inc. | Deep learning based program-verify modeling and voltage estimation for memory devices |
CN112910731B (zh) * | 2021-01-28 | 2022-11-11 | 三维通信股份有限公司 | 计数器的确定方法及装置 |
US11514999B2 (en) | 2021-04-16 | 2022-11-29 | SK Hynix Inc. | Systems and methods for parametric PV-level modeling and read threshold voltage estimation |
US11749354B2 (en) | 2021-07-13 | 2023-09-05 | SK Hynix Inc. | Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation |
US11769555B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Read threshold voltage estimation systems and methods for parametric PV-level modeling |
US11769556B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Systems and methods for modeless read threshold voltage estimation |
US11854629B2 (en) | 2021-11-22 | 2023-12-26 | SK Hynix Inc. | System and method for non-parametric optimal read threshold estimation using deep neural network |
-
2019
- 2019-03-20 JP JP2019052956A patent/JP2020155180A/ja active Pending
- 2019-08-30 US US16/557,221 patent/US20200303016A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20200303016A1 (en) | 2020-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020155180A (ja) | メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム | |
US9858996B2 (en) | Memory access module for performing sensing operations on storage cells of a storage device to obtain soft information and executing a program mode to control access to the storage device | |
US10789125B2 (en) | Memory system and method | |
US7961516B2 (en) | NAND flash memory and memory system | |
KR101950758B1 (ko) | 반도체 장치 | |
US9146856B2 (en) | Remapping and compacting in a memory device | |
JP2009037619A (ja) | メモリシステム及びその読み出し方法 | |
KR101967368B1 (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
US11790993B2 (en) | Memory system having a non-volatile memory and a controller configured to switch a mode for controlling an access operation to the non-volatile memory | |
US11138070B2 (en) | Memory system and method performed thereby | |
US9036418B2 (en) | Read voltage generation circuit, memory and memory system including the same | |
JP2019053806A (ja) | メモリシステム、及びメモリシステムの制御方法 | |
JP6115740B1 (ja) | 半導体記憶装置 | |
US11430525B2 (en) | Memory device | |
US11216208B1 (en) | Memory system, memory controller, and operation method of memory system | |
US11237767B2 (en) | Memory system, memory controller and method for operating memory controller | |
KR101651573B1 (ko) | 반도체 기억장치 및 그 프로그래밍 방법 | |
CN111798913A (zh) | 存储器***、存储器控制器及其操作方法 | |
US11307794B2 (en) | Memory system, memory controller, and operation method of memory system | |
JP6293846B2 (ja) | 半導体記憶装置 | |
JP5710815B1 (ja) | 半導体記憶装置 | |
JP2023078545A (ja) | メモリシステム及び不揮発性メモリ |