JPH11512544A - 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ - Google Patents

半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ

Info

Publication number
JPH11512544A
JPH11512544A JP9512147A JP51214797A JPH11512544A JP H11512544 A JPH11512544 A JP H11512544A JP 9512147 A JP9512147 A JP 9512147A JP 51214797 A JP51214797 A JP 51214797A JP H11512544 A JPH11512544 A JP H11512544A
Authority
JP
Japan
Prior art keywords
cluster
sector
memory
mass storage
sectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9512147A
Other languages
English (en)
Other versions
JP4399029B2 (ja
Inventor
エスタクリ,ペトロ
アサール,マームド
レイド,ロバート・エイ
イマン,バハヌ
Original Assignee
レクサー・マイクロシステムズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by レクサー・マイクロシステムズ・インコーポレーテッド filed Critical レクサー・マイクロシステムズ・インコーポレーテッド
Publication of JPH11512544A publication Critical patent/JPH11512544A/ja
Application granted granted Critical
Publication of JP4399029B2 publication Critical patent/JP4399029B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 半導体不揮発性大容量記憶メモリをユーザ・ファイルとシステム・ファイルとに区分する。システム・ファイル区間をさらに、それぞれが複数のセクタを有するクラスタに再分割する。各クラスタは単一の所定のLBAに対するシステム・ファイルを記憶する。LBA内の情報が変更されると、新しい情報がクラスタ内の空のセクタに書き込まれる。クラスタが満杯になると、システムはクラスタを再使用のために消去するか、あるいは好ましくは空のクラスタを見つけ出し、その新しいクラスタでこのプロセスを繰り返す。全てのクラスタが満杯になると、古いデータを含むクラスタは再使用のため消去される。

Description

【発明の詳細な説明】 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリング によるシステム・データ制御の方法およびアーキテクチャ 発明の分野 本発明は、半導体大容量記憶装置アーキテクチャの分野およびこれをオペレー ティングする方法に関する。より詳しくは、本発明は、半導体不揮発性大容量記 憶メモリ内の自動摩耗レベリングによるシステム・データ制御の分野に関する。発明の背景 コンピュータは、記録、データ、プログラム、および情報の大容量記憶のため に通常は回転式磁気媒体を用いる。このようなハード・ディスク・ドライブは、 広く用いられ、一般に受け入れられているが、種々の欠陥を有する。ディスクの 回転のため、ハード・ディスク・ドライブから情報を引き出すのに固有の待ち時 間がある。 他の問題は、ポータブル・コンピュータに特に顕著である。具体的には、ハー ド・ディスクはポータブル・コンピュータが受けやすいタイプの物理的衝撃の多 くに耐えられない。さらに、ディスクを回転させるためのモータは相当量の電力 を消費し、ポータブル・コンピュータの電池寿命を低減する。 ソリッド・ステート・メモリは上記の問題を解決できるので、大容量記憶のた めハード・ディスク・ドライブの代用として理想的な選択肢である。ハード・デ ィスク・ドライブを半導体メモリで置き換えるための潜在的解決策が提案されて いる。このようなシステムが真に有用であるためには、メモリは不揮発性かつ変 更可能でなければならない。本発明者はこのような代替品としてフラッシュ・メ モリが好ましいと判断した。 フラッシュ・メモリは、ホットエレクトロン注入またはソース注入によってプ ログラム可能であり、ファウラー−ノルドハイム・トンネル効果によって消去で きる単一トランジスタ・メモリ・セルである。このようなメモリ・セルのプログ ラミングおよび消去は、フローティング・ゲート電極を取り囲む誘電体中に電流 を通すことを必要とする。このため、このタイプのメモリの消去−書き込みサイ クル数には限度がある。最終的には、誘電体が機能しなくなるのである。通常、 フラッシュ・セル・デバイス・メーカは消去−書き込みサイクルの限度を100 ,000〜1,000,000としている。 ある種のフラッシュ技術に伴うもう一つの問題は、過消去の存在である。この 種の技術を用いて製造するデバイスは、全てのセルの間の均一性を改善するため に消去の前にプログラムする必要がある。これらはまた、うまく消去できるかど うか確認する必要がある。 半導体大容量記憶装置が成功するために必要なことの一つは、これを回転媒体 ハード・ディスク大容量記憶装置の代わりの使用が、コンピュータのオペレーテ ィング・システムおよびこのような装置を用いるシステムのユーザに対して容易 であることである。換言すれば、このような半導体大容量記憶装置を含むコンピ ュータの設計者またはユーザが、単にハード・ディスクを取り除いて半導体大容 量記憶装置で置き換えることができることである。現在市販されているソフトウ ェアが全て、いかなる修正も必要とせずに、このような半導体大容量記憶装置を 用いるシステム上で動作できなければならない。 ソリッド・ステート大容量記憶装置のためのアーキテクチャのいくつかが、従 来技術で示唆されている。特に、本発明者の内二人は1993年3月26日に出 願された米国特許出願第08/038,668号、現在は1995年2月7日に 発行された米国特許第5,388,083号、1993年3月26日に出願され た米国特許出願08/037,893号、1993年10月4日に出願された米 国特許出願第131,495号、1995年7月31日に出願された出願番号付 与前の米国特許出願(名称:「DIRECT LOGICAL BLOCK A DDRESSING FLASH MEMORY MASS STORAGE ARCHITECTURE」、発明者EstakhriおよびAssar、) に 開示されている解決策の共同発明者である。これら4件の特許資料を参照により 本明細書に合体する。これら4件の特許資料は本出願と同じ会社に譲渡され所有 されている。 従来のコンピュータ・システムは、データおよびアプリケーション・ファイル (ユーザ・ファイル)などのユーザ情報を記憶する大容量記憶メモリ装置を含む 。このようなデータおよびアプリケーション・ファイルの記憶に加えて、従来シ ステムはまた、コンピュータの一般オペレーティングおよび関連する周辺システ ムを制御する際にコンピュータ・システムが使用する非ユーザ情報を大容量記憶 メモリ機能に記憶する(システム・ファイル)。DOS系システムでは、このよ うなシステム情報としては、ブーツ・セクタ、FATテーブルおよびディレクト リ情報が含まれる。 このような従来システムによれば、システム・ファイルはユーザ・ファイルよ りはるかにしばしば日常的に変更される。事実、ユーザ・ファイルの書き込み毎 に、FATテーブルおよびディレクトリがアクセスされ書き込まれる。フラッシ ュ・メモリ・デバイス内では、書き込みおよび消去オペレーティングが動作時間 の大部分を占める。したがって、システム・ファイルを更新する度に消去オペレ ーティングをしないで済めば有利であろう。また、ほとんどのフラッシュ・メモ リ・デバイスは複数ブロックを同時に消去する。ほとんどのシステム・ファイル の更新は単一のセクタ・フォーマットで行われるので、マルチセクタ消去機能を 利用するには、フラッシュ・メモリ内でシステム・ファイルをデータ・ファイル と異なる形で扱うことが望ましい。半導体大容量記憶システムへの情報書き込み を扱う、別の手法も提案されている。しかし、これらの手法はどれも、システム ・ファイル特有の要求に特に対処する方法または装置を教示していない。発明の概要 半導体不揮発性大容量記憶メモリをユーザ・ファイルとシステム・ファイルと に区分する。システム・ファイル区画はさらにクラスタに再分割され、各クラス タは複数のセクタを有する。各クラスタは一つの所定のLBAに対してシステム ・ファイルの1つのセクタを記憶する。LBA内の情報が変更されると、その新 しい情報はそのクラスタ内の新しいセクタに書き込まれる。クラスタが一杯にな ると、システムはクラスターを再使用するために消去するか、またはより好まし くは別の空のクラスタを見つけ出してその新しいクラスタに対してプロセスを繰 り返す。一つのクラスタが一杯になると、クラスタは消去されるか、または後で 消去するために、これに「old」のフラグを付ける。図面の簡単な説明 第1図は、本発明による半導体不揮発性大容量記憶メモリの概略図である。 第2図は、本発明による半導体不揮発性大容量記憶メモリの区分の概略図であ る。 第3図は、本発明の実施形態によるシステム・ファイル区画内のクラスタ配列 の概略図である。 第4図は、本発明のより好ましい実施形態によるシステム・ファイル区画内の クラスタ配列の概略図である。 第5図は、本発明による一連のオペレーティングの後の第4図の配列を示す図 である。 第6図は、本発明に従う一連のオペレーティングの後の第4図の配列を示す図 である。 第7図は、本発明のブロックRAMの概略図である。 第8図は、一連のオペレーティングに応答してブロックRAMテーブル内のエ ントリがどう変更されるかの例を示す図である。 第9図は、本発明の大容量記憶メモリ制御回路の概略ブロック図である。好ましい実施形態の詳細な説明 本発明は、改良された機能を持つ半導体不揮発性大容量記憶メモリ内のシステ ムデータを自動摩耗レベリングによって制御するための方法およびアーキテクチ ャに関する。大容量記憶メモリに記憶された情報にアクセスできるコンピュータ または他のディジタル・システムに大容量記憶メモリが結合されることはよく理 解されるであろう。第1図は、本発明による半導体不揮発性大容量記憶メモリ内 のクラスタの概略図を示す。メモリ構造はフラッシュ・メモリ・セルで形成する ことが好ましい。しかし、本発明の教示に従って他のメモリ・タイプを使用でき ることは当業者には明らかである。 大容量記憶メモリ100は複数のアドレス可能なメモリ部分102に分割され る。好ましい実施形態において、そのような各メモリ部分102はDOSタイプ のアプリケーションでアドレス可能なようなセクタである。他の便利なメモリ・ サイズも使用できる。理解の便宜上、これらのメモリ部分を説明するのにセクタ 102という用語を用いる。大容量記憶メモリ100内で、セクタ102はクラ スタ116にまとめられる。各クラスタ116はM個のセクタ102を含み、M は適宜な大きさでよいが、8または16など選択されたフラッシュ・メモリ・デ バイス内の好都合な消去可能ブロック・サイズとすることが好ましい。各セクタ 102は関連する物理ブロック・アドレス(PBA)を有し、これによって大容 量記憶メモリ100内で読み取り、書き込み、または消去のためにアドレスする ことができる。 各セクタ102はいくつかのフィールドを含むように構成される。好ましい実 施形態においては、各セクタは、バイナリ情報を記憶するデータ・フィールド1 04と、既知の何らかの方式でエラーを修正するためのエラー修正フィールド1 06と、論理ブロック・アドレスLBA108と、多くのフラグ110とを含む 。LBA108は、大容量記憶メモリ100が結合されたコンピュータシステム によって対応するデータ・フィールド104に割り当てられるアドレスである。 フラグ・フィールド110は、セクタ102が情報を含むかどうかを示すuse dフラグ120と、セクタ102内のデータが置換されたかどうかを示すold フラグ118と、セクタ102に欠陥があるかどうかを示す欠陥フラグ122と 、クラスタ116がシステム・ファイルを記憶するために割り当てられているか どうかを示すシステム・セクタ・フラグ124の少なくとも4つのサブフィール ドを含む。 本発明の好ましい実施形態においてoldフラグ118は、クラスタ内の全て のセクタ102が使用されており、最後のセクタ内のデータが更新されて第1の フリー・セクタに記憶されたとき、クラスタ内の第1セクタ102に対してセッ トされる。また、好ましい実施形態においては、クラスタ内のいずれかのセクタ が欠陥があると判定された場合、クラスタ内の第1のセクタ102に対して欠陥 フラグ122がセットされる。欠陥フラグ122がセットされると、そのクラス タ全体が欠陥があるとみなされ、クラスタ内のどのセクタ102も使用されない 。 代替の実施形態においては、oldフラグ118は、各セクタ102が置換さ れるとき、そのセクタに対してセットされる。また、欠陥フラグ122は、欠陥 があると判定されたセクタについてのみセクタ毎にセットすることができる。 コンピュータは所定のLBAに関連するシステム・セクタを更新する度に、そ のLBAに関連するクラスタ116を選択する。古いLBAデータを読み取って そのセクタ102を消去し、次いで更新された情報でデータを復元する代わりに 、コンピュータは単にクラスタ116内の次の空のセクタ102に更新されたデ ータを書き込む。クラスタ116内の次の空のセクタ102に更新されたデータ が書き込まれると、そのセクタに対してusedフラグ120がセットされる。 クラスタ116内の情報を含む最後の位置は最新の位置であるので、一つ前の位 置は古いことが分かる。クラスタ内の全てのセクタ102が置換されたデータを 含むようになるまでoldフラグ118はセットされない。クラスタ116が一 杯になり、システムが同じLBAの更新を試みた後、クラスタ116内の第1セ クタのoldフラグ118がセットされて、そのクラスタがその後は消去できる ようになり、システム・ファイルの所与のLBAに新しいフリー・クラスタ11 6が割り当てられる。このように、システム・セクタを書き込む度に消去処理を 行う必要はない。oldフラグがセットされたクラスタの消去処理は、必要なと き、またはシステムにより目立たずに行われる。 本発明によれば、大容量記憶メモリ100のセクタ102は少なくとも2つの 群に区分される。第2図に示すように、セクタ102の第1の群112はシステ ム・ファイル専用に予約される。セクタ102の第2の群114はユーザ・ファ イルとして、またシステム・エリアの拡張として予約される。 周知のように、システム・ファイルは、コンピュータ・システムにより、通常 通り所定のLBAを割り当てられる。たとえば、DOSにおいて始めの数セクタ はオペレーティング・システム用に予約される。本発明においては、システム・ ファイルのオペレーティング・システムに必要な各LBA用にセクタのクラスタ が予約される。本発明の一実施形態によれば、N個のセクタが必要な場合、第1 群112の中にN個のクラスタと適当な数のスペアが予約される。 第3図はクラスタ116の概略を示す。クラスタ116の各々が一つのLBA に関連するセクタを記憶する。各クラスタ116はM個のセクタ112を含む。 各クラスタ116中ただ一つのセクタ102が最新の情報を含む。各クラスタ内 の各セクタ102は第1図に示したフィールドを含む。 第3図に示すような一実施形態において、クラスタが一杯になると、そのクラ スタは「old」のマークを付けられ、そのLBAのシステム・セクタが更新さ れる前にもう一つのフリー・クラスタを見つけなければならない。この手順によ って、より頻繁に使われるシステム・セクタに関連するクラスタがそのシステム ・エリアに割り当てられたクラスタ間に分配され、消去サイクルがシステム・ク ラスタ間により平均して分配される。 第4図は本発明の好ましい実施形態によるシステム区画内のクラスタ配列の概 略図を示す。各クラスタはPBA 0からPBA(N+...)までの一つのP BAを割り当てられる。具体的には、第1群112(第2図)はコンピュータシ ステムが要求するN個を超す余分のクラスタを含む。システム・セクタ用のLB A 0〜Nの各々が対応するクラスタPBA 0〜Nに割り当てられる。たとえ ばLBA 2に関連するシステム・セクタが他のシステム・セクタよりも頻繁に 書き込まれる場合を考えてみる。LBA 2用のクラスタ116が古いシステム ・ファイル・データで満杯になると、そのクラスタは、図示されるように、たと えばPBA (N+1)用の空の利用できるクラスタにリダイレクトされる。ク ラスタPBA 2の第1セクタに対するoldフラグは、そのクラスタ内のセク タが全て古いデータを含み、クラスタPBA(N+1)がLBA 2に割り当て られることを示すことになる。 次にLBA 5に関連するシステム・セクタが満杯になると、第5図に示すよ うに、そのLBA用のシステム・ファイルがたとえばPBA(N+2)用の別の 空の利用可能なクラスタにリダイレクトされる。次にLBA 2に関連するシス テム・セクタが満杯になると、第6図に示すように、そのLBA用のシステム・ ファイルがたとえばPBA(N+3)用の別の空の利用可能なクラスタにリダイ レクトされる。クラスタが満杯になると、「古い」クラスタは消去され、同じ方 法で再使用される。システムは別のオペレーションの実行中に裏で全ての「古い 」 クラスタの消去も実行でき、したがって空のクラスタが利用できる。このため、 システム全体の性能がさらに増大する。この手順は、半導体不揮発性大容量記憶 メモリのシステム・ファイル区画内のプログラムおよび消去サイクルが、全ての セクタおよびクラスタについてほぼ一定であることを自動的に保証する。 本発明のオペレーティングを加速するためにブロックRAM134が含まれ、 LBA、対応するPBA、および関連データを表す表を記憶するために使用され る。第7図は本発明のブロックRAM内に記憶される表の概略図を示す。ブロッ クRAM表は、システム・ファイル区間内の各LBA用のエントリ132に加え て性能増大のためにいくつかの予備位置を含む。LBA 0〜Nの各々に対する エントリは、対応するクラスタPBA 0〜Nへの電源投入時にフラッシュ拡張 内のLBAフィールド108を読み取ることにより初期化される。予備クラスタ の各PBAに対するエントリも表に含まれる。各エントリ132は、LBAに関 連する情報のクラスタ(PBA)フィールド134の最新の物理ブロック・アド レスならびに、半導体不揮発性大容量記憶メモリ内のクラスタの実際の物理ブロ ック・アドレスに関連するoldフラグ138、usedフラグ140、および 欠陥フラグ142のミラーを含む。また、フィールド136は所与のLBAに関 連する所与の物理ブロック・アドレス内の最新のデータまたはセクタを表す。し たがって、ブロック・サイズ(クラスタ・サイズ)が8であり、たとえばこのク ラスタ内の最新セクタが5である場合、フィールド136に5という値がロード される。これはアクセス中にコントローラがクラスタ内の最新のセクタを見つけ 出す助けとなる。あるいは、コントローラが最新のシステム・ファイルを見つけ 出すためにクラスタ内の全セクタを読み取る場合に、このフィールドを除去する こともできる。 表144内でフィールド134および136の各エントリは1つのLBAに対 応している。PBAフィールド134は対応するLBAの現在のデータを含むク ラスタ116の現在のPBAを含む。フィールド136は現在のデータを記憶し ているクラスタ内のセクタの番号を含む。フラグ・フィールド138、140、 および142は各エントリに対する割り当てられたPBAに対応する。oldフ ラグ・フィールドはそのエントリに対する割り当てられたPBAが古く、消去す る必要があることを示す。消去処理が実行されるとき、本発明のシステムはブロ ックRAM内の表からoldフラグがセットされたPBAを探索する。used フラグ・フィールド140は、PBAに対応するクラスタ内の第1のセクタのu sedフラグ120を反映し、データがそのクラスタ内に記憶されるとセットさ れる。欠陥フラグ・フィールドは割り当てられたPBAが欠陥を有することを示 す。 第8図は数個のLBAにアクセスするホスト・システムの例と、ブロックRA M内に記憶された表中でそれがどう扱われるかを示す。たとえば、最初にホスト が全てのLBA 0〜Nに書き込み、かつ大容量媒体が使用されない場合、表1 50に示すように、LBA 0はPBA 0を、LBA 1はPBA 1を、以 下同様にLBA NはPBA Nを指し示す。LBA 0〜Nに対応する各エン トリについて、表150内のusedフラグ140がセットされる。各ブロック の第1の位置は最新のシステム・データ・ファイルであるので、LBA 0〜N に対応する表内の各エントリに対するクラスタ・フィールド内の最新の位置には 全てゼロがロードされる。表150〜158の各々は、一連のオペレーティング に応答してブロックRAM内に記憶される表中のエントリの進行状況を示す。ホ スト・システムが再度LBA 2に書き込み処理を行った場合、そのデータはク ラスタPBA2内の次のセクタに書き込まれ、表151内のクラスタ・フィール ド136中の最新の位置が001に更新される。不揮発性記憶100内のセクタ 拡張中でused140もセットされる。システムがLBA2への書き込みを続 ける場合、表157に示すように、クラスタ・フィールド136内の最新の位置 が111に更新されるまでこのプロセスが続く。その後、ホスト・システムが次 回再度LBA2に書き込み処理を行うとき、クラスタPBA2内の第1セクタの oldフラグ118が1にセットされ、PBA2に対応するoldフラグ・フィ ールド138中のoldフラグが1にセットされ、表158内のエントリLBA 2に対応するPBAフィールド134が次の使用可能なフリー・クラスタ、即ち PBA(N+1)で更新され、フリー・クラスタPBA(N+1)に対するエン トリに対応するusedフラグ・フィールド140が1にセットされる。次にク ラスタ・フィールド136の最新の位置が000にリセットされる。次の使用可 能なフリー・クラスタは、usedフラグと欠陥フラグがセットされていない最 初のセクタを含むクラスタを探索することによって見つけられる。クラスタが消 去されるとき、表144内のクラスタ116内でoldフラグとusedフラグ がリセットされる。このクラスタは次いでフリー・クラスタのプールに加えられ る。 第9図に示す制御回路は、フラグを読み取り、ここに述べる半導体不揮発性大 容量記憶メモリのオペレーティングを制御するためにコンピュータシステムから のデータ要求を受け取るように構成されている。制御回路200は、大容量記憶 媒体212、ホスト・システム210、およびホスト・システム210と大容量 記憶媒体212との間のオペレーティングを制御するためのローカル・コントロ ーラ214に結合されている。制御回路200は、媒体制御回路202、コント ローラ状態マシン204、1つまたは複数のホスト状態マシン206、およびブ ロックRAM208を含む。媒体制御回路202は、大容量記憶媒体212を制 御し、それに対するインターフェースを構成している。ホスト状態マシン206 はホスト・システム210を制御し、それに対するインターフェースを構成して いる。コントローラ状態マシン204は制御回路200のオペレーティングを制 御する。ブロックRAM208は上記のように表144を記憶するのに用いられ る。 表144は、揮発性メモリであるブロックRAM208内に記憶される。した がって、システムへの電力が切れると、表144内に記憶されたデータは失われ る。したがって、システムへの電力が回復したとき、表144にデータを復元ま たは再ロードしなければならない。データを表144に再ロードするには、シス テム・セクタを含む各クラスタを読み取り、各セクタからのデータを用いて表1 44を構築する。第1セクタのoldフラグ118および/または欠陥フラグ1 22がセットされていないシステムクラスタだけを読み取る。各セクタはPBA を各LBAと相関させるのに使用されるLBAフィールド108を含む。次にこ のPBAを対応するLBAエントリに対する表144のPBAフィールド134 内に記憶する。クラスタ・フィールド136内の最新の位置に対するエントリは 、usedフラグ120がセットされているクラスタ中の最後のセクタを見つけ る ことによって決定される。このようにして、表144が再構築されるまで、シス テム・セクタを記憶している現在の各クラスタについてこのプロセスを繰り返す 。 本発明の構成およびオペレーティングの原理を理解しやすくするために、詳細 を含む特定の実施形態を用いて本発明を説明した。本明細書における特定の実施 形態の参照およびその詳細は、添付の請求の範囲を限定するものではない。本発 明の精神と範囲から逸脱することなく例示のために選んだ実施形態に修正が可能 であることは当業者には明らかであろう。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),UA(AM,AZ,BY,KG,KZ,MD ,RU,TJ,TM),AL,AM,AT,AU,AZ ,BB,BG,BR,BY,CA,CH,CN,CZ, DE,DK,EE,ES,FI,GB,GE,HU,I L,IS,JP,KE,KG,KP,KR,KZ,LK ,LR,LS,LT,LU,LV,MD,MG,MK, MN,MW,MX,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,TJ,TM,TR ,TT,UA,UG,UZ,VN (72)発明者 アサール,マームド アメリカ合衆国・95037・カリフォルニア 州・モーガン ヒル・シャドウレーン コ ート・14525 (72)発明者 レイド,ロバート・エイ アメリカ合衆国・94539・カリフォルニア 州・フレモント・イベロ ウェイ・44224 (72)発明者 イマン,バハヌ アメリカ合衆国・94086・カリフォルニア 州・サニーベイル・アイリス アヴェニ ュ・946

