JP2007034431A - Memory controller - Google Patents

Memory controller Download PDF

Info

Publication number
JP2007034431A
JP2007034431A JP2005213349A JP2005213349A JP2007034431A JP 2007034431 A JP2007034431 A JP 2007034431A JP 2005213349 A JP2005213349 A JP 2005213349A JP 2005213349 A JP2005213349 A JP 2005213349A JP 2007034431 A JP2007034431 A JP 2007034431A
Authority
JP
Japan
Prior art keywords
data
written
block
writing
volatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005213349A
Other languages
Japanese (ja)
Inventor
Kenichi Miyazaki
兼一 宮崎
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2005213349A priority Critical patent/JP2007034431A/en
Publication of JP2007034431A publication Critical patent/JP2007034431A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently reduce write frequency of data in a non-volatile memory such as an EEPROM, and to prolong a service life. <P>SOLUTION: The control part 11 of a memory controller 1 temporarily writes data to be written in a non-volatile memory 2 in the data region of a volatile memory 12. In this case, a control part 11 writes ID showing the written data in the ID region of a volatile memory 12. When the data are written in the non-volatile memory 2, the control part 11 specifies data to be written in the same block from the data written in the data region on the basis of the ID registered in the ID region, and collectively writes the specified data in the non-volatile memory 2. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、不揮発性メモリに効率良くデータを書き込む技術に関する。   The present invention relates to a technique for efficiently writing data to a nonvolatile memory.

不揮発性メモリのなかには、データが繰り返し書き込まれることによって記憶領域の値が不定となってしまうものがある。この種のメモリは、メーカーによって書込回数の制限値が設けられており、その値は、例えばEEPROM(Electronically Erasable and Programmable Read Only Memory)の場合は10万〜100万回程度である。EEPROMにおいては所定のサイズの記憶領域毎にブロックが形成されており、このブロック毎に上述の制限値が設定されている。   In some nonvolatile memories, the value of the storage area becomes undefined when data is repeatedly written. This type of memory is provided with a limit value for the number of times of writing by the manufacturer. The value is, for example, about 100,000 to 1,000,000 times in the case of an EEPROM (Electronically Erasable and Programmable Read Only Memory). In the EEPROM, a block is formed for each storage area of a predetermined size, and the above limit value is set for each block.

このような不揮発性メモリをコンピュータに用いる場合には、不揮発性メモリの寿命を延長すべく、不揮発性メモリへの書込処理の回数が少なくなるような制御を行っている。例えば、特許文献1に記載の技術においては、不揮発性メモリ(不揮発メモリ回路部22)に書き込むべきデータを揮発性メモリ(揮発メモリ回路部21)に記憶させながら更新していき、電源オフ時に揮発性メモリ内のデータを不揮発性メモリに一括で書き込む処理を行うことによって、不揮発性メモリへの書込回数を減らしている。また、特許文献2に記載の技術においては、モータの駆動回数や光源の点灯時間等を計数値として不揮発性メモリ(EEPROM)に書き込む際に、本来1回カウントする度に「1」を書き込むところを、n回カウントしたら1回「n」を書き込むという処理を行うことによって、不揮発性メモリへの書込回数を減らしている。
特開平8−241599号公報 特開2000−339506号公報
When such a nonvolatile memory is used in a computer, control is performed such that the number of times of writing processing to the nonvolatile memory is reduced in order to extend the life of the nonvolatile memory. For example, in the technique described in Patent Document 1, data to be written to a nonvolatile memory (nonvolatile memory circuit unit 22) is updated while being stored in a volatile memory (volatile memory circuit unit 21), and is volatile when the power is turned off. The number of times data is written to the non-volatile memory is reduced by performing batch processing of writing data in the non-volatile memory into the non-volatile memory. Further, in the technique described in Patent Document 2, when writing the number of times the motor is driven and the lighting time of the light source as a count value in the nonvolatile memory (EEPROM), “1” is originally written every time it is counted. The number of times of writing to the non-volatile memory is reduced by performing a process of writing “n” once when n is counted.
JP-A-8-241599 JP 2000-339506 A

しかし、上述の特許文献1および2に記載された技術には、以下のような不都合が認められる。特許文献1に記載の技術の場合、電源オフ時に一括して書き込むとはいえ、1個のデータを書き込むには1回の書込処理を必要としていた。すなわち、x個のデータを書き込もうとすれば、結局x回の書込処理が発生することとなり、書込回数を効率的に減らしているとは言えなかった。   However, the following inconveniences are recognized in the techniques described in Patent Documents 1 and 2 described above. In the case of the technique described in Japanese Patent Laid-Open No. 2004-260, a single write process is required to write one piece of data, although the batch write is performed when the power is turned off. That is, if x pieces of data are to be written, x number of writing processes will eventually occur, and it cannot be said that the number of times of writing has been efficiently reduced.

また、特許文献2に記載の技術の場合にも、上述の特許文献1と同様の不都合が生じ得る。加えて、特許文献2に記載の技術の場合は、書込処理を間引くことによって書込回数を減らしているに過ぎないため、本来書き込まれているべき値と実際に書き込まれている値との間に誤差が生じることもあった。   In the case of the technique described in Patent Document 2, the same inconvenience as in Patent Document 1 can occur. In addition, in the case of the technique described in Patent Document 2, since the number of times of writing is merely reduced by thinning out the writing process, the value that should be originally written and the value that is actually written In some cases, errors occurred.

本発明は上述の事情に鑑みてなされたものであり、その目的は、不揮発性メモリへのデータの書込回数を効率的に減少させ、その寿命を延長させる技術を提供することにある。   The present invention has been made in view of the above-described circumstances, and an object of the present invention is to provide a technique for efficiently reducing the number of times data is written to a nonvolatile memory and extending its life.

上述の目的を達成するために、本発明は、記憶領域がブロック単位で区分されている不揮発性メモリに対して、揮発性メモリを介してデータの読み出しまたは書き込みを行うメモリ制御装置において、前記不揮発性メモリの所定のブロックに書き込むべきデータを、当該ブロックを示す識別情報とともに前記揮発性メモリに書き込む第1の書込手段と、前記第1の書込手段により書き込まれた識別情報を用いて、前記揮発性メモリに書き込まれたデータの中から同一のブロックに書き込まれるデータを特定する検索手段と、前記検索手段により特定されたデータを、その書き込むべきブロックに一括して書き込む第2の書込手段とを備えることを特徴としている。   In order to achieve the above object, the present invention provides a memory control device that reads or writes data via a volatile memory with respect to a nonvolatile memory in which a storage area is divided into blocks. First writing means for writing data to be written in a predetermined block of the volatile memory to the volatile memory together with identification information indicating the block, and using the identification information written by the first writing means, Search means for specifying data to be written to the same block among data written to the volatile memory, and second writing for collectively writing the data specified by the search means to the block to be written Means.

かかるメモリ制御装置によれば、第1の書込手段が不揮発性メモリに書き込むべきデータを一旦揮発性メモリに書き込み、この揮発性メモリに書き込まれたデータの中から、検索手段が同一のブロックに書き込まれるデータを特定する。このとき特定された1ないし複数のデータを第2の書込手段が一括して不揮発性メモリに書き込むことによって、同一のブロックに書き込まれるデータを、その個数によらず1回の書込処理で書き込むことができる。   According to such a memory control device, the data to be written to the nonvolatile memory by the first writing means is once written to the volatile memory, and the searching means is stored in the same block from the data written to the volatile memory. Identify the data to be written. The second writing means collectively writes one or a plurality of data specified at this time to the nonvolatile memory, so that the data written to the same block can be written in one time regardless of the number of data. Can write.

