JP5137550B2 - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP5137550B2
JP5137550B2 JP2007321265A JP2007321265A JP5137550B2 JP 5137550 B2 JP5137550 B2 JP 5137550B2 JP 2007321265 A JP2007321265 A JP 2007321265A JP 2007321265 A JP2007321265 A JP 2007321265A JP 5137550 B2 JP5137550 B2 JP 5137550B2
Authority
JP
Japan
Prior art keywords
data
bits
writing
eeprom
processing apparatus
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.)
Expired - Fee Related
Application number
JP2007321265A
Other languages
English (en)
Other versions
JP2009146062A (ja
JP2009146062A5 (ja
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 JP2007321265A priority Critical patent/JP5137550B2/ja
Priority to US12/272,234 priority patent/US8266100B2/en
Priority to CN2008101832480A priority patent/CN101459749B/zh
Publication of JP2009146062A publication Critical patent/JP2009146062A/ja
Publication of JP2009146062A5 publication Critical patent/JP2009146062A5/ja
Application granted granted Critical
Publication of JP5137550B2 publication Critical patent/JP5137550B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • H04N1/32122Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate device, e.g. in a memory or on a display separate from image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00832Recording use, e.g. counting number of pages copied
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32646Counter-measures
    • H04N1/32683Preventive counter-measures, e.g. using redundant hardware, or anticipating a fault
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3202Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of communication or activity log or report
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3204Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a user, sender, addressee, machine or electronic recording medium
    • H04N2201/3207Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a user, sender, addressee, machine or electronic recording medium of an address
    • H04N2201/3208Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a user, sender, addressee, machine or electronic recording medium of an address of an e-mail or network address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3204Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a user, sender, addressee, machine or electronic recording medium
    • H04N2201/3209Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a user, sender, addressee, machine or electronic recording medium of a telephone number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3274Storage or retrieval of prestored additional information

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、重要情報を複数のメモリに記憶させる情報処理装置及びその制御方法に関するものである。
一般に、情報処理装置は、通常の電源断、メモリへ書き込み中のノイズ、予期せぬ電源断によって消失しては困る重要な情報を複数の半導体メモリに書き込んでバックアップを取る仕組みを用いている。ここで、情報処理装置である画像処理装置の複合機(以下、MFPと称す。)を例に説明する。例えばMFPにおいて重要な情報とは、消失すると再入力が困難な設定値や保存値である課金機能に用いるプリント枚数のカウンタ値、機器の主要な設定値、FAX機能の電話番号帳、Eメール機能のアドレスリストなどである。
図14は、情報処理装置1400の構成を示す図である。図14に示すように、情報処理装置1400では、重要情報バックアップ部105にSOC(System On Chip)1250から、パラレルIFを介して重要情報を別々のタイミングでSRAM1210、1220、FRAM1240に対して書き込んでいた。このように、同じ値を3つのメモリに格納することで消失の可能性を減少させている。なお、SOCとは、CPUとASICを一体化して同一パッケージに設けたチップを示す。
図15は、情報処理装置1400におけるメモリへのライトタイミングを示す図である。図16は、情報処理装置1400におけるメモリからのリードタイミングを示す図である。このように情報処理装置1400では、各メモリに対して異なるタイミングで書き込み又は読込を行っている。なお、SRAMは揮発性であるため別途電池回路1230を必要とする。また、FRAMは、同じ不揮発性メモリであるEEPROMより高価である。したがって、情報処理装置1400の構成では、メモリをEEPROMで構成するよりもコストが高くなってしまう。
そこで、情報処理装置1400をコストダウンさせた図17に示す情報処理装置1700が考えられる。図17は、情報処理装置1700の構成を示す図である。情報処理装置1700は、重要情報バックアップ部105にSOC1260から、シリアルIFを介して重要情報を別々のタイミングでシリアルEEPROM1270、1280、1290に対して書き込みを行う。情報処理装置1700は、情報処理装置1400と比較して、メモリをEEPROMに変更し、インタフェースをシリアルインタフェースに変更することによりコストダウンを図っている。
図18は、情報処理装置1700におけるメモリへのライトタイミングを示す図である。図19は、情報処理装置1700におけるメモリからのリードタイミングを示す図である。図18及び図19に示すように、情報処理装置1700のメモリへの書込スピード及びメモリからの読込スピードが情報処理装置1400よりも遅くなっている。これは、情報処理装置1700がメモリへのインタフェースをシリアルインタフェースにしたことが主な原因となる。このように、メモリへのアクセス時間が増大すると、ソフトパフォーマンスが低下するという問題が発生する。同時にメモリへのアクセス時間が増大することでノイズや予期せぬ電源断の影響によりデータ化けの可能性が高くなる。
特許文献1は、ホストCPUのソフト負荷を軽くするため、CPUが細かくポーリングすることなく容易にライト終了を通知するシリアルEEPROMを提案している。
特開2004−110407号公報
しかしながら、従来技術には以下の問題がある。上述したように、情報処理装置1400では、メモリへのアクセススピードについては問題ないが、SRAMには別途電池回路が必要となり、FRAMが高価であるためコストが増大してしまうという問題がある。また、情報処理装置1700では、シリアルインタフェースのEEPROMに変更したことで、コストダウンを望めるがメモリへのアクセススピードが遅くなるという問題がある。さらに、情報処理装置1700では、メモリへのアクセス時間が増大することでソフトパフォーマンスが低下し、同時に増大したアクセス時間によるノイズや予期せぬ電源断の影響によりデータ化けの可能性が高くなってしまう。また、特許文献1では、ホストCPUの処理負荷を低減させることは可能であるが、メモリへのアクセス時間が増大することによるデータ化けの対策については提案されていない。
本発明は、上述の問題に鑑みて成されたものであり、データの信頼性を確保しつつ、メモリアクセス時間及びコストを低減させる情報処理装置を提供することを目的とする。
本発明は、例えば、報処理装置として実現できる。数の記憶手段と、複数の記憶手段の各々へ同一のデータを書き込む際に各記憶手段へのデータの書き込みを予め定められた時間ずつずらして開始させる書込手段であって、特定の記憶手段への同一のデータの書き込みが終了する前に他の記憶手段への同一のデータの書き込みを開始させる書込手段と、複数の記憶手段の各々に書き込まれた同一のデータを読み出す手段と、複数の記憶手段の各々から読出手段が読み出した同一のデータのうち2つのデータの組み合わせを全ての組み合わせについて選択し、選択した各組み合わせの2つのデータが一致しているか否かをビット単位で判定する判定手段と、全ての組み合わせのうち少なくとも1つの組み合わせが一している判定手段により判定される場合は一致した組み合わせのデータを正常なデータとして推定する第1データ推定手段と、組み合わせの全てが不一致であると判定手段により判定される場合は不一致となるビット数の最も多い組み合わせの2つのデータのうち、先に書込手段により書き込まれたデータの上位から所定ビット数分のデータと、後に書込手段により書き込まれたデータの下位から所定ビット数分のデータとに基づいて正常なデータを推定する第2データ推定手段とを備えることを特徴とする。
また、本発明は、例えば、数の記憶手段を備える情報処理装置の制御方法として実現できる。方法は、複数の記憶手段の々へ同一のデータを書き込む際に各記憶手段へのデータの書き込みを予め定められた時間ずつずらして開始させる書込ステップであって特定の記憶手段への同一のデータの書き込みが終了する前に他の記憶手段への同一のデータの書き込みを開始させる書込ステップと、複数の記憶手段の各々に書き込まれた同一のデータを読み出す読出ステップと、複数の記憶手段の各々から読み出した同一のデータのうち2つのデータの組み合わせを全ての組み合わせについて選択し、選択した各組み合わせの2つのデータが一致しているか否かをビット単位で判定する判定ステップと、全ての組み合わせのうち少なくとも1つの組み合わせが一している判定ステップにて判定される場合は一致した組み合わせのデータを正常なデータとして推定する第1データ推定ステップと、組み合わせの全てが不一致であると判定ステップにて判定される場合は不一致となるビット数の最も多い組み合わせの2つのデータのうち、先に書込ステップにて書き込まれたデータの上位から所定ビット数分のデータと、後に書込ステップにて書き込まれたデータの下位から所定ビット数分のデータとに基づいて正常なデータを推定する第2データ推定ステップとを実行することを特徴とする。
本発明は、例えば、データの信頼性を確保しつつ、メモリアクセス時間及びコストを低減させる情報処理装置を提供できる。
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
なお、以下の実施形態では、本発明に係る情報処理装置として、画像処理装置である複合機(以下、MFPと称す。)を例に説明する。しかし、本発明は、情報処理装置を画像処理装置に限定するわけではなく、また画像処理装置をMFPと限定するわけではない。具体的に、本発明は、装置を制御する制御部と、当該制御部に接続された複数のメモリとを備える情報処理装置であれば適用することができる。
<情報処理装置の構成>
まず、図1A及び図1Bを参照して、本実施形態に係るMFPの構成について説明する。図1Aは、本実施形態に係るMFP10の構成例を示す図である。
MFP10は、ホストコンピュータ(PC)50とローカルエリアネットワーク(LAN)60を介して接続される。MFP10は、画像の入出力機能を有するものであり、紙原稿の読み取り及び紙への印刷出力を行う。読み取った画像情報は、紙に印刷したり、デジタルデータとして保存したり、LANを経由して他の機器への転送したりすることも可能である。また、PC50からのプリントデータや、他のMFPからの画像情報を受信し、紙への印刷出力も可能である。
MFP10は、上述の機能を実現するためにコントローラユニット101、スキャナユニット102、操作パネルユニット103及び印刷を実行するプリンタユニット104を備える。コントローラユニット101は、スキャナユニット102、操作パネルユニット103及びプリンタユニット104と信号線を介して接続され、画像情報やデバイス情報の入出力を行う為のコントローラである。スキャナユニット102は、原稿から画像を読み取り、読み取った情報をコントローラユニット101に提供する。操作パネルユニット103は、オペレータへ情報を提示するとともに、オペレータからの入力を取得する。プリンタユニット104は、コントローラユニット101からの情報に基づいて、印刷を実行する。また、各ユニットの内部ブロックは内部バスで接続され、データの伝達が可能である。
コントローラユニット101は、SOC1310を備える。SOC1310は、CPUとASICを一体化して同一パッケージに設けたチップである。SOC1310は、CPU1100、ASIC/DRAMコントローラ1200、ASIC/バスコントローラ1190及びASICシリアルメモリコントローラ1320を備える。
ASIC/バスコントローラ1190は、パラレルIFで構成する内部バスの制御を行う。ASIC/DRAMコントローラ1200は、DRAMの制御を行う。DRAM1110は、CPU1100を動作させるためのシステムワークメモリである。また、画像データを一時記憶するための画像メモリでもある。ROM1120は、ブートROMであり、システムのブートプログラムが格納されている。HDD1130は、ハードディスクドライブで、システムソフトウェア、画像データなどを格納する。
システムソフトウェアは、コピー、SCAN、プリンタ等の機能を実現するためのプログラムであり、DRAM1110上に展開されて動作する。画像処理部1170は、画像データの入出力に際して、画像データの符号化、復号化、ラスタライズ、回転、多値と2値の変換及び他の適切な画像処理を行う。LANC1180は、LAN60に接続し、画像データの入出力や機器制御にかかわる情報の入出力を行う。ネットワーク上のPC50又は、他のMFPとの間で出力用画像データを受信して画像出力を行うことや、逆に自機で入力した画像データを送信することも可能である。
プリンタIF1160は、プリンタユニット104と接続され、プリンタユニット104のプリンタ制御部400と通信を行い、各種プリンタの状態取得やプリンタへの命令送出を行う。また、画像データの同期系/非同期系の変換を行い、プリントデータを伝達する。
スキャナIF1140は、スキャナユニット102と接続し、スキャナユニット102のスキャナ制御部210と通信を行い、各種スキャナの状態取得やスキャナへの命令送出を行う。また、画像データの同期系/非同期系の変換を行い、読み取ったスキャナデータを伝達する。
また、スキャナユニット102は、スキャナの制御を行うスキャナ制御部210、画像処理部220、原稿を光学的に読み取るスキャナ240及び自動原稿送り装置や原稿台内のスキャナ装置を駆動するスキャナ用モータ230を備える。画像処理部220は、読み取った画像データのA/D変換、シェーディング処理、他の適切な画像処理を行う。
操作パネルIF1150は、操作パネル制御部320とのインタフェース部で、操作パネル310に表示する画像データを出力する。操作パネル310では、オペレータによって押しボタンやテンキーなどによる入力が行われ、コピー処理の開始などの操作を取得する。操作パネル310における入力操作は、操作パネルIF1150を通じてCPU1100が実行するプログラムにより認識される。CPU1100は、認識した入力操作に従って機器全体の設定や、機能の実行指示を行うことで複写やスキャン処理を行わせる。
例えば、ユーザが原稿を複写機にセットし操作パネル310やPC50よりスキャン指示を行うと、CPU1100により、スキャナIF1140を介してスキャナ制御部210へスキャン命令が伝達され、原稿のスキャンが行われる。読み取られた画像データは適切に処理され、HDD1130やPC50に蓄積される。
また、ユーザが原稿を複写機にセットし操作パネル310よりコピー指示を行うと、CPU1100により、スキャナIF1140を介してスキャナ制御部210へスキャン命令が伝達され、原稿のスキャンが行われる。読み取られた画像データは適切に処理され、HDD1130に蓄積される。さらに、適切な画像処理を行いHDD1130からプリンタIF1160を介してプリンタユニット104へ転送され、プリンタ410によって印刷が行われる。
ユーザがPC50からプリント指示を行うと、PC50よりLAN60を経由してプリントデータがLANC1180より受け取られ、適切な処理を行った後にHDD1130に蓄積される。さらに、適切な画像処理を行いHDD1130からプリンタIF1160を介してプリンタユニット104へ転送され、プリンタ410によって印刷が行われる。
以下では、図1Aに示す点線で囲まれた本発明で重要となるブロックについて説明する。
重要情報バックアップ部105は、シリアルEEPROM1270、1280、1290のようにN(Nは自然数)個のシリアルIFのメモリデバイスで構成される。ここでは、N=3の構成を用いて説明を行うがメモリデバイスの数を限定するわけではない。また、図15では物理的なデバイスが3つ設けられているが、物理的なデバイスが2つ以下に対して内部を論理的に3つに分けた構成でもよい。また、シリアルIFメモリの種類としては、EEPROMでもその他の方式のメモリデバイスでもよい。さらに、シリアルIFの種類としては、4線式でも3線式でも2線式でもその他の方式のIFでもよい。この重要情報バックアップ部105には、例えば、課金機能に用いるプリント枚数のカウンタ値、機器の主要な設定値、FAX機能の電話番号帳、Eメール機能のアドレスリストなどが格納される。
ASICシリアルメモリコントローラ1320は、演算判定部1390、IF1360、1370、1380及びデータ保存部1330、1340、1350を備える。IF1360は、シリアルEEPROM1270とのデータのライト、リード制御を行う。IF1370は、シリアルEEPROM1280とのデータのライト、リード制御を行う。IF1380は、シリアルEEPROM1290とのデータのライト、リード制御を行う。ここで、IF1360、1370、1380は、それぞれ書込手段及び読込手段として機能する。
データ保存部1330は、シリアルEEPROM1270とのデータのライト、リードした結果を保存する。データ保存部1340はシリアルEEPROM1280とのデータのライト、リードした結果を保存する。データ保存部1350はシリアルEEPROM1290とのデータのライト、リードした結果を保存する。
演算判定部1390は、重要情報バックアップ部105から読み込んだデータ同士を照合処理して結果をCPUへ送信する。また重要情報バックアップ部105へ書き込むデータや読み取ったデータをCPUから受信する。図1Bは、本実施形態に係る演算判定部1390の詳細な制御ブロックを示す図である。
演算判定部1390は、判定部1391、データ推定部1392及び修復部1393を備える。判定部1391は、第1判定手段及び第2判定手段として機能し、選択された2つのデータが一致しているか否かを判定する。具体的に、判定部1391は、重要情報バックアップ部105の各シリアルEEPROMからデータを読み込んだ場合に、読み込んだデータのうち2つのデータの組み合わせを全ての組み合わせについて選択する。さらに、判定部1391は、選択した各組み合わせの2つのデータが一致しているか否かを判定する。判定部1391は、選択した2つのデータを比較することにより当該2つのデータが一致しているか否かを判定する比較部1398と、判定するデータの全ビットで一致しない不一致ビットの個数をカウントするカウンタ(カウント手段)1394とを備える。なお、データの判定方法の詳細については後述する。
データ推定部1392は、判定部1391によって全ての組み合わせのうち少なくとも1つの組み合わせが不一致であると判定されると、各組み合わせの判定結果から正常なデータを推定する。具体的に、データ推定部1392は、全ての組み合わせのうち一部の組み合わせのみが不一致であると判定されると、簡易推定手段として機能し、一致した組み合わせのデータを正常なデータとして推定する。また、データ推定部1392は、組み合わせの全てが不一致であると判定された場合に、詳細推定手段として機能し、各データから有効なビットのみを抽出して結合した結合データを正常なデータとして推定する。そのため、データ推定部1392は、有効上位ビット抽出部1395、有効下位ビット抽出部1396及び結合部1397を備える。なお、これらのコンポーネントの詳細及びデータの推定方法の詳細については後述する。
<比較例との差異>
次に、図14及び図17に示す比較例である情報処理装置1400、1700を参照して、本実施形態に係る情報処理装置との差異について説明する。ここでは、本発明の特徴部分となるSOC及びメモリの差異について説明する。
まず、情報処理装置1400に備えられるSOC1250及びメモリの差異について説明する。情報処理装置1400には、SOC1250の内部に本実施形態に係るASICシリアルメモリコントローラ1320に相当するコンポーネントがない。また、メモリとしては、パラレルIFのSRAM1210、SRAM1220及びFRAM1240が使用されている。さらに、SRAM1210、1220の情報を保持するための電池回路1230が備えられている。なおASICバスコントローラ1190では、後述する図2及び図3に示す制御が行われない。具体的に、ASICバスコントローラ1190では、CPUから受け取った書き込みデータをパラレルIF経由で図15に示すタイミングでライトするだけである。また、ASICバスコントローラ1190は、CPUから発行した読み取り制御に応じて、パラレルIF経由で図16に示すタイミングでリードし、CPUへ値を返すだけである。
次に、情報処理装置1700に備えられるSOC1260との差異について説明する。情報処理装置1700では、SOC1260の内部にASICシリアルメモリコントローラ1320が設けられていない代わりにASICシリアルEEPROMコントローラ1701が設けられている。なお、ASICシリアルEEPROMコントローラ1701では、後述する図2及び図3に示す制御が行われない。ASICシリアルEEPROMコントローラ1701では、CPUから受け取った書き込みデータを図18に示すタイミングでライトするだけである。また、ASICシリアルEEPROMコントローラ1701では、CPUから発行された読み取り制御に応じて、図19に示すタイミングでリードし、CPUへ値を返すだけである。
<書き込み制御>
次に、図2を参照して、本実施形態に係る書き込み制御について説明する。図2は、本実施形態に係る書き込み制御の処理手順を示す図である。以下に説明する制御は、SOC1310によって統括的に制御される。なお、ここでMFP10は、電源が投入され、各種初期化処理が実行されたスタンバイ状態であるとする。
図2に示す処理は、重要情報バックアップ部105への書き込みが発生した場合に実行される。例えば、コピーやプリントが行われると、課金機能に用いるカウンタ値の書き換えが発生する。カウンタ値にはコピー枚数やプリント枚数が記憶されており、枚数に応じて課金処理が行われる。
ステップS201において、CPU1100は、重要情報バックアップ部105への書き込み要求が発生したか否かを判定する。ここで、書き込み要求が発生していれば、S202へ処理が遷移される。一方、発生していない場合は、定期的にS201の判定が繰り返される。
ステップS202において、CPU1100は、ASICシリアルメモリコントローラ1320へ書き込み制御の発行を行う。具体的に、CPU1100は、重要情報バックアップ部105へ書き込むデータをCPU1100からASICシリアルメモリコントローラ1320へ書き込む。ASICシリアルメモリコントローラ1320には、レジスタが備えられており、書き込みデータ、接続されるシリアルEEPROMの数、アクセス方式、及び、ライト処理かリード処理かの情報などを設定することができる。ライト処理が指定されている場合、ASICシリアルメモリコントローラ1320は、同じ値を各シリアルEEPROMへ書き込むために、以下で説明する処理を実行する。このような複数のメモリへ書き込みを行う際に書き込み時間を短縮するためには、同時に各メモリへ書き込みを実行することが望ましい。しかし、本実施形態では、書き込み時のノイズの混入を考慮して、少なくとも1つのシリアルEEPROMにノイズが混入しないように、書き込み開始時間を各メモリでずらして行う。
ステップS203において、ASICシリアルメモリコントローラ1320は、IF1360を経由してシリアルEEPROM1270へのライト処理を開始する。
次に、ステップS204において、ASICシリアルメモリコントローラ1320は、シリアルEEPROM1270への書き込みを開始してから予め定められた時間が経過するまで待機する。ここで、予め定められた時間とは、例えば、EEPROMへ書き込むデータがN(Nは自然数)ビットである場合、N/2+1ビット分の書き込みに要する時間である。したがって、ASICシリアルメモリコントローラ1320は、書き込むデータが8ビットである場合、データの上位から数えて5ビット目であるbit3のライト処理が終了するまで待機することとなる。また、ASICシリアルメモリコントローラ1320は、この予め定められた時間を計時することにより検出してもよいが、IF1360を監視して上位5ビットの書き込みが終了時点を検出してもよい。なお、時間の計時は、ASICシリアルメモリコントローラ1320内のクロックを数えることで行われる。
予め定められた時間が経過すると、ステップS205において、ASICシリアルメモリコントローラ1320は、IF1370を経由してシリアルEEPROM1280へ行われるライト処理を開始する。即ち、シリアルEEPROM1270のbit2のライト処理と同時にシリアルEEPROM1280へのライト処理が開始される。
ステップS206において、ASICシリアルメモリコントローラ1320は、S204と同様に、予め定められた時間が経過するまで待機する。予め定められた時間が経過すると、ステップS207において、ASICシリアルメモリコントローラ1320は、IF1380を経由してシリアルEEPROM1290へのライト処理を開始する。即ち、シリアルEEPROM1280のbit2のライト処理と同時にシリアルEEPROM1290へのライト処理が開始される。
ステップS208において、ASICシリアルメモリコントローラ1320は、書き込みが終了するまで待機し、書き込み制御を終了する。本実施形態ではメモリの数が3つの場合を想定しているため、これで書き込み処理は終了する。したがって、メモリの数が異なる場合は、メモリ数にともない書き込み回数が異なる。
上述のように、本実施形態によれば、書き込み制御において、各シリアルEEPROMへのデータの書き込みを予め定められた時間ずつずらして開始させる。これにより、本実施形態では、少なくとも1つのシリアルEEPROMメモリの書き込み時にノイズが混入しないように制御している。
図4は、本実施形態に係る各シリアルEEPROMへの書き込みタイミングを示すタイミングチャートである。図4において、401は、CPU1100の書き込み要求405のタイミングを示す。402は、IF1360(IF1とも称す。)を介したEEPROM1270(EEPROM1とも称す。)への書き込みタイミングを示す。403は、IF1370(IF2とも称す。)を介したEEPROM1280(EEPROM2とも称す。)への書き込みタイミングを示す。404は、IF1380(IF3とも称す。)を介したEEPROM1290(EEPROM3とも称す。)への書き込みタイミングを示す。406は、シリアルEEPROMへのデータ書き込み時に発生するノイズAのタイミングを示す。407は、シリアルEEPROMへのデータ書き込み時に発生するノイズBのタイミングを示す。
ここで、シリアルEEPROM1270へ書き込むデータを8bitとすると、上位bitがデータA、下位bitがデータBとなる。同様にシリアルEEPROM1280へ書き込むデータは、上位bitがデータC、下位bitがデータDとなる。同様にシリアルEEPROM1290へ書き込むデータは、上位bitがデータE、下位bitがデータFとなる。同じ値をバックアップを目的として書き込むため、データA=データC=データEとなる。同様にデータB=データD=データFとなる。
図4に示すように、書き込む開始時間をずらすことで、ノイズAは、EEPROM1270への書き込みデータにのみ影響を与えることとなる。即ち、EEPROM1280、1290へ書き込まれるデータは、ノイズの影響を受けない。また、ノイズBは、EEPROM1270、1280への書き込みデータに影響を与えるが、EEPROM1290への書き込みデータには、影響を与えない。このように、本実施形態によれば、同時に全てのメモリに対して書き込みを行う書き込み制御と比較して、複数のメモリのうち少なくとも1つのメモリにはノイズが混入されていないデータが書き込まれる可能性が高いと言える。これは、本実施形態に係るMFP10の環境において、ノイズの発生が周期的であったとしても1回のアクセスサイクルでノイズが複数回発生する可能性がほとんど無いためである。ここで、1回のアクセスサイクルとは、S203乃至S208の処理を示す。したがって、1回のアクセスサイクルで複数回のノイズが発生する可能性のある環境においては、メモリの数を増やすことも考えられる。また、複数のメモリに対して、全ての書き込みを異なるタイミングで行う書き込み制御と比較すると、本実施形態に係る書き込み制御は、1回のアクセスサイクルに要する時間を低減することができ、それに伴いノイズの発生も低減することができる。
<読み込み制御>
次に、図3を参照して、本実施形態に係る読み込み制御について説明する。図3は、本実施形態に係る読み込み制御の処理手順を示す図である。以下に説明する制御は、SOC1310によって統括的に制御される。なお、ここでMFP10は、電源が投入され、各種初期化処理が実行されたスタンバイ状態であるとする。
図3に示す処理は、課金機能に用いるカウンタ値の表示操作やコントローラシステムの動作上必要な場合にカウンタ値の読み出しを行う。或いは、機器の主要な設定値、FAX機能の電話番号帳、Eメール機能のアドレスリストなどを変更、読み出す場合や、データを書き込んだ後に値を確認する場合などに実行される。
ステップS301において、CPU1100は、重要情報バックアップ部105に記憶されたデータの読み込み要求が発生したか否かを判定する。ここで、読み込み要求が発生していれば、S302へ処理が遷移される。一方、発生していない場合は、定期的にS301の判定が繰り返される。
ステップS302において、CPU1100は、ASICシリアルメモリコントローラ1320へ読み取り制御命令を発行する。ASICシリアルメモリコントローラ1320には、レジスタが備えられており、読み取りデータ、接続されるシリアルEEPROMの数、アクセス方式、ライト処理かリード処理を示す情報などが設定される。
ステップS303において、ASICシリアルメモリコントローラ1320は、IF1360を経由してシリアルEEPROM1270のデータを読み込み、読み込んだデータをデータ保存部1330へ保存する。また、ステップS304において、ASICシリアルメモリコントローラ1320は、IF1370を経由してシリアルEEPROM1280のデータを読み込み、読み込んだデータをデータ保存部1340へ保存する。さらに、ステップS305において、ASICシリアルメモリコントローラ1320は、IF1380を経由してシリアルEEPROM1290のデータを読み込み、読み込んだデータをデータ保存部1350へ保存する。その後、ステップS306において、ASICシリアルメモリコントローラ1320は、データ保存部1330、1340、1350(データ保存部1、2、3とも称す。)に読み込まれたデータを演算判定部1390へ読み込ませる。このように、ASICシリアルメモリコントローラ1320は、重要情報バックアップ部105に保存されているN(ここでは、N=3となる。)個のデータを読み出し、それぞれ別のデータ保存部に格納し、さらに各データを演算判定部1390に読み込む。
次に、ステップS307において、演算判定部1390は、読み込んだ各データのうち2つのデータの組み合わせを全ての組み合わせについて選択し、選択した各組み合わせのデータを比較する。したがって、ここでは、データ保存部1、2、データ保存部1、3及びデータ保存部2、3の組み合わせについてそれぞれデータを比較する。また、比較された結果は、演算判定部1390の内部で保存される。ここで、図5を参照して、各組み合わせのの比較方法について説明する。図5は、本実施形態に係る演算判定部1390において2つのデータを比較する方法を説明する図である。ここでは、一例としてデータ保存部1、2のデータ、即ち、シリアルEEPROM1270とシリアルEEPROM1280とに記憶された値を比較する方法について説明する。なお、以下の比較は、判定部1391によって実行される。
判定部1391は、比較部1398を用いて、シリアルEEPROM1とシリアルEEPROM2の値の各bitごとにEx.OR(排他的論理和)を算出して比較を行う。比較部1398は、同様に他の組み合わせについても比較を行い、比較結果を内部に保存する。図5は、データの書き込み中に図4に示すノイズBが発生したときのデータを想定している。したがって、EEPROM1のbit1のデータと、EEPROM2のbit6のデータとがノイズを含んでいる。これら2つのデータの排他的論理和は、図5に示す比較結果(01000010)のようになる。即ち、bit1、6が1となり、他のbitが0となる。判定部1391は、この比較結果を保存し、さらに、カウンタ1394を用いて不一致ビットの個数をカウントし、保存する。シリアルEEPROM1とシリアルEEPROM2の比較結果において、不一致ビットは2つとなる。
図4に示すノイズBの場合、ノイズの影響を受けるのは、シリアルEEPROM1270のデータBの1箇所とシリアルEEPROM1280のデータCの1個所である。したがって、不一致ビットが発生したシリアルEEPROM1270の値は2箇所とも化けているわけではない。それにもかかわらず比較不一致ビットが2つ発生するのは、2つのうち1つは実際にデータ化けした箇所で、もう1つは比較相手のシリアルEEPROM1280のデータが化けているからである。したがって、この時点ではシリアルEEPROM1270の何れのビットデータにノイズが混入しているか判定できない。
ステップS307において、演算判定部1390は、全ての組み合わせについて上述した方法で比較を行い、比較結果と不一致ビットの個数を各組み合わせごとに保存する。図6は、シリアルEEPROM1270とシリアルEEPROM1290とのデータの比較結果を示す図である。図7は、シリアルEEPROM1280とシリアルEEPROM1290とのデータの比較結果を示す図である。シリアルEEPROM1270とシリアルEEPROM1290の比較結果は、図6に示すように、00000010となる。したがって、不一致ビットが1つある。シリアルEEPROM1280とシリアルEEPROM1290の比較結果は、図7に示すように、01000000となる。したがって、不一致ビットが1つある。
全ての組み合わせの比較を行うと、ステップS308において、判定部1391は、全ての組み合わせのデータが一致しているか否かを判定する。全ての組み合わせのデータが一致している場合(比較結果が全て00000000である場合)、ステップS309において、判定部1391は、不一致無しを示す情報をASICシリアルメモリコントローラ1320内の判定結果フラグに格納して処理を終了する。即ち、S309では、比較結果が、
EEPROM1=EEPROM2
EEPROM1=EEPROM3
EEPROM2=EEPROM3
となり、すべて一致したので、EEPROM1とEEPROM2とEEPROM3のデータは正常であると判定される。
一方、S308で全ての組み合わせのうち少なくとも1つの組み合わせが不一致である場合、判定部1391は、処理をS310に遷移させる。S310において、判定部1391は、全ての組み合わせのデータが不一致であるか否かを判定する。全ての組み合わせのデータが不一致である場合、判定部1391は、処理をS312に遷移させる。一方、全ての組み合わせのデータが不一致でない場合、判定部1391は、処理をS311に遷移させる。
ステップS311において、データ推定部1392は、比較結果に異常はあったが、全ての組み合わせが異常では無かったため、比較結果が一致した組み合わせのデータの何れか一方を正常なデータとして推定する。例えば、図4に示すノイズAが発生した場合を考えると、シリアルEEPROM1270とシリアルEEPROM1280の比較結果は、不一致ビットを1、一致ビットを0とすると、01000000となる。したがって、不一致ビットが1つとなる。また、シリアルEEPROM1270とシリアルEEPROM1290の比較結果は、01000000となる。したがって、不一致ビットが1つとなる。さらに、シリアルEEPROM1280とシリアルEEPROM1290の比較結果は、00000000となる。したがって、不一致ビットが0となる。即ち、比較結果は、
EEPROM1≠EEPROM2
EEPROM1≠EEPROM3
EEPROM2=EEPROM3
となる。シリアルEEPROM1280とシリアルEEPROM1290が一致したことより、シリアルEEPROM1270のデータにノイズが混入した可能性が高い。しかし、シリアルEEPROM1280とシリアルEEPROM1290のデータは正常である可能性が高い。
よって、データ推定部1392は、比較結果が正常となったデータ保存部1350の値(データ保存部1350の値でもよい。)を正常なデータとして推定する。さらに、修復部1393は、推定された正常なデータを重要情報バックアップ部105へ書き込みための書き込み要求を発生させる。また、ASICシリアルメモリコントローラ1320は、内部のレジスタの判定結果フラグに正常比較結果からの自動復帰発生をセットし、処理を終了する。
一方、S310で全ての比較結果が不一致であった場合、S312以降の処理で、本実施形態は、各データから正常なビットと推定されるデータの一部を抽出し、正常なデータを生成する。例えば、図4に示すノイズBが混入した場合、シリアルEEPROM1270とシリアルEEPROM1280の比較結果は、不一致ビットを1、比較一致BITを0とすると、01000010となる。したがって、不一致ビットが2つとなる。また、シリアルEEPROM1270とシリアルEEPROM1290の比較結果は、図6に示すように、00000010となる。したがって、不一致ビットが1つとなる。さらに、シリアルEEPROM1280とシリアルEEPROM1290の比較結果は、図7に示すように、01000000となる。したがって、不一致ビットが1つとなる。
つまり比較結果は、
EEPROM1≠EEPROM2
EEPROM1≠EEPROM3
EEPROM2≠EEPROM3
となり、EEPROM1とEEPROM2とEEPROM3はすべて一致しないことをあらわしている。
本実施形態によれば、図2及び図4に示すような書き込み制御を行っているため、3つ以上のEEPROMに同時に書き込みを行わない。これにより、ノイズが発生した場合であっても少なくとも1つのデータは影響を受けていないこととなる。したがって、S312以降の処理でこれらの特徴を利用して正常なデータを推定する。
まず、ステップS312において、データ推定部1392は、不一致ビットの数が最も多い組み合わせを選択する。例えば、ノイズBが発生した場合、上述の比較結果から、EEPROM1とEEPROM2との比較結果では、不一致ビットが2つとなる。また、EEPROM1とEEPROM3との比較結果では、不一致ビットが1つとなる。さらに、EEPROM2とEEPROM3との比較結果では、不一致ビットが1つとなる。これより不一致ビットの最も多い比較結果はEEPROM1とEEPROM2を比較したときとなる。この結果を演算判定部1390内に保存して、S313へ移行する。
ステップS313において、データ推定部1392は、S312で選択した比較結果において、書き込み制御において、先に書き込んだメモリと後に書き込んだメモリを特定する。つまり、図4に示す書き込みタイミングから、先にデータを書き込んだメモリはシリアルEEPROM1270であると特定され、この結果が演算判定部1390内に保存される。同様に、後にデータを書き込んだメモリはシリアルEEPROM1280であると特定され、この結果が演算判定部1390内に保存される。
続いて、ステップS314において、有効上位ビット抽出部1395は、比較結果から、先にデータが書き込まれたメモリ(シリアルEEPROM1270)のデータの有効上位ビットを特定する。具体的に、有効上位ビット抽出部1395は、比較結果の下位ビットから検索して、不一致ビットの現れる回数が、不一致ビットの個数より1小さくなる(「不一致数−1」となる)ビットよりも上位のビットを有効ビットとして特定する。この「不一致数−1」が有効ビットを特定するための閾値となる。ここでは、不一致数が2であるため閾値は1となる。なお、この閾値は、操作者から設定可能に構成されてもよい。具体的な処理について、図8を参照して説明する。図8は、本実施形態に係る有効上位ビットのデータを抽出する方法を示す図である。
図5に示すように、EEPROM1とEEPROM2の比較結果は、01000010で、不一致数は2となる。したがって、閾値は、「不一致数−1」=1となる。図8に示すように、EEPROM1とEEPROM2の比較結果は、01000010なので、下位ビットから不一致bitが現れる回数をカウントしていくと、bit1で不一致bitが1回現れる。ここで、不一致ビットが現れる回数が1で、「不一致数−1」が1となり、同じになったので、bit1より上位のビット、つまりbit2からbit7までを有効上位ビットと特定する。一方、bit1とそれより下位側を含めたbit1からbit0までのbitを破棄データとする。この結果を先に書き込んだメモリ用の上位ビット側の有効データとして、演算判定部1390に保存し、S315へ移行する。
S315において、有効下位ビット抽出部1396は、比較結果から、後に書き込まれたメモリ(シリアルEEPROM1280)のデータの有効下位ビットを特定する。具体的に、有効下位ビット抽出部1396は、比較結果の上位ビットから検索して、不一致ビットの現れる回数が、不一致ビットの個数より1小さくなる(「不一致数−1」となる)ビットよりも下位のビットを有効ビットとして特定する。具体的な処理については、図9を参照して説明する。図9は、本実施形態に係る有効下位ビットのデータを抽出する方法を示す図である。
図5に示すように、EEPROM1とEEPROM2の比較結果は、01000010で、不一致数は2となる。したがって、閾値は、「不一致数−1」=1となる。図9に示すように、EEPROM1とEEPROM2の比較結果は、01000010なので、上位ビット側から不一致ビットが現れる回数をカウントしていくと、bit6で不一致ビットが1回現れる。
ここで不一致ビットが現れる回数が1、「不一致数−1」が1となり、同じになったので、bit6より下位のビット、つまりbit5からbit0までを下位ビット側の有効データと特定する。一方、bit6とそれより上位側を含めたbit7からbit6までを破棄データとする。この結果を後に書き込んだメモリ用の下位ビット側の有効データとして、この結果を演算判定部1390に保存し、S316へ移行する。
次に、ステップS316において、有効上位ビット抽出部1395は、S314で特定した上位ビット側の有効データと、S313で選択した先に書き込んだメモリのデータ保存値とのANDを行い、有効データαを抽出する。具体的に、有効上位ビット抽出部1395は、図8に示すように有効ビットを1、破棄ビットを0とした11111100と、EEPROM1のデータとのANDを演算する。したがって、上位ビット側の有効データαは、EEPROM1のbit7からbit2までのデータが抽出されたデータとなる。また、破棄データとなるbit1からbit0は0となる。この結果を演算判定部1390に保存してS317へ移行する。
ステップS317において、有効下位ビット抽出部1396は、S315で特定した下位ビット側の有効データと、S313で選択した、後に書き込んだメモリのデータ保存値とのANDを行い、有効データβを抽出する。具体的に、有効下位ビット抽出部1396は、図9に示すように有効ビットを1、破棄ビットを0とした00111111と、EEPROM2のデータとのANDを演算する。したがって、下位ビット側の有効データβは、EEPROM2のbit5からbit0までのデータが抽出されたデータとなる。また、破棄データとなるbit7からbit6は0となる。この結果を演算判定部1390に保存してS318へ移行する。
ステップS318において、結合部1397は、有効データα及び有効データβから予測データγを生成する。図10は、本実施形態に係る予測データγを生成する方法を示す図である。
図10に示すように、結合部1397は、有効データαと有効データβを結合して、予測データγを生成する。具体的に、結合部1397は、有効データαと有効データβのORを行い、8bitの予測データγを生成する。この結果を演算判定部1390に保存してS319へ移行する。
S319において、データ推定部1392は、S307の比較結果のうち、不一致が発生した回数が最も少ないデータを選択する。ここで、不一致が発生した回数(不一致発生回数)のカウント方法について説明する。
まず、EEPROM1に記憶されたデータの不一致発生回数について説明する。EEPROM1に関連する比較結果は、EEPROM1とEEPROM2の比較結果、EEPROM1とEEPROM3の比較結果である。これらの比較結果から、EEPROM1とEEPROM2の比較結果の不一致ビット2つと、EEPROM1とEEPROM3の比較結果の不一致ビット1つを加算すると、3となる。これがEEPROM1の不一致発生回数となる。即ち、不一致ビット1つにつき、不一致発生回数1回として換算する。
同様に、EEPROM2に関連する比較結果は、EEPROM1とEEPROM2の比較結果、EEPROM2とEEPROM3の比較結果である。EEPROM1とEEPROM2の比較結果の不一致ビット2つと、EEPROM2とEEPROM3の比較結果の不一致ビット1つを加算すると、3となる。これがEEPROM2の不一致発生回数となる。
同様に、EEPROM3に関連する比較結果は、EEPROM1とEEPROM3の比較結果、EEPROM2とEEPROM3の比較結果である。EEPROM2とEEPROM3の比較結果の不一致ビット1つと、EEPROM2とEEPROM3の比較結果の不一致ビット1つを加算すると、2となる。これがEEPROM3の不一致発生回数となる。
本実施形態によれば、これらの加算処理は図11に示す回路で行われる。図1は、本実施形態に係る不一致発生回数を算出する加算回路1105を示す図である。以下で説明する加算回路1105は、一例であり、本発明を限定するわけではない。即ち、以下の処理が達成できるのであれば他の方式でもよい。
加算回路1105は、属性信号1101a、b、c及び各組み合わせの不一致ビットの個数1102a、b、cを入力として各メモリのデータの不一致発生回数を出力する。このため、加算回路1105は、データ遮断回路1103a、b、c及び加算器1104a、b、cを備える。ここで、EEPROM1のデータの不一致発生回数を求める方法について説明する。他のメモリのデータについては、以下で説明する方法と同様の方法であるため、説明を省略する。
入力力信号である属性信号は、各組み合わせに含まれるデータを示す情報である。例えば、EEPROM1とEEPROM2のデータの組み合わせの場合、属性信号は、(1,2)となる。また、EEPROM2とEEPROM3のデータの組み合わせの場合、属性信号は、(2,3)となる。図11に示すように、これらの属性信号と対応する組み合わせの不一致ビットの個数が各データ遮断回路1103a、b、cに入力される。例えば、データ遮断回路1103aは、各加算器aに接続され、入力情報からEEPROM1の不一致発生回数を求めるのに必要となる入力情報を選択して、他の情報を破棄する。したがって、データ遮断回路1103aは、属性信号が(2,3)の不一致ビットの個数1を破棄し、他の情報を加算器1104aに入力する。加算器1104aは、データ遮断回路1103aから入力されたデータを加算してEEPROM1の不一致発生回数を出力する。EEPROM1の不一致発生回数は、2+1=3となる。同様に、加算器1104bから出力されるEEPROM2の不一致発生回数は、2+1=3となる。同様に、加算器1104cから出力されるEEPROM3の不一致発生回数は、1+1=2となる。
図3のフローチャートの説明に戻る。加算回路1105の結果から、データ推定部1392は、EEPROM3の不一致発生回数が2回で最も少ないと特定する。この結果を演算判定部1390に保存して、S320へ移行する。
ステップS320において、データ推定部1392は、不一致発生回数が最も少ないメモリのデータ保存値を復帰候補データθとする。これは、図4に示すように書き込みタイミングをずらしているため、不一致発生回数が最も少ないメモリのデータを、ノイズの影響を受けていないデータと推定している。具体的に、データ推定部1392は、図12に示すように、EEPROM3のデータを復帰候補データθと特定する。図12は、本実施形態に係る復帰候補データθの特定方法を示す図である。
予測データγと復帰候補データθが特定されると、ステップS321において、判定部1391は、図13に示すように、予測データγと復帰候補データθとが一致するか否かを判定する。図13は、本実施形態に係る正常なデータを推定する際の比較処理を示す図である。ここで、判定部1391は、第2判定手段として機能する。2つのデータが一致する場合、判定部1391は、処理をS322に遷移させる。一方、2つのデータが一致しない場合、判定部1391は、処理をS323に遷移させる。
ステップS322において、データ推定部1392は、復帰候補データθを正常なデータとして推定し、レジスタの判定結果フラグに予測データによる自動復帰発生をセットし、処理を終了させる。ここで、修復部1393は、復帰候補データθの値を用いて、重要情報バックアップ部105への書き込み要求を発生させる。これにより、シリアルEEPROM1270、シリアルEEPROM1280及びシリアルEEPROM1290のデータ保存値を比較した結果、最初は一致しなかったが、最も確からしい値へと自動的に修復することができる。
一方、ステップS323において、データ推定部1392は、レジスタの判定結果フラグに自動復帰不能エラー発生をセットし、処理を終了する。これにより、自動復帰できなかった場合のエラー処理が実行される。エラー処理とは、例えば、現在の動作を停止し、エラー内容を操作者に通知する処理を示す。
なお本エラーが発生した場合は、コントローラはエラー発生を操作部に表示して、以後重要情報バックアップ部を使用する動作は制限される。(S124)
図3に示す読み込み制御が終了すると、ASICシリアルメモリコントローラ1320がCPU1100へ割り込みを発生させで判定結果フラグの内容を伝達するか、又はCPU1100がポーリングして判定結果フラグを参照する。その後、CPU1100は、判定結果フラグとデータ保存値を読み取って、機器の動作として適切な処理を行う。
以上説明したように、本実施形態に係る情報処理装置は、同一の情報を複数のメモリに書き込む際に、少なくとも1つのメモリに書き込まれるデータが書き込み中のノイズの影響を受けないように、各書き込み開始タイミングをずらす。一方、本情報処理装置は、複数のメモリから当該データを読み込んだ際に、各データを比較して、正常なデータを推定する。具体的に、情報処理装置は、全てのデータが一致した場合は、何れのデータもノイズの影響を受けていないと判断する。また、情報処理装置は、データを比較した少なくとも1つの組み合わせでデータが不一致であった場合、他の一致した組み合わせのデータの何れか一方を正常なデータとして推定する。また、情報処理装置は、全ての組み合わせでデータが一致しない場合、正常なデータと思われる予測データを生成し、比較の結果、最も不一致発生回数の少ない復帰候補データと、当該予測データを比較し、一致すれば復帰候補データを正常なデータとして推定する。
このように、本情報処理装置は、別々のタイミングで複数のメモリに書き込みを行う従来と比較して、高速に書き込み制御を行うことができる。さらに、本情報処理装置は、開始タイミングを所定時間ずつずらしているため、全てのデータがノイズの影響を受ける可能性を低減させている。これは、本実施形態が適用する環境が1回のアクセルサイクルで、ノイズの発生が周期的であったとしても複数回入る可能性がほとんど無いため有効な手法となる。また、1回のアクセスサイクルで複数回のノイズが発生する場合は、メモリの数を増やす等の対策により、本発明を有効に適用することができ、書き込まれた情報の信頼性を向上することができる。また、本情報処理装置は、メモリとしてシリアルEEPROMを採用することができる。これにより、本情報処理装置は、データの信頼性を確保しつつ、メモリアクセス時間及びコストの増大を抑制することができる。なお、本情報処理装置は、ASICがシリアルIFメモリへのアクセスを行うため、ソフトが早期に開放され、ソフトパフォーマンスの低下抑制するという効果がある。
なお、本発明は、上述の実施形態に限らず様々な変形が可能である。例えば、本情報処理装置は、全ての組み合わせのうち一部の組み合わせのみが不一致であると判定された場合は簡易的なデータ推定方法を採用し、組み合わせの全てが不一致である場合は詳細なデータ推定方法を採用する。これにより、本情報処理装置は、正常なデータの推定に要する処理時間を効率化することができる。
また、本情報処理装置は、書き込むデータがNビットである場合に、メモリに対してN/2+1ビット分の書き込みに要する時間ずつずらして書き込むを開始させてもよい。これにより、本情報処理装置は、一度に3つ以上のメモリに対して書き込み処理が行われないように制御することができる。このように、本情報処理装置は、書き込み中の1回のノイズが3つ以上のメモリに影響を与えないようにすることで、ノイズが混入した際に容易に正常なデータを推定することができる。
本実施形態に係るMFP10の構成例を示す図である。 本実施形態に係る演算判定部1390の詳細な制御ブロックを示す図である。 本実施形態に係る書き込み制御の処理手順を示す図である。 本実施形態に係る読み込み制御の処理手順を示す図である。 本実施形態に係る各シリアルEEPROMへの書き込みタイミングを示すタイミングチャートである。 本実施形態に係る演算判定部1390において2つのデータを比較する方法を説明する図である。 シリアルEEPROM1270とシリアルEEPROM1290とのデータの比較結果を示す図である。 シリアルEEPROM1280とシリアルEEPROM1290とのデータの比較結果を示す図である。 本実施形態に係る有効上位ビットのデータを抽出する方法を示す図である。 本実施形態に係る有効下位ビットのデータを抽出する方法を示す図である。 本実施形態に係る予測データγを生成する方法を示す図である。 本実施形態に係る不一致発生回数を算出する加算回路1105を示す図である。 本実施形態に係る復帰候補データθの特定方法を示す図である。 本実施形態に係る正常なデータを推定する際の比較処理を示す図である。 情報処理装置1400の構成を示す図である。 情報処理装置1400におけるメモリへのライトタイミングを示す図である。 情報処理装置1400におけるメモリからのリードタイミングを示す図である。 情報処理装置1700の構成を示す図である。 情報処理装置1700におけるメモリへのライトタイミングを示す図である。 情報処理装置1700におけるメモリからのリードタイミングを示す図である。
符号の説明
105:重要情報バックアップ部
1100:CPU
1190:ASICバスコントローラ
1200:ASICDRAMコントローラ
1270:シリアルEEPROM1
1280:シリアルEEPROM2
1290:シリアルEEPROMN
1310:SOC
1320:ASICシリアルメモリコントローラ
1330:データ保存部1
1340:データ保存部2
1350:データ保存部N
1360:IF1
1370:IF2
1380:IFN
1390:演算判定部
1391:判定部
1392:データ推定部
1393:修復部
1394:カウンタ
1395:有効上位ビット抽出部
1396:有効下位ビット抽出部
1397:結合部
1398:比較部

Claims (6)

  1. 数の記憶手段と
    前記複数の記憶手段の各々へ同一のデータを書き込む際に各記憶手段へのデータの書き込みを予め定められた時間ずつずらして開始させる書込手段であって、特定の記憶手段への前記同一のデータの書き込みが終了する前に他の記憶手段への前記同一のデータの書き込みを開始させる書込手段と、
    前記複数の記憶手段の各々に書き込まれた前記同一のデータを読み出す手段と、
    前記複数の記憶手段の各々から前記読出手段が読み出した前記同一のデータのうち2つのデータの組み合わせを全ての組み合わせについて選択し、選択した各組み合わせの2つのデータが一致しているか否かをビット単位で判定する判定手段と、
    前記全ての組み合わせのうち少なくとも1つの組み合わせが一している前記判定手段により判定される場合は該一致した組み合わせのデータを正常なデータとして推定する第1データ推定手段と、
    前記組み合わせの全てが不一致であると前記判定手段により判定される場合は不一致となるビット数の最も多い組み合わせの2つのデータのうち、先に前記書込手段により書き込まれたデータの上位から所定ビット数分のデータと、後に前記書込手段により書き込まれたデータの下位から前記所定ビット数分のデータとに基づいて正常なデータを推定する第2データ推定手段と
    を備えることを特徴とする情報処理装置。
  2. 前記第2データ推定手段は、前記上位から所定ビット数分のデータと、前記下位から前記所定ビット数分のデータから予測データを生成し、該予測データが前記不一致となるビット数の最も少ない組み合わせの2つのデータと一致している場合に、該予測データを正常なデータとして推定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記上位から前記所定ビット数分のデータは、不一致となるビットのうち最下位のビットよりも上位ビットのデータであり、
    前記下位から前記所定ビット数分のデータは、不一致となるビットのうち最上位のビットよりも下位ビットのデータであることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記予め定められた時間とは、データがN(Nは自然数)ビットである場合に、前記記憶手段に対してN/2+1ビット分の書き込みに要する時間であることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記第1データ推定手段又は前記第2データ推定手段により推定された前記正常なデータを前記書込手段によって再び各記憶手段に書き込ませることによりデータを修復する修復手段をさらに備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 数の記憶手段を備える情報処理装置の制御方法であって、
    前記複数の記憶手段の々へ同一のデータを書き込む際に各記憶手段へのデータの書き込みを予め定められた時間ずつずらして開始させる書込ステップであって特定の記憶手段への前記同一のデータの書き込みが終了する前に他の記憶手段への前記同一のデータの書き込みを開始させる書込ステップと、
    前記複数の記憶手段の各々に書き込まれた前記同一のデータを読み出す読出ステップと、
    前記複数の記憶手段の各々から読み出した前記同一のデータのうち2つのデータの組み合わせを全ての組み合わせについて選択し、選択した各組み合わせの2つのデータが一致しているか否かをビット単位で判定する判定ステップと、
    前記全ての組み合わせのうち少なくとも1つの組み合わせが一している前記判定ステップにて判定される場合は該一致した組み合わせのデータを正常なデータとして推定する第1データ推定ステップと、
    前記組み合わせの全てが不一致であると前記判定ステップにて判定される場合は不一致となるビット数の最も多い組み合わせの2つのデータのうち、先に前記書込ステップにて書き込まれたデータの上位から所定ビット数分のデータと、後に前記書込ステップにて書き込まれたデータの下位から前記所定ビット数分のデータとに基づいて正常なデータを推定する第2データ推定ステップと
    を実行することを特徴とする情報処理装置の制御方法。
JP2007321265A 2007-12-12 2007-12-12 情報処理装置及びその制御方法 Expired - Fee Related JP5137550B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007321265A JP5137550B2 (ja) 2007-12-12 2007-12-12 情報処理装置及びその制御方法
US12/272,234 US8266100B2 (en) 2007-12-12 2008-11-17 Information processing apparatus and control method therefor
CN2008101832480A CN101459749B (zh) 2007-12-12 2008-12-12 信息处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007321265A JP5137550B2 (ja) 2007-12-12 2007-12-12 情報処理装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2009146062A JP2009146062A (ja) 2009-07-02
JP2009146062A5 JP2009146062A5 (ja) 2011-02-03
JP5137550B2 true JP5137550B2 (ja) 2013-02-06

Family

ID=40754553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007321265A Expired - Fee Related JP5137550B2 (ja) 2007-12-12 2007-12-12 情報処理装置及びその制御方法

Country Status (3)

Country Link
US (1) US8266100B2 (ja)
JP (1) JP5137550B2 (ja)
CN (1) CN101459749B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010153771A (ja) * 2008-11-28 2010-07-08 Ricoh Co Ltd 情報処理装置及び画像形成装置
WO2013057864A1 (ja) * 2011-10-17 2013-04-25 パナソニック株式会社 不揮発性記憶装置及びその制御方法、メモリーコントローラ、並びに不揮発性記憶装置を備えたセットシステム及びその制御方法
JP6327994B2 (ja) * 2014-07-28 2018-05-23 ルネサスエレクトロニクス株式会社 制御システムおよび半導体装置
CN104317746A (zh) * 2014-10-27 2015-01-28 安徽江淮汽车股份有限公司 一种eeprom的数据冗余存取方法
CN107315649A (zh) * 2016-04-26 2017-11-03 新华三技术有限公司 一种表项校验方法和装置
CN111352754B (zh) * 2018-12-21 2023-09-15 中国石油天然气集团有限公司 一种数据存储检错纠错方法及数据存储装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2648840B2 (ja) * 1988-11-22 1997-09-03 株式会社日立製作所 半導体記憶装置
US5436913A (en) * 1992-06-02 1995-07-25 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device using successively longer write pulses
JPH0612274A (ja) * 1992-06-25 1994-01-21 Sharp Corp データ記憶読み出し方式
JPH06295599A (ja) * 1993-04-09 1994-10-21 Nec Corp 半導体記憶装置
US6185621B1 (en) * 1997-03-25 2001-02-06 Philips Electronics N.A. Corp. Direct copying between disk blocks in memory onto a network as sequential access files
US5845279A (en) * 1997-06-27 1998-12-01 Lucent Technologies Inc. Scheduling resources for continuous media databases
US6199094B1 (en) * 1998-06-05 2001-03-06 International Business Machines Corp. Protecting shared resources using mutex striping
KR100313503B1 (ko) * 1999-02-12 2001-11-07 김영환 멀티-뱅크 메모리 어레이를 갖는 반도체 메모리 장치
US6505216B1 (en) * 1999-10-01 2003-01-07 Emc Corporation Methods and apparatus for backing-up and restoring files using multiple trails
US6996668B2 (en) * 2001-08-06 2006-02-07 Seagate Technology Llc Synchronized mirrored data in a data storage device
JP2004110407A (ja) 2002-09-18 2004-04-08 Ricoh Co Ltd シリアルeepromインターフェイス
JP4244847B2 (ja) * 2004-04-12 2009-03-25 株式会社デンソー データ修復装置
CN101317157B (zh) * 2005-10-10 2011-06-08 英特尔公司 减少对于存储数据软件错误的脆弱性
US20080005385A1 (en) * 2006-06-30 2008-01-03 Seagate Technology Llc Passive mirroring through concurrent transfer of data to multiple target devices

Also Published As

Publication number Publication date
US20090157602A1 (en) 2009-06-18
US8266100B2 (en) 2012-09-11
CN101459749B (zh) 2011-04-27
CN101459749A (zh) 2009-06-17
JP2009146062A (ja) 2009-07-02

Similar Documents

Publication Publication Date Title
JP5137550B2 (ja) 情報処理装置及びその制御方法
US8639990B2 (en) Information processing apparatus that records logs, and control method and storage medium therefor
JP4736774B2 (ja) 画像処理プログラム、画像処理方法、画像処理装置および画像処理システム
JP2010211696A (ja) メモリスワップ管理方法、装置およびプログラム
US20210011660A1 (en) Information processing apparatus and control method
US11418671B2 (en) Information processing apparatus, and method of controlling the same
US9619736B2 (en) Image forming apparatus that performs writing into a non-volatile memory, and a method
US10558370B2 (en) Information processing apparatus, image processing method, and recording medium for storing job log information
US11269680B2 (en) Information processing apparatus, information processing system, and information processing method
JP7310419B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2012160824A (ja) 画像形成装置
US10956090B2 (en) Memory system and electronic apparatus
US10382604B2 (en) Image processing apparatus, control method thereof, and non-transitory computer-readable storage medium
US9619395B2 (en) Storage medium and information processing device for exchanging data with secondary storage section through cache
JP5423698B2 (ja) 画像形成装置
US20160286073A1 (en) Data communication apparatus, method for controlling the same, and storage medium
JP7400534B2 (ja) 情報処理装置、情報処理方法及びプログラム
US10798262B2 (en) Image processing apparatus, image processing apparatus controlling method, and recording medium
JP5678016B2 (ja) 画像形成装置及び省エネ制御プログラム
JP6515579B2 (ja) 画像処理装置、画像処理方法、画像処理装置の制御プログラム、および画像形成システム
JP2008165547A (ja) 通信制御装置
JP2023124425A (ja) 画像形成装置
JP2020154741A (ja) 電子機器、データ退避制御方法、およびデータ退避制御プログラム
JP5941526B2 (ja) 画像形成装置及び省エネ制御プログラム
JP2010102582A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121005

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: 20121015

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees