JP2020145583A - Information processing device, control method thereof, and program - Google Patents

Information processing device, control method thereof, and program Download PDF

Info

Publication number
JP2020145583A
JP2020145583A JP2019040667A JP2019040667A JP2020145583A JP 2020145583 A JP2020145583 A JP 2020145583A JP 2019040667 A JP2019040667 A JP 2019040667A JP 2019040667 A JP2019040667 A JP 2019040667A JP 2020145583 A JP2020145583 A JP 2020145583A
Authority
JP
Japan
Prior art keywords
data
information processing
ssd
information
processing device
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
JP2019040667A
Other languages
Japanese (ja)
Inventor
良太郎 井峯
Ryotaro Imine
良太郎 井峯
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019040667A priority Critical patent/JP2020145583A/en
Publication of JP2020145583A publication Critical patent/JP2020145583A/en
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Abstract

To provide an information processing device capable of preventing unintended data from being erased from an SSD due to an abnormal state of an MFP.SOLUTION: The CPU acquires SMART information from an SSD (S711). The SMART information is diagnosis result information by a self-diagnosis function of the SSD. The SMART information includes, for example, information on SSD life such as an integrated startup time, information on read/write errors, and information indicating the power supply status. Next, the CPU determines whether the SSD is in an abnormal state on the basis of the SMART information (S712). In step S712, when the flag status indicating that the power is turned off is acquired while the SSD is running, or when the integrated startup time or the number of read/write error occurrences exceeds a predetermined threshold value set as the life, the CPU determines that the SSD is in an abnormal state, and when none of the above conditions are met, the CPU determines that the SSD is not in the abnormal state.SELECTED DRAWING: Figure 7

Description

本発明は、情報処理装置、その制御方法、及びプログラムに関する。 The present invention relates to an information processing device, a control method thereof, and a program.

不揮発性の半導体メモリであるSSD(Solid State Drive)を備える情報処理装置としてのMFPが知られている。MFPは、画像データの送信先を指定する際に用いられるアドレス帳等の長期的な保持が必要とされる保持必要データや、ジョブの実行に伴って生成される中間データ等の長期的な保持が必要とされない保持不要データといった複数種のデータをSSDに格納する。 An MFP is known as an information processing device including an SSD (Solid State Drive) which is a non-volatile semiconductor memory. The MFP is used for long-term retention of data that needs to be retained, such as an address book used when specifying the destination of image data, and intermediate data that is generated when a job is executed. Stores multiple types of data in the SSD, such as retention-free data that is not required.

ところで、SSDでは、データが書き込まれたブロックに別のデータを上書きすることができない。このため、MFPは、SSDの書き換え対象ブロックに書き込まれたデータをMFPのバッファに一旦読み出し、バッファ上で当該データを書き換え、書き換え対象ブロックのデータを消去した後に書き換え済みのデータをバッファから書き換え対象ブロックに書き戻す。 By the way, in SSD, another data cannot be overwritten in the block in which the data is written. Therefore, the MFP temporarily reads the data written in the SSD rewrite target block into the buffer of the MFP, rewrites the data on the buffer, erases the data of the rewrite target block, and then rewrites the rewritten data from the buffer. Write back to the block.

MFPは、SSDにおけるデータの格納状況をMFPのファイルシステムで管理する。MFPでは、例えば、SSDに格納されたデータの削除指示をユーザから受け付けた際にファイルシステム上でデータが削除されるが、当該データはSSDから即座に消去されずに不要データとして残存する。不要データが格納されたブロックは、TrimコマンドによってSSDに通知され、SSDはTrimコマンドに基づいて所定のタイミングでガベージコレクションを実行する。これにより、Trimコマンドにて指定されたブロックのデータがSSDから物理的に消去される(例えば、特許文献1参照)。また、SSDにおいて、データを書き込み可能な領域が無くなった場合には、SSDの全記憶領域が指定されたTrimコマンドに基づいてSSDに格納された全データを消去するガベージコレクションが実行される(例えば、特許文献2参照)。 The MFP manages the data storage status in the SSD in the file system of the MFP. In the MFP, for example, when the user receives an instruction to delete the data stored in the SSD, the data is deleted on the file system, but the data is not immediately deleted from the SSD and remains as unnecessary data. The block in which unnecessary data is stored is notified to the SSD by the Trim command, and the SSD executes garbage collection at a predetermined timing based on the Trim command. As a result, the data of the block specified by the Trim command is physically erased from the SSD (see, for example, Patent Document 1). Further, when the SSD has no writable area for data, garbage collection is executed to erase all the data stored in the SSD based on the specified Trim command for the entire storage area of the SSD (for example). , Patent Document 2).

特開2016―206938号公報Japanese Unexamined Patent Publication No. 2016-206938 特開2001―184255号公報Japanese Unexamined Patent Publication No. 2001-184255

しかしながら、従来のMFPでは、MFPの異常状態に起因して意図しないデータがSSDから消去されることがある。例えば、瞬電等の電気的トラブルに起因してTrimコマンドを発行するシステムコントローラに不具合が生じた場合、意図しない内容のTrimコマンドが発行され、不要データだけでなく、保持必要データもSSDから消去されてしまうという問題が生じる。 However, in the conventional MFP, unintended data may be deleted from the SSD due to the abnormal state of the MFP. For example, if a problem occurs in the system controller that issues a Trim command due to an electrical trouble such as a flash, an unintended Trim command is issued and not only unnecessary data but also data that needs to be retained is deleted from the SSD. There is a problem that it will be done.

本発明の目的は、MFPの異常状態に起因して意図しないデータがSSDから消去されるのを防止することができる情報処理装置、その制御方法、及びプログラムを提供することにある。 An object of the present invention is to provide an information processing device, a control method thereof, and a program capable of preventing unintended data from being erased from an SSD due to an abnormal state of the MFP.

上記目的を達成するために、本発明の情報処理装置は、上書き不可能な不揮発性の半導体メモリを備える情報処理装置であって、前記半導体メモリにデータを格納する処理を含むジョブを実行している間に検知した前記情報処理装置の異常状態に関する情報を管理する管理手段と、前記データを前記半導体メモリから消去する消去コマンドの発行を制御する消去コマンド発行制御手段とを備え、前記消去コマンド発行制御手段は、前記情報処理装置の異常状態に関する情報に基づいて前記データを前記半導体メモリから消去する消去コマンドの発行を制御することを特徴とする。 In order to achieve the above object, the information processing apparatus of the present invention is an information processing apparatus including a non-overwritable non-volatile semiconductor memory, and executes a job including a process of storing data in the semiconductor memory. The erasing command issuance is provided with a management means for managing information related to an abnormal state of the information processing apparatus detected during the period and an erasing command issuing control means for controlling the issuance of an erasing command for erasing the data from the semiconductor memory. The control means is characterized in that it controls the issuance of an erasing command for erasing the data from the semiconductor memory based on the information regarding the abnormal state of the information processing apparatus.

本発明によれば、MFPの異常状態に起因して意図しないデータがSSDから消去されるのを防止することができる。 According to the present invention, it is possible to prevent unintended data from being erased from the SSD due to an abnormal state of the MFP.

本発明の実施の形態に係る情報処理装置としてのMFPの構成を概略的に示す構成図である。It is a block diagram which shows schematic structure of the MFP as an information processing apparatus which concerns on embodiment of this invention. 図1のSSDのメモリマップを示す図である。It is a figure which shows the memory map of the SSD of FIG. 図1の操作部に表示されるUI画面の一例を示す図である。It is a figure which shows an example of the UI screen displayed in the operation part of FIG. 図1のMFPにおけるTrimコマンドの発行を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the issuance of a Trim command in the MFP of FIG. 図1のストレージ制御部が発行するTrimコマンドの構成を説明するための図である。It is a figure for demonstrating the structure of the Trim command issued by the storage control part of FIG. 図1のSSDにおけるデータの消去を説明するための図である。It is a figure for demonstrating the erasing of the data in the SSD of FIG. 図1のMFPによって実行されるTrimコマンド発行処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the Trim command issuance processing executed by the MFP of FIG. 図1のメモリに格納される属性管理テーブルの一例を示す図である。It is a figure which shows an example of the attribute management table stored in the memory of FIG. 図1のSSDによって実行されるデータ消去処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the data erasure processing executed by the SSD of FIG. 図7のTrimコマンド発行処理の変形例の手順を示すフローチャートである。It is a flowchart which shows the procedure of the modification of the Trim command issuance processing of FIG.

以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、SSDを備えるMFPに本発明を適用した場合について説明するが、本発明は、MFPに限られず、SSDを備えるクライアントPC等の情報処理装置に適用してもよい。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the present embodiment, the case where the present invention is applied to an MFP provided with an SSD will be described, but the present invention is not limited to the MFP and may be applied to an information processing device such as a client PC equipped with the SSD.

