本発明は、上記問題および要望を解決するためになされたものであり、識別情報を容易に書き換え可能な記憶装置を提供することを目的とする。また、短時間にデータの書き込みを正常に完了することのできる記憶装置を提供することを目的とする。
上記課題を解決するために本発明の第1の態様は、クロック信号線、データ信号線、およびリセット信号線とバス接続されていると共にリセット信号線を介して入力されるリセット信号によって初期化される不揮発性の記憶装置を提供する。本発明の第1の態様に係る記憶装置は、シーケンシャルにアクセスされる記憶領域を有し、その記憶領域の先頭位置から所定位置までに、所定条件時には書き込みが可能であり所定条件時以外の時には識別情報が書き換え不能に格納される領域を有する記憶セルを備えることを特徴とする。
本発明の第1の態様に係る記憶装置によれば、通常時には識別情報が書き換え不能に格納されると共に所定条件時には書き込みが可能となる領域を有する記憶セルを備えたので、記憶装置を選択するための信号線を備えることなく所望の記憶装置を選択することができる。また、識別情報は書き換え不能に格納されているが、所定条件時には識別情報が書き込みされている領域に対して書き込みをすることができるので、識別情報を容易に書き換えることができる。
本発明の第1の態様に係る記憶装置はさらに、前記データ信号線と接続されているデータバスと、前記クロック信号線を介して入力されたクロック信号に同期してカウンタ値をカウントアップし、前記記憶セルの記憶領域のアクセスすべき位置を指定すると共に、初期化時にはカウンタ値を初期値にリセットするアドレスカウンタと、前記記憶セルと前記データバスとの間に配置され、前記記憶セルに対するデータ転送方向および前記データバスのデータ転送方向を制御すると共に、初期化時には、前記記憶セルに対するデータ転送方向をデータ読み出し方向に設定し且つ前記データバスとの接続を遮断する入出力制御装置と、前記データバスに接続されていると共に、前記データバスを介して入力された入力識別情報と前記入出力制御装置を介して読み出した前記記憶セルに格納されている識別情報とが一致するか否かを判定する比較装置と、前記両識別情報が一致すると判定された場合には前記記憶セルに対するアクセスを許容するアクセス許容装置とを備えても良い。
上記構成を備えることにより、所望する記憶装置に対するアクセスのみを許容することができる。特に、複数の記憶装置が備えられている場合には、複数の記憶装置の中から所望の記憶装置を特定して読み出し、書き込み等のアクセスを実行することができる。また、記憶装置の有する識別情報と入力された識別情報とが一致するか否かを判定する際には、記憶セルに対するデータの書き込みは実行され得ず、記憶セルに格納されている識別情報の読み出し専用性を維持することができる。
本発明の第1の態様に係る記憶装置はさらに、前記データバスおよび前記比較装置と接続されていると共に、前記比較装置から前記入力識別情報と前記記憶セルに格納されている識別情報とが一致するとの判定結果を受け取った場合には、前記データバスを介して入力された書き込み/読み出し命令を解析し、解析結果に基づいて前記入出力制御装置に対して前記データバスのデータ伝送方向の切り換えを要求する命令デコーダを備え、前記入出力制御装置は、前記命令デコーダによる書き込み/読み出し命令の解析が終了するまで、前記初期化時における前記記憶セルに対するデータ転送方向および前記データバスとの接続遮断状態を維持しても良い。
上記構成を備えることにより、選択した記憶装置に対してデータの書き込み、読み出しを実行することができる。また、書き込み/読み出し命令の解析が終了するまでは、記憶セルに対するデータの書き込みまたは読み出しを禁止することができるので、記憶セルの所定の位置からデータの書き込みまたは読み出しを実行することができる。
本発明の第1の態様に係る記憶装置はさらに、テストモード信号線と接続されるテスト端子と、前記テスト端子と接続されていると共に、テストモード信号の入力の有無を判定するテストモード制御装置とを備え、前記所定条件時はテストモード信号の入力検出時であっても良い。かかる構成を備えることにより、識別情報が格納されている記憶セルの領域に対してデータを書き込むことができる。
本発明の第1の態様に係る記憶装置において、前記テストモード制御装置は、前記テストモード信号の入力を検出した際には、前記命令デコーダに対してテストモード命令を出力すると共に、前記命令デコーダによって前記テストモード命令の解析が終了するまで前記アドレスカウンタのカウントアップを禁止し、前記命令デコーダは、前記テストモード命令の解析後、前記入出力制御装置に対して前記記憶セルに対する書き込みおよび前記データバスの解放を要求し、前記入出力制御装置は前記命令デコーダからの要求に基づいて前記記憶セルに対する書き込みおよび前記データバスの解放を実行しても良い。また、前記命令デコーダは、前記テストモード命令の解析後、前記入出力制御装置に対して前記記憶セルに対する読み出しおよび前記データバスの解放を要求し、前記入出力制御装置は前記命令デコーダからの要求に基づいて前記記憶セルに対する読み出しおよび前記データバスの解放を実行しても良い。
上記構成を備えることにより、比較装置から識別情報が一致する旨の結果を受け取ることなく、命令デコーダをアクティブにすることが可能となり、入出力制御装置によって記憶セルに対するデータの書き込みまたは読み出しおよびデータバスの解放を実行することができる。また、命令デコーダによってテストモード命令の解析が終了するまでは、アドレスカウンタのカウントアップが禁止されるので、記憶セルの先頭位置からデータを書き込むことができる。この結果、記憶セルに格納されている識別情報の書き換えを実現することができる。さらに、命令デコーダによってテストモード命令の解析が終了するまでは、アドレスカウンタのカウントアップが禁止されるので、記憶セルの先頭位置からデータを読み出すことができる。
本発明の第1の態様に係る記憶装置において、前記記憶セルは、前記識別情報が格納されている記憶領域に続いて書き込みデータを書き込むための書き込み可能領域を有しても良い。また、前記記憶セルには1ビット単位にてデータが書き込みされても良い。かかる構成を備える場合には、書き込みデータを迅速にかきこむことができる。また、データ書き込み中においてリセット信号が入力された場合であっても、データ化け等を伴うことなくデータの書き込みを完了することができる。
本発明の第2の態様は、本発明の第1の態様に係る記憶装置を備えるインクカートリッジを提供する。本発明の第2の態様に係るインクカートリッジにおいて、前記インクカートリッジは、収容するインク種に対応してインク種毎に異なる識別情報を有する記憶装置を備えても良い。かかる構成を備えることにより、複数のインクカートリッジを用いる場合であっても所定のインク種を収容するインクカートリッジを特定することができる。
本発明の第3の態様は、クロック信号線、データ信号線およびリセット信号線とバス接続されている複数の不揮発性の記憶装置と、クロック信号線、データ信号線およびリセット信号線を介して記憶装置と接続されている制御装置とを備える記憶システムを提供する。本発明の第3の態様は、
クロック信号生成回路と、
前記記憶装置を初期化するリセット信号を生成するリセット信号生成回路と、
前記複数の記憶装置のうち所望の記憶装置の識別情報に対応する識別情報を発行する識別情報発行回路と、
前記生成されたクロック信号に同期させて、前記発行された識別情報、読み書きコマンドを含むデータ列を前記データ信号線に送出するデータ送出回路とを備える前記制御装置と、
前記データ信号線と接続されているデータバスと、
シーケンシャルにアクセスされる記憶領域を有し、その記憶領域の先頭位置
から所定位置までに、所定条件時には書き込みが可能であり所定条件時以外の時には識別情報が書き換え不能に格納される領域を有する記憶セルと、
前記データバスに接続されていると共に、前記制御装置から送出された識別情報と前記記憶セルに格納されている識別情報とが一致するか否かを判定する比較装置と、
前記データバスおよび前記データバス間に配置されていると共に、前記データバスおよび前記記憶セルに対するデータ転送を制御する入出力制御装置と、
前記データバスおよび前記比較装置と接続され、前記比較装置によって前記制御装置から送出された識別情報と前記記憶セルに格納されている識別情報とが一致すると判定された場合には、前記データバスを介して入力された書き込み/読み出し命令を解析し、解析結果に基づいて前記入出力制御装置に対して前記データバスのデータ伝送方向の切り換えを要求する命令デコーダとを備える前記各記憶装置を備えることを特徴とする。
本発明の第3の態様に係る記憶システムによれば、通常時には識別情報が書き換え不能に格納されると共に所定条件時には書き込みが可能となる領域を有する記憶セルを備えたので、記憶装置を選択するための信号線を備えることなく複数の記憶装置の中から所望の記憶装置を選択することができる。また、識別情報は書き換え不能に格納されているが、所定条件時には識別情報が書き込みされている領域に対して書き込みをすることができるので、識別情報を容易に書き換えることができる。また、記憶装置の有する識別情報と入力された識別情報とが一致するか否かを判定する際には、記憶セルに対するデータの書き込みは実行され得ず、記憶セルに格納されている識別情報の読み出し専用性を維持することができる。さらに、選択した記憶装置に対してデータの書き込み、読み出しを実行することができる。
本発明の第3の態様に係る記憶システムにおいて、
前記記憶装置はさらに
前記クロック信号線を介して入力されたクロック信号に同期してカウンタ値をカウントアップし、前記記憶セルの記憶領域のアクセスすべき位置を指定すると共に、初期化時にはカウンタ値を初期値にリセットするアドレスカウンタを備え、
前記入出力制御装置は、初期化時には前記記憶セルに対するデータ転送方向を読み出し方向に設定し且つ前記データバスに対するデータ転送を遮断し、前記命令デコーダによる書き込み/読み出し命令の解析が終了するまで、前記初期化時の状態を維持しても良い。
上記構成を備えることにより、書き込み/読み出し命令の解析が終了するまでは、記憶セルに対するデータの書き込みまたは読み出しを禁止することができるので、記憶セルの所定の位置からデータの書き込みまたは読み出しを実行することができる。
本発明の第3の態様に係る記憶システムにおいて、前記制御回路の識別情報発行回路は、全ての記憶装置に共通する共通識別情報を発行し、前記記憶装置の比較装置は、前記共通識別情報を保有しても良い。かかる構成を備える場合には、アクセスを所望する記憶装置として全ての記憶装置を選択することができる。したがって、全記憶装置に対して共通に書き込みすべきデータが存在する場合には、データの書き込みを同時に実行し、書き込み時間を短縮することができる。
本発明の第3の態様に係る記憶システムにおいて、前記制御回路は電源遮断後、所定期間電源を供給する電源補償回路を備え、前記制御回路のリセット信号生成回路は、前記制御回路の電源投入時、電源遮断時の少なくともいずれか一方においてリセット信号を生成し、前記制御回路のデータ送出回路は、書き込みデータ転送中に前記リセット信号の発生を検出した場合には、現在書き込み中のデータの送出を終了し、前記電源補償回路によって電源供給が補償される期間に書き込み完了可能な書き込み優先データを送出しても良い。
上記構成を備えることにより、電源遮断時であっても、例えばインク消費量データまたはインク残量データといった書き込みを優先すべきデータの書き込みを完了することができる。
本発明の第3の態様に係る記憶システムにおいて、
前記制御装置に代えて前記記憶装置の記憶セルの全記憶領域に対する書き込みまたは読み出しを可能とするテスト信号を生成するテスト信号生成回路を有するテスト用制御装置を備え、
前記記憶装置はさらに
前記テスト信号の入力の有無を検出し、前記テストモード信号の入力を検出
した際には、前記命令デコーダに対してテストモード命令を出力すると共に、
前記命令デコーダによる前記テストモード命令の解析が終了するまで前記アド
レスカウンタのカウントアップを禁止するテストモード制御装置を有し、
前記命令デコーダは、前記テストモード命令の解析後、前記入出力制御装置
に対して前記記憶セルに対するデータ転送方向を書き込み方向または読み出し
方向に設定すると共に前記データバスに対するデータ転送方向を書き込み方向
または読み出し方向に設定するように要求し、
前記入出力制御装置は前記記憶セルに対するデータ転送方向を書き込み方向
または読み出し方向に設定すると共に前記データバスに対するデータ転送方向
を書き込み方向または読み出し方向に設定しても良い。
上記構成を備えることにより、比較装置から識別情報が一致する旨の結果を受け取ることなく、命令デコーダをアクティブにすることが可能となり、入出力制御装置によって記憶セルに対するデータの書き込みまたは読み出しおよびデータバスの解放を実行することができる。また、命令デコーダによってテストモード命令の解析が終了するまでは、アドレスカウンタのカウントアップが禁止されるので、記憶セルの全領域に対してデータの書き込みまたは読み出しが可能となり、記憶セルの先頭位置からデータを書き込むことができる。この結果、記憶セルに格納されている識別情報の書き換えを実現することができる。さらに、記憶セルの先頭位置からデータを読み出すことができる。
本発明の第3の態様に係る記憶システムにおいて、テストモード時におけるデータ書き込み時には、前記テスト用制御装置は、先頭から書き込み命令、識別情報、書き込みデータの順に構成されているデータ列を前記データ信号線に送出して、前記記憶装置の記憶セルにおける記憶領域の先頭位置から所定位置までに前記識別情報を書き込んでも良い。
本発明の第3の態様に係る記憶システムにおいて、前記制御装置に代えて、前記記憶装置の記憶セルに格納されている前記識別情報と一致する識別情報を検索する識別情報検索回路と、前記識別情報検索回路により前記記憶セルに格納されている前記識別情報と一致する識別情報を取得した場合には、前記記憶装置における記憶セルの記憶領域の末尾位置に対応する書き込みデータの次に識別情報を有するデータ列を前記データ信号線に送出するテストモード時データ列送出回路とを有するテスト用制御装置を備え、
前記テスト用制御装置は、前記記憶装置の記憶セルにおける記憶領域の先頭位置から所定位置までに前記識別情報を書き込んでも良い。
上記構成を備えることにより、テストモード制御装置を備えることなく記憶装置の記憶セルに格納されている識別情報を書き換えることができる。
本発明の第3の態様に係る記憶システムにおいて、前記制御回路における前記クロック信号生成回路は、前記データ送出回路を介して書き込みコマンドを送出する時には、読み出しコマンドを送出する時よりもクロック信号の生成間隔を長くしても良い。かかる構成を備えることにより、データの書き込みに必要な時間を確保しつつ記憶装置に対するアクセス時間を短縮することができる。
本発明の第3の態様に係る記憶システムにおいて、さらに前記複数の記憶装置を収容し、前記各記憶装置をシリアルに接続すると共に一端が接地され且つ他端が前記制御回路に接続されている記憶装置検出信号線が配置されているモジュール基板を備え、前記制御回路は前記記憶装置検出信号線の値に基づいて全ての記憶装置がモジュール基板上に配置されているか否かを判定する記憶装置検出回路を備えても良い。
上記構成を備えることにより、記憶装置が適切にモジュール基板上に配置されているか否かを検出することができる。この態様は、例えば、インクジェットプリンタ用のインクカートリッジに上記記憶装置を備え、インクカートリッジが適切にインクカートリッジホルダに収容されているか否かを判断するために用いることができる。
本発明の第3の態様に係る記憶システムにおいて、前記制御回路の記憶装置検出回路は、前記記憶装置検出信号線が接地電圧を示す場合には全ての記憶装置が前記モジュール基板上に配置されていると判定しても良い。
本発明の第3の態様に係る記憶システムにおいて、前記制御回路の記憶装置検出回路は、前記記憶装置検出信号線が接地電圧以外の電圧を示す場合には少なくとも1つの記憶装置が前記モジュール基板上に配置されていないと判定しても良い。
本発明の第3の態様に係る記憶システムにおいて、前記記憶装置はインクカートリッジに備えられ、インクカートリッジに収容されているインク種に関連する種々のデータを格納しても良い。かかる構成を備えることにより、複数のインクカートリッジを用いるプリンタにおいて、特定のインクカートリッジを選択し、固有の情報を書き込むことができる。
本発明の第4の態様は、クロック信号線、データ信号線、およびリセット信号線とバス接続されていると共に各々が固有の識別情報を保有する複数の不揮発性の記憶装置の中から所望する記憶装置に対してアクセスする方法を提供する。本発明の第4の態様に係る方法は、
前記リセット信号線に対してリセット信号を出力し、
アクセスを所望する前記記憶装置の識別情報と、読み書き命令とを含むデータ列をクロック信号に同期させてデータ信号線に送出することを特徴として備える。かかる構成を備えることにより、第1の発明の態様と同様な効果を得ることができる。
本発明の第5の態様は、シーケンシャルにアクセスされる記憶領域を有し、その記憶領域の先頭位置から所定位置までに識別情報が格納されている領域を有する記憶セルを有する記憶装置であって、クロック信号線と接続されているクロックバス、データ信号線と接続されているデータバス、およびリセット信号線と接続されているリセットバスを他の記憶装置と共有する記憶装置におけるアクセス要求処理方法を提供する。本発明の第5の態様に係るアクセス要求処理方法は、リセットバスにリセット信号を検出するとアドレスカウンタのカウンタ値を初期値にリセットし、データバスに送出された識別情報と前記記憶セルに格納されている識別情報が一致するか否かを判定し、データバスに送出された識別情報と前記記憶セルに格納されている識別情報が一致すると判定した場合には、データバスに送出された読み書き命令を解析し、前記解析結果に基づいて前記データバスのデータ転送および前記記憶セルに対するデータ転送を制御し、アドレスカウンタのカウンタ値にしたがって前記記憶セルの所望の位置に対してデータを書き込み、あるいは、前記記憶セルからデータを読み出すことを特徴とする。
かかる構成を備えることにより、本発明の第1および第2の態様と同様の効果を得ることができる。
本発明の第6の態様は、シーケンシャルにアクセスされる記憶セルを有する不揮発性の記憶装置において記憶セルの記憶領域の先頭位置から所定位置までに識別情報を格納する方法を提供する。本発明の第6の態様に係る識別情報の格納方法は、リセット信号を検出したらアドレスカウンタのカウンタ値を初期値にリセットすると共にクロック信号に同期したカウンタ値のカウントアップを禁止し、データバスに送出された書き込み命令に基づいて前記データバスのデータ転送方向を書き込み方向に設定すると共に前記記憶セルに対するデータ転送方向を書き込み方向に設定し、前記データ転送方向の設定終了後に、前記アドレスカウンタにおけるクロック信号に同期したカウンタ値のカウントアップを許容し、前記アドレスカウンタのカウント値にしたがって前記記憶セルの記憶領域の先頭位置から所定位置までに識別情報を書き込み、続いてデータを書き込むことを特徴とする。
上記構成を備えることにより、テストモード時において、識別情報および他のデータの書き込みを実行することができる。特に、記憶領域の先頭位置から識別情報を書き込むことができる。
本発明の第7の態様は、シーケンシャルにアクセスされる記憶セルを有する不揮発性の記憶装置において記憶セルの記憶領域に格納されているデータを先頭位置から読み出す方法を提供する。本発明の第7の態様に係るデータの読み出し方法は、リセット信号を検出したらアドレスカウンタのカウンタ値を初期値にリセットすると共にクロック信号に同期したカウンタ値のカウントアップを禁止し、データバスに送出された読み出し命令に基づいて前記データバスのデータ転送方向を読み出し方向に設定すると共に前記記憶セルに対するデータ転送方向を読み出し方向に設定し、前記データ転送方向の設定終了後に、前記アドレスカウンタにおけるクロック信号に同期したカウンタ値のカウントアップを許容し、前記アドレスカウンタのカウント値にしたがって前記記憶セルの記憶領域に格納されているデータを先頭位置から読み出すことを特徴とする。
上記構成を備えることにより、テストモード時において、データの読み出しを実行することができる。
本発明の第8の態様は、シーケンシャルにアクセスされる記憶セルを有する不揮発性の記憶装置において記憶セルの記憶領域の先頭位置から所定位置までに識別情報を格納する方法を提供する。本発明の第8の態様に係る方法は、前記記憶装置の記憶セルに格納されている前記識別情報と一致する識別情報を検索し、前記記憶セルに格納されている前記識別情報と一致する識別情報を検索した場合には、前記検索した識別情報および書き込み命令を前記記憶装置に対して送出し、前記記憶装置における記憶セルの記憶領域の末尾位置に対応する書き込みデータの次に前記識別情報を有するデータ列を前記記憶装置に対して送出し、アドレスカウンタのカウント値にしたがって、前記記憶セルの記憶領域の末尾位置までデータを書き込み、続いて前記記憶セルの記憶領域の先頭位置から所定位置までに前記識別情報を書き込むことを特徴とする。
本発明の第8の態様に係る方法によれば、記憶装置が有する識別情報を知らない場合であっても、記憶装置が有する識別情報を探し当て、記憶セルの記憶領域の先頭位置から所定位置までに識別情報を書き込むことができる。したがって、記憶装置のリサイクル後に、記憶装置に対して新規な識別情報およびデータを容易に書き込むことができ、記憶装置の再利用を促進させることができる。
以下、本発明に係る記憶装置を含む記憶システムについて以下の順序にて図面を参照しつつ、いくつかの実施例に基づいて説明する。
A.第1実施例に係る記憶システムの構成
B.第1実施例に係る記憶装置の構成
C.第1実施例における記憶システムの動作
D.第2実施例に係る記憶システムの構成および記憶装置の構成
E.第3実施例に従うテストモード時における記憶装置に対する識別情報(識別データ)の書き込み
F.第4実施例に従うテストモード時における記憶装置に対する識別情報(識別データ)の書き込み
A.第1実施例に係る記憶システムの構成:
図1を参照して第1実施例に係る記憶システムの概略構成について説明する。図1は第1実施例に係る複数の記憶装置およびホストコンピュータを含む記憶システムの構成例を示す説明図である。
本実施例に係る記憶システムは、ホストコンピュータ10と、メモリモジュール基板200上に配置されていると共にホストコンピュータ10によってアクセスが制御される5個の記憶装置20,21,22,23,24とを備えている。なお、各記憶装置20,21,22,23,24は、図14に示すようにインクジェットプリンタ用の5色のインクカートリッジC1、C2、C3、C4、C5にそれぞれ備えられているものとする。5色のインクカートリッジC1、C2、C3、C4、C5には、例えば、シアン、ライトシアン、マゼンタ、ライトマゼンタ、イエローの各色のインクが収容されている。また、本実施例における記憶装置は不揮発的に記憶内容を保持すると共に記憶内容を書き換え可能なEEPROMとする。
図1では説明を容易にするために、記憶装置20,21,22,23,24のみが示されているが、既述のように本実施例に係る記憶装置20,21,22,23,24は、実際にはインクカートリッジC1、C2、C3、C4、C5に備えられている。
各記憶装置20,21,22,23,24のデータ信号端子DT、クロック信号端子CT、リセット信号端子RTはデータバスDB、クロックバスCB、リセットバスRBを介してそれぞれ接続されている(図4参照)。ホストコンピュータ10とデータバスDB、クロックバスCB、リセットバスRBとはデータ信号線DL、クロック信号線CL、リセット信号線RLを介して接続されている。なお、これら信号線は、例えば、フレキシブル・フィード・ケーブル(FFC)として実現され得る。ホストコンピュータ10の電源正極端子VDDHと各記憶装置20,21,22,23,24の電源正極端子VDDMとは電源供給線VDLを介して接続されている。メモリモジュール基板200上には、各記憶装置20,21,22,23,24の電源負極端子VSSをシリアルに接続する電源負極信号線VSLが配置されている。電源負極信号線VSLの一端は接地されており、他端はカートリッジアウト信号線COLを介してホストコンピュータ10のカートリッジアウト検出端子COTと接続されている。
ホストコンピュータ10は、その内部に図示しないクロック信号生成回路、リセット信号生成回路、電源監視回路、電源回路、電源補償回路、データ記憶回路および各回路を制御する制御回路を保有する制御装置であり、記憶装置20,21,22,23,24に対するアクセスを制御する。ホストコンピュータ10は、例えば、インクジェットプリンタの本体側に配置されており、インク消費量、インクカートリッジの装着時間といったデータを取得しデータ記憶回路に記憶する。
ホストコンピュータ10の制御回路は、インクジェットプリンタの電源投入時、インクカートリッジの交換時、印刷ジョブの終了時、インクジェットプリンタの電源遮断時等に記憶装置20,21,22,23,24に対するアクセスを実行する。ホストコンピュータ10の制御回路は、記憶装置20,21,22,23,24へアクセスする場合には、リセット信号生成回路に対してリセット信号RSTの生成を要求する。したがって、停電、電源プラグが抜かれた場合にもリセット信号RSTが生成される。ホストコンピュータ10の電源補償回路は、電源の供給が遮断された場合にも所定の期間(例えば、0.3s)電源を供給する。この結果、停電、電源プラグが抜かれることによってデータ書き込み中の電源が遮断されても、上記所定期間の間に書き込みを優先すべきデータの書き込みを完了することができる。電源補償回路としては、例えば、コンデンサが用いられる。
ホストコンピュータ10の制御回路は、電源回路を制御して正電源の出力を制御する。本実施例に係るホストコンピュータ10は、記憶装置20,21,22,23,24に対して、常時電源を供給しておらず、記憶装置20,21,22,23,24に対するアクセス要求が発生した場合にのみ、記憶装置20,21,22,23,24に対して正電源を供給する。
ホストコンピュータ10から送出されるデータ列について図2および図3を参照して説明する。図2は通常時にホストコンピュータ10から送出されるデータ列の一例を示す説明図である。図3はテストモード時にホストコンピュータ10から送出されるデータ列の一例を示す説明図である。
ホストコンピュータ10から送出されるデータ列は、通常時には、図2に示すように3ビットの識別データ部、1ビットの読み出し/書き込みコマンド部、1ビット〜252ビットの書き込み/読み出しデータ部を備える。一方、テストモード時には、ホストコンピュータ10から送出されるデータ列は、図3に示すように1ビットの書き込みデータ部、1ビット〜256ビットの書き込みデータ部を備える。なお、書き込みデータ部の先頭から3ビットには識別データが配置されている。
ホストコンピュータ10のクロック信号生成回路は、記憶装置20,21,22,23,24からデータを読み出す場合には、例えば、4μS間隔のクロック信号SCKを生成し、データ書き込み時には3ms間隔のクロック信号SCKを生成する。
B.第1実施例に係る記憶装置の構成
次に、図4を参照して記憶装置20,21,22,23,24の内部構成について説明する。図4は記憶装置20の内部回路構成を示すブロック図である。なお、個々の記憶装置20,21,22,23,24の内部構成は、格納されている識別情報(識別データ)、固有のデータを除いて同一であるから以下の説明では代表的に記憶装置20の内部構成について説明する。
記憶装置20は、メモリアレイ201、アドレスカウンタ202、IDコンパレータ203、オペレーションコードデコーダ204、I/Oコントローラ205および工場設定ユニット206を備えている。
メモリアレイ201は、所定容量、例えば、256ビットの記憶領域を有し、先頭から3ビットの記憶領域には識別データが格納され、先頭から4ビット目の記憶領域は無効領域とされている。上述のように、通常時、ホストコンピュータ10から送出されるデータ列の先頭3ビットには識別データが格納され、先頭から4ビット目には書き込み/読み出しコマンドが格納されている。したがって、先頭から5ビット目以降の記憶領域でなければデータの書き込みは行われず、メモリアレイ201の記憶領域がこのような構成を備えることによって先頭4ビットは読み出し専用の記憶領域となる。メモリアレイ201は、書き込みが優先されるべき情報、たとえば、インク消費量またインク残量、を書き込む領域を先頭5ビット目から有している。このような構成を備えることにより、電源スイッチが操作されることなく電源が遮断された場合にも、電源補償回路が電源供給を補償できる期間内に重要なデータをメモリアレイ201に書き込むことができる。
アドレスカウンタ202は、工場設定ユニット206を介して供給されるクロック信号SCKに同期してそのカウンタ値をインクリメントする回路であり、メモリアレイ201と接続されている。カウンタ値とメモリアレイ201の記憶領域位置(アドレス)とは関連付けられており、アドレスカウンタ202のカウンタ値によってメモリアレイ201における書き込み位置または読み出し位置を指定することができる。アドレスカウンタ202はまた、リセット信号端子RTと接続されており、リセット信号RSTが入力されると、カウンタ値を初期値にリセットする。ここで、初期値はメモリアレイ201の先頭位置と関連付けられていればどのような値でも良く、一般的には0が初期値として用いられる。
IDコンパレータ203は、クロック信号端子CT、データ信号端子DT、リセット信号端子RTと接続されており、データ信号端子DTを介して入力されたデータ列に含まれる識別データとメモリアレイ201に格納されている識別データとが一致するか否かを判定する。詳述すると、IDコンパレータ203は、リセット信号RSTが入力された後に入力される3ビット分のデータ、すなわち識別データを取得する。IDコンパレータ203は、データ列に含まれる識別データを格納する3ビットレジスタ(図示しない)、I/Oコントローラ205を介してメモリアレイ201から取得した識別データを格納する3ビットレジスタ(図示しない)を有しており、両レジスタの値が一致するか否かによって識別データが一致するか否かを判定する。IDコンパレータ203は、両識別データが一致する場合には、アクセス許可信号ENをオペレーションコードデコーダ204に送出する。IDコンパレータ203は、リセット信号RSTが入力されるとレジスタの値をクリアする。なお、記憶装置20、および他の全記憶装置21,22,23,24のIDコンパレータ203には共通識別データ、例えば、本実施例では(1,1,1)が格納されている。この共通識別データを各記憶装置20,21,22,23,24のIDコンパレータが保有することにより、各記憶装置20,21,22,23,24に対して共通に書き込むべきデータの書き込みを同時に実行することができる。
オペレーションコードデコーダ204は、I/Oコントローラ205、クロック信号端子CT、データ信号端子DTと接続されており、リセット信号RSTが入力された後に入力される4ビット目のデータ、すなわち書き込み/読み出しコマンドを取得する。オペレーションコードデコーダ204は、アクセス許可信号ENが入力されると、取得した書き込み/読み出しコマンドを解析してI/Oコントローラ205に対して書き込み処理要求または読み出し処理要求を送出する。オペレーションコードデコーダ204はまた、工場設定ユニット206とも接続されており、テストモード時には書き込み/読み出しコマンドの解析が終了すると解析終了通知を工場設定ユニット206に対して送出する。
I/Oコントローラ205は、データ信号端子DT、メモリアレイ201と接続されており、オペレーションコードデコーダ204からの要求に従ってメモリアレイ201に対するデータ転送方向ならびにデータ信号端子DTに対する(データ信号端子DTと接続されている信号線の)データ転送方向を切り換え制御する。I/Oコントローラ205は、リセット信号端子RTとも接続されており、リセット信号RSTを受信する。I/Oコントローラ205にはメモリアレイ201から読み出したデータおよびメモリアレイ201に対して書き込みデータを一時的に格納する第1のバッファメモリ(図示しない)と、データバスDBからのデータおよびデータバスDBへのデータを一時的に格納する第2のバッファメモリ(図示しない)を備えている。
I/Oコントローラ205は、リセット信号RSTの入力により初期化され、初期化時には、メモリアレイ201に対するデータ転送方向を読み出し方向に設定し、データ信号端子DTと接続されている信号線をハイインピーダンスとすることでデータ信号端子DTに対するデータ転送を禁止する。この初期化時の状態は、オペレーションコードデコーダ204から書き込み処理要求または読み出し処理要求が入力されるまで維持される。したがって、リセット信号入力後にデータ信号端子DTを介して入力されるデータ列の先頭4ビットのデータはメモリアレイ201に書き込まれることはなく、一方で、メモリアレイ201の先頭4ビット(内4ビット目は無効データ)に格納されているデータは、IDコンパレータ203に送出される。この結果、メモリアレイ201の先頭4ビットは読み出し専用状態となる。
工場設定ユニット206は、テスト信号端子TT、クロック信号端子CT、データ信号端子DTと接続されており、テスト信号が入力されるとテストモード処理を実行する。工場設定ユニット206は、テスト信号の入力がないときには受信したクロック信号SCKをそのままアドレスカウンタ202に転送し、テスト信号の入力があるときにはオペレーションコードデコーダ204から解析終了通知を受け取るまでアドレスカウンタ202に対するクロック信号SCKの転送を行わない。工場設定ユニット206は、オペレーションコードデコーダ204に対してテストモードコマンドを送出する。なお、テスト信号端子TTにはプルダウン抵抗が接続されており、通常時は非アクティブな端子とされている。
C.第1実施例における記憶システムの動作
図5〜図8を参照して本実施例における記憶システムの動作について説明する。図5は記憶装置20,21,22,23,24にアクセスする際にホストコンピュータ10によって実行される処理ルーチンを示すフローチャートである。図6はホストコンピュータ10によってアクセスされた際に記憶装置20,21,22,23,24の各構成回路によって実行される処理ルーチンを示すフローチャートである。図7はデータ読み出し時におけるリセット信号RST、クロック信号SCK、データ信号CDAおよびアドレスカウンタ値の時間的関係を示すタイミングチャートである。図8はデータ書き込み時におけるリセット信号RST、クロック信号SCK、データ信号CDAおよびアドレスカウンタ値の時間的関係を示すタイミングチャートである。
ホストコンピュータ10の制御回路は、カートリッジアウト信号線COLの入力値COが0となるまで待機する(ステップS100:No)。すなわち、全てのインクカートリッジが正しくインクカートリッジホルダに収容されている場合には、電源負極信号線VSLがシリアルに接続されて接地されるのでカートリッジアウト信号線COLの入力値COは接地電圧(例えば、約0ボルト)を示すからである。これに対して、たとえ、1個のインクカートリッジでもインクカートリッジホルダに正しく収容されていない場合には、電源負極信号線VSLはシリアルに接続されないので、接地されず、制御回路の回路電圧に対応する値がカートリッジアウト信号線COL上に現れる。但し、本実施例ではノイズ等の影響を排除するため、所定のしきい値を基準にして2値化している。したがって、カートリッジアウト信号線COLの入力値COは0か1を取る。
ホストコンピュータ10の制御回路は、カートリッジアウト信号線COLの入力値COが0を取ると(ステップS100:Yes)、図7および図8に示すように、電源供給線VDLを介して電源電圧を記憶装置20,21,22,23,24の電源正極端子VDDMに供給し(VDD=1)、リセット信号生成回路にリセット・ロー信号を生成させて(RST=0にセット)リセット信号線RLを介してリセットバスRBに送出する(ステップS110)。すなわち、インクカートリッジがインクカートリッジホルダに正しく収容されない限り、記憶装置20,21,22,23,24に対しては電源電圧が供給されない。なお、リセット信号RSTはアクティブ・ローであるものとし、本明細書中にて用いられるリセット信号RSTが生成される、入力されるといった用語は、特に断らない限りリセット・ロー信号を意味するものとする。
ホストコンピュータ10は、続いて図7および図8に示すようにリセット信号生成回路にRST=1とさせてリセット信号RSTをハイに設定する(ステップS120)。ホストコンピュータ10の制御回路は、アクセスを所望するインクカートリッジ(記憶装置20,21,22,23,24)の識別データ(IDデータ)を発行する(ステップS130)。発行されたIDデータは、図7および図8に示すようにクロック信号SCKの立ち上がりエッジに同期されてデータ信号線DLを介してデータバスDBに転送される。ホストコンピュータ10の制御回路は、発行したIDデータが(1,1,1)であるか否かを判定する(ステップS140)。既述のように、IDデータ(1,1,1)は全ての記憶装置20,21,22,23,24のIDコンパレータに予め格納されている識別データであり、発行されたIDデータが(1,1,1)の場合には、全ての記憶装置20,21,22,23,24に対して同時にデータの書き込みを実行することができる。
ホストコンピュータ10の制御回路は、IDデータ=(1,1,1)であると判定した場合には(ステップS140:Yes)、書き込みコマンドを発行する(ステップS150)。発行された書き込みコマンドは、図7および図8に示すようにリセット信号RSTがローからハイに切り替えられた後の4つ目のクロック信号SCKの立ち上がりエッジに同期されてデータ信号線DLを介してデータバスDBに転送される。ホストコンピュータ10の制御回路は、クロック信号生成回路に対してクロック信号SCKの速度を遅く、すなわち、クロック信号SCKの生成間隔を長くするよう要求する(ステップS160)。EEPROMに対してデータを書き込みために必要な時間は、例えば、3ms程度であり、データ読み出しに必要な時間は、例えば、4μs程度である。したがって、データ書き込み時には、データ読み出しに必要な時間の約1000倍程度の時間を要する。そこで、本実施例では、データ書き込みコマンドが発行されるまでは速いクロック信号速度にて記憶装置20,21,22,23,24に対してアクセスし、データ書き込み処理時にはクロック信号速度を遅くすることで、アクセス時間を短縮すると共に確実なデータの書き込みを実現する。
ホストコンピュータ10の制御回路は、発行されたIDデータが(1,1,1)でないと判定した場合には(ステップS140:No)、読み出しコマンド(Read)または、書き込みコマンド(Write)のいずれかを発行する(ステップS170)。発行されたコマンドは、データ信号線DLを介してデータバスDBに転送される。発行したコマンドが書き込みコマンドの場合には(ステップS170:Write)、ホストコンピュータ10の制御回路は、クロック信号速度を遅らせる(ステップS160)。一方、発行したコマンドが読み出しコマンドの場合には(ステップS170:Read)クロック信号速度を維持する。
ホストコンピュータ10の制御回路は、書き込みを所望するメモリアレイ201のアドレス(位置)に対応する数のクロック信号パルスを発行する(ステップS180)。すなわち、本実施例における記憶装置20はシーケンシャルアクセスタイプの記憶装置であるから、書き込みを所望するアドレスに対応する数のクロック信号パルスを発行し、アドレスカウンタ202のカウンタ値を所定のアドレスに対応するカウント値までインクリメントしなければならない。ホストコンピュータ10の制御回路は、最後に、リセット信号生成回路にリセット・ロー信号を生成させて(RST=0にセット)リセット信号線RLを介してリセットバスRBに送出して記憶装置20,21,22,23,24に対するアクセスを完了する。このように、リセット信号RST(リセット・ロー信号)の送出によりアクセスを完了し、また、電源遮断時にもリセット信号RSTを送出するので、データ書き込み中に電源が遮断された場合でも少なくとも書き込みを終えたデータの書き込み処理を正常に完了することができる。
次に、図6を参照してホストコンピュータ10によってアクセスされた際に記憶装置20,21,22,23,24の各構成回路によって実行される処理を説明する。なお、本説明においても記憶装置20を代表的に用いて説明する。
記憶装置20の工場設定ユニット206は、テスト信号の入力があるか(TEST=1)ないか(TEST=0)を判定する(ステップS200)。工場設定ユニット206がテスト信号の入力があると判定した場合には(ステップS200:No)、後述する工場設定処理が別途実行される。
工場設定ユニット206がテスト信号の入力はないと判定した場合には(ステップS200:Yes)、上述したホストコンピュータ10から送られる各種信号に基づいて記憶装置20の各構成装置が作動する。以下、図7および図8を参照してホストコンピュータ10が送出する信号出力タイミングに従って記憶装置20の動作を説明する。
リセット・ロー信号がリセットバスRBに入力されると、アドレスカウンタ202はカウンタ値を初期値(0)にリセットする(ステップS210)。また、IDコンパレータ203、I/Oコントローラ205も初期化される。すなわち、IDコンパレータ内の2つのレジスタがクリアされ、I/Oコントローラ205はメモリアレイ201に対するデータ転送方向を読み出し方向に設定すると共にデータ信号端子DTと接続されている信号線をハイインピーダンスにしてデータ転送を禁止する。
既述のように、ホストコンピュータ10は、リセット信号RSTがローからハイに切り替わると、クロック信号SCKの立ち上がりエッジに同期させて各種データを送出する。アドレスカウンタ202は、同じくリセット信号RSTがローからハイに切り替わると、クロック信号SCKの立ち上がりエッジに同期してカウンタ値を初期値から1つずつインクリメントする。
IDコンパレータ203は、リセット信号RSTかローからハイに切り替えられた後の3つのクロック信号SCKの立ち上がりエッジに同期してデータバスDBに送出されたデータ、すなわち、3ビットのIDデータを取得して第1の3ビットレジスタに格納する(ステップS220a)。これと同時にIDコンパレータ203は、アドレスカウンタ202のカウンタ値00、01、02によって指定されるメモリセル201のアドレスからデータを取得し、すなわち、メモリセル201に格納されている識別データを取得して、第2の3ビットレジスタに格納する(ステップS220b)。
IDコンパレータ203は、第1、第2レジスタに格納されたIDデータ(識別データ)が一致するか否かを判定する(ステップS230)。さらに、IDコンパレータ203は、予め保有している共通IDデータと第1レジスタに格納されているIDデータとが一致するか否かも判定する。IDコンパレータ203は、IDデータが一致しないと判定した場合には(ステップS230:No)、ホストコンピュータ10によるメモリアレイ201に対するアクセスは許容されず、記憶装置20におけるアクセス処理は終了する。かかる場合には、他の記憶装置21,22,23,24のいずれかに対するアクセスが許容される。
一方、IDコンパレータ203は、IDデータは一致すると判定した場合には(ステップS240)、オペレーションコードデコーダ204に対してアクセス許可信号ENを送出する。かかる場合には複数の記憶装置20,21,22,23,24のうち記憶装置20のみが、あるいは、IDデータが(1,1,1)の場合には全ての記憶装置20,21,22,23,24のメモリアレイに対するアクセスが許可されることとなる。アクセス許可信号ENを受信したオペレーションコードデコーダ204は、リセット信号RSTのローからハイへの切り替わり後の4つ目のクロック信号SCKの立ち上がりエッジに同期してデータバスに送出された読み出し/書き込みコマンドを取得して書き込み命令あるか否かを判定する(ステップS240)。
オペレーションコードデコーダ204は、書き込みデータであると判定した場合には(ステップS240:Yes)、I/Oコントローラ205に対して書き込み命令を送出する。書き込み命令を受信したI/Oコントローラ205は、メモリセル201に対するデータ転送方向を書き込み方向に変更し、データ端子DTと接続されている信号線のハイインピーダンス設定を解除してデータ転送を許容する(ステップS250)。この状態では、データバスに送出されたされた書き込みデータは、クロック信号SCKに同期して順次カウントアップされるアドレスカウンタ202のカウンタ値によって指定されるメモリアレイ201のアドレス(位置)に1ビットづつシーケンシャルに格納されていく。本実施例に係る記憶装置20は、このようにシーケンシャルにアクセスされるので、ホストコンピュータ10から送出された書き込みデータは、書き換えを所望するアドレスに対応するデータを除いて、メモリアレイ201に現在格納されているデータと同一の値(0または1)を有している。すなわち、メモリアレイ201における書き換えられないアドレスのデータは、同一の値によって上書きされる。
オペレーションコードデコーダ204は、書き込みデータでないと判定した場合には(ステップS240:No)、I/Oコントローラ205に対して読み出し命令を送出する。読み出し命令を受信したI/Oコントローラ205は、メモリセル201に対するデータ転送方向を読み出し方向に変更し、データ端子DTと接続されている信号線のハイインピーダンス設定を解除してデータ転送を許容する。(ステップS260)。この状態では、メモリアレイ201に格納されているデータは、クロック信号SCKに同期して順次インクリメントされるアドレスカウンタ202のカウンタ値によって指定されるアドレス(位置)の順にシーケンシャルに読み出され、I/Oコントローラ205の第1のバッファメモリに順次上書きされていく。
すなわち、最後に読み出されたアドレスのデータ(ホストコンピュータ10によって指定されたアドレス位置のデータ)のみが最終的にI/Oコントローラ205の第2のバッファメモリに保持される。I/Oコントローラ205は、第2のバッファメモリに保持されている読み出しデータをデータ端子DTを介してデータバスDBに送出し、ホストコンピュータ10に転送する。
最後に、リセット・ロー信号が入力されると、アドレスカウンタ202、IDコンパレータ203、I/Oコントローラ205は初期化され、データの書き込みまたは読み出しが終了される。なお、読み出しまたは書き込みデータは1ビット単位で確定されており、リセット・ロー信号の再入力はデータの確定に必要な動作ではない。さらに、既述のように、リセット信号RSTは電源遮断時にも出力されるので、たとえデータの書き込みの最中に偶発的に電源が遮断されても、その時点で書き込みの完了しているデータについては書き込みが終了され、また、本実施例では1ビット単位でデータが書き込まれるので、書き込みの完了しているデータについてはデータ化け等の問題を回避することができる。
さらに、電源遮断時には電源補償回路によって所定期間は電源供給が補償されると共に、データの書き込みに際しては、インク残量またはインク消費量といった書き込み優先データから順次書き込まれていく。したがって、複数の記憶装置20,21,22,23,24に対して書き込みが必要な場合にも、全ての記憶装置に対して書き込み優先データの書き込みを完了することができる。
D.第2実施例に係る記憶システムおよび記憶装置の構成:
図9および図10を参照して第2実施例に係る記憶システムおよび記憶装置の内部構成について説明する。図9は第2実施例に係る複数の記憶装置およびホストコンピュータを含む記憶システムの構成例を示す説明図である。図10は第2実施例に係る記憶装置の内部回路構成を示すブロック図である。
第2実施例に係る記憶システムは、システムを構成する記憶装置40,41,42,43,44がTESTモード用のテスト信号端子TTを備えない点に特徴を有する。なお、記憶システムの他の構成は第1実施例に係る記憶システムの構成と同様であるから同一の符合を付してその説明を省略する。図10を参照して記憶装置40の内部構成を説明する。記憶装置40は、テスト信号端子TTを有しない他、第1実施例に係る記憶装置20が備える工場設定ユニット206に相当する回路も備えない。すなわち、工場設定ユニットは、記憶装置40に対して後述する第3実施例に従う方法にて識別情報およびデータを書き込みために必要な回路であるから、第4実施例に従う方法にて識別情報およびデータを書き込む場合には不要な回路である。したがって、第2実施例では、工場設定ユニット206に相当する回路を備えない記憶装置40を例示した。なお、テスト信号端子TTおよび工場設定ユニット206を備えない他は、他の回路構成は第1実施例に係る記憶装置20の構成と同様であるから、同一の符合を付してその説明を省略する。さらに、第2実施例に係る記憶システムおよび記憶装置40の動作についても第1実施例に係る記憶システムおよび記憶装置20の動作と同様であるからその説明を省略する。
E.第3実施例に従うテストモード時(工場設定処理時)における記憶装置に対する識別データの書き込み
次に、第3実施例に従うテストモード時における記憶装置20,21,22,23,24に対する識別データ並びに初期書き込みデータの書き込み処理について図11および図12を参照して説明する。図11は第3実施例に従うテストモード時書き込み処理の流れを示すフローチャートである。図12は第3実施例に従うテストモード時書き込み処理を実施する際のテスト用ホストコンピュータと記憶装置の接続状態の一例を示すフローチャートである。
なお、第3実施例に従うテストモード時書き込み/読み出し処理が適用され得る記憶装置の構成は第1実施例に従う記憶システムにおける記憶装置の構成と同一であるから同一の符合を付してその説明を省略する。また、第3実施例に従う処理は、インクカートリッジ製造時にインクカートリッジに記憶装置20を装着した状態で、あるいは、インクカートリッジを回収した後に記憶装置20を取り外した状態で、図12に示すように、記憶装置20の各端子CT、DT、RT、TT(プローブ)に対してホストコンピュータ10(または専用のテスト用ホストコンピュータ)からの信号線を一対一に接続することによって実行され得る。
ホストコンピュータ100から記憶装置20に対してTEST信号を送出した後、すなわち、図6に示すフローチャートにおいて工場設定処理へ処理が移行した後に本処理は開始する。工場設定ユニット206は、入力されたクロック信号SCKをアドレスカウンタ202に転送せず、アドレスカウンタ202におけるカウンタ値のカウントアップを禁止する(ステップS300)。工場設定ユニット206は、IDコンパレータ203からのアクセス許可信号ENなしでもオペレーションコードデコーダ204をアクティブ状態とし、テスト信号の入力後、データバスDBに最初に送出されたデータ(コマンド)を取得させる、テストモードコマンドをオペレーションコードデコーダ204に対して送出する(ステップS310)。テストモード時にデータバスDBに入力されるデータ列は図3に示すとおりであり、オペレーションコードデコーダ204が取得するコマンドは書き込みコマンドまたは読み出しコマンドである。
オペレーションコードデコーダ204は、取得したコマンドを解析し、I/Oコントローラ205に対してメモリアレイ201に対するデータ転送方向を書き込み方向または読み出し方向に設定し、また、データバスDBとI/Oコントローラ205とを結ぶ信号線をデータ転送可能状態に設定するように要求する(ステップS320)。
オペレーションコードデコーダ204は、コマンド解析が終了すると、工場設定ユニット206に対してコマンド解析の終了を通知し、これを受けた工場設定ユニット206は、入力されたクロック信号SCKをアドレスカウンタ202に転送する(ステップS330)。オペレーションコードデコーダ204による解析結果が書き込みコマンドである場合には(ステップS340:Write)、データバスDBに送出されたデータはアドレスカウンタ202はカウンタ値によって指定されるアドレスに順次書き込まれる(ステップS350)。したがって、書き込みコマンドに続くデータをメモリアレイ201のアドレス00から書き込むことが可能となり、書き込みコマンドに続く3ビットのデータに識別データを持たせることによりメモリアレイ201の先頭領域3ビットに識別データを書き込むことができる。
テスト用ホストコンピュータ100は、メモリアレイ201のデータを読み出し(ステップS360)、送出したデータと一致するか否かを判定する(ステップS370)。テスト用ホストコンピュータ100は、両データが一致すると判定した場合には(ステップS370:Yes)、正しく書き込みが終了したと判断して工場設定処理を終了する。一方、テスト用ホストコンピュータ100は、両データが一致しないと判定した場合には(ステップS370:No)、再度データの書き込みを実行する。
一方、オペレーションコードデコーダ204による解析結果が書き込みコマンドである場合には(ステップS340:Read)、アドレスカウンタ202はカウンタ値によって指定されたアドレスまで順次データが読み出され、指定されたアドレスのデータがデータバスDBを介してホストコンピュータ10に送出される(ステップS380)。
F.第4実施例に従うテストモード時(工場設定処理時)における記憶装置に対する識別データの書き込み
続いて、第4実施例に従うテストモード時書き込み処理の流れについて図13および図14を参照して説明する。図13は第4実施例に従うテストモード時書き込み処理の流れを示すフローチャートである。図14は第3実施例に従うテストモード時書き込み処理を実施する際のテスト用ホストコンピュータと記憶装置の接続関係の一例を示す説明図である。なお、本実施例が適用され得る記憶装置の構成は第2実施例にかかる記憶装置40の構成と同様であるから同一の符合を付してその説明を省略する。本処理では図10に示すように、対象となる記憶装置40がテスト用端子TT、IDコンパレータ203によるIDチェックを無効にするために工場設定ユニット206を備える必要がない点に特徴を有する。
また、第4実施例に従う処理は、インクカートリッジ製造時にインクカートリッジに記憶装置20を装着した状態で、あるいは、インクカートリッジを回収した後に記憶装置20を取り外した状態で、図14に示すように、記憶装置40の各端子CT、DT、RT(プローブ)に対してホストコンピュータ10(または専用のテスト用ホストコンピュータ)からの信号線を一対一に接続することによって実行され得る。
先ず、テスト用ホストコンピュータ100は、任意のIDデータを順次発行し(ステップS400)、メモリアレイ201が有する識別データと一致するまでデータバスDBを介してIDコンパレータ203に入力する(ステップS410:No)。本実施例ではIDデータ、識別データとして3ビットのデータを用いているので、その組み合わせは8通りである。
テスト用ホストコンピュータ100における識別データとIDデータとが一致するか否かの判定は、例えば、以下のように実現することができる。先ず、IDコンパレータ203からアクセス許可信号ENが転送されない条件下にて書き込み/読み出しコマンドを受信すると、全てのデータが1または0のデータ列のデータバスDBへの送出をI/Oコントローラ205に対して要求するように、オペレーションコードデコーダ204を設定しておく。テスト用ホストコンピュータ100は、取得した読み出しデータが全て1または全て0の場合には、送出したIDデータと記憶装置400の識別情報が不一致であると判定し、再度、IDデータを記憶装置400に対して送出する。一方、テスト用ホストコンピュータ100は、取得した読み出しデータが全て1または全て0でない場合には、送出したIDデータと記憶装置400の識別情報とが一致したと判定する。したがって、テスト用ホストコンピュータ100は、IDデータと記憶装置400の識別情報とが一致するまで、記憶装置400に対してIDデータを送出し、データバスDBに送出されたデータを取得する処理を繰り返し実行する。
テスト用ホストコンピュータ100は、メモリアレイ201が有する識別データとIDデータが一致し(ステップS410:Yes)、IDコンパレータ203からのアクセス許可信号ENを検出すると、メモリアレイ201の容量と同容量のデータをメモリアレイ201に書き込む(S420)。本実施例ではメモリアレイ201は256ビットの容量を有しているので、書き込み可能な5ビット目から256ビット目まで252ビットの容量のデータを書き込む。テスト用ホストコンピュータ100は、続いて257〜259ビットの3ビット容量のデータ(識別データ)をメモリアレイ201に書き込む(ステップS430)。メモリアレイ201のアドレスのうち256ビット目まではすでに書き込みが完了しているので、新たに書き込まれるデータはメモリアレイ201の先頭1〜3ビット目に書き込まれる。この結果、メモリアレイ201の先頭3ビットに識別データが書き込まれる。
なお、送出したIDデータと記憶装置400の識別情報とが一致するか否かの判定に際しては、テスト用ホストコンピュータ100がIDコンパレータ203のアクセス許可信号ENを監視するようにしても良い。IDコンパレータ203には、IDデータと識別情報とが一致した際には、アクセス許可信号ENを送出するからである。
この方法によれば、例えば、回収されたインクカートリッジから記憶装置20取り出すような場合にも、記憶装置400の識別データがどのうような値であったかを知ることなく、メモリアレイ201を上書きして、新たな識別データを書き込むことができる。また、記憶装置400に工場設定ユニット206を含ませる必要がなくなり、記憶装置400を構成する回路数を低減することができる。
以上説明したように、第1〜第4実施例に係る記憶装置20および記憶システムによれば、記憶装置20,21,22,23,24のメモリアレイの先頭位置から3ビットの領域に識別データを格納するので、複数の記憶装置20,21,22,23,24の中から所望の記憶装置を選択することができる。また、識別データが格納されている領域は、通常時には、読み出し専用となるが、テストモード時には書き込みを実施することができるので、容易に識別データの書き換えを実行することができる。このことは、例えば、本実施例のように記憶装置20,21,22,23,24をインクカートリッジに備えた場合に、使用済みインクカートリッジから記憶装置20,21,22,23,24を取り外し、再利用する際の識別データの書き込みを容易にする。この結果、記憶装置20,21,22,23,24の再利用を促進することができる。
以上、実施例に基づき本発明に係る記憶装置および記憶システムを説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
上記実施例では、記憶装置20としてEEPROMを用いて説明したが、格納データを不揮発的に維持することができると共に、格納データを書き換え可能な記憶装置であればEEPROMに限られない。
上記実施例では、優先書き込みデータとしてインク残量データおよびインク消費量データを例示しているが、これらデータに代えてあるいはこれらデータに加えて他のデータを優先書き込みデータとしても良い。
上記実施例では、メモリアレイ201の先頭3ビットに識別データを格納しているが、識別データの容量は識別すべき記憶装置の数によって適宜変更され得る。また、メモリアレイ201の容量は256ビットに限定されるものでなく、格納すべきデータ量に応じて適宜変更され得る。
上記実施例では、5つの記憶装置20,21,22,23,24を5色(5個)の独立したインクカートリッジに備えた場合について説明したが、本実施例に係る記憶装置20は、2色〜4色、あるいは6色以上のインクカートリッジに対しても適用することができる。
上記実施例では、インクジェットプリンタ用のインクカートリッジにインクカートリッジ情報を格納するための記憶装置として本実施例に係る記憶装置20を説明したが、本実施例に係る記憶装置20は他の態様にて用いられ得ることは言うまでもない。すなわち、複数の記憶装置を用いるシステムにおいて、特定の記憶装置に対してアクセスするためにメモリアレイ201の先頭3ビットに識別データを格納しているが、識別データの容量は識別すべき記憶装置の数によって適宜変更され得る。また、メモリアレイ201の容量は256ビットに限定されるものでなく、格納すべきデータ量に応じて適宜変更され得る。