説明

半導体ディスクシステムのバッファキャッシュプログラミング方法およびバッファキャッシュプログラミング装置

【課題】半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法および装置を提案する。
【解決手段】本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング装置は、ページを格納するバッファキャッシュ部と、複数のメモリチップを備えるメモリ部と、前記複数のメモリチップのうち少なくとも1つの目標メモリチップに格納する時に発生し得る待機時間を考慮して前記ページのうち少なくとも1つのページを犠牲ページとして選択する制御部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法およびその装置に関し、特に半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に発生する遅延を減らすプログラミング方法およびその装置に関する。
【背景技術】
【0002】
データを格納するストレージ装置には、磁気ディスク(magnetic disk)、半導体メモリなどがある。ストレージ装置は、種類別に互いに異なる物理的特性を有するため、物理的特性に相応する管理方法が必要となる。
【0003】
従来のストレージ装置では、磁気ディスクが広く用いられてきた。磁気ディスクは、平均的にキロバイト当たり数ミリ秒の読み出しおよび書き込み時間を特性として有する。また、磁気ディスクは、データが格納された物理的位置によってアーム(arm)が到達する時間が異なるため、読み出しおよび書き込み時間が変わる特性を有する。
【0004】
最近では、磁気ディスクに比べて読み出しおよび書き込み時間が短く、少ない電力消耗と小さい体積を占める非揮発性(non‐volatile)メモリが急速に磁気ディスクを代替している。これは、非揮発性メモリの大容量化がなされたために可能となった結果である。
【0005】
非揮発性メモリは、電気的に読み出し(read)、書き込み(write)、および消去(erase)が可能であり、供給電源がない状態でも格納されたデータを維持することのできる半導体記憶装置である。非揮発性メモリ装置に対するデータの格納過程は、書き込みの他にもプログラミング(programming)と呼ぶこともある。
【0006】
非揮発性メモリの代表的なものとして、フラッシュ(Flash)メモリを挙げることができ、フラッシュメモリは従来のハードディスクドライブ(HDD;Hard Disk Drive)に比べてサイズが小さく、電力消費量が小さく、読み出し速度を高めることができるという利点がある。最近では、大容量のフラッシュメモリを用いてHDDを代替するためのSSD(Solid State Disk)が提案されることがある。
【0007】
フラッシュメモリの種類として代表的なものとしては、NAND方式のフラッシュメモリとNORフラッシュメモリなどを挙げることができる。NAND方式とNOR方式は、セルアレイの構成および動作方式によって区別することができる。
【0008】
1つのフラッシュメモリをフラッシュチップと称する時、大容量のために複数のフラッシュチップを用いるマルチチップを構成することができる。この時、複数のフラッシュチップは、1つのデータバスを共有する。フラッシュメモリは、書き込みや消去命令にかかる時間が送信に比べて相対的に長くかかる。したがって、マルチチップの場合、パイプライン(pipelining)方式を用いることになる。パイプラインとは、1つのフラッシュチップに書き込み命令を行う間、他のフラッシュチップに対して順番に送信と書き込みを実施することによって、1つのチップに対する書き込み時間を隠す効果を見ることができる。
【0009】
一方、現在のフラッシュメモリの基本的な読み出し/書き込み単位のページは、ホストシステムで下される基本命令の単位であるセクタよりもはるかに大きい。したがって、ホストから小さい単位の書き込み命令語を送るときは、コントローラはバッファキャッシュ、あるいはフラッシュ変換階層を介して対応するフラッシュチップからその原本ページを読み出し、要請したセクタを用いて1つのページを作る。その後、作った1つのページをフラッシュチップに再び書き込むという付加的な作業をする必要がある。しかし、このような場合、コントローラは原本ページを格納したフラッシュチップが書き込み動作中であれば、原本ページを読むために書き込み動作が終了する時まで待機しなければならない。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2008−108281号公報
【特許文献2】米国特許出願公開第2007−0091679号明細書
【特許文献3】米国特許出願公開第2005−0235119号明細書
【特許文献4】米国特許出願公開第2006−0271755号明細書
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法および装置を提供する。
【0012】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に発生する遅延を減らすプログラミング方法および装置を提供する。
【0013】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に待機せずに格納することのできるページを発生する、優先的に格納する方法および装置を提供する。
【課題を解決するための手段】
【0014】
本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング装置は、ページを格納するバッファキャッシュ部と、複数のメモリチップを備えるメモリ部と、前記複数のメモリチップのうち少なくとも1つの目標メモリチップに格納する時に発生し得る待機時間を考慮して前記ページのうち少なくとも1つのページを犠牲ページとして選択する制御部とを備える。
【0015】
本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング装置は、ページを格納するバッファキャッシュ部と、1つ以上のメモリチップを備えるメモリ部と、前記バッファキャッシュ部の前記ページの中から選択した犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する制御部とを備える。
【0016】
本発明の実施形態に係る半導体ディスクシステムのバッファキャッシュプログラミング方法は、バッファキャッシュ部のページの中から犠牲ページを選択するステップと、前記犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択するステップとを含む。
【発明の効果】
【0017】
本発明の実施形態は、ページを格納するバッファキャッシュ部と、複数のメモリチップを備えるメモリ部と、前記ページの中から前記複数のメモリチップのうち少なくとも1つの目標メモリチップに格納する時に発生し得る待機時間を考慮して少なくとも1つのページを犠牲ページとして選択する制御部とを備える半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法および装置に関するものであり、バッファキャッシュのページを格納する時に発生し得る遅延を減らすことによって書き込み性能を高める。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態によるバッファキャッシュのページを遅延なく格納する半導体ディスクシステムの構成を示す図である。
【図2】本発明の一実施形態による半導体ディスクシステムにおけるメモリ部の構成を示す図である。
【図3】本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュのページを遅延なく格納する例を従来の方法と比較して示す図面である。
【図4】本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュのページを遅延なく格納する過程を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下にて、本発明に係る実施形態を添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示される同一の参照符号は同一の部材を示す。そして、本発明の要旨を不要に曖昧にすると判断される場合には、その詳細な説明は省略する。
【0020】
本発明の実施形態は、半導体ディスクシステムにおけるバッファキャッシュのページを複数のメモリチップで構成されたメモリに格納する時に発生する遅延を減らすプログラミング方法および装置に関するものであり、以下にて図1を参照しながら、本発明の実施形態に係る半導体ディスクシステムの構造を詳しく見ることにする。
【0021】
図1は、本発明の一実施形態によるバッファキャッシュのページを遅延なく格納する半導体ディスクシステムの構成を示す図である。
【0022】
図1に示すように、半導体ディスク(Solid State Disk、SSD)システム120は、バッファキャッシュ部122、変換階層部124、メモリ部126、および制御部128を備えてもよい。
【0023】
ホスト110は、半導体ディスクシステム120にセクタ単位の読み出し要請または書き込み要請をする。
【0024】
バッファキャッシュ部122は、読み出し動作または書き込み動作に所要する時間を減らすために頻繁に用いられるデータを格納する。バッファキャッシュ部122は、主に書き込み専用として動作してもよい。これは、メモリ部126の遅い書き込み性能を隠す役割を担う。すなわち、同じ要請が早い時間内に再び入ってくることになれば、バッファキャッシュ部122ですぐに処理することができるために、メモリ部126を検索しなくて済む。
【0025】
変換階層部124は、少なくとも1つのアイドルバンク(idle bank)に対するアクセス結果に基づいて物理セクタ(physical sector)および論理セクタ(logical sector)の間のマップを構成してもよい。換言すれば、変換階層部124は、要請する論理アドレスを対応する物理アドレスに変換し、物理アドレスを論理アドレスに変換する。また、変換階層部124は、メモリ部126の基本読み出し/書き込み単位はページであるため、セクタ単位の要請をページ単位に変換する。
【0026】
メモリ部126は、複数のメモリチップを備えて構成する。メモリ部126の構成は、以下にて図2を参照しながら詳しく説明する。
【0027】
図2は、本発明の一実施形態による半導体ディスクシステムにおけるメモリ部の構成を示す図である。
【0028】
図2を参照すると、半導体ディスクシステム120は、大容量の必要性により、メモリ部126を1つのメモリチップによって構成されるものではなく、いくつかのメモリチップ222,224,226によって構成される。そして、いくつかのメモリチップ222,224,226は、1つのデータバス210を共有する。
【0029】
メモリチップ222,224,226は、半導体ディスクであって、NAND方式のフラッシュメモリまたはNORフラッシュメモリなどが可能である。メモリチップ222,224,226は、書き込みや消去命令にかかる時間が送信に比べて相対的に長くかかるため、パイプライン(pipelining)方式を用いることになる。
【0030】
一方メモリ部126は、図2に限定されることはなく、チャネル別にデータバスを有する複数のチャネルで構成することもできる。この時、複数のメモリチップは、複数のチャネルのうちいずれか1つと接続され、複数のチャネルは互いに独立的である。
【0031】
制御部128は、半導体ディスクシステム120の全般的な動作を制御し、本発明の実施形態に係る変換階層部124を制御してもよい。すなわち、前記制御部128は、変換階層部124の機能を行ってもよい。本発明でこれらを別々に構成して示す理由は、各機能を区別して説明するためである。したがって、実際に製品を実現する場合に変換階層部124を制御部128で処理するように構成してもよい。
【0032】
また、制御部128は、バッファキャッシュ部122の格納イベントを検出すれば、使用可能なメモリチップのアイドル(idle)メモリチップのうち目標メモリチップを選択する。この時、目標メモリチップの選択は、メモリ部126のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを目標メモリチップとして選択する。すなわちアイドルメモリチップのうち自由ページが最も多いメモリチップを目標メモリチップとして選択する。
【0033】
以降、制御部128は、バッファキャッシュ部122に格納されたセクタ単位のデータをページ単位に区分して、ページの中から最も長く使われなかったページを目標メモリチップに格納される犠牲(victim)ページとして選択する。本発明の実施形態で犠牲ページというのは、メモリチップに格納されるページを意味する。
【0034】
以降、制御部128は、選択した犠牲ページをメモリ部126の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する。
【0035】
犠牲ページが待機しなければならない場合は、犠牲ページが部分ページであって、犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合である。本発明の実施形態において、部分ページというのはバッファキャッシュ部122に格納されたデータがページを構成する全体のデータでない一部分の場合を意味する。
【0036】
待機せずに格納することのできる犠牲ページは、犠牲ページが全体ページの場合に可能である。さらに、待機せずに格納することのできる犠牲ページは、犠牲ページが部分ページであって、犠牲ページの原本ページが格納されたメモリチップがアイドル状態である場合もまた可能である。本発明の実施形態において、全体ページというのはバッファキャッシュ部122に格納されたデータがページを構成する全体のデータの場合を意味する。
【0037】
制御部128は、犠牲ページが部分ページであって、犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、メモリ部126から原本ページを読み出して犠牲ページを合わせて前記目標メモリチップに格納する。
【0038】
制御部128は、犠牲ページが全体ページであれば、犠牲ページを目標メモリチップに格納する。
【0039】
制御部128は、選択した目標メモリチップに対して待機せずに格納することのできる犠牲ページが存在しなければ、メモリ部126で新しい目標メモリチップを選択し、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する。
【0040】
図3は、本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュのページを遅延なく格納する例を従来の方法と比較して示す図である。
【0041】
図3に示すように、4個のメモリチップで構成されたメモリ部310には、図面のような順序のページが格納されている。
【0042】
バッファキャッシュ部320には、複数のページが格納されており、左側にあるページが古くなったページであり、格納される順序は左側ページから右側ページの順序である。ここで、バッファキャッシュ部320に格納されたページの中で陰影が施されたページは全体ページであり、陰影が施されていないページは部分ページである。
【0043】
従来の一般的な格納方法に係るタイミングダイヤグラム330を詳しく見ると、半導体ディスクシステムは、全体ページの第6ページを第1メモリチップに送信して第1メモリチップが用いる間に次の第7ページを第2メモリチップに送信し、第2メモリチップが用いる間に次の第8ページを送信する。半導体ディスクシステムは、このように第6ページから第9ページまでを対応するアイドルページに送信する。すなわち、全体ページの第6、第7、第8、および第9ページは、データバスを介して順番に送信される。
【0044】
以降、半導体ディスクシステムは、部分ページの第2ページを格納する前にメモリ部310を確認する。確認の結果、第2ページの全体ページが格納された第3チップが使用中であることを確認することができる。したがって、半導体ディスクシステムは、第3チップがアイドル状態になる時までチップを待機時間332の間待機する。そして、半導体ディスクシステムは、第2ページの全体ページを読み出して第2ページの部分ページと結合してこれを格納するように第1メモリチップに送信した後、全体ページの第5ページを格納することができる。
【0045】
しかし、本発明の実施形態に係る格納方法を用いたタイミングダイヤグラム340を詳しく見ると、第2ページは待機時間が必要なページであり、待機時間を必要としないページである第5ページを先に格納する。そして、第5ページを格納した後で第3メモリチップが使用中で、待機せずに格納することのできるページが存在しなければ、半導体ディスクシステムは待機後に格納された第2ページの全体ページと合わせて格納することができる。しかし、第5ページを格納した後で第3メモリチップがアイドル状態であれば、半導体ディスクシステムは待機せずに第2ページの全体ページと第2ページの部分ページを合わせてアイドル状態のメモリチップに格納することができる。
【0046】
以下、上記のように構成された本発明に係る半導体ディスクシステムにおけるバッファキャッシュのプログラミング方法を、図面を参照しながら説明する。
【0047】
図4は、本発明の一実施形態による半導体ディスクシステムにおけるバッファキャッシュページを遅延なく格納する過程を示すフローチャートである。
【0048】
図4を参照すると、本発明の実施形態に係る半導体ディスクシステムは、ステップS400でバッファキャッシュ格納イベントの発生を検出すれば、ステップS402に進み、選択しなかったアイドルメモリチップのうち目標メモリチップを選択する。この時、目標メモリチップの選択は、前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを目標メモリチップとして選択する。すなわちアイドルメモリチップのうち自由ページが最も多いメモリチップを目標メモリチップとして選択する。
【0049】
以降、半導体ディスクシステムは、ステップS404に進み、選択しなかったページの中から最も長く使われなかったページを目標メモリチップに格納する犠牲ページとして選択する。
【0050】
半導体ディスクシステムは、ステップS406に進んで犠牲ページが部分ページであるか否かを確認する。確認の結果、犠牲ページが全体ページであれば、ステップS412に進んで犠牲ページを目標メモリチップに格納し、ステップS416に進む。
【0051】
ステップS406の確認の結果、犠牲ページが部分ページであれば、半導体ディスクシステムは、ステップS408に進んで犠牲ページの原本ページを格納したメモリチップがアイドル状態であるか否かを確認する。
【0052】
ステップS408の確認の結果、犠牲ページの原本ページを格納したメモリチップがアイドル状態であれば、半導体ディスクシステムはステップS410に進み、原本ページを読み出して犠牲ページを合わせて目標メモリチップに格納し、ステップS416に進む。
【0053】
以降、半導体ディスクシステムは、ステップS416に進んでバッファキャッシュ格納イベントを終了するか否かを確認する。確認の結果、格納イベントが終了しなければステップS402に戻る。しかし、格納イベントが終了すれば本発明の実施形態に係るアルゴリズムを終了する。
【0054】
一方、ステップS408の確認の結果、犠牲ページの原本ページを格納したメモリチップがアイドル状態でなければ、半導体ディスクシステムはステップS414に進んでバッファキャッシュに選択した目標メモリチップに格納する選択していないページが存在するか否かを確認する。
【0055】
ステップS414の確認の結果、選択していないページが存在しなければ、半導体ディスクシステムはステップS404に戻って新しい犠牲ページを選択し、以降の一連の過程を行う。
【0056】
しかし、ステップS414の確認の結果、選択していないページが存在しなければ、半導体ディスクシステムはステップS402に戻って新しい目標メモリチップを選択し、以降の一連の過程を行う。
【0057】
また、本発明の実施形態は、多様なコンピュータ手段によって行うことができるプログラム命令を含むコンピュータ読取可能媒体を備える。前記コンピュータ読取記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含んでもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを備える。
【0058】
上述したように本発明では具体的な構成要素などの特定事項と限定された実施形態および図面によって説明したが、これは本発明のより全般的な理解を助けるために提供したに過ぎず、本発明は、上記の実施形態に限定されることなく、本発明が属する分野で通常の知識を有する者であれば、このような記載から多様な修正および変形が可能である。したがって、本発明の思想は説明した実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものによって等価的変形のある全てのものは本発明の思想の範疇に属するものとする。

【特許請求の範囲】
【請求項1】
ページを格納するバッファキャッシュ部と、
複数のメモリチップを備えるメモリ部と、
前記複数のメモリチップのうち少なくとも1つの目標メモリチップに格納する時に発生し得る待機時間を考慮して前記ページのうち少なくとも1つのページを犠牲ページとして選択する制御部と、
を備えることを特徴とする、半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項2】
前記制御部は、
前記犠牲ページを選択する時、前記ページの使用頻度、または直近の使用時間を考慮して選択することを特徴とする、請求項1に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項3】
前記制御部は、
前記ページの中から犠牲ページとして選択されなかった、最も長い間使用されず、前記目標メモリチップに格納する時に待機せずに格納可能なページを、前記犠牲ページとして選択することを特徴とする、請求項1に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項4】
前記犠牲ページが待機しなければならない場合は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合であることを特徴とする、請求項3に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項5】
前記待機せずに格納することのできる犠牲ページは、
前記犠牲ページが全体ページである場合や、前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態の場合であることを特徴とする、請求項3に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項6】
前記制御部は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、前記原本ページを読み出して前記犠牲ページを合わせて前記目標メモリチップに格納することを特徴とする、請求項1に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項7】
前記制御部は、
前記犠牲ページが全体ページであれば、前記犠牲ページを前記目標メモリチップに格納することを特徴とする、請求項1に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項8】
前記制御部は、
前記犠牲ページを選択する前に、前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを前記目標メモリチップとして選択することを特徴とする、請求項1に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項9】
前記制御部は、
前記新しい犠牲ページの選択の結果、前記待機せずに格納することのできる犠牲ページが存在しなければ、前記メモリ部で新しい目標メモリチップを選択することを特徴とする、請求項1に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項10】
ページを格納するバッファキャッシュ部と、
1つ以上のメモリチップを備えるメモリ部と、
前記バッファキャッシュ部の前記ページの中から選択した犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択する制御部と、
を備えることを特徴とする、半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項11】
前記制御部は、
前記バッファキャッシュ部の前記ページの中から格納対象として選択を受けず、最も長い間使われなかったページを、前記犠牲ページまたは前記新しい犠牲ページとして選択することを特徴とする、請求項10に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項12】
前記制御部で前記犠牲ページが待機しなければならない場合は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合であることを特徴とする、請求項10に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項13】
前記待機せずに格納することのできる犠牲ページは、
前記犠牲ページが全体ページである場合や、前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態の場合であることを特徴とする、請求項10に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項14】
前記制御部は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、前記原本ページを読み出して前記犠牲ページを合わせて前記目標メモリチップに格納することを特徴とする、請求項10に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項15】
前記制御部は、
前記犠牲ページが全体ページであれば、前記犠牲ページを前記目標メモリチップに格納することを特徴とする、請求項10に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項16】
前記制御部は、
前記犠牲ページを選択する前に、前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを前記目標メモリチップとして選択することを特徴とする、請求項10に記載の半導体ディスクシステムのバッファキャッシュプログラミング装置。
【請求項17】
バッファキャッシュ部のページの中から犠牲ページを選択するステップと、
前記犠牲ページがメモリ部の目標メモリチップに格納するために待機しなければならない場合、待機せずに格納することのできる犠牲ページを選択する時まで新しい犠牲ページを選択するステップと、
を含むことを特徴とする、半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項18】
前記犠牲ページまたは前記新しい犠牲ページの選択は、
前記バッファキャッシュ部の前記ページの中から、格納対象として選択されず、最も長い間使われなかったページを、前記犠牲ページまたは前記新しい犠牲ページとして選択することを特徴とする、請求項17に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項19】
前記犠牲ページが待機しなければならない場合は、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態でない場合であることを特徴とする、請求項17に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項20】
前記待機せずに格納することのできる犠牲ページは、
前記犠牲ページが全体ページである場合、または、前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態の場合であることを特徴とする、請求項17に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項21】
前記待機せずに格納することのできる前記犠牲ページが選択された場合、
前記犠牲ページが部分ページであって、前記犠牲ページの原本ページが格納されたメモリチップがアイドル状態であれば、前記原本ページを読み出して前記犠牲ページを合わせて前記目標メモリチップに格納するステップをさらに含むことを特徴とする、請求項17に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項22】
前記待機せずに格納することのできる前記犠牲ページが選択された場合、
前記犠牲ページが全体ページであれば、前記犠牲ページを前記目標メモリチップに格納するステップをさらに含むことを特徴とする、請求項17に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項23】
前記バッファキャッシュ部のページの中から前記犠牲ページを選択するステップの前に、
1つ以上のメモリチップを有する前記メモリ部のアイドルメモリチップの中から空いている格納可能な空間が最も大きいメモリチップを前記目標メモリチップとして選択することを特徴とする、請求項17に記載の半導体ディスクシステムのバッファキャッシュプログラミング方法。
【請求項24】
請求項17〜請求項23のうちいずれか1項の方法における各ステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読み出し可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2012−517645(P2012−517645A)
【公表日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2011−550047(P2011−550047)
【出願日】平成21年11月30日(2009.11.30)
【国際出願番号】PCT/KR2009/007067
【国際公開番号】WO2010/093114
【国際公開日】平成22年8月19日(2010.8.19)
【出願人】(511116683)インディリンクス カンパニー リミテッド (9)
【Fターム(参考)】