[go: up one dir, main page]

JP2014041644A - フラッシュメモリ中のエラースキャニング - Google Patents

フラッシュメモリ中のエラースキャニング Download PDF

Info

Publication number
JP2014041644A
JP2014041644A JP2013216759A JP2013216759A JP2014041644A JP 2014041644 A JP2014041644 A JP 2014041644A JP 2013216759 A JP2013216759 A JP 2013216759A JP 2013216759 A JP2013216759 A JP 2013216759A JP 2014041644 A JP2014041644 A JP 2014041644A
Authority
JP
Japan
Prior art keywords
memory device
information
scanning
block
read operations
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
JP2013216759A
Other languages
English (en)
Other versions
JP5719902B2 (ja
Inventor
Henry Radke William
ヘンリー ラドキ,ウィリアム
Sean Feeley Peter
エス. フィーリー,ピーター
Nemazie Siamack
ネマジー,シアマック
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of JP2014041644A publication Critical patent/JP2014041644A/ja
Application granted granted Critical
Publication of JP5719902B2 publication Critical patent/JP5719902B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1048Adding 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
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】フラッシュメモリデバイス中の情報の中の潜在的エラーを検知する方法、装置、及びシステムを提供する。
【解決手段】スキャンをする条件が満足されるときに(340)、メモリデバイスの少なくとも一部をスキャンする(350)方法、装置、及びシステムを含む。スキャンする条件は、読み取り動作の数、書き込み動作の数、時間、及び他のものの一つ以上に依存し得る(310)。追加の方法、装置、及びシステムを含む他の実施形態が開示される。
【選択図】図3

Description

[関連出願]
本特許出願は、2007年8月22日に出願された米国特許出願第11/843,466号の優先権利益を主張するものであり、これは参照により本明細書に組み入れられる。
[技術分野]
本開示の実施形態は、フラッシュメモリデバイス中の情報を管理することを含む、不揮発性メモリデバイスに関する。
フラッシュメモリデバイスのような不揮発性メモリデバイスは、データ又は情報を記憶するために用いられる。フラッシュメモリデバイスは、多くのコンピュータ、並びに、例えば、携帯電話、デジタルカメラ、デジタルオーディオプレイヤー、及びデジタルレコーダといった電子デバイスに備られる。フラッシュメモリデバイスはまた、携帯可能なユニバーサルシリアルバス(USB)フラッシュドライブ又は“サム”ドライブのような携帯可能なストレージデバイスとして用いられ得る。時として、フラッシュメモリデバイスは、コンピュータ及び他の電子デバイス又はシステム中の従来の磁気ハードドライブの代わりになり得る。
フラッシュメモリデバイスは、通常は半導体チップ中に形成される多数のメモリセル中に情報を記憶する。フラッシュメモリデバイスは通常、セル中に情報を記憶するプログラミング又は書き込み動作、セルから情報を読み出す読み取り動作、及びセルから情報を消去又は削除する消去動作を有している。
時として、フラッシュメモリデバイス中に記憶された情報の中で潜在的エラーが起こり得る。もし潜在的エラーが検知されないままであると、情報は使用不可能になり得る。従って、フラッシュメモリデバイス中の情報の中の潜在的エラーを検知する方法、装置、及びシステムへの要求が存在する。
本発明の実施形態に従うメモリデバイスを含むシステムのブロック図を示している。 本発明の実施形態に従うメモリデバイスのブロック図を示している。 本発明の実施形態に従うエラー検出のためのスキャンをする方法の流れ図である。 図2のメモリデバイスのエラーレートと読み取り動作の数の関係を示すグラフである。 本発明の実施形態に従うネットワークシステムのブロック図を示している。
図1は、本発明の実施形態に従うシステム100のブロック図を示している。システム100は、コンピュータ、携帯電話、又はデジタルカメラなどの電子システム中に備えられ得る。図1に示されているように、システム100は、メモリセル104を有するメモリアレイ102を有するメモリデバイス101を含み、情報を記憶し得る。情報は、ユーザからのデータ及びシステム100によって生成された制御データの少なくとも一つを含み得る。システム100はまた、メモリコントローラ103を含み、一つ以上のインターフェイス又はバス105及びバス107を介したメモリデバイス101とプロセッサ106の間の通信を制御し得る。
システム100はさらに、マネージメントコンポーネント119を含み得て、マネージメントコンポーネント119は、メモリデバイス101中に記憶された情報の中の潜在的エラー検出のためにメモリデバイス101のスキャンをすること、及びエラーを訂正することに関係し得る。上述のように、未検知の潜在的エラーは、使用不可能になり得る。システム100中では、情報が使用不可能になる前に、潜在的エラー検出のためにメモリデバイス101のスキャンをすること、及び次にエラーを訂正することが、全エラーレートを減少させ得る若しくは情報が使用不可能になるのを避け得るし、又は両方をし得る。
マネージメントコンポーネント119はモニタリングユニット131を含み、バス105、107又は両方の上の信号をモニタすることよって、メモリアレイにアクセスする及びメモリアレイからアクセスされる数を追跡し得る。例えば、モニタリングユニット131は、少なくとも一つのカウンタ151を含み、メモリデバイス101中の読み取り動作又は書き込み動作の数をカウントし得る。マネージメントコンポーネント119はまた、ストレージユニット132を含み、システム100のエラースキャニングアクティビティ中で用いられ得る一以上の値を記憶し得る。ストレージユニット132は、読み取り専用メモリ(ROM)ストレージ素子、電子的に消去可能プログラム可能なROM(EEPROM)、及びレジスタ回路などのストレージ回路素子を含み得る。マネージメントコンポーネント119はまた、タイムキーパ133を含み得て、タイムキーパ133は時間を刻み続けるリアルタイムクロックを含み得る。マネージメントコンポーネント119はまた、エラー訂正ユニット134を含み、メモリデバイス101中に記憶された情報の中に見つかり得るエラーを訂正し得る。エラー訂正ユニット134は、エラー訂正回路を含み、記憶された情報に関連するエラー訂正コード(ECC)データに基づいてエラーを訂正し得る。ECCデータはハミングコード、リード−ソロモンコード、及びBCHコード(ボース、レイショードゥリ、ホッケンガムコード)などのコードに基づいて生成され得る。
図1で、矢印141、142、及び143は、マネージメントコンポーネント119の全体が、メモリデバイス101、メモリコントローラ103、及びプロセッサ106の一つのみの中に備えられ得るのか、又はマネージメントコンポーネント119の一部が、メモリデバイス101、メモリコントローラ103、及びプロセッサ106の少なくとも二つの中に分散され得るのか、を表す。マネージメントコンポーネント119は、ソフトウェアプログラム命令、ファームウェア、ハードウェア、又はそれらの組み合わせを含み得る。マネージメントコンポーネント119中のファームウェアの例は、基本入出力システム(BIOS)回路又は電子システムのBIOS回路に類似の回路を含む。マネージメントコンポーネント119中のハードウェアの例は、フリップフロップ回路、レジスタ回路、ステートマシン回路、及び他の回路素子のような回路素子を含む。
図1のメモリデバイス101は、フラッシュメモリデバイスのような不揮発性メモリデバイスを含み得る。プロセッサ106は、汎用プロセッサ(例えば、コンピュータで用いられるプロセッサ)又は特定用途向け集積回路若しくはASIC(例えば、携帯電話又はデジタルカメラ中で用いられるプロセッサ)を含み得る。メモリデバイス101及びメモリコントローラ103は、同一の半導体ダイから形成され、同一の半導体パッケージ又はチップ中に封入され得る。メモリデバイス101及びメモリコントローラ103はまた、別々の半導体ダイから形成され、別々の半導体パッケージ又は別々のチップ中に封入され得る。実施形態によっては、メモリコントローラ103は省略され得るし、メモリデバイス101及びプロセッサ106は、バス105及び107の一つ又は両方を介して互いに通信し得る。実施形態によっては、メモリデバイス101は、図2のメモリデバイスを含み得る。
図2は、本発明の実施形態に従うメモリデバイス201のブロック図を示している。メモリデバイス201は、行及び列に配置されたセル204を有するメモリアレイ202を含み得る。行デコーダ206及び列デコーダ208は、アドレスレジスタ213に応答し、ライン又は端子240上の行アドレス及び列アドレス信号に基づいてセル204にアクセスし得る。セル204にアクセスすることは、セル204へ情報を書き込むこと、又はセル204から情報を読み出すことを含み得る。データ入出力回路214は、セル204と端子240の間で情報を転送し得る。メモリデバイス201の端子240及び端子241は、インターフェイス又は図1のバス105及び107のようなバスに結合され得る。端子240及び241は、メモリデバイス101の外部端子(例えば、メモリデバイス101を含むチップ又は半導体パッケージの外部に配置された端子)を含み得る。読み取り動作は、端子241に与えられる読み取りコマンド(又は読み取り動作を示す信号)に基づいて実行され得る。書き込み動作は、端子241に与えられる書き込みコマンド(又は書き込み動作を示す信号)に基づいて実行され得る。端子240及び241上の、信号の転送のようなアクティビティをモニタすることによって、メモリデバイス201はメモリアレイ202全体の上で、又は個々のブロック中で、実行された読み取り動作及び書き込み動作の数を追跡する又は決定することができる。
制御回路216は、端子240及び241上の信号に基づいて、メモリデバイス201の動作を制御し得る。メモリデバイス201の動作は、セル204に情報を書き込む又はプログラムする書き込み動作、セル204から情報を読み出す読み取り動作、及びセル204から情報を消去する消去動作を含み得る。メモリデバイス201の書き込み、読み取り、及び消去動作は、セル204中に記憶された情報の中のエラー検出のためのスキャンをするといった、メモリデバイス201中での様々なアクティビティと結び付いて実行され得る。
制御回路216は、マネージメントコンポーネント219を含み得て、マネージメントコンポーネント219は図1のマネージメントコンポーネント119の実施形態を含み得る。実施形態によっては、図2のマネージメントコンポーネント219は、図1のマネージメントコンポーネント119より少ない回路素子を含み得る。例えば、図2のマネージメントコンポーネント219は、図1のエラー訂正ユニット134のようなエラー訂正ユニットを省略し得る。図2で、メモリデバイス201のマネージメントコンポーネント219は、潜在的エラー検出のためにメモリアレイ202中のセル204をスキャンすることに関係し得る。マネージメントコンポーネント219はまた、エラーの訂正に関係し得る。
メモリアレイ202は、メモリブロック211及び212、ページ(又はセルの行)221、222、223、及び224、並びにセクタ231、232、233、234、235、236、237及び238を含み得る。図2に示されているように、ブロック211及び212の各々は複数のページを含み得るし、各ページは複数のセクタを含み得るし、そして各セクタは複数のセルを含み得る。ブロック211及び212は、フラッシュメモリデバイスの消去済みブロックと呼ばれ得る。明確化のために、図2は、メモリアレイ202中に2つのブロック、各ブロック中に2つのページ、各ページ中に2つのセクタ、及び各セクタ中に2つのセルの例を示している。実施形態によっては、メモリアレイ202中の2つのブロックの数、各ブロック中のページの数、各ページ中のセクタの数、及び各セクタ中のセルの数は変わり得る。例えば、ブロック211及び212の各々は、64ページを含み得る。別の例では、ブロック211及び212の各々の中のページ221、222、223、及び224の各々は、4つのセクタを含み得る。別の例では、ブロック211及び212の各々の各セクタは4096セルを含み、512バイトの情報を記憶し得る。
図2では、メモリデバイス201は不揮発性メモリデバイスを含み得る。実施形態によっては、メモリデバイス201は、セル204がNANDフラッシュメモリ配置に配置されたフラッシュセルを含み得るNANDフラッシュメモリデバイスを含み得る。別の実施形態では、メモリデバイス201は、NORフラッシュメモリデバイス、高分子メモリデバイス、強誘電体ランダムアクセスメモリ(FeRAM)デバイス、例えばオビオニクスユニバーサルメモリ(OUM)デバイスのような相変化メモリ(PCM)デバイス、窒素化合物読み取り専用メモリ(NROM)デバイス、又は磁気抵抗ランダムアクセスメモリ(MRAM)デバイスのようなメモリデバイスを含み得る。
当業者は、メモリデバイス201は、本明細書中で記述される様々な実施形態に注意を向けさせるために図2からは省略されている、他のコンポーネントを含み得ることを容易に理解するだろう。
メモリデバイス201中に記憶されている情報の中のエラーの検出のためのスキャンをすることは、デバイスに基づくスキャニング、ブロックに基づくスキャニング、ブロックに基づくランダムページスキャニング、時間に基づくスキャニング、又はこれらの組み合わせで実行され得る。例えば、デバイスに基づくスキャニングでは、メモリアレイ202中のいくつかのセクタが読み出された後、又は何回かの読み取り動作がメモリデバイス201上で実行された後に、メモリアレイ202全体がスキャンされ得る。ブロックに基づくスキャニングでは、ブロック211又は212中のいくつかのセクタが読み出された後、又はブロック211又は212上で何回かの読み取り動作が実行された後、そのブロックのみがスキャンされ得る。ブロックに基づくスキャニングではまた、ブロック211又は212中のいくつかのセクタが書き込まれた後、又はブロック211又は212上で何回かの書き込み動作が実行された後に、そのブロックのみがまたスキャンされ得る。ブロックに基づくランダムページスキャニングでは、ブロック211及び212のうちの選択された一つの中のあるページが、選択された同じブロック内の別のページの読み取り動作に基づいてランダムにスキャンされ得る。時間に基づくスキャニングでは、例えば、数日ごとのように、各時間間隔後にメモリアレイ202がスキャンされ得る。
実施形態によっては、メモリデバイス201に記憶されている情報の中のエラー検出のためのスキャンを含むメモリデバイス201中の動作及びアクティビティは、図3のアクティビティの実施形態を含み得る。
図3は、本発明の実施形態に従うエラー検出のためのスキャンをする方法300の流れ図である。方法300は、図1のシステム100のようなシステム中、又は図2のメモリデバイス201のようなメモリデバイス中で用いられ得る。よって、方法300中のメモリデバイスは、図1のメモリデバイス101又は図2のメモリデバイス201を含み得る。
図3のアクティビティ310は、メモリデバイス中に記憶された情報の中のエラー検出のためのスキャンをする条件を設定し得る。図1のメモリコントローラ103若しくはプロセッサ106のようなコントローラ若しくはプロセッサ中の回路、又は図2のメモリデバイス201の制御回路216のような回路が、条件を設定し得る。条件を設定することは、ストレージユニットに少なくとも一つの選択値を記憶することを含み得る。図1のストレージユニット132のようなストレージユニットは、アクティビティ310によって設定された選択値を記憶し得る。
アクティビティ310で条件を設定することは、メモリデバイス中の読み取り動作の数が第一の設定値を超える又は少なくとも等しいときに、エラー検出のためのスキャンが実行され得るように第一の設定値を記憶することを含み得る。例えば、Mを整数として第一の選択値をMに設定すると、メモリデバイス中の読み取り動作の回数がMを超える又は少なくともMに等しくなると、エラー検出のためのスキャンが実行され得る。
アクティビティ310で条件を設定することはまた、メモリデバイスのあるブロック中の読み取り動作の回数が第二の選択値を超える又は少なくとも等しいときに、エラー検出のためのスキャンが実行され得るように第二の選択値を記憶することを含み得る。例えば、Bを整数として第二の選択値をBに設定すると、ブロック中の読み取り動作の回数がBを超える又は少なくともBに等しくなると、エラー検出のためのスキャンが実行され得る。
アクティビティ310で条件を設定することはまた、メモリデバイスのあるブロック中の読み取り動作の回数が第三の選択値を超える又は少なくとも等しいときに、メモリデバイスのそのブロック中のあるランダム位置において、エラー検出のためのスキャンが実行され得るように第三の選択値を記憶することを含み得る。例えば、Rを整数として第三の選択値をRに設定すると、ブロック中の読み取り動作の回数がRを超える又は少なくともRに等しくなると、ランダム位置でエラー検出のためのスキャンが実行され得る。
アクティビティ310で条件を設定することはまた、メモリデバイスのあるブロック中の書き込み動作の回数が第四の選択値を超える又は少なくとも等しいときに、そのブロック中でエラー検出のためのスキャンが実行され得るように第四の選択値を記憶することを含み得る。例えば、Wを整数として第四の選択値をWに設定すると、ブロック中の書き込み動作の回数がWを超える又は少なくともWに等しくなると、そのブロック上でエラー検出のためのスキャンが実行され得る。
アクティビティ310で条件を設定することはまた、第五の値によって示される各時間間隔でエラー検出のためのスキャンが実行され得るように第五の選択値を記憶することを含み得る。例えば、第五の選択値が、数日のような時間間隔を表し得るTに設定されると、Tで示される各時間間隔の毎にエラー検出のためのスキャンが実行され得る。
アクティビティ310では、第一、第二、第三、第四、及び第五選択値は、あらゆる組み合わせで記憶され得る。例えば、第一、第二、第三、第四、及び第五選択値の一つのみが記憶されてもよい。よって、メモリデバイス中の情報の中のエラー検出のためのスキャンをする条件は、アクティビティ310によって記憶される第一、第二、第三、第四、及び第五選択値の一つのみに依存し得る。別の例では、第一、第二、第三、第四、及び第五選択値の少なくとも二つが記憶され得る。よって、メモリデバイス中の情報の中のエラー検出のためのスキャンをする条件は、第一、第二、第三、第四、及び第五選択値の少なくとも二つに依存し得る。
アクティビティ320は、メモリデバイスにアクセスし得る。メモリデバイスにアクセスすることは、メモリデバイスに情報を記憶する又は書き込む書き込み動作を実行すること、及びメモリデバイスから情報を読み出す読み取り動作を実行することを含み得る。
アクティビティ330は、アクセス数の追跡をし得る。アクセス数は、メモリデバイスにアクセスする又はメモリデバイスからアクセスされる数を含み得る。実施形態によっては、アクティビティ330は、アクセス数をカウントすることによって、アクセス数を追跡し得る。図1のカウンタ151のようなカウンタは、アクティビティ330でアクセス数をカウントし得る。カウンタ又は図1のストレージユニット132のようなストレージユニットは、カウントした後、アクセス数を記憶し得る。
アクセス数は、メモリデバイス中の読み取り動作の数を含み得る。読み取り動作の数は、メモリデバイスの一つより多いブロックのセクタ上で実行される読み取り動作の総数を含み得る。アクセス数はまた、メモリデバイスのあるブロック中の読み取り動作の数を含み得る。アクセス数はまた、メモリデバイスのブロック中の書き込み動作の数を含み得る。
アクティビティ340は、エラー検出のためのスキャンをする条件が満足されているかどうかを決定する。アクティビティ340では、アクティビティ330でのアクセス数が、アクティビティ310によって設定された対応する選択値と比較され得る。比較の結果は、条件が満足されているかどうかを決定し得る。
例えば、メモリデバイス中の読み取り動作の数が、アクティビティ310によってストレージデバイス中に記憶され得るある選択値(例えば、上述の値B)を超える又は少なくとも等しいときに、アクティビティ340中の条件が満足される。
別の例では、メモリデバイスのあるブロック中の読み取り動作の数が、アクティビティ310によってストレージデバイス中に記憶され得るある選択値(例えば、上述の値B)を超える又は少なくとも等しいときに、アクティビティ340中の条件が満足される。
別の例では、メモリデバイスのあるブロック中の読み取り動作の数が、アクティビティ310によってストレージデバイス中に記憶され得るある選択値(例えば、上述の値R)を超える又は少なくとも等しいときに、アクティビティ340中の条件が満足される。
別の例では、メモリデバイスのあるブロック中の書き込み動作の数が、アクティビティ310によってストレージデバイス中に記憶され得るある選択値(例えば、上述の値W)を超える又は少なくとも等しいときに、アクティビティ340中の条件が満足される。
別の例では、情報がメモリデバイスに記憶されてからある時間量が経過し、その時間量が、アクティビティ310で設定され得るある選択値によって示される時間量を超える又は少なくとも等しいときに、アクティビティ340中の条件が満足される。
図3に示されているように、方法300のアクティビティ340の条件が満足されないとき(“NO”によって示される)、方法300はアクティビティ330を繰り返し得る。条件が満足されるとき(“YES”によって示される)、方法300は引き続きアクティビティ350を実行し得る。
アクティビティ350は、エラー検出のためのスキャンをし得る。アクティビティ350でスキャンをすることは、メモリデバイスの一部のみ又はメモリデバイス全体のスキャンをすることを含み得る。アクティビティ350でスキャンをすることは、デバイスに基づくスキャニング、ブロックに基づくスキャニング、ブロックに基づくランダム位置スキャニング、時間に基づくスキャニングの少なくとも一つを含み得る。
アクティビティ350は、メモリデバイス中の読み取り動作の数がある選択値(例えば、上述の値M)を超える又は少なくとも等しいときに、デバイスに基づくスキャニングを実行し得る。デバイスに基づくスキャニングでは、アクティビティ350は、記憶された情報を有するセルを読み取り、記憶された情報を有しないセルの読み取りをスキップし得る。記憶された情報を有しているセルは、メモリデバイスの一つ以上ブロックに備えられ得る。実施形態によっては、デバイスに基づくスキャニングにおいて、アクティビティ350のスキャンでは、記憶された情報を有するセル及び記憶された情報を有しないセルの両方を読み取り得る。
アクティビティ350は、あるブロック中の読み取り動作の数が、ある選択値(例えば、上述の値B)を超える又は少なくとも等しいとき、ブロックに基づくスキャニングを実行し得る。ブロックに基づくスキャニングでは、アクティビティ350は、選択されたブロック中の読み取り動作の数が、アクティビティ310によって記憶された第二の選択値を超える又は少なくとも等しいときに、その選択されたブロックのみの中のセルを読み取り得る。
アクティビティ350は、あるブロック中の読み取り動作の数が、ある選択値(例えば、上述の値R)を超える又は少なくとも等しいときに、ブロックに基づくランダム位置スキャニングを実行し得る。ブロックに基づくランダム位置スキャニングでは、アクティビティ350は、あるブロック中のランダム位置でセルを読み取り、エラー検出のためのスキャンをし得る。アクティビティ350がランダム位置のセルを読み取り得る率は、値Rのような選択値に基づき得る。実施形態によっては、ランダム位置のアドレスは、オフセット値及び(エラー検出のためのスキャンをすることではない)通常のメモリ読み取り動作中にメモリデバイスに与えられるアドレスの関数であり得る。例えば、もしRのような選択値が12であり、オフセット値が16ならば、すると、あるブロックに対して12回の通常メモリ読み取り動作が実行される毎に、追加の読み取り動作(例えば、13回目の読み取り動作)が実行されて、ランダム位置でセルを読み取り、エラー検出のためのスキャンが行われ得る。この例では、追加の読み取り動作(13回目の読み取り動作)でのランダム位置のアドレスは、12回目の読み取り動作の位置のアドレス及び(この例では16である)オフセット値に基づいて決定され得る。例えば、13回目の読み取り動作でのランダム位置のアドレスは、12回目の読み取り動作での位置のアドレスとオフセット値の和(又は12回目の読み取り動作における位置のアドレスからオフセット値を減じた差)から決定され得る。オフセット値は選択され、アクティビティ310で用いられているストレージユニットのようなストレージユニットに記憶され得る。ブロックに基づくランダム位置スキャニングでは、オフセット値が記憶され得るストレージユニットにアクセスすることによって、オフセット値を得ることができる。
実施形態によっては、ランダム位置は、あるブロックのあるページの位置を含み得る。よって、実施形態によっては、オフセット値は、ブロック中のページの数に基づいて選択され得る。例えば、ブロックが0から63までの番号付けされた64ページを有するとき、オフセット値は、1から62までであり得る。この例では、(エラー検出のためのスキャンがされるだろう)ランダムページのアドレスは、通常の読み取り動作で読み出される(64ページの一つである)ページのアドレスとオフセット値の和(又は通常の読み取り動作で読み出されるページのアドレスからオフセット値を減じた差)であって、ランダムページのアドレスがブロック内に収まるようなものであり得る。
アクティビティ350でスキャンをすることはまた、ブロック中の書き込み動作の数が、アクティビティ310によって記憶され得る選択値(例えば、上述の値W)を超える又は少なくとも等しいときに、ブロックに基づくスキャニングを実行し得る。例えば、アクティビティ350は、あるブロックのある位置でセルに情報を書き込んだ後に、同じブロック中の別の位置でセルを読み取り、エラーの検出のためのスキャンをし得る。
図2に示したように、ブロックは複数のページを含み得る。ブロックは、ページ毎に異なる書き込み動作によって、そして連続的な順番、例えば第一のページ、中間のページ、最後のページという連続的な順番で書き込まれ得る。ブロックはページ毎に書き込まれ得るので、動作の数は書き込まれたページの数に対応し得る。図3で、アクティビティ350は、情報を新しいページに書き込んだ後に、書き込まれているページのセルを読み取り得る。例えば、もし選択値が14(例えば、W=14)であり、もしあるブロック上で実行された書き込み動作の数が14(例えば、14ページが書き込まれた)ならば、すると、15回目の書き込み動作でそのブロックに書き込んだ後、アクティビティ350は、以前に書き込まれたセル(例えば、1回目のページから第14回目のページまでのセル)を読み取り、エラー検出のためのスキャンをし得る。実施形態によっては、今と同一の例を用いて、アクティビティ350は、(第15回目の書き込み動作で書き込まれたセルを含む)全ブロック中のセルを、第15回目の書き込み動作の後に読み取り、エラー検出のためのスキャンをし得る。
実施形態によっては、ブロックのあるページ内のセルが書き込まれるたびに、アクティビティ350がブロックの各ページ内のセルを読み取り、エラー検出のためのスキャンをし得るように、選択値が選ばれ得る。例えば、選択値は1(例えば、W=1)に設定され得る。他の実施形態では、エラー検出のためのスキャンをするために、ブロックのページの数の少なくとも半分が書き込まれた後にのみ、アクティビティ350はブロックのページのセルを読み取り得るように選択値が選ばれ得る。例えば、選択値はブロックのページの半数(例えば、Pをブロックのページ数として、W=(1/2)P)に設定され得る。
アクティビティ350は、時間間隔毎に時間に基づくスキャニングを実行して、エラー検出のためのスキャンをし得る。時間に基づくスキャニングでは、アクティビティ350は、記憶されている情報を有するセルを読み取り、エラー検出のためのスキャンをし得る。例えば、もし設定値が30日(例えば、30日に対応する値に対応するT)であれば、すると30日ごとに、アクティビティ350は、記憶された情報を有するセルを読み取りエラー検出のためのスキャンをし得る。
アクティビティ350では上述のように、満足された一つ以上の条件に基づいて、エラー検出のためのスキャンをするために、情報がメモリデバイスのセルから読み出され得る。アクティビティ350によって得られたスキャンに基づいて訂正動作が実行され、情報の中のあらゆるエラーを訂正し得る。
実施形態によっては、アクティビティ350でエラー検出のためのスキャンをすることは、デバイスのメモリセルからの情報を読み出すこと、及び情報がセルから読み出されるときに、情報に付随するECCデータ(例えば、新しいチェックビット)を決定することを含み得る。そして、ECCデータ(例えば、新しいチェックビット)は、情報がメモリセルに書き込まれたときに、情報に付随していたECCデータ(例えば、古いチェックビット)と比較され得る。二つのECCデータ(例えば、古いチェックビットと新しいチェックビット)の間のミスマッチは、情報にエラーが生じていることを示し得る。
他の実施形態では、アクティビティ350でエラー検出のためのスキャンをすることは、情報にエラーが生じているかどうか、を決定するためにメモリデバイス中の専用ハードウェアにアクセスすることを含み得る。例えば、アクティビティ350でエラー検出のためのスキャンをすることは、参照セル内の情報を表す電圧レベル値が限界値内にとどまっているかどうかを決定するために、デバイスの参照セルにアクセスすることを含み得る。この例では、もし電圧レベル値が限界値の外にあれば(例えば、限界値を下回った又は限界値を超えた電圧レベル値)、情報中にエラーが生じ得る。実施形態によっては、参照セルは、図2のメモリアレイ102のセル104のようなメモリアレイのセルの一部であり得る。実施形態によっては、図1のメモリコントローラ103又はプロセッサ106のような、コントローラ又はプロセッサが(図1のエラー訂正ユニット134のようなエラー訂正ユニットの代わりに)、情報中にエラーが生じているかを決定するために、メモリデバイス中の専用ハードウェア(例えば、参照セル)にアクセスし得る。
アクティビティ360は、もしエラーが見つかればエラーを訂正し得る。例えば、アクティビティ360は、情報にエラーが存在するとき、ビットエラー量(生じ得る1以上のエラービット)を決定するために情報をチェックし得る。アクティビティ360は、次にビットエラー量がある選択値以上のときに、エラーを訂正し得る。図1のエラー訂正ユニット134のような訂正ユニットは、訂正を実行し得る。実施形態によっては、訂正ユニットは、ビットエラー量が少なくとも1であるときに、エラーを訂正し得る。よって、このような実施形態では、見つかったエラービットはどれも訂正され得る。他の実施形態では、訂正ユニットは、あるビット数がスキャンされる毎にビットエラー量がある値を超えたときのみ、エラーを訂正し得る。スキャンされるビット数はセクタ中のビット数であり得る。例えば、訂正ユニットは、あるビット数がスキャンされる毎にビットエラー量が3を超えたときのみエラーを訂正し得る。
アクティビティ370は、追跡情報をアップデートし得る。例えば、アクティビティ330で追跡された一つ以上の値は、アクティビティ350でエラー検出のためのスキャンが行われた後、初期値にリセットされ得る。例えば、あるブロックがエラー検出のためにスキャンされた後、そのブロック上で実行された読み取り動作の数は、初期値(例えば、ゼロ)にリセットされ得て、リセット後に、そのブロック上で実行される読み取り動作の数が選択値(例えば、値B)に少なくとも等しいときに、そのブロックに対してエラー検出のための別のスキャンが行われ得る。アクティビティ330によって追跡される別の値は、その別の値に基づいてエラー検出のためのスキャンが実行された後、リセットされ得る。アクティビティ370の後、方法300は、上述の他のアクティビティの一つ以上を繰り返し得る。例えば、方法300は、アクティビティ320から始めて、上述の他のアクティビティを繰り返し得る。
方法300の個々のアクティビティは、示された順番又はある特定の順番で行われる必要はなかろう。あるアクティビティが繰り返され得るし、他のものは一度しか生じないことがあり得る。様々な実施形態は、図3に示されているものより多い又は少ないアクティビティを有し得る。例えば、方法300が時間に基づくスキャニングを行うときには、方法300は、アクティビティ320、330、及び370の一つ以上を省略し得る。実施形態によっては、方法300は、上の図1から図2、並びに以下の図4及び図6を参照して記述されるアクティビティ又は動作を含み得る。
図4は、エラーレートと図2のメモリデバイス201の読み取り動作の数の間の関係を示すグラフである。図4において、X及びNはメモリデバイス201上で実行された読み取り動作のある特定の数を表し得る。図4のR1、R2、及びR3は、読み取り動作の数に関するエラーレートを表している。図4に示されているように、エラーレートは、読み取り動作の数がX以下のときは、R1からR2に向かって線形的に増加し得る。読み取り動作の数がXより大きいと、エラーレートはR2からR3に向かって指数関数的に増加し得る。よって、図4では、読み取り動作の数が少なくともXであるとき、エラーレートは比較的高い割合で増加する。従って、メモリデバイス201では、読み取り動作の数が少なくともXであるときにエラー検出のためのスキャンをすることは、読み取り動作の数がXより小さいときにエラー検出のためのスキャンをすることより経済的であり得て、それは読み取り動作の数がX以上であるときは、エラーを見付ける機会が著しく増加し得るからである。
実施形態によっては、図4中のXのような読み取り動作の数は、検査中に決定され得る。例えば、検査中に、数多くの読み取り動作がメモリデバイス201上で実行され得て、よって読み取り動作に対応するエラーレート(例えば、R1、R2、及びR3)が記録され得る。図4中のXのような、読み取り動作の数は、エラーレートが著しい変化を示し始める点で決定され得る。例えば、図4に示されているように、XはR2に対応する点で決定され得るが、それはR1、R2、及びR3を繋ぐ曲線は、R1とR2の間の傾きに対して、R2とR3の間の傾きにおいて著しい変化を示すからである。実施形態によっては、
読み取り動作の数Xは約1000である。実施形態によっては、読み取り動作の数は、約1000から約2000の範囲内にある。よって、実施形態によっては、メモリデバイス201のような、メモリデバイス中に記憶された情報の中のエラー検出のためのスキャンをすることは、読み取り動作の数(例えば、X)が少なくとも1000であるときに開始し得る。
図5は、本発明の実施形態に従うネットワーク500を示している。ネットワーク500は、接続563を介して互いに通信するシステム561及び562を含み得る。接続563は有線接続又は無線接続を含み得る。実施形態によっては、接続563はインターネット接続を含み得る。
システム561は、プロセッサ510、画像センサデバイス520、メモリデバイス525、メモリコントローラ530、グラフィックコントローラ540、回路モジュール545、入出力(I/O)コントローラ550、ディスプレイ552、キーボード554、ポインティングデバイス556、周辺デバイス558、及びシステム561のコンポーネント内で情報を転送するためのバス560を含み得る。システム561はまた、情報を無線で送信及び受信するためのアンテナ570を含み得る。システム561はまた、システム561の幾つかのコンポーネントがその上に配置され得る回路基板502を含み得る。実施形態によっては、システム561のコンポーネントの数は変わり得る。例えば、実施形態によっては、システム561は、ディスプレイ552、画像センサデバイス520、メモリデバイス525、及び回路モジュール545の一つ以上を省略し得る。システム561は、図1のシステム100の実施形態を含み得る。
プロセッサ510は、汎用プロセッサ、例えば、コンピュータ中に使用されるプロセッサを含み得る。プロセッサ510は、特定用途向け集積回路(ASIC)、例えば、携帯電話、又はデジタルカメラ若しくはカムコーダに用いられるプロセッサを含み得る。プロセッサ510は、シングルコアプロセッサ又はマルチコアプロセッサを含み得る。プロセッサ510は、一つ以上のプログラミングコマンドを実行し、情報を処理及び処理された情報を生成し得る。プロセッサ510によって処理される情報は、画像センサデバイス520又はメモリデバイス525によるものなど、システム561の他のコンポーネントによって提供されるデジタル出力情報を含み得る。
画像センサデバイス520は、相補型金属酸化物半導体(CMOS)画像センサであってCMOSピクセルアレイを有するもの、又は電荷結合デバイス(CCD)画像センサであってCCDピクセルアレイを有するものを含み得る。
メモリデバイス525は、揮発性メモリデバイス、不揮発性メモリデバイス、又はその両方の組み合わせを含み得る。例えば、メモリデバイス525は、動的ランダムアクセスメモリ(DRAM)デバイス、静的ランダムアクセスメモリ(SRAM)デバイス、NAND若しくはNORフラッシュメモリデバイスのようなフラッシュメモリデバイス、又はDRAM、SRAM、及びフラッシュメモリデバイスの組み合わせを含み得る。実施形態によっては、メモリデバイス525は、図1から図4を参照しながら上で記述されたメモリデバイス101又は201の一つ以上の実施形態を含み得る。
ディスプレイ552は、アナログディスプレイ、又はデジタルディスプレイを含み得る。ディスプレイ552は、液晶ディスプレイ(LCD)、又はプラズマディスプレイを含み得る。ディスプレイ552は、他のコンポーネントから情報を受け得る。例えば、ディスプレイ552は、画像センサデバイス520、メモリデバイス525、グラフィックコントローラ540及びプロセッサ510の一つ以上によって処理された情報を受け、テキスト及び画像を含む情報を表示し得る。
回路モジュール545は、車両の回路モジュールを含み得る。回路モジュール545は他のコンポーネントから情報を受け、車両の一つ以上のサブシステムを起動し得る。例えば、回路モジュール545は、画像センサデバイス520、メモリデバイス525、及びプロセッサ510の一つ以上によって処理された情報を受け、車両のエアバッグシステム、車両セキュリティアラーム、及び車両の障害物警報システムの一つ以上を起動し得る。
図500に示されているように、システム561は、マシン読み取り可能メディア571を含み得る。システム562は、マシン読み取り可能メディア572を含み得る。マシン読み取り可能メディア571及び572のそれぞれは、メモリ、例えば取り外し可能なストレージメディア、及び電気的、光学的、又は電磁気的伝導体を含むいかなるメモリを含み得る。
マシン読み取り可能メディア571及び572のそれぞれは、実行されると、結果として図1から図5に関連して本明細書中で記述された一つ以上のアクティビティを機械(例えば、システム561のコンポーネント)が実行することとなる付随情報(例えば、コンピュータ又はソフトウェアプログラム命令及び/又はデータ)を、その上に含み得る。
本開示の内容を読み、理解すると、当業者によっては、ソフトウェアプログラム中で定義された機能を実行するために、コンピュータに基づくシステム中のコンピュータ読み取り可能なメディアからソフトウェアプログラムがローンチされ得る方法を理解するだろう。当業者によってはさらに、本明細書中で記述されているアクティビティを含む方法を実装し、実行するように設計された一つ以上のソフトウェアプログラムを生成するのに様々なプログラミング言語が用いられ得ることを理解だろう。プログラムは、JavaまたはC++のようなオブジェクト指向言語を用いるオブジェクト指向フォーマットで構築され得る。あるいは、プログラムはアセンブリ又はCのような手続き型言語を用いる手続き指向フォーマットで構築され得る。ソフトウェアコンポーネントは、リモートプロシージャコールを含む、アプリケーションプログラムインターフェイス又はプロセス間通信技術のような、当業者にはよく知られている幾つかの仕組みのいずれかを用いて通信し得る。様々な実施形態の技法は、どの特定のプログラミング言語又は環境にも限定されない。
システム100、561、及び562並びにメモリデバイス201、及び525などの、本明細書中のシステム及び装置の実例は、様々な実施形態の構造の一般的な理解を与えるために意図されたもので、本明細書中で記述された構造を利用し得る装置及びシステムの要素及び特徴の全ての完全な記述としては意図されていない。
様々な実施形態の新規な装置、システム、及び方法は、高速コンピュータ中で用いられる電子回路、通信及び信号処理回路、シングル若しくはマルチプロセッサモジュール、シングル若しくはマルチ埋め込みプロセッサ、マルチコアプロセッサ、データスイッチ、並びに、マルチレイヤ、マルチチップモジュールを含む特定用途モジュールを含み、これらの中に含まれ、又はこれらの中で使用され得る。このような装置及びシステムはさらに、テレビ、携帯電話、パーソナルコンピュータ(例えば、ラップトップコンピュータ、デスクトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、他)、ワークステーション、ラジオ、ビデオプレーヤー、オーディオプレーヤー(例えば、MP3(ムービングピクチャエキスパートグループ、オーディオレイヤー3)プレーヤー)、車両、医療デバイス(例えば、心臓モニタ、血圧モニタ、他)、セットトップボックス、及びその他のような様々な電子システムの内部のサブコンポーネントとして含まれ得る。
上の記述及び図面は、当業者が本発明の実施形態を実施することが可能となるように、本発明のいくつかの実施形態を示している。他の実施形態は、構造的、論理的、電気的、プロセスの、及び他の変更を組み込み得る。図面では、類似の特徴又は類似の番号は、いくつかの図面を通じて、実質的に同様の特徴を記述している。例は単に、可能な変形を代表しているに過ぎない。いくつかの実施形態の一部及び特徴は、他のものに含まれ得るし、又は置き換わり得る。上記記載を読み、理解すれば、多くの他の実施形態は当業者には明らかであろう。従って、本発明の様々な実施形態の範囲は、添付のクレームに、それらのクレームが付与する均等物の全範囲を合わせたものによって決定される。
概要は読者が技術的開示の性質及び要旨を素早く確かめることが出来ることを要求する米国特許法施行規則(37C.F.R.)第1.72(b)条に従うように、本概要は書かれている。概要はクレームの範囲又は意味の解釈又は限定に用いられないという理解と共に提示されている。

Claims (30)

  1. スキャンをする条件が満足されたときにフラッシュメモリデバイス中に記憶されている情報の中のエラー検出のためのスキャンをすること
    を含み、
    前記スキャンをすることの条件は、前記メモリデバイスのセルへのアクセス数及び情報が前記メモリデバイスに記憶された後に経過した時間量の少なくとも一つに基づき、
    前記スキャンすることの条件は、前記メモリデバイスに行なわれる読み取り動作数が、前記読み取り動作のエラーレートの増加が線形増加から指数増加に変化する読み取り動作数になったとき、満たされ、
    前記スキャンをすることの条件は、前記フラッシュメモリデバイスに含まれる回路により設定される、方法。
  2. 前記読み取り動作数が選択値を超えるときに前記条件が満足される、請求項1の方法。
  3. 前記時間量が最小1日であるときに、前記スキャンをする条件が満足される、請求項1の方法。
  4. スキャンをすることが、
    前記メモリデバイスのセルから前記情報を読み出すこと、及び
    前記情報を読み出すときに前記情報に付随するエラー訂正コード(ECC)データを、前記情報が前記セルに書き込まれたときに前記情報に付随していたECCデータと比較すること、
    を含む請求項1の方法。
  5. スキャンをすることが、
    前記メモリデバイスの参照セルから参照情報を読み出すこと、及び
    前記参照情報の値が限界値に比べて変わっているかどうかを決定すること、
    を含む請求項1の方法。
  6. 前記メモリデバイス中に記憶されている情報の中のビットエラー量を決定すること、を含む請求項1の方法。
  7. 前記ビットエラー量が少なくとも1に等しいときに、前記情報の中の少なくとも一つのエラービットを訂正すること、を含む請求項6の方法。
  8. スキャンをすることが、前記メモリデバイスのセルの一部のみを読み出すこと、を含む、請求項1の方法。
  9. スキャンをすることが、前記メモリデバイスの全メモリアレイ中のセルを読み出すことを含む、請求項1の方法。
  10. スキャンをすることが、前記メモリデバイスのブロック中の第一のセルを読み出すことを含み、前記第一のセルを読み出すことが、前記ブロック中の第二のセルへの書き込みの後に実行される、請求項1の方法。
  11. メモリデバイスの複数個のブロックのブロック中の第一の位置のセルを読み出すこと、及び
    前記複数のブロックにおけるセルの読み取り数が、前記読み取り動作のエラーレートの増加が線形増加から指数増加に変化する読み取り動作数になったときに、第二の位置に記憶された情報の中のエラーを検出するために、前記ブロック中の前記第二の位置をスキャンすることであって、前記第二の位置はランダムに選択されること、
    を含む方法。
  12. 前記第二の位置をスキャンすることは、前記ブロック中の追加のセルを読み出すことを含む、請求項11の方法。
  13. 前記メモリデバイスの端子で受けた読み取りコマンドに応答して読み出すことが実行される、請求項11の方法。
  14. 前記第一の位置のアドレスは前記メモリデバイスの端子で与えられ、前記第二の位置のアドレスは、前記第一の位置のアドレス及びオフセット値の関数である、請求項11の方法。
  15. 前記オフセット値を得るためにストレージユニットにアクセスすることを含む、請求項14の方法。
  16. 情報を記憶するフラッシュメモリアレイを含むフラッシュメモリデバイスと、
    前記フラッシュメモリデバイスに含まれ、前記フラッシュメモリデバイスのメモリアレイ中に記憶された情報の中のエラー検出のためのスキャンをする少なくとも一つの条件を設定する回路であって、前記スキャンをする条件は前記メモリアレイに行なわれる読み取り動作数が、前記読み取り動作のエラーレートの増加が線形増加から指数増加に変化する読み取り動作数になったとき、満たされる回路と、
    前記条件が満足されたとき、前記情報の中のエラー検出のためのスキャンをするコンポーネントと、
    を含む装置。
  17. 前記コンポーネントは選択値を記憶するストレージユニットを含み、前記メモリアレイ上で実行された読み取り動作の数が前記選択値を超えるときに前記条件が満足される、請求項16の装置。
  18. 前記コンポーネントは前記読み取り動作の数をカウントするカウンタを含む、請求項17の装置。
  19. 前記コンポーネントは選択値を記憶するストレージユニットを含み、前記メモリアレイのブロック上で実行された読み取り動作の数が前記選択値を超えるときに前記条件が満足される、請求項16の装置。
  20. 前記コンポーネントはオフセット値を記憶するストレージユニットを含み、前記コンポーネントは、前記オフセット値に基づくアドレスを有する位置でエラー検出のためのスキャンをする、請求項16の装置。
  21. 前記コンポーネントはエラー検出のためのスキャンをする時間間隔を決定するためのタイムキーパを含む、請求項16の装置。
  22. 前記タイムキーパはリアルタイムクロックを含む、請求項21の装置。
  23. 情報を記憶するメモリアレイを含むメモリデバイスと、
    前記メモリアレイ上で実行された読み取り動作の数が、前記読み取り動作のエラーレートの増加が線形増加から指数増加に変化する読み取り動作数になったとき、前記情報の中のエラー検出のためのスキャンをするコンポーネントと、
    前記メモリデバイスに含まれ、前記スキャンをすることの条件を設定するための回路と、
    を含む装置。
  24. 前記コンポーネントは、前記メモリアレイ中の前記読み取り動作の数が約1000から約2000であるときに、エラー検出のためのスキャンをする、請求項23の装置。
  25. 前記メモリアレイは複数個のブロックを含み、前記コンポーネントは、前記複数個のブロックのあるブロック中の読み取り動作の数が選択値を超えたときにエラー検出のためのスキャンをする、請求項23の装置。
  26. 前記メモリデバイスは複数個のブロックを含み、前記コンポーネントは、前記複数個のブロック内の選択されたブロック中の第一の位置で、前記コンポーネントが前記選択されたブロックにおける第二の位置から情報を読み出すたびに、エラー検出のためのスキャンをする、請求項23の装置。
  27. 前記コンポーネントは、選択された時間間隔毎にエラー検出のためのスキャンをする、請求項26の装置。
  28. フラッシュメモリデバイスであって、前記フラッシュメモリデバイス中に記憶された情報中のエラー検出のためのスキャンをする条件を設定する回路、及び、前記条件が満足されるときに前記フラッシュメモリデバイス中に記憶された前記情報の中のエラー検出のためのスキャンをするコンポーネントを含み、前記スキャンをする条件は、前記メモリデバイスのセルへのアクセス数及び前記情報が前記メモリデバイスに記憶された後に経過した時間量の少なくとも一つに基づいて設定され、前記スキャンすることの条件は、前記メモリデバイスに行なわれる読み取り動作数が、前記読み取り動作のエラーレートの増加が線形増加から指数増加に変化する読み取り動作数になったとき、満たされる、フラッシュメモリデバイス、並びに
    前記フラッシュメモリデバイスに記憶される情報を処理するプロセッサ、
    を含むシステム。
  29. 前記フラッシュメモリデバイスに接続されるアンテナを含む、請求項28のシステム。
  30. 前記フラッシュメモリアレイに接続されるピクセルアレイを含む、請求項28のシステム。
JP2013216759A 2007-08-22 2013-10-17 フラッシュメモリ中のエラースキャニング Active JP5719902B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/843,466 2007-08-22
US11/843,466 US7770079B2 (en) 2007-08-22 2007-08-22 Error scanning in flash memory

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010521891A Division JP2010537314A (ja) 2007-08-22 2008-08-22 フラッシュメモリ中のエラースキャニング

Publications (2)

Publication Number Publication Date
JP2014041644A true JP2014041644A (ja) 2014-03-06
JP5719902B2 JP5719902B2 (ja) 2015-05-20

Family

ID=40076845

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010521891A Pending JP2010537314A (ja) 2007-08-22 2008-08-22 フラッシュメモリ中のエラースキャニング
JP2013216759A Active JP5719902B2 (ja) 2007-08-22 2013-10-17 フラッシュメモリ中のエラースキャニング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010521891A Pending JP2010537314A (ja) 2007-08-22 2008-08-22 フラッシュメモリ中のエラースキャニング

Country Status (7)

Country Link
US (4) US7770079B2 (ja)
EP (1) EP2198368B1 (ja)
JP (2) JP2010537314A (ja)
KR (2) KR101660049B1 (ja)
CN (1) CN101809541A (ja)
TW (1) TWI397078B (ja)
WO (1) WO2009025857A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007046350A1 (ja) * 2005-10-18 2007-04-26 Nec Corporation Mramの動作方法
US8510633B2 (en) * 2007-04-17 2013-08-13 Nec Corporation Semiconductor storage device and method of operating the same
US7770079B2 (en) * 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory
US8171332B2 (en) * 2009-05-12 2012-05-01 Himax Technologies Limited Integrated circuit with reduced electromagnetic interference induced by memory access and method for the same
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
US8775865B2 (en) 2009-06-24 2014-07-08 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated disturb data errors in an array of SMT MRAM memory cells including rewriting reference bits
US8456926B2 (en) * 2010-11-18 2013-06-04 Grandis, Inc. Memory write error correction circuit
CN101794622B (zh) * 2010-02-10 2012-12-12 华为数字技术(成都)有限公司 存储设备的数据扫描方法和装置
US8320185B2 (en) * 2010-03-31 2012-11-27 Micron Technology, Inc. Lifetime markers for memory devices
US8429391B2 (en) 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
US8451664B2 (en) 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
US8990538B2 (en) 2010-11-05 2015-03-24 Microsoft Corporation Managing memory with limited write cycles in heterogeneous memory systems
US8627176B2 (en) 2010-11-30 2014-01-07 Microsoft Corporation Systematic mitigation of memory errors
KR101826140B1 (ko) 2011-08-04 2018-03-22 삼성전자주식회사 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템
US9176800B2 (en) 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
US8862952B1 (en) * 2012-03-16 2014-10-14 Western Digital Technologies, Inc. Prioritized memory scanning for data storage systems
US9032271B2 (en) * 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
US8869009B2 (en) * 2013-02-11 2014-10-21 Apple Inc. Read commands specifying error performance
FR3003051B1 (fr) * 2013-03-08 2016-07-29 Peugeot Citroen Automobiles Sa Methode de verification de l'integrite des donnees d'un calculateur embarque
US9367391B2 (en) 2013-03-15 2016-06-14 Micron Technology, Inc. Error correction operations in a memory device
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
KR102182368B1 (ko) * 2013-12-19 2020-11-24 에스케이하이닉스 주식회사 어드레스 검출회로 및 이를 포함하는 메모리
US9558107B2 (en) 2013-12-24 2017-01-31 International Business Machines Corporation Extending useful life of a non-volatile memory by health grading
JP2015148859A (ja) * 2014-02-05 2015-08-20 コニカミノルタ株式会社 情報処理装置及び起動制御プログラム並びに起動制御方法
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
KR102264757B1 (ko) 2014-11-11 2021-06-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
JP6515752B2 (ja) 2015-09-07 2019-05-22 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム
US10241856B2 (en) * 2016-09-09 2019-03-26 Oracle International Corporation Memory quarantine
US10545810B2 (en) * 2016-12-22 2020-01-28 Western Digital Technologies, Inc. Method and apparatus for monitoring non-volatile memory read errors using background media scan
KR102347184B1 (ko) 2017-05-23 2022-01-04 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10366770B1 (en) * 2018-02-28 2019-07-30 Toshiba Memory Corporation Bit error rate estimation for NAND flash memory
KR102499061B1 (ko) 2018-08-22 2023-02-13 삼성전자주식회사 상 변화 메모리 장치를 포함하는 반도체 메모리 장치 및 상 변화 메모리 장치를 액세스하는 방법
GB2577120B (en) 2018-09-14 2022-06-01 Siemens Ind Software Inc Error detection within an integrated circuit chip
US11061754B2 (en) * 2019-08-06 2021-07-13 Alteryx, Inc. Error handling during asynchronous processing of sequential data blocks
CN112002369A (zh) * 2020-07-13 2020-11-27 珠海妙存科技有限公司 提升闪存数据安全性的扫描方法
US20240054070A1 (en) * 2020-12-23 2024-02-15 Micron Technology, Inc A dynamic read disturb management algorithm for flash-based memory
US11923022B2 (en) 2021-10-27 2024-03-05 SK Hynix Inc. Storage device and operating method for controller
US12014087B2 (en) 2022-07-20 2024-06-18 Silicon Motion, Inc. Method and apparatus for performing data management of memory device with aid of targeted protection control
US12481567B2 (en) 2023-02-28 2025-11-25 Oracle International Corporation System and method of providing system availability by preventing software crash due to recovery failure

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (ja) * 1995-04-05 1996-10-22 Toshiba Corp 不揮発性半導体記憶部を含む記憶システム
JP2002318729A (ja) * 2001-04-19 2002-10-31 Sharp Corp ファイルシステムおよびその制御方法
JP2003007093A (ja) * 2001-06-20 2003-01-10 Matsushita Electric Ind Co Ltd 半導体記憶装置の検査方法
JP2003051196A (ja) * 2001-05-31 2003-02-21 Semiconductor Energy Lab Co Ltd 不揮発性メモリ及びその駆動方法
WO2007010829A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法
JP2007507804A (ja) * 2003-10-03 2007-03-29 サンディスク コーポレイション フラッシュメモリのデータ修正およびスクラブ技術

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
JPH06131895A (ja) * 1992-10-14 1994-05-13 Toshiba Corp 半導体メモリチップ
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JP2577120Y2 (ja) * 1993-04-15 1998-07-23 株式会社アドバンテスト 過剰パルス印加の禁止回路
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
JPH09237162A (ja) * 1996-02-23 1997-09-09 Hewlett Packard Co <Hp> 走査型データ記憶システム、及びその針摩耗管理方法、媒体摩耗管理方法、並びに残存寿命表示装置
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
JP2000045858A (ja) * 1998-07-28 2000-02-15 Denso Corp 電子制御装置及び不揮発性メモリの書換回数記憶方法
JP3242890B2 (ja) * 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
US7139196B2 (en) 1999-01-14 2006-11-21 Silicon Storage Technology, Inc. Sub-volt sensing for digital multilevel flash memory
JP3975245B2 (ja) * 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
JP4122750B2 (ja) * 2001-10-24 2008-07-23 沖電気工業株式会社 半導体記憶装置および半導体記憶装置のデータ書き込み方法
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
JP4135680B2 (ja) * 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
US7290185B2 (en) * 2005-04-28 2007-10-30 International Business Machines Corporation Methods and apparatus for reducing memory errors
US7747907B2 (en) * 2005-09-20 2010-06-29 Seagate Technology Llc Preventive recovery from adjacent track interference
US20070089032A1 (en) * 2005-09-30 2007-04-19 Intel Corporation Memory system anti-aliasing scheme
JP2007193865A (ja) * 2006-01-17 2007-08-02 Toshiba Corp 情報記録装置及びその制御方法
WO2007083449A1 (ja) * 2006-01-20 2007-07-26 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、不揮発性記憶システム、及び不揮発性記憶装置の不良管理方法
US7707481B2 (en) * 2006-05-16 2010-04-27 Pitney Bowes Inc. System and method for efficient uncorrectable error detection in flash memory
JP4908083B2 (ja) * 2006-06-30 2012-04-04 株式会社東芝 メモリコントローラ
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7356442B1 (en) * 2006-10-05 2008-04-08 International Business Machines Corporation End of life prediction of flash memory
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US7770079B2 (en) 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (ja) * 1995-04-05 1996-10-22 Toshiba Corp 不揮発性半導体記憶部を含む記憶システム
JP2002318729A (ja) * 2001-04-19 2002-10-31 Sharp Corp ファイルシステムおよびその制御方法
JP2003051196A (ja) * 2001-05-31 2003-02-21 Semiconductor Energy Lab Co Ltd 不揮発性メモリ及びその駆動方法
JP2003007093A (ja) * 2001-06-20 2003-01-10 Matsushita Electric Ind Co Ltd 半導体記憶装置の検査方法
JP2007507804A (ja) * 2003-10-03 2007-03-29 サンディスク コーポレイション フラッシュメモリのデータ修正およびスクラブ技術
WO2007010829A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法

Also Published As

Publication number Publication date
US20100313077A1 (en) 2010-12-09
EP2198368A1 (en) 2010-06-23
US8356216B2 (en) 2013-01-15
CN101809541A (zh) 2010-08-18
KR20160065222A (ko) 2016-06-08
JP2010537314A (ja) 2010-12-02
US20120110399A1 (en) 2012-05-03
KR101660049B1 (ko) 2016-09-26
US8713385B2 (en) 2014-04-29
US20130132805A1 (en) 2013-05-23
US8095835B2 (en) 2012-01-10
KR20100046265A (ko) 2010-05-06
US7770079B2 (en) 2010-08-03
WO2009025857A1 (en) 2009-02-26
JP5719902B2 (ja) 2015-05-20
TWI397078B (zh) 2013-05-21
TW200917263A (en) 2009-04-16
US20090055697A1 (en) 2009-02-26
EP2198368B1 (en) 2018-11-14

Similar Documents

Publication Publication Date Title
JP5719902B2 (ja) フラッシュメモリ中のエラースキャニング
US12118216B2 (en) Recycled version number values in flash memory
US8549328B2 (en) Memory controller, memory system including the same, and method for operating the same
US20080126776A1 (en) Electronic apparatus
US8503236B2 (en) Nonvolatile memory device, methods of programming the nonvolatile memory device and memory system including the nonvolatile memory device
US20100238705A1 (en) Nonvolatile memory device and method system including the same
US10614885B2 (en) Microcontroller, memory system having the same, and method for operating the same
US8295084B2 (en) Nonvolatile memory device and related programming method
US20150113213A1 (en) Resistive memory device, operating method thereof, and system having the same
US8018778B2 (en) Memory read methods, apparatus, and systems
US20140189218A1 (en) Method of programming data into nonvolatile memory and method of reading data from nonvolatile memory
US8310869B2 (en) Nonvolatile memory device, system, and programming method
US20100306631A1 (en) Memory controller and memory system including the same
US8914572B2 (en) Memory controllers and memory systems including the same
US8531879B2 (en) Semiconductor memory device and an operating method thereof
JP2006113791A (ja) 記憶装置、データ処理システムおよび記憶制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140919

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140919

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141024

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150128

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150128

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150323

R150 Certificate of patent or registration of utility model

Ref document number: 5719902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250