JP2009503729A - 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム - Google Patents

論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム Download PDF

Info

Publication number
JP2009503729A
JP2009503729A JP2008525026A JP2008525026A JP2009503729A JP 2009503729 A JP2009503729 A JP 2009503729A JP 2008525026 A JP2008525026 A JP 2008525026A JP 2008525026 A JP2008525026 A JP 2008525026A JP 2009503729 A JP2009503729 A JP 2009503729A
Authority
JP
Japan
Prior art keywords
data
memory
file
host
logical
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.)
Pending
Application number
JP2008525026A
Other languages
English (en)
Other versions
JP2009503729A5 (ja
Inventor
アナトリエヴィッチ ゴロベッツ,セルゲイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009503729A publication Critical patent/JP2009503729A/ja
Publication of JP2009503729A5 publication Critical patent/JP2009503729A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/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; 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/7201Logical to physical mapping or translation of blocks or pages

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)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

フラッシュメモリなどの再プログラム可能な不揮発性半導体メモリは、一意なファイル識別子とファイル内でのデータのオフセットとを含む論理アドレスでファイルを記憶するよう動作し、直接データファイル記憶と呼ばれる。ホストによって生成されるデータファイルは、ファイルインターフェイスを通じてこのようなメモリに直接記憶できる。しかし、連続論理アドレス空間を使用する従来のホスト/メモリインターフェイスが複数のファイルを識別するために使われる場合、アドレス空間が連続する論理ファイルに分割され、これらのファイルは、ホストから直接入手するファイルと同様に扱われる。両タイプのインターフェイスを同じメモリシステムに含めることができる。

Description