図1は、本発明の実施の形態に係る情報処理装置としてのMFP100の構成を概略的に示す構成図である。 FIG. 1 is a configuration diagram schematically showing a configuration of an MFP 100 as an information processing device according to an embodiment of the present invention.

図1において、MFP100は、AC/DC電源部101、コントローラ102、印刷部106、原稿読取部107、操作部108、及びSSD111を備える。コントローラ102は、AC/DC電源部101、印刷部106、原稿読取部107、操作部108、及びSSD111と接続されている。また、コントローラ102は、CPU103、メモリ104、画像処理部105、ストレージ制御部109、DCDCコンバータ116、電源監視部117、及び電源制御部118を備える。 In FIG. 1, the MFP 100 includes an AC / DC power supply unit 101, a controller 102, a printing unit 106, a document reading unit 107, an operation unit 108, and an SSD 111. The controller 102 is connected to the AC / DC power supply unit 101, the printing unit 106, the document reading unit 107, the operation unit 108, and the SSD 111. Further, the controller 102 includes a CPU 103, a memory 104, an image processing unit 105, a storage control unit 109, a DCDC converter 116, a power supply monitoring unit 117, and a power supply control unit 118.

AC/DC電源部101は、コントローラ102に電力を供給する。コントローラ102は、MFP100のシステム全体を制御する。例えば、コントローラ102は、SSD111のデータの格納状況を管理するSSD111のファイルシステム(不図示)を制御する。CPU103は、メモリ104、画像処理部105、ストレージ制御部109、及び電源制御部118と接続されている。CPU103は、メモリ104に格納されたプログラムを実行して各種制御を行う。例えば、SSD111へデータを書き込む場合やSSD111からデータを読み出す場合に、CPU103は、ストレージ制御部109に書き込み又は読み出しの指示を送信する。メモリ104は、CPU103が実行するプログラムや設定データ等を格納する。画像処理部105は、印刷部106が印刷する画像データや原稿読取部107が生成したスキャンデータに対して画像処理を施す。印刷部106は、画像を用紙に印刷する。原稿読取部107は、設置された原稿を読み取ってスキャンデータを生成する。操作部108は、ユーザからの指示を受け付ける。また、操作部108は、MFP100の設定を行う設定画面等を表示する。 The AC / DC power supply unit 101 supplies electric power to the controller 102. The controller 102 controls the entire system of the MFP 100. For example, the controller 102 controls a file system (not shown) of the SSD 111 that manages the storage status of the data of the SSD 111. The CPU 103 is connected to the memory 104, the image processing unit 105, the storage control unit 109, and the power supply control unit 118. The CPU 103 executes a program stored in the memory 104 to perform various controls. For example, when writing data to SSD 111 or reading data from SSD 111, the CPU 103 transmits a write or read instruction to the storage control unit 109. The memory 104 stores programs, setting data, and the like executed by the CPU 103. The image processing unit 105 performs image processing on the image data printed by the printing unit 106 and the scan data generated by the document reading unit 107. The printing unit 106 prints the image on paper. The document reading unit 107 reads the installed document and generates scan data. The operation unit 108 receives an instruction from the user. In addition, the operation unit 108 displays a setting screen or the like for setting the MFP 100.

ストレージ制御部109は、SSD111と通信するためのSATAI/F部110を備える。ストレージ制御部109は、データの書き込みや読み出しのためのコマンドをSSD111に送信する。また、ストレージ制御部109は、後述する図5のTrimコマンド500(消去コマンド)をSSD111に送信する。さらに、ストレージ制御部109は、SSD111のステータスを受信してSSD111を制御する。SSD111は、NANDコントローラ112、NANDフラッシュメモリ113、及びメモリ114を備える。また、SSD111は、コントローラ102と通信するためのSATAI/F部115を備える。SSD111は、データを上書き不可能な不揮発性の半導体メモリである。SSD111は、当該SSD111への電力の供給が停止されてもデータを保持する。NANDコントローラ112は、SSD111全体を制御する。NANDフラッシュメモリ113は、NANDコントローラ112の指示に従ってデータを記憶する。メモリ114は、SSD111のワークメモリである。メモリ114は、NANDコントローラ112が実行するプログラムや制御に必要な各種データを一時的に記憶するデータバッファとして機能する。SSD111は、コントローラ102から受信したデータをNANDフラッシュメモリ113に書き込む。また、SSD111は、NANDフラッシュメモリ113からデータを読み出し、当該データをコントローラ102へ送信する。さらに、SSD111は、コントローラ102から受信したコマンドに基づいてSSD111の設定を行うと共に、SSD111のステータスをコントローラ102に送信する。 The storage control unit 109 includes a SATAI / F unit 110 for communicating with the SSD 111. The storage control unit 109 transmits commands for writing and reading data to the SSD 111. Further, the storage control unit 109 transmits the Trim command 500 (erase command) of FIG. 5, which will be described later, to the SSD 111. Further, the storage control unit 109 receives the status of the SSD 111 and controls the SSD 111. The SSD 111 includes a NAND controller 112, a NAND flash memory 113, and a memory 114. Further, the SSD 111 includes a SATAI / F unit 115 for communicating with the controller 102. SSD111 is a non-volatile semiconductor memory in which data cannot be overwritten. The SSD 111 retains data even when the supply of electric power to the SSD 111 is stopped. The NAND controller 112 controls the entire SSD 111. The NAND flash memory 113 stores data according to the instructions of the NAND controller 112. The memory 114 is the work memory of the SSD 111. The memory 114 functions as a data buffer that temporarily stores various data necessary for the program and control executed by the NAND controller 112. The SSD 111 writes the data received from the controller 102 to the NAND flash memory 113. Further, the SSD 111 reads data from the NAND flash memory 113 and transmits the data to the controller 102. Further, the SSD 111 sets the SSD 111 based on the command received from the controller 102, and transmits the status of the SSD 111 to the controller 102.

DCDCコンバータ116は、ACDCコンバータ(不図示)で変換された電源電圧をSSD111の駆動に必要な電源電圧へ変換する。電源監視部117は、DCDCコンバータ116の入力電圧レベルを監視する。電源制御部118は、DCDCコンバータ116の電源電圧のON/OFF制御を行う。 The DCDC converter 116 converts the power supply voltage converted by the ACDC converter (not shown) into the power supply voltage required for driving the SSD 111. The power supply monitoring unit 117 monitors the input voltage level of the DCDC converter 116. The power supply control unit 118 controls ON / OFF of the power supply voltage of the DCDC converter 116.

図2は、図1のSSD111のメモリマップを示す図である。図2において、SSD111の記憶領域は、少なくともプリントスプール領域201、読み取りデータ格納領域202、ユーザ設定格納領域203、及びログデータ格納領域204で構成される。 FIG. 2 is a diagram showing a memory map of SSD 111 of FIG. In FIG. 2, the storage area of the SSD 111 is composed of at least a print spool area 201, a read data storage area 202, a user setting storage area 203, and a log data storage area 204.

プリントスプール領域201には、長期間保持する必要がない保持不要データ、例えば、プリントジョブデータが一時的に格納される。本実施の形態では、SSD111の記憶領域のうち、コントローラ102やユーザに指定された所定の領域がプリントスプール領域201として使用される。読み取りデータ格納領域202には、ジョブを実行した結果生成される結果物データ、例えば、スキャンジョブを実行した結果生成されるスキャンデータが格納される。本実施の形態では、SSD111の記憶領域のうち、コントローラ102やユーザに指定された所定の領域が読み取りデータ格納領域202として使用される。 The print spool area 201 temporarily stores data that does not need to be retained for a long period of time, for example, print job data. In the present embodiment, among the storage areas of the SSD 111, a predetermined area designated by the controller 102 or the user is used as the print spool area 201. The read data storage area 202 stores the result data generated as a result of executing the job, for example, the scan data generated as a result of executing the scan job. In the present embodiment, among the storage areas of the SSD 111, a predetermined area designated by the controller 102 or the user is used as the read data storage area 202.