Claims (1)

  1. 【特許請求の範囲】 1.データを記憶するための個別にアドレス可能な複数のセクタを含み、 a.ユーザ・ファイルを記憶するための複数のセクタを有する、半導体不揮発 性大容量記憶メモリ内の第1の区画と、 b.システム・ファイルを記憶するための半導体不揮発性大容量記憶メモリ内 の第2の区画であって、その区画は、さらに複数のクラスタを含み、各クラスタ が複数のセクタを有し、各クラスタが、そのクラスタ内の一つのセクタ内に所定 の論理ブロック・アドレスに対してシステム・セクタを記憶する第2の区画と、 c.そのクラスタ内の空のセクタ中に置換システム・セクタを書き込み、かつ 置換システム・セクタに指標を与える制御回路と を含む半導体不揮発性大容量記憶メモリ。 2.さらに、前のクラスタが一杯になったときに、後続の置換システム・ファイ ルを受け取るための空のクラスタを含む請求項1に記載の半導体不揮発性大容量 記憶メモリ。 3.各エントリが論理ブロック・アドレスに関連するセクタが古いかどうかを示 すフラグをも含む請求項2に記載の半導体不揮発性大容量記憶メモリ。 4.各セクタが、そのセクタが使用されているかどうかを示すフラグをも含む請 求項3に記載の半導体不揮発性大容量記憶メモリ。 5.各セクタが、そのセクタが欠陥を有するかどうかを示すフラグをも含む請求 項3に記載の半導体不揮発性大容量記憶メモリ。 6.a.各クラスタが複数のセクタを有し、各クラスタがそのクラスタ内の一つ のセクタ中に一つの論理ブロック・アドレスのためのシステム・セクタを記憶す る、複数のクラスタを有するシステム・ファイルを記憶するための区画を含む半 導体不揮発性大容量記憶メモリと、 b.半導体不揮発性大容量記憶メモリに結合され、半導体不揮発性大容量記憶 メモリとの間の制御メモリ・アクセス・オペレーティングを制御する制御回路と を含むデータを記憶するためのメモリ・システム。 7.書き込みオペレーティングが、適当な論理ブロック・アドレスに対応するク ラスタの中の空のセクタの中に置換システム・セクタを書き込むことによって完 了する請求項6に記載のメモリ・システム。 8.半導体不揮発性大容量記憶メモリがさらに、前のクラスタが満杯になったと きに後続のシステム・ファイルを記憶する空のクラスタを含む請求項7に記載の メモリ・システム。 9.さらに、制御回路と半導体不揮発性大容量記憶メモリに結合さ、各論理ブロ ック・アドレスの現在の位置に関する情報を記憶する表を含み、その表が複数の アドレス可能なエントリを含み、各エントリが論理ブロック・アドレスに対応し 、さらに各エントリがセクタの対応する物理ブロック・アドレスを含むように構 成される請求項8に記載のメモリ・システム。 10.表がランダム・アクセス・メモリ内に記憶される請求項9に記載のメモリ ・システム。 11.表が論理ブロック・アドレスに対応する各クラスタを読み取ることによっ て復元される請求項10に記載のメモリ・システム。 12.表中の各エントリが、論理ブロック・アドレスに対応するクラスタが使用 されているかどうかを示すフラグを含む請求項11に記載のメモリ・システム。 13.表中の各エントリが、論理ブロック・アドレスに対応するクラスタが欠陥 を有するかどうかを示すフラグを含む請求項12に記載のメモリ・システム。 14.表中の各エントリがさらに、論理ブロック・アドレスに対応するクラスタ 内の現在のセクタの表示を含む請求項11に記載のメモリ・システム。 15.a.複数のユーザ・ファイルを記憶するための複数のセクタを有する第1 群と、複数のシステム・ファイルを記憶するための複数のセクタを有する第2群 とにメモリを区分するステップと、 b.各クラスタが複数のセクタを有し、各クラスタがそのクラスタ内の一つの セクタ中に単一の論理ブロック・アドレスのためのシステム・セクタを記憶する ように、第2群をクラスタに区分するステップと、 c.そのクラスタ中のどのセクタが空のセクタであるかを決定するステップと 、 d.その空のセクタに置換システム・ファイルを書き込むステップと、 e.現在のおよび置換されシステム・セクタに標識を与えるステップと、 f.そのクラスタ内の最後のセクタが置換され、そのクラスタ内にフリー・セ クタがないとき、クラスタにoldとマークを付けるステップと、 を含む、半導体不揮発性大容量記憶メモリに情報を記憶すせる方法。 16.さらに、前のクラスタが満杯になったとき、次の置換システム・セクタを 空のクラスタに書き込むステップを含む請求項15に記載の方法。 17.さらに、古いシステム・セクタのみを有するクラスタを消去するステップ を含む請求項16に記載の方法。
JP51214797A 1995-09-13 1996-09-12 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ Expired - Lifetime JP4399029B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/527,484 US5835935A (en) 1995-09-13 1995-09-13 Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US08/527,484 1995-09-13
PCT/US1996/014750 WO1997010604A1 (en) 1995-09-13 1996-09-12 Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory

Publications (2)

Publication Number Publication Date
JPH11512544A true JPH11512544A (ja) 1999-10-26
JP4399029B2 JP4399029B2 (ja) 2010-01-13

Family

ID=24101644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51214797A Expired - Lifetime JP4399029B2 (ja) 1995-09-13 1996-09-12 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ

Country Status (4)

Country Link
US (1) US5835935A (ja)
JP (1) JP4399029B2 (ja)
AU (1) AU7071796A (ja)
WO (1) WO1997010604A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249855A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd 不揮発性メモリのデータ書き替え方法及び加入者回路
WO2005022393A1 (ja) * 2003-08-29 2005-03-10 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置及びその書込み方法
JP2005182793A (ja) * 2003-12-19 2005-07-07 Lexar Media Inc 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
JP2008226254A (ja) * 2001-01-19 2008-09-25 Sandisk Corp 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
JP2010518491A (ja) * 2007-01-31 2010-05-27 マイクロソフト コーポレーション フラッシュドライブの寿命の延長

