JP2013250831A - Information processing device, information processing method, and program - Google Patents

Information processing device, information processing method, and program Download PDF

Info

Publication number
JP2013250831A
JP2013250831A JP2012125659A JP2012125659A JP2013250831A JP 2013250831 A JP2013250831 A JP 2013250831A JP 2012125659 A JP2012125659 A JP 2012125659A JP 2012125659 A JP2012125659 A JP 2012125659A JP 2013250831 A JP2013250831 A JP 2013250831A
Authority
JP
Japan
Prior art keywords
unit
data
file
cluster
written
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
JP2012125659A
Other languages
Japanese (ja)
Inventor
Takamaro Mabuchi
琢麿 馬渕
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 Corp
Original Assignee
Sony Corp
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 Corp filed Critical Sony Corp
Priority to JP2012125659A priority Critical patent/JP2013250831A/en
Publication of JP2013250831A publication Critical patent/JP2013250831A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To avoid lowering of data write performance.SOLUTION: A storage part stores data for each cluster. A writing processing part performs processing of writing data in units of a file with a unit composed of a predetermined number of clusters being a standard. When adding data to a file that has been stored in the storage part, and when there is a cluster in which no data is written in a unit allocated to an object file to be added, the writing processing part writes data to the cluster. On the other hand, when there is no cluster in which no data is written in a unit allocated to an object file to be added, the writing processing part newly allocates a unit to an object file to be added, and writes data into the cluster of the unit. The present technique can be applied to, for example, an information processing device in which flush memories are used for a storage part.

Description

本開示は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、データの書き込み性能の低下を回避することができるようにした情報処理装置および情報処理方法、並びにプログラムに関する。   The present disclosure relates to an information processing device, an information processing method, and a program, and more particularly, to an information processing device, an information processing method, and a program that can avoid a decrease in data writing performance.

従来、コンピュータを制御するOS(Operating System)は、データをハードディスクなどの記憶装置に保存する際に、記憶装置に保存されるデータの物理的位置を管理するファイルシステム、例えば、FAT(File Allocation Tables)を利用する。一般的に、ファイルシステムでは、データは、クラスタと称される単位で管理される。そして、FATの通常のアロケーションアルゴリズムでは、直前にデータが割り当てられているクラスタを起点として、次に空いているクラスタを、新たに書き込むデータに割り当てるように規定されている。   2. Description of the Related Art Conventionally, an OS (Operating System) that controls a computer is a file system that manages the physical location of data stored in a storage device, for example, FAT (File Allocation Tables) when data is stored in a storage device such as a hard disk. ). In general, in a file system, data is managed in units called clusters. The normal allocation algorithm of FAT stipulates that the next free cluster is assigned to newly written data, starting from the cluster to which data was assigned immediately before.

ところが、従来のファイルシステムは、ファイルの書き込みと削除とが繰り返されることによってフラグメントが発生し易くなっていた。そして、フラグメントが発生した場合には、フラグメントが発生していない場合と比較して、即ち、クラスタに連続的にデータを書き込むことができる場合と比較して、データの書き込み速度が低下してしまうなど、性能が低下することが想定される。従って、性能低下を回避するために、フラグメントの発生を防止する対策を講じる必要がある。   However, in the conventional file system, fragmentation is likely to occur due to repeated writing and deletion of files. When a fragment is generated, the data writing speed is lower than when no fragment is generated, that is, when data can be continuously written to the cluster. For example, it is assumed that the performance is degraded. Therefore, it is necessary to take measures to prevent the occurrence of fragments in order to avoid performance degradation.

例えば、特許文献1には、ファイルの書き込み処理時に、ファイルサイズとあらかじめ設定しておいた複数の閾値とを比較して、ファイルサイズに応じた予約サイズで予約を行うフラグメント防止ファイルシステムが開示されている。   For example, Patent Document 1 discloses a fragment prevention file system that performs a reservation with a reserved size corresponding to a file size by comparing the file size with a plurality of preset threshold values during file writing processing. ing.

特開2005−135126号公報JP 2005-135126 A

ところで、上述の特許文献1で開示されているフラグメント防止ファイルシステムでは、ファイルのサイズを予め把握する必要があるため、管理テーブルが複雑になっていた。そこで、より簡易的な構成でフラグメントの発生を抑制して、データの書き込み性能の低下を回避することが求められている。   By the way, in the fragment prevention file system disclosed by the above-mentioned patent document 1, since the size of the file needs to be grasped in advance, the management table is complicated. Therefore, it is required to suppress the occurrence of fragments with a simpler configuration to avoid a decrease in data writing performance.

本開示は、このような状況に鑑みてなされたものであり、データの書き込み性能の低下を回避することができるようにするものである。   The present disclosure has been made in view of such a situation, and makes it possible to avoid a decrease in data writing performance.

本開示の一側面の情報処理装置は、データをクラスタごとに記憶する記憶部と、前記記憶部に対し、所定数の前記クラスタで構成されるユニットを基準としてファイル単位のデータを書き込む処理を行う書き込み処理部とを備える。   An information processing apparatus according to an aspect of the present disclosure performs a process of writing data in units of files using a storage unit that stores data for each cluster and a unit including a predetermined number of clusters in the storage unit And a writing processing unit.

本開示の一側面の情報処理方法またはプログラムは、記憶部にデータをクラスタごとに記憶させ、前記記憶部に対し、所定数の前記クラスタで構成されるユニットを基準としてファイル単位のデータを書き込むステップを含む。   An information processing method or program according to an aspect of the present disclosure is a step of storing data in a storage unit for each cluster, and writing data in units of files in the storage unit with reference to a unit composed of a predetermined number of clusters. including.

本開示の一側面においては、データをクラスタごとに記憶する記憶部に対し、所定数のクラスタで構成されるユニットを基準としてファイル単位のデータが書き込まれる。   In one aspect of the present disclosure, data in units of files is written on the basis of units composed of a predetermined number of clusters in a storage unit that stores data for each cluster.

本開示の一側面によれば、データの書き込み性能の低下を回避することができる。   According to one aspect of the present disclosure, it is possible to avoid a decrease in data writing performance.

従来のファイルシステムに基づいたデータの書き込みを説明する図である。It is a figure explaining the writing of the data based on the conventional file system. 従来のファイルシステムに基づいたデータの書き込みを説明する図である。It is a figure explaining the writing of the data based on the conventional file system. 本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。It is a block diagram showing an example of composition of an embodiment of an information processor to which this art is applied. ファイル管理部が記憶部にデータを書き込む処理を説明する図である。It is a figure explaining the process which a file management part writes data in a memory | storage part. ファイル管理部が記憶部にデータを書き込む処理を説明する図である。It is a figure explaining the process which a file management part writes data in a memory | storage part. ファイル管理部が記憶部にデータを書き込む処理を説明するフローチャートである。It is a flowchart explaining the process in which a file management part writes data in a memory | storage part. ファイルの統合処理を説明する図である。It is a figure explaining the integration process of a file. 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。And FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.

まず、本技術を適用した具体的な実施の形態を説明する前に、図1および図2を参照して、従来のファイルシステムに基づいたファイルの書き込みについて説明する。   First, before describing specific embodiments to which the present technology is applied, file writing based on a conventional file system will be described with reference to FIG. 1 and FIG.

図1および図2には、アドレス0x00により識別される16個のクラスタ、アドレス0x10により識別される16個のクラスタ、および、アドレス0x20により識別される16個のクラスタからなる記憶領域が示されている。また、図1および図2では、データを書き込む起点とされるクラスタに対して矢印が標記されている。   FIG. 1 and FIG. 2 show a storage area consisting of 16 clusters identified by address 0x00, 16 clusters identified by address 0x10, and 16 clusters identified by address 0x20. Yes. Further, in FIGS. 1 and 2, an arrow is marked for a cluster which is a starting point for writing data.

まず、図1の最も上側に示すように、記憶領域にデータが記憶されていない状態では、アドレス0x00の1番目のクラスタが、データを書き込む起点とされる。そして、ファイル1の書き込みが発生すると、アドレス0x00の1番目のクラスタから順番にファイル1が割り当てられる。例えば、6クラスタ分のデータからなるファイル1が記憶領域に書き込まれると、次に空いているアドレス0x00の7番目のクラスタが、次のデータを書き込む起点とされる。   First, as shown in the uppermost part of FIG. 1, when no data is stored in the storage area, the first cluster at address 0x00 is the starting point for writing data. When the writing of the file 1 occurs, the file 1 is allocated in order from the first cluster of the address 0x00. For example, when the file 1 composed of data for 6 clusters is written in the storage area, the 7th cluster at the next available address 0x00 is the starting point for writing the next data.

その後、ファイル2の書き込みが発生すると、アドレス0x00の7番目のクラスタから順番にファイル2が割り当てられる。例えば、7クラスタ分のデータからなるファイル2が記憶領域に書き込まれると、次に空いているアドレス0x00の14番目のクラスタが、次のデータを書き込む起点とされる。このとき、ファイル1に対して追記する書き込みが発生すると、アドレス0x00の14番目のクラスタから順番にファイル1が割り当てられて、図1に示すように、次に空いているアドレス0x10の5番目のクラスタが、次のデータを書き込む起点とされる。   Thereafter, when the file 2 is written, the file 2 is allocated in order from the seventh cluster of the address 0x00. For example, when file 2 consisting of data for 7 clusters is written in the storage area, the 14th cluster at the next available address 0x00 is the starting point for writing the next data. At this time, when a write to be added to file 1 occurs, file 1 is allocated in order from the 14th cluster at address 0x00, and as shown in FIG. 1, the fifth free address 0x10 is next assigned. The cluster is the starting point for writing the next data.

ここで、図2の最も上側に示すようにファイル2が削除されると、次のデータを書き込む起点は、ファイル2が記憶されていた先頭のクラスタ、即ち、アドレス0x00の7番目のクラスタとされる。   Here, when the file 2 is deleted as shown in the uppermost part of FIG. 2, the starting point for writing the next data is the first cluster in which the file 2 was stored, that is, the seventh cluster at the address 0x00. The

そして、ファイル3の書き込みが発生すると、アドレス0x00の7番目のクラスタから順番にファイル3が割り当てられる。例えば、3クラスタ分のデータからなるファイル3が記憶領域に書き込まれると、次に空いているアドレス0x00の10番目のクラスタが、次のデータを書き込む起点とされる。   When the writing of the file 3 occurs, the file 3 is allocated in order from the seventh cluster at the address 0x00. For example, when the file 3 composed of data for three clusters is written in the storage area, the tenth cluster at the next available address 0x00 is the starting point for writing the next data.

このとき、アドレス0x00の10番目から13番目まで4つのクラスタが連続的に空いているが、例えば、5クラスタ分のデータからなるファイル4の書き込みが発生すると、ファイル4には、非連続的にクラスタが割り当てられることになる。即ち、ファイル4は、アドレス0x00の10番目から13番目までの連続した4つのクラスタと、アドレス0x10の5番目の1つのクラスタとに、断片的に書き込まれる。このように、ファイルが断片的に記憶されるフラグメントが発生する。   At this time, four clusters from the 10th to the 13th at the address 0x00 are continuously vacant. For example, when writing of the file 4 composed of data for 5 clusters occurs, the file 4 is discontinuously stored. A cluster will be assigned. That is, the file 4 is written in pieces in four consecutive clusters from the 10th to the 13th at the address 0x00 and one fifth cluster at the address 0x10. In this way, fragments are generated in which files are stored in fragments.

その後、ファイル3を追記するデータの書き込みが発生すると、アドレス0x10の6番目のクラスタから、データの書き込みが行われる。   Thereafter, when the data to be added to the file 3 is written, the data is written from the sixth cluster at the address 0x10.

このように、従来のファイルシステムでは、ファイルの書き込みと削除とが繰り返されることによってフラグメントが発生し易くなっていた。   As described above, in the conventional file system, a fragment is easily generated by repeatedly writing and deleting a file.

以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。   Hereinafter, specific embodiments to which the present technology is applied will be described in detail with reference to the drawings.

図3は、本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。   FIG. 3 is a block diagram illustrating a configuration example of an embodiment of an information processing apparatus to which the present technology is applied.

図3において、情報処理装置11は、ファイル管理部12および記憶部13を備えて構成されており、情報処理装置11には、図示しない外部のブロックから、記憶部13に記憶させるデータが供給される。   In FIG. 3, the information processing apparatus 11 includes a file management unit 12 and a storage unit 13, and data to be stored in the storage unit 13 is supplied to the information processing apparatus 11 from an external block (not shown). The

ファイル管理部12は、例えば、CPU(Central Processing Unit)およびメモリを有して構成されており、CPUがメモリに記憶されているプログラムを実行することにより、記憶部13に書き込むデータのファイル管理を行う。   The file management unit 12 includes, for example, a CPU (Central Processing Unit) and a memory. The file management unit 12 performs file management of data to be written in the storage unit 13 by executing a program stored in the memory. Do.

記憶部13は、例えば、ハードディスクドライブやフラッシュメモリ(例えば、EEPROM(Electronically Erasable and Programmable Read Only Memory))などを有して構成されており、クラスタ単位でデータを記憶する。   The storage unit 13 includes, for example, a hard disk drive, a flash memory (for example, EEPROM (Electronically Erasable and Programmable Read Only Memory)), and stores data in units of clusters.

ここで、情報処理装置11では、所定数のクラスタで構成されるユニットが予め定義されており、ユニットを基準としてファイル単位のデータの書き込みを行うように規定されている。例えば、記憶部13が、所定の記憶領域ごとにデータを一括で消去するように構成されているフラッシュメモリである場合、情報処理装置11では、データを消去するサイズ(消去ブロックサイズ)と同一の大きさとなるようにユニットを設定することができる。このとき、消去ブロックサイズの先頭となるクラスタと、ユニットの先頭となるクラスタとが一致するように、ユニットが設定される。   Here, in the information processing apparatus 11, a unit composed of a predetermined number of clusters is defined in advance, and it is defined to write data in units of files on the basis of the unit. For example, when the storage unit 13 is a flash memory configured to erase data in batches for each predetermined storage area, the information processing apparatus 11 has the same size as the data erased (erase block size). Units can be set to size. At this time, the unit is set so that the cluster that is the head of the erase block size matches the cluster that is the head of the unit.

ファイル管理部12は、書き込み処理部21、管理情報保持部22、ファイル検索部23、リスト保持部24、およびデフラグ処理部25を備えて構成される。   The file management unit 12 includes a write processing unit 21, a management information holding unit 22, a file search unit 23, a list holding unit 24, and a defragmenting processing unit 25.

書き込み処理部21は、図示しない外部のブロックから記憶部13に書き込むデータが供給されると、管理情報保持部22に保持されている管理情報を参照して、どのクラスタにデータを書き込むかを判定し、記憶部13にデータを書き込む処理を行う。   When data to be written to the storage unit 13 is supplied from an external block (not shown), the write processing unit 21 refers to the management information held in the management information holding unit 22 and determines which cluster the data is written to Then, a process of writing data in the storage unit 13 is performed.

管理情報保持部22には、例えば、既に記憶されているファイルが割り当てられたユニットを示す情報や、ファイルにデータを追記する際の起点となるクラスタを示す情報、ユニットにファイルを新たに割り当ててデータを書き込む際の起点となるクラスタを示す情報などが、管理情報として記憶されている。   In the management information holding unit 22, for example, information indicating a unit to which an already stored file is allocated, information indicating a cluster serving as a starting point when data is added to the file, and a file is newly allocated to the unit. Information indicating a cluster serving as a starting point when data is written is stored as management information.

例えば、書き込み処理部21は、記憶部13に既に記憶されているファイルに対して追記するデータが供給されると、そのファイルが割り当てられたユニットにデータの書き込まれていないクラスタ(以下、適宜、空クラスタと称する)があるか否かを判定する。ユニットに空クラスタがある場合には、そのファイルにデータを追記する際の起点となるクラスタを示す情報が管理情報として管理情報保持部22に保持されている。従って、書き込み処理部21は、供給されたデータのファイルについて、ファイルにデータを追記する際の起点となるクラスタを示す情報が管理情報保持部22に保持されている場合には、そのファイルが割り当てられたユニットに空クラスタがあると判定する。そして、書き込み処理部21は、その起点とされている空クラスタからデータを書き込む処理を行う。   For example, when data to be added to a file already stored in the storage unit 13 is supplied, the write processing unit 21 receives a cluster in which data is not written in a unit to which the file is assigned (hereinafter, as appropriate). Whether there is an empty cluster) is determined. When there is an empty cluster in the unit, information indicating a cluster that is a starting point when data is added to the file is held in the management information holding unit 22 as management information. Therefore, if the management information holding unit 22 holds information indicating a cluster serving as a starting point when data is added to the file, the write processing unit 21 allocates the file. It is determined that there is an empty cluster in the specified unit. Then, the write processing unit 21 performs a process of writing data from the empty cluster that is the starting point.

一方、書き込み処理部21は、供給されたデータのファイルについて、ファイルにデータを追記する際の起点となるクラスタを示す情報が管理情報保持部22に保持されていない場合には、そのファイルが割り当てられたユニットに空クラスタがないと判定する。この場合、書き込み処理部21は、供給されたデータのファイルに対し、全てのクラスタにデータが書き込まれていないユニット(以下、適宜、空ユニットと称する)を新たに割り当てる。このとき、書き込み処理部21は、ユニットにファイルを新たに割り当ててデータを書き込む際の起点となるクラスタを示す情報に基づいて、そのクラスタが設定されているユニットを、供給されたデータのファイルに割り当てる。そして、書き込み処理部21は、ユニットにファイルを新たに割り当ててデータを書き込む際の起点となるクラスタからデータを書き込む処理を行う。   On the other hand, if the management information holding unit 22 does not hold information indicating a cluster serving as a starting point when data is added to the file, the write processing unit 21 allocates the file. It is determined that there is no empty cluster in the specified unit. In this case, the write processing unit 21 newly allocates a unit in which data is not written in all clusters (hereinafter referred to as an empty unit as appropriate) to the supplied data file. At this time, the write processing unit 21 changes the unit in which the cluster is set to the file of the supplied data based on the information indicating the cluster that is the starting point when data is newly allocated to the unit and data is written. assign. Then, the write processing unit 21 performs a process of writing data from a cluster serving as a starting point when a file is newly allocated to the unit and data is written.

また、書き込み処理部21は、例えば、空ユニットがない場合には、ファイル検索部23に対して、記憶部13に記憶されているファイルを検索するように指示を行う。   For example, when there is no empty unit, the write processing unit 21 instructs the file search unit 23 to search for a file stored in the storage unit 13.

ファイル検索部23は、書き込み処理部21からの指示に従って記憶部13に記憶されているファイルを検索する。例えば、ファイル検索部23は、更新日時が一定以上古いファイルを検索して、そのファイルが割り当てられているユニットに空クラスタがある場合には、そのユニットを、リスト保持部24に保持されているリストに登録する。そして、ファイル検索部23は、一定数以上の空クラスタを有するユニットがリストに登録されると、その中から所望のユニットを選択し、検索結果として書き込み処理部21に通知する。   The file search unit 23 searches for a file stored in the storage unit 13 in accordance with an instruction from the write processing unit 21. For example, the file search unit 23 searches for a file whose update date is older than a certain value, and if there is an empty cluster in the unit to which the file is assigned, the unit is held in the list holding unit 24. Register to the list. Then, when a unit having a certain number or more of empty clusters is registered in the list, the file search unit 23 selects a desired unit from the list and notifies the write processing unit 21 as a search result.

これに応じて、書き込み処理部21は、ファイル検索部23により選択されたファイルが記憶されているユニットの空クラスタにデータを書き込む処理を行う。   In response to this, the write processing unit 21 performs a process of writing data to the empty cluster of the unit in which the file selected by the file search unit 23 is stored.

リスト保持部24は、ファイル検索部23が作成したリスト、即ち、更新日時が一定以上古いファイルが割り当てられているユニットであって、空クラスタを有するユニットが登録されたリストを保持する。また、リスト保持部24が保持するリストには、ユニットに対応付けて、そのユニットが有する空クラスタの個数が登録される。   The list holding unit 24 holds the list created by the file search unit 23, that is, a unit to which a file having an update date and time older than a certain value is assigned and a unit having an empty cluster is registered. In the list held by the list holding unit 24, the number of empty clusters that the unit has is registered in association with the unit.

デフラグ処理部25は、図示しない外部のブロックから、ユーザの操作に従ってデフラグを実行するコマンドが供給されると、記憶部13で発生しているデータの断片化を解消するデフラグ処理を行う。また、デフラグ処理部25は、デフラグ処理を行う際に、図7を参照して後述するように、複数のファイルを纏めて1つのユニットに割り当てる統合処理を行う。   When a command for executing defragmentation according to a user operation is supplied from an external block (not shown), the defragmentation processing unit 25 performs defragmentation processing for eliminating data fragmentation generated in the storage unit 13. Further, when performing the defragmentation process, the defragmentation processing unit 25 performs an integration process of collectively allocating a plurality of files to one unit as will be described later with reference to FIG.

このように、ファイル管理部12では、ユニットを基準としてファイル単位のデータの書き込みが管理される。   As described above, the file management unit 12 manages the writing of data in units of files on the basis of units.

次に、図4および図5を参照して、ファイル管理部12が記憶部13にデータを書き込む処理について説明する。   Next, a process in which the file management unit 12 writes data to the storage unit 13 will be described with reference to FIGS.

図4および図5には、アドレス0x00により識別される16個のクラスタ、アドレス0x10により識別される16個のクラスタ、および、アドレス0x20により識別される16個のクラスタからなる記憶領域が示されている。また、図4および図5では、データを書き込む起点とされるクラスタに対して矢印が標記されている。   4 and 5 show a storage area composed of 16 clusters identified by address 0x00, 16 clusters identified by address 0x10, and 16 clusters identified by address 0x20. Yes. In FIGS. 4 and 5, an arrow is marked for the cluster that is the starting point for writing data.

さらに、ファイル管理部12では、上述したように、ファイル単位のデータの書き込みを行う際の基準となるユニットが設定されている。図4および図5の例では、8個のクラスタで構成されるユニットが使用され、それぞれのアドレスにおいて、1番目から8番目までのクラスタから構成される第1のユニットと、9番目から16番目までのクラスタから構成される第2のユニットとが設定されている。   Furthermore, in the file management unit 12, as described above, a unit serving as a reference when writing data in file units is set. In the example of FIGS. 4 and 5, a unit composed of 8 clusters is used, and the first unit composed of 1st to 8th clusters and 9th to 16th in each address. The second unit composed of the clusters up to is set.

まず、図4の最も上側に示すように、記憶領域にデータが記憶されていない状態では、アドレス0x00の1番目のクラスタが、データを書き込む起点とされる。そして、ファイル1のデータが供給されると、書き込み処理部21は、アドレス0x00の1番目のクラスタから順番にファイル1を割り当てる。   First, as shown in the uppermost part of FIG. 4, when no data is stored in the storage area, the first cluster at the address 0x00 is the starting point for writing data. When the data of file 1 is supplied, the write processing unit 21 assigns file 1 in order from the first cluster at address 0x00.

例えば、6クラスタ分のデータからなるファイル1が供給されると、書き込み処理部21は、アドレス0x00の第1のユニットをファイル1に割り当てて、アドレス0x00の1番目から6番目のクラスタにデータを書き込む。その後、書き込み処理部21は、アドレス0x00の第1のユニットにおける先頭の空クラスタであるアドレス0x00の7番目のクラスタを、ファイル1にデータを追記する際の起点として、管理情報保持部22の管理情報を更新する。また、このとき、書き込み処理部21は、ファイル1が割り当てられたユニットの次の空ユニットの先頭のクラスタを、ユニットにファイルを新たに割り当ててデータを書き込む際の起点として、管理情報保持部22の管理情報を更新する。即ち、図4の例では、アドレス0x00の第2のユニットにおける先頭のクラスタである9番目のクラスタが、ユニットにファイルを新たに割り当ててデータを書き込む際の起点とされる。   For example, when file 1 consisting of data for 6 clusters is supplied, write processing unit 21 assigns the first unit at address 0x00 to file 1 and assigns data to the first to sixth clusters at address 0x00. Write. Thereafter, the write processing unit 21 manages the management information holding unit 22 using the seventh cluster at the address 0x00, which is the first empty cluster in the first unit at the address 0x00, as a starting point when data is added to the file 1. Update information. At this time, the write processing unit 21 uses the leading cluster of the empty unit next to the unit to which the file 1 is assigned as a starting point when writing data by newly assigning the file to the unit, and the management information holding unit 22 Update management information for. That is, in the example of FIG. 4, the ninth cluster, which is the first cluster in the second unit at the address 0x00, is the starting point when data is newly allocated to the unit and data is written.

そして、次のデータがファイル管理部12に供給されると、書き込み処理部21は、そのデータが、ファイル1に対して追記するデータであるか否かを判定する。例えば、次のデータがファイル1とは異なるファイル2のものである場合には、書き込み処理部21は、アドレス0x00の第2のユニットにファイル2を割り当てて、起点として設定されているアドレス0x00の9番目のクラスタからデータを書き込む処理を行う。   When the next data is supplied to the file management unit 12, the write processing unit 21 determines whether the data is data to be added to the file 1. For example, if the next data is from file 2 different from file 1, write processing unit 21 assigns file 2 to the second unit at address 0x00, and has address 0x00 set as the starting point. A process of writing data from the ninth cluster is performed.

図4の例では、アドレス0x00の9番目のクラスタから、7クラスタ分のデータからなるファイル2が書き込まれている。その後、書き込み処理部21は、アドレス0x00の第2のユニットにおける先頭の空クラスタであるアドレス0x00の16番目のクラスタを、ファイル2にデータを追記する際の起点として、管理情報保持部22の管理情報を更新する。また、このとき、書き込み処理部21は、ファイル2が割り当てられたユニットの次の空ユニットにおける先頭のクラスタ(図4の例では、アドレス0x10の1番目のクラスタ)を、ユニットにファイルを新たに割り当ててデータを書き込む際の起点として、管理情報保持部22の管理情報を更新する。   In the example of FIG. 4, a file 2 consisting of data for 7 clusters is written from the 9th cluster at the address 0x00. Thereafter, the write processing unit 21 manages the management information storage unit 22 using the 16th cluster at the address 0x00, which is the first empty cluster in the second unit at the address 0x00, as the starting point when data is added to the file 2. Update information. At this time, the write processing unit 21 newly adds a file to the first cluster in the empty unit next to the unit to which the file 2 is allocated (the first cluster at the address 0x10 in the example of FIG. 4). The management information in the management information holding unit 22 is updated as a starting point when data is allocated and written.

そして、次のデータがファイル管理部12に供給されると、書き込み処理部21は、そのデータが、ファイル1または2に対して追記するデータであるか否かを判定する。例えば、次のデータがファイル1に対して追記するものである場合には、書き込み処理部21は、ファイル1に追記するデータを書き込む起点として設定されているアドレス0x00の7番目のクラスタからデータを書き込む処理を行う。   When the next data is supplied to the file management unit 12, the write processing unit 21 determines whether the data is data to be added to the file 1 or 2. For example, when the next data is to be added to the file 1, the write processing unit 21 receives the data from the seventh cluster at the address 0x00 set as the starting point for writing the data to be added to the file 1. Perform the writing process.