ユーザ設定格納領域203には、アドレス帳やユーザ固有情報が格納される。アドレス帳は、例えば、FAX送信やemail送信を行う際にユーザが指定する送信先の電話番号やメールアドレスを含む。ユーザ固有情報は、例えば、MFP100におけるユーザ固有のカスタマイズ設定情報である。ログデータ格納領域204には、MFP100の稼働履歴やMFP100のエラーの発生状況を示すログデータが格納される。本実施の形態では、ログデータ格納領域204において、MFP100を使用するユーザ毎に異なる領域が割り当てられる。 The address book and user-specific information are stored in the user setting storage area 203. The address book includes, for example, a telephone number or an e-mail address of a destination specified by the user when performing a fax transmission or an email transmission. The user-specific information is, for example, user-specific customization setting information in the MFP 100. In the log data storage area 204, log data indicating the operation history of the MFP 100 and the error occurrence status of the MFP 100 is stored. In the present embodiment, in the log data storage area 204, a different area is allocated to each user who uses the MFP 100.

図3は、図1の操作部108に表示されるUI画面301の一例を示す図である。図3(a)において、UI画面301は、原稿読取部107が生成したスキャンデータの一覧を表示する画面である。UI画面301のウィンドウ302には、原稿読取部107が生成したスキャンデータのファイル名、サイズ、及び生成日時が表示される。また、ウィンドウ302には、各スキャンデータに対応する複数のチェックボックスが表示される。ユーザは、複数のチェックボックスの中の少なくとも1つのチェックボックスを選択可能である。ウィンドウ302において、例えば、チェックボックス303が選択された状態でユーザがファイル編集ボタン304を選択した場合、ウィンドウ302に重畳して図3(b)のポップアップウィンドウ305が表示される。ポップアップウィンドウ305では、ウィンドウ302でユーザが選択したチェックボックスに対応するスキャンデータの削除、複製、ファイル名変更が指示される。例えば、ポップアップウィンドウ305においてユーザが削除ボタン306を選択した場合、MFP100は、ウィンドウ302において選択されたチェックボックスに対応するスキャンデータの削除指示として受け付ける。本実施の形態では、UI画面301においてデータの削除指示を受け付けた場合、SSD111のファイルシステム上からデータが削除されるが、当該データはSSD111から即座に消去されずに不要データとして残存する。 FIG. 3 is a diagram showing an example of the UI screen 301 displayed on the operation unit 108 of FIG. In FIG. 3A, the UI screen 301 is a screen for displaying a list of scan data generated by the document reading unit 107. In the window 302 of the UI screen 301, the file name, size, and generation date and time of the scan data generated by the document reading unit 107 are displayed. In addition, a plurality of check boxes corresponding to each scan data are displayed in the window 302. The user can select at least one check box among a plurality of check boxes. In the window 302, for example, when the user selects the file edit button 304 with the check box 303 selected, the pop-up window 305 of FIG. 3B is displayed superimposed on the window 302. In the pop-up window 305, the deletion, duplication, and file renaming of the scan data corresponding to the check box selected by the user in the window 302 are instructed. For example, when the user selects the delete button 306 in the pop-up window 305, the MFP 100 accepts it as an instruction to delete the scan data corresponding to the check box selected in the window 302. In the present embodiment, when the data deletion instruction is received on the UI screen 301, the data is deleted from the file system of the SSD 111, but the data is not immediately deleted from the SSD 111 and remains as unnecessary data.

図4は、図1のMFP100におけるTrimコマンドの発行を説明するためのシーケンス図である。 FIG. 4 is a sequence diagram for explaining the issuance of the Trim command in the MFP 100 of FIG.

図4において、MFP100では、残存する不要データをSSD111の記憶領域から物理的に消去するために、CPU103が、後述する図7のTrimコマンド発行処理を実行して、ストレージ制御部109にTrimコマンドの発行を指示する(消去コマンド発行制御手段)。Trimコマンドの発行の指示を受けたストレージ制御部109は、図5のTrimコマンド500を発行し、Trimコマンド500をSSD111に送信する。Trimコマンド500を受信したSSD111のNANDコントローラ112は、Trimコマンド500を受信した旨を示す受付通知をコントローラ102に送信する。また、NANDコントローラ112は、図9のデータ消去処理を実行して、Trimコマンド500にて指定されたSSD111のブロックに格納されたデータを消去する。 In FIG. 4, in the MFP 100, in order to physically erase the remaining unnecessary data from the storage area of the SSD 111, the CPU 103 executes the Trim command issuing process of FIG. 7, which will be described later, and sends a Trim command to the storage control unit 109. Instruct issuance (erase command issuance control means). Upon receiving the instruction to issue the Trim command, the storage control unit 109 issues the Trim command 500 shown in FIG. 5 and transmits the Trim command 500 to the SSD 111. The NAND controller 112 of the SSD 111 that has received the Trim command 500 transmits a reception notification indicating that the Trim command 500 has been received to the controller 102. Further, the NAND controller 112 executes the data erasing process of FIG. 9 to erase the data stored in the block of SSD 111 specified by the Trim command 500.

図5は、図1のストレージ制御部109が発行するTrimコマンド500の構成を説明するための図である。Trimコマンド500は、SSD111の記憶領域を構成する複数のブロックのうち不要データが書き込まれたブロックをSSD111に通知するためのコマンドである。Trimコマンド500では、不要データが書き込まれたブロックを示す情報として、当該ブロックを示すSSD111のファイルシステム上の論理アドレスが設定される。MFP100では、或るブロックを示すSSD111のファイルシステム上の論理アドレスとして、SSD111のNANDフラッシュメモリ113の記憶領域における上記或るブロックを示す物理アドレスと異なるアドレスが割り当てられる。MFP100では、SSD111のメモリ114に格納された下記表1のアドレス変換テーブルに基づいて論理アドレス及び物理アドレスが管理されている。 FIG. 5 is a diagram for explaining the configuration of the Trim command 500 issued by the storage control unit 109 of FIG. The Trim command 500 is a command for notifying the SSD 111 of a block in which unnecessary data is written among a plurality of blocks constituting the storage area of the SSD 111. In the Trim command 500, the logical address on the file system of the SSD 111 indicating the block is set as the information indicating the block in which the unnecessary data is written. In the MFP 100, an address different from the physical address indicating the certain block in the storage area of the NAND flash memory 113 of the SSD 111 is assigned as a logical address on the file system of the SSD 111 indicating a certain block. In the MFP 100, the logical address and the physical address are managed based on the address conversion table in Table 1 below stored in the memory 114 of the SSD 111.

アドレス変換テーブルでは、論理アドレスと物理アドレスとが一対一に対応付けられている。上記アドレス変換テーブルは、NANDコントローラ112によって管理される。ガベージコレクション等によってNANDフラッシュメモリ113における不要データが書き込まれたブロックが変更された場合には、上記アドレス変換テーブルが更新される。 In the address conversion table, a logical address and a physical address are associated one-to-one. The address conversion table is managed by the NAND controller 112. When the block in which unnecessary data is written in the NAND flash memory 113 is changed by garbage collection or the like, the address conversion table is updated.

図5において、Trimコマンド500は、Trim領域501、開始論理アドレス領域502、及びサイズ領域503で構成される。Trim領域501には、Trim機能の有効化及び無効化の何れかを示す設定値が設定される。Trim機能を有効化する場合、Trim領域501にはこの旨を示す『1』が設定される。また、Trim機能を無効化する場合、Trim領域501にはこの旨を示す『0』が設定される。開始論理アドレス領域502には、Trimコマンドの実行対象となるブロックを示す論理アドレスが設定される。サイズ領域503には、Trimコマンドの実行対象となるブロックのサイズが設定される。Trim領域501に『1』が設定されている場合、SSD111の記憶領域のうち、開始論理アドレス領域502に記述された論理アドレスのブロックを基準にサイズ領域503に記述されたサイズで形成される領域に対してTrimコマンドが実行される。例えば、不要データのみが書き込まれた図6(a)のブロック3,4で構成される領域601が実行対象として指定されたTrimコマンドが実行されると、SSD111の記憶領域では、図6(b)に示すように、領域601のデータが物理的に消去される。Trimコマンド500は、ATA(AT Attachment)インタフェース規格で定められており、ストレージ制御部109からSSD111へ送信される。SSD111では、SATA I/F115がTrimコマンド500を受信し、NANDコントローラ112がTrimコマンド500を解釈して実行する。 In FIG. 5, the Trim command 500 is composed of a Trim area 501, a start logical address area 502, and a size area 503. In the Trim area 501, a set value indicating whether to enable or disable the Trim function is set. When the Trim function is enabled, "1" indicating this is set in the Trim area 501. When the Trim function is disabled, "0" indicating this is set in the Trim area 501. In the start logical address area 502, a logical address indicating a block to be executed of the Trim command is set. In the size area 503, the size of the block to which the Trim command is executed is set. When "1" is set in the Trim area 501, an area of the storage area of the SSD 111 formed by the size described in the size area 503 with reference to the block of the logical address described in the start logical address area 502. The Trim command is executed for. For example, when the Trim command in which the area 601 composed of the blocks 3 and 4 of FIG. 6A in which only unnecessary data is written is designated as the execution target is executed, the storage area of the SSD 111 is displayed in FIG. 6 (b). ), The data in the area 601 is physically erased. The Trim command 500 is defined by the ATA (AT Attachment) interface standard, and is transmitted from the storage control unit 109 to the SSD 111. In the SSD 111, the SATA I / F 115 receives the Trim command 500, and the NAND controller 112 interprets and executes the Trim command 500.

