記憶装置、回路基板、液体容器及びシステム
【課題】記憶されたデータにエラーが生じた場合でも、正しいデータを書き込むことができる記憶装置、回路基板、液体容器及びシステム等を提供すること。
【解決手段】記憶装置100は、ホスト装置400との通信処理を行う通信部110と、ホスト装置400からの受信データ及びメモリー領域選択情報を記憶する、第1、第2のメモリー領域MA1、MA2とを有する記憶部120と、第1、第2のメモリー領域MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行うメモリー制御部130と、メモリー制御部130により読み出し用メモリー領域から読み出されたデータの値と受信データの値との大小関係を比較するインクリメント判断部140とを含む。
【解決手段】記憶装置100は、ホスト装置400との通信処理を行う通信部110と、ホスト装置400からの受信データ及びメモリー領域選択情報を記憶する、第1、第2のメモリー領域MA1、MA2とを有する記憶部120と、第1、第2のメモリー領域MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行うメモリー制御部130と、メモリー制御部130により読み出し用メモリー領域から読み出されたデータの値と受信データの値との大小関係を比較するインクリメント判断部140とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶装置、回路基板、液体容器及びシステム等に関する。
【背景技術】
【0002】
インクジェット方式のプリンターで用いられるインクカートリッジ(液体容器)には、記憶装置が設けられているものがある。この記憶装置には、例えばインクの色やインク消費量などの情報が格納される。インク消費量に関するデータは、プリンター本体(ホスト装置)から記憶装置に送信され、記憶装置に含まれる不揮発性メモリーなどに書き込まれる。ところがインクカートリッジは、通常交換可能な構造になっているために、電気的接続部分の接触不良が生じ易く、接触不良による通信エラーなどが発生すると、誤ったデータが書き込まれるおそれがある。
【0003】
この問題に対して例えば特許文献1には、書き込みデータが有する増減特性に反する値の書き込みを制限する手法が開示されている。しかしながらこの手法では、メモリーエラーなどにより過大な値(又は過小な値)が書き込まれた場合には、次のアクセス時に正しい値を書き込むことができなくなるなどの問題がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】WO2006/129779号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の幾つかの態様によれば、記憶されたデータにエラーが生じた場合でも、正しいデータを書き込むことができる記憶装置、回路基板、液体容器及びシステム等を提供できる。
【課題を解決するための手段】
【0006】
本発明の一態様は、ホスト装置との通信処理を行う通信部と、前記ホスト装置からの受信データ及びメモリー領域選択情報を記憶する、第1のメモリー領域と第2のメモリー領域とを有する記憶部と、前記第1のメモリー領域及び前記第2のメモリー領域のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行うメモリー制御部と、前記メモリー制御部により前記読み出し用メモリー領域から読み出されたデータの値と前記受信データの値との大小関係を比較するインクリメント判断部とを含み、前記メモリー制御部は、前記インクリメント判断部の判断結果に基づいて、前記受信データを前記書き込み用メモリー領域に書き込み、或いは非書き込みとする記憶装置に関係する。
【0007】
本発明の一態様によれば、読み出し用メモリー領域から読み出されたデータの値と受信データの値との大小関係を比較して、書き込みの可否を判断することができる。こうすることで、例えばインク消費量など値が単調に増加するデータを記憶する場合に、誤ったデータが書き込まれることなどを低減できる。その結果、記憶装置の信頼性を高めることなどが可能になる。
【0008】
また本発明の一態様では、前記第1のメモリー領域及び前記第2のメモリー領域に書き込まれたデータのエラーの有無を検査するエラー検査部を含み、前記エラー検査部により前記エラーが非検出である場合には、前記メモリー制御部は、前記メモリー領域選択情報に基づいて、前記読み出し用メモリー領域及び前記書き込み用メモリー領域を選択し、前記エラー検査部により前記エラーが検出された場合には、前記メモリー制御部は、前記第1のメモリー領域及び前記第2のメモリー領域のうち、前記エラーが検出された方を前記書き込み用メモリー領域として選択し、前記エラーが非検出である方を前記読み出し用メモリー領域として選択してもよい。
【0009】
このようにすれば、2つのメモリー領域のどちらか一方にエラーが検出された場合に、エラー非検出の方からデータを読み出して、その読み出しデータと受信した新しいデータとを比較してインクリメント条件を満たすか否か判断し、新しいデータをエラー検出された方に書き込むことができる。こうすることで、記憶されたデータの値がメモリーエラーなどによって過大な値になった場合などでも、次のアクセス時には正しいデータを書き込むことができる。その結果、記憶装置の信頼性を高めることなどが可能になる。
【0010】
また本発明の一態様では、前記メモリー制御部が前記受信データを前記書き込み用メモリー領域へ書き込む際には、前記メモリー領域選択情報を書き換えてもよい。
【0011】
このようにすれば、正しいデータが書き込まれたメモリー領域が、次のアクセス時に読み出し用メモリー領域として選択されるように、メモリー領域選択情報を設定することができる。こうすることで、次のアクセス時に正しいデータを読み出すことができる。その結果、記憶装置の信頼性を高めることなどが可能になる。
【0012】
また本発明の一態様では、前記第1のメモリー領域及び前記第2のメモリー領域の両方に前記エラーが検出された場合には、前記通信部は、前記ホスト装置に対してエラー通知を送信してもよい。
【0013】
このようにすれば、ホスト装置は、2つのメモリー領域の両方にエラーが検出されたことを認識することができる。その結果、ホスト装置は適切な処理を行うことができるから、システムの信頼性を高めることなどが可能になる。
【0014】
また本発明の一態様では、前記ホスト装置からの前記受信データの書き込み処理が完了した場合には、前記通信部は、前記ホスト装置に対して完了通知を送信してもよい。
【0015】
このようにすれば、ホスト装置は、受信データの書き込み処理が完了したことを認識することができるから、例えば次のブロックの書き込みデータを送信する処理を行うことができる。また、完了通知が送信されない場合には、ホスト装置は、例えば書き込みデータを再送信するなどの適切な処理を行うことができる。その結果、システムの信頼性を高めることなどが可能になる。
【0016】
本発明の他の態様は、上記いずれかに記載の記憶装置を含む回路基板に関係する。
【0017】
本発明の他の態様は、上記いずれかに記載の記憶装置を含む液体容器に関係する。
【0018】
本発明の他の態様は、上記いずれかに記載の記憶装置と、前記ホスト装置とを含むシステムに関係する。
【図面の簡単な説明】
【0019】
【図1】記憶装置の基本的な構成例。
【図2】図2(A)、図2(B)は、第1、第2のメモリー領域の詳細な構成例。
【図3】図3(A)〜図3(C)は、メモリー制御部によるメモリー領域選択を説明する図。
【図4】データ書き込み時のホスト装置側の制御を説明するフローチャートの一例。
【図5】データ書き込み時の記憶装置側の制御を説明するフローチャートの一例。
【図6】メモリー領域選択の詳細なフローチャート。
【図7】データ書き込みの詳細なフローチャート。
【図8】データ読み出し時のホスト装置側の制御を説明するフローチャートの一例。
【図9】データ読み出し時の記憶装置側の制御を説明するフローチャートの一例。
【図10】メモリー領域選択の詳細なフローチャート。
【図11】データ書き込み処理のタイミングチャートの一例。
【図12】データ読み出し処理のタイミングチャートの一例。
【図13】システムの基本的な構成例。
【図14】液体容器の詳細な構成例。
【図15】図15(A)、図15(B)は、回路基板の詳細な構成例。
【発明を実施するための形態】
【0020】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0021】
1.記憶装置
図1に本実施形態の記憶装置100の基本的な構成例を示す。本実施形態の記憶装置100は、通信部110、記憶部120、メモリー制御部130、インクリメント判断部140、エラー検査部150、発振回路OSC及びパワーオンリセット回路PORを含む。なお、本実施形態の記憶装置100は、図1の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0022】
本実施形態の記憶装置100は、例えばインクジェット方式のプリンターで用いられるインクカートリッジ(液体容器)に設けられる記憶装置であって、プリンター本体(ホスト装置)から送信されたインク消費量などの情報が格納される。インクカートリッジ(液体容器)は、通常交換可能な構造になっているために、プリンター本体と記憶装置とを接続する電気的接続部分の接触不良が生じ易い。そのためにデータ信号端子の接触不良による通信エラーや、書き込み時の電源端子の接触不良による書き込みエラーなどが発生するおそれがある。本実施形態の記憶装置100によれば、後述するように、これらのエラーが生じた場合でも正しいデータを書き込むことができる。
【0023】
通信部110は、通信エラー検出部CERを含み、ホスト装置400との通信処理を行う。具体的には、通信部110は、ホスト装置400が有するホスト通信部420との間でデータ信号SDAの送受信を行う。また、通信部110は、ホスト装置400からのリセット信号XRST及びクロック信号SCKを受信する。通信エラー検出部CERは、受信したデータの通信エラーの有無を検出する。この通信エラーの検出は、例えばパリティチェック等の手法を用いることができる。
【0024】
記憶部120は、例えばフラッシュメモリーや強誘電体メモリー等の不揮発性メモリーであって、第1、第2のメモリー領域MA1、MA2を含む。第1、第2のメモリー領域MA1、MA2は、ホスト装置400からの受信データ及びメモリー領域選択情報ASBをそれぞれ記憶する。この受信データは、例えばプリンターのインクカートリッジのインク消費量などである。なお、第1、第2のメモリー領域MA1、MA2の詳細な構成及びメモリー領域選択情報については後述する。
【0025】
メモリー制御部130は、メモリー領域選択部ASELを含み、第1、第2のメモリー領域MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行う。具体的には、メモリー領域選択部ASELが、エラー検査部150の検査結果及び後述するメモリー領域選択情報に基づいて、MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択する。また、メモリー制御部130は、メモリー領域選択情報生成部ASBGを含む。このメモリー領域選択情報生成部ASBGは、書き込み用メモリー領域にデータを書き込む際に、メモリー領域選択情報ASBを更新する処理を行う。なお、メモリー領域選択情報ASBの詳細については後述する。
【0026】
後述するように、本実施形態の記憶装置100によれば、2つのメモリー領域MA1、MA2を選択的に用いることで、どちらか一方のメモリー領域のデータにエラーが生じた場合であっても、ホスト装置400から受信した正常なデータを書き込むことができる。その結果、例えばプリンターのインクカートリッジ(液体容器)のインク消費量(又は残量)を記憶する記憶装置において、記憶されたデータに異常がある場合でも、ホスト装置400から受信した正しいインク消費量(残量)を書き込むことができる。
【0027】
インクリメント判断部140は、メモリー制御部130により読み出し用メモリー領域から読み出されたデータの値と受信データの値との大小関係を比較する。メモリー制御部130は、インクリメント判断部140の判断結果に基づいて、受信データを書き込み用メモリー領域に書き込み、或いは非書き込みとする。このインクリメント判断部140は、2つのデータの値の大小関係を比較して、インクリメント条件或いはデクリメント条件を満足するか否かを判断するものである。すなわち、インクリメント判断部140による判断は、インクリメント条件の判断だけでなく、デクリメント条件の判断も含まれる。インクリメント条件とは、新しく書き込まれるデータの値が、前回のアクセス時に書き込まれた値と等しいか又はそれより大きい値でなければならないとする条件である。またデクリメント条件とは、新しく書き込まれるデータの値が、前回のアクセス時に書き込まれた値と等しいか又はそれより小さい値でなければならないとする条件である。
【0028】
こうすることで、インクリメント条件(又はデクリメント条件)を満たすデータだけを書き込むことができる。例えば値が単調に増加するデータ(インクの消費量など)を記憶する記憶装置では、受信データの値が前に書き込まれた値以上である場合に書き込みを行い、受信データの値が前に書き込まれた値より小さい値である場合には書き込みを行わないことができる。また反対に、値が単調に減少するデータ(インクの残量など)を記憶する記憶装置では、受信データの値が前に書き込まれた値以下である場合に書き込みを行い、受信データの値が前に書き込まれた値より大きい値である場合には書き込みを行わないことができる。その結果、通信エラーが生じた場合などに、誤ったデータが書き込まれることを低減できる。
【0029】
エラー検査部150は、第1、第2のメモリー領域MA1、MA2に書き込まれたデータのエラーの有無を検査する。このエラーの検出は、例えばパリティチェックやチェックサムなどの手法を用いることができる。このエラー検査部150の検査結果とメモリー領域選択情報ASBとに基づいて、メモリー制御部130は、MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択する。なお、メモリー領域を選択する手法については後述する。
【0030】
発振回路OSCは、記憶装置100の内部クロックを生成する。また、パワーオンリセット回路PORは、記憶装置100の電源電圧が所定の電圧に到達した後にリセットを解除するためのものである。
【0031】
ホスト装置400は、例えばプリンター本体などであって、ホスト制御部410、ホスト通信部420を含む。ホスト制御部410は、例えばプリンターの印刷処理、記憶装置との通信処理、インク消費量のカウント処理などの制御を行う。ホスト通信部420は、記憶装置100との通信処理を行う。また、ホスト装置400は、記憶装置100に対して第1の電源(低電位電源)VSS及び第2の電源(高電位電源)VDDを供給する。
【0032】
図2(A)、図2(B)に、第1、第2のメモリー領域MA1、MA2の詳細な構成例を示す。図2(A)の構成例では、MA1、MA2共に32ブロック×18ビットの構成であって、各ブロックは、16ビットのデータD[15:0]、1ビットのメモリー領域選択情報ASB、1ビットのエラー検査用ビット(パリティビット)を含む。エラー検査部150が、パリティチェックによるエラー検出をする時には、エラー検査用ビットは、各ブロックの1の個数が常に偶数若しくは奇数となるように付加されるビットである。また、図2(B)の構成例では、MA1、MA2共に32ブロック×17ビットの構成であって、各ブロックは、15ビットのデータD[15:1]、1ビットのメモリー領域選択情報ASB、1ビットのエラー検査用ビット(パリティビット)を含む。なお、本実施形態のメモリー領域MA1、MA2は図2の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0033】
ホスト装置400と記憶装置100との間の通信はブロック単位で行われ、MA1又はMA2の書き込み・読み出しもブロック単位で行われる。また、メモリー制御部130によるメモリー領域の選択及びエラー検査部150によるエラー検出もブロック単位で行われる。従って、メモリー領域選択情報ASBはブロック毎に設定され、例えば第1のブロックBLK1の第1のメモリー領域MA1には、メモリー領域選択情報ASB1−1が書き込まれ、第1のブロックBLK1の第2のメモリー領域MA2には、メモリー領域選択情報ASB1−2が書き込まれる。
【0034】
図3(A)〜図3(C)は、メモリー制御部130によるメモリー領域選択を説明する図である。メモリー領域選択を実行する前に、エラー検査部150は、第1、第2のメモリー領域MA1、MA2の各ブロックについて、検査用ビットを用いて、各ブロックのデータとメモリー領域選択情報にエラーがないかどうかを検出する。メモリー制御部130は、エラー検査部150のエラー検出結果に基づいて、図3(A)に示すように、書き込み用メモリー領域と読み出し用メモリー領域を選択する。すなわち第1、第2のメモリー領域MA1、MA2の両方がエラー非検出(OK)である場合には、メモリー領域選択情報ASBに基づいて、書き込み用及び読み出し用メモリー領域を選択する。MA1、MA2のいずれか一方がエラー検出され(NG)、他方がエラー非検出(OK)である場合には、エラーが検出された方を書き込み用として選択し、エラーが非検出である方を読み出し用として選択する。MA1、MA2の両方がエラー検出(NG)である場合には、書き込み用及び読み出し用メモリー領域のどちらも選択しない。
【0035】
図3(B)は、メモリー領域選択情報ASBに基づくメモリー領域選択を説明する図である。図3(A)で説明したように、MA1、MA2の両方がエラー非検出(OK)である場合には、図3(B)に示すように、メモリー領域選択情報ASB−1、ASB−2に従って、書き込み用及び読み出し用メモリー領域が選択される。なお、メモリー領域選択情報は、図2(A)、図2(B)に示したようにブロック毎に書き込まれるから、ASB1−1、ASB1−2のようにブロックを区別して表記すべきであるが、メモリー領域の選択は同一ブロック内で行われるから、特にブロックを区別する必要がない場合にはASB−1、ASB−2のように表記する。
【0036】
例えばASB−1が0、ASB−2が0の場合には、メモリー制御部130は、MA2に記憶されたデータを読み出し、MA1にホスト装置400から受信した新しいデータを書き込む。MA1に新しいデータを書き込む際に、MA1のメモリー領域選択情報ASB−1を0から1に書き換える。こうすれば次に新しいデータを書き込む時には、ASB−1が1、ASB−2が0になっているから、メモリー制御部130は、MA1に記憶されたデータを読み出し、MA2に新しいデータを書き込む。MA2に新しいデータを書き込む際に、MA2のメモリー領域選択情報ASB−2を0から1に書き換える。次に新しいデータを書き込む時には、ASB−1が1、ASB−2が1になっているから、メモリー制御部130は、MA2に記憶されたデータを読み出し、MA1に新しいデータを書き込む。MA1に新しいデータを書き込む際に、MA1のメモリー領域選択情報ASB−1を1から0に書き換える。
【0037】
このように図3(B)に示す選択規則に従うことで、MA1、MA2を交互に選択して書き込み・読み出しを行うことができる。そしてインクリメント判断部140が、読み出されたデータの値と新たに書き込まれるデータの値との大小関係を比較することで、インクリメント条件を満たさないデータの書き込みを防止できる。
【0038】
次に、MA1、MA2のいずれか一方にエラーが検出され、他方がエラー非検出である場合を説明する。この場合には、図3(A)で説明したように、エラーが検出された方に新しいデータを書き込む。例えばMA1がエラー非検出、MA2がエラー検出である場合は、MA1からデータを読み出して、読み出されたデータの値と新たに書き込まれるデータの値との大小関係を比較してインクリメント条件を満足すれば、MA2に新しいデータを書き込む。
【0039】
ここでMA2に新しいデータを書き込む際に、MA2のメモリー領域選択情報ASB−2を書き換える場合と書き換えない場合とがある。図3(C)に示すように、ASB−1が1、ASB−2が0である場合には、ASB−2を1に書き換える。またASB−1が0、ASB−2が1である場合には、ASB−2を0に書き換える。これ以外の場合ではASB−2を書き換えない。このようにすることで、MA2にデータを書き込んだ後のメモリー領域選択情報は、ASB−1が0、ASB−2が0であるか、或いはASB−1が1、ASB−2が1である。従って、図3(B)の選択規則により、次のメモリーアクセス時には、MA2からデータを読み出して、MA1に新しいデータを書き込むことができる。
【0040】
また例えばMA1がエラー検出、MA2がエラー非検出である場合には、MA2からデータを読み出して、読み出されたデータの値と新たに書き込まれるデータの値との大小関係を比較してインクリメント条件を満足すれば、MA1に新しいデータを書き込む。この書き込みの際に、図3(C)に示すようにASB−1を設定することで、次回のメモリーアクセス時には、図3(B)の選択規則により、MA1からデータを読み出して、MA2に新しいデータを書き込むことができる。
【0041】
以上説明したように、本実施形態の記憶装置100によれば、2つのメモリー領域MA1、MA2のどちらか一方にエラーが検出された場合に、エラー非検出の方からデータを読み出して、その読み出しデータと新しいデータ(受信データ)とを比較してインクリメント条件を満たすか否か判断して、新しいデータをエラー検出された方に書き込むことができる。こうすることで、記憶されたデータの値(例えばインク消費量など)がメモリーエラーによって過大な値などになった場合でも、次のアクセス時には正しいデータを書き込むことができる。その結果、プリンターのインクカートリッジ等に適用した場合に、インクが残っているのにもかかわらず使用できないなどの不具合を低減することができる。
【0042】
例えばフラッシュメモリー等では、書き込み動作中に電源が遮断されると、書き込み対象のビットが全て1又は0に設定されることがある。この場合でも、本実施形態の記憶装置100によれば、次のアクセス時には正しいデータを書き込むことができる。
【0043】
なお、2つのメモリー領域の両方にエラーが検出された場合には、正しいデータを書き込むことができなくなる。しかし、両方のメモリー領域にエラーが検出される確率は十分に低いから、実用上問題はないと考えられる。
【0044】
本実施形態の構成をとらない記憶装置では、例えばインク消費量など値が単調に増加するデータを記憶する場合に、インクリメント条件を満たすか否かを判断することで、誤ったデータ(過小な値のデータ)の書き込みを防止することはできる。しかし、メモリーエラーにより記憶されたデータが過大な値に変化した場合には、次に正しい値のデータを書き込むことができなくなる。その結果、インクが残っているのにもかかわらず使用できないなどの不具合が発生するおそれがある。
【0045】
2.制御フロー
図4は、データ書き込み時のホスト装置400側の制御を説明するフローチャートの一例である。ホスト装置400は、始めにID情報を送信する(ステップS1)。このID情報は、複数の記憶装置が接続されている場合に、記憶装置を識別するための情報である。次に、データ書き込みコマンドを送信し(ステップS2)、続いて書き込みデータを送信する(ステップS3)。書き込みデータの送信はブロック単位で行われ、正常に書き込みが行われると記憶装置100は完了通知を送信する。ホスト装置400は、この完了通知の有無を判断し(ステップS4)、完了通知有りと判断した場合は、さらに必要なデータの送信が終了したか否かを判断する(ステップS5)。終了していない場合は、ステップS3に戻って次のブロックのデータを送信する。そして必要なデータの送信が終了すれば、書き込み処理を終了する。一方、ステップS4の判断において、完了通知無しと判断した場合は、ステップS1に戻って再度書き込み処理を実行する。
【0046】
図5は、データ書き込み時の記憶装置100側の制御を説明するフローチャートの一例である。始めに記憶装置100の通信部110がID情報を受信し(ステップS6)、通信エラー検出部CERが通信エラーの有無を判断する(ステップS7)。通信エラーが無ければ、通信部110は、受信したID情報と記憶装置が予め有するID情報とが一致するか否かを判断し(ステップS8)、一致する場合にはコマンドを受信する(ステップS9)。次に通信エラー検出部CERが通信エラーの有無を判断し(ステップS10)、通信エラーが無ければ、通信部110が、受信したコマンドがデータ書き込みコマンドであるか否かを判断する(ステップS11)。データ書き込みコマンドである場合には、通信部110が書き込みデータを受信し(ステップS12)、データ書き込みコマンドでない場合には、そのコマンドを実行するフローに分岐する。
【0047】
書き込みデータの受信後、通信エラー検出部CERが通信エラーの有無を判断し(ステップS13)、通信エラーが無ければ、エラー検査部150がメモリーエラーの検査を行う(ステップS14)。この検査でメモリー領域MA1、MA2の両方又はいずれか一方がエラー非検出であれば、メモリー領域選択部ASELがメモリー領域の選択を行う(ステップS15)。一方、メモリー領域MA1、MA2の両方にエラーが検出された場合には、完了通知を送信することなく書き込み処理を終了する。
【0048】
図6は、メモリー領域選択部ASELによるメモリー領域選択(ステップS13)のフローを詳細に示したものである。始めにエラー非検出のメモリー領域の数により、場合分けする(ステップS20)。エラー非検出のメモリー領域が2つある場合には、メモリー領域選択情報ASB−1、ASB−2を確認し(ステップS21)、図3(B)の選択規則に従って、書き込み用及び読み出し用メモリー領域を選択する(ステップS22)。またエラー非検出のメモリー領域が1つだけの場合には、図3(A)に示したように、エラー検出されたメモリー領域を書き込み用に、エラー非検出のメモリー領域を読み出し用に選択する(ステップS23)。メモリー領域の選択後、データ書き込みを行う(ステップS16)。
【0049】
図7は、インクリメント判断部140及びメモリー制御部130によるデータ書き込み(ステップS16)のフローをより詳細に示したものである。始めにインクリメント設定がされているか否かを判断する(ステップS24)。インクリメント設定がされている場合には、インクリメント判断部140が書き込みデータの値と読み出しデータの値を比較してインクリメント条件を満足するか否かを判断する(ステップS27)。条件を満足する場合には、メモリー領域選択情報生成部ASBGがメモリー領域選択情報ASB−1(又はASB−2)を生成し(ステップS25)、メモリー制御部130が書き込みデータ及びASB−1(又はASB−2)を書き込み用に選択したメモリー領域に書き込む(ステップS26)。一方、インクリメント条件を満足しない場合には、データを書き込まない(ステップS28)。
【0050】
書き込みが正常に終了した場合は(ステップS17)、通信部110がホスト装置400に対して完了通知を送信する(ステップS18)。この完了通知は、例えばデータ信号SDAとしてHレベル(高電位レベル)を出力することで送信する。そしてホスト装置400からのクロック信号SCKが入力されている場合は(ステップS19)、ステップS12に戻って次のブロックの書き込みデータを受信する。一方、クロック信号SCKが入力されない場合は、必要な全てのブロックについてデータの書き込みが終了したものと判断して(ステップS19)、処理を終了する。なお、書き込みが正常に行われなかった場合には(ステップS17)、完了通知を送信することなく処理を終了する。
【0051】
図8は、データ読み出し時のホスト装置400側の制御を説明するフローチャートの一例である。ホスト装置400は、始めにID情報を送信する(ステップS29)。次に、データ読み出しコマンドを送信し(ステップS30)、続いて読み出しデータを受信する(ステップS31)。読み出しデータの受信も、書き込みデータと同様に、ブロック単位で行われる。そして受信したデータのエラーの有無を判断し(ステップS32)、エラーが無ければ、必要な全てのデータの受信が終了したか否かを判断する(ステップS33)。終了していない場合は、ステップS31に戻って次のブロックのデータを受信する。必要な全てのデータの受信が終了すれば、書き込み処理を終了する。一方、受信データにエラーが有る場合は、ステップS29に戻って再度読み出し処理を実行する。このエラーには、通信エラー及び記憶装置100から送信されるエラーコード(エラー通知)が含まれる。
【0052】
図9は、データ読み出し時の記憶装置100側の制御を説明するフローチャートの一例である。始めに記憶装置100の通信部110がID情報を受信し(ステップS34)、通信エラー検出部CERが通信エラーの有無を判断する(ステップS35)。通信エラーが無ければ、通信部110は、受信したID情報と記憶装置が予め有するID情報とが一致するか否かを判断し(ステップS36)、一致する場合にはコマンドを受信する(ステップS37)。次に通信エラー検出部CERが通信エラーの有無を判断し(ステップS38)、通信エラーが無ければ、通信部110が、受信したコマンドがデータ読み出しコマンドであるか否かを判断する(ステップS39)。データ読み出しコマンドである場合には、メモリー制御部130がメモリー領域MA1、MA2からデータを読み出して、エラー検査部150がエラーの有無を判断する(ステップS40)。データ読み出しコマンドでない場合には、そのコマンドを実行するフローに分岐する。
【0053】
メモリー領域MA1、MA2の両方又はいずれか一方がエラー非検出であれば、メモリー領域選択部ASELがメモリー領域の選択を行う(ステップS41)。一方、メモリー領域MA1、MA2の両方にエラーが検出された場合には、通信部110がエラーコード(エラー通知)を送信して処理を終了する。
【0054】
図10は、メモリー領域選択部ASELによるメモリー領域選択(ステップS41)のフローをより詳細に示したものである。始めにエラー非検出のメモリー領域の数により、場合分けする(ステップS44)。エラー非検出のメモリー領域が2つある場合には、メモリー領域選択情報ASB−1、ASB−2を確認し(ステップS45)、図3(B)の選択規則に従って、読み出し用メモリー領域を選択する(ステップS46)。またエラー非検出のメモリー領域が1つだけの場合には、図3(A)に示したように、エラー非検出のメモリー領域を読み出し用に選択する(ステップS47)。
【0055】
メモリー領域の選択後に、読み出し用メモリー領域から読み出したデータを通信部110がホスト装置400に送信する(ステップS42)。そして読み出しデータの送信後にホスト装置400からのクロック信号SCKが入力されている場合は(ステップS43)、ステップS40に戻って次のブロックの読み出しデータを送信する。一方、クロック信号SCKが入力されない場合は、必要な全てのブロックについてデータの読み出しが終了したものと判断して(ステップS43)、処理を終了する。
【0056】
図11は、データ書き込み処理のタイミングチャートの一例である。リセット信号XRSTがHレベルになることで、記憶装置100のリセット状態が解除される。そしてクロック信号SCKに同期して、ホスト装置400から記憶装置100に対してデータ信号SDAが送信される。具体的には、始めにオペレーションコードOPCが送信され、次に第1のブロックの書き込みデータWD1が送信される。このオペレーションコードOPCは、例えばID情報及び書き込みコマンドを含む。
【0057】
記憶装置100は、第1のブロックの書き込みデータWD1を受信した後、図11のTWの期間に、図5〜図7に示したフローに従ってメモリー領域MA1(又はMA2)にデータを書き込む。そして書き込みが完了すると、完了通知をホスト装置400に対して送信する。具体的には、図11のA1に示すように、データ信号SDAをHレベルに設定することで完了通知を送信する。次に第2のブロックの書き込みデータWD2を受信して、TWの期間にWD2をメモリー領域に書き込み、書き込み完了後に完了通知を送信する(図11のA2)。続いて第3のブロックの書き込みデータWD3を受信し、同様に書き込み処理を行う。
【0058】
図12は、データ読み出し処理のタイミングチャートの一例である。リセット信号XRSTがHレベルになることで、記憶装置100のリセット状態が解除される。そしてホスト装置400から記憶装置100に対してオペレーションコードOPCが送信される。このオペレーションコードOPCは、例えばID情報及び読み出しコマンドを含む。
【0059】
記憶装置100は、オペレーションコードOPCを受信すると、図12のTRの期間に図9、図10に示したフローに従ってメモリー領域から第1のブロックのデータを読み出す。そしてホスト装置400に対して第1のブロックの読み出しデータRD1を送信する。続いて第2のブロックの読み出しデータRD2を送信する。RD1を送信している期間に第2のブロックのデータRD2をメモリー領域から読み出すことができるから、RD1の送信後に続けてRD2を送信することができる。同様にして、第3のブロックの読み出しデータRD3を送信する。
【0060】
3.システム、液体容器及び回路基板
図13に本実施形態のシステムの基本的な構成例を示す。本実施形態のシステムは、例えばインクジェット方式のプリンターなどであって、第1の記憶装置100−1〜第n(nは2以上の整数)の記憶装置100−n、記憶装置が実装されるn個の回路基板200−1〜200−n、回路基板を備えるn個の液体容器300−1〜300−n及びホスト装置400を含む。なお、本実施形態のシステムは図13の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0061】
以下では、ホスト装置400がインクジェット方式のプリンターであり、液体容器300がインクカートリッジであり、回路基板200がインクカートリッジに設けられた回路基板である場合を例に説明する。但し、本実施形態では、ホスト装置、液体容器、基板は、他の装置、容器、基板であってもよい。例えば、ホスト装置はメモリーカードのリーダー/ライターであってもよく、基板はメモリーカードに設けられた回路基板であってもよい。
【0062】
第1の記憶装置100−1〜第nの記憶装置100−nは、それぞれリセット端子XRST、クロック端子SCK、データ端子SDA、第1の電源端子VSS及び第2の電源端子VDDを含む。これらn個の記憶装置100−1〜100−nの各々は、記憶部(例えば不揮発性メモリー等)を含み、それぞれの記憶部にはn個の液体容器(例えばインクカートリッジ等)300−1〜300−nを識別するためのID(Identification)情報(例えばID=1、ID=2、ID=3など)が記憶されている。IDは、液体容器が収容する液体の色などの種類毎に異なるものが付与される。
【0063】
ホスト装置400は、例えばプリンター本体などであって、ホスト側リセット端子HRST、ホスト側クロック端子HCK、ホスト側データ端子HDA、第1のホスト側電源端子HVSS及び第2のホスト側電源端子HVDDを含む。
【0064】
上述したように、本実施形態のシステムによれば、記憶装置に記憶されたインク消費量(又はインク残量)などのデータがメモリーエラーにより過大な値(又は過小な値)になった場合でも、次のアクセス時には正しいデータを書き込むことができる。その結果、プリンターのインクカートリッジ等に適用した場合に、インクが残っているのにもかかわらず使用できないなどの不具合を低減することができる。
【0065】
図14に、本実施形態の液体容器(インクカートリッジ)300の詳細な構成例を示す。液体容器300の内部には、インクを収容するための図示しないインク室が形成される。また、液体容器300には、インク室に連通するインク供給口340が設けられる。このインク供給口340は、液体容器300がプリンターに装着された時に、印刷ヘッドユニットにインクを供給するためのものである。
【0066】
液体容器300は、回路基板200を含む。回路基板200には、本実施形態の記憶装置100が設けられ、インク消費量などのデータの記憶やホスト装置400とのデータ送受信を行う。回路基板200は、例えばプリント基板により実現され、液体容器300の表面に設けられる。回路基板200には、第2の電源端子VDD等の端子が設けられる。そして、液体容器300がプリンターに装着された時に、それらの端子とプリンター側の端子が接触(電気的に接続)することで、電源やデータのやり取りが行われる。
【0067】
図15(A)、図15(B)に、本実施形態の記憶装置100が設けられた回路基板200の詳細な構成例を示す。図15(A)に示すように、回路基板200の表面(プリンターと接続される面)には、複数の端子を有する端子群が設けられる。この端子群は、第1の電源端子VSS、第2の電源端子VDD、リセット端子XRST、クロック端子SCK、データ端子SDAを含む。各端子は、例えば矩形状(略矩形状)に形成された金属端子により実現される。そして、各端子は、回路基板200に設けられた図示しない配線パターン層やスルーホールを介して、記憶装置100に接続される。
【0068】
図15(B)に示すように、回路基板200の裏面(プリンターと接続される面の裏側の面)には、本実施形態の記憶装置100が設けられる。記憶装置100は、例えば、フラッシュメモリーや強誘電体メモリー等を有する半導体記憶装置により実現できる。この記憶装置100には、インク又は液体容器300に関連する種々のデータが格納され、例えば、液体容器300を識別するためのID情報やインクの消費量等のデータが格納される。インク消費量のデータは、液体容器300内に収容されたインクについて、印刷の実行等に伴い消費されるインク量の累計を示すデータである。このインク消費量のデータは、液体容器300内のインク量を示す情報であってもよく、消費したインク量の割合を示す情報であってもよい。
【0069】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また記憶装置、回路基板、液体容器及びシステムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0070】
100 記憶装置、110 通信部、120 記憶部、130 メモリー制御部、
140 インクリメント判断部、150 エラー検査部、200 基板、
300 液体容器、340 インク供給口、400 ホスト装置、
410 ホスト制御部、420 ホスト通信部、
CER 通信エラー検出部、ASB、ASB−1、ASB−2 メモリー領域選択情報、ASEL メモリー領域選択部、ASBG メモリー領域選択情報生成部、
MA1、MA2 第1、第2のメモリー領域、SCK クロック信号、
SDA データ信号、VDD 第2の電源、VSS 第1の電源、
XRST リセット信号
【技術分野】
【0001】
本発明は、記憶装置、回路基板、液体容器及びシステム等に関する。
【背景技術】
【0002】
インクジェット方式のプリンターで用いられるインクカートリッジ(液体容器)には、記憶装置が設けられているものがある。この記憶装置には、例えばインクの色やインク消費量などの情報が格納される。インク消費量に関するデータは、プリンター本体(ホスト装置)から記憶装置に送信され、記憶装置に含まれる不揮発性メモリーなどに書き込まれる。ところがインクカートリッジは、通常交換可能な構造になっているために、電気的接続部分の接触不良が生じ易く、接触不良による通信エラーなどが発生すると、誤ったデータが書き込まれるおそれがある。
【0003】
この問題に対して例えば特許文献1には、書き込みデータが有する増減特性に反する値の書き込みを制限する手法が開示されている。しかしながらこの手法では、メモリーエラーなどにより過大な値(又は過小な値)が書き込まれた場合には、次のアクセス時に正しい値を書き込むことができなくなるなどの問題がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】WO2006/129779号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の幾つかの態様によれば、記憶されたデータにエラーが生じた場合でも、正しいデータを書き込むことができる記憶装置、回路基板、液体容器及びシステム等を提供できる。
【課題を解決するための手段】
【0006】
本発明の一態様は、ホスト装置との通信処理を行う通信部と、前記ホスト装置からの受信データ及びメモリー領域選択情報を記憶する、第1のメモリー領域と第2のメモリー領域とを有する記憶部と、前記第1のメモリー領域及び前記第2のメモリー領域のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行うメモリー制御部と、前記メモリー制御部により前記読み出し用メモリー領域から読み出されたデータの値と前記受信データの値との大小関係を比較するインクリメント判断部とを含み、前記メモリー制御部は、前記インクリメント判断部の判断結果に基づいて、前記受信データを前記書き込み用メモリー領域に書き込み、或いは非書き込みとする記憶装置に関係する。
【0007】
本発明の一態様によれば、読み出し用メモリー領域から読み出されたデータの値と受信データの値との大小関係を比較して、書き込みの可否を判断することができる。こうすることで、例えばインク消費量など値が単調に増加するデータを記憶する場合に、誤ったデータが書き込まれることなどを低減できる。その結果、記憶装置の信頼性を高めることなどが可能になる。
【0008】
また本発明の一態様では、前記第1のメモリー領域及び前記第2のメモリー領域に書き込まれたデータのエラーの有無を検査するエラー検査部を含み、前記エラー検査部により前記エラーが非検出である場合には、前記メモリー制御部は、前記メモリー領域選択情報に基づいて、前記読み出し用メモリー領域及び前記書き込み用メモリー領域を選択し、前記エラー検査部により前記エラーが検出された場合には、前記メモリー制御部は、前記第1のメモリー領域及び前記第2のメモリー領域のうち、前記エラーが検出された方を前記書き込み用メモリー領域として選択し、前記エラーが非検出である方を前記読み出し用メモリー領域として選択してもよい。
【0009】
このようにすれば、2つのメモリー領域のどちらか一方にエラーが検出された場合に、エラー非検出の方からデータを読み出して、その読み出しデータと受信した新しいデータとを比較してインクリメント条件を満たすか否か判断し、新しいデータをエラー検出された方に書き込むことができる。こうすることで、記憶されたデータの値がメモリーエラーなどによって過大な値になった場合などでも、次のアクセス時には正しいデータを書き込むことができる。その結果、記憶装置の信頼性を高めることなどが可能になる。
【0010】
また本発明の一態様では、前記メモリー制御部が前記受信データを前記書き込み用メモリー領域へ書き込む際には、前記メモリー領域選択情報を書き換えてもよい。
【0011】
このようにすれば、正しいデータが書き込まれたメモリー領域が、次のアクセス時に読み出し用メモリー領域として選択されるように、メモリー領域選択情報を設定することができる。こうすることで、次のアクセス時に正しいデータを読み出すことができる。その結果、記憶装置の信頼性を高めることなどが可能になる。
【0012】
また本発明の一態様では、前記第1のメモリー領域及び前記第2のメモリー領域の両方に前記エラーが検出された場合には、前記通信部は、前記ホスト装置に対してエラー通知を送信してもよい。
【0013】
このようにすれば、ホスト装置は、2つのメモリー領域の両方にエラーが検出されたことを認識することができる。その結果、ホスト装置は適切な処理を行うことができるから、システムの信頼性を高めることなどが可能になる。
【0014】
また本発明の一態様では、前記ホスト装置からの前記受信データの書き込み処理が完了した場合には、前記通信部は、前記ホスト装置に対して完了通知を送信してもよい。
【0015】
このようにすれば、ホスト装置は、受信データの書き込み処理が完了したことを認識することができるから、例えば次のブロックの書き込みデータを送信する処理を行うことができる。また、完了通知が送信されない場合には、ホスト装置は、例えば書き込みデータを再送信するなどの適切な処理を行うことができる。その結果、システムの信頼性を高めることなどが可能になる。
【0016】
本発明の他の態様は、上記いずれかに記載の記憶装置を含む回路基板に関係する。
【0017】
本発明の他の態様は、上記いずれかに記載の記憶装置を含む液体容器に関係する。
【0018】
本発明の他の態様は、上記いずれかに記載の記憶装置と、前記ホスト装置とを含むシステムに関係する。
【図面の簡単な説明】
【0019】
【図1】記憶装置の基本的な構成例。
【図2】図2(A)、図2(B)は、第1、第2のメモリー領域の詳細な構成例。
【図3】図3(A)〜図3(C)は、メモリー制御部によるメモリー領域選択を説明する図。
【図4】データ書き込み時のホスト装置側の制御を説明するフローチャートの一例。
【図5】データ書き込み時の記憶装置側の制御を説明するフローチャートの一例。
【図6】メモリー領域選択の詳細なフローチャート。
【図7】データ書き込みの詳細なフローチャート。
【図8】データ読み出し時のホスト装置側の制御を説明するフローチャートの一例。
【図9】データ読み出し時の記憶装置側の制御を説明するフローチャートの一例。
【図10】メモリー領域選択の詳細なフローチャート。
【図11】データ書き込み処理のタイミングチャートの一例。
【図12】データ読み出し処理のタイミングチャートの一例。
【図13】システムの基本的な構成例。
【図14】液体容器の詳細な構成例。
【図15】図15(A)、図15(B)は、回路基板の詳細な構成例。
【発明を実施するための形態】
【0020】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0021】
1.記憶装置
図1に本実施形態の記憶装置100の基本的な構成例を示す。本実施形態の記憶装置100は、通信部110、記憶部120、メモリー制御部130、インクリメント判断部140、エラー検査部150、発振回路OSC及びパワーオンリセット回路PORを含む。なお、本実施形態の記憶装置100は、図1の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0022】
本実施形態の記憶装置100は、例えばインクジェット方式のプリンターで用いられるインクカートリッジ(液体容器)に設けられる記憶装置であって、プリンター本体(ホスト装置)から送信されたインク消費量などの情報が格納される。インクカートリッジ(液体容器)は、通常交換可能な構造になっているために、プリンター本体と記憶装置とを接続する電気的接続部分の接触不良が生じ易い。そのためにデータ信号端子の接触不良による通信エラーや、書き込み時の電源端子の接触不良による書き込みエラーなどが発生するおそれがある。本実施形態の記憶装置100によれば、後述するように、これらのエラーが生じた場合でも正しいデータを書き込むことができる。
【0023】
通信部110は、通信エラー検出部CERを含み、ホスト装置400との通信処理を行う。具体的には、通信部110は、ホスト装置400が有するホスト通信部420との間でデータ信号SDAの送受信を行う。また、通信部110は、ホスト装置400からのリセット信号XRST及びクロック信号SCKを受信する。通信エラー検出部CERは、受信したデータの通信エラーの有無を検出する。この通信エラーの検出は、例えばパリティチェック等の手法を用いることができる。
【0024】
記憶部120は、例えばフラッシュメモリーや強誘電体メモリー等の不揮発性メモリーであって、第1、第2のメモリー領域MA1、MA2を含む。第1、第2のメモリー領域MA1、MA2は、ホスト装置400からの受信データ及びメモリー領域選択情報ASBをそれぞれ記憶する。この受信データは、例えばプリンターのインクカートリッジのインク消費量などである。なお、第1、第2のメモリー領域MA1、MA2の詳細な構成及びメモリー領域選択情報については後述する。
【0025】
メモリー制御部130は、メモリー領域選択部ASELを含み、第1、第2のメモリー領域MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行う。具体的には、メモリー領域選択部ASELが、エラー検査部150の検査結果及び後述するメモリー領域選択情報に基づいて、MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択する。また、メモリー制御部130は、メモリー領域選択情報生成部ASBGを含む。このメモリー領域選択情報生成部ASBGは、書き込み用メモリー領域にデータを書き込む際に、メモリー領域選択情報ASBを更新する処理を行う。なお、メモリー領域選択情報ASBの詳細については後述する。
【0026】
後述するように、本実施形態の記憶装置100によれば、2つのメモリー領域MA1、MA2を選択的に用いることで、どちらか一方のメモリー領域のデータにエラーが生じた場合であっても、ホスト装置400から受信した正常なデータを書き込むことができる。その結果、例えばプリンターのインクカートリッジ(液体容器)のインク消費量(又は残量)を記憶する記憶装置において、記憶されたデータに異常がある場合でも、ホスト装置400から受信した正しいインク消費量(残量)を書き込むことができる。
【0027】
インクリメント判断部140は、メモリー制御部130により読み出し用メモリー領域から読み出されたデータの値と受信データの値との大小関係を比較する。メモリー制御部130は、インクリメント判断部140の判断結果に基づいて、受信データを書き込み用メモリー領域に書き込み、或いは非書き込みとする。このインクリメント判断部140は、2つのデータの値の大小関係を比較して、インクリメント条件或いはデクリメント条件を満足するか否かを判断するものである。すなわち、インクリメント判断部140による判断は、インクリメント条件の判断だけでなく、デクリメント条件の判断も含まれる。インクリメント条件とは、新しく書き込まれるデータの値が、前回のアクセス時に書き込まれた値と等しいか又はそれより大きい値でなければならないとする条件である。またデクリメント条件とは、新しく書き込まれるデータの値が、前回のアクセス時に書き込まれた値と等しいか又はそれより小さい値でなければならないとする条件である。
【0028】
こうすることで、インクリメント条件(又はデクリメント条件)を満たすデータだけを書き込むことができる。例えば値が単調に増加するデータ(インクの消費量など)を記憶する記憶装置では、受信データの値が前に書き込まれた値以上である場合に書き込みを行い、受信データの値が前に書き込まれた値より小さい値である場合には書き込みを行わないことができる。また反対に、値が単調に減少するデータ(インクの残量など)を記憶する記憶装置では、受信データの値が前に書き込まれた値以下である場合に書き込みを行い、受信データの値が前に書き込まれた値より大きい値である場合には書き込みを行わないことができる。その結果、通信エラーが生じた場合などに、誤ったデータが書き込まれることを低減できる。
【0029】
エラー検査部150は、第1、第2のメモリー領域MA1、MA2に書き込まれたデータのエラーの有無を検査する。このエラーの検出は、例えばパリティチェックやチェックサムなどの手法を用いることができる。このエラー検査部150の検査結果とメモリー領域選択情報ASBとに基づいて、メモリー制御部130は、MA1、MA2のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択する。なお、メモリー領域を選択する手法については後述する。
【0030】
発振回路OSCは、記憶装置100の内部クロックを生成する。また、パワーオンリセット回路PORは、記憶装置100の電源電圧が所定の電圧に到達した後にリセットを解除するためのものである。
【0031】
ホスト装置400は、例えばプリンター本体などであって、ホスト制御部410、ホスト通信部420を含む。ホスト制御部410は、例えばプリンターの印刷処理、記憶装置との通信処理、インク消費量のカウント処理などの制御を行う。ホスト通信部420は、記憶装置100との通信処理を行う。また、ホスト装置400は、記憶装置100に対して第1の電源(低電位電源)VSS及び第2の電源(高電位電源)VDDを供給する。
【0032】
図2(A)、図2(B)に、第1、第2のメモリー領域MA1、MA2の詳細な構成例を示す。図2(A)の構成例では、MA1、MA2共に32ブロック×18ビットの構成であって、各ブロックは、16ビットのデータD[15:0]、1ビットのメモリー領域選択情報ASB、1ビットのエラー検査用ビット(パリティビット)を含む。エラー検査部150が、パリティチェックによるエラー検出をする時には、エラー検査用ビットは、各ブロックの1の個数が常に偶数若しくは奇数となるように付加されるビットである。また、図2(B)の構成例では、MA1、MA2共に32ブロック×17ビットの構成であって、各ブロックは、15ビットのデータD[15:1]、1ビットのメモリー領域選択情報ASB、1ビットのエラー検査用ビット(パリティビット)を含む。なお、本実施形態のメモリー領域MA1、MA2は図2の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0033】
ホスト装置400と記憶装置100との間の通信はブロック単位で行われ、MA1又はMA2の書き込み・読み出しもブロック単位で行われる。また、メモリー制御部130によるメモリー領域の選択及びエラー検査部150によるエラー検出もブロック単位で行われる。従って、メモリー領域選択情報ASBはブロック毎に設定され、例えば第1のブロックBLK1の第1のメモリー領域MA1には、メモリー領域選択情報ASB1−1が書き込まれ、第1のブロックBLK1の第2のメモリー領域MA2には、メモリー領域選択情報ASB1−2が書き込まれる。
【0034】
図3(A)〜図3(C)は、メモリー制御部130によるメモリー領域選択を説明する図である。メモリー領域選択を実行する前に、エラー検査部150は、第1、第2のメモリー領域MA1、MA2の各ブロックについて、検査用ビットを用いて、各ブロックのデータとメモリー領域選択情報にエラーがないかどうかを検出する。メモリー制御部130は、エラー検査部150のエラー検出結果に基づいて、図3(A)に示すように、書き込み用メモリー領域と読み出し用メモリー領域を選択する。すなわち第1、第2のメモリー領域MA1、MA2の両方がエラー非検出(OK)である場合には、メモリー領域選択情報ASBに基づいて、書き込み用及び読み出し用メモリー領域を選択する。MA1、MA2のいずれか一方がエラー検出され(NG)、他方がエラー非検出(OK)である場合には、エラーが検出された方を書き込み用として選択し、エラーが非検出である方を読み出し用として選択する。MA1、MA2の両方がエラー検出(NG)である場合には、書き込み用及び読み出し用メモリー領域のどちらも選択しない。
【0035】
図3(B)は、メモリー領域選択情報ASBに基づくメモリー領域選択を説明する図である。図3(A)で説明したように、MA1、MA2の両方がエラー非検出(OK)である場合には、図3(B)に示すように、メモリー領域選択情報ASB−1、ASB−2に従って、書き込み用及び読み出し用メモリー領域が選択される。なお、メモリー領域選択情報は、図2(A)、図2(B)に示したようにブロック毎に書き込まれるから、ASB1−1、ASB1−2のようにブロックを区別して表記すべきであるが、メモリー領域の選択は同一ブロック内で行われるから、特にブロックを区別する必要がない場合にはASB−1、ASB−2のように表記する。
【0036】
例えばASB−1が0、ASB−2が0の場合には、メモリー制御部130は、MA2に記憶されたデータを読み出し、MA1にホスト装置400から受信した新しいデータを書き込む。MA1に新しいデータを書き込む際に、MA1のメモリー領域選択情報ASB−1を0から1に書き換える。こうすれば次に新しいデータを書き込む時には、ASB−1が1、ASB−2が0になっているから、メモリー制御部130は、MA1に記憶されたデータを読み出し、MA2に新しいデータを書き込む。MA2に新しいデータを書き込む際に、MA2のメモリー領域選択情報ASB−2を0から1に書き換える。次に新しいデータを書き込む時には、ASB−1が1、ASB−2が1になっているから、メモリー制御部130は、MA2に記憶されたデータを読み出し、MA1に新しいデータを書き込む。MA1に新しいデータを書き込む際に、MA1のメモリー領域選択情報ASB−1を1から0に書き換える。
【0037】
このように図3(B)に示す選択規則に従うことで、MA1、MA2を交互に選択して書き込み・読み出しを行うことができる。そしてインクリメント判断部140が、読み出されたデータの値と新たに書き込まれるデータの値との大小関係を比較することで、インクリメント条件を満たさないデータの書き込みを防止できる。
【0038】
次に、MA1、MA2のいずれか一方にエラーが検出され、他方がエラー非検出である場合を説明する。この場合には、図3(A)で説明したように、エラーが検出された方に新しいデータを書き込む。例えばMA1がエラー非検出、MA2がエラー検出である場合は、MA1からデータを読み出して、読み出されたデータの値と新たに書き込まれるデータの値との大小関係を比較してインクリメント条件を満足すれば、MA2に新しいデータを書き込む。
【0039】
ここでMA2に新しいデータを書き込む際に、MA2のメモリー領域選択情報ASB−2を書き換える場合と書き換えない場合とがある。図3(C)に示すように、ASB−1が1、ASB−2が0である場合には、ASB−2を1に書き換える。またASB−1が0、ASB−2が1である場合には、ASB−2を0に書き換える。これ以外の場合ではASB−2を書き換えない。このようにすることで、MA2にデータを書き込んだ後のメモリー領域選択情報は、ASB−1が0、ASB−2が0であるか、或いはASB−1が1、ASB−2が1である。従って、図3(B)の選択規則により、次のメモリーアクセス時には、MA2からデータを読み出して、MA1に新しいデータを書き込むことができる。
【0040】
また例えばMA1がエラー検出、MA2がエラー非検出である場合には、MA2からデータを読み出して、読み出されたデータの値と新たに書き込まれるデータの値との大小関係を比較してインクリメント条件を満足すれば、MA1に新しいデータを書き込む。この書き込みの際に、図3(C)に示すようにASB−1を設定することで、次回のメモリーアクセス時には、図3(B)の選択規則により、MA1からデータを読み出して、MA2に新しいデータを書き込むことができる。
【0041】
以上説明したように、本実施形態の記憶装置100によれば、2つのメモリー領域MA1、MA2のどちらか一方にエラーが検出された場合に、エラー非検出の方からデータを読み出して、その読み出しデータと新しいデータ(受信データ)とを比較してインクリメント条件を満たすか否か判断して、新しいデータをエラー検出された方に書き込むことができる。こうすることで、記憶されたデータの値(例えばインク消費量など)がメモリーエラーによって過大な値などになった場合でも、次のアクセス時には正しいデータを書き込むことができる。その結果、プリンターのインクカートリッジ等に適用した場合に、インクが残っているのにもかかわらず使用できないなどの不具合を低減することができる。
【0042】
例えばフラッシュメモリー等では、書き込み動作中に電源が遮断されると、書き込み対象のビットが全て1又は0に設定されることがある。この場合でも、本実施形態の記憶装置100によれば、次のアクセス時には正しいデータを書き込むことができる。
【0043】
なお、2つのメモリー領域の両方にエラーが検出された場合には、正しいデータを書き込むことができなくなる。しかし、両方のメモリー領域にエラーが検出される確率は十分に低いから、実用上問題はないと考えられる。
【0044】
本実施形態の構成をとらない記憶装置では、例えばインク消費量など値が単調に増加するデータを記憶する場合に、インクリメント条件を満たすか否かを判断することで、誤ったデータ(過小な値のデータ)の書き込みを防止することはできる。しかし、メモリーエラーにより記憶されたデータが過大な値に変化した場合には、次に正しい値のデータを書き込むことができなくなる。その結果、インクが残っているのにもかかわらず使用できないなどの不具合が発生するおそれがある。
【0045】
2.制御フロー
図4は、データ書き込み時のホスト装置400側の制御を説明するフローチャートの一例である。ホスト装置400は、始めにID情報を送信する(ステップS1)。このID情報は、複数の記憶装置が接続されている場合に、記憶装置を識別するための情報である。次に、データ書き込みコマンドを送信し(ステップS2)、続いて書き込みデータを送信する(ステップS3)。書き込みデータの送信はブロック単位で行われ、正常に書き込みが行われると記憶装置100は完了通知を送信する。ホスト装置400は、この完了通知の有無を判断し(ステップS4)、完了通知有りと判断した場合は、さらに必要なデータの送信が終了したか否かを判断する(ステップS5)。終了していない場合は、ステップS3に戻って次のブロックのデータを送信する。そして必要なデータの送信が終了すれば、書き込み処理を終了する。一方、ステップS4の判断において、完了通知無しと判断した場合は、ステップS1に戻って再度書き込み処理を実行する。
【0046】
図5は、データ書き込み時の記憶装置100側の制御を説明するフローチャートの一例である。始めに記憶装置100の通信部110がID情報を受信し(ステップS6)、通信エラー検出部CERが通信エラーの有無を判断する(ステップS7)。通信エラーが無ければ、通信部110は、受信したID情報と記憶装置が予め有するID情報とが一致するか否かを判断し(ステップS8)、一致する場合にはコマンドを受信する(ステップS9)。次に通信エラー検出部CERが通信エラーの有無を判断し(ステップS10)、通信エラーが無ければ、通信部110が、受信したコマンドがデータ書き込みコマンドであるか否かを判断する(ステップS11)。データ書き込みコマンドである場合には、通信部110が書き込みデータを受信し(ステップS12)、データ書き込みコマンドでない場合には、そのコマンドを実行するフローに分岐する。
【0047】
書き込みデータの受信後、通信エラー検出部CERが通信エラーの有無を判断し(ステップS13)、通信エラーが無ければ、エラー検査部150がメモリーエラーの検査を行う(ステップS14)。この検査でメモリー領域MA1、MA2の両方又はいずれか一方がエラー非検出であれば、メモリー領域選択部ASELがメモリー領域の選択を行う(ステップS15)。一方、メモリー領域MA1、MA2の両方にエラーが検出された場合には、完了通知を送信することなく書き込み処理を終了する。
【0048】
図6は、メモリー領域選択部ASELによるメモリー領域選択(ステップS13)のフローを詳細に示したものである。始めにエラー非検出のメモリー領域の数により、場合分けする(ステップS20)。エラー非検出のメモリー領域が2つある場合には、メモリー領域選択情報ASB−1、ASB−2を確認し(ステップS21)、図3(B)の選択規則に従って、書き込み用及び読み出し用メモリー領域を選択する(ステップS22)。またエラー非検出のメモリー領域が1つだけの場合には、図3(A)に示したように、エラー検出されたメモリー領域を書き込み用に、エラー非検出のメモリー領域を読み出し用に選択する(ステップS23)。メモリー領域の選択後、データ書き込みを行う(ステップS16)。
【0049】
図7は、インクリメント判断部140及びメモリー制御部130によるデータ書き込み(ステップS16)のフローをより詳細に示したものである。始めにインクリメント設定がされているか否かを判断する(ステップS24)。インクリメント設定がされている場合には、インクリメント判断部140が書き込みデータの値と読み出しデータの値を比較してインクリメント条件を満足するか否かを判断する(ステップS27)。条件を満足する場合には、メモリー領域選択情報生成部ASBGがメモリー領域選択情報ASB−1(又はASB−2)を生成し(ステップS25)、メモリー制御部130が書き込みデータ及びASB−1(又はASB−2)を書き込み用に選択したメモリー領域に書き込む(ステップS26)。一方、インクリメント条件を満足しない場合には、データを書き込まない(ステップS28)。
【0050】
書き込みが正常に終了した場合は(ステップS17)、通信部110がホスト装置400に対して完了通知を送信する(ステップS18)。この完了通知は、例えばデータ信号SDAとしてHレベル(高電位レベル)を出力することで送信する。そしてホスト装置400からのクロック信号SCKが入力されている場合は(ステップS19)、ステップS12に戻って次のブロックの書き込みデータを受信する。一方、クロック信号SCKが入力されない場合は、必要な全てのブロックについてデータの書き込みが終了したものと判断して(ステップS19)、処理を終了する。なお、書き込みが正常に行われなかった場合には(ステップS17)、完了通知を送信することなく処理を終了する。
【0051】
図8は、データ読み出し時のホスト装置400側の制御を説明するフローチャートの一例である。ホスト装置400は、始めにID情報を送信する(ステップS29)。次に、データ読み出しコマンドを送信し(ステップS30)、続いて読み出しデータを受信する(ステップS31)。読み出しデータの受信も、書き込みデータと同様に、ブロック単位で行われる。そして受信したデータのエラーの有無を判断し(ステップS32)、エラーが無ければ、必要な全てのデータの受信が終了したか否かを判断する(ステップS33)。終了していない場合は、ステップS31に戻って次のブロックのデータを受信する。必要な全てのデータの受信が終了すれば、書き込み処理を終了する。一方、受信データにエラーが有る場合は、ステップS29に戻って再度読み出し処理を実行する。このエラーには、通信エラー及び記憶装置100から送信されるエラーコード(エラー通知)が含まれる。
【0052】
図9は、データ読み出し時の記憶装置100側の制御を説明するフローチャートの一例である。始めに記憶装置100の通信部110がID情報を受信し(ステップS34)、通信エラー検出部CERが通信エラーの有無を判断する(ステップS35)。通信エラーが無ければ、通信部110は、受信したID情報と記憶装置が予め有するID情報とが一致するか否かを判断し(ステップS36)、一致する場合にはコマンドを受信する(ステップS37)。次に通信エラー検出部CERが通信エラーの有無を判断し(ステップS38)、通信エラーが無ければ、通信部110が、受信したコマンドがデータ読み出しコマンドであるか否かを判断する(ステップS39)。データ読み出しコマンドである場合には、メモリー制御部130がメモリー領域MA1、MA2からデータを読み出して、エラー検査部150がエラーの有無を判断する(ステップS40)。データ読み出しコマンドでない場合には、そのコマンドを実行するフローに分岐する。
【0053】
メモリー領域MA1、MA2の両方又はいずれか一方がエラー非検出であれば、メモリー領域選択部ASELがメモリー領域の選択を行う(ステップS41)。一方、メモリー領域MA1、MA2の両方にエラーが検出された場合には、通信部110がエラーコード(エラー通知)を送信して処理を終了する。
【0054】
図10は、メモリー領域選択部ASELによるメモリー領域選択(ステップS41)のフローをより詳細に示したものである。始めにエラー非検出のメモリー領域の数により、場合分けする(ステップS44)。エラー非検出のメモリー領域が2つある場合には、メモリー領域選択情報ASB−1、ASB−2を確認し(ステップS45)、図3(B)の選択規則に従って、読み出し用メモリー領域を選択する(ステップS46)。またエラー非検出のメモリー領域が1つだけの場合には、図3(A)に示したように、エラー非検出のメモリー領域を読み出し用に選択する(ステップS47)。
【0055】
メモリー領域の選択後に、読み出し用メモリー領域から読み出したデータを通信部110がホスト装置400に送信する(ステップS42)。そして読み出しデータの送信後にホスト装置400からのクロック信号SCKが入力されている場合は(ステップS43)、ステップS40に戻って次のブロックの読み出しデータを送信する。一方、クロック信号SCKが入力されない場合は、必要な全てのブロックについてデータの読み出しが終了したものと判断して(ステップS43)、処理を終了する。
【0056】
図11は、データ書き込み処理のタイミングチャートの一例である。リセット信号XRSTがHレベルになることで、記憶装置100のリセット状態が解除される。そしてクロック信号SCKに同期して、ホスト装置400から記憶装置100に対してデータ信号SDAが送信される。具体的には、始めにオペレーションコードOPCが送信され、次に第1のブロックの書き込みデータWD1が送信される。このオペレーションコードOPCは、例えばID情報及び書き込みコマンドを含む。
【0057】
記憶装置100は、第1のブロックの書き込みデータWD1を受信した後、図11のTWの期間に、図5〜図7に示したフローに従ってメモリー領域MA1(又はMA2)にデータを書き込む。そして書き込みが完了すると、完了通知をホスト装置400に対して送信する。具体的には、図11のA1に示すように、データ信号SDAをHレベルに設定することで完了通知を送信する。次に第2のブロックの書き込みデータWD2を受信して、TWの期間にWD2をメモリー領域に書き込み、書き込み完了後に完了通知を送信する(図11のA2)。続いて第3のブロックの書き込みデータWD3を受信し、同様に書き込み処理を行う。
【0058】
図12は、データ読み出し処理のタイミングチャートの一例である。リセット信号XRSTがHレベルになることで、記憶装置100のリセット状態が解除される。そしてホスト装置400から記憶装置100に対してオペレーションコードOPCが送信される。このオペレーションコードOPCは、例えばID情報及び読み出しコマンドを含む。
【0059】
記憶装置100は、オペレーションコードOPCを受信すると、図12のTRの期間に図9、図10に示したフローに従ってメモリー領域から第1のブロックのデータを読み出す。そしてホスト装置400に対して第1のブロックの読み出しデータRD1を送信する。続いて第2のブロックの読み出しデータRD2を送信する。RD1を送信している期間に第2のブロックのデータRD2をメモリー領域から読み出すことができるから、RD1の送信後に続けてRD2を送信することができる。同様にして、第3のブロックの読み出しデータRD3を送信する。
【0060】
3.システム、液体容器及び回路基板
図13に本実施形態のシステムの基本的な構成例を示す。本実施形態のシステムは、例えばインクジェット方式のプリンターなどであって、第1の記憶装置100−1〜第n(nは2以上の整数)の記憶装置100−n、記憶装置が実装されるn個の回路基板200−1〜200−n、回路基板を備えるn個の液体容器300−1〜300−n及びホスト装置400を含む。なお、本実施形態のシステムは図13の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0061】
以下では、ホスト装置400がインクジェット方式のプリンターであり、液体容器300がインクカートリッジであり、回路基板200がインクカートリッジに設けられた回路基板である場合を例に説明する。但し、本実施形態では、ホスト装置、液体容器、基板は、他の装置、容器、基板であってもよい。例えば、ホスト装置はメモリーカードのリーダー/ライターであってもよく、基板はメモリーカードに設けられた回路基板であってもよい。
【0062】
第1の記憶装置100−1〜第nの記憶装置100−nは、それぞれリセット端子XRST、クロック端子SCK、データ端子SDA、第1の電源端子VSS及び第2の電源端子VDDを含む。これらn個の記憶装置100−1〜100−nの各々は、記憶部(例えば不揮発性メモリー等)を含み、それぞれの記憶部にはn個の液体容器(例えばインクカートリッジ等)300−1〜300−nを識別するためのID(Identification)情報(例えばID=1、ID=2、ID=3など)が記憶されている。IDは、液体容器が収容する液体の色などの種類毎に異なるものが付与される。
【0063】
ホスト装置400は、例えばプリンター本体などであって、ホスト側リセット端子HRST、ホスト側クロック端子HCK、ホスト側データ端子HDA、第1のホスト側電源端子HVSS及び第2のホスト側電源端子HVDDを含む。
【0064】
上述したように、本実施形態のシステムによれば、記憶装置に記憶されたインク消費量(又はインク残量)などのデータがメモリーエラーにより過大な値(又は過小な値)になった場合でも、次のアクセス時には正しいデータを書き込むことができる。その結果、プリンターのインクカートリッジ等に適用した場合に、インクが残っているのにもかかわらず使用できないなどの不具合を低減することができる。
【0065】
図14に、本実施形態の液体容器(インクカートリッジ)300の詳細な構成例を示す。液体容器300の内部には、インクを収容するための図示しないインク室が形成される。また、液体容器300には、インク室に連通するインク供給口340が設けられる。このインク供給口340は、液体容器300がプリンターに装着された時に、印刷ヘッドユニットにインクを供給するためのものである。
【0066】
液体容器300は、回路基板200を含む。回路基板200には、本実施形態の記憶装置100が設けられ、インク消費量などのデータの記憶やホスト装置400とのデータ送受信を行う。回路基板200は、例えばプリント基板により実現され、液体容器300の表面に設けられる。回路基板200には、第2の電源端子VDD等の端子が設けられる。そして、液体容器300がプリンターに装着された時に、それらの端子とプリンター側の端子が接触(電気的に接続)することで、電源やデータのやり取りが行われる。
【0067】
図15(A)、図15(B)に、本実施形態の記憶装置100が設けられた回路基板200の詳細な構成例を示す。図15(A)に示すように、回路基板200の表面(プリンターと接続される面)には、複数の端子を有する端子群が設けられる。この端子群は、第1の電源端子VSS、第2の電源端子VDD、リセット端子XRST、クロック端子SCK、データ端子SDAを含む。各端子は、例えば矩形状(略矩形状)に形成された金属端子により実現される。そして、各端子は、回路基板200に設けられた図示しない配線パターン層やスルーホールを介して、記憶装置100に接続される。
【0068】
図15(B)に示すように、回路基板200の裏面(プリンターと接続される面の裏側の面)には、本実施形態の記憶装置100が設けられる。記憶装置100は、例えば、フラッシュメモリーや強誘電体メモリー等を有する半導体記憶装置により実現できる。この記憶装置100には、インク又は液体容器300に関連する種々のデータが格納され、例えば、液体容器300を識別するためのID情報やインクの消費量等のデータが格納される。インク消費量のデータは、液体容器300内に収容されたインクについて、印刷の実行等に伴い消費されるインク量の累計を示すデータである。このインク消費量のデータは、液体容器300内のインク量を示す情報であってもよく、消費したインク量の割合を示す情報であってもよい。
【0069】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また記憶装置、回路基板、液体容器及びシステムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0070】
100 記憶装置、110 通信部、120 記憶部、130 メモリー制御部、
140 インクリメント判断部、150 エラー検査部、200 基板、
300 液体容器、340 インク供給口、400 ホスト装置、
410 ホスト制御部、420 ホスト通信部、
CER 通信エラー検出部、ASB、ASB−1、ASB−2 メモリー領域選択情報、ASEL メモリー領域選択部、ASBG メモリー領域選択情報生成部、
MA1、MA2 第1、第2のメモリー領域、SCK クロック信号、
SDA データ信号、VDD 第2の電源、VSS 第1の電源、
XRST リセット信号
【特許請求の範囲】
【請求項1】
ホスト装置との通信処理を行う通信部と、
前記ホスト装置からの受信データ及びメモリー領域選択情報を記憶する、第1のメモリー領域と第2のメモリー領域とを有する記憶部と、
前記第1のメモリー領域及び前記第2のメモリー領域のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行うメモリー制御部と、
前記メモリー制御部により前記読み出し用メモリー領域から読み出されたデータの値と前記受信データの値との大小関係を比較するインクリメント判断部とを含み、
前記メモリー制御部は、前記インクリメント判断部の判断結果に基づいて、前記受信データを前記書き込み用メモリー領域に書き込み、或いは非書き込みとすることを特徴とする記憶装置。
【請求項2】
請求項1において、
前記第1のメモリー領域及び前記第2のメモリー領域に書き込まれたデータのエラーの有無を検査するエラー検査部を含み、
前記エラー検査部により前記エラーが非検出である場合には、
前記メモリー制御部は、前記メモリー領域選択情報に基づいて、前記読み出し用メモリー領域及び前記書き込み用メモリー領域を選択し、
前記エラー検査部により前記エラーが検出された場合には、
前記メモリー制御部は、前記第1のメモリー領域及び前記第2のメモリー領域のうち、前記エラーが検出された方を前記書き込み用メモリー領域として選択し、前記エラーが非検出である方を前記読み出し用メモリー領域として選択することを特徴とする記憶装置。
【請求項3】
請求項2において、
前記メモリー制御部が前記受信データを前記書き込み用メモリー領域へ書き込む際には、前記メモリー領域選択情報を書き換えることを特徴とする記憶装置。
【請求項4】
請求項2又は3において、
前記第1のメモリー領域及び前記第2のメモリー領域の両方に前記エラーが検出された場合には、前記通信部は、前記ホスト装置に対してエラー通知を送信することを特徴とする記憶装置。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記ホスト装置からの前記受信データの書き込み処理が完了した場合には、前記通信部は、前記ホスト装置に対して完了通知を送信することを特徴とする記憶装置。
【請求項6】
請求項1乃至5のいずれかに記載の記憶装置を含むことを特徴とする回路基板。
【請求項7】
請求項1乃至5のいずれかに記載の記憶装置を含むことを特徴とする液体容器。
【請求項8】
請求項1乃至5のいずれかに記載の記憶装置と、
前記ホスト装置とを含むことを特徴とするシステム。
【請求項1】
ホスト装置との通信処理を行う通信部と、
前記ホスト装置からの受信データ及びメモリー領域選択情報を記憶する、第1のメモリー領域と第2のメモリー領域とを有する記憶部と、
前記第1のメモリー領域及び前記第2のメモリー領域のいずれか一方を読み出し用メモリー領域として選択し、他方を書き込み用メモリー領域として選択して、読み出し及び書き込み制御を行うメモリー制御部と、
前記メモリー制御部により前記読み出し用メモリー領域から読み出されたデータの値と前記受信データの値との大小関係を比較するインクリメント判断部とを含み、
前記メモリー制御部は、前記インクリメント判断部の判断結果に基づいて、前記受信データを前記書き込み用メモリー領域に書き込み、或いは非書き込みとすることを特徴とする記憶装置。
【請求項2】
請求項1において、
前記第1のメモリー領域及び前記第2のメモリー領域に書き込まれたデータのエラーの有無を検査するエラー検査部を含み、
前記エラー検査部により前記エラーが非検出である場合には、
前記メモリー制御部は、前記メモリー領域選択情報に基づいて、前記読み出し用メモリー領域及び前記書き込み用メモリー領域を選択し、
前記エラー検査部により前記エラーが検出された場合には、
前記メモリー制御部は、前記第1のメモリー領域及び前記第2のメモリー領域のうち、前記エラーが検出された方を前記書き込み用メモリー領域として選択し、前記エラーが非検出である方を前記読み出し用メモリー領域として選択することを特徴とする記憶装置。
【請求項3】
請求項2において、
前記メモリー制御部が前記受信データを前記書き込み用メモリー領域へ書き込む際には、前記メモリー領域選択情報を書き換えることを特徴とする記憶装置。
【請求項4】
請求項2又は3において、
前記第1のメモリー領域及び前記第2のメモリー領域の両方に前記エラーが検出された場合には、前記通信部は、前記ホスト装置に対してエラー通知を送信することを特徴とする記憶装置。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記ホスト装置からの前記受信データの書き込み処理が完了した場合には、前記通信部は、前記ホスト装置に対して完了通知を送信することを特徴とする記憶装置。
【請求項6】
請求項1乃至5のいずれかに記載の記憶装置を含むことを特徴とする回路基板。
【請求項7】
請求項1乃至5のいずれかに記載の記憶装置を含むことを特徴とする液体容器。
【請求項8】
請求項1乃至5のいずれかに記載の記憶装置と、
前記ホスト装置とを含むことを特徴とするシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−40830(P2012−40830A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−186007(P2010−186007)
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]