本願は、一般的には異なるインターフェイスを有する電子システム間のデータ通信に関し、より具体的には、メモリシステムと、メモリの接続先にあたる、またはメモリを接続できる、ホストデバイスとの間のインターフェイスの管理による、着脱可能メモリカード等の形をとる再プログラム可能な不揮発性半導体フラッシュメモリなどのメモリシステムの操作に関する。
ホストシステム、メモリシステム、その他の電子システムの外部インターフェイスを通じて通信されるデータをアドレス指定するには主に2つの手法がある。そのうちの一手法では、システムによって生成または受信されるデータファイルのアドレスが、システムで設定された別個の連続論理アドレス空間範囲にマッピングされる。アドレス空間の大きさは通常、システムで取り扱うことのできるアドレス全域を十分にカバーする。一例において、磁気ディスク記憶ドライブは、このような論理アドレス空間を通じてコンピュータや他のホストシステムと通信する。このアドレス空間は、ディスクドライブの全データ記憶容量を十分にアドレス指定する大きさを持つ。2通りある手法のうちの2つ目の手法では、電子システムによって生成または受信されたデータファイルが一意に識別され、そのデータはファイル内でのオフセットによって論理的にアドレスされる。コンピュータや他のホストシステムと「スマートカード」として知られる着脱可能なメモリカードとの間では、このアドレス指定方法の形態が使われている。スマートカードは通常、識別、バンキング、販売時点購入、ATMアクセス等のために消費者に利用される。
これらの2通りのアドレス指定手法は両立しない。つまり、それらのうちの一方を使用するシステムは他方を使用するシステムとデータをやり取りできない。本発明の目的は、このギャップを埋め、論理アドレス空間本位のシステムとファイル本位のシステムとの間でデータ通信を可能にすることにある。以降の説明ではホストシステムとメモリシステムとの間のデータ通信の例を提示し、ホストシステムが論理アドレス空間インターフェイスを使用し、メモリシステムがファイル本位のインターフェイスを持つ。説明されるメモリシステムの例は、再プログラム可能な不揮発性半導体フラッシュメモリである。
初期世代の商用フラッシュメモリシステムでは、メモリセルからなる矩形のアレイが、標準ディスクドライブセクタのデータ量、すなわち512バイトを、各々記憶する多数のセルグループに分割されていた。さらに通常ならば、誤り訂正符号(ECC)を記憶し、ことによるとユーザデータ、および/またはこれを記憶するメモリセルグループに、関係する他のオーバーヘッドデータを記憶するため、16バイトなどの一定量のデータが各グループに加わる。このようなグループの中にあるメモリセルは、ともに消去可能な最低数のメモリセルである。すなわち、消去単位は事実上、1つのデータセクタを、そしてオーバーヘッドデータが含まれる場合にはオーバーヘッドデータを、記憶するメモリセル数である。米国特許第5,602,987号(特許文献1)および第6,426,893号(特許文献2)には、このタイプのメモリシステムの例が記載されている。フラッシュメモリの特徴として、メモリセルにデータを再度プログラムする前にメモリセルを消去する必要がある。
フラッシュメモリシステムは多くの場合、パーソナルコンピュータやカメラ等、様々なホストと着脱可能な状態で接続するメモリカードまたはフラッシュドライブの形で提供されるが、このようなホストシステムの中に埋め込まれることもある。ホストは通常、メモリへデータを書き込む場合、メモリシステムの連続する仮想アドレス空間の中でセクタ、クラスタまたはその他のデータ単位に一意な論理アドレスを割り当てる。ホストは、ディスクオペレーティングシステム(DOS)のように、メモリシステムの論理アドレス空間の中のアドレスにデータを書き込み、かつこれからデータを読み出す。メモリシステムの中のコントローラは、ホストから受け取った論理アドレスをメモリアレイの中のデータが実際に記憶される物理アドレスに翻訳し、これらのアドレス翻訳の経緯を把握する。メモリシステムのデータ記憶容量は少なくとも、メモリシステムのために規定される論理アドレス空間全体にわたってアドレス指定可能なデータ量に相当する。
後続世代のフラッシュメモリシステムでは、消去単位のサイズが複数セクタのデータを十分に記憶するメモリセルブロックまで拡大した。メモリシステムの接続先にあたるホストシステムがセクタなどの小さな最小単位でデータをプログラムし読み出すとしても、フラッシュメモリの1消去単位には多数のセクタが記憶される。ホストが論理セクタのデータの更新や置き換えを行うときに、ブロック内のいくつかのデータセクタが用済みになることは多々ある。ブロックに記憶されたデータに上書きを行うには事前にブロック全体を消去しなければならないから、新規または更新済みデータは通常、あらかじめ消去されデータのための容量が残っている別のブロックに記憶される。この過程で元のブロックには用済みデータが残り、メモリ内の貴重な空間を取る。しかし、このブロックは、その中に有効なデータが残っていると消去できない。
したがって、メモリ記憶容量の有効利用を図るため、有効な不完全ブロックのデータ量を消去済みブロックにコピーすることによってこれを整理または回収するのが一般的であり、こうすればデータのコピー元にあたるブロックを消去でき、その記憶容量の全体を再利用できる。ブロック内のデータセクタをそれぞれの論理ブロックの順にグループ分けするためにデータをコピーすることも望ましく、こうすればデータを読み出して、読み出したデータをホストへ転送する速度が上がる。そのようなデータコピーがあまりにも頻繁に行われると、メモリシステムの動作性能が低下することがある。これは特に、メモリの記憶容量が、システムの論理アドレス空間を通じてホストによってアドレス指定可能なデータ量と大差ない場合、つまりよくある場合、メモリシステムの動作に影響する。この場合は、ホストプログラミングコマンドが実行される前にデータを整理または回収する必要がある。そうするとプログラミングの時間が長引く。
所与の半導体エリアに記憶できるデータのビット数を増やすため、ブロックのサイズはメモリシステムの世代交代を通じて拡大している。256以上のデータセクタを記憶するブロックが一般的になりつつある。加えてデータのプログラミングと読み出しにあたって並列度を高めるため、アレイまたはサブアレイからなる2つ、4つ、またはそれ以上のブロックがしばしばメタブロックとして論理的にともにリンクされる。そのような大容量操作単位には、それらを効率的に操作するという課題がともなう。
このようなメモリシステムのための一般的なホストインターフェイスは、ディスクドライブで一般的に使われているものに類似する論理アドレスインターフェイスである。メモリの接続先にあたるホストによって生成されるファイルには、インターフェイスの論理アドレス空間の中で一意なアドレスが割り当てられる。メモリシステムは普通、論理アドレス空間とメモリの物理ブロックまたはメタブロックとの間でデータをマッピングする。メモリシステムは論理アドレス空間から物理メモリへのマッピングを絶えず把握するが、ホストはこれを知らない。ホストは、論理アドレス空間の中でそのデータファイルのアドレスを絶えず把握するが、メモリシステムはこのマッピングについて無知の状態で動作する。
米国特許第5,602,987号 米国特許第6,426,893号 米国特許出願第10/915,039号 米国特許第5,570,315号 米国特許第5,774,397号 米国特許第6,046,935号 米国特許第6,373,746号 米国特許第6,456,528号 米国特許第6,522,580号 米国特許第6,771,536号 米国特許第6,781,877号 米国公開特許出願第2003/0147278号 米国公開特許出願第2003/0109093号 米国特許第6,763,424号 米国特許出願第10/749,831号 米国特許出願第10/750,155号 米国特許出願第10/917,888号 米国特許出願第10/917,867号 米国特許出願第10/917,889号 米国特許出願第10/917,725号 米国特許出願第11/192,220号 米国特許出願第11/192,386号 米国特許出願第11/191,686号 米国特許出願第10/749,189号 米国特許出願第10/841,118号 米国特許出願第11/016,271号 米国特許出願第10/897,049号 米国特許出願第11/022,369号 米国特許出願第11/060,174号 米国特許出願第11/060,248号 米国特許出願第11/060,249号 本願と同時に出願された「フラッシュメモリにおける直接データファイル記憶(Direct Data File Storage in Flash Memories)」という米国仮特許出願
第1のシステムの論理アドレス空間インターフェイスと第2のシステムの直接データファイルインターフェイスとの間で、第1のシステムの論理アドレス空間を別個の連続アドレスグループに分割することにより、次いで個々のグループの中で第2のシステムの単独ファイルとしてデータを扱うことにより、データがやり取りされる。各グループにおけるデータ量は、好ましくは同じであり、第2のシステムが効率よく利用できる量に選択される。第1および第2のシステムは、このようなインターフェイスを通じてデジタルデータを外部に送信する、および/または受信する、多様な電子システムのいずれであってもよい。これより詳述する例において、第1のシステムは、パーソナルコンピュータ、カメラ、オーディオプレイヤなどのホストであり、第2のシステムはメモリである。メモリは、ホストへ着脱可能な状態で接続されるカードの形をとってよい。メモリは様々なタイプのいずれであってもよいが、これ以降は半導体フラッシュメモリを説明する。
効率的な動作のため、ここで説明するメモリシステムはデータを単独ファイルの形で直接記憶する。各々のデータファイルは、単なる数字など、一意な識別情報とともに記憶され、そのデータはファイル内でのオフセットアドレスによって表される。しかし、ホストシステムとメモリシステムとの間に従来のインターフェイスが存在する場合には、その論理アドレス空間をどうにかしてデータファイル本位の記憶システムにマッピングする必要がある。ここでは、論理アドレス空間をいくつかの論理ファイルとして表すことによってこれを達成し、1アドレス範囲のデータが1論理ファイルを形成し隣接するが、重複しない、アドレス範囲のデータは別のファイルになるなどである。各々の論理ファイルは、一意なファイル識別子とファイル内でのデータのオフセットとによって表され、直接データファイルメモリシステムの中で直接記憶される。各々の論理ファイルが同じ量のデータを含むと最も好都合であり、この量は、好ましくはメモリシステムの物理単位のデータ記憶容量に等しい。
データファイルを直接記憶するメモリシステムは、ホストが直接データファイルインターフェイスで動作するよう構成される場合に、そのホストと連動しながらホストファイルを直接的に効率よくやり取りできる。デュアルインターフェイスメモリの直接データファイルインターフェイスを使用する場合、論理アドレスインターフェイスを使用しない。しかし、論理アドレスインターフェイスおよび直接ファイルインターフェイスの両方をメモリシステムに盛り込めば、直接データファイルインターフェイスをサポートするホストシステムとともにメモリを最も効率的な方法で使用できると同時に、メモリは、従来の論理アドレスインターフェイスだけで動作するホストにも適合できる。しかし、直前の段落で説明したように、メモリシステムには直接データファイルインターフェイスの中で論理アドレス空間インターフェイスのみを提供してよく、この場合の直接データファイルインターフェイスは完全にメモリシステムの内部にある。
本発明の他の態様、利点、特徴、および詳細は、この後に続く代表的な例の説明に含まれ、この説明は添付の図面と併せて解釈すべきものである。さらに、本願明細書で参照されている特許、特許出願、記事、その他の刊行物、文書、事柄はどれも、あらゆる目的のためにその全体が本願明細書において参照により援用されている。
フラッシュメモリシステムの概説
まずは一般的なフラッシュメモリシステムを図1〜6との関係で説明する。このようなシステムで本発明の様々な態様を実施できる。図1のホストシステム1は、フラッシュメモリ2の中にデータを記憶し、かつフラッシュメモリ2からデータを引き出す。フラッシュメモリはホストの中に埋め込むこともできるが、メモリ2はそれよりも一般的なカードの形で図に示され、このカードは、機械的および電気的コネクタの嵌合部分3および4を通じて着脱可能な状態でホストへ接続される。例えばコンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)、ミニSD、メモリスティック、スマートメディア、トランスフラッシュカード等、様々なフラッシュメモリカードが現在多く市販されている。これらのカードの各々はそれぞれの規格化された仕様に従い独特の機械的および/または電気的インターフェイスを有するが、各々に内蔵されたフラッシュメモリシステムは類似する。これらのカードはいずれも、本願の譲受人であるサンディスク コーポレイション(SanDisk Corporation) から入手できる。サンディスク コーポレイションはまた、クルーザー(Cruzer)という商標のもとで一連のフラッシュドライブを提供し、フラッシュドライブは、ホストのユニバーサル・シリアル・バス(USB)差込口に差し込まれることによってホストと接続するUSBプラグを有する小形の手持ち式メモリシステムである。これらのメモリカードとフラッシュドライブの各々は、ホストと連動して内蔵されたフラッシュメモリの動作を制御するコントローラを内蔵している。
このようなメモリカードとフラッシュドライブとを使用するホストシステムは数多くあり様々である。パーソナルコンピュータ(PC)、ラップトップおよび他の携帯用コンピュータ、携帯電話、個人用携帯情報端末(PDA)、デジタル静止画カメラおよびデジタル動画カメラ、携帯用オーディオプレイヤ等が含まれる。ホストは通常ならば1種類以上のメモリカードまたはフラッシュドライブのための一体化された差込口を内蔵するが、一部のホストはメモリカードを差し込むアダプタを要する。メモリシステムは普通、独自のメモリコントローラとドライバとを内蔵しているが、メモリの接続先にあたるホストによって実行されるソフトウェアにより制御されるメモリのみのシステムもいくつかある。コントローラを内蔵する一部のメモリシステムでは、特にホストに埋め込まれたものでは、メモリとコントローラとドライバとがしばしば単一の集積回路チップ上で形成される。
図1のホストシステム1は、メモリ2が接続される限りにおいて、回路とソフトウェアとの組み合わせからなる、2つの主要部分を有するものとみなすことができる。それらはアプリケーション部5と、メモリ2と連動するドライバ部6である。例えばパーソナルコンピュータの場合、アプリケーション部5は、ワープロ、グラフィック、コントロールまたは、その他の一般的なアプリケーションソフトウェアを実行するプロセッサを含むことがある。カメラ、携帯電話、または専ら1組の機能を遂行するためのその他のホストシステムの場合、アプリケーション部5は、写真を撮影したり記憶したりするためにカメラを動作させる、電話をかけたり受けたりするために携帯電話を動作させる等の、ソフトウェアを含む。
図1のメモリシステム2はフラッシュメモリ7および回路8を含み、回路はいずれも、データをやり取りし、かつメモリ7を制御するため、カードの接続先にあたるホストと連動する。コントローラ8は通常、データのプログラミングと読み出しの際にホスト1によって使用されるデータの論理アドレスとメモリ7の物理アドレスとの変換を行う。
図2を参照し、図1の不揮発性メモリ2として使用できる典型的フラッシュメモリシステムの回路が説明される。システムコントローラは普通、システムバス13沿いに1つ以上の集積回路メモリチップと並列で接続される単一集積回路チップ11上で実施され、図2にはただひとつのこのようなメモリチップ15が示されている。図に示された特定のバス13は、データを搬送する1セットの導体17と、メモリアドレスのためのセット19と、制御および状態信号のためのセット21とを含む。あるいは、これらの3機能の間で1セットの導体を時分割共用できる。さらに、2004年8月9日に出願された米国特許出願第10/915,039号「リングバス構造とフラッシュメモリシステムにおけるその使用(Ring Bus Structure and It's Use in Flash Memory Systems) 」(特許文献3)で説明されているリングバスなど、これとは別のシステムバス構成を使用できる。
典型的なコントローラチップ11は、インターフェイス回路25を通じてシステムバス13と連動する独自の内部バス23を有する。このバスへ通常接続される主要な機能には、プロセッサ27(例えば、マイクロプロセッサまたはマイクロコントローラ)と、システムを初期化(「ブート」)するためのコードを収容する読み出し専用メモリ(ROM)29と、主にメモリとホストとの間で転送されるデータをバッファするために使われるランダムアクセスメモリ(RAM)31と、コントローラを通じてメモリとホストとの間を行き来するデータのため誤り訂正符号(ECC)を計算し検査する回路33とがある。コントローラバス23は回路35を通じてホストシステムと連動し、これは、メモリカードに収容される図2のシステムの場合、コネクタ4の一部をなすカードの外部接点37を通じて果たされる。クロック39は、コントローラ11の他のコンポーネントの各々に接続され、他のコンポーネントの各々によって利用される。
メモリチップ15と、システムバス13に接続される他のメモリチップは通常、複数のサブアレイまたはプレーンに編制されたメモリセルアレイを収容し、簡潔を図るために2つのこのようなプレーン41および43が図に示されているが、これよりも多い、例えば4つ、または8つの、このようなプレーンを代わりに使用することもできる。あるいは、チップ15のメモリセルアレイはプレーンに分割しなくともよい。しかし、分割するなら、各々のプレーンは互いに独立して動作できる独自の列制御回路45および47を有する。回路45および47は、システムバス13のアドレス部19からそれぞれのメモリセルアレイのアドレスを受け取り、それぞれのビット線49および51のうちの、特定の1つ以上のビット線をアドレス指定するため、それらを復号化する。ワード線53は、アドレスバス19で受け取るアドレスに応じて行制御回路55を通じてアドレス指定される。ソース電圧制御回路57および59もまたそれぞれのプレーンに接続され、pウェル電圧制御回路61および63も同様である。メモリチップ15がただひとつのメモリセルアレイを有し、2つ以上のこのようなチップがシステムに存在する場合、各チップのアレイは、前述したマルチプレーンチップ内のプレーンまたはサブアレイと同様に動作させることができる。
データは、システムバス13のデータ部17に接続されたそれぞれのデータ入出力回路65および67を通じてプレーン41および43を出入りする。回路65および67は、それぞれの列制御回路45および47を通じてプレーンへ接続する線69および71を通じて、メモリセルの中にデータをプログラムし、かつそれぞれのプレーンのメモリセルからデータを読み出すためにある。
コントローラ11は、データをプログラムし、読み出し、消去し、かつ様々なハウスキーピング作業に対応するために、メモリチップ15の動作を制御するが、各々のメモリチップもまた、このような機能を遂行するためにコントローラ11からのコマンドを実行する何らかの制御回路を収容する。インターフェイス回路73はシステムバス13の制御および状態部21へ接続される。コントローラからのコマンドは状態マシン75へ提供され、状態マシンは、これらのコマンドを実行するために他の回路の特定の制御も提供する。制御線77〜81は、図2に示す他の回路に状態マシン75を接続する。状態マシン75からの状態情報は、バス部21に沿ってコントローラ11へ送信するため、線83に沿ってインターフェイス73へ伝達される。
現在はメモリセルアレイ41および43のNANDアーキテクチャが好まれているが、NORなどの他のアーキテクチャを代わりに使用することもできる。NANDフラッシュメモリおよびメモリシステムの一部としてのこれの動作の例が、米国特許第5,570,315号(特許文献4)、第5,774,397号(特許文献5)、第6,046,935号(特許文献6)、第6,373,746号(特許文献7)、第6,456,528号(特許文献8)、第6,522,580号(特許文献9)、第6,771,536号(特許文献10)、および第6,781,877号(特許文献11)ならびに米国公開特許出願第2003/0147278号(特許文献12)とを参照することによって得られる。
図2のメモリシステムのメモリセルアレイ41の一部分にあたる図3の回路図には、NANDアレイの例が示されている。多数のグローバルビット線が提供されるが、説明の簡潔を図るため、図3には4つのこのような線91〜94だけが示されている。これらのビット線の1ビット線と基準電位との間には、いくつかの直列接続メモリセルストリング97〜104が接続される。メモリセルストリング99を代表として使用し、ストリングの両端にある選択トランジスタ111および112には複数の電荷記憶メモリセル107〜110が直列で接続される。1ストリングの選択トランジスタが通電すると、ストリングがそのビット線と基準電位との間で接続される。次いで、そのストリングの中で一度に1つのメモリセルがプログラムされ、または読み出される。
図3のワード線115〜118は、数々のメモリセルストリングの各々で1つのメモリセルの電荷記憶素子にわたって個別に延在し、ゲート119および120は、ストリングの各末端にある選択トランジスタの状態を制御する。共通のワード線およびコントロールゲート線115〜120を共用するメモリセルストリングは、ともに消去されるメモリセルのブロック123を形成する。このセルからなるブロックは、一度に物理的に消去できる最小数のセルを収容する。ワード線115〜118の1ワード線沿いの1行のメモリセルが一度にプログラムされる。通常、NANDアレイの行は規定の順序でプログラムされ、この場合は、接地または共通電位へ接続されたストリングの末端に最も近いワード線118沿いの行から始まる。次にワード線117沿いのメモリセル行がプログラムされ、ブロック123の全体を通じて同様に進むなどである。最後にワード線115沿いの行がプログラムされる。
第2のブロック125は類似し、そのメモリセルストリングは第1のブロック123のストリングと同じグローバルビット線へ接続されるが、異なる一組のワード線およびコントロールゲート線を有する。ワード線およびコントロールゲート線は、行制御回路55によって適切な動作電圧まで駆動される。図2のプレーン1および2のような、2つ以上のプレーンまたはサブアレイがシステムにある場合、それらの間に延在する共通ワード線を1つのメモリアーキテクチャで使用する。代わりに、共通ワード線を共用する3つ以上のプレーンまたはサブアレイがあってもよい。別のメモリアーキテクチャでは、個々のプレーンまたはサブアレイのワード線が別々に駆動される。
前に参照されているNAND特許および公開特許出願のいくつかで説明されているように、3つ以上の検出可能な電荷レベルを各電荷記憶素子または領域に記憶するようメモリシステムを動作させることができ、これにより2ビット以上のデータを各々に記憶する。メモリセルの電荷記憶素子は一般的には導電性フローティングゲートであるが、代わりに米国公開特許出願第2003/0109093号(特許文献13)で説明される非導電性誘電性電荷捕獲材であってもよい。
図4は、以降のさらなる説明で一例として使用するフラッシュメモリセルアレイ7(図1)の編制を概念的に示している。1つの集積メモリセルチップ、2つのチップ(各チップ上のプレーンのうちの2つ)、または4つの別々のチップの上に、メモリセルの4つのプレーンまたはサブアレイ131〜134があってよい。具体的な配置は以降の説明にとって重要でない。もちろん、1、2、8、16以上などの、これ以外の数のプレーンがシステムの中にあってもよい。プレーンは、それぞれのプレーン131〜134に位置するブロック137、138、139、および140の矩形によって図4に示すメモリセルブロックに各々分割される。各プレーンには何十、何百ものブロックがあってよい。前述したように、メモリセルのブロックは消去の単位、すなわちともに物理的に消去できる最小数のメモリセルである。しかし、並列性を高めるためには、これよりも大きいメタブロック単位でブロックを操作する。各プレーンから1つのブロックが論理的にリンクされることによってメタブロックを形成する。4つのブロック137〜140によって1つのメタブロック141が形成される様子が図に示されている。通常ならば、1メタブロック内の全てのセルが一緒に消去される。ブロック145〜148からなる第2のメタブロック143に見られるように、メタブロックを形成するように使用されるブロックを、それぞれのプレーンの中の同じ相対的位置に制限する必要はない。通常は全てのプレーンにわたってメタブロックを延在させるのが好ましいが、高いシステム性能のためには、異なるプレーンにある1つ、2つ、または3つのブロックのいずれかまたは全部からなるメタブロックを動的に形成する能力を用いてメモリシステムを操作することができる。これにより、1回のプログラミング操作で記憶のために使用できるデータ量にメタブロックのサイズをより近づけることが可能となる。
個々のブロックはさらに、動作上の目的のため、図5に示すようにメモリセルのページに分割される。例えば、ブロック131〜134の各々のメモリセルは8つのページP0〜P7に各々分割されている。代わりに、16、32、またはそれ以上のメモリセルページが各ブロックの中にあってよい。ページは、ブロックの中でデータをプログラムし読み出す単位であり、一度にプログラムされる、または読み出される、最少量のデータを収容する。図3のNANDアーキテクチャでは、ブロックの中でワード線沿いのメモリセルからページが形成されている。しかし、メモリシステムの動作上の並列性を高めるために、2つ以上のブロックの中にあるこのようなページをメタページの中に論理的にリンクできる。図5には、4つのブロック131〜134の各々にある1つの物理ページから形成されたメタページ151が示されている。メタページ151は、例えば4つのブロックの各々にあるページP2を含むが、メタページのページは、ブロックの各々の中で同じ相対的位置になくてもよい。メタページは最大プログラミング単位である。
全4つのプレーンにわたって最大量のデータを並行してプログラムし読み出すことが望ましいが、高いシステム性能のため、異なるプレーンの中にある別々のブロックの1つ、2つ、または3つのページのいずれかまたは全てからメタページを形成するべくメモリシステムを操作することもできる。これにより、並行して簡便に扱えるデータ量にプログラミングおよび読み出し操作を適合させることができ、さらにデータがプログラムされない部分がメタページに残る機会は減る。
図5に示す複数のプレーンの物理ページからなるメタページは、それらの複数のプレーンのワード線行に沿ってメモリセルを収容する。1つのワード線行にある全てのセルを同時にプログラムするよりは、2つ以上のインターリーブされたグループでそれらを交互にプログラムするほうがむしろ一般的であり、各グループは、(単一ブロック内の)1ページのデータまたは(複数のブロックにまたがる)1メタページのデータを記憶する。交互のメモリセルを一度にプログラムすることにより、データレジスタやセンス増幅器を含むひとまとまりの周辺回路を各ビット線のために用意する必要はなく、むしろ隣接するビット線の間で時分割共用される。これは、周辺回路に要する基板空間の量を節約し、メモリセルの行沿いの実施密度を増すことができる。さもなくば、所与のメモリシステムから最大限の並列性を引き出すために、行沿いの全セルを同時にプログラムするのが望ましい。
図3を参照し、行沿いの互い違いのメモリセルへのデータの同時プログラミングを最も簡便に果たすには、NANDストリングの少なくとも一端に沿って2行の選択トランジスタ(図示せず)を、図に示された1行の代わりに、提供することである。この場合、一方の行の選択トランジスタは、1つの制御信号に応じてブロック内の互い違いのストリングをそれぞれのビット線へ接続し、他方の行の選択トランジスタは、別の制御信号に応じて介在する互い違いのストリングをそれぞれのビット線へ接続する。したがって、メモリセルの各行には2ページ分のデータが書き込まれる。
各論理ページのデータ量は通常、1つ以上の整数のデータセクタ数であって、各セクタは慣例上512バイトのデータを収容する。セクタは、メモリシステムへ、およびメモリシステムから、送信されるデータの最小単位である。図6は、1ページまたはメタページの、2つのデータのセクタ153および155からなる論理データページを示している。各セクタは普通、512バイトのユーザデータまたはシステムデータが記憶される部分157と、部分157にあるデータまたはこれを記憶する物理ページまたはブロックに関係するオーバーヘッドデータのための別のバイト数159を収容する。オーバーヘッドデータのバイト数は通常ならば16バイトであり、セクタ153および155の各々につき合計528バイトになる。オーバーヘッド部分159は、プログラミング中にデータ部分157から算出されるECC、その論理アドレス、ブロックが消去され再プログラムされる回数の経験カウント、1つ以上の制御フラグ、動作電圧レベル等に加え、このようなオーバーヘッドデータ159から算出されるECCを収容できる。代わりに、オーバーヘッドデータ159またはオーバーヘッドデータ159の一部分は、他のブロックの別のページに記憶できる。いずれにせよセクタは記憶データ単位を意味し、これにECCが関連する。
メモリの並列性が高まるにつれメタブロックのデータ記憶容量は増し、その結果、データページおよびメタページのサイズも増す。データページは3セクタ以上のデータを収容できる。1データページ内に2つのセクタと、各メタページにつき2つのデータページとで、1メタページ内のセクタは4つになる。よって、各メタページは2,048バイトのデータを記憶する。これは高度な並列性であり、行内のメモリセル数の増加にともないさらに高めることができる。このため、ページおよびメタページ内のデータ量を増やすために、フラッシュメモリの幅が拡大されつつある。
ホスト−メモリインターフェイスと一般的なメモリ動作
前述した物理的に小さい再プログラム可能な不揮発性メモリカードおよびフラッシュドライブは市販され、データ記憶容量は512メガバイト(MB)、1ギガバイト(GB)、2GBおよび4GB以上になる。ホストは、ホストによって実行されるアプリケーションソフトウェアまたはファームウェアプログラムによって生成または使用されるデータファイルを処理する。ワープロデータファイルはその一例であり、コンピュータ支援設計(CAD)ソフトウェアの描画ファイルもこれにあたり、主にPC、ラップトップコンピュータ等、一般的なコンピュータホストに見られる。pdf形式の文書もこのようなファイルである。静止画デジタルビデオカメラは各写真につきデータファイルを生成し、データファイルはメモリカードに記憶される。携帯電話は、電話帳などの内蔵メモリカード上のファイルからデータを利用する。PDAは、住所ファイル、カレンダーファイル等、数通りのファイルを記憶し使用する。このような用途において、メモリカードはホストを操作するソフトウェアを収容することもある。
図7には、ホストとメモリシステムとの間の一般的な論理インターフェイスが示されている。連続する論理アドレス空間161は、メモリシステムに記憶される全データのためアドレスを提供するにあたって十分に大きい。ホストアドレス空間は通常、データクラスタの単位に分割される。所与のホストシステムにおいて、いくつかのデータセクタを収容するように各クラスタを設計でき、4から64セクタあたりが一般的である。標準的なセクタは512バイトのデータを収容する。
図7の例では、3つのデータファイル1,2,および3が作成されたものとして示されている。ホストシステムで実行するアプリケーションプログラムは、整列された1組のデータとして各ファイルを作成し、一意な名前またはその他の参照符によってこれを識別する。データファイル1にはホストによって、他のファイルにまだ割り振られていない十分に使用可能な論理アドレス空間が、ファイル−論理アドレス変換160により、割り当てられる。データファイル1は、一連の使用可能な論理アドレス範囲が割り当てられた状態で示されている。このほかに通常ならば、ホストオペレーティングソフトウェアのための特定の範囲などの、特定の目的のためにアドレス範囲が割り振られ、これらのアドレス範囲は、たとえホストがデータに論理アドレスを割り当てようとするときに、これらのアドレスがまだ利用されていなくとも、データの記憶にあたって回避される。
ホストは同様に、後ほどホストによってデータファイル2が作成されるときに、論理アドレス空間161の中の2つの異なる連続アドレス範囲を、図7のファイル−論理アドレス変換160により、割り当てる。ファイルに連続する論理アドレスを割り当てる必要はなく、すでに他のファイルに割り振られているアドレス範囲の間にあるアドレスの断片であってもよい。この例はさらに、ホストによって作成されたもうひとつのデータファイル3に、データファイル1および2やその他のデータにまだ割り振られていないホストアドレス空間の別の部分が割り振られる様子を示している。
ホストは、ファイルアロケーションテーブル(FAT)を保守することによってメモリ論理アドレス空間を絶えず把握し、このファイルアロケーションテーブルでは、ホストが変換160によって様々なホストファイルに割り当てる論理アドレスが保守される。FATテーブルは、新しいファイルが記憶されるとき、他のファイルが削除されるとき、ファイルが修正されるとき等に、ホストによって頻繁に更新される。FATテーブルは通常ならばホストメモリに記憶され、不揮発性メモリにもコピーが記憶され、時折更新される。不揮発性メモリにあるコピーには通常、他のデータファイルと同様に、論理アドレス空間を通じてアクセスする。ホストは、ホストファイルが削除されるときにFATテーブルを更新することによってあらかじめ削除ファイルに割り振られていた論理アドレスを解除し、それらの論理アドレスを別のデータファイルに使用できることを明らかにする。
ホストは、メモリシステムコントローラがファイルを記憶するために選択する物理位置を考慮しない。典型的なホストは、その論理アドレス空間と、これがその各種ファイルに割り振った論理アドレスだけを認識する。他方、メモリシステムは、説明している典型的なホスト/カードインターフェイスを通じて、データが書き込まれた論理アドレス空間部分だけを認識し、特定のホストファイルへ割り振られる論理ファイルは認識せず、ホストファイルの数すら認識しない。メモリシステムコントローラは、データの記憶や引き出しのためのホストから提供される論理アドレスを、ホストデータが記憶されるフラッシュメモリセルアレイの中の一意の物理アドレスに変換する。ブロック163は、メモリシステムコントローラによって保守される論理−物理アドレス変換の作業テーブルを表している。
メモリシステムコントローラは、システムの性能を高い水準に維持しながらメモリアレイ165のブロックおよびメタブロックの中でデータを記憶する形にプログラムされる。この例証では4つのプレーンまたはサブアレイが使われている。データは好ましくは、各プレーンのブロックから形成されたメタブロック全体にわたってシステムが許容する最大限の並列度でプログラムされ、読み出される。通常は、メモリコントローラによって使用されるオペレーティングファームウェアおよびデータを記憶する予約ブロックとして、少なくとも1つのメタブロック167が割り振られる。そして、ホストオペレーティングソフトウェアやホストFATテーブル等の記憶のため、別のメタブロック169または複数のメタブロックを割り振ることができる。物理記憶空間の殆どはデータファイルの記憶のために残る。しかし、メモリコントローラは、様々なファイルオブジェクトの中で受信データがホストによってどのように割り振られたかを認識しない。通常、メモリコントローラがホストとのやり取りを通じて知ることの全ては、ホストによって特定の論理アドレスに書き込まれるデータが対応する物理アドレスに記憶されるということだけであり、これはコントローラの論理−物理アドレステーブル163によって保守される。
典型的なメモリシステムにおいては、アドレス空間161の中でデータ量を記憶する必要があるのとは別に数ブロック分の記憶容量が余分に用意される。メモリの寿命の中で他のブロックが欠陥となった場合に代用される冗長ブロックとして、これらの余分なブロックを1つ以上用意することができる。当初メタブロックに割り当てられていた欠陥ブロックのための冗長ブロックを代用する等、個々のメタブロックの中に収容されるブロックの論理的グループ分けは通常、様々な理由から変更される。消去済みブロックのプールでは、メタブロック171などの、1つ以上の補助的ブロックが通常保守される。図7に示す残りのメタブロックのほとんどは、ホストデータを記憶するために使われる。ホストがメモリシステムにデータを書き込む場合、コントローラの機能163はホストによって割り当てられた論理アドレスを、消去済みブロックプールにあるメタブロックの中の物理アドレスに変換する。次いで、論理アドレス空間161の中でデータを記憶するために使われていない他のメタブロックは消去され、以降のデータ書き込み操作のときに使用するため消去済みプールブロックとして指定される。好適な形式において、物理メモリメタブロックの記憶容量に等しい量のデータを各々収容する論理グループに論理アドレス空間が分割されることにより、論理グループからメタブロックへの1対1のマッピングを成立することが可能になる。
特定のホスト論理アドレスに記憶されたデータは新規のデータによって頻繁に上書きされ、当初の記憶データは用済みになる。これに応じてメモリシステムコントローラは新規のデータを消去済みブロックに書き込み、データを論理アドレスに記憶する新しい物理ブロックを明らかにするために、それらの論理アドレスの論理−物理アドレステーブルを変更する。次いで、それらの論理アドレスのところで当初のデータを収容するブロックは消去され、新規のデータの記憶のために使用できるようになる。通常、書き込みが始まるときに消去ブロックプールの事前に消去済みのブロックに十分な記憶容量がない場合は、この消去を進行中のデータ書き込み操作が完了する前に行わなければならない。これはシステムのデータプログラミング速度を損なうおそれがある。メモリコントローラは通常、ある特定の論理アドレスにあるデータが用済みになっていることを、ホストがそれと同じ論理アドレスに新しいデータを書き込むときに初めて知る。したがって、メモリのブロックの多くは、そのような無効データを暫くの間記憶している可能性がある。
集積回路メモリチップの領域を効率よく運用するためにブロックとメタブロックのサイズは拡大している。その結果、個々のデータ書き込みの大部分で記憶されるデータの量はメタブロックの記憶容量に満たなく、多くの場合、ブロックの記憶容量にすら満たない。メモリシステムコントローラは普通、新規のデータを消去済みプールのメタブロックに誘導するから、メタブロックには埋まらない部分が生じる。新規のデータが別のメタブロックに記憶されたデータの更新である場合、別のメタブロックにある、新規のデータメタページの論理アドレスと連続する論理アドレスを持つ、残りの有効データメタページもまた、望ましくは論理アドレスの順序で新しいメタブロックにコピーされる。古いメタブロックは、他の有効データメタページを保持することがある。その結果、個々のメタブロックのメタページのデータはいずれ用済み、無効になり、新規のデータによって置き換えられ、同じ論理アドレスが異なるメタブロックに書き込まれることになる。
論理アドレス空間161の全体にわたってデータを記憶するために十分な物理メモリ空間を維持するため、このようなデータは定期的に圧縮または整理される(ガーベッジコレクション)。メタブロックの中でデータセクタをできる限り論理アドレスと同じ順序に保つことも望ましい。というのは、こうすれば連続する論理アドレスでデータをより効率的に読み出すことができるからである。よって、通常は、このさらなる目的のためにもデータの圧縮とガーベッジコレクションが行われる。米国特許第6,763,424号(特許文献14)には、不完全ブロックデータ更新を受け取るときのメモリ管理とメタブロックの使用の態様がいくつか記載されている。
データ圧縮では通常、メタブロックから有効データメタページを全て読み出し、それらを新しいブロックに書き込み、その過程で無効データを含むメタページは無視する。また、有効データを含むメタページは好ましくは、そこに記憶されたデータの論理アドレスの順序に一致する物理アドレス順で配置される。無効データを収容するメタページは新しいメタページへコピーされないから、新しいメタブロックに占めるメタページ数は古いメタブロックにおけるメタページ数を下回る。次いで、古いブロックは消去され、新規データの記憶のため使用できるようになる。この整理によって得られる追加メタページ容量は、他のデータを記憶するために役立てることができる。
ガーベッジコレクションのときには、論理アドレスが連続するかまたはほぼ連続する有効データのメタページが2つ以上のメタブロックから回収され、別のメタブロックに、通常ならば消去済みブロックプールのメタブロックに、再度書き込まれる。当初の2つ以上のメタブロックから全ての有効データメタページがコピーされたら、先々の使用に向けてそれらを消去できる。
データの整理統合とガーベッジコレクションには時間がかかり、データの整理統合またはガーベッジコレクションをホストからのコマンドを実行する前に行う必要がある場合は特に、メモリシステムの性能に影響する。メモリシステムコントローラは普通、このような操作を可能な限りバックグラウンドで行うようスケジュールするが、これらの操作を遂行する必要から、コントローラは、このような操作が完了するまではビジー状態信号をホストに提供しなければならない。例えば、ホストがメモリに書き込もうとするデータの全てを記憶するにあたって十分な事前に消去済みのメタブロックが消去済みブロックプールにない場合には、ホストコマンドの実行が延期されるから、まずはデータの整理統合またはガーベッジコレクションで1つ以上の有効データのメタブロックを片づける必要があり、その後にそれらのメタブロックを消去できる。したがって、このような混乱を最小限に抑えるためにメモリ制御の管理に注意を払わなければならない。これ以降「LBA特許出願」と呼ぶ以下の米国特許出願では、このような手法が数多く説明されている。これらの特許出願とは、2003年12月30日に出願された米国特許出願第10/749,831号「大きい消去ブロックを有する不揮発性メモリシステムの管理(Management of Non-Volatile Memory Systems Having Large Erase Blocks) 」(特許文献15)、2003年12月30日に出願された米国特許出願第10/750,155号「ブロック管理システムを伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Block Management System) 」(特許文献16)、2004年8月13日に出願された米国特許出願第10/917,888号「メモリプレーンアラインメントを伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Memory Planes Alignment) 」(特許文献17)、2004年8月13日に出願された米国特許出願第10/917,867号(特許文献18)、2004年8月13日に出願された米国特許出願第10/917,889号「段階的プログラム障害処理を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Phased Program Failure Handling) 」(特許文献19)、2004年8月13日に出願された米国特許出願第10/917,725号「制御データ管理を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Control Data Management)」(特許文献20)、2005年7月27日に出願された米国特許出願第11/192,220号「マルチストリーム更新追跡を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Multi-Stream Update Tracking)」(特許文献21)、2005年7月27日に出願された米国特許出願第11/192,386号「スクラッチパッドおよび更新ブロックのための改良インデックスを伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Improved Indexing for Scratch Pad and Update Blocks) 」(特許文献22)、および2005年7月27日に出願された米国特許出願第11/191,686号「マルチストリーム更新を伴う不揮発性メモリおよび方法(Non-Volatile Memory and Method with Multi-Stream Updating) 」(特許文献23)である。
非常に大きい消去ブロックを伴うメモリアレイの操作を効率的に制御するにあたって1つの課題となるのは、所与の書き込み操作のときに記憶されるデータセクタの数を、メモリのブロックの容量に一致させ、その境界に整合させることである。1つのアプローチでは、メタブロック全体を埋め尽くす量に満たない一定量のデータを記憶するのに必要なため、ホストからの新規データを記憶するのに使うメタブロックを、最大ブロック数未満で適宜構成する。適応メタブロックの使用が、2003年12月30日に出願された米国特許出願第10/749,189号「適応メタブロック(Adaptive Metablocks) 」(特許文献24)で説明されている。データブロック間の境界とメタブロック間の物理的境界の整合は、2004年5月7日に出願された米国特許出願第10/841,118号(特許文献25)、2004年12月16日に出願された米国特許出願第11/016,271号「データランプログラミング(Data Run Programming)」(特許文献26)で説明されている。
メモリコントローラはまた、ホストによって不揮発性メモリに記憶されるFATテーブルのデータをメモリシステムの効率的な動作に役立てることもできる。例えば、論理アドレスの解除によりホストによってデータが用済みと識別されたことを知るのに役立てる。メモリコントローラは、通常ならばホストがその論理アドレスに新規のデータを書き込むことで、データが用済みと識別されたことを事前に知ることができ、このような無効データを収容するブロックの消去スケジュールを立てることができる。これは、2004年7月21日に出願された米国特許出願第10/897,049号「不揮発性メモリシステムでデータを保守する方法および装置(Method and Apparatus for Maintaining Data on Non-Volatile Memory Systems)」(特許文献27)で説明されている。この他の手法として、ホストがメモリに新規のデータを書き込むパターンを監視することにより、所与の書き込み操作が単一ファイルか否かを、または複数のファイルである場合にはファイル間のどこに境界があるかを推定する。2004年12月23日に出願された米国特許出願第11/022,369号「最適逐次クラスタ管理のためのFAT解析(FAT Analysis for Optimized Sequential Cluster Management)」(特許文献28)では、この種の手法の使用が説明されている。
メモリシステムを効率よく操作するには、ホストによって個々のファイルのデータに割り当てられる論理アドレスについて、コントローラができるだけ多くのことを知ることが望ましい。かくしてデータファイルは、ファイルの境界が分からなければ多数のメタブロックに散在するところを、コントローラによって1つのメタブロックまたは1グループのメタブロックの中で、記憶することができる。その結果、データの整理統合およびガーベッジコレクション操作の回数と複雑さは抑えられる。結果的にメモリシステムの性能は向上する。しかし、前述したように、ホスト/メモリインターフェイスが論理アドレス空間161(図7)を含む場合、メモリコントローラがホストデータファイル構造について多くを知ることは困難である。
図8を参照し、すでに図7に示されている典型的な論理アドレスホスト/メモリインターフェイスが異なる形で図に示されている。ホスト生成データファイルにはホストによって論理アドレスが割り振られる。次いで、メモリシステムはこれらの論理アドレスを認識し、データが実際に記憶されるメモリセルのブロックの物理アドレスにマッピングする。
直接データファイルインターフェイスと呼ばれる、ホストとメモリシステムとの間のタイプの異なるインターフェイスは、論理アドレス空間を使用しない。代わりに、ホストは、一意な番号またはその他の識別参照符と、ファイル内でのデータ単位(バイトなど)のオフセットアドレスとによって各ファイルを論理的にアドレスする。このファイルアドレスはホストからメモリシステムコントローラへ直接提供され、メモリシステムコントローラは、各ホストファイルのデータが物理的に記憶される位置について独自のテーブルを保管する。この新しいインターフェイスは、図2〜6との関係で前述したのと同じメモリシステムで実施できる。前述したものとの主な違いは、メモリシステムとホストシステムとの通信のあり方にある。
図9にはこのような直接データファイルインターフェイスが示され、図7の論理アドレスインターフェイスと比較することができる。ファイル1,2,および3の各々の識別情報と図9のファイルの中でのデータのオフセットは、メモリコントローラへ直に引き渡される。次いで、この論理アドレス情報はメモリコントローラ機能173によってメモリ165のメタブロックおよびメタページの物理アドレスに翻訳される。ファイルディレクトリは、各々の記憶されたセクタまたはその他のデータ単位が帰属するところのホストファイルを追跡する。
直接データファイルインターフェイスは図10にも示され、これは図8の論理アドレスインターフェイスと比較するべきものである。図8の論理アドレス空間とホストによって保守されるFATテーブルは図10にはない。むしろ、メモリシステムにとって、ホストによって生成されるデータファイルはファイル番号とファイル内でのデータのオフセットとによって識別される。次いで、メモリシステムコントローラはメモリセルアレイの物理ブロックにファイルを直接マッピングし、ホストファイルの記憶先にあたるメモリブロックのディレクトリおよびインデックステーブル情報を保守する。よって、ホストは、論理アドレスインターフェイスの管理にあたって現在必要とされているファイルアロケーションテーブル(FAT)を保守する必要がない。
メモリシステムは、各ファイルを構成するデータの位置を認識しているから、これらのデータは、ホストがファイルを削除した直後に消去できる。典型的な論理アドレスインターフェイスでこれを果たすことはできない。さらに、論理アドレスを使用する代わりにファイルオブジェクトでホストデータを識別することにより、メモリシステムコントローラは、頻繁なデータの整理統合および回収の必要性を抑える形でデータを記憶できる。したがって、データコピー操作の頻度とコピーされるデータ量は大幅に低下し、これによりメモリシステムのデータプログラミングおよび読み出し性能は向上する。
いずれも2005年2月16日に出願された、アラン・W・シンクレア(Alan W. Sinclair)のみを、または同人と併せてピーター・J・スミス(Peter J. Smith)を発明者とする、同時係属中の米国特許出願第11/060,174号(特許文献29)、第11/060,248号(特許文献30)、および第11/060,249号(特許文献31)、アラン・W・シンクレア(Alan W. Sinclair)およびバリー・ライト(Barry Wright)によって本願と同時に出願された「フラッシュメモリにおける直接データファイル記憶(Direct Data File Storage in Flash Memories)」という米国仮特許出願(特許文献32)では、直接データファイル記憶メモリシステムが説明されている。(これ以降、「直接データファイル記憶アプリケーション(Direct Data File Storage Applications) 」と総称する。)
図9および10に示された、これらの直接データファイル記憶アプリケーションの直接データファイルインターフェイスは、図7および8に示された、前述した論理アドレス空間インターフェイスよりシンプルであり、メモリシステムの性能を上げるから、直接データファイル記憶は多くの用途にとって好ましい。しかし、現在、ホストシステムは主に論理アドレス空間インターフェイスで動作するように構成されているから、直接データファイルインターフェイスを持つメモリシステムはほとんどのホストに適合しない。したがって、両方のインターフェイスで動作できるメモリシステムを提供することが望ましい。
これを果たす1方法として、1つのパッケージで事実上2つのメモリシステム、すなわちホストデータファイルを直接記憶するシステムと、論理アドレス空間を通じてデータを記憶する他のシステムとを用意する。しかし、そのような複合システムは非常に複雑なものになり、したがってそのコストも非常に高くなる一方で、使用の融通性は非常に乏しくなる。
したがって、直接データファイルおよび論理アドレス「フロントエンド」インターフェイスを通じて単一の「バックエンド」メモリシステムを稼動できると望ましい。これは概念上、論理アドレスインターフェイスで動作する既存のメモリシステムへ直接データファイルインターフェイスを追加することによって達成できる。しかし、このようなシステムを直接データファイルモードで動作させるのは非常に厄介である。
したがって、直接データファイルインターフェイスで動作するバックエンドメモリシステムに従来の論理アドレス空間とも連動する能力を加えて利用すると好ましいことが分かっている。こうすれば、直接データファイル記憶アプリケーションで説明したタイプのファイル本位メモリシステムの優れた働きを活かすことができる。しかし、直接データファイルメモリバックエンドをフロントエンドの論理アドレス空間インターフェイスとともに効率的に動作させることは非現実的ではない。
論理アドレスインターフェイスを通じての直接データファイル記憶
本願明細書で説明している改善された主要な特徴は、ホスト/メモリインターフェイスの論理アドレス空間を論理アドレスのグループに分割し、かつ各グループ内のデータをファイル本位メモリに直接記憶される単独の論理ファイルとして扱うことにある。メモリシステムはこれらの論理ファイルを、ホストから直接受け取るデータファイルと同様に扱う。双方のファイルは一意に識別され、ファイル内のデータのオフセットアドレスが保守される。これにより直接データファイルメモリシステムは、論理アドレスインターフェイスに基づいてメモリと通信するホストともに動作できる。論理ファイルは好ましくは、同じ量のデータを収容するように形成され、その量は好ましくは、メモリの物理的構成に応じて1ブロックまたはメタブロックのメモリ記憶容量に等しい。
この各論理ファイルの好適なサイズはまた、前述したLBA特許出願で説明されているフラッシュメモリシステムの物理ブロックまたはメタブロックにマッピングされる論理グループと同じである。すなわち、LBAメモリシステムの論理グループと本願明細書での好適な論理ファイルは、メモリインターフェイスの論理アドレス空間の中で一定の連続アドレス範囲にまたがり、1対1の対応でメモリの物理ブロックまたはメタブロックの記憶容量と同じ量のデータを収容する。これはメモリシステムの管理を容易にする。
図11は、このプロセスを示している。この例では、図7のホスト動作に図9のファイル本位メモリ動作が組み合わされ、さらにメモリシステムの中にアドレス変換172が加わる。アドレス変換172は、メモリ空間161にまたがる論理アドレスのグループを、修正アドレス空間161’にまたがる個々の論理ファイルa〜jにマッピングする。好ましくは、論理アドレス空間161全体がこれらの論理ファイルに分割され、かくして論理ファイルの数は、論理アドレス空間のサイズと、個々の論理ファイルのサイズとに依拠する。論理ファイルの各々は、空間161にまたがる1グループの連続論理アドレスのデータを収容する。各々の論理ファイルの中のデータ量は好ましくは同じであり、その量は、メモリ165の1メタブロックのデータ記憶容量に等しい。論理ファイルの不等サイズおよび/またはメモリのブロックまたはメタブロックの記憶容量とは異なるサイズは、無論可能であるが、好ましくはない。
個々のファイルa〜jの中のデータは、ファイル内の論理オフセットアドレスによって表される。論理ファイルのファイル識別子とデータオフセットは173でメモリ165内の物理アドレスに変換される。論理ファイルa〜jは、直接データファイル記憶アプリケーションで説明したのと同じプロセスとプロトコルとによってメモリ165に直接記憶される。そのプロセスは、図9のデータファイル1〜3をメモリ165に記憶するのに使用するのと同じであるが、各論理ファイル内のデータ量は分かっているから、特にその量がメモリのブロックまたはメタブロックの容量に等しければ、プロセスはより簡単なものとなる。図11には、論理ファイルa〜jの各々がメモリ165の別々のメタブロックにマッピングされる様子が示されている。また、ファイル本位データ記憶は、ホストと連動するように設計された現在の論理アドレスメモリシステムと同じかまたは同等のやり方で、ホストとやり取りするのが望ましい。個々の論理ファイルを対応する個々のメモリメタブロックにマッピングすることにより、論理アドレス空間インターフェイスを使用する場合と実質的に同じ性能とタイミング特性とが、直接データファイルインターフェイスメモリシステムで達成される。
図12は、図11の方法を異なる形で示している。図12は、図8の論理アドレスメモリシステム動作と同じであるが、論理アドレス空間を論理ファイルに分割する機能、すなわち直前に説明した図11のステップ172が、加わっている。さらに、図12の「ファイルデータを物理記憶ブロックにマッピングするためのテーブル」が図8の「論理アドレスを物理記憶ブロックにマッピングするためのテーブル」に取って代わっている。
図13には、論理アドレス(LBA)空間161(図11)を論理ファイルa〜jにマッピングする方法が示され、最後の論理ファイルは論理ファイルmとして総称的に識別されている。汎用バックエンドシステムとしてファイル記憶システムを使用するコンセプトは、LBA空間を共通ファイル記憶空間にマッピングする方法に基づく。LBA空間全体は、同じ、好ましくはメタブロックに等しいサイズの論理グループに分けられ、全ての論理グループは、図13に示すように、単独の「論理」ファイルとして記憶される。
以下の形式を持つLBAアクセスは、
READ/WRITE StartLBA,Length(sectors)
である。以下の形式で1つ以上の論理ファイルにアクセスするために論理アドレス−ファイル変換172(図11)によって変換される。
READ/WRITE FileName,StartOffset(bytes),Length(bytes)
例えば、コマンド
READ101,2
は、論理ファイルbのアクセスのために172によって翻訳され、0×100から0×1FFへLBAをマッピングする。
READ LogFile b,512,1024
論理ファイルは消去することもできる。消去済み論理ファイルに対する最初の書き込みは、ブランクデータパターンによるヘッドまたは全セクタのパッディングをトリガし、通常0またはFFである。
複合論理アドレス・ファイル本位インターフェイス
従来の論理アドレス空間インターフェイス181を通じてホストと連動するように設計された図11〜13のデータファイル本位バックエンド記憶システムには、図14に概括的に示されているように、直接データファイルインターフェイス183を加えることもできる。ファイルインターフェイス183からのホストデータファイルと、172’によって変換される論理インターフェイス181からの論理ファイルはいずれも、173’によってメモリメタブロックアドレスに翻訳される。次いで、データは、185のところに示されている直接データファイルプロトコルを実行することによってメモリ165’のアドレスに記憶される。このプロトコルには、前述した直接データファイル記憶アプリケーションの直接データファイル記憶手法が盛り込まれる。プロセス173’および185はファイル本位メモリインターフェイス165’を提供する。事実、ホストファイルインターフェイス183からメモリファイルインターフェイス187を通じてメモリ165’に至る経路は好ましくは、直接データファイル記憶アプリケーションで説明したように概ね動作する。
携帯用メモリカード、フラッシュドライブ、またはその他の着脱可能なメモリシステムに両タイプのホストインターフェイスを用意すれば、論理アドレス空間インターフェイスで動作する現在のほとんどのホストと、ファイルをメモリに直接引き渡すホストでメモリを使用でき、あるいは両タイプのホスト間でメモリを交換できる。新しいファイル本位インターフェイスを備えるホストのユーザはメモリを極めて効率的に利用できると同時に、従来の論理アドレス空間インターフェイスとの下位互換性を有することができる。また、同じ1対1の論理ファイル−メタブロックマッピングの結果、実質的に同じ性能とタイミング特性とが達成される。ユーザが新しい直接データファイルインターフェイスを理由に入手するデュアルホストインターフェイスを備えるメモリは、従来の論理アドレス空間インターフェイスを有する多数の既存ホストにも利用できる。これは、現在のインターフェイスから直接データファイルインターフェイスへ移行するための手段となる。
図15は、図14のデュアルホストインターフェイスメモリシステムを多少の詳細を添えて示している。メモリ165’は、インターフェイス183を通じてホストから直に提供されるホストデータファイル(HF1、HF2...HFn)と、プロセス172’によって変換される論理アドレス空間インターフェイス181からの論理ファイル(LFa、LFb...LFm)の両方を記憶する。メモリ165’はホストファイルから論理ファイルを区別する必要はなく、むしろ好ましくは、両タイプのファイルをメタブロックのサイズで扱うよう最適化される。かくして論理ファイルは、LBA特許出願で説明されているシステムの論理グループに相当し、ホストインターフェイスから見たシステムの性能は、LBA特許出願で説明されている論理アドレス空間インターフェイスを備えるシステムに一致する。
メモリ165’にすでに記憶されている論理ファイルに対する更新は、LBA特許出願で説明されている逐次および無秩序(chaotic) 更新をサポートする更新システムと同様、論理ファイルが当初記憶されたブロックとは別の更新ブロックに記憶できる。この更新ブロックはある特定の論理ファイルにとって専用であってよく、あるいは他の論理ファイルと共用されてよく、またはホストファイルと共用されてもよい。
論理ファイルのガーベッジコレクションは、(論理ファイルまたはホストファイル更新のための)新しい更新ブロックを開放する要求によって、あるいは更新ブロックが満杯になるときに、または論理−ファイル変換172’による論理ファイルの閉鎖によって、トリガできる。変換172’は、論理ファイルがアクセスされるたびにこれを「開放」し、かつ「閉鎖」でき、あるいはガーベッジコレクション操作を時期尚早にトリガするおそれのある論理ファイル閉鎖をうまく処理することによって、ファイル記憶システム187による論理ファイルの取り扱いを最適化できる。
ホストファイルと論理ファイルは様々な形でメモリ記憶空間を共用できる。図16および17は、物理メモリの別々の区画に記憶されるホストおよび論理ファイルを示し、図18は、メモリの2種類のファイル共用記憶空間を示している。図に示されていないが、図16〜18との関係で説明する機構は、複数のファイルおよび/または論理区画の各々に別々のメモリ空間を用意するのに役立てることもできる。例えば、論理アドレス空間を別々の論理ドライブに区画でき、各々の論理ドライブは一意なメモリ部分にマッピングされる。また、アクセスモード/アクセス権や暗号化のタイプの違いなどの特性の異なるデータの記憶のために異なる物理メモリセル領域を設けることができる。
図16では、ホストファイルを記憶できるメタブロック191と論理ファイルを記憶できるメタブロック193との間の区画化が固定され、メモリカードを再フォーマットすることによって変更できる。これらの区画の各々は、新しい更新メタブロックを提供するため、メモリにすでに記憶済されたファイルを更新するデータ、および新しいファイルを受け入れるための消去プールブロック補給として、消去済みオーバーヘッドメタブロックを含む。したがって、更新メタブロックは、ホストまたは論理ファイル区画191および193の一方にとって専用であり、両者の間で共用されない。これにより、安全なアクセスやデータ暗号化等の機能をより効果的にサポートできる。ホストインターフェイスにおける論理アドレス空間は好ましくは、メモリシステムの最大記憶容量に満たない。1つ以上のメタブロック195はメモリの動作データを収容し、ホストファイルと論理ファイルの両方で使用するために共用される。
ホストファイル区画と論理ファイル区画の各々は、それぞれ独自の消去済みオーバーヘッドを持つ代わりに、消去済みメタブロックのプールを共用できる。これは図17に示されている。ホストファイルを記憶するメタブロックの区画197と論理ファイルを記憶する区画199は、消去済みオーバーヘッドメタブロック201を共用する。
これらの共通メタブロックは様々な形で共用できる。そのうちの1つでは、消去済みブロックプール201のメタブロックがホストファイルと論理ファイルのいずれか一方を記憶するため共用されるが、両方のデータは記憶しない。これにより、ホストファイルであれ論理ファイルであれ、現在アクティブなアプリケーションのための可能な限り多くの更新ブロックをより柔軟に開放できる。使用可能な更新ブロックは、必要に応じてホストファイル記憶と論理ファイル記憶との間で再配分される。例えば、論理アドレス空間インターフェイスによるホストアクセスによってホストファイルに使われている更新ブロックの閉鎖がトリガされることにより、論理ファイルを扱うためにより多くの更新ブロックを使用できるようになる。代わりに、両タイプのファイルのデータを記憶するために更新ブロックを使用することもできる。
図18に示すように、ホストファイルと論理ファイルは共通のメタブロックグループ203に記憶できる。この方法では、ホストファイルと論理ファイルとの間で物理記憶空間全体が完全に共用される。メモリは、その最大記憶容量が少なくともホストインターフェイスにおける論理アドレス空間の大きさになるようにフォーマットされる。ことによると、両タイプのファイルのアクセス権および管理権を様々なタイプのアプリケーションに与えることができるので、例えば、ファイルアクセスプログラムは論理ファイルを消去でき、あるいはカード全体を再フォーマットできる。制御データ構造(制御オーバーヘッド195)と更新ブロック空間(消去済みオーバーヘッド201)は両タイプのファイルのために共用される。唯一の制限は、メモリ空間の当座の入手可能性である。
既存の未消去論理ファイルは、ホストファイル記憶のために使用できる1メタブロック相当の記憶空間を要求する。これと引き換えに、書き込み済みホストファイルはいくつかの論理ファイルをアクセス不能にし、例えば、それらの論理ファイルはFATテーブルの中で不良、または保留ファイルとしてマークすることができる。
一般的に、論理アドレス空間がデフラグされるとホストにとって有利である。例えば図19を参照し、フラグされたホストファイル2のデータがアドレス空間161’の中でいくつかの論理ファイルに記憶されることが見て分かる。ホストファイル2をデフラグすることによって、1つ以上の論理ファイルは解放され、他のデータを記憶するために使用できるようになる。ホストは、その有効ファイルのデータを連続アドレス範囲を占める単一のホストファイルに再度書き込むことによってファイルの一部または全部を論理的にデフラグするソフトウェアを利用できる。この単一のファイルは圧縮できる。
図19は、図18の共用ファイル記憶の一例を示している。
図20に示すように、ホストファイルと論理ファイルのデータを別々のメタブロックに記憶することが好ましい。論理ファイルLGaは第1のメタブロックに記憶され、ホストファイル1および2は次のメタブロックに、論理ファイルLGbは第3のメタブロックに、ホストファイル3はこの図の最後のメタブロックに記憶される。しかし、両方のホストおよび論理ファイルを同じメタブロックに記憶することもまた可能であり、図21はその一例を示している。
一般的用途
前の説明は主に、論理アドレス空間インターフェイスを備えるホストシステムとファイル本位インターフェイスを備えるフラッシュメモリシステムとが互いに通信する例に向けたものである。これは極めて有益な例であるが、本発明はこのような構成に限定されない。例えば、その手法は、フラッシュメモリに加えて、磁気ディスクドライブ、光ディスクドライブ、動的な読み出し専用メモリ(DRAM)、静的な読み出し専用メモリ(SRAM)、読み出し専用メモリ(ROM)、半導体磁気メモリ等、様々なデータ記憶システムで使用できる。事実、本発明は適合しないアドレスインターフェイスを有する2つのシステム間に通信手段を提供する。これを、論理アドレス空間のインターフェイスを備えるシステム211とファイル本位インターフェイスを備えるシステム213が、変換172および172’との関係で前述した変換172”を通じて互いに通信する図22に示されている。前述した例で、システム211はホストコンピュータであり、システム213はフラッシュメモリシステムである。
結論
これまで本発明の様々な態様をその代表的な実施形態との関係で説明してきたが、添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
現在実施されているホストと接続された不揮発性メモリシステムとを概略的に示す。 図1の不揮発性メモリとして使用されるフラッシュメモリシステムの例のブロック図である。 図2のシステムに使用できるメモリセルアレイの代表的な回路図である。 図2のシステムの物理メモリの編制例を示す。 図4の物理メモリの一部分の拡大図を示す。 図4および5の物理メモリの一部分のさらなる拡大図を示す。 ホストと再プログラム可能なメモリシステムとの間の論理アドレス空間インターフェイス示す。 ホストと再プログラム可能なメモリシステムとの間の論理アドレス空間インターフェイスを図7とは異なる形で示す。 ホストと再プログラム可能なメモリシステムとの間の直接データファイル記憶インターフェイスを示す。 ホストと再プログラム可能なメモリシステムとの間の直接データファイル記憶インターフェイスを図9とは異なる形で示す。 データファイルを直接記憶するが、ホストに対し論理アドレス空間インターフェイスを有する、再プログラム可能なメモリシステムを示す。 データファイルを直接記憶するが、ホストに対し論理アドレス空間インターフェイスを有する、再プログラム可能なメモリシステムを図11とは異なる形で示す。 図11および12の論理アドレス−論理ファイル変換のステップをより詳細に示す。 直接データファイル記憶モードで動作するが、論理アドレス空間インターフェイスまたは直接データファイルインターフェイスのいずれかを通じてホストと連動できる、再プログラム可能なメモリシステムを示す。 直接データファイル記憶モードで動作するが、論理アドレス空間インターフェイスまたは直接データファイルインターフェイスのいずれかを通じてホストと連動できる、再プログラム可能なメモリシステムを図14とは異なる形で示す。 物理メモリ空間の静的区画化の第1の形式を使用し、図14および15の共通メモリでホストデータファイルと論理ファイルの両方を記憶する第1の実施形態を示す。 物理メモリ空間の静的区画化の第2の形式を使用し、図14および15の共通メモリでホストデータファイルと論理ファイルの両方を記憶する、第2の実施形態を示す。 共通物理メモリ空間を共用し、図14および15の共通メモリでホストデータファイルと論理ファイルの両方を記憶する第3の実施形態を示す。 図18の第3の実施形態の具体例を提示する。 図18の第3の実施形態を実施する場合にメモリの物理ブロックでホストデータファイルと論理ファイルの両方を記憶する好適な方法を示す。 図18の第3の実施形態を実施する場合にメモリの物理ブロックでホストデータファイルと論理ファイルの両方を記憶するもうひとつの好適な方法を示す。 異なるアドレスインターフェイスを有するシステム間で、本願明細書での手法のより一般的な応用を示す。

Claims (39)

  1. 方法であって、
    個別データファイルの第1のセットのアドレスがマッピングされる連続論理アドレス空間を保守するステップと、
    個別ファイルのデータがいかにマッピングされるかにかかわりなく前記論理アドレス空間をアドレスのグループに分割するステップと、
    前記アドレスグループの中で個別データファイルの第2のセットとしてデータを扱うステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    前記アドレスグループの少なくともいくつかのアドレスグループは、サイズが等しい方法。
  3. メモリシステムを操作する方法であって、
    単独ファイルの中のデータの論理アドレスの識別子を収容しない、連続論理アドレス空間の中のアドレスによって識別される、複数の単独データファイルを受信するステップと、
    複数の連続論理アドレスグループに分割された前記論理アドレス空間を操作するステップと、
    前記個々の論理アドレスグループの中で、一意なグループ識別情報と前記グループ内でのデータのオフセットとによって、前記データを論理的にアドレスするステップと、
    前記複数の論理アドレスグループのデータを前記メモリシステムにマッピングするステップと、
    を含む方法。
  4. 請求項3記載の方法において、
    前記複数の論理アドレスグループの個々の論理アドレスグループは、所定の量のデータを収容する方法。
  5. 請求項4記載の方法において、
    前記メモリシステムは、重複しない単位に分割された再プログラム可能な不揮発性半導体メモリセルを含み、前記個々の論理アドレスグループの前記所定のデータ量は、前記個々のメモリセル単位のデータ記憶容量に等しい方法。
  6. 請求項5記載の方法において、
    前記個々のメモリセル単位は、少なくとも1ブロックのメモリセルを収容し、1ブロックは、ともに消去できる最低数のメモリセルを収容する方法。
  7. 請求項6記載の方法において、
    前記個々のメモリセル単位は、メタブロックとしてともに論理的にリンクされた2ブロック以上のメモリセルを収容する方法。
  8. 請求項3記載の方法において、
    前記メモリシステムは、2ビット以上のデータを個別に記憶するためにそのメモリセルを操作する方法。
  9. 請求項3記載の方法において、
    一意なファイル識別情報と第2の複数の個別ファイル内でのデータのオフセットとにより識別される第2の複数の単独データファイルを受信するステップと、
    前記第2の複数のファイルのデータを前記メモリシステムに直接マッピングするステップと、
    をさらに含む方法。
  10. 請求項9記載の方法において、
    前記メモリは少なくとも、前記複数の論理アドレスグループのデータがマッピングされる第1の区画と、前記第2の複数の受信ファイルのデータが直接マッピングされる第2の区画とに区画される方法。
  11. 請求項10記載の方法において、
    前記メモリは、前記メモリシステムの動作を制御するデータが記憶される第3の区画に区画される方法。
  12. 請求項11記載の方法において、
    前記メモリは、前記複数の論理アドレスグループまたは前記第2の複数の受信ファイルからデータを受け入れるために使用できる第4の区画に区画される方法。
  13. 請求項9記載の方法において、
    前記複数の論理アドレスグループと前記第2の複数の受信ファイルからのデータは、いずれも前記メモリの共通区画にマッピングされる方法。
  14. 請求項13記載の方法において、
    前記メモリは、前記共通区画と、前記メモリシステムの動作を制御するデータが記憶される第2の区画とに区画される方法。
  15. 請求項14記載の方法において、
    前記メモリは、前記複数の論理アドレスグループまたは前記第2の複数の受信ファイルのいずれかからデータを受け入れるために使用できる消去済みメモリセル単位からなる、第3の区画にさらに区画される方法。
  16. セル単位に分割された半導体メモリセルと論理アドレス空間を含むインターフェイスとを有するタイプの再プログラム可能な不揮発性メモリシステムを操作する方法であって、前記インターフェイスを通じてホストから受信する複数のデータファイルは前記論理アドレス空間で識別される方法において、
    前記個々のメモリセル単位の記憶容量に等しいサイズを有する複数の連続論理アドレスグループに分割された前記論理アドレス空間を操作するステップと、
    前記論理グループを、一意なファイル識別情報とファイル内でのデータのオフセットとを個々に有する単独ファイルとして前記メモリセル単位のうちの特定のメモリセル単位にマッピングするためのテーブルを保守するステップと、
    を含む方法。
  17. 請求項16記載の方法において、
    一意なファイル識別情報と第2の複数の個別ファイル内でのデータのオフセットとにより識別される第2の複数の単独データファイルを受信するステップと、
    前記第2の複数のファイルを前記メモリシステムの中の特定のメモリセル単位に直接マッピングするためのテーブルを保守するステップと、
    をさらに含む方法。
  18. セル単位に分割されたメモリセルを有するタイプの不揮発性メモリシステムを操作する方法であって、
    一意なファイル識別情報とファイル内でのデータのオフセットとによってアドレス指定されるファイルとしてデータを前記メモリシステムに記憶するステップと、
    一意なファイル識別情報とファイル内でのデータのオフセットとによってアドレス指定されるホストデータファイルを前記メモリの外部から受信することに応じて、このようなファイルアドレスにより前記受信データファイルを前記メモリシステムに直接記憶するステップと、
    ホストデータファイルとしてではなく前記メモリの論理アドレス空間の中でアドレス指定されるホストデータを前記メモリの外部から受信することに応じて、ローカルアドレス範囲からなる所定のグループの中でアドレス指定されるメモリデータファイルとして前記受信ホストデータを記憶するステップであって、前記メモリファイルは、一意なファイル識別情報と前記メモリファイル内でのデータのオフセットとによって記憶されるステップと、
    を含む方法。
  19. 請求項18記載の方法において、
    前記メモリシステムの中の前記メモリセル単位は少なくとも、ホストデータファイルが直接マッピングされる第1のグループと、前記メモリデータファイルが直接マッピングされる第2のグループとに区画される方法。
  20. 請求項19記載の方法において、
    前記メモリシステムの中の前記メモリセル単位は、前記メモリシステムの動作を制御するデータが記憶される第3のグループに区画される方法。
  21. 請求項20記載の方法において、
    前記メモリシステムの中の前記メモリセル単位は、ホストデータファイルまたはメモリデータファイルのいずれかを受け入れるために使用できる消去済みメモリセル単位からなる第4のグループに区画される方法。
  22. 請求項19記載の方法において、
    ローカルアドレス範囲からなる前記所定のグループは、個々のメモリセル単位の記憶容量に等しい量のデータを個々に含む方法。
  23. 請求項18記載の方法において、
    前記ホストデータファイルと前記メモリデータファイルはいずれも、メモリセル単位からなる共通グループにマッピングされる方法。
  24. 請求項23記載の方法において、
    ローカルアドレス範囲からなる前記所定のグループは、個々のメモリセル単位の記憶容量に等しい量のデータを個々に含む方法。
  25. 請求項23記載の方法において、
    前記メモリシステムの中の前記メモリセル単位は、前記共通グループと、前記メモリシステムの動作を制御するデータが記憶される第2のグループとに区画される方法。
  26. 請求項25記載の方法において、
    前記メモリシステムの中の前記メモリセル単位は、ホストデータファイルまたはメモリデータファイルのいずれかを受け入れるために使用できる消去済みメモリセル単位からなる、第3のグループにさらに区画される方法。
  27. 請求項18記載の方法において、
    ローカルアドレス範囲からなる前記所定のグループは、個々のメモリセル単位の記憶容量に等しい量のデータを含む方法。
  28. 電子装置であって、
    データファイルの第1のセットを、連続論理アドレス空間の中の一意なアドレスによって識別するインターフェイスを有する第1のシステムと、
    データファイルの第2のセットを、前記ファイルの一意な識別情報と前記個々のファイル内でのデータのオフセットとによって識別するインターフェイスを有する第2のシステムと、
    前記連続論理アドレス空間を別々のアドレスグループに分割し、かつこれらのアドレスグループの中のデータを前記第2のセットのデータファイルとして識別するファイル変換部と、
    を備える電子装置。
  29. 請求項28記載の電子装置において、
    前記ファイル変換部は、前記連続論理アドレス空間をサイズが同じ別々のアドレスグループに分割し、これにより前記第2のセットのデータファイルの前記データファイルもまた同じサイズとなる電子装置。
  30. データ記憶システムであって、
    アドレス指定可能なメモリと、
    データをプログラムし読み出すために前記メモリのアドレスされる部分へのアクセスを引き起こす動作制御部と、
    複数のホストファイルがマッピングされるが、個々のホストファイルによって占められる論理アドレス空間の中のアドレスの識別情報を収容しない、連続論理アドレス空間を含むインターフェイスと、
    (a)前記論理アドレス空間を占めるホストファイルの論理アドレスとは無関係に、一意なファイル識別子とファイル内でのデータのオフセットとにより論理ファイルとして識別される前記論理アドレス空間の中の一意なアドレスグループと、(b)前記メモリの物理部分のアドレスとの間のアドレス翻訳と、
    を備えるデータ記憶システム。
  31. 請求項30記載のメモリシステムにおいて、
    一意なホストファイル識別子と識別されるホストファイル内でのデータのオフセットとによってアドレスされるホストデータ論理ファイルをホストシステムとやり取りするための第2のインターフェイスをさらに備えるメモリシステム。
  32. 再プログラム可能な不揮発性メモリシステムであって、
    少なくとも1つの電荷記憶素子を個々に含み、かつメモリセル単位に分割されるメモリセルアレイと、
    (a)一意なファイル識別子と識別されるファイル内でのデータのオフセットとを個々に含む論理ファイルのアドレスと、(b)前記メモリセル単位の少なくともいくつかのメモリセル単位の物理アドレスとの間の第1のアドレス翻訳部と、
    前記論理ファイルのデータをプログラムし読み出すために前記メモリセル単位の前記少なくともいくつかのメモリセル単位へのアクセスを引き起こす動作制御部と、
    複数のホストファイルがマッピングされるが、個々のホストファイルによって占められる論理アドレス空間の中のアドレスの識別情報を収容しない、連続論理アドレス空間を含むインターフェイスと、
    (a)一意なファイル識別子とファイル内でのデータのオフセットとにより論理ファイルとして識別される前記論理アドレス空間の中のアドレスグループと、(b)前記第1のアドレス翻訳部の論理ファイルのアドレスとの間の第2のアドレス翻訳部と、
    を備える再プログラム可能な不揮発性メモリシステム。
  33. 請求項32記載のメモリシステムにおいて、
    一意なホストファイル識別子と識別されるホストファイル内でのデータのオフセットとによってアドレスされるホストデータ論理ファイルをホストシステムとやり取りするための第2のインターフェイスをさらに備えるメモリシステム。
  34. 請求項32記載のメモリシステムにおいて、
    前記第2のアドレス翻訳部は、個々のメモリセル単位の記憶容量と同じ量のデータを個々に収容する前記論理アドレス空間内のアドレスグループ間でアドレスを翻訳するメモリシステム。
  35. 請求項34記載のメモリシステムにおいて、
    前記アレイの前記メモリセル単位は、少なくとも1ブロックのメモリセルを個々に含み、1ブロックは、ともに消去できる最低数のメモリセルを収容するメモリシステム。
  36. 請求項35記載のメモリシステムにおいて、
    前記アレイの前記メモリセル単位は、メタブロックとしてともに論理的にリンクされた2ブロック以上のメモリセルを個々に含むメモリシステム。
  37. 請求項32記載のメモリシステムにおいて、
    前記動作制御部は、記憶されるデータを表す個々の電荷記憶素子の3つ以上の測定可能な電荷レベルのうちの1つの測定可能な電荷レベルを記憶するべくさらに動作し、これにより前記個々の電荷記憶素子で2ビット以上のデータを記憶するメモリシステム。
  38. 請求項33記載のメモリシステムにおいて、
    前記第1のアドレス翻訳部は、前記第2のインターフェイスの前記論理アドレス空間の中のアドレスグループから形成される論理ファイルのアドレスを、前記第1のインターフェイスを通過するホスト論理ファイルのアドレスとは異なる1セットのメモリセル単位にマッピングするべくさらに動作するメモリシステム。
  39. 請求項33記載のメモリシステムにおいて、
    前記第1のアドレス翻訳部は、前記第2のインターフェイスの前記論理アドレス空間の中のアドレスグループから形成される論理ファイルのアドレスと、前記第1のインターフェイスを通過するホスト論理ファイルのアドレスとを、共通の1セットのメモリセル単位にマッピングするべくさらに動作するメモリシステム。
JP2008525026A 2005-08-03 2006-07-25 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム Pending JP2009503729A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/196,869 US7480766B2 (en) 2005-08-03 2005-08-03 Interfacing systems operating through a logical address space and on a direct data file basis
PCT/US2006/028959 WO2007019059A2 (en) 2005-08-03 2006-07-25 Interfacing systems operating through a logical address space and on a direct data file basis

Publications (2)

Publication Number Publication Date
JP2009503729A true JP2009503729A (ja) 2009-01-29
JP2009503729A5 JP2009503729A5 (ja) 2009-09-03

Family

ID=37398779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525026A Pending JP2009503729A (ja) 2005-08-03 2006-07-25 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム

Country Status (7)

Country Link
US (1) US7480766B2 (ja)
EP (1) EP1920315A2 (ja)
JP (1) JP2009503729A (ja)
KR (1) KR20080032636A (ja)
CN (1) CN101233481B (ja)
TW (1) TW200720924A (ja)
WO (1) WO2007019059A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223879A (ja) * 2007-12-12 2009-10-01 Huawei Technologies Co Ltd ネットワーク記憶デバイスおよびデータ読み取り書き込み制御方法
JP2010532023A (ja) * 2007-06-08 2010-09-30 サンディスク コーポレイション 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム
JP2014507738A (ja) * 2011-03-06 2014-03-27 マイクロン テクノロジー, インク. 論理アドレス変換

Families Citing this family (173)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
KR100472726B1 (ko) * 2002-10-29 2005-03-10 주식회사 하이닉스반도체 고속 데이터억세스를 위한 반도체 메모리장치 및 그구동방법
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
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
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
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
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
US20070136553A1 (en) * 2005-12-13 2007-06-14 Sinclair Alan W Logically-addressed file storage systems
US7877540B2 (en) 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20070143566A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with data alignment in a directly mapped file storage system
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7752412B2 (en) * 2006-09-29 2010-07-06 Sandisk Corporation Methods of managing file allocation table information
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8019940B2 (en) 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US8046522B2 (en) * 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US9152349B2 (en) * 2007-03-23 2015-10-06 Emc Corporation Automated information life-cycle management with thin provisioning
JP2008250475A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd 情報処理装置、ネットワークシステム、およびプログラム
KR100891333B1 (ko) * 2007-04-11 2009-03-31 삼성전자주식회사 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법
US20080307156A1 (en) * 2007-06-08 2008-12-11 Sinclair Alan W System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
US8713283B2 (en) * 2007-06-08 2014-04-29 Sandisk Technologies Inc. Method of interfacing a host operating through a logical address space with a direct file storage medium
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US8880483B2 (en) * 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
JP5220185B2 (ja) 2008-05-16 2013-06-26 フュージョン−アイオー・インコーポレーテッド 故障したデータ記憶機構を検出し、置き換えるための装置、システム及び方法
TW201013397A (en) * 2008-09-17 2010-04-01 Incomm Technologies Co Ltd Memory apparatus and operating method thereof
KR101565975B1 (ko) * 2009-02-27 2015-11-04 삼성전자주식회사 인덱스를 저장하는 플래시 메모리를 포함하는 사용자 장치 및 그것의 인덱스 액세스 방법
JP5485163B2 (ja) * 2009-03-13 2014-05-07 パナソニック株式会社 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US20100318720A1 (en) 2009-06-16 2010-12-16 Saranyan Rajagopalan Multi-Bank Non-Volatile Memory System with Satellite File System
EP2476055B1 (en) * 2009-09-08 2020-01-22 SanDisk Technologies LLC Apparatus, system, and method for caching data on a solid-state storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8972627B2 (en) 2009-09-09 2015-03-03 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US9110594B2 (en) * 2009-11-04 2015-08-18 Seagate Technology Llc File management system for devices containing solid-state media
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
CN107093464A (zh) 2010-07-13 2017-08-25 桑迪士克科技有限责任公司 后台存储器系统接口的动态优化
US9069688B2 (en) 2011-04-15 2015-06-30 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
US8464135B2 (en) 2010-07-13 2013-06-11 Sandisk Technologies Inc. Adaptive flash interface
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
CN102487395B (zh) * 2010-12-01 2014-11-05 北京闪联云视信息技术有限公司 一种实现数据访问的方法、装置和系统
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
CN103092896A (zh) * 2011-11-04 2013-05-08 英业达股份有限公司 文件的读取方法
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US8782344B2 (en) 2012-01-12 2014-07-15 Fusion-Io, Inc. Systems and methods for managing cache admission
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
CN103294407B (zh) * 2012-03-05 2017-07-25 北京联想核芯科技有限公司 存储装置和数据读写方法
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim 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
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling 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
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
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9191360B2 (en) * 2013-01-22 2015-11-17 International Business Machines Corporation Address management in an overlay network environment
US9467294B2 (en) * 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
US9383924B1 (en) * 2013-02-27 2016-07-05 Netapp, Inc. Storage space reclamation on volumes with thin provisioning capability
US9213633B2 (en) 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US9569447B2 (en) * 2013-11-08 2017-02-14 Texas Instruments Incorporated File access method and system thereof
US9141291B2 (en) 2013-11-26 2015-09-22 Sandisk Technologies Inc. Adaptive context disbursement for improved performance in non-volatile memory systems
CN103701821B (zh) * 2013-12-31 2017-07-28 北京网康科技有限公司 文件类型识别方法及装置
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9384128B2 (en) 2014-04-18 2016-07-05 SanDisk Technologies, Inc. Multi-level redundancy code for non-volatile memory controller
CN105446653B (zh) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
KR102036514B1 (ko) 2015-07-13 2019-10-28 엘에스산전 주식회사 메모리 소자를 이용한 데이터 엑세스 장치
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling 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
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
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10789011B2 (en) * 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10977182B2 (en) * 2017-12-01 2021-04-13 Micron Technology, Inc. Logical block mapping based on an offset
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
JP7131053B2 (ja) * 2018-04-24 2022-09-06 富士通株式会社 記憶装置,情報処理プログラムおよび情報処理システム
TWI677788B (zh) * 2018-04-27 2019-11-21 慧榮科技股份有限公司 資料儲存系統以及非揮發式記憶體操作資訊的校正方法
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US11226907B2 (en) * 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
CN111949605A (zh) * 2019-05-15 2020-11-17 伊姆西Ip控股有限责任公司 用于实现文件系统的方法、设备和计算机程序产品
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
JPH10326227A (ja) * 1997-05-23 1998-12-08 Nec Corp フラッシュメモリを記憶媒体とする記憶装置の管理方式
JP2002366423A (ja) * 2001-06-04 2002-12-20 Samsung Electronics Co Ltd フラッシュメモリの管理方法
JP2004526233A (ja) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド オペレーティングシステムなしでcpuおよびデバイスを管理するモジュラーマイクロコントローラ
JP2004310573A (ja) * 2003-04-09 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> Icカードにおけるメモリ管理方法、及びicカード
JP2005122439A (ja) * 2003-10-16 2005-05-12 Sharp Corp デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法
JP2006515086A (ja) * 2002-10-28 2006-05-18 サンディスク コーポレイション ブロック内のページをグループ化する方法及び装置
JP2007520804A (ja) * 2003-12-30 2007-07-26 サンディスク コーポレイション 不揮発性メモリおよび非順次更新ブロック管理を伴う方法

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800520A (en) 1985-10-29 1989-01-24 Kabushiki Kaisha Toshiba Portable electronic device with garbage collection function
US4802117A (en) 1985-12-16 1989-01-31 Pitney Bowes Inc. Method of preserving data storage in a postal meter
JP3015377B2 (ja) 1988-08-26 2000-03-06 株式会社東芝 Icカード
EP0617363B1 (en) 1989-04-13 2000-01-26 SanDisk Corporation Defective cell substitution in EEprom array
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor 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
JPH05233426A (ja) 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
JP3017892B2 (ja) 1992-09-30 2000-03-13 株式会社東芝 ファイル管理装置
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
US5619690A (en) 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5353256A (en) 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5809558A (en) 1994-09-29 1998-09-15 Intel Corporation Method and data storage system for storing data in blocks without file reallocation before erasure
JP2669365B2 (ja) 1994-11-24 1997-10-27 日本電気株式会社 書換え可能なromファイル装置
GB2291991A (en) 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5933847A (en) 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
US6014724A (en) 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
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
US5799168A (en) 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
GB9606927D0 (en) 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US5896393A (en) 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
FR2752072B1 (fr) 1996-08-01 1999-01-29 Solaic Sa Carte a circuit integre comportant des fichiers classes selon une arborescence
DE19633648A1 (de) 1996-08-21 1998-02-26 Grundig Ag Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät
US5907854A (en) 1996-09-27 1999-05-25 Alcatel Usa Sourcing, L.P. Flash memory file system for writing data files without rewriting an entire volume
US6681239B1 (en) * 1996-12-23 2004-01-20 International Business Machines Corporation Computer system having shared address space among multiple virtual address spaces
US6279069B1 (en) 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
FR2759795B1 (fr) 1997-02-14 1999-05-07 Francois Charles Oberthur Fidu Procede de stockage de donnees dans une memoire reinscriptible de carte a puce
US6088759A (en) 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5832493A (en) 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6021415A (en) 1997-10-29 2000-02-01 International Business Machines Corporation Storage management system with file aggregation and space reclamation within aggregated files
US5928347A (en) 1997-11-18 1999-07-27 Shuttle Technology Group Ltd. Universal memory card interface apparatus
US6493811B1 (en) 1998-01-26 2002-12-10 Computer Associated Think, Inc. Intelligent controller accessed through addressable virtual space
US6226728B1 (en) 1998-04-21 2001-05-01 Intel Corporation Dynamic allocation for efficient management of variable sized data within a nonvolatile memory
US6038636A (en) 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
US6490649B2 (en) 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
JP2000148546A (ja) 1998-11-10 2000-05-30 Nec Corp データ入出力装置およびデータ入出力方法、並びに記録媒体
US6256690B1 (en) 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card
US6480935B1 (en) 1999-01-15 2002-11-12 Todd Carper Smart card memory management system and method
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
KR100704998B1 (ko) 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
JP4779183B2 (ja) 1999-03-26 2011-09-28 ソニー株式会社 再生装置および再生方法
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6467015B1 (en) 1999-04-15 2002-10-15 Dell Products, L.P. High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US6535949B1 (en) 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
JP3524428B2 (ja) 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
US6547150B1 (en) 1999-05-11 2003-04-15 Microsoft Corporation Smart card application development system and method
EP1134662A4 (en) 1999-07-28 2007-05-09 Sony Corp RECORDING SYSTEM, DATA RECEIVING DEVICE, MEMORY DEVICE AND DATA ACQUISITION METHOD
JP3863330B2 (ja) 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
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
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
JP3726663B2 (ja) 2000-09-07 2005-12-14 日産自動車株式会社 電子制御装置の制御データ記憶装置
US6834331B1 (en) 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6779063B2 (en) 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
GB0116116D0 (en) 2001-06-30 2001-08-22 Koninkl Philips Electronics Nv Receiver apparatus and method
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
US6823417B2 (en) 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table
JP3641230B2 (ja) 2001-10-22 2005-04-20 株式会社東芝 メモリカードを制御するための装置および方法
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6883114B2 (en) 2001-11-08 2005-04-19 M-Systems Flash Disk Pioneers Ltd. Block device driver enabling a ruggedized file system
US6668336B2 (en) 2001-11-08 2003-12-23 M-Systems Flash Disk Pioneers Ltd. Ruggedized block device driver
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
WO2003073203A2 (en) 2002-02-21 2003-09-04 Precise Software Solutions, Inc. System and method for analyzing input/output activity on local attached storage
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
EP1355268B1 (en) 2002-02-28 2006-04-05 Matsushita Electric Industrial Co., Ltd. Memory card
US6766432B2 (en) 2002-05-24 2004-07-20 Sun Microsystems, Inc. Memory management system supporting object deletion in non-volatile memory
US6895464B2 (en) 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
US6865659B2 (en) 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
KR100453053B1 (ko) 2002-06-10 2004-10-15 삼성전자주식회사 플래쉬 메모리용 파일 시스템
US7035949B2 (en) 2002-07-29 2006-04-25 M-System Flash Dist Pioneers Ltd. Multipurpose processor, system and method
US6781877B2 (en) 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7526599B2 (en) 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
CN1260642C (zh) * 2002-11-18 2006-06-21 深圳市朗科科技有限公司 一种向移动存储装置发送命令和数据的方法
US7433712B2 (en) 2003-02-06 2008-10-07 Modu Ltd. Multi-access solid state memory devices and a telephone utilizing such
US7437557B2 (en) 2003-06-03 2008-10-14 Lg Electronics Inc. Garbage collection system and method for a mobile communication terminal
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US20050144363A1 (en) 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US8607016B2 (en) 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US7395384B2 (en) 2004-07-21 2008-07-01 Sandisk Corproation Method and apparatus for maintaining data on non-volatile memory systems
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
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
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block 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

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
JPH10326227A (ja) * 1997-05-23 1998-12-08 Nec Corp フラッシュメモリを記憶媒体とする記憶装置の管理方式
JP2004526233A (ja) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド オペレーティングシステムなしでcpuおよびデバイスを管理するモジュラーマイクロコントローラ
JP2002366423A (ja) * 2001-06-04 2002-12-20 Samsung Electronics Co Ltd フラッシュメモリの管理方法
JP2006515086A (ja) * 2002-10-28 2006-05-18 サンディスク コーポレイション ブロック内のページをグループ化する方法及び装置
JP2004310573A (ja) * 2003-04-09 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> Icカードにおけるメモリ管理方法、及びicカード
JP2005122439A (ja) * 2003-10-16 2005-05-12 Sharp Corp デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法
JP2007520804A (ja) * 2003-12-30 2007-07-26 サンディスク コーポレイション 不揮発性メモリおよび非順次更新ブロック管理を伴う方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010532023A (ja) * 2007-06-08 2010-09-30 サンディスク コーポレイション 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム
JP2009223879A (ja) * 2007-12-12 2009-10-01 Huawei Technologies Co Ltd ネットワーク記憶デバイスおよびデータ読み取り書き込み制御方法
JP2014507738A (ja) * 2011-03-06 2014-03-27 マイクロン テクノロジー, インク. 論理アドレス変換
US9164701B2 (en) 2011-03-06 2015-10-20 Micron Technology, Inc. Logical address translation

