JP4155824B2 - 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 - Google Patents
不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 Download PDFInfo
- Publication number
- JP4155824B2 JP4155824B2 JP2002558275A JP2002558275A JP4155824B2 JP 4155824 B2 JP4155824 B2 JP 4155824B2 JP 2002558275 A JP2002558275 A JP 2002558275A JP 2002558275 A JP2002558275 A JP 2002558275A JP 4155824 B2 JP4155824 B2 JP 4155824B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- block
- pages
- written
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/16—Flash programming of all the cells in an array, sector or block simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Non-Volatile Memory (AREA)
Description
【発明の属する技術分野】
本発明は、半導体不揮発性データ格納システムのアーキテクチャの技術分野および上記アーキテクチャの動作方法に関し、フラッシュ型の電気的に消去可能でプログラム可能なリードオンリーメモリ(EEPROM)に基づくデータ格納システムに適用される。
【0002】
【従来の技術】
フラッシュEEPROMデバイスの一般的利用として、電子デバイス用大容量データ記憶のサブシステムとしての利用がある。このようなサブシステムは、複数のホストシステムの中へ挿入可能な取り外し可能なメモリカードとして、または、ホストシステム内の取り外し不可能な組み込み型記憶装置としてのいずれかの形で一般に具現化される。上記双方の実装構成にはサブシステムに1以上のフラッシュデバイスが含まれ、またサブシステムコントローラが含まれる場合も多い。
【0003】
フラッシュEEPROMデバイスは、トランジスタセルからなる1以上のアレイから構成され、各セルは1以上のビットデータの不揮発性格納を行う能力を有する。したがって、フラッシュメモリは、その中でプログラムされたデータの保持用電力を必要としない。しかし、一旦セルをプログラムすると、新しいデータ値での再プログラムが可能となる前にセルの消去が必要となる。これらのセルアレイはグループに分割され、読出し、プログラム、消去の各機能の効率的実装構成が提供される。大容量記憶用の代表的なフラッシュメモリ用アーキテクチャは大きなグループのセルが消去可能なブロックとなるように構成され、1ブロックには一度に消去可能な最小数のセル(消去単位)が含まれる。
【0004】
1つの市販の形態では、1セクタのユーザデータとユーザデータおよび/またはユーザデータが格納されているブロックと関連するいくつかのオーバヘッドデータを格納できる十分なセルが各ブロックに含まれている。1セクタに含まれるユーザデータの量は、このようなメモリシステムの1つのクラスでは標準の512バイトであるが、何らかの別のサイズにすることも可能である。個々のセルブロックを個々に消去可能にするために必要な個々のセルブロックを相互に絶縁するためのスペースが集積回路のチップ上にとられるため、別のクラスのフラッシュメモリではブロックをかなり大きなものにしている。そのためこのような絶縁を行うためのスペースが少なくなる。しかし、さらに小さなセクタ内でのユーザデータの処理も求められるため、大きなブロックの各々が、ユーザデータの読出しとプログラミングの基本単位(プログラミングおよび/または読出し単位)である個々にアドレス可能なページにさらに分割される場合が多い。各ページは通常1セクタのユーザデータを格納するが、1ページが部分セクタまたは複数セクタを格納することもできる。本願では、“セクタ”という用語は、1単位としてホスト間を往来して転送されるユーザデータの量を意味するために用いられる。
【0005】
大きなブロックシステム内のサブシステム用コントローラは、メモリサブシステムがホストから受信する論理アドレス(LBA)と、メモリセルアレイ内の物理ブロック数とページアドレスとの間の変換機能を含むいくつかの機能を実行する。この変換は、論理ブロック数(LBN)と論理ページのための中間項の使用を伴うことが多い。また、上記コントローラは、インタフェースバスを介してフラッシュメモリデバイスへ出される一連のコマンドを通じて低レベルのフラッシュ回路の動作の管理も行う。上記コントローラが行う別の機能として、誤り訂正符号(ECC)などを利用する種々の手段によって、上記サブシステムに対して格納されたデータの完全性を保持する機能がある。
【0006】
理想的ケースでは、1ブロックのすべてのページ内のデータは、まだ割り当てられていない消去されたブロック内のページに対して更新データを書込むことにより通常一括更新され、論理ブロック対物理ブロック番号のテーブルが新しいアドレスで更新される。次いで、原ブロックはデータを消去することができる。しかし、所定のブロック内のページのすべてよりも少ない複数のページに格納されたデータを更新する必要がある場合の方がさらに一般的である。所定のブロックの残りのページに格納されたデータは変化しないまま残る。1ブロック当たりで格納されるデータのセクタ数が多くなるシステムではこのようなことが生じる確率が高くなる。このような部分的ブロックの更新を行うために現在用いられている1つの技法として、更新対象ページのデータを対応する数の未使用の消去されたブロックのページの中へ書込み、次いで、原ブロックから新しいブロックのページの中へ上記無変化のページをコピーする技法がある。次いで、原ブロックの消去を行い、未使用ブロックのインベントリにこのブロックを追加することができる。この未使用ブロックで後程データのプログラムを行うことができる。別の技法では、更新されたページの同様の書込みを新しいブロックに対して行い、原ブロック内のページのフラグの変更により他のデータページを新しいブロックの中へコピーすることは不要となる。上記原ブロック内のページが更新され、該ページが旧いデータを含むことが示される。次いで、データが読出されると、新しいブロックのページから読出された更新されたデータが、旧いデータとしてフラグされていない原ブロックのページから読出された無変化のデータと組み合わされる。
【0007】
(発明の開示)
端的にかつ一般的に述べると、本発明の1つの主要な局面によれば、1ブロック内のページのすべてよりも少ないデータの更新を行う場合、原ブロックから新しいブロックへの無変化のデータのコピーと原ブロック内でのフラグの更新の必要性の双方が回避される。これは、置換されたデータページと更新されたデータページの双方のページを共通の論理アドレスを用いて保持することにより達成される。次いで原ページと更新されたデータページとは、これらのページがプログラムされた相対的順序により識別される。読出しが行われている間、同じ論理アドレスを持つページに格納された最新のデータが無変化のデータページと組み合わされ、一方、更新されたページの原バージョン内のデータは無視される。原データとは異なるブロック内のページ、または、同じブロック内の利用可能な未使用ページのいずれかのページへ上記更新データの書込みを行うことができる。1つの具体的な実装構成では、同じ論理アドレスを持つページが書込まれた相対的順序の決定を可能にする各データページと共に、あるタイムスタンプ形式が格納される。別の具体的な実装構成では、ブロック内である特定の順序でページのプログラミングを行うシステムにおいて、あるタイムスタンプ形式が各データブロックと共に格納され、ブロック内の最新ページのコピーがブロック内の該ページの物理位置により確定される。
【0008】
これらの技法により、原ブロックから新しいブロックへ無変化のデータをコピーする必要性と、更新されたデータを含む原ブロックのページ内でフラグまたは別のデータの変更を行う必要性とが回避される。置換ページ内でフラグまたは他のデータの変更を行う必要がなくなることにより、当該同一ブロックの隣接ページ内で前回書込まれたデータが妨害を受ける可能性が除外される。上記妨害はこのような書込み動作から生じる可能性がある。また、追加のプログラム処理のパフォーマンスペナルティも回避される。
【0009】
上記要約された技法と関連して利用することが可能な別の動作特性により、個々のメモリセルブロック内の個々のデータページの論理オフセット値が絶えず追跡され、それによって置換されたデータと同じ物理ページオフセット値と共に更新されるデータを格納する必要がなくなる。これによって新しいブロックのページのさらに効率的な利用が可能となり、置換されたデータと同じブロックの任意の消去されたページに更新データを格納することさえ可能となる。
【0010】
本発明の別の主要な局面によれば、メモリアレイ(“サブアレイ”とも呼ばれる)の別個のユニット内に配置された2以上のブロックが、単一動作の一部としてプログラミングと読出しを行うために一括してグループ化される。本願ではこのような複数ブロックのグループを“メタブロック”と呼ぶ。メタブロックの構成ブロックは、単一のメモリ集積回路チップ上にすべて配置されるか、2以上の異なるチップ上に配置されて、2以上のこのようなチップを使用するシステム内に存在するかのいずれかとなる。これらのブロックのうちの1ブロックのページのすべてよりも少数のページ内のデータが更新されると、当該同一ユニット内の別のブロックの使用が通常要求される。実際、上述の技法またはその他の技法をメタブロックの各ブロックで別個に採用することも可能である。したがって、メタブロックの2以上のブロックのページ内のデータを更新するとき、2以上の追加ブロック内のページを使用する必要がある。例えば、上記メタブロックを形成する4つの異なるメモリユニットからなる4つのブロックがある場合、例えば、追加の4ブロックにまで、これらユニットの各ユニット内の1つのブロックが原ブロックの更新ページを格納するために使用される或る確率が生じる。原メタブロックの各ブロックについて各ユニットで1つの更新ブロックが潜在的に要求される。さらに、本発明によれば、上記メタブロック内の2以上のブロックのページから更新されたデータを上記ユニットのうちのただ1つのユニット内の共通ブロックのページに格納することができる。これにより、更新データの格納に必要な未使用の消去されたブロックの数が大幅に減少し、それによってデータの格納に利用可能なメモリセルブロックの利用がさらに効率的になる。メモリシステムがメタブロックからの単一ページを更新する頻度が高い場合、この技法は特に有用である。
【0011】
本発明の追加の局面、特徴および利点は、実施形態例についての以下の説明の中に含まれ、添付図面と関連して読まれることが望ましい。
【0012】
【発明の実施の形態】
現行の大ブロック管理技法についての説明
図1は、一般的なフラッシュメモリデバイス内部のアーキテクチャを示す。その主要な特徴として、外部コントローラとのインタフェースを行うための入出力(I/O)バス411と制御信号412と、コマンド信号、アドレス信号および状態信号用のレジスタを用いて内部メモリの動作を制御するメモリ制御回路450が含まれる。フラッシュEEPROMセルからなる1以上のアレイ400が含まれ、各アレイは、アレイ自身の行デコーダ(XDEC)401および列デコーダ(YDEC)402、1グループのセンス増幅器およびプログラム制御回路構成(SA/PROG)454とデータレジスタ404を備えている。現在、メモリセルには記憶エレメントとして1以上の導電性フローティングゲートが通常含まれているが、この代わりに別の長時間電子電荷記憶エレメントを使用してもよい。各記憶エレメントについて設定される2つのレベルの電荷を用いてメモリセルアレイを動作させることも可能であり、したがって各エレメント当り1ビットのデータが格納される。上記とは別に、各記憶エレメントと関連して3以上の記憶状態を設定してもよい。その場合、1ビット以上のデータが各エレメントに格納される。
【0013】
所望の場合、例えば、1999年3月30日発行され、本願の譲受人であるサンディスク コーポレイションに譲渡された米国特許第5,890,192号に教示されているように、関連するXデコーダ、Yデコーダ、プログラム/検証された回路、データレジスタ等と一体に複数のアレイ400が設けられる。上記特許は本願明細書で上記参照により援用されている。メモリシステムの特徴に関連して、Kevin Conleyらによる2000年2月17日出願の同時継続中の特許出願第09/505,555号に記載がある。上記特許は、本願明細書で上記参照により明白に援用されている。
【0014】
外部インタフェースI/Oバス411と制御信号412とは以下を含むことができる。
【0015】
このインタフェースは一例として示すものにすぎず、同じ機能を提供する別の信号構成の利用も可能である。図1には、フラッシュメモリの関連する構成要素を備えた一つのフラッシュメモリアレイ400しか示されていないが、単一のフラッシュメモリチップ上に多数の同様のアレイの存在が可能である。これらのアレイは、共通のインタフェースとメモリ制御回路構成とを共有しながら、個々に独立したXDEC、YDEC、SA/PROGおよびDATA REG回路構成を備えて、読出し動作とプログラム動作の同時動作を可能にすることを目的とするものである。
【0016】
I/OバスAD[7:0]411と結合しているデータレジスタを介してデータはメモリアレイからデータレジスタ404を通って外部コントローラへ転送される。データレジスタ404は、センス増幅器/プログラミング回路454とも結合される。各センス増幅器/プログラミング回路エレメントと結合されたデータレジスタのエレメントの数は、各メモリセルの各記憶エレメントに格納されているビット数により決めてもよい。フラッシュEEPROMセルの各セルには記憶エレメントとして1以上のフローティングゲートが含まれている。多状態モードでメモリセルの処理を行う場合、各記憶エレメントは2または4などの複数ビットを格納するものであってもよい。上記とは別に、メモリセルは、2進モードで処理して1記憶エレメント当たり1ビットデータの格納を目的とするものであってもよい。
【0017】
行デコーダ401は、アクセス対象の物理ページを選択するためにアレイ400に関連する行アドレスの復号化を行う。行デコーダ401は、メモリ制御論理回路450から内部行アドレスライン419を介して行アドレスを受け取る。列デコーダ402はメモリ制御論理回路450から内部列アドレスライン429を介して列アドレスを受け取る。
【0018】
図2は、代表的な不揮発性データ格納システムのアーキテクチャを示す。このケースでは、格納メディアとしてフラッシュメモリセルが採用されている。1つの形態では、このシステムは、一方の側部に沿って延在する電気的コネクタを備えた取り外し可能なカード内にカプセル化され、このカードがホストの差込み口の中へ挿入されると、ホストとのインタフェースが行われる。上記とは別に、図2のシステムは、永久にインストールされた組み込み型回路などの形でホストシステムの中へ組み込まれる場合もある。このシステムでは、単一のコントローラ301が利用され、このコントローラ301によりハイレベルのホスト機能とメモリ制御機能とが実行される。フラッシュメモリメディアは1以上のフフラッシュメモリデバイスから構成され、このような各デバイスはそれ自身の集積回路チップ上に形成される場合が多い。上記システムコントローラとフラッシュメモリとはバス302により接続され、該バスによりコントローラ301は、コマンド、アドレスおよびフラッシュメモリアレイ間を往来する転送データのロードを行うことが可能となる。コントローラ301によりホストシステム(図示せず)とのインタフェースが行われ、このホストシステムを用いてフラッシュメモリアレイ間を往来するユーザデータの転送が行われる。図2のシステムがカード内に含まれているケースでは、ホストインタフェースには、カードとホスト装置とつながる接続プラグとソケットアセンブリ(図示せず)とが含まれる。
【0019】
コントローラ301は、ホストからコマンドを受け取り、ある特定の論理アドレスから始まるユーザデータの1以上のセクタの読出しあるいは書込みを行う。このアドレスは、物理メモリセルブロックの境界と整合する場合もあれば、整合しない場合もある。
【0020】
上述したように、複数ページに分割された大容量メモリセルブロックを含む従来技術によるシステムのなかには、原ブロックからホストにより書込まれた新しい更新データを含む新しいブロックへ更新されないブロックから得られるデータのコピーを行わなければならないものもある。この技法が図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以上のページからのデータの読出しと、新しく割り当てられたブロックのページに対する同じデータの後でのプログラミングを必要とするものであるが、このコピーにより、書込みパフォーマンスが大幅に低下し、格納システムの使用可能な耐用期間が大幅に短くなる。
【0021】
図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時点に格納されるにすぎない。このテーブルの一部は、このテーブル部分に含まれるブロックに関わる読出し動作またはプログラミング動作の直前に通常形成される。
【0022】
従来技術による別のシステムでは、ユーザデータと共にフラグがページに記録され、これらのフラグを用いて、新しく書込まれたデータにより置換された原ブロック内のデータページが無効であることが示される。この新しいデータだけが新しく割り当てられたブロックへ書込まれる。したがって、書込み動作に関与しないが、置換されたデータと同じ物理ブロック内に含まれるこのブロックのページ内のデータを新しいブロックの中へコピーする必要はない。この処理が図6に示され、原ブロック21(PBN0)内のデータページ3〜5が再び更新されている。データ23からなる更新ページ3〜5が新しいブロック25の対応するページ内へ書込まれる。同じ処理の一部として、新/旧フラグ27がページ3〜5の各々の中へ書込まれ、当該ページのデータが旧いデータであることが示されているが、一方、残りのページ0〜2、6、7用のフラグ27は“新”にセットされた状態のままである。同様に、新しいPBN1がブロック21のページ3〜5の各々別のオーバヘッドデータフィールドの中へ書込まれ、更新データがどこに位置するかが示される。LBNとページとは物理ページの各範囲内のフィールド31に格納される。
【0023】
図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の右欄にリストされたページに格納されたユーザデータが読出され、次いで、図示された順序で組み立てられてホストへ転送される。
【0024】
一般に種々のフラグが、LBNやECCなどの関連する別のオーバヘッドデータと同じ物理ページに配置される。したがって、データがすでに置換されているページに新/旧のフラグ27およびその他のフラグをプログラムすることは、1ページが複数のプログラミングサイクルをサポートすることを必要とする。すなわち、メモリアレイは、消去が行われる間にそのページが少なくとも2段階のプログラミングを行い得る能力を備えていなければならない。さらに、より高いオフセット値またはアドレスを持つブロック内の別のページが予めプログラムされているとき、ページをプログラムする能力がブロックによりサポートされている必要がある。しかし、物理的にシーケンシャルな方法でしかブロック内のページをプログラムできない旨の指定により設けられた制限に起因して、フラッシュメモリによってはこのようなフラグの利用ができないものもある。さらに、ページによっては有限回のプログラムサイクルしかサポートされていないものもあり、場合によっては、プログラムされたページの追加プログラミングが許されていない場合もある。
【0025】
求められるメカニズムは、無変化のデータの現行ブロックからのコピー、あるいは、予めプログラムされたページに対するフラグのプログラミングのいずれも行わずに、現行のブロックに格納されたデータを部分的に置き換えるデータ書込みを行うことが可能なメカニズムである。
【0026】
本発明の実施形態例についての説明
多くの異なるタイプのフラッシュEEPROMが存在するが、これらの各EEPROMには、狭い集積回路の面積に形成される高いパフォーマンスを示すメモリシステムを動作させるために避ける必要があるそれ自身の制限が存在する。上記タイプのEEPROMのなかには、予めプログラムされたページの中へデータの書込みを全く行わないものもあるため、上述したような置換されたデータを含むページ内でのフラグの更新が不可能なものもある。別のタイプのEEPROMのなかには、このようなフラグの書込みが可能なものもあるが、置換されたデータを含むページに書込みを行うことにより使用状態のままになっている同じブロックの他のページ内のデータが妨害を受ける可能性がある。
【0027】
上記の事実が問題となることが判明したメモリシステムの一例として、ビットラインと共通電位との間で連続する回路列としてメモリセルの列が形成されるNAND型メモリシステムがある。各ワードラインは、上記のような各回路列内の1つのセルから形成されるメモリセルの行の両端にわたって延在する。多状態モードでこのようなメモリを処理して、上記のような各セルに2ビット以上のデータを格納する場合、上記メモリは、特にメモリ状態に対する上記のような妨害を受けやすくなる。メモリセルトランジスタのしきい値電圧の範囲の利用可能なウィンドウは上記のような処理により非オーバラップ電圧レベルの狭い範囲に分割されるが、上記各範囲はレベル数、したがって、各セルに格納されているビット数の増加につれてより狭くなる。例えば、4つのしきい値範囲を用いる場合、2ビットのデータが各セルの記憶エレメントに格納される。さらに、4つのしきい値電圧の各範囲が必然的に狭いため、同じブロック内の別のセルのプログラミングによりセル状態が妨害を受ける可能性は多状態処理に伴って大きくなる。この場合、図6および図7Aと7Bとに関連して説明したような新/旧または別のフラグの書込みを許容することはできなくなる。
【0028】
図4〜7Bとに関連して上述した現行の各メモリ管理技法の一般的特徴として、論理ブロック数(LBN)とページオフセット値とが、システム内で多くて2つの物理ブロック数(PBN)に対応づけられるという点が挙げられる。一方のブロックは原ブロックであり、他方のブロックは更新されたページデータを含むブロックである。データは、上記ブロックの論理アドレス(LBA)の下位ビットに対応するブロック内のページ位置へ書込まれる。この対応付けにより、種々のタイプのメモリシステムでの固有の特徴が示される。以下で説明する技法では、置換されたデータを含むページと同じLBNとページオフセット値とが更新データを含むページに割り当てられる。しかし、置換した形で原データを含むページのタグ付けを行う代わりに、メモリコントローラは、この置換されたデータを含むページを新しい更新バージョンを含むページと識別する。この識別は、(1)カウンタなどを用いて追跡することにより、同じ論理アドレスを含むページが書込まれる順序の識別を行う、および/または、(2)ブロック内で最下位のページアドレスから最高位のページアドレスへページが順に書込まれるとき、より高位の物理アドレスに最新のデータコピーが含まれる物理ページアドレスと更新バージョンを含むページとの識別を行うかのいずれかにより行われる。したがって、読出しのためにデータのアクセスを行うとき、同じ論理アドレスを持つ置換されたデータが含まれるページが存在する場合には最新のページ内のデータが使用され、一方、置換されたデータは無視される。
【0029】
図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と同じものである。
【0030】
同じLBNとページオフセット値とを持つ2つのページのうちいずれのページが更新データを含むかを決定するために、各ページは別のオーバヘッドフィールド43を含み、このオーバヘッドフィールドによって、同じ論理アドレスを持つ別のページのプログラミング時刻に対する上記各ページの少なくとも相対的なプログラミング時刻の表示が行われる。これによって、メモリからデータを読出す際に、コントローラは、同じ論理アドレスが割り当てられているデータページの相対的作成時期の決定を行うことが可能となる。
【0031】
タイムスタンプ形式を含むフィールド43に書込みを行ういくつかの方法がある。最も単純な方法としては、当該フィールドの関連ページのデータをプログラムする際に、システム内のリアルタイムのクロック出力を当該フィールドに記録するという方法がある。その場合、同じ論理アドレスを持つ後でプログラムされたページには、フィールド43に記録された後の時刻が出力される。しかし、このようなリアルタイムのクロックがシステムで利用できない場合、別の技法を利用することができる。1つの具体的な技法として、フィールド43の値としてモジュロ−Nカウンタの出力を格納する方法がある。このカウンタ値の範囲は、同じ論理ページ番号を用いて格納することが意図されているページ数よりも1だけ大きい値にすることが望ましい。例えば、原ブロックPBN0内のある特定ページのデータを更新するとき、コントローラは、更新データを持つページのフィールド43に格納されたカウント値をまず読出し、1などのある量だけこのカウント値を増分し、次いで、フィールド43’として増分された当該カウント値を新しいブロックPBN1に書込む。このカウンタ値は、N+1のカウントに達すると、0へロールオーバーする。同じLBNを持つブロックの数はNよりも少ないため、格納されたカウント値には常に不連続なポイントが存在する。この不連続ポイントに対する正規化を行って上記ロールオーバーの処理を行うことは容易である。
【0032】
データの読出し要求が行われると、同じLBAとページオフセット値とを持つページフィールド43と43’内のカウント値を比較して、新しいページと置換ページのデータ間の識別がコントローラにより容易に行われる。データファイルの最新バージョンを読出す必要に応じて、特定した新しいページから得られるデータは更新されていない原ページと共に組み立てられ、データファイルの最新バージョンの中へ入れられる。
【0033】
図8の例では、新しいデータページ37は、原ブロックPBN0内で上記新しいデータページにより置き換えられる同じページ3〜5に格納されるのではなく、新しいブロックPBN1の最初の3ページ0〜2に格納されることに留意されたい。個々の論理ページ番号を追跡することにより、置換されたデータを含む旧いブロックのページオフセット値と同じ新しいブロックのページオフセット値に上記更新データを必ずしも格納する必要はない。置換されたデータのページと同じブロックの消去されたページへ更新されたデータページを書込むことも可能である。
【0034】
この結果、どの物理ページの中へ新しいデータの書込みが可能かについて制限を設けるような上述した技法が示す制約は存在しなくなる。しかし、これらの技法が実行されるメモリシステムに若干の制約が設けられる場合がある。例えば、1つのNANDシステムでは、シーケンシャルな順序でブロック内のページをプログラムすることが求められる。これは、新しいブロック25で行われたような(図6)中程のページ3〜5のプログラミングによって、後でプログラムを行うことができないページ0〜2が無駄になることを意味する。新しいブロック39の利用可能な最初のページの新しいデータ37をこのような限定的システムに格納すること(図8)により、別のデータを格納するために後で使用する残りのページ3〜7が利用可能となる。実際、新しいデータ37の3ページが格納された時刻にブロック39がそのページ0〜4に別のデータを格納すれば、残りの未使用ページ5〜7に新しいデータを格納することが可能となる。これによって、このようなシステムの利用可能な記憶容量が最大限に利用される。
【0035】
図8のブロックの個々のページに格納されたデータの構造の一例を図10に示す。最も大きな部分はユーザデータ45である。ユーザデータから計算された誤り訂正符号(ECC)47もこのページに格納される。LBNとページタグ41(論理ページオフセット値)とを含むオーバヘッドデータ49、タイムスタンプ43およびオーバヘッドデータから計算されたECC51もこのページに格納される。ユーザデータECC47から独立したオーバヘッドデータをカバーするECC50をオーバヘッド49が含むことにより、オーバヘッド49は上記ユーザデータから独立に個々に読出され、ページに格納されたデータのすべての転送を必要とせずに、このオーバヘッド49を有効なデータとして評価することができる。しかし、上記とは別に、オーバヘッドデータ49の別個の読出しが頻繁ではないイベントの場合、1ページ内のECCの総ビット数を減らすために、単一のECCによりこのページ内のデータのすべてをカバーする場合もある。
【0036】
発明性を有する上記技法の第2の具体的な実装構成について図8と関連して説明することもできる。本例では、タイムスタンプを用いてブロックに格納したデータの相対的作成時期のみが決定され、一方、同じLBNとページ数とを担持するページのうちの最新ページについては、そのページの相対的物理位置により当該最新ページが決定される。この場合、各ページの一部としてタイムスタンプ43を格納する必要はない。代わりに、各ブロックについて、該ブロックの一部として単一のタイムスタンプを記録するか、不揮発性メモリ内のどこかに単一のタイムスタンプを記録するかのいずれかが行われ、次いで、ブロックの中へ1データページが書込まれる度にこのタイムスタンプの更新を行うようにしてもよい。次いで、データは、同じLBNを持つデータページを含む最新の更新ブロックの最後のページから始まる降順の物理アドレスの順序でページから読出される。
【0037】
例えば、図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の形に単純化することが可能となる。この効率的な読出し処理を実行するためには、共通論理ブロックのデータと物理ブロックがプログラムされた相対的時刻とを含む当該物理ブロックの識別子を知るだけで十分である。
【0038】
図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の原データが読出される。
【0039】
データがページ0から順に消去されたブロックの物理ページ位置に書込まれるため、逆順にページを読出すこの例によって、置換されたデータページから新しいデータページが効率的にソートされることに留意されたい。しかし、この技法は、このようなある特定のプログラミング上の制約を持つメモリシステムの場合の使用に限定されるものではない。ページが所定のブロック内でプログラムされる順序がわかっている限り、当該ページから得られるデータが書込まれた逆順で該データを読出すことも可能である。所望のこととして、以前にプログラムされた他のページと共通のLBNを持つ最新のプログラムされたページがまず読出され、次いで、これらのページが最新のプログラムされたページとなるということが挙げられる。置換されたバージョンを後で容易に特定できるように、更新ページの最新バージョンがまず読出される。
【0040】
論理データと物理ページアドレス間の対応関係を示す図11の例に関連するテーブルを図12に示す。2回のデータ更新が行われたにもかかわらず、双方の更新データとも第2のブロックPBN1の単一の列により表されている。論理ページ5に関連してPBN1に書かれている物理ページは、2回目の更新時に、作成される当該ページへ単に変更されるにすぎない。この更新で第3のブロックを用いる場合、この別のブロック用の別の列が追加される。図12のテーブルは、共通のLBNのデータが書込まれたブロック内の各ページからオーバヘッドデータを読出すことにより構成され、逆方向からのページ読出し技法を利用しないときには、1回目の実装構成でこのテーブルを利用することが可能である。上述した逆方向からのページ読出し技法を利用する場合、図12のテーブルを構成して、LBNと当該LBNのデータを含むすべてのPBNとの間の対応関係を特定する必要がある。
【0041】
1以上のページの更新が行われた、物理ブロックから読出されたデータページの効率的組織化方法が図13により例示されている。少なくともいくつかのデータページの、好ましくは最大のデータブロックを一度にバッファできるだけの十分なスペースがコントローラの揮発性メモリの中に設けられる。これが図13に示されている方法である。不揮発性メモリブロックに格納されている量に等しい16のデータページがコントローラメモリに格納される。これらのページは一般に順不同に読出されるため、各データページは他のページに関してその正しい位置に格納される。例えば、図11の逆方向からのページ読出し動作時に、論理ページ8は、この論理ページが最初の読出しページであれば、円で囲んで記した“1”で示すように、コントローラメモリの位置8に格納される。次に論理ページ7等々と処理が行われ、ホストが望むすべてのデータページが読出されて、コントローラメモリに格納されるまで処理が続けられる。次いで、バッファメモリ内のデータの順序を操作する必要なくページデータのセット全体がホストへ転送される。これらのデータページは、コントローラメモリ内のこれらのページの正しい位置への書込みによりすでに組織化されている。
【0042】
図8と図9とに関連して説明した技法を利用する不揮発性メモリシステムのプログラミング方法が図14のフローチャートに示されている。ブロック52により示されるように、更新対象の現行ファイルのページに関連するデータがホストシステムから受信される。格納すべき更新データのページ数が、システムの1ブロックの記憶容量以上か否かがステップ53によりまず判定される。説明を簡略化するために、上記記載例ではブロック容量として16ページが示されている。格納すべき更新データのページ数がシステムの1ブロックの記憶容量以上であれば、1以上の未使用の消去されたブロックのアドレス指定がステップ55で行われ、ステップ57で、新しいデータページがアドレス指定されたブロックへ書込まれる。一般に、1以上のデータブロックの更新により、新しいデータにより置換されたデータを格納する1以上のブロックが結果として生じることになる。その場合、ステップ59に示されるように、置換されたデータを持つ当該ブロックが消去用として特定される。パフォーマンスを上げるために、消去動作は、バックグラウンドで行われるか、ホストから要求されるプログラミング動作または読出し動作が行われていない時に行われることが望ましい。消去後、ブロックは別途使用するために未使用の消去されたブロックのインベントリへ戻される。上記とは別に、プログラミング動作の必要が生じるまでブロックの消去を延期することもできる。
【0043】
一方、ステップ53で、ブロックの最大記憶容量を利用するページよりも新しいデータページ数が少ないと判定された場合、次のステップ61により、他のデータを用いてプログラムしたいくつかのページを持つ十分な未使用ページが1ブロック内に存在するかどうかの判定が行われる。十分な未使用ページが1ブロック内に存在すれば、ステップ63でそのようなブロックのアドレス指定が行われる。存在しなければ、ステップ65で、全く未使用の消去されたブロックのアドレス指定が行われる。いずれの場合も、ステップ67で、アドレス指定したブロックの未使用ページの中へ新しいデータがプログラムされる。このプログラミング処理の一部として、上述した方法で、LBNとページオフセット値とがフィールド41の中へ書込まれ、タイムスタンプが、更新されたデータのページ(図8)の各フィールド43の中へ書込まれる。
【0044】
上記プログラミング処理の望ましい特徴として、置換されたデータだけが格納された任意のブロックが将来のプログラミングに利用できるようになることが挙げられる。したがって、データ更新処理の結果、ブロック全体が単に置換されたデータと共に残っているか否かという問いがステップ69で行われる。残っていれば、このようなブロックはステップ71で消去用として待ち行列に入れられ、プロセスは完了する。残っていなければ、ステップ71はスキップされ、データ更新は終了する。
【0045】
メタブロック処理
プログラミング時間の短縮によりパフォーマンスの改善を図るために、目標として、他のペナルティを受けることなく同時にプログラム可能なできるだけ多くの数のセルをプログラムすることが挙げられる。1つの実装構成では、メモリアレイが、図15の複数ユニット80〜83のような実質的に独立しているサブアレイやユニットに分割され、各ユニットは、図に示すように、多数のブロックに分割される。次いで、データページは2以上のユニットに同時にプログラムされる。別の構成では、これらユニットのうちの1以上のユニットが複数のメモリチップからさらに組み合わされる。これら複数のチップは、より高いデータスループットを達成するための(図2に示すような)単一のバスまたは複数の独立バスと接続することも可能である。この拡張として、プログラミング、読出し、消去を一括して行うために、異なるユニットからのブロックをリンクする方法がある。一例を図15に示す。例えば、ユニット80〜83のそれぞれのユニットから得られるブロック85〜88をメタブロックとして一体に動作させることが可能である。上述したメモリの実施形態の場合と同様、メモリアレイの消去可能な最小のグループである各ブロックが複数ページに分割され、1ページにはブロック内で一体にプログラム可能な最小数のセルが含まれる。したがって、図15に示すメタブロックのプログラミング動作には、通常、メタブロックを形成するブロック85〜88の各ブロックの少なくとも1ページの中へデータを同時にプログラムするステップが含まれ、このプログラミングステップは、メタブロックがいっぱいになるか、着信データがすべてプログラムされてしまうまで反復される。他のメタブロックは、各ユニットから1ブロックずつ、アレイユニットからの異なるブロックから形成される。
【0046】
このようなメモリを動作させる過程で、他のメモリの場合と同様、ブロック全体よりも少ないデータページ数を更新する必要が生じる場合が多い。この更新は、図4または図6のいずれかと関連して上述した方法と同様の方法でメタブロックの個々のブロックについて行うこともできるが、好ましくは図8と関連して説明した改善された技法を用いて行うことが望ましい。これら3つの技法のうちのいずれかを用いてメタブロックの1ブロックのデータを更新する場合、同じユニット内の追加のメモリブロックも使用される。さらに、データ更新は、メタブロックのブロックの2以上のページうちの1以上のページに関連する新しいデータの書込みを必要とする場合もある。この書込みには、たとえ数ページ内だけのデータ更新にすぎない場合でも、メタブロックに格納されたデータファイルを更新するために、4までの追加ブロック90〜93(4つのユニットの各ユニット内で1ブロック)の使用が必要となる場合もある。
【0047】
このような部分的ブロックの更新に必要なブロック数を減らすために、本発明の別の局面に基づいて、図16に示されているように、ブロック80内に未使用ページが残っている限り、図示されたメタブロックのブロックのうちのいずれかのブロック内でメモリユニット80内の単一の追加ブロック90に対するデータページの更新が行われる。例えば、3ページのブロック86と2ページのブロック88内のデータを一度に更新する場合、5ページ分のすべての新しいデータがブロック90の中へ書込まれる。これにより1メモリブロックの使用が節減されるため、利用可能な消去されたブロックの数を実際に1ブロック分増やすことが可能となる。このブロックの増加は、消去されたブロックのインベントリが使い果たされるまでの時間の回避または少なくとも延長に役立つ。4つのブロック85〜88の各々から得られる1以上のページを更新する場合、新しいデータページのすべてが単一ブロック90の中でプログラムされ、それによって追加の3メモリブロックの更新が回避される。新しいデータページ数が未使用ブロックの容量を上回る場合、ブロック90が受け入れることができないページは、別の未使用ブロックへ書込まれる。この未使用ブロックは、同じユニット80または別のユニット81〜83のうちの1つの中にあるものであってもよい。
【0048】
様々な実施形態例と関連して本発明を説明してきたが、本発明は添付の特許請求の範囲の最大の範囲内において権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【図1】 メモリ制御論理回路とデータとアドレスレジスタとを備えた従来技術による代表的なフラッシュEEPROMメモリアレイのブロック図である。
【図2】 システムコントローラを備えた図1のメモリを利用するアーキテクチャを示す。
【図3】 図2のメモリシステムの代表的なコピー処理を示すタイミング図である。
【図4】 複数ページブロックのページのすべてよりも少ない数のページでデータを更新する現行プロセスを示す。
【図5A】 図4の原ブロックに関連する対応する論理ブロックアドレスと物理ブロックアドレスのテーブルである。
【図5B】 図4の新しいブロックに関連する対応する論理ブロックアドレスと物理ブロックアドレスのテーブルである。
【図6】 複数ページのブロックのページのすべてよりも少ない数のページでデータを更新する別の現行プロセスを示す。
【図7A】 図6の原ブロックに関連する対応する論理ページアドレスと物理ページアドレスのテーブルである。
【図7B】 図6の新しいブロックに関連する対応する論理ページアドレスと物理ページアドレスのテーブルである。
【図8】 複数ページブロックのページのすべてよりも少ない数のページでデータを更新する改善されたプロセスの一例を示す。
【図9】 図8の新しいブロックに関連する対応する論理的ページ数と物理ページ数のテーブルである。
【図10】 図8に示すページのデータのレイアウトの一例を示す。
【図11】 図8の例の別の発展例を示す。
【図12】 図11の新しいブロックに関連する対応する論理ページ数と物理ページ数のテーブルである。
【図13】 更新されたデータを図11のブロックで読出す1つの方法を示す。
【図14】 データをプログラムして図8と図9に例示のように組織化されたメモリシステムの中へ入れるプロセスを示すフローチャートである。
【図15】 まとめてリンクされて1メタブロックに形成されている個々のユニットから得られるブロックを備えた現行の複数ユニットのメモリを示す。
【図16】 更新されたデータ量がメタブロックのデータ記憶容量よりずっと少ない場合、図12の複数ユニットメモリ内のメタブロックのデータを更新する改善された方法を示す。
Claims (7)
- 不揮発性電荷記憶エレメント群のアレイが一括消去可能な記憶エレメントのブロック群に組織化され、前記各ブロック内の複数の各ページが1ユニットとしてプログラム可能となっている前記アレイを有するメモリシステムを動作させる方法であって、
各ブロックのページを更新した時の時間を示す表示を記録するためにページ内にデータを書き込むステップの中で、任意のブロックの各ページデータが書き込まれる時間を示す表示をクロックを用いてページ内に記録するステップと、
1以上のページ内に先に書き込まれていたデータを更新するステップで、1以上の更新ページ内に更新データを書き込み、先に書き込まれたデータのページと更新データのページを同じ論理アドレスにより特定し順序に従って書き込むステップと、
同じ論理アドレスを持つ2以上のページのデータを2以上のブロック間で読み出すステップで、データが2以上のブロックのすでに格納されている時間を示す表示を読み出し、より以前の時間を示す表示を持つ2以上のブロック内のデータを利用することなく、データがすでに読み出されたページと同じ論理アドレスを持つブロックのページデータを無視し、書き込まれた順序とは逆の順序で読み出して最新更新ページを読み出すステップと、 を有するメモリシステムを動作する方法。 - 請求項1記載のメモリシステムを動作させる方法において、
前記1以上のページ内に先に書き込まれていたデータを更新するステップは、ブロック内の全てのページよりも少ない数のページ内のデータを更新しながら、同じブロック内の残りの1以上のページ内のデータは更新しないように制限されている方法。 - 請求項2記載のメモリシステムを動作させる方法において、
前記方法が実行されるメモリシステムは、電荷記憶エレメントとして導電性フローティングゲートを利用する方法。 - 請求項1記載のメモリシステムを動作させる方法において、
前記ページ内にデータを書き込むステップの中で、データが書き込まれる個々のページの論理アドレスも個々のページ内に書き込まれる方法。 - 請求項1記載のメモリシステムを動作させる方法において、
前記ページ内にデータを書き込むステップの中で、データが2を越える格納状態を持つページの個々の記憶エレメントに書き込まれ、それによって個々の記憶エレメントに1ビットのデータを格納する方法。 - 請求項1記載のメモリシステムを動作させる方法において、
前記方法が実行されるメモリシステムは、電荷記憶エレメントとして導電性フローティングゲートを利用する方法。 - 請求項1記載のメモリシステムを動作させる方法において、
前記メモリシステムは、1ページに沿って形成された外部の電気的コネクタを備える封止されたカード内に配置される方法。
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 |
PCT/US2002/000366 WO2002058074A2 (en) | 2001-01-19 | 2002-01-07 | Partial block data programming and reading operations in a non-volatile memory |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007203823A Division JP4750766B2 (ja) | 2001-01-19 | 2007-08-06 | 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 |
JP2008075388A Division JP4768771B2 (ja) | 2001-01-19 | 2008-03-24 | 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004533029A JP2004533029A (ja) | 2004-10-28 |
JP4155824B2 true JP4155824B2 (ja) | 2008-09-24 |
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 After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007203823A Expired - Lifetime JP4750766B2 (ja) | 2001-01-19 | 2007-08-06 | 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 |
JP2008075388A Expired - Lifetime JP4768771B2 (ja) | 2001-01-19 | 2008-03-24 | 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 |
Country Status (11)
Country | Link |
---|---|
US (6) | US6763424B2 (ja) |
EP (4) | EP1653323B1 (ja) |
JP (3) | JP4155824B2 (ja) |
KR (2) | KR100944996B1 (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)
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 |
US8019789B2 (en) * | 2001-07-03 | 2011-09-13 | 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 | フラッシュメモリの管理方法 |
CN101114255A (zh) * | 2002-08-29 | 2008-01-30 | 松下电器产业株式会社 | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 |
US7234036B1 (en) | 2002-10-28 | 2007-06-19 | Sandisk Corporation | Method and apparatus for resolving physical blocks associated with a common logical block |
CN100483552C (zh) * | 2002-10-28 | 2009-04-29 | 桑迪士克股份有限公司 | 在非易失性存储***中执行自动磨损平衡的方法 |
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 |
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 |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
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 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US8504798B2 (en) | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
WO2005066792A2 (en) * | 2003-12-30 | 2005-07-21 | Sandisk Corporation | Non-volatile memory and method with memory planes alignment |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7631138B2 (en) * | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
DE102004005290B3 (de) * | 2004-02-03 | 2005-07-21 | Giesecke & Devrient Gmbh | Verfahren und Vorrichtung zur Absicherung von Daten in einem nichtflüchtigen Datenspeicher |
US7127549B2 (en) | 2004-02-04 | 2006-10-24 | Sandisk Corporation | Disk acceleration using first and second storage devices |
US7136973B2 (en) | 2004-02-04 | 2006-11-14 | Sandisk Corporation | Dual media storage device |
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 |
JP4253272B2 (ja) * | 2004-05-27 | 2009-04-08 | 株式会社東芝 | メモリカード、半導体装置、及び半導体メモリの制御方法 |
US8429313B2 (en) * | 2004-05-27 | 2013-04-23 | Sandisk Technologies Inc. | Configurable ready/busy control |
US8607016B2 (en) * | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US7395384B2 (en) | 2004-07-21 | 2008-07-01 | Sandisk Corproation | Method and apparatus for maintaining data on non-volatile memory systems |
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 |
US7412560B2 (en) | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7395404B2 (en) * | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7882299B2 (en) * | 2004-12-21 | 2011-02-01 | Sandisk Corporation | System and method for use of on-chip non-volatile memory write cache |
US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
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 |
KR100684887B1 (ko) * | 2005-02-04 | 2007-02-20 | 삼성전자주식회사 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
KR100669342B1 (ko) * | 2004-12-21 | 2007-01-16 | 삼성전자주식회사 | 낸드 플래시 메모리 장치의 프로그램 방법 |
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 |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion 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 |
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 |
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 |
KR101331569B1 (ko) | 2005-04-21 | 2013-11-21 | 바이올린 메모리 인코포레이티드 | 상호접속 시스템 |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
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 |
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 |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7627733B2 (en) | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
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 |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7634585B2 (en) * | 2005-11-04 | 2009-12-15 | Sandisk Corporation | In-line cache using nonvolatile memory between host and disk device |
US20070106842A1 (en) * | 2005-11-04 | 2007-05-10 | Conley Kevin M | Enhanced first level storage caching methods using nonvolatile memory |
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 |
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 |
CN101346703B (zh) * | 2005-12-21 | 2012-11-21 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
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 |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
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 |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
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 |
US20070143566A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
EP1966701A2 (en) * | 2005-12-21 | 2008-09-10 | Nxp B.V. | Memory with block-erasable locations |
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 |
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 |
US7594043B2 (en) * | 2006-01-27 | 2009-09-22 | Apple Inc. | Reducing dismount time for mass storage class devices |
US7861122B2 (en) * | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
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 |
US7511646B2 (en) * | 2006-05-15 | 2009-03-31 | Apple Inc. | Use of 8-bit or higher A/D for NAND cell value |
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 |
US8000134B2 (en) | 2006-05-15 | 2011-08-16 | Apple Inc. | Off-die charge pump that supplies multiple flash devices |
US7639542B2 (en) * | 2006-05-15 | 2009-12-29 | Apple Inc. | Maintenance operations for multi-level data storage cells |
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 |
US7551486B2 (en) * | 2006-05-15 | 2009-06-23 | Apple Inc. | Iterative memory cell charging based on reference cell value |
US7613043B2 (en) * | 2006-05-15 | 2009-11-03 | Apple Inc. | Shifting reference values to account for voltage sag |
US7639531B2 (en) * | 2006-05-15 | 2009-12-29 | Apple Inc. | Dynamic cell bit resolution |
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 |
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 |
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 |
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 |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
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 |
WO2008070813A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
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 |
US8166267B2 (en) * | 2006-12-26 | 2012-04-24 | Sandisk Technologies Inc. | Managing a LBA interface in a direct data file memory system |
US8209461B2 (en) | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
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 |
US7917686B2 (en) * | 2006-12-26 | 2011-03-29 | Sandisk Corporation | Host system with direct data file interface configurability |
US7739444B2 (en) | 2006-12-26 | 2010-06-15 | Sandisk Corporation | System using a direct data file system with a continuous logical address space interface |
US20080155175A1 (en) * | 2006-12-26 | 2008-06-26 | Sinclair Alan W | Host System That Manages a 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 |
US20080209079A1 (en) * | 2007-02-28 | 2008-08-28 | 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 |
US7573773B2 (en) * | 2007-03-28 | 2009-08-11 | Sandisk Corporation | Flash memory with data refresh triggered by controlled scrub data reads |
US7477547B2 (en) * | 2007-03-28 | 2009-01-13 | Sandisk Corporation | Flash memory refresh techniques triggered by controlled scrub data reads |
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 |
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 |
US7996599B2 (en) | 2007-04-25 | 2011-08-09 | Apple Inc. | Command resequencing in memory operations |
US7913032B1 (en) | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
US7870327B1 (en) | 2007-04-25 | 2011-01-11 | Apple Inc. | Controlling memory operations using a driver and flash memory type tables |
US20080288712A1 (en) | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
US7869277B1 (en) | 2007-04-25 | 2011-01-11 | Apple Inc. | Managing data writing to memories |
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 | パナソニック株式会社 | 記録装置 |
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 |
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 |
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 |
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 |
WO2009072104A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith |
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 |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
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 |
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 |
US8751755B2 (en) | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
TW200931425A (en) * | 2008-01-11 | 2009-07-16 | Phison Electronics Corp | Method for managing flash memory blocks and controller using the same |
US8120990B2 (en) * | 2008-02-04 | 2012-02-21 | Mosaid Technologies Incorporated | Flexible memory operations in NAND flash devices |
US8068365B2 (en) | 2008-02-04 | 2011-11-29 | Mosaid Technologies Incorporated | Non-volatile memory device having configurable page size |
JP2009199211A (ja) * | 2008-02-20 | 2009-09-03 | Sony Computer Entertainment Inc | メモリ制御方法及び装置、コンピュータプログラム |
WO2009104330A1 (ja) | 2008-02-20 | 2009-08-27 | 株式会社ソニー・コンピュータエンタテインメント | メモリ制御方法及び装置、メモリアクセス制御方法、コンピュータプログラム、記録媒体 |
JP2009211234A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP4675985B2 (ja) | 2008-03-01 | 2011-04-27 | 株式会社東芝 | メモリシステム |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | 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 |
US8244960B2 (en) | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8094500B2 (en) * | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
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 |
EP2441004B8 (en) | 2009-06-12 | 2020-02-19 | Violin Systems LLC | 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 |
US8745353B2 (en) * | 2009-10-23 | 2014-06-03 | Seagate Technology Llc | Block boundary resolution for mismatched logical and physical block sizes |
US8364929B2 (en) * | 2009-10-23 | 2013-01-29 | Seagate Technology Llc | Enabling spanning for a storage device |
JP5481493B2 (ja) * | 2009-11-11 | 2014-04-23 | パナソニック株式会社 | アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム |
US8745357B2 (en) | 2009-11-30 | 2014-06-03 | Hewlett-Packard Development Company, L.P. | 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 | 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器 |
CN102193871B (zh) * | 2010-03-12 | 2014-08-20 | 群联电子股份有限公司 | 非挥发性存储器存取方法、***及非挥发性存储器控制器 |
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 |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | 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 |
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 |
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 |
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 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
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 |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. 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 |
JP2014522066A (ja) | 2011-08-09 | 2014-08-28 | エルエスアイ コーポレーション | 入出力デバイスとコンピューティングホストとの相互運用 |
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 |
WO2013052562A1 (en) * | 2011-10-05 | 2013-04-11 | Lsi Corporation | Self-journaling and hierarchical consistency for non-volatile storage |
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 |
US9329989B2 (en) | 2011-12-30 | 2016-05-03 | SanDisk Technologies, Inc. | System and method for pre-interleaving sequential data |
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 |
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 |
WO2014002160A1 (ja) * | 2012-06-25 | 2014-01-03 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム |
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 |
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 |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
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 |
US9395924B2 (en) | 2013-01-22 | 2016-07-19 | Seagate Technology Llc | Management of and region selection for writes to non-volatile memory |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
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 |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management 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 |
US9898056B2 (en) | 2013-06-19 | 2018-02-20 | Sandisk Technologies Llc | Electronic assembly with thermal channel and method of manufacture thereof |
US9313874B2 (en) | 2013-06-19 | 2016-04-12 | SMART Storage Systems, Inc. | Electronic system with heat extraction 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 |
WO2015008358A1 (ja) * | 2013-07-18 | 2015-01-22 | 株式会社日立製作所 | 情報処理装置 |
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 |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
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 |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | 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 |
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 |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
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 |
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 |
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 |
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 |
US9349479B1 (en) | 2014-11-18 | 2016-05-24 | Sandisk Technologies Inc. | Boundary word line operation in nonvolatile memory |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
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 |
TWI631463B (zh) | 2016-03-22 | 2018-08-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
TWI599880B (zh) | 2016-03-22 | 2017-09-21 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
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 |
US10019198B2 (en) | 2016-04-01 | 2018-07-10 | Intel Corporation | Method and apparatus for processing sequential writes to portions of an addressable unit |
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 |
EP3685271A4 (en) | 2018-01-29 | 2021-05-12 | Hewlett-Packard Development Company, L.P. | VALIDITY OF RECORDS STORED IN MEMORY |
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)
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 |
US5341330A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for writing to a flash memory array during erase suspend intervals |
US5822781A (en) | 1992-10-30 | 1998-10-13 | Intel Corporation | Sector-based storage device emulator having variable-sized sector |
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 |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
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 |
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) |
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 |
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 |
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 |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
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 |
JP4079506B2 (ja) | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
JPH1153235A (ja) | 1997-08-08 | 1999-02-26 | Toshiba Corp | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
JP3119214B2 (ja) * | 1997-09-30 | 2000-12-18 | ソニー株式会社 | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 |
JP3640154B2 (ja) | 1997-09-30 | 2005-04-20 | ソニー株式会社 | 不揮発性メモリ、不揮発性メモリの管理方法、不揮発性メモリを有する記憶装置、不揮発性メモリを管理するデータ管理装置及びデータ処理システム |
JP2914360B2 (ja) * | 1997-09-30 | 1999-06-28 | ソニー株式会社 | 外部記憶装置及びデータ処理方法 |
JP3070539B2 (ja) | 1997-09-30 | 2000-07-31 | ソニー株式会社 | 外部記憶装置、データ処理装置及びデータ処理方法 |
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 |
-
2001
- 2001-01-19 US US09/766,436 patent/US6763424B2/en not_active Expired - Lifetime
-
2002
- 2002-01-07 DE DE60211653T patent/DE60211653T2/de not_active Expired - Lifetime
- 2002-01-07 AU AU2002236723A patent/AU2002236723A1/en not_active Abandoned
- 2002-01-07 CN CNB2006101423598A patent/CN100485642C/zh not_active Expired - Fee Related
- 2002-01-07 CN CNB2006101423583A patent/CN100485641C/zh not_active Expired - Fee Related
- 2002-01-07 EP EP20060075106 patent/EP1653323B1/en not_active Expired - Lifetime
- 2002-01-07 EP EP15166112.1A patent/EP2953030A1/en not_active Withdrawn
- 2002-01-07 WO PCT/US2002/000366 patent/WO2002058074A2/en active IP Right Grant
- 2002-01-07 AT AT02703078T patent/ATE327556T1/de not_active IP Right Cessation
- 2002-01-07 CN CNB028038827A patent/CN1290021C/zh not_active Expired - Lifetime
- 2002-01-07 KR KR1020037009551A patent/KR100944996B1/ko active IP Right Grant
- 2002-01-07 JP JP2002558275A patent/JP4155824B2/ja not_active Expired - Fee Related
- 2002-01-07 EP EP05077929A patent/EP1645964A3/en not_active Withdrawn
- 2002-01-07 ES ES02703078T patent/ES2262782T3/es not_active Expired - Lifetime
- 2002-01-07 EP EP02703078A patent/EP1352394B1/en not_active Expired - Lifetime
- 2002-01-07 KR KR1020087028861A patent/KR101076830B1/ko not_active IP Right Cessation
- 2002-01-08 TW TW091100155A patent/TWI221217B/zh not_active IP Right Cessation
-
2004
- 2004-05-07 US US10/841,388 patent/US6968421B2/en not_active Expired - Lifetime
-
2005
- 2005-10-13 US US11/250,238 patent/US7818490B2/en not_active Expired - Fee Related
-
2007
- 2007-08-06 JP JP2007203823A patent/JP4750766B2/ja not_active Expired - Lifetime
-
2008
- 2008-03-24 JP JP2008075388A patent/JP4768771B2/ja not_active Expired - Lifetime
-
2009
- 2009-02-13 US US12/371,460 patent/US7657702B2/en not_active Expired - Fee Related
-
2010
- 2010-10-07 US US12/900,397 patent/US7970987B2/en not_active Expired - Fee Related
-
2011
- 2011-06-24 US US13/168,756 patent/US8316177B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4155824B2 (ja) | 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 | |
US7774576B2 (en) | Direct logical block addressing flash memory mass storage architecture | |
US7212440B2 (en) | On-chip data grouping and alignment | |
EP1410399B1 (en) | Method and apparatus for decreasing block write operation times performed on nonvolatile memory | |
WO2007058624A1 (en) | A controller for non-volatile memories, and methods of operating the memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070507 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080312 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080513 |
|
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: 20080610 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080708 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4155824 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: 20110718 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
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 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |