JP2005513645A6 - 記憶装置キャッシュメモリマネージメント - Google Patents
記憶装置キャッシュメモリマネージメント Download PDFInfo
- Publication number
- JP2005513645A6 JP2005513645A6 JP2003555353A JP2003555353A JP2005513645A6 JP 2005513645 A6 JP2005513645 A6 JP 2005513645A6 JP 2003555353 A JP2003555353 A JP 2003555353A JP 2003555353 A JP2003555353 A JP 2003555353A JP 2005513645 A6 JP2005513645 A6 JP 2005513645A6
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- storage medium
- data
- file system
- cache
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 61
- 238000005516 engineering process Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000006062 fragmentation reaction Methods 0.000 description 4
- 238000011068 load Methods 0.000 description 4
- 230000002459 sustained Effects 0.000 description 4
- 230000001149 cognitive Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000875 corresponding Effects 0.000 description 2
- 230000001960 triggered Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
Images
Abstract
本発明は、記憶媒体(8, 12, 25)および当該記憶媒体に対応付けされたキャッシュメモリ(13, 26)を含む装置(2, 11)に関し、記憶媒体(8, 12, 25)は、キャッシュメモリ(13, 26)を通じて、ファイルシステムマネージメント手段(6)に対応付けされているホスト装置(1, 15, 21)によって、読取りモードまたは書込みモードでアクセスされるように構成されている形式のものにおいて、キャッシュメモリ(13, 26)は、ファイルシステムマネージメント手段(6)のコントロールに基づいてロードされる、ことを特徴とする。マルチメディアターミナル、殊にデジタルテレビジョン受信機またはセットトップボックスに対するアプリケーション。
Description
本発明は、記憶媒体と記憶媒体に対応付けされたキャッシュメモリを含む装置に関する。前記記憶媒体は、キャッシュメモリを通じて、ファイルシステムマネージメント手段に対応付けされたホスト装置によって、読取りモードまたは書込みモードにおいてアクセスされるように構成されている。
多くの記憶装置には、駆動性能を高めるためにキャッシュメモリが備えられている。
記憶装置内のキャッシュメモリのマネージメントは、殊に持続するビットレートが保たれなければいけない場合は、システムの性能を高める大きな課題である。このことは殊に、記憶装置がビデオデータの記憶に使用される場合に当てはまる。
公知のシステムでは、全ての記憶装置内に含まれているキャッシュメモリは、記憶媒体自体に対応付けされているコントローラまたはファームウェアによって管理されている。この種のファームウェアは、キャッシュメモリアクセスおよび記憶媒体アクセスをコントロールし、キャッシュ先取り(cache prefetch)はホスト装置によって行われた最後のアクセスに基づいている。
ホスト装置によって行われた最後のアクセスに基づくキャッシュ先取りを用いることによって、キャッシュヒットのチャンスが格段に減少する。なぜなら記憶媒体は、記憶媒体上のデータ編成を認識していないからである。すなわち公知のシステムでのキャッシュ先取りは、ホストによって行われた最後のアクセスの統計を用いて行われる。従って設計者は、統計に合わせるために多数のキャッシュメモリを提供しなければならない。キャッシュヒット確率を高めるために、キャッシュメモリのサイズを増やすことは、高価であり、殊に、組み込まれた装置においては適していない。
さらに記憶媒体への書込みアクセスの間、殊に記憶されるべきデータが連続的なビットストリーム(例えば等時性データ)である場合、高いビットレートを維持するために、記憶媒体の入力側でしばしば高い容量のバッファメモリを提供することが必要とされる。このようなバッファメモリの使用は、デバイスのコストを著しく上昇させてしまう。
本発明は、記憶媒体と記憶媒体に対応付けされたキャッシュメモリとを含む装置を提案する。ここで記憶媒体は、キャッシュメモリを通じて、ファイルシステムマネージメント手段と対応付けされているホスト装置によって、読取りモードまたは書込みモードでアクセスされるようにされている。
本発明に相応して、キャッシュメモリはファイルシステムマネージメント手段のコントロールに基づいてロードされる。
発明者は殊に、所与のアドレスでキャッシュ先取りを実現するために、記憶媒体の管理をファームウェアに指示するキャッシュ先取り命令を実行することを興味深いと考える。読取りモードにおいて、要求されたファイルがビデオデータを含んでいる場合、このビデオデータは幾つかのセクタ上に記憶される。ファイルシステムは、この編成または断片化を知っているので、ファイルの残りが位置する次のセクタのアドレスを提供することができる。従ってキャッシュメモリのサイズは、キャッシュヒットの確率を減らすことなく減少される。
このキャッシュ先取りは、認知先取りの一種である。この認知先取りは、従来の先取りによって行われる統計先取りの反対である。従来の先取りは、ファイルシステムではなく、記憶媒体によってコントロールされ、ディスク上のデータの実際の位置ではなく最近のアクセスに基づく。
本発明の実施例に相応して、ホスト装置に対応付けされたファイルシステムマネージメント手段は、読取りモードでのアクセス中にキャッシュメモリ先取りをコントロールする。
公知のシステムではキャッシュ先取りは、記憶媒体と対応したファームウェアによって管理され、外部アクションは定められていない。本実施例によってファイルシステムマネージャは、キャッシュの行動を修正するために、キャッシュローディングに作用を及ぼすことができる。
本発明の実施例と相応に、読取りアクセス中に、ファイルシステムマネージメント手段は、ホスト装置によって要求されているデータを記憶媒体からキャッシュメモリにダウンロードするためにキャッシュメモリに先取り命令を送る手段を含む。
本発明の実施例では、先取り命令はキャッシュメモリ内に先取りされる次のデータの、記憶媒体上のアドレスを示す手段を含む。
本発明の実施例では記憶装置は、Serial Advanced Technology Attachment規格またはParallel Advanced Technology Attachment規格に適しているインターフェースを含む。
Serial Advanced Technology Attachment規格(SATA)インターフェースは、重要な利点をもたらす。なぜなら殊に、Parallel Advanced Technology Attachment(PATA)インターフェースと比べて高いレベルのプロトコルだからである。
本発明の実施例では記憶装置は、Serial Advanced Technology Attachmentインターフェースにおいて規定されたFrame Information Structureにおける先取り命令のカプセル化のためのカプセル化手段を含む。
Frame Information Structureは、SATAのコンテキストにおいて定められている。SATA規格に適応するようにするために、発明者はトランスポートレイヤにおいてAPIをカプセル化することが殊に適していると考え、従ってリモートプロシージャコールを送るためにFISを用いることを提案する。
本発明の実施例では、書込みモードでのアクセスの間に、ファイルシステムマネージメント手段は、書込みキャッシュ命令を記憶媒体へ送る手段を含み、これによって記憶媒体上に記憶されるデータは最初にキャッシュメモリ上に記憶され、キャッシュメモリ充填が所定のレベルに達すると、キャッシュメモリから記憶媒体へ転送される。
本発明は、本発明のいずれかの実施例に相応する記憶装置を含むことを特徴とする、有利にはデジタルテレビジョンデコーダである、マルチメディア装置にも関する。
通常は統計に基づいたキャッシュ先取りを使用するのにもかかわらず、発明者はキャッシュ先取りを、行われた実際のアクセスに基づかせることを有利であると考える。
本発明の他の特徴および利点を、限定するものではない本発明の実施例の記述によって示す。実施例は、添付図面に図示されている。
図1には、本発明の実施例をあらわすシステムのブロックダイヤグラムが示されており、
図2には、ファイルシステムによるキャッシュ先取りの実施例が示されており、
図3には、記憶媒体からキャッシュメモリへのデータ転送の実施例が示されており、
図4には、キャッシュメモリからホスト装置のデータ転送の実施例が示されており、
図5には、本発明の他の実施例をあらわすシステムのブロックダイヤグラムが示されており、
図6には、ホスト装置によるキャッシュ書込みの実施例が示されており、
図7には、書込みキャッシュ命令中に実行されるデータフローの実施例が示されている。
図2には、ファイルシステムによるキャッシュ先取りの実施例が示されており、
図3には、記憶媒体からキャッシュメモリへのデータ転送の実施例が示されており、
図4には、キャッシュメモリからホスト装置のデータ転送の実施例が示されており、
図5には、本発明の他の実施例をあらわすシステムのブロックダイヤグラムが示されており、
図6には、ホスト装置によるキャッシュ書込みの実施例が示されており、
図7には、書込みキャッシュ命令中に実行されるデータフローの実施例が示されている。
この実施例は、文献「serial ATA, revision 1. 0, 29 August 2001」において規定されたSerial Advanced Technology Attachment(SATA)規格に適応したインターフェース手段に基づいている。SATAはATAプロトコルを搬送する。これは記録媒体上のビデオデータの記憶にも関連している。この実施例では記憶媒体はハードディスクであるが、他のあらゆるタイプのものでもあり得る。当然ながら本発明はビデオデータタイプに限定されるものではないが、オーディーまたはあらゆる情報データ(informative data)に限定されるものでもない。ビデオデータタイプは実施例として用いられている。なぜなら、ビデオデータは、高い帯域幅と維持されたビットレートを要求するからである。
図1には、本発明を実行するシステムが示されている。
記憶アプリケーション16を含むホスト装置15は、SATAインターフェース14とリンクしている。SATAインターフェースは、記憶装置11およびバッファ17とリンクしている。このバッファにはコントローラ18が対応付けされている。SATAインターフェースをパラレルATAインターフェース、または、記憶装置にアクセスするのに適した他のあらゆるインターフェースによって置き換えることも可能である。バッファ17はビデオ出力側19にリンクしている。ビデオ出力側19は、TVセットへの外部接続またはビデオデータタイプを受け取る、または処理することができるあらゆる他の手段であってもよい。
記憶装置11は少なくともハードディスク12とキャッシュメモリ13を含む。ホストCPUは、SATAインターフェース14を通じてハードディスク12にアクセスする。
ホスト装置15はプロセッサベースの装置であり、すなわち記憶アプリケーション16を駆動させることができる。記憶アプリケーション16はソフトウェアプログラムであって、例えばプロセッサに対応付けされているメモリ内にロードされている。
ホスト装置、またはより正確にはホストプロセッサ上で実行されるファイルシステムは、ハードディスク12上のデータロケーションを認識している。ファイルシステムマネージメント手段は、キャッシュメモリ13をコントロールするために、ATAインターフェースを介して命令を送信する。
キャッシュ先取りおよびキャッシュ書込み命令は、以下に規定されている。
命令は、ATA命令「特徴をセットする(Set Feature)」のサブ命令を用いて実行される。このコードはEFである(16進で)。
このサブ命令コードは83Hであり、以下の表に従って規定されている。
セクターカウントレジスタ
キャッシュセグメントサイズ:ここで規定されているキャッシュセグメントのサイズ
セクターナンバーレジスタ
キャッシュセグメントナンバー:キャッシュセグメントのオーダーナンバー
シリンダローレジスタ−ビット(0)
W/R:書込みキャッシュセグメント、読取りキャッシュセグメントに対して0をセットする
装置/ヘッドレジスタ−ビット(4)
DEVは選択された装置を示す
図2には本発明の実施例に相応するキャッシュ先取りが示されている。
キャッシュセグメントサイズ:ここで規定されているキャッシュセグメントのサイズ
セクターナンバーレジスタ
キャッシュセグメントナンバー:キャッシュセグメントのオーダーナンバー
シリンダローレジスタ−ビット(0)
W/R:書込みキャッシュセグメント、読取りキャッシュセグメントに対して0をセットする
装置/ヘッドレジスタ−ビット(4)
DEVは選択された装置を示す
図2には本発明の実施例に相応するキャッシュ先取りが示されている。
キャッシュ先取りは、ファイルシステムによって管理されている。
ファイルシステムは通常、ホスト装置の近傍に配置されている。すなわち図1に示されたSATAインターフェースの前である。しかし図3に示されているようにSATAインターフェースの後に配置することも可能である。
ファイルシステムは、ハードディスク上のファイルの編成の管理を担当しており、従ってハードディスク上のデータの位置を知っている。
本発明のある実施例では、このファイルシステムは、殊にビデオデータおよび情報データの通常の記憶に適しているマルチメディアファイルシステムである。
同じ記録媒体上へビデオデータおよび情報データを記憶するために用いられるこの種のマルチメディアファイルシステムは、オーディオおよび/またはビデオストリームを記憶するための第1のタイプの記憶ユニットと、非ストリームデータを記憶するための第2のタイプの記憶ユニットの特徴を有する。ここで第1の記憶ユニットのサイズは、第2の記憶ユニットのサイズの倍数である。第1のタイプのユニットは、ストリームストレージに割り当てられているか、または非ストリームデータのストレージのために、第2のタイプの複数のユニットに分けられている。
このファイルシステムのある実施例では、2つのタイプの記憶ユニットおよび2つのタイプのファイルに対して、ディレクトリツリーが1つしかない。
記憶装置11は、情報データ(非ストリームデータ)またはオーディオ/ビデオデータ(ストリームデータ)を、ハードディスク12の断片化を避けて、効率的に記憶することができる。しかも情報データに対する固定された領域およびオーディオ/ビデオデータに対する固定された領域を定めることはない。
有利には、第2のタイプの複数のユニットに分けられた第1のタイプのユニットは、第2のタイプの全てのこれらのユニットのアベイラビリティに基づき、かつ記憶されるデータのタイプに従って、第2のタイプの複数のユニットにこれ以上分割されない。
帯域幅は、データバースト転送のサイズの関数であり、帯域幅が高いほど、ハードディスクドライブセクタを検索するために使用される時間はより少なくなる。従って、マルチメディアファイルシステムは、記憶されるデータのタイプに従ってハードディスク12を管理することによって、セクタの検索を制限し、従ってアクセス時間を低減して、持続されたビットレートを上昇させる。
ハードディスクは記憶されるデータのタイプに従い、自身の占領は最適化される。これによって、記憶する大きいサイズのファイルのみが存在する場合に、ハードディスク12の断片化が改善される。これらの1つ1つは、大きいブロック内に記憶される。ここでは記憶する多数の小さいサイズのファイルがある場合に、必要がある限り、大きいサイズのブロックは小さいサイズのブロックに分割される。
マルチメディアファイルシステム等のファイルシステムを使用することによって、データへのアクセス時間が格段に改善される。なぜならファイル断片化が著しく低減されるからである。
有利には少なくとも1つの第1のデータ構造が、少なくとも各第1タイプのユニットに対して、このユニットがフリーであるか否か、およびこのユニットが複数の第2タイプ記憶ユニットに分けられているか否かを示す。
ホストがハードディスク12からデータを読取ることを希望する場合には、先取り命令をハードディスク12へ送信する。先取り命令は、ATAプロトコルによってサポートされている新しい命令として規定される。
先取り命令は、記憶装置11に、記憶アプリケーション16によって次に読取られるべきデータをキャッシュメモリ13内にロードするように指示を与える。すなわち記憶アプリケーションがビデオデータを記憶する場合、これらのビデオデータは、記憶される幾つかのディスクセクタを要求する。なぜならこれは通常、膨大な量のデータであるからである。図2に示されているように、これらのデータはそれぞれ、セクタA, C, D, EおよびF上に記憶される。統計に基づく従来の先取り(予見先取り)では、キャッシュメモリはセクタA, B, C, D, Eをロードし、従って100パーセントのキャッシュヒットは提供しない。本発明の実施例は、100%のキャッシュヒットを提供することができる。なぜならキャッシュ先取り命令がキャッシュメモリ13に、ハードディスクから、実際に読取られる次のデータをロードするように指示するからである。
さらに、上述したようなマルチメディアファイルシステムを使用することによって、キャッシュ先取りの効率が上昇する。なぜならこれはハードディスクの使用を最適化するからである。
図3には記憶媒体からキャッシュメモリへのデータ転送の実施例が示されている。
ステップF1では、セクターナンバーが初期化される。これはハードディスク媒体上のデータの位置を与える。ステップF2では、セクターナンバーレジスタおよびセクターカウントレジスタがホストによってセットされる。セクターカウント値は、ターゲットキャッシュセグメントサイズと同じ値を有している。ステップF3では、キャッシュ先取りまたはロードキャッシュ命令がホストによって発せられ、装置にデータを記憶媒体からキャッシュメモリへ転送するように依頼する。ステップF4では、データはハードディスク媒体からキャッシュメモリへ転送される。
図4にはキャッシュメモリからホスト装置へのデータ転送の実施例が示されている。
ステップG1では、セクターナンバーが初期化される。値は、ソースキャッシュセグメントの第1のセクターナンバーと同じである。この条件は、認知データ先取りによって予測されたキャッシュヒットを保証する。ステップG2ではセクターナンバーレジスタおよびセクターカウントレジスタがセットされる。セクターカウント値は、ソースキャッシュセグメントサイズと同じ値を有している。
ステップG3では、規格ATA命令「Read UDMA」がホストによって発せられる。アクセスは瞬間的である。なぜならデータは既にキャッシュメモリ内に存在しているからである。ステップG4ではATA命令が実行され、データは記憶装置からホスト装置へATAインターフェースを介して転送される。
図5には、本発明の実施例が実行される別のシステムが示されている。
図5には、本発明の実施例に従ったホスト装置1および記憶装置2が示されており、ホスト装置および記憶装置の機能が記述されている。ホスト装置は記憶アプリケーション3、インターフェース4、ビデオソース9およびビデオ出力側10を含む。
記憶装置2はインターフェース5、マルチメディアファイルシステム6、ファームウェアプログラム7およびハードディスクアセンブリ8を含む。ハードディスクアセンブリ8は少なくとも記憶媒体およびキャッシュメモリを含む。記憶媒体は、この実施例ではハードディスクである。
リモートコールプロシージャをファイルシステム手段に送信することによって、インターフェースがホストに、記憶手段にアクセスすることを可能にする場合に、ファイルシステムを含む記憶装置が設けられるのは組み込みシステムの設計者にとって非常に便利である。従って記憶装置は、プロシージャコールの通過によってシンプルなインターフェースを通じてコントロールされる自立的なエンティティーとして供給され、設計者は付加的な作業を行う必要がない。これによって設計者は、この領域での専門技術なしに最高のハードディスクドライブを得ることができる。
有利には、インターフェースはアプリケーションプログラミングインターフェースを含む。これは記憶装置のコントロールを容易にする。
記憶装置2は独立型および高集積記憶装置として提供されている。ここにはファイルを管理する全てのソフトウェアおよびハードディスクコントローラが組み込まれている。
ハードディスク媒体8は、ビデオソース9からビデオデータを記憶するまたは、記憶アプリケーション3へ提供される、非ビデオデータまたは情報データと称されるあらゆる他のデータを記憶するために用いられる。ビデオソース9は、例えば放送番組等のあらゆる種類のものであり、MPEG−2またはMPEG−4規格に従って符号化されたストリームであり得る。ハードディスクも、ビデオ出力側10へデータを提供するために、記憶アプリケーションによって読取られるようにされている。ビデオ出力側10は、TVセットへの外部接続、またはビデオデータタイプを受け取る、または処理することができる他のあらゆる手段である。
ホスト装置1は、ハードディスクドライブ8上のデータ(情報データまたはビデオデータ)を読取るまたは記憶することができる。これはビデオ出力側10によって要求されたハードディスクドライブ8上のデータを読取ること、またはハードディスクドライブ8へ、ビデオソース9から来たデータを送信することができる。
ホスト装置1がハードディスクドライブ8上にデータを記憶することを望む場合には、記憶アプリケーション3が呼出し命令を、記憶装置2のマルチメディアファイルシステム6へ、ホスト装置1上のインターフェース4および記憶装置2のインターフェース5を介して送信する。
記憶アプリケーション3は、このビデオストリームをビデオソース9から受けとる。記憶アプリケーションはこのビデオストリームをハードディスクドライブ8上に記憶しなければならない。
インターフェース4およびインターフェース5は、ホスト装置と記憶装置との間のコミュニケーションを可能にするために、同じタイプである。上述したようにこの実施例では、これらのインターフェースは Serial Advanced Technology Attachment(SATA)規格に適合している。
SATAインターフェースは、3つのレイヤを規定している。すなわち:物理レイヤ、リンクレイヤおよびトランスポートレイヤである。
物理レイヤは、シリアルタイプインターフェースである。SATAインターフェースは、カスタマー市場用の高集積および高速インターフェースを提供することができる。例えばインターフェースParallel Advanced Technology Attachment(PATA)のような他のインターフェースタイプも高速インターフェースを提供することができるが、SATAインターフェースに比べて集積機能がより低いインターフェースを提供する。SATAインターフェースは、PATAインターフェースと透過的であるように設計されている。
本発明の他の実施例では、記憶装置上に幾つかのタイプのインターフェース(殊にPATAとSATAの両方)を実装することが可能である。なぜならSATAはPATAへの透過ソフトウェアだからである。
リンクレイヤはカプセル化し、フレームを伝送することができる。
リンクレイヤは伝送し、フレームを受け取る。伝送プリミティブはトランスポートレイヤからのコントロール信号に基づいており、受信プリミティブは物理レイヤからのコントロール信号に基づいており、これらはトランスポートレイヤへのコントロール信号に変換される。リンクレイヤはフレームの内容を認識している必要はない。
トランスポートレイヤは、伝送のためにFrame Information Structure(FIS)を構造化し、受信されたFISを圧縮する。ホストおよび記憶装置のトランスポートレイヤは、FIS内容のソースが異なっている点において異なっている。
この実施例では、ホスト装置1および記憶装置2は物理的に独立している。
実施例のある形態では、記憶装置2およびホスト装置1は、例えば同じプリント回路ボード上で、コネクタによってただ物理的にだけ別個にされている。
インターフェース4およびインターフェース5は、リモートコールプロシージャをホスト装置1から記憶装置2へ転送することを可能にするインターフェース手段である。
インターフェース4はApplication Programming Interfaceに対するAPIを含む。APIは、ホスト装置1と記憶装置2の間のプロシージャ呼出しを可能にする。
SATA規格に適応させるのに、APIをトランスポートレイヤ内でカプセル化することは殊に適していると発明者は考える。
APIは、新たなFISカテゴリとして規定されている。このFISは、APIプロシージャコールに対する構造記述を提供する。
記憶装置1上のインターフェース5は、受信されたFISを圧縮する。すなわちAPIをマルチメディアファイルシステム6に伝送するために、APIをAPI FISから抜き出す。
マルチメディアファイルシステム6は、APIを通じてコントロールされる。これは主にホスト装置1と記憶装置2との間のプロシージャコールの転送を可能にする。
マルチメディアファイルシステム6は、ファームウェアモジュール7を通じてハードディスクドライブにアクセスする。ファームウェアモジュール7は、ハードディスク8へのローレベルアクセスを管理する。
ファームウェアモジュール7、マルチメディアファイルシステム6およびハードディスクドライブ8は非常に近くに位置し、対話可能である。
ハードディスクドライブ8は、標準のハードディスクドライブのように、キャッシュメモリを含む。キャッシュメモリの使用は、主にマルチプルアクセスの間の維持された帯域幅の不足に対して、ハードディスクドライブ8をつり合わせするための手段である。
図6には、書込みキャッシュ命令をあらわす本発明の実施例が示されている。
デジタルTVソース20は、リンク28を介してバッファ22へ接続されている。バッファ22は、SATAインターフェース23を介して記憶装置24へ接続されている。
記憶装置24は、ハードディスク26およびキャッシュメモリ25を含む。リンク27は、ホスト装置21とバッファメモリ22を接続するデータバスである。
記憶装置24は、ハードディスク26およびキャッシュメモリ25を含む。リンク27は、ホスト装置21とバッファメモリ22を接続するデータバスである。
この実施例では転送モードは、100MB/sでSATA UDMA(「ultra direct mode access」のために存在する)モード5である。従ってAVアプリケーションを支援することができる。
デジタルTVソースはビデオデータを提供する。このビデオデータは、ビットレート0. 25MB/s(メガバイトパーセカンド)〜4MB/sで各188バイトを含むパケットを有する。
ホスト装置は、例えば図1で示されたように、命令を送信することでSATAインターフェースをコントロールする。
デジタルTVソース20からビデオデータが高いビットレートで到来する場合、ビデオデータはバッファ22を通じてSATAインターフェースへ転送される。
小さいバッファ22(512バイト)は、到来フローと、キャッシュ書込みとの間のビットレートを調整するのに必要である。
書込みキャッシュ命令によって、ホスト装置はビデオデータをデジタルTVソース20からハードディスク26へ直接転送することができる。
ホストは、セクターナンバー、セクターカウントをセットし、SATAプロシージャに適応させる。
ホストは、キャッシュメモリに1つの512バイトのブロックを一度に、書込みキャッシュ命令を用いて書込む。256ブロックが書き込まれると、128KBのデータがハードディスク上に、ホスト装置21によって事前にセットされた箇所に書込まれる。キャッシュメモリ25からハードディスク26への転送は自動的であり、キャッシュメモリ25のレベルが満たされることによってトリガされる。
図7には、書込みキャッシュ命令中に実行されるデータフローの実施例が示されている。
ステップE1では、ハードディスク上にデータが記憶されるべきセクターナンバーが、ファイルシステムマネージメント手段によって初期化される。
その後ステップE2でファームウェアに命令が送られ、データを記憶するセクターナンバーがファームウェアに示される。セクターカウントと称されるカウンタもセットされる。これによって、各転送でセクターナンバーを示すことが回避される。以降のデータブロックに対するセクターナンバーは、セクターカウントの値が加えられる第1のセクタのナンバーである。
データはその後、バッファが満たされるまで、バッファ(例えば図4におけるバッファ22)に転送される。バッファが完全に満たされると、ファイルシステムはファームウェアに書込みキャッシュ命令を送る(ステップE4)。書込みキャッシュ命令は、キャッシュメモリへのデータ転送を指示する。キャッシュセグメントが完全に満たされた場合、または所定のレベルに達した場合、データはステップE7で記憶媒体に転送される。例えば256ブロックが書込まれた場合には、ファイルシステムによって事前に設定された箇所に128KBのデータが記憶媒体上に書込まれる。このオペレーションは自動的であっても、キャッシュメモリのレベルが満たされることによってトリガされてもよい。
キャッシュ内にロードされたデータの量がセクタのサイズより大きい場合には、セクターナンバーも上昇される(ステップE6)。
書込みキャッシュ命令によって、データを記憶媒体自体に書き込むことなく、ホストはデータをキャッシュメモリ内に書き込むことができる。
ATAプロトコルは高速なので、ホストとハードディスクドライとの間のデータ転送は非常に短時間に行われる。
Claims (8)
- 記憶媒体(8, 12, 25)および当該記憶媒体に対応付けされたキャッシュメモリ(13, 26)を含む装置(2, 11)であって、
前記記憶媒体(8, 12, 25)は、キャッシュメモリ(13, 26)を通じて、ファイルシステムマネージメント手段(6)と対応付けされているホスト装置(1, 15, 21)によって、読取りモードまたは書込みモードでアクセスされるように構成されている形式のものにおいて、
前記キャッシュメモリ(13, 26)は、前記ファイルシステムマネージメント手段(6)のコントロールに基づいてロードされる、
ことを特徴とする装置。 - 前記ホスト装置(1, 15, 21)と対応付けされている前記ファイルシステムマネージメント手段(6)は、読取りモードにおけるアクセスの間、キャッシュメモリ先取りをコントロールする、請求項1記載の装置。
- 読取りアクセスの間に、前記ファイルシステムマネージメント手段(6)は、前記ホスト装置(1, 15, 21)によって要求されたデータを記憶媒体(8, 12, 25)からキャッシュメモリ(13, 26)へダウンロードするために、先取り命令をキャッシュメモリ(13, 26)へ送る手段を含む、請求項2記載の装置。
- 前記先取り命令は、キャッシュメモリ(13, 26)内に先取りされる次のデータの、記憶媒体(8, 12, 25)上のアドレスを示す手段を含む、請求項2または3記載の装置。
- Serial Advanced Technology Attachment規格またはParallel Advanced Technology Attachment規格に適応しているインターフェース(4, 5, 14, 23)を含む、請求項1から4までのいずれか1項記載の装置。
- Serial Advanced Technology Attachmentインターフェースにおいて規定されたFrame Information Structureフィールドにおける先取り命令のカプセル化のためのカプセル化手段を含む、請求項1から5までのいずれか1項記載の装置。
- 書込みモードでのアクセスの間に、前記ファイルシステムマネージメント手段(6)は、書込みキャッシュ命令を前記記憶媒体(8, 12, 25)へ送る手段を含み、記憶媒体(8, 12, 25)上に記憶されるデータは最初にキャッシュメモリ(13, 26)上に記憶され、当該キャッシュメモリ(13, 26)充填が所定のレベルに達すると、キャッシュメモリ(13, 26)から記憶媒体(8, 12, 25)へ転送される、請求項2記載の装置。
- 請求項1から7までのいずれか1項記載の装置(2, 11)を含む、有利にはデジタルテレビジョンデコーダである、マルチメディア装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01460077.9 | 2001-12-11 | ||
EP01460077A EP1320035A1 (en) | 2001-12-11 | 2001-12-11 | Storage device cache management |
PCT/EP2002/013368 WO2003054706A1 (en) | 2001-12-11 | 2002-11-27 | Storage device cache memory management |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005513645A JP2005513645A (ja) | 2005-05-12 |
JP2005513645A6 true JP2005513645A6 (ja) | 2005-08-04 |
JP4827376B2 JP4827376B2 (ja) | 2011-11-30 |
Family
ID=8183373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003555353A Expired - Fee Related JP4827376B2 (ja) | 2001-12-11 | 2002-11-27 | 記憶装置キャッシュメモリマネージメント |
Country Status (10)
Country | Link |
---|---|
US (1) | US20060265549A1 (ja) |
EP (2) | EP1320035A1 (ja) |
JP (1) | JP4827376B2 (ja) |
KR (1) | KR100982392B1 (ja) |
CN (1) | CN100383762C (ja) |
AT (1) | ATE516545T1 (ja) |
AU (1) | AU2002366859A1 (ja) |
MX (1) | MXPA04005606A (ja) |
PL (1) | PL369721A1 (ja) |
WO (1) | WO2003054706A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1797561B1 (en) * | 2004-09-28 | 2012-06-06 | Koninklijke Philips Electronics N.V. | Host device, medium access device, and data storage system |
US7571269B2 (en) * | 2005-08-25 | 2009-08-04 | Silicon Image, Inc. | Covert channel for conveying supplemental messages in a protocol-defined link for a system of storage devices |
DE102006045903B4 (de) * | 2006-09-28 | 2016-06-02 | Intel Deutschland Gmbh | Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten |
US9354864B2 (en) * | 2008-05-08 | 2016-05-31 | Dialogic Corporation | Package header system and method to facilitate streaming a single firmware file upgrade |
US8499120B2 (en) * | 2008-10-17 | 2013-07-30 | Seagate Technology Llc | User selectable caching management |
US20100250830A1 (en) * | 2009-03-27 | 2010-09-30 | Ross John Stenfort | System, method, and computer program product for hardening data stored on a solid state disk |
US8671258B2 (en) | 2009-03-27 | 2014-03-11 | Lsi Corporation | Storage system logical block address de-allocation management |
US20110004718A1 (en) * | 2009-07-02 | 2011-01-06 | Ross John Stenfort | System, method, and computer program product for ordering a plurality of write commands associated with a storage device |
US9792074B2 (en) * | 2009-07-06 | 2017-10-17 | Seagate Technology Llc | System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips |
CN102262657B (zh) * | 2011-06-29 | 2014-12-03 | 华为数字技术(成都)有限公司 | 多媒体数据存储方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151989A (en) * | 1987-02-13 | 1992-09-29 | International Business Machines Corporation | Directory cache management in a distributed data processing system |
EP0463874A2 (en) * | 1990-06-29 | 1992-01-02 | Digital Equipment Corporation | Cache arrangement for file system in digital data processing system |
US5193170A (en) * | 1990-10-26 | 1993-03-09 | International Business Machines Corporation | Methods and apparatus for maintaining cache integrity whenever a cpu write to rom operation is performed with rom mapped to ram |
US5893140A (en) * | 1996-08-14 | 1999-04-06 | Emc Corporation | File server having a file system cache and protocol for truly safe asynchronous writes |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
US6141728A (en) * | 1997-09-29 | 2000-10-31 | Quantum Corporation | Embedded cache manager |
US6253289B1 (en) * | 1998-05-29 | 2001-06-26 | Compaq Computer Corporation | Maximizing sequential read streams while minimizing the impact on cache and other applications |
EP1148727A1 (en) * | 2000-04-05 | 2001-10-24 | THOMSON multimedia | Method and device for decoding a digital video stream in a digital video system using dummy header insertion |
EP1104201A1 (en) * | 1999-11-23 | 2001-05-30 | THOMSON multimedia | Method and device for managing frame buffer memory size in a digital television system |
US6384870B1 (en) * | 2000-03-31 | 2002-05-07 | Matsushita Electric Industrial, Co., Ltd. | Method for synchronizing HDTV format change with on screen display |
US6728840B1 (en) * | 2000-10-20 | 2004-04-27 | Emc Corporation | Methods and apparatus for providing host controlled caching of data in a storage system |
US6854045B2 (en) * | 2001-06-29 | 2005-02-08 | Intel Corporation | Hardware emulation of parallel ATA drives with serial ATA interface |
US7107343B2 (en) * | 2001-07-12 | 2006-09-12 | Adaptec, Inc. | Method and apparatus for improved RAID 1 write performance in low cost systems |
-
2001
- 2001-12-11 EP EP01460077A patent/EP1320035A1/en not_active Withdrawn
-
2002
- 2002-11-27 AT AT02790444T patent/ATE516545T1/de not_active IP Right Cessation
- 2002-11-27 CN CNB028248953A patent/CN100383762C/zh not_active Expired - Fee Related
- 2002-11-27 MX MXPA04005606A patent/MXPA04005606A/es active IP Right Grant
- 2002-11-27 EP EP02790444A patent/EP1454238B1/en not_active Expired - Lifetime
- 2002-11-27 JP JP2003555353A patent/JP4827376B2/ja not_active Expired - Fee Related
- 2002-11-27 WO PCT/EP2002/013368 patent/WO2003054706A1/en active Application Filing
- 2002-11-27 AU AU2002366859A patent/AU2002366859A1/en not_active Abandoned
- 2002-11-27 PL PL02369721A patent/PL369721A1/xx not_active Application Discontinuation
- 2002-11-27 KR KR1020047008914A patent/KR100982392B1/ko active IP Right Grant
- 2002-11-27 US US10/498,400 patent/US20060265549A1/en not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996466B2 (en) | Apparatus, system and method for caching compressed data | |
US7606954B2 (en) | Data storage using compression | |
JP2008004089A (ja) | ランダムデータおよび逐次データの同時ライトキャッシング | |
JP4827376B2 (ja) | 記憶装置キャッシュメモリマネージメント | |
JP2005513645A6 (ja) | 記憶装置キャッシュメモリマネージメント | |
US10782888B2 (en) | Method and device for improving file system write bandwidth through hard disk track management | |
JP4754585B2 (ja) | データ配信およびバッファリング | |
KR101137575B1 (ko) | 저장 디바이스 | |
JP5230083B2 (ja) | Avデコーダ中のメモリアクセスを管理するための方法および装置 | |
KR102266166B1 (ko) | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 | |
JP6529577B2 (ja) | 情報指向ネットワーキング(icn)ルータ | |
US7930450B1 (en) | Buffer management system and method | |
US20230195372A1 (en) | Systems, methods, and devices for content distribution using storage device with network interface | |
EP1739675B1 (en) | Method and apparatus for managing memory accesses in an AV decoder |