本発明において、メモリ制御装置は、前記検索手段により特定されたデータを、そのデータが書き込まれるべきブロックである被書込ブロックに書き込まれているデータと比較し、両者に差違があるか否かを判断する判断手段を備え、前記第2の書込手段は、前記判断手段により両者に差違がないと判断された場合には、前記被書込ブロックに対する書き込みを行わない構成を有していると、より望ましい。このようにすれば、書き込みの前後において差違が生じるブロックだけ書込処理が行われる。   In the present invention, the memory control device compares the data specified by the search means with the data written in the block to be written, which is the block in which the data is to be written, and whether there is a difference between the two. The second writing means has a configuration in which writing to the block to be written is not performed when it is determined by the determining means that there is no difference between them. And more desirable. In this way, the writing process is performed only for blocks in which a difference occurs before and after writing.

また、本発明において、メモリ制御装置は、決められた処理の発生を検知する検知手段を備え、前記第2の書込手段は、前記検知手段が前記処理の発生を検知した場合にデータの書き込みを行う構成を有していてもよい。この場合において、「決められた処理」とは、例えば電源を遮断する処理や、接続される上位装置が節電モードを開始する処理のことである。もちろん、この指示は、ユーザにより直接入力されるものであってもよい。   In the present invention, the memory control device includes a detection unit that detects the occurrence of a predetermined process, and the second writing unit writes data when the detection unit detects the occurrence of the process. You may have the structure which performs. In this case, the “determined process” is, for example, a process of shutting off the power supply or a process of starting the power saving mode by the connected host device. Of course, this instruction may be input directly by the user.

以上のように、本発明によれば、不揮発性メモリへのデータの書込回数を効率的に減少させ、その寿命を延長させることが可能となる。   As described above, according to the present invention, it is possible to efficiently reduce the number of times data is written to the nonvolatile memory and extend its life.

以下、本発明の実施の形態について、図面を参照しつつ説明する。
[1.構成]
図1は、本発明の一実施形態に係るデータ処理装置100を示したブロック図である。データ処理装置100は、例えば電子写真方式の画像形成装置に搭載され、不揮発性メモリ2に対するデータの読み書きを制御するものである。このデータ処理装置100は、メモリ制御装置1と、不揮発性メモリ2と、ASIC(Application Specific Integrated Circuit)3とに大別される。
Embodiments of the present invention will be described below with reference to the drawings.
[1. Constitution]
FIG. 1 is a block diagram showing a data processing apparatus 100 according to an embodiment of the present invention. The data processing apparatus 100 is mounted on, for example, an electrophotographic image forming apparatus, and controls reading and writing of data with respect to the nonvolatile memory 2. The data processing device 100 is roughly divided into a memory control device 1, a nonvolatile memory 2, and an ASIC (Application Specific Integrated Circuit) 3.

メモリ制御装置1は、制御部11と揮発性メモリ12とを備える。制御部11は例えばCPU(Central Processing Unit)であり、図示せぬ所定のプログラムを実行することによってデータ処理装置100におけるデータの読み書きを制御する。揮発性メモリ12は例えばRAM(Random Access Memory)であり、制御部11のワーキングエリアとして利用される。揮発性メモリ12の一部は、「データ領域」または「ID領域」として利用される。データ領域には不揮発性メモリ2に記憶されたデータが書き込まれ、ID領域には不揮発性メモリ2に書き込むべきデータを識別するIDが書き込まれる。   The memory control device 1 includes a control unit 11 and a volatile memory 12. The control unit 11 is, for example, a CPU (Central Processing Unit), and controls reading and writing of data in the data processing apparatus 100 by executing a predetermined program (not shown). The volatile memory 12 is, for example, a RAM (Random Access Memory), and is used as a working area of the control unit 11. A part of the volatile memory 12 is used as a “data area” or an “ID area”. Data stored in the nonvolatile memory 2 is written in the data area, and an ID for identifying data to be written in the nonvolatile memory 2 is written in the ID area.

なお、制御部11は、スイッチSWおよびタイマTMの状態を検知することが可能なように構成されている。ここで、スイッチSWは画像形成装置等の上位装置のオン・オフを制御する操作子であり、制御部11はこのスイッチSWがオフ状態となることで上位装置を停止させる。また、タイマTMは上位装置のアイドル時間、すなわちユーザにより動作を指示されないでいる時間を計測する計時装置である。ここでは、ユーザが上位装置に何も動作を指示しないでいる状態のことを「アイドル状態」という。   Note that the control unit 11 is configured to be able to detect the states of the switch SW and the timer TM. Here, the switch SW is an operator for controlling on / off of a host device such as an image forming apparatus, and the control unit 11 stops the host device when the switch SW is turned off. The timer TM is a timing device that measures the idle time of the host device, that is, the time during which no operation is instructed by the user. Here, the state in which the user does not instruct the host device for any operation is referred to as an “idle state”.

不揮発性メモリ2は例えばEEPROMであり、上位装置がオフ状態となったときにもその記憶内容を保持している。不揮発性メモリ2に記憶されるデータは、例えば上位装置が電子写真方式の画像形成装置である場合、用紙上の画像位置を決定する「レジ調整値」や、トナーを転写させるための「転写電位」、あるいはトナーを用紙に定着させるための「定着温度」等の各種パラメータである。これらの値は、ユーザからの指示や周知のキャリブレーションの実行結果に基づいて書き換えが行われる。   The nonvolatile memory 2 is, for example, an EEPROM, and retains the stored contents even when the host device is turned off. For example, when the host device is an electrophotographic image forming apparatus, the data stored in the non-volatile memory 2 includes a “registration adjustment value” for determining an image position on a sheet and a “transfer potential” for transferring toner. ”Or various parameters such as“ fixing temperature ”for fixing the toner onto the paper. These values are rewritten based on an instruction from the user or a well-known calibration execution result.

ここで、不揮発性メモリ2のデータ構成を図2に例示する。同図において、各セルは1バイトの記憶領域を表しており、nバイトで1つのブロックを形成している。このようなブロックをm個設けることで、不揮発性メモリ2は全体で「m×n」バイトの記憶容量を有している。   Here, the data configuration of the nonvolatile memory 2 is illustrated in FIG. In the figure, each cell represents a 1-byte storage area, and n bytes form one block. By providing m such blocks, the nonvolatile memory 2 has a storage capacity of “m × n” bytes as a whole.

また、不揮発性メモリ2は内部にカウンタを設けた構成となっている。ここでは、各ブロックの左端のセルがカウンタB1_Cnt〜Bm_Cntとして確保されており、該当するブロックにデータが書き込まれると、その値が「1」だけ増加する。これらのセルは専ら書込回数のカウンタとして用いられるため、上述した記憶容量には含まないものとする。   Further, the nonvolatile memory 2 has a configuration in which a counter is provided. Here, the leftmost cell of each block is secured as counters B1_Cnt to Bm_Cnt, and when data is written to the corresponding block, the value increases by “1”. Since these cells are exclusively used as the counter of the number of times of writing, they are not included in the storage capacity described above.

なお、以下においては、第i行のセル全体を「ブロックBi」といい、第i行第j列のセルを「セルB」という。すなわち、ブロック「B1」の左端のセルは「B」、その右および下にあるセルはそれぞれ「B」および「B」、といった具合である。このような要領で、同図の右下端にあるセル「B」まで定義する。また、ブロックBmを「最終ブロック」ともいう。 In the following, the entire cell in the i-th row is referred to as “block Bi”, and the cell in the i-th row and j-th column is referred to as “cell B i D j ”. That is, the leftmost cell of the block “B1” is “B 1 D 1 ”, the right and lower cells are “B 1 D 2 ” and “B 2 D 1 ”, respectively. In this manner, the definition is made up to the cell “B m D n ” at the lower right corner of the figure. The block Bm is also referred to as a “final block”.