Also Published As

Publication number Publication date
CN101233481A (zh) 2008-07-30
TW200720924A (en) 2007-06-01
WO2007019059A3 (en) 2007-06-07
CN101233481B (zh) 2013-02-13
KR20080032636A (ko) 2008-04-15
EP1920315A2 (en) 2008-05-14
US20070033323A1 (en) 2007-02-08
US7480766B2 (en) 2009-01-20
WO2007019059A2 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
JP2009503729A (ja) 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム
US8239639B2 (en) Method and apparatus for providing data type and host file information to a mass storage system
US8880483B2 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
US7877540B2 (en) Logically-addressed file storage methods
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7814262B2 (en) Memory system storing transformed units of data in fixed sized storage blocks
US8205063B2 (en) Dynamic mapping of logical ranges to write blocks
KR101272642B1 (ko) 플래시 메모리시스템 내의 데이터 저장 용량의 리클레이밍
US8452940B2 (en) Optimized memory management for random and sequential data writing
JP4977703B2 (ja) 予定再生操作を伴う不揮発性メモリ
US20070136553A1 (en) Logically-addressed file storage systems
US20090164745A1 (en) System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
KR101378031B1 (ko) 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리
KR101464199B1 (ko) 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법
JP5068754B2 (ja) 改良されたホストインターフェイス
JP4441577B2 (ja) 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納
JP2009519555A (ja) 論理アドレス形ファイル記憶
JP2009503740A (ja) データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け
US8769217B2 (en) Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file
JP2010515163A (ja) ダイレクトデータファイルメモリシステムにおけるlbaインターフェイスの管理

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090717

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090807

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091224

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100406

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100518