(57)【要約】【課題】フラッシュメモリの寿命を効果的に延命する。【解決手段】コントローラ１６により、上位装置２から書込要求されたデータを、フラッシュメモリ１１に代えてＲＡＭ１４へ当該ホスト書込アドレスごとに別個に書き込むとともに、当該ホスト書込アドレスと当該データのＲＡＭ書込アドレスとの対応関係をアドレステーブル１５Ａへ登録し、データをＲＡＭに書き込む際、アドレステーブル１５Ａにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、ＲＡＭの空き記憶エリアへデータを新規に書き込み、アドレステーブル１５Ａにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、データで当該ＲＡＭ書込アドレスのデータを書き換える。【選択図】  図１
2008181456.tif 000002
【特許請求の範囲】
【請求項１】
書換可能な不揮発性半導体記憶回路からなるフラッシュメモリと、前記フラッシュメモリに書き込むデータを一時的に記憶するＲＡＭとを備え、上位装置から書込要求されたデータをＲＡＭへ書き込むとともに、前記ＲＡＭに書き込んだデータを必要に応じてフラッシュメモリへ転送する半導体記憶装置であって、
前記ＲＡＭに書き込んだデータごとに、当該書込要求で指定されたホスト書込アドレスと前記ＲＡＭ上のＲＡＭ書込アドレスとの対応関係をアドレステーブルで記憶する記憶部と、上位装置から書込要求されたデータを、前記フラッシュメモリに代えて前記ＲＡＭへ当該ホスト書込アドレスごとに別個に書き込むとともに、当該ホスト書込アドレスと当該データのＲＡＭ書込アドレスとの対応関係を前記アドレステーブルへ登録するコントローラとを備え、
前記コントローラは、前記データを前記ＲＡＭに書き込む際、前記アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、前記ＲＡＭの空き記憶エリアへ前記データを新規に書き込むＲＡＭ新規書込部と、前記データを前記ＲＡＭに書き込む際、前記アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、前記データで当該ＲＡＭ書込アドレスのデータを書き換えるＲＡＭ書換部とを有する
ことを特徴とする半導体記憶装置。
【請求項２】
請求項１に記載の半導体記憶装置において、
前記コントローラは、上位装置からの動作終了通知に応じて前記ＲＡＭ上のすべてデータを前記フラッシュメモリへ書き込むフラッシュメモリ書込部をさらに有することを特徴とする半導体記憶装置。
【請求項３】
請求項１に記載の半導体記憶装置において、
前記コントローラは、前記データを前記ＲＡＭに書き込む際、前記ＲＡＭに空き記憶エリアがない場合は、前記ＲＡＭ上のデータのすべてまたは一部を前記フラッシュメモリへ書き込むフラッシュメモリ書込部をさらに有することを特徴とする半導体記憶装置。
【請求項４】
書換可能な不揮発性半導体記憶回路からなるフラッシュメモリと、前記フラッシュメモリに書き込むデータを一時的に記憶するＲＡＭとを備え上位装置から書込要求されたデータをＲＡＭへ書き込むとともに、前記ＲＡＭに書き込んだデータを必要に応じてフラッシュメモリへ転送する半導体記憶装置の書込制御方法であって、
記憶部により、前記ＲＡＭに書き込んだデータごとに、当該書込要求で指定されたホスト書込アドレスと前記ＲＡＭ上のＲＡＭ書込アドレスとの対応関係をアドレステーブルで記憶する記憶ステップと、
コントローラにより、上位装置から書込要求されたデータを、前記フラッシュメモリに代えて前記ＲＡＭへ当該ホスト書込アドレスごとに別個に書き込むとともに、当該ホスト書込アドレスと当該データのＲＡＭ書込アドレスとの対応関係を前記アドレステーブルへ登録する書込制御ステップとを備え、
前記書込制御ステップは、前記データを前記ＲＡＭに書き込む際、前記アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、前記ＲＡＭの空き記憶エリアへ前記データを新規に書き込むＲＡＭ新規書込ステップと、前記データを前記ＲＡＭに書き込む際、前記アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、前記データで当該ＲＡＭ書込アドレスのデータを書き換えるＲＡＭ書換ステップとを有する
ことを特徴とする書込制御方法。
【請求項５】
請求項４に記載の半導体記憶装置の書込制御方法において、
前記書込制御ステップは、上位装置からの動作終了通知に応じて前記ＲＡＭ上のすべてデータを前記フラッシュメモリへ書き込むフラッシュメモリ書込ステップをさらに有することを特徴とする書込制御方法。
【請求項６】
請求項４に記載の半導体記憶装置の書込制御方法において、
前記書込制御ステップは、前記データを前記ＲＡＭに書き込む際、前記ＲＡＭに空き記憶エリアがない場合は、前記ＲＡＭ上のデータのすべてまたは一部を前記フラッシュメモリへ書き込むフラッシュメモリ書込ステップをさらに有することを特徴とする書込制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置の制御技術に関し、特に書換可能な不揮発性半導体記憶回路を用いた半導体記憶装置に対する書込制御技術に関する。
【背景技術】
【０００２】
近年、書換可能な不揮発性半導体記憶回路からなるフラッシュメモリの大容量化、低価格化、および高速化などの技術革新に伴い、このようなフラッシュメモリを用いた半導体記憶装置が、パーソナルコンピュータやデジタルカメラなどで広く用いられる。特に、パーソナルコンピュータに用いられるものとして、ハードディスクと互換性を持つ半導体記憶装置もある。
【０００３】
この種のフラッシュメモリは、メモリセルに対し酸化膜を介して書換動作を行うため、酸化膜の劣化に起因する寿命を有している。したがって、従来より、フラッシュメモリへの書込制御を工夫して寿命を延命する技術が検討されている。従来技術の代表的なものとして、フラッシュメモリとは別個にＲＡＭ（揮発性半導体メモリ）を設け、フラッシュメモリへ書き込むデータをＲＡＭへ一時保存しておき、一定時間ごと、あるいは次のデータの書き込みが必要となった時点で、ＲＡＭに一時保存しておいたデータをフラッシュメモリへ書き込むものがある（例えば、特許文献１，２など参照）。
【０００４】
【特許文献１】特開２０００−２７６４０２号公報
【特許文献２】特開平８−１２９５０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来技術では、フラッシュメモリとは別個のＲＡＭに一時保存したデータが、順次、フラッシュメモリに書き込まれるため、フラッシュメモリに対するデータ書き換えが頻繁に発生する場合には、フラッシュメモリの寿命を効果的に延命できないという問題点があった。
【０００６】
例えば、フラッシュメモリを用いた半導体記憶装置では、ハードディスクと互換性を持ち、パーソナルコンピュータのハードディスクに代えて使用されるものがある。このような使用環境においては、パーソナルコンピュータのＯＳで用いるテンポラリファイルなどのファイルが頻繁に書き換えられる。したがって、フラッシュメモリの寿命を効果的に延命する必要がある。
本発明はこのような課題を解決するためのものであり、フラッシュメモリの寿命を効果的に延命することができる半導体記憶装置およびその書込制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
このような目的を達成するために、本発明にかかる半導体記憶装置は、書換可能な不揮発性半導体記憶回路からなるフラッシュメモリと、フラッシュメモリに書き込むデータを一時的に記憶するＲＡＭとを備え、上位装置から書込要求されたデータをＲＡＭへ書き込むとともに、ＲＡＭに書き込んだデータを必要に応じてフラッシュメモリへ転送する半導体記憶装置であって、ＲＡＭに書き込んだデータごとに、当該書込要求で指定されたホスト書込アドレスとＲＡＭ上のＲＡＭ書込アドレスとの対応関係をアドレステーブルで記憶する記憶部と、上位装置から書込要求されたデータを、フラッシュメモリに代えてＲＡＭへ当該ホスト書込アドレスごとに別個に書き込むとともに、当該ホスト書込アドレスと当該データのＲＡＭ書込アドレスとの対応関係をアドレステーブルへ登録するコントローラとを備え、コントローラは、データをＲＡＭに書き込む際、アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、ＲＡＭの空き記憶エリアへデータを新規に書き込むＲＡＭ新規書込部と、データをＲＡＭに書き込む際、アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、データで当該ＲＡＭ書込アドレスのデータを書き換えるＲＡＭ書換部とを有している。
【０００８】
この際、コントローラに、上位装置からの動作終了通知に応じてＲＡＭ上のすべてデータをフラッシュメモリへ書き込むフラッシュメモリ書込部をさらに設けてもよい。
また、コントローラに、データをＲＡＭに書き込む際、ＲＡＭに空き記憶エリアがない場合は、ＲＡＭ上のデータのすべてまたは一部をフラッシュメモリへ書き込むフラッシュメモリ書込部をさらに設けてもよい。
【０００９】
また、本発明にかかる半導体記憶方法は、書換可能な不揮発性半導体記憶回路からなるフラッシュメモリと、フラッシュメモリに書き込むデータを一時的に記憶するＲＡＭとを備え上位装置から書込要求されたデータをＲＡＭへ書き込むとともに、ＲＡＭに書き込んだデータを必要に応じてフラッシュメモリへ転送する半導体記憶装置の書込制御方法であって、記憶部により、ＲＡＭに書き込んだデータごとに、当該書込要求で指定されたホスト書込アドレスとＲＡＭ上のＲＡＭ書込アドレスとの対応関係をアドレステーブルで記憶する記憶ステップと、コントローラにより、上位装置から書込要求されたデータを、フラッシュメモリに代えてＲＡＭへ当該ホスト書込アドレスごとに別個に書き込むとともに、当該ホスト書込アドレスと当該データのＲＡＭ書込アドレスとの対応関係をアドレステーブルへ登録する書込制御ステップとを備え、書込制御ステップは、データをＲＡＭに書き込む際、アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、ＲＡＭの空き記憶エリアへデータを新規に書き込むＲＡＭ新規書込ステップと、データをＲＡＭに書き込む際、アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、データで当該ＲＡＭ書込アドレスのデータを書き換えるＲＡＭ書換ステップとを有している。
【００１０】
この際、書込制御ステップに、上位装置からの動作終了通知に応じてＲＡＭ上のすべてデータをフラッシュメモリへ書き込むフラッシュメモリ書込ステップをさらに設けてもよい。
また、書込制御ステップに、データをＲＡＭに書き込む際、ＲＡＭに空き記憶エリアがない場合は、ＲＡＭ上のデータのすべてまたは一部をフラッシュメモリへ書き込むフラッシュメモリ書込ステップをさらに設けてもよい。
【発明の効果】
【００１１】
本発明によれば、ホスト書込アドレスごとに当該データが個別にＲＡＭへ書き込まれ、書き換えられ、必要に応じてフラッシュメモリへ転送される。したがって、フラッシュメモリに対するデータ書き換えが頻繁に発生する場合でも、フラッシュメモリへの書込回数を大幅に削減することができ、フラッシュメモリの寿命を効果的に延命することが可能となる。このため、ハードディスクと互換性を持ち、パーソナルコンピュータのハードディスクに代えて使用される半導体記憶装置において、ＯＳで用いるテンポラリファイルなどのファイルが頻繁に書き換えられる場合に、極めて大きな作用効果が得られる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかる半導体記憶装置について説明する。図１は、本発明の第１の実施の形態にかかる半導体記憶装置の構成を示すブロック図である。
この半導体記憶装置１は、書換可能な不揮発性半導体回路からなるフラッシュメモリにより、ホストバス３を介して上位装置２から書込要求されたデータを記憶する情報処理装置であり、主な機能部として、フラッシュメモリ１１、フラッシュメモリコントローラ１２、ＲＯＭ１３、ＲＡＭ１４、記憶部１５、およびコントローラ１６が設けられている。
【００１３】
本実施の形態は、コントローラ１６において、上位装置２から書込要求されたデータを、フラッシュメモリ１１に代えてＲＡＭ１４へ当該ホスト書込アドレスごとに別個に書き込むとともに、当該ホスト書込アドレスと当該データのＲＡＭ書込アドレスとの対応関係をアドレステーブル１５Ａへ登録し、データをＲＡＭに書き込む際、アドレステーブル１５Ａにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、ＲＡＭの空き記憶エリアへデータを新規に書き込み、アドレステーブル１５Ａにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、データで当該ＲＡＭ書込アドレスのデータを書き換えるようにしたものである。
【００１４】
次に、図１を参照して、本発明の第１の実施の形態にかかる半導体記憶装置の構成について説明する。
フラッシュメモリ１１は、書換可能な不揮発性半導体記憶回路からなり、上位装置２から書込要求されたデータを記憶エリア１１Ａで記憶する機能を有している。図２は、フラッシュメモリの記憶エリアの構成例である。ここでは、ホスト書込アドレスに応じた複数の記憶エリアが設けられている。
【００１５】
フラッシュメモリコントローラ１２は、専用の制御回路からなり、コントローラ１６からの指示に応じてフラッシュメモリ１１に対する所望のデータの書込／読み出しを制御する機能を有している。
ＲＯＭ１３は、書換不可能な不揮発性半導体記憶回路からなり、コントローラ１６で実行するプログラム１３Ｐを予め記憶する機能を有している。
【００１６】
ＲＡＭ１４は、書換可能な揮発性半導体記憶回路からなり、上位装置２からフラッシュメモリ１１に対して書込要求された個々のデータを、フラッシュメモリ１１に代えて記憶エリア１４Ａでそれぞれ別個に記憶する機能を有している。図３は、ＲＡＭの記憶エリアの構成例である。ここでは、ＲＡＭ書込アドレスに応じた複数の記憶エリアが設けられている。これら記憶エリアにはそれぞれエリア番号が予め割り当てられている。
【００１７】
記憶部１５は、書換可能な揮発性半導体記憶回路からなり、上位装置２からの書込要求で指定されたデータごとに、その書込要求で指定されたホスト書込アドレスとＲＡＭ１４上でのＲＡＭ書込アドレスとの対応関係をアドレステーブル１５Ａで記憶する機能を有している。
本実施の形態では、アドレステーブル１５Ａをホストアドレステーブル１５ＢとＲＡＭアドレステーブル１５Ｃで構成している。
【００１８】
図４は、ホストアドレステーブルの構成例である。ここでは、上位装置２からの書込要求で指定されたデータごとに、その書込要求で指定されたホスト書込アドレスと当該データをＲＡＭ１４上に格納した記憶エリアを示すＲＡＭエリア番号との組がそれぞれ登録されている。
図５は、ＲＡＭアドレステーブルの構成例である。ＲＡＭ１４で記憶しているデータごとに、当該データをＲＡＭ１４上に格納した記憶エリアを示すＲＡＭエリア番号と、当該記憶エリアに関するＲＡＭ１４上での実際の書込アドレスを示すＲＡＭ書込アドレスとの組がそれぞれ登録されている。
【００１９】
コントローラ１６は、ＣＰＵなどのマイクロプロセッサとその周辺回路からなり、ＲＯＭ１３のプログラム１３Ｐを読み込んで実行することにより、上記ハードウェアとプログラム１３Ｐとを協働させてデータ書込制御処理を行う各種処理部を実現する。
コントローラ１６で実現される主な処理部としては、書込制御部１６Ａ、ＲＡＭ新規書込部１６Ｂ、ＲＡＭ書換部１６Ｃ、およびフラッシュメモリ書込部１６Ｄがある。
【００２０】
書込制御部１６Ａは、フラッシュメモリ１１およびＲＡＭ１４に対するデータの書込動作全体を制御する処理部であり、ホストバス３を介して上位装置２とデータ通信を行うことにより、各種要求や通知、さらにはデータを上位装置２との間でやり取りする機能と、上位装置２からフラッシュメモリ１１に対して書込要求された個々のデータを、フラッシュメモリ１１に代えてＲＡＭ１４へそれぞれ別個に書き込む機能と、当該ホスト書込アドレスと当該データを書き込んだＲＡＭ書込アドレスとの対応関係を記憶部１５のアドレステーブル１５Ａへ登録する機能とを有している。
【００２１】
ＲＡＭ新規書込部１６Ｂは、データをＲＡＭに書き込む際、アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、ＲＡＭの空き記憶エリアへデータを新規に書き込む機能を有している。
ＲＡＭ書換部１６Ｃは、データをＲＡＭに書き込む際、アドレステーブルにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、データで当該ＲＡＭ書込アドレスのデータを書き換える機能を有している。
【００２２】
フラッシュメモリ書込部１６Ｄは、上位装置２からの動作終了通知など、当該装置の動作状況に応じて、アドレステーブルに登録されている対応関係に基づきＲＡＭのデータをフラッシュメモリへ書き込む機能を有している。
【００２３】
［第１の実施の形態の動作］
次に、図６を参照して、本発明の第１の実施の形態にかかる半導体記憶装置の動作について説明する。図６は、本発明の第１の実施の形態にかかる半導体記憶装置の書込制御処理を示すフローチャートである。
コントローラ１６は、半導体記憶装置１の起動に応じて、書込制御部１６Ａにより、図６の書込制御処理を開始する。
【００２４】
書込制御部１６Ａは、まず、ＲＡＭ１４の記憶エリア１４Ａを初期化し（ステップ１００）、記憶部１５のホストアドレステーブル１５ＢとＲＡＭアドレステーブル１５Ｃを新規に生成する（ステップ１０１）。
その後、ホストバス３を介して上位装置２からデータの書込要求を受信した場合（ステップ１０２：ＹＥＳ）、書込制御部１６Ａは、当該書込要求で指定されたホスト書込アドレスがホストアドレステーブル１５Ｂに登録されているか否か検索する（ステップ１０３）。
【００２５】
ステップ１０３において、ホスト書込アドレスがホストアドレステーブル１５Ｂに登録されていない場合（ステップ１０３：ＮＯ）、書込制御部１６Ａは、ＲＡＭ１４の空き記憶エリアの有無を確認する（ステップ１０４）。空き記憶エリアの有無は、ＲＡＭアドレステーブル１５Ｃを参照して各記憶エリアの使用状況から判断してもよく、他の周知技術により判断してもよい。
ここで、ＲＡＭ１４に空き記憶エリアが存在する場合（ステップ１０４：ＹＥＳ）、書込制御部１６Ａは、ＲＡＭ新規書込部１６Ｂにより、ＲＡＭ新規書込処理を実行し（ステップ１０５）、ステップ１０２へ戻る。
【００２６】
図７は、ＲＡＭ新規書込処理を示すフローチャートである。
図７のＲＡＭ新規書込処理において、ＲＡＭ新規書込部１６Ｂは、まずＲＡＭアドレステーブル１５Ｃを参照して、ＲＡＭ１４の記憶エリア１４Ａから任意の空き記憶エリアを選択し（ステップ１２０）、上位装置２から書込要求されたデータを当該記憶エリアへ書き込む（ステップ１２１）。この後、当該書込要求で指定されたホスト書込アドレスと当該データを書き込んだ記憶エリアのＲＡＭエリア番号との組をホストアドレステーブル１５Ｂへ追加登録するとともに（ステップ１２２）、当該ＲＡＭエリア番号と当該記憶エリアに関するＲＡＭ１４上での実際の書込アドレスを示すＲＡＭ書込アドレスとの組をＲＡＭアドレステーブル１５Ｃへ追加登録し（ステップ１２３）、一連のＲＡＭ新規書込処理を終了する。
【００２７】
一方、図６のステップ１０４において、ＲＡＭ１４に空き記憶エリアが存在しない場合（ステップ１０４：ＮＯ）、書込制御部１６Ａは、コマンドエラーが発生した旨を、ホストバス３を介して上位装置２へ通知し（ステップ１０６）、ステップ１０２へ戻る。
また、ステップ１０３において、ホスト書込アドレスがホストアドレステーブル１５Ｂに登録されている場合（ステップ１０３：ＹＥＳ）、書込制御部１６Ａは、ＲＡＭ書換部１６Ｃにより、ＲＡＭ書換処理を実行し（ステップ１０７）、ステップ１０２へ戻る。
【００２８】
図８は、ＲＡＭ書換処理を示すフローチャートである。
図８のＲＡＭ書換処理において、ＲＡＭ書換部１６Ｃは、まず、上位装置２からの書込要求で指定されたホスト書込アドレスに対応するＲＡＭエリア番号をホストアドレステーブル１５Ｂから取得し（ステップ１３０）、当該ＲＡＭエリア番号に対応するＲＡＭ書込アドレスをＲＡＭアドレステーブル１５Ｃから取得する（ステップ１３１）。その後、ＲＡＭ書換部１６Ｃは、上位装置２から書込要求されたデータをＲＡＭ書込アドレスへ書き込み（ステップ１３２）、必要に応じてＲＡＭアドレステーブル１５Ｃを更新し（ステップ１３３）、一連のＲＡＭ書換処理を終了する。
【００２９】
一方、図６のステップ１０２において、上位装置２から書込要求が受信されず（ステップ１０２：ＮＯ）、上位装置２の電源オフや半導体記憶装置１との接続切断などに応じた動作終了を示す動作終了通知を受信した場合（ステップ１０８：ＹＥＳ）、書込制御部１６Ａは、フラッシュメモリ書込部１６Ｄにより、フラッシュメモリ書込処理を実行し（ステップ１０９）、一連の書込制御を終了する。
【００３０】
図９は、フラッシュメモリ書込処理を示すフローチャートである。
図９のフラッシュメモリ書込処理において、フラッシュメモリ書込部１６Ｄは、まず、ホストアドレステーブル１５Ｂから、データ未転送のホスト書込アドレスとＲＡＭエリア番号の組を取得するとともに（ステップ１４０）、ＲＡＭアドレステーブル１５Ｃから、当該ＲＡＭエリア番号に対応するＲＡＭ書込アドレスを取得し（ステップ１４１）、ＲＡＭ１４上の当該ＲＡＭ書込アドレスのデータを、フラッシュメモリコントローラ１２を介して、フラッシュメモリ１１のホスト書込アドレスへ転送する（ステップ１４２）。
【００３１】
ここで、ＲＡＭ１４内のすべてのデータの転送が完了していない場合（ステップ１４３：ＮＯ）、ステップ１４０へ戻って残りのデータの転送処理を繰り返し実行し、すべてのデータの転送が完了した場合（ステップ１４３：ＹＥＳ）、ＲＡＭ１４上の全データを消去し（ステップ１４４）、ホストアドレステーブル１５ＢとＲＡＭアドレステーブル１５Ｃを初期化した後（ステップ１４５）、一連のフラッシュメモリ書込処理を終了する。
【００３２】
［第１の実施の形態の効果］
このように、本実施の形態は、コントローラ１６において、上位装置２から書込要求されたデータを、フラッシュメモリ１１に代えてＲＡＭ１４へ当該ホスト書込アドレスごとに別個に書き込むとともに、当該ホスト書込アドレスと当該データのＲＡＭ書込アドレスとの対応関係をアドレステーブル１５Ａへ登録し、データをＲＡＭに書き込む際、アドレステーブル１５Ａにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録なしに応じて、ＲＡＭの空き記憶エリアへデータを新規に書き込み、アドレステーブル１５Ａにおける当該ホスト書込アドレスに対応するＲＡＭ書込アドレスの登録ありに応じて、データで当該ＲＡＭ書込アドレスのデータを書き換えるようにしたので、ホスト書込アドレスごとに当該データが個別にＲＡＭ１４へ書き込まれ、同一ホスト書込アドレスのデータについてはＲＭＡ１４へ上書きされる。
【００３３】
したがって、上位装置２からの書込要求に応じてフラッシュメモリ１１に対するデータ書き換えが頻繁に発生する場合でも、これら書き換えをＲＡＭ１４で吸収されるため、フラッシュメモリ１１への書込回数を大幅に削減することができ、フラッシュメモリ１１の寿命を効果的に延命することが可能となる。このため、ハードディスクと互換性を持ち、パーソナルコンピュータのハードディスクに代えて使用される半導体記憶装置において、ＯＳで用いるテンポラリファイルなどのファイルが頻繁に書き換えられる場合に、極めて大きな作用効果が得られる。
【００３４】
また、本実施の形態によれば、半導体記憶装置１側で書込制御が行われるため、上位装置２側において、特別のソフトウェアが不要となる。このため、一般的なハードディスクとの互換性を容易に実現することができ、ＯＳを問わず適用できる。
【００３５】
［第２の実施の形態］
次に、図１０を参照して、本発明の第２の実施の形態にかかる半導体記憶装置について説明する。図１０は、本発明の第２の実施の形態にかかる半導体記憶装置の書込制御処理を示すフローチャートであり、図６と同じまたは同等部分には同一符号を付してある。
第１の実施の形態では、図６のステップ１０４において、ＲＡＭ１４に空き記憶エリアが存在しない場合には、コマンドエラーを上位装置２へ通知する場合について説明した。本実施の形態では、ＲＡＭ１４に空き記憶エリアが存在しない場合、ＲＡＭ１４のデータをフラッシュメモリ１１へ転送してＲＡＭ１４に空き記憶エリアを生成した後、新たなデータをＲＡＭ１４へ書き込む場合について説明する。
【００３６】
図１０のステップ１０４において、ＲＡＭ１４に空き記憶エリアが存在しない場合（ステップ１０４：ＮＯ）、書込制御部１６Ａは、フラッシュメモリ書込部１６Ｄにより、フラッシュメモリ書込処理を実行することにより、ＲＡＭ１４に空き記憶エリアを生成する（ステップ２００）。その後、ステップ１０５へ移行して、ＲＡＭ新規書込部１６Ｂにより、ＲＡＭ新規書込処理を実行することにより、新たなデータをＲＡＭ１４へ書き込み（ステップ１０５）、ステップ１０２へ戻る。
【００３７】
この際、フラッシュメモリ書込部１６Ｄによるフラッシュメモリ書込処理については、前述した図９のフローチャートと同様の処理を行えばよく、ＲＡＭ新規書込部１６ＢによるＲＡＭ新規書込処理についても、前述した図７のフローチャートと同様の処理を行えばよい。
なお、図１０における他のステップの処理、さらには半導体記憶装置１の構成については、前述した第１の実施の形態と同様であり、ここでの詳細な説明は省略する。
【００３８】
［第２の実施の形態の効果］
このように、本実施の形態では、上位装置２からの書込要求に応じてデータをＲＡＭ１４へ書き込む際、ＲＡＭ１４に空き記憶エリアが存在しない場合には、ＲＡＭ１４のデータをフラッシュメモリ１１へ転送してＲＡＭ１４に空き記憶エリアを生成した後、新たなデータをＲＡＭ１４へ書き込むようにしたので、ＲＡＭ１４に空き記憶エリアが存在しない場合でも、新たなデータをＲＡＭ１４へ書き込むことが可能となる。
【００３９】
［実施の形態の拡張］
以上の各実施の形態において、上位装置２からの動作終了通知に応じて、ＲＡＭ１４の全データをフラッシュメモリ１１へ転送する場合を例として説明したが、これに限定されるものではなく、動作終了通知を受信しても、ＲＡＭ１４の全データをフラッシュメモリ１１へ転送しないようにしてもよい。これにより、上位装置２からのデータは揮発性のＲＡＭ１４に保存されるが、動作終了通知を受信しても、不揮発性のフラッシュメモリ１１には記憶されなくなる。
このため、恒久的なデータの変更が行われないことから、電源遮断により、全てのデータを電源起動時と等しくすることができ、ウィルス、ワームへの感染や、オペレータの習熟度等による誤操作等により、システムファイルの破壊や、削除等を防止できる。
【００４０】
また、以上では各実施の形態において２つの書込制御処理を説明したが、これら書込制御処理の両方をプログラムとしてＲＯＭ１３に予め格納しておき、上位装置２からの指示や半導体記憶装置１に設けたスイッチなどに基づいて、いずれか一方のプログラムを利用して書込制御を行うか選択可能としてもよい。これにより、半導体記憶装置１の使用環境に応じた機能を提供することができる。
【００４１】
また、各実施の形態では、フラッシュメモリ１１へ書き込むデータを記憶するＲＡＭ１４と、アドレステーブル１５Ａを記憶する記憶部１５とを別個に構成した場合を例として説明したが、これに限定されるものではなく、ＲＡＭ１４でアドレステーブル１５Ａを記憶してもよい。
また、アドレステーブル１５Ａをホストアドレステーブル１５ＢとＲＡＭアドレステーブル１５Ｃから構成する場合を例として説明したが、これに限定されるものではなく、ホスト書込アドレスとＲＡＭ書込アドレスとの直接的な対応関係を示す１つのアドレステーブルで構成してもよい。
【００４２】
また、以上の各実施の形態では、データの読み出し動作については説明を省略したが、前述のとおり、ＲＡＭ１４に書き込まれたデータが最新データであることから、データ読み出しの際には、当然ＲＡＭ１４から読み出して上位装置２へ送信すればよい。
【図面の簡単な説明】
【００４３】
【図１】本発明の第１の実施の形態にかかる半導体記憶装置の構成を示すブロック図である。
【図２】フラッシュメモリの記憶エリアの構成例である。
【図３】ＲＡＭの記憶エリアの構成例である。
【図４】ホストアドレステーブルの構成例である。
【図５】ＲＡＭアドレステーブルの構成例である。
【図６】本発明の第１の実施の形態にかかる半導体記憶装置の書込制御処理を示すフローチャートである。
【図７】ＲＡＭ新規書込処理を示すフローチャートである。
【図８】ＲＡＭ書換処理を示すフローチャートである。
【図９】フラッシュメモリ書込処理を示すフローチャートである。
【図１０】本発明の第２の実施の形態にかかる半導体記憶装置の書込制御処理を示すフローチャートである。
【符号の説明】
【００４４】
１…半導体記憶装置、１１…フラッシュメモリ、１１Ａ…記憶エリア、１２…フラッシュメモリコントローラ、１３…ＲＯＭ、１３Ｐ…プログラム、１４…ＲＡＭ、１４Ａ…記憶エリア、１５…記憶部、１５Ａ…アドレステーブル、１５Ｂ…ホストアドレステーブル、１５Ｃ…ＲＡＭアドレステーブル、１６…コントローラ、１６Ａ…書込制御部、１６Ｂ…ＲＡＭ新規書込部、１６Ｃ…ＲＡＭ書込部、１６Ｄ…フラッシュメモリ書込部、２…上位装置、３…ホストバス。
【図１】
2008181456.tif 000003
【図２】
2008181456.tif 000004
【図３】
2008181456.tif 000005
【図４】
2008181456.tif 000006
【図５】
2008181456.tif 000007
【図６】
2008181456.tif 000008
【図７】
2008181456.tif 000009
【図８】
2008181456.tif 000010
【図９】
2008181456.tif 000011
【図１０】
2008181456.tif 000012