ASIC3は特定の画像処理を実行するための集積回路である。本実施形態においては、メモリ制御装置1の制御の下に不揮発性メモリ2に対して読み出しまたは書き込みの動作を行う。ASIC3は不揮発性メモリ2と有線または無線で接続されており、この不揮発性メモリ2とシリアル通信を行う。   The ASIC 3 is an integrated circuit for executing specific image processing. In the present embodiment, a read or write operation is performed on the nonvolatile memory 2 under the control of the memory control device 1. The ASIC 3 is connected to the nonvolatile memory 2 by wire or wirelessly and performs serial communication with the nonvolatile memory 2.

[2.動作]
以上の構成のもと、データ処理装置100はデータの読み出しおよび書き込みを行う。以下ではデータ処理装置100の具体的な動作を説明するが、特許文献1および2に代表される従来のデータ書込処理との差違を明確にすべく、はじめにデータ処理装置100を用いて従来の動作例を説明し、その後に本実施形態の動作例を2つ示す。
[2. Operation]
Based on the above configuration, the data processing apparatus 100 reads and writes data. The specific operation of the data processing apparatus 100 will be described below. First, in order to clarify the difference from the conventional data writing process represented by Patent Documents 1 and 2, the conventional data processing apparatus 100 is used. An operation example will be described, and then two operation examples of the present embodiment will be shown.

[2−1.従来例]
図3は、従来の書込処理を示したフローチャートである。同図に沿って説明すると、はじめにデータ処理装置100の制御部11は、ユーザにより電源が投入されてスイッチSWがオン状態となることを検知する(ステップS101)。スイッチSWのオン状態を検知すると、制御部11は不揮発性メモリ2の全データを読み出して揮発性メモリ12のデータ領域にコピーする(ステップS102)。
[2-1. Conventional example]
FIG. 3 is a flowchart showing a conventional writing process. Explaining along the figure, first, the control unit 11 of the data processing apparatus 100 detects that the power is turned on by the user and the switch SW is turned on (step S101). When detecting the ON state of the switch SW, the control unit 11 reads all data in the nonvolatile memory 2 and copies it to the data area of the volatile memory 12 (step S102).

ここで、制御部11は不揮発性メモリ2のデータに対して書き換え指示が発生するか否かを判断する(ステップS103)。不揮発性メモリ2のデータの書き換え指示は、上述したユーザからの指示やキャリブレーションの実行結果に基づいて生じる。データの書き換え指示が発生すると(ステップS103;YES)、制御部11は揮発性メモリ12のデータ領域から書き換え対象のデータを特定し、その値を書き込む(ステップS104)。なお、このとき書き込まれるデータは単一のセルに相当するデータとは限らず、複数のセルに相当するデータの場合もある。   Here, the control unit 11 determines whether or not a rewrite instruction is generated for the data in the nonvolatile memory 2 (step S103). An instruction to rewrite data in the nonvolatile memory 2 is generated based on the above-described instruction from the user or the execution result of the calibration. When a data rewrite instruction is generated (step S103; YES), the control unit 11 specifies data to be rewritten from the data area of the volatile memory 12 and writes the value (step S104). Note that the data written at this time is not limited to data corresponding to a single cell but may be data corresponding to a plurality of cells.

揮発性メモリ12にデータを書き込んだら、制御部11はそのデータの位置を特定するためのIDを揮発性メモリ12のID領域に登録する(ステップS105)。なお、ID領域に登録するIDは、そのデータの不揮発性メモリ2における位置の識別および特定が可能であればいかなる形式でもよいが、ここでは説明の便宜上、各セルの符号、すなわち「B」〜「B」をIDとして用いることとする。 After writing data in the volatile memory 12, the control unit 11 registers an ID for specifying the position of the data in the ID area of the volatile memory 12 (step S105). The ID registered in the ID area may be in any format as long as the position of the data in the nonvolatile memory 2 can be identified and specified, but here, for convenience of explanation, the code of each cell, that is, “B 1 D It will be used 1 "to the" B m D n "as ID.

続いて制御部11は、揮発性メモリ12のID領域にIDが登録されているか否かを判断する(ステップS106)。ID領域にIDが登録されている場合(ステップS106;YES)、これは不揮発性メモリ2に書き込むべきデータが存在していることを意味するので、制御部11は不揮発性メモリ2にデータを書き込むための処理を行う。一方、ID領域にIDが登録されていない場合には(ステップS106;NO)、制御部11は再び不揮発性メモリ2のデータの書き換え指示を待機する(ステップS103)。   Subsequently, the control unit 11 determines whether or not an ID is registered in the ID area of the volatile memory 12 (step S106). If the ID is registered in the ID area (step S106; YES), this means that there is data to be written to the nonvolatile memory 2, and therefore the control unit 11 writes the data to the nonvolatile memory 2. Process. On the other hand, when the ID is not registered in the ID area (step S106; NO), the control unit 11 again waits for an instruction to rewrite data in the nonvolatile memory 2 (step S103).

不揮発性メモリ2にデータを書き込む処理は、次のような手順で行われる。まず、制御部11は、ID領域に登録された先頭のIDに基づいて、不揮発性メモリ2から書き換え対象のデータをブロック単位で読み出す(ステップS107)。例えば、ID領域のIDがセル「B」のデータを示している場合、制御部11は不揮発性メモリ2のブロック「B1」のデータ全体を読み出す。このとき読み出されたブロックのことを、以下では「被書込ブロック」という。 The process of writing data to the nonvolatile memory 2 is performed in the following procedure. First, the control unit 11 reads out data to be rewritten from the nonvolatile memory 2 in units of blocks based on the head ID registered in the ID area (step S107). For example, when the ID of the ID area indicates data of the cell “B 1 D 1 ”, the control unit 11 reads the entire data of the block “B 1” of the nonvolatile memory 2. The block read at this time is hereinafter referred to as a “written block”.

続いて制御部11は、読み出された被書込ブロックのデータを揮発性メモリ12のデータ領域に記憶されたデータを用いて更新する(ステップS108)。このとき、制御部11は被書込ブロック全体を一括して更新するが、ID領域に登録されたIDが示すデータ以外の部分については、更新の前後において値に変化はない。その後、制御部11は読み出した被書込ブロックのカウンタに「1」を加算し(ステップS109)、更新されたデータを不揮発性メモリ2に書き込む(ステップS110)。   Subsequently, the control unit 11 updates the read data of the block to be written using the data stored in the data area of the volatile memory 12 (step S108). At this time, the control unit 11 updates the entire block to be written at once, but the values of the portions other than the data indicated by the ID registered in the ID area are not changed before and after the update. Thereafter, the control unit 11 adds “1” to the counter of the read block to be written (step S109), and writes the updated data in the nonvolatile memory 2 (step S110).

不揮発性メモリ2にデータを書き込んだら、制御部11は書き込んだデータに相当するIDを揮発性メモリ12のID領域から削除する(ステップS111)。そして、制御部11は再度IDの有無を判断し(ステップS106)、揮発性メモリ12のID領域に登録されているIDがあれば上述したステップS107〜S111の処理を繰り返す。   After writing data in the nonvolatile memory 2, the control unit 11 deletes the ID corresponding to the written data from the ID area of the volatile memory 12 (step S111). And the control part 11 judges the presence or absence of ID again (step S106), and if there exists ID registered into the ID area | region of the volatile memory 12, the process of step S107-S111 mentioned above will be repeated.

以上のように、制御部11はID領域に登録されたIDの有無を判断し、このIDに基づいて、書き換えられたデータを順次不揮発性メモリ2に書き込んでいく。以下では、この処理を具体的な例を挙げて説明する。ここでは、ID領域にセル「B」、「B」、「B」、「B」のデータを示す4つのIDが順に登録されている場合を例に説明する(「B」を先頭のIDとする)。また、このとき各セルに書き込まれるデータは、「B」が「α」、「B」が「β」、「B」が「γ」、「B」が「δ」であるとし、各ブロックのカウンタはいずれも「0」であるとする。 As described above, the control unit 11 determines the presence or absence of an ID registered in the ID area, and sequentially writes the rewritten data to the nonvolatile memory 2 based on the ID. Hereinafter, this process will be described with a specific example. In this example, four IDs indicating data of cells “B 1 D 1 ”, “B 2 D 1 ”, “B 1 D 3 ”, and “B 1 D n ” are registered in order in the ID area. (“B 1 D 1 ” is the head ID). The data written to each cell at this time is “B 1 D 1 ” is “α”, “B 2 D 1 ” is “β”, “B 1 D 3 ” is “γ”, and “B 1 D n”. ”Is“ δ ”, and the counters of each block are all“ 0 ”.

図4は、上述の例にしたがって行われる書込処理を示した模式図である。まず、データ「α」が書き込まれる場合には、制御部11はID領域のIDから書き込み対象のブロックを「B1」であると特定し、このデータを更新して不揮発性メモリ2に書き込む。その結果、図4(1)に示すように、セル「B」は「α」に書き換えられ、ブロックB1のカウンタ「B1_Cnt」が増加して「1」となる。また、セル「B」を示すIDがID領域から削除され、セル「B」を示すIDが先頭、すなわち処理対象となる。 FIG. 4 is a schematic diagram showing the writing process performed according to the above-described example. First, when the data “α” is written, the control unit 11 specifies the block to be written as “B1” from the ID in the ID area, updates this data, and writes it in the nonvolatile memory 2. As a result, as shown in FIG. 4A, the cell “B 1 D 1 ” is rewritten to “α”, and the counter “B1_Cnt” of the block B1 is increased to “1”. Further, the ID indicating the cell “B 1 D 1 ” is deleted from the ID area, and the ID indicating the cell “B 2 D 1 ” is the head, that is, the processing target.

続いて、データ「β」が書き込まれる場合には、制御部11はID領域のIDから書き込み対象のブロックを「B2」であると特定する。以下、図4(1)の場合と同様の要領で不揮発性メモリ2にデータが書き込まれる。その結果、図4(2)に示すように、セル「B」は「β」に書き換えられ、ブロックB2のカウンタ「B2_Cnt」が増加して「1」となる。また、セル「B」を示すIDがID領域から削除され、セル「B」を示すIDが先頭となる。 Subsequently, when the data “β” is written, the control unit 11 specifies the block to be written as “B2” from the ID of the ID area. Thereafter, data is written in the nonvolatile memory 2 in the same manner as in FIG. As a result, as shown in FIG. 4B, the cell “B 2 D 1 ” is rewritten to “β”, and the counter “B2_Cnt” of the block B2 is increased to “1”. Further, the ID indicating the cell “B 2 D 1 ” is deleted from the ID area, and the ID indicating the cell “B 1 D 3 ” is the top.

続いて、データ「γ」が書き込まれる場合にも、制御部11は同様に書き込み対象のブロックを特定し、データの書き込みを行う。その結果、図4(3)に示すように、セル「B」は「γ」に書き換えられ、ブロックB1のカウンタ「B1_Cnt」が増加して「2」となる。さらに、データ「δ」が書き込まれると、セル「B」は図4(4)に示すように「δ」に書き換えられ、ブロックB1のカウンタ「B1_Cnt」は「3」に増加する。これらの処理が終了すると、揮発性メモリ12のID領域は空となり、IDが未登録の状態に戻る。 Subsequently, when the data “γ” is written, the control unit 11 similarly identifies the block to be written and writes the data. As a result, as shown in FIG. 4 (3), the cell “B 1 D 3 ” is rewritten to “γ”, and the counter “B1_Cnt” of the block B1 is increased to “2”. Further, when the data “δ” is written, the cell “B 1 D n ” is rewritten to “δ” as shown in FIG. 4 (4), and the counter “B1_Cnt” of the block B1 is increased to “3”. When these processes are completed, the ID area of the volatile memory 12 becomes empty, and the state returns to an unregistered state.

以上のように、従来例にしたがってデータα〜δを書き込む処理を行った場合、その回数は合計で4回となる。これらの処理の結果、ブロックB1のカウンタ「B1_Cnt」は処理前から「3」増加し、ブロックB2のカウンタ「B2_Cnt」は処理前から「1」増加する。   As described above, when the process of writing data α to δ is performed according to the conventional example, the total number of times is four. As a result of these processes, the counter “B1_Cnt” of the block B1 is increased by “3” from before the process, and the counter “B2_Cnt” of the block B2 is increased by “1” from before the process.

[2−2.動作例1]
続いて、本実施形態に係る第1の動作例を図5を用いて説明する。図5は、本動作例の書込処理を示したフローチャートである。なお、本動作例の書込処理においては、データ処理装置100のオン状態を検知してから不揮発性メモリ2のデータを読み出すまでの手順(ステップS101〜S107)が上述の従来例と同様である。そこで、これらの処理についてはその説明を省略する。
[2-2. Operation example 1]
Subsequently, a first operation example according to the present embodiment will be described with reference to FIG. FIG. 5 is a flowchart showing the writing process of this operation example. In the writing process of this operation example, the procedure (steps S101 to S107) from the detection of the ON state of the data processing apparatus 100 to the reading of the data in the nonvolatile memory 2 is the same as that of the above-described conventional example. . Therefore, the description of these processes is omitted.

本動作例において、制御部11は、ステップS107において不揮発性メモリ2から書き換え対象のデータをブロック単位で読み出した後、揮発性メモリ12のID領域の先頭にあるIDと同一のブロックに書き込まれるデータのIDを揮発性メモリ12から検索する(ステップS201)。すなわち、ID領域の先頭のIDが示すデータがブロック「B1」に書き込まれるデータであった場合、制御部11は揮発性メモリ12のID領域から被書込ブロックが「B1」を示すIDを検索する。この検索結果に基づき、制御部11は被書込ブロックが同一であるIDが他にも登録されているか判断する(ステップS202)。   In this operation example, the control unit 11 reads the data to be rewritten from the nonvolatile memory 2 in block units in step S107, and then writes the data to the same block as the ID at the head of the ID area of the volatile memory 12 Is searched from the volatile memory 12 (step S201). That is, when the data indicated by the head ID in the ID area is data to be written in the block “B1”, the control unit 11 searches the ID area of the volatile memory 12 for the ID in which the block to be written indicates “B1”. To do. Based on the search result, the control unit 11 determines whether other IDs having the same write target block are registered (step S202).

被書込ブロックが同一であるIDが登録されている場合(ステップS202;YES)、制御部11は読み出された被書込ブロックのデータをこれらのIDが示すデータを用いて更新する(ステップS203)。このとき、被書込ブロックが同一であるIDは複数存在するため、同時に複数のデータの値が変化する。データを更新した後、制御部11は被書込ブロックのカウンタに「1」を加算し(ステップS204)、更新されたデータを不揮発性メモリ2に書き込む(ステップS207)。   When IDs having the same write target block are registered (step S202; YES), the control unit 11 updates the read data of the write target block using data indicated by these IDs (step S202). S203). At this time, since there are a plurality of IDs having the same write target block, the values of the plurality of data change simultaneously. After updating the data, the control unit 11 adds “1” to the counter of the block to be written (step S204), and writes the updated data to the nonvolatile memory 2 (step S207).

