JP3784844B2 - Semiconductor memory device - Google Patents

Semiconductor memory device Download PDF

Info

Publication number
JP3784844B2
JP3784844B2 JP8401794A JP8401794A JP3784844B2 JP 3784844 B2 JP3784844 B2 JP 3784844B2 JP 8401794 A JP8401794 A JP 8401794A JP 8401794 A JP8401794 A JP 8401794A JP 3784844 B2 JP3784844 B2 JP 3784844B2
Authority
JP
Japan
Prior art keywords
unit
data
storage unit
memory
memory device
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
Application number
JP8401794A
Other languages
Japanese (ja)
Other versions
JPH07271645A (en
Inventor
雄策 海野
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP8401794A priority Critical patent/JP3784844B2/en
Publication of JPH07271645A publication Critical patent/JPH07271645A/en
Application granted granted Critical
Publication of JP3784844B2 publication Critical patent/JP3784844B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、フラッシュメモリを用いた半導体記憶装置に関し、特にそのデータ書き込み時や消去時の制御に関するものである。
【0002】
【従来の技術】
近年、不揮発性メモリチップとして、フラッシュメモリ、即ちフラッシュEEPROMが実用化されるようになり、このチップを使用した半導体ディスク装置の開発が盛んに行われている。
このフラッシュメモリとは、EEPROM(電気的消去、再書き込み可能リード・オンリ・メモリ)の一種であり、電気的に消去ができ、かつ、バイト毎にプログラム書き込みができ、また電源を必要とせず、メモリの内容が保証できるという長所を持つ。
【0003】
【発明が解決しようとする課題】
しかしながら、上記の長所とは逆に、次のような短所を有している。
即ち、メモリへの書き込みの際に、そのままの状態では上書きができないため、一旦消去してからバイト毎に書き込み(データを書き換える)を行う必要がある。なお、ここで消去する単位は、チップによって異なるが、チップ単位に消去を行うものが主流である。
【0004】
従って、このような特性から以下のような課題を有していた。
▲1▼メモリ階層構造のディレクトリの下位に位置するサブディレクトリの情報が、フラッシュメモリで構成されているメモリ部上にあるため、サブディレクトリ配下のファイル削除、またはファイル内に現データ容量より大きな容量のデータを書き込む場合、メモリ部の書き換えが頻繁に発生することになり、このような場合の性能向上を図ることが望まれていた。
【0005】
▲2▼メモリ部に書き込まれているファイルを削除する場合は、そのファイルのメモリ部上の格納位置を示すためのディレクトリ格納部と、ファイル・アロケーション・テーブル(FAT)格納部だけを制御し、メモリ部の該当領域そのものは消去しないため、この領域に対する書き込み処理が発生した場合、書き込み処理の前に消去処理が必要となり、装置としての性能が落ちてしまう。従って、このような書き込み時でも性能を向上することができる半導体記憶装置が望まれていた。
【0006】
▲3▼半導体記憶装置に対して、論理フォーマットを実施する場合、メモリ部上にある特定データパターンを書き込んでしまうため、それ以降本装置に対する書き込み処理が発生した場合、書き込み処理の前に消去処理が必須となり、装置としての性能が落ちてしまう。従って、このような論理フォーマットを実施した後に、書き込み処理が発生した場合でも性能が低下することのない半導体記憶装置が望まれていた。
【0007】
▲4▼メモリ部に対して上書きを行う場合、該当するデータが書き込まれている領域そのものに対して実施する(上書きを行う)ため、装置としての性能が落ちてしまう。従って、このような上書きを行う場合でも性能が低下することのない半導体記憶装置が望まれていた。
【0008】
【課題を解決するための手段】
フラッシュメモリで構成されたメモリ部と、前記メモリ部に格納されたデータが有効か無効かを示すバリッド情報と、当該データに対応したポインタとを有するディレクトリ格納部と、
前記ディレクトリ格納部のポインタに対応した前記メモリ部のデータアドレスを示すファイル・アロケーション・テーブル格納部と、前記メモリ部の任意のデータに対して消去要求を受け付けた場合、前記ディレクトリ格納部における前記データに対応したバリッド情報を無効とすると共に、前記ファイル・アロケーション・テーブル格納部における前記データのポインタをリセット状態のアドレスに書き換え、かつ、前記メモリ部の前記データを消去するメモリ消去制御部とを備えたことを特徴とする半導体記憶装置。
【0013】
【作用】
発明の半導体記憶装置においては、メモリ部の任意のデータに対して消去要求を受けた場合は、ディレクトリ格納部の該当するデータのバリッド情報を無効とし、また、ファイル・アロケーション・テーブル格納部の該当するデータのポインタをリセット状態のアドレスに書き換える。そして、メモリ部の消去要求を受けたデータを消去する。
【0014】
発明の半導体記憶装置においては、消去位置格納部に、メモリ部の消去すべきデータの位置情報を格納し、メモリ消去制御部は、消去位置格納部に格納されたデータの個数が、予め設定したしきい値を越えた場合は、該当するメモリ部のデータを消去する。
【0018】
【実施例】
以下、本発明の実施例を図面を用いて詳細に説明する。
図1は本発明の実施例1による半導体記憶装置を示すブロック図であるが、この説明に先立ち、半導体記憶装置の比較例を説明する。
【0019】
《比較例の半導体記憶装置の構成》
図2は、半導体記憶装置の比較例の構成を示すブロック図である。
図において、1は半導体記憶装置(不揮発性半導体ディスク装置)、2はこの半導体記憶装置1を接続するホストコンピュータ(図示省略)のシステムバスである。
半導体記憶装置1は、ホストインタフェース部3、プロセッサ部4、プロセッサメモリ部5、フラッシュメモリ部6、バッファ部7、ファイル・アロケーション・テーブル(File Allocation TAble )格納部(以下、FAT格納部という)8、ディレクトリ格納部9、内部バス10から構成されている。
【0020】
ホストインタフェース部3は、半導体記憶装置1の上位装置であるホストとのインタフェース制御を行う部分であり、プロセッサ部4は、ホストからのコマンドを解釈し、半導体記憶装置1をディスク装置に見せるような制御等を行う部分である。
また、プロセッサメモリ部5は、プロセッサ部4が実行するプログラムが格納されているメモリである。
メモリ部6は、半導体記憶装置1の記憶媒体であり、フラッシュメモリ(FEEPROM)で構成され、消去単位にブロック分割されている。
【0021】
バッファ部7は、バイトアクセス可能な揮発性メモリで構成され、その機能としてメモリ部6に対してデータの上書きを行う際、メモリ部6を消去する前にその内容を一旦退避させておくためのものである。
また、FAT格納部8、ディレクトリ格納部9は、メモリ部6におけるデータやサブディレクトリ情報の格納位置を示すための機能を有し、バイト単位に上書きが可能なEEPROM等の不揮発性メモリチップで構成されている。
尚、内部バス10は、半導体記憶装置1内の構成要素を接続するためのバスである。
【0022】
図3は、FAT格納部8、ディレクトリ格納部9、メモリ部6の詳細を示す説明図である。
図4は、図3に示したサブディレクトリの詳細を示す説明図である。
これらの図に示すように、メモリ部6内のデータ、またはサブディレクトリの格納位置は、FAT格納部8とディレクトリ部9で制御される。
【0023】
ディレクトリ部9において、91は後述する92〜94の情報が有効であるか否かを示すバリッド情報部であり、1=有効、0=無効である。
92は、メモリ部6に格納する、あるいは現在格納されている情報がデータかサブディレクトリかを示す格納情報識別部であり、0=データ、1=サブディレクトリとなっている。
93は、メモリ部6に格納する情報の名前を格納するファイル名識別部、94は、FAT格納部8へのポインタを示す。
【0024】
FAT格納部8における81は、メモリ部6へのポインタを示している。
また、ポインタ81に対応するメモリ部6は消去単位に分割されており、分割単位をクラスタと呼ぶ。尚、メモリ部6における61は、格納されている情報内容を示している。
【0025】
次に、このような構成の半導体記憶装置1におけるデータ書き込みを説明する。
ここで、ファイル2のデータ書き込み(データ容量は2クラスタ)の例を説明する。この場合、ホストは、先ず、ディレクトリ部9のファイル名識別部93を調べ、ファイル2が格納されているか否かをチェックする。ここでは、ファイル2が存在するため、次に、このファイル名に対応するバリッド情報部91と格納情報識別部92を調べ、本情報が有効データであることを確かめる。
【0026】
次に、ポインタ94を調べ、本有効データのFAT格納部8上の位置(この場合は、004H)を確かめる。そして、FAT格納部8上のポインタ81の情報を元にリンクしていく。この場合、リンク情報は、004H→005Hであるので、FAT格納部8のポインタ81に該当するメモリ部6には、ファイル2−(1) 、ファイル2−(2) が格納されていることが分かる。
また、ポインタ81の情報において、“000H”はメモリ部6上の該当領域の情報が意味を持たないこと(=リセット状態のアドレス)を示し、“FFFH”はFAT格納部8内のリンクが終了していることを示す情報である。
【0027】
次にホストが、例えば、上記のファイル2−(1) 、ファイル2−(2) の領域にデータを書き込む場合を説明する。
この場合、半導体記憶装置1は、一旦、データをバッファ部7に退避させておき、次にバッファ部7上でホストから送られてきたデータを書き換え、同時にメモリ部6上の該当領域(この場合は、ファイル2−(1) 、ファイル2−(2) が格納されている領域)を消去し、バッファ部7上のデータをメモリ部6上の該当領域に格納する。
【0028】
次に、サブディレクトリ1配下のファイル4のデータ書き込み(データ容量は1クラスタ分)の場合を説明する。
この場合、ホストは、先ずディレクトリ部のファイル名識別部93を調べ、サブディレクトリ1が格納されているか否かをチェックする。この場合、サブディレクトリ1が存在しているので、次に、バリッド情報部91と、格納情報識別部92を調べ、本情報が有効サブディレクトリであることを確かめる。
次に、ポインタ94を調べ、本有効サブディレクトリのFAT格納部8上の位置(この場合006H)を確かめる。次に、FAT格納部8上のポインタ81の情報を元にリンクしていく。この場合、リンク情報は、006HのみなのでFAT格納部8に該当するメモリ部6上にサブディレクトリ1が格納されていることが分かる。
【0029】
次に、サブディレクトリ1内の情報(尚、フォーマットはディレクトリ格納部9と同等になっている)を元に、上記のディレクトリ情報を元にファイル格納領域を検出した要領で、このサブディレクトリからファイル4の格納領域を検出する。
この場合、ファイル4は存在しないため、サブディレクトリ内のバリッド情報部91aに“1”、格納情報識別部92aに“0”、ファイル名識別部93aに“ファイル4”、ポインタ94aに“00AH”を書き込む。
そして、FAT格納部8内の、メモリ部6への該当ポインタ81(この場合は00AH)に“FFFH”を書き込み、最後に、前記領域にデータを書き込む。
【0030】
次にファイルの削除処理の説明を行う。
図5および図6は、そのファイル削除処理の説明図およびサブディレクトリの詳細説明図である。
ファイル1を削除する場合、ホストは先ずディレクトリ格納部9のファイル名識別部93を調べ、ファイル1が格納されているか否かをチェックする。この場合、格納されているので、バリッド情報部91と格納情報識別部92を調べ、本情報が有効ファイルであることを確かめ、該当する有効/無効を示すバリッド情報部91のデータを無効にする(“1”→“0”)。
【0031】
次に、ポインタ94を調べ、本ファイルのFAT格納部8上の位置(この場合、002H)を確かめる。そして、FAT格納部8上のポインタ81の情報を元にリンクしていく。この場合、リンク情報は、002H→003H→008Hなので、そのリンク情報を000Hに書き換える(メモリ部6のデータは消去しない)。
【0032】
次に、本装置への論理フォーマットの場合を説明する。
図7は、論理フォーマットの場合の説明図である。
ホストが、半導体記憶装置1に対して論理フォーマットを指示する場合、ホストは、ディレクトリ格納部9、FAT格納部8の全情報のリセット(000H)指示、次にメモリ部6の全領域に、ある特定データパターンを書き込む指示を与える。
半導体記憶装置1は、この指示を受けて、ディレクトリ格納部9のポインタを全て“000H”とし、かつ、FAT格納部8のポインタ81も全て“000H”とする。そして、メモリ部6は、ある特定のデータパターンを書き込む。
尚、図7におけるサブディレクトリの詳細は、図6と同様であるため、その図示は省略する。
【0033】
次に、このような比較例に対する本発明の実施例を説明する。
《実施例1》
図1は、上述したように、本発明の半導体記憶装置における実施例1を示すものである。
図1中、101は半導体記憶装置(不揮発性半導体ディスク装置)、2はこの半導体記憶装置101が図示しないホストと接続されるためのシステムバスである。
【0034】
半導体記憶装置101は、ホストインタフェース部103、プロセッサ部104、プロセッサメモリ部105、メモリ部106、バッファ部107、FAT格納部108、ディレクトリ格納部109、内部バス110、サブディレクトリ格納部111から構成されている。
ここで、ホストインタフェース部103、プロセッサ部104、プロセッサメモリ部105、メモリ部106、バッファ部107、FAT格納部108、ディレクトリ格納部109、内部バス110は、上述した比較例の半導体記憶装置のホストインタフェース部3、プロセッサ部4、プロセッサメモリ部5、フラッシュメモリ部6、バッファ部7、FAT格納部8、ディレクトリ格納部9、内部バス10と同様な機能を有する。
【0035】
また、サブディレクトリ格納部111は、FAT格納部108、ディレクトリ格納部109同様、バイト単位に上書きが可能な不揮発性メモリチップで構成され、ホストからのサブディレクトリへの書き込み要求が与えられた場合、その書き込みデータを格納するための記憶部である。
【0036】
次に、新しいサブディレクトリ(サブディレクトリ2)配下に、新規ファイル(ファイル5、データ容量は1クラスタ分)を書き込む要求がなされた場合の処理を説明する。
図8および図9は、この場合の説明図である。
尚、これら図8、図9において、ディレクトリ格納部109のバリッド情報部91〜ポインタ94、FAT格納部108のポインタ81、メモリ部106の情報内容61およびサブディレクトリ格納部111のバリッド情報部91a〜ポインタ94aは、図3〜図7中の各構成と同様である。また、サブディレクトリ格納部111の95aは、サブディレクトリ格納部111とFAT格納部108のリンクを示すサブディレクトリリンク情報である。
【0037】
ホストは、先ずディレクトリ格納部109のファイル名識別部93を調べ、サブディレクトリ2が存在するか否かをチェックする(この場合、存在しない)。次に、サブディレクトリ名をファイル名識別部93に格納し、FAT格納部108の空き領域を調べる。この場合、00BH以降が空きであるので、ポインタ94に、“00BH”を、また、FAT格納部108における00BHのポインタ81に“FFFH”を書き込む。
【0038】
次に、ホストが、ポインタ81の00BHに対応するメモリ部6の位置にサブディレクトリ情報を格納する場合、本装置はメモリ部6に格納せず、以下のように行う。
即ち、先ず、サブディレクトリ格納部111のバリッド情報部91aに“1”、格納情報識別部92aに“0”、ファイル名識別部93aに“ファイル5”を書き込むと共に、サブディレクトリリンク情報95aに、FAT格納部108とのリンク情報である“00BH”を書き込む。そして、サブディレクトリ格納部111のリンク情報としてのポインタ94aに、対応するFAT格納部108のアドレスを書き込む(この場合、“00CH”)。
次に、ホストは、FAT格納部108に、対応するメモリ部106の情報を書き込み(この場合、ポインタ81の00CHに“FFFH”)、メモリ部6上の該当領域に書き込みデータを格納する(この場合、ファイル5−(1) )。
【0039】
このように、実施例1によれば、サブディレクトリの書き込み要求を受けた場合は、比較例のようにメモリ部106上に情報を書き込まず、サブディレクトリ格納部111に書き込むように構成したので、サブディレクトリ配下のファイル削除や現データ容量より大きな容量のデータ書き込みが発生した場合でも、メモリ部106の書き換えを抑えることができ、従って装置としての性能向上を図ることができる。
【0040】
次に、実施例2を説明する。
《実施例2》
図10は、実施例2による半導体記憶装置の構成を示すブロック図である。
図において、201は半導体記憶装置(不揮発性半導体ディスク装置)、2はこの半導体記憶装置201が図示しないホストと接続されるためのシステムバスである。
【0041】
また、半導体記憶装置201におけるホストインタフェース部203、プロセッサ部204、プロセッサメモリ部205、メモリ部206、バッファ部207、FAT格納部208、ディレクトリ格納部209、内部バス210は、上記実施例1のホストインタフェース部103、プロセッサ部104、プロセッサメモリ部105、メモリ部106、バッファ部107、FAT格納部108、ディレクトリ格納部109、内部バス110と同様に構成されている。
【0042】
更に、プロセッサ部204は、メモリ消去制御部204aを備えている。このメモリ消去制御部204aは、メモリ部の任意のデータに対して消去要求を受け付けた場合、ディレクトリ格納部209におけるそのデータに対応したバリッド情報部91の値を“無効”とすると共に、FAT格納部208におけるデータのポインタをリセット状態のアドレスに書き換え、その後、メモリ部206のデータを消去するよう制御を行う機能を備えている。
【0043】
次に、上記実施例2の半導体記憶装置201の動作について説明する。
図11は、ファイルの削除処理の説明図である。
一例として、ファイル1を削除する場合を説明する。
ホストは、先ず、ディレクトリ格納部209のファイル名識別部93を調べ、ファイル1が格納されているか否かをチェックする。この場合、格納されているので、バリッド情報部91と格納情報識別部92を調べ、本情報が有効ファイルであることを確かめ、該当する有効/無効を示すバリッド情報部91のデータを無効にする(“1”→“0”)。
【0044】
次に、ポインタ94を調べ、本ファイルのFAT格納部208上の位置(この場合、002H)を確かめる。そして、FAT格納部208上のポインタ81の情報を元にリンクしていく。この場合、リンク情報は、002H→003H→008Hなので、FAT格納部208上のデータ部へのリンク情報を000Hに書き換える。
次に、本装置は、FAT格納部208上のリンク情報(002H→003H→008H)に該当するメモリ部206上のデータを消去する。
【0045】
このように、実施例2では、ホストからファイルの削除要求があった場合は、FAT格納部208の対応するポインタを000Hとし、かつ、メモリ部206の対応する領域を消去するようにしたので、例えば、次にメモリ部206の該当領域に対して書き込みを行う場合は、そのまま、書き込み処理を行うことができ、半導体記憶装置としての性能向上を図ることができる。
【0046】
次に、上記実施例2において、定期的にメモリ部のデータを消去するようにした半導体記憶装置を実施例3として説明する。
《実施例3》
図12は、実施例3の半導体記憶装置301の構成を示すブロック図である。図において、ホストインタフェース部303〜ディレクトリ格納部309の構成は、上記実施例2におけるホストインタフェース部203〜ディレクトリ格納部209と同様であるため、ここでの説明は省略する。また、消去位置格納部311は、メモリ部306の消去すべきデータの位置情報を格納するものである。
【0047】
図13に消去位置格納部311の詳細を示す。
消去位置格納部311は、リードポインタ311a、ライトポインタ311b、FATアドレス格納部311cとで構成されている。
リードポインタ311aは、FATアドレス格納部311cからデータをリードするためのポインタ、ライトポインタ311bは、FATアドレス格納部311cにデータをライトするためのライトポインタであり、これらの初期値は“2”である。また、FATアドレス格納部311cは、消去するメモリ部306の領域に該当するFAT格納部308のアドレスを格納する部分であり、その領域は任意の大きさとなっている。
【0048】
次に、上記実施例3の消去処理動作を説明する。
図14は、そのフローチャートである。
このフローチャートはファイルの削除処理に関して、削除する位置を消去位置格納部311に格納し、格納データ数があるしきい値を越した場合にメモリ部306の該当領域を全て消去する処理を示したものである。
【0049】
先ず、ライトポインタ311bをリードし(ステップS1)、削除を行うメモリ部306の領域に該当するFAT格納部308のアドレスをFATアドレス格納部311cに格納する(ステップS2)。
次に、ライトポインタ311bを更新し(ステップS3)、オーバフローした場合は、ライトポインタ311bを初期化する(ステップS4、S5)。更に、ライトポインタ311bとリードポインタ311aとの差を求め(ステップS6)、あるしきい値を越えている場合、即ち、FATアドレス格納部311cに格納されているデータの数があるしきい値を越えている場合は(ステップS7)、次のステップS8に進む。尚、しきい値を越えてない場合は、処理を終了する。
【0050】
上記ステップS7において、あるしきい値を越えている場合は、リードポインタをリードし(ステップS8)、削除を行うメモリ部306の領域に該当するFAT格納部308のアドレスをFATアドレス格納部311cからリードする(ステップS9)。
次に、FATアドレス格納部311cから得られたメモリ部306の該当領域を消去する(ステップS10)。そして、リードポインタ311aを更新し(ステップS11)、オーバフローした場合はリードポインタ311aを初期化する(ステップS12、S13)。
そして、ライトポインタ311bとリードポインタ311aが一致しているか否か、即ち、FATアドレス格納部311cに有効データが格納されているかを調べる(ステップS14)。そして、このステップS14において、一致していない場合(有効データがまだ格納されている)はステップS8に戻り、一致している場合(有効データ無し)は終了する。
【0051】
このように、実施例3の半導体記憶装置301は、上記実施例2の半導体記憶装置201において、該当するメモリ部306上の消去を行う領域の数が、あるしきい値を越えた場合に消去を実行するように構成したので、上記実施例2の効果に加えて、メモリ部306の消去処理が集中して行え、従って、本装置へのアクセスが集中した場合でも、メモリ部306の消去処理による性能低下を最小限に抑えることができる。
【0052】
次に、論理フォーマット要求時にはメモリ部の全領域を消去するようにした半導体記憶装置を実施例4として説明する。
《実施例4》
図15は、実施例4の半導体記憶装置の構成を示すブロック図である。
図において、ホストインタフェース部403〜ディレクトリ格納部409の構成は、上記各実施例におけるホストインタフェース部〜ディレクトリ格納部と同様であるため、ここでの説明は省略する。
また、プロセッサ部404は、フォーマット制御部404aを備えている。このフォーマット制御部404aは、上記装置であるホストから論理フォーマット要求を受けた場合に、メモリ部406に対して特定のパターンの書き込みを行わず、メモリ部406の消去のみを行う機能を有しているものである。
【0053】
次に、上記構成の半導体記憶装置401の動作を説明する。
図16は、論理フォーマット処理の説明図である。
ホストが論理フォーマットを指示すると、本装置は、ディレクトリ格納部409、FAT格納部408の全情報のリセット(000H)指示を受け付けるので、この指示をプロセッサ部404が検出すると、フォーマット制御部404aがフォーマット制御を行う。
即ち、ディレクトリ格納部409のポインタ94を全て“0”とし、FAT格納部408のポインタ81を全て“000H”とする。そして、次にメモリ部406の全領域に、ある特定データパターンの書き込み指示を受け付けた場合、フォーマット制御部404aは、その特定データパターンの書き込みは行わず、メモリ部406の全領域の消去のみを行う。
【0054】
このように、実施例4では、論理フォーマット要求を受けた場合は、メモリ部406の全ての領域に対して特定データパターンの書き込みを行うといった動作は行わず、従って、メモリ部406への書き込み要求を受け付けた場合でも、一旦消去処理を行うといった必要がなく、そのまま、データを書き込むことができる。
従って、このような場合の装置としての性能向上を図ることができる。
【0055】
次に、実施例5を説明する。
《実施例5》
図17は、実施例5の半導体記憶装置の構成を示すブロック図である。
図において、ホストインタフェース部503〜ディレクトリ格納部509の構成は、上記各実施例におけるホストインタフェース部〜ディレクトリ格納部と同様であるため、ここでの説明は省略する。また、プロセッサ部504は、書き込み制御部504aを備えている。この書き込み制御部504aは、メモリ部506の上書き(データ書き換え)を行う必要が生じた場合、メモリ部506のデータ未格納領域にその上書きデータを書き込んで、FAT格納部508およびディレクトリ格納部509のポインタ81、94を新たにデータを書き込んだアドレスに書き換え、その後、既に書き込まれている領域を消去する機能を有しているものである。
【0056】
次に、上記構成の半導体記憶装置501の動作を説明する。
図18は、そのデータ書き込み処理の説明図である。
ここでは、その一例として、ファイル2のデータ書き込み処理(データ容量は2クラスタ分)の説明を行う。
ホストは、先ず、ディレクトリ格納部509のファイル名識別部93を調べ、ファイル2が格納されているか否かをチェックする。この場合、格納されているので、次にバリッド情報部91と格納情報識別部92を調べ、本情報が有効データであることを確かめる。
【0057】
次にポインタ94を調べ、本有効データのFAT格納部508上の位置(この場合004H)を確かめる。そして、FAT格納部508上のポインタ81の情報を元にリンクしていく。この場合、本装置は、リンク情報が004H→005Hであるので、メモリ部506上への上書き処理が必要であると判断できる。そこで本装置は、メモリ部506上において未書き込み領域を検出し、該当する情報をFAT格納部508内のポインタ81に書き込み(この場合は、00BHに“00CH”を、00CHに“FFFH”を書き込む)。
そして、ディレクトリ格納部509の該当するポインタ94を書き換え(この場合、004H→00BH)、該当するメモリ部506にファイル2−(1) 、ファイル2−(2) を書き込み、最後に、FAT格納部508上のリンク情報(004H→005H)に該当するメモリ部506上のデータを消去する。
【0058】
以上のように実施例5によれば、メモリ部506のデータに対して上書き要求を受けた場合は、その上書きデータをメモリ部506のデータ未格納領域に書き込んで、FAT格納部508とディレクトリ格納部509のポインタを書き換え、その後、上書き要求のデータが格納されていた領域を消去するようにしたので、上書き要求の場合も、データの書き込み処理を最初に行えることから、例えばこの時点でホスト側に書き込み終了の応答を行う等の手段をとることにより、データ書き換え時の性能向上を図ることができる。
【0059】
次に、上記実施例5において、定期的にメモリ部のデータを消去するようにした半導体記憶装置を実施例6として説明する。
《実施例6》
図19は、実施例6の半導体記憶装置の構成を示すブロック図である。
図において、ホストインタフェース部603〜ディレクトリ格納部609の構成は、上記各実施例におけるホストインタフェース部〜ディレクトリ格納部と同様であるため、ここでの説明は省略する。また、消去位置格納部611は、メモリ部606の消去すべきデータのアドレスを格納するための格納部であり、これについては後述する。
【0060】
プロセッサ部604は、書き込み制御部604aと消去制御部604bを備えている。この書き込み制御部604aは、メモリ部606に格納されている任意のデータに対して上書き要求を受けた場合、その上書きデータを、メモリ部606のデータ未格納領域に書き込み、FAT格納部608およびディレクトリ格納部609のポインタ81、94を新たにデータを書き込んだアドレスに書き換える機能を備えている。
また、消去管理部604bは、後述する消去位置格納部611に格納されたデータを、メモリ部606へのアクセスが一定時間なかった場合に消去する機能を備え、これについては後に詳述する。
【0061】
図20に消去位置格納部611の詳細を示す。
消去位置格納部611は、空きフラグ611a、リードポインタ611b、ライトポインタ611c、FATアドレス格納部611dで構成されている。
空きフラグ611aは、FATアドレス格納部611dに有効データが格納されているか否かを示すものであり、セット状態=FATアドレス格納部611dに有効データ無し、リセット状態=FATアドレス格納部611dに有効データ有りを示す。また、初期値は“セット状態”である。
リードポインタ611bは、FATアドレス格納部611dからデータをリードするためのリードポインタであり、初期値は“3”である。また、ライトポインタ611cは、FATアドレス格納部611dにデータをライトするためのライトポインタであり、初期値は“3”である。
また、FATアドレス格納部611dは、消去するメモリ部606の領域に該当するFAT格納部608のアドレスを格納する部分であり、その領域は任意の大きさになっている。
【0062】
次に、上記構成の半導体記憶装置601の動作を説明する。
図21は、その動作フローチャートである。
このフローチャートは、メモリ部606上の書き換えを行う際に、書き込み済み領域の削除処理に関して、削除する位置を消去位置格納部611に格納する処理{図の(a)}、および、定期的に消去位置格納部611に格納されているデータに従ってメモリ部606の該当領域を消去する処理{図の(b)}を示したものである。
【0063】
尚、ここで“定期的”とは、本装置がホストから任意のコマンドを受付後、ある一定時間後に発生するものである。またコマンド受付後、ある一定時間以内に別のコマンドを受け付けた場合は、新しいコマンドの受付からある一定時間後に発生するものである。即ち、メモリ部606へのアクセスが一定時間なかった場合にメモリ部606の該当領域を消去するようにしている。
【0064】
最初に、削除する位置を消去位置格納部611に格納する処理{図の(a)}について説明する。
先ず、空きフラグ611aをリセットして(ステップS11)、ライトポインタ611cをリードし(ステップS12)、削除を行うメモリ部606の領域に該当するFAT格納部608のアドレスをFATアドレス格納部611dに格納する(ステップS13)。次に、ライトポインタ611cを更新し(ステップS14)、オーバフローした場合は、ライトポインタ611cを初期化する(ステップS15、S16)。
【0065】
次に、定期的に、消去位置格納部611に格納されているデータに従ってメモリ部606の該当領域を消去する処理{図の(b)}について説明する。
先ず、空きフラグ611aがセット状態であるか否かを調べる(ステップS21)。即ち、FATアドレス格納部611dに有効データが格納されているか否かを調べる。
このステップS21において、セット状態の場合(有効データ無し)は終了し、リセット状態の場合(有効データ有り)は、リードポインタ611bをリードし(ステップS22)、削除を行うメモリ部606の領域に該当するFAT格納部68のアドレスをFATアドレス格納部611dからリードする(ステップS23)。
【0066】
次に、FATアドレス格納部611dのアドレスから得られる該当メモリ部606の領域を消去する(ステップS24)。その後、リードポインタ611bを更新し(ステップS25)、オーバフローした場合は、リードポインタ611bを初期化する(ステップS26、S27)。
次に、ライトポインタ611cとリードポインタ611bが一致しているか否かを調べ(即ち、FATアドレス格納部611dにまだ有効データが格納されているか否かを調べ)(ステップS28)、一致していない場合(有効データがまだ格納されている場合)は終了する。一方、一致している場合(有効データは格納されていない場合)は空きフラグ611aをリセットし(ステップS29)、処理を終了する。
【0067】
以上のように実施例6によれば、上記実施例5と同様に、メモリ部606のデータに対して上書き要求を受けた場合は、その上書きデータをメモリ部606のデータ未格納領域に書き込んで、FAT格納部608とディレクトリ格納部609のポインタを書き換えると共に、メモリ部606に対して一定時間アクセスがない場合に、メモリ部606の該当領域の消去を行うようにしたので、実施例5と同様の効果を奏すると共に、メモリ部606の消去処理を、他の処理を行っていない場合に行うため、本装置へのデータ書き換え要求が集中した場合でも、処理が速やかに行え、このような場合の性能向上を図ることができる。
【0068】
尚、上記実施例6では、定期的にメモリ部606の該当領域を消去する構成として、メモリ部606に一定時間アクセスがなかった場合に消去を行うよう構成したが、これ以外にも、消去処理の実行を一定周期に設定すると共に、処理の待ち行列を設け、消去処理のタイミングで他の処理を行っていた場合は、消去処理を待ち行列に加え、この待ち行列に従って、消去処理を含む各処理を行うよう構成してもよい。
【0069】
また、上記実施例6においても、実施例3と同様に、FATアドレス格納部611dに格納されたデータの個数があるしきい値を越えた場合に消去処理を行うよう構成してもよい。
更に、これとは逆に、実施例3においても、実施例6と同様に、メモリ部306の該当領域の消去処理を、メモリ部306に一定時間アクセスがなかった場合に実行するよう構成してもよい。
【0070】
【発明の効果】
以上詳細に説明したように、第1発明の半導体記憶装置によれば、サブディレクトリへの書き込み要求を受けた場合は、メモリ部上に情報を書き込まずに、サブディレクトリ格納部に格納するようにしたので、メモリ部上のサブディレクトリへのライトアクセスが不要となり、このような場合の性能向上を図ることができる。
【0071】
第2発明の半導体記憶装置によれば、ファイル削除要求時、ディレクトリ格納部とファイル・アロケーション・テーブル格納部を制御した後、メモリ部の該当領域を消去するように構成したので、新たにメモリ部上の該当領域に対して書き込みを行う際、消去処理が不要となり、装置としての性能向上を図ることができる。
また、第3発明の半導体記憶装置によれば、第2発明の半導体記憶装置において、メモリ部上の消去すべき領域を、その個数があるしきい値を越えた場合に行うよう構成したので、第2発明の効果に加えて、消去処理が集中して行えるため、本装置へのアクセスが集中した場合でも、メモリ部の消去処理による性能低下を最小限に抑えることができる。
【0072】
第4発明の半導体記憶装置によれば、論理フォーマット要求を受けた場合は、メモリ部上の全領域を消去するように構成したので、新たにメモリ部にデータを書き込む際の、消去処理が不要となり、装置としての性能向上を図ることができる。
【0073】
第5発明の半導体記憶装置によれば、メモリ部上の領域の上書きを行う場合、その上書きデータをメモリ部の未書き込み領域に書き込み、その後、上書き要求された領域の消去を行うように構成したので、上書き要求の場合も、データの書き込み処理を最初に行えることから、このような場合の性能向上を図ることができる。
また、第6発明の半導体記憶装置によれば、第5発明の半導体記憶装置において、メモリ部上の該当領域の消去を、メモリ部に一定時間アクセスがなかった場合に行うよう構成したので、本装置へのデータ書き換え要求が集中した場合でも、処理が速やかに行え、このような場合の性能向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の半導体記憶装置の実施例1のブロック図である。
【図2】半導体記憶装置の比較例のブロック図である。
【図3】比較例の半導体記憶装置における各部の詳細説明図である。
【図4】図3におけるサブディレクトリの詳細説明図である。
【図5】比較例の半導体記憶装置におけるファイル消去処理の説明図である。
【図6】図5におけるサブディレクトリの詳細説明図である。
【図7】比較例の半導体記憶装置における論理フォーマット処理の説明図である。
【図8】本発明の半導体記憶装置の実施例1の動作説明図である。
【図9】本発明の半導体記憶装置の実施例1におけるサブディレクトリ格納部の詳細説明図である。
【図10】本発明の半導体記憶装置の実施例2の構成を示すブロック図である。
【図11】本発明の半導体記憶装置の実施例2におけるファイル消去処理の説明図である。
【図12】本発明の半導体記憶装置の実施例3の構成を示すブロック図である。
【図13】本発明の半導体記憶装置の実施例3における消去位置格納部の詳細説明図である。
【図14】本発明の半導体記憶装置の実施例3における消去処理のフローチャートである。
【図15】本発明の半導体記憶装置の実施例4の構成を示すブロック図である。
【図16】本発明の半導体記憶装置の実施例4における論理フォーマット処理の説明図である。
【図17】本発明の半導体記憶装置の実施例5の構成を示すブロック図である。
【図18】本発明の半導体記憶装置の実施例5におけるデータ書き込み処理の説明図である。
【図19】本発明の半導体記憶装置の実施例6の構成を示すブロック図である。
【図20】本発明の半導体記憶装置の実施例6における消去位置格納部の詳細説明図である。
【図21】本発明の半導体記憶装置の実施例6の動作フローチャートである。
【符号の説明】
101、201、301、401、501、601 半導体記憶装置
106、206、306、406、506、606 メモリ部
108、208、308、408、508、608 ファイル・アロケーション・テーブル(FAT)格納部
109、209、309、409、509、609 ディレクトリ格納部
111 サブディレクトリ格納部
204a、304a メモリ消去制御部
311、611 消去位置格納部
404a フォーマット制御部
504a、604a 書き込み制御部
604b 消去管理部
[0001]
[Industrial application fields]
The present invention relates to a semiconductor memory device using a flash memory, and more particularly to control during data writing or erasing.
[0002]
[Prior art]
In recent years, a flash memory, that is, a flash EEPROM has come into practical use as a nonvolatile memory chip, and a semiconductor disk device using the chip has been actively developed.
This flash memory is a kind of EEPROM (electrically erasable, rewritable read-only memory), which can be electrically erased, can be programmed for each byte, and does not require a power supply. It has the advantage that the contents of memory can be guaranteed.
[0003]
[Problems to be solved by the invention]
However, contrary to the above advantages, it has the following disadvantages.
That is, when writing to the memory, overwriting cannot be performed as it is, so it is necessary to erase (write data) every byte after erasing. Here, the unit to be erased differs depending on the chip, but the mainstream is to perform the erase in chip units.
[0004]
Therefore, it has the following problems due to such characteristics.
(1) Since the information of the sub-directory located under the directory of the memory hierarchical structure is on the memory part configured by the flash memory, the file under the sub-directory is deleted or the capacity larger than the current data capacity in the file When writing this data, rewriting of the memory part frequently occurs, and it has been desired to improve the performance in such a case.
[0005]
(2) When deleting a file written in the memory unit, only the directory storage unit for indicating the storage position of the file on the memory unit and the file allocation table (FAT) storage unit are controlled. Since the relevant area itself of the memory section is not erased, if a writing process occurs in this area, the erasing process is required before the writing process, and the performance of the apparatus is degraded. Therefore, a semiconductor memory device that can improve performance even during such writing has been desired.
[0006]
(3) When a logical format is performed on a semiconductor memory device, a specific data pattern on the memory unit is written, so if a writing process to this device occurs thereafter, an erasing process is performed before the writing process. Is indispensable, and the performance as a device is reduced. Therefore, there has been a demand for a semiconductor memory device that does not deteriorate in performance even when a write process occurs after such a logical format is implemented.
[0007]
{Circle around (4)} When overwriting is performed on the memory unit, the performance as a device is deteriorated because it is performed on the area where the corresponding data is written (overwriting). Therefore, there has been a demand for a semiconductor memory device that does not deteriorate in performance even when such overwriting is performed.
[0008]
[Means for Solving the Problems]
A directory storage unit including a memory unit configured by a flash memory, valid information indicating whether data stored in the memory unit is valid or invalid, and a pointer corresponding to the data;
When a file allocation table storage unit indicating a data address of the memory unit corresponding to the pointer of the directory storage unit and an erasure request for arbitrary data in the memory unit are received, the data in the directory storage unit A memory erasure control unit that invalidates the valid information corresponding to the file, rewrites the data pointer in the file allocation table storage unit to an address in a reset state, and erases the data in the memory unit. A semiconductor memory device.
[0013]
[Action]
  BookIn the semiconductor memory device of the invention, when an erasure request is received for any data in the memory unit, the valid information of the corresponding data in the directory storage unit is invalidated, and the corresponding data in the file allocation table storage unit Rewrite the data pointer to the reset address. Then, the data for which the memory unit erase request has been received is erased.
[0014]
  BookIn the semiconductor memory device of the invention, the erase position storage unit stores the position information of the data to be erased in the memory unit, and the memory erase control unit sets the number of data stored in the erase position storage unit in advance. When the threshold value is exceeded, the data in the corresponding memory section is erased.
[0018]
【Example】
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing a semiconductor memory device according to Embodiment 1 of the present invention. Prior to this description, a comparative example of the semiconductor memory device will be described.
[0019]
<< Configuration of Semiconductor Memory Device of Comparative Example >>
FIG. 2 is a block diagram showing a configuration of a comparative example of the semiconductor memory device.
In the figure, reference numeral 1 denotes a semiconductor memory device (nonvolatile semiconductor disk device), and 2 denotes a system bus of a host computer (not shown) to which the semiconductor memory device 1 is connected.
The semiconductor memory device 1 includes a host interface unit 3, a processor unit 4, a processor memory unit 5, a flash memory unit 6, a buffer unit 7, a file allocation table (File Allocation TAble) storage unit (hereinafter referred to as a FAT storage unit) 8 , A directory storage unit 9 and an internal bus 10.
[0020]
The host interface unit 3 is a part that performs interface control with a host that is a host device of the semiconductor memory device 1, and the processor unit 4 interprets a command from the host and makes the semiconductor memory device 1 appear to the disk device. This is the part that performs control and the like.
The processor memory unit 5 is a memory in which a program executed by the processor unit 4 is stored.
The memory unit 6 is a storage medium of the semiconductor storage device 1, is configured by a flash memory (FEEPROM), and is divided into blocks in units of erase.
[0021]
The buffer unit 7 is constituted by a byte-accessible volatile memory, and when the data is overwritten on the memory unit 6 as a function, the buffer unit 7 temporarily saves the contents before erasing the memory unit 6. Is.
The FAT storage unit 8 and the directory storage unit 9 have a function for indicating the storage location of data and subdirectory information in the memory unit 6 and are configured by a nonvolatile memory chip such as an EEPROM that can be overwritten in byte units. Has been.
The internal bus 10 is a bus for connecting components in the semiconductor memory device 1.
[0022]
FIG. 3 is an explanatory diagram showing details of the FAT storage unit 8, the directory storage unit 9, and the memory unit 6.
FIG. 4 is an explanatory diagram showing details of the subdirectory shown in FIG.
As shown in these drawings, the storage position of the data in the memory unit 6 or the subdirectory is controlled by the FAT storage unit 8 and the directory unit 9.
[0023]
In the directory part 9, reference numeral 91 denotes a valid information part indicating whether information 92 to 94 described later is valid, where 1 = valid and 0 = invalid.
Reference numeral 92 denotes a storage information identification unit indicating whether the information stored in the memory unit 6 or the currently stored information is data or a subdirectory, where 0 = data, 1 = subdirectory.
Reference numeral 93 denotes a file name identification unit for storing the name of information stored in the memory unit 6, and 94 denotes a pointer to the FAT storage unit 8.
[0024]
Reference numeral 81 in the FAT storage unit 8 indicates a pointer to the memory unit 6.
The memory unit 6 corresponding to the pointer 81 is divided into erase units, and the division unit is called a cluster. Note that 61 in the memory unit 6 indicates the stored information content.
[0025]
Next, data writing in the semiconductor memory device 1 having such a configuration will be described.
Here, an example of file 2 data writing (data capacity is 2 clusters) will be described. In this case, the host first checks the file name identification unit 93 of the directory unit 9 to check whether the file 2 is stored. Here, since the file 2 exists, next, the valid information part 91 and the stored information identification part 92 corresponding to this file name are checked, and it is confirmed that this information is valid data.
[0026]
Next, the pointer 94 is checked to confirm the position of the valid data on the FAT storage unit 8 (in this case, 004H). Then, linking is performed based on the information of the pointer 81 on the FAT storage unit 8. In this case, since the link information is 004H → 005H, the file 2- (1) and the file 2- (2) are stored in the memory unit 6 corresponding to the pointer 81 of the FAT storage unit 8. I understand.
In the information of the pointer 81, “000H” indicates that the information of the corresponding area on the memory unit 6 has no meaning (= reset state address), and “FFFH” indicates that the link in the FAT storage unit 8 is terminated. This is information indicating that the
[0027]
Next, a case where the host writes data in the areas of the file 2- (1) and the file 2- (2), for example, will be described.
In this case, the semiconductor memory device 1 temporarily saves the data in the buffer unit 7, then rewrites the data sent from the host on the buffer unit 7, and at the same time, the corresponding area on the memory unit 6 (in this case) Delete the file 2- (1) and the file 2- (2)), and store the data on the buffer unit 7 in the corresponding region on the memory unit 6.
[0028]
Next, the case of writing data in the file 4 under the subdirectory 1 (data capacity is for one cluster) will be described.
In this case, the host first checks the file name identification unit 93 in the directory part to check whether the subdirectory 1 is stored. In this case, since the subdirectory 1 exists, the valid information section 91 and the stored information identification section 92 are checked next to confirm that this information is a valid subdirectory.
Next, the pointer 94 is checked to confirm the position (in this case, 006H) of the valid subdirectory on the FAT storage unit 8. Next, linking is performed based on the information of the pointer 81 on the FAT storage unit 8. In this case, since the link information is only 006H, it can be seen that the subdirectory 1 is stored in the memory unit 6 corresponding to the FAT storage unit 8.
[0029]
Next, based on the information in the subdirectory 1 (the format is the same as that of the directory storage unit 9), the file storage area is detected based on the above directory information, and the file from this subdirectory is detected. 4 storage areas are detected.
In this case, since the file 4 does not exist, “1” is stored in the valid information section 91a in the subdirectory, “0” is stored in the storage information identifying section 92a, “file 4” is stored in the file name identifying section 93a, and “00AH” is stored in the pointer 94a. Write.
Then, “FFFH” is written in the corresponding pointer 81 (00AH in this case) to the memory unit 6 in the FAT storage unit 8, and finally data is written in the area.
[0030]
Next, the file deletion process will be described.
5 and 6 are explanatory diagrams of the file deletion processing and detailed explanatory diagrams of subdirectories.
When deleting the file 1, the host first checks the file name identification unit 93 of the directory storage unit 9 to check whether the file 1 is stored. In this case, since it is stored, the valid information unit 91 and the stored information identification unit 92 are checked to confirm that this information is a valid file, and the data of the valid information unit 91 indicating the corresponding valid / invalid is invalidated. ("1" → "0").
[0031]
Next, the pointer 94 is checked to confirm the position of the file on the FAT storage unit 8 (in this case, 002H). Then, linking is performed based on the information of the pointer 81 on the FAT storage unit 8. In this case, since the link information is 002H → 003H → 008H, the link information is rewritten to 000H (data in the memory unit 6 is not erased).
[0032]
Next, the case of the logical format for this apparatus will be described.
FIG. 7 is an explanatory diagram for the logical format.
When the host instructs the logical format to the semiconductor memory device 1, the host is instructed to reset all information in the directory storage unit 9 and the FAT storage unit 8 (000H), and then in all areas of the memory unit 6. Gives an instruction to write a specific data pattern.
In response to this instruction, the semiconductor memory device 1 sets all the pointers in the directory storage unit 9 to “000H” and sets all the pointers 81 in the FAT storage unit 8 to “000H”. Then, the memory unit 6 writes a specific data pattern.
The details of the subdirectory in FIG. 7 are the same as those in FIG.
[0033]
Next, examples of the present invention for such comparative examples will be described.
Example 1
FIG. 1 shows Example 1 in the semiconductor memory device of the present invention as described above.
In FIG. 1, 101 is a semiconductor memory device (nonvolatile semiconductor disk device), and 2 is a system bus for connecting the semiconductor memory device 101 to a host (not shown).
[0034]
The semiconductor memory device 101 includes a host interface unit 103, a processor unit 104, a processor memory unit 105, a memory unit 106, a buffer unit 107, a FAT storage unit 108, a directory storage unit 109, an internal bus 110, and a subdirectory storage unit 111. ing.
Here, the host interface unit 103, the processor unit 104, the processor memory unit 105, the memory unit 106, the buffer unit 107, the FAT storage unit 108, the directory storage unit 109, and the internal bus 110 are the host of the semiconductor memory device of the comparative example described above. The interface unit 3, the processor unit 4, the processor memory unit 5, the flash memory unit 6, the buffer unit 7, the FAT storage unit 8, the directory storage unit 9, and the internal bus 10 have the same functions.
[0035]
Similarly to the FAT storage unit 108 and the directory storage unit 109, the subdirectory storage unit 111 is configured by a non-volatile memory chip that can be overwritten in units of bytes, and when a write request to the subdirectory from the host is given, This is a storage unit for storing the write data.
[0036]
Next, processing when a request for writing a new file (file 5, data capacity for one cluster) is made under a new subdirectory (subdirectory 2) will be described.
8 and 9 are explanatory diagrams in this case.
8 and 9, the valid information section 91 to the pointer 94 of the directory storage section 109, the pointer 81 of the FAT storage section 108, the information content 61 of the memory section 106, and the valid information section 91 a to the subdirectory storage section 111. The pointer 94a is the same as each component in FIGS. Further, 95a of the subdirectory storage unit 111 is subdirectory link information indicating a link between the subdirectory storage unit 111 and the FAT storage unit.
[0037]
First, the host checks the file name identification unit 93 of the directory storage unit 109 to check whether or not the subdirectory 2 exists (in this case, it does not exist). Next, the subdirectory name is stored in the file name identification unit 93 and the free space in the FAT storage unit 108 is checked. In this case, since 00BH is empty, “00BH” is written in the pointer 94 and “FFFH” is written in the 00BH pointer 81 in the FAT storage unit 108.
[0038]
Next, when the host stores the sub-directory information at the position of the memory unit 6 corresponding to 00BH of the pointer 81, the present apparatus does not store the sub-directory information in the memory unit 6 but performs as follows.
That is, first, “1” is written in the valid information portion 91a of the subdirectory storage portion 111, “0” is written in the storage information identification portion 92a, “file 5” is written in the file name identification portion 93a, and the subdirectory link information 95a is also written. Write “00BH”, which is link information with the FAT storage unit 108. Then, the address of the corresponding FAT storage unit 108 is written into the pointer 94a as the link information of the subdirectory storage unit 111 (in this case, “00CH”).
Next, the host writes the information of the corresponding memory unit 106 in the FAT storage unit 108 (in this case, “FFFF” in 00CH of the pointer 81), and stores the write data in the corresponding area on the memory unit 6 (this File 5- (1)).
[0039]
As described above, according to the first embodiment, when the subdirectory write request is received, the information is not written on the memory unit 106 as in the comparative example, but the subdirectory storage unit 111 is written. Even when a file under a subdirectory is deleted or a data write having a capacity larger than the current data capacity occurs, rewriting of the memory unit 106 can be suppressed, and thus the performance of the apparatus can be improved.
[0040]
Next, Example 2 will be described.
Example 2
FIG. 10 is a block diagram illustrating the configuration of the semiconductor memory device according to the second embodiment.
In the figure, 201 is a semiconductor memory device (nonvolatile semiconductor disk device), and 2 is a system bus for connecting the semiconductor memory device 201 to a host (not shown).
[0041]
In addition, the host interface unit 203, the processor unit 204, the processor memory unit 205, the memory unit 206, the buffer unit 207, the FAT storage unit 208, the directory storage unit 209, and the internal bus 210 in the semiconductor memory device 201 are the same as the host in the first embodiment. The interface unit 103, the processor unit 104, the processor memory unit 105, the memory unit 106, the buffer unit 107, the FAT storage unit 108, the directory storage unit 109, and the internal bus 110 are configured.
[0042]
Further, the processor unit 204 includes a memory erasure control unit 204a. When this memory erasure control unit 204a receives an erasure request for arbitrary data in the memory unit, the value of the valid information unit 91 corresponding to the data in the directory storage unit 209 is set to “invalid” and stored in the FAT. A data pointer in the unit 208 is rewritten to an address in a reset state, and thereafter, a function of performing control to erase data in the memory unit 206 is provided.
[0043]
Next, the operation of the semiconductor memory device 201 of the second embodiment will be described.
FIG. 11 is an explanatory diagram of file deletion processing.
As an example, a case where the file 1 is deleted will be described.
First, the host checks the file name identification unit 93 of the directory storage unit 209 to check whether or not the file 1 is stored. In this case, since it is stored, the valid information unit 91 and the stored information identification unit 92 are checked to confirm that this information is a valid file, and the data of the valid information unit 91 indicating the corresponding valid / invalid is invalidated. ("1" → "0").
[0044]
Next, the pointer 94 is checked to confirm the position of the file on the FAT storage unit 208 (in this case, 002H). Then, linking is performed based on the information of the pointer 81 on the FAT storage unit 208. In this case, since the link information is 002H → 003H → 008H, the link information to the data part on the FAT storage unit 208 is rewritten to 000H.
Next, this apparatus erases the data on the memory unit 206 corresponding to the link information (002H → 003H → 008H) on the FAT storage unit 208.
[0045]
As described above, in the second embodiment, when there is a file deletion request from the host, the corresponding pointer in the FAT storage unit 208 is set to 000H, and the corresponding area in the memory unit 206 is erased. For example, when writing to the corresponding area of the memory unit 206 next time, the writing process can be performed as it is, and the performance of the semiconductor memory device can be improved.
[0046]
Next, a semiconductor memory device in which data in the memory section is periodically erased in the second embodiment will be described as a third embodiment.
Example 3
FIG. 12 is a block diagram illustrating the configuration of the semiconductor memory device 301 according to the third embodiment. In the figure, the configurations of the host interface unit 303 to the directory storage unit 309 are the same as those of the host interface unit 203 to the directory storage unit 209 in the second embodiment, and a description thereof will be omitted here. The erasure position storage unit 311 stores position information of data to be erased from the memory unit 306.
[0047]
FIG. 13 shows details of the erase position storage unit 311.
The erase position storage unit 311 includes a read pointer 311a, a write pointer 311b, and a FAT address storage unit 311c.
The read pointer 311a is a pointer for reading data from the FAT address storage unit 311c, and the write pointer 311b is a write pointer for writing data to the FAT address storage unit 311c. The initial value thereof is “2”. is there. The FAT address storage unit 311c is a part that stores the address of the FAT storage unit 308 corresponding to the area of the memory unit 306 to be erased, and the area has an arbitrary size.
[0048]
Next, the erase processing operation of the third embodiment will be described.
FIG. 14 is a flowchart thereof.
This flowchart shows a process for deleting a file, in which the position to be deleted is stored in the deletion position storage unit 311 and the corresponding area in the memory unit 306 is deleted when the number of stored data exceeds a certain threshold. It is.
[0049]
First, the write pointer 311b is read (step S1), and the address of the FAT storage unit 308 corresponding to the area of the memory unit 306 to be deleted is stored in the FAT address storage unit 311c (step S2).
Next, the write pointer 311b is updated (step S3), and when it overflows, the write pointer 311b is initialized (steps S4 and S5). Further, the difference between the write pointer 311b and the read pointer 311a is obtained (step S6). If a certain threshold value is exceeded, that is, a threshold value with a certain number of data stored in the FAT address storage unit 311c is obtained. If it exceeds (step S7), the process proceeds to the next step S8. If the threshold is not exceeded, the process is terminated.
[0050]
If a certain threshold value is exceeded in step S7, the read pointer is read (step S8), and the address of the FAT storage unit 308 corresponding to the area of the memory unit 306 to be deleted is read from the FAT address storage unit 311c. Read (step S9).
Next, the corresponding area of the memory unit 306 obtained from the FAT address storage unit 311c is erased (step S10). Then, the read pointer 311a is updated (step S11), and when it overflows, the read pointer 311a is initialized (steps S12 and S13).
Then, it is checked whether or not the write pointer 311b matches the read pointer 311a, that is, whether valid data is stored in the FAT address storage unit 311c (step S14). In step S14, if they do not match (valid data is still stored), the process returns to step S8, and if they match (no valid data), the process ends.
[0051]
As described above, the semiconductor memory device 301 of the third embodiment is erased when the number of areas to be erased on the corresponding memory unit 306 exceeds a certain threshold in the semiconductor memory device 201 of the second embodiment. In addition to the effect of the second embodiment, the erasure process of the memory unit 306 can be performed in a concentrated manner. Therefore, even when the access to the apparatus is concentrated, the erasure process of the memory unit 306 is performed. Performance degradation due to can be minimized.
[0052]
Next, a semiconductor memory device in which the entire area of the memory unit is erased when a logical format is requested will be described as a fourth embodiment.
Example 4
FIG. 15 is a block diagram illustrating the configuration of the semiconductor memory device according to the fourth embodiment.
In the figure, the configuration of the host interface unit 403 to directory storage unit 409 is the same as that of the host interface unit to directory storage unit in each of the embodiments described above, and a description thereof will be omitted.
The processor unit 404 includes a format control unit 404a. The format control unit 404a has a function of only erasing the memory unit 406 without writing a specific pattern to the memory unit 406 when receiving a logical format request from the host which is the device. It is what.
[0053]
Next, the operation of the semiconductor memory device 401 having the above configuration will be described.
FIG. 16 is an explanatory diagram of logical format processing.
When the host instructs the logical format, the apparatus accepts a reset (000H) instruction for all information in the directory storage unit 409 and the FAT storage unit 408. When the processor unit 404 detects this instruction, the format control unit 404a Take control.
That is, all the pointers 94 in the directory storage unit 409 are set to “0”, and all the pointers 81 in the FAT storage unit 408 are set to “000H”. Then, when an instruction to write a specific data pattern is received in the entire area of the memory unit 406, the format control unit 404a does not write the specific data pattern and only erases the entire area of the memory unit 406. Do.
[0054]
As described above, in the fourth embodiment, when a logical format request is received, an operation of writing a specific data pattern to all areas of the memory unit 406 is not performed. Therefore, a write request to the memory unit 406 is not performed. Even if the data is received, it is not necessary to perform the erasing process once, and the data can be written as it is.
Therefore, the performance of the apparatus in such a case can be improved.
[0055]
Next, Example 5 will be described.
Example 5
FIG. 17 is a block diagram illustrating the configuration of the semiconductor memory device according to the fifth embodiment.
In the figure, the configuration of the host interface unit 503 to the directory storage unit 509 is the same as that of the host interface unit to the directory storage unit in each of the embodiments described above. The processor unit 504 includes a write control unit 504a. When it becomes necessary to perform overwriting (data rewriting) of the memory unit 506, the writing control unit 504a writes the overwriting data in the data non-storage area of the memory unit 506, and the FAT storage unit 508 and the directory storage unit 509 The pointers 81 and 94 have a function of rewriting to the address where data is newly written, and then erasing the already written area.
[0056]
Next, the operation of the semiconductor memory device 501 having the above configuration will be described.
FIG. 18 is an explanatory diagram of the data writing process.
Here, as an example, the data writing process of the file 2 (data capacity is equivalent to two clusters) will be described.
First, the host checks the file name identification unit 93 of the directory storage unit 509 to check whether the file 2 is stored. In this case, since it is stored, the valid information section 91 and the stored information identification section 92 are checked next to confirm that this information is valid data.
[0057]
Next, the pointer 94 is checked to confirm the position of the valid data on the FAT storage unit 508 (in this case, 004H). Then, linking is performed based on the information of the pointer 81 on the FAT storage unit 508. In this case, since the link information is 004H → 005H, this apparatus can determine that an overwriting process on the memory unit 506 is necessary. Therefore, this apparatus detects an unwritten area on the memory unit 506 and writes the corresponding information to the pointer 81 in the FAT storage unit 508 (in this case, “00CH” is written to 00BH and “FFFH” is written to 00CH). ).
Then, the corresponding pointer 94 of the directory storage unit 509 is rewritten (in this case, 004H → 00BH), the files 2- (1) and 2- (2) are written to the corresponding memory unit 506, and finally the FAT storage unit Data on the memory unit 506 corresponding to the link information (004H → 005H) on 508 is deleted.
[0058]
As described above, according to the fifth embodiment, when an overwrite request is received for the data in the memory unit 506, the overwrite data is written in the data non-storage area of the memory unit 506, and the FAT storage unit 508 and the directory are stored. Since the area where the overwrite request data is stored is erased after the pointer of the section 509 is rewritten, the data write process can be performed first even in the case of the overwrite request. By taking measures such as sending a write end response, it is possible to improve the performance during data rewriting.
[0059]
Next, a semiconductor memory device in which data in the memory section is periodically erased in the fifth embodiment will be described as a sixth embodiment.
Example 6
FIG. 19 is a block diagram illustrating a configuration of the semiconductor memory device according to the sixth embodiment.
In the figure, the configurations of the host interface unit 603 to the directory storage unit 609 are the same as those of the host interface unit to the directory storage unit in each of the embodiments described above. The erase position storage unit 611 is a storage unit for storing the address of data to be erased in the memory unit 606, which will be described later.
[0060]
The processor unit 604 includes a write control unit 604a and an erase control unit 604b. When the write control unit 604a receives an overwrite request for arbitrary data stored in the memory unit 606, the write control unit 604a writes the overwrite data in the data non-storage area of the memory unit 606, and the FAT storage unit 608 and the directory A function of rewriting the pointers 81 and 94 of the storage unit 609 to an address at which data is newly written is provided.
The erasure management unit 604b has a function of erasing data stored in an erasure position storage unit 611, which will be described later, when the memory unit 606 has not been accessed for a certain period of time, which will be described in detail later.
[0061]
FIG. 20 shows details of the erase position storage unit 611.
The erasure position storage unit 611 includes an empty flag 611a, a read pointer 611b, a write pointer 611c, and a FAT address storage unit 611d.
The empty flag 611a indicates whether or not valid data is stored in the FAT address storage unit 611d. The set state = no valid data in the FAT address storage unit 611d and the reset state = valid data in the FAT address storage unit 611d. Indicates presence. The initial value is “set state”.
The read pointer 611b is a read pointer for reading data from the FAT address storage unit 611d, and its initial value is “3”. The write pointer 611c is a write pointer for writing data to the FAT address storage unit 611d, and its initial value is “3”.
The FAT address storage unit 611d is a part that stores the address of the FAT storage unit 608 corresponding to the area of the memory unit 606 to be erased, and the area has an arbitrary size.
[0062]
Next, the operation of the semiconductor memory device 601 having the above configuration will be described.
FIG. 21 is a flowchart of the operation.
This flowchart shows a process of storing a position to be deleted in the erasure position storage unit 611 ((a) in the figure) and periodically erasing the deletion process of the written area when rewriting on the memory unit 606 is performed. This shows the process {(b)} in the figure for erasing the corresponding area in the memory unit 606 according to the data stored in the position storage unit 611.
[0063]
Here, “periodic” occurs after a certain period of time after the apparatus receives an arbitrary command from the host. If another command is received within a certain time after the command is received, it occurs after a certain time from the reception of a new command. That is, when the memory unit 606 is not accessed for a predetermined time, the corresponding area of the memory unit 606 is erased.
[0064]
First, the process of storing the position to be deleted in the erasure position storage unit 611 {(a)} in the figure will be described.
First, the empty flag 611a is reset (step S11), the write pointer 611c is read (step S12), and the address of the FAT storage unit 608 corresponding to the area of the memory unit 606 to be deleted is stored in the FAT address storage unit 611d. (Step S13). Next, the write pointer 611c is updated (step S14), and when it overflows, the write pointer 611c is initialized (steps S15 and S16).
[0065]
Next, a process {period (b)} in FIG. 5 that periodically erases the corresponding area of the memory unit 606 according to the data stored in the erase position storage unit 611 will be described.
First, it is checked whether or not the empty flag 611a is set (step S21). That is, it is checked whether valid data is stored in the FAT address storage unit 611d.
In step S21, the set state (no valid data) ends, and the reset state (valid data exists), the read pointer 611b is read (step S22) and corresponds to the area of the memory unit 606 to be deleted. The address of the FAT storage unit 68 to be read is read from the FAT address storage unit 611d (step S23).
[0066]
Next, the area of the corresponding memory unit 606 obtained from the address of the FAT address storage unit 611d is erased (step S24). Thereafter, the read pointer 611b is updated (step S25), and when it overflows, the read pointer 611b is initialized (steps S26 and S27).
Next, it is checked whether or not the write pointer 611c and the read pointer 611b match (that is, whether or not valid data is still stored in the FAT address storage unit 611d) (step S28). If yes (if valid data is still stored), end. On the other hand, if they match (when valid data is not stored), the empty flag 611a is reset (step S29), and the process ends.
[0067]
As described above, according to the sixth embodiment, as in the fifth embodiment, when an overwrite request is received for the data in the memory unit 606, the overwrite data is written in the data non-storage area of the memory unit 606. Since the pointers in the FAT storage unit 608 and the directory storage unit 609 are rewritten and the memory unit 606 is not accessed for a certain period of time, the corresponding area in the memory unit 606 is erased. In addition, the erasure process of the memory unit 606 is performed when no other process is performed. Therefore, even when data rewrite requests to the apparatus are concentrated, the process can be performed quickly. The performance can be improved.
[0068]
In the sixth embodiment, the configuration in which the corresponding area of the memory unit 606 is periodically erased is configured to be erased when the memory unit 606 has not been accessed for a certain period of time. Is set to a certain period, and when a process queue is provided and another process is performed at the timing of the erase process, the erase process is added to the queue, and each process including the erase process is performed according to this queue. You may comprise so that a process may be performed.
[0069]
In the sixth embodiment, as in the third embodiment, the erasing process may be performed when the number of data stored in the FAT address storage unit 611d exceeds a certain threshold value.
Further, on the contrary, in the third embodiment, similarly to the sixth embodiment, the erasure processing of the corresponding area in the memory unit 306 is executed when the memory unit 306 is not accessed for a certain period of time. Also good.
[0070]
【The invention's effect】
As described above in detail, according to the semiconductor memory device of the first invention, when a write request to the subdirectory is received, information is not written on the memory unit but stored in the subdirectory storage unit. This eliminates the need for write access to the subdirectory on the memory unit, and can improve performance in such a case.
[0071]
According to the semiconductor memory device of the second invention, when the file deletion request is made, the directory storage unit and the file allocation table storage unit are controlled and then the corresponding area of the memory unit is erased. When writing to the corresponding area above, no erasing process is required, and the performance of the apparatus can be improved.
Further, according to the semiconductor memory device of the third invention, in the semiconductor memory device of the second invention, the area to be erased on the memory portion is configured to be performed when the number exceeds a certain threshold value. In addition to the effect of the second invention, since the erasing process can be performed in a concentrated manner, even when the access to the apparatus is concentrated, the performance degradation due to the erasing process of the memory section can be minimized.
[0072]
According to the semiconductor memory device of the fourth aspect of the present invention, when the logical format request is received, the entire area on the memory unit is erased, so that an erasing process is not required when data is newly written to the memory unit. Thus, the performance of the apparatus can be improved.
[0073]
According to the semiconductor memory device of the fifth aspect of the present invention, when the area on the memory unit is overwritten, the overwritten data is written to the unwritten area of the memory unit, and then the area requested to be overwritten is erased. Therefore, even in the case of an overwrite request, the data writing process can be performed first, so that the performance in such a case can be improved.
Further, according to the semiconductor memory device of the sixth invention, in the semiconductor memory device of the fifth invention, since the corresponding area on the memory unit is erased when there is no access to the memory unit for a certain period of time, Even when data rewrite requests to the apparatus are concentrated, processing can be performed promptly, and performance in such a case can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram of a semiconductor memory device according to a first embodiment of the present invention.
FIG. 2 is a block diagram of a comparative example of a semiconductor memory device.
FIG. 3 is a detailed explanatory diagram of each part in a semiconductor memory device of a comparative example.
4 is a detailed explanatory diagram of a subdirectory in FIG. 3. FIG.
FIG. 5 is an explanatory diagram of file erasing processing in a semiconductor memory device of a comparative example.
6 is a detailed explanatory diagram of a subdirectory in FIG. 5. FIG.
FIG. 7 is an explanatory diagram of logical format processing in a semiconductor memory device of a comparative example.
FIG. 8 is a diagram for explaining the operation of the semiconductor memory device according to the first embodiment of the present invention.
FIG. 9 is a detailed explanatory diagram of a subdirectory storage unit in the first embodiment of the semiconductor memory device of the present invention;
FIG. 10 is a block diagram showing a configuration of a semiconductor memory device according to a second embodiment of the present invention.
FIG. 11 is an explanatory diagram of file erasing processing in the second embodiment of the semiconductor memory device of the present invention.
FIG. 12 is a block diagram showing a configuration of a semiconductor memory device according to a third embodiment of the present invention.
FIG. 13 is a detailed explanatory diagram of an erasing position storage section in the third embodiment of the semiconductor memory device of the present invention.
FIG. 14 is a flowchart of an erasing process in Embodiment 3 of the semiconductor memory device of the present invention.
FIG. 15 is a block diagram showing a configuration of a semiconductor memory device according to a fourth embodiment of the present invention.
FIG. 16 is an explanatory diagram of logical format processing in Embodiment 4 of the semiconductor memory device of the present invention.
FIG. 17 is a block diagram showing a configuration of a semiconductor memory device according to a fifth embodiment of the present invention.
FIG. 18 is an explanatory diagram of data write processing in the fifth embodiment of the semiconductor memory device of the present invention.
FIG. 19 is a block diagram showing a configuration of a semiconductor memory device according to a sixth embodiment of the present invention.
FIG. 20 is a detailed explanatory diagram of an erasing position storage unit in a sixth embodiment of the semiconductor memory device of the invention.
FIG. 21 is an operation flowchart of embodiment 6 of the semiconductor memory device of the invention.
[Explanation of symbols]
101, 201, 301, 401, 501, 601 Semiconductor memory device
106, 206, 306, 406, 506, 606 Memory part
108, 208, 308, 408, 508, 608 File allocation table (FAT) storage
109, 209, 309, 409, 509, 609 Directory storage
111 Subdirectory storage
204a, 304a Memory erase control unit
311 and 611 Erase position storage unit
404a Format control unit
504a, 604a Write control unit
604b Deletion management unit

Claims (2)

フラッシュメモリで構成されたメモリ部と、
前記メモリ部に格納されたデータが有効か無効かを示すバリッド情報と、当該データに対応したポインタとを有するディレクトリ格納部と、
前記ディレクトリ格納部のポインタに対応した前記メモリ部のデータアドレスを示すファイル・アロケーション・テーブル格納部と、
前記メモリ部の任意のデータに対して消去要求を受け付けた場合、前記ディレクトリ格納部における前記データに対応したバリッド情報を無効とすると共に、前記ファイル・アロケーション・テーブル格納部における前記データのポインタをリセット状態のアドレスに書き換え、かつ、前記メモリ部の前記データを消去するメモリ消去制御部とを備えたことを特徴とする半導体記憶装置。
A memory unit composed of flash memory;
A directory storage unit having valid information indicating whether the data stored in the memory unit is valid or invalid, and a pointer corresponding to the data;
A file allocation table storage unit indicating a data address of the memory unit corresponding to the pointer of the directory storage unit;
When an erasure request is received for any data in the memory unit, the valid information corresponding to the data in the directory storage unit is invalidated and the pointer of the data in the file allocation table storage unit is reset. A semiconductor memory device comprising: a memory erasure control unit that rewrites an address in a state and erases the data in the memory unit.
請求項記載の半導体記憶装置において、
メモリ部の消去すべきデータの位置情報を、当該データの消去単位の位置情報として格納する消去位置格納部と、
前記消去位置格納部に格納されたデータの消去単位の個数が、予め設定されたしきい値を越えた場合は、当該消去位置格納部に格納されているデータの位置情報に基づき、前記メモリ部の消去すべきデータを消去するメモリ消去制御部とを備えたことを特徴とする半導体記憶装置。
The semiconductor memory device according to claim 1 .
An erasure position storage section for storing position information of data to be erased in the memory section as position information of an erasure unit of the data;
When the number of erasure units of data stored in the erasure position storage unit exceeds a preset threshold value, based on the position information of the data stored in the erasure position storage unit, the memory unit And a memory erasure control unit for erasing data to be erased.
JP8401794A 1994-03-30 1994-03-30 Semiconductor memory device Expired - Fee Related JP3784844B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8401794A JP3784844B2 (en) 1994-03-30 1994-03-30 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8401794A JP3784844B2 (en) 1994-03-30 1994-03-30 Semiconductor memory device

Publications (2)

Publication Number Publication Date
JPH07271645A JPH07271645A (en) 1995-10-20
JP3784844B2 true JP3784844B2 (en) 2006-06-14

Family

ID=13818808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8401794A Expired - Fee Related JP3784844B2 (en) 1994-03-30 1994-03-30 Semiconductor memory device

Country Status (1)

Country Link
JP (1) JP3784844B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077447A1 (en) * 2003-02-28 2004-09-10 Fujitsu Limited Flash memory and memory control method
EP1729218A4 (en) * 2004-04-20 2007-07-18 Matsushita Electric Ind Co Ltd Nonvolatile storage system
JP2006099648A (en) * 2004-09-30 2006-04-13 Canon Inc Memory control unit
JP2006155461A (en) * 2004-12-01 2006-06-15 Sony Corp Information processor and processing method, and program
JP4831398B2 (en) * 2005-05-10 2011-12-07 ソニー株式会社 Information processing apparatus and method, and program
JP5715878B2 (en) * 2011-05-19 2015-05-13 シャープ株式会社 Electronic cash register

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5958569A (en) * 1982-09-29 1984-04-04 Fuji Facom Corp Floppy disk device
JPS62159251A (en) * 1986-01-08 1987-07-15 Hitachi Ltd File managing device
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
JP2582487B2 (en) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション External storage system using semiconductor memory and control method thereof
JPH05151097A (en) * 1991-11-28 1993-06-18 Fujitsu Ltd Data control system for rewriting frequency limited type memory
JP3485938B2 (en) * 1992-03-31 2004-01-13 株式会社東芝 Nonvolatile semiconductor memory device

Also Published As

Publication number Publication date
JPH07271645A (en) 1995-10-20

Similar Documents

Publication Publication Date Title
US6477616B1 (en) Storage device, storage system, memory management method, recording medium, and computer data signal
US7610434B2 (en) File recording apparatus
US5611067A (en) Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks
US6829675B2 (en) Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP4766240B2 (en) File management method, apparatus, and program
KR100980309B1 (en) Host device and memory system
US8595413B2 (en) Memory control method and device, memory access control method, computer program, and recording medium
EP0522780B1 (en) Control method for a computer memory device
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
US5682497A (en) Managing file structures for a flash memory file system in a computer
US7356641B2 (en) Data management in flash memory
US5832493A (en) Flash file management system
JP4249267B2 (en) Freeing up disk space in the file system
US8307172B2 (en) Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
US20060168392A1 (en) Flash memory file system
US20140059273A1 (en) Host apparatus and memory device
EP1331548A2 (en) File management of one-time-programmable non volatile memory devices
KR20070024573A (en) Method for managing files for optimal performance
GB2297637A (en) Semiconductor disk device
JPWO2005103903A1 (en) Nonvolatile storage system
US6510495B1 (en) Data write method into nonvolatile memory, information processing device and recording medium
KR101747791B1 (en) Memory system and data storage device, and data management method thereof
US20030046482A1 (en) Data management in flash memory
JP3784844B2 (en) Semiconductor memory device
US7167964B1 (en) Memory defragmentation in chipcards

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050912

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050926

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: 20060214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060316

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090324

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100324

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees