JP4768771B2 - 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 - Google Patents

不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 Download PDF

Info

Publication number
JP4768771B2
JP4768771B2 JP2008075388A JP2008075388A JP4768771B2 JP 4768771 B2 JP4768771 B2 JP 4768771B2 JP 2008075388 A JP2008075388 A JP 2008075388A JP 2008075388 A JP2008075388 A JP 2008075388A JP 4768771 B2 JP4768771 B2 JP 4768771B2
Authority
JP
Japan
Prior art keywords
data
block
page
pages
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.)
Expired - Lifetime
Application number
JP2008075388A
Other languages
English (en)
Other versions
JP2008226254A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25076410&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4768771(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2008226254A publication Critical patent/JP2008226254A/ja
Application granted granted Critical
Publication of JP4768771B2 publication Critical patent/JP4768771B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/16Flash programming of all the cells in an array, sector or block simultaneously

Description

本発明は、半導体不揮発性データ格納システムのアーキテクチャの技術分野および上記アーキテクチャの動作方法に関し、フラッシュ型の電気的に消去可能でプログラム可能なリードオンリーメモリ(EEPROM)に基づくデータ格納システムに適用される。
フラッシュEEPROMデバイスの一般的利用として、電子デバイス用大容量データ記憶のサブシステムとしての利用がある。このようなサブシステムは、複数のホストシステムの中へ挿入可能な取り外し可能なメモリカードとして、または、ホストシステム内の取り外し不可能な組み込み型記憶装置としてのいずれかの形で一般に具現化される。上記双方の実装構成にはサブシステムに1以上のフラッシュデバイスが含まれ、またサブシステムコントローラが含まれる場合も多い。
フラッシュEEPROMデバイスは、トランジスタセルからなる1以上のアレイから構成され、各セルは1以上のビットデータの不揮発性格納を行う能力を有する。したがって、フラッシュメモリは、その中でプログラムされたデータの保持用電力を必要としない。しかし、一旦セルをプログラムすると、新しいデータ値での再プログラムが可能となる前にセルの消去が必要となる。これらのセルアレイはグループに分割され、読出し、プログラム、消去の各機能の効率的実装構成が提供される。大容量記憶用の代表的なフラッシュメモリ用アーキテクチャは大きなグループのセルが消去可能なブロックとなるように構成され、1ブロックには一度に消去可能な最小数のセル(消去単位)が含まれる。
1つの市販の形態では、1セクタのユーザデータとユーザデータおよび/またはユーザデータが格納されているブロックと関連するいくつかのオーバヘッドデータを格納できる十分なセルが各ブロックに含まれている。1セクタに含まれるユーザデータの量は、このようなメモリシステムの1つのクラスでは標準の512バイトであるが、何らかの別のサイズにすることも可能である。個々のセルブロックを個々に消去可能にするために必要な個々のセルブロックを相互に絶縁するためのスペースが集積回路のチップ上にとられるため、別のクラスのフラッシュメモリではブロックをかなり大きなものにしている。そのためこのような絶縁を行うためのスペースが少なくなる。しかし、さらに小さなセクタ内でのユーザデータの処理も求められるため、大きなブロックの各々が、ユーザデータの読出しとプログラミングの基本単位(プログラミングおよび/または読出し単位)である個々にアドレス可能なページにさらに分割される場合が多い。各ページは通常1セクタのユーザデータを格納するが、1ページが部分セクタまたは複数セクタを格納することもできる。本願では、“セクタ”という用語は、1単位としてホスト間を往来して転送されるユーザデータの量を意味するために用いられる。
大きなブロックシステム内のサブシステム用コントローラは、メモリサブシステムがホストから受信する論理アドレス(LBA)と、メモリセルアレイ内の物理ブロック数とページアドレスとの間の変換機能を含むいくつかの機能を実行する。この変換は、論理ブロック数(LBN)と論理ページのための中間項の使用を伴うことが多い。また、上記コントローラは、インタフェースバスを介してフラッシュメモリデバイスへ出される一連のコマンドを通じて低レベルのフラッシュ回路の動作の管理も行う。上記コントローラが行う別の機能として、誤り訂正符号(ECC)などを利用する種々の手段によって、上記サブシステムに対して格納されたデータの完全性を保持する機能がある。
理想的ケースでは、1ブロックのすべてのページ内のデータは、まだ割り当てられていない消去されたブロック内のページに対して更新データを書込むことにより通常一括更新され、論理ブロック対物理ブロック番号のテーブルが新しいアドレスで更新される。次いで、原ブロックはデータを消去することができる。しかし、所定のブロック内のページのすべてよりも少ない複数のページに格納されたデータを更新する必要がある場合の方がさらに一般的である。所定のブロックの残りのページに格納されたデータは変化しないまま残る。1ブロック当たりで格納されるデータのセクタ数が多くなるシステムではこのようなことが生じる確率が高くなる。このような部分的ブロックの更新を行うために現在用いられている1つの技法として、更新対象ページのデータを対応する数の未使用の消去されたブロックのページの中へ書込み、次いで、原ブロックから新しいブロックのページの中へ上記無変化のページをコピーする技法がある。次いで、原ブロックの消去を行い、未使用ブロックのインベントリにこのブロックを追加することができる。この未使用ブロックで後程データのプログラムを行うことができる。別の技法では、更新されたページの同様の書込みを新しいブロックに対して行い、原ブロック内のページのフラグの変更により他のデータページを新しいブロックの中へコピーすることは不要となる。上記原ブロック内のページが更新され、該ページが旧いデータを含むことが示される。次いで、データが読出されると、新しいブロックのページから読出された更新されたデータが、旧いデータとしてフラグされていない原ブロックのページから読出された無変化のデータと組み合わされる。
米国特許第5,890,192号 米国特許出願第09/505,555号
端的にかつ一般的に述べると、本発明の1つの主要な局面によれば、1ブロック内のページのすべてよりも少ないデータの更新を行う場合、原ブロックから新しいブロックへの無変化のデータのコピーと原ブロック内でのフラグの更新の必要性の双方が回避される。これは、置換されたデータページと更新されたデータページの双方のページを共通の論理アドレスを用いて保持することにより達成される。次いで原ページと更新されたデータページとは、これらのページがプログラムされた相対的順序により識別される。読出しが行われている間、同じ論理アドレスを持つページに格納された最新のデータが無変化のデータページと組み合わされ、一方、更新されたページの原バージョン内のデータは無視される。原データとは異なるブロック内のページ、または、同じブロック内の利用可能な未使用ページのいずれかのページへ上記更新データの書込みを行うことができる。1つの具体的な実装構成では、同じ論理アドレスを持つページが書込まれた相対的順序の決定を可能にする各データページと共に、あるタイムスタンプ形式が格納される。別の具体的な実装構成では、ブロック内である特定の順序でページのプログラミングを行うシステムにおいて、あるタイムスタンプ形式が各データブロックと共に格納され、ブロック内の最新ページのコピーがブロック内の該ページの物理位置により確定される。
これらの技法により、原ブロックから新しいブロックへ無変化のデータをコピーする必要性と、更新されたデータを含む原ブロックのページ内でフラグまたは別のデータの変更を行う必要性とが回避される。置換ページ内でフラグまたは他のデータの変更を行う必要がなくなることにより、当該同一ブロックの隣接ページ内で前回書込まれたデータが妨害を受ける可能性が除外される。上記妨害はこのような書込み動作から生じる可能性がある。また、追加のプログラム処理のパフォーマンスペナルティも回避される。
上記要約された技法と関連して利用することが可能な別の動作特性により、個々のメモリセルブロック内の個々のデータページの論理オフセット値が絶えず追跡され、それによって置換されたデータと同じ物理ページオフセット値と共に更新されるデータを格納する必要がなくなる。これによって新しいブロックのページのさらに効率的な利用が可能となり、置換されたデータと同じブロックの任意の消去されたページに更新データを格納することさえ可能となる。
本発明の別の主要な局面によれば、メモリアレイ(“サブアレイ”とも呼ばれる)の別個のユニット内に配置された2以上のブロックが、単一動作の一部としてプログラミングと読出しを行うために一括してグループ化される。本願ではこのような複数ブロックのグループを“メタブロック”と呼ぶ。メタブロックの構成ブロックは、単一のメモリ集積回路チップ上にすべて配置されるか、2以上の異なるチップ上に配置されて、2以上のこのようなチップを使用するシステム内に存在するかのいずれかとなる。これらのブロックのうちの1ブロックのページのすべてよりも少数のページ内のデータが更新されると、当該同一ユニット内の別のブロックの使用が通常要求される。実際、上述の技法またはその他の技法をメタブロックの各ブロックで別個に採用することも可能である。したがって、メタブロックの2以上のブロックのページ内のデータを更新するとき、2以上の追加ブロック内のページを使用する必要がある。例えば、上記メタブロックを形成する4つの異なるメモリユニットからなる4つのブロックがある場合、例えば、追加の4ブロックにまで、これらユニットの各ユニット内の1つのブロックが原ブロックの更新ページを格納するために使用される或る確率が生じる。原メタブロックの各ブロックについて各ユニットで1つの更新ブロックが潜在的に要求される。さらに、本発明によれば、上記メタブロック内の2以上のブロックのページから更新されたデータを上記ユニットのうちのただ1つのユニット内の共通ブロックのページに格納することができる。これにより、更新データの格納に必要な未使用の消去されたブロックの数が大幅に減少し、それによってデータの格納に利用可能なメモリセルブロックの利用がさらに効率的になる。メモリシステムがメタブロックからの単一ページを更新する頻度が高い場合、この技法は特に有用である。
本発明の追加の局面、特徴および利点は、実施形態例についての以下の説明の中に含まれ、添付図面と関連して読まれることが望ましい。
現行の大ブロック管理技法についての説明
図1は、一般的なフラッシュメモリデバイス内部のアーキテクチャを示す。その主要な特徴として、外部コントローラとのインタフェースを行うための入出力(I/O)バス411と制御信号412と、コマンド信号、アドレス信号および状態信号用のレジスタを用いて内部メモリの動作を制御するメモリ制御回路450が含まれる。フラッシュEEPROMセルからなる1以上のアレイ400が含まれ、各アレイは、アレイ自身の行デコーダ(XDEC)401および列デコーダ(YDEC)402、1グループのセンス増幅器およびプログラム制御回路構成(SA/PROG)454とデータレジスタ404を備えている。現在、メモリセルには記憶エレメントとして1以上の導電性フローティングゲートが通常含まれているが、この代わりに別の長時間電子電荷記憶エレメントを使用してもよい。各記憶エレメントについて設定される2つのレベルの電荷を用いてメモリセルアレイを動作させることも可能であり、したがって各エレメント当り1ビットのデータが格納される。上記とは別に、各記憶エレメントと関連して3以上の記憶状態を設定してもよい。その場合、1ビット以上のデータが各エレメントに格納される。
所望の場合、例えば、1999年3月30日発行され、本願の譲受人であるサンディスク コーポレイションに譲渡された米国特許第5,890,192号(特許文献1)に教示されているように、関連するXデコーダ、Yデコーダ、プログラム/検証された回路、データレジスタ等と一体に複数のアレイ400が設けられる。上記特許は本願明細書で上記参照により援用されている。メモリシステムの特徴に関連して、Kevin Conleyらによる2000年2月17日出願の同時継続中の特許出願第09/505,555号(特許文献2)に記載がある。上記特許は、本願明細書で上記参照により明白に援用されている。
外部インタフェースI/Oバス411と制御信号412とは以下を含むことができる。
CS−Chip選択 フラッシュメモリインタフェースの起動に使用され
る。
RS−READストローブ メモリアレイからのデータ転送にI/Oバスが使用
中であることを示すために使用される。
WS−Writeストローブ メモリアレイへのデータ転送にI/Oバスが使用中
であることを示すために使用される。
AS−Addressストローブ アドレス情報の転送にI/Oバスが使用中であるこ
とを示す。
AD[7:0]−アドレス このI/Oバスは、コントローラとメモリ/データ
バス制御450のフラッシュメモリコマンド用レジ
スタ、アドレスレジスタおよびデータレジスタ間で
のデータ転送に使用される。
このインタフェースは一例として示すものにすぎず、同じ機能を提供する別の信号構成の利用も可能である。図1には、フラッシュメモリの関連する構成要素を備えた一つのフラッシュメモリアレイ400しか示されていないが、単一のフラッシュメモリチップ上に多数の同様のアレイの存在が可能である。これらのアレイは、共通のインタフェースとメモリ制御回路構成とを共有しながら、個々に独立したXDEC、YDEC、SA/PROGおよびDATA REG回路構成を備えて、読出し動作とプログラム動作の同時動作を可能にすることを目的とするものである。
I/OバスAD[7:0]411と結合しているデータレジスタを介してデータはメモリアレイからデータレジスタ404を通って外部コントローラへ転送される。データレジスタ404は、センス増幅器/プログラミング回路454とも結合される。各センス増幅器/プログラミング回路エレメントと結合されたデータレジスタのエレメントの数は、各メモリセルの各記憶エレメントに格納されているビット数により決めてもよい。フラッシュEEPROMセルの各セルには記憶エレメントとして1以上のフローティングゲートが含まれている。多状態モードでメモリセルの処理を行う場合、各記憶エレメントは2または4などの複数ビットを格納するものであってもよい。上記とは別に、メモリセルは、2進モードで処理して1記憶エレメント当たり1ビットデータの格納を目的とするものであってもよい。
行デコーダ401は、アクセス対象の物理ページを選択するためにアレイ400に関連する行アドレスの復号化を行う。行デコーダ401は、メモリ制御論理回路450から内部行アドレスライン419を介して行アドレスを受け取る。列デコーダ402はメモリ制御論理回路450から内部列アドレスライン429を介して列アドレスを受け取る。
図2は、代表的な不揮発性データ格納システムのアーキテクチャを示す。このケースでは、格納メディアとしてフラッシュメモリセルが採用されている。1つの形態では、このシステムは、一方の側部に沿って延在する電気的コネクタを備えた取り外し可能なカード内にカプセル化され、このカードがホストの差込み口の中へ挿入されると、ホストとのインタフェースが行われる。上記とは別に、図2のシステムは、永久にインストールされた組み込み型回路などの形でホストシステムの中へ組み込まれる場合もある。このシステムでは、単一のコントローラ301が利用され、このコントローラ301によりハイレベルのホスト機能とメモリ制御機能とが実行される。フラッシュメモリメディアは1以上のフフラッシュメモリデバイスから構成され、このような各デバイスはそれ自身の集積回路チップ上に形成される場合が多い。上記システムコントローラとフラッシュメモリとはバス302により接続され、該バスによりコントローラ301は、コマンド、アドレスおよびフラッシュメモリアレイ間を往来する転送データのロードを行うことが可能となる。コントローラ301によりホストシステム(図示せず)とのインタフェースが行われ、このホストシステムを用いてフラッシュメモリアレイ間を往来するユーザデータの転送が行われる。図2のシステムがカード内に含まれているケースでは、ホストインタフェースには、カードとホスト装置とつながる接続プラグとソケットアセンブリ(図示せず)とが含まれる。
コントローラ301は、ホストからコマンドを受け取り、ある特定の論理アドレスから始まるユーザデータの1以上のセクタの読出しあるいは書込みを行う。このアドレスは、物理メモリセルブロックの境界と整合する場合もあれば、整合しない場合もある。
上述したように、複数ページに分割された大容量メモリセルブロックを含む従来技術によるシステムのなかには、原ブロックからホストにより書込まれた新しい更新データを含む新しいブロックへ更新されないブロックから得られるデータのコピーを行わなければならないものもある。この技法が図4に示されており、多数のメモリブロックのうち2つのブロックが含まれている。一方のブロック11(PBN0)は8ページに分割されて示され、このブロックのページの各ページに1セクタのユーザデータが格納されるようになっている。各ページ内に含まれるオーバヘッド用データフィールドにはブロック11のLBNを含むフィールド13が含まれる。1論理ブロック内での論理ページの順序は、物理ブロック内の対応する物理ページに関して固定されている。第2の同様に構成されたブロック15(PBN1)は未使用の消去されたブロックのインベントリから選択される。原ブロック11のページ3〜5内のデータは、新しい3データページ17により更新される。新しいデータが新しいブロック15の対応するページ3〜5の中へ書込まれ、ブロック11のページ0〜2、6、7からのユーザデータは新しいブロック15の対応するページの中へコピーされる。新しいブロック15のすべてのページがプログラミング動作の単一シーケンスの形で好適にプログラムされる。ブロック15のプログラム後、原ブロック11を消去して、後で利用するためにインベントリの中に入れておくことができる。ブロック11と15との間のデータのコピーは、原ブロック内の1以上のページからのデータの読出しと、新しく割り当てられたブロックのページに対する同じデータの後でのプログラミングを必要とするものであるが、このコピーにより、書込みパフォーマンスが大幅に低下し、格納システムの使用可能な耐用期間が大幅に短くなる。
図5Aと5Bを参照すると、図4との関連で説明したデータの更新前(図5A)とデータの更新後(図5B)に、部分的テーブルによる論理ブロックの対応付けが原ブロック11と新しい物理ブロック15とに変換されて示されている。この例では、データ更新前に、LBN0のページ0〜7が原ブロック11によりPBN0の対応するページ0〜7の中へ格納される。このデータ更新後、LBN0のページ0〜7が新しいブロック15によりPBN1の対応するページ0〜7に格納される。次いで、LBN0からデータの読出しを求める要求の受信が物理ブロック11の代わりに物理ブロック15へ向けられる。一般的コントローラの動作では、データフィールド13の読出し時にアドレス指定されるPBNの物理ページと情報とから読出されるLBNフィールド13から、図5Aと図5Bに示すテーブルの形のテーブルが構成される。このテーブルは、アクセスを容易にするためにコントローラの揮発性メモリの中に通常格納されるが、一般に、システム全体に関連する完全なテーブルの一部が任意の1時点に格納されるにすぎない。このテーブルの一部は、このテーブル部分に含まれるブロックに関わる読出し動作またはプログラミング動作の直前に通常形成される。
従来技術による別のシステムでは、ユーザデータと共にフラグがページに記録され、これらのフラグを用いて、新しく書込まれたデータにより置換された原ブロック内のデータページが無効であることが示される。この新しいデータだけが新しく割り当てられたブロックへ書込まれる。したがって、書込み動作に関与しないが、置換されたデータと同じ物理ブロック内に含まれるこのブロックのページ内のデータを新しいブロックの中へコピーする必要はない。この処理が図6に示され、原ブロック21(PBN0)内のデータページ3〜5が再び更新されている。データ23からなる更新ページ3〜5が新しいブロック25の対応するページ内へ書込まれる。同じ処理の一部として、新/旧フラグ27がページ3〜5の各々の中へ書込まれ、当該ページのデータが旧いデータであることが示されているが、一方、残りのページ0〜2、6、7用のフラグ27は“新”にセットされた状態のままである。同様に、新しいPBN1がブロック21のページ3〜5の各々別のオーバヘッドデータフィールドの中へ書込まれ、更新データがどこに位置するかが示される。LBNとページとは物理ページの各範囲内のフィールド31に格納される。
図7Aと7Bは、データの更新完了前(図7A)とデータの更新完了後(図7B)のデータLBN/ページとPBN/ページとの間の対応関係を示すテーブルである。LBNの無変化のページ0〜2、6と7はPBN0の中へ対応づけられた状態のまま残り、一方、更新されたページ3〜5はPBN1内に存在することが示される。図7Bのテーブルは、ブロックPBN0内のページのオーバヘッドデータフィールド27、29、31をデータ更新後に読出すことによりメモリコントローラにより構成される。フラグ27が、原ブロックPBN0のページ3〜5の各ページで“旧”にセットされているため、当該ブロックは、当該ページに関連するテーブルに二度と現れることはない。逆に、新しいブロック番号PBN1が、更新ページのオーバヘッドフィールド29’から読出された後、代わりに出現する。データがLBN0から読出されると、図7Bの右欄にリストされたページに格納されたユーザデータが読出され、次いで、図示された順序で組み立てられてホストへ転送される。
一般に種々のフラグが、LBNやECCなどの関連する別のオーバヘッドデータと同じ物理ページに配置される。したがって、データがすでに置換されているページに新/旧のフラグ27およびその他のフラグをプログラムすることは、1ページが複数のプログラミングサイクルをサポートすることを必要とする。すなわち、メモリアレイは、消去が行われる間にそのページが少なくとも2段階のプログラミングを行い得る能力を備えていなければならない。さらに、より高いオフセット値またはアドレスを持つブロック内の別のページが予めプログラムされているとき、ページをプログラムする能力がブロックによりサポートされている必要がある。しかし、物理的にシーケンシャルな方法でしかブロック内のページをプログラムできない旨の指定により設けられた制限に起因して、フラッシュメモリによってはこのようなフラグの利用ができないものもある。さらに、ページによっては有限回のプログラムサイクルしかサポートされていないものもあり、場合によっては、プログラムされたページの追加プログラミングが許されていない場合もある。
求められるメカニズムは、無変化のデータの現行ブロックからのコピー、あるいは、予めプログラムされたページに対するフラグのプログラミングのいずれも行わずに、現行のブロックに格納されたデータを部分的に置き換えるデータ書込みを行うことが可能なメカニズムである。
本発明の実施形態例についての説明
多くの異なるタイプのフラッシュEEPROMが存在するが、これらの各EEPROMには、狭い集積回路の面積に形成される高いパフォーマンスを示すメモリシステムを動作させるために避ける必要があるそれ自身の制限が存在する。上記タイプのEEPROMのなかには、予めプログラムされたページの中へデータの書込みを全く行わないものもあるため、上述したような置換されたデータを含むページ内でのフラグの更新が不可能なものもある。別のタイプのEEPROMのなかには、このようなフラグの書込みが可能なものもあるが、置換されたデータを含むページに書込みを行うことにより使用状態のままになっている同じブロックの他のページ内のデータが妨害を受ける可能性がある。
上記の事実が問題となることが判明したメモリシステムの一例として、ビットラインと共通電位との間で連続する回路列としてメモリセルの列が形成されるNAND型メモリシステムがある。各ワードラインは、上記のような各回路列内の1つのセルから形成されるメモリセルの行の両端にわたって延在する。多状態モードでこのようなメモリを処理して、上記のような各セルに2ビット以上のデータを格納する場合、上記メモリは、特にメモリ状態に対する上記のような妨害を受けやすくなる。メモリセルトランジスタのしきい値電圧の範囲の利用可能なウィンドウは上記のような処理により非オーバラップ電圧レベルの狭い範囲に分割されるが、上記各範囲はレベル数、したがって、各セルに格納されているビット数の増加につれてより狭くなる。例えば、4つのしきい値範囲を用いる場合、2ビットのデータが各セルの記憶エレメントに格納される。さらに、4つのしきい値電圧の各範囲が必然的に狭いため、同じブロック内の別のセルのプログラミングによりセル状態が妨害を受ける可能性は多状態処理に伴って大きくなる。この場合、図6および図7Aと7Bとに関連して説明したような新/旧または別のフラグの書込みを許容することはできなくなる。
図4〜7Bとに関連して上述した現行の各メモリ管理技法の一般的特徴として、論理ブロック数(LBN)とページオフセット値とが、システム内で多くて2つの物理ブロック数(PBN)に対応づけられるという点が挙げられる。一方のブロックは原ブロックであり、他方のブロックは更新されたページデータを含むブロックである。データは、上記ブロックの論理アドレス(LBA)の下位ビットに対応するブロック内のページ位置へ書込まれる。この対応付けにより、種々のタイプのメモリシステムでの固有の特徴が示される。以下で説明する技法では、置換されたデータを含むページと同じLBNとページオフセット値とが更新データを含むページに割り当てられる。しかし、置換した形で原データを含むページのタグ付けを行う代わりに、メモリコントローラは、この置換されたデータを含むページを新しい更新バージョンを含むページと識別する。この識別は、(1)カウンタなどを用いて追跡することにより、同じ論理アドレスを含むページが書込まれる順序の識別を行う、および/または、(2)ブロック内で最下位のページアドレスから最高位のページアドレスへページが順に書込まれるとき、より高位の物理アドレスに最新のデータコピーが含まれる物理ページアドレスと更新バージョンを含むページとの識別を行うかのいずれかにより行われる。したがって、読出しのためにデータのアクセスを行うとき、同じ論理アドレスを持つ置換されたデータが含まれるページが存在する場合には最新のページ内のデータが使用され、一方、置換されたデータは無視される。
図8と図9に関連して上記技法の第1の具体的な実装構成について説明する。この例でも状況は図4〜7Bに関連して説明した従来の技術の状況と同じである。すなわち、ブロック35内でデータの部分的再書込みが行われる。但し、この例では各ブロックが16ページを含むように示されている。ブロック35(PBN35)のページ3〜5の各々に関連する新しいデータ37が、上述の場合と同様に、予め消去された新しいブロック39(PBN1)の3ページの中へ書込まれる。LBNおよび更新データを含むPBN1のページの中へ書込まれるページオフセット値のオーバヘッドデータフィールド41は、最初のブロックPBN0内の置換されたデータのページのオーバヘッドデータフィールドと同じである。フィールド41と41’内のデータから形成される図9のテーブルに上記のことが示されている。第1列内の論理LBNとページオフセット値とが対応づけられて、第2列内の第1の物理ブロック(PBN0)の中へ入れられ、次いで、上記論理LBNとページオフセット値は、更新されたページについては、第3列内の第2の物理ブロック(PBN1)の中へも入れられる。新しいブロックPBN1内の3ページの更新されたデータの各ページの中へ書込まれたLBNおよび論理ページオフセット値41’は、原ブロックPBN0の対応する論理ページの各ページの中へ書込まれるオフセット値41と同じものである。
同じLBNとページオフセット値とを持つ2つのページのうちいずれのページが更新データを含むかを決定するために、各ページは別のオーバヘッドフィールド43を含み、このオーバヘッドフィールドによって、同じ論理アドレスを持つ別のページのプログラミング時刻に対する上記各ページの少なくとも相対的なプログラミング時刻の表示が行われる。これによって、メモリからデータを読出す際に、コントローラは、同じ論理アドレスが割り当てられているデータページの相対的作成時期の決定を行うことが可能となる。
タイムスタンプ形式を含むフィールド43に書込みを行ういくつかの方法がある。最も単純な方法としては、当該フィールドの関連ページのデータをプログラムする際に、システム内のリアルタイムのクロック出力を当該フィールドに記録するという方法がある。その場合、同じ論理アドレスを持つ後でプログラムされたページには、フィールド43に記録された後の時刻が出力される。しかし、このようなリアルタイムのクロックがシステムで利用できない場合、別の技法を利用することができる。1つの具体的な技法として、フィールド43の値としてモジュロ−Nカウンタの出力を格納する方法がある。このカウンタ値の範囲は、同じ論理ページ番号を用いて格納することが意図されているページ数よりも1だけ大きい値にすることが望ましい。例えば、原ブロックPBN0内のある特定ページのデータを更新するとき、コントローラは、更新データを持つページのフィールド43に格納されたカウント値をまず読出し、1などのある量だけこのカウント値を増分し、次いで、フィールド43’として増分された当該カウント値を新しいブロックPBN1に書込む。このカウンタ値は、N+1のカウントに達すると、0へロールオーバーする。同じLBNを持つブロックの数はNよりも少ないため、格納されたカウント値には常に不連続なポイントが存在する。この不連続ポイントに対する正規化を行って上記ロールオーバーの処理を行うことは容易である。
データの読出し要求が行われると、同じLBAとページオフセット値とを持つページフィールド43と43’内のカウント値を比較して、新しいページと置換ページのデータ間の識別がコントローラにより容易に行われる。データファイルの最新バージョンを読出す必要に応じて、特定した新しいページから得られるデータは更新されていない原ページと共に組み立てられ、データファイルの最新バージョンの中へ入れられる。
図8の例では、新しいデータページ37は、原ブロックPBN0内で上記新しいデータページにより置き換えられる同じページ3〜5に格納されるのではなく、新しいブロックPBN1の最初の3ページ0〜2に格納されることに留意されたい。個々の論理ページ番号を追跡することにより、置換されたデータを含む旧いブロックのページオフセット値と同じ新しいブロックのページオフセット値に上記更新データを必ずしも格納する必要はない。置換されたデータのページと同じブロックの消去されたページへ更新されたデータページを書込むことも可能である。
この結果、どの物理ページの中へ新しいデータの書込みが可能かについて制限を設けるような上述した技法が示す制約は存在しなくなる。しかし、これらの技法が実行されるメモリシステムに若干の制約が設けられる場合がある。例えば、1つのNANDシステムでは、シーケンシャルな順序でブロック内のページをプログラムすることが求められる。これは、新しいブロック25で行われたような(図6)中程のページ3〜5のプログラミングによって、後でプログラムを行うことができないページ0〜2が無駄になることを意味する。新しいブロック39の利用可能な最初のページの新しいデータ37をこのような限定的システムに格納すること(図8)により、別のデータを格納するために後で使用する残りのページ3〜7が利用可能となる。実際、新しいデータ37の3ページが格納された時刻にブロック39がそのページ0〜4に別のデータを格納すれば、残りの未使用ページ5〜7に新しいデータを格納することが可能となる。これによって、このようなシステムの利用可能な記憶容量が最大限に利用される。
図8のブロックの個々のページに格納されたデータの構造の一例を図10に示す。最も大きな部分はユーザデータ45である。ユーザデータから計算された誤り訂正符号(ECC)47もこのページに格納される。LBNとページタグ41(論理ページオフセット値)とを含むオーバヘッドデータ49、タイムスタンプ43およびオーバヘッドデータから計算されたECC51もこのページに格納される。ユーザデータECC47から独立したオーバヘッドデータをカバーするECC50をオーバヘッド49が含むことにより、オーバヘッド49は上記ユーザデータから独立に個々に読出され、ページに格納されたデータのすべての転送を必要とせずに、このオーバヘッド49を有効なデータとして評価することができる。しかし、上記とは別に、オーバヘッドデータ49の別個の読出しが頻繁ではないイベントの場合、1ページ内のECCの総ビット数を減らすために、単一のECCによりこのページ内のデータのすべてをカバーする場合もある。
発明性を有する上記技法の第2の具体的な実装構成について図8と関連して説明することもできる。本例では、タイムスタンプを用いてブロックに格納したデータの相対的作成時期のみが決定され、一方、同じLBNとページ数とを担持するページのうちの最新ページについては、そのページの相対的物理位置により当該最新ページが決定される。この場合、各ページの一部としてタイムスタンプ43を格納する必要はない。代わりに、各ブロックについて、該ブロックの一部として単一のタイムスタンプを記録するか、不揮発性メモリ内のどこかに単一のタイムスタンプを記録するかのいずれかが行われ、次いで、ブロックの中へ1データページが書込まれる度にこのタイムスタンプの更新を行うようにしてもよい。次いで、データは、同じLBNを持つデータページを含む最新の更新ブロックの最後のページから始まる降順の物理アドレスの順序でページから読出される。
例えば、図8では、最後のページ(ページ15)から第1ページ(ページ0)へ新しいブロックPBN1で上記ページがまず読出され、次いで原ブロックPBN0のページの同じ逆順で読出しが後続する。一旦新しいブロックPBN1から論理ページ3、4、5が読出されてしまうと、同じ論理ページ番号により特定される原ブロックPBN0の当該ページ内の置換されたデータについては読出し処理が行われている間スキップすることができる。詳細には、一旦物理ページ3、4、5のLBN/ページ41が、新しいブロックPBN1からすでに読出されたページのLBN/ページと同じであることがコントローラにより決定されると、この例では、読出しが行われている間、旧いブロックPBN0の物理ページ3、4、5はスキップされる。この処理により、読出し速度が上昇し、各ページについて格納の必要があるオーバヘッドビット49の数を減らすことができる。さらに、この逆順のページ読出し技法を用いると、読出し動作中にコントローラが使用する図9のテーブルを図5Aと5Bの形に単純化することが可能となる。この効率的な読出し処理を実行するためには、共通論理ブロックのデータと物理ブロックがプログラムされた相対的時刻とを含む当該物理ブロックの識別子を知るだけで十分である。
図11は、ブロックPBN0に最初に書込まれたデータに対する第2の更新データが含まれる図8の例の拡張を示す図である。論理ページ5、6、7、8に関連する新しいデータ51が、該データのLBNとページ番号と共に新しいブロックPBN1のそれぞれの物理ページ3、4、5、6へ書込まれる。この例では、論理ページ5のデータは2度目に更新されたものである点に留意されたい。新しいブロックPBN1の最後のページから始まる読出し動作の最中に、関心対象データからなる最も新しく書込まれた論理ページ8、7、6、5が上記順序でまず読出される。その後、PBN1の物理ページ2内のLBN/ページのオーバヘッドフィールドが物理ページ3から読出されるオーバヘッドフィールドと同じであるため、ページ2のユーザデータは読出されないことに留意されたい。次いで、物理ページ1と0が読出される。次に、物理ページ15から始まる原ブロックPBN0のページが読出される。物理ページ15〜9の読出し後、ページ8〜3の各々のLBN/ページフィールドがすでに読出されているデータを持つページのLBN/ページフィールドに一致し、したがって、当該ページから旧いデータを読出す必要がないことにコントローラは気づく。このようにして読出し処理の効率が改善される。最後に、当該データが更新されなかったため、物理ページ2〜0の原データが読出される。
データがページ0から順に消去されたブロックの物理ページ位置に書込まれるため、逆順にページを読出すこの例によって、置換されたデータページから新しいデータページが効率的にソートされることに留意されたい。しかし、この技法は、このようなある特定のプログラミング上の制約を持つメモリシステムの場合の使用に限定されるものではない。ページが所定のブロック内でプログラムされる順序がわかっている限り、当該ページから得られるデータが書込まれた逆順で該データを読出すことも可能である。所望のこととして、以前にプログラムされた他のページと共通のLBNを持つ最新のプログラムされたページがまず読出され、次いで、これらのページが最新のプログラムされたページとなるということが挙げられる。置換されたバージョンを後で容易に特定できるように、更新ページの最新バージョンがまず読出される。
論理データと物理ページアドレス間の対応関係を示す図11の例に関連するテーブルを図12に示す。2回のデータ更新が行われたにもかかわらず、双方の更新データとも第2のブロックPBN1の単一の列により表されている。論理ページ5に関連してPBN1に書かれている物理ページは、2回目の更新時に、作成される当該ページへ単に変更されるにすぎない。この更新で第3のブロックを用いる場合、この別のブロック用の別の列が追加される。図12のテーブルは、共通のLBNのデータが書込まれたブロック内の各ページからオーバヘッドデータを読出すことにより構成され、逆方向からのページ読出し技法を利用しないときには、1回目の実装構成でこのテーブルを利用することが可能である。上述した逆方向からのページ読出し技法を利用する場合、図12のテーブルを構成して、LBNと当該LBNのデータを含むすべてのPBNとの間の対応関係を特定する必要がある。
1以上のページの更新が行われた、物理ブロックから読出されたデータページの効率的組織化方法が図13により例示されている。少なくともいくつかのデータページの、好ましくは最大のデータブロックを一度にバッファできるだけの十分なスペースがコントローラの揮発性メモリの中に設けられる。これが図13に示されている方法である。不揮発性メモリブロックに格納されている量に等しい16のデータページがコントローラメモリに格納される。これらのページは一般に順不同に読出されるため、各データページは他のページに関してその正しい位置に格納される。例えば、図11の逆方向からのページ読出し動作時に、論理ページ8は、この論理ページが最初の読出しページであれば、円で囲んで記した“1”で示すように、コントローラメモリの位置8に格納される。次に論理ページ7等々と処理が行われ、ホストが望むすべてのデータページが読出されて、コントローラメモリに格納されるまで処理が続けられる。次いで、バッファメモリ内のデータの順序を操作する必要なくページデータのセット全体がホストへ転送される。これらのデータページは、コントローラメモリ内のこれらのページの正しい位置への書込みによりすでに組織化されている。
図8と図9とに関連して説明した技法を利用する不揮発性メモリシステムのプログラミング方法が図14のフローチャートに示されている。ブロック52により示されるように、更新対象の現行ファイルのページに関連するデータがホストシステムから受信される。格納すべき更新データのページ数が、システムの1ブロックの記憶容量以上か否かがステップ53によりまず判定される。説明を簡略化するために、上記記載例ではブロック容量として16ページが示されている。格納すべき更新データのページ数がシステムの1ブロックの記憶容量以上であれば、1以上の未使用の消去されたブロックのアドレス指定がステップ55で行われ、ステップ57で、新しいデータページがアドレス指定されたブロックへ書込まれる。一般に、1以上のデータブロックの更新により、新しいデータにより置換されたデータを格納する1以上のブロックが結果として生じることになる。その場合、ステップ59に示されるように、置換されたデータを持つ当該ブロックが消去用として特定される。パフォーマンスを上げるために、消去動作は、バックグラウンドで行われるか、ホストから要求されるプログラミング動作または読出し動作が行われていない時に行われることが望ましい。消去後、ブロックは別途使用するために未使用の消去されたブロックのインベントリへ戻される。上記とは別に、プログラミング動作の必要が生じるまでブロックの消去を延期することもできる。
一方、ステップ53で、ブロックの最大記憶容量を利用するページよりも新しいデータページ数が少ないと判定された場合、次のステップ61により、他のデータを用いてプログラムしたいくつかのページを持つ十分な未使用ページが1ブロック内に存在するかどうかの判定が行われる。十分な未使用ページが1ブロック内に存在すれば、ステップ63でそのようなブロックのアドレス指定が行われる。存在しなければ、ステップ65で、全く未使用の消去されたブロックのアドレス指定が行われる。いずれの場合も、ステップ67で、アドレス指定したブロックの未使用ページの中へ新しいデータがプログラムされる。このプログラミング処理の一部として、上述した方法で、LBNとページオフセット値とがフィールド41の中へ書込まれ、タイムスタンプが、更新されたデータのページ(図8)の各フィールド43の中へ書込まれる。
上記プログラミング処理の望ましい特徴として、置換されたデータだけが格納された任意のブロックが将来のプログラミングに利用できるようになることが挙げられる。したがって、データ更新処理の結果、ブロック全体が単に置換されたデータと共に残っているか否かという問いがステップ69で行われる。残っていれば、このようなブロックはステップ71で消去用として待ち行列に入れられ、プロセスは完了する。残っていなければ、ステップ71はスキップされ、データ更新は終了する。
メタブロック処理
プログラミング時間の短縮によりパフォーマンスの改善を図るために、目標として、他のペナルティを受けることなく同時にプログラム可能なできるだけ多くの数のセルをプログラムすることが挙げられる。1つの実装構成では、メモリアレイが、図15の複数ユニット80〜83のような実質的に独立しているサブアレイやユニットに分割され、各ユニットは、図に示すように、多数のブロックに分割される。次いで、データページは2以上のユニットに同時にプログラムされる。別の構成では、これらユニットのうちの1以上のユニットが複数のメモリチップからさらに組み合わされる。これら複数のチップは、より高いデータスループットを達成するための(図2に示すような)単一のバスまたは複数の独立バスと接続することも可能である。この拡張として、プログラミング、読出し、消去を一括して行うために、異なるユニットからのブロックをリンクする方法がある。一例を図15に示す。例えば、ユニット80〜83のそれぞれのユニットから得られるブロック85〜88をメタブロックとして一体に動作させることが可能である。上述したメモリの実施形態の場合と同様、メモリアレイの消去可能な最小のグループである各ブロックが複数ページに分割され、1ページにはブロック内で一体にプログラム可能な最小数のセルが含まれる。したがって、図15に示すメタブロックのプログラミング動作には、通常、メタブロックを形成するブロック85〜88の各ブロックの少なくとも1ページの中へデータを同時にプログラムするステップが含まれ、このプログラミングステップは、メタブロックがいっぱいになるか、着信データがすべてプログラムされてしまうまで反復される。他のメタブロックは、各ユニットから1ブロックずつ、アレイユニットからの異なるブロックから形成される。
このようなメモリを動作させる過程で、他のメモリの場合と同様、ブロック全体よりも少ないデータページ数を更新する必要が生じる場合が多い。この更新は、図4または図6のいずれかと関連して上述した方法と同様の方法でメタブロックの個々のブロックについて行うこともできるが、好ましくは図8と関連して説明した改善された技法を用いて行うことが望ましい。これら3つの技法のうちのいずれかを用いてメタブロックの1ブロックのデータを更新する場合、同じユニット内の追加のメモリブロックも使用される。さらに、データ更新は、メタブロックのブロックの2以上のページうちの1以上のページに関連する新しいデータの書込みを必要とする場合もある。この書込みには、たとえ数ページ内だけのデータ更新にすぎない場合でも、メタブロックに格納されたデータファイルを更新するために、4までの追加ブロック90〜93(4つのユニットの各ユニット内で1ブロック)の使用が必要となる場合もある。
このような部分的ブロックの更新に必要なブロック数を減らすために、本発明の別の局面に基づいて、図16に示されているように、ブロック80内に未使用ページが残っている限り、図示されたメタブロックのブロックのうちのいずれかのブロック内でメモリユニット80内の単一の追加ブロック90に対するデータページの更新が行われる。例えば、3ページのブロック86と2ページのブロック88内のデータを一度に更新する場合、5ページ分のすべての新しいデータがブロック90の中へ書込まれる。これにより1メモリブロックの使用が節減されるため、利用可能な消去されたブロックの数を実際に1ブロック分増やすことが可能となる。このブロックの増加は、消去されたブロックのインベントリが使い果たされるまでの時間の回避または少なくとも延長に役立つ。4つのブロック85〜88の各々から得られる1以上のページを更新する場合、新しいデータページのすべてが単一ブロック90の中でプログラムされ、それによって追加の3メモリブロックの更新が回避される。新しいデータページ数が未使用ブロックの容量を上回る場合、ブロック90が受け入れることができないページは、別の未使用ブロックへ書込まれる。この未使用ブロックは、同じユニット80または別のユニット81〜83のうちの1つの中にあるものであってもよい。
様々な実施形態例と関連して本発明を説明してきたが、本発明は添付の特許請求の範囲の最大の範囲内において権利が保護されるべきであることが理解できよう。
メモリ制御論理回路とデータとアドレスレジスタとを備えた従来技術による代表的なフラッシュEEPROMメモリアレイのブロック図である。 システムコントローラを備えた図1のメモリを利用するアーキテクチャを示す。 図2のメモリシステムの代表的なコピー処理を示すタイミング図である。 複数ページブロックのページのすべてよりも少ない数のページでデータを更新する現行プロセスを示す。 図4の原ブロックに関連する対応する論理ブロックアドレスと物理ブロックアドレスのテーブルである。 図4の新しいブロックに関連する対応する論理ブロックアドレスと物理ブロックアドレスのテーブルである。 複数ページのブロックのページのすべてよりも少ない数のページでデータを更新する別の現行プロセスを示す。 図6の原ブロックに関連する対応する論理ページアドレスと物理ページアドレスのテーブルである。 図6の新しいブロックに関連する対応する論理ページアドレスと物理ページアドレスのテーブルである。 複数ページブロックのページのすべてよりも少ない数のページでデータを更新する改善されたプロセスの一例を示す。 図8の新しいブロックに関連する対応する論理的ページ数と物理ページ数のテーブルである。 図8に示すページのデータのレイアウトの一例を示す。 図8の例の別の発展例を示す。 図11の新しいブロックに関連する対応する論理ページ数と物理ページ数のテーブルである。 更新されたデータを図11のブロックで読出す1つの方法を示す。 データをプログラムして図8と図9に例示のように組織化されたメモリシステムの中へ入れるプロセスを示すフローチャートである。 まとめてリンクされて1メタブロックに形成されている個々のユニットから得られるブロックを備えた現行の複数ユニットのメモリを示す。 更新されたデータ量がメタブロックのデータ記憶容量よりずっと少ない場合、図12の複数ユニットメモリ内のメタブロックのデータを更新する改善された方法を示す。

Claims (6)

  1. 少なくとも2つのサブアレイに組織化されるメモリ記憶エレメントのアレイを有する不揮発性メモリシステムを動作させる方法であって、個々のサブアレイが複数の非オーバーラップブロックの記憶エレメントに分画され、1ブロックが一括して消去可能なメモリ記憶エレメントの最小グループを含み、個々のブロックが複数ページの記憶エレメントに分画され、1ページが一括してプログラム可能なメモリ記憶エレメントの最小グループとなるように構成される方法において、
    前記少なくとも2つのサブアレイの個々のサブアレイから得られる少なくとも1つのブロックをリンクしてメタブロックを形成するステップであって、メタブロックの構成ブロックを1ユニットとして一括消去するステップと、
    更新対象の原データが格納されているサブアレイがどれかにかかわりなく、前記サブアレイのうちの指定したサブアレイ内だけにある少なくとももう1つのブロック内のページの中へ置換データをプログラムすることにより、前記メタブロックの構成ブロックのうちのいずれかのブロック内にある、前記ブロック内のすべてのページよりも少ない数の原データのページを更新するステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    原データと置換データとを格納することは、
    原データと置換データを同じ論理アドレスで前記メモリシステムに対して特定することと、
    原データと置換データがメモリのそれぞれのページでプログラムされた相対的時刻を追跡することにより、原データと置換データを識別することと、
    を含む方法。
  3. 請求項2記載の方法において、
    前記方法が実行されるメモリシステムは、電荷記憶エレメントとして導電性フローティングゲートを利用する方法。
  4. 請求項1記載の方法において、
    ページ内にデータを書き込むステップの中で、データが書き込まれる個々のページの論理アドレスも個々のページ内に書き込まれる方法。
  5. 請求項1記載の方法において、
    ページ内にデータを書き込むステップの中で、データが3以上の格納状態を持つページの個々の記憶エレメントに書き込まれ、それによって個々の記憶エレメントに2ビット以上のデータを格納する方法。
  6. 請求項1記載の方法において、
    前記方法が実行されるメモリシステムは、電荷記憶エレメントとして導電性フローティングゲートを利用する方法。
JP2008075388A 2001-01-19 2008-03-24 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 Expired - Lifetime JP4768771B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/766,436 US6763424B2 (en) 2001-01-19 2001-01-19 Partial block data programming and reading operations in a non-volatile memory
US09/766,436 2001-01-19

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002558275A Division JP4155824B2 (ja) 2001-01-19 2002-01-07 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作

Publications (2)

Publication Number Publication Date
JP2008226254A JP2008226254A (ja) 2008-09-25
JP4768771B2 true JP4768771B2 (ja) 2011-09-07

Family

ID=25076410

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2002558275A Expired - Fee Related JP4155824B2 (ja) 2001-01-19 2002-01-07 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
JP2007203823A Expired - Lifetime JP4750766B2 (ja) 2001-01-19 2007-08-06 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
JP2008075388A Expired - Lifetime JP4768771B2 (ja) 2001-01-19 2008-03-24 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2002558275A Expired - Fee Related JP4155824B2 (ja) 2001-01-19 2002-01-07 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
JP2007203823A Expired - Lifetime JP4750766B2 (ja) 2001-01-19 2007-08-06 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作

Country Status (11)

Country Link
US (6) US6763424B2 (ja)
EP (4) EP1653323B1 (ja)
JP (3) JP4155824B2 (ja)
KR (2) KR101076830B1 (ja)
CN (3) CN100485642C (ja)
AT (1) ATE327556T1 (ja)
AU (1) AU2002236723A1 (ja)
DE (1) DE60211653T2 (ja)
ES (1) ES2262782T3 (ja)
TW (1) TWI221217B (ja)
WO (1) WO2002058074A2 (ja)

Families Citing this family (452)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
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
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
EP1402356A2 (en) * 2001-07-03 2004-03-31 Research In Motion Limited System and method of object-oriented persistence
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
KR100449708B1 (ko) * 2001-11-16 2004-09-22 삼성전자주식회사 플래시 메모리 관리방법
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
JP2004062554A (ja) * 2002-07-30 2004-02-26 Oki Electric Ind Co Ltd フラッシュメモリの管理方法
US7107389B2 (en) * 2002-08-29 2006-09-12 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device and method for writing data into flash memory
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7234036B1 (en) 2002-10-28 2007-06-19 Sandisk Corporation Method and apparatus for resolving physical blocks associated with a common logical block
DE10252059B3 (de) * 2002-11-08 2004-04-15 Infineon Technologies Ag Verfahren zum Betreiben einer Speicheranordnung
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
EP1435576B1 (en) * 2003-01-03 2013-03-20 Austria Card Plastikkarten und Ausweissysteme GmbH Method and apparatus for block-oriented memory management provided in smart card controllers
US6944063B2 (en) 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
JP2004265162A (ja) * 2003-03-03 2004-09-24 Renesas Technology Corp 記憶装置およびアドレス管理方法
KR100526178B1 (ko) * 2003-03-31 2005-11-03 삼성전자주식회사 플래시 메모리 액세스 장치 및 방법
US20040228411A1 (en) * 2003-05-12 2004-11-18 Sony Corporation Method and system for decoder clock control in presence of jitter
US7117326B2 (en) * 2003-06-26 2006-10-03 Intel Corporation Tracking modifications to a memory
US6891740B2 (en) * 2003-08-29 2005-05-10 Hitachi Global Storage Technologies Netherlands B.V. Method for speculative streaming data from a disk drive
US7188228B1 (en) 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
JP2005128771A (ja) * 2003-10-23 2005-05-19 Fujitsu Ltd データファイルシステム、データアクセスサーバ、およびデータアクセスプログラム
DE10349595B3 (de) * 2003-10-24 2004-12-09 Hyperstone Ag Verfahren zum Schreiben von Speichersektoren in einem blockweise löschbaren Speicher
KR100608602B1 (ko) * 2003-12-10 2006-08-03 삼성전자주식회사 플래시 메모리, 이를 위한 사상 제어 장치 및 방법
JP2005190288A (ja) * 2003-12-26 2005-07-14 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
WO2005066792A2 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Non-volatile memory and method with memory planes alignment
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
DE102004005290B3 (de) * 2004-02-03 2005-07-21 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Absicherung von Daten in einem nichtflüchtigen Datenspeicher
US7136973B2 (en) 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US7127549B2 (en) 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
KR100526190B1 (ko) * 2004-02-06 2005-11-03 삼성전자주식회사 플래시 메모리의 재사상 방법
US7529904B2 (en) * 2004-03-31 2009-05-05 International Business Machines Corporation Storing location identifier in array and array pointer in data structure for write process management
US7325090B2 (en) * 2004-04-29 2008-01-29 Sandisk Il Ltd. Refreshing data stored in a flash memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US8429313B2 (en) * 2004-05-27 2013-04-23 Sandisk Technologies Inc. Configurable ready/busy control
JP4253272B2 (ja) 2004-05-27 2009-04-08 株式会社東芝 メモリカード、半導体装置、及び半導体メモリの制御方法
US7395384B2 (en) 2004-07-21 2008-07-01 Sandisk Corproation Method and apparatus for maintaining data on non-volatile memory systems
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
JP3942612B2 (ja) * 2004-09-10 2007-07-11 東京エレクトロンデバイス株式会社 記憶装置、メモリ管理方法及びプログラム
JP4586469B2 (ja) * 2004-09-15 2010-11-24 ソニー株式会社 メモリ制御装置、メモリ制御方法、プログラム
KR100624960B1 (ko) * 2004-10-05 2006-09-15 에스티마이크로일렉트로닉스 엔.브이. 반도체 메모리 장치 및 이의 패키지 및 이를 이용한메모리 카드
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7412560B2 (en) 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7395404B2 (en) * 2004-12-16 2008-07-01 Sandisk Corporation Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
KR100669342B1 (ko) * 2004-12-21 2007-01-16 삼성전자주식회사 낸드 플래시 메모리 장치의 프로그램 방법
KR100684887B1 (ko) * 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7212440B2 (en) 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
KR100698655B1 (ko) 2005-01-04 2007-03-23 주식회사 팬택앤큐리텔 이동통신 단말기의 파일 업데이트 시스템과, efs 영역헤더 손실로 인한 치명적인 에러를 방지하는 이동통신단말기의 부팅 관리 시스템과, 이동통신 단말기의 파일업데이트 방법 및 efs 영역 헤더 손실로 인한 치명적인에러를 방지하는 이동통신 단말기의 부팅 방법
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
EP1712984A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and system for accessing logical data blocks in a storage system that includes multiple memories which are connected to at least one common bus
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
EP2383660B1 (en) 2005-04-21 2013-06-26 Violin Memory, Inc. Interconnection system
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
JP5130646B2 (ja) * 2005-06-06 2013-01-30 ソニー株式会社 記憶装置
US7797479B2 (en) * 2005-06-30 2010-09-14 Intel Corporation Technique to write to a non-volatile memory
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7627733B2 (en) 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
KR100714873B1 (ko) * 2005-09-06 2007-05-07 삼성전자주식회사 비휘발성 메모리에서 데이터 갱신 방법 및 이를 위한 장치
US8429326B2 (en) 2005-09-12 2013-04-23 Mediatek Inc. Method and system for NAND-flash identification without reading device ID table
CN100375026C (zh) * 2005-09-13 2008-03-12 联想(北京)有限公司 快速存储设备软件的安装/更新方法
US20070089023A1 (en) * 2005-09-30 2007-04-19 Sigmatel, Inc. System and method for system resource access
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US20070106842A1 (en) * 2005-11-04 2007-05-10 Conley Kevin M Enhanced first level storage caching methods using nonvolatile memory
US7634585B2 (en) * 2005-11-04 2009-12-15 Sandisk Corporation In-line cache using nonvolatile memory between host and disk device
US7447066B2 (en) * 2005-11-08 2008-11-04 Sandisk Corporation Memory with retargetable memory cell redundancy
US7730453B2 (en) * 2005-12-13 2010-06-01 Microsoft Corporation Runtime detection for invalid use of zero-length memory allocations
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
JP2009521045A (ja) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ ブロック消去可能なメモリ場所を有する不揮発性メモリ
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
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
US20070143566A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with data alignment in a directly mapped file storage system
US20070143378A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with adaptive file handling in a directly mapped file storage system
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
JP2009521049A (ja) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ ブロック消去可能な記憶場所を有するメモリ
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
US7546515B2 (en) * 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US7536627B2 (en) * 2005-12-27 2009-05-19 Sandisk Corporation Storing downloadable firmware on bulk media
KR100772863B1 (ko) * 2006-01-13 2007-11-02 삼성전자주식회사 요구 페이징 기법을 적용한 시스템에서 페이지 교체 수행시간을 단축시키는 방법 및 장치
US7609561B2 (en) * 2006-01-18 2009-10-27 Apple Inc. Disabling faulty flash memory dies
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
TWI311327B (en) * 2006-01-26 2009-06-21 Nuvoton Technology Corporatio Method for page random write and read in the block of flash memory
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7594043B2 (en) * 2006-01-27 2009-09-22 Apple Inc. Reducing dismount time for mass storage class devices
US7912994B2 (en) * 2006-01-27 2011-03-22 Apple Inc. Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host
JP2007280108A (ja) * 2006-04-07 2007-10-25 Sony Corp 記憶媒体制御装置、記憶媒体制御方法、プログラム
US7849302B2 (en) * 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
US7451264B2 (en) * 2006-04-13 2008-11-11 Sandisk Corporation Cycle count storage methods
US7467253B2 (en) * 2006-04-13 2008-12-16 Sandisk Corporation Cycle count storage systems
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US7551486B2 (en) 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US8000134B2 (en) * 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7568135B2 (en) 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
JP4153535B2 (ja) * 2006-05-30 2008-09-24 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
US8001314B2 (en) 2006-09-12 2011-08-16 Apple Inc. Storing a driver for controlling a memory
US7593259B2 (en) * 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
US7696044B2 (en) * 2006-09-19 2010-04-13 Sandisk Corporation Method of making an array of non-volatile memory cells with floating gates formed of spacers in substrate trenches
US7646054B2 (en) * 2006-09-19 2010-01-12 Sandisk Corporation Array of non-volatile memory cells with floating gates formed of spacers in substrate trenches
US7886204B2 (en) * 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US20080091871A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Non-volatile memory with worst-case control data management
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
KR100771521B1 (ko) 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
US8151060B2 (en) 2006-11-28 2012-04-03 Hitachi, Ltd. Semiconductor memory system having a snapshot function
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
WO2008070814A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
KR101354152B1 (ko) * 2006-12-18 2014-01-27 삼성전자주식회사 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
US7554855B2 (en) * 2006-12-20 2009-06-30 Mosaid Technologies Incorporated Hybrid solid-state memory system having volatile and non-volatile memory
US7642160B2 (en) * 2006-12-21 2010-01-05 Sandisk Corporation Method of forming a flash NAND memory cell array with charge storage elements positioned in trenches
US7800161B2 (en) * 2006-12-21 2010-09-21 Sandisk Corporation Flash NAND memory cell array with charge storage elements positioned in trenches
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US7917686B2 (en) * 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US8046522B2 (en) * 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
KR100825802B1 (ko) * 2007-02-13 2008-04-29 삼성전자주식회사 기입 데이터의 논리적 페이지보다 이전 논리적 페이지들을가지는 데이터들을 데이터 블록으로부터 복사하는 불휘발성메모리 장치의 데이터 기입 방법
US7577059B2 (en) * 2007-02-27 2009-08-18 Mosaid Technologies Incorporated Decoding control with address transition detection in page erase function
US20090088088A1 (en) * 2007-02-28 2009-04-02 Crick Information Technologies Personal Information Communication Device and Method
WO2008106269A1 (en) * 2007-02-28 2008-09-04 Ty Joseph Caswell Personal information communication device and method
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US7613051B2 (en) 2007-03-14 2009-11-03 Apple Inc. Interleaving charge pumps for programmable memories
US7814304B2 (en) * 2007-03-14 2010-10-12 Apple Inc. Switching drivers between processors
US7477547B2 (en) * 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
US7573773B2 (en) * 2007-03-28 2009-08-11 Sandisk Corporation Flash memory with data refresh triggered by controlled scrub data reads
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US9632870B2 (en) * 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7996599B2 (en) * 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
US7869277B1 (en) 2007-04-25 2011-01-11 Apple Inc. Managing data writing to memories
US7870327B1 (en) 2007-04-25 2011-01-11 Apple Inc. Controlling memory operations using a driver and flash memory type tables
JP4702703B2 (ja) * 2007-04-26 2011-06-15 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8332574B2 (en) * 2007-04-30 2012-12-11 Sandisk Il Ltd. Method for efficient storage of metadata in flash memory
US7577029B2 (en) * 2007-05-04 2009-08-18 Mosaid Technologies Incorporated Multi-level cell access buffer with dual function
US8073648B2 (en) * 2007-05-14 2011-12-06 Sandisk Il Ltd. Measuring threshold voltage distribution in memory using an aggregate characteristic
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US20080294814A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
JP5216003B2 (ja) 2007-06-01 2013-06-19 パナソニック株式会社 記録装置
US20080307156A1 (en) * 2007-06-08 2008-12-11 Sinclair Alan W System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium
US8713283B2 (en) * 2007-06-08 2014-04-29 Sandisk Technologies Inc. Method of interfacing a host operating through a logical address space with a direct file storage medium
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8566504B2 (en) * 2007-09-28 2013-10-22 Sandisk Technologies Inc. Dynamic metablocks
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
JP4535117B2 (ja) 2007-11-06 2010-09-01 ソニー株式会社 メモリ装置、メモリ管理方法、およびプログラム
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
US7613045B2 (en) * 2007-11-26 2009-11-03 Sandisk Il, Ltd. Operation sequence and commands for measuring threshold voltage distribution in memory
US8321625B2 (en) 2007-12-05 2012-11-27 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8880483B2 (en) * 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
US20090164745A1 (en) * 2007-12-21 2009-06-25 Alan Sinclair System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
US7934052B2 (en) * 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
TW200931425A (en) * 2008-01-11 2009-07-16 Phison Electronics Corp Method for managing flash memory blocks and controller using the same
US8068365B2 (en) 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
WO2009097681A1 (en) 2008-02-04 2009-08-13 Mosaid Technologies Incorporated Flexible memory operations in nand flash devices
US8595413B2 (en) 2008-02-20 2013-11-26 Sony Corporation Memory control method and device, memory access control method, computer program, and recording medium
JP2009199211A (ja) * 2008-02-20 2009-09-03 Sony Computer Entertainment Inc メモリ制御方法及び装置、コンピュータプログラム
JP4675985B2 (ja) 2008-03-01 2011-04-27 株式会社東芝 メモリシステム
JP2009211234A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8695087B2 (en) * 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
US20100017558A1 (en) 2008-04-11 2010-01-21 Richard Matthew Fruin Memory device operable in read-only and re-writable modes of operation
KR100982440B1 (ko) 2008-06-12 2010-09-15 (주)명정보기술 단일 플래시 메모리의 데이터 관리시스템
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
JP5180726B2 (ja) * 2008-07-31 2013-04-10 株式会社日立製作所 記憶装置およびデータ書き込み制御方法
US20100037102A1 (en) * 2008-08-08 2010-02-11 Seagate Technology Llc Fault-tolerant non-volatile buddy memory structure
US8438325B2 (en) * 2008-10-09 2013-05-07 Cadence Design Systems, Inc. Method and apparatus for improving small write performance in a non-volatile memory
US8650355B2 (en) * 2008-10-15 2014-02-11 Seagate Technology Llc Non-volatile resistive sense memory on-chip cache
US7830700B2 (en) * 2008-11-12 2010-11-09 Seagate Technology Llc Resistive sense memory array with partial block update capability
JP5193822B2 (ja) * 2008-11-19 2013-05-08 株式会社東芝 追記型メモリデバイス
US8452940B2 (en) * 2008-12-30 2013-05-28 Sandisk Technologies Inc. Optimized memory management for random and sequential data writing
US8205063B2 (en) * 2008-12-30 2012-06-19 Sandisk Technologies Inc. Dynamic mapping of logical ranges to write blocks
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
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
JP4666081B2 (ja) * 2009-02-09 2011-04-06 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4844639B2 (ja) * 2009-02-19 2011-12-28 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8489801B2 (en) * 2009-03-04 2013-07-16 Henry F. Huang Non-volatile memory with hybrid index tag array
JP5341584B2 (ja) * 2009-03-17 2013-11-13 株式会社東芝 コントローラ、及びメモリシステム
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
KR101556779B1 (ko) * 2009-04-17 2015-10-02 삼성전자주식회사 저장 장치의 액세스 방법
US8296503B2 (en) * 2009-05-26 2012-10-23 Mediatek Inc. Data updating and recovering methods for a non-volatile memory array
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
TWI425513B (zh) * 2009-08-13 2014-02-01 Silicon Motion Inc 識別快閃記憶體中區塊之資料頁的方法以及相關之記憶裝置
US8130543B2 (en) * 2009-08-13 2012-03-06 Macronix International Co., Ltd. Method and apparatus for increasing memory programming efficiency through dynamic switching of sense amplifiers
KR20110018157A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 플래시 메모리 장치의 액세스 방법
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
JP5377175B2 (ja) * 2009-09-08 2013-12-25 株式会社東芝 コントローラ、及びデータ記憶装置
US8255655B2 (en) 2009-10-02 2012-08-28 Sandisk Technologies Inc. Authentication and securing of write-once, read-many (WORM) memory devices
US8730729B2 (en) * 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8364929B2 (en) * 2009-10-23 2013-01-29 Seagate Technology Llc Enabling spanning for a storage device
US8745353B2 (en) * 2009-10-23 2014-06-03 Seagate Technology Llc Block boundary resolution for mismatched logical and physical block sizes
JP5481493B2 (ja) * 2009-11-11 2014-04-23 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
EP2507710B1 (en) * 2009-11-30 2018-10-31 Hewlett-Packard Enterprise Development LP Remapping for memory wear leveling
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
TWI446349B (zh) * 2010-03-04 2014-07-21 Phison Electronics Corp 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器
CN103473182B (zh) * 2010-03-12 2016-05-11 群联电子股份有限公司 非挥发性存储器存取方法及非挥发性存储器控制器
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8886664B2 (en) * 2010-05-13 2014-11-11 Microsoft Corporation Decreasing duplicates and loops in an activity record
US8381018B2 (en) 2010-05-21 2013-02-19 Mediatek Inc. Method for data recovery for flash devices
US8838878B2 (en) * 2010-06-01 2014-09-16 Greenliant Llc Method of writing to a NAND memory block based file system with log based buffering
KR20110138076A (ko) * 2010-06-18 2011-12-26 삼성전자주식회사 데이터 저장 장치 및 그것의 쓰기 방법
US8626986B2 (en) * 2010-06-30 2014-01-07 Sandisk Technologies Inc. Pre-emptive garbage collection of memory blocks
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
JP4818453B1 (ja) * 2010-07-30 2011-11-16 株式会社東芝 電子機器およびデータ読み出し方法
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8850161B2 (en) * 2010-10-13 2014-09-30 Riverbed Technology, Inc. Method of improving performance of a data storage device
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US9003153B2 (en) 2010-11-08 2015-04-07 Greenliant Llc Method of storing blocks of data in a plurality of memory devices in a redundant manner, a memory controller and a memory system
US20120117305A1 (en) * 2010-11-08 2012-05-10 Greenliant Llc Method Of Storing Blocks Of Data In A Plurality Of Memory Devices For High Speed Sequential Read, A Memory Controller And A Memory System
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US8626989B2 (en) * 2011-02-02 2014-01-07 Micron Technology, Inc. Control arrangements and methods for accessing block oriented nonvolatile memory
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9324433B2 (en) * 2011-04-25 2016-04-26 Microsoft Technology Licensing, Llc Intelligent flash reprogramming
TWI442230B (zh) * 2011-04-28 2014-06-21 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US20120297256A1 (en) * 2011-05-20 2012-11-22 Qualcomm Incorporated Large Ram Cache
US8719648B2 (en) 2011-07-27 2014-05-06 International Business Machines Corporation Interleaving of memory repair data compression and fuse programming operations in single fusebay architecture
US8467260B2 (en) 2011-08-05 2013-06-18 International Business Machines Corporation Structure and method for storing multiple repair pass data into a fusebay
US8484543B2 (en) 2011-08-08 2013-07-09 International Business Machines Corporation Fusebay controller structure, system, and method
KR101798036B1 (ko) 2011-08-09 2017-11-15 엘에스아이 코포레이션 I/o 디바이스 및 컴퓨팅 호스팅 상호동작
US20130042051A1 (en) * 2011-08-10 2013-02-14 Skymedi Corporation Program method for a non-volatile memory
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US8537627B2 (en) 2011-09-01 2013-09-17 International Business Machines Corporation Determining fusebay storage element usage
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control 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
US9477590B2 (en) * 2011-09-16 2016-10-25 Apple Inc. Weave sequence counter for non-volatile memory systems
US9588883B2 (en) 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
JP2014534503A (ja) * 2011-10-05 2014-12-18 エルエスアイ コーポレーション 不揮発性記憶のための自己ジャーナリングおよび階層的整合性
TWI454911B (zh) * 2011-10-12 2014-10-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US8843711B1 (en) * 2011-12-28 2014-09-23 Netapp, Inc. Partial write without read-modify
US8775722B2 (en) 2011-12-30 2014-07-08 Sandisk Technologies Inc. Storing data in parallel in a flash storage device using on chip page shifting between planes
US9329989B2 (en) * 2011-12-30 2016-05-03 SanDisk Technologies, Inc. System and method for pre-interleaving sequential data
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US9298252B2 (en) 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9116793B2 (en) 2012-06-12 2015-08-25 International Business Machines Corporation Maintaining versions of data in solid state memory
US9122581B2 (en) 2012-06-12 2015-09-01 International Business Machines Corporation Data versioning in solid state memory
US9135161B2 (en) 2012-06-12 2015-09-15 International Business Machines Corporation Flash translation layer system for maintaining data versions in solid state memory
US9122582B2 (en) 2012-06-12 2015-09-01 International Business Machines Corporation File system for maintaining data versions in solid state memory
JP5843010B2 (ja) * 2012-06-25 2016-01-13 富士通株式会社 ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
DE102012022728A1 (de) 2012-11-21 2014-05-22 Unify Gmbh & Co. Kg Verfahren zur Steuerung eines Flash-Speichers zur Massenspeicherung, der von einem an einen Host anschließbaren Kommunikationsgerät umfasst ist, und Computerprogrammprodukt zur Ausführung des Verfahrens
CN103001863B (zh) * 2012-11-27 2015-09-09 中国科学院声学研究所 数据包快速复制方法、数据包读取方法
US9047172B2 (en) 2012-11-29 2015-06-02 Intel Corporation Adaptive power control of memory map storage devices
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
US9195584B2 (en) 2012-12-10 2015-11-24 Sandisk Technologies Inc. Dynamic block linking with individually configured plane parameters
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
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
TWI497292B (zh) * 2013-01-09 2015-08-21 Memoright Corp A Method of Finding System Data Based on Index Block
US9076545B2 (en) 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9395924B2 (en) 2013-01-22 2016-07-19 Seagate Technology Llc Management of and region selection for writes to non-volatile memory
US9026757B2 (en) * 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US8972776B2 (en) 2013-03-06 2015-03-03 Seagate Technology, Llc Partial R-block recycling
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US9465732B2 (en) 2013-03-15 2016-10-11 Sandisk Technologies Llc Binning of blocks for dynamic linking
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
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
CN104103309B (zh) * 2013-04-15 2017-11-17 旺宏电子股份有限公司 Nand阵列的操作方法及计算机可读取的非暂时性储存媒体
US9213633B2 (en) 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture 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
US20160170873A1 (en) * 2013-07-18 2016-06-16 Hitachi, Ltd. Information processing device
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
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
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data 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
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
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
US9612773B2 (en) * 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof
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
US9329992B2 (en) * 2013-12-04 2016-05-03 Silicon Motion, Inc. Data storage device and flash memory control method
US9236133B2 (en) * 2013-12-13 2016-01-12 Micron Technology, Inc. Adjusted read for partially programmed block
KR102116258B1 (ko) * 2013-12-24 2020-06-05 삼성전자주식회사 메모리 시스템 및 그것을 포함하는 유저 장치
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
KR102195298B1 (ko) 2014-02-13 2020-12-24 삼성전자주식회사 비휘발성 메모리 장치의 부분 페이지 프로그램 방법
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
JP6260395B2 (ja) * 2014-03-27 2018-01-17 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリ制御方法
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
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
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
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
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
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
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
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
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
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
KR102292172B1 (ko) * 2014-06-23 2021-08-25 삼성전자주식회사 불휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9563504B2 (en) 2014-12-05 2017-02-07 Sandisk Technologies Llc Partial block erase for data refreshing and open-block programming
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
US9594623B2 (en) 2015-03-24 2017-03-14 Nxp Usa, Inc. System on chip and method of updating program code on a system on chip
KR102291806B1 (ko) 2015-04-20 2021-08-24 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
KR20170011645A (ko) * 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
KR102491624B1 (ko) * 2015-07-27 2023-01-25 삼성전자주식회사 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법
TWI601141B (zh) * 2015-08-21 2017-10-01 晨星半導體股份有限公司 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置
CN106484630A (zh) * 2015-08-31 2017-03-08 晨星半导体股份有限公司 快闪存储器的存取方法及相关的存储器控制器与电子装置
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US10532481B2 (en) * 2015-11-25 2020-01-14 Ridge Tool Company Punch tool system
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
TWI599880B (zh) 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
TWI631463B (zh) 2016-03-22 2018-08-01 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
US10019198B2 (en) 2016-04-01 2018-07-10 Intel Corporation Method and apparatus for processing sequential writes to portions of an addressable unit
US10031845B2 (en) 2016-04-01 2018-07-24 Intel Corporation Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
TWI604455B (zh) * 2016-05-13 2017-11-01 Silicon Motion Inc 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
US9881682B1 (en) 2016-11-23 2018-01-30 Seagate Technology Llc Fine grained data retention monitoring in solid state drives
FR3065303B1 (fr) * 2017-04-12 2019-06-07 Stmicroelectronics (Rousset) Sas Procede d'ecriture dans un dispositif de memoire non volatile et dispositif de memoire non volatile correspondant
US10115472B1 (en) 2017-08-02 2018-10-30 International Business Machines Corporation Reducing read disturb effect on partially programmed blocks of non-volatile memory
CN109407963A (zh) * 2017-08-15 2019-03-01 深圳市中兴微电子技术有限公司 一种实现存储管理的方法及装置
CN107919110A (zh) * 2017-11-27 2018-04-17 哈尔滨理工大学 一种针对乐谱的译码方式
US10529435B2 (en) * 2018-01-05 2020-01-07 Sandisk Technologies Llc Fast detection of defective memory block to prevent neighbor plane disturb
CN111587424A (zh) * 2018-01-29 2020-08-25 惠普发展公司,有限责任合伙企业 存储器中存储的数据集的有效性
KR20190120966A (ko) * 2018-04-17 2019-10-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN110489052B (zh) * 2018-05-14 2022-11-25 慧荣科技股份有限公司 数据储存装置
KR102530327B1 (ko) 2018-06-01 2023-05-08 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US11055226B2 (en) * 2018-06-29 2021-07-06 Intel Corporation Mitigation of cache-latency based side-channel attacks
US10733027B2 (en) * 2018-10-07 2020-08-04 Hewlett Packard Enterprise Development Lp Memory allocator
KR20210014337A (ko) 2019-07-30 2021-02-09 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11347404B2 (en) * 2019-08-01 2022-05-31 EMC IP Holding Company, LLC System and method for sharing spare storage capacity between a log structured file system and RAID
US11287989B2 (en) 2020-03-24 2022-03-29 Western Digital Technologies, Inc. Dynamic allocation of sub blocks
US11721397B2 (en) 2020-12-28 2023-08-08 Sandisk Technologies Llc Power saving and fast read sequence for non-volatile memory
JP2022147448A (ja) * 2021-03-23 2022-10-06 キオクシア株式会社 メモリシステム及びデータ管理方法

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4833603A (en) 1986-05-30 1989-05-23 Bull Hn Information Systems Inc. Apparatus and method for implementation of a page frame replacement algorithm in a data processing system having virtual memory addressing
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5012132A (en) 1989-10-05 1991-04-30 Xicor, Inc. Dual mode high voltage coupler
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
JP2618149B2 (ja) * 1991-04-22 1997-06-11 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JPH05233426A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
US5375222A (en) * 1992-03-31 1994-12-20 Intel Corporation Flash memory card with a ready/busy mask register
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5341330A (en) 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US5649200A (en) * 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5648919A (en) * 1993-02-15 1997-07-15 Babcock-Hitachi Kabushiki Kaisha Maintenance systems for degradation of plant component parts
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5479638A (en) 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5485595A (en) 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
JPH08263361A (ja) 1995-03-23 1996-10-11 Mitsubishi Electric Corp フラッシュメモリカード
US5682499A (en) * 1995-06-06 1997-10-28 International Business Machines Corporation Directory rebuild method and apparatus for maintaining and rebuilding directory information for compressed data on direct access storage device (DASD)
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
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
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
US5987478A (en) * 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
FR2742893B1 (fr) 1995-12-20 1998-01-16 Schlumberger Ind Sa Procede d'inscription d'une donnee dans une memoire reinscriptible
GB9609833D0 (en) 1996-05-10 1996-07-17 Memory Corp Plc Memory device
US5896393A (en) 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
JP4462646B2 (ja) 1996-06-28 2010-05-12 ソニー株式会社 情報処理装置および情報処理方法、リーダ/ライタおよびアクセス方法、並びに記録媒体
JPH1091490A (ja) 1996-09-12 1998-04-10 Sanyo Electric Co Ltd フラッシュメモリを利用した記憶装置
US5860124A (en) * 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JPH10177797A (ja) 1996-12-17 1998-06-30 Toshiba Corp 半導体記憶装置
JP3895816B2 (ja) * 1996-12-25 2007-03-22 株式会社東芝 不揮発性半導体記憶装置とその制御方法、メモリカード、及び記憶システム
US5924092A (en) * 1997-02-07 1999-07-13 International Business Machines Corporation Computer system and method which sort array elements to optimize array modifications
US6122195A (en) 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US5999947A (en) * 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
JP3721725B2 (ja) * 1997-07-09 2005-11-30 ソニー株式会社 情報処理方法および情報処理装置
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JP3640154B2 (ja) 1997-09-30 2005-04-20 ソニー株式会社 不揮発性メモリ、不揮発性メモリの管理方法、不揮発性メモリを有する記憶装置、不揮発性メモリを管理するデータ管理装置及びデータ処理システム
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
JP3070539B2 (ja) 1997-09-30 2000-07-31 ソニー株式会社 外部記憶装置、データ処理装置及びデータ処理方法
JP3119214B2 (ja) * 1997-09-30 2000-12-18 ソニー株式会社 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6040997A (en) 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US6226728B1 (en) * 1998-04-21 2001-05-01 Intel Corporation Dynamic allocation for efficient management of variable sized data within a nonvolatile memory
JP4085478B2 (ja) 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6715068B1 (en) * 1999-03-31 2004-03-30 Fuji Photo Optical Co., Ltd. Multi-microcomputer system
DE60030876T2 (de) * 1999-04-01 2007-05-03 Lexar Media, Inc., Fremont Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
US6449625B1 (en) * 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
US6288862B1 (en) * 1999-07-30 2001-09-11 Storage Technology Corporation Method and mechanism to distinguish valid from outdated recording blocks in a tape drive
FR2803080A1 (fr) 1999-12-22 2001-06-29 St Microelectronics Sa Memoire flash programmable page par page
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
US7167944B1 (en) * 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
JP3992960B2 (ja) * 2000-10-26 2007-10-17 松下電器産業株式会社 記録装置及びプログラム
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6529416B2 (en) * 2000-11-30 2003-03-04 Bitmicro Networks, Inc. Parallel erase operations in memory systems
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
IT1315566B1 (it) 2000-12-12 2003-02-18 Federico Renier Metodo per la certificazione dell'invio,della ricezione edell'autenticita' di documenti elettronici ed unita' di rete
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6835311B2 (en) 2002-01-31 2004-12-28 Koslow Technologies Corporation Microporous filter media, filtration systems containing same, and methods of making and using

Also Published As

Publication number Publication date
AU2002236723A1 (en) 2002-07-30
KR101076830B1 (ko) 2011-10-25
US20090150601A1 (en) 2009-06-11
JP2004533029A (ja) 2004-10-28
JP4155824B2 (ja) 2008-09-24
KR20090006217A (ko) 2009-01-14
CN1514971A (zh) 2004-07-21
JP2008226254A (ja) 2008-09-25
US20110029724A1 (en) 2011-02-03
CN100485642C (zh) 2009-05-06
WO2002058074A9 (en) 2002-10-03
EP1645964A2 (en) 2006-04-12
EP1653323A3 (en) 2011-01-26
ATE327556T1 (de) 2006-06-15
WO2002058074A3 (en) 2003-07-10
KR20030070119A (ko) 2003-08-27
ES2262782T3 (es) 2006-12-01
US20040210708A1 (en) 2004-10-21
US7818490B2 (en) 2010-10-19
US20020099904A1 (en) 2002-07-25
EP1352394A2 (en) 2003-10-15
US20060031627A1 (en) 2006-02-09
CN1290021C (zh) 2006-12-13
US20110258386A1 (en) 2011-10-20
US8316177B2 (en) 2012-11-20
DE60211653T2 (de) 2007-04-12
CN100485641C (zh) 2009-05-06
CN1924831A (zh) 2007-03-07
JP2008004117A (ja) 2008-01-10
US6968421B2 (en) 2005-11-22
JP4750766B2 (ja) 2011-08-17
US7657702B2 (en) 2010-02-02
EP2953030A1 (en) 2015-12-09
TWI221217B (en) 2004-09-21
WO2002058074A2 (en) 2002-07-25
US6763424B2 (en) 2004-07-13
US7970987B2 (en) 2011-06-28
DE60211653D1 (de) 2006-06-29
CN1924830A (zh) 2007-03-07
KR100944996B1 (ko) 2010-03-05
EP1653323A2 (en) 2006-05-03
EP1645964A3 (en) 2011-01-26
EP1352394B1 (en) 2006-05-24
EP1653323B1 (en) 2015-05-06

Similar Documents

Publication Publication Date Title
JP4768771B2 (ja) 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
US7212440B2 (en) On-chip data grouping and alignment
EP1410399B1 (en) Method and apparatus for decreasing block write operation times performed on nonvolatile memory
JP4834676B2 (ja) オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法
US20090204750A1 (en) Direct logical block addressing flash memory mass storage architecture
JP2008524705A (ja) スクラッチパッドブロック
WO2007058624A1 (en) A controller for non-volatile memories, and methods of operating the memory controller

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110616

R150 Certificate of patent or registration of utility model

Ref document number: 4768771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term