(57)【要約】【課題】半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法および装置を提案する。【解決手段】本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング装置は、ページを格納するバッファキャッシュ部と、複数のメモリチップを備えるメモリ部と、前記複数のメモリチップのうち少なくとも１つの目標メモリチップに格納する時に発生し得る待機時間を考慮して前記ページのうち少なくとも１つのページを犠牲ページとして選択する制御部とを備える。【選択図】図１
2012517645.tif 000002
【特許請求の範囲】
【請求項１】
ページを格納するバッファキャッシュ部と、
複数のメモリチップを備えるメモリ部と、
前記複数のメモリチップのうち少なくとも１つの目標メモリチップに格納する時に発生し得る待機時間を考慮して前記ページのうち少なくとも１つのページを犠牲ページとして選択する制御部と、
を備えることを特徴とする、半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項２】
前記制御部は、
前記犠牲ページを選択する時、前記ページの使用頻度、または直近の使用時間を考慮して選択することを特徴とする、請求項１に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項３】
前記制御部は、
前記ページの中から犠牲ページとして選択されなかった、最も長い間使用されず、前記目標メモリチップに格納する時に待機せずに格納可能なページを、前記犠牲ページとして選択することを特徴とする、請求項１に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項４】
前記犠牲ページが待機しなければならない場合は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合であることを特徴とする、請求項３に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項５】
前記待機せずに格納することのできる犠牲ページは、
前記犠牲ページが全体ページである場合や、前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態の場合であることを特徴とする、請求項３に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項６】
前記制御部は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、前記原本ページを読み出して前記犠牲ページを合わせて前記目標メモリチップに格納することを特徴とする、請求項１に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項７】
前記制御部は、
前記犠牲ページが全体ページであれば、前記犠牲ページを前記目標メモリチップに格納することを特徴とする、請求項１に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項８】
前記制御部は、
前記犠牲ページを選択する前に、前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを前記目標メモリチップとして選択することを特徴とする、請求項１に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項９】
前記制御部は、
前記新しい犠牲ページの選択の結果、前記待機せずに格納することのできる犠牲ページが存在しなければ、前記メモリ部で新しい目標メモリチップを選択することを特徴とする、請求項１に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１０】
ページを格納するバッファキャッシュ部と、
１つ以上のメモリチップを備えるメモリ部と、
前記バッファキャッシュ部の前記ページの中から選択した犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する制御部と、
を備えることを特徴とする、半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１１】
前記制御部は、
前記バッファキャッシュ部の前記ページの中から格納対象として選択を受けず、最も長い間使われなかったページを、前記犠牲ページまたは前記新しい犠牲ページとして選択することを特徴とする、請求項１０に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１２】
前記制御部で前記犠牲ページが待機しなければならない場合は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合であることを特徴とする、請求項１０に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１３】
前記待機せずに格納することのできる犠牲ページは、
前記犠牲ページが全体ページである場合や、前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態の場合であることを特徴とする、請求項１０に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１４】
前記制御部は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、前記原本ページを読み出して前記犠牲ページを合わせて前記目標メモリチップに格納することを特徴とする、請求項１０に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１５】
前記制御部は、
前記犠牲ページが全体ページであれば、前記犠牲ページを前記目標メモリチップに格納することを特徴とする、請求項１０に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１６】
前記制御部は、
前記犠牲ページを選択する前に、前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを前記目標メモリチップとして選択することを特徴とする、請求項１０に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項１７】
バッファキャッシュ部のページの中から犠牲ページを選択するステップと、
前記犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択するステップと、
を含むことを特徴とする、半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項１８】
前記犠牲ページまたは前記新しい犠牲ページの選択は、
前記バッファキャッシュ部の前記ページの中から、格納対象として選択されず、最も長い間使われなかったページを、前記犠牲ページまたは前記新しい犠牲ページとして選択することを特徴とする、請求項１７に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項１９】
前記犠牲ページが待機しなければならない場合は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合であることを特徴とする、請求項１７に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項２０】
前記待機せずに格納することのできる犠牲ページは、
前記犠牲ページが全体ページである場合、または、前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態の場合であることを特徴とする、請求項１７に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項２１】
前記待機せずに格納することのできる前記犠牲ページが選択された場合、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、前記原本ページを読み出して前記犠牲ページを合わせて前記目標メモリチップに格納するステップをさらに含むことを特徴とする、請求項１７に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項２２】
前記待機せずに格納することのできる前記犠牲ページが選択された場合、
前記犠牲ページが全体ページであれば、前記犠牲ページを前記目標メモリチップに格納するステップをさらに含むことを特徴とする、請求項１７に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項２３】
前記バッファキャッシュ部のページの中から前記犠牲ページを選択するステップの前に、
１つ以上のメモリチップを有する前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを前記目標メモリチップとして選択することを特徴とする、請求項１７に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項２４】
請求項１７〜請求項２３のうちいずれか１項の方法における各ステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法およびその装置に関し、特に半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に発生する遅延を減らすプログラミング方法およびその装置に関する。
【背景技術】
【０００２】
データを格納するストレージ装置には、磁気ディスク（magnetic disk）、半導体メモリなどがある。ストレージ装置は、種類別に互いに異なる物理的特性を有するため、物理的特性に相応する管理方法が必要となる。
【０００３】
従来のストレージ装置では、磁気ディスクが広く用いられてきた。磁気ディスクは、平均的にキロバイト当たり数ミリ秒の読み出しおよび書き込み時間を特性として有する。また、磁気ディスクは、データが格納された物理的位置によってアーム（arm）が到達する時間が異なるため、読み出しおよび書き込み時間が変わる特性を有する。
【０００４】
最近では、磁気ディスクに比べて読み出しおよび書き込み時間が短く、少ない電力消耗と小さい体積を占める非揮発性（non‐volatile）メモリが急速に磁気ディスクを代替している。これは、非揮発性メモリの大容量化がなされたために可能となった結果である。
【０００５】
非揮発性メモリは、電気的に読み出し（read）、書き込み（write）、および消去（erase）が可能であり、供給電源がない状態でも格納されたデータを維持することのできる半導体記憶装置である。非揮発性メモリ装置に対するデータの格納過程は、書き込みの他にもプログラミング（programming）と呼ぶこともある。
【０００６】
非揮発性メモリの代表的なものとして、フラッシュ（Flash）メモリを挙げることができ、フラッシュメモリは従来のハードディスクドライブ（ＨＤＤ；Hard Disk Drive）に比べてサイズが小さく、電力消費量が小さく、読み出し速度を高めることができるという利点がある。最近では、大容量のフラッシュメモリを用いてＨＤＤを代替するためのＳＳＤ（Solid State Disk）が提案されることがある。
【０００７】
フラッシュメモリの種類として代表的なものとしては、ＮＡＮＤ方式のフラッシュメモリとＮＯＲフラッシュメモリなどを挙げることができる。ＮＡＮＤ方式とＮＯＲ方式は、セルアレイの構成および動作方式によって区別することができる。
【０００８】
１つのフラッシュメモリをフラッシュチップと称する時、大容量のために複数のフラッシュチップを用いるマルチチップを構成することができる。この時、複数のフラッシュチップは、１つのデータバスを共有する。フラッシュメモリは、書き込みや消去命令にかかる時間が送信に比べて相対的に長くかかる。したがって、マルチチップの場合、パイプライン（pipelining）方式を用いることになる。パイプラインとは、１つのフラッシュチップに書き込み命令を行う間、他のフラッシュチップに対して順番に送信と書き込みを実施することによって、１つのチップに対する書き込み時間を隠す効果を見ることができる。
【０００９】
一方、現在のフラッシュメモリの基本的な読み出し／書き込み単位のページは、ホストシステムで下される基本命令の単位であるセクタよりもはるかに大きい。したがって、ホストから小さい単位の書き込み命令語を送るときは、コントローラはバッファキャッシュ、あるいはフラッシュ変換階層を介して対応するフラッシュチップからその原本ページを読み出し、要請したセクタを用いて１つのページを作る。その後、作った１つのページをフラッシュチップに再び書き込むという付加的な作業をする必要がある。しかし、このような場合、コントローラは原本ページを格納したフラッシュチップが書き込み動作中であれば、原本ページを読むために書き込み動作が終了する時まで待機しなければならない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１０８２８１号公報
【特許文献２】米国特許出願公開第２００７−００９１６７９号明細書
【特許文献３】米国特許出願公開第２００５−０２３５１１９号明細書
【特許文献４】米国特許出願公開第２００６−０２７１７５５号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法および装置を提供する。
【００１２】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に発生する遅延を減らすプログラミング方法および装置を提供する。
【００１３】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に待機せずに格納することのできるページを発生する、優先的に格納する方法および装置を提供する。
【課題を解決するための手段】
【００１４】
本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング装置は、ページを格納するバッファキャッシュ部と、複数のメモリチップを備えるメモリ部と、前記複数のメモリチップのうち少なくとも１つの目標メモリチップに格納する時に発生し得る待機時間を考慮して前記ページのうち少なくとも１つのページを犠牲ページとして選択する制御部とを備える。
【００１５】
本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング装置は、ページを格納するバッファキャッシュ部と、１つ以上のメモリチップを備えるメモリ部と、前記バッファキャッシュ部の前記ページの中から選択した犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する制御部とを備える。
【００１６】
本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング方法は、バッファキャッシュ部のページの中から犠牲ページを選択するステップと、前記犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択するステップとを含む。
【発明の効果】
【００１７】
本発明の実施形態は、ページを格納するバッファキャッシュ部と、複数のメモリチップを備えるメモリ部と、前記ページの中から前記複数のメモリチップのうち少なくとも１つの目標メモリチップに格納する時に発生し得る待機時間を考慮して少なくとも１つのページを犠牲ページとして選択する制御部とを備える半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法および装置に関するものであり、バッファキャッシュのページを格納する時に発生し得る遅延を減らすことによって書き込み性能を高める。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態によるバッファキャッシュのページを遅延なく格納する半導体ディスクシステムの構成を示す図である。
【図２】本発明の一実施形態による半導体ディスクシステムにおけるメモリ部の構成を示す図である。
【図３】本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュのページを遅延なく格納する例を従来の方法と比較して示す図面である。
【図４】本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュのページを遅延なく格納する過程を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下にて、本発明に係る実施形態を添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示される同一の参照符号は同一の部材を示す。そして、本発明の要旨を不要に曖昧にすると判断される場合には、その詳細な説明は省略する。
【００２０】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に発生する遅延を減らすプログラミング方法および装置に関するものであり、以下にて図１を参照しながら、本発明の実施形態に係る半導体ディスクシステムの構造を詳しく見ることにする。
【００２１】
図１は、本発明の一実施形態によるバッファキャッシュのページを遅延なく格納する半導体ディスクシステムの構成を示す図である。
【００２２】
図１に示すように、半導体ディスク（Solid State Disk、ＳＳＤ）システム１２０は、バッファキャッシュ部１２２、変換階層部１２４、メモリ部１２６、および制御部１２８を備えてもよい。
【００２３】
ホスト１１０は、半導体ディスクシステム１２０にセクタ単位の読み出し要請または書き込み要請をする。
【００２４】
バッファキャッシュ部１２２は、読み出し動作または書き込み動作に所要する時間を減らすために頻繁に用いられるデータを格納する。バッファキャッシュ部１２２は、主に書き込み専用として動作してもよい。これは、メモリ部１２６の遅い書き込み性能を隠す役割を担う。すなわち、同じ要請が早い時間内に再び入ってくることになれば、バッファキャッシュ部１２２ですぐに処理することができるために、メモリ部１２６を検索しなくて済む。
【００２５】
変換階層部１２４は、少なくとも１つのアイドルバンク（idle bank）に対するアクセス結果に基づいて物理セクタ（physical sector）および論理セクタ（logical sector）の間のマップを構成してもよい。換言すれば、変換階層部１２４は、要請する論理アドレスを対応する物理アドレスに変換し、物理アドレスを論理アドレスに変換する。また、変換階層部１２４は、メモリ部１２６の基本読み出し／書き込み単位はページであるため、セクタ単位の要請をページ単位に変換する。
【００２６】
メモリ部１２６は、複数のメモリチップを備えて構成する。メモリ部１２６の構成は、以下にて図２を参照しながら詳しく説明する。
【００２７】
図２は、本発明の一実施形態による半導体ディスクシステムにおけるメモリ部の構成を示す図である。
【００２８】
図２を参照すると、半導体ディスクシステム１２０は、大容量の必要性により、メモリ部１２６を１つのメモリチップによって構成されるものではなく、いくつかのメモリチップ２２２，２２４，２２６によって構成される。そして、いくつかのメモリチップ２２２，２２４，２２６は、１つのデータバス２１０を共有する。
【００２９】
メモリチップ２２２，２２４，２２６は、半導体ディスクであって、ＮＡＮＤ方式のフラッシュメモリまたはＮＯＲフラッシュメモリなどが可能である。メモリチップ２２２，２２４，２２６は、書き込みや消去命令にかかる時間が送信に比べて相対的に長くかかるため、パイプライン（pipelining）方式を用いることになる。
【００３０】
一方メモリ部１２６は、図２に限定されることはなく、チャネル別にデータバスを有する複数のチャネルで構成することもできる。この時、複数のメモリチップは、複数のチャネルのうちいずれか１つと接続され、複数のチャネルは互いに独立的である。
【００３１】
制御部１２８は、半導体ディスクシステム１２０の全般的な動作を制御し、本発明の実施形態に係る変換階層部１２４を制御してもよい。すなわち、前記制御部１２８は、変換階層部１２４の機能を行ってもよい。本発明でこれらを別々に構成して示す理由は、各機能を区別して説明するためである。したがって、実際に製品を実現する場合に変換階層部１２４を制御部１２８で処理するように構成してもよい。
【００３２】
また、制御部１２８は、バッファキャッシュ部１２２の格納イベントを検出すれば、使用可能なメモリチップのアイドル（idle）メモリチップのうち目標メモリチップを選択する。この時、目標メモリチップの選択は、メモリ部１２６のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを目標メモリチップとして選択する。すなわちアイドルメモリチップのうち自由ページが最も多いメモリチップを目標メモリチップとして選択する。
【００３３】
以降、制御部１２８は、バッファキャッシュ部１２２に格納されたセクタ単位のデータをページ単位に区分して、ページの中から最も長く使われなかったページを目標メモリチップに格納される犠牲（victim）ページとして選択する。本発明の実施形態で犠牲ページというのは、メモリチップに格納されるページを意味する。
【００３４】
以降、制御部１２８は、選択した犠牲ページをメモリ部１２６の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する。
【００３５】
犠牲ページが待機しなければならない場合は、犠牲ページが部分ページであって、犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合である。本発明の実施形態において、部分ページというのはバッファキャッシュ部１２２に格納されたデータがページを構成する全体のデータでない一部分の場合を意味する。
【００３６】
待機せずに格納することのできる犠牲ページは、犠牲ページが全体ページの場合に可能である。さらに、待機せずに格納することのできる犠牲ページは、犠牲ページが部分ページであって、犠牲ページの原本ページが格納されたメモリチップがアイドル状態である場合もまた可能である。本発明の実施形態において、全体ページというのはバッファキャッシュ部１２２に格納されたデータがページを構成する全体のデータの場合を意味する。
【００３７】
制御部１２８は、犠牲ページが部分ページであって、犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、メモリ部１２６から原本ページを読み出して犠牲ページを合わせて前記目標メモリチップに格納する。
【００３８】
制御部１２８は、犠牲ページが全体ページであれば、犠牲ページを目標メモリチップに格納する。
【００３９】
制御部１２８は、選択した目標メモリチップに対して待機せずに格納することのできる犠牲ページが存在しなければ、メモリ部１２６で新しい目標メモリチップを選択し、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する。
【００４０】
図３は、本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュのページを遅延なく格納する例を従来の方法と比較して示す図である。
【００４１】
図３に示すように、４個のメモリチップで構成されたメモリ部３１０には、図面のような順序のページが格納されている。
【００４２】
バッファキャッシュ部３２０には、複数のページが格納されており、左側にあるページが古くなったページであり、格納される順序は左側ページから右側ページの順序である。ここで、バッファキャッシュ部３２０に格納されたページの中で陰影が施されたページは全体ページであり、陰影が施されていないページは部分ページである。
【００４３】
従来の一般的な格納方法に係るタイミングダイヤグラム３３０を詳しく見ると、半導体ディスクシステムは、全体ページの第６ページを第１メモリチップに送信して第１メモリチップが用いる間に次の第７ページを第２メモリチップに送信し、第２メモリチップが用いる間に次の第８ページを送信する。半導体ディスクシステムは、このように第６ページから第９ページまでを対応するアイドルページに送信する。すなわち、全体ページの第６、第７、第８、および第９ページは、データバスを介して順番に送信される。
【００４４】
以降、半導体ディスクシステムは、部分ページの第２ページを格納する前にメモリ部３１０を確認する。確認の結果、第２ページの全体ページが格納された第３チップが使用中であることを確認することができる。したがって、半導体ディスクシステムは、第３チップがアイドル状態になる時までチップを待機時間３３２の間待機する。そして、半導体ディスクシステムは、第２ページの全体ページを読み出して第２ページの部分ページと結合してこれを格納するように第１メモリチップに送信した後、全体ページの第５ページを格納することができる。
【００４５】
しかし、本発明の実施形態に係る格納方法を用いたタイミングダイヤグラム３４０を詳しく見ると、第２ページは待機時間が必要なページであり、待機時間を必要としないページである第５ページを先に格納する。そして、第５ページを格納した後で第３メモリチップが使用中で、待機せずに格納することのできるページが存在しなければ、半導体ディスクシステムは待機後に格納された第２ページの全体ページと合わせて格納することができる。しかし、第５ページを格納した後で第３メモリチップがアイドル状態であれば、半導体ディスクシステムは待機せずに第２ページの全体ページと第２ページの部分ページを合わせてアイドル状態のメモリチップに格納することができる。
【００４６】
以下、上記のように構成された本発明に係る半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法を、図面を参照しながら説明する。
【００４７】
図４は、本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュページを遅延なく格納する過程を示すフローチャートである。
【００４８】
図４を参照すると、本発明の実施形態に係る半導体ディスクシステムは、ステップＳ４００でバッファキャッシュ格納イベントの発生を検出すれば、ステップＳ４０２に進み、選択しなかったアイドルメモリチップのうち目標メモリチップを選択する。この時、目標メモリチップの選択は、前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを目標メモリチップとして選択する。すなわちアイドルメモリチップのうち自由ページが最も多いメモリチップを目標メモリチップとして選択する。
【００４９】
以降、半導体ディスクシステムは、ステップＳ４０４に進み、選択しなかったページの中から最も長く使われなかったページを目標メモリチップに格納する犠牲ページとして選択する。
【００５０】
半導体ディスクシステムは、ステップＳ４０６に進んで犠牲ページが部分ページであるか否かを確認する。確認の結果、犠牲ページが全体ページであれば、ステップＳ４１２に進んで犠牲ページを目標メモリチップに格納し、ステップＳ４１６に進む。
【００５１】
ステップＳ４０６の確認の結果、犠牲ページが部分ページであれば、半導体ディスクシステムは、ステップＳ４０８に進んで犠牲ページの原本ページを格納したメモリチップがアイドル状態であるか否かを確認する。
【００５２】
ステップＳ４０８の確認の結果、犠牲ページの原本ページを格納したメモリチップがアイドル状態であれば、半導体ディスクシステムはステップＳ４１０に進み、原本ページを読み出して犠牲ページを合わせて目標メモリチップに格納し、ステップＳ４１６に進む。
【００５３】
以降、半導体ディスクシステムは、ステップＳ４１６に進んでバッファキャッシュ格納イベントを終了するか否かを確認する。確認の結果、格納イベントが終了しなければステップＳ４０２に戻る。しかし、格納イベントが終了すれば本発明の実施形態に係るアルゴリズムを終了する。
【００５４】
一方、ステップＳ４０８の確認の結果、犠牲ページの原本ページを格納したメモリチップがアイドル状態でなければ、半導体ディスクシステムはステップＳ４１４に進んでバッファキャッシュに選択した目標メモリチップに格納する選択していないページが存在するか否かを確認する。
【００５５】
ステップＳ４１４の確認の結果、選択していないページが存在しなければ、半導体ディスクシステムはステップＳ４０４に戻って新しい犠牲ページを選択し、以降の一連の過程を行う。
【００５６】
しかし、ステップＳ４１４の確認の結果、選択していないページが存在しなければ、半導体ディスクシステムはステップＳ４０２に戻って新しい目標メモリチップを選択し、以降の一連の過程を行う。
【００５７】
また、本発明の実施形態は、多様なコンピュータ手段によって行うことができるプログラム命令を含むコンピュータ読取可能媒体を備える。前記コンピュータ読取記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含んでもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを備える。
【００５８】
上述したように本発明では具体的な構成要素などの特定事項と限定された実施形態および図面によって説明したが、これは本発明のより全般的な理解を助けるために提供したに過ぎず、本発明は、上記の実施形態に限定されることなく、本発明が属する分野で通常の知識を有する者であれば、このような記載から多様な修正および変形が可能である。したがって、本発明の思想は説明した実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものによって等価的変形のある全てのものは本発明の思想の範疇に属するものとする。
【図１】
2012517645.tif 000003
【図２】
2012517645.tif 000004
【図３】
2012517645.tif 000005
【図４】
2012517645.tif 000006
【国際調査報告】
2012517645.tif 000007
2012517645.tif 000008
2012517645.tif 000009
2012517645.tif 000010