JP6521692B2 - 不揮発性メモリ及びメモリコントローラを含むメモリシステムの動作方法 - Google Patents
不揮発性メモリ及びメモリコントローラを含むメモリシステムの動作方法 Download PDFInfo
- Publication number
- JP6521692B2 JP6521692B2 JP2015064985A JP2015064985A JP6521692B2 JP 6521692 B2 JP6521692 B2 JP 6521692B2 JP 2015064985 A JP2015064985 A JP 2015064985A JP 2015064985 A JP2015064985 A JP 2015064985A JP 6521692 B2 JP6521692 B2 JP 6521692B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- memory
- erase
- blocks
- time
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000003247 decreasing effect Effects 0.000 claims description 8
- 238000011017 operating method Methods 0.000 claims 2
- 230000004044 response Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 18
- 238000004891 communication Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 101100338009 Mus musculus Gsta1 gene Proteins 0.000 description 7
- 101100123101 Mus musculus Gsta4 gene Proteins 0.000 description 7
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000008030 elimination Effects 0.000 description 5
- 238000003379 elimination reaction Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 229910052732 germanium Inorganic materials 0.000 description 2
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- GPXJNWSHGFTCBW-UHFFFAOYSA-N Indium phosphide Chemical compound [In]#P GPXJNWSHGFTCBW-UHFFFAOYSA-N 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Description
実施形態として、前記消去ブロックの数を調節する段階で、前記割当間隔が増加すれば、前記消去ブロックの数が減少する。
実施形態として、前記消去ブロックの数を調節する段階で、前記割当間隔が減少すれば前記消去ブロックの数が増加する。
実施形態として、前記タイムスタンプが示す時間及び現在時間の差が閾値より大きい時、前記消去ブロックが再び消去される。
実施形態として、前記現在時間は、前記消去ブロックが前記自由ブロックに割当することを要請する要請が生成された時間を示す。
実施形態として、前記要請にしたがって、前記再び消去された消去ブロックではない他の消去ブロックが前記自由ブロックに割当される。
複数のメモリブロックを含む不揮発性メモリ及び前記不揮発性メモリを制御するメモリコントローラを含む本発明の他の実施形態によるメモリシステムの動作方法は、
実施形態として、前記現在時間は、前記消去ブロックが前記自由ブロックに割当することを要請する要請が生成された時間を示し、前記自由ブロックは、前記複数のメモリブロックの中でデータを格納しない状態であり、データを格納するデータブロックに選択されるメモリブロックを示す。
実施形態として、前記要請にしたがって、前記再び消去された消去ブロックではない他の消去ブロックが前記自由ブロックに割当される。
また、本発明によれば、消去ブロックのうち、消去された後、経過した経過時間が閾値時間より大きい消去ブロックが再消去される。したがって、消去の後、長い時間が経過することによって消去ブロックで発生するエラーが防止されるので、向上された信頼性を有するメモリシステムの動作方法が提供される。
図1は本発明の第1実施形態によるメモリシステム100を示すブロック図である。図1を参照すれば、メモリシステム100は不揮発性メモリ110及びメモリコントローラ120を含む。
予備ブロックキュー121は複数のメモリブロックBLK1〜BLKzの中で予備ブロックを管理する。データブロックが無効化されて無効ブロックが生成されれば、生成された無効ブロックは予備ブロックキュー121に登録される。消去ブロックが自由ブロックに割当されれば、自由ブロックに割当された消去ブロックは予備ブロックキュー121から削除される。
S120段階で、消去ブロックの設定数が調節される。例えば、消去管理者127は割当間隔にしたがって、設定数を調節する。即ち、消去管理者127は予備ブロックキュー121で消去ブロックに維持されるメモリブロックの数を調節する。
S230段階で、割当間隔が減少するか否かが判別される。割当間隔が減少すれば、S240段階で消去ブロックの設定数が増加する。即ち、予備ブロックキュー123で消去ブロックに維持されるメモリブロックの数が増加する。
例示的に、設定数の基本値又は初期値は、メモリコントローラ120又は不揮発性メモリ110に格納される。例えば、メモリコントローラ120はROMのような不揮発性格納媒体に設定数の基本値又は初期値を格納することができる。設定数の基本値又は初期値が不揮発性メモリ110に格納される場合、メモリコントローラ120は電源が供給される時、不揮発性メモリ110から設定数の初期値又は基本値を読み出すことができる。他の例として、設定数の初期値又は基本値は外部装置又は外部から受信される信号によって決定される。
不揮発性メモリ210は複数のメモリブロックBLK1〜BLKzを含む。複数のメモリブロックBLK1〜BLKzは自由ブロック、データブロック、無効ブロック、又は消去ブロックを含む。不揮発性メモリ210は図1乃至図7を参照して説明された不揮発性メモリ110と同一の構造を有し、同一の方法で動作する。
予備ブロックキュー221は複数のメモリブロックBLK1〜BLKzの中で予備ブロックを管理する。データブロックが無効化されて無効ブロックが生成されれば、生成された無効ブロックは予備ブロックキュー221に登録される。消去ブロックが自由ブロックに割当されれば、自由ブロックに割当された消去ブロックは予備ブロックキュー221から削除される。
時間生成器225は現在時間を示す情報を生成する。例えば、時間生成器225は自身で時間情報を生成する装置又は外部装置(例えば、メモリシステム200のホスト)から時間情報を受信して出力する装置である。
S430段階で、タイムスタンプ及び現在時間に基づいて、経過時間が計算される。消去管理者227は第1消去ブロックと連関されたタイムスタンプを獲得する。
例えば、第1消去ブロックのタイムスタンプがメモリコントローラ220の内部メモリに格納されている場合、消去管理者227は内部メモリからタイムスタンプを読み出す。第1消去ブロックのタイムスタンプが不揮発性メモリ210に格納されている場合、消去管理者227は不揮発性メモリ210からタイムスタンプを読み出す。
例えば、消去ブロックのタイムスタンプは、表1のようなテーブル(以下で、消去テーブルであると称する)の形態で管理される。
消去管理者227は時間生成器225から現在時間を獲得する。消去管理者227はタイムスタンプ及び現在時間を比較して経過時間を計算する。経過時間は、第1消去ブロックが消去された後、現在に到達する時までに経過した時間を示す。経過時間は、現在時間とタイムスタンプとが示す時間の差に該当する。
消去管理者227はメモリコントローラ220内で閾値時間を獲得するか、或いは不揮発性メモリ210から閾値時間を獲得する。消去管理者227は獲得された閾値時間を経過時間と比較する。
経過時間が閾値時間より大きい場合、第1消去ブロックは書込み又は読出しエラーを引き起こし得る。この時、S460段階で、第1消去ブロックが再消去される。消去管理者227は第1消去ブロックを再消去する。以後に、S470段階で、再消去された第1消去ブロックが自由ブロックに割当される。
自由ブロックが要請される時、第1番目の消去ブロックである第1メモリブロックB1の第1タイムスタンプTS1が現在時間と比較される。現在時間と第1タイムスタンプTS1との差である経過時間が閾値時間より大きい時、第1メモリブロックB1は消去された後に自由ブロックに割当される。
経過時間が閾値時間より大きければ、第1消去ブロックは書込み又は読出しエラーを引き起こさない。したがって、S560段階で、第1消去ブロックが自由ブロックに割当される。
自由ブロックが要請される時、第1番目の消去ブロックである第1メモリブロックB1の第1タイムスタンプTS1が現在時間と比較される。現在時間と第1タイムスタンプTS1との差である経過時間が閾値時間より大きい時、第1メモリブロックB1は予備ブロックキュー221に再びエンキュー(enqueue)される。
以後に、第2メモリブロックB2が選択される。第2メモリブロックB2の第2タイムスタンプTS2が現在時間と比較される。現在時間と第2タイムスタンプTS2との差である経過時間が閾値時間より大きくない時、第2メモリブロックB2は自由ブロックに割当される。
不揮発性メモリ310はメモリコントローラ320の制御にしたがって、書込み、読出し、及び消去を遂行するように構成される。不揮発性メモリ310は複数のメモリブロックBLK1〜BLKzを含む。
第3実施形態によるメモリシステム300は、図1を参照して説明されたメモリシステム100及び図7を参照して説明されたメモリシステム200が組合された形態である。即ち、メモリシステム300は予備ブロックキュー321で維持される消去ブロックの数である設定数を調節することができ、消去ブロックのタイムスタンプ及び現在時間によって再消去遂行することができる。
S620段階で、消去ブロックの設定数が調節される。例えば、消去管理者327は割当間隔にしたがって、設定数を調節する。即ち、消去管理者327は予備ブロックキュー321で消去ブロックに維持されるメモリブロックの数を調節する。設定数は、図3乃至図6を参照して説明された方法によって調節される。
S630段階で、無効ブロックが消去される間にタイムスタンプが格納される。無効ブロックを消去する時、消去管理者327は時間生成器325から時間情報を受信し、受信された時間情報を消去ブロックのタイムスタンプとして格納する。
即ち、メモリシステム300は自由ブロックが割当される割当間隔にしたがって、予備ブロックキュー321の設定数を調節する。また、自由ブロックが要請される時、選択された消去ブロックが消去された後、閾値時間より長い経過時間が経過したことによって、消去ブロックが再消去される。
メモリセルアレイ411は、図1、図7、及び図13を参照して説明されたように、複数のメモリブロックBLK1〜BLKzを含む。各メモリブロックは複数のメモリセルを含む。各メモリブロックは少なくとも1つの接地選択ラインGSL、複数のワードラインWL、及び少なくとも1つのストリング選択ラインSSLを通じてアドレスデコーダ回路413に連結される。各メモリブロックは複数のビットラインBLを通じてページバッファ回路415に連結される。複数のメモリブロックBLK1〜BLKzは複数のビットラインBLに共通に連結される。複数のメモリブロックBLK1〜BLKzのメモリセルは同一な構造を有する。
ページバッファ回路415はメモリセルアレイ411のメモリセルにプログラムされるデータ又はメモリセルから読み出されるデータを格納する。プログラムの時に、ページバッファ回路415はメモリセルにプログラムされるデータを格納する。格納されたデータに基づいて、ページバッファ回路415は複数のビットラインBLをバイアスできる。プログラムの時に、ページバッファ回路415は書込みドライバとして機能する。読出しの時に、ページバッファ回路415はビットラインBLの電圧をセンシングし、センシング結果を格納する。読出しの時に、ページバッファ回路415は感知増幅器として機能する。
データ入出力回路417は受信されるデータDATAを臨時的に格納する。データ入出力回路417は格納されたデータをページバッファ回路415に伝達する。データ入出力回路417はページバッファ回路415から伝達されるデータDATAを臨時的に格納する。データ入出力回路417は格納されたデータDATAを外部へ伝送する。データ入出力回路417はバッファメモリとして機能する。
設定数は不揮発性メモリ410に格納される。例えば、設定数は複数のメモリブロックBLK1〜BLKzの中でメタデータを格納するように設定されたメモリブロックに格納される。設定数は不揮発性メモリ410のヒューズ回路(図示せず)に格納される。ヒューズ回路(図示せず)は制御ロジック回路419内に提供される。
図15及び図16を参照すれば、メモリブロックBKLaは複数のストリングSRを含む。複数のストリングSRは複数のビットラインBL1〜BLnに各々連結される。各ストリングSRは接地選択トランジスタGST、メモリセルMC、及びストリング選択トランジスタSSTを含む。
各ストリングSRのストリング選択トランジスタSSTはメモリセルMC及びビットラインBLの間に連結される。複数のストリングSRのストリング選択トランジスタSSTは複数のビットラインBL1〜BLnに各々連結される。複数のビットラインBL1〜BLnはページバッファ回路415に連結される。
複数のストリングSRで、共通ソースラインCSLから同一の順序に位置したメモリセルMCは1つのワードラインに共通に連結される。複数のストリングSRのメモリセルMCは複数のワードラインWL1〜WLmに連結される。複数のワードラインWL1〜WLmはアドレスデコーダ回路413に連結される。
1つのメモリセルMCは1つ又は2つ以上のビットを格納することができる。
例えば、行方向(row direction)に沿って配列されたセルストリングCS11、CS12は第1行を形成し、行方向(row direction)に沿って配列されたセルストリングCS21、CS22は第2行を形成する。列方向(column direction)に沿って配列されたセルストリングCS11、CS21は第1列を形成し、列方向(column direction)に沿って配列されたセルストリングCS12、CS22は第2列を形成する。
複数のセルトランジスタは接地選択トランジスタGSTa、GSTb、メモリセルMC1〜MC6、及びストリング選択トランジスタSSTa、SSTbを含む。各セルストリングの接地選択トランジスタGSTa、GSTb、メモリセルMC1〜MC6、及びストリング選択トランジスタSSTa、GSTbはセルストリングCS11〜CS21、CS12〜CS22が行及び列に沿って配列される平面(例えば、メモリブロックBLKbの基板の上の平面)と垂直になる高さ方向に積層される。
最下端の接地選択トランジスタGSTaは共通ソースラインCSLに共通に連結される。
例示的に、同一の高さ(又は順序)の接地選択トランジスタは同一の接地選択ラインに連結され、互に異なる高さ(又は順序)を有する接地選択トランジスタは互に異なる接地選択ラインに連結される。例えば、第1高さの接地選択トランジスタGSTaは第1接地選択ラインに共通に連結され、第2高さの接地選択トランジスタGSTbは第2接地選択ラインに共通に連結される。
例示的に、同一の行のセルストリングのストリング選択トランジスタは1つのストリング選択ラインに共通に連結される。例えば、第1行のセルストリングCS11、CS12のストリング選択トランジスタSSTa、SSTbは1つのストリング選択ラインに共通に連結される。第2行のセルストリングCS21、CS22のストリング選択トランジスタSSTa、SSTbは1つのストリング選択ラインに共通に連結される。
セルストリングの列の数は増加又は減少してもよい。セルストリングの列の数を変更することによって、セルストリングの列に連結されるビットラインの数及び1つのストリング選択ラインに連結されるセルストリングの数もまた変更することができる。
セルストリングの高さは増加又は減少してもよい。例えば、セルストリングの各々に積層される接地選択トランジスタ、メモリセル又はストリング選択トランジスタの数は増加又は減少することができる。
セルストリングCS11〜CS21、CS12〜CS22の選択された行で、書込み及び読出しはワードラインの単位で遂行されることができる。セルストリングCS11〜CS21、CS12〜CS22の選択された行で、選択されたワードラインに連結されたメモリセルがプログラムされる。
バス521はメモリコントローラ520の構成要素の間にチャンネルを提供するように構成される。
メモリインターフェイス524はプロセッサ522の制御にしたがって、不揮発性メモリ410との通信を遂行する。
図19では、1つのチャンネルに複数の不揮発性メモリチップが連結されると説明された。しかし、1つのチャンネルに1つの不揮発性メモリチップが連結されるようにメモリシステム600が変更されてもよい。
メモリ730はメモリシステム700のバッファメモリである。例えば、メモリコントローラ720は外部ホストから受信されるデータをメモリ730に臨時的に格納することができる。メモリ730に格納されたデータは不揮発性メモリ710に書き込まれる。メモリコントローラ720は不揮発性メモリ710から読み出したデータをメモリ730に臨時的に格納することができる。メモリ730に格納されたデータは外部ホストへ出力されるか、或いは不揮発性メモリ710に再書き込まれる。メモリ730はDRAMを含む。
例示的に、本発明の実施形態によるメモリシステムはSSD(Solid State Drive)を形成する。
プロセッサ1100はコンピューティング装置1000の諸般動作を制御し、論理演算を遂行することができる。例えば、プロセッサ1100はシステムオンチップ(SoC、System−on−Chip)で構成することができる。プロセッサ1100は汎用コンピュータに使用される汎用プロセッサ、特殊目的コンピュータに使用される特殊目的プロセッサ、又はモバイルコンピューティング装置に使用されるアプリケーションプロセッサであってもよい。
ストレージ1300は本発明の実施形態によるメモリシステムを含むことができる。例えば、ストレージ1300は自由ブロックの割当間隔にしたがって、消去ブロックに維持されるメモリブロックの数である設定数を調節することができる。ストレージ1300は消去ブロックのタイムスタンプに基づいて、消去ブロックを再消去することができる。
コンピューティング装置1000はスマートフォン、スマートパッド、スマートカメラ等のようなモバイルコンピューティング装置を形成することができる。コンピューティング装置1000は個人用コンピュータ、ノートブック型コンピュータ、スマートテレビジョン等のような多様な装置を形成することができる。
110、210、310、410 不揮発性メモリ
BLK1〜BLKz メモリブロック
411 メモリセルアレイ
413 アドレスデコーダ回路
415 ページバッファ回路
417 データ入出力回路
419 制御ロジック回路
120、220、320、520 メモリコントローラ
521 バス
522 ホストプロセッサ
523 メモリ
524 メモリインターフェイス
525 エラー訂正ブロック
526 ホストインターフェイス
527 装置プロセッサ
121、221、321 予備ブロックキュー
123、323 割当間隔計算機
225、325 時間生成器
127、227、327 消去管理者
1000 コンピューティング装置
1100 プロセッサ
1200 メモリ
1300 ストレージ
1400 モデム
1500 使用者インターフェイス
Claims (20)
- 複数のメモリブロックを含む不揮発性メモリ及び前記不揮発性メモリを制御するメモリコントローラを含むメモリシステムの動作方法において、
前記複数のメモリブロックの中で自由ブロックの割当間隔を計算する段階と、
前記割当間隔にしたがって前記複数のメモリブロックの中で消去ブロックの数を調節する段階と、を含み、
前記消去ブロックは、前記複数のメモリブロックの中で消去された状態のメモリブロックを示し、
前記自由ブロックは、前記消去ブロックの中でデータを書き込むように選択されたメモリブロックを示す動作方法。 - 前記割当間隔は、最も最近に前記自由ブロックに割当された予め定まれた個数のメモリブロックの割当間隔である請求項1に記載の動作方法。
- 前記消去ブロックの数を調節する段階で、前記割当間隔が増加すれば、前記消去ブロックの数が減少される請求項1に記載の動作方法。
- 前記消去ブロックの数を調節する段階で、前記割当間隔が減少すれば、前記消去ブロックの数が増加される請求項1に記載の動作方法。
- 無効ブロックを消去して消去ブロックを生成する時、タイムスタンプ(time stamp)を格納する段階をさらに含み、
前記無効ブロックは、前記複数のメモリブロックの中で無効データを格納し、前記無効データを格納したデータブロックが無効化されて生成されるメモリブロックであり、
前記タイムスタンプは、前記無効ブロックが消去されて前記消去ブロックが生成された時間を示す請求項1に記載の動作方法。 - 前記タイムスタンプにしたがって、前記消去ブロックを再び消去する段階をさらに含む請求項5に記載の動作方法。
- 前記タイムスタンプが示す時間と現在時間との差が所定の閾値時間よりも大きい場合、前記消去ブロックが再び消去される請求項6に記載の動作方法。
- 前記現在時間は、前記消去ブロックを前記自由ブロックに割当することを要請する要請が生成された時間を示す請求項7に記載の動作方法。
- 前記要請にしたがって、前記再び消去された消去ブロックが前記自由ブロックに割当される請求項8に記載の動作方法。
- 前記要請にしたがって、前記再び消去された消去ブロックではない他の消去ブロックが前記自由ブロックに割当される請求項8に記載の動作方法。
- 複数のメモリブロックを含む不揮発性メモリ及び前記不揮発性メモリを制御するメモリコントローラを含むメモリシステムの動作方法において、
無効ブロックを消去して消去ブロックを生成する時、タイムスタンプ(time stamp)を格納する段階と、
前記タイムスタンプが示す時間と現在時間との差が所定の閾値時間よりも大きい場合、前記消去ブロックを予備ブロックキューにエンキュー(enqueue)する段階と、を含み、
前記タイムスタンプは、前記無効ブロックが消去されて前記消去ブロックが生成された時間を示し、
前記無効ブロックは、前記複数のメモリブロックの中で無効データを格納するメモリブロックであり、
前記消去ブロックは、前記複数のメモリブロックの中で消去された状態であるメモリブロックであり、
前記予備ブロックキューは、自由ブロックが割当される割当間隔にしたがって調整された消去ブロックの数を維持するように構成された動作方法。 - 前記タイムスタンプが示す時間と現在時間との差が前記閾値時間よりも大きくない場合、前記消去ブロックは前記自由ブロックに割当される請求項11に記載の動作方法。
- 前記現在時間は、前記消去ブロックを前記自由ブロックに割当することを要請する要請が生成された時間を示し、
前記自由ブロックは、前記複数のメモリブロックの中でデータを格納しない状態であり、データを格納するデータブロックに選択されるメモリブロックを示す請求項11に記載の動作方法。 - 前記要請にしたがって、前記消去ブロックが前記自由ブロックに割当される請求項13に記載の動作方法。
- 前記要請にしたがって、前記再び消去された消去ブロックではない他の消去ブロックが前記自由ブロックに割当される請求項13に記載の動作方法。
- 前記タイムスタンプは、前記消去ブロックのアドレスとマッピングされて共に格納される請求項11に記載の動作方法。
- 不揮発性メモリの動作方法において、
メモリコントローラが自由ブロックの要請に応答して複数の消去ブロックの中から1つの消去ブロックを選択する段階と、
前記メモリコントローラが前記選択された消去ブロックに連関されたタイムスタンプに基づいて経過時間を計算する段階と、
前記経過時間が所定の閾値時間よりも大きい場合、前記メモリコントローラが前記選択された消去ブロックを予備ブロックキューにエンキューする段階と、
前記経過時間が前記閾値時間に到達しなかった場合、前記メモリコントローラが前記選択された消去ブロックを前記自由ブロックに割当する段階と、を含み、
前記消去ブロックは、前記不揮発性メモリの複数のメモリブロックの中で消去状態を有するメモリブロックであり、
前記自由ブロックは、前記消去ブロックの中でデータが書き込まれるように選択されたメモリブロックであり、
前記予備ブロックキューは、自由ブロックが割当される割当間隔にしたがって調整された消去ブロックの数を維持するように構成された動作方法。 - 前記経過時間が前記閾値時間に到達した時に、前記消去ブロックの中から他の1つの消去ブロックを選択する段階と、
請求項17の段階を再び遂行する段階と、を含む請求項17に記載の動作方法。 - 前記経過時間が前記閾値時間に到達した時に、前記選択された消去ブロックを、無効データを格納する無効ブロックに設定する段階をさらに含む請求項17に記載の動作方法。
- 前記タイムスタンプは、無効データを格納する無効ブロックが消去された時間を示す請求項17に記載の動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0035142 | 2014-03-26 | ||
KR1020140035142A KR102285462B1 (ko) | 2014-03-26 | 2014-03-26 | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015187864A JP2015187864A (ja) | 2015-10-29 |
JP6521692B2 true JP6521692B2 (ja) | 2019-05-29 |
Family
ID=54166070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015064985A Active JP6521692B2 (ja) | 2014-03-26 | 2015-03-26 | 不揮発性メモリ及びメモリコントローラを含むメモリシステムの動作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9870160B2 (ja) |
JP (1) | JP6521692B2 (ja) |
KR (1) | KR102285462B1 (ja) |
CN (1) | CN104951404B (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102456104B1 (ko) | 2015-08-24 | 2022-10-19 | 삼성전자주식회사 | 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법 |
KR102393323B1 (ko) | 2015-08-24 | 2022-05-03 | 삼성전자주식회사 | 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법 |
KR102333746B1 (ko) * | 2015-09-02 | 2021-12-01 | 삼성전자주식회사 | 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법 |
US10019179B2 (en) | 2015-10-16 | 2018-07-10 | Toshiba Memory Corporation | Memory device that writes data into a block based on time passage since erasure of data from the block |
EP3174062A1 (en) * | 2015-11-26 | 2017-05-31 | Gemalto Sa | Electronic device with memory erased by page |
KR20180093153A (ko) * | 2017-02-09 | 2018-08-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
US10379765B2 (en) * | 2017-06-27 | 2019-08-13 | Western Digital Technologies, Inc. | Geometry-aware command scheduling |
KR20190026231A (ko) * | 2017-09-04 | 2019-03-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102457662B1 (ko) * | 2017-10-31 | 2022-10-25 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 저장 장치의 동작 방법 |
KR20190120966A (ko) * | 2018-04-17 | 2019-10-25 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN110534151B (zh) * | 2018-05-24 | 2021-06-08 | 深圳忆联信息系统有限公司 | 实现写入前擦除的方法、装置、计算机设备及存储介质 |
KR102702680B1 (ko) | 2018-08-06 | 2024-09-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102692901B1 (ko) | 2019-01-11 | 2024-08-08 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 비휘발성 메모리 블록 내 데이터를 삭제하는 방법 및 장치 |
KR20200110547A (ko) * | 2019-03-14 | 2020-09-24 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치를 포함하는 컴퓨팅 장치 |
CN110007874B (zh) * | 2019-04-15 | 2022-07-05 | 深圳大学 | 一种三维闪存的数据写入方法、装置及可读存储介质 |
CN114281261A (zh) * | 2021-12-24 | 2022-04-05 | 深圳忆联信息系统有限公司 | 固态硬盘空闲块的预擦除方法、装置、计算机设备及存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001318829A (ja) | 2000-05-08 | 2001-11-16 | Funai Electric Co Ltd | フラッシュメモリの書換制御装置、及び、フラッシュメモリの書換制御方法 |
US6684288B1 (en) | 2000-06-06 | 2004-01-27 | Intel Corporation | Method and apparatus for predictive flash memory erase and write times |
ITRM20010647A1 (it) | 2001-11-02 | 2003-05-02 | Micron Technology Inc | Verifica di cancellazione a blocchi per memorie flash. |
JP4188744B2 (ja) | 2003-04-08 | 2008-11-26 | 株式会社ルネサステクノロジ | メモリカード |
US7391654B2 (en) | 2005-05-11 | 2008-06-24 | Micron Technology, Inc. | Memory block erasing in a flash memory device |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7564721B2 (en) | 2006-05-25 | 2009-07-21 | Micron Technology, Inc. | Method and apparatus for improving storage performance using a background erase |
US7975119B2 (en) | 2006-09-04 | 2011-07-05 | Sandisk Il Ltd | Device for prioritized erasure of flash memory |
KR100849221B1 (ko) * | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
JP2008146742A (ja) | 2006-12-08 | 2008-06-26 | Sharp Corp | 不揮発性半導体記憶装置及びその処理方法 |
US7515500B2 (en) | 2006-12-20 | 2009-04-07 | Nokia Corporation | Memory device performance enhancement through pre-erase mechanism |
JP4461170B2 (ja) * | 2007-12-28 | 2010-05-12 | 株式会社東芝 | メモリシステム |
JP5010505B2 (ja) * | 2008-03-01 | 2012-08-29 | 株式会社東芝 | メモリシステム |
JP4439569B2 (ja) * | 2008-04-24 | 2010-03-24 | 株式会社東芝 | メモリシステム |
KR101103061B1 (ko) | 2008-07-28 | 2012-01-06 | 주식회사 팍스디스크 | 반도체 스토리지 시스템 및 그 제어 방법 |
JP2010205167A (ja) | 2009-03-05 | 2010-09-16 | Nec Corp | 不揮発性メモリ、その制御方法及びプログラム |
KR20110046232A (ko) * | 2009-10-27 | 2011-05-04 | 삼성전자주식회사 | 데이터 무효화 동작을 수행하는 저장 장치 및 그것의 데이터 무효화 방법 |
JP2011192260A (ja) * | 2010-02-16 | 2011-09-29 | Toshiba Corp | 半導体記憶装置 |
JP5609683B2 (ja) * | 2011-01-31 | 2014-10-22 | ソニー株式会社 | メモリ装置およびメモリシステム |
US8745318B2 (en) * | 2011-06-28 | 2014-06-03 | Seagate Technology Llc | Parameter tracking for memory devices |
JP5697796B2 (ja) * | 2011-08-29 | 2015-04-08 | 株式会社日立製作所 | 電気的に書き換え可能な不揮発性半導体メモリを有する半導体記憶装置 |
KR101832934B1 (ko) * | 2012-01-27 | 2018-02-28 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그것의 블록 관리 방법, 프로그램 방법 및 소거 방법 |
KR101997572B1 (ko) * | 2012-06-01 | 2019-07-09 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법 |
-
2014
- 2014-03-26 KR KR1020140035142A patent/KR102285462B1/ko active IP Right Grant
-
2015
- 2015-03-26 JP JP2015064985A patent/JP6521692B2/ja active Active
- 2015-03-26 US US14/669,542 patent/US9870160B2/en active Active
- 2015-03-26 CN CN201510138143.3A patent/CN104951404B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9870160B2 (en) | 2018-01-16 |
JP2015187864A (ja) | 2015-10-29 |
KR20150112074A (ko) | 2015-10-07 |
CN104951404B (zh) | 2019-06-07 |
US20150277795A1 (en) | 2015-10-01 |
KR102285462B1 (ko) | 2021-08-05 |
CN104951404A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6521692B2 (ja) | 不揮発性メモリ及びメモリコントローラを含むメモリシステムの動作方法 | |
US20210326059A1 (en) | Memory system and method of operating the same | |
KR102435873B1 (ko) | 스토리지 장치 및 그것의 리드 리클레임 방법 | |
KR102128406B1 (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
US10008272B2 (en) | Operation method of nonvolatile memory system that includes erase operations, fast erase operations, program operations and fast program operations | |
KR102249810B1 (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
KR102403253B1 (ko) | 불휘발성 메모리 장치를 포함하는 스토리지 장치 | |
KR102292183B1 (ko) | 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 포함하는 스토리지 장치의 동작 방법 | |
KR102316441B1 (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
US9727250B2 (en) | Nonvolatile memory system and operation method of a memory controller that manages page serial numbers according to program elapsed times of pages | |
KR102311916B1 (ko) | 스토리지 장치 | |
KR102377469B1 (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 동작 방법 | |
KR102333743B1 (ko) | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법 | |
KR20170036964A (ko) | 불휘발성 메모리 시스템의 동작 방법 | |
US20190318786A1 (en) | Storage device and method of operating the same | |
US20210026548A1 (en) | Memory controller and method of operating the same | |
KR102291309B1 (ko) | 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치 | |
KR102313017B1 (ko) | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 쓰기를 제어하는 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 | |
US20200401328A1 (en) | Storage device and method of operating the same | |
KR102272248B1 (ko) | 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 | |
US10162568B2 (en) | Method for searching matching key of storage device and server system including the same | |
KR20210038189A (ko) | 저장 장치 및 그 동작 방법 | |
US12032850B2 (en) | Memory controller performing booting operation and method of operating the same | |
US11366725B2 (en) | Storage device and method of operating the same | |
US20210334173A1 (en) | Storage device and method of operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20161222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20161228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181210 |
|
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: 20190326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190423 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6521692 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 |