(57)【要約】半導体メモリカード内にホスト情報メモリを設け、アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを保持する。空き物理領域生成部は、データ書き込み開始アドレスとデータサイズからデータの書き込み時に不揮発性メモリの無効ブロックを消去するかどうか、及び消去するブロック数を決定する。消去する場合には、異なったメモリチップに対してデータ書込みと無効ブロックの消去を同時に実行する。これによりデータの消去処理を最適化し、アクセス装置から半導体メモリカードに対して高速のアクセスを実現することができる。
2005029311.tif 000002
【特許請求の範囲】
【請求項１】
アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、
前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを一時記憶するホスト情報メモリと、を具備し
前記メモリコントローラは、
前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、前記無効ブロックを消去する際には１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する空き物理領域生成部を有する半導体メモリカード。
【請求項２】
前記空き物理領域生成部は、書き込みデータを書き込む時間に相当する消去時間となるように、消去するブロック数を決定する請求項１記載の半導体メモリカード。
【請求項３】
前記メモリコントローラは、前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続されている請求項１記載の半導体メモリカード。
【請求項４】
前記不揮発性メモリは、２つの不揮発性メモリチップから成り、一方の不揮発性メモリチップへの書き込み処理をする期間に、他方の不揮発性メモリチップ内の無効ブロックを消去する請求項１記載の半導体メモリカード。
【請求項５】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリに接続されて使用される半導体メモリ制御装置であって、
制御信号及びデータをアクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを一時記憶するホスト情報メモリと、を具備し
前記メモリコントローラは、
前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、前記無効ブロックを消去する際には１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する空き物理領域生成部を有する半導体メモリ制御装置。
【請求項６】
前記空き物理領域生成部は、書き込みデータを書き込む時間に相当する消去時間となるように、消去するブロック数を決定する請求項５記載の半導体メモリ制御装置。
【請求項７】
前記メモリコントローラは、前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続されている請求項５記載の半導体メモリ制御装置。
【請求項８】
前記不揮発性メモリは、２つの不揮発性メモリチップから成り、一方の不揮発性メモリチップへの書き込み処理をする期間に、他方の不揮発性メモリチップ内の無効ブロックを消去する請求項５記載の半導体メモリ制御装置。
【請求項９】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとをホスト情報メモリに一時記憶し、
前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、
前記無効ブロックを消去する際には、１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する半導体メモリ制御方法。
【請求項１０】
前記無効ブロックを消去する際には、書き込みデータを書き込む時間に相当する消去時間となるように、消去するブロック数を決定する請求項９記載の半導体メモリ制御方法。
【請求項１１】
前記不揮発性メモリは、２つの不揮発性メモリチップから成り、一方の不揮発性メモリチップへの書き込み処理をする期間に、他方の不揮発性メモリチップ内の無効ブロックを消去する請求項９記載の半導体メモリ制御方法。
【発明の詳細な説明】
【技術分野】  本発明は、半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法に関する。
【背景技術】  音楽コンテンツや、映像データなどのデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスクなど、様々な種類が存在する。これら記録媒体の１種類である半導体メモリカードは、記録素子としてフラッシュＲＯＭなどの半導体メモリを使用しており、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末など、小型の携帯機器を中心に急速に普及しつつある。
半導体メモリカードに格納されたデータはファイルシステムにより管理されており、ユーザは格納されたデータをファイルとして容易に取り扱うことができる。従来使用されているファイルシステムとして、ＩＳＯ／ＩＥＣ９２９３、“Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｖｏｌｕｍｅ  ａｎｄ  ｆｉｌｅ  ｓｔｒｕｃｔｕｒｅ  ｏｆ  ｄｉｓｋ  ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ”、１９９４年、に示されているＦＡＴファイルシステムがある。又ＯＳＴＡ  Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  １．５０、１９９７年、に記載されているＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ）や、ＮＴＦＳ（Ｎｅｗ  Ｔｅｃｈｎｏｌｏｇｙ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）などが存在する。これらファイルシステムによりデータが管理された半導体メモリカードは、同一のファイルシステムを解釈する機器間でファイルを共有することができるため、機器間でデータを授受することが可能となる。
ファイルシステムでは、データの書き換えを行う際に一旦データを消去し、その後にデータを書込む２段階の動作が必要であり、完全に書き換えが終了するまで多くの時間がかかるという問題点があった。
従来、このような問題を解決する方法として、例えば特開平１１−１９１２９７号公報による半導体記憶装置が知られている。この発明は、複数の不揮発性メモリを有し、第１の不揮発性メモリの書込みを行う際に第２の不揮発性メモリにおいて消去を行い、これらを並行して処理することによって短時間でデータを書き換えるものである。しかしながらこの従来技術においては、メモリチップに書込むデータサイズにかかわらず並行して消去処理が行われる。消去時間は例えばＮＡＮＤ型フラッシュメモリにおいては、１消去ブロック（通常１６ＫＢ）の消去には例えば２．０ｍＳｅｃを要する。したがってデータサイズが小さい場合には消去に時間がかかり、書き換え全体の時間が却って長くかかるという欠点があった。
【発明の開示】
本発明は上記問題点を解消するためになされたものである。本発明は、アクセス装置に接続されて使用される半導体メモリカードであって、制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、前記アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを一時記憶するホスト情報メモリと、を具備する。そして、前記メモリコントローラは、前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、前記無効ブロックを消去する際には１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する空き物理領域生成部を有するものである。
また半導体メモリカード内で用いられ、複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリに接続されて使用される半導体メモリ制御装置であって、制御信号及びデータをアクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、前記アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを一時記憶するホスト情報メモリと、を具備する。そして、前記メモリコントローラは、前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、前記無効ブロックを消去する際には１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する空き物理領域生成部を有するものである。
またこの半導体メモリ制御方法は、複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとをホスト情報メモリに一時記憶し、前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、前記無効ブロックを消去する際には、１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理するものである。
本発明によれば、アクセス装置より得られる書込み開始アドレスと書込みサイズに基づいて消去ブロックの消去ブロック数を決定し、データの書込みに合わせて消去ブロックを消去している。このため、消去時間が顕在化することなく、処理パフォーマンスを低下させることなく消去を行うことができ、空きブロックを増加させることができる。これにより、半導体メモリカードに対する高速アクセスを実現することができる。
【図面の簡単な説明】  第１図は本発明の実施例１における半導体メモリカード、及びアクセス装置を示した説明図である。
第２図は本発明の実施例１における論物変換制御部のテーブルを示す説明図である。
第３図は本発明の実施例１における消去ブロックの構成を示す説明図である。
第４図は本発明の実施例１における半導体メモリカードへのデータ書き込み処理を示すフローチャートである。
第５図は本発明の実施例１におけるサブルーチン（１）の処理を示すフローチャートである。
第６図は本発明の実施例１におけるサブルーチン（２）の処理を示すフローチャートである。
第７図は本発明の実施例１におけるデータの書込みと消去ブロックの消去処理を示すタイムチャートである。
第８図は本発明の実施例１におけるメモリコントローラと不揮発性メモリのバスを共通にした場合のメモリチップへの書込み処理と消去処理を示すタイムチャートである。
第９図は本発明の実施例２における半導体メモリカード及びアクセス装置を示す説明図である。
第１０図は本発明の実施例２における不揮発性メモリの構成を示す説明図である。
第１１図は本発明の実施例２における高速モードでの書込み処理を示すタイムチャートである。
第１２図は本発明の実施例２における低速モードでの書込み処理を示すタイムチャートである。
第１３図は本発明の実施例３における半導体メモリカード及びアクセス装置を示す説明図である。
第１４図は本発明の実施例３における論物変換制御部のテーブルを示す説明図である。
第１５図は本発明の実施例３におけるデフラグ処理を示す説明図である。
第１６図は本発明の実施例３におけるデフラグ処理を示すフローチャートである。
第１７図は本発明の実施例４における半導体メモリカード及びアクセス装置を示す説明図である。
第１８図は本発明の実施例４における不揮発性メモリの構成を示す説明図である。
第１９図は従来例におけるデータの記録処理を示すタイムチャートである。
第２０図は本発明の実施例４におけるデータの記録処理を示すタイムチャートである。
【発明を実施するための最良の形態】  以下、本発明による半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法の実施例について、図面を参照しつつ説明する。
【実施例１】  第１図は本発明の実施例１による半導体メモリカードとアクセス装置を示すブロック図である。第１図においてアクセス装置１００には、半導体メモリカード１１１が接続される。半導体メモリカード１１１は、ホストインターフェース（Ｉ／Ｆ）部１１２、ＣＰＵ１１３、ＲＡＭ１１４、ＲＯＭ１１５、メモリコントローラ１１６、不揮発性メモリ１１７、及びホスト情報メモリ１１８を含む。ホストインターフェース部１１２は、アクセス装置１００と制御信号及びデータを送受信するインターフェースである。ＲＯＭ１１５には半導体メモリカード１１１を制御するプログラムが格納されている。このプログラムはＲＡＭ１１４を一時記憶領域として使用し、ＣＰＵ１１３上で動作する。メモリコントローラ１１６は不揮発性メモリ１１７を制御する素子である。不揮発性メモリ１１７は半導体メモリカード１１１内のデータ記憶領域である。メモリコントローラ１１６は論物変換制御部１２０、空き物理領域生成部１２１、及び不揮発性メモリアクセス部１２３を含む。論物変換制御部１２０は後述するように、論物変換テーブル１３１とエントリテーブル１３２とを含むものである。又空き物理領域生成部１２１は、アクセス装置１００から送られるデータ書込み開始アドレスとデータサイズに基づいて、不揮発性メモリ１１７の無効ブロックを消去するかどうかを決定するものである。無効ブロックを消去するときはデータの書き込みと同時に消去する。不揮発性メモリアクセス部１２３は、メモリコントローラ１１６より直接不揮発性メモリ１１７にアクセスしてデータの書込み、読出し、及び消去を行うものである。尚、半導体メモリカードの中の不揮発性メモリ１１７を除く全てのブロックは、半導体メモリ制御装置を構成している。
不揮発性メモリ１１７は２つのフラッシュメモリのメモリチップＡ，Ｂから成るものとし、夫々の不揮発性メモリチップは例えば１６ＭＢのデータ容量を有する。不揮発性メモリ１１７は後述するように、アドレス管理領域とデータ領域から成り立っている。２つのメモリチップＡ，Ｂは独立の双方向バスでメモリコントローラ１１６と接続されている。
又ホスト情報メモリ１１８は、アクセス装置１００から与えられるセクタ単位でのデータ書き込みの開始セクタアドレスＳＡと、セクタ単位での書込みサイズＬとを一時的に保持するものである。
第２図は論物変換制御部１２０を示す説明図である。論物変換制御部１２０は、論物変換テーブル１３１とエントリテーブル１３２とから成り立っている。論物変換テーブル１３１はアクセス装置１００から指定された論理セクタアドレスＬＳＡから物理セクタアドレスＰＳＡへの変換を示すテーブルである。不揮発性メモリ１１７は、論理空間として２Ｎセクタの空間をもち、メモリチップＡとメモリチップＢの論理セクタアドレスは論理的に連続であるものとする。論物変換テーブル１３１において、前半の部分、即ち論理セクタアドレスが０〜Ｎ−１までは不揮発性メモリチップＡに対応するテーブル領域であり、後半の部分、即ち論理セクタアドレスがＮ〜２Ｎ−１までは、不揮発性メモリチップＢに対応するテーブル領域である。第２図において、各論理セクタが５１２Ｂのユーザデータ領域を有するものとすると、メモリチップＡ，Ｂが夫々１６ＭＢのデータ容量を持つ場合、第２図に示す論理セクタアドレスＮは２１５となる。ここで３２セクタによって１つの物理ブロックが形成される。従って各物理ブロックは１６ＫＢの容量を持ち、この物理ブロックは選択的に消去できる単位でもあるため、消去ブロックといわれる。
エントリテーブル１３２は物理ブロックアドレスＰＢＡ０〜２Ｍ−１までの各物理ブロックについての状態を示すテーブルであり、各物理ブロックについて２ビットのデータから成る。ここで００は有効なデータが記録されている有効ブロック、１１はデータが記録されているが、無効なデータであることを示す無効ブロック、１０は不良ブロック、０１は消去済みブロックであることを示す。エントリテーブル１３２においても前半部分、即ち物理ブロックアドレスが０〜Ｍ−１までは不揮発性メモリチップＡに対応するテーブル領域であり、後半部分、即ち物理ブロックアドレスがＭ〜２Ｍ−１までは不揮発性メモリチップＢに対応するテーブル領域である。これらの２つのテーブル１３１，１３２は夫々ＲＡＭ等の揮発性メモリに記録されている。
第３図は、各メモリチップＡ，Ｂに配列された消去ブロックの構成を示す説明図である。一つの消去ブロックは全３２セクタで構成される。各セクタ領域は５２８バイトの領域があり、いわゆるユーザデータを書き込むデータ領域５１２バイトと、アドレス管理情報を書き込む管理領域（ＭＲ）１６バイトとから構成される。アドレス管理情報には、対応する論理アドレスや、対応するデータ領域に格納されたデータが有効なものか無効なものか、あるいは不良ブロックかを表すフラグなどが含まれる。そして電源オン直後の初期化時において、メモリチップＡ，Ｂの各消去ブロックの管理領域ＭＲに格納された情報をＣＰＵ１１３が読み出し、論物変換制御部１２０中のＲＡＭ上に第２図の論物変換テーブル１３１やエントリテーブル１３２を作成する。
このように構成された半導体メモリカードの書込み時の動作について第４図〜第６図のフローチャート及び第７図、第８図のタイムチャートを用いて説明する。書込み時にはアクセス装置１００はまず、書き込み命令と共に、書き込みの開始セクタアドレスＳＡと書き込みサイズＬを半導体メモリカード１１１に転送する。開始セクタアドレスＳＡと書き込みサイズＬは、ホスト情報メモリ１１８に一時記憶される。メモリコントローラ１１６は、ホスト情報メモリ１１８に一時記憶された開始セクタアドレスＳＡと書き込みサイズＬ及び、不揮発性メモリ１１７の前半領域と後半領域の境界を表すパラメータ（セクタアドレスＮ）に基づき、ＳＡがＮ未満かどうかを判別する（ステップＳ１０１）。又ＳＡがＮ未満の場合はＳＡ＋ＬがＮを超えるかどうかを判断する（ステップＳ１０２）。これによって前半領域（メモリチップＡ）のみへの書き込みか、後半領域（メモリチップＢ）のみへの書き込みか、あるいは、両者を跨ぐ書き込みかを判断する。
前半領域のみへの書き込みであれば、ステップＳ１０３に進んでポインタｍをＬとする。ポインタｍは各メモリチップへの書込みサイズを示す。そしてサブルーチン（１）の処理を行って（ステップＳ１０４）、処理を終える。又ステップＳ１０１においてＮがＳＡ以上であれば後半領域のみへの書込みであるため、ステップＳ１０５においてポインタｍをＬとし、ステップＳ１０６においてサブルーチン（２）の処理を行って（ステップＳ１０６）、処理を終える。又前半から後半への書込み、即ち２つのメモリチップＡとＢを跨ぐ書込みであれば、ステップＳ１０７においてポインタｍをＮ−ＳＡとし、サブルーチン（１）によってメモリチップＡへの書込み処理を行う（ステップＳ１０８）。次いでステップ１０９においてポインタｍをＬ−ｍとし、ステップＳ１１０においてサブルーチン（２）によってメモリチップＢへの書込み処理を行う（ステップＳ１１１）。
第５図はサブルーチン（１）の処理を示すフローチャートである。このフローチャートでは動作を開始すると、まずステップＳ１１１においてｍ×５１２Ｂが４ＫＢを超えているかどうかをチェックする。本実施例１においては書き込みデータサイズが４ＫＢの時に２ｍＳｅｃの書込み時間を要するものとしている。書き込みデータのサイズが５１２Ｂ単位で８回、即ち４ＫＢ以上か否かで書き込み対象のメモリチップ以外のメモリチップ（ここではメモリチップＢ）を消去するかどうかを、空き物理領域生成部１２１が判断する。消去する場合は消去コマンドを発行する。ステップＳ１１１でこの値が４ＫＢを超える場合には、ステップＳ１１２において（ｍ×５１２Ｂ）／４ＫＢの演算を行う。ここでｎは商のうちの整数とする。そしてステップＳ１１３に進んでメモリチップＡの空ブロックに送られてきたデータをアドレス管理情報と共に書込む。又これと同時にメモリチップＢの無効ブロックｎ個を消去する。無効ブロックかどうかはエントリテーブル１３２に１１が記録されているか否かで判断する。消去後にはエントリテーブルはそのブロックに対して０１、即ち消去済みブロックとして更新する。無効ブロックがｎ個以下であれば、すべての無効ブロックを消去し、無効ブロックがなければ消去は不要である。又ステップＳ１１１において書込みデータサイズが４ＫＢ未満であれば、メモリチップＡの空ブロックに書込みのみを行って処理を終える。
次に第６図はサブルーチン（２）を示すフローチャートである。このフローチャートでは動作を開始すると、まずステップＳ１２１においてｍ×５１２Ｂが４ＫＢを超えているかどうかをチェックする。本実施例１においては書き込みデータサイズが４ＫＢの時に２ｍＳｅｃの書込み時間を要する例としており、書き込みデータのサイズが５１２Ｂ単位で８回、即ち４ＫＢ以上か否かで書き込み対象のメモリチップ以外のメモリチップ（ここではメモリチップＡ）を消去するかどうかを、空き物理領域生成部１２１が判断する。消去する場合は、消去コマンドを発行する。ステップＳ１２１でこの値が４ＫＢを超える場合には、ステップＳ１２２において（ｍ×５１２Ｂ）／４ＫＢの演算を行う。ここでｎは商のうちの整数とする。そしてステップＳ１２３に進んでメモリチップＢの空ブロックに送られてきたデータをアドレス管理情報と共に書込む。又これと同時にメモリチップＡの無効ブロックｎ個を消去する。無効ブロックかどうかはエントリテーブル１３２に１１が記録されているか否かで判断する。消去後にはエントリテーブルはそのブロックに対して０１、即ち消去済みブロックとして更新する。無効ブロックがｎ個以下であれば、すべての無効ブロックを消去し、無効ブロックがなければ消去は不要である。又ステップＳ１２１において書込みデータサイズが４ＫＢ以下であれば、メモリチップＢの空ブロックに書込みのみを行って処理を終える。
次にステップＳ１１３のメモリチップＡの書込みとメモリチップＢの消去処理について、タイムチャートを用いて説明する。第７図は前半領域（メモリチップＡ）のみへの書き込みの場合において、書き込みサイズが４ＫＢの場合のタイムチャートを示す。第７図の上部はメモリチップＡへのアクセスを示す。ライトコマンドＷＣの発行期間は、不揮発性メモリチップＡへの書き込み指示と書き込み先アドレスを転送する期間である。データ転送（ＤＡＴＡ）の期間は、書き込みデータをメモリチップＡへ転送する期間である。又プログラムビジー期間（ＢＵＳＹ）は、書き込みデータをメモリチップＡへ実際に書込む期間である。実際には不揮発性メモリアクセス部１２３よりライトコマンドを発行する。次いでデータ転送時には、１セクタ分の５１２Ｂの書き込みデータとそれに対応する管理領域の１６Ｂの情報、即ち５２８Ｂのデータ転送が行われる。この間は約５０μｓである。次いで書込み時間はビジーフラグ（ＢＵＳＹ）が立てられる。この間は約２００μｓである。こうして最初のセクタへの書き込み（Ｗ１）が終了すると、次のセクタの書込みに同様の処理が繰り返される。こうして８セクタ分のデータを書き込むことによって、１物理ブロック分、即ち４ＫＢ分のデータの書込むことができる。この４ＫＢ分のデータの書込み時間は２５０×８（μｓ）、即ち約２ｍｓの時間を要する。
一方これと同期して、ほぼ同一の時間を要する消去処理をメモリチップＢに対して行う。このメモリチップＢの消去対象となるブロックは、エントリテーブル１３２において無効ブロック（２進数で１１）として示されている物理ブロックである。この物理ブロックに対して消去コマンドＥＣを発行する。そうすれば消去中の期間に消去ビジー信号（ＢＵＳＹ）が得られ、この間消去が行われる。
ここで不揮発性メモリとしてＮＡＮＤフラッシュメモリなどを使用した場合、プログラムビジー時間（２００μｓ）に対して消去ビジー時間が長い（例えば２ｍＳｅｃ）。
以上の処理により、メモリチップＡへの書き込みサイズが４ＫＢ以上の場合は、メモリチップＢの消去と同時に書込み処理することにより、消去時間が顕在化しないので、全体的な処理パフォーマンスを合理化することができる。更に書き込みサイズＬに相当する消去ブロック数を算出することにより処理パフォーマンスを低下させることがなく、できるだけ多くのセクタを消去することができる。
尚、第７図ではメモリチップＡへの書き込みとメモリチップＢの消去と同時に実行する例を示したが、第６図のフローチャートのステップＳ１２３に示すように、メモリチップＢへの書き込みとメモリチップＡを消去する場合にも、メモリチップＡ，Ｂが逆となるだけで同一の動作が行われる。又メモリチップＡとＢを跨いて書込みをする場合にも、これらの処理が順次行われる。
尚、この実施例では不揮発性メモリ１１７のメモリチップＡ，Ｂは独立したバスでメモリコントローラ１１６に接続されているが、１つのバスで共通に接続されていてもよい。但しその場合は、第７図のライトコマンドと消去コマンドがバス競合を起こさないように、空き物理領域生成部１２１は、ライトコマンドＷＣ、及びデータ転送期間と消去コマンドの発行のタイミングを時間的にずらせる。即ち第８図に示すように、バスを用いるライトコマンド発行期間ＷＣ、データ転送期間（ＤＡＴＡ）の後に、消去コマンドＥＣを発行する。そして消去コマンドを発行した後にＢＵＳＹ状態が終われば次のセクタのライトコマンド、これに続くデータ転送を行う。こうすれば複数のメモリチップとメモリコントローラとを１つのバスで共通に接続することができる。
またこの実施例では、消去ブロックの消去時間に相当する書き込み時間を要する場合に、消去と書き込みとを並行して処理している。ここで示した数値は一例であり、書き込み時間、消去時間によってこれらの数値は適宜選択できるものとする。
また第２図に示した論物変換テーブルは、ブロック単位で変換するための変換テーブルであっても構わない。また複数の消去ブロックをグループとした単位で変換を行ってもよい。更にこの実施例では不揮発性メモリとして２つのメモリチップを用いたが、複数の任意のメモリチップを用いて構成することもできる。
【実施例２】  第９図は、本発明の実施例２における半導体メモリカードを示す図である。本図においてアクセス装置１００には、半導体メモリカード１１１が接続される。半導体メモリカード１１１は、ホストインターフェース（Ｉ／Ｆ）部１１２、ＣＰＵ１１３、ＲＡＭ１１４、ＲＯＭ１１５、メモリコントローラ１４１、不揮発性メモリ１１７、及びホスト情報メモリ１４２を含む。ホストインターフェース部１１２は、アクセス装置１００と制御信号及びデータを送受信するインターフェースである。ＲＯＭ１１５には半導体メモリカード１１１を制御するプログラムが格納されている。このプログラムはＲＡＭ１１４を一時記憶領域として使用し、ＣＰＵ１１３上で動作する。メモリコントローラ１１６は不揮発性メモリ１１７を制御する素子である。不揮発性メモリ１１７は半導体メモリカード１１１内のデータ記憶領域である。メモリコントローラ１４１は論物変換制御部１４３、及び不揮発性メモリアクセス部１４４を含む。論物変換制御部１４３は論物変換テーブルとエントリテーブルとを含むものである。不揮発性メモリアクセス部１４４は、メモリコントローラ１４１より直接不揮発性メモリ１１７にアクセスしてデータの書込み、読出し、及び消去を行うものである。
不揮発性メモリ１１７は２つのフラッシュメモリのメモリチップＡ，Ｂから成るものとし、夫々の不揮発性メモリチップは例えば１６ＭＢのデータ容量を有する。不揮発性メモリ１１７は後述するように、アドレス管理領域とデータ領域から成り立っている。２つのメモリチップＡ，Ｂは独立の双方向バスＮｏ．０，Ｎｏ．１でメモリコントローラ１４１と接続されている。
ホスト情報メモリ１４２はアクセス装置１００から伝送されたアクセス速度を保持するものであり、高速モード及び低速モードのいずれか一方の状態が保持されている。不揮発性メモリアクセス部１４４は高速モードが設定されている場合には、ピーク電流が大きいアクセスも許容されているので、不揮発性メモリ１１１７をアクセスする際に高速でアクセスする。又低速モードが設定されている場合には、不揮発性メモリ１１７をアクセスする際に、ピーク電流を小さくして電源への負荷を軽くするように制御するものである。
第１０図はメモリチップＡ，Ｂの内部構成を示した説明図である。不揮発性メモリ１１７内のメモリチップＡ，Ｂはいずれも、夫々バンクＢ０〜バンクＢ３までの４つのバンクに分割されている。バンクＢ０〜Ｂ３はそれぞれページ単位で同時に書き込みを行う。各消去ブロックＥＢ（４ＫＢ＝４２２４Ｂ）は夫々ページ０，ページ１の２ページから構成される。メモリチップＡ，Ｂのバンク毎に１つずつの消去ブロックから構成される全８消去ブロックを論理セクションＬＳとする。不揮発性メモリ１１７全体はＬＳ０〜ＬＳ２５５の２５６セクションから構成される。
以上のように構成された半導体メモリカード、及びアクセス装置について、以下第１０図、第１１図を中心にその動作を説明する。まずアクセス装置１００の電源が投入され初期化する際に、もしくはアクセス装置１００上でのスイッチ操作があったときに、スピードモードが転送され、ホスト情報メモリ１４２に格納される。不揮発性メモリアクセス部１４４はホスト情報メモリ１４２に格納されたスピードモードを参照して、アクセスの形態を決定する。
次に高速スピードモードの場合について、第１１図を用いて説明する。高速モードで書込みを行う場合、アクセス装置１００から書き込みデータＡ，Ｂ，Ｃ，Ｄ…が第１１図に示すように連続してホストインターフェース部１１２を介して転送される。ここで書込みデータの論理アドレスは連続したアドレスとする。こうして転送されたデータは一旦バッファに保持される。このアドレスは論物変換制御部１４３によって物理アドレスに変換される。データ及びアドレスはバスＮｏ．０を通じてメモリチップＡに書込まれる。ここでＷＣはライトコマンドを示す。又Ｔ１はデータ転送期間、Ｔ２は実際にメモリチップＡに書込み処理を行うプログラムビジー時間である。バスＮｏ．０のデータ転送が終了すると、続いてバスＮｏ．１に対してライトコマンド、続けてＴ１期間にデータＢのデータ転送が行われる。メモリチップＢに対し、Ｔ２期間でデータの書込みが行われる。この書込み中にもメモリチップＡへの書込み処理が終了すると、バスＮｏ．０よりライトコマンド、データＣのデータ転送及び書込みが行われる。又メモリチップＢに対しては書込みが終わると、ライトコマンド、データＤの転送、データの書込み処理が行われる。このようにデータＡ，Ｃの書込みとデータＢ，Ｄの書込みの時間が第１１図に示すように重なるが、並列して書込むことによって高速な書込み処理が行われる。
一方、ホスト情報メモリ１４２に設定したスピードモードが低速スピードモードの場合については、第１２図を用いて説明する。書き込みデータＡ，Ｂ，Ｃ，Ｄ…の実際の書込み期間、即ちプログラムビジー期間は、データ転送などに比較して電流を多く消費する期間である。低速モードではプログラムビジー時間が時間的に重ならないように書き込み制御される。具体的にはバスＮｏ．０に対しライトコマンドＷＣを発行し、データＡの転送を行うと、メモリチップＡの書込みが行われ、その間プログラムビジー（ＢＵＳＹ）となる。不揮発性メモリアクセス部１４４はこの書込み処理が終了し、書き込み対象であるメモリチップＡのプログラムビジー信号（ＢＵＳＹ）の解除が不揮発性メモリアクセス部１４４へ通知されるまで、カードビジー信号をアクセス装置１００に対してフィードバックし、データ転送を停止させる。その後停止が解除されると、アクセス装置１００から引き続いてデータＢが転送される。この後バスＮｏ．１に対しライトコマンドＷＣを発行し、データＢのデータ転送を行う。そうすればメモリチップによる書込みの際プログラムビジー（ＢＵＳＹ）となる。この間もアクセス装置１００よりデータの転送を停止させる。書込みが終了すると、次のデータＣが転送され、同様の処理が繰り返される。このような双方向制御により電流を多く消費するプログラムビジー期間が分散され、ピーク電流を抑えることができる。
従って電源供給回路の耐電流値の低いアクセス装置１００を使用する場合は低速スピードモードを選択すべく、アクセス装置１００がホスト情報メモリ１４２に低速モードを設定する。一方電源供給回路の耐電流値の高いアクセス装置１００を使用する場合において高速アクセスを要求する場合は、高速スピードモードをホスト情報メモリ１４２に設定する。不揮発性メモリアクセス部１４４は、第１１図または第１２図に示すアクセス形態を選択して、それぞれに対応した書き込み制御を行う。
尚この実施例では、２つのメモリチップＡ，Ｂを用いて夫々データ書込みの重なりを許容する高速モードと、重なりを許容しない低速モードとを切換えている。メモリチップが更に多数、例えば４つの場合には、２つのメモリチップの重なった書込みを許容する低速モードと全てのメモリチップへの書込みを同時に行うことができる高速モードのように切換えることもできる。又低速モードではいずれか１つのメモリチップへの書込みのみを許容し、高速モードで２以上のメモリチップへの重複書込みを許容するようにしてもよい。
この実施例による半導体メモリカードは、アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、
前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続され、データの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられる書き込みスピードモードを一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行う不揮発性メモリアクセス部と、を具備する半導体メモリカードである。
ここで、前記ホスト情報メモリに保持されている書き込みスピードモードが高速モードの場合に、前記複数の不揮発性メモリチップに対して並列に書き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モードの場合に、前記複数の不揮発性メモリチップに対して順次に書き込みを行うものとすることができる。
また、本実施例による半導体メモリ制御方法は、複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行うものとすることができる。
【実施例３】  次に本発明の実施例３について説明する。第１３図はこの実施例による半導体メモリカードを示すブロック図である。第１３図においてアクセス装置１００には、半導体メモリカード１１１が接続される。半導体メモリカード１１１は、ホストインターフェース（Ｉ／Ｆ）部１１２、ＣＰＵ１１３、ＲＡＭ１１４、ＲＯＭ１１５、メモリコントローラ１５１、不揮発性メモリ１１７、及びホスト情報メモリ１５５を含む。ホストインターフェース部１１２は、アクセス装置１００と制御信号及びデータを送受信するインターフェースである。ＲＯＭ１１５には半導体メモリカード１１１を制御するプログラムが格納されている。このプログラムはＲＡＭ１１４を一時記憶領域として使用し、ＣＰＵ１１３上で動作する。メモリコントローラ１５１は不揮発性メモリ１１７を制御する素子である。不揮発性メモリ１１７は半導体メモリカード１１１内のデータ記憶領域である。メモリコントローラ１５１は論物変換制御部１５２、空き物理領域生成部１５３、及び不揮発性メモリアクセス部１５４を含む。論物変換制御部１５２は後述するように、論物変換テーブル１５６とエントリテーブル１５７とを含むものである。又空き物理領域生成部１５３は、不揮発性メモリ１１７内の記録状態を整理し空きブロック（消去済みブロック）を増加させ、書込み前に消去することなくいつでも書き込みができる状態にするものである。不揮発性メモリ１１７は、１つのメモリチップでもよく、複数の不揮発性メモリを用いたものであってもよい。また不揮発性メモリ１１７内の消去ブロックは、実施例１の第３図と同様であるとする。
ここで空き物理領域生成部１５３は、各消去ブロック単位で所定の閾値Ｔｈ１以上のセクタにデータが書込まれた時点でその消去ブロックをデフラグ対象ブロックとし、後述する論物変換制御部１５２のエントリテーブルに登録する。又後述するように、エントリテーブル内の空きブロックを計数し、計数値が所定の閾値Ｔｈ２以下となったときにデフラグ要求信号をアクセス装置１００に送信するものである。
第１４図は論物変換制御部１５２を示した説明図である。論物変換制御部１５２は、アクセス装置１００から指定された論理セクタアドレスＬＳＡから物理セクタアドレスＰＳＡへの変換処理及び各物理ブロックの状態を管理するテーブルである。このテーブルは、論理セクタアドレスＬＳＡを物理セクタアドレスＰＳＡに変換する論物変換テーブル１５６と、エントリテーブル１５７から成り立っている。エントリテーブル１５７は各物理ブロックアドレスＰＢＡ０〜Ｍ−１に対応して各物理ブロックの状態を示す３ビットの情報が保持されている。ここで０００は有効ブロック、０１１は無効ブロック、０１０は不良ブロック、００１は空きブロック、即ち消去済みブロック、１００はデフラグの対象となるブロックを示す。これらの２つのテーブルはＲＡＭ等の揮発性メモリに記憶されている。電源オン直後の初期化時において、ＣＰＵ１１３は不揮発性メモリ１１７の各消去ブロックの管理領域に格納された情報を読み出し、論物変換制御部１５２内のＲＡＭ上に論物変換テーブル１５６やエントリテーブル１５７を作成する。
以上のように構成された半導体メモリカード、及びアクセス装置について、以下第１５図，第１６図を中心にその動作を説明する。アクセス装置１００が半導体メモリカードに書き込み等の処理を行っていくうちに、次第に不揮発性メモリ１１７の空きブロックが少なくなってくる。ここで本実施例３では、実施例２のように、消去ブロック内の各セクタ（ページ）は論理順に書き込まず、アクセス装置１００が転送する論理セクタはその論理セクタアドレスに関わらず、消去ブロックの昇順に書込むものとする。具体的には第１５図に示すように、アクセス装置１００から論理セクタＬＳ４，ＬＳ０，ＬＳ０，ＬＳ１，ＬＳ３…への書き込み命令があると、消去ブロック１のセクタナンバーの０，１，２，３…位置に昇順に書込んでいく。尚Ｎは新規フラグ情報を示すフラグ、０は旧情報を示すフラグである。
第１６図は半導体メモリカードの処理を示すフローチャートである。動作を開始すると、まずステップＳ３０１においてアクセス要求があるかどうかをチェックし、又アクセス要求でなければデフラグ指示かどうかをチェックする（ステップＳ３０２）。アクセス要求があればステップＳ３０３においてカードアクセスを行う。そしてステップＳ３０３において書込んだ不揮発性メモリの消去ブロック中の有効セクタが閾値Ｔｈ１を超えているかどうかをチェックする。閾値Ｔｈ１以下であればステップＳ３０１，３０２のループに戻って同様の処理を繰り返す。カードアクセスが進んで消去ブロック内に閾値Ｔｈ１を超えるセクタが書き込まれた時点で、空き物理領域生成部１５３はその消去ブロックをデフラグ対象ブロックとして第１４図のエントリテーブル１５７に登録する（ステップＳ３０５）。そしてアクセス装置１００が続いて転送してきた論理セクタのデータは別の空きブロック（消去済みブロック）をエントリテーブル１５７からサーチして書き込んでいく。これを続けることにより次第にエントリテーブル中の空きブロックが少なくなり、反対にデフラグ対象ブロックが多くなってくる。空き物理領域生成部１５３はステップＳ３０５において消去ブロックをデフラグ対象フラグとした後、ステップＳ３０６に進んで空きブロック数を計数し、閾値Ｔｈ２以下であるかどうかをチェックする。空きブロック数が閾値Ｔｈ２を超えていればステップＳ３０１，３０２のループに戻って同様の処理を繰り返す。空きブロック数が閾値以下の場合には通常デフラグ対象のブロック数も多いと考えられるので、ステップＳ３０７に進んでデフラグ要求信号をアクセス装置１００に送る。尚ステップＳ３０６において、空きブロック数でなくデフラグ対象フラグを計数しても良い。またステップＳ３０７では、デフラグ要求信号に代えてアクセスカウント値をアクセス装置１００に送るようにしてもよい。
アクセス装置１００は、デフラグ要求信号を受け付けた後に直ちにデフラグ指示信号を半導体メモリカード１１１に転送してもよい。また上記カウント値が得られたときにはカウント値に基づき、この後に転送するデータ容量に応じて、デフラグ指示信号の転送時期を見極めた上でデフラグ指示信号を発行してもよい。メモリカードはアクセス装置からデフラグ要求信号を受け付けると、ステップＳ３０２からステップＳ３０８に進んで、アクセス装置１００から転送されたデフラグ指示信号をホスト情報メモリ１５５に一時記憶する。そして空き物理領域生成部１５３がこれを参照して、不揮発性メモリアクセス部１５４に対してデフラグ処理の指示を発行する。
例えば第１５図において、消去ブロックＥＢ１とＥＢ５はいずれもデフラグ対象ブロックとして登録された消去ブロックとする。この場合、消去ブロックＥＢ１，ＥＢ５の各セクタナンバー（新規フラグＮがマークされたセクタのみ）をみて、空きの消去ブロック９に論理セクタ順にマージ処理を行うように、不揮発性メモリアクセス部１５４に読み書き指示を発行する。不揮発性メモリアクセス部１５４はその指示に従い、第１５図に示すように消去ブロックＥＢ１とＥＢ５から新規フラグＮの立った論理セクタから空き消去ブロックＥＢ９にコピーする。この後に消去ブロックＥＢ１，ＥＢ５は無効ブロックとしてエントリテーブル１５７に登録する。こうすれば半導体メモリカードがアクセス装置からの指示なくデフラグする場合に比べて、アクセス装置からの指示によってデフラグするので、速度低下なく、必要な時期にデフラグを行うことができる。
尚、論物変換テーブルやエントリテーブルは、比較的高速にアクセスできればＲＡＭ以外の揮発性読み書きメモリを使用しても構わない。
ここで本実施例による半導体メモリカードは、アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、
前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられるデフラグ指示信号を一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリの消去済みブロックの残量を検出し、消去済みブロックの数が所定数以下のときに前記アクセス装置に対してデフラグ要求信号を発行すると共に、ホスト情報メモリにデフラグ指示信号が一時記憶されているときにデフラグを実行する空き物理領域生成部を有する半導体メモリカードである。
また本実施例による半導体メモリの制御方法は、複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
前記アクセス装置から与えられるデフラグ指示信号をホスト情報メモリに一時記憶し、
前記不揮発性メモリの消去済みブロックの残量を検出し、
消去済みブロックの数が所定数以下のときに前記アクセス装置に対してデフラグ要求信号を発行し
ホスト情報メモリにデフラグ指示信号が一時記憶されているときにデフラグを実行するものである。
【実施例４】  第１７図は、本発明の実施例４におけるアクセス装置と半導体メモリカードを示したブロック図である。第１７図においてアクセス装置１００には、半導体メモリカード１１１が接続される。半導体メモリカード１１１は、ホストインターフェース（Ｉ／Ｆ）部１１２、ＣＰＵ１１３、ＲＡＭ１１４、ＲＯＭ１１５、メモリコントローラ１６１、不揮発性メモリ１６４、及びホスト情報メモリ１６５を含む。ホストインターフェース部１１２は、アクセス装置１００と制御信号及びデータを送受信するインターフェースである。ＲＯＭ１１５には半導体メモリカード１１１を制御するプログラムが格納されている。このプログラムはＲＡＭ１１４を一時記憶領域として使用し、ＣＰＵ１１３上で動作する。メモリコントローラ１６１は不揮発性メモリ１６４を制御する素子である。不揮発性メモリ１６４は半導体メモリカード１１１内のデータ記憶領域である。メモリコントローラ１６４は論物変換制御部１６２、及び不揮発性メモリアクセス部１６３を含む。不揮発性メモリアクセス部１６３は、メモリコントローラ１６１より直接不揮発性メモリ１６４にアクセスしてデータの書込み、読出し、及び消去を行うものである。
又ホスト情報メモリ１６５はアクセス装置１００からのアロケーションテーブル更新指示信号を一時的に保持するものである。
第１８図は不揮発性メモリ１６４の内部構成を示した説明図である。不揮発性メモリ１６４における消去ブロックやページの仕様は、実施例２の不揮発性メモリチップと同様である。不揮発性メモリ１６４は実施例１〜３と異なり、アドレス管理情報は不揮発性メモリ１６４内のアロケーションテーブル（ＡＴ）領域に、論物変換テーブルやエントリテーブルのフォーマット形式にて記憶されている。ここでアロケーションテーブル（ＡＴ）とは、メモリコントローラ１６１が不揮発性メモリ１６４を管理するためのテーブルを示す。アロケーションテーブル領域（ＡＴ領域）は管理情報であるＡＴをデータ領域とは別の領域にまとめて記録するものである。不揮発性メモリ１６４に存在する消去ブロック数が非常に多い場合においては、実施例１〜３のように初期化時に各消去ブロックの管理領域の管理情報に基づいてＲＡＭ上に論物変換テーブルやエントリテーブルを生成する方法をとると、時間が比較的長くかかる。そこで消去ブロック数が多い不揮発性メモリを使用する場合には、初期化時間を短縮するために、不揮発性メモリ１６４の特定のＡＴ領域に集中して管理情報を保持するＡＴ管理方式（以下、集中型格納方式という）がとられる。
論物変換制御部１６２は論物変換テーブルとエントリテーブルを含む。両者共ＲＡＭなどの揮発性メモリに記憶されている。電源オン直後の初期化時において、不揮発性メモリ１６４のＡＴ領域上のアロケーションテーブルをＣＰＵ１１３が読み出し、論物変換制御部１６２内のＲＡＭ上に論物変換テーブルやエントリテーブルを作成する。ＡＴ領域からのデータの読出し、即ちＡＴリードは、ＡＴが全データ領域を管理する場合は、初期化時のみだけでよい。
以上のように構成された半導体メモリカード、及びアクセス装置について、以下第１８図〜第２０図を中心にその動作を説明する。第１９図は従来の不揮発性メモリアクセス部のアクセス形態、第２０図は不揮発性メモリアクセス部１６３のアクセス形態を示した説明図である。従来の半導体メモリカードでは、アクセス装置１００からデータを書き込む毎に、論物変換制御部１６２のテーブルを同時に更新する。従って更新された論物変換制御部１６２のテーブルを不揮発性メモリ１６４に書き戻す処理が必要であった。第１９図はデータ書込み情報の処理を示しており、データライトはデータの書込みの期間、ＡＴライトは論物変換制御部１６２の更新されたテーブルを不揮発性メモリ１６４のＡＴ領域に書き戻す処理を示している。
このＡＴライトに要する時間的オーバヘッドにより処理パフォーマンス面が低下する。特に、データライトの容量が小さい場合には、全体の処理時間（データライト時間＋ＡＴライト時間）に対してＡＴライト時間の割合が比較的大きくなるので、問題となる。
アクセス装置１００が例えば数百ＫＢオーダのサイズのユーザデータを連続で書き込み、更にアクセス装置１００側のＦＡＴの更新も数百ＫＢオーダで更新するシステムにおいては、ＡＴもその周期に対応して更新すればよい。その理由は、ファイル・アロケーションテーブル（以下、ＦＡＴという）が更新されて不揮発性メモリ１６４への書き込みが完了する前に電源遮断などが起きた場合、ＦＡＴは更新されないので、ＡＴも更新する必要がない。逆にＦＡＴ更新とＡＴ更新の整合をとった方が合理的であると言える。アクセス装置１００はその使用用途によって、ＦＡＴ更新のスパンは異なる。従って、使用用途に応じて処理パフォーマンスの最適化を行う為に、アクセス装置１００側からＡＴ更新のタイミングを制御し、ＡＴ更新指示信号を転送すれば良い。そこで本実施例４においては、アクセス装置１００がＡＴの更新を指示するＡＴ更新指示信号を用いる。
本実施例では第２０図に示すように、複数のデータを書込んだ後、ＦＡＴの書込みを終え、その後ホストであるアクセス装置１００より半導体メモリカードにＡＴ更新指示信号が与えられる。ＡＴ更新指示信号は一旦ホスト情報メモリ１６５に保持される。不揮発性メモリアクセス部１６３は更新されている論物変換制御部１６２内の論物変換テーブルや変換テーブルの情報をＡＴとして不揮発性メモリ１６４のＡＴ領域に書込む。
同様にして複数のデータを消去した場合にも、ＦＡＴの書込みを終え、その後ホストであるアクセス装置１００より半導体メモリカードにＡＴ更新指示信号が与えられる。ＡＴ更新指示信号は一旦ホスト情報メモリ１６５に保持される。不揮発性メモリアクセス部１６３は更新されている論物変換制御部１６２内の論物変換テーブルや変換テーブルの情報をＡＴとして不揮発性メモリ１６４のＡＴ領域に書込む。こうすればＡＴライトする際の時間的なオーバーヘッドを少なくし、処理パフォーマンスを向上させることができる。
ここで、本実施例による半導体メモリカードは、アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化され、アドレス管理情報領域とユーザデータ領域とが夫々異なったブロックに保持される不揮発性メモリと、
アドレス管理情報を保持する揮発性メモリを有し、前記不揮発性メモリに対してデータの消去、書き込み、読み出しを行い、データの消去、書き込みをする毎に前記揮発性メモリを更新するメモリコントローラと、
アクセス装置から転送されたアドレス管理情報更新信号を一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記アクセス装置から書き込み命令とデータが与えられたときに転送されたデータを前記不揮発性メモリに書き込み、消去命令が与えられたときに指定されたブロックを消去すると共に、前記ホスト情報メモリに前記アドレス管理情報更新信号が保持されているときに、前記メモリコントローラの揮発性メモリに保持されているアドレス管理情報を前記不揮発性メモリのアドレス管理情報領域に書き込む不揮発性メモリアクセス部を備えたことを特徴とする半導体メモリカードである。
また、本実施例による半導体メモリの制御方法は、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化され、アドレス管理情報領域とユーザデータ領域とが夫々異なったブロックに保持される不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
アドレス管理情報を保持する揮発性メモリを有し、前記不揮発性メモリに対してデータの消去、書き込みをする毎に前記揮発性メモリを更新し、
アクセス装置から転送されたアドレス管理情報更新信号をホスト情報メモリに一時記憶し、
前記アクセス装置から書き込み命令とデータが与えられたときに転送されたデータを前記不揮発性メモリに書き込み、
消去命令が与えられたときに指定されたブロックを消去し、
前記ホスト情報メモリに前記アドレス管理情報更新信号が保持されているときに、前記メモリコントローラの揮発性メモリに保持されているアドレス管理情報を前記不揮発性メモリのアドレス管理情報領域に書き込むことを特徴とするものである。
産業上の利用の可能性
本発明に関わる半導体メモリカード、半導体メモリ制御装置は、アクセス装置側、半導体メモリカード側のいずれか、あるいは両者の処理を最適化することにより、半導体メモリカードに対する高速アクセスを実現することができる。このような半導体メモリカード、及びアクセス装置または方法は、半導体メモリカードを記録媒体として使用するデジタルＡＶ機器や携帯電話端末、デジタルカメラ、ＰＣ等に利用できる。また、転送レートの高い高品質ＡＶデータを記録する記録媒体、及び機器に使用する場合、特に好適に機能する。
【図１】
2005029311.tif 000003
【図２】
2005029311.tif 000004
【図３】
2005029311.tif 000005
【図４】
2005029311.tif 000006
【図５】
2005029311.tif 000007
【図６】
2005029311.tif 000008
【図７】
2005029311.tif 000009
【図８】
2005029311.tif 000010
【図９】
2005029311.tif 000011
【図１０】
2005029311.tif 000012
【図１１】
2005029311.tif 000013
【図１２】
2005029311.tif 000014
【図１３】
2005029311.tif 000015
【図１４】
2005029311.tif 000016
【図１５】
2005029311.tif 000017
【図１６】
2005029311.tif 000018
【図１７】
2005029311.tif 000019
【図１８】
2005029311.tif 000020
【図１９】
2005029311.tif 000021
【図２０】
2005029311.tif 000022
【手続補正書】
【提出日】平成17年11月29日(2005.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、
前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを一時記憶するホスト情報メモリと、を具備し
前記メモリコントローラは、
前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、前記無効ブロックを消去する際には１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する空き物理領域生成部を有する半導体メモリカード。
【請求項２】
前記空き物理領域生成部は、書き込みデータを書き込む時間に相当する消去時間となるように、消去するブロック数を決定する請求項１記載の半導体メモリカード。
【請求項３】
前記メモリコントローラは、前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続されている請求項１記載の半導体メモリカード。
【請求項４】
前記不揮発性メモリは、２つの不揮発性メモリチップから成り、一方の不揮発性メモリチップへの書き込み処理をする期間に、他方の不揮発性メモリチップ内の無効ブロックを消去する請求項１記載の半導体メモリカード。
【請求項５】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリに接続されて使用される半導体メモリ制御装置であって、
制御信号及びデータをアクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを一時記憶するホスト情報メモリと、を具備し
前記メモリコントローラは、
前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、前記無効ブロックを消去する際には１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する空き物理領域生成部を有する半導体メモリ制御装置。
【請求項６】
前記空き物理領域生成部は、書き込みデータを書き込む時間に相当する消去時間となるように、消去するブロック数を決定する請求項５記載の半導体メモリ制御装置。
【請求項７】
前記メモリコントローラは、前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続されている請求項５記載の半導体メモリ制御装置。
【請求項８】
前記不揮発性メモリは、２つの不揮発性メモリチップから成り、一方の不揮発性メモリチップへの書き込み処理をする期間に、他方の不揮発性メモリチップ内の無効ブロックを消去する請求項５記載の半導体メモリ制御装置。
【請求項９】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとをホスト情報メモリに一時記憶し、
前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスとデータサイズの値に基づいて、前記不揮発性メモリの無効ブロックを消去するか否かを決定し、
前記無効ブロックを消去する際には、１つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理する半導体メモリ制御方法。
【請求項１０】
前記無効ブロックを消去する際には、書き込みデータを書き込む時間に相当する消去時間となるように、消去するブロック数を決定する請求項９記載の半導体メモリ制御方法。
【請求項１１】
前記不揮発性メモリは、２つの不揮発性メモリチップから成り、一方の不揮発性メモリチップへの書き込み処理をする期間に、他方の不揮発性メモリチップ内の無効ブロックを消去する請求項９記載の半導体メモリ制御方法。
【請求項１２】
アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、
前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続され、データの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられる書き込みスピードモードを一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行う不揮発性メモリアクセス部と、を具備する半導体メモリカード。
【請求項１３】
前記メモリコントローラは、
前記ホスト情報メモリに保持されている書き込みスピードモードが高速モードの場合に、前記複数の不揮発性メモリチップに対して並列に書き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モードの場合に、前記複数の不揮発性メモリチップに対して順次に書き込みを行う請求項１２記載の半導体メモリカード。
【請求項１４】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリに接続されて使用される半導体メモリ制御装置であって、
制御信号及びデータをアクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続され、データの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられる書き込みスピードモードを一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行う不揮発性メモリアクセス部と、を具備する半導体メモリ制御装置。
【請求項１５】
前記メモリコントローラは、
前記ホスト情報メモリに保持されている書き込みスピードモードが高速モードの場合に、前記複数の不揮発性メモリチップに対して並列に書き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モードの場合に、前記複数の不揮発性メモリチップに対して順次に書き込みを行う請求項１４記載の半導体メモリ制御装置。
【請求項１６】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリ、及びアクセス装置から与えられる書き込みスピードモードを一時記憶するホスト情報メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行う半導体メモリ制御方法。
【請求項１７】
前記ホスト情報メモリに保持されている書き込みスピードモードが高速モードの場合に、前記複数の不揮発性メモリチップに対して並列に書き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モードの場合に、前記複数の不揮発性メモリチップに対して順次に書き込みを行う請求項１６記載の半導体メモリ制御方法。
【請求項１８】
アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、
前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられるデフラグ指示信号を一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリの消去済みブロックの残量を検出し、消去済みブロックの数が所定数以下のときに前記アクセス装置に対してデフラグ要求信号を発行すると共に、前記ホスト情報メモリにデフラグ指示信号が一時記憶されているときにデフラグを実行する空き物理領域生成部を有する半導体メモリカード。
【請求項１９】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリに接続されて使用される半導体メモリ制御装置であって、
制御信号及びデータをアクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
前記不揮発性メモリに対するデータの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられるデフラグ指示信号を一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリの消去済みブロックの残量を検出し、消去済みブロックの数が所定数以下のときに前記アクセス装置に対してデフラグ要求信号を発行すると共に、前記ホスト情報メモリにデフラグ指示信号が一時記憶されているときにデフラグを実行する空き物理領域生成部を有する半導体メモリ制御装置。
【請求項２０】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
アクセス装置から与えられるデフラグ指示信号をホスト情報メモリに一時記憶し、
前記不揮発性メモリの消去済みブロックの残量を検出し、
消去済みブロックの数が所定数以下のときに前記アクセス装置に対してデフラグ要求信号を発行し、
前記ホスト情報メモリにデフラグ指示信号が一時記憶されているときにデフラグを実行する半導体メモリ制御方法。
【請求項２１】
アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化され、アドレス管理情報領域とユーザデータ領域とが夫々異なったブロックに保持される不揮発性メモリと、
アドレス管理情報を保持する揮発性メモリを有し、前記不揮発性メモリに対してデータの消去、書き込み、読み出しを行い、データの消去、書き込みをする毎に前記揮発性メモリを更新するメモリコントローラと、
前記アクセス装置から転送されたアドレス管理情報更新信号を一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記アクセス装置から書き込み命令とデータが与えられたときに転送されたデータを前記不揮発性メモリに書き込み、消去命令が与えられたときに指定されたブロックを消去すると共に、前記ホスト情報メモリに前記アドレス管理情報更新信号が保持されているときに、前記メモリコントローラの揮発性メモリに保持されているアドレス管理情報を前記不揮発性メモリのアドレス管理情報領域に書き込む不揮発性メモリアクセス部を備えた半導体メモリカード。
【請求項２２】
複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化され、アドレス管理情報領域とユーザデータ領域とが夫々異なったブロックに保持される不揮発性メモリに接続されて使用される半導体メモリ制御装置であって、
制御信号及びデータをアクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
アドレス管理情報を保持する揮発性メモリを有し、前記不揮発性メモリに対してデータの消去、書き込み、読み出しを行い、データの消去、書き込みをする毎に前記揮発性メモリを更新するメモリコントローラと、
前記アクセス装置から転送されたアドレス管理情報更新信号を一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記アクセス装置から書き込み命令とデータが与えられたときに転送されたデータを前記不揮発性メモリに書き込み、消去命令が与えられたときに指定されたブロックを消去すると共に、前記ホスト情報メモリに前記アドレス管理情報更新信号が保持されているときに、前記メモリコントローラの揮発性メモリに保持されているアドレス管理情報を前記不揮発性メモリのアドレス管理情報領域に書き込む不揮発性メモリアクセス部を備えた半導体メモリ制御装置。
【請求項２３】
複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化され、アドレス管理情報領域とユーザデータ領域とが夫々異なったブロックに保持される不揮発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
アドレス管理情報を保持する揮発性メモリを有し、前記不揮発性メモリに対してデータの消去、書き込みをする毎に前記揮発性メモリを更新し、
前記アクセス装置から転送されたアドレス管理情報更新信号をホスト情報メモリに一時記憶し、
前記アクセス装置から書き込み命令とデータが与えられたときに転送されたデータを前記不揮発性メモリに書き込み、
消去命令が与えられたときに指定されたブロックを消去し、
前記ホスト情報メモリに前記アドレス管理情報更新信号が保持されているときに、前記揮発性メモリに保持されているアドレス管理情報を前記不揮発性メモリのアドレス管理情報領域に書き込む半導体メモリ制御方法。
【手続補正書】
【提出日】平成18年7月20日(2006.7.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アクセス装置に接続されて使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリと、
前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続され、データの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられる書き込みスピードモードを一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行う不揮発性メモリアクセス部と、を具備する半導体メモリカード。
【請求項２】
前記メモリコントローラは、
前記ホスト情報メモリに保持されている書き込みスピードモードが高速モードの場合に、前記複数の不揮発性メモリチップに対して並列に書き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モードの場合に、前記複数の不揮発性メモリチップに対して順次に書き込みを行う請求項１記載の半導体メモリカード。
【請求項３】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリに接続されて使用される半導体メモリ制御装置であって、
制御信号及びデータをアクセス装置に対して送信し、前記アクセス装置からの信号を受信するホストインターフェース部と、
前記複数の不揮発性メモリチップと夫々独立した双方向性バスで接続され、データの消去、書き込み、読み出しを制御するメモリコントローラと、
前記アクセス装置から与えられる書き込みスピードモードを一時記憶するホスト情報メモリと、を具備し、
前記メモリコントローラは、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行う不揮発性メモリアクセス部と、を具備する半導体メモリ制御装置。
【請求項４】
前記メモリコントローラは、
前記ホスト情報メモリに保持されている書き込みスピードモードが高速モードの場合に、前記複数の不揮発性メモリチップに対して並列に書き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モードの場合に、前記複数の不揮発性メモリチップに対して順次に書き込みを行う請求項３記載の半導体メモリ制御装置。
【請求項５】
複数の不揮発性メモリチップを含み、複数の連続するセクタがデータ消去の最小単位であるブロックとしてグループ化された不揮発性メモリ、及びアクセス装置から与えられる書き込みスピードモードを一時記憶するホスト情報メモリを有する半導体メモリカードにおける半導体メモリ制御方法であって、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、前記複数の不揮発性メモリチップに対して書き込みを行う半導体メモリ制御方法。
【請求項６】
前記ホスト情報メモリに保持されている書き込みスピードモードが高速モードの場合に、前記複数の不揮発性メモリチップに対して並列に書き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モードの場合に、前記複数の不揮発性メモリチップに対して順次に書き込みを行う請求項５記載の半導体メモリ制御方法。
【国際調査報告】
2005029311.tif 000023
2005029311.tif 000024
2005029311.tif 000025
2005029311.tif 000026