JP3997130B2 - メモリ管理方法 - Google Patents
メモリ管理方法 Download PDFInfo
- Publication number
- JP3997130B2 JP3997130B2 JP2002259073A JP2002259073A JP3997130B2 JP 3997130 B2 JP3997130 B2 JP 3997130B2 JP 2002259073 A JP2002259073 A JP 2002259073A JP 2002259073 A JP2002259073 A JP 2002259073A JP 3997130 B2 JP3997130 B2 JP 3997130B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- address
- memory
- unit
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、フラッシュメモリに情報をストアし、これを取出すための改良されたシステムに関し、より特定的にはフラッシュメモリに書込まれるデータを編成し、管理するシステムに関する。
【0002】
【従来の技術】
当業者には認められるように、フラッシュタイプのフローティングゲートトランジスタを含む電気的消去可能なプログラマブル読出専用メモリ(EEPROM)が当該分野で説明されており、現在市場で入手可能である。これらのいわゆるフラッシュメモリは、その機能および性能の点でEPROMメモリと類似した不揮発性メモリであり、メモリのブロックを消去する回路内プログラマブル動作を可能にするというさらなる機能を有する。フラッシュメモリでは、以前に書込まれているメモリの領域を、その領域を前もってブロック消去することなく書替えることは慣用ではない。本発明はフラッシュメモリに関して説明されるが、当業者には、その教示がフラッシュメモリと同じ書込、読出および書込前ブロック消去特性を有するデータ記憶装置にも適用できることが理解されるであろう。
【0003】
典型的なコンピュータシステムでは、オペレーティングシステムプログラムが、そのシステムの一部であるデータ記憶装置のデータ管理を担っている。オペレーティングシステムプログラムとの互換性を達成するために必要かつ通常は十分であるデータ記憶装置の属性は、これがデータ記憶媒体の如何なる位置からもデータを読出すことができ、これにデータを書込むことができることである。したがって、データが以前に書込まれているフラッシュメモリの領域には、この領域をまず消去するまではデータが書込まれ得ないため、フラッシュメモリは典型的な既存のオペレーティングシステムプログラムと互換性がない。
【0004】
オペレーティングシステムプログラムを変形することなく既存のコンピュータオペレーティングプログラムによってフラッシュメモリを管理することを可能にするソフトウェア製品が先行技術において提案されている。しかしながら、これらの先行技術のプログラムは、フラッシュメモリを「書込1回読出数回」の装置として動作させる。この先行技術のソフトウェア製品は、以前に書込まれているメモリ場所を再利用できない。最終的にすべての場所が書込まれれば、特定のユーザの介入なくさらにメモリを用いることができない。
【0005】
【発明が解決しようとする課題】
本発明のある目的は、コンピュータオペレーティングシステムにとってフラッシュメモリが如何なるフラッシュメモリ場所からもデータを読出すことができ、これにデータを書込むことができるデータ記憶装置に見えるようにフラッシュメモリへのアクセスを制御し、管理するための方法(すなわちソフトウェア、ハードウェアのファームウェア)の提供である。フラッシュメモリがランダムアクセスメモリをエミュレートすることを可能にし、既存のコンピュータオペレーティングシステムが、エミュレーション方法に依存することなく、標準的なランダムアクセスメモリによって与えられるのと同じ態様で他のすべての必要なサポートを与えることを可能にする方法を提供する。
【0006】
【課題を解決するための手段】
簡単に言えば、本発明は、書込まれていない物理アドレス場所にデータが連続的に書込まれることを可能にするフラッシュメモリ、仮想マッピングシステムの提供を企図するものである。仮想メモリマップは、メモリ内のデータの場所を追跡するためにフラッシュメモリ物理場所アドレスを関連づける。
【0007】
フラッシュメモリの物理場所は、バイトのアレイとして編成される。アレイ内の各バイトには、それによってバイトが物理的にアクセス可能となるアドレス番号が割当てられ、これを以下、物理アドレス空間と称する。アレイ内の各バイトは、仮想アドレス空間と称する第2のアドレスを有する。仮想マップと称する表が仮想アドレスを物理アドレスに変換する。ここで、仮想アドレス空間は必ずしも物理アドレス空間と同じサイズではないことに注目されたい。
【0008】
連続した固定長の物理バイト群は、ブロックからアドレスする。たとえば、ブロックサイズが512バイトとすると、物理アドレスが256211であるバイトは、ブロック500内のバイト番号211である(256211:512=500+211)。適切な先行技術のフラッシュメモリ技術を用いて物理的に消去され得る1つ以上の物理的に連続したフラッシュメモリの領域(ゾーンと称する)はユニットを含み、各ユニットは整数個のブロックを含む。
【0009】
仮想メモリマップとは、第1のエントリが仮想ブロック0に属し、第2のエントリが仮想ブロック1に属するといった具合の表である。表において各仮想ブロックアドレスと関連して、対応する物理アドレスが存在する。フラッシュメモリからの読出動作の際に、コンピュータ生成アドレスが、仮想ブロックアドレスおよびブロック内のバイト場所としてデコードされる。仮想メモリマップは、仮想ブロックアドレスを物理ブロックアドレスに変換するのに用いられる。バイト位置は仮想アドレス空間および物理アドレス空間において同じである。
【0010】
書込動作の際に、コンピュータ生成アドレスが、やはり仮想ブロックアドレスおよびブロック内のバイト場所として解釈される。仮想メモリマップはこれを物理メモリブロックアドレスに変換する。物理アドレスに対応するフラッシュメモリブロックが現在書込まれていれば、一般にはこの物理アドレスに書込むのは不可能である。したがって、書込まれていないブロックの場所が突き止められ、これに書込まれる。仮想メモリマップは、書込まれていない物理ブロックアドレスが元の仮想アドレスにマッピングされるように変えられ、そのブロックを含むユニットを消去するゾーン消去動作が行なわれるまでは元の物理アドレスは利用不可能なものとして示され、利用不可能なままである。書込動作はブロック全体が書替られることを仮定していることが認められるであろう。これが、コンピュータシステムが通常記憶媒体内のデータにアクセスする態様である。しかしながら、一般には如何なる所望の数のバイトも新しい記憶場所に書込まれ得ることが認められるであろう。
【0011】
本発明の好ましい実施例では、各ユニットに、そのユニットがフラッシュメモリ内の新しい物理アドレス場所に書替えられる際にも変わらないで維持される論理ユニットアドレスが割当てられる。仮想マップは、物理ユニットアドレスではなく論理ユニットアドレスへの参照を含み、そのためユニット転送中のデータの動きが仮想マップに影響を及ぼさない。
【0012】
各ユニットは、ユニット内のすべてのブロックの利用マップ、すなわち、もしマッピングされるのであればブロックの仮想アドレス、および空いているブロックを示し、かつ利用不可能なブロックを示す特殊文字を含む。
【0013】
以前に書込まれているフラッシュメモリの利用不可能なブロックは、利用不可能なブロックを含むメモリユニットをフラッシュメモリ内の確保されている書込まれていない空間に転送することによって再利用される。利用可能なブロックのみが転送動作において書込まれ、そのため書替えられる際に、利用不可能なブロックがあった場所は確保された空間には書替えられず、したがって利用可能である。書替えられた後、元のメモリユニット空間はユニットとしてフラッシュ消去され、したがってそこに後続の転送を行なうことができる書込まれていない確保された空間となる。
【0014】
さらに、本発明の好ましい実施例では、フラッシュメモリに仮想マップがまずストアされ、ランダムアクセスメモリには小さな二次的な仮想マップしかない。フラッシュメモリ内の仮想マップはブロック単位でストアされ、ページに編成され、そのサイズはブロック内のバイト数とそのバイト数が表わす物理ブロックアドレスの数との積に等しい。二次的ランダムアクセスメモリはページアドレスを含む。所与の仮想アドレスについてデータを読出す際に、アドレスをページサイズで割ることによってページ番号が決定される。その結果は、正しい一次仮想マップブロックを見い出すために二次仮想マップに示される。その余りは、フラッシュメモリ内にストアされた仮想マップに関する必要な物理アドレスを計算するのに用いられる。フラッシュメモリ内の仮想マップを変更するために、変更されたマップが空いたブロックに書込まれ、一次マップ場所の変更を反映するようにランダムアクセスメモリ内の二次マップが変更される。とって代わられたブロックは削除と示される。
【0015】
上述のおよび他の目的、局面および利点は、図面を参照して、以下の本発明の好ましい実施例の詳細な説明よりさらに理解されるであろう。
【0016】
【発明の実施の形態】
ここで図面の図1を参照して、典型的なシステムでは、プロセッサ10がそのオペレーティングシステムソフトウェアとともに、ランダムアクセスメモリ内の特定のアドレス場所からデータを読出し、これにデータを書込む一連の読出および書込コマンドを発行する。当業者には認められるように、ディスクメモリ等のランダムアクセス記憶装置では、データは如何なるアドレス場所にも書込まれ、またはこれから読出すことが可能である。図1のシステムでは、プロセッサ10は特定のアドレス場所においてブロック単位でフラッシュメモリ12にデータを書込み、かつこれからデータを読出す。フラッシュメモリ12のゾーンは消去され得るが、現在書込まれているアドレス場所はゾーン全体が消去されるまで書替えられない。本発明の教示に従えば、フラッシュメモリコントローラ14は完全に書替可能な仮想アドレス空間を与え、そのためフラッシュメモリ12はディスクメモリ等のランダムアクセスメモリをエミュレートし、プロセッサオペレーティングシステムソフトウェアは標準的なランダムアクセスメモリに提供するのと同じ態様で、かつフラッシュメモリ12およびそのコントローラ14に依存しない態様で、他のすべての必要な動作サポート(たとえばファイスシステム)を与える。典型的なシステムはまた、従来のランダムアクセスメモリ16を含む。コントローラ14の機能はソフトウェア、ハードウェアのファームウェアで行なわれてもよく、図面に示されるように物理的に別個のユニットとしては必ずしも存在しないことが理解されるであろう。
【0017】
ここで図2を参照して、フラッシュメモリの編成の一部が示される。フラッシュメモリは、ここではゾーンA、ゾーンB等で示されるいくつかのゾーンを有する。各ゾーンは、従来の周知のフラッシュメモリ技術を用いてブロック消去され得るいくつかの連続した物理メモリ場所を含む。ゾーンはユニットとして編成され、ここではそのうちの4つだけが図示されており、図面でユニット♯1、ユニット♯6、ユニットN−1、および転送ユニットとして示される。各ユニットは少なくとも1つのゾーンを含み、複数の連続したゾーンを含む。ここでは、各ユニットが2つのゾーン(すなわち、ユニット♯1−ゾーンAおよびゾーンB、ユニット♯2−ゾーンCおよびゾーンD、転送ユニット−ゾーンx2および2x)を含むものとして示される。
【0018】
各ユニットは整数個のアドレス可能なブロックを含み、各ブロックは連続した固定長のバイト群を含む。常に、メモリ12には書込まれていないユニット(すなわち転送ユニット)が存在し、そのため消去されるべきユニット内の活性ブロックは、そのユニットを消去する前にこの書込まれていないユニットに書込むことができる。
【0019】
次に図3を参照して、各ユニットは、ブロック番号およびブロック内のオフセットとしてアドレス指定することができる連続するバイトアドレスを含む、整数の数の連続するデータブロック21を含む。ユニットの各ブロックは、ブロック番号およびブロックでのオフセットによってアドレス指定することができるユニットを有する。各ユニットは、ユニットヘッダ23と、ユニットの各ブロックの割当状態のマップ25とを有する。ユニットヘッダ23は、フォーマット識別子と、ユニットの論理ユニット番号とを含む。ユニット転送の間データが物理的に移動しなければならないため、好ましくは、フラッシュメモリ12のユニットの物理場所が変わってもユニット番号は変化しないままである。さらに、ヘッダは、システム全体の情報も含み得る。ブロック割当マップ25は、各ブロックのために、ユニットにおけるそのブロックの状態およびオフセットを示すワードを有する。状態の表示は、「ブロックは空いており書込可能である」、「ブロックは削除され書込不可能である」、「ブロックが割当てられユーザデータを含む」、およびブロックの仮想アドレス(バックポインタ)である。
【0020】
上述のように、好ましくは、各ユニットには、メモリにおけるユニットの物理位置が変わっても変わらない論理ユニット番号が割当られる。図4に示されるように、コンピュータ10によって発生されたアドレス29は、ブロック番号およびブロックオフセットを含む。これらのアドレスはフラッシュコントローラ14によって仮想アドレスとして解釈され、仮想マップを用いて仮想アドレス空間と物理アドレス空間とを一致させるようにされる。仮想マップはブロックが書替られると変化し、したがって、仮想アドレス空間は動的なものである。なお、いかなる所与の時間にも、仮想アドレス空間における1つまたは複数のブロックが物理アドレス空間にマッピングされていなくてもよく、さらに、物理アドレス空間におけるブロックが書込まていなくてもよくしたがって自由に書込まれ得ることにも注目されたい。
【0021】
書込まれていないユニット空間へのユニット転送の間データが物理的に動くため、ユニットには、メモリにおけるユニットの物理場所が変わっても変わらない論理ユニット番号が割当られる。2レベルのアドレス変換の第1の段階において、仮想マップ31はブロック番号を論理ユニットアドレスにマッピングする。物理アドレスが物理ユニット番号に関するアドレスであるのと同様に、論理ユニットアドレスは論理ユニット番号に関するアドレスである。論理ユニット番号は、論理アドレスの高次2進数字であり、ビットシフト動作によって論理アドレスから引出され得る。マップ31から得られた論理アドレス33は、ユニット内のブロックのオフセットとともに論理ユニット番号を含む。
【0022】
論理ユニット表35は、論理ユニット番号を論理ユニットに関する物理ユニット番号に変換する。この2段階のアドレス変換手順により、ユニットが新しい物理位置に移動したときにマップのブロックアドレスを変える必要がなくなる。
【0023】
読出動作において、仮想アドレス29は、たとえば、最初にアドレスブロックにおいて論理ユニット番号およびユニット内のブロックオフセットにマッピングされるブロックアドレスを含む。マップ35は、ユニット番号33を、ユニットに関する物理アドレス37、およびユニット内のブロックのアドレス37のオフセットにマッピングし、アドレス指定されたデータブロックがこの物理的な場所から読出される。ここで、データは、典型的に行なわれるように、ブロックごとに読取られかつ書込まれると仮定する。もちろん、データは、必要であれば、同じ原理を用いてバイトごとに書込まれかつ読出されてもよい。図5は、この読出動作を説明するためのフロー図である。上述のように、2段階のアドレス変換の第1の段階で、仮想アドレス29は論理アドレスにマッピングされる(ブロック40)。第2の段階で、ブロック41において、論理アドレスはフラッシュメモリの物理アドレスにマッピングされる。ブロック42においてこの物理アドレスのデータが読出され、これによってこの動作が終了する。
【0024】
書込動作では、仮想アドレス29はここでも最初に論理ユニット番号およびユニット内のブロックオフセットにマッピングされる。コントローラ14のアルゴリズムによって、このユニットに関するブロック割当マップ25が調べられる。このアドレスに対応するブロックが既に書込まれていれば、対応する物理アドレスでは書込コマンドが実行できない。空きブロックが位置決めされるまで、制御アルゴリズムによって各ユニットに関するブロック割当マップ25が走査される。最初のユニットアドレスでのブロックマップ25におけるブロックの状態は割当マップにおいてブロックの削除に変えられ、空きブロックの状態は書込に変えられる。今最初の仮想アドレスが書込動作が行なわれる予定の新しい論理アドレスを指すように、仮想マップ31が更新される。この論理アドレスは、上述のような態様で物理アドレスにマッピングされ、ブロックがこのアドレスに書込まれる。図6は、この書込動作を説明するためのフロー図である。書込動作では、ブロック45で仮想アドレス29が論理ユニットアドレスにマッピングされ、ブロック46でユニットに関するユニット割当てが調べられる。判定ブロック47でユニットアドレスが空いていれば、ブロック48でユニットアドレスは物理アドレスにマッピングされ、ブロック49でこの物理アドレスにデータが書込まれ、動作が終了する。論理アドレスが空いていなければ(ブロック47)、ブロック50で、ユニット表が走査され、ユニット割当表において空きアドレスを位置決めする。ブロック51でこの新しい論理アドレスは物理アドレスにマッピングされ、ブロック52でこの物理アドレスにデータが書込まれる。ユニット割当表は、最初のブロックが削除され書込不可能であり、新しいブロックが割当てられユーザデータを含むことを示すように更新される(ブロック53)。その後、ブロック54およびブロック55で、仮想/論理アドレスマップは、最初の仮想アドレスに対応するデータの新しい物理アドレスを指すように更新される。
【0025】
読出動作および書込動作を制限なく継続させることができるようにするために、物理メモリ空間は周期的に再利用される。上述のように、メモリの少なくとも1つのユニットが、その全体が空きブロックからなりかつ転送ユニットとして働くように、常に確保される。
【0026】
次に図7を参照して、活性ユニットが選択され(ここでは、ユニット♯M)、現在マッピングされているすべての活性ブロックが読出されその後転送ユニットに書込まれる。選択されたユニット♯Mはその後ブロック消去され、転送ユニットとなり、活性ブロックが書込まれている転送ユニットはこの例ではユニット♯Mとなる。図7は、転送動作の前後のユニットの状態を示している。図8は、この転送動作のフロー図である。転送動作において、ブロック60で転送のためのユニットが選択され、ブロック61で、選択されたユニットの活性データブロックが読出される。その後、ブロック62で、これらの活性データブロックは、それらの活性データブロックが最初のユニットで配置されていた場所に対応する、転送ユニットの場所に書込まれる。その後、ブロック63で、選択された最初のユニットがフラッシュ消去され、ブロック64で、選択されたユニットが転送ユニットとなり転送ユニットに選択されたユニットのユニット番号が割当てられるように、論理/物理アドレスマップが変えられる。
【0027】
以上のように説明したシステムには、その内容が自由に更新される仮想マップが必要であり、そのようなマップは従来のランダムアクセスメモリにストアされ得る。しかし、たとえば、ブロックサイズが512バイトであると仮定すると、仮想マップが各ブロックのためにエントリを含み、各エントリがたとえば4バイト長(すなわち、4ギガバイトのメモリまでアドレス指定できる長さ)であってもよいため、80Mバイトのフラッシュメモリでは、マップ表をストアするために640Kバイトのメモリが必要であろう。仮想マップをストアするのに必要なランダムアクセスメモリの量を制限するために、本発明の好ましい実施例では、マップデータの主要部分がフラッシュメモリ12自体にストアされ、仮想アドレスをコンピュータから一次仮想マップにマッピングする二次仮想マップがメモリ16のようなランダムアクセスメモリにストアされる。ここで、重要なポイントは、二次仮想マップの構成によって、仮想マップの読出および書込のための手順が、上述のような通常のデータの読出および書込のための手順と同一にされることである。上述の説明におけるユーザデータおよびランダムアクセスメモリにストアされた仮想マップ(すなわち、二次仮想マップ)と同じ態様で扱われる仮想マップ自体は、上述の説明における仮想マップと同等のものである。
【0028】
本実施例では、仮想マップはフラッシュメモリ12の負の仮想アドレスにあり、通常の空間は仮想アドレス0で始まる。仮想マップは、フラッシュメモリにある仮想マップを通常のユーザデータと同様に読出しかつ書込むことができるようにするように、仮想マップ自体によって用いられる負のアドレスをマッピングし、それ自体をマッピングする仮想マップの一部分(すなわち、二次仮想マップ)だけがランダムアクセスメモリにある。
【0029】
簡略化された例では、6000バイトの仮想マップが12個の仮想マップブロックにストアされ、その各々のブロックが512バイトであると仮定する。アドレスが4バイトであると仮定すると、各ブロックは128個の物理アドレスをストアすることができる。したがって、各ブロックは、仮想フラッシュメモリの64Kバイトのアドレスを含む。仮想フラッシュメモリのアドレスからなる各ブロックはページとして考えられ、ランダムアクセスメモリは、アドレスブロックにマッピングされるページアドレス(この例では、48バイトだけ)をストアする。所与の仮想アドレスからデータを読出す際に、アドレスはページサイズ(64Kバイト)で除算され、アドレスがストアされる一次仮想マップのページブロックにマッピングする二次仮想メモリのページ番号が得られる。仮想メモリページブロックを用いて、特定のフラッシュメモリの物理アドレスにマッピングする手順を、上述の態様で行なうことができる。たとえば、仮想アドレスをページサイズで除算した後、その剰余を仮想メモリブロックサイズ(たとえば、512)で除算してフラッシュメモリから読出されるアドレスのアレイに対するインデックスを得ることができる。
【0030】
所与の仮想アドレスにデータを書込む際に、コンピュータによって発生されたアドレスもページサイズで除算され、フラッシュメモリの二次仮想マップに対するインデックスが得られる。二次仮想マップは、一次仮想マップブロックが読出される一次仮想マップにマッピングし、これは、読出される、アドレス指定された物理ブロックにマッピングするのに用いられる。このブロックは書替えすることができないため、書込みされていないブロックが識別され、そこに、削除として示される最初のデータブロックが上述の態様で書込まれる。フラッシュメモリにある仮想マップを更新するために、本質的に同じ手順がその後に行なわれる。アドレスデータの新しい物理場所を反映するように変形された形の仮想マップブロックは、フラッシュメモリの書込みされていないブロックに書込まれ、古いブロックは削除として示される。ランダムアクセスメモリの二次仮想メモリは、必要に応じて、一次仮想メモリブロックの場所の変化を反映するように変えられる。
【0031】
図9は、この動作のフロー図である。このプロセスの第1のステップは、ブロック70で仮想アドレスをページ番号に変換し、ブロック71で、ページ番号を用いてフラッシュメモリ12にストアされた仮想マップの関連するページブロックのアドレスをRAM16において位置決めすることである。このアドレスでの仮想マップのページブロックは、フラッシュメモリから読出され(ブロック72)、上述の態様で用いられて、データ読出動作またはデータ書込動作のために仮想アドレスに対応する物理アドレスを位置決めする。データ書込動作では、ブロック73で仮想マップのページブロックを更新しなければならず、ブロック74で、更新されたページブロックの仮想マップはフラッシュメモリの空き物理アドレス場所に書込まれる。ブロック75で、ページブロックの仮想マップが配置されていた最初のフラッシュメモリアドレスが削除として示され、ブロック76で、RAMメモリ16は、更新されたマップに関する仮想/物理マップアドレスを指すように更新される。
【0032】
仮想マップは、システムの始動の際に容易に再構成することができる。フラッシュメモリにある仮想マップは不揮発性であり、再構成する必要はない。揮発性ランダムアクセスメモリにある二次仮想マップは、始動時に各ユニットの頂部にあるブロック利用マップを走査することによって再構成することができる。仮想アドレスにマッピングされたとして示されたブロックが識別され、それに応じて二次仮想マップが構成される。
【0033】
以上、本発明を1つの好ましい実施例に関して説明したが、前掲の特許請求の範囲の精神および範囲内で本発明に変形を加えることができることが当業者により認識されるであろう。
【図面の簡単な説明】
【図1】 図1は、本発明の教示に従うシステムの一実施例のシステムの機能的構成要素を示すブロック図である。
【図2】 図2は、本発明の教示に従うフラッシュメモリ編成の1レベルの図的表現である。
【図3】 図3は、ユニットが如何にフォーマット化されるかを示す図的表現である。
【図4】 図4は、コンピュータ生成アドレスが物理アドレスに如何にマッピングされるかを示す図的表現である。
【図5】 図5は、読出動作を示すフロー図である。
【図6】 図6は、書込動作を示すフロー図である。
【図7】 図7は、転送動作の前および後のユニットの状態を示す図的表現である。
【図8】 図8は、転送動作のフロー図である。
【図9】 図9は、仮想−物理マップの大部分がフラッシュメモリ内にストアされる動作を示すフロー図である。
【符号の説明】
10 プロセッサ、12 フラッシュメモリ、14 フラッシュメモリコントローラ、16 ランダムアクセスメモリ、21 データブロック、23 ユニットヘッダ、25 ブロック割当マップ、29 仮想アドレス、31 仮想マップ、33 論理アドレス、35 論理ユニット表、37 物理アドレス
Claims (8)
- 書込まれていない物理メモリ場所のみにデータを書込むことが可能であり、連続メモリ場所のゾーンを同時に消去可能なメモリのためのメモリ管理方法であって、
前記メモリを各々が少なくとも1つのゾーンを含む複数のユニットに編成するステップと、
各ユニットを複数のブロックに編成するステップとを含み、前記ブロックの各々は複数の連続物理メモリ場所からなり、
ユニットの各ブロックの状態を活性書込、非書込または削除として示す、各ユニットのための割当表を確立するステップと、
仮想アドレスを物理アドレスにマッピングするための表を確立するステップとを含み、
前記メモリの仮想アドレスにデータを書込む際には
(a) 前記仮想アドレスをユニットの物理ブロックアドレスにマッピングするステップと、
(b) サブパラグラフ(a)で前記仮想アドレスがマッピングされた前記ユニットの前記割当表を調べて前記物理ブロックアドレスのブロックの状態が活性書込であるか非書込であるかを判断するステップとを含み、
(c) 前記物理ブロックアドレスの前記ブロックが活性書込状態であれば
(1) 前記ユニットの少なくとも1つの前記割当表を調べて非書込ブロックアドレスを識別するステップと、
(2) 前記データを前記メモリの前記非書込ブロックアドレスに書込むステップと、
(3) 前記仮想アドレスがマッピングされた前記ユニットの前記割当表を変更して前記物理ブロックアドレスを削除として示すステップと、
(4) パラグラフ(c)(2)において前記データが書込まれたユニットの前記割当表を変更して前記データが書込まれた前記非書込ブロックアドレスを活性書込と示すステップと、
(5) 前記表を変更して仮想アドレスを物理アドレスにマッピングし、前記表が前記仮想アドレスを、ステップ(c)(2)で前記データが書込まれた前記非書込ブロックの物理アドレスにマッピングするようにさせるステップとを含む、メモリ管理方法。 - 前記ユニットのすべてのブロックが非書込である前記メモリ内の少なくとも1つの転送ユニットを確立するステップと、
前記少なくとも1つの転送ユニット以外の、消去されるべき選択されたユニットを周期的に識別するステップと、
前記選択されたユニットの各活性書込ブロックを読出すステップと、
前記選択されたユニットの各活性書込ブロックを前記少なくとも1つの転送ユニットに書込むステップと、
前記1つの転送ユニットの前記割当表を更新してすぐ前の書込ステップで書込まれたブロックの状態を活性書込と示すステップと、
前記選択されたユニットを消去するステップと、
仮想アドレスを物理アドレスにマッピングするための前記表を更新して前記選択されたユニットが前記1つの転送ユニットに置換され前記選択されたユニットが別の前記少なくとも1つの転送ユニットになったことを示すステップとをさらに含む、請求項1に記載のメモリ管理方法。 - 書込まれていない物理メモリ場所にのみデータを書込むことが可能であり、連続するメモリ場所からなるゾーンを同時に消去可能なメモリのためのメモリ管理方法であって、
前記メモリにコンピュータから与えられた仮想アドレスを前記メモリの物理メモリ場所を示す物理アドレスにマッピングする第1の表を記憶するステップを含み、前記第1の表は複数のページ−アドレス可能ブロックとして編成されており、
さらに
ランダムアクセスメモリ内に、ページアドレスを前記メモリ内の前記ページ−アドレス可能ブロックの物理アドレスにマッピングする第2の表を記憶するステップと、
前記メモリ内に記憶された前記第1の表のページ−アドレス可能ブロックを、変更されたページ−アドレス可能ブロックを非書込物理ブロック場所に書込むことによって変更するステップと、
前記変更されたページ−アドレス可能ブロックのページアドレスを前記変更されたページ−アドレス可能ブロックが書込まれた非書込物理ブロック場所へマッピングするように、前記ランダムアクセスメモリ内に記憶された前記第2の表を更新するステップとを含む、メモリ管理方法。 - 書込まれていない物理メモリ場所にのみデータを書込むことが可能であり、連続メモリ場所のゾーンを同時に消去可能なメモリのためのメモリ管理方法であって、
メモリを各々が少なくとも1つのゾーンを含む複数のユニットに編成するステップと、
各ユニットを複数のブロックに編成するステップとを含み、前記ブロックの各々は複数の連続物理メモリ場所からなり、
仮想アドレスを物理アドレスにマッピングする第1の表を確立するステップと、
前記メモリ内に複数のページ−アドレス可能ブロックとして編成された前記第1の表を記憶させるステップと、
ランダムアクセスメモリ内に、ページを、前記メモリ内にストアされた前記ページ−アドレス可能ブロックの物理アドレスにマッピングする第2の表を記憶するステップとを含み、
前記メモリの仮想アドレスにデータを書込む際には
(a) 前記仮想アドレスからページアドレスを引出すステップと、
(b) 前記ページアドレスを前記メモリ内のページ−アドレス可能ブロックにマッピングするステップと、
(c) 前記ページ−アドレス可能ブロックを読出すステップと、
(d) 前記ページ−アドレス可能ブロックに基づき、前記仮想アドレスを物理アドレスにマッピングするステップとを含み、
(e) 前記物理アドレスの前記ブロックが活性書込状態であれば、
(1) 前記データを前記メモリの非書込ブロックアドレスに書込むステップと、
(2) 前記ページ−アドレス可能ブロックを変更して前記第1の表が前記仮想アドレスをステップ(e)(1)で前記データが書込まれた非書込ブロックの物理アドレスにマッピングするようにさせるステップと、
(3) ステップ(e)(2)からの変更されたページ−アドレス可能ブロックを前記メモリ内の非書込物理ブロック場所に書込むステップと、
(4) 前記ランダムアクセスメモリに記憶された前記第2の表を更新して、変更されたページ−アドレス可能ブロックのページアドレスを前記非書込物理ブロック場所にマッピングさせるステップとを含む、メモリ管理方法。 - 書込まれていない物理メモリ場所のみにデータを書込むことが可能であり、連続メモリ場所のゾーンを同時に消去可能なメモリのためのメモリ管理方法であって、
前記メモリを各々が少なくとも1つのゾーンを含む複数のユニットに編成するステップと、
各ユニットを複数のブロックに編成するステップとを含み、前記ブロックの各々は複数の連続物理メモリ場所からなり、
ユニット内の各ブロック状態を活性書込、非書込または削除として示す割当表を各ユニットについて確立するステップと、
仮想アドレスを物理アドレスにマッピングするための表を確立するステップとを含み、
前記メモリの仮想アドレスにデータを書込む際には、
(a) 前記仮想アドレスをユニット内の物理ブロックアドレスにマッピングするステップと、
(b) サブパラグラフ(a)で前記仮想アドレスがマッピングされた前記ユニットの前記割当表を調べて前記物理ブロックアドレスのブロックの状態を活性書込または非書込と判断するステップとを含み、
(c) 前記物理ブロックアドレスの前記ブロックが活性書込状態であれば
(1) 前記ユニットの少なくとも1つの前記割当表を調べて非書込ブロックアドレスを識別するステップと、
(2) 前記メモリの前記非書込ブロックアドレスに前記データを書込むステップと、
(3) 前記仮想アドレスがマッピングされた前記ユニットの前記割当表を変更して前記物理ブロックアドレスを削除と示すステップと、
(4) パラグラフ(c)(2)で前記データが書込まれたユニットの前記割当表を変更して前記データが書込まれた前記非書込ブロックアドレスを活性書込と示すステップと、
(5) 前記表を変更して仮想アドレスを物理アドレスにマッピングし、前記表が前記仮想アドレスをステップ(c)(2)において前記データが書込まれた前記非書込ブロックの物理アドレスにマッピングするようにさせるステップとを含み、
前記メモリの仮想アドレスからデータを読出す際には
(d) 前記仮想アドレスをユニットの物理ブロックアドレスにマッピングするステップと、
(e) 前記メモリの前記物理アドレスから前記データを読出すステップとを含む、メモリ管理方法。 - 前記ユニットのすべてのブロックが書込まれていない前記メモリにおいて少なくとも1つの転送ユニットを確立するステップと、
前記少なくとも1つの転送ユニット以外の、消去されるべき選択されたユニットを周期的に識別するステップと、
前記選択されたユニットの各活性書込ブロックを読出すステップと、
前記選択されたユニットの各活性書込ブロックを前記少なくとも1つの転送ユニットに書込むステップと、
前記1つの転送ユニットの前記割当表を更新してすぐ前の書込ステップで書込まれたブロックの状態を書込と示すステップと、
前記選択されたユニットを消去するステップと、
前記表を更新して仮想アドレスを物理アドレスにマッピングし、前記選択されたユニットが前記1つの転送ユニットに置換され、前記選択されたユニットが別の前記少なくとも1つの転送ユニットになったことを示すステップとをさらに含む、請求項5に記載のメモリ管理方法。 - 書込まれていない物理メモリ場所のみにデータを書込むことが可能であり、連続メモリ場所のゾーンを同時に消去可能なメモリのためのメモリ管理方法であって、
前記メモリを各々が少なくとも1つのゾーンを含む複数のユニットに編成するステップと、
各ユニットを複数のブロックに編成するステップとを含み、前記ブロックの各々は複数の連続物理メモリ場所からなり、
仮想アドレスを物理アドレスにマッピングする第1の表を確立するステップと、
複数のページ−アドレス可能ブロックとして編成された前記第1の表を前記メモリに記憶するステップと、
ランダムアクセスメモリ内に、ページを、前記メモリ内にストアされた前記ページ−アドレス可能ブロックの物理アドレスにマッピングする第2の表を記憶するステップとを含み、
前記メモリの仮想アドレスにデータを書込む際には
(a) 前記仮想アドレスからページアドレスを引出すステップと、
(b) 前記ページアドレスを前記メモリのページ−アドレス可能ブロックにマッピングするステップと、
(c) 前記ページ−アドレス可能ブロックを読出すステップと、
(d) 前記ページ−アドレス可能ブロックに基づき、前記仮想アドレスを物理アドレスにマッピングするステップとを含み、
(e) 前記物理アドレスの前記ブロックが活性書込状態であれば
(1) 前記データを前記メモリの非書込ブロックアドレスに書込むステップと、
(2) 前記ページ−アドレス可能ブロックを変更して前記第1の表が仮想アドレスをステップ(e)(1)で前記データが書込まれた非書込ブロックの物理アドレスにマッピングするようにさせるステップと、
(3) ステップ(e)(2)からの変更されたページ−アドレス可能ブロックを前記メモリ内の非書込物理ブロック場所に書込むステップと、
(4) 前記ランダムアクセスメモリ内に記憶された前記第2の表を更新してこれが変更されたページ−アドレス可能ブロックのページアドレスを前記非書込物理ブロック場所にマッピングするようにさせるステップとを含み、
前記メモリの仮想アドレスからデータを読出す際には
(a) 前記仮想アドレスからページアドレスを引出すステップと、
(b) 前記ページアドレスを前記メモリ内のページ−アドレス可能ブロックにマッピングするステップと、
(c) 前記ページ−アドレス可能ブロックを読出すステップと、
(d) 前記ページ−アドレス可能ブロックに基づき、前記仮想アドレスを物理アドレスにマッピングするステップと、
(e) 前記メモリの前記物理アドレスから前記データを読出すステップとを含む、メモリ管理方法。 - 前記ユニットのすべてのブロックが書込まれていない前記メモリの少なくとも1つの転送ユニットを確立するステップと、
前記少なくとも1つの転送ユニット以外の、消去されるべき選択されたユニットを周期的に識別するステップと、
前記選択されたユニット内の各書込ブロックを読出すステップと、
前記選択されたユニットの各書込ブロックを前記少なくとも1つの転送ユニットに書込むステップと、
前記1つの転送ユニットのブロックの状態を示す割当表を更新してすぐ前の書込ステップで書込まれたブロックの状態を書込と示すステップと、
前記選択されたユニットを消去するステップと、
仮想アドレスを物理アドレスにマッピングするための前記第1および第2の表を更新して、前記選択されたユニットが前記1つの転送ユニットで置換され、前記選択されたユニットが別の前記少なくとも1つの転送ユニットになったことを示すステップとをさらに含む、請求項7に記載のメモリ管理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/027,131 US5404485A (en) | 1993-03-08 | 1993-03-08 | Flash file system |
US08/027,131 | 1993-03-08 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6520018A Division JPH08510072A (ja) | 1993-03-08 | 1994-02-28 | フラッシュファイルシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003085037A JP2003085037A (ja) | 2003-03-20 |
JP3997130B2 true JP3997130B2 (ja) | 2007-10-24 |
Family
ID=21835870
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6520018A Pending JPH08510072A (ja) | 1993-03-08 | 1994-02-28 | フラッシュファイルシステム |
JP2002259073A Expired - Lifetime JP3997130B2 (ja) | 1993-03-08 | 2002-09-04 | メモリ管理方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6520018A Pending JPH08510072A (ja) | 1993-03-08 | 1994-02-28 | フラッシュファイルシステム |
Country Status (12)
Country | Link |
---|---|
US (1) | US5404485A (ja) |
EP (1) | EP0688450B1 (ja) |
JP (2) | JPH08510072A (ja) |
KR (1) | KR100292011B1 (ja) |
CN (1) | CN1078364C (ja) |
AU (1) | AU6269994A (ja) |
DE (1) | DE69414556T2 (ja) |
FI (1) | FI105726B (ja) |
IL (1) | IL108766A (ja) |
TW (1) | TW264547B (ja) |
WO (1) | WO1994020906A1 (ja) |
ZA (1) | ZA941446B (ja) |
Families Citing this family (564)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5581723A (en) * | 1993-02-19 | 1996-12-03 | Intel Corporation | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array |
US5519843A (en) * | 1993-03-15 | 1996-05-21 | M-Systems | Flash memory system providing both BIOS and user storage capability |
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 |
US6311286B1 (en) * | 1993-04-30 | 2001-10-30 | Nec Corporation | Symmetric multiprocessing system with unified environment and distributed system functions |
US5600821A (en) * | 1993-07-28 | 1997-02-04 | National Semiconductor Corporation | Distributed directory for information stored on audio quality memory devices |
US5640529A (en) * | 1993-07-29 | 1997-06-17 | Intel Corporation | Method and system for performing clean-up of a solid state disk during host command execution |
JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
US5784706A (en) * | 1993-12-13 | 1998-07-21 | Cray Research, Inc. | Virtual to logical to physical address translation for distributed memory massively parallel processing systems |
EP0663636B1 (en) * | 1994-01-12 | 2001-10-31 | Sun Microsystems, Inc. | Logically addressable physical memory for a virtual memory computer system that supports multiple page sizes |
US5696917A (en) * | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
US5765175A (en) * | 1994-08-26 | 1998-06-09 | Intel Corporation | System and method for removing deleted entries in file systems based on write-once or erase-slowly media |
ES2101584T3 (es) * | 1994-09-30 | 1997-07-01 | Sel Alcatel Ag | Metodo de gestion de una memoria instantanea. |
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
JP2669365B2 (ja) * | 1994-11-24 | 1997-10-27 | 日本電気株式会社 | 書換え可能なromファイル装置 |
JP3464836B2 (ja) * | 1995-01-19 | 2003-11-10 | 富士通株式会社 | 記憶装置のメモリ管理装置 |
AU692670B2 (en) * | 1995-02-10 | 1998-06-11 | Aristocrat Technologies Australia Pty Limited | Dram emulator |
AUPN105495A0 (en) * | 1995-02-10 | 1995-03-09 | Aristocrat Leisure Industries Pty Ltd | Dram emulator |
JP3706167B2 (ja) * | 1995-02-16 | 2005-10-12 | 株式会社ルネサステクノロジ | 半導体ディスク装置 |
JP2671860B2 (ja) | 1995-03-30 | 1997-11-05 | 日本電気株式会社 | フラッシュメモリ用ファイルシステム |
JPH08328762A (ja) * | 1995-06-06 | 1996-12-13 | Mitsubishi Electric Corp | 半導体ディスク装置及びそのメモリ管理方法 |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5930815A (en) * | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6978342B1 (en) * | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US8171203B2 (en) * | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
DE29513792U1 (de) * | 1995-08-28 | 1995-10-12 | Siemens AG, 80333 München | Prozessoreinheit |
GB2291990A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
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 |
JPH0997206A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP3727983B2 (ja) * | 1995-09-28 | 2005-12-21 | キヤノン株式会社 | 電子カメラ |
JP3703181B2 (ja) * | 1995-09-28 | 2005-10-05 | キヤノン株式会社 | フラッシュrom管理方法及び装置 |
JPH0997207A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JPH0997314A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | Icカード装置 |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US6014724A (en) * | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5987478A (en) * | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
US5829013A (en) | 1995-12-26 | 1998-10-27 | Intel Corporation | Memory manager to allow non-volatile memory to be used to supplement main memory |
US5978808A (en) * | 1995-12-27 | 1999-11-02 | Intel Corporation | Virtual small block file manager for flash memory array |
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5787445A (en) * | 1996-03-07 | 1998-07-28 | Norris Communications Corporation | Operating system including improved file management for use in devices utilizing flash memory as main memory |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US5896393A (en) * | 1996-05-23 | 1999-04-20 | Advanced Micro Devices, Inc. | Simplified file management scheme for flash memory |
US5848420A (en) * | 1996-06-14 | 1998-12-08 | Eastman Kodak Company | System and method for accessing data of a digital camera from a personal computer |
KR980013092A (ko) * | 1996-07-29 | 1998-04-30 | 김광호 | 교환시스템의 화일관리장치 및 방법 |
FR2752072B1 (fr) * | 1996-08-01 | 1999-01-29 | Solaic Sa | Carte a circuit integre comportant des fichiers classes selon une arborescence |
JPH10124381A (ja) * | 1996-10-21 | 1998-05-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US6182188B1 (en) | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5937434A (en) * | 1997-02-14 | 1999-08-10 | Intel Corporation | Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6311290B1 (en) | 1997-02-14 | 2001-10-30 | Intel Corporation | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5982553A (en) | 1997-03-20 | 1999-11-09 | Silicon Light Machines | Display device incorporating one-dimensional grating light-valve array |
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 |
US5943692A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
JP3104646B2 (ja) * | 1997-06-04 | 2000-10-30 | ソニー株式会社 | 外部記憶装置 |
GB2328531A (en) * | 1997-08-23 | 1999-02-24 | Ibm | Storing a long record in a set of shorter keyed records |
DE19740525C1 (de) * | 1997-09-15 | 1999-02-04 | Siemens Ag | Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
WO1999030239A1 (fr) * | 1997-12-05 | 1999-06-17 | Tokyo Electron Limited | Memoire et procede d'acces |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
US6101036A (en) | 1998-06-23 | 2000-08-08 | Silicon Light Machines | Embossed diffraction grating alone and in combination with changeable image display |
US6130770A (en) | 1998-06-23 | 2000-10-10 | Silicon Light Machines | Electron gun activated grating light valve |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
US6303986B1 (en) | 1998-07-29 | 2001-10-16 | Silicon Light Machines | Method of and apparatus for sealing an hermetic lid to a semiconductor die |
JP4046877B2 (ja) | 1998-12-14 | 2008-02-13 | 株式会社ルネサステクノロジ | 一括消去型不揮発性メモリおよび携帯電話 |
US6314557B1 (en) | 1998-12-14 | 2001-11-06 | Infineon Technologies Development Center Tel Aviv Ltd | Hybrid computer programming environment |
KR20000041291A (ko) * | 1998-12-22 | 2000-07-15 | 김영환 | 이동통신 시스템에서 방문 이동 가입자의 데이터 관리 방법 |
FR2787901B1 (fr) * | 1998-12-28 | 2001-02-09 | Bull Sa | Organisation memoire par zones physiques |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
CA2267484C (en) | 1999-03-30 | 2002-03-05 | Object Technology International Inc. | Reclaiming memory from deleted applications |
US6148354A (en) * | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
AU2006200756B2 (en) * | 1999-04-05 | 2008-04-03 | Sandisk Il Ltd | A USB flash memory device for connecting to a USB-defined BUS |
US6282605B1 (en) | 1999-04-26 | 2001-08-28 | Moore Computer Consultants, Inc. | File system for non-volatile computer memory |
KR100330164B1 (ko) | 1999-04-27 | 2002-03-28 | 윤종용 | 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법 |
KR100544175B1 (ko) * | 1999-05-08 | 2006-01-23 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
US7830666B2 (en) | 2000-01-06 | 2010-11-09 | Super Talent Electronics, Inc. | Manufacturing process for single-chip MMC/SD flash memory device with molded asymmetric circuit board |
US8625270B2 (en) | 1999-08-04 | 2014-01-07 | Super Talent Technology, Corp. | USB flash drive with deploying and retracting functionalities using retractable cover/cap |
US7447037B2 (en) * | 1999-08-04 | 2008-11-04 | Super Talent Electronics, Inc. | Single chip USB packages by various assembly methods |
US7535719B2 (en) * | 1999-08-04 | 2009-05-19 | Super Talent Electronics, Inc. | Single chip USB packages with contact-pins cover |
US7872871B2 (en) * | 2000-01-06 | 2011-01-18 | Super Talent Electronics, Inc. | Molding methods to manufacture single-chip chip-on-board USB device |
US8141240B2 (en) | 1999-08-04 | 2012-03-27 | Super Talent Electronics, Inc. | Manufacturing method for micro-SD flash memory card |
US7318117B2 (en) | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US7466556B2 (en) * | 1999-08-04 | 2008-12-16 | Super Talent Electronics, Inc. | Single chip USB packages with swivel cover |
US20080209114A1 (en) * | 1999-08-04 | 2008-08-28 | Super Talent Electronics, Inc. | Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
US7690031B2 (en) * | 2000-01-06 | 2010-03-30 | Super Talent Electronics, Inc. | Managing bad blocks in flash memory for electronic data flash card |
US8102662B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | USB package with bistable sliding mechanism |
KR100577380B1 (ko) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
KR100703680B1 (ko) * | 1999-10-14 | 2007-04-05 | 삼성전자주식회사 | 플래시 파일 시스템 |
CN1088218C (zh) * | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US6643731B2 (en) * | 1999-12-31 | 2003-11-04 | Texas Instruments Incorporated | Low cost memory management that resists power interruption |
US7702984B1 (en) | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | High volume testing for USB electronic data flash cards |
US20060161725A1 (en) * | 2005-01-20 | 2006-07-20 | Lee Charles C | Multiple function flash memory system |
US20080286990A1 (en) * | 2003-12-02 | 2008-11-20 | Super Talent Electronics, Inc. | Direct Package Mold Process For Single Chip SD Flash Cards |
US6424975B1 (en) | 2000-01-07 | 2002-07-23 | Trg Products, Inc. | FAT file system in palm OS computer |
US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
EP1130516A1 (en) * | 2000-03-01 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Address mapping in solid state storage device |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
US7113432B2 (en) | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US6473845B1 (en) * | 2000-09-28 | 2002-10-29 | Hewlett-Packard Company | System and method for dynamically updating memory address mappings |
KR100644602B1 (ko) * | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
US6986030B2 (en) | 2000-10-27 | 2006-01-10 | M-Systems Flash Disk Pioneers Ltd. | Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program |
US7606733B2 (en) * | 2000-10-27 | 2009-10-20 | Sandisk Il Ltd. | Account portability for computing |
US7373656B2 (en) * | 2000-10-27 | 2008-05-13 | Sandisk Il Ltd. | Automatic configuration for portable devices |
US7028165B2 (en) * | 2000-12-06 | 2006-04-11 | Intel Corporation | Processor stalling |
KR100365725B1 (ko) | 2000-12-27 | 2002-12-26 | 한국전자통신연구원 | 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6510488B2 (en) | 2001-02-05 | 2003-01-21 | M-Systems Flash Disk Pioneers Ltd. | Method for fast wake-up of a flash memory system |
US6938144B2 (en) | 2001-03-22 | 2005-08-30 | Matsushita Electric Industrial Co., Ltd. | Address conversion unit for memory device |
US6707591B2 (en) | 2001-04-10 | 2004-03-16 | Silicon Light Machines | Angled illumination for a single order light modulator based projection system |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6591330B2 (en) | 2001-06-18 | 2003-07-08 | M-Systems Flash Disk Pioneers Ltd. | System and method for flexible flash file |
US6747781B2 (en) | 2001-06-25 | 2004-06-08 | Silicon Light Machines, Inc. | Method, apparatus, and diffuser for reducing laser speckle |
US6782205B2 (en) | 2001-06-25 | 2004-08-24 | Silicon Light Machines | Method and apparatus for dynamic equalization in wavelength division multiplexing |
US7024532B2 (en) * | 2001-08-09 | 2006-04-04 | Matsushita Electric Industrial Co., Ltd. | File management method, and memory card and terminal apparatus that make use of the method |
US6829092B2 (en) | 2001-08-15 | 2004-12-07 | Silicon Light Machines, Inc. | Blazed grating light valve |
US7356641B2 (en) * | 2001-08-28 | 2008-04-08 | International Business Machines Corporation | Data management in flash memory |
US6760805B2 (en) * | 2001-09-05 | 2004-07-06 | M-Systems Flash Disk Pioneers Ltd. | Flash management system for large page size |
GB0123417D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123421D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123419D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
GB0123410D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
US7299463B2 (en) | 2001-09-28 | 2007-11-20 | Intel Corporation | Method for atomically updating a plurality of files |
GB0123416D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6977847B2 (en) * | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
JP3967121B2 (ja) * | 2001-12-11 | 2007-08-29 | 株式会社ルネサステクノロジ | ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム |
DE10163342A1 (de) * | 2001-12-21 | 2003-07-10 | Elektro Beckhoff Gmbh Unterneh | Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US6800238B1 (en) | 2002-01-15 | 2004-10-05 | Silicon Light Machines, Inc. | Method for domain patterning in low coercive field ferroelectrics |
US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6621739B2 (en) * | 2002-01-18 | 2003-09-16 | Sandisk Corporation | Reducing the effects of noise in non-volatile memories through multiple reads |
US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
AU2003218299A1 (en) * | 2002-03-19 | 2003-10-08 | Michael Bucci | Device and method for throwing motion training |
US6767751B2 (en) | 2002-05-28 | 2004-07-27 | Silicon Light Machines, Inc. | Integrated driver process flow |
US6728023B1 (en) | 2002-05-28 | 2004-04-27 | Silicon Light Machines | Optical device arrays with optimized image resolution |
US6822797B1 (en) | 2002-05-31 | 2004-11-23 | Silicon Light Machines, Inc. | Light modulator structure for producing high-contrast operation using zero-order light |
US6829258B1 (en) | 2002-06-26 | 2004-12-07 | Silicon Light Machines, Inc. | Rapidly tunable external cavity laser |
EP1376608A1 (fr) * | 2002-06-28 | 2004-01-02 | Cp8 | Procédé d'écriture dans une mémoire non volatile et système pour la mise en oeuvre d'un tel procédé |
US6714337B1 (en) | 2002-06-28 | 2004-03-30 | Silicon Light Machines | Method and device for modulating a light beam and having an improved gamma response |
US6813059B2 (en) | 2002-06-28 | 2004-11-02 | Silicon Light Machines, Inc. | Reduced formation of asperities in contact micro-structures |
KR100484147B1 (ko) * | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
TWI246064B (en) * | 2002-07-29 | 2005-12-21 | Milsys Ltd | Data storage and processing device, electronic appliance, electronic system and method of operating an appliance that responds to a plurality of commands |
US6801354B1 (en) | 2002-08-20 | 2004-10-05 | Silicon Light Machines, Inc. | 2-D diffraction grating for substantially eliminating polarization dependent losses |
US7130979B2 (en) * | 2002-08-29 | 2006-10-31 | Micron Technology, Inc. | Dynamic volume management |
US6968439B2 (en) | 2002-08-29 | 2005-11-22 | Micron Technology, Inc. | Single segment data object management |
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
US6712480B1 (en) | 2002-09-27 | 2004-03-30 | Silicon Light Machines | Controlled curvature of stressed micro-structures |
US7174440B2 (en) * | 2002-10-28 | 2007-02-06 | Sandisk Corporation | Method and apparatus for performing block caching in a non-volatile memory system |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
JP3694501B2 (ja) * | 2002-10-30 | 2005-09-14 | 松下電器産業株式会社 | 記憶装置 |
JP4199519B2 (ja) * | 2002-11-05 | 2008-12-17 | パナソニック株式会社 | メモリ管理装置及びメモリ管理方法 |
DE10252059B3 (de) * | 2002-11-08 | 2004-04-15 | Infineon Technologies Ag | Verfahren zum Betreiben einer Speicheranordnung |
KR100457812B1 (ko) * | 2002-11-14 | 2004-11-18 | 삼성전자주식회사 | 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법 |
KR100483490B1 (ko) * | 2002-12-24 | 2005-04-15 | 한국전자통신연구원 | 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법 |
RU2319227C2 (ru) * | 2002-12-24 | 2008-03-10 | Эл Джи Электроникс Инк. | Способ запоминания с двойным протоколированием и носитель данных для него |
FI20022297A (fi) * | 2002-12-31 | 2004-07-01 | Nokia Corp | Menetelmä muistikomponenttien sisältöjen vertailemiseksi |
TW200415464A (en) * | 2003-02-12 | 2004-08-16 | Acard Technology Corp | SATA flash memory device |
US6829077B1 (en) | 2003-02-28 | 2004-12-07 | Silicon Light Machines, Inc. | Diffractive light modulator with dynamically rotatable diffraction plane |
US6806997B1 (en) | 2003-02-28 | 2004-10-19 | Silicon Light Machines, Inc. | Patterned diffractive light modulator ribbon for PDL reduction |
US7526598B2 (en) * | 2003-03-03 | 2009-04-28 | Sandisk Il, Ltd. | Efficient flash memory device driver |
US20040186746A1 (en) * | 2003-03-21 | 2004-09-23 | Angst Wendy P. | System, apparatus and method for storage and transportation of personal health records |
US7003621B2 (en) * | 2003-03-25 | 2006-02-21 | M-System Flash Disk Pioneers Ltd. | Methods of sanitizing a flash-based data storage device |
EP1462946A1 (en) * | 2003-03-25 | 2004-09-29 | Acard Technology Corp. | Architecture for a serial ATA bus based flash memory apparatus |
US7664987B2 (en) * | 2003-05-25 | 2010-02-16 | Sandisk Il Ltd. | Flash memory device with fast reading rate |
US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
US7606993B2 (en) * | 2003-06-10 | 2009-10-20 | Tdk Corporation | Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory |
US7372731B2 (en) * | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
JP4433372B2 (ja) * | 2003-06-18 | 2010-03-17 | 株式会社日立製作所 | データアクセスシステム及び方法 |
US6988175B2 (en) * | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7188228B1 (en) | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7296144B2 (en) * | 2003-11-24 | 2007-11-13 | Sandisk Il Ltd. | Method of traceless portable application execution |
US7440286B2 (en) * | 2005-04-21 | 2008-10-21 | Super Talent Electronics, Inc. | Extended USB dual-personality card reader |
US8102657B2 (en) | 2003-12-02 | 2012-01-24 | Super Talent Electronics, Inc. | Single shot molding method for COB USB/EUSB devices with contact pad ribs |
US8998620B2 (en) * | 2003-12-02 | 2015-04-07 | Super Talent Technology, Corp. | Molding method for COB-EUSB devices and metal housing package |
US7872873B2 (en) | 2003-12-02 | 2011-01-18 | Super Talent Electronics, Inc. | Extended COB-USB with dual-personality contacts |
KR100608602B1 (ko) * | 2003-12-10 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
US20050132178A1 (en) * | 2003-12-12 | 2005-06-16 | Sridhar Balasubramanian | Removable flash backup for storage controllers |
CN1809833B (zh) | 2003-12-17 | 2015-08-05 | 雷克萨媒体公司 | 用于减少用于购买的电子设备的盗窃发生率的方法 |
JP2005190036A (ja) | 2003-12-25 | 2005-07-14 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
JP4463042B2 (ja) | 2003-12-26 | 2010-05-12 | 株式会社日立製作所 | ボリュームの動的割り付け機能を有する記憶装置システム |
US7631138B2 (en) * | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US8504798B2 (en) * | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
WO2005067377A2 (en) * | 2004-01-15 | 2005-07-28 | M-Systems Flash Disk Pioneers Ltd. | Removable medium with bookmark |
WO2005069288A1 (en) * | 2004-01-19 | 2005-07-28 | Trek 2000 International Ltd. | Portable data storage device using a memory address mapping table |
US7869219B2 (en) * | 2004-01-20 | 2011-01-11 | Super Talent Electronics, Inc. | Flash drive with spring-loaded retractable connector |
US7177200B2 (en) * | 2004-02-10 | 2007-02-13 | Msystems Ltd. | Two-phase programming of a flash memory |
US7716413B2 (en) * | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
US8019928B2 (en) * | 2004-02-15 | 2011-09-13 | Sandisk Il Ltd. | Method of managing a multi-bit-cell flash memory |
EP1733555A4 (en) * | 2004-02-23 | 2009-09-30 | Lexar Media Inc | SAFE COMPACT FLASH |
CN1323358C (zh) * | 2004-03-05 | 2007-06-27 | 中国科学院计算技术研究所 | 一种虚拟存储模型及其方法 |
US7310347B2 (en) * | 2004-03-14 | 2007-12-18 | Sandisk, Il Ltd. | States encoding in multi-bit flash cells |
US20050213393A1 (en) | 2004-03-14 | 2005-09-29 | M-Systems Flash Disk Pioneers, Ltd. | States encoding in multi-bit flash cells for optimizing error rate |
TWI254947B (en) * | 2004-03-28 | 2006-05-11 | Mediatek Inc | Data managing method and data access system for storing all management data in a management bank of a non-volatile memory |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7325090B2 (en) * | 2004-04-29 | 2008-01-29 | Sandisk Il Ltd. | Refreshing data stored in a flash memory |
TWI249670B (en) * | 2004-04-29 | 2006-02-21 | Mediatek Inc | System and method capable of sequentially writing a flash memory |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US8352697B2 (en) * | 2004-05-17 | 2013-01-08 | Sandisk Il Ltd. | Method of managing files for optimal performance |
US7346401B2 (en) * | 2004-05-25 | 2008-03-18 | International Business Machines Corporation | Systems and methods for providing constrained optimization using adaptive regulatory control |
WO2005121968A2 (en) * | 2004-06-07 | 2005-12-22 | Wms Gaming Inc. | Gaming device with resource swapping |
KR100568115B1 (ko) * | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
US20060004951A1 (en) * | 2004-06-30 | 2006-01-05 | Rudelic John C | Method and apparatus to alter code in a memory |
US20080195817A1 (en) * | 2004-07-08 | 2008-08-14 | Super Talent Electronics, Inc. | SD Flash Memory Card Manufacturing Using Rigid-Flex PCB |
US7957189B2 (en) * | 2004-07-26 | 2011-06-07 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7817469B2 (en) * | 2004-07-26 | 2010-10-19 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7386700B2 (en) * | 2004-07-30 | 2008-06-10 | Sandisk Il Ltd | Virtual-to-physical address translation in a flash file system |
US8407396B2 (en) * | 2004-07-30 | 2013-03-26 | Hewlett-Packard Development Company, L.P. | Providing block data access for an operating system using solid-state memory |
US8275969B2 (en) * | 2004-08-05 | 2012-09-25 | Sandisk Il Ltd. | Storage with persistent user data |
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 |
EP1797645B1 (en) * | 2004-08-30 | 2018-08-01 | Google LLC | Systems and methods for providing nonvolatile memory management in wireless phones |
US20060059296A1 (en) * | 2004-09-16 | 2006-03-16 | M-Systems Flash Disk Pioneers, Ltd. | Emulating small block size of flash memory |
US7164611B2 (en) | 2004-10-26 | 2007-01-16 | Micron Technology, Inc. | Data retention kill function |
US7496493B1 (en) * | 2004-11-09 | 2009-02-24 | Western Digital Technologies, Inc. | External memory device to provide disk device and optical functionality |
EP1672487A1 (en) * | 2004-12-14 | 2006-06-21 | Sony Ericsson Mobile Communications AB | Method and means for an efficient memory usage |
WO2006063941A2 (en) * | 2004-12-14 | 2006-06-22 | Sony Ericsson Mobile Communications Ab | Method and means for an efficient memory usage |
US7685400B2 (en) * | 2004-12-15 | 2010-03-23 | International Business Machines Corporation | Storage of data blocks of logical volumes in a virtual disk storage subsystem |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7395404B2 (en) | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7149111B2 (en) * | 2004-12-17 | 2006-12-12 | Msystems Ltd. | Method of handling limitations on the order of writing to a non-volatile memory |
US7246195B2 (en) * | 2004-12-30 | 2007-07-17 | Intel Corporation | Data storage management for flash memory devices |
DE102005001038B3 (de) * | 2005-01-07 | 2006-05-04 | Hyperstone Ag | Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern |
US7308525B2 (en) * | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
US7426623B2 (en) * | 2005-01-14 | 2008-09-16 | Sandisk Il Ltd | System and method for configuring flash memory partitions as super-units |
US8341371B2 (en) * | 2005-01-31 | 2012-12-25 | Sandisk Il Ltd | Method of managing copy operations in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US8108691B2 (en) * | 2005-02-07 | 2012-01-31 | Sandisk Technologies Inc. | Methods used in a secure memory card with life cycle phases |
US8321686B2 (en) * | 2005-02-07 | 2012-11-27 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
US8423788B2 (en) * | 2005-02-07 | 2013-04-16 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
CA2597551A1 (en) * | 2005-02-11 | 2006-08-17 | M-Systems Flash Disk Pioneers Ltd. | Nand flash memory system architecture |
US7224604B2 (en) * | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US8522048B2 (en) * | 2005-04-14 | 2013-08-27 | Sandisk Il Ltd. | Content delivery system |
US7634494B2 (en) * | 2005-05-03 | 2009-12-15 | Intel Corporation | Flash memory directory virtualization |
US7275140B2 (en) * | 2005-05-12 | 2007-09-25 | Sandisk Il Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7334725B2 (en) * | 2005-06-01 | 2008-02-26 | San Disk Il Ltd. | Flash memory device within a business card |
US7389397B2 (en) * | 2005-06-01 | 2008-06-17 | Sandisk Il Ltd | Method of storing control information in a large-page flash memory device |
JP2006338371A (ja) | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
KR100827227B1 (ko) * | 2005-06-24 | 2008-05-07 | 삼성전자주식회사 | 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치 |
US20070005929A1 (en) * | 2005-06-30 | 2007-01-04 | Post Daniel J | Method, system, and article of manufacture for sector mapping in a flash device |
US7748031B2 (en) | 2005-07-08 | 2010-06-29 | Sandisk Corporation | Mass storage device with automated credentials loading |
US8335920B2 (en) | 2005-07-14 | 2012-12-18 | Imation Corp. | Recovery of data access for a locked secure storage device |
US8015606B1 (en) | 2005-07-14 | 2011-09-06 | Ironkey, Inc. | Storage device with website trust indication |
US8321953B2 (en) * | 2005-07-14 | 2012-11-27 | Imation Corp. | Secure storage device with offline code entry |
US8438647B2 (en) | 2005-07-14 | 2013-05-07 | Imation Corp. | Recovery of encrypted data from a secure storage device |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
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 |
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 |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
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 |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
KR100739722B1 (ko) * | 2005-08-20 | 2007-07-13 | 삼성전자주식회사 | 플래시 메모리 관리 방법 및 플래시 메모리 시스템 |
US7571275B2 (en) * | 2005-08-31 | 2009-08-04 | Hamilton Sundstrand Corporation | Flash real-time operating system for small embedded applications |
US20070067620A1 (en) * | 2005-09-06 | 2007-03-22 | Ironkey, Inc. | Systems and methods for third-party authentication |
US8855714B2 (en) | 2005-09-14 | 2014-10-07 | Sandisk Il Ltd. | Removable media player for mobile phones |
US7934049B2 (en) * | 2005-09-14 | 2011-04-26 | Sandisk Corporation | Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory |
US7536540B2 (en) * | 2005-09-14 | 2009-05-19 | Sandisk Corporation | Method of hardware driver integrity check of memory card controller firmware |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7631245B2 (en) | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
TWI298836B (en) * | 2005-10-12 | 2008-07-11 | Sunplus Technology Co Ltd | Apparatus for controlling flash memory and method thereof |
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 |
US7681109B2 (en) * | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7526715B2 (en) * | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
ATE518190T1 (de) * | 2005-12-09 | 2011-08-15 | Sandisk Il Ltd | Verfahren zur flash-speicher-verwaltung |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7793068B2 (en) * | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
JP2009521049A (ja) * | 2005-12-21 | 2009-05-28 | エヌエックスピー ビー ヴィ | ブロック消去可能な記憶場所を有するメモリ |
US8639873B1 (en) | 2005-12-22 | 2014-01-28 | Imation Corp. | Detachable storage device with RAM cache |
US8266378B1 (en) | 2005-12-22 | 2012-09-11 | Imation Corp. | Storage device with accessible partitions |
KR100755700B1 (ko) * | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
FR2895828B1 (fr) * | 2006-01-03 | 2008-05-30 | Thales Sa | Procede de gestion de donnees destinees a etre ecrites et lues dans une memoire |
US7512847B2 (en) * | 2006-02-10 | 2009-03-31 | Sandisk Il Ltd. | Method for estimating and reporting the life expectancy of flash-disk memory |
US8848442B2 (en) * | 2006-03-06 | 2014-09-30 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US8645793B2 (en) | 2008-06-03 | 2014-02-04 | Marvell International Ltd. | Statistical tracking for flash memory |
US7823043B2 (en) * | 2006-05-10 | 2010-10-26 | Sandisk Il Ltd. | Corruption-resistant data porting with multiple error correction schemes |
US7583545B2 (en) * | 2006-05-21 | 2009-09-01 | Sandisk Il Ltd | Method of storing data in a multi-bit-cell flash memory |
US8042029B2 (en) | 2006-05-21 | 2011-10-18 | Ramot At Tel Aviv University Ltd. | Error correction decoding by trial and error |
US7711890B2 (en) | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
US20070300031A1 (en) * | 2006-06-22 | 2007-12-27 | Ironkey, Inc. | Memory data shredder |
US8307148B2 (en) * | 2006-06-23 | 2012-11-06 | Microsoft Corporation | Flash management techniques |
US7533328B2 (en) * | 2006-07-04 | 2009-05-12 | Sandisk Il, Ltd. | Method of error correction in a multi-bit-per-cell flash memory |
KR100764052B1 (ko) | 2006-08-03 | 2007-10-08 | 삼성전자주식회사 | 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080046641A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080072058A1 (en) * | 2006-08-24 | 2008-03-20 | Yoram Cedar | Methods in a reader for one time password generating device |
US20080052524A1 (en) * | 2006-08-24 | 2008-02-28 | Yoram Cedar | Reader for one time password generating device |
WO2008026466A1 (fr) * | 2006-08-31 | 2008-03-06 | Sharp Kabushiki Kaisha | Système de fichiers |
KR100802059B1 (ko) * | 2006-09-06 | 2008-02-12 | 삼성전자주식회사 | 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 |
US7716538B2 (en) * | 2006-09-27 | 2010-05-11 | Sandisk Corporation | Memory with cell population distribution assisted read margining |
US7886204B2 (en) * | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
US7761625B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules, and related technologies |
US7761624B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
US7761623B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US8074022B2 (en) * | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
US9984012B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Read writeable randomly accessible non-volatile memory modules |
WO2008040028A2 (en) * | 2006-09-28 | 2008-04-03 | Virident Systems, Inc. | Systems, methods, and apparatus with programmable memory control for heterogeneous main memory |
US7761626B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US8949555B1 (en) | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
KR100849221B1 (ko) | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
WO2008051940A2 (en) | 2006-10-23 | 2008-05-02 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
US7814263B2 (en) * | 2006-10-26 | 2010-10-12 | Sandisk Il Ltd. | Erase history-based flash writing method |
KR100789406B1 (ko) | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US7774556B2 (en) | 2006-11-04 | 2010-08-10 | Virident Systems Inc. | Asymmetric memory migration in hybrid main memory |
KR100816761B1 (ko) * | 2006-12-04 | 2008-03-25 | 삼성전자주식회사 | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US20080140724A1 (en) * | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
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 |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US8719501B2 (en) | 2009-09-08 | 2014-05-06 | Fusion-Io | Apparatus, system, and method for caching data on a solid-state storage device |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
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 |
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 |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
KR100845552B1 (ko) | 2006-12-18 | 2008-07-10 | (재)대구경북과학기술연구원 | Ftl의 어드레스 매핑 방법 |
US7814401B2 (en) * | 2006-12-21 | 2010-10-12 | Ramot At Tel Aviv University Ltd. | Soft decoding of hard and soft bits read from a flash memory |
US8127200B2 (en) * | 2006-12-24 | 2012-02-28 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
US8370561B2 (en) * | 2006-12-24 | 2013-02-05 | Sandisk Il Ltd. | Randomizing for suppressing errors in a flash memory |
US8423794B2 (en) * | 2006-12-28 | 2013-04-16 | Sandisk Technologies Inc. | Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications |
US8885384B2 (en) | 2007-01-11 | 2014-11-11 | Chengdu Haicun Ip Technology Llc | Mask-programmed read-only memory with reserved space |
KR100885181B1 (ko) | 2007-02-06 | 2009-02-23 | 삼성전자주식회사 | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 |
US7966355B2 (en) | 2007-02-13 | 2011-06-21 | Modu Ltd. | Interface for extending functionality of memory cards |
US8370562B2 (en) * | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
US20080222349A1 (en) * | 2007-03-07 | 2008-09-11 | Ocz Technology Group Inc. | Ieee 1394 interface-based flash drive using multilevel cell flash memory devices |
CN100461134C (zh) * | 2007-03-27 | 2009-02-11 | 华为技术有限公司 | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 |
US7573773B2 (en) * | 2007-03-28 | 2009-08-11 | Sandisk Corporation | Flash memory with data refresh triggered by controlled scrub data reads |
US7477547B2 (en) * | 2007-03-28 | 2009-01-13 | Sandisk Corporation | Flash memory refresh techniques triggered by controlled scrub data reads |
JP4636046B2 (ja) * | 2007-03-29 | 2011-02-23 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US7808834B1 (en) | 2007-04-13 | 2010-10-05 | Marvell International Ltd. | Incremental memory refresh |
US8254134B2 (en) | 2007-05-03 | 2012-08-28 | Super Talent Electronics, Inc. | Molded memory card with write protection switch assembly |
US7689762B2 (en) * | 2007-05-03 | 2010-03-30 | Atmel Corporation | Storage device wear leveling |
US7850468B2 (en) | 2007-06-28 | 2010-12-14 | Super Talent Electronics, Inc. | Lipstick-type USB device |
US7789680B2 (en) * | 2007-07-05 | 2010-09-07 | Super Talent Electronics, Inc. | USB device with connected cap |
US8102658B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | Micro-SD to secure digital adaptor card and manufacturing method |
CN101094183B (zh) * | 2007-07-25 | 2011-12-07 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
US8031526B1 (en) | 2007-08-23 | 2011-10-04 | Marvell International Ltd. | Write pre-compensation for nonvolatile memory |
US7944702B2 (en) | 2007-08-27 | 2011-05-17 | Super Talent Electronics, Inc. | Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve |
US8189381B1 (en) | 2007-08-28 | 2012-05-29 | Marvell International Ltd. | System and method for reading flash memory cells |
US8085605B2 (en) | 2007-08-29 | 2011-12-27 | Marvell World Trade Ltd. | Sequence detection for flash memory with inter-cell interference |
US9921896B2 (en) | 2007-08-30 | 2018-03-20 | Virident Systems, Llc | Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system |
JP4746598B2 (ja) * | 2007-09-28 | 2011-08-10 | 株式会社東芝 | 半導体記憶装置 |
US7970983B2 (en) * | 2007-10-14 | 2011-06-28 | Sandisk Il Ltd. | Identity-based flash management |
US8024545B2 (en) | 2007-10-19 | 2011-09-20 | Inha-Industry Partnership Institute | Efficient prefetching and asynchronous writing for flash memory |
US8241047B2 (en) * | 2007-10-30 | 2012-08-14 | Super Talent Electronics, Inc. | Flash drive with spring-loaded swivel connector |
US20090138673A1 (en) * | 2007-11-28 | 2009-05-28 | Apple Inc. | Internal memory mapped external memory interface |
US8116083B2 (en) * | 2007-12-04 | 2012-02-14 | Super Talent Electronics, Inc. | Lipstick-type USB device with tubular housing |
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 |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US8316277B2 (en) * | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US8621138B2 (en) * | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
KR101386489B1 (ko) * | 2008-01-14 | 2014-04-21 | 삼성전자주식회사 | 메모리 장치 및 멀티 비트 프로그래밍 방법 |
US8892831B2 (en) | 2008-01-16 | 2014-11-18 | Apple Inc. | Memory subsystem hibernation |
US20090198952A1 (en) | 2008-02-04 | 2009-08-06 | Apple Inc | Memory Mapping Architecture |
US8856464B2 (en) * | 2008-02-12 | 2014-10-07 | Virident Systems, Inc. | Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices |
US9251899B2 (en) * | 2008-02-12 | 2016-02-02 | Virident Systems, Inc. | Methods for upgrading main memory in computer systems to two-dimensional memory modules and master memory controllers |
CN101681313A (zh) | 2008-02-29 | 2010-03-24 | 株式会社东芝 | 存储器系统 |
KR101437123B1 (ko) * | 2008-04-01 | 2014-09-02 | 삼성전자 주식회사 | 메모리 시스템 및 그것의 마모도 관리 방법 |
US8156392B2 (en) * | 2008-04-05 | 2012-04-10 | Fusion-Io, Inc. | Apparatus, system, and method for bad block remapping |
US8266366B2 (en) * | 2008-04-11 | 2012-09-11 | SanDisk Technologies, Inc. | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
CA2629960C (en) * | 2008-04-28 | 2009-12-08 | Westport Power Inc. | Apparatus and method for improving the accuracy of measurements taken with a capacitance-type sensor |
WO2009137371A2 (en) * | 2008-05-02 | 2009-11-12 | Ironkey, Inc. | Enterprise device recovery |
EP2297742B1 (en) * | 2008-05-16 | 2013-07-24 | Fusion-io, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
JP2009282678A (ja) * | 2008-05-21 | 2009-12-03 | Hitachi Ltd | フラッシュメモリモジュール及びストレージシステム |
KR101497074B1 (ko) * | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US8417873B1 (en) | 2008-06-24 | 2013-04-09 | Virident Systems, Inc. | Random read and read/write block accessible memory |
US9513695B2 (en) | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
TWI370969B (en) | 2008-07-09 | 2012-08-21 | Phison Electronics Corp | Data accessing method, and storage system and controller using the same |
US8417902B2 (en) * | 2008-08-05 | 2013-04-09 | Atmel Corporation | One-time-programmable memory emulation |
JP4909963B2 (ja) * | 2008-09-09 | 2012-04-04 | 株式会社東芝 | 統合メモリ管理装置 |
US7962801B2 (en) * | 2008-10-15 | 2011-06-14 | Silicon Motion, Inc. | Link table recovery method |
KR101510120B1 (ko) * | 2008-11-21 | 2015-04-10 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
US8316201B2 (en) * | 2008-12-18 | 2012-11-20 | Sandisk Il Ltd. | Methods for executing a command to write data from a source location to a destination location in a memory device |
US9612954B2 (en) * | 2008-12-31 | 2017-04-04 | Micron Technology, Inc. | Recovery for non-volatile memory after power loss |
US8589700B2 (en) | 2009-03-04 | 2013-11-19 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
US20100228906A1 (en) * | 2009-03-06 | 2010-09-09 | Arunprasad Ramiya Mothilal | Managing Data in a Non-Volatile Memory System |
US8176295B2 (en) | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
US8065469B2 (en) | 2009-04-20 | 2011-11-22 | Imation Corp. | Static wear leveling |
TWI457940B (zh) * | 2009-05-15 | 2014-10-21 | Macronix Int Co Ltd | 區塊為基礎快閃記憶體之位元組存取 |
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 |
US8468293B2 (en) | 2009-07-24 | 2013-06-18 | Apple Inc. | Restore index page |
US8516219B2 (en) | 2009-07-24 | 2013-08-20 | Apple Inc. | Index cache tree |
US8745365B2 (en) * | 2009-08-06 | 2014-06-03 | Imation Corp. | Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system |
US8683088B2 (en) | 2009-08-06 | 2014-03-25 | Imation Corp. | Peripheral device data integrity |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US8612718B2 (en) * | 2009-08-19 | 2013-12-17 | Seagate Technology Llc | Mapping alignment |
US20110055471A1 (en) * | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US8429436B2 (en) | 2009-09-09 | 2013-04-23 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction in a storage device |
WO2011031903A2 (en) * | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
US8255655B2 (en) * | 2009-10-02 | 2012-08-28 | Sandisk Technologies Inc. | Authentication and securing of write-once, read-many (WORM) memory devices |
US8489803B2 (en) * | 2009-12-14 | 2013-07-16 | Smsc Holdings S.A.R.L. | Efficient use of flash memory in flash drives |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US8595411B2 (en) * | 2009-12-30 | 2013-11-26 | Sandisk Technologies Inc. | Method and controller for performing a sequence of commands |
US9396104B1 (en) | 2010-03-22 | 2016-07-19 | Seagate Technology, Llc | Accessing compressed data of varying-sized quanta in non-volatile memory |
WO2011143628A2 (en) | 2010-05-13 | 2011-11-17 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8416624B2 (en) | 2010-05-21 | 2013-04-09 | SanDisk Technologies, Inc. | Erase and programming techniques to reduce the widening of state distributions in non-volatile memories |
KR20120003283A (ko) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 배드 블록 관리 방법 |
EP2598996B1 (en) | 2010-07-28 | 2019-07-10 | SanDisk Technologies LLC | Apparatus, system, and method for conditional and atomic storage operations |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US8452914B2 (en) * | 2010-11-26 | 2013-05-28 | Htc Corporation | Electronic devices with improved flash memory compatibility and methods corresponding thereto |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US8527693B2 (en) | 2010-12-13 | 2013-09-03 | Fusion IO, Inc. | Apparatus, system, and method for 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 |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
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 |
DE102010063773A1 (de) * | 2010-12-21 | 2012-07-12 | Endress + Hauser Wetzer Gmbh + Co. Kg | Feldgerät mit einem semi-permanenten elektronischen Speicher und Verfahren zum Betreiben eines solchen Feldgerätes |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
CN102609214A (zh) * | 2011-01-21 | 2012-07-25 | 鸿富锦精密工业(深圳)有限公司 | 将biosrom模拟成磁盘的的系统及方法 |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
JP2012203443A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
JP2012226822A (ja) | 2011-04-15 | 2012-11-15 | Samsung Electronics Co Ltd | 不揮発性メモリ装置 |
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
TWI521343B (zh) * | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
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 |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
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 |
US8629689B1 (en) * | 2012-05-18 | 2014-01-14 | Altera Corporation | Integrated circuit with improved interconnect routing and associated methods |
US8996957B1 (en) | 2012-05-22 | 2015-03-31 | Pmc-Sierra, Inc. | Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes |
US9021337B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US9183085B1 (en) | 2012-05-22 | 2015-11-10 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US9047214B1 (en) | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
US8793556B1 (en) | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of a flash drive |
US8972824B1 (en) | 2012-05-22 | 2015-03-03 | Pmc-Sierra, Inc. | Systems and methods for transparently varying error correction code strength in a flash drive |
US9021333B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
US8788910B1 (en) | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
US9021336B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages |
US20130326114A1 (en) * | 2012-05-30 | 2013-12-05 | Seagate Technology Llc | Write mitigation through fast reject processing |
US9128820B1 (en) | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
KR102147359B1 (ko) | 2012-06-29 | 2020-08-24 | 삼성전자 주식회사 | 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치 |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US9064575B2 (en) | 2012-08-03 | 2015-06-23 | Micron Technology, Inc. | Determining whether a memory cell state is in a valley between adjacent data states |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9542166B2 (en) | 2012-10-30 | 2017-01-10 | Oracle International Corporation | System and method for inferring immutability of program variables |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9009565B1 (en) | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US9081701B1 (en) | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding data for solid-state memory |
US9053012B1 (en) | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
US9026867B1 (en) | 2013-03-15 | 2015-05-05 | Pmc-Sierra, Inc. | Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory |
US9558108B2 (en) | 2013-04-15 | 2017-01-31 | Macronix International Co., Ltd. | Half block management for flash storage devices |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
CN103324553B (zh) * | 2013-06-21 | 2016-08-24 | 华为技术有限公司 | 数据恢复方法、系统及装置 |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
CN103713857B (zh) * | 2013-12-24 | 2017-06-27 | 华为技术有限公司 | 存储数据的方法及存储装置 |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US9552171B2 (en) | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9978456B2 (en) | 2014-11-17 | 2018-05-22 | Sandisk Technologies Llc | Techniques for reducing read disturb in partially written blocks of non-volatile memory |
US9349479B1 (en) | 2014-11-18 | 2016-05-24 | Sandisk Technologies Inc. | Boundary word line operation in nonvolatile memory |
US9627072B2 (en) | 2014-11-25 | 2017-04-18 | Macronix International Co., Ltd. | Variant operation sequences for multibit memory |
US9449700B2 (en) | 2015-02-13 | 2016-09-20 | Sandisk Technologies Llc | Boundary word line search and open block read methods with reduced read disturb |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US10009438B2 (en) | 2015-05-20 | 2018-06-26 | Sandisk Technologies Llc | Transaction log acceleration |
US10185513B1 (en) | 2015-06-05 | 2019-01-22 | Life365, Inc. | Device configured for dynamic software change |
CN106547480B (zh) * | 2015-09-17 | 2019-04-12 | 慧荣科技股份有限公司 | 数据储存装置及其数据读取方法 |
US9653154B2 (en) | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US10185666B2 (en) | 2015-12-15 | 2019-01-22 | Facebook, Inc. | Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache |
US20170168956A1 (en) * | 2015-12-15 | 2017-06-15 | Facebook, Inc. | Block cache staging in content delivery network caching system |
US10126962B2 (en) | 2016-04-22 | 2018-11-13 | Microsoft Technology Licensing, Llc | Adapted block translation table (BTT) |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US9881682B1 (en) | 2016-11-23 | 2018-01-30 | Seagate Technology Llc | Fine grained data retention monitoring in solid state drives |
CN108733576B (zh) * | 2017-04-20 | 2022-12-09 | 得一微电子股份有限公司 | 一种固态硬盘及其内存转换层对映方法 |
US10318416B2 (en) * | 2017-05-18 | 2019-06-11 | Nxp B.V. | Method and system for implementing a non-volatile counter using non-volatile memory |
IT201700057287A1 (it) * | 2017-05-26 | 2018-11-26 | St Microelectronics Srl | Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti |
KR102521746B1 (ko) | 2017-12-18 | 2023-04-13 | 에스케이하이닉스 주식회사 | 메모리 장치의 주소 맵핑을 관리하는 반도체 장치 및 이를 포함하는 데이터 저장 장치 |
KR20190120573A (ko) * | 2018-04-16 | 2019-10-24 | 에스케이하이닉스 주식회사 | 메모리 시스템, 데이터 처리 시스템 및 메모리 시스템의 동작 방법 |
JP2021023748A (ja) * | 2019-08-09 | 2021-02-22 | 株式会社島津製作所 | X線透視撮影装置 |
US11586385B1 (en) | 2020-05-06 | 2023-02-21 | Radian Memory Systems, Inc. | Techniques for managing writes in nonvolatile memory |
TWI842009B (zh) * | 2022-07-08 | 2024-05-11 | 瑞昱半導體股份有限公司 | 資料存取方法及資料存取系統 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4511964A (en) * | 1982-11-12 | 1985-04-16 | Hewlett-Packard Company | Dynamic physical memory mapping and management of independent programming environments |
JPH0271342A (ja) * | 1988-09-07 | 1990-03-09 | Oki Electric Ind Co Ltd | メモリ管理装置 |
JPH0314042A (ja) * | 1989-06-13 | 1991-01-22 | Fujitsu Ltd | データベースにおける資源管理方式 |
JPH04506720A (ja) * | 1990-03-23 | 1992-11-19 | イーストマン・コダック・カンパニー | ディジタル・データ処理システムのための仮想メモリ管理及び割付け装置 |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
JP2584119B2 (ja) * | 1990-09-28 | 1997-02-19 | 富士写真フイルム株式会社 | メモリカードにおけるデータ記録方法およびメモリカードシステム |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JP3407317B2 (ja) * | 1991-11-28 | 2003-05-19 | 株式会社日立製作所 | フラッシュメモリを使用した記憶装置 |
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
JPH0695955A (ja) * | 1992-09-09 | 1994-04-08 | Ricoh Co Ltd | フラッシュ・ファイル・システム |
-
1993
- 1993-03-08 US US08/027,131 patent/US5404485A/en not_active Expired - Lifetime
-
1994
- 1994-02-24 IL IL10876694A patent/IL108766A/en not_active IP Right Cessation
- 1994-02-28 AU AU62699/94A patent/AU6269994A/en not_active Abandoned
- 1994-02-28 DE DE69414556T patent/DE69414556T2/de not_active Expired - Lifetime
- 1994-02-28 JP JP6520018A patent/JPH08510072A/ja active Pending
- 1994-02-28 EP EP94910145A patent/EP0688450B1/en not_active Expired - Lifetime
- 1994-02-28 WO PCT/US1994/001848 patent/WO1994020906A1/en active IP Right Grant
- 1994-02-28 KR KR1019950703788A patent/KR100292011B1/ko not_active IP Right Cessation
- 1994-03-02 ZA ZA941446A patent/ZA941446B/xx unknown
- 1994-03-08 CN CN94102329A patent/CN1078364C/zh not_active Expired - Lifetime
- 1994-05-07 TW TW083104170A patent/TW264547B/zh not_active IP Right Cessation
-
1995
- 1995-09-08 FI FI954235A patent/FI105726B/fi not_active IP Right Cessation
-
2002
- 2002-09-04 JP JP2002259073A patent/JP3997130B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69414556T2 (de) | 1999-05-06 |
CN1078364C (zh) | 2002-01-23 |
EP0688450B1 (en) | 1998-11-11 |
FI105726B (fi) | 2000-09-29 |
KR100292011B1 (ko) | 2001-09-17 |
IL108766A0 (en) | 1994-05-30 |
US5404485A (en) | 1995-04-04 |
AU6269994A (en) | 1994-09-26 |
KR960701402A (ko) | 1996-02-24 |
WO1994020906A1 (en) | 1994-09-15 |
CN1098526A (zh) | 1995-02-08 |
JPH08510072A (ja) | 1996-10-22 |
IL108766A (en) | 1996-12-05 |
JP2003085037A (ja) | 2003-03-20 |
FI954235A0 (fi) | 1995-09-08 |
FI954235A (fi) | 1995-11-08 |
EP0688450A4 (en) | 1995-10-20 |
DE69414556D1 (de) | 1998-12-17 |
EP0688450A1 (en) | 1995-12-27 |
ZA941446B (en) | 1994-09-26 |
TW264547B (ja) | 1995-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3997130B2 (ja) | メモリ管理方法 | |
EP0852765B1 (en) | Memory management | |
KR100495722B1 (ko) | 개선된 플래시 파일 시스템 | |
US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
US4953122A (en) | Pseudo-erasable and rewritable write-once optical disk memory system | |
USRE45222E1 (en) | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table | |
JP4511576B2 (ja) | メモリシステム | |
EP0712067B1 (en) | Flash disk card | |
CN100424655C (zh) | 快闪存储器管理方法 | |
US5611067A (en) | Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks | |
US5040110A (en) | Write once read many optical disc storage system having directory for storing virtual address and corresponding up-to-date sector address | |
EP0770959B1 (en) | Flash translation layer clean-up method | |
KR100980309B1 (ko) | 호스트 디바이스 및 메모리 시스템 | |
US7634624B2 (en) | Memory system for data storage and retrieval | |
KR100987241B1 (ko) | 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치 | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
JPH06342395A (ja) | 構造化データ記憶方法及び媒体 | |
JP2005516264A (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
WO1995018407A1 (en) | Solid state memory system | |
US6581134B2 (en) | Logic partitioning of a nonvolatile memory array | |
JPS6113488A (ja) | 非消去型デイスク装置の記憶管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040106 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040406 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041227 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050112 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070806 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130810 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |