(57)【要約】【課題】  バッファメモリーのデータ保持期間またはデータリード期間に発生する、静電気等に基づくデータ破壊に対するリカバリー期間を短縮すること。【解決手段】  メモリー装置は、上位装置から送られてきたデータを蓄積するバッファメモリー２１０と、バッファメモリー２１０にデータがライトされるとき、ライトされたデータに基づいて、第１パリティデータと、第１パリティデータと所定の規則で関係付けられた第２パリティデータと、を生成するパリティ生成回路２２８と、バッファメモリー２１０にライトされたデータが保持されている保持期間において、第１パリティデータと第２パリティデータとを比較するパリティ比較部２３４と、パリティ比較部２３４による比較の結果、所定の規則による関係が不成立であった場合に、上位装置に対して、データ再送要求を出力する出力部と２１６と、を含む。【選択図】      図３
2012033090.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から送られてきたデータを蓄積するバッファメモリーと、
前記バッファメモリーに前記データがライトされるとき、ライトされたデータに基づいて、第１パリティデータと、前記第１パリティデータと所定の規則で関係付けられた第２パリティデータと、を生成するパリティ生成回路と、
前記バッファメモリーに前記ライトされたデータが保持されている保持期間において、前記第１パリティデータと前記第２パリティデータとを比較するパリティ比較部と、
前記パリティ比較部による比較の結果、前記所定の規則による関係が不成立であった場合に、前記上位装置に対して、データ再送要求を出力する出力部と、
を含むことを特徴とするメモリー装置。
【請求項２】
請求項１記載のメモリー装置であって、
前記バッファメモリーは、メモリーセルアレイを有し、前記メモリーセルアレイは、前記上位装置から送られてきたデータを一時的に蓄積するための、少なくともｍ行ｎ列（ｍおよびｎの各々は２以上の整数）のデータ記憶領域と、前記第１パリティデータを記憶する第１パリティメモリー領域と、前記第２パリティデータを記憶する第２パリティメモリー領域と、を有し、
前記パリティ生成回路は、前記データ記憶領域にライトされたデータのうちの、同一列のデータの各々に基づく演算によって、縦パリティデータである前記第１パリティデータおよび前記第２パリティデータの各々を生成することを特徴とするメモリー装置。
【請求項３】
請求項２記載のメモリー装置であって、
前記上位装置から送られてきたデータには、ｎビットのデータ毎にｓビット（ｓは１以上の整数）の横パリティデータが付加されており、
前記データ記憶領域は、少なくともｍ行（ｎ＋ｓ）列の記憶容量を有し、
また、前記ｎビットのデータ毎に付加されている前記ｓビットの横パリティデータの各々に基づくパリティチェックを実行する横パリティチェック部を、さらに有することを特徴とするメモリー装置。
【請求項４】
請求項１〜請求項３のいずれかに記載のメモリー装置であって、
前記パリティ生成回路は、前記バッファメモリーから前記データがリードされるとき、リードされたデータに基づいて第３パリティデータを生成し、
前記パリティ比較部は、前記第３パリティデータと前記第２パリティデータとを比較し、前記出力部は、前記パリティ比較部による比較の結果、前記所定の規則による関係が不成立であった場合に、前記上位装置に対して、データ再送要求を出力することを特徴とするメモリー装置。
【請求項５】
請求項１記載のメモリー装置であって、
前記バッファメモリーは、
前記上位装置から送られてきたデータを一時的に蓄積するためのデータ記憶領域を有するメモリーセルアレイと、
前記メモリーセルアレイとは別に設けられた、前記第１パリティデータを記憶する第１パリティメモリーと、
前記メモリーセルアレイとは別に設けられた、前記第２パリティデータを記憶する第２パリティメモリーと、を有することを特徴とするメモリー装置。
【請求項６】
インク容器に収容されているインクに関するインク情報を記憶する不揮発性メモリーを備えるインク情報記憶部と、
前記インク情報を生成して出力する上位装置と、
前記上位装置から出力される前記インク情報をバッファメモリーにライトし、ライトされたインク情報を保持し、前記ライトされたインク情報を前記バッファメモリーからリードし、リードされたインク情報を前記インク情報記憶部に供給する、請求項１〜請求項５のいずれかに記載のメモリー装置と、含み、
前記上位装置は、前記インク情報を前記メモリー装置に出力した後、前記メモリー装置からのデータ再送要求を受信した場合には、先に出力した前記インク情報と同じ内容のインク情報を、前記メモリー装置に再度出力することを特徴とするインク情報転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリー装置およびインク情報転送装置等に関する。
【背景技術】
【０００２】
特許文献１には、着脱自在の記録ヘッドに、記録特性データと、その記録ヘッドの正当性あるいは動作の正常／異常を確認するためのチェック用のデータとを記憶させた画像形成装置が示されている。この特許文献１に記載される技術では、記録ヘッドが装着されると、本体装置側が、記録ヘッドからチェック用のデータを読み出し、記録ヘッドが正当なものであるか否か、あるいは正常に動作しているか否かを判断する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−６４１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に示される画像形成装置では、本体装置が、記録ヘッドに記録特性データを書き込む際に生じるエラーのチェックについては、何ら考慮されていない。例えば、本体装置の制御部と記録ヘッドとの距離が離れているような場合には、記録特性データは、本体装置から、バッファメモリーを経由して記録ヘッドに転送されるのが通常である。ここで、記録特性データが、バッファメモリーに一時的に保持されている保持期間において、静電気や過大なノイズ等によってデータの破壊が生じた場合を想定する。この場合、バッファメモリー自体はデータ破壊を検出できないため、バッファメモリーからリードされたデータは、記録ヘッドに転送され、そして、記録ヘッドにおけるデータ誤り検出等によって、初めてデータのエラーが検出されることになる。
【０００５】
但し、エラーが初めて検出された時点では、そのデータエラーが、受信時に生じたのか、あるいは、バッファメモリーから出力されたデータ自体が破壊されていたのかは不明である。よって、例えば、記録ヘッドは、バッファメモリーに対して、データ再送要求を、例えば許容範囲の回数だけ繰り返し送出することになる。そして、データの再送の繰り返しによっても問題が解決しない場合に、バッファメモリーに蓄積されていたデータ自体が破壊されていたことが判明し、この時点で初めて、最上流の装置である、本体装置からのバッファメモリーへの、同一データの再書き込みがなされる。
【０００６】
このように、バッファメモリーにデータが保持されている状態で、静電気等によるデータ破壊が生じた場合において、本体装置からバッファメモリーへの同一データの再書き込みがなされるまでには、かなり長い時間を要する。つまり、データエラーのリカバリー（エラーの回復）に時間がかかり、そのリカバリー期間においては、例えば、画像形成装置における他の処理が停止される場合もあり得る。また、バッファメモリーからデータをリードしているときに、静電気等によるデータ破壊が生じた場合においても、同様の課題が生じる。
【０００７】
本発明の少なくとも一つの態様によれば、バッファメモリーのデータ保持期間またはデータリード期間に発生する、静電気等に基づくデータ破壊に対するリカバリー期間を短縮することができる。
【課題を解決するための手段】
【０００８】
（１）本発明のメモリー装置の一態様は、上位装置から送られてきたデータを蓄積するバッファメモリーと、前記バッファメモリーに前記データがライトされるとき、ライトされたデータに基づいて、第１パリティデータと、前記第１パリティデータと所定の規則で関係付けられた第２パリティデータと、を生成するパリティ生成回路と、前記バッファメモリーに前記ライトされたデータが保持されている保持期間において、前記第１パリティデータと前記第２パリティデータとを比較するパリティ比較部と、前記パリティ比較部による比較の結果、前記所定の規則による関係が不成立であった場合に、前記上位装置に対して、データ再送要求を出力する出力部と、を含む。
【０００９】
本態様では、メモリー装置自体が、バッファメモリーへのデータライト時に第１パリティデータおよび第２パリティデータを生成する機能をもち、かつ、データ保持期間において、生成した第１パリティと第２パリティを比較し、そして、両パリティデータ間に、生成当初の所定の規則による関係が成立しない場合には、上位装置に対して、データ再送要求を出力するという構成が採用されている。本態様では、データ保持期間におけるデータ破壊の発生を、メモリー装置自体が検出することができる。よって、従来に比べて早期に、データ破壊に対する対策を採ることができ、したがって、データ破壊に対するリカバリーに要する時間を短縮することができる。
【００１０】
例えば、パリティ生成回路は、バッファメモリーへの各パリティデータの値は一致しないという規則の下で、各１ビットの第１パリティデータおよび第２パリティデータを生成する。データ保持期間において、静電気や過大なノイズ等がメモリー装置に入力された場合に、第１パリティデータおよび第２パリティデータのいずれかの値が反転したとすると、第１パリティデータおよび第２パリティデータの各値が一致する状態となる。この場合には、バッファメモリーに保持されているデータにもデータ化けが生じた可能性が高いと推定することができる。
【００１１】
パリティ比較部によって、両パリティデータの値の一致が検出されると、出力部から、上位装置に対してデータ再送要求（同一データの再送を要求するリクエスト信号）が出力される。したがって、バッファメモリーにおける破壊されたデータを、迅速に回復させることができる。
【００１２】
（２）本発明のメモリー装置の他の態様では、前記バッファメモリーは、メモリーセルアレイを有し、前記メモリーセルアレイは、前記上位装置から送られてきたデータを一時的に蓄積するための、少なくともｍ行ｎ列（ｍおよびｎの各々は２以上の整数）のデータ記憶領域と、前記第１パリティデータを記憶する第１パリティメモリー領域と、前記第２パリティデータを記憶する第２パリティメモリー領域と、を有し、前記パリティ生成回路は、前記データ記憶領域にライトされたデータのうちの、同一列のデータの各々に基づく演算によって、縦パリティデータである前記第１パリティデータおよび前記第２パリティデータの各々を生成する。
【００１３】
本態様では、バッファメモリーにおけるメモリーセルアレイは、データ記憶領域の他に、第１パリティデータを記憶する第１パリティメモリー領域および第２パリティデータを記憶する第２パリティメモリー領域を有している。例えば、バッファメモリーとしてＳＲＡＭを使用する場合、データ記憶領域の近傍において、ワード線やメモリセルを追加して、第１パリティメモリー領域や第２パリティメモリー領域を確保することに特に問題はなく、実現が容易である。
【００１４】
そして、例えば、データ記憶領域がｍ行ｎ列（ｍおよびｎの各々は２以上の整数）の記憶容量を有する場合に、データ記憶領域にライトされたデータ（あるいはデータ記憶領域に保持されているデータ）のうちの、同一列のデータの各々に基づく演算（縦パリティ演算）を実行する。例えば、同一列のデータの２進法による加算を実行し、その加算結果である縦パリティビットを、例えば第１パリティデータとすることができる。また、例えば、第１パリティデータの値をインバーター等で反転させて第２パリティデータとすることができる。第１パリティデータおよび第２パリティデータの各々は、第１パリティメモリー領域や第２パリティメモリー領域の各々に記憶される。
【００１５】
本態様では、データ記憶領域にライトされたデータの各データ列毎に、例えば１ビットの縦パリティデータを無理なく、容易に生成することができる。また、各データ列毎に縦パリティが生成されるため、縦パリティデータが、ライトデータのビット数だけ生成されることになり、縦パリティデータの総数が増えることから、データ破壊を検出し易くなる。また、データ破壊が生じる可能性に関して、２次元のメモリー領域内でバラツキが生じる場合でも、各データ列毎に縦パリティデータが生成されている（つまり、ライトデータの行方向に沿って、広がりをもって縦パリティデータが配置されている）ことから、データ破壊が生じ易い領域におけるデータ化けを検出できる可能性が高まる。
【００１６】
（３）本発明のメモリー装置の他の態様では、前記上位装置から送られてきたデータには、ｎビットのデータ毎にｓビット（ｓは１以上の整数）の横パリティデータが付加されており、前記データ記憶領域は、少なくともｍ行（ｎ＋ｓ）列の記憶容量を有し、また、前記ｎビットのデータ毎に付加されている前記ｓビットの横パリティデータの各々に基づくパリティチェックを実行する横パリティチェック部を、さらに有する。
【００１７】
本態様では、上位装置から送られてくるデータにおいて、ｎビットのデータ毎にｓビットの横パリティデータが付加されている。このデータ構造に対応できるように、データ記憶領域は、少なくとも、ｍ行（ｎ＋ｓ）列の記憶容量を有する。また、本態様では、横パリティチェック部が設けられている。横パリティチェック部は、各行毎に付加されているｓビットの横パリティデータの各々に基づくパリティチェックを、例えば、データの受信時、あるいはバッファメモリーへのデータのライト時に実行する。
【００１８】
本態様では、上述の縦パリティデータに基づく、データの保持期間中におけるデータ破壊の検出に加えて、横パリティデータに基づく、データの受信時、あるいはバッファメモリーへのデータのライト時におけるデータエラーの検出も実行される。縦パリティチェックと横パリティチェックの併用によって、データエラー検出の信頼性が高まる。
【００１９】
（４）本発明のメモリー装置の他の態様では、前記パリティ生成回路は、前記バッファメモリーから前記データがリードされるとき、リードされたデータに基づいて第３パリティデータを生成し、前記パリティ比較部は、前記第３パリティデータと前記第２パリティデータとを比較し、前記出力部は、前記パリティ比較部による比較の結果、前記所定の規則による関係が不成立であった場合に、前記上位装置に対して、データ再送要求を出力する。
【００２０】
上述したように、バッファメモリーからデータをリードしているときにおいても、静電気等によるデータ破壊が生じる可能性がある。そこで、本態様では、バッファメモリーから、データをリードするときにおいても、データ破壊を検出するためのパリティチェックを実行する。すなわち、本態様では、リードされたデータに基づいて第３パリティデータを新たに生成し、生成された第３パリティデータと、データライト時において生成された第２パリティデータとを比較し、所定の規則による関係が不成立のときに、上位装置に対して、データ再送要求を出力するという構成を採用する。
【００２１】
データリード時において、静電気等によるデータ破壊が生じないのであれば、生成された第３パリティデータは、データライト時に生成された第１パリティデータと同じになるはずである。上述のとおり、例えば、第１パリティデータと第２パリティデータは、値が異なるように生成されていることから、通常ならば、第３パリティデータと第２パリティデータの各値も異なっているはずである。ここで、リード期間中においてデータ破壊が生じて、第３パリティデータおよび第２パリティデータのいずれかの値が反転したとすると、第３パリティデータの値と第２パリティデータの値が一致し、よって、リード時におけるデータ破壊を検出することができる。この場合にも、迅速なデータ回復処理を実行可能であることから、バッファメモリーにおけるデータリード期間に発生する、静電気等に基づくデータ破壊に対するリカバリー期間を短縮することができる。
【００２２】
（５）本発明のメモリー装置の他の態様では、前記バッファメモリーは、前記上位装置から送られてきたデータを一時的に蓄積するためのデータ記憶領域を有するメモリーセルアレイと、前記メモリーセルアレイとは別に設けられた、前記第１パリティデータを記憶する第１パリティメモリーと、前記メモリーセルアレイとは別に設けられた、前記第２パリティデータを記憶する第２パリティメモリーと、を有する。
【００２３】
本態様では、第１パリティデータを記憶する第１パリティメモリーおよび第２パリティデータを記憶する第２パリティメモリーを、メモリーセルアレイとは別個に設ける。第１パリティメモリー（第２パリティメモリーも同様）は、例えば、少なくとも１個のフリップフロップによって構成することができる。例えば、複数のフリップフロップの各々を、例えば、ＩＣチップ内で、２次元の広がりをもって分散させて配置する、あるいは、データ破壊が生じる可能性の程度に対応して分散させて配置する等の工夫をすれば、パリティメモリーの容量を縮小しつつ、データ破壊を検出できる可能性を高めることができる。
【００２４】
（６）本発明のインク情報転送装置の一態様では、インク容器に収容されているインクに関するインク情報を記憶する不揮発性メモリーを備えるインク情報記憶部と、前記インク情報を生成して出力する上位装置と、前記上位装置から出力される前記インク情報をバッファメモリーにライトし、ライトされたインク情報を保持し、前記ライトされたインク情報を前記バッファメモリーからリードし、リードされたインク情報を前記インク情報記憶部に供給する、上記いずれかのメモリー装置と、含み、前記上位装置は、前記インク情報を前記メモリー装置に出力した後、前記メモリー装置からのデータ再送要求を受信した場合には、先に出力した前記インク情報と同じ内容のインク情報を、前記メモリー装置に再度出力する。
【００２５】
本態様では、転送されるインク情報を中継するメモリー装置においてデータ破壊が検出されたときに、上位装置に対してデータ再送要求が出力される。よって、上位装置からの同一データの再送、ならびに再送されたデータの、メモリー装置内のバッファメモリーへのリライトを、早期に、かつ効率的に実行することができる。この結果、データ破壊が生じた場合でも、上位装置からインク情報が最初に出力された時点から、正しいインク情報が、インク情報記憶部における不揮発性メモリーに記憶されるまでの時間を、従来に比べて、格段に短縮することができる。
【図面の簡単な説明】
【００２６】
【図１】インク情報転送装置を有する印刷装置（ここではインクジェット方式のカラープリンター）の構成の一例を示す図
【図２】図２（Ａ）および図２（Ｂ）は、第１実施形態にかかるメモリー装置（ＡＳＩＣ）の動作手順を説明するための図
【図３】メモリー装置としてのＡＳＩＣの具体的な構成例を示す図
【図４】静電気やノイズによるデータ破壊を検出する動作を説明するための図
【図５】図５（Ａ）〜図５（Ｃ）は、パリティ生成動作ならびにパリティ比較動作について、より具体的に説明するための図
【図６】図５（Ａ），図５（Ｂ）に示されるＡＳＩＣの、データライト時の動作およびデータリード時の動作を示すタイミング図
【図７】図７（Ａ）および図７（Ｂ）は、第１実施形態にかかるメモリー装置を採用したインク情報転送装置における動作を、従来例の動作と対比して示す図
【図８】図８（Ａ）および図８（Ｂ）は、第１実施形態にかかるインク情報転送装置の動作タイミングを、従来例の動作タイミングと比較して示す図
【図９】メモリー装置（ＡＳＩＣ）の他の例を示す図
【発明を実施するための形態】
【００２７】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２８】
（第１実施形態）
図１は、インク情報転送装置を有する印刷装置（ここではインクジェット方式のカラープリンター）の構成の一例を示す図である。インク情報転送装置は、上位装置としてのＳＯＣ（システムオンチップ）１００と、転送されるインク情報を中継するメモリー装置としてのＡＳＩＣ（例えば、ＳＲＡＭで構成されるバッファメモリー２１０を含むＩＣ）２００と、インク情報記憶部ＣＳＩＣ（ＥＥＰＲＯＭ等の不揮発性メモリー３１０を含むＩＣ）３００と、によって構成される。
【００２９】
上位装置としてのＳＯＣ１００は、ＣＰＵ１０２と、ヘッド駆動部１１２と、システムバスＢＵＳと、を有する。ＣＰＵ１０２は、インク情報記憶部ＣＳＩＣ３００からのデータのリード（Ｒ）ならびにインク情報記憶部ＣＳＩＣ３００へのデータのライト（Ｗ）を制御するＲ／Ｗ制御部１０４と、インク残量が少ないことを判定する閾値であるニアエンド閾値を記憶しているレジスター１０８と、インク消費量演算部１１０と、インク残量の程度を判定する判定部１０６と、を有する。判定部１０６は、例えば、表示部１１４に指示して、ユーザーにインク残量が少ないことを報知するための文章やアイコン等を表示させることができる。
【００３０】
また、インク情報記憶部ＣＳＩＣ３００は、着脱自在のインク容器部（液体容器部）４００に設けられている。インク容器部（液体容器部）４００には、ＣＳＩＣ３００の他、例えば、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（ＫあるいはＢｋ）の各色のインクカートリッジ１０ａ〜１０ｄが設けられている。例えば、インク情報記憶部ＣＳＩＣ３００は、インクカートリッジ１０ａ〜１０ｄ毎に設けることができるが、図１では、説明の便宜上、インク情報記憶部ＣＳＩＣ３００を一つだけ記載している。
【００３１】
インクカートリッジ１０ａ〜１０ｄの各々は、ホルダー３１によって保持されている。ホルダー３１は、キャリッジ２５によって支持されている。キャリッジ２５は、ガイド軸２６に沿って移動することができる。また、キャリッジ２５には、ＣＭＹＫの各色のインクに対応したヘッド２０ａ〜２０ｄが固定されている。また、インクカートリッジ１０ａ〜１０ｄの各々に収納されている各色のインクは、インクチューブ３２を経由して、各ヘッド２０ａ〜２０ｄに供給される。各ヘッド２０ａ〜２０ｄからのインクの吐出によって、印刷用紙９上に、文字や画像を印刷することができる。各ヘッド２０ａ〜２０ｄの各々は、ＳＯＣ１００に含まれるヘッド駆動部１１２によって駆動される。
【００３２】
着脱自在のインク容器部（液体容器部）４００が、印刷装置本体に装着されると、ＣＳＩＣ３００内のインク容量メモリー（ＥＥＰＲＯＭ等の不揮発性メモリー）３１０に記憶されている各種のデータ（現在のインク容量データやインクカートリッジの型番データ等）が読み出され、読み出された各種データは、ＡＳＩＣ２００を経由して、ＳＯＣ１００に送られる。ＳＯＣ１００にて受信された各種データは、例えば、ＣＰＵ１０２に設けられる判定部１０６ならびにインク消費量１１０に記憶される。
【００３３】
印刷が実行される場合には、例えば、各ヘッド２０ａ〜２０ｄの駆動回数に基づいて、インク消費量演算部１１０がインク消費量を演算する。ヘッドの駆動１回当たりのインク消費量は既知であるため、各ヘッドの駆動回数に基づいて各色のインクの消費量を演算することができる。印刷前における、各インクカートリッジ１０ａ〜１０ｄの各々におけるインク容量は既知であるため、各インクの消費量が求められれば、印刷後の各インクの残量も一義的に定まる。インク消費量演算部１１０によって各インクの容量（印刷後のインク残量）が求められると、求められたインク容量データは、判定部１０６ならびにＲ／Ｗ制御部１０４に供給される。判定部１０６は、ニアエンド閾値と求められたインク容量とを比較して、インク残量が閾値以下となったことを検出すると、所定の報知情報を、表示部１１４に表示させる。
【００３４】
また、Ｒ／Ｗ制御部１０４は、例えば、インク消費量演算部１１０によってインク容量データが求められる毎に、そのインク容量データ（広義のインク情報）を、メモリー装置としてのＡＳＩＣ２００を経由して、インク容量記憶部としてのＣＳＩＣ３００に送信する。ＣＳＩＣ３００は、送られてきたインク容量データを受信し、そのインク容量データを、不揮発性メモリー（ＥＥＰＲＯＭ等）で構成されるインク容量メモリー３１０に書き込む。インク残量を示すデータが常に更新され、不揮発性メモリーであるインク容量メモリー３１０に保持されることによって、例えば、不意の停電等による電源のオフが生じても、最新のインク残量情報が消えることがない。つまり、ＳＯＣ１００は、電源の復旧後に、インク容量メモリー３１０から最新のインク残量情報を読み出すことができ、これによって、不意の電源オフがあったとしても、ＳＯＣ１００は、各色のインクの残量を正確に把握することができる。
【００３５】
上述のとおり、ＳＯＣ１００から送信されるインク容量データ（広義のインク情報）は、メモリー装置としてのＡＳＩＣ２００内のバッファメモリー２１０に一時的に蓄積され、その後、ＣＳＩＣ３００に転送される。
【００３６】
ここで、ＡＳＩＣ２００内のバッファメモリー２１０に、インク容量データが一時的に保持されている保持期間、あるいはインク容量データがリードされるリード期間において、静電気や過大なノイズ等によって、データ破壊が生じる場合を想定する。従来は、そのデータ破壊は、ＣＳＩＣ３００によってしか検出できないため、データ破壊に対する早期の対策を採ることができなかった。
【００３７】
そこで、本実施形態では、メモリー装置としてのＡＳＩＣ２００自体に、データ破壊が生じたことを検出するモニター機能を付与する。この点について、以下、図２を参照して説明する。
【００３８】
図２（Ａ）および図２（Ｂ）は、本実施形態のメモリー装置（ＡＳＩＣ）の動作手順を説明するための図である。図２（Ａ）は比較例の動作手順を示し、図２（Ｂ）は、本実施形態のメモリー装置（ＡＳＩＣ２００）の動作手順を示す。先に説明したように、メモリー装置としてのＡＳＩＣ２００は、ＳＯＣ１００とＣＳＩＣ３００との間に位置しており、ＳＯＣ１００から送信されるデータ（例えばインク容量データ）を受信し、一時的に保持した後、ＣＳＩＣ３００に転送する。
【００３９】
まず、図２（Ａ）に示される比較例の動作を説明する。図２（Ａ）に示されるＡＳＩＣ２００は、データを受信し（ステップＳ１）、受信したデータをバッファメモリー２１０にライトし（ステップＳ２）、このとき、受信時パリティチェックを実行する（ステップＳ３）。バッファメモリー２１０にライトされたデータは、所定期間だけ保持され（ステップＳ４）、その後、保持されているデータがリードされ（ステップＳ５）、リードされたデータが、ＣＳＩＣ３００に送信される（ステップＳ６）。
【００４０】
ここで、データの保持期間（蓄積期間）やリード期間（読み出し期間）において、静電気や過大なノイズ等が入力されて、データの一部が破壊された場合を想定する。この場合、ＡＳＩＣ２００はデータ破壊を検出できない。よって、結果的に、ＣＳＩＣ３００におけるデータ誤り検出等によって、初めてデータのエラーが検出されることになる。但し、エラーが初めて検出された時点では、そのデータエラーが、受信時に生じたのか、あるいは、ＡＳＩＣ２００から出力されたデータ自体が破壊されていたのかは不明である。
【００４１】
そこで、ＣＳＩＣ３００は、まず、ＡＳＩＣ２００に対してデータ再送要求（再送要求１）を送信する。上記の例では、データ自体に破損が生じているため、データの再送によってもデータエラーが解消せず、データ再送要求２が送信され、続いて、データ再送要求３が出力される。データの再送の繰り返しによっても問題が解決しないことから、この時点で、ＡＳＩＣ２００から送られてきたデータ自体に異常があることが検出される。
【００４２】
ＣＳＩＣ３００は、最上流の装置であるＳＯＣ１００に対して、再データ書き込み要求を送信する。これに応じて、ＳＯＣ１００は、先に送信したデータと同じ内容のデータをＡＳＩＣ２００に再送送し、ＡＳＩＣ２００は、再送されてきたデータを所定期間、蓄積した後、ＣＳＩＣ３００に向けて送信する。この比較例の場合、ＡＳＩＣ２００から送られてきたデータ自体に異常があることを、早期に検出することができないため、データエラーの回復に時間がかかる。
【００４３】
これに対して、図２（Ｂ）に示される本実施形態のＡＳＩＣ２００は、データが破損したことを検出する機能をもつため、上位装置であるＳＯＣ１００に対するデータ再送要求を、早期に送信することができる。よって、データエラーの回復に要する時間が格段に短縮される。
【００４４】
すなわち、図２（Ｂ）に示される本実施形態にかかる例では、データのライト時に、データ破壊検出用のパリティデータを新たに生成する（ステップＳ３’）。そして、データ保持期間において、新たに生成されたパリティデータを用いたパリティチェックが実行される（ステップＳ７）。また、保持データのリード期間中においても、データリード時のパリティチェックが実行される（ステップＳ９）。
【００４５】
このステップＳ９では、例えば、リードされたデータに基づくパリティデータが生成され、生成されたパリティデータと、ライト時に生成されたパリティデータとが比較され、これによって、リード時のデータ破壊が検出可能となる。ステップＳ７またはステップＳ９にて、パリティチェックの結果がＮＧであるとき、ＡＳＩＣ２００は、上位装置であるＳＯＣ１００に、直ちにデータ再送要求を送信する。
【００４６】
このように、図２（Ｂ）に示される本実施形態にかかる例では、静電気等に起因するデータの破壊が生じたことが早期に検出される。よって、データエラーの回復に要する時間が、図２（Ａ）に示される比較例に比べて、格段に短縮される。
【００４７】
次に、メモリー装置としてのＡＳＩＣ２００の具体的な構成例と、その動作について、図３〜図７を用いて説明する。図３は、メモリー装置としてのＡＳＩＣの具体的な構成例を示す図である。
【００４８】
ＡＳＩＣ２００は、ＳＲＡＭで構成されるバッファメモリー２１０と、入力インターフェース（入力Ｉ／Ｆ）２１２と、入力データＳＤＡ（図１のインク容量情報に相当する）に付加されている横パリティに基づくパリティチェックを実行する横パリティチェック部２１３と、入出力インターフェース（入出力Ｉ／Ｆ）２１４と、上位装置であるＳＯＣに対してデータ再送要求ＲＱを出力する出力インターフェース（出力Ｉ／Ｆ，あるいは出力部）２１６と、データ破壊検出用の縦パリティデータを生成するパリティ生成回路２２８と、生成された第１パリティデータを格納する第１パリティメモリー２３０と、生成された第２パリティデータを格納する第２パリティメモリー２３２と、第１パリティデータと第２パリティデータとを比較して、エラー（データ破壊の有無）を検出するパリティ比較部２３４と、入出力インターフェース（入出力Ｉ／Ｆ）２３６と、出力インターフェース（出力Ｉ／Ｆ）２３８と、を有する。
【００４９】
ここで、バッファメモリー２１０は、カラムデコーダー２２０と、ロウデコーダ−２２２と、メモリーセルアレイ２２４と、リード／ライト回路２２６と、を有する。メモリーセルアレイ２２４は、データＳＤＡを記憶するデータ記憶領域２２３を有する。また、後述する第１パリティメモリー２３０ならびに第２パリティメモリー２３２を、メモリーセルアレイ２２４内に設けることもできる（図３の例では、この構成を想定している）。
【００５０】
また、入力インターフェース（入力Ｉ／Ｆ）２１２には、動作クロックＳＣＫと、リセット信号ＸＲＳＴが入力される。また、入出力インターフェース（入出力Ｉ／Ｆ）２１４は、データ（ＳＤＡ）およびデータＳＤＡに付加されている横パリティデータの入力、あるいは出力を実行する。また、出力インターフェース（出力Ｉ／Ｆ，あるいは出力部）２１６は、パリティ比較部２３４の比較結果によってデータ破壊が検出された場合に、データ再送要求ＲＱをＳＯＣ１００に対して送信する。また、入出力インターフェース（入出力Ｉ／Ｆ）２３６は、ＣＳＩＣ３００に、ＳＤＡ（横パリティ付き）を送信する。また、出力インターフェース（出力Ｉ／Ｆ）２３８は、ＣＳＩＣ３００に、動作クロックＳＣＫおよびリセット信号ＸＲＳＴを送信する。
【００５１】
図４は、静電気やノイズによるデータ破壊を検出する動作を説明するための図である。メモリーセルアレイ２２４内のデータ記憶領域２２３に書き込まれて保持されるデータＳＤＡは、例えば、８行（Ａ０〜Ａ７）×８列（Ｃ１〜Ｃ８）のデータである。また、データＳＤＡには、１行分のデータ（８ビットのデータ）毎に、通信エラーを検出するための１ビットの横パリティデータが付加されている。
【００５２】
また、図４の例では、奇パリティが採用されている。すなわち、８ビットのビット列に含まれる“１”の数が奇数となるように、横パリティデータの値が決定されている。データ通信に伴って、１ビットのデータ化けが発生すると、８ビットのビット列に含まれる“１”の数が偶数となることから、データエラーを検出することができる。通信に伴うデータエラーの検出は、図３に示される横パリティチェック部２１３が実行する。
【００５３】
また、データ保持期間ならびにデータリード期間における、静電気やノイズ等に起因するデータの破壊は、縦パリティデータを用いて検出することができる。
【００５４】
図４の下側に示されるように、縦パリティデータは、第１パリティデータである正パリティデータと、第２パリティデータである反転パリティデータとによって構成される。縦パリティデータは、メモリーセルアレイ２２４にライトされたデータのうちの、同一列のデータの各々に基づく演算（縦パリティ演算）によって求めることができる。例えば、同一列のデータの２進法による加算を実行し、その加算結果である縦パリティビットを、例えば第１パリティデータ（正パリティデータ）とする。また、第１パリティデータ（正パリティデータ）の値をインバーター等で反転させることによって、第２パリティデータ（反転パリティデータ）を生成することができる。このような縦パリティ演算は、図３に示されるパリティ生成回路２２８が実行する。
【００５５】
第１パリティデータ（正パリティデータ）は、第１パリティメモリー（あるいは第１パリティメモリー領域）２３０に格納されている。また、第２パリティデータ（反転パリティデータ）は、第２パリティメモリー（あるいは第２パリティメモリー領域）２３２に格納されている。パリティ比較部２３４は、第１パリティデータ（正パリティデータ）と第２パリティデータ（反転パリティデータ）とを比較して、チェック結果信号Ｃｈｋを出力する。
【００５６】
このように、図３および図４に示される本実施形態の例では、メモリー装置としてのＡＳＩＣ２００自体が、バッファメモリー２１０へのデータライト時に第１パリティデータ（正パリティデータ）および第２パリティデータ（反転パリティデータ）を生成する機能をもち、かつ、例えば、データ保持期間においては、パリティ比較部２３４が、第１パリティデータと第２パリティデータを常に比較する。両パリティデータ間には、生成当初の所定の規則による関係が成立する。つまり、図４の例では、第２パリティデータは、第１パリティデータの値を反転して得られるという規則が適用されており、よって、両パリティデータの値（１または０）は一致しないという関係が成立している。
【００５７】
静電気等によってデータ化けが生じると、両パリティデータ間において、生成当初の所定の規則による関係が成立しなくなる。つまり、両データの値が一致するという現象が生じる。この場合には、チェック結果信号Ｃｈｋがアクティブレベルとなり、データエラーが検出される。
【００５８】
つまり、例えば、データ保持期間におけるデータ破壊の発生を、メモリー装置としてのＡＳＩＣ２００自体が検出することができる。よって、従来に比べて早期に、データ破壊に対する対策を採ることができ、したがって、データ破壊に対するリカバリーに要する時間を短縮することができる。
【００５９】
すなわち、データエラーが検出されたときには、上位装置であるＳＯＣ１００からの同一データの再送、ならびに再送されたデータのバッファメモリー２１０へのリライトが実行される。これによって、破壊されたデータを、迅速に回復させることができる。
【００６０】
また、上述したように、バッファメモリー２１０からデータをリードしているときにおいても、静電気等によるデータ破壊が生じる可能性がある。そこで、本実施形態では、バッファメモリー２１０から、データをリードするときにおいても、データ破壊を検出するためのパリティチェックを実行する。
【００６１】
この場合は、パリティ生成回路２２８は、リードされたデータに基づいて縦パリティ演算を実行して第３パリティデータを生成し、生成した第３パリティデータを、第１パリティメモリー（第１パリティメモリー領域）２３０に格納する（例えば、第１パリティデータを上書きする）。パリティ比較部２３４は、第３パリティデータと、データライト時において生成された第２パリティデータとを比較し、所定の規則による関係（ここでは、両データが一致しないという関係）が不成立のときにチェック結果信号Ｃｈｋがアクティブレベルに変化する。
【００６２】
つまり、リード時において、静電気等によるデータ破壊が生じないのであれば、生成された第３パリティデータは、データライト時に生成された第１パリティデータと同じになるはずである。上述のとおり、例えば、第１パリティデータと第２パリティデータは、値が異なるように生成されていることから、通常ならば、第３パリティデータと第２パリティデータの各値は異なっているはずである。
【００６３】
ここで、リード期間中においてデータ破壊が生じて、第３パリティデータおよび第２パリティデータのいずれかの値が反転したとすると、第３パリティデータの値と第２パリティデータの値が一致し、よって、リード時におけるデータ破壊を検出することができる。この場合にも、迅速なデータ回復処理を実行可能であることから、バッファメモリー２１０におけるデータリード期間に発生する、静電気等に基づくデータ破壊に対するリカバリー期間を短縮することができる。
【００６４】
図５（Ａ）〜図５（Ｃ）は、パリティ生成動作ならびにパリティ比較動作について、より具体的に説明するための図である。図５（Ａ）は、データ保持期間における動作を示し、図５（Ｂ）はデータリード期間における動作を示し、図５（Ｃ）は、縦パリティ生成動作を示している。
【００６５】
図５（Ａ）に示すように、ライト回路２２６ａには、データＳＤＡと、ライトイネーブル信号ＷＥと、リセット信号ＸＲＳＴが入力される。ライト時には、ライトイネーブル信号ＷＥがアクティブレベルとなっている。なお、インバーターＩＮＶ１〜ＩＮＶ８は、第１パリティデータ（正パリティデータ）のレベルを反転させて、反転パリティデータを生成するために設けられている。パリティ生成回路２２８は、メモリーセルアレイ２２４にライトされるデータに基づいて、縦パリティ演算を実行して、第１パリティデータ（正パリティデータ）および第２パリティデータ（反転リティデータ）を生成する。
【００６６】
パリティ生成回路２２８は、例えば、図５（Ｃ）に示すような累積加算器（アキュームレーター）を有する。累積加算器（アキュームレーター）は、同一列のデータ同士を加算する加算器２２９と、加算結果を蓄積するレジスター２３１とで構成される。累積加算器（アキュームレーター）は、データ列毎に設けられる。図５（Ｃ）の例において、Ａ０行Ｃ１列のデータをＸとし、Ａ１行Ｃ２列のデータをＹとすると、加算器２２９によってＸ＋Ｙの演算（２進数の加算演算）が実行され、その結果がレジスター２３１に格納される。以下、同様に、データが書き込まれる毎に累積加算が実行され、Ａ７行のデータがライトされた時点では、Ａ０行からＡ７行のデータの、同一列のデータ同士の加算結果がレジスター２３１に格納されている。
【００６７】
その加算結果が第１パリティデータ（正パリティデータ）となる。また、第１パリティデータ（正パリティデータ）のレベルを、インバーターＩＮＶ１で反転させることによって、第２パリティデータが生成される。
【００６８】
この例によれば、各データ列毎に、例えば１ビットの縦パリティデータを無理なく、容易に生成することができる。また、各データ列毎に縦パリティが生成されるため、縦パリティデータが、データのビット数（ここでは８ビット）分だけ生成されることになり、縦パリティデータの総数が増えることから、データ破壊を検出し易くなる。また、データ破壊が生じる可能性に関して、２次元のメモリー領域内でバラツキが生じる場合でも、各データ列毎に縦パリティが生成されている（つまり、ライトデータの行方向に沿って、広がりをもって縦パリティが配置されている）ことから、データ破壊が生じ易い領域におけるデータ化けを検出できる可能性が高まる。
【００６９】
図５（Ｂ）に示される例では、リード回路２２６ｂには、ライトイネーブル信号ＷＥと、リセット信号ＸＲＳＴが入力される。リード時には、ライトイネーブル信号ＷＥは非アクティブレベルとなっている。リード回路２２６ｂからは、読み出されたデータＳＤＡが出力される。
【００７０】
パリティ生成回路２２８は、メモリーセルアレイ２２４から読み出されたデータに基づいて、縦パリティ演算を実行して、第３パリティデータ（正パリティデータ）を生成する。なお、リードされたデータに基づく反転パリティデータの生成は行われない。したがって、第２パリティメモリー２３２には、ライト時に生成された第２パリティデータがそのまま格納されている。パリティ比較部２３４は、第３パリティデータ（正パリティデータ）と、ライト時に生成された第２パリティデータとを比較する。両データの一致が検出された場合には、チェック結果信号Ｃｈｋがアクティブレベルになる。
【００７１】
また、図５（Ａ）および図５（Ｂ）に示す例では、第１パリティデータを記憶する第１パリティメモリー（第１パリティメモリー領域）２３０と、第２パリティデータを記憶する第２パリティメモリー（第２パリティメモリー領域）２３２は、例えば、メモリーセルアレイ２２４において設けている。例えば、バッファメモリーとしてＳＲＡＭを使用する場合、メモリーセルアレイ２２４を拡張し、データＳＤＡを記憶するデータ記憶領域２２３の近傍において、ワード線やメモリセルを追加して、第１パリティメモリー領域や第２パリティメモリー領域を確保することに特に問題はない。よって、この構成は、実現が容易である。
【００７２】
そして、例えば、データ記憶領域がｍ行ｎ列（ｍおよびｎの各々は２以上の整数）の記憶容量を有する場合に、ライトされたデータＳＤＡのうちの、同一列のデータの各々に基づく縦パリティ演算が実行される。上述のとおり、生成された第１パリティデータおよび第２パリティデータの各々は、第１パリティメモリー（第１パリティメモリー領域）２３０、ならびに第２パリティメモリー（第２パリティメモリー領域）２３２の各々に記憶される。
【００７３】
また、図５（Ａ）および図５（Ｂ）に記載される例では、横パリティデータを用いたデータ受信時（あるいはデータライト時）のパリティチェックと、データ保持期間ならびにデータリード期間における、縦パリティを用いたパリティチェックとが併用されている。よって、データエラー検出の信頼性が高まる。
【００７４】
なお、図４に示した例では、横パリティビットは１ビットであったが、これに限定されるものではなく、横パリティビットはｓビット（ｓは１以上の整数）とすることができる。この場合には、メモリーセルアレイ２２４に設けられるデータ記憶領域２２３は、少なくともｍ行（ｎ＋ｓ）列のデータを格納する大きさを有することになる。
【００７５】
図６は、図５（Ａ），図５（Ｂ）に示されるＡＳＩＣの、データライト時の動作およびデータリード時の動作を示すタイミング図である。図６において、時刻ｔ１〜ｔ３の期間Ｔ１がデータライト期間である。時刻ｔ１〜ｔ２の期間において、ライトコマンドと、データＳＤＡならびに横パリティ（図中、１Ｐと記載されている）が、メモリーセルアレイ２２４にライトされる。時刻ｔ２〜時刻ｔ３の期間が、縦パリティライト期間Ｔ２である。この期間Ｔ２において、縦パリティデータが生成され、生成された縦パリティデータが、第１パリティメモリー２３０ならびに第２パリティメモリー２３２にライトされる。
【００７６】
また、時刻ｔ３〜時刻ｔ５の期間Ｔ３が、ライト後のデータ保持期間となる。このデータ保持期間Ｔ３において、静電気等によるデータ化けのチェックが実行される。この期間Ｔ３は、ライト後モニター期間ということもできる。
【００７７】
時刻ｔ５〜時刻ｔ７の期間Ｔ４がデータリード期間である。時刻ｔ５〜ｔ６の期間において、リードコマンドと、データＳＤＡならびに横パリティ（１Ｐ）が、メモリーセルアレイ２２４から読み出される。時刻ｔ６〜時刻ｔ７の期間Ｔ５は、リード時における正パリティデータ（第３パリティデータ）のライト期間となる。すなわち、この期間Ｔ５において、第３パリティデータ（正パリティデータ）が生成され、生成された第３パリティデータが、第１パリティメモリー２３０に上書きされる。
【００７８】
また、時刻ｔ７〜ｔ８の期間Ｔ６が、リード後モニター期間である。このリード後モニター期間Ｔ６において、データＳＤＡのリード期間中における、データ破壊の有無がチェックされる。
【００７９】
なお、データＳＤＡのリード期間中において、データ破壊が生じたことが検出されたとき、バッファメモリー２１０から読み出されたデータが、すでに次段のＣＳＩＣ３００に送信されている場合があり得る。この場合には、例えば、ＡＳＩＣ２００が、ＣＳＩＣ３００に対して、データエラーがあったことを示す報知信号を送信し、その報知信号によって、ＣＳＩＣ３００が受信したデータを破棄させればよい。
【００８０】
図７は、本実施形態のメモリー装置を採用したインク情報転送装置における動作を、従来例の動作と対比して示す図である。図７（Ａ）は比較例の動作を示し、図７（Ｂ）は本実施形態にかかるインク情報転送装置の動作を示す図である。インク情報転送装置（データ転送システム）は、図１に示したように、上位装置としてのＳＯＣ１００と、バッファメモリー２１０を有するメモリー装置（ＡＳＩＣ）２００と、インク情報記憶部としてのＣＳＩＣ３００と、によって構成される。
【００８１】
図７（Ａ）に示されるように、従来は、まず、ＡＳＩＣ２００へのデータのライトが実行される（ステップＳＴ１）。ＡＳＩＣ２００では、横パリティデータを用いた受信時のパリティチェックが実行される（ステップＳＴ２）。チェック結果がＮＧの場合は、第１カウントをインクリメントして、ステップＳＴ１に戻る。チェック結果がＯＫの場合には、ＡＳＩＣ２００から読み出されたデータがＣＳＩＣ３００に送られ、そのデータがＣＳＩＣ３００にライトされる（ステップＳＴ４）。ＣＳＩＣ３００では、横パリティを用いた受信時のパリティチェックが実行される（ステップＳＴ５）。チェック結果がＮＧの場合は、第２カウントをインクリメントして、ステップＳＴ４に戻る。第２カウントの値が許容範囲を超えると、第３カウントをインクリメントして（ステップＳＴ７）、ステップＳＴ１に戻る。
【００８２】
これに対して、図７（Ｂ）に示されるように、本実施形態にかかるインク情報転送装置では、まず、ＡＳＩＣ２００へのデータのライトが実行され（ステップＳＴ１）、ＡＳＩＣ２００では、横パリティデータを用いた受信時のパリティチェックが実行され（ステップＳＴ２）、チェック結果がＮＧの場合は、第１カウントをインクリメントして、ステップＳＴ１に戻る。チェック結果がＯＫの場合には、縦パリティデータを用いた、データ保持期間あるいはデータリード期間におけるパリティチェックが実行される（ステップＳＴ４）。チェック結果がＮＧの場合は、インクリメントして、ステップＳＴ１に戻って、ステップＳＴ１およびステップＳＴ２が再度、実行される（エラー回復のためのリトライ動作）。
【００８３】
ステップＳＴ４において、パリティチェックの結果がＯＫの場合は、ＡＳＩＣ２００から読み出されたデータがＣＳＩＣ３００に送られ、そのデータがＣＳＩＣ３００にライトされる（ステップＳＴ５）。ＣＳＩＣ３００では、横パリティを用いた受信時のパリティチェックが実行される（ステップＳＴ６）。チェック結果がＮＧの場合は、第２カウントをインクリメントし、次に、例えば、縦パリティデータを用いたパリティチェックの結果がＮＧであるか、ＯＫであるかを判定する（ステップＳＴ８）。ＯＫの場合は、ステップＳＴ５に戻り、ＮＧの場合は、ステップＳＴ１に戻る。
【００８４】
また、ステップＳＴ６におけるパリティチェックの結果がＯＫの場合は、縦パリティデータを用いたパリティチェックが実行される（ステップＳＴ９）。ステップＳＴ９におけるチェック結果がＮＧの場合は、ステップＳＴ１に戻る。なお、以上の動作例は、一例であり、この動作に限定されるものではない。
【００８５】
図８（Ａ）および図８（Ｂ）は、本実施形態にかかるインク情報転送装置の動作タイミングを、従来例の動作タイミングと比較して示す図である。ここでは、ＡＳＩＣ２００へのデータライト後、データ保持期間にて、静電気等によってデータの一部が破損した場合を想定する。
【００８６】
図８（Ａ）に示される従来例では、時刻ｔ５〜ｔ１０までの期間において、３回のリトライ処理が実行される。なお、この回数は、図７（Ａ）の動作フローに示される第２カウントによって管理される。３回目のリトライによってもデータエラーが解消しないため、時刻ｔ１１に、最上流の上位装置であるＳＯＣ１００からデータが再送され、そのデータのＡＳＩＣ２００へのライト動作が実行され、続いて、時刻ｔ１３において、ＡＳＩＣ２００から出力されたデータが、ＣＳＩＣ３００にライトされる。時刻ｔ１１〜ｔ１４におけるリトライ回数は、図７（Ａ）の動作フローに示される第３カウントによって管理される。結果的に、図８（Ａ）の従来例では、正しいデータがＡＳＩＣ２００にライトされるまでに、時刻ｔ１〜ｔ１４までの時間を要することになる。
【００８７】
これに対して、図８（Ｂ）に示される本実施形態にかかる例では、ＡＳＩＣ２００自体が、パリティチェック結果Ｃｈｋに基づいてデータ破壊を検出することができる。よって、時刻ｔ３において、ＡＳＩＣ２００に対する同一データの再書き込みが実行される。よって、図８（Ｂ）に示される本実施形態にかかる例では、正しいデータがＡＳＩＣ２００にライトされるまでの時間は、時刻ｔ１〜ｔ６までの時間となる。よって、従来例に比べて、データのエラー回復に要する時間が格段に短縮される。
【００８８】
（第２実施形態）
図９は、メモリー装置（ＡＳＩＣ）の他の例を示す図である。図９に示される例では、第１パリティデータを記憶する第１パリティメモリー（フリップフロップＦＦ１，ＦＦ３，ＦＦ５）および第２パリティデータを記憶する第２パリティメモリー（フリップフロップＦＦ２，ＦＦ４，ＦＦ６）が、データＳＤＡを格納するメモリーセルアレイ２２４とは別個に設けられている。
【００８９】
第１パリティメモリーならびに第２パリティメモリーは、少なくとも１個のフリップフロップによって構成することができる。例えば、複数のフリップフロップ（ＦＦ）の各々を、例えば、ＩＣチップ内で、２次元の広がりをもって分散させて配置する、あるいは、データ破壊が生じる可能性の程度に対応して分散させて配置する等の工夫をすれば、パリティメモリーの容量を縮小しつつ、データ破壊を検出できる可能性を高めることが可能である。
【００９０】
電源ライン（ＶＤＤ）に静電気やノイズが重畳されたとき、グランドラインの抵抗が高い箇所ほど、接地電位の浮き上がりが大きくなる。よって、その箇所にあるフリップフロップ（ＦＦ）のデータ化けが生じ易くなる。図９の例では、グランドラインには、抵抗Ｒ１，Ｒ２が介在している。よって、フリップフロップＦＦ１およびＦＦ２において、最もデータ化けが生じやすく、次に、フリップフロップＦＦ３およびＦＦ４において、データ化けが生じやすい。
【００９１】
パリティ比較部２３４は、例えば、データ保持期間において、ＦＦ１とＦＦ２のデータ値の比較、ＦＦ３とＦＦ４のデータ値の比較、ＦＦ５とＦＦ６のデータ値の比較を常時行う。そして、例えば、いずれか一つについて、データの一致が検出された場合には、チェック結果信号Ｃｈｋがアクティブレベルに変化する。なお、チェック結果信号Ｃｈｋは、エラー検出信号として利用することができる。
【００９２】
このように、本発明の少なくとも一つの実施形態によれば、バッファメモリーのデータ保持期間またはデータリード期間に発生する、静電気等に基づくデータ破壊に対するリカバリー期間を、従来例に比べて、格段に短縮することができる。
【００９３】
以上、いくつかの実施形態について説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるものである。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【符号の説明】
【００９４】
９  印刷用紙、１０ａ〜１０ｄ  インクカートリッジ、
２０ａ〜２０ｄ  ヘッド、２５  キャリッジ、２６  ガイド軸、３１  ホルダー、
３２  インクチューブ、１０４  制御部、１０６  判定部、１０８  レジスター、
１１０  インク消費量演算部、１１２  ヘッド駆動部、  １１４  表示部、
２１０  バッファメモリー、２１３  横パリティチェック部、
２２０  カラムデコーダー、
２２４  メモリーセルアレイ（メモリーセルアレイ領域）、
２２６  リード／ライト回路、２２６ａ  ライト回路、２２６ｂ  リード回路、
２２８  パリティ生成回路、２２９  加算器、２３０  第１パリティメモリー、
２３１  レジスター、２３２  第２パリティメモリー、
２３４  パリティ比較部、３００  インク情報記憶部、
３１０  不揮発性メモリー
【図１】
2012033090.tif 000003
【図２】
2012033090.tif 000004
【図３】
2012033090.tif 000005
【図４】
2012033090.tif 000006
【図５】
2012033090.tif 000007
【図６】
2012033090.tif 000008
【図７】
2012033090.tif 000009
【図８】
2012033090.tif 000010
【図９】
2012033090.tif 000011