JP2669365B2 - 書換え可能なromファイル装置 - Google Patents
書換え可能なromファイル装置Info
- Publication number
- JP2669365B2 JP2669365B2 JP28850994A JP28850994A JP2669365B2 JP 2669365 B2 JP2669365 B2 JP 2669365B2 JP 28850994 A JP28850994 A JP 28850994A JP 28850994 A JP28850994 A JP 28850994A JP 2669365 B2 JP2669365 B2 JP 2669365B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- data storage
- data
- specific area
- buffer
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
イル装置に関し、特に記憶媒体としてEEPROMやE
PROM等のROMを用いた書換え可能なROMファイ
ル装置に関するものである。
てフロッピーディスク装置やハードディスク装置を用い
ている。しかし、近年例えばノート型パーソナルコンピ
ュータ等に代表される携帯型情報処理装置が普及するに
従って、従来のフロッピーディスク装置やハードディス
ク装置では、寸法が大きい、重い、衝撃に弱い等の問題
点があり、これらの携帯型情報処理装置には不都合であ
ることが判ってきた。
装置として半導体素子、例えばRAM等を用い、更に、
これをカード型にしたICカード等が利用されるように
なっている。しかし、RAMをファイル装置として用い
た場合、記憶している内容を保持するためには、バック
アップ用の電源として、例えば電池等をICカード中に
内蔵する必要が有り、この場合、バックアップ用の電池
と主電源の切替回路が必要になる、バックアップ電池が
無くなると記憶内容が失われてしまう、などの問題点が
あった。
PROMのような電気的に書換可能なROMを、ファイ
ル装置用の半導体素子として用いることが考えられる。
従来EEPROMを用いたファイル装置としては、例え
ば、「1994年6月、日経バイト、177p〜182
p、ATAドライブ、フラッシュ、ファイル・システ
ム」に示されるように、ハードディスク装置と同じよう
に扱えるものや、ICカードにEEPROMを使用した
ものが特開平2−282885号公報や特公平2−61
15号公報に開示のもの等がある。
77〜182、ATAドライブ、フラッシュ・ファイル
・システム」に紹介されている「ATAドライブとして
使用する方法」について説明する。この場合はEEPR
OM(本文中ではフラッシュ・メモリと記述)として、
データ消去の際のブロックサイズが比較的小さい512
バイト前後(256、512、1024、2048、4
096、8192、16384バイトなど)のものを用
いている。
ラが内蔵され、このカードを使用する装置のOSから
は、カードがハードディスクと同じにみえる。また、こ
のカードからOS等を立ちあげることが出来る。
77〜182、ATAドライブ、フラッシュ・ファイル
・システム」に紹介されている「フラッシュ・ファイル
・システム」について説明する。この場合はEEPRO
M(文献ではフラッシュ・メモリと記述)として、デー
タ消去の際のブロックサイズが64バイトのものを通常
用いる。
無く、代わりにこのカードを使用する装置のOSにデバ
イスドライバを組込み、装置本体のCPUが必要な処理
を行う。
にEEPROMの書き込みは読み込みに比べて非常に長
時間がかかることを解決し、書換えの多い用途でも処理
時間が長くならないようにしている。本例では、EEP
ROM、EPROMなどの第1のデータ記憶手段と、こ
れ以上の容量を持つ、RAMなどの第2の記憶手段を設
け、電源オン時に第1のデータ記憶手段の内容を全て第
2の記憶手段にコピーし、書換え、読み出し等の処理は
全て第2の記憶手段から行い、電源オフ時に第2の記憶
手段から第1のデータ記憶手段に全ての内容を書き戻す
ことによってこれを実現している。
ドの内容を書換える処理を、カード内部で、外部に内容
を読みだすことなく安全かつ高信頼に行うことを目的と
している。この従来例では、EEPROMの内容を書換
えるときに、書換えを行う特定領域のデータを一旦他の
メモリ領域に待避し、待避したデータの一部を書換えた
後元の領域に書き戻すという動作を行うことによって、
これを実現している。
ソフト社の登録商標)で利用する、EEPROMを用い
たファイル装置では、MSDOS独特のFAT方式と呼
ばれるファイル管理方式に起因する次のような問題点を
解決する必要がある。
いて説明する。MSDOSではファイル装置に記憶され
ているデータファイルの管理をFAT(ファイル・アロ
ケーイョン・テーブル)と呼ばれるテーブルを用いて管
理している。図2にこのFAT方式の概要を示す。ファ
イル装置全体はクラスタと呼ばれる単位(1024、2
048、4096、8192、16384バイトなど)
に区切られており、これには先頭から順番に番号が付け
られている。
たテーブルで、何番のクラスタがどの順番で使われてい
るかを記録している。各ファイルの先頭データがクラス
タの何番に入っているかは、ディレクトリと呼ばれるテ
ーブル1に記録されている。ファイルがどこに格納され
ているかを知るためには、まずこのディレクトリのテー
ブル1を調べ、ファイル11の先頭が格納されているク
ラスタ番号12を調べる。次にFAT2のファイルの先
頭のクラスタ番号の所をみると、次に続く第2のクラス
タの番号が書かれているので、FAT2のそのクラスタ
の番号の所をみる。するとまたその次のクラスタ番号が
書かれている。このように、次々とクラスタ番号を調
べ、最後にFAT2にFFFが書かれているとそこでフ
ァイルは終わりとなる。この例では、FILE Aがク
ラスタの002から010までに格納され、FILE
Bがクラスタの011から01Eまでに格納されてい
る。実際のFILE A,Bの格納状態は3に示す如く
なる。
格納場所を管理している。使用されていないクラスタ
は、FAT2に000が書かれている。
たり、あるファイルが書き直されると、データを適当な
クラスタに書き込み、その後FATに、書き込まれたク
ラスタの情報を書き込む。つまり、FATの書き直しを
行う。通常MSDOSではFAT、ディレクトリ等はフ
ァイル装置の特定の場所(通常クラスタの001番)に
書かれているので、ファイルの書き込みが起こるたび
に、FATが書換えられると、ファイル装置の特定の場
所(例えばクラスタの001番)が頻繁に書換えられる
ことになる。
を書換えるためにでも、ブロック単位で消去、書換えを
行わなければならないため、ブロック全体のデータを一
度全てバッファに読み出し、バッファ上のデータを書換
え、ブロックのデータを消去し、バッファのデータを書
き戻すという操作を行う必要がある。
を書換えるためにでも、ブロック単位(例えば64Kバ
イト)で書換え動作を行う必要があり、ファイルアクセ
ス速度が遅くなる(書換えにかかる時間は、個々のデバ
イスによって異なるが、一般に、1ブロックの消去に数
100msec、1バイトの書込みに、数10μsec
かかる)。また、EEPROMでは、消去出来る回数に
制限(現在約10万回等)があるので、FAT部分のよ
うに頻繁な書換えが、特定の部分に集中すると、EEP
ROMの寿命が極端に短くなってしまう。
タファイルの一部分をたとえ1バイトでも書換えると、
前述のようなブロック単位での書換えを行うため、ファ
イルアクセス速度が遅くなるという問題も発生する。
たファイル装置をMSDOSで用いる場合、FAT方式
に起因して、ファイルアクセスが遅くなる、EEPRO
Mの寿命が短くなる等の問題が起こる。EPROMの場
合は、消去は素子単位で行われる。一回の消去には10
分程かかる。また、消去できる回数にも制限がある。し
たがって、EPROMの場合でも、EEPROMと同様
の問題が発生する。
処理装置に適用すると、例えば、「1994年6月、日
経バイト、177p〜182p、ATAドライブ、フラ
ッシュ・ファイル・システム」に紹介されている「AT
Aドライブとして使用する方法」では、ファイル装置内
にCPU等が必要になり、小容量(1Mバイト〜数Mバ
イト)のファイル装置にはコスト的に効果的でなく、ま
た、消去ブロックの小さい(512バイト等)素子しか
使えないという問題点がある。
77p〜182p、ATAドライブ、フラッシュ・ファ
イル・システム」に紹介されている「フラッシュ・ファ
イル・システム」では、ファイルの書換え時の複雑な管
理を行うために、高速なCPUが必要で、管理を行なう
プログラム自体も大きい、という問題点がある。
は、ファイル装置の容量と同じサイズ以上の第2の記憶
手段が必要で、MSDOSのように1Mバイト以上のサ
イズのファイル装置を使用する場合、第2の記憶手段が
大きくなり、コストの面など効果が出ないという問題点
がある。
ァイル装置内部にCPU等が必要となり、また、MSD
OSでは、ファイルがクラスタ単位で管理、読み書きさ
れ、かつ、1つのファイルが連続した場所に記載される
のではなく、クラスタ単位でばらばらな位置に記憶され
る場合もあるため、1つのファイルの書換えでも、ばら
ばらになったクラスタを次々に書き換えていくことにな
り、消去、書換えが頻繁に発生し、書込み時間を長くな
り、素子寿命も短くなってしまう、という問題点があ
る。
可能なROMファイル装置であって、ファイルアロケー
ションテーブル格納領域、ディレクトリ格納領域及び書
換え可能ファイル領域が一まとまりとされた特定領域を
有するデータ記憶手段と、前記データ記憶手段の特定領
域の記憶容量を少なくとも有するバッファ手段と、前記
データ記憶手段の特定領域へのアクセス前に前記データ
記憶手段のファイルアロケーションテーブル格納領域、
ディレクトリ格納領域及び書換え可能ファイル領域が一
まとまりとされた前記特定領域の格納データを前記バッ
ファ手段へコピーを行ない、以後の前記データ記憶手段
の特定領域へのアクセスを前記バッファ手段へのアクセ
スに変換し、終了指示に応答して前記バッファ手段の格
納データを前記データ記憶手段の特定領域へ書き戻すよ
う制御する制御手段と、前記データ記憶手段の特定領域
以外の領域に対する書込みアクセスを禁止する手段とを
含むことを特徴とする書き換え可能なROMファイル装
置が得られる。
M内のFAT格納領域、ディレクトリ格納領域、書換え
可能ファイル領域等の、予め書換えることが判っている
領域を1つの特定領域として一ケ所にまとめ、これをE
EPROMかEPROMの一括消去ブロックサイズ(最
小書換え単位)の整数倍に選定しておき、この特定領域
のデータを一時格納するに十分な容量のバッファを別に
準備し、この特定領域へのアクセス前にこのバッファへ
ROMファイルの特定領域のデータをコピーし、以後こ
の領域へのアクセスは全てこのバッファにて行い、RO
Mファイルの使用終了時には一括してバッファのデータ
を書戻すようにしている。
る。図1は本発明の実施例を示すブロック図である。図
1(A)を参照すると、本発明の実施例は、ROMファ
イルとなるデータ記憶部100と、バッファ200と、
プログラムにより動作するアクセス制御部300とで構
成される。
100は内部がその用途によってディレクトリ部分10
1と、FAT部分102と、書換可能ファイル部分10
3と、それ以外の部分105とで構成される。ディレク
トリ部分101と、FAT部分102と、書換可能ファ
イル部分103とで構成される特定領域は一ケ所にまと
められており、その大きさ、記憶位置などは任意である
が、このデータ記憶部のどの位置に、どのくらいの大き
さの領域がとられているかは、予め決め、アクセス制御
部300の初期化時などにパラメータなどによって、ア
クセス制御部300に通知するか、アクセス制御部30
0(プログラム)に組み込んでおく必要がある。
ペレーティングシステム)部分400と、MSDOS部
分500と、アプリケーションソフト(AP)部分60
0とが説明のために記述されている。一般にはアクセス
制御部300は、このファイル装置が使われる装置のB
IOS400の一部として実装されるので、説明のため
に、このような構成としたが、アクセス制御部300
は、例えばデバイスドライバとして、あるいは常駐プロ
グラム(TSR)として組み込むことも可能である。ま
た、図9、図11、図15は、アクセス制御手段300
の機能及び動作を説明するフローチャートである。
て、本実施例の動作について説明する。最初、アクセス
制御部300は、データ記憶部100に記載されている
内容のうち、特定領域(ディレクトリ部分101と、F
AT部分102と、書換可能ファイル部分103とで構
成される)を、バッファ200にすべてコピーする。し
たがって、コピー直後は、バッファ200の内部は、図
1(B)に示すように、ディレクトリ部分201と、F
AT部分202と、書換可能ファイル部分203とが記
憶されており、ディレクトリ部分201とデータ記憶部
100のディレクトリ部分101、FAT部分202と
データ記憶部100のFAT部分102、書換可能ファ
イル部分203とデータ記憶部100の書換可能ファイ
ル部分103は、それぞれ同じデータが記憶されている
ことになる。
00内の特定領域からバッファ200へのデータのコピ
ーを行なうのは、少なくともデータ記憶部にデータの書
き込みが行われる直前までなされなければならない。
いて説明する。アプリケーションソフトウエア600か
ら、MSDOS500を経て、データ記憶部100から
のデータの読出しが行われた場合、アクセス制御部30
0はこれが終了処理要求かどうか調べ(図9、ステップ
870)、次にこれが初期化要求かどうかを調べる(図
9、ステップ800)。
ステップ810)、次に読み出しが、データ記憶部10
0中の特定領域内(図1(B)に示すディレクトリ10
1または、FAT102または書換可能ファイル10
3)からの読み出しなのか、それともデータ記憶部10
0中の特定領域外(図1(B)のその他の部分105)
からの読み出しなのかを判別する(図9、ステップ82
0)。この判別は、アクセス制御部300の初期化時に
与えられたパラメータで判別、またはプログラム中の判
別処理(図9、ステップ820)に組み込んでおく、ま
たはアドレス比較などの方法で行われる。
場合は、データ記憶部100のその他の部分105から
指定されたデータを読み出し(図9、ステップ830、
図11、ステップ831)、特定領域内からの読み出し
の場合は、バッファ200に記憶されているデータか
ら、読み出し要求のあったデータ記憶部100中の記憶
位置に相当するデータを読み出し(図9、ステップ84
0)、MSDOS500を経由してアプリケーションソ
フトウエア600にデータを返す。
プリケーションソフトウエア600から、MSDOS5
00を経て、データ記憶部100へのデータの書き込み
が行われた場合、アクセス制御部300は、これが終了
処理要求かどうか調べ(図9、ステップ870)、次に
これが初期化要求かどうかを調べ(図9、ステップ80
0)、次に書き込み要求かどうかを調べ(図9ステッ
プ、810)、書き込みであった場合、バッファ200
内の、書き込み要求のあったデータ記憶部中の記憶位置
に相当する位置にデータを書き込む(図9、ステップ8
50)。
記憶部の書換可能ファイル部分103に記憶されている
ので、この部分と、ディレクトリ部分101、FAT部
分102以外には書込みは起こらないはずである。した
がって、特定領域以外の部分への書込みは発生しないは
ずである。しかし、万一、プログラムのエラーなどによ
り、特定領域以外への書込みが発生したときに、ファイ
ルが破壊されるなどの不都合が発生しないように、ステ
ップ850中にエラー判定を不可することも可能である
(図13(A)、ステップ851、853)。図13は
後で詳しく説明するが、図9のステップ850につい
て、さらに詳しく説明するためのフローチャートであ
る。
化動作は、このファイル装置が使われている装置の電源
オン時、あるいはMSDOS初期化動作時(ファイル装
置の接続、交換時、電源オン等)に行われ、このファイ
ル装置の動作状態の初期設定を行うための動作である。
アクセス制御部300は、まず、与えられた動作要求が
終了処理要求かどうか調べ(図9、ステップ870)、
次にこれが初期化要求かどうかを調べ(図9、ステップ
800)、与えられた動作要求が初期化要求である場
合、初期化処理(図9、ステップ860)例えば、バッ
ファ200に使用するメモリの確保等、アクセス制御部
300が動作するための諸設定などを行う。
は、このファイル装置が使われている装置の電源オフ
時、あるいはこのファイル装置の使用終了時(ファイル
装置の切離し、交換時、電源オフ等)に行われ、このフ
ァイル装置の動作の終了を行うための動作である。アク
セス制御部300は、まず、与えられた動作要求が終了
処理要求かどうか調べ(図9、ステップ870)、与え
られた動作要求が終了処理要求である場合、終了処理
(図9、ステップ880)を行う。
ためのフローチャートである。終了処理では、まず、バ
ッファ200内のデータをデータ記憶部100に書き込
む(図15、ステップ881)。次に、その他の終了処
理(図15、ステップ882)を行う。その他の終了処
理とは、例えば、バッファ200として用いていたメモ
リを開放し、他のプログラムなどがそのメモリを使用で
きるようにする、あるいは、アクセス制御部300のプ
ログラム自身が常駐していたメモリを開放するなどが考
えられる。
いて説明する。これについて、図3のブロック図を用い
て説明する。データ記憶部100はEPROM、EEP
ROM等の消去可能なROMによって構成できるが、そ
の構成方法は、EEPROM1個をデータ記憶部100
として用いる方法(図3(A))、EPROM1個をデ
ータ記憶部100として用いる方法(図3(B))、E
EPROM複数個をデータ記憶部100として用いる方
法(図3(C))、EPROM複数個をデータ記憶部1
00として用いる方法(図3(D))、EEPROM1
個とEPROM1個をデータ記憶部100として用いる
方法(図3(E))、EEPROM複数個とEPROM
複数個をデータ記憶部100として用いる方法(図3
(F))、EEPROM1個とEPROM複数個をデー
タ記憶部100として用いる方法(図3(G))、EE
PROM複数個とEPROM1個をデータ記憶部100
として用いる方法(図3(H))、などが考えられる。
が可能で、EEPROMは1個の素子の内部を複数のブ
ロック(消去ブロック)に分け、ブロック単位での消去
が可能である。図1(B)に示したデータ記憶部100
中の特定領域(ディレクトリ101とFAT102と、
書換可能ファイル103とで構成される)は、この消去
単位の1以上の整数倍の大きさで、1以上複数個の消去
単位にまとまってきっちりと治るように配置されるのが
最も効率が良い。
説明する。これについて図4を用いて説明する。図4は
MSDOSを用いた情報処理装置の一般的なメモリマッ
プである。メモリ700は、この情報処理装置に実装さ
れているメモリ全体であり、この場合、メモリの上限は
アドレスyyyyyyH(yyyyyyHはそれぞれの
情報処理装置によって変わる)であるものとする。
作するインテル社製のCPUに固有のもので、割り込み
が発生したときにプログラムが分岐するための分岐先ア
ドレス情報が格納されている。
OS400が作業用として、又はMSDOSのカーネル
・システム用として使用される領域で、情報処理装置の
構成、MSDOSのバージョン等によって変わる。した
がってシステム702の上限アドレスxxxxHは、情
報処理装置の構成、MSDOSのバージョン等によって
変化する。
H〜9FFFFHまでのメモリであり、通常はMSDO
S500上で動作するアプレケーションソフト(AP)
600が読み込まれ、この部分のメモリを使って動作す
る。情報処理装置によっては、このメイン・メモリの一
部をバンク切り替えによっていくつかのメモリバンクに
切り替えられ場合もある。
面表示用のVRAM(テキスト用、グラフィック用)、
BIOS・ROM、ROM/RAMバンクメモリ等、情
報処理装置を構成するハードウエアがこのアドレスを使
ってアクセス、制御できるようになっている。画面表示
用のVRAM(テキスト用、グラフィック用)等は2画
面分実装されている場合もある。本発明のファイル装置
のROMも通常はROMバンクとしてこの部分のアドレ
スでアクセス、制御できるようにするのが一般的であ
る。しかし、場合によっては、メイン・メモリの一部に
実装したメモリバンクとして、あるいは、後で説明する
ハイ・メモリ705の一部に割り当てる場合も考えられ
る。
のCPUで80286、80386、80486等の1
Mバイト以上のアドレス空間を持つCPUで利用可能な
メモリである。以上説明したメモリのうち、メイン・メ
モリはMSDOSからそのまま使用可能だが、アッパ・
メモリやハイ・メモリはその部分のメモリをMSDOS
アプリケーションが利用可能にするためのドライバを組
み込めば、MSDOSから使用可能である。また、VR
AMは一般には、アプリケーションソフトが直接アクセ
スすることはできない。
DOSからアプリケーションソフトが利用可能なメモリ
の一部をバッファ200として用いることができる。ま
た、上記で説明したMSDOSからアプリケーションソ
フトが利用できないメモリの一部をバッファ200とし
て用いることもできる。
ィレクトリ部分101と、FAT部分102と、書換可
能ファイル部分103とで構成される)の構成方法につ
いて説明する。図5はこれを説明するためのブロック図
であり、データ記憶部100は複数個の消去ブロック1
04で構成され(消去ブロックは最低1個でも良い)、
消去ブロック1個の中に、特定領域(ディレクトリ部分
101と、FAT部分102と、書換可能ファイル部分
103とで構成される)が丁度収っている。
104の1個分と同じ大きさである。消去ブロック一個
に丁度収った特定領域はアクセス制御部300の動作に
よりバッファ200にコピーされ、特定領域への書込
み、読み出しはバッファ200の相当部分に対して行わ
れる。終了動作時にはバッファ200内のデータがデー
タ記憶部内の相当部分へアクセス制御部300によって
書き戻される。
ィレクトリ部分101と、FAT部分102と、書換可
能ファイル部分103とで構成される)の構成方法につ
いて説明する。図6はこれを説明するためのブロツク図
であり、データ記憶部100は複数個の消去ブロック1
04で構成され(消去ブロックは最低1個でも良い)、
消去ブロック複数個の中に、特定領域(ディレクトリ部
分101と、FAT部分102と、書換可能ファイル部
分103とで構成される)が丁度収っている。
104の複数個分と同じ大きさ(前述の、特定領域が収
っている複数の消去ブロックと同じ大きさ)である。消
去ブロック複数個に丁度収まった特定領域はアクセス制
御部300の動作によりバッファ200にコピーされ、
特定領域への書込み、読み出しはバッファ200の相当
部分に対して行われる。終了動作時にはバッファ200
内のデータがデータ記憶部100内の相当部分へアクセ
ス制御部300によって書き戻される。
バッファ200の構成方法とについて説明する。データ
記憶部100は図3を用いて説明した構成とし、バッフ
ァ200は図4を用いて説明した構成とすることができ
る。また、データ記憶部100は図3を用いて説明した
構成とし、バッファ200はアブリケーションソフトが
利用できないメモリの一部を用いた構成とすることがで
きる。
説明した構成とし、バッファ200は図4を用いて説明
した構成とすることもできる。更にはまた、データ記憶
部100は図5を用いて説明した構成とし、バッファ2
00はアプリケーションソフトが利用できないメモリの
一部を用いた構成とすることもできる。
説明した構成とし、またバッファ200は図4を用いて
説明した構成とすることもできる。また、データ記憶部
100は図6を用いて説明した構成とし、バッファ20
0はアプリケーションソフトが利用できないメモリの一
部を用いた構成とすることもできる。
特に、特定領域(ディレクトリ部分101と、FAT部
分102と、書換可能ファイル部分103とで構成され
る)の構成方法について説明する。このデータ記憶部1
00は、図3を用いて説明したように、1ないし複数個
のEEPROMまたは、1ないし複数個のEPROMで
構成されている。このとき、特定領域(ディレクトリ部
分101と、FAT部分102と、書換可能ファイル部
分103とで構成される)は消去ブロック1個を用いて
構成される。
て説明するためのブロック図である。この構成方法は、
EEPROM106を用いる場合、実線で示すように1
個のEEPROM106でデータ記憶部100を構成し
ても良いし、一点鎖線で示すように、複数個のEEPR
OMで構成してもよい。このとき、EEPROMの1個
の消去ブロックを特定領域として用いる。
様であり、点線で示すように、1個のEPROM107
でデータ記憶部100を構成しても良いし、二点鎖線で
示すように、複数個のEEPROMで構成してもよい。
このとき、二点鎖線で示したように、EPROMの1個
を特定領域として用いる。
て説明する。データ記憶部100は図3を用いて説明し
たように、1ないし複数個のEEPROMまたは、1な
いし複数個のEPROMで構成される。このとき、特定
領域(ディレクトリ部分101と、FAT部分102
と、書換可能ファイル部分103とで構成される)は消
去ブロック複数個を用いて構成される。
て説明するためのブロック図である。この構成方法は、
EEPROMを用いる場合、図8の実線で示すように、
1個のEEPROM106でデータ記憶部を構成しても
良いし、図8の一点鎖線で示すように、複数個のEEP
ROMで構成してもよい。このとき、破線で示したよう
に、EEPROMの複数個の消去ブロックを特定領域と
して用いる。
様で、図8の二点鎖線で示すように、複数個のEPRO
Mで構成している。このとき、二点鎖線で示したよう
に、EPROMの複数個を特定領域として用いる。
説明する。図4に示すアドレス0000H〜9FFFF
Hの間の任意のアドレスのメモリまたは、アッパ・メモ
リまたは、100000H以上の任意のアドレスのメモ
リまたは、EMSメモリ(この場合は、EMSをサポー
トするための何等かのドライバ・ソフトなどが必要とな
る)または、上記のメモリの任意の組み合わせを用い、
データ記憶部100中の特定領域(ディレクトリ部分1
01と、FAT部分102と、書換可能ファイル部分1
03とで構成される)と同じ大きさの領域を確保し、バ
ッファ領域200として使用する。
に確保できない場合、飛び飛びのアドレスとなってもか
まわない。例えば、アドレス0000H〜9FFFFH
の間の任意のアドレスのAKバイトと、UMBメモリ
(アッパ・メモリ)中のBKバイトと、100000H
以上の任意のアドレスのメモリ中のCKバイトと、EM
SメモリのDKバイトを使い、A+B+C+D合計でデ
ータ記憶部100の特定領域と同じサイズのメモリが確
保できればよい。
図4に示す、例えば、ROM/RAMバンクの一部、V
RAM(2)等、アプリケーションプログラムが通常直
接アクセスできないメモリの一部を用い、データ記憶部
100中の特定領域(ディレクトリ部分101と、FA
T部分102と、書換可能ファイル部分103とで構成
される)と同じ大きさの領域を確保し、バッファ領域2
00として使用する。
に確保できない場合、飛び飛びのアドレスとなってもか
まわない。例えば、RAMバンク中のAKバイトと、V
RAM(2)の中のBKバイトを使い、A+B合計でデ
ータ記憶部100の特定領域と同じサイズのメモリが確
保できればよい。
部100中の特定領域(ディレクトリ部分101と、F
AT部分102と、書換可能ファイル部分103とで構
成される)のデータを、バッファ200にコピーする動
作について説明する。図10(B)はこの動作について
説明するためのフローチャートである。図10はまた、
アクセス制御部300の初期化処理(図9、ステップ8
60)の説明用フローチャートである。
の初期化動作は、このファイル装置が使用されている情
報処理装置の電源がオンされたとき、または、MSDO
Sの初期化時に行われる。したがって、図10(B)に
示したように、初期化処理動作の最初に、電源オン直後
かどうか判断し(図10(B)、ステップ862)、電
源オン直後の場合(フラグなどで判断する)はデータ記
憶部100中の特定領域(ディレクトリ部分101と、
FAT部分102と、書換可能ファイル部分103とで
構成される)のデータを、すべてバッファ200にコピ
ーする。
メモリがまだ確保されていない場合は、メモリの確保を
コピーする前に行う。その後、その他の初期化処理、例
えば、電源オン直後であることを示すフラグのリセッ
ト、アクセス制御部300が動作するための諸設定など
を行う。
830、840、850、880はそれぞれ、図11、
図12A、図13A、図15に示す動作をする。図11
および図15の動作については、先の説明で述べた。
作(特定領域内からの読み出し動作)について説明する
ためのフローチャートである。まず、バッファ200に
特定領域のデータがコピー済みかどうか調べ(図12
(A)、ステップ841)、コピー済であれば、データ
記憶からの読み出しを行う代わりに、バッファ200か
らデータを読み出す(図12(A)、ステップ84
8)。
読出しアドレスがデータ記憶部100内のアドレスとな
っているためにアクセス制御部300はアドレス変換処
理を行って(図12(A)、ステップ846)、バッフ
ァ200の読出しアドレスとする必要がある。このアド
レス変換の方法としては、データ記憶部100の特定領
域101〜103への読出しアドレスを、予め作成され
ているアドレス変換テーブルを用いてバッファ200の
対応アドレスに変換するようにする。
クラスタアドレス“002”が読出しアドレスとしてア
クセス指定されれば、この“002”に対応するバッフ
ァアドレスを予めアドレス変換テーブルに格納してお
き、このアドレス変換テーブルに対して“002”を指
定すれば、自動的にこの“002”に対応するバッファ
アドレスが得られることになる。
00中の特定領域のデータを読み出す(図12A、ステ
ップ847)。
作(特定領域内からの読み出し動作)について説明する
ためのフローチャートであり、データ記憶部100への
書込みを行う代わりに、バッファ200へデータを書き
込む(図13(A)、ステップ852)。このとき書込
みアドレス変換処理859が図12(A)のステップ8
46と同様に行われる。
イルは必ず記憶部100の特定領域内に記憶されている
ので、特定領域外への書き込みが行われることは無い。
したがって図9のフローチャートでも、特定領域外への
書き込みをチェツクしていない。しかし万一、プログラ
ムの異常などのためにシステムが破壊されることを防止
するために、図13Aにステップ851、853を追加
することも可能である。この場合、書込みが特定領域外
への書込みかどうか調べ(図10ステップ851)、特
定領域外への書込みの場合はエラーとする(図10ステ
ップ853)。エラーの処理方法としては、例えば、M
SDOSの「書込み禁止ファイルへの書込み」などのエ
ラーとして処理することができる。
部100中の特定領域(ディレクトリ部分101と、F
AT部分102と、書換可能ファイル部分103とで構
成される)のデータを、バッファにコピーする動作につ
いて、図9、図10A、図11、図12B、図13B、
図15を用いて説明する。
動作を説明するためのフローチャートであり、図10
A、図11、図12B、図13B、図15はそれぞれ、
図9のステップ860、830、840、850、88
0の動作を説明するフローチャートである。
期化動作は、このファイル装置が使われている装置の電
源オン時、あるいはMSDOSの初期化動作時に行わ
れ、このファイル装置の動作状態の初期設定を行うため
の動作である。アクセス制御部300は、ます、与えら
れた動作要求が終了処理要求かどうか調べ(図9ステッ
プ870)、次にこれが初期化要求かどうかを調べ(図
9ステップ800)、与えられた動作要求が初期化要求
である場合、初期化処理(図9ステップ860)を行
う。このとき、データ記憶部100内の特定領域(ディ
レクトリ部分101と、FAT部分102と、書換可能
ファイル部分103とで構成される)からバッファ20
0へのデータのコピーは行わず、その他の初期化処理の
みを行う(図10(A)、ステップ861)。その他の
初期化処理とは、例えば、バッファ200に使用するメ
モリの確保等、アクセス制御部300が動作するための
諸設定などをいう。
プリケーションソフトウエアから、MSDOSを経て、
データ記憶部100からのデータの読み出しが行われた
場合、アクセス制御部300は、これが終了処理要求か
どうか調べ(図9ステップ870)、次にこれが初期化
要求かどうかを調べ(図9ステップ800)、次に書き
込み要求かどうかを調べ(図9ステップ810)、次に
読み出しが、特定領域内(ディレクトリ101、又はF
AT102、又は書換可能ファイル103で構成され
る)からの読み出しなのか、それとも特定領域外(図1
Bのその他の部分105)からの読み出しなのかを判別
する(図9ステップ820)。
化時に与えられたパラメータで判別、またはプログラム
中の判別処理ステップ820に組み込んでおく、などの
方法で行われる。判別の結果、特定領域外からの読出し
の場合は、データ記憶部のその他の部分105から指定
されたデータを読出し(図9ステップ830、図11ス
テップ831)、特定領域内からの読み出しの場合は、
最初の読み出しかどうか調べ(図12B、ステップ84
4)、最初であれば、データ記憶部100内の特定領域
(ディレクトリ部分101と、FAT部分102と、書
換可能ファイル部分103とで構成される)からバッフ
ァ200へのデータのコピーを行い(図12B、ステッ
プ845)、アドレス変換を行って(図12(B)、ス
テップ846)バッファ200に記憶されているデータ
から、読み出し要求のあったデータ記憶部中の記憶位置
に相当するデータを読み出し(図12B、ステップ84
2)、MSDOSを経由してアプリケーションソフトウ
エアにデータを返す。
プリケーションソフトウエアから、MSDOSを経て、
データ記憶部100へのデータの書き込みが行われた場
合、アクセス制御部300は、これが終了処理要求かど
うか調べ(図9ステップ870)、次にこれが初期化要
求かどうかを調べ(図9ステップ800)、次に書き込
み要求かどうかを調べ(図9ステップ810)、書き込
みであった場合、最初の書込みかどうか調べ(図13
B、ステップ854)、最初であれば、データ記憶部1
00内の特定領域(ディレクトリ部分101と、FAT
部分102と、書換可能ファイル部分103とで構成さ
れる)からバッファ200へのデータのコピーを行い
(図13(B)、ステップ855)、アドレス変換を行
って(図13(B)、ステップ859)、バッファ20
0内の、書き込み要求のあったデータ記憶部中の記憶位
置に相当する位置にデータを書き込む(図13B、ステ
ップ852)。
ータ記憶部の書換可能ファイル部分103に記録されて
いるので、この部分と、ディレクトリ部分101、FA
T部分102以外には書込みは起こらないはずである。
したがって、特定領域以外の部分への書込みは発生しな
いはずである。万一、プログラムのエラーなどにより、
特定領域外への書込みが発生したときに、ファイルが破
壊されるなどの不都合が発生しないように、ステップ8
50中にエラー判定を付加することも可能である(図1
3(B)、ステップ851、853)。
は、このファイル装置が使われている装置の電源オフ
時、あるいはこのファイル装置の使用終了時に行われ、
このファイル装置の動作の終了を行うための動作であ
る。アクセス制御部300は、まず、与えられた動作要
求が終了処理要求かどうか調べ(図9、ステップ87
0)、与えられた動作要求が終了処理要求である場合、
終了処理(図9、ステップ860)を行う。
フローチャートである。終了処理では、まず、バッファ
200内のデータをデータ記憶部100に書き込む(図
15、ステップ881)。次に、その他の終了処理(図
15、ステップ882)を行う。その他の終了処理と
は、例えば、バッファ200として用いていたメモリを
開放し、他のプログラムなどがそのメモリを使用できる
ようにする。あるいは、アクセス制御部300のプログ
ラム自身が常駐していたメモリを解放するなどが考えら
れる。
憶部100中の特定領域(ディレクトリ部分101と、
FAT部分102と、書換可能ファイル部分103とで
構成される)のデータを、バッファ手段にコピーする動
作について、図9、図10A、図11、図12A、図1
3B、図15を用いて説明する。
動作を説明するためのフローチャートであり、図10
A、図11、図12A、図13B、図15はそれぞれ、
図9のステップ860、830、840、850、88
0の動作を説明するフローチャートである。
期化動作は、このファイル装置が使われている装置の電
源オン時、あるいはMSDOSの初期化動作時に行わ
れ、このファイル装置の動作状態の初期設定を行うため
の動作である。
た動作要求が終了処理要求かどうか調べ(図9、ステッ
プ870)、次にこれが初期化要求かどうかを調べ(図
9、ステップ800)、与えられた動作要求が初期化要
求である場合、初期化処理(図9、ステップ860)を
行う。このとき、データ記憶部100内の特定領域(デ
ィレクトリ部分101と、FAT部分102と、書換可
能ファイル部分103とで構成される)からバッファ2
00へのデータのコピーは行わず、その他の初期化処理
のみを行う。
プリケーションソフトウエアから、MSDOSを経て、
データ記憶部100からのデータの読み出しが行われた
場合、アクセス制御部300は、これが終了処理要求か
どうか調べ(図9、ステップ870)、次にこれが初期
化要求かどうかを調べ(図9、ステップ800)、次に
書込み要求かどうかを調べ(図9、ステップ810)、
次に読み出しが、図1Bに示すディレクトリ101、又
はFAT102、又は書換可能ファイル103の特定領
域内からの読み出しなのか、それとも特定領域外(図1
Bのその他の部分105)からの読み出しなのかを判別
する(図9、ステップ820)。
化時に与えられたパラメータで判別、またはプログラム
中の判別処理ステップ820に組み込んでおくなどの方
法で行われる。判別の結果、特定領域外からの読み出し
の場合は、データ記憶部のその他の部分105から指定
されたデータを読み出し(図9、ステップ830、図1
1、ステップ831)、特定領域内からの読み出しの場
合は、特定領域内のデータがデータ記憶部からバッファ
にコピーされているか調べ(図12A、ステップ84
1)、コピー前であれば、バッファからではなく、デー
タ記憶部の特定領域内からデータを読みだす(図12
(A)、ステップ847)。コピー済みであれば、アド
レス変換を行って(図12(A)、ステップ846)、
バッファ200に記憶されているデータから、読み出し
要求のあったデータ記憶部中の記憶位置に相当するデー
タを読み出し(図12A、ステップ848)、MSDO
Sを経由してアプリケーションソフトウエアにデータを
返す。
プリケーションソフトウエアから、MSDOSを経て、
データ記憶部100へのデータの書き込みが行われた場
合、アクセス制御部300は、これが終了処理要求かど
うか調べ(図9、ステップ870)、次にこれが初期化
要求かどうかを調べ(図9、ステップ800)、次に書
き込み要求かどうかを調べ(図9、ステップ810)、
書き込みであった場合、最初の書込みかどうか調べ(図
13B、ステップ854)、最初であれば、データ記憶
部100内の特定領域(ディレクトリ部分101と、F
AT部分102と、書換可能ファイル部分103とで構
成される)からバッファ200へのデータのコピーを行
う(図13B、ステップ855)。そして、アドレス変
換を行って(図13(B)、ステップ859)、バッフ
ァ200に記憶されているデータから、バッファ200
内の、書き込み要求のあったデータ記憶部中の記憶位置
に相当する位置にデータを書き込む(図13B、ステッ
プ852)。
タ記憶部の書換可能ファイル部分103に記録されてい
るので、この部分と、ディレクトリ部分101、FAT
部分102以外には書込みは起こらないはずである。し
たがって、特定領域以外の部分への書込みは発生しない
はずである。万一、プログラムのエラーなどにより、特
定領域外への書込みが発生したときに、ファイルが破壊
されるなどの不都合が発生しないように、ステップ85
0中にエラー判定を付加することも可能である(図13
B、ステップ851、853)。
は、このファイル装置が使われている装置の電源オフ
時、あるいはこのファイル装置の使用終了時に行われ、
このファイル装置の動作の終了を行うための動作であ
る。アクセス制御部300は、まず、与えられた動作要
求が終了処理要求かどうか調べ(図9、ステップ87
0)、与えられた動作要求が終了処理要求である場合、
終了処理(図9、ステップ860)を行う。図15は終
了処理について説明するためのフローチャートである。
データをデータ記憶部100に書き込む(図15、ステ
ップ881)。次に、その他の終了処理(図15、ステ
ップ882)を行う。その他の終了処理とは、例えば、
バッファ200として用いていたメモリを開放し、他の
プログラムなどがそのメモリを使用できるようにする、
あるいは、アクセス制御部300のプログラム自身が常
駐していたメモリを開放するなど、が考えられる。
部100中の特定領域(ディレクトリ部分101と、F
AT部分102と、書換可能ファイル部分103とで構
成される)のデータを、バッファにコピーする動作につ
いて、図14を用いて説明する。
の動作を説明するためのフローチャートで、図10B、
図12B、図13B、のステップ855、863、84
5の動作を説明するフローチャートである。
込みを行うファイルは、データ記憶部の書換可能ファイ
ル部分103に記録されているので、この部分とディレ
クトリ部分101、FAT部分102以外には書込みは
起こらない。したがって、特定領域以外の部分への書込
みは発生しない。しかし万一、プログラムのエラーなど
により、特定領域外への書込みが発生したときに、ファ
イルが破壊されるなどの不都合が発生しないように、ス
テップ850中にエラー判定を付加することも可能であ
り(図13B、ステップ851、853)通常の使用で
あれば、不都合は生じない。
していないファイルへの書込みを、このファイル装置の
使用者が行った場合や、書換可能ファイルのサイズが変
わったとき、ファイルの記憶位置をMSDOSシステム
が変えてしまった場合などに、特定領域以外の部分へ、
ファイルの書込みが行われる可能性もある。そこで、デ
ータ記憶部のその他の領域105の部分を、使用不可能
領域としてしまうことで、この問題を回避することが考
えられる。
をバッファ200へコピーした後(図14、ステップ8
56)、データ記憶部100のその他の領域105のう
ち、使用されていない領域をすべて使用不可にする(M
SDOSがファイル装置の壊れたクラスタ/セクタに付
けるマークを付ける、ダミーのファイルを書き込む等)
(図14、ステップ858)。これにより、MSDOS
が特定領域外にファイルを書き込もうとしても、空き部
分が無いので、書き込めない。したがって、ファイル装
置の破壊などの不都合が避けられる。
書換え可能なROMファイル装置は、ファイル装置中で
書換えを行われる可能性のある部分を1箇所にまとめ、
まとめた部分のデータを別の記憶手段に一度コピーし、
コピー後の書換えはすべてコピーした別の記憶手段上の
データに対して行い、装置の使用を終了する直前に、も
との書換え可能なROMに書き戻すことによって、ファ
イルの書換えにかかる時間を短縮し、さらに、EEPR
OM等の書換回数に制限があるような記憶素子の寿命を
伸ばすという効果がある。
置のブロック図である。
る。
る。
モリ構成図である。
る。
る。
る。
る。
ある。
で、特に初期化処理について詳しく示すフローチャート
である。
で、特に特定領域外から読み出し動作について詳しく示
すフローチャートである。
で、特に特定領域内から読み出し動作について詳しく示
すフローチャートである。
で、特に特定領域内への書込み動作について詳しく示す
フローチャートである。
で、特に特定領域内をバッファ手段にコピーする動作に
ついて詳しく示すフローチャートである。
で、特に終了時について詳しく示すフローチャートであ
る。
Claims (6)
- 【請求項1】 書換え可能なROMファイル装置であっ
て、ファイルアロケーションテーブル格納領域、ディレ
クトリ格納領域及び書換え可能ファイル領域が一まとま
りとされた特定領域を有するデータ記憶手段と、前記デ
ータ記憶手段の特定領域の記憶容量を少なくとも有する
バッファ手段と、前記データ記憶手段の特定領域へのア
クセス前に前記データ記憶手段のファイルアロケーショ
ンテーブル格納領域、ディレクトリ格納領域及び書換え
可能ファイル領域が一まとまりとされた前記特定領域の
格納データを前記バッファ手段へコピーを行ない、以後
の前記データ記憶手段の特定領域へのアクセスを前記バ
ッファ手段へのアクセスに変換し、終了指示に応答して
前記バッファ手段の格納データを前記データ記憶手段の
特定領域へ書き戻すよう制御する制御手段と、前記デー
タ記憶手段の特定領域以外の領域に対する書込みアクセ
スを禁止する手段とを含むことを特徴とする書き換え可
能なROMファイル装置。 - 【請求項2】 前記バッファ手段へのコピーは、装置電
源供給後の初期化処理動作時に行うようにしたことを特
徴とする請求項1記載の書き換え可能なROMファイル
装置。 - 【請求項3】 前記バッファ手段へのコピーは、前記デ
ータ記憶手段の特定領域のデータへの最初のアクセスに
応答して行うようにしたことを特徴とする請求項1記載
の書き換え可能なROMファイル装置。 - 【請求項4】 前記最初のアクセスは最初の書込みアク
セスであることを特徴とする請求項3記載の書き換え可
能なROMファイル装置。 - 【請求項5】 前記データ記憶手段は、少なくとも1個
のEEPROMまたはEPROMからなることを特徴と
する請求項1〜4いずれか記載の書き換え可能なROM
ファイル装置。 - 【請求項6】 前記データ記憶手段の特定領域として前
記データ記憶手段の少なくとも1つの最小書換え単位を
使用することを特徴とする請求項1〜5いずれか記載の
書き換え可能なROMファイル装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28850994A JP2669365B2 (ja) | 1994-11-24 | 1994-11-24 | 書換え可能なromファイル装置 |
US08/552,290 US5933846A (en) | 1994-11-24 | 1995-11-02 | Rewritable ROM file device having read/write buffer access control via copy of rewritable area |
CA002162818A CA2162818C (en) | 1994-11-24 | 1995-11-14 | Rewritable rom file device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28850994A JP2669365B2 (ja) | 1994-11-24 | 1994-11-24 | 書換え可能なromファイル装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08147202A JPH08147202A (ja) | 1996-06-07 |
JP2669365B2 true JP2669365B2 (ja) | 1997-10-27 |
Family
ID=17731155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28850994A Expired - Fee Related JP2669365B2 (ja) | 1994-11-24 | 1994-11-24 | 書換え可能なromファイル装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5933846A (ja) |
JP (1) | JP2669365B2 (ja) |
CA (1) | CA2162818C (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
MY122279A (en) * | 1999-03-03 | 2006-04-29 | Sony Corp | Nonvolatile memory and nonvolatile memory reproducing apparatus |
US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123419D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
GB0123417D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
US7108605B2 (en) * | 2002-09-30 | 2006-09-19 | Igt | EPROM file system in a gaming apparatus |
US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
EP1686482B1 (en) * | 2003-11-18 | 2013-03-06 | Panasonic Corporation | File recording device |
JP2007515024A (ja) | 2003-12-17 | 2007-06-07 | レクサー メディア, インコーポレイテッド | 盗難を避けるための電子装置の販売場所におけるアクティブ化 |
US20050152251A1 (en) * | 2004-01-08 | 2005-07-14 | Victor Company Of Japan, Ltd. | Method and apparatus for recording check data of file system on recording medium |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
CN100383736C (zh) * | 2004-05-08 | 2008-04-23 | 鸿富锦精密工业(深圳)有限公司 | 串行高阶硬盘架构控制器自动初始化方法 |
SE527843C2 (sv) * | 2004-06-03 | 2006-06-20 | Roxtec Ab | Brandskydd för kabelgenomföringar |
US6967869B1 (en) * | 2004-07-22 | 2005-11-22 | Cypress Semiconductor Corp. | Method and device to improve USB flash write performance |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
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 |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7627733B2 (en) | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
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 |
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 |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
JP4513818B2 (ja) * | 2007-03-07 | 2010-07-28 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置用プロセスカートリッジ及び画像形成装置 |
KR100826654B1 (ko) * | 2007-04-24 | 2008-05-06 | 주식회사 하이닉스반도체 | 플래시 메모리소자의 동작방법 및 이를 위한 제어회로 |
US11204714B2 (en) * | 2018-10-23 | 2021-12-21 | Microsoft Technology Licensing, Llc | Hybrid use of non-volatile memory as storage device and cache |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0618535B1 (en) * | 1989-04-13 | 1999-08-25 | SanDisk Corporation | EEPROM card with defective cell substitution and cache memory |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
JPH04313882A (ja) * | 1991-04-12 | 1992-11-05 | Fuji Photo Film Co Ltd | メモリカードの記録管理方式 |
IT1254937B (it) * | 1991-05-06 | 1995-10-11 | Aggiornamento dinamico di memoria non volatile in un sistema informatico | |
GB2256735B (en) * | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
EP0528280B1 (en) * | 1991-08-09 | 1997-11-12 | Kabushiki Kaisha Toshiba | Memory card apparatus |
US5359569A (en) * | 1991-10-29 | 1994-10-25 | Hitachi Ltd. | Semiconductor memory |
TW261687B (ja) * | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
JP3328321B2 (ja) * | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
JP3412839B2 (ja) * | 1992-07-01 | 2003-06-03 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
JPH06195258A (ja) * | 1992-07-08 | 1994-07-15 | Nec Corp | 半導体記憶装置 |
JPH0675836A (ja) * | 1992-08-25 | 1994-03-18 | Nippon Densan Corp | 補助記憶装置 |
US5327531A (en) * | 1992-09-21 | 1994-07-05 | International Business Machines Corp. | Data processing system including corrupt flash ROM recovery |
US5487161A (en) * | 1992-11-25 | 1996-01-23 | Norand Corp. | Computerized data terminal with switchable memory address for start-up and system control instructions |
JPH06187205A (ja) * | 1992-12-18 | 1994-07-08 | Nikon Corp | Eepromのアクセス方法および測量機 |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5519843A (en) * | 1993-03-15 | 1996-05-21 | M-Systems | Flash memory system providing both BIOS and user storage capability |
US5509134A (en) * | 1993-06-30 | 1996-04-16 | Intel Corporation | Method and apparatus for execution of operations in a flash memory array |
US5542077A (en) * | 1993-09-10 | 1996-07-30 | Compaq Computer Corporation | Personal computer with CMOS memory not having a separate battery |
JP3662946B2 (ja) * | 1993-09-22 | 2005-06-22 | 株式会社東芝 | ファイル管理方式および携帯可能電子装置 |
US5590373A (en) * | 1994-07-25 | 1996-12-31 | International Business Machines Corporation | Field programming apparatus and method for updating programs in a personal communications device |
US5696929A (en) * | 1995-10-03 | 1997-12-09 | Intel Corporation | Flash EEPROM main memory in a computer system |
-
1994
- 1994-11-24 JP JP28850994A patent/JP2669365B2/ja not_active Expired - Fee Related
-
1995
- 1995-11-02 US US08/552,290 patent/US5933846A/en not_active Expired - Lifetime
- 1995-11-14 CA CA002162818A patent/CA2162818C/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
日経エレクトロニクス NO.547(1992−2−17)日経BP社、P.133−186、"外部記憶装置に新風、フラッシュメモリーが1.8インチHDDに挑む" |
Also Published As
Publication number | Publication date |
---|---|
CA2162818A1 (en) | 1996-05-25 |
CA2162818C (en) | 1999-10-19 |
US5933846A (en) | 1999-08-03 |
JPH08147202A (ja) | 1996-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2669365B2 (ja) | 書換え可能なromファイル装置 | |
US5860083A (en) | Data storage system having flash memory and disk drive | |
JP2582487B2 (ja) | 半導体メモリを用いた外部記憶システム及びその制御方法 | |
KR100980309B1 (ko) | 호스트 디바이스 및 메모리 시스템 | |
JP2856621B2 (ja) | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 | |
US4984149A (en) | Memory access control apparatus | |
JP3197815B2 (ja) | 半導体メモリ装置及びその制御方法 | |
US6401166B2 (en) | Data processing system, block erasing type memory device and memory storing program for controlling memory device | |
US6412040B2 (en) | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture | |
JP4238514B2 (ja) | データ記憶装置 | |
USRE45222E1 (en) | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table | |
US20090150588A1 (en) | Hard Disk Drive Cache Memory and Playback Device | |
US7681008B2 (en) | Systems for managing file allocation table information | |
JPH08328762A (ja) | 半導体ディスク装置及びそのメモリ管理方法 | |
EP0544252A2 (en) | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system | |
JPH0778766B2 (ja) | ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置 | |
JPH11134875A (ja) | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 | |
WO2006098212A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
JP2011238176A (ja) | 情報処理装置およびドライバ | |
EP0777183A1 (en) | Computer cache system | |
JP2000298608A (ja) | コンピュータデータ記憶媒体及びメモリ管理方法 | |
JP2011520176A (ja) | 光ディスクドライブのように動作可能なメモリドライブ及びメモリドライブを光ディスクドライブに仮想化する方法 | |
JP2000163291A (ja) | コンピュ―タ読取り可能媒体を準備するためのコンピュ―タシステムおよび方法 | |
JPH113287A (ja) | 記憶装置およびそれに用いられる記憶領域管理方法 | |
JPH0695955A (ja) | フラッシュ・ファイル・システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070704 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080704 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090704 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100704 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 15 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 15 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 15 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130704 Year of fee payment: 16 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130704 Year of fee payment: 16 |
|
LAPS | Cancellation because of no payment of annual fees |