JP2008052730A - 可変の論理ストレージブロックサイズを有するファイルシステム - Google Patents

可変の論理ストレージブロックサイズを有するファイルシステム Download PDF

Info

Publication number
JP2008052730A
JP2008052730A JP2007211981A JP2007211981A JP2008052730A JP 2008052730 A JP2008052730 A JP 2008052730A JP 2007211981 A JP2007211981 A JP 2007211981A JP 2007211981 A JP2007211981 A JP 2007211981A JP 2008052730 A JP2008052730 A JP 2008052730A
Authority
JP
Japan
Prior art keywords
file
data
storage
area
system software
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.)
Pending
Application number
JP2007211981A
Other languages
English (en)
Inventor
Dan Dodge
ドッジ ダン
Der Veen Peter Van
バン デア フェーン ピーター
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.)
QNX Software Systems GmbH
Original Assignee
QNX Software Systems GmbH
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 QNX Software Systems GmbH filed Critical QNX Software Systems GmbH
Publication of JP2008052730A publication Critical patent/JP2008052730A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/04Addressing variable-length words or parts of words
    • 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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データストレージスペースを様々なサイズの論理ストレージブロックに編成するファイルシステムを提供すること。
【解決手段】システムであって、プロセッサと、該プロセッサによってアクセス可能なデータストレージデバイスと、該データストレージデバイス上のファイルを編成するように該プロセッサによって実行可能なファイルシステムソフトウェアであって、該ファイルシステムソフトウェアは、ファイルタイプに依存する様々な論理ストレージブロックサイズを有するストレージエリアに該データストレージデバイス上のファイルを編成するように実行可能である、ファイルシステムソフトウェアとを備えている、システム。
【選択図】図1

Description

