JP2016522513A - オンデマンドブロック管理 - Google Patents

オンデマンドブロック管理 Download PDF

Info

Publication number
JP2016522513A
JP2016522513A JP2016520213A JP2016520213A JP2016522513A JP 2016522513 A JP2016522513 A JP 2016522513A JP 2016520213 A JP2016520213 A JP 2016520213A JP 2016520213 A JP2016520213 A JP 2016520213A JP 2016522513 A JP2016522513 A JP 2016522513A
Authority
JP
Japan
Prior art keywords
housekeeping
host
memory
block
wear leveling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016520213A
Other languages
English (en)
Inventor
イ チェン
イ チェン
幸康 村上
幸康 村上
Original Assignee
マイクロン テクノロジー, インク.
マイクロン テクノロジー, インク.
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 マイクロン テクノロジー, インク., マイクロン テクノロジー, インク. filed Critical マイクロン テクノロジー, インク.
Publication of JP2016522513A publication Critical patent/JP2016522513A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/0617Improving the reliability of storage systems in relation to availability
    • 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/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; 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

組込みシステムに対する方法およびメモリ、およびマネージメモリを有するシステムが提供される。このような一方法においては、マネージメモリは、ハウスキーピング動作がいつ指示されたかを判定し、その情報をホストに伝送し、ホストは、リアルタイムシステム動作に悪影響を与えないように、ホストによって判定された時刻にハウスキーピング動作を開始する。【選択図】図1

Description

本実施形態は、概してメモリデバイスに関し、特定の実施形態は、組込み(内蔵)メモリデバイスにおけるブロック管理に関する。
メモリデバイス(本明細書においてときには“メモリ”と称される)は、コンピュータまたは他の電子システムにおいて内部、半導体集積回路として典型的に提供される。ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)およびフラッシュメモリを含む種々の多くの種類のメモリが存在する。
フラッシュメモリデバイスは、広範囲の電子的用途のための、不揮発性メモリの普及源へと発達してきた。フラッシュメモリデバイスは、高いメモリ密度、高い信頼性、低電力消費を可能とする1トランジスタメモリセルを典型的に使用する。浮遊ゲートまたはトラップ層または他の物理現象などの電荷蓄積構造のプログラミングを介する、セルの閾値電圧の変化は、各セルのデータ状態を決定する。フラッシュメモリデバイスを使用する一般的電子システムは、パーソナルコンピュータ、パーソナルデジタルアシスタント(PDA)、デジタルカメラ、デジタルメディアプレイヤー、デジタルレコーダ、ゲーム、家電製品、自動車、無線デバイス、携帯電話、アミューズメントゲーム機、自動車情報およびエンターテイメントシステムおよびリムーバブルメモリモジュールを含むが、そのいずれにも限定はされず、フラッシュメモリの用途は拡大し続けている。
フラッシュメモリは、NORフラッシュおよびNANDフラッシュとして知られる二つの基本的アーキテクチャのうちの一つを典型的に使用する。この呼称は、デバイスを読み出すために使用される論理に由来する。NORフラッシュアーキテクチャにおいては、メモリセルのストリングは、データ線に結合される各メモリセルと並列に結合され、デジット(例えば、ビット)線と典型的に称される。NANDフラッシュアーキテクチャにおいては、メモリセルのストリングは、ビット線に結合されたストリングの第一のメモリセルのみと直列に結合される。
電子システムの性能および複雑性が増すにつれて、システムにおいてメモリを追加する必要性もまた増している。しかしながら、システムのコストを低減し続けるために、部品数は、最小限に維持しなければならない。これは、マルチレベルセル(MLC)としてこのような技術を使用することによって集積回路のメモリ密度を増加させることにより達成することができる。例えば、MLC NANDフラッシュメモリは、非常に費用対効果の高い不揮発性メモリである。
組込みマルチメディアカード(eMMC)、ソリッドステートドライブ(SSD)またはコントローラを有する他のNANDベースデバイスなどのマネージ(managed、被管理)NANDデバイスは、最大レイテンシー(遅延)を定義することができない。その代わりに、レイテンシーは典型的レイテンシーとして示される。しかしながら、典型的レイテンシーは、このような組込みシステムにおいて実際のレイテンシーよりもかなり短い可能性がある。マネージシステムは、しばしば、リアルタイムベースで動作する。このように、メモリ動作のために実際のレイテンシー時間を知ることが望ましい。例えば、NANDは、信頼性およびデータ保持性能の向上のために、エラー訂正を保持し、読み出しディスターブの回避およびウェアレベリングのためのブロック移動などのハウスキーピング動作用アルゴリズムを使用する。これらのアルゴリズムは、コントローラおよび/またはファームウェア内で典型的に実装される。処理時間/保持期間のアルゴリズムは、それらが影響を及ぼされるたびに変化するので、実際のレイテンシーを決定するのは困難である。
通常、ハウスキーピング動作は、NANDコントローラによって自動的に制御される。このように、ブロック移動のタイミングおよび期間は、コントローラによって決定される。これは、典型的にはコントローラハードウェア自体および/またはそのファームウェアに実装される。ブロック移動のレイテンシーは、NANDの典型的レイテンシーよりも数百または数千倍長くなる可能性がある。これが、今度は、マネージメモリが組込まれるシステムのリアルタイム動作に悪影響を与える可能性がある。
上述された理由および本明細書を読解して理解することで当業者に対して明らかになるであろう他の理由のために、組込みメモリにおけるハウスキーピング動作を改善するニーズが本技術分野には存在する。
本開示の一実施形態による方法のフローチャート図である。 本開示の別の実施形態による方法のフローチャート図である。 本開示のさらに別の実施形態による方法のフローチャート図である。 本開示の一実施形態によるサイクルカウントハウスキーピング方法のフローチャート図である。 本開示の一実施形態による読み出しカウントハウスキーピング方法のフローチャート図である。 本開示の一実施形態によるエラー訂正閾値ハウスキーピング方法のフローチャート図である。 本開示の一実施形態におる組込みメモリデバイスを有する電子システムのブロック図である。
以下の詳細な説明においては、本明細書の一部を形成する添付の図面に対して参照がなされ、例示として特定の実施形態が示される。図面においては、類似の参照番号は、幾つかの図面を通して実質的に類似の構成要素を記述する。他の実施形態が使用されてもよく、構造的、論理的および電気的変更が本開示の範囲から逸脱することなく行われてもよい。したがって、以下の詳細な説明は、限定する意味で解釈されるべきではない。
典型的なマネージNANDにおいては、動作における信頼性を達成するために、マネージNANDデバイスのコントローラは通常NANDを監視し、ハウスキーピングが指示されるときブロックを移動することによって、ウェアレベリング、ECC閾値ベースリフレッシュなどのハウスキーピング動作を保持する。ブロックを適切に移動するために、典型的に使用される検出およびブロック移動という二つのステップがある。検出は、ブロック移動が指示されることを判定する。ブロック移動は、検出後の実際のブロック移動である。
本開示の実施形態は、メモリが組込まれるシステムに対するホストによって、マネージメモリにおけるハウスキーピング機能の動作を提供する。これは、メモリ内のハウスキーピング動作によって悪影響を受けないように、システムの動作のリアルタイム特性を可能とする。ハウスキーピング指示の検出は、NANDによってなお実施されるが、ハウスキーピング動作の開始は、システムのホストによって制御される。
マネージメモリを有するシステムを動作する方法100の一実施形態が図1に示される。方法100は、一実施形態においては、ブロック102において、マネージメモリに対していつハウスキーピング動作が指示されるかを判定すること、ブロック104において、ハウスキーピング動作が指示されることをシステムのホストに報告することを含む。ハウスキーピング動作が指示されると、その指示がホストに対して報告され、ホストは、ホストの裁量でハウスキーピング動作を開始する。一実施形態においては、マネージメモリがリアルタイム動作でビジーではないときに、ホストがハウスキーピング動作を開始する。例えば、ハウスキーピングは、システムの状態に基づいて開始されてもよい。このような状態は、ハウスキーピングが指示されるとき、ピンなどの物理的接続を介して、または、メモリによって設定される一つ以上のフラグビットなどのソフトウェアを介して、ホストに対してマネージメモリによって報告されてもよい。
ハウスキーピングは、例えば、システムの電源オフまたは電源オンなど、システムのリアルタイム動作に悪影響を与えることなくハウスキーピングが続行することができることをホストが判定するような時刻に開始される。システムが電源オフされるとき、ハウスキーピング動作はホストによって開始されてもよい。このようなハウスキーピング動作は、システムが電源オフする前に、特定の時間量または特定数のブロック移動に割り当てられてもよい。電源オフ前にハウスキーピング動作の全量が完了しない場合、一実施形態においては、実施されるべき残りのハウスキーピング動作の指示は、不揮発性記憶装置内に保存される。これらの動作は、例えば、システムの次の電源オン時、またはシステムの他のアイドル時間に、ホストによって決定されるように完了されてもよい。
時には、ハウスキーピングは、非常に長時間、数秒以上かかることがある。このような時間に、ホストは、ハウスキーピングが休止される前に、総実行時間を制限するか、または一または二ブロックのみをスワップするなど物理的に制限することがある。何れのスワップまたはハウスキーピングタスクが必要なものとして指示されたが、電源オフ/シャットオフ時にまだ実施されていないかの情報が保存される。即ち、ブロック/ハウスキーピングの現在の状態は、NANDに保存される。次の電源オン時に、コントローラは、NANDのハウスキーピングが完了し続けるように、記憶された以前の状態を読み出すことができる。
マネージメモリを有するシステムが動作する別の方法200の一実施形態が図2においてフローチャート形式で示される。一実施形態において、本方法200は、ブロック202においてハウスキーピング動作がマネージメモリに対していつ指示されるかを判定することと、ブロック204において、マネージメモリがビジーではないときにハウスキーピング動作をホストによって開始することと、を含む。一実施形態においては、ハウスキーピングは、システムの状態に基づいて開始される。
動作においては、ブロックをスワップするべきことを指示するために、特定のハードウェアまたはソフトウェアインターフェイスが使用される。これは、デバイス上の特定のピンアウトまたは、レジスタ内に設定されたフラグとして行うことができる。ハードウェアインターフェイスにおいては、物理ピン上の電圧レベルが変化し、それによってウェアレベリングハウスキーピングが必要とされることをホストに指示する。ソフトウェアインターフェイスにおいて、ハウスキーピングが必要であることを指示するために、デバイスに対する状態報告に一以上のビットが追加されてもよい。例えば、状態報告がマネージNANDからホストに対して提供されるのと同時に、マネージNANDは、ハウスキーピングの状態とともにコマンドの状態を返す。これによって、幾つかのハウスキーピングが必要とされることをホストに伝える。ホストは、この問題を理解し、システムの状態に従って、ハウスキーピングをスケジュールすることができる。
当業者に明らかになるハードウェアまたはソフトウェア指示の可能性のある実装が多数存在する。
スワップが必要なブロックが存在することをホストが理解すると、ホストは、例えば、必要とされる特定のハウスキーピングを実行するために、物理ピンを介して、または、デバイスに対するソフトウェア内のコマンドを介して、デバイスにハードウェアまたはソフトウェアコマンドを送信することができる。その後、コントローラはハウスキーピングを開始する。
システム内の組込みメモリを動作する方法の一実施形態300は、図3内のフローチャート図に示される。方法300は、一実施形態においては、ブロック302において、いつメモリ内のハウスキーピングが指示されるかを組込みメモリによって検出することと、ブロック304においてハウスキーピングが指示されたことをシステムのホストに報告することと、ブロック306においてシステムの状態に基づいて、ハウスキーピングをホストが開始することと、を含む。ホストは、一つ以上の実施形態において、例えば、システムの状態が電源オンである、またはシステムの状態が電源オフである、またはシステムの他のタスクが動作しているが組込みメモリシステムがアイドルであるときなど、システムの状態が、システムが組込みメモリデバイスを使用していないようなときに、ホストがハウスキーピングを開始する。
上述されたように、ハウスキーピングが指示されたことをホストに報告することは、幾つかの実施形態においては、組込みメモリのピン上に信号で指示することによって、または、組込みメモリのレジスタ内に一以上のフラグビットを設定することによって実施されてもよい。システムが電源オフし、全てのハウスキーピングタスクがシャットダウン前に実施されないとき、ハウスキーピングが完了していないことの指示は、残りのハウスキーピングがシステムの次の電源オン時など、その後に実施され得るように、ハウスキーピングがまた実施されていないことについての情報とともに記憶される。
いつメモリ内のハウスキーピングが指示されるかをブロック302において検出することは、種々の実施形態において、メモリ内のサイクルカウント、読み出しカウント、またはエラー訂正閾値など、このようなハウスキーピングタスクを検出することである。
図4、図5および図6は、ハウスキーピングタスクサイクルカウント、読み出しカウントおよびエラー訂正閾値の各々に対するシステムの動作を図示する。追加のハウスキーピング動作が検出され、追加のハウスキーピングは本開示の範囲から逸脱することなく実施されてもよいことを理解されたい。
サイクルカウントハウスキーピングはカウントベースウェアレベリングを典型的に含む。NAND自体においては、各物理的ブロックに対してプログラムおよび消去サイクルが制限される。各物理空間が論理空間に割り当てられると、論理空間における大きいサイクルカウントは、その論理空間に対応する物理空間の大きいサイクルカウントに対応する。コントローラが他の物理空間よりもかなり高いサイクルカウントを有する物理空間(例えばブロック)を検出すると、または物理ブロックが非常に頻繁に最近使用されたことを検出すると、特定の論理空間に割り当てられた物理空間のスワップが指示されてもよい。その後、物理ブロックスワップが実施され、メモリ内の異なる物理空間に論理空間を割り当てる。この種のブロックスワップが知られている。しかしながら、上述されたように、従来、物理ブロックスワップが指示されると、メモリデバイスのコントローラは、スワップをいつ実行するかを判定する。しかしながら、本開示においては、判定を行うのは、スワップを開始するマネージメモリのホストである。
図4は、サイクルカウントに基づいてハウスキーピングを実施するための方法400を示す。一実施形態においては、検出することは、ブロック402において、メモリシステム内のサイクルカウントを検出することを含む。サイクルカウントに基づくハウスキーピングは、一実施形態においては、ウェアレベリングを含み、ブロック404において、カウントされたサイクルが特定の閾値を超える各物理ブロックにフラグを設定することと、ブロック406において、フラグが設定されたブロックにオンデマンドウェアレベリングを実施することと、ブロック4080において、ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、サイクルカウントに基づいたウェアレベリングが望まれ、電源オフ前にウェアレベリングが実施されていないブロックに対して、ブロック410において電源オフ前に不揮発性メモリにフラグ情報を書き込むことと、を含む。オンデマンドウェアレベリングは、例えば、システム状態に基づいて、ウェアレベリング用に適切であるとホストが判定する時刻に、システムのホストによって開始されるウェアレベリングである。上述されたように、システムの電源オフ時に、スワップしなかった、指示されたウェアレベリングを有するこれらのブロックが、その後のハウスキーピングのために記憶された指示を有する。システムの電源オン時に、一実施形態においては、システムが、フラグ情報がウェアレベリングが実施されていないことを指示するブロックに対してチェックし、ウェアレベリングが実施されていないことをフラグ情報が指示するブロックに対してシステムの電源オン中にウェアレベリングを実施し、ウェアレベリングを実施したブロックに対するフラグ情報を消去する。
読み出しカウントレべリングは、デバイスの基本的な物理的性質を考慮に入れる。NANDのページは、読み出しコマンドを介してアクセスされ、この読み出しコマンドは同一のブロック中の他のページに悪影響を与える(例えば、ディスターブする)。例えば、256ページのブロックにおいては、読み出しを介してブロック0にアクセスすることは、ページ1から255をディスターブする。どのページがアクセスされるかに関わらず、ブロック中のその他のページは、ディスターブされやすい。NANDプロバイダは、典型的には、ページレベル読み出し性能に対して仕様を提供する。しかしながら、この数は、ページ読み出しに対する限定ではない。その代わりに、ブロックの各ページは、仕様と同程度に多くの回数読み出されることがある。例えば、ページレベル読み出し性能が100,000に設定される場合、ブロック中の各ページが100,000回読み出されてもよい。一実施形態においては、これは、ブロックレベル効果として扱われる。なぜなら、各ページの読み出しがブロックの全ての他のページに悪影響を与えるからである。したがって、256ページおよび100,000ページレベル読み出し性能を有するブロックにおいては、ページ読み出しの総数は25,600,000である。一実施形態においては、これらのページ読み出しは、ブロック全体にわたって共有される。メモリの一ページのみがアクセスされる場合、2500万回アクセスされる。なぜなら、各ページ読み出しは、同一の方法で他の全てのページに悪影響を与えるからである。
図5は、読み出しカウントに基づいてハウスキーピングを実施するための方法500を示す。一実施形態においては、検出することは、ブロック502において、メモリシステム内のサイクルカウント、読み出しカウントおよびエラー訂正閾値のうちの少なくとも一つを検出することを含む。一実施形態においては、読み出しカウントに基づいたハウスキーピングは、ブロック504において、カウントされたページ読み出しが特定の閾値を超える各物理ブロックに対するフラグを設定することと、ブロック506において、フラグが設定されたブロックにオンデマンドウェアレべリングを実施することと、ブロック508において、ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、読み出しカウントに基づいたウェアレベリングが望まれ、電源オフ前にウェアレベリングが実施されないブロックに対して、ブロック510において、電源オフ前に不揮発性メモリにフラグ情報を書き込むことと、を含む。システムの電源オン時に、一実施形態においては、システムは、フラグ情報がウェアレベリングが実施されていないことを示すブロックに対してチェックし、ウェアレベリングが実施されていないことをフラグ情報が示すブロックに対して、システムの電源オン中にウェアレベリングを実施し、ウェアレベリングが実施されたブロックに対してフラグ情報を消去する。
一実施形態においては、ブロックに対して許可されたページ読み出しの総数よりも低い決定された閾値(例えば、25,600,000のうちのある割合)に基づいて、ブロックに対する読み出しカウント閾値の数に対する読み出しカウントが確立される。閾値が決定されると、各ブロックに対するページ読み出しのカウントが行われてもよい。一実施形態においては、其々のブロック用のランダムアクセスメモリ(RAM)スペース内に、各ブロックに対するページ読み出しの数が記憶される。このようなスペースは、一実施形態においては、25,600,000のうちのある割合である閾値に対して、4バイトのRAMスペースなど、閾値まで数え上げて記憶するのに十分なRAMスペース内であってもよい。このようなRAMスペースは、例えば、メモリ上のRAMであってもよいし、またはシステムに対して割り当てられたRAMスペースであってもよい。一実施形態においては、閾値は、ページ読み出しの最大値の約70%に設定される。異なる閾値が、本開示の範囲から逸脱することなく設定され得ることを理解されたい。ブロックに対して読み出しカウント閾値に到達するとき、ハウスキーピングが指示されたことをホストに知らせるために信号(上述されたハードウェアまたはソフトウェア)が送信される。読み出しカウントに基づいたウェアレベリングが実施されると、そのウェアレベリングが実施されたブロックに対するカウンタがゼロにリセットされる。
エラー訂正コード(ECC)閾値ベースリフレッシュは、エラーのある閾値がブロック内で検出されるときに指示される。エラーチェックは、パトロールスクラビングおよびデマンドスクラビングなどの様々な種類を含む。例えば、一実施形態においては、パトロールスクラビングスキームにおけるメモリコントローラは、メモリを計画的にスキャンしてビットエラーを検出する。エラーのあるビットは訂正することができる。或いは、システムがシステムの要求に従ってページの読み出しを試みると同時に、コントローラは、いくつのビットがコードワードに成り損なったかを識別し、ハウスキーピングが指示される。その後、ハウスキーピングが指示されたことがホストに報告される。上述されたように、ハードウェアまたはソフトウェア性能で実施され得るこれらの種類の報告に基づいて、ホストは、過度のフェイルビットが検出された一つ以上のコードワードが存在することを理解する。その後、ホストは、上述されたようにシステムのシステム状態に基づいてハウスキーピングを実行する。
図6は、読み出しカウントに基づいたハウスキーピングを実施するための方法600を示す。一実施形態においては、検出することは、ブロック602において、メモリシステム内のサイクルカウント、読み出しカウントおよびエラー訂正閾値のうちの少なくとも一つを検出することを含む。エラー訂正閾値に基づいたハウスキーピングは、一実施形態においては、ブロック604において、エラー訂正検出閾値を超えたメモリの各物理ブロックに対してフラグを設定することと、ブロック606において、フラグが設定されたブロックにオンデマンドウェアレベリングを実施することと、ブロック608において、ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、エラー訂正閾値検出に基づいたウェアレベリングが望まれ、電源オフ前にウェアレベリングが実施されないブロックに対して、ブロック610において、電源オフ前に不揮発性メモリにフラグ情報を書き込むことと、を含む。一実施形態においては、システムの電源オン時に、システムは、ウェアレベリングが実施されなかったことをフラグ情報が示すブロックをチェックし、ウェアレベリングが実施されなかったことをフラグ情報が示すブロックに対するウェアレベリングをシステムの電源オン中に実施し、ウェアレベリングが実施されたブロックに対してフラグ情報を消去する。
さらに、一実施形態においては、システムの電源オン時に、方法は、ウェアレベリングなどのハウスキーピングが実施されなかったことをフラグ情報が示すブロックをチェックすることと、ハウスキーピングが実施されなかったことをフラグ情報が示すブロックに対するハウスキーピングをシステムの電源オン中に実施することと、ハウスキーピングが実施されたブロックに対するフラグ情報を消去することと、をさらに含む。
図7は、本開示の種々の実施形態が実現できる、本開示の一実施形態による組込みメモリデバイス701の簡略化ブロック図である。メモリデバイス701は、行および列に配置されたメモリセルのアレイ704を含む。種々の実施形態は主にNANDメモリアレイを参照して記述されるが、種々の実施形態は、メモリアレイ704の特定のアーキテクチャに限定されることはない。本実施形態に対して好適な他のアレイアーキテクチャの幾つかの例は、NORアレイ、ANDアレイおよび仮想グラウンドアレイを含む。さらに、本明細書で記述される実施形態は、本開示の範囲から逸脱することなくSLCおよびMLCメモリとの使用を許容できる。また、本方法は、アナログフォーマットで読み出し/検知することができるメモリに対して適用可能である。カウンタ740および/またはレジスタ742は、一実施形態においては、上述されたように読み出しおよびサイクルカウントおよびエラー訂正閾値情報を追跡するために使用され、フラグ情報を記憶するために使用される。本開示の範囲から逸脱することなく、各ブロックに対して1つずつなど、複数のカウンタおよびレジスタが使用されてもよいことを理解されたい。
行デコード回路708および列デコード回路710は、メモリデバイス701に提供されるアドレス信号をデコードするために提供される。アドレス信号は、メモリアレイ704にアクセスするために、受信されてデコードされる。メモリデバイス701は、メモリデバイス701からのデータおよび状態情報の出力と同様に、メモリデバイス701に対するコマンド、アドレスおよびデータの入力を管理するための入力/出力(I/O)制御回路712も含む。アドレスレジスタ714は、デコード前にアドレス信号をラッチするために、I/O制御回路712、行デコード回路708および列デコード回路710の間に結合される。コマンドレジスタ724は、入力コマンドをラッチするために、I/O制御回路712と制御論理716(ホスト730の素子およびコードを含み得る)の間に結合される。一実施形態においては、制御論理716、I/O制御回路712および/またはファームウェアまたは他の回路は、個々に、組み合わせて、または他の素子と組み合わせて内部コントローラを形成することができる。しかしながら、本明細書で用いられるように、コントローラは、このようなコンポーネントのうちのいずれかまたはそのすべてを必ずしも含む必要はない。幾つかの実施形態においては、コントローラは、内部コントローラ(例えば、メモリアレイとして同一ダイ上に配置される)および/または外部コントローラを含むことができる。制御論理716は、コマンドに応じてメモリアレイ704に対するアクセスを制御し、一実施形態においては組込みシステムのホストであるホスト730などの外部ホストに対して、状態情報を作成する。制御論理716は、受信されたアドレス信号に応じて、行デコード回路708および列デコード回路710を制御するために、行デコード回路708および列デコード回路710に結合される。
状態レジスタ722は、外部コントローラへの出力用に状態情報をラッチするために、I/O制御回路712および制御論理716の間に結合される。
メモリデバイス701は、制御リンク732を介して制御論理716で制御信号を受信する。制御信号は、チップイネーブルCE#、コマンドラッチイネーブルCLE、アドレスラッチイネーブルALEおよび書き込みイネーブルWE#を含んでもよい。メモリデバイス701は、多重化入力/出力(I/O)バス734を介して外部コントローラから(コマンド信号の形式で)コマンド、(アドレス信号の形式で)アドレス、(データ信号の形式で)データを受信して、I/Oバス734を介して外部コントローラにデータを出力してもよい。I/Oバス734は、一実施形態においては、ハウスキーピングが指示されたことをホスト730に物理的に信号で知らせるためにも使用される。
具体例においては、コマンドは、I/O制御回路712におけるI/Oバス734の入力/出力(I/O)ピン[7:0]を介して受信されて、コマンドレジスタ724に書き込まれる。アドレスは、I/O制御回路712におけるバス734の入力/出力(I/O)ピン[7:0]を介して受信され、アドレスレジスタ714に書き込まれる。データは、I/O制御回路712における8個のパラレル信号を受信することが可能なデバイスに対する入力/出力(I/O)ピン[7:0]、または、16個のパラレル信号を受信することが可能なデバイスに対する入力/出力(I/O)ピン[15:0]、を介して受信され、センス回路(例えば、センス増幅器およびページバッファ718)に伝送される。データは、8個のパラレル信号を伝送可能なデバイスに対する入力/出力(I/O)ピン[7:0]または、16個のパラレル信号を伝送可能なデバイスに対する入力/出力(I/O)ピン[15:0]を介して出力されてもよい。さらなる回路および信号を提供することができ、図7のメモリデバイスは、本開示の実施形態に焦点を当てるために簡略化されていることを当業者には理解されたい。
さらには、図7のメモリデバイスは、種々の信号の受信および出力のために慣例に従って記述されてきたが、種々の実施形態は、記述された特定の信号およびI/O構成に限定されることはないことに留意されたい。例えば、コマンドおよびアドレス信号は、データ信号を受信するものから分離された入力で受信することができるか、または、データ信号はI/Oバス734の信号I/O線によってシリアルに伝送することができる。データ信号は個々のビットの代わりにビットパターンを表すため、8ビットデータ信号のシリアル通信は、個々のビットを表す8個の信号のパラレル通信と同程度に効率的である可能性がある。
プログラミングするための方法は、メモリデバイス701などのメモリに対する種々の実施形態において実施されてもよい。このような方法は、図1−図6を参照して本明細書に図示され記述される。
[結論]
要約すると、本開示の一つ以上の実施形態は、マネージメモリまたは組込みメモリ内のハウスキーピング動作の管理を示す。ハウスキーピング指示は、メモリデバイスによって作成され、システムのリアルタイム動作に悪影響を与えないように、適切であるとホストによって判定された時刻にホストによって開始される。
本明細書では特定の実施形態が図示され記述されてきたが、示された特定の実施形態に対して同一の目的を達成すると推定されるあらゆる配置が置換されてもよいことを当業者には理解されたい。本開示の多くの適用は、当業者に明らかであろう。したがって、本出願は、本開示のあらゆる適応または変形を包含するよう意図される。
図4は、サイクルカウントに基づいてハウスキーピングを実施するための方法400を示す。一実施形態においては、検出することは、ブロック402において、メモリシステム内のサイクルカウントを検出することを含む。サイクルカウントに基づくハウスキーピングは、一実施形態においては、ウェアレベリングを含み、ブロック404において、カウントされたサイクルが特定の閾値を超える各物理ブロックにフラグを設定することと、ブロック406において、フラグが設定されたブロックにオンデマンドウェアレベリングを実施することと、ブロック408において、ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、サイクルカウントに基づいたウェアレベリングが望まれ、電源オフ前にウェアレベリングが実施されていないブロックに対して、ブロック410において電源オフ前に不揮発性メモリにフラグ情報を書き込むことと、を含む。オンデマンドウェアレベリングは、例えば、システム状態に基づいて、ウェアレベリング用に適切であるとホストが判定する時刻に、システムのホストによって開始されるウェアレベリングである。上述されたように、システムの電源オフ時に、スワップしなかった、指示されたウェアレベリングを有するこれらのブロックが、その後のハウスキーピングのために記憶された指示を有する。システムの電源オン時に、一実施形態においては、システムが、フラグ情報がウェアレベリングが実施されていないことを指示するブロックに対してチェックし、ウェアレベリングが実施されていないことをフラグ情報が指示するブロックに対してシステムの電源オン中にウェアレベリングを実施し、ウェアレベリングを実施したブロックに対するフラグ情報を消去する。

Claims (42)

  1. マネージメモリを有するシステムの動作方法であって、
    前記マネージメモリに対してハウスキーピング動作がいつ指示されたかを判定することと、
    前記ハウスキーピング動作が指示されたことを前記システムのホストに報告することと、
    を含む、
    ことを特徴とする方法。
  2. 前記マネージメモリがビジーではないときに、前記ハウスキーピング動作を前記ホストが開始することをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記システムの状態に基づいて、前記ハウスキーピング動作を前記ホストが開始することをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  4. 前記ホストに報告することは、前記マネージメモリのピンにおける信号で報告することを含む、
    ことを特徴とする請求項1に記載の方法。
  5. 前記ホストに報告することは、前記組込みメモリのレジスタ内のフラグビットを設定することによって報告することを含む、
    ことを特徴とする請求項1に記載の方法。
  6. 前記システムがシャットダウンされるとき、ハウスキーピングが指示された指示を記憶することをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  7. 前記システムが電源オンする時に、前記記憶された指示によって指示されたハウスキーピングを実施することをさらに含む、
    ことを特徴とする請求項6に記載の方法。
  8. マネージメモリを有するシステムの動作方法であって、
    前記マネージメモリに対していつハウスキーピング動作が指示されたかを判定することと、
    前記マネージメモリがビジーではないときに、前記ハウスキーピング動作をホストによって開始することと、
    を含む、
    ことを特徴とする方法。
  9. ハウスキーピングは、前記システムの状態に基づいて開始される、
    ことを特徴とする請求項8に記載の方法。
  10. システム内の組込みメモリの動作方法であって、
    前記メモリ内のハウスキーピングがいつ指示されたかを、前記組込みメモリによって検出することと、
    ハウスキーピングが指示されたことを前記システムのホストに報告することと、
    前記システムの状態に基づいて、前記ハウスキーピングを前記ホストが開始することと、
    を含む、
    ことを特徴とする方法。
  11. 前記ホストは、前記システムの前記状態がアイドルであるときに前記ハウスキーピングを開始する、
    ことを特徴とする請求項10に記載の方法。
  12. 前記ホストは、前記システムの前記状態が電源オフであるときに前記ハウスキーピングを開始する、
    ことを特徴とする請求項10に記載の方法。
  13. 報告することは、前記組込みメモリのピンにおいて信号で指示することを含む、
    ことを特徴とする請求項10に記載の方法。
  14. 報告することは、前記組込みメモリのレジスタ内のフラグビットの設定で指示することを含む、
    ことを特徴とする請求項10に記載の方法。
  15. 前記システムがシャットダウンされるとき、ハウスキーピングが指示された指示を記憶することをさらに含む、
    ことを特徴とする請求項10に記載の方法。
  16. 前記システムが電源オン時に、前記記憶された指示によって指示されたハウスキーピングを実施することをさらに含む、
    ことを特徴とする請求項15に記載の方法。
  17. 検出することは、前記メモリシステム内のサイクルカウント、読み出しカウントおよびエラー訂正閾値のうちの少なくとも一つを検出することを含む、
    ことを特徴とする請求項10に記載の方法。
  18. サイクルカウントに基づくハウスキーピングは、ウェアレベリングを含み、
    カウントされたサイクルが特定の閾値を超える各ブロックにフラグを設定することと、
    フラグが設定されたブロックにオンデマンドウェアレベリングを実施することと、
    ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、
    を含む、
    ことを特徴とする請求項17に記載の方法。
  19. サイクルカウントに基づいたウェアレベリングが望まれ、電源オフ前にウェアレベリングが実施されない任意のブロックに対して、電源オフ前に不揮発性メモリにフラグ情報を書き込むことをさらに含む、
    ことを特徴とする請求項18に記載の方法。
  20. システムの電源オン時に、ウェアレベリングが実施されていないことをフラグ情報が示すブロックをチェックすることと、
    ウェアレベリングが実施されなかったことをフラグ情報が示すブロックに対して、前記システムの電源オン中にウェアレベリングを実施することと、
    ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、
    をさらに含む、
    ことを特徴とする請求項18に記載の方法。
  21. 読み出しカウントに基づいたハウスキーピングは、
    カウントされたページ読み出しが特定の閾値を超える各ブロックにフラグを設定することと、
    フラグが設定されたブロックにオンデマンドウェアレベリングを実施することと、
    ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、
    を含む、
    ことを特徴とする請求項17に記載の方法。
  22. 読み出しカウントに基づいたウェアレベリングが望まれ、電源オン前にウェアレベリングが実施されていない任意のブロックに対して、電源オフ前に不揮発性メモリにフラグ情報を書き込むことをさらに含む、
    ことを特徴とする請求項21に記載の方法。
  23. 前記システムの電源オン時に、ウェアレベリングが実施されなかったことをフラグ情報が示すブロックをチェックすることと、
    ウェアレベリングが実施されなかったことをフラグ情報が示すブロックに対して、前記システムの電源オン中にウェアレベリングを実施することと、
    ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、
    をさらに含む、
    ことを特徴とする請求項21に記載の方法。
  24. 各ブロック内のページ読み出しの読み出しカウントは、其々のブロックに対するランダムアクセスメモリ(RAM)スペース内に保持される、
    ことを特徴とする請求項21に記載の方法。
  25. 前記読み出しカウントは、4バイトRAMスペース内に保持される、
    ことを特徴とする請求項24に記載の方法。
  26. 前記特定の閾値は、前記ブロックの最大読み出し性能の約70%である、
    ことを特徴とする請求項21に記載の方法。
  27. 読み出しカウントに基づいたウェアレベリングが実施された各ブロックに対して、前記読み出しカウントをゼロにリセットすることをさらに含む、
    ことを特徴とする請求項24に記載の方法。
  28. エラー訂正閾値に基づいたハウスキーピングは、
    エラー訂正検出閾値を超えた前記メモリの各物理ブロックに対してフラグを設定することと、
    フラグが設定されたブロックにオンデマンドウェアレベリングを実施することと、
    ウェアレベリングが実施されたブロックに対してフラグ情報を消去することと、
    を含む、
    ことを特徴とする請求項17に記載の方法。
  29. エラー訂正閾値検出に基づいたウェアレベリングが望まれ、電源オフ前にウェアレベリングが実施されていない任意のブロックに対して、電源オフ前に不揮発性メモリに前記フラグ情報を書き込むことをさらに含む、
    ことを特徴とする請求項28に記載の方法。
  30. システム内の組込みメモリの動作方法であって、
    前記メモリ内のハウスキーピングに関する懸念によって、ブロック移動がいつ指示されたかを検出することと、
    リアルタイムシステム動作に悪影響を与えることなく、ブロック移動が達成され得ることをホストが判定するときに、前記システムの前記ホストによってブロック移動を誘発することと、
    を含む、
    ことを特徴とする方法。
  31. メモリセルのアレイおよびコントローラを含み、
    前記コントローラは、メモリセルの前記アレイの動作を制御するように構成され、前記コントローラは、前記マネージメモリに対してハウスキーピング動作がいつ指示されたかを判定し、前記ハウスキーピング動作が指示されたことを外部ホストに報告するようにさらに構成される、
    ことを特徴とするメモリデバイス。
  32. 前記コントローラは、前記外部ホストからの開始コマンドに応じて、前記ハウスキーピング動作を開始するようにさらに構成される、
    ことを特徴とする請求項31に記載のメモリデバイス。
  33. 前記メモリデバイスは、報告ピンをさらに含み、前記コントローラは、前記報告ピンにおける信号で前記ホストに報告するようにさらに構成される、
    ことを特徴とする請求項31に記載のメモリデバイス。
  34. 前記メモリデバイスは、前記メモリの各ブロックに対してフラグビットをさらに含み、前記フラグビットは、ハウスキーピングがいつ指示されたかを指示する指示をそのブロックに対して記憶し、前記コントローラは、ハウスキーピングが指示されたことをブロック内のフラグビットが指示するときに、前記ホストに報告するようにさらに構成される、
    ことを特徴とする請求項31に記載のメモリデバイス。
  35. ホスト制御信号を作成するように構成されたホストと、
    前記ホストに結合され、前記ホスト制御信号に応じて、動作するように構成された組込みメモリデバイスであって、前記組込みメモリに対するハウスキーピング動作がいつ指示されたかを判定するようにさらに構成され、前記マネージメモリがビジーではないときに前記ハウスキーピング動作を前記ホストが開始する、組込みメモリデバイスと、
    を含む、
    ことを特徴とするシステム。
  36. 前記ホストは、前記システムの状態に基づいて、前記ハウスキーピングを開始するように構成される、
    ことを特徴とする請求項35に記載のシステム。
  37. 前記ホストは、前記システムの前記状態がアイドルであるときに、前記ハウスキーピングを開始するように構成される、
    ことを特徴とする請求項35に記載のシステム。
  38. 前記ホストは、前記システムの前記状態が電源オフ時に、前記ハウスキーピングを開始するように構成される、
    ことを特徴とする請求項35に記載のシステム。
  39. 前記ホストは、前記システムがシャットダウンされ、ハウスキーピングが完了してないときに、ハウスキーピングが指示された指示を不揮発性メモリに記憶するようにさらに構成される、
    ことを特徴とする請求項35に記載のシステム。
  40. 前記ホストは、前記システムが電源オンしたときに、前記記憶された指示によって指示されたハウスキーピングを開始するようにさらに構成される、
    ことを特徴とする請求項39に記載のシステム。
  41. メモリセルのアレイと、
    ホストからのコマンドを受け入れるように構成されたコントローラであって、前記マネージメモリデバイスに対していつハウスキーピング動作が指示されたかを判定し、前記ハウスキーピング動作が指示されたことを前記ホストに報告する、コントローラと、
    を含む、
    ことを特徴とするマネージメモリデバイス。
  42. ハウスキーピング動作が指示されるときにフラグを設定し、前記ホストからのコマンドの受信でハウスキーピングを開始するように前記コントローラが構成される、
    ことを特徴とする請求項41に記載のマネージメモリデバイス。
JP2016520213A 2013-06-25 2013-06-25 オンデマンドブロック管理 Pending JP2016522513A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/000753 WO2014205600A1 (en) 2013-06-25 2013-06-25 On demand block management

Publications (1)

Publication Number Publication Date
JP2016522513A true JP2016522513A (ja) 2016-07-28

Family

ID=52140736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016520213A Pending JP2016522513A (ja) 2013-06-25 2013-06-25 オンデマンドブロック管理

Country Status (6)

Country Link
US (1) US20150363120A1 (ja)
EP (1) EP3014454A4 (ja)
JP (1) JP2016522513A (ja)
KR (1) KR20160024962A (ja)
CN (1) CN105683926A (ja)
WO (1) WO2014205600A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US10365835B2 (en) * 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10198195B1 (en) * 2017-08-04 2019-02-05 Micron Technology, Inc. Wear leveling
CN111125041A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 数据读取方法、电子设备和计算机程序产品
CN111078133B (zh) * 2019-10-18 2022-08-09 苏州浪潮智能科技有限公司 一种管理全闪存储阵列的空间的方法、设备及介质
WO2022126578A1 (en) * 2020-12-18 2022-06-23 Micron Technology, Inc. Dynamic interval for memory device to enter low power state
KR20220090794A (ko) 2020-12-23 2022-06-30 삼성전자주식회사 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 메모리 시스템 및 그것의 동작 방법
US11500578B2 (en) * 2021-04-19 2022-11-15 Micron Technology, Inc. Memory access threshold based memory management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529130A (ja) * 2005-01-20 2008-07-31 サンディスク コーポレイション フラッシュメモリシステムにおけるハウスキーピング操作のスケジューリング
JP2009037619A (ja) * 2007-08-03 2009-02-19 Samsung Electronics Co Ltd メモリシステム及びその読み出し方法
JP2009223876A (ja) * 2007-12-27 2009-10-01 Hagiwara Sys-Com:Kk メモリの管理方法
WO2011013351A1 (ja) * 2009-07-30 2011-02-03 パナソニック株式会社 アクセス装置およびメモリコントローラ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161724A1 (en) * 2005-01-20 2006-07-20 Bennett Alan D Scheduling of housekeeping operations in flash memory systems
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
WO2008147752A1 (en) * 2007-05-24 2008-12-04 Sandisk Corporation Managing housekeeping operations in flash memory
US9495116B2 (en) * 2007-12-26 2016-11-15 Sandisk Il Ltd. Storage device coordinator and a host device that includes the same
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US8296620B2 (en) * 2008-08-26 2012-10-23 Seagate Technology Llc Data devices including multiple error correction codes and methods of utilizing
CN101419842B (zh) * 2008-11-07 2012-04-04 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529130A (ja) * 2005-01-20 2008-07-31 サンディスク コーポレイション フラッシュメモリシステムにおけるハウスキーピング操作のスケジューリング
JP2009037619A (ja) * 2007-08-03 2009-02-19 Samsung Electronics Co Ltd メモリシステム及びその読み出し方法
JP2009223876A (ja) * 2007-12-27 2009-10-01 Hagiwara Sys-Com:Kk メモリの管理方法
WO2011013351A1 (ja) * 2009-07-30 2011-02-03 パナソニック株式会社 アクセス装置およびメモリコントローラ

Also Published As

Publication number Publication date
WO2014205600A1 (en) 2014-12-31
US20150363120A1 (en) 2015-12-17
KR20160024962A (ko) 2016-03-07
EP3014454A1 (en) 2016-05-04
EP3014454A4 (en) 2017-06-21
CN105683926A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
US10169143B2 (en) Preferred state encoding in non-volatile memories
US11775178B2 (en) Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery
JP2016522513A (ja) オンデマンドブロック管理
US9229851B2 (en) Memory controller, semiconductor memory device and control method thereof
US9665481B2 (en) Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit
KR102352738B1 (ko) 메모리로 에너지 정보를 제공하는 방법
US9324435B2 (en) Data transmitting method, memory control circuit unit and memory storage apparatus
US10628257B2 (en) Memory management method and storage controller
US9514819B2 (en) Programming method, memory storage device and memory controlling circuit unit
WO2020092098A1 (en) Read disturb scan consolidation
US9304900B2 (en) Data reading method, memory controller, and memory storage device
US10283196B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
CN112506438B (zh) 一种映射表管理方法及固态硬盘
US20130332653A1 (en) Memory management method, and memory controller and memory storage device using the same
WO2023034140A1 (en) Memory sub-system using partial superblocks
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
US9733832B2 (en) Buffer memory accessing method, memory controller and memory storage device
TWI646548B (zh) 用來於一記憶裝置中進行刷新管理之方法以及記憶裝置及其控制器
CN113867640A (zh) 存储器轮询方法、存储器存储装置及存储器控制电路单元
US10866887B2 (en) Memory management method, memory storage device and memory control circuit unit
US20170277436A1 (en) Memory management method, memory storage device and memory control circuit unit
KR20190047391A (ko) 블록 주소 없이 액세스되는 불휘발성 메모리 장치 및 그 동작 방법
CN112309470A (zh) 存储器装置及其操作方法
CN110659229B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170905