ここで、従来では、MFPの異常状態に起因して意図しないデータがSSDから消去されることがあった。例えば、瞬電等の電気的トラブルに起因してTrimコマンドを発行するストレージ制御部に不具合が生じた場合、意図しない内容のTrimコマンドが発行されることがある。この場合、不要データだけでなく、アドレス帳等の長期的な保持が必要とされるデータもSSDから消去されてしまうという問題が生じる。 Here, conventionally, unintended data may be deleted from the SSD due to an abnormal state of the MFP. For example, when a problem occurs in the storage control unit that issues a Trim command due to an electrical trouble such as a flash, an unintended Trim command may be issued. In this case, there arises a problem that not only unnecessary data but also data such as an address book that needs to be retained for a long period of time is deleted from the SSD.

これに対応して、本実施の形態では、MFP100の異常状態に関する情報に基づいてTrimコマンド500の発行が制御される。 Correspondingly, in the present embodiment, the issuance of the Trim command 500 is controlled based on the information regarding the abnormal state of the MFP 100.

図7は、図1のMFP100によって実行されるTrimコマンド発行処理の手順を示すフローチャートである。図7の処理は、CPU103がメモリ104に格納されたプログラムを実行することによって行われる。 FIG. 7 is a flowchart showing a procedure of the Trim command issuance process executed by the MFP 100 of FIG. The process of FIG. 7 is performed by the CPU 103 executing a program stored in the memory 104.

図7(a)において、CPU103は、SSD111に格納されたデータの削除指示を受け付けるまで待機する。例えば、ウィンドウ302でSSD111に格納されたデータに対応するチェックボックスが選択された状態でユーザが削除ボタン306を選択した場合、CPU103は、SSD111に格納されたデータの削除指示を受け付けたと判別する。SSD111に格納されたデータの削除指示を受け付けると(ステップS701でYES)、CPU103は、MFP100の異常状態に関する情報を管理するための図8の属性管理テーブル801を参照する。 In FIG. 7A, the CPU 103 waits until it receives an instruction to delete the data stored in the SSD 111. For example, when the user selects the delete button 306 while the check box corresponding to the data stored in the SSD 111 is selected in the window 302, the CPU 103 determines that the deletion instruction of the data stored in the SSD 111 has been accepted. Upon receiving the deletion instruction of the data stored in the SSD 111 (YES in step S701), the CPU 103 refers to the attribute management table 801 of FIG. 8 for managing the information regarding the abnormal state of the MFP 100.

属性管理テーブル801は、メモリ104に格納されている。属性管理テーブル801は、論理アドレス802、データサイズ803、データ属性804、ユーザ情報805、JOB状態806、電源状態807、記録日時808、及び消去日時809で構成される。論理アドレス802には、格納されたデータに関するSSD111のファイルシステム上の論理アドレスが設定される。データサイズ803には、SSD111に格納されたデータのデータサイズが設定される。データ属性804には、SSD111に格納されたデータの種別を示す属性が設定される。データ属性804には、データの属性として、例えば、『スプール』、『読み取り画像』、『アドレス帳』、『ログ』が設定される。『スプール』は、保持不要データに対して設定され、例えば、SSD111におけるプリントスプール領域201に格納されたデータに対して設定される。『読み取り画像』は、ジョブを実行した結果生成される結果物データに対して生成され、例えば、SSD111における読み取りデータ格納領域202に格納されたデータに対して設定される。『アドレス帳』は、アドレス帳やユーザ固有情報に対して設定され、例えば、SSD111におけるユーザ設定格納領域203に格納されたデータに対して設定される。『ログ』は、MFP100の稼働履歴やMFP100のエラーの発生状況を示すログデータに対して設定され、例えば、SSD111におけるログデータ格納領域204に格納されたデータに対して設定される。 The attribute management table 801 is stored in the memory 104. The attribute management table 801 is composed of a logical address 802, a data size 803, a data attribute 804, a user information 805, a JOB state 806, a power supply state 807, a recording date / time 808, and an erasing date / time 809. The logical address 802 is set to the logical address on the file system of SSD 111 regarding the stored data. The data size of the data stored in the SSD 111 is set in the data size 803. In the data attribute 804, an attribute indicating the type of data stored in the SSD 111 is set. In the data attribute 804, for example, "spool", "read image", "address book", and "log" are set as data attributes. The “spool” is set for the data that does not need to be held, and is set for the data stored in the print spool area 201 in the SSD 111, for example. The "read image" is generated for the result data generated as a result of executing the job, and is set for, for example, the data stored in the read data storage area 202 in the SSD 111. The "address book" is set for the address book and user-specific information, and is set for, for example, the data stored in the user setting storage area 203 in the SSD 111. The "log" is set for the log data indicating the operation history of the MFP 100 and the error occurrence status of the MFP 100, and is set for, for example, the data stored in the log data storage area 204 of the SSD 111.

ユーザ情報805には、SSD111に格納されたデータを所有するユーザを特定する情報が設定される。JOB状態806には、データをSSD111に格納する処理を含むジョブが正常に終了しなかった際にこの旨を示す『Error』が設定される。電源状態807には、データをSSD111に格納する処理を含むジョブを実行している間のMFP100における電力の供給状況に関する情報が設定される。具体的に、電源状態807には、SSD111へ安定的に電力が供給されていないと判別された際にこの旨を示す『Error』が設定される。例えば、或るデータに関連するジョブを実行中に、電源監視部117による入力電圧レベルの監視結果に基づいてSSD111へ安定的に電力が供給されていないと判別されると、電源制御部118がCPU103にこの旨を通知する。通知を受けたCPU103は、属性管理テーブル801において、上記データに対応する電源状態807に『Error』を入力する。記録日時808には、SSD111にデータが記録された日付が設定される。消去日時809には、SSD111からデータが消去された日付が設定される。 The user information 805 is set with information that identifies the user who owns the data stored in the SSD 111. In the JOB state 806, "Error" indicating this is set when the job including the process of storing the data in the SSD 111 is not normally completed. In the power supply state 807, information regarding the power supply status in the MFP 100 while executing the job including the process of storing the data in the SSD 111 is set. Specifically, in the power supply state 807, "Error" indicating this is set when it is determined that the power is not stably supplied to the SSD 111. For example, while executing a job related to a certain data, if it is determined that power is not stably supplied to the SSD 111 based on the monitoring result of the input voltage level by the power supply monitoring unit 117, the power supply control unit 118 determines. Notify the CPU 103 of this fact. Upon receiving the notification, the CPU 103 inputs "Error" in the power supply state 807 corresponding to the above data in the attribute management table 801. The recording date and time 808 is set to the date on which the data was recorded on the SSD 111. The date on which the data was erased from the SSD 111 is set in the erase date and time 809.

図7(a)に戻り、CPU103は、属性管理テーブル801に基づいて削除指示を受けたデータ(以下、「削除指示データ」という。)の属性を判別する(ステップS702)。次いで、CPU103は、図7(b)の異常検知処理を実行する(ステップS703)。 Returning to FIG. 7A, the CPU 103 determines the attribute of the data for which the deletion instruction has been received (hereinafter, referred to as “deletion instruction data”) based on the attribute management table 801 (step S702). Next, the CPU 103 executes the abnormality detection process shown in FIG. 7B (step S703).

図7(b)において、CPU103は、SSD111からSMART情報を取得する(ステップS711)。SMART情報は、SSD111の自己診断機能による診断結果情報である。SMART情報は、例えば、積算起動時間といったSSD111の寿命に関する情報、読み込み書き込みエラーに関する情報、電力供給状態を示す情報を含む。次いで、CPU103は、SMART情報に基づいてSSD111が異常状態であるか否かを判別する(ステップS712)。ステップS712では、例えば、SSD111の稼働中に電源が落ちたことを示すフラグステータスを取得した場合や、積算起動時間や読み込み書き込みエラーの発生回数が寿命として定められた所定の閾値を超えた場合、CPU103は、SSD111が異常状態であると判別する。一方、上述した何れの条件も満たさない場合、CPU103は、SSD111が異常状態でないと判別する。 In FIG. 7B, the CPU 103 acquires SMART information from the SSD 111 (step S711). SMART information is the diagnosis result information by the self-diagnosis function of SSD111. The SMART information includes, for example, information on the life of the SSD 111 such as an integrated start-up time, information on a read / write error, and information indicating a power supply state. Next, the CPU 103 determines whether or not the SSD 111 is in an abnormal state based on the SMART information (step S712). In step S712, for example, when a flag status indicating that the power has been turned off is acquired during the operation of the SSD 111, or when the integrated start-up time or the number of occurrences of a read / write error exceeds a predetermined threshold value set as the life. The CPU 103 determines that the SSD 111 is in an abnormal state. On the other hand, if none of the above conditions is satisfied, the CPU 103 determines that the SSD 111 is not in an abnormal state.

