JP2003085037A - メモリ管理方法 - Google Patents
メモリ管理方法Info
- Publication number
- JP2003085037A JP2003085037A JP2002259073A JP2002259073A JP2003085037A JP 2003085037 A JP2003085037 A JP 2003085037A JP 2002259073 A JP2002259073 A JP 2002259073A JP 2002259073 A JP2002259073 A JP 2002259073A JP 2003085037 A JP2003085037 A JP 2003085037A
- 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.)
- Granted
Links
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
Abstract
ーションに対する読出および書込が可能なデータ記憶装
置に見えるようなフラッシュメモリの管理方法を提供す
る。 【解決手段】 フラッシュメモリ(12)、フラッシュ
コントローラ(14)とランダムアクセスメモリ(1
6)とを含む仮想マッピングシステムを設けることによ
り、データを書込まれていない物理アドレス場所に連続
して書込むことが可能になる。仮想メモリマップ(1
4、16)はメモリ内のデータの場所を追跡するために
フラッシュメモリ物理場所アドレスを関連づける。
Description
に情報をストアし、これを取出すための改良されたシス
テムに関し、より特定的にはフラッシュメモリに書込ま
れるデータを編成し、管理するシステムに関する。
ュタイプのフローティングゲートトランジスタを含む電
気的消去可能なプログラマブル読出専用メモリ(EEP
ROM)が当該分野で説明されており、現在市場で入手
可能である。これらのいわゆるフラッシュメモリは、そ
の機能および性能の点でEPROMメモリと類似した不
揮発性メモリであり、メモリのブロックを消去する回路
内プログラマブル動作を可能にするというさらなる機能
を有する。フラッシュメモリでは、以前に書込まれてい
るメモリの領域を、その領域を前もってブロック消去す
ることなく書替えることは慣用ではない。本発明はフラ
ッシュメモリに関して説明されるが、当業者には、その
教示がフラッシュメモリと同じ書込、読出および書込前
ブロック消去特性を有するデータ記憶装置にも適用でき
ることが理解されるであろう。
レーティングシステムプログラムが、そのシステムの一
部であるデータ記憶装置のデータ管理を担っている。オ
ペレーティングシステムプログラムとの互換性を達成す
るために必要かつ通常は十分であるデータ記憶装置の属
性は、これがデータ記憶媒体の如何なる位置からもデー
タを読出すことができ、これにデータを書込むことがで
きることである。したがって、データが以前に書込まれ
ているフラッシュメモリの領域には、この領域をまず消
去するまではデータが書込まれ得ないため、フラッシュ
メモリは典型的な既存のオペレーティングシステムプロ
グラムと互換性がない。
形することなく既存のコンピュータオペレーティングプ
ログラムによってフラッシュメモリを管理することを可
能にするソフトウェア製品が先行技術において提案され
ている。しかしながら、これらの先行技術のプログラム
は、フラッシュメモリを「書込1回読出数回」の装置と
して動作させる。この先行技術のソフトウェア製品は、
以前に書込まれているメモリ場所を再利用できない。最
終的にすべての場所が書込まれれば、特定のユーザの介
入なくさらにメモリを用いることができない。
コンピュータオペレーティングシステムにとってフラッ
シュメモリが如何なるフラッシュメモリ場所からもデー
タを読出すことができ、これにデータを書込むことがで
きるデータ記憶装置に見えるようにフラッシュメモリへ
のアクセスを制御し、管理するための方法(すなわちソ
フトウェア、ハードウェアのファームウェア)の提供で
ある。フラッシュメモリがランダムアクセスメモリをエ
ミュレートすることを可能にし、既存のコンピュータオ
ペレーティングシステムが、エミュレーション方法に依
存することなく、標準的なランダムアクセスメモリによ
って与えられるのと同じ態様で他のすべての必要なサポ
ートを与えることを可能にする方法を提供する。
は、書込まれていない物理アドレス場所にデータが連続
的に書込まれることを可能にするフラッシュメモリ、仮
想マッピングシステムの提供を企図するものである。仮
想メモリマップは、メモリ内のデータの場所を追跡する
ためにフラッシュメモリ物理場所アドレスを関連づけ
る。
アレイとして編成される。アレイ内の各バイトには、そ
れによってバイトが物理的にアクセス可能となるアドレ
ス番号が割当てられ、これを以下、物理アドレス空間と
称する。アレイ内の各バイトは、仮想アドレス空間と称
する第2のアドレスを有する。仮想マップと称する表が
仮想アドレスを物理アドレスに変換する。ここで、仮想
アドレス空間は必ずしも物理アドレス空間と同じサイズ
ではないことに注目されたい。
クからアドレスする。たとえば、ブロックサイズが51
2バイトとすると、物理アドレスが256211である
バイトは、ブロック500内のバイト番号211である
(256211:512=500+211)。適切な先
行技術のフラッシュメモリ技術を用いて物理的に消去さ
れ得る1つ以上の物理的に連続したフラッシュメモリの
領域(ゾーンと称する)はユニットを含み、各ユニット
は整数個のブロックを含む。
仮想ブロック0に属し、第2のエントリが仮想ブロック
1に属するといった具合の表である。表において各仮想
ブロックアドレスと関連して、対応する物理アドレスが
存在する。フラッシュメモリからの読出動作の際に、コ
ンピュータ生成アドレスが、仮想ブロックアドレスおよ
びブロック内のバイト場所としてデコードされる。仮想
メモリマップは、仮想ブロックアドレスを物理ブロック
アドレスに変換するのに用いられる。バイト位置は仮想
アドレス空間および物理アドレス空間において同じであ
る。
スが、やはり仮想ブロックアドレスおよびブロック内の
バイト場所として解釈される。仮想メモリマップはこれ
を物理メモリブロックアドレスに変換する。物理アドレ
スに対応するフラッシュメモリブロックが現在書込まれ
ていれば、一般にはこの物理アドレスに書込むのは不可
能である。したがって、書込まれていないブロックの場
所が突き止められ、これに書込まれる。仮想メモリマッ
プは、書込まれていない物理ブロックアドレスが元の仮
想アドレスにマッピングされるように変えられ、そのブ
ロックを含むユニットを消去するゾーン消去動作が行な
われるまでは元の物理アドレスは利用不可能なものとし
て示され、利用不可能なままである。書込動作はブロッ
ク全体が書替られることを仮定していることが認められ
るであろう。これが、コンピュータシステムが通常記憶
媒体内のデータにアクセスする態様である。しかしなが
ら、一般には如何なる所望の数のバイトも新しい記憶場
所に書込まれ得ることが認められるであろう。
に、そのユニットがフラッシュメモリ内の新しい物理ア
ドレス場所に書替えられる際にも変わらないで維持され
る論理ユニットアドレスが割当てられる。仮想マップ
は、物理ユニットアドレスではなく論理ユニットアドレ
スへの参照を含み、そのためユニット転送中のデータの
動きが仮想マップに影響を及ぼさない。
ックの利用マップ、すなわち、もしマッピングされるの
であればブロックの仮想アドレス、および空いているブ
ロックを示し、かつ利用不可能なブロックを示す特殊文
字を含む。
利用不可能なブロックは、利用不可能なブロックを含む
メモリユニットをフラッシュメモリ内の確保されている
書込まれていない空間に転送することによって再利用さ
れる。利用可能なブロックのみが転送動作において書込
まれ、そのため書替えられる際に、利用不可能なブロッ
クがあった場所は確保された空間には書替えられず、し
たがって利用可能である。書替えられた後、元のメモリ
ユニット空間はユニットとしてフラッシュ消去され、し
たがってそこに後続の転送を行なうことができる書込ま
れていない確保された空間となる。
ラッシュメモリに仮想マップがまずストアされ、ランダ
ムアクセスメモリには小さな二次的な仮想マップしかな
い。フラッシュメモリ内の仮想マップはブロック単位で
ストアされ、ページに編成され、そのサイズはブロック
内のバイト数とそのバイト数が表わす物理ブロックアド
レスの数との積に等しい。二次的ランダムアクセスメモ
リはページアドレスを含む。所与の仮想アドレスについ
てデータを読出す際に、アドレスをページサイズで割る
ことによってページ番号が決定される。その結果は、正
しい一次仮想マップブロックを見い出すために二次仮想
マップに示される。その余りは、フラッシュメモリ内に
ストアされた仮想マップに関する必要な物理アドレスを
計算するのに用いられる。フラッシュメモリ内の仮想マ
ップを変更するために、変更されたマップが空いたブロ
ックに書込まれ、一次マップ場所の変更を反映するよう
にランダムアクセスメモリ内の二次マップが変更され
る。とって代わられたブロックは削除と示される。
は、図面を参照して、以下の本発明の好ましい実施例の
詳細な説明よりさらに理解されるであろう。
型的なシステムでは、プロセッサ10がそのオペレーテ
ィングシステムソフトウェアとともに、ランダムアクセ
スメモリ内の特定のアドレス場所からデータを読出し、
これにデータを書込む一連の読出および書込コマンドを
発行する。当業者には認められるように、ディスクメモ
リ等のランダムアクセス記憶装置では、データは如何な
るアドレス場所にも書込まれ、またはこれから読出すこ
とが可能である。図1のシステムでは、プロセッサ10
は特定のアドレス場所においてブロック単位でフラッシ
ュメモリ12にデータを書込み、かつこれからデータを
読出す。フラッシュメモリ12のゾーンは消去され得る
が、現在書込まれているアドレス場所はゾーン全体が消
去されるまで書替えられない。本発明の教示に従えば、
フラッシュメモリコントローラ14は完全に書替可能な
仮想アドレス空間を与え、そのためフラッシュメモリ1
2はディスクメモリ等のランダムアクセスメモリをエミ
ュレートし、プロセッサオペレーティングシステムソフ
トウェアは標準的なランダムアクセスメモリに提供する
のと同じ態様で、かつフラッシュメモリ12およびその
コントローラ14に依存しない態様で、他のすべての必
要な動作サポート(たとえばファイスシステム)を与え
る。典型的なシステムはまた、従来のランダムアクセス
メモリ16を含む。コントローラ14の機能はソフトウ
ェア、ハードウェアのファームウェアで行なわれてもよ
く、図面に示されるように物理的に別個のユニットとし
ては必ずしも存在しないことが理解されるであろう。
の編成の一部が示される。フラッシュメモリは、ここで
はゾーンA、ゾーンB等で示されるいくつかのゾーンを
有する。各ゾーンは、従来の周知のフラッシュメモリ技
術を用いてブロック消去され得るいくつかの連続した物
理メモリ場所を含む。ゾーンはユニットとして編成さ
れ、ここではそのうちの4つだけが図示されており、図
面でユニット♯1、ユニット♯6、ユニットN−1、お
よび転送ユニットとして示される。各ユニットは少なく
とも1つのゾーンを含み、複数の連続したゾーンを含
む。ここでは、各ユニットが2つのゾーン(すなわち、
ユニット♯1−ゾーンAおよびゾーンB、ユニット♯2
−ゾーンCおよびゾーンD、転送ユニット−ゾーンx2
および2x)を含むものとして示される。
ックを含み、各ブロックは連続した固定長のバイト群を
含む。常に、メモリ12には書込まれていないユニット
(すなわち転送ユニット)が存在し、そのため消去され
るべきユニット内の活性ブロックは、そのユニットを消
去する前にこの書込まれていないユニットに書込むこと
ができる。
ック番号およびブロック内のオフセットとしてアドレス
指定することができる連続するバイトアドレスを含む、
整数の数の連続するデータブロック21を含む。ユニッ
トの各ブロックは、ブロック番号およびブロックでのオ
フセットによってアドレス指定することができるユニッ
トを有する。各ユニットは、ユニットヘッダ23と、ユ
ニットの各ブロックの割当状態のマップ25とを有す
る。ユニットヘッダ23は、フォーマット識別子と、ユ
ニットの論理ユニット番号とを含む。ユニット転送の間
データが物理的に移動しなければならないため、好まし
くは、フラッシュメモリ12のユニットの物理場所が変
わってもユニット番号は変化しないままである。さら
に、ヘッダは、システム全体の情報も含み得る。ブロッ
ク割当マップ25は、各ブロックのために、ユニットに
おけるそのブロックの状態およびオフセットを示すワー
ドを有する。状態の表示は、「ブロックは空いており書
込可能である」、「ブロックは削除され書込不可能であ
る」、「ブロックが割当てられユーザデータを含む」、
およびブロックの仮想アドレス(バックポインタ)であ
る。
は、メモリにおけるユニットの物理位置が変わっても変
わらない論理ユニット番号が割当られる。図4に示され
るように、コンピュータ10によって発生されたアドレ
ス29は、ブロック番号およびブロックオフセットを含
む。これらのアドレスはフラッシュコントローラ14に
よって仮想アドレスとして解釈され、仮想マップを用い
て仮想アドレス空間と物理アドレス空間とを一致させる
ようにされる。仮想マップはブロックが書替られると変
化し、したがって、仮想アドレス空間は動的なものであ
る。なお、いかなる所与の時間にも、仮想アドレス空間
における1つまたは複数のブロックが物理アドレス空間
にマッピングされていなくてもよく、さらに、物理アド
レス空間におけるブロックが書込まていなくてもよくし
たがって自由に書込まれ得ることにも注目されたい。
ト転送の間データが物理的に動くため、ユニットには、
メモリにおけるユニットの物理場所が変わっても変わら
ない論理ユニット番号が割当られる。2レベルのアドレ
ス変換の第1の段階において、仮想マップ31はブロッ
ク番号を論理ユニットアドレスにマッピングする。物理
アドレスが物理ユニット番号に関するアドレスであるの
と同様に、論理ユニットアドレスは論理ユニット番号に
関するアドレスである。論理ユニット番号は、論理アド
レスの高次2進数字であり、ビットシフト動作によって
論理アドレスから引出され得る。マップ31から得られ
た論理アドレス33は、ユニット内のブロックのオフセ
ットとともに論理ユニット番号を含む。
を論理ユニットに関する物理ユニット番号に変換する。
この2段階のアドレス変換手順により、ユニットが新し
い物理位置に移動したときにマップのブロックアドレス
を変える必要がなくなる。
たとえば、最初にアドレスブロックにおいて論理ユニッ
ト番号およびユニット内のブロックオフセットにマッピ
ングされるブロックアドレスを含む。マップ35は、ユ
ニット番号33を、ユニットに関する物理アドレス3
7、およびユニット内のブロックのアドレス37のオフ
セットにマッピングし、アドレス指定されたデータブロ
ックがこの物理的な場所から読出される。ここで、デー
タは、典型的に行なわれるように、ブロックごとに読取
られかつ書込まれると仮定する。もちろん、データは、
必要であれば、同じ原理を用いてバイトごとに書込まれ
かつ読出されてもよい。図5は、この読出動作を説明す
るためのフロー図である。上述のように、2段階のアド
レス変換の第1の段階で、仮想アドレス29は論理アド
レスにマッピングされる(ブロック40)。第2の段階
で、ブロック41において、論理アドレスはフラッシュ
メモリの物理アドレスにマッピングされる。ブロック4
2においてこの物理アドレスのデータが読出され、これ
によってこの動作が終了する。
も最初に論理ユニット番号およびユニット内のブロック
オフセットにマッピングされる。コントローラ14のア
ルゴリズムによって、このユニットに関するブロック割
当マップ25が調べられる。このアドレスに対応するブ
ロックが既に書込まれていれば、対応する物理アドレス
では書込コマンドが実行できない。空きブロックが位置
決めされるまで、制御アルゴリズムによって各ユニット
に関するブロック割当マップ25が走査される。最初の
ユニットアドレスでのブロックマップ25におけるブロ
ックの状態は割当マップにおいてブロックの削除に変え
られ、空きブロックの状態は書込に変えられる。今最初
の仮想アドレスが書込動作が行なわれる予定の新しい論
理アドレスを指すように、仮想マップ31が更新され
る。この論理アドレスは、上述のような態様で物理アド
レスにマッピングされ、ブロックがこのアドレスに書込
まれる。図6は、この書込動作を説明するためのフロー
図である。書込動作では、ブロック45で仮想アドレス
29が論理ユニットアドレスにマッピングされ、ブロッ
ク46でユニットに関するユニット割当てが調べられ
る。判定ブロック47でユニットアドレスが空いていれ
ば、ブロック48でユニットアドレスは物理アドレスに
マッピングされ、ブロック49でこの物理アドレスにデ
ータが書込まれ、動作が終了する。論理アドレスが空い
ていなければ(ブロック47)、ブロック50で、ユニ
ット表が走査され、ユニット割当表において空きアドレ
スを位置決めする。ブロック51でこの新しい論理アド
レスは物理アドレスにマッピングされ、ブロック52で
この物理アドレスにデータが書込まれる。ユニット割当
表は、最初のブロックが削除され書込不可能であり、新
しいブロックが割当てられユーザデータを含むことを示
すように更新される(ブロック53)。その後、ブロッ
ク54およびブロック55で、仮想/論理アドレスマッ
プは、最初の仮想アドレスに対応するデータの新しい物
理アドレスを指すように更新される。
せることができるようにするために、物理メモリ空間は
周期的に再利用される。上述のように、メモリの少なく
とも1つのユニットが、その全体が空きブロックからな
りかつ転送ユニットとして働くように、常に確保され
る。
され(ここでは、ユニット♯M)、現在マッピングされ
ているすべての活性ブロックが読出されその後転送ユニ
ットに書込まれる。選択されたユニット♯Mはその後ブ
ロック消去され、転送ユニットとなり、活性ブロックが
書込まれている転送ユニットはこの例ではユニット♯M
となる。図7は、転送動作の前後のユニットの状態を示
している。図8は、この転送動作のフロー図である。転
送動作において、ブロック60で転送のためのユニット
が選択され、ブロック61で、選択されたユニットの活
性データブロックが読出される。その後、ブロック62
で、これらの活性データブロックは、それらの活性デー
タブロックが最初のユニットで配置されていた場所に対
応する、転送ユニットの場所に書込まれる。その後、ブ
ロック63で、選択された最初のユニットがフラッシュ
消去され、ブロック64で、選択されたユニットが転送
ユニットとなり転送ユニットに選択されたユニットのユ
ニット番号が割当てられるように、論理/物理アドレス
マップが変えられる。
内容が自由に更新される仮想マップが必要であり、その
ようなマップは従来のランダムアクセスメモリにストア
され得る。しかし、たとえば、ブロックサイズが512
バイトであると仮定すると、仮想マップが各ブロックの
ためにエントリを含み、各エントリがたとえば4バイト
長(すなわち、4ギガバイトのメモリまでアドレス指定
できる長さ)であってもよいため、80Mバイトのフラ
ッシュメモリでは、マップ表をストアするために640
Kバイトのメモリが必要であろう。仮想マップをストア
するのに必要なランダムアクセスメモリの量を制限する
ために、本発明の好ましい実施例では、マップデータの
主要部分がフラッシュメモリ12自体にストアされ、仮
想アドレスをコンピュータから一次仮想マップにマッピ
ングする二次仮想マップがメモリ16のようなランダム
アクセスメモリにストアされる。ここで、重要なポイン
トは、二次仮想マップの構成によって、仮想マップの読
出および書込のための手順が、上述のような通常のデー
タの読出および書込のための手順と同一にされることで
ある。上述の説明におけるユーザデータおよびランダム
アクセスメモリにストアされた仮想マップ(すなわち、
二次仮想マップ)と同じ態様で扱われる仮想マップ自体
は、上述の説明における仮想マップと同等のものであ
る。
モリ12の負の仮想アドレスにあり、通常の空間は仮想
アドレス0で始まる。仮想マップは、フラッシュメモリ
にある仮想マップを通常のユーザデータと同様に読出し
かつ書込むことができるようにするように、仮想マップ
自体によって用いられる負のアドレスをマッピングし、
それ自体をマッピングする仮想マップの一部分(すなわ
ち、二次仮想マップ)だけがランダムアクセスメモリに
ある。
想マップが12個の仮想マップブロックにストアされ、
その各々のブロックが512バイトであると仮定する。
アドレスが4バイトであると仮定すると、各ブロックは
128個の物理アドレスをストアすることができる。し
たがって、各ブロックは、仮想フラッシュメモリの64
Kバイトのアドレスを含む。仮想フラッシュメモリのア
ドレスからなる各ブロックはページとして考えられ、ラ
ンダムアクセスメモリは、アドレスブロックにマッピン
グされるページアドレス(この例では、48バイトだ
け)をストアする。所与の仮想アドレスからデータを読
出す際に、アドレスはページサイズ(64Kバイト)で
除算され、アドレスがストアされる一次仮想マップのペ
ージブロックにマッピングする二次仮想メモリのページ
番号が得られる。仮想メモリページブロックを用いて、
特定のフラッシュメモリの物理アドレスにマッピングす
る手順を、上述の態様で行なうことができる。たとえ
ば、仮想アドレスをページサイズで除算した後、その剰
余を仮想メモリブロックサイズ(たとえば、512)で
除算してフラッシュメモリから読出されるアドレスのア
レイに対するインデックスを得ることができる。
に、コンピュータによって発生されたアドレスもページ
サイズで除算され、フラッシュメモリの二次仮想マップ
に対するインデックスが得られる。二次仮想マップは、
一次仮想マップブロックが読出される一次仮想マップに
マッピングし、これは、読出される、アドレス指定され
た物理ブロックにマッピングするのに用いられる。この
ブロックは書替えすることができないため、書込みされ
ていないブロックが識別され、そこに、削除として示さ
れる最初のデータブロックが上述の態様で書込まれる。
フラッシュメモリにある仮想マップを更新するために、
本質的に同じ手順がその後に行なわれる。アドレスデー
タの新しい物理場所を反映するように変形された形の仮
想マップブロックは、フラッシュメモリの書込みされて
いないブロックに書込まれ、古いブロックは削除として
示される。ランダムアクセスメモリの二次仮想メモリ
は、必要に応じて、一次仮想メモリブロックの場所の変
化を反映するように変えられる。
プロセスの第1のステップは、ブロック70で仮想アド
レスをページ番号に変換し、ブロック71で、ページ番
号を用いてフラッシュメモリ12にストアされた仮想マ
ップの関連するページブロックのアドレスをRAM16
において位置決めすることである。このアドレスでの仮
想マップのページブロックは、フラッシュメモリから読
出され(ブロック72)、上述の態様で用いられて、デ
ータ読出動作またはデータ書込動作のために仮想アドレ
スに対応する物理アドレスを位置決めする。データ書込
動作では、ブロック73で仮想マップのページブロック
を更新しなければならず、ブロック74で、更新された
ページブロックの仮想マップはフラッシュメモリの空き
物理アドレス場所に書込まれる。ブロック75で、ペー
ジブロックの仮想マップが配置されていた最初のフラッ
シュメモリアドレスが削除として示され、ブロック76
で、RAMメモリ16は、更新されたマップに関する仮
想/物理マップアドレスを指すように更新される。
に再構成することができる。フラッシュメモリにある仮
想マップは不揮発性であり、再構成する必要はない。揮
発性ランダムアクセスメモリにある二次仮想マップは、
始動時に各ユニットの頂部にあるブロック利用マップを
走査することによって再構成することができる。仮想ア
ドレスにマッピングされたとして示されたブロックが識
別され、それに応じて二次仮想マップが構成される。
して説明したが、前掲の特許請求の範囲の精神および範
囲内で本発明に変形を加えることができることが当業者
により認識されるであろう。
施例のシステムの機能的構成要素を示すブロック図であ
る。
リ編成の1レベルの図的表現である。
れるかを示す図的表現である。
ドレスに如何にマッピングされるかを示す図的表現であ
る。
状態を示す図的表現である。
シュメモリ内にストアされる動作を示すフロー図であ
る。
ラッシュメモリコントローラ、16 ランダムアクセス
メモリ、21 データブロック、23 ユニットヘッ
ダ、25 ブロック割当マップ、29 仮想アドレス、
31 仮想マップ、33 論理アドレス、35 論理ユ
ニット表、37 物理アドレス
Claims (8)
- 【請求項1】 書込まれていない物理メモリ場所のみに
データを書込むことが可能であり、連続メモリ場所のゾ
ーンを同時に消去可能なメモリのためのメモリ管理方法
であって、 前記メモリを各々が少なくとも1つのゾーンを含む複数
のユニットに編成するステップと、 各ユニットを複数のブロックに編成するステップとを含
み、前記ブロックの各々は複数の連続物理メモリ場所か
らなり、 ユニットの各ブロックの状態を活性書込、非書込または
削除として示す、各ユニットのための割当表を確立する
ステップと、 仮想アドレスを物理アドレスにマッピングするための表
を確立するステップとを含み、 前記メモリの仮想アドレスにデータを書込む際には (a) 前記仮想アドレスをユニットの物理ブロックア
ドレスにマッピングするステップと、 (b) サブパラグラフ(a)で前記仮想アドレスがマ
ッピングされた前記ユニットの前記割当表を調べて前記
物理ブロックアドレスのブロックの状態が活性書込であ
るか非書込であるかを判断するステップとを含み、 (c) 前記物理ブロックアドレスの前記ブロックが活
性書込状態であれば (1) 前記ユニットの少なくとも1つの前記割当表を
調べて非書込ブロックアドレスを識別するステップと、 (2) 前記データを前記メモリの前記非書込ブロック
アドレスに書込むステップと、 (3) 前記仮想アドレスがマッピングされた前記ユニ
ットの前記割当表を変更して前記物理ブロックアドレス
を削除として示すステップと、 (4) パラグラフ(c)(2)において前記データが
書込まれたユニットの前記割当表を変更して前記データ
が書込まれた前記非書込ブロックアドレスを活性書込と
示すステップと、 (5) 前記表を変更して仮想アドレスを物理アドレス
にマッピングし、前記表が前記仮想アドレスを、ステッ
プ(c)(2)で前記データが書込まれた前記非書込ブ
ロックの物理アドレスにマッピングするようにさせるス
テップとを含む、メモリ管理方法。 - 【請求項2】 前記ユニットのすべてのブロックが非書
込である前記メモリ内の少なくとも1つの転送ユニット
を確立するステップと、 前記少なくとも1つの転送ユニット以外の、消去される
べき選択されたユニットを周期的に識別するステップ
と、 前記選択されたユニットの各書込ブロックを読出すステ
ップと、 前記選択されたユニットの各書込ブロックを前記少なく
とも1つの転送ユニットに書込むステップと、 前記1つの転送ユニットの前記割当表を更新してすぐ前
の書込ステップで書込まれたブロックの状態を書込と示
すステップと、 前記選択されたユニットを消去するステップと、 仮想アドレスを物理アドレスにマッピングするための前
記表を更新して前記選択されたユニットが前記1つの転
送ユニットに置換され前記選択されたユニットが別の前
記少なくとも1つの転送ユニットになったことを示すス
テップとをさらに含む、請求項1に記載のメモリ管理方
法。 - 【請求項3】 書込まれていない物理メモリ場所にのみ
データを書込むことが可能であり、連続メモリ場所のゾ
ーンを同時に消去可能なメモリのためのメモリ管理方法
であって、 前記メモリに仮想アドレスを物理アドレスにマッピング
する第1の表を記憶するステップを含み、前記第1の表
は複数のページ−アドレス可能ブロックとして編成され
ており、 さらに ランダムアクセスメモリ内に、ページアドレスを前記メ
モリ内の前記ページ−アドレス可能ブロックの物理アド
レスにマッピングする第2の表を記憶するステップと、 前記メモリ内に記憶された前記第1の表のページ−アド
レス可能ブロックを、非書込物理ブロック場所に変更さ
れたページ−アドレス可能ブロックを書込むことによっ
て変更するステップと、 前記ランダムアクセスメモリ内に記憶された前記第2の
表を更新して、これが変更されたページ−アドレス可能
ブロックのページアドレスを前記変更されたページ−ア
ドレス可能ブロックが書込まれた非書込物理ブロック場
所へマッピングするようにさせるステップとを含む、メ
モリ管理方法。 - 【請求項4】 書込まれていない物理メモリ場所にのみ
データを書込むことが可能であり、連続メモリ場所のゾ
ーンを同時に消去可能なメモリのためのメモリ管理方法
であって、 メモリを各々が少なくとも1つのゾーンを含む複数のユ
ニットに編成するステップと、 各ユニットを複数のブロックに編成するステップとを含
み、前記ブロックの各々は複数の連続物理メモリ場所か
らなり、 仮想アドレスを物理アドレスにマッピングする第1の表
を確立するステップと、 前記メモリ内に複数のページ−アドレス可能ブロックと
して編成された前記第1の表を記憶させるステップと、 ランダムアクセスメモリ内に、ページを、前記メモリ内
にストアされた前記ページ−アドレス可能ブロックの物
理アドレスにマッピングする第2の表を記憶するステッ
プとを含み、 前記メモリの仮想アドレスにデータを書込む際には (a) 前記仮想アドレスからページアドレスを引出す
ステップと、 (b) 前記ページアドレスを前記メモリ内のページ−
アドレス可能ブロックにマッピングするステップと、 (c) 前記ページ−アドレス可能ブロックを読出すス
テップと、 (d) 前記ページ−アドレス可能ブロックに基づき、
前記仮想アドレスを物理アドレスにマッピングするステ
ップとを含み、 (e) 前記物理アドレスの前記ブロックが活性書込状
態であれば、 (1) 前記データを前記メモリの非書込ブロックアド
レスに書込むステップと、 (2) 前記ページ−アドレス可能ブロックを変更して
前記第1の表が前記仮想アドレスをステップ(e)
(1)で前記データが書込まれた非書込ブロックの物理
アドレスにマッピングするようにさせるステップと、 (3) ステップ(e)(2)からの変更されたページ
−アドレス可能ブロックを前記メモリ内の非書込物理ブ
ロック場所に書込むステップと、 (4) 前記ランダムアクセスメモリに記憶された前記
第2の表を更新して、変更されたページ−アドレス可能
ブロックのページアドレスを前記非書込物理ブロック場
所にマッピングさせるステップとを含む、メモリ管理方
法。 - 【請求項5】 書込まれていない物理メモリ場所のみに
データを書込むことが可能であり、連続メモリ場所のゾ
ーンを同時に消去可能なメモリのためのメモリ管理方法
であって、 前記メモリを各々が少なくとも1つのゾーンを含む複数
のユニットに編成するステップと、 各ユニットを複数のブロックに編成するステップとを含
み、前記ブロックの各々は複数の連続物理メモリ場所か
らなり、 ユニット内の各ブロック状態を活性書込、非書込または
削除として示す割当表を各ユニットについて確立するス
テップと、 仮想アドレスを物理アドレスにマッピングするための表
を確立するステップとを含み、 前記メモリの仮想アドレスにデータを書込む際には、 (a) 前記仮想アドレスをユニット内の物理ブロック
アドレスにマッピングするステップと、 (b) サブパラグラフ(a)で前記仮想アドレスがマ
ッピングされた前記ユニットの前記割当表を調べて前記
物理ブロックアドレスのブロックの状態を活性書込また
は非書込と判断するステップとを含み、 (c) 前記物理ブロックアドレスの前記ブロックが活
性書込状態であれば (1) 前記ユニットの少なくとも1つの前記割当表を
調べて非書込ブロックアドレスを識別するステップと、 (2) 前記メモリの前記非書込ブロックアドレスに前
記データを書込むステップと、 (3) 前記仮想アドレスがマッピングされた前記ユニ
ットの前記割当表を変更して前記物理ブロックアドレス
を削除と示すステップと、 (4) パラグラフ(c)(2)で前記データが書込ま
れたユニットの前記割当表を変更して前記データが書込
まれた前記非書込ブロックアドレスを活性書込と示すス
テップと、 (5) 前記表を変更して仮想アドレスを物理アドレス
にマッピングし、前記表が前記仮想アドレスをステップ
(c)(2)において前記データが書込まれた前記非書
込ブロックの物理アドレスにマッピングするようにさせ
るステップとを含み、 前記メモリの仮想アドレスからデータを読出す際には (d) 前記仮想アドレスをユニットの物理ブロックア
ドレスにマッピングするステップと、 (e) 前記メモリの前記物理アドレスから前記データ
を読出すステップとを含む、メモリ管理方法。 - 【請求項6】 前記ユニットのすべてのブロックが書込
まれていない前記メモリにおいて少なくとも1つの転送
ユニットを確立するステップと、 前記少なくとも1つの転送ユニット以外の、消去される
べき選択されたユニットを周期的に識別するステップ
と、 前記選択されたユニットの各活性書込ブロックを読出す
ステップと、 前記選択されたユニットの各活性書込ブロックを前記少
なくとも1つの転送ユニットに書込むステップと、 前記1つの転送ユニットの前記割当表を更新してすぐ前
の書込ステップで書込まれたブロックの状態を書込と示
すステップと、 前記選択されたユニットを消去するステップと、 前記表を更新して仮想アドレスを物理アドレスにマッピ
ングし、前記選択されたユニットが前記1つの転送ユニ
ットに置換され、前記選択されたユニットが別の前記少
なくとも1つの転送ユニットになったことを示すステッ
プとをさらに含む、請求項5に記載のメモリ管理方法。 - 【請求項7】 書込まれていない物理メモリ場所のみに
データを書込むことが可能であり、連続メモリ場所のゾ
ーンを同時に消去可能なメモリのためのメモリ管理方法
であって、 前記メモリを各々が少なくとも1つのゾーンを含む複数
のユニットに編成するステップと、 各ユニットを複数のブロックに編成するステップとを含
み、前記ブロックの各々は複数の連続物理メモリ場所か
らなり、 仮想アドレスを物理アドレスにマッピングする第1の表
を確立するステップと、 複数のページ−アドレス可能ブロックとして編成された
前記第1の表を前記メモリに記憶するステップと、 ランダムアクセスメモリ内に、ページを、前記メモリ内
にストアされた前記ページアドレス可能ブロックの物理
アドレスにマッピングする第2の表を記憶するステップ
とを含み、 前記メモリの仮想アドレスにデータを書込む際には (a) 前記仮想アドレスからページアドレスを引出す
ステップと、 (b) 前記ページアドレスを前記メモリのページアド
レス可能ブロックにマッピングするステップと、 (c) 前記ページ−アドレス可能ブロックを読出すス
テップと、 (d) 前記ページ−アドレス可能ブロックに基づき、
前記仮想アドレスを物理アドレスにマッピングするステ
ップとを含み、 (e) 前記物理アドレスの前記ブロックが活性書込状
態であれば (1) 前記データを前記メモリの非書込ブロックアド
レスに書込むステップと、 (2) 前記ページ−アドレス可能ブロックを変更して
前記第1のテーブルが仮想アドレスをステップ(e)
(1)で前記データが書込まれた非書込ブロックの物理
アドレスにマッピングするようにさせるステップと、 (3) ステップ(e)(2)からの変更されたページ
−アドレス可能ブロックを前記メモリ内の非書込物理ブ
ロック場所に書込むステップと、 (4) 前記ランダムアクセスメモリ内に記憶された前
記第2の表を更新してこれが変更されたページ−アドレ
ス可能ブロックのページアドレスを前記非書込物理ブロ
ック場所にマッピングするようにさせるステップとを含
み、 前記メモリの仮想アドレスからデータを読出す際には (a) 前記仮想アドレスからページアドレスを引出す
ステップと、 (b) 前記ページアドレスを前記メモリ内のページア
ドレス可能ブロックにマッピングするステップと、 (c) 前記ページ−アドレス可能ブロックを読出すス
テップと、 (d) 前記ページ−アドレス可能ブロックに基づき、
前記仮想アドレスを物理アドレスにマッピングするステ
ップと、 (e) 前記メモリの前記物理アドレスから前記データ
を読出すステップとを含む、メモリ管理方法。 - 【請求項8】 前記ユニットのすべてのブロックが書込
まれていない前記メモリの少なくとも1つの転送ユニッ
トを確立するステップと、 前記少なくとも1つの転送ユニット以外の、消去される
べき選択されたユニットを周期的に識別するステップ
と、 前記選択されたユニット内の各書込ブロックを読出すス
テップと、 前記選択されたユニットの各書込ブロックを前記少なく
とも1つの転送ユニットに書込むステップと、 前記1つの転送ユニットの前記割当表を更新してすぐ前
の書込ステップで書込まれたブロックの状態を書込と示
すステップと、 前記選択されたユニットを消去するステップと、 仮想アドレスを物理アドレスにマッピングするための前
記表を更新して、前記選択されたユニットが前記1つの
転送ユニットで置換され、前記選択されたユニットが別
の前記少なくとも1つの転送ユニットになったことを示
すステップとをさらに含む、請求項7に記載のメモリ管
理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/027,131 | 1993-03-08 | ||
US08/027,131 US5404485A (en) | 1993-03-08 | 1993-03-08 | Flash file system |
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 true JP2003085037A (ja) | 2003-03-20 |
JP3997130B2 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248493B2 (en) | 2005-06-02 | 2007-07-24 | Kabushiki Kaisha Toshiba | Memory system having improved random write performance |
JP2008527581A (ja) * | 2005-01-07 | 2008-07-24 | ハイパーストーン・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング | 論理ブロックアドレスをフラッシュメモリにある実ブロックアドレスに変換する方法 |
JP2008243156A (ja) * | 2007-03-29 | 2008-10-09 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2010066914A (ja) * | 2008-09-09 | 2010-03-25 | Toshiba Corp | 統合メモリ管理装置及びメモリ管理方法 |
Families Citing this family (558)
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 |
US5522069A (en) * | 1993-04-30 | 1996-05-28 | Zenith Data Systems 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 | 富士通株式会社 | 記憶装置のメモリ管理装置 |
AUPN105495A0 (en) * | 1995-02-10 | 1995-03-09 | Aristocrat Leisure Industries Pty Ltd | Dram emulator |
AU692670B2 (en) * | 1995-02-10 | 1998-06-11 | Aristocrat Technologies Australia Pty Limited | 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 | 半導体ディスク装置及びそのメモリ管理方法 |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
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 |
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 |
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 | 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 |
JPH0997314A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | Icカード装置 |
JPH0997207A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP3703181B2 (ja) * | 1995-09-28 | 2005-10-05 | キヤノン株式会社 | フラッシュrom管理方法及び装置 |
US5933847A (en) | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
JP3727983B2 (ja) * | 1995-09-28 | 2005-12-21 | キヤノン株式会社 | 電子カメラ |
JPH0997206A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
US6014724A (en) | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US5987478A (en) * | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
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 |
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 |
US5937434A (en) * | 1997-02-14 | 1999-08-10 | Intel Corporation | Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
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 |
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 | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
JP3680142B2 (ja) * | 1997-12-05 | 2005-08-10 | 東京エレクトロンデバイス株式会社 | 記憶装置及びアクセス方法 |
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 |
US6314557B1 (en) | 1998-12-14 | 2001-11-06 | Infineon Technologies Development Center Tel Aviv Ltd | Hybrid computer programming environment |
JP4046877B2 (ja) | 1998-12-14 | 2008-02-13 | 株式会社ルネサステクノロジ | 一括消去型不揮発性メモリおよび携帯電話 |
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 |
AU2006200756B2 (en) * | 1999-04-05 | 2008-04-03 | Sandisk Il Ltd | A USB flash memory device for connecting to a USB-defined BUS |
US6148354A (en) * | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
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 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
US8102662B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | USB package with bistable sliding mechanism |
US7466556B2 (en) * | 1999-08-04 | 2008-12-16 | Super Talent Electronics, Inc. | Single chip USB packages with swivel cover |
US7535719B2 (en) * | 1999-08-04 | 2009-05-19 | Super Talent Electronics, Inc. | Single chip USB packages with contact-pins cover |
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 |
US7690031B2 (en) * | 2000-01-06 | 2010-03-30 | Super Talent Electronics, Inc. | Managing bad blocks in flash memory for electronic data flash card |
US7872871B2 (en) * | 2000-01-06 | 2011-01-18 | Super Talent Electronics, Inc. | Molding methods to manufacture single-chip chip-on-board USB device |
US7447037B2 (en) * | 1999-08-04 | 2008-11-04 | Super Talent Electronics, Inc. | Single chip USB packages by various assembly methods |
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 |
US8141240B2 (en) | 1999-08-04 | 2012-03-27 | Super Talent Electronics, Inc. | Manufacturing method for micro-SD flash memory card |
US8625270B2 (en) | 1999-08-04 | 2014-01-07 | Super Talent Technology, Corp. | USB flash drive with deploying and retracting functionalities using retractable cover/cap |
US7318117B2 (en) | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
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 |
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 |
US7702984B1 (en) | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | High volume testing for USB electronic data 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 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
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 |
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 |
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 |
US6782205B2 (en) | 2001-06-25 | 2004-08-24 | Silicon Light Machines | Method and apparatus for dynamic equalization in wavelength division multiplexing |
US6747781B2 (en) | 2001-06-25 | 2004-06-08 | Silicon Light Machines, Inc. | Method, apparatus, and diffuser for reducing laser speckle |
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 |
US7299463B2 (en) * | 2001-09-28 | 2007-11-20 | Intel Corporation | Method for atomically updating a plurality of files |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123419D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
US6678785B2 (en) | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
GB0123421D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123417D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
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 |
US6950918B1 (en) | 2002-01-18 | 2005-09-27 | 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 |
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 |
US6728023B1 (en) | 2002-05-28 | 2004-04-27 | Silicon Light Machines | Optical device arrays with optimized image resolution |
US6767751B2 (en) | 2002-05-28 | 2004-07-27 | Silicon Light Machines, Inc. | Integrated driver process flow |
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 |
US6813059B2 (en) | 2002-06-28 | 2004-11-02 | Silicon Light Machines, Inc. | Reduced formation of asperities in contact micro-structures |
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 |
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é |
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 |
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
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 |
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 | 한국전자통신연구원 | 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법 |
WO2004059624A1 (en) * | 2002-12-24 | 2004-07-15 | Lg Electronics, Inc. | Dual journaling store method and storage medium thereof |
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 |
US6806997B1 (en) | 2003-02-28 | 2004-10-19 | Silicon Light Machines, Inc. | Patterned diffractive light modulator ribbon for PDL reduction |
US6829077B1 (en) | 2003-02-28 | 2004-12-07 | Silicon Light Machines, Inc. | Diffractive light modulator with dynamically rotatable diffraction plane |
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 |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7296144B2 (en) * | 2003-11-24 | 2007-11-13 | Sandisk Il Ltd. | Method of traceless portable application execution |
US7872873B2 (en) | 2003-12-02 | 2011-01-18 | Super Talent Electronics, Inc. | Extended COB-USB with dual-personality contacts |
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 |
US7440286B2 (en) * | 2005-04-21 | 2008-10-21 | Super Talent Electronics, Inc. | Extended USB dual-personality card reader |
KR100608602B1 (ko) * | 2003-12-10 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
US20050132178A1 (en) * | 2003-12-12 | 2005-06-16 | Sridhar Balasubramanian | Removable flash backup for storage controllers |
US7275686B2 (en) | 2003-12-17 | 2007-10-02 | Lexar Media, Inc. | Electronic equipment point-of-sale activation to avoid theft |
JP2005190036A (ja) | 2003-12-25 | 2005-07-14 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
JP4463042B2 (ja) | 2003-12-26 | 2010-05-12 | 株式会社日立製作所 | ボリュームの動的割り付け機能を有する記憶装置システム |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US8504798B2 (en) * | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
JP2008524759A (ja) * | 2004-01-15 | 2008-07-10 | サンディスク アイエル リミテッド | ブックマーク付き着脱式メディア |
BRPI0418426A (pt) * | 2004-01-19 | 2007-05-22 | Trek 2000 Int Ltd | dispositivo portátil de armazenamento de dados usando uma tabela de mapeamento de endereço de memória |
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 |
US8019928B2 (en) * | 2004-02-15 | 2011-09-13 | Sandisk Il Ltd. | Method of managing a multi-bit-cell flash memory |
US7716413B2 (en) * | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
EP2506486A1 (en) * | 2004-02-23 | 2012-10-03 | Lexar Media, Inc. | Secure 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 |
US20060004951A1 (en) * | 2004-06-30 | 2006-01-05 | Rudelic John C | Method and apparatus to alter code in a memory |
KR100568115B1 (ko) * | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
US20080195817A1 (en) * | 2004-07-08 | 2008-08-14 | Super Talent Electronics, Inc. | SD Flash Memory Card Manufacturing Using Rigid-Flex PCB |
US7817469B2 (en) * | 2004-07-26 | 2010-10-19 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7957189B2 (en) * | 2004-07-26 | 2011-06-07 | Sandisk Il Ltd. | Drift compensation in a flash memory |
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 |
US7386700B2 (en) * | 2004-07-30 | 2008-06-10 | Sandisk Il Ltd | Virtual-to-physical address translation in a flash file system |
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 |
EP3422583B1 (en) * | 2004-08-30 | 2020-07-08 | 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 |
WO2006063941A2 (en) * | 2004-12-14 | 2006-06-22 | Sony Ericsson Mobile Communications Ab | Method and means for an efficient memory usage |
EP1672487A1 (en) * | 2004-12-14 | 2006-06-21 | 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 |
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 |
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 |
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 |
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 |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US9104315B2 (en) * | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US8321686B2 (en) * | 2005-02-07 | 2012-11-27 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
US8108691B2 (en) * | 2005-02-07 | 2012-01-31 | Sandisk Technologies Inc. | Methods used in a 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 |
JP2008530683A (ja) * | 2005-02-11 | 2008-08-07 | サンディスク アイエル リミテッド | Nandフラッシュメモリ・システム・アーキテクチャ |
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 |
US7389397B2 (en) * | 2005-06-01 | 2008-06-17 | Sandisk Il Ltd | Method of storing control information in a large-page flash memory device |
US7334725B2 (en) * | 2005-06-01 | 2008-02-26 | San Disk Il Ltd. | Flash memory device within a business card |
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 |
US7743409B2 (en) * | 2005-07-08 | 2010-06-22 | Sandisk Corporation | Methods used in a 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 |
US8438647B2 (en) | 2005-07-14 | 2013-05-07 | Imation Corp. | Recovery of encrypted data from a secure storage device |
US8505075B2 (en) * | 2005-07-14 | 2013-08-06 | Marble Security, Inc. | Enterprise device recovery |
US8321953B2 (en) * | 2005-07-14 | 2012-11-27 | Imation Corp. | Secure storage device with offline code entry |
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 |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
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 |
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 |
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 |
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 |
US8855714B2 (en) | 2005-09-14 | 2014-10-07 | Sandisk Il Ltd. | Removable media player for mobile phones |
US7536540B2 (en) * | 2005-09-14 | 2009-05-19 | Sandisk Corporation | Method of hardware driver integrity check of memory card controller firmware |
US7631245B2 (en) * | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | 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 |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7529905B2 (en) | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7526715B2 (en) * | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
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 |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US20080276036A1 (en) * | 2005-12-21 | 2008-11-06 | Nxp B.V. | Memory with Block-Erasable Location |
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 |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US8848442B2 (en) * | 2006-03-06 | 2014-09-30 | 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 |
US8042029B2 (en) | 2006-05-21 | 2011-10-18 | Ramot At Tel Aviv University Ltd. | Error correction decoding by trial and error |
US7583545B2 (en) * | 2006-05-21 | 2009-09-01 | Sandisk Il Ltd | Method of storing data in a multi-bit-cell flash memory |
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 | 삼성전자주식회사 | 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 |
US20080046641A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080052524A1 (en) * | 2006-08-24 | 2008-02-28 | Yoram Cedar | Reader for one time password generating device |
US20080072058A1 (en) * | 2006-08-24 | 2008-03-20 | Yoram Cedar | Methods in a reader for one time password generating device |
US20090265403A1 (en) * | 2006-08-31 | 2009-10-22 | Keiji Fukumoto | File system |
KR100802059B1 (ko) * | 2006-09-06 | 2008-02-12 | 삼성전자주식회사 | 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 |
US7886204B2 (en) * | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
US7716538B2 (en) * | 2006-09-27 | 2010-05-11 | Sandisk Corporation | Memory with cell population distribution assisted read margining |
US8074022B2 (en) * | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
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 |
US9984012B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Read writeable randomly accessible non-volatile memory modules |
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 |
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
US8949555B1 (en) | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US8051253B2 (en) * | 2006-09-28 | 2011-11-01 | Virident Systems, Inc. | Systems and apparatus with programmable memory control for heterogeneous main memory |
US7761625B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules, and related technologies |
KR100849221B1 (ko) | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
US8189328B2 (en) | 2006-10-23 | 2012-05-29 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
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 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
WO2008055272A2 (en) * | 2006-11-04 | 2008-05-08 | Virident Systems, Inc. | Integrating data from symmetric and asymmetric memory |
KR100816761B1 (ko) * | 2006-12-04 | 2008-03-25 | 삼성전자주식회사 | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
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 |
US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
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 |
WO2008070191A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a reconfigurable baseboard management controller |
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 |
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 |
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 |
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 |
US8102658B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | Micro-SD to secure digital adaptor card and manufacturing method |
US7789680B2 (en) * | 2007-07-05 | 2010-09-07 | Super Talent Electronics, Inc. | USB device with connected cap |
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 |
US8316277B2 (en) * | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
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 |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US8738841B2 (en) | 2007-12-27 | 2014-05-27 | Sandisk Enterprise IP LLC. | Flash memory controller and system including data pipelines incorporating multiple buffers |
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 |
WO2009107506A1 (en) | 2008-02-29 | 2009-09-03 | Kabushiki Kaisha Toshiba | Memory system |
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 |
US20100017558A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and re-writable 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 |
KR20110050404A (ko) | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품 |
JP2009282678A (ja) * | 2008-05-21 | 2009-12-03 | Hitachi Ltd | フラッシュメモリモジュール及びストレージシステム |
KR101497074B1 (ko) * | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US9513695B2 (en) | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
US8417873B1 (en) | 2008-06-24 | 2013-04-09 | Virident Systems, Inc. | Random read and read/write block accessible memory |
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 |
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 |
US8065469B2 (en) | 2009-04-20 | 2011-11-22 | Imation Corp. | Static wear leveling |
US8176295B2 (en) | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
TWI457940B (zh) * | 2009-05-15 | 2014-10-21 | Macronix Int Co Ltd | 區塊為基礎快閃記憶體之位元組存取 |
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8307258B2 (en) * | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
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 |
JP5999645B2 (ja) | 2009-09-08 | 2016-10-05 | ロンギチュード エンタープライズ フラッシュ エスエイアールエル | ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法 |
CN102597910B (zh) | 2009-09-09 | 2015-03-25 | 弗森-艾奥公司 | 存储设备中用于功率减小管理的装置、系统及方法 |
US8601222B2 (en) | 2010-05-13 | 2013-12-03 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
EP2476079A4 (en) * | 2009-09-09 | 2013-07-03 | Fusion Io Inc | APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION |
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 |
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 |
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 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 배드 블록 관리 방법 |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
WO2012016089A2 (en) | 2010-07-28 | 2012-02-02 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and 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 |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
US8527693B2 (en) | 2010-12-13 | 2013-09-03 | Fusion IO, Inc. | Apparatus, system, and method for auto-commit memory |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
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 |
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 |
WO2012100087A2 (en) | 2011-01-19 | 2012-07-26 | Fusion-Io, Inc. | Apparatus, system, and method for managing out-of-service conditions |
CN102609214A (zh) * | 2011-01-21 | 2012-07-25 | 鸿富锦精密工业(深圳)有限公司 | 将biosrom模拟成磁盘的的系统及方法 |
US8966184B2 (en) | 2011-01-31 | 2015-02-24 | Intelligent Intellectual Property Holdings 2, LLC. | Apparatus, system, and method for managing eviction of data |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
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 |
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 |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
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 |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
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 |
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 |
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 |
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 |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
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 |
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 |
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 |
US8793556B1 (en) | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of 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 |
US9047214B1 (en) | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
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 |
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 |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US9009565B1 (en) | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping 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 |
US9081701B1 (en) | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding 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 |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9558108B2 (en) | 2013-04-15 | 2017-01-31 | Macronix International Co., Ltd. | Half block management for flash storage devices |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
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 |
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 |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
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 |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
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 |
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 |
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 |
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 |
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 |
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 |
US20170168956A1 (en) * | 2015-12-15 | 2017-06-15 | Facebook, Inc. | Block cache staging in content delivery network caching system |
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 |
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線透視撮影装置 |
TW202403560A (zh) * | 2022-07-08 | 2024-01-16 | 瑞昱半導體股份有限公司 | 資料存取方法及資料存取系統 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04137077A (ja) * | 1990-09-28 | 1992-05-12 | Fuji Photo Film Co Ltd | メモリカードにおけるデータ記録方法およびメモリカードシステム |
GB2251323A (en) * | 1990-12-31 | 1992-07-01 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JPH05282880A (ja) * | 1992-01-10 | 1993-10-29 | Toshiba Corp | 半導体ディスク装置 |
JPH0695955A (ja) * | 1992-09-09 | 1994-04-08 | Ricoh Co Ltd | フラッシュ・ファイル・システム |
JPH06124596A (ja) * | 1991-11-28 | 1994-05-06 | Hitachi Ltd | フラッシュメモリを使用した記憶装置 |
Family Cites Families (6)
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 | データベースにおける資源管理方式 |
EP0473767A1 (en) * | 1990-03-23 | 1992-03-11 | Eastman Kodak Company | Virtual memory management and allocation arrangement for digital data processing system |
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 |
-
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 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 AU AU62699/94A patent/AU6269994A/en not_active Abandoned
- 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
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04137077A (ja) * | 1990-09-28 | 1992-05-12 | Fuji Photo Film Co Ltd | メモリカードにおけるデータ記録方法およびメモリカードシステム |
GB2251323A (en) * | 1990-12-31 | 1992-07-01 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JPH06124596A (ja) * | 1991-11-28 | 1994-05-06 | Hitachi Ltd | フラッシュメモリを使用した記憶装置 |
JPH05282880A (ja) * | 1992-01-10 | 1993-10-29 | Toshiba Corp | 半導体ディスク装置 |
JPH0695955A (ja) * | 1992-09-09 | 1994-04-08 | Ricoh Co Ltd | フラッシュ・ファイル・システム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527581A (ja) * | 2005-01-07 | 2008-07-24 | ハイパーストーン・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング | 論理ブロックアドレスをフラッシュメモリにある実ブロックアドレスに変換する方法 |
US7248493B2 (en) | 2005-06-02 | 2007-07-24 | Kabushiki Kaisha Toshiba | Memory system having improved random write performance |
JP2008243156A (ja) * | 2007-03-29 | 2008-10-09 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4636046B2 (ja) * | 2007-03-29 | 2011-02-23 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2010066914A (ja) * | 2008-09-09 | 2010-03-25 | Toshiba Corp | 統合メモリ管理装置及びメモリ管理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0688450B1 (en) | 1998-11-11 |
EP0688450A1 (en) | 1995-12-27 |
DE69414556D1 (de) | 1998-12-17 |
FI954235A (fi) | 1995-11-08 |
KR100292011B1 (ko) | 2001-09-17 |
KR960701402A (ko) | 1996-02-24 |
ZA941446B (en) | 1994-09-26 |
AU6269994A (en) | 1994-09-26 |
IL108766A (en) | 1996-12-05 |
US5404485A (en) | 1995-04-04 |
CN1078364C (zh) | 2002-01-23 |
WO1994020906A1 (en) | 1994-09-15 |
JP3997130B2 (ja) | 2007-10-24 |
TW264547B (ja) | 1995-12-01 |
FI105726B (fi) | 2000-09-29 |
IL108766A0 (en) | 1994-05-30 |
FI954235A0 (fi) | 1995-09-08 |
DE69414556T2 (de) | 1999-05-06 |
EP0688450A4 (en) | 1995-10-20 |
JPH08510072A (ja) | 1996-10-22 |
CN1098526A (zh) | 1995-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3997130B2 (ja) | メモリ管理方法 | |
USRE46404E1 (en) | Flash memory management method | |
EP0852765B1 (en) | Memory management | |
US5905993A (en) | Flash memory card with block memory address arrangement | |
JP4695801B2 (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
US20190087326A1 (en) | Data Storage Device and Operating Method Thereof | |
KR100495722B1 (ko) | 개선된 플래시 파일 시스템 | |
KR100449708B1 (ko) | 플래시 메모리 관리방법 | |
US7356641B2 (en) | Data management in flash memory | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
JPH06250798A (ja) | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 | |
US20030046482A1 (en) | Data management in flash memory | |
US6581134B2 (en) | Logic partitioning of a nonvolatile memory array | |
KR20100062842A (ko) | 공간 데이터의 페이지 매핑 방법 | |
CN117555478A (zh) | 一种基于闪存的模拟eeprom读写方法 |
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 |