JP3784844B2 - Semiconductor memory device - Google Patents
Semiconductor memory device Download PDFInfo
- 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
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
[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,
The
[0020]
The
The
The memory unit 6 is a storage medium of the
[0021]
The
The
The
[0022]
FIG. 3 is an explanatory diagram showing details of the
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
[0023]
In the
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.
[0024]
The memory unit 6 corresponding to the
[0025]
Next, data writing in the
Here, an example of
[0026]
Next, the
In the information of 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
[0028]
Next, the case of writing data in the
In this case, the host first checks the file
Next, the
[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
Then, “FFFH” is written in the corresponding pointer 81 (00AH in this case) to the memory unit 6 in the
[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
[0031]
Next, the
[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
In response to this instruction, the
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
[0034]
The
Here, the
[0035]
Similarly to the
[0036]
Next, processing when a request for writing a new file (
8 and 9 are explanatory diagrams in this case.
8 and 9, the valid information section 91 to the
[0037]
First, the host checks the file
[0038]
Next, when the host stores the sub-directory information at the position of the memory unit 6 corresponding to 00BH of the
That is, first, “1” is written in the
Next, the host writes the information of the
[0039]
As described above, according to the first embodiment, when the subdirectory write request is received, the information is not written on the
[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
[0041]
In addition, the
[0042]
Further, the
[0043]
Next, the operation of the
FIG. 11 is an explanatory diagram of file deletion processing.
As an example, a case where the
First, the host checks the file
[0044]
Next, the
Next, this apparatus erases the data on the
[0045]
As described above, in the second embodiment, when there is a file deletion request from the host, the corresponding pointer in the
[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
[0047]
FIG. 13 shows details of the erase
The erase
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
[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
[0049]
First, the write pointer 311b is read (step S1), and the address of the
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
Next, the corresponding area of the
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
[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
The
[0053]
Next, the operation of the
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
That is, all the
[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
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
[0056]
Next, the operation of the
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
[0057]
Next, the
Then, the corresponding
[0058]
As described above, according to the fifth embodiment, when an overwrite request is received for the data in the
[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
[0060]
The
The erasure management unit 604b has a function of erasing data stored in an erasure
[0061]
FIG. 20 shows details of the erase
The erasure
The
The
The FAT address storage unit 611d is a part that stores the address of the
[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
[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
[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
[0065]
Next, a process {period (b)} in FIG. 5 that periodically erases the corresponding area of the
First, it is checked whether or not the
In step S21, the set state (no valid data) ends, and the reset state (valid data exists), the
[0066]
Next, the area of the
Next, it is checked whether or not the write pointer 611c and the
[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
[0068]
In the sixth embodiment, the configuration in which the corresponding area of the
[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
[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
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
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.
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)
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 | NON-VOLATILE 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)
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 management method for rewritable memory |
JP3485938B2 (en) * | 1992-03-31 | 2004-01-13 | 株式会社東芝 | Nonvolatile semiconductor memory device |
-
1994
- 1994-03-30 JP JP8401794A patent/JP3784844B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07271645A (en) | 1995-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
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 | |
US7356641B2 (en) | Data management in flash 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 | |
GB2297637A (en) | Semiconductor disk device | |
KR20070024573A (en) | File Management Methods for Optimal Performance | |
JPWO2005103903A1 (en) | Nonvolatile storage system | |
KR101747791B1 (en) | Memory system and data storage device, and data management method thereof | |
US6510495B1 (en) | Data write method into nonvolatile memory, information processing device and recording medium | |
US20030046482A1 (en) | Data management in flash memory | |
JP3784844B2 (en) | Semiconductor memory device | |
US7167964B1 (en) | Memory defragmentation in chipcards | |
EP1046996B1 (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 |