ステップS712の判別の結果、SSD111が異常状態であるとき、CPU103は、ストレージ制御部109にTrimコマンド500の発行を指示せずに、本処理を終了する。すなわち、本実施の形態では、SSD111が異常状態である場合、Trimコマンド500が発行されない。ステップS712の判別の結果、SSD111が異常状態でないとき、CPU103は、ログデータ格納領域204に格納されたログデータに基づいてMFP100の本体エラーステータスを確認する(ステップS713)。次いで、CPU103は、属性管理テーブル801における削除指示データのJOB状態806及び電源状態807を参照し、削除指示データのJOB状態806に『Error』が設定されているか否かを判別する(ステップS714)。 As a result of the determination in step S712, when the SSD 111 is in an abnormal state, the CPU 103 ends this process without instructing the storage control unit 109 to issue the Trim command 500. That is, in the present embodiment, when the SSD 111 is in an abnormal state, the Trim command 500 is not issued. As a result of the determination in step S712, when the SSD 111 is not in an abnormal state, the CPU 103 confirms the main body error status of the MFP 100 based on the log data stored in the log data storage area 204 (step S713). Next, the CPU 103 refers to the JOB state 806 and the power supply state 807 of the deletion instruction data in the attribute management table 801 and determines whether or not "Error" is set in the JOB state 806 of the deletion instruction data (step S714). ..

ステップS714の判別の結果、削除指示データのJOB状態806に『Error』が設定されているとき、CPU103は、ストレージ制御部109にTrimコマンド500の発行を指示せずに、本処理を終了する。例えば、削除指示データが、属性管理テーブル801における論理アドレス『1100』のデータのように、JOB状態806に『Error』が設定されたデータである場合、Trimコマンド500が発行されない。また、属性管理テーブル801においてユーザ情報805の値が論理アドレス『1100』と同じ『B』である論理アドレス『6100』が削除指示データである場合にも、Trimコマンド500が発行されない。 As a result of the determination in step S714, when "Error" is set in the JOB state 806 of the deletion instruction data, the CPU 103 ends this process without instructing the storage control unit 109 to issue the Trim command 500. For example, if the deletion instruction data is data in which "Error" is set in the JOB state 806, such as the data of the logical address "1100" in the attribute management table 801, the Trim command 500 is not issued. Further, even when the logical address "6100" whose value of the user information 805 is the same "B" as the logical address "1100" in the attribute management table 801 is the deletion instruction data, the Trim command 500 is not issued.

ステップS714の判別の結果、削除指示データのJOB状態806に『Error』が設定されていないとき、CPU103は、削除指示データの電源状態807に『Error』が設定されているか否かを判別する(ステップS715)。 As a result of the determination in step S714, when "Error" is not set in the JOB state 806 of the deletion instruction data, the CPU 103 determines whether or not "Error" is set in the power supply state 807 of the deletion instruction data ( Step S715).

ステップS715の判別の結果、削除指示データの電源状態807に『Error』が設定されているとき、CPU103は、ストレージ制御部109にTrimコマンド500の発行を指示せずに、本処理を終了する。例えば、削除指示データが、属性管理テーブル801における論理アドレス『1200』のデータのように、電源状態807に『Error』が設定されたデータである場合、Trimコマンド500が発行されない。また、属性管理テーブル801においてユーザ情報805の値が論理アドレス『1200』と同じ『C』である論理アドレス『6200』が削除指示データである場合にも、Trimコマンド500が発行されない。 As a result of the determination in step S715, when "Error" is set in the power supply state 807 of the deletion instruction data, the CPU 103 ends this process without instructing the storage control unit 109 to issue the Trim command 500. For example, if the deletion instruction data is data in which "Error" is set in the power supply state 807, such as the data of the logical address "1200" in the attribute management table 801, the Trim command 500 is not issued. Further, even when the logical address "6200" whose value of the user information 805 is the same "C" as the logical address "1200" in the attribute management table 801 is the deletion instruction data, the Trim command 500 is not issued.

ステップS715の判別の結果、削除指示データの電源状態807に『Error』が設定されていないとき、CPU103は、データの不整合が生じているか否かを判別する(ステップS716)。ステップS716では、例えば、MFP100の起動に必要なデータに不整合が生じている場合、CPU103は、データの不整合が生じていると判別する。一方、MFP100の起動に必要なデータに不整合が生じていない場合、CPU103は、データの不整合が生じていないと判別する。本実施の形態では、ユーザによるシャットダウン指示を受け付けた場合、MFP100は、シャットダウン処理が正常に終了したか否かを示す情報を記録する。シャットダウン処理において、MFP100は、DDR等の揮発性メモリで構成されるメモリ104に記録されていたデータを不揮発性記録デバイスであるSSD111にバックアップするバックアップ処理を実行する。バックアップ処理では、メモリ104に格納されたデータとして、例えば、MFP100のシステムの起動に必要なファイルや設定データがSSD111にバックアップされる。ここで、停電等によって上記バックアップ処理が正常に終了しないまま、MFP100への電力の供給が停止された場合、揮発性メモリで構成されるメモリ104に記録されていたデータが消失し、例えば、MFP100の起動に必要なデータに不整合が生じる。データの不整合を容易に解消できるように、CPU103は、以下の処理を行う。 As a result of the determination in step S715, when "Error" is not set in the power supply state 807 of the deletion instruction data, the CPU 103 determines whether or not the data inconsistency has occurred (step S716). In step S716, for example, when the data required for starting the MFP 100 is inconsistent, the CPU 103 determines that the data inconsistency has occurred. On the other hand, if the data required to start the MFP 100 is not inconsistent, the CPU 103 determines that the data inconsistency has not occurred. In the present embodiment, when the shutdown instruction by the user is received, the MFP 100 records information indicating whether or not the shutdown process is normally completed. In the shutdown process, the MFP 100 executes a backup process of backing up the data recorded in the memory 104 composed of a volatile memory such as DDR to the SSD 111 which is a non-volatile recording device. In the backup process, for example, files and setting data necessary for starting the system of the MFP 100 are backed up to the SSD 111 as the data stored in the memory 104. Here, if the power supply to the MFP 100 is stopped without the backup process being normally completed due to a power failure or the like, the data recorded in the memory 104 composed of the volatile memory is lost, for example, the MFP 100. Inconsistency occurs in the data required to start. The CPU 103 performs the following processing so that the data inconsistency can be easily resolved.

具体的に、ステップS716の判別の結果、データの不整合が生じているとき、CPU103は、ストレージ制御部109にTrimコマンド500の発行を指示せずに、本処理を終了する。すなわち、本実施の形態では、データの不整合が生じている場合、Trimコマンド500が発行されない。ステップS716の判別の結果、データの不整合が生じていないとき、CPU103は、削除指示データの属性が『スプール』であるか否かを判別する(ステップS704)。 Specifically, when the data inconsistency occurs as a result of the determination in step S716, the CPU 103 ends this process without instructing the storage control unit 109 to issue the Trim command 500. That is, in the present embodiment, the Trim command 500 is not issued when data inconsistency occurs. As a result of the determination in step S716, when there is no data inconsistency, the CPU 103 determines whether or not the attribute of the deletion instruction data is "spool" (step S704).

ステップS704の判別の結果、削除指示データの属性が『スプール』であるとき、CPU103は、削除指示データが格納されたプリントスプール領域201の論理アドレス及びサイズを取得する(ステップS705)。次いで、CPU103は、ストレージ制御部109にTrimコマンド500の発行を指示する(ステップS706)。指示を受けたストレージ制御部109は、Trim領域501に『1』を設定し、更に開始論理アドレス領域502及びサイズ領域503にステップS705で取得した論理アドレス及びサイズを設定したTrimコマンド500を発行する。次いで、CPU103は、ストレージ制御部109からSSD111へTrimコマンド500を送信させ(ステップS707)、本処理を終了する。 As a result of the determination in step S704, when the attribute of the deletion instruction data is "spool", the CPU 103 acquires the logical address and size of the print spool area 201 in which the deletion instruction data is stored (step S705). Next, the CPU 103 instructs the storage control unit 109 to issue the Trim command 500 (step S706). Upon receiving the instruction, the storage control unit 109 sets "1" in the Trim area 501, and further issues a Trim command 500 in which the logical address and size acquired in step S705 are set in the start logical address area 502 and the size area 503. .. Next, the CPU 103 causes the storage control unit 109 to transmit the Trim command 500 to the SSD 111 (step S707), and ends this process.

ステップS704の判別の結果、削除指示データの属性が『スプール』でないとき、CPU103は、ファイルシステム上のSSD111のディスクの残容量Xを取得する(ステップS708)。次いで、CPU103は、残容量Xが所定の閾値Y未満であるか否かを判別する(ステップS709)。所定の閾値Yは、MFP100が情報処理システムとして性能を一定に維持するために必要な容量である。所定の閾値Yは、NANDコントローラ112によって決定される、若しくはユーザによって設定される。 As a result of the determination in step S704, when the attribute of the deletion instruction data is not "spool", the CPU 103 acquires the remaining capacity X of the SSD 111 disk on the file system (step S708). Next, the CPU 103 determines whether or not the remaining capacity X is less than a predetermined threshold value Y (step S709). The predetermined threshold value Y is a capacity required for the MFP 100 to maintain a constant performance as an information processing system. The predetermined threshold Y is determined by the NAND controller 112 or set by the user.

ステップS709の判別の結果、残容量Xが所定の閾値Y以上であるとき、CPU103は、ストレージ制御部109にTrimコマンド500の発行を指示せずに、本処理を終了する。ステップS709の判別の結果、残容量Xが所定の閾値Y未満であるとき、CPU103は、Trimコマンドの実行対象データを決定する(ステップS710)。ステップS710では、CPU103は、属性管理テーブル801を参照し、残容量Xが所定の閾値Yを超えるように、Trimコマンドの実行対象データを決定する。具体的に、CPU103は、Y−Xに相当する容量となるデータを属性管理テーブル801の記録日時808が古いデータから順にTrimコマンドの実行対象データとして決定する。次いで、CPU103は、ステップS705以降の処理を行う。 As a result of the determination in step S709, when the remaining capacity X is equal to or greater than the predetermined threshold value Y, the CPU 103 ends this process without instructing the storage control unit 109 to issue the Trim command 500. As a result of the determination in step S709, when the remaining capacity X is less than the predetermined threshold value Y, the CPU 103 determines the data to be executed of the Trim command (step S710). In step S710, the CPU 103 refers to the attribute management table 801 and determines the data to be executed of the Trim command so that the remaining capacity X exceeds a predetermined threshold value Y. Specifically, the CPU 103 determines data having a capacity corresponding to YX as data to be executed of the Trim command in order from the data having the oldest recording date and time 808 in the attribute management table 801. Next, the CPU 103 performs the processes after step S705.

図9は、図1のSSD111によって実行されるデータ消去処理の手順を示すフローチャートである。図9の処理は、NANDコントローラ112がメモリ114に格納されたプログラムを実行することによって行われる。 FIG. 9 is a flowchart showing a procedure of data erasure processing executed by SSD 111 of FIG. The process of FIG. 9 is performed by the NAND controller 112 executing a program stored in the memory 114.

図9において、NANDコントローラ112は、コントローラ102からコマンドを受信すると(ステップS901)、受信したコマンドがTrimコマンド500であるか否かを判別する(ステップS902)。 In FIG. 9, when the NAND controller 112 receives a command from the controller 102 (step S901), the NAND controller 112 determines whether or not the received command is the Trim command 500 (step S902).

ステップS902の判別の結果、受信したコマンドがTrimコマンド500でないとき、NANDコントローラ112は、受信したコマンドを実行し(ステップS903)、本処理を終了する。 As a result of the determination in step S902, when the received command is not the Trim command 500, the NAND controller 112 executes the received command (step S903) and ends this process.

ステップS902の判別の結果、受信したコマンドがTrimコマンド500であるとき、NANDコントローラ112は、Trimコマンド500における領域指定オプションに値が設定されているか否かを判別する(ステップS904)。領域指定オプションは、例えば、Trimコマンド500の開始論理アドレス領域502及びサイズ領域503である。 As a result of the determination in step S902, when the received command is the Trim command 500, the NAND controller 112 determines whether or not a value is set in the area designation option in the Trim command 500 (step S904). The area specification options are, for example, the start logical address area 502 and the size area 503 of the Trim command 500.

ステップS904の判別の結果、Trimコマンド500の領域指定オプションに値が設定されているとき、NANDコントローラ112は、開始論理アドレス領域502に設定された論理アドレスを取得する。NANDコントローラ112は、上記アドレス変換テーブルに基づいて、取得した論理アドレスに対応付けられた物理アドレスを取得する(ステップS905)。次いで、NANDコントローラ112は、取得した物理アドレス及びサイズ領域503に設定された値で示されるSSD111の指定領域に不要データが存在するか否かを判別する(ステップS906)。 As a result of the determination in step S904, when the area designation option of the Trim command 500 is set to a value, the NAND controller 112 acquires the logical address set in the start logical address area 502. The NAND controller 112 acquires the physical address associated with the acquired logical address based on the address conversion table (step S905). Next, the NAND controller 112 determines whether or not unnecessary data exists in the designated area of the SSD 111 indicated by the acquired physical address and the value set in the size area 503 (step S906).

ステップS906の判別の結果、SSD111の指定領域に不要データが存在しないとき、NANDコントローラ112は、本処理を終了する。ステップS906の判別の結果、SSD111の指定領域に不要データが存在するとき、NANDコントローラ112は、SSD111においてデータが書き込まれていない空きブロックを探し(ステップS907)、処理に適した所定のタイミングを待つ(ステップS908)。所定のタイミングは、例えば、コントローラ102からのアクセスが少ない時、又は予め定められた所定の時間を経過した時である。NANDコントローラ112は、上述した所定のタイミングで、指定領域における一のブロックに書き込まれている有効データを空きブロックにコピーする(ステップS909)。次いで、NANDコントローラ112は、一のブロックのデータを物理的に消去し(ステップS910)、ステップS906の処理に戻る。 As a result of the determination in step S906, when there is no unnecessary data in the designated area of the SSD 111, the NAND controller 112 ends this process. As a result of the determination in step S906, when unnecessary data exists in the designated area of the SSD 111, the NAND controller 112 searches for an empty block in which the data is not written in the SSD 111 (step S907), and waits for a predetermined timing suitable for processing. (Step S908). The predetermined timing is, for example, when the access from the controller 102 is small, or when a predetermined predetermined time has elapsed. The NAND controller 112 copies the valid data written in one block in the designated area to an empty block at the predetermined timing described above (step S909). The NAND controller 112 then physically erases the data in one block (step S910) and returns to the process of step S906.

ステップS904の判別の結果、Trimコマンド500の領域指定オプションに値が設定されていないとき、NANDコントローラ112は、SSD111の記憶領域に不要データが存在するか否かを判別する(ステップS911)。 As a result of the determination in step S904, when the value is not set in the area designation option of the Trim command 500, the NAND controller 112 determines whether or not unnecessary data exists in the storage area of the SSD 111 (step S911).

ステップS911の判別の結果、SSD111の記憶領域に不要データが存在しないとき、NANDコントローラ112は、本処理を終了する。ステップS911の判別の結果、SSD111の記憶領域に不要データが存在するとき、NANDコントローラ112は、SSD111においてデータが書き込まれていない空きブロックを探し(ステップS912)、上記所定のタイミングを待つ(ステップS913)。NANDコントローラ112は、上述した所定のタイミングで、SSD111の記憶領域における一のブロックに書き込まれている有効データを空きブロックにコピーする(ステップS914)。次いで、NANDコントローラ112は、一のブロックのデータを物理的に消去し(ステップS915)、ステップS911の処理に戻る。 As a result of the determination in step S911, when there is no unnecessary data in the storage area of the SSD 111, the NAND controller 112 ends this process. As a result of the determination in step S911, when unnecessary data exists in the storage area of the SSD 111, the NAND controller 112 searches for an empty block in which the data is not written in the SSD 111 (step S912), and waits for the predetermined timing (step S913). ). The NAND controller 112 copies the valid data written in one block in the storage area of the SSD 111 to an empty block at the predetermined timing described above (step S914). The NAND controller 112 then physically erases the data in one block (step S915) and returns to the process of step S911.

