[go: up one dir, main page]

JPH11511879A - メモリシステム - Google Patents

メモリシステム

Info

Publication number
JPH11511879A
JPH11511879A JP8532831A JP53283196A JPH11511879A JP H11511879 A JPH11511879 A JP H11511879A JP 8532831 A JP8532831 A JP 8532831A JP 53283196 A JP53283196 A JP 53283196A JP H11511879 A JPH11511879 A JP H11511879A
Authority
JP
Japan
Prior art keywords
block
memory
solid state
pointer
erasable
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.)
Withdrawn
Application number
JP8532831A
Other languages
English (en)
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 JPH11511879A publication Critical patent/JPH11511879A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Semiconductor Memories (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Table Devices Or Equipment (AREA)
  • Polishing Bodies And Polishing Tools (AREA)
  • Inorganic Insulating Materials (AREA)

Abstract

(57)【要約】 ディスク装置をエミュレートするソリッドステートメモリであって、論理セクタアドレスをメインメモリアドレスに変換する変換手段と、ブロック単位で消去可能な不揮発性メモリセルから構成されるメインメモリとを備え、メインメモリ内の書き込まれていない位置を指すために第一のポインタが使用され、前記書き込まれていない位置を含む消去可能ブロックの次の消去されていない消去可能ブロックを指すために第二のポインタが使用され、第一のポインタと第二のポインタの間に少なくとも一つの消去状態の消去可能ブロックが常にあることを保証すべく制御手段が設けられていることを特徴とするソリッドステートメモリ。

Description

【発明の詳細な説明】 メモリシステム 本発明はメモリシステムに関し、具体的には、ブロック構造のデータを記憶す るメモリシステムに関する。本発明は、不揮発性メモリセルを記憶媒体として使 用する場合に適用される。本発明で使用する不揮発性メモリセルは具体的には、 個々のセルを消去するのではなく、メモリセルのブロックを消去することのでき る種類のメモリセルである。フラッシュEPROMセル、カルコゲニドメモリセ ル、フェロオプティックセルなどの各種メモリセルを使用することができる。 コンピュータ用の一般的なメモリ記憶装置の多くは、磁気ディスク装置のよう な回転する記憶媒体を基本としている。しかし、回転記憶媒体にはいくつかの欠 点がある。これらの装置は回転する円板から構成されるため、比較的大きな電力 を必要とする。シーク待ち時間(ヘッドが正しい位置に移動するのにかかる時間 )および回転待ち時間(トラックの正しい部分の位置を見つけるのにかかる時間 )のために、これらの装置は読出し/書込みが比較的遅い。磁気ディスクは比較 的重く、あまり頑丈ではない(衝撃に敏感である)。対照的に、半導体メモリは 軽量かつ頑丈で、消費電力もごくわずかであり、動作が高速である。以上の理由 から、磁気ディスクと等価のソリッドステート装置の使用が望ましい。ソリッド ステートメモリとして選択される特定の半導体は、高密度、不揮発性で、ビット あたりのコストが低いことが好ましい。このことから、フラッシュメモリは候補 として理想的である。 ソリッドステートディスク装置用の記憶媒体としてフラッシュメモリを使用す る従来技術の文献は多い。これらの文献には以下の特許が含まれる。EP039 2895、EP0424191、EP0522780、EP0597706、E P0617363、EP0618535、EP0619541、GB22513 23、WO9302418、WO9419746、WO9420906、WO9 423369、WO9423432、WO9514272、WO9510083 、US4511964、WO8400628、WO9510083、WO951 4272。これらの文献の多くは共通するある特徴を有する。例えば、大部分の 文献は、ホストコンピュータの論理アドレス(通常はCHS(シリンダ−ヘッド −セクタ)フォーマットである)をフラッシュメモリの物理アドレスに、または フラッシュメモリの 物理アドレスを生成するのに使用する中間アドレスに変換するテーブルの使用を 開示している。また、大部分の文献は、一つのブロックが、別のブロックを実質 的に上まわる回数書き込まれることがないようにする何らかの手段を有する。フ ラッシュソリッドステートディスクエミュレータの第三の共通する特徴は、半導 体への書込みを高速化するバッファである。バッファは通常、SRAM(スタテ ィックランダムアクセスメモリ)などの高速メモリから作られる。 フラッシュメモリを記憶媒体として使用する全てのソリッドステートディスク エミュレーションシステムは、セルの消去および書込みを制御する何らかの方法 も有していなければならない。これらのセルは、消去に比較的長い時間がかかる こと、及び一度セルに書き込むと、セルを消去しなければ再度書き込むことがで きないことがその理由である。本発明は、ソリッドステートディスクエミュレー ティングシステムに使用することができるメモリセルの書込みおよび消去を制御 するアルゴリズムを使用する。 EPO522780には、各セルの消去回数、各メモリブロックのステータス 、およびメモリに書き込むべきデータを保持 するバッファを記録したメモリ管理テーブルを使用するソリッドステートディス クのための制御方法が記載されている。この方法は、最初のブロックを消去する 前に消去されるセクタを別のブロックにコピーすることを含む。 EP0392895は、メモリ動作を高速化するためにフラッシュメモリへの 書込みをバッファリングするキャッシュメモリの使用に関する。これに開示され たメモリシステムは、「各データファイルが最後に書き込まれてからの時間」を 判定する手段を使用する。この特許は、エラーの修正および欠陥の置換にも関す るが、これらは以下に論じる分割出願の主題でもある。 EP0618535は、欠陥置換を備えたソリッドステートディスクエミュレ ータに関する。 EP0617363は、フラッシュメモリ中の欠陥セルを、メモリ中の欠陥位 置から予備の位置を指すポインタを使用することによって修正する方法に関する 。 EP0424191は、規定された順序でアクセス可能なメモリに順次データ を記憶する方法に関する。メモリの欠陥は、順序付けされたディレクトリに記憶 され、メモリの書込み時には、これらの欠陥位置はスキップされる。 EP0619541は、中央処理装置からのランダムアクセスが可能なソリッ ドステートディスクエミュレーティングシステムを提供する。このシステムはま た、各メモリブロックの消去回数を計数し、これによってプロックが多数回書き 込まれた場合にはそのブロックを回避することができる。 EP0597706は、ホストが与えた論理セクタアドレスを半導体メモリの 物理アドレスにマップするマップROMを使用するソリッドステート周辺記憶装 置を開示している。半導体メモリの全ての不良セクタのアドレスがマップROM に記録される。このマッピングを制御するためにマイクロシーケンサが使用され る。 GB2251323には、フラッシュメモリ用のディスクエミュレーションシ ステムが記載されている。この開示に記載されたクリーンアップ動作は、ある条 件を満足するときにバックグラウンドタスクとして生じるという意味でのみ自動 である。反復使用回数の最も少ないブロックか、または消去されたセクタの数が 最も多いブロックが消去される。これによって、消去するブロックが本質的にラ ンダムに選択される。 WO9420906には、ディスク装置の動作をエミュレー トするのに使用するフラッシュファイルシステムが開示されている。このシステ ムは、書込み可能なフラッシュメモリブロックに関する情報を記憶するブロック 割当てマップを使用する。ブロックを更新するときには、未使用のブロックの位 置が見つかるまで割当てマップが調べられる。転送ユニットを使用して、システ ムのメモリ再生を容易にしている。転送ユニットは、書き込まれていない消去さ れたメモリブロックである。古いデータ(古いブロック)を含むメモリブロック のアクティブデータ(現在有効なデータ)は、転送ユニット(新しいブロック) の同じ位置に書き込まれ、古いブロックは消去される。次いで、この古いブロッ クが転送ユニットになる。 WO9423432には、フラッシュメモリの大容量記憶アーキテクチャが開 示されている。変更されたデータファイルを空の大容量記憶ブロックにプログラ ムすることによって消去サイクルは回避される。記憶領域はマルチセクタ消去に よって定期的にクリーンアップされる。カウンタを使用して、最大回数を超えて 消去されるブロックがないことを保証する。 WO9423369には、WO9423432と非常に類似したフラッシュメ モリの大容量記憶アーキテクチャが開示され ている。これらの二つの開示は同じ出願人によるものである。 WO9419746には、一度に2バイトを記憶するフラッシュソリッドステ ート装置が開示されている。セクタがフラッシュメモリに書き込まれるたびに、 それとともにヘッダも書き込まれる。そのセクタの古いバージョンがメモリ中に 存在する場合には、それには無効の印がつけられる。記憶空間があるしきい値を 下まわるとクリーンアップ動作が実行される。セクタからの良好なデータは、バ ッファにコピーされ、セクタが消去されると、この良好なデータは再びそのセク タへコピーされる。 WO8400628には、記憶媒体の欠陥を管理する方法が開示されている。 この方法には、ホストからアドレスを受け取ること、そのアドレスより下位の欠 陥位置の数で受け取ったアドレスを補償すること、および補償されたアドレスに アクセスすることが含まれる。記憶媒体の欠陥位置が順序づけられたリストが構 築される。 WO9510083では、各ブロックが受けた消去回数を計数するためのカウ ンタを使用し、データファイルの更新バージョンを新しい位置にコピーする。シ ステムをクリーンアップするためにブロックは定期的に消去される。半導体メモ リ中のブ ロックは、市販のハードディスクのセクタサイズに適合するようにサイズが決め られる。 WO9514272は、アクセスすべき論理ブロックの番号から正しい開始物 理アドレスを生成する方法を提供する。 本発明の好ましい実施形態は、メモリ全体を通じた消去/書込みサイクルの自 動等化を提供する。この自動等化は、ある時間の後のバックグラウンドタスクと してではなく、データの書込みの最中に等化が実施されるという点で完全な意味 において自動である。本発明の好ましい実施形態は記憶データの自動圧縮も提供 する。本発明の好ましい実施形態はまた、使用可能なフラッシュメモリ容量を1 00%の効率で使用することができる。すなわち、使用可能なフラッシュメモリ を全て使用することができる。本発明の好ましい実施形態を、どんなサイズの消 去可能ブロックを有するフラッシュメモリにも使用することができる。消去可能 ブロックのサイズが512バイトである必要はない。これによって、記憶された 各データセグメントに誤り訂正コードを含めることが可能となる。本発明はまた 、物理アドレス空間からフラッシュアドレス空間への変換を非常に単純化する。 本発明は、ディスク装置をエミュレートするソリッドステートメモリであって 、論理アドレスを記憶装置にアクセスするための第二のアドレスに変換する変換 手段と、ブロック単位で消去可能な不揮発性メモリセルから構成される記憶装置 を備えており、記憶装置内の書き込まれていない位置を指すために第一のポイン タが使用され、前記書き込まれていない位置を含む消去可能ブロックの次の消去 されていない消去可能ブロックを指すために第二のポインタが使用され、第一の ポインタと第二のポインタの間に少なくとも一つ消去された状態の消去可能ブロ ックが常にあることを保証すべく制御手段が設けられていることを特徴とするソ リッドステートメモリを提供する。前記記憶装置内の書き込まれていない位置が 記憶装置内の最下位の書き込まれていない位置であるソリッドステートメモリ。 記憶装置内の前記書き込まれていない位置が記憶装置内の最上位の書き込まれ ていない位置であるソリッドステートメモリ。 前記書き込まれていない位置を含む消去可能ブロックの次順の消去されていな い消去可能ブロックが、第一のポインタより上の最も下位の物理アドレスを有す る消去されていない消去可能ブロックであるソリッドステートメモリ。 前記書き込まれていない位置を含む消去可能ブロックの次順の消去されていな い消去可能ブロックが、第一のポインタより下の最も上位の物理アドレスを有す る消去されていない消去可能ブロックであるソリッドステートメモリ。 前記書き込まれていない位置を含む消去可能ブロックの次順の消去されていな い消去可能ブロックが、適当なアルゴリズムによって決定されるソリッドステー トメモリ。記憶装置へのデータの書込み速度を向上させるためにバッファを使用 するソリッドステートメモリ。 前記バッファがSRAMバッファであるソリッドステートメモリ。 前記バッファがDRAMバッファであるソリッドステートメモリ。 前記記憶装置がフラッシュEPROMであるソリッドステートメモリ。 前記記憶装置がカルコゲニドセルから構成されたソリッドステートメモリ。 前記記憶装置がフェロオプティックメモリであるソリッドステートメモリ。 前記制御手段が、マイクロプロセッサ、マイクロコントローラ、またはステー トマシンによって提供されるソリッドステートメモリ。 本出願においては、書き込まれていない位置とは、これまで書き込まれたこと のない位置を意味するのではなく、消去状態にある位置を意味する。 本出願においては、第二のアドレスを、物理アドレス、物理ブロックアドレス 、または中間アドレスとすることができる。 本発明を、添付図面に参照して例示的な方法で具体的に説明する。 第1図は、磁気ディスク装置をエミュレートするメモリシステムのブロック図 である。 第2図は、フラッシュメモリ内の細分化部分の階層を示す図である。 第3A図および第3B図は、書込み/消去アルゴリズムが、メインフラッシュ メモリの消去および書込み動作を実施した位置および頻度を管理する方法を示す 図である。 第3A図は、消去/書込みアルゴリズムが実施される前のフラッシュメモリを 示す図である。第3B図は、書込み/消去ア ルゴリズムが実施された後の同じフラッシュメモリを示す図である。 第1図を参照すると、フラッシュメモリ10は、ホストから受け取ったデータ の主記憶装置として使用される。フラッシュメモリ10はメモリコントローラ1 2によって制御される。メモリコントローラ12は、フラッシュメモリ10と特 定技術に依存しないインタフェース14との間で動作する。メモリコントローラ 12は、物理メモリ(フラッシュメモリ10)内の高レベル機能の低レベル実行 を制御する。メモリコントローラ12は、特定のメモリ技術に依存する。 特定技術に依存しないインタフェース14は、メモリコントローラ12をシス テムコントローラ16に接続する。システムコントローラ16は、メインフラッ シュメモリ10内のブロック構造データ、およびフラッシュメモリ10へのデー タの書込みを高速化するために含められる書込みバッファ18内のブロック構造 データの記憶およびアクセスを管理する。システムコントローラ16は以下の機 能を実行する。システムコントローラは、ホストからの論理アドレスを、フラッ シュメモリ10での使用に適したアドレスに変換する。この変換を以下、論理− 物理アドレス変換と称する。この変換により、一つまたは複数の中間アドレスが 生成されることがある。システムコントローラは、必要な全てのアドレスルック アップテーブルを保持する。システムコントローラは、フラッシュメモリ10の 欠陥位置を管理する。システムコントローラは書込みバッファ18を管理する。 システムコントローラは、フラッシュメモリ10のブロック消去を管理する。シ ステムコントローラは、電力の投入/除去後のシステムの起動/遮断を管理する 。 ホストからのセクタ書込みは全て、書込みバッファ18に送られる。これによ って、フラッシュメモリの低速書込み速度の影響が最小限となる。セクタデータ は、書込みバッファ18からフラッシュメモリ10にバックグラウンドタスクと して転送される。書込み速度が重要でない用途では、書込みバッファ18を省略 することができる。 システムコントローラ16は、補助記憶装置20およびホストインターフェー ス22に接続される。補助記憶装置20は、フラッシュメモリ10の欠陥ブロッ ク及び消去可能ブロックテーブル、アドレス変換テーブル、エラーログ、マイク ロコントローラファームウェアなどの情報を記憶するのに使用される。 補助記憶装置には、ホストインターフェース22から直接にアクセスすることが でき、直接にマップされたメモリアドレス空間をホストに提供することができる 。第2図を参照すると、メインのフラッシュメモリ10は以下の細分化階層に配 置される。フラッシュメモリは、一つまたは複数の半導体チップ30から構成さ れる。半導体チップ30は、論理的意味を一切持たない物理的細分化部分である 。消去ブロック32は、半導体チップ30の細分化部分である。消去ブロックは 、一回の消去動作で消去することができる最小数のセルである。半導体チップ中 の消去ブロックの数は、チップサイズおよびチップ構成に応じて変化する。長方 形のワード位置群がフラッシュブロックとして割り当てられる。フラッシュブロ ック34は、欠陥管理においてマスク可能な最小のブロックサイズである。セル が不良である場合に、マスクしたり、置換したりすることができる最小の領域が フラッシュブロック34である。欠陥マッピングは、一つのフラッシュブロック 34の細分性(granularity)を有する。セクタは、ディスクエミュレーション プロトコルに基づく一つのデータ単位である。フラッシュメモリに記憶されたデ ータ(一般には、512バイトにECCバイトおよびヘッダを加えたも の)を以下、フラッシュセクタと称する。ホストのオペレーティングシステムに よって送られたデータ(一般に512バイト)を以下、ホストセクタと称する。 ホストセクタは、ホストとのデータ転送の基本単位である。最も一般的なホスト セクタのサイズは512バイトである。フレーム36はフラッシュブロック34 の、例えば、長方形のフラッシュブロック34内の行などのアドレス可能なサブ ユニットである。各ワード38は、特定技術に依存しないインタフェース14で アドレス可能な最小単位としてランダムにアクセス可能である。ワードサイズは 、メモリシステムのデータ入出力の幅によって設定され、1、2、または4バイ トとすることができる。 ワード内のビットの実際の物理的位置は、本発明に使用するアルゴリズムには トランスペアレントである。フラッシュメモリは単に、ワード位置の長方形アレ イとして取り扱われる。 フラッシュブロック34のサイズは、ホストセクタサイズ(ほとんどの場合5 12バイト)、フレームサイズ、またはワードサイズと等しくなるように設定す ることができる。メモリハーベスト(メモリ全体のうちのデータ記憶に使用でき る部分)は、あるフラッシュブロックサイズの値よりも小さい値で 停滞し、そのためフラッシュブロックサイズをさらに小さくしてもメモリハーベ ストの増大にはつながらない。しかし、フラッシュブロックサイズが小さいこと に関連する欠点がある。フラッシュブロックのサイズが小さいほど、より多くの 記憶管理空間が必要となる。コンポーネント試験の複雑さも増大する。したがっ て、フラッシュブロックのサイズには最適な範囲がある。 本発明のコンセプトから逸脱することなく、各種アドレス指定フォーマットを 本発明とともに使用することができる。 メモリを100%利用するためには、セクタの開始アドレスは、前のセクタの 終端アドレスの直後のワードでなければならない。これを達成するため、開始ア ドレスは、シングルワードの分解能(resolution)に規定される。フラッシュセ クタは隙間をあけずに記憶されるので、フラッシュセクタは、フラッシュブロッ クおよび消去ブロックの両方をオーバフローする。このような場合のフラッシュ セクタは分割セクタとして知られ、その連続領域は、次のフラッシュブロックま たは消去ブロックの最初に置かれる。したがって、フラッシュブロック内のフラ ッシュセクタの開始アドレスはフラッシュブロックごとに異な る。これを容易に管理できるのを確実にするには、消去ブロックが書き込まれる 順序がそれらの物理アドレス指定の順序に正確に対応するのを保証する必要があ る。フラッシュブロック内に欠陥セルがある場合には、そのブロックはマスクさ れて除外される。そのため、フラッシュセクタの一部が一つのフラッシュブロッ クに記憶され、次のフラッシュブロックがマスクされて除外され、フラッシュセ クタの残りの部分が、マスクされて除外されたフラッシュブロックの直上のフラ ッシュブロックに記憶されるような状況が生じることがある。したがってフラッ シュメモリ空間は不連続となることがある。 第3A図および第3B図に、書込み/消去アルゴリズムが、メインフラッシュ メモリの消去および書込み動作の実施される位置および頻度を管理する方法を示 す。第3A図は、消去/書込み段階の前のフラッシュメモリを示す図である。第 3B図は、書込み/消去段階後の同じフラッシュメモリを示す図である。 このアルゴリズムは、二つのポインタ、すなわち書込みポインタおよび消去ポ インタの存在に基づく。これらはそれぞれ、現在の書込みおよび消去位置を規定 する。位置は、物理セクタアドレスとして規定され、ポインタは、物理セクタア ドレス空 間を循環する。書込みポインタは、次のセクタ書込み動作が実施されなければな らない物理セクタの番号を規定する。このセクタの物理的位置は、メモリシステ ム内のシステムコントローラ16によるデータ書込みに備えて事前に消去されて いることが保証されている。書き込まれるセクタデータは、ホストからのセクタ 書込み後の書込みバッファ18からのものでもよいし、または消去ブロックの消 去動作に備えたメインフラッシュメモリ10内の別のセクタからのものでもよい 。セクタ書込み動作に続いて、書込みポインタは一つ増分されて、次の上位の物 理セクタアドレスを指す。書込みポインタが、使用可能な最も上位の物理セクタ アドレスに達したときには、ポインタはラップアラウンドし、使用可能なもっと も下位の物理アドレスを指す。 消去ポインタは、次に消去される予定の消去ブロックのフラッシュメモリ空間 における消去ブロックアドレスを規定する。消去ポインタの第二フィールドは、 消去ブロックの最下段に位置する最初の完全なセクタの物理セクタ番号を規定す る。消去ブロックの消去動作後に、消去ブロック番号が一つ増分される。ルック アップテーブル(以下、消去ブロックテーブルと称す)から、消去ポインタが指 す消去ブロックの最初のセクタの物理 セクタアドレスが提供される。その消去ブロックが全て欠陥で、書込み可能なセ クタを全く含まない(これは、消去ブロックテーブル中の特定のエントリで示さ れる)場合は、消去ポインタは再び増分される。消去ポインタが、使用可能な最 上位の消去ブロックに達したときには、ポインタは、メモリの最下位部分に戻り 、使用可能な最下位の消去ブロックを指す。消去ブロックは、現在の書込み位置 の直上の消去されたセクタ位置の数がほぼ一定に保たれるような速度で消去され る。したがって消去動作は、消去ポインタで規定されたセクタ番号と書込みポイ ンタで規定されたセクタ番号の差があるしきい値より小さくなったときに実行さ れる。消去ブロックを消去する前に、その消去ブロック内の有効データを含むセ クタを再配置しなければならない。この有効データの再配置は、有効データを含 むセクタを再配置バッファ(以下、転送バッファと称す)に読み出し、次いでこ れらのセクタを、書込みポインタが指す位置に書き込むことによって実施される 。論理−物理アドレス変換テーブルは、そのセクタの新しい物理セクタアドレス を指すように更新される。このようにして有効セクタのみが再配置され、古いデ ータを有するセクタは自動的に消去されるので、記憶データの自動 圧縮が提供される。 このアルゴリズムによって確立されたプロセスは、消去されたメモリの連続し た小領域が、フラッシュメモリ空間全体を循環し、その上部境界で遭遇する断片 化されたセクタを排除し、その下部境界でそれらを圧縮し、再配置することと等 価であると考えることができる。 本発明の範囲内で前述の実施形態に各種修正を実施できることを理解されたい 。例えば、代替配置として、消去されたメモリセルの連続領域を別の方向に移動 させることができる。すなわち下部境界が、下部境界の直下の断片化されたセク タを排除する場合には、有効データは、上部境界の直下の位置に書き込まれる。

Claims (1)

  1. 【特許請求の範囲】 1.予め定義された物理アドレスをそれぞれが有する複数の記憶手段と、論理ア ドレスを前記予め定義された物理アドレスの一つに変換する変換手段とを含み、 前記記憶手段が、ブロック単位で消去可能な不揮発性メモリセルから構成される メモリ装置であって、前記メモリが、空いている記憶手段を指す第一のポインタ を記憶する手段と、所定の順序に従って、前記書き込まれていない位置を含む消 去可能ブロックの次の消去されていない消去可能ブロックを指す第二のポインタ を記憶する手段とを含み、第一のポインタが指す記憶手段と第二のポインタが指 す記憶手段の間に、少なくとも一つの空の消去可能ブロックが常にあることを保 証すべく制御手段が設けられていることを特徴とするメモリ装置。 2.記憶装置内の前記書き込まれていない位置が記憶装置の最も下位の書き込ま れていない位置であることを特徴とする請求の範囲第1項に記載のソリッドステ ートメモリ。 3.記憶装置内の前記書き込まれていない位置が記憶装置の最も上位の書き込ま れていない位置であることを特徴とする請求 の範囲第1項に記載のソリッドステートメモリ。 4.前記書き込まれていない位置を含む消去可能ブロックの次順の消去されてい ない消去可能ブロックが、第一のポインタより上の最も下位の物理アドレスを有 する消去されていない消去可能ブロックであることを特徴とする請求の範囲第1 項または第2項に記載のソリッドステートメモリ。 5.前記書き込まれていない位置を含む消去可能ブロックの次順の消去されてい ない消去可能ブロックが、第一のポインタより下の最も上位の物理アドレスを有 する消去されていない消去可能ブロックであることを特徴とする請求の範囲第1 項または第3項に記載のソリッドステートメモリ。 6.前記書き込まれていない位置を含む消去可能ブロックの次順の消去されてい ない消去可能ブロックが適当なアルゴリズムによって決定されることを特徴とす る請求の範囲第1項から第5項のいずれか一項に記載のソリッドステートメモリ 。 7.記憶装置へのデータの書込み速度を向上させるためにバッファを使用するこ とを特徴とする請求の範囲第1項から第6項のいずれか一項に記載のソリッドス テートメモリ。 8.前記バッファがSRAMバッファであることを特徴とする 請求の範囲第7項に記載のソリッドステートメモリ。 9.前記バッファがDRAMバッファであることを特徴とする請求の範囲第7項 に記載のソリッドステートメモリ。 10.前記記憶装置がフラッシュEPROMであることを特徴とする請求の範囲 第1項から第9項のいずれか一項に記載のソリッドステートメモリ。 11.前記記憶装置がカルコゲニドセルから構成されることを特徴とする請求の 範囲第1項から第10項のいずれか一項に記載のソリッドステートメモリ。 12.前記記憶装置がフェロオプティックメモリであることを特徴とする請求の 範囲第1項から第11項のいずれか一項に記載のソリッドステートメモリ。 13.前記制御手段が、マイクロプロセッサ、マイクロコントローラ、またはス テートマシンによって提供されることを特徴とする請求の範囲第1項から第12 項のいずれか一項に記載のソリッドステートメモリ。
JP8532831A 1995-09-27 1996-02-06 メモリシステム Withdrawn JPH11511879A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9519670A GB2291991A (en) 1995-09-27 1995-09-27 Disk drive emulation with a block-erasable memory
GB9519670.5 1995-09-27
PCT/GB1996/000250 WO1997012325A1 (en) 1995-09-27 1996-02-06 Memory systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006194636A Division JP2006277775A (ja) 1995-09-27 2006-07-14 メモリシステム

Publications (1)

Publication Number Publication Date
JPH11511879A true JPH11511879A (ja) 1999-10-12

Family

ID=10781332

Family Applications (3)

Application Number Title Priority Date Filing Date
JP8532831A Withdrawn JPH11511879A (ja) 1995-09-27 1996-02-06 メモリシステム
JP2006194636A Withdrawn JP2006277775A (ja) 1995-09-27 2006-07-14 メモリシステム
JP2007191427A Expired - Lifetime JP4511576B2 (ja) 1995-09-27 2007-07-23 メモリシステム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2006194636A Withdrawn JP2006277775A (ja) 1995-09-27 2006-07-14 メモリシステム
JP2007191427A Expired - Lifetime JP4511576B2 (ja) 1995-09-27 2007-07-23 メモリシステム

Country Status (9)

Country Link
US (1) US6069827A (ja)
EP (1) EP0852766B1 (ja)
JP (3) JPH11511879A (ja)
KR (1) KR19990063715A (ja)
CN (1) CN1139031C (ja)
AT (1) ATE201105T1 (ja)
DE (1) DE69612752T2 (ja)
GB (1) GB2291991A (ja)
WO (1) WO1997012325A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002533810A (ja) * 1998-12-22 2002-10-08 ジェムプリュス 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの摩耗防止制御法
JP2003271444A (ja) * 2002-02-27 2003-09-26 Microsoft Corp オープンアーキテクチャのフラッシュドライバ
JP2005182615A (ja) * 2003-12-22 2005-07-07 Toshiba Corp エミュレーションシステムおよびエミュレーション方法
JP2006048585A (ja) * 2004-08-09 2006-02-16 Fujitsu Ltd フラッシュメモリのアクセス方法
JP2009503730A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 記憶装置用デュアルモードアクセスのための方法およびシステム
US8159889B2 (en) 2005-01-11 2012-04-17 Samsung Electronics Co., Ltd. Solid state disk controller apparatus

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447069B1 (en) 1989-04-13 2008-11-04 Sandisk Corporation Flash EEprom system
DE69034227T2 (de) * 1989-04-13 2007-05-03 Sandisk Corp., Sunnyvale EEprom-System mit Blocklöschung
US7190617B1 (en) * 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
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
GB9606928D0 (en) 1996-04-02 1996-06-05 Memory Corp Plc Memory devices
KR0185954B1 (ko) * 1996-09-30 1999-05-15 삼성전자주식회사 휴대형 단말기기의 메모리 관리방법
JP3519913B2 (ja) * 1997-06-10 2004-04-19 三洋電機株式会社 ディジタルスチルカメラ
JPH1196775A (ja) * 1997-09-26 1999-04-09 Daikin Ind Ltd データ格納方法、データ格納装置及びコンテナ用冷凍装置
US6029237A (en) * 1997-10-08 2000-02-22 Dell Usa, L.P. Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive
JP2000067574A (ja) * 1998-08-21 2000-03-03 Mitsubishi Electric Corp 半導体記憶装置
JP4046877B2 (ja) 1998-12-14 2008-02-13 株式会社ルネサステクノロジ 一括消去型不揮発性メモリおよび携帯電話
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
EP1046996B1 (en) * 1999-03-23 2005-04-13 International Business Machines Corporation Memory defragmentation in chipcards
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6535949B1 (en) * 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
JP4105819B2 (ja) * 1999-04-26 2008-06-25 株式会社ルネサステクノロジ 記憶装置およびメモリカード
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
US7102671B1 (en) 2000-02-08 2006-09-05 Lexar Media, Inc. Enhanced compact flash memory card
US6643754B1 (en) * 2000-02-15 2003-11-04 International Business Machines Corporation System and method for dynamically allocating computer memory
US7991917B1 (en) 2000-07-05 2011-08-02 Mcafee, Inc. High performance packet processing using a general purpose processor
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US6742140B2 (en) 2000-12-01 2004-05-25 Jason R. Caulkins Method for using volatile memory for long-term storage
US6473355B2 (en) 2000-12-01 2002-10-29 Genatek, Inc. Apparatus for using volatile memory for long-term storage
EP1346364B8 (en) * 2000-12-20 2013-01-09 Callahan Cellular L.L.C. Data processing device with a write once memory (wom)
US6421276B1 (en) * 2001-08-09 2002-07-16 Tower Semiconductor Ltd. Method and apparatus for controlling erase operations of a non-volatile memory system
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123417D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
US6772276B2 (en) * 2002-01-04 2004-08-03 Intel Corporation Flash memory command abstraction
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
US7085879B2 (en) 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US6901499B2 (en) 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7010662B2 (en) 2002-02-27 2006-03-07 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US20030163633A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
GB0205751D0 (en) 2002-03-12 2002-04-24 James Barry E Improvements relating to memory devices
US6587383B1 (en) * 2002-03-19 2003-07-01 Micron Technology, Inc. Erase block architecture for non-volatile memory
JP2003280979A (ja) * 2002-03-20 2003-10-03 Toshiba Corp 情報記憶装置
US6798353B2 (en) 2002-04-24 2004-09-28 Itron Electricity Metering, Inc. Method of using flash memory for storing metering data
US20050036387A1 (en) * 2002-04-24 2005-02-17 Seal Brian K. Method of using flash memory for storing metering data
EP1523711A1 (en) * 2002-06-19 2005-04-20 Tokyo Electron Device Limited Memory device, memory managing method and program
DE60331092D1 (de) * 2002-10-15 2010-03-11 Asahi Glass Co Ltd Hydro- und oleophobiermittel
US7082512B2 (en) 2002-11-21 2006-07-25 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
KR100490603B1 (ko) * 2002-12-06 2005-05-27 (주) 라모스테크놀러지 플래시 메모리 동작 제어 방법 및 장치
US7293203B1 (en) * 2003-04-23 2007-11-06 Network Appliance, Inc. System and method for logging disk failure analysis in disk nonvolatile memory
EP1695304A4 (en) 2003-12-17 2011-09-28 Lexar Media Inc POINT-OF-SALE ACTIVATION OF ELECTRONIC DEVICES TO AVOID THEFT
KR100526190B1 (ko) * 2004-02-06 2005-11-03 삼성전자주식회사 플래시 메모리의 재사상 방법
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
CN100437517C (zh) * 2004-04-28 2008-11-26 松下电器产业株式会社 非易失性存储装置和数据写入方法
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
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
KR100725390B1 (ko) * 2005-01-06 2007-06-07 삼성전자주식회사 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법
US7187583B2 (en) * 2005-01-25 2007-03-06 Phison Electronics Corp. Method for reducing data error when flash memory storage device using copy back command
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
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
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
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
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
KR101011171B1 (ko) * 2005-12-28 2011-01-26 후지쯔 가부시끼가이샤 메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치
WO2008057557A2 (en) * 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
US8161353B2 (en) * 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
CN101715575A (zh) 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US7669092B2 (en) 2007-02-26 2010-02-23 Micron Technology, Inc. Apparatus, method, and system of NAND defect management
US8429677B2 (en) * 2007-04-19 2013-04-23 Microsoft Corporation Composite solid state drive identification and optimization technologies
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
US8339865B2 (en) * 2007-11-01 2012-12-25 Spansion Israel Ltd Non binary flash array architecture and method of operation
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
US9772936B2 (en) * 2008-07-10 2017-09-26 Micron Technology, Inc. Data collection and compression in a solid state storage device
US8213229B2 (en) * 2008-08-22 2012-07-03 HGST Netherlands, B.V. Error control in a flash memory device
DE102008054627A1 (de) * 2008-12-15 2010-06-17 Robert Bosch Gmbh Steuergerät mit dem Verfahren zum Manipulationsschutz Computerprogramm, Computerprogrammprodukt
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8285946B2 (en) * 2009-12-15 2012-10-09 International Business Machines Corporation Reducing access contention in flash-based memory systems
US10360143B2 (en) 2010-07-01 2019-07-23 Qualcomm Incorporated Parallel use of integrated non-volatile memory and main volatile memory within a mobile device
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
EP2633414A4 (en) 2010-10-29 2014-03-26 Empire Technology Dev Llc EVOLVED DATA CODING WITH REDUCED ERASURE NUMBER FOR ELECTRONIC HARD DISK
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8918578B2 (en) 2011-08-02 2014-12-23 General Electric Company Method and system of a timer based buffer used for metrology
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
KR101741346B1 (ko) 2013-01-11 2017-06-15 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 플래시 메모리들에 대한 페이지 할당
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
WO2014133490A1 (en) 2013-02-27 2014-09-04 Empire Technology Development Llc Linear programming based decoding for memory devices
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9880926B1 (en) * 2013-08-20 2018-01-30 Seagate Technology Llc Log structured reserved zone for a data storage device
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9859925B2 (en) 2013-12-13 2018-01-02 Empire Technology Development Llc Low-complexity flash memory data-encoding techniques using simplified belief propagation
US20150186257A1 (en) * 2013-12-26 2015-07-02 Anand S. Ramalingam Managing a transfer buffer for a non-volatile memory
JP5981477B2 (ja) * 2014-04-04 2016-08-31 Necプラットフォームズ株式会社 フラッシュメモリ制御装置、フラッシュメモリ内蔵機器、フラッシュメモリ制御方法、及びそのためのプログラム
US9653184B2 (en) 2014-06-16 2017-05-16 Sandisk Technologies Llc Non-volatile memory module with physical-to-physical address remapping
US9613715B2 (en) 2014-06-16 2017-04-04 Sandisk Technologies Llc Low-test memory stack for non-volatile storage
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498146A (en) * 1982-07-30 1985-02-05 At&T Bell Laboratories Management of defects in storage media
US4511964A (en) * 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
DE69034227T2 (de) * 1989-04-13 2007-05-03 Sandisk Corp., Sunnyvale EEprom-System mit Blocklöschung
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
FR2665791B1 (fr) * 1990-08-13 1994-11-10 Didier Mazingue Procede de mise a jour d'une memoire eeprom.
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
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
US5359570A (en) * 1992-11-13 1994-10-25 Silicon Storage Technology, Inc. Solid state peripheral storage device
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
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
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JP2971302B2 (ja) * 1993-06-30 1999-11-02 シャープ株式会社 Eepromを使用した記録装置
US6173385B1 (en) * 1993-11-19 2001-01-09 Disk Emulation Systems, Inc. Address generator for solid state disk drive
JPH07210468A (ja) * 1994-01-18 1995-08-11 Hitachi Ltd 半導体補助記憶装置
US5473765A (en) * 1994-01-24 1995-12-05 3Com Corporation Apparatus for using flash memory as a floppy disk emulator in a computer system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002533810A (ja) * 1998-12-22 2002-10-08 ジェムプリュス 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの摩耗防止制御法
JP2007042123A (ja) * 1998-12-22 2007-02-15 Gemplus 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの管理方法
JP2003271444A (ja) * 2002-02-27 2003-09-26 Microsoft Corp オープンアーキテクチャのフラッシュドライバ
JP2005182615A (ja) * 2003-12-22 2005-07-07 Toshiba Corp エミュレーションシステムおよびエミュレーション方法
JP2006048585A (ja) * 2004-08-09 2006-02-16 Fujitsu Ltd フラッシュメモリのアクセス方法
US8159889B2 (en) 2005-01-11 2012-04-17 Samsung Electronics Co., Ltd. Solid state disk controller apparatus
US8917565B2 (en) 2005-01-11 2014-12-23 Samsung Electronics Co., Ltd. Solid state disk controller apparatus
US9223650B2 (en) 2005-01-11 2015-12-29 Samsung Electronics Co., Ltd. Solid state disk controller apparatus
US9652324B2 (en) 2005-01-11 2017-05-16 Samsung Electronics Co., Ltd. Solid state disk controller apparatus
JP2009503730A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 記憶装置用デュアルモードアクセスのための方法およびシステム

Also Published As

Publication number Publication date
US6069827A (en) 2000-05-30
DE69612752D1 (de) 2001-06-13
JP4511576B2 (ja) 2010-07-28
KR19990063715A (ko) 1999-07-26
JP2006277775A (ja) 2006-10-12
GB9519670D0 (en) 1995-11-29
ATE201105T1 (de) 2001-05-15
EP0852766A1 (en) 1998-07-15
GB2291991A (en) 1996-02-07
JP2007317224A (ja) 2007-12-06
EP0852766B1 (en) 2001-05-09
DE69612752T2 (de) 2002-02-28
WO1997012325A1 (en) 1997-04-03
CN1198226A (zh) 1998-11-04
CN1139031C (zh) 2004-02-18

Similar Documents

Publication Publication Date Title
JP4511576B2 (ja) メモリシステム
US11967369B2 (en) Lifetime mixed level non-volatile memory system
JP4695801B2 (ja) 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置
US6772274B1 (en) Flash memory system and method implementing LBA to PBA correlation within flash memory array
CN1658171B (zh) 通过控制频繁受访问扇区对非易失性存储器的更快写操作
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
EP1739683B1 (en) Space management for managing high capacity nonvolatile memory
US6145051A (en) Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) Direct logical block addressing flash memory mass storage architecture
US5905993A (en) Flash memory card with block memory address arrangement
EP1228510A1 (en) Space management for managing high capacity nonvolatile memory
WO1995018407A1 (en) Solid state memory system
WO2005066787A1 (ja) 情報記録媒体
EP2264602A1 (en) Memory device for managing the recovery of a non volatile memory
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
CN113260983A (zh) 存取计数测量装置、存储器控制器及存储器系统
JP2004126945A (ja) 記憶装置及びその制御方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20031118

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040223

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060417

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060714

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061229

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070125

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070315

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090311

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090319

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090325

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090915