一方、被書込ブロックが同一であるIDが登録されていない場合には(ステップS202;NO)、上述した従来例のステップS108、S109と同様の処理が行われる。すなわち、制御部11は読み出された被書込ブロックのデータを揮発性メモリ12のデータ領域に記憶されたデータを用いて更新する(ステップS205)。この更新の前後において値が変化するデータは、従来例と同様、ID領域に登録されたIDが示す1つのデータのみである。データを更新したら、制御部11は被書込ブロックのカウンタに「1」を加算し(ステップS206)、更新されたデータを不揮発性メモリ2に書き込む(ステップS207)。   On the other hand, when IDs with the same block to be written are not registered (step S202; NO), the same processing as steps S108 and S109 of the conventional example described above is performed. That is, the control unit 11 updates the read data of the block to be written using the data stored in the data area of the volatile memory 12 (step S205). The data whose value changes before and after the update is only one data indicated by the ID registered in the ID area, as in the conventional example. After updating the data, the control unit 11 adds “1” to the counter of the block to be written (step S206), and writes the updated data in the nonvolatile memory 2 (step S207).

不揮発性メモリ2にデータを書き込んだら、制御部11は書き込んだデータに相当するIDを揮発性メモリ12のID領域から削除する(ステップS208)。このとき、上述のステップS202の判断が「YES」であった場合には、同一ブロックを示す複数のIDが同時に削除される。そして、制御部11は再度IDの有無を判断し(ステップS106)、その後の処理を繰り返す。   After writing the data in the nonvolatile memory 2, the control unit 11 deletes the ID corresponding to the written data from the ID area of the volatile memory 12 (step S208). At this time, if the determination in step S202 is “YES”, a plurality of IDs indicating the same block are simultaneously deleted. And the control part 11 judges the presence or absence of ID again (step S106), and repeats a subsequent process.

本動作例の書込処理は以上の通りである。続いて、このような書込処理を行った場合の動作を説明し、従来例との相違点を明らかにする。そのため、ここでは上述の従来例と同様に、ID領域にセル「B」、「B」、「B」、「B」のデータを示す4つのIDが登録されている場合を例に説明する。このとき各セルに書き込まれるデータは、「B」が「α」、「B」が「β」、「B」が「γ」、「B」が「δ」であるとし、各ブロックのカウンタはいずれも「0」であるとする。 The writing process of this operation example is as described above. Subsequently, the operation when such a writing process is performed will be described, and the difference from the conventional example will be clarified. Therefore, here, as in the above-described conventional example, four IDs indicating data of cells “B 1 D 1 ”, “B 2 D 1 ”, “B 1 D 3 ”, and “B 1 D n ” in the ID area. A case where is registered will be described as an example. At this time, the data written to each cell is “B 1 D 1 ” is “α”, “B 2 D 1 ” is “β”, “B 1 D 3 ” is “γ”, and “B 1 D n ” is “B 1 D 1 ”. It is assumed that “δ”, and the counters of each block are “0”.

図6は、上述の例にしたがって行われる書込処理を示した模式図である。まず、データ「α」が書き込まれる場合には、制御部11はID領域のIDから書き込み対象のブロックを「B1」であると特定し、このブロック「B1」に書き込まれるデータを示すIDを検索する。この場合、データ「α」に加えてデータ「γ」、「δ」もブロック「B1」に書き込まれるデータであるため、「B」と「B」とが特定される。制御部11はこれらのデータ「α」、「γ」および「δ」を同時に更新し、不揮発性メモリ2の被書込ブロックに書き込む。 FIG. 6 is a schematic diagram showing the writing process performed according to the above-described example. First, when data “α” is written, the control unit 11 identifies the block to be written as “B1” from the ID in the ID area, and searches for an ID indicating data to be written in this block “B1”. To do. In this case, in addition to the data “α”, the data “γ” and “δ” are data to be written in the block “B1”, and therefore “B 1 D 3 ” and “B 1 D n ” are specified. The control unit 11 simultaneously updates these data “α”, “γ”, and “δ”, and writes them in the write target block of the nonvolatile memory 2.

この結果、図6(1)に示すように、セル「B」、「B」および「B」は「α」、「γ」および「δ」にそれぞれ書き換えられ、ブロックB1のカウンタ「B1_Cnt」が増加して「1」となる。このとき、セル「B」、「B」および「B」を示す3つのIDがID領域から削除され、セル「B」を示すIDが先頭、すなわち処理対象となる。 As a result, as shown in FIG. 6A, the cells “B 1 D 1 ”, “B 1 D 3 ”, and “B 1 D n ” are rewritten to “α”, “γ”, and “δ”, respectively. The counter “B1_Cnt” of the block B1 increases to “1”. At this time, three IDs indicating the cells “B 1 D 1 ”, “B 1 D 3 ”, and “B 1 D n ” are deleted from the ID area, and the ID indicating the cell “B 2 D 1 ” is the top, It becomes a processing target.

続いて、データ「β」が書き込まれる場合を説明する。このとき、制御部11はID領域のIDから書き込み対象のブロックを「B2」であると特定し、被書込ブロックにセル「B」だけ更新した値を書き込む。制御部11はブロックB2のカウンタ「B2_Cnt」を「1」に増加させるとともに、セル「B」を示すIDをID領域から削除する。この結果、図6(2)に示すように、揮発性メモリ12のID領域は空となって、IDが未登録の状態に戻る。 Next, a case where data “β” is written will be described. At this time, the control unit 11 identifies the block to be written as “B2” from the ID in the ID area, and writes the updated value of the cell “B 2 D 1 ” in the block to be written. The control unit 11 increases the counter “B2_Cnt” of the block B2 to “1” and deletes the ID indicating the cell “B 2 D 1 ” from the ID area. As a result, as shown in FIG. 6 (2), the ID area of the volatile memory 12 becomes empty, and the state returns to an unregistered state.

以上のように、本動作例にしたがってデータα〜δを書き込む処理を行った場合、その回数は合計で2回となる。これらの処理の結果、ブロックB1およびB2のカウンタ「B1_Cnt」および「B2_Cnt」は、それぞれ処理前から「1」だけ増加する。図6を図4と比較すれば明らかなように、本動作例においては、上述の従来例と同様のデータを書き込む場合に、その書込回数を減少させ、カウンタの値の増加を抑えることが可能となる。ゆえに、このような書込処理を行うことによって、不揮発性メモリ2の寿命を延長させることが可能となる。   As described above, when the process of writing the data α to δ is performed according to this operation example, the total number of times is two. As a result of these processes, the counters “B1_Cnt” and “B2_Cnt” of the blocks B1 and B2 respectively increase by “1” from before the processes. As is clear from comparison of FIG. 6 with FIG. 4, in this operation example, when data similar to that in the above-described conventional example is written, the number of times of writing can be reduced to suppress an increase in the value of the counter. It becomes possible. Therefore, it is possible to extend the lifetime of the nonvolatile memory 2 by performing such a writing process.

[2−3.動作例2]
次に、本実施形態に係る第2の動作例を説明する。本動作例が上述の動作例1と相違する点は2点である。第1の点は、本動作例においては、揮発性メモリ12への書き込みを指示する所定のイベントが発生するまでは、制御部11が揮発性メモリ12のID領域にIDを登録しない点である。第2の点は、本動作例においては、被書込ブロックのデータとそのブロックに書き込まれるべきデータとの間に差違がない場合には、データの更新を行わない点である。以下では、これらの相違点を中心に説明を行い、上述の動作例1と同様の処理が行われる部分については、その説明を適宜省略する。
[2-3. Operation example 2]
Next, a second operation example according to this embodiment will be described. This operation example is different from operation example 1 described above in two points. The first point is that in this operation example, the control unit 11 does not register an ID in the ID area of the volatile memory 12 until a predetermined event that instructs writing to the volatile memory 12 occurs. . The second point is that in this operation example, when there is no difference between the data of the block to be written and the data to be written to the block, the data is not updated. Hereinafter, description will be made centering on these differences, and description of portions where processing similar to that of the above-described operation example 1 is performed will be omitted as appropriate.

