JP2007280428A - メモリ管理 - Google Patents
メモリ管理 Download PDFInfo
- Publication number
- JP2007280428A JP2007280428A JP2007191421A JP2007191421A JP2007280428A JP 2007280428 A JP2007280428 A JP 2007280428A JP 2007191421 A JP2007191421 A JP 2007191421A JP 2007191421 A JP2007191421 A JP 2007191421A JP 2007280428 A JP2007280428 A JP 2007280428A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- data block
- lookup table
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- 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
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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
【課題】各論理セクタアドレス値用のデータブロックおよび複数の予備データブロックを使用して、論理セクタアドレスと対応する物理アドレスとの間のマッピングを維持する方法を提供すること。
【解決手段】各論理セクタアドレス値用のデータブロックおよび複数の予備データブロックを使用して、論理セクタアドレスと対応する物理アドレスとの間のマッピングを維持する方法。各データブロックは、直接アドレスフィールドおよび間接アドレスフィールドを含む。論理セクタアドレスにデータが最初に書き込まれたときに、直接アドレスフィールドは、対応する物理アドレスでプログラムされる。その後、同じ論理セクタアドレスにデータが書き込まれるたびに、間接アドレスフィールドが予備データブロックのアドレスでプログラムされ、予備データブロックの直接アドレスフィールドがそのデータの新しい物理アドレスでプログラムされる。
【選択図】図1A
【解決手段】各論理セクタアドレス値用のデータブロックおよび複数の予備データブロックを使用して、論理セクタアドレスと対応する物理アドレスとの間のマッピングを維持する方法。各データブロックは、直接アドレスフィールドおよび間接アドレスフィールドを含む。論理セクタアドレスにデータが最初に書き込まれたときに、直接アドレスフィールドは、対応する物理アドレスでプログラムされる。その後、同じ論理セクタアドレスにデータが書き込まれるたびに、間接アドレスフィールドが予備データブロックのアドレスでプログラムされ、予備データブロックの直接アドレスフィールドがそのデータの新しい物理アドレスでプログラムされる。
【選択図】図1A
Description
本発明は、データ記憶システムに関し、具体的には、書き込まれていない記憶場所にだけデータを書き込むことができ、これによって、記憶されたデータを変更するたびにブロック全体を消去することをしなくてもメモリに記憶された情報を更新することができるメモリ管理方法に関する。本発明の一適用例は、データの主記憶装置にフラッシュメモリを使用し、論理アドレスから物理アドレスへの変換にフラッシュルックアップテーブルを使用するソリッドステートメモリにある。本発明は、フラッシュEPROMセル、カルコゲニドメモリセルおよびフェロオプティックセルなどのいくつかの異なるメモリセルとともに使用することができる。ソリッドステートディスクは、それらを使用しているホストから論理セクタアドレスの形態で(または、ホストからのシリンダ−ヘッド−セクタアドレス指定の変換によって)アドレスを受け取る。この論理セクタアドレス指定は連続的である。論理セクタアドレスは物理セクタアドレスにマップされる。物理セクタアドレスは、物理メモリ内のセクタの順序を定義する。論理セクタは、任意の順序で物理セクタに割り当てることができるため、この変換を、アルゴリズムによって実行することはできず、ある形態のマッピングが必要となる。このマッピングは通常、ルックアップテーブルによって実行される。しかし、ルックアップテーブルも同様にフラッシュメモリセルから構成される場合には、個々のエントリは、ブロック消去によってしか更新することができない。これは非常に能率が悪い。
近年、ソリッドステートディスク装置の分野に急に活発な動きがある。ラップトップおよびパームトップポータブルコンピュータ、ならびにPCMCIA規格の出現でこの動きは強まった。フラッシュメモリをメインのデータ記憶装置として使用する際に必要な制御方法に関するいくつかの特許が出願されている。
WO9420906はフラッシュファイルシステムに関する。このシステムは、メインフラッシュメモリの書込み可能なブロックに関する情報を記憶するブロック割当てマップを使用する。ブロックを更新するときには、使用していないブロックが見つかるまで割当てマップがスキャンされる。システムのメモリ再生を容易にするために転送ユニットが使用される。転送ユニットは、書き込まれていない消去済みメモリブロックである。古いデータ(古いブロック)を含むメモリブロックのアクティブデータ(現在有効なデータ)は、転送ユニットの同じ記憶場所(新しいブロック)に書き込まれ、古いブロックは消去される。次いで、この古いブロックが転送ユニットになる。WO9420906に開示された発明は、ブロック割当てマップの変更を反映させるために、ランダムアクセスメモリを必要とする。本発明は、ランダムアクセスメモリを必要とせず、データ更新の管理に必要な全ての機能を、フラッシュEPROMなどのブロック消去可能な不揮発性メモリ上で実行することができる。
EP0597706は、ホストが与えた論理セクタアドレスを半導体メモリの物理アドレスにマップするマップROMを使用するソリッドステート周辺記憶装置を開示している。半導体メモリの全ての不良セクタのアドレスがマップROMに記録される。このマッピングを制御するためにマイクロシーケンサが使用される。新しい物理アドレスが必要となったときにマップROMは更新される。この発明は、フローティングゲートメモリに関する。この特許出願に記載されたマップROM更新方法によると、各エントリが独立に更新できるようにマップROMはバイト単位で消去可能でなければならないので、フラッシュメモリをマップROMにすることができない。
WO9510083は、CAM(content addressable memory)を使用してフラグフィールドを含むアドレスを探索することを開示している。フラグが特定の値に設定されているアドレスのみが一致するとして探し出されるような方法でアドレスは探索される。アドレスが、古くなったデータを記憶しているときにはそのアドレスのフラグはリセットされる。したがって、有効データを含むアドレスのフラグだけがセットされ、古いデータを含む同じ論理アドレス(だだし物理アドレスは異なる)のフラグはリセットされる。
本発明は、固有の物理アドレスによってそれぞれの位置を見つけることが可能な複数のデータ記憶手段と、前記複数のデータ記憶手段の各物理アドレスを対応する複数の論理アドレスに関係づけたルックアップテーブルを記憶した記憶手段を含む制御手段とを備えたデータ記憶システムであって、前記制御手段(12、22)が、直接アドレスフィールド(14)および間接アドレスフィールド(16)をそれぞれが含む複数の予備データブロックを含み、データが前記論理アドレスに最初に書き込まれたときに、それぞれの直接アドレスフィールドが対応する第二のアドレスでプログラムされ、その後、前記論理アドレスにデータが書き込まれるたびに、間接アドレスフィールドが予備データブロックのアドレスでプログラムされ、前記予備データブロックの直接アドレスフィールドが前記論理アドレスに対応する新しい第二のアドレスでプログラムされるように前記制御手段が構成されていることを特徴とするデータ記憶システムを提供する。
第一のアドレスと対応する第二のアドレスとの間のマッピングを維持する方法であって、前記データブロックがポインタフラグを含む方法。
第一のアドレスと対応する第二のアドレスとの間のマッピングを維持する方法であって、前記ポインタフラグが、前記データブロックの他の部分とは独立に書込み可能である方法。
第一のアドレスと対応する第二のアドレスとの間のマッピングを維持する方法であって、対応するデータブロックの間接アドレスフィールドがプログラムされるまで前記ポインタフラグが消去状態にある方法。
第一のアドレスと対応する第二のアドレスとの間のマッピングを維持する方法であって、ポインタフラグを読み取って、直接アドレスフィールドと間接アドレスフィールドのどちらを読み出すかを判定する方法。
第一のアドレスと対応する第二のアドレスとの間のマッピングを維持する方法であって、所定の条件に達したときにデータブロックがクリーンアップされる方法。
第一のアドレスと対応する第二のアドレスとの間のマッピングを維持する方法であって、使用していないデータブロックの数が所定のしきい値を下まわったときにデータブロックがクリーンアップされる方法。
第一のアドレスと対応する第二のアドレスとの間のマッピングを維持する方法であって、使用していないデータブロックの数が所定のしきい値を下まわったときにデータブロックがクリーンアップされる方法。
本発明を、添付図面を参照して例示的な方法で具体的に説明する。
第1A図、第1B図および第1C図は、間接アドレスフィールドおよび直接アドレスフィールドを使用した二つのアドレス間の変換の原理を示す図である。
すべてのソリッドステートメモリシステムは、ホストから受け取った論理セクタアドレスを、主記憶装置として使用している特定のソリッドステートメモリ装置をアドレスする
のに使用できる物理アドレスに変換しなければならない。したがって、何らかの論理−物理アドレス変換が必要となる。本発明のこの実施形態は、二つのルックアップテーブルを使用して、論理セクタアドレスと対応する物理セクタアドレスの間のマッピングを維持する。本発明の他の実施形態では、テーブルを一つだけ使用する。このテーブルは、前記実施形態の二つのルックアップテーブルと同じ機能を実行する。
のに使用できる物理アドレスに変換しなければならない。したがって、何らかの論理−物理アドレス変換が必要となる。本発明のこの実施形態は、二つのルックアップテーブルを使用して、論理セクタアドレスと対応する物理セクタアドレスの間のマッピングを維持する。本発明の他の実施形態では、テーブルを一つだけ使用する。このテーブルは、前記実施形態の二つのルックアップテーブルと同じ機能を実行する。
第1A図について説明する。各論理セクタアドレス値用のルックアップテーブルエントリ10は、論理セクタアドレスに一次ルックアップテーブルのオフセットを加えたものに等しいアドレスによって定義される一次ルックアップテーブル12内の記憶場所に置かれる。
一次ルックアップテーブル12の各エントリは少なくとも三つのフィールドを含む。第一のフィールドは、メインメモリアドレス14を、第二のフィールドはリンクアドレス16をそれぞれ記憶するものであり、第三のフィールドはポインタフラグ18である。一次ルックアップテーブル12で使用される各エントリは、メインメモリ20内のセクタの物理アドレスを直接に指すか、または二次ルックアップテーブル22への間接的なポインタを提供する。この実施形態では、一次ルックアップテーブルのエントリがメインメモリ20を指すのか、または二次ルックアップテーブル22を指すのかを判定する手段は、関連したテーブルエントリのポインタフラグISを読むことである。ポインタフラグ18が消去されている(第1A図および第1B図には英字Eで示されている)場合には、メインメモリアドレスが有効である。このポインタが消去されていない(第1A図および第1B図には英字Uで示されている)場合には、二次ルックアップテーブルアドレスが有効である。
メインメモリ20にデータが全く記憶されていない場合を考える。最初にデータが書き込まれるときには、記憶するデータとともに論理セクタアドレスがホストから供給される。このデータは、メインメモリ20の物理記憶場所24に記憶され、メインメモリ20内のこの物理記憶場所24のアドレスは、ホストから供給された論理セクタアドレスに対応する一次ルックアップテーブル12のエントリ26に記憶される。もし後で、このデータがホストによって削除され、新しいデータが、この古いデータと同じ論理セクタアドレスとともに送信された場合には、この新データは、使用されていないメインメモリ記憶場所28に記憶される(フラッシュメモリでは、一度書き込んでしまうと消去サイクルを必要とするので、以前のメインメモリ記憶場所24に上書きすることはできない)。次に、一次ルックアップテーブル12を更新しなければならない。これが第1B図に示されている。
第1B図に、ルックアップテーブルを更新して、論理セクタアドレスと新しい物理アドレスの間の正しいマッピングを保証する方法を示す。
一次ルックアップテーブル12のエントリ26を、新データ用のメインメモリ内の記憶場所28のアドレスで更新する必要がある。これは、論理セクタアドレス26に対応するエントリのポインタフラグを論理0(設定なし)にし、二次ルックアップテーブル22の使用していないエントリの一つ(以下、二次ルックアップテーブルxxxエントリ32と称する)にリンクアドレスを書き込むことよって実施される。ポインタフラグはアドレス可能なユニットを占め、消去サイクル以降、書き込まれていないので、ポインタフラグへの書き込みは可能である。ポインタの非活動状態は消去状態(論理1)である。新データが書き込まれた記憶場所のアドレスは、二次ルックアップテーブルxxxエントリ32のメインメモリアドレスフィールド14に記憶される。
もし後で、新データがホストによって削除され、別のデータ(以下、最新データと称す
る)が送信された場合には、この最新データは、メインメモリの別の使用していない記憶場所34(以下、使用していない最新の記憶場所と称する)に記憶される。これが第1C図に示されている。一次ルックアップテーブル12は変更されていないが、二次ルックアップテーブル22のxxxエントリのポインタフラグ30が書き込まれて設定なし(論理0)になっており、リンクアドレスフィールドが、二次ルックアップテーブルの使用していないエントリ(以下、二次ルックアップテーブルyyyエントリ36と称する)を指すように書き込まれている。次いで、使用していない最新の記憶場所のアドレスが、二次ルックアップテーブルyyyエントリ36のメインメモリフィールド14に記憶される。このプロセスは、二次ルックアップテーブル22の使用していないエントリの数が所定の値を下まわるまで継続される。
る)が送信された場合には、この最新データは、メインメモリの別の使用していない記憶場所34(以下、使用していない最新の記憶場所と称する)に記憶される。これが第1C図に示されている。一次ルックアップテーブル12は変更されていないが、二次ルックアップテーブル22のxxxエントリのポインタフラグ30が書き込まれて設定なし(論理0)になっており、リンクアドレスフィールドが、二次ルックアップテーブルの使用していないエントリ(以下、二次ルックアップテーブルyyyエントリ36と称する)を指すように書き込まれている。次いで、使用していない最新の記憶場所のアドレスが、二次ルックアップテーブルyyyエントリ36のメインメモリフィールド14に記憶される。このプロセスは、二次ルックアップテーブル22の使用していないエントリの数が所定の値を下まわるまで継続される。
二次ルックアップテーブル22がいっぱいになった場合には、クリーンアップ動作が必要となる。一次ルックアップテーブル12をクリーンアップするときには、情報保護のため、古いルックアップテーブルを消去する前に新しいルックアップテーブルを生成しなければならない。クリーンアップ動作を実行する一つの方法は、一次ルックアップテーブル12の上または下に少なくとも一つの消去状態の消去可能フラッシュブロックを確保することである。一次ルックアップテーブル12の一つのエントリを、消去されているブロックにコピーし、次いで、この古いエントリを消去する。各エントリがコピーされるときに、そのエントリ用のメインメモリアドレスフィールド14が、関連した有効な二次ルックアップテーブルエントリ(ポインタフラグが消去状態にあるエントリ)からコピーされる。その結果、一次ルックアップテーブル12が一消去ブロック分だけ上または下に移動する。このプロセスが完了すると、二次ルックアップテーブル22を消去できるようになる。
本発明の他の実施形態では、二つのフィールドのみ、すなわちメインメモリアドレスおよび二次ルックアップテーブルアドレスのみが使用される。二次ルックアップテーブルアドレスが有効データを含む場合には、メインメモリアドレスの代わりにそのアドレスが読み出される。二次ルックアップテーブルアドレスが有効データを含まない場合には、メインメモリアドレスが読み出される。
Claims (1)
- ホストシステムとともに用いられるデータ記憶システムであって、
該データ記憶システムは、
複数の消去可能なソリッドステートデータ記憶手段(20)であって、該複数の消去可能なソリッドステートデータ記憶手段の各々は、一意的な物理アドレスによって位置を特定することができ、かつ、一度書き込まれると、再書き込みされる前に消去されなければならない、複数の消去可能なソリッドステートデータ記憶手段(20)と、
該ホストから受け取られた複数の論理アドレスを該複数の消去可能なソリッドステートデータ記憶手段の対応する複数の物理アドレスにマッピングするルックアップテーブルを記憶する不揮発性のブロック消去可能な記憶手段を含む制御手段(12、22)と
を備え、
該制御手段の記憶手段は、複数のデータブロックを含み、該複数の論理アドレスの各々に対してそれぞれのデータブロックが存在し、
該制御手段は、複数の予備データブロックをさらに含み、
各データブロックと各予備データブロックは、直接アドレスフィールド(14)と間接アドレスフィールド(16)とを含み、
該制御手段は、
該データ記憶手段に書き込まれるためのデータとともに論理アドレスが該ホストから供給される場合には、該論理アドレスに対応する物理アドレスを用いて該記憶手段の各データブロックの直接アドレスフィールドをプログラムする手段と、
新しいデータが同一の論理アドレスに書き込まれる場合には、使用されていない予備データブロックのアドレスを用いて各データブロックの間接アドレスフィールドをプログラムし、かつ、該同一の論理アドレスに対応する新しい物理アドレスを用いて該予備データブロックの該直接アドレスフィールドをプログラムする手段と
をさらに含む、データ記憶システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9519669A GB2291990A (en) | 1995-09-27 | 1995-09-27 | Flash-memory management system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006194909A Division JP2006294061A (ja) | 1995-09-27 | 2006-07-14 | メモリ管理 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007280428A true JP2007280428A (ja) | 2007-10-25 |
Family
ID=10781331
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9513195A Pending JP2000505215A (ja) | 1995-09-27 | 1996-02-06 | メモリ管理 |
JP2006194909A Withdrawn JP2006294061A (ja) | 1995-09-27 | 2006-07-14 | メモリ管理 |
JP2007191421A Pending JP2007280428A (ja) | 1995-09-27 | 2007-07-23 | メモリ管理 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9513195A Pending JP2000505215A (ja) | 1995-09-27 | 1996-02-06 | メモリ管理 |
JP2006194909A Withdrawn JP2006294061A (ja) | 1995-09-27 | 2006-07-14 | メモリ管理 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0852765B1 (ja) |
JP (3) | JP2000505215A (ja) |
KR (1) | KR19990063714A (ja) |
CN (1) | CN1197520A (ja) |
AT (1) | ATE205946T1 (ja) |
DE (1) | DE69615385D1 (ja) |
GB (1) | GB2291990A (ja) |
WO (1) | WO1997012324A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI409819B (zh) * | 2009-03-03 | 2013-09-21 | Silicon Motion Inc | 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
GB2317720A (en) * | 1996-09-30 | 1998-04-01 | Nokia Mobile Phones Ltd | Managing Flash memory |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
US6226728B1 (en) * | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
GB2349242A (en) * | 1999-04-20 | 2000-10-25 | Inventec Corp | Flash memory architecture and rewrite method |
FR2799046B1 (fr) * | 1999-09-24 | 2004-02-27 | Aton Systemes Sa | Procede pour l'ecriture aleatoire de secteurs d'une taille inferieure a celle d'un bloc d'effacement dans une memoire effacable par bloc pour laquelle toute ecriture d'une donnee necessite l'effacement du bloc qui contient ladite donnee |
CN1088218C (zh) | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
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 |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
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 |
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 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
CN100359886C (zh) * | 2002-12-26 | 2008-01-02 | 华为技术有限公司 | 一种改进的多级查找表的建立及查找方法 |
KR100562906B1 (ko) * | 2003-10-08 | 2006-03-21 | 삼성전자주식회사 | 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩 |
US7356665B2 (en) * | 2003-12-17 | 2008-04-08 | International Business Machines Corporation | Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
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 |
DE102004062245A1 (de) * | 2004-12-23 | 2006-07-13 | Giesecke & Devrient Gmbh | Verwaltung von Datenobjekten in einem nichtflüchtigen überschreibbaren Speicher |
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 |
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 |
US20060184718A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US7949845B2 (en) | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7669003B2 (en) | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7409489B2 (en) | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
WO2007019175A2 (en) * | 2005-08-03 | 2007-02-15 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7814262B2 (en) | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
KR100781517B1 (ko) * | 2006-02-16 | 2007-12-03 | 삼성전자주식회사 | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 |
US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
KR101041710B1 (ko) * | 2007-03-21 | 2011-06-14 | 인텔 코포레이션 | 비휘발성 메모리의 섹터 관리 방법 |
KR101424782B1 (ko) * | 2007-07-19 | 2014-08-04 | 삼성전자주식회사 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
US8122179B2 (en) * | 2007-12-14 | 2012-02-21 | Silicon Motion, Inc. | Memory apparatus and method of evenly using the blocks of a flash memory |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US7937507B2 (en) | 2008-02-14 | 2011-05-03 | International Business Machines Corporation | Extended measurement word determination at a channel subsystem of an I/O processing system |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US8214562B2 (en) | 2008-02-14 | 2012-07-03 | International Business Machines Corporation | Processing of data to perform system changes in an input/output processing system |
US8176222B2 (en) | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US7890668B2 (en) | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
US8095847B2 (en) | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US7917813B2 (en) | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
US7840717B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US8117347B2 (en) * | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
US7840718B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing of data to suspend operations in an input/output processing log-out system |
US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US7904605B2 (en) | 2008-02-14 | 2011-03-08 | International Business Machines Corporation | Computer command and response for determining the state of an I/O operation |
US7904606B2 (en) | 2008-07-31 | 2011-03-08 | International Business Machines Corporation | Transport control channel program chain linked branching |
US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
US8055807B2 (en) | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
JP5010723B2 (ja) * | 2010-09-22 | 2012-08-29 | 株式会社東芝 | 半導体記憶制御装置 |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US9021155B2 (en) | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
US8473641B2 (en) | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8346978B1 (en) | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8862856B2 (en) * | 2012-04-09 | 2014-10-14 | HGST Netherlands B.V. | Implementing remapping command with indirection update for indirected storage |
US8918542B2 (en) | 2013-03-15 | 2014-12-23 | International Business Machines Corporation | Facilitating transport mode data transfer between a channel subsystem and input/output devices |
US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
JP6179355B2 (ja) * | 2013-10-31 | 2017-08-16 | 富士通株式会社 | 情報処理装置、データ転送制御方法及びデータ転送制御プログラム |
KR102280241B1 (ko) * | 2019-07-03 | 2021-07-21 | 에스케이텔레콤 주식회사 | 메모리 액세스 제어 시스템, 메모리 액세스 제어 장치 및 이를 이용한 메모리 액세스 제어 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63233437A (ja) * | 1986-05-29 | 1988-09-29 | 松下電器産業株式会社 | デ−タパケット長短縮方法およびその装置 |
JPH0231232A (ja) * | 1988-07-21 | 1990-02-01 | Matsushita Electric Ind Co Ltd | データ処理装置 |
JPH05241741A (ja) * | 1990-12-31 | 1993-09-21 | Intel Corp | 不揮発性半導体メモリ及びこれを使用したコンピュータシステム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2604280B1 (fr) * | 1986-09-19 | 1988-11-10 | Picard Michel | Procede de gestion de fichiers sur un support d'information non effacable |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
-
1995
- 1995-09-27 GB GB9519669A patent/GB2291990A/en not_active Withdrawn
-
1996
- 1996-02-06 AT AT96901894T patent/ATE205946T1/de not_active IP Right Cessation
- 1996-02-06 WO PCT/GB1996/000249 patent/WO1997012324A1/en not_active Application Discontinuation
- 1996-02-06 DE DE69615385T patent/DE69615385D1/de not_active Expired - Lifetime
- 1996-02-06 EP EP96901894A patent/EP0852765B1/en not_active Expired - Lifetime
- 1996-02-06 KR KR1019980702181A patent/KR19990063714A/ko not_active Application Discontinuation
- 1996-02-06 CN CN96197203A patent/CN1197520A/zh active Pending
- 1996-02-06 JP JP9513195A patent/JP2000505215A/ja active Pending
-
2006
- 2006-07-14 JP JP2006194909A patent/JP2006294061A/ja not_active Withdrawn
-
2007
- 2007-07-23 JP JP2007191421A patent/JP2007280428A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63233437A (ja) * | 1986-05-29 | 1988-09-29 | 松下電器産業株式会社 | デ−タパケット長短縮方法およびその装置 |
JPH0231232A (ja) * | 1988-07-21 | 1990-02-01 | Matsushita Electric Ind Co Ltd | データ処理装置 |
JPH05241741A (ja) * | 1990-12-31 | 1993-09-21 | Intel Corp | 不揮発性半導体メモリ及びこれを使用したコンピュータシステム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI409819B (zh) * | 2009-03-03 | 2013-09-21 | Silicon Motion Inc | 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
Also Published As
Publication number | Publication date |
---|---|
ATE205946T1 (de) | 2001-10-15 |
EP0852765B1 (en) | 2001-09-19 |
DE69615385D1 (de) | 2001-10-25 |
KR19990063714A (ko) | 1999-07-26 |
JP2006294061A (ja) | 2006-10-26 |
CN1197520A (zh) | 1998-10-28 |
JP2000505215A (ja) | 2000-04-25 |
GB9519669D0 (en) | 1995-11-29 |
EP0852765A1 (en) | 1998-07-15 |
GB2291990A (en) | 1996-02-07 |
WO1997012324A1 (en) | 1997-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0852765B1 (en) | Memory management | |
US6076137A (en) | Method and apparatus for storing location identification information within non-volatile memory devices | |
US9489301B2 (en) | Memory systems | |
JP4132086B2 (ja) | フラッシュメモリ内のブロックにおける移動セクタ | |
JP4695801B2 (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
USRE45222E1 (en) | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table | |
US6115785A (en) | Direct logical block addressing flash memory mass storage architecture | |
US6145051A (en) | Moving sectors within a block of information in a flash memory mass storage architecture | |
US20060168392A1 (en) | Flash memory file system | |
US20010023472A1 (en) | Data storage control method and apparatus for external storage device using a plurality of flash memories | |
US20060020747A1 (en) | Moving sectors within a block of information in a flash memory mass storage architecture | |
US20080270680A1 (en) | Controller for Non-Volatile Memories and Methods of Operating the Memory Controller | |
US20070094440A1 (en) | Enhanced data access in a storage device | |
JP2003085037A (ja) | メモリ管理方法 | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
KR19990063715A (ko) | 메모리 시스템 | |
US20070005929A1 (en) | Method, system, and article of manufacture for sector mapping in a flash device | |
KR100703727B1 (ko) | 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091030 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100405 |