JP2005513645A - 記憶装置キャッシュメモリマネージメント - Google Patents

記憶装置キャッシュメモリマネージメント Download PDF

Info

Publication number
JP2005513645A
JP2005513645A JP2003555353A JP2003555353A JP2005513645A JP 2005513645 A JP2005513645 A JP 2005513645A JP 2003555353 A JP2003555353 A JP 2003555353A JP 2003555353 A JP2003555353 A JP 2003555353A JP 2005513645 A JP2005513645 A JP 2005513645A
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
Application number
JP2003555353A
Other languages
English (en)
Other versions
JP4827376B2 (ja
JP2005513645A6 (ja
Inventor
チャペル クロード
ギュモー ジャン−シャルル
ル ルー ジャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2005513645A publication Critical patent/JP2005513645A/ja
Publication of JP2005513645A6 publication Critical patent/JP2005513645A6/ja
Application granted granted Critical
Publication of JP4827376B2 publication Critical patent/JP4827376B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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

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)
  • Television Signal Processing For Recording (AREA)

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には、書込みキャッシュ命令中に実行されるデータフローの実施例が示されている。
この実施例は、文献「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であり、以下の表に従って規定されている。
Figure 2005513645
セクターカウントレジスタ
キャッシュセグメントサイズ:ここで規定されているキャッシュセグメントのサイズ
セクターナンバーレジスタ
キャッシュセグメントナンバー:キャッシュセグメントのオーダーナンバー
シリンダローレジスタ−ビット(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を接続するデータバスである。
この実施例では転送モードは、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)

  1. 記憶媒体(8, 12, 25)および当該記憶媒体に対応付けされたキャッシュメモリ(13, 26)を含む装置(2, 11)であって、
    前記記憶媒体(8, 12, 25)は、キャッシュメモリ(13, 26)を通じて、ファイルシステムマネージメント手段(6)と対応付けされているホスト装置(1, 15, 21)によって、読取りモードまたは書込みモードでアクセスされるように構成されている形式のものにおいて、
    前記キャッシュメモリ(13, 26)は、前記ファイルシステムマネージメント手段(6)のコントロールに基づいてロードされる、
    ことを特徴とする装置。
  2. 前記ホスト装置(1, 15, 21)と対応付けされている前記ファイルシステムマネージメント手段(6)は、読取りモードにおけるアクセスの間、キャッシュメモリ先取りをコントロールする、請求項1記載の装置。
  3. 読取りアクセスの間に、前記ファイルシステムマネージメント手段(6)は、前記ホスト装置(1, 15, 21)によって要求されたデータを記憶媒体(8, 12, 25)からキャッシュメモリ(13, 26)へダウンロードするために、先取り命令をキャッシュメモリ(13, 26)へ送る手段を含む、請求項2記載の装置。
  4. 前記先取り命令は、キャッシュメモリ(13, 26)内に先取りされる次のデータの、記憶媒体(8, 12, 25)上のアドレスを示す手段を含む、請求項2または3記載の装置。
  5. Serial Advanced Technology Attachment規格またはParallel Advanced Technology Attachment規格に適応しているインターフェース(4, 5, 14, 23)を含む、請求項1から4までのいずれか1項記載の装置。
  6. Serial Advanced Technology Attachmentインターフェースにおいて規定されたFrame Information Structureフィールドにおける先取り命令のカプセル化のためのカプセル化手段を含む、請求項1から5までのいずれか1項記載の装置。
  7. 書込みモードでのアクセスの間に、前記ファイルシステムマネージメント手段(6)は、書込みキャッシュ命令を前記記憶媒体(8, 12, 25)へ送る手段を含み、記憶媒体(8, 12, 25)上に記憶されるデータは最初にキャッシュメモリ(13, 26)上に記憶され、当該キャッシュメモリ(13, 26)充填が所定のレベルに達すると、キャッシュメモリ(13, 26)から記憶媒体(8, 12, 25)へ転送される、請求項2記載の装置。
  8. 請求項1から7までのいずれか1項記載の装置(2, 11)を含む、有利にはデジタルテレビジョンデコーダである、マルチメディア装置。
JP2003555353A 2001-12-11 2002-11-27 記憶装置キャッシュメモリマネージメント Expired - Fee Related JP4827376B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01460077A EP1320035A1 (en) 2001-12-11 2001-12-11 Storage device cache management
EP01460077.9 2001-12-11
PCT/EP2002/013368 WO2003054706A1 (en) 2001-12-11 2002-11-27 Storage device cache memory management

Publications (3)

Publication Number Publication Date
JP2005513645A true JP2005513645A (ja) 2005-05-12
JP2005513645A6 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020635A (ja) * 2005-12-20 2013-01-31 Silicon Image Inc 記憶装置システムのための、プロトコル定義されたリンクにおいて補足メッセージを伝達するための隠しチャネル

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101031970B (zh) * 2004-09-28 2013-03-27 皇家飞利浦电子股份有限公司 用于在记录介质上存储数据和用于传送信息的方法和装置
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020635A (ja) * 2005-12-20 2013-01-31 Silicon Image Inc 記憶装置システムのための、プロトコル定義されたリンクにおいて補足メッセージを伝達するための隠しチャネル

Also Published As

Publication number Publication date
US20060265549A1 (en) 2006-11-23
MXPA04005606A (es) 2004-12-06
EP1454238B1 (en) 2011-07-13
KR20040064735A (ko) 2004-07-19
CN100383762C (zh) 2008-04-23
AU2002366859A1 (en) 2003-07-09
EP1454238A1 (en) 2004-09-08
KR100982392B1 (ko) 2010-09-14
PL369721A1 (en) 2005-05-02
JP4827376B2 (ja) 2011-11-30
ATE516545T1 (de) 2011-07-15
CN1602472A (zh) 2005-03-30
EP1320035A1 (en) 2003-06-18
WO2003054706A1 (en) 2003-07-03

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) 記憶装置キャッシュメモリマネージメント
KR102274466B1 (ko) 실시간 캐싱 기법을 이용한 동영상 스트리밍 방법 및 그 시스템
JP2005513645A6 (ja) 記憶装置キャッシュメモリマネージメント
CN1910566A (zh) 提供和控制子突发数据传递的方法和系统
JP4754585B2 (ja) データ配信およびバッファリング
US10782888B2 (en) Method and device for improving file system write bandwidth through hard disk track management
KR101137575B1 (ko) 저장 디바이스
JP5230083B2 (ja) Avデコーダ中のメモリアクセスを管理するための方法および装置
JP6529577B2 (ja) 情報指向ネットワーキング(icn)ルータ
KR102266166B1 (ko) 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US7930450B1 (en) Buffer management system and method
US20230195372A1 (en) Systems, methods, and devices for content distribution using storage device with network interface
CN117312201B (zh) 一种数据传输方法、装置及加速器设备、主机和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081027

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090820

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090909

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20091009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100726

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100729

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100729

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110420

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110425

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: 20110913

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4827376

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees