JP2009070379A - 向上した信頼性を有するメモリシステム及びそのウェアレベリング方法 - Google Patents

向上した信頼性を有するメモリシステム及びそのウェアレベリング方法 Download PDF

Info

Publication number
JP2009070379A
JP2009070379A JP2008232262A JP2008232262A JP2009070379A JP 2009070379 A JP2009070379 A JP 2009070379A JP 2008232262 A JP2008232262 A JP 2008232262A JP 2008232262 A JP2008232262 A JP 2008232262A JP 2009070379 A JP2009070379 A JP 2009070379A
Authority
JP
Japan
Prior art keywords
memory
erase
memory unit
event information
ecc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008232262A
Other languages
English (en)
Other versions
JP5296464B2 (ja
Inventor
Yong-Tae Yim
容 ▲タイ▼ 任
Sung-Kue Jo
成 奎 曹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2009070379A publication Critical patent/JP2009070379A/ja
Application granted granted Critical
Publication of JP5296464B2 publication Critical patent/JP5296464B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding 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 multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Abstract

【課題】信頼性を向上させることのできるメモリシステム、及びそのウェアレベリング方法を提供する。
【解決手段】各々が複数のメモリセルで構成されるメモリユニットを有するフラッシュメモリ装置、及びフラッシュメモリ装置を制御するように構成されるメモリコントローラを含み、メモリコントローラは各メモリユニットの消去イベント情報及びECCイベント情報に基づいてメモリユニットに対するウェアレベリング動作を遂行するメモリシステムを提供する。
【選択図】図1

Description

本発明は、保存システムに係り、さらに具体的には、フラッシュメモリ装置を利用するメモリシステムに関する。
フラッシュメモリ装置は、複数のメモリ領域が一度のプログラム動作によって消去、またはプログラムされる一種のEEPROMである。一般的なEEPROMは一つのメモリ領域のみを一度に消去、又はプログラムすることができ、これはフラッシュメモリ装置を使用するシステムが、異なるメモリ領域に対して同時に読み書きを行う場合、より迅速で効果的な速度でフラッシュメモリ装置が動作できることを意味する。フラッシュメモリ及びEEPROMの全ての形態は、データを保存するために用いられる電荷保存手段を囲む絶縁膜の磨耗によって所定回数の消去動作の後に摩滅する。
フラッシュメモリ装置は、シリコンチップに保存された情報を維持するために電源を必要としない方法であって、シリコンチップ上に情報を保存する。これは、もし、チップに供給される電源が遮断されても電源を消耗することなく情報が維持されることを意味する。追加的に、フラッシュメモリ装置は物理的な衝撃抵抗性及び迅速な読み出しアクセス時間を提供する。これらの特徴により、フラッシュメモリ装置はバッテリによって電源を供給される装置の保存装置に一般的に用いられている。フラッシュメモリ装置は、各保存素子に使われるロジックゲートの形態によって2種類、即ち、NORフラッシュメモリ装置とNANDフラッシュメモリ装置とに分けられる。
フラッシュメモリ装置は、セルと呼ばれるトランジスタのアレイに情報を保存し、各セルは1ビットの情報を保存する。マルチレベルセル装置と呼ばれるより新しいフラッシュメモリ装置はセルのフローティングゲート上の電荷量を可変させることによってセルあたり1ビットよりさらに多くの情報を保存することができる。
フローティングゲート技術を用いるフラッシュメモリ装置において、データ保持特性(data−retention characteristics)が高く、質的低下を起こさないプログラム/消去サイクル数(または耐久性)は、信頼性における最も重要な関心事である。保存された電荷(または電子)は、欠陥インターポリ絶縁膜による熱イオン放出、電荷拡散、イオン不純物、プログラムディスターブストレス、などのような多様なフェイルメカニズムによりフローティングゲートから漏洩し得る。これはしきい値電圧の減少を引き起こす。制御ゲートが電源電圧に維持されている状態でフローティングゲートが徐々に電荷を得る時、電荷が獲得されるという、上記とは逆の現象が発生し得る。これはしきい値電圧の増加を引き起こす。反復的なプログラム/消去サイクルはメモリトランジスタ酸化膜にストレスを与え、これはフラッシュメモリ装置に対するトンネル酸化膜破壊のようなフェイルを引き起こし得る。
フラッシュメモリ装置は、10Kのプログラム/消去サイクル数のプログラム/消去が行われると老化/劣化現象による不良ブロックが発生する可能性が増加する。従って、フラッシュメモリ装置のメモリブロックの全体を均等に使用するために様々なウェアレベリング方法が用いられている。例示的なウェアレベリング方法によれば、物理的なセクタ/メモリブロックにマッピングされる論理的なセクタ/メモリブロック番号を変更することによってウェアレベリングを具現することができる。メモリブロックが全て使われた後、最初のメモリブロックから再度使用する方法は、完壁なウェアレベリングを具現することはできるが、ブロックの移動と消去によって有効なデータのブロック移動が頻繁に行われ、結果的にシステムの性能を低下させる短所がある。従って、メモリブロック毎の消去回数を管理しながら、現在有効なデータが最も少ないブロックを最優先の消去対象ブロックに選択する方法がウェアレベリングと性能とを共に満足させ得ることのできる最良の方法である。
本発明の目的は、信頼性を向上させることのできるメモリシステム、及びそのウェアレベリング方法を提供することにある。
本発明の例示的な実施の形態は、各々が複数のメモリセルで構成されるメモリユニットを有するフラッシュメモリ装置、及び前記フラッシュメモリ装置を制御するように構成されるメモリコントローラを含み、前記メモリコントローラは前記各メモリユニットの消去イベント情報及びECCイベント情報に基づいて前記メモリユニットに対するウェアレベリング動作を遂行するメモリシステムを提供する。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのエラービット値を含む。
例示的な実施の形態において、前記メモリコントローラは、初期状態で最も優先順位の高い第1グループに前記メモリユニットを設定し、前記エラービット値は2ビットエラーのイベント回数を示す第1エラービット値と3ビットエラーのイベント回数を示す第2エラービット値とを含む。
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの第1エラービット値が第1ECCしきい値より大きい場合、優先順位の低い第2グループに前記各メモリユニットを設定する。
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの第2エラービット値が第2ECCしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第3グループに前記各メモリユニットを設定する。
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの第2エラービット値が前記第2ECCしきい値より大きい場合、前記第2グループに属する各メモリユニットを前記第3グループに設定する。
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記第2グループに前記各メモリユニットを設定する。
例示的な実施の形態において、前記フラッシュメモリ装置及び前記メモリコントローラは、メモリカード及びSSDのうち何れか一つを構成する。
例示的な実施の形態において、前記メモリコントローラは、プロセスユニットと、前記フラッシュメモリ装置の選択されたメモリユニットから読み出されたデータを一時的に保存するバッファメモリと、前記読み出されたデータに対するエラー検出及び訂正動作を遂行するECCブロックと、を含み、前記ECCブロックはエラー検出時にエラービット数を示すECCイベント情報を前記プロセスユニットに伝送し、前記プロセスユニットは前記ECCイベント情報によって前記選択されたメモリユニットのエラービット値を更新する。
例示的な実施の形態において、前記各メモリユニットは消去単位を構成する。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含む。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含む。
本発明の他の例示的な実施の形態は、メモリユニットを有するフラッシュメモリ装置を含むメモリシステムのウェアレベリング方法を提供し、この方法はプログラム/消去サイクルによる前記各メモリユニットの消去イベント情報及びECCイベント情報をウェアレベリングテーブルに保存するステップと、前記ウェアレベリングテーブルに保存された前記各メモリユニットの消去イベント情報及びECCイベント情報に基づいて前記各メモリユニットに対するウェアレベリング動作を遂行するステップと、を含む。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのエラービット値を含む。
例示的な実施の形態において、前記メモリユニットは初期状態で最も優先順位の高い第1グループに設定され、前記エラービット値は2ビットエラーのイベント回数を示す第1エラービット値と3ビットエラーのイベント回数を示す第2エラービット値とを含む。
例示的な実施の形態において、前記各メモリユニットは前記各メモリユニットの第1エラービット値が第1ECCしきい値より大きい場合、優先順位の低い第2グループに設定される。
例示的な実施の形態において、前記各メモリユニットの第2エラービット値が第2ECCしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第3グループに前記各メモリユニットが設定される。
例示的な実施の形態において、前記各メモリユニットの第2エラービット値が前記第2ECCしきい値より大きい場合、前記第2グループに属する各メモリユニットが前記第3グループに設定される。
例示的な実施の形態において、前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記各メモリユニットが前記第2グループに設定される。
例示的な実施の形態において、前記各メモリユニットは消去単位を構成する。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含む。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含む。
本発明のメモリシステムによれば、フラッシュメモリ装置の全体的な信頼性を向上させることができる。
本発明において、「メモリユニット」という用語は、「メモリブロック」、「セクタ」、などと同じ意味を有する。メモリユニットは複数のメモリセルを含み、消去単位を構成する。説明の便宜上、本発明の例示的な実施の形態はメモリブロックという用語を用いて説明される。しかし、メモリブロックという用語が特定メモリの分野に限定されないことはこの分野における通常の知識を有する者には自明である。
図1は、本発明の例示的な実施の形態によるメモリシステムを概略的に示すブロック図である。
図1に示すように、本発明によるメモリシステム100は、メモリコントローラ120及びフラッシュメモリ装置140を含む。メモリコントローラ120は外部(例えば、ホスト)からの要請に応じてフラッシュメモリ装置140を制御する。メモリコントローラ120は、プロセスユニット122、エラー検査訂正(Error Checking and Correction)ブロック(以下、ECCブロックと称する)124、及びバッファメモリ126を含む。プロセスユニット122は、メモリコントローラ120の動作全般を制御するように構成される。ECCブロック124は、フラッシュメモリ装置140に保存されるデータからECCデータを生成するように構成される。ECCブロック124はフラッシュメモリ装置140から読み出されたデータにエラーがあるか否かを判別するように構成される。エラーが検出された場合、ECCブロック124はエラーが検出されたこと及びNビットエラーが発生したことを知らせる情報をプロセスユニット122に提供する。バッファメモリ126は、フラッシュメモリ装置140に保存されるデータを一時的に保存するため、及びフラッシュメモリ装置140から読み出されたデータを一時的に保存するために使われる。バッファメモリ126にはフラッシュメモリ装置140を管理するために必要なプログラム及びマッピングテーブルが保存される。
フラッシュメモリ装置140は、メモリブロックBLK0〜BLKm−1のアレイ142及び読み出し/書き込み回路144を含む。読み出し/書き込み回路144は、メモリコントローラ120からの要請に応じて選択されたメモリブロックに対する読み出し/書き込み動作を遂行するように構成される。ここで、書き込み動作はプログラム動作と消去動作とを含む。メモリブロックBLK0〜BLKm−1の各々は、図面には示していないが、配列されたメモリセルを含む。メモリセルの各々は電荷を保存するトランジスタ構造で構成される。
本発明によるメモリシステム100は、フラッシュメモリ装置140のメモリブロックBLK0〜BLKm−1が均等に使用されるように(または、フラッシュメモリ装置140のメモリブロックBLK0〜BLKm−1に対する消去イベント(erase event)が平均化されるように)ウェアレベリング技法(wear−leveling technique)を用いる。特に、本発明によるメモリシステム100は、各メモリブロックの消去イベント情報だけでなく、各メモリブロックのECCイベント情報に基づくウェアレベリング技法を用いる。消去イベント情報に基づいて各メモリブロックに対するプログラム/消去サイクル(Program/Erase cycling)を管理する場合、各メモリブロックの実質的な劣化の程度を正確に反映することが難しい。さらに具体的に説明すれば、次の通りである。
例えば、二つのメモリブロックの消去イベント回数が同じであっても、何れか一つのメモリブロック(以下、第1メモリブロックと称する)に属するメモリセルは、他の一つのメモリブロック(以下、第2メモリブロックと称する)に属するメモリセルと異なる特性を有し得る。言い換えれば、第1メモリブロックのメモリセルの消去及びプログラム特性は、第2メモリブロックのメモリセルの消去及びプログラム特性と異なる。二つのメモリブロックの消去イベント回数が同じであっても、消去及びプログラム特性が異なるため、第1メモリブロックの劣化の程度は第2メモリブロックの劣化の程度と実質的に異なる。これは消去イベント回数だけを利用して各メモリブロックに対するプログラム/消去サイクルを管理する場合、各メモリブロックに対する劣化の程度を平均化させることが難しいことを意味する。従って、本発明のメモリシステム100は、消去イベント回数だけでなく、各メモリブロックの劣化の程度を平均化させるために消去イベント情報と共に各メモリブロックのイベント情報を利用して各メモリブロックに対するプログラム/消去サイクルを管理する。これについては、以下で詳細に説明されるであろう。
本発明によるウェアレベリング技法によれば、フラッシュメモリ装置140のメモリブロックBLK0〜BLKm−1は、消去イベント情報及びECCイベント情報によって複数の、例えば、三つのグループ(以下、「第1乃至第3グループ」と称する)に割り当てられる。ここで、消去イベント情報は各メモリブロックの消去イベント回数ERS_CNTを含む。消去イベント回数ERS_CNTは各メモリブロックが消去される時に増加される。ECCイベント情報は各メモリブロックのエラービット値を含む。例示的な実施の形態において、ECCブロック124が4ビットエラーを検出及び訂正できると仮定すると、ECCイベント情報は各メモリブロックに対する第1及び第2エラービット値を含む。第1エラービット値EBN_2はECCイベントが発生する時、2ビットが訂正されることを示し、各メモリブロックで2ビットエラーが訂正される時に増加される。第2エラービット値EBN_3はECCイベントが発生する時、3ビットが訂正されることを示し、各メモリブロックで3ビットエラーが訂正される時に増加される。上記条件に基づき、メモリブロックが以下のように第1乃至第3グループに割り当てられる。以後、上述のように、第1グループは最も高い優先順位を有し、第3グループは最も低い優先順位を有し、第2グループは第1グループより低い優先順位を有する。
説明の前に、上述した消去イベント回数ERS_CNTと第1及び第2エラービット値EBN_2、EBN_3とは、テーブル形態(以下、ウェアレベリングテーブルと称する)でプロセスユニット122によって管理される。ウェアレベリングテーブルはフラッシュメモリ装置140に保存され、パワーオン時にバッファメモリ126に読み出される。選択されたメモリブロックに対して消去イベントが発生する時、プロセスユニット122は選択されたメモリブロックに対する消去イベント回数が増加するようにウェアレベリングテーブルを更新する。選択されたメモリブロックから読み出されたデータでエラーが検出される時、ECCブロック124は読み出されたデータのエラーを訂正してエラービット数をプロセスユニット122に提供する。プロセスユニット122は提供されたエラービット数によって選択されたメモリブロックに対する第1エラービット値EBN_2、または第2エラービット値EBN_3が増加するようにウェアレベリングテーブルを更新する。上述のように消去イベント回数ERS_CNTと第1及び第2エラービット値EBN_2、EBN_3とがプロセスユニット122の制御下で管理される。
初期状態では、図2に示すように、全てのメモリブロックBLK0〜BLKm−1が第1グループ201に割り当てられる。読み出し、消去、及びプログラム動作が遂行されるにつれ、各メモリブロックに対する消去イベント回数ERS_CNTと第1及び第2エラービット値EBN_2、EBN_3とが増加される。各メモリブロックに対する消去イベント回数ERS_CNTと第1及び第2エラービット値EBN_2、EBN_3とが増加されることによって、メモリブロックBLK0〜BLKm−1は選択的に第2グループ202または第3グループ203に割り当てられる。第1グループ201に属するメモリブロックを第2グループ202と第3グループ203とに割り当てる基準は次の通りである。
消去イベント回数ERS_CNTが消去しきい値T_ERSを超過するか、第1エラービット値EBN_2が第1ECCしきい値T_ECC1を超過する時、第1グループ201に属するメモリブロックは第2グループ202に割り当てられる。或いは、消去イベント回数ERS_CNTが消去しきい値T_ERSを超過し、第1エラービット値EBN_2が第1ECCしきい値T_ECC1を超過する時、第1グループ201に属するメモリブロックは第2グループ202に割り当てられることができる。第2エラービット値EBN_3が第2ECCしきい値T_ECC2を超過する時、第1グループ201に属するメモリブロックは第3グループ203に割り当てられる。第2エラービット値EBN_3が第2ECCしきい値T_ECC2を超過する時、第2グループ202に属するメモリブロックは第3グループ203に割り当てられる。外部(例えば、ホスト)からプログラム動作が要請される時、第2及び第3グループ202、203に割り当てられたメモリブロックの方より、第1グループ201に属するメモリブロックの方がプログラム動作のために選択される。このようなウェアレベリング方式によって各メモリブロックの実質的な劣化の情報(またはセル特性)を考慮して消去イベント回数を平準化させることができる。
プログラム/消去サイクルが進行されるにつれ、選択されたメモリブロックで訂正されるべきエラービットの数が増加することは選択されたメモリブロックのメモリセルの劣化の程度が相対的に大きいことを意味する。従って、第3グループ203に属するメモリブロックは消去イベント回数が最小化されるように管理される必要がある。これにより、訂正されるべきエラービットの数の多い特定のメモリブロックが早く摩耗する現象を抑制できる。従って、フラッシュメモリ装置(またはメモリシステム)の全体的な信頼性を向上させることができる。また、特定メモリブロックが早く摩耗する現象を抑制することができるため、特定のメモリブロックが早く摩耗される時、それを代替するメモリブロック(余分のメモリブロック)の数を低減できる。これは実質的に使用可能なフラッシュメモリ装置140(または、メモリシステム)のメモリ容量が増加することを意味する。
メモリブロックが三つのグループに割り当てられる場合を例に挙げて、本発明によるメモリシステムのウェアレベリング技術について説明した。しかし、グループの数は多様に変更され得ることはこの分野における一般的な知識を有する者には自明である。例えば、ECCブロック124のエラー訂正能力によってエラービット値の数を増加させて増加された数に対応するようにグループを決定することが可能である。
例示的な実施の形態において、消去イベント情報は各メモリブロックの消去イベント回数を含み、ECCイベント情報はメモリブロックのうち一つ、又はそれより多くのメモリブロックのエラービット値を含むことができる。または、ECCイベント情報は各メモリブロックのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含むことができる。ここで、各行はページ、ワード線、などを含む。
図3は、本発明によるメモリシステムのウェアレベリング方法を概略的に説明するためのフローチャートである。
本発明によるメモリシステムは、消去単位を構成するメモリユニットとしてメモリブロックを有するフラッシュメモリ装置を含み、プログラム/消去サイクルによる各メモリユニット/ブロックの消去イベント情報及びECCイベント情報をウェアレベリングテーブルに保存するステップ301、及びウェアレベリングテーブルに保存された各メモリユニット/ブロックの消去イベント情報及びECCイベント情報に基づいて各メモリユニット/ブロックに対するウェアレベリング動作を遂行するステップ302を含むウェアレベリング方法を遂行するように構成される。
このようなウェアレベリング方法によれば、消去イベント情報は各メモリユニット/ブロックの消去イベント回数を含み、ECCイベント情報は各メモリユニット/ブロックのエラービット値を含む。メモリユニット/ブロックは初期状態で最も優先順位の高い第1グループに設定され、エラービット値は2ビットエラーのイベント回数を示す第1エラービット値と、3ビットエラーのイベント回数を示す第2エラービット値と、を含む。各メモリユニット/ブロックは各メモリユニット/ブロックの第1エラービット値が第1ECCしきい値より大きい場合、優先順位の低い第2グループに設定される。各メモリユニット/ブロックの第2エラービット値が第2ECCしきい値より大きい場合、各メモリユニット/ブロックの消去イベント回数に関係なく最も優先順位の低い第3グループに各メモリユニット/ブロックが設定される。各メモリユニット/ブロックの第2エラービット値が第2ECCしきい値より大きい場合、第2グループに属する各メモリユニット/ブロックが第3グループに設定される。各メモリユニット/ブロックの消去イベント値が消去しきい値より大きい場合、各メモリユニット/ブロックが第2グループに設定される。
本発明のウェアレベリング方法の他の例示的な実施の形態において、消去イベント情報は各メモリユニット/ブロックの消去イベント回数を含み、ECCイベント情報はメモリユニット/ブロックのうち一つ、又はそれより多くのユニット/ブロックのエラービット値を含む。本発明のウェアレベリング方法のまた他の例示的な実施の形態において、消去イベント情報は各メモリユニット/ブロックの消去イベント回数を含み、ECCイベント情報は各メモリユニット/ブロックのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含む。
フラッシュメモリ装置は、電源が遮断されても保存されたデータを維持できる不揮発性メモリ装置である。携帯電話、PDA、デジタルカメラ、ポータブルゲームコンソール、及びMP3Pのようなモバイル装置の使用が増加するにつれ、フラッシュメモリ装置はデータ記憶装置としてだけでなく、コード記憶装置としてより広く用いられる。フラッシュメモリ装置は、また、HDTV、DVD、ルータ、及びGPSのような家庭用アプリケーションに使用され得る。
本発明によるメモリシステムを含むコンピュータシステムについて図4に概略的に示す。本発明によるコンピュータシステムは、バス2001に電気的に連結されたマイクロプロセッサ2100、ユーザインタフェース2200、メモリコントローラ2400、及びフラッシュメモリ装置2500、ベースバンドチップセット(baseband chipset)のようなモデム2600を含む。メモリコントローラ2400及びフラッシュメモリ装置2500はメモリシステムを構成し、図1に示しているものと実質的に同一に構成される。フラッシュメモリ装置2500にはマイクロプロセッサ2100によって処理された/処理されるNビットデータ(Nは1又ははそれより大きい整数)がメモリコントローラ2400を介して保存される。
本発明によるコンピュータシステムがモバイル装置である場合、コンピュータシステムの動作電圧を供給するためのバッテリ2300が追加的に提供される。図面には示していないが、本発明によるコンピュータシステムには応用チップセット(application chipset)、カメライメージプロセッサ(CIS:Camera Image Processor)、モバイルDRAM、などがさらに提供され得ることはこの分野における通常の知識を有する者には自明である。フラッシュメモリ装置及びメモリコントローラがメモリシステムとしてメモリカードの形態に構成され得ることはこの分野における通常の知識を有する者には自明である。または、メモリコントローラとフラッシュメモリ装置は、例えば、データを保存するために不揮発性メモリを用いるSSD(Solid State Drive/Disk)を構成することができる。
本発明によるフラッシュメモリ装置、そして/又はメモリコントローラは、多様な形態のパッケージを用いて実装されることができる。
例えば、本発明によるフラッシュメモリ装置、そして/又はメモリコントローラは、パッケージオンパッケージ(PoP:Package on Package)、ボールグリッドアレイ(BGAs:Ball grid arrays)、チップスケールパッケージ(CSPs:Chip scale packages)、プラスチック鉛添加チップキャリア(PLCC:Plastic Leaded Chip Carrier)、プラスチックデュアルイン−ラインパッケージ(PDIP:Plastic Dual In−Line Package)、ダイインワッフルパック(Die in Waffle Pack)、ダイインウェハフォーム(Die in Wafer Form)、チップオンボード(COB:Chip On Board)、セラミックデュアルイン−ラインパッケージ(CERDIP:Ceramic Dual In−Line Package)、プラスチックメトリッククワッドフラットパック(PMQFP:Plastic Metric Quad Flat Pack)、薄型クワッドフラットパック(TQFP:Thin Quad Flat pack)、スモールアウトライン集積回路(SOIC:Small Outline Integrated Circuit)、シュリンクスモールアウトラインパッケージ(SSOP:Shrink Small Outline Package)、薄型スモールアウトラインパッケージ(TSOP:Thin Small Outline Package)、システムインパッケージ(SIP:System In Package)、マルチチップパッケージ(MCP:Multi Chip Package)、ウエハレベル製造されたパッケージ(WFP:Wafer‐level Fabricated Package)、ウエハレベル処理されたスタックパッケージ(WSP:Wafer‐level Processed Stack Package)などのようなパッケージを利用して実装されることができる。
上述の一般的な説明、及びそれに続く詳細な説明は、何れも例示的なものであることが理解されるべきであり、請求された発明についての付加的な説明が提供されるものであると解析されるべきである。
参照符号については、本発明の望ましい実施の形態にて詳細に示し、それらの例を参照図面に示している。如何なる場合にも同一参照番号は同一部分、又は類似部分を参照するために説明及び図面に用いられる。
以上で、メモリシステムが本発明の特徴及び機能を説明するための一例として用いられた。しかし、この技術分野に精通した者であれば、ここに記載された内容によって本発明の他の利点及び性能を容易に理解できるはずである。また、本発明は他の実施例によって具現、又は適用されることができる。そして、詳細な説明は、本発明の範囲、技術的思想及び他の目的から大きく離れない範囲内で、観点及び応用によって修正、又は変更できる。
本発明によるメモリシステムを概略的に示すブロック図である。 本発明によるウェアレベリング技法を説明するための図である。 本発明によるメモリシステムのウェアレベリング方法を概略的に説明するためのフローチャートである。 本発明によるメモリシステムを含むコンピュータシステムを示すブロック図である。

Claims (22)

  1. 各々が複数のメモリセルで構成されるメモリユニットを有するフラッシュメモリ装置と、
    前記フラッシュメモリ装置を制御するように構成されるメモリコントローラとを含み、
    前記メモリコントローラは、前記各メモリユニットの消去イベント情報及びECCイベント情報に基づいて前記メモリユニットに対するウェアレベリング動作を遂行することを特徴とするメモリシステム。
  2. 前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのエラービット値を含むことを特徴とする請求項1に記載のメモリシステム。
  3. 前記メモリコントローラは、初期状態で最も優先順位の高い第1グループに前記メモリユニットを設定し、前記エラービット値は2ビットエラーのイベント回数を示す第1エラービット値と3ビットエラーのイベント回数を示す第2エラービット値とを含むことを特徴とする請求項2に記載のメモリシステム。
  4. 前記メモリコントローラは、前記各メモリユニットの第1エラービット値が第1ECCしきい値より大きい場合、優先順位の低い第2グループに前記各メモリユニットを設定することを特徴とする請求項3に記載のメモリシステム。
  5. 前記メモリコントローラは、前記各メモリユニットの第2エラービット値が第2ECCしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第3グループに前記各メモリユニットを設定することを特徴とする請求項4に記載のメモリシステム。
  6. 前記メモリコントローラは、前記各メモリユニットの第2エラービット値が前記第2ECCしきい値より大きい場合、前記第2グループに属する各メモリユニットを前記第3グループに設定することを特徴とする請求項5に記載のメモリシステム。
  7. 前記メモリコントローラは、前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記第2グループに前記各メモリユニットを設定することを特徴とする請求項4に記載のメモリシステム。
  8. 前記フラッシュメモリ装置及び前記メモリコントローラは、メモリカード及びSSDのうち何れか一つを構成することを特徴とする請求項1に記載のメモリシステム。
  9. 前記メモリコントローラは、
    プロセスユニットと、
    前記フラッシュメモリ装置の選択されたメモリユニットから読み出されたデータを一時的に保存するバッファメモリと、
    前記読み出されたデータに対するエラー検出及び訂正動作を遂行するECCブロックと、を含み、
    前記ECCブロックはエラー検出時にエラービット数を示すECCイベント情報を前記プロセスユニットに伝送し、前記プロセスユニットは前記ECCイベント情報によって前記選択されたメモリユニットのエラービット値を更新することを特徴とする請求項1に記載のメモリシステム。
  10. 前記各メモリユニットは消去単位を構成することを特徴とする請求項1に記載のメモリシステム。
  11. 前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含むことを特徴とする請求項1に記載のメモリシステム。
  12. 前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含むことを特徴とする請求項1に記載のメモリシステム。
  13. メモリユニットを有するフラッシュメモリ装置を含むメモリシステムのウェアレベリング方法であって、
    プログラム/消去サイクルによる前記各メモリユニットの消去イベント情報及びECCイベント情報をウェアレベリングテーブルに保存するステップと、
    前記ウェアレベリングテーブルに保存された前記各メモリユニットの消去イベント情報及びECCイベント情報に基づいて前記各メモリユニットに対するウェアレベリング動作を遂行するステップと、を含むことを特徴とするメモリシステムのウェアレベリング方法。
  14. 前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのエラービット値を含むことを特徴とする請求項13に記載のメモリシステムのウェアレベリング方法。
  15. 前記メモリユニットは初期状態で最も優先順位の高い第1グループに設定され、前記エラービット値は2ビットエラーのイベント回数を示す第1エラービット値と3ビットエラーのイベント回数を示す第2エラービット値とを含むことを特徴とする請求項14に記載のメモリシステムのウェアレベリング方法。
  16. 前記各メモリユニットは前記各メモリユニットの第1エラービット値が第1ECCしきい値より大きい場合、優先順位の低い第2グループに設定されることを特徴とする請求項15に記載のメモリシステムのウェアレベリング方法。
  17. 前記各メモリユニットの第2エラービット値が第2ECCしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第3グループに前記各メモリユニットが設定されることを特徴とする請求項16に記載のメモリシステムのウェアレベリング方法。
  18. 前記各メモリユニットの第2エラービット値が前記第2ECCしきい値より大きい場合、前記第2グループに属する各メモリユニットが前記第3グループに設定されることを特徴とする請求項17に記載のメモリシステムのウェアレベリング方法。
  19. 前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記各メモリユニットが前記第2グループに設定されることを特徴とする請求項16に記載のメモリシステムのウェアレベリング方法。
  20. 前記各メモリユニットは消去単位を構成することを特徴とする請求項13に記載のメモリシステムのウェアレベリング方法。
  21. 前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含むことを特徴とする請求項13に記載のメモリシステムのウェアレベリング方法。
  22. 前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ECCイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含むことを特徴とする請求項13に記載のメモリシステムのウェアレベリング方法。
JP2008232262A 2007-09-13 2008-09-10 向上した信頼性を有するメモリシステム及びそのウェアレベリング方法 Active JP5296464B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2007-0093173 2007-09-13
KR1020070093173A KR101413736B1 (ko) 2007-09-13 2007-09-13 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법

Publications (2)

Publication Number Publication Date
JP2009070379A true JP2009070379A (ja) 2009-04-02
JP5296464B2 JP5296464B2 (ja) 2013-09-25

Family

ID=40455877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008232262A Active JP5296464B2 (ja) 2007-09-13 2008-09-10 向上した信頼性を有するメモリシステム及びそのウェアレベリング方法

Country Status (4)

Country Link
US (2) US9229805B2 (ja)
JP (1) JP5296464B2 (ja)
KR (1) KR101413736B1 (ja)
CN (1) CN101458957B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312213B2 (en) 2009-07-27 2012-11-13 Buffalo Inc. Method to speed up access to an external storage device and an external storage system
US8553467B2 (en) 2011-01-28 2013-10-08 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI362044B (en) * 2007-11-09 2012-04-11 Transcend Information Inc Storage apparatus and method for accessing data and for managing memory block
US20090217281A1 (en) * 2008-02-22 2009-08-27 John M Borkenhagen Adaptable Redundant Bit Steering for DRAM Memory Failures
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
KR100974954B1 (ko) * 2008-06-26 2010-08-10 에스디씨마이크로 주식회사 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법
TWI364661B (en) * 2008-09-25 2012-05-21 Silicon Motion Inc Access methods for a flash memory and memory devices
US9063874B2 (en) * 2008-11-10 2015-06-23 SanDisk Technologies, Inc. Apparatus, system, and method for wear management
US20100125696A1 (en) * 2008-11-17 2010-05-20 Prasanth Kumar Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor
US8458562B1 (en) * 2008-12-30 2013-06-04 Micron Technology, Inc. Secondary memory element for non-volatile memory
KR101038991B1 (ko) * 2009-03-10 2011-06-03 주식회사 하이닉스반도체 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법
KR101594124B1 (ko) * 2009-04-09 2016-02-16 삼성전자주식회사 비휘발성 램, 이를 포함하는 솔리드 스테이트 드라이브, 및 이를 포함하는 컴퓨터 시스템
US8370712B2 (en) 2009-07-23 2013-02-05 International Business Machines Corporation Memory management in a non-volatile solid state memory device
KR101097438B1 (ko) * 2009-10-29 2011-12-23 주식회사 하이닉스반도체 웨어 레벨링을 유동적으로 제어하는 반도체 스토리지 시스템 및 그 제어 방법
KR101090394B1 (ko) * 2009-12-24 2011-12-07 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
JP2011198433A (ja) * 2010-03-23 2011-10-06 Toshiba Corp メモリシステム
US8713066B1 (en) 2010-03-29 2014-04-29 Western Digital Technologies, Inc. Managing wear leveling and garbage collection operations in a solid-state memory using linked lists
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US9251019B2 (en) 2012-05-29 2016-02-02 SanDisk Technologies, Inc. Apparatus, system and method for managing solid-state retirement
CN103077096A (zh) * 2012-12-31 2013-05-01 记忆科技(深圳)有限公司 数据纠错系统、固态硬盘及数据纠错方法
CN103092770B (zh) * 2013-01-18 2015-08-12 山东华芯半导体有限公司 一种磨损均衡处理时减少内存开销的方法
US9632926B1 (en) 2013-05-16 2017-04-25 Western Digital Technologies, Inc. Memory unit assignment and selection for internal memory operations in data storage systems
US9477546B2 (en) * 2013-06-21 2016-10-25 Marvell World Trade Ltd. Methods and apparatus for optimizing lifespan of a storage device
KR102085127B1 (ko) 2013-11-13 2020-04-14 삼성전자주식회사 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치
US9082512B1 (en) * 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10552043B2 (en) * 2014-09-09 2020-02-04 Toshiba Memory Corporation Memory system
KR102513491B1 (ko) 2015-07-15 2023-03-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI575530B (zh) * 2015-08-06 2017-03-21 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
US9646709B2 (en) * 2015-09-11 2017-05-09 Sandisk Technologies, Llc Proxy wordline stress for read disturb detection
KR102435181B1 (ko) * 2015-11-16 2022-08-23 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US10185666B2 (en) * 2015-12-15 2019-01-22 Facebook, Inc. Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache
TWI591635B (zh) * 2016-02-05 2017-07-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US9910606B2 (en) 2016-03-23 2018-03-06 Seagate Technology Llc End of life extension of solid state memory
US9672905B1 (en) * 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
KR101909929B1 (ko) * 2016-10-14 2018-10-19 한국외국어대학교 연구산학협력단 가상 낸드플래시 구현 방법 및 이를 기록한 컴퓨터 프로그램
US10482983B2 (en) * 2016-12-22 2019-11-19 Seagate Technology Llc Read disturb detection based on dynamic bit error rate estimation
KR20180102241A (ko) * 2017-03-06 2018-09-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102559549B1 (ko) * 2018-09-12 2023-07-26 에스케이하이닉스 주식회사 메모리 시스템에서의 블록 상태를 관리하는 방법 및 장치
CN111897682A (zh) * 2019-05-05 2020-11-06 北京兆易创新科技股份有限公司 一种测试结果记录方法、装置、电子设备及存储介质
CN110473583A (zh) * 2019-08-15 2019-11-19 山东华芯半导体有限公司 一种NAND Flash的操作检测方法
US11275652B1 (en) * 2020-09-01 2022-03-15 EMC IP Holding Company LLC Storing erasure coded data based on reliability of storage devices
KR20220049397A (ko) 2020-10-14 2022-04-21 삼성전자주식회사 메모리 장치, 이를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
CN112700813B (zh) * 2020-12-25 2023-12-22 北京浪潮数据技术有限公司 一种基于磨损状态的nand控制方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308242A (ja) * 2002-04-16 2003-10-31 Hitachi Ltd 半導体記憶装置及びその制御方法
JP2005196634A (ja) * 2004-01-09 2005-07-21 Buffalo Inc 外部記憶装置
JP2005528696A (ja) * 2002-06-03 2005-09-22 ハネウェル・インターナショナル・インコーポレーテッド フラッシュメモリ管理のシステムおよび方法
JP2006134482A (ja) * 2004-11-05 2006-05-25 Toshiba Corp 不揮発性メモリシステム
JP2008299621A (ja) * 2007-05-31 2008-12-11 Toshiba Corp データリフレッシュ装置、及びデータリフレッシュ方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2708946B1 (fr) 1993-08-11 1995-12-08 Spie Fondations Procédé de mise en place d'un joint d'étanchéité entre deux panneaux d'une paroi moulée et dispositif pour la mise en Óoeuvre de ce procédé.
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP3199021B2 (ja) * 1998-03-19 2001-08-13 日本電気株式会社 半導体メモリ装置、該半導体メモリ装置の検査方法及び使用方法
JP4081843B2 (ja) 1998-03-25 2008-04-30 松下電器産業株式会社 メモリ制御装置
JP3242890B2 (ja) 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US7168010B2 (en) * 2002-08-12 2007-01-23 Intel Corporation Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations
US8412879B2 (en) 2002-10-28 2013-04-02 Sandisk Technologies Inc. Hybrid implementation for error correction codes within a non-volatile memory system
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
JP4299558B2 (ja) * 2003-03-17 2009-07-22 株式会社ルネサステクノロジ 情報記憶装置および情報処理システム
DE602004023209D1 (de) 2003-07-30 2009-10-29 Sandisk Il Ltd Verfahren und system zur optimierung von zuverlässigkeit und leistungsfähigkeit von programmierdaten in nichtflüchtigen speicherbausteinen
US7493534B2 (en) * 2003-08-29 2009-02-17 Hewlett-Packard Development Company, L.P. Memory error ranking
JP2006221334A (ja) 2005-02-09 2006-08-24 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR100624973B1 (ko) 2005-06-29 2006-09-15 박상원 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)
US7523013B2 (en) 2006-05-15 2009-04-21 Sandisk Corporation Methods of end of life calculation for non-volatile memories
US7506098B2 (en) * 2006-06-08 2009-03-17 Bitmicro Networks, Inc. Optimized placement policy for solid state storage devices
US8081187B2 (en) * 2006-11-22 2011-12-20 Autodesk, Inc. Pencil strokes for vector based drawing elements
WO2009032928A2 (en) 2007-09-05 2009-03-12 Rambus Inc. Method and apparatus to repair defects in nonvolatile semiconductor memory devices
DE112006004187B4 (de) 2006-12-27 2015-09-10 Intel Corporation Verfahren, nicht-flüchtige Speichervorrichtung und Computersystem zum initiativen Abnutzungsausgleich für einen nicht-flüchtigen Speicher
US9063181B2 (en) * 2006-12-29 2015-06-23 Electro Industries/Gauge Tech Memory management for an intelligent electronic device
US7877666B2 (en) * 2006-12-30 2011-01-25 Intel Corporation Tracking health of integrated circuit structures
JP2008287404A (ja) 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
US7849275B2 (en) * 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308242A (ja) * 2002-04-16 2003-10-31 Hitachi Ltd 半導体記憶装置及びその制御方法
JP2005528696A (ja) * 2002-06-03 2005-09-22 ハネウェル・インターナショナル・インコーポレーテッド フラッシュメモリ管理のシステムおよび方法
JP2005196634A (ja) * 2004-01-09 2005-07-21 Buffalo Inc 外部記憶装置
JP2006134482A (ja) * 2004-11-05 2006-05-25 Toshiba Corp 不揮発性メモリシステム
JP2008299621A (ja) * 2007-05-31 2008-12-11 Toshiba Corp データリフレッシュ装置、及びデータリフレッシュ方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312213B2 (en) 2009-07-27 2012-11-13 Buffalo Inc. Method to speed up access to an external storage device and an external storage system
US8553467B2 (en) 2011-01-28 2013-10-08 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device

Also Published As

Publication number Publication date
US20090077429A1 (en) 2009-03-19
CN101458957A (zh) 2009-06-17
CN101458957B (zh) 2016-08-03
US9229805B2 (en) 2016-01-05
US20140245109A1 (en) 2014-08-28
US9251015B2 (en) 2016-02-02
JP5296464B2 (ja) 2013-09-25
KR101413736B1 (ko) 2014-07-02
KR20090027952A (ko) 2009-03-18

Similar Documents

Publication Publication Date Title
JP5296464B2 (ja) 向上した信頼性を有するメモリシステム及びそのウェアレベリング方法
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
KR101498669B1 (ko) 반도체 메모리 시스템 및 그것의 액세스 방법
KR100830580B1 (ko) 플래시 메모리 장치를 포함한 메모리 시스템의 데이터 복원방법
US8582360B2 (en) Read method for nonvolatile memory device, and data storage system using the same
US8446766B2 (en) Nonvolatile memory device and related programming method
KR102072449B1 (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
KR101517185B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR100875292B1 (ko) 플래시 메모리 장치 및 그것의 리프레쉬 방법
US7903459B2 (en) Memory devices and methods for determining data of bit layers based on detected error bits
KR101631162B1 (ko) 플래시 메모리를 구비하는 저장 장치 및 이의 데이터 저장 방법
US20170076807A1 (en) Memory system and method of controlling nonvolatile memory
KR20100010746A (ko) 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법
KR20090022435A (ko) 멀티 비트 플래시 메모리 장치를 포함하는 시스템 및그것의 데이터 처리 방법
US11133071B2 (en) Charge loss failure mitigation
US10680005B2 (en) Nonvolatile memory device, method of operating nonvolatile memory device and storage device including the same
US9798475B2 (en) Memory system and method of controlling nonvolatile memory
US20170052704A1 (en) Memory management method, memory control circuit unit and memory storage device
CN115910158A (zh) 存储装置
US9613705B1 (en) Method for managing programming mode of rewritable non-volatile memory module, and memory storage device and memory control circuit unit using the same
CN112860194B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
KR100764748B1 (ko) 향상된 리프레쉬 기능을 갖는 플래시 메모리 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130502

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: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130613

R150 Certificate of patent or registration of utility model

Ref document number: 5296464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250