上述した実施の形態によれば、MFP100の異常状態に関する情報に基づいてTrimコマンド500の発行が制御される。これにより、MFP100の異常状態に起因して意図しない内容のTrimコマンド500が発行されるのを防止することができる。その結果、MFP100の異常状態に起因して意図しないデータがSSD111から消去されるのを防止することができる。 According to the above-described embodiment, the issuance of the Trim command 500 is controlled based on the information regarding the abnormal state of the MFP 100. As a result, it is possible to prevent the Trim command 500 having unintended contents from being issued due to the abnormal state of the MFP 100. As a result, it is possible to prevent unintended data from being erased from the SSD 111 due to the abnormal state of the MFP 100.

また、上述した実施の形態では、MFP100の異常状態に関する情報が、属性管理テーブル801によって管理される。これにより、Trimコマンド500の発行を制御するためのMFP100の異常状態に関する情報を確実に管理することができる。 Further, in the above-described embodiment, the information regarding the abnormal state of the MFP 100 is managed by the attribute management table 801. As a result, it is possible to reliably manage the information regarding the abnormal state of the MFP 100 for controlling the issuance of the Trim command 500.

上述した実施の形態では、MFP100の異常状態に関する情報は、データをSSD111に格納する処理を含むジョブが正常に終了しなかったことを示す情報を含む。これにより、ジョブを正常に終了できないようなMFP100の異常状態に起因して意図しない内容のTrimコマンド500が発行されるのを防止することができる。 In the above-described embodiment, the information regarding the abnormal state of the MFP 100 includes information indicating that the job including the process of storing the data in the SSD 111 has not been normally completed. As a result, it is possible to prevent the Trim command 500 having unintended contents from being issued due to an abnormal state of the MFP 100 that prevents the job from being normally completed.

また、上述した実施の形態では、MFP100の異常状態に関する情報は、データをSSD111に格納する処理を含むジョブを実行している間のMFP100における電力の供給状況に関する情報を含む。これにより、電力の供給に関するMFP100の異常状態に起因して意図しない内容のTrimコマンド500が発行されるのを防止することができる。 Further, in the above-described embodiment, the information regarding the abnormal state of the MFP 100 includes information regarding the power supply status of the MFP 100 while executing the job including the process of storing the data in the SSD 111. As a result, it is possible to prevent the Trim command 500 having unintended contents from being issued due to the abnormal state of the MFP 100 regarding the power supply.

さらに、上述した実施の形態では、MFP100の異常状態に関する情報は、データの種別を示す属性情報を含む。これにより、MFP100の異常状態に起因する特定の種別のデータがSSD111から消去されるのを防止することができる。 Further, in the above-described embodiment, the information regarding the abnormal state of the MFP 100 includes attribute information indicating the type of data. As a result, it is possible to prevent the data of a specific type caused by the abnormal state of the MFP 100 from being erased from the SSD 111.

上述した実施の形態では、MFP100の異常状態に関する情報は、データのユーザ情報を含む。これにより、MFP100の異常状態に起因する特定のユーザのデータがSSD111から消去されるのを防止することができる。 In the above-described embodiment, the information regarding the abnormal state of the MFP 100 includes user information of data. As a result, it is possible to prevent the data of a specific user due to the abnormal state of the MFP 100 from being erased from the SSD 111.

上述した実施の形態では、MFP100は、プリント機能、コピー機能、スキャン機能、ファックス機能を備える画像形成装置である。これにより、MFP100の異常状態に起因してプリント機能、コピー機能、スキャン機能、ファックス機能で必要となるデータがSSD111から消去されるのを防止することができる。 In the above-described embodiment, the MFP 100 is an image forming apparatus having a print function, a copy function, a scan function, and a fax function. As a result, it is possible to prevent the data required for the print function, the copy function, the scan function, and the fax function from being erased from the SSD 111 due to the abnormal state of the MFP 100.

以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、ステップS703の異常検知処理において異常を検知した結果を異常検知フラグとして保持しても良い。 Although the present invention has been described above with reference to the above-described embodiment, the present invention is not limited to the above-described embodiment. For example, the result of detecting an abnormality in the abnormality detection process in step S703 may be held as an abnormality detection flag.

図10は、図7のTrimコマンド発行処理の変形例の手順を示すフローチャートである。図10の処理も、CPU103がメモリ104に格納されたプログラムを実行することによって行われる。 FIG. 10 is a flowchart showing a procedure of a modification of the Trim command issuing process of FIG. 7. The process of FIG. 10 is also performed by the CPU 103 executing the program stored in the memory 104.

図10において、CPU103は、ステップS701〜S703の処理を行う。ステップS703において、CPU103は、上述したようにステップS711,S712の処理を行う。 In FIG. 10, the CPU 103 performs the processes of steps S701 to S703. In step S703, the CPU 103 performs the processes of steps S711 and S712 as described above.

ステップS712の判別の結果、SSD111が異常状態であるとき、ステップS714の判別の結果、削除指示データのJOB状態806に『Error』が設定されているとき、ステップS715の判別の結果、削除指示データの電源状態807に『Error』が設定されているとき、又はステップS716の判別の結果、データの不整合が生じているとき、CPU103は、異常を検知した旨を示す異常検知フラグをメモリ104に記録する(ステップS1001)。具体的に、CPU103は、異常検知フラグを、正常状態であることを示す『0』から異常を検知した旨を示す『1』に変更する。次いで、CPU103は、本処理を終了する。 When the SSD 111 is in an abnormal state as a result of the determination in step S712, when "Error" is set in the JOB state 806 of the deletion instruction data as a result of the determination in step S714, the determination result in step S715, the deletion instruction data When "Error" is set in the power supply state 807 of the above, or when data inconsistency occurs as a result of the determination in step S716, the CPU 103 sets an abnormality detection flag in the memory 104 indicating that an abnormality has been detected. Record (step S1001). Specifically, the CPU 103 changes the abnormality detection flag from "0" indicating that it is in a normal state to "1" indicating that an abnormality has been detected. Next, the CPU 103 ends this process.

ステップS712の判別の結果、SSD111が異常状態でないとき、CPU103は、ステップS713,S714の処理を行う。ステップS714の判別の結果、削除指示データのJOB状態806に『Error』が設定されていないとき、CPU103は、ステップS715の処理を行う。ステップS715の判別の結果、削除指示データの電源状態807に『Error』が設定されていないとき、CPU103は、ステップS716の処理を行う。ステップS716の判別の結果、データの不整合が生じていないとき、CPU103は、異常検知フラグを使用する旨が設定されているか否かを判別する(ステップS1002)。本実施の形態では、異常検知フラグを使用するか否かがユーザによって設定される。 As a result of the determination in step S712, when the SSD 111 is not in an abnormal state, the CPU 103 performs the processes of steps S713 and S714. As a result of the determination in step S714, when "Error" is not set in the JOB state 806 of the deletion instruction data, the CPU 103 performs the process of step S715. As a result of the determination in step S715, when "Error" is not set in the power supply state 807 of the deletion instruction data, the CPU 103 performs the process of step S716. As a result of the determination in step S716, when there is no data inconsistency, the CPU 103 determines whether or not it is set to use the abnormality detection flag (step S1002). In the present embodiment, whether or not to use the abnormality detection flag is set by the user.

ステップS1002の判別の結果、異常検知フラグを使用する旨が設定されていないとき、CPU103は、ステップS704以降の処理を行う。ステップS1002の判別の結果、異常検知フラグを使用する旨が設定されているとき、CPU103は、異常検知フラグが『0』及び『1』の何れであるかを判別する(ステップS1003)。 As a result of the determination in step S1002, when it is not set to use the abnormality detection flag, the CPU 103 performs the processes after step S704. As a result of the determination in step S1002, when it is set to use the abnormality detection flag, the CPU 103 determines whether the abnormality detection flag is "0" or "1" (step S1003).

ステップS1003の判別の結果、異常検知フラグが『0』であるとき、CPU103は、ステップS704以降の処理を行う。ステップS1003の判別の結果、異常検知フラグが『1』であるとき、CPU103は、ストレージ制御部109にTrimコマンド500の発行を指示せずに、本処理を終了する。 As a result of the determination in step S1003, when the abnormality detection flag is "0", the CPU 103 performs the processes after step S704. As a result of the determination in step S1003, when the abnormality detection flag is "1", the CPU 103 ends this process without instructing the storage control unit 109 to issue the Trim command 500.

上述した実施の形態にでは、MFP100の異常状態に関する情報は、異常検知フラグによって管理される。これにより、属性管理テーブル801を作成することなく、MFP100の異常状態に起因して意図しないデータがSSD111から消去されるのを容易に防止することができる。 In the above-described embodiment, the information regarding the abnormal state of the MFP 100 is managed by the abnormality detection flag. As a result, it is possible to easily prevent unintended data from being deleted from the SSD 111 due to an abnormal state of the MFP 100 without creating the attribute management table 801.

