[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7348752B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP7348752B2
JP7348752B2 JP2019102121A JP2019102121A JP7348752B2 JP 7348752 B2 JP7348752 B2 JP 7348752B2 JP 2019102121 A JP2019102121 A JP 2019102121A JP 2019102121 A JP2019102121 A JP 2019102121A JP 7348752 B2 JP7348752 B2 JP 7348752B2
Authority
JP
Japan
Prior art keywords
metadata
storage device
file
superblock
updated
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
JP2019102121A
Other languages
English (en)
Other versions
JP2020197787A (ja
JP2020197787A5 (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
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 filed Critical Sony Interactive Entertainment Inc
Priority to JP2019102121A priority Critical patent/JP7348752B2/ja
Priority to US17/609,812 priority patent/US12093225B2/en
Priority to PCT/JP2020/020468 priority patent/WO2020241545A1/ja
Publication of JP2020197787A publication Critical patent/JP2020197787A/ja
Publication of JP2020197787A5 publication Critical patent/JP2020197787A5/ja
Application granted granted Critical
Publication of JP7348752B2 publication Critical patent/JP7348752B2/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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • 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/178Techniques for file synchronisation in file systems
    • 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/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • 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
    • 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/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ファイルを管理する技術に関する。
ゲームなどのアプリケーションは、現在の状態を示す各種データを記憶装置に保存するセーブ機能をもつ。ファイルシステムは、セーブデータを記憶装置に記憶する際、同時にファイルの記憶場所や改竄チェック用のハッシュ値など様々なメタデータも記憶装置に記憶する。
メタデータの種類が多くなり、データサイズが大きくなると、メタデータの更新に、ある程度の時間が必要となる。メタデータの更新中に電源断などのトラブルが発生すると、メタデータ同士の関係が不整合となってセーブデータを消失する可能性がある。そこでファイルシステムにおいて、メタデータを不整合を生じさせることなく更新する技術の開発が望まれている。
上記課題を解決するために、本発明のある態様の情報処理装置は、アプリケーションが生成したファイルを複数のデータブロックに分割して記憶装置に記憶するブロック処理部と、複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第1メタデータを記憶装置に記憶するメタデータ処理部と、ファイルアクセスに第1メタデータを使用することを設定するメタデータ切替部とを備える。ファイルが更新された際に、ブロック処理部は、更新があったデータブロックを別の記憶場所に記憶し、メタデータ処理部は、更新があったデータブロックを含む複数のデータブロックのそれぞれの記憶場所を特定するための情報およびハッシュ値を含む第2メタデータを記憶装置に記憶し、メタデータ切替部は、ファイルアクセスに第2メタデータを使用することを設定する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明の情報処理技術によると、メタデータを不整合を生じさせることなく更新することが可能となる。
本発明の実施例にかかる情報処理システムを示す図である。 情報処理装置のハードウェア構成を示す図である。 メタデータ更新機能を実現するための機能ブロックを示す図である。 セーブデータ領域の記憶状態を模式的に示す図である。 メタデータを変更そた状態を示す図である。 更新前のデータブロックおよびメタデータを削除した状態を示す図である。
図1は、本発明の実施例にかかる情報処理システム1を示す。
情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザの操作結果を示す操作情報を情報処理装置10に出力する。情報処理装置10は入力装置6から操作情報を受け付けるとOS(システムソフトウェア)やアプリケーションの処理に反映し、出力装置4から処理結果を出力させる。情報処理システム1において情報処理装置10はゲームプログラムを実行するゲーム装置であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作情報を供給する機器であってよい。入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。
補助記憶装置2はSSD(ソリッドステートドライブ)などの大容量記憶装置であり、内蔵型記憶装置であってよく、またUSB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってもよい。出力装置4は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またヘッドマウントディスプレイであってもよい。
アクセスポイント(以下、「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は補助記憶装置2に記録されたゲームプログラムを実行する機能をもつ。
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えず、ゲームプログラムを実行する機能をもたない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。サブCPUは、メインCPUがスタンバイ状態にある間においても動作し、消費電力を低く抑えるべく、その処理機能を制限されている。
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。
クロック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は、デジタル携帯電話方式に対応してもよい。有線通信モジュール40は、外部機器と有線通信し、たとえばAP8を介して外部のネットワークに接続する。
図3は、情報処理装置10のメタデータ更新機能を実現するための機能ブロックを示す。処理部100はメインシステム60に構成され、実行部102およびファイルシステム110を備える。ファイルシステム110は、ブロック処理部112、メタデータ処理部114、メタデータ切替部116およびファイル読出部118を備える。
処理部100の構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラム、ストレージなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
実行部102はゲームプログラムを実行して、出力装置4からゲーム画像およびゲーム音声を出力する。ゲームプログラムの実行中、セーブデータの保存指示が、ゲームプログラムからファイルシステム110に供給されると、ファイルシステム110は、セーブデータを補助記憶装置2に保存する。
ブロック処理部112は、ゲームプログラムが生成したセーブデータファイルを複数のデータブロックに分割して補助記憶装置2に記憶する。実施例のゲームプログラムは、複数のセーブデータファイルA~Zを生成するが、以下、ファイルシステム110が、ゲームプログラムから供給されるファイルAを記憶し、更新する処理について説明する。
ブロック処理部112は、ファイルAを複数のデータブロックA1、A2、A3、A4に分割して、補助記憶装置2に記憶する。補助記憶装置2には、予め、セーブデータを格納するためのセーブデータ領域が確保されており、ブロック処理部112は、空いている記憶場所を各データブロックに割り当て、各データブロックを記憶する。
メタデータ処理部114は、データブロックのハッシュ値を算出する機能を有し、各データブロックのハッシュ値を算出する。メタデータ処理部114は、複数のデータブロックのそれぞれの記憶場所を特定するための情報(ロケーション情報)およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。メタデータ処理部114は、各データブロックのロケーション情報およびハッシュ値をテーブル(ファイルA)の形式で管理してよい。ロケーション情報は、データブロックの記憶場所を特定できる情報であればよく、代表的にはSSDにおけるページの相対位置を指定するページ番号であり、ページ番号を算出するためのデータサイズやブロックオフセットなどの情報であってもよい。
メタデータ処理部114は、ファイルA用のテーブルのロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロックの形式で管理されてよい。なお図3には、ファイルA用のテーブルおよびファイルAのデータブロックA1~A4を示しているが、他のファイルB~Z用のテーブルおよびデータブロックも同様にセーブデータ領域に記憶されている。したがってスーパーブロックは、全てのファイルA~Zにアクセスするための情報を含んで構成されている。
メタデータ処理部114は、スーパーブロックのロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロックにアクセスするための参照ポインタであり、ファイルシステム110が参照ポインタにアクセスすることで、スーパーブロックを介して、全てのファイルA~Zにアクセスすることが可能となる。
メタデータ切替部116は、ファイルアクセスに使用するメタデータを設定する。メタデータ切替部116は、参照ポインタを選択することで、スーパーブロックおよびテーブル(ファイルA)を含むメタデータを、ファイルアクセスに使用するメタデータに設定する。この状態でファイルシステム110が、ゲームプログラムから、セーブデータの読出指示を受けると、ファイル読出部118が、メタデータ切替部116により選択されている参照ポインタを参照して、指示されたセーブデータを読み出す。
次に、ファイルAがゲームプログラムによりファイルA’に更新されて、更新されたファイルA’をセーブデータ領域に記憶する処理について説明する。ブロック処理部112は、ファイルA’を複数のデータブロックA1、A2’、A3、A4に分割する。この場合、更新されたファイルA’と更新前のファイルAとを比較すると、データブロックA2がデータブロックA2’に変更されており、それ以外のデータブロックA1、A3、A4に更新はない。そこでブロック処理部112は、更新があったデータブロックA2’を、空いている別の記憶場所に記憶する。
図4は、ファイルAがファイルA’に更新されたときのセーブデータ領域の記憶状態を模式的に示す。図3を参照して、図4における「スーパーブロック1」、「参照ポインタ1」は、図3に示す「スーパーブロック」、「参照ポインタ」を表現している。
まずブロック処理部112が、更新があったデータブロックA2’を、空いている記憶場所に記憶する。なおデータブロックA1、A3、A4については更新がなかったため、ブロック処理部112は、データブロックA1、A3、A4を空いている記憶場所に書き込まない。
メタデータ処理部114は、更新があったデータブロックA2’を含む複数のデータブロックのそれぞれの記憶場所を特定するための情報(ロケーション情報)およびハッシュ値を含むメタデータを記憶装置のセーブデータ領域に記憶する。図4において、メタデータ処理部114は、各データブロックのロケーション情報およびハッシュ値を、テーブル(ファイルA’)としてセーブデータ領域に記憶する。図示されるように、テーブル(ファイルA’)は、更新があったデータブロックA2’と、既にセーブデータ領域に記憶されており且つ更新がなかったデータブロックA1、A3、A4のそれぞれの記憶場所を特定するための情報およびハッシュ値を含むメタデータを含む。
メタデータ処理部114は、ファイルA’用のテーブルのロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロックの形式で管理されてよい。メタデータ処理部114は、ファイルA’、ファイルB~Z用のテーブルのロケーション情報およびハッシュ値を含むメタデータを、「スーパーブロック2」としてセーブデータ領域に記憶する。
メタデータ処理部114は、スーパーブロック2のロケーション情報およびハッシュ値を含むメタデータをセーブデータ領域に記憶する。このメタデータは、スーパーブロック2にアクセスするための参照ポインタ2であり、ファイルシステム110が参照ポインタ2にアクセスすることで、スーパーブロック2を介して、ファイルA’、B~Zにアクセスすることが可能となる。
従来のファイル更新処理では、データブロックA2’を書き込む際に、同時にデータブロックA2を削除し、またファイルA’に関するメタデータを書き込む際に、同時にファイルAに関するメタデータを削除するファイル管理が行われている。そのため複数種類のメタデータを書き込んでいる途中で電源断などによりシステムダウンすると、更新されたメタデータと更新されなかったメタデータが混在して、システム復帰後に、メタデータの整合性がとれなくなる事態が発生しうる。この場合ファイルシステムは、新たに書き込んだセーブデータにも、その前に書き込んでいたセーブデータにもアクセスできず、結果としてセーブデータを消失する。
実施例のファイルシステム110によれば、更新があったデータブロック、および対応するメタデータを書き込むときに、既に記憶されているデータブロックおよびメタデータを削除しない。そのため更新があったデータブロックおよびメタデータの書込中に、電源断などのトラブルが発生した場合であっても、少なくとも整合性のとれる記憶済みのデータブロックおよびメタデータがセーブデータ領域に残っているため、完全にセーブデータが消失する事態を回避できる。
メタデータ切替部116は、更新があったデータブロックおよび対応するメタデータの書込が終了すると、ファイルアクセスに使用するメタデータを、スーパーブロック2およびテーブル(ファイルA’)を含むメタデータに設定する。
図5は、ファイルアクセスに使用するメタデータが、スーパーブロック2およびテーブル(ファイルA’)を含むメタデータに変更された状態を示す。メタデータ切替部116は、参照ポインタ2を選択することで、スーパーブロック2およびテーブル(ファイルA’)を含むメタデータを、ファイルアクセスに使用するメタデータとして設定する。この状態でファイルシステム110が、ゲームプログラムから、セーブデータの読出指示を受けると、ファイル読出部118が、メタデータ切替部116により選択されている参照ポインタ2を参照して、指示されたセーブデータを読み出す。
メタデータ切替部116が、ファイルアクセスに、スーパーブロック2およびテーブル(ファイルA’)を含むメタデータを使用することを設定した後、ブロック処理部112は、更新前のデータブロックA2をセーブデータ領域から削除し、メタデータ処理部114は、更新前のメタデータをセーブデータ領域から削除する。
図6は、更新前のデータブロックおよびメタデータを削除した状態を示す。メタデータ切替部116が参照ポインタを切り換えた後に、更新前のデータブロックおよびメタデータを削除することで、予期せぬシステムダウン時にセーブデータが消失する可能性を低減できる。なお補助記憶装置2がSSDである場合、データの消去は、複数のページが集まったブロックを単位として実施されるため、データブロックやテーブルなどは、SSDにおけるブロックを単位として設定されてよい。
以上、ファイルAの更新処理について説明したが、セーブデータでは、複数のファイルが連携していることがある。たとえば、ファイルBが、セーブ時のゲームステージを示すデータであり、ファイルCが、セーブ時にプレイヤキャラクタが保有している武器の情報を示すデータであるとする。ステージごとに特別な武器を入手できるシナリオをもつゲームでは、セーブデータにおいて、ゲームステージの情報と、保有武器の情報とに矛盾が生じてはいけない。そこでセーブデータの更新処理において、ファイルBとファイルCは、同時に確実に更新されることが必要であり、ファイルBは更新できたが、ファイルCは更新できなかったという事態は回避しなければならない。
そこでメタデータ切替部116は、ゲームプログラムから更新の反映を許可する許可指示を受け取ることを契機として、メタデータの切り替え処理を実行することが好ましい。以下、ファイルB、Cが連携している場合について説明する。
ゲームプログラムは、ファイルB、Cの更新指示と、更新の反映を許可する許可指示とを、この順にファイルシステム110に供給する。ゲームプログラムからの指示は、ファイルシステム110において指示の順番にしたがって実施され、ファイルシステム110は、ファイルBの更新指示にしたがってファイルBを更新し、ファイルCの更新指示にしたがってファイルCを更新し、その後、許可指示にしたがってコミットして、更新されたファイルB、Cをアクセス可能な状態にする。
具体的に、ファイルシステム110はこの一連の指示を受けると、ブロック処理部112が、ファイルBにおいて更新があったデータブロックを空いている記憶場所に記憶し、メタデータ処理部114が、更新されたファイルBに対応するメタデータを空いている記憶場所に記憶する。続いてブロック処理部112は、ファイルCにおいて更新があったデータブロックを空いている記憶場所に記憶し、メタデータ処理部114は、更新されたファイルCに対応するメタデータを空いている記憶場所に記憶する。それからメタデータ切替部116が、新たな参照ポインタを選択することで、更新されたメタデータをファイルアクセスに使用することを設定する。
つまりメタデータ切替部116は、許可指示の供給前に供給されたファイルB、Cの更新指示が実施されたことを条件として、メタデータの切り替え処理を実行する。この処理は、ファイル更新にトランザクション管理の概念を導入したものであり、ファイルBとCとが矛盾なく更新されることを実現する。
なおゲームプログラムは、一連の指示をファイルシステム110に出力するが、ブロック処理部112は、ゲームプログラムが許可指示を出力するまで、更新指示されたファイルを補助記憶装置2に書き込むのではなく、バッファメモリ(図示せず)に記憶してもよい。ブロック処理部112は、アプリケーションが許可指示を出力すると、バッファメモリに記憶したファイルの補助記憶装置2への書込を開始する。補助記憶装置2がSSDである場合、SSDはデータの並列書込を可能とするため、バッファメモリにキャッシュした複数のファイルを並列にSSDに書き込むことで、書き込み時間を短縮できる。このとき、複数のファイルを1つずつSSDに書き込む場合と比較すると、メタデータの書込回数を減らすことができるため、SSDの動作寿命にも好適である。なおキャッシュするデータサイズがバッファメモリのサイズを超える場合には、その前に、ブロック処理部112が、古いファイルからSSDに書き込む必要がある。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。たとえばファイルシステム110は、許可指示を受けたときに、古いメタデータを削除せずに残しておくことで、複数世代のセーブデータを残しておくことができる。また実施例では、セーブデータファイルの例について説明したが、ファイルの種類はそれに限るものではない。
1・・・情報処理システム、2・・・補助記憶装置、10・・・情報処理装置、100・・・処理部、102・・・実行部、110・・・ファイルシステム、112・・・ブロック処理部、114・・・メタデータ処理部、116・・・メタデータ切替部、118・・・ファイル読出部。

Claims (8)

  1. 情報処理装置であって、
    アプリケーションが生成したファイルを複数のデータブロックに分割して記憶装置に記憶するブロック処理部と、
    前記複数のデータブロックのそれぞれの前記記憶装置における記憶場所を特定するための情報および前記複数のデータブロックのそれぞれのハッシュ値を含む第1メタデータと、前記第1メタデータの前記記憶装置における記憶場所を特定するための情報を含む第1スーパーブロックと、前記第1スーパーブロックにアクセスするための第1参照ポインタとを前記記憶装置に記憶するメタデータ処理部と、
    前記第1参照ポインタを選択することで、ファイルアクセスに、前記第1スーパーブロックおよび前記第1メタデータを使用することを設定するメタデータ切替部と、を備え、
    ファイルが更新された際に、前記ブロック処理部は、更新があったデータブロックを前記記憶装置における別の記憶場所に記憶し、
    前記メタデータ処理部は、更新があったデータブロックを含む前記複数のデータブロックのそれぞれの前記記憶装置における記憶場所を特定するための情報および更新があったデータブロックを含む前記複数のデータブロックのそれぞれのハッシュ値を含む第2メタデータと、前記第2メタデータの前記記憶装置における記憶場所を特定するための情報を含む第2スーパーブロックと、前記第2スーパーブロックにアクセスするための第2参照ポインタとを、前記記憶装置における前記第1メタデータ、前記第1スーパーブロック、および前記第1参照ポインタの記憶場所とは別の記憶場所に記憶し、
    前記メタデータ切替部は、前記第2参照ポインタを選択することで、ファイルアクセスに、前記第2スーパーブロックおよび前記第2メタデータを使用することを設定する、
    ことを特徴とする情報処理装置。
  2. 前記メタデータ処理部は、更新があったデータブロックと、既に記憶されており且つ更新がなかったデータブロックのそれぞれの前記記憶装置における記憶場所を特定するための情報および更新があったデータブロックと、既に記憶されており且つ更新がなかったデータブロックのそれぞれのハッシュ値を含む前記第2メタデータを前記記憶装置に記憶する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記メタデータ切替部が、前記第2参照ポインタを選択して、ファイルアクセスに、前記第2スーパーブロックおよび前記第2メタデータを使用することを設定した後、前記ブロック処理部は、更新前のデータブロックを前記記憶装置から削除し、前記メタデータ処理部は、前記第1メタデータを前記記憶装置から削除する、
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記アプリケーションがファイルの更新指示と、更新の反映を許可する許可指示をこの順に出力すると、許可指示の前の更新指示が実施されたことを条件として、前記メタデータ切替部が、メタデータの切り替え処理を実行する、
    ことを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 前記アプリケーションが許可指示を出力するまで、前記ブロック処理部は、更新指示されたファイルをバッファメモリに記憶し、
    前記アプリケーションが許可指示を出力すると、前記ブロック処理部は、前記バッファメモリに記憶したファイルの前記記憶装置への書込を開始する、
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記記憶装置は、SSDである、
    ことを特徴とする請求項1から5のいずれかに記載の情報処理装置。
  7. 前記ファイルは、ゲームのセーブデータである、
    ことを特徴とする請求項1から6のいずれかに記載の情報処理装置。
  8. コンピュータに、
    アプリケーションが生成したファイルを複数のデータブロックに分割して記憶装置に記憶する機能と、
    前記複数のデータブロックのそれぞれの前記記憶装置における記憶場所を特定するための情報および前記複数のデータブロックのそれぞれのハッシュ値を含む第1メタデータと、前記第1メタデータの前記記憶装置における記憶場所を特定するための情報を含む第1スーパーブロックと、前記第1スーパーブロックにアクセスするための第1参照ポインタとを前記記憶装置に記憶する機能と、
    前記第1参照ポインタを選択することで、ファイルアクセスに、前記第1スーパーブロックおよび前記第1メタデータを使用することを設定する機能と、
    ファイルが更新された際に、更新があったデータブロックを前記記憶装置における別の記憶場所に記憶する機能と、
    更新があったデータブロックを含む前記複数のデータブロックのそれぞれの前記記憶装置における記憶場所を特定するための情報および更新があったデータブロックを含む前記複数のデータブロックのそれぞれのハッシュ値を含む第2メタデータと、前記第2メタデータの前記記憶装置における記憶場所を特定するための情報を含む第2スーパーブロックと、前記第2スーパーブロックにアクセスするための第2参照ポインタとを、前記記憶装置における前記第1メタデータ、前記第1スーパーブロック、および前記第1参照ポインタの記憶場所とは別の記憶場所に記憶する機能と、
    前記第2参照ポインタを選択することで、ファイルアクセスに、前記第2スーパーブロックおよび前記第2メタデータを使用することを設定する機能と、
    を実現させるためのプログラム。
JP2019102121A 2019-05-31 2019-05-31 情報処理装置 Active JP7348752B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019102121A JP7348752B2 (ja) 2019-05-31 2019-05-31 情報処理装置
US17/609,812 US12093225B2 (en) 2019-05-31 2020-05-25 Information processing device
PCT/JP2020/020468 WO2020241545A1 (ja) 2019-05-31 2020-05-25 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019102121A JP7348752B2 (ja) 2019-05-31 2019-05-31 情報処理装置

Publications (3)

Publication Number Publication Date
JP2020197787A JP2020197787A (ja) 2020-12-10
JP2020197787A5 JP2020197787A5 (ja) 2021-09-09
JP7348752B2 true JP7348752B2 (ja) 2023-09-21

Family

ID=73552155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019102121A Active JP7348752B2 (ja) 2019-05-31 2019-05-31 情報処理装置

Country Status (3)

Country Link
US (1) US12093225B2 (ja)
JP (1) JP7348752B2 (ja)
WO (1) WO2020241545A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7433843B2 (ja) * 2019-11-05 2024-02-20 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイル生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013222373A (ja) 2012-04-18 2013-10-28 Fujitsu Ltd ストレージシステム、キャッシュ制御プログラムおよびキャッシュ制御方法
US20150126284A1 (en) 2013-11-01 2015-05-07 Sony Computer Entertainment Inc. Information processing device, data structure of game data, and recording medium
US20150301823A1 (en) 2014-04-21 2015-10-22 Sony Computer Entertainment Inc. Information Processing Device, Difference Information Generating Device, Program, And Recording Medium.
JP2017027203A (ja) 2015-07-17 2017-02-02 株式会社リコー 記憶媒体制御装置、記憶媒体制御プログラム及び記憶媒体制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684226B1 (en) * 2000-03-24 2004-01-27 Frontline Software Aps Method for storing data in one or more files so that both previous and new versions of the data are separately accessible
US6857001B2 (en) * 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7457822B1 (en) * 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US7917474B2 (en) * 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US20100057755A1 (en) * 2008-08-29 2010-03-04 Red Hat Corporation File system with flexible inode structures
EP2275952A1 (en) * 2009-07-01 2011-01-19 Thomson Telecom Belgium Method for accessing files of a file system according to metadata and device implementing the method
US9805054B2 (en) * 2011-11-14 2017-10-31 Panzura, Inc. Managing a global namespace for a distributed filesystem
EP2878348B1 (en) * 2013-11-01 2020-04-29 Sony Interactive Entertainment Inc. Information processing device, data structure of game data, program, and recording medium
WO2016206070A1 (zh) * 2015-06-26 2016-12-29 华为技术有限公司 一种文件更新方法及存储设备
US10261944B1 (en) * 2016-03-29 2019-04-16 EMC IP Holding Company LLC Managing file deletions in storage systems
US10061520B1 (en) * 2016-06-22 2018-08-28 EMC IP Holding Company LLC Accelerated data access operations
US10552374B2 (en) * 2017-03-31 2020-02-04 VMwre, Inc. Minimizing file creation and access times using skip optimization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013222373A (ja) 2012-04-18 2013-10-28 Fujitsu Ltd ストレージシステム、キャッシュ制御プログラムおよびキャッシュ制御方法
US20150126284A1 (en) 2013-11-01 2015-05-07 Sony Computer Entertainment Inc. Information processing device, data structure of game data, and recording medium
JP2015088143A (ja) 2013-11-01 2015-05-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびゲームデータのデータ構造
US20150301823A1 (en) 2014-04-21 2015-10-22 Sony Computer Entertainment Inc. Information Processing Device, Difference Information Generating Device, Program, And Recording Medium.
JP2015207145A (ja) 2014-04-21 2015-11-19 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および差分情報生成装置
JP2017027203A (ja) 2015-07-17 2017-02-02 株式会社リコー 記憶媒体制御装置、記憶媒体制御プログラム及び記憶媒体制御方法

Also Published As

Publication number Publication date
WO2020241545A1 (ja) 2020-12-03
JP2020197787A (ja) 2020-12-10
US20220226735A1 (en) 2022-07-21
US12093225B2 (en) 2024-09-17

Similar Documents

Publication Publication Date Title
US9164700B2 (en) System for optimizing the transfer of stored content in response to a triggering event
US8977802B2 (en) Access device, information recording device, controller, real time information recording system, access method, and program
US10166467B2 (en) Information processing device, data structure of game data, and recording medium
US20150126288A1 (en) Information processing device, program, and recording medium
US10052555B2 (en) Information processing device, data structure of game data, and recording medium
JP5877186B2 (ja) 情報処理装置
JP7348752B2 (ja) 情報処理装置
JP2011053930A (ja) 情報処理装置,プログラム,およびメモリの電源制御方法
JP2015088144A (ja) 情報処理装置およびゲームデータのデータ構造
JP2005182615A (ja) エミュレーションシステムおよびエミュレーション方法
US11836367B2 (en) Information processing device and file access method
JP6767319B2 (ja) 情報処理装置およびファイルコピー方法
JP7433843B2 (ja) 情報処理装置およびファイル生成方法
CN102147712A (zh) 信息记录装置、成像装置、信息更新方法和程序
JP2004078604A (ja) 情報処理方法とその方法を実現するプログラム及び記録媒体
JPH11120044A (ja) データ処理装置、データ処理方法、データ処理システム及び記録媒体
JP7271410B2 (ja) 情報処理装置およびファイル記録方法
JP2014021540A (ja) ディジタルシグナルプロセッサシステム、ディジタルシグナルプロセッサシステム起動装置およびディジタルシグナルプロセッサのブート方法
JP2005222531A (ja) データ記録装置及びデータ記録方法
CN114791819A (zh) 一种嵌入式系统脱机使用时程序固件浏览更新方法及系统
JP2011118623A (ja) データ同期装置
JPH03116222A (ja) 仮想ディスク制御方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210726

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230908

R150 Certificate of patent or registration of utility model

Ref document number: 7348752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150