図7は、本動作例の書込処理を示したフローチャートである。なお、本動作例の書込処理においては、データ処理装置100のオン状態を検知してから揮発性メモリ12にデータを書き込むまでの手順(ステップS101〜S104)が上述の従来例および動作例1と同様である。   FIG. 7 is a flowchart showing the writing process of this operation example. In the writing process of this operation example, the procedure (steps S101 to S104) from the detection of the ON state of the data processing apparatus 100 to the writing of data to the volatile memory 12 is the above-described conventional example and operation example 1 described above. It is the same.

揮発性メモリ12にデータを書き込んだら、制御部11は書込指示イベントを待機する(ステップS301)。ここで「書込指示イベント」とは、上位装置において発生する不揮発性メモリ2へのデータの書き込みが必要となる事象(イベント)のことである。書込指示イベントが発生したとき、制御部11にはイベントの発生を表す信号が上位装置から供給される。   After writing data to the volatile memory 12, the control unit 11 waits for a write instruction event (step S301). Here, the “write instruction event” refers to an event (event) that needs to be written to the nonvolatile memory 2 that occurs in the host device. When a write instruction event occurs, a signal indicating the occurrence of the event is supplied from the host device to the control unit 11.

なお、書込指示イベントには複数のイベントが含まれるが、例えば、上位装置の電力消費を抑える「節電モード」を開始する指示や、ユーザによる上位装置の電源を遮断する指示がその一例である。ここで「節電モード」とは、上位装置がある時間以上アイドル状態(データの入力や操作がされない状態)にあったときに開始されるモードのことである。また、ユーザによる所定の操作を書込指示イベントに含んでもよい。   Note that the write instruction event includes a plurality of events. For example, an instruction to start a “power saving mode” for reducing power consumption of the host apparatus or an instruction to shut down the power of the host apparatus by the user is an example. . Here, the “power saving mode” is a mode that is started when the host device is in an idle state (a state in which no data is input or operated) for a certain period of time. A predetermined operation by the user may be included in the write instruction event.

書込指示イベントがない間は(ステップS301;NO)、制御部11は不揮発性メモリ2のデータに対する書き換え指示を待機し(ステップS103)、書き換え指示に応じてデータを随時揮発性メモリ12に書き込んでいく(ステップS104)。そして、書込指示イベントの発生を検知すると(ステップS301;YES)、それまでの間に揮発性メモリ12のデータ領域に書き込んだ全データに相当するIDを揮発性メモリ12のID領域に登録する(ステップS302)。   While there is no write instruction event (step S301; NO), the control unit 11 waits for a rewrite instruction for data in the nonvolatile memory 2 (step S103), and writes data to the volatile memory 12 as needed according to the rewrite instruction. (Step S104). When the occurrence of a write instruction event is detected (step S301; YES), IDs corresponding to all data written in the data area of the volatile memory 12 so far are registered in the ID area of the volatile memory 12. (Step S302).

IDの登録が終了したら、制御部11は被書込ブロックをブロック「B1」とするIDを検索する(ステップS303)。なお、図7においては、説明の便宜上、被書込ブロックを「Bi」と記載している。ここでは、値「i」を、「1」を初期値として1ずつ増加する変数として定義する。この変数iは後述するステップS312においてインクリメントされる。そのため、以下の説明においては、ステップS312の処理が行われるまでの各ステップは「Bi」を「B1」と読み替えるものとし、以後、ステップS312の処理を行うごとに「B2」、「B3」と適宜読み替えていくものとする。   When the ID registration is completed, the control unit 11 searches for an ID having the block to be written as the block “B1” (step S303). In FIG. 7, the block to be written is described as “Bi” for convenience of explanation. Here, the value “i” is defined as a variable that increases by 1 with “1” as an initial value. This variable i is incremented in step S312 described later. Therefore, in the following description, “Bi” is read as “B1” in each step until the process of step S312 is performed, and thereafter “B2” and “B3” are performed every time the process of step S312 is performed. It shall be read as appropriate.

続いて制御部11は、上述の検索の結果に基づき、被書込ブロックがブロック「B1」であるIDの有無を判断する(ステップS304)。データの被書込ブロックがブロック「B1」であるIDが存在する場合(ステップS304;YES)、制御部11は不揮発性メモリ2のブロック「B1」からデータをブロック単位で読み出し(ステップS305)、読み出したブロック「B1」のデータとこのブロック「B1」に書き込まれるべきデータとを比較して、それぞれに差違があるか否かを判断する(ステップS306)。   Subsequently, the control unit 11 determines the presence / absence of an ID whose block to be written is the block “B1” based on the result of the search (step S304). When there is an ID in which the data write block is the block “B1” (step S304; YES), the control unit 11 reads the data from the block “B1” of the nonvolatile memory 2 in units of blocks (step S305). The read data of the block “B1” is compared with the data to be written to the block “B1” to determine whether or not there is a difference between them (step S306).

この比較において、両者に1箇所でも差違があれば(ステップS306;YES)、制御部11はブロック「B1」のデータ全体を更新する(ステップS307)。そして制御部11はブロック「B1」のカウンタに「1」を加算し(ステップS308)、更新されたデータを不揮発性メモリ2のブロック「B1」に書き込む(ステップS309)。このときも上述の動作例1と同様に、複数のIDに相当するデータを1回の書込処理で書き込むため、カウンタの増加は「1」となる。不揮発性メモリ2へのデータの書き込みが終了したら、制御部11は書き込んだデータに相当するIDを揮発性メモリ12のID領域から削除する(ステップS310)。   In this comparison, if there is a difference in both places (step S306; YES), the control unit 11 updates the entire data of the block “B1” (step S307). Then, the control unit 11 adds “1” to the counter of the block “B1” (step S308), and writes the updated data to the block “B1” of the nonvolatile memory 2 (step S309). At this time, similarly to the above-described operation example 1, data corresponding to a plurality of IDs is written by one writing process, so the increment of the counter is “1”. When the writing of data to the nonvolatile memory 2 is completed, the control unit 11 deletes the ID corresponding to the written data from the ID area of the volatile memory 12 (step S310).

一方、ステップS306の比較において両者に差違がなかった場合(ステップS306;NO)、制御部11は上述のステップS307〜S309の処理をスキップしてIDの削除を行う(ステップS310)。つまりこのとき、制御部11は不揮発性メモリ2への書き込みを行わずに処理を続行する。ステップS308の処理も行われないため、このときカウンタも加算されない。   On the other hand, if there is no difference between the two in the comparison in step S306 (step S306; NO), the control unit 11 skips the processes in steps S307 to S309 described above and deletes the ID (step S310). That is, at this time, the control unit 11 continues the process without writing to the nonvolatile memory 2. Since the process of step S308 is not performed, the counter is not added at this time.

IDを削除したら、続いて制御部11は被書込ブロックが「Bm」であるか否かを判断する(ステップS311)。すなわちこれは、被書込ブロックがデータ領域の最終ブロックであるか否かを判断することを意味している。ここでは、被書込ブロックがブロック「B1」であるから、最終ブロックではない(ステップS311;NO)。そのため、制御部11は、変数iをインクリメントしてその値を「2」とし(ステップS312)、被書込ブロックをブロック「B2」としてステップS303からの処理を繰り返す。   After deleting the ID, the control unit 11 subsequently determines whether or not the block to be written is “Bm” (step S311). That is, this means that it is determined whether or not the block to be written is the last block in the data area. Here, since the block to be written is the block “B1”, it is not the final block (step S311; NO). Therefore, the control unit 11 increments the variable i to set the value to “2” (step S312), sets the block to be written to block “B2”, and repeats the processing from step S303.