このとき、ファイル1が割り当てられたアドレス0x00の第1のユニットにおいて、空クラスタは、0x00の7番目および8番目のクラスタだけである。従って、書き込み処理部21は、2クラスタ分のデータ以上が追記される場合には、アドレス0x00の7番目および8番目のクラスタにデータを書き込んだ後、ユニットにファイルを新たに割り当ててデータを書き込む際の起点となるクラスタに基づいて、アドレス0x10の第1のユニットをファイル1に割り当てる。つまり、ファイル1が割り当てられたアドレス0x00の第1のユニットの全てのクラスタにデータが書き込まれると、書き込み処理部21は、アドレス0x10の1番目のクラスタから、残りの5クラスタ分のデータを書き込む処理を行う。   At this time, in the first unit of the address 0x00 to which the file 1 is assigned, the empty clusters are only the seventh and eighth clusters of 0x00. Therefore, when more than two clusters of data are additionally written, the write processing unit 21 writes data to the seventh and eighth clusters at address 0x00, and then newly assigns a file to the unit and writes the data. The first unit at address 0x10 is assigned to file 1 based on the starting cluster. That is, when data is written to all the clusters of the first unit at address 0x00 to which file 1 is assigned, write processing unit 21 writes the remaining five clusters of data from the first cluster at address 0x10. Process.

その後、書き込み処理部21は、アドレス0x10の第1のユニットの先頭の空クラスタである6番目のクラスタを、ファイル1にデータを追記する際の起点として、管理情報保持部22の管理情報を更新する。また、このとき、書き込み処理部21は、ファイル1が割り当てられたユニットの次の空ユニットの先頭のクラスタ(図5の例では、アドレス0x10の9番目のクラスタ)を、ユニットにファイルを新たに割り当ててデータを書き込む際の起点として管理情報を更新する。   Thereafter, the write processing unit 21 updates the management information in the management information holding unit 22 using the sixth cluster, which is the first empty cluster of the first unit at the address 0x10, as a starting point when data is added to the file 1. To do. Further, at this time, the write processing unit 21 newly adds the file to the unit of the first cluster of the empty unit next to the unit to which the file 1 is assigned (in the example of FIG. 5, the ninth cluster at the address 0x10). Management information is updated as a starting point when data is allocated and written.

また、図5に示すように、ファイル2が消去されると、ファイル2が割り当てられていたアドレス0x00の第2のユニットが空ユニットとなる。このとき、ユニットにファイルを新たに割り当ててデータを書き込む際の起点となるクラスタは変更されず、アドレス0x10の9番目のクラスタのままとされる。   As shown in FIG. 5, when the file 2 is deleted, the second unit at the address 0x00 to which the file 2 is assigned becomes an empty unit. At this time, the cluster which becomes the starting point when data is newly assigned to the unit and data is written is not changed, and the ninth cluster at the address 0x10 remains unchanged.

さらに、次のデータがファイル管理部12に供給されると、書き込み処理部21は、そのデータが、ファイル1に対して追記するデータであるか否かを判定する。例えば、次のデータがファイル1とは異なるファイル3のものである場合には、書き込み処理部21は、アドレス0x10の第2のユニットをファイル3に割り当てて、起点として設定されているアドレス0x10の9番目のクラスタからデータを書き込む処理を行う。   Further, when the next data is supplied to the file management unit 12, the write processing unit 21 determines whether the data is data to be added to the file 1. For example, if the next data is from file 3 different from file 1, write processing unit 21 assigns the second unit at address 0x10 to file 3 and has address 0x10 set as the starting point. A process of writing data from the ninth cluster is performed.

このように、ファイル管理部12は、ユニットをまたいでファイルを書き込むことが必要となると、そのファイルが割り当てられたユニットの先頭のクラスタからデータを書き込む処理を行う。このように、所定数のクラスタで構成されるユニットを基準としてファイル単位のデータの書き込みを行うことで、記憶部13を長期間使用して、データの書き込みおよび削除が繰り返されても、フラグメントの過度の発生を抑制することができる。これにより、フラグメントが発生した場合に想定されるデータの書き込み速度の低下を回避し、性能低下を回避することができる。   As described above, when it becomes necessary to write a file across units, the file management unit 12 performs a process of writing data from the first cluster of the unit to which the file is assigned. In this way, by writing data in units of files based on a unit composed of a predetermined number of clusters, even if data writing and deletion are repeated using the storage unit 13 for a long period of time, the fragment Excessive generation can be suppressed. As a result, it is possible to avoid a decrease in data writing speed assumed when a fragment occurs, and to avoid a decrease in performance.

具体的には、情報処理装置11では、所定の条件でデータの書き込みおよび削除を所定時間繰り返したとき、例えば、従来のFATを利用した構成と比較して、書き込み速度の平均で約1.5倍、書き込み速度の最低速度で約2.5倍となることが確認された。   Specifically, in the information processing apparatus 11, when data writing and deletion are repeated for a predetermined time under a predetermined condition, for example, the average writing speed is about 1.5 as compared with a configuration using a conventional FAT. It was confirmed that the minimum writing speed was about 2.5 times.

また、記憶部13としてフラッシュメモリが採用される構成では、書き込み可能回数から定められる寿命を延長して、長寿命化を図ることができる。即ち、フラッシュメモリでは、消去ブロックの一部のファイルを消去する際には、消去の対象となるファイル以外のデータを移動させるための書き込みが発生することによって、寿命が短くなることが想定されている。これに対し、情報処理装置11では、消去ブロックサイズと同一の大きさとなるようにユニットを設定することで、ファイルを消去する際に、上述のようなデータを移動させるための書き込みが発生しないため、長寿化を図ることができる。   Further, in a configuration in which a flash memory is employed as the storage unit 13, it is possible to extend the life by extending the life determined from the number of writable times. In other words, in the flash memory, when erasing a part of the files in the erase block, it is assumed that the lifetime is shortened by writing to move data other than the file to be erased. Yes. On the other hand, in the information processing apparatus 11, by setting the unit to be the same size as the erase block size, writing for moving data as described above does not occur when a file is erased. Longevity can be achieved.

また、情報処理装置11は、例えば、FATの仕様に準拠したクラスタを利用しているため、他の装置との間で互換性を確保することができる。さらに、情報処理装置11では、書き込む対象となるファイルのサイズを把握する必要がないため、ファイルサイズとあらかじめ設定しておいた複数の閾値とを比較するようなシステムと比較して、管理テーブルが複雑になることがない。即ち、情報処理装置11は、従来のフラグメント防止ファイルシステムよりも、より簡易的な構成でフラグメントの発生を抑制することができる。   In addition, since the information processing apparatus 11 uses, for example, a cluster conforming to the FAT specification, compatibility with other apparatuses can be ensured. Furthermore, since the information processing apparatus 11 does not need to know the size of the file to be written, the management table is compared with a system that compares the file size with a plurality of preset threshold values. There is no complication. That is, the information processing apparatus 11 can suppress the occurrence of fragments with a simpler configuration than the conventional fragment prevention file system.

次に、図6は、ファイル管理部12が記憶部13にデータを書き込む処理を説明するフローチャートである。   Next, FIG. 6 is a flowchart for explaining processing in which the file management unit 12 writes data to the storage unit 13.

ファイル管理部12にデータが供給されると処理が開始される。そして、ステップS11において、書き込み処理部21は、管理情報保持部22の管理情報を参照して、供給されたデータが、記憶部13に既に記憶されているファイルに対して追記するデータであるか否かを判定する。例えば、記憶部13に既に記憶されているファイルにはユニットが割り当てられており、管理情報保持部22の管理情報として、ファイルが割り当てられたユニットを示す情報が保持されている。従って、書き込み処理部21は、供給されたデータについて、ファイルが割り当てられたユニットを示す情報が、管理情報保持部22の管理情報に保持されている場合、追記するデータであると判定する。   When data is supplied to the file management unit 12, the processing is started. In step S11, the write processing unit 21 refers to the management information stored in the management information holding unit 22, and whether the supplied data is data to be added to a file already stored in the storage unit 13. Determine whether or not. For example, a unit is assigned to a file already stored in the storage unit 13, and information indicating the unit to which the file is assigned is held as management information of the management information holding unit 22. Accordingly, the write processing unit 21 determines that the supplied data is data to be additionally written when the information indicating the unit to which the file is allocated is held in the management information of the management information holding unit 22.

ステップS11において、書き込み処理部21が、供給されたデータは記憶部13に既に記憶されているファイルに対して追記するデータであると判定した場合、処理はステップS12に進む。   If the write processing unit 21 determines in step S11 that the supplied data is data to be added to the file already stored in the storage unit 13, the process proceeds to step S12.

