(57)【特許請求の範囲】
【請求項１】
ホスト装置との通信処理を行う制御部と、
前記ホスト装置からのデータが書き込まれる記憶部と、
前記記憶部のアクセス制御を行う記憶制御部とを含み、
前記制御部は、
前記ホスト装置からコマンドパケット及び前記コマンドパケットに対応するデータパケットを受信し、
前記データパケットの書き込みイネーブルビットが書き込み許可状態に設定されている場合には、アドレス情報の更新指示を前記記憶制御部に対して行うと共に、前記データパケットのデータの書き込み指示を前記記憶制御部に対して行い、
前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記アドレス情報の更新指示を前記記憶制御部に対して行う一方で、前記データパケットのデータの書き込み指示を前記記憶制御部に対して行わないことを特徴とする記憶装置。
【請求項２】
請求項１において、
前記制御部は、
前記コマンドパケットに対応する前記データバケットとして第１のデータパケット〜第ｍ（ｍは２以上の整数）のデータパケットを受信し、
前記第１のデータパケット〜前記第ｍのデータパケットのうちの第ｉ（ｉは１≦ｉ≦ｍである整数）のデータパケットの書き込みイネーブルビットが書き込み許可状態に設定されている場合には、アドレス情報の更新指示を前記記憶制御部に対して行うと共に、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、
前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記アドレス情報の更新指示を前記記憶制御部に対して行う一方で、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行わないことを特徴とする記憶装置。
【請求項３】
請求項２において、
前記制御部は、
前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記記憶制御部からの内部アクノリッジを待たずに第ｉ＋１のデータパケットの受信処理を行うことを特徴とする記憶装置。
【請求項４】
請求項３において、
前記制御部は、
前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記ホスト装置との間の通信エラーの有無を判断し、前記通信エラーが無いと判断された場合には、前記ホスト装置に対してアクノリッジを返信することを特徴とする記憶装置。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記制御部は、
前記第ｉのデータパケットのデータフィールドのビットのうち、前記記憶部に記憶されるデータのライトロックビットに対応するビットを、前記書き込みイネーブルビットとして認識することを特徴とする記憶装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記制御部は、
動作モードとして第１のモードと第２のモードとを有し、
前記第１のモードでは、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み許可状態に設定されている場合には、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、前記記憶部に対して前記第ｉのデータパケットのデータが正常に書き込まれた場合に、前記ホスト装置に対してアクノリッジを返信し、
前記第２のモードでは、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み許可状態に設定されている場合には、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、前記ホスト装置に対してアクノリッジを返信しないことを特徴とする記憶装置。
【請求項７】
請求項６において、
前記制御部は、
前記第２のモードでは、
第１の期間において、第１のコマンドパケットと、前記書き込みイネーブルビットが書き込み許可状態に設定された第１のデータパケットとを受信して、前記第１のデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、
第２の期間において、第２のコマンドパケットと、前記書き込みイネーブルビットが書き込み非許可状態に設定された第１のデータパケットと、第２のデータパケットとを受信し、前記第２のデータパケットの前記書き込みイネーブルビットが書き込み許可状態に設定されている場合には、前記第２のデータパケットのデータの書き込み指示を前記記憶制御部に対して行うことを特徴とする記憶装置。
【請求項８】
請求項７において、
前記制御部は、
前記第２の期間において、前記第１のデータパケットを受信した時は、前記第１のデータパケットのデータの書き込み指示を行うことなく、前記ホスト装置との間の通信エラーの有無を判断し、前記通信エラーが無いと判断された場合には、前記ホスト装置に対してアクノリッジを返信することを特徴とする記憶装置。
【請求項９】
請求項６乃至８のいずれかにおいて、
リセット端子を含み、
前記制御部は、
データパケット受信後の、前記記憶制御部からの内部アクノリッジを待つ期間である内部アクノリッジ待ち期間において、前記リセット端子の電圧レベルに基づいて、前記動作モードが前記第１のモードであるか、或いは前記第２のモードであるかを判断することを特徴とする記憶装置。
【請求項１０】
請求項１乃至９のいずれかに記載の記憶装置を含むことを特徴とする回路基板。
【請求項１１】
請求項１乃至９のいずれかに記載の記憶装置を含むことを特徴とする液体容器。
【請求項１２】
ホスト装置と、
前記ホスト装置と接続される第１の記憶装置〜第ｎ（ｎは２以上の整数）の記憶装置とを含み、
前記ホスト装置は、
前記第１の記憶装置〜前記第ｎの記憶装置との通信処理を行う通信処理部と、
前記通信処理部を制御するホスト制御部とを含み、
前記通信処理部は、
前記第１の記憶装置〜前記第ｎの記憶装置のうちの第ｊ（ｊは１≦ｊ≦ｎである整数）の記憶装置に対して、コマンドパケットと前記コマンドパケットに対応する第１のデータパケット〜第ｍ（ｍは２以上の整数）のデータパケットを送信する場合に、
前記第ｊの記憶装置にデータを書き込むデータパケットの書き込みイネーブルビットを書き込み許可状態に設定し、
前記第ｊの記憶装置にデータを書き込まないデータパケットの前記書き込みイネーブルビットを書き込み非許可状態に設定し、
前記第ｊの記憶装置は、
前記ホスト装置との通信処理を行う制御部と、
前記ホスト装置からのデータが書き込まれる記憶部と、
前記記憶部のアクセス制御を行う記憶制御部とを含み、
前記制御部は、
前記ホスト装置から前記コマンドパケットと前記第１のデータパケット〜前記第ｍのデータパケットを受信した場合に、
前記第１のデータパケット〜前記第ｍのデータパケットのうちの第ｉ（ｉは１≦ｉ≦ｍである整数）のデータパケットの前記書き込みイネーブルビットが、書き込み許可状態に設定されている場合には、アドレス情報の更新指示を前記記憶制御部に対して行うと共に、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、
前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記アドレス情報の更新指示を前記記憶制御部に対して行う一方で、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行わないことを特徴とするシステム。
【請求項１３】
請求項１２において、
前記通信処理部は、
データを書き込まないデータパケットを前記第ｊの記憶装置に送信した後、前記第ｊの記憶装置から、通信エラーが無いことを通知するアクノリッジが返信された場合に、次のデータパケットを送信することを特徴とするシステム。
【請求項１４】
請求項１２又は１３において、
前記通信処理部は、
動作モードとして第１のモードと第２のモードとを有し、
前記第１のモードでは、前記第ｊの記憶装置に対するデータパケットの送信後に、前記第ｊの記憶装置からのアクノリッジ返信を待つステートに移行し、
前記第２のモードでは、前記第ｊの記憶装置に対するデータパケットの送信後に、前記第ｊの記憶装置からのアクノリッジ返信を待つことなく、第ｊ＋１の記憶装置に対するコマンドパケット及びデータパケットを送信するステートに移行することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、回路基板、液体容器及びシステム等に関する。
【背景技術】
【０００２】
インクジェット方式のプリンターで用いられるインクカートリッジ（液体容器）には、記憶装置が設けられているものがある。この記憶装置には、例えばインクの色やインク消費量などの情報が格納される。インク消費量に関するデータは、プリンター本体（ホスト装置）から記憶装置に送信され、記憶装置に含まれる不揮発性メモリーなどに書き込まれる。このようなプリンターにおいて、例えば停電やコンセントの引き抜きなどで電源が遮断されると、インク消費量などの情報を書き込めないという問題がある。
【０００３】
この問題に対して、例えば特許文献１には、電源遮断時に記憶装置に必要なデータを記憶装置に書き込む手法が開示されている。しかしながらこの手法では、用いられるインクカートリッジの個数が多くなると書き込み処理の全体の時間が長くなり、限られた電源保持時間内に書き込み処理を完了することが難しくなるなどの課題があった。
【０００４】
また例えば特許文献２には、ホスト装置がわざと誤りを含むデータを生成し、記憶装置の誤り検出機能を利用して不要なデータの書き込みをスキップすることで、書き込み処理を高速化する手法が開示されている。しかしこの方法では、本来の誤り検出機能が失われるおそれがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１８７４６１号公報
【特許文献２】特開２００９−２５９２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の幾つかの態様によれば、書き込み不要なデータを非書き込みとし、書き込み処理時間を短縮することができる記憶装置、ホスト装置、回路基板、液体容器及びシステム等を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、ホスト装置との通信処理を行う制御部と、前記ホスト装置からのデータが書き込まれる記憶部と、前記記憶部のアクセス制御を行う記憶制御部とを含み、前記制御部は、前記ホスト装置からコマンドパケット及び前記コマンドパケットに対応するデータパケットを受信し、前記データパケットの書き込みイネーブルビットが書き込み許可状態に設定されている場合には、アドレス情報の更新指示を前記記憶制御部に対して行うと共に、前記データパケットのデータの書き込み指示を前記記憶制御部に対して行い、前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記アドレス情報の更新指示を前記記憶制御部に対して行う一方で、前記データパケットのデータの書き込み指示を前記記憶制御部に対して行わない記憶装置に関係する。
【０００８】
本発明の一態様によれば、記憶装置は、データパケットの書き込みイネーブルビットの状態に基づいて、書き込みが許可されているか否かを判断し、書き込み非許可の場合にはデータを書き込まないことができる。その結果、ホスト装置による記憶装置に対するデータ書き込み処理の時間を短縮することなどが可能になる。また既に記憶されているデータを書き込み時のエラー等により破壊するおそれを低減することなどが可能になる。
【０００９】
また本発明の一態様では、前記制御部は、前記コマンドパケットに対応する前記データバケットとして第１のデータパケット〜第ｍ（ｍは２以上の整数）のデータパケットを受信し、前記第１のデータパケット〜前記第ｍのデータパケットのうちの第ｉ（ｉは１≦ｉ≦ｍである整数）のデータパケットの書き込みイネーブルビットが書き込み許可状態に設定されている場合には、アドレス情報の更新指示を前記記憶制御部に対して行うと共に、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記アドレス情報の更新指示を前記記憶制御部に対して行う一方で、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行わなくてもよい。
【００１０】
このようにすれば、記憶装置は、第ｉのデータパケットの書き込みイネーブルビットの状態に基づいて、書き込みが許可されているか否かを判断し、書き込み非許可の場合には第ｉのデータパケットのデータを書き込まないことができる。その結果、ホスト装置による記憶装置に対するデータ書き込み処理の時間を短縮することなどが可能になる。
【００１１】
また本発明の一態様では、前記制御部は、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記記憶制御部からの内部アクノリッジを待たずに第ｉ＋１のデータパケットの受信処理を行ってもよい。
【００１２】
このようにすれば、記憶装置は、第ｉのデータパケットの書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、第ｉのデータパケットのデータを書き込まずに、次のデータパケットである第ｉ＋１のデータパケットの受信処理に移行することができる。その結果、ホスト装置による記憶装置に対するデータ書き込み処理の時間を短縮することなどが可能になる。
【００１３】
また本発明の一態様では、前記制御部は、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記ホスト装置との間の通信エラーの有無を判断し、前記通信エラーが無いと判断された場合には、前記ホスト装置に対してアクノリッジを返信してもよい。
【００１４】
このようにすれば、ホスト装置は、書き込みイネーブルビットが書き込み非許可状態に設定されている場合でも、通信エラーの有無を確認することができるから、通信エラーによる誤書き込み等を低減することなどが可能になる。
【００１５】
また本発明の一態様では、前記制御部は、前記第ｉのデータパケットのデータフィールドのビットのうち、前記記憶部に記憶されるデータのライトロックビットに対応するビットを、前記書き込みイネーブルビットとして認識してもよい。
【００１６】
このようにすれば、受信するデータパケットのデータフィールドのビット数と、記憶部に記憶されるビット数とを同一にすることができる。その結果、制御部や記憶制御部などにおける処理を簡素化できるから、設計コストや製造コストを低減することなどが可能になる。
【００１７】
また本発明の一態様では、前記制御部は、動作モードとして第１のモードと第２のモードとを有し、前記第１のモードでは、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み許可状態に設定されている場合には、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、前記記憶部に対して前記第ｉのデータパケットのデータが正常に書き込まれた場合に、前記ホスト装置に対してアクノリッジを返信し、前記第２のモードでは、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み許可状態に設定されている場合には、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、前記ホスト装置に対してアクノリッジを返信しなくてもよい。
【００１８】
このようにすれば、第１のモードでは、ホスト装置は、記憶装置からのアクノリッジを受け取ることができるから、記憶装置においてデータが正常に書き込まれたか否かを判断することができる。また第２のモードでは、ホスト装置は、記憶装置からのアクノリッジ返信を待たずに、次の記憶装置への送信処理に移行することができるから、複数の記憶装置に対するデータ書き込み処理の全体の時間を短縮することなどが可能になる。
【００１９】
また本発明の一態様では、前記制御部は、前記第２のモードでは、第１の期間において、第１のコマンドパケットと、前記書き込みイネーブルビットが書き込み許可状態に設定された第１のデータパケットとを受信して、前記第１のデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、第２の期間において、第２のコマンドパケットと、前記書き込みイネーブルビットが書き込み非許可状態に設定された第１のデータパケットと、第２のデータパケットとを受信し、前記第２のデータパケットの前記書き込みイネーブルビットが書き込み許可状態に設定されている場合には、前記第２のデータパケットのデータの書き込み指示を前記記憶制御部に対して行ってもよい。
【００２０】
このようにすれば、第１の期間において、複数の記憶装置に対して第１のコマンドパケットのデータを書き込み、その後の第２の期間において、複数の記憶装置に対して第２のコマンドパケットのデータを書き込むことができる。こうすることで、特定のアドレスのデータを優先して書き込むことができるから、書き込み処理時間が制限されている場合などで、特に重要なデータを優先して書き込むことができる。
【００２１】
また本発明の一態様では、前記制御部は、前記第２の期間において、前記第１のデータパケットを受信した時は、前記第１のデータパケットのデータの書き込み指示を行うことなく、前記ホスト装置との間の通信エラーの有無を判断し、前記通信エラーが無いと判断された場合には、前記ホスト装置に対してアクノリッジを返信してもよい。
【００２２】
このようにすれば、第２の期間において、書き込みイネーブルビットが書き込み非許可状態に設定された第１のデータパケットについても、通信エラーの有無を確認することができるから、通信エラーによる誤書き込み等を低減することなどが可能になる。
【００２３】
また本発明の一態様では、リセット端子を含み、前記制御部は、データパケット受信後の、前記記憶制御部からの内部アクノリッジを待つ期間である内部アクノリッジ待ち期間において、前記リセット端子の電圧レベルに基づいて、前記動作モードが前記第１のモードであるか、或いは前記第２のモードであるかを判断してもよい。
【００２４】
このようにすれば、制御部は、リセット端子の電圧レベルに基づいて、第１のモード又は第２のモードのいずれかを選択することができる。リセット端子の電圧レベルは、ホスト装置により設定されるから、ホスト装置が記憶装置の動作モードを設定することができる。
【００２５】
本発明の他の態様は、第１の記憶装置〜第ｎ（ｎは２以上の整数）の記憶装置と接続され、第１の記憶装置〜第ｎ（ｎは２以上の整数）の記憶装置との通信処理を行う通信処理部と、前記通信処理部を制御する制御部とを含み、前記通信処理部は、前記第１の記憶装置〜前記第ｎの記憶装置のうちの第ｊ（ｊは１≦ｊ≦ｎである整数）の記憶装置に対して、コマンドパケットと前記コマンドパケットに対応する複数のデータパケットを送信する場合に、前記第ｊの記憶装置の記憶部にデータを書き込むデータパケットの書き込みイネーブルビットを書き込み許可状態に設定し、前記第ｊの記憶装置の前記記憶部にデータを書き込まないデータパケットの前記書き込みイネーブルビットを書き込み非許可状態に設定するホスト装置に関係する。
【００２６】
本発明の他の態様によれば、ホスト装置は、第ｊの記憶装置に対してデータパケットを送信する際に、書き込みイネーブルビットを書き込み許可状態又は書き込み非許可状態のいずれかに設定することができる。こうすることで、書き込む必要のないデータパケットについては、記憶装置に対してデータ非書き込みの指示をすることができる。その結果、記憶装置に対するデータ書き込み処理の時間を短縮することなどが可能になる。また既に記憶されているデータを書き込み時のエラー等により破壊するおそれを低減することなどが可能になる。
【００２７】
また本発明の他の態様では、前記通信処理部は、データを書き込まないデータパケットを前記第ｊの記憶装置に送信した後、前記第ｊの記憶装置から、通信エラーが無いことを通知するアクノリッジが返信された場合に、次のデータパケットを送信してもよい。
【００２８】
このようにすれば、ホスト装置は、データを書き込まないデータパケットを送信した後、通信エラーの有無を確認することができるから、通信エラーによる誤書き込み等を低減することなどが可能になる。
【００２９】
また本発明の他の態様では、前記通信処理部は、動作モードとして第１のモードと第２のモードとを有し、前記第１のモードでは、前記第ｊの記憶装置に対するデータパケットの送信後に、前記第ｊの記憶装置からのアクノリッジ返信を待つステートに移行し、前記第２のモードでは、前記第ｊの記憶装置に対するデータパケットの送信後に、前記第ｊの記憶装置からのアクノリッジ返信を待つことなく、第ｊ＋１の記憶装置に対するコマンドパケット及びデータパケットを送信するステートに移行してもよい。
【００３０】
このようにすれば、第１のモードでは、ホスト装置は、第ｊの記憶装置からのアクノリッジを受け取ることができるから、データが正常に書き込まれたか否かを判断することができる。また第２のモードでは、ホスト装置は、第ｊの記憶装置からのアクノリッジ返信を待たずに、次の記憶装置である第ｊ＋１の記憶装置への送信処理に移行することができるから、複数の記憶装置に対するデータ書き込み処理の全体の時間を短縮することなどが可能になる。
【００３１】
本発明の他の態様は、上記いずれかに記載の記憶装置を含む回路基板に関係する。
【００３２】
本発明の他の態様は、上記いずれかに記載の記憶装置を含む液体容器に関係する。
【００３３】
本発明の他の態様は、ホスト装置と、前記ホスト装置と接続される第１の記憶装置〜第ｎ（ｎは２以上の整数）の記憶装置とを含み、前記ホスト装置は、前記第１の記憶装置〜前記第ｎの記憶装置との通信処理を行う通信処理部と、前記通信処理部を制御するホスト制御部とを含み、前記通信処理部は、前記第１の記憶装置〜前記第ｎの記憶装置のうちの第ｊ（ｊは１≦ｊ≦ｎである整数）の記憶装置に対して、コマンドパケットと前記コマンドパケットに対応する第１のデータパケット〜第ｍ（ｍは２以上の整数）のデータパケットを送信する場合に、前記第ｊの記憶装置にデータを書き込むデータパケットの書き込みイネーブルビットを書き込み許可状態に設定し、前記第ｊの記憶装置にデータを書き込まないデータパケットの前記書き込みイネーブルビットを書き込み非許可状態に設定し、前記第ｊの記憶装置は、前記ホスト装置との通信処理を行う制御部と、前記ホスト装置からのデータが書き込まれる記憶部と、前記記憶部のアクセス制御を行う記憶制御部とを含み、前記制御部は、前記ホスト装置から前記コマンドパケットと前記第１のデータパケット〜前記第ｍのデータパケットを受信した場合に、前記第１のデータパケット〜前記第ｍのデータパケットのうちの第ｉ（ｉは１≦ｉ≦ｍである整数）のデータパケットの前記書き込みイネーブルビットが、書き込み許可状態に設定されている場合には、前記記憶制御部に対してアドレス情報の更新指示を前記記憶制御部に対して行うと共に、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行い、前記第ｉのデータパケットの前記書き込みイネーブルビットが書き込み非許可状態に設定されている場合には、前記記憶制御部に対して前記アドレス情報の更新指示を前記記憶制御部に対して行う一方で、前記第ｉのデータパケットのデータの書き込み指示を前記記憶制御部に対して行わないシステムに関係する。
【図面の簡単な説明】
【００３４】
【図１】記憶装置及びホスト装置の基本的な構成例。
【図２】図２（Ａ）、図２（Ｂ）は、ＩＤパケット、コマンドパケット及びデータパケットを説明する図。
【図３】図３（Ａ）、図３（Ｂ）は、記憶部に記憶されるデータの構成を説明する図。
【図４】第１のモードによる書き込み処理のタイミングチャート。
【図５】書き込みイネーブルビットを含まない構成による書き込み処理のタイミングチャート。
【図６】第２のモードによる書き込み処理の第１の期間のタイミングチャート。
【図７】第２のモードによる書き込み処理の第２の期間の始めの部分のタイミングチャート。
【図８】第２のモードによる書き込み処理の第２の期間の終わりの部分のタイミングチャート。
【図９】システムの基本的な構成例。
【図１０】液体容器の詳細な構成例。
【図１１】図１１（Ａ）、図１１（Ｂ）は、回路基板の詳細な構成例。
【発明を実施するための形態】
【００３５】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３６】
１．記憶装置及びホスト装置
図１に本実施形態の記憶装置及びホスト装置の基本的な構成例を示す。本実施形態の記憶装置１００は、制御部１１０、記憶部１２０、記憶制御部１３０、クロック端子ＴＣＫ、データ端子ＴＤＡ、リセット端子ＴＲＳＴを含む。また、本実施形態のホスト装置４００は、通信処理部４１０、制御部４２０、クロック端子ＨＣＫ、データ端子ＨＤＡ、リセット端子ＨＲＳＴを含む。なお、本実施形態の記憶装置及びホスト装置は、図１の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３７】
記憶装置１００（１００−１〜１００−ｎ（ｎは２以上の整数））は、バスＢＳを介してホスト装置４００と接続される。バスＢＳは、例えば図１に示すように、クロック信号線ＳＣＫ、データ信号線ＳＤＡ、リセット信号線ＸＲＳＴを含む。クロック信号線ＳＣＫを介して、ホスト装置４００は、複数の記憶装置１００−１〜１００−ｎに対してクロックを供給する。また、データ信号線ＳＤＡを介して、ホスト装置４００と各記憶装置１００との間でデータ等のやり取りが行われる。また、リセット信号線ＸＲＳＴを介して、ホスト装置４００は、複数の記憶装置１００−１〜１００−ｎに対してリセット信号を出力する。
【００３８】
複数の記憶装置１００−１〜１００−ｎは各々ＩＤ情報を有し、ホスト装置４００は、このＩＤ情報を指定することで、複数の記憶装置１００−１〜１００−ｎのうちの１つの記憶装置に対してコマンドやデータを送信することができる。例えば図１では、第１の記憶装置１００−１のＩＤ情報はＩＤ＝１であり、第２の記憶装置１００−２のＩＤ情報はＩＤ＝２である。
【００３９】
記憶装置１００は、クロック端子ＴＣＫ（広義には第１の端子）、データ端子ＴＤＡ（広義には第２の端子）及びリセット端子ＴＲＳＴ（広義には第３の端子）を含む。クロック端子ＴＣＫにはクロック信号線ＳＣＫが接続され、データ端子ＴＤＡにはデータ信号線ＳＤＡが接続され、リセット端子ＴＲＳＴにはリセット信号線ＸＲＳＴが接続される。
【００４０】
記憶装置１００の制御部１１０は、バスＢＳを介して接続されるホスト装置４００との通信処理を行う。具体的には、例えば図１に示すように、ホスト装置４００からのクロック及びリセット信号に基づいて、データ信号線ＳＤＡを介してホスト装置４００から送信されるコマンド（コマンドパケット）や書き込みデータ（データパケット）などを受信し、またデータ信号線ＳＤＡを介してホスト装置４００に対して記憶部１２０から読み出されたデータや後述するアクノリッジ（Acknowledge）などを送信する。
【００４１】
記憶部１２０は、例えばＥＥＰＲＯＭや強誘電体メモリーなどの不揮発性メモリー装置であって、ホスト装置４００からのデータが書き込まれる。記憶制御部１３０は、記憶部１２０のアクセス制御を行う。
【００４２】
制御部１１０は、例えばＩＤコンパレーターＩＤ＿ＣＯＭＰ、Ｉ／ＯコントローラーＩ／Ｏ＿ＣＮＴＬ、オペレーションコードデコーダーＯＰＣＤＥＣ、アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴを含む。ＩＤコンパレーターＩＤ＿ＣＯＭＰは、ホスト装置４００から送信されたＩＤ情報が自分自身のＩＤ情報と一致するか否かを比較する。一致する場合には、オペレーションコードデコーダーＯＰＣＤＥＣに対してイネーブル信号を出力し、オペレーションコードデコーダーＯＰＣＤＥＣはホスト装置４００から送信されたコマンド（オペレーションコード）をデコードする。一方、ホスト装置４００から送信されたＩＤ情報が自分自身のＩＤ情報と一致しない場合には、送信されたコマンドは無視される。
【００４３】
具体的には、ホスト装置４００から送信されたコマンドが書き込みコマンドである場合には、Ｉ／ＯコントローラーＩ／Ｏ＿ＣＮＴＬは、ホスト装置４００からの書き込みデータを受信する。記憶制御部１３０は、オペレーションコードデコーダーＯＰＣＤＥＣからの書き込み命令ｗｒに基づいて、受信した書き込みデータをメモリーデータｍ＿ｄａｔａとして記憶部１２０に書き込む。この書き込む際のアドレス情報ａｄｄｒは、ホスト装置４００からのクロックに基づいてアドレスカウンターＡＤＤＲ＿ＣＯＵＮＴにより生成され、書き込みデータはシーケンシャルに、すなわち送信された順番に記憶部１２０の連続するアドレスに書き込まれる。書き込みデータが記憶部１２０に正常に書き込まれた場合には、記憶制御部１３０は、内部アクノリッジ（Acknowledge）ｉ＿ａｃｋをＩ／ＯコントローラーＩ／Ｏ＿ＣＮＴＬに出力する。
【００４４】
ホスト装置４００から送信されたコマンドが読み出しコマンドである場合には、記憶制御部１３０は、オペレーションコードデコーダーＯＰＣＤＥＣからの読み出し命令ｒｄに基づいて、記憶部１２０からメモリーデータｍ＿ｄａｔａを読み出す。この読み出す際のアドレス情報ａｄｄｒもホスト装置４００からのクロックに基づいてアドレスカウンターＡＤＤＲ＿ＣＯＵＮＴにより生成され、シーケンシャルに読み出される。
【００４５】
本実施形態の記憶装置１００では、受信したデータパケットの書き込みイネーブルビットＷＥにより、そのデータパケットのデータを書き込むか否かを制御部１１０が判断することができる。すなわち、制御部１１０は、ホスト装置４００からコマンドパケット及びコマンドパケットに対応するデータパケットを受信した場合に、データパケットの書き込みイネーブルビットＷＥが書き込み許可状態（例えばＷＥ＝１）に設定されている場合には、アドレス情報ａｄｄｒの更新指示を記憶制御部１３０に対して行うと共に、データパケットのデータの書き込み指示ｗｒを記憶制御部１３０に対して行う。一方、書き込みイネーブルビットＷＥが書き込み非許可状態（例えばＷＥ＝０）に設定されている場合には、アドレス情報ａｄｄｒの更新指示を記憶制御部１３０に対して行う一方で、データパケットのデータの書き込み指示ｗｒを記憶制御部１３０に対して行わない。こうすることで、記憶装置１００は、書き込みイネーブルビットＷＥの状態に基づいて、書き込みの許可又は非許可を判断し、書き込み非許可のデータパケットについては書き込みを行わずに、次のデータパケットの受信処理及び書き込み処理に移行することができる。その結果、記憶装置１００に対するデータ書き込み処理の時間を短縮することができる。なお、データ書き込み処理の詳細については、後述する。
【００４６】
さらに制御部１１０は、動作モードとして第１、第２のモード（第１、第２の動作モード）を有する。第１のモードでは、書き込みイネーブルビットＷＥが書き込み許可状態に設定されている場合には、データの書き込み指示ｗｒを記憶制御部１３０に対して行うと共に、記憶部１２０に対してデータパケットのデータが正常に書き込まれた場合には、ホスト装置４００に対してアクノリッジＡＣＫを返信する。このアクノリッジＡＣＫは、データが記憶部１２０に正常に書き込まれたことをホスト装置４００に通知するためのものである。一方、第２のモードでは、書き込みイネーブルビットＷＥが書き込み許可状態に設定されている場合には、データの書き込み指示ｗｒを記憶制御部１３０に対して行うが、ホスト装置４００に対してアクノリッジＡＣＫを返信しない。この第２のモードでは、ホスト装置４００が、記憶装置においてデータが正常に書き込まれたか否かを知ることができないが、後述するように、バスに接続された複数の記憶装置に対するデータ書き込み処理の全体の時間を短縮することができる。なお、第１、第２のモードによるデータ書き込み処理の詳細については、後述する。
【００４７】
上記の動作モード（第１、第２のモード）は、後述するホスト装置４００の通信処理部４１０の動作モードに基づいて設定される。すなわち、制御部１１０は、データパケット受信後の、記憶制御部１３０からの内部アクノリッジｉ＿ａｃｋを待つ期間である内部アクノリッジ待ち期間ＩＡＫＷにおいて、リセット端子ＴＲＳＴの電圧レベルに基づいて、動作モードが第１のモードであるか、或いは第２のモードであるかを判断する。
【００４８】
制御部１１０の動作モード（第１、第２のモード）は、例えばステートマシンなどで実現することができる。具体的には、このステートマシンは、書き込みコマンドや内部アクノリッジｉ＿ａｃｋやリセット端子ＴＲＳＴの電圧レベル（リセット信号）などの入力に基づいて状態（ステート）遷移し、遷移先のステートにおいて所定の命令（例えばデータ書き込み命令やアクノリッジＡＣＫ返信命令など）を出力する。
【００４９】
ホスト装置４００は、通信処理部４１０、制御部４２０、クロック端子ＨＣＫ、データ端子ＨＤＡ、リセット端子ＨＲＳＴを含む。通信処理部４１０は、バスＢＳを介して接続される第１〜第ｎの記憶装置１００−１〜１００−ｎとの通信処理を行う。制御部４２０は、通信処理部４１０を制御する。
【００５０】
通信処理部４１０は、第１〜第ｎの記憶装置１００−１〜１００−ｎのうちの第ｊ（ｊは１≦ｊ≦ｎである整数）の記憶装置１００−ｊに対して、コマンドパケットとコマンドパケットに対応する複数のデータパケットを送信する場合に、データパケットの書き込みイネーブルビットＷＥを設定することにより、そのデータパケットのデータの書き込みを許可或いは非許可にすることができる。すなわち、第ｊの記憶装置１００−ｊの記憶部１２０にデータを書き込むデータパケットについては、その書き込みイネーブルビットＷＥを書き込み許可状態（例えばＷＥ＝１）に設定し、データを書き込まないデータパケットについては、その書き込みイネーブルビットＷＥを書き込み非許可状態（例えばＷＥ＝０）に設定する。このようにすることで、ホスト装置４００は、書き込む必要のないデータパケットについては、その書き込みイネーブルビットＷＥを書き込み非許可状態に設定し、そのデータパケットを受信した記憶装置１００は、書き込みイネーブルビットＷＥの設定に基づいて、書き込む必要がないデータパケットについては書き込みを行わずに、次のデータパケットの受信処理及び書き込み処理に移行することができる。その結果、記憶装置に対するデータ書き込み処理の時間を短縮することができる。
【００５１】
また通信処理部４１０は、データを書き込まないデータパケットを第ｊの記憶装置１００−ｊに送信した後、第ｊの記憶装置１００−ｊから、通信エラーが無いことを通知するアクノリッジＡＣＫが返信された場合に、次のデータパケットを送信してもよい。こうすることで、ホスト装置４００は、通信エラーが生じなかったことを確認してから、次のデータパケットの送信処理に移行することができる。
【００５２】
さらに通信処理部４１０は、動作モードとして第１、第２のモード（第１、第２の動作モード）を有する。第１のモードでは、通信処理部４１０は、第ｊの記憶装置１００−ｊに対するデータパケットの送信後に、第ｊの記憶装置１００−ｊからのアクノリッジＡＣＫ返信を待つステートに移行する。そして第ｊの記憶装置１００−ｊからのアクノリッジＡＣＫを受け取った後、第ｊ＋１の記憶装置１００−ｍ＋１に対してコマンドパケット及びデータパケットを送信する。ホスト装置４００は、アクノリッジＡＣＫを受信することで、各記憶装置においてデータが正常に書き込まれたことを認識することができる。
【００５３】
一方、第２のモードでは、通信処理部４１０は、第ｊの記憶装置１００−ｊに対するデータパケットの送信後に、第ｊの記憶装置１００−ｊからのアクノリッジＡＣＫ返信を待つことなく、第ｊ＋１の記憶装置１００−ｊ＋１に対するコマンドパケット及びデータパケットを送信するステートに移行する。この第２のモードでは、ホスト装置４００は、各記憶装置においてデータが正常に書き込まれたか否かを知ることができないが、後述するように、バスに接続された複数の記憶装置に対するデータ書き込み処理の全体の時間を短縮することができる。
【００５４】
通信処理部４１０は、第２のモードでは、第ｊの記憶装置１００−ｊに対するデータパケット送信後に、リセット端子ＨＲＳＴの電圧レベルを、リセットを指示する論理レベルに設定することで、動作モードが第２のモードであることを第ｊの記憶装置１００−ｊに対して通知する。そして第ｊの記憶装置１００−ｊの制御部１１０は、内部アクノリッジ待ち期間ＩＡＫＷにおいて、リセット端子ＴＲＳＴの電圧レベルに基づいて、動作モードが第１のモードであるか、或いは第２のモードであるかを判断することができる。
【００５５】
このように本実施形態の記憶装置及びホスト装置によれば、ホスト装置から記憶装置に対して送信されるデータパケットの書き込みイネーブルビットＷＥを書き込み許可状態又は非許可状態に設定することができる。そして記憶装置は、受信したデータパケットの書き込みイネーブルビットＷＥに基づいて、そのデータを記憶部に書き込むか否かを判断し、書き込み非許可の場合にはデータを書き込まずに、次のデータパケットの受信処理及び書き込み処理に移行することができる。その結果、記憶装置に対するデータ書き込み処理の時間を短縮することができる。また書き込む必要のないデータについては、書き込み処理を行わないから、既に記憶されているデータを書き込み時のエラー等により破壊するおそれを低減することができる。
【００５６】
さらに本実施形態の記憶装置及びホスト装置によれば、第１のモードでは、ホスト装置が記憶装置からのアクノリッジＡＣＫを受け取ることができるから、記憶装置においてデータが正常に書き込まれたか否かを判断することができる。また第２のモードでは、ホスト装置が記憶装置からのアクノリッジＡＣＫ返信を待たずに、次の記憶装置への送信処理に移行することができるから、複数の記憶装置に対するデータ書き込み処理の全体の時間を短縮することができる。
【００５７】
図２（Ａ）、図２（Ｂ）は、ホスト装置から記憶装置に送信されるＩＤパケット、コマンドパケット及びデータパケットを説明する図である。図２（Ａ）は、比較例として、書き込みイネーブルビットＷＥを含まないデータパケットを示し、図２（Ｂ）は、本実施形態の記憶装置１００及びホスト装置４００で用いられる、書き込みイネーブルビットＷＥを含むデータパケットを示す。
【００５８】
図２（Ａ）、図２（Ｂ）に示すように、ＩＤパケットＩＤＰＫは、記憶装置１００のＩＤ情報に関するパケットであって、例えばＩＤ０〜ＩＤ７の８ビットで構成され、これにパリティビットＩＰが付加される。またコマンドパケットＣＭＰＫは、例えばＣ０〜Ｃ７の８ビットで構成され、これにパリティビットＣＰが付加される。またデータパケットＤＰＫは、Ｄ０〜Ｄ７の８ビットで構成されるデータ部分を含み、本実施形態の記憶装置及びホスト装置では書き込みイネーブルビットＷＥを含み、さらにパリティビットＤＰを含む。パリティビットＩＰ、ＣＰ、ＤＰは、パリティチェックのために付加されるビットであって、１の個数が常に偶数若しくは奇数となるように付加されるビットである。
【００５９】
各パケットはクロックＳＣＫに同期して、ＩＤパケットＩＤＰＫ、コマンドパケットＣＭＰＫ、データパケットＤＰＫの順に送信される。複数のデータパケットを送信する場合は、第１のデータパケットＤＰＫ１の送信後に、上述したアクノリッジＡＣＫを返信するための期間を設けて、その後に第２のデータパケットＤＰＫ２が送信される。
【００６０】
なお、本実施形態の記憶装置及びホスト装置における各パケットの構成は、図２（Ｂ）に示した構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。例えば、各パケットのビット数を増減したり、書き込みイネーブルビットＷＥの順番を入れ替えてもよい。また書き込みイネーブルビットＷＥを１ビットではなく、複数のビットで構成してもよい。
【００６１】
図３（Ａ）、図３（Ｂ）は、記憶部１２０に記憶されるデータの構成（メモリーマップ）を説明する図である。図３（Ａ）に示すように、例えば記憶部１２０は第１〜第ｍ（ｍは２以上の整数）のアドレスＡ１〜Ａｍを有し、各アドレスに対して８ビットのデータＤ０〜Ｄ７を記憶することができる。
【００６２】
記憶装置１００が受信した第１〜第ｍのデータパケットＤＰＫ１〜ＤＰＫｍは、受信した順番に（シーケンシャルに）記憶部１２０に書き込まれる。すなわち第１のデータパケットＤＰＫ１は、第１のアドレスＡ１に書き込まれ、第２のデータパケットＤＰＫ２は、第２のアドレスＡ２に書き込まれ、同様にして第３〜第ｍのデータパケットＤＰＫ３〜ＤＰＫｍは、それぞれ第３〜第ｍのアドレスＡ３〜Ａｍに書き込まれる。この書き込む際のアドレス情報ａｄｄｒは、制御部１１０のアドレスカウンターＡＤＤＲ＿ＣＯＵＮＴの更新指示により、データパケットを受信する毎に更新（インクリメント）される。
【００６３】
上述したように、本実施形態の記憶装置及びホスト装置では、データパケットＤＰＫの書き込みイネーブルビットＷＥが書き込み非許可状態に設定されている場合には、アドレス情報ａｄｄｒの更新指示（インクリメント）を行うが、データの書き込みは行わない。具体的には、制御部１１０は、コマンドパケットＣＭＰＫに対応する第１〜第ｍのデータパケットＤＰＫ１〜ＤＰＫｍを受信した場合に、ＤＰＫ１〜ＤＰＫｍのうちの第ｉ（ｉは１≦ｉ≦ｍである整数）のデータパケットＤＰＫｉの書き込みイネーブルビットＷＥが書き込み許可状態に設定されている場合には、アドレス情報ａｄｄｒの更新指示（例えばインクリメント）を記憶制御部１３０に対して行うと共に、第ｉのデータパケットＤＰＫｉのデータの書き込み指示を記憶制御部１３０に対して行う。第ｉのデータパケットＤＰＫｉの書き込みイネーブルビットＷＥが書き込み非許可状態に設定されている場合には、アドレス情報ａｄｄｒの更新指示を記憶制御部１３０に対して行う一方で、第ｉのデータパケットＤＰＫｉのデータの書き込み指示を記憶制御部１３０に対して行わない。このようにすることで、記憶装置１００は、書き込み非許可に設定されたＤＰＫｉのデータの書き込み処理を行わずに、次のデータパケットＤＰＫｉ＋１の受信処理に移行することができ、ＤＰＫｉ＋１が書き込み許可である場合には、次のアドレスＡｉ＋１にＤＰＫｉ＋１のデータを書き込むことができる。
【００６４】
図３（Ｂ）に、記憶部１２０のデータ構成として、ライトロックビットＷＬＣＫを含む場合の構成を示す。ライトロックビットＷＬＣＫは、各アドレスに設けられ、そのアドレスに対する書き込み禁止（ライトロック）を設定するためのビットである。例えばアドレスＡ１のライトロックビットＷＬＣＫが１に設定されている場合には、記憶制御部１３０により、アドレスＡ１に対する書き込みが禁止される。通常は、ライトロックビットＷＬＣＫは工場出荷時に設定され、その後はライトロックビットＷＬＣＫを書き換えることはできない。
【００６５】
このようにライトロックビットＷＬＣＫは、ホスト装置４００が書き込むことのできるビットではないが、データパケットのうちのライトロックビットＷＬＣＫに対応するビットを書き込みイネーブルビットＷＥとして用いることができる。すなわち、制御部１１０は、第ｉのデータパケットＤＰＫｉのデータフィールドのビットのうち、記憶部１２０に記憶されるデータのライトロックビットＷＬＣＫに対応するビットを書き込みイネーブルビットＷＥとして認識することができる。このようにすることで、受信するデータパケットのデータフィールドのビット数（例えば図２（Ｂ）では、Ｄ０〜Ｄ７及びＷＥの９ビット）と、記憶部１２０の１アドレスに記憶されるビット数（例えば図３（Ｂ）では、Ｄ０〜Ｄ７及びＷＬＣＫの９ビット）とを同一にすることができる。その結果、制御部１１０及び記憶制御部１３０における処理を簡素化できるから、設計コストや製造コストを低減することなどが可能になる。
【００６６】
なお、本実施形態の記憶部の構成は、図３（Ａ）、図３（Ｂ）に示した構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。例えば、１アドレスに記憶されるビット数を増減したり、ライトロックビットＷＬＣＫの順番を入れ替えてもよい。またライトロックビットＷＬＣＫを１ビットではなく、複数のビットで構成してもよい。
【００６７】
２．第１のモードによる書き込み処理
図４に、本実施形態の記憶装置、ホスト装置の第１のモードによる書き込み処理のタイミングチャートを示す。図４には、リセット信号ＸＲＳＴ、クロック信号ＳＣＫ及びデータ信号ＳＤＡの各信号波形と、記憶装置１００における制御部１１０、記憶部１２０の動作状態及び内部信号ｗｒ、ｉ＿ａｃｋの信号波形とを示す。
【００６８】
図４において、Ｉはアイドル期間、ＩＤＣはＩＤ認識期間、ＣＭＤはコマンド認識期間、ＤＡＴはデータ受信期間、ＩＡＫＷは内部アクノリッジ待ち期間、ＭＷＲＴはメモリー書き込み期間、ＡＫＳはアクノリッジ返信期間、ＮＷは、受信したデータパケットが書き込み非許可に設定されている場合で、書き込み処理を行わずに、通信エラーの有無を判断する期間である。
【００６９】
図４では、例として第１、第３のデータパケットＤＰＫ１、ＤＰＫ３の書き込みイネーブルビットＷＥは書き込み非許可状態（ＷＥ＝０）に設定され、第２、第４のデータパケットＤＰＫ２、ＤＰＫ４の書き込みイネーブルビットＷＥは書き込み許可状態（ＷＥ＝１）に設定されている。
【００７０】
最初に、ホスト装置４００は、リセット信号ＸＲＳＴをＬレベル（低電位レベル、広義には第２の論理レベル）からＨレベル（高電位レベル、広義には第１の論理レベル）に設定して記憶装置のリセットを解除する。そして制御部１１０は、アイドル状態になる。
【００７１】
次にホスト装置４００は、記憶装置１００に対してＩＤパケットＩＤＰＫ、コマンドパケットＣＭＰＫ及びデータパケットＤＰＫ１を送信し、その後に記憶装置１００からのアクノリッジＡＣＫ返信を待つステートに移行する。
【００７２】
記憶装置１００のＩＤコンパレーターＩＤ＿ＣＯＭＰは、ＩＤ認識期間ＩＤＣにおいて、受信したＩＤ情報と自身のＩＤ情報とが一致することを認識する。続くコマンド認識期間ＣＭＤにおいて、オペレーションコードデコーダーＯＰＣＤＥＣは、受信したコマンドが書き込みコマンドであることを認識する。次のデータ受信期間ＤＡＴにおいて、Ｉ／ＯコントローラーＩ／Ｏ＿ＣＮＴＬは、データパケットＤＰＫ１を受信し、書き込みイネーブルビットＷＥが書き込み許可状態に設定されているか否かを判断する。
【００７３】
図４に示すように、ＤＰＫ１の書き込みイネーブルビットＷＥが書き込み非許可状態（ＷＥ＝０）に設定されている場合には、制御部１１０は書き込み指示を記憶制御部１３０に対して行わない。そして制御部１１０は、通信エラーの有無をチェックして、通信エラーが無いと判断された場合にはホスト装置４００に対してアクノリッジＡＣＫを返信する。ホスト装置４００は、通信エラーが無いことを通知するアクノリッジＡＣＫを受け取った後、第２のデータパケットＤＰＫ２を送信する。制御部１１０は、第１のデータパケットＤＰＫ１（広義には第ｉのデータパケットＤＰＫｉ）の書き込みイネーブルビットＷＥが書き込み非許可状態に設定されている場合には、記憶制御部１３０からの内部アクノリッジｉ＿ａｃｋを待たずに第２のデータパケットＤＰＫ２（広義には第ｉ＋１のデータパケットＤＰＫｉ＋１）の受信処理を行う。
【００７４】
第２のデータパケットＤＰＫ２の書き込みイネーブルビットＷＥは書き込み許可状態に設定されているから、制御部１１０は、ＤＰＫ２の受信後に書き込み指示ｗｒを記憶制御部１３０に対して行う。記憶部１２０は、書き込み指示ｗｒに基づいて、メモリー書き込み期間ＭＷＲＴにおいて、データを書き込む。このメモリー書き込み期間ＭＷＲＴにおいて、制御部１１０は内部アクノリッジ待ち期間ＩＡＫＷとなり、記憶制御部１３０から内部アクノリッジ信号ｉ＿ａｃｋが出力されるのを待つ。データが正常に書き込まれた場合には、記憶制御部１３０は、内部アクノリッジ信号ｉ＿ａｃｋを制御部１１０に出力する。制御部１１０は、内部アクノリッジ信号ｉ＿ａｃｋを受け取ると、ホスト装置４００に対してアクノリッジＡＣＫを返信する。ホスト装置４００は、アクノリッジＡＣＫを受け取った後、第３のデータパケットＤＰＫ３を送信する。
【００７５】
ＤＰＫ３の書き込みイネーブルビットＷＥは書き込み非許可状態に設定されているから、制御部１１０は、ＤＰＫ３の受信後、通信エラーの有無をチェックして、通信エラーが無いと判断された場合にはホスト装置４００に対してアクノリッジＡＣＫを返信する。ホスト装置４００は、通信エラーが無いことを通知するアクノリッジＡＣＫを受け取った後、第４のデータパケットＤＰＫ４を送信する。
【００７６】
ＤＰＫ４の書き込みイネーブルビットＷＥは書き込み許可状態に設定されているから、制御部１１０は、ＤＰＫ４の受信後に書き込み指示ｗｒを記憶制御部１３０に対して行う。記憶部１２０は、書き込み指示ｗｒに基づいて、メモリー書き込み期間ＭＷＲＴにおいて、データを書き込む。データが正常に書き込まれた場合には、記憶制御部１３０は、内部アクノリッジ信号ｉ＿ａｃｋを制御部１１０に出力する。制御部１１０は、内部アクノリッジ信号ｉ＿ａｃｋを受け取ると、ホスト装置４００に対してアクノリッジＡＣＫを返信する。
【００７７】
図５に、比較例として、書き込みイネーブルビットＷＥを含まない構成による書き込み処理のタイミングチャートを示す。図５の比較例では、ｍ個のデータパケットＤＰＫ１〜ＤＰＫｍのそれぞれについてメモリー書き込み期間ＭＷＲＴが必要である。データパケットの送信に要する時間は、例えば約１００μｓ程度であるのに対して、メモリー書き込み期間ＭＷＲＴの長さＴＭ（書き込み必要時間）は、約５ｍｓである。従って、ｍ個のデータパケットＤＰＫ１〜ＤＰＫｍに書き込む場合の書き込み処理時間は少なくともｍ×ＴＭとなる。
【００７８】
一方、本実施形態の記憶装置、ホスト装置によれば、書き込む必要のあるデータパケットを選択して書き込むことができる。すなわち、書き込みイネーブルビットＷＥを書き込み許可状態に設定したデータパケットに限定してデータを書き込むことができるから、書き込み処理時間を短縮することができる。
【００７９】
３．第２のモードによる書き込み処理
上述したように、本実施形態の記憶装置及びホスト装置の第１のモードによれば、書き込み処理時間を短縮することができるが、さらに第２のモードによれば、バスに接続された複数の記憶装置に対する書き込み処理時間を短縮することができる。
【００８０】
図６は、本実施形態の記憶装置及びホスト装置における第２のモードによる書き込み処理の第１の期間のタイミングチャートである。図６には、リセット信号ＸＲＳＴ、クロック信号ＳＣＫ及びデータ信号ＳＤＡの各信号波形と、第１〜第ｎ（ｎは２以上の整数）の記憶装置１００−１〜１００−ｎ（ＩＤ＝１〜ｎ）の動作状態とを示す。また図６において、Ｉはアイドル期間、ＩＤＣはＩＤ認識期間、ＣＭＤはコマンド認識期間、ＤＡＴはデータ受信期間、ＭＷＲＴはメモリー書き込み期間、Ｒはリセット期間である。
【００８１】
最初に、ホスト装置４００は、第１の記憶装置（ＩＤ＝１）に対して、ＩＤパケットＩＤＰＫ、第１のコマンドパケットＣＭＰＫ１、第１のデータパケットＤＰＫ１を送信する。第１の記憶装置（ＩＤ＝１）の制御部１１０は、第１のコマンドパケットＣＭＰＫ１と、書き込みイネーブルビットＷＥが書き込み許可状態（ＷＥ＝１）に設定された第１のデータパケットＤＰＫ１とを受信して、第１のデータパケットＤＰＫ１のデータの書き込み指示を記憶制御部１３０に対して行う。そして第１の記憶装置（ＩＤ＝１）の記憶部１２０に、メモリー書き込み期間ＭＷＲＴにおいて、データを書き込む。
【００８２】
第２のモードでは、第１のモードと異なり、制御部１１０は、データが正常に書き込まれた場合であっても、ホスト装置４００に対してアクノリッジＡＣＫを返信しない。またホスト装置４００の通信処理部４１０は、第２のモードでは、第１の記憶装置（広義には第ｊの記憶装置）に対するデータパケットの送信後に、第１の記憶装置からのアクノリッジＡＣＫ返信を待つことなく、第２の記憶装置（広義には第ｊ＋１の記憶装置）に対するコマンドパケット及びデータパケットを送信するステートに移行する。
【００８３】
このように、ホスト装置４００は、第１の記憶装置に対して第１のデータパケットＤＰＫ１を送信した後、メモリー書き込み期間ＭＷＲＴが終了するのを待たずに、第２の記憶装置に対してＩＤＰＫ、ＣＭＰＫ１、ＤＰＫ１を送信する。その後同様にして、ホスト装置４００は、第３〜第ｎの記憶装置に対して第１のデータパケットＤＰＫ１を送信する。
【００８４】
ホスト装置４００の通信処理部４１０は、第２のモードでは、第ｊの記憶装置に対するデータパケット送信後に、リセット端子ＨＲＳＴの電圧レベルを、リセットを指示する論理レベル（例えば図６ではＬレベル）に設定することで、動作モードが第２のモードであることを第ｊの記憶装置に対して通知する。第ｊの記憶装置の制御部１１０は、データパケット受信後の、記憶制御部１３０からの内部アクノリッジｉ＿ａｃｋを待つ期間である内部アクノリッジ待ち期間ＩＡＫＷ（すなわちメモリー書き込み期間ＭＷＲＴ）において、リセット端子ＴＲＳＴの電圧レベルに基づいて、動作モードが第１のモードであるか、或いは第２のモードであるかを判断することができる。
【００８５】
以上に説明したように、第２のモードの第１期間では、第１〜第ｎの記憶装置の各記憶装置１００に対して第１のデータパケットＤＰＫ１を送信し、各記憶部１２０の第１のアドレスＡ１にデータを書き込む処理を行う。同様の処理を第１のモードで行う場合には、全体の書き込み処理時間として、少なくともメモリー書き込み期間ＭＷＲＴの長さＴＭ（書き込み必要時間）のｎ倍の時間（ｎ×ＴＭ）が必要になるが、第２のモードでは複数のメモリー書き込み処理が並行して実行されるから、ＴＭ＋パケット送信時間でよい。上述したように、パケット送信時間は、例えば約１００μｓ程度であるのに対して、メモリー書き込み期間ＭＷＲＴの長さＴＭは、約５ｍｓである。従って、複数の記憶装置に対してデータを書き込む場合には、第２のモードを用いることで、全体の書き込み処理時間を短縮することができる。
【００８６】
図７は、第２のモードによる書き込み処理の第２の期間の始めの部分のタイミングチャートである。第２の期間では、第１〜第ｎの記憶装置の各記憶装置１００に対して第２のデータパケットＤＰＫ２のデータを書き込む処理を行う。なお、図７の符号については、図６と同一であるから、ここでは説明を省略する。
【００８７】
第２の期間の始めに、ホスト装置４００は、第１の記憶装置（ＩＤ＝１）に対して、ＩＤパケットＩＤＰＫ、第２のコマンドパケットＣＭＰＫ２、第１、第２のデータパケットＤＰＫ１、ＤＫＰ２を順次送信する。ＤＰＫ１の書き込みイネーブルビットＷＥは書き込み非許可状態（ＷＥ＝０）に設定され、ＤＰＫ２の書き込みイネーブルビットＷＥは書き込み許可状態（ＷＥ＝１）に設定されている。
【００８８】
第１の記憶装置は、第１、第２のデータパケットＤＰＫ１、ＤＰＫ２を受信し、第２のデータパケットＤＰＫ２の書き込みイネーブルビットが書き込み許可状態に設定されている場合には、ＤＰＫ２のデータの書き込み指示を行う。そしてメモリー書き込み期間ＭＷＲＴにおいて、ＤＰＫ２のデータを記憶部１２０に書き込む。また制御部１１０は、書き込み非許可状態に設定されている第１のデータパケットＤＰＫ１を受信した時は、ＤＰＫ１のデータの書き込み指示を行うことなく、ホスト装置４００に対して通信エラーの無いことを通知するアクノリッジＡＣＫを返信する。
【００８９】
ホスト装置４００の通信処理部４１０は、第１の記憶装置に対する第２のデータパケットＤＰＫ２の送信後に、第１の記憶装置からのアクノリッジＡＣＫ返信を待つことなく、第２の記憶装置に対するＩＤパケット、コマンドパケット及びデータパケットを送信するステートに移行する。そして第２の記憶装置は、第１、第２のデータパケットＤＰＫ１、ＤＰＫ２を受信し、上記と同様にして、メモリー書き込み期間ＭＷＲＴにおいて、ＤＰＫ２のデータを記憶部１２０に書き込む。
【００９０】
図８は、第２のモードによる書き込み処理の第２の期間の終わりの部分のタイミングチャートである。ホスト装置４００は、最後の記憶装置である第ｎの記憶装置（ＩＤ＝ｎ）に対して、ＩＤパケットＩＤＰＫ、第２のコマンドパケットＣＭＰＫ２、第１、第２のデータパケットＤＰＫ１、ＤＫＰ２を送信し、第ｎの記憶装置は、メモリー書き込み期間ＭＷＲＴにおいて、ＤＰＫ２のデータを記憶部１２０に書き込む。このようにして、第１〜第ｎの記憶装置の各記憶装置１００に対して第２のデータパケットＤＰＫ２のデータを書き込む処理が実行される。
【００９１】
以上に説明したように、第２のモードの第２期間では、第１〜第ｎの記憶装置の各記憶装置１００に対して、第２のデータパケットＤＰＫ２のデータを書き込む処理を行う。同様の処理を第１のモードで行う場合には、全体の書き込み処理時間として、少なくともメモリー書き込み期間ＭＷＲＴの長さＴＭ（書き込み必要時間）のｎ倍の時間（ｎ×ＴＭ）が必要になるが、第２のモードでは複数のメモリー書き込み処理が並行して実行されるから、ＴＭ＋パケット送信時間でよい。上述したように、パケット送信時間は、例えば約１００μｓ程度であるのに対して、メモリー書き込み期間ＭＷＲＴの長さＴＭ（書き込み必要時間）は、約５ｍｓである。従って、複数の記憶装置に対してデータを書き込む場合には、第２のモードを用いることで、全体の書き込み処理時間を短縮することができる。
【００９２】
また第２のモードによれば、各記憶装置に対して、特定のアドレスのデータ（例えば図７、図８では、第１、第２のアドレスのデータ）を優先して書き込むことができるから、書き込み処理時間が制限されている場合などで、特に重要なデータを優先して書き込むことができる。
【００９３】
なお、図７、図８に示した第２のモードによる書き込み処理は、第１、第２のデータパケットＤＰＫ１、ＤＰＫ２のデータを書き込む場合であるが、他のデータパケットについても同様な書き込み処理を行うことが可能である。例えばＤＰＫ３のデータを書き込む場合には、ＤＰＫ１、ＤＰＫ２を書き込み非許可状態に設定すればよい。また、上記の第１の期間、第２の期間のいずれか一方を省略することも可能である。
【００９４】
４．システム、液体容器及び回路基板
図９に本実施形態のシステムの基本的な構成例を示す。本実施形態のシステムは、例えばインクジェット方式のプリンターなどであって、第１の記憶装置１００−１〜第ｎ（ｎは２以上の整数）の記憶装置１００−ｎ、記憶装置が実装されるｎ個の回路基板２００−１〜２００−ｎ、回路基板を備えるｎ個の液体容器３００−１〜３００−ｎ及びホスト装置４００を含む。なお、本実施形態のシステムは図９の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００９５】
以下では、ホスト装置４００がインクジェット方式のプリンター本体であり、液体容器３００がインクカートリッジであり、回路基板２００がインクカートリッジに設けられた回路基板である場合を例に説明する。但し、本実施形態では、ホスト装置、液体容器、回路基板は、他の装置、容器、回路基板であってもよい。例えば、ホスト装置はメモリーカードのリーダー／ライターであってもよく、回路基板はメモリーカードに設けられた回路基板であってもよい。
【００９６】
第１の記憶装置１００−１〜第ｎの記憶装置１００−ｎは、それぞれリセット端子ＴＲＳＴ、クロック端子ＴＣＫ、データ端子ＴＤＡ、第１の電源端子ＶＤＤ及び第２の電源端子ＶＳＳを含む。これらｎ個の記憶装置１００−１〜１００−ｎの各々は、記憶部１２０（例えば不揮発性メモリー等）を含み、それぞれの記憶部１２０にはｎ個の液体容器（例えばインクカートリッジ等）３００−１〜３００−ｎを識別するためのＩＤ（Identification)情報（例えばＩＤ＝１、ＩＤ＝２、ＩＤ＝３など）が記憶されている。ＩＤは、液体容器が収容する液体の色などの種類毎に異なるものが付与される。また記憶部１２０には、液体容器のインク残量（又はインク消費量）などのデータが、ホスト装置４００により書き込まれる。
【００９７】
ホスト装置４００は、例えばプリンター本体などであって、ホスト側リセット端子ＨＲＳＴ、ホスト側クロック端子ＨＣＫ、ホスト側データ端子ＨＤＡ、第１の電源端子ＶＤＤ及び第２の電源端子ＶＳＳを含む。
【００９８】
上述したように、本実施形態の記憶装置、ホスト装置及びシステムによれば、ホスト装置から記憶装置に対して送信されるデータパケットの書き込みイネーブルビットＷＥを書き込み許可状態又は非許可状態に設定することができる。そして記憶装置は、受信したデータパケットの書き込みイネーブルビットＷＥに基づいて、そのデータを記憶部に書き込むか否かを判断し、書き込み非許可の場合にはデータを書き込まずに、次のデータパケットの受信処理及び書き込み処理に移行することができる。すなわち、書き込む必要のないデータパケットについてはデータの書き込みをスキップして、次のデータパケットの処理に移行することができる。その結果、記憶装置に対するデータ書き込み処理の時間を短縮することができる。また書き込む必要のないデータについては、書き込み処理を行わないから、既に記憶されているデータを書き込み時のエラー等により破壊するおそれを低減することができる。
【００９９】
さらに本実施形態の記憶装置、ホスト装置及びシステムによれば、データを書き込む処理において、２つの動作モード（第１、第２のモード）のいずれかを選択することができる。
【０１００】
第１のモードでは、ホスト装置４００が、各記憶装置１００からのアクノリッジＡＣＫを受信することができるから、各記憶装置１００においてデータが正常に書き込まれたことを認識することができる。従って、例えばプリンターが通常に使用されている場合などでは、第１のモードによる書き込み処理を行うことで、正常にデータが書き込まれなかった記憶装置に対して再書き込み処理（リトライ）を行うことができる。その結果、記憶装置に記憶されたデータ（インク残量など）の信頼性が高まるから、液体容器にインクが残っているにもかかわらず使用できないなどの不具合を低減することが可能になる。
【０１０１】
一方、第２のモードでは、ホスト装置が記憶装置からのアクノリッジＡＣＫ返信を待たずに、次の記憶装置への送信処理に移行することができるから、複数のメモリー書き込み処理を並行して実行することができる。その結果、複数の記憶装置に対するデータ書き込み処理の全体の時間を短縮することができる。また第２のモードによれば、各記憶装置に対して、特定のアドレスのデータを優先して書き込むことができるから、書き込み処理時間が制限されている場合などで、特に重要なデータ（例えば、インク残量やインクエンドに関するデータなど）を優先して書き込むことができる。
【０１０２】
例えばプリンター使用中に停電した場合やユーザーが誤って電源コンセントを抜いてしまった場合などでは、第２のモードによる書き込み処理を行うことで、短い電源保持時間内に特に重要なデータについて書き込み処理を完了することができる。その結果、電源保持のためのキャパシターの容量を小さくすることができるから、プリンター（システム）の製造コストを低減することなどが可能になる。
【０１０３】
具体的には、例えば停電或いはコンセント引き抜き等による通常でない電源遮断が生じた場合には、プリンター本体（ホスト装置）の電源回路（図示せず）が通常でない電源遮断を検出し、制御部４２０はその検出結果に基づいて通信処理部４１０に対して第２のモードによるデータ書き込みを指示する。そして通信処理部４１０は、バスに接続された複数の記憶装置１００−１〜１００−ｎに対して第２のモードによるデータ書き込み処理を実行することができる。上述したように、第２のモードでは書き込み処理時間を短縮できるから、限られた電源保持時間内に全ての記憶装置に対する書き込みを完了することが可能になる。
【０１０４】
図１０に、本実施形態の液体容器（インクカートリッジ）３００の詳細な構成例を示す。液体容器３００の内部には、インクを収容するための図示しないインク室が形成される。また、液体容器３００には、インク室に連通するインク供給口３４０が設けられる。このインク供給口３４０は、液体容器３００がプリンターに装着された時に、印刷ヘッドユニットにインクを供給するためのものである。
【０１０５】
液体容器３００は、回路基板２００を含む。回路基板２００には、本実施形態の記憶装置１００が設けられ、インク消費量などのデータの記憶やホスト装置４００とのデータ送受信を行う。回路基板２００は、例えばプリント基板により実現され、液体容器３００の表面に設けられる。回路基板２００には、第１の電源端子ＶＤＤ等の端子が設けられる。そして、液体容器３００がプリンターに装着された時に、それらの端子とプリンター側の端子が接触（電気的に接続）することで、電源やデータのやり取りが行われる。
【０１０６】
図１１（Ａ）、図１１（Ｂ）に、本実施形態の記憶装置１００が設けられた回路基板２００の詳細な構成例を示す。図１１（Ａ）に示すように、回路基板２００の表面（プリンターと接続される面）には、複数の端子を有する端子群が設けられる。この端子群は、第１の電源端子ＶＤＤ、第２の電源端子ＶＳＳ、リセット端子ＴＲＳＴ、クロック端子ＴＣＫ、データ端子ＴＤＡを含む。各端子は、例えば矩形状（略矩形状）に形成された金属端子により実現される。そして、各端子は、回路基板２００に設けられた図示しない配線パターン層やスルーホールを介して、記憶装置１００に接続される。
【０１０７】
図１１（Ｂ）に示すように、回路基板２００の裏面（プリンターと接続される面の裏側の面）には、本実施形態の記憶装置１００が設けられる。記憶装置１００は、例えば、フラッシュメモリーや強誘電体メモリー等を有する半導体記憶装置により実現できる。この記憶装置１００には、インク又は液体容器３００に関連する種々のデータが格納され、例えば、液体容器３００を識別するためのＩＤ情報やインクの消費量等のデータが格納される。インク消費量のデータは、液体容器３００内に収容されたインクについて、印刷の実行等に伴い消費されるインク量の累計を示すデータである。このインク消費量のデータは、液体容器３００内のインク量を示す情報であってもよく、消費したインク量の割合を示す情報であってもよい。
【０１０８】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また記憶装置、ホスト装置、回路基板、液体容器及びシステムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１０９】
１００  記憶装置、１１０  制御部、１２０  記憶部、１３０  記憶制御部、
２００  回路基板、３００  液体容器、３４０  インク供給口、４００  ホスト装置、
４１０  通信処理部、４２０  制御部、
ＩＤ＿ＣＯＭＰ  ＩＤコンパレーター、Ｉ／Ｏ＿ＣＮＴＬ  Ｉ／Ｏコントローラー、
ＯＰＣＤＥＣ  オペレーションコードデコーダー、
ＡＤＤＲ＿ＣＯＵＮＴ  アドレスカウンター、
ＳＣＫ  クロック信号線、ＳＤＡ  データ信号線、ＸＲＳＴ  リセット信号線、
ＴＣＫ  クロック端子、ＴＤＡ  データ端子、ＴＲＳＴ  リセット端子、
ＨＣＫ  クロック端子、ＨＤＡ  データ端子、ＨＲＳＴ  リセット端子、
ＡＣＫ  アクノリッジ、ｉ＿ａｃｋ  内部アクノリッジ、ＩＤＰＫ  ＩＤパケット、
ＣＭＰＫ  コマンドパケット、ＤＰＫ  データパケット、ＴＭ  書き込み必要時間、
ＷＥ  書き込みイネーブルビット
【図１】
0005621496.tif 000002
【図２】
0005621496.tif 000003
【図３】
0005621496.tif 000004
【図４】
0005621496.tif 000005
【図５】
0005621496.tif 000006
【図６】
0005621496.tif 000007
【図７】
0005621496.tif 000008
【図８】
0005621496.tif 000009
【図９】
0005621496.tif 000010
【図１０】
0005621496.tif 000011
【図１１】
0005621496.tif 000012