JPH08328762A - 半導体ディスク装置及びそのメモリ管理方法 - Google Patents

半導体ディスク装置及びそのメモリ管理方法

Info

Publication number
JPH08328762A
JPH08328762A JP7139494A JP13949495A JPH08328762A JP H08328762 A JPH08328762 A JP H08328762A JP 7139494 A JP7139494 A JP 7139494A JP 13949495 A JP13949495 A JP 13949495A JP H08328762 A JPH08328762 A JP H08328762A
Authority
JP
Japan
Prior art keywords
data
area
disk device
semiconductor disk
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7139494A
Other languages
English (en)
Inventor
Shigenori Miyauchi
成典 宮内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7139494A priority Critical patent/JPH08328762A/ja
Priority to US08/538,369 priority patent/US5717886A/en
Priority to DE19537305A priority patent/DE19537305A1/de
Publication of JPH08328762A publication Critical patent/JPH08328762A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 フラッシュメモリに適したデータ管理を行っ
て、DOSで動作する安価で大容量な半導体ディスク装
置及びそのメモリ管理方法を得る。 【構成】 DOSで動作する半導体ディスク装置におい
て、ホスト機器と接続するためのインタフェース手段
と、データを格納するための連続したデータ格納領域を
有するブロック消去型のフラッシュメモリで構成された
主メモリと、上記インタフェース手段を介して、DOS
で動作するホスト機器とのデータの入出力を行うと共
に、上記主メモリに対するアドレスデータやメモリ管理
を行うコントロール手段と、該コントロール手段と上記
主メモリとの間で使用されるキャッシュメモリとからな
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、DOS(ディスクオペ
レーティングシステム)環境で動作し、フラッシュメモ
リを記憶手段として用いると共に、メモリ管理を行うコ
ントローラを備えた、ハードディスクと代替可能な半導
体ディスク装置及びそのメモリ管理方法に関するもので
ある。
【0002】
【従来の技術】現在、コンピュータに搭載されている記
憶装置は、大規模なプログラムを記憶しておくために大
容量化が進み、その代表的なものとして磁気記憶装置で
あるハードディスクがある。しかし、該ハードディスク
は、安価で大容量なものが手に入る一方で、モータを使
用するために消費電力が大きくて駆動音がうるさく、動
作中の振動に弱く、更に大きくて重いという欠点があ
る。これらのことを考慮すれば、ハードディスクはあま
り持ち運ばないデスクトップパソコンや一部のノートブ
ック型パソコンに使用するのが最適である。これとは対
照的に、電子手帳などの携帯情報端末はバッテリーで使
用することが前提であるため、軽くて丈夫であり低価格
で大容量であると共に、特に低消費電力の記憶装置が望
まれている。
【0003】そこで、上記ハードディスクほど安価では
ないが、フラッシュメモリを用いた半導体ディスク装置
を使用することが考えられる。しかし、従来の半導体デ
ィスク装置は上記磁気記憶装置をシミュレートしたもの
であるので、パーソナルコンピュータ(以下、PCと呼
ぶ)や上記携帯情報端末といったホスト機器から送られ
てくる512バイト単位のデータを半導体ディスク装置
内に書き込み、又は読み出すということが行われる。
【0004】ここで、従来の半導体ディスク装置と該装
置内部のメモリ管理及びデータ処理方法について説明す
る。図13は、従来の半導体ディスク装置の例を示した
概略ブロック図である。図13において、半導体ディス
ク装置100は、インタフェース回路101と、CPU
102と、論理セクタ・物理セクタアドレス変換テーブ
ル(以下、変換テーブルと呼ぶ)103と、フラッシュ
メモリ104と、フラッシュ制御回路105と、データ
入出力用のセクタバッファ(以下、セクタバッファと呼
ぶ)106とからなる。
【0005】携帯情報端末などのホスト機器110は、
半導体ディスク装置100の上記インタフェース回路1
01を介して上記CPU102に接続され、該CPU1
02は上記変換テーブル103及びフラッシュ制御回路
105に接続され、該フラッシュ制御回路105は、フ
ラッシュメモリ104及びセクタバッファ106に接続
される。
【0006】上記インタフェース回路101は、半導体
ディスク装置100を接続するホスト機器110とデー
タをやりとりし、上記CPU102は、半導体ディスク
装置100内でアドレスデータやメモリ管理を行う。ま
た、変換テーブル103は、上記ホスト機器110から
送られてくるLSA(Logical Sector Address)、すな
わち論理セクタアドレスと半導体ディスク装置100内
部で使用するPSA(Physical Sector Address)、す
なわち物理セクタアドレスとを対応づける。更に、フラ
ッシュ制御回路105は、フラッシュメモリ104への
データの読み出し又は書き込みの際の比較的単純な作業
を行うときに使用され、セクタバッファ106は、フラ
ッシュメモリ104へのデータの入出力の際に使用され
る。
【0007】上記フラッシュメモリ104は、電気的に
書き込み及び消去可能な不揮発性のメモリであり、デー
タの消去は消去ブロック単位で一括に行い、同じアドレ
スにデータの上書きができないものである。通常、半導
体ディスク装置100内にはフラッシュメモリチップを
数個から数十個搭載しており、図14は、上記図13に
おけるフラッシュメモリ104の内部構成を示した図で
ある。図14において、フラッシュメモリチップ本体1
20には複数の消去ブロック121が存在する。フラッ
シュメモリ104はデータを数K〜数十Kバイト単位で
一括して消去することしかできないデバイスである。上
記消去ブロック121はフラッシュメモリ104が一括
して消去できる最小単位を示している。例えば、上記各
消去ブロック121が64Kバイトである16Mビット
のフラッシュメモリを考えた場合、1つのフラッシュメ
モリチップ120内には32個の消去ブロックが存在す
ることになる。
【0008】ここで、DOSにより管理されたPCで扱
う大容量のハードディスクの場合、512バイトをセク
タ、該セクタを数個まとめたものをクラスタと呼び、デ
ータはクラスタ単位で管理される。また、該クラスタを
管理する部分がFAT(FileAllocation Table)であ
り、データの名前や書き込まれた日付、サイズ及びサブ
ディレクトリ情報などのデータはハードディスク内のデ
ィレクトリエントリ領域におかれ、データを更新する度
に書き換えられる。これに対し、フラッシュメモリを用
いた半導体ディスク装置の場合、書き込み回数に上限が
存在するため、上記ハードディスクと同様のデータ処理
を行うと、FAT部及びディレクトリエントリ部がすぐ
に書き込み及び消去可能回数を上回ってしまう。
【0009】更に、例えば、消去ブロックが64Kバイ
トのフラッシュメモリを使用した半導体ディスク装置に
おいて1つのデータを上書きする場合、最初に消去ブロ
ック内に存在する有効なデータを退避させてからブロッ
ク消去を行い、退避させたデータと更新したデータを消
去ブロック内に書き込むことになる。しかし、このよう
な方法では、すぐに消去可能回数の上限を上回ってしま
うという問題がある。。そこで、従来の半導体ディスク
装置では、変換テーブル103を用いることで該問題を
回避している。
【0010】図15は、変換テーブル103の内部構成
の例を示した図であり、図15で示すように、該変換テ
ーブル103は、ホスト機器110がデータ管理に使用
している上記LSAと、半導体ディスク装置100内で
データ管理するために使用されるPSAを対応づけたテ
ーブルである。LSAは固定されており、PSAは半導
体ディスク装置100内のCPU102を用いることで
自由に書き換えることができる。このため、図15にお
いては、PSAに何も記さずに白紙にしてある。
【0011】このように、上記変換テーブル103を用
いることで、ホスト機器110から要求されるLSAに
左右されることなくフラッシュメモリ104の任意の領
域にデータを管理することができる。なお、上記変換テ
ーブル103は、頻繁に書き換えられるため、通常SR
AMやDRAMが用いられ、該変換テーブル103に必
要なメモリ容量は、例えば20Mバイトの半導体ディス
ク装置で約80Kバイトである。
【0012】次に、図16は、従来の半導体ディスク装
置で使用されるフラッシュメモリの消去ブロック121
内の構成を示す。図16において、ブロック消去回数な
どのブロック情報が消去ブロック情報格納領域130に
記憶される。また、変換テーブル103は揮発性のメモ
リで構成されているため、半導体ディスク装置100へ
の電源供給が停止すると変換テーブル103の内容は消
えてしまう。このことから、PSAごとに対応したLS
Aデータを不揮発領域である上記消去ブロック121内
のLSA格納領域131に記憶され、半導体ディスク装
置100に電源が供給されたときに、すべてのLSA格
納領域131内のデータを読み取ることにより、変換テ
ーブル103を再構築することができる。なお、132
は、データ格納領域を示す。
【0013】図17は、従来におけるデータの分割管理
例を示した図である。図17において、斜線で示した部
分がデータを示しており、DOSはデータをセクタ単位
で読み出し又は書き込みを行うために、512バイトを
超えるデータは512バイト単位に分割される。該分割
されたデータはディスク装置内に保管されてるFATを
用いて管理される。このことから、従来のハードディス
クや半導体ディスク装置では、500バイトのデータで
あろうが、10バイトのデータであろうがDOSに従う
場合はクラスタで定義されるバイト数の記憶領域が必要
となる。
【0014】図18は、従来におけるハードディスクの
データを読み出す動作を示した概略図であり、図18を
用いて、ハードディスクのデータの読み出し及び書き込
み動作について説明する。図18において、例えばユー
ザーが「AAA.TXT」というデータをハードディス
クから読み出す場合、ホスト機器はハードディスク内の
ディレクトリエントリ領域140を読み出して、「AA
A.TXT」を検索する。ディレクトリエントリ領域1
40にはファイル名のほかにデータのクラスタ番号など
が記憶されている。ホスト機器はディレクトリエントリ
領域140に記憶されたデータのクラスタ番号「3」か
ら、データ領域142に記憶されたデータ「a」を読み
出すことができる。
【0015】また、クラスタ番号「3」に対応するFA
T141には「4」が記憶されており、次にクラスタ番
号「4」からデータ「b」を読み出せばいいことが分か
る。このようにして、FAT141に記憶された、デー
タ連鎖の終了を示す「FFFF」が現れるまでデータの
読み出しを行う。なお、図18においては、「AAA.
TXT」は、a,b,c,dというデータで成り立って
いることが分かる。
【0016】次に、図19は、従来の半導体ディスク装
置100における、データ読み出し時のLSA・PSA
変換作業を示したアドレス変換部分の概略図である。該
変換作業は、半導体ディスク装置100内からデータ
(FATなども含む)を読み出す際に必ず行われるもの
である。図19において、例えばホスト機器110がL
SAの「2」からデータを読み出す場合、CPU102
は、半導体ディスク装置100内部の変換テーブル10
3によりPSA=4のデータを読み出せばよいことが分
かる。このことから、CPU102は、フラッシュメモ
リ104から「b」というデータを読み出す。
【0017】図20は、従来の半導体ディスク装置10
0における、データ書き込み時のLSA・PSA変換作
業を示したアドレス変換部分の概略図である。図20に
おいて、まず、CPU102は、フラッシュメモリ10
4内の空き領域を確認し、データを書き込むことができ
る領域が存在するならばデータを書き込み、変換テーブ
ル103を更新する。
【0018】例えば、CPU102は、ホスト機器11
0からLSA=11に「d」というデータを書き込む要
求が入力された場合、フラッシュメモリ104における
PSA=0〜2,5,7〜11の空き領域から適当な領
域、例えばフラッシュメモリ104のPSA=2のデー
タ格納領域132にデータ「d」を書き込んで記憶させ
る。更に、CPU102は、フラッシュメモリ104に
おけるPSA=2のLSA格納領域131に「11」を
書き込んで記憶させると共に、変換テーブル103のL
SA=11に対応するPSAに「2」を書き込んで記憶
させる。
【0019】次に、図21は、従来の半導体ディスク装
置100における、データを上書きする時のLSA・P
SA変換作業を示したアドレス変換部分の概略図であ
る。図21において、例えば、CPU102は、ホスト
機器110からLSA=2に「b1」というデータを上
書きする要求が入力された場合、フラッシュメモリ10
4におけるPSA=0〜2,5,7〜11の空き領域か
ら適当な領域、例えばフラッシュメモリ104のPSA
=5のデータ格納領域132にデータ「b1」を書き込
んで記憶させる。更に、CPU102は、フラッシュメ
モリ104におけるPSA=5のLSA格納領域131
に「2」を書き込んで記憶させると共に、変換テーブル
103のLSA=2に対応するPSAに「5」を書き込
んで記憶させ、変換テーブル103を更新する。
【0020】このように、更新前のフラッシュメモリ1
04内のデータはそのままにしておいて、フラッシュメ
モリ104のデータ領域が不足してきたときに該データ
を消去する。これは、フラッシュメモリ104の消去回
数を必要最小限に抑えるためである。また、フラッシュ
メモリ104のブロック消去を行う場合は、あらかじめ
フラッシュメモリ104の消去するブロック内に記憶さ
れた有効なデータを他のブロックの空き領域に退避させ
てから、ブロック消去を行って変換テーブル103を更
新する。なお、上記図19から図21において、説明を
分かりやすくするために、フラッシュ制御回路105と
セクタバッファ106を省略して説明した。
【0021】
【発明が解決しようとする課題】しかし、上記従来の半
導体ディスク装置においては、すべてのデータをセクタ
単位で管理するためのデータにかなりのメモリ領域を割
かなければならないという問題があった。例えば、20
Mバイトの半導体ディスク装置においては、 20M(バイト)÷512(バイト)=40960(セ
クタ) というセクタ数が必要であり、40960セクタを区別
するために必要な桁数は、 ln40960÷ln2=15.3 から、16桁必要であり、よって、変換テーブルに必要
なメモリ容量は、 40960÷16=80K(バイト) 必要となる。
【0022】上記のように、80Mバイトの半導体ディ
スク装置を作製すれば160Kバイトの変換テーブル
が、160Mバイトの半導体ディスク装置を作製すれば
320Kバイト(約2.5Mビット)の変換テーブルが
必要となる。更に、フラッシュメモリ内のLSA格納領
域についても同様であり、LSA格納領域に必要なメモ
リ容量は変換テーブルと同じ容量のメモリが必要とな
り、半導体ディスク装置を大容量化する障害となると共
に、コストの増大が生じる問題があった。
【0023】本発明は、DOS環境で使用される半導体
ディスク装置において、従来のように磁気記憶装置を正
確にシミュレートすることによる無駄をなくし、フラッ
シュメモリに適したデータ管理を行うことができる半導
体ディスク装置及びそのメモリ管理方法を得ることを目
的とする。
【0024】
【課題を解決するための手段】本発明は、DOSで動作
する半導体ディスク装置において、ホスト機器と接続す
るためのインタフェース手段と、データを格納するため
の連続したデータ格納領域を有するブロック消去型のフ
ラッシュメモリで構成された主メモリと、上記インタフ
ェース手段を介して、DOSで動作するホスト機器との
データの入出力を行うと共に、上記主メモリに対するア
ドレスデータやメモリ管理を行うコントロール手段と、
該コントロール手段と上記主メモリとの間で使用される
キャッシュメモリとからなることを特徴とする半導体デ
ィスク装置を提供するものである。
【0025】本願の特許請求の範囲の請求項2に記載の
発明において、上記請求項1のコントロール手段は、主
メモリに格納されたすべてのデータファイルにおける各
々のディレクトリエントリファイルと各々の先頭アドレ
ス番号とを格納する拡張ディレクトリエントリ領域を、
主メモリにデータファイルを格納する度に、該データフ
ァイルを格納した領域の直後に設け、上記先頭アドレス
番号から主メモリ内における所望のデータの格納領域を
検索することを特徴とする。
【0026】本願の特許請求の範囲の請求項3に記載の
発明において、上記請求項2のコントロール手段は、上
記拡張ディレクトリエントリ領域において、上記各ディ
レクトリエントリファイルを格納した後、上記各先頭ア
ドレス番号を格納することを特徴とする。
【0027】本願の特許請求の範囲の請求項4に記載の
発明は、主メモリとしてフラッシュメモリを使用した、
DOSで動作する半導体ディスク装置におけるメモリ管
理方法において、上記主メモリにデータを格納するため
の連続したデータ格納領域を設け、書き込み時において
は、ホスト機器より取得したLSAから、該ホスト機器
から送られてくるデータの種類を識別して、上記主メモ
リのデータ格納領域に該データを連続して書き込み、読
み出し時においては、ホスト機器より取得したLSAか
ら、指定されたデータの読み出しを行うことを特徴とす
る半導体ディスク装置におけるメモリ管理方法を提供す
るものである。
【0028】本願の特許請求の範囲の請求項5に記載の
発明において、上記主メモリに格納されたすべてのデー
タファイルにおける各々のディレクトリエントリファイ
ルと各々の先頭アドレス番号とを格納する拡張ディレク
トリエントリ領域を、データ格納領域にデータファイル
を格納する度に、該データファイルを格納した領域の直
後に更新して設け、上記先頭アドレス番号から主メモリ
内における所望のデータの格納領域を検索することを特
徴とする。
【0029】本願の特許請求の範囲の請求項6に記載の
発明において、上記拡張ディレクトリエントリ領域にお
いて、各ディレクトリエントリファイルを格納した後、
上記各先頭アドレス番号を格納することを特徴とする。
【0030】
【作用】特許請求の範囲の請求項1に記載の半導体ディ
スク装置は、上記コントロール手段で、ホスト機器より
取得したLSAから、該ホスト機器より送られてくるデ
ータの種類を識別して、FATを用いずに上記主メモリ
のデータ格納領域に該データを連続して書き込むと共
に、読み出しを行う。
【0031】特許請求の範囲の請求項2に記載の半導体
ディスク装置においては、請求項1に記載のコントロー
ル手段で、主メモリに格納されたすべてのデータファイ
ルにおける各々のディレクトリエントリファイルと各々
の先頭アドレス番号とを格納するディレクトリエントリ
領域を、主メモリにデータファイルを格納する度に、該
データファイルを格納した領域の直後に更新して設け、
上記先頭アドレス番号から主メモリ内における所望のデ
ータの格納領域を検索する。
【0032】特許請求の範囲の請求項3に記載の半導体
ディスク装置においては、請求項2に記載のコントロー
ル手段で、上記拡張ディレクトリエントリ領域におい
て、上記各ディレクトリエントリファイルを格納した
後、上記各先頭アドレス番号を格納する。
【0033】特許請求の範囲の請求項4に記載のメモリ
管理方法は、主メモリにデータを格納するための連続し
たデータ格納領域を設け、ホスト機器より取得したLS
Aから、該ホスト機器から送られてくるデータの種類を
識別し、FATを用いずに主メモリのデータ格納領域に
該データを書き込むと共に、読み出しを行う。
【0034】特許請求の範囲の請求項5に記載のメモリ
管理方法においては、請求項4に記載のメモリ管理方法
から、更に、格納されたすべてのデータファイルにおけ
る各々のディレクトリエントリファイルと各々の先頭ア
ドレス番号とを格納する拡張ディレクトリエントリ領域
を、上記データ格納領域にデータファイルを格納する度
に、該データファイルを格納した領域の直後に更新して
設け、上記先頭アドレス番号から主メモリ内における所
望のデータの格納領域を検索する。
【0035】特許請求の範囲の請求項6に記載のメモリ
管理方法においては、請求項5に記載のメモリ管理方法
から、更に、上記拡張ディレクトリエントリ領域におい
て、上記各ディレクトリエントリファイルを格納した
後、上記各先頭アドレス番号を格納する。
【0036】
【実施例】次に、図面に示す実施例に基づいて、本発明
を詳細に説明する。 実施例1.図1は、本発明の実施例における半導体ディ
スク装置の概略ブロック図を示す。なお、図1におい
て、上記従来例を示した図13と同じものは同じ符号で
示しており、ここではその説明を省略すると共に、図1
3との相違点のみ説明する。図1における図13との相
違点は、図13の変換テーブル103がなく、また、該
変換テーブル103がない分だけフラッシュメモリ10
4の領域を増やすことから、図13のフラッシュメモリ
104をフラッシュメモリ104aとすると共に、図1
3のCPU102をCPU102aとし、これらに伴っ
て、図13の半導体ディスク装置100を半導体ディス
ク装置100aとしたことにある。
【0037】図1において、半導体ディスク装置100
aは、インタフェース回路101と、CPU102a
と、フラッシュメモリ104aと、フラッシュ制御回路
105と、セクタバッファ106とからなる。ホスト機
器110は、半導体ディスク装置100aの上記インタ
フェース回路101を介して上記CPU102aに接続
され、該CPU102aは上記フラッシュ制御回路10
5に接続され、該フラッシュ制御回路105は、フラッ
シュメモリ104a及びセクタバッファ106に接続さ
れる。
【0038】上記インタフェース回路101は、該半導
体ディスク装置100aを接続するホスト機器110と
データをやりとりし、上記CPU102aは、半導体デ
ィスク装置100a内でのアドレスデータやメモリ管理
を行う。また、フラッシュ制御回路105は、フラッシ
ュメモリ104aへのデータの読み出し又は書き込みの
際の比較的単純な作業を行うときにCPU102aに代
わって該作業を行うために使用されるものである。フラ
ッシュメモリ104aは、データを8ビット又は16ビ
ット単位でしか書き込み又は読み出しができないのに対
して、DOS環境においては、ホスト機器110から5
12バイト単位でデータのやりとりを行う必要があるた
め、セクタバッファ106をCPU102aとフラッシ
ュメモリ104aとのキャッシュメモリとして使用す
る。
【0039】そこで、CPU102aは、セクタバッフ
ァ106とフラッシュメモリ104aにおけるデータの
読み出し又は書き込みの際のアドレスであるベースアド
レスをそれぞれ決定して管理し、フラッシュ制御回路1
05は、CPU102aに代わって、該各ベースアドレ
スからアドレス番号を互いにインクリメント又はデクリ
メントしてフラッシュメモリ104aとセクタバッファ
106との間におけるデータの読み出し又は書き込みが
行われる。
【0040】また、上記フラッシュメモリ104aが、
コマンド制御型のフラッシュメモリである場合、フラッ
シュ制御回路105は、該フラッシュメモリ104aに
対して、アドレスを指定した後、書き込みの場合はライ
トパルスを、読み込みの場合はリードパルスを出力し、
その後指定したアドレスにデータの書き込み又は読み出
しを行わせる。
【0041】上記フラッシュメモリ104aは、電気的
に書き込み及び消去可能な不揮発性のメモリであり、デ
ータの消去は消去ブロック単位で一括に行い、同じアド
レスにデータの上書きができないものであり、内部構成
図は上記図14と同じであるのでここではその説明を省
略する。なお、上記インタフェース回路101はインタ
フェース手段を、上記CPU102a及びフラッシュ制
御回路105はコントロール手段を、上記フラッシュメ
モリ104aは主メモリを、上記セクタバッファ106
はキャッシュメモリをなす。
【0042】図2は、本発明の実施例における半導体デ
ィスク装置で使用されるフラッシュメモリの消去ブロッ
ク121a内の構成を示す。なお、図2において、従来
例を示した図16と同じものは同じ符号で示しており、
ここでは、その説明を省略すると共に、図16との相違
点のみ説明する。図2における図16との相違点は、図
16のLSA格納領域131がなく、消去ブロック情報
格納領域130と、データ格納領域132とからなるこ
とにある。
【0043】消去ブロック情報格納領域130は、ブロ
ック消去した回数を記憶しておくために使用される。フ
ラッシュメモリの消去回数は現在のところ10万回程度
が限界であり、該消去回数を記憶しておくためには消去
ブロック情報格納領域130として3バイトあれば十分
である。更に、消去ブロック情報格納領域130は、何
らかの理由で使用を禁止しなければならないデータ格納
領域を記憶しておくなどの使用方法が考えられる。
【0044】図3〜図6は、図1で示した半導体ディス
ク装置100aへのデータ書き込み動作を示した概略図
であり、図3〜図6を用いて、本発明の装置におけるデ
ータ書き込み動作について説明する。なお、図3〜図6
において、図1と同じものは同じ符号で示しており、こ
こではその説明を省略する。図3において、「ABC
D.TXT」という容量2500バイトのデータを本発
明の半導体ディスク装置100aに書き込む場合を例に
とって説明する。なお、半導体ディスク装置100a内
におけるフラッシュメモリ104aのデータ格納領域に
は、すでに「MANBO5.DAT」という1000バ
イトのデータが記憶されて格納されているものとする。
【0045】フラッシュメモリ104aのアドレス0〜
x−1には、ブート領域が確保されている。該ブート領
域にはホスト機器110が半導体ディスク装置100a
からシステムを立ち上げる際に用いられる起動データを
格納する領域であり、LSAと一致する特定領域に該デ
ータを格納しておく必要があるため、ホスト機器110
からの書き込み要求に応じられるようにフラッシュメモ
リ104aに領域を確保しておく必要がある。一般的
に、LSA=0にブート領域を設けなければならない。
【0046】そこで、上記「MANBO5.DAT」
は、フラッシュメモリ104aのアドレスx〜y−1ま
でを占有しているものとする。フラッシュメモリ104
aが1アドレス8ビット構成の場合、上記アドレスy−
1はアドレスxに999を加えた値となり、フラッシュ
メモリ104aが1アドレス16ビット構成の場合、上
記y−1はxに499を加えた値となる。更に、フラッ
シュメモリ104aのアドレスy〜z−1までを拡張デ
ィレクトリエントリ領域とする。該拡張ディレクトリエ
ントリ領域は、従来のディレクトリエントリ領域を拡張
したものであり、図7は、拡張ディレクトリエントリ領
域の内部構成を示した図である。
【0047】図7において、拡張ディレクトリエントリ
領域は、従来のディレクトリエントリ領域に格納されて
いた各ファイルごとの内容に加えて、該各ファイルが格
納されているフラッシュメモリの各々の先頭アドレス番
号が格納されている。従来のディレクトリエントリ領域
は、1ファイル当たり32バイトで構成されており、そ
の内訳は、ファイルにおける、ファイル名(8バイ
ト)、拡張子(3バイト)、属性(1バイト)、変更時
刻(2バイト)、変更日付(2バイト)、先頭クラスタ
番号(2バイト)、ファイルサイズ(4バイト)、予約
領域(10バイト)からなる。なお、拡張ディレクトリ
エントリ領域には、各ファイルごとに上記内容が格納さ
れている。
【0048】また、従来のディレクトリエントリ領域に
格納された内容をファイルごとに格納した後に、上記フ
ラッシュメモリの先頭アドレス番号が、各ファイルごと
に格納される。これは、DOSがファイル名を32バイ
ト単位で検索する場合があるためである。フラッシュメ
モリの先頭アドレス番号を格納する上記領域は、例え
ば、20Mバイトの半導体ディスク装置において、1ア
ドレスで16バイトのデータが読み出すことができるよ
うにフラッシュメモリを構成する場合、使用するアドレ
スは0〜10485759であるから、これに使用する
フラッシュメモリは3バイトでよいことが分かる。
【0049】上記図3における「ABCD.TXT」デ
ータは、 2500÷512=4.88≒5(セクタ) より、5セクタに分割されて半導体ディスク装置100
aに送られる。更に該データは、図4で示すように、半
導体ディスク装置100aのインタフェース回路10
1、CPU102a及びフラッシュ制御回路105を介
してセクタバッファ106に送られて記憶される。
【0050】ここで、該データは512バイト単位で5
つのセクタに分かれているが、半導体ディスク装置10
0aにデータをまとめて受け入れる能力があれば、ホス
ト機器110は、5セクタ分を一括で上記セクタバッフ
ァ106に記憶させるが、半導体ディスク装置100a
にその能力がない場合には、1セクタごとにデータをセ
クタバッファ106に転送してはフラッシュ制御回路1
05を介してフラッシュメモリ104aに記憶させて格
納するという操作を繰り返す。なお、上記フラッシュメ
モリ104aは、データを8ビット又は16ビット単位
でしか書き込むことができないため、512バイトのデ
ータをフラッシュメモリ104aに書き込む、又はフラ
ッシュメモリ104aから読み出す際に、フラッシュ制
御回路105を使用する。
【0051】次に、図5で示すようにフラッシュメモリ
104aのアドレスzから上記データを書き込んだ後、
図6で示すように該データ格納領域における最後のアド
レスの次のアドレスから、拡張ディレクトリエントリ領
域の内容を更新して上記データに続いて書き込む。フラ
ッシュメモリ104a内において、該拡張ディレクトリ
エントリ領域よりも上位のアドレスにはデータは存在し
ない。なお、上記図4から図6において、説明の便宜
上、ホスト機器110を省略して示している。また、ホ
スト機器110は、上記のように、半導体ディスク装置
100a内に上記データを保存する際、半導体ディスク
装置100aに、該データを書き込ませ、ディレクトリ
エントリ領域の内容を更新させると共に、FATにおい
ても更新を行わせる。
【0052】次に、上記FATを更新する作業について
説明する。本発明の半導体ディスク装置100aにおい
ては、データをフラッシュメモリ104aの連続したデ
ータ格納領域132に書き込むため、FATが必要なく
なる。しかし、本発明の半導体ディスク装置100a
は、データの入出力において従来の半導体ディスク装置
及びハードディスクと互換性を保つ必要があることか
ら、データの書き込みの際にFATをフラッシュメモリ
104aに保存せずに、すべてCPU102aで該FA
Tを無視する。
【0053】更に、本発明の半導体ディスク装置100
aは、データを読み出す際においても、拡張ディレクト
リエントリ領域内におけるフラッシュ先頭アドレスをも
とにして、ホスト機器110から要求されたデータを読
み出す。また、半導体ディスク装置100aは、ホスト
機器110から512バイトずつデータを要求された場
合においても、フラッシュ制御回路105を介してセク
タバッファ106へ512バイトごとにフラッシュメモ
リ104aからデータを読み出しながら、該データを出
力する。
【0054】次に、上記半導体ディスク装置100aに
おける読み出し及び書き込みの際のCPU102aの動
作について、もう少し詳しく説明する。図8及び図9
は、フラッシュメモリ104aからデータを読み出す際
のCPU102aにおける動作を示したフローチャート
である。なお、図8及び図9の各フローにおける処理
は、特に明記しない限りCPU102aで行われるもの
である。
【0055】図8において、ステップS1でホスト機器
110からLSAを取得し、ステップS2で、取得した
LSAから、ホスト機器110がアクセスしたい領域が
拡張ディレクトリエントリ領域におけるディレクトリエ
ントリ領域であるか否かを調べる。ここで、DOSにお
いては、ディスク装置のアドレス下位からブート領域、
FAT領域、ディレクトリエントリ領域、データ領域の
順番に格納することが決まっており、該各領域の大きさ
もディスク容量によって決まってしまうため、ホスト機
器110が要求するLSAをチェックすることで、ホス
ト機器110がどの領域をアクセスしたいのかをCPU
102aで認識することができる。
【0056】ステップS2で、ホスト機器110がアク
セスしたい領域がディレクトリエントリ領域であるなら
ば(YES)、ステップS3で、該ディレクトリエント
リ領域のオフセット計算を行いアドレスを算出する。次
に、ステップS4で、フラッシュ制御回路105に対し
て、算出したアドレスのデータをフラッシュメモリ10
4aからセクタバッファ106に転送させて本フローは
終了する。
【0057】また、ステップS2で、ディレクトリエン
トリ領域でないならば(NO)、ステップS5で、取得
したLSAから、ホスト機器110がアクセスしたい領
域がFAT領域であるか否かを調べ、FAT領域である
ならば(YES)、ステップS6に進み、ステップS6
において、CPU102aで作った適当な値、例えばフ
ァイルの先頭クラスタ番号をインクリメントしていった
値をFATデータとして、フラッシュ制御回路105に
対して、セクタバッファ106に転送させて本フローは
終了する。このことは、本実施例の半導体ディスク装置
100aは、フラッシュメモリ104aの連続した領域
にデータを格納するため、FAT情報を特に使用しなく
ても所望のファイルを読み出すことができるためであ
る。
【0058】また、ステップS5で、FAT領域でない
ならば(NO)、ステップS7で、取得したLSAか
ら、ホスト機器110がアクセスしたい領域がデータ領
域であるか否かを調べ、データ領域であるならば(YE
S)、図9のステップS30に進み、図9のステップS
30で、前回のアクセスはデータ領域であったか否かを
調べ、データ領域でなかった場合(NO)、ステップS
31で、該LSAをクラスタ番号に変換する。その後、
ステップS32で、読み出したいファイルがフラッシュ
メモリ104a内に存在するか否かの確認を行うために
拡張ディレクトリエントリ領域をチェックし、ステップ
S33で、読み出したいファイルの先頭クラスタ番号を
取得し、該クラスタ番号に対応するファイルをチェック
して、ステップS34で該ファイルに対応したフラッシ
ュメモリ104aの先頭アドレス番号を取得した後、ス
テップS35に進む。
【0059】ステップS35において、フラッシュ制御
回路105を介して、ホスト機器110より要求された
データをフラッシュメモリ104aからセクタバッファ
106に転送し、CPU102a内部に設けられた読み
出し用アドレスポインタ(図示せず)をセットして本フ
ローは終了する。ここで、上記読み出し用アドレスポイ
ンタとは、次回に読み出すべきフラッシュメモリ104
aのアドレス、すなわち、前回読み出した最後のアドレ
スを示す。これは、データが512バイト単位で読み出
されるためこのようなポインタが必要となり、該ポイン
タを使用することで、データの読み出し時間を短縮する
ことができる。このように、読み出したいファイルに関
わるクラスタの連鎖情報を取得し、該連鎖情報に従って
データを読み出す。
【0060】また、上記ステップS30で、前回のアク
セスがデータ領域であった場合(YES)、ステップS
37に進み、ステップS37で、セットされている上記
読み出し用アドレスポインタのデータをチェックした
後、ステップS35に進み、ステップS35以降の処理
を行う。なお、上記読み出し用アドレスポインタはフラ
ッシュ制御回路105に設けられてもよい。
【0061】次に、図8のステップS7に戻り、ステッ
プS7で、取得したLSAから、ホスト機器110がア
クセスしたい領域がデータ領域でないならば(NO)、
ステップS8に進み、ステップS8で、取得したLSA
から、ホスト機器110がアクセスしたい領域がブート
領域であるか否かを調べ、ブート領域であるならば(Y
ES)、ステップS9で、フラッシュメモリ104a内
のブート領域に格納されたデータをフラッシュ制御回路
105を介してセクタバッファ106に転送させて本フ
ローは終了する。また、ステップS8において、ホスト
機器110がアクセスしたい領域がブート領域でないな
らば(NO)、ステップS10で、IDを見つけること
ができなかったとして、所定のエラー処理を行って本フ
ローは終了する。
【0062】図10、図11及び図12は、フラッシュ
メモリ104aにデータを書き込む際のCPU102a
の動作を示したフローチャートである。なお、図10か
ら図12の各フローにおける処理は、特に明記しない限
りCPU102aで行われるものである。
【0063】図10において、ステップS50でホスト
機器110からLSAとフラッシュメモリ104aに格
納するデータを取得し、ステップS51で、取得したL
SAから、取得したデータを格納したい領域が拡張ディ
レクトリエントリ領域におけるディレクトリエントリ領
域であるのか否かを調べ、ディレクトリエントリ領域で
あるならば(YES)、図11のステップS70に進
む。なお、図10のステップS51においても、図8の
ステップS2で説明したように、ホスト機器110が要
求するLSAをチェックすることで、ホスト機器110
がどの領域をアクセスしたいのかをCPU102aで認
識することができる。
【0064】図11のステップS70で、拡張ディレク
トリエントリ領域におけるディレクトリエントリ領域へ
格納したいデータに対応するファイルデータが既にフラ
ッシュメモリ104aのデータ領域に格納されているか
否かを調べ、格納済みである場合(YES)、ステップ
S71に進み、ステップS71で、ディレクトリエント
リ領域へ格納したいデータをフラッシュ制御回路105
およびセクタバッファ106を介してフラッシュメモリ
104aに書き込ませて本フローは終了する。これは、
フラッシュメモリ104aに格納したいファイルデータ
が、ホスト機器110から先に送られフラッシュメモリ
104aに既に格納された後、該ファイルデータに関す
るディレクトリエントリ領域へのデータが送られてきた
場合における処理を示している。
【0065】また、ステップS70で、拡張ディレクト
リエントリ領域におけるディレクトリエントリ領域へ格
納したいデータに対応するファイルデータがフラッシュ
メモリ104aのデータ領域に格納されていない場合
(NO)、ステップS72に進み、ステップS72で、
フラッシュ制御回路105を介して、ディレクトリエン
トリ領域へ格納したいデータをセクタバッファ106内
に保存させて本フローは終了する。これは、フラッシュ
メモリ104aに格納したいファイルデータよりも先
に、該ファイルデータに関するディレクトリエントリ領
域へのデータがホスト機器110から送られてきた場合
における処理を示している。
【0066】次に、図10のステップS51に戻り、ス
テップS51で、取得したデータを格納したい領域が拡
張ディレクトリエントリ領域におけるディレクトリエン
トリ領域でないならば(NO)、ステップS52で、取
得したデータを格納したい領域がFAT領域であるか否
かを調べ、FAT領域であるならば(YES)、ステッ
プS53に進み、ステップS53で、上記取得したデー
タを無視して本フローは終了する。これは、本実施例に
おける半導体ディスク装置においては、FATを使用し
ないためFAT領域への書き込みデータを無視しても問
題ないためである。なお、FATデータを保存する場合
は、使用する拡張ディレクトリエントリ領域に続く領域
に格納しておくことも可能である。
【0067】また、ステップS52で、取得したデータ
を格納したい領域がFAT領域でない場合(NO)、ス
テップS54で、取得したデータを格納したい領域がデ
ータ領域であるか否かを調べ、データ領域であるならば
(YES)、図12のステップS80に進む。
【0068】図12のステップS80で、CPU102
a内部に設けられたフラッシュメモリの書き込み用アド
レスポインタ(図示せず)をチェックし、ステップS8
1で、フラッシュメモリ104a内に書き込むための空
き領域があるか否かを調べ、空き領域がない場合(N
O)、ステップS82で、フラッシュメモリ104a内
における消去する領域を決定し、ステップS83で、該
決定した領域の消去を行う。ここで、上記消去動作は、
フラッシュメモリ104a内に書き込み領域がなくなる
前に、いらなくなった記憶領域において行われ、このこ
とは、フラッシュメモリ104aへのデータの更新を行
うたびに、フラッシュメモリ104a内の別の空き領域
にデータを書き込むことから上記のような消去する領域
が存在するためである。
【0069】また、フラッシュメモリ104aの消去ブ
ロック内に有効なデータがなければ、該ブロックを無条
件に消去し、消去ブロック内の一部に有効なデータが存
在する場合は、該有効なデータだけをフラッシュメモリ
104aの書き込み可能な空き領域にコピーした後、該
消去ブロックの消去を行う。更にまた、フラッシュメモ
リ104aに格納したいファイルの容量が比較的大き
く、連続したデータ書き込み領域を確保することができ
ず書き込み可能な領域が点在する場合は、フラッシュメ
モリ104a内のデータをアドレス下位から順に埋まる
ように書き込み及び消去作業を行ってフラッシュメモリ
104a内を最適化することもできる。ただし、該作業
には、時間がかかることが予想されるため、半導体ディ
スク装置がレディー状態のときにバックグランドで処理
することになる。
【0070】更に、上記書き込み可能な領域が点在する
場合においては、連続していないファイル間のフラッシ
ュメモリ104aのアドレスをFATのように各ファイ
ルごとに拡張ディレクトリエントリ領域におけるディレ
クトリエントリ領域に続いて記憶しておくことで対応す
ることができる。この場合、連鎖させるフラッシュメモ
リ104aの領域が従来のFATで管理する領域よりも
大きいため小容量の領域を確保することで対応が可能と
なる。
【0071】次に、ステップS84に進み、ステップS
84で、フラッシュメモリ104aに対する書き込み用
アドレスポインタをセットし、ステップS85で、フラ
ッシュ制御回路105及びセクタバッファ106を介し
て、該書き込み用アドレスポインタが指定するフラッシ
ュメモリ104a内の領域にデータを書き込んで格納す
る。次に、ステップS86で、上記書き込み用アドレス
ポインタを更新し、ステップS87で、セクタバッファ
106内にディレクトリエントリ領域に書き込むデータ
が存在しないか否かを調べ、存在する場合は(YE
S)、ステップS88で、セクタバッファ106内にあ
るディレクトリエントリ領域に書き込むデータと、上記
ステップS85で書き込んだデータにおけるフラッシュ
メモリ104aの先頭アドレス番号とをフラッシュメモ
リ104a内の拡張ディレクトリエントリ領域に書き込
ませ、ステップS89で、上記書き込み用アドレスポイ
ンタを更新して本フローは終了する。
【0072】また、上記ステップS81で、フラッシュ
メモリ104a内に書き込むための空き領域がある場合
(YES)、ステップS85に進み、ステップS85以
降の処理を行う。更に、ステップS87で、セクタバッ
ファ106内にディレクトリエントリ領域に書き込むデ
ータが存在しない場合は(NO)、本フローは終了す
る。
【0073】次に、図10のステップS54に戻り、ス
テップS54で、取得したデータを格納したい領域がデ
ータ領域でないならば(NO)、ステップS55で、取
得したデータを格納したい領域がブート領域であるか否
かを調べ、ブート領域であるならば(YES)、ステッ
プS56に進み、ステップS56で、フラッシュ制御回
路105及びセクタバッファ106を介してフラッシュ
メモリ104aの上記ブート領域にデータを書き込んで
本フローは終了する。また、ステップS55で、取得し
たデータを格納したい領域がブート領域でないならば
(NO)、ステップS57で、IDを見つけることがで
きなかったとして、所定のエラー処理を行って本フロー
は終了する。
【0074】上記のように、本実施例の半導体ディスク
装置は、従来におけるDOSで動作する半導体ディスク
装置のように512バイトのセクタ単位でデータの管
理、読み出し及び書き込みを行わないため、データ格納
領域には512バイトごとの区切りを設けておらず連続
した領域となっている。更に、フラッシュメモリに格納
されたすべてのデータファイルにおける各々のディレク
トリエントリ領域のデータと各々の先頭アドレス番号と
を格納する拡張ディレクトリエントリ領域を、データフ
ァイルを連続して格納する度に、該データファイルを格
納した領域の直後における上記連続したデータ格納領域
に更新して設ける。これらのことから、インタフェース
に互換性を保ちながら連続ファイルとしてDOSから送
られてくるデータをフラッシュメモリ104aの上記連
続領域に書き込むことから、FATを用いずにデータを
管理することができる。
【0075】上記実施例において、ホスト機器110か
らのFATデータは保存せず無視したが、該FATデー
タを保存してもよく、その場合、拡張ディレクトリエン
トリ領域の直後に別途FAT領域を設け、該領域にFA
Tデータを格納するようにすればよい。なお、該FAT
領域においても、拡張ディレクトリエントリ領域と同様
に、データ格納領域にデータファイルを連続して格納す
る度に更新して設けられる。このように、本発明は、様
々な変形例が考えられ、本発明の範囲は上記実施例に限
定されるものではなく、特許請求の範囲によって定めら
れるべきものであることは言うまでもない。
【0076】
【発明の効果】上記の説明から明らかなように、本発明
の半導体ディスク装置によれば、DOSで動作するホス
ト機器と、インタフェースに互換性を保ちながら、ホス
ト機器より取得したLSAから、該ホスト機器から送ら
れてくるデータの種類を識別すると共に、主メモリに設
けた連続領域に対してデータの書き込み又は読み出しを
行うことができるため、DOSで動作する磁気記憶装置
を正確にシュミレートすることによる無駄をなくすこと
ができると共に、フラッシュメモリに適したデータ管理
を行うことができることから、安価で大容量の半導体デ
ィスク装置を提供することができる。
【0077】更に、上記主メモリに格納されたすべての
データファイルにおける各々のディレクトリエントリデ
ータと先頭アドレス番号とを格納する拡張ディレクトリ
エントリ領域を、上記主メモリにデータファイルを格納
する度に、該データファイルを格納した領域の直後に更
新して設けることから、主メモリに格納されたデータの
書き込み及び読み出しをFATを用いずに行うことがで
き、従来の変換テーブルが必要なく、安価で大容量の半
導体ディスク装置を提供することができる。
【0078】更に、拡張ディレクトリエントリ領域にお
いて、上記各ディレクトリエントリデータを格納した
後、上記各先頭アドレス番号を格納することから、拡張
ディレクトリエントリ領域を検索する際に、DOS環境
に適応して行うことができると共に、フラッシュメモリ
に適したデータ管理を行うことができる。
【図面の簡単な説明】
【図1】 本発明の実施例における半導体ディスク装置
の概略ブロック図である。
【図2】 図1で示した半導体ディスク装置で使用され
るフラッシュメモリの消去ブロック内の構成を示した図
である。
【図3】 図1で示した半導体ディスク装置へのデータ
書き込み動作を示した概略図である。
【図4】 図1で示した半導体ディスク装置へのデータ
書き込み動作を示した概略図である。
【図5】 図1で示した半導体ディスク装置へのデータ
書き込み動作を示した概略図である。
【図6】 図1で示した半導体ディスク装置へのデータ
書き込み動作を示した概略図である。
【図7】 拡張ディレクトリエントリ領域の内部構成を
示した図である。
【図8】 データを読み出す際のCPU102aにおけ
る動作を示したフローチャートである。
【図9】 データを読み出す際のCPU102aにおけ
る動作を示したフローチャートである。
【図10】 データを書き込む際のCPU102aにお
ける動作を示したフローチャートである。
【図11】 データを書き込む際のCPU102aにお
ける動作を示したフローチャートである。
【図12】 データを書き込む際のCPU102aにお
ける動作を示したフローチャートである。
【図13】 従来の半導体ディスク装置の例を示した概
略ブロック図である。
【図14】 図13で示した装置におけるフラッシュメ
モリ104の内部構成例を示した図である。
【図15】 図13で示した装置における変換テーブル
103の内部構成例を示した図である。
【図16】 図13で示した装置におけるフラッシュメ
モリ104の消去ブロック121内の構成例を示した図
である。
【図17】 従来におけるデータの分割管理例を示した
図である。
【図18】 従来におけるハードディスクのデータを読
み出す動作例を示した概略図である。
【図19】 従来におけるデータ読み出し時のLSA・
PSA変換作業例を示したアドレス変換部分の概略図で
ある。
【図20】 従来におけるデータ書き込み時のLSA・
PSA変換作業例を示したアドレス変換部分の概略図で
ある。
【図21】 従来におけるデータを上書きする時のLS
A・PSA変換作業例を示したアドレス変換部分の概略
図である。
【符号の説明】
100,100a 半導体ディスク装置、101 イン
タフェース回路、102,102a CPU、104,
104a フラッシュメモリ、105 フラッシュ制御
回路、106 セクタバッファ、110 ホスト機器、
121,121a 消去ブロック、132 データ格納
領域

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 DOSで動作する半導体ディスク装置に
    おいて、 ホスト機器と接続するためのインタフェース手段と、 データを格納するための連続したデータ格納領域を有す
    るブロック消去型のフラッシュメモリで構成された主メ
    モリと、 上記インタフェース手段を介して、DOSで動作するホ
    スト機器とのデータの入出力を行うと共に、上記主メモ
    リに対するアドレスデータやメモリ管理を行うコントロ
    ール手段と、 該コントロール手段と上記主メモリとの間で使用される
    キャッシュメモリとからなり、 上記コントロール手段は、ホスト機器より取得したLS
    Aから、該ホスト機器より送られてくるデータの種類を
    識別して、上記主メモリのデータ格納領域に該データを
    連続して書き込むと共に、読み出しを行うことを特徴と
    する半導体ディスク装置。
  2. 【請求項2】 請求項1に記載の半導体ディスク装置に
    して、上記コントロール手段は、主メモリに格納された
    すべてのデータファイルにおける各々のディレクトリエ
    ントリファイルと各々の先頭アドレス番号とを格納する
    拡張ディレクトリエントリ領域を、主メモリにデータフ
    ァイルを格納する度に、該データファイルを格納した領
    域の直後に更新して設け、上記先頭アドレス番号から主
    メモリ内における所望のデータの格納領域を検索するこ
    とを特徴とする半導体ディスク装置。
  3. 【請求項3】 請求項2に記載の半導体ディスク装置に
    して、上記コントロール手段は、上記拡張ディレクトリ
    エントリ領域において、上記各ディレクトリエントリフ
    ァイルを格納した後、上記各先頭アドレス番号を格納す
    ることを特徴とする半導体ディスク装置。
  4. 【請求項4】 主メモリとしてフラッシュメモリを使用
    した、DOSで動作する半導体ディスク装置におけるメ
    モリ管理方法において、 上記主メモリにデータを格納するための連続したデータ
    格納領域を設け、 書き込み時においては、ホスト機器より取得したLSA
    から、該ホスト機器から送られてくるデータの種類を識
    別して、上記主メモリのデータ格納領域に該データを連
    続して書き込み、 読み出し時においては、ホスト機器より取得したLSA
    から、指定されたデータの読み出しを行うことを特徴と
    する半導体ディスク装置におけるメモリ管理方法。
  5. 【請求項5】 請求項4に記載のメモリ管理方法にし
    て、上記主メモリに格納されたすべてのデータファイル
    における各々のディレクトリエントリファイルと各々の
    先頭アドレス番号とを格納する拡張ディレクトリエント
    リ領域を、上記データ格納領域にデータファイルを格納
    する度に、該データファイルを格納した領域の直後に更
    新して設け、上記先頭アドレス番号から主メモリ内にお
    ける所望のデータの格納領域を検索することを特徴とす
    る半導体ディスク装置におけるメモリ管理方法。
  6. 【請求項6】 請求項5に記載のメモリ管理方法にし
    て、上記拡張ディレクトリエントリ領域において、上記
    各ディレクトリエントリファイルを格納した後、上記各
    先頭アドレス番号を格納することを特徴とする半導体デ
    ィスク装置におけるメモリ管理方法。
