JP2005513646A - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP2005513646A
JP2005513646A JP2003555376A JP2003555376A JP2005513646A JP 2005513646 A JP2005513646 A JP 2005513646A JP 2003555376 A JP2003555376 A JP 2003555376A JP 2003555376 A JP2003555376 A JP 2003555376A JP 2005513646 A JP2005513646 A JP 2005513646A
Authority
JP
Japan
Prior art keywords
storage
file system
storage device
cache memory
data
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
JP2003555376A
Other languages
English (en)
Other versions
JP4465189B2 (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 JP2005513646A publication Critical patent/JP2005513646A/ja
Application granted granted Critical
Publication of JP4465189B2 publication Critical patent/JP4465189B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本発明は、記憶手段(8)を含む記憶装置(2)に関し、ここでこの記憶装置(2)は、
− 前記記憶手段(8)に記憶されるデータの編成を管理するファイルシステム管理手段(6)と、
− ホスト(1)がこのファイルシステム手段(6)にリモートプロシージャコール(7)を送信することによって上記記憶手段(8)にアクセスできるようにするインタフェース手段(4,5)とを有することを特徴とする。
本発明は、マルチメディア端末装置、殊にディジタルテレビション受像器またはセットトップボックスに適用される。

Description

本発明は、記憶装置に関する。この記憶装置は、セットトップボックスまたはディジタルテレビジョンセットのようなマルチメディア端末装置に使用することができるが、これらに限定されるわけではない。
組み込み式端末装置の市場の拡大、殊にマルチメディア端末装置、例えばディジタルテレビジョンデコーダの発展により、重要になってきたのは、このようなマルチメディア端末装置には大記憶容量、高品質および高性能が低価格で必要であり、また高度な統合化が必要であるいう点である。
ハードディスクドライブ技術は、パーソナルコンピュータ市場の需要が主導的役割を果ており、着々と進化して来た。
公知のハードディスクドライブ記憶システムの設計は、パーソナルコンピュータアーキテクチャをベースにしており、またこのハードディスクのアクセスはコンピュータのオペレーティングシステムおよびそれに組み込まれたファイルシステムによって完全に制御されている。このようなアーキテクチャは広く知られている。
しかしながら、組み込み式領域において共通に使用されているのにもかかわらず、パーソナルコンピュータの現在のアーキテクチャは、マルチメディア装置の要求および期待される性能に適合していない。マルチメディア装置が扱うのは、アクセスという点から見て極めて広い帯域幅および高性能を要求する音声またはビデオなどのデータである。
殊に複数の装置または周辺装置の共通のアーキテクチャでは、各装置または周辺装置を、ホストシステムによって制御する必要がある。
本発明によって提案されるのは、記憶手段を含む記憶装置であり、その特徴は以下を含むことである。すなわち、
− 記憶手段に記憶されるデータの編成を管理するための自足形ファイルシステム手段を含むファイルシステム管理手段と、
− ホストがリモートプロシージャコールを上記ファイルシステム手段に送信することによって上記記憶手段にアクセスすることができるようにするインタフェース手段とを含んでいる。
本発明により、ファイルシステムが提案され、ここでこのファイルシステムは、ホストの一部ではなく、外部装置により、例えばホストにより、簡単なコマンドでアクセス可能であり、これによってデータを記憶または読み出すことができる。
上記の記憶手段に対するすべてのアクセスは、上記のファイルシステム管理手段によって制御される。このファイルシステム管理手段には、簡単なコマンドコールでアクセス可能であり、これらのコマンドコールは、所定のファイルを書き込むまたは読み出すなどのハイレベルなコマンドに相応する。この記憶手段に対するアクセスはファイルシステムそれ自体によって管理され、この際にホストが介入することはない。
このファイルシステムは、記憶手段の近くに位置している。このため、この記憶手段と、ホスト装置との間のインタフェースは、公知のシステムにおいてそれが転送するコマンドと同じタイプのコマンドを転送しない。
記憶装置とホストとの間のこのインタフェースは、ホスト側のインテリジェンス(すなわちファイル管理部)と、このインタフェースの別の側にあるスレーブ装置との間を分けるものではない。インテリジェンスの一部がスレーブ装置に移動されるのである。
したがって記憶装置は、よりインテリジェンスのある装置であり、ホスト装置の負荷は低減される。それは、ホスト装置は自体でファイルシステムを扱わず、どのファイルにアクセスしなければならないかをファイルシステムに指示するプロシージャコールのような簡単なコマンドを送信するだけだからである。
システム設計者は、これらのハイレベルな関数またはプロシージャコールの生成をプログラムするだけでよい。この場合、これらはホストにより、インタフェース手段を介してファイルシステム管理手段に転送され、このファイルシステム管理手段により、ファイルシステムへのアクセスが管理されるのである。
有利な実施形態では、記憶手段とホストとの間で共有されるキャッシュメモリを含んでおり、このキャッシュメモリにはファイルシステム管理手段の制御に応じてローディングが行われる。
記憶手段は、記憶媒体と、キャッシュメモリと、これらのキャッシュメモリおよび記憶手段を制御するファームウェアと含むことができる。
公知のシステムでは、すべての記憶手段に含まれているキャッシュメモリが、記憶媒体を管理するファームウェアによって管理される。
しかしながら、キャッシュのヒットという点からはこれは効率的でない。それは記憶手段には、ホストによって行われるつぎのアクセスが分からないためである。これが分からないのはこの記憶手段には、記憶媒体上のデータの編成が分からないからである。分からない理由は、公知のシステムでは、ファイルシステムがホストにあるからである。公知のシステムにおけるキャッシュプリフェッチ処理は、ホストによって行われた最近の複数のアクセスについての統計に基づいている。したがってキャッシュヒットの良好な率を得る(例えば、ホストによって要求されるデータが、ホストによって要求される前にキャッシュに存在する)ためには、設計者は、比較的多くのキャッシュメモリを設けることを余儀なくされるのである。
発明者が殊に興味深いと思ったのは、つぎのようなキャッシュプリフェッチ処理を実装することである。すなわち、記憶媒体を管理するファームウェアにより、与えられたアドレスにおいてキャッシュプリフェッチが行われるようにするキャッシュプリフェッチ処理を実装することである。読み出しモードでは、要求されたファイルがビデオデータからなる場合、このビデオデータはいくつかのセクタに記憶されることがある。このファイルシステムにはこの編成またはフラグメンテーションが分かっており、したがってこのファイルの続きが位置しているつぎのセクタのアドレスを供給することができる。このため、キャッシュヒットの確率を下げることなく、キャッシュメモリのサイズを低減することができる。
このキャッシュプリフェッチは、これまでのプリフェッチ処理によって使用されてきた統計的なプリフェッチとは全く異なる、認識に基づいた(cognitive)プリフェッチである。これまでのプリフェッチ処理は、ファイルシステムではなく記憶装置のファームウェアによって制御され、ディスクにおけるデータの実際の位置ではなく最近のアクセスに基づいている。
本発明の1実施形態では、ファイルシステム管理手段は、読み出しモードにおけるアクセス中、キャッシュメモリプリフェッチを制御する。
本発明の1実施形態では、ファイルシステム管理手段はつぎのように構成される。すなわち、このファイルシステム管理手段が書き込みキャッシュコマンドをキャッシュメモリに送信して、書き込みモードにおけるアクセス中、記憶媒体に記憶されるデータはまずキャッシュメモリに記憶され、このキャッシュメモリの充填度があらかじめ定めたレベルに到達した場合にキャッシュメモリから記憶媒体に転送されるように構成されるのである。
このような書き込みキャッシュコマンドによって指示されるのは、データを直ちに記憶媒体に転送せずにこれをキャッシュメモリに記憶することである。この書き込みコマンドは、ホストから記憶媒体に大量のデータを転送するのに効率的である。
公知のハードディスクドライブは,キャッシュ書き込みイネーブル機能を備えるように設計されている。しかしながらこの機能により、キャッシュメモリからハードディスクに転送が行われることはなく、データがキャッシュメモリに送信される場合にこれらはハードディスクドライブに直ちに転送されるのである。これはヘッドの動きの点から見て無駄が多い。したがってこのような公知のキャッシュ書き込み機能は大量のバースト転送には適用されないのである。それはドライブのヘッドが転送毎に移動しなければならないからである。
本発明によって提案されるキャッシュ書き込みコマンドによれば、キャッシュメモリへのデータの転送は、このキャッシュメモリを使用して行われ、キャッシュメモリ充填度があらかじめ定めたレベルに達した場合、これらのデータが記憶媒体に転送される。したがってディスクヘッドは、あらかじめ定めた量のデータがキャッシュメモリに記憶された場合にだけ移動するのである。
1実施形態によれば、上記記憶装置は、記憶手段に対する同時アクセス数にしたがってキャッシュを複数のセグメントに分割するセグメンテーション手段を含む。
相異なる複数のファイルについて記憶手段に要求する場合、キャッシュヒットのチャンスを向上させるため、キャッシュメモリを複数のセグメントに分けて、このキャッシュメモリに上記の要求された相異なるファイルをロードすると有利である。
1実施形態によれば、ファイルシステム手段は、オーディオおよび/またはビデオストリームを記憶するための第1タイプの記憶ユニットと、非ストリームデータを記憶するための第2タイプの記憶ユニットとを備えており、ここで上記の第1記憶ユニットのサイズは、第2記憶ユニットのサイズの倍数であり、さらに第1タイプのユニットをストリームの記憶に対して割り当てるか、または非ストリームデータを記憶するためにこの第1タイプのユニットを複数の第2タイプのユニットに分割する手段を有する。
ファイルシステムは、ハードディスクのような記憶媒体にデータを記憶して編成するために使用されるが、別のタイプの記憶媒体(例えば、光ディスク、光磁気ディスク、ソリッドステートメモリ…)も除外されない。公知のファイルシステムは、普通の情報データの制約に対して最適化されている。例えば、これらのファイルシステムでは、論理データブロック(ディスクスペース割り当てに対する基本単位)が使用されており、これらはディスクスペース使用効率を最適化するために極めて小さい(ディスクセクタサイズの大きさのオーダである)。
このようなファイルシステムではディジタルビデオストリームに対して満足な性能を提供することはできない。論理ブロックのサイズが小さいと、フラグメンテーションが発生してしまう。この結果、ディスクヘッドは、1論理ブロックから別の論理ブロックに頻繁に移動することにもなり、したがってこれに比例して直接的な読み出し操作に使用されることが少なくなる。これによって、グローバルに利用可能な帯域幅が狭まってしまう。言い換えると、ファイルシステムがハードディスクそのものの性能を低下させてしまうのである。
上記の記憶装置は、情報データ(非ストリームデータ、例えば非同期のファイル、すなわち、電子プログラムガイドデータ、プログラムコード、データベース…)またはオーディオデータ/ビデオデータ(ストリームまたは等時性データ)を効率的に記憶することができ、この際に非同期のデータに対する固定エリアおよびオーディオ/ビデオストリームデータに対する固定エリアを定めることなしに記憶装置のフラグメンテーションが回避される。
1実施形態によれば、上記インタフェース手段により、ホスト記憶アプリケーションからファイルシステム管理手段にリモートプロシージャコールが転送される。
ホスト装置および記憶装置はインタフェースを介してリンクされ、ここでこのインタフェースにより、上記のホスト装置および記憶装置は通信してデータを交換することができる。また既存のインタフェースを使用してこれらの2つの装置間で上記のリモートプロシージャコールを送信することができる。
1実施形態では、上記インタフェース手段はシリアルタイプのインタフェース手段である。
1実施形態では、上記インタフェース手段は、Serial Advanced Technology Attachment標準に準拠する。
上記のSerial Advanced Technology Attachment(SATA)標準インタフェースは、ハイレベルプロトコルであるため、殊にParallel Advanced Technology Attachment (PATA)と比較して極めて有利である。
1実施形態によれば、上記インタフェース手段は、リモートプロシージャコールをFrame Information Structureフィールドにカプセル化することによって、ホスト記憶アプリケーションからファイルシステム管理手段にこのリモートプロシージャコールを転送する。
有利な実施形態では、Frame Information Structureは、SATAのコンテキストにおいて定められる。SATA標準に準拠するため、発明者に殊に有利なことであることがわかったのは、APIをトランスポートレイヤにおいてカプセル化し、したがってリモートプロシージャコールを送信するためにFISを使用することを提案することである。
本発明の別の課題は、マルチメディア端末装置、有利にはセットトップボックスであり、これは本発明の任意に実施形態による記憶装置を含むという特徴を有する。
本発明の他の特徴および利点は、添付の図面を用いて詳説される本発明の制限的でない実施形態の説明に記載されている。ここで、
図1は、本発明の実施形態によるホスト装置および記憶装置を含むシステムのブロック図であり、
図2は、ファイルシステムとホスト記憶アプリケーションとの間のインタフェースの1実施形態を表すブロック図であり、
図3は、ファイルシステムによるキャッシュプリフェッチの概要を示している。
この実施形態は、刊行物"serial ATA, revision 1.0, 29 August 2001"に定められたSerial Advanced Technology Attachment標準に準拠するインタフェース手段に基づいている。この実施形態は記憶媒体へのビデオデータの記憶にも関連しており、またこの実施形態において記憶媒体はハードディスクであるが、別の任意のタイプとすることが可能である。当然のことながら、本発明はビデオデータタイプまたは上で定めたコンテキストに制限されない。
図1には本発明の1実施形態によるホスト装置1および記憶装置2が図示されている。
図1が示しているのは、上記のホスト装置および記憶装置の機能的な説明である。このホスト装置は、記憶アプリケーション3と、インタフェース4、ビデオソース9と、ビデオ出力10を含んでいる。
記憶装置2は、インタフェース5と、マルチメディアファイルシステム6と、ファームウェアプログラム7と、ハードディスクアセンブリ8とを含む。ハードディスクアセンブリ8は、この実施形態ではハードディスクである少なくとも1つの記憶媒体と、キャッシュメモリとを含む。
組み込み式システムの設計者にとっては、つぎのようなファイルシステムを含む記憶装置が設けられていると極めて便利である。すなわちそのインタフェースにより、このホストがファイルシステム手段にリモートプロシージャコールを送信することによって記憶手段にアクセスできるようにされている場合、このようなファイルシステムを含む記憶装置が設けられていると極めて便利である。この実施形態によれば、この記憶装置は自律的なエンティティとして機能しており、簡単なインタフェースを介し、プロシージャコールを転送することによって制御されるため、組み込みのために必要な作業が低減される。これにより、設計者は、その領域における知識がなくてもハードディスクドライブの最大の能力を得ることができる。
有利には上記のインタフェースはApplication Programming Interface(API)を含む。
記憶装置2は、スタンドアロンかつ高度に統合化された記憶装置として提供されており、ここにはファイルおよびハードディスクアセンブリコントローラを管理するすべてのソフトウェアが組み込まれている。
ハードディスクアセンブリ8は、ビデオソース9からのビデオデータ(オーディオデータも含む)、または記憶アプリケーション3に供給される、非ビデオデータまたは情報データ(informative data)と称される別の任意のデータの記憶用である。ビデオソース9は、例えば、放送プログラムなどのように任意のタイプとすることができ、またMPEG2またはMPEG4標準にしたがって符号化されたストリームとすることができる。ハードディスクアセンブリ8も同様に記憶アプリケーション3によって読み出されて、ビデオ出力10にデータを供給することが意図されている。ビデオ出力10は、外部接続とすることが可能であり、これは、例えばTVディスプレイ、またはビデオタイプのデータを受信ないしは処理することの可能な別の任意の手段への外部接続部である。
ホスト装置1は、ハードディスクアセンブリ8のデータ(情報データまたはビデオデータ)を読み出すか、または記憶することができる。この装置は、ビデオ出力に宛てられるハードディスクアセンブリ8上のデータを読み出し、または多かれ少なかれ処理されビデオソース9から到来するデータをハードディスクアセンブリ8に送信することができる。
ホスト装置1がハードディスクアセンブリ8にデータを記憶しようとする場合、記憶アプリケーション3は、ホスト装置1のインタフェース4と、記憶装置2のインタフェース5とを介して、記憶装置2のマルチメディアファイルシステム6にコマンドコールを送信する。
記憶アプリケーション3は、ビデオソース9からこのビデオストリームを受信する。記憶アプリケーション3が、このビデオストリームをハードディスクアセンブリ8に記憶しなければならない。
インタフェース4およびインタフェース5は、ホスト装置1と記憶装置2との間の通信を可能にするため、同じタイプのインタフェースである。上記のようにこの実施形態では、これらのインタフェースは、Serial Advanced Technology Attachment(SATA)標準に準拠している。
SATAプロトコルは3つの層、すなわち、物理層、リンク層およびトランスポート層を定めている。
SATAプロトコルは、消費者市場に対して比較的高度な統合化および十分に高速なインタフェースを提供している。例えばParallel Advanced Technology Attachment(PATA)などのような別のインタフェースタイプも高速なインタフェースを提供し得るが、SATAインタフェースよりも劣った統合化機能しか提供しない。SATAインタフェースは、PATAインタフェースと互換性を有するように設計されている。
本発明の別の実施形態では、記憶装置にいくつかのタイプのインタフェースが実装され、有利にはPATAおよびSATAの両方が実装される。それはSATAはソフトウェアトランスペアレントであり、またSATAドライバはPATAと互換性を有するからである。
リンク層は、トランスポート層から受け取ったフレームをカプセル化して、このカプセル化したフレームを転送する。
このリンク層はまた、トランスポート層からの制御信号に基づいてプリミティブを転送し、また物理層からのプリミティブを受け取る。ここでこれらのプリミティブはトランスポート層への制御信号に変換される。リンク層は、フレームの内容を認識する必要はない。
トランスポート層は、転送に対してFrame Information Structure(FIS)を組み立て、受信したFISを分解する。ホストおよび記憶装置のトランスポート層は、FISコンテンツのソースが異なる点が相違している。
この実施形態では、ホスト装置1および記憶装置2は物理的に独立している。これらは、分離していることが可能である。
この実施形態の変形形態では、記憶装置2およびホスト装置1は、例えば、同じプリント基板に取り付けられ、コネクタによって単に物理的に分かれていることも可能である。
インタフェース4およびインタフェース5は、ホスト装置1から記憶装置2へのリモートプロシージャコールの転送を可能にするインタフェース手段である。
インタフェース4はAPIを含む。このAPIにより、ホスト装置1と記憶装置2との間のプロシージャコール7が可能になる。
発明者に判明したのは、このAPAをトランスポート層でカプセル化すると殊に有利でことである。
このAPIは、新たなFISカテゴリとして定められる。このFISにより、このAPIがプロシージャコールであることを示す構造記述が得られる。
記憶装置2のインタフェース5は、受信したFISを分解する。
すなわち、これは、API FISからAPIコマンドコールを抽出して、このAPIコマンドコールをマルチメディアファイルシステムに転送するのである。
マルチメディアファイルシステム6は、ビデオデータおよび情報データを共通に記憶するのに殊に有利である。
同じ記憶媒体にビデオデータおよび情報データを記憶するためのこの専用のファイルシステムは、オーディオおよび/またはビデオストリームを記憶するための第1タイプの記憶ユニットと、非ストリームデータを記憶するための第2タイプの記憶ユニットとを備えており、ここで第1記憶ユニットのサイズは、第2記憶ユニットのサイズの倍数である。第1タイプのユニットは、ストリームの記憶に対して割り当てられるか、非ストリームデータの記憶に対して複数の第2タイプのユニットに分けられるかのいずれかである。
このファイルシステムの1実施形態では、両方のタイプの記憶ユニットおよび両方のタイプのファイルに対して1つのディレクトリツリーしか存在しない。
記憶装置2は、情報データ(非ストリームデータ)またはオーディオ/ビデオデータ(ストリームデータ)を効率的に記憶することができ、この際に情報データに対する固定エリアおよびオーディオ/ビデオデータに対する固定エリアを定めることなしにハードディスクのフラグメンテーションが回避される。
有利には、複数の第2タイプのユニットに分けられる第1タイプのユニットを、これらのすべての第2タイプのユニットが利用される度合および記憶するデータのタイプに応じて、もはや複数の第2タイプのユニットに分割しないことも可能である。
帯域幅はデータバースト転送のサイズの関数であり、ハードディスクドライブのセクタをシークするために使用される時間は少なく、帯域幅は広くなる。したがってマルチメディアファイルシステム6は、記憶するデータのタイプにしたがってハードディスクアセンブリ8を管理することにより、セクタサーチを限定し、したがってアクセス時間を低減させ、持続的なビットレートを増大させる。
この場合、この記憶装置は、記憶するデータのタイプにしたがって構成することができ、またハードディスクドライブの占有度を改善することができる。このようにすることにより、サイズの大きなファイルだけしか記憶しない場合、このディスクのフラグメンテーションを改善することができる。これらのファイルは大きなブロックに記憶され、これに対してサイズの小さなファイルを多数記憶する場合、サイズの大きなブロックは必要なだけ、サイズの小さなブロックに分けられるのである。
マルチメディアファイルシステム6のようなファイルシステムを使用することによって、データへのアクセスタイムを改善することができる。それはファイルのフラグメンテーションが低減されているからである。
有利には少なくとも1つの第1データ構造により、少なくとも第1タイプのユニット毎に、このユニットが空きであるか否かと、このユニットが複数の第2タイプのユニットに分けられているか否かとが示される。
マルチメディアファイルシステム6はAPIを介して制御され、ここでこのAPIは主にホスト装置1と記憶装置2との間でプロシージャコール7の転送を可能にする。後に図2においていくつかのプロシージャコール7を示す。
マルチメディアファイルシステム6は、ファームウェアモジュール7を介してハードディスクドライブにアクセスする。ファームウェアモジュール7は、ハードディスクおよびキャッシュメモリに対するローレベルアクセスを制御する。
ファームウェアモジュール7,マルチメディアファイルシステム6およびハードディスクアセンブリ8は極めて接近しており、また対話することができる。
ハードディスクアセンブリ8には、標準的なハードディスクドライブと、キャッシュメモリメモリ(図1では独立して示していない)とが含まれる。キャッシュメモリを使用するのは、主に相異なるファイルにアクセス中に、ハードディスクドライブが持続的な帯域幅を有しないことに対処するためである。
マルチメディアファイルシステム6によるキャッシュメモリの使用の仕方は、後に図3で説明する。
図2には、マルチメディアファイルシステム6とホスト記憶アプリケーション3との間で交換されるプロシージャコールの1実施形態が示されている。
プロシージャコール7はここでもAPIとして定義されており、SATAプロトコルのFramie Information Structureに埋め込まれている。
様々なプロシージャが定義され、これには例えば、
Inttmmfs-create:ファイルの創成
Inttmmfs-open :ファイルのオープン
Inttmmfs-close :ファイルのクローズ
Inttmmfs-read :ファイルの読み出し
Inttmmfs-write :ファイルの書き込み
がある。
この実施形態によれば、いくつかのパラメタがこれらの関数に関連する。すなわち、ファイルに記憶するデータのタイプ、ファイルサイズまたはアドレスが関連する。
マルチメディアファイルシステム6はこれらのプロシージャコールを受け取って、ハードディスクアセンブリ8に相応の操作を実行する。ホストによる制御なしにファイルシステムの直接的な制御によってプロシージャコール7を実行することにより、システム全体の性能を改善することができる。それはマルチメディアファイルシステム6には、ホスト装置1よりもハードディスクドライブの編成がよく分かっているからである。
図3には、本発明にしたがい、ファイルシステムによって使用されるハードディスクドライブキャッシュプリフェッチの概要が示されている。
マルチメディアファイルシステム6には、ディスクのパーティショニングが分かっている。データは、マルチメディアファイルシステム6によって定められるストラテジーにしたがってハードディスクに記憶される。すなわちハードディスクドライブ8は、上に述べたように、そこに記憶されるデータのタイプにしたがってダイナミックにパーティショニングされるのである。
したがってホスト装置1がビデオ出力10用のデータを要求した場合、マルチメディアファイルシステム6には、それがハードディスクから出力すべきつぎのデータのアドレスが分かるのである。これはこのファイルシステムにはデータの編成が分かっているからである。この場合、キャッシュメモリにこのデータがロードされる。それはキャッシュメモリに記憶されるこのデータがホスト装置1に送信すべきつぎのデータだからである。マルチメディアファイルシステム6はそれ自体でデータのプリフェッチを制御し、可能な限り大きなデータのブロックをキャッシュメモリに記憶する。このキャッシュプリフェッチ処理は、公知の統計的なプリフェッチ処理とは全く異なる、認識に基づいたプリフェッチである。これらの公知の統計的なプリフェッチ処理は、本発明のようにファイルシステムによってではなく記憶手段のファームウェア7によって制御され、またディスク上のデータに対してなされた要求にではなく最近のアクセスに基づいているのである。ここで上記の要求にはディスクにおけるデータの位置が含まれている。
読み出しアクセス中、ホスト装置1がハードディスクドライブに記憶されているファイルを要求した場合、マルチメディアファイルシステム6は、ホスト装置1によって要求されたこのファイルがセクタA,C,D,EおよびFに記憶されていることを知っている。したがって、マルチメディアファイルシステム6は、キャッシュメモリにこれらのブロックを1つずつ順次にロードする。したがって不要なデータがキャッシュメモリにロードされることがない。これとは異なり、慣用のプリフェッチは、ホストによって要求されたセクタの先のセクタの内容をキャッシュメモリにロードするため、セクタBもキャッシュメモリにロードしてしまっているはずである。
このようなキャッシュメモリ管理は、多くの場合、アクセス時間を低減し、ハードディスクドライブのデータに対するリアルタイムアクセスを提供することができる。またビデオ記憶装置の場合には大きな関心を呼ぶことができる。
この実施形態ではキャッシュはリングバッファとして管理されているが、別のメモリ管理法も同様に使用可能である。
多重アクセス中、記憶装置に対する同時アクセス数にしたがってキャッシュメモリがセグメンティングされる。
ハードディスクドライブに対する書き込みアクセス中、ファイルシステム管理手段6は、ファームウェア7にキャッシュ書き込みコマンドを送信する。このファームウェアは、この命令をキャッシュメモリに送信して、記憶すべきデータがまずキャッシュメモリに送信される。バーストサイズに達した場合(例えば128Kバイト)またはあらかじめ定めた充填度のレベルに達した場合、データはハードディスクドライブに書き込まれる。キャッシュ書き込みコマンドは、ハードディスクアセンブリキャッシュメモリを制御する新たなコマンドとして定義され、したがって極めて便利であり、また普通に行われているように記憶媒体の入力側に大容量バッファリング手段を設けなくてもよい。到来するフローとキャッシュ書き込みとの間のビットレートを適合させるために、小さなバッファ(512バイト)が必要になり得る。
書き込みおよび読み出しの2つのアクセスに対して、ハードディスクドライブのヘッドは適切なシリンダにあらかじめポジショニングされてつぎの転送の準備が行われ、これによってアクセス時間が短縮される。
キャッシュメモリは、マルチメディアファイルシステム6の制御を介してホストによって使用されるため、上記のホスト装置は、慣用のアーキテクチャの場合のようにビデオデータをバッファリングするための余分なメモリ、例えばダイナミックRAMを必要としない。
本発明の実施形態によるホスト装置および記憶装置を含むシステムのブロック図である。 ファイルシステムとホスト記憶アプリケーションとの間のインタフェースの1実施形態を表すブロック図である。 ファイルシステムによるキャッシュプリフェッチの概要を示す図である。

Claims (11)

  1. 記憶手段(8)を含む記憶装置(2)において、
    該記憶装置は、
    − 前記記憶手段(8)に記憶されるデータの編成を管理するためのファイルシステム管理手段(6)と、
    − ホスト(1)が該ファイルシステム手段(6)にリモートプロシージャコール(7)を送信することによって前記記憶手段(8)にアクセスできるようにするインタフェース手段(4,5)とを有することを特徴とする、
    記憶手段(8)を含む記憶装置(2)。
  2. 前記の記憶手段(8)とホスト(1)との間で共有されるキャッシュメモリを含んでおり、
    前記ファイルシステム管理手段(6)の制御に応じて該キャッシュメモリにローディングが行われる、
    請求項1に記載の記憶装置。
  3. 前記ファイルシステム管理手段(6)は、読み出しモードにおけるアクセス中、前記キャッシュメモリプリフェッチを制御する、
    請求項2に記載の記憶装置。
  4. 前記ファイルシステム管理手段(6)を構成して、該ファイルシステム管理手段(6)がキャッシュ書き込みコマンドをキャッシュメモリに送信して、書き込みモードにおけるアクセス中、前記記憶媒体(8)に記憶されるデータはまずキャッシュメモリに記憶され、キャッシュメモリ充填度があらかじめ定めたレベルに達した場合にキャッシュメモリから記憶媒体に転送されるようにした、
    請求項2に記載の記憶装置。
  5. 前記記憶手段に対する同時アクセス数にしたがって、前記キャッシュメモリを複数のセグメントに分割するセグメンテーション手段を含む、
    請求項1から4までのいずれか1項に記載の記憶装置。
  6. 前記ファイルシステム管理手段(6)は、オーディオおよび/またはビデオストリームを記憶するための第1タイプの記憶ユニットと、非ストリームデータを記憶するための第2タイプの記憶ユニットを備えており、
    前記の第1記憶ユニットのサイズは、第2記憶ユニットのサイズの倍数であり、
    さらに第1タイプのユニットをストリームの記憶に対して割り当てるか、または非ストリームデータを記憶するために当該の第1タイプのユニットを複数の第2タイプのユニットに分割する手段を有する、
    請求項1から5までのいずれか1項に記載の記憶装置。
  7. 前記のインタフェース手段(4,5)により、リモートプロシージャコール(7)がホスト記憶アプリケーション(3)からファイルシステム管理手段(6)に転送される、
    請求項1から6までのいずれか1項に記載の記憶装置。
  8. 前記インタフェース手段(4,5)はシリアルタイプのインタフェース手段である、
    請求項1から7までのいずれか1項に記載の記憶装置。
  9. 前記インタフェース手段(4,5)は、Serial Advanced Technology Attachment標準に準拠する、
    請求項8に記載の記憶装置。
  10. 前記インタフェース手段(4,5)は、リモートプロシージャコール(7)をFrame Information Structureフィールドにカプセル化することによって、ホスト記憶アプリケーション(3)からファイルシステム管理手段(6)に当該リモートプロシージャコール(7)を転送する、
    請求項9に記載の記憶装置。
  11. マルチメディア端末装置において、
    有利にはディジタルテレビジョンであり、請求項1から10までのいずれか1項に記載の記憶装置(2)を含むことを特徴とする、
    マルチメディア端末装置。
JP2003555376A 2001-12-11 2002-11-27 記憶装置 Expired - Lifetime JP4465189B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01460078A EP1320037A1 (en) 2001-12-11 2001-12-11 Storage device
PCT/EP2002/013369 WO2003054730A1 (en) 2001-12-11 2002-11-27 Storage device

Publications (2)

Publication Number Publication Date
JP2005513646A true JP2005513646A (ja) 2005-05-12
JP4465189B2 JP4465189B2 (ja) 2010-05-19

Family

ID=8183374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003555376A Expired - Lifetime JP4465189B2 (ja) 2001-12-11 2002-11-27 記憶装置

Country Status (9)

Country Link
US (1) US20050155084A1 (ja)
EP (2) EP1320037A1 (ja)
JP (1) JP4465189B2 (ja)
KR (1) KR101137575B1 (ja)
CN (1) CN1308877C (ja)
AU (1) AU2002356738A1 (ja)
MX (1) MXPA04005661A (ja)
PL (1) PL369761A1 (ja)
WO (1) WO2003054730A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440990C (zh) * 2005-09-30 2008-12-03 华为技术有限公司 移动终端间互相访问共享存储空间的系统及其方法
JP4915774B2 (ja) 2006-03-15 2012-04-11 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US9529722B1 (en) 2014-07-31 2016-12-27 Sk Hynix Memory Solutions Inc. Prefetch with localities and performance monitoring
CN107291399B (zh) * 2017-06-30 2020-11-24 苏州浪潮智能科技有限公司 一种基于spdk的后端存储方法、装置及系统
US10846155B2 (en) * 2018-10-16 2020-11-24 Samsung Electronics Co., Ltd. Method for NVMe SSD based storage service using RPC and gRPC tunneling over PCIe +
CN109445696B (zh) * 2018-10-21 2021-10-08 山西达鑫核科技有限公司 网络聚合存储的信息存储装备
CN113330410A (zh) * 2019-03-01 2021-08-31 阿里巴巴集团控股有限公司 用于管理非易失性存储器和闪存作为计算对象接口固态驱动器的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4390763A (en) * 1981-05-27 1983-06-28 Westinghouse Electric Corp. Electrochemical cell shunting switch assembly with matrix array of switch modules
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
US6070226A (en) * 1996-12-10 2000-05-30 Philips Electronics North America Corporation Memory system having magnetic disk drive implemented as cache memory and being integrated with optical disk drive in a hierarchical architecture
US6092149A (en) * 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
US6567894B1 (en) * 1999-12-08 2003-05-20 International Business Machines Corporation Method and apparatus to prefetch sequential pages in a multi-stream environment
US6665772B1 (en) * 2000-07-31 2003-12-16 Western Digital Ventures, Inc. Data storage method and device for storing streaming and non-streaming data in common memory space
EP1199897A3 (en) * 2000-10-16 2003-03-26 THOMSON multimedia Method and device for storing stream data such as digital video and non-stream data
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
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

Also Published As

Publication number Publication date
KR20040064738A (ko) 2004-07-19
JP4465189B2 (ja) 2010-05-19
EP1454272A1 (en) 2004-09-08
CN1602490A (zh) 2005-03-30
PL369761A1 (en) 2005-05-02
KR101137575B1 (ko) 2012-04-19
US20050155084A1 (en) 2005-07-14
CN1308877C (zh) 2007-04-04
AU2002356738A1 (en) 2003-07-09
EP1320037A1 (en) 2003-06-18
MXPA04005661A (es) 2004-12-06
WO2003054730A1 (en) 2003-07-03

Similar Documents

Publication Publication Date Title
US8015352B2 (en) Disk drive storage defragmentation system
JP2008004089A (ja) ランダムデータおよび逐次データの同時ライトキャッシング
US20070073941A1 (en) Data storage using compression
WO1996008772B1 (en) Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching
JP4465189B2 (ja) 記憶装置
EP1454238B1 (en) Storage device cache memory management
US7924456B1 (en) Data distribution and buffering
EP1782175B1 (en) Time budgeting for non-data transfer operations in drive units
JP2005513645A6 (ja) 記憶装置キャッシュメモリマネージメント
US20110022774A1 (en) Cache memory control method, and information storage device comprising cache memory
US8140819B2 (en) Method and apparatus for managing memory accesses in an AV decoder
KR102266166B1 (ko) 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US20220197549A1 (en) Memory controller and storage device including the same
US8644676B2 (en) Data processing apparatus and data processing method
JP2007293564A (ja) メモリデバイスおよび情報記憶システム
US7930450B1 (en) Buffer management system and method
EP1739675B1 (en) Method and apparatus for managing memory accesses in an AV decoder
KR20030075529A (ko) 광 디스크 기록 재생기의 메모리 운용 방법
CN1942971A (zh) 在存储介质上记录具有特殊存储空间要求的数据

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090127

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091116

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091201

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

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

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4465189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

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

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term