JP5877186B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP5877186B2
JP5877186B2 JP2013228810A JP2013228810A JP5877186B2 JP 5877186 B2 JP5877186 B2 JP 5877186B2 JP 2013228810 A JP2013228810 A JP 2013228810A JP 2013228810 A JP2013228810 A JP 2013228810A JP 5877186 B2 JP5877186 B2 JP 5877186B2
Authority
JP
Japan
Prior art keywords
block
metadata
data block
node
file
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.)
Active
Application number
JP2013228810A
Other languages
English (en)
Other versions
JP2015088145A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
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 Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2013228810A priority Critical patent/JP5877186B2/ja
Priority to EP14003112.1A priority patent/EP2878348B1/en
Priority to US14/510,438 priority patent/US10052555B2/en
Priority to US14/514,527 priority patent/US9805043B2/en
Publication of JP2015088145A publication Critical patent/JP2015088145A/ja
Application granted granted Critical
Publication of JP5877186B2 publication Critical patent/JP5877186B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/17Details of further file system functions
    • G06F16/1724Details of de-fragmentation performed by the file system

Description

本発明は、ファイルを管理する情報処理技術に関する。
ハードディスクなどの記録ディスクに対してファイルの書込と削除を繰り返し行うと、記録ディスク内でのファイルの配置が不連続になり、断片化した空き領域が生じる。断片化が進むと、連続した空き領域が少なくなり、1つのファイルを分割して2つ以上の空き領域に分けて保存する必要が生じる。このようなファイルの分割保存が増えると、オペレーティングシステム(OS)の処理負荷が増大し、またドライブヘッドの移動量が多くなるため、データの読出/書込速度が低下する。そこで、記録ディスク内のファイルを先頭から再配置して、空き領域の断片化を解消するコンパクションツールと呼ばれるソフトウェアが開発されている。
ファイルシステムにおいて、ファイルの記録場所の情報は管理されており、コンパクションツールの実行によりファイルの記録場所が変更されると、記録場所の管理情報は、新たな記録場所の情報に更新される必要がある。従来のコンパクションツールの実行には時間がかかることが指摘されており、効率的にコンパクションを実行できる技術の開発が望まれている。
上記課題を解決するために、本発明のある態様の情報処理装置は、複数のデータブロックで構成されるファイルのメタデータを保持するメタデータ保持部と、データブロックの記録場所を特定するための情報と、当該データブロックのメタデータを保持するメタデータ保持部を特定するための情報とを対応付けた対応ファイルを保持する対応ファイル保持部と、データブロックの記録場所を変更する変更処理部と、メタデータ保持部に保持されたメタデータを更新する更新処理部と、を備える。更新処理部は、対応ファイルを参照して、変更処理部により記録場所を変更されるデータブロックのメタデータを保持するメタデータ保持部を特定し、メタデータを更新する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明の情報処理技術によると、コンパクションなどの処理を効率的に行うことが可能となる。
本発明の実施例にかかる情報処理システムを示す図である。 情報処理装置の機能ブロックを示す図である。 ファイルのデータブロックのアドレッシングに使用されるデータ構造を説明するための図である。 補助記憶装置におけるセーブデータ領域の記録状況を模式的に示す図である。 コンパクション用の対応ファイルの一例を示す図である。 情報処理装置のブロック管理機能を実現するための構成を示す図である。
図1は、本発明の実施例にかかる情報処理システム1を示す。
情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザの操作結果を示す操作情報を情報処理装置10に出力する。情報処理装置10は入力装置6から操作情報を受け付けるとOS(システムソフトウェア)やアプリケーションソフトウェアの処理に反映し、出力装置4から処理結果を出力させる。情報処理システム1において情報処理装置10はゲームソフトウェアを実行するゲーム装置であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作情報を供給する機器であってよい。入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。
補助記憶装置2はHDD(ハードディスクドライブ)やフラッシュメモリなどの大容量記憶装置であり、USB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってよく、また内蔵型記憶装置であってもよい。出力装置4は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。出力装置4は、情報処理装置10に有線ケーブルで接続されてよく、無線接続されてもよい。
アクセスポイント(以下、「AP」とよぶ)8は、無線アクセスポイントおよびルータの機能を有し、情報処理装置10は、無線または有線経由でAP8に接続して、インターネットなどの外部ネットワーク上のサーバと通信可能に接続できる。
図2は、情報処理装置10の機能ブロック図を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUはOSを起動し、OSが提供する環境下において、補助記憶装置2やROM媒体44に記録されたゲームソフトウェアを実行する機能をもつ。
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。上記したように、サブCPUは、メインCPUがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。なおサブCPUおよびメモリは、別個のチップに形成されてもよい。
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。以下、メイン電源がオン状態にあるとは、メインシステム60がアクティブ状態にあることを意味し、メイン電源がオフ状態にあるとは、メインシステム60がスタンバイ状態にあることを意味する。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。
メインCPUは補助記憶装置2やROM媒体44に記録されているゲームプログラムを実行する機能をもつ一方で、サブCPUはそのような機能をもたない。しかしながらサブCPUは補助記憶装置2にアクセスする機能、ネットワーク上のサーバとの間で情報を送受信する機能を有している。サブCPUは、このような制限された処理機能のみを有して構成されており、したがってメインCPUと比較して小さい消費電力で動作できる。これらのサブCPUの機能は、メインCPUがスタンバイ状態にある際に実行される。
クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
メディアドライブ32は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。以下では、プログラムおよびデータを特に区別しない場合には、まとめてデータと呼ぶこともあるが、データは、ファイルを構成する要素を表現するものとしても使用する。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置6と無線通信する。なお無線通信モジュール38は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応してもよく、さらには別の世代のデジタル携帯電話方式に対応してもよい。有線通信モジュール40は、外部機器と有線通信し、たとえばAP8を介して外部ネットワークに接続する。
本実施例の情報処理装置10は、UNIX(登録商標)で利用されるファイル管理手法を利用して、ファイルを管理する。
ファイルは、1または複数のブロックを割り当てられて構成される。ブロックは、ファイルシステムがデータを転送する基本単位であり、1つのブロックは所定のデータサイズ(たとえば64kバイト)に設定される。たとえば、ゲームのセーブデータファイル(以下、単に「セーブデータ」とも呼ぶ)のサイズは、ゲームによって定められているが、ゲームがセーブデータサイズを320kバイトと定めていれば、セーブデータに5個のブロックが割り当てられることになり、1280kバイトと定めていれば、セーブデータに20個のブロックが割り当てられることになる。各ファイルには、ファイルを構成する1または複数のデータブロックの記録場所を格納するための索引表が設定される。
図3は、ファイルのデータブロックのアドレッシングに使用されるデータ構造を説明するための図である。最初の1段目の索引表はindex node(略して「iノード」)と呼ばれ、データブロックのアドレッシング用に合計15個のエントリを有する。全てのファイルはiノードとデータブロックから構成され、iノードは、ファイルシステムにおいてファイルを識別するためのiノード番号を付与されている。iノードは、属性情報として、iノード番号、ファイルの種類、ファイルのバイト長、アクセス権などを有している。
iノードのエントリには、データブロックに関するメタデータが記録され、代表的にはデータブロックの記録場所を特定するための情報がメタデータとして記録されている。この情報は、たとえば記録ディスクもしくはパーティションの先頭からの相対位置を指定するブロック番号であってよい。なお、データブロックの記録場所を特定するための情報は、ブロック番号に限らず、たとえばブロック番号を算出するためのブロックサイズやファイルオフセットなどの情報であってもよい。またデータブロックの記録場所を特定するための情報は、直接的に記録場所を特定する記録ディスクのセクタ番号であってもよい。
ファイル名と、そのファイルを管理するiノードのiノード番号(iノードへのポインタとしての意味をもつ)は、ディレクトリのデータブロックにおいて対応付けて保持されている。したがってゲームプログラムがファイルをファイル名で参照するとき、OSのカーネルは、ディレクトリエントリの情報を参照して、そのファイル名に対応するiノード番号を取得し、iノード番号で特定されるiノードに含まれるブロック番号を用いて、ファイルにアクセスする。
iノードの12個のエントリは、ファイル内の先頭から12個までのデータブロックのメタデータを記録するために使用される。したがってファイルが12個以内のデータブロックで構成されていれば、iノードは、ブロック数分のエントリを用いて各データブロックのメタデータを記録できる。
なお、ファイルが13個以上のブロックで構成されていると、複数段の索引表が必要となる。図3に示す例では、iノードの13番目のエントリには、2段目の索引表(インダイレクトブロック)のブロック番号がメタデータとして記録され、iノードの13番目のエントリが、インダイレクトブロックにリンクして、1段階目の間接参照に利用される。インダイレクトブロックは、256個のエントリを有している。インダイレクトブロックのエントリには、2段目のデータブロックの記録場所を特定するための情報、ここではブロック番号がメタデータとして記録されている。
iノードの14番目のエントリには、3段目の索引表(ダブルインダイレクトブロック)をリンクするための2段目の索引表(インダイレクトブロック)のブロック番号がメタデータとして記録されている。インダイレクトブロックのエントリには、ダブルインダイレクトブロックのブロック番号がメタデータとして記録されている。ダブルインダイレクトブロックは、256個のエントリを有しており、そのエントリには、3段目のデータブロックのブロック番号が記録されている。このようにiノードの14番目のエントリは、2段階目の間接参照に利用される。
iノードの15番目のエントリには、4段目の索引表(トリプルインダイレクトブロック)をリンクするための3段目の索引表(ダブルインダイレクトブロック)をリンクするための2段目の索引表(インダイレクトブロック)のブロック番号がメタデータとして記録されている。インダイレクトブロックのエントリには、ダブルインダイレクトブロックのブロック番号がメタデータとして記録されている。ダブルインダイレクトブロックのエントリには、トリプルインダイレクトブロックのブロック番号がメタデータとして記録されている。トリプルインダイレクトブロックは、256個のエントリを有しており、そのエントリには、4段目のデータブロックのブロック番号が記録されている。このようにiノードの15番目のエントリは、3段階目の間接参照に利用される。
以下、2段目以降の索引表を、まとめてindirect Block(インダイレクトブロック)と呼ぶこともある。
したがって、セーブデータに5個のブロックが割り当てられる場合、そのセーブデータファイルは、iノードにおける5個のエントリのそれぞれに各データブロックのメタデータを記録することで管理される。また、セーブデータに20個のブロックが割り当てられる場合、そのセーブデータファイルは、iノードにおける12個のエントリと、インダイレクトブロックにおける8個のエントリに各データブロックのメタデータを記録することで管理される。
上記したように、各iノードには、ファイルを一意に識別するためのiノード番号が付与されているが、各インダイレクトブロックにも、各インダイレクトブロックを一意に識別するためのインダイレクトブロック番号が付与されている。インダイレクトブロックは、付与されたインダイレクトブロック番号を、属性情報として有する。1つのファイルシステムにおいて、iノード番号は重複しないように設定され、またインダイレクトブロック番号も重複しないように設定される。したがって、OSはiノード番号を指定すれば、そのiノード番号のiノードを参照でき、またインダイレクトブロック番号を指定すれば、そのインダイレクトブロック番号のインダイレクトブロックを参照することができる。
図4は、補助記憶装置2におけるセーブデータ領域の記録状況を模式的に示す。図4(a)は、空き領域が断片化した状態を示し、図4(b)は、コンパクション処理により空き領域の断片化が解消された状態を示す。なお図4(a)および図4(b)の横長矩形領域はセーブデータの記録領域を模式的に表現し、横長矩形領域における枠はブロックを表現し、ハッチングが施された枠はデータが記録されている状態を、ハッチングが施されていない枠はデータが記録されていない状態を表現している。
コンパクションツールが、セーブデータ領域のコンパクション処理を実行すると、図4(b)に示すようにデータブロックの記録場所が変更される。既述したように、データブロックの記録場所は、iノードまたはインダイレクトブロックによって管理されており、そのためOSは、データブロックを移動する際には、当該データブロックのブロック番号を記録したiノードまたはインダイレクトブロックを探索して、ブロック番号を書き換える必要がある。しかしながら、1つのファイルシステムには複数のファイルが含まれており、特に、ゲームソフトウェアは、場合によっては数万個のファイルを有していることもあるため、移動したデータブロックのメタデータを記録するiノードまたはインダイレクトブロックの探索には時間がかかるという問題がある。
そこで本実施例では、読出/書込されるファイルに関して、コンパクション用の対応ファイルを用意し、データブロックを別の記録領域に移動する際には、OSがコンパクション用対応ファイルを参照して、メタデータを更新するべきiノードまたはインダイレクトブロックを速やかに特定できるようにする。
図5は、コンパクション用の対応ファイルの一例を示す。
対応ファイルでは、データブロックのブロック番号と、当該データブロックのメタデータが記録されたエントリを含むiノードのiノード番号またはインダイレクトブロックのインダイレクトブロック番号とが対応付けられる。対応ファイルの右項目の“iノード番号/インダイレクトブロック番号”には、iノード番号またはインダイレクトブロック番号が記述され、記述された番号がiノード番号であるか、またはインダイレクトブロック番号であるかを特定する情報も記述される。この特定情報は、フラグ値として記述されてよく、たとえばフラグ値1は、番号がiノード番号であることを示し、フラグ値0は、番号がインダイレクトブロック番号であることを示す。
対応ファイルにおいて、ブロック番号“219,653”に記録されているデータブロックのメタデータは、iノード番号“10311”を属性情報として保持するiノードに格納されている。また、ブロック番号“220,123”に記録されているデータブロックのメタデータは、インダイレクトブロック番号“42685”を属性情報として保持するインダイレクトブロックに格納されている。したがって、コンパクション処理において移動元と移動先のブロック番号が決定すれば、OSが、この対応ファイルを利用することで、メタデータを格納するiノードまたはインダイレクトブロックを特定して、移動元のブロック番号を移動先のブロック番号に更新するとともに、また対応ファイルの移動元のブロック番号を移動先のブロック番号に書き換えることができる。
図6は、情報処理装置10のブロック管理機能を実現するための構成を示す。情報処理装置10は、処理部100および補助記憶装置2を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラム、ストレージなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
メタデータ保持部110は、複数のデータブロックで構成されるファイルのメタデータを保持する。メタデータ保持部110は、iノードおよび/またはインダイレクトブロックであり、またはiノードおよび/またはインダイレクトブロックを格納する記録領域である。本実施例のファイルシステムは、iノードのリストをファイルシステムの管理情報として有しているが、メタデータ保持部110は、iノードリストまたはiノードリストを格納する記録領域であってよい。またメタデータ保持部110は、インダイレクトブロックリストまたはインダイレクトブロックリストを格納する記録領域を含んでもよい。
対応ファイル保持部112は、図5に示すコンパクション用の対応ファイルを保持する。既述したように対応ファイルは、データブロックの記録場所を特定するための情報と、当該データブロックのメタデータを保持するメタデータ保持部110を特定するための情報とを対応付けたものであり、具体的には、データブロックのブロック番号と、当該データブロックを管理するiノードのiノード番号またはインダイレクトブロックのインダイレクトブロック番号とを対応付けたものである。
なお対応ファイルは、ファイルシステムを構成する全てのデータブロックに対して用意される必要はない。たとえばゲームのファイルシステムで言えば、プログラムファイルなど、ゲームソフトウェアを構成するデータ群は、書き換え不能な読出専用のデータとして構成されている。そのため、これらのデータ群が連続するブロック番号に記録されるような場合には、コンパクション処理を行う必要性に乏しいため、これらのデータブロックは、対応ファイルに含めなくてもよい。なおゲームソフトウェアをネットワークからダウンロードする場合には、ファイルが分割保存されることも想定されるため、そのような場合には、ゲームソフトウェアを構成するデータブロックも、対応ファイルに含めるようにしてもよい。
データブロック記憶部114は、複数のデータブロックを記憶する。既述したように、データブロックのブロック番号は、iノードまたはインダイレクトブロックにおいて記述されている。
変更処理部102は、データブロックの記録場所を変更する。たとえば変更処理部102の機能は、記録領域に記録されたデータブロックを再配置するコンパクション処理を実行するコンパクションツールにより実現されてよい。なおこの機能は、デフラグメンテーションツールにより実現されてもよい。
更新処理部104は、メタデータ保持部110に保持されたメタデータを更新する機能を有する。この更新機能は、変更処理部102によりデータブロックの記録場所が変更されるときに実行される。具体的に更新処理部104は、対応ファイル保持部112に保持された対応ファイルを参照して、変更処理部102により記録場所を変更されるデータブロックのメタデータを保持するメタデータ保持部110を特定し、当該メタデータ保持部110におけるメタデータを更新する。更新するメタデータは、少なくともデータブロックの記録場所を特定するための情報を含み、具体的に変更処理部102は、データブロックの記録位置を示すブロック番号を、変更先のブロック番号に更新する。
たとえば変更処理部102が、コンパクション処理を実行して、ブロック番号“219,653”のデータブロックを、ブロック番号“210,000”に配置したとする。変更処理部102は、更新処理部104に、データブロックを、ブロック番号“219,653”からブロック番号“210,000”に移動したことを通知する。
更新処理部104は、この通知を受けると、対応ファイルを参照して、ブロック番号“219,653”の記録領域に格納されていたデータブロックを管理しているのがiノード番号“10311”をもつiノードであることを特定する。続いて更新処理部104は、iノード番号“10311”のiノードを参照して、ブロック番号“219,653”を記録するエントリを特定し、そのエントリのブロック番号を“210,000”に更新する。
このように更新処理部104は、対応ファイルを利用することで、全てのiノードを探索することなく、移動されたデータブロックを管理するiノードを高速に特定できるよう能となる。
メタデータの更新と同時に、更新処理部104は、対応ファイルにおけるデータブロックの記録場所を特定するための情報、すなわちブロック番号を更新する。これにより図5に示す上段のレコードは、ブロック番号が“219,653”から“210,000”に書き換えられる。
更新処理部104は、ファイルシステムにおいて新たなファイルが生成され補助記憶装置2に記録されると、データブロックのブロック番号と、当該データブロックを管理するiノードのiノード番号との関係を、新たなレコードとして対応ファイルに追加する。また更新処理部104は、ファイルが削除されると、該当するレコードを対応ファイルから削除する。これにより更新処理部104は、対応ファイルのブロック番号を最新の状態に維持することができ、コンパクション処理がいつ実行されても、iノードのメタデータ更新を短時間で済ますことができる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、ゲームのセーブデータ領域をコンパクション処理する場合について説明したが、セーブデータに限らず、読出/書込可能なデータの記録領域をコンパクション処理する場合に本発明は適用できる。また、ゲームのデータに限らず、他のアプリケーションのデータの記録場所を変更する場合にも本発明は適用できる。
1…情報処理システム、2…補助記憶装置、10…情報処理装置、100…処理部、102…変更処理部、104…更新処理部、110…メタデータ保持部、112…対応ファイル保持部、114…データブロック記憶部。

Claims (7)

  1. 複数のデータブロックで構成されるファイルのメタデータを保持するメタデータ保持部と、
    データブロックの記録場所を特定するための情報と、当該データブロックのメタデータを保持するメタデータ保持部を特定するための情報とを対応付けた対応ファイルを保持する対応ファイル保持部と、
    データブロックの記録場所を変更する変更処理部と、
    メタデータ保持部に保持されたメタデータを更新する更新処理部と、を備え、
    更新処理部は、対応ファイルを参照して、変更処理部により記録場所を変更されるデータブロックのメタデータを保持するメタデータ保持部を特定してメタデータを更新し、対応ファイルにおけるデータブロックの記録場所を特定するための情報を更新する、
    ことを特徴とする情報処理装置。
  2. メタデータは、データブロックの記録場所を特定するための情報を含むことを特徴とする請求項1に記載の情報処理装置。
  3. データブロックの記録場所を特定するための情報は、ブロック番号であることを特徴とする請求項1または2に記載の情報処理装置。
  4. メタデータ保持部は、iノードであることを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 変更処理部は、記録領域に記録されたデータブロックを再配置するコンパクション処理を実行することを特徴とする請求項1からのいずれかに記載の情報処理装置。
  6. コンピュータに、
    データブロックの記録場所が変更されたときに、データブロックのブロック番号と、データブロックを管理するiノードのiノード番号とを対応付けた対応ファイルを参照して、記録場所を変更されたデータブロックを管理するiノードを特定する機能と、
    特定したiノードに含まれる当該データブロックのブロック番号を更新する機能と、
    対応ファイルに含まれる当該データブロックのブロック番号を更新する機能と、
    を実現させるためのプログラム。
  7. 請求項6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2013228810A 2013-11-01 2013-11-01 情報処理装置 Active JP5877186B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013228810A JP5877186B2 (ja) 2013-11-01 2013-11-01 情報処理装置