なお、データの被書込ブロックがブロック「B1」であるIDが存在しない場合には(ステップS304;NO)、制御部11はステップS305〜S310までの処理をスキップする。つまり、このとき制御部11は、被書込ブロックに対していかなる処理も行わずに次のブロックへと処理を進めていく。   If there is no ID in which the data writing block is the block “B1” (step S304; NO), the control unit 11 skips the processing from step S305 to S310. That is, at this time, the control unit 11 advances the processing to the next block without performing any processing on the block to be written.

制御部11は上述の要領でブロック「B1」から順番にデータの書き込みを行っていく。そして、最終的に被書込ブロックがブロック「Bm」、すなわち最終ブロックとなったときには、制御部11は本処理を終了させる。本処理の終了後、データ処理装置100は、書込指示イベントの種類に応じて、電源の遮断や節電モードの開始等のための動作を行う。   The controller 11 writes data sequentially from the block “B1” in the manner described above. Then, when the block to be written finally becomes the block “Bm”, that is, the final block, the control unit 11 ends this processing. After the end of this process, the data processing apparatus 100 performs an operation for shutting off the power, starting the power saving mode, or the like according to the type of the write instruction event.

以上のような処理を行うことで、不揮発性メモリ2への書込回数を上述の動作例1よりもさらに少なくすることが可能となる。本動作例においては、ステップS301が示すように、書込指示イベントをトリガ(契機)として不揮発性メモリ2へのデータの書き込みが行われる。そのため、IDの登録をトリガに不揮発性メモリ2へデータを書き込む動作例1に比べ、より多くのIDをID領域に登録させることができる。より多くのIDが登録されていれば、当然、1回で同時に書き込むデータの数も増加するので、その分書込回数を減少させることが可能となる。しかも、本処理においては、各ブロックに対して書き込みを行うのは0ないし1回のみであるため、書き換えを指示されたデータの個数が多くても、各ブロックのカウンタは「2」以上増加することがない。   By performing the processing as described above, the number of times of writing to the nonvolatile memory 2 can be further reduced as compared with the above-described operation example 1. In this operation example, as shown in step S301, data is written to the nonvolatile memory 2 using a write instruction event as a trigger (trigger). Therefore, more IDs can be registered in the ID area than in the first operation example in which data is written to the nonvolatile memory 2 using the ID registration as a trigger. If more IDs are registered, naturally, the number of data to be simultaneously written at one time increases, so that the number of times of writing can be reduced accordingly. In addition, in this processing, since each block is written only once or once, even if the number of data instructed to be rewritten is large, the counter of each block increases by “2” or more. There is nothing.

また、本動作例においては、ステップS306において不揮発性メモリ2から読み出したブロックのデータをこのブロックに書き込むべきデータと比較し、両者に差違がない場合には不揮発性メモリ2へデータを書き込まないような処理を行うことによっても、書込回数の減少を図っている。   In this operation example, the data of the block read from the nonvolatile memory 2 in step S306 is compared with the data to be written to this block, and if there is no difference between them, the data is not written to the nonvolatile memory 2. The number of times of writing is also reduced by performing an appropriate process.

上述したように、不揮発性メモリ2に書き込まれるデータは、「レジ調整値」、「転写電位」、または「定着温度」といった各種パラメータである。これらのパラメータは、書き換える指示は生じたものの、指示されたデータが書き換え前と同一となることがある。上述の従来例や動作例1においては、書き換え前後のデータの内容を比較判断せずに、書き換えを指示されたデータは全て書き込みを行っていた。そのため、書き込み前後のデータに差違がない場合にも不揮発性メモリ2に書き込みを行い、カウンタの値を無駄に消費してしまうことがあった。本動作例はこのような場合に不揮発性メモリ2への書き込みをスキップし、書込回数を増加させないように工夫したものである。   As described above, the data written in the nonvolatile memory 2 includes various parameters such as “registration adjustment value”, “transfer potential”, and “fixing temperature”. Although these parameters are instructed to be rewritten, the instructed data may be the same as before rewriting. In the conventional example and the operation example 1 described above, all the data instructed to be rewritten are written without comparing the data contents before and after the rewriting. For this reason, even when there is no difference between the data before and after the writing, the data is written into the nonvolatile memory 2 and the counter value may be wasted. In this case, the operation example is devised so that writing to the nonvolatile memory 2 is skipped and the number of times of writing is not increased.

[3.変形例]
上述の実施形態においては、データ処理装置100を例示して本発明を説明したが、本発明はこの実施形態に限定されるものではなく、種々の変形が可能である。以下にその変形例を示す。
[3. Modified example]
In the above-described embodiment, the present invention has been described by exemplifying the data processing apparatus 100. However, the present invention is not limited to this embodiment, and various modifications are possible. The modification is shown below.

上述の実施形態においては、データ処理装置100がASIC3を備える構成を示したが、メモリ制御装置1が不揮発性メモリ2に対して直接データの読み書きを行う構成であってもよい。すなわち、本発明において、ASICは必須の構成要素ではない。また、上述の実施形態においては、データ処理装置100の上位装置が画像形成装置である場合を説明したが、上位装置はこれに限定されず、種々の制御装置やコンピュータに適用可能である。さらに、データ処理装置100は上位装置の内部に搭載されている必要はなく、データ処理装置100と上位装置とが無線ないし有線で接続される構成であってもよい。   In the above-described embodiment, the configuration in which the data processing device 100 includes the ASIC 3 has been described. However, the memory control device 1 may directly read / write data from / to the nonvolatile memory 2. That is, in the present invention, the ASIC is not an essential component. In the above-described embodiment, the case where the host device of the data processing device 100 is an image forming device has been described. However, the host device is not limited to this and can be applied to various control devices and computers. Furthermore, the data processing device 100 does not need to be mounted inside the host device, and may be configured such that the data processing device 100 and the host device are connected wirelessly or by wire.

また、上述の実施形態においては、不揮発性メモリ2をEEPROMであると説明したが、本発明の適用はこの種のメモリに限定されるものではない。要するに、本発明における不揮発性メモリとは、記憶領域がブロック単位で区分されており、それぞれのブロックに対して書込回数の制限が加えられているようなメモリであれば、いかなるメモリを用いてもよい。   In the above-described embodiment, the nonvolatile memory 2 is described as an EEPROM, but the application of the present invention is not limited to this type of memory. In short, the nonvolatile memory in the present invention is any memory as long as the storage area is divided into blocks and the number of times of writing is restricted for each block. Also good.

なお、上述の実施形態から明らかなように、本発明は、メモリ制御装置1の制御部11が行うデータの書込処理に特徴を有するものである。したがって、本発明は、メモリ制御装置1が行うデータの書込方法や、その書込方法を記述したプログラムとしても特定され得るものである。また、本発明は、メモリ制御装置1としてではなく、制御部11単体でも実施可能である。   As is clear from the above-described embodiment, the present invention is characterized by data write processing performed by the control unit 11 of the memory control device 1. Therefore, the present invention can be specified as a data writing method performed by the memory control device 1 and a program describing the writing method. Further, the present invention can be implemented not by the memory control device 1 but by the control unit 11 alone.

本発明の一実施形態に係るデータ処理装置を示したブロック図である。1 is a block diagram illustrating a data processing apparatus according to an embodiment of the present invention. 同装置の不揮発性メモリのデータ構成を例示した図である。It is the figure which illustrated the data structure of the non-volatile memory of the apparatus. 従来の書込処理を示したフローチャートである。It is the flowchart which showed the conventional writing process. 図3の例にしたがって行われる書込処理を示した模式図である。FIG. 4 is a schematic diagram illustrating a writing process performed according to the example of FIG. 3. 本発明に係る書込処理を示したフローチャートである。5 is a flowchart showing a writing process according to the present invention. 図5の例にしたがって行われる書込処理を示した模式図である。FIG. 6 is a schematic diagram illustrating a writing process performed according to the example of FIG. 5. 本発明に係る書込処理を示したフローチャートである。5 is a flowchart showing a writing process according to the present invention.

