(57)【特許請求の範囲】
【請求項１】
印刷記録材収容体に備えられる、シーケンシャルアクセス方式の記憶装置であって、
シーケンシャルにアクセスされる不揮発性のメモリアレイであって、前記印刷記録材収容体の使用履歴の情報である使用履歴情報に関するデータを格納するための所定ビット単位の使用履歴情報格納領域を有するメモリアレイと、前記使用履歴情報に関するデータは、前記印刷記録材収容体の使用に伴い発生するイベント順に、上位ビットから各イベントに対応する使用履歴のデータを含むことと、
データを入出力するための入出力部と、
前記入出力部を介して入力された、前記使用履歴情報格納領域に対して使用履歴情報として前記所定ビット単位で書き込まれるべきデータの値が、前記使用履歴情報格納領域に格納されている前記所定ビット単位の前記使用履歴情報のデータの値よりも大きな値であるか否かを判定する判定部と、
前記メモリアレイに対して前記所定ビット単位にて書き込みを実行するための書込手段と、
前記使用履歴情報格納領域に対して使用履歴情報として前記所定ビット単位で書き込まれるべきデータの値が前記使用履歴情報格納領域に格納されている前記所定ビット単位の前記使用履歴情報のデータ値よりも大きな値である場合には、前記書込手段によって、前記メモリアレイにおける前記使用履歴情報格納領域に対する前記使用履歴情報格納領域に対して使用履歴情報として前記所定ビット単位で書き込まれるべきデータの書き込みを実行させる制御手段と
を備える記憶装置。
【請求項２】
印刷記録材収容体に備えられる、シーケンシャルアクセス方式の記憶装置であって、
シーケンシャルにアクセスされる不揮発性のメモリアレイであって、前記印刷記録材収容体の使用履歴の情報である使用履歴情報に関するデータを格納するための所定ビット単位の使用履歴情報格納領域を有するメモリアレイと、前記使用履歴情報に関するデータは、前記印刷記録材収容体の使用に伴い発生するイベント順に、下位ビットから各イベントに対応する使用履歴のデータを含むことと、
データを入出力するための入出力部と、
前記入出力部を介して入力された、前記使用履歴情報格納領域に対して使用履歴情報として前記所定ビット単位で書き込まれるべきデータの値が、前記使用履歴情報格納領域に格納されている前記所定ビット単位の前記使用履歴情報のデータの値よりも小さな値であるか否かを判定する判定部と、
前記メモリアレイに対して前記所定ビット単位にて書き込みを実行するための書込手段と、
前記使用履歴情報格納領域に対して使用履歴情報として前記所定ビット単位で書き込まれるべきデータの値が前記使用履歴情報格納領域に格納されている前記所定ビット単位の前記使用履歴情報のデータ値よりも小さな値である場合には、前記書込手段によって、前記メモリアレイにおける前記使用履歴情報格納領域に対する前記使用履歴情報格納領域に対して使用履歴情報として前記所定ビット単位で書き込まれるべきデータの書き込みを実行させる制御手段と
を備える記憶装置。
【請求項３】
請求項１または請求項２に記載の記憶装置において、
前記メモリアレイは、前記アドレスによって特定されると共にビットデータを格納するための記憶セルを複数有し、前記使用履歴情報格納領域は、前記複数の記憶セルのうち前記使用履歴情報のビット数に応じた数の記憶セルによって構成される記憶装置。
【請求項４】
請求項３に記載の記憶装置において、
前記使用履歴情報格納領域はさらに、前記メモリアレイにおける先頭の記憶セルから連続する、前記使用履歴情報のビット数に応じた数の記憶セルによって形成される、記憶装置。
【請求項５】
請求項１から請求項３のいずれかに記載の記憶装置において、
前記メモリアレイは、前記使用履歴情報格納領域を上位アドレスに有する、記憶装置。
【請求項６】
請求項５に記載の記憶装置において、
前記メモリアレイは、前記使用履歴情報格納領域を最上位アドレスを含む上位アドレスに有する、記憶装置。
【請求項７】
印刷記録材を収容する印刷記録材収容体であって、
請求項１および請求項３から請求項６のいずれかに記載の記憶装置と、
前記印刷記録材を収容する印刷記録材収容部とを備える印刷記録材収容体。
【請求項８】
請求項７に記載の印刷記録材収容体において、
前記記憶装置における、前記使用履歴情報格納領域には、少なくとも、その先頭アドレスから連続する３アドレスに、前記記憶装置の検査履歴、前記印刷記録材収容体の使用履歴、前記印刷記録材が所定量未満であることを示すインクエンド情報が格納される印刷記録材収容体。
【請求項９】
印刷記録材を収容する印刷記録材収容体であって、
請求項２から請求項６のいずれかに記載の記憶装置と、
前記印刷記録材を収容する印刷記録材収容部とを備える印刷記録材収容体。
【請求項１０】
請求項９記載の印刷記録材収容体において、
前記記憶装置における、前記使用履歴情報格納領域には、少なくとも、その末尾アドレスまで連続する３アドレスに、前記記憶装置の検査履歴、前記印刷記録材収容体の使用履歴、前記印刷記録材が所定量未満であることを示すインクエンド情報が格納される印刷記録材収容体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンシャルにアクセスされる半導体記憶装置およびシーケンシャルにアクセスされる半導体記憶装置を備える印刷記録材収容体に関する。
【背景技術】
【０００２】
メモリアレイのデータセルに対してシーケンシャルなアクセスのみを許容する半導体記憶装置、例えば、ＥＥＰＲＯＭが知られている。このような半導体記憶装置は、比較的廉価であることから、例えば、消費材を収容する収容体に関する情報を保持させるための記憶装置として用いられている。消費材を収容する収容体に関する情報としては、例えば、使用履歴に関するデータが知られている。ここで、消費材を収容する収容体の使用履歴データは、消費材収容体の使用に伴い更新される性質を有する一方で、有用な履歴情報として用いられるためには、誤った書き込みによる使用履歴データの改変を防止することが要求される。
【０００３】
【特許文献１】特開平５−２８２８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、半導体記憶装置に対して入力されるデータが転送中にデータ化けを起こすこともあり、かかる場合には、半導体記憶装置において正常にデータの書き換えが行われたとしても、半導体記憶装置には誤ったデータが記録されることになる。また、シーケンシャルアクセス方式のメモリでは、下位アドレスにアクセスする際にも上位アドレスに格納されている各データ対するアクセスが実行されるため、外乱等によってリード・ライトコマンドが反転してしまった場合には、書き換えを予定していないアドレスのデータが書き換えられてしまうおそれがある。さらに、使用履歴データは更新または書き加えられる特性を有するため、更新または書き換えを妨げることは許されない。
【０００５】
本発明は、上記課題を解決するためになされたものであり、半導体記憶装置において、使用履歴に関するデータの更新または書き換えを許容する一方で、使用履歴に関するデータの信頼性を向上することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明の第１の態様は、シーケンシャルアクセス方式の記憶装置を提供する。本発明の第１の態様に係る記憶装置は、シーケンシャルにアクセスされる不揮発性のメモリアレイであって、使用履歴情報に関するデータを格納するための所定ビット単位の使用履歴情報格納領域を有するメモリアレイと、データを入出力するための入出力部と、前記入出力部を介して入力された、前記使用履歴情報格納領域に対する前記所定ビット単位の書き込みデータの値が、前記使用履歴情報格納領域に格納されている前記所定ビット単位の前記使用履歴情報のデータの値よりも大きな値であるか否かを判定する判定部と、前記メモリアレイに対して前記所定ビット単位にて書き込みを実行するための書込手段と、前記書き込みデータの値が前記使用履歴情報格納領域に格納されている前記使用履歴情報のデータ値よりも大きな値である場合には、前記書込手段によって、前記メモリアレイにおける前記使用履歴情報格納領域に対する前記書き込みデータの書き込みを実行させる制御手段とを備える。
【０００７】
本発明の第１の態様に係る記憶装置によれば、書き込みデータの値が使用履歴情報格納領域に格納されている使用履歴情報のデータ値よりも大きな値である場合には、書込手段によって、メモリアレイにおける使用履歴情報格納領域に対する書き込みデータの書き込みを実行させるので、半導体記憶装置において、使用履歴に関するデータの更新または書き換えを許容する一方で、使用履歴に関するデータの信頼性を向上することができる。この結果、所望しない使用履歴に関するデータの書き換えを抑制することができる。
【０００８】
本発明の第１の態様に係る記憶装置において、前記使用履歴情報格納領域には、使用時期の早い履歴順に上位ビットから使用履歴情報が格納されていても良い。かかる場合には、使用時期の早い履歴順に上位ビットから使用履歴情報を順次書き込むことができる。
【０００９】
本発明の第２の態様は、シーケンシャルアクセス方式の記憶装置を提供する。本発明の第２の態様に係る記憶装置は、シーケンシャルにアクセスされる不揮発性のメモリアレイであって、使用履歴情報に関するデータを格納するための所定ビット単位の使用履歴情報格納領域を有するメモリアレイと、データを入出力するための入出力部と、前記入出力部を介して入力された、前記使用履歴情報格納領域に対する前記所定ビット単位の書き込みデータの値が、前記使用履歴情報格納領域に格納されている前記所定ビット単位の前記使用履歴情報のデータの値よりも小さな値であるか否かを判定する判定部と、前記メモリアレイに対して前記所定ビット単位にて書き込みを実行するための書込手段と、前記書き込みデータの値が前記使用履歴情報格納領域に格納されている前記使用履歴情報のデータ値よりも小さな値である場合には、前記書込手段によって、前記メモリアレイにおける前記使用履歴情報格納領域に対する前記書き込みデータの書き込みを実行させる制御手段とを備える。
【００１０】
本発明の第１の態様に係る記憶装置によれば、書き込みデータの値が使用履歴情報格納領域に格納されている使用履歴情報のデータ値よりも小さな値である場合には、書込手段によって、メモリアレイにおける使用履歴情報格納領域に対する書き込みデータの書き込みを実行させるので、半導体記憶装置において、使用履歴に関するデータの更新または書き換えを許容する一方で、使用履歴に関するデータの信頼性を向上することができる。この結果、所望しない使用履歴に関するデータの書き換えを抑制することができる。
【００１１】
本発明の第２の態様に係る記憶装置において、前記使用履歴情報格納領域には、使用時期の早い履歴順に下位ビットから使用履歴情報が格納されていても良い。かかる場合には、使用時期の早い履歴順に下位ビットから使用履歴情報を順次書き込むことができる。
【００１２】
本発明の第１または第２の態様に係る記憶装置において、前記メモリアレイは、前記アドレスによって特定されると共にビットデータを格納するための記憶セルを複数有し、前記使用履歴情報格納領域は、前記複数の記憶セルのうち前記使用履歴情報のビット数に応じた数の記憶セルによって構成されていても良い。かかる場合には、各記憶セルに対して使用履歴情報を割り当てることができる。
【００１３】
本発明の第１または第２の態様に係る記憶装置において、前記使用履歴情報格納領域はさらに、前記メモリアレイにおける先頭の記憶セルから連続する、前記使用履歴情報のビット数に応じた数の記憶セルによって形成されても良い。かかる場合には、他の格納情報よりも早く、使用履歴情報の書き換え、読み出しを実行することができる。
【００１４】
本発明の第１または第２の態様に係る記憶装置において、前記メモリアレイは、前記使用履歴情報格納領域を上位アドレスに有しても良い。かかる場合には、使用履歴情報の書き換え、読み出しを早期に実行することができる。
【００１５】
本発明の第１または第２の態様に係る記憶装置において、前記メモリアレイは、前記使用履歴情報格納領域を最上位アドレスを含む上位アドレスに有しても良い。かかる場合には、他の格納情報よりも早く、使用履歴情報の書き換え、読み出しを実行することができる。
【００１６】
本発明の第３の態様は、印刷記録材を収容する印刷記録材収容体を提供する。本発明の第３の態様に係る印刷記録材収容体は、本発明の第１の態様に係る記憶装置と、前記印刷記録材を収容する印刷記録材収容部とを備える。
【００１７】
本発明の第３の態様に係る印刷記録材収容体によれば、印刷記録材収容体の使用履歴に関する情報の更新または書き換えを許容する一方で、使用履歴に関する情報の信頼性を向上することができる。
【００１８】
本発明の第３の態様に係る印刷記録材収容体において、前記記憶装置における、前記使用履歴情報格納領域には、少なくとも、その先頭アドレスから連続する３アドレスに、前記記憶装置の検査履歴、前記印刷記録材収容体の使用履歴、前記印刷記録材が所定量未満であることを示すインクエンド情報が格納されても良い。かかる場合には、これら３種の情報について優先して書き込みを行うことができる。
【００１９】
本発明の第４の態様は、印刷記録材を収容する印刷記録材収容体を提供する。本発明の第４の態様に係る印刷記録材収容体は、本発明の第２の態様に係る記憶装置と、前記印刷記録材を収容する印刷記録材収容部とを備える。
【００２０】
本発明の第４の態様に係る印刷記録材収容体によれば、印刷記録材収容体の使用履歴に関する情報の更新または書き換えを許容する一方で、使用履歴に関する情報の信頼性を向上することができる。
【００２１】
本発明の第４の態様に係る印刷記録材収容体において、前記記憶装置における、前記使用履歴情報格納領域には、少なくとも、その末尾アドレスまで連続する３アドレスに、前記記憶装置の検査履歴、前記印刷記録材収容体の使用履歴、前記印刷記録材が所定量未満であることを示すインクエンド情報が格納されても良い。かかる場合には、これら３種の情報について優先して書き込みを行うことができる。
【００２２】
本発明の第５の態様は、印刷記録材収容体に関する使用履歴情報として少なくとも記憶装置の検査履歴、印刷記録材収容体の使用履歴、クリーニング履歴、インクエンド履歴が格納されており、使用履歴情報として既存のデータの値よりも大きな値のデータのみを記録する記憶装置を備える印刷記録材収容体が着脱可能に装着される印刷装置を提供する。本発明の第５の態様に係る印刷装置は、使用履歴情報に関連するイベントの発生を検出するイベント検出手段と、検出したイベントに対応する使用履歴情報であって、予め定められたイベント発生順序に従って値が増加する使用履歴情報を取得する使用履歴情報取得手段と、前記取得した使用履歴データを、前記印刷記録材収容体に対して送信する送信手段とを備える。
【００２３】
本発明の第５の態様に係る印刷装置によれば、検出したイベントに対応する使用履歴情報であって、予め定められたイベント発生順序に従って値が増加する使用履歴情報を印刷記録材収容体が備える記憶装置に記録することができる。したがって、印刷記録材収容体の使用履歴に関する情報の更新または書き換えを許容する一方で、使用履歴に関する情報の信頼性を向上することができる。
【００２４】
本発明の第６の態様は、印刷記録材収容体に関する使用履歴情報として少なくとも記憶装置の検査履歴、印刷記録材収容体の使用履歴、クリーニング履歴、インクエンド履歴が格納されており、使用履歴情報として既存のデータの値よりも小さな値のデータのみを記録する記憶装置を備える印刷記録材収容体が着脱可能に装着される印刷装置を提供する。本発明の第６の態様に係る印刷装置は、使用履歴情報に関連するイベントの発生を検出するイベント検出手段と、検出したイベントに対応する使用履歴情報であって、予め定められたイベント発生順序に従って値が減少する使用履歴データを取得する使用履歴情報取得手段と、前記取得した使用履歴情報を、前記印刷記録材収容体に対して送信する送信手段とを備える。
【００２５】
本発明の第５の態様に係る印刷装置によれば、検出したイベントに対応する使用履歴情報であって、予め定められたイベント発生順序に従って値が減少する使用履歴情報を印刷記録材収容体が備える記憶装置に記録することができる。したがって、印刷記録材収容体の使用履歴に関する情報の更新または書き換えを許容する一方で、使用履歴に関する情報の信頼性を向上することができる。
【００２６】
本発明の第５または第６の態様に係る印刷装置において、前記使用履歴情報取得手段は、前記使用履歴情報を前記記憶装置から取得し、
前記印刷装置はさらに、印刷要求を受け取る印刷要求受け取り手段と、前記記憶装置の検査履歴が検査済みであることを示さない場合には、前記受け取った印刷処理を実行しない印刷実行部とを備えても良い。かかる場合には、検査済みでない記憶装置を備える印刷記録材収容体を用いることによる印刷処理の不都合を抑制することができる。
【００２７】
本発明の第５または第６の態様に係る印刷装置において、前記記憶装置の検査履歴が検査済みであることを示す場合であって、印刷記録材収容体の使用履歴が使用済みであることを示さない場合には、前記送信手段は、前記記憶装置に対して使用済みの履歴情報の書き込みを要求を送信しても良い。かかる場合には、印刷記録材収容体の使用履歴を印刷記録材収容体が備える記憶装置に書き込むことができる。
【００２８】
本発明の第５および第６の態様に係る印刷装置は、この他にも、記憶装置に対する使用履歴情報の書き込み制御方法、プログラム、およびプログラムを記録したコンピュータが読み取り可能な記録媒体としても実現され得る。
【発明を実施するための最良の形態】
【００２９】
以下、本発明に係る記憶装置、記憶装置に対するデータの書き込み制御方法および印刷装置について図面を参照しつつ、実施例に基づいて説明する。
【００３０】
・半導体記憶装置の構成
図１および図２を参照して本実施例に係る半導体記憶装置の構成について説明する。図１は本実施例に係る半導体記憶装置の機能的な内部構成を示すブロック図である。図２は本実施例に係る半導体記憶装置が備えるメモリアレイの内部構成マップを模式的に示す説明図である。
【００３１】
本実施例に係る半導体記憶装置１０は、外部からアクセス先のアドレスを指定するアドレスデータを入力する必要のないシーケンシャルアクセス方式の記憶装置である。半導体記憶装置１０は、メモリアレイ１００、アドレスカウンタ１１０、ＩＮ／ＯＵＴコントローラ１２０、ＩＤコンパレータ１３０、ライト／リードコントローラ１４０、インクリメントコントローラ１５０、チャージポンプ回路１６０、８ビットラッチレジスタ１７０を備えている。これら各回路は、バス式の信号線によって接続されている。
【００３２】
半導体記憶装置１０は、外部制御装置からリセット信号を入力するためのリセット信号端子ＲＳＴＴ、外部制御装置から外部クロック信号を入力するためのクロック信号端子ＳＣＫＴ、基準電位端子（負極電源端子）ＶＳＳＴ、外部制御装置から半導体記憶装置１０を駆動するための駆動電圧を入力するための電源端子（正極電源端子）ＶＤＤ、外部制御装置との間でデータ信号の入出力を実行するために用いられるデータ信号端子ＳＤＡＴを備えている。
【００３３】
メモリアレイ１００は、ＥＥＰＲＯＭアレイ１０１とマスクＲＯＭアレイ１０２とを備えている。ＥＥＰＲＯＭアレイ１０１は、データの電気的な消去、書き込みが可能なＥＥＰＲＯＭの特性を有する記憶領域であり、本実施例に用いられるＥＥＰＲＯＭアレイ１０１は、データの書き込みに際して、既存データを消去することなく直ちにデータを書き込むことができる。マスクＲＯＭアレイ１０２は、製造工程時にデータが書き込まれる消去、書き換え不能なマスクＲＯＭの特性を有する記憶領域である。
【００３４】
メモリアレイ１００のＥＥＰＲＯＭアレイ１０１およびマスクＲＯＭアレイ１０２には、図２に模式的に示す１ビットの情報を格納するデータセル（メモリセル）が複数備えられている。本実施例では、図２に示すようにメモリアレイ１００は、１行に８アドレス（データ８ビット分のアドレス）を所定のビット単位として備えており、例えば、ＥＥＰＲＯＭアレイ１０１には、１行に８個のデータセル（８ビット）、１列に１６個のデータセル（１６ワード）が配置されており、１６ワード×８ビット（１２８ビット）のデータを格納することができる。マスクＲＯＭアレイ１０２には、１行に８個のデータセル（８ビット）、１列に８個のデータセル（８ワード）が配置されており、８ワード×８ビット（６４ビット）のデータを格納することができる。
【００３５】
図２を参照してメモリアレイ１００のアドレスマップについて説明する。本実施例におけるメモリアレイ１００は、既述の通りＥＥＰＲＯＭアレイ１０１とマスクＲＯＭアレイ１０２とを備えている。ＥＥＰＲＯＭアレイ１０１の先頭３アドレス（１行目のＡ０〜Ａ２列、３ビット）には、各半導体記憶装置を識別するための識別情報（ＩＤ情報）が格納されている。先頭３アドレスを含む第１行目に対する書き込みは禁止されており、例えば、工場出荷後には書き換えることはできない。
【００３６】
図２の例では、ＥＥＰＲＯＭアレイ１０１の第９アドレス（０８Ｈ）〜第１６アドレス（０ＦＨ）には、インク量に関する８ビットのデータ、例えば、インク残量データまたはインク消費量データが格納されている。また、ＥＥＰＲＯＭアレイ１０１の第１７アドレス（１０Ｈ）〜第２４アドレス（１７Ｈ）には、一定条件の下、書き換え可能な８ビットの使用履歴情報が格納されている。なお、本実施例においては、この第１７アドレス〜第２４アドレスにより構成される行を書き込み制限行、あるいは、この第１７アドレス〜第２４アドレスの８アドレスを、所定ビット単位の使用履歴情報格納領域ＵＨＩと呼ぶ。
【００３７】
使用履歴情報格納領域ＵＨＩには、半導体記憶装置１０の用途に応じた半導体記憶装置１０の使用履歴に関する情報、あるいは、半導体記憶装置１０が備えられる対象物の使用履歴に関する情報が格納される。本実施例では、半導体記憶装置１０を印刷記録材収容体に備える応用例について後ほど詳述する。
【００３８】
ここで、一定条件とは、例えば、所定ビット単位の使用履歴情報格納領域ＵＨＩに対して既存データの値よりも大きな値の書き込みデータの書き込みが許容される場合には、書き込まれるデータの値が既存のデータの値よりも大きな場合（増加データ）、あるいは、所定ビット単位の使用履歴情報格納領域ＵＨＩに対して既存データの値よりも小さな値の書き込みデータの書き込みが許容される場合には、書き込まれるデータの値が既存のデータの値よりも小さな場合（減少データ）である。
【００３９】
図３および図４を参照して、メモリアレイ１００に対して書き込みが許容される場合と書き込みが許容されない場合について例示的に説明する。図３は本実施例において使用履歴情報格納領域ＵＨＩに対して書き込まれる書き込みデータ列を模式的に示す説明図である。図４は本実施例において使用履歴情報格納領域ＵＨＩに対して書き込み可能なデータ列と書き込み不可能なデータ列の例を示す説明図である。図４ではメモリアレイ１００のアドレスが横軸に取られており、左端が最上位ビット（ＭＳＢ）であり右端が最下位ビット（ＬＳＢ）となる。既述の通り、アドレス１０Ｈ〜１７Ｈまでは使用履歴情報格納領域ＵＨＩに相当する。
【００４０】
本実施例においてメモリアレイ１００に対して書き込まれるデータ列は、識別情報（ＩＤ０〜２）、リードライトコマンドＷ／Ｒおよびオペレションコードを含むデータ列と、インク量に関する情報を含むデータ列と、使用履歴データを含むデータ列とを有している。使用履歴データには、例えば、半導体記憶装置１０が試験済みであるか否かを示す試験結果データが含まれている。
【００４１】
・第１の例Ａでは、使用履歴情報格納領域ＵＨＩに対応する書き込みデータＤＩ（８０ｈ）は、既存データＤＥ（４０ｈ）よりも大きいので書き込みが許容される。
・第２の例Ｂでは、使用履歴情報格納領域ＵＨＩに対応する書き込みデータＤＩ（２０ｈ）は、既存データＤＥ（４０ｈ）よりも小さいので書き込みが許容されない。
【００４２】
ＥＥＰＲＯＭアレイ１０１の第２５アドレス以降は書き込みが禁止されている読み出し専用領域となり、例えば、工場出荷後には書き換えることはできない。
【００４３】
マスクＲＯＭアレイ１０２は、メモリアレイ製造時に情報（データ）が書き込まれており、メモリアレイ製造後は、工場出荷前であっても書き込みを実行することはできない。
【００４４】
本実施例におけるメモリアレイ１００は、上述のように８ビットを単位とする複数の行を備えているが、各行は独立したデータセル列ではなく、いわば、１本のデータセル列を８ビット単位で折り曲げることによって実現されている。すなわち、便宜的に９ビット目を含む行を２バイト目、１７ビット目を含む行を３バイト目と呼んでいるに過ぎない。この結果、メモリアレイ１００における所望のアドレスにアクセスするためには、先頭から順次アクセスする、いわゆる、シーケンシャルアクセス方式によるアクセスが必要となり、ランダムアクセス方式の場合に可能な所望のアドレスに対する直接的なアクセスは不可能となる。
【００４５】
メモリアレイ１００における各データセルには、ワード線とビット（データ）線が接続されており、対応するワード線（行）を選択（選択電圧を印加）して、対応するビット線に書き込み電圧を印加することによってデータセルにデータが書き込まれる。また、対応するワード線（行）を選択し、対応するビット線をＩＮ／ＯＵＴコントローラ１２０と接続し、電流の検出の有無によってデータセルのデータ（１または０）が読み出される。なお、本実施例における所定ビット単位とは、１本のワード線に書き込み電圧を加えることにより書き込みが可能なビット数（データセル数、アドレス数）であるということができる。
【００４６】
カラム選択回路１０３は、アドレスカウンタ１１０によりカウントされた外部クロックパルス数に応じて順次、列（ビット線）をＩＮ／ＯＵＴコントローラ１２０と接続する。ロー選択回路１０４は、アドレスカウンタ１１０によりカウントされた外部クロックパルス数に応じて順次、行（ワード線）に選択電圧を印加する。すなわち、本実施例に係る半導体記憶装置１０では、アドレスデータを用いたメモリアレイ１００に対するアクセスは実行されず、専らアドレスカウンタ１１０によってカウントされたクロックパルス数にしたがって、所望のアドレスに対するアクセスが実行される。
【００４７】
アドレスカウンタ１１０は、リセット信号端子ＲＳＴＴ、クロック信号端子ＳＣＫＴ、カラム選択回路１０３、ロー選択回路１０４と接続されている。アドレスカウンタ１１０は、リセット信号端子ＲＳＴＴを介して入力されるリセット信号を０（またはロー）にすることにより初期値にリセットされ、リセット信号が１とされた後に外部クロック信号端子ＳＣＫＴを介して入力されるクロックパルスの立ち下がりに同期してクロックパルス数をカウント（カウント値をインクリメント）する。本実施例に用いられるアドレスカウンタ１１０は、メモリアレイ１００の１行のデータセル数（ビット数）に対応する８個のクロックパルス数を格納する８ビットのアドレスカウンタである。なお、初期値はメモリアレイ１００の先頭位置と関連付けられていればどのような値でも良く、一般的には０が初期値として用いられる。
【００４８】
ＩＮ／ＯＵＴコントローラ１２０は、メモリアレイ１００に対してデータ信号端子ＳＤＡＴに入力された書き込みデータを転送し、あるいは、メモリアレイ１００から読み出されたデータを受信してデータ信号端子ＳＤＡＴに出力するための回路である。ＩＮ／ＯＵＴコントローラ１２０は、データ信号端子ＳＤＡＴ、リセット信号端子ＲＳＴＴ、メモリアレイ１００、ライト／リードコントローラ１４０と接続されており、ライト／ロードコントローラ１４０からの要求に従ってメモリアレイ１００に対するデータ転送方向ならびにデータ信号端子ＳＤＡＴに対する（データ信号端子ＳＤＡＴと接続されている信号線の）データ転送方向を切り換え制御する。ＩＮ／ＯＵＴコントローラ１２０に対するデータ信号端子ＳＤＡＴからの入力信号線には、データ信号端子ＳＤＡＴから入力された書き込みデータを一時的に格納する８ビットラッチレジスタ１７０が接続されている。
【００４９】
８ビットラッチレジスタ１７０には、データ信号端子ＳＤＡＴから入力信号線を介して入力されるデータ列（ＭＳＢ）が８ビットとなるまで保持され、８ビット分揃ったところで、ＥＥＰＲＯＭアレイ１０１に対して保持されている８ビットのデータが書き込まれる。８ビットラッチレジスタ１７０は、いわゆるＦＩＦＯタイプのシフトレジスタであり、入力データの９ビット目が新たにラッチされると、既にラッチされていた１ビット目のデータが放出される。
【００５０】
ＩＮ／ＯＵＴコントローラ１２０は、電源ＯＮ時、リセット時には、メモリアレイ１００に対するデータ転送方向を読み出し方向に設定し、８ビットラッチレジスタ１７０とＩＮ／ＯＵＴコントローラ１２０との間における入力信号線をハイインピーダンスとすることでデータ信号端子ＳＤＡＴに対するデータ入力を禁止する。この状態は、ライト／リードコントローラ１４０から書き込み処理要求が入力されるまで維持される。したがって、リセット信号入力後にデータ信号端子ＳＤＡＴを介して入力されるデータ列の先頭４ビットのデータはメモリアレイ１００に書き込まれることはなく、一方で、メモリアレイ１００の先頭４ビット（内４ビット目はドントケア）に格納されているデータは、ＩＤコンパレータ１３０に送出される。この結果、メモリアレイ１００の先頭４ビットは読み出し専用状態となる。
【００５１】
ＩＤコンパレータ１３０は、クロック信号端子ＳＣＫＴ、データ信号端子ＳＤＡＴ、リセット信号端子ＲＳＴＴと接続されており、データ信号端子ＳＤＡＴを介して入力された入力データ列に含まれる識別データとメモリアレイ１００（ＥＥＰＲＯＭアレイ１０１）に格納されている識別データとが一致するか否かを判定する。詳述すると、ＩＤコンパレータ１００は、リセット信号ＲＳＴが入力された後に入力されるオペレーションコードの先頭３ビットのデータ、すなわち識別データを取得する。ＩＤコンパレータ１３０は、入力データ列に含まれる識別データを格納する３ビットレジスタ（図示しない）、ＩＮ／ＯＵＴコントローラ１２０を介してメモリアレイ１００から取得した最上位３ビットの識別データを格納する３ビットレジスタ（図示しない）を有しており、両レジスタの値が一致するか否かによって識別データが一致するか否かを判定する。ＩＤコンパレータ１３０は、両識別データが一致する場合には、アクセス許可信号ＥＮをライト／リードコントローラ１４０に送出する。ＩＤコンパレータ１３０は、リセット信号ＲＳＴが入力（ＲＳＴ＝０またはＬｏｗ）されるとレジスタの値をクリアする。
【００５２】
ライト／リードコントローラ１４０は、ＩＮ／ＯＵＴコントローラ１２０、ＩＤコンパレータ１３０、インクリメントコントローラ１５０、チャージポンプ回路１６０、クロック信号端子ＳＣＫＴ、データ信号端子ＳＤＡＴ、リセット信号端子ＲＳＴＴと接続されている。ライト／ロードコントローラ１４０は、リセット信号ＲＳＴが入力された後の４つめのクロック信号に同期してデータ信号端子ＳＤＡＴを介して入力される書き込み／読み出し制御情報（３ビットのＩＤ情報に続く４ビット目の情報）を確認し、半導体記憶装置１０の内部動作を書き込みまたは読み出しのいずれかに切り換える回路である。具体的には、ライト／リードコントローラ１４０は、ＩＤコンパレータ１３０からのアクセス許可信号ＡＥＮおよびインクリメントコントローラＷＥＮ１からの書き込み許可信号ＷＥＮ１が入力されると、取得した書き込み／読み出しコマンドを解析する。ライト／リードコントローラ１４０は、書き込みコマンドであれば、ＩＮ／ＯＵＴコントローラ１２０に対して、バス信号線のデータ転送方向を書き込み方向に切り換え、書き込みを許可する書き込み許可信号ＷＥＮ２を送信し、チャージポンプ回路１６０に対して書き込み電圧の生成を要求する。
【００５３】
本実施例では、使用履歴情報格納領域ＵＨＩに書き込まれる書き込みデータＤＩが、値が増加（インクリメント）する特性を有するデータである場合には、書き込みデータＤＩが使用履歴情報格納領域ＵＨＩに既に格納されている既存データＤＥよりも大きな値であるか否かを判断し、書き込みデータＤＩが、値が減少（デクリメント）する特性を有するデータである場合には、書き込みデータＤＩが使用履歴情報格納領域ＵＨＩに既に格納されている既存データＤＥよりも小さな値であるか否かを判断することで、書き込みデータＤＩのデータ化け、誤ったデータの入力を低減又は防止する。この機能は、前者の場合にはインクリメントコントローラ、後者の場合にはデクリメントコントローラによって提供される。本実施例では以下の説明において、前者を例にとって説明する。  
【００５４】
インクリメントコントローラ１５０は、リセット信号端子ＲＳＴＴ、ライト／リードコントローラ１４０、チャージポンプ回路１６０と信号線を介して接続されている。インクリメントコントローラ１５０は、内部に４ビットカウンタ１５１および８ビット内部レジスタ１５２、１５３を有している。インクリメントコントローラ１５０は、使用履歴情報格納領域ＵＨＩに書き込まれる書き込みデータＤＩが、既に使用履歴情報格納領域ＵＨＩに格納されている既存データＤＥよりも大きな値であるか否かを判断し、さらにＥＥＰＲＯＭアレイ１０１に書き込まれたデータが正しく書き込まれたか否かの判断（ベリファイ、検証）を実行する。
【００５５】
インクリメントコントローラ１５０は、書き込みデータＤＩを８ビットラッチレジスタ１７０にラッチするタイミングで、ＥＥＰＲＯＭアレイ１０１の使用履歴情報格納領域ＵＨＩから既存データＤＥを読み出し、内部に備える８ビット内部レジスタ１５２に格納する。インクリメントコントローラ１５０は、読み出される既存データＥＤと８ビットラッチレジスタ１７０に入力される書き込みデータＤＩとを１ビット単位で比較して、書き込みデータＤＩが既存データＤＥよりも大きな値のデータであるか否かを判定する。なお、入力される書き込みデータは、複数種類の使用履歴データの書き込みを許容するために、書き込まれる順序（優先度）に従ってＭＳＢから格納されることが望ましい。
【００５６】
インクリメントコントローラ１５０は、書き込みデータＤＩが既存データＤＥよりも大きな値のデータである場合には、ライト／リードコントローラ１４０に対して書き込み許可信号ＷＥＮ１を出力する。なお、使用履歴情報格納領域ＵＨＩが複数行に亘る場合には、全ての使用履歴情報格納領域ＵＨＩにおいて書き込みデータＤＩが既存データＤＥよりも大きな値のデータである場合にのみ、インクリメントコントローラ１５０は、書き込み許可信号ＷＥＮ１を出力する。
【００５７】
インクリメントコントローラ１５０は、書き込みデータを書き込んだ後、正しくデータが書き込まれたか否かを検証し、書き込みデータが正しく書き込まれていない場合には、内部に備える８ビット内部レジスタ１５２に格納されている既存データＤＥをメモリアレイ１００に対して書き戻す。書き込みデータの検証に際して、インクリメントコントローラ１５０に備えられている４ビットカウンタ１５１は、書き込みスタンバイ状態から外部クロック信号に対して８ビット遅れで、チャージポンプ回路１６０に備えられている内部発振器１６２から内部クロック信号を受けてカウントアップを開始する。４ビットカウンタ１５１によってカウントアップされたカウント値は、カラム選択回路１０３、ロー選択回路１０４に入力され、書き込まれたばかりの既存データＤＥが読み出される。
【００５８】
チャージポンプ回路１６０は、既述の通り、ライト／リードコントローラ１４０からの要求信号に基づいて、ＥＥＰＲＯＭアレイに対してデータを書き込む際に必要な書き込み電圧をカラム選択回路１０３を介して選択されたビット線に供給するための回路である。チャージポンプ回路１６０は、電圧昇圧時に必要な動作周波数を生成する内部発振器１６２を備え、正極電源端子ＶＤＤＴを介して得られる電圧を昇圧することで、必要な書き込み電圧を生成する。
【００５９】
・読み出し処理
図５を参照して本実施例に係る半導体記憶装置１０における読み出し動作について説明する。図５は読み出し動作実行時におけるリセット信号ＲＳＴ、外部クロック信号ＳＣＫ、データ信号ＳＤＡ、アドレスカウンタ値の時間的関係を示すタイミングチャートである。
【００６０】
読み出し動作に先立って、オペレーションコードに基づく、識別情報の確認、読み出し／書き込みコマンドの確認処理について説明する。リセット状態（ＲＳＴ＝０またはＬｏｗ）が解除される（ＲＳＴ＝１またはＨｉ）と、図示しないホスト計算機から、４ビットのオペレーションコードを含むデータ信号ＳＤＡが外部クロック信号に同期してデータ信号端子ＳＤＡＴに入力される。オペレーションコードは、図５に示すように、先頭３ビットに識別情報ＩＤ０、ＩＤ１、ＩＤ２を含み、先頭から４ビット目には、書き込みまたは読み出しを決定するためのコマンドビット（Ｗ／Ｒ）を含んでいる。識別情報の比較は以下の通り実行される。
【００６１】
ＩＤコンパレータ１３０は、リセット信号ＲＳＴがローからハイに切り替えられた後の３つのクロック信号ＳＣＫの立ち上がりエッジに同期してデータ信号端子ＳＤＡＴに入力されたデータ、すなわち、３ビットの識別情報を取得して第１の３ビットレジスタに格納する。これと同時にＩＤコンパレータ１３０は、アドレスカウンタ１１０のカウンタ値００、０１、０２によって指定されるメモリアレイ１００のアドレスからデータを取得し、すなわち、メモリアレイ１００に格納されている識別情報を取得して、第２の３ビットレジスタに格納する。
【００６２】
ＩＤコンパレータ１３０は、第１、第２レジスタに格納された識別情報が一致するか否かを判定し、識別情報が一致しない場合には、ＩＮ／ＯＵＴコントローラ１２０によって、８ビットラッチレジスタ１７０とＩＮ／ＯＵＴコントローラ１２０との間における入力信号線に対するハイインピーダンスの状態が保持される。一方、ＩＤコンパレータ１３０は、第１、第２レジスタに格納された識別情報が一致する場合には、ライト／リードコントローラ１４０に対してアクセス許可信号ＡＥＮを出力する。アクセス許可信号ＡＥＮを受信したライト／リードコントローラ１４０は、リセット信号ＲＳＴのローからハイへの切り替わり後の４つ目のクロック信号ＳＣＫの立ち上がりエッジに同期してバス信号線に送出されたコマンドビットを取得して書き込み命令であるか否かを判定する。ライト／リードコントローラ１４０は、取得したコマンドビットが書き込みコマンドでない場合には、ＩＮ／ＯＵＴコントローラ１２０に対して読み出し命令を出力する。
【００６３】
読み出し命令を受信したＩＮ／ＯＵＴコントローラ１２０は、メモリアレイ１００に対するデータ転送方向を読み出し方向に変更し、データ転送を許容する。アドレスカウンタ１１０は、クロック信号ＳＣＫの立ち下がりに同期してカウントアップするため、オペレーションコード入力後のアドレスカウンタ１１０のカウンタ値は０４であり、メモリアレイ１００の０４Ｈに格納されている既存データＤＥから読み出される。メモリアレイに格納されている既存データＤＥは、クロック信号ＳＣＫの立ち下がりに同期してＩＮ／ＯＵＴコントローラ１２０を介して、データ信号端子ＳＤＡＴに順次出力され、出力された既存データＤＥはクロック信号ＳＣＫの次の立ち下がりまでの期間は保持される。クロック信号ＳＣＫが立ち下がると、アドレスカウンタ１１０におけるカウント値は１つインクリメントされ、この結果、メモリアレイ１００における次のアドレス（データセル）に格納されている既存データＤＥがデータ信号端子ＳＤＡＴに出力される。この動作の繰り返しが、所望のアドレスに到達するまで、クロック信号ＳＣＫに同期して実行される。すなわち、本実施例における半導体記憶装置１０はシーケンシャルアクセスタイプの記憶装置であるから、ホスト計算機は、読み出し、または書き込みを所望するアドレスに対応する数のクロック信号パルスを発行し、アドレスカウンタ１１０のカウンタ値を所定のアドレスに対応するカウント値までインクリメントしなければならない。この結果、既存データＤＥは、クロック信号ＳＣＫに同期して順次インクリメントされるアドレスカウンタ１１０のカウンタ値によって指定されるアドレスからシーケンシャルに読み出しされる。
【００６４】
本実施例に係る半導体記憶装置１０のメモリアレイ１００は、００Ｈ〜ＢＦＨまでのアドレスしか有していないが、アドレスカウンタ１１０はアドレスＦＦＨまでカウントアップを実行する。アドレスＣ０Ｈ〜ＦＦＨまでは、疑似領域であり、対応するアドレスはメモリアレイ１００には存在せず、かかる疑似領域にアクセスしている期間は、データ信号端子ＳＤＡＴに対して値「０」が出力される。アドレスカウンタ１１０によってアドレスＦＦＨまでカウントアップされると、アドレスはアドレス００Ｈに戻る。読み出し動作終了後には、ホスト計算機から０またはＬＯＷのリセット信号ＲＳＴが入力され、半導体記憶装置１０は、オペレーションコードの受け付け待機状態とされる。
【００６５】
リセット信号ＲＳＴ（＝０またはＬＯＷ）が入力されると、アドレスカウンタ１１０、ＩＮ／ＯＵＴコントローラ１２０、ＩＤコンパレータ１３０、ライト／リードコントローラ１４０およびインクリメントコントローラ１５０は初期化される。
【００６６】
・書き込み処理
図６を参照して本実施例に係る半導体記憶装置１０における書き込み動作について説明する。図６は書き込み動作実行時におけるリセット信号ＲＳＴ、外部クロック信号ＳＣＫ、データ信号ＳＤＡ、アドレスカウンタ値の時間的関係を示すタイミングチャートである。本実施例に係る半導体記憶装置１０では、書き込みは行単位（８ビット単位）、すなわち所定ビット単位（８アドレス単位）で実行される。
【００６７】
既述のＩＤコンパレータ１３０により識別情報の一致が確認された後、ライト／リードコントローラ１４０は、取得したコマンドビットが書き込みコマンドであると共に、インクリメントコントローラ１５０から書き込み許可信号ＷＥＮ１を受信した場合には、ＩＮ／ＯＵＴコントローラ１２０に対して書き込み許可信号ＷＥＮ２を出力する。
【００６８】
図６に示す通り、オペレーションコードが入力された後、クロック信号端子ＳＣＫＴにはダミーライトクロックとして４クロック信号が入力され、書き込みスタンバイ状態とされる。アドレスカウンタ１１０は、クロック信号ＳＣＫの立ち下がりに同期してカウントアップするため、書き込みスタンバイ状態後の、アドレスカウンタ１１０のカウンタ値は０８となり、メモリアレイ１００のアドレス０８Ｈからデータが書き込まれることとなる。
【００６９】
本実施例では、１行８ビットのメモリアレイ１００に対して、８ビット長の書き込みデータ（使用履歴データ）が書き込まれる。書き込み処理に際しては、書き込みデータＤＩの最上位ビット（ＭＳＢ）から８ビットのデータが、クロック信号ＳＣＫの立ち上がりに同期して、８ビットラッチレジスタ１７０に順次ラッチされる。また、ＩＮ／ＯＵＴコントローラ１２０に対して書き込み許可信号ＷＥＮ２が出力されるまでは、クロック信号ＳＣＫの立ち下がりに同期して、メモリアレイ１００の第８アドレス以後の既存データが順次、データ出力信号線（データ信号端子ＳＤＡ）上に出力される。データ出力信号線上に出力された既存データＤＥは、インクリメントコントローラ１５０に入力され、８ビットラッチレジスタ１７０にラッチされた書き込みデータＤＩと共に、後述するように、インクリメントコントローラ１５０における書き込みデータＤＩが既存データＤＥよりも大きな値であるか否かを判定するために用いられる。この判断処理は、書き込みスタンバイ状態後の８サイクル目のクロック信号ＳＣＫ立ち上がり後（＝１またはＨｉ）に実行される。
【００７０】
書き込み許可信号ＷＥＮ２を受信したＩＮ／ＯＵＴコントローラ１２０は、メモリアレイ１００に対するデータ転送方向を書き込み方向に変更し、８ビットラッチレジスタ１７０とＩＮ／ＯＵＴコントローラとの間における信号線のハイインピーダンス設定を解除してデータ転送を許容する。この結果、メモリアレイ１００の各ビット線には書き込みデータＤＩの値（０または１）が転送される。ライト／リードコントローラ１４０は、書き込みスタンバイ状態後の８サイクル目のクロック信号ＳＣＫ立ち上がり後に、チャージポンプ回路１６０に対して書き込み電圧の生成を要求し、生成された書き込み電圧は、カラム選択回路１０３によって選択されているビット線、本実施例では全てのビット線に印加され、この結果、８ビットラッチレジスタ１７０に格納されている８ビットのデータ「１」と「０」が、一度に使用履歴情報格納領域ＵＨＩに書き込まれる。
【００７１】
なお、書き込みデータが１６ビットデータの場合には、８サイクル目のクロック信号ＳＣＫが立ち下がりに同期して、アドレスカウンタ１１０のカウント値が１つインクリメントされ、次のアドレス（８アドレス分）に書き込まれるべき書き込みデータＤＩ（２バイト目のデータ）の取り込みが実行される。
【００７２】
本実施例では、８サイクル目のクロック信号ＳＣＫが立ち下がった後のクロック・ロー期間で、書き込まれたばかりの既存データＤＥと書き込みに用いられた書き込みデータＤＩとが一致するか否かのベリファイ処理が実行される。すなわち、クロック・ロー期間の間に、インクリメントコントローラ１５０に備えられている４ビットカウンタ１５１によって書き込まれたばかりの８ビットの既存データＤＥのアドレスを指定するためのカウント値がカラム選択回路１０３およびロー選択回路１０４に対して入力される。この結果、ＩＮ／ＯＵＴコントローラ１２０からは、書き込まれたばかりの８ビットの既存データＤＥが出力され、ＩＮ／ＯＵＴコントローラ１２０を介して、インクリメントコントローラ１５０が備える８ビット内部レジスタ１５３に格納される。インクリメントコントローラ１５０は、８ビット内部レジスタ１５３に格納されている８ビットの既存データＤＥと８ビットラッチレジスタ１７０に格納されている８ビットの書き込みデータＤＩとが一致するか否かを検証する。
【００７３】
本実施例では、書き込みデータＤＩは８ビット長のデータであり、使用履歴情報格納領域ＵＨＩは１行（８アドレス×１）であるため、上記の処理が１度実行されると、書き込みデータＤＩの書き込みは完了する。書き込みデータＤＩの書き込み完了後、ホスト計算機からリセット信号ＲＳＴ（＝０またはＬＯＷ）がリセット信号端子ＲＳＴＴに入力され、オペレーションコードの受け付け待機状態とされて、書き込み処理が終了する。
【００７４】
なお、書き込みデータＤＩが１６ビット長のデータであり、使用履歴情報格納領域ＵＨＩが２行（８アドレス×２）の場合には、上記の処理が２度実行されると、書き込みデータＤＩの書き込みは完了する。
【００７５】
なお、ホスト計算機から送出される書き込みデータは、書き換えを所望するアドレスに対応するデータを除いて、メモリアレイ１００に現在格納されているデータと同一の値（０または１）を有している。すなわち、メモリアレイ１００における書き換えられないアドレスのデータは、同一の値によって上書きされる。
【００７６】
リセット信号ＲＳＴ（＝０またはＬＯＷ）が入力されると、アドレスカウンタ１１０、ＩＮ／ＯＵＴコントローラ１２０、ＩＤコンパレータ１３０、ライト／リードコントローラ１４０およびインクリメントコントローラ１５０は初期化される。
【００７７】
・インクリメント確認処理：
図７および図８を参照して、本実施例に係る半導体記憶装置１０によって実行される書き込み処理におけるインクリメント確認処理、データベリファイ処理について説明する。図７は本実施例に係る半導体記憶装置１０によって実行される書き込み処理におけるインクリメント確認処理の処理ルーチンを示すフローチャートである。図８は本実施例に係る半導体記憶装置１０によって実行される書き込み処理におけるデータベリファイ処理の処理ルーチンを示すフローチャートである。
【００７８】
書き込み処理が開始されると、８ビット（１バイト）長の書き込みデータＤＩが８ビットラッチレジスタ１７０にラッチされるタイミングで、インクリメントコントローラ１５０は、メモリアレイ１００の使用履歴情報格納領域ＵＨＩに格納されている対応既存データＤＥを１ビット単位にて読み出す（ステップＳ１００）。以降、使用履歴情報格納領域ＵＨＩに格納されている８ビットの既存データＤＥを構成する１ビットの各既存データＤＥを既存データＤＥｎ（ｎ＝１〜８）とする。また、８ビットの書き込みデータＤＩを構成する１ビットの各書き込みデータＤＩを書き込みデータＤＩｎ（ｎ＝１〜８）とする。
【００７９】
インクリメントコントローラ１５０は、１バイト目の最後の書き込みデータＤＩ８を８ビットラッチレジスタ１７０へラッチした後のクロック信号ＳＣＫの立ち下がりに同期してＩＮ／ＯＵＴコントローラ１２０から出力される、メモリアレイ１００の使用履歴情報格納領域ＵＨＩに格納されている対応既存データＤＥを１ビット単位にて読み出す。
【００８０】
インクリメントコントローラ１５０は、今回のタイミングで８ビットラッチレジスタ１７０にラッチされた１ビットの書き込みデータＤＩを読み出す（ステップＳ１０２）。なお、本実施例では、書き込みデータＤＩは最上位ビット（ＭＳＢ）から順に半導体記憶装置１０に入力され、８ビットラッチレジスタ１７０には、ＭＳＢにて書き込みデータＤＩｎが順次ラッチされる。
【００８１】
インクリメントコントローラ１５０は、８ビットラッチレジスタ１７０から読み出した書き込みデータＤＩｎの値がメモリアレイ１００の使用履歴情報格納領域ＵＨＩから読み出した既存データＤＥｎの値以上であるか否か、すなわち、ＤＩｎ≧ＤＥｎであるか判断する（ステップＳ１０４）。インクリメントコントローラ１５０は、ＤＩｎ＜ＤＥｎであると判断した場合には（ステップＳ１０４：Ｎｏ）、本処理ルーチンを終了する。すなわち、書き込みデータＤＩの書き込みは実行されない。
【００８２】
インクリメントコントローラ１５０は、ＤＩｎ≧ＤＥｎであると判断した場合には（ステップＳ１０６：Ｙｅｓ）、使用履歴情報格納領域ＵＨＩから読み出した既存データＤＥｎを、内部に備える８ビット内部レジスタ１５２に格納する（ステップＳ１０６）。
【００８３】
インクリメントコントローラ１５０は、使用履歴情報格納領域ＵＨＩに格納されている８ビットの既存データＤＥｎと８ビットラッチレジスタ１７０に格納されている８ビットの書き込みデータＤＩｎとの対比が完了したか否かを判定し（ステップＳ１０８）、完了していないと判定した場合には（ステップＳ１０８：Ｎｏ）、ステップＳ１００〜Ｓ１０６を繰り返して実行する。
【００８４】
インクリメントコントローラ１５０は、使用履歴情報格納領域ＵＨＩに格納されている８ビットの既存データＤＥｎと８ビットラッチレジスタ１７０に格納されている８ビットの書き込みデータＤＩｎとの対比が完了したと判定した場合には（ステップＳ１０８：Ｙｅｓ）、８ビットラッチレジスタ１７０に格納されている書き込みデータＤＩをメモリアレイ１００の使用履歴情報格納領域ＵＨＩに対して書き込む（ステップＳ１１２）。すなわち、ＤＥ←ＤＩとなり、書き込みデータＤＩが新たな既存データＤＥとなる。より詳細には、既述のように、インクリメントコントローラ１５０がメモリアレイ１００に対する書き込みデータＤＩの書き込みを直接実行するのではなく、８ビットラッチレジスタ１７０に格納されている書き込みデータＤＩをメモリアレイ１００の使用履歴情報格納領域ＵＨＩに書き込みことを許可する、書き込み許可信号ＷＥＮ１をライト／リードコントローラ１４０に対して出力し、書き込み許可信号ＷＥＮ１を受信したライト／リードコントローラ１４０によって書き込みが実行される。
【００８５】
インクリメントコントローラ１５０は、データベリファイ処理を実行し（ステップＳ１１２）、書き込みが正常に完了していた場合には（ステップＳ１１４：Ｙｅｓ）書き込み処理を終了する。一方、インクリメントコントローラ１５０は、データベリファイ処理を実行し（ステップＳ１１２）、書き込みが正常に完了していなかった場合には（ステップＳ１１４：Ｎｏ）、書き込み異常を報知して（ステップＳ１１６）、書き込み処理を終了する。
【００８６】
データベリファイ処理について図８を参照して説明する。インクリメントコントローラ１５０は、メモリアレイ１００の使用履歴情報格納領域ＵＨＩから、書き込んだばかりの既存データＤＥを読み出し（ステップＳ２００）、８ビットラッチレジスタ１７０に格納されてる書き込みデータＤＩと比較する（ステップＳ２１０）。具体的には、インクリメントコントローラ１５０は、１バイト目の書き込み終了後におけるクロック・ロー期間に、チャージポンプ回路１６０の内部発振器１６２によって生成される内部クロック信号を用いて、４ビットカウンタ１５１をカウントアップさせる。インクリメントコントローラ１５０は、４ビットカウンタ１５１のカウント値をカラム選択回路１０３およびロー選択回路１０４に入力し、メモリアレイ１００の使用履歴情報格納領域ＵＨＩから書き込んだばかりの８ビットの既存データＤＥ１をアドレス順に、ＩＮ／ＯＵＴコントローラ１２０を介して読み出し、８ビット内部レジスタ１５３にラッチする。すなわち、内部クロック信号は書き込みスタンバイ状態から８ビット（８クロック）遅れで出力されることとなる。
【００８７】
インクリメントコントローラ１５０は、８ビット内部レジスタ１５３にラッチされた既存データＤＥと８ビットラッチレジスタ１７０にラッチされている使用履歴情報格納領域ＵＨＩに対する書き込みに用いられた書き込みデータＤＩとが一致するか否かを判定する（ステップＳ２０４）。インクリメントコントローラ１５０は、使用履歴情報格納領域ＵＨＩから読み出された８ビット内部レジスタ１５３に格納されている既存データＤＥが８ビットラッチレジスタ１７０に格納されている書き込みデータＤＩと一致する場合には（ステップＳ２０４：Ｙｅｓ）、書き込みが正常に完了したものと判断し（ステップＳ２０６）、本処理ルーチンを完了する。
【００８８】
インクリメントコントローラ１５０は、使用履歴情報格納領域ＵＨＩから読み出された８ビット内部レジスタ１５３にラッチされている既存データＤＥが８ビットラッチレジスタ１７０に格納されている書き込みデータＤＩと一致しない場合には（ステップＳ２０４：Ｎｏ）、書き込みが正常に完了しなかった、すなわち、書き込み異常であると判断する（ステップＳ２０８）。インクリメントコントローラ１５０は、使用履歴情報格納領域ＵＨＩから読み出された８ビット内部レジスタ１５３にラッチされている既存データＤＥと、８ビット内部レジスタ１５２に格納されている書き込み前の既存データＤＥoldとが一致するか否かを判定し（ステップＳ２１０）、ＤＥ＝ＤＥoldであると判定した場合には（ステップＳ２１０：Ｙｅｓ）、本処理ルーチンを終了する。一方、インクリメントコントローラ１５０は、ＤＥ≠ＤＥoldであると判定した場合には（ステップＳ２１０：Ｎｏ）、８ビット内部レジスタ１５２に格納されている書き込み前の既存データＤＥoldをメモリセル１００の使用履歴情報格納領域ＵＨＩに対して書き戻し（ステップＳ２１２）、本処理ルーチンを終了する。なお、使用履歴データとして１６ビットデータが用いられる場合には、最初の８ビットについて、書き込み異常の判定がなされた場合には、続く８ビットについては、次の（第２の）使用履歴情報格納領域に対する書き込み処理は実行されない。
【００８９】
書き戻し処理は、使用履歴情報格納領域ＵＨＩに対する書き込み処理サイクルに続いて、更なる書き込みサイクルを実行することにより実行される。すなわち、更なる書き込みサイクルにおいて、８ビットラッチに格納されている既存データＤＥoldがＩＮ／ＯＵＴコントローラ１２０に入力され、データ信号端子ＳＤＡＴを介して入力されたデータと同様にして、メモリアレイ１００の使用履歴情報格納領域ＵＨＩに対する書き込み処理が実行される。この結果、メモリアレイ１００の使用履歴情報格納領域ＵＨＩにおけるデータは、書き込み処理実行前の値に戻される。
【００９０】
・半導体記憶装置１０の応用例
図９〜図１３を参照して、本実施例に係る半導体記憶装置１０の応用例について説明する。以下の例では、本実施例に係る半導体記憶装置１０は、印刷記録材収容体（インクカートリッジ）に装着され、印刷記録材収容体が着脱可能に装着される印刷装置から書き込みまたは読み出し要求を受信する。図９は本実施例に係る印刷装置１０００の概略構成を示す説明図である。図１０は本実施例に係る印刷装置１０００が備える制御回路４０の内部構成および制御回路と各半導体記憶装置との接続を機能ブロックによって模式的に示す説明図である。図１１は本実施例に係る半導体記憶装置１０に対して書き込まれる使用履歴データ列の一例を模式的に示す説明図である。図１２は本実施例に係る半導体記憶装置１０の使用履歴情報格納領域ＵＨＩにおける各使用履歴情報の格納位置の割当ての一例を示す説明図である。図１３は本実施例に係る印刷装置１０００によって実行される半導体記憶装置１０に対する使用履歴データの書き込み制御処理において実行される処理ルーチンを示すフローチャートである。図１４は本実施例に係る半導体記憶装置１０に対する書き込みテスト手順の一例を示す説明図である。
【００９１】
本実施例に用いられる印刷装置１０００は、副走査送り機構と、主走査送り機構と、ヘッド駆動機構を有している。副走査送り機構は、図示しない紙送りモータを動力とする紙送りローラを用いて印刷用紙Ｐを副走査方向に搬送する。主走査送り機構は、キャリッジモータ１０２０の動力を用いて、駆動ベルト１０１０に接続されたキャリッジ１０３０を主走査方向に往復動させる。ヘッド駆動機構は、キャリッジ１０３０に備えられた印刷ヘッド１０５０を駆動してインクの吐出およびドット形成を実行する。印刷装置１０００は、さらに、上述した各機構を制御する制御回路４０を備えている。制御回路４０は、キャリッジ１０３０とフレキシブルケーブル１０８０を介して接続されている。
【００９２】
キャリッジ１０３０は、ホルダ１０４０と、印刷ヘッド１０５０と、キャリッジ回路を備えている。ホルダ１０４０は、複数のインクカートリッジを装着可能に構成され、印刷ヘッド１０５０の上面に配置されている。図９に示す例では、ホルダ１０４０は、４つのインクカートリッジが装着可能であり、例えば、ブラック、イエロ、マゼンタ、シアンの４種類のインクカートリッジが１つずつ装着される。ホルダ１０４０には、装着されるインクカートリッジごとに、４つのカバー１１１０が開閉可能に取り付けられている。印刷ヘッド１０５０の上面には、さらに、インクカートリッジから印刷ヘッド１０５０にインクを供給するためのインク供給針１０６０が配置されている。
【００９３】
本実施例に係る半導体記憶装置１０は、消費材を収容する収容容器、例えば、印刷記録材としてのインクを収容するインクカートリッジ３１０、３１１、３１２に備えられる。各インクカートリッジ３１０、３１１、３１２には、電圧の印加によって振動するピエゾ素子を用いたインクエンドセンサＩＳが備えられている。インクエンドセンサＩＳは、インクカートリッジ３１０、３１１、３１２に形成された狭小流路に臨むように配置され、振動されたインクエンドセンサＩＳは、インクの有無によって変化する狭小流路周辺の固有振動数成分を含む電圧を出力する。したがって、インクエンドセンサＩＳの出力電圧に含まれる振動成分と、インクエンド時またはインク非エンド時における振動成分とを比較することによって、インクカートリッジがインクエンド状態にあるか否かを判定することができる。なお、本実施例におけるインクエンドとは、インク量０ではなく、所定量のインクが残存しているニアインクエンド状態を言う。
【００９４】
配置されている各インクカートリッジ３１０、３１１、３１２が印刷装置１０００に装着されると、印刷装置に備えられる制御回路４０と、バス接続される。すなわち、制御回路４０からのデータ信号線ＳＤＡ、クロック信号線ＳＣＫ、リセット信号線ＲＳＴ、正極電源線ＶＤＤ、負極電源線ＶＳＳおよびインクエンド検出線ＩＳＳは、各インクカートリッジ３１０、３１１、３１２に備えられている半導体記憶装置１０と接続されている。この応用例では、インク残量またはインク消費量といったインクに関する量の情報、インクカートリッジに関するの使用履歴情報が半導体記憶装置１０に格納される。
【００９５】
制御回路４０は、中央処理装置（ＣＰＵ）４１、メモリ４２、送信部４３、印刷要求受取部４４、印刷実行部４５を備えている。メモリ４２には、半導体記憶装置１０に対して使用履歴データを書き込むべきイベントの発生を検出するためのイベント検出モジュール４２１、使用履歴情報を取得するための使用履歴情報取得モジュール４２２、インクエンドセンサＩＳからの検出信号に基づいてセンサインクエンドを検出あるいはインク吐出ドット数を計数することによってカウントインクエンドを算出するインクエンド検出・算出モジュール４２３が格納されている。
【００９６】
ＣＰＵ４１は、メモリ４２に格納されている各モジュールを実行して、イベントを検出し、半導体記憶装置１０に対する使用履歴情報の書き込みを実行する。使用履歴情報を書き込むべきイベントには、例えば、インクカートリッジの装着、印刷ヘッド１０５０のクリーニングの実行、インクエンドセンサの検査、インクエンドセンサによるインクエンドの検出、ドット数のカウントによるインクエンドの検出が含まれる。イベント検出モジュール４２１は、これらのイベントの発生を検出する。
【００９７】
使用履歴情報取得モジュール４２２は、検出されたイベントに対応する使用履歴情報を取得する。本実施例に係る半導体記憶装置１０における使用履歴情報格納領域ＵＨＩは、図１２に示すように、イベントの発生順序（優先順位）に応じて各使用履歴情報の格納ビットを備えている。と共に、既存データの値よりも大きな値のデータ（増加データ）の書き込みしか許容しない。図１２を参照すると、使用履歴情報格納領域ＵＨＩにおけるＭＳＢから順に、検査済情報格納ビットＭｂ、既使用情報格納ビットＣｂ、クリーニング済情報格納ビットＣｌｂ、センサ初期検査済情報情報格納ビットＳｂ、センサインクエンド情報格納ビットＳＩＥ、ドットインクエンド情報格納ビットＤＩＥが割り当てられている。
【００９８】
また、本実施例に係る半導体記憶装置１０における使用履歴情報格納領域ＵＨＩは、既存データの値よりも大きな値のデータ（増加データ）の書き込みしか許容しない。したがって、図１１に示すように、使用履歴情報は、イベントの発生順序（優先順位）に応じた値を有している。例えば、インクカートリッジの装着が検出された場合にはＣ０ｈの値を有する使用履歴情報（使用履歴データ）が用いられ、印刷ヘッド１０５０のクリーニングの実行が検出された場合にはＥ０ｈの値を有する使用履歴情報が用いられ、インクエンドセンサの検査が検出された場合には、Ｆ０ｈの値を有する使用履歴情報が用いられ、センサインクエンドが検出された場合には、Ｆ８ｈの値を有する使用履歴情報が用いられ、カウントインクエンドが検出された場合には、ＦＣｈの値を有する使用履歴情報が用いられる。いずれの使用履歴情報も、印刷装置１０００における処理順序に準じて値が増加する。
【００９９】
送信部４３は、書き込みコマンドと共に取得された使用履歴データを半導体記憶装置１０に対して送信する。印刷要求受取部４４は、ユーザからの印刷要求（印刷指示）を受け取り、印刷実行部４５に対して印刷用データを送信する。印刷用データは、例えば、ラスタ毎に各インク色に対応する印刷ヘッド１０５０から吐出されるべきインク量を規定するデータ、または、画像データと印刷ヘッド１０５０を制御する制御コマンドとを含むデータである。印刷実行部４５は、受信した印刷用データに基づいて印刷ヘッド１０５０を制御して印刷媒体、例えば、用紙上に画像を形成する。
【０１００】
図１３を参照して本実施例に係る印刷装置１０００によって実行される半導体記憶装置１０に対する使用履歴情報の書き込み制御処理について説明する。なお、以下の説明ではインクカートリッジ３１０を例にとって説明する。本処理ルーチンは、例えば、インクカートリッジ３１０がキャリッジ１０３０に装着されると実行される。
【０１０１】
印刷装置１０００のＣＰＵ４１は、インクカートリッジ３１０に備えられている半導体記憶装置１０が検査済みであるか否かを判定する（ステップＳ３００）。具体的には、ＣＰＵ４１は、使用履歴情報格納領域ＵＨＩのＭＳＢに割り当てられている検査済情報格納ビットＭｂが１であるか否かを判定する。本実施例においては、図１４に示すように、インクカートリッジ３１０に装着されるまでに、使用履歴情報格納領域ＵＨＩを構成する８ビット（８アドレス）に対して書き込み試験を行い、最終検査時には、８０ｈのデータが書き込まれる。したがって、使用履歴情報格納領域ＵＨＩのＭＳＢの値（検査済情報格納ビットＭｂ）が１であれば、半導体記憶装置１０に対する試験が完了していると判定することができる。
【０１０２】
ＣＰＵ４１は、検査済情報格納ビットＭｂが１でない場合、すなわち、０または読み出し不能な場合には（Ｓ３０１：Ｎｏ）、ユーザに対して、ユーザインタフェースを介してメモリエラーである旨を報知（Ｓ３０２）して本処理ルーチンを終了する。ユーザインタフェースとしては、例えば、印刷装置１０００に備えられている表示パネル、表示ランプ、あるいは、パーソナルコンピュータに接続されている表示ディスプレイ上にプリンタドライバによって表示されるステイタス画面が該当する。
【０１０３】
ＣＰＵ４１は、検査済表示ビットＭｂ＝１である場合には（ステップＳ３０２：Ｙｅｓ）、インクカートリッジ３１０が既に印刷装置１０００に装着された履歴を有するインクカートリッジ３１０であるか否かを判定する（ステップＳ３０４）。既述の通り、既使用情報は、使用履歴情報格納領域ＵＨＩにおけるＭＳＢから２つめのビットである既使用情報格納ビットＣｂに格納されており、ＣＰＵ４１は、既使用情報格納ビットＣｂ＝０であるか否かを判定する。
【０１０４】
ＣＰＵ４１は、既使用情報格納ビットＣｂ＝１である場合には（ステップＳ３０４：Ｎｏ）、ステップＳ３０８へ移行する。一方、ＣＰＵ４１は、既使用情報格納ビットＣｂ＝０である場合には（ステップＳ３０４：Ｙｅｓ）、半導体記憶装置１０に対して既述の既使用データを送信して（ステップＳ３０６）、既使用情報格納ビットＣｂを１とする。
【０１０５】
ＣＰＵ４１は、印刷ヘッド１０５０のクリーニング処理を実行する（ステップＳ３０８）。クリーニング処理は、例えば、印刷ヘッド１０５０に備えられているインク吐出ノズルに対して吸引処理を行うことによって実行される。クリーニング処理を実行した後、ＣＰＵ４１は、半導体記憶装置１０にクリーニング処理済みの履歴が記録されているか否かを判定する（ステップＳ３１０）。既述の通り、クリーニング済情報は、使用履歴情報格納領域ＵＨＩにおけるＭＳＢから３つめのビットであるクリーニング済情報格納ビットＣｌｂに格納されており、ＣＰＵ４１は、クリーニング済情報格納ビットＣｌｂ＝０であるか否かを判定する。
【０１０６】
ＣＰＵ４１は、クリーニング済情報格納ビットＣｌｂ＝１である場合には（ステップＳ３１０：Ｎｏ）、ステップＳ３１４へ移行する。一方、ＣＰＵ４１は、クリーニング済情報格納ビットＣｌｂ＝０である場合には（ステップＳ３１０：Ｙｅｓ）、半導体記憶装置１０に対して既述のクリーニング済データを送信して（ステップＳ３１２）、クリーニング済情報格納ビットＣｌｂを１とする。
【０１０７】
ＣＰＵ４１は、インクエンドセンサＩＳの初期検査を実行する（ステップＳ３１４）。インクエンドセンサＩＳの初期検査は、例えば、インクエンドセンサＩＳに対して、インク量が所定量以上の場合に印加する駆動電圧を印加し、インク量が所定量以上の場合に得られる振動周波数成分を有する検出信号が得られるか否かを判定することによって実施される。初期状態では、インクカートリッジ３１０はインク量がフルなので、インクエンドセンサＩＳが正常に機能すれば、インク量が所定量以上の場合に得られる振動周波数成分を有する検出信号が得られるはずである。インクエンドセンサＩＳの初期検査を実行した後、ＣＰＵ４１は、半導体記憶装置１０にセンサ初期検査済みの履歴が記録されているか否かを判定する（ステップＳ３１６）。既述の通り、センサ初期検査済情報は、使用履歴情報格納領域ＵＨＩにおけるＭＳＢから４つめのビットであるセンサ初期検査済情報情報格納ビットＳｂに格納されており、ＣＰＵ４１は、センサ初期検査済情報情報格納ビットＳｂ＝０であるか否かを判定する。
【０１０８】
ＣＰＵ４１は、センサ初期検査済情報情報格納ビットＳｂ＝１である場合には（ステップＳ３１６：Ｎｏ）、ステップＳ３２０へ移行する。一方、ＣＰＵ４１は、センサ初期検査済情報情報格納ビットＳｂ＝０である場合には（ステップＳ３１６：Ｙｅｓ）、半導体記憶装置１０に対して既述のセンサ初期検査済データを送信して（ステップＳ３１８）、センサ初期検査済情報情報格納ビットＳｂを１とする。
【０１０９】
ＣＰＵ４１は、インクエンドセンサＩＳによってインクエンドが検出されるまで待機し（ステップＳ３２０：Ｎｏ）、インクエンドセンサＩＳによってインクエンドが検出されると（ステップＳ３２０：Ｙｅｓ）、半導体記憶装置１０に対して既述のセンサインクエンドデータを送信して（ステップＳ３２２）、センサインクエンド情報格納ビットＳＩＥを１とする。センサインクエンド情報格納ビットは、例えば、使用履歴情報格納領域ＵＨＩにおけるＭＳＢから５つめのビットである。
【０１１０】
ＣＰＵ４１は、ドットカウントによってインクエンドと判定するまで待機し（ステップＳ３２４：Ｎｏ）、ドットカウントによってインクエンドを判定すると（ステップＳ３２４：Ｙｅｓ）、半導体記憶装置１０に対して既述のドットインクエンドデータを送信して（ステップＳ３２６）、ドットインクエンド情報格納ビットＤＩＥを１として、本処理ルーチンを終了する。ドットインクエンド情報格納ビット、例えば、使用履歴情報格納領域ＵＨＩにおけるＭＳＢから６つめのビットである。
【０１１１】
以上説明したとおり、本実施例に係る半導体記憶装置１０によれば、使用履歴情報格納領域ＵＨＩには、既存の使用履歴データＤＥよりも大きな値の使用履歴データＤＩのみが書き込まれる。したがって、インクカートリッジ３１０に半導体記憶装置１０を備え、インクカートリッジ３１０の使用に伴うイベント発生順に値が増加する使用履歴データを用いることによって、インクカートリッジ３１０に関わる使用履歴の更新精度並びに信用精度を向上させることができる。すなわち、印刷装置１０００から送信される使用履歴データＤＩがノイズによって、先の値よりも小さな値に変更されてしまった場合、あるいは、印刷装置１０００から誤って先の値よりも小さな値が送信された場合には、使用履歴情報格納領域ＵＨＩに対する書き込みは実行されない。この結果、半導体記憶装置１０を備えるインクカートリッジ３１０に対して、高い信頼度の下、使用履歴情報に基づいて各種処理、管理を行うことができる。
【０１１２】
本実施例に係る印刷装置１０００は、インクカートリッジ３１０の使用履歴に基づいて各種制御を実行している。例えば、インクカートリッジ３１０に備えられている半導体記憶装置１０の書込試験完了履歴が確認できない場合には、印刷処理を実行することなくエラー報知を行うことによって、インクカートリッジ３１０の使用履歴を書き込みできない状態での使用を回避することができる。また、インクエンド履歴に基づいて印刷処理の実行の可否の決定を行うことによって、すなわち、使用履歴情報に基づいてインクジェット式プリンタにおけるインクヘッドの空撃ち発生を監視し、空撃ちによるインクヘッドの損傷をより高い精度にて抑制または防止することができる。
【０１１３】
その他の実施例：
（１）上記実施例では、印刷装置１０００に対してインクカートリッジ３１０が装着された際に、半導体記憶装置１０が検査済みであるか否かを判定しているが、さらに、印刷要求が発生した際に、半導体記憶装置１０が検査済みであるか否かの判定が行われても良い。かかる場合には、印刷処理を実行する際にも判定を行うことによって、さらに、検査済みでない半導体記憶装置１０に格納されている使用履歴情報を用いることに起因する、種々の印刷処理における不具合を抑制することができる。
【０１１４】
例えば、インクカートリッジ３１０に備えられている半導体記憶装置１０にメモリエラーが発生している旨を報知したにもかかわらず印刷処理が再要求された場合に、あるいは、メモリエラーを報知しない構成において印刷処理が要求された場合に、ＣＰＵ４１は印刷実行部４５に対して要求された印刷処理を要求しない構成とすることによって、印刷処理における不測の不具合を抑制または回避することができる。
【０１１５】
（２）印刷要求時には、インクエンド情報を参照し、インクエンド情報のいずれか一方、あるいは、センサインクエンド情報、もしくは、双方のインクエンド情報が、１を示す場合には、印刷処理を実行しない構成としてもよい。本実施例に係る半導体記憶装置１０は、インク量情報を他に備えているが、既述の通り、データ化けまたは書き込みエラーが発生するおそれがある。これに対して、本実施例における使用履歴情報格納領域ＵＨＩは、値が増加するデータ（情報）の書き込みしか許容しない。したがって、インクエンド情報を参照することによって、一旦、インクエンドと判定された後に、インク量情報にエラーが発生しても、インクカートリッジ３１０のインクエンドを正確に判定することが可能となり、空撃ちによる印刷ヘッド１０５０の損傷を抑制または防止することができる。
【０１１６】
（３）上記実施例では、使用履歴情報格納領域ＵＨＩは、メモリアレイ１００の上位アドレスに格納されている。この他にも、使用履歴情報格納領域ＵＨＩは、最上位アドレスから連続する８ビットの領域に割り当てられていてもよく、あるいは、下位アドレスに割り当てられていても良い。使用履歴情報格納領域ＵＨＩが最上位アドレスに割り当てられている場合には、使用履歴情報の書き換えを他の情報に優先して実行することができる。
【０１１７】
また、使用履歴情報格納領域ＵＨＩに格納されるべき履歴情報は、上記実施例における履歴情報に限られない。さらに、使用履歴情報格納領域ＵＨＩにおける各使用履歴情報の格納順序は、例示に過ぎず、イベントの優先順位（発生順位）が変更された場合には変更され得ることはいうまでもない。例えば、クリーニング処理が実行済みであることを示すクリーニング済み履歴情報には、１ビットでなく、数ビットが割り当てられてもよい。かかる場合には、クリーニング処理の実行回数を所定回数まで記録することができる。
【０１１８】
また、センサエンド情報格納ビットＳＩＥとドットインクエンド情報格納ビットＤＩＥの格納順番が、前述の実施例の順番である場合には、以下のような形態とすることができる。インクエンドセンサによってインクエンドが検出された時点で、インクの残量が僅かであることをプリンタが検出し、センサエンド情報格納ビットＳＩＥの値を１とする。ここで、インクエンドセンサよりインク移動方向の下流側のインク流路等にはインクが未だ残っており印刷に使用可能である。この未だ使用可能なインク残量の容量はインク流路の形状によって予め定められている。プリンタはこの時点以降も印刷動作を許容し、ドットインクエンド算出モジュールによって、インクエンドセンサがインクエンドを検出した時点以降のドットインク使用量を算出し、これが予め定められた閾値に達した時点で、ドットインクエンドに達したと判断し、ドットインクエンド情報格納ビットＤＩＥを１とする。
【０１１９】
一方、センサエンド情報格納ビットＳＩＥとドットインクエンド情報格納ビットＤＩＥのビットの格納順番が、前述の順番とは逆の順番である場合には、以下の形態とすることができる。プリンタは、ドットインクエンド算出モジュールによって、ドットインク使用量を算出し、ドットインクエンドに達した時点で、ドットインクエンド格納ビットＤＩＥを１とし、算出によってドットインクエンドに達したことを検出する。ドットインクエンド算出は、例えば、印刷に使われたドット数に、１ドット当りのインク体積量をかけることによって行われるが、実際のインク使用量とずれが生じることがある。そこでプリンタは、ドットインクエンドに達した時点で、インクが残り少ないことを検出しながらも印刷動作をいまだ許容し、これ以降、インクエンドセンサによってセンサエンドが検出された時点で、センサエンド情報格納ビットを１とし、センサエンドに達したことを検出する。
【０１２０】
（４）上記実施例では、使用履歴情報として８ビットのデータが用いられたが、図１５に示すように、１６ビットのデータが用いられても良く、あるいは、この他にも、２４ビット長、３２ビット長といった、メモリアレイ１００の１行のビット長の倍数のデータ長を有するデータに対しても同様に適用することができると共に、同様の効果を得ることができる。かかる場合には、さらに多くの使用履歴情報を記録することができる。なお、図１５は他の実施例における１６ビットの使用履歴情報のデータ列の一例を示す説明図である。
【０１２１】
（５）上記実施例では、書き込みデータＤＩが既存データＤＥよりも大きな値を有する場合に、使用履歴情報格納領域ＵＨＩに対する書き込みを許容しているが、書き込みデータＤＩと既存データＤＥとが等しい場合に書き込みを許容しても良い。かかる場合には、少なくともメモリアレイ１００に格納されている使用履歴が過去に遡って削除されることはなく、使用履歴の消去に伴う不具合を低減または防止することができる。この場合、既存データＤＥは同値の書き込みデータＤＩによって上書きされる。
【０１２２】
（６）上記実施例では、半導体記憶装置１０に対して、値が増加する特性のデータを格納する場合、すなわち、イベントの発生順に値が大きくなる使用履歴情報が用いられる場合について説明したが、値が低減する特性のデータを格納する場合、すなわち、イベントの発生順に値が小さくなる使用履歴情報が用いられる場合にも同様の利益を享受することができる。この場合には、インクリメントコントローラ１５０に代えて、書き込みデータＤＩが既存データＤＥよりも小さな値のデータであるか否かを判定するデクリメントコントローラを備えればよい。かかる場合には、インクカートリッジ３１０に装着された半導体記憶装置１０の使用履歴情報格納領域ＵＨＩには、（１１１１１１１０）の値のデータが書き込まれている。また、より多くの使用履歴情報を書き込むために、使用履歴情報は使用履歴情報格納領域ＵＨＩのＬＳＢから順次、１ビット単位で書き込まれることが好ましい。
【０１２３】
（７）上記実施例では、インクカートリッジを応用例として用いたが、この他にもトナーカートリッジにおいても同様の効果を得ることができる。また、プリペイドカード等の通貨相当情報を格納する媒体において適用した場合にも同様の効果を得ることができる。
【０１２４】
（８）上記実施例では、ベリファイ処理において、４ビットカウンタおよび内部発振器１６２が用いられているが、これら回路を用いることなくベリファイ処理を実行しても良い。すなわち、上記実施例では８ビット内部レジスタ１５３にラッチされている既存データＤＥと８ビットラッチレジスタ１７０にラッチされている書き込みＤＩとを用いて８ビット単位でベリファイ処理が実行されているが、１ビット単位で実行されても良い。かかる場合には、インクリメントコントローラ１５０は、４ビットカウンタ１５１および８ビット内部レジスタ１５３を備える必要がない。
【０１２５】
以上、いくつかの実施例に基づき本発明に係る半導体記憶装置、印刷記録材収容体、印刷装置、印刷装置における半導体記憶装置に対する書き込み制御方法を説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
【図面の簡単な説明】
【０１２６】
【図１】本実施例に係る半導体記憶装置の機能的な内部構成を示すブロック図である。
【図２】本実施例に係る半導体記憶装置が備えるメモリアレイの内部構成マップを模式的に示す説明図である。
【図３】本実施例において使用履歴情報格納領域に対して書き込まれる書き込みデータ列を模式的に示す説明図である。
【図４】本実施例において使用履歴情報格納領域に対して書き込み可能なデータ列と書き込み不可能なデータ列の例を示す説明図である。
【図５】読み出し動作実行時におけるリセット信号ＲＳＴ、外部クロック信号ＳＣＫ、データ信号ＳＤＡ、アドレスカウンタ値の時間的関係を示すタイミングチャートである。
【図６】書き込み動作実行時におけるリセット信号ＲＳＴ、外部クロック信号ＳＣＫ、データ信号ＳＤＡ、アドレスカウンタ値の時間的関係を示すタイミングチャートである。
【図７】本実施例に係る半導体記憶装置によって実行される書き込み処理におけるインクリメント確認処理の処理ルーチンを示すフローチャートである。
【図８】本実施例に係る半導体記憶装置によって実行される書き込み処理におけるデータベリファイ処理の処理ルーチンを示すフローチャートである。
【図９】本実施例に係る印刷装置の概略構成を示す説明図である。
【図１０】本実施例に係る印刷装置が備える制御回路の内部構成および制御回路と各半導体記憶装置との接続を機能ブロックによって模式的に示す説明図である。
【図１１】本実施例に係る半導体記憶装置に対して書き込まれる使用履歴データ列の一例を模式的に示す説明図である。
【図１２】本実施例に係る半導体記憶装置１０の使用履歴情報格納領域ＵＨＩにおける各使用履歴情報の格納位置の割当ての一例を示す説明図である。
【図１３】本実施例に係る印刷装置によって実行される半導体記憶装置に対する使用履歴データの書き込み制御処理において実行される処理ルーチンを示すフローチャートである。
【図１４】本実施例に係る半導体記憶装置に対する書き込みテスト手順の一例を示す説明図である。
【図１５】他の実施例における１６ビットの使用履歴情報のデータ列の一例を示す説明図である。
【符号の説明】
【０１２７】
１０…半導体記憶装置
１００…メモリアレイ
１０１…ＥＥＰＲＯＭアレイ
１０２…マスクＲＯＭアレイ
１０３…カラム選択回路
１０４…ロー選択回路
１１０…アドレスカウンタ
１２０…ＩＮ／ＯＵＴコントローラ
１３０…ＩＤコンパレータ
１４０…ライト／リードコントローラ
１５０…インクリメントコントローラ
１５１…４ビットカウンタ
１５２、１５３…８ビット内部レジスタ
１６０…チャージポンプ回路
１６２…内部発振器
１７０…８ビットラッチレジスタ
３１０、３１１、３１２…インクカートリッジ
１０００…印刷装置１０００
１０１０…駆動ベルト
１０２０…キャリッジモータ
１０３０…キャリッジ
１０４０…ホルダ
１０５０…印刷ヘッド
１０６０…インク供給針
１０８０…フレキシブルケーブル
１１１０…カバー
４０…制御回路
４１…中央処理装置（ＣＰＵ）
４２…メモリ
４３…送信部
４４…印刷要求受取部
４５…印刷実行部
４２１…イベント検出モジュール
４２２…使用履歴情報取得モジュール
４２３…インクエンド検出・算出モジュール
【図１】
0004802722.tif 000002
【図２】
0004802722.tif 000003
【図３】
0004802722.tif 000004
【図４】
0004802722.tif 000005
【図５】
0004802722.tif 000006
【図６】
0004802722.tif 000007
【図７】
0004802722.tif 000008
【図８】
0004802722.tif 000009
【図９】
0004802722.tif 000010
【図１０】
0004802722.tif 000011
【図１１】
0004802722.tif 000012
【図１２】
0004802722.tif 000013
【図１３】
0004802722.tif 000014
【図１４】
0004802722.tif 000015
【図１５】
0004802722.tif 000016