EP14003112.1A EP2878348B1 (en) 2013-11-01 2014-09-09 Information processing device, data structure of game data, program, and recording medium
US14/510,438 US10052555B2 (en) 2013-11-01 2014-10-09 Information processing device, data structure of game data, and recording medium
US14/514,527 US9805043B2 (en) 2013-11-01 2014-10-15 Information processing device, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013228810A JP5877186B2 (ja) 2013-11-01 2013-11-01 情報処理装置

Publications (2)

Publication Number Publication Date
JP2015088145A JP2015088145A (ja) 2015-05-07
JP5877186B2 true JP5877186B2 (ja) 2016-03-02

Family

ID=53007860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013228810A Active JP5877186B2 (ja) 2013-11-01 2013-11-01 情報処理装置

Country Status (2)

Country Link
US (1) US9805043B2 (ja)
JP (1) JP5877186B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7316204B2 (ja) 2019-12-16 2023-07-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイルアクセス方法
JP7271410B2 (ja) * 2019-12-16 2023-05-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイル記録方法
US11593306B1 (en) 2021-10-29 2023-02-28 Snowflake Inc. File defragmentation service
US11537613B1 (en) * 2021-10-29 2022-12-27 Snowflake Inc. Merge small file consolidation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831793B2 (en) * 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage
KR101638061B1 (ko) * 2009-10-27 2016-07-08 삼성전자주식회사 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법
US8725934B2 (en) * 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US8904137B1 (en) * 2011-05-12 2014-12-02 Symantec Corporation Deduplication system space recycling through inode manipulation
US9182927B2 (en) * 2013-06-28 2015-11-10 Vmware, Inc. Techniques for implementing hybrid flash/HDD-based virtual disk files

