JP7313840B2 - Information processing device, control method for information processing device, and program - Google Patents

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

Info

Publication number
JP7313840B2
JP7313840B2 JP2019025606A JP2019025606A JP7313840B2 JP 7313840 B2 JP7313840 B2 JP 7313840B2 JP 2019025606 A JP2019025606 A JP 2019025606A JP 2019025606 A JP2019025606 A JP 2019025606A JP 7313840 B2 JP7313840 B2 JP 7313840B2
Authority
JP
Japan
Prior art keywords
write
data
data size
information processing
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019025606A
Other languages
Japanese (ja)
Other versions
JP2020071855A (en
JP2020071855A5 (en
Inventor
義和 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 US16/780,756 priority Critical patent/US11435949B2/en
Publication of JP2020071855A publication Critical patent/JP2020071855A/en
Publication of JP2020071855A5 publication Critical patent/JP2020071855A5/ja
Application granted granted Critical
Publication of JP7313840B2 publication Critical patent/JP7313840B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System (AREA)
  • Facsimiles In General (AREA)
  • Storing Facsimile Image Data (AREA)

Description

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

近年、補助記憶装置としてeMMC(embedded Multi Media Card)やSSD(Solid State Drive)といったNANDフラッシュメモリを備える情報処理装置がある。 2. Description of the Related Art In recent years, there are information processing apparatuses equipped with NAND flash memories such as eMMCs (embedded Multi Media Cards) and SSDs (Solid State Drives) as auxiliary storage devices.

NANDフラッシュメモリにおいては、新しいデータを書き込むときの状態によってホストシステムから書き込まれるデータサイズと、実際にNANDフラッシュメモリに書き込まれるデータサイズ(以下、実書き込みデータサイズ)が異なる場合がある。NANDフラッシュメモリのデータの書き込みはページ単位(例えば4KByte)で実行される。一方で、NANDフラッシュメモリのデータの消去は複数のページから成るブロック単位(例えば64KByte)で実行される。すでにデータの書き込まれているページに新しいデータを書き込む場合、NANDフラッシュメモリは当該ページを含むブロック全体を消去し、消去したデータとともに新しく書き込みたいデータを書き込む。そのためホストシステムが書き込みを指示したデータサイズに対して、NANDフラッシュメモリへの実際の書き込みデータサイズが多くなる。ホストシステムにより書き込みが指示されたデータサイズに対する、NANDフラッシュメモリの実際の書き込みデータサイズの比をWAF(Write Amplification Factor)という。 In the NAND flash memory, the data size written by the host system and the data size actually written to the NAND flash memory (hereinafter referred to as actual write data size) may differ depending on the state when new data is written. Data writing to the NAND flash memory is performed in page units (4 KBytes, for example). On the other hand, erasure of data in the NAND flash memory is executed in units of blocks (64 KBytes, for example) consisting of a plurality of pages. When writing new data to a page in which data has already been written, the NAND flash memory erases the entire block containing the page and writes the new data to be written together with the erased data. Therefore, the actual write data size to the NAND flash memory is larger than the data size instructed to be written by the host system. A WAF (Write Amplification Factor) is the ratio of the actual write data size of the NAND flash memory to the data size instructed to be written by the host system.

たとえば、ホストシステムから2KByteのデータを書き込む場合、当該データが書き込まれるブロックに62KByteのデータが書き込まれていることがある。このとき、すでに書き込まれている62KByteのデータが削除され、62KByteのデータに2KByteのデータを加えた64KByteのデータがNANDフラッシュメモリに書き込まれる。上記の場合、WAFは31になる。 For example, when writing 2 KBytes of data from the host system, 62 KBytes of data may be written to the block to which the data is written. At this time, the already written data of 62 KBytes is deleted, and the data of 64 KBytes obtained by adding the data of 2 KBytes to the data of 62 KBytes is written to the NAND flash memory. In the above case, the WAF will be 31.

NANDフラッシュメモリとして組み込みメモリであるeMMCはNANDフラッシュメモリへの実際の書き込みデータサイズを記憶していない。そのため、ホストシステムがNANDフラッシュメモリに実際に書き込まれたデータサイズを取得することができず、ホストシステムはeMMCのNANDフラッシュメモリへどれだけデータを書き込んだかどうかを知ることができない。 The eMMC, which is an embedded memory as a NAND flash memory, does not store the actual write data size to the NAND flash memory. Therefore, the host system cannot obtain the data size actually written to the NAND flash memory, and the host system cannot know how much data has been written to the NAND flash memory of the eMMC.

上記のような課題に対して、例えば特許文献1では、一定時間内にホストデバイスが書き込みを指示したデータサイズにWAFを乗算することで、一定時間内の書き込み量を推定する。 In order to address the above-described problem, for example, in Patent Document 1, the amount of data written within a certain period of time is estimated by multiplying the data size instructed to be written by the host device within a certain period of time by the WAF.

特開2015-198377号公報JP 2015-198377 A

ところで、eMMCのようなNANDフラッシュメモリでは書き込みデータサイズの総量に上限があり、その上限を超えてデータを書き込んだ場合にはそのデータが保証されない。NANDフラッシュメモリに記憶されたデータを保証するためには、NANDフラッシュメモリへの総書き込み量が予め決められた上限を超えないようにしなくてはならない。 By the way, in a NAND flash memory such as eMMC, there is an upper limit to the total amount of write data size, and if data is written exceeding the upper limit, the data is not guaranteed. In order to guarantee data stored in the NAND flash memory, the total write amount to the NAND flash memory must not exceed a predetermined upper limit.

しかしながら、上述したように、eMMCは実際の書き込みデータサイズを記憶していないため、ホストシステムがeMMCのNANDフラッシュメモリへの書き込みデータサイズの累計を求めることができない。そのため、ユーザが気付かないうちに、eMMCのNANDフラッシュメモリへの書き込みデータサイズがデータ保証される上限を超えてしまう可能性がある。 However, as described above, since the eMMC does not store the actual write data size, the host system cannot calculate the total write data size to the NAND flash memory of the eMMC. Therefore, there is a possibility that the size of data written to the NAND flash memory of the eMMC will exceed the guaranteed upper limit without the user noticing.

本発明は上記課題を解決するためになされたものであり、NANDフラッシュメモリへの実際の書き込みデータサイズがわからない場合であっても、合計の書き込みデータサイズがデータ保証される上限を超えないように通知をすることを目的とする。 SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide notification so that the total write data size does not exceed the data guaranteed upper limit even when the actual write data size to the NAND flash memory is unknown.

本発明は、データを記憶する不揮発性の半導体記憶装置と、データサイズ毎のWAFを記憶するメモリとを有する情報処理装置であって、前記半導体記憶装置にデータの書き込みを指示する指示手段と、前記書き込みを指示したデータのデータサイズの書き込み指示回数を、データサイズ毎にカウントするカウント手段と、前記書き込みを指示したデータのデータサイズに対応する書き込みサイズを算出する算出手段と、前記算出された書き込みサイズを累積する累積手段と、前記累積した書き込みサイズが閾値に対して所定の条件を満たすと、通知する通知手段と、を有し、前記算出手段は、前記書き込みを指示したデータのデータサイズと前記書き込みを指示したデータのデータサイズに応じた前記WAFと前記書き込み指示回数に基づいて、前記書き込みサイズを算出することを特徴とする。 The present invention provides a nonvolatile semiconductor memory device for storing data and a memory device for each data size.WAFan information processing device comprising: an instruction means for instructing the semiconductor storage device to write data; a counting means for counting the number of write instructions of the data size of the data instructed to be written for each data size; a calculation means for calculating a write size corresponding to the data size of the data instructed to be written;AccumulationdoAccumulationmeans andAccumulationand notification means for notifying when the written size satisfies a predetermined condition with respect to a threshold value, and the calculation means corresponds to the data size of the data instructed to be written and the data size of the data instructed to be written.WAFand the number of write instructions, the write size is calculated.

本発明によれば、メモリへの実際の書き込みデータサイズがわからない場合であっても、合計の書き込みデータサイズが上限を超えないようにユーザに注意を促すことが可能になる。 According to the present invention, even if the actual write data size to the memory is unknown, it is possible to warn the user so that the total write data size does not exceed the upper limit.

実施例1および実施例2における画像形成装置100の構成の一例を示す図である。1 is a diagram illustrating an example of a configuration of an image forming apparatus 100 in Examples 1 and 2; FIG. 実施例1および実施例2におけるWAF管理テーブルの構成の一例を示す図である。4 is a diagram showing an example of the configuration of a WAF management table in Examples 1 and 2; FIG. 実施例1および実施例2におけるWAF管理テーブル選択処理のフローチャートである。6 is a flowchart of WAF management table selection processing in the first and second embodiments; 実施例1におけるeMMC書き込み処理のフローチャートを示す図である。FIG. 10 is a diagram showing a flowchart of eMMC write processing in the first embodiment; 実施例1および実施例2におけるディスクリプタテーブル500の構成の一例を示す図である。4 is a diagram showing an example of a configuration of a descriptor table 500 in Examples 1 and 2; FIG. 実施例1および実施例2における実書き込みデータサイズ加算処理のフローチャートを示す図である。FIG. 10 is a diagram showing a flowchart of actual write data size addition processing in the first and second embodiments; 実施例1および実施例2における寿命判定処理700のフローチャートである。7 is a flowchart of life determination processing 700 in the first and second embodiments; 実施例2におけるeMMC書き込み処理800のフローチャートである。10 is a flowchart of eMMC write processing 800 in Example 2. FIG. 実施例2における実書き込みデータサイズ減算処理900のフローチャートである。10 is a flowchart of actual write data size subtraction processing 900 according to the second embodiment; 実施例3および実施例4における画像形成装置の構成の一例を示す図である。FIG. 11 is a diagram illustrating an example of the configuration of an image forming apparatus in Examples 3 and 4; 実施例3におけるeMMC書き込み処理のフローチャートを示す図である。FIG. 11 is a diagram showing a flowchart of eMMC write processing in the third embodiment; 実施例3および実施例4における書き込みデータサイズカウントアップ処理のフローチャートである。10 is a flowchart of write data size count-up processing in the third and fourth embodiments; 実施例1および実施例2における実書き込みデータサイズ加算処理のフローチャートである。7 is a flowchart of actual write data size addition processing in the first and second embodiments; 実施例3および実施例4におけるタイマ割込み処理、電力状態移行処理、シャット断処理のフローチャートである。14 is a flowchart of timer interrupt processing, power state transition processing, and shutdown processing in Embodiments 3 and 4; 実施例4におけるeMMC書き込み処理のフローチャートである。14 is a flowchart of eMMC write processing in Example 4. FIG. 実施例4における書き込みデータサイズカウントダウン処理のフローチャートである。FIG. 14 is a flow chart of write data size countdown processing in the fourth embodiment. FIG.

(実施例1)
以下、本発明を実施するための形態について図面を用いて説明する。なお、本実施形態において、情報処理装置の一例として画像形成装置を用いて説明をする。画像形成装置以外のコンピュータやタブレット端末等の情報処理装置が以下の処理を実行するとしても構わない。
(Example 1)
EMBODIMENT OF THE INVENTION Hereinafter, the form for implementing this invention is demonstrated using drawing. Note that the present embodiment will be described using an image forming apparatus as an example of an information processing apparatus. An information processing apparatus other than the image forming apparatus, such as a computer or a tablet terminal, may execute the following processing.

図1は、実施例1における画像形成装置100の構成である。 FIG. 1 shows the configuration of an image forming apparatus 100 according to the first embodiment.

メインSoC101(System on a Chip)は集積回路部品であり、後述するCPU102、画像処理ハードロジック103、メモリI/F104を含んでいる。また、メインSoC101は、後述するRAM106、ROM107、UI108等の制御インターフェースや、それらを接続するシステムバスも含んでいるが、本発明に直接関与しないため図1には図示していない。 The main SoC 101 (System on a Chip) is an integrated circuit component and includes a CPU 102, image processing hard logic 103, and memory I/F 104, which will be described later. The main SoC 101 also includes control interfaces such as a RAM 106, a ROM 107, and a UI 108, which will be described later, and a system bus connecting them, but they are not shown in FIG. 1 because they are not directly related to the present invention.

CPU102は、画像形成装置100全体を制御するための中央処理装置である。 A CPU 102 is a central processing unit for controlling the entire image forming apparatus 100 .

画像処理ハードロジック103は、スキャナ110から読み込んだ入力画像データに対して、補正、加工、編集等の画像処理を行う。さらに、画像処理ハードロジック103は、メインSoC101がプリンタ109へ出力する出力画像データに対する、色変換、フィルタ処理、解像度変換等の処理を行う。 The image processing hardware logic 103 performs image processing such as correction, processing, and editing on the input image data read from the scanner 110 . Furthermore, the image processing hardware logic 103 performs processing such as color conversion, filter processing, and resolution conversion on output image data that the main SoC 101 outputs to the printer 109 .

ホストメモリI/F104は、DMAC105(Direct Memory Accecss Controller)を含むメモリインターフェースである。CPU102がDMAC105を制御することで、eMMC112とRAM106との間のデータ入出力を行うことが可能である。 A host memory I/F 104 is a memory interface including a DMAC 105 (Direct Memory Access Controller). Controlling the DMAC 105 by the CPU 102 enables data input/output between the eMMC 112 and the RAM 106 .

RAM106は、CPU102が動作するためのシステムワークメモリであり、CPU102の演算データや各種プログラムが記憶される。また、RAM106は、スキャン時やプリント時に画像処理ハードロジック103で様々な画像処理を施された画像データを保持する画像メモリとしても利用される。 A RAM 106 is a system work memory for the operation of the CPU 102, and stores calculation data of the CPU 102 and various programs. The RAM 106 is also used as an image memory that holds image data that has been subjected to various image processing by the image processing hardware logic 103 during scanning and printing.

ROM107は、ブートROMであり、画像形成装置100のブートプログラムが格納されている。 A ROM 107 is a boot ROM and stores a boot program for the image forming apparatus 100 .

UI108は、ユーザインターフェースであり、画面を表示する液晶ディスプレイとユーザから入力を受け付けるタッチパネルおよびハードキーなどで構成される。 The UI 108 is a user interface, and includes a liquid crystal display that displays a screen, a touch panel that receives input from the user, hard keys, and the like.

プリンタ109は、画像データを用紙上に印字するプリンタエンジンであり、レーザースキャナユニットや感光体ドラム、紙搬送ユニットなどを含んでいる。 A printer 109 is a printer engine that prints image data on paper, and includes a laser scanner unit, a photosensitive drum, a paper transport unit, and the like.

スキャナ110は、用紙上の画像や文字をCCDセンサやCISセンサで読み取り、画像データに変換するユニットである。 A scanner 110 is a unit that reads images and characters on paper with a CCD sensor or a CIS sensor and converts them into image data.

外部I/F111は、電話回線網や有線LAN、無線LAN、USBなどのインターフェースであり、各インターフェースを介して画像形成装置100と外部装置とがデータ通信を行う。 The external I/F 111 is an interface for a telephone network, wired LAN, wireless LAN, USB, or the like, and data communication is performed between the image forming apparatus 100 and an external device via each interface.

eMMC112は、メモリI/F113、コントローラ114、NANDフラッシュメモリ116を含んで構成される。 The eMMC 112 includes a memory I/F 113 , a controller 114 and a NAND flash memory 116 .

メモリI/F113は、コントローラ114の制御によりメインSoC101とコントローラ114との間のデータ入出力を行うインターフェースである。 The memory I/F 113 is an interface that performs data input/output between the main SoC 101 and the controller 114 under the control of the controller 114 .

コントローラ114は、メモリI/F113を介してメインSoC101から受信したコマンドを解釈して、そのコマンドに応じた動作を行うメモリ制御モジュールである。さらにコントローラ114は、CIDレジスタ115を含んでいる。CIDレジスタ115は、JEDECにより定められた標準規格で規定されたレジスタであり、Card IDentification numberレジスタの略称である。CIDレジスタ115はデバイスメーカーを示すマニュファクチャIDや、デバイスを特定するプロダクトネームなどの情報を含んでいる。 The controller 114 is a memory control module that interprets commands received from the main SoC 101 via the memory I/F 113 and performs operations according to the commands. Additionally, controller 114 includes a CID register 115 . The CID register 115 is a register specified by the standard defined by JEDEC, and is an abbreviation for Card IDentification number register. The CID register 115 contains information such as a manufacturer ID indicating the device maker and a product name identifying the device.

NANDフラッシュメモリ116は、データを記録する不揮発性のNANDフラッシュメモリである。NANDフラッシュメモリ116へのデータの書き込みは、コントローラ114の制御によりNANDフラッシュメモリ116内のメモリセルの浮遊ゲートに電子を注入することで行われる。NANDフラッシュメモリ116には、画像処理ハードロジック103により処理が完了した画像データ等が書き込まれる。NANDフラッシュメモリ116において、データ書き込みはページ単位で行われる。さらに、NANDフラッシュメモリ116においてデータ削除は複数のページからなるブロック単位で行われる。コントローラ114はページの途中からデータを書き込む場合に、当該ページを含むブロックのデータを一度、他のメモリに退避させる。そして、コントローラ114はブロックごとデータを削除してから、もともと当該ブロックに書き込まれていたデータと新しく書き込まれるデータとを合わせたデータが新たにNANDフラッシュメモリ116に書き込む。上記のような処理を行うため、NANDフラッシュメモリにおいては、CPU102がDMAC105を介して書き込みを指示したデータサイズとコントローラ114がNANDフラッシュメモリ116に実際に書き込むデータサイズが異なる。 The NAND flash memory 116 is a non-volatile NAND flash memory that records data. Data is written to the NAND flash memory 116 by injecting electrons into the floating gates of memory cells in the NAND flash memory 116 under the control of the controller 114 . Image data and the like processed by the image processing hardware logic 103 are written into the NAND flash memory 116 . In the NAND flash memory 116, data writing is performed page by page. Furthermore, in the NAND flash memory 116, data deletion is performed in units of blocks consisting of a plurality of pages. When writing data from the middle of a page, the controller 114 once saves the data of the block containing the page to another memory. Then, the controller 114 deletes the data for each block, and then writes new data, which is a combination of the data originally written in the block and the newly written data, to the NAND flash memory 116 . In order to perform the above processing, in the NAND flash memory, the data size instructed to be written by the CPU 102 via the DMAC 105 and the data size actually written to the NAND flash memory 116 by the controller 114 are different.

図2は、実施例1において、メインSoC101がNANDフラッシュメモリ116にデータを書き込む際、NANDフラッシュメモリ116に実際に書き込まれるデータ量を推定するためのWAFを管理するためのWAF管理テーブルである。 FIG. 2 is a WAF management table for managing WAFs for estimating the amount of data actually written to the NAND flash memory 116 when the main SoC 101 writes data to the NAND flash memory 116 in the first embodiment.

図2に記載のWAF管理テーブルは、eMMC112に格納される。WAF管理テーブルには、メインSoC101が指示することのできる書き込みデータサイズごとに、推定されるWAFの数値が記憶されている。本実施例においてメインSoC101は、WAF管理テーブルに記憶されたWAFを用いることでNANDフラッシュメモリ116に対する実際の書き込みデータサイズを推定する。なお、WAF管理テーブルは複数種類のeMMCに対してデータサイズごとのWAFを記憶している。異なる種類のeMMC112を用いる場合であっても、新たなWAF管理テーブルを生成することなく、図2に示すWAF管理テーブルを用いてWAFの数値を取得するためである。なお、WAF管理テーブルが記憶される種類のeMMCに対するWAF管理テーブルが格納されていれば十分である。その場合は、マニュファクチャID201やプロダクトネーム202を有さず、ホスト書き込みデータサイズに対するWAFのみ記憶されていてもよい。 The WAF management table shown in FIG. 2 is stored in the eMMC 112. FIG. The WAF management table stores estimated WAF values for each write data size that the main SoC 101 can indicate. In this embodiment, the main SoC 101 estimates the actual write data size to the NAND flash memory 116 by using the WAF stored in the WAF management table. The WAF management table stores WAFs for each data size for multiple types of eMMC. This is because the WAF numerical value can be obtained using the WAF management table shown in FIG. 2 without creating a new WAF management table even if a different type of eMMC 112 is used. Note that it is sufficient if the WAF management table is stored for the type of eMMC in which the WAF management table is stored. In that case, only the WAF for the host write data size may be stored without having the manufacturer ID 201 and product name 202 .

WAFはメインSoC101から書きこみが指示されたデータサイズや、現在NANDフラッシュメモリ116に記憶されているデータ量等の状態によって変化する。そのため、WAF管理テーブルに記憶されているWAFは、メインSoC101から書き込みが指示されたデータサイズに基づいて、実際NANDフラッシュメモリに書き込まれると推定されるデータサイズを求めるための数値である。また、WAF管理テーブルに記憶されるWAFは当該eMMCを生産するメーカーによって規定される値等であってもよい。 The WAF changes depending on the data size instructed to be written by the main SoC 101, the amount of data currently stored in the NAND flash memory 116, and other conditions. Therefore, the WAF stored in the WAF management table is a numerical value for obtaining the data size estimated to be actually written to the NAND flash memory based on the data size instructed to be written by the main SoC 101 . Also, the WAF stored in the WAF management table may be a value defined by the manufacturer that produces the eMMC.

WAFは一般的に書き込みサイズが小さければ小さいほど、大きな値となる。そのため、図2に示すWAF管理テーブルでは、メインSoC101が書き込みを指定するデータサイズが小さいほどWAFが大きく設定されている。 In general, the smaller the write size, the larger the WAF. Therefore, in the WAF management table shown in FIG. 2, the WAF is set larger as the size of the data designated to be written by the main SoC 101 is smaller.

また、WAFはNANDフラッシュメモリ116がデータの消去を行うときの単位であるブロックの大きさにも依存する。ブロックの大きさは、デバイスメーカーの違いや、同じメーカーでもデバイスによって異なる。そのため、図2に示すWAF管理テーブルは、デバイスメーカーを示すマニュファクチャIDや、デバイスを示すプロダクトネームごとに、WAFを記憶する。 The WAF also depends on the block size, which is the unit in which the NAND flash memory 116 erases data. The block size differs between device makers, and even between devices of the same maker. Therefore, the WAF management table shown in FIG. 2 stores WAFs for each manufacturer ID indicating device maker and product name indicating device.

“No”200は、WAF管理テーブルにおける行の通し番号であり、要素の管理に用いられる。 "No" 200 is a row serial number in the WAF management table and is used for element management.

“マニュファクチャID”201は、eMMC112を製造したデバイスメーカーを特定するためのIDであり、標準規格で規定されたeMMCのCIDレジスタのマニュファクチャIDである。 A “manufacturer ID” 201 is an ID for specifying the device manufacturer that manufactured the eMMC 112, and is the manufacturer ID of the CID register of the eMMC defined by the standard.

“プロダクトネーム”202は、デバイスを特定するためのIDであり、標準規格で規定されたeMMCのCIDレジスタのプロダクトネームである。 A “product name” 202 is an ID for specifying a device, which is the product name of the eMMC CID register defined by the standard.

“ホスト書き込みデータサイズ”203は、メインSoC101がeMMC112に対して書き込みを指示するデータサイズである。WAF管理テーブルは、メインSoC101が書き込みを指示する可能性のある全ての書き込みデータサイズが記載されている。本実施例において、ホストシステムであるメインSoC101は、4KByte、8KByte、16KByte、32KByte、64KByteの5種類のデータサイズの書き込みを行うとする。 “Host write data size” 203 is the data size that the main SoC 101 instructs the eMMC 112 to write. The WAF management table describes all write data sizes that the main SoC 101 may instruct to write. In this embodiment, it is assumed that the main SoC 101, which is the host system, writes data of five different sizes: 4 KBytes, 8 KBytes, 16 KBytes, 32 KBytes, and 64 KBytes.

“WAF”204は、メインSoC101がNANDフラッシュメモリに書き込むデータサイズごとに推定されるWAFの数値である。“WAF”204に記載される数値は、動作シミュレーションやスペックシートの値から算出された値である。 “WAF” 204 is a WAF value estimated for each data size written by the main SoC 101 to the NAND flash memory. Numerical values described in “WAF” 204 are values calculated from operation simulations and spec sheet values.

図3は、実施例1において、画像形成装置100の起動時に実行されるWAF管理テーブルの展開に関する処理を示すフローチャートである。図3に記載の処理は、画像形成装置100の電源をオンした後のシステム起動シーケンスの中でCPU102によって実施される。図3に示す処理を実行するためのプログラムは、ROM107に格納されており、CPU102が当該プログラムをRAM106に展開し、実行することで処理が実現される。 FIG. 3 is a flowchart showing processing related to development of the WAF management table executed when the image forming apparatus 100 is started in the first embodiment. The processing illustrated in FIG. 3 is performed by the CPU 102 during the system startup sequence after the power of the image forming apparatus 100 is turned on. A program for executing the process shown in FIG. 3 is stored in the ROM 107, and the CPU 102 develops the program in the RAM 106 and executes the process, thereby realizing the process.

CPU102はeMMC112の初期化処理を実行する(S301)。S301においてCPU102が実行する処理の内容は、規格で規定された処理である。たとえば、S301においてCPU102はeMMC112のレジスタ初期化や、メインSoC101とeMMC112間のアクセス速度の設定処理を行う。 The CPU 102 executes initialization processing of the eMMC 112 (S301). The contents of the processing executed by the CPU 102 in S301 are those specified by the standard. For example, in S<b>301 , the CPU 102 performs register initialization of the eMMC 112 and processing for setting the access speed between the main SoC 101 and the eMMC 112 .

eMMC112の処理化が完了した後、CPU102はCIDレジスタの値を読み出す(S302)。前述したようにCIDレジスタ115は、標準規格で規定されたレジスタであり、デバイスメーカーを示すマニュファクチャIDや、デバイスを特定するプロダクトネームなどの情報を含んでいる。S302において、CPU102はCIDレジスタ115から、マニュファクチャIDとプロダクトネームを読み出す。ここで読み出されたマニュファクチャIDやプロダクトネームはCPU102がeMMC112にデータを書き込むときに推定されるWAFを算出するために用いられる。S302で読み出されたマニュファクチャIDやプロダクトネームを使用することで、画像形成装置に内蔵されているeMMC112の種類に対応したWAFを使用することができる。 After completing the processing of the eMMC 112, the CPU 102 reads the value of the CID register (S302). As described above, the CID register 115 is a register defined by the standard and contains information such as the manufacturer ID indicating the device maker and the product name identifying the device. At S302, the CPU 102 reads the manufacturer ID and product name from the CID register 115. FIG. The manufacturer ID and product name read here are used to calculate the WAF estimated when the CPU 102 writes data to the eMMC 112 . By using the manufacturer ID and product name read in S302, a WAF corresponding to the type of eMMC 112 built in the image forming apparatus can be used.

CPU102はS302で読み出したマニュファクチャIDとプロダクトネームから、eMMC112に格納されたWAF管理テーブルの該当部分のみをRAM106に展開する(S303)。例えば、S302で読み出したマニュファクチャIDが0xEE、プロダクトネームが0x567891234DEFである場合、CPU102は図2のWAF管理テーブルのNo006~010の行をRAM106に展開する。WAF管理テーブルの展開後、CPU102は図3に記載の処理を終了する。 Based on the manufacturer ID and product name read out in S302, the CPU 102 expands only the relevant portion of the WAF management table stored in the eMMC 112 into the RAM 106 (S303). For example, if the manufacturer ID read in S302 is 0xEE and the product name is 0x567891234DEF, the CPU 102 expands the rows of Nos. 006 to 010 in the WAF management table of FIG. After developing the WAF management table, the CPU 102 terminates the processing shown in FIG.

図4は、実施例1におけるeMMC書き込み処理のフローチャートである。eMMC書き込み処理は、メインSoC101がeMMC112に対してデータを書き込むための処理であり、CPU102、DMAC105、コントローラ114が連携して実施される。CPU102による処理を示すフローチャートはROM107に格納されており、CPU102が当該プログラムをRAM106に展開して実行する。 FIG. 4 is a flowchart of eMMC write processing in the first embodiment. The eMMC write process is a process for the main SoC 101 to write data to the eMMC 112, and is performed in cooperation with the CPU 102, DMAC 105, and controller 114. FIG. A flowchart showing processing by the CPU 102 is stored in the ROM 107, and the CPU 102 develops the program in the RAM 106 and executes it.

CPU102はDMAC105を制御するためのディスクリプタテーブル500をRAM106上に生成する(S401)。ディスクリプタテーブル500の詳細は後述する。S401において、CPU102はディスクリプタテーブルを生成するためのデータ領域をRAM106上に確保する。 The CPU 102 creates a descriptor table 500 for controlling the DMAC 105 on the RAM 106 (S401). Details of the descriptor table 500 will be described later. In S401, the CPU 102 secures a data area on the RAM 106 for generating a descriptor table.

図5は、実施例1におけるディスクリプタテーブル500の構成である。 FIG. 5 shows the structure of the descriptor table 500 in the first embodiment.

前述したようにディスクリプタテーブル500は、CPU102によって生成され、RAM106に格納される。ディスクリプタテーブル500が格納された領域の先頭アドレスはCPU102によって、DMAC105のレジスタに設定される。DMAC105は設定された先頭アドレスに基づいてディスクリプタテーブル500にアクセスし、ディスクリプタテーブル500の内容に従って動作する。 As described above, descriptor table 500 is generated by CPU 102 and stored in RAM 106 . The start address of the area storing the descriptor table 500 is set in the register of the DMAC 105 by the CPU 102 . The DMAC 105 accesses the descriptor table 500 based on the set top address and operates according to the contents of the descriptor table 500 .

Command Number501は、DMAC105がコントローラ114に対して発行すべきコマンド番号である。本コマンド番号はJEDECにより定められた標準規格で規定されたコマンド番号と同義である。DMAC105はCommand Number501に格納された番号を参照し、処理を決定する。 A Command Number 501 is a command number to be issued by the DMAC 105 to the controller 114 . This command number is synonymous with the command number defined in the standard defined by JEDEC. The DMAC 105 refers to the number stored in the Command Number 501 and determines processing.

Command Argument502は、DMAC105がコントローラ114に対して発行すべきコマンド引数である。コマンド引数は標準規格で規定された内容であり、たとえば、DMAC105が発行するコマンドがライトコマンドの場合には、ライト先のアドレス等が含まれる。 A Command Argument 502 is a command argument that the DMAC 105 should issue to the controller 114 . The command argument has contents defined by the standard, and includes, for example, a write destination address when the command issued by the DMAC 105 is a write command.

Block Length503は、DMAC105とコントローラ114との間で、転送を行うデータの単位ブロック長である。 Block Length 503 is the unit block length of data to be transferred between the DMAC 105 and controller 114 .

Block Count504は、DMAC105とコントローラ114との間で、転送を行うブロック数である。 A Block Count 504 is the number of blocks transferred between the DMAC 105 and the controller 114 .

Host Address505は、RAM106上のアドレスであり、DMAC105とコントローラ114との間で転送を行うデータの先頭アドレスを示している。すなわち、RAM106に格納されたデータをeMMC112に書き込むWrite処理を行う場合、Host Address505は転送されるデータが格納されているRAM106のアドレスである。一方で、eMMC112に格納されたデータを読み出すRead処理を行う場合、Host Address505は、eMMC112から読み出したデータの転送先アドレスとなる。 A Host Address 505 is an address on the RAM 106 and indicates the top address of data to be transferred between the DMAC 105 and the controller 114 . That is, when performing Write processing for writing data stored in the RAM 106 to the eMMC 112, the Host Address 505 is the address of the RAM 106 where the data to be transferred is stored. On the other hand, when performing Read processing for reading data stored in the eMMC 112 , the Host Address 505 is the transfer destination address of the data read from the eMMC 112 .

ディスクリプタテーブルの内容のうち、Block Length503の値とBlock Count504の値とを乗じた値が、当該転送によるホスト書き込みデータサイズになる。例えば、Block Length503が512Byte、Block Count504が8だった場合、当該転送によるホスト書き込みデータサイズは4KByteになる。上記の計算により、CPU102はメインSoC101がeMMC112に書き込みを指示するデータサイズを求めることができる。ここで、メインSoC101がDMAC105を介してeMMC112に書き込みを指示するデータサイズは、eMMC112のコントローラ114が実際にNANDフラッシュメモリ116に書き込むデータサイズとは異なる。 Among the contents of the descriptor table, the value obtained by multiplying the value of Block Length 503 by the value of Block Count 504 is the host write data size for the transfer. For example, if the Block Length 503 is 512 Bytes and the Block Count 504 is 8, the host write data size for this transfer will be 4 KBytes. By the above calculation, the CPU 102 can obtain the data size that the main SoC 101 instructs the eMMC 112 to write. Here, the data size that the main SoC 101 instructs the eMMC 112 to write via the DMAC 105 is different from the data size that the controller 114 of the eMMC 112 actually writes to the NAND flash memory 116 .

CPU102は、S401でRAM106上に格納されたディスクリプタテーブル500の先頭アドレスをDMAC105に設定する(S402)。DMAC105はS402で設定されたアドレスにアクセスすることでディスクリプタテーブル500の内容を取得することができるようになり、当該ディスクリプタデータブル500に設定された内容に応じて動作することができるようになる。 The CPU 102 sets the start address of the descriptor table 500 stored on the RAM 106 in S401 to the DMAC 105 (S402). The DMAC 105 can acquire the contents of the descriptor table 500 by accessing the address set in S402, and can operate according to the contents set in the descriptor data table 500. FIG.

CPU102はDMAC105のイネーブルレジスタをオンに設定する(S403)。CPU102がDMAC105のイネーブルレジスタをオンに設定することで、DMAC105がS402で設定されたアドレスにアクセスし、DMA転送をスタートさせる。 The CPU 102 turns on the enable register of the DMAC 105 (S403). When the CPU 102 turns on the enable register of the DMAC 105, the DMAC 105 accesses the address set in S402 and starts DMA transfer.

DMAC105はコントローラ114に対して、ディスクリプタテーブル500の内容に基づいて、書き込みデータサイズの設定コマンドを発行する(S404)。S404においてCPU102は、ディスクリプタテーブル500に記憶された単位ブロック長およびブロック数を取得して、コマンドを発行する。CPU102は、eMMC112のコントローラ114にブロック長を設定したコマンドCMD16と、コントローラ114に書き込むデータブロックの数を設定するコマンドCMD23を発行する。 The DMAC 105 issues a write data size setting command to the controller 114 based on the contents of the descriptor table 500 (S404). In S404, the CPU 102 acquires the unit block length and the number of blocks stored in the descriptor table 500, and issues a command. The CPU 102 issues a command CMD16 setting the block length to the controller 114 of the eMMC 112 and a command CMD23 setting the number of data blocks to be written to the controller 114 .

eMMC112内のコントローラ114は、DMAC105からブロック長を設定するためのコマンドと書き込みデータブロック数を示すコマンドを受信する。そして、コントローラ114はそれぞれのコマンドに対応する処理を実行し、処理の結果をDMAC105に対して発行する(S405)。このレスポンスの形式は標準規格で規定されており、コントローラ114は受信したコマンドに対する処理が正常に完了したか否かを示す応答をDMAC105に通知する。 The controller 114 in the eMMC 112 receives commands from the DMAC 105 to set the block length and the number of write data blocks. Then, the controller 114 executes processing corresponding to each command and issues the processing result to the DMAC 105 (S405). The format of this response is defined by the standard, and the controller 114 notifies the DMAC 105 of a response indicating whether or not the processing for the received command has been completed normally.

DMAC105はコントローラ114からS404で送信したコマンドに対応する処理が正常に完了したことを示す通知を受け付けるまで待機する。そして、S404で発行したコマンドに対応する処理が正常に完了したことを示す通知を受信したDMAC105はコントローラ114に対して、ディスクリプタテーブル500の内容に基づいて、書き込みコマンドを発行する(S406)。S404においてDMAC105は、ディスクリプタテーブル500に基づいて、CMD24(WRITE_BLOCK)やCMD25(WRITE_MULTILE_BLOCK)を発行する。ここでは、S404で発行したコマンドに対してS405で当該処理が正常に完了したことを示すレスポンスが発行された場合を説明した。S404の後、コントローラ114からS404で発行したコマンドに対応する処理が正常に完了していないことを示すレスポンスが発行された場合に、再度S404に記載の処理を実行する。 The DMAC 105 waits until receiving a notification from the controller 114 indicating that the processing corresponding to the command transmitted in S404 has been completed normally. The DMAC 105, having received the notification indicating that the processing corresponding to the command issued in S404 has been completed normally, issues a write command to the controller 114 based on the contents of the descriptor table 500 (S406). In S404, the DMAC 105 issues CMD24 (WRITE_BLOCK) and CMD25 (WRITE_MULTILE_BLOCK) based on the descriptor table 500. FIG. Here, a case has been described in which a response is issued in S405 indicating that the process has been completed normally in response to the command issued in S404. After S404, if the controller 114 issues a response indicating that the process corresponding to the command issued in S404 has not been completed normally, the process described in S404 is executed again.

コントローラ114はS406でDMAC105が発行したコマンドに対応する処理を実行する。コントローラ114は当該処理を実行した後、処理が正常に完了したか否かを示す情報をDMAC105に対してレスポンスとして通知する(S407)。このレスポンスの形式は標準規格で規定された形式である。S407により受信したコマンドに対するコントローラ114のステータスがDMAC105に通知される。 The controller 114 executes processing corresponding to the command issued by the DMAC 105 in S406. After executing the processing, the controller 114 notifies the DMAC 105 of information indicating whether or not the processing was completed normally as a response (S407). The format of this response is a standard format. The DMAC 105 is notified of the status of the controller 114 in response to the received command in S407.

DMAC105はコントローラ114からS406で発行されたコマンドに対応するレスポンスを受信するまで処理を進まずに待つ。DMAC105はコントローラ114から、S406で発行したコマンドに対応する処理が正常に完了したことを示すレスポンスを受信して、コントローラ114にeMMC112に書き込むデータを転送する(S408)。 The DMAC 105 waits without proceeding with the process until it receives a response corresponding to the command issued in S406 from the controller 114 . The DMAC 105 receives from the controller 114 a response indicating that the processing corresponding to the command issued in S406 has been completed normally, and transfers the data to be written to the eMMC 112 to the controller 114 (S408).

S408において、DMAC105は、ディスクリプタテーブル500の内容に基づいて、RAM106からデータを読み出し、eMMC112にデータを転送する(S408)。S408において、DMAC105は、ディスクリプタテーブル500内のHost Address505に基づき、RAM106上のデータにアクセスする。そしてDMAC105は、RAM106から読み出したデータをコントローラ114に転送する。なお、本実施例では、S406で発行されたコマンドに対応する処理が正常に完了し、当該処理が正常に完了したこと示すレスポンスをDMAC105が受信した場合を説明した。S407において、S406で発行したコマンドに対応する処理が正常に完了しなかったことを示すレスポンスが発行された場合、DMAC105は、S408に記載の処理を行うことなくS406に処理を戻すとしてもよい。 In S408, the DMAC 105 reads data from the RAM 106 based on the contents of the descriptor table 500, and transfers the data to the eMMC 112 (S408). In S<b>408 , the DMAC 105 accesses data on the RAM 106 based on the Host Address 505 in the descriptor table 500 . The DMAC 105 then transfers the data read from the RAM 106 to the controller 114 . In this embodiment, a case has been described where the processing corresponding to the command issued in S406 is normally completed and the DMAC 105 receives a response indicating that the processing has been completed normally. In S407, if a response is issued indicating that the process corresponding to the command issued in S406 was not completed normally, the DMAC 105 may return to S406 without performing the process described in S408.

eMMC112のNANDフラッシュメモリ116に書き込むデータをDMAC105から取得したコントローラ114は当該データをNANDフラッシュメモリ116に書き込む。NANDフラッシュメモリ116への書き込みが正常に完了した場合、コントローラ114はDMAC105に対して書き込みが正常に完了したことを示すレスポンスを発行する(S409)。このレスポンスの形式は標準規格で規定されており、受信したデータのステータスがDMAC105に通知される。S409でSMAC105に通知されるステータスには、S408で転送されたデータに対する誤り検知の結果等が含まれている。 The controller 114 acquires data to be written to the NAND flash memory 116 of the eMMC 112 from the DMAC 105 and writes the data to the NAND flash memory 116 . When the writing to the NAND flash memory 116 is normally completed, the controller 114 issues a response indicating that the writing is normally completed to the DMAC 105 (S409). The format of this response is defined by standards, and the DMAC 105 is notified of the status of the received data. The status notified to the SMAC 105 in S409 includes the result of error detection for the data transferred in S408.

DMAC105は、コントローラ114からのレスポンスを受信して、CPU102に対して割り込みを発行する(S410)。SMAC105はS409において、コントローラ114から出力された誤り検知結果に基づいて、S408で転送を開始したデータの書き込みが正常に終了したか否かを判定する。NANDフラッシュメモリへのデータの書き込みが正常に終了した場合、DMAC105はCPU102に対してデータ転送が正常に完了したことを示す割り込み信号を出力する。一方で、NANDフラッシュメモリへのデータの書き込みが正常に終了しなかった場合、DMAC105はCPU102に対してデータ転送が正常に完了しなかったことを示す割り込み信号を出力する。 The DMAC 105 receives the response from the controller 114 and issues an interrupt to the CPU 102 (S410). In S409, the SMAC 105 determines whether or not the writing of the data whose transfer was started in S408 was completed normally, based on the error detection result output from the controller 114 . When data writing to the NAND flash memory is normally completed, the DMAC 105 outputs an interrupt signal to the CPU 102 indicating that the data transfer has been completed normally. On the other hand, if the writing of data to the NAND flash memory has not been completed normally, the DMAC 105 outputs an interrupt signal to the CPU 102 indicating that the data transfer has not been completed normally.

CPU102はDMAC105からの割り込み信号を受信する。そして、DMAC105から受信した割り込み信号が、データ転送が正常に完了したことを示す割り込み信号であるか否かを判定する(S411)。S411において、CPU102が受信した割り込み信号がeMMC112へのデータ転送が正常に完了したことを示す割り込みだと判定された場合、CPU102はS412に記載の処理を実行する。一方で、S411で受信した割り込み信号が、データ転送が正常に完了しなかったことを示す異常割り込み信号であると判定された場合、CPU102はS413に後述する処理を実行する。 CPU 102 receives an interrupt signal from DMAC 105 . Then, it is determined whether or not the interrupt signal received from the DMAC 105 is an interrupt signal indicating that the data transfer has been normally completed (S411). If it is determined in S411 that the interrupt signal received by the CPU 102 is an interrupt indicating that the data transfer to the eMMC 112 has been completed normally, the CPU 102 executes the processing described in S412. On the other hand, if the interrupt signal received in S411 is determined to be an abnormal interrupt signal indicating that the data transfer has not been completed normally, the CPU 102 executes processing described later in S413.

S412において、CPU102はコントローラ114がNANDフラッシュメモリ116に実際に書き込まれたデータのデータサイズを推定し、これまでにNANDフラッシュメモリ116に書き込まれたデータサイズとの合計を求める処理を実行する。S412の詳細は後述する。 In S412, the CPU 102 executes processing for estimating the data size of the data actually written to the NAND flash memory 116 by the controller 114 and calculating the sum of the data sizes written to the NAND flash memory 116 so far. Details of S412 will be described later.

CPU102がS410で異常割り込みを受け取った場合に実行され、再転送などのリカバリ動作を実行したり、異常状態をUI108に表示したりする(S413)。S413は本発明に直接関与しないため、詳細は省略する。なお、NANDフラッシュメモリ116へのデータの書き込みが失敗した場合は、実際の書き込みデータサイズを求める処理は行わない。 Executed when the CPU 102 receives an abnormal interrupt in S410, it performs a recovery operation such as retransfer, or displays an abnormal state on the UI 108 (S413). Since S413 is not directly related to the present invention, its details are omitted. Note that when writing data to the NAND flash memory 116 fails, the process of obtaining the actual write data size is not performed.

図6は、図4のS412においてCPU102が実行する実書き込みデータサイズ加算処理のフローチャートである。実書き込みデータサイズ加算処理は、実際にeMMC112に書き込まれるデータサイズを計算し、eMMC112への総書き込みデータサイズを求める処理である。図6に示す処理を実行するためのプログラムはROM107に格納されており、CPU102が当該プログラムをRAM106に展開し実行することで処理が実現される。 FIG. 6 is a flowchart of the actual write data size addition process executed by the CPU 102 in S412 of FIG. The actual write data size addition process is a process of calculating the data size actually written to the eMMC 112 and obtaining the total write data size to the eMMC 112 . A program for executing the processing shown in FIG. 6 is stored in the ROM 107, and the CPU 102 develops the program in the RAM 106 and executes it, thereby realizing the processing.

CPU102はディスクリプタテーブル500に基づいて書き込みが指示されるデータサイズ(Dsize1)に基づいて、WAFを推定する(S601)。S601において、Dsiza1は、ディスクリプタテーブル500のBlock Length503とBlock Count504の積である。CPU102は、RAM106に展開したWAF管理テーブルに基づいてDsize1に対応するWAFを選択する。例えば、S303で、図2におけるNo001~No005のWAF管理テーブルが展開されていたとして、Dsize1が8KByteであった場合、WAF2.0が選択される。 The CPU 102 estimates the WAF based on the data size (Dsize1) for which writing is instructed based on the descriptor table 500 (S601). In S<b>601 , Dsiza1 is the product of Block Length 503 and Block Count 504 of descriptor table 500 . The CPU 102 selects the WAF corresponding to Dsize1 based on the WAF management table developed in the RAM 106 . For example, in S303, assuming that the WAF management tables No. 001 to No. 005 in FIG. 2 have been developed, if Dsize1 is 8 KBytes, WAF 2.0 is selected.

CPU102は、Dsize1にS601で選択されたWAFを乗算し、eMMC112がNANDフラッシュメモリ116に実際書き込むデータサイズであるDsize2を算出する(S602)。例えば、Dsize1が8KByte、WAFが2.0だった場合、Dsize2は16KByteになる。 The CPU 102 multiplies Dsize1 by the WAF selected in S601 to calculate Dsize2, which is the data size that the eMMC 112 actually writes to the NAND flash memory 116 (S602). For example, if Dsize1 is 8 KBytes and WAF is 2.0, Dsize2 will be 16 KBytes.

CPU102は、S602で求められたDsize2を累積書き込みデータサイズ(Dtotal)に加算する(S603)。例えば、S602において求めたDsize2が16KByteであり、それまでのDtotalが100KByteであった場合、S603で新たに求められるDtotalは116KByteになる。DtotalはeMMC112に書き込まれており、起動時にRAM106に書きだされる。画像形成装置100の動作中は、eMMC112に書き込みがされる度に、RAM106に格納されたDtotalの値を更新する。RAM106に格納されたDtotalは画像形成装置100の電源がオフされるときに、eMMC112に記憶されたDtotalがRAM106に格納された値で更新される。 The CPU 102 adds Dsize2 obtained in S602 to the cumulative write data size (Dtotal) (S603). For example, if Dsize2 obtained in S602 is 16 KBytes and Dtotal up to that point is 100 KBytes, Dtotal newly obtained in S603 will be 116 KBytes. Dtotal is written in the eMMC 112 and is written to the RAM 106 at startup. During operation of the image forming apparatus 100, the value of Dtotal stored in the RAM 106 is updated each time the eMMC 112 is written. Dtotal stored in RAM 106 is updated with the value stored in RAM 106 when the image forming apparatus 100 is powered off.

図7は、累積書き込みデータDtotalを用いて、eMMC112の累積書き込みデータサイズが上限に近くなった場合に、eMMC112の取り付けられたメインコントローラの交換を促すための処理フローである。図7のフローチャートに記載の処理を実行するためのプログラムはROM107に格納されており、当該プログラムをRAM106に展開しCPU102が実行することで処理が実現される。図7に記載のフローチャートは、画像形成装置100の電源をオンした後のシステム起動シーケンスの中に行われるものとする。ただし、画像形成装置100の電源がオンされた後、例えばユーザによって設定されたタイミング等定期的に図7に記載の処理を実行することとしてもよい。 FIG. 7 is a processing flow for prompting replacement of the main controller to which the eMMC 112 is attached using the accumulated write data Dtotal when the accumulated write data size of the eMMC 112 approaches the upper limit. A program for executing the processing described in the flowchart of FIG. 7 is stored in the ROM 107, and the processing is realized by developing the program in the RAM 106 and executing it by the CPU 102. FIG. The flowchart shown in FIG. 7 is assumed to be performed during the system startup sequence after the power of the image forming apparatus 100 is turned on. However, after the power of the image forming apparatus 100 is turned on, the process illustrated in FIG. 7 may be executed periodically, for example, at a timing set by the user.

CPU102は、RAM106からDtotalを読み出し、Dtotalが第2基準値(Dth2)以下か否かを判断する(S701)。Dth2は、たとえば、eMMC112の書き込み寿命としてデータシート等に記載されるデータサイズの90%であるとする。例えば、書き込み寿命になる実書き込みデータサイズが100GByteである場合、Dth2は90GByteである。 The CPU 102 reads Dtotal from the RAM 106 and determines whether or not Dtotal is equal to or less than a second reference value (Dth2) (S701). Dth2 is, for example, 90% of the data size described in the data sheet or the like as the write life of the eMMC 112 . For example, when the actual write data size that reaches the write life is 100 GBytes, Dth2 is 90 GBytes.

DtotalがDth2以下である場合、CPU102はS703に処理を進める。一方で、DtotalがDth2以上である場合、CPU102はS702に処理を進める。 If Dtotal is less than or equal to Dth2, the CPU 102 advances the process to S703. On the other hand, if Dtotal is greater than or equal to Dth2, the CPU 102 advances the process to S702.

CPU102はeMMC112の交換が必要であることをユーザに通知する(S702)。eMMC112への総書き込みデータサイズがeMMC112の書き込みデータの上限に近い場合、これ以上データを書き込むとeMMC112でのデータ保証が出来なくなってしまう。そこで、eMMC112への総書き込みデータサイズとして推定されるデータサイズがDth2を超えた場合には、S702においてeMMC112を有するコントローラ基板の交換をするためにサービスマンへ連絡を促すような通知を行う。サービスマンへの連絡を促す画面のほかに、外部I/F111を利用して自動的にサービスセンターへ部品交換出動連絡を発信する等をしてもよい。このように、eMMC112への総書き込みデータサイズとして推定されたデータサイズが書き込み寿命に近くなったときにはユーザに対して新しいメモリを使用するよう警告する。このようにすることで、気が付かないうちにeMMC112への総書き込みデータサイズが書き込み寿命とされる総書き込みデータサイズを超えてしまい、eMMC112に書き込んだデータを保証することが出来なくなってしまうことを抑制する。 The CPU 102 notifies the user that the eMMC 112 needs to be replaced (S702). When the total write data size to the eMMC 112 is close to the upper limit of the write data of the eMMC 112, the eMMC 112 cannot guarantee data if more data is written. Therefore, when the data size estimated as the total write data size to the eMMC 112 exceeds Dth2, in S702, a notification is sent to prompt a serviceman to replace the controller board having the eMMC 112. FIG. In addition to the screen prompting to contact the serviceman, the external I/F 111 may be used to automatically transmit a parts replacement dispatch notification to the service center. In this way, the user is warned to use new memory when the data size estimated as the total write data size to the eMMC 112 is nearing the end of the write life. By doing so, it is suppressed that the total write data size to the eMMC 112 exceeds the total write data size, which is the write life, without realizing it, and the data written to the eMMC 112 cannot be guaranteed.

eMMC112への総書き込みデータサイズDtotalがDth2以下である場合、CPU102はDtotalが第1基準値(Dth1)以下か否かを判断する(S703)。本実施例におけるDth1はDth2よりも小さな値である。たとえば、Dth1はeMMC112の書き込み寿命になる書き込みデータサイズの70%に設定される。 When the total write data size Dtotal to the eMMC 112 is less than or equal to Dth2, the CPU 102 determines whether or not Dtotal is less than or equal to the first reference value (Dth1) (S703). Dth1 in this embodiment is a value smaller than Dth2. For example, Dth1 is set to 70% of the write data size, which is the eMMC 112 write life.

DtotalがDth1以下ではない場合、CPU102はS704に記載の処理を実行する。 If Dtotal is not equal to or less than Dth1, the CPU 102 executes the processing described in S704.

CPU102はUI108にeMMC112の書き込み寿命が近づいていることをユーザに通知する画面を表示する(S704)。ここで、UI108に表示されるメッセージは、S702で表示されるメッセージと異なるメッセージであり、eMMC112の交換の時期が近付いていることを示すようなメッセージであればよい。Dth2よりも小さなDth1を設けることで、eMMC112の書き込み寿命が近づき、メモリの交換が必要な時期が近づいていることをユーザに知らせることができる。なお、本実施例では、二つの閾値を用いてeMMC112の書き込み寿命が近づいていることを段階的にユーザに通知したが、S703、S704の処理を行わず、交換が必要な状態でのみユーザに通知を行うとしてもよい。 The CPU 102 displays a screen on the UI 108 to notify the user that the eMMC 112 is nearing the end of its writing life (S704). Here, the message displayed on the UI 108 is different from the message displayed in S702, and may be any message indicating that the time for replacement of the eMMC 112 is approaching. By providing Dth1 which is smaller than Dth2, the user can be notified that the eMMC 112 is approaching the end of its write life and the time to replace the memory is approaching. In this embodiment, two thresholds are used to notify the user in stages that the eMMC 112 is approaching the end of its write life. However, the user may be notified only when replacement is required without performing the processes of S703 and S704.

以上本実施例によれば、メインSoC101からeMMC112に書き込む際のデータサイズに応じて適切なWAFを選択し、実際にNANDフラッシュメモリに書き込まれるデータのデータサイズを計算することが可能になる。算出されたデータサイズを累計し、eMMC112の書き込み寿命となるデータサイズと比較することで、実際の書き込みデータサイズを正確に知ることのできないメモリであっても、メモリの寿命が近いことを知ることができるようになる。 According to this embodiment, it is possible to select an appropriate WAF according to the data size to be written from the main SoC 101 to the eMMC 112, and to calculate the data size of the data actually written to the NAND flash memory. By accumulating the calculated data size and comparing it with the data size that becomes the write life of the eMMC 112, even if the memory cannot accurately know the actual write data size, it can be known that the life of the memory is near.

(実施例2)
実施例1では、eMMC112への書き込み処理が正常に完了した後に、実書き込みデータサイズ加算処理S412を実施していた。実施例2では、eMMC112へのデータの書き込みが完了する前に、eMMC112のNANDフラッシュメモリに書き込まれる実際の書き込みデータサイズを推定し、総書き込みデータサイズ加算処理を算出する。実施例2では、eMMC112へのデータの書き込みが完了する前に、eMMC112への実際の書き込みデータサイズを予測し、総書き込みデータサイズを算出しておく。このようにすることでeMMC112への書き込み処理が完了した後に必要な処理を減らし、書き込み完了までに必要な時間を短くすることができる。
(Example 2)
In Example 1, the actual write data size addition processing S412 was performed after the write processing to the eMMC 112 was normally completed. In the second embodiment, before data writing to the eMMC 112 is completed, the actual write data size to be written to the NAND flash memory of the eMMC 112 is estimated, and the total write data size addition process is calculated. In the second embodiment, the actual write data size to the eMMC 112 is predicted and the total write data size is calculated before data writing to the eMMC 112 is completed. By doing so, it is possible to reduce the processing required after the write processing to the eMMC 112 is completed, and shorten the time required to complete the write.

図1、図2、図3、図5、図6、図7に記載の箇所は実施例1と同様であるため、ここでは説明を省略する。 1, FIG. 2, FIG. 3, FIG. 5, FIG. 6, and FIG. 7 are the same as those in the first embodiment, and therefore description thereof is omitted here.

図8は、実施例2におけるeMMCへの書き込み処理800を示すフローチャートである。eMMC書き込み処理800は、メインSoC101がeMMC112に対してデータを書き込むための処理であり、CPU102、DMAC105、コントローラ114が連携して実施される。なお、CPU102が実行する処理を示すプログラムはROM107に格納されており、当該プログラムをRAM106に展開して実行することにより図8に記載の処理が実現される。なお、図4と同様の処理には同様の番号を付与し、実施例1と異なる箇所のみ説明をする。 FIG. 8 is a flow chart showing a write process 800 to eMMC in the second embodiment. The eMMC write processing 800 is processing for the main SoC 101 to write data to the eMMC 112, and is performed in cooperation with the CPU 102, DMAC 105, and controller 114. FIG. A program indicating the processing executed by the CPU 102 is stored in the ROM 107, and the processing shown in FIG. 8 is realized by developing the program in the RAM 106 and executing it. The same numbers are given to the same processes as in FIG. 4, and only the parts different from the first embodiment will be explained.

S801において、CPU102はS401で生成されたディスクリプタテーブル500の内容に基づいて、eMMC112への実際の書き込みデータサイズを計算し、総書き込みサイズを算出する。S801においてCPU102は、図6に示した実書き込みデータサイズ加算処理と同様の処理を実行する。 In S801, the CPU 102 calculates the actual write data size to the eMMC 112 based on the contents of the descriptor table 500 generated in S401, and calculates the total write size. In S801, the CPU 102 executes processing similar to the actual write data size addition processing shown in FIG.

S411において、CPU102がDMAC105から受信した割り込み信号がデータの書き込みが正常に完了したことを示す割り込み信号でなかった場合、CPU102はS801で算出した実際の書き込みデータサイズを減算する処理を実行する(S802)。S802において、CPU102が実行する処理の詳細は図9にて後述する。 In S411, if the interrupt signal received by the CPU 102 from the DMAC 105 is not an interrupt signal indicating that data writing has been completed normally, the CPU 102 executes processing for subtracting the actual write data size calculated in S801 (S802). Details of the processing executed by the CPU 102 in S802 will be described later with reference to FIG.

実施例2では、上述のようにeMMC112へのデータの書き込みが正常に行われたか否かに関わらず、S801においてeMMC112への実際の書き込みデータサイズを推定し、総書き込みデータサイズを予測する。このようにすることで、eMMC112へのデータの書き込み後に実際の書き込みデータサイズを推定する処理を行うことなくデータの書き込み処理を完了することができる。 In the second embodiment, as described above, the actual write data size to the eMMC 112 is estimated in S801 to predict the total write data size, regardless of whether or not the data was normally written to the eMMC 112 . By doing so, the data write process can be completed without performing the process of estimating the actual write data size after the data is written to the eMMC 112 .

図9は、図8のS802においてCPU102が実行する実書き込みデータサイズ減算処理900のフローチャートである。図9に示すフローチャートに記載のプログラムはROM107に記憶されており、CPU102がRAM106に展開された当該プログラムを実行することで処理が実現される。 FIG. 9 is a flowchart of actual write data size subtraction processing 900 executed by the CPU 102 in S802 of FIG. The program described in the flowchart shown in FIG. 9 is stored in the ROM 107, and the processing is realized by the CPU 102 executing the program developed in the RAM 106. FIG.

CPU102は、ディスクリプタテーブル500に基づき、CPU102がeMMC112に書き込みを指示したデータサイズを算出する(S901)。CPU102はディスクリプタテーブル500から、Block Length503とBlock Count504とを読み出し、乗算しCPU102がeMMC112への書き込みを指示したデータサイズを算出する。 Based on the descriptor table 500, the CPU 102 calculates the data size that the CPU 102 instructed the eMMC 112 to write (S901). The CPU 102 reads out the Block Length 503 and the Block Count 504 from the descriptor table 500 and multiplies them to calculate the data size that the CPU 102 has instructed to write to the eMMC 112 .

次に、CPU102はS901で算出したデータサイズと、RAM106に展開したWAF管理テーブルからS901で算出したデータサイズに対応するWAFを選択する(S902)。 Next, the CPU 102 selects the data size calculated in S901 and the WAF corresponding to the data size calculated in S901 from the WAF management table developed in the RAM 106 (S902).

CPU102は、S901で算出したデータサイズとS902で選択したWAFからeMMC112への実際の書き込みが予定されていたデータサイズを推定する(S903)。S903において、CPU102はS901で算出されたデータサイズとS902で選択されたWAFを乗算する。 The CPU 102 estimates the data size calculated in S901 and the data size scheduled to be actually written to the eMMC 112 from the WAF selected in S902 (S903). In S903, the CPU 102 multiplies the data size calculated in S901 by the WAF selected in S902.

最後に、CPU102はRAM106に記憶されている総書き込みデータサイズからS903で求めた推定された書き込みデータサイズを減算する(S904)。 Finally, the CPU 102 subtracts the estimated write data size obtained in S903 from the total write data size stored in the RAM 106 (S904).

上記の処理をすることで、eMMC112への書き込みが正常に完了しなかった場合に、実際の書き込み状況に合わせてeMMC112の総書き込みデータサイズを補正することができる。 By performing the above processing, when writing to the eMMC 112 is not completed normally, the total write data size of the eMMC 112 can be corrected according to the actual writing situation.

なお、図9では、ディスクリプタテーブル500を用いて、S801で実書き込みデータサイズに加算されたデータサイズを算出しなおした。S801において、CPU102が加算されるデータサイズをRAM106に格納するとし、S813において、CPU102がRAM106からS801で加算したデータサイズを取得し、総書き込みデータサイズから減算するとしてもよい。 In FIG. 9, the descriptor table 500 is used to recalculate the data size added to the actual write data size in S801. In S801, the data size added by the CPU 102 may be stored in the RAM 106, and in S813, the CPU 102 may acquire the data size added in S801 from the RAM 106 and subtract it from the total write data size.

実施例2においても、図8に記載の処理が完了した後は、任意のタイミングで図7に記載の処理を実行する。図7に記載の処理を実行することで、実際の書き込みデータサイズを知ることのできないeMMC112であっても、総書き込みデータサイズを予測し、eMMC112への書き込みデータサイズが上限に近付いていることを通知することができる。 Also in the second embodiment, the process shown in FIG. 7 is executed at an arbitrary timing after the process shown in FIG. 8 is completed. By executing the processing shown in FIG. 7, even the eMMC 112 that cannot know the actual write data size can predict the total write data size and notify that the write data size to the eMMC 112 is approaching the upper limit.

実施例2によれば、メインSoC101からeMMC112に書き込む際のデータサイズに応じて適切なWAFを選択し、実書き込みデータサイズを計算することが可能になる。また、CPU102がDMA転送の完了を待たずに、実書き込みデータサイズの計算を実施できる。そのため、eMMC112へのデータ書き込みが完了した後にCPU102が実際の書き込みデータサイズを推定し、総書き込みデータサイズに追加する処理をしなくてもよくなり、eMMC112へのデータ書き込み後に必要な時間が短くなる。 According to the second embodiment, it is possible to select an appropriate WAF according to the data size when writing from the main SoC 101 to the eMMC 112 and calculate the actual write data size. Also, the CPU 102 can calculate the actual write data size without waiting for the completion of the DMA transfer. Therefore, the CPU 102 does not need to estimate the actual write data size after completing the data write to the eMMC 112 and add it to the total write data size, and the time required after data write to the eMMC 112 is shortened.

(実施例3)
実施例1および実施例2では、書き込み処理を行う毎に、実書き込みデータサイズ加算処理を行っていたが、実施例3では、書き込み処理とは異なるタイミングで実書き込みデータサイズ加算処理を行う。具体的なタイミングについては実施例の中で説明する。
(Example 3)
In the first and second embodiments, the actual write data size addition process is performed each time the write process is performed. However, in the third embodiment, the actual write data size addition process is performed at a timing different from that of the write process. Specific timings will be described in the examples.

図2、図3、図5、図7に記載の箇所は実施例1と同様であるため、ここでは説明を省略する。 2, 3, 5, and 7 are the same as those of the first embodiment, and therefore description thereof is omitted here.

図10は、実施例3における画像形成装置1000の構成である。図1と同様の構成については、同様の符号を付して説明を省略する。 FIG. 10 shows the configuration of an image forming apparatus 1000 according to the third embodiment. Components similar to those in FIG. 1 are denoted by similar reference numerals, and descriptions thereof are omitted.

タイマ117は、カウント値が閾値に達すると、CPU102に対して割込み信号を送信するモジュールである。カウント周期と閾値はCPU102から任意に設定可能である。 The timer 117 is a module that transmits an interrupt signal to the CPU 102 when the count value reaches a threshold. The count cycle and threshold can be arbitrarily set by the CPU 102 .

メインスイッチ118は、ユーザが操作するものであり、ユーザが任意に画像系装置100の電源をオンもしくはオフするために用いるスイッチである。CPU102はメインスイッチ118と接続されており、メインスイッチ118がオンもしくはオフされたことを割込み信号で受け取ることができる。 The main switch 118 is operated by the user, and is used by the user to arbitrarily turn on or off the image system apparatus 100 . The CPU 102 is connected to the main switch 118 and can receive an interrupt signal indicating that the main switch 118 is turned on or off.

図11は、実施例3におけるeMMC書き込み処理のフローチャートである。eMMC書き込み処理は、メインSoC101がeMMC112に対してデータを書き込むための処理であり、CPU102、DMAC105、コントローラ114が連携して実施される。図3と同様の構成については、同様の符号を付して説明を省略する。なお、図11は、図3とS411以降の処理が異なる。 FIG. 11 is a flowchart of eMMC write processing in the third embodiment. The eMMC write process is a process for the main SoC 101 to write data to the eMMC 112, and is performed in cooperation with the CPU 102, DMAC 105, and controller 114. FIG. Configurations similar to those in FIG. 3 are denoted by similar reference numerals, and descriptions thereof are omitted. 11 differs from FIG. 3 in the processing after S411.

ステップS411において、CPU102はDMAC105からの割り込み信号を受信する。そして、DMAC105から受信した割り込み信号が、データ転送が正常に完了したことを示す割り込み信号であるか否かを判定する。S411において、CPU102が受信した割り込み信号がeMMC112へのデータ転送が正常に完了したことを示す割り込みだと判定された場合、CPU102はS1112に記載の処理を実行する。一方で、S411で受信した割り込み信号が、データ転送が正常に完了しなかったことを示す異常割り込み信号であると判定された場合、CPU102はS413に後述する処理を実行する。 At step S411, the CPU 102 receives an interrupt signal from the DMAC 105. FIG. Then, it is determined whether or not the interrupt signal received from the DMAC 105 is an interrupt signal indicating that the data transfer has been completed normally. If it is determined in S411 that the interrupt signal received by the CPU 102 is an interrupt indicating that the data transfer to the eMMC 112 has been completed normally, the CPU 102 executes the processing described in S1112. On the other hand, if the interrupt signal received in S411 is determined to be an abnormal interrupt signal indicating that the data transfer has not been completed normally, the CPU 102 executes processing described later in S413.

S1112では、S403~S410のDMA転送において、DMAC105からコントローラ114に転送された書き込みデータサイズ(すなわち、ホスト書き込みデータサイズ)に基づいて、CPU102がカウントアップ処理を実行する。カウントはホスト書き込みデータサイズごとにWAFが異なることを想定し、データサイズ別にカウンターを用意しカウントアップを行う。ステップS1112の詳細は図12で説明する。 In S1112, the CPU 102 executes count-up processing based on the write data size (that is, host write data size) transferred from the DMAC 105 to the controller 114 in the DMA transfer of S403 to S410. Assuming that the WAF differs for each host write data size, a counter is prepared for each data size and counted up. Details of step S1112 will be described with reference to FIG.

S413は、CPU102がS410で異常割り込みを受け取った場合に実行され、再転送などのリカバリ動作を実行したり、異常状態をUI108に表示したりする。S413は本発明に直接関与しないため、詳細は省略する。 S<b>413 is executed when the CPU 102 receives an abnormal interrupt in S<b>410 , executes recovery operations such as retransfer, or displays an abnormal state on the UI 108 . Since S413 is not directly related to the present invention, its details are omitted.

S1114では、CPU102がS1112の処理に用いるカウンターの値が、あらかじめ定めた閾値を超えたか否かを判断する。閾値を超えた場合には、S1115が実行される。ここでの閾値とは、どのような状況においてもカウンターがオーバーフローしないように十分に余裕をもって定められる値となる。閾値を超えていない場合には、書き込み処理1100を終了する。 In S1114, the CPU 102 determines whether or not the value of the counter used in the processing of S1112 exceeds a predetermined threshold. If the threshold is exceeded, S1115 is executed. The threshold here is a value determined with sufficient margin so that the counter does not overflow under any circumstances. If the threshold is not exceeded, write processing 1100 ends.

S1115では、CPU102がカウンターの値に基づいて、累積書き込みデータサイズを計算する。S1115の詳細は図13で説明する。 In S1115, the CPU 102 calculates the cumulative write data size based on the counter value. Details of S1115 will be described with reference to FIG.

ここで説明したように、eMMC書き込み処理400では、S1112での書き込みデータサイズカウントアップ処理や、S1114でのカウント値と閾値の比較処理が行われる。これらの処理は、図7で説明する実書き込みデータサイズ加算処理700と比べ、単純なカウントアップ処理と、ビット演算(比較)処理にとどまるため、CPU負荷としては極めて軽いものとなる。 As described here, in the eMMC write process 400, write data size count-up processing in S1112 and comparison processing between the count value and the threshold value in S1114 are performed. Compared to the actual write data size addition processing 700 described with reference to FIG. 7, these processings are limited to simple count-up processing and bit operation (comparison) processing, so the CPU load is extremely light.

次に図12を用いて、ステップS1112を詳細に説明する。図12は、実施例3における書き込みデータサイズカウントアップ処理1200のフローチャートである。書き込みデータサイズカウントアップ処理1200は、eMMC書き込み処理400のS1112において、CPU102によって実行される処理であり、ホスト書き込みデータサイズ(Dsize1)に基づいて、カウントアップを実行する処理である。 Next, step S1112 will be described in detail using FIG. FIG. 12 is a flow chart of write data size count-up processing 1200 in the third embodiment. The write data size count-up process 1200 is a process executed by the CPU 102 in S1112 of the eMMC write process 400, and is a process that counts up based on the host write data size (Dsize1).

S1201では、CPU102がホスト書き込みデータサイズ(Dsize1)に基づいて、インクリメントすべきカウンターを判断する。ホスト書き込みデータサイズ(Dsize1)は図5で説明したディスクリプタテーブル500の内容にて判断可能である。 In S1201, the CPU 102 determines the counter to be incremented based on the host write data size (Dsize1). The host write data size (Dsize1) can be determined from the contents of the descriptor table 500 described with reference to FIG.

S1202は、S1201でホスト書き込みデータサイズ(Dsize1)が4kBであると判断された場合に実行される。S1202では、CPU102が4kB_Counter(4kByte用のカウンター)をインクリメントする。 S1202 is executed when it is determined in S1201 that the host write data size (Dsize1) is 4 kB. In S1202, the CPU 102 increments 4kB_Counter (counter for 4kBytes).

S1203は、S1201でホスト書き込みデータサイズ(Dsize1)が8kBであると判断された場合に実行される。S1203では、CPU102が8kB_Counter(8kByte用のカウンター)をインクリメントする。 S1203 is executed when it is determined in S1201 that the host write data size (Dsize1) is 8 kB. In S1203, the CPU 102 increments 8kB_Counter (counter for 8kBytes).

S1204は、S1201でホスト書き込みデータサイズ(Dsize1)が16kBであると判断された場合に実行される。S1204では、CPU102が16kB_Counter(16kByte用のカウンター)をインクリメントする。 S1204 is executed when it is determined in S1201 that the host write data size (Dsize1) is 16 kB. In S1204, the CPU 102 increments 16 kB_Counter (counter for 16 kBytes).

S1205は、S1201でホスト書き込みデータサイズ(Dsize1)が32kBであると判断された場合に実行される。S1205では、CPU102が32kB_Counter(32kByte用のカウンター)をインクリメントする。 S1205 is executed when it is determined in S1201 that the host write data size (Dsize1) is 32 kB. In S1205, the CPU 102 increments 32 kB_Counter (counter for 32 kBytes).

S1206は、S1201でホスト書き込みデータサイズ(Dsize1)が64kBであると判断された場合に実行される。S1206では、CPU102が64kB_Counter(64kByte用のカウンター)をインクリメントする。 S1206 is executed when it is determined in S1201 that the host write data size (Dsize1) is 64 kB. In S1206, the CPU 102 increments 64 kB_Counter (counter for 64 kBytes).

S1202~S1206を終えると、カウントアップ処理が終了する。 After completing S1202 to S1206, the count-up process ends.

なお、本実施例では4kByte用~64kByte用のカウンターを用意する例を説明したが、システム構成に応じて、これら以外のデータサイズのカウンターを用意しカウントしてもよい。 In this embodiment, an example of preparing counters for 4 kBytes to 64 kBytes has been described, but counters for data sizes other than these may be prepared and counted according to the system configuration.

次に図13を用いてS1115を詳細に説明する。図13は、実施例3における実書き込みデータサイズ加算処理1300のフローチャートである。実書き込みデータサイズ加算処理1300は、eMMC書き込み処理400のS415において、CPU102によって実行される処理であり、累積書き込みデータサイズ(Dtotal)を算出する処理である。 Next, S1115 will be described in detail using FIG. FIG. 13 is a flow chart of actual write data size addition processing 1300 in the third embodiment. The actual write data size addition process 1300 is a process executed by the CPU 102 in S415 of the eMMC write process 400, and is a process of calculating the cumulative write data size (Dtotal).

なお、実書き込みデータサイズ加算処理1300の実施タイミングとして、S1115以外に、システムのシャットダウン時、スリープ(節電状態)移行時、一定時間ごと(タイマ割込み発生時)といったタイミングにおいて実施してもよい。詳細は図14で説明する。 The execution timing of the actual write data size addition processing 1300 may be timing other than S1115, such as when the system is shut down, when transitioning to sleep (power saving state), or at regular intervals (when a timer interrupt occurs). Details will be described with reference to FIG.

S1301では、CPU102が、データサイズごとに「カウンターの値」と「WAF」と「データサイズ」を乗算し、データサイズごとの実書き込みデータサイズを算出する。例えば、当該eMMCの4kBのWAFに該当する値が、図2に示すうちの8.0という値であり、4kB_Counterの値が500というカウンター値であった場合を考える。この場合の実書き込みデータサイズは、500に8と4を乗じた16000kByteとなる。こうした計算をデータサイズごとに行う。 In S1301, the CPU 102 multiplies the "counter value", the "WAF", and the "data size" for each data size to calculate the actual write data size for each data size. For example, consider a case where the value corresponding to the 4 kB WAF of the eMMC is 8.0 in FIG. 2 and the value of 4 kB_Counter is 500. The actual write data size in this case is 16000 kBytes, which is 500 multiplied by 8 and 4. Such calculation is performed for each data size.

S1302では、CPU102が、S1301で実施したデータサイズごとの計算結果を累積書き込みデータサイズ(Dtotal)に加算する。例えば、S1301の計算結果が72000kByte、それまでのDtotalが100000kByteの場合、S1302で新たに求められるDtotalは172000kByteになる。 In S1302, the CPU 102 adds the calculation result for each data size performed in S1301 to the cumulative write data size (Dtotal). For example, if the calculation result in S1301 is 72,000 kBytes and Dtotal up to that point is 100,000 kBytes, Dtotal newly obtained in S1302 is 172,000 kBytes.

S1303では、CPU102が、データサイズごとのカウンターをすべてリセット(カウント結果を0に初期化)する。S1303を終えると、実書き込みデータサイズ加算処理1300を終了する。 In S1303, the CPU 102 resets all the counters for each data size (initializes the count result to 0). After completing S1303, the actual write data size addition processing 1300 ends.

次に図14を用いて、図11のS1114、S1115と異なるタイミングで実書き込みデータサイズ処理を実行する際の実行タイミングを説明する。ここでは、例として3つのタイミングを説明する。なお、図11において、S1114、S115を実行した上で、図14の各タイミングで実書き込みデータサイズ処理を実行してもよい。または、図11において、S1114、S1115を実行しないで、図14の各タイミングで実書き込みデータサイズ処理を実行してもよい。 Next, with reference to FIG. 14, the execution timing when the actual write data size process is executed at timings different from those of S1114 and S1115 in FIG. 11 will be described. Here, three timings will be described as examples. Note that in FIG. 11, after executing S1114 and S115, the actual write data size processing may be executed at each timing in FIG. Alternatively, in FIG. 11, the actual write data size process may be executed at each timing in FIG. 14 without executing S1114 and S1115.

図14は、本実施例における実書き込みデータサイズ加算処理1300の実施タイミングを表すフローチャート(A)~(C)である。 14A to 14C are flowcharts (A) to (C) showing execution timings of the actual write data size addition processing 1300 in this embodiment.

図14の(A)は、タイマ割込み処理の中で、実書き込みデータサイズ加算処理1400を実施するためのフローチャートである。タイマは一般的なマイコンやSOCが備えるものであり、設定された時間が経過(カウント値が満了)するとCPUに対して、割込みを発行するモジュールである。本実施例では、SoC101が備えるタイマ117を用いる。 FIG. 14A is a flow chart for executing actual write data size addition processing 1400 in timer interrupt processing. A timer is provided in a general microcomputer or SOC, and is a module that issues an interrupt to the CPU when a set time elapses (count value expires). In this embodiment, the timer 117 included in the SoC 101 is used.

S1401では、CPU102がタイマ117からの割込み信号を待つ。CPU102がタイマ117からの割込み信号を検知すると、CPU102はS1402を実行する。S1402は、図7で説明した実書き込みデータサイズ加算処理1300であるため、ここでは説明を省略する。S1402を終えるとタイム割り込み処理を終了する。 In S<b>1401 , the CPU 102 waits for an interrupt signal from the timer 117 . When the CPU 102 detects an interrupt signal from the timer 117, the CPU 102 executes S1402. Since S1402 is the actual write data size addition processing 1300 described with reference to FIG. 7, description thereof is omitted here. After completing S1402, the time interrupt processing ends.

図14の(B)は、電力状態移行処理の中で、実書き込みデータサイズ加算処理1300を実施するためのフローチャートである。 (B) of FIG. 14 is a flowchart for performing the actual write data size addition process 1300 in the power state transition process.

S1411では、CPU102がシステム全体として電力状態移行条件を満たしているかを判断する。通常状態(スタンバイ状態、アイドル状態とも呼ばれる)から、通常状態よりも消費電力が低い節電状態(スリープ状態、休止状態)へ移行する際は、移行条件を満たしている必要がある。例えば、プリントジョブやスキャンジョブを実施している最中に節電状態に移行すると、ジョブが中断してしまう。そのため、これらのジョブ中は節電状態には移行しない(すなわち、電力状態移行条件を満たしていない)、とCPU102は判断する。電力状態移行条件の詳細については、本実施例には直接関与しないため、詳細な説明は省略する。 In S1411, the CPU 102 determines whether the system as a whole satisfies the power state transition condition. When transitioning from a normal state (also called a standby state or idle state) to a power saving state (sleep state or hibernate state) that consumes less power than the normal state, it is necessary to satisfy transition conditions. For example, if the power saving state is entered while a print job or scan job is in progress, the job will be interrupted. Therefore, the CPU 102 determines that the power saving state is not entered during these jobs (that is, the power state transition condition is not satisfied). Details of the power state transition conditions are not directly related to the present embodiment, so a detailed description thereof will be omitted.

CPU102がシステム全体として電力状態移行条件を満たしていると判断した場合、S1412が実行される。S1412は、図13で説明した実書き込みデータサイズ加算処理1300であるため、ここでは説明を省略する。 When the CPU 102 determines that the system as a whole satisfies the power state transition condition, S1412 is executed. Since S1412 is the actual write data size addition processing 1300 described with reference to FIG. 13, description thereof is omitted here.

S1413では、CPU102がシステムを節電状態に移行させる。具体的には、例えば、プリンタ109やスキャナ110の電源をOFFにする制御を実施する。S1413を終えると電力状態移行処理を終了する。 In S1413, the CPU 102 shifts the system to the power saving state. Specifically, for example, control is performed to turn off the power of the printer 109 and the scanner 110 . After completing S1413, the power state transition processing ends.

図14の(C)は、シャットダウン処理の中で、実書き込みデータサイズ加算処理1300を実施するためのフローチャートである。 (C) of FIG. 14 is a flowchart for executing the actual write data size addition process 1300 in the shutdown process.

S1421では、CPU102がメインスイッチ118からのオフ割込み信号を待つ。CPU102がメインスイッチ118からのオフ割込み信号を検知すると、CPU102はS1422を実行する。 At S<b>1421 , the CPU 102 waits for an off interrupt signal from the main switch 118 . When the CPU 102 detects the OFF interrupt signal from the main switch 118, the CPU 102 executes S1422.

S1422は、図7で説明した実書き込みデータサイズ加算処理1300であるため、ここでは説明を省略する。 Since S1422 is the actual write data size addition processing 1300 described with reference to FIG. 7, description thereof is omitted here.

S1423では、CPU102がシステムをシャットダウン状態に移行させる。具体的には、例えば、RAM106に展開されたシステムデータのうち必要なものをROM107に書き出す処理を行う。S1423を終えるとシャットダウン処理を終了する。 In S1423, the CPU 102 shifts the system to the shutdown state. Specifically, for example, a process of writing necessary system data expanded in the RAM 106 to the ROM 107 is performed. After completing S1423, the shutdown process ends.

以上本実施例によれば、メインSoC101からeMMC112に書き込む際のデータサイズに応じて適切なWAFを選択し、実書き込みデータサイズを計算することが可能になる。その結果、従来よりも正確にホストシステムが実書き込みデータサイズを推定することが可能になる。 According to this embodiment, it is possible to select an appropriate WAF according to the data size to be written from the main SoC 101 to the eMMC 112 and to calculate the actual write data size. As a result, the host system can estimate the actual write data size more accurately than before.

さらに本実施例によれば、eMMCへの書き込み処理発生タイミングでは書き込みサイズのカウントアップ処理のみを行い、実書き込みデータの計算は前記カウント値を用いて、別のタイミングで実施するようにしている。その結果、CPU負荷が局所的に集中することを軽減することが可能になる。 Furthermore, according to this embodiment, only the count-up process of the write size is performed at the timing of occurrence of the write process to the eMMC, and the calculation of the actual write data is performed at a different timing using the count value. As a result, it is possible to reduce the local concentration of the CPU load.

(実施例4)
実施例4では、eMMC書き込み処理1100において、書き込みデータサイズカウントアップ処理S1112を、DMA転送の完了割り込み受信(S410)後に実施していた。実施例2では、DMA転送の完了割り込み受信に先だって、書き込みデータサイズカウントアップ処理を実施するフローを示す。
(Example 4)
In the fourth embodiment, in the eMMC write process 1100, the write data size count-up process S1112 is performed after receiving the DMA transfer completion interrupt (S410). In the second embodiment, a flow for performing write data size count-up processing prior to receiving a DMA transfer completion interrupt is shown.

なお、実施例1における図2、図3、図5、図7および実施例3における図10、図12、図13、図14、は実施例4においても同様であるため、ここでは説明を省略する。 2, 3, 5, and 7 in Example 1 and FIGS. 10, 12, 13, and 14 in Example 3 are the same as in Example 4, so description thereof will be omitted here.

図15は、実施例4におけるeMMC書き込み処理1000のフローチャートである。eMMC書き込み処理1000は、メインSoC101がeMMC112に対してデータを書き込むための処理であり、CPU102、DMAC105、コントローラ114が連携して実施される。図11と同様の構成については、同様の符号を付して説明を省略する。なお、図15は、図11とS1511、S1513の処理が異なる。 FIG. 15 is a flowchart of eMMC write processing 1000 in the fourth embodiment. The eMMC write processing 1000 is processing for the main SoC 101 to write data to the eMMC 112, and is performed in cooperation with the CPU 102, DMAC 105, and controller 114. FIG. Components similar to those in FIG. 11 are denoted by similar reference numerals, and descriptions thereof are omitted. 15 differs from FIG. 11 in the processing of S1511 and S1513.

S403では、CPU102がDMAC105のイネーブルレジスタをオンにすることで、DMAC105によるDMA転送をスタートさせる。S403を終えるとS1511に遷移する。 In S<b>403 , the CPU 102 turns on the enable register of the DMAC 105 to start DMA transfer by the DMAC 105 . After completing S403, the process proceeds to S1511.

S1511では、S401で生成されたディスクリプタテーブル500の内容に基づいて、CPU102がカウントアップ処理を実行する。S1511は、図11のS1112に対応し、図12で説明した書き込みデータサイズカウントアップ処理1200と同様である。 In S1511, the CPU 102 executes count-up processing based on the contents of the descriptor table 500 generated in S401. S1511 corresponds to S1112 in FIG. 11 and is the same as write data size count-up processing 1200 described in FIG.

S412では、CPU102がS1010で受けた割り込みの種別を判断する。異常割り込みだったと判断されれば、S1513が実行される。異常割り込みでなければ、S1114に遷移する。 In S412, the CPU 102 determines the type of interrupt received in S1010. If it is determined that it was an abnormal interrupt, S1513 is executed. If it is not an abnormal interrupt, the process proceeds to S1114.

S1513では、CPU102がS1511であらかじめカウントアップしておいたデータサイズに対して、カウントダウンする処理を行う。S1513の詳細は図16を用いて後述する。 In S1513, the CPU 102 performs a process of counting down the data size previously counted up in S1511. Details of S1513 will be described later with reference to FIG.

S414は、再転送などのリカバリ動作を実行したり、異常状態をUI108に表示したりする。S413は本発明に直接関与しないため、詳細は省略する。その後は、図11と同様であるため説明を省略する。 In S414, a recovery operation such as retransfer is executed, or an abnormal state is displayed on the UI 108. FIG. Since S413 is not directly related to the present invention, its details are omitted. The subsequent steps are the same as in FIG. 11, so the description is omitted.

なお、本実施例においても、実施例3の図14で説明したように実書き込みデータサイズ加算処理1300の実施タイミングを異なるタイミングとしてもよい。具体的には、S1115以外に、システムのシャットダウン時、スリープ(節電状態)移行時、一定時間ごと(タイマ割込み発生時)といったタイミングで実施してもよい。 Also in the present embodiment, the execution timing of the actual write data size addition process 1300 may be different as described in FIG. 14 of the third embodiment. Specifically, other than S1115, it may be performed at timing such as when the system is shut down, when transitioning to sleep (power saving state), or at regular intervals (when a timer interrupt occurs).

図16は、実施例4における書き込みデータサイズカウントダウン処理1600のフローチャートである。書き込みデータサイズカウントダウン処理1600は、eMMC書き込み処理1500のS1513において、CPU102によって実行される処理である。 FIG. 16 is a flowchart of write data size countdown processing 1600 in the fourth embodiment. The write data size countdown process 1600 is a process executed by the CPU 102 in S1513 of the eMMC write process 1500. FIG.

S1601では、CPU102がホスト書き込みデータサイズ(Dsize1)に基づいて、デクリメントすべきカウンターを判断する。ホスト書き込みデータサイズ(Dsize1)は図5で説明したディスクリプタテーブル500の内容にて判断可能である。 In S1601, the CPU 102 determines the counter to be decremented based on the host write data size (Dsize1). The host write data size (Dsize1) can be determined from the contents of the descriptor table 500 described with reference to FIG.

S1602は、S1601でホスト書き込みデータサイズ(Dsize1)が4kBであると判断された場合に実行される。S1602では、CPU102が4kB_Counter(4kByte用のカウンター)をデクリメントする。 S1602 is executed when it is determined in S1601 that the host write data size (Dsize1) is 4 kB. In S1602, the CPU 102 decrements 4 kB_Counter (counter for 4 kBytes).

S1603は、S1601でホスト書き込みデータサイズ(Dsize1)が8kBであると判断された場合に実行される。S1603では、CPU102が8kB_Counter(8kByte用のカウンター)をデクリメントする。 S1603 is executed when it is determined in S1601 that the host write data size (Dsize1) is 8 kB. In S1603, the CPU 102 decrements 8 kB_Counter (counter for 8 kBytes).

S1604は、S1601でホスト書き込みデータサイズ(Dsize1)が16kBであると判断された場合に実行される。S1104では、CPU102が16kB_Counter(16kByte用のカウンター)をデクリメントする。 S1604 is executed when it is determined in S1601 that the host write data size (Dsize1) is 16 kB. In S1104, the CPU 102 decrements 16 kB_Counter (counter for 16 kBytes).

S1605は、S1101でホスト書き込みデータサイズ(Dsize1)が32kBであると判断された場合に実行される。S1605では、CPU102が32kB_Counter(32kByte用のカウンター)をデクリメントする。 S1605 is executed when it is determined in S1101 that the host write data size (Dsize1) is 32 kB. In S1605, the CPU 102 decrements 32 kB_Counter (counter for 32 kBytes).

S1606は、S1601でホスト書き込みデータサイズ(Dsize1)が64kBであると判断された場合に実行される。S1106では、CPU102が64kB_Counter(64kByte用のカウンター)をデクリメントする。 S1606 is executed when it is determined in S1601 that the host write data size (Dsize1) is 64 kB. In S1106, the CPU 102 decrements 64 kB_Counter (counter for 64 kBytes).

なお、本実施例では4kByte用~64kByte用のカウンターを用意する例を説明したが、システム構成に応じて、これら以外のデータサイズのカウンターを用意しカウントしてもよい。 In this embodiment, an example of preparing counters for 4 kBytes to 64 kBytes has been described, but counters for data sizes other than these may be prepared and counted according to the system configuration.

以上本実施例によれば、メインSoC101からeMMC112に書き込む際のデータサイズに応じて適切なWAFを選択し、実書き込みデータサイズを計算することが可能になる。また、CPU102がDMA転送の完了を待たずに、実書き込みデータサイズの計算を実施できる。その結果、従来よりも正確にホストシステムが実書き込みデータサイズを推定することが可能になるとともに、CPU102の実書き込みデータサイズ計算による処理時間のオーバーヘッドを小さくできる。 According to this embodiment, it is possible to select an appropriate WAF according to the data size to be written from the main SoC 101 to the eMMC 112 and to calculate the actual write data size. Also, the CPU 102 can calculate the actual write data size without waiting for the completion of the DMA transfer. As a result, it becomes possible for the host system to estimate the actual write data size more accurately than before, and the processing time overhead due to the calculation of the actual write data size by the CPU 102 can be reduced.

さらに本実施例によれば、eMMCへの書き込み処理発生タイミングでは書き込みサイズのカウントアップ処理もしくはカウントダウン処理のみを行い、実書き込みデータの計算は前記カウント値を用いて、別のタイミングで実施するようにしている。その結果、CPU負荷が局所的に集中することを軽減することが可能になる。 Furthermore, according to this embodiment, only the write size count-up process or count-down process is performed at the timing of writing to the eMMC, and the calculation of the actual write data is performed at a different timing using the count value. As a result, it is possible to reduce the local concentration of the CPU load.

(その他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。
(Other embodiments)
The present invention is also realized by executing the following processing. That is, the software (program) that realizes the functions of the above-described embodiments is supplied to a system or device via a network or various storage media, and the computer (or CPU, MPU, etc.) of the system or device reads and executes the program code. In this case, the computer program and the storage medium storing the computer program constitute the present invention.

Claims (14)

データを記憶する不揮発性の半導体記憶装置と、データサイズ毎のWAFを記憶するメモリとを有する情報処理装置であって、
前記半導体記憶装置にデータの書き込みを指示する指示手段と、
前記書き込みを指示したデータのデータサイズの書き込み指示回数を、データサイズ毎にカウントするカウント手段と、
前記書き込みを指示したデータのデータサイズに対応する書き込みサイズを算出する算出手段と、
前記算出された書き込みサイズを累積する累積手段と、
前記累積した書き込みサイズが閾値に対して所定の条件を満たすと、通知する通知手段と、を有し、
前記算出手段は、
前記書き込みを指示したデータのデータサイズと前記書き込みを指示したデータのデータサイズに応じた前記WAFと前記書き込み指示回数に基づいて、前記書き込みサイズを算出することを特徴とする情報処理装置。
An information processing device having a nonvolatile semiconductor storage device for storing data and a memory for storing a WAF for each data size,
an instruction means for instructing the semiconductor memory device to write data;
counting means for counting, for each data size, the number of write instructions of the data size of the data instructed to be written;
calculating means for calculating a write size corresponding to the data size of the data instructed to be written;
accumulating means for accumulating the calculated write size;
notification means for notifying when the accumulated write size satisfies a predetermined condition with respect to a threshold;
The calculation means is
An information processing apparatus, wherein the write size is calculated based on the WAF corresponding to the data size of the write-instructed data, the data size of the write-instructed data, and the write instruction count.
前記算出手段は、前記書き込みを指示したデータのデータサイズと前記書き込みを指示したデータのデータサイズに応じた前記WAFと前記書き込み指示回数に基づいて、データサイズ毎の前記書き込みサイズを算出し、
前記累積手段は、前記算出手段によって算出された複数のデータサイズの書き込みサイズを累積することを特徴とする請求項1に記載の情報処理装置。
The calculation means calculates the write size for each data size based on the WAF corresponding to the data size of the data instructed to write and the data size of the data instructed to write, and the number of write instructions,
2. The information processing apparatus according to claim 1, wherein said accumulating means accumulates the write sizes of the plurality of data sizes calculated by said calculating means.
前記所定の条件は、前記累積した書き込みサイズが前記閾値よりも大きい場合であることを特徴とする請求項1又は2に記載の情報処理装置。 3. The information processing apparatus according to claim 1 , wherein the predetermined condition is that the accumulated write size is larger than the threshold value. タイマをカウントする計測手段と、
前記計測手段による前記タイマのカウント時間が異なる閾値を超えた場合に割り込み信号を出力する信号出力手段と、を有し、
前記算出手段は、前記割り込み信号の受信に従って、前記書き込みを指示したデータのデータサイズと前記書き込みを指示したデータのデータサイズに応じた前記WAFと前記書き込み指示回数に基づき、前記書き込みサイズを算出することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
a measuring means for counting a timer;
signal output means for outputting an interrupt signal when the count time of the timer by the measurement means exceeds different thresholds;
4. The information processing apparatus according to any one of claims 1 to 3 , wherein the calculating means calculates the write size based on the WAF corresponding to the data size of the data instructed to write and the data size of the data instructed to write, and the number of write instructions, in accordance with the reception of the interrupt signal.
第1電力状態から前記第1電力状態よりも消費電力の低い第2電力状態への前記情報処理装置の電力状態の移行条件を満たしてから前記第1電力状態から前記第2電力状態に移行する前に、前記算出手段は、前記書き込みサイズを算出することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 5. The information processing apparatus according to any one of claims 1 to 4 , wherein the calculating means calculates the write size after satisfying a power state transition condition of the information processing apparatus from the first power state to the second power state with lower power consumption than the first power state and before transitioning from the first power state to the second power state. 前記情報処理装置の電源をオフにするシャットダウン処理の指示を操作IFが受信したことに基づいて、前記算出手段は、前記書き込みサイズを算出することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 6. The information processing apparatus according to any one of claims 1 to 5 , wherein the calculation unit calculates the write size based on the operation IF receiving a shutdown processing instruction for turning off the power of the information processing apparatus. 前記算出手段は、一定時間毎に、前記書き込みサイズを算出することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 7. The information processing apparatus according to any one of claims 1 to 6 , wherein said calculation means calculates said write size at regular time intervals. 前記通知は、半導体記憶装置の交換が必要であることを示すことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 8. The information processing apparatus according to claim 1, wherein said notification indicates that the semiconductor memory device needs to be replaced. 前記通知手段は表示部であり、
前記表示部は、前記通知として前記半導体記憶装置の交換を促すメッセージを表示部に表示することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
the notification means is a display unit;
9. The information processing apparatus according to any one of claims 1 to 8 , wherein the display unit displays a message prompting replacement of the semiconductor memory device as the notification on the display unit.
前記半導体記憶装置は不揮発性NANDフラッシュメモリであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 10. The information processing apparatus according to claim 1, wherein said semiconductor memory device is a non-volatile NAND flash memory. 画像データを処理する画像処理手段を有し、
前記半導体記憶装置は、前記画像処理手段によって処理された前記画像データを記憶することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
having image processing means for processing image data;
11. The information processing apparatus according to claim 1, wherein said semiconductor memory device stores said image data processed by said image processing means.
前記画像処理手段によって生成された画像データに基づいてシート上に画像を形成するように構成されたプリンタをさらに有することを特徴とする請求項1に記載の情報処理装置。 12. An information processing apparatus according to claim 11 , further comprising a printer configured to form an image on a sheet based on the image data generated by said image processing means. 前記WAFは1以上であることを特徴とする請求項1乃至1のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 12 , wherein the WAF is one or more. 前記メモリに記憶された前記WAFは、前記半導体記憶装置の製品名に対応して設定された前記データサイズ毎の前記WAFであることを特徴とする請求項1乃至1のいずれか1項に記載の情報処理装置。 14. The information processing apparatus according to claim 1, wherein said WAF stored in said memory is said WAF for each said data size set corresponding to a product name of said semiconductor memory device.
JP2019025606A 2018-10-25 2019-02-15 Information processing device, control method for information processing device, and program Active JP7313840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/780,756 US11435949B2 (en) 2019-02-15 2020-02-03 Information processing apparatus and method for calculating a data size estimated to be written to a storage based on a write data size

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018201269 2018-10-25
JP2018201269 2018-10-25

Publications (3)

Publication Number Publication Date
JP2020071855A JP2020071855A (en) 2020-05-07
JP2020071855A5 JP2020071855A5 (en) 2022-02-18
JP7313840B2 true JP7313840B2 (en) 2023-07-25

Family

ID=70547922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019025606A Active JP7313840B2 (en) 2018-10-25 2019-02-15 Information processing device, control method for information processing device, and program

Country Status (1)

Country Link
JP (1) JP7313840B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015505078A (en) 2012-02-08 2015-02-16 株式会社日立製作所 Storage device having a plurality of nonvolatile semiconductor storage media, placing hot data in long-life storage medium, and placing cold data in short-life storage medium, and storage control method
JP2015197832A (en) 2014-04-02 2015-11-09 コニカミノルタ株式会社 Information processing apparatus and flash memory control method
JP2017154466A (en) 2016-03-04 2017-09-07 キヤノン株式会社 Printing apparatus and method for controlling printing apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015505078A (en) 2012-02-08 2015-02-16 株式会社日立製作所 Storage device having a plurality of nonvolatile semiconductor storage media, placing hot data in long-life storage medium, and placing cold data in short-life storage medium, and storage control method
JP2015197832A (en) 2014-04-02 2015-11-09 コニカミノルタ株式会社 Information processing apparatus and flash memory control method
JP2017154466A (en) 2016-03-04 2017-09-07 キヤノン株式会社 Printing apparatus and method for controlling printing apparatus

Also Published As

Publication number Publication date
JP2020071855A (en) 2020-05-07

Similar Documents

Publication Publication Date Title
US9277077B2 (en) Image forming apparatus having power save function, control method thereof, and storage medium
KR101636184B1 (en) Image forming apparatus, method for controlling image forming apparatus, and computer readable recording medium
JP2011095916A (en) Electronic apparatus
JP6979804B2 (en) Information processing equipment, its control method, and programs
JP2012155533A (en) Information processing apparatus, control method thereof, and control program
CN103248784A (en) Image forming apparatus, method for controlling image forming apparatus
US9423857B2 (en) Apparatus and method for extending life of a storage unit by delaying transitioning to a hibernation state for a predetermined time calculated based on a number of writing times of the storage unit
KR101596095B1 (en) Printing apparatus and recording medium
US8775768B2 (en) Information processing apparatus and method of controlling the same
US20160041605A1 (en) Image processing apparatus, control method therefor and storage medium
JP7313840B2 (en) Information processing device, control method for information processing device, and program
US11435949B2 (en) Information processing apparatus and method for calculating a data size estimated to be written to a storage based on a write data size
JP6579324B2 (en) Image forming apparatus and data processing program
JP6410055B2 (en) Image forming apparatus and data processing program
JP6074486B2 (en) Image processing apparatus, control method thereof, and program
JP6641952B2 (en) Printing system
JP2016110513A (en) Information processor, control method for information processor, program, and recording medium
JP2014138265A (en) Image forming apparatus
JP5800861B2 (en) Information processing apparatus, control method for information processing apparatus, and control program
JP2021027428A (en) Information processing system, information processing apparatus, method for determining life of information processing, and program
JP2021100182A (en) Image forming apparatus and method for controlling image forming apparatus
JP2017019150A (en) Image formation device and image formation system
JP2021093076A (en) Information processing apparatus, method for controlling the same, and program
US8964210B2 (en) Image forming apparatus which uses both of HDDs and an SDD, and which saves the power consumption
JP2021093569A (en) Image processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230712

R151 Written notification of patent or utility model registration

Ref document number: 7313840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151