本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device read the program. It can also be realized by the processing to be executed. The present invention can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

100 MFP
102 コントローラ
103 CPU
111 SSD
500 Trimコマンド
801 属性管理テーブル
804 データ属性
805 ユーザ情報
806 JOB状態
807 電源状態
100 MFP
102 controller 103 CPU
111 SSD
500 Trim command 801 Attribute management table 804 Data attribute 805 User information 806 JOB status 807 Power status

Claims (11)

上書き不可能な不揮発性の半導体メモリを備える情報処理装置であって、
前記半導体メモリにデータを格納する処理を含むジョブを実行している間に検知した前記情報処理装置の異常状態に関する情報を管理する管理手段と、
前記データを前記半導体メモリから消去する消去コマンドの発行を制御する消去コマンド発行制御手段とを備え、
前記消去コマンド発行制御手段は、前記情報処理装置の異常状態に関する情報に基づいて前記データを前記半導体メモリから消去する消去コマンドの発行を制御することを特徴とする情報処理装置。
An information processing device equipped with a non-volatile semiconductor memory that cannot be overwritten.
A management means for managing information regarding an abnormal state of the information processing apparatus detected while executing a job including a process of storing data in the semiconductor memory, and a management means.
The erase command issuance control means for controlling the issuance of the erase command for erasing the data from the semiconductor memory is provided.
The information processing device is characterized in that the erasing command issuance control means controls the issuance of an erasing command for erasing the data from the semiconductor memory based on information regarding an abnormal state of the information processing device.
前記管理手段は、前記情報処理装置の異常状態に関する情報を所定の管理テーブルによって管理することを特徴とする請求項1記載の情報処理装置。 The information processing device according to claim 1, wherein the management means manages information regarding an abnormal state of the information processing device by a predetermined management table. 前記情報処理装置の異常状態に関する情報は、前記データを前記半導体メモリに格納する処理を含むジョブが正常に終了しなかったことを示す情報を含むことを特徴とする請求項2記載の情報処理装置。 The information processing apparatus according to claim 2, wherein the information regarding the abnormal state of the information processing apparatus includes information indicating that the job including the process of storing the data in the semiconductor memory has not been normally completed. .. 前記情報処理装置の異常状態に関する情報は、前記データを前記半導体メモリに格納する処理を含むジョブを実行している間の前記情報処理装置における電力の供給状況に関する情報を含むことを特徴とする請求項2又は3記載の情報処理装置。 The information regarding the abnormal state of the information processing apparatus includes information regarding the power supply status of the information processing apparatus while executing a job including a process of storing the data in the semiconductor memory. Item 2. The information processing apparatus according to item 2 or 3. 前記情報処理装置の異常状態に関する情報は、前記データの種別を示す属性情報を含むことを特徴とする請求項2乃至4のいずれか1項に記載の情報処理装置。 The information processing device according to any one of claims 2 to 4, wherein the information regarding the abnormal state of the information processing device includes attribute information indicating the type of the data. 前記情報処理装置の異常状態に関する情報は、前記データのユーザ情報を含むことを特徴とする請求項2乃至5のいずれか1項に記載の情報処理装置。 The information processing device according to any one of claims 2 to 5, wherein the information regarding the abnormal state of the information processing device includes user information of the data. 前記管理手段は、前記情報処理装置の異常状態に関する情報を異常検知フラグによって管理することを特徴とする請求項1記載の情報処理装置。 The information processing device according to claim 1, wherein the management means manages information regarding an abnormal state of the information processing device by an abnormality detection flag. 前記半導体メモリは、SSDであることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 The information processing device according to any one of claims 1 to 7, wherein the semiconductor memory is an SSD. プリント機能、コピー機能、スキャン機能、ファックス機能を備える画像形成装置であることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 8, wherein the image forming apparatus has a print function, a copy function, a scan function, and a fax function. 上書き不可能な不揮発性の半導体メモリを備える情報処理装置の制御方法であって、
前記半導体メモリにデータを格納する処理を含むジョブを実行している間に検知した前記情報処理装置の異常状態に関する情報を管理する管理ステップと、
前記データを前記半導体メモリから消去する消去コマンドの発行を制御する消去コマンド発行制御ステップとを有し、
前記消去コマンド発行制御ステップは、前記情報処理装置の異常状態に関する情報に基づいて前記データを前記半導体メモリから消去する消去コマンドの発行を制御することを特徴とする情報処理装置の制御方法。
A control method for an information processing device equipped with a non-volatile semiconductor memory that cannot be overwritten.
A management step for managing information regarding an abnormal state of the information processing apparatus detected while executing a job including a process of storing data in the semiconductor memory, and a management step.
It has an erase command issuance control step that controls issuance of an erase command that erases the data from the semiconductor memory.
The erasing command issuance control step is a control method for an information processing device, which controls issuance of an erasing command for erasing the data from the semiconductor memory based on information about an abnormal state of the information processing device.
上書き不可能な不揮発性の半導体メモリを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記情報処理装置の制御方法は、
前記半導体メモリにデータを格納する処理を含むジョブを実行している間に検知した前記情報処理装置の異常状態に関する情報を管理する管理ステップと、
前記データを前記半導体メモリから消去する消去コマンドの発行を制御する消去コマンド発行制御ステップとを有し、
前記消去コマンド発行制御ステップは、前記情報処理装置の異常状態に関する情報に基づいて前記データを前記半導体メモリから消去する消去コマンドの発行を制御することを特徴とするプログラム。
A program that causes a computer to execute a control method for an information processing device equipped with a non-volatile semiconductor memory that cannot be overwritten.
The control method of the information processing device is
A management step for managing information regarding an abnormal state of the information processing apparatus detected while executing a job including a process of storing data in the semiconductor memory, and a management step.
It has an erase command issuance control step that controls issuance of an erase command that erases the data from the semiconductor memory.
The erase command issuance control step is a program characterized in that the issuance of an erase command for erasing the data from the semiconductor memory is controlled based on information regarding an abnormal state of the information processing apparatus.
JP2019040667A 2019-03-06 2019-03-06 Information processing device, control method thereof, and program Pending JP2020145583A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019040667A JP2020145583A (en) 2019-03-06 2019-03-06 Information processing device, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019040667A JP2020145583A (en) 2019-03-06 2019-03-06 Information processing device, control method thereof, and program

Publications (1)

Publication Number Publication Date
JP2020145583A true JP2020145583A (en) 2020-09-10

Family

ID=72354599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019040667A Pending JP2020145583A (en) 2019-03-06 2019-03-06 Information processing device, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP2020145583A (en)

Similar Documents

Publication Publication Date Title
US7555602B2 (en) Data processing apparatus and method for restoring a file system
JP4215746B2 (en) Information processing apparatus and life monitoring method
JP5538970B2 (en) Information processing apparatus, data processing method, and program
JP6543122B2 (en) INFORMATION PROCESSING APPARATUS, METHOD OF INITIALIZING NONVOLATILE STORAGE DEVICE BY THE INFORMATION PROCESSING APPARATUS, AND PROGRAM
JP6875808B2 (en) Information processing device
JP2005346610A (en) Storage system and method for acquisition and use of snapshot
JP2010003243A (en) Memory management device, image forming apparatus, memory management method, and computer program
JP2012008861A (en) Data processor, data processing method for data processor and program
JP2007265492A (en) Disk device with data erasure function
JP4908462B2 (en) Image processing system and image processing apparatus
JP4435699B2 (en) Image forming apparatus
JP2020145583A (en) Information processing device, control method thereof, and program
JP2014106918A (en) Information processing apparatus, and control method and program thereof
JP7214381B2 (en) IMAGE FORMING APPARATUS, IMAGE FORMING APPARATUS CONTROL METHOD AND PROGRAM
JP5871497B2 (en) Information processing apparatus, data erasure management method, and computer program
US11656816B2 (en) Apparatus, method of controlling apparatus, and storage medium for overwriting stored data with different data
US20130061011A1 (en) Method of managing memory and image forming apparatus to perform the same
JP7246869B2 (en) IMAGE FORMING APPARATUS, IMAGE FORMING APPARATUS CONTROL METHOD AND PROGRAM
JP7263067B2 (en) Information processing device and information processing device control method
JP2018063676A (en) Information processing device, control method thereof, and program
JP6969331B2 (en) Image data output device and program
JP2010004293A (en) Image forming apparatus, and method for detecting write error of image forming apparatus
JP7512101B2 (en) Information processing device and method for controlling the information processing device
JP2014138265A (en) Image forming apparatus
JP2020109591A (en) Information processing apparatus, control method therefor, and program