(1.技術分野)
本発明は、概して、コンピュータ、組み込みコントローラ、プロセッシングシステムなどにおける使用のためのファイルシステムに向けられる。より具体的には、本発明は、データストレージスペースを様々なサイズの論理ストレージブロックに編成するファイルシステムに向けられる。
(2.関連技術)
コンピュータ、組み込みコントローラおよび他のマイクロプロセッサベースのシステムは、典型的に、種々の異なるハードウェアコンポーネントから構成される。ハードウェアコンポーネントは、プロセッサ、I/Oデバイス、ヒューマンインタフェースデバイスなどを含み得る。さらに、このようなシステムは、システムで使用されるデータを維持するためにメモリストレージユニットを使用する。メモリストレージユニットは、種々の異なる形態(ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、ランダムアクセスメモリ、フラッシュメモリなどを含むがこれらに限定はされない)をとり得る。
このようなシステムで実行される高レベルアプリケーションプログラムは、しばしばこれらのハードウェアコンポーネント(メモリストレージユニットを含む)とシームレスに相互作用しなければならない。この目的を達成するために、多くのシステムは、アプリケーションプログラムとシステムハードウェアとの間のインタフェースとして作用するオペレーティングシステムを実行する。ファイルシステムソフトウェアは、オペレーティングシステムの一部として含まれ得るか、またはファイルシステムソフトウェアは、オペレーティングシステムと相互作用する付随的なソフトウェアコンポーネントとして提供され得る。いずれの例においても、ファイルシステムソフトウェアは、プロセッサおよび該プロセッサが実行する高レベルのアプリケーションプログラムによる迅速なアクセスのために、メモリストレージユニット内にデータを編成する。
ファイルシステムソフトウェアは、ファイルおよびディレクトリのコンテンツを、ストレージデバイス上の連続するデータの等サイズの論理ストレージブロックに編成するファイル/ディレクトリレイヤを使用し得る。各論理ストレージブロックは、データが実際に保持されるストレージデバイス上の1つ以上の対応する物理ブロックと関連がある。ファイル/ディレクトリレイヤは、要求に応答してアップデートされる必要がある全論理ストレージブロックの全てを識別すること、およびこのような論理ストレージブロックの各々のコンテンツ全体を書き換えることによって、ファイルシステムに対するアップデートを実行し得る。ファイル/ディレクトリレイヤは、読み取られるデータの領域の一部を保持する論理ストレージブロックの全てのコンテンツ全体を読み取ることにより、ファイルおよびディレクトリのコンテンツを読み取り得る。
ファイルシステムはまた、ファイルシステムコンテンツの仮想アドレスを、データストレージデバイス上のデータの物理ブロックにマップするストレージレイヤを含み得る。ストレージレイヤは、ファイル/ディレクトリレイヤからの論理ブロックの読み取り要求を、要求に関連する正しい物理ブロックを決定することおよびそのコンテンツをデータストレージデバイスから読み取ることによって実行し得る。同様に、ストレージレイヤは、既存の物理ブロックのコンテンツをアップデートすること、または使用されていない物理ブロックをデータストレージデバイスから論理ストレージブロックに割り当て、次いで、該物理ブロックのコンテンツをアップデートすることのいずれかによって書き込み要求を実行し得る。
既存のファイルシステムは、遭遇する様々なタイプのファイルデータに最適化されない。なぜならば、全ての論理ストレージブロックは同一のサイズを有し、全ての物理ブロックは同一のサイズを有するからである。これらの既存のファイルシステムにおいて、固定された論理ストレージブロックサイズが、全てのデータタイプに対して使用され、かつ長いアクセスストリームに関連するファイルタイプと短いアクセスストリームに関連するファイルタイプとの間の中間を表す。
従って、既存のファイルシステム編成に対する代替案が必要とされる。
(概要)
プロセッサと、該プロセッサによってアクセス可能であるデータストレージデバイスと、該プロセッサによって該データストレージデバイス上のファイルを編成するように実行可能であるファイルシステムソフトウェアとを含むシステムが述べられる。該ファイルシステムソフトウェアは、データストレージデバイス上のファイルを、ファイルタイプに依存する異なる論理ストレージブロックサイズを有するストレージエリアに編成するように実行可能である。1つのインプリメンテーションにおいて、該ファイルシステムソフトウェアは、該データストレージデバイスに関連するホールマップを生成するように実行可能である。該ホールマップは、該データストレージデバイスの複数のストレージエリアの各々に対する論理ストレージブロックサイズを示すデータを備えており、オプションとして、該複数のストレージエリアの各々に対する使用度を示すデータを備えている。該ファイルシステムは、ファイルのファイル名および/または組み込まれたファイル情報を用いて、ファイルタイプを識別し得る。
本発明の他のシステム、方法、特徴および利点は、当業者にとって以下の図面および詳細な記載を検討すると明らかであるか、または明らかになる。全てのこのような追加のシステム、方法、特徴および利点の全ては、本記載内に含まれ、本発明の範囲内であり、かつ添付する特許請求の範囲によって保護されることが意図される。
本発明は、さらに以下の手段を提供する。
(項目1)
システムであって、
プロセッサと、
該プロセッサによってアクセス可能なデータストレージデバイスと、
該データストレージデバイス上のファイルを編成するように該プロセッサによって実行可能なファイルシステムソフトウェアであって、該ファイルシステムソフトウェアは、ファイルタイプに依存する異なる論理ストレージブロックサイズを有するストレージエリアに該データストレージデバイス上のファイルを編成するように実行可能である、ファイルシステムソフトウェアと
を備えている、システム。
(項目2)
上記ファイルタイプは、ビデオデータファイル、オーディオデータファイルおよび実行ファイルを備えている、項目1に記載のシステム。
(項目3)
上記ファイルシステムソフトウェアは、オーディオファイルよりも大きい論理ストレージブロックで、ビデオデータファイルを編成するように実行可能である、項目2に記載のシステム。
(項目4)
上記ファイルシステムソフトウェアは、実行ファイルよりも長い論理ストレージブロックで、オーディオデータファイルを編成するように実行可能である、項目3に記載のシステム。
(項目5)
上記ファイルシステムソフトウェアは、上記データストレージデバイスに関連するホールマップを生成するように実行可能であり、該ホールマップは、該データストレージデバイスの複数のストレージエリアの各々に対する論理ストレージブロックサイズを示すデータを備えている、項目1に記載のシステム。
(項目6)
上記ファイルシステムソフトウェアは、上記データストレージデバイス上のボリュームの最も近くに開始部分を生成するように実行可能である、項目5に記載のシステム。
(項目7)
上記ファイルシステムソフトウェアは、上記ホールマップ内に上記ストレージデバイスのマップされたストレージエリアの使用度を示すデータを格納するように実行可能である、項目5に記載のシステム。
(項目8)
上記ファイルシステムソフトウェアは、ファイルの上記ファイルタイプを、該ファイルのファイル名を用いて識別するように実行可能である、項目1に記載のシステム。
(項目9)
上記ファイルシステムソフトウェアは、ファイルの上記ファイルタイプを、組み込まれたファイル情報を用いて識別するように実行可能である、項目1に記載のシステム。
(項目10)
上記ファイルシステムソフトウェアは、上記ファイルタイプに対応する論理ストレージブロックサイズのエリアが利用不可能である場合に、ファイルデータをより少ない論理ストレージブロックサイズのエリアに格納するように実行可能である、項目1に記載のシステム。
(項目11)
上記ファイルシステムソフトウェアは、上記ファイルタイプに対応する論理ストレージブロックサイズのエリアが利用不可能である場合に、ファイルデータをメモリストレージの下のグレードのエリアに格納するように実行可能である、項目1に記載のシステム。
(項目12)
システムであって、
プロセッサと、
該プロセッサによってアクセス可能なデータストレージデバイスと、
該データストレージ上にファイルを編成するように該プロセッサによって実行可能であるファイルシステムソフトウェアであって、該ファイルシステムソフトウェアは、第1の論理ストレージブロックサイズを有する第1のエリアタイプと、該第1の論理ストレージブロックサイズとは異なる第2の論理ストレージブロックサイズを有する第2のエリアタイプとを用いて該データストレージデバイス上にファイルを編成するように該プロセッサによって実行可能であり、該ファイルシステムソフトウェアは、該第1のエリアタイプのストレージエリア内に第1のファイルタイプのファイルデータを格納し、第2のファイルタイプのファイルデータを該第2のエリアタイプのストレージエリアに格納するようにさらに実行可能である、ファイルシステムソフトウェアと
を備えている、システム。
(項目13)
上記第1のファイルタイプは、ビデオデータファイルを備えており、上記第2のファイルタイプは、オーディオデータファイルを備えている、項目12に記載のシステム。
(項目14)
上記第1の論理ストレージブロックサイズは、上記第2の論理ストレージブロックサイズよりも大きい、項目13に記載のシステム。
(項目15)
上記ファイルシステムソフトウェアは、上記データストレージデバイスのストレージエリアに対応するホールマップを生成するように実行可能であり、該ホールマップは、あるエリアが上記第1または第2のエリアタイプのどちらであるかを示すデータを備えている、項目12に記載のシステム。
(項目16)
上記ファイルシステムソフトウェアの実行を介して生成される上記ホールマップは、データストレージデバイス上のボリュームの開始の最も近くに格納される、項目15に記載のシステム。
(項目17)
上記ホールマップは、該ホールマップにマップされた上記ストレージデバイスの上記ストレージエリアの使用度を示すデータを備えている、項目15に記載のシステム。
(項目18)
上記ファイルシステムソフトウェアは、上記ファイルのファイル名を用いてファイルの上記ファイルタイプを識別するように実行可能である、項目12に記載のシステム。
(項目19)
上記ファイルシステムソフトウェアは、組み込まれたファイル情報を用いて、ファイルの上記ファイルタイプを識別するように実行可能である、項目12に記載のシステム。
(項目20)
データストレージデバイスであって、
複数の等サイズのストレージエリアと、
該複数の等サイズのストレージエリアの各々と関連する論理ストレージブロックサイズを識別するデータを有するホールマップであって、該複数の等サイズのストレージエリアの少なくとも2つが、異なる論理ストレージブロックサイズを有する、ホールマップと
を備えている、データストレージデバイス。
(項目21)
上記複数の等サイズのストレージエリアの所与のストレージエリアに関連する上記論理ストレージブロックサイズは、該所与のストレージエリアに格納された該データのファイルタイプに依存する、項目20に記載のデータストレージデバイス。
(項目22)
データストレージデバイスであって、
該データストレージデバイス上のファイルを編成するように、プロセッサによって実行可能なファイルシステムソフトウェアと、
第1のファイルタイプのデータを格納し、かつ第1の論理ストレージブロックサイズを有する第1のストレージエリアと、
該第1の論理ストレージブロックサイズとは異なる第2の論理ストレージブロックサイズを有する第2のストレージエリアであって、第2のファイルタイプのデータは該第2のストレージエリアに格納される、第2のストレージエリアと
を備えている、データストレージデバイス。
(摘要)
プロセッサと、該プロセッサによってアクセス可能であるデータストレージデバイスと、該プロセッサによって該データストレージデバイス上のファイルを編成するように実行可能であるファイルシステムソフトウェアとを含むシステムが述べられる。該ファイルシステムソフトウェアは、データストレージデバイス上のファイルを、ファイルタイプに依存する異なる論理ストレージブロックサイズを有するストレージエリアに編成するように実行可能である。1つのインプリメンテーションにおいて、該ファイルシステムソフトウェアは、該データストレージデバイスに関連するホールマップを生成するように実行可能である。該ホールマップは、該データストレージデバイスの複数のストレージエリアの各々に対する論理ストレージブロックサイズを示すデータを備えており、オプションとして、該複数のストレージエリアの各々に対する使用度を示すデータを備えている。該ファイルシステムは、ファイルのファイル名および/または組み込まれたファイル情報を用いて、ファイルタイプを識別し得る。
本発明は、以下の図面および記載を参照してより良く理解され得る。図面のコンポーネントは、本発明の原理を図示する際に、必ずしも一定の比率で拡大縮小されておらず、代わりに強調されている。さらに、図面において、類似の参照番号は、異なる図全体を通して対応する部分を指定する。
(好ましい実施形態の詳細な記載)
図1は、例示的なプロセッシングシステム100において使用され得るコンポーネントを図示する。示されるように、例示的なシステム100は、プロセッサ105、読み取り専用メモリ110およびデータストレージ115を含む。プロセッシングシステム100はまた、ランダムアクセスメモリ120、I/Oインタフェース125およびユーザインタフェース130を含み得る。プロセッシングシステム100において使用される特定のコンポーネントは、プロセッシングシステム100によって実行されるべき特定の機能に適応され得る。従って、コンポーネントの有無は、プロセッシングシステム100に課される設計基準に特有であり得る。
データストレージ115は、プロセッサ105および様々なハードウェアコンポーネント(メモリ110および120、データストレージ115ならびにインタフェースデバイス125および130を含む)によって実行される高レベルのアプリケーションプログラム間の相互作用を制御するオペレーティングシステムコード135を含み得る。オペレーティングシステムコード135は、データストレージ115に格納されたファイルを編成するためのファイルシステムソフトウェアを含み得る。あるいは、ファイルシステムソフトウェアは、単にオペレーティングシステムコード135と相互作用するだけの分離したソフトウェアコンポーネントとして提供され得る。後者の場合に、ファイルシステムソフトウェアに対応するコードは、読み取り専用メモリ110、データストレージ115などに格納され得る。プロセッシングシステム100が他のコンピュータおよび/またはストレージデバイスとI/Oインタフェース125を介してネットワークされる場合には、ファイルシステムソフトウェアは、リモートで格納され得、必要に応じてプロセッシングシステム100にダウンロードされ得る。しかしながら、図1は、データストレージ115におけるファイルシステムソフトウェア140のストレージを図示する。
データストレージ115は、任意の数の異なる形態をとり得る。例えば、データストレージ115は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブなどの形態をとり得る。データストレージ115はまた、集積回路フォーマット(例えば、フラッシュメモリなど)においてインプリメントされる不揮発性メモリのような非回転媒体デバイスの形態であり得る。さらに、データストレージ115は、必ずしも単一メモリ構造に限定される必要はない。むしろ、データストレージ115は、多くの同一のタイプの分離したストレージデバイス(例えば、全てフラッシュメモリ)および/または異なるタイプの分離したストレージデバイス(例えば、1つ以上のフラッシュメモリユニットおよび1つ以上のハードディスクドライブ)を含み得る。
データストレージ115に格納されたファイルは、アプリケーションプログラムによって、またはオペレーティングシステムコード135によって使用される所定のフォーマットに従って解釈されるデータを含む。例えば、ファイル内に格納されるデータは、実行可能なプログラムのソフトウェアコード、データベース記録のASCIIテキスト、オーディオメディアファイル、ビデオメディアファイルなどを構成し得る。ファイルシステムソフトウェア140は、プロセッサ105により、格納されたデータのタイプに基づいて、データストレージ115上の物理データストレージを割り当てるように実行可能である。ファイルデータは、小さいファイルを効率的に格納する能力を犠牲にすることなしに、データを読み取ることおよび書き込むことの速度の最適化を助長する方法で、ファイルシステムソフトウェア140によってデータストレージ115上に編成される。
図2は、ファイルシステムソフトウェア140が、ファイルをデータストレージ115上に編成するために使用され得る一方法を図示する。図示を容易にする目的で、データストレージ115は、ハードディスクシステムとして記載される。しかしながら、ファイルシステムソフトウェア140の動作は、容易に他のタイプのデータストレージに拡張される。
ファイルシステムソフトウェア140が最初に実行されるとき、ファイルシステムソフトウェア140は、データストレージ115のストレージエリアのビットマップ表現として使用するために少なくとも1つのホールマップ205を割り当てる。ホールマップ205は、データストレージ115のディスクドライブボリュームの開始に作成され得、ゼロ(0)で開始され得る。ホールマップ205の各ホールは、単一のストレージエリアに対応する4ビットで構成され得る。図2に示されるように、ホール210は、ストレージエリア215に対応する。ホール220は、ストレージエリア225に対応する。ホール230は、ストレージエリア235に対応し、ホール240は、ストレージエリア245に対応する。ホールマップ205の他のホールは、データストレージ115の追加のストレージエリアに対応する。
ストレージエリア215、225、235および245は、データストレージ115上に同一の物理サイズを有し得る。例えば、データストレージ115の各ストレージエリアは、128メガバイトという全ストレージエリアを含む。しかしながら、ファイルシステムソフトウェア140は、ストレージエリアの各々のデータのタイプに依存する論理ストレージブロックサイズを用いて、ファイルをストレージエリア内に編成する。図3に示されるように、各ホールの2ビットは、対応するストレージエリアのエリアタイプを示す。この例において、(00)のビット設定は、対応するストレージエリアをクラスタエリアタイプとして識別する。(01)のビット設定は、対応するストレージエリアをバンドルエリアタイプとして識別する。(10)のビット設定は、対応するストレージエリアを、ワッド(wad)エリアタイプとして識別する。(11)のビット設定は、対応するストレージエリアを、スロング(throng)エリアタイプとして識別する。
図4は、ストレージエリアタイプの各々に対する例示的な論理ストレージブロックサイズを示す表である。このために、ファイルシステムソフトウェア140は、クラスタエリアタイプとして識別されたストレージエリアを、それぞれ4Kの論理メモリブロックに編成する。バンドルエリアタイプとして識別されたストレージエリアは、ファイルシステムソフトウェア140によって、それぞれ64Kの論理メモリブロックを用いて編成される。ワッドエリアタイプとして識別されたストレージエリアは、ファイルシステムソフトウェア140によって、それぞれ256Kの論理メモリブロックを用いて編成される。スロングエリアタイプとして識別されたストレージエリアは、ファイルシステム140によって、それぞれ1024Kの論理メモリブロックを用いて編成される。
ストレージエリアに割り当てられた論理ストレージブロックサイズは、ストレージエリアに格納されたファイルデータに対する、ファイルシステムによって使用されるインメモリキャッシュのサイズに対応する。例えば、クラスタエリアタイプを用いて指定されたストレージエリアに格納されたデータは、1つ以上の4Kメモリバッファを用いて、ファイルシステムソフトウェア140によって、メモリ内にキャッシュされる。バンドルエリアタイプを用いて指定されたストレージエリアに格納されたデータは、1つ以上の64Kメモリバッファを用いてファイルシステムソフトウェア140によって、メモリ内にキャッシュされる。この同一のデータキャッシング動作は、ワッドエリアタイプ(256Kキャッシュメモリバッファ)を用いて指定されたストレージエリアならびにスロングエリアタイプ(1024Kキャッシュメモリバッファ)を用いて指定されたストレージエリアに拡張する。
ホールマップ205の各ホールはまた、対応するストレージエリアのファイルデータによって使用されるスペースの量を示す情報を含み得る。この目的を達成するために、各ホールの残りの2ビットが使用情報をエンコードするために使用され得る。図5は、ストレージエリア使用をエンコードする一方法を示す表である。この例において、(00)のビット設定は、対応するストレージエリアがエンプティであることを示すために使用される。(10)のビット設定は、対応するストレージエリアが部分的にファイルデータで満たされていることを示すために使用される。(11)のビット設定は、対応するストレージエリアが完全にファイルデータで満たされており、これによりファイルシステムソフトウェア140が、さらなるデータを、対応するストレージエリア内に格納することを阻止することを示すために使用される。特定のストレージエリアが特定の値より大きいかまたは特定の値未満であることを示す他のビット設定も使用され得る。
特定のストレージエリアが、クラスタ、バンドル、ワッドまたはスロングとして指定されるかどうかは、ストレージエリア内に格納されたデータのファイルタイプに依存する。可変の論理ストレージブロックサイズは、異なるタイプのファイルの読み取りおよび書き込みのために、各ストレージエリアの最適化することを可能にする。なぜならば、アプリケーションは、異なる方法で異なるファイルタイプにアクセスする傾向があるからである。例えば、ビデオメディアファイルに関連するデータは、大きなセクションにおいて同時にアクセスされ得る。このような場合、ファイルシステムソフトウェア140は、大きな論理ストレージブロックサイズ(例えば、ワッドまたはスロング)を使用して、このようなビデオメディアデータを、例えば、ビデオプレイヤーアプリケーションによる、引き続いて起こるアクセスのために編成することがより効率的であり得る。同様に、このようなオーディオメディアセクションは、対応するビデオメディアセクションよりも小さくあり得るが、オーディオメディアファイルに関連するデータは、大きなセクションにおいて同時にアクセスされ得る。従って、ファイルシステムソフトウェア140が、オーディオメディアファイルを編成するために中間サイズの論理ストレージブロック構造(例えば、バンドルまたはワッド)を使用することが効率的であり得る。他のファイルタイプに関連するデータは、クラスタサイズの論理ストレージブロックを用いて、ファイルシステム140によって効率的に扱われ得る。さらに、クラスタサイズの論理ストレージブロックは、不確定のファイルタイプを編成するために使用され得る。
ファイルシステム140によって、ファイルタイプに対するデータを含むストレージエリアに割り当てられ得る様々なファイルタイプおよびエリアタイプの例が、図6の表に示される。このような表がファイルシステム140に統合され得、所与のファイルタイプに関連すべき各エリアタイプを指定する。該関連付けは、例えば、システム100に提供された初期設定パラメータに基づいてユーザ選択可能であり得る。このようにして、システム100は、ファイルシステムソフトウェア140が遭遇する可能性の最も高いファイルのタイプを扱うためにユーザによって最適化され得る。ファイルシステムソフトウェアは、これらのマッピングを、使用される第1のファイルタイプマッチに関連するエリアタイプを用いて示される順序で使用し得る。これらの関係はまた、ユーザ/開発者によって置き換えられ得る。
図7は、ファイルの成長または拡張の間に実行され得る多くの相互関係のある動作を示すフローチャートである。示されるように、ファイルの成長または拡張が、ブロック705において要求される。ファイルシステムソフトウェア140は、ブロック710においてファイルのコンテンツタイプを識別することを試みる。コンテンツタイプの識別は、多くの異なる方法で遂行され得る。例えば、ファイルシステム140は、ファイル拡張子を図6に示される様々なファイル拡張子と比較することにより、ファイルタイプを決定し得る。あるいは、またはさらに、ファイルシステムソフトウェア140は、ファイルタイプを識別するために、ファイル内に組み込まれたコンテンツに頼り得る。一旦ファイルタイプが知られると、ブロック715において検索がなされ、ファイルデータを格納するための適切なエリアタイプの任意のストレージエリアがあるかどうかを決定する。ブロック720において、ストレージの余裕を有する適切なタイプエリアがある場合には、ブロック725において、ファイルシステムソフトウェア140は、エリアをファイルに割り当て、必要な場合には、対応するストレージエリアに対してホールマップをアップデートする。ストレージエリアが、ファイルデータを格納するためのスペースを有するかどうかは、ホールマップ205内でストレージエリアに対応するエリア使用ビットを調査することによって決定され得る。エリア使用ビット設定が、該エリアがエンプティであることを示す場合には、ファイルシステムソフトウェア140はファイルデータを格納するために該ストレージエリアを使用し得る。ビット設定が、該エリアが部分的に満たされていることを示す場合には、ファイルシステム140は、例えば、スペース内の使用されるビットを数えることによって、ストレージエリア内の使用されていないスペースの正確な量を決定し得る。ストレージエリア内の使用されていないスペースの一部または全てが、ファイルのデータの一部または全てを格納するために使用され得る。一旦使用されていないスペースの量が知られると、該量は、例えば、RAM120の表内に、引き続く使用のために格納され得る。ストレージエリアに対する使用されていないスペースの量のさらなる変化は、この表に対するアップデートに反映され得る。一旦ファイルシステム140が、適切なエリアタイプで使用されていないスペースを有するストレージエリアを識別すると、ファイルデータは、ブロック730において示される動作において、ストレージエリア内に格納される。ブロック720において、実行される動作が、ファイルデータのための使用されていないストレージスペースを有する適切なエリアタイプのストレージエリアを見出すことに失敗する場合には、1つ以上の代替的なストレージプロセスがブロック735において実行され得る。
図8は、図7のブロック735において示される代替的なストレージプロセスの一部として実行され得る多くの相互関係のある動作を示すフローチャートである。ブロック805において、ファイルシステムソフトウェア140が、ホールマップ205をチェックし、エリアタイプ割り当てを有さない任意のエンプティのストレージエリアがあるかどうかを決定する。このような使用されていないストレージエリアが存在する場合には、ファイルシステム140が、例えば、対応するストレージエリアに対するホールマップ205をアップデートすることによって、ブロック810においてファイルタイプに対応するエリアタイプを使用されていないストレージエリアに割り当てる。ファイルに対するデータは、ブロック815において示される動作においてストレージエリア内に格納される。
ブロック805において使用されていないストレージエリアがない場合には、次いで、データストレージ115の全てのストレージエリアが、エリアタイプを割り当てられ、データを含み得る。ファイルシステムソフトウェア140は、多くの異なる方法でこの状況を扱い得る。図8に示される例示的な動作において、ファイルシステムソフトウェア140は、ブロック820において、システム、ファイルタイプおよび/または特定のファイルに割り当てられたエリアタイプ割り当て行動があるかどうかを決定するためのチェックをする。このような場合に、エリアタイプ割り当て行動は、システムレベルにおいて、ファイルタイプによって、および/または個別のファイルレベルにおいてインプリメントされ得る。この行動はシステム100の開発の間、および/またはシステム初期化の間にユーザ選択可能であり得る。
2つのエリアタイプ割り当て行動が、図8に図示される。それらは「より大きい論理ストレージブロック」行動および「より小さい論理ストレージブロック」行動とラベルされる。ブロック820における動作が、「より大きい論理ストレージブロック」行動が提示されるべきであることを示す場合には、ファイルシステムソフトウェア140は、ブロック825において、対応するより大きい論理ストレージブロックプロセッシングを実行するために進む。ブロック820における動作が、「より小さい論理ストレージブロック」行動が提示されるべきであることを示す場合には、ファイルシステムソフトウェア140は、ブロック835において、ホールマップ205を、次に小さい論理ストレージブロックサイズとファイルデータを格納するためのいくらかのスペースとを有するエリアタイプを有するストレージエリアについて検索する。例えば、格納されるべきファイルデータが本来ワッドエリアタイプと関連する場合には、ファイルシステムソフトウェア140は、ファイルデータを格納するために利用可能ないくらかの使用されていないスペースを有するバンドルエリアタイプを有する1つ以上のストレージエリアについて、ホールマップ205を検索する。次に小さい論理ストレージブロックサイズの1つ以上のストレージエリアが、ファイルデータを格納するために利用可能である場合には、ファイルシステムソフトウェア140は、ブロック855においてストレージエリアにファイルデータを格納し、ホールマップ205をそれに応じて(すなわち部分的に、完全になど)アップデートし得る。前述の動作の1つ以上が、このエリアタイプレベルに格納され得るファイルに対する全てのデータが格納されるまで、繰り返される。
ブロック835における動作が、ファイルデータをセーブするための適切なエリアを位置決めすることに失敗する場合、または一部のデータが先の動作において既に格納された後のストレージのためのデータの残りを有する場合には、ブロック840において、ブロック835において検索された最後のエリアタイプがファイルシステムで利用可能な最も小さい論理ストレージブロックサイズに対応するかどうかを決定するためのチェックがなされる。最後のエリアタイプが最も小さいエリアタイプに対応しない場合には、ファイルシステムソフトウェア140は、ファイルデータを格納するための次に小さい論理ストレージブロックサイズに関連するエリアタイプを有するストレージエリアを検索し続ける。前述の例を用いて、ファイルシステムソフトウェア140は、ホールマップ205を、ファイルデータを格納するために利用可能なスペースを有するクラスタエリアタイプを有する1つ以上のストレージエリアについて検索する。このようなエリアが見出される場合には、ブロック845における動作が実行される。ファイルシステムソフトウェア140が「より小さい論理ストレージブロック」行動を用いてファイルデータを格納するための適切なエリアを位置決めすることに失敗する場合には、ブロック850において、より大きい論理ストレージブロックサイズを有する任意のストレージエリアが、ファイルデータを格納するためのスペースを有するかどうかを決定するためのチェックがなされる。より大きいストレージブロック行動がインプリメントされている例において、検索されていない論理ストレージブロックサイズを有するストレージエリアのみが、ブロック850の動作の間に考えられる必要がある。ファイルシステム140が、ファイルデータを格納するためのより大きい論理メモリブロックサイズを有する適切なエリアを位置決めすることが不可能である場合には、ディスクフルエラーがブロック855において宣言され得る。他の場合には、ブロック850において識別されたストレージエリアは、ブロック860において、より低い値のエリアタイプ(例えば、クラスタまたはファイルタイプに対応するエリアタイプ)にダウングレードされ得る。データはブロック865においてストレージエリアに格納される。さらに、前述の動作の1つ以上が、所与のエリアタイプレベルに格納され得るファイルに対する全てのデータが格納されるまで繰り返される。
図9は、図8のブロック825において示されるより大きい論理ストレージブロック行動をインプリメントするために使用され得る多くの相互関係のある動作を示すフローチャートである。示されるように、ファイルシステムソフトウェア140は、ブロック905において、ホールマップ205を、次に大きい論理ストレージブロックサイズおよびファイルデータを格納するための使用されていないスペースを有するエリアタイプを有するストレージエリアについて検索する。例えば、格納されるべきファイルデータが本来バンドルエリアタイプと関連する場合には、ファイルシステムソフトウェア140は、ファイルデータを格納するために利用可能なスペースを有するワッドエリアタイプを有する1つ以上のストレージエリアについて、ホールマップ205を検索する。次に大きい論理ストレージブロックサイズの1つ以上のストレージエリアがファイルデータを格納するために利用可能である場合には、ファイルシステムソフトウェア140は、ブロック910においてファイルデータをストレージエリアに格納する。
ブロック905における動作が、ファイルデータをセーブするための適切なエリアを位置決めすることに失敗する場合には、ブロック915において、ブロック905において検索された最後のエリアタイプが、検索されるべき最大の論理ストレージブロックサイズエリアに対応するかどうかを決定するためのチェックがなされる。検索されるべき最大の論理ストレージブロックサイズエリアは、プログラムを介してユーザ選択可能であり得る。最後のエリアタイプが最大の論理ストレージブロックサイズに対応しない場合には、ファイルシステムソフトウェア140は、ブロック905において、次に大きい論理ストレージブロックサイズに関連するエリアタイプを有するストレージエリアについて検索し続ける。前述の例を用いて、ファイルシステムソフトウェア140は、ホールマップ205を、ファイルデータを格納するために利用可能なスペースを有するスロングエリアタイプを有する1つ以上のストレージエリアについて検索する。このようなエリアが見出される場合には、ブロック910において動作が実行される。許可された全てのより大きい論理メモリブロックサイズが検索された後に、ファイルシステムソフトウェア140が、ストレージファイルデータを格納するための適切なエリアを位置決めすることに失敗する場合には、ファイルシステムソフトウェア140は、ブロック920において、より小さい論理ストレージブロック行動の実行を開始し得る。このようなより小さい論理ストレージブロック行動は、図8に図示される。
図7、図8および図9に示される動作において、ファイルデータに対する特定のストレージエリアの選択は、多くの異なる方法で進み得る。例えば、最大量の使用されていないスペースを有するストレージエリアが、ファイルデータを格納するために選択され得る。あるいは、最小量の使用されていないスペースを有するストレージエリアが、ファイルデータを格納するために選択され得る。さらに、ファイルシステム140は、ファイルシステム140が、ファイルデータの格納のためのエリアタイプおよびスペース基準に一致すると識別する第1のストレージエリアを割り当て得る。
本発明の様々な実施形態が記載されたが、多くのさらなる実施形態およびインプリメンテーションが本発明の範囲内で実行可能であることが当業者に対して明らかである。従って、本発明は、添付される特許請求の範囲およびそれらの均等物を考慮することなしに限定されない。
図1は、可変の論理ストレージブロックストレージサイズを有するファイルシステムをインプリメントし得るプロセッシングシステムのブロック図である。 図2は、ファイルシステムが図1のデータストレージデバイス上のファイルを編成し得る1つの方法を示すホールマップおよび対応するストレージエリアのブロック図である。 図3は、対応するエリアタイプを識別するために図2のホールマップのホールにおいて使用され得る例示的なビット設定を示す表である。 図4は、図3において参照されるエリアタイプと論理ストレージブロックサイズとの間の例示的な相関を示す表である。 図5は、対応するストレージエリアの使用度を示すために図2のホールマップのホールにおいて使用され得る例示的なビット設定を示す表である。 図6は、図1のファイルシステムによって使用され得る、例示的なファイルタイプおよび対応するエリアタイプを示す表である。 図7は、ファイルシステム内でファイルを成長させるかまたは拡張する場合に使用され得る多くの相互関連のある動作を示すフローチャートである。 図8は、代替的な図7のストレージプロセス動作において使用され得る多くの相互関連のある動作を示すフローチャートである。 図9は、図8のブロック825において示されるより大きい論理ストレージブロックをインプリメントするために使用され得る多くの相互関連のある動作を示すフローチャートである。
符号の説明
100 システム
105 プロセッサ
110 読み取り専用メモリ
115 データストレージ
120 ランダムアクセスメモリ
125、130 インタフェースデバイス
135 オペレーティングシステム
140 ファイルシステム
205 ホールマップ
215、225、235、245 ストレージエリア

Claims (22)

  1. システムであって、
    プロセッサと、
    該プロセッサによってアクセス可能なデータストレージデバイスと、
    該データストレージデバイス上のファイルを編成するように該プロセッサによって実行可能なファイルシステムソフトウェアであって、該ファイルシステムソフトウェアは、ファイルタイプに依存する異なる論理ストレージブロックサイズを有するストレージエリアに該データストレージデバイス上のファイルを編成するように実行可能である、ファイルシステムソフトウェアと
    を備えている、システム。
  2. 前記ファイルタイプは、ビデオデータファイル、オーディオデータファイルおよび実行ファイルを備えている、請求項1に記載のシステム。
  3. 前記ファイルシステムソフトウェアは、オーディオファイルよりも大きい論理ストレージブロックで、ビデオデータファイルを編成するように実行可能である、請求項2に記載のシステム。
  4. 前記ファイルシステムソフトウェアは、実行ファイルよりも長い論理ストレージブロックで、オーディオデータファイルを編成するように実行可能である、請求項3に記載のシステム。
  5. 前記ファイルシステムソフトウェアは、前記データストレージデバイスに関連するホールマップを生成するように実行可能であり、該ホールマップは、該データストレージデバイスの複数のストレージエリアの各々に対する論理ストレージブロックサイズを示すデータを備えている、請求項1に記載のシステム。
  6. 前記ファイルシステムソフトウェアは、前記データストレージデバイス上のボリュームの最も近くに開始部分を生成するように実行可能である、請求項5に記載のシステム。
  7. 前記ファイルシステムソフトウェアは、前記ホールマップ内に前記ストレージデバイスのマップされたストレージエリアの使用度を示すデータを格納するように実行可能である、請求項5に記載のシステム。
  8. 前記ファイルシステムソフトウェアは、ファイルの前記ファイルタイプを、該ファイルのファイル名を用いて識別するように実行可能である、請求項1に記載のシステム。
  9. 前記ファイルシステムソフトウェアは、ファイルの前記ファイルタイプを、組み込まれたファイル情報を用いて識別するように実行可能である、請求項1に記載のシステム。
  10. 前記ファイルシステムソフトウェアは、前記ファイルタイプに対応する論理ストレージブロックサイズのエリアが利用不可能である場合に、ファイルデータをより少ない論理ストレージブロックサイズのエリアに格納するように実行可能である、請求項1に記載のシステム。
  11. 前記ファイルシステムソフトウェアは、前記ファイルタイプに対応する論理ストレージブロックサイズのエリアが利用不可能である場合に、ファイルデータをメモリストレージの下のグレードのエリアに格納するように実行可能である、請求項1に記載のシステム。
  12. システムであって、
    プロセッサと、
    該プロセッサによってアクセス可能なデータストレージデバイスと、
    該データストレージ上にファイルを編成するように該プロセッサによって実行可能であるファイルシステムソフトウェアであって、該ファイルシステムソフトウェアは、第1の論理ストレージブロックサイズを有する第1のエリアタイプと、該第1の論理ストレージブロックサイズとは異なる第2の論理ストレージブロックサイズを有する第2のエリアタイプとを用いて該データストレージデバイス上にファイルを編成するように該プロセッサによって実行可能であり、該ファイルシステムソフトウェアは、該第1のエリアタイプのストレージエリア内に第1のファイルタイプのファイルデータを格納し、第2のファイルタイプのファイルデータを該第2のエリアタイプのストレージエリアに格納するようにさらに実行可能である、ファイルシステムソフトウェアと
    を備えている、システム。
  13. 前記第1のファイルタイプは、ビデオデータファイルを備えており、前記第2のファイルタイプは、オーディオデータファイルを備えている、請求項12に記載のシステム。
  14. 前記第1の論理ストレージブロックサイズは、前記第2の論理ストレージブロックサイズよりも大きい、請求項13に記載のシステム。
  15. 前記ファイルシステムソフトウェアは、前記データストレージデバイスのストレージエリアに対応するホールマップを生成するように実行可能であり、該ホールマップは、あるエリアが前記第1または第2のエリアタイプのどちらであるかを示すデータを備えている、請求項12に記載のシステム。
  16. 前記ファイルシステムソフトウェアの実行を介して生成される前記ホールマップは、データストレージデバイス上のボリュームの開始の最も近くに格納される、請求項15に記載のシステム。
  17. 前記ホールマップは、該ホールマップにマップされた前記ストレージデバイスの前記ストレージエリアの使用度を示すデータを備えている、請求項15に記載のシステム。
  18. 前記ファイルシステムソフトウェアは、前記ファイルのファイル名を用いてファイルの前記ファイルタイプを識別するように実行可能である、請求項12に記載のシステム。
  19. 前記ファイルシステムソフトウェアは、組み込まれたファイル情報を用いて、ファイルの前記ファイルタイプを識別するように実行可能である、請求項12に記載のシステム。
  20. データストレージデバイスであって、
    複数の等サイズのストレージエリアと、
    該複数の等サイズのストレージエリアの各々と関連する論理ストレージブロックサイズを識別するデータを有するホールマップであって、該複数の等サイズのストレージエリアの少なくとも2つが、異なる論理ストレージブロックサイズを有する、ホールマップと
    を備えている、データストレージデバイス。
  21. 前記複数の等サイズのストレージエリアの所与のストレージエリアに関連する前記論理ストレージブロックサイズは、該所与のストレージエリアに格納された該データのファイルタイプに依存する、請求項20に記載のデータストレージデバイス。
  22. データストレージデバイスであって、
    該データストレージデバイス上のファイルを編成するように、プロセッサによって実行可能なファイルシステムソフトウェアと、
    第1のファイルタイプのデータを格納し、かつ第1の論理ストレージブロックサイズを有する第1のストレージエリアと、
    該第1の論理ストレージブロックサイズとは異なる第2の論理ストレージブロックサイズを有する第2のストレージエリアであって、第2のファイルタイプのデータは該第2のストレージエリアに格納される、第2のストレージエリアと
    を備えている、データストレージデバイス。
JP2007211981A 2006-08-25 2007-08-15 可変の論理ストレージブロックサイズを有するファイルシステム Pending JP2008052730A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/510,174 US7599972B2 (en) 2006-08-25 2006-08-25 File system having variable logical storage block size

Publications (1)

Publication Number Publication Date
JP2008052730A true JP2008052730A (ja) 2008-03-06

Family

ID=38778535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007211981A Pending JP2008052730A (ja) 2006-08-25 2007-08-15 可変の論理ストレージブロックサイズを有するファイルシステム

Country Status (6)

Country Link
US (1) US7599972B2 (ja)
EP (1) EP1895394B1 (ja)
JP (1) JP2008052730A (ja)
KR (1) KR20080018801A (ja)
CN (1) CN101131672A (ja)
CA (1) CA2596434C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504795A (ja) * 2009-01-30 2012-02-23 株式会社日立製作所 データ要素を圧縮して格納するストレージシステム及び記憶制御方法
EP2927798A1 (en) 2014-03-31 2015-10-07 Fujitsu Limited Information processing system, control method of information processing system, and control program of information processing system

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4306365B2 (ja) * 2003-08-07 2009-07-29 ソニー株式会社 サーバ及びコンテンツ受信装置
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US8959125B2 (en) 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US7809777B2 (en) * 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US7970803B2 (en) * 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US8566503B2 (en) 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US7908276B2 (en) * 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US20080059510A1 (en) * 2006-08-31 2008-03-06 Daniel Cardamore Multimedia system framework having layer consolidating access to multiple media devices
US20080147747A1 (en) * 2006-12-14 2008-06-19 Dan Cardamore Media system having synchronization with preemptive prioritization of synchronization order
JP2009009545A (ja) * 2007-01-31 2009-01-15 Hewlett-Packard Development Co Lp データ処理システム及び方法
WO2008112229A1 (en) * 2007-03-10 2008-09-18 Rod Brittner Error tolerant or streaming storage device
US20140108888A1 (en) 2008-03-11 2014-04-17 Rod Brittner Error tolerant or streaming storage device
JP2008250475A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd 情報処理装置、ネットワークシステム、およびプログラム
US8082385B2 (en) * 2008-05-02 2011-12-20 Sony Corporation Systematic memory shift for pre-segmented memory
US20090287748A1 (en) * 2008-05-19 2009-11-19 Ling Jun Wong Simplified data transfer using segmented memory
US20090292838A1 (en) * 2008-05-20 2009-11-26 Ling Jun Wong Simplified data transfer using intermediary
US9323681B2 (en) 2008-09-18 2016-04-26 Avere Systems, Inc. File storage system, cache appliance, and method
US8214404B2 (en) * 2008-07-11 2012-07-03 Avere Systems, Inc. Media aware distributed data layout
WO2010035124A1 (en) * 2008-09-29 2010-04-01 Sandisk Il Ltd. File system for storage device which uses different cluster sizes
CN103838525B (zh) * 2009-01-30 2017-08-08 株式会社日立制作所 存储系统
US8433697B2 (en) 2011-09-10 2013-04-30 Microsoft Corporation Flexible metadata composition
US9058338B2 (en) * 2011-10-26 2015-06-16 International Business Machines Corporation Storing a small file with a reduced storage and memory footprint
CN102508902A (zh) * 2011-11-08 2012-06-20 西安电子科技大学 云存储系统中可变分块大小的块数据分块方法
CN104516929B (zh) * 2013-09-27 2019-07-19 伊姆西公司 用于文件系统的方法和装置
US9405783B2 (en) * 2013-10-02 2016-08-02 Netapp, Inc. Extent hashing technique for distributed storage architecture
JP2015184856A (ja) * 2014-03-24 2015-10-22 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。
CN106030498B (zh) * 2014-03-27 2019-03-08 株式会社日立制作所 存储装置和数据处理方法以及存储系统
BR112016024412B1 (pt) 2014-04-22 2022-10-18 Huawei Technologies Co., Ltd Método de gerenciamento de arquivos e sistema de arquivos
KR20150137661A (ko) * 2014-05-30 2015-12-09 성균관대학교산학협력단 블랙박스 장치를 위한 불휘발성 메모리의 단편화 방지 방법 및 장치
KR102249826B1 (ko) * 2015-01-06 2021-05-11 삼성전자주식회사 데이터 관리 방법 및 이를 수행하는 전자 장치
US10976946B2 (en) 2015-11-27 2021-04-13 Hitachi, Ltd. Method and computer system for managing blocks
US11977456B2 (en) 2016-11-23 2024-05-07 2236008 Ontario Inc. File system framework
CN109669640B (zh) * 2018-12-24 2023-05-23 浙江大华技术股份有限公司 一种数据存储方法、装置、电子设备及介质
CN110147203B (zh) * 2019-05-16 2022-11-04 北京金山云网络技术有限公司 一种文件管理方法、装置、电子设备及存储介质
CN111159123B (zh) * 2019-12-30 2023-07-14 中国兵器装备集团自动化研究所 一种嵌入式可靠参数储存文件系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288605A (ja) * 1996-04-19 1997-11-04 Matsushita Electric Ind Co Ltd ファイルアドレス変換装置
JP2003150416A (ja) * 2001-11-09 2003-05-23 Sony Corp ファイル管理装置及びファイル管理方法
JP2004030232A (ja) * 2002-06-26 2004-01-29 Victor Co Of Japan Ltd ブリッジファイルシステム及び記録媒体

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2005A (en) * 1841-03-16 Improvement in the manner of constructing molds for casting butt-hinges
US2007A (en) * 1841-03-16 Improvement in the mode of harvesting grain
US2002A (en) * 1841-03-12 Tor and planter for plowing
JPS62186361A (ja) 1986-02-13 1987-08-14 Matsushita Electric Ind Co Ltd 情報検索装置
US4945475A (en) 1986-10-30 1990-07-31 Apple Computer, Inc. Hierarchical file system to provide cataloging and retrieval of data
US4926317A (en) 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
GB8829919D0 (en) * 1988-12-22 1989-02-15 Int Computer Limited File system
US5187786A (en) 1991-04-05 1993-02-16 Sun Microsystems, Inc. Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system
JPH06139124A (ja) 1992-10-28 1994-05-20 Nec Software Ltd インバーテッドファイル方式データベース内不整合削除方式
US5454103A (en) * 1993-02-01 1995-09-26 Lsc, Inc. Method and apparatus for file storage allocation for secondary storage using large and small file blocks
US5455944A (en) 1993-03-16 1995-10-03 International Business Machines Corporation Method for managing logging and locking of page free space information in a transaction processing system
US5530849A (en) 1993-08-16 1996-06-25 Cornell Research Foundation, Inc. Method of reading dynamic, hierarchical file system directories
JPH07175698A (ja) * 1993-12-17 1995-07-14 Fujitsu Ltd ファイルシステム
US5726989A (en) * 1995-11-06 1998-03-10 Stellar One Corporation Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream
US5774715A (en) * 1996-03-27 1998-06-30 Sun Microsystems, Inc. File system level compression using holes
GB9606927D0 (en) * 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US5974425A (en) 1996-12-17 1999-10-26 Oracle Corporation Method and apparatus for reapplying changes to a database
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6175900B1 (en) * 1998-02-09 2001-01-16 Microsoft Corporation Hierarchical bitmap-based memory manager
US6058400A (en) 1998-04-28 2000-05-02 Sun Microsystems, Inc. Highly available cluster coherent filesystem
US6845401B1 (en) 1998-12-30 2005-01-18 Schneider Automation Inc. Embedded file system for a programmable logic controller
US6754696B1 (en) 1999-03-25 2004-06-22 Micosoft Corporation Extended file system
US6606628B1 (en) 2000-02-14 2003-08-12 Cisco Technology, Inc. File system for nonvolatile memory
US6591376B1 (en) 2000-03-02 2003-07-08 Hewlett-Packard Development Company, L.P. Method and system for failsafe recovery and upgrade of an embedded operating system
US6856993B1 (en) 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6571259B1 (en) 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
US20020161846A1 (en) 2001-01-29 2002-10-31 Ulrich Thomas R. Data path controller architecture
US7047257B2 (en) 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
US6748491B2 (en) 2001-04-19 2004-06-08 International Business Machines Corporation Designing a cache using an LRU-LFU array
DE10297343T5 (de) * 2001-10-22 2005-01-27 University Of Southern California, Los Angeles Erweiterungsfähige Verfolgung durch Linien-Autokalibrierung
US7191185B2 (en) 2001-10-30 2007-03-13 Goldman Sachs & Co. Systems and methods for facilitating access to documents via an entitlement rule
US7139752B2 (en) 2003-05-30 2006-11-21 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, and providing multiple document views derived from different document tokenizations
US7181463B2 (en) 2003-10-24 2007-02-20 Microsoft Corporation System and method for managing data using static lists
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7809777B2 (en) 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US7707480B2 (en) 2005-07-01 2010-04-27 Qnx Software Systems Gmbh & Co. Kg System employing data verification operations of differing computational costs
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US20070005874A1 (en) 2005-07-01 2007-01-04 Dan Dodge File system storing transaction records in flash-like media
US8959125B2 (en) 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US7698495B2 (en) 2005-07-01 2010-04-13 QNZ Software Systems GmbH & Co. KG Computer system having logically ordered cache management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288605A (ja) * 1996-04-19 1997-11-04 Matsushita Electric Ind Co Ltd ファイルアドレス変換装置
JP2003150416A (ja) * 2001-11-09 2003-05-23 Sony Corp ファイル管理装置及びファイル管理方法
JP2004030232A (ja) * 2002-06-26 2004-01-29 Victor Co Of Japan Ltd ブリッジファイルシステム及び記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504795A (ja) * 2009-01-30 2012-02-23 株式会社日立製作所 データ要素を圧縮して格納するストレージシステム及び記憶制御方法
US8291189B2 (en) 2009-01-30 2012-10-16 Hitachi, Ltd. Storage system and storage control method that compress and store data elements
US8677096B2 (en) 2009-01-30 2014-03-18 Hitachi, Ltd. Storage system and storage control method that compress and store data elements
US9208067B2 (en) 2009-01-30 2015-12-08 Hitachi, Ltd. Storage system and storage control method that compress and store data elements
EP2927798A1 (en) 2014-03-31 2015-10-07 Fujitsu Limited Information processing system, control method of information processing system, and control program of information processing system
US9933944B2 (en) 2014-03-31 2018-04-03 Fujitsu Limited Information processing system and control method of information processing system

Also Published As

Publication number Publication date
EP1895394A3 (en) 2009-08-12
EP1895394A2 (en) 2008-03-05
CA2596434A1 (en) 2008-02-25
US20080052329A1 (en) 2008-02-28
KR20080018801A (ko) 2008-02-28
US7599972B2 (en) 2009-10-06
CA2596434C (en) 2012-07-24
EP1895394B1 (en) 2018-05-30
CN101131672A (zh) 2008-02-27

Similar Documents

Publication Publication Date Title
JP2008052730A (ja) 可変の論理ストレージブロックサイズを有するファイルシステム
CN110678836B (zh) 用于键值存储的持久性存储器
US7908276B2 (en) Filesystem having a filename cache
US10642729B2 (en) Data storage device and operating method thereof wherein update to physical-to-logical mapping of destination block is restarted when closing active block
US7594067B2 (en) Enhanced data access in a storage device
US7698495B2 (en) Computer system having logically ordered cache management
KR100390616B1 (ko) 고정적이고 확실한 저장 할당을 위한 시스템 및 방법
US9146877B2 (en) Storage system capable of managing a plurality of snapshot families and method of snapshot family based read
US6678785B2 (en) Flash management system using only sequential write
US8504792B2 (en) Methods and apparatuses to allocate file storage via tree representations of a bitmap
US9367451B2 (en) Storage device management device and method for managing storage device
KR100390734B1 (ko) 고정적이고 확실한 저장 할당을 위한 시스템 및 방법
US8095772B2 (en) Large memory pages for shared libraries
US20030005219A1 (en) Partitioning cache metadata state
US9928000B2 (en) Memory mapping for object-based storage devices
JP7057435B2 (ja) ハイブリッドメモリシステム
US20190391756A1 (en) Data storage device and cache-diversion method thereof
CN108228088B (zh) 用于管理存储系统的方法和设备
CN114281719A (zh) 用于通过地址映射来扩展命令编排的系统及方法
EP3256947B1 (en) Mapping apertures of different sizes
KR20080112069A (ko) 블록 단위 입출력 디바이스에서 피램을 이용한 데이터 기록시스템 및 방법
US7191297B2 (en) Method for volume manager to have configurable device type and subtype for application use
US20170322736A1 (en) Reorder active pages to improve swap performance
EP0359815A1 (en) CACHE STORAGE WITH AT LEAST TWO FILLING SIZES.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100624

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101119