JP7139494A 1995-06-06 1995-06-06 半導体ディスク装置及びそのメモリ管理方法 Pending JPH08328762A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP7139494A JPH08328762A (ja) 1995-06-06 1995-06-06 半導体ディスク装置及びそのメモリ管理方法
US08/538,369 US5717886A (en) 1995-06-06 1995-10-03 Semiconductor disk device and memory management method
DE19537305A DE19537305A1 (de) 1995-06-06 1995-10-06 Halbleiter-Platteneinrichtung und Speicherverwaltungsmethode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7139494A JPH08328762A (ja) 1995-06-06 1995-06-06 半導体ディスク装置及びそのメモリ管理方法

Publications (1)

Publication Number Publication Date
JPH08328762A true JPH08328762A (ja) 1996-12-13

Family

ID=15246581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7139494A Pending JPH08328762A (ja) 1995-06-06 1995-06-06 半導体ディスク装置及びそのメモリ管理方法

Country Status (3)

Country Link
US (1) US5717886A (ja)
JP (1) JPH08328762A (ja)
DE (1) DE19537305A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515128A (ja) * 2006-12-27 2010-05-06 インテル コーポレイション 不揮発性メモリにおけるデータを管理する方法
JP2010160809A (ja) * 2001-06-30 2010-07-22 Netac Technology Co Ltd 多機能半導体記憶装置

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829013A (en) 1995-12-26 1998-10-27 Intel Corporation Memory manager to allow non-volatile memory to be used to supplement main memory
GB2310513B (en) * 1996-02-20 2000-02-16 Ibm Computer with reduced power consumption
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US6135648A (en) * 1996-11-12 2000-10-24 Lsi Logic Corporation Hard disk rotational latency simulator
JPH10207726A (ja) * 1997-01-23 1998-08-07 Oki Electric Ind Co Ltd 半導体ディスク装置
US6182188B1 (en) 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6311290B1 (en) 1997-02-14 2001-10-30 Intel Corporation Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5937434A (en) * 1997-02-14 1999-08-10 Intel Corporation Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6088759A (en) 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6453404B1 (en) * 1999-05-27 2002-09-17 Microsoft Corporation Distributed data cache with memory allocation model
US6715074B1 (en) * 1999-07-27 2004-03-30 Hewlett-Packard Development Company, L.P. Virus resistant and hardware independent method of flashing system bios
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
JP2002351685A (ja) * 2001-05-22 2002-12-06 Sankyo Seiki Mfg Co Ltd 不揮発性メモリのデータ更新方法及び制御装置
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6711663B2 (en) * 2001-11-15 2004-03-23 Key Technology Corporation Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
US6704852B2 (en) * 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table
US6732222B1 (en) * 2002-02-01 2004-05-04 Silicon Motion, Inc. Method for performing flash memory file management
US7107414B2 (en) * 2003-01-15 2006-09-12 Avago Technologies Fiber Ip (Singapore) Ptd. Ltd. EEPROM emulation in a transceiver
CN1304959C (zh) * 2003-09-16 2007-03-14 深圳市格林耐特通信技术有限责任公司 用磁盘文件虚拟闪存读写数据的方法
EP1701262B1 (en) * 2005-03-08 2007-12-12 Robert Bosch Gmbh Method and device of rewriting a sector storing the bootloader code in a sector erasable semiconductor memory means
KR101274181B1 (ko) * 2006-02-13 2013-06-14 삼성전자주식회사 플래시 메모리를 관리하는 장치 및 방법
EP2189895A1 (en) 2008-11-24 2010-05-26 Deutsche Thomson OHG Flash based memory comprising a Flash translation layer and method for storing a file therein
US9514055B2 (en) * 2009-12-31 2016-12-06 Seagate Technology Llc Distributed media cache for data storage systems
JP5650982B2 (ja) * 2010-10-25 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ファイルの重複を排除する装置及び方法
CN104331250B (zh) * 2014-11-18 2017-05-24 苏州佳世达电通有限公司 资料写入方法
TWI631461B (zh) * 2017-06-27 2018-08-01 晨星半導體股份有限公司 行車記錄器之儲存裝置的控制方法與儲存裝置控制系統
US11435922B2 (en) 2017-06-27 2022-09-06 Sigmastar Technology Ltd. Control method for storage device of driving recorder and storage device control system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US5437020A (en) * 1992-10-03 1995-07-25 Intel Corporation Method and circuitry for detecting lost sectors of data in a solid state memory disk
JP3105092B2 (ja) * 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
US5586285A (en) * 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5473765A (en) * 1994-01-24 1995-12-05 3Com Corporation Apparatus for using flash memory as a floppy disk emulator in a computer system
US5563828A (en) * 1994-12-27 1996-10-08 Intel Corporation Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160809A (ja) * 2001-06-30 2010-07-22 Netac Technology Co Ltd 多機能半導体記憶装置
JP2010515128A (ja) * 2006-12-27 2010-05-06 インテル コーポレイション 不揮発性メモリにおけるデータを管理する方法

Also Published As

Publication number Publication date
US5717886A (en) 1998-02-10
DE19537305A1 (de) 1996-12-12

Similar Documents

Publication Publication Date Title
JPH08328762A (ja) 半導体ディスク装置及びそのメモリ管理方法
JP4611024B2 (ja) ブロック内のページをグループ化する方法及び装置
US6477616B1 (en) Storage device, storage system, memory management method, recording medium, and computer data signal
US7840617B2 (en) Host device and memory system
US7472251B2 (en) Data storage apparatus detachably mounted to a host apparatus
US7039754B2 (en) Detachably mounted removable data storage device
JP2669365B2 (ja) 書換え可能なromファイル装置
JP3706167B2 (ja) 半導体ディスク装置
US6034897A (en) Space management for managing high capacity nonvolatile memory
US6262918B1 (en) Space management for managing high capacity nonvolatile memory
US6678785B2 (en) Flash management system using only sequential write
JP3197815B2 (ja) 半導体メモリ装置及びその制御方法
US20140372685A1 (en) Memory system, data storage device, user device and data management method thereof
KR101451482B1 (ko) 데이터 이용가능성의 마운트타임 조정
US7007140B2 (en) Storage device, storage device controlling method, and program
US20090282187A1 (en) Flash memory device capable of preventing read disturbance
JP3827682B2 (ja) フラッシュメモリ、そのためのマッピング制御装置及び方法
KR20040082921A (ko) 플래쉬 파일 시스템
WO2003056433A1 (fr) Dispositif a memoire et appareil d'enregistrement/reproduction utilisant ledit dispositif
KR20030036133A (ko) 고속 데이터 액세스를 유지하면서 ram 크기를감소시키는 방법 및 장치
US7234036B1 (en) Method and apparatus for resolving physical blocks associated with a common logical block
TWI749279B (zh) 資料儲存裝置與資料處理方法
JP2000285001A (ja) 半導体フラッシュメモリ装置及びその制御方法
JP2000030375A (ja) データ処理システム、アクセス装置及び記録媒体
JP3976764B2 (ja) 半導体ディスク装置