JP2007280428A - メモリ管理 - Google Patents

メモリ管理 Download PDF

Info

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
Application number
JP2007191421A
Other languages
English (en)
Inventor
Alan Welsh Sinclair
シンクレア アラン・ウエルシユ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Lexar Media Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lexar Media Inc filed Critical Lexar Media Inc
Publication of JP2007280428A publication Critical patent/JP2007280428A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

【課題】各論理セクタアドレス値用のデータブロックおよび複数の予備データブロックを使用して、論理セクタアドレスと対応する物理アドレスとの間のマッピングを維持する方法を提供すること。
【解決手段】各論理セクタアドレス値用のデータブロックおよび複数の予備データブロックを使用して、論理セクタアドレスと対応する物理アドレスとの間のマッピングを維持する方法。各データブロックは、直接アドレスフィールドおよび間接アドレスフィールドを含む。論理セクタアドレスにデータが最初に書き込まれたときに、直接アドレスフィールドは、対応する物理アドレスでプログラムされる。その後、同じ論理セクタアドレスにデータが書き込まれるたびに、間接アドレスフィールドが予備データブロックのアドレスでプログラムされ、予備データブロックの直接アドレスフィールドがそのデータの新しい物理アドレスでプログラムされる。
【選択図】図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の使用していないエントリの数が所定の値を下まわるまで継続される。
二次ルックアップテーブル22がいっぱいになった場合には、クリーンアップ動作が必要となる。一次ルックアップテーブル12をクリーンアップするときには、情報保護のため、古いルックアップテーブルを消去する前に新しいルックアップテーブルを生成しなければならない。クリーンアップ動作を実行する一つの方法は、一次ルックアップテーブル12の上または下に少なくとも一つの消去状態の消去可能フラッシュブロックを確保することである。一次ルックアップテーブル12の一つのエントリを、消去されているブロックにコピーし、次いで、この古いエントリを消去する。各エントリがコピーされるときに、そのエントリ用のメインメモリアドレスフィールド14が、関連した有効な二次ルックアップテーブルエントリ(ポインタフラグが消去状態にあるエントリ)からコピーされる。その結果、一次ルックアップテーブル12が一消去ブロック分だけ上または下に移動する。このプロセスが完了すると、二次ルックアップテーブル22を消去できるようになる。
本発明の他の実施形態では、二つのフィールドのみ、すなわちメインメモリアドレスおよび二次ルックアップテーブルアドレスのみが使用される。二次ルックアップテーブルアドレスが有効データを含む場合には、メインメモリアドレスの代わりにそのアドレスが読み出される。二次ルックアップテーブルアドレスが有効データを含まない場合には、メインメモリアドレスが読み出される。
第1A図は、間接アドレスフィールドおよび直接アドレスフィールドを使用した二つのアドレス間の変換の原理を示す図である。 第1B図は、間接アドレスフィールドおよび直接アドレスフィールドを使用した二つのアドレス間の変換の原理を示す図である。 第1C図は、間接アドレスフィールドおよび直接アドレスフィールドを使用した二つのアドレス間の変換の原理を示す図である。

Claims (1)

  1. ホストシステムとともに用いられるデータ記憶システムであって、
    該データ記憶システムは、
    複数の消去可能なソリッドステートデータ記憶手段(20)であって、該複数の消去可能なソリッドステートデータ記憶手段の各々は、一意的な物理アドレスによって位置を特定することができ、かつ、一度書き込まれると、再書き込みされる前に消去されなければならない、複数の消去可能なソリッドステートデータ記憶手段(20)と、
    該ホストから受け取られた複数の論理アドレスを該複数の消去可能なソリッドステートデータ記憶手段の対応する複数の物理アドレスにマッピングするルックアップテーブルを記憶する不揮発性のブロック消去可能な記憶手段を含む制御手段(12、22)と
    を備え、
    該制御手段の記憶手段は、複数のデータブロックを含み、該複数の論理アドレスの各々に対してそれぞれのデータブロックが存在し、
    該制御手段は、複数の予備データブロックをさらに含み、
    各データブロックと各予備データブロックは、直接アドレスフィールド(14)と間接アドレスフィールド(16)とを含み、
    該制御手段は、
    該データ記憶手段に書き込まれるためのデータとともに論理アドレスが該ホストから供給される場合には、該論理アドレスに対応する物理アドレスを用いて該記憶手段の各データブロックの直接アドレスフィールドをプログラムする手段と、
    新しいデータが同一の論理アドレスに書き込まれる場合には、使用されていない予備データブロックのアドレスを用いて各データブロックの間接アドレスフィールドをプログラムし、かつ、該同一の論理アドレスに対応する新しい物理アドレスを用いて該予備データブロックの該直接アドレスフィールドをプログラムする手段と
    をさらに含む、データ記憶システム。
JP2007191421A 1995-09-27 2007-07-23 メモリ管理 Pending JP2007280428A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI409819B (zh) * 2009-03-03 2013-09-21 Silicon Motion Inc 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器

Families Citing this family (85)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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