JP2011028386A - キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置 - Google Patents
キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置 Download PDFInfo
- Publication number
- JP2011028386A JP2011028386A JP2009171373A JP2009171373A JP2011028386A JP 2011028386 A JP2011028386 A JP 2011028386A JP 2009171373 A JP2009171373 A JP 2009171373A JP 2009171373 A JP2009171373 A JP 2009171373A JP 2011028386 A JP2011028386 A JP 2011028386A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache memory
- write
- written
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/462—Track or segment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】キャッシュメモリのセグメント内の途中でライト完了となった場合にセグメントの残り部分が無駄な領域になってしまうという問題を解決する。
【解決手段】キャッシュメモリのセグメント内におけるデータ書き込み位置を、書き込みデータの論理ブロックアドレス(LBA)の下位ビットをオフセットとして加えたアドレスに変更する。
【選択図】図2
【解決手段】キャッシュメモリのセグメント内におけるデータ書き込み位置を、書き込みデータの論理ブロックアドレス(LBA)の下位ビットをオフセットとして加えたアドレスに変更する。
【選択図】図2
Description
この発明は、キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置に関する。
アクセス速度高速化のためにキャッシュメモリを備えた磁気ディスク装置(HDD:Hard Disk Drive)などの情報記憶装置が、種々開発されている。キャッシュメモリは、ホストコンピュータ等と情報記憶装置の間で入出力されるデータを一時的に保持するための高速バッファであり、情報記憶装置上のデータの写しの一部が格納される。このキャッシュメモリとしては、通常、SRAM(static RAM)やDRAM(dynamic RAM)等の高速半導体メモリが使用される。
近年は大容量HDDが安価に供給されるようになってきており、数百ギガバイトないしテラバイトクラスのHDDがAVパソコン、デジタルTV、デジタルビデオレコーダなどで利用されている。このような大容量HDDでは比較的大容量のキャッシュメモリが用いられる。
キャッシュメモリの書き込み制御には種々な改善が提案されている。例えば、ライトキャッシュをn個のキャッシュブロックに区分し、各ブロックに対応してキャッシュディレクトリを設け、このディレクトリにディスクアドレス記録部とオフセット情報記録部とデータ長記録部を備えたものがある(特許文献1参照)。ここで、オフセット情報記録部は、ディスク(記録媒体)上の先頭アドレスから有効データが書き込まれるべきディスク上のアドレスまでの距離を示す。キャッシュブロックのデータをディスクに格納する場合は、ディスクアドレス記録部の表示アドレスからオフセット情報記録部の表示セクタ数分だけずれたアドレスで書き込みを開始し、データ長記録部が示すセクタ数分だけ書き込み動作を続けるようになっている。
また、キャッシュメモリをN個のセルに分割し、ディスクに対して読み書きするデータについては、ディスク上のアドレスを所定値Nで除したときの余りに対応する位置からキャッシュメモリへの書き込みを行うものもある(特許文献2参照)。
キャッシュメモリを備えた情報記憶装置においては、ホストコンピュータ等から情報記憶装置へのライトアクセス要求が発行されると、キャッシュメモリにライトコマンドとデータが一旦書き込まれる(ライトキャッシュ)。その際、単純には、キャッシュメモリに連続的にライト (キャッシュメモリのアドレスを単純にインクリメント)してゆけばよい。しかし、このような単純な方法では、巨大なキャッシュメモリを1セクタ単位で管理する必要が出てくるため、デコード量が増え、管理が非常に煩雑になる。
このデコード量を減らす方策として、キャッシュメモリをある特定の単位(ブロックやセルなどのセグメント)で分けて管理する方法がある(特許文献1あるいは特許文献2)。例えば、1セクタが512バイトで、セグメントの単位を4kバイト(4kB)とすると、1セグメント単位で8セクタを賄えるため、デコード量は1/8になる。しかし、その場合でも、1回のライトコマンド毎にアドレス情報(書き込まれる情報の先頭位置、長さ等)を保持しておく必要はある。また、セグメント内の先頭からライトを行っていくと、セグメント内の途中でライトの完了となった場合、セグメントの残りの部分が使用できない無駄な領域になってしまう。
この発明の課題の1つは、キャッシュメモリのセグメント内の途中でライト完了となった場合にセグメントの残り部分が無駄な領域になってしまうという問題を解決することである。
この発明の一実施の形態に係るキャッシュメモリ制御方法では、上記セグメントの残り部分が無駄領域になってしまうという問題を解決するために、キャッシュメモリのセグメント内におけるデータ書き込み位置を、書き込みデータの論理ブロックアドレス(LBA)の下位ビットをオフセットとして加えたアドレスに変更している。
この発明によれば、キャッシュメモリのセグメントを無駄なく使用できる。
以下、図面を参照してこの発明の種々な実施の形態を説明する。図1は、この発明の一実施の形態に係るキャッシュメモリ装置100の構成の一例を説明する図である。ここでは、キャッシュメモリを利用する大容量記憶メディアとして、HDD、光ディスク、フラッシュメモリ等を用いたメディアドライブ110を例示している。また、メディアドライブ110へライトデータを送出するソース機器あるいはメディアドライブ110からのリードデータを受け取るシンク機器として、ここではホストコンピュータ10を例示している。
メディアドライブ110に対するリード/ライト動作は、キャッシュメモリ装置100を介して行われる。キャッシュメモリ装置100は、ホストコンピュータ10からの指令に応じて、ホストコンピュータ10からのライトデータをメディアドライブ110に書き込み、あるいはメディアドライブ110からのリードデータをホストコンピュータ10に転送する。
具体的には、キャッシュメモリ装置100は、キャッシュメモリ106と、ホストコンピュータ10からのライトデータをキャッシュメモリ106に転送しあるいはキャッシュメモリ106からのリードデータをホストコンピュータ10に転送するデータ転送コントローラ104と、データ転送コントローラ104およびキャッシュメモリ106の動作を制御するキャッシュコントローラ102を備えている。ここで、キャッシュメモリ106の記憶エリアは所定サイズの複数セグメントに分割され、これらのセグメントを管理する情報が書き込まれるセグメント管理テーブル102aが、キャッシュコントローラ102に接続されている。
キャッシュコントローラ102は、ホストコンピュータ10からの指令(ライトコマンド、リードコマンド等)に応じて、ホストコンピュータ10からのライトデータをメディアドライブ110に書き込む制御を行い、あるいは、メディアドライブ110からのリードデータをホストコンピュータ10側に送り返す制御を行う。その際、ホストコンピュータ10が読み取ろうとしているメディアドライブ110の記憶データと同じものがキャッシュメモリ106にあるときは(キャッシュヒット)、キャッシュメモリ106からホストコンピュータ10へ読み取ろうとしているデータのコピーが高速転送される。このキャッシュコントローラ102の機能は、ハードウエアロジック回路あるいはマイクロコンピュータを用いたファームウエアで実現される。
ここで、キャッシュコントローラ102をハードウエアロジック回路で構成した場合は高速処理を実現しやすい。一方、キャッシュコントローラ102をファームウエアで具現する場合、処理速度はハードウエアロジック回路より遅くなるが、キャッシュコントロールの処理内容の変更が容易となる。
纏めると、図1の装置は、所定サイズのセグメントに分割されるキャッシュメモリ106と、外部(ホスト10)からのライトデータをキャッシュメモリ106に転送するデータ転送モジュール104と、キャッシュメモリ106内における前記セグメントの位置情報(図6のSA、EA参照)および前記セグメント内における前記ライトデータのオフセット位置情報(LBA下位ビット)を格納するセグメント管理モジュール102aと、以前のライトデータの論理ブロックアドレスLBAの下位アドレスを前記オフセット位置情報として使用(図2のST20参照)して前記ライトデータをキャッシュメモリ106に書き込む制御を行うキャッシュコントローラ102と、キャッシュメモリ106に書き込まれたデータを含む情報を記憶するデータ記憶モジュール110を具備した情報記憶装置である。
所定サイズ(1kB、2kB、4kB、8kB、16kB、32kB、64kB、128kB、256kBなど)に分割されたキャッシュメモリ106にライトデータを書き込む場合、図1のキャッシュコントローラ102は、例えば図2に示すような処理を行う。図2はこの発明の一実施の形態に係るキャッシュメモリ制御方法の一例を説明するフローチャートである。図3はこの発明が実施された場合のキャッシュメモリの使用形態例を説明する図である。また、図6はセグメント管理テーブル102aに格納される情報の一例を説明する図である。
図1のホストコンピュータ10は、メディアドライブ110に対して情報記録を行う場合、書き込みデータのアドレス(論理ブロックアドレスLBA)およびデータ長の情報を含むライトコマンドを、キャッシュコントローラ102に送る。キャッシュコントローラ102は、ホストコンピュータ10からライトコマンドを受信すると(図2のST10)、ライトデータの書き込みに用いる1以上のセグメントを決定する。
その決定の際、キャッシュメモリ106に未使用セグメント(データが書き込まれていないセグメント)があれば、その未使用セグメントが先にライトデータの書き込みに用いられる。キャッシュメモリ106に未使用セグメントがないときは、古い書き込みデータがある1以上のセグメントが古い順に(あるいはリード時のキャッシュヒット回数が少ない順に)用いられる。当初、キャッシュメモリ106に未使用セグメントがあっても、キャッシュライト中に未使用セグメントがなくなれば、それ以後は古い書き込みデータがある1以上のセグメントが古い順に(あるいはヒット回数が少ない順に)用いられる。
なお、単純に古い書き込みデータがあるセグメントから使用するのではなく、キャッシュコントローラ102において、使用するセグメントの優先順位に関して最初から重み付けをしておくこともできる。
ライトデータの書き込みに用いる1以上のセグメントが決定されると、それらのセグメントに対して、ライトフラグがセットされ、書き込み開始アドレスSAおよび書き込み終了アドレスEA(書き込みデータのアクセス範囲に対応)がセットされ、ライトデータに応じたセグメントサイズがセットされる(ST12)。これらのセッティングに対応した設定情報は、図6に例示されるように、セグメント管理テーブル102aに格納される。
例えば、書き込みデータがテキストデータあるいは静止画データであればセグメントサイズとして2kB〜16kBがセットされ、書き込みデータが動画データであればセグメントサイズとして16kB〜64kBがセットされる。また、例えばセグメントサイズが16kBであり8MBのライトデータがキャッシングされる場合なら、500個のセグメントが用いられる。
なお、書き込みデータの種類(テキストデータ、静止画データ、動画データなど)および/または書き込みデータのビットレート(動画データなら2.2Mbps、4.6Mbps、16Mbps、24Mbpsなど)の情報は、ホストコンピュータ10からキャッシュコントローラ102に送られるコマンドに含ませておくことができる。
さらに、キャッシュメモリ106のセグメント書き込み状況によって、あるいはライトデータの先頭または末尾がキャッシュメモリの何処に書き込まれるのかによって、書き込みデータのLBAの下位ビットを用いたオフセットデータ(図3参照)が適宜セットされる。このオフセットデータのセッティングは、図6に例示されるようにどのセグメントに対しても設定可能となっており、その設定結果は図1のセグメント管理テーブル102aに格納される。
なお、図示しないが、セグメント管理テーブル102aに格納されるセグメント毎の設定情報には、該セグメントが書き込み済みか否かのフラグ、該セグメントに空き領域があるか否かのフラグ、該セグメントに最後にデータ書き込みがなされたときのタイムスタンプ、該セグメントに書き込まれているデータのリード時キャッシュヒット回数などの情報を、適宜含めておくことができる。
ライトデータの書き込みに用いる1以上のセグメントに対してST12の情報設定が済むと、今回のライトデータの書き込み位置が以前の書き込みから連続して後に続くか否かがチェックされる(ST14)。例えば図3において、以前の書き込みa1(その論理ブロックアドレスは例えばLBA100〜119)と連続して後ろの部分への書き込みa3(その論理ブロックアドレスは例えばLBA120〜155)が発生した場合は(ST14YES)、以前の書き込みa1の直後の部分(キャッシュメモリアドレスAy)から次の書き込みが行われる(ST16)。この書き込みがアクセス範囲の最後(LBA155)まで済めば(ST18YES)、次の処理へ移行する。
一方、例えば図3において、以前の書き込みa1で書き込んだLBA100〜119のデータに連続した部分でかつ前の部分(例えばLBA84〜99)のデータに対する書き込みa2が発生した場合は(ST14NO)、その書き込みa2の最後のデータ(LBA99のデータ)を格納するキャッシュメモリのアドレスAxが書き込みa1の先頭に繋がるようにして、書き込みを開始する(ST20)。この書き込みがアクセス範囲の最後(LBA99)まで済めば(ST22YES)、次の処理へ移行する。
ここで、キャッシュメモリ106内におけるアドレスAxの位置は、書き込みa1の先頭のデータ端部が属するセグメントの端部からオフセットした位置となる。このオフセット位置を示すのに、書き込みa1の先頭データのLBAの下位ビットを用いる(図3参照)。また、書き込みa1の先頭データ(LBA100)が属するセグメントの管理情報テーブル102a(例えば図6のセグメントnに対するテーブル)に、オフセット位置を示すLBAの下位ビットがセットされる。つまり、セグメント管理情報テーブル102aを参照することにより該当セグメント内におけるデータ端部のオフセット量が分かるため、キャッシュメモリ106内におけるアドレスAxの位置を即座に決定できる。
図4は、この発明が実施されなかった場合のキャッシュメモリの使用形態例を説明する図である。図2の処理では以前の書き込みa1によるキャッシュデータの前後のいずれに新たなキャッシュライトが発生してもキャッシュメモリ内に空きが生じないような書き込み(図3)を行っている。その際、以前の書き込みのデータ端部がセグメントの途中にある場合に、図2のような処理を行わないと、例えば図4に例示するように、以前の書き込みb1のデータ端部と新たな書き込みb2またはb3のデータ端部との間に、無駄な空き領域が発生する恐れがある。このような空き領域がキャッシュメモリ106のあちこちで多数発生すると、キャッシュメモリ106の容量が実質的に小さくなってしまう。しかし、図2のような処理(書き込みデータのLBAの下位ビットで空き領域分をキャンセルするオフセット情報を作るST20)をすれば、そのような無駄な空き領域の発生を防止できる。
図5は、この発明の一実施の形態に係るキャッシュメモリ装置を備えた情報記憶装置等を説明する図である。デジタルTVチューナ等のデータソース10aから送出されるライトデータ(例えばMPEG−2のトランスポートストリーム)は、図1のような構成を持つキャッシュメモリ装置100を介して、デジタル録画部110aに記録される。デジタル録画部110aは、大容量のHDDあるいは光ディスクもしくはICメモリ(フラッシュメモリ)を用いて構成することができる。デジタル録画部110aからの再生データは、キャッシュメモリ装置100を介して3映像表示部112に送られ、適宜デコードされて映像表示される。また、デジタル録画部110aからの再生データは、HDMI、USB、IEEE1394などのデジタルインターフェースを介して、デジタルビデオレコーダなどの外部映像機器および/またはAVパソコン116に送出される。
図5の装置は、データソース(デジタルTVチューナなど)10aからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリ100と、キャッシュメモリ100を介して前記ライトデータが書き込まれキャッシュメモリ100を介して書き込まれたデータが読み出されるデータ記憶モジュール110aと、データ記憶モジュール110aからキャッシュメモリ100を介して読み出されたデータを表示する表示モジュール112を備えた情報記憶装置(HDDレコーダ付きのTV、AVノートパソコンなど)である。
あるいは、図5の装置は、データソース(デジタルTVチューナなど)10aからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリ100と、キャッシュメモリ100を介して前記ライトデータが書き込まれキャッシュメモリ100を介して書き込まれたデータが読み出されるデータ記憶モジュール110aと、データ記憶モジュール110aからキャッシュメモリ100を介して読み出されたデータを外部出力するインターフェース(HDMI、USB、IEEE1394など)114を備えた情報記憶装置(HDD付きのDVD/BDレコーダ、AVパソコンなど)であるともいえる。
ここで、図5の装置は、前記ライトデータがキャッシュメモリ100に書き込まれる際に、前記ライトデータの論理ブロックアドレスLBAの下位アドレスが前記セグメント内のアドレスオフセットとして使用される(図2のST20)ことに特徴を持つ。
<実施の形態のまとめ>
(01)例えば図3の例示において、以前の書き込みa1でライトしたLBA100〜119のデータに連続した部分でかつ前の部分LBA84〜99のデータに対する新たな書き込み(オーバーライト)a2が発生した場合、その書き込みa2の最後のデータ(LBA99のデータ)を格納するキャッシュメモリ106のアドレスAxを、書き込みa1のライト先頭に繋がるように配置する。キャッシュメモリ106内におけるアドレスAxの位置は、書き込みa1の先頭が属するセグメント端部からオフセットした位置となる。このオフセット位置を示すのに、書き込みa1の先頭データのLBA100の下位ビットを用いる。
(01)例えば図3の例示において、以前の書き込みa1でライトしたLBA100〜119のデータに連続した部分でかつ前の部分LBA84〜99のデータに対する新たな書き込み(オーバーライト)a2が発生した場合、その書き込みa2の最後のデータ(LBA99のデータ)を格納するキャッシュメモリ106のアドレスAxを、書き込みa1のライト先頭に繋がるように配置する。キャッシュメモリ106内におけるアドレスAxの位置は、書き込みa1の先頭が属するセグメント端部からオフセットした位置となる。このオフセット位置を示すのに、書き込みa1の先頭データのLBA100の下位ビットを用いる。
(02)また、図3の例示において、以前の書き込みa1(LBA100〜119)と連続して後ろの部分へ新たな書き込みa3(LBA120〜155)が発生した場合は、以前の書き込みa1の直後の部分(キャッシュメモリアドレスAy)から次のライト(アドレスAy以降に既存データがあるときはオーバーライト)を行う。
<実施の形態の効果>
(11)キャッシュメモリ106内において、既にライトされたたLBAの前後に対するライトコマンドが発行された場合、キャッシュメモリ106のどのセグメントでも隙間無く使用出来るので、キャッシュエリアの無駄を無くす事が出来る。換言すると、現在登録されているLBAに連続した領域のライトが発生したら、キャッシュ上で新たなライトが連続するように配置するため、無駄な領域を減らす事が出来る。また、LBAで連続しているデータをキャッシュメモリ内部で連続的に配置することができる。
(11)キャッシュメモリ106内において、既にライトされたたLBAの前後に対するライトコマンドが発行された場合、キャッシュメモリ106のどのセグメントでも隙間無く使用出来るので、キャッシュエリアの無駄を無くす事が出来る。換言すると、現在登録されているLBAに連続した領域のライトが発生したら、キャッシュ上で新たなライトが連続するように配置するため、無駄な領域を減らす事が出来る。また、LBAで連続しているデータをキャッシュメモリ内部で連続的に配置することができる。
(12)さらに、キャッシュメモリ106内でキャッシュデータがばらばらに配置された場合に必要になるリンク情報(図示せず)も一つにまとめることが出来るため、キャッシュ管理において必要となる情報量を減らす事が出来る。すなわち、キャッシュメモリを簡単に管理しながら、キャッシュメモリを効率的に無駄なく使用する事が出来る。
<実施の形態と発明との対応例>
(a)所定サイズのセグメントに分割されたキャッシュメモリ106を制御する方法において、ホスト10からのライトデータをキャッシュメモリに書き込む際に、ライトデータの論理ブロックアドレス(LBA)の下位アドレスをセグメント内のアドレスオフセットとして使用する(ST20)。つまり、キャッシュメモリを特定の単位(セグメント)で管理し、ホストからのライトデータをキャッシュに書き込む際に、LBAの下位アドレスをセグメント内のオフセットアドレスとして使用する。
(a)所定サイズのセグメントに分割されたキャッシュメモリ106を制御する方法において、ホスト10からのライトデータをキャッシュメモリに書き込む際に、ライトデータの論理ブロックアドレス(LBA)の下位アドレスをセグメント内のアドレスオフセットとして使用する(ST20)。つまり、キャッシュメモリを特定の単位(セグメント)で管理し、ホストからのライトデータをキャッシュに書き込む際に、LBAの下位アドレスをセグメント内のオフセットアドレスとして使用する。
(b)以前ライトされた論理ブロックアドレス(LBA)の手前の部分に対するライトが発生したら(ST14NO)、今ライトしようとしているデータを、その末尾が以前ライトされたデータの直前になるように、キャッシュメモリ内に配置する(ST20)。すなわち、もし以前ライトされたLBAの手前の部分に対するライトが発生したら、今ライトしようとしているデータを、その最後が以前ライトされたデータの直前になるようにキャッシュメモリ内に配置する。その際、LBAをオフセットアドレスに使用しているため、今ライトしようとしているデータはセグメント中に空き領域を作らずに無駄なく配置される。
(c)以前ライトされた論理ブロックアドレス(LBA)の後ろの部分に対するライトが発生したら(ST14YES)、今ライトしようとしているデータを、その先頭が以前ライトされたデータの直後になるようにキャッシュメモリ内に配置する(ST16)。すなわち、もし以前ライトされたLBAの後ろの部分に対するライトが発生したら、今ライトしようとしているデータを、その先頭が以前ライトされたデータの直後になるようにキャッシュメモリ内に配置する。この場合も、今ライトしようとしているデータはセグメント中に空き領域を作らずに無駄なく配置される。
なお、この発明は前述した実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
10…ホストコンピュータ、100…キャッシュメモリ装置、102…キャッシュコントローラ、102a…セグメント管理テーブル、104…データ転送コントローラ、106…キャッシュメモリ、110…メディアドライブ、10a…データソース、110a…デジタル録画部、112…映像表示部、114…HDMI等のデジタルインターフェース、116…外部映像機器(デジタルレコーダ、AVパソコン等)。
Claims (7)
- 所定サイズのセグメントに分割されたキャッシュメモリを制御する方法において、ライトデータを前記キャッシュメモリに書き込む際に、前記ライトデータの論理ブロックアドレスの下位アドレスを前記セグメント内のアドレスオフセットとして使用するキャッシュメモリ制御方法。
- 以前ライトされた論理ブロックアドレスの手前の部分に対するライトが発生したら、今ライトしようとしているデータを、その末尾が以前ライトされたデータの直前になるように前記キャッシュメモリ内に配置する請求項1に記載の方法。
- 以前ライトされた論理ブロックアドレスの後ろの部分に対するライトが発生したら、今ライトしようとしているデータを、その先頭が以前ライトされたデータの直後になるように前記キャッシュメモリ内に配置する請求項1または請求項2に記載の方法。
- 前記セグメントの前記所定サイズが、前記ライトデータの種類に応じて設定される請求項1または請求項2に記載の方法。
- 所定サイズのセグメントに分割されるキャッシュメモリと、
外部からのライトデータを前記キャッシュメモリに転送するデータ転送モジュールと、
前記キャッシュメモリ内における前記セグメントの位置情報および、前記セグメント内における前記ライトデータのオフセット位置情報を格納するセグメント管理モジュールと、
以前のライトデータの論理ブロックアドレスの下位アドレスを前記オフセット位置情報として使用して、前記ライトデータを前記キャッシュメモリに書き込む制御を行うキャッシュコントローラと、
前記キャッシュメモリに書き込まれたデータを含む情報を記憶するデータ記憶モジュールを具備した情報記憶装置。 - データソースからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリと、前記キャッシュメモリを介して前記ライトデータが書き込まれ前記キャッシュメモリを介して書き込まれたデータが読み出されるデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを表示する表示モジュールを備え、
前記ライトデータが前記キャッシュメモリに書き込まれる際に、前記ライトデータの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるように構成した情報記憶装置。 - データソースからのライトデータの一部を一時記憶するものであって所定サイズのセグメントに分割されるキャッシュメモリと、前記キャッシュメモリを介して前記ライトデータが書き込まれ前記キャッシュメモリを介して書き込まれたデータが読み出されるデータ記憶モジュールと、前記データ記憶モジュールから前記キャッシュメモリを介して読み出されたデータを外部出力するインターフェースを備え、
前記ライトデータが前記キャッシュメモリに書き込まれる際に、前記ライトデータの論理ブロックアドレスの下位アドレスが前記セグメント内のアドレスオフセットとして使用されるように構成した情報記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009171373A JP4621794B1 (ja) | 2009-07-22 | 2009-07-22 | キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置 |
US12/784,159 US20110022774A1 (en) | 2009-07-22 | 2010-05-20 | Cache memory control method, and information storage device comprising cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009171373A JP4621794B1 (ja) | 2009-07-22 | 2009-07-22 | キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4621794B1 JP4621794B1 (ja) | 2011-01-26 |
JP2011028386A true JP2011028386A (ja) | 2011-02-10 |
Family
ID=43498264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009171373A Expired - Fee Related JP4621794B1 (ja) | 2009-07-22 | 2009-07-22 | キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110022774A1 (ja) |
JP (1) | JP4621794B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519546B2 (en) * | 2014-03-17 | 2016-12-13 | Dell Products L.P. | Striping cache blocks with logical block address scrambling |
US9652384B2 (en) * | 2014-12-16 | 2017-05-16 | Intel Corporation | Apparatus, system and method for caching compressed data |
CN110018897B (zh) | 2018-01-09 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
CN108491161B (zh) * | 2018-03-13 | 2020-12-29 | 深圳市图敏智能视频股份有限公司 | 一种高效多通道预分配磁盘录像方法 |
CN114845156B (zh) * | 2022-05-07 | 2024-03-19 | 珠海全志科技股份有限公司 | 基于共享缓存的视频处理方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04102915A (ja) * | 1990-08-22 | 1992-04-03 | Seiko Epson Corp | 直接アクセス記憶装置 |
JPH10301847A (ja) * | 1997-04-30 | 1998-11-13 | Nec Corp | データ記憶装置 |
JPH11328029A (ja) * | 1998-05-18 | 1999-11-30 | Olympus Optical Co Ltd | 情報記録再生装置 |
JP2001222380A (ja) * | 2000-02-07 | 2001-08-17 | Hitachi Ltd | 外部記憶装置とそれを備えた情報処理システム |
WO2008084531A1 (ja) * | 2007-01-10 | 2008-07-17 | Netcleus Systems Corporation | メモリ管理装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1234567A (en) * | 1915-09-14 | 1917-07-24 | Edward J Quigley | Soft collar. |
US7159073B2 (en) * | 2003-03-27 | 2007-01-02 | Stmicroelectronics, Inc. | Data storage and caching architecture |
US6983355B2 (en) * | 2003-06-09 | 2006-01-03 | International Business Machines Corporation | Virtualization of physical storage using size optimized hierarchical tables |
US7337273B2 (en) * | 2004-03-31 | 2008-02-26 | Microsoft Corporation | Strategies for reading information from a mass storage medium using a cache memory |
-
2009
- 2009-07-22 JP JP2009171373A patent/JP4621794B1/ja not_active Expired - Fee Related
-
2010
- 2010-05-20 US US12/784,159 patent/US20110022774A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04102915A (ja) * | 1990-08-22 | 1992-04-03 | Seiko Epson Corp | 直接アクセス記憶装置 |
JPH10301847A (ja) * | 1997-04-30 | 1998-11-13 | Nec Corp | データ記憶装置 |
JPH11328029A (ja) * | 1998-05-18 | 1999-11-30 | Olympus Optical Co Ltd | 情報記録再生装置 |
JP2001222380A (ja) * | 2000-02-07 | 2001-08-17 | Hitachi Ltd | 外部記憶装置とそれを備えた情報処理システム |
WO2008084531A1 (ja) * | 2007-01-10 | 2008-07-17 | Netcleus Systems Corporation | メモリ管理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20110022774A1 (en) | 2011-01-27 |
JP4621794B1 (ja) | 2011-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101702201B1 (ko) | 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭 | |
JP4356686B2 (ja) | メモリ装置及びメモリ制御方法 | |
JP6732684B2 (ja) | 情報処理装置、ストレージデバイスおよび情報処理システム | |
US9891825B2 (en) | Memory system of increasing and decreasing first user capacity that is smaller than a second physical capacity | |
JP5914148B2 (ja) | Ssd(ソリッドステートドライブ)装置 | |
US20080025706A1 (en) | Information recording apparatus and control method thereof | |
JP4621794B1 (ja) | キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置 | |
JP2009146500A (ja) | ディスク記憶装置及びデータ書き込み方法 | |
US7913029B2 (en) | Information recording apparatus and control method thereof | |
JP4158774B2 (ja) | 再生方法 | |
US20190042111A1 (en) | Method and apparatus for power-fail safe compression and dynamic capacity for a storage device | |
US20070168604A1 (en) | Information recording apparatus and method for controlling the same | |
JP5178355B2 (ja) | 記録装置 | |
JP2006323462A (ja) | ファイルコピー装置およびファイルコピー方法 | |
JP2010218485A (ja) | ストレージ装置、データ書き込み方法、及びデータ書き込みプログラム | |
JP2016154031A (ja) | Ssd(ソリッドステートドライブ)装置 | |
JP2011086324A (ja) | ストレージ装置 | |
JP4664869B2 (ja) | データ記録システム | |
JP4194583B2 (ja) | データ記憶装置 | |
CN107491266A (zh) | 大容量存储系统和块数据存储方法 | |
JP2008117491A (ja) | 記録装置、記録方法、およびプログラム | |
JP2008158572A (ja) | データ記憶装置 | |
JP5263574B2 (ja) | データ処理装置及びデータ消去方法 | |
JP4269915B2 (ja) | 記録再生装置及び方法、並びに記録再生システム | |
JP2003316627A (ja) | 情報記録再生装置及びその管理情報バックアップ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101101 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |