JPH06223591A - フラッシュeepromアレイのクリーン・アップ方法 - Google Patents

フラッシュeepromアレイのクリーン・アップ方法

Info

Publication number
JPH06223591A
JPH06223591A JP29382993A JP29382993A JPH06223591A JP H06223591 A JPH06223591 A JP H06223591A JP 29382993 A JP29382993 A JP 29382993A JP 29382993 A JP29382993 A JP 29382993A JP H06223591 A JPH06223591 A JP H06223591A
Authority
JP
Japan
Prior art keywords
block
data
array
blocks
sector
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
JP29382993A
Other languages
English (en)
Other versions
JP3641280B2 (ja
Inventor
Steven E Wells
スティーブン・イー・ウェルズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPH06223591A publication Critical patent/JPH06223591A/ja
Application granted granted Critical
Publication of JP3641280B2 publication Critical patent/JP3641280B2/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Non-Volatile Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

(57)【要約】 【目的】フラッシュEEPROMアレイの各部分すなわ
ち各ブロックで行なわれるスイッチング動作の回数の均
等化を図る。 【構成】 クリーン・アップの対象となるブロックの全
ての有効データを他のブロックに書込み、それから、そ
のブロック全体を消去して、フラッシュEEPROMア
レイクリーン・アップする方法において、各ブロックに
含まれる無効セクタの数と、各ブロックが受けたスイッ
チング動作の数との比較に基いて、クリーン・アップす
るブロックを決定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・メモリ
装置に関し、更に詳しくは、フラッシュ電気的消去可能
プログラム可能読出し専用メモリ(フラッシュEEPR
OM)アレイの様々な部分で行なわれるスイッチング動
作の量を等しくする方法に関する。
【0002】
【従来の技術】最近のコンピュータ・システムでは、長
期メモリが幅広く使用されている。代表的には、このメ
モリは、1つまたは複数のハード・ディスクから成る。
ハード・ディスクは、中心軸の回りを高速回転するよう
に固定された1つまたは複数の平坦な円形ディスクを含
んでいる電気機械式装置である。平坦なディスクのそれ
ぞれは、何らかの磁気材料でコートされた表裏の面を有
している。電気信号により駆動される機械アームは、デ
ィスク上の適所に対しての書込みや読出しを行うよう、
各ディスクの各面に磁気ヘッドを位置決めする。それら
位置はセクタ上にあり、複数(たとえば、17個)のセ
クタで、ディスク片方面における1つの完全なトラック
を成している。各セクタは、一定数のバイト(代表的に
は512バイト)のデータを記憶することができる。フ
ォーマットにしたがって、ディスクの一方の面は600
個以上のトラックを有している。今日のパーソナル・コ
ンピュータにおいて使用されている代表的なディスク・
ドライブは、40メガバイトのデータを記憶することが
できる。
【0003】このようなハード・ディスク・ドライブ
は、非常に有用で、パーソナル・コンピュータの操作に
ほとんど欠かせない。しかし、このような電気機械式ド
ライブには欠点がある。このようなドライブは比較的重
いので、コンピュータ、特にポータブル・コンピュータ
の重量をかなり増すことになる。また、サイズも比較的
大きいので、コンピュータにおいてかなりの空間を必要
とする。しかも、使用の際、かなりの電力を必要とし、
ポータブル・コンピュータにおいてはかなりのバッテリ
電力を消費する。さらに重要なことは、電気機械式ハー
ド・ディスク・ドライブは衝撃に対し非常に敏感なこと
である。ポータブル・コンピュータを落下させた場合、
そのハード・ドライブの機能が停止することもあり得、
これによりデータが壊滅的に失われる可能性がある。
【0004】最近、電気機械式ハード・ディスクとは異
なる長期記憶の装置が、コンピュータにおいて使用でき
るようになってきた。その1つに、フラッシュEEPR
OMがある。フラッシュEEPROMメモリは、行・列
のメモリ・セルに配列された極めて多数の浮遊ゲート電
界効果形トランジスタを有しており、各セルをアクセス
し、そのセルのメモリ・トランジスタを、2つのメモリ
状態の一方にセットする回路も備えている。フラッシュ
・メモリ・セルは、DRAMメモリとは異なって典型的
なEPROMのように、電力を取り去っても情報を保持
している。フラッシュEEPROMメモリは、長期メモ
リとして使用するのに適した数多くの特性を有してい
る。たとえば、軽量で、ほんのわずかな空間しか必要な
く、電気機械式ディスク・ドライブよりも消費電力が低
い。さらに重要なことは、極めて丈夫なことである。典
型的な電気機械式ハード・ディスク・ドライブであれば
1回の落下でも破壊されてしまうであろうが、そのよう
な落下を繰返しても、悪影響を受けることがない。
【0005】しかし、フラッシュEEPROMにおける
問題は、消去をしないと再プログラムできないという点
にある。フラッシュEEPROMは、メモリに用いられ
ている全トランジスタ(セル)のソース端子に高電圧を
同時に与えることによって消去される。しかし、これら
のソース端子はアレイにおいて金属バスにより相互に接
続されているので、全アレイを一度に消去しなければな
らない。電気機械式ハード・ディスクは、ディスクの第
1領域に情報を記憶し、その後、情報の変化時には、デ
ィスクのその同じ領域を再書込みをするが、フラッシュ
・メモリ・アレイの場合には、無効(invalid)
情報すなわちダーティ(dirty)情報とともにアレ
イに残っている有効(valid)情報の全てが消去さ
れてしまう。1つのエントリの再書込みの度に全情報が
消去されるならば、消去された全ての有効情報も、更新
の度に再書込みしなければならない。データ変更にとも
なってエントリを更新するのに、このようなプロセスを
使用した場合には、電気機械式ハード・ディスクの代り
にフラッシュ・メモリを用いているコンピュータ・シス
テムの動作は、相当にスローになる。さらに、有効情報
の再書込みを要することもあって、フラッシュEEPR
OMの消去プロセスは極めて遅く、代表的には1〜2秒
かかる。このような消去時間が、高速で変化するデータ
に対してフラッシュEEPROMを使用することを妨げ
ていると考えられる。
【0006】電気機械式ハード・ディスクにより記憶さ
れる情報の場合のように高速で変更するデータのための
長期記憶装置としてフラッシュEEPROMを使用する
場合には、電気機械式ハード・ディスクで通常使用され
ているものではない、システムの動作を遅らせることの
ない、フラッシュ・アレイを消去および再書込みを行な
う方法が必要とされている。
【0007】フラッシュ・アレイを、チップ・レイアウ
トの際に、一緒に消去するセルのグループ(ブロック)
に物理的に分離しておくことによって、フラッシュ・メ
モリの一度に消去する量を減少できることがわかってい
る。このやり方はある程度まで再プログラミングの苦労
を減少できるが、ブロックを別々にフラッシュ消去でき
るようにするため、セルの各ブロックをシリコン上で物
理的に分離しなければならないので、限られた方法でし
か使用することができない。なお、必要とされる物理的
分離のために、フラッシュ・メモリのそのようなブロッ
クを保持するのに要する領域が増加してしまう。
【0008】たとえば、フラッシュ・メモリを、分離さ
れたブロックに分割した新しい装置は、本願の出願人に
譲渡され、同日出願された、発明者エス・ウェルスによ
る米国特許願「半導体メモリ・ディスクに関する方法お
よび回路」に示されている。この装置において、代表的
な長期記憶アレイは、一連のブロックに配列されたフラ
ッシュ・メモリから成っている。実施例では、アレイは
多くのシリコン・チップに分割され、それぞれのチップ
は16個のサブブロックに再分されている。各サブブロ
ックは、別のシリコン・チップ上のサブブロックと物理
的に対にされ、奇数のデータ・バイトが一方のチップの
サブブロックに記憶され、偶数のデータ・バイトが他方
のチップのサブブロックに記憶されるよう、アレイの論
理ブロックを形成している。フラッシュ・メモリの各論
理ブロックは、他の全ての同様の論理ブロックとは個別
に消去できる。しかし、アレイの各論理ブロックは、電
気機械式ハード・ディスク・ドライブのトラックに通常
に記憶される256セクタの情報を保持するのに十分な
128キロバイトのデータを保持する。したがって、1
チップ当り16個の各々消去可能なサブブロックを備え
た30チップのフラッシュ・アレイは、30メガバイト
の電気機械式ハード・ディスクとほぼ同じ量のデータを
保持する。240個の各々消去可能な部分(論理ブロッ
ク)にデータを分割したとしても、1ブロックの消去
は、非常に沢山の情報を消去することになるので、その
沢山の情報の全データの消去後に、セクタ毎の再書込み
で正しいデータに置き換えることは実際に不可能であ
る。
【0009】このような問題の解決のために、データ
は、フラッシュ・メモリ・アレイのまだ使用可能なスペ
ースが残っているブロックのいずれかに書込まれる。こ
のようにして、データは、ブロック上の物理アドレスま
たはデータのセクタ・アドレスに関係なく、アレイの空
き位置に書込まれる。たとえば、セクタ5に書込まれる
べきデータの一部は、ブロックの次の使用可能な空間
(スペース)に、それがどこであろうと、書込まれ、ル
ックアップ・テーブル(参照用テーブル)には、論理ア
ドレスの、ブロック上の物理位置(セクタ5)を記録さ
れる。アレイのこの構成により、第1ブロックにセクタ
ごとに書込めるようになり、第2ブロックにも同様の順
次操作で書込め、以下同じように書込めるようになる。
セクタのデータに変更がありセクタを再書込みする必要
が生じると、データは新しい物理位置に書込まれ、ルッ
クアップ・テーブルのデータが、論理セクタ番号に対し
ての新しい物理位置を記録するよう変更され、データが
書込まれていた最初の物理位置はダーティ(無効)とマ
ークされ、その物理位置を読出そうとするとエラー信号
が発生される。ある期間後、ブロックの相当数が一杯に
なると、特にダーティなブロックからその中の有効な情
報を他のブロックへと移し、有効な情報が読出された後
のブロック全体を消去することにより、空間を解放する
ことが望まれる。これは、「ブロックのクリーン・アッ
プ」と呼ばれ、消去されたブロック中でそれまでにダー
ティとマークされていたセクタの全数に等しい数のセク
タが開放されるという効果がある。
【0010】この構成での特別な利点は、ブロックのを
消去を、バックグラウンドで行えることである。すなわ
ち、各無効エントリは、再書込みをする時には消去され
ず、アレイの機能が読出しおよび書込みのために占有さ
れていない時に、消去されるようにすることができるこ
とである。このようにして、外部のホストは、フラッシ
ュ・アレイに書込んだりまたフラッシュ・アレイからの
情報を受け取るに際して、たとえ消去に1〜2秒要して
も、消去が行なわれていることをほとんど認識しなくて
すむ。
【0011】他の利点は、フラッシュ・メモリの各ブロ
ックが、電気機械式ハード・ディスクにより記憶される
一定の大きさのセクタではなく、物理領域に任意の大き
さのデータのセクタを記憶できることである。これによ
り、一定の大きさのセクタを備えたハードおよびフロッ
ピ・ディスクに特有な、スペース(空間)のロスをほと
んどなくすことができる。なぜならば、フラッシュ・メ
モリのブロックに置かれるにデータのセクタそれぞれ
が、データを記憶するのに要する空間と同じ長さを必要
とするだけだからである。したがって、セクタは、直前
のセクタの最後の有効バイトに、セクタ相互間のブラン
クのスペース(平均では1データ・バイト)を挟んで接
するよう、フラッシュ・メモリのブロックに配置でき
る。データが圧縮されると、512バイト・セクタの非
圧縮データを記憶するのに要する空間よりもかなり少な
い空間に記憶できる。一定の物理的寸法のセクタの最後
に通常残される空間は、データが圧縮される場合には排
除できる。上記のような構成の他の特性とこのような無
駄な記憶空間の排除とにより、圧縮率1.5のデータを
記憶するフラッシュ・メモリは、所与の大きさの代表的
な電気機械式ハード・ディスクにより記憶されるデータ
と同じ量のデータを約四分の三の物理的記憶空間で記憶
することができる。
【0012】
【発明が解決しようとする課題】フラッシュ・メモリに
おける問題点には、使用できる寿命が制限されているこ
とがある。これは、スイッチング動作を繰り返すと、ア
レイの浮遊ゲート・トランジスタのスイッチング動作に
要する時間が長くなるためと思われる。そのような繰り
返しの回数はかなり大きな数ではある。約10,000
回のスイッチング動作の後に、スイッチング動作が遅く
なり始めたとして、スイッチング動作の長期化がシステ
ム・オペレーションに何らかの影響を与えるようになる
のは、約100,000回のスイッチング動作を行った
後であると見積られてきた。たとえそうでも、データを
記憶するセルを選択するための代表的なプロセスでは、
ブロック上のあるトランジスタ群およびあるトランジス
タのブロック群は、他のトランジスタよりも一層頻繁に
スイッチング動作をさせられる傾向がある。アプリケー
ション・プログラムが記憶されているブロックのような
フラッシュ・メモリ・アレイのある領域は、めったに再
書込みを受けないということがわかっている。一方、ア
プリケーション・プログラムにより特定の演算のためデ
ータが蓄積されるブロックは、非常に頻繁に変更され従
って再書込みされなければならない。さらに、すぐに変
更されるデータを記憶するブロックは他のブロックより
も多くのダーティ・セクタを有しているので、これらブ
ロックはより頻繁にクリーン・アップされることにな
る。一旦、ブロックは、動作中にクリーン・アップされ
ると、あまり変更されないデータを受けよりも、頻繁に
変更されるデータを受け取ることの方がはるかに多いで
あろう。したがって、迅速に変更されるデータを最初に
含んでいるブロックは、データ・アーキテクチャの特性
により、自動的に、頻繁に変更されるデータを更に受け
ることになる。データ変更は、そのようなブロックのク
リーン・アップを要求することになる。したがって、ア
レイ全体におけるスイッチングの量を等しくするために
何も行なわなかった場合、特定のブロックが、他のブロ
ックよりもかなり速く故障することになる。
【0013】このため、フラッシュ・メモリの各ブロッ
クのスイッチング・サイクルの回数を制御する手段が大
変に要求されている。そのような手段は、フラッシュ・
メモリ・アレイのある部分が早期に故障することにつな
がってしまう統計学的むらを修正するのに、大いに効果
があるであろう。本発明の目的は、フラッシュ・メモリ
・アレイの寿命を大幅に延長する方法を提供することで
ある。本発明の他の目的は、フラッシュ・メモリ・アレ
イの様々な部分でのスイッチングが等しく生じるように
する方法を提供することである。
【0014】
【課題を解決するための手段】上記の目的は、本発明に
よる、メモリ・セル・ブロックに分割されており、ブロ
ック毎に消去可能であるフラッシュEEPROMアレイ
のクリーン・アップにおいて、全ての有効データをアレ
イの他のブロックに書込み、それから、そのブロック全
体を消去して、フラッシュEEPROMアレイクリーン
・アップする方法において、各ブロックに含まれる無効
セクタの数と、各ブロックが受けたスイッチング動作の
数との比較に基いて、クリーン・アップするブロックを
決定する過程を有することを特徴とするフラッシュEE
PROMアレイをクリーン・アップする方法により、解
決される。
【0015】
【実施例】以下の詳細な説明において、コンピュータ・
メモリにおけるデータ・ビットの操作をアルゴリズムお
よび記号表示によって示している部分がある。これらの
アルゴリズム記述や表示は、当業者に技術の内容を最も
有効的に伝えるため、データ処理の分野における当業者
が用いている方法である。ここでは、また一般にも、ア
ルゴリズムは、目標結果に至る過程のシーケンスである
と考えられる。これらの過程は物理量の物理操作を要す
る過程である。一般に、必ずしも必要ではないが、これ
らの量は、記憶、転送、結合、比較または操作可能な電
気または磁気信号の形態である。これらの信号を、ビッ
ト、数値、エレメント、記号、文字、語句、数などで呼
称することが、主に共通使用のため、時に便利であるこ
とがわかっている。しかし、これらおよび同様の語句
は、いずれも、適切な物理量に関連しかつこれら量に用
いられる便利な単なる名称であることに留意されるべき
である。
【0016】さらに、実行される操作は、一般に、ヒュ
ーマン・オペレータにより実行されるメンタル・オペレ
ーションに関連した、たとえば、加算または比較のよう
な言葉で呼ばれることがある。本発明の一部を成してい
るここで述べられているオペレーションのいずれにおい
ても、大抵の場合、ヒューマン・オペレータのこのよう
な能力は必要でもまたは要求されてもいない。オペレー
ションはマシン・オペレーションである。いずれの場合
も、コンピュータまたはその一部を操作する方法オペレ
ーションと計算方法自体との間の相違を心に留めておか
なければならない。本発明は、電気または他の(たとえ
ば、機械的、化学的)物理信号を、他の目標物理信号を
発生するよう処理する際のコンピュータを操作する装置
および方法に関する。
【0017】図1は、本発明が実施されるフラッシュE
EPROMメモリ・アレイ10をブロックで示す。アレ
イ10は、フラッシュEEPROMメモリの複数のブロ
ックB0〜B15を含む。各ブロックは、行および列に
配列された浮遊ゲート電界効果形トランジスタ・メモリ
・セル(図示せず)を含んでいる。これらのメモリ・セ
ルは、メモリの特定のブロックおよびそのブロックの特
定の行および列を選択するための回路を有しているの
で、特定の位置におけるメモリ・セルを読出したりまた
は書込みを行なうことができる。トランジスタ・メモリ
・アレイおよびそれに関連したアクセス回路の詳細は、
当業者には周知であるので、ここでは省略する。
【0018】多くの出版物に示されているように、フラ
ッシュ・メモリは、基本的にはEPROMアレイであ
り、それの全メモリ・トランジスタのソース端子に同時
に高電圧値を与えることにより全アレイを消去できる機
能を備えたものである。このような消去により、各セル
は1の状態になる。その状態の時に、ゼロまたは1をセ
ルに書込むことができる。1はセルを同じ1の状態のま
まにし、一方、ゼロはセルをゼロ状態にスイッチング動
作をする。セルは、消去に必要とされる高い電圧値(代
表的には、12ボルト)をソース端子に供給されなけれ
ば、ゼロ状態から1の状態へと逆のスイッチング動作を
することはない。1つのブロックにおけるメモリ・トラ
ンジスタの全ソース端子は相互に結合されているので、
ゼロ状態のセルは、アレイの全ブロックが再び消去され
るまで、その状態のままである。
【0019】図1に示されたアレイ10において、メモ
リのブロックB0〜B15は、アレイ10の第1チップ
11に配置されている。別の(たとえば30個の)シリ
コン・チップ11は、アレイ10の他のブロックをそれ
ぞれ保持し、実施例では合計240のブロックを与え
る。実施例では、前述したように、各ブロックは、隣接
するチップに位置する一対のサブブロックから構成され
ている。サブブロックは、入力と出力を有し、奇数のデ
ータ・バイトを一方のサブブロックに記憶させ且つ偶数
のデータ・バイトを他方のサブブロックに記憶させるた
めの選択導体をさらに有している。このことから、ブロ
ックは、一対のサブブロックを含んでいると考えること
ができる。
【0020】ホストが、アレイに記憶すべきデータ(た
とえば、アプリケーション・プログラム)について、完
全に消去されたアレイのいずれかのブロックに対して、
その書込みを開始する際、記憶すべきデータは、ブロッ
クに、それがデータで一杯になるまで、セクタからセク
タへと順次に書込まれる。そして、書込みは、空きの空
間を有する次のブロックに進む。書込みが完了した後
は、いずれの時点においても、データが記憶されたブロ
ックおよびセクタを問合せることにより、情報をアレイ
10から読出すことができる。
【0021】上記の構成において、データは、セクタの
寸法が任意で良い(後述する)ことを除き、従来技術の
電気機械式ハード・ディスクにデータを記憶するのに使
用される物理セクタと同様のセクタに記憶される。アレ
イのセクタに記憶されたデータが変更されて、そのセク
タに既に書込まれた情報を変更すべき時には、新しい変
更後の情報は、アレイ10の空き空間を有するブロック
のいずれかに位置する新しいセクタに書込まれ、古いセ
クタは無効(ダーティ、Dirty)とマークされる。
古い情報に上書きするのではなく、このように行うの
は、古い情報を含むブロックの全てが消去されて初め
て、古い情報を再書込みできるからである。有効なデー
タを破壊することなく全ブロックを消去するには、有効
(Valid)なデータの全てをアレイ10の他のブロ
ックにコピーし、元のブロックを消去し、有効なデータ
を元のブロックに再書込みし、その後、元のブロックの
ダーティ・データが書込まれていたところに新しいデー
タを書込まなければならなかった。しかし、これは非常
に時間がかかる作業であるので、各エントリの再書込み
のためのこのようなプロセスを用いると、コンピュータ
の動作は遅くなり、動作停止といえるほどになる。した
がって、これは実用的ではない。その代わりに、新しい
情報を、別の空いているブロック(たとえば、ブロック
B7)の新しい位置に書込み、古い位置は、エントリの
セクタ番号とともに無効を示すゼロを書込むことによ
り、ダーティとマークされる。アレイのブロックを消去
することなく、ゼロの値をいずれのメモリ・セルにも書
込めることは認識されよう。
【0022】この構成では、データが置き換えられるの
で、データがどこに記憶されているかを示すのに使用さ
れるセクタ番号には、物理セクタ番号ではなく論理セク
タ番号が用いられる。この点は、電気機械式ハード・デ
ィスクでデータを配置するのに物理セクタ番号が使用さ
れているのとは対照的である。論理セクタ番号を使用で
きるようにするため、アレイ10とともに用いられるラ
ンダム・アクセス・メモリ16に、物理セクタ番号と対
比して論理セクタ番号を表にしたルックアップ・テーブ
ル17が記憶されている。このテーブル17は、特定の
論理セクタが存在する、アレイ10中の物理的位置を、
決定するのに使用される。
【0023】データが置き換えられる、このような構成
では、しばらくすると、アレイの各ブロックは、ダーテ
ィとマークされて記憶には使用できない多くのエントリ
を、有することになる。その結果、アレイ10がデータ
で一杯になると、新しい情報を記憶するための空間を作
るため、ブロックからダーティ情報をクリアしなけらば
ならなくなる。本発明の一実施例では、このクリアは、
ダーティな空間の合計量が、ダーティ空間と空き空間の
全合計の80%になった時に行なわれる。典型的には、
アレイ10の最もダーティなブロックが消去べきものと
して選択される。これにより、消去対象のブロックから
アレイの別のブロックに移動する有効なデータの量を最
少にすることができる。有効な情報が別のブロックに書
込まれ、新しいアドレスがルックアップ・テーブル17
に記録されると、情報を読出し終えたブロックは消去さ
れる。その後、消去されたブロックは、全くきれいなブ
ロックとして動作に復帰する。このクリーン・アップ操
作を行えるようにしておくために、ブロックのいくつか
を、クリーン・アップの必要時のために確保しておかな
ければならない。本発明を用いた装置の一例では、使用
可能な240のブロックのうちの14のブロックを使用
して、書込み動作の継続のため、および、クリーン・ア
ップ動作のために十分な空間を提供する。
【0024】図2には、前述した利点を得るため個々の
ブロックで使用される論理構成が示されている。図2
は、アレイ10の各ブロックにデータを記憶する方法を
理解するのに有効な理想化した図である。図2では、代
表的なブロックを方形で示している。この方形領域は、
各ブロックにより与えられる128Kバイトの記憶用に
配列された複数のトランジスタ・ディバイスを含んでい
る。前述したように、個々のブロックの領域は、実際に
は、2つの物理チップそれぞれのサブブロックに分けら
れ、一方のチップのサブブロックは奇数のデータ・バイ
トを保持し、他方のチップのサブブロックは偶数のデー
タ・バイトを保持する。トランジスタ・メモリ・ディバ
イス、ブロックを操作する線、行および列の選択線は、
図示されていないが、フラッシュ・メモリを設計する当
業者には周知である。
【0025】図2に示すように、データは、上と下から
開始するブロック20に記憶される(ブロックの一番下
の狭い領域21は、ブロック構造データのために確保さ
れる)。ブロック20の上部の、セクタ変換テーブル
(ヘッダ)と呼ばれる識別フィールドには、データのア
ドレスとしてオペレーティング・システムにより用いら
れる論理セクタ番号が記憶される。たとえば、第1セク
タ番号58112は、上部の第1エントリのためのヘッ
ダに記憶される。セクタ番号に続いて、様々な属性ビッ
トおよびポインタ値が記憶される。一実施例に含まれて
いる属性には、エントリの妥当性(V)の表示、校正番
号(Rev#)、データが圧縮されているかどうかの表
示、エントリがデータを含んでいる(WD)か否(WO
D)かを示すビットがある。エントリの妥当性(V)の
表示は、1ならば有効を意味し、ゼロならば無効を意味
する少なくとも1つのビットであり、このビットは、正
しい妥当性を確実に記憶しておくめに二重にしておくこ
とができる。校正番号(Rev#)は4ビットの番号で
ある。エントリがデータを含んでいる(WD)か否(W
OD)かを示すビットが使用されているので、セクタを
データなしに作ることができる。
【0026】ポインタ値(ブロックへのオフセット)
は、ブロック20のデータ領域において論理セクタ(例
えば58112)のデータが記憶されている物理アドレ
スを示す。図2の左側の矢印は、論理セクタ(例えば5
8112)のデータの第1ビットが記憶されている物理
位置を示している。記憶されるべきデータは、その量が
書込み動作の時点では知れているので、ブロック20の
実施例において、データは、それまでに記憶されたデー
タの次に書込むことにより記憶される。ブロック20の
第1セクタである論理セクタ58112の場合、データ
は、セクタ番号58112に関するポインタとして記憶
されたアドレスの最初から、データ領域の始まり(最下
部)まで書込まれる。最下部でデータが始まる位置は、
ブロックの上部における第1ヘッダ・エントリの前に記
憶された開始ポインタ値によりマークされる。ブロック
におけるこれらの2つの位置は、ブロック20の左上の
隅から左下の隅まで延びている矢印により結合されて示
されている。
【0027】論理セクタ58112に書込まれるデータ
の量は、固定されておらず、変更できる。しかし、コン
ピュータ・システムと記憶装置との間の代表的なインタ
フェイスでは、データは、512バイトのセクタに記憶
するよう割当てられる。図2には、第2論理セクタ5
と、ブロック20においてその論理セクタ5のデータの
第1ビットを記憶する物理位置に向けられたポインタも
模式的に示されている。セクタ5のデータは、その最後
の行がセクタ58112のデータの第1行のすぐ上の行
に位置するよう、書き込み済みの最新のデータ・セクタ
(セクタ58112)のすぐ上で開始しして下方へ延び
るデータ領域に記憶される。新しいセクタのデータは、
最後に書込まれたセクタのデータのすぐ上のすべての行
に書込まれるので、このブロック記憶構成において無駄
になるデータ空間の量はほんのわずかである(平均1バ
イト)。記憶のために供給されるデータが圧縮されてい
れば、固定のセクタ・サイズの記憶装置において、通
常、空のままにされる記憶空間の量は無視できる。これ
は、固定のセクタ・サイズを用いている外見上一杯にな
った電気機械式ハード・ディスクに代表される大量の未
使用空間とは著しく対照的である。
【0028】前述したように、セクタ番号の物理位置
は、チップ番号、ブロック、データ検索に関する他情報
(たとえば、行および列アドレス)とともに、ルックア
ップ・テーブル17(これは、アレイ10の他の構成要
素を保持している回路板のスタティック・ランダム・ア
クセス・メモリに保持されているのが望ましい)に記憶
されている。ブロック20のいずれかのセクタに記憶さ
れたデータは、次のようにして検索できる。すなわち、
ルックアップ・テーブル17からセクタ番号の物理アド
レスを決定し、そのアドレスを用いてセクタ番号が記憶
されたブロック20の物理位置を見つけ、そして、デー
タの開始位置のポインタと、検索されるセクタ番号のす
ぐ上に記憶されているセクタ番号を有するセクタの開始
位置のポインタと(これら2つの値は、データを探して
いるセクタの開始および終了位置を決定する。)を、検
索することにより、検索できる。
【0029】フラッシュ・メモリ・アレイにより使用さ
れる、データの再書き込みを行なう一般的でない装置で
は、メモリ割当てシステムが、書込みおよび再書込みさ
れるデータ用に使用可能であるよう、メモリを継続的に
新しくするすなわち新たに消去する必要がある。前述し
たように、これには、無効データを保持しているブロッ
クをクリーン・アップして、そのダーティ・セクタを解
放するため、ブロックのいくつかを常に利用できるよう
にしておくことが必要である。
【0030】いずれのメモリ・アレイの操作においても
生じる問題点は、そのメモリの読出し、書込みおよび消
去しようとする時、時々失敗があることである。フラッ
シュ・メモリにおいて非常に重大な問題は、長期間使用
した後、メモリ・トランジスタが、規定された期間内で
のスイッチング能力を失うことである。この能力損耗
は、実際には、信号がメモリ・セルから読出されて最終
値に整定するまでに必要な時間が延びることが分った。
データをセルに正しく記憶し、セルから読出すことはで
きるが、それに要する時間が長くなり、回路に要する規
定の範囲内にはない。フラッシュ・メモリがこの症状を
呈し始めると、整定時間が長くなり始め、結局、メモリ
は有用な範囲を超えてしまう。図4は、行なわれたスイ
ッチング動作の回数に対する、出力信号の整定時間をと
った、フラッシュ・メモリ・アレイの代表的な使用特性
を示している。図示のように、スイッチング動作が約1
0,000回を超えると、フラッシュ・メモリのブロッ
クの整定時間は長くなり始める。この10,000回と
いうスイッチング動作の回数が、このようなアレイにお
ける代表的な寿命として選択されている。
【0031】前述したように、アレイのダーティ・セク
タにより占められている記憶空間を解放する必要がある
場合に、最もダーティなブロックをクリーン・アップす
るようにするものとすると、あるブロックの使用が、ア
レイの他のブロックよりも多くなることになろう。そう
なるのは、あるブロックが、他のブロックに記憶された
データよりも頻繁に変更されるデータを、最初に受け取
るからである。たとえば、アプリケーション・プログラ
ムは、典型的には使用中には変更されないが、アプリケ
ーション・プログラムにより使用されるデータはしばし
ば変更される。頻繁に変更されるデータを受け取るブロ
ックは、アレイの他のブロックよりも速くクリーン・ア
ップされる。一旦、クリーン・アップされると、これら
ブロックは、おそらく、別のすぐに変更するデータを受
け取ることになる。なぜならば、スタティック・データ
を含んでいるアプリケーション・プログラムは記憶済み
であり、頻繁に変更されるデータは、通常、長期記憶装
置に書込まれるタイプのデータであるからである。結
局、これらブロックは、さらにクリーン・アップを受け
ることになろう。
【0032】その結果は、あるブロックは、他のブロッ
クよりもかなり頻繁に使用されることになり、他のブロ
ックよりかなり頻繁にクリーン・アップされる、という
ことになろう。比較的短い期間では、頻繁に変更される
データを記憶する、僅かなブロックが、スイッチング動
作の通常の寿命に至るだけで、多くのブロックはそれ程
使用されない。わずかな数のブロックが著しく使用され
て故障しても、アレイ全体の故障となるので、アレイを
機能させるためには、多くのブロックが常にクリーン・
アップの対象とするようにしておく必要がある。
【0033】本発明の動作を可能にするため、ブロック
が消去された回数のカウントが、他のデータから離れて
いる、ブロック中の小さなブロック状態部分21に、保
持される。この部分21は、図2おいて、ブロック20
の下の方に示されている。
【0034】フラッシュ・メモリ・アレイにおけるスイ
ッチング動作を均等化するため、本発明のプロセスは使
用される。代表的には、必要的ではないが、このプロセ
スは、制御回路14のマイクロプロセッサにより実行さ
れるソフトウェア・プロセスであり、その制御回路14
は、そのソフトウェアとともに読出し専用メモリに記憶
されている命令を使用する。図3は、フラッシュ・メモ
リ・アレイのブロック間でスイッチング動作の回数を均
等化するために実行される多くのオペレーションを示す
図である。この図は、状態図の形式で示されているが、
実際には操作のフローチャートに等しい。オペレーショ
ンは、読出し/書込み/消去の制御回路14の読出し専
用メモリに記憶されたソフトウェアにより制御される。
本発明の説明のため、読出し/書込みの制御回路14
は、上記マイクロプロセッサおよび読出し専用メモリの
他に、コマンド状態マシンおよび書込み状態マシンを含
んでいると考えられる。これらのマシンは、読出し、書
込み、消去のためのアレイ・チップのインタフェイスを
形成する。この回路は、本願の出願人に譲渡され、19
91年2月11日に出願された、発明者フランドリッチ
他による米国特許願第07/655,643号「コマン
ド状態マシン」と、本願の出願人に譲渡され、1991
年2月11日に出願された、発明者キネット他による米
国特許願第07/654,374号「不揮発性半導体メ
モリのプログラムおよび消去をする回路および方法」と
に述べられている。一実施例では、コマンド状態マシン
と書込み状態マシンは、物理的には、各チップ11の一
部である。
【0035】オペレーションは第1のステップ30から
始まる。第1のステップ30では、クリーン・アップ操
作が必要かどうかの決定のための評価が行なわれる。ク
リーン・アップが必要かどうかは、情報を書込みまたは
再書込みするために利用できる空間がブロックにあるか
どうかの問題に基く。一実施例では、フラッシュ・メモ
リの全アレイ(使用中の有効セクタをまない)の80%
以上がダーティである場合、使用できる空間は十分でな
いと考えられ、クリーン・アップ操作を行なう必要があ
る。この決定は、アレイ10に関連したスタティックR
AM16における、小規模データ・ベース12に空きス
ペース量を、小規模データ・ベース13にダーティ空間
の量を保持することによって行なわれる。データ・ベー
ス13は各ブロックにおけるダーティ空間の量と全ダー
ティ空間をリストし、一方、第2データ・ベース12は
各ブロックにおける空き空間の量とアレイにおける全空
き空間をリストする。セクタがダーティであるとマーク
される度に、そのセクタのサイズが、全ダーティ空間に
加えられる。クリーンな未使用(空き)セクタが、書込
みのために割当てられる度に、そのサイズが空き空間の
全量から減算される。ブロックが不良であるとマークさ
れる度に、そのブロックから全ユーザ・データが他にコ
ピーされる。したがって、不良ブロックにおける空き空
間の量は、空き空間の総量から減算され、不良ブロック
におけるダーティ空間の量は、ダーティ空間の量から減
算される。データ・ベース12,13は、読出し/書込
み/消去制御回路14のプロセッサにより、その読出し
専用メモリに記憶されたソフトウェアを用いて保持され
る。データ・ベースをルーチンとして保持することによ
り、ダーティと空きの合計の空間に対するダーティ空間
の比率は、ダーティである残りのアレイ空間のパーセン
テージの有効な尺度として常に使用できる。十分な空き
空間がある場合、クリーン・アップは必要とされない。
しかし、十分な空き空間がない場合には、クリーン・ア
ップが必要になる。
【0036】クリーン・アップが必要であるとわかる
と、プログラムは、クリーン・アップに最も適したブロ
ックを選択するステップ31に移動する。決定は、一組
の基準に基いて行なわれる。最初の基準は、どのブロッ
クが最もダーティであるかということである。最もダー
ティなブロックの決定は、データ・ベース13に保持さ
れている各ブロックに関するダーティ空間の量を、デー
タ・ベース13に保持されている他の各ブロックのダー
ティ空間に比較することによって行なわれる。第2基準
は、どのブロックが最も少ない回数のクリーン・アップ
操作(サイクル)を経過したかということである。どの
ブロックが最も少ない回数のクリーン・アップ操作を経
過したかの決定は、各ブロックの下に示された固定ブロ
ック構造領域に記憶された値を考察することにより行な
われる。示されているように、この領域は、ブロックが
何回クリーン・アップ操作を経過したかを示す値を含ん
でいる。この評価には他の要因も含められるだろうが、
本発明の目的に関しては意味がないので本明細書での検
討は省略する。
【0037】各ブロックにおいて、ダーティ・セクタの
数を再調査することにより決定された値は、倍率(一実
施例では80%)の重みを付けられ、一方、クリーン・
アップ操作の数は、(最も多くのサイクルを経験したブ
ロックと、当該のブロックとに関するクリーン・アップ
操作回数の差を見いだすことにより)他の倍率(同実施
例では20%)の重みを付けられる。2つの結果は合計
され、最も高い値を持つブロックがクリーン・アップの
ため選択される。クリーン・アップされるブロックの選
択には、最もダーティなブロックの値が圧倒的な影響を
持つが、2つのブロックがほぼ等しくダーティな場合に
は、最も少なくサイクルを経験したブロックが選択され
る。このことは、少ないスイッチング動作のブロックを
クリーン・アップのために選択する効果がある。これ
は、最も頻繁に変更されると思われるデータが、クリー
ン・アップ後に書込まれるであろうブロックを選択する
という最終的効果を有している。全体的な効果は、ブロ
ックにおけるスイッチングが均等化され始めるというこ
とである。
【0038】クリーン・アップに適したブロックが選択
されると、プロセスは、他のブロックにおける使用し得
る空きセクタ空間を見つけるステップ32に移動する。
有効なセクタを記憶する空間が発見されると、プロセス
は、ステップ33に移り、クリーン・アップ対象のブロ
ックのセクタから有効なデータを使用可能な空間に書込
む。図3は、使用可能な空間に有効なデータを書込む、
20回繰り返されるプロセスを示している。これが生じ
るのは、現在使用されている本発明の一実施例において
は、ホストにより要求されたオペレーションを遂行でき
るよう、クリーン・アップの種々のステップが割り込み
可能であることが必要とされるからである。
【0039】したがって、プロセスの様々なステップは
論理部分に分割され、それぞれの部分は、500マイク
ロ秒で行なわれる。このように、図示されたプログラム
は、プロセスの各論理ブロックの間で、ホストのオペレ
ーションにより割り込み可能である。クリーン・アップ
操作の(たとえば、他のブロックの使用可能なセクタ空
間への有効なセクタの書込みのような)長い部分は、全
オペレーションが終わるまで、各500マイクロ秒が割
込まれる。
【0040】クリーン・アップ対象のブロックのセクタ
における有効なデータを他のブロックのセクタへの書込
むことが完了すると、プログラムは、アレイが保有する
様々なデータ・ベースを更新するステップ34に移動す
る。これには、次が含まれている。すなわち、各ブロッ
クの上部にあって、書込み操作により影響されて古いヘ
ッダが無効にされているセクタ変換テーブル(ヘッダ)
を更新すること、フラッシュ・メモリに関連し、論理セ
クタをメモリのいずれかに配置させる、SRAM中のル
ックアップ・テーブル17を、新しい物理アドレスで更
新すること、ダーティおよび空き空間の量をリストす
る、SRAMに保持されたデータ・ベース12,13を
更新すること、が含まれている。
【0041】データ・ベースが更新された後、有効なデ
ータを含んでいるセクタの書込みが継続され、クリーン
・アップされるブロックにおける全ての有効なセクタが
他のブロックに移動し終わるまでループされる。ヘッダ
部分にクリーン・セクタを含まないブロックにより示さ
れるようにこれが完了すると、プログラムはステップ3
5に移動する。ステップ35では、ブロックの消去プロ
セスが開始される。消去プロセスは典型的に1〜2秒で
行なわれるので、消去のための待機を示している次のス
テップは、一実施例ではその期間中各500マイクロ秒
で消去プロセスが割り込まれ得ることを示している。
【0042】消去操作が行なわれたら、プログラムはス
テップ37に移動する。このステップ37において、デ
ータ・ベースが再び更新される。これらのデータ・ベー
スは、クリーン・アップされたブロックが経過したスイ
ッチング動作のカウント(サイクル・カウント)、メモ
リにおける空き空間およびダーティ空間の量、本発明に
は関係ない他のデータを含んでいる。
【0043】データ・ベースが更新された後、プログラ
ムは、クリーン・アップが必要かどうかの評価を行う最
初のステップ30に戻る。ダーティ・データに占有され
た記憶域を解放するためクリーン・アップがなお必要な
らば、全プロセスが繰り返される。これは、クリーン・
アップが必要とされなくなるまで継続される。クリーン
・アップがもう必要でなくなると、プログラムはステッ
プ38に移動する。ステップ38において、スイッチン
グ動作の均等化をする(「消耗レベリング(wear
leveling)」と呼ばれる)必要があるかどうか
の決定が行なわれる。この消耗レベリングのかなりの部
分は、プロセスの主要部分でクリーン・アップに最適な
ブロックを選択するステップにおいて、既に行なわれて
いることは明らかであろう。しかし、そうならない態様
でフラッシュ・メモリのプロセッサが動作している時、
アレイの様々なブロックにおけるスイッチング動作の総
数を近づけるよう、第2プロセスを用いることが有効で
あることがわかった。この目的のため、各ブロックが行
なったスイッチング動作の数を比較することにより評価
が行なわれ、アレイの最も多くサイクルされたブロック
より500回少なくクリーン・アップされたブロックが
あるかどうかを決定する。このようなブロックが生じて
いない場合、プログラムはそのプロセスから出る。又、
このようなブロックがある場合には、消耗レベリング・
クリーン・アップ操作が開始される。
【0044】この時点でクリーン・アップを開始するの
は、クリーン・アップされたブロックが、頻繁な変更を
受け易い新しいデータを受けるであろうと、言う点にあ
る。したがって、プログラムは、クリーン・アップに最
適なブロックであるかどうかの評価が消耗レベリングの
基準に基いて行なわれるステップ39に進む。ダーティ
・セクタや、行なわれたスイッチング動作数など同じフ
ァクタについての考察がなされる。しかし、各値に与え
られる重みは、スイッチング動作の数に対してより高い
重みが与えられるように変えられる。たとえば、ある実
施例では、ダーティ・セクタの数には20%の重みが付
けられ、一方、(最も多くサイクルされるブロックのク
リーン・アップ操作と、当該ブロックのクリーン・アッ
プ操作と間における差を見いだすことにより測定され
る)スイッチングの数には80%の重みが付けられる。
これらの数は合計され、最高値のブロックがクリーン・
アップのために選択される。スイッチングの数が、クリ
ーン・アップ用のブロックの選択において、圧倒的な影
響力を持つことがわかるであろう。スイッチングの数が
少ない程、そのブロックが選択される可能性は高くな
る。しかし、同数のスイッチング数の2つのブロックが
あるとすると、最もダーティなブロックが、最高合計値
を有しかつ選択される。したがって、消耗レベリング・
クリーン・アップの一般的な効果は、これまでにクリー
ン・アップされた回数が最も少ないブロックをクリーン
・アップすることである。適切なブロックが消耗レベリ
ング・クリーン・アップ操作のために選択されると、プ
ログラムは、クリーン・アップを開始するステップ32
に移動する。その後は、前述したようにクリーン・アッ
プのため同様のステップをたどる。
【0045】本発明について、実施例に基づいて説明し
たが、本発明の思想から離れることなく様々に改変でき
ることは当業者には明白であろう。
【0046】
【発明の効果】本発明のプロセスを用いることにより、
ブロック間での使用量が均等化されると同時に、継続的
に使用できるメモリのブロックが提供される。これによ
り、メモリ・アレイの寿命を延ばす効果がもたらされ、
通常の動作では寿命は約28年と算定される。これは代
表的なコンピュータ・コンポーネントをはるかに超える
寿命である。
【図面の簡単な説明】
【図1】 本発明が用いられるフラッシュ・メモリ・ア
レイの概要を示したブロック図である。
【図2】 図1に示したようなフラッシュ・メモリ・ア
レイの1つのブロックにおける情報の記憶パターンを示
したブロック図である。
【図3】 フラッシュ・メモリ・アレイにおけるスイッ
チング動作を均等化する、本発明にしたがった方法の一
部を示したフローチャートである。
【図4】 フラッシュ・メモリ・アレイに関する損耗特
性を示したグラフである。
【符号の説明】
10 フラッシュEEPROMメモリ・アレイ 14 読出し/書込み/消去制御回路 16 ランダム・アクセス・メモリ 17 ルックアップ・テーブル 20 ブロック
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 H01L 27/115 29/788 29/792 H01L 29/78 371

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 有効データおよび無効データが含まれる
    セクタとしてデータを格納するメモリ・セル・ブロック
    に分割されており、ブロック毎に消去可能であるフラッ
    シュEEPROMアレイのクリーン・アップにおいて、
    全ての有効データをアレイの他のブロックに書込み、そ
    の後、そのブロック全体を消去して、フラッシュEEP
    ROMアレイクリーン・アップする方法において、 各ブロックに含まれる無効セクタの数と、各ブロックが
    受けたスイッチング動作の数との比較に基いて、クリー
    ン・アップするブロックを決定する過程を有することを
    特徴とする、フラッシュEEPROMアレイをクリーン
    ・アップする方法。
JP29382993A 1992-10-30 1993-11-01 フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法 Expired - Lifetime JP3641280B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US96946792A 1992-10-30 1992-10-30
US969,467 1992-10-30

Publications (2)

Publication Number Publication Date
JPH06223591A true JPH06223591A (ja) 1994-08-12
JP3641280B2 JP3641280B2 (ja) 2005-04-20

Family

ID=25515597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29382993A Expired - Lifetime JP3641280B2 (ja) 1992-10-30 1993-11-01 フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法

Country Status (2)

Country Link
US (1) US5341339A (ja)
JP (1) JP3641280B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148569A (ja) * 1998-11-17 2000-05-30 Matsushita Electric Ind Co Ltd 記録再生装置
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
JP2004164493A (ja) * 2002-11-15 2004-06-10 Wescom Inc 不揮発性メモリのデータ管理システム、不揮発性メモリのデータ管理方法、およびそのプログラム
WO2004061669A1 (ja) * 2003-01-06 2004-07-22 Matsushita Electric Industrial Co., Ltd. 映像及び音声信号記録装置及び記録方法
JP2009110538A (ja) * 1997-03-31 2009-05-21 Lexar Media Inc フラッシュメモリ内のブロックにおける移動セクタ
JP2010152909A (ja) * 2008-12-24 2010-07-08 Toshiba Corp 不揮発性半導体メモリドライブ装置、情報処理装置および不揮発性半導体メモリドライブ装置における記憶領域の管理方法
JP2011527807A (ja) * 2008-07-10 2011-11-04 マイクロン テクノロジー, インク. 固体記憶装置におけるデータ収集および圧縮
JP2012501620A (ja) * 2008-09-01 2012-01-19 エルジー・ケム・リミテッド スイッチ部制御装置及び方法、並びにその装置を含むバッテリーパック及びバッテリー管理装置
JP2017084338A (ja) * 2015-08-24 2017-05-18 エイチジーエスティーネザーランドビーブイ フラッシュメモリのフラッシングを改善する方法およびシステム

Families Citing this family (209)

* 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
TW261687B (ja) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP3171901B2 (ja) * 1992-02-05 2001-06-04 セイコーインスツルメンツ株式会社 不揮発性メモリカードの書換え方法
US6549974B2 (en) 1992-06-22 2003-04-15 Hitachi, Ltd. Semiconductor storage apparatus including a controller for sending first and second write commands to different nonvolatile memories in a parallel or time overlapped manner
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
JP2737562B2 (ja) * 1992-08-18 1998-04-08 日本電気株式会社 高密度磁気ディスク装置のパトロールシーク方式
US5369616A (en) * 1992-10-30 1994-11-29 Intel Corporation Method for assuring that an erase process for a memory array has been properly completed
US5359570A (en) * 1992-11-13 1994-10-25 Silicon Storage Technology, Inc. Solid state peripheral storage device
US5491809A (en) * 1993-01-05 1996-02-13 Texas Instruments Incorporated Smart erase algorithm with secure scheme for flash EPROMs
US5740349A (en) * 1993-02-19 1998-04-14 Intel Corporation Method and apparatus for reliably storing defect information in flash disk memories
JP3078946B2 (ja) * 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
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
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JPH0736806A (ja) * 1993-07-15 1995-02-07 Nec Corp Dma方式
US5640529A (en) * 1993-07-29 1997-06-17 Intel Corporation Method and system for performing clean-up of a solid state disk during host command execution
US5400286A (en) * 1993-08-17 1995-03-21 Catalyst Semiconductor Corp. Self-recovering erase scheme to enhance flash memory endurance
US5566314A (en) * 1993-08-30 1996-10-15 Lucent Technologies Inc. Flash memory device employing unused cell arrays to update files
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5473569A (en) * 1994-08-01 1995-12-05 Motorola, Inc. Method for operating a flash memory
US5765175A (en) * 1994-08-26 1998-06-09 Intel Corporation System and method for removing deleted entries in file systems based on write-once or erase-slowly media
JP3088247B2 (ja) * 1994-09-12 2000-09-18 日本電気株式会社 不揮発性半導体記憶装置及びその消去方法
US5517453A (en) * 1994-09-15 1996-05-14 National Semiconductor Corporation Memory with multiple erase modes
ATE149709T1 (de) * 1994-09-30 1997-03-15 Sel Alcatel Ag Verfahren zur speicherverwaltung eines flash- speichers
JPH08124393A (ja) * 1994-10-20 1996-05-17 Fujitsu Ltd データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置
US5563828A (en) * 1994-12-27 1996-10-08 Intel Corporation Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
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
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
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
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
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
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
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
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
US6170066B1 (en) * 1995-09-29 2001-01-02 Intel Corporation Power-off recovery management for sector based flash media managers
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
US5987478A (en) * 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
GB2317720A (en) * 1996-09-30 1998-04-01 Nokia Mobile Phones Ltd Managing Flash memory
US5956473A (en) * 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
US5745418A (en) * 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US5963970A (en) * 1996-12-20 1999-10-05 Intel Corporation Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
US6279069B1 (en) 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6076137A (en) 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
GB9801373D0 (en) 1998-01-22 1998-03-18 Memory Corp Plc Memory system
KR100297986B1 (ko) * 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
KR100319598B1 (ko) 1998-03-18 2002-04-06 김영환 플래시메모리어레이액세스방법및장치
US6040997A (en) * 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US6038636A (en) * 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
AU1729100A (en) 1998-11-17 2000-06-05 Lexar Media, Inc. Method and apparatus for memory control circuit
US6260156B1 (en) 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6885319B2 (en) * 1999-01-29 2005-04-26 Quickshift, Inc. System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US7538694B2 (en) * 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US6819271B2 (en) 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
EP1228510B1 (en) 1999-04-01 2006-09-20 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
CN1088218C (zh) * 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
US6839821B2 (en) * 1999-11-16 2005-01-04 Lexar Media, Inc. Method and apparatus for memory control circuit
US7610438B2 (en) * 2000-01-06 2009-10-27 Super Talent Electronics, Inc. Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
US7102671B1 (en) 2000-02-08 2006-09-05 Lexar Media, Inc. Enhanced compact flash memory card
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
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
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
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
US6345001B1 (en) 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US7113432B2 (en) * 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
JP2003030993A (ja) * 2001-07-17 2003-01-31 Toshiba Corp 半導体記憶装置
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
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
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123419D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Data handling system
GB0123417D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
US6950918B1 (en) 2002-01-18 2005-09-27 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US6957295B1 (en) 2002-01-18 2005-10-18 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
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
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
JP3587842B2 (ja) * 2002-12-17 2004-11-10 沖電気工業株式会社 データ書き換え装置およびデータ書き換え方法ならびにフラッシュメモリ装置
US6973519B1 (en) 2003-06-03 2005-12-06 Lexar Media, Inc. Card identification compatibility
US7188228B1 (en) * 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
JP2007515024A (ja) 2003-12-17 2007-06-07 レクサー メディア, インコーポレイテッド 盗難を避けるための電子装置の販売場所におけるアクティブ化
US7480760B2 (en) * 2003-12-17 2009-01-20 Wegener Communications, Inc. Rotational use of memory to minimize write cycles
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
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7441067B2 (en) * 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US20060161724A1 (en) * 2005-01-20 2006-07-20 Bennett Alan D Scheduling of housekeeping operations in flash memory systems
US7224604B2 (en) 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US20060236025A1 (en) * 2005-04-18 2006-10-19 Intel Corporation Method and apparatus to control number of erasures of nonvolatile memory
US8321953B2 (en) * 2005-07-14 2012-11-27 Imation Corp. Secure storage device with offline code entry
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
US8335920B2 (en) 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
US8438647B2 (en) 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US20070067620A1 (en) * 2005-09-06 2007-03-22 Ironkey, Inc. Systems and methods for third-party authentication
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US20070083697A1 (en) * 2005-10-07 2007-04-12 Microsoft Corporation Flash memory management
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
US8266378B1 (en) 2005-12-22 2012-09-11 Imation Corp. Storage device with accessible partitions
US8639873B1 (en) 2005-12-22 2014-01-28 Imation Corp. Detachable storage device with RAM cache
US7831783B2 (en) 2005-12-22 2010-11-09 Honeywell International Inc. Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
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
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
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
JP5006940B2 (ja) * 2006-12-27 2012-08-22 インテル・コーポレーション 不揮発性メモリのイニシアチブウェアレベリング
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
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
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
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
US7971023B2 (en) * 2008-04-30 2011-06-28 Sandisk Corporation Guaranteed memory card performance to end-of-life
US8356105B2 (en) * 2008-05-02 2013-01-15 Marblecloud, Inc. Enterprise device policy management
KR20110036816A (ko) * 2008-06-24 2011-04-11 샌디스크 아이엘 엘티디 고체 상태 메모리의 소거 횟수에 따라 에러를 정정하기 위한 방법과 장치
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
CN101419838B (zh) * 2008-09-12 2011-01-19 中兴通讯股份有限公司 一种提高flash使用寿命的方法
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US8433843B2 (en) * 2009-03-31 2013-04-30 Qualcomm Incorporated Method for protecting sensitive data on a storage device having wear leveling
US8065469B2 (en) 2009-04-20 2011-11-22 Imation Corp. Static wear leveling
US8176295B2 (en) 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
TWI457940B (zh) * 2009-05-15 2014-10-21 Macronix Int Co Ltd 區塊為基礎快閃記憶體之位元組存取
US8639877B2 (en) * 2009-06-30 2014-01-28 International Business Machines Corporation Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks
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
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US8683088B2 (en) 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) * 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US8234520B2 (en) * 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
US20110119462A1 (en) * 2009-11-19 2011-05-19 Ocz Technology Group, Inc. Method for restoring and maintaining solid-state drive performance
US9396104B1 (en) 2010-03-22 2016-07-19 Seagate Technology, Llc Accessing compressed data of varying-sized quanta in non-volatile memory
JP2011198433A (ja) * 2010-03-23 2011-10-06 Toshiba Corp メモリシステム
US8499116B2 (en) 2010-06-11 2013-07-30 Hewlett-Packard Development Company, L.P. Managing wear on independent storage devices
TWI457941B (zh) * 2010-06-25 2014-10-21 Macronix Int Co Ltd 區塊為基礎快閃記憶體之位元組存取的方法與裝置
US8239619B2 (en) 2010-07-09 2012-08-07 Macronix International Co., Ltd. Method and apparatus for high-speed byte-access in block-based flash memory
US8949506B2 (en) * 2010-07-30 2015-02-03 Apple Inc. Initiating wear leveling for a non-volatile memory
JP4910064B2 (ja) 2010-08-31 2012-04-04 株式会社東芝 記憶制御装置、記憶装置、及びデータ移動制御方法
US8621328B2 (en) 2011-03-04 2013-12-31 International Business Machines Corporation Wear-focusing of non-volatile memories for improved endurance
GB2490991B (en) 2011-05-19 2017-08-30 Ibm Wear leveling
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9846641B2 (en) 2012-06-18 2017-12-19 International Business Machines Corporation Variability aware wear leveling
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
JP2014044787A (ja) * 2012-08-01 2014-03-13 Genusion:Kk 不揮発性半導体記憶装置を用いた記憶媒体及びにこの記憶媒体を搭載した情報端末並びにこれに用いるファイルの消去方法
US9329948B2 (en) 2012-09-15 2016-05-03 Seagate Technology Llc Measuring cell damage for wear leveling in a non-volatile memory
KR20140038110A (ko) * 2012-09-20 2014-03-28 한국전자통신연구원 파일 시스템 관리 방법 및 이를 이용하는 장치
US20140115422A1 (en) * 2012-10-24 2014-04-24 Laurence H. Cooke Non-volatile memory error correction
US20140129758A1 (en) * 2012-11-06 2014-05-08 Spansion Llc Wear leveling in flash memory devices with trim commands
US9251253B2 (en) 2013-01-05 2016-02-02 Qualcomm Incorporated Expeditious citation indexing
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
EP2955633B1 (en) * 2013-03-15 2018-05-23 Huawei Technologies Co., Ltd. Data erasing method and device for flash memory
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
JP6271939B2 (ja) * 2013-10-11 2018-01-31 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10496288B1 (en) * 2014-12-04 2019-12-03 Amazon Technologies, Inc. Mechanism for distributing memory wear in a multi-tenant database
US10394462B1 (en) 2014-12-04 2019-08-27 Amazon Technologies, Inc. Data shaping to reduce memory wear in a multi-tenant database
KR102258126B1 (ko) 2015-03-19 2021-05-28 삼성전자주식회사 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
IN2015CH01601A (ja) 2015-03-28 2015-05-01 Wipro Ltd
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US10740294B2 (en) * 2017-01-12 2020-08-11 Pure Storage, Inc. Garbage collection of data blocks in a storage system with direct-mapped storage devices
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
US11159167B2 (en) 2017-09-25 2021-10-26 Intel Corporation Techniques for reducing uneven aging in integrated circuits
US11550727B2 (en) * 2020-06-18 2023-01-10 Micron Technology, Inc. Zone-aware memory management in memory subsystems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644494A (en) * 1984-02-06 1987-02-17 Sundstrand Data Control, Inc. Solid state memory for aircraft flight data recorder systems
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
US4642759A (en) * 1984-04-02 1987-02-10 Targa Electronics Systems Inc. Bubble memory disk emulation system
US4958315A (en) * 1985-07-02 1990-09-18 The United States Of America As Represented By The Secretary Of The Navy Solid state electronic emulator of a multiple track motor driven rotating magnetic memory
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US4763305A (en) * 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
US4802117A (en) * 1985-12-16 1989-01-31 Pitney Bowes Inc. Method of preserving data storage in a postal meter
JPS63113623A (ja) * 1986-10-30 1988-05-18 Nec Corp セクタバツフア制御方式
US5070474A (en) * 1988-07-26 1991-12-03 Disk Emulation Systems, Inc. Disk emulation system
US5047989A (en) * 1989-03-10 1991-09-10 Intel Corporation Chapter mode selection apparatus for MOS memory
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5131089A (en) * 1989-06-12 1992-07-14 Grid Systems Corporation Solid state disk drive emulation
US5077737A (en) * 1989-08-18 1991-12-31 Micron Technology, Inc. Method and apparatus for storing digital data in off-specification dynamic random access memory devices
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5224070A (en) * 1991-12-11 1993-06-29 Intel Corporation Apparatus for determining the conditions of programming circuitry used with flash EEPROM memory
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110538A (ja) * 1997-03-31 2009-05-21 Lexar Media Inc フラッシュメモリ内のブロックにおける移動セクタ
JP2012009034A (ja) * 1997-03-31 2012-01-12 Lexar Media Inc フラッシュメモリ内のブロックにおける移動セクタ
JP2000148569A (ja) * 1998-11-17 2000-05-30 Matsushita Electric Ind Co Ltd 記録再生装置
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
JP2004164493A (ja) * 2002-11-15 2004-06-10 Wescom Inc 不揮発性メモリのデータ管理システム、不揮発性メモリのデータ管理方法、およびそのプログラム
WO2004061669A1 (ja) * 2003-01-06 2004-07-22 Matsushita Electric Industrial Co., Ltd. 映像及び音声信号記録装置及び記録方法
JP2011527807A (ja) * 2008-07-10 2011-11-04 マイクロン テクノロジー, インク. 固体記憶装置におけるデータ収集および圧縮
JP2012501620A (ja) * 2008-09-01 2012-01-19 エルジー・ケム・リミテッド スイッチ部制御装置及び方法、並びにその装置を含むバッテリーパック及びバッテリー管理装置
JP2010152909A (ja) * 2008-12-24 2010-07-08 Toshiba Corp 不揮発性半導体メモリドライブ装置、情報処理装置および不揮発性半導体メモリドライブ装置における記憶領域の管理方法
US8135902B2 (en) 2008-12-24 2012-03-13 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory drive, information processing apparatus and management method of storage area in nonvolatile semiconductor memory drive
JP2017084338A (ja) * 2015-08-24 2017-05-18 エイチジーエスティーネザーランドビーブイ フラッシュメモリのフラッシングを改善する方法およびシステム
US10209891B2 (en) 2015-08-24 2019-02-19 Western Digital Technologies, Inc. Methods and systems for improving flash memory flushing

Also Published As

Publication number Publication date
US5341339A (en) 1994-08-23
JP3641280B2 (ja) 2005-04-20

Similar Documents

Publication Publication Date Title
JPH06223591A (ja) フラッシュeepromアレイのクリーン・アップ方法
US5581723A (en) Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
JP3695766B2 (ja) メモリの欠陥管理方法
US5357475A (en) Method for detaching sectors in a flash EEPROM memory array
US5835933A (en) Method and apparatus for updating flash memory resident firmware through a standard disk drive interface
EP0691008B1 (en) Flash memory mass storage architecture
US5388083A (en) Flash memory mass storage architecture
US5337275A (en) Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
JP5035636B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
KR101174308B1 (ko) 비휘발성 저장 시스템들에서 자동 웨어 레벨링
US5341330A (en) Method for writing to a flash memory array during erase suspend intervals
US5835935A (en) Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US8040727B1 (en) Flash EEprom system with overhead data stored in user data sectors
US8554985B2 (en) Memory block identified by group of logical block addresses, storage device with movable sectors, and methods
US6772274B1 (en) Flash memory system and method implementing LBA to PBA correlation within flash memory array
JP4588431B2 (ja) 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
EP1739683B1 (en) Space management for managing high capacity nonvolatile memory
US20070133284A1 (en) Flash EEprom System With Simultaneous Multiple Data Sector Programming and Storage of Physical Block Characteristics in Other Designated Blocks
EP0686976A2 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
JP2009282989A (ja) フラッシュメモリシステムにおけるハウスキーピング操作のスケジューリング
US5452311A (en) Method and apparatus to improve read reliability in semiconductor memories
JPH05150913A (ja) フラツシユメモリを記憶媒体としたシリコンデイスク

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040818

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050121

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130128

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130128

Year of fee payment: 8

EXPY Cancellation because of completion of term