Families Citing this family (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757800B1 (en) 1995-07-31 2004-06-29 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
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
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
US6801979B1 (en) 1995-07-31 2004-10-05 Lexar Media, Inc. Method and apparatus for memory control circuit
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
US5953737A (en) * 1997-03-31 1999-09-14 Lexar Media, Inc. Method and apparatus for performing erase operations transparent to a solid state storage system
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
KR100251636B1 (ko) * 1997-04-10 2000-05-01 윤종용 소형컴퓨터시스템인터페이스방식접속을위한메모리장치
JP3718578B2 (ja) * 1997-06-25 2005-11-24 ソニー株式会社 メモリ管理方法及びメモリ管理装置
JP3588231B2 (ja) * 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JPH11161552A (ja) * 1997-11-28 1999-06-18 Fujitsu Ltd 可換記憶媒体のデータ保護方法及び、これを適用した記憶装置
US6076137A (en) * 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
WO1999031592A1 (fr) * 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
WO1999032977A1 (fr) * 1997-12-22 1999-07-01 Tdk Corporation Systeme de memoire flash
WO1999045460A2 (en) * 1998-03-02 1999-09-10 Lexar Media, Inc. Flash memory card with enhanced operating mode detection and user-friendly interfacing system
US6901457B1 (en) 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
WO2000030116A1 (en) 1998-11-17 2000-05-25 Lexar Media, Inc. Method and apparatus for memory control circuit
MY122279A (en) 1999-03-03 2006-04-29 Sony Corp Nonvolatile memory and nonvolatile memory reproducing apparatus
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
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
JP3942807B2 (ja) 2000-06-06 2007-07-11 株式会社ルネサステクノロジ ブロックアラインメント機能付き半導体記憶装置
US6721843B1 (en) 2000-07-07 2004-04-13 Lexar Media, Inc. Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
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
US7617352B2 (en) 2000-12-27 2009-11-10 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
JP4017177B2 (ja) * 2001-02-28 2007-12-05 スパンション エルエルシー メモリ装置
US6584017B2 (en) 2001-04-05 2003-06-24 Saifun Semiconductors Ltd. Method for programming a reference cell
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
MXPA03011964A (es) * 2001-07-05 2004-03-26 Matsushita Electric Ind Co Ltd Aparato, medio, metodo de grabacion y programa de computadora relacionado.
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
US6975536B2 (en) * 2002-01-31 2005-12-13 Saifun Semiconductors Ltd. Mass storage array and methods for operation thereof
WO2003071853A2 (en) * 2002-02-22 2003-09-04 Lexar Media, Inc. Removable memory media with integral indicator light
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
US6917544B2 (en) 2002-07-10 2005-07-12 Saifun Semiconductors Ltd. Multiple use memory chip
US7096313B1 (en) 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
US7234036B1 (en) 2002-10-28 2007-06-19 Sandisk Corporation Method and apparatus for resolving physical blocks associated with a common logical block
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US6985992B1 (en) 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems
US7103732B1 (en) 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
US7181611B2 (en) * 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US8412879B2 (en) * 2002-10-28 2013-04-02 Sandisk Technologies Inc. Hybrid implementation for error correction codes within a non-volatile memory system
US6973531B1 (en) 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most frequently erased blocks in non-volatile memory systems
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US6831865B2 (en) * 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US7136304B2 (en) 2002-10-29 2006-11-14 Saifun Semiconductor Ltd Method, system and circuit for programming a non-volatile memory array
US6944063B2 (en) 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
US7178004B2 (en) 2003-01-31 2007-02-13 Yan Polansky Memory array programming circuit and a method for using the circuit
US6973519B1 (en) 2003-06-03 2005-12-06 Lexar Media, Inc. Card identification compatibility
TWI260497B (en) * 2003-06-13 2006-08-21 Hon Hai Prec Ind Co Ltd System and method of flash file
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
US7188228B1 (en) * 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
DE10349595B3 (de) * 2003-10-24 2004-12-09 Hyperstone Ag Verfahren zum Schreiben von Speichersektoren in einem blockweise löschbaren Speicher
US7032087B1 (en) 2003-10-28 2006-04-18 Sandisk Corporation Erase count differential table within a non-volatile memory system
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
US8706990B2 (en) 2003-10-28 2014-04-22 Sandisk Technologies Inc. Adaptive internal table backup for non-volatile memory system
TWI243303B (en) * 2003-11-14 2005-11-11 Hon Hai Prec Ind Co Ltd System and method for managing flash file stored in a flash memory
US7480760B2 (en) * 2003-12-17 2009-01-20 Wegener Communications, Inc. Rotational use of memory to minimize write cycles
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
JP4347707B2 (ja) * 2004-01-09 2009-10-21 パナソニック株式会社 情報記録媒体のフォーマット方法および情報記録媒体
JP2005222315A (ja) * 2004-02-05 2005-08-18 Sony Corp 不揮発性メモリ制御方法および装置
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7246216B2 (en) * 2004-07-14 2007-07-17 Lsi Corporation Dynamic partitioning of storage media for mixed applications
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7638850B2 (en) 2004-10-14 2009-12-29 Saifun Semiconductors Ltd. Non-volatile memory structure and method of fabrication
US8053812B2 (en) 2005-03-17 2011-11-08 Spansion Israel Ltd Contact in planar NROM technology
US20060236025A1 (en) * 2005-04-18 2006-10-19 Intel Corporation Method and apparatus to control number of erasures of nonvolatile memory
US7804126B2 (en) 2005-07-18 2010-09-28 Saifun Semiconductors Ltd. Dense non-volatile memory array and method of fabrication
US7668017B2 (en) 2005-08-17 2010-02-23 Saifun Semiconductors Ltd. Method of erasing non-volatile memory cells
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
TWI446356B (zh) 2005-09-30 2014-07-21 Mosaid Technologies Inc 具有輸出控制之記憶體及其系統
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7747833B2 (en) * 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US7808818B2 (en) 2006-01-12 2010-10-05 Saifun Semiconductors Ltd. Secondary injection for NROM
US7760554B2 (en) 2006-02-21 2010-07-20 Saifun Semiconductors Ltd. NROM non-volatile memory and mode of operation
US8253452B2 (en) 2006-02-21 2012-08-28 Spansion Israel Ltd Circuit and method for powering up an integrated circuit and an integrated circuit utilizing same
US7692961B2 (en) 2006-02-21 2010-04-06 Saifun Semiconductors Ltd. Method, circuit and device for disturb-control of programming nonvolatile memory cells by hot-hole injection (HHI) and by channel hot-electron (CHE) injection
US8364861B2 (en) * 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US8069328B2 (en) * 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US8335868B2 (en) * 2006-03-28 2012-12-18 Mosaid Technologies Incorporated Apparatus and method for establishing device identifiers for serially interconnected devices
US7551492B2 (en) 2006-03-29 2009-06-23 Mosaid Technologies, Inc. Non-volatile semiconductor memory with page erase
EP2002442B1 (en) * 2006-03-31 2010-11-10 Mosaid Technologies Incorporated Flash memory system control scheme
US7701779B2 (en) 2006-04-27 2010-04-20 Sajfun Semiconductors Ltd. Method for programming a reference cell
JP2008015769A (ja) * 2006-07-05 2008-01-24 Hitachi Ltd ストレージシステム及び書き込み分散方法
US7783956B2 (en) * 2006-07-12 2010-08-24 Cronera Systems Incorporated Data recorder
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7593259B2 (en) 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
US8700818B2 (en) * 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
US7904619B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7904764B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US20080126685A1 (en) * 2006-11-24 2008-05-29 Radoslav Danilak System, method, and computer program product for reducing memory write operations using an instruction set
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7817470B2 (en) * 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture
US8010709B2 (en) * 2006-12-06 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US7818464B2 (en) * 2006-12-06 2010-10-19 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US8331361B2 (en) 2006-12-06 2012-12-11 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8271758B2 (en) 2006-12-06 2012-09-18 Mosaid Technologies Incorporated Apparatus and method for producing IDS for interconnected devices of mixed type
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US7853727B2 (en) * 2006-12-06 2010-12-14 Mosaid Technologies Incorporated Apparatus and method for producing identifiers regardless of mixed device type in a serial interconnection
WO2008070172A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for remote direct memory access to a solid-state storage device
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8090980B2 (en) * 2006-12-08 2012-01-03 Sandforce, Inc. System, method, and computer program product for providing data redundancy in a plurality of storage devices
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US7529149B2 (en) * 2006-12-12 2009-05-05 Mosaid Technologies Incorporated Memory system and method with serial and parallel modes
US8984249B2 (en) * 2006-12-20 2015-03-17 Novachips Canada Inc. ID generation apparatus and method for serially interconnected devices
WO2008077284A1 (en) * 2006-12-27 2008-07-03 Intel Corporation Initiative wear leveling for non-volatile memory
US8010710B2 (en) 2007-02-13 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for identifying device type of serially interconnected devices
WO2008098342A1 (en) * 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Semiconductor device and method for reducing power consumption in a system having interconnected devices
US7646636B2 (en) 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US8046527B2 (en) * 2007-02-22 2011-10-25 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US7796462B2 (en) 2007-02-22 2010-09-14 Mosaid Technologies Incorporated Data flow control in multiple independent port
US7577059B2 (en) * 2007-02-27 2009-08-18 Mosaid Technologies Incorporated Decoding control with address transition detection in page erase function
US7657572B2 (en) 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US7731365B2 (en) * 2007-03-19 2010-06-08 Johnson&Johnson Vision Care, Inc. Method of fitting contact lenses
US7577029B2 (en) * 2007-05-04 2009-08-18 Mosaid Technologies Incorporated Multi-level cell access buffer with dual function
US7913033B2 (en) * 2007-10-09 2011-03-22 Micron Technology, Inc. Non-volatile memory device having assignable network identification
WO2009062280A1 (en) * 2007-11-15 2009-05-22 Mosaid Technologies Incorporated Methods and systems for failure isolation and data recovery in a configuration of series-connected semiconductor devices
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US7849275B2 (en) * 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7913128B2 (en) * 2007-11-23 2011-03-22 Mosaid Technologies Incorporated Data channel test apparatus and method thereof
US9183133B2 (en) 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
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
US7590001B2 (en) 2007-12-18 2009-09-15 Saifun Semiconductors Ltd. Flash memory with optimized write sector spares
US7983099B2 (en) 2007-12-20 2011-07-19 Mosaid Technologies Incorporated Dual function compatible non-volatile memory device
US7940572B2 (en) * 2008-01-07 2011-05-10 Mosaid Technologies Incorporated NAND flash memory having multiple cell substrates
CN102124527A (zh) 2008-05-16 2011-07-13 弗森-艾奥公司 用于检测和替代失效的数据存储器的装置、系统和方法
US20100017588A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for providing an extended capability to a system
US20100017566A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer
US20100064093A1 (en) * 2008-09-09 2010-03-11 Radoslav Danilak System, method, and computer program product for converting data in a binary representation to a non-power of two representation
US8041886B2 (en) * 2008-09-15 2011-10-18 Seagate Technology Llc System and method of managing memory
US20100146236A1 (en) * 2008-12-08 2010-06-10 Radoslav Danilak System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) * 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
JP5367357B2 (ja) * 2008-12-24 2013-12-11 株式会社メガチップス メモリシステムおよびコンピュータシステム
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8700840B2 (en) 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US20100235473A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
TWI407441B (zh) * 2009-03-20 2013-09-01 Phison Electronics Corp 快閃記憶體寫入方法及使用此方法的儲存系統與控制器
US8230159B2 (en) 2009-03-27 2012-07-24 Lsi Corporation System, method, and computer program product for sending logical block address de-allocation status information
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US8090905B2 (en) * 2009-03-27 2012-01-03 Sandforce, Inc. System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format
US20100250830A1 (en) * 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US9792074B2 (en) * 2009-07-06 2017-10-17 Seagate Technology Llc System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips
US8140712B2 (en) * 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US8108737B2 (en) * 2009-10-05 2012-01-31 Sandforce, Inc. System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device
KR101131560B1 (ko) 2010-07-15 2012-04-04 주식회사 하이닉스반도체 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US9588883B2 (en) 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US10936218B2 (en) * 2019-04-18 2021-03-02 EMC IP Holding Company LLC Facilitating an out-of-order transmission of segments of multi-segment data portions for distributed storage devices

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02292798A (ja) * 1989-04-13 1990-12-04 Sundisk Corp フラッシュEEpromシステム
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH05241741A (ja) * 1990-12-31 1993-09-21 Intel Corp 不揮発性半導体メモリ及びこれを使用したコンピュータシステム
JPH06124596A (ja) * 1991-11-28 1994-05-06 Hitachi Ltd フラッシュメモリを使用した記憶装置
JPH06332795A (ja) * 1993-05-18 1994-12-02 Sansei Denshi Japan Kk 電気的消去可能な不揮発性メモリの制御方法及びシステム
JPH07153284A (ja) * 1993-11-29 1995-06-16 Nec Corp 不揮発性半導体記憶装置及びその制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JPH0750558B2 (ja) * 1992-09-22 1995-05-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリ
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02292798A (ja) * 1989-04-13 1990-12-04 Sundisk Corp フラッシュEEpromシステム
JPH05241741A (ja) * 1990-12-31 1993-09-21 Intel Corp 不揮発性半導体メモリ及びこれを使用したコンピュータシステム
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH06124596A (ja) * 1991-11-28 1994-05-06 Hitachi Ltd フラッシュメモリを使用した記憶装置
JPH06332795A (ja) * 1993-05-18 1994-12-02 Sansei Denshi Japan Kk 電気的消去可能な不揮発性メモリの制御方法及びシステム
JPH07153284A (ja) * 1993-11-29 1995-06-16 Nec Corp 不揮発性半導体記憶装置及びその制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249855A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd 不揮発性メモリのデータ書き替え方法及び加入者回路
JP2008226254A (ja) * 2001-01-19 2008-09-25 Sandisk Corp 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
WO2005022393A1 (ja) * 2003-08-29 2005-03-10 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置及びその書込み方法
JPWO2005022393A1 (ja) * 2003-08-29 2006-10-26 松下電器産業株式会社 不揮発性記憶装置及びその書込み方法
JP4667243B2 (ja) * 2003-08-29 2011-04-06 パナソニック株式会社 不揮発性記憶装置及びその書込み方法
US7987314B2 (en) 2003-08-29 2011-07-26 Panasonic Corporation Non-volatile memory device and write method thereof
JP2005182793A (ja) * 2003-12-19 2005-07-07 Lexar Media Inc 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
JP4588431B2 (ja) * 2003-12-19 2010-12-01 レクサー・メディア・インコーポレイテッド 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
JP2010518491A (ja) * 2007-01-31 2010-05-27 マイクロソフト コーポレーション フラッシュドライブの寿命の延長

Also Published As

Publication number Publication date
WO1997010604A1 (en) 1997-03-20
AU7071796A (en) 1997-04-01
JP4399029B2 (ja) 2010-01-13
US5835935A (en) 1998-11-10

Similar Documents

Publication Publication Date Title
JP4399029B2 (ja) 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ
US8793430B2 (en) Electronic system having memory with a physical block having a sector storing data and indicating a move status of another sector of the physical block
US10078449B2 (en) Flash memory architecture with separate storage of overhead and user data
US7523249B1 (en) Direct logical block addressing flash memory mass storage architecture
JP4132086B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
US6145051A (en) Moving sectors within a block of information in a flash memory mass storage architecture
US6865658B2 (en) Nonvolatile data management system using data segments and link information

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070906

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071025

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090827

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

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

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term