(57)【要約】【課題】メタデータを不整合を生じさせることなく更新する技術を提供する。【解決手段】ブロック処理部１１２は、アプリケーションが生成したファイルを複数のデータブロックに分割して補助記憶装置２に記憶する。メタデータ処理部１１４は、複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第１メタデータを補助記憶装置２に記憶する。ファイルが更新された際に、ブロック処理部１１２は、更新があったデータブロックを別の記憶場所に記憶する。メタデータ処理部１１４は、更新があったデータブロックを含む複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第２メタデータを補助記憶装置２に記憶する。メタデータ切替部１１６は、ファイルアクセスに第２メタデータを使用することを設定する。【選択図】図３
2020197787.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
アプリケーションが生成したファイルを複数のデータブロックに分割して記憶装置に記憶するブロック処理部と、
複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第１メタデータを記憶装置に記憶するメタデータ処理部と、
ファイルアクセスに第１メタデータを使用することを設定するメタデータ切替部と、を備え、
ファイルが更新された際に、前記ブロック処理部は、更新があったデータブロックを別の記憶場所に記憶し、
前記メタデータ処理部は、更新があったデータブロックを含む複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第２メタデータを記憶装置に記憶し、
前記メタデータ切替部は、ファイルアクセスに第２メタデータを使用することを設定する、
ことを特徴とする情報処理装置。
【請求項２】
前記メタデータ処理部は、更新があったデータブロックと、既に記憶されており且つ更新がなかったデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第２メタデータを記憶装置に記憶する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メタデータ切替部が、ファイルアクセスに第２メタデータを使用することを設定した後、前記ブロック処理部は、更新前のデータブロックを記憶装置から削除し、前記メタデータ処理部は、第１メタデータを記憶装置から削除する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
アプリケーションがファイルの更新指示と、更新の反映を許可する許可指示をこの順に出力すると、許可指示の前の更新指示が実施されたことを条件として、メタデータ切替部が、メタデータの切り替え処理を実行する、
ことを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
アプリケーションが許可指示を出力するまで、前記ブロック処理部は、更新指示されたファイルをバッファメモリに記憶し、
アプリケーションが許可指示を出力すると、前記ブロック処理部は、バッファメモリに記憶したファイルの記憶装置への書込を開始する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
記憶装置は、ＳＳＤである、
ことを特徴とする請求項１から５のいずれかに記載の情報処理装置。
【請求項７】
ファイルは、ゲームのセーブデータである、
ことを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項８】
コンピュータに、
アプリケーションが生成したファイルを複数のデータブロックに分割して記憶装置に記憶する機能と、
複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第１メタデータを記憶装置に記憶する機能と、
ファイルが更新された際に、更新があったデータブロックを別の記憶場所に記憶する機能と、
更新があったデータブロックを含む複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第２メタデータを記憶装置に記憶する機能と、
ファイルアクセスに第２メタデータを使用することを設定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルを管理する技術に関する。
【背景技術】
【０００２】
ゲームなどのアプリケーションは、現在の状態を示す各種データを記憶装置に保存するセーブ機能をもつ。ファイルシステムは、セーブデータを記憶装置に記憶する際、同時にファイルの記憶場所や改竄チェック用のハッシュ値など様々なメタデータも記憶装置に記憶する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
メタデータの種類が多くなり、データサイズが大きくなると、メタデータの更新に、ある程度の時間が必要となる。メタデータの更新中に電源断などのトラブルが発生すると、メタデータ同士の関係が不整合となってセーブデータを消失する可能性がある。そこでファイルシステムにおいて、メタデータを不整合を生じさせることなく更新する技術の開発が望まれている。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明のある態様の情報処理装置は、アプリケーションが生成したファイルを複数のデータブロックに分割して記憶装置に記憶するブロック処理部と、複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第１メタデータを記憶装置に記憶するメタデータ処理部と、ファイルアクセスに第１メタデータを使用することを設定するメタデータ切替部とを備える。ファイルが更新された際に、ブロック処理部は、更新があったデータブロックを別の記憶場所に記憶し、メタデータ処理部は、更新があったデータブロックを含む複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第２メタデータを記憶装置に記憶し、メタデータ切替部は、ファイルアクセスに第２メタデータを使用することを設定する。
【０００５】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００６】
本発明の情報処理技術によると、メタデータを不整合を生じさせることなく更新することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施例にかかる情報処理システムを示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】メタデータ更新機能を実現するための機能ブロックを示す図である。
【図４】セーブデータ領域の記憶状態を模式的に示す図である。
【図５】メタデータを変更そた状態を示す図である。
【図６】更新前のデータブロックおよびメタデータを削除した状態を示す図である。
【発明を実施するための形態】
【０００８】
図１は、本発明の実施例にかかる情報処理システム１を示す。
情報処理装置１０は、ユーザが操作する入力装置６と無線または有線で接続し、入力装置６はユーザの操作結果を示す操作情報を情報処理装置１０に出力する。情報処理装置１０は入力装置６から操作情報を受け付けるとＯＳ（システムソフトウェア）やアプリケーションの処理に反映し、出力装置４から処理結果を出力させる。情報処理システム１において情報処理装置１０はゲームプログラムを実行するゲーム装置であり、入力装置６はゲームコントローラなど情報処理装置１０に対してユーザの操作情報を供給する機器であってよい。入力装置６は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。
【０００９】
補助記憶装置２はＳＳＤ（ソリッドステートドライブ）などの大容量記憶装置であり、内蔵型記憶装置であってよく、またＵＳＢ（Universal Serial Bus）などによって情報処理装置１０と接続する外部記憶装置であってもよい。出力装置４は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またヘッドマウントディスプレイであってもよい。
【００１０】
アクセスポイント（以下、「ＡＰ」とよぶ）８は、無線アクセスポイントおよびルータの機能を有し、情報処理装置１０は、無線または有線経由でＡＰ８に接続して、インターネットなどの外部ネットワーク上のサーバと通信可能に接続できる。
【００１１】
図２は、情報処理装置１０のハードウェア構成を示す。情報処理装置１０は、メイン電源ボタン２０、電源ＯＮ用ＬＥＤ２１、スタンバイ用ＬＥＤ２２、システムコントローラ２４、クロック２６、デバイスコントローラ３０、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０を有して構成される。
【００１２】
メインシステム６０は、メインＣＰＵ（Central Processing Unit）、主記憶装置であるメモリおよびメモリコントローラ、ＧＰＵ（Graphics Processing Unit）などを備える。ＧＰＵはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、１つのチップ上に形成されてよい。メインＣＰＵは補助記憶装置２に記録されたゲームプログラムを実行する機能をもつ。
【００１３】
サブシステム５０は、サブＣＰＵ、主記憶装置であるメモリおよびメモリコントローラなどを備え、ＧＰＵを備えず、ゲームプログラムを実行する機能をもたない。サブＣＰＵの回路ゲート数は、メインＣＰＵの回路ゲート数よりも少なく、サブＣＰＵの動作消費電力は、メインＣＰＵの動作消費電力よりも少ない。サブＣＰＵは、メインＣＰＵがスタンバイ状態にある間においても動作し、消費電力を低く抑えるべく、その処理機能を制限されている。
【００１４】
メイン電源ボタン２０は、ユーザからの操作入力が行われる入力部であって、情報処理装置１０の筐体の前面に設けられ、情報処理装置１０のメインシステム６０への電源供給をオンまたはオフするために操作される。電源ＯＮ用ＬＥＤ２１は、メイン電源ボタン２０がオンされたときに点灯し、スタンバイ用ＬＥＤ２２は、メイン電源ボタン２０がオフされたときに点灯する。
【００１５】
システムコントローラ２４は、ユーザによるメイン電源ボタン２０の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オフ指示」として取得する。
【００１６】
クロック２６はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ２４やサブシステム５０およびメインシステム６０に供給する。デバイスコントローラ３０は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するＬＳＩ（Large-Scale Integrated Circuit）として構成される。図示のように、デバイスコントローラ３０には、システムコントローラ２４、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０などのデバイスが接続される。デバイスコントローラ３０は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【００１７】
メディアドライブ３２は、ゲームなどのソフトウェア、およびライセンス情報を記録したＲＯＭ媒体４４を装着して駆動し、ＲＯＭ媒体４４からプログラムやデータなどを読み出すドライブ装置である。ＲＯＭ媒体４４は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【００１８】
ＵＳＢモジュール３４は、外部機器とＵＳＢケーブルで接続するモジュールである。ＵＳＢモジュール３４は補助記憶装置２とＵＳＢケーブルで接続してもよい。フラッシュメモリ３６は内部ストレージを構成する補助記憶装置である。無線通信モジュール３８は、Bluetooth（登録商標）プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置６と無線通信する。なお無線通信モジュール３８は、デジタル携帯電話方式に対応してもよい。有線通信モジュール４０は、外部機器と有線通信し、たとえばＡＰ８を介して外部のネットワークに接続する。
【００１９】
図３は、情報処理装置１０のメタデータ更新機能を実現するための機能ブロックを示す。処理部１００はメインシステム６０に構成され、実行部１０２およびファイルシステム１１０を備える。ファイルシステム１１０は、ブロック処理部１１２、メタデータ処理部１１４、メタデータ切替部１１６およびファイル読出部１１８を備える。
【００２０】
処理部１００の構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラム、ストレージなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２１】
実行部１０２はゲームプログラムを実行して、出力装置４からゲーム画像およびゲーム音声を出力する。ゲームプログラムの実行中、セーブデータの保存指示が、ゲームプログラムからファイルシステム１１０に供給されると、ファイルシステム１１０は、セーブデータを補助記憶装置２に保存する。
【００２２】
ブロック処理部１１２は、ゲームプログラムが生成したセーブデータファイルを複数のデータブロックに分割して補助記憶装置２に記憶する。実施例のゲームプログラムは、複数のセーブデータファイルＡ〜Ｚを生成するが、以下、ファイルシステム１１０が、ゲームプログラムから供給されるファイルＡを記憶し、更新する処理について説明する。
【００２３】
ブロック処理部１１２は、ファイルＡを複数のデータブロックＡ１、Ａ２、Ａ３、Ａ４に分割して、補助記憶装置２に記憶する。補助記憶装置２には、予め、セーブデータを格納するためのセーブデータ領域が確保されており、ブロック処理部１１２は、空いている記憶場所を各データブロックに割り当て、各データブロックを記憶する。
【００２４】
メタデータ処理部１１４は、データブロックのハッシュ値を算出する機能を有し、各データブロックのハッシュ値を算出する。メタデータ処理部１１４は、複数のデータブロックのそれぞれの記憶場所を特定するための情報（ロケーション情報）およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。メタデータ処理部１１４は、各データブロックのロケーション情報およびハッシュ値をテーブル（ファイルＡ）の形式で管理してよい。ロケーション情報は、データブロックの記憶場所を特定できる情報であればよく、代表的にはＳＳＤにおけるページの相対位置を指定するページ番号であり、ページ番号を算出するためのデータサイズやブロックオフセットなどの情報であってもよい。
【００２５】
メタデータ処理部１１４は、ファイルＡ用のテーブルのロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロックの形式で管理されてよい。なお図３には、ファイルＡ用のテーブルおよびファイルＡのデータブロックＡ１〜Ａ４を示しているが、他のファイルＢ〜Ｚ用のテーブルおよびデータブロックも同様にセーブデータ領域に記憶されている。したがってスーパーブロックは、全てのファイルＡ〜Ｚにアクセスするための情報を含んで構成されている。
【００２６】
メタデータ処理部１１４は、スーパーブロックのロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロックにアクセスするための参照ポインタであり、ファイルシステム１１０が参照ポインタにアクセスすることで、スーパーブロックを介して、全てのファイルＡ〜Ｚにアクセスすることが可能となる。
【００２７】
メタデータ切替部１１６は、ファイルアクセスに使用するメタデータを設定する。メタデータ切替部１１６は、参照ポインタを選択することで、スーパーブロックおよびテーブル（ファイルＡ）を含むメタデータを、ファイルアクセスに使用するメタデータに設定する。この状態でファイルシステム１１０が、ゲームプログラムから、セーブデータの読出指示を受けると、ファイル読出部１１８が、メタデータ切替部１１６により選択されている参照ポインタを参照して、指示されたセーブデータを読み出す。
【００２８】
次に、ファイルＡがゲームプログラムによりファイルＡ’に更新されて、更新されたファイルＡ’をセーブデータ領域に記憶する処理について説明する。ブロック処理部１１２は、ファイルＡ’を複数のデータブロックＡ１、Ａ２’、Ａ３、Ａ４に分割する。この場合、更新されたファイルＡ’と更新前のファイルＡとを比較すると、データブロックＡ２がデータブロックＡ２’に変更されており、それ以外のデータブロックＡ１、Ａ３、Ａ４に更新はない。そこでブロック処理部１１２は、更新があったデータブロックＡ２’を、空いている別の記憶場所に記憶する。
【００２９】
図４は、ファイルＡがファイルＡ’に更新されたときのセーブデータ領域の記憶状態を模式的に示す。図３を参照して、図４における「スーパーブロック１」、「参照ポインタ１」は、図３に示す「スーパーブロック」、「参照ポインタ」を表現している。
【００３０】
まずブロック処理部１１２が、更新があったデータブロックＡ２’を、空いている記憶場所に記憶する。なおデータブロックＡ１、Ａ３、Ａ４については更新がなかったため、ブロック処理部１１２は、データブロックＡ１、Ａ３、Ａ４を空いている記憶場所に書き込まない。
【００３１】
メタデータ処理部１１４は、更新があったデータブロックＡ２’を含む複数のデータブロックのそれぞれの記憶場所を特定するための情報（ロケーション情報）およびハッシュ値を含むメタデータを記憶装置のセーブデータ領域に記憶する。図４において、メタデータ処理部１１４は、各データブロックのロケーション情報およびハッシュ値を、テーブル（ファイルＡ’）としてセーブデータ領域に記憶する。図示されるように、テーブル（ファイルＡ’）は、更新があったデータブロックＡ２’と、既にセーブデータ領域に記憶されており且つ更新がなかったデータブロックＡ１、Ａ３、Ａ４のそれぞれの記憶場所を特定するための情報およびハッシュ値を含むメタデータを含む。
【００３２】
メタデータ処理部１１４は、ファイルＡ’用のテーブルのロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロックの形式で管理されてよい。メタデータ処理部１１４は、ファイルＡ’、ファイルＢ〜Ｚ用のテーブルのロケーション情報およびハッシュ値を含むメタデータを、「スーパーブロック２」としてセーブデータ領域に記憶する。
【００３３】
メタデータ処理部１１４は、スーパーブロック２のロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロック２にアクセスするための参照ポインタ２であり、ファイルシステム１１０が参照ポインタ２にアクセスすることで、スーパーブロック２を介して、ファイルＡ’、Ｂ〜Ｚにアクセスすることが可能となる。
【００３４】
従来のファイル更新処理では、データブロックＡ２’を書き込む際に、同時にデータブロックＡ２を削除し、またファイルＡ’に関するメタデータを書き込む際に、同時にファイルＡに関するメタデータを削除するファイル管理が行われている。そのため複数種類のメタデータを書き込んでいる途中で電源断などによりシステムダウンすると、更新されたメタデータと更新されなかったメタデータが混在して、システム復帰後に、メタデータの整合性がとれなくなる事態が発生しうる。この場合ファイルシステムは、新たに書き込んだセーブデータにも、その前に書き込んでいたセーブデータにもアクセスできず、結果としてセーブデータを消失する。
【００３５】
実施例のファイルシステム１１０によれば、更新があったデータブロック、および対応するメタデータを書き込むときに、既に記憶されているデータブロックおよびメタデータを削除しない。そのため更新があったデータブロックおよびメタデータの書込中に、電源断などのトラブルが発生した場合であっても、少なくとも整合性のとれる記憶済みのデータブロックおよびメタデータがセーブデータ領域に残っているため、完全にセーブデータが消失する事態を回避できる。
【００３６】
メタデータ切替部１１６は、更新があったデータブロックおよび対応するメタデータの書込が終了すると、ファイルアクセスに使用するメタデータを、スーパーブロック２およびテーブル（ファイルＡ’）を含むメタデータに設定する。
【００３７】
図５は、ファイルアクセスに使用するメタデータが、スーパーブロック２およびテーブル（ファイルＡ’）を含むメタデータに変更された状態を示す。メタデータ切替部１１６は、参照ポインタ２を選択することで、スーパーブロック２およびテーブル（ファイルＡ’）を含むメタデータを、ファイルアクセスに使用するメタデータとして設定する。この状態でファイルシステム１１０が、ゲームプログラムから、セーブデータの読出指示を受けると、ファイル読出部１１８が、メタデータ切替部１１６により選択されている参照ポインタ２を参照して、指示されたセーブデータを読み出す。
【００３８】
メタデータ切替部１１６が、ファイルアクセスに、スーパーブロック２およびテーブル（ファイルＡ’）を含むメタデータを使用することを設定した後、ブロック処理部１１２は、更新前のデータブロックＡ２をセーブデータ領域から削除し、メタデータ処理部１１４は、更新前のメタデータをセーブデータ領域から削除する。
【００３９】
図６は、更新前のデータブロックおよびメタデータを削除した状態を示す。メタデータ切替部１１６が参照ポインタを切り換えた後に、更新前のデータブロックおよびメタデータを削除することで、予期せぬシステムダウン時にセーブデータが消失する可能性を低減できる。なお補助記憶装置２がＳＳＤである場合、データの消去は、複数のページが集まったブロックを単位として実施されるため、データブロックやテーブルなどは、ＳＳＤにおけるブロックを単位として設定されてよい。
【００４０】
以上、ファイルＡの更新処理について説明したが、セーブデータでは、複数のファイルが連携していることがある。たとえば、ファイルＢが、セーブ時のゲームステージを示すデータであり、ファイルＣが、セーブ時にプレイヤキャラクタが保有している武器の情報を示すデータであるとする。ステージごとに特別な武器を入手できるシナリオをもつゲームでは、セーブデータにおいて、ゲームステージの情報と、保有武器の情報とに矛盾が生じてはいけない。そこでセーブデータの更新処理において、ファイルＢとファイルＣは、同時に確実に更新されることが必要であり、ファイルＢは更新できたが、ファイルＣは更新できなかったという事態は回避しなければならない。
【００４１】
そこでメタデータ切替部１１６は、ゲームプログラムから更新の反映を許可する許可指示を受け取ることを契機として、メタデータの切り替え処理を実行することが好ましい。以下、ファイルＢ、Ｃが連携している場合について説明する。
【００４２】
ゲームプログラムは、ファイルＢ、Ｃの更新指示と、更新の反映を許可する許可指示とを、この順にファイルシステム１１０に供給する。ゲームプログラムからの指示は、ファイルシステム１１０において指示の順番にしたがって実施され、ファイルシステム１１０は、ファイルＢの更新指示にしたがってファイルＢを更新し、ファイルＣの更新指示にしたがってファイルＣを更新し、その後、許可指示にしたがってコミットして、更新されたファイルＢ、Ｃをアクセス可能な状態にする。
【００４３】
具体的に、ファイルシステム１１０はこの一連の指示を受けると、ブロック処理部１１２が、ファイルＢにおいて更新があったデータブロックを空いている記憶場所に記憶し、メタデータ処理部１１４が、更新されたファイルＢに対応するメタデータを空いている記憶場所に記憶する。続いてブロック処理部１１２は、ファイルＣにおいて更新があったデータブロックを空いている記憶場所に記憶し、メタデータ処理部１１４は、更新されたファイルＣに対応するメタデータを空いている記憶場所に記憶する。それからメタデータ切替部１１６が、新たな参照ポインタを選択することで、更新されたメタデータをファイルアクセスに使用することを設定する。
【００４４】
つまりメタデータ切替部１１６は、許可指示の供給前に供給されたファイルＢ、Ｃの更新指示が実施されたことを条件として、メタデータの切り替え処理を実行する。この処理は、ファイル更新にトランザクション管理の概念を導入したものであり、ファイルＢとＣとが矛盾なく更新されることを実現する。
【００４５】
なおゲームプログラムは、一連の指示をファイルシステム１１０に出力するが、ブロック処理部１１２は、ゲームプログラムが許可指示を出力するまで、更新指示されたファイルを補助記憶装置２に書き込むのではなく、バッファメモリ（図示せず）に記憶してもよい。ブロック処理部１１２は、アプリケーションが許可指示を出力すると、バッファメモリに記憶したファイルの補助記憶装置２への書込を開始する。補助記憶装置２がＳＳＤである場合、ＳＳＤはデータの並列書込を可能とするため、バッファメモリにキャッシュした複数のファイルを並列にＳＳＤに書き込むことで、書き込み時間を短縮できる。このとき、複数のファイルを１つずつＳＳＤに書き込む場合と比較すると、メタデータの書込回数を減らすことができるため、ＳＳＤの動作寿命にも好適である。なおキャッシュするデータサイズがバッファメモリのサイズを超える場合には、その前に、ブロック処理部１１２が、古いファイルからＳＳＤに書き込む必要がある。
【００４６】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。たとえばファイルシステム１１０は、許可指示を受けたときに、古いメタデータを削除せずに残しておくことで、複数世代のセーブデータを残しておくことができる。また実施例では、セーブデータファイルの例について説明したが、ファイルの種類はそれに限るものではない。
【符号の説明】
【００４７】
１・・・情報処理システム、２・・・補助記憶装置、１０・・・情報処理装置、１００・・・処理部、１０２・・・実行部、１１０・・・ファイルシステム、１１２・・・ブロック処理部、１１４・・・メタデータ処理部、１１６・・・メタデータ切替部、１１８・・・ファイル読出部。
【図１】
2020197787.tif 000003
【図２】
2020197787.tif 000004
【図３】
2020197787.tif 000005
【図４】
2020197787.tif 000006
【図５】
2020197787.tif 000007
【図６】
2020197787.tif 000008