JPWO2015033767A1 - ファイル管理装置、プログラム及びファイル管理方法 - Google Patents

ファイル管理装置、プログラム及びファイル管理方法 Download PDF

Info

Publication number
JPWO2015033767A1
JPWO2015033767A1 JP2015535411A JP2015535411A JPWO2015033767A1 JP WO2015033767 A1 JPWO2015033767 A1 JP WO2015033767A1 JP 2015535411 A JP2015535411 A JP 2015535411A JP 2015535411 A JP2015535411 A JP 2015535411A JP WO2015033767 A1 JPWO2015033767 A1 JP WO2015033767A1
Authority
JP
Japan
Prior art keywords
data
processing
file
stored
address
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
JP2015535411A
Other languages
English (en)
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.)
FIXSTARS CORPORATION
Original Assignee
FIXSTARS CORPORATION
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 FIXSTARS CORPORATION filed Critical FIXSTARS CORPORATION
Publication of JPWO2015033767A1 publication Critical patent/JPWO2015033767A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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/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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

処理手段101は処理領域に記憶されたデータに処理を施す。処理領域は、処理手段101が処理に用いる記憶領域上の領域である。管理手段102は、記憶装置10にファイルとして記憶されるファイルデータを管理する。管理手段102は、記憶装置10の記憶領域においてファイルデータが記憶されているアドレスとそのファイルデータのファイル名とを対応付けて記憶させる。管理手段102は、処理手段101がファイルデータに処理を施す場合に、処理領域を表すアドレスとして、そのファイルデータのファイル名に対応付けて記憶しているアドレスを割り当てる。

Description