符号の説明Explanation of symbols

100…データ処理装置、1…メモリ制御装置、11…制御部、12…揮発性メモリ、2…不揮発性メモリ、3…ASIC DESCRIPTION OF SYMBOLS 100 ... Data processing apparatus, 1 ... Memory control apparatus, 11 ... Control part, 12 ... Volatile memory, 2 ... Non-volatile memory, 3 ... ASIC

Claims (5)

記憶領域がブロック単位で区分されている不揮発性メモリに対して、揮発性メモリを介してデータの読み出しまたは書き込みを行うメモリ制御装置において、
前記不揮発性メモリの所定のブロックに書き込むべきデータを、当該ブロックを示す識別情報とともに前記揮発性メモリに書き込む第1の書込手段と、
前記第1の書込手段により書き込まれた識別情報を用いて、前記揮発性メモリに書き込まれたデータの中から同一のブロックに書き込まれるデータを特定する検索手段と、
前記検索手段により特定されたデータを、その書き込むべきブロックに一括して書き込む第2の書込手段と
を備えることを特徴とするメモリ制御装置。
In a memory control device that reads or writes data via a volatile memory with respect to a nonvolatile memory in which a storage area is divided into block units,
First writing means for writing data to be written to a predetermined block of the nonvolatile memory together with identification information indicating the block to the volatile memory;
Search means for specifying data to be written to the same block from among data written to the volatile memory using the identification information written by the first writing means;
A memory control device comprising: a second writing unit that collectively writes the data specified by the search unit into a block to be written.
前記検索手段により特定されたデータを、そのデータが書き込まれるべきブロックである被書込ブロックに書き込まれているデータと比較し、両者に差違があるか否かを判断する判断手段を備え、
前記第2の書込手段は、前記判断手段により両者に差違がないと判断された場合には、前記被書込ブロックに対する書き込みを行わない
ことを特徴とする請求項1記載のメモリ制御装置。
Comparing the data specified by the search means with data written in a block to be written, which is a block in which the data is to be written, and comprising a judging means for judging whether or not there is a difference between the two,
2. The memory control device according to claim 1, wherein the second writing unit does not write to the block to be written when the determining unit determines that there is no difference between the two.
決められた処理の発生を検知する検知手段を備え、
前記第2の書込手段は、前記検知手段が前記処理の発生を検知した場合にデータの書き込みを行う
ことを特徴とする請求項1記載のメモリ制御装置。
Equipped with detection means for detecting the occurrence of a predetermined process,
The memory control device according to claim 1, wherein the second writing unit writes data when the detecting unit detects the occurrence of the processing.
前記検知手段は、
電源の遮断を前記決められた処理として検知する
ことを特徴とする請求項3記載のメモリ制御装置。
The detection means includes
The memory control device according to claim 3, wherein power-off is detected as the determined process.
前記検知手段は、
接続される上位装置が行う電力消費を抑えるための処理を前記決められた処理として検知する
ことを特徴とする請求項3記載のメモリ制御装置。
The detection means includes
The memory control apparatus according to claim 3, wherein a process for suppressing power consumption performed by a connected host apparatus is detected as the determined process.
JP2005213349A 2005-07-22 2005-07-22 Memory controller Pending JP2007034431A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005213349A JP2007034431A (en) 2005-07-22 2005-07-22 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005213349A JP2007034431A (en) 2005-07-22 2005-07-22 Memory controller

Publications (1)

Publication Number Publication Date
JP2007034431A true JP2007034431A (en) 2007-02-08

Family

ID=37793660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005213349A Pending JP2007034431A (en) 2005-07-22 2005-07-22 Memory controller

Country Status (1)

Country Link
JP (1) JP2007034431A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116661A (en) * 2007-11-07 2009-05-28 Konami Digital Entertainment Co Ltd Storage device, storage method and program
JP2009157561A (en) * 2007-12-26 2009-07-16 Yamatake Corp Measurement control apparatus, and memory element protection method
JP2010238009A (en) * 2009-03-31 2010-10-21 Fujitsu Ltd Storage control device, storage system, and copying method
JP2012164121A (en) * 2011-02-07 2012-08-30 Toshiba Corp Portable electronic device, information processing method, and ic card
JP2014044622A (en) * 2012-08-28 2014-03-13 Canon Inc Image processor, method of controlling image processor, and program
US8824221B2 (en) 2011-09-26 2014-09-02 Samsung Electronics Co., Ltd. Hybrid memory device, system including the same, and method of reading and writing data in the hybrid memory device
US9037776B2 (en) 2009-06-11 2015-05-19 Samsung Electronics Co., Ltd. Storage device with flash memory and data storage method
JP2015204016A (en) * 2014-04-15 2015-11-16 京セラドキュメントソリューションズ株式会社 Electronic apparatus
JP2015207029A (en) * 2014-04-17 2015-11-19 京セラドキュメントソリューションズ株式会社 Electronic apparatus

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116661A (en) * 2007-11-07 2009-05-28 Konami Digital Entertainment Co Ltd Storage device, storage method and program
JP2009157561A (en) * 2007-12-26 2009-07-16 Yamatake Corp Measurement control apparatus, and memory element protection method
JP2010238009A (en) * 2009-03-31 2010-10-21 Fujitsu Ltd Storage control device, storage system, and copying method
US9037776B2 (en) 2009-06-11 2015-05-19 Samsung Electronics Co., Ltd. Storage device with flash memory and data storage method
JP2012164121A (en) * 2011-02-07 2012-08-30 Toshiba Corp Portable electronic device, information processing method, and ic card
US8824221B2 (en) 2011-09-26 2014-09-02 Samsung Electronics Co., Ltd. Hybrid memory device, system including the same, and method of reading and writing data in the hybrid memory device
JP2014044622A (en) * 2012-08-28 2014-03-13 Canon Inc Image processor, method of controlling image processor, and program
JP2015204016A (en) * 2014-04-15 2015-11-16 京セラドキュメントソリューションズ株式会社 Electronic apparatus
JP2015207029A (en) * 2014-04-17 2015-11-19 京セラドキュメントソリューションズ株式会社 Electronic apparatus

Similar Documents

Publication Publication Date Title
JP2007034431A (en) Memory controller
KR20010070416A (en) Computer
JP2006301960A (en) Automobile control unit
JP2010020586A (en) Data processing device
JP2009053901A (en) Printer
JP4935107B2 (en) Information processing device
JP2011095916A (en) Electronic apparatus
JP2010170197A (en) Firmware management program, storage device, and firmware management method
KR100425229B1 (en) Microcomputer and method for rewriting data on flash memory
JP4193152B2 (en) Data saving apparatus and data saving method
JP2004046453A (en) Single chip microcomputer and boot sector switching method
JP2007257283A (en) Memory controller and flash memory system
JP2010176280A (en) Electronic control device
JP2004341783A (en) Data storage method and data storage device
JP2011081641A (en) Memory controller
JP2006190180A (en) Information device and start management program
JP2019204209A (en) Information processing apparatus and power supply control method
JP2001147862A (en) Flash memory writing method
JP5787095B2 (en) Method for storing data in non-volatile memory
JP2012098794A (en) Storage device and image formation device
JP4702343B2 (en) Mobile terminal device
KR20230147003A (en) Semiconductor device
JP2005215316A (en) Image forming apparatus
JP2000035916A (en) Memory operation management method
JP2012123733A (en) Information processor, and data management method in information processor