(57)【要約】【課題】キャッシュメモリのセグメント内の途中でライト完了となった場合にセグメントの残り部分が無駄な領域になってしまうという問題を解決する。【解決手段】キャッシュメモリのセグメント内におけるデータ書き込み位置を、書き込みデータの論理ブロックアドレス（ＬＢＡ）の下位ビットをオフセットとして加えたアドレスに変更する。【選択図】図２
2011028386.tif 000002
【特許請求の範囲】
【請求項１】
所定サイズのセグメントに分割されたキャッシュメモリを制御する方法において、ライトデータを前記キャッシュメモリに書き込む際に、前記ライトデータの論理ブロックアドレスの下位アドレスを前記セグメント内のアドレスオフセットとして使用するキャッシュメモリ制御方法。
【請求項２】
以前ライトされた論理ブロックアドレスの手前の部分に対するライトが発生したら、今ライトしようとしているデータを、その末尾が以前ライトされたデータの直前になるように前記キャッシュメモリ内に配置する請求項１に記載の方法。
【請求項３】
以前ライトされた論理ブロックアドレスの後ろの部分に対するライトが発生したら、今ライトしようとしているデータを、その先頭が以前ライトされたデータの直後になるように前記キャッシュメモリ内に配置する請求項１または請求項２に記載の方法。
【請求項４】
前記セグメントの前記所定サイズが、前記ライトデータの種類に応じて設定される請求項１または請求項２に記載の方法。
【請求項５】
所定サイズのセグメントに分割されるキャッシュメモリと、
外部からのライトデータを前記キャッシュメモリに転送するデータ転送モジュールと、
前記キャッシュメモリ内における前記セグメントの位置情報および、前記セグメント内における前記ライトデータのオフセット位置情報を格納するセグメント管理モジュールと、
以前のライトデータの論理ブロックアドレスの下位アドレスを前記オフセット位置情報として使用して、前記ライトデータを前記キャッシュメモリに書き込む制御を行うキャッシュコントローラと、
前記キャッシュメモリに書き込まれたデータを含む情報を記憶するデータ記憶モジュールを具備した情報記憶装置。
【請求項６】
データソースからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリと、前記キャッシュメモリを介して前記ライトデータが書き込まれ前記キャッシュメモリを介して書き込まれたデータが読み出されるデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを表示する表示モジュールを備え、
前記ライトデータが前記キャッシュメモリに書き込まれる際に、前記ライトデータの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるように構成した情報記憶装置。
【請求項７】
データソースからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリと、前記キャッシュメモリを介して前記ライトデータが書き込まれ前記キャッシュメモリを介して書き込まれたデータが読み出されるデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを外部出力するインターフェースを備え、
前記ライトデータが前記キャッシュメモリに書き込まれる際に、前記ライトデータの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるように構成した情報記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置に関する。
【背景技術】
【０００２】
アクセス速度高速化のためにキャッシュメモリを備えた磁気ディスク装置（ＨＤＤ：Hard Disk Drive）などの情報記憶装置が、種々開発されている。キャッシュメモリは、ホストコンピュータ等と情報記憶装置の間で入出力されるデータを一時的に保持するための高速バッファであり、情報記憶装置上のデータの写しの一部が格納される。このキャッシュメモリとしては、通常、ＳＲＡＭ（static RAM）やＤＲＡＭ（dynamic RAM）等の高速半導体メモリが使用される。
【０００３】
近年は大容量ＨＤＤが安価に供給されるようになってきており、数百ギガバイトないしテラバイトクラスのＨＤＤがＡＶパソコン、デジタルＴＶ、デジタルビデオレコーダなどで利用されている。このような大容量ＨＤＤでは比較的大容量のキャッシュメモリが用いられる。
【０００４】
キャッシュメモリの書き込み制御には種々な改善が提案されている。例えば、ライトキャッシュをｎ個のキャッシュブロックに区分し、各ブロックに対応してキャッシュディレクトリを設け、このディレクトリにディスクアドレス記録部とオフセット情報記録部とデータ長記録部を備えたものがある（特許文献１参照）。ここで、オフセット情報記録部は、ディスク（記録媒体）上の先頭アドレスから有効データが書き込まれるべきディスク上のアドレスまでの距離を示す。キャッシュブロックのデータをディスクに格納する場合は、ディスクアドレス記録部の表示アドレスからオフセット情報記録部の表示セクタ数分だけずれたアドレスで書き込みを開始し、データ長記録部が示すセクタ数分だけ書き込み動作を続けるようになっている。
【０００５】
また、キャッシュメモリをＮ個のセルに分割し、ディスクに対して読み書きするデータについては、ディスク上のアドレスを所定値Ｎで除したときの余りに対応する位置からキャッシュメモリへの書き込みを行うものもある（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−３１４００８号公報
【特許文献２】特開２００３−３３０７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
キャッシュメモリを備えた情報記憶装置においては、ホストコンピュータ等から情報記憶装置へのライトアクセス要求が発行されると、キャッシュメモリにライトコマンドとデータが一旦書き込まれる（ライトキャッシュ）。その際、単純には、キャッシュメモリに連続的にライト （キャッシュメモリのアドレスを単純にインクリメント）してゆけばよい。しかし、このような単純な方法では、巨大なキャッシュメモリを1セクタ単位で管理する必要が出てくるため、デコード量が増え、管理が非常に煩雑になる。
【０００８】
このデコード量を減らす方策として、キャッシュメモリをある特定の単位（ブロックやセルなどのセグメント）で分けて管理する方法がある（特許文献１あるいは特許文献２）。例えば、1セクタが５１２バイトで、セグメントの単位を４ｋバイト（４ｋＢ）とすると、１セグメント単位で８セクタを賄えるため、デコード量は１／８になる。しかし、その場合でも、１回のライトコマンド毎にアドレス情報（書き込まれる情報の先頭位置、長さ等）を保持しておく必要はある。また、セグメント内の先頭からライトを行っていくと、セグメント内の途中でライトの完了となった場合、セグメントの残りの部分が使用できない無駄な領域になってしまう。
【０００９】
この発明の課題の１つは、キャッシュメモリのセグメント内の途中でライト完了となった場合にセグメントの残り部分が無駄な領域になってしまうという問題を解決することである。
【課題を解決するための手段】
【００１０】
この発明の一実施の形態に係るキャッシュメモリ制御方法では、上記セグメントの残り部分が無駄領域になってしまうという問題を解決するために、キャッシュメモリのセグメント内におけるデータ書き込み位置を、書き込みデータの論理ブロックアドレス（ＬＢＡ）の下位ビットをオフセットとして加えたアドレスに変更している。
【発明の効果】
【００１１】
この発明によれば、キャッシュメモリのセグメントを無駄なく使用できる。
【図面の簡単な説明】
【００１２】
【図１】この発明の一実施の形態に係るキャッシュメモリ装置の構成例を説明する図。
【図２】この発明の一実施の形態に係るキャッシュメモリ制御方法の一例を説明するフローチャート図。
【図３】この発明が実施された場合のキャッシュメモリの使用形態例を説明する図。
【図４】この発明が実施されなかった場合のキャッシュメモリの使用形態例を説明する図。
【図５】この発明の一実施の形態に係るキャッシュメモリ装置を備えた情報記憶装置等を説明する図。
【図６】セグメント管理テーブルに格納される情報の一例を説明する図。
【発明を実施するための形態】
【００１３】
以下、図面を参照してこの発明の種々な実施の形態を説明する。図１は、この発明の一実施の形態に係るキャッシュメモリ装置１００の構成の一例を説明する図である。ここでは、キャッシュメモリを利用する大容量記憶メディアとして、ＨＤＤ、光ディスク、フラッシュメモリ等を用いたメディアドライブ１１０を例示している。また、メディアドライブ１１０へライトデータを送出するソース機器あるいはメディアドライブ１１０からのリードデータを受け取るシンク機器として、ここではホストコンピュータ１０を例示している。
【００１４】
メディアドライブ１１０に対するリード／ライト動作は、キャッシュメモリ装置１００を介して行われる。キャッシュメモリ装置１００は、ホストコンピュータ１０からの指令に応じて、ホストコンピュータ１０からのライトデータをメディアドライブ１１０に書き込み、あるいはメディアドライブ１１０からのリードデータをホストコンピュータ１０に転送する。
【００１５】
具体的には、キャッシュメモリ装置１００は、キャッシュメモリ１０６と、ホストコンピュータ１０からのライトデータをキャッシュメモリ１０６に転送しあるいはキャッシュメモリ１０６からのリードデータをホストコンピュータ１０に転送するデータ転送コントローラ１０４と、データ転送コントローラ１０４およびキャッシュメモリ１０６の動作を制御するキャッシュコントローラ１０２を備えている。ここで、キャッシュメモリ１０６の記憶エリアは所定サイズの複数セグメントに分割され、これらのセグメントを管理する情報が書き込まれるセグメント管理テーブル１０２ａが、キャッシュコントローラ１０２に接続されている。
【００１６】
キャッシュコントローラ１０２は、ホストコンピュータ１０からの指令（ライトコマンド、リードコマンド等）に応じて、ホストコンピュータ１０からのライトデータをメディアドライブ１１０に書き込む制御を行い、あるいは、メディアドライブ１１０からのリードデータをホストコンピュータ１０側に送り返す制御を行う。その際、ホストコンピュータ１０が読み取ろうとしているメディアドライブ１１０の記憶データと同じものがキャッシュメモリ１０６にあるときは（キャッシュヒット）、キャッシュメモリ１０６からホストコンピュータ１０へ読み取ろうとしているデータのコピーが高速転送される。このキャッシュコントローラ１０２の機能は、ハードウエアロジック回路あるいはマイクロコンピュータを用いたファームウエアで実現される。
【００１７】
ここで、キャッシュコントローラ１０２をハードウエアロジック回路で構成した場合は高速処理を実現しやすい。一方、キャッシュコントローラ１０２をファームウエアで具現する場合、処理速度はハードウエアロジック回路より遅くなるが、キャッシュコントロールの処理内容の変更が容易となる。
【００１８】
纏めると、図１の装置は、所定サイズのセグメントに分割されるキャッシュメモリ１０６と、外部（ホスト１０）からのライトデータをキャッシュメモリ１０６に転送するデータ転送モジュール１０４と、キャッシュメモリ１０６内における前記セグメントの位置情報（図６のＳＡ、ＥＡ参照）および前記セグメント内における前記ライトデータのオフセット位置情報（ＬＢＡ下位ビット）を格納するセグメント管理モジュール１０２ａと、以前のライトデータの論理ブロックアドレスＬＢＡの下位アドレスを前記オフセット位置情報として使用（図２のＳＴ２０参照）して前記ライトデータをキャッシュメモリ１０６に書き込む制御を行うキャッシュコントローラ１０２と、キャッシュメモリ１０６に書き込まれたデータを含む情報を記憶するデータ記憶モジュール１１０を具備した情報記憶装置である。
【００１９】
所定サイズ（１ｋＢ、２ｋＢ、４ｋＢ、８ｋＢ、１６ｋＢ、３２ｋＢ、６４ｋＢ、１２８ｋＢ、２５６ｋＢなど）に分割されたキャッシュメモリ１０６にライトデータを書き込む場合、図１のキャッシュコントローラ１０２は、例えば図２に示すような処理を行う。図２はこの発明の一実施の形態に係るキャッシュメモリ制御方法の一例を説明するフローチャートである。図３はこの発明が実施された場合のキャッシュメモリの使用形態例を説明する図である。また、図６はセグメント管理テーブル１０２ａに格納される情報の一例を説明する図である。
【００２０】
図１のホストコンピュータ１０は、メディアドライブ１１０に対して情報記録を行う場合、書き込みデータのアドレス（論理ブロックアドレスＬＢＡ）およびデータ長の情報を含むライトコマンドを、キャッシュコントローラ１０２に送る。キャッシュコントローラ１０２は、ホストコンピュータ１０からライトコマンドを受信すると（図２のＳＴ１０）、ライトデータの書き込みに用いる1以上のセグメントを決定する。
【００２１】
その決定の際、キャッシュメモリ１０６に未使用セグメント（データが書き込まれていないセグメント）があれば、その未使用セグメントが先にライトデータの書き込みに用いられる。キャッシュメモリ１０６に未使用セグメントがないときは、古い書き込みデータがある１以上のセグメントが古い順に（あるいはリード時のキャッシュヒット回数が少ない順に）用いられる。当初、キャッシュメモリ１０６に未使用セグメントがあっても、キャッシュライト中に未使用セグメントがなくなれば、それ以後は古い書き込みデータがある１以上のセグメントが古い順に（あるいはヒット回数が少ない順に）用いられる。
【００２２】
なお、単純に古い書き込みデータがあるセグメントから使用するのではなく、キャッシュコントローラ１０２において、使用するセグメントの優先順位に関して最初から重み付けをしておくこともできる。
【００２３】
ライトデータの書き込みに用いる１以上のセグメントが決定されると、それらのセグメントに対して、ライトフラグがセットされ、書き込み開始アドレスＳＡおよび書き込み終了アドレスＥＡ（書き込みデータのアクセス範囲に対応）がセットされ、ライトデータに応じたセグメントサイズがセットされる（ＳＴ１２）。これらのセッティングに対応した設定情報は、図６に例示されるように、セグメント管理テーブル１０２ａに格納される。
【００２４】
例えば、書き込みデータがテキストデータあるいは静止画データであればセグメントサイズとして２ｋＢ〜１６ｋＢがセットされ、書き込みデータが動画データであればセグメントサイズとして１６ｋＢ〜６４ｋＢがセットされる。また、例えばセグメントサイズが１６ｋＢであり８ＭＢのライトデータがキャッシングされる場合なら、５００個のセグメントが用いられる。
【００２５】
なお、書き込みデータの種類（テキストデータ、静止画データ、動画データなど）および／または書き込みデータのビットレート（動画データなら２．２Ｍｂｐｓ、４．６Ｍｂｐｓ、１６Ｍｂｐｓ、２４Ｍｂｐｓなど）の情報は、ホストコンピュータ１０からキャッシュコントローラ１０２に送られるコマンドに含ませておくことができる。
【００２６】
さらに、キャッシュメモリ１０６のセグメント書き込み状況によって、あるいはライトデータの先頭または末尾がキャッシュメモリの何処に書き込まれるのかによって、書き込みデータのＬＢＡの下位ビットを用いたオフセットデータ（図３参照）が適宜セットされる。このオフセットデータのセッティングは、図６に例示されるようにどのセグメントに対しても設定可能となっており、その設定結果は図１のセグメント管理テーブル１０２ａに格納される。
【００２７】
なお、図示しないが、セグメント管理テーブル１０２ａに格納されるセグメント毎の設定情報には、該セグメントが書き込み済みか否かのフラグ、該セグメントに空き領域があるか否かのフラグ、該セグメントに最後にデータ書き込みがなされたときのタイムスタンプ、該セグメントに書き込まれているデータのリード時キャッシュヒット回数などの情報を、適宜含めておくことができる。
【００２８】
ライトデータの書き込みに用いる１以上のセグメントに対してＳＴ１２の情報設定が済むと、今回のライトデータの書き込み位置が以前の書き込みから連続して後に続くか否かがチェックされる（ＳＴ１４）。例えば図３において、以前の書き込みａ１（その論理ブロックアドレスは例えばＬＢＡ１００〜１１９）と連続して後ろの部分への書き込みａ３（その論理ブロックアドレスは例えばＬＢＡ１２０〜１５５）が発生した場合は（ＳＴ１４ＹＥＳ）、以前の書き込みａ１の直後の部分（キャッシュメモリアドレスＡｙ）から次の書き込みが行われる（ＳＴ１６）。この書き込みがアクセス範囲の最後（ＬＢＡ１５５）まで済めば（ＳＴ１８ＹＥＳ）、次の処理へ移行する。
【００２９】
一方、例えば図３において、以前の書き込みａ１で書き込んだＬＢＡ１００〜１１９のデータに連続した部分でかつ前の部分（例えばＬＢＡ８４〜９９）のデータに対する書き込みａ２が発生した場合は（ＳＴ１４ＮＯ）、その書き込みａ２の最後のデータ（ＬＢＡ９９のデータ）を格納するキャッシュメモリのアドレスＡｘが書き込みａ１の先頭に繋がるようにして、書き込みを開始する（ＳＴ２０）。この書き込みがアクセス範囲の最後（ＬＢＡ９９）まで済めば（ＳＴ２２ＹＥＳ）、次の処理へ移行する。
【００３０】
ここで、キャッシュメモリ１０６内におけるアドレスＡｘの位置は、書き込みａ１の先頭のデータ端部が属するセグメントの端部からオフセットした位置となる。このオフセット位置を示すのに、書き込みａ１の先頭データのＬＢＡの下位ビットを用いる（図３参照）。また、書き込みａ１の先頭データ（ＬＢＡ１００）が属するセグメントの管理情報テーブル１０２ａ（例えば図６のセグメントｎに対するテーブル）に、オフセット位置を示すＬＢＡの下位ビットがセットされる。つまり、セグメント管理情報テーブル１０２ａを参照することにより該当セグメント内におけるデータ端部のオフセット量が分かるため、キャッシュメモリ１０６内におけるアドレスＡｘの位置を即座に決定できる。
【００３１】
図４は、この発明が実施されなかった場合のキャッシュメモリの使用形態例を説明する図である。図２の処理では以前の書き込みａ１によるキャッシュデータの前後のいずれに新たなキャッシュライトが発生してもキャッシュメモリ内に空きが生じないような書き込み（図３）を行っている。その際、以前の書き込みのデータ端部がセグメントの途中にある場合に、図２のような処理を行わないと、例えば図４に例示するように、以前の書き込みｂ１のデータ端部と新たな書き込みｂ２またはｂ３のデータ端部との間に、無駄な空き領域が発生する恐れがある。このような空き領域がキャッシュメモリ１０６のあちこちで多数発生すると、キャッシュメモリ１０６の容量が実質的に小さくなってしまう。しかし、図２のような処理（書き込みデータのＬＢＡの下位ビットで空き領域分をキャンセルするオフセット情報を作るＳＴ２０）をすれば、そのような無駄な空き領域の発生を防止できる。
【００３２】
図５は、この発明の一実施の形態に係るキャッシュメモリ装置を備えた情報記憶装置等を説明する図である。デジタルＴＶチューナ等のデータソース１０ａから送出されるライトデータ（例えばＭＰＥＧ−２のトランスポートストリーム）は、図１のような構成を持つキャッシュメモリ装置１００を介して、デジタル録画部１１０ａに記録される。デジタル録画部１１０ａは、大容量のＨＤＤあるいは光ディスクもしくはＩＣメモリ（フラッシュメモリ）を用いて構成することができる。デジタル録画部１１０ａからの再生データは、キャッシュメモリ装置１００を介して３映像表示部１１２に送られ、適宜デコードされて映像表示される。また、デジタル録画部１１０ａからの再生データは、ＨＤＭＩ、ＵＳＢ、ＩＥＥＥ１３９４などのデジタルインターフェースを介して、デジタルビデオレコーダなどの外部映像機器および／またはＡＶパソコン１１６に送出される。
【００３３】
図５の装置は、データソース（デジタルＴＶチューナなど）１０ａからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリ１００と、キャッシュメモリ１００を介して前記ライトデータが書き込まれキャッシュメモリ１００を介して書き込まれたデータが読み出されるデータ記憶モジュール１１０ａと、データ記憶モジュール１１０ａからキャッシュメモリ１００を介して読み出されたデータを表示する表示モジュール１１２を備えた情報記憶装置（ＨＤＤレコーダ付きのＴＶ、ＡＶノートパソコンなど）である。
【００３４】
あるいは、図５の装置は、データソース（デジタルＴＶチューナなど）１０ａからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリ１００と、キャッシュメモリ１００を介して前記ライトデータが書き込まれキャッシュメモリ１００を介して書き込まれたデータが読み出されるデータ記憶モジュール１１０ａと、データ記憶モジュール１１０ａからキャッシュメモリ１００を介して読み出されたデータを外部出力するインターフェース（ＨＤＭＩ、ＵＳＢ、ＩＥＥＥ１３９４など）１１４を備えた情報記憶装置（ＨＤＤ付きのＤＶＤ／ＢＤレコーダ、ＡＶパソコンなど）であるともいえる。
【００３５】
ここで、図５の装置は、前記ライトデータがキャッシュメモリ１００に書き込まれる際に、前記ライトデータの論理ブロックアドレスＬＢＡの下位アドレスが前記セグメント内のアドレスオフセットとして使用される（図２のＳＴ２０）ことに特徴を持つ。
【００３６】
＜実施の形態のまとめ＞
(０１)例えば図３の例示において、以前の書き込みａ１でライトしたＬＢＡ１００〜１１９のデータに連続した部分でかつ前の部分ＬＢＡ８４〜９９のデータに対する新たな書き込み（オーバーライト）ａ２が発生した場合、その書き込みａ２の最後のデータ（ＬＢＡ９９のデータ）を格納するキャッシュメモリ１０６のアドレスＡｘを、書き込みａ１のライト先頭に繋がるように配置する。キャッシュメモリ１０６内におけるアドレスＡｘの位置は、書き込みａ１の先頭が属するセグメント端部からオフセットした位置となる。このオフセット位置を示すのに、書き込みａ１の先頭データのＬＢＡ１００の下位ビットを用いる。
【００３７】
(０２)また、図３の例示において、以前の書き込みａ１（ＬＢＡ１００〜１１９）と連続して後ろの部分へ新たな書き込みａ３（ＬＢＡ１２０〜１５５）が発生した場合は、以前の書き込みａ１の直後の部分（キャッシュメモリアドレスＡｙ）から次のライト（アドレスＡｙ以降に既存データがあるときはオーバーライト）を行う。
【００３８】
＜実施の形態の効果＞
（１１）キャッシュメモリ１０６内において、既にライトされたたＬＢＡの前後に対するライトコマンドが発行された場合、キャッシュメモリ１０６のどのセグメントでも隙間無く使用出来るので、キャッシュエリアの無駄を無くす事が出来る。換言すると、現在登録されているＬＢＡに連続した領域のライトが発生したら、キャッシュ上で新たなライトが連続するように配置するため、無駄な領域を減らす事が出来る。また、ＬＢＡで連続しているデータをキャッシュメモリ内部で連続的に配置することができる。
【００３９】
（１２）さらに、キャッシュメモリ１０６内でキャッシュデータがばらばらに配置された場合に必要になるリンク情報（図示せず）も一つにまとめることが出来るため、キャッシュ管理において必要となる情報量を減らす事が出来る。すなわち、キャッシュメモリを簡単に管理しながら、キャッシュメモリを効率的に無駄なく使用する事が出来る。
【００４０】
＜実施の形態と発明との対応例＞
（ａ）所定サイズのセグメントに分割されたキャッシュメモリ１０６を制御する方法において、ホスト１０からのライトデータをキャッシュメモリに書き込む際に、ライトデータの論理ブロックアドレス（ＬＢＡ）の下位アドレスをセグメント内のアドレスオフセットとして使用する（ＳＴ２０）。つまり、キャッシュメモリを特定の単位（セグメント）で管理し、ホストからのライトデータをキャッシュに書き込む際に、ＬＢＡの下位アドレスをセグメント内のオフセットアドレスとして使用する。
【００４１】
（ｂ）以前ライトされた論理ブロックアドレス（ＬＢＡ）の手前の部分に対するライトが発生したら（ＳＴ１４ＮＯ）、今ライトしようとしているデータを、その末尾が以前ライトされたデータの直前になるように、キャッシュメモリ内に配置する（ＳＴ２０）。すなわち、もし以前ライトされたＬＢＡの手前の部分に対するライトが発生したら、今ライトしようとしているデータを、その最後が以前ライトされたデータの直前になるようにキャッシュメモリ内に配置する。その際、ＬＢＡをオフセットアドレスに使用しているため、今ライトしようとしているデータはセグメント中に空き領域を作らずに無駄なく配置される。
【００４２】
（ｃ）以前ライトされた論理ブロックアドレス（ＬＢＡ）の後ろの部分に対するライトが発生したら（ＳＴ１４ＹＥＳ）、今ライトしようとしているデータを、その先頭が以前ライトされたデータの直後になるようにキャッシュメモリ内に配置する（ＳＴ１６）。すなわち、もし以前ライトされたＬＢＡの後ろの部分に対するライトが発生したら、今ライトしようとしているデータを、その先頭が以前ライトされたデータの直後になるようにキャッシュメモリ内に配置する。この場合も、今ライトしようとしているデータはセグメント中に空き領域を作らずに無駄なく配置される。
【００４３】
なお、この発明は前述した実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００４４】
１０…ホストコンピュータ、１００…キャッシュメモリ装置、１０２…キャッシュコントローラ、１０２ａ…セグメント管理テーブル、１０４…データ転送コントローラ、１０６…キャッシュメモリ、１１０…メディアドライブ、１０ａ…データソース、１１０ａ…デジタル録画部、１１２…映像表示部、１１４…ＨＤＭＩ等のデジタルインターフェース、１１６…外部映像機器（デジタルレコーダ、ＡＶパソコン等）。
【図１】
2011028386.tif 000003
【図２】
2011028386.tif 000004
【図３】
2011028386.tif 000005
【図４】
2011028386.tif 000006
【図５】
2011028386.tif 000007
【図６】
2011028386.tif 000008
【手続補正書】
【提出日】平成22年7月5日(2010.7.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定サイズのセグメントを持つキャッシュメモリを制御する方法において、データを前記キャッシュメモリに書き込む際に、前記データの論理ブロックアドレスの下位アドレスを前記セグメント内のアドレスオフセットとして使用するキャッシュメモリ制御方法。
【請求項２】
既にデータがライトされた論理ブロックアドレスの前にライトすべき現データの開始アドレスがあるならば、前記現データを、その末尾が前記ライトされたデータの直前に配置されるように前記キャッシュメモリ内に格納する請求項１に記載の方法。
【請求項３】
既にデータがライトされた論理ブロックアドレスの後にライトすべき現データの開始アドレスがあるならば、前記現データを、その先頭が前記ライトされたデータの直後に配置されるように前記キャッシュメモリ内に格納する請求項１に記載の方法。
【請求項４】
前記セグメントの前記所定サイズが、前記データの種類に応じて設定される請求項１に記載の方法。
【請求項５】
所定サイズのセグメントを有するキャッシュメモリと、
外部データを前記キャッシュメモリに転送するデータ転送モジュールと、
前記キャッシュメモリ内における前記セグメントの位置情報および、前記セグメント内における前記外部データのオフセット位置情報を格納するセグメント管理モジュールと、
前記外部データの論理ブロックアドレスの下位アドレスを前記オフセット位置情報として使用して、前記外部データの前記キャッシュメモリへの書き込みを制御するキャッシュコントローラと、
前記キャッシュメモリに書き込まれたデータを含む情報を記憶するデータ記憶モジュールを具備した情報記憶装置。
【請求項６】
データソースからのデータの一部を一時記憶するものであって所定サイズのセグメントを有するキャッシュメモリと、前記キャッシュメモリを介して前記データを格納するデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを表示する表示モジュールを備え、
前記データが前記キャッシュメモリに書き込まれる際に、前記データの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるように構成した情報記憶装置。
【請求項７】
データソースからのデータの一部を一時記憶するものであって所定サイズのセグメントを有するキャッシュメモリと、前記キャッシュメモリを介して前記データを格納するデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを外部出力するインターフェースを備え、
前記データが前記キャッシュメモリに書き込まれる際に、前記データの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるように構成した情報記憶装置。
【手続補正書】
【提出日】平成22年9月6日(2010.9.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定サイズのセグメントを持つキャッシュメモリを制御する方法において、データを前記キャッシュメモリに書き込む際に、前記データの論理ブロックアドレスの下位アドレスを前記セグメント内のアドレスオフセットとして使用して、前記キャッシュメモリ上に書き込まれるデータを連続的に配置するキャッシュメモリ制御方法。
【請求項２】
既にデータがライトされた論理ブロックアドレスの前にライトすべき現データの開始アドレスがあるならば、前記現データを、その末尾が前記ライトされたデータの直前に配置されるように前記キャッシュメモリ内に格納する請求項１に記載の方法。
【請求項３】
既にデータがライトされた論理ブロックアドレスの後にライトすべき現データの開始アドレスがあるならば、前記現データを、その先頭が前記ライトされたデータの直後に配置されるように前記キャッシュメモリ内に格納する請求項１に記載の方法。
【請求項４】
前記セグメントの前記所定サイズが、前記データの種類に応じて設定される請求項１に記載の方法。
【請求項５】
所定サイズのセグメントを有するキャッシュメモリと、
外部データを前記キャッシュメモリに転送するデータ転送モジュールと、
前記キャッシュメモリ内における前記セグメントの位置情報および、前記セグメント内における前記外部データのオフセット位置情報を格納するセグメント管理モジュールと、
前記外部データの論理ブロックアドレスの下位アドレスを前記オフセット位置情報として使用して、前記キャッシュメモリ上に書き込まれるデータが連続的に配置されるように前記外部データの前記キャッシュメモリへの書き込みを制御するキャッシュコントローラと、
前記キャッシュメモリに書き込まれたデータを含む情報を記憶するデータ記憶モジュールを具備した情報記憶装置。
【請求項６】
データソースからのデータの一部を一時記憶するものであって所定サイズのセグメントを有するキャッシュメモリと、前記キャッシュメモリを介して前記データを格納するデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを表示する表示モジュールを備え、
前記データが前記キャッシュメモリに書き込まれる際に、前記データの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるようにして、前記キャッシュメモリ上に書き込まれるデータが連続的に配置されるように構成した情報記憶装置。
【請求項７】
データソースからのデータの一部を一時記憶するものであって所定サイズのセグメントを有するキャッシュメモリと、前記キャッシュメモリを介して前記データを格納するデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを外部出力するインターフェースを備え、
前記データが前記キャッシュメモリに書き込まれる際に、前記データの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるようにして、前記キャッシュメモリ上に書き込まれるデータが連続的に配置されるように構成した情報記憶装置。