本発明は、ファイルを管理するための技術に関する。
ファイルを管理するための技術がある。例えば、コンピュータ上で実行されているプロセスによりデータが利用される場合には、補助記憶装置にファイルとして記憶されているデータが主記憶装置に読み込まれる。また、そうして主記憶装置に読み込まれて処理が施されたデータは、プロセスの終了時などの定められたタイミングで補助記憶装置にファイルとして書き出される。このような技術は、例えば非特許文献1に記載されている。
yamanjo、"基礎からわかる!パソコン入門・再入門"、[online]、[平成25年8月28日検索]、インターネット、<URL: http://yamanjo.net/knowledge/structure/structure_03.html>
上記のようにデータの読み込み及び書き出しが行われると、例えばプロセスによりデータが利用されている間は、補助記憶装置に記憶されたデータ及び主記憶装置に読み込まれたデータという同じデータが2つ同時に存在することになる。このことは、これらのデータ、言い換えると、ファイルとして記憶されているデータと処理を施すための処理用の領域(例えばプロセスのために確保される主記憶装置上の記憶領域)に記憶されるデータが記憶される記憶装置全体における記憶領域の空き容量を小さくする要因となる。
本発明は、上述の背景に鑑みてなされたものであり、ファイルとして記憶されるデータと処理を施すために処理用の領域に記憶されるデータとを記憶する記憶装置における記憶領域の空き容量を大きくすることを目的とする。
上述した課題を解決するために、本発明は、一態様として、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段を備えるファイル管理装置を提供する。
また、前記管理手段は、前記処理手段により前記処理領域において処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させてもよい。
また、本発明は、他の一態様として、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段を備えるファイル管理装置を提供する。
また、前記管理手段は、前記処理手段が処理を施す処理データの変更が許可されていない場合には、当該処理データの複製である複製データを生成し、前記処理領域を表すアドレスとして当該複製データ及び当該処理データのいずれかのアドレスを割り当ててもよい。
さらに、前記記憶装置は、不揮発性の記憶媒体を有していてもよい。
また、前記管理手段及び前記処理手段は、プロセッサにより実現される機能であり、当該プロセッサは、他のプロセッサを介さずに前記記憶装置に記憶されているデータにアクセスしてもよい。
また、本発明は、他の一態様として、コンピュータを、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段として機能させるためのプログラムを提供する。
また、本発明は、他の一態様として、コンピュータを、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段として機能させるためのプログラムを提供する。
また、本発明は、他の一態様として、記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理ステップを備えるファイル管理方法を提供する。
また、本発明は、他の一態様として、記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理ステップを備えるファイル管理方法を提供する。
本発明によれば、ファイルとして記憶されるデータと処理を施すために処理用の領域に記憶されるデータとを記憶する記憶装置における記憶領域の空き容量を大きくすることができる。
ファイル管理装置のハードウェア構成を示すブロック図 ファイル管理装置の機能構成を示すブロック図 記憶されたファイル管理テーブルの一例を示す図 処理領域テーブルの一例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図 管理手段により更新されるファイル管理テーブルの例を示す図 管理手段により更新されるファイル管理テーブルの例を示す図 ファイル管理処理における各部の動作の一例を示すシーケンス図 変形例のファイル管理テーブルの一例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図 管理手段が行うアドレスの割り当ての具体例を示す図
[実施形態の構成]
以下、図を参照しながら本発明の一実施形態にかかるファイル管理装置1を説明する。
図1はファイル管理装置1のハードウェア構成を示すブロック図である。ファイル管理装置1は、バス2と、プロセッサ3と、ROM(Read Only Memory)4と、入出力装置5と、記憶装置10とを備えるコンピュータである。バス2は、他の各部のデータの受け渡しを仲介する。
プロセッサ3は、例えばCPU(Central Processing Unit)であり、ROM4や記憶装置10に記憶されているプログラムを実行することによって、データを処理するとともにファイル管理装置1の各部を制御する。プロセッサ3により実行されるプログラムには、いわゆるOS(Operating System)のプログラムや各種のアプリケーションプログラムなどがある。ROM4は、生産時に特定のデータを記憶させた読み込み専用の記憶媒体である。
入出力装置5は、入力されたデータをプロセッサ3に渡したり、プロセッサ3から渡されたデータを出力したりする。入出力装置5は、例えば、キーボードやマウス、タッチスクリーンなどを有し、ユーザによる操作に応じてデータが入力される。また、入出力装置5は、例えば、表示手段や音声出力手段などを有し、データを画像や音声に変換して出力する。また、入出力装置5は、例えば、外部装置と通信を行うための回路等を有し、外部装置との間でデータの入出力を行う。
記憶装置10は、データを記憶する装置であり、プロセッサ3によりデータの読み込み及び書き出し(データの読み書き)の両方が行われる。記憶装置10は、本実施形態では、記憶したデータを電力が供給されなくなっても記憶し続けるいわゆる不揮発性(Non-Volatile)の記憶媒体を有する。不揮発性の記憶媒体とは、例えば、NAND型フラッシュメモリやNOR型フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、STT(Spin Torque Transfer)−RAMなどである。このような記憶媒体を有することにより、例えばファイル管理装置1の電源が切られて記憶装置10に電力が供給されなくなっても、記憶装置10に記憶されたデータが記憶され続けることになる。記憶装置10においては、書き出しはバイト(Byte)またはワード(プロセッサ3が一度に処理できるデータの単位)単位で行われ、データの削除はブロックと呼ばれる記憶領域を単位(大きさは4K(キロ)〜256Kバイト程度)として行われる。
また、記憶装置10は、バス2によりプロセッサ3と直接接続されているため、データの読み書き、すなわちデータのアクセスを制御するためのプロセッサを有していない。そのため、プロセッサ3は、他のプロセッサを介さずに記憶装置10に記憶されているデータに直接アクセスする。これにより、プロセッサ3が他のプロセッサを介して記憶装置にアクセスする場合に比べて、他のプロセッサが行う処理に要する時間が不要となり、データのアクセスに要する時間が短くなっている。
[実施形態の概要]
ファイル管理装置1においては、プロセッサ3が前述した各プログラムを実行して各部を制御することで、ファイルとして記憶されるデータを管理するファイル管理処理に関係する以下の機能が実現される。ここにおいて、ファイルとは、ファイル名を用いてアクセスすることが可能なデータをいう。
図2は、ファイル管理装置1の機能構成を示すブロック図である。ファイル管理装置1は、処理手段101と、管理手段102とを備える。
処理手段101は、データに処理を施す手段の一例である。処理手段が施す処理とは、例えば、データの参照、変更、統合及び分割等である。処理手段101は、前述のとおりプログラムが実行されることで実現される機能であり、例えばプロセスと呼ばれるプログラムの実行単位毎に実現される。処理手段101が実現されると、記憶装置10の記憶領域の一部が、データの処理に用いるための領域として割り当てられる。以下では、こうして割り当てられた領域、すなわち、処理手段101が処理に用いる記憶領域上の領域を「処理領域」という。処理領域は、例えば上述したブロックを単位として割り当てられる。
処理手段101は、処理領域にプログラムの命令コードや変数、処理の対象であるデータなどを記憶させ、記憶させたそれらのデータを用いてデータの処理を行う。例えば、文書作成用のアプリケーションプログラムが実行されることで実現された処理手段101であれば、ユーザの操作に応じて、新規の文書を示す文書データを処理領域に記憶させる処理を行い、記憶させた文書データが示す文書を変更する処理を行う。
こうして処理されたデータは、処理手段101を実現していたプログラムが終了したあとも利用される場合があり、そのようなデータは、管理手段102によりファイルとして記憶される。
管理手段102は、記憶装置10にファイルとして記憶されるデータ(以下「ファイルデータ」という)を管理する手段の一例である。管理手段102は、ファイルデータのファイル名とそのファイルデータが記憶されているアドレスとを対応付けて格納したファイル管理テーブルを記憶させる。ここでいうアドレスとは、記憶装置10の記憶領域上の各場所を識別する情報であり、本実施形態では、前述したブロックを識別するブロック識別子によって表される。管理手段102は、ファイル管理テーブルを例えば記憶装置10に記憶させ、内容に変化がある度にそれを更新する。
図3は、記憶されたファイル管理テーブルの一例を示す図である。この例では、「AAA.aaa」、「BBB.bbb」及び「CCC.ccc」というファイル名と「アドレス1」、「アドレス2」及び「アドレス3」とがそれぞれ対応付けられている。これらのアドレスは、実際には、1つ以上のブロック識別子により表される。このようにして、管理手段102は、記憶装置10の記憶領域においてファイルデータが記憶されているアドレスとそのファイルデータのファイル名とを対応付けて記憶させる。
管理手段102は、処理手段101がファイルデータに処理を施す場合に、記憶領域のうち処理手段101が処理に用いる領域(以下「処理領域」という)を表すアドレスとして、そのファイルデータのファイル名に対応付けて記憶しているアドレスを割り当てる。具体的には、まず、処理手段101が、ファイルデータに処理を施す場合、処理の対象であるそのファイルデータのファイル名を管理手段102に通知する。管理手段102は、処理手段101から通知されたファイル名のファイルデータに処理が施されると判断し、ファイル管理テーブルにおいてそのファイル名に対応付けられているアドレスを、処理領域を表すアドレスとして割り当てる。
処理領域は、例えば、プロセスを識別するプロセスIDとそのプロセスに割り当てた処理領域を表すアドレスとを対応付けた処理領域テーブルによって管理されている。
図4は、処理領域テーブルの一例を示す図である。この例では、「P001」、「P002」及び「P003」というプロセスIDに、「アドレス4」、「アドレス5」及び「アドレス6」というアドレスがそれぞれ対応付けられている。これらのアドレスも、図3の例と同様に、1つ以上のブロック識別子により表される。
処理領域テーブルは、管理手段102によって生成されてもよいし、他の手段(例えばOSの機能)によって生成されてもよい。管理手段102は、処理領域テーブルにおいて処理手段101のプロセスIDに対応付けられているアドレスに、上記ファイル名に対応付けられているアドレスを加えることで、上記の割り当てを行う。例えば、処理手段101のプロセスIDが「P002」であり、処理手段101が「AAA.aaa」というファイル名を通知してきた場合であれば、管理手段102は、処理領域テーブルにおいて「P002」に対応付けられている「アドレス5」が表すブロック識別子に、図3に示すファイル管理テーブルにおいて「AAA.aaa」というファイル名に対応付けられている「アドレス1」が表すブロック識別子を加えることで、上記の割り当てを行う。この割り当てのより具体的な例について、図5A〜図5D(以下、これらの図を「図5」と総称する)を参照して説明する。
図5は、管理手段102が行うアドレスの割り当ての具体例を示す図である。図5では、11−1、11−2、・・・、11−NというN個のブロック11を有する記憶装置10が示されている。図5Aでは、アドレス1(この例では11−a、11−bというブロック識別子)に記憶されているAAA.aaaというファイル名のデータがハッチングして示されている。図5Bでは、プログラムが実行されて処理手段101が実現されたときに割り当てられる処理領域A1が示されている。以下では、処理領域を分かりやすくするために太線で囲んで示すものとする。この例では、11−cから11−iまでの7つのブロック識別子により表される処理領域A1が示されている。処理領域A1には、処理手段101が実行する命令コードや変数が例えばROM4から読み出されて記憶される。
例えばユーザの操作によって「AAA.aaa」というファイル名のファイルデータに処理手段101が処理を施すことになると、管理手段102がアドレス1を処理領域として割り当てる。その結果、図5Cに示すように、11−cから11−iまでのブロック識別子で表される領域に加え、11−a及び11−bのブロック識別子で表される領域が処理領域A1に含まれるようになる。
こうして処理領域A1に記憶されることになったファイルデータに処理手段101が処理を施すと、その処理の結果が即時に反映される。例えば処理手段101がこのファイルデータに処理を施した結果、データのサイズが大きくなりアドレス1に収まらなくなると、図5Dに示すように、処理領域A1内の他のブロックに跨がってファイルデータが記憶されることになる。この例であれば、「AAA.aaa」というファイル名のファイルデータは、ブロック識別子11−a及び11−bのブロックに収まらなくなり、11−c及び11−dのブロックに跨がって記憶されている。以上のとおり、ファイル管理装置1においては、ファイルデータに対して処理が直接施され、その処理の内容に応じてファイルデータの内容が変更されることになる。
また、管理手段102は、処理手段101により処理領域において処理を施されたデータがファイルとして記憶される場合に、その処理領域内のそのデータのアドレスをファイル名に対応付けて記憶させる。管理手段102は、ファイル管理テーブルにそのファイル名が格納されていない場合であれば、それらのファイル名及びアドレスを新たにファイル管理テーブルに格納することで、これらを記憶させる。また、管理手段102は、ファイル管理テーブルにそのファイル名が既に格納されている場合であれば、そのファイル名に対応付けられているアドレスを新たなものに更新することで、これらを記憶させる。管理手段102によりファイル管理テーブルが更新される例について、図6A〜図6B(以下、これらの図面を「図6」と総称する)を参照して説明する。
図6は、管理手段102により更新されるファイル管理テーブルの例を示す図である。図6Aでは、図5Aに示したブロック識別子11−a及び11−bというアドレス1が示されている。そのあと、図5Dに示す「AAA.aaa」というファイル名のファイルデータがファイルとして記憶された場合、管理手段102は、アドレス1を、図6Bに示すように11−a、11−b、11−c及び11−dというアドレス1’に更新する。処理手段101を実現していたプログラムが終了すると、図5に示す処理領域A1は解放されることになるが、「AAA.aaa」というフィルデータは、そのファイル名がアドレス1’に対応付けられているので、ファイル名を用いてアクセスすることが可能なデータ、すなわちファイルとして記憶され続けることになる。
[実施形態の動作]
次に、ファイル管理処理における動作の一例を、図7のシーケンス図を参照しながら説明する。
図7は、ファイル管理処理における各部の動作の一例を示すシーケンス図である。図7の動作は、ファイル管理装置1において、ユーザがプログラムを開始させるプログラム開始操作を入出力装置5に対して行うこと(ステップS11)を契機に開始される。入出力装置5は、プログラム開始操作を示す操作データをプロセッサ3に供給する(ステップS12)。プロセッサ3は、操作データが供給されると、実行されるプログラムに関する処理に用いる処理領域を割り当てる(ステップS13)。こうして割り当てられた処理領域の一例が図5Bに示す処理領域A1である。次に、プロセッサ3は、割り当てた処理領域に命令コード及び変数等を記憶させて(ステップS14)、プログラムを実行する(ステップS15)。ステップS13、S14及びS15は、処理手段101が行う動作である。
次に、ユーザが、記憶装置10に記憶されているファイルを選択するファイル選択操作を入出力装置5に対して行う(ステップS21)。ファイル選択操作は、例えば、上述した文書作成用のアプリケーションプログラムが実行されている場合であれば、文書ファイルを選択して開く操作である。次に、入出力装置5は、ファイル選択操作を示す操作データをプロセッサ3に供給する(ステップS22)。この操作データは、選択されたファイルのファイル名を示すデータである。プロセッサ3は、供給された操作データが示すファイル名に対応付けて記憶しているアドレスを、処理領域として割り当てる(ステップS23)。こうして割り当てられた処理領域の一例が図5C及び図5Dに示す処理領域A1である。ステップS23は管理手段102が行う動作である。
続いて、プロセッサ3は、割り当てた処理領域に記憶されているデータ(命令コードや変数、ファイルデータなど)を用いて(ステップS24)、ファイルデータに対して処理を施す(ステップS25)。こうして処理が施されたファイルデータの一例が図5Dに示す「AAA.aaa」というファイル名のデータである。ステップS24及びS25は処理手段101が行う動作である。
続いて、処理を施されたデータをファイルとして記憶させるファイル記憶操作をユーザが行うと(ステップS31)、入出力装置5がファイル記憶操作を示す操作データをプロセッサ3に供給する(ステップS32)。プロセッサ3は、ステップS25において処理が施されたデータを記憶させた処理領域上のアドレスをファイル管理テーブルに格納する(ステップS33)。こうして格納されたアドレスの一例が図6Bに示すアドレス1’である。ステップS33は、管理手段102が行う動作である。
そして、ユーザがプログラムを終了するプログラム終了操作を行うと(ステップS41)、入出力装置5がプログラム終了操作を示す操作データをプロセッサ3に供給し(ステップS42)、プロセッサ3がプログラムを終了して処理領域を解放する(ステップS43)。こうしてプログラムが終了したあとも、記憶装置10には処理が施されたデータがファイルとして記憶される。
[実施形態による効果]
従来の技術では、ファイル管理装置が主記憶手段及び補助記憶手段を備える構成が一般的である。この構成では、プロセッサは、ファイルデータを補助記憶装置に記憶させ、そのファイルデータに処理を施す場合には、ファイルデータの複製を主記憶装置に記憶させてからその複製に対して処理を施す。そのような従来構成では、ファイルデータを記憶させる補助記憶装置の記憶領域の他に、ファイルデータの複製を記憶するためにそれと同じ大きさの記憶領域が主記憶装置にも必要になる。本実施形態では、記憶装置10に記憶されているファイルデータに処理手段101が直接処理を施すため、記憶装置10にはファイルデータを記憶させる大きさの記憶領域(図5A〜図5Cに示す状態ではブロック11−a及び11−b、図5Dに示す状態ではブロック11−a、11−b、11−c及び11−d)が1つあれば足りることになる。言い換えると、本実施形態では、ファイルデータに対して処理を施すときにファイルデータの複製が生成されない。このように、本実施形態によれば、ファイルデータのアドレスを処理領域として割り当てない場合に比べて、記憶装置における記憶領域の空き容量を大きくすることができる。
また、前述した従来構成では、主記憶装置において処理を施したデータをファイルとして記憶させる場合に、処理が施されたデータの複製を補助記憶装置に記憶させる。この場合も、処理が施されたデータを記憶させる記憶領域が、主記憶装置及び補助記憶装置のどちらにも必要となる。本実施形態では、処理手段101により処理が施されたデータがそのままファイルとして記憶されるため、ファイルデータに対して処理を施すときと同様に、処理が施されたデータの複製が生成されない。このように、本実施形態によれば、処理領域内のデータのアドレスをファイル名に対応付けて記憶させない場合に比べて、記憶装置における記憶領域の空き容量を大きくすることができる。
また、前述した従来構成では、ファイルデータに対して処理を施す場合と処理が施されたデータをファイルとして記憶する場合とのどちらにおいても、ファイルデータまたは処理が施されたデータの複製を生成する処理が必要になる。本実施形態では、そのような複製を生成する処理が不要であり、そのような複製を生成する処理が行われる場合に比べて、プロセッサの処理の負担やバスのデータ転送の負荷を軽減することができる。また、複製を生成する処理に要する時間も不要となるので、その処理が行われる場合に比べて、処理速度も向上させることができる。
[変形例]
上述の実施形態を以下のように変形してもよい。なお、上述した実施形態及び以下の変形例の各々を組み合わせてもよい。
[変形例1]
上記の実施形態では、処理手段101により処理が施されることでファイルデータの内容が変更された場合、内容を変更されたファイルデータがそのままファイルとして記憶された。いうなれば、ファイルの上書きが行われた。しかし、ファイルデータの中には、変更が許可されないものがある。例えば、編集できないように保護されたファイルデータや他のユーザが編集していて排他制御されているファイルデータなどである。本変形例では、これらのファイルデータを変更しないようにする例を説明する。
管理手段102は、処理手段101が処理を施す処理データの変更が許可されていない場合には、その処理データの複製である複製データを生成し、処理領域を表すアドレスとしてその複製データ及び処理データのいずれかのアドレスを割り当てる。管理手段102は、例えば、データの変更の許可の有無を表すフラグを格納したファイル管理テーブルを記憶させる。
図8は、本変形例のファイル管理テーブルの一例を示す図である。この例では、図3に示す「AAA.aaa」、「BBB.bbb」及び「CCC.ccc」という各ファイル名に、「×」、「○」及び「○」という変更可否のフラグが対応付けられている。「○」というフラグは変更が許可されていることを表し、「×」というフラグは変更が許可されていないことを表している。
管理手段102は、処理手段101から処理の対象であるファイルデータのファイル名が供給されると、ファイル管理テーブルを参照し、そのファイル名に対応付けられているフラグが「○」であれば変更が許可されていると判断し、実施形態で述べたようなアドレスの割り当てを行う。また、管理手段102は、フラグが「×」であれば許可されていないと判断し、ファイルデータの複製データを生成して記憶装置10に記憶させる。そして、管理手段102は、例えば、記憶させた複製データのアドレスを、処理領域を表すアドレスとして割り当てる。
図9A〜図9D(以下、これらの図面を「図9」と総称する)は、管理手段102が行うアドレスの割り当ての具体例を示す図である。図9では、図5と同様に記憶装置10の各ブロックが示されている。図9Aでは、図5Bのように「AAA.aaa」というファイル名のデータがアドレス1に記憶され、処理領域A1が割り当てられた状態が示されている。この例では、管理手段102は、処理の対処である「AAA.aaa」のファイルデータのフラグが「×」であるため、図9Bに示すように、そのファイルデータの複製データB1をブロック識別子が11−x及び11−yのブロックに記憶させている。
管理手段102は、例えば、図9Cに示すように、複製データB1のアドレスを処理領域A1を表すアドレスとして割り当てる。また、管理手段102は、図9Dに示すように、複製元である「AAA.aaa」のアドレスを処理領域A1を表すアドレスとして割り当ててもよい。後者の場合は、管理手段102は、ファイル管理テーブルの「AAA.aaa」というファイル名に対応付けられたアドレスを、複製データのアドレス(この例では11−x及び11−y)に更新する。いずれの場合も、処理手段101が施した処理によりデータが変更されても、ファイルデータまたは複製データのいずれかが変更されずに残ることになる。このような本変形例によれば、変更が許可されていないデータに処理が施された場合に、変更されていない状態のそのデータを残すことができる。
[変形例2]
記憶装置は、上記の実施形態では、不揮発性の記憶媒体であったが、これに限定されない。記憶装置が揮発性の記憶媒体であっても、例えば、ファイル管理装置がメインフレームのように24時間365日稼働し続ける装置であれば、記憶装置に電力が供給されなくなることがないため、記憶装置に記憶されているデータをファイルとして記憶し続けることができる。
[変形例3]
記憶装置は、上記の実施形態では、プロセッサ3と同様にバス2に接続されていたが、これに限定されない。記憶装置は、例えば、入出力装置5を介して接続されてもよいし、さらに入出力装置5に接続される回線に接続されていてもよい。つまり、記憶装置は、ファイル管理装置内に備えられていてもよいし、ファイル管理装置の外に備えられていてもよい。また、記憶装置は、上記の実施形態では、データのアクセスを制御するためのプロセッサを有していなかったが、これに限定されない。記憶装置は、例えば、プロセッサを有するコントローラによりアクセスが制御されるいわゆるハードディスクドライブであってもよい。これらの場合でも、実施形態と同様に、ファイルデータや処理が施されたデータの複製が生成されないから、記憶装置における記憶領域の空き容量を大きくすることができるという点やプロセッサの処理の負担やデータ転送の負荷を軽減することができるという点では変わらない。
[変形例4]
処理手段は、ファイル管理装置以外の外部装置が実現する機能であってもよい。例えば、ファイル管理装置と外部装置とで記憶装置を共有し、ファイル管理装置が外部装置の実現する処理手段に対しても、上記のファイル管理処理を行うという場合である。その場合、外部装置は、例えばプロセッサ、ROM及びファイル管理装置と接続するための接続装置を備え、プロセッサがROMに記憶されたプログラムを実行して処理手段を実現する。管理手段102は、バス2及び接続部等を介して、処理手段に対して割り当てたアドレスを伝えたり、処理の対象であるファイルデータのファイル名を受け取ったりする。要するに、処理手段は、管理手段102とこれらの情報をやり取りできるようになっていればよい。
[変形例5]
管理手段は、上記の実施形態では、処理領域を表すアドレスを割り当てる処理(以下「割り当て処理」という)と、処理が施されたデータのアドレス及びファイル名を対応付ける処理(以下「対応付け処理」という)との両方を行ったが、いずれかだけを行ってもよい。例えば、割り当て処理が行われた処理領域において処理が施されたデータをファイルとして記憶させる場合に、そのデータを他のアドレスに移動させた上で、移動先のアドレスとファイル名とを対応付けて記憶させてもよい。この場合も、処理が施されたデータを記憶するために必要な記憶容量は、どの時点でもそのデータ1つ分で収まることになる。そのため、上述した従来構成のように処理が施されたデータの複製が生成される場合に比べて、記憶装置における記憶領域の空き容量を大きくすることができる。
また、対応付け処理が行われてファイルとして記憶されたファイルデータを対象として処理が施される場合に、そのファイルデータを他のアドレスに移動させた上で、移動先のアドレスを処理領域を表すアドレスとして割り当ててもよい。この場合も、ファイルデータを記憶するために必要な記憶容量は、どの時点でもファイルデータ1つ分で収まることになり、従来構成に比べて記憶装置における記憶領域の空き容量を大きくすることができる。
さらに、前述したようにファイルデータや処理が施されたデータを移動させる代わりに、それらのデータの複製が生成されてもよい。この場合、一時的にはこれらのデータが重複して存在することになるが、この複製が生成されるまでの間については、重複していない状態が維持されることになり、従来構成に比べて記憶装置における記憶領域の空き容量を大きくすることができる。
[変形例6]
本発明は、ファイル管理装置の他にも、ファイル管理装置が実施する処理を実現するためのファイル管理方法としても捉えられるものである。ここでいう処理とは、例えば、図7に示すファイル管理処理である。また、本発明は、ファイル管理装置のようなコンピュータを、図2に示す手段として機能させるためのプログラムとしても捉えられるものである。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
1…ファイル管理装置、2…バス、3…プロセッサ、4…ROM、5…入出力装置、10…記憶装置、101…処理手段、102…管理手段

Claims (10)

  1. 記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段
    を備えるファイル管理装置。
  2. 前記管理手段は、前記処理手段により前記処理領域において処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる
    請求項1に記載のファイル管理装置。
  3. 記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段
    を備えるファイル管理装置。
  4. 前記管理手段は、前記処理手段が処理を施す処理データの変更が許可されていない場合には、当該処理データの複製である複製データを生成し、前記処理領域を表すアドレスとして当該複製データ及び当該処理データのいずれかのアドレスを割り当てる
    請求項1から3までのいずれか1項に記載のファイル管理装置。
  5. 前記記憶装置は、不揮発性の記憶媒体を有する
    請求項1から4までのいずれか1項に記載のファイル管理装置。
  6. 前記管理手段及び前記処理手段は、プロセッサにより実現される機能であり、
    当該プロセッサは、他のプロセッサを介さずに前記記憶装置に記憶されているデータにアクセスする
    請求項1から5までのいずれか1項に記載のファイル管理装置。
  7. コンピュータを、
    記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段
    として機能させるためのプログラム。
  8. コンピュータを、
    記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段
    として機能させるためのプログラム。
  9. 記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理ステップ
    を備えるファイル管理方法。
  10. 記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理ステップ
    を備えるファイル管理方法。
JP2015535411A 2013-09-04 2014-08-19 ファイル管理装置、プログラム及びファイル管理方法 Pending JPWO2015033767A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013183005 2013-09-04
JP2013183005 2013-09-04
PCT/JP2014/071625 WO2015033767A1 (ja) 2013-09-04 2014-08-19 ファイル管理装置、プログラム及びファイル管理方法