ステップS12において、書き込み処理部21は、管理情報保持部22の管理情報を参照して、追記されるデータのファイルが割り当てられたユニットに空クラスタがあるか否かを判定する。例えば、既に記憶されているファイルが割り当てられたユニットに空クラスタがある場合には、管理情報保持部22の管理情報として、ファイルにデータを追記する際の起点となるクラスタを示す情報が保持されている。従って、書き込み処理部21は、ファイルにデータを追記する際の起点となるクラスタを示す情報が、管理情報保持部22の管理情報に保持されている場合、追記されるデータのファイルが割り当てられたユニットに空クラスタがあると判定する。   In step S12, the write processing unit 21 refers to the management information in the management information holding unit 22 and determines whether there is an empty cluster in the unit to which the file of data to be added is assigned. For example, when there is an empty cluster in a unit to which a file that has already been stored is allocated, information indicating a cluster that is a starting point when data is added to the file is held as management information of the management information holding unit 22. ing. Therefore, the write processing unit 21 is assigned a file of data to be added when information indicating a cluster that is a starting point when data is added to the file is held in the management information of the management information holding unit 22. Determine that the unit has an empty cluster.

ステップS12において、書き込み処理部21が、追記されるデータのファイルが割り当てられたユニットに空クラスタがあると判定した場合、処理はステップS13に進む。   In step S12, when the write processing unit 21 determines that there is an empty cluster in the unit to which the file of data to be added is assigned, the process proceeds to step S13.

ステップS13において、書き込み処理部21は、追記されるデータのファイルが割り当てられたユニットの空クラスタにデータを書き込む処理を行う。このとき、書き込み処理部21は、ファイルにデータを追記する際の起点となるクラスタから順番にデータの書き込みを行う。   In step S13, the write processing unit 21 performs a process of writing data to an empty cluster of a unit to which a file of data to be added is assigned. At this time, the write processing unit 21 writes the data in order from the cluster that is the starting point when data is added to the file.

ステップS14において、書き込み処理部21は、データを追記したファイルが割り当てられているユニットにおける先頭の空クラスタを、ファイルにデータを追記する際の起点として、管理情報保持部22の管理情報を更新する。ステップS14の処理後、処理は終了される。   In step S <b> 14, the write processing unit 21 updates the management information in the management information holding unit 22 using the first empty cluster in the unit to which the file in which the data is added is allocated as a starting point when the data is added to the file. . After the process of step S14, the process ends.

一方、ステップS11において、供給されたデータは記憶部13に既に記憶されているファイルに対して追記するデータでないと判定された場合、または、ステップS12において、追記されるデータのファイルが記憶されているユニットに空クラスタがないと判定された場合、処理はステップS15に進む。   On the other hand, if it is determined in step S11 that the supplied data is not data to be added to a file already stored in the storage unit 13, or a file of data to be added is stored in step S12. If it is determined that there is no empty cluster in the unit, the process proceeds to step S15.

ステップS15において、書き込み処理部21は、管理情報保持部22の管理情報を参照して、記憶部13に空ユニットがあるか否かを判定する。上述したように、ユニットにファイルを新たに割り当ててデータを書き込む際の起点は、ファイルが割り当てられたユニットの次の空ユニットの先頭のクラスタに設定されている。従って、書き込み処理部21は、ユニットにファイルを新たに割り当ててデータを書き込む際の起点となるクラスタを示す情報が、管理情報保持部22の管理情報に保持されている場合、記憶部13に空ユニットがあると判定する。   In step S <b> 15, the write processing unit 21 refers to the management information in the management information holding unit 22 and determines whether there is an empty unit in the storage unit 13. As described above, the starting point when a file is newly allocated to a unit and data is written is set to the head cluster of the empty unit next to the unit to which the file is allocated. Accordingly, the write processing unit 21 stores empty information in the storage unit 13 when information indicating a cluster serving as a starting point when data is newly allocated to a unit and data is written is held in the management information of the management information holding unit 22. It is determined that there is a unit.

ステップS15において、書き込み処理部21が記憶部13に空ユニットがあると判定した場合、処理はステップS13に進み、以下、上述した処理が行われる。なお、この場合には、書き込み処理部21は、ステップS13において、ユニットにファイルを新たに割り当ててデータを書き込む際の起点となるクラスタから順番にデータの書き込みを行う。そして、書き込み処理部21は、ステップS14において、この書き込みに対応して管理情報保持部22の管理情報を更新する。   In step S15, when the write processing unit 21 determines that there is an empty unit in the storage unit 13, the processing proceeds to step S13, and the above-described processing is performed. In this case, in step S13, the write processing unit 21 writes data in order starting from the cluster serving as a starting point when a file is newly allocated to the unit and data is written. In step S14, the write processing unit 21 updates the management information in the management information holding unit 22 in response to the writing.

一方、ステップS15において、書き込み処理部21が記憶部13に空ユニットがないと判定した場合、処理はステップS16に進む。   On the other hand, when the write processing unit 21 determines in step S15 that there is no empty unit in the storage unit 13, the process proceeds to step S16.

ステップS16において、書き込み処理部21は、ファイル検索部23に対して、更新日時が一定以上古いファイルを検索するように指示し、ファイル検索部23が、更新日時が一定以上古いファイルを検出すると、処理はステップS17に進む。   In step S16, the write processing unit 21 instructs the file search unit 23 to search for a file whose update date is older than a certain value. When the file search unit 23 detects a file whose update date is older than a certain value, The process proceeds to step S17.

ステップS17において、ファイル検索部23は、ステップS16で検出したファイルが割り当てられているユニットに空クラスタがあるか否かを判定する。   In step S17, the file search unit 23 determines whether there is an empty cluster in the unit to which the file detected in step S16 is assigned.

ステップS17において、ファイル検索部23がユニットに空クラスタがないと判定した場合、即ち、ユニットの全てのクラスタにデータが記憶されている場合、処理はステップS16に戻り、以下、同様の処理が繰り返される。なお、例えば、処理が繰り返して行われた結果、更新日時が一定以上古いファイルが割り当てられている全てのユニットに空クラスタがない場合には、ファイル検索部23は、その旨を図示しない上位の制御部に通知する。そして、この場合、データの書き込みを行うことができないことを示すメッセージがユーザに通知され、処理は中止される。   In step S17, if the file search unit 23 determines that there is no empty cluster in the unit, that is, if data is stored in all the clusters of the unit, the process returns to step S16, and the same process is repeated thereafter. It is. Note that, for example, when the processing is repeated and there is no empty cluster in all the units to which files whose update date is older than a certain value are not present, the file search unit 23 displays an upper level not shown. Notify the control unit. In this case, a message indicating that data cannot be written is notified to the user, and the process is stopped.

一方、ステップS17において、ファイル検索部23がユニットに空クラスタがあると判定した場合、処理はステップS18に進む。   On the other hand, if the file search unit 23 determines in step S17 that there is an empty cluster in the unit, the process proceeds to step S18.

ステップS18において、ファイル検索部23は、ステップS16で検出したファイルが割り当てられているユニットを、リスト保持部24に保持されているリストに登録する。このとき、ファイル検索部23は、リストに登録したユニットが有する空クラスタの個数を、そのユニットに対応付けてリストに登録する。   In step S18, the file search unit 23 registers the unit to which the file detected in step S16 is assigned in the list held in the list holding unit 24. At this time, the file search unit 23 registers the number of empty clusters included in the unit registered in the list in the list in association with the unit.

ステップS19において、ファイル検索部23は、リスト保持部24のリストにおいて、空クラスタを有するユニットの登録数が一定数以上であるか否かを判定する。   In step S <b> 19, the file search unit 23 determines whether or not the number of units having empty clusters in the list of the list holding unit 24 is equal to or greater than a certain number.

ステップS19において、ファイル検索部23が、空クラスタを有するユニットの登録数が一定数以上でない(即ち、空クラスタを有するユニットの登録数が一定数未満である)と判定した場合、処理はステップS16に戻り、以下、同様の処理が繰り返される。一方、ステップS19において、ファイル検索部23が、空クラスタを有するユニットの登録数が一定数以上であると判定した場合、処理はステップS20に進む。   In step S19, when the file search unit 23 determines that the number of registered units having an empty cluster is not a certain number (that is, the number of registered units having an empty cluster is less than a certain number), the process proceeds to step S16. Thereafter, the same processing is repeated. On the other hand, if the file search unit 23 determines in step S19 that the number of registered units having an empty cluster is equal to or greater than a certain number, the process proceeds to step S20.

ステップS20において、ファイル検索部23は、リスト保持部24のリストに登録されているユニットにおいて、空クラスタの個数が最も多いユニットを選択して、そのユニットを書き込み処理部21に通知する。   In step S <b> 20, the file search unit 23 selects a unit having the largest number of empty clusters among the units registered in the list of the list holding unit 24 and notifies the write processing unit 21 of the unit.

ステップS21において、書き込み処理部21は、管理情報保持部22の管理情報を参照して、ステップS20でファイル検索部23から通知されたユニットにおける先頭の空クラスタを、データを書き込む起点として特定する。その後、処理はステップS13に進み、以下、上述した処理が行われる。なお、この場合には、書き込み処理部21は、ステップS13において、ステップS21で特定した起点となるクラスタから順番にデータの書き込みを行い、ステップS14において、この書き込みに対応して管理情報保持部22の管理情報を更新する。さらに、書き込み処理部21は、ステップS14において、書き込みを行ったユニットに関して、リスト保持部24に保持されているリストを更新し、そのユニットが有する空クラスタの個数を変更したり、そのユニットをリストから削除したりする。   In step S21, the write processing unit 21 refers to the management information in the management information holding unit 22, and identifies the first empty cluster in the unit notified from the file search unit 23 in step S20 as a starting point for writing data. Thereafter, the process proceeds to step S13, where the above-described process is performed. In this case, in step S13, the write processing unit 21 writes data in order from the cluster that is the starting point specified in step S21, and in step S14, the management information holding unit 22 corresponds to this write. Update management information for. Further, in step S14, the write processing unit 21 updates the list held in the list holding unit 24 with respect to the unit for which writing has been performed, changes the number of empty clusters included in the unit, or lists the unit. Or delete from.

以上のように、情報処理装置11では、空ユニットがない場合でも、更新日時が一定以上の古いファイルが割り当てられたユニットの空クラスタに、データを書き込むことができる。更新日時が一定以上の古いファイルが割り当てられたユニットのうちの、空クラスタを有するユニットを登録したリストを利用することで、データを書き込むクラスタを特定する処理の処理速度を向上させることができる。   As described above, in the information processing apparatus 11, even when there is no empty unit, data can be written into an empty cluster of a unit to which an old file having an update date and time equal to or greater than a certain value is assigned. By using a list in which units having an empty cluster among the units to which old files with an update date and time more than a certain value are assigned, the processing speed of the process for identifying the cluster to which data is written can be improved.

また、例えば、空ユニットがない場合にデータを書き込む対象とするユニットを、更新日時が一定以上の古いファイルが割り当てられたユニットとすることで、そのファイルに追記が発生する可能性が低いことより、デフラグの発生を抑制することができる。また、全てのユニットを検索対象とする場合よりも、処理速度を向上させることができる。なお、空ユニットがない場合にデータを書き込む対象とするユニットを、更新日時が古い順番で割り当ててもよい。   In addition, for example, if there is no empty unit, the unit to which data is to be written is a unit to which an old file with a certain update date and time is assigned, so that the possibility of additional writing to that file is low The occurrence of defragmentation can be suppressed. In addition, the processing speed can be improved as compared with the case where all units are searched. Note that, when there are no empty units, the units for which data is to be written may be assigned in the order of update date and time.

また、図6のステップS20において、空クラスタの個数が最も多いユニットを選択する他、例えば、更新日時が古いファイルが割り当てられているユニットから順番に選択してもよい。   Further, in step S20 of FIG. 6, in addition to selecting the unit having the largest number of empty clusters, for example, the units may be selected in order from the unit to which the file with the oldest update date is assigned.

また、情報処理装置11では、ユーザの操作に従ってデフラグ処理部25がデフラグ処理を行う際に、複数のファイルを纏めて1つのユニットに割り当てる統合処理を行うことができる。   Further, in the information processing apparatus 11, when the defragmenting unit 25 performs the defragmentation process according to the user's operation, it is possible to perform an integration process that collectively allocates a plurality of files to one unit.

次に、図7を参照して、デフラグ処理部25によるファイルの統合処理について説明する。   Next, file integration processing by the defragmentation processing unit 25 will be described with reference to FIG.

図7には、図4および図5と同様に、アドレス0x00からアドレス0x20により識別されるクラスタが示されている。そして、アドレス0x00の第1および第2のユニットにファイル1が割り当てられ、アドレス0x00の1番目のクラスタから10番目のクラスタまでファイル1のデータが記憶されている。また、アドレス0x10の第1のユニットにファイル2が割り当てられ、アドレス0x10の1番目のクラスタにファイル2のデータが記憶されている。また、また、アドレス0x10の第2のユニットにファイル3が割り当てられ、アドレス0x10の9番目および10番目のクラスタにファイル2のデータが記憶されている。   FIG. 7 shows clusters identified by addresses 0x00 to 0x20, as in FIGS. 4 and 5. The file 1 is assigned to the first and second units of the address 0x00, and the data of the file 1 is stored from the first cluster to the tenth cluster of the address 0x00. The file 2 is assigned to the first unit at the address 0x10, and the data of the file 2 is stored in the first cluster at the address 0x10. In addition, the file 3 is assigned to the second unit at the address 0x10, and the data of the file 2 is stored in the ninth and tenth clusters at the address 0x10.

デフラグ処理部25は、ユニットのサイズに対して一定のサイズ以下のデータを有する複数のファイルを1つのユニットに割り当て、それらのファイルを纏める統合処理を行う。また、デフラグ処理部25は、ユニットのサイズよりも大きなデータを有するファイルであっても、ファイルの末尾のデータが割り当てられているユニットにおいて、そのデータが一定のサイズ以下である場合には、そのデータを統合処理の対象とする。   The defragmenter 25 assigns a plurality of files having data smaller than a certain size with respect to the unit size to one unit, and performs an integration process for collecting these files. In addition, even if the file has data larger than the size of the unit, the defrag processing unit 25 determines that if the data is less than a certain size in the unit to which the data at the end of the file is assigned. Data is subject to integration processing.

つまり、図7に示すように、ユニットのサイズに対して一定のサイズ以下のデータであるファイル2および3が統合処理の対象とされる。また、ファイル1の末尾のデータが割り当てられているアドレス0x00の第2のユニットにおけるファイル1のデータが統合処理の対象とされる。   That is, as shown in FIG. 7, files 2 and 3 that are data of a certain size or less with respect to the unit size are targeted for integration processing. Further, the data of the file 1 in the second unit at the address 0x00 to which the last data of the file 1 is assigned is the target of the integration process.

従って、デフラグ処理部25は、ファイル1の末尾のデータ、ファイル2、およびファイル3を纏めてアドレス0x00の第2のユニットに割り当てる統合処理を行う。これにより、図7に示すように、ファイル2は、アドレス0x00の11番目のクラスタに書き込まれ、ファイル3は、アドレス0x00の12番目および13番目のクラスタに書き込まれる。   Accordingly, the defragmentation processing unit 25 performs an integration process of assigning the last data of the file 1, the file 2, and the file 3 to the second unit at the address 0x00. As a result, as shown in FIG. 7, file 2 is written to the eleventh cluster at address 0x00, and file 3 is written to the twelfth and thirteenth clusters at address 0x00.

このように、デフラグ処理部25が統合処理を行うことによって、情報処理装置11では、データ量の少ないファイルがユニットに割り当てられることによって、記憶部13において、データの記憶に使用される領域の比率が低下することを回避することができる。即ち、より効率的に記憶部13を使用することができる。   As described above, when the defragmentation processing unit 25 performs the integration process, the information processing apparatus 11 assigns a file with a small amount of data to the unit, so that the ratio of the areas used for data storage in the storage unit 13. Can be avoided. That is, the storage unit 13 can be used more efficiently.

なお、デフラグ処理部25は、更新の可能性が低いと想定される更新日時が一定期間経過しているファイルを、統合処理の対象として処理を行う。   Note that the defrag processing unit 25 processes a file whose update date and time, which is assumed to have a low possibility of being updated, for a certain period of time as a target of the integration process.

また、例えば、クラスタのサイズを大きく設定することによってもデフラグの発生を抑制することができると想定されるが、このようにクラスタのサイズを大きく設定した場合には、クラスタに複数のファイルのデータを記憶させることはできない。そのため、クラスタのサイズよりも小さなサイズのファイルが記憶されると、記憶領域の使用効率が低下することになる。これに対し、情報処理装置11は、ユニットに複数のファイルを割り当てることができるため、記憶部13の使用効率の低下を回避することができる。   In addition, for example, it is assumed that defragmentation can be suppressed by setting the cluster size to a large size. However, when the cluster size is set to a large size in this way, the data of multiple files are stored in the cluster. Cannot be remembered. Therefore, if a file having a size smaller than the size of the cluster is stored, the use efficiency of the storage area is lowered. On the other hand, since the information processing apparatus 11 can allocate a plurality of files to the unit, it is possible to avoid a decrease in the usage efficiency of the storage unit 13.

なお、デフラグ処理部25は、ユーザの操作に従ってデフラグを実行する際に統合処理を行う他、例えば、所定の一定期間ごとに定期的に統合処理を行うことができる。または、デフラグ処理部25は、記憶部13に設定された全てのユニットにファイルが割り当てられたタイミングで、または空ユニットが所定数以下となったタイミングで、統合処理を行うことができる。これにより、例えば、記憶部13において空ユニットがなくなることによって発生する処理を実行することを回避することができ、書き込み速度の向上を図ることができる。   In addition, the defragmentation processing unit 25 can perform the integration process at regular intervals, for example, in addition to performing the integration process when performing the defragmentation according to the user's operation. Alternatively, the defrag processing unit 25 can perform the integration process at the timing when files are allocated to all the units set in the storage unit 13 or when the number of empty units becomes a predetermined number or less. As a result, for example, it is possible to avoid executing the processing that occurs when there is no empty unit in the storage unit 13, and the writing speed can be improved.

また、情報処理装置11では、ファイル管理部12が記憶部13に記憶されているファイルの管理に使用するメタデータを、記憶部13の一部に記憶させて処理を行っている。その際、メタデータはクラスタ単位で扱い、記憶部13にメタデータ用のユニットを設けることができる。   Further, in the information processing apparatus 11, the file management unit 12 performs processing by storing metadata used for managing the files stored in the storage unit 13 in a part of the storage unit 13. At that time, metadata is handled in cluster units, and a unit for metadata can be provided in the storage unit 13.

通常、ファイルの管理に使用するメタデータのサイズは、ユニットのサイズよりも小さいものであり、メタデータごとにユニットを割り当てた場合には、記憶部13の使用効率が低下することが想定される。そこで、情報処理装置11では、記憶部13にメタデータ用のユニットを設け、メタデータ用のユニットにおいてデータの書き込みをクラスタ単位で行うことにより、記憶部13の使用効率の低下を回避することができる。   Usually, the size of metadata used for file management is smaller than the size of a unit, and when a unit is allocated for each metadata, it is assumed that the use efficiency of the storage unit 13 is lowered. . Therefore, in the information processing apparatus 11, a metadata unit is provided in the storage unit 13, and writing of data is performed in units of clusters in the metadata unit, thereby avoiding a decrease in usage efficiency of the storage unit 13. it can.

なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。   Note that the processes described with reference to the flowcharts described above do not necessarily have to be processed in chronological order in the order described in the flowcharts, but are performed in parallel or individually (for example, parallel processes or objects). Processing). The program may be processed by one CPU, or may be distributedly processed by a plurality of CPUs.

また、上述した一連の処理(情報処理方法)は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。   Further, the above-described series of processing (information processing method) can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, the program is installed in a general-purpose personal computer from a program recording medium on which the program is recorded.

図8は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。   FIG. 8 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.

コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。   In a computer, a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, and a RAM (Random Access Memory) 103 are connected to each other via a bus 104.

バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。   An input / output interface 105 is further connected to the bus 104. The input / output interface 105 includes an input unit 106 including a keyboard, a mouse, and a microphone, an output unit 107 including a display and a speaker, a storage unit 108 including a hard disk and nonvolatile memory, and a communication unit 109 including a network interface. A drive 110 for driving a removable medium 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is connected.

以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。   In the computer configured as described above, the CPU 101 loads, for example, the program stored in the storage unit 108 to the RAM 103 via the input / output interface 105 and the bus 104 and executes the program. Is performed.

コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。   The program executed by the computer (CPU 101) is, for example, a magnetic disk (including a flexible disk), an optical disk (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc.), a magneto-optical disk, or a semiconductor. The program is recorded on a removable medium 111 that is a package medium including a memory or the like, or is provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.

そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。   The program can be installed in the storage unit 108 via the input / output interface 105 by attaching the removable medium 111 to the drive 110. Further, the program can be received by the communication unit 109 via a wired or wireless transmission medium and installed in the storage unit 108. In addition, the program can be installed in the ROM 102 or the storage unit 108 in advance.

なお、本技術は以下のような構成も取ることができる。
(1)
データをクラスタごとに記憶する記憶部に対し、所定数の前記クラスタで構成されるユニットを基準としてファイル単位のデータを書き込む処理を行う書き込み処理部
を備える情報処理装置。
(2)
前記書き込み処理部は、前記記憶部に既に記憶されているファイルにデータを追記する際に、
追記の対象となるファイルに割り当てられている前記ユニットに、データの書き込まれていない前記クラスタがある場合には、そのクラスタからデータの書き込みを行い、
追記の対象となるファイルに割り当てられている前記ユニットに、データの書き込まれていない前記クラスタがない場合には、追記の対象となるファイルに前記ユニットを新たに割り当てて、そのユニットの前記クラスタからデータの書き込みを行う
上記(1)に記載の情報処理装置。
(3)
前記記憶部に記憶されている更新日時が一定以上の古いファイルを検索するファイル検索部と、
前記ファイル検索部が検出したファイルが割り当てられている前記ユニットのうちの、データの書き込まれていない前記クラスタを有する前記ユニットが登録されるリストを保持するリスト保持部と
をさらに備える上記(1)または(2)に記載の情報処理装置。
(4)
前記ファイル検索部は、前記記憶部の全ての前記クラスタにファイルが割り当てられている場合、所定数の前記ユニットが登録された前記リストの中から所望の前記ユニットを、新たにデータを書き込む対象として選択する
上記(1)から(3)までのいずれかに記載の情報処理装置。
(5)
前記ファイル検索部は、所定数の前記ユニットが登録された前記リストの中から、データの書き込まれていない前記クラスタの個数が最も多い前記ユニットを選択する
上記(4)に記載の情報処理装置。
(6)
前記ファイル検索部は、所定数の前記ユニットが登録された前記リストの中から、更新日時が古いファイルが割り当てられている前記ユニットから順番に前記ユニットを選択する
上記(4)に記載の情報処理装置。
(7)
前記書き込み処理部がデータを書き込む起点となる前記クラスタを示す情報を管理情報として保持する管理情報保持部
をさらに備える上記(1)から(6)までのいずれかに記載の情報処理装置。
(8)
前記管理情報保持部は、前記記憶部に既に記憶されているファイルが割り当てられたユニットを示す情報を管理情報として保持する
上記(7)に記載の情報処理装置。
(9)
前記管理情報保持部は、ファイルにデータを追記する際の起点として、先頭の前記クラスタから順番にデータが書き込まれている前記ユニットの前記クラスタのうちの、データの書き込まれていない先頭の前記クラスタを示す情報を管理情報として保持する
上記(7)に記載の情報処理装置。
(10)
前記管理情報保持部は、前記ユニットにファイルを新たに割り当ててデータを書き込む際の起点として、最後に書き込まれたファイルが割り当てられた前記ユニットの次の前記ユニットであって、かつ、ファイルの割り当てられていない前記ユニットの先頭のクラスタを示す情報を管理情報として保持する
上記(7)に記載の情報処理装置。
(11)
前記記憶部が、所定の記憶領域ごとにデータを一括で消去するように構成されているとき、一括でデータを消去する所定の記憶領域と一致するように前記ユニットが設定されている
上記(1)から(10)までのいずれかに記載の情報処理装置。
(12)
所定サイズ以下のデータからなる複数のファイルを、1つのユニットに割り当てて統合する処理を行う統合処理部
をさらに備える上記(1)から(11)までのいずれかに記載の情報処理装置。
(13)
前記統合処理部は、更新日時が一定期間経過しているファイルを処理の対象とする
上記(12)に記載の情報処理装置。
(14)
前記書き込み処理部は、前記記憶部に記憶されているファイルの管理に使用する所定のデータの記憶に使用するために設けられた前記ユニットでは、前記クラスタごとにデータの書き込みを行う
上記(1)から(13)までのいずれかに記載の情報処理装置。
In addition, this technique can also take the following structures.
(1)
An information processing apparatus comprising: a write processing unit that performs a process of writing data in units of files on the basis of a unit composed of a predetermined number of clusters to a storage unit that stores data for each cluster.
(2)
When the write processing unit appends data to a file already stored in the storage unit,
When there is the cluster in which no data is written in the unit assigned to the file to be added, the data is written from the cluster,
In the case where there is no cluster in which no data is written in the unit assigned to the file to be added, the unit is newly assigned to the file to be added, and from the cluster of the unit. The information processing apparatus according to (1), wherein data is written.
(3)
A file search unit for searching for an old file whose update date and time stored in the storage unit is equal to or greater than a certain value;
A list holding unit that holds a list in which the unit having the cluster in which no data is written among the units to which the file detected by the file search unit is allocated is further provided (1) Or the information processing apparatus according to (2).
(4)
The file search unit, when a file is assigned to all the clusters of the storage unit, the desired unit from the list in which a predetermined number of the units are registered as a target to which data is newly written. The information processing apparatus according to any one of (1) to (3).
(5)
The information processing apparatus according to (4), wherein the file search unit selects the unit having the largest number of the clusters in which no data is written from the list in which a predetermined number of the units are registered.
(6)
The information processing unit according to (4), wherein the file search unit selects the units in order from the unit to which a file having an old update date / time is assigned from the list in which a predetermined number of the units are registered. apparatus.
(7)
The information processing apparatus according to any one of (1) to (6), further including a management information holding unit that holds, as management information, information indicating the cluster from which the write processing unit starts writing data.
(8)
The information processing apparatus according to (7), wherein the management information holding unit holds, as management information, information indicating a unit to which a file already stored in the storage unit is assigned.
(9)
The management information holding unit, as a starting point when adding data to a file, of the clusters of the unit in which data is written in order from the first cluster, the first cluster to which no data is written Information processing apparatus as described in said (7) which hold | maintains the information which shows as management information.
(10)
The management information holding unit is a unit next to the unit to which the last written file is assigned as a starting point when a file is newly assigned to the unit and data is written, and the file assignment The information processing apparatus according to (7), wherein information indicating a leading cluster of the unit that is not used is held as management information.
(11)
When the storage unit is configured to erase data in batches for each predetermined storage area, the unit is set to match a predetermined storage area for batch data deletion (1 ) To (10).
(12)
The information processing apparatus according to any one of (1) to (11), further including an integration processing unit that performs processing of assigning and integrating a plurality of files including data of a predetermined size or less to one unit.
(13)
The information processing apparatus according to (12), wherein the integrated processing unit targets a file whose update date and time has passed for a certain period of time.
(14)
The write processing unit writes data for each cluster in the unit provided for use in storing predetermined data used for managing files stored in the storage unit (1) To (13).

なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。   Note that the present embodiment is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present disclosure.

11 情報処理装置, 12 ファイル管理部, 13 記憶部, 21 書き込み処理部, 22 管理情報保持部, 23 ファイル検索部, 24 リスト保持部,25 デフラグ処理部   DESCRIPTION OF SYMBOLS 11 Information processing apparatus, 12 File management part, 13 Storage part, 21 Write processing part, 22 Management information holding part, 23 File search part, 24 List holding part, 25 Defragmenting part

Claims (16)

データをクラスタごとに記憶する記憶部と、
前記記憶部に対し、所定数の前記クラスタで構成されるユニットを基準としてファイル単位のデータを書き込む処理を行う書き込み処理部と
を備える情報処理装置。
A storage unit for storing data for each cluster;
An information processing apparatus comprising: a write processing unit that performs a process of writing data in units of files on the basis of a unit configured by a predetermined number of clusters to the storage unit.
前記書き込み処理部は、前記記憶部に既に記憶されているファイルにデータを追記する際に、
追記の対象となるファイルに割り当てられている前記ユニットに、データの書き込まれていない前記クラスタがある場合には、そのクラスタからデータの書き込みを行い、
追記の対象となるファイルに割り当てられている前記ユニットに、データの書き込まれていない前記クラスタがない場合には、追記の対象となるファイルに前記ユニットを新たに割り当てて、そのユニットの前記クラスタからデータの書き込みを行う
請求項1に記載の情報処理装置。
When the write processing unit appends data to a file already stored in the storage unit,
When there is the cluster in which no data is written in the unit assigned to the file to be added, the data is written from the cluster,
In the case where there is no cluster in which no data is written in the unit assigned to the file to be added, the unit is newly assigned to the file to be added, and from the cluster of the unit. The information processing apparatus according to claim 1, wherein data is written.
前記記憶部に記憶されている更新日時が一定以上の古いファイルを検索するファイル検索部と、
前記ファイル検索部が検出したファイルが割り当てられている前記ユニットのうちの、データの書き込まれていない前記クラスタを有する前記ユニットが登録されるリストを保持するリスト保持部と
をさらに備える請求項1に記載の情報処理装置。
A file search unit for searching for an old file whose update date and time stored in the storage unit is equal to or greater than a certain value;
The list holding unit that holds a list in which the unit having the cluster in which no data is written among the units to which the file detected by the file search unit is allocated is further included. The information processing apparatus described.
前記ファイル検索部は、前記記憶部の全ての前記クラスタにファイルが割り当てられている場合、所定数の前記ユニットが登録された前記リストの中から所望の前記ユニットを、新たにデータを書き込む対象として選択する
請求項3に記載の情報処理装置。
The file search unit, when a file is assigned to all the clusters of the storage unit, the desired unit from the list in which a predetermined number of the units are registered as a target to which data is newly written. The information processing apparatus according to claim 3 to be selected.
前記ファイル検索部は、所定数の前記ユニットが登録された前記リストの中から、データの書き込まれていない前記クラスタの個数が最も多い前記ユニットを選択する
請求項4に記載の情報処理装置。
The information processing apparatus according to claim 4, wherein the file search unit selects the unit having the largest number of the clusters in which no data is written from the list in which a predetermined number of the units are registered.
前記ファイル検索部は、所定数の前記ユニットが登録された前記リストの中から、更新日時が古いファイルが割り当てられている前記ユニットから順番に前記ユニットを選択する
請求項4に記載の情報処理装置。
5. The information processing apparatus according to claim 4, wherein the file search unit selects the units in order from the unit to which the file with the oldest update date is assigned from the list in which a predetermined number of the units are registered. .
前記書き込み処理部がデータを書き込む起点となる前記クラスタを示す情報を管理情報として保持する管理情報保持部
をさらに備える請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, further comprising: a management information holding unit that holds, as management information, information indicating the cluster from which the write processing unit starts writing data.
前記管理情報保持部は、前記記憶部に既に記憶されているファイルが割り当てられたユニットを示す情報を管理情報として保持する
請求項7に記載の情報処理装置。
The information processing apparatus according to claim 7, wherein the management information holding unit holds information indicating a unit to which a file already stored in the storage unit is assigned as management information.
前記管理情報保持部は、ファイルにデータを追記する際の起点として、先頭の前記クラスタから順番にデータが書き込まれている前記ユニットの前記クラスタのうちの、データの書き込まれていない先頭の前記クラスタを示す情報を管理情報として保持する
請求項7に記載の情報処理装置。
The management information holding unit, as a starting point when adding data to a file, of the clusters of the unit in which data is written in order from the first cluster, the first cluster to which no data is written The information processing apparatus according to claim 7, wherein information indicating the management information is held as management information.
前記管理情報保持部は、前記ユニットにファイルを新たに割り当ててデータを書き込む際の起点として、最後に書き込まれたファイルが割り当てられた前記ユニットの次の前記ユニットであって、かつ、ファイルの割り当てられていない前記ユニットの先頭のクラスタを示す情報を管理情報として保持する
請求項7に記載の情報処理装置。
The management information holding unit is a unit next to the unit to which the last written file is assigned as a starting point when a file is newly assigned to the unit and data is written, and the file assignment The information processing apparatus according to claim 7, wherein information indicating a leading cluster of the unit that has not been stored is held as management information.
前記記憶部が、所定の記憶領域ごとにデータを一括で消去するように構成されているとき、一括でデータを消去する所定の記憶領域と一致するように前記ユニットが設定されている
請求項1に記載の情報処理装置。
2. When the storage unit is configured to erase data in batches for each predetermined storage area, the unit is set to coincide with a predetermined storage area for erasing data in a batch. The information processing apparatus described in 1.
所定サイズ以下のデータからなる複数のファイルを、1つのユニットに割り当てて統合する処理を行う統合処理部
をさらに備える請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, further comprising: an integration processing unit that performs processing for assigning and integrating a plurality of files including data of a predetermined size or less to one unit.
前記統合処理部は、更新日時が一定期間経過しているファイルを処理の対象とする
請求項12に記載の情報処理装置。
The information processing apparatus according to claim 12, wherein the integrated processing unit targets a file whose update date and time has passed for a certain period of time.
前記書き込み処理部は、前記記憶部に記憶されているファイルの管理に使用する所定のデータの記憶に使用するために設けられた前記ユニットでは、前記クラスタごとにデータの書き込みを行う
請求項1に記載の情報処理装置。
The write processing unit writes data for each cluster in the unit provided for use in storing predetermined data used for managing files stored in the storage unit. The information processing apparatus described.
記憶部にデータをクラスタごとに記憶させ、
前記記憶部に対し、所定数の前記クラスタで構成されるユニットを基準としてファイル単位のデータを書き込む
ステップを含む情報処理方法。
Store the data for each cluster in the storage unit,
An information processing method including a step of writing data in units of files on the basis of a unit composed of a predetermined number of clusters to the storage unit.
記憶部にデータをクラスタごとに記憶させ、
前記記憶部に対し、所定数の前記クラスタで構成されるユニットを基準としてファイル単位のデータを書き込む
ステップを含む処理をコンピュータに実行させるプログラム。
Store the data for each cluster in the storage unit,
A program for causing a computer to execute a process including a step of writing data in units of files on the basis of a unit composed of a predetermined number of clusters to the storage unit.
JP2012125659A 2012-06-01 2012-06-01 Information processing device, information processing method, and program Pending JP2013250831A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012125659A JP2013250831A (en) 2012-06-01 2012-06-01 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012125659A JP2013250831A (en) 2012-06-01 2012-06-01 Information processing device, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2013250831A true JP2013250831A (en) 2013-12-12

Family

ID=49849431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012125659A Pending JP2013250831A (en) 2012-06-01 2012-06-01 Information processing device, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2013250831A (en)

Similar Documents

Publication Publication Date Title
US11573701B2 (en) Memory device and host device
US10732905B2 (en) Automatic I/O stream selection for storage devices
US9218277B2 (en) Wear leveling
EP2715510B1 (en) Method for storage devices to achieve low write amplification with low over provision
US20160054936A1 (en) Information processing system and nonvolatile storage unit
US9229860B2 (en) Storage system
JP2017111476A (en) Memory system and control method
JP2015506041A (en) Working set swap using sequential swap file
US10599619B2 (en) Techniques for managing file fragmentation at a computing device
JP2018160189A (en) Memory system
US20080320212A1 (en) Control device and control method of nonvolatile memory and storage device
US11132134B2 (en) Flexible over-provisioning of storage space within solid-state storage devices (SSDs)
US10949340B2 (en) Block mapping systems and methods for storage device
EP2381354A2 (en) Data recording device
US20200104384A1 (en) Systems and methods for continuous trim commands for memory systems
US11429519B2 (en) System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
JP2013250831A (en) Information processing device, information processing method, and program
KR20170122090A (en) Garbage collection method for performing memory controller of storage device and memory controler
JP2011076441A (en) Information recording device, information recording method and information-recording program
US20130332661A1 (en) Information processing apparatus and method and program
JP6668785B2 (en) Information processing system, storage control device, storage control method, and storage control program
JP5648918B2 (en) Storage system, storage device, and snapshot processing method
JP2013156974A (en) Memory block allocation device and method taking into account file attributes