JP2008282429A - フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム - Google Patents
フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム Download PDFInfo
- Publication number
- JP2008282429A JP2008282429A JP2008214841A JP2008214841A JP2008282429A JP 2008282429 A JP2008282429 A JP 2008282429A JP 2008214841 A JP2008214841 A JP 2008214841A JP 2008214841 A JP2008214841 A JP 2008214841A JP 2008282429 A JP2008282429 A JP 2008282429A
- Authority
- JP
- Japan
- Prior art keywords
- block
- data area
- entry
- data
- memory
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
【解決手段】(a)各ブロックにデータ領域を画成し(データ領域はデータ領域エリアに論理的に分割)、(b)各ブロックにブロック構造体を画成し(ブロック構造体はヘッダと割当てテーブルを有し、ヘッダはブロックに特定情報を含み、割当てテーブルは、データ領域エリアに対応するエントリと、対応するデータ領域エリアに関連した情報を含む)、(c)割当てテーブルエントリを割当て、(d)データ領域エリアを割当て、(e)割当てられたデータ領域エリアに関連したデータを、割当てられた割当てテーブルエントリに書込み、(f)割当てられたデータ領域エリアにデータを書込み、(g)書込む間にエラーを検出し、(h)エラー検出時に割当てテーブルエントリを割当て解除状態にセットし、エラーが検出されなくなるまで上記段階(c)、(d)、(e)、(f)を繰り返す方法。
【選択図】図33
Description
データ構造体
struct BlockAllocation
{
struct
{
byte Status;
byte Offset[3];
word Len;
} Alloc [ ];
dword BootRecordPtr
dword EraseCount;
word BlockSeq;
word BlockSeqChecksum;
word Status;
}
定義
Alloc ブロック内の領域を定める可変長さアレイ構造体
Status 領域の状態
ビット#
5-2 1111 未使用
1011 中間状態
0111 自由
0011 割り当てられた
0001 割り当て解除された
0010 取って代わられた
0000 ゼロ
7-6 11 未使用エントリ
10 最終エントリ
00 非最終エントリ
Offset この領域のブロックの開始に対するオフセット
Len 領域の長さ( 単位バイト)
BootRecordPtr FEPromがファイル記憶装置として使用されるとき
に記録をブートするための処理
EraseCount ブロックを消去した回数
Blockseq FEProm内のブロックの論理シーケンス
BlockSeqChecksum ブロックシーケンス番号のチェック和
Status
ビット#
1-0 11 ブロックにないブート記録(FEProm がファイルシステム
データを含むとき)
10 ブロックのブート記録
00 取って代わられたブート記録
15-10 110000 レディ
0XXXXX QueuedForErasure
111111 消去された
111110 UpdateInProcess
111100 スペアブロック
111000 ReclaimationInProcess
000000 リアタイアされた
データ構造
struct DriveRec
{ word BlockCnt
word SpareBlockCnt
dword BlockSize
word RootDirPtr
word SpareBlockPtr 〔 〕
}
struct ConfigRec
{
word WriteAccessCntThreshold
word EraseCntThreshold
word BlockReclamationThreshold
word BlockEraseLevelingThreshold
}
struct BlockRec
{
byte Flags
word PhysicalBlockNum
dword FirstFreeByteOffset
dword LenDeallocatedSpace
word AllocStructCnt
dword BlockEraseCnt
word FirstUseableAllocEntry
word FreeAllocEntryCnt
} BlockData 〔 〕
定義
BlockCnt FEProm内の物理ブロックの数
BlockSize ブロック内のバイトの数
RootDirPtr FEPromをファイル記憶装置として使用した時のルート
ディレクトリを含むデータ領域へのハンドル
SpareBlockPtr 〔 〕 予備ブロックの物理ブロックの数を含む可変長アレイ
SpareBlockCnt 予備ブロックの数
WriteAccessCntThreshold ブロックを再利用すべきか否かをシステムに決定させる
FEProm への書込みの数
EraseCntThreshold ブロックレベル化を行うべきか否かをシステムに決定
させる FEProm への消去の数
BlockReclamationThreshold ブロック再利用をトリガする割当て解除スペースと
ブロックサイズとの比
BlockEraseLevelingThreshold ブロック間のレベル化プロセスをトリガする最小及び
最大消去数間の差
PhysicalBlockNum 論理的ブロックを含む物理ブロックの数
FirstFreeByteOffset 空きスペースの最初のバイトの物理ブロック内の
オフセット
LenDeallocatedSpace 物理ブロック内の割当て解除済領域の合計の長さ
FirstUseableAllocEntry ブロック内の最初の使用可能な Allocエントリ索引
FreeAllocEntryCnt Alloc エントリの数
BlockEraseCnt 物理ブロックが消去された回数
FEPromが最初にロードされる時、FEProm管理者は FEProm を走査して表Bに示す内部データを初期化する。構造 DriveRec は装置に関するデータを含み、構造ConfigRec は構成パラメタに関するデータを含み、アレイ BlockDataは FEProm 内の各物理ブロック毎のデータを有するエントリを含む。アレイ BlockDataはブロック変換キャッシュである。初期化中、 FEProm 管理者はアレイ BlockData内の各変数及び構造 DriveRec 内の予備ブロックに関する変数を初期化する。構造DriveRec内の他の変数はシステム定義された変数である。好ましい実施例では、FEProm管理者は、これらのデータ構造内の領域データの型に特定の情報を記憶している。例えばもし FEProm がファイル記憶装置として使用されていれば、データ構造はルートディレクトリへのハンドルを含むことができる。図31は、好ましい実施例における初期化プロセスの流れ図である。この手順は、 FEProm 上の各ブロック毎にブロック割当て構造を走査することによって DriveRec 及び BlockData構造を初期化する。システムはブロック2701乃至2709をループして各ブロック毎のデータを読む。ブロック2701ではシステムは、現在アクセスされている物理ブロックを指示する索引iを初期化する。ブロック2702において、もし索引iが FEProm 内のブロックの数より大きければ、全てのブロックは走査されたのでありシステムはブロック2710へ進み、そうでない場合にはシステムはブロック2703へ進む。ブロック2703では、システムは索引iによって指示されたブロックの見出しを読む。ブロック2704では、システムは DriveRec 及び BlockData〔i〕データを更新する。もしそのブロックが予備ブロックであれば、システムは SpareBlockCntをインクリメントさせ、そのブロックを SpareBlockPtrアレイに追加する。好ましい実施例では、システムはこれらの領域内に記憶されているデータに特定の情報をも走査する。例えばもし FEProm をファイルシステムとして使用していて、そのブロックがブートレコードを含んでいれば、システムは BootRecPtr をセットし、ブートレコードを読み、そして RootDirPtr をセットする。
あるブロックを消去中に書込みエラーが発生すると、 FEProm 管理者はそのブロックを引退状態にセットする。もし引退させたブロックが予備ブロックであったならば、 FEProm 管理者は少なくなった予備ブロックで動作する。代替としてFEProm管理者は割当て済の割当てアレイエントリを用いずにブロックを探知することを試みる。次いで FEProm 管理者は探知したブロックを消去し、それを予備状態にセットする。予備ブロックが使用できない場合には FEProm 管理者は FEProm を、あたかもそれが前述した消去不能であるかのように取扱う。
ファイルシステム
本発明は、 FEProm 装置に対してディレクトリをベースとする階層ファイルシステムを提供する。階層ファイルシステムは論理的グルーピング内にファイルを記憶させる。好ましい実施例は、ディレクトリ階層及び内部ファイル記憶の両者を実現するためにリンクされたリストデータ構造を使用する。
表 C
データ構造
struct BootRecord
{ word Signature;
dword SerialNumber;
word FFSWriteVersion;
word FFSReadVersion;
word TotalBlockCount;
word SpareBlockCount;
dword BlockLen;
dword RootDirectoryPtr;
word Status;
byte VolumeLabelLen;
word BootCodeLen;
byte VolumeLabel 〔 〕;
byte BootCode〔 〕;
}
定義
Signature 媒体がこのファイルシステムを支援することを指示する値
SerialNumber VolumeLabel との組合せは特定 FEProm の独特な識別子である
FFSWriteVersion このボリュームへ書込むために要求されるファイルシステムの
高バイトにおけるバージョン番号及び低バイトにおける改定番号
FFSReadVersion このボリュームを読出すために要求されるファイルシステムの
最早バージョンの高バイトにおけるバージョン番号及び低バイト
における改定番号
TotalBlockCount FEProm内の予備ブロックを含むブロックの合計数
SpareBlockCount ブロック再利用及びエラー回復に使用可能なブロックの数
BlockLen バイトで表したブロックの長さ
RootDirectoryPtr ルートディレクトリを指し示すポインタ
Status ファイル名フォーマットを指定するデータ
VolumeLabelLen ボリュームラベル内の文字の数
BootCodeLen ブートコードアレイ内のバイトの数。もし0ならば媒体は
ブート不能
VolumeLabel 〔 〕 ボリュームラベル
BootCode〔 〕 オペレーティングシステムに関するブートコード
表 D
データ構造
struct DirEntry
{
word Status;
dword SiblingPtr;
dword PrimaryPtr;
dword SecondaryPtr;
byte Attributes;
word Time;
word Date;
byte NameLen;
byte Name〔8〕;
byte Ext 〔3〕;
}
struct FileEntry
{
word Status;
dword SiblingPtr;
dword PrimaryPtr;
dword SecondaryPtr;
byte Attributes;
word Time;
word Date;
byte NameLen;
byte Name〔8〕;
byte Ext 〔3〕;
}
struct FileInfo
{
word Status;
dword ExtentPtr;
dword PrimaryPtr;
dword SecondaryPtr;
byte Attributes;
word Time;
word Date;
word ExtentLen;
word UncomprssedExtentLen;
}
定義
Name ディレクトリ/ファイル名
Ext ファイル拡張
Status
bit #
0 1:レコードはディレクトリ構造内に存在(存在)
0:レコードはディレクトリ構造から削除済(削除済)
1 1:レコードは現属性、日付、及び時間データを含む
( ATDRecent )
0:レコードは置換されたデータを含むか、またはデータを
含まない( ATDSuperseded )
3 - 2 11:未定義
10:FileInfo
01:FileEntry
00:DirEntry
4 1: PrimaryPtr は有効ではない
0: PrimaryPtr は有効 ( PrimaryPtrValid )
5 1: SecondaryPtr は有効ではない
0: SecondaryPtr は有効 ( SecondaryPtrValid )
6 1: SiblingPtr/ExtentPtr は有効ではない
0: SiblingPtr/ExtentPtr は有効
( SiblingPtrValid/ExtentPtrValid )
DirEntry
15 - 7 保留
FileEntry
7 1:ファイルは圧縮されていない
0:ファイルは圧縮されている
15 - 8 圧縮アルゴリズムの識別
FileInfo
7 1:ファイルは圧縮されていない
0:ファイルは圧縮されている
8 1:範囲は圧縮されたブロックの最初のセグメントを含まない
0:範囲は圧縮されたブロックの最初のセグメントを含む
9 1:範囲は圧縮されたブロックの最後のセグメントを含まない
0:範囲は圧縮されたブロックの最後のセグメントを含む
15 - 10 保留
SiblingPtr 同胞連鎖内の次の DirEntry または FileEntryを指すポインタ
ExtentPtr FileInfoEntry に対応付けられた範囲を指すポインタ
PrimaryPtr DirEntry:ディレクトリ階層内の次に低いレベルの最初の
DirEntry または FileEntryを指す
FileEntry :ファイルに対応付けられた FileInfo エントリの
リンクされたリストを指す
FileInfo:ファイルのための次の FileInfo エントリを指す
SecondaryPtr DirEntry:ディレクトリのための次の DirEntry エントリを指す
;SecondaryPtrを除くこのエントリの全内容は有効で
はなく、無視される
FileEntry :ファイルのための次の FileEntryエントリを指す
;SecondaryPtrを除くこのエントリの全内容は有効
ではなく、無視される
FileInfo:ファイルのための次の FileInfo エントリを指す
Attributes 読出し専用、読出し/書込み等のようなファイル属性
Time 創成または変更の時刻
Date 創成または変更の日付
NameLen バイトで表した名前及び拡張の長さ
Name〔8〕 名前
Ext 〔3〕 拡張
ExtentLen バイトで表した範囲の長さ
本発明のファイルシステムは、ディレクトリ及びファイル構造をブロック消去可能な FEProm 内のブロック境界を横切って分散させる。ファイルシステムは、FEProm内の記憶装置の割当て及び割当て解除に FEProm 管理者を使用する。ファイルシステムは、上述したように、リンクされたリスト内のポインタとしてハンドルを使用する。以下の説明では「ハンドル」及び「ポインタ」を互換可能に使用する。図30は、図2のディレクトリ階層の一部のブロック割当て例を示す。図30に示した部分はディレクトリ「ルート」、ディレクトリ「 DOS」、ディレクトリ「ワード」、ファイル「 AUTOEXEC.BAT 」、及びファイル「 COMMAND.COM」のための DirEntry 及び FileEntryレコードからなっている。ブロック0はディレクトリ「 DOS」及びディレクトリ「ワード」を含み、ブロック 12 はディレクトリ「ルート」及びファイル「 COMMAND.COM」を含み、そしてブロック 14 はファイル「 AUTOEXEC.BAT 」を含んでいる。
指示するようにP−>「ステータス」をセットしてルーチンを終了する。
図18及び19は、ファイル更新の特別な場合の結合の FileInfo リストを示す。これらの特別な場合を処理するためのルーチンは、図14、15に示したファイル更新の一般的な場合の処理に必要なルーチンの部分集合である。図18において、範囲の始まりから始まるデータが更新される。区分D1 1501は更新すべき範囲の始まりのデータを含み、区分D2 1502は更新されない範囲の終わりのデータを含む。2つの新 FileInfo レコードだけが必要である。第1の FileInfo レコードR1 1511は新データ1503を指し示し、第2のFileInfoレコードR2 1512は区分D2 1502内の古いデータを指し示す。図19に示すように範囲境界上で終わるデータが更新される場合にも同様な状況が発生する。ファイル更新の一般的な場合のように、D1及びD2を含む古い領域は、古い領域を含むブロックに2つの新しい割当て表エントリを割当てることによって2つの領域に細分される。またもしエントリのために十分なスペースが存在しなければ、変更されないデータは新ブロックへ移動させられる。
図21は、 FEProm からディレクトリを削除するルーチンの流れ図である。ファイルを削除するルーチンは、対応付けられた FileInfo レコードが割当て解除されること以外は同一である。このルーチンは、 DirEntry のステータスを、それが削除されることを指示するようにセットする。ブロック1801においてシステムは、削除すべきディレクトリを探知し、そのディレクトリのアドレスを含むように変数「ポインタD」をセットする。ブロック1802では、そのディレクトリを削除することを指示するようにD−>「ステータス」をセットする。
102 「DOS」サブディレクトリ
103 「ワード」サブディレクトリ
104 「AUTOEXEC.BAT」ファイル
105 「COMMAND.COM」ファイル
106 「FORMATEXE」ファイル
107 「デービッド」サブディレクトリ
108 「メリー」サブディレクトリ
109 「LETTER1.DOC」ファイル
110 「LETTER1.DOC」ファイル
111 「LETTER2.DOC」ファイル
112 「LETTER3.DOC」ファイル
113 「ビル」ディレクトリ
120−132 ポインタ
140−142 リンクされたリスト
200−202 ファイル
203−206 範囲レコード
211−214 範囲
301 FEProm
302 ブロック
2302 ブロック割り当て構造体
2303 データ領域
2304 自由スペース
2310−2315 オフセット
Claims (21)
- 複数のブロックを備えたブロック消去可能なプログラマブル・リードオンリメモリにおいてメモリを管理する方法であって、
各ブロックにブロックヘッダ情報を記憶するステップと、
各ブロックに割り当てテーブルを記憶するステップと、
各ブロックのデータ記憶エリアにデータを記憶するステップと
を含む方法。 - 前記ブロックヘッダ情報は、論理ブロック番号、ブロック状態及びブロック消去カウントとを含む請求項1に記載の方法。
- 前記割り当てテーブルは前記データ記憶エリアの部分に対応するエントリを含み、前記エントリは、前記データ記憶エリアの対応する部分を指すポインタと、前記データ記憶エリアの前記対応する部分の長さを示す長さと、前記エントリの状態を示すステータスとを含む請求項1に記載の方法。
- コンピュータ内のブロック消去可能で一回書き込み多数回読み取りのメモリを管理する方法において、前記メモリはメモリ位置のブロックに分割され、各ブロックは、割り当てアレイ、データ領域及び自由スペースを含み、前記割り当てアレイは前記データ領域に対応するエントリを備え、前記方法は、
前記メモリにデータを記憶する要求を受け取るステップであって、前記要求は記憶すべきデータを含む、要求を受け取るステップと、
前記データを記憶し且つ前記割り当てアレイ内の対応するエントリを記憶するのに十分な自由スペースを備える前記メモリ内のブロックを選択するステップと、
新たなデータ領域に対応する割り当てアレイエントリを選択するステップ、
前記新たなデータ領域を選択するステップ、
前記選択された割り当てアレイエントリを、前記ブロック内の前記新たなデータ領域への参照を含み且つ前記新たなデータ領域が割り当てられていることを示すように設定するステップ、及び
前記データを前記新たなデータ領域に記憶することにより、前記新たなデータ領域の割り当てを完了するステップ
により、前記データを記憶する前記ブロックの前記自由スペースにおいて新たなデータ領域を割り当てるステップと
を含む方法。 - 前記割り当てアレイ及び前記データ領域は前記ブロックの両端に位置し、新たなデータ領域及び割り当てアレイエントリが選択されると、前記割り当てアレイ及び前記データ領域は、互いに向かって成長する請求項4に記載の方法。
- 各ブロックは、ブロックが消去された回数を示す消去カウントを有し、メモリ内のブロックを選択する前記ステップは、前記消去カウントに基いて前記メモリ内のブロックを選択するステップをさらに含む請求項4に記載の方法。
- 前記対応する割り当てアレイエントリを、前記データ領域が割り当てを解除されていることを示すように設定することにより、前記ブロックにおいてデータ領域の割り当てを解除するステップをさらに含む請求項4に記載の方法。
- 前記メモリ内のスペアブロックを選択するステップ、
前記スペアブロックを消去するステップ、並びに、
各割り当てアレイエントリにつき、
前記対応するデータ領域が割り当てられているかあるいは割り当てを解除されているかを決定するステップ、
前記対応するデータ領域が割り当てられている場合、前記対応するデータ領域を前記スペアブロックへコピーして、前記スペアブロックの割り当てアレイエントリを、前記スペアブロック内のデータ領域への参照を含み且つ前記データ領域が割り当てられていることを示すように設定するステップ、及び
前記対応するデータ領域が割り当てを解除されている場合、前記スペアブロックの割り当てアレイエントリを、前記対応するデータ領域が解放状態であることを示すように設定することによって、前記割り当てを解除されたデータ領域を再利用するステップ
により、前記ブロックにおける割り当てを解除されたデータ領域を再利用するステップ
をさらに含む請求項7に記載の方法。 - 各ブロックは、該ブロックが消去された回数を示す消去カウントを有し、メモリ内のスペアブロックを選択する前記ステップは、前記消去カウントに基いて前記メモリ内のスペアブロックを選択するステップをさらに含む請求項8に記載の方法。
- 前記選択された割り当てアレイエントリを前記新たなデータ領域への参照を含むように設定する前に、前記選択された割当てアレイエントリを割り当て処理中の状態に設定するステップを含み、前記データを記憶する際にエラーが生じた場合に前記選択された割り当てアレイエントリが誤って前記データが前記新たなデータ領域に正しく記憶されたと示すことのないように、選択された割り当てアレイエントリを割り当て状態に設定するステップが、前記データが前記新たなデータ領域に記憶された後に行われる請求項4に記載の方法。
- 割り当てアレイエントリを選択する前記ステップは、対応するデータ領域が再利用されたことを示す解放状態に設定されたエントリを選択する請求項4に記載の方法。
- ブロック消去可能で一回書き込み多数回読み取りのメモリ内のデータ領域を参照する方法において、前記メモリはメモリ位置のブロックに分割され、各ブロックは論理ブロック番号及び物理ブロック番号を有し、各ブロックは割り当てアレイ及びデータ領域を含み、前記割り当てアレイは前記データ領域に対応するエントリを備え、前記方法は、
前記ブロック消去可能で一回書き込みリードオンリメモリのブロックに割り当てアレイを記憶するステップであって、各割り当てアレイエントリは、前記ブロック内の前記対応するデータ領域のオフセットを含むとともにインデックスを有する、割り当てアレイを記憶するステップと、
論理ブロック番号、対応する物理ブロック番号、及び物理スタートアドレスを、各ブロックにつきブロック変換キャッシュに記憶するステップと、
前記ブロック消去可能で一回書き込みリードオンリメモリのブロック内のデータ領域を、論理ブロック番号及び割り当てアレイエントリのインデックスにより指定するステップと、
ブロックの物理ブロック番号を、前記ブロック変換キャッシュを使用して前記論理ブロック番号から決定するステップ、
ブロックの物理スタートアドレスを、前記決定された物理ブロック番号から決定するステップ、
前記決定された物理ブロック番号を備えるブロック内の前記指定されたデータ領域のオフセットを、前記割り当てアレイエントリのインデックスから取り出すステップ、及び
前記取り出されたオフセットを前記ブロックの前記物理スタートアドレスに追加することにより、前記指定されたデータ領域の物理アドレスを生成するステップ
により、前記指定されたデータ領域の物理アドレスを生成するステップと
を含む方法。 - ブロック消去可能で一回書き込み多数回読み取りのメモリ内のブロックを参照する方法において、前記メモリはメモリ位置のブロックに分割され、各ブロックは論理ブロック番号及び物理ブロック番号を有し、各ブロックは割り当てアレイ及びデータ領域を含み、前記割り当てアレイは前記データ領域に対応するエントリを備え、前記方法は、
前記ブロック消去可能で一回書き込みリードオンリメモリの各ブロックに論理ブロック番号を記憶するステップと、
初期化の際に、各ブロック内の前記論理ブロック番号を読み出し、各ブロックにつき、前記論理ブロック番号及び対応する物理ブロック番号をブロック変換キャッシュに記憶するステップと、
前記ブロック消去可能で一回書き込みリードオンリメモリのブロックを論理ブロック番号により指定するステップと、
前記ブロックの物理ブロック番号を、前記ブロック変換キャッシュを使用して前記論理ブロック番号から決定するステップ、及び
前記ブロックの物理スタートアドレスを、前記決定された物理ブロック番号から決定するステップ
により、前記指定されたブロックの物理アドレスを生成するステップと
を含む方法。 - ブロック消去可能で一回書き込み多数回読み取りのメモリにおいて消去カウントを均等化する方法において、前記メモリはメモリ位置のブロックに分割され、各ブロックは該ブロックが消去された回数を示す消去カウントを有し、前記方法は、
消去カウントを有する、前記ブロック消去可能で一回書き込みリードオンリメモリの第1のブロックを識別するステップと、
前記第1のブロックよりも小さい消去カウントを有する、前記ブロック消去可能で一回書き込みリードオンリメモリの第2のブロックを識別するステップと、
前記第1のブロックのデータをスペアブロックにコピーするステップと、
前記第1のブロックを消去するステップと、
前記第1のブロックにつき前記消去カウントをインクリメントするステップと、
前記第1のブロックについての前記インクリメントされた消去カウントを前記第1のブロックに記憶するステップと、
前記第2のブロックからデータを前記第1のブロックにコピーするステップと、
前記第2のブロックを消去するステップと、
前記第2のブロックにつき前記消去カウントをインクリメントするステップと、
前記第2のブロックについての前記インクリメントされた消去カウントを前記第2のブロックに記憶するステップと
を含む方法。 - ブロック消去可能で一回書き込み多数回読み取りのメモリデバイスにおいてソースブロック内のメモリを再利用する方法であって、前記ソースブロックは割り当てアレイ及びデータ領域を有し、各データ領域は割り当てられ又は割り当てられておらず、前記割り当てアレイはデータ領域を参照するエントリを有し、各データ領域は、該データ領域を参照するエントリについての前記割り当てアレイ内のインデックスにより識別可能であり、前記方法は、前記割り当てアレイ内の各エントリについて、
前記参照されるデータ領域が割り当てられているか否かを決定するステップと、
前記参照されるデータ領域が割り当てられている場合、前記参照されるデータ領域をスペアブロック内のデータ領域へコピーして、前記スペアブロックの割り当てアレイ内のエントリを、前記データ領域の前記コピーを参照するように設定するステップとを含み、
前記スペアブロックの前記割り当てアレイ内の前記エントリは、前記ソースブロックの割り当てアレイ内のエントリと同じ、スペアブロックの割り当てアレイ内のインデックスを有し、これにより、前記スペアブロック内のデータ領域は、前記ソースブロックのデータ領域が識別可能であるのと同じインデックスにより識別可能であり、これにより、割り当てられていないデータ領域は前記スペアブロックにコピーされない方法。 - 前記参照されるデータ領域が割り当てられていない場合、前記スペアブロックの割り当てテーブル内のエントリを解放状態に設定するステップを含み、これにより、前記エントリは、再利用の完了後において前記スペアブロックの新たに割り当てられたデータ領域を参照するのに使用可能である請求項15に記載の方法。
- 割り当てられていないデータ領域は、割り当てを解除されたデータ領域である請求項16に記載の方法。
- 割り当てられていないデータ領域は、前記ソースブロック内の他のデータ領域により取って代わられたデータ領域である請求項16に記載の方法。
- 前記ソースブロックの各割り当てられたデータ領域をコピーした後に、前記ソースブロックを消去するステップを含む請求項15に記載の方法。
- 前記ソースブロックの各割り当てられたデータ領域をコピーした後に、データ領域のデータに対する各アクセスを前記スペアブロックに向けるステップを含む請求項15に記載の方法。
- ブロック消去可能で一回書き込み多数回読み取りのメモリデバイスにおいてブロック内のメモリを再利用する方法であって、前記ブロックは割り当てアレイ及びデータ領域を有し、各データ領域は割り当てられ又は割り当てられておらず、前記割り当てアレイはデータ領域を参照するエントリを有し、各データ領域は、該データ領域を参照するエントリについての前記割り当てアレイ内のインデックスにより識別可能であり、前記方法は、
前記割り当てられた領域及び該割り当てられた領域を参照するエントリを、前記ブロックから一時的メモリにコピーするステップと、
前記ブロックを消去するステップと、
コピーされた各エントリについて、該エントリにより参照されるデータ領域を前記一時的メモリから消去されたブロック内のデータ領域へコピーし、前記消去されたブロックの割り当てアレイ内のエントリを、前記データ領域のコピーを参照するように設定するステップと含み、前記消去されたブロックの割り当てアレイ内のエントリは、消去される前の前記ブロックの割り当てアレイ内のエントリと同じ、消去されたブロックの割り当てアレイ内のインデックスを有し、これにより、前記データ領域は、再利用後に同一のインデックスにより識別可能である方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/828,763 US6256642B1 (en) | 1992-01-29 | 1992-01-29 | Method and system for file system management using a flash-erasable, programmable, read-only memory |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006130478A Division JP4365385B2 (ja) | 1992-01-29 | 2006-05-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009081080A Division JP4858789B2 (ja) | 1992-01-29 | 2009-03-30 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008282429A true JP2008282429A (ja) | 2008-11-20 |
JP4485586B2 JP4485586B2 (ja) | 2010-06-23 |
Family
ID=25252682
Family Applications (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01398093A Expired - Lifetime JP3825479B2 (ja) | 1992-01-29 | 1993-01-29 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2006130478A Expired - Lifetime JP4365385B2 (ja) | 1992-01-29 | 2006-05-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2006130477A Pending JP2006209807A (ja) | 1992-01-29 | 2006-05-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2008214841A Expired - Lifetime JP4485586B2 (ja) | 1992-01-29 | 2008-08-25 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009081080A Expired - Lifetime JP4858789B2 (ja) | 1992-01-29 | 2009-03-30 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009273039A Expired - Lifetime JP4608589B2 (ja) | 1992-01-29 | 2009-12-01 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009273033A Expired - Lifetime JP4608587B2 (ja) | 1992-01-29 | 2009-12-01 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009273034A Expired - Lifetime JP4608588B2 (ja) | 1992-01-29 | 2009-12-01 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2011012551A Expired - Lifetime JP4836217B2 (ja) | 1992-01-29 | 2011-01-25 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2011173783A Pending JP2011222051A (ja) | 1992-01-29 | 2011-08-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01398093A Expired - Lifetime JP3825479B2 (ja) | 1992-01-29 | 1993-01-29 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2006130478A Expired - Lifetime JP4365385B2 (ja) | 1992-01-29 | 2006-05-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2006130477A Pending JP2006209807A (ja) | 1992-01-29 | 2006-05-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009081080A Expired - Lifetime JP4858789B2 (ja) | 1992-01-29 | 2009-03-30 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009273039A Expired - Lifetime JP4608589B2 (ja) | 1992-01-29 | 2009-12-01 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009273033A Expired - Lifetime JP4608587B2 (ja) | 1992-01-29 | 2009-12-01 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009273034A Expired - Lifetime JP4608588B2 (ja) | 1992-01-29 | 2009-12-01 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2011012551A Expired - Lifetime JP4836217B2 (ja) | 1992-01-29 | 2011-01-25 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2011173783A Pending JP2011222051A (ja) | 1992-01-29 | 2011-08-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Country Status (5)
Country | Link |
---|---|
US (3) | US6256642B1 (ja) |
EP (1) | EP0557736B1 (ja) |
JP (10) | JP3825479B2 (ja) |
CA (3) | CA2325810C (ja) |
DE (1) | DE69333906T2 (ja) |
Families Citing this family (215)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP3407317B2 (ja) * | 1991-11-28 | 2003-05-19 | 株式会社日立製作所 | フラッシュメモリを使用した記憶装置 |
JP3587204B2 (ja) * | 1991-11-28 | 2004-11-10 | 株式会社日立製作所 | 記憶装置 |
US5369616A (en) * | 1992-10-30 | 1994-11-29 | Intel Corporation | Method for assuring that an erase process for a memory array has been properly completed |
US5471604A (en) * | 1992-10-30 | 1995-11-28 | Intel Corporation | Method for locating sector data in a memory disk by examining a plurality of headers near an initial pointer |
US5740395A (en) * | 1992-10-30 | 1998-04-14 | Intel Corporation | Method and apparatus for cleaning up a solid state memory disk storing floating sector data |
US5337275A (en) * | 1992-10-30 | 1994-08-09 | Intel Corporation | Method for releasing space in flash EEPROM memory array to allow the storage of compressed data |
US5341330A (en) * | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for writing to a flash memory array during erase suspend intervals |
US5448577A (en) * | 1992-10-30 | 1995-09-05 | Intel Corporation | Method for reliably storing non-data fields in a flash EEPROM memory array |
US5416782A (en) * | 1992-10-30 | 1995-05-16 | Intel Corporation | Method and apparatus for improving data failure rate testing for memory arrays |
US5357475A (en) * | 1992-10-30 | 1994-10-18 | Intel Corporation | Method for detaching sectors in a flash EEPROM memory array |
US5479633A (en) * | 1992-10-30 | 1995-12-26 | Intel Corporation | Method of controlling clean-up of a solid state memory disk storing floating sector data |
US5341339A (en) * | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US5452311A (en) * | 1992-10-30 | 1995-09-19 | Intel Corporation | Method and apparatus to improve read reliability in semiconductor memories |
US5535369A (en) * | 1992-10-30 | 1996-07-09 | Intel Corporation | Method for allocating memory in a solid state memory disk |
US5822781A (en) * | 1992-10-30 | 1998-10-13 | Intel Corporation | Sector-based storage device emulator having variable-sized sector |
US5473753A (en) * | 1992-10-30 | 1995-12-05 | Intel Corporation | Method of managing defects in flash disk memories |
US5455800A (en) * | 1993-02-19 | 1995-10-03 | Intel Corporation | Apparatus and a method for improving the program and erase performance of a flash EEPROM memory array |
US5586285A (en) * | 1993-02-19 | 1996-12-17 | Intel Corporation | Method and circuitry for increasing reserve memory in a solid state memory disk |
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 |
US5835933A (en) * | 1993-02-19 | 1998-11-10 | Intel Corporation | Method and apparatus for updating flash memory resident firmware through a standard disk drive interface |
US5740349A (en) * | 1993-02-19 | 1998-04-14 | Intel Corporation | Method and apparatus for reliably storing defect information in flash disk memories |
US5603036A (en) * | 1993-02-19 | 1997-02-11 | Intel Corporation | Power management system for components used in battery powered applications |
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 |
US5490264A (en) * | 1993-09-30 | 1996-02-06 | Intel Corporation | Generally-diagonal mapping of address space for row/column organizer memories |
SG49632A1 (en) * | 1993-10-26 | 1998-06-15 | Intel Corp | Programmable code store circuitry for a nonvolatile semiconductor memory device |
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 |
US5809558A (en) * | 1994-09-29 | 1998-09-15 | Intel Corporation | Method and data storage system for storing data in blocks without file reallocation before erasure |
US5754817A (en) * | 1994-09-29 | 1998-05-19 | Intel Corporation | Execution in place of a file stored non-contiguously in a non-volatile memory |
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
US5563828A (en) * | 1994-12-27 | 1996-10-08 | Intel Corporation | Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays |
JP2734391B2 (ja) * | 1995-01-18 | 1998-03-30 | 日本電気株式会社 | 不揮発性メモリのファイル管理装置 |
US5724592A (en) * | 1995-03-31 | 1998-03-03 | Intel Corporation | Method and apparatus for managing active power consumption in a microprocessor controlled storage device |
US6067383A (en) * | 1995-09-12 | 2000-05-23 | Matsushita Electric Industrial Co., Ltd. | Coding method, coding apparatus, wavelet transform apparatus, and wavelet reverse transform apparatus |
US6014724A (en) * | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
JPH09319645A (ja) | 1996-05-24 | 1997-12-12 | Nec Corp | 不揮発性半導体記憶装置 |
US5845296A (en) * | 1996-07-10 | 1998-12-01 | Oracle Corporation | Method and apparatus for implementing segmented arrays in a database |
KR0185954B1 (ko) * | 1996-09-30 | 1999-05-15 | 삼성전자주식회사 | 휴대형 단말기기의 메모리 관리방법 |
US5832493A (en) * | 1997-04-24 | 1998-11-03 | Trimble Navigation Limited | Flash file management system |
JP3319361B2 (ja) * | 1997-09-30 | 2002-08-26 | ソニー株式会社 | 記憶装置、データ処理装置及びデータ処理方法 |
JP3640154B2 (ja) * | 1997-09-30 | 2005-04-20 | ソニー株式会社 | 不揮発性メモリ、不揮発性メモリの管理方法、不揮発性メモリを有する記憶装置、不揮発性メモリを管理するデータ管理装置及びデータ処理システム |
US6098074A (en) * | 1997-10-29 | 2000-08-01 | International Business Machines Corporation | Storage management system with file aggregation |
US5983239A (en) * | 1997-10-29 | 1999-11-09 | International Business Machines Corporation | Storage management system with file aggregation supporting multiple aggregated file counterparts |
US6021415A (en) * | 1997-10-29 | 2000-02-01 | International Business Machines Corporation | Storage management system with file aggregation and space reclamation within aggregated files |
US6094585A (en) * | 1997-11-14 | 2000-07-25 | Lucent Technologies Inc. | CDMA forward link power overload control in a base station |
US6092163A (en) | 1998-12-04 | 2000-07-18 | W. Quinn Associates, Inc. | Pageable filter driver for prospective implementation of disk space quotas |
US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
DE19819205A1 (de) * | 1998-04-29 | 1999-11-04 | Siemens Ag | Datenhaltungssystem für persistente Daten |
US6542909B1 (en) * | 1998-06-30 | 2003-04-01 | Emc Corporation | System for determining mapping of logical objects in a computer system |
US6393540B1 (en) | 1998-06-30 | 2002-05-21 | Emc Corporation | Moving a logical object from a set of source locations to a set of destination locations using a single command |
US7383294B1 (en) | 1998-06-30 | 2008-06-03 | Emc Corporation | System for determining the mapping of logical objects in a data storage system |
US6883063B2 (en) * | 1998-06-30 | 2005-04-19 | Emc Corporation | Method and apparatus for initializing logical objects in a data storage system |
JP3511916B2 (ja) * | 1998-11-17 | 2004-03-29 | 松下電器産業株式会社 | 記録再生装置 |
WO2000050997A1 (fr) | 1999-02-22 | 2000-08-31 | Hitachi, Ltd. | Carte memoire, procede d'affectation d'adresse logique, et procede d'ecriture de donnees |
US6742078B1 (en) * | 1999-10-05 | 2004-05-25 | Feiya Technology Corp. | Management, data link structure and calculating method for flash memory |
JP5220974B2 (ja) | 1999-10-14 | 2013-06-26 | ブルアーク ユーケー リミテッド | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 |
DE19960114A1 (de) * | 1999-12-08 | 2001-06-13 | Heidenhain Gmbh Dr Johannes | Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems |
US7051054B1 (en) * | 2000-05-30 | 2006-05-23 | Dphi Acquisitions, Inc. | Method and apparatus for emulating read/write file system on a write-once storage disk |
US6704835B1 (en) | 2000-09-26 | 2004-03-09 | Intel Corporation | Posted write-through cache for flash memory |
US7013455B1 (en) * | 2000-10-19 | 2006-03-14 | International Business Machines Corporation | System for automatically altering environment variable to run proper executable file by removing references to all except one duplicate file in the path sequence |
KR20020032803A (ko) * | 2000-10-27 | 2002-05-04 | 구자홍 | 스트리밍 서비스를 위한 파일 구조 |
JP4401565B2 (ja) * | 2000-12-12 | 2010-01-20 | キヤノン株式会社 | 記録装置及び管理方法 |
US6740603B2 (en) * | 2001-02-01 | 2004-05-25 | Texas Instruments Incorporated | Control of Vmin transient voltage drift by maintaining a temperature less than or equal to 350° C. after the protective overcoat level |
JP2003196142A (ja) * | 2001-12-25 | 2003-07-11 | Sony Corp | ライトワンス型メモリ装置及びファイル管理方法 |
PL351784A1 (en) * | 2002-01-21 | 2003-07-28 | Advanced Digital Broadcast Ltd | System for of storing data and method of recording them in that system |
US7010662B2 (en) * | 2002-02-27 | 2006-03-07 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
US7085879B2 (en) * | 2002-02-27 | 2006-08-01 | Microsoft Corporation | Dynamic data structures for tracking data stored in a flash memory device |
US7533214B2 (en) | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
US6901499B2 (en) * | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
US7072910B2 (en) * | 2002-03-22 | 2006-07-04 | Network Appliance, Inc. | File folding technique |
US7155464B2 (en) * | 2002-03-29 | 2006-12-26 | Panasas, Inc. | Recovering and checking large file systems in an object-based data storage system |
US6895464B2 (en) * | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US7130979B2 (en) * | 2002-08-29 | 2006-10-31 | Micron Technology, Inc. | Dynamic volume management |
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
US6968439B2 (en) | 2002-08-29 | 2005-11-22 | Micron Technology, Inc. | Single segment data object management |
US7108605B2 (en) * | 2002-09-30 | 2006-09-19 | Igt | EPROM file system in a gaming apparatus |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US7093101B2 (en) * | 2002-11-21 | 2006-08-15 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
RU2319227C2 (ru) | 2002-12-24 | 2008-03-10 | Эл Джи Электроникс Инк. | Способ запоминания с двойным протоколированием и носитель данных для него |
US7032090B2 (en) * | 2003-04-08 | 2006-04-18 | International Business Machines Corporation | Method, system, and apparatus for releasing storage in a fast replication environment |
CA2426619A1 (en) * | 2003-04-25 | 2004-10-25 | Ibm Canada Limited - Ibm Canada Limitee | Defensive heap memory management |
US7827375B2 (en) * | 2003-04-30 | 2010-11-02 | International Business Machines Corporation | Defensive heap memory management |
US7069402B2 (en) * | 2003-06-02 | 2006-06-27 | International Business Machines Corporation | Host-independent incremental backup method, apparatus, and system |
CN100390817C (zh) * | 2003-06-10 | 2008-05-28 | 大唐微电子技术有限公司 | 动态逻辑分区并控制访问权限的ic智能卡及其实现方法 |
DE10332831B4 (de) * | 2003-07-18 | 2009-07-30 | Siemens Ag | Verfahren zur Darstellung einer Dateistruktur |
JP4667243B2 (ja) | 2003-08-29 | 2011-04-06 | パナソニック株式会社 | 不揮発性記憶装置及びその書込み方法 |
US20050086430A1 (en) * | 2003-10-17 | 2005-04-21 | International Business Machines Corporation | Method, system, and program for designating a storage group preference order |
US7089349B2 (en) * | 2003-10-28 | 2006-08-08 | Sandisk Corporation | Internal maintenance schedule request for non-volatile memory system |
US7073149B2 (en) * | 2004-03-03 | 2006-07-04 | Xilinx, Inc. | System for representing the logical and physical information of an integrated circuit |
US7120892B1 (en) | 2004-03-03 | 2006-10-10 | Xilinx, Inc. | Process for adjusting data structures of a floorplan upon changes occurring |
US7437695B1 (en) | 2004-03-03 | 2008-10-14 | Xilinx, Inc. | Method of memory and run-time efficient hierarchical timing analysis in programmable logic devices |
US20060026377A1 (en) * | 2004-07-27 | 2006-02-02 | Somsubhra Sikdar | Lookup interface for array machine context data memory |
US9171100B2 (en) * | 2004-09-22 | 2015-10-27 | Primo M. Pettovello | MTree an XPath multi-axis structure threaded index |
US9639554B2 (en) | 2004-12-17 | 2017-05-02 | Microsoft Technology Licensing, Llc | Extensible file system |
US8606830B2 (en) | 2004-12-17 | 2013-12-10 | Microsoft Corporation | Contiguous file allocation in an extensible file system |
US8321439B2 (en) * | 2004-12-17 | 2012-11-27 | Microsoft Corporation | Quick filename lookup using name hash |
US7873596B2 (en) * | 2006-05-23 | 2011-01-18 | Microsoft Corporation | Extending cluster allocations in an extensible file system |
US7457909B2 (en) * | 2005-01-14 | 2008-11-25 | Angelo Di Sena | Controlling operation of 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 |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7698704B2 (en) * | 2005-02-17 | 2010-04-13 | International Business Machines Corporation | Method for installing operating system on remote storage: flash deploy and install zone |
ATE381061T1 (de) * | 2005-03-08 | 2007-12-15 | Bosch Gmbh Robert | Verfahren und vorrichtung zum wiederbeschreiben eines sektors mit bootloader-software in einem sektor-löschbaren nichtflüchtigen halbleiterspeicher |
US20080162782A1 (en) * | 2005-06-15 | 2008-07-03 | Nagarajan Suresh | Using Transacted Writes and Caching Mechanism to Improve Write Performance in Multi-Level Cell Flash Memory |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7627733B2 (en) * | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7949845B2 (en) | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
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 |
US7529905B2 (en) * | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7664742B2 (en) | 2005-11-14 | 2010-02-16 | Pettovello Primo M | Index data structure for a peer-to-peer network |
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 |
US7831783B2 (en) * | 2005-12-22 | 2010-11-09 | Honeywell International Inc. | Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems |
US20070174309A1 (en) * | 2006-01-18 | 2007-07-26 | Pettovello Primo M | Mtreeini: intermediate nodes and indexes |
US7783686B2 (en) * | 2006-06-16 | 2010-08-24 | Microsoft Corporation | Application program interface to manage media files |
US7603387B2 (en) * | 2006-06-16 | 2009-10-13 | Microsoft Corporation | Techniques to manage media files |
US20080077590A1 (en) * | 2006-09-22 | 2008-03-27 | Honeywell International Inc. | Efficient journaling and recovery mechanism for embedded flash file systems |
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 |
US20080140724A1 (en) * | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US8719501B2 (en) * | 2009-09-08 | 2014-05-06 | Fusion-Io | Apparatus, system, and method for caching data on a solid-state storage device |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US9885739B2 (en) | 2006-12-29 | 2018-02-06 | Electro Industries/Gauge Tech | Intelligent electronic device capable of operating as a USB master device and a USB slave device |
US9063181B2 (en) * | 2006-12-29 | 2015-06-23 | Electro Industries/Gauge Tech | Memory management for an intelligent electronic device |
US8285757B2 (en) * | 2007-01-31 | 2012-10-09 | Agency For Science, Technology And Research | File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system |
US7991942B2 (en) * | 2007-05-09 | 2011-08-02 | Stmicroelectronics S.R.L. | Memory block compaction method, circuit, and system in storage devices based on flash memories |
US7765426B2 (en) | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
JP2009003784A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
US8082387B2 (en) * | 2007-10-29 | 2011-12-20 | Micron Technology, Inc. | Methods, systems, and devices for management of a memory system |
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 |
JP2010003150A (ja) * | 2008-06-20 | 2010-01-07 | Nec Personal Products Co Ltd | メモリコントローラおよびフラッシュメモリのデータ管理方法 |
CN101334797B (zh) * | 2008-08-04 | 2010-06-02 | 中兴通讯股份有限公司 | 一种分布式文件系统及其数据块一致性管理的方法 |
US8347055B2 (en) * | 2009-06-30 | 2013-01-01 | Incard S.A. | Method to defrag a memory of an IC card |
US20110004720A1 (en) * | 2009-07-02 | 2011-01-06 | Chun-Ying Chiang | Method and apparatus for performing full range random writing on a non-volatile memory |
EP2286728B1 (en) | 2009-08-19 | 2022-03-16 | J. Morita Manufacturing Corporation | Medical x-ray apparatus |
WO2011031903A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US8429436B2 (en) | 2009-09-09 | 2013-04-23 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction in a storage device |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
US8631028B1 (en) | 2009-10-29 | 2014-01-14 | Primo M. Pettovello | XPath query processing improvements |
USD712289S1 (en) | 2009-12-01 | 2014-09-02 | Electro Industries/Gauge Tech | Electronic meter |
US8572311B1 (en) * | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
US20110203944A1 (en) * | 2010-02-20 | 2011-08-25 | Todd Edward Singer | Combination food storage bag and container with soaker pad |
JP5407945B2 (ja) | 2010-03-05 | 2014-02-05 | 株式会社デンソー | 充電制御システム |
US9396104B1 (en) | 2010-03-22 | 2016-07-19 | Seagate Technology, Llc | Accessing compressed data of varying-sized quanta in non-volatile memory |
WO2011143628A2 (en) | 2010-05-13 | 2011-11-17 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
EP2598996B1 (en) | 2010-07-28 | 2019-07-10 | SanDisk Technologies LLC | Apparatus, system, and method for conditional and atomic storage operations |
MX346786B (es) | 2010-08-17 | 2017-03-31 | Ambrx Inc | Polipeptidos de relaxina modificados y sus usos. |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US9141526B2 (en) * | 2010-09-16 | 2015-09-22 | International Business Machines Corporation | Reclaiming units by searching units for a predetermined criterion and storing data from a valid subunit |
US8527693B2 (en) | 2010-12-13 | 2013-09-03 | Fusion IO, Inc. | Apparatus, system, and method for auto-commit memory |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
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 |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
JP5917163B2 (ja) * | 2011-01-27 | 2016-05-11 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム並びに記憶媒体 |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | 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 |
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 |
JP5451682B2 (ja) * | 2011-05-20 | 2014-03-26 | 株式会社東海理化電機製作所 | フラッシュメモリ装置 |
KR20130043445A (ko) * | 2011-10-20 | 2013-04-30 | 삼성전자주식회사 | 인터페이스 관리 방법 및 이를 이용한 저장 장치에서의 매핑 처리 방법 |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
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 |
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 |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
KR102011135B1 (ko) | 2012-12-11 | 2019-08-14 | 삼성전자주식회사 | 모바일 장치 및 그것의 스왑을 통한 데이터 관리 방법 |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
JP2014206967A (ja) * | 2013-03-18 | 2014-10-30 | 株式会社Genusion | 記憶装置 |
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 |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9547553B1 (en) | 2014-03-10 | 2017-01-17 | Parallel Machines Ltd. | Data resiliency in a shared memory pool |
US9781027B1 (en) | 2014-04-06 | 2017-10-03 | Parallel Machines Ltd. | Systems and methods to communicate with external destinations via a memory network |
US9477412B1 (en) | 2014-12-09 | 2016-10-25 | Parallel Machines Ltd. | Systems and methods for automatically aggregating write requests |
US9690713B1 (en) | 2014-04-22 | 2017-06-27 | Parallel Machines Ltd. | Systems and methods for effectively interacting with a flash memory |
US9529622B1 (en) | 2014-12-09 | 2016-12-27 | Parallel Machines Ltd. | Systems and methods for automatic generation of task-splitting code |
US9927470B2 (en) | 2014-05-22 | 2018-03-27 | Electro Industries/Gauge Tech | Intelligent electronic device having a memory structure for preventing data loss upon power loss |
US9781225B1 (en) | 2014-12-09 | 2017-10-03 | Parallel Machines Ltd. | Systems and methods for cache streams |
US9753873B1 (en) | 2014-12-09 | 2017-09-05 | Parallel Machines Ltd. | Systems and methods for key-value transactions |
US9632936B1 (en) | 2014-12-09 | 2017-04-25 | Parallel Machines Ltd. | Two-tier distributed memory |
US9639473B1 (en) | 2014-12-09 | 2017-05-02 | Parallel Machines Ltd. | Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location |
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 |
US10528287B2 (en) * | 2015-10-09 | 2020-01-07 | Sony Corporation | Memory, memory controller, storage apparatus, information processing system, and control method for tracking erase count and rewrite cycles of memory pages |
US10162552B2 (en) * | 2016-03-31 | 2018-12-25 | EMC IP Holding Company LLC | System and method for quasi-compacting garbage collection |
CN110637027B (zh) | 2017-02-08 | 2024-08-30 | 百时美施贵宝公司 | 包含药代动力学增强子的修饰的松弛素多肽及其用途 |
KR20190001300A (ko) * | 2017-06-27 | 2019-01-04 | 에스케이하이닉스 주식회사 | 컨트롤러 및 메모리 시스템 및 메모리 시스템의 동작 방법 |
USD939988S1 (en) | 2019-09-26 | 2022-01-04 | Electro Industries/Gauge Tech | Electronic power meter |
CN111522507B (zh) * | 2020-04-14 | 2021-10-01 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62102385A (ja) * | 1985-10-29 | 1987-05-12 | Toshiba Corp | 携帯可能媒体 |
JPS62128391A (ja) * | 1985-11-30 | 1987-06-10 | Toshiba Corp | 携帯可能電子装置 |
JPS62131354A (ja) * | 1985-12-03 | 1987-06-13 | Sharp Corp | Icカ−ドに於ける情報書き込み制御方法 |
JPS62283497A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | メモリ書き込み制御方法 |
JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
JPS63200398A (ja) * | 1987-02-16 | 1988-08-18 | Hitachi Ltd | 情報処理装置 |
JPH01180688A (ja) * | 1988-01-12 | 1989-07-18 | Toshiba Corp | 携帯可能電子装置 |
JPH01276495A (ja) * | 1988-04-28 | 1989-11-07 | Hitachi Ltd | Eepromの制御方式 |
JPH01286199A (ja) * | 1988-05-12 | 1989-11-17 | Hitachi Ltd | 書替え可能な不揮発性メモリ書替え装置 |
JPH02188000A (ja) * | 1989-01-13 | 1990-07-24 | Sharp Corp | 不揮発性メモリ内蔵マイクロコンピュータ |
JPH02292798A (ja) * | 1989-04-13 | 1990-12-04 | Sundisk Corp | フラッシュEEpromシステム |
JPH0325798A (ja) * | 1989-06-23 | 1991-02-04 | Ricoh Co Ltd | Eepromを使用した記憶装置 |
JPH04213129A (ja) * | 1990-01-31 | 1992-08-04 | Hewlett Packard Co <Hp> | メモリ管理システム及びメモリ管理方法 |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435752A (en) * | 1973-11-07 | 1984-03-06 | Texas Instruments Incorporated | Allocation of rotating memory device storage locations |
US4408273A (en) | 1980-05-27 | 1983-10-04 | International Business Machines Corporation | Method and means for cataloging data sets using dual keyed data sets and direct pointers |
EP0063186B1 (en) | 1981-03-16 | 1986-01-22 | International Business Machines Corporation | Improvements to digital data processing apparatus |
US4680698A (en) | 1982-11-26 | 1987-07-14 | Inmos Limited | High density ROM in separate isolation well on single with chip |
US4507752A (en) | 1983-02-22 | 1985-03-26 | International Business Machines Corporation | In-place index compression |
US4630234A (en) | 1983-04-11 | 1986-12-16 | Gti Corporation | Linked list search processor |
US4606002A (en) | 1983-05-02 | 1986-08-12 | Wang Laboratories, Inc. | B-tree structured data base using sparse array bit maps to store inverted lists |
GB8613069D0 (en) * | 1986-05-29 | 1986-07-02 | Univ Manchester | Parallel storage allocation |
US4953122A (en) | 1986-10-31 | 1990-08-28 | Laserdrive Ltd. | Pseudo-erasable and rewritable write-once optical disk memory system |
JPS63129586A (ja) * | 1986-11-19 | 1988-06-01 | Matsushita Electric Ind Co Ltd | 情報記憶装置 |
US5060147A (en) | 1987-05-01 | 1991-10-22 | General Electric Company | String length determination on a distributed processing system |
US4942541A (en) * | 1988-01-22 | 1990-07-17 | Oms, Inc. | Patchification system |
JP2679761B2 (ja) * | 1987-09-29 | 1997-11-19 | 富士通株式会社 | データ管理システム |
US4939598A (en) * | 1988-02-08 | 1990-07-03 | International Business Machines Corporation | Managing data storage space on large capacity record media |
US5132853A (en) * | 1988-02-08 | 1992-07-21 | International Business Machines Corporation | Allocation procedures for optical disk recorders |
US4953080A (en) | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5161256A (en) * | 1988-08-26 | 1992-11-03 | Kabushiki Kaisha Toshiba | Method and system for allocating file area in memory area of ic card |
US4989132A (en) | 1988-10-24 | 1991-01-29 | Eastman Kodak Company | Object-oriented, logic, and database programming tool with garbage collection |
US5115504A (en) | 1988-11-01 | 1992-05-19 | Lotus Development Corporation | Information management system |
US5029125A (en) * | 1989-03-07 | 1991-07-02 | Drexler Technology Corporation | Method of reading and writing files on nonerasable storage media |
US5491807A (en) | 1989-03-20 | 1996-02-13 | International Business Machines Corporation | System and method for worm volume management of new and updated data files using variable threshold block addresses |
JPH0687229B2 (ja) * | 1989-06-19 | 1994-11-02 | 松下電送株式会社 | 追記型記憶媒体を用いたファイルの管理方法 |
US5247658A (en) * | 1989-10-31 | 1993-09-21 | Microsoft Corporation | Method and system for traversing linked list record based upon write-once predetermined bit value of secondary pointers |
JP2646813B2 (ja) * | 1990-07-30 | 1997-08-27 | 松下電器産業株式会社 | ディジタル映像信号記録方法 |
US5247516A (en) * | 1991-03-28 | 1993-09-21 | Sprint International Communications Corp. | Configurable composite data frame |
US5229992A (en) * | 1991-03-28 | 1993-07-20 | Sprint International Communications Corp. | Fixed interval composite framing in integrated services networks |
-
1992
- 1992-01-29 US US07/828,763 patent/US6256642B1/en not_active Expired - Fee Related
-
1993
- 1993-01-29 EP EP93101396A patent/EP0557736B1/en not_active Expired - Lifetime
- 1993-01-29 CA CA002325810A patent/CA2325810C/en not_active Expired - Fee Related
- 1993-01-29 CA CA002088442A patent/CA2088442C/en not_active Expired - Lifetime
- 1993-01-29 DE DE69333906T patent/DE69333906T2/de not_active Expired - Lifetime
- 1993-01-29 JP JP01398093A patent/JP3825479B2/ja not_active Expired - Lifetime
- 1993-01-29 CA CA002325812A patent/CA2325812C/en not_active Expired - Fee Related
-
1995
- 1995-06-07 US US08/473,763 patent/US5634050A/en not_active Expired - Lifetime
- 1995-06-07 US US08/488,548 patent/US5898868A/en not_active Expired - Lifetime
-
2006
- 2006-05-09 JP JP2006130478A patent/JP4365385B2/ja not_active Expired - Lifetime
- 2006-05-09 JP JP2006130477A patent/JP2006209807A/ja active Pending
-
2008
- 2008-08-25 JP JP2008214841A patent/JP4485586B2/ja not_active Expired - Lifetime
-
2009
- 2009-03-30 JP JP2009081080A patent/JP4858789B2/ja not_active Expired - Lifetime
- 2009-12-01 JP JP2009273039A patent/JP4608589B2/ja not_active Expired - Lifetime
- 2009-12-01 JP JP2009273033A patent/JP4608587B2/ja not_active Expired - Lifetime
- 2009-12-01 JP JP2009273034A patent/JP4608588B2/ja not_active Expired - Lifetime
-
2011
- 2011-01-25 JP JP2011012551A patent/JP4836217B2/ja not_active Expired - Lifetime
- 2011-08-09 JP JP2011173783A patent/JP2011222051A/ja active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62102385A (ja) * | 1985-10-29 | 1987-05-12 | Toshiba Corp | 携帯可能媒体 |
JPS62128391A (ja) * | 1985-11-30 | 1987-06-10 | Toshiba Corp | 携帯可能電子装置 |
JPS62131354A (ja) * | 1985-12-03 | 1987-06-13 | Sharp Corp | Icカ−ドに於ける情報書き込み制御方法 |
JPS62283497A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | メモリ書き込み制御方法 |
JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
JPS63200398A (ja) * | 1987-02-16 | 1988-08-18 | Hitachi Ltd | 情報処理装置 |
JPH01180688A (ja) * | 1988-01-12 | 1989-07-18 | Toshiba Corp | 携帯可能電子装置 |
JPH01276495A (ja) * | 1988-04-28 | 1989-11-07 | Hitachi Ltd | Eepromの制御方式 |
JPH01286199A (ja) * | 1988-05-12 | 1989-11-17 | Hitachi Ltd | 書替え可能な不揮発性メモリ書替え装置 |
JPH02188000A (ja) * | 1989-01-13 | 1990-07-24 | Sharp Corp | 不揮発性メモリ内蔵マイクロコンピュータ |
JPH02292798A (ja) * | 1989-04-13 | 1990-12-04 | Sundisk Corp | フラッシュEEpromシステム |
JPH0325798A (ja) * | 1989-06-23 | 1991-02-04 | Ricoh Co Ltd | Eepromを使用した記憶装置 |
JPH04213129A (ja) * | 1990-01-31 | 1992-08-04 | Hewlett Packard Co <Hp> | メモリ管理システム及びメモリ管理方法 |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2010049712A (ja) | 2010-03-04 |
CA2325810C (en) | 2001-08-21 |
EP0557736B1 (en) | 2005-11-16 |
CA2325812A1 (en) | 1993-07-30 |
JP3825479B2 (ja) | 2006-09-27 |
JP2010049713A (ja) | 2010-03-04 |
DE69333906D1 (de) | 2005-12-22 |
CA2088442A1 (en) | 1993-07-30 |
JP2011222051A (ja) | 2011-11-04 |
US6256642B1 (en) | 2001-07-03 |
JP2011103137A (ja) | 2011-05-26 |
JP2006209807A (ja) | 2006-08-10 |
JP4608587B2 (ja) | 2011-01-12 |
US5898868A (en) | 1999-04-27 |
DE69333906T2 (de) | 2006-05-24 |
JP2010049714A (ja) | 2010-03-04 |
JP2006209808A (ja) | 2006-08-10 |
EP0557736A3 (ja) | 1994-02-09 |
JP4608589B2 (ja) | 2011-01-12 |
JP4608588B2 (ja) | 2011-01-12 |
CA2088442C (en) | 2003-04-15 |
EP0557736A2 (en) | 1993-09-01 |
JP2009146458A (ja) | 2009-07-02 |
JP4836217B2 (ja) | 2011-12-14 |
CA2325810A1 (en) | 1993-07-30 |
JP4858789B2 (ja) | 2012-01-18 |
US5634050A (en) | 1997-05-27 |
JPH07191892A (ja) | 1995-07-28 |
JP4485586B2 (ja) | 2010-06-23 |
JP4365385B2 (ja) | 2009-11-18 |
CA2325812C (en) | 2001-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4485586B2 (ja) | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム | |
US5392427A (en) | System for updating data stored on a flash-erasable, programmable, read-only memory (FEPROM) based upon predetermined bit value of indicating pointers | |
US6381176B1 (en) | Method of driving remapping in flash memory and flash memory architecture suitable therefor | |
KR100453053B1 (ko) | 플래쉬 메모리용 파일 시스템 | |
US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
EP0688450B1 (en) | Flash file system | |
US7610434B2 (en) | File recording apparatus | |
US5832493A (en) | Flash file management system | |
US20140149664A1 (en) | Storage System Capable of Managing a Plurality of Snapshot Families and Method of Operating Thereof | |
US20140244913A1 (en) | Memory systems | |
US20070294490A1 (en) | System and Method of Updating a Memory to Maintain Even Wear | |
JP2009199625A (ja) | メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
US6938140B2 (en) | System and method for linear object reallocation in place | |
US20070005929A1 (en) | Method, system, and article of manufacture for sector mapping in a flash device | |
US12039193B2 (en) | Apparatus, method and computer program for managing memory page updates within non-volatile memory | |
Wiseman | ROYAL SIGNALS AND RADAR ESTABLISSHMENT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090213 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090218 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090223 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090324 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090902 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091008 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100324 |
|
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: 20130402 Year of fee payment: 3 |
|
EXPY | Cancellation because of completion of term |