(57)【要約】      （修正有）【課題】メモリーセルアレイ部の容量を有効に使用し、長寿命化を実現する記憶装置及び液体容器を提供する。【解決手段】記憶装置１００−１乃至１００−ｎは、メモリーセルアレイ部１２０とメモリー制御部１３０とを含むメモリー部１４０と、メモリー部１４０の制御を行う制御部１１０を含む。メモリー部１４０は、論理アドレスに対応付けられ、且つ、更新頻度が異なる複数種類のデータを記憶する。メモリーセルアレイ部１２０は、物理アドレスにより特定される複数の分割領域を有し、１つの論理アドレスに対して、１又は複数の分割領域が対応付けられ、更新頻度が高い第１の種類のデータに対応する論理アドレスに割り当てられる分割領域の数は、更新頻度が低い第２の種類のデータに対応する論理アドレスに割り当てられる分割領域の数に比べて多い。【選択図】図１
2017146686.tif 000002
【特許請求の範囲】
【請求項１】
メモリーセルアレイ部と、メモリー制御部と、を含むメモリー部と、
前記メモリー部の制御を行う制御部と、
を含み、
前記メモリー部は、
論理アドレスに対応付けられ、且つ、更新頻度が異なる複数種類のデータを記憶し、
前記メモリー部の前記メモリーセルアレイ部は、物理アドレスにより特定される複数の分割領域を有し、
１つの前記論理アドレスに対して、１又は複数の前記分割領域が対応付けられ、前記更新頻度が高い第１の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数は、前記第１の種類よりも前記更新頻度が低い第２の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数に比べて多いことを特徴とする記憶装置。
【請求項２】
請求項１において、
前記メモリーセルアレイ部は、
前記第１の種類のデータを記憶する第１の記憶領域と、前記第２の種類のデータを記憶する第２の記憶領域と、を有し、
前記第１の記憶領域は、第ｐ（ｐは正の整数）の論理アドレスに対応付けられたｋ（ｋは２以上の整数）個の前記分割領域を有し、
前記第２の記憶領域は、第ｑ（ｑは正の整数）の論理アドレスに対応付けられたｍ（ｍは１≦ｍ＜ｋを満たす整数）個の前記分割領域を有することを特徴とする記憶装置。
【請求項３】
請求項１において、
前記制御部は、
ホスト装置からのクロック信号に基づいて前記論理アドレスを生成する論理アドレス生成部を有し、
前記メモリー制御部は、
前記論理アドレス生成部から受信した前記論理アドレスに基づいて、アクセス対象の前記物理アドレスを生成する物理アドレス生成部を有することを特徴とする記憶装置。
【請求項４】
請求項３において、
前記物理アドレス生成部は、
前記第１の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数が、前記第２の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数に比べて多くなるように、前記物理アドレスを生成することを特徴とする記憶装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記メモリーセルアレイ部は、複数の不揮発性メモリーのセルにより構成され、
第ｒ（ｒは正の整数）の論理アドレスに対応付けられる第ｓ（ｓは正の整数）の分割領域が書き込み不可状態と判定された場合に、前記第ｒの論理アドレスに対応付けられた第ｔ（ｔはｔ≠ｓを満たす正の整数）の分割領域にデータが書き込まれることを特徴とする記憶装置。
【請求項６】
請求項５において、
前記書き込み不可状態となったか否かを判定する判定情報が、各分割領域に対応付けられており、
前記メモリー制御部は、
前記第ｓの分割領域が書き込み不可と判定された場合に、前記第ｓの分割領域に対応付けられた前記判定情報を、前記書き込み不可状態を表す値に更新することを特徴とする記憶装置。
【請求項７】
請求項６において、
前記メモリー制御部は、
前記第ｓの分割領域に対応付けられた前記判定情報が書き込み不可に更新された後に、前記第ｒの論理アドレスのデータ書き込みを行う場合には、前記第ｔの分割領域にデータを書き込む制御を行うことを特徴とする記憶装置。
【請求項８】
請求項６又は７において、
前記判定情報は、前記メモリーセルアレイ部に記憶されることを特徴とする記憶装置。
【請求項９】
請求項６乃至８のいずれかにおいて、
前記メモリーセルアレイ部のデータの消去時に、前記メモリーセルアレイ部に記憶されるデータが第１の論理レベルに設定される場合に、
前記メモリー制御部は、
前記判定情報を書き込み不可に更新する際に、前記判定情報に対応するデータを前記第１の論理レベルとは異なる第２の論理レベルに設定することを特徴とする記憶装置。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記制御部は、
ホスト装置との通信を行って、前記ホスト装置からのデータを前記メモリー部に書き込む制御を行うことを特徴とする記憶装置。
【請求項１１】
請求項１０において、
前記第１の種類のデータは、前記ホスト装置によって更新されるデータであることを特徴とする記憶装置。
【請求項１２】
請求項１乃至１１のいずれかに記載の記憶装置を含むことを特徴とする液体容器。
【請求項１３】
請求項１２において、
前記第２の種類のデータは、
前記液体容器の製造時、又は、前記記憶装置の製造時に書き込まれるデータであることを特徴とする液体容器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置及び液体容器に関する。
【背景技術】
【０００２】
従来、不揮発性メモリーを含む記憶装置が広く知られている。ＭＯＮＯＳ（Metal-Oxide-Nitride-Oxide-Silicon）型メモリー等の不揮発性メモリーは書き込み回数が有限である。
【０００３】
これに対して、特許文献１には、制御回路により不揮発性メモリー装置のアドレス割り当てを管理し、メモリーセルの使用頻度のバラツキを抑える手法が開示されている。特許文献１の手法では、不揮発性メモリー装置の各セルの使用頻度が平準化されるため、不揮発性メモリーセル装置の長寿命化が可能になるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１４６２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の手法では、メモリーセルの使用頻度を平準化するために、種々の管理用のデータが必要となる。具体的には、不揮発性メモリー装置は、特許文献１の図５の物理アドレステーブルを用いて消去回数ＥＣを記憶したり、図７の書込み物理アドレステーブルを用いて書き込み先である物理アドレスの優先度を記憶する。特許文献１の制御回路は、これらの管理用のデータを適宜更新し、書き込み先の物理アドレスを制御することで、メモリーセルの使用頻度を平準化する。
【０００６】
このため、論理アドレスと物理アドレスの対応関係の管理が複雑になり、メモリーの記憶領域として多くの管理領域が必要となってしまう。
【０００７】
本発明の幾つかの態様によれば、シンプルな構成によりメモリーセルアレイ部の記憶領域を有効に使用し、長寿命化を実現する記憶装置及び液体容器を提供できる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、メモリーセルアレイ部と、メモリー制御部と、を含むメモリー部と、前記メモリー部の制御を行う制御部と、を含み、前記メモリー部は、論理アドレスに対応付けられ、且つ、更新頻度が異なる複数種類のデータを記憶し、前記メモリー部の前記メモリーセルアレイ部は、物理アドレスにより特定される複数の分割領域を有し、１つの前記論理アドレスに対して、１又は複数の前記分割領域が対応付けられ、前記更新頻度が高い第１の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数は、前記第１の種類よりも前記更新頻度が低い第２の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数に比べて多い記憶装置に関係する。
【０００９】
本発明の一態様では、更新頻度の異なるデータを記憶する場合に、記憶装置は、更新頻度が高いデータに対応する論理アドレスに割り当てれらる分割領域の数が多く、更新頻度が低いデータに対応する論理アドレスに割り当てられる分割領域の数が少なくなるように構成される。このようにすれば、更新頻度に応じた分割領域の割り当てが行われるため、記憶装置の長寿命化、及びメモリーセルアレイ部の記憶領域の有効活用が可能になる。
【００１０】
また、本発明の一態様では、前記メモリーセルアレイ部は、前記第１の種類のデータを記憶する第１の記憶領域と、前記第２の種類のデータを記憶する第２の記憶領域と、を有し、前記第１の記憶領域は、第ｐ（ｐは正の整数）の論理アドレスに対応付けられたｋ（ｋは２以上の整数）個の前記分割領域を有し、前記第２の記憶領域は、第ｑ（ｑは正の整数）の論理アドレスに対応付けられたｍ（ｍは１≦ｍ＜ｋを満たす整数）個の前記分割領域を有してもよい。
【００１１】
これにより、メモリーセルアレイ部に第１の種類のデータを記憶する領域と第２の種類のデータを記憶する領域とを設け、１つの論理アドレスに対応する所定数の分割領域を各領域に設けることで、更新頻度に応じた数の分割領域の割り当てを実現することが可能になる。
【００１２】
また、本発明の一態様では、前記制御部は、ホスト装置からのクロック信号に基づいて前記論理アドレスを生成する論理アドレス生成部を有し、前記メモリー制御部は、前記論理アドレス生成部から受信した前記論理アドレスに基づいて、アクセス対象の前記物理アドレスを生成する物理アドレス生成部を有してもよい。
【００１３】
これにより、クロック信号に基づく論理アドレス生成、及び論理アドレスに基づく物理アドレス生成により、記憶装置は、所与のデータを書き込む物理アドレスを適切に生成することが可能になる。
【００１４】
また、本発明の一態様では、前記物理アドレス生成部は、前記第１の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数が、前記第２の種類のデータに対応する前記論理アドレスに割り当てられる前記分割領域の数に比べて多くなるように、前記物理アドレスを生成してもよい。
【００１５】
これにより、物理アドレス生成部における物理アドレス生成により、更新頻度に応じた数の分割領域の割り当てを実現することが可能になる。
【００１６】
また、本発明の一態様では、前記メモリーセルアレイ部は、複数の不揮発性メモリーのセルにより構成され、第ｒ（ｒは正の整数）の論理アドレスに対応付けられる第ｓ（ｓは正の整数）の分割領域が書き込み不可状態と判定された場合に、前記第ｒの論理アドレスに対応付けられた第ｔ（ｔはｔ≠ｓを満たす正の整数）の分割領域にデータが書き込まれてもよい。
【００１７】
これにより、所与の分割領域が書き込み不可状態と判定された場合に、異なる分割領域を書き込み対象とする記憶装置を実現することが可能になる。
【００１８】
また、本発明の一態様では、前記書き込み不可状態となったか否かを判定する判定情報が、各分割領域に対応付けられており、前記メモリー制御部は、前記第ｓの分割領域が書き込み不可と判定された場合に、前記第ｓの分割領域に対応付けられた前記判定情報を、前記書き込み不可状態を表す値に更新してもよい。
【００１９】
これにより、メモリー制御部は、判定情報に基づいて、分割領域が書き込み不可状態か否かを判定することが可能になる。
【００２０】
また、本発明の一態様では、前記メモリー制御部は、前記第ｓの分割領域に対応付けられた前記判定情報が書き込み不可に更新された後に、前記第ｒの論理アドレスのデータ書き込みを行う場合には、前記第ｔの分割領域にデータを書き込む制御を行ってもよい。
【００２１】
これにより、メモリー制御部は、判定情報に基づいて書き込み対象とする分割領域を適切に決定することが可能になる。
【００２２】
また、本発明の一態様では、前記判定情報は、前記メモリーセルアレイ部に記憶されてもよい。
【００２３】
これにより、不揮発性メモリーであるメモリーセルアレイ部が、判定情報を記憶することが可能になる。
【００２４】
また、本発明の一態様では、前記メモリーセルアレイ部のデータの消去時に、前記メモリーセルアレイ部に記憶されるデータが第１の論理レベルに設定される場合に、前記メモリー制御部は、前記判定情報を書き込み不可に更新する際に、前記判定情報に対応するデータを前記第１の論理レベルとは異なる第２の論理レベルに設定してもよい。
【００２５】
これにより、データの値を、消去実行時の値とは異なる論理レベルに設定することにより、判定情報を、書き込み不可状態を表す値に更新することが可能になる。
【００２６】
また、本発明の一態様では、前記制御部は、ホスト装置との通信を行って、前記ホスト装置からのデータを前記メモリー部に書き込む制御を行ってもよい。
【００２７】
これにより、記憶装置は、ホスト装置からのデータを記憶することが可能になる。
【００２８】
また、本発明の一態様では、前記第１の種類のデータは、前記ホスト装置によって更新されるデータであってもよい。
【００２９】
これにより、ホスト装置により更新されるデータに対して、相対的に多くの分割領域を割り当てる記憶装置を実現することが可能になる。
【００３０】
本発明の他の態様は、上記の記憶装置を含む液体容器に関係する。
【００３１】
本発明の他の態様では、前記第２の種類のデータは、前記液体容器の製造時、又は、前記記憶装置の製造時に書き込まれるデータであってもよい。
【００３２】
これにより、液体容器或いは記憶装置の製造時に書き込まれるデータに対して、相対的に少ない分割領域を割り当てる液体容器を実現することが可能になる。
【図面の簡単な説明】
【００３３】
【図１】記憶装置及びホスト装置の基本的な構成例。
【図２】通信パケットの構成例。
【図３】各論理アドレスに対応するデータ構成を説明する図。
【図４】論理アドレスと物理アドレスの対応関係を説明する図。
【図５】各論理ページに対応する判定情報（バンクカウンター）のビット数を説明する図。
【図６】判定情報の値と、制御対象となる分割領域の対応関係を説明する図。
【図７】判定情報の値と、制御対象となる分割領域の対応関係を説明する図。
【図８】書き込み制御を説明するフローチャート。
【図９】読み出し制御を説明するフローチャート。
【図１０】システムの構成例。
【図１１】液体容器の詳細な構成例。
【図１２】回路基板の詳細な構成例。
【図１３】回路基板の詳細な構成例。
【発明を実施するための形態】
【００３４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
１．本実施形態の手法
まず本実施形態の手法について説明する。上述したように、不揮発性メモリーを含む記憶装置が知られており、不揮発性メモリーは、書き込みや消去を繰り返すことで性能が劣化し、保持すべきデータ（値）を適切に保持できなくなる。書き込みの上限回数は、不揮発性メモリーの構成により異なり、例えば、フラッシュメモリー（フローティングゲート型）であれば数千回〜数十万回程度、近年用いられ始めたＭＯＮＯＳ型メモリーであれば数百〜数千回程度である。上限回数及び想定される書き込み頻度によっては、適切な制御を行わなければ記憶装置を充分な期間だけ使用することができない場合がある。図１１を用いて後述するように、液体容器（インクカートリッジ）に記憶装置が含まれる場合、ホスト装置（印刷装置）から送信される情報が、不揮発性メモリーに書き込み可能であることが求められる。ホスト装置から送信される情報とは、例えばインク消費量である。つまり、液体容器内部の液体が消費される前に、記憶装置が寿命を迎えてしまうことは、大きな問題となる。
【００３６】
特に、近年ではＭＯＮＯＳ型メモリーが用いられ始めている。ＭＯＮＯＳ型メモリーは、従来のフラッシュメモリーに比べて集積度が高いため、小型で記憶容量が大きい記憶装置を実現可能であるというメリットがある。反面、上述したように書き込みの上限回数が少なく、従来のフラッシュメモリーと同様のメモリー管理を行った場合、記憶装置の寿命が短くなるおそれがある。
【００３７】
特許文献１に開示されている手法は、各物理アドレスに対する書き込みを平準化することで、メモリー装置の長寿命化を図るものである。各物理アドレスに対する書き込み回数（消去回数）にバラツキが大きい場合、書き込み回数が多い物理アドレスは早期に使用不能となってしまう。そのため、記憶装置全体としてそれ以上の使用ができなくなった状況でも、書き込み回数に充分余裕のある物理アドレスが多く残る可能性があり、記憶領域を有効に活用できないおそれがある。特許文献１のように、メモリーセルの使用頻度を平準化すれば、記憶領域を広く有効活用できる可能性が高まる。
【００３８】
しかし、特許文献１の手法はメモリーセルの使用頻度の平準化を実現するために、種々の管理用のデータを利用する。具体的には、特許文献１の図５〜図８のようなテーブルを保持し、論理アドレスと物理アドレスとの対応関係を管理する。そのため、論理アドレスに対する物理アドレスの管理が複雑になり、メモリー上に多くの管理領域が必要になるというデメリットがある。
【００３９】
本実施形態の記憶装置１００は、図１に示すように、メモリーセルアレイ部１２０とメモリー制御部１３０とを含むメモリー部１４０と、メモリー部１４０の制御を行う制御部１１０とを含む。そしてメモリー部１４０は、論理アドレスに対応付けられ、且つ、更新頻度が異なる複数種類のデータを記憶し、メモリー部１４０のメモリーセルアレイ部１２０は、物理アドレスにより特定される複数の分割領域を有する。そして本実施形態では、１つの論理アドレスに対して、１又は複数の分割領域が対応付けられ、更新頻度が高い第１の種類のデータに対応する論理アドレスに割り当てられる分割領域の数は、第１の種類よりも更新頻度が低い第２の種類のデータに対応する論理アドレスに割り当てられる分割領域の数に比べて多い。
【００４０】
ここでの分割領域とは、メモリーセルアレイ部１２０の記憶領域を分割して設定される領域を表す。複数の分割領域の各分割領域は、物理アドレスの値により一意に特定可能（他の分割領域と識別可能）であり、図４を用いて後述する例では、各分割領域に対して、他の全ての分割領域と異なる固有の物理ページアドレスが割り当てられている。分割領域のサイズは種々の設定が可能であるが、以下では１ページ（１２８ビット）の領域として説明する。また、以下では１つの論理アドレスに複数の分割領域が割り当てられている状態を「バンク有り」と表記し、その場合の各分割領域を「バンク（Ｂａｎｋ）０」、「バンク１」、・・・と表記する。「バンク無し」とは、１つの論理アドレスに１つの分割領域のみが割り当てられている状態を表す。
【００４１】
このようにすれば、データの更新頻度に基づいて、論理アドレスに対して割り当てられる分割領域の数を決定できる。なお、データを管理するために、各データには固有の論理アドレスが割り当てられることが前提である。図１の例では、記憶装置１００はシーケンシャルアクセスメモリであり、ホスト装置４００は書き込みデータを決まった順序で記憶装置１００に対して送信し、記憶装置１００の論理アドレス生成部（アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴ）は、受信したデータ順に、連続的な論理アドレスを割り当てる。
【００４２】
記憶装置１００の使用態様によっては、所与の論理アドレスに対応するデータは頻繁に更新（書き込み）されるが、別の論理アドレスに対応するデータはさほど更新されない、といったデータの更新状況を事前に予測可能な場合がある。そのような予測が可能であれば、更新頻度が高いデータに多くの分割領域を割り当てておけば、頻繁な書き込みにより一部の分割領域が使用不可状態となっても、残りの分割領域を使用すればよい。このため、メモリー部１４０が当該データを記憶できなくなるまでの時間、すなわち記憶装置１００の寿命を長くすることが可能である。また、更新頻度が低いデータに割り当てられる分割領域は相対的に少ないため、書き込み回数が極端に少ない分割領域が生じる可能性を抑止でき、メモリー部１４０の領域を有効活用することが可能である。つまり、記憶装置１００の長寿命化と記憶領域の有効活用が可能になる。
【００４３】
さらに、更新頻度に応じて分割領域の割り当て数を設定すればよいため、本実施形態の物理アドレスと論理アドレスとの対応関係の管理は容易に実現できる。具体的には、記憶装置１００は、後述する図３、図４のテーブルを保持しておけばよく、これらのテーブルに記憶される対応関係については記憶装置１００を使用している間に更新する必要がない。複数の分割領域が割り当てられるデータに関して、メモリー制御部１３０は具体的にどの分割領域を使用するかを決定する必要があるが、これは図５〜図７を用いて後述する判定情報（バンクカウンター）により実現でき、バンクカウンターの更新処理も非常に容易である。
【００４４】
各データの更新頻度を推定可能な例を説明する。例えば、制御部１１０は、図１に示すようにホスト装置４００との通信を行って、ホスト装置４００からのデータをメモリー部１４０に書き込む制御を行う。この場合、第１の種類のデータは、ホスト装置４００によって更新されるデータである。
【００４５】
つまり、記憶装置１００が、ホスト装置４００の動作により変化していく情報を記憶する装置として利用される場合、ホスト装置４００が書き込み可能なデータは、ホスト装置４００の動作中はいつでも更新される可能性がある。それに対して、ホスト装置４００が読み出し可能であるが書き込みはできないデータは、元の値を保持し続ければよいことが多く、更新頻度は相対的に低くなる。また、記憶装置１００や、記憶装置１００を含む機器において使用され、ホスト装置４００の読み出し対象ともならないデータも、更新頻度が相対的に低い。
【００４６】
例えば、ホスト装置４００は液体消費装置（印刷装置、プリンター）である。また記憶装置１００は、液体容器に含まれる。液体容器とは、液体消費装置により消費される液体を収容する容器であり、例えばインクカートリッジである。なお、より具体的には、ホスト装置４００は、液体消費装置に含まれる制御部に対応する。ここでの制御部は、図１の制御部４２０に対応し、例えば基板上に実装されるＤＳＰ（digital signal processor）等の種々のプロセッサーにより実現される。
【００４７】
この場合、第１の種類のデータは、液体消費装置により書き換えられる情報であり、例えばインク消費量情報、メンテナンス情報、液体消費装置に含まれるセンサー情報、液体消費装置の本体ＩＤを含む。
【００４８】
インク消費量情報は、インクカートリッジに含まれるインクの消費度合いを表す情報であり、一例としてはインクの初期充填量や、初期充填量に対するインクの消費割合（或いは残量の割合）である。インクの消費割合は、液体消費装置の動作（印刷動作）により変動していくものであるため、ホスト装置４００は記憶装置１００に対してインク消費量情報の更新指示を頻繁に行うことで、適切なインク管理を実現する。
【００４９】
また、クリーニング等のメンテナンス動作は、液体消費装置の正常な動作を実現するために定期的に実行される。よって、ホスト装置４００は、メンテナンス動作の実行回数や実行結果を表すメンテナンス情報の更新指示も、記憶装置１００に頻繁に行うことになる。
【００５０】
また、液体消費装置は、インク残量を光学的に推定するための光学センサーを含む場合がある。液体消費装置が光学センサー等のセンサーを含む場合、そのセンサー出力を適切に利用するための情報、例えばセンサー特性の情報やセンサー出力を補正する情報が必要となる。それらの情報は、例えば液体消費装置の電源投入時に更新されるため、ホスト装置４００は記憶装置１００に対してセンサー情報の更新指示を頻繁に行う。
【００５１】
また、液体容器が同一の液体消費装置に装着される限り、液体消費装置の本体ＩＤは変化しないことが想定される。しかしユーザーが、所与の液体消費装置に装着していた液体容器を、他の液体消費装置に付け替える可能性は否定できない。よって、液体容器が複数の液体消費装置間で使用されるときは、ホスト装置４００が記憶装置１００に対して本体ＩＤの更新指示を行う。
【００５２】
これに対して、第２の種類のデータは、液体容器の製造時、又は、記憶装置１００の製造時に書き込まれるデータである。液体容器の製造時に書き込まれるデータとは、例えば液体容器の製造年月日である。また、記憶装置１００の製造時に書き込まれるデータとは、例えば記憶装置１００の内部制御用データである。
【００５３】
これらのデータは、液体消費装置は、読み出しは行うが更新はしない、或いはそもそも読み出すこともしないデータであり、液体消費装置の動作が行われても更新されることが無い。つまり、ホスト装置４００の書き込み対象となるデータに比べて更新頻度が低いと考えてよい。
【００５４】
以下、本実施形態に係る記憶装置１００、及び記憶装置１００と通信を行うホスト装置４００の構成例を説明し、その後、メモリーセルアレイ部１２０の構成例（メモリーマップ）を説明する。さらに、本実施形態でのデータの書き込み処理の流れを説明した後、ホスト装置４００、記憶装置１００を含むシステム（印刷システム、印刷装置及び液体容器を含むシステム）の例を説明する。
【００５５】
２．記憶装置とホスト装置
図１に本実施形態の記憶装置及びホスト装置の基本的な構成例を示す。本実施形態の記憶装置１００は、制御部１１０、メモリー部１４０、クロック端子ＴＣＫ、データ端子ＴＤＡ、リセット端子ＴＲＳＴを含む。メモリー部１４０は、メモリーセルアレイ部１２０、メモリー制御部１３０を含む。また、本実施形態のホスト装置４００は、通信処理部４１０、制御部４２０、クロック端子ＨＣＫ、データ端子ＨＤＡ、リセット端子ＨＲＳＴを含む。なお、本実施形態の記憶装置１００及びホスト装置４００は、図１の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５６】
記憶装置１００（１００−１〜１００−ｎ（ｎは２以上の整数））は、バスＢＳを介してホスト装置４００と接続される。バスＢＳは、例えば図１に示すように、クロック信号線ＳＣＫ、データ信号線ＳＤＡ、リセット信号線ＸＲＳＴを含む。クロック信号線ＳＣＫを介して、ホスト装置４００は、複数の記憶装置１００−１〜１００−ｎに対してクロックを供給する。また、データ信号線ＳＤＡを介して、ホスト装置４００と各記憶装置１００との間でデータ等のやり取りが行われる。また、リセット信号線ＸＲＳＴを介して、ホスト装置４００は、複数の記憶装置１００−１〜１００−ｎに対してリセット信号を出力する。
【００５７】
複数の記憶装置１００−１〜１００−ｎは各々ＩＤ情報を有し、ホスト装置４００は、このＩＤ情報を指定することで、複数の記憶装置１００−１〜１００−ｎのうちの１つの記憶装置に対してコマンドやデータを送信できる。例えば図１では、第１の記憶装置１００−１のＩＤ情報はＩＤ＝１であり、第２の記憶装置１００−２のＩＤ情報はＩＤ＝２である。
【００５８】
記憶装置１００は、クロック端子ＴＣＫ（広義には第１の端子）、データ端子ＴＤＡ（広義には第２の端子）及びリセット端子ＴＲＳＴ（広義には第３の端子）を含む。クロック端子ＴＣＫにはクロック信号線ＳＣＫが接続され、データ端子ＴＤＡにはデータ信号線ＳＤＡが接続され、リセット端子ＴＲＳＴにはリセット信号線ＸＲＳＴが接続される。
【００５９】
記憶装置１００の制御部１１０は、バスＢＳを介して接続されるホスト装置４００との通信処理を行う。具体的には、図１に示すように、ホスト装置４００からのクロック及びリセット信号に基づいて、データ信号線ＳＤＡを介してホスト装置４００から送信されるコマンド（コマンドパケット）や書き込みデータ（書き込みデータパケット）などを受信し、またデータ信号線ＳＤＡを介してホスト装置４００に対してメモリーセルアレイ部１２０から読み出されたデータやアクノリッジ（Acknowledge）などを送信する。
【００６０】
メモリーセルアレイ部１２０には、不揮発性メモリーのセルが配置され、ホスト装置４００からのデータが書き込まれる。メモリーセルアレイ部１２０は、ＭＯＮＯＳ（Metal-Oxide-Nitride-Oxide-Silicon）型メモリーにより実現される。ただし、メモリーセルアレイ部１２０は例えばＭＯＮＯＳ型ではないＥＥＰＲＯＭや強誘電体メモリーなどにより実現することも可能である。メモリー制御部１３０は、メモリーセルアレイ部１２０のアクセス制御を行う。
【００６１】
制御部１１０は、例えばＩＤコンパレーターＩＤ＿ＣＯＭＰ、Ｉ／ＯコントローラーＩ／Ｏ＿ＣＮＴＬ、オペレーションコードデコーダーＯＰＣＤＥＣ、アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴを含む。ＩＤコンパレーターＩＤ＿ＣＯＭＰは、ホスト装置４００から送信されたＩＤ情報が自分自身のＩＤ情報と一致するか否かを比較する。一致する場合には、オペレーションコードデコーダーＯＰＣＤＥＣに対してイネーブル信号を出力し、オペレーションコードデコーダーＯＰＣＤＥＣはホスト装置４００から送信されたコマンド（オペレーションコード）をデコードする。一方、ホスト装置４００から送信されたＩＤ情報が自分自身のＩＤ情報と一致しない場合には、制御部１１０は次のアクティブなリセット信号が入力されるまで自身をディスエイブル状態とする。
【００６２】
オペレーションコードデコーダーＯＰＣＤＥＣがホスト装置４００から送信されたコマンド（オペレーションコード）をデコードした結果、ホスト装置４００から送信されたコマンドが書き込みコマンドである場合には、Ｉ／ＯコントローラーＩ／Ｏ＿ＣＮＴＬは、ホスト装置４００からの書き込みデータを受信する。メモリー制御部１３０は、オペレーションコードデコーダーＯＰＣＤＥＣからの書き込み命令ｗｒに基づいて、受信した書き込みデータをメモリーデータｍ＿ｄａｔａとしてメモリーセルアレイ部１２０に書き込む。この書き込む際のアドレス情報ａｄｄｒは、ホスト装置４００からのクロックに基づいてアドレスカウンターＡＤＤＲ＿ＣＯＵＮＴにより生成され、書き込みデータはシーケンシャルに、すなわち送信された順番にメモリーセルアレイ部１２０に書き込まれる。書き込みデータがメモリーセルアレイ部１２０に正常に書き込まれた場合には、メモリー制御部１３０は、内部アクノリッジ（Acknowledge）ｉ＿ａｃｋをＩ／ＯコントローラーＩ／Ｏ＿ＣＮＴＬに出力する。
【００６３】
ホスト装置４００から送信されたコマンドが読み出しコマンドである場合には、メモリー制御部１３０は、オペレーションコードデコーダーＯＰＣＤＥＣからの読み出し命令ｒｄに基づいて、メモリーセルアレイ部１２０からメモリーデータｍ＿ｄａｔａを読み出す。この読み出す際のアドレス情報ａｄｄｒもホスト装置４００からのクロックに基づいてアドレスカウンターＡＤＤＲ＿ＣＯＵＮＴにより生成され、シーケンシャルに読み出される。
【００６４】
通信処理部４１０は、第１〜第ｎの記憶装置１００−１〜１００−ｎのうちの第ｊ（ｊは１≦ｊ≦ｎである整数）の記憶装置１００−ｊに対して、コマンドパケットとコマンドパケットに対応する複数のデータパケットを送信する。
【００６５】
３．メモリーマップの例
図２は、ホスト装置４００から記憶装置１００に送信されるＩＤパケット、コマンドパケット及び書き込みデータパケットを説明する図である。図２に示すように、ＩＤパケットＩＤＰＫは、記憶装置１００のＩＤ情報に関するパケットであって、例えばＩＤ０〜ＩＤ７の８ビットで構成され、これにパリティービットＩＰが付加される。またコマンドパケットＣＭＰＫは、例えばＣ０〜Ｃ７の８ビットで構成され、これにパリティービットＣＰが付加される。また書き込みデータパケットＤＰＫは、Ｄ０〜Ｄ７の８ビットで構成されるデータ部分（書き込みデータ）とパリティービットＤＰを含む。パリティービットＩＰ、ＣＰ、ＤＰは、パリティーチェックのために付加されるビットであって、１の個数が常に偶数若しくは奇数となるように付加されるビットである。
【００６６】
各パケットはクロックＳＣＫに同期して、ＩＤパケットＩＤＰＫ、コマンドパケットＣＭＰＫ、データパケットＤＰＫの順に、ホスト装置４００から記憶装置１００へ送信される。複数のデータパケットを送信する場合は、ホスト装置４００による第１のデータパケットＤＰＫ１の送信後に、記憶装置１００がホスト装置４００へアクノリッジＡＣＫを返信するための期間を設けて、その後にホスト装置４００から記憶装置１００へ第２のデータパケットＤＰＫ２が送信される。
【００６７】
なお、本実施形態の記憶装置１００及びホスト装置４００における各パケットの構成は、図２に示した構成に限定されない。例えば、各パケットのビット数を増減してもよい。
【００６８】
以下で説明するメモリーセルアレイ部１２０で記憶されるデータ（図３のＤａｔａ１［１５：０］等）は、例えばデータパケットＤＰＫのうちのＤ０〜Ｄ７そのもの、或いはＤ０〜Ｄ７に基づいて生成されるデータに相当する。
【００６９】
３．１  論理アドレスの構成
図３、図４は、メモリー部１４０（メモリーセルアレイ部１２０）に、内部制御用のデータとして記憶されるデータの構成（メモリーマップ）を説明する図である。図３は、論理アドレスと、各論理アドレスに対応するデータの構造を表す図であり、図４は論理アドレスと物理アドレス（狭義には論理ページと物理ページアドレス）の対応関係を示す図である。
【００７０】
図３に示すように、例えばメモリー部１４０は複数の論理アドレスＡ１、Ａ２、・・・を有し、各アドレスに対して３２ビットのデータを記憶できる。Ａ１に示すように、１つの論理アドレスには１６ビットのデータ（Ｄａｔａ１［１５：０］等）が格納されるとともに、他の１６ビットを用いて付加的なデータを記憶する。
【００７１】
ここでの付加的なデータとは、例えば誤り訂正符号（ＥＣＣ）である。また、付加的なデータは、ライトロックビットＷＬＣＫを含むことができる。ライトロックビットＷＬＣＫは、各アドレスに設けられ、そのアドレスに対する書き込み禁止（ライトロック）を設定するためのビットである。例えばアドレスＡ１のライトロックビットＷＬＣＫが１に設定されている場合には、メモリー制御部１３０により、アドレスＡ１に対する書き込みが禁止される。通常は、ライトロックビットＷＬＣＫは工場出荷時に設定され、その後はライトロックビットＷＬＣＫを書き換えることはできない。また、ライトロックビットＷＬＣＫの順番を入れ替えてもよい。またライトロックビットＷＬＣＫを１ビットではなく、複数のビットで構成してもよい。
【００７２】
なお、データのビット数は１６ビットに限定されず増減が可能である。また、付加的なデータとしてＥＣＣやライトロックビットＷＬＣＫ以外のビットを設けてもよい。また、必ず値が‘１’或いは‘０’で固定されるビットを設けてもよい。
【００７３】
また、図３に示すように、本実施形態のメモリー部１４０では、４つのアドレスを１つのページとして管理する。例えば、Ａ１〜Ａ４の４つの論理アドレスが、１つの論理ページＰ１に対応し、Ａ５〜Ａ８がＰ２に対応する。本実施形態では、４アドレス、１２８ビットから構成される１ページを単位として書き込みが行われ、書き込みが可能か否かは、ページごとに決定される。
【００７４】
そして各ページに対して、バンク数、すなわち割り当てられる分割領域の数が設定されている。図３の例では、Ｐ１〜Ｐ８の各ページには８個の分割領域が割り当てられ、Ｐ９〜Ｐ２４の各ページには２個の分割領域が割り当てられる。言い換えれば、Ａ１〜Ａ３２の各論理アドレスに割り当てられる分割領域の数は８であり、Ａ３３〜Ａ９６の各論理アドレスに割り当てられる分割領域の数は２となる。つまり、本実施形態における更新頻度が高い第１の種類のデータはＡ１〜Ａ３２に対応するデータであり、更新頻度が低い第２の種類のデータはＡ３３〜Ａ９６に対応するデータである。
【００７５】
記憶装置１００がホスト装置４００から受信した複数のデータパケットＤＰＫ１、ＤＰＫ２、・・・は、受信した順番に（シーケンシャルに）、アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴにより論理アドレスが割り振られる。すなわち第１のデータパケットＤＰＫ１は、第１の論理アドレスＡ１が割り振られ、第２のデータパケットＤＰＫ２は、第２の論理アドレスＡ２が割り振られ、以下についても同様である。この論理アドレスは図１のアドレス情報ａｄｄｒに対応するものであり、制御部１１０がアドレスカウンターＡＤＤＲ＿ＣＯＵＮＴに更新指示を行うことで、データパケットを受信する毎にアドレス情報ａｄｄｒが更新（インクリメント）される。
【００７６】
このようなシーケンシャルアクセスでは、ホスト装置４００は、データパケットを先頭から順次送信する。そのため、ホスト装置４００はコマンドパケットＣＭＰＫに続けて第ｉ（ｉ＞２の整数）のデータパケットＤＰＫｉを送信することはできず、ＤＰＫ１〜ＤＰＫｉ−１を含んだ通信パケットを記憶装置に送信する。言い換えれば、記憶装置１００は、論理アドレスＡｉのデータのみを取得することはできず、Ａ１〜Ａｉ−１のデータの取得も必要となる。ただし、Ａｉ＋１以降のデータについては、図１のリセット信号ＲＳＴをローレベルとすることで、ホスト装置４００からの送信を中止できる。
【００７７】
つまりシーケンシャルアクセスを行う場合、更新頻度が高いデータは通信パケットの先頭に近い位置に配置されることが好ましく、上記の例であればアドレスカウンターＡＤＤＲ＿ＣＯＵＮＴにより付与される順序が早い論理アドレスが割り当てられるとよい。図３はこの点も考慮しており、値が小さい論理アドレス（Ａ１に近いアドレス）に第１の種類のデータを対応付け、比較的値が大きい論理アドレスに第２の種類のデータを対応付けている。このようにすれば、第１の種類のデータのみを更新する際に、不要なデータの受信を行う必要が無く、より高速での書き込み処理が可能になる。
【００７８】
３．２  論理アドレスと物理アドレスとの関係例
図４に論理アドレスと物理アドレスの関係例を示す。図４では、アドレス単体ではなく、ページ単位での対応付け、すなわち物理ページアドレス（ＰＰＡ、ＰＰＢ）と論理ページ（Ｐ）との対応付けを示している。上述したように、１つの物理ページアドレスが、１つの分割領域に対応する。
【００７９】
図４に示すように、物理ページアドレスのＰＰＡ１〜ＰＰＡ６４は、論理ページＰ１〜Ｐ８を記憶するための領域である。図４の例では、物理ページアドレスＰＰＡ１がＰ１の第１の分割領域、ＰＰＡ２がＰ２の第１の分割領域、といったように、物理ページアドレスＰＰＡ１〜ＰＰＡ８が、Ｐ１〜Ｐ８の各ページの第１の分割領域（バンク０）に割り当てられる。また、物理ページアドレスＰＰＡ９がＰ１の第２の分割領域、ＰＰＡ１０がＰ２の第２の分割領域、といったように、物理ページアドレスＰＰＡ９〜ＰＰＡ１６が、Ｐ１〜Ｐ８の各ページの第２の分割領域（バンク１）に割り当てられる。以下についても同様であり、物理ページアドレスＰＰＡ１〜ＰＰＡ６４を用いて、論理ページＰ１〜Ｐ８の各ページにそれぞれ８個の分割領域が割り当てられる。
【００８０】
図４の例では、物理ページアドレスＰＰＡ１をバンク０、ＰＰＡ９をバンク１、ＰＰＡ１７をバンク２、ＰＰＡ２５をバンク３、ＰＰＡ３３をバンク４、ＰＰＡ４１をバンク５、ＰＰＡ４９をバンク６、ＰＰＡ５７をバンク７とすることで（図４にはバンク２〜６は不図示）、論理ページＰ１に対して８個の分割領域が割り当てられ、図３に示したＰ１に対するバンク数＝８を実現している。論理ページＰ２〜Ｐ８についても同様であり、図４に示したテーブルを利用することで、論理ページＰ１〜Ｐ８、すなわち第１の種類のデータに対応する論理アドレスＡ１〜Ａ３２に対して、それぞれ８個の分割領域を割り当てることができる。
【００８１】
また、物理ページアドレスＰＰＢ１〜ＰＰＢ１６は、論理ページＰ９〜Ｐ１７を記憶するための領域である。図４の例では、物理ページアドレスＰＰＢ１がＰ９の第１の分割領域、ＰＰＢ２がＰ１０の第１の分割領域、といったように、物理ページアドレスＰＰＢ１〜ＰＰＢ８が、Ｐ９〜Ｐ１６の各ページの第１の分割領域（バンク０）に割り当てられる。同様に、ＰＰＢ９〜ＰＰＢ１６が、Ｐ９〜Ｐ１６の各ページの第２の分割領域（バンク１）に割り当てられる。
【００８２】
図４の例では、物理ページアドレスＰＰＢ１をバンク０、ＰＰＢ９をバンク１とすることで、論理ページＰ９に対して２個の分割領域が割り当てられ、図３に示したＰ９に対するバンク数＝２を実現している。論理ページＰ１０〜Ｐ１６についても同様である。また同様に、物理ページアドレスＰＰＢ１７〜ＰＰＢ３２を用いて、論理ページＰ１７〜Ｐ２４の各ページに２個の分割領域が割り当てられる。
【００８３】
図４に示したテーブルを利用することで、論理ページＰ９〜Ｐ２４、すなわち第２の種類のデータに対応する論理アドレスＡ３３〜Ａ９６に対して、それぞれ２個の分割領域を割り当てることができる。
【００８４】
このように、メモリーセルアレイ部１２０は、第１の種類のデータを記憶する第１の記憶領域と、第２の種類のデータを記憶する第２の記憶領域と、を有する。第１の記憶領域とは、図４におけるＲ１であり、物理ページアドレスＰＰＡ１〜ＰＰＡ６４により構成される領域である。第２の領域とは、図４におけるＲ２であり、物理ページアドレスＰＰＢ１〜ＰＰＢ３２により構成される領域である。
【００８５】
そして、第１の記憶領域は、第ｐの論理アドレスに対応付けられたｋ（ｋは２以上の整数）個の分割領域を有し、第２の記憶領域は、第ｑの論理アドレスに対応付けられたｍ（ｍは１≦ｍ＜ｋを満たす整数）個の分割領域を有する。図４の例では、第１の記憶領域では論理ページＰ１〜Ｐ８のそれぞれの論理ページに対して、８つの分割領域が対応付けられている。図３に示したように、論理ページＰ１〜Ｐ８は、論理アドレスＡ１〜Ａ３２に対応することから、第ｐの論理アドレスとは、Ａ１〜Ａ３２のうちのいずれかの論理アドレスであり、ｋ＝８である。また図４の例では、第２の記憶領域では論理ページＰ９〜Ｐ２４のそれぞれの論理ページに対して、２つの分割領域が対応付けられている。図３に示したように、論理ページＰ９〜Ｐ２４は、論理アドレスＡ３３〜Ａ９６に対応することから、第ｑの論理アドレスとは、Ａ３３〜Ａ９６のうちのいずれかの論理アドレスであり、ｍ＝２である。
【００８６】
このようにすれば、図４に示すように、第１の種類のデータ用の領域と、第２の種類のデータ用の領域とを設け、各領域において１つの論理アドレス（論理ページ）に対応付けられる分割領域（分割領域を表す物理ページアドレス）の数を設定することで、データの更新頻度に応じた分割領域の割り当てが可能になる。なお、第１の記憶領域は、連続する物理アドレスから構成されるものには限定されないし、物理的な構成として連続する（連続するメモリーセルから構成される）ものにも限定されない。第２の記憶領域についても同様である。また、各論理アドレスに割り当てられるｋ個、或いはｍ個の分割領域についても連続する必要はない。図４の例でも、論理アドレスＡ１に割り当てられる分割領域の物理ページアドレスは、ＰＰＡ１、ＰＰＡ８、・・・といったように連続するものになっていない。
【００８７】
また、制御部１１０は、ホスト装置４００からのクロック信号に基づいて論理アドレスを生成する論理アドレス生成部（アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴ）を有し、メモリー制御部１３０は、論理アドレス生成部から受信した論理アドレスに基づいて、アクセス対象の物理アドレスを生成する物理アドレス生成部（図１には不図示）を有する。
【００８８】
そして物理アドレス生成部は、第１の種類のデータに対応する論理アドレスに割り当てられる分割領域の数が、第２の種類のデータに対応する論理アドレスに割り当てられる分割領域の数に比べて多くなるように、物理アドレスを生成する。
【００８９】
このようにすれば、アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴが論理アドレスを生成し、物理アドレス生成部が、論理アドレスに基づいて物理アドレスを生成する、という手順を経ることで、各データに対して種類に応じた数の分割領域を割り当てることが可能になる。具体的には、物理アドレス生成部は、アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴから取得した論理アドレス（図１のａｄｄｒ）と、図３、図４に示したテーブルとに基づいて、データを書き込む物理アドレスを生成する。例えば、取得した論理アドレスがＡ１であった場合、物理アドレス生成部は図３、図４のテーブルに基づいて、物理ページアドレスはＰＰＡ１、ＰＰＡ９、・・・、ＰＰＡ５７のいずれかであると特定できる。さらに、図３のテーブルを参照すれば、物理アドレス生成部は、物理ページアドレスにより特定される１２８ビットのうちの最初の３２ビットが、論理アドレスＡ１のデータの書き込み対象領域であることも特定できる。よって、物理アドレス生成部は、特定された領域を示す物理アドレスを生成し、メモリー制御部１３０は、当該物理ページアドレスにデータを書き込むように、メモリーセルアレイ部１２０を制御する。
【００９０】
３．３  バンクカウンター
１つの論理アドレスに複数の分割領域が割り当てられている場合、物理アドレス生成部では、そのうちのどの分割領域にデータを書き込むかを特定しなくてはならない。
【００９１】
本実施形態では、メモリーセルアレイ部１２０は、複数の不揮発性メモリーのセルにより構成され、第ｒ（ｒは正の整数）の論理アドレスに対応付けられる第ｓ（ｓは正の整数）の分割領域が書き込み不可状態と判定された場合に、第ｒの論理アドレスに対応付けられた第ｔ（ｔはｔ≠ｓを満たす正の整数）の分割領域にデータが書き込まれる。
【００９２】
このようにすれば、所与の論理アドレスに複数の分割領域が割り当てられた場合に、そのうちの書き込み不可状態となっていない分割領域を書き込み処理の対象として特定することが可能になる。一例としては、第１〜第ｋの分割領域が割り当てられた場合、メモリー制御部１３０は、まず第１の分割領域（バンク０）を継続して使用する制御を行い、第１の分割領域が書き込み不可状態となった場合に、第２の分割領域（バンク１）の使用を開始する。
【００９３】
上記の制御は、各分割領域が書き込み不可状態となったか否かを判定する判定情報を用いて実現できる。具体的には、判定情報が、各分割領域に対応付けられており、メモリー制御部１３０は、第ｓの分割領域が書き込み不可と判定された場合に、第ｓの分割領域に対応付けられた判定情報を、書き込み不可状態を表す値に更新する。
【００９４】
このようにすれば、各分割領域が書き込み可能か否かを適切に管理することが可能になる。メモリー制御部１３０の物理アドレス生成部は、論理アドレス、図３、図４のテーブル、及び判定情報を参照して、物理アドレスを生成する。具体的には、論理アドレスと図３、図４のテーブルから分割領域を特定し、特定される分割領域が複数ある場合には、判定情報に基づいて、さらにそのうちの１つの分割領域を特定することで、物理アドレスを生成する。
【００９５】
本実施形態の判定情報の形式は種々考えられる。例えば、８個の分割領域の管理を行うのであれば、判定情報として３ビットのデータを用いることが可能である。一例としては、‘１１１’の場合に全分割領域が書き込み可能であり、第１の分割領域を使用する。‘１１０’の場合は第１の分割領域が書き込み不可状態で、第２〜第７の分割領域が書き込み可能であり、第２の分割領域を使用する。以下同様に、メモリー制御部１３０は、判定情報の値のデクリメントにより、使用する分割領域を変更することが可能である。
【００９６】
具体的には、メモリー制御部１３０は、第ｓの分割領域に対応付けられた判定情報が書き込み不可に更新された後に、第ｒの論理アドレスのデータ書き込みを行う場合には、第ｔの分割領域にデータを書き込む制御を行う。
【００９７】
上述したように、メモリー制御部１３０の物理アドレス生成部では、判定情報を参照して物理アドレスを特定する。そのため、第ｓの分割領域に対応付けられた判定情報が書き込み不可に更新された後であれば、物理アドレス生成部は、第ｒの論理アドレスに対応するデータの書き込み対象として、第ｓの分割領域に対応する物理アドレスを生成することはなく、第ｓの分割領域とは異なる第ｔの分割領域に対応する物理アドレスを生成する。これにより、メモリー制御部１３０は、第ｒの論理アドレスのデータを、第ｔの分割領域に書き込む制御を実行できる。
【００９８】
なお、分割領域が書き込み可能状態か、書き込み不可状態であるかという情報は、電源がＯＦＦになったとしても、喪失することが許容されない重要な情報である。よって判定情報は、メモリーセルアレイ部１２０に記憶される。メモリーセルアレイ部１２０は、上述したように不揮発性メモリーにより構成されるため、判定情報を適切に保持することが可能になる。
【００９９】
この場合、判定情報についても他の書き込みデータと同様に、更新頻度（書き込み頻度）が高くなることでメモリーセルアレイ部１２０の対応する領域が使用不可となる可能性を考慮する必要がある。
【０１００】
よって本実施形態では、メモリーセルアレイ部１２０のデータの消去時に、メモリーセルアレイ部１２０に記憶されるデータが第１の論理レベルに設定される場合に、メモリー制御部１３０は、判定情報を書き込み不可に更新する際に、判定情報に対応するデータを第１の論理レベルとは異なる第２の論理レベルに設定する。
【０１０１】
ここで狭義には第１の論理レベルとは値‘１’に対応し、第２の論理レベルとは値‘０’に対応する。メモリー制御部１３０は、メモリーセルアレイ部１２０に１ページ分の書き込みを行う場合には、まず１ページ分のデータを一時バッファーに退避し、対象の１ページ分のデータを全て１にする消去処理（消去動作）を行う。そして、メモリー制御部１３０は、更新処理を行った一時バッファーのデータを消去後の領域に書き込む制御を行うことで、メモリーセルアレイ部１２０の１ページ分のデータを更新する。
【０１０２】
上述したように、８個の分割領域の管理を３ビットの判定情報により行おうとした場合、値が０から１に変化する場合が生じる。例えば、第２の分割領域を特定する状態である‘１１０’から、第３の分割領域を特定する状態である‘１０１’への更新の際には、メモリー制御部１３０は、最下位ビットを０から１へ変更する必要があり、この際には判定情報を一度消去する制御が必要となる。結果として、判定情報の更新には消去と書き込みの両方が発生することになり、メモリーセルアレイ部１２０のうち、判定情報を記憶する領域の寿命が短くなってしまう。
【０１０３】
その点、判定情報を書き込み不可に更新する際に、判定情報に対応するデータを第１の論理レベルとは異なる第２の論理レベルに設定すれば、メモリー制御部１３０は、判定情報の値を１から０へと更新する制御を行えばよく、０から１への変更、すなわち消去処理が不要となる。よって、判定情報を記憶する領域についても長寿命化が可能になる。
【０１０４】
図５、図６、図７に判定情報（バンクカウンター）の具体例を示す。図５は各論理ページの判定情報に対するビット割り当てを表す図である。図５に示したように、８個の分割領域が割り当てられるＰ１〜Ｐ８の判定情報には８ビットが割り当てられ、２個の分割領域が割り当てられるＰ９〜Ｐ２４の判定情報には１ビットが割り当てられる。
【０１０５】
図６、図７が、判定情報の値と、書き込み対象となる分割領域との関係を示す図である。図６はＰ１〜Ｐ８の判定情報の例であり、８個の分割領域が全て書き込み可能状態であれば、判定情報の値は‘１１１１１１１１’となり、第１の分割領域（バンク０）が使用される。第１の分割領域が使用不可状態となった場合には、対応するビット（図６の例では最下位ビット）が０に更新される。そのため、判定情報の値は‘１１１１１１１０’となり、第２の分割領域（バンク１）が使用される。以下についても同様であり、メモリー制御部１３０は、消去処理を行うことなく、判定情報を適切に更新できる。
【０１０６】
図７はＰ９〜Ｐ２４の判定情報の例であり、第１の分割領域が書き込み可能状態であれば、判定情報の値は‘１’となり、第１の分割領域（バンク０）が使用される。第１の分割領域が使用不可状態となった場合には、判定情報の値は‘０’となり、第２の分割領域（バンク１）が使用される。この場合も、メモリー制御部１３０は、消去処理を行うことなく、判定情報を適切に更新できる。
【０１０７】
なお、Ｐ９〜Ｐ２４の判定情報に２ビットを割り当て、第１の分割領域と第２の分割領域の両方が書き込み可能状態であれば判定情報を‘１１’とし、第１の分割領域が使用不可状態となった場合に判定情報を‘１０’とする変形実施も可能である。このようにすれば、判定情報のビット数は増えてしまうが、第２の分割領域が使用不可状態となっているか否かを識別可能となる。
【０１０８】
以上に示したように、本実施形態のメモリー制御部１３０は、第１の種類のデータのアクセス要求を受け付けた場合に、論理アドレスに対応付けられたｋ個の分割領域のうち、判定情報により特定される１つの分割領域に対してアクセスを行う。同様に、ｍ≧２であれば、第２の種類のデータのアクセス要求を受け付けた場合に、論理アドレスに対応付けられたｍ個の分割領域のうち、判定情報により特定される１つの分割領域に対してアクセスを行う。
【０１０９】
なお、図３〜図７ではｍ＝２である例を示したがｍ＝１であってもよい。或いは、第２の種類のデータがさらに細分化され、２以上の分割領域が割り当てられるデータと、１つの分割領域が割り当てられるデータを含んでもよい。１つの分割領域しか割り当てられないデータ（論理アドレス）については、使用する分割領域の特定に判定情報は不要であり、メモリー制御部１３０の物理アドレス生成部は、図３と図４のテーブルを用いて物理アドレスを特定可能である。
【０１１０】
４．書き込み処理、読み込み処理の流れ
図８は、メモリー部１４０（メモリー制御部１３０）における書き込み処理を説明するフローチャートである。この処理が開始されると、まずメモリー制御部１３０は、制御部１１０から書き込みデータに対応する論理アドレスを取得する（ステップＳ１０１）。この論理アドレスは、論理アドレス生成部（アドレスカウンターＡＤＤＲ＿ＣＯＵＮＴ）により生成されるアドレスである。
【０１１１】
そしてメモリー制御部１３０は、取得した論理アドレスにバンクがあるか、すなわち複数の分割領域が割り当てられているかを判定する（ステップＳ１０２）。ステップＳ１０２の判定は、取得した論理アドレスと、図３に示したテーブルとに基づいて実行される。論理アドレス（論理ページ）に複数の分割領域が割り当てられている場合には、メモリー制御部１３０は、論理ページに対応する判定情報（バンクカウンター）を読み出し、書き込み対象である物理アドレスを特定する（ステップＳ１０３）。具体的には、物理アドレス生成部は、図３、図４のテーブルと、図５〜図７の判定情報から、論理アドレスに対応する複数の分割領域のうちの１つを特定し、特定された分割領域に対応する物理アドレスを生成する。論理アドレスに複数の分割領域が割り当てられていない場合（ステップＳ１０２でＮｏの場合）は、判定情報を参照せずに物理アドレスを特定できるため、ステップＳ１０３の処理を省略する。
【０１１２】
物理アドレスが特定できたら、メモリー制御部１３０は、対応する物理アドレスに書き込みデータを書き込む（ステップＳ１０４）。メモリー制御部１３０は、書き込みが成功したかを判定し（ステップＳ１０５）、成功の場合には、１ページ分の書き込みを正常終了する。ステップＳ１０５の判定は、例えばメモリーセルアレイ部１２０のベリファイ判定回路からの出力を利用する。
【０１１３】
データの書き込みに失敗した場合（ステップＳ１０５でＮｏの場合）は、メモリー制御部１３０は、論理アドレスにバンクがあるかを判定する（ステップＳ１０６）。バンクがある場合には、メモリー制御部１３０は、判定情報の更新を行う（ステップＳ１０７）。具体的には、メモリー制御部１３０は、バンクカウンターの対応するビットを第２の論理レベル（‘０’）に更新する。ステップＳ１０７の処理後、又はステップＳ１０６の判定でＮｏの場合には、１ページ分の書き込みを異常終了する。なお、１ページ分の書き込みが異常終了し、その旨が記憶装置１００からホスト装置４００へ送信された場合、ホスト装置４００は、書き込みに失敗したデータパケットの再送信を行う。この場合、使用可能なバンクが残っていれば（ステップＳ１０６でＹｅｓの場合）、ステップＳ１０７の処理によりバンクカウンターが更新されている。つまり、ステップＳ１０３で読み出されるバンクカウンターの値が更新されているため、ステップＳ１０４で書き込み対象となる物理アドレスが書き込み失敗時の物理アドレスとは異なるアドレスに変更される。そのため、メモリー制御部１３０は、再書き込みについても図８のフローチャートに従った制御を行うことで、正常に書き込みを終了することが可能である。
【０１１４】
図９は、メモリー部１４０（メモリー制御部１３０）における書き込み処理を説明するフローチャートである。この処理が開始されると、まずメモリー制御部１３０は、制御部１１０から書き込みデータに対応する論理アドレスを取得し（ステップＳ２０１）、取得した論理アドレスにバンクがあるかを判定する（ステップＳ２０２）。そして、バンクがある場合には、メモリー制御部１３０は、論理ページに対応する判定情報を読み出し、書き込み対象である物理アドレスを特定し（ステップＳ２０３）、バンクがない場合にはステップＳ２０３の処理を省略する。ステップＳ２０１〜Ｓ２０３は取得した論理アドレスに対応する物理アドレスを特定する処理であり、図８のステップＳ１０１〜Ｓ１０３と同様である。
【０１１５】
そしてメモリー制御部１３０は、特定された物理アドレスからデータを読み出し（ステップＳ２０４）、１ページ分のデータの読み出し処理を正常終了する。
【０１１６】
５．システム、液体装置及び回路基板
図１０に本実施形態のシステムの基本的な構成例を示す。本実施形態のシステムは、例えばインクジェット方式のプリンターなどであって、第１の記憶装置１００−１〜第ｎ（ｎは２以上の整数）の記憶装置１００−ｎ、記憶装置が実装されるｎ個の回路基板２００−１〜２００−ｎ、回路基板を備えるｎ個の液体容器３００−１〜３００−ｎ及びホスト装置４００を含む。なお、本実施形態のシステムは図１０の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。
【０１１７】
以下では、ホスト装置４００がインクジェット方式のプリンター本体であり、液体容器３００がインクカートリッジであり、回路基板２００がインクカートリッジに設けられた回路基板である場合を例に説明する。但し、本実施形態では、ホスト装置、液体容器、回路基板は、他の装置、容器、回路基板であってもよい。例えば、ホスト装置はメモリーカードのリーダー／ライターであってもよく、回路基板はメモリーカードに設けられた回路基板であってもよい。
【０１１８】
第１の記憶装置１００−１〜第ｎの記憶装置１００−ｎは、それぞれリセット端子ＴＲＳＴ、クロック端子ＴＣＫ、データ端子ＴＤＡ、第１の電源端子ＶＤＤ及び第２の電源端子ＶＳＳを含む。これらｎ個の記憶装置１００−１〜１００−ｎの各々は、メモリーセルアレイ部１２０（例えば不揮発性メモリー等）を含み、それぞれのメモリーセルアレイ部１２０にはｎ個の液体容器（例えばインクカートリッジ等）３００−１〜３００−ｎを識別するためのＩＤ（Identification）情報（例えばＩＤ＝１、ＩＤ＝２、ＩＤ＝３など）が記憶されている。ＩＤは、液体容器が収容する液体の色などの種類毎に異なるものが付与される。またメモリーセルアレイ部１２０には、液体容器のインク残量（又はインク消費量）などのデータが、ホスト装置４００により書き込まれる。
【０１１９】
ホスト装置４００は、例えばプリンター本体などであって、ホスト側リセット端子ＨＲＳＴ、ホスト側クロック端子ＨＣＫ、ホスト側データ端子ＨＤＡ、第１の電源端子ＶＤＤ及び第２の電源端子ＶＳＳを含む。
【０１２０】
図１１に、本実施形態の液体容器（インクカートリッジ）３００の詳細な構成例を示す。液体容器３００の内部には、インクを収容するための図示しないインク室が形成される。また、液体容器３００には、インク室に連通するインク供給口３４０が設けられる。このインク供給口３４０は、液体容器３００がプリンターに装着された時に、印刷ヘッドユニットにインクを供給するためのものである。
【０１２１】
液体容器３００は、回路基板２００を含む。回路基板２００には、本実施形態の記憶装置１００が設けられ、インク消費量などのデータの記憶やホスト装置４００とのデータ送受信を行う。回路基板２００は、例えばプリント基板により実現され、液体容器３００の表面に設けられる。回路基板２００には、第１の電源端子ＶＤＤ等の端子が設けられる。そして、液体容器３００がプリンターに装着された時に、それらの端子とプリンター側の端子が接触（電気的に接続）することで、電源やデータのやり取りが行われる。
【０１２２】
図１２、図１３に、本実施形態の記憶装置１００が設けられた回路基板２００の詳細な構成例を示す。図１２に示すように、回路基板２００の表面（プリンターと接続される面）には、複数の端子を有する端子群が設けられる。この端子群は、第１の電源端子ＶＤＤ、第２の電源端子ＶＳＳ、リセット端子ＴＲＳＴ、クロック端子ＴＣＫ、データ端子ＴＤＡを含む。各端子は、例えば矩形状（略矩形状）に形成された金属端子により実現される。そして、各端子は、回路基板２００に設けられた図示しない配線パターン層やスルーホールを介して、記憶装置１００に接続される。
【０１２３】
図１３に示すように、回路基板２００の裏面（プリンターと接続される面の裏側の面）には、本実施形態の記憶装置１００が設けられる。記憶装置１００は、例えば、ＭＯＮＯＳ型メモリーを有する半導体記憶装置により実現できる。この記憶装置１００には、インク又は液体容器３００に関連する種々のデータが格納され、例えば、液体容器３００を識別するためのＩＤ情報やインクの消費量等のデータが格納される。インク消費量のデータは、液体容器３００内に収容されたインクについて、印刷の実行等に伴い消費されるインク量の累計を示すデータである。このインク消費量のデータは、液体容器３００内のインク量を示す情報であってもよく、消費したインク量の割合を示す情報であってもよい。
【０１２４】
なお、以上のように本実施形態及び変形例について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また記憶装置、液体容器の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１２５】
ＡＤＤＲ＿ＣＯＵＮＴ…アドレスカウンター、ＢＳ…バス、ＨＣＫ…クロック端子、
ＨＤＡ…データ端子、ＨＲＳＴ…リセット端子、
Ｉ／Ｏ＿ＣＮＴＬ…Ｉ／Ｏコントローラー、ＩＤ＿ＣＯＭＰ…ＩＤコンパレーター、
ＯＰＣＤＥＣ…オペレーションコードデコーダー、ＳＣＫ…クロック信号線、
ＳＤＡ…データ信号線、ＴＣＫ…クロック端子、ＴＤＡ…データ端子、
ＴＲＳＴ…リセット端子、ＸＲＳＴ…リセット信号線、１００…記憶装置、
１１０…制御部、１２０…メモリーセルアレイ部、１３０…メモリー制御部、
１４０…メモリー部、２００…回路基板、３００…液体容器、３４０…インク供給口、
４００…ホスト装置、４１０…通信処理部、４２０…制御部
【図１】
2017146686.tif 000003
【図２】
2017146686.tif 000004
【図３】
2017146686.tif 000005
【図４】
2017146686.tif 000006
【図５】
2017146686.tif 000007
【図６】
2017146686.tif 000008
【図７】
2017146686.tif 000009
【図８】
2017146686.tif 000010
【図９】
2017146686.tif 000011
【図１０】
2017146686.tif 000012
【図１１】
2017146686.tif 000013
【図１２】
2017146686.tif 000014
【図１３】
2017146686.tif 000015