Also Published As

Publication number Publication date
JP2015088145A (ja) 2015-05-07
US9805043B2 (en) 2017-10-31
US20150127692A1 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
US8977802B2 (en) Access device, information recording device, controller, real time information recording system, access method, and program
JP5976608B2 (ja) メモリデバイス
US10166467B2 (en) Information processing device, data structure of game data, and recording medium
US20150126288A1 (en) Information processing device, program, and recording medium
JP5877186B2 (ja) 情報処理装置
WO2015145636A1 (ja) ストレージシステム
JPWO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
US10052555B2 (en) Information processing device, data structure of game data, and recording medium
JP2016062319A (ja) データ読み出し装置、プログラムおよびデータ読み出し方法
JP2005202942A (ja) 情報記録媒体、データ処理装置及びデータ処理方法
WO2020241545A1 (ja) 情報処理装置
JP2006079463A (ja) 時系列データ記録用バッファ管理方法、装置、システムおよびプログラム
JP2015088144A (ja) 情報処理装置およびゲームデータのデータ構造
JP2008287675A (ja) ストレージインタフェース変換装置、情報処理システムおよびコンピュータプログラム
JP2006178633A (ja) 情報処理装置、情報処理方法、プログラム
KR102167167B1 (ko) Ssd 장치를 관리하는 방법 및 그 ssd 장치
JP2006155461A (ja) 情報処理装置、情報処理方法、並びにプログラム
WO2021090608A1 (ja) 情報処理装置およびファイル生成方法
JP2005222531A (ja) データ記録装置及びデータ記録方法
US20230008725A1 (en) Information processing apparatus and file recording method
JP6805501B2 (ja) ストレージ装置
JP2007058671A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP2008009754A (ja) 情報処理装置および方法、並びにプログラム
WO2015033767A1 (ja) ファイル管理装置、プログラム及びファイル管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160125

R150 Certificate of patent or registration of utility model

Ref document number: 5877186

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250