(57)【要約】  セクタの集合を利用したキャッシュ運用方法及びキャッシュ装置に係り、該キャッシュ運用方法は、ホストから所定のデータを保存装置に所定のセクタに書き込むことを要請され、書き込みが要請された所定のセクタを含む所定のセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断し、セクタ集合のために、キャッシュ・メモリを割り当て、割り当てられたキャッシュ・メモリに書き込みが要請されたデータを保存していて、セクタの集合単位で一度に書き込みを行うことによって、保存装置のアクセス速度が速くなる。
2010538385.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュ運用方法において、
ホストから、保存装置の所定のセクタへの所定のデータ書き込みを要請される段階と、
前記所定のセクタを含む所定のセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断する段階と、
前記判断結果に基づいて選択的に、前記セクタ集合のためにキャッシュ・メモリを割り当てる段階と、
前記セクタの集合のために割り当てられたキャッシュ・メモリに、前記書き込みが要請されたデータを保存する段階とを含むことを特徴とするキャッシュ運用方法。
【請求項２】
前記保存装置は、
フラッシュ・メモリであることを特徴とする請求項１に記載のキャッシュ運用方法。
【請求項３】
前記キャッシュ・メモリに保存されたデータに基づいて、前記フラッシュ・メモリに保存されている前記セクタの集合を更新する段階をさらに含むことを特徴とする請求項２に記載のキャッシュ運用方法。
【請求項４】
前記更新する段階は、
前記セクタの集合のうち、前記書き込みが要請された所定のセクタを除外した残りのセクタに保存されたデータを、前記フラッシュ・メモリから読み取る段階と、
前記残りのセクタに保存されたデータと、前記書き込みが要請されたデータとに基づいて、前記セクタの集合に保存するデータを生成する段階と、
前記生成されたデータを、前記フラッシュ・メモリに書き込む段階とを含むことを特徴とする請求項３に記載のキャッシュ運用方法。
【請求項５】
前記セクタの集合は、
前記フラッシュ・メモリの消去単位に基づいて決定されることを特徴とする請求項２に記載のキャッシュ運用方法。
【請求項６】
前記消去単位は、
前記フラッシュ・メモリのブロックサイズの整数倍であることを特徴とする請求項５に記載のキャッシュ運用方法。
【請求項７】
キャッシュ運用方法において、
ホストから保存装置の所定のセクタに保存されたデータの読み取りを要請される段階と、
前記所定のセクタを含むセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断する段階と、
前記判断結果に基づいて選択的に、前記セクタの集合のためにキャッシュ・メモリを割り当て、前記読み取りが要請されたデータを、前記フラッシュ・メモリから読み取り、前記セクタの集合のために割り当てられたキャッシュ・メモリに保存する段階と、
前記キャッシュ・メモリに保存された前記読み取りが要請されたデータを、前記ホストに伝送する段階とを含むことを特徴とするキャッシュ運用方法。
【請求項８】
前記保存装置は、
フラッシュ・メモリであることを特徴とする請求項７に記載のキャッシュ運用方法。
【請求項９】
前記キャッシュ・メモリに保存する段階は、
前記セクタ集合のために、キャッシュ・メモリが割り当てられていなければ、前記セクタの集合のためにキャッシュ・メモリを割り当てる段階と、
前記読み取りが要請されたデータを、前記フラッシュ・メモリから読み取る段階と、
前記セクタの集合のために割り当てられたキャッシュ・メモリに保存する段階とを含むことを特徴とする請求項８に記載のキャッシュ運用方法。
【請求項１０】
前記キャッシュ・メモリに保存する段階は、
前記セクタ集合のために、キャッシュ・メモリがすでに割り当てられていれば、前記セクタの集合のために割り当てられているキャッシュ・メモリに、前記読み取りが要請されたデータが存在するか否かを判断する段階と、
前記読み取りが要請されたデータが、前記セクタの集合のために割り当てられているキャッシュ・メモリに存在するか否かによって選択的に、前記読み取りが要請されたデータを、前記フラッシュ・メモリから読み取る段階と、
前記セクタの集合のために割り当てられたキャッシュ・メモリに保存する段階とを含むことを特徴とする請求項８に記載のキャッシュ運用方法。
【請求項１１】
前記セクタの集合は、
前記フラッシュ・メモリの消去単位に基づいて決定されることを特徴とする請求項８に記載のキャッシュ運用方法。
【請求項１２】
前記消去単位は、
前記フラッシュ・メモリのブロックサイズの整数倍であることを特徴とする請求項１１に記載のキャッシュ運用方法。
【請求項１３】
キャッシュ装置において、
ホストから、保存装置の所定のセクタへの所定のデータ書き込みを要請されるホストインターフェースと、
前記書き込みが要請された所定のセクタを含む所定のセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断し、前記判断結果に基づいて選択的に、前記セクタ集合のためにキャッシュ・メモリを割り当てる制御部と、
前記割り当て結果によって、前記書き込みが要請されたデータを保存するキャッシュ・メモリとを含むことを特徴とするキャッシュ装置。
【請求項１４】
前記保存装置は、
フラッシュ・メモリであることを特徴とする請求項１３に記載のキャッシュ装置。
【請求項１５】
前記キャッシュ・メモリに保存されたデータに基づいて、前記フラッシュ・メモリに保存されている前記セクタの集合を更新する更新部をさらに含むことを特徴とする請求項１４に記載のキャッシュ装置。
【請求項１６】
前記セクタの集合は、
前記フラッシュ・メモリの消去単位に基づいて決定されることを特徴とする請求項１４に記載のキャッシュ装置。
【請求項１７】
キャッシュ装置において、
ホストから保存装置の所定のセクタに保存されたデータの読み取りを要請されるホストインターフェースと、
前記所定のセクタを含むセクタのグループのためにキャッシュ・メモリが割り当てられているか否かを判断し、前記判断結果に基づいて選択的に、前記セクタ集合のためにキャッシュ・メモリを割り当てる制御部と、
前記割り当て結果によって、前記読み取りが要請されたデータを、前記フラッシュ・メモリから読み取って保存するキャッシュ・メモリとを含み、
前記ホストインターフェースは、前記キャッシュ・メモリに保存された前記読み取りが要請されたデータを、前記ホストに伝送することを特徴とするキャッシュ装置。
【請求項１８】
前記保存装置は、
フラッシュ・メモリであることを特徴とする請求項１７に記載のキャッシュ装置。
【請求項１９】
前記セクタの集合は、
前記フラッシュ・メモリの消去単位に基づいて決定されることを特徴とする請求項１８に記載のキャッシュ装置。
【請求項２０】
所定のデータをフラッシュ・メモリの所定のセクタに書き込むことを要請したり、前記所定のデータを、前記フラッシュ・メモリの所定のセクタから読み取ることを要請するホストと、
前記書き込み要請または前記読み取り要請によって、前記所定のセクタを含むセクタの集合単位でキャッシュ・メモリを管理し、前記所定のデータをキャッシングするキャッシュ装置と、
前記キャッシュ装置から前記セクタ集合単位でデータを受信して書き込みまたは読み取りを行うフラッシュ・メモリとを含むシステム。
【請求項２１】
前記セクタの集合は、
前記フラッシュ・メモリの消去単位に基づいて決定されることを特徴とする請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ運用方法及びその方法によるキャッシュ装置に係り、さらに詳細には、保存装置、特に保存装置の書き込み及び消去回数を最小化できるように、データをキャッシングする方法及び装置に関する。
【背景技術】
【０００２】
フラッシュ・メモリは、電気的にデータを消したり書き込むことができる不揮発性記憶素子である。マグネチックディスクを基にした保存装置に比べ、フラッシュ・メモリは、電力消耗が少なく、かつ小サイズであり、マグネチックディスク・メモリの代案として研究及び開発が活発に進められている。特に、デジタルカメラ、モバイルホン、ＰＤＡ（personal  digital  assistant）のようなモバイル機器のメモリだけではなく、大容量ハードディスクを代替するＳＳＤ（solid  state  disk）として脚光を浴びることが予想される。
【０００３】
フラッシュ・メモリは、データ書き換えが自由なハードディスクとは異なり、データ書き換えが不可能である。従って、すでに使用中である領域にデータを書き換えるためには、書き換え以前のデータを消去（erase）せねばならない。すなわち、メモリブロックを、書き込み可能な初期状態に戻さなければならない。フラッシュ・メモリを動作させるにあたって消去は、書き込みに比べて非常に長い時間がかかる。また、書き込みがページ（page）単位で行われるのに比べて消去は、ページの集合であるブロック単位で行われるために、書き込みが要請されていないページまで、共に消去せねばならないという非効率さがある。
【０００４】
かような消去及び書き込みの遂行単位の不一致によって、書き込みの遂行性能は、読み取りに比べて顕著に落ちる。従って、フラッシュ・メモリを基にした保存装置の設計において、書き込み及び消去の性能改善は、核心技術に該当する。従来技術によるキャッシュ運用方法及びキャッシュ装置は、このようなフラッシュ・メモリ固有の特性を考慮しないために、前述の書き込み及び消去の性能改善に一助にならないという短所がある。
【０００５】
図１は、従来技術によるキャッシュ運用方法を説明するための図面である。
【０００６】
ホスト装置１１０が、セクタ単位でデータの書き込み（write）または読み取り（read）を要請すれば、キャッシュ装置１２０は、書き込みまたは読み取りが要請されたセクタを臨時（temporally）に保存する。書き込みが要請されたセクタを、保存装置１３０に直ちに書き込まず、キャッシュ・メモリに臨時的に保存する。読み取りが要請されたセクタは、保存装置１３０から読み取ってきて、キャッシュ・メモリに臨時的に保存し、ホスト装置１１０が、直接保存装置１３０から読み取らず、キャッシュ装置１２０から読み取ってくるようにする。
【０００７】
キャッシュ運用方法として、ＬＲＵ（least  recently  used）アルゴリズムを使用する場合、キャッシュ・メモリに臨時的に保存されているセクタのうち、最も以前に参照されたセクタを順番に保存装置１３０にフラッシュ（flush）し、最も最近に参照された（ＭＲＵ）セクタだけ保存することによって、ホスト装置１１０のアクセスが、キャッシュ装置１２０でヒット（hit）される確率を高める。
【０００８】
フラッシュ・メモリは、前述のように、消去がメモリブロック単位で行われ、１つのフラッシュ・メモリブロックには、複数個のセクタが保存される。従って、従来技術によるキャッシュ装置１２０をフラッシュ・メモリに適用すれば、セクタをフラッシュするたびに、セクタが保存されるブロックをいずれも消去し、書き換えなければならないと言う短所がある。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明が解決しようとする技術的課題は、書き込み単位と消去単位とが一致しないフラッシュ・メモリのような保存装置の特性を考慮してデータをキャッシング（caching）できるキャッシュ運用方法及びキャッシュ装置を提供するにおいて、前記キャッシュ運用方法を実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
【課題を解決するための手段】
【００１０】
前記技術的課題を解決するための本発明によるキャッシュ運用方法は、ホストから、保存装置の所定のセクタへの所定のデータ書き込みを要請される段階と、前記所定のセクタを含む所定のセクタの集合のために、キャッシュ・メモリが割り当てられているか否かを判断する段階と、前記判断結果に基づいて選択的に、前記セクタ集合のためにキャッシュ・メモリを割り当てる段階と、前記セクタ集合のために割り当てられたキャッシュ・メモリに、前記書き込みが要請されたデータを保存する段階とを含む。
【００１１】
本発明によるさらに望ましい実施形態によれば、前記保存装置は、フラッシュ・メモリであることを特徴とする。
【００１２】
本発明によるさらに望ましい実施形態によれば、前記キャッシュ運用方法は、前記キャッシュ・メモリに保存されたデータに基づいて、前記フラッシュ・メモリに保存されている前記セクタの集合を更新する段階をさらに含む。
【００１３】
本発明によるさらに望ましい実施形態によれば、前記更新する段階は、前記セクタの集合のうち、前記書き込みが要請された所定のセクタを除外した残りのセクタに保存されたデータを、前記フラッシュ・メモリから読み取る段階と、前記残りのセクタに保存されたデータと、前記書き込みが要請されたデータとに基づいて、前記セクタの集合に保存するデータを生成する段階と、前記生成されたデータを、前記フラッシュ・メモリに書き込む段階とを含む。
【００１４】
前記技術的課題を解決するための本発明によるキャッシュ運用方法は、ホストから保存装置の所定のセクタに保存されたデータの読み取りを要請される段階と、前記所定のセクタを含むセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断する段階と、前記判断結果に基づいて選択的に、前記セクタの集合のためにキャッシュ・メモリを割り当て、前記読み取りが要請されたデータを、前記フラッシュ・メモリから読み取り、前記セクタの集合のために割り当てられたキャッシュ・メモリに保存する段階と、前記キャッシュ・メモリに保存された前記読み取りが要請されたデータを、前記ホストに伝送する段階とを含む。
【００１５】
本発明によるさらに望ましい実施形態によれば、前記保存装置は、フラッシュ・メモリであることを特徴とする。
【００１６】
前記技術的課題を解決するための本発明によるキャッシュ装置は、ホストから、保存装置の所定のセクタへの所定のデータ書き込みを要請されるホストインターフェースと、前記書き込みが要請された所定のセクタを含む所定のセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断し、前記判断結果に基づいて選択的に、前記セクタの集合のためにキャッシュ・メモリを割り当てる制御部と、前記割り当て結果によって、前記書き込みが要請されたデータを保存するキャッシュ・メモリとを含む。
【００１７】
前記技術的課題を解決するための本発明によるキャッシュ装置は、ホストから保存装置の所定のセクタに保存されたデータの読み取りを要請されるホストインターフェースと、前記所定のセクタを含むセクタのグループのためにキャッシュ・メモリが割り当てられているか否かを判断し、前記判断結果に基づいて選択的に、前記セクタの集合のためにキャッシュ・メモリを割り当てる制御部と、前記割り当て結果によって、前記読み取りが要請されたデータを、前記フラッシュ・メモリから読み取って保存するキャッシュ・メモリとを含み、前記ホストインターフェースは、前記キャッシュ・メモリに保存された前記読み取りが要請されたデータを、前記ホストに伝送することを特徴とする。
【００１８】
前記技術的課題を解決するために本発明によるシステムは、所定のデータをフラッシュ・メモリの所定のセクタに書き込むことを要請したり、前記所定のデータを、前記フラッシュ・メモリの所定のセクタから読み取ることを要請するホストと、前記書き込み要請または前記読み取り要請によって、前記所定のセクタを含むセクタの集合単位でキャッシュ・メモリを管理し、前記所定のデータをキャッシングするキャッシュ装置と、前記キャッシュ装置から前記セクタ集合単位でデータを受信して書き込みまたは読み取りを行うフラッシュ・メモリとを含む。
【００１９】
前記技術的課題を解決するために本発明は、前記キャッシュ運用方法を実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【００２０】
本発明によれば、保存装置、特にフラッシュ・メモリの特性を考慮してセクタの集合単位でキャッシュ・メモリを管理でき、フラッシュ・メモリの書き込み及び書き込みのための消去回数を最小化できる。
【００２１】
書き込み及び書き込みのための消去回数が最小化されることによって、フラッシュ・メモリのアクセス速度が向上し、フラッシュ・メモリの寿命が長くなる。
【図面の簡単な説明】
【００２２】
【図１】従来技術によるキャッシュ運用方法を説明するための図である。
【図２】本発明によるキャッシュ装置を含むシステムを図示する図である。
【図３】本発明の一実施形態によるキャッシュ運用方法を図示する図である。
【図４】本発明の一実施形態によるセクタの集合を更新する方法を図示する図である。
【図５】本発明の一実施形態による書き込み要請によるキャッシュ運用方法を説明するためのフローチャートである。
【図６】本発明の一実施形態による読み取り要請によるキャッシュ運用方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照しつつ、本発明の望ましい実施形態について詳細に説明する。
【００２４】
図２は、本発明によるキャッシュ装置２１０を含むシステムを図示する。図２を参照すれば、本発明によるキャッシュ装置２１０は、ホストインターフェース２１２、制御部２１４、キャッシュ・メモリ２１６及び更新部２１８を含む。以下、保存装置として、フラッシュ・メモリ２３０を例にして説明する。しかし、本発明によるキャッシュ装置及びキャッシュ運用方法が、フラッシュ・メモリのように、単位で書き込みと消去とを行うあらゆるメモリに適用されうることは、本発明が属する技術分野で当業者であるならば、容易に理解できるであろう。
【００２５】
ホスト装置２２０は、フラッシュ・メモリ２３０に対する書き込みまたは読み取りの要請をキャッシュ装置２１０に伝送する。データを、フラッシュ・メモリ２３０の所定のセクタに書き込むことを要請したり、フラッシュ・メモリ２３０の所定のセクタに保存されているデータの読み取りを要請する。
【００２６】
キャッシュ装置２１０は、ホスト装置２２０の書き込みまたは読み取りの要請によって、セクタの集合単位でキャッシュ・メモリを管理する。セクタの集合というのは、書き込みまたは読み取りが要請されたセクタを含む複数のセクタのグループを意味する。セクタの集合は、フラッシュ・メモリ２３０の消去単位に基づいて決定され、一般的に、複数個の連続したセクタである。詳細な内容は、図３と関連して後述する。
【００２７】
ホストインターフェース２１２は、ホスト装置２２０が伝送する書き込みまたは読み取りの要請を受信する。
【００２８】
制御部２１４は、ホストインターフェース２１２が受信した書き込みまたは読み取りの要請によって、書き込みまたは読み取りが要請されたセクタを含むセクタ集合のために、キャッシュ・メモリ２１６が割り当てられているか否かを判断する。図３を参照しつつ、詳細に説明する。
【００２９】
図３は、本発明の一実施形態によるキャッシュ運用方法を図示する。図３を参照すれば、制御部２１４は、セクタの集合（sector  set）３１０ないし３３０単位で、キャッシュ・メモリ２１６を管理する。前述のように、フラッシュ・メモリ２３０は、書き換えを行えないために、データを保存しているメモリブロックをまず消去した後、ブロック単位で書き込みを行わねばならない。従って、制御部２１４は、フラッシュ・メモリ２３０の消去単位に基づいて決定されたセクタの集合単位でキャッシュ・メモリ２１６を管理する。
【００３０】
フラッシュ・メモリ２３０のメモリ素子が１個である場合には、フラッシュ・メモリのブロック一つが消去単位であるから、メモリブロック一つに割り当てられたセクタ（sector）がセクタの集合になる。しかし、フラッシュ・メモリ２３０が複数個のメモリ素子を有している場合には、それぞれのメモリ素子に含まれているブロックが同時に消去されうるので、消去単位は、（メモリブロック）×（メモリ素子の個数）となる。
【００３１】
セクタの集合が、フラッシュ・メモリ２３０の消去単位に基づいて決定されれば、制御部２１４は、ホスト装置２２０によって書き込みまたは読み取りが要請されたセクタの集合３１０ないし３３０のためにキャッシュ・メモリを割り当て、セクタの集合単位でキャッシュ・メモリを管理する。
【００３２】
図３に図示された例の通り、それぞれのセクタの集合３１０ないし３３０のためにキャッシュ・メモリを割り当て、ホスト装置が書き込みまたは読み取りを要請したセクタだけキャッシュ・メモリに保存し、ホスト装置にアクセスさせる。
【００３３】
キャッシュ装置２１０からフラッシュ・メモリ２３０にフラッシュ（flush）を行うときには、それぞれのセクタの集合でないセクタの集合単位で、フラッシュを行うことによって、フラッシュ・メモリの書き込み回数を最小化する。図１と関連し、前述の従来技術によるキャッシュ装置１２０をフラッシュメモリに適用すれば、セクタ単位でフラッシュが行われるので、セクタ一つがフラッシュされるたびに、セクタが保存されるメモリブロック全部を消去し、書き込みを行わねばならなかった。しかし、本発明によるキャッシュ装置は、セクタの集合単位でフラッシュが行われるので、フラッシュ・メモリ２３０にフラッシュする回数を減らすことができる。従って、フラッシュ・メモリの書き込み及び書き込みのための消去回数が減る。
【００３４】
フラッシュするセクタの集合を選択するアルゴリズムは、従来技術と同じＬＲＵ（least  recently  used）アルゴリズムが利用されうる。換言すれば、最も以前に参照されたセクタの集合をフラッシュするように実施形態を構成できる。
【００３５】
図３に図示された例で、Sector Set ＃５ ３１０が最も最近に参照された（ＭＲＵ：most  recently  used）セクタの集合であり、参照された順番にセクタの集合がキャッシュ・メモリに保存されていると仮定すれば、Sector  Set  ＃９  ３３０が最も以前に参照されたセクタの集合である。従って、ホスト装置の書き込みまたは読み取りの要請によって、新たなセクタの集合のためにキャッシュ・メモリを割り当てる場合、制御部２１４は、Sector  Set  ＃９  ３３０をフラッシュ・メモリにフラッシュし、新たなセクタの集合のために、キャッシュ・メモリを割り当てる。
【００３６】
もし最も最近に参照されたセクタの集合を決定するときには、それぞれのセクタの集合に含まれたセクタが、最も最近に参照されたか否かによって決定する。もしSector Set ＃１ ３２０のセクタ３２２ないし３２８のうち、一つでも最も最近に参照されれば、Sector Set ＃１ ３２０全部が最も最近に参照されたセクタの集合になる。
【００３７】
再び図２を参照すれば、制御部２１４がセクタの集合単位でキャッシュ・メモリ２１６を管理する具体的な方法は、ホスト装置が書き込みを要請したのか、読み取りを要請したのかによって変わる。制御部２１４のキャッシュ運用方法について、書き込みと読み取りとに分けてを説明する。
【００３８】
（１）書き込み
ホストインターフェース２１２がホストから受信した要請が、所定のセクタに対する書き込み要請であるならば、制御部２１４はまず、書き込みが要請されたセクタを含むセクタ集合のために、キャッシュ・メモリ２１６が割り当てられているか否かを判断する。
【００３９】
セクタ集合のために、キャッシュ・メモリ２１６が割り当てられていなければ、更新部２１８を制御し、最も以前に参照されたセクタの集合をフラッシュ・メモリ２３０にフラッシュし、セクタの集合のためにキャッシュ・メモリ２１６を割り当てた後、割り当てられたキャッシュ・メモリに書き込みが要請されたデータを保存する。セクタ集合のために、キャッシュ・メモリ２１６がすでに割り当てられていれば、割り当てられたキャッシュ・メモリに書き込みが要請されたデータを保存する。
【００４０】
（２）読み取り
ホストインターフェース２１２がホストから受信した要請が所定のセクタに対する読み取り要請であるならば、制御部２１４は、読み取りが要請されたセクタを含むセクタ集合のために、キャッシュ・メモリ２１６が割り当てられているか否かを判断する。
【００４１】
セクタ集合のために、キャッシュ・メモリ２１６が割り当てられていなければ、更新部２１８を制御し、最も以前に参照されたセクタの集合をフラッシュ・メモリ２３０にフラッシュし、セクタ集合のために、キャッシュ・メモリ２１６を割り当てる。その後、読み取りが要請されたデータをフラッシュ・メモリ２３０から読み取り、割り当てられたキャッシュ・メモリに保存する。
【００４２】
セクタ集合のために、キャッシュ・メモリ２１６がすでに割り当てられていれば、割り当てられたキャッシュ・メモリに、読み取りが要請されたデータが存在するか否かを判断する。キャッシュ・メモリ２１６は、セクタの集合に含まれるセクタのうち、過去にホスト装置２２０がアクセスしたセクタのデータだけ保存している。従って、セクタ集合のために、キャッシュ・メモリ２１６が割り当てられていても、キャッシュ・メモリ２１６に読み取りが要請されたデータが存在しないこともある。その場合、制御部２１４は、フラッシュ・メモリ２３０から、読み取りが要請されたデータを読み取り、セクタの集合のために割り当てられたキャッシュ・メモリに保存する。
【００４３】
更新部２１８は、制御部２１４の制御によって、キャッシュ・メモリ２１６に保存されたセクタの集合をフラッシュ・メモリにフラッシュする。新たなセクタの集合のためにキャッシュ・メモリ２１６を割り当てるために、最も以前に参照されたセクタの集合をフラッシュ・メモリ２３０にフラッシュする。キャッシュ・メモリ２１６に保存されているデータに基づいて、フラッシュ・メモリ２３０に保存されているセクタの集合を更新することによって、フラッシュを行う。図４を参照しつつ、詳細に説明する。
【００４４】
図４は、本発明の一実施形態によるセクタの集合を更新する方法を図示する。
【００４５】
Sector  Set  ＃９  ４１０が、フラッシュ・メモリ２３０にフラッシュされる場合を仮定して説明する。セクタの集合が１６個のセクタからなり、セクタの集合のうち、からセクタ０，１２及び１５だけホスト装置２２０によってアクセスされ、キャッシュ・メモリ２１６にセクタ０，１２及び１５だけ保存されている。前述のように、フラッシュ・メモリの特性によって、セクタの集合は、消去単位に基づいて決定され、消去単位に該当するメモリブロックを全部消去し、一度に書き込みを行わねばならない。従って、Sector Set ＃９をフラッシュ・メモリに書き込むためには、全体セクタの集合に対して、一度に書き込みを行わねばならない。
【００４６】
従って、更新部２１８は、フラッシュ・メモリ２３０から、Sector  Set  ＃９  ４２０のうち、キャッシュ・メモリに保存されていない残りのセクタのデータを読み取り、書き込みを行うSector  Set  ＃９  ４３０を生成する。セクタ１ないし１１，１３及び１４をフラッシュ・メモリ２３０から読み取り、キャッシュ・メモリに保存されているセクタ０，１２及び１５と読み取ってきたセクタとを結合し、フラッシュ・メモリに書き込みを行うSector  Set  ＃９  ４３０を生成する。生成されたセクタの集合をフラッシュ・メモリ２３０にさらに書き込むことによって、フラッシュを行う。フラッシュ・メモリに保存されている更新前のSector  Set  ＃９  ４２０は、書き込みを行う前に消去される。
【００４７】
図５は、本発明の一実施形態による書き込み要請によるキャッシュ運用方法を説明するためのフローチャートである。
【００４８】
段階５１０でキャッシュ装置は、ホスト装置から、保存装置の所定のセクタへの所定のデータ書き込みを要請される。フラッシュ・メモリにアクセスするホスト装置が伝送する書き込み要請を受信する。
【００４９】
段階５２０でキャッシュ装置は、書き込みが要請されたセクタを含むセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断する。本発明によるキャッシュ運用方法は、セクタ単位ではないフラッシュ・メモリの消去単位に基づいて決定されたセクタの集合単位で、キャッシュ・メモリを管理する。従って、書き込みが要請されたセクタではないセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断する。
【００５０】
セクタ集合のために、キャッシュ・メモリが割り当てられていなければ、段階５２２でキャッシュ装置は、キャッシュ・メモリに保存されている最も以前に参照されたセクタの集合をフラッシュ・メモリにフラッシュし、書き込みが要請されたセクタを含むセクタ集合のために、キャッシュ・メモリを新しく割り当てる。
【００５１】
段階５２０でセクタ集合のために、すでにキャッシュ・メモリが割り当てられていると判断されるか、または段階５２２で新たにセクタ集合のために、キャッシュ・メモリが割り当てられれば、段階５３０でキャッシュ装置は、割り当てられたキャッシュ・メモリに書き込みが要請されたデータを保存する。
【００５２】
段階５４０でキャッシュ装置は、段階５３０で保存されたデータに基づいて、フラッシュ・メモリに保存されたセクタの集合を更新する。段階５３０で、キャッシュ・メモリから、データが保存されたセクタの集合がフラッシュ・メモリにフラッシュされる。
【００５３】
図４と関連して前述した通り、セクタの集合のうち、キャッシュ・メモリに保存されていないセクタのデータをフラッシュ・メモリから読み取ってきて、読み取ってきたセクタのデータと、キャッシュ・メモリに保存されているデータとを結合する。結合の結果、フラッシュ・メモリに書き込みを行うセクタの集合が生成され、これをフラッシュ・メモリに書き込む。フラッシュ・メモリに保存されている更新前のセクタの集合は、書き込みを行う前にフラッシュから消去される。
【００５４】
図６は、本発明の一実施形態による読み取り要請によるキャッシュ運用方法を説明するためのフローチャートである。図６を参照すれば、段階６１０でキャッシュ装置は、ホスト装置から保存装置に所定のセクタに保存されたデータの読み取りを要請される。
【００５５】
段階６２０でキャッシュ装置は、段階６１０の読み取り要請によって読み取りが要請されたセクタを含むセクタ集合のために、キャッシュ・メモリが割り当てられているか否かを判断する。
【００５６】
段階６２０でセクタ集合のために、キャッシュ・メモリが割り当てられていると判断されれば、段階６２２でキャッシュ装置は、セクタの集合のために割り当てられたキャッシュ・メモリに、読み取りが要請されたセクタのデータが存在するか否かを判断する。セクタの集合のために割り当てられたキャッシュ・メモリには、セクタの集合に含まれたセクタのうち、過去にホスト装置がアクセスしたセクタのデータだけ保存されている。従って、段階６２２でキャッシュ装置は、もう一度読み取りが要請されたデータがセクタの集合のために割り当てられたキャッシュ・メモリに存在するか否かを判断する。
【００５７】
段階６２０でセクタ集合のために、キャッシュ・メモリが割り当てられていないと判断されれば、段階６２４でキャッシュ装置は、セクタ集合のためにキャッシュ・メモリを割り当てる。
【００５８】
段階６３０でキャッシュ装置は、読み取りが要請されたデータをフラッシュ・メモリから読み取り、割り当てられたキャッシュ・メモリに保存する。セクタ集合のために、すでにキャッシュ・メモリが割り当てられているが、段階６２２で、読み取りが要請されたデータが、割り当てられたキャッシュ・メモリにはないと判断された場合、及びセクタ集合のために、キャッシュ・メモリが割り当てられておらず、段階６２４でセクタ集合のために、新たにキャッシュ・メモリを割り当てた場合に、読み取りが要請されたデータをフラッシュ・メモリから読み取り、セクタの集合のために割り当てられたキャッシュ・メモリに保存する。
【００５９】
段階６４０でキャッシュ装置は、読み取りが要請されたデータをホスト装置に伝送する。段階６３０で、フラッシュ・メモリから読み取ってキャッシュ・メモリに保存した場合、または段階６２２で、すでにキャッシュ・メモリに保存されていると判断された場合、読み取りが要請されたデータをホスト装置に伝送する。
【００６０】
本発明によるシステムは、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるあらゆる種類の記録装置を含む。記録媒体の例としては、ＲＯＭ（read-only  memory）、ＲＡＭ（random-access  memory）、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあって、またキャリアウェーブ（例えばインターネットを介した伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行されうる。
【００６１】
本発明は、たとえ限定された実施形態と図面とによって説明したとしても、本発明が、前記の実施形態に限定されるものではなく、これは、本発明が属する分野で当業者であるならば、このような記載から、多様な修正及び変形が可能であろう。従って、本発明の思想は、特許請求の範囲によるのみ把握されるものであり、それと均等であるか、または等価的な変形は、いずれも本発明の思想の範疇に属するものである。
【図１】
2010538385.tif 000003
【図２】
2010538385.tif 000004
【図３】
2010538385.tif 000005
【図４】
2010538385.tif 000006
【図５】
2010538385.tif 000007
【図６】
2010538385.tif 000008
【国際調査報告】
2010538385.tif 000009
2010538385.tif 000010