JP2020109591A - Information processing apparatus, control method therefor, and program - Google Patents
Information processing apparatus, control method therefor, and program Download PDFInfo
- Publication number
- JP2020109591A JP2020109591A JP2019000772A JP2019000772A JP2020109591A JP 2020109591 A JP2020109591 A JP 2020109591A JP 2019000772 A JP2019000772 A JP 2019000772A JP 2019000772 A JP2019000772 A JP 2019000772A JP 2020109591 A JP2020109591 A JP 2020109591A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- recording
- recording area
- controller
- 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
Links
Images
Abstract
Description
本発明は、情報処理装置に関する。 The present invention relates to an information processing device.
記録領域にデータを書込んで記録することができる半導体メモリデバイスがある。この半導体メモリデバイスを情報処理装置などのシステムに利用することが考えられる(特許文献1、2)。しかしながら、半導体メモリデバイスには、データが書込まれている記録領域に対して、新たなデータを上書きできないデータ用メモリを有するものがある。この場合、情報処理装置は、半導体メモリデバイスに対して、データが書込まれている記録領域に対して新たなデータの書込みを可能にするための領域解放処理を指示し、半導体メモリデバイスの下位コントローラがそれを実行する必要がある。
There is a semiconductor memory device that can write and record data in a recording area. It is conceivable to utilize this semiconductor memory device in a system such as an information processing device (
しかしながら、半導体メモリデバイスの下位コントローラがデータ用メモリについての領域解放処理を実行している場合、情報処理装置は、半導体メモリデバイスの記録領域を利用することが難しい。情報処理装置は、下位コントローラが領域解放処理の実行中においては、半導体メモリデバイスのデータ用メモリの記録領域を利用した処理を実行することができなくなる可能性がある。 However, when the lower controller of the semiconductor memory device is executing the area release process for the data memory, it is difficult for the information processing apparatus to use the recording area of the semiconductor memory device. The information processing apparatus may not be able to execute the process using the recording area of the data memory of the semiconductor memory device while the lower controller is executing the area releasing process.
このように、情報処理装置では、データが書込まれた記録領域に対して新たなデータを上書きできないデータ用メモリを利用する場合には、そのようなデータ用メモリの利用に起因した性能や利便性の低下を抑制することが求められている。 As described above, in the information processing apparatus, when using the data memory in which new data cannot be overwritten in the recording area in which the data has been written, the performance and convenience due to the use of such data memory are used. It is required to suppress the deterioration of sex.
本発明に係る情報処理装置は、データが書込まれている記録領域に対して新たなデータを上書きできないデータ用メモリと、前記データ用メモリを管理して、データが書込まれている記録領域に対して新たなデータの書込みを可能にするための領域解放処理を実行する下位コントローラと、前記データ用メモリの記録領域を含む記録空間および前記記録空間に記録されているデータを管理する上位コントローラと、を有し、前記上位コントローラは、前記記録空間で記録されているデータを前記記録空間の管理から削除する際に、前記データ用メモリに記録していたデータの属性に応じて、前記記録領域を指定した前記領域解放処理を、前記下位コントローラへ指示する。 An information processing apparatus according to the present invention manages a data memory in which new data cannot be overwritten in a recording area in which data is written and a recording area in which data is written by managing the data memory. A lower controller that executes an area release process to enable new data to be written to, and a higher controller that manages a recording space including a recording area of the data memory and data recorded in the recording space And, when deleting the data recorded in the recording space from management of the recording space, the upper controller records the recording according to the attribute of the data recorded in the data memory. The area release processing specifying the area is instructed to the lower controller.
本発明では、情報処理装置において、データが書込まれた記録領域に対して新たなデータを上書きできないデータ用メモリを利用しつつ、そのようなデータ用メモリの利用に起因した性能や利便性の低下を抑制することができる。 According to the present invention, in the information processing apparatus, while using the data memory in which new data cannot be overwritten in the recording area in which the data is written, performance and convenience due to the use of such data memory can be improved. The decrease can be suppressed.
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は実施形態に記載されている構成によって限定されることはない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited by the configurations described in the embodiments.
図1は、本発明の実施形態に係る情報処理装置の一例としての画像形成装置101の概略的な構成図である。図1の画像形成装置101は、プリント、コピー、ファックス、スキャナといった複数の機能を実行するMFPの一例である。画像形成装置101は、操作部109、コントローラ102、ソリッド・ステート・ドライブ(SSD)111、印刷部107、原稿読取部108、を有する。コントローラ102は、CPU103、システムメモリ104、画像処理部105、ストレージ制御部110、を有する。SSD111は、半導体メモリデバイスの一例であり、NANDフラッシュメモリ(Flash Mem)113、NANDコントローラ112、管理メモリ114、を有する。画像形成装置101は、各種の機能の処理において、SSD111の記録領域を、画像形成装置101の記録空間の一部として用いる。なお、画像形成装置101は、図1に示すように単体の機器として構成されていても、複数の機器を組み合わせて構成されていてもよい。
FIG. 1 is a schematic configuration diagram of an
操作部109は、画像形成装置101に対するユーザ操作を取得する。また、操作部109は、タッチパネルなどの表示部を有し、操作に係る画像などを表示部に表示する。原稿読取部108は、原稿の画像を読み取る。印刷部107は、用紙に対して画像を印刷する。画像処理部105は、原稿読取部108、印刷部107に接続される。画像処理部105は、たとえば、原稿読取部108により読み取られた画像データを変換し、印刷用の画像データを生成する。ストレージ制御部110は、SATAインタフェース115により、SSD111のNANDコントローラ112と接続される。ストレージ制御部110は、SSD111のインタフェースとして機能する。コントローラ102のシステムメモリ104は、画像形成装置101において上述した各種の機能に対応するプログラム、およびプログラムの実行中に使用するデータを保持する。CPU103には、操作部109、システムメモリ104、画像処理部105、ストレージ制御部110、に接続される。なお、CPU103には、不図示のネットワークIFに接続されてよい。CPU103は、システムメモリ104に記録されているプログラムを読み込んで実行する。これにより、画像形成装置101の全体の動作を制御する制御部が、画像形成装置101に実現される。なお、コントローラ102には、所定のOSがインストールされ、OSの管理下で各種のシステム(ファイルシステムを含む)についての処理が実行されてよい。画像形成装置101の全体の動作を制御するCPU103は、SSD111の記録領域を含む画像形成装置101のすべての記録空間を管理する。CPU103は、SSD111の記録領域を含む画像形成装置101のすべての記録空間と、記録空間に記録されているデータと管理する。たとえば、CPU103は、SSD111に対してデータを書込んだり読み出したりするアクセスを行う場合、ストレージ制御部110に書込み動作または読み出し動作を指示する。ストレージ制御部110は、CPU103の指示に基づいて、指示に対応するコマンドを、SSD111のNANDコントローラ112へ出力する。また、ストレージ制御部110は、コマンドの実行結果としてのデータやステータスを、SSD111のNANDコントローラ112から取得する。ストレージ制御部110は、SSD111の動作を制御する。
The
SSD111において、NANDフラッシュメモリ113は、データ用メモリであり、書込まれたデータを、記録領域に読出可能に書込んで記録して保持する。管理メモリ114は、SSD111のNANDフラッシュメモリ113を管理するためのプログラム、およびプログラムの実行中に使用するデータを保持する。NANDコントローラ112は、NANDフラッシュメモリ113、管理メモリ114、に接続される。NANDコントローラ112は、管理メモリ114に記録されているプログラムを読み込んで実行する。これにより、SSD111の全体の動作を制御する制御部が、SSD111に実現される。SSD111の全体の動作を制御するNANDコントローラ112は、SSD111の記録領域を管理する。たとえば、NANDコントローラ112は、ストレージ制御部110から取得した書込みデータを、NANDフラッシュメモリ113の記録領域に記録して保持させる。NANDコントローラ112は、ストレージ制御部110から要求された読出しデータを、NANDフラッシュメモリ113の記録領域から読み出して、ストレージ制御部110へ出力する。NANDコントローラ112は、ストレージ制御部110からコマンドを取得した場合、コマンドに対応する処理を実行する。NANDコントローラ112は、コマンド実行後の状態を、ストレージ制御部110へ出力する。なお、NANDコントローラ112は、ストレージ制御部110との間で送受するデータを、管理メモリ114に一時的に書込んでよい。この場合、管理メモリ114は、送受するデータの一時的なデータバッファとして機能する。
In the
ところで、NANDフラッシュメモリ113などのSSD111に用いられるデータ用メモリには、データが書込まれている記録領域に対して新たなデータを上書きできないものがある。この場合、経時的にNANDフラッシュメモリ113についてのデータを書込める記録領域が減ってゆく。このため、NANDコントローラ112は、データが書込まれている記録領域に対して新たなデータの書込みを可能にするための領域解放処理を実行する必要がある。また、CPU103は、ストレージ制御部110を通じて、領域解放処理の指示コマンドを、NANDコントローラ112へ出力する必要がある。しかしながら、SSD111のNANDコントローラ112がNANDフラッシュメモリ113についての領域解放処理を実行している場合、情報処理装置は、SSD111の記録領域を利用することが難しい。情報処理装置は、NANDコントローラ112が領域解放処理の実行中においては、SSD111のNANDフラッシュメモリ113の記録領域を利用した処理を実行することができなくなる可能性がある。また、CPU103は、記録空間で記録されているデータを記録空間の管理から削除する際に、領域解放処理を実行しない場合、NANDフラッシュメモリ113の記録領域についての、新たなデータの書込みが可能な領域は、経時的に減る。新たなデータの書込みが可能な領域は、たとえば情報処理装置の連続使用期間が長くなることにより減り続ける。その結果、画像形成装置101では、NANDフラッシュメモリ113についての利用可能な記録領域が経時的に不足したり、画像形成装置101の処理速度が低下したりするなどの影響が生じる可能性がある。また、CPU103は、記録空間で記録されているデータを記録空間の管理から削除する際に、一律に領域解放処理を実行する場合、NANDフラッシュメモリ113からデータを削除する際には常に領域解放処理のための処理時間が必要になる。画像形成装置101は、その処理中においてはNANDフラッシュメモリ113の記録領域を利用した処理を実行することができなくなる。処理が実行できない期間が生じると、画像形成装置101としての利便性が悪くなる。このように、画像形成装置101では、データが書込まれた記録領域に対して新たなデータを上書きできないNANDフラッシュメモリ113を利用する場合には、そのようなメモリの特性に起因した性能や利便性の低下を抑制することが求められている。以下、本実施形態での対策について説明する。
By the way, some data memories used for the
図2は、図1の画像形成装置101において画像形成装置101の記憶空間を管理するためにシステムメモリ104に記録されるデータ管理テーブル501の一例の説明図である。CPU103は、データ管理テーブル501を用いて、画像形成装置101の記憶空間に記録されているデータを管理する。CPU103は、たとえば新たに記録するデータが発生すると、そのデータをSSD111などに記録するとともに、データ管理テーブル501を更新する。CPU103は、記録されているデータを管理から削除する場合、データ管理テーブル501を更新する。図2のデータ管理テーブル501は、データをファイル単位で管理するファイルシステムについての管理テーブルである。データ管理テーブル501は、少なくとも、論理アドレス502、データサイズ503、データ属性504、を有する。図2に示すように、データ管理テーブル501は、この他にも、記録日時505、消去日時506、などを有してよい。論理アドレス502は、画像形成装置101の記憶空間を一定のバイト数毎に順番に区分けし、その区分けされた記録領域ごとに固有に割り当てられる識別情報である。論理アドレス502の値により、画像形成装置101の記憶空間でのデータの記録領域を特定することができる。データ管理テーブル501は、論理アドレス502の値ごとのレコードを有する。データサイズ503は、ファイルについて記録されているデータ量をいう。論理アドレス502とデータサイズ503とにより、1つのファイルのデータが記録されている記録領域の範囲を特定することができる。データ属性504は、ファイルに記録されているデータの属性をいう。データ属性504の値には、たとえば、スプール、読み取り画像、アドレス帳、がある。「スプール」とは、データが、プリント処理する際の中間データを意味する。データ属性504が「スプール」であるファイルのデータは、画像処理中に一時的に生成される一時格納データである。「読み取り画像」とは、データが、画像形成装置101において読み取られた最終データを意味する。「アドレス帳」とは、ユーザデータとして記録管理される最終データを意味する。これらのデータ属性504が「読み取り画像」または「アドレス帳」であるファイルのデータは、画像処理後にも残存させることが望ましい最終データを意味する。記録日時505は、ファイルシステムの記録空間にファイルが記録された日時である。CPU103は、ファイルシステムの記録空間に新たなファイルを記録する場合、その日時をデータ管理テーブル501の記録日時505に記録する。消去日時506は、ファイルがファイルシステムの記録空間の管理から削除された日時である。CPU103は、ファイルシステムの記録空間からファイルを削除する場合、その日時をデータ管理テーブル501の消去日時506に記録する。このように、データ管理テーブル501は、データの属性情報として、データ属性504を記録する。データ属性504の情報により、CPU103は、NANDフラッシュメモリ113の記録領域を含むファイルシステムの各論理アドレスの記録領域に記録されているデータについて、中間データと最終データとを区別することができる。
FIG. 2 is an explanatory diagram of an example of the data management table 501 recorded in the
図3は、図1のSSD111のNANDフラッシュメモリ113の記録領域301の一例の説明図である。NANDフラッシュメモリ113の記録領域301には、図の上から下へ向かって物理アドレスが割り当てられる。物理アドレスは、NANDフラッシュメモリ113の記録領域301を一定のバイト数毎に順番に区分けし、その区分けされた記録領域ごとに固有に割り当てられる識別情報である。物理アドレスの値により、NANDフラッシュメモリ113の記録領域301でのデータの記録領域を特定することができる。図3のNANDフラッシュメモリ113の記録領域301は、スプール領域302、読み取りデータ格納領域303、を有する。スプール領域302、読み取りデータ格納領域303は、コントローラ102のCPU103によりデータ格納に利用される記録領域である。スプール領域は、一時的なデータを記録する領域である。一時的なデータには、たとえば印刷部107が印刷に使用する画像変換後の画像データがある。読み取りデータ格納領域は、最終成果物としての恒久的なデータを記録する領域である。恒久的なデータには、たとえば原稿読取部108による原稿を読み取った画像データがある。
FIG. 3 is an explanatory diagram of an example of the
図4は、図1のSSD111のNANDフラッシュメモリ113の記録領域を管理するためのアドレス管理テーブル701の一例の説明図である。図3のスプール領域302、読み取りデータ格納領域303には、論理アドレスが割り当てられる。アドレス管理テーブル701は、このような画像形成装置101の処理に係るデータを管理するために用いられる。図4のアドレス管理テーブル701は、図3のスプール領域302および読み取りデータ格納領域303についての物理アドレスと論理アドレスとを対応付けて記録するテーブルである。論理アドレスは、コントローラ102のCPU103からSSD111の記録領域を見た場合のアドレスである。物理アドレスは、SSD111のNANDフラッシュメモリ113の記録領域であるブロックのアドレスである。アドレス管理テーブル701は、記録空間についての論理アドレスと、NANDフラッシュメモリ113についての物理アドレスとを対応付けて記憶する。ここで、物理アドレスは、論理アドレスと一対一に紐付けられる。アドレス管理テーブル701は、管理メモリ114に記録される。NANDコントローラ112は、アドレス管理テーブル701を用いて、SSD111のスプール領域302および読み取りデータ格納領域303に記録されているデータを管理する。NANDコントローラ112は、たとえば論理アドレスを指定した新たな記録データが発生すると、そのデータを、スプール領域302または読み取りデータ格納領域303についての、データの書込みが可能な記録領域に記録する。NANDコントローラ112は、アドレス管理テーブル701を更新する。NANDコントローラ112は、データを記録した記録領域の物理アドレスに対応する論理アドレスを、指定された論理アドレスにより更新する。NANDコントローラ112は、たとえば論理アドレスを指定したデータの読み出しが発生すると、アドレス管理テーブル701を参照して指定された論理アドレスに対応する物理アドレスを取得し、取得した物理アドレスからデータを読み出す。NANDコントローラ112は、ガベージコレクションの処理を実行した場合、移動前の記録領域の物理アドレスに対応する論理アドレスにより、移動後の記録領域の物理アドレスに対応する論理アドレスを更新する。これにより、物理アドレスと論理アドレスとの紐付けが維持できる。
FIG. 4 is an explanatory diagram of an example of the address management table 701 for managing the recording area of the
図5は、図1のCPU103からSSD111へ出力する領域解放処理の指示コマンドとしてのTRIMコマンドの一例の説明図である。CPU103は、SSD111に領域解放処理を指示する場合、ストレージ制御部110からSSD111へTRIMコマンドを出力させる。TRIMコマンドは、ATA(AT Attachment)インタフェース規格で定められている領域解放処理の指示コマンドである。CPU103は、TRIMコマンドにより、物理消去をしてもよい論理アドレスを、SSD111へ通知する。図5のTRIMコマンドは、TRIMフィールド201、開始論理アドレスフィールド202、サイズフィールド203、を有する。TRIMフィールド201は、TRIMのための領域解放処理の有効無効を示すフィールドである。TRIMフィールド201が“1”にセットされると、領域解放処理が有効となる。TRIMフィールド201が“0”にセットされると、領域解放処理が無効となる。開始論理アドレスフィールド202は、データを削除する論理アドレスを格納するフィールドである。サイズフィールド203は、データを削除する記録領域のサイズを格納するフィールドである。NANDコントローラ112は、TRIMフィールド201が“1”にセットされている場合、開始論理アドレスフィールド202に記述された論理アドレスの記録領域から、サイズフィールド203に記述された記録領域までのデータを削除する。NANDコントローラ112は、領域指定された記録領域を、データ書込み可能な状態にする。
FIG. 5 is an explanatory diagram of an example of a TRIM command as an area release processing instruction command output from the
図6は、図1の操作部109に表示される記録データ表示画面の一例の説明図である。図6(a)は、記録データの表示画面である。CPU103は、記録データの表示画面を、図1の操作部109に表示する。図6(a)の記録データの表示画面401には、記録データの一覧をファイル名、サイズ、記録日時などとともに表示するウィンドウ402、ファイル選択のチェックボックス403、ファイル編集メニュー表示ボタン404、が表示される。図6(b)は、図6(a)において1つのチェックボックス403をチェックした状態でファイル編集メニュー表示ボタン404が操作された場合に、CPU103が操作部109に表示するポップアップウィンドウ405の表示画面である。ポップアップウィンドウ405には、ファイル編集内容として、削除ボタン406、ファイル複製ボタン、ファイル名変更ボタン、が表示される。削除ボタン406が押下された場合、CPU103は、削除指定されたファイルのデータを、ファイルシステムの管理から削除する。CPU103は、図2のデータ管理テーブル501において、削除指定されたファイルの消去日時506を記録する。
FIG. 6 is an explanatory diagram of an example of a recording data display screen displayed on the
図7は、図1の上位コントローラとしてのCPU103が実行する実データの削除処理の一例の流れを示すフローチャートである。CPU103は、ファイルシステムの管理からデータを削除する際に図7の実データの削除処理を実行し、データの属性などに応じてTRIMコマンドを発行して出力する。CPU103は、NANDフラッシュメモリ113の記録領域を含む記録空間および記録空間に記録されているデータを管理する上位制御工程として、図7の実データの削除処理を実行する。
FIG. 7 is a flowchart showing an example of the flow of actual data deletion processing executed by the
図7のステップS601において、CPU103は、ファイルシステムにおいてデータが削除されたか否かを判断する。CPU103は、たとえば図6の削除ボタン406が押下されたか否かを判断して、ファイルシステムにおいてデータが削除されたか否かを判断する。CPU103は、ファイルシステムにおいてデータが削除されていない場合、ステップS601の判断処理を繰り返す。ステップS602において、CPU103は、システムメモリ104に記録されたデータ管理テーブル501を参照し、削除されたデータの属性を確認する。ステップS603において、CPU103は、管理から削除されたデータの属性が、一時格納データとしてのスプールであるか否かを判断する。管理から削除されたデータの属性が一時格納データとしてのスプールでない場合、CPU103は、処理をステップS607へ進める。管理から削除されたデータの属性が一時格納データとしてのスプールである場合、CPU103は、処理をステップS604へ進める。
In step S601 of FIG. 7, the
ステップS604において、CPU103は、管理から削除されたデータを格納している記録領域についての、最初の論理アドレスと、サイズとを取得する。たとえば管理から削除されたデータがスプール領域302に記録されている場合、CPU103は、スプール領域302において管理から削除されたデータを格納している記録領域についての、最初の論理アドレスと、サイズとを取得する。ステップS605において、CPU103は、TRIMコマンドを生成する。CPU103は、TRIMコマンドのTRIMフィールド201に“1”を設定し、取得した論理アドレスを開始論理アドレスフィールド202に設定し、取得したサイズをサイズフィールド203に設定する。ステップS605において、CPU103は、ステップS605において生成した領域指定のTRIMコマンドを、SSD111へ出力する。その後、CPU103は、図7の処理を終了する。
In step S604, the
一方、ステップ603においてスプールデータでないと判断した場合、ステップS607において、CPU103は、ファイルシステムで管理しているSSD111の残容量(X)を確認する。CPU103は、たとえば、SSD111のスプール領域302についての残容量(X)を確認する。ステップS608において、CPU103は、確認した残容量(X)と、画像形成装置101の処理のために必要とされている必要量(Y)とを比較する。必要量は、たとえば画像形成装置101の性能を一定以上に維持するために必要とされる空き容量でよい。必要量(Y)は、予めSSD111のコントローラ102によって設定されても、ユーザによって任意な値に設定されてもよい。残容量(X)が必要量(Y)より小さくない場合、CPU103は、CPU103は、図7の処理を終了する。残容量(X)が必要量(Y)より小さい場合、CPU103は、処理をステップS609へ進める。ステップS609において、CPU103は、TRIMコマンドの発行対象となるデータを決定する。CPU103は、たとえば、データ管理テーブル501を参照し、記録日時505が古いものから順番にデータを選択して決定する。CPU103は、不足量(Y−X)以上のデータ量が削除されるように、データを選択する。その後、CPU103は、上述したステップS604〜S606の処理を実行し、図7の処理を終了する。
On the other hand, when determining in step 603 that the data is not spool data, the
このように、CPU103は、記録空間で記録されているデータを記録空間の管理から削除する際に、NANDフラッシュメモリ113に記録していたデータの属性に応じて、記録領域を指定したTRIMコマンドを、NANDコントローラ112へ出力する。たとえば、管理から削除されるデータが一時格納データなどの中間データである場合、CPU103は、記録空間で記録されているデータを記録空間の管理から削除する際に、中間データの記録領域を指定したTRIMコマンドを出力する。CPU103は、中間データの記録領域を指定したTRIMコマンドを、NANDコントローラ112へ出力する。また、管理から削除されるデータが最終データである場合、CPU103は、最終データの記録領域が不足する場合において、最終データの記録領域を指定したTRIMコマンドを、NANDコントローラ112へ出力する。記録空間で記録されているデータを記録空間の管理から削除する際に最終データの記録領域が不足しない場合には、CPU103は、最終データの記録領域を指定したTRIMコマンドを、NANDコントローラ112へ出力しない。
As described above, when deleting the data recorded in the recording space from the management of the recording space, the
図8は、図1の下位コントローラとしてのNANDコントローラ112によるコマンド処理の一例の流れを示すフローチャートである。図8には、CPU103から取得する複数のコマンドの中の、NANDフラッシュメモリ113についてのデータが書込まれている記録領域についての領域開放処理を指示するTRIMコマンドに関する処理について詳しく図示している。NANDコントローラ112は、ストレージ制御部110を通じてCPU103からコマンドを取得する場合、図8のコマンド処理を実行する。 NANDフラッシュメモリ113を管理するNANDコントローラ112は、データが書込まれている記録領域に対して新たなデータの書込みを可能にするための領域解放処理を実行する下位制御工程として、図8のコマンド処理を実行する。
FIG. 8 is a flowchart showing an example of the flow of command processing by the
図8のステップS701において、NANDコントローラ112は、CPU103からATAコマンドを取得したか否かを判断する。ATAコマンドを取得していない場合、NANDコントローラ112は、ステップS701の判断処理を繰り返す。ステップS702において、NANDコントローラ112は、取得したATAコマンドが、TRIMコマンドであるか否かを判断する。取得したATAコマンドがTRIMコマンドでない場合、NANDコントローラ112は、ステップS703において取得したATAコマンドに対応する処理を実行し、図8の処理を終了する。取得したATAコマンドがTRIMコマンドである場合NANDコントローラ112は、処理をステップS704へ進める。
In step S701 of FIG. 8, the
ステップS704において、NANDコントローラ112は、取得したTRIMコマンドについて、領域指定のオプションの有無を判断する。領域指定のTRIMコマンドでない場合、NANDコントローラ112は、処理をステップS711へ進める。領域指定のTRIMコマンドである場合、NANDコントローラ112は、処理をステップS705へ進める。ステップS705において、NANDコントローラ112は、図4のアドレス管理テーブル701を用いて、TRIMコマンドの開始論理アドレスフィールド202の論理アドレスに対応する物理アドレスを取得する。ステップS706において、NANDコントローラ112は、NANDフラッシュメモリ113についての、取得した物理アドレスの記録領域について、書込まれた不要データの有無を判断する。不要データが書込まれていない場合、NANDコントローラ112は、取得した物理アドレスの記録領域についての領域開放処理を実行することなく、図8の処理を終了する。
In step S704, the
不要データが書込まれている場合、NANDコントローラ112は、取得した物理アドレスの記録領域についての領域開放処理を実行する。領域開放処理のステップS707において、NANDコントローラ112は、NANDフラッシュメモリ113についての、データの書込まれていない記録領域としての空きブロックを探して取得する。ステップS708において、NANDコントローラ112は、処理に適したタイミングを待つ(S708)。処理に適したタイミングとは、たとえばCPU103によるNANDフラッシュメモリ113へのアクセスが少ないタイミングをいう。処理に適したタイミングは、この他にもたとえば予め定めた時間が経過したタイミングでもよい。処理に適したタイミングになると、ステップS709において、NANDコントローラ112は、取得した物理アドレスの記録領域に書込まれている有用データを、空きブロックにコピーする。ステップS710において、NANDコントローラ112は、取得した物理アドレスの記録領域を消去し、新たなデータの書込みが可能な状態にする。また、NANDコントローラ112は、図4のアドレス管理テーブル701を更新する。NANDコントローラ112は、図4のアドレス管理テーブル701において領域指定された論理アドレスに対応する物理アドレスを、コピー先の記録領域の物理アドレスに更新する。
When unnecessary data is written, the
以上の領域解放処理を終了すると、NANDコントローラ112は、処理をステップS706へ戻す。NANDコントローラ112は、TRIMコマンドで指定された開始の論理アドレスからサイズにより指定される終了の論理アドレスまでの論理アドレス空間に対応するすべての物理アドレス空間について、領域解放処理を繰り返す。すべての物理アドレス空間についての領域解放処理が終了すると、NANDコントローラ112は、図8の処理を終了する。これにより、下位コントローラとしてのNANDコントローラ112は、領域指定の領域解放処理の指示に基づいて、指示された記録領域を、新たなデータの書込みが可能な状態にする。NANDコントローラ112は、論理アドレスにより記録領域を指定した領域解放処理を取得した場合、管理メモリ114において論理アドレスに対応づけられている物理アドレスの記録領域に対して領域解放処理を実行する。
When the above area release processing is completed, the
ステップS704において領域指定のTRIMコマンドでないと判断した場合、NANDコントローラ112は、処理をステップS711へ進める。ステップS711において、NANDコントローラ112は、NANDフラッシュメモリ113についての、論理アドレスに対応付けられている記録領域に、不要データが書込まれているものがあるか否かを判断する。不要データが書込まれている記録領域がない場合、NANDコントローラ112は、図8の処理を終了する。不要データが書込まれている記録領域がある場合、NANDコントローラ112は、処理をステップS712へ進め、不要データが書込まれている記録領域についての領域開放処理を実行する。ステップS712からステップS715までの領域開放処理は、ステップS707からステップS7710までの領域開放処理に対応するので、その説明を省略する。以上の領域解放処理を終了すると、NANDコントローラ112は、処理をステップS711へ戻す。
If the
NANDコントローラ112は、不要データが書込まれているすべての記録領域について、領域解放処理を繰り返す。すべての領域解放処理が終了すると、NANDコントローラ112は、図8の処理を終了する。これにより、下位コントローラとしてのNANDコントローラ112は、領域指定がない領域解放処理の指示に基づいて、NANDフラッシュメモリ113についての、有用データが記録されていない記録領域を、新たなデータの書込みが可能な状態にする。
The
図9は、図1の画像形成装置101におけるCPU103とNANDコントローラ112とが協働した領域解放シーケンスの説明図である。図9には、図1のCPU103、ストレージ制御部110、NANDコントローラ112が図示されている。図9では、図面の上から下へ向かって時間が流れる。CPU103は、データ消去を受け付けると、ストレージ制御部110へTRIMコマンドを出力する。ストレージ制御部110は、ATAインタフェース規格で定められたTRIMコマンドを、NANDコントローラ112へ出力する。NANDコントローラ112は、TRIMコマンドを取得すると、TRIMコマンドの受付通知を、NANDコントローラ112へ返す。また、TRIMコマンドを取得したNANDコントローラ112は、TRIMコマンドに基づいて、NANDフラッシュメモリ113に対してデータを消去する領域解放処理を実行する。
FIG. 9 is an explanatory diagram of a region release sequence in which the
図10は、図1のSSD111のNANDフラッシュメモリ113の記録領域の領域開放状態の一例を示す説明図である。図10(a)は、領域開放処理前のNANDフラッシュメモリ113の記録領域の説明図である。図10(b)は、領域開放処理後のNANDフラッシュメモリ113の記録領域の説明図である。NANDフラッシュメモリ113は、複数の記録領域としてのブロック901を有する。ブロック901は、SSD111でのデータの消去単位となる。NANDフラッシュメモリ113の複数のブロック901は、有用データが書込まれている点付きのブロック902、ファイルシステムによって消去された不要データが書込まれている灰色のブロック904、白抜きの空きブロック903、に分類できる。そして、図10(a)においてブロック群905は、スプール領域302として用いられる記録領域である。図10(a)では、スプール領域302として用いられるブロック群905は、不要データが書込まれている灰色のブロック904のみで構成されている。この状態において、CPU103は、たとえばスプール領域302の論理アドレスを指定したTRIMコマンドを、NANDコントローラ112へ出力する。これに応じて、NANDコントローラ112は、領域指定されたスプール領域302についての領域開放処理を、ブロック単位で実行する。NANDコントローラ112は、図10(b)に示すように、領域指定されたスプール領域302を、白抜きの新たなデータの書込みが可能な状態にする。領域指定されたスプール領域302は、不要なデータが削除され、新たなデータの書込みが可能な状態になる。
FIG. 10 is an explanatory diagram showing an example of the area open state of the recording area of the
以上のように、本実施形態では、上位コントローラとしてのCPU103は、記録空間で記録されているデータを記録空間の管理から削除する際に、下位コントローラとしてのNANDコントローラ112への記録領域を指定した領域解放処理を制御する。CPU103は、NANDフラッシュメモリ113に記録していたデータの属性に応じて、記録領域を指定した領域解放処理を指示する。そして、NANDコントローラ112は、領域解放処理の指示に基づいて、指示された記録領域を、新たなデータの書込みを可能にする。よって、本実施形態では、データを記録空間の管理から削除する際に、NANDフラッシュメモリ113についての領域解放処理の実行の有無は、NANDフラッシュメモリ113の記録領域に記録されていたデータの属性に応じて制御することができる。また、本実施形態では、データが書込まれている記録領域についての新たなデータの書込みを可能な状態にするか否かは、NANDフラッシュメモリ113の記録領域に記録されていたデータの属性に応じて制御することができる。たとえば、本実施形態では、画像処理の途中で生成される中間データについては、その中間データを記録空間の管理から削除する際に、即時的に領域開放処理を実行する。これにより、画像形成装置101には、たとえばプリント出力後に中間データが残らなくなる。画像形成装置101のセキュリティが向上し得る。また、本実施形態では、画像処理後にも残す最終データについては、最終データを記録空間の管理から削除する際には、残容量が不足しないかぎり、即時的に領域開放処理を実行しない。これにより、画像形成装置101には、たとえばプリント出力後にも最終データが保持され続け易くなる。画像形成装置101は、最終データといった資産を可能な限り適切に保持することができる。
As described above, in this embodiment, the
これに対し、仮にたとえば、記録空間で記録されているデータを記録空間の管理から削除する際に、領域解放処理を実行しない場合、NANDフラッシュメモリ113の記録領域についての、新たなデータの書込みが可能な領域は、経時的に減り続ける。新たなデータの書込みが可能な領域は、たとえば画像形成装置101の連続使用期間が長くなることにより減り続ける。その結果、経時的には、画像形成装置101では、NANDフラッシュメモリ113についての利用可能な記録領域が不足したり、処理速度などに影響を生じたりする可能性がある。この他にもたとえば、記録空間で記録されているデータを記録空間の管理から削除する際に、一律に領域解放処理を実行する場合、記録領域からデータを削除する際には常に領域解放処理のための処理時間が必要になる。画像形成装置101のCPU103は、その処理中においてはNANDフラッシュメモリ113の記録領域を利用した処理を実行することができなくなる。処理が実行できない期間が生じると、画像形成装置101としての利便性が悪くなる。本実施形態では、解放されるNANDフラッシュメモリ113の記録領域に記録されていたデータの属性に応じて、記録空間の管理から削除する際におけるNANDフラッシュメモリ113についての領域解放処理の実行の有無を制御する。よって、これらの課題は、生じ難くなる。本実施形態では、画像形成装置101でのデータの属性に応じた最適化されたタイミングにおいて、NANDフラッシュメモリ113についての領域開放処理を実行させることができる。本実施形態の画像形成装置101は、データが書込まれた記録領域に対して新たなデータを上書きできないNANDフラッシュメモリ113を利用しつつ、そのようなNANDフラッシュメモリ113の利用に起因した性能や利便性の低下を抑制することができる。
On the other hand, for example, if the area release process is not executed when deleting the data recorded in the recording space from the management of the recording space, new data is not written in the recording area of the
また、本実施形態では、NANDコントローラ112は、記録空間で記録されているデータを記録空間の管理から削除する際に、領域開放処理を実行できる。その結果、本実施形態では、その後にデータを書込む際に、領域開放処理を実行する必要がない。画像形成装置101は、データを書込む際に、書込み先の記録領域のデータを管理メモリ114へ読み出し、書込み先の記録領域をデータの書込み可能な状態にする領域開放処理を実行し、その上で退避していたデータを、書込み先の記録領域に書込む必要がない。
Further, in the present embodiment, the
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。 Although the present invention has been described above in detail based on its preferred embodiments, the present invention is not limited to these specific embodiments, and various embodiments within the scope not departing from the gist of the present invention are also included in the present invention. included.
本発明は、上述の実施の形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors of a computer of the system or apparatus read the program. It can also be realized by a process executed by The present invention can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
101 画像形成装置
103 CPU
104 システムメモリ
111 SSD
112 NANDコントローラ
113 NANDフラッシュメモリ
114 管理メモリ
201 TRIMフィールド
202 開始論理アドレスフィールド
203 サイズフィールド
301 記録領域
302 スプール領域
303 データ格納領域
501 データ管理テーブル
701 アドレス管理テーブル
101
104
112
Claims (10)
前記データ用メモリを管理して、データが書込まれている記録領域に対して新たなデータの書込みを可能にするための領域解放処理を実行する下位コントローラと、
前記データ用メモリの記録領域を含む記録空間および前記記録空間に記録されているデータを管理する上位コントローラと、
を有し、
前記上位コントローラは、
前記記録空間で記録されているデータを前記記録空間の管理から削除する際に、前記データ用メモリに記録していたデータの属性に応じて、前記記録領域を指定した前記領域解放処理を、前記下位コントローラへ指示する、
ことを特徴とする情報処理装置。 A data memory that cannot overwrite new data in the recording area where data has been written,
A lower-level controller that manages the data memory and executes an area release process for enabling writing of new data to a recording area in which data is written,
A recording space including a recording area of the data memory and a host controller for managing data recorded in the recording space;
Have
The upper controller is
When deleting the data recorded in the recording space from the management of the recording space, the area releasing process that specifies the recording area according to the attribute of the data recorded in the data memory, Instruct the lower controller,
An information processing device characterized by the above.
前記上位コントローラは、
前記中間データについては、前記記録空間で記録されているデータを前記記録空間の管理から削除する際に、前記中間データの記録領域を指定した前記領域解放処理を、前記下位コントローラへ指示する、
ことを特徴とする請求項1に記載の情報処理装置。 As attribute information about the data recorded in the recording area of the data memory, a system memory holding information capable of distinguishing intermediate data from final data in the processing of the information processing device,
The upper controller is
For the intermediate data, when deleting the data recorded in the recording space from the management of the recording space, the area release process designating the recording area of the intermediate data is instructed to the lower controller.
The information processing apparatus according to claim 1, wherein:
前記最終データについては、前記記録空間で記録されているデータを前記記録空間の管理から削除する際に前記最終データの記録領域が不足する場合において、前記最終データの記録領域を指定した前記領域解放処理を、前記下位コントローラへ指示する、
ことを特徴とする請求項2に記載の情報処理装置。 The upper controller is
Regarding the final data, when the recording area of the final data is insufficient when deleting the data recorded in the recording space from the management of the recording space, the area release designating the recording area of the final data is released. Instruct processing to the lower controller,
The information processing apparatus according to claim 2, wherein:
前記記録空間で記録されているデータを前記記録空間の管理から削除する際に前記最終データの記録領域が不足しない場合には、前記最終データの記録領域を指定した前記領域解放処理を、前記下位コントローラへ指示しない、
ことを特徴とする請求項3に記載の情報処理装置。 The upper controller is
When the recording area of the final data is not insufficient when deleting the data recorded in the recording space from the management of the recording space, the area release process designating the recording area of the final data is performed by the lower order. Do not instruct the controller,
The information processing apparatus according to claim 3, characterized in that.
前記下位コントローラは、
前記論理アドレスにより記録領域を指定した前記領域解放処理を取得した場合、前記管理メモリにおいて前記論理アドレスに対応する物理アドレスの記録領域に対して領域解放処理を実行する、
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。 A management memory that stores the logical address of the recording space and the physical address of the data memory in association with each other;
The lower controller is
When the area release process in which the recording area is designated by the logical address is acquired, the area release process is executed for the recording area of the physical address corresponding to the logical address in the management memory,
The information processing apparatus according to any one of claims 1 to 4, characterized in that:
ことを特徴とする請求項1から5のいずれか一項に記載の情報処理装置。 The lower controller is provided as a semiconductor memory device together with the data memory,
The information processing apparatus according to any one of claims 1 to 5, characterized in that:
ことを特徴とする請求項6に記載の情報処理装置。 The semiconductor memory device is a solid state drive,
The information processing apparatus according to claim 6, characterized in that
前記記録空間に記録されているデータとして、画像形成装置の処理に係るデータを管理する、
ことを特徴とする請求項1から7のいずれか一項に記載の情報処理装置。 The upper controller is
Managing data relating to processing of the image forming apparatus as data recorded in the recording space,
The information processing apparatus according to any one of claims 1 to 7, characterized in that.
前記データ用メモリを管理して、データが書込まれている記録領域に対して新たなデータの書込みを可能にするための領域解放処理を実行する下位制御工程と、
前記データ用メモリの記録領域を含む記録空間および前記記録空間に記録されているデータを管理する上位制御工程と、
を有し、
前記上位制御工程では、
前記記録空間で記録されているデータを前記記録空間の管理から削除する際に、前記データ用メモリに記録していたデータの属性に応じて、前記記録領域を指定した前記領域解放処理を、前記下位制御工程へ指示する、
ことを特徴とする情報処理装置の制御方法。 A control method for an information processing device using a data memory in which new data cannot be overwritten in a recording area in which data is written,
A lower-level control step of managing the data memory and executing an area release process for enabling writing of new data to a recording area in which the data is written;
A recording space including a recording area of the data memory, and an upper control step of managing data recorded in the recording space,
Have
In the upper control step,
When deleting the data recorded in the recording space from the management of the recording space, the area releasing process that specifies the recording area according to the attribute of the data recorded in the data memory, Instruct lower control process,
A method for controlling an information processing device, comprising:
前記情報処理装置の制御方法は、
前記データ用メモリを管理して、データが書込まれている記録領域に対して新たなデータの書込みを可能にするための領域解放処理を実行する下位制御工程と、
前記データ用メモリの記録領域を含む記録空間および前記記録空間に記録されているデータを管理する上位制御工程と、
を有し、
前記上位制御工程では、
前記記録空間で記録されているデータを前記記録空間の管理から削除する際に、前記データ用メモリに記録していたデータの属性に応じて、前記記録領域を指定した前記領域解放処理を、前記下位制御工程へ指示する、
ことを特徴とするプログラム。
A program for causing a computer to execute a control method of an information processing device using a data memory in which new data cannot be overwritten in a recording area in which data is written,
The control method of the information processing device is
A lower-level control step of managing the data memory and executing an area release process for enabling writing of new data to a recording area in which the data is written;
A recording space including a recording area of the data memory, and an upper control step of managing data recorded in the recording space,
Have
In the upper control step,
When deleting the data recorded in the recording space from the management of the recording space, the area releasing process that specifies the recording area according to the attribute of the data recorded in the data memory, Instruct lower control process,
A program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019000772A JP2020109591A (en) | 2019-01-07 | 2019-01-07 | Information processing apparatus, control method therefor, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019000772A JP2020109591A (en) | 2019-01-07 | 2019-01-07 | Information processing apparatus, control method therefor, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020109591A true JP2020109591A (en) | 2020-07-16 |
Family
ID=71570207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019000772A Pending JP2020109591A (en) | 2019-01-07 | 2019-01-07 | Information processing apparatus, control method therefor, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020109591A (en) |
-
2019
- 2019-01-07 JP JP2019000772A patent/JP2020109591A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8335893B2 (en) | Storage device, system, and method that determines a physical address of a memory unit allocated to a logical address or allocates a logical address to a physical address of a memory unit, based on access speed information of the logical address | |
JP5708216B2 (en) | Flash memory device, memory control device, memory control method, and storage system | |
JP6403164B2 (en) | Memory system | |
US8112575B2 (en) | Memory controller, nonvolatile memory device, access device, and nonvolatile memory system | |
JP5538970B2 (en) | Information processing apparatus, data processing method, and program | |
JP5641900B2 (en) | Management apparatus, control method therefor, and program | |
US9223695B2 (en) | Information processing apparatus | |
KR102288563B1 (en) | Information processing apparatus and method of controlling the same | |
JP6525507B2 (en) | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM | |
KR20120084906A (en) | Non-volatile memory system and management method therefor | |
TWI540435B (en) | Memory system capable of prohibiting access to application software and system software | |
JP2013210749A (en) | Program, control method, storage device, and system | |
JP2015204073A (en) | Information processing device, information processing terminal, information processing method, and program | |
KR100803598B1 (en) | Method and apparatus of maniging image file stored in external storage medium connected to image forming apparatus | |
JP2016206938A (en) | Information processing system, memory control method for information processing system, and program | |
JP4218582B2 (en) | Image forming apparatus | |
JP2020109591A (en) | Information processing apparatus, control method therefor, and program | |
JP2018063676A (en) | Information processing device, control method thereof, and program | |
US20130061011A1 (en) | Method of managing memory and image forming apparatus to perform the same | |
US20200319999A1 (en) | Storage device, control method of storage device, and storage medium | |
JP2015204071A (en) | Information processing device, information processing method and program | |
JP2020177413A (en) | Recording device, recording method, program, and memory card | |
JP6652605B2 (en) | Memory system control method | |
JP2020145583A (en) | Information processing device, control method thereof, and program | |
US20210303212A1 (en) | Data processing method and memory controller utilizing the same |