JP2010537322A - 直接大容量記憶装置ファイルインデックス処理 - Google Patents

直接大容量記憶装置ファイルインデックス処理 Download PDF

Info

Publication number
JP2010537322A
JP2010537322A JP2010522003A JP2010522003A JP2010537322A JP 2010537322 A JP2010537322 A JP 2010537322A JP 2010522003 A JP2010522003 A JP 2010522003A JP 2010522003 A JP2010522003 A JP 2010522003A JP 2010537322 A JP2010537322 A JP 2010537322A
Authority
JP
Japan
Prior art keywords
file
volume
cluster
data
msd
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
JP2010522003A
Other languages
English (en)
Other versions
JP2010537322A5 (ja
JP5242686B2 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010537322A publication Critical patent/JP2010537322A/ja
Publication of JP2010537322A5 publication Critical patent/JP2010537322A5/ja
Application granted granted Critical
Publication of JP5242686B2 publication Critical patent/JP5242686B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10648First-in-last-out memories [LIFO] buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/1074Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control involving a specific threshold value
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10916Seeking data on the record carrier for preparing an access to a specific address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1294Increase of the access speed
    • G11B2020/1295Increase of the access speed wherein the focus is on the read access speed
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Abstract

外部のハードドライブベースの大容量記憶装置上に記憶される、音楽を含む媒体コンテンツなどのデータを列挙するための構成は、直接大容量記憶装置ファイルインデックス処理プロセスを実施する媒体コンテンツ処理システムにより提供される。ファイルインデックス処理プロセスは、大容量記憶装置上のすべてのファイルおよびディレクトリを発見するように、かつファイルに関するメタデータを含むファイルのこれらの部分を通して読み取るように構成される。本媒体コンテンツ処理システムを使用すると、大容量記憶装置により使用されるハードディスクドライブ中で、読取り/書込みヘッドの物理的な移動量を最小化することにより、ファイルを列挙する時間が低減される。動きの最小化は、このような読取りオペレーションをランダムに実施するのではなく、ハードディスク上で順次に、ディレクトリおよびファイルデータのクラスタを読み取ることにより達成される。
【選択図】図4

Description

大容量記憶の容量に対するユーザー要求は、特に、大量のオーディオ、ビデオ、画像、およびマルチメディアファイルを記憶することに関して増加を続けている。この容量要求は、ハードディスク、ならびにCD(コンパクトディスク)およびDVD(digital versatile discs)などの取外し可能な媒体の設計と開発に影響を与えてきた。ストレージ技術は、ますます増加する大容量と、より柔軟性のある機能とを求めるユーザー要求を満たすために、さらに進化を続けている。このような技術の例には、小型で可搬性のある大容量記憶装置が含まれる。大容量記憶装置は、例えば、USB(Universal Serial Bus)またはIEEE−1394(電気電子学会)など、高速の外部バス上で動作するデータ転送プロトコルを用いる他の装置および資源と共用できるボリューム中に、データを記憶するのに使用される装置の一種である。
いくつかの大容量記憶装置は、記憶媒体として半導体メモリーを使用するが、より大容量の可搬型大容量記憶装置は、通常、別の電源コードを使用するのではなく、しばしば、USBまたはIEEE−1394データケーブルそれ自体を介して電力が供給されうる小型のハードディスクドライブを使用する。これらのディスクベースの大容量記憶装置は、したがって、例えば、ピクチャおよび音楽ライブラリを含むマルチメディアに対して、非常に大量の記憶域を提供しながら、小型のフォームファクターで、ユーザーに対してプラグアンドプレイの利便性を可能にすることができる。
大容量記憶装置は、通常、ファイルシステムを用いて編成されるファイル形式でデータを記憶する。FAT(file allocation table:ファイルアロケーションテーブル)ファイルシステムは、ディスクベースの大容量記憶装置に対して一般に使用されるファイルシステムの1つである。FATファイルシステムは、1970年代後半および1980年代前半にその起源を有しており、マイクロソフト社のMS−DOSオペレーティングシステムによりサポートされるファイルシステムであった。それは、元々、500K(キロバイト)未満のサイズのフロッピー(登録商標)ディスクドライブに適した単純なファイルシステムとして開発された。時間が経過するにつれて、それは、ますます大容量の媒体をサポートするように強化されてきた。現在、3つのFATファイルシステムタイプ、すなわち、FAT12、FAT16、およびFAT32がある。これらのFATサブタイプにおける基本的な差、およびその名前の理由は、ディスク上の実際のFAT構造におけるエントリーのビットで表したサイズである。FAT12のFATエントリーでは12ビット、FAT16のFATエントリーでは16ビット、およびFAT32のFATエントリーでは32ビットある。
FATファイルシステムは、実際に、ボリュームの予約された部分に常駐するテーブルであるファイルアロケーションテーブル(「FAT」)により特徴付けられる。ボリュームを保護するために、一方が損傷を受けた場合に備えてFATの2つのコピーが保持される。FATテーブルおよびルートディレクトリはまた固定位置に記憶され、したがって、システムのブートファイルの位置が正確に特定されうる。
FATファイルシステムは、多くのアプリケーションで良好に動作するが、いくつかの固有の限界を有する。特に、FATのディレクトリ構造に対する編成がなく、ファイルおよびディレクトリは、ディスク上の最初のオープン位置に書き込まれる。その結果、ファイルおよびディレクトリのために使用されるクラスターは、ディスク上で、論理的に互いに近接していない位置にランダムに分散される可能性がある。ハードディスクドライブの読取り/書込みヘッドは、関連するクラスターを読み取るとき、絶え間なく前後に移動し、ディスク上の様々なトラック間を行ったり来たりする必要があるので、ボリュームのコンテンツに対するファイルインデックスを列挙する(enumerate)ためにデータにアクセスすることは、時間を望ましくないほど消費する可能性がある。
この背景は、以下の要約および詳細な説明に対する簡単な状況を紹介するために提供される。この背景は、特許請求する主題の範囲を決定することを支援するものではなく、あるいは特許請求する主題を、上記で提示された欠点もしくは問題のいくつか、またはすべてを解決する諸実施形態に限定するものと見なされることを意図していない。
外部のハードディスクドライブベースの大容量記憶装置に記憶される音楽を含む媒体コンテンツなどのデータを列挙するための構成は、直接大容量記憶装置ファイルインデックス処理プロセスを実施する媒体コンテンツ処理システムにより提供される。このファイルインデックス処理プロセスは、大容量記憶装置上のすべてのファイルおよびディレクトリを見つけるように、かつそのファイルに関するメタデータ(アルバム名、アーティスト名、ジャンル、トラックタイトル、トラック番号など)を含むファイルのこれらの部分を介して読み取るように構成される。
媒体コンテンツ処理システムを用いると、ディスクからデータを読み取るとき、大容量記憶装置のハードディスクドライブにおける読取り/書込みヘッドの物理的な移動量を最小化することにより、ファイルの列挙時間が低減される。この動きの最小化は、ディレクトリおよびファイルデータのクラスターの読取りを、このような読取りオペレーションをランダムに行うのではなく、ハードディスクから順次に行うことにより達成される。媒体コンテンツ処理システムは、作業リスト(すなわち、要求待ち行列)中で処理する必要のあるクラスターの位置を追跡する。要求待ち行列中の項目は、ハードドライブの読取り/書込みヘッドの現在の物理的位置に、次に最も近いクラスターを選択することにより処理される。ある項目を処理するために、さらなるクラスターが必要である場合、そのクラスターは、要求待ち行列に追加され、後に、例えば、直接大容量記憶装置インデックス処理プロセスのその後の繰返しにおいて処理される。
この要約は、詳細な説明において以下でさらに述べる概念の一選択を簡単化された形で紹介するために提供される。この要約は、特許請求される主題の重要な特徴もしくは本質的な特徴を識別することを意図しておらず、あるいは特許請求される主題の範囲を決定する一助として使用されることも意図されていない。
トラック、セクター、およびクラスターへと分割される、低水準のフォーマットを用いる例示的なハードディスクを示す簡略化した図である。 ハードディスク上のクラスターがランダムな順序でアクセスされる、クラスター読取りオペレーションの例示的なシーケンスを示す図である。 大容量記憶装置に含まれるファイルおよびディレクトリが、乗物中に位置する媒体コンテンツ処理システムを用いて列挙される例示的な環境を示す図である。 図3で示す媒体コンテンツ処理システムに対する階層化されたアーキテクチャを示す図である。 大容量記憶装置に含まれるファイルおよびディレクトリを処理するための例示的な方法に対する流れ図である。 ハードディスク上のクラスターが、順次にアクセスされるクラスター読取りオペレーションの例示的なシーケンスを示す図である。
図面中で、同様の参照番号は同様のエレメントを示す。
図1は、FATファイルシステムをサポートするために、トラック105、セクター112、およびクラスター115へと分割された、低水準のフォーマットを用いる例示的なハードディスク100を示す簡略化した図である。大容量記憶装置(「MSD」)中のハードディスクドライブは、積み重ねられた構成で配置された複数のハードディスク(または「プラッター」)を使用することができる。図1で示すように、トラック105は、同心円で構成され、各トラック105は、いくつかのセクター112を備える。多種多様のトラック105が使用され、その数は、ハードディスク100を用いて実装される記憶ボリュームのサイズに依存する。各セクターは、512バイトを保持する。
クラスター115は、2から128の範囲の数の1組のセクターを含む。FATは、追跡できるクラスターの数で制限されるので、クラスターのサイズは、ハードディスク100のサイズと共に増加する。したがって、クラスター当たりのセクター数を増加させることによって、より大きなボリュームがFATでサポートされる。クラスターは、ハードディスク100に対する任意の読取りまたは書込みオペレーションにより使用される最小のスペースである。クラスター115が、図1では隣接して示されているが、所与のファイルまたはディレクトリと関連するクラスターは、ハードディスク100上で、必ずしも、隣接して位置する必要はない。
ハードディスク100の様々な部分が、FATファイルシステムのブートセクター、1つまたは複数のFATテーブル、ボリュームに対するルートディレクトリ、ならびにファイルおよびディレクトリのためのデータ領域用に割り振られる。ファイルが作成されると、FATテーブル中にエントリーが作成され、データを含む最初のクラスター数が設定される。FATテーブル中のこのエントリーは、ファイルの最後のクラスターであることを示しているか、あるいは次のクラスターを指している。ファイルまたはディレクトリのサイズが、クラスターのサイズよりも大きい場合、複数のクラスターに割り振られる。
図2は、ファイルおよびディレクトリを列挙するときに行われるクラスター読取りオペレーションの例示的なシーケンス200を示す図である。シーケンス200では、クラスターは、既存のFATファイル列挙法を用いて、ランダムな順序で、ハードディスク100(図1)に対してアクセスされる。この例では、いくつかの(Dir1、Dir2、およびDir3と名付けられた)ディレクトリおよびいくつかのファイルが、ハードディスク100上に記憶されている。ファイルは、音楽に対する共通規格であるMP3(Moving Picture Experts、MPEG−1、Audio Layer−3)により符号化された音楽ファイルである。Dir1は、2つのクラスターにわたる十分なサイズのあるFile1.mp3を含み、また単一のクラスター中に記憶されたFile2.mp3も含む。ルートディレクトリは、ディスク上で、3つのクラスターに記憶されたFile1.mp3を含む。
ファイルおよびディレクトリは、ハードディスク100上で、最初に利用可能なクラスターに書き込まれるので、このようなファイルおよびディレクトリを記憶するクラスターは、図2で示すように、ランダムな方法でアクセスされる。ハードディスク100が、例えば、そのコンテンツを列挙するために、FAT32ファイルシステムを用いて走査される場合、番号(numeral)210−1で示されるルートディレクトリの位置を特定するために、ディスク上のブートセクターが照会される。ハードディスクドライブの読取り/書込みヘッドは、次いで、ルートディレクトリ中で識別された位置に移動して、参照番号210−2で示されたDir1にアクセスする。読取り/書込みヘッドは、次いで、Dir1中で識別された位置に進み、音楽ファイルFile1.mp3の最初のクラスターを記憶するために使用されるクラスター210−3にアクセスする。
File1.mp3の次の部分の位置を特定するために、読取り/書込みヘッドは移動してハードディスク100上のFATテーブルに照会し、次いで、図示のように、識別されたクラスターへと移動して210−4にアクセスする。ディレクトリエントリーおよび/またはFATテーブルに照会し、次いで、識別されたクラスターへと移動するプロセスは、残りのディレクトリ、サブディレクトリ、およびファイルにアクセスするために繰り返され、ハードドライブ上のすべてのコンテンツが列挙されるまで続けられる。ハードディスクドライブの読取り/書込みヘッドは、FATテーブルの位置に到達するために、かつファイルおよびディレクトリを記憶するクラスターに到達するために、ドライブのプラッターにわたり絶え間なく移動する必要があるため、現在のFATファイルシステム法を使用する場合、ボリュームのコンテンツを列挙する間に、かなりの待ち時間を生ずる可能性がある。
図3は、例示的な環境300を示しており、そこでは、MSD310上に含まれるファイルおよびディレクトリが、この直接MSDファイルインデックス処理を使用する媒体コンテンツ処理システムを用いて列挙される。この例では、環境300は、自動車環境であり、そこでは、ユーザーが、乗物321中に位置するサウンド/娯楽システム316、およびスピーカ319を介して表現される(すなわち、再生される)ことを望む音楽を含む媒体コンテンツを記憶するためにMSD310を使用する。しかし、環境300は、例示的なものに過ぎないこと、およびこの直接MSDファイルインデックス処理は、自動車用途または音楽ファイルに限定されないことが強調される。直接MSDファイルインデックス処理の利点は、様々の異なる用途および実施形態におけるFATファイルシステムを用いて、MSD上に記憶される任意のタイプのコンテンツ(例えば、写真やビデオなどのデータおよび他の媒体コンテンツ)に適用されうることがさらに企図される。
この例では、MSD310は、小型で可搬型に構成され、またFAT32ファイルシステムの下でボリュームとしてさらに構成された従来のハードディスクベースの装置である。MSD310は、USB2.0に準拠した信号を伝えるUSBケーブル325を用いて乗物321中のサウンド/娯楽システム316に結合されるが、代替の実施形態では、例えば、無線または光学的インフラストラクチャを用いるものを含む他のデータ転送バスおよびプロトコルを使用することもできる。
媒体コンテンツ処理システム332はまた、環境300中で動作可能である。この例では、媒体コンテンツ処理システム332は、乗物321中で別個のシステムであり、通常、ダッシュボードもしくはコンソール領域の背後に位置するが、個々の実装形態の環境による要求に応じて他の位置を利用することもできる。媒体コンテンツ処理システム332は、インターフェース(図示せず)を介して、サウンド/娯楽システム316に、動作可能に接続できるように構成されるが、あるいはいくつかの用途では、共通のパッケージまたはフォームファクターのサウンド/娯楽システム316により提供される機能と任意選択で統合されうる。媒体コンテンツ処理システム332は図4で詳細に示され、かつそれに伴う以下のテキストで説明される。
図4で示すように、媒体処理システム332は、媒体プレイヤー406、媒体コア411、およびファイルインデックス処理層415を含む階層化されたアーキテクチャを含む。媒体プレイヤー406は、この説明用の例では、MSD310上に記憶される、音楽などの媒体コンテンツを含むデータのためのファイルインデックスを示すことにより、ユーザーインターフェース(「UI」)機能を提供するように構成される。したがって、例えば、ユーザーが、MSD310をサウンド/娯楽システム316中にプラグ接続したとき、媒体プレイヤー406は、ユーザーがブラウズし、再生すべき項目を選択できる画面または他のUI装置上に表示される、MSD310上のインデックス付けされたリスト中に音楽を列挙するように機能する。
媒体コア411は、ファイルインデックス処理層415中で動作するプロセスから受け取ったファイルおよび/またはディレクトリデータを構文解析するように構成され、それにより、参照番号418および422でそれぞれが示されたようにコールバックおよびリターンメッセージを介してファイルの列挙を行う。媒体コア411は、いくつかの実施形態で、例えば、媒体コンテンツの復号、レンダリング、および再生制御を含むさらなる特徴および機能を提供するように任意選択で構成されうる。
ファイルインデックス処理層415は、図示のように、媒体コア411と対話し、さらに、FATテーブルキャッシュ432および要求待ち行列435とも対話する直接MSDファイルインデックス処理プロセス430を含む。直接MSDファイルインデックス処理プロセス430はさらに、この説明用の例では、参照番号437により示されるように、USBプロトコルを用いて送られたMSD310からのデータを読み取るように構成される。
FATテーブルキャッシュ432は、FATテーブルデータを、ハードディスク100(図1)から読み取られたときは常に、キャッシュするために使用される。このキャッシュは、関心を有するデータに対する次に必要なFATテーブル検索が、最近読み取られたFATテーブルデータのどれかに含まれる可能性があるため実施される。このようなデータをキャッシュすることは、読取り/書込みヘッドがハードディスク上のFATテーブルを照会するために移動して戻る必要性を低減することができ、ファイル列挙の待ち時間を有利に低減することができる。
FATテーブルキャッシュ432および要求待ち行列435は、システムメモリー439(例えば、揮発性ランダムアクセスメモリー、すなわち、「RAM」)中に実装される。FATテーブルキャッシュ432と、直接MSDファイルインデックス処理プロセス430との間の対話は、参照番号440で示されるFATテーブルデータのキャッシュ、および参照番号442で示される、キャッシュからのFATテーブルデータの読取りを含む。要求待ち行列435と、直接MSDファイルインデックス処理プロセス430との間の対話は、参照番号445で示される、要求項目の待ち行列中への保存、および参照番号448で示される、待ち行列からの要求項目の読取りを含む。直接MSDファイルインデックス処理プロセス430のオペレーションは、図5の流れ図で示され、かつそれに伴うテキストで述べられる。
図5は、大容量記憶装置310に含まれるファイルおよびディレクトリを処理するための媒体コンテンツ処理システム332により実施される例示的な方法500のための流れ図である。ブロック505で、方法はルートディレクトリで開始する。ブロック512で、ディレクトリ(例えば、ルートディレクトリ、またはハードディスク100上のディレクトリ)において、ファイルまたはサブディレクトリを識別するためにエントリーが読み取られる。
ブロック516で、直接MSDファイルインデックス処理プロセス430は、ブロック512における方法ステップで確認された新しいデータを、発信側(すなわち、媒体コア411)に通知する。制御は判断ブロック520に移り、発信側は、新しいデータに関心があるかどうかを判断する。例えば、ファイルの拡張子が、MP3、WMA(Windows(登録商標)Media Audio)、またはWAV(WAVeformオーディオフォーマット)ファイルなど、例示の環境300で利用される特定タイプのものである可能性がある。この場合は、非オーディオのフォーマットまたはファイル拡張子と関連するデータには、関心がないはずである。
発信側がデータに関心を持たない可能性のある他の例は、記憶されたコンテンツを列挙してファイルインデックスを作成するのに使用される、関心のある特定のメタデータを識別するには十分なファイルの諸部分の位置がすでに特定されている場合である。通常、およびこの説明用の例では、関心のあるメタデータは音楽に関係しており、アルバム名、アーティスト名、ジャンル、トラック(例えば、歌)のタイトル、トラック番号などを含む。したがって、すべてのメタデータの位置がすでに特定されている場合、それが、前に関心のあるものとして識別されたファイルの論理部分である場合でも、発信側はその項目を続ける必要がなくなる。ファイルのこのような論理部分が、コンテンツを再生するために必要とされるかも知れないが、それらは列挙する目的には必要ではなく、したがって、スキップすることもできる。
データが、発信側に関心のあるものであった場合、制御は判断ブロック523に移り、直接MSDファイルインデックス処理プロセス430は、全体のディレクトリまたはファイルが読み取られたかどうかを判定する。読み取られていない場合、ブロック526で示すように、項目は、要求待ち行列435中に保存され、または更新される。データが、発信側にとって関心のないものである場合、制御はブロック530に移り、項目は、要求待ち行列に追加されないか、またはそこから除去される。
制御は、ブロック526またはブロック530から判断ブロック534に移り、直接MSDファイルインデックスプロセス430は、要求待ち行列435中に、何らかの項目が存在するかどうかを判定する。存在する場合、制御は判断ブロック538に移り、直接MSDファイルインデックス処理プロセス430は、要求待ち行列435中の項目の数が、低い水準(すなわち、下限)未満であるかどうかを判定する。そうである場合、判断ブロック542で、要求待ち行列435中に何らかのディレクトリ項目がある場合、制御はブロック512に戻り、要求待ち行列435中のそのディレクトリ項目と関連する次のサブディレクトリまたはファイルが読み取られる。低い水準は、要求待ち行列435中の項目の、設定された最小数を指定するために使用され、その低い水準より上の場合、待ち行列に入れた項目を処理するのに効率的である。
要求待ち行列435中にディレクトリ項目がない場合、制御はブロック545に進み、要求待ち行列435中のそのファイル項目と関連する次のデータクラスターが読み取られる。
項目の数が、低い水準未満ではない場合、制御はブロック547に進む。要求待ち行列435中の項目の数が、高い水準(すなわち、上限)を超える場合、制御はブロック550に進む。要求待ち行列435中にファイル項目がない場合、制御はブロック512に戻り、要求待ち行列435中のそのディレクトリ項目と関連する次のサブディレクトリまたはファイルが読み取られる。
要求待ち行列435中にファイル項目がある場合、制御はブロック545に進み、要求待ち行列435中のそのファイル項目と関連する次のデータクラスターが読み取られる。要求待ち行列435中の項目の数が、高い水準未満である場合、制御はブロック552に進み、次に最も近いクラスターを所有する、要求待ち行列435中のファイル項目が見出される。判断ブロック554で、要求待ち行列435中の項目がファイルである場合、制御はブロック545に進み、要求待ち行列435中のそのファイル項目と関連する次のデータクラスターが読み取られる。次の項目がファイルではない(それがディレクトリである)場合、制御はブロック512へと戻り、要求待ち行列435中のそのディレクトリ項目と関連する次のサブディレクトリまたはファイルが読み取られる。高い水準は、個々の実施形態の要件に応じて異なる値に構成することができ、通常、システムメモリーなど利用可能な資源の点からサイズが決められる。
上記で述べた方法は、ブロック534で、要求待ち行列435中に残る項目がもはやなくなるまで連続して繰り返され、ブロック560で方法は終了する。
図6は、図5で示され、かつそれに伴うテキストで述べられた方法を用いて、ハードディスク100(図1)上のクラスターが順次にアクセスされるクラスター読取りオペレーションの例示的なシーケンス600を示す。クラスターは、図2で示したものと同じディレクトリおよびファイルと関連付けられている。図6で示すように、クラスターは、ハードディスク100上での読取り/書込みヘッドの移動を最小化するように順次に読み取られ、それが、ファイルのインデックス処理における待ち時間を低減するので有利である。本主題が、構造的特徴、および/または方法論的行為(act)に特有の言語で述べられて来たが、添付の特許請求の範囲で定義される主題は、上記で述べた特有の特徴、または行為に必ずしも限定されないことを理解されたい。そうではなくて、上記で述べた特有の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示される。

Claims (20)

  1. FATを用いてフォーマットされるMSDボリューム(310)上に記憶された媒体コンテンツを列挙するための媒体コンテンツ処理システム(332)により実施できる方法であって、
    前記媒体コンテンツ処理システム(332)上で動作するファイルインデックス処理プロセス(430)で使用するための要求待ち行列(435)をメモリー(439)中に実装するステップと、
    前記媒体コンテンツに対するディレクトリまたはファイルデータを含むクラスターを読み取るステップ(512)であり、クラスターが、前記MSDボリュームから順次に読み取られるように実施されるステップ(512)と、
    (a)要求項目を、前記クラスターと関連付けること、(b)前記要求項目を、前記要求待ち行列(435)中に保存すること(526)、(c)前記要求項目を、所与のディレクトリまたはファイルと関連するメタデータを含むすべてのクラスターが読み取られていることを示す、前記要求待ち行列の長さに対する上限と比較すること(547)、および(d)前記要求項目を、前記所与のディレクトリまたはファイルと関連するメタデータを含む前記クラスターがまだすべては読み取られていないことを示す、前記要求待ち行列の前記長さに対する下限と比較すること(538)により、前記クラスターの位置を追跡するステップと、
    前記上限が満たされるまで、前記MSDボリューム(310)からのクラスターの前記読取りおよび追跡を繰り返して実施し、次いで、前記媒体コンテンツのためのファイルインデックスを生成するために、前記ディレクトリまたはデータを構文解析するステップと
    を含む方法。
  2. FATテーブル(432)を前記メモリー(439)中にキャッシュし、かつ前記キャッシュしたFATテーブルからデータを読み取るステップを含む、請求項1に記載の方法。
  3. 前記メタデータが、オーディオファイルと関連付けられており、アルバム名、アーティスト名、ジャンル、トラックタイトル、またはトラック番号のうちの1つを含む、請求項1に記載の方法。
  4. 電子装置中に配設された1つまたは複数のプロセッサにより実施されたとき、MSDボリューム(310)上に記憶されたデータに対するファイルインデックスを作成するための方法を実施する命令を含むコンピュータ可読媒体であって、前記方法が、
    ファイル拡張子により、前記MSDボリューム(310)上に記憶されたインデックス付け可能なファイルを識別するステップ(512)と、
    前記MSDボリューム(310)を介する複数のパスを用いて、前記MSDボリューム(310)から順次に、前記識別されたファイルと関連するクラスターに繰返しアクセスするステップ(545)と、
    クラスターが、前記識別されたファイルに対する前記ファイルインデックス中にエントリーを作成するのに十分なメタデータを含むかどうかを判定するために、前記クラスターを調べるステップ(520)と、
    前記クラスターが十分なメタデータを含む場合、前記ファイルインデックス中に含めるために、前記クラスターからの前記識別されたファイルに対する構文解析可能なデータを渡すステップと、
    前記クラスターが十分なメタデータを含まない場合、前記識別されたファイルに対する構文解析可能なデータを渡すことを可能にするために、1つまたは複数のさらなるクラスターが必要であることを示すように、前記装置のシステムメモリー中の待ち行列中に、前記クラスターに対する作業項目を記憶するステップ(526)と、
    前記構文解析可能なデータを用いて、前記ファイルインデックスを生成するステップと
    を含むコンピュータ可読媒体。
  5. 前記ファイル拡張子が、オーディオファイルと関連付けられている、請求項4に記載のコンピュータ可読媒体。
  6. FATを用いてフォーマットされるボリューム(310)上に記憶されたコンテンツを処理するためのシステムであって、
    FATテーブルデータをキャッシュするために、かつ前記ボリューム上のファイルまたはディレクトリの部分と関連付けられた要求項目を待ち行列に入れるためにインデックス処理プロセスをサポートするファイルインデックス処理層(415)であり、前記待ち行列に入れた要求項目が、前記処理されたコンテンツに対するファイルインデックスを生成するために使用されるデータをキャッシュするために使用される、ファイルインデックス処理層(415)と、
    前記媒体処理層(415)に対して動作可能に結合され、かつ前記ファイルインデックス処理層(415)からコールバック通知(418)を受け取るように構成された媒体コア層(411)であり、それにより、ディレクトリデータまたはファイルデータが、前記媒体コア層(411)中で動作する発信側に識別される、媒体コア層(411)と、
    FATテーブルキャッシュ(432)を実装するために、かつ前記要求項目を待ち行列に入れるように構成された要求項目待ち行列(435)を実装するために、前記ファイルインデックス処理層(415)に動作可能に結合されたメモリー(439)と、
    前記ボリューム(310)上に記憶されたコンテンツを読み取る(437)ためのインターフェースと
    を備えるシステム。
  7. 前記インターフェースが、USBまたはIEEE−1394のうちの一方から選択された高速データインターフェースを備える、請求項6に記載のシステム。
  8. 前記インターフェースが、無線インフラストラクチャまたは光学的インフラストラクチャのうちの一方から選択された通信インフラストラクチャを使用する、請求項6に記載のシステム。
  9. 前記媒体コア層(411)が、前記ボリューム(310)から読み取られた前記コンテンツを表現するようにさらに構成される、請求項6に記載のシステム。
  10. 前記ファイルインデックスがそれによりエンドユーザーに表示可能になるユーザーインターフェースを示すように構成される媒体プレイヤー層(406)をさらに含む、請求項6に記載のシステム。
  11. 前記媒体プレイヤー層(406)が、前記ファイルインデックス中の項目がそれによりエンドユーザーに選択可能になるユーザーインターフェースを示すようにさらに構成される、請求項10に記載のシステム。
  12. 乗物環境で使用可能な娯楽サブシステムを提供することに付随して、オーディオおよびビデオ処理のための機能をさらに含む、請求項6に記載のシステム。
  13. 前記ボリューム(310)がMSD中に実装される、請求項6に記載のシステム。
  14. 前記MSDが、ハードディスクドライブタイプのMSDである、請求項13に記載のシステム。
  15. 要求項目を待ち行列に入れるための前記プロセスが、前記コンテンツのすべてが前記ボリューム(310)から読み取られるまで繰り返して実施される、請求項6に記載のシステム。
  16. 要求項目を待ち行列に入れるための前記プロセスが、上限と下限の間の待ち行列長さを維持するような方法で実施される、請求項6に記載のシステム。
  17. 前記ボリューム(310)上に記憶された前記コンテンツが媒体コンテンツである、請求項6に記載のシステム。
  18. ファイルの処理が、前記媒体コンテンツと関連付けられた所定のメタデータの位置を特定したときに終了する、請求項17に記載のシステム。
  19. 前記メタデータが、トラックタイトル、トラック番号、アーティスト名、アルバム名、またはジャンルのうちの1つから選択される、請求項18に記載のシステム。
  20. 前記ボリューム(301)上のファイルまたはディレクトリの前記部分が、前記ボリューム(310)上にクラスターベースで記憶される、請求項6に記載のシステム。
JP2010522003A 2007-08-24 2008-08-20 直接大容量記憶装置ファイルインデックス処理 Expired - Fee Related JP5242686B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US96603207P 2007-08-24 2007-08-24
US60/966,032 2007-08-24
US12/018,207 2008-01-23
US12/018,207 US20090055351A1 (en) 2007-08-24 2008-01-23 Direct mass storage device file indexing
PCT/US2008/073766 WO2009029460A2 (en) 2007-08-24 2008-08-20 Direct mass storage device file indexing

Publications (3)

Publication Number Publication Date
JP2010537322A true JP2010537322A (ja) 2010-12-02
JP2010537322A5 JP2010537322A5 (ja) 2011-09-22
JP5242686B2 JP5242686B2 (ja) 2013-07-24

Family

ID=40383092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010522003A Expired - Fee Related JP5242686B2 (ja) 2007-08-24 2008-08-20 直接大容量記憶装置ファイルインデックス処理

Country Status (8)

Country Link
US (1) US20090055351A1 (ja)
EP (1) EP2183744B1 (ja)
JP (1) JP5242686B2 (ja)
KR (1) KR20100051658A (ja)
CN (1) CN101779244B (ja)
CA (1) CA2693691C (ja)
TW (1) TWI450110B (ja)
WO (1) WO2009029460A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720922B2 (en) 2013-12-24 2017-08-01 Socionext Inc. Recording medium and method for file access

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US20100153474A1 (en) * 2008-12-16 2010-06-17 Sandisk Il Ltd. Discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US8205060B2 (en) * 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US8375192B2 (en) * 2008-12-16 2013-02-12 Sandisk Il Ltd. Discardable files
US20100235329A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US20110302224A1 (en) * 2010-06-08 2011-12-08 Rahav Yairi Data storage device with preloaded content
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
CN103336671B (zh) * 2013-06-17 2016-07-13 北京奇虎科技有限公司 从网络中获取数据的方法和设备
US10282075B2 (en) 2013-06-24 2019-05-07 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
US9881083B2 (en) 2014-08-14 2018-01-30 Yandex Europe Ag Method of and a system for indexing audio tracks using chromaprints
WO2016024172A1 (en) 2014-08-14 2016-02-18 Yandex Europe Ag Method of and a system for matching audio tracks using chromaprints with a fast candidate selection routine
US10534748B2 (en) 2015-11-13 2020-01-14 Microsoft Technology Licensing, Llc Content file suggestions
US10528547B2 (en) * 2015-11-13 2020-01-07 Microsoft Technology Licensing, Llc Transferring files
KR20180016442A (ko) * 2016-02-04 2018-02-14 주식회사 알티스트 연속적 쓰기 동작을 수행하기 위한 방법 및 시스템
US10446174B2 (en) * 2017-05-26 2019-10-15 Microsoft Technology Licensing, Llc File system for shingled magnetic recording (SMR)
CN107729566B (zh) * 2017-11-14 2021-02-23 郑州天迈科技股份有限公司 一种用于公交车载硬盘音视频数据存取的索引重建方法
CN109947719B (zh) * 2019-03-21 2022-10-11 昆山九华电子设备厂 一种提高集群在目录下读取目录项效率的方法
WO2022257685A1 (zh) * 2021-06-07 2022-12-15 华为技术有限公司 存储系统、网卡、处理器、数据访问方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527911A (ja) * 1991-07-22 1993-02-05 Matsushita Electric Ind Co Ltd デイスク装置のコマンド実行順序決定方法
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH07191899A (ja) * 1993-12-27 1995-07-28 Hitachi Ltd ファイル転送方法、データアクセス方法およびデータ書き込み方法
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
JP2001092701A (ja) * 1999-09-17 2001-04-06 Sanyo Electric Co Ltd ファイル復旧方法
US20050050108A1 (en) * 2003-08-21 2005-03-03 Texas Instruments Incorporated File system for digital processing systems with limited resources
JP2007141124A (ja) * 2005-11-22 2007-06-07 Sanyo Electric Co Ltd リスト作成装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567887B2 (en) * 2000-01-03 2003-05-20 Texas Instruments Incorporated Buffering of partition tables, file system directory structures and individual file cluster chains in a mass storage device
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US6831808B2 (en) * 2001-08-15 2004-12-14 Hitachi Global Storage Technologies Netherlands B.V. Method and apparatus for determining track identity from abbreviated track identifying data in a disk drive data storage device
US20030084261A1 (en) * 2001-10-29 2003-05-01 Byrd James M. Method for reordering commands to a storage device
US20050262033A1 (en) * 2002-03-29 2005-11-24 Kazuhiko Yamashita Data recording apparatus, data recording method, program for implementing the method, and program recording medium
US7568080B2 (en) * 2002-10-07 2009-07-28 Commvault Systems, Inc. Snapshot storage and management system with indexing and user interface
WO2004059651A2 (en) * 2002-12-27 2004-07-15 Solid State System Co., Ltd. Nonvolatile memory unit with specific cache
US7366833B2 (en) * 2002-12-31 2008-04-29 International Business Machines Corporation Method and system for enhanced scheduling of memory access requests
US20040199491A1 (en) * 2003-04-04 2004-10-07 Nikhil Bhatt Domain specific search engine
JP2004310621A (ja) * 2003-04-10 2004-11-04 Hitachi Ltd 記憶装置システムにおけるファイルアクセス方法及びファイルアクセスのためのプログラム
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
US20050177777A1 (en) * 2004-01-23 2005-08-11 Seaburg Gunnar P. Cluster-based disk backup and restoration
US7263579B2 (en) * 2004-03-24 2007-08-28 Intel Corporation Integrated circuit capable of pre-fetching data
US7574580B2 (en) * 2004-07-06 2009-08-11 Magnum Semiconductor, Inc. Intelligent caching scheme for streaming file systems
US7430641B2 (en) * 2004-08-09 2008-09-30 Xiv Ltd. System method and circuit for retrieving into cache data from one or more mass data storage devices
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7752206B2 (en) * 2006-01-02 2010-07-06 International Business Machines Corporation Method and data processing system for managing a mass storage system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527911A (ja) * 1991-07-22 1993-02-05 Matsushita Electric Ind Co Ltd デイスク装置のコマンド実行順序決定方法
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH07191899A (ja) * 1993-12-27 1995-07-28 Hitachi Ltd ファイル転送方法、データアクセス方法およびデータ書き込み方法
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
JP2001092701A (ja) * 1999-09-17 2001-04-06 Sanyo Electric Co Ltd ファイル復旧方法
US20050050108A1 (en) * 2003-08-21 2005-03-03 Texas Instruments Incorporated File system for digital processing systems with limited resources
JP2007141124A (ja) * 2005-11-22 2007-06-07 Sanyo Electric Co Ltd リスト作成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720922B2 (en) 2013-12-24 2017-08-01 Socionext Inc. Recording medium and method for file access

Also Published As

Publication number Publication date
CN101779244B (zh) 2012-08-15
TWI450110B (zh) 2014-08-21
TW200917071A (en) 2009-04-16
EP2183744A2 (en) 2010-05-12
CA2693691C (en) 2015-11-03
WO2009029460A2 (en) 2009-03-05
CA2693691A1 (en) 2009-03-05
KR20100051658A (ko) 2010-05-17
EP2183744A4 (en) 2010-08-25
EP2183744B1 (en) 2014-09-24
CN101779244A (zh) 2010-07-14
WO2009029460A3 (en) 2009-04-30
US20090055351A1 (en) 2009-02-26
JP5242686B2 (ja) 2013-07-24

Similar Documents

Publication Publication Date Title
JP5242686B2 (ja) 直接大容量記憶装置ファイルインデックス処理
US20050149682A1 (en) Virtual multiple removable media jukebox
CN1914601A (zh) 通过播放列表的音频/视频内容同步
US20050234999A1 (en) Method and apparatus for providing a playlist in a compact disc player
WO2012171434A1 (zh) 文件或文件夹查找方法和装置
JP2010537322A5 (ja)
JP2005158072A (ja) 記憶装置におけるデータオブジェクトの組織化方法および装置
KR20080036931A (ko) 정보 처리 장치, 정보 처리 방법, 프로그램, 프로그램 기록매체
KR101151684B1 (ko) 광 디스크 드라이브에서 데이터 변환 방법
JP4227931B2 (ja) 情報記憶装置、情報格納方法及び情報記憶処理プログラム
JP4502375B2 (ja) ファイルシステムおよびその制御方法
JP2003337740A (ja) メタデータプリソートファイルを作成する電子システムおよびメディアファイルの再生方法
JP2005108239A (ja) 階層的データ構造体にデータを記憶する記憶システム
JP2011155667A (ja) 複数のメディアデバイスへのアクセスを統合する層を有するマルチメディアシステムのフレームワーク
JP5395508B2 (ja) コンテンツ再生装置、及び制御プログラム
US20070091736A1 (en) System and method for storing and managing digital content
JP4371101B2 (ja) 再生機器
CN2679758Y (zh) 具有乐曲检索功能的音乐播放器
JP5164534B2 (ja) コンテンツデータ再生装置
JP2008097257A (ja) アダプター
JP2005010883A (ja) Dvdシステム
JP2009157568A (ja) 情報処理装置
JP2008123536A (ja) 再生装置及び再生方法
JP2005135525A (ja) 記録再生装置、記録再生方法、及び記録再生プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130403

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees