JP2007520842A - マルチブロック単位へのブロックの適応決定論的グループ化 - Google Patents

マルチブロック単位へのブロックの適応決定論的グループ化 Download PDF

Info

Publication number
JP2007520842A
JP2007520842A JP2006547154A JP2006547154A JP2007520842A JP 2007520842 A JP2007520842 A JP 2007520842A JP 2006547154 A JP2006547154 A JP 2006547154A JP 2006547154 A JP2006547154 A JP 2006547154A JP 2007520842 A JP2007520842 A JP 2007520842A
Authority
JP
Japan
Prior art keywords
linking
metablock
block
physical
memory
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
JP2006547154A
Other languages
English (en)
Other versions
JP2007520842A5 (ja
JP4960705B2 (ja
Inventor
ジェイ. ゴンザレス,カルロス
ディー. ブルース,アラン
エイ. ゴロベッツ,セルゲイ
ディー. ベネット,アラン
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.)
SanDisk Corp
Original Assignee
SanDisk Corp
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 SanDisk Corp filed Critical SanDisk Corp
Publication of JP2007520842A publication Critical patent/JP2007520842A/ja
Publication of JP2007520842A5 publication Critical patent/JP2007520842A5/ja
Application granted granted Critical
Publication of JP4960705B2 publication Critical patent/JP4960705B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Abstract

本発明は、不揮発性メモリの物理ブロックを、複合論理構造または「メタブロック」にリンクするための手法を提示する。メタブロックへの健全な物理ブロックの初期リンキングを決定した後、リンキングの記録が不揮発性メモリ中に保持され、その記録は、必要時に直ちにアクセスすることができる。実施形態の1つのセットにおいて、初期リンキングは、アルゴリズムに従って決定論的に形成され、メモリ中のいずれかの不良ブロックのパターンに従って最適化されうる。付加的な不良ブロックが発生すると、リンキングは、リンキング中の不良ブロックを健全なブロックで、好ましくは、置き換えられつつあるブロックと同じメモリのサブアレイ中の健全なブロックで置き換えることにより、更新される。

Description

本発明は、一般に、半導体不揮発性データ格納システムに関し、より具体的には、物理ブロックを、不揮発性データ格納システム中の欠陥に対応するより大きな論理構造に形成するためのシステムおよび方法に関する。
フラッシュメモリのような不揮発性メモリデバイスは一般に、大量データ格納サブシステムとして用いられている。このような不揮発性メモリデバイスは典型的に、ホストシステムに取り外し可能に接続される密封カード中にパッケージされ、ホストシステム内の取り外しできない組み込み形記憶装置としてパッケージされることもある。典型的な実装例において、サブシステムは、1つ以上のフラッシュデバイスと、しばしば1つのサブシステムコントローラとを含む。
現行の市販されているメモリカードのフォーマットとして、パーソナルコンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)、メモリスティック、およびメモリスティックプロがある。これらのカードの1つの供給業者が、本願の譲受人であるサンディスク コーポレーションである。このようなカードが共に用いられるホストシステムとして、デジタルカメラ、携帯電話、パーソナルコンピュータ、ノートブックコンピュータ、ハンドヘルド計算装置、音声再生装置などがある。
不揮発性メモリデバイス自体は、不揮発性記憶素子の1つ以上のアレイで構成されている。各記憶素子は、1ビット以上のデータを格納することができる。不揮発性メモリアレイの1つの重要な特徴は、電源がもはやメモリアレイに加えられない場合でさえも、不揮発性メモリアレイがその中でプログラムされたデータを保持することである。対照的に、揮発性メモリデバイスは、揮発性メモリアレイ中に含まれているデータを保存するために、アレイへの電源が周期的にリフレッシュされることを必要とする。不揮発性メモリの別の特徴は、不揮発性メモリアレイ内に含まれるセルがひとたびプログラムされると、そのセルは、新しいデータ値で再プログラムされる前に消去されなければならないことである。
メモリセル中に電荷を格納するための物理的手段は、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)のようなフローティングゲートトランジスタを用いて実施することができる。EEPROMなどのフローティングゲートデバイスに伴う1つの知られている問題は、フローティングゲートが最終的に損耗し、非常に多数回の書き込み、プログラミングおよび消去サイクルの後に故障することである。これが生じると、そのセルはもはや使用することができなくなり、アレイ中の利用可能なメモリセルのリストから取り除かれなければならない。この種類の欠陥は、「成長(grown)」欠陥と呼ばれる。1つの商業的に利用可能な実装例において、これらの欠陥は、欠陥セルをマップアウトし、新しく検出された欠陥メモリセルを健全なメモリセルの物理アドレスで置き換えることにより対処される。欠陥セルまたはセクタがマップアウトされて置き換えられる実装例は、1997年8月19日登録のメロートラらによる米国特許第5,659,550号(特許文献1)、1997年9月23日登録のハラリらによる米国特許第5,671,229号(特許文献2)、および1999年1月19日登録のハラリらによる米国特許第5,862,080号(特許文献3)に記載され、これらの特許は、その全体が本願明細書において参照により明確に援用されている。
不揮発性メモリセルのアレイは典型的に、読み出し機能、プログラミング機能、および消去機能の効率的な実施を提供するために、複数のグループに区分される。例えば、多くの不揮発性メモリの構成において、メモリセルは、消去単位と呼ばれるより大きなグループに配列される。この消去単位は、1度に消去可能な最小数のメモリセルである。
消去単位のサイズは、実施されているメモリ構成に依存する。以前の不揮発性メモリにおいて、消去単位は、標準の512バイトのディスクドライブセクタと同サイズのブロックであった。1つの商業的形態において、各ブロックは、ユーザデータの1つのセクタに加えてそのユーザデータおよび/またはそのユーザデータが格納されたブロックに関連したいくらかのオーバーヘッドデータを格納するために十分なセルを含んでいた。セルのブロックが個々に消去可能であることを保証するために、ブロックは互いに十分に隔離される必要があった。
この隔離が集積回路チップ上の貴重な空間を占有したため、消去単位がかなり大きくされ、このような隔離のために必要な空間がより少なくなる別のメモリ構成が開発された。この大きなブロックシステム構成の例は、2003年6月17日登録のコンレーらによる米国特許第6,580,638号(特許文献4)に記載され、この特許は、2002年7月30日登録の米国特許第6,426,893号(特許文献5)の継続出願である。これらの特許は両方とも、その全体が本願明細書において参照により明確に援用されている。大きなブロックシステムにおいて、消去単位は、ユーザデータの読み出しおよびプログラミングを行うための基本単位(プログラミングおよび/または読み出しの単位)である個別にアドレス可能なページにさらに区分されることがよくある。1つの商業的な実施において、消去単位はメタブロックである。メタブロックは、複数の物理的消去単位で構成される仮想消去単位である。これらの複数の物理的消去単位は、並行したプログラミング操作および消去操作において用いることができるが、単一の論理ブロックとしてアドレス指定される。
メタブロック、または「スーパー」ブロックを形成する1つの方法が、米国特許第6,034,897号(特許文献6)に記載され、この米国特許は、その全体が本願明細書において参照により援用されている。その中に記載されているように、いくつかのデバイスを有するメモリについて、デバイスの各々の中の同じ物理ブロックは、メタブロックにグループ化される。これは、メタブロックおよび同じアドレス、すなわち複数のデバイスのうちの最初のデバイスの中のブロックのアドレスによりアドレス指定される任意のメタブロック中のすべてのブロックの形成を考慮に入れているが、いくつかの制限がある。例えば、メタブロックへのブロックのリンキングがこの固定構成においてあらかじめ決定されているので、あるブロックがだめになると、そのブロックが属するメタブロックは、その中の他のブロックが依然として機能するにもかかわらず、だめになる。従って、必要になるたびに新しいリンキングを確立する操作上のオーバーヘッドのない適応することができるメタブロック配置のためのシステムおよび方法を提供することが望ましい目標である。
米国特許第5,659,550号 米国特許第5,671,229号 米国特許第5,862,080号 米国特許第6,580,638号 米国特許第6,426,893号 米国特許第6,034,897号 米国公開特許出願第2003/0065899号
本発明の様々な態様は、複合論理構造への物理メモリ構造のリンキングのための先行技術に見られるこれらの制限およびその他の制限を克服する。本発明の最初の実施形態には、フラッシュメモリにおけるメタブロック構造の形成のための手法が提示される。本発明の第1の態様によれば、メタブロックへのブロックのリンキングは、メモリの欠陥部分に対応するために更新される。欠陥マップを維持するためのシステムは、メタブロックに編成される不揮発性メモリシステム中の工場欠陥および成長欠陥の存在を追跡するための欠陥マップ構造を含む。欠陥マップを維持するための方法は、欠陥マップ構造およびメタブロックの特性を利用する。1つの実施形態において、欠陥マップ構造のサイズは、不揮発性メモリシステムの並列性と等しい。別の実施形態において、メタブロックに割り当てられない残りの消去単位は、後に使用するための予備消去単位のリスト中に保存される。
本発明の別の態様によれば、メタブロックへのブロックのリンキングの記録が、不揮発性メモリ中に保持される。次に、コントローラは、必要に応じてその揮発性メモリへのリンキングを読み出すことができる。記録は、欠陥に起因する再リンキングに応じて更新される。完全なリンキングの記録を不揮発性メモリ中、例えば、指定された位置に保持することができ、或いは部分的なリンキングの記録のみを保持することもできる。本発明の別の態様において、メタブロックへのブロックの初期リンキングは、例えば、ファームウェアに基づく実施を用いるアルゴリズムによって決定論的に形成される。この場合には、不揮発性メモリ中に格納されたリンキングの記録は、標準アルゴリズムからの逸脱を含みさえすればよい。
本発明の付加的な態様、特徴、および利点は、添付図面と共に読まれるべきである代表的な実施形態の以下の説明に含まれる。
一般に、本発明のメモリシステムは、その主不揮発性メモリ中に、マルチブロック・メタブロック構造へのブロックのリンキングの記録を保持する。この記録は、要求に応じて不揮発性メモリに読み込むことができるマップテーブルに工場欠陥および成長欠陥の欠陥マップを含んでいる。このマップは、成長欠陥が発生してブロックが新しい位置に割り当てられる際に更新される。メタブロックは好ましくは、いくつかのサブアレイ、すなわちプレーンの各々における1つのブロックにより形成され、この場合、グループ化は好ましくは、不良とマークされてマップ中に配置されるブロックを除いて、各プレーンにおける同じ番号のブロックで行われる。1つの実施形態において、ブロックは、ブロックを交互にするように直接的にマッピングされる。次に、欠陥ブロックを含みうるメタブロックは、対応するプレーン中の交互のブロックで再形成される。不揮発性メモリ内のメタブロックへのブロックのリンキングの完全な記録を保持するのではなく、「標準」リンキングが、例えば、システムのファームウェア中に埋め込まれたアルゴリズムに基づくことができ、欠陥によるこのアルゴリズムからの逸脱のみが格納される必要がある。欠陥がまったく存在しない標準メタブロックは、使用可能な標準メタブロックと呼ばれる。残りのメタブロックは、使用不能な標準メタブロックと呼ばれ、構成物理ブロックは予備ブロックと呼ばれる。
図1〜図3は、ホスト102、202、302、コントローラ104、204、304、および1つの不揮発性メモリアレイ、または複数のアレイ103、203、303を含む代表的な現行の不揮発性メモリシステムのブロック図である。図1において、不揮発性メモリアレイ103およびメモリコントローラ104は、ホストシステム102に取り外し可能に接続される密封カード中にパッケージされているものとして示されている。図2において、コントローラ204は、ホストシステム202の一部として示され、不揮発性メモリアレイ203は、ホストシステムに取り外し可能に接続される密封カード中にパッケージされているものとして示されている。図3において、不揮発性メモリアレイ303は、ホストシステム302内の取り外しできない組み込み形記憶装置としてパッケージされているものとして示されている。
一般的に、不揮発性メモリアレイは、記憶素子として1つ以上の導電性フローティングゲートを含む複数のメモリセルを含む。メモリアレイは、代わりに他の長期の電子電荷記憶素子、例えば電荷トラッピング誘電体を含みうる。不揮発性多状態記憶素子、フラッシュ/EEPROM/フローティングゲートである記憶素子、NROM、MNOS、MRAM/FRAM、NAND、NORなどの不揮発性記憶素子、および複数の消去単位に編成される不揮発性記憶素子を含む様々な不揮発性記憶素子を用いることができる。デジタル情報、アナログ情報、または両者の組み合わせを格納する不揮発性記憶素子を用いることができる。
メモリセルアレイは、1ビットのデータを各素子で格納するために各記憶素子について定義された2つの電荷レベルで操作されうる。代わりに、各記憶素子について2つを超える格納状態を定義でき、その場合、1ビットを超えるデータが各記憶素子中に格納される。
図4aは、1つのメモリチップが、消去単位のグループ(またはブロック)にどのようにフォーマットされうるかの例を例示し、これらのブロックは、物理プレーンおよび論理ゾーンに従って配置されている。チップをこのようにして分割することについてのいくつかの理由として、各グループ内の健全な消去単位の数を均等化することと、メモリチップの特殊目的のセクションを取っておくこととが含まれる。例えば、特別な「予約された」セクションを、システムパラメータおよびデバイスパラメータのような情報と、ゾーン整列についての情報を格納するために取っておくことができる。1つのセクションを、予備としても知られる予備消去単位、または予備ブロックを格納するために取っておくこともできる。予備に関連する情報、例えば、それらの物理アドレスは、必要時の検索用に予備リスト中に保管しておくことができる。例えば、N個のゾーンの1つに含まれる消去単位の1つに欠陥が検出された場合、利用可能な予備消去単位の1つに欠陥消去単位を再マップすることにより予備を見出すことができる。
ホストからのデータは一般に、論理セクタとして識別されるメモリシステムに単に提供される。例えば、ホストは、開始論理セクタおよびセクタ総数に関して記述されたデータを送信する。ホスト内部で、これらの論理セクタはより大きい単位に構造化されうるが、この情報は一般にメモリのコントローラには渡されない。(もっとも、これらのホスト構造の知識は、メモリまたはコントローラ構成体中に物理構造を持つために用いることができ、これらの構成体は、ホストがデータをどのように転送するかをこれらのホスト構造が反映するので、これらのホスト構造を反映する。例えば、メモリは一般に、論理セクタと同サイズの物理セクタに基づいてユーザデータを格納するために構造化される。)コントローラは、ホスト構造を、物理メモリ中のそれらのより効率的な格納のための物理構造を模倣する論理構成体に編成する。例えば、一般的な配置において、メモリシステムコントローラは、(ホストにより定義されるような)論理セクタを、フラッシュ形メモリのための物理的消去単位であるブロックの物理構造にサイズにおいて対応する論理ブロックにグループ化する。次に、コントローラは、論理構成体に対する物理構造の関係を、例えば、セクタアドレステーブル(SAT)の形で保持することができ、論理−物理の関係が変化する際にこの対応を更新する。
より高い効率のために、メモリシステムは、より大きい構造を導入することにより並列性を増大させることがよくある。例えば、書き込み、読み出し、またはその両方が並行して行える多数の半自律的なアレイを有するメモリシステムにおいて、異なるアレイからのブロックは、「メタブロック」構造にグループ化され、コントローラは、同時に操作される多重ブロックを考慮して、データの論理ブロックを対応する論理メタブロックに形成する。1つのメタブロックは、単一のメモリチップを有する複数のプレーンまたはいくつかのメモリチップを越えて分布された1つ以上のプレーンから形成することができる。このように、読み出し/プログラミング/消去が並列に行える複数の物理ブロック上に(論理的に)連続したセクタのグループを広がらせることにより、このグループは、最小回数の非並行な読み出し操作、プログラミング操作、または消去操作で、並行して読み出し/プログラミング/または消去されうる。この配置は、比較的大量のデータの論理的に隣接するセクタの連続的な読み出しおよび書き込みにとって有利である。
図5〜図10の構造を最初に論じ、次に各図により示される操作を個々に説明する。図5〜図10は、図1〜図3のメモリアレイの例として、4つのプレーン中の6つのブロック、総計24の消去単位の配置を示す。便宜上、ブロックは一種の消去単位なので、消去単位はブロックと呼ばれる。この6×4ブロック構造のサイズは、以下で明らかになるように、説明の便宜上選ばれている。典型的なメモリアレイは、ここに示されているよりもずっと多くのブロックを有する(ずっと多くの行を有する)し、不揮発性メモリシステムの並列性が4よりも大きければ、示されているよりも多くのプレーンを有する。
各プレーンは一般に、それ自体のデータレジスタおよびプログラミング回路を有している。これは、プレーンの各々のメモリセルのブロックへの同時プログラミングを考慮している。各プレーンは、他のプレーンから半独立的に操作可能である。例示の便宜上、図5〜図10に描かれたプレーンは、6つの物理ブロック0〜5を有するように示されている。任意の形態におけるブロックの実際の数は、より低いことがあるが、一般にはずっと高い。
多数のブロックがあるシステムにおいて、プレーンは、図4aに示されているように、複数のゾーンに論理的に分割されうる。これらのゾーンは、複数のプレーンを横断して延びる。プレーンのゾーンへの分割は、1つのプレーンをより小さくより扱いやすいセグメントに分割するために行われる。ゾーン内部の各プレーン中のブロックは、物理ブロックアドレスの同じ隣接したセットを占めうる。実際的な設計決定が、特定のメモリシステムにおいて実施されたゾーンの数に影響を与えることがあるが、ゾーンの数は具体的に限定されない。本発明の様々な態様は、ゾーン構造を持つか、或いは持たないメモリにおいて実施することができ、ゾーン構造を持たないメモリについては、全体としてプレーン内部で、或いは個々のゾーンと共に実施することができる。
図5〜図10におけるシナリオに適用されるようなメモリシステムにより用いられる操作単位は好ましくは、メタブロックである。メタブロックは、プレーンを横断する複数の物理ブロックの仮想リンキングである。メタブロックの随意の用途としては、メタブロック内部の全ブロックのパイプライン化消去、およびメタブロックの各ブロックからの1つ以上のページのパイプライン化プログラミングおよび読み出しが含まれる。
図5〜図10に示されている接続された矢線のセットの各々の中の矢線により示されているように、メタブロックは、複数のプレーンを横断して延び、一般にこれらのプレーンの各々からの1つのブロックを含む。図5はメタブロックの最も単純な形態を示し、すべてのメタブロックの各物理ブロックは、同じブロックオフセットを有し、4つのプレーン0〜3の全てを横断して延びている。図10は、2つのより複雑なメタブロックを例示する。これらのメタブロックの生成は、図5〜図10の説明において論じられ、メタブロックに含まれる構成ブロックは、欠陥に遭遇すると更新される。
メタブロックへのブロックのリンキングについてのより一般的な状況が図4bに示されている。システムのメモリ部分(それぞれ図1〜図3の103、203、303)は、チップ0〜Zから成るように取られ、各チップは、チップ0についてはプレーン00〜0Wのような多くのプレーンを有する。xにより示されている、1つのプレーン中のリンクされた各物理単位は、図4cに示されているように単一の物理ブロックから成ることも、図4dに示されているように複数の物理ブロックから成ることもできる。プレーンおよびチップを横断するだけでなく深さ方向にもブロックをリンクする図4dに示されている二次元メタブロックのタイプは、物理ブロックが小さい場合には特に便利なことがある。しかし、便利さは、図4dの配置の唯一の理由または主たる理由でさえないことがある。通常の、すなわち一次元のリンキングにおいて、主たる動機は、異なるチップ/プレーン中の複数のブロックに並行して書き込むことができるデータを扱うための機構を提供することである。同様に、メモリ設計が、1つのプレーン中の1つを超える位置への並列アクセス(読み出しおよびプログラミング)を並列して可能にするのであれば、同じプレーン内の複数のブロックをリンクすることも意味をなしうる。
いくつかのメタブロック・リンキングを示し、ここで、各メタブロックMBは、リンキング中の第1のブロックの第1の行に従って番号を付けられ、例えば、ブロック0で始まるメタブロックは、MB0 と表示され、以下同様である。図4bは、各プレーンが任意のリンキングにおいて1つのブロック(そして唯一のブロック)を有し、そのリンキングがいくつかのプレーンを横断していることを示しているが、これらの状況のどちらも常にそうである必要はない。例えば、図5〜図10に示されているような4つのブロックのリンキングは、単一のチップ上の4つのプレーンまたは4つのプレーンのうちの1つのプレーンで構成されうる。
図4bに示されているように、リンキングMB0 はそのブロックのすべてが同じ行からのものであり、MB1 はそのブロックのほとんどが同じ行からのものであり、MB2 は各ブロックが先行ブロックの下の行からのものである。図5〜図10の説明は、すべてのブロックが同じ行からのものであるMB0 の場合を取り上げ、説明を容易にするために、より一般的な場合を以下で論じる。これらの様々なリンキング方法は、固定されるか、或いは以下で論じられる本発明の1つの態様に従って、アルゴリズムに基づいて決定されうる。(代わりに、当初の決定は、ランダム割り当てに基づくことができる。)より一般的な文脈において、本発明の様々な態様が、一般に物理構造がより大きな論理複合体に形成される場合に適用でき、これらの複合体がどのように管理されるかに適用することができることが理解されよう。
図10に示されている第1のメタブロックは、4つのプレーン0〜3の各々の中のブロック0を含んでいる。第2のメタブロックは、プレーン0中のブロック1、プレーン1中のブロック4、プレーン3中のブロック5、およびプレーン3中のブロック4を含んでいる。第3のメタブロックは、4つのプレーン0〜3の各々の中のブロック2を含んでいる。第4のメタブロックは、プレーン0中のブロック3、プレーン1中のブロック3、プレーン2中のブロック3、およびプレーン3中のブロック1を含んでいる。
代わりに、メタブロックは、単一のゾーン内に含まれているプレーンの数のサブセットのみを含むこともできる。この例は示してないが、可変の並列度が望まれるのであれば、有用でありうる。可変の並列度を有するシステムは、異なる並列性を有する領域間でブロックが移動することができるようにしうる。例えば、4つではなく2つのブロックを含むメタブロックは、並列性が2である(2つのプレーン)領域から、(本発明者らの4プレーンの例におけるような)並列性が4である領域に動くことができる。2つの要素を各々含む2つのメタブロックがこのようなシステム中に存在すれば、それらのメタブロックは、1つの4要素メタブロックに統合することができる。このような混合並列性システムを用いることへの1つの警告は、変化する並列性の責任を欠陥マップが甘んじて受ける必要があるということである。
一般に、メタブロックの使用は、より多くのブロックが並列で1度に処理されるようにすることにより、メモリシステムの並列性を増大させる。この増大した並列性は、メモリシステムの性能を大きく向上させる。メモリシステムは、様々なメタブロック内部の個々のブロックの同一性を保持する。例えば、様々なメタブロック内部の個々のブロックの同一性は、リンクされたリストとしてシステム内部のどの便利な位置においても保持することができる。
通常、各ページのユーザデータと共に格納されるオーバーヘッドデータは、そのベージがあるプレーン、ゾーン、およびブロックを識別するのに十分な論理および/または物理アドレス、並びにそのブロック内のページのオフセットを含む。次に、ページオーバーヘッドデータのこれらのアドレスフィールドを読み取るコントローラによって、コントローラのメモリ内部にアドレスマップが生成される。これは通常、メモリの一部について1度に行われ、メモリのその部分に関するプログラミング、読み出し、または消去操作に先立って行われる。
図5〜図10は、メモリアレイの物理ブロック中の欠陥検出にシステムがどのように対応するかを示している。これらの欠陥は、工場欠陥または成長欠陥でありうる。この一連の図は、新たな欠陥が発生するたびに何が起こるかを示すことを意図している。例示を目的として、1〜5の番号を付けられた物理ブロックは欠陥を含んでいる。
最初の図である図5は、欠陥がまったく存在しないメモリアレイの一部分を示す。4つのプレーンすべてを横断して延びる6本の水平な矢線により複数のメタブロックが描かれている。各メタブロックは、定義された数の物理ブロックを含む。図5〜図10において、物理ブロックの定義された数は、すべてのメタブロックについて4であり、これはプレーンの数に対応する。
図5は、工場欠陥または成長欠陥がまったく見られないメモリアレイの一部分を示す。この図を横断して水平に延びる黒い矢線は、6つの直線的な標準メタブロックを表している。直線的な標準メタブロックは、図5に示されているように、揃ったオフセットを有する物理ブロックを含むメタブロックである。当初のリンキングは、以下でさらに説明されるように、アルゴリズムに従って確立されるか、或いは利用可能な健全なブロックの消去プールから形成される。
本発明の1つの実施形態において、メタブロックの1つの特徴は、(第1の物理ブロックアドレスに関連付けられた)第1の仮想ブロックアドレスが、その特定のメタブロックに関連付けられた残りの物理ブロックの位置を決定するために必要な唯一の情報であり、残りのリンクされたメタブロックはリンキング・アルゴリズムにより決定されるということである。これにより、メタブロックを格納するために必要とされるデータのサイズが低減される。第1の物理ブロックにおいて欠陥が発生すると、そのメタブロック全体が無効になり、アドレス空間からマップアウトされる。というのは、利用可能なプレーンの各々を横断して配置されたメタブロックの残りの要素を示すためのどのような機構ももはやないからである。この例が、以下の図9の説明において示されている。
図6は、第1の新しい欠陥が発生した後のアレイの状態を示す。この新しい欠陥は、プレーン2上のブロック1に位置する、MB1 中の「A」と表示された物理ブロックに位置する。メタブロック内部の物理ブロックが故障すると、そのメタブロックは、そのままではもはや使用できない。1つの単純な解決策は、そのメタブロックをアドレス空間からマップアウトし、二度と使用しないことである。システムが1つの単一の不良物理ブロックを有するのみであり、どのような予備ブロックも利用可能でなければ、これが利用可能な唯一の解決策である。しかし、複数の不良物理ブロックが発生すれば、この解決策はたちまちのうちに不経済になる。というのは、故障したメタブロックに関連付けられた残りの物理ブロックは、他の健全なメタブロックを生成するために使用することができるからである。図6において見出された(「A」と表示された)欠陥の結果として、(ハッチングにより示されている)残る3つの健全な物理ブロックは予備になる。
図7は、第2の新しい欠陥が発生した後のアレイの状態を示す。この新しい欠陥は、プレーン3上のブロック3のMB3 に位置する、「B」と表示された物理ブロックにある。図11に示されているような欠陥マップを保持するための方法において、欠陥が生じたプレーン(プレーン3)は、どのような利用可能な予備ブロックについても調べられる。ここでは、プレーン3において物理ブロック1が利用可能である(図6においてハッチングにより示されている)。プレーン3においてブロック1が利用可能なので、メタブロックは、メタブロックの欠陥部分を置き換えるために、ブロック1を示すように更新される。すなわち、プレーン3のMB3 における欠陥ブロック(「B」)は、リンキングにおいて、MB1 のプレーン2のブロック「A」の故障によって余剰にされたMB1 の中のプレーン3の健全なブロックにより置き換えられる。物理ブロック故障が発生する場合、予備物理ブロックがメタブロックにリンクされて、故障した物理ブロックに取って代わる。
(使用されている命名法の下では、図6および図7の時点でメタブロックMB1 はまったくない。というのは、メタブロック全体は、プレーン0におけるブロック番号に基づいて名付けられるからである。図8において生じるように、プレーン0のブロック1が新しいリンキングにおいて復帰させられなければ、名称MB1 は欠番にされる。)
図8は、第3の新しい欠陥が発生した後のアレイの状態を示す。この新しい欠陥は、プレーン0上のブロック4に位置する「C」と表示された物理ブロックに位置する。欠陥ブロックがプレーン0上に位置しているので、このメタブロックは再リンクすることができない。プレーン0上に位置するこのブロックは、メタブロックの残りの要素への参照情報を含むブロックであり、プレーン0上のこのブロックがなければ、採用された規則の下でこのメタブロックを参照する方法は皆無である。従って、プレーン0上のブロック1において予備ブロックが利用可能であったとしても、その予備ブロックは、このメタブロックを完成させるために使用することはできない。その代わりに、プレーン0上のブロック1が仮想アドレス空間に再マッピングされ、新しいメタブロック中の第1のブロックとして使用され、以前のメタブロックMB4 のプレーン1、2、および3の中の現在は余剰になっているブロックを利用する。かくして、欠陥ブロック「A」は、プレーン2のブロック4により置き換えることができる。図7においてプレーン3のブロック1が再マッピングされているので、これも置き換えられる必要がある。その結果、プレーン2およびプレーン3のブロック4の予備を用いて、再リンクされたMB1 が形成されうる。プレーン1について、ブロック1およびブロック4の両方において1つのブロックが利用可能である。再リンクされたMB1 を完成させるために、どちらも選ばれうるが、この例では、元はMB4 にあったブロックが用いられる。その結果、再リンクされたMB1 は、プレーン0上のブロック1、プレーン1上のブロック4、プレーン2上のブロック4、およびプレーン3上のブロック4を含む。この時点で、ただ1つの予備ブロックがプレーン1上のブロック1に残る。
図9は、第4の新しい欠陥が発生した後のアレイの状態を示す。この新しい欠陥は、プレーン0上のブロック5に位置する「D」と表示された物理ブロックに位置する。この時点でプレーン0に位置する予備ブロックは皆無なので、このメタブロックは再リンクすることができない。結果として、残りの物理ブロックは、予備物理ブロックプールに加えられる。これは、プレーン1上のブロック5、プレーン2上のブロック5、およびプレーン3上のブロック5を含む。この時点で、示されているメモリアレイにおいて、4つの予備ブロックが利用可能である。
図10は、第5の新しい欠陥が発生した後のアレイの状態を示す。この新しい欠陥は、プレーン2上のブロック4に位置する「E」と表示された物理ブロックに位置する。同じプレーン上で1つの予備ブロック(プレーン2上のブロック5)が利用可能なので、メタブロックMB1 は、その予備ブロックを用いて再リンクされる。
図10において、行1、3、4、および5に対応する6つの本来のメタブロックのうちの4つが不良ブロックを有しているが、再リンキングは、4つの健全なメタブロックという結果になっていることに留意されたい。米国特許第6,034,897号(特許文献6)の背景技術の欄に記載されているような固定リンキングの下では、これらの欠陥は、示されている6つのメタブロックのうちの4つが失われるという結果になった。このように、メモリが老化して欠陥が生じるにつれて、より大きいデータ容量がメモリにより維持される。
図11は、論理−物理マッピングテーブル1101を用いてメタブロックの構成要素がどのようにマッピングされうるかを例示する。LBN[0]と関連付けられたメモリ1103(またはその構造を用いる実施形態のメモリゾーン)中のメタブロックが、ハッチングでマークされたブロックにより示されている。(この例における)メモリの4つのプレーンは、1つを超えるチップを横断して再度分布させられる。LBN[0]内に含まれるPBNエントリは、ハッチングによりマークされ、メタブロックの部分であるブロックの各々の物理アドレスを参照する。プレーン0に含まれているメタブロックの第1の要素は、他のメタブロック要素にアクセスするために使用される。図5〜図10に関して説明されているように、プレーン0中のメタブロック要素が不良であることが見出されれば、そのメタブロック全体は不良としてマークされなければならない。というのは、それらはプレーン0上の要素を介してメタブロックの残りとリンクされるからである。
マッピングテーブル1101は、メタブロックを形成するためのブロックのリンキングの記録の1つの例である。メタブロック構成要素の適応性を考慮する1つの手法は、書き込み処理用にメタブロックが要求されるたびに、利用可能な健全なブロックのプールからメタブロックを動的に形成することである。この手法はメタブロック構造のための適応性を考慮するが、この手法は、ブロックが必要とされるたびにリンキングが再確立されることを要求し、さらに、この手法は、このプールを決定するために各プレーンがアクセスされることを要求する。本発明の主要な態様の1つによれば、この記録は、不揮発性メモリ中の1つの位置に格納される。次に、この記録は、アドレス変換において使用するための要求があり次第、フラッシュメモリからコントローラ上の揮発性メモリ(または代わりの不揮発性メモリ)に読み込まれる。
実施形態の1つのセットにおいて、リンキング情報の記録は、ユーザデータが格納される通常の物理ブロック外部のどこかのような、特別な不揮発性メモリ位置に保持される。例えば、この記録は、図4aのプレーン0中の予約領域の1つ、または米国公開特許出願第2003/0065899号(特許文献7)に記載されているような配置中のシステムゾーンのいずれかに保持されることができ、この米国公開特許出願は、本願明細書において参照により援用されている。実施形態の別のセットにおいて、リンキング情報は、書き込まれた、または部分的に書き込まれたブロックのためのユーザデータセクタ/制御データセクタのヘッダ領域中に保持される。消去状態にあるブロックについて、リンキング情報は、不揮発性メモリ中の特別な制御データ領域に格納される。
このようなテーブルの使用により、メタブロックへのブロックのリンキングは、記録を不揮発性メモリ中に保持することによって、欠陥に対応するように更新することができ、このようなテーブルは必要時に容易にアクセスでき、従って背景技術の欄で論じられた先行技術の制限を克服する。
本発明の欠陥マッピングの態様が図12に例示され、この図は、プレーン1上の1つの不良ブロックを示している。この不良ブロックには「X」印が付けてある。このブロックが欠陥であることが分かる前に、点線矢線1201により示されているように、メタブロックLBN[0]の第2の要素がそのブロックを指摘した。予備ブロックの集まり1203は、ハッチングにより示されている同じプレーン上で利用可能な1つの予備を有している。(代わりに、図5〜図10の処理におけるように、エラーを発生させた別のリンキングから1つの予備がプレーン1中で利用可能であれば、その予備は、予備の集まり1203からのブロックの代わりに用いてもよい。予備PBN’の物理ブロック番号(PBN)は、故障したブロックのPBNに取って代わる。結果として、この予備は、矢線1202により示されているように、メタブロックの一部になる。
図13は、図11におけるマップ構造と同様なマップ構造の例を示す。図13におけるマップ構造は、プレーン2上の「X」印が付けられたブロック上に示されているように、不良ブロック、おそらくは成長欠陥を示している。プレーン2上の消去プール1302中の予備ブロックの集まりが予備をまったく持っていないという事実により示されているように、この不良ブロックと同じプレーン上では予備を利用することができない。従って、プレーン2上の不良ブロックの予備を示すように再指向する代わりに、3本の下方向を示している矢線により示されているように、メタブロックの残り(プレーン0、1、および3上のブロック)に関連付けられた物理ブロックが予備プールに加えられる。
図14は、図11〜図13のデータ構造を用いて欠陥マップを保持ための方法の例を示す。欠陥が検出されるか、或いは発生すれば、その欠陥の位置は、物理位置または物理ブロック番号(PBN)を検索することによって決定される。欠陥ブロックの物理位置と同じプレーン中で予備ブロックが利用可能であれば、その欠陥に関連付けられメタブロックは、欠陥ブロックを置き換えるために予備に向けられ、その後、欠陥マップは更新される。このシナリオは図12に示されている。さもなければ、欠陥ブロックと同じプレーン中に予備ブロックがまったく残っていなければ、メタブロックの残りの健全なブロックは、予備プールに向けられる。このシナリオは図13に示されている。
前に指摘されたように、本発明の原則的な態様の1つは、コントローラが、リンキングテーブルの記録を不揮発性メモリ中に保持することである。この記録は、図11〜図13の論理−物理マッピングテーブル1101のような、任意の物理アドレスに対応する各メタブロックを形成するブロックの完全なリストでありる。一方、メタブロックへの物理ブロックの標準リンキングは、決定論的アルゴリズムに基づくことができ、不揮発性メモリ中に保持される記録は、リンキング規則からのいずれかの逸脱を含みさえすればよい。欠陥のためにリンキングが更新されて、その結果、標準リンキングから逸脱すると、記録はそれに対応して更新される。
説明された、物理ブロックをメタブロックにリンクするために用いられる機構は、不良物理ブロックのどのような分布についてもメタブロックの数を最大化し、システムの寿命の間に物理ブロックが故障した場合に、新しいメタブロックが生成されるように設計される。前述したように、メタブロック番号は、メタブロックに組み込まれた第1のプレーン中の物理ブロックのアドレスから定義される。
「標準」メタブロックは、物理ブロックアドレスがメタブロック番号の決定論的機能である物理ブロックを含む。例えば、これは、図4bにおけるメタブロックMB0 の配置とすることができ、この配置は、図5〜図10の例についても用いられ、その場合、標準メタブロックのすべてのブロックは同じ行にある。この配置は、MBi =(i,i,i,i)と表すことができ、ここでカッコ内のn番目のエントリは、n番目のプレーン中のブロックが属する行を表す。
別の例では、図4bにおけるメタブロックMB2 の配置におけるように、物理ブロックアドレスは、メタブロック番号にその物理ブロックが属するプレーンの連続番号に等しいオフセットを加えたものにより与えられる。すなわち、メタブロックiは、ブロックi+(プレーン番号)で構成される。4ブロックのメタブロックについて、これは、MBi =(i,i+1,i+2,i+3)と表すことができる。この構造は図15に示され、アルゴリズムに基づくリンキングテーブルを論ずるために用いられる。より一般的には、アルゴリズムに基づく、決定論的リンキングは、4ブロックのメタブロックの場合について、
MBi =(i,f1 (i,プレーン番号),f2 (i,プレーン番号),
3 (i,プレーン番号))
と記述することができ、他の数については自明なやり方に従って拡張される。この数式において、iは、行番号であり、f1 、f2 、およびf3 は、行およびプレーン番号のある種の関数である。取り決めによりメタブロック番号はプレーン0の行番号と同じなので、MBi 中の第1のエントリはiである。図5〜図10の例については、f1 =f2 =f3 =iであるのに対して、図15については、f1 =f2 =f3 =i+(プレーン番号)である。アルゴリズムに基づくリンキングについての再リンキング処理の議論は、図5〜図10の処理の短縮バージョンを経るが、図15の標準リンキングに基づく。コントローラは、標準リンキングを決定するためにファームウェアに基づく実施を用いることができる。
物理ブロックは、標準メタブロックの考えうる数を最大化する規則に従ってメタブロックにリンクされる。メタブロックがリンクされている時に、必要とされる物理ブロックが利用可能であれば、標準ブロックが生成される。標準メタブロックの形成に必要とされるいずれかの物理ブロックが不良であれば、メタブロック番号は未使用として分類される。この場合、その結果として未リンクのまま残される他の使用可能な物理ブロックは、図15におけるメタブロックn+1について示されているように、予備として分類される。
本発明の別の態様は、カード上の欠陥のパターンに基づく標準リンキングパターンの最適化、または使用可能な標準メタブロックの数を別の方法で最大化することである。カードがフォーマット(または再フォーマット)されている時に、不良ブロックのパターンを走査することができ、「標準」リンキングパターンについての決定を、それらのパターンが互いにできるだけ一致するように行うことができる。多くの場合、標準リンキングのためのアルゴリズムを不良ブロックパターンに一致させることにより、必要な再リンクされたメタブロックおよびメタ−物理アドレス変換オーバーヘッドが低減され、それによって、(少なくとも当初の)リンキングが最適化される。この例が、図16および図17に示されている。
図16および図17は、プレーン0〜3の各々から1つずつの4つの不良物理ブロックが対角線状に並んでいる例を検討する。不良ブロックの対角線状パターンの場合、図16に示されているように、標準ブロックにとって最良のパターンも対角線状である。結果として、この例において、再リンクされたブロックは皆無であり、その結果として、メタブロックのうちでリンキングテーブルを介した変換を必要とするものは皆無であり、使用可能なメタブロックの数は増大する。図17は、標準リンキングが不良ブロックパターンに一致するのではなく直線横断する場合の同等の状況を示す。標準の方法が直線横断の場合の例において、3つのメタブロック(n+2,n+3,およびn+4)が再リンクされる必要がある。
標準ブロックパターンは、すべてのカード、すべての再フォーマット、またはその両方について一意でありうる。これにより、すべてのカードが異なるブロックを横断するデータ・スクランブリングの一意の方法を有する。その結果、標準メタブロックは同じ規則を用いて形成されるが、必ずしも同じ構成を有する必要はない。別の実施形態において、ホストは、メタブロック・リンキング規則についての規則およびコードを提供することを必要とすることがあり、従って、アルゴリズムはシステムに固有ではない。
初期フォーマット処理の間にメタブロックがリンクされている場合、ブロックアドレス空間の始端近く、或いはチップまたはダイ境界近くのいくつかの物理ブロックは、図20に示されているように、標準メタブロックにリンクされない。これらの物理ブロックは、予備として分類される。予備物理ブロックは、予備物理ブロックリストに記録され、その後、図19において説明されるように、再リンクされたメタブロックの形成において用いられる。
標準ブロックとして存在することができないメタブロックは、再リンクされたメタブロックとして構成される。再リンクされたメタブロックは、メモリシステムの初期フォーマット処理の間に、或いは既存のメタブロック内の物理ブロックの故障に応答して、形成される。図19におけるメタブロックn+4は、プレーン2中の必要とされる物理ブロックが不良なので、標準メタブロックとしてリンクされない。この場合、プレーン2中の予備物理ブロックで置き換えることにより再リンクされたメタブロックが生成される。不良物理ブロックの代わりに再リンクされる予備物理ブロックは好ましくは、メタブロック内でのプログラミング並列性を維持するために、不良ブロックと同じプレーン中に位置する。
好ましい実施形態において、別のダイまたはチップへ進む再リンキングは付加的なダイ/チップの読み出しまたはプログラミングを起動することがあるので、同じダイまたはチップ内のみのブロックを再リンクすることが好ましい。例えば、メタブロックが2つのプレーンをそれぞれ有する2つのチップにまたがる4プレーン・メタブロックの代表的な場合において、データは、4つのプレーン全部にプログラムされ(またはそれから読み取られ)、これは、2チップ読み出し/プログラミングを並列で必要とする。(これは100%並列ではないかもしれないが、ページの読み出し、ブロックのプログラミング、および消去が並列で行なわれてもよいようにパイプライン化されているが、データ転送が並列にならないようにデータバスが共用されている)。この場合、物理ブロックが別の第3のチップから取られるようにメタブロックが再リンクされれば、他の2つと同時にそのチップにアクセスすることができないかもしれず、操作時間が二倍になりうる。
プレーン0中の不良物理ブロックがプレーン0の予備ブロックにより置き換えられれば、メタブロック番号は、図20においてメタブロックn+1について示されているように、予備ブロックの番号により定義される。再リンクされたメタブロックは、その後に万一物理ブロック故障が発生したら、さらに再リンクされうる。標準メタブロックとしてリンクされない、アドレス空間の最上部に近いメタブロックは、再リンクされたメタブロックの形を取ることができる。
図4dに関して前に指摘したように、プレーンおよびチップを横断するだけでなく任意のプレーン内部の深さ方向でもブロックをリンクする二次元メタブロックを用いる構成もある。図21は、二次元の場合における再リンキングの例を示す。図21において、「2−Dメタブロック」は、2*4メタブロックの例である。8つのブロックの全てが並列でアクセスされうる場合、性能における最大の利点が達成される。1−Dリンキング方法の主なリンクキングおよび再リンキング原理も当てはまるが、いくつかの拡張を伴う。図に見られるように、プレーン内部の物理ブロックのいずれかの中の不良物理ブロックは、メタブロックnについて示されているように、使用されていないメタブロックに至る。2−Dメタブロックが再リンクされる場合、プレーン2中のメタブロックn+2の上位ブロックについて言えば、任意のプレーン中の不良物理ブロックのみが置き換えられる必要があり、例えば、プレーン2中のメタブロックn+2の上位ブロックが再リンクされるのに対して、プレーン2中のメタブロックn+2の下位ブロックはそうではない。
標準リンキングからの逸脱のみが不揮発性メモリ中の記録中に保持される実施形態において、メタブロック・リンキングについての管理データ構造は、フラッシュメモリ中の1つ以上の専用ブロック・リンケージ管理ブロック中の2種類のセクタ内に含まれてもよい。この配置は、完全リンキングの節減に関して、必要とされる情報の格納がより少ないという利点を有する。メモリシステム中のすべての再リンクされたメタブロックのメタブロック番号は、リンクテーブルセクタのセット中のリンクテーブルに含まれる。標準メタブロックのためのどのようなエントリもリンクテーブル中に格納される必要はない。というのは、それらの物理ブロックアドレスは、メタブロック番号から決定論的に生成されるからである。ブロックが基準であるかどうか、およびすべてのブロックが標準のやり方でリンクされているかどうか、或いはそのブロックが再リンクされ、リンクテーブル(LT)を介した付加的なブロックアドレス変換を必要とするかどうかを示す、RF(再リンクされた)フラグを、メタブロックの属性として用いることができる。RFフラグは、LTを分析することにより決定でき、次にメタブロックについての属性としてSRAM中に格納するか、或いは主不揮発性メモリ中の制御データ構造に格納することができる。代わりに、再リンクされたセクタのリストを、どのメタブロックが再リンクされているかを決定するために検索することができるリスト中に保持することができる。リンクテーブル中のエントリはメタブロック番号により配列することができ、各エントリは、メタブロック番号のためのフィールドおよび各リンクされた物理ブロックのブロックアドレスのためのフィールドを有する。
リンクテーブル構造の拡張において、標準リンキングを確立する基本アルゴリズムからの逸脱は、それ自体が規則のセットに基づくことができ、例えば、非標準リンキングは、単一のプレーンに限定されるか、或いはブロックがその当初の行からどれほど遠くまで再リンクすることができるかを限定する。再リンキングがアルゴリズムのすべてに対する例外である場合にのみ、再リンキングは、不揮発性メモリ中に明示的に保持される必要がある。
リンクテーブルの特定の例、およびそのリンクテーブルが含む情報がどのように圧縮されるかを、図22および表1に関して説明する。リンクテーブルセクタは、カード内で再リンクされたブロックについての情報を保持している。カードのサイズおよび各ダイ内の不良ブロックの数に応じて、1つを超えるリンクテーブルセクタが存在することが考えられ、これはブートブロックに格納されうる。前に説明されたように、メタブロックはリンキングのための標準の方法を有し、ブロックの1つが不良であれば、そのメタブロックは、同じプレーン中の予備物理ブロックと再リンクされうる。リンクテーブルセクタは、再リンキングにおいてどのブロックが用いられるかについての情報を格納する。図22は、メタブロックの再リンキングの別の例である。
図22に示されているメタブロックのうち、メタブロック0のみが、ここでは8つのプレーンを直線横断するように取られた標準リンキングを有する。この図は、以下のいくつかのブロック・リンキングの状況を示す。
A.メタブロック0は、再リンキングをまったく持たない標準メタブロックであり、従ってリンクテーブルセクタには現れない。
B.メタブロック1は、プレーン0* およびプレーン1に2つの不良ブロックを有する。
C.メタブロック4は、プレーン0* およびプレーン5に2つの不良ブロックを有する。
D.メタブロック5は、プレーン1、3、および4に3つの不良ブロックを有する。
E.メタブロック7は、プレーン0* に1つの不良ブロックを有する。
F.プレーン0およびプレーン7中のブロックは本来のメタブロックからのものであるが、メタブロック9は、既存の予備物理ブロックから完全に再リンクされている。
*マークされた場合において、再リンキングは、プレーン0中の不良ブロックに起因する。この場合、物理アドレスは、本来のメタブロックが存在した位置を参照する。図22の例における不良ブロックの数が多いため、メタブロック2、3、6、または7は皆無である。
図22に示されているブロックの再リンキングのために用いられる圧縮アルゴリズムは、表1のように定義される。
Figure 2007520842
どのリンクテーブルのエントリのサイズも、以下のように定義される。
バイト数=3+(3×再リンクされたブロックの数)
例えば、メタブロック1について、最初の3バイトは、メタブロック1を識別し、そしてメタブロック1が2つの再リンキングを有することを識別し、これらの再リンキングの各々を指定するために3バイトが割り当てられる。再リンキングは、再リンクされたブロックが8つのプレーンのどれに対応するか(1バイト)およびそのブロックが再リンクされた行番号により指定される。
リンクテーブル中のエントリのフルセットは、複数のリンクテーブルセクタを横断して広げることができる。リンクテーブルセクタは、それをブロックのリンケージ管理ブロック中の次の利用可能なセクタ位置に書き込むことにより生成または修正される。従って、リンクテーブルセクタの多重コピーが存在することができ、最新のバージョンのみが有効である。ブロックのリンケージ管理ブロック中の有効なリンクテーブルセクタの位置のインデックスは、ブロックのリンケージ管理ブロック中の予備物理ブロックリストセクタ中のフィールドに含めることができ、これは以下で説明される。有効な各リンクテーブルセクタ中の第1のエントリに関するメタブロック番号は、どのようなメタブロック番号についても関連のリンクテーブルセクタが容易に識別することができるようにするために、コントローラRAM中のリストに保持することができる。付加的なエントリが、最大数のエントリをすでに含んでいるリンクテーブルセクタに加えられなければならないのであれば、そのセクタは、それぞれがエントリの半分を有する2つの新しいセクタに分割され、新しいエントリは、適切な新しいセクタに挿入される。
すべての予備物理ブロックのブロックアドレスは、予備物理ブロックリストセクタ中の未配列リスト中のエントリとして保持される。実施形態によっては、チップあたりのプレーンあたりの予備ブロックの最大数を限定することが都合がよいことがある。代表的な実施形態において、これは16に限定され、ほとんどの場合において、この数は十分に大きいはずである。1つのプレーン中に16を超える予備ブロックがあれば、それらは「失われる」。
予備になるブロックは、メタブロックへのフラッシュメモリの初期構成の間に標準メタブロックを生成することができないのか、或いは標準または再リンクされたメタブロックにリンクされた物理ブロックが故障したので、新しいエントリとして予備物理ブロックリストの最後に付加される。再リンクされたメタブロックを生成するために予備ブロックが必要とされる場合、予備物理ブロックリストの冒頭に最も近い関連するプレーン中の第1のブロックが使われる。予備物理ブロックリストセクタは、有効なリンクテーブルセクタ位置へのインデックスを有するフィールドも含む。
メタブロック再リンク操作が行われ、リンクテーブルセクタが生成または修正される場合、予備物理ブロックリストおよびリンクテーブルセクタのインデックスフィールド双方は、予備物理ブロックリストセクタにおいて修正されうる。従って、有効な予備物理ブロックリストセクタは、ブロックのリンケージ管理ブロックに最後に書き込まれたセクタである。ブロックのリンケージ管理ブロックが満杯の場合には、このブロックは、制御書き込み操作の間に、すべての有効セクタを新しいブロック位置に再書き込みすることにより圧縮でき、満杯のブロックはその後消去される。
予備物理ブロックセクタの節減を簡略化し、代替のブロックを探す場合に必要な検索量を限定するために、予備物理ブロックリストは、チップ、ダイ、およびプレーンにより格納される。必要とされるセクタの実際の数は、メモリデバイスのサイズ、デバイスの数、および使用されるインタリーブな方法によって決まる。前に指摘されたように、プレーンあたり特定数の物理ブロックのみを格納することが便利なことがある。保持される数は、ブロックの予期される故障率およびプレーンあたりのブロックの数によって決まる。これは、各予備物理ブロックリストセクタが、いくつかのプレーンのための予備物理ブロックを保持することを意味する。ファームウェアは、ロードすべき正しいセクタを計算し、次に正しい値をロードするためにそのセクタを指し示す。
再リンキングまたは別の不良ブロックの発見に起因して、予備物理ブロックリストの数が変わる場合、新しい予備物理ブロックリストセクタが書き込まれる。これは、同じ物理領域をカバーする2つの予備物理ブロックリストセクタを意味する。ブートセクタは、有効セクタのインデックスを含む予備物理ブロックリストインデックスを保持する。1つの予備物理ブロックリストによりカバーされる領域に予備物理ブロックがまったく存在しなければ、そのセクタはブートブロックには存在しない。
図22を再度参照すると、この図は、8通りにインタリーブされたカードを参照している。従って、すべての予備物理ブロックリスト情報を保持するために少なくとも8つのアレイがある必要がある。カード上のあらゆるその後のダイスについて、付加的な8つのアレイが必要とされる。図22に対応する予備物理ブロックリストを表2に示す。
Figure 2007520842
リンキングテーブルと同様に、予備物理ブロックリストは、要求時に揮発性RAMにキャッシュすることができるテーブルとして不揮発性メモリに格納されてもよい。
本発明の様々な態様を、ファームウェアに基づく実施の観点から説明してきたが、本発明の態様は、ハードウェアに基づく実施においても実行することができる。コントローラ上、好ましくはメモリチップ自体の上のハードウェアエンジンが、再リンキングを行うことができる。再リンキング情報は、チップ自体上の特別なメモリ位置に格納されてもよい。次に、コントローラは、すべてのブロックを標準として扱うことができ、エンジンは、ブロックアドレスを真の内部アドレスに変換する。メモリは、ホスト(またはコントローラ)には、より小さいブロック構造またはどのような再リンキングの詳細も知る必要なく、標準ブロックのみを有する1つのメモリとして、或いは大きな物理ブロックを有する1つのメモリとして見える。
本発明の様々な態様の特定の例を説明してきたが、本発明は、添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解されよう。
不揮発性メモリアレイおよびメモリコントローラが、ホストシステムに取り外し可能に接続される密封カード中にパッケージされている、現行の不揮発性メモリシステムのブロック図である。 不揮発性メモリアレイが、ホストシステムに取り外し可能に接続される密封カード中にパッケージされている、現行の不揮発性メモリシステムのブロック図である。 不揮発性メモリアレイが、ホストシステム内の取り外しできない組み込み形記憶装置としてパッケージされている、現行の不揮発性メモリシステムのブロック図である。 プレーン、ゾーン、および予備を示すチップ形式の例を例示する。 メタブロックへの物理ブロックの様々なリンキングを例示する。 メタブロックへの物理ブロックの様々なリンキングを例示する。 メタブロックへの物理ブロックの様々なリンキングを例示する。 メモリアレイの一部分で生じる一連の成長欠陥にシステムがどのように対応することができるかを例示する。 メモリアレイの一部分で生じる一連の成長欠陥にシステムがどのように対応することができるかを例示する。 メモリアレイの一部分で生じる一連の成長欠陥にシステムがどのように対応することができるかを例示する。 メモリアレイの一部分で生じる一連の成長欠陥にシステムがどのように対応することができるかを例示する。 メモリアレイの一部分で生じる一連の成長欠陥にシステムがどのように対応することができるかを例示する。 メモリアレイの一部分で生じる一連の成長欠陥にシステムがどのように対応することができるかを例示する。 消去単位上の成長欠陥の検出に応答した、メタブロックの仮想構造の構成要素のマッピングの例を例示する。 欠陥マップを保持するためのシステムの例を例示し、予備消去単位は、成長欠陥を有する消去単位と同じプレーン中では利用できない。 欠陥マップを保持するための方法の例を例示する。 図11〜図13のデータ構造を用いて欠陥マップを保持するための方法の例を例示する。 アルゴリズムに基づく物理ブロックのリンキングを例示する。 アルゴリズムに基づく物理ブロックのリンキングを例示する。 アルゴリズムに基づく物理ブロックのリンキングを例示する。 アルゴリズムに基づく物理ブロックのリンキングを例示する。 物理ブロックの再リンキングを例示する。 物理ブロックの再リンキングを例示する。 二次元の場合における再リンキングの例を示す。 物理ブロックの再リンキングを例示する。

Claims (43)

  1. コントローラと不揮発性メモリとを含むメモリシステムを操作する方法であって、不揮発性メモリは複数の消去単位で構成される方法において、
    各々が複数の消去単位で構成され、それによってコントローラが不揮発性メモリにアクセスする、メタブロック・リンキングのセットを確立するステップと、
    前記メタブロック・リンキングの記録を不揮発性メモリに格納するステップと、
    を含む方法。
  2. 前記記録は、消去単位の観点からのリンキングのセットの完全な規格である請求項1記載の方法。
  3. 前記リンキングのセットは、規則に従って形成され、記録は、その規則に対する例外であるリンキングから成る請求項1記載の方法。
  4. 前記メタブロック・リンキングの第1のメタブロック・リンキング中の1つの消去単位が欠陥であることを決定するステップと、
    前記欠陥消去単位をもはや含まないように第1のメタブロック・リンキングを更新するステップと、
    更新されたリンキングの記録を不揮発性メモリに格納するステップと、
    をさらに含む請求項1記載の方法。
  5. 前記更新するステップは、欠陥消去単位を前記消去単位の別の1つと置き換えるステップを含む請求項4記載の方法。
  6. 前記消去単位の別の1つは、リンクされていない消去単位のリストから選ばれる請求項5記載の方法。
  7. 前記リンクされていない消去単位のリストは、不揮発性メモリ中に保持される請求項6記載の方法。
  8. 前記欠陥消去単位を前記消去単位の別の1つで置き換えるステップに後続して、リンクされていない消去単位の前記リストを更新するステップをさらに含む請求項7記載の方法。
  9. 前記消去単位の別の1つは、以前別のリンキングに属していた消去単位から選ばれる請求項5記載の方法。
  10. リンクされていない消去単位のリストを保持するステップと、
    前記メタブロック・リンキングの第1のメタブロック・リンキング中の1つ以上の消去単位が欠陥であることを決定するステップと、
    第1のメタブロック中の非欠陥消去単位を、リンクされていない消去単位のリストに加えるステップと、
    をさらに含む請求項1記載の方法。
  11. 前記メタブロック・リンキングの第1のメタブロック・リンキング中の1つの消去単位が欠陥であることを決定するステップと、
    その欠陥消去単位について1つの代替の消去単位が利用可能であるかどうかを決定するステップと、
    1つの代替の消去単位が利用可能でないという決定に応答して、第1のメタブロックをメタブロック・リンキングのセットから除去するステップと、
    をさらに含む請求項1記載の方法。
  12. 前記不揮発性メモリは、複数の準独立アレイを含み、前記メタブロック・リンキングの任意の1つの中の複数の消去単位の各々は、前記準独立アレイのうちの異なる1つからのものである請求項1記載の方法。
  13. 前記不揮発性メモリは、複数の準独立アレイを含み、前記メタブロック・リンキングの任意の1つの中の複数の消去単位は、同じ準独立アレイからの対の消去単位で構成され、各々の対は、前記準独立アレイのうちの異なる1つからのものである請求項1記載の方法。
  14. 前記準独立アレイは、別個のチップ上にある請求項10記載の方法。
  15. 前記メタブロック・リンキングの前記記録は、不揮発性メモリの、ユーザデータ用に割り当てられた部分以外の部分に格納される請求項1記載の方法。
  16. 前記消去単位の各々は、複数のセクタで構成され、セクタの各々は、データ領域およびオーバーヘッド領域を含み、データを含んでいる消去単位についての記録情報は、それらのオーバーヘッド領域中に保持される請求項1記載の方法。
  17. データのない消去単位についての記録情報は、不揮発性メモリの、ユーザデータ用に割り当てられた部分以外の部分に格納される請求項16記載の方法。
  18. コントローラと不揮発性メモリとを含むメモリシステムを操作する方法であって、メモリは、少なくとも2つの独立してアクセス可能なサブアレイを含み、個々のサブアレイは、複数の重ならない物理構造に分割され、前記サブアレイの個々の1つからの少なくとも1つの物理構造が、複合論理構造を形成するためにリンクされ、それによってコントローラは、複合論理構造の構成要素を一緒に1つの単位としてアクセスする方法において、
    前記複合論理構造中の1つの物理構造が欠陥であることを決定するステップと、
    前記複合論理構造中の1つの物理構造が欠陥であることを決定するステップに応答して、前記複合論理構造中の前記欠陥物理構造を代替の物理構造で置き換える一方で、前記複合論理構造を形成するためにリンクされた物理構造のうちの非欠陥物理構造を保持するステップと、
    を含む方法。
  19. 前記物理構造は、物理ブロックである請求項18記載の方法。
  20. 前記サブアレイは、同じチップ上に形成される請求項18記載の方法。
  21. 前記サブアレイの全部未満は、同じチップ上に形成される請求項18記載の方法。
  22. 複合論理構造を形成するための物理構造のリンキングの記録は、前記メモリ中に保持され、前記記録は、前記置き換えを反映するために更新される請求項18記載の方法。
  23. 前記リンキングは、アルゴリズムに従って形成され、前記記録は、アルゴリズムからの逸脱を記述する請求項22記載の方法。
  24. 前記記録は、リンキング中のすべての物理構造の物理アドレスを記述する請求項22記載の方法。
  25. 前記複合論理構造中の物理構造が欠陥であることを決定するステップに先行して、前記複合論理構造を形成するために物理構造の初期リンキングを形成するステップをさらに含み、前記置き換えるステップは、前記リンキングを更新するステップを含む請求項24記載の方法。
  26. 前記初期リンキングを形成するステップは、複合論理構造を形成する物理構造を、利用可能な物理構造のプールから選ぶステップを含む請求項25記載の方法。
  27. 前記初期リンキングを形成するステップは、アルゴリズムに従って複合論理構造を形成するステップを含む請求項25記載の方法。
  28. コントローラと不揮発性メモリとを含むメモリシステムにおいて、前記不揮発性メモリは、複数の消去単位で構成され、前記コントローラは、各々が複数の消去単位で構成されるメタブロック・リンキングのセットに従って前記不揮発性メモリにアクセスし、前記コントローラは、メタブロック・リンキングのセットを決定論的方法で確立するメモリシステム。
  29. 前記メタブロック・リンキングのセットは、アルゴリズムに従って確立される請求項28記載のメモリシステム。
  30. 規則に従って形成されないメタブロック・リンキングは、フラグにより示される請求項29記載のメモリシステム。
  31. 前記フラグは、前記コントローラ中に保持される請求項30記載のメモリシステム。
  32. 前記フラグは、前記不揮発性メモリ中に保持される請求項30記載のメモリシステム。
  33. 前記アルゴリズムは、前記不揮発性メモリ中の欠陥ブロックのパターンに従ってリンキングのセットを最適化する請求項29記載のメモリシステム。
  34. 前記コントローラは、不揮発性メモリの走査に基づいて不揮発性メモリ中の欠陥ブロックのパターンを決定する請求項29記載のメモリシステム。
  35. 前記メタブロック・リンキングのセットは、ランダム割り当てに基づいて確立される請求項28記載のメモリシステム。
  36. 前記メタブロック・リンキングのセットは、欠陥に応答して、リンキング中の欠陥ブロックを、1つ以上の非欠陥ブロックのリストからの非欠陥ブロックで置き換えることにより更新される請求項28記載のメモリシステム。
  37. 1つ以上の非欠陥ブロックのリストの記録は、前記不揮発性メモリ中に保持される請求項36記載のメモリシステム。
  38. 1つ以上の非欠陥ブロックのリストの記録は、前記コントローラにより前記コントローラの揮発性メモリ中にキャッシュされる請求項37記載のメモリシステム。
  39. メタブロック・リンキングのセットの記録は、不揮発性メモリ中に保持される請求項28記載のメモリシステム。
  40. メタブロック・リンキングのセットの記録は、前記コントローラにより前記コントローラの揮発性メモリ中にキャッシュされる請求項39記載のメモリシステム。
  41. メタブロック・リンキングの初期セットは、アルゴリズムに従って確立され、メタブロック・リンキングのセットの記録は、アルゴリズムに適合しないリンキングのみをリスト化する請求項39記載のメモリシステム。
  42. メタブロック・リンキングのセットの記録は、アルゴリズムに適合しない消去単位のみをリスト化する請求項41記載のメモリシステム。
  43. 少なくとも2つのプレーンに編成されたメモリ記憶素子のアレイを有する不揮発性メモリシステムを操作する方法であって、個々のプレーンは、複数の重ならない記憶素子のブロックに分割され、1つのブロックは、一緒に消去可能なメモリ記憶素子の最小グループを含み、個々のブロックは、記憶素子の複数のページに分割され、1つのページは、一緒にプログラム可能なメモリ記憶素子の最小グループである方法において、
    メタブロック構成要素が1つの単位として一緒に消去されるメタブロックを形成するために、前記少なくとも2つのプレーンのうちの個々のプレーンからの少なくとも1つのブロックをリンクするステップと、
    同じプレーン中で1つの予備物理ブロックが利用可能であれば、欠陥物理ブロックに関連付けられたメタブロック構成要素ブロックを、同じプレーン中の予備物理ブロックへ再指向するステップと、
    同じプレーン中に利用可能な予備物理ブロックが皆無であれば、欠陥物理ブロックに関連付けられていないメタブロック構成要素を、予備ブロック領域に割り当てるステップと、
    メタブロックに対応するエントリを含む欠陥マップ構造を更新するステップと、
    を含む方法。
JP2006547154A 2003-12-30 2004-12-15 マルチブロック単位へのブロックの適応決定論的グループ化 Active JP4960705B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/750,157 US20050144516A1 (en) 2003-12-30 2003-12-30 Adaptive deterministic grouping of blocks into multi-block units
US10/750,157 2003-12-30
PCT/US2004/042400 WO2005066974A1 (en) 2003-12-30 2004-12-15 Adaptive deterministic grouping of blocks into multi-block units

Publications (3)

Publication Number Publication Date
JP2007520842A true JP2007520842A (ja) 2007-07-26
JP2007520842A5 JP2007520842A5 (ja) 2008-02-07
JP4960705B2 JP4960705B2 (ja) 2012-06-27

Family

ID=34701162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006547154A Active JP4960705B2 (ja) 2003-12-30 2004-12-15 マルチブロック単位へのブロックの適応決定論的グループ化

Country Status (9)

Country Link
US (3) US20050144516A1 (ja)
EP (1) EP1700313B1 (ja)
JP (1) JP4960705B2 (ja)
KR (1) KR20060120231A (ja)
CN (1) CN1930635B (ja)
AT (1) ATE451694T1 (ja)
DE (1) DE602004024582D1 (ja)
TW (1) TWI294081B (ja)
WO (1) WO2005066974A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010086106A (ja) * 2008-09-30 2010-04-15 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010086107A (ja) * 2008-09-30 2010-04-15 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010092200A (ja) * 2008-10-07 2010-04-22 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8214579B2 (en) 2008-09-30 2012-07-03 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
US8219742B2 (en) 2008-10-15 2012-07-10 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
JP2012519900A (ja) * 2009-03-04 2012-08-30 マイクロン テクノロジー, インク. メモリブロックの管理
JP2012203508A (ja) * 2011-03-24 2012-10-22 Toshiba Corp メモリシステムおよびプログラム
JP2013513881A (ja) * 2009-12-15 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション フラッシュ型メモリ・システムにおけるアクセス競合の低減方法、プログラム及びシステム
JP2013190959A (ja) * 2012-03-13 2013-09-26 Mega Chips Corp 半導体メモリのリユース処理装置、及び半導体メモリ
JP2013190960A (ja) * 2012-03-13 2013-09-26 Mega Chips Corp 半導体メモリのリユース処理装置、及び半導体メモリ
US8904088B2 (en) 2008-09-30 2014-12-02 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
US8902670B2 (en) 2012-08-31 2014-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2015529929A (ja) * 2012-08-21 2015-10-08 マイクロン テクノロジー, インク. メモリセルの分散されたサブブロックにアクセスすることを伴う装置および方法
JP2016528659A (ja) * 2013-06-17 2016-09-15 マイクロン テクノロジー, インク. メモリタイルアクセスおよび選択パターン
JP2019145188A (ja) * 2018-02-22 2019-08-29 東芝メモリ株式会社 半導体メモリ
CN110770732A (zh) * 2017-06-02 2020-02-07 联邦印刷有限公司 双向链接区块链结构

Families Citing this family (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
JP4284200B2 (ja) * 2004-01-28 2009-06-24 株式会社東芝 不揮発性半導体記憶システム
US7464306B1 (en) * 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
EP1712985A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
ATE493707T1 (de) * 2005-08-03 2011-01-15 Sandisk Corp Nichtflüchtiger speicher mit blockverwaltung
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7409489B2 (en) 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7536627B2 (en) 2005-12-27 2009-05-19 Sandisk Corporation Storing downloadable firmware on bulk media
US7546515B2 (en) 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
JP4810542B2 (ja) * 2005-12-28 2011-11-09 富士通株式会社 メモリ制御方法、プログラム及び装置
US7441068B2 (en) 2006-01-06 2008-10-21 Phison Electronics Corp. Flash memory and method for utilizing the same
US7774643B2 (en) * 2006-01-06 2010-08-10 Dot Hill Systems Corporation Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
GB2434460B (en) * 2006-01-24 2007-12-05 Phison Electronics Corp Flash memory and method for utilizing the same
KR100703807B1 (ko) * 2006-02-17 2007-04-09 삼성전자주식회사 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치
KR100675015B1 (ko) * 2006-02-24 2007-01-29 삼성전자주식회사 스캔 기능 및 컬럼 리던던시를 포함하는 내장형 메모리장치, 리던던시 리페어 및 스캔 방법
JP4171749B2 (ja) * 2006-04-17 2008-10-29 Tdk株式会社 メモリコントローラおよびフラッシュメモリシステム
US20080010510A1 (en) * 2006-06-19 2008-01-10 Tony Turner Method and system for using multiple memory regions for redundant remapping
US20080052446A1 (en) * 2006-08-28 2008-02-28 Sandisk Il Ltd. Logical super block mapping for NAND flash memory
KR100784007B1 (ko) * 2006-10-31 2007-12-10 주식회사 하이닉스반도체 비휘발성 메모리 장치 및 그 소거 방법
KR100809069B1 (ko) * 2006-11-03 2008-03-03 삼성전자주식회사 비휘발성 메모리를 구비하는 광학 매체 드라이브 및 그구동 방법
US20080162612A1 (en) * 2006-12-28 2008-07-03 Andrew Tomlin Method for block relinking
WO2008082950A1 (en) * 2006-12-28 2008-07-10 Sandisk Corporation System for block relinking
US20080162787A1 (en) * 2006-12-28 2008-07-03 Andrew Tomlin System for block relinking
US7468920B2 (en) * 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
US7669092B2 (en) 2007-02-26 2010-02-23 Micron Technology, Inc. Apparatus, method, and system of NAND defect management
US7535764B2 (en) * 2007-03-21 2009-05-19 Sandisk Corporation Adjusting resistance of non-volatile memory using dummy memory cells
CN101636788B (zh) * 2007-03-21 2012-07-18 英特尔公司 管理非易失性存储器的扇区的方法
US20090006436A1 (en) * 2007-06-29 2009-01-01 Alqudah Yazan A Automated yield analysis system
US20090013148A1 (en) * 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
US9373362B2 (en) * 2007-08-14 2016-06-21 Dell Products L.P. System and method for implementing a memory defect map
KR20090021476A (ko) * 2007-08-27 2009-03-04 삼성전자주식회사 메모리 셀 어레이, 이를 포함하는 비휘발성 메모리 장치 및메모리 셀 어레이 구성 방법
KR101372245B1 (ko) * 2007-08-30 2014-03-10 삼성전자주식회사 메모리 셀 어레이, 이를 포함하는 비휘발성 메모리 장치 및메모리 셀 어레이 구성 방법
KR101399549B1 (ko) * 2007-09-04 2014-05-28 삼성전자주식회사 반도체 메모리 장치 및 그것의 블록 관리 방법
US7818493B2 (en) * 2007-09-07 2010-10-19 Sandisk Corporation Adaptive block list management
KR20090026941A (ko) * 2007-09-11 2009-03-16 삼성전자주식회사 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치
US8566504B2 (en) * 2007-09-28 2013-10-22 Sandisk Technologies Inc. Dynamic metablocks
US8751755B2 (en) 2007-12-27 2014-06-10 Sandisk Enterprise Ip Llc Mass storage controller volatile memory containing metadata related to flash memory storage
TW200931425A (en) * 2008-01-11 2009-07-16 Phison Electronics Corp Method for managing flash memory blocks and controller using the same
JP5010505B2 (ja) * 2008-03-01 2012-08-29 株式会社東芝 メモリシステム
JP5032371B2 (ja) 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
WO2009140157A2 (en) * 2008-05-15 2009-11-19 Board Of Governors Of Higher Education, State Of Rhode Island And Providence Plantations Systems and methods for recovering information from nand gate array memory systems
US8074023B2 (en) * 2008-05-22 2011-12-06 Nuvoton Technology Corporation In-system programming to switch memory access from one area to another in memory cards
US7971007B2 (en) * 2008-07-08 2011-06-28 Silicon Motion, Inc. Downgrade memory apparatus, and method for accessing a downgrade memory
KR101103061B1 (ko) * 2008-07-28 2012-01-06 주식회사 팍스디스크 반도체 스토리지 시스템 및 그 제어 방법
US7962801B2 (en) * 2008-10-15 2011-06-14 Silicon Motion, Inc. Link table recovery method
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8261174B2 (en) 2009-01-13 2012-09-04 International Business Machines Corporation Protecting and migrating memory lines
JP4762323B2 (ja) 2009-03-03 2011-08-31 富士通株式会社 アクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法
US8239614B2 (en) * 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8868809B2 (en) * 2009-11-30 2014-10-21 Lsi Corporation Interrupt queuing in a media controller architecture
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US8516264B2 (en) * 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
KR101600951B1 (ko) * 2009-05-18 2016-03-08 삼성전자주식회사 고체 상태 드라이브 장치
US8176284B2 (en) * 2009-08-11 2012-05-08 Texas Memory Systems, Inc. FLASH-based memory system with variable length page stripes including data protection information
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
CN101819821B (zh) * 2010-03-25 2012-08-29 清华大学深圳研究生院 一种固态硬盘动态损耗均衡方法
TWI547872B (zh) * 2010-04-01 2016-09-01 鴻海精密工業股份有限公司 媒體資料播放裝置及其重新啟動方法
JP5559616B2 (ja) * 2010-06-17 2014-07-23 ラピスセミコンダクタ株式会社 半導体メモリ装置
KR20120003283A (ko) * 2010-07-02 2012-01-10 삼성전자주식회사 데이터 저장 장치 및 그것의 배드 블록 관리 방법
TWI435216B (zh) * 2010-09-27 2014-04-21 Silicon Motion Inc 用來進行超區塊管理之方法以及記憶裝置及控制器
TWI425357B (zh) * 2010-09-27 2014-02-01 Silicon Motion Inc 用來進行區塊管理之方法以及記憶裝置及控制器
CN102456401B (zh) * 2010-10-26 2015-04-22 群联电子股份有限公司 区块管理方法、存储器控制器与存储器储存装置
CN102479156B (zh) * 2010-11-22 2015-03-11 慧荣科技股份有限公司 用来进行区块管理的方法、记忆装置及其控制器
CN102479154B (zh) * 2010-11-30 2015-03-11 慧荣科技股份有限公司 用来进行超区块管理的方法、记忆装置及其控制器
TWI446345B (zh) 2010-12-31 2014-07-21 Silicon Motion Inc 用來進行區塊管理之方法以及記憶裝置及控制器
US8578208B2 (en) * 2011-01-13 2013-11-05 Micron Technology, Inc. Determining location of error detection data
US20120262815A1 (en) * 2011-04-15 2012-10-18 Lsi Corporation Method and system for dynamically expandable software based bad block management
KR20120124285A (ko) * 2011-05-03 2012-11-13 삼성전자주식회사 배드 블록 관리를 위한 방법 및 메모리 시스템
CN103688246A (zh) 2011-05-17 2014-03-26 桑迪士克科技股份有限公司 具有在活跃slc和mlc存储器分区之间分布的小逻辑组的非易失性存储器和方法
US9176864B2 (en) 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
KR101269557B1 (ko) * 2011-05-20 2013-06-04 연세대학교 산학협력단 반도체 메모리 수리 장치 및 수리 방법
US8543758B2 (en) 2011-05-31 2013-09-24 Micron Technology, Inc. Apparatus including memory channel control circuit and related methods for relaying commands to logical units
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US8700961B2 (en) 2011-12-20 2014-04-15 Sandisk Technologies Inc. Controller and method for virtual LUN assignment for improved memory bank mapping
US9239781B2 (en) * 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US8924636B2 (en) * 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device
US9355929B2 (en) 2012-04-25 2016-05-31 Sandisk Technologies Inc. Data storage based upon temperature considerations
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9507523B1 (en) * 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
US9032244B2 (en) * 2012-11-16 2015-05-12 Microsoft Technology Licensing, Llc Memory segment remapping to address fragmentation
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US20140181621A1 (en) * 2012-12-26 2014-06-26 Skymedi Corporation Method of arranging data in a non-volatile memory and a memory control system thereof
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
WO2014109756A1 (en) * 2013-01-11 2014-07-17 Empire Technology Development Llc Page allocation for flash memories
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
KR102225989B1 (ko) * 2014-03-04 2021-03-10 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9595352B2 (en) * 2014-03-17 2017-03-14 Seagate Technology Llc Manufacturer self-test for solid-state drives
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US20150339223A1 (en) * 2014-05-22 2015-11-26 Kabushiki Kaisha Toshiba Memory system and method
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9632712B2 (en) * 2014-07-02 2017-04-25 Sandisk Technologies Llc System and method of updating metablocks associated with multiple memory dies
US9626289B2 (en) 2014-08-28 2017-04-18 Sandisk Technologies Llc Metalblock relinking to physical blocks of semiconductor memory in adaptive wear leveling based on health
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
KR102257031B1 (ko) 2015-03-13 2021-05-27 삼성전자주식회사 반도체 집적 회로 설계 방법
US10289327B2 (en) 2015-06-05 2019-05-14 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US9875053B2 (en) 2015-06-05 2018-01-23 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
CN105488722B (zh) * 2015-11-30 2019-11-26 布比(北京)网络技术有限公司 基于衍生链的资产数据处理方法及装置
US10126970B2 (en) * 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
EP3439231A4 (en) * 2016-03-31 2019-11-13 Bitflyer, Inc. PRIVATE NODE, PROCESSING PROCESS FOR PRIVATE NODES AND PROGRAM THEREFOR
CN106372533B (zh) * 2016-09-14 2020-04-21 中国银联股份有限公司 基于区块链技术的内容存储方法
CN106529924A (zh) * 2016-09-29 2017-03-22 马龙 彩色区块链的管理方法及管理系统
KR20180047329A (ko) * 2016-10-31 2018-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20180047778A (ko) 2016-11-01 2018-05-10 삼성전자주식회사 단계별 저전력 상태들을 갖는 메모리 장치
CN106844523B (zh) * 2016-12-29 2020-05-08 北京瑞卓喜投科技发展有限公司 顺序型多维拓展的区块链的生成方法及系统
US10725933B2 (en) * 2016-12-30 2020-07-28 Intel Corporation Method and apparatus for redirecting memory access commands sent to unusable memory partitions
US10223022B2 (en) * 2017-01-27 2019-03-05 Western Digital Technologies, Inc. System and method for implementing super word line zones in a memory device
CN106874440B (zh) * 2017-02-07 2019-11-12 杭州秘猿科技有限公司 一种基于sql数据库的区块链状态存储方法
KR102409760B1 (ko) * 2017-03-17 2022-06-17 에스케이하이닉스 주식회사 메모리 시스템
KR102395434B1 (ko) 2017-03-20 2022-05-09 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
CN107451011B (zh) * 2017-03-24 2020-12-25 北京瑞卓喜投科技发展有限公司 并行增加区块的区块链的勘误方法及系统
TWI646554B (zh) * 2017-03-28 2019-01-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
US10229751B2 (en) 2017-05-01 2019-03-12 Western Digital Technologies, Inc. Storage system and method for bad block recycling
US10649661B2 (en) * 2017-06-26 2020-05-12 Western Digital Technologies, Inc. Dynamically resizing logical storage blocks
TWI641988B (zh) * 2017-07-21 2018-11-21 慧榮科技股份有限公司 用來於一記憶裝置中進行編程管理之方法以及記憶裝置及其控制器
TWI617917B (zh) * 2017-08-28 2018-03-11 慧榮科技股份有限公司 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置
US10977182B2 (en) * 2017-12-01 2021-04-13 Micron Technology, Inc. Logical block mapping based on an offset
US11436154B2 (en) 2017-12-01 2022-09-06 Micron Technology, Inc. Logical block mapping based on an offset
US10635515B2 (en) 2017-12-06 2020-04-28 Sandisk Technologies Llc Recovery of partial memory die
US10445230B2 (en) * 2017-12-08 2019-10-15 Macronix International Co., Ltd. Managing block arrangement of super blocks
KR20190072306A (ko) 2017-12-15 2019-06-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20190073125A (ko) * 2017-12-18 2019-06-26 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10372355B2 (en) * 2017-12-29 2019-08-06 Micron Technology, Inc. Managing partial superblocks in a NAND device
CN108196795B (zh) * 2017-12-30 2020-09-04 惠龙易通国际物流股份有限公司 一种数据存储方法、设备及计算机存储介质
CN108846749B (zh) * 2018-05-31 2021-09-07 杭州溪塔科技有限公司 一种基于区块链技术的分片化的交易执行系统及方法
TWI664528B (zh) * 2018-06-06 2019-07-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN110609795B (zh) * 2018-06-14 2022-11-22 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN108984645B (zh) * 2018-06-25 2021-02-02 百度在线网络技术(北京)有限公司 区块链处理方法、装置、设备及存储介质
CN109032802A (zh) * 2018-07-26 2018-12-18 国信优易数据有限公司 一种区块链系统和管理方法
KR20200042791A (ko) * 2018-10-16 2020-04-24 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102592803B1 (ko) * 2018-10-31 2023-10-24 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20200060053A (ko) * 2018-11-22 2020-05-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11416161B2 (en) 2019-06-28 2022-08-16 Western Digital Technologies, Inc. Zone formation for zoned namespaces
KR20210017481A (ko) 2019-08-08 2021-02-17 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
US11282567B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Sequential SLC read optimization
US11726869B2 (en) 2019-08-20 2023-08-15 Micron Technology, Inc. Performing error control operation on memory component for garbage collection
US20210055878A1 (en) * 2019-08-20 2021-02-25 Micron Technology, Inc. Data compaction within the same plane of a memory component
US11281578B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Garbage collection in a memory sub-system during a low battery state
US11281392B2 (en) 2019-08-28 2022-03-22 Micron Technology, Inc. Garbage collection in a memory component using an adjusted parameter
CN112530494A (zh) * 2019-09-17 2021-03-19 硅存储技术股份有限公司 具有存储的索引信息的非易失性存储器设备
US11640259B2 (en) * 2020-05-21 2023-05-02 Western Digital Technologies, Inc. Use of surplus erase block pairs in super block formation
KR20220165074A (ko) * 2021-06-07 2022-12-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN114080596A (zh) * 2021-09-29 2022-02-22 长江存储科技有限责任公司 用于存储器的数据保护方法及其存储装置
CN115687171B (zh) * 2022-10-26 2023-06-06 深圳三地一芯电子股份有限公司 闪存块绑定方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330876A (ja) * 1999-04-27 2000-11-30 Samsung Electronics Co Ltd メモリ装置のプログラム方法
JP2003015947A (ja) * 2001-07-05 2003-01-17 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003015946A (ja) * 2001-07-05 2003-01-17 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003058417A (ja) * 2001-08-21 2003-02-28 Matsushita Electric Ind Co Ltd 記憶装置
JP2004265162A (ja) * 2003-03-03 2004-09-24 Renesas Technology Corp 記憶装置およびアドレス管理方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5428621A (en) * 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
JP3105092B2 (ja) * 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US5978808A (en) * 1995-12-27 1999-11-02 Intel Corporation Virtual small block file manager for flash memory array
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
WO1999031592A1 (fr) * 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
WO1999032977A1 (fr) * 1997-12-22 1999-07-01 Tdk Corporation Systeme de memoire flash
JP3734620B2 (ja) * 1998-06-24 2006-01-11 沖電気工業株式会社 半導体ディスク装置
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6742078B1 (en) * 1999-10-05 2004-05-25 Feiya Technology Corp. Management, data link structure and calculating method for flash memory
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
DE10134229A1 (de) * 2000-08-17 2002-02-28 Ibm Verfahren und System zum Ermitteln von Abweichungen in Datentabellen
JP3699890B2 (ja) * 2000-08-30 2005-09-28 シャープ株式会社 不揮発性半導体記憶装置
US6574705B1 (en) * 2000-11-16 2003-06-03 International Business Machines Corporation Data processing system and method including a logical volume manager for storing logical volume data
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
DE10236796B4 (de) * 2002-08-08 2004-12-02 Christian Dr. Scheideler Verfahren und Anordnung zur randomisierten Datenspeicherung in Speichernetzwerken und/oder einem Intranet und/oder dem Internet sowie ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
US7478096B2 (en) * 2003-02-26 2009-01-13 Burnside Acquisition, Llc History preservation in a computer storage system
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330876A (ja) * 1999-04-27 2000-11-30 Samsung Electronics Co Ltd メモリ装置のプログラム方法
JP2003015947A (ja) * 2001-07-05 2003-01-17 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003015946A (ja) * 2001-07-05 2003-01-17 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003058417A (ja) * 2001-08-21 2003-02-28 Matsushita Electric Ind Co Ltd 記憶装置
JP2004265162A (ja) * 2003-03-03 2004-09-24 Renesas Technology Corp 記憶装置およびアドレス管理方法

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214579B2 (en) 2008-09-30 2012-07-03 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
JP2010086107A (ja) * 2008-09-30 2010-04-15 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4582232B2 (ja) * 2008-09-30 2010-11-17 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4720891B2 (ja) * 2008-09-30 2011-07-13 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8200890B2 (en) 2008-09-30 2012-06-12 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
JP2010086106A (ja) * 2008-09-30 2010-04-15 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8239615B2 (en) 2008-09-30 2012-08-07 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
US9542199B2 (en) 2008-09-30 2017-01-10 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
US8904088B2 (en) 2008-09-30 2014-12-02 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
JP2010092200A (ja) * 2008-10-07 2010-04-22 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8219742B2 (en) 2008-10-15 2012-07-10 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
JP2012519900A (ja) * 2009-03-04 2012-08-30 マイクロン テクノロジー, インク. メモリブロックの管理
JP2013513881A (ja) * 2009-12-15 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション フラッシュ型メモリ・システムにおけるアクセス競合の低減方法、プログラム及びシステム
US8812774B2 (en) 2011-03-24 2014-08-19 Kabushiki Kaisha Toshiba Memory system and computer program product
JP2012203508A (ja) * 2011-03-24 2012-10-22 Toshiba Corp メモリシステムおよびプログラム
JP2013190959A (ja) * 2012-03-13 2013-09-26 Mega Chips Corp 半導体メモリのリユース処理装置、及び半導体メモリ
JP2013190960A (ja) * 2012-03-13 2013-09-26 Mega Chips Corp 半導体メモリのリユース処理装置、及び半導体メモリ
US9779791B2 (en) 2012-08-21 2017-10-03 Micron Technology, Inc. Apparatuses and methods involving accessing distributed sub-blocks of memory cells
JP2015529929A (ja) * 2012-08-21 2015-10-08 マイクロン テクノロジー, インク. メモリセルの分散されたサブブロックにアクセスすることを伴う装置および方法
US10170169B2 (en) 2012-08-21 2019-01-01 Micron Technology, Inc. Apparatuses and methods involving accessing distributed sub-blocks of memory cells
US10734049B2 (en) 2012-08-21 2020-08-04 Micron Technology, Inc. Apparatuses and methods involving accessing distributed sub-blocks of memory cells
US11282556B2 (en) 2012-08-21 2022-03-22 Micron Technology, Inc. Apparatuses and methods involving accessing distributed sub-blocks of memory cells
US8902670B2 (en) 2012-08-31 2014-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2016528659A (ja) * 2013-06-17 2016-09-15 マイクロン テクノロジー, インク. メモリタイルアクセスおよび選択パターン
CN110770732A (zh) * 2017-06-02 2020-02-07 联邦印刷有限公司 双向链接区块链结构
CN110770732B (zh) * 2017-06-02 2023-06-27 联邦印刷有限公司 采用双向链接的区块链结构在电子存储器中防篡改存储数据的方法、电子数据存储系统和电信系统
JP2019145188A (ja) * 2018-02-22 2019-08-29 東芝メモリ株式会社 半導体メモリ
US11355202B2 (en) 2018-02-22 2022-06-07 Kioxia Corporation Semiconductor memory with different threshold voltages of memory cells
US11837294B2 (en) 2018-02-22 2023-12-05 Kioxia Corporation Semiconductor memory with different threshold voltages of memory cells

Also Published As

Publication number Publication date
US20050144516A1 (en) 2005-06-30
DE602004024582D1 (de) 2010-01-21
ATE451694T1 (de) 2009-12-15
US8117381B2 (en) 2012-02-14
US20110191530A1 (en) 2011-08-04
US20090292944A1 (en) 2009-11-26
EP1700313B1 (en) 2009-12-09
CN1930635A (zh) 2007-03-14
US7970985B2 (en) 2011-06-28
TWI294081B (en) 2008-03-01
EP1700313A1 (en) 2006-09-13
JP4960705B2 (ja) 2012-06-27
WO2005066974A1 (en) 2005-07-21
KR20060120231A (ko) 2006-11-24
CN1930635B (zh) 2012-10-10
TW200540621A (en) 2005-12-16

Similar Documents

Publication Publication Date Title
JP4960705B2 (ja) マルチブロック単位へのブロックの適応決定論的グループ化
US8312245B2 (en) Memory block management
US6725321B1 (en) Memory system
US9778863B2 (en) System and method for folding partial blocks into multi-level cell memory blocks
US7787297B2 (en) Flash memory device and flash memory system
US7509471B2 (en) Methods for adaptively handling data writes in non-volatile memories
US9489301B2 (en) Memory systems
EP1410399B1 (en) Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US8285916B2 (en) Storage device
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
US7680977B2 (en) Page and block management algorithm for NAND flash
US7404031B2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
US20070101096A1 (en) Non-volatile memory with adaptive handling of data writes
TWI428920B (zh) 適應性處理資料之寫入於非揮發性記憶體
JP2008524705A (ja) スクラッチパッドブロック

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101013

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111021

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120323

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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