Publications (1)

Publication Number Publication Date
JPWO2015033767A1 true JPWO2015033767A1 (ja) 2017-03-02

Family

ID=52628247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015535411A Pending JPWO2015033767A1 (ja) 2013-09-04 2014-08-19 ファイル管理装置、プログラム及びファイル管理方法

Country Status (3)

Country Link
US (1) US9904483B2 (ja)
JP (1) JPWO2015033767A1 (ja)
WO (1) WO2015033767A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131266A (ja) * 1992-09-25 1994-05-13 Internatl Business Mach Corp <Ibm> ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
JP2004362464A (ja) * 2003-06-06 2004-12-24 Sony Corp 不揮発メモリを利用したコンピュータシステム
JP2006294028A (ja) * 2005-04-05 2006-10-26 Internatl Business Mach Corp <Ibm> 直接実行機能を提供するためのシステム、コンピュータシステム、方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6015429B2 (ja) * 2012-12-25 2016-10-26 株式会社リコー 情報処理装置、プログラム、情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131266A (ja) * 1992-09-25 1994-05-13 Internatl Business Mach Corp <Ibm> ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
JP2004362464A (ja) * 2003-06-06 2004-12-24 Sony Corp 不揮発メモリを利用したコンピュータシステム
JP2006294028A (ja) * 2005-04-05 2006-10-26 Internatl Business Mach Corp <Ibm> 直接実行機能を提供するためのシステム、コンピュータシステム、方法およびプログラム

Also Published As

Publication number Publication date
US20160335010A1 (en) 2016-11-17
US9904483B2 (en) 2018-02-27
WO2015033767A1 (ja) 2015-03-12

Similar Documents

Publication Publication Date Title
JP5420814B2 (ja) バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム
JP5481308B2 (ja) データ制御装置及びプログラム
JP2018518733A (ja) ファイル操作方法及び装置
US20170075614A1 (en) Memory system and host apparatus
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
JP2014126989A (ja) 制御装置、制御方法、及び、プログラム
JP2021510222A (ja) データ処理方法、装置、およびコンピューティングデバイス
TWI359377B (en) System and method for providing execute-in-place f
JP5877186B2 (ja) 情報処理装置
JP6123766B2 (ja) データ読み出し装置、プログラムおよびデータ読み出し方法
JP5477927B2 (ja) ストレージシステム
US11176089B2 (en) Systems and methods for implementing dynamic file systems
EP3136245B1 (en) Computer
JP2006079463A (ja) 時系列データ記録用バッファ管理方法、装置、システムおよびプログラム
WO2015033767A1 (ja) ファイル管理装置、プログラム及びファイル管理方法
WO2020241545A1 (ja) 情報処理装置
JP6652605B2 (ja) メモリシステムの制御方法
JP2013033338A (ja) メモリシステム
JP2017004524A (ja) ファイルアクセス提供方法、コンピュータ、及びソフトウェア製品
JP2005301885A (ja) データ記憶媒体へのアクセス方法,情報処理装置,データ記憶媒体へのアクセスプログラム
JP2013109404A (ja) 情報処理装置
JP2013254357A (ja) 情報処理装置および方法、並びにプログラム
JPH06110741A (ja) コンピュータ装置
JP2017120569A (ja) 情報処理装置、制御方法、およびプログラム
JP2022133611A (ja) 情報処理装置、情報処理方法、プログラム、及び情報処理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190722

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191224