JP2011103137A - フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム - Google Patents
フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム Download PDFInfo
- Publication number
- JP2011103137A JP2011103137A JP2011012551A JP2011012551A JP2011103137A JP 2011103137 A JP2011103137 A JP 2011103137A JP 2011012551 A JP2011012551 A JP 2011012551A JP 2011012551 A JP2011012551 A JP 2011012551A JP 2011103137 A JP2011103137 A JP 2011103137A
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- file
- entry
- directory
- 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
【解決手段】複数のブロックを備えたブロック消去可能なプログラマブル・リードオンリメモリにおいて割り当てを解除されたスペースを再利用する方法であって、前記メモリの少なくとも1つのブロックにファイルシステムのディレクトリ構造に関連するデータを記憶するステップと、再利用すべきブロックにおいて、データ領域を、割り当てを解除されているもの又は割り当てられているものとして識別するステップと、スペアブロックを消去するステップと、割り当てられているデータ領域を前記再利用すべきブロックから前記スペアブロックへコピーすることにより、割り当てを解除されているデータ領域に対応する記憶エリアが割り当てのために再利用されるステップとを含む。
【選択図】図33
Description
本発明の別の目的は、ブロック消去可能なFEPromにおいてブロックを消去した回数を追跡する方法を提供することである。
本発明の更に別の目的は、データを記憶するためのブロックを割り当てる方法を提供することである。
本発明の更に別の目的は、ブロック消去可能なFEPromのためのファイルシステムを提供することである。
ましい実施例において、ブロックヘッダと、ブロック割り当てテーブルと、データ記憶エリアと、データを記憶すべきブロックを選択するためのブロック割り当てルーチンと、ブロック割り当てテーブルのエントリ及びデータ記憶エリアの一部分を選択するためのデータエリア割り当てルーチンと、データを記憶するための記憶ルーチンとを有したブロック消去可能なFEPromを具備している。又、このシステムは、好ましい実施例において、ブロック消去可能なFEPromのためのファイルシステムを実施するファイルマネージャを備えている。
6によって示されたように互いに向かって成長する。ブロック割り当て構造体のAllocエントリは、ブロックの対応領域に対するオフセット2310−2315を含んでいる。好ましい実施例においては、ブロック割り当て構造体が、その領域に記憶されたデータに対して特定のデータを含んでいる。
データ構造体
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 リアタイアされた
FEPromマネージャは、Allocエントリを追加し、自由スペース内の第1位置を指すように可変オフセットをセットし、変数Lenを領域の長さにセットし、そして割り当てられたことを指示するように変数Statusをセットすることによりブロック内のデータ領域を割り当てる。FEPromマネージャは、対応するAllocエントリにおける変数Statusを割り当て解除された状態にセットすることにより領域の割り当て解除を行う。割り当て解除されたスペースは一般に再割り当てには使用できない。というのは、非FNULL値にセットされているからである。割り当て解除されたスペースは、再割り当てされる前にFNULLにセットされる。割り当て解除されたスペースをFNULLにセットしそして割り当てに使用できるようにするプロセスは、ブロックリクレイミングである。割り当て解除されたスペースは、割り当てられた領域を第2のブロックにコピーしそして第2のブロックのAllocエントリを新たなオフセットを指すようにセットすることによりリクレイミングされる。ブロックのリクレイミングプロセスは、第2ブロックのAllocエントリがブロックヘッダに対しコピー元ブロックにあったのと同じ位置になるように確保する。FEPromマネージャは、論理ブロックシーケンス番号であるヘッダの変数BlockSeqを使用して、データの特定の論理ブロックを識別する。リクレイミング中に、ブロックがコピーされるときには、物理的なブロック番号が変化するが、論理的なブロックシーケンス番号は変化しない。
る。このルーチンに対する入力パラメータは、その領域に記憶すべきデータと、データの長さである。このルーチンは、割り当てられた領域にハンドルを返送する。或いは又、このルーチンはデータを書き込まず、単にスペースを割り当てる。このルーチンは、ブロックが領域に対して充分な自由スペースと、追加のAllocエントリとを有すると仮定する。図35は、Allocエントリのステータスに対する状態図である。Allocエントリは、次のステータスのうちの1つである。即ち、未使用、割り当てられた状態、割り当て解除された状態、取って代わられた状態、自由、又はゼロである。又、エントリは、割り当てが処理中である間は移行状態にある。エントリが未使用である場合には、Allocアレイの最後のエントリを通過しており、即ちアレイの一部分ではない。エントリが割り当てられた場合には、それに対応する領域が現在割り当てられる。エントリが割り当て解除される場合には、それに対応する領域が不要であるが、その領域はまだリクレイミングされていない。エントリが取って代わられる場合には、別のAllocエントリ(単数又は複数)がその同じデータ領域に対応する。リクレイミング中、取って代わられたエントリにあるデータは無視される。というのは、別のエントリ(単数又は複数)がデータ領域を指すからである。エントリが自由の場合には、それに対応する領域がリクレイミングされており、新たな領域がブロックに追加されたときにAllocエントリを再使用することが出来る。エントリがゼロの場合には、エントリへの書き込み中に問題が生じており、消去されるまで使用されない。エントリが割り当てにおいてプロセス移行状態にある場合には、エントリにおけるデータの若干は有効であるが必ずしも全部ではない。
ステムは割り当てを終了する。
が充分な自由スペースを有しているかどうかを決定する前に、リクレイミング基準に合致するブロックに対してブロックリクレイミングを実行する。別の実施例においては、充分な自由スペースがないと決定されるまでリクレイミングは行われない。ブロック2802においては、少なくとも1つのブロックが選択された場合に、領域を保持するに充分な自由スペースが単一ブロックにあり、システムはブロック2803に続き、さもなくば、システムはブロック2804に続く。ブロック2803において、システムは、選択されたブロックのどれが最も低い消去カウントを有するかを決定し、そのブロックを割り当てると共に、システムはブロックの割り当てを終了する。ブロック2804においては、システムは、領域データを保持するに充分な自由スペースを有する1組のブロックを選択する。ブロック2805においては、全自由スペースと割り当て解除されたスペースがデータを保持するに充分でないか或いはあまりに多数の部分がある場合に、システムはブロック2807へ続き、さもなくば、システムはブロック2806へ続く。領域データを単一ブロックに記憶しなければならない場合には、2つのブロックを選択すると、部分が多数になり過ぎる。又、データを多数のブロックに記憶すべき場合には、リクレイミングが適当である。ブロック2806において、システムは選択されたブロックを割り当て、ブロックの割り当てが終了する。ブロック2807において、全てのブロックがリクレイミングされた場合には、FEPromにはデータを記憶するに充分な余裕がなく、ブロックの割り当てが終了するか、さもなくば、システムはブロック2808へ続く。ブロック2808において、システムはブロックをリクレイミングし、ブロック2801へ進んで、新たな充分な自由スペースがあるかどうかを決定する。
ンドルに対するプレースホルダーとして必要とされず、除去されている。Alloc〔4〕エントリの位置状態は、それがAllocアレイにおける最終エントリであることを指示する。
クの状態をレディにセットする。ブロック3012では、システムは、リクレイミングされるべきブロックの状態を消去のための待ち行列にセットする。ブロック3011についての処理が完了した後であって且つブロック3012についての処理が完了する前に、スペアブロックと、リクレイミングされるべきブロックの両方は有効データを有している。ブロック3012についての処理が完了する前に処理が中断した場合には、FEPromは、同じ論理シーケンス番号を有する2つのブロックを含む。システムは、好ましくは、FEPromの初期化中にこの状態をチェックする。このときに、システムはブロック3012の処理を完了することができる。ブロック3013では、システムは、スペアブロック(以下で述べる)の状態を表すように変数PhysicalBlockNum、FirstFreeByteOffset、LenDeallocateSpace及びAllocStructCnt in BlockData〔Seq〕を更新する。ブロック3014では、システムは、スペアブロックのリストを調整するようにDriveRecを更新し、リクレイミングが終了となる(以下で述べる)。
データ構造
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 をセットする。
索引iに変数 PhysicalBlockNum をセットする。ブロック2708では、システムは索引jをインクリメントさせて次の Allocエントリを指示させ、ブロック2706へループする。ブロック2710では、システムはブロック使用をレベル化する。システムは BlockDataアレイを走査して最大 BlockEraseCntを有するブロック及び最小 BlockEraseCntを有するブロックを決定する。次いでシステムはブロック間でデータをスワップ(交換)する。システムは先ず最大ブロックを予備ブロックへ複写する。次にシステムは最大ブロック
を消去する。システムは最小ブロックからのデータを消去されたブロックへ複写し、そして好ましくは複写しながらブロック再利用を遂行する。システムは最小ブロックを消去し、予備ブロックからのデータを最小ブロックへ複写し、そして好ましくは複写中にブロック再利用を遂行する。
FEProm 管理者はそのブロックを割当て解除された状態にセットする。次いでFEProm 管
理者は、図33に示す領域割当てプロセスを再始動させることによって、データを異なるデータ領域へ書込むことを試みる。
ファイルシステム
本発明は、 FEProm 装置に対してディレクトリをベースとする階層ファイルシステムを提供する。階層ファイルシステムは論理的グルーピング内にファイルを記憶させる。好ましい実施例は、ディレクトリ階層及び内部ファイル記憶の両者を実現するためにリンクされたリストデータ構造を使用する。
27を有し、サブディレクトリレコード「メリー」108は次に低いレベルのファイルレコードのリンクされたリスト142を指し示すポインタ128を有している。リンクされたリスト142は、ポインタ129及び130によってリンクされているファイルレコード「 LETTER1.DOC」110、「LETTER2.DOC 」111及び「LETTER3.DOC 」112からなる。右上のテンプレート10は図面を通して使用されるレコードレイアウトを示す。好ましい実施例では図2に示すレコードは、以下に説明するように DirEntry 及び FileEntry構造である。
るように、ファイルシステムの識別に関するある一般的な情報、 FEProm をアクセスすることができるファイルシステムのバージョン番号、ルートディレクトリを指し示すポインタ、及び付加的なデータを含む。表Dに示す第1及び第2の構造は、 DirEntry 構造及び FileEntry構造である。これらの構造の1つが各ディレクトリ及びファイル毎に割当てられる。これらの構造は同一である。変数 SiblingPtr はディレクトリ階層の同一レベルの DirEntry 構造及びFileEntry 構造のリンクされたリスト内の次の同胞を指し示す。変数PrimaryPtr 及び SecondaryPtr は以下に詳述する。第3の構造は、 FileInfo 構造である。各ファイル範囲は関連 FileInfo 構造を有している。変数 PrimaryPtr はファイルの FileInfo 構造を指し示す。
データ構造
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 」を含んでいる。
のアドレスを含むように変数Cをセットする。例えば、パスネーム“\P\C”は、ルートディレクトリのサブディレクトリであるPのサブディレクトリであるディレクトリCが創成されることを意味する。図8はディレクトリCがPの最初のサブディレクトリである場合を示し、図9はディレクトリCがPの最初のサブディレクトリではない場合を示す。図8及び9において、実線はディレクトリCを追加する前のディレクトリ構造を示し、点線はディレクトリCが追加された後のディレクトリ構造を示す。
である。このルーチンのパラメタは、変更された関連範囲を持つためのFileInfoブロックのアドレスであるRと、新データのための範囲内へのオフセットであるextent-offsetと、新データである new-data と、新データの長さである data-lengthとである。少なくともあるブロックが消去されるまでは、FEPromは1回書込み装置であるから、データが記憶される領域は、ファイルへの更新が発生する時には再書込みはできない。以下に説明するように好ましい実施例では更新されるデータは FEProm の異なる領域へ書込まれる。
セットされる。新範囲は、レコードR2 1412によって指し示される区分である新D2 1404に対応する新データに割当てられる。レコードR 1410の SecondaryPtr は FileInfo R1 1411を指し示し、R 1410の PrimaryPtr が置換されたことを指示する。 FileInfo レコードR3 1413の PrimaryPtr は FileInfo レコードR 1410の PrimaryPtr 内に含まれている値にセットされてリンクを完了する。ファイル更新ルーチンは、ブロック内に3つの新 Allocエントリを追加するための範囲を含む十分なスペースが存在することに依存する。これら3つの Allocエントリは、1つの領域ではなく3つの領域内に範囲を再定義する。もし十分なスペースが存在しなければ、ブロックの再利用によって空きスペースを発生させることができ、ファイル更新ルーチンを呼出すことができる。しかし、もし十分な空きスペースが存在しなければ、その範囲内のデータは新範囲へ移動させられる。もしデータが移動させられれば、新データは古データと統合され、1つだけの FileInfo レコードを有する新ブロック内の1領域へ書込まれる。古ブロック内の領域は割当て解除される。好ましい実施例では、 FEProm 管理者は既存領域の部分を指し示すAlloc エントリの追加を支援する。図17の例は、ブロックへ追加する3つの新Alloc エントリを必要とし、これらはD1、D2、及びD3に関連付けられた新たに定義された領域に対応する。D2のための Allocエントリは割当て解除され、D1及びD3のための Allocエントリが割当てられる。区分D1、D2、及びD3からなる領域に対応する古い Allocエントリのステータスは、それが置換されたことを指示するようにセットされる。置換済のステータスは、 Allocエントリが本質的に対応領域を用いずに割当て解除されることを指示する。
図21は、 FEProm からディレクトリを削除するルーチンの流れ図である。ファイルを削除するルーチンは、対応付けられた FileInfo レコードが割当て解除されること以外は同一である。このルーチンは、DirEntry のステータスを、それが削除されることを指示するようにセットする。ブロック1801においてシステムは、削除すべきディレクトリを探知し、そのディレクトリのアドレスを含むように変数「ポインタD」をセットする。ブロック1802では、そのディレクトリを削除することを指示するようにD−>「ステータス」をセットする。
れたリストを指し示す。
ステータス」をセットし、古いエントリの置換を完了させてルーチンを終了させる。
テムはブロック2106へ進み、そうでない場合はシステムはブロック2107へ進む。ブロック2106では変数CはC−>SecondaryPtr にセットされて置換されるエントリを指し示すようにされ、ブロック2105へループバックされる。ブロック2107においてもしC−>「ステータス」が ATDRecentを指示していればFileInfoエントリは最新の属性データを含んでいるのであり、システムはブロック2109へ進み、そうでない場合にはシステムはブロック2108へ進む。ブロック2108においてシステムは変数CをC−> PrimaryPtr に等しくセットし、ブロック2105へループバックする。ブロック2109においてはシステムは変数Xを変数Cにセットし、図25のブロック2111へ進む。
Y−>「ステータス」が指示していれば、システムはブロック2115へ進み、そうでなければブロック2116へ進む。ブロック2115では変数YがY−> SecondaryPtr に等しくセットされ、ブロック2114へループバックされる。ブロック2116においてもしY−>「ステータス」が ATDRecentにセットされていればシステムはブロック2117へ進み、そうでなければブロック2112へ戻される。ブロック2117においてもしY−>「属性」、Y−>「日付」、及びY−>「時刻」が FNULLに等しければシステムはブロック2118へ進み、そうでなければブロック2112へループバックされる。ブロック2118において、Y−>「属性」、Y−>「日付」及びY−>「時刻」は新しい属性データにセットされる。ブロック2119ではX−>「ステータス」が ATDSupersededに等しくセットされ、ルーチンは完了する。
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 (11)
-
複数のブロックを備えたブロック消去可能なプログラマブル・リードオンリメモリにおいて割り当てを解除されたスペースを再利用する方法であって、 前記メモリの少なくとも1つのブロックにファイルシステムのディレクトリ構造に関連するデータを記憶するステップと、
再利用すべきブロックにおいて、データ領域を、割り当てを解除されているもの又は割り当てられているものとして識別するステップと、
スペアブロックを消去するステップと、
割り当てられているデータ領域を前記再利用すべきブロックから前記スペアブロックへコピーすることにより、前記割り当てを解除されているデータ領域に対応する記憶エリアが割り当てのために再利用されるステップと
を含む方法。 - 前記割り当てられたデータ領域は前記スペアブロック内の連続するメモリ位置にコピーされる請求項1に記載の方法。
- 前記ファイルシステムのディレクトリ構造に関連するデータはディレクトリ階層を規定する請求項1に記載の方法。
- 前記システムのディレクトリ構造は複数のディレクトリを含み、ディレクトリはサブディレクトリをさらに含む請求項3に記載の方法。
- 前記ブロックは可変長のデータ領域にデータを記憶するように構成される請求項1に記載の方法。
- 各ブロックは、それぞれのブロックにおけるデータ領域を参照するデータ要素を有する割り当てデータ構造をさらに含む請求項5に記載の方法。
- 前記割り当てデータ構造及び前記データ領域は前記ブロックの両端に配置され、前記割り当てデータ構造及び前記データ領域はデータが前記ブロックに書き込まれるにつれて互いに向かって成長する請求項6に記載の方法。
- 前記割り当てデータ構造のデータ要素は、前記データ要素により参照されるそれぞれのデータ領域の長さを示す情報を含む請求項6に記載の方法。
- 前記割り当てデータ構造の前記データ要素は、前記データ要素により参照される前記それぞれのデータ領域の開始位置を示す情報をさらに含む請求項8に記載の方法。
- 請求項1乃至9のいずれか1項に記載の方法をコンピュータに実行させる命令を有するコンピュータプログラム。
- 請求項10に記載のコンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (2)
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 |
US07/828763 | 1992-01-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009081080A Division JP4858789B2 (ja) | 1992-01-29 | 2009-03-30 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011173783A Division JP2011222051A (ja) | 1992-01-29 | 2011-08-09 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011103137A true JP2011103137A (ja) | 2011-05-26 |
JP4836217B2 JP4836217B2 (ja) | 2011-12-14 |
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 (8)
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 | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109147853A (zh) * | 2017-06-27 | 2019-01-04 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Families Citing this family (214)
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 | 百时美施贵宝公司 | 包含药代动力学增强子的修饰的松弛素多肽及其用途 |
USD939988S1 (en) | 2019-09-26 | 2022-01-04 | Electro Industries/Gauge Tech | Electronic power meter |
CN111522507B (zh) * | 2020-04-14 | 2021-10-01 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62102385A (ja) * | 1985-10-29 | 1987-05-12 | Toshiba Corp | 携帯可能媒体 |
JPS62131354A (ja) * | 1985-12-03 | 1987-06-13 | Sharp Corp | Icカ−ドに於ける情報書き込み制御方法 |
JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
JPS62283497A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | メモリ書き込み制御方法 |
JPS63129586A (ja) * | 1986-11-19 | 1988-06-01 | Matsushita Electric Ind Co Ltd | 情報記憶装置 |
JPS63200398A (ja) * | 1987-02-16 | 1988-08-18 | Hitachi Ltd | 情報処理装置 |
JPS63233448A (ja) * | 1986-05-29 | 1988-09-29 | 松下電器産業株式会社 | 記憶領域割付方法及びその装置 |
JPS6488652A (en) * | 1987-09-29 | 1989-04-03 | Fujitsu Ltd | Directory constituting system |
JPH01180688A (ja) * | 1988-01-12 | 1989-07-18 | Toshiba Corp | 携帯可能電子装置 |
JPH01276495A (ja) * | 1988-04-28 | 1989-11-07 | Hitachi Ltd | Eepromの制御方式 |
JPH02188000A (ja) * | 1989-01-13 | 1990-07-24 | Sharp Corp | 不揮発性メモリ内蔵マイクロコンピュータ |
JPH02292798A (ja) * | 1989-04-13 | 1990-12-04 | Sundisk Corp | フラッシュEEpromシステム |
JPH0322046A (ja) * | 1989-06-19 | 1991-01-30 | Matsushita Graphic Commun Syst Inc | 追記型記憶媒体を用いたファイルの管理方法 |
JPH0325798A (ja) * | 1989-06-23 | 1991-02-04 | Ricoh Co Ltd | Eepromを使用した記憶装置 |
EP0439920A2 (en) * | 1990-01-31 | 1991-08-07 | Hewlett-Packard Company | System and method for memory management in a microcomputer |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
Family Cites Families (25)
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 |
JPS62128391A (ja) * | 1985-11-30 | 1987-06-10 | Toshiba Corp | 携帯可能電子装置 |
US4953122A (en) | 1986-10-31 | 1990-08-28 | Laserdrive Ltd. | Pseudo-erasable and rewritable write-once optical disk memory system |
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 |
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 |
JPH01286199A (ja) * | 1988-05-12 | 1989-11-17 | Hitachi Ltd | 書替え可能な不揮発性メモリ書替え装置 |
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 |
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 (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62102385A (ja) * | 1985-10-29 | 1987-05-12 | Toshiba Corp | 携帯可能媒体 |
JPS62131354A (ja) * | 1985-12-03 | 1987-06-13 | Sharp Corp | Icカ−ドに於ける情報書き込み制御方法 |
JPS63233448A (ja) * | 1986-05-29 | 1988-09-29 | 松下電器産業株式会社 | 記憶領域割付方法及びその装置 |
JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
JPS62283497A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | メモリ書き込み制御方法 |
JPS63129586A (ja) * | 1986-11-19 | 1988-06-01 | Matsushita Electric Ind Co Ltd | 情報記憶装置 |
JPS63200398A (ja) * | 1987-02-16 | 1988-08-18 | Hitachi Ltd | 情報処理装置 |
JPS6488652A (en) * | 1987-09-29 | 1989-04-03 | Fujitsu Ltd | Directory constituting system |
JPH01180688A (ja) * | 1988-01-12 | 1989-07-18 | Toshiba Corp | 携帯可能電子装置 |
JPH01276495A (ja) * | 1988-04-28 | 1989-11-07 | Hitachi Ltd | Eepromの制御方式 |
JPH02188000A (ja) * | 1989-01-13 | 1990-07-24 | Sharp Corp | 不揮発性メモリ内蔵マイクロコンピュータ |
JPH02292798A (ja) * | 1989-04-13 | 1990-12-04 | Sundisk Corp | フラッシュEEpromシステム |
JPH0322046A (ja) * | 1989-06-19 | 1991-01-30 | Matsushita Graphic Commun Syst Inc | 追記型記憶媒体を用いたファイルの管理方法 |
JPH0325798A (ja) * | 1989-06-23 | 1991-02-04 | Ricoh Co Ltd | Eepromを使用した記憶装置 |
EP0439920A2 (en) * | 1990-01-31 | 1991-08-07 | Hewlett-Packard Company | System and method for memory management in a microcomputer |
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> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109147853A (zh) * | 2017-06-27 | 2019-01-04 | 爱思开海力士有限公司 | 控制器及其操作方法 |
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 |
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 |
JP2008282429A (ja) | 2008-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4836217B2 (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 | |
US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
US7610434B2 (en) | File recording apparatus | |
KR100453053B1 (ko) | 플래쉬 메모리용 파일 시스템 | |
US9489301B2 (en) | Memory systems | |
EP0688450B1 (en) | Flash file system | |
US6381176B1 (en) | Method of driving remapping in flash memory and flash memory architecture suitable therefor | |
US20070294490A1 (en) | System and Method of Updating a Memory to Maintain Even Wear | |
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 | The SMITE object oriented backing store | |
Wiseman | ROYAL SIGNALS AND RADAR ESTABLISSHMENT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110517 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110630 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110809 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110826 |
|
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: 20110922 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131007 Year of fee payment: 2 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131007 Year of fee payment: 2 |