JP2009255550A - 液体収容体 - Google Patents

液体収容体 Download PDF

Info

Publication number
JP2009255550A
JP2009255550A JP2009059583A JP2009059583A JP2009255550A JP 2009255550 A JP2009255550 A JP 2009255550A JP 2009059583 A JP2009059583 A JP 2009059583A JP 2009059583 A JP2009059583 A JP 2009059583A JP 2009255550 A JP2009255550 A JP 2009255550A
Authority
JP
Japan
Prior art keywords
data
read
encoding
storage element
encoded
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.)
Granted
Application number
JP2009059583A
Other languages
English (en)
Other versions
JP5141606B2 (ja
Inventor
Shuichi Nakano
修一 中野
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009059583A priority Critical patent/JP5141606B2/ja
Priority to US12/409,164 priority patent/US8335978B2/en
Priority to CN2009801010417A priority patent/CN102741053A/zh
Priority to PCT/JP2009/056773 priority patent/WO2009119886A1/ja
Publication of JP2009255550A publication Critical patent/JP2009255550A/ja
Application granted granted Critical
Publication of JP5141606B2 publication Critical patent/JP5141606B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17543Cartridge presence detection or type identification
    • B41J2/17546Cartridge presence detection or type identification electronically

Landscapes

  • Ink Jet (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】液体収容体の適応性を向上させること。
【解決手段】液体収容体20に備えられている半導体記憶装置10において、読み出しデータの符号化要求を受信すると、ライト/リードコントローラ140はスイッチ141を切り換えて、データ符号化回路150によって符号化された読み出しデータをデータ信号端子書SDATに出力する。一方、読み出しデータの符号化要求を受信しない場合には、ライト/リードコントローラ140はスイッチ141を切り換えて、メモリアレイ100から読み出したままのデータをデータ信号端子書SDATに出力する。
【選択図】図1

Description

本発明は、記憶装置を備える液体収容体および液体収容体に備えられた記憶装置に対するアクセス制御方法、並びに、記憶装置および記憶装置に対するアクセス制御方法に関する。
記憶装置を備える液体収容体、例えば、インクカートリッジが知られている(例えば、特許文献1参照)。このインクカートリッジでは、印刷装置に最適な交換部品であるか否かを判定するために記憶装置に記憶されているデータが用いられている。また、記憶装置に記憶されているデータを符号化することによって、より精度の高い判定を行う技術も知られている。(例えば、特許文献2参照)。さらに、ホスト装置に最適な部材に対して記憶装置を装着させる技術が知られている(例えば、特許文献3参照)。この技術では、最適な部材であるか否かの判定精度を高めるために、記憶装置に記憶されているデータが符号化されている。
特開平10−69139号公報 特開2003−118143号公報 特開2005−251156号公報
しかしながら、記憶装置に記憶されているデータを符号化するインクカートリッジでは、符号化に対応していない従来のプリンタでは使用できなくなるという問題がある。この問題に対応するために、データが符号化されたインクカートリッジとデータが符号化されていないインクカートリッジとを備えるとすれば、交換部品であるインクカートリッジの種類が増えてしまうため、製造業者における管理コスト等が増大すると共に、ユーザの混乱を招くという問題がある。
記憶装置に記憶されているデータを符号化する場合には、符号化に対応していない、あるいは、符号化・復号化プログラムがインストールされていないコンピュータでは記憶装置に記憶されているデータを利用できないという問題がある。この問題に対応するために、データを符号化する記憶装置とデータを符号化しない記憶装置とを提供するとすれば、記憶装置の種類が増えてしまうため、製品の製造コストあるいは販売上の管理コスト等が増大すると共に、ユーザの混乱を招くという問題がある。
本発明は、上記課題を解決するためになされたものであり、液体収容体の適応性の向上を目的とする。本発明は、記憶装置の適応性の向上を目的とする。
上記課題の少なくとも一部を解決するために、本発明は以下の種々の態様を採る。
第1の態様は、記憶装置を備え、印刷装置に装着可能な液体収容体を提供する。第1の態様は、データを格納する記憶素子と、前記印刷装置から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力する記憶素子制御部とを備える。
第1の態様に係る液体収容体において、前記記憶素子制御部は、前記読み出しデータの符号化を実行しないと判定された場合には、前記記憶素子から読み出した情報を符号化せずに出力しても良い。
第1の態様に係る液体収容体において、前記記憶素子制御部は、 前記記憶素子との間でデータの読み書きを実行する読み書き実行部と、前記記憶素子から読み出されたデータに対して符号化処理を実行する符号化処理部とを備えても良い。この場合には、読み書き実行部によって記憶素子に対するデータの読み書きが実行され、符号化処理部によって読み出しデータに対する符号化が実行される。
第1の態様に係る液体収容体において、前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた誤り検出符号化処理により実行されても良い。この場合には、誤り検出符号による符号化を実行することができる。
第1の態様に係る液体収容体において、前記符号化処理は、前記記憶素子に格納されているデータの全部または一部をハッシュ符号化する処理であっても良い。この場合には、演算結果のハッシュ符号化による符号化を実行することができる。
第1の態様に係る液体収容体において、前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた演算結果のハッシュ符号化により実行されても良い。この場合には、演算結果のハッシュ符号化による符号化を実行することができる。
第2の態様は、記憶装置を備え、印刷装置に装着可能な液体収容体を提供する。第2の態様に係る液体収容体は、データを格納する記憶素子と、前記記憶素子から読み出されたデータに対して符号化処理を行う符号化部と、前記記憶素子から読み出されたデータと、前記符号化部で符号化されたデータとのうちいずれかを選択して出力する選択部とを備える。
第3の態様は、印刷装置に装着可能な液体収容体に備えられた記憶装置に対する制御方法を提供する。第3の態様に係る制御方法は、前記印刷装置から、データを格納する記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定し、前記読み出しデータの符号化を実行すると判定した場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力することを備える。
第3の態様によれば、第1の態様と同様の利点を得ることができる。第3の態様は、第1の態様と同様にして種々の態様にて実現され得る。さらに、第3の態様は、コンピュータプログラム、CD、DVD、HDDといったコンピュータ読み取り可能媒体に記録されたコンピュータプログラムとしても実現され得る。
第4の態様は、印刷装置と、前記印刷装置に着脱可能に装着されるとともに、データを記憶する記憶素子を備えた液体収容体とを有する印刷装置システムを提供する。第4の態様に係る印刷装置システムにおいて、前記印刷装置は、前記印刷材収容体に対してデータの読み出し要求を出力する出力部を備え、前記液体収容体は、前記印刷装置から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力する記憶素子制御部とを備える。
第4の態様に係る印刷装置システムにおいて、前記印刷装置が前記読み出しデータの符号化の実行を要求する場合には、前記データの読み出し要求が、読み出しデータの符号化の実行を指示するコマンドを含んでもよい。
上述した第1〜第4の各態様によれば、本願発明の液体収容体は、読み出しデータの符号化処理を要求する印刷装置と、符号化処理を要求しない印刷装置との両方に適用可能であるから、それぞれの印刷装置に専用の液体収容体を製造する必要がなくなり、液体収容体の製品の製造コストあるいは販売上の管理コストなどを低減できる。さらに、ユーザが混乱することなく、製品を購入、使用することが可能となる。
第5の態様は、計算機に接続可能な記憶装置を提供する。第5の態様に係る記憶装置は、前記計算機と接続するための接続部と、データを格納する記憶素子と、前記計算機から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制御部とを備える。
第5の態様に係る記憶装置において、前記記憶素子制御部は、前記読み出しデータの符号化を実行しないと判定された場合には、前記記憶素子から読み出した情報を符号化せずに出力しても良い。
第5の態様に係る記憶装置において、前記記憶素子制御部は、前記記憶素子との間でデータの読み書きを実行する読み書き実行部と、前記記憶素子から読み出されたデータに対して符号化処理を実行する符号化処理部とを備えても良い。この場合には、読み書き実行部によって記憶素子に対するデータの読み書きが実行され、符号化処理部によって読み出しデータに対する符号化が実行される。
第5の態様に係る記憶装置において、前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた誤り検出符号化処理により実行されても良い。この場合には、誤り検出符号による符号化を実行することができる。
第5の態様に係る記憶装置において、前記符号化処理は、前記記憶素子に格納されているデータの全部または一部をハッシュ符号化する処理であっても良い。この場合には、演算結果のハッシュ符号化による符号化を実行することができる。
第5の態様に係る記憶装置において、前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた演算結果のハッシュ符号化により実行されても良い。この場合には、演算結果のハッシュ符号化による符号化を実行することができる。
第6の態様は、制御装置に接続可能な記憶装置を提供する。第6の態様に係る記憶装置は、前記制御装置とデータの通信を行うための通信部と、データを格納する記憶素子と、前記記憶素子から読み出されたデータに対して符号化処理を行う符号化部と、前記記憶素子から読み出されたデータと、前記符号化部で符号化されたデータとのうちいずれかを選択して前記通信部に出力する選択部とを備える。
第7の態様は、制御装置と接続可能であり、データを記憶する記憶素子を備える記憶装置の制御方法を提供する。第3の態様に係る記憶装置の制御方法は、前記制御装置から、前記記憶素子に記憶されているデータの読み出し要求を受けた場合に、読み出したデータの符号化を実行するか否かを判定し、前記読み出しデータの符号化を実行すると判定した場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力することを備える。
第7の態様によれば、第5の態様と同様の利点を得ることができる。第7の態様は、第5の態様と同様にして種々の態様にて実現され得る。さらに、第7の態様は、コンピュータプログラム、CD、DVD、HDDといったコンピュータ読み取り可能媒体に記録されたコンピュータプログラムとしても実現され得る。
第8の態様は、制御装置と、前記制御装置に接続されるとともに、データを記憶する記憶素子を備えた記憶装置とを有する記憶装置の制御システムを提供する。第8の態様に係る制御システムにおいて、前記制御装置は、前記記憶装置に対してデータの読み出し要求を出力する出力部を備え、前記記憶装置は、前記計算機から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制御部とを備える。
第8の態様に係る制御システムにおいて、前記制御装置が前記読み出しデータの符号化の実行を要求する場合には、前記データの読み出し要求が、読み出しデータの符号化の実行を指示するコマンドを含んでもよい。
上述した第5〜第8の各態様によれば、本願発明の記憶装置は、読み出しデータの符号化処理を要求する制御装置と、符号化処理を要求しない制御装置との両方に適用可能であるから、それぞれの制御装置に専用の記憶装置を製造する必要がなくなり、記憶装置の製品の製造コストあるいは販売上の管理コストなどを低減できる。さらに、ユーザが混乱することなく、製品を購入、使用することが可能となる。
第9の態様は、データを格納する半導体装置を備えた液体収容体と共に用いられる印刷装置を提供する。第9の態様に係る印刷装置は、前記半導体装置から符号化されていない通常データを読み出す通常データ読み出し部と、前記半導体装置に対して前記通常データの符号化を要求し、符号化された前記通常データである符号化データを読み出す符号化データ読み出し部と、前記通常データに対して前記符号化と同一の符号化を行って比較用符号化データを生成する符号化部と、前記比較用符号化データと前記符号化データとを比較して前記半導体装置と前記印刷装置との間における通信状態の検証を行う検証部とを備える。
第9の態様に係る印刷装置によれば、比較用符号化データと符号化データとを比較して半導体装置と印刷装置との間における通信の検証を行うことができる。すなわち、半導体装置から符号化されていない通常データの読み出しと、符号化されている通常データの読み出しを実行するので、半導体装置と印刷装置との間の通信経路における異常を検出することができる。なお、第9の態様は、印刷装置における通信検証方法、通信検証方法を実現するコンピュータプログラム、当該プログラムを格納したコンピュータ読み取り可能媒体としても実現され得る。
第9の態様に係る印刷装置はさらに、前記通常データを前記半導体装置に書き込むデータ書き込み部を備え、前記通常データ読み出し部および前記符号化データ読み出し部は、それぞれ前記データ書き込み部によって書き込まれた前記通常データおよび前記データ書き込み部によって書き込まれた前記通常データを符号化した符号化データを読み出しても良い。この場合には、所定のタイミングにて書き込まれるデータを通常データとして用いることが可能となり、通信の検証のためにデータの書き込みを行う必要がなくなり、半導体装置に対するアクセス数を低減することができる。
第9の態様に係る印刷装置において、前記符号化データには不可逆的な第1の符号化の後に可逆的な第2の符号化が施されており、前記符号化部は前記符号化データに対する前記第2の符号化を復号して前記第1の符号化が施された符号化データを得ると共に、前記通常データに対して前記第1の符号化を行っても良い。この場合には、不可逆的な第1の符号化に基づいて検証が行われるので、検証の精度の向上を図ることができる。
第10の態様は回路基板を提供する。第10の態様に係る回路基板は、外部制御装置とデータの通信を行うための通信部と、データを格納する記憶素子と、前記外部制御装置から前記記憶素子に格納されているデータの読み出し要求を受けた場 合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制御部とを備える半導体装置と、
前記通信部と電気的に接続されている1または複数の外部端子とを備える。
第10の態様に係る回路基板によれば、読み出しデータの符号化処理を要求する外部制御装置と、符号化処理を要求しない外部制御装置との両方に適用可能であるから、それぞれの外部制御装置に専用の半導体装置を製造する必要がなくなり、半導体装置を備える回路基板の製造コストあるいは販売上の管理コストなどを低減できる。さらに、ユーザが混乱することなく、製品を購入、使用することが可能となる。また、第10の態様に係る回路基板は、第5〜第7の各態様に係る記憶装置、すなわち半導体装置と同様にして種々の態様を取り得る。
本実施例に係る液体収容体が備える半導体記憶装置の機能的な内部構成を示すブロック図である。 本実施例に係るライト/リードコントローラの機能的な内部構成を示すブロック図である。 本実施例に係る液体収容体が備える半導体記憶装置に対して入力されるデータ読み出し要求データ列の一例を模式的に示す説明図である。 本実施例に係る液体収容体と印刷装置を含むシステムを模式的に示す説明図である。 本実施例に係る液体収容体が備える半導体記憶装置に対するアクセス制御時に半導体記憶装置において実行される処理ルーチンを示すフローチャートである。 本実施例に係る液体収容体が備える半導体記憶装置から出力される読み出しデータ列の一例を模式的に示す説明図である。 液体収容体の一例を示す説明図である。 他の実施例に係るライト/リードコントローラおよびデータ符号化回路の配置構成を示すブロック図である。 本実施例に係る半導体記憶装置の機能的な内部構成を示すブロック図である。 本実施例に係るライト/リードコントローラの機能的な内部構成を示すブロック図である。 本実施例に係る半導体記憶装置に対して入力されるデータ読み出し要求データ列の一例を模式的に示す説明図である。 本実施例に係る半導体記憶装置とコンピュータを含むシステムを模式的に示す説明図である。 本実施例に係る半導体記憶装置に対するアクセス制御時に半導体記憶装置において実行される処理ルーチンを示すフローチャートである。 本実施例に係る半導体記憶装置から出力される読み出しデータ列の一例を模式的に示す説明図である。 他の実施例に係るライト/リードコントローラおよびデータ符号化回路の配置構成を示すブロック図である。 本実施例において用いられる回路基板上に実装された半導体装置の機能的な内部構成を示すブロック図である。 本実施例に係るライト/リードコントローラの機能的な内部構成を示すブロック図である。 液体収容体としてのインクカートリッジの概略構成を示す説明図である。 本実施例に係る印刷装置とインクカートリッジとの接続態様を示す説明図である。 本実施例に係る印刷装置と半導体装置との間で実行される通信検証処理の一例を示す説明図である。 データ書き込み時に印刷装置から本実施例に係る半導体装置に対して送信されるデータ列の例を示す説明図である。 通常読み出し時に印刷装置と本実施例に係る半導体装置との間で送受信されるデータ列の例を示す説明図である。 符号化読み出し時に印刷装置と本実施例に係る半導体装置との間で送受信されるデータ列の例を示す説明図である。 本実施例に係る半導体装置において実行される符号化データの生成、送信処理の一例を示すフローチャートである。 本実施例に係る印刷装置において実行される検証処理の一例を示す説明図である。
・第1の実施例:
以下、第1の実施例に係る液体収容体および液体収容体に備えられる半導体記憶装置におけるアクセス制御方法について図面を参照しつつ説明する。
・半導体記憶装置の構成
図1〜図3を参照して本実施例に係る液体収容体および液体収容体に備えられる半導体記憶装置の構成について説明する。図1は本実施例に係る液体収容体が備える半導体記憶装置の機能的な内部構成を示すブロック図である。図2は本実施例に係るライト/リードコントローラの機能的な内部構成を示すブロック図である。図3は本実施例に係る液体収容体が備える半導体記憶装置に対して入力されるデータ読み出し要求データ列の一例を模式的に示す説明図である。
本実施例に係る半導体記憶装置10は、外部からアクセス先のアドレスを指定するアドレスデータを入力する必要のないシーケンシャルアクセス方式の記憶装置である。半導体記憶装置10は、記憶素子としてのメモリアレイ100、アドレスカウンタ110、IDコンパレータ130、ライト/リードコントローラ140、データ符号化回路150を備えている。これら各回路は、双方向バス式の信号線によって接続されている。なお、少なくともIDコンパレータ130、ライト/リードコントローラ140、データ符号化回路150を記憶素子制御部と総称することがある。
メモリアレイ100は、データの電気的な消去、書き込みが可能なEEPROMの特性を有する記憶領域である。メモリアレイ100には、1ビットの情報を格納するデータセル(メモリセル)が複数備えられている。メモリアレイ100は、例えば、1行に8アドレス(データ8ビット分のアドレス)を所定のアドレス単位として備えており、1列に16個のデータセル(16ワード)が配置されている場合には、16ワード×8ビット(128ビット)のデータを格納することができる。
本実施例におけるメモリアレイ100は、上述のように8ビットを単位とする複数の行を備えているが、各行は独立したデータセル列ではなく、いわば、1本のデータセル列を8ビット単位で折り曲げることによって実現されている。すなわち、便宜的に9ビット目を含む行を2バイト目、17ビット目を含む行を3バイト目と呼んでいるに過ぎない。この結果、メモリアレイ100における所望のアドレスにアクセスするためには、先頭から順次アクセスする、いわゆる、シーケンシャルアクセス方式によるアクセスが必要となり、ランダムアクセス方式の場合に可能な所望のアドレスに対する直接的なアクセスは不可能となる。
メモリアレイ100における各データセルには、ワード線とビット(データ)線が接続されており、対応するワード線(行)を選択(選択電圧を印加)して、対応するビット線に書き込み電圧を印加することによってデータセルにデータが書き込まれる。また、対応するワード線(行)を選択し、対応するビット線をライト/リードコントローラ140と接続し、電流の検出の有無によってデータセルのデータ(1または0)が読み出される。なお、本実施例における所定アドレス単位とは、1本のワード線に書き込み電圧を加えることにより書き込みが可能なアドレス数(データセル数)であるということができる。
メモリアレイ100は、アドレスカウンタ110によりカウントされた外部クロックパルス数に応じて順次、列(ビット線)をライト/リードコントローラ140と接続する図示しないカラム選択回路を備えている。メモリアレイ100はまた、アドレスカウンタ110によりカウントされた外部クロックパルス数に応じて順次、行(ワード線)に選択電圧を印加する図示しないロー選択回路を備えている。以上のように、本実施例に係る半導体記憶装置10では、アドレスデータを用いたメモリアレイ100に対するアクセスは実行されず、専らアドレスカウンタ110によってカウントされたクロックパルス数にしたがって、所望のアドレスに対するアクセスが実行される。
アドレスカウンタ110は、リセット信号端子RSTT、クロック信号端子SCKT、ライト/リードコントローラ140、メモリアレイ100と接続されている。アドレスカウンタ110は、リセット信号端子RSTTを介して入力されるリセット信号を0(またはロー)にすることにより初期値にリセットされ、リセット信号が1とされた後にクロック信号端子SCKTを介して入力されるクロックパルスの立ち下がりに同期してクロックパルス数をカウント(カウント値をインクリメント)する。
本実施例に用いられるアドレスカウンタ110は、メモリアレイ100の1行のデータセル数(ビット数)に対応する8個のクロックパルス数を格納する8ビットのアドレスカウンタである。なお、初期値はメモリアレイ100の先頭位置と関連付けられていればどのような値でも良く、一般的には0が初期値として用いられる。
IDコンパレータ130は、クロック信号端子SCKT、データ信号端子SDAT、リセット信号端子RSTTと接続され、データ信号端子SDATを介して入力された入力データ列に含まれる識別データとメモリアレイ100に格納されている識別データとが一致するか否かを判定する。詳述すると、IDコンパレータ130は、リセット信号RSTが入力された後に入力されるオペレーションコードの先頭3ビットのデータ、すなわち識別データを、ライト/リードコントローラ140から取得する。IDコンパレータ130は、図3に示す入力データ列に含まれる先頭3ビットの識別データを格納する3ビットレジスタ(図示しない)、ライト/リードコントローラ140を介してメモリアレイ100の指定のアドレスから取得した最上位3ビットの識別データを格納する3ビットレジスタ(図示しない)を有しており、両レジスタの値が一致するか否かによって識別データが一致するか否かを判定する。IDコンパレータ130は、両識別データが一致する場合には、アクセス許可信号AENをライト/リードコントローラ140に送出する。IDコンパレータ130は、リセット信号RSTが入力(RST=0またはLow)されるとレジスタの値をクリアする。
ライト/リードコントローラ140は、IDコンパレータ130、データ符号化回路150、クロック信号端子SCKT、データ信号端子SDAT、リセット信号端子RSTTと接続されている。ライト/リードコントローラ140は、IDコンパレータ130、からのアクセス許可信号AENの入力を待って、リセット信号RSTが入力された後の4つめのクロック信号に同期してデータ信号端子SDATを介して入力されるデータ列に含まれる書き込み/読み出し制御情報(3ビットのID情報に続く4〜8ビット目の符号化選択情報付きW/R情報)を確認し(図3参照)、半導体記憶装置10の内部動作を書き込みまたは少なくとも2つ以上の読み出し経路の内のいずれか一つの経路切り換える回路である。ここで、本実施例において半導体記憶装置10に入力されるデータ列は、図3に示すように、先頭から3ビットに識別情報(ID)、4ビット目〜8ビット目に符号化選択情報付きW/Rコマンド、9ビット目にコマンドパリティビットCPを備え、データ列が書き込みデータである場合には、8ビットの書き込みパケットデータ(図3の例では10ビット目〜17ビット目)、データパリティビットDP(図3の例では18ビット目)を備えている。なお、書き込みパケットデータは複数含まれ得ると共に、各書き込みパケットデータの直後にはデータパリティビットDPが付加される。
具体的には、ライト/リードコントローラ140は、IDコンパレータ130からのアクセス許可信号AENが入力されると、取得した書き込み/読み出し情報を解析し、解析結果に従ってメモリアレイ100に対するデータ転送方向ならびにデータ信号端子SDATに対する(データ信号端子SDATと接続されている信号線の)データ転送方向を切り換え制御する。ライト/リードコントローラ140は、データ信号端子SDATからの入力信号線に対して、データ信号端子SDATから入力された書き込みデータのうち、オペレーションコード以降の8ビットの書き込みデータを一時的に格納する8ビットレジスタ(図示しない)およびメモリアレイ100から読み出したデータを格納するレジスタ(図示しない)を備えている。
8ビットレジスタには、データ信号端子SDATから入力信号線を介して入力されるデータ列(MSB)が8ビットとなるまで保持され、8ビット分揃ったところで、保持されている8ビットのデータがメモリアレイ100に対して書き込まれる。
ライト/リードコントローラ140は、電源ON時、リセット時には、メモリアレイ100に対するデータ転送方向を読み出し方向に設定し、データ信号端子SDATに接続されている信号線をハイインピーダンスとすることでデータ信号端子SDATに対するデータ転送を禁止する。この状態は、書き込み/読み出し情報を解析し、書き込みが要求されていると判断されるまで維持される。したがって、リセット信号入力後にデータ信号端子SDATを介して入力されるデータ列の先頭8ビットのデータはメモリアレイ100に書き込まれることはなく、一方で、メモリアレイ100の先頭3ビットに格納されているデータ(ID情報)は、IDコンパレータ130に送出される。この結果、メモリアレイ100の先頭8ビットは読み出し専用状態となる。
ライト/リードコントローラ140は、書き込み処理時には、書き込み可能領域の先頭アドレスに相当する数のクロックパルス入力を受けると、バス信号線のデータ転送方向を書き込み方向に切り換える。書き込み可能領域の終端アドレスに相当する数のクロックパルス入力を受けると、ライト/リードコントローラ140は、バス信号線のデータ転送方向を読み出し方向に切り換える。書き込みに必要な書き込み電圧は、例えば、図示しないチャージポンプ回路によって生成される。
ライト/リードコントローラ140は、読み出し処理時には、書き込み可能領域の先頭アドレスに相当する数のクロックパルス入力を受けると、バス信号線のデータ転送方向を読み出し方向に切り換える。
ライト/リードコントローラ140は、図2に示すように、メモリアレイ100から読み出したままのデータ、あるいは、データ符号化回路150を介して符号化された読み出しデータのいずれかを選択して出力するための選択部としてスイッチ141を備えている。ライト/リードコントローラ140は、ホストコンピュータである印刷装置から送信された符号化選択情報付きW/Rコマンドを解析し、読み出しデータの符号化の要求を示すデータがある場合には、符号化された読み出しデータを出力するようにスイッチ141を切り換え、読み出しデータの符号化の要求がない場合には、読み出したままのデータを出力するようにスイッチ141を切り換える。この結果、符号化された読み出しデータに対応していない印刷装置は、データの符号化を要求しないため符号化されていない読み出しデータを用いて所望の処理を実行することが可能となり、一方、符号化された読み出しデータに対応している印刷装置はデータの符号化を要求することによって符号化された読み出しデータを用いて所望の処理を実行することが可能となる。
データ符号化回路150は、ライト/リードコントローラ140と信号線を介して接続されている。データ符号化回路150は、ライト/リードコントローラ140から入力された読み出しデータを用いて符号化処理を実行する。データ符号化回路150による符号化処理は、例えば、読み出しデータの全部または一部を用いたパリティ演算、チェックサム演算、CRC(巡回冗長検査)により実行される。この場合、符号化演算に用いられるデータはメモリアレイ100に格納されている全ての読み出し可能なデータであっても良く、今回、読み出しが要求されている読み出しデータ自体であっても良い。符号化回路150は、演算により求められたパリティ値(パリティビット)またはチェックサム値等を加えた読み出しデータ列を作成する。ここで、一例として、液体収容体20に備えられている半導体記憶装置10に格納されている読み出しデータには、少なくとも液体使用量(消費量または残量)に関するデータが含まれている場合があり、これらデータの値は変動し、メモリアレイ100のデータは適宜更新される。したがって、液体使用量に関するデータの読み出し要求がある場合だけでなく、他のデータ読み出し要求がある場合にも液体使用量に関するデータを符号化演算に用いることによって、符号化の度に異なる読み出しデータおよびパリティビットの組合せ、またはチェックサム値を得ることが可能となり、読み出しデータ列の唯一性および信頼性を向上させることができる。
あるいは、データ符号化回路150による符号化処理は、読み出しデータの全部または一部を用いたパリティ演算、チェックサム演算等によって求められた演算結果である、パリティビット、チェックサム値を符号化することによって実行される。この場合、データ符号化回路150は、符号化されたパリティビットまたはチェックサム値を加えた読み出しデータ列を作成する。求められた誤り訂正符号が符号化されるので、通信中のデータ化け、改変の検出精度が向上し、データ列の信頼性を向上させることができる。この場合にも、データの値が変動する読み出しデータを用いて求められたチェックサム値、またはパリティビットを用いて符号化処理が実行することによって、読み出しデータ列の信頼性を更に向上させることができる。なお、読み出しデータおよびパリティビットの組合せを用いて符号化処理が実行されても良く、読み出しデータのベリファイ結果(正しいか正しくないかを示す1ビット値)を用いて符号化処理が実行されても良い。
さらには、データ符号化回路150による符号化処理は、読み出しデータの全部または一部を用いた演算結果からハッシュ関数を用いてハッシュ値を求めること(ハッシュ符号化)により実行される。この場合、データ符号化回路150は、パリティビット、チェックサム値、あるいは読み出しデータのベリファイ結果を用いてハッシュ値を求め、求めたハッシュ値を加えた読み出しデータ列を作成する。求められた誤り訂正符号がハッシュ符号化されるので、通信中のデータ化け、改変の検出精度が向上し、データ列の信頼性を向上させることができる。この場合にも、データの値が変動する読み出しデータを用いて求められたチェックサム値、パリティビット、あるいはベリファイ結果を用いてハッシュ値を求めることにより、読み出しデータ列の信頼性を更に向上させることができる。なお、読み出しデータおよびパリティビットの組合せを用いてハッシュ値が求められても良い。
なお、符号化にあたっては、読み出しが要求されたデータのみならず、メモリアレイ100に格納されているその他のデータが用いられても良い。例えば、インク種データといった液体種別の読み出しが要求されている場合であっても、液体使用量(消費量または残量)のデータを用いて符号化処理が実行されても良い。データ値が変動する液体使用量のデータを用いることによって、読み出すタイミング毎に異なる符号化処理結果を得ることが可能となり、読み出しデータの信頼性を向上させることができる。また、半導体記憶装置10における符号化能力が高い場合には、ハッシュ符号化においては、演算により得られた誤り訂正符号のみならず、読み出しデータを含めて符号化が実行されても良く、さらには、誤り訂正符号を算出することなく、読み出しデータ自身をハッシュ符号化しても良い。
本発明の回路の構成の一例は図2に示されたものである。メモリアレイ100からの送信経路は二つに分岐している。分岐した送信経路のうち一方はスイッチ141に至る。そして、他方の経路は、データ符号化回路150を経由してスイッチ141に至る。データ符号化回路150は、他方の経路において、メモリアレイ100とスイッチ141との間の送信経路の途中に設置されるようにすればよい。スイッチ141には、データ符号化回路150からの出力と、メモリアレイ100からの出力とが入力され、スイッチ141はこれらのうちいずれかを選択してデータ端子SDAに出力する。
・液体収容体を含むシステムの構成:
図4は本実施例に係る液体収容体と印刷装置を含むシステムを模式的に示す説明図である。
印刷装置30と各液体収容体20の半導体記憶装置10はクロック信号線CL、データ信号線DL、リセット信号線RLを介してバス方式にて接続されている。すなわち、各半導体記憶装置10は、共通の各信号線を介して印刷装置30に接続されている。印刷装置30は、内部配線によって相互に接続されているデータ生成部31、デコード回路32、および入出力部33を備えている。データ生成部31は、読み出し対象となる半導体記憶装置10を識別するための識別情報(ID)、読み出しコマンド、符号化要求コマンドを含むデータ列を生成する。
デコード回路32は、半導体記憶装置10から受信した符号化された読み出しデータをデコードし、データが正しいか否か(改竄またはノイズ等によって化けていないか否か)を判定するための回路である。具体的には、例えば、パリティビットが付加されている場合には、後述する図6に示すように各8ビットの読み出しデータ毎に付加される1ビットのデータパリティビットDPと、読み出しデータとを用いて算出されたパリティビットが一致すればデータは正しいと判定され、一致しなければデータは誤っていると判定される。また、例えば、符号化されたチェックサム値が付与されている場合には、鍵を用いて符号化されたチェックサム値を復号し、得られたチェックサム値と書き込みデータとを用いてデータが正しいか否かが判定される。さらに、例えば、ベリファイ結果に基づいたハッシュ値が付与されている場合には、読み出しデータのベリファイ処理を実行し、実行結果に対してハッシュ関数を適用して得られたハッシュ値と、読み出しデータに付与されているハッシュ値とが一致すればデータは正しいと判定され、一致しなければデータは誤っていると判定される。ベリファイ処理はデコード回路32によって実現されても良く、あるいは、ベリファイ用の回路を別に備えても良い。
入出力部33は、クロック信号線CL、データ信号線DL、リセット信号線RLと接続されており、半導体記憶装置10に対して、クロック信号SCK、リセット信号RSTを送信し、半導体記憶装置10との間でデータ信号SDAをやりとりする。
半導体記憶装置の動作:
図5および図6を参照して本実施例に係る液体収容体が備える半導体記憶装置10の動作について説明する。図5は本実施例に係る液体収容体が備える半導体記憶装置に対するアクセス制御時に半導体記憶装置において実行される処理ルーチンを示すフローチャートである。図6は本実施例に係る液体収容体が備える記憶装置から出力される読み出しデータ列の一例を模式的に示す説明図である。なお、以下の例では、印刷装置30に対して複数の半導体記憶装置10がバス接続されている場合について説明する。
半導体記憶装置10は印刷装置30からデータを受信すると(ステップS100)、データ(データ列)に含まれるIDが自身のIDと一致するか否かを判定する(ステップS102)。本実施例では、各液体収容体20(各半導体記憶装置10)は印刷装置30に対して共通のクロック信号線CL、データ信号線DL、リセット信号線RLを介してバス接続されているので、印刷装置30から送信されるデータは各半導体記憶装置10に対して送信される。IDの判定は、具体的には、既述の通り、IDコンパレータ130によって受信したデータ列に含まれる識別情報とメモリアレイ100に格納されている識別情報とが一致するか否かが判定される。
半導体記憶装置10は、両IDが一致しないと判定すると(ステップS102:No)、受信したデータは自身に対するデータ列ではないと判断し、今回のアクセスに対する処理ルーチンを終了する。
半導体記憶装置10は、両IDが一致すると判定すると(ステップS102:Yes)、受信したデータの読み出しが要求されているか否かを判定する(ステップS104)。具体的には、既述の通り、IDコンパレータ130はライト/リードコントローラ140に対してアクセス許可信号AENを送信し、ライト/リードコントローラ140はアクセス許可信号AENを受けて、受信したデータ列に含まれるリード/ライトコマンドビットを解析し、書き込み要求または読み出し要求のいずれであるかを判定する。
半導体記憶装置10は、受信したデータの読み出しが要求されていない、すなわち、書き込みが要求されていると判定した場合には(ステップS104:No)、メモリアレイ100に対して受信したデータの書き込み処理を実行し(ステップS108)、本処理ルーチンを終了する。メモリアレイ100に対する所望のアドレスへのデータの書き込みは、ライト/リードコントローラ140によって既述の通り実行される。
半導体記憶装置10は受信したデータの読み出しが要求されていると判定すると(ステップS104:Yes)、読み出しデータの符号化が要求されているか否かを判定する(ステップS106)。具体的には、既述の通り、受信したデータ列の先頭の4〜8ビット目のの符号化選択情報付きW/Rコマンドを解析して判定される。
半導体記憶装置10は、符号化が要求されていない場合には(ステップS106:No)、メモリアレイ100から読み出したデータをデータ信号端子SDATに出力し(ステップS110)、本処理ルーチンを終了する。具体的には、既述の通り、メモリアレイ100から読み出されたままのデータをデータ信号端子SDATに出力されるように、ライト/リードコントローラ140におけるスイッチ141が切り換えられる。
半導体記憶装置10は、符号化が要求されている場合には(ステップS106:Yes)、符号化された読み出しデータをデータ信号端子SDATに出力し(ステップS112)、本処理ルーチンを終了する。具体的には、既述の通り、メモリアレイ100から読み出され、データ符号化回路150を経た符号化読み出しデータがデータ信号端子SDATに出力されるように、ライト/リードコントローラ140におけるスイッチ141が切り換えられる。例えば、パリティビットを用いる符号化が実行された場合には、図6に示すように識別情報3ビットに続く8ビットの読み出しデータ毎の直後にデータパリティビットDPが書き込まれた読み出しデータが印刷装置30に対して送信される。また、チェックサム値の符号化が実行された場合には、図6中のデータパリティビットDPに代えて符号化されたチェックサム値が加えられた読み出しデータが印刷装置30に対して送信される。
以上説明した本実施例に係る液体収容体20によれば、読み出しデータの符号化が要求されている場合には符号化された読み出しデータを出力し、読み出しデータの符号化が要求されていない場合にはメモリアレイ100から読み出されたままの読み出しデータを出力することができる。したがって、印刷装置30が符号化された読み出しデータを処理可能であるか否かに基づいて、2通りの読み出しデータを出力することができる。この結果、液体収容体の適応性を向上させることができる。
また、同一の液体収容体20によって、対応する印刷装置30に対しては符号化処理により印刷装置30と液体収容体20との間におけるデータ通信の信頼性を向上を図ることが可能となり、対応しない印刷装置30に対してはデータの読み出しを可能にすることができる。すなわち、装着対象となる印刷装置30の機能に応じたデータ通信の信頼性を提供することができる。これにより、液体収容体20の種類の増加を抑制することが可能となり、ユーザの混乱の防止、液体収容体20の製造コストあるいは管理コストの増大を抑制または防止することができる。
さらに、本実施例に係る液体収容体20が装着される印刷装置30においては、デコード処理の結果、読み出しデータが誤っていると判断した場合には、読み出しデータを用いる処理、例えば、印刷処理、印刷処理に伴う液体の吸引処理を実行しないことによって、誤ったデータに基づく不都合を未然に防止することができる。例えば、データが誤っているために、液体収容体20内の液体量が印刷ジョブを完了するために必要な液体量よりも少ないにもかかわらず印刷処理を実行し、途中で印刷を中断する事態、あるいは、液体収容体20内の液体量が少ないにもかかわらず印刷処理を実行して空撃ちしてしまい印刷ヘッドを痛めてしまう事態を未然に防止することができる。
・液体収容体の構成:
図7は液体収容体の一例を示す説明図である。液体収容体20は、上述の半導体記憶装置10、および図示しない液体収容室を備えている。液体収容体20は、例えば、インクカートリッジといった印刷記録財収容体であり、半導体記憶装置10は、端子Tを介して印刷装置30から制御信号を受信し、印刷装置に対して読み出しデータ、誤り検出信号を送信する。なお、印刷装置に備えられる液体収容体20は単一であってもよく、複数であっても良い。
その他の実施例:
(1)上記実施例ではライト/リードコントローラ140はスイッチ141を切り換えることによって、符号化された読み出しデータまたは読み出されたままの(非符号化読み出しデータ)をデータ信号端子SDATに出力しているが、図8に示すように、メモリアレイ100から読み出したデータをデータ符号化回路150を介してまたは直接データ信号端子SDATへ出力するように切り換えるスイッチ142を備えていても良い。図8は他の実施例に係るライト/リードコントローラおよびデータ符号化回路の配置構成を示すブロック図である。すなわち、ライト/リードコントローラ140はメモリアレイ100からデータを読み出し、続いて、データ符号化回路150へ出力するか否かを判定しても良い。この場合、スイッチ142は、メモリアレイ100とデータ符号化回路150とを結ぶ経路の途中に設けられるようにすればよい。すなわち、メモリアレイ100からの信号線がスイッチ142に電気的に接続され、スイッチからの出力信号線が、データ符号化回路150及びデータ端子SDATに電気的に接続されているようにすればよい。スイッチ142はメモリアレイ100からのデータをデータ端子SDATに出力するか、データ符号化回路150に出力するかを選択する選択部として機能する。
(2)上記実施例では、シーケンシャルアクセス型のメモリアレイ100を例にとって説明したが、ランダムアクセス型のメモリアレイを備える半導体記憶装置においても同様の効果が得られることは言うまでもない。ランダムアクセス型のメモリアレイの場合には、アドレス信号線をデータ信号線とは別に設けてもよい。また、書き込み単位は1バイトでなくてもよく、1ビット単位でも良い。この場合には、例えば、所望の1ビットを含む数ビットを用いて符号化処理を実行すれば良い。
(3)上記各実施例では、複数の半導体記憶装置10が印刷装置30に対して信号線を介してバス接続される例をとって説明したが、半導体記憶装置10と印刷装置30とはスター接続されていても良く、また、印刷装置30に対して1つの半導体記憶装置10が接続されていても良い。この場合には、識別情報は不要であり、半導体記憶装置はIDコンパレータ130を備えなくて良い。
(4)上記実施例では、データ符号化回路150はライト/リードコントローラ140と別に備えられているが、ライト/リードコントローラ140に組み込まれていても良い。
(5)半導体記憶装置10は、データ符号化回路150によって読み出しデータに対して符号化処理を実行したか否かを示す符号化識別データを読み出しデータ(データ列)に付加しても良い。この場合には、符号化識別データに基づいて、読み出しデータが符号化されたか否かを容易に判定することができる。
(6)上記実施例では、印刷装置と印刷材収容体との間のデータ通信は、端子による電気的な接続により実現されているが、RFIDなどに代表される非接触通信でもよく、その場合、通信部はICタグなどの無線通信用アンテナを用いても良い。
・第2の実施例:
以下、第2の実施例に係る半導体記憶装置および半導体記憶装置におけるアクセス制御方法について図面を参照しつつ、実施例に基づいて説明する。なお、半導体記憶装置は請求項における記憶装置に該当する。
・半導体記憶装置の構成
図9〜図11を参照して本実施例に係る半導体記憶装置の構成について説明する。図9は本実施例に係る半導体記憶装置の機能的な内部構成を示すブロック図である。図10は本実施例に係るライト/リードコントローラの機能的な内部構成を示すブロック図である。図11は本実施例に係る半導体記憶装置に対して入力されるデータ読み出し要求データ列の一例を模式的に示す説明図である。
本実施例に係る半導体記憶装置10zは、外部からアクセス先のアドレスを指定するアドレスデータを入力する必要のないシーケンシャルアクセス方式の記憶装置である。半導体記憶装置10zは、記憶素子としてのメモリアレイ100z、アドレスカウンタ110z、ライト/リードコントローラ140z、データ符号化回路150zを備えている。半導体記憶装置10zはまた、外部の制御装置と電気的に接続されるとともに、データの通信を行うためのデータ端子SDATを通信部として有する。これら各回路は、双方向バス式の信号線によって接続されている。なお、少なくともライト/リードコントローラ140z、データ符号化回路150zを記憶素子制御部と総称することがある。
記憶素子としてのメモリアレイ100zは、データの電気的な消去、書き込みが可能なEEPROMの特性を有する記憶領域である。メモリアレイ100zには、1ビットの情報を格納するデータセル(メモリセル)が複数備えられている。メモリアレイ100zは、例えば、1行に8アドレス(データ8ビット分のアドレス)を所定のアドレス単位として備えており、1列に16個のデータセル(16ワード)が配置されてる場合には、16ワード×8ビット(128ビット)のデータを格納することができる。
本実施例におけるメモリアレイ100zは、上述のように8ビットを単位とする複数の行を備えているが、各行は独立したデータセル列ではなく、いわば、1本のデータセル列を8ビット単位で折り曲げることによって実現されている。すなわち、便宜的に9ビット目を含む行を2バイト目、17ビット目を含む行を3バイト目と呼んでいるに過ぎない。この結果、メモリアレイ100zにおける所望のアドレスにアクセスするためには、先頭から順次アクセスする、いわゆる、シーケンシャルアクセス方式によるアクセスが必要となり、ランダムアクセス方式の場合に可能な所望のアドレスに対する直接的なアクセスは不可能となる。
メモリアレイ100zにおける各データセルには、ワード線とビット(データ)線が接続されており、対応するワード線(行)を選択(選択電圧を印加)して、対応するビット線に書き込み電圧を印加することによってデータセルにデータが書き込まれる。また、対応するワード線(行)を選択し、対応するビット線をライト/リードコントローラ140zと接続し、電流の検出の有無によってデータセルのデータ(1または0)が読み出される。なお、本実施例における所定アドレス単位とは、1本のワード線に書き込み電圧を加えることにより書き込みが可能なアドレス数(データセル数)であるということができる。
メモリアレイ100zは、アドレスカウンタ110zによりカウントされた外部クロックパルス数に応じて順次、列(ビット線)をライト/リードコントローラ140zと接続する図示しないカラム選択回路を備えている。メモリアレイ100はまた、アドレスカウンタ110zによりカウントされた外部クロックパルス数に応じて順次、行(ワード線)に選択電圧を印加する図示しないロー選択回路を備えている。以上のように、本実施例に係る半導体記憶装置10zでは、アドレスデータを用いたメモリアレイ100zに対するアクセスは実行されず、専らアドレスカウンタ110zによってカウントされたクロックパルス数にしたがって、所望のアドレスに対するアクセスが実行される。
アドレスカウンタ110zは、リセット信号端子RSTT、クロック信号端子SCKT、ライト/リードコントローラ140z、メモリアレイ100zと接続されている。アドレスカウンタ110zは、リセット信号端子RSTTを介して入力されるリセット信号を0(またはロー)にすることにより初期値にリセットされ、リセット信号が1とされた後にクロック信号端子SCKTを介して入力されるクロックパルスの立ち下がりに同期してクロックパルス数をカウント(カウント値をインクリメント)する。
本実施例に用いられるアドレスカウンタ110zは、メモリアレイ100zの1行のデータセル数(ビット数)に対応する8個のクロックパルス数を格納する8ビットのアドレスカウンタである。なお、初期値はメモリアレイ100zの先頭位置と関連付けられていればどのような値でも良く、一般的には0が初期値として用いられる。
ライト/リードコントローラ140zは、データ符号化回路150z、クロック信号端子SCKT、データ信号端子SDAT、リセット信号端子RSTTと接続されている。ライト/リードコントローラ140zは、リセット信号RSTが入力された後の1つめのクロック信号に同期してデータ信号端子SDATを介して入力されるデータ列に含まれる書き込み/読み出し制御情報(1〜5ビット目の符号化選択情報付きW/R情報)を確認し(図11参照)、半導体記憶装置10zの内部動作を書き込みまたは少なくとも2つ以上の読み出し経路の内のいずれか一つの経路切り換える回路である。ここで、本実施例において半導体記憶装置10zに入力されるデータ列は、図11に示すように、先頭から5ビットに符号化選択情報付きW/Rコマンド、6ビット目にコマンドパリティビットCPを備え、データ列が書き込みデータである場合には、8ビットの書き込みパケットデータ(図11の例では7ビット目〜14ビット目)、データパリティビットDP(図11の例では15ビット目)を備えている。なお、書き込みパケットデータは複数含まれ得ると共に、各書き込みパケットデータの直後にはデータパリティビットDPが付加される。
具体的には、ライト/リードコントローラ140zは、取得した書き込み/読み出し情報を解析し、解析結果に従ってメモリアレイ100zに対するデータ転送方向ならびにデータ信号端子SDATに対する(データ信号端子SDATと接続されている信号線の)データ転送方向を切り換え制御する。ライト/リードコントローラ140zは、データ信号端子SDATからの入力信号線に対して、データ信号端子SDATから入力された書き込みデータのうち、オペレーションコード以降の8ビットの書き込みデータを一時的に格納する8ビットレジスタ(図示しない)およびメモリアレイ100zから読み出したデータを格納するレジスタ(図示しない)を備えている。
8ビットレジスタには、データ信号端子SDATから入力信号線を介して入力されるデータ列(MSB)が8ビットとなるまで保持され、8ビット分揃ったところで、保持されている8ビットのデータがメモリアレイ100zに対して書き込まれる。
ライト/リードコントローラ140zは、電源ON時、リセット時には、メモリアレイ100zに対するデータ転送方向を読み出し方向に設定し、データ信号端子SDATに接続されている信号線をハイインピーダンスとすることでデータ信号端子SDATに対するデータ転送を禁止する。この状態は、書き込み/読み出し情報を解析し、書き込みが要求されていると判断されるまで維持される。したがって、リセット信号入力後にデータ信号端子SDATを介して入力されるデータ列の先頭ビットのデータはメモリアレイ100zに書き込まれることはなく、メモリアレイ100zの先頭ビットは読み出し専用状態となる。
ライト/リードコントローラ140zは、書き込み処理時には、書き込み可能領域の先頭アドレスに相当する数のクロックパルス入力を受けると、バス信号線のデータ転送方向を書き込み方向に切り換える。書き込み可能領域の終端アドレスに相当する数のクロックパルス入力を受けると、ライト/リードコントローラ140zは、バス信号線のデータ転送方向を読み出し方向に切り換える。書き込みに必要な書き込み電圧は、例えば、図示しないチャージポンプ回路によって生成される。
ライト/リードコントローラ140zは、読み出し処理時には、書き込み可能領域の先頭アドレスに相当する数のクロックパルス入力を受けると、バス信号線のデータ転送方向を読み出し方向に切り換える。
ライト/リードコントローラ140zは、図10に示すように、メモリアレイ100zから読み出したままのデータ、あるいは、データ符号化回路150zを介して符号化された読み出しデータのいずれかを選択して出力するための選択部としてスイッチ141zを備えている。ライト/リードコントローラ140zは、制御装置としてのホストコンピュータから読み出しデータの符号化の要求がある場合には、符号化された読み出しデータを出力するようにスイッチ141zを切り換え、読み出しデータの符号化の要求がない場合には、読み出したままのデータを出力するようにスイッチ141zを切り換える。この結果、符号化された読み出しデータに対応していないホストコンピュータは、データの符号化を要求しないため符号化されていない読み出しデータを用いて所望の処理を実行することが可能となり、一方、符号化された読み出しデータに対応しているホストコンピュータはデータの符号化を要求することによって符号化された読み出しデータを用いて所望の処理を実行することが可能となる。
データ符号化回路150zは、ライト/リードコントローラ140zと信号線を介して接続されている。データ符号化回路150zは、ライト/リードコントローラ140zから入力された読み出しデータを用いて符号化処理を実行する。データ符号化回路150zによる符号化処理は、例えば、読み出しデータの全部または一部を用いたパリティ演算、チェックサム演算、CRC(巡回冗長検査)により実行される。この場合、符号化演算に用いられるデータはメモリアレイ100zに格納されている全ての読み出し可能なデータであっても良く、今回、読み出しが要求されている読み出しデータであっても良い。データ符号化回路150zは、演算により求められたパリティ値(パリティビット)またはチェックサム値等を加えた読み出しデータ列を作成する。ここで、符号化処理を実行する際には、読み出しが要求されたデータに加えて、データの読み出し要求の如何にかかわらず直近に書き込まれた(更新された)データ、あるいは、データの値が定期的に更新されるデータを符号化演算に用いることによって、符号化の度に異なる読み出しデータおよびパリティビットの組合せ、またはチェックサム値を得ることが可能となり、読み出しデータ列の唯一性および信頼性を向上させることができる。
あるいは、データ符号化回路150zによる符号化処理は、読み出しデータの全部または一部を用いたパリティ演算、チェックサム演算等によって求められた演算結果である、パリティビット、チェックサム値を符号化することによって実行される。この場合、データ符号化回路150zは、符号化されたパリティビットまたはチェックサム値を加えた読み出しデータ列を作成する。求められた誤り訂正符号が符号化されるので、通信中のデータ化け、改変の検出精度が向上し、データ列の信頼性を向上させることができる。この場合にも、読み出しが要求されたデータに加えて、データの値が変動する読み出しデータあるいは直近に書き込まれた(更新された)データを用いて求められたチェックサム値、またはパリティビットを用いて符号化処理が実行することによって、読み出しデータ列の信頼性を更に向上させることができる。なお、読み出しデータおよびパリティビットの組合せを用いて符号化処理が実行されても良く、読み出しデータのベリファイ結果(正しいか正しくないかを示す1ビット値)を用いて符号化処理が実行されても良い。
さらには、データ符号化回路150zによる符号化処理は、読み出しデータの全部または一部を用いた演算結果からハッシュ関数を用いてハッシュ値を求めること(ハッシュ符号化)により実行される。この場合、データ符号化回路150zは、パリティビット、チェックサム値、あるいは読み出しデータのベリファイ結果を用いてハッシュ値を求め、求めたハッシュ値を加えた読み出しデータ列を作成する。求められた誤り訂正符号がハッシュ符号化されるので、通信中のデータ化け、改変の検出精度が向上し、データ列の信頼性を向上させることができる。この場合にも、読み出しが要求されたデータに加えて、データの値が変動する読み出しデータあるいは直近に書き込まれた(更新された)データを用いて求められたチェックサム値、パリティビット、あるいはベリファイ結果を用いてハッシュ値を求めることにより、読み出しデータ列の信頼性を更に向上させることができる。なお、読み出しデータおよびパリティビットの組合せを用いてハッシュ値が求められても良い。
さらに、符号化にあたっては、読み出しが要求されたデータではなく、メモリアレイ100zに格納されているその他のデータが用いられても良い。例えば、データの値が変動する読み出しデータあるいは直近に書き込まれた(更新された)データを用いてパリティビット、チェックサム値といった符号値を求め、求めた符号値と符号値を求めるために用いられたデータが、読み出しの要求されたデータと共に送信されても良い。この場合には、符号化演算の付加を軽減できると共に値が更新されるデータを用いることによって、読み出すタイミング毎に異なる符号化処理結果を得ることが可能となり、読み出しデータの信頼性を向上させることができる。また、半導体記憶装置10zにおける符号化能力が高い場合には、ハッシュ符号化においては、演算により得られた誤り訂正符号のみならず、読み出しデータを含めて符号化が実行されても良く、さらには、誤り訂正符号を算出することなく、読み出しデータ自身をハッシュ符号化しても良い。
なお、値が更新されるデータの例としては、時刻、日付などの他、制御装置の動作に関連するデータであって制御装置において管理する必要があるデータなどがあげられる。このような制御装置の動作に伴って異なる値を持ち得るデータを符号化に利用することで、データの唯一性が高くなり、信頼性の高い符号化が可能となる。
本発明の回路の構成の一例は図10に示されたものである。メモリアレイ100zからの送信経路は二つに分岐している。分岐した送信経路のうち一方はスイッチ141zに至る。そして、他方の経路は、データ符号化回路150zを経由してスイッチ141zに至る。データ符号化回路150zは、他方の経路において、メモリアレイ100zとスイッチ141zとの間の送信経路の途中に設置されるようにすればよい。スイッチ141zは、データ符号化回路150zからの出力と、メモリアレイ100zからの出力とが入力され、これらのうちいずれかを選択してデータ端子SDATに出力する。
・半導体記憶装置を含むシステムの構成:
図12は本実施例に係る記憶装置とコンピュータ30zを含むシステムを模式的に示す説明図である。半導体記憶装置10zは、例えば、接続ケーブル、接続端子を介してコンピュータ30zと接続可能な外付け記憶装置20として実現され得る。
図12において、コンピュータ30zと半導体記憶装置10zは、クロック信号線CL、データ信号線DL、リセット信号線RLを含む接続ケーブルを介して接続されている。あるいは、半導体記憶装置10が接続端子を備え、コンピュータ30zが備える接続端子に直接接続(装着)されても良い。コンピュータ30zは、内部配線によって相互に接続されているデータ生成部31z、デコード回路32z、および入出力部33zを備えている。データ生成部31zは、読み出しコマンド、符号化要求コマンドを含むデータ列を生成する。
デコード回路32zは、半導体記憶装置10zから受信した符号化された読み出しデータをデコードし、データが正しいか否か(改竄またはノイズ等によって化けていないか否か)を判定するための回路である。具体的には、例えば、パリティビットが付加されている場合には、後述する図14に示すようにデータ列の読み出しデータ8ビット毎に付加されているデータパリティビットDPと、読み出しデータとを用いて算出されたパリティビットが一致すればデータは正しいと判定され、一致しなければデータは誤っていると判定される。また、例えば、符号化されたチェックサム値が付与されている場合には、鍵を用いて符号化されたチェックサム値を復号し、得られたチェックサム値と書き込みデータとを用いてデータが正しいか否かが判定される。さらに、例えば、ベリファイ結果に基づいたハッシュ値が付与されている場合には、読み出しデータのベリファイ処理を実行し、実行結果に対してハッシュ関数を適用して得られたハッシュ値と、読み出しデータに付与されているハッシュ値とが一致すればデータは正しいと判定され、一致しなければデータは誤っていると判定される。ベリファイ処理はデコード回路32zによって実現されても良く、あるいは、ベリファイ用の回路を別に備えても良い。
入出力部33zは、クロック信号線CL、データ信号線DL、リセット信号線RLと接続されており、半導体記憶装置10zに対して、クロック信号SCK、リセット信号RSTを送信し、半導体記憶装置10zとの間でデータ信号SDAをやりとりする。
半導体記憶装置の動作:
図13および図14を参照して本実施例に係る半導体記憶装置10zの動作について説明する。図13は本実施例に係る半導体記憶装置に対するアクセス制御時に半導体記憶装置において実行される処理ルーチンを示すフローチャートである。図14は本実施例に係る半導体記憶装置から出力される読み出しデータ列の一例を模式的に示す説明図である。
外付け記憶装置20zの半導体記憶装置10zはコンピュータ30zからデータを受信すると(ステップS120)、受信したデータの読み出しが要求されているか否かを判定する(ステップS122)。具体的には、ライト/リードコントローラ140zは受信したデータ列の先頭ビットに書き込まれている符号化選択情報付きライト/リードコマンドビットを解析し、書き込み要求または読み出し要求のいずれであるかを判定する。
半導体記憶装置10zは、受信したデータの読み出しが要求されていない、すなわち、書き込みが要求されていると判定した場合には(ステップS122:No)、メモリアレイ100zに対して受信したデータの書き込み処理を実行し(ステップS126)、本処理ルーチンを終了する。メモリアレイ100zに対する所望のアドレスへのデータの書き込みは、ライト/リードコントローラ140zによって既述の通り実行される。
半導体記憶装置10zは受信したデータの読み出しが要求されていると判定すると(ステップS122:Yes)、読み出しデータの符号化が要求されているか否かを判定する(ステップS124)。具体的には、既述の通り、受信したデータ列の先頭の1〜5ビット目の符号化選択情報付きW/Rコマンドを解析して判定される。
半導体記憶装置10は、符号化が要求されていない場合には(ステップS124:No)、メモリアレイ100zから読み出したデータをデータ信号端子SDATに出力し(ステップS128)、本処理ルーチンを終了する。具体的には、既述の通り、メモリアレイ100zから読み出されたままのデータを選択して、データ信号端子SDATに出力されるように、ライト/リードコントローラ140zにおけるスイッチ141zが切り換えられる。
半導体記憶装置10zは、符号化が要求されている場合には(ステップS124:Yes)、符号化された読み出しデータをデータ信号端子SDATに出力し(ステップS130)、本処理ルーチンを終了する。具体的には、既述の通り、メモリアレイ100zから読み出され、データ符号化回路150zを経た符号化読み出しデータが選択されてデータ信号端子SDATに出力されるように、ライト/リードコントローラ140zにおけるスイッチ141zが切り換えられる。例えば、パリティビットを用いる符号化が実行された場合には、図14に示すように8ビットの読み出しデータ毎の直後にデータパリティビットDPが書き込まれた読み出しデータがコンピュータ30zに対して送信される。また、チェックサム値の符号化が実行された場合には、図14中のデータパリティビットDPに代えて符号化されたチェックサム値が加えられた読み出しデータがコンピュータ30zに対して送信される。
以上説明した本実施例に係る半導体記憶装置10zによれば、読み出しデータの符号化が要求されている場合には符号化された読み出しデータを出力し、読み出しデータの符号化が要求されていない場合にはメモリアレイ100zから読み出されたままの読み出しデータを出力することができる。したがって、コンピュータ30zが符号化された読み出しデータを処理可能であるか否かに基づいて、2通りの読み出しデータを出力することができる。この結果、半導体記憶装置10zの適応性を向上させることができる。
また、同一の半導体記憶装置10zによって、対応するコンピュータ30zに対しては符号化処理によりコンピュータ30zと半導体記憶装置10zとの間におけるデータ通信の信頼性を向上を図ることが可能となり、対応しないコンピュータ30zに対してはデータの読み出しを可能にすることができる。すなわち、装着対象となるコンピュータ30の機能に応じたデータ通信の信頼性を提供することができる。これにより、半導体記憶装置10zの種類の増加を抑制することが可能となり、ユーザが混乱することなく製品を購入、使用することができる。加えて、半導体記憶装置10zの製造コストあるいは販売上の管理コストの増大を抑制または防止することができる。
さらに、本実施例に係る半導体記憶装置10zが装着されるコンピュータ30zにおいては、デコード処理の結果、読み出しデータが誤っていると判断した場合には、読み出しデータを用いる処理、例えば、データベース処理といった処理を実行しないことによって、誤ったデータに基づく不都合を未然に防止することができる。例えば、データが誤っているために、誤った経理処理が実行されるといった不都合を防止、抑制することができる。
その他の実施例:
(1)上記実施例ではライト/リードコントローラ140zはスイッチ141zを切り換えることによって、符号化された読み出しデータまたは読み出されたままの(非符号化読み出しデータ)をデータ信号端子SDATに出力しているが、図15に示すように、メモリアレイ100zから読み出したデータをデータ符号化回路150zを介してまたは直接データ信号端子SDATへ出力するように切り換えるスイッチ142を備えていても良い。図15は他の実施例に係るライト/リードコントローラおよびデータ符号化回路の配置構成を示すブロック図である。すなわち、ライト/リードコントローラ140zはメモリアレイ100zからデータを読み出し、続いて、データ符号化回路150zへ出力するか否かを判定しても良い。この場合、スイッチ142zは、メモリアレイ100zとデータ符号化回路150zとを結ぶ経路の途中に設けられるようにすればよい。すなわち、メモリアレイ100zからの信号線がスイッチ142zに電気的に接続され、スイッチからの出力信号線が、データ符号化回路150z及びデータ端子SDATに電気的に接続されているようにすればよい。スイッチ142zはメモリアレイ100zからのデータをデータ端子SDATに出力するか、データ符号化回路150zに出力するかを選択する選択部として機能する。
(2)上記実施例では、シーケンシャルアクセス型のメモリアレイ100zを例にとって説明したが、ランダムアクセス型のメモリアレイ、フラッシュメモリを備える半導体記憶装置においても同様の効果が得られることは言うまでもない。ランダムアクセス型の場合には、オペコードを解析してRAS信号およびCAS信号によって行アドレスと列アドレスを指定することによって所望のアドレスのデータを読み出すことが可能となり、フラッシュメモリの場合にはメモリコントローラによって、コンピュータ30により指定された論理アドレスを物理アドレスに変化して所望のデータを読み出すことが可能となる。ランダムアクセス型のメモリアレイの場合には、アドレス信号線をデータ信号線とは別に設けてもよい。また、コンピュータ30zと半導体記憶装置10zを備える外付け記憶装置とは、USBケーブル、シリアルケーブル、IEEE1394ケーブルといった種々の型の通信ケーブルを介して、あるいは、USB端子、シリアル端子、IEEE1394端子を介して直接接続され得る。この場合、コンピュータ30zとのデータのやりとりを制御する通信制御部がさらに備えられる。さらに、書き込み単位は1バイトでなくてもよく、1ビット単位、ブロック単位であっても良い。この場合には、例えば、所望の1ビットを含む数ビットを用いて符号化処理を実行すれば良い。
(3)上記実施例では、単数の半導体記憶装置10zがコンピュータ30zに対して信号線を介して接続される例をとって説明したが、複数の半導体記憶装置10zとコンピュータ30zとはUSBによってバス接続されていても良い。この場合には、識別情報は各半導体記憶装置10zは識別情報によって識別され、各半導体記憶装置10zからの読み出しデータもまた識別情報に基づいていずれの半導体記憶装置10zから送信されたデータであるかが判別される。
(4)上記実施例では、データ符号化回路150zはライト/リードコントローラ140zと別に備えられているが、ライト/リードコントローラ140zに組み込まれていても良い。
(5)半導体記憶装置10zは、データ符号化回路150zによって読み出しデータに対して符号化処理を実行したか否かを示す符号化識別データを読み出しデータ(データ列)に付加しても良い。この場合には、符号化識別データに基づいて、読み出しデータが符号化されたか否かを容易に判定することができる。
(6)上記実施例では、印刷装置と印刷材収容体との間のデータ通信は、端子による電気的な接続により実現されているが、RFIDなどに代表される非接触通信でもよく、その場合、通信部はICタグなどの無線通信用アンテナを用いても良い。
・第3の実施例:
符号化システムの構成:
図16は本実施例において用いられる回路基板上に実装された半導体装置の機能的な内部構成を示すブロック図である。図17は本実施例に係るライト/リードコントローラの機能的な内部構成を示すブロック図である。なお、本実施例に係る半導体装置は、第1の実施例に係る半導体記憶装置と同様にして、印刷装置に接続され、印刷装置からのアクセス(書き込み、読み出し等のアクセス)に基づき動作する。
本実施例に係る半導体装置10aは、メモリアレイ100a、クロックカウンタ111a、アドレスセレクタ112、IDコンパレータ130a、ライト/リードコントローラ140a、符号化データ生成回路(検証用データ生成回路)150a、パリティビット生成・付加回路160を備えている。なお、少なくともIDコンパレータ130a、ライト/リードコントローラ140a、符号化データ生成回路150aをメモリ制御部(記憶素子制御部)と総称することがある。なお、本実施例では、半導体装置10aは回路基板CB上に実装されている。回路基板CBは印刷装置の記録材(記録剤)を収容する液体収容体に備えられ、液体収容体が印刷装置に装着されたときに半導体装置と印刷装置とは電気的に接続される。半導体装置10aのリセット信号端子RSTT、クロック信号端子SCKT、電源端子VDDT、VSST、データ信号端子SDATは、回路基板CBの外部端子T、すなわち、外部リセット信号端子T1、外部クロック信号端子T2、外部電源端子T3、T4、外部データ信号端子T5とそれぞれ電気的に接続されている。リセット信号端子RSTT、クロック信号端子SCKT、電源端子VDDT、VSSTには、それぞれ印刷装置からリセット信号、クロック信号、電源電圧が供給される。本実施例に係る半導体装置10aは、リセット信号がローレベルの時に初期化されて初期化状態となり、リセット信号がハイレベルに切り替わると初期化状態が解除されて印刷装置からアクセスを受け付ける。
メモリアレイ100a(記憶素子)は、第1の実施例において用いられたメモリアレイ100と基本的に同様の構成を備えている。本実施例におけるメモリアレイ100aは、印刷装置のコントローラによるアクセス開始後、最初にアドレスセレクタ112によって選択される行に、半導体装置10aの識別情報IDを記憶している。識別情報IDは、印刷装置にバス接続される複数の半導体装置のうち、印刷装置からのアクセス対象となる1つの半導体装置を選択するために用いられる。
メモリアレイ100aには、アドレスセレクタ112から出力される行選択信号によって指定される行(ワード線)に対して、ライト/リードコントローラ140aによる制御の下、書き込み、若しくは読み出しが実行される。本実施例におけるメモリアレイ100aでは、所定行に対して8ビット分のセルが選択されるように構成されている。したがって、行選択信号によって選択される行の8ビット分のメモリセル単位で読み出し、若しくは書き込みが実行される。
クロックカウンタ111aは、リセット信号端子RSTT、クロック信号端子SCKT、ライト/リードコントローラ140a、アドレスセレクタ112と接続されている。クロックカウンタ111aは、リセット信号端子RSTTを介して入力されるリセット信号を0(またはロー)にすることにより初期値にリセットされ、リセット信号が1とされた後にクロック信号端子SCKTを介して入力される外部クロックパルスの立ち下がりに同期してクロックパルス数をカウント(カウント値をインクリメントまたはデクリメント)する。クロックカウンタ111aの初期値は、メモリアレイ100aにおいて識別情報IDが格納されているW0行(先頭行とも言う)を選択する値と関連付けられていればどのような値でも良く、一般的には0が初期値として用いられる。クロックカウンタ111aは外部クロックを分周してアドレスカウント用のクロックを生成し、アドレスセレクタ112に出力する。クロックカウンタ111aは、アクセスの種類、読み出し、若しくは書き込み、に応じて異なる周期で外部クロックを分周する。例えば、アクセスの種類が書き込みの時には8個の外部クロックで1個のアドレスカウント用クロックが生成され、アクセスの種類が、後述する通常読み出しの時には9個の外部クロックで1個のアドレスカウント用クロックが生成される。
アドレスセレクタ112は、リセット信号端子RSTT、ライト/リードコントローラ140a、クロックカウンタ111およびメモリアレイ100aに接続されている。アドレスセレクタ112は、クロックカウンタ111aから出力されるアドレスカウント用クロックのパルス数をカウントし、そのカウント値に応じて行選択信号を生成する。行選択信号は、メモリアレイ100aの所望の行を直接選択(指定)するための信号である。アドレスセレクタ112がカウントするカウント値はリセット信号がロー(リセットロー)のときに初期化される。初期化時におけるカウント値の初期値はメモリアレイ100aの先頭行を選択する行選択信号が生成される値である。アドレスセレクタ112は、ライト/リードコントローラ140aの制御に基づき、行選択信号をメモリアレイ100aに出力する。
IDコンパレータ130aは、クロック信号端子SCKT、データ信号端子SDAT、リセット信号端子RSTT、ライト/リードコントローラ140aに接続されている。IDコンパレータ130aは、半導体装置10aの初期化状態の解除後、印刷装置のコントローラから送信されデータ信号端子SDATを介して入力されるデータ列に含まれる識別情報IDとメモリアレイ100aに予め格納されている識別情報IDとが一致するか否かを判定する。詳述すると、IDコンパレータ130aは、ハイレベルのリセット信号RSTが入力された後に入力されるデータ列の先頭3ビットのデータ、すなわち、識別情報IDを取得する。また、同じタイミングにて、ライト/リードコントローラ140aを介して、アドレスセレクタ112のカウンタの初期値によって選択される行に含まれる識別情報IDを取得する。IDコンパレータ130aは、印刷装置から送信されたデータ列に含まれる先頭3ビットのデータ(印刷装置がアクセス対象とする半導体装置10を指定するための識別データ)と、メモリアレイ100aから読み出した識別情報IDとが一致するか否かを判定する。IDコンパレータ130aは、両識別データIDが一致する場合には、アクセス許可信号AENをライト/リードコントローラ140aに送出する。一方、両識別データIDが一致しない場合には、IDコンパレータ130aはアクセス許可信号AENを出力しない。これにより、識別データIDが一致しないと判断した半導体装置10aは、書き込み、読み出しのいずれも実行せず、リセット信号(0)の入力によって初期化状態に戻る。
ライト/リードコントローラ140aは、メモリアレイ100a、アドレスセレクタ112、IDコンパレータ130a、符号化データ生成回路150a、パリティビット生成付加回路160、クロック信号端子SCKT、データ信号端子SDAT、リセット信号端子RSTTと接続されている。ライト/リードコントローラ140aは、第1の実施例において用いられたライト/リードコントローラ140と基本的に同様の構成を備えている。ライト/リードコントローラ140aは、データ信号端子SDATから入力される書き込み時の送信データ列(図23に想到するデータ列)のうち、書き込みデータ列を一時的に格納する8ビットレジスタ(図示しない)およびメモリアレイ100aから読み出したデータを格納するレジスタ(図示しない)を備えている。8ビットレジスタには、データ信号端子SDATから入力信号線を介して入力されるデータ列(MSB)が8ビットとなるまで保持され、8ビット分揃ったところで、保持されている8ビットのデータがメモリアレイ100aに対して書き込まれる。
ライト/リードコントローラ140aは、印刷装置から送信される識別情報IDに続いて送信される半導体装置10aに対するアクセスの種類を示すコマンド(送信データ列の4ビット目〜8ビット目)を解析し、印刷装置からのアクセスが書き込みを要求であるのか(書き込みコマンドを受信したのか)、通常読み出しを要求であるのか(通常読み出しコマンドを受信したのか)、符号化読み出し要求であるのか(符号化読み出しコマンド(検証用データ生成コマンドともいう)を受信したのか)を解析する。したがって、ライト/リードコントローラ140aは符号化判定部と呼ぶこともできる。ライト/リードコントローラ140aは、IDコンパレータ130aからアクセス許可信号AENが入力されると、コマンド解析結果に基づいて、書き込み処理、または読み出し処理を実行する。
ライト/リードコントローラ140aは、半導体装置10aに電源が供給され、初期化状態が解除された時には、メモリアレイ100aをデータ読み出し方向に設定し、また、半導体装置10aから印刷装置に対してデータが送信されないように設定する。この状態は、アクセスの種類(コマンド)を解析し、書き込み若しくは読み出しのいずれかの処理が実行されるまで維持される。したがって、リセット信号入力後にデータ信号端子SDATを介して入力される送信データ列のデータはメモリアレイ100aに書き込まれることはなく、一方で、メモリアレイ100aの先頭3ビットに格納されているデータ(識別情報ID)は、IDコンパレータ130aに送出される。この結果、メモリアレイ100aの先頭行は読み出し専用状態となる。
ライト/リードコントローラ140aは、図17に示すように、メモリアレイ100aから読み出したままのデータ(通常データ)、あるいは、符号化データ生成回路150aを介して符号化された読み出しデータ(符号化データ)のいずれかを選択して出力するための選択部としてスイッチ141aを備えている。ライト/リードコントローラ140aは、印刷装置から送信されたデータ列に含まれるコマンドが符号化読み出しコマンドである場合には、符号化された読み出しデータを出力するようにスイッチ141aを符号化位置SP1に切り換え、通常読み出しコマンドである場合には、読み出したままのデータを出力するようにスイッチ141aを通常位置SP2に切り換える。この結果、メモリアレイ100aとデータ端子SDAT間の経路は、符号化データ読み出し時と通常読み出し時とでは異なる。
符号化データ生成回路150aは、ライト/リードコントローラ140aと信号線を介して接続されている。符号化データ生成回路150aは、ライト/リードコントローラ140aから入力された複数行分の読み出しデータを用いて符号化処理を実行する。符号化データ生成回路150aによる符号化処理では、先ず、複数行分の読み出しデータについてチェックサム演算を実行し、8ビットのチェックサムデータを生成する(第1の符号化)。本実施例では、符号化対象となるデータ(通常データ)として、印刷の実行に伴い印刷装置のコントローラによって更新されるデータであるインク量データ(インク残量データまたはインク消費量データ)と、印刷の実行に伴い印刷装置のコントローラによって更新されず、読み出しのみに用いられるインクカートリッジの製造に関するデータが用いられる。次に、符号化データ生成回路150aは、生成したチェックサムデータに対して可逆的な符号化処理を実行して符号化データ(検証用データ)を生成する。なお、チェックサムに代えて、符号化対象の読み出しデータに対して、ハッシュ関数を用いて不可逆的なハッシュ値を求める演算処理を行っても良い。生成された検証用データは、ライト/リードコントローラ140aに出力される。
パリティビット生成・付加回路160は、ライト/リードコントローラ140aと接続されている。パリティビット生成・付加回路160は、符号化データ生成回路150aによって生成された検証用データ、または、符号化されていない通常データ(通常読み出しデータ)と、をライト/リードコントローラ140aから受信し、受信した検証用データまたは通常読み出しデータを用いてパリティビットを生成する。パリティビット生成・付加回路160は、生成したパリティビットを検証用データまたは通常読み出しデータに付加して、ライト/リードコントローラ140aに送信する。パリティビットの生成は、通常読み出しデータのデータ列(8ビット)毎のデータ列、あるいは、検証用データのデータ列を用いて実行される。なお、本実施例では、パリティビット生成・付加回路160によって実行されるパリティビットの生成および生成されたパリティビットのデータ列に対する付加は、データ列の符号化とは呼ばない。
インクカートリッジと印刷装置の構成:
図18は液体収容体としてのインクカートリッジの概略構成を示す説明図である。図19は本実施例に係る印刷装置とインクカートリッジとの接続態様を示す説明図である。
インクカートリッジ20aは、上述の半導体装置10aが実装された回路基板CB、および図示しないインク収容室を備えている。印刷装置300は、インクカートリッジ20aを脱着可能に搭載するための搭載部310、インクカートリッジ20aの外部端子T(T1〜T5)と接続する印刷装置側端子320を備えている。搭載部310は、キャリッジ上に配置されていても良く(オンキャリッジタイプ)、キャリッジ上ではない任意の場所に配置されていても良い(オフキャリッジタイプ)。また、インクカートリッジ20aは、印刷装置300の外部に設けられた搭載部310に配置されていてもよく、さらには、印刷装置300の内部に配置されている搭載部310に対して回路基板CBのみが装着され、インクカートリッジ20a本体は印刷装置300の外部に配置されていても良い。
印刷装置300は、中央演算装置(CPU)301、ROM、RAM等の記憶装置302、入出力部303、印刷部304を備えている。CPU301、記憶装置302、入出力部303および印刷部304は内部バスによって双方向通信可能に接続されている。記憶装置302のROMは、書き込み用のデータ列(識別情報IDと書き込みコマンドとメモリアレイへの書き込みデータ列)、メモリアレイに記憶されているデータをそのまま読み出す通常読み出し用のデータ列(識別情報IDと通常読み出しコマンド)、または、メモリアレイから読み出したデータに符号化処理を施して符号化データを読み出す(メモリアレイから読み出したデータから検証用データを生成して検証用データを受信する)ための符号化読み出しのデータ列(識別情報IDと符号化読み出しコマンド)を生成するデータ生成モジュール302a、データを符号化ままたは復号するための符号化・復号モジュール302b、通信の検証を行う通信検証モジュール302cを格納する。また、記憶装置302のRAMは、半導体装置10aから読み出したデータ、生成された書き込み用データ、モジュールの実行に必要とされるデータを一時的に記憶する。データ生成モジュール302a、符号化・復号モジュール302b、通信検証モジュール302cは、CPU301によって実行されることによって、それぞれ通常データ読み出し部、符号化データ読み出し部およびデータ書き込み部、符号化・復号部、検証部として機能する。また、CPU301がこれらの各モジュールを実行することによって実現される機能は、それぞれ、ハードウェアとして実現されても良い。入出力部303は印刷装置側端子320と接続されており、インクカートリッジ20aが備える半導体装置10aに対してデータを送信し、あるいは、半導体装置10aからデータを受信する。印刷部304は、少なくともキャリッジに備えられた印刷ヘッド、印刷媒体(印刷用紙)を副走査方向に搬送する搬送機構を備え、印刷ヘッドを介してインクカートリッジ20aから供給されたインクを吐出して印刷媒体上に画像を形成する。印刷装置300のCPU301、記憶装置302および入出力部303を印刷装置300のコントローラともいう。印刷装置300のコントローラは、半導体装置10aに対する各アクセスの終了の度に、リセット信号線を介して、半導体装置10aを初期化状態とするリセット信号を半導体装置に送信する。
なお、印刷装置300に備えられるインクカートリッジ20aは単一であってもよく、複数であっても良い。複数の場合には、図4に示すように、インクカートリッジ20aに備えられている半導体装置10aは、印刷装置300のコントローラに対してバス接続される。
・通信検証処理:
図20は本実施例に係る印刷装置と半導体装置との間で実行される通信検証処理の一例を示す説明図である。図21はデータ書き込み時に印刷装置から本実施例に係る半導体装置に対して送信されるデータ列の例を示す説明図である。図22は通常読み出し時に印刷装置と本実施例に係る半導体装置との間で送受信されるデータ列の例を示す説明図である。図23は符号化読み出し時に印刷装置と本実施例に係る半導体装置との間で送受信されるデータ列の例を示す説明図である。
図24は本実施例に係る半導体装置において実行される符号化データの生成、送信処理の一例を示すフローチャートである。図25は本実施例に係る印刷装置において実行される検証処理の一例を示す説明図である。
図20を参照して印刷装置300と半導体装置10aとの間で実行される通信検証処理の概要について説明する。印刷装置300は、印刷実行若しくは印刷ヘッドのクリーニングなど記録剤であるインクの消費等に伴い、半導体装置10aのインク量データの更新を行う。すなわち、印刷装置300は、データ生成モジュール302aによって、インク量データを更新するために、図21に例示する書き込みを要求するデータ列を生成し、半導体装置10aに対して書き込み要求を行う(PS1)。図21における書き込みを要求するデータ列は各1ビット計3ビットの識別情報ID、5ビットの書き込みコマンドおよび所定ビットの書き込みデータ列を有している。印刷装置300は、データ生成モジュール302aによって、図22に送信データ列として例示する、通常読み出しを要求するデータ列を生成し、半導体装置10aに対してインク量データを含むデータの通常読み出し要求を行う(PS2)。図22における通常読み出しを要求するデータ列は、各1ビット計3ビットのID情報、5ビットの通常読み出しコマンドおよび1ビットのダミービットを有している。ここで、通常読み出しとは、半導体装置10aにおいて符号化が施されていないデータ(通常データ)の読み出しを意味する。
通常読み出し要求を受け取った半導体装置10aは、要求されたデータ(通常データ)を用いて符号化データを生成することなく、図22に受信データ列として例示するように、8ビットの読み出しデータに1ビットのパリティビットが付加された通常読み出しデータを印刷装置300に送信する(SS1)。なお、受信データ列とは、印刷装置300によって受信されるデータ列を意味する。印刷装置300は、受信した通常読み出しデータを記憶装置302に格納する。印刷装置300は、データ生成モジュール302aによって、図23に送信データ列として例示する、符号化データの読み出しを要求するための符号化読み出しを要求するデータ列を生成し、半導体装置10aに対して送信する(PS3)。図23における符号化読み出しを要求するデータ列は、各1ビット計3ビットの識別情報ID、5ビットの符号化要求コマンド、1ビットのダミービットを有している。ここで、符号化読み出しの要求は、通常読み出し要求において読み出したデータ(通常データ)と同一のデータをメモリアレイ100aから読み出し、符号化を施した上で印刷装置300に送信させるための要求である。半導体装置10aは、通常読み出しデータ要求に応じて印刷装置300に対して送信したデータと同一のデータをメモリアレイ100aから読み出し、図23に受信データ列として例示するように、符号化処理を施して検証用データを生成し、パリティビットを付加して印刷装置300に送信する(SS2)。図23における受信用データ列は、印刷装置300によって受信されるデータを意味し、8ビットの検証用データと1ビットのパリティビットを有している。
印刷装置300は、受信した検証用データと記憶装置302に格納されている通常読み出しデータとを用いて比較処理を実行する。具体的には、印刷装置300は、記憶装置302に格納されている通常読み出しデータに対して、半導体装置10aにおいて検証用データを生成するために施された符号化と同一の符号化を施して比較用符号化データを生成し、受信した検証用データと不一致の場合には、通信経路に異常が発生している、若しくは、半導体装置10aに何からの不具合が発生していると判断する。
図24を参照して半導体装置10aにおいて実行されるデータ読み出し処理について説明する。本処理ルーチンは、半導体装置10aが印刷装置300から送信された初期化状態を解除する信号を受信後、半導体装置10aが、通常読み出しコマンド、若しくは、符号化読み出しコマンド(検証用データ生成コマンド)を含む送信データ列を受信した場合に開始される。半導体装置10aは、印刷装置300から受信したデータ列に含まれる識別情報IDを受信して、受信したデータ列が自身のメモリアレイ100aに記憶されている識別情報IDと一致するか否かを判断する。半導体装置10aは、識別情報IDとメモリアレイ100aから読み出した識別情報IDとが一致する場合には、自身が印刷装置300のアクセス対象であると判断する。半導体装置10aは、受信したコマンドが通常読み出しコマンド、または符号化読み出しコマンドのいずれであるかを判断し(ステップS200)、受信コマンドに応じてライト/リードコントローラ140a内のスイッチ141aを切り換える(ステップS201)。具体的には、スイッチ141aは、受信コマンドが符号化読み出しコマンドの場合には符号化位置SP1に切り換えられ、通常読み出しコマンドの場合には通常位置SP2に切り換えられる。半導体装置10aは、メモリアレイ100aからデータ(通常データ)を読み出す(ステップS202)。半導体装置10aは、ステップS200において判断されたコマンドが符号化読み出しコマンドであり、符号化が要求されている場合にはチェックサム演算処理を実行する(ステップS204)。(ステップS203:Yes)ライト/リードコントローラ140a内のスイッチ141aは、メモリアレイ100aから読み出したデータを符号化データ生成回路150aに出力するように切り換えられているので、メモリアレイ100aから読み出されたデータは符号化データ生成回路150aに送られる。符号化データ生成回路150aは、読み出したデータ用いてチェックサムを求める。例えば、8ビット、16ビットといったチェックサムを求める。なお、チェックサム演算処理は不可逆的な演算処理であり、復号によって元のデータを得ることはできない(第1の符号化処理)。半導体装置10aは、求めたチェックサムに対して可逆的なデータ符号化処理(第2の符号化処理)を実行して検証用データを生成する(ステップS205)。第2の符号化処理は共通のキーを利用して符号化されたデータからの復号化およびデータの符号化が可能な処理であり、復号によって元のデータを得ることができる。半導体装置10aは求めた検証用データ(符号化データ)に対して、パリティビット生成・付加回路160によってパリティ演算処理を実行し(ステップS206)、求めたパリティ値(パリティビット)を検証用データに付加して印刷装置30に対して送信し(ステップS210)、本処理ルーチンを終了する。
一方、半導体装置10aは、ステップS200において判断されたコマンドが通常読み出しコマンドである場合には(ステップS203:No)、ステップS206に移行する。ライト/リードコントローラ140a内のスイッチ141aは、メモリアレイ100aから読み出したデータをパリティビット生成・付加回路160に出力するように切り換えられているので、符号化データ生成回路150aには出力されない。パリティビット生成・付加回路160は、メモリアレイ100aから読み出されたデータに対して、パリティ演算処理を実行し、パリティビットを付加した通常読み出しデータを印刷装置300に対して送信して(ステップS207)、本処理ルーチンを終了する。すなわち、通常読み出しデータに対しては、パリティ演算処理のみが実行される。
図25を参照して印刷装置300における検証処理について説明する。検証処理は、CPU301が検証モジュール302cを実行することにより印刷装置300において実行される処理である。なお、以下の説明では、図20において半導体装置10aに対する送信処理(PS1、PS2、PS3)についての説明は省略し、半導体装置10aからデータを受信(SS1、SS2)した後に実行される検証処理について説明する。印刷装置300は、通常読み出し要求(PS2)に対する応答として、半導体装置10aから通常読み出しデータを受信する(ステップS300:図20におけるSS1)。印刷装置300は、受信した通常読み出しデータに対してパリティチェック処理を実行すると共に、通常読み出しのデータ列からパリティビットを除去する(ステップS301)。印刷装置300は、パリティチェックの結果、誤りなしと判定した場合には(ステップS302:Yes)、ステップS306に移行し、誤り有りと判定した場合には(ステップS302:No)、ステップS310に移行する。
印刷装置300は、データ符号化要求(PS3)に対する応答として、符号化データ(検証用データ)を受信すると(ステップS303:図20におけるSS2)、パリティチェック処理を実行する(ステップS304)。印刷装置300は、パリティチェックの結果、誤りなしと判定した場合には(ステップS305:Yes)、データ列からパリティビットを除き、符号化・復号モジュール302bを実行して符号化データを復号し、復号チェックサムCS0を取得する(ステップS306)。すなわち、半導体装置10a内において可逆的な符号化処理が施された検証用データに対して復号処理を施すことによって、半導体装置10aにおいてチェックサム演算処理によって得られたチェックサムに相当するデータを取得することができる。
印刷装置300は、ステップS301においてパリティビットが除去された通常読み出しデータに対して、符号化・復号モジュール302bを実行して、半導体装置10aにおいて実行されたチェックサム演算処理と同一のチェックサム演算処理を実行して演算チェックサムCS1(比較用符号化データ)を算出する(ステップS307)。印刷装置300は、検証モジュール302cを実行して、復号チェックサムCS0と演算チェックサムCS1とを比較し(ステップS308)、一致する場合には(ステップS309:Yes)、本処理ルーチンを終了する。すなわち、復号チェックサムCS0と演算チェックサムCS1とが一致する場合には、半導体装置10aと印刷装置300のコントローラ間の通信経路のエラー、半導体装置10aの異常は発生していないと判断することができる。
一方、印刷装置300は、復号チェックサムCS0と演算チェックサムCS1とが一致しない場合には(ステップS309:No)、カートリッジエラーを報知して(ステップS310)、本処理ルーチンを終了する。また、印刷装置300は、ステップS302、S305において、パリティチェックの結果、パリティエラーが発生していると判定した場合にも(ステップS302、S305:No)、カートリッジエラーを報知する(ステップS310)。カートリッジエラーの報知は、印刷装置300に備えられている表示灯の点灯または点滅、あるいは、印刷装置300に備えられている表示ディスプレイ上へのエラーメッセージの表示によって実現される。さらに、印刷装置300がパーソナルコンピュータと接続されている場合には、パーソナルコンピュータの表示ディスプレイ上にエラーメッセージを表示することによって実現されても良い。
以上説明した本実施例に係るインクカートリッジ20a(半導体装置10a)および印刷装置300によれば、通常読み出しデータと符号化データ(検証用データ)を比較することによって、いずれか一方の読み出しに基づく場合に判定できない通信異常を検出することができる。例えば、符号化データ読み出しではない通常読み出しを2回実行し、読み出したデータが一致するかしないかに基づいて通信異常を検出しようとしたとき、印刷装置側端子320と回路基板CBの外部端子Tとの電気的接続が取れていない場合であっても、1回目の通常読み出しデータと2回目の通常読み出しデータとが一致すれば、印刷装置300は回路基板CBとの接続経路に異常は発生していないと判断してしまうおそれがある。これに対し、本実施例では、半導体装置10aのメモリアレイ100aから読み出される同一のデータ(通常データ)に対して、符号化処理を実行しない通常読み出しデータと、符号化処理を実行した符号化データとを用いて検証を実行する。したがって、これらのデータを比較することによって本当に通信エラーや半導体装置10aの異常が発生していないかをより正確に検証することができる。
判定の結果、通信経路や半導体装置10aに異常が発生していると判断した場合には、印刷処理を実行しないことによって、誤ったデータに基づく不都合を未然に防止することができる。例えば、データが誤っているために、インクカートリッジ20a内の液体量が印刷ジョブを完了するために必要な液体量よりも少ないにもかかわらず印刷処理を実行し、途中で印刷を中断する事態、あるいは、インクカートリッジ20a内の液体量が少ないにもかかわらず印刷処理を実行して空撃ちしてしまい印刷ヘッドを痛めてしまう事態を未然に防止することができる。
さらに、本実施例では、チェックサム演算処理によりデータの圧縮処理を行い通信に用いられるビット数を低減してビットエラーの発生の抑制、通信速度、後段の演算処理速度の向上を図ることができる。また、パリティビットを用いることにより通信前後のデータの信頼性を検証することができる。
・第3の実施例の変形例:
(1)上記実施例では、通信異常、すなわち、復号チェックサムCS0と演算チェックサムCS1の不一致が検出された場合には、直ちにカートリッジエラーの報知を実行しているが、所定回数、例えば、2〜5回、符号化読み出しデータの読み出しおよび通常読み出しデータの読み出し、復号チェックサムCS0と演算チェックサムCS1を用いた検証を繰り返し、その後、カートリッジエラーを報知しても良い。
(2)上記実施例では、通常読み出し後に符号化読み出しが実行されているが、符号化読み出し実行後に通常読み出しが実行されても良い。通常読み出しデータと符号化読み出しデータとの対比を行うことができれば十分である。
(3)上記実施例では、EEPROMを半導体装置10aの例として用いたが、この他に、強誘電体メモリセルからなるメモリアレイ、演算回路を備えた半導体装置を用いても良い。
(4)上記実施例では、半導体装置10aに対するデータ列の書き込みの後に通信検証処理(通常読み出しデータおよび符号化データの要求・受信処理)が実行されているが、この他にも、印刷装置300の起動後の最初の書き込み処理時、インクカートリッジ20a交換後の最初の書き込み処理時、所定回数の書き込み処理時に実行するようにしても良い。また、書き込むべきデータが発生していない場合であっても、インクカートリッジ20a交換後に半導体装置10aに格納されている所定のデータを用いて通信検証処理が実行されても良い。
(5)上記実施例では、通常読み出しデータの符号化データに対して、更にパリティビットの生成とパリティビットの付加を行っているが、これらパリティ処理ははいずれか一方のデータまたは双方のデータに対して実施されなくても良い。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
10…半導体記憶装置
20…液体収容体
30…印刷装置
31…データ生成部
32…デコード回路
33…入出力部
100…メモリアレイ
110…アドレスカウンタ
130…IDコンパレータ
140…ライト/リードコントローラ
141、142…スイッチ
150…データ符号化回路
AEN…アクセス許可信号
CL…クロック信号線
DL…データ信号線
RL…リセット信号線
RST…リセット信号
SCK…クロック信号
SDA…データ信号
RSTT…リセット信号端子
SCKT…クロック信号端子
SDAT…データ信号端子
T…端子
10z…半導体記憶装置
20z…外付け記憶装置
30z…コンピュータ
31z…データ生成部
32z…デコード回路
33z…入出力部
100z…メモリアレイ
110z…アドレスカウンタ
140z…ライト/リードコントローラ
150z…データ符号化回路
10a…半導体装置
100a…メモリアレイ
111a…クロックカウンタ
112…アドレスセレクタ
140a…ライト/リードコントローラ
150a…符号化データ生成回路
160…パリティビット生成・付加回路
20a…インクカートリッジ
300…印刷装置
301…中央演算装置(CPU)
302…記憶装置
302a…データ生成モジュール
302b…符号化・復号モジュール
302c…検証モジュール
303…入出力部
304…印刷部
CB…回路基板

Claims (25)

  1. 記憶装置を備え、印刷装置に装着可能な液体収容体であって、
    データを格納する記憶素子と、
    前記印刷装置から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、
    前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力する記憶素子制御部とを備える液体収容体。
  2. 請求項1に記載の液体収容体において、
    前記記憶素子制御部は、前記読み出しデータの符号化を実行しないと判定された場合には、前記記憶素子から読み出した情報を符号化せずに出力する液体収容体。
  3. 請求項1または請求項2に記載の液体収容体において、
    前記記憶素子制御部は、
    前記記憶素子との間でデータの読み書きを実行する読み書き実行部と、
    前記記憶素子から読み出されたデータに対して符号化処理を実行する符号化処理部とを備える液体収容体。
  4. 請求項1から請求項3のいずれかに記載の液体収容体において、
    前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた誤り検出符号化処理により実行される液体収容体。
  5. 請求項1から請求項3のいずれかに記載の液体収容体において、
    前記符号化処理は、前記記憶素子に格納されているデータの全部または一部をハッシュ符号化する処理である液体収容体。
  6. 請求項1から請求項3のいずれかに記載の液体収容体において、
    前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた演算結果のハッシュ符号化により実行される液体収容体。
  7. 記憶装置を備え、印刷装置に装着可能な液体収容体であって、
    データを格納する記憶素子と、
    前記記憶素子から読み出されたデータに対して符号化処理を行う符号化部と、
    前記記憶素子から読み出されたデータと、前記符号化部で符号化されたデータとのうちいずれかを選択して出力する選択部と、
    を備える液体収容体。
  8. 印刷装置に装着可能な液体収容体に備えられた記憶装置に対する制御方法であって、
    前記印刷装置から、データを格納する記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定し、
    前記読み出しデータの符号化を実行すると判定した場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力する制御方法。
  9. 印刷装置と、前記印刷装置に着脱可能に装着されるとともに、データを記憶する記憶素子を備えた液体収容体とを有する印刷装置システムにおいて、
    前記印刷装置が、前記印刷材収容体に対してデータの読み出し要求を出力する出力部を備え、
    前記液体収容体が、前記印刷装置から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力する記憶素子制御部と、を備える印刷装置システム。
  10. 請求項9に記載の印刷装置システムにおいて、前記印刷装置が前記読み出しデータの符号化の実行を要求する場合には、前記データの読み出し要求が、読み出しデータの符号化の実行を指示するコマンドを含むことを特徴とする、印刷装置システム。
  11. 制御装置に接続可能な記憶装置であって、
    前記制御装置とデータの通信を行うための通信部と、
    データを格納する記憶素子と、
    前記制御装置から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、
    前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制御部とを備える記憶装置。
  12. 請求項11に記載の記憶装置において、
    前記記憶素子制御部は、前記読み出しデータの符号化を実行しないと判定された場合には、前記記憶素子から読み出した情報を符号化せずに出力する記憶装置。
  13. 請求項11または請求項12に記載の記憶装置において、
    前記記憶素子制御部は、
    前記記憶素子との間でデータの読み書きを実行する読み書き実行部と、
    前記記憶素子から読み出されたデータに対して符号化処理を実行する符号化処理部とを備える記憶装置。
  14. 請求項11から請求項13のいずれかに記載の記憶装置体において、
    前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた誤り検出符号化処理により実行される記憶装置。
  15. 請求項11から請求項13のいずれかに記載の記憶装置において、
    前記符号化処理は、前記記憶素子に格納されているデータの全部または一部をハッシュ符号化する処理である記憶装置。
  16. 請求項11から請求項13のいずれかに記載の記憶装置において、
    前記符号化処理は、前記記憶素子に格納されているデータの全部または一部を用いた演算結果のハッシュ符号化により実行される記憶装置。
  17. 制御装置に接続可能な記憶装置であって、
    前記制御装置とデータの通信を行うための通信部と、
    データを格納する記憶素子と、
    前記記憶素子から読み出されたデータに対して符号化処理を行う符号化部と、
    前記記憶素子から読み出されたデータと、前記符号化部で符号化されたデータとのうちいずれかを選択して前記通信部に出力する選択部と、
    を備える記憶装置。
  18. 制御装置と接続可能であり、データを記憶する記憶素子を備える記憶装置の制御方法であって、
    前記制御装置から、前記記憶素子に記憶されているデータの読み出し要求を受けた場合に、読み出したデータの符号化を実行するか否かを判定し、
    前記読み出しデータの符号化を実行すると判定した場合に、前記記憶素子から読み出したデータに対して符号化処理を行い出力する記憶装置の制御方法。
  19. 制御装置と、前記制御装置に接続されるとともに、データを記憶する記憶素子を備えた記憶装置とを有する記憶装置の制御システムにおいて、
    前記制御装置が、前記記憶装置に対してデータの読み出し要求を出力する出力部を備え、
    前記記憶装置が、前記計算機から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制御部と、を備える記憶装置の制御システム。
  20. 請求項19に記載の制御システムにおいて、前記制御装置が前記読み出しデータの符号化の実行を要求する場合には、前記データの読み出し要求が、読み出しデータの符号化の実行を指示するコマンドを含むことを特徴とする、制御システム。
  21. データを格納する半導体装置を備えた液体収容体と共に用いられる印刷装置であって、
    前記半導体装置から符号化されていない通常データを読み出す通常データ読み出し部と、
    前記半導体装置に対して前記通常データの符号化を要求し、符号化された前記通常データである符号化データを読み出す符号化データ読み出し部と、
    前記通常データに対して前記符号化と同一の符号化を行って比較用符号化データを生成する符号化・復号部と、
    前記比較用符号化データと前記符号化データとを比較して前記半導体装置と前記印刷装置との間における通信状態の検証を行う検証部とを備える印刷装置。
  22. 請求項21に記載の印刷装置はさらに、
    前記通常データを前記半導体装置に書き込むデータ書き込み部を備え、
    前記通常データ読み出し部および前記符号化データ読み出し部は、それぞれ前記データ書き込み部によって書き込まれた前記通常データおよび前記データ書き込み部によって書き込まれた前記通常データを符号化した符号化データを読み出す、印刷装置。
  23. 請求項21または22に記載の印刷装置において、
    前記符号化データには不可逆的な第1の符号化の後に可逆的な第2の符号化が施されており、
    前記符号化・復号部は前記符号化データに対する前記第2の符号化を復号して前記第1の符号化が施された符号化データを得ると共に、前記通常データに対して前記第1の符号化を行う、印刷装置。
  24. データを格納する半導体装置を備えた液体収容体と共に用いられる印刷装置における通信検証方法であって、
    前記半導体装置から符号化されていない通常データを読み出し、
    前記半導体装置に対して前記通常データの符号化を要求し、
    前記半導体装置から符号化された前記通常データである符号化データを読み出し、
    前記検証用データに対して前記符号化と同一の符号化を行って比較用符号化データを生成し、
    前記比較用符号化データと前記符号化データとを比較して前記半導体装置と前記印刷装置との間における通信状態の検証を行う通信検証方法。
  25. 回路基板であって、
    外部制御装置とデータの通信を行うための通信部と、
    データを格納する記憶素子と、
    前記外部制御装置から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、読み出しデータの符号化を実行するか否かを判定する符号化判定部と、
    前記読み出しデータの符号化を実行すると判定された場合に、前記記憶素子から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制御部とを備える半導体装置と、
    前記通信部と電気的に接続されている1または複数の外部端子とを備える
    回路基板。
JP2009059583A 2008-03-26 2009-03-12 印刷装置 Active JP5141606B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009059583A JP5141606B2 (ja) 2008-03-26 2009-03-12 印刷装置
US12/409,164 US8335978B2 (en) 2008-03-26 2009-03-23 Liquid container
CN2009801010417A CN102741053A (zh) 2008-03-26 2009-03-25 液体容纳体
PCT/JP2009/056773 WO2009119886A1 (ja) 2008-03-26 2009-03-25 液体収容体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2008079632 2008-03-26
JP2008079632 2008-03-26
JP2008079639 2008-03-26
JP2008079639 2008-03-26
JP2009059583A JP5141606B2 (ja) 2008-03-26 2009-03-12 印刷装置

Publications (2)

Publication Number Publication Date
JP2009255550A true JP2009255550A (ja) 2009-11-05
JP5141606B2 JP5141606B2 (ja) 2013-02-13

Family

ID=41114066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009059583A Active JP5141606B2 (ja) 2008-03-26 2009-03-12 印刷装置

Country Status (4)

Country Link
US (1) US8335978B2 (ja)
JP (1) JP5141606B2 (ja)
CN (1) CN102741053A (ja)
WO (1) WO2009119886A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015164804A (ja) * 2015-02-25 2015-09-17 利仁 曽根 印刷消耗品システム
JP2017074790A (ja) * 2016-12-07 2017-04-20 利仁 曽根 Icチップ、交換部品および装置
JP2019034436A (ja) * 2017-08-10 2019-03-07 キヤノン株式会社 記録装置、記録装置の制御方法、およびプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101485624B1 (ko) * 2008-05-29 2015-01-22 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 교체 가능한 프린터 부품의 인증방법
EP2237163B1 (en) * 2009-04-01 2013-05-01 Seiko Epson Corporation System having a plurality of memory devices and data transfer method for the same
JP5482275B2 (ja) * 2009-04-01 2014-05-07 セイコーエプソン株式会社 記憶装置、基板、液体容器、データ記憶部に書き込むべきデータをホスト回路から受け付ける方法、ホスト回路に対し電気的に接続可能な記憶装置を含むシステム
JP5556371B2 (ja) * 2010-05-25 2014-07-23 セイコーエプソン株式会社 記憶装置、基板、液体容器、データ記憶部に書き込むべきデータをホスト回路から受け付ける方法、ホスト回路に対し電気的に接続可能な記憶装置を含むシステム
JP5790119B2 (ja) * 2011-04-22 2015-10-07 セイコーエプソン株式会社 記憶装置、ホスト装置、回路基板、液体容器及びシステム
JP6221370B2 (ja) * 2012-08-30 2017-11-01 セイコーエプソン株式会社 媒体処理装置、及び媒体処理装置の制御方法
JP2018041472A (ja) 2012-08-30 2018-03-15 セイコーエプソン株式会社 媒体処理装置、及び媒体処理方法
US9304709B2 (en) 2013-09-06 2016-04-05 Western Digital Technologies, Inc. High performance system providing selective merging of dataframe segments in hardware
JP6213345B2 (ja) * 2014-03-31 2017-10-18 富士通株式会社 転送装置、決定方法、及びデータ処理装置
US9823864B2 (en) * 2014-06-02 2017-11-21 Micron Technology, Inc. Systems and methods for throttling packet transmission in a scalable memory system protocol
CN104637543B (zh) * 2014-12-10 2019-02-19 珠海艾派克微电子有限公司 芯片和使用该芯片的墨盒

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482164A (en) * 1987-09-24 1989-03-28 Canon Kk Communication system
JP2002127550A (ja) * 2000-07-21 2002-05-08 Fuji Photo Film Co Ltd 画像記録装置の用品、その判定方法および製造方法
JP2005324547A (ja) * 2004-04-29 2005-11-24 Hewlett-Packard Development Co Lp 消耗品カートリッジの盗難抑止装置および方法
JP2006050653A (ja) * 2005-08-30 2006-02-16 Canon Inc データ通信装置及び方法、データ通信システム及び記憶媒体
JP2006159788A (ja) * 2004-12-09 2006-06-22 Canon Inc インクジェット記録装置および記録装置の制御方法
JP2007093595A (ja) * 2005-09-01 2007-04-12 Matsushita Electric Ind Co Ltd 送受信システム,外部発信受信装置,および送受信方法
JP2007326338A (ja) * 2006-06-09 2007-12-20 Seiko Epson Corp 特性判定装置及び方法及びインクカートリッジ

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3266002B2 (ja) 1996-08-29 2002-03-18 オムロン株式会社 純正交換部品識別装置及び純正交換部品識別方法
US6803989B2 (en) * 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
JP2000031980A (ja) 1998-07-10 2000-01-28 Kokusai Electric Co Ltd 無線lanシステムとその暗号化方法
CA2343853A1 (en) * 2000-04-14 2001-10-14 Muga Mochizuki Semiconductor device, ink tank provided with such semiconductor device, ink jet cartridge, ink jet recording apparatus, method for manufacturing such semiconductor device, and communication system, method for controlling pressure, memory element, security system of ink jet recording apparatus
US7052101B2 (en) * 2000-07-21 2006-05-30 Fuji Photo Film Co., Ltd. Supply for image recording apparatus, method of determining the same and method of manufacturing the same
US6912686B1 (en) * 2000-10-18 2005-06-28 Emc Corporation Apparatus and methods for detecting errors in data
EP1201449A3 (en) 2000-10-31 2003-05-14 Hewlett-Packard Company A system and method for improving the edge quality of inkjet printouts
JP3649123B2 (ja) * 2000-12-26 2005-05-18 セイコーエプソン株式会社 回路基板の端子
US7958359B2 (en) * 2001-04-30 2011-06-07 Digimarc Corporation Access control systems
US20030063311A1 (en) 2001-10-03 2003-04-03 Covitt Marc L. Method and apparatus identifying printing supplies
US20030090531A1 (en) * 2001-11-02 2003-05-15 Eastman Kodak Company Digital data preservation system
JP2005251156A (ja) 2004-02-05 2005-09-15 Ricoh Co Ltd 電子装置、画像形成装置、電子装置の制御方法、プログラム、記録媒体、画像形成装置管理システム、デジタル証明書を記憶した部材、デジタル証明書取得方法、およびデジタル証明書設定システム
EP1730672A4 (en) * 2004-04-02 2009-07-22 Silverbrook Res Pty Ltd SURFACE WITH IT OR DATA CODED THEREIN
US8402325B2 (en) * 2004-08-02 2013-03-19 St-Ericsson Sa Data storage and replay apparatus
US7522470B2 (en) * 2005-05-30 2009-04-21 Seiko Epson Corporation Semiconductor memory device
JP4818651B2 (ja) * 2005-07-13 2011-11-16 ルネサスエレクトロニクス株式会社 暗号化・復号化回路
US8128186B2 (en) * 2007-07-27 2012-03-06 Hewlett-Packard Development Company, L.P. Non-volatile memory data integrity validation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482164A (en) * 1987-09-24 1989-03-28 Canon Kk Communication system
JP2002127550A (ja) * 2000-07-21 2002-05-08 Fuji Photo Film Co Ltd 画像記録装置の用品、その判定方法および製造方法
JP2005324547A (ja) * 2004-04-29 2005-11-24 Hewlett-Packard Development Co Lp 消耗品カートリッジの盗難抑止装置および方法
JP2006159788A (ja) * 2004-12-09 2006-06-22 Canon Inc インクジェット記録装置および記録装置の制御方法
JP2006050653A (ja) * 2005-08-30 2006-02-16 Canon Inc データ通信装置及び方法、データ通信システム及び記憶媒体
JP2007093595A (ja) * 2005-09-01 2007-04-12 Matsushita Electric Ind Co Ltd 送受信システム,外部発信受信装置,および送受信方法
JP2007326338A (ja) * 2006-06-09 2007-12-20 Seiko Epson Corp 特性判定装置及び方法及びインクカートリッジ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015164804A (ja) * 2015-02-25 2015-09-17 利仁 曽根 印刷消耗品システム
JP2017074790A (ja) * 2016-12-07 2017-04-20 利仁 曽根 Icチップ、交換部品および装置
JP2019034436A (ja) * 2017-08-10 2019-03-07 キヤノン株式会社 記録装置、記録装置の制御方法、およびプログラム

Also Published As

Publication number Publication date
US20090287891A1 (en) 2009-11-19
JP5141606B2 (ja) 2013-02-13
US8335978B2 (en) 2012-12-18
WO2009119886A1 (ja) 2009-10-01
CN102741053A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
JP5141606B2 (ja) 印刷装置
EP2390098B1 (en) Ink cartridge having a storage device, method of receiving data which are to be written in a data storage unit from a host circuit, and system including a storage device which is electrically connectable to a host circuit
JP2009259225A (ja) 液体収容体
US8364859B2 (en) Storage device, board, liquid container and system
JP4802722B2 (ja) シーケンシャルアクセスメモリ
US8931876B2 (en) Storage apparatus, host apparatus, circuit board, liquid container, and system
US20110208991A1 (en) Memory device, board, liquid container, host device, and system
US8959294B2 (en) Storage device, host device, circuit board, liquid container, and system
JP4066980B2 (ja) 印刷記録材容器
JP5790119B2 (ja) 記憶装置、ホスト装置、回路基板、液体容器及びシステム
CN116467729A (zh) 数据传输方法、目标芯片及计算机可读存储介质
JP5678516B2 (ja) 記憶装置、回路基板、液体容器及びシステム
US8625386B2 (en) Non-volatile memory device, circuit board, printing material container and printer
JP5609490B2 (ja) 記憶装置、ホスト装置、回路基板、液体容器及びシステム
US10055141B2 (en) Storage device, liquid container, and host device
CN111092056B (zh) 集成电路和芯片
US20110205590A1 (en) Storage device, substrate, liquid container, host device, and system
JP2013198986A (ja) 印刷装置
JP2013051017A (ja) 記憶装置及び印刷装置
JP2006297943A (ja) プリンタ、プリンタシステム及びプリンタにおけるエラー検出方法
JP2012033090A (ja) メモリー装置およびインク情報転送装置
JP2008006831A (ja) プリンタ、プリンタシステム及びプリンタにおけるエラー検出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

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

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

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

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5141606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350