JP5024042B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP5024042B2
JP5024042B2 JP2007519076A JP2007519076A JP5024042B2 JP 5024042 B2 JP5024042 B2 JP 5024042B2 JP 2007519076 A JP2007519076 A JP 2007519076A JP 2007519076 A JP2007519076 A JP 2007519076A JP 5024042 B2 JP5024042 B2 JP 5024042B2
Authority
JP
Japan
Prior art keywords
data
write
value
bit
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007519076A
Other languages
English (en)
Other versions
JPWO2006129779A1 (ja
Inventor
昇 朝内
栄太郎 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007519076A priority Critical patent/JP5024042B2/ja
Publication of JPWO2006129779A1 publication Critical patent/JPWO2006129779A1/ja
Application granted granted Critical
Publication of JP5024042B2 publication Critical patent/JP5024042B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K23/00Pulse counters comprising counting chains; Frequency dividers comprising counting chains
    • H03K23/40Gating or clocking signals applied to all stages, i.e. synchronous counters
    • H03K23/50Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、データの書き換えが可能な半導体記憶装置、シーケンシャルにアクセスされる半導体記憶装置およびシーケンシャルにアクセスされる半導体記憶装置に対するデータ書き込み制御方法に関する。
EEPROMやフラッシュROM等のデータの書き換えが可能な半導体記憶装置が、種々の電子機器の記憶装置として多く利用されている。このような半導体記憶装置は、電子機器において、あらかじめ定められているデータ条件を満足する入力データの書き換えについては制限しないが、そのデータ条件を満足しない入力データの書き換えについては制限するような態様で利用することが望まれる場合がある。例えば、「書き換えデータが、半導体記憶装置に記憶されているデータ(「被書き換えデータ」と呼ぶ。)よりも大きい場合においてのみ、書き換えを実行する。」という条件や、「書き換えデータが、被書き換えデータよりも小さい場合においてのみ、書き換えを実行する。」というデータ条件を設定する場合が考えられる。
しかしながら、従来の書き換えが可能な半導体記憶装置は、データの書き換えを制限する仕組みを有しておらず、データを書き込むための所定のシーケンスを満足すれば、記憶されているデータを書き換えることが可能であるため、上記のようなデータ条件での書き換えに対応することができなかった。
なお、記憶装置に対するデータの書き込みを制御する技術として、例えば、記憶装置の外部に記憶装置に対する書き込み禁止装置を設置する技術が知られている。あるいは、記憶装置使用時に、記憶装置におけるデータ格納領域より後ろのアドレスにデータ格納領域に対する書き込み不許可を示す情報を書き込むことで、データ格納領域に対する書き込みを禁止する技術が知られている。
また、メモリアレイのデータセルに対してシーケンシャルなアクセスのみを許容する半導体記憶装置、例えば、EEPROMが知られている。このような半導体記憶装置は、比較的廉価であることから、消費材の残量または消費量に関するデータを保持させるための記憶装置として用いられている。ここで、消費材は使用に伴い減少するため、更新に用いられるデータ、すなわち、メモリアレイに書き込まれるデータが、消費量に関するデータの場合には、書き込まれるデータの値は、メモリアレイに既に格納されている既存のデータの値よりも大きな値でなければならない。一方、メモリアレイに書き込まれるデータが、残量に関するデータの場合には、書き込まれるデータの値は、メモリアレイに既に格納されている既存のデータの値よりも小さな値でなければならない。
しかしながら、例えば、半導体記憶装置に対して入力されるデータが転送中にデータ化けを起こすこともあり、かかる場合には、半導体記憶装置において正常にデータの書き換えが行われたとしても、半導体記憶装置には誤ったデータが記録されることになる。すなわち、例えば、データが増大する特性を有する場合に、半導体記憶装置に対して既存データよりも小さな値のデータが書き込まれてしまうおそれがある。ここで、消費材を利用する装置の損傷、不具合を抑制または防止するために、消費材の残量または消費量に関するデータが用いられている場合には、消費材の残量または消費量に関するデータが本来の増減特性と逆方向へと化けた場合には、消費材を利用する装置に不具合が発生する場合がある。
本発明は、上記課題を解決するためになされたものであり、半導体記憶装置において、書き込みデータが有する増減特性に反する値のデータの書き込みを制限することを目的とする。本発明はまた、半導体記憶装置において、所定のデータ条件を満足しない入力データの書きこみを禁止することを目的とする。
上記課題を解決するために本発明の第1の態様は、半導体記憶装置を提供する。本発明の第1の態様に係る半導体記憶装置は、値が増大する特性のデータを格納する所定のアドレス単位の書き込み制限格納アドレスを有し、シーケンシャルにアクセスされる不揮発性のメモリアレイと、前記書き込み制限格納アドレスに書き込むべき書き込みデータを所定のアドレス単位で保持する書き込みデータ保持手段と、前記保持されている書き込みデータを、前記書き込み制限格納アドレスに対して前記所定のアドレス単位にて書き込むデータ書き込み手段と、前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出す読み出し手段と、前記保持されている書き込みデータの値が、前記読み出された既存データの値未満の値であるか否かを判定する判定手段と、前記書き込みデータの値が前記既存データの値未満の場合には、前記書き込み手段による前記メモリアレイの前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行しない制御部とを備える。
本発明の第1の態様に係る半導体記憶装置において、前記制御部は、前記書き込みデータの値が前記既存データの値以上の場合には、前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行しても良い。
本発明の第1の態様に係る半導体記憶装置によれば、判定手段によって、保持されている書き込みデータの値が、読み出された既存データの値未満の値であるか否かが判定され、制御部によって、書き込みデータの値が既存データの値以上の場合には、書き込み手段によってメモリアレイの書き込み制限格納アドレスに対する書き込みデータの書き込みを実行する。また、制御部は、書き込みデータの値が既存データの値未満の場合には、書き込み制限格納アドレスに対する書き込みデータの書き込みを実行しない。したがって、値が増大する書き込みデータの特性に反する値のデータの書き込みを制限することができる。
本発明の第1の態様に係る半導体記憶装置において、前記書き込み制限格納アドレス数が、前記所定のアドレス単位のn倍(nは自然数)である場合には、前記判定手段は、前記所定のアドレス単位毎に、前記書き込みデータの値が前記既存データの値未満であるか否かを判定し、前記制御部は、前記書き込み制限格納アドレスにおけるいずれかのアドレスにおいて、前記既存データの値が前記書き込みデータの値未満の場合には、前記メモリアレイの全ての前記書き込み制限格納アドレスに対して前記書き込み手段による前記書き込みデータの書き込みを実行しなくても良い。
本発明の第1の態様に係る半導体記憶装置において、前記制御部は、全ての前記書き込み制限格納アドレスにおいて、前記書き込みデータの値が前記既存データの値以上の場合には、前記全ての書き込み制限格納アドレスに対する、前記書き込みデータの書き込みを実行しても良い。
以上の場合には、半導体記憶装置に複数の書き込み制限格納アドレスが備えられている場合に、全ての制限格納アドレスにおいて、値が増大する書き込みデータの特性に反する値のデータの書き込みを制限することができる。
本発明の第1の態様に係る半導体記憶装置において、前記判定手段は、前記読み出し手段によって前記既存データが1アドレス毎に読み出される毎に、前記書き込みデータ保持手段から前記書き込みデータを1アドレス毎に読み出して、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定しても良い。かかる場合には、読み出した既存データを格納するための構成を必要とすることなく、書き込みデータの値が読み出された既存データの値未満の値であるか否かを判定することができる。
本発明の第1の態様に係る半導体記憶装置において、前記判定手段は、前記読み出し手段によって1アドレス毎に読み出された前記所定のアドレス単位の既存データと、前記書き込みデータ保持手段に保持されている前記所定アドレス単位の書き込みデータとを用いて、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定しても良い。かかる場合には、所定のアドレス単位でまとめて、書き込みデータの値が読み出された既存データの値未満の値であるか否かを判定することができる。
本発明の第1の態様に係る半導体記憶装置において、前記メモリアレイにおける書き込み制限格納アドレスには、最上位ビットから順にデータが格納されており、前記データ書き込み手段は、前記メモリアレイに対して、最上位ビットから順にデータの書き込みを実行しても良い。かかる場合には、書き込みデータの値が読み出された既存データの値以上の値であるか否かを判定をより迅速に実行することができる。
書き込まれるデータの特性が、値が減少する特性を有している場合には、本発明の第1の態様に係る半導体記憶装置は、値が減少する特性のデータを格納する所定のアドレス単位の書き込み制限格納アドレスを有し、シーケンシャルにアクセスされる不揮発性のメモリアレイと、前記書き込み制限格納アドレスに書き込むべき書き込みデータを所定のアドレス単位で保持する書き込みデータ保持手段と、前記保持されている書き込みデータを、前記書き込み制限格納アドレスに対して前記所定のアドレス単位にて書き込むデータ書き込み手段と、前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出す読み出し手段と、前記保持されている書き込みデータの値が、前記読み出された既存データの値より大きな値であるか否かを判定する判定手段と、前記書き込みデータの値が前記既存データの値より大きな値の場合には、前記書き込み手段による前記メモリアレイの前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行しない制御部とを備えても良い。
また、前記制御部は、前記書き込みデータの値が前記既存データの値以下の場合には、前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行しても良い。
書き込まれるデータの特性が、値が減少する特性を有している場合には、本発明の第1の態様に係る半導体記憶装置は、判定手段によって、保持されている書き込みデータの値が、読み出された既存データの値より大きな値であるか否かが判定され、制御部によって、書き込みデータの値が既存データの値以下の場合には、書き込み手段によってメモリアレイの書き込み制限格納アドレスに対する書き込みデータの書き込みを実行する。また、書き込みデータの値が既存データの値より大きい場合には、書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行しないので、値が減少する書き込みデータの特性に反する値のデータの書き込みを制限することができる。
本発明の第2の態様は、値が増大する特性のデータを書き換え可能データとして記憶する半導体記憶装置を提供する。本発明の第2の態様に係る半導体記憶装置は、シーケンシャルにアクセスされると共に1ビットのデータを格納するデータセルを1行に8個有し、前記書き換え可能データを格納する書き込み制限行を有する不揮発性のメモリアレイと、前記メモリアレイの前記書き込み制限行に書き込むべき、8ビットの倍数の書き込みデータを受信するデータ受信手段と、前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持する書き込みデータ保持手段と、前記保持されている8ビットの書き込みデータを、前記書き込み制限行に対して8ビット単位にて書き込むデータ書き込み手段と、前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを読み出す読み出し手段と、前記書き込みデータの値が、前記読み出された既存データの値未満の値であるか否かを、8ビット単位の書き込みデータ毎に判定する判定手段と、8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値未満の場合には、前記書き込み手段によって前記書き込み制限行の全ての対象データセルに対する前記書き込みデータの書き込みを実行しない制御部とを備える。
本発明の第2の態様に係る半導体記憶装置において、前記制御部は、前記8ビット単位の書き込みデータの全てにおいて、前記書き込みデータの値が前記既存データの値以上の場合には、前記書き込み制限行の全ての対象データセルに対する、前記書き込みデータの書き込みを実行しても良い。
本発明の第2の態様に係る半導体記憶装置によれば、判定手段によって、書き込みデータの値が、読み出された既存データの値未満の値であるか否かを、8ビット単位の書き込みデータ毎に判定し、8ビット単位の書き込みデータの全てにおいて、書き込みデータの値が既存データの値以上の場合には、書き込み手段によって書き込み制限行の全ての対象データセルに対する書き込みデータの書き込みを実行する。また、制御部は、8ビット単位の書き込みデータのいずれかにおいて、書き込みデータの値が既存データの値未満の場合には、書き込み制限行の全ての対象データセルに対する、書き込みデータの書き込みを実行しない。したがって、値が増大する書き込みデータの特性に反する値のデータの書き込みを制限することができる。
本発明の第2の態様に係る半導体記憶装置において、前記判定手段は、前記読み出し手段によって前記既存データが1ビット毎に読み出される毎に、前記書き込みデータ保持手段から前記書き込みデータを1ビット毎に読み出して、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定しても良い。かかる場合には、読み出した既存データを格納するための構成を必要とすることなく、書き込みデータの値が読み出された既存データの値未満の値であるか否かを判定することができる。
本発明の第2の態様に係る半導体記憶装置において、前記判定手段は、前記読み出し手段によって1ビット毎に読み出された前記8ビットの倍数の既存データと、前記書き込みデータ保持手段に保持されている前記8ビットの書き込みデータとを用いて、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定しても良い。かかる場合には、8ビット単位でまとめて、書き込みデータの値が読み出された既存データの値未満の値であるか否かを判定することができる。
本発明の第2の態様に係る半導体記憶装置において、前記書き込み制限行のデータセルには、最上位ビットから順にデータが格納されており、前記データ書き込み手段は、前記メモリアレイに対して、最上位ビットから順にデータの書き込みを実行しても良い。かかる場合には、書き込みデータの値が読み出された既存データの値未満の値であるか否かを判定をより迅速に実行することができる。
書き込まれるデータの特性が、値が減少する特性を有している場合には、本発明の第2の態様に係る半導体記憶装置は、シーケンシャルにアクセスされると共に1ビットのデータを格納するデータセルを1行に8個有し、前記書き換え可能データを格納する書き込み制限行を有する不揮発性のメモリアレイと、前記メモリアレイの前記書き込み制限行に書き込むべき、8ビットの倍数の書き込みデータを受信するデータ受信手段と、前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持する書き込みデータ保持手段と、前記保持されている8ビットの書き込みデータを、前記書き込み制限行に対して8ビット単位にて書き込むデータ書き込み手段と、前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを1ビット単位で読み出す読み出し手段と、前記書き込みデータの値が、前記読み出された既存データの値より大きな値であるか否かを、8ビット単位の書き込みデータ毎に判定する判定手段と、8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値より大きな場合には、前記書き込み手段によって前記書き込み制限行の全ての対象データセルに対する前記書き込みデータの書き込みを実行しない制御部とを備えても良い。
また、前記制御部は、前記8ビット単位の書き込みデータの全てにおいて、前記書き込みデータの値が前記既存データの値以下の場合には、前記書き込み制限行の全ての対象データセルに対する、前記書き込みデータの書き込みを実行しても良い。
書き込まれるデータの特性が、値が減少する特性を有している場合には、本発明の第2の態様に係る半導体記憶装置は、判定手段によって、書き込みデータの値が、読み出された既存データの値より大きな値であるか否かを、8ビット単位の書き込みデータ毎に判定し、8ビット単位の書き込みデータの全てにおいて、書き込みデータの値が既存データの値以下の場合には、書き込み手段によって書き込み制限行の全ての対象データセルに対する書き込みデータの書き込みを実行する。また、制御部は、8ビット単位の書き込みデータのいずれかにおいて、書き込みデータの値が既存データの値より大きな値の場合には、書き込み制限行の全ての対象データセルに対する、書き込みデータの書き込みを実行しない。したがって、値が減少する書き込みデータの特性に反する値のデータの書き込みを制限することができる。
本発明の第3の態様は、値が増大する特性のデータを格納する所定のアドレス単位の書き込み制限格納アドレスを有する不揮発性のメモリアレイを備え、メモリアレイに対して所定のアドレス単位にてデータが書き込まれる半導体記憶装置におけるデータの書き込み制御方法を提供する。本発明の第3の態様に係る方法は、前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出し、前記書き込み制限格納アドレスに書き込まれる書き込みデータの値が、前記読み出された既存データの値未満の値であるか否かを判定し、前記書き込みデータの値が前記既存データの値未満上の場合には、前記書き込み制限格納アドレスに対して前記書き込みデータを前記所定のアドレス単位にて書き込まないことを備える。
書き込まれるデータの特性が、値が減少する特性を有している場合には、本発明の第3の態様に係る方法は、前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出し、前記書き込み制限格納アドレスに書き込まれる書き込みデータの値が、前記読み出された既存データの値より大きな値であるか否かを判定し、前記書き込みデータの値が前記既存データの値より大きな値の場合には、前記書き込み制限格納アドレスに対して前記書き込みデータを前記所定のアドレス単位にて書きまないことを備えても良い。
本発明の第3の態様に係るデータの書き込み制御方法によれば、本発明の第1の態様に係る半導体記憶装置と同様の作用効果を得ることができると共に、本発明の第3の態様に係るデータの書き込み制御方法は、本発明の第1の態様に係る半導体記憶装置と同様にして種々の態様にて実現され得る。
本発明の第4の態様は、シーケンシャルにアクセスされると共に1ビットのデータを格納するデータセルを1行に8個有し、値が増大する特性の書き換え可能データを格納する書き込み制限行を有する不揮発性のメモリアレイを備え、メモリアレイに対して8ビット単位にてデータが書き込まれる半導体記憶装置におけるデータの書き込み制御方法を提供する。本発明の第4の態様に係る方法は、前記メモリアレイに書き込むべき、8ビットの倍数の書き込みデータを受信し、前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持し、前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを読み出し、前記書き込みデータの値が、前記読み出された既存データの値未満の値であるか否かを、8ビット単位の書き込みデータ毎に判定し、8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値未満の場合には、前記書き込み制限行の全てのデータセルに対して前記書き込みデータを書き込まないことを備える。
書き込まれるデータの特性が、値が減少する特性を有している場合には、本発明に第4の態様に係る方法は、前記メモリアレイに書き込むべき、8ビットの倍数の書き込みデータを受信し、前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持し、前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを読み出し、前記書き込みデータの値が、前記読み出された既存データの値より大きなの値であるか否かを、8ビット単位の書き込みデータ毎に判定し、8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値より大きな場合には、前記書き込み制限行の全てのデータセルに対して前記書き込みデータを書き込まないことを備えても良い。
本発明の第4の態様に係るデータの書き込み制御方法によれば、本発明の第2の態様に係る半導体記憶装置と同様の作用効果を得ることができると共に、本発明の第4の態様に係るデータの書き込み制御方法は、本発明の第2の態様に係る半導体記憶装置と同様にして種々の態様にて実現され得る。
本発明の第3および第4の態様に係る方法は、この他にも、プログラム、およびプログラムを記録したコンピュータが読み取り可能な記録媒体としても実現され得る。
本発明の第5の態様は半導体記憶装置を提供する。本発明の第5の態様に係る半導体記憶装置は、不揮発性のメモリアレイと、前記メモリアレイに対するデータの書き込みおよび前記メモリアレイからのデータの読み出しを制御するリードライトコントローラと、を備え、前記リードライトコントローラは、前記メモリアレイに対するデータの書き込みが要求された場合において、入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを比較し、所定の大小関係を満たしている前記複数ビットの書き込みデータについては前記複数ビットの記憶領域への書き込みを実行し、前記大小関係を満たしていない前記複数ビットの書き込みデータについては前記複数ビットの記憶領域への書き込みを禁止する。
本発明の第5の態様に係る半導体記憶装置によれば、記憶データに対して所定の大小関係を満たしていない書き込みデータの書き込みを禁止することが可能である。
本発明の第5の態様に係る半導体記憶装置は、以下の通り構成されても良い。本発明の第5の態様に係る半導体記憶装置は、不揮発性のメモリアレイと、前記メモリアレイに対するデータの書き込みおよび前記メモリアレイからのデータの読み出しを制御するリードライトコントローラと、を備え、前記リードライトコントローラは、前記メモリアレイに対するデータの書き込みが要求された場合において、入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを、前記複数ビットの書き込みデータのうち最大ビットから1ビット単位で順に比較し、前記記憶データの各ビットの値に対して所定の大小関係を満たしていると判定されるビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを実行し、前記所定の大小関係を満たしていないビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを禁止する。
上記構成を備える本発明の第5の態様に係る半導体記憶装置によれば、1ビット単位でデータのアクセスが実行される半導体記憶装置において、記憶データに対して所定の大小関係を満たしていない書き込みデータの書き込みを禁止することが容易である。
なお、本発明の第5の態様に係る半導体記憶装置は、半導体記憶装置に対する書き込み制御方法、プログラム、プログラムを記録したコンピュータ読み取り可能な記録媒体としても実現され得る。
本発明の第6の態様は半導体記憶装置を提供する。本発明の第6の態様に係る半導体記憶装置は、消費材の量に関するデータであって、値が増大する特性を有する消費材量データを格納する不揮発性のメモリアレイと、前記メモリアレイに格納されるべき、新規消費材量データを書き込むデータ書き込み手段と、前記メモリアレイから、既に格納されている既存消費材量データを読み出す読み出し手段と、前記新規消費材量データの値が前記既存消費材量データの値未満の場合には、前記データ書き込み手段による前記新規消費材量データの書き込みは行わず、前記新規消費材量データの値が前記既存消費材量データの値以上の場合には、前記データ書き込み手段による前記新規消費材量データの書き込を実行する制御部とを備える。本発明の第6の態様に係る半導体記憶装置によれば、本発明の第1または第2の態様に係る半導体記憶装置と同様の作用効果を得ることができる。
本発明の第1、2、5および6の態様に係る半導体記憶装置は、前記印刷記録材の量に関する情報を格納するために、印刷装置に着脱可能に装着される、印刷記録材を収容する印刷記録材容器であって、前記印刷記録材を収容する収容部に装着されて用いられても良い。この場合には、印刷記録材の量に関する情報の信頼性を向上させることができる。
本発明の第7の態様は、印刷装置と、印刷装置に着脱可能に装着される本発明の第1、2、5および6の態様に係る半導体記憶装置を有する印刷記録材容器とを備える印刷システムを提供する。本発明の第7の態様に係る印刷システムにおいて、前記印刷装置は、前記印刷記録材容器に装着される半導体記憶装置とデータ信号線、クロック信号線、リセット信号線、正極電源線、および負極電源線を介してバス接続されるホスト計算機であって、印刷装置において消費された印刷記録材に関する量の情報を前記半導体記憶装置に送信するホスト計算機を備え、前記印刷記録材容器に装着されている半導体記憶装置は、受信した印刷記録材に関する量の情報を前記メモリアレイに格納する。本発明の第6の態様によれば、印刷に伴い消費される印刷記録材の量に関する情報を格納するにあたり、半導体記憶装置において、書き込みデータが有する増減特性に反する値のデータの書き込みを制限することができる。
以下、本発明に係る半導体記憶装置および半導体記憶装置に対するデータの書き込み制御方法について図面を参照しつつ、実施例に基づいて説明する。
第1の実施例:
・半導体記憶装置の構成
図1および図2を参照して第1の実施例に半導体記憶装置の構成について説明する。図1は第1の実施例に係る半導体記憶装置の機能的な内部構成を示すブロック図である。図2は第1の実施例に係る半導体記憶装置が備えるメモリアレイの内部構成マップを模式的に示す説明図である。
第1の実施例に係る半導体記憶装置10は、外部からアクセス先のアドレスを指定するアドレスデータを入力する必要のないシーケンシャルアクセス方式の記憶装置である。半導体記憶装置10は、メモリアレイ100、アドレスカウンタ110、IN/OUTコントローラ120、IDコンパレータ130、ライト/リードコントローラ140、インクリメントコントローラ150、チャージポンプ回路160、8ビットラッチレジスタ170を備えている。これら各回路は、バス式の信号線によって接続されている。
メモリアレイ100は、EEPROMアレイ101とマスクROMアレイ102とを備えている。EEPROMアレイ101は、データの電気的な消去、書き込みが可能なEEPROMの特性を有する記憶領域であり、本実施例に用いられるEEPROMアレイ101は、データの書き込みに際して、既存データを消去することなく直ちにデータを書き込むことができる。マスクROMアレイ102は、製造工程時にデータが書き込まれる消去、書き換え不能なマスクROMの特性を有する記憶領域である。
メモリアレイ100のEEPROMアレイ101およびマスクROMアレイ102には、図2に模式的に示す1ビットの情報を格納するデータセル(メモリセル)が複数備えられている。本実施例では、図2に示すようにメモリアレイ100は、1行に8アドレス(データ8ビット分のアドレス)を所定のアドレス単位として備えており、例えば、EEPROMアレイ101には、1行に8個のデータセル(8ビット)、1列に16個のデータセル(16ワード)が配置されており、16ワード×8ビット(128ビット)のデータを格納することができる。マスクROMアレイ102には、1行に8個のデータセル(8ビット)、1列に8個のデータセル(8ワード)が配置されており、8ワード×8ビット(64ビット)のデータを格納することができる。
図2を参照してメモリアレイ100のアドレスマップについて説明する。本実施例におけるメモリアレイ100は、既述の通りEEPROMアレイ101とマスクROMアレイ102とを備えている。EEPROMアレイ101の先頭3アドレス(1行目のA0〜A2列、3ビット)には、各半導体記憶装置を識別するための識別情報(ID情報)が格納されている。先頭3アドレスを含む第1行目に対する書き込みは禁止されており、例えば、工場出荷後には書き換えることはできない。
図2の例では、EEPROMアレイ101の第9アドレス(08H)〜第16アドレス(0FH)および第17アドレス(10H)〜第24アドレス(07H)には、一定条件の下、書き換え可能な16ビットの情報が格納されている。なお、本実施例においては、この第9アドレス〜第16アドレスおよび第17アドレス〜第24アドレスにより構成される行を書き込み制限行、あるいは、この第9アドレス〜第16アドレスおよび第17アドレス〜第24アドレスの各8アドレスを、所定アドレス単位の書き込み制限格納アドレス、と呼ぶことがある。また、一定条件とは、例えば、格納されている情報がインク消費量に関する情報の場合には、書き込まれるデータの値が既存のデータの値よりも大きな場合、あるいは、格納されている情報がインク残量に関する情報の場合には、書き込まれるデータの値が既存のデータの値よりも小さな場合である。
EEPROMアレイ101の第25アドレス以降は書き込みが禁止されている読み出し専用領域となり、例えば、工場出荷後には書き換えることはできない。
マスクROMアレイ102は、メモリアレイ製造時に情報(データ)が書き込まれており、メモリアレイ製造後は、工場出荷前であっても書き込みを実行することはできない。
本実施例におけるメモリアレイ100は、上述のように8ビットを単位とする複数の行を備えているが、各行は独立したデータセル列ではなく、いわば、1本のデータセル列を8ビット単位で折り曲げることによって実現されている。すなわち、便宜的に9ビット目を含む行を2バイト目、17ビット目を含む行を3バイト目と呼んでいるに過ぎない。この結果、メモリアレイ100における所望のアドレスにアクセスするためには、先頭から順次アクセスする、いわゆる、シーケンシャルアクセス方式によるアクセスが必要となり、ランダムアクセス方式の場合に可能な所望のアドレスに対する直接的なアクセスは不可能となる。
メモリアレイ100における各データセルには、ワード線とビット(データ)線が接続されており、対応するワード線(行)を選択(選択電圧を印加)して、対応するビット線に書き込み電圧を印加することによってデータセルにデータが書き込まれる。また、対応するワード線(行)を選択し、対応するビット線をIN/OUTコントローラ120と接続し、電流の検出の有無によってデータセルのデータ(1または0)が読み出される。なお、本実施例における所定アドレス単位とは、1本のワード線に書き込み電圧を加えることにより書き込みが可能なアドレス数(データセル数)であるということができる。
カラム選択回路103は、アドレスカウンタ110によりカウントされた外部クロックパルス数に応じて順次、列(ビット線)をIN/OUTコントローラ120と接続する。ロー選択回路104は、アドレスカウンタ110によりカウントされた外部クロックパルス数に応じて順次、行(ワード線)に選択電圧を印加する。すなわち、本実施例に係る半導体記憶装置10では、アドレスデータを用いたメモリアレイ100に対するアクセスは実行されず、専らアドレスカウンタ110によってカウントされたクロックパルス数にしたがって、所望のアドレスに対するアクセスが実行される。
アドレスカウンタ110は、リセット信号端子RSTT、クロック信号端子SCKT、カラム選択回路103、ロー選択回路104と接続されている。アドレスカウンタ110は、リセット信号端子RSTTを介して入力されるリセット信号を0(またはロー)にすることにより初期値にリセットされ、リセット信号が1とされた後に外部クロック信号端子SCKTを介して入力されるクロックパルスの立ち下がりに同期してクロックパルス数をカウント(カウント値をインクリメント)する。本実施例に用いられるアドレスカウンタ110は、メモリアレイ100の1行のデータセル数(ビット数)に対応する8個のクロックパルス数を格納する8ビットのアドレスカウンタである。なお、初期値はメモリアレイ100の先頭位置と関連付けられていればどのような値でも良く、一般的には0が初期値として用いられる。
IN/OUTコントローラ120は、メモリアレイ100に対してデータ信号端子SDATに入力された書き込みデータを転送し、あるいは、メモリアレイ100から読み出されたデータを受信してデータ信号端子SDATに出力するための回路である。IN/OUTコントローラ120は、データ信号端子SDAT、リセット信号端子RSTT、メモリアレイ100、ライト/リードコントローラ140と接続されており、ライト/ロードコントローラ140からの要求に従ってメモリアレイ100に対するデータ転送方向ならびにデータ信号端子SDATに対する(データ信号端子SDATと接続されている信号線の)データ転送方向を切り換え制御する。IN/OUTコントローラ120に対するデータ信号端子SDATからの入力信号線には、データ信号端子SDATから入力された書き込みデータを一時的に格納する8ビットラッチレジスタ170が接続されている。
8ビットラッチレジスタ170には、データ信号端子SDATから入力信号線を介して入力されるデータ列(MSB)が8ビットとなるまで保持され、8ビット分揃ったところで、EEPROMアレイ101に対して保持されている8ビットのデータが書き込まれる。8ビットラッチレジスタ170は、いわゆるFIFOタイプのシフトレジスタであり、入力データの9ビット目が新たにラッチされると、既にラッチされていた1ビット目のデータが放出される。
IN/OUTコントローラ120は、電源ON時、リセット時には、メモリアレイ100に対するデータ転送方向を読み出し方向に設定し、8ビットラッチレジスタ170とIN/OUTコントローラ120との間における入力信号線をハイインピーダンスとすることでデータ信号端子SDATに対するデータ入力を禁止する。この状態は、ライト/リードコントローラ140から書き込み処理要求が入力されるまで維持される。したがって、リセット信号入力後にデータ信号端子SDATを介して入力されるデータ列の先頭4ビットのデータはメモリアレイ100に書き込まれることはなく、一方で、メモリアレイ100の先頭4ビット(内4ビット目はドントケア)に格納されているデータは、IDコンパレータ130に送出される。この結果、メモリアレイ100の先頭4ビットは読み出し専用状態となる。
IDコンパレータ130は、クロック信号端子SCKT、データ信号端子SDAT、リセット信号端子RSTTと接続されており、データ信号端子SDATを介して入力された入力データ列に含まれる識別データとメモリアレイ100(EEPROMアレイ101)に格納されている識別データとが一致するか否かを判定する。詳述すると、IDコンパレータ100は、リセット信号RSTが入力された後に入力されるオペレーションコードの先頭3ビットのデータ、すなわち識別データを取得する。IDコンパレータ130は、入力データ列に含まれる識別データを格納する3ビットレジスタ(図示しない)、IN/OUTコントローラ120を介してメモリアレイ100から取得した最上位3ビットの識別データを格納する3ビットレジスタ(図示しない)を有しており、両レジスタの値が一致するか否かによって識別データが一致するか否かを判定する。IDコンパレータ130は、両識別データが一致する場合には、アクセス許可信号ENをライト/リードコントローラ140に送出する。IDコンパレータ130は、リセット信号RSTが入力(RST=0またはLow)されるとレジスタの値をクリアする。
ライト/リードコントローラ140は、IN/OUTコントローラ120、IDコンパレータ130、インクリメントコントローラ150、チャージポンプ回路160、クロック信号端子SCKT、データ信号端子SDAT、リセット信号端子RSTTと接続されている。ライト/ロードコントローラ140は、リセット信号RSTが入力された後の4つめのクロック信号に同期してデータ信号端子SDATを介して入力される書き込み/読み出し制御情報(3ビットのID情報に続く4ビット目の情報)を確認し、半導体記憶装置10の内部動作を書き込みまたは読み出しのいずれかに切り換える回路である。具体的には、ライト/リードコントローラ140は、IDコンパレータ130からのアクセス許可信号AENおよびインクリメントコントローラWEN1からの書き込み許可信号WEN1が入力されると、取得した書き込み/読み出しコマンドを解析する。ライト/リードコントローラ140は、書き込みコマンドであれば、IN/OUTコントローラ120に対して、バス信号線のデータ転送方向を書き込み方向に切り換え、書き込みを許可する書き込み許可信号WEN2を送信し、チャージポンプ回路160に対して書き込み電圧の生成を要求する。
本実施例では、書き込み制限行に書き込まれる書き込みデータDIが、値が増加(インクリメント)する特性を有するデータである場合には、書き込みデータDIが書き込み制限行に既に格納されている既存データDEよりも大きな値であるか否かを判断し、書き込みデータDIが、値が減少(デクリメント)する特性を有するデータである場合には、書き込みデータDIが書き込み制限行に既に格納されている既存データDEよりも小さな値であるか否かを判断することで、書き込みデータDIのデータ化け、誤ったデータの入力を低減又は防止する。この機能は、前者の場合にはインクリメントコントローラ、後者の場合にはデクリメントコントローラによって提供される。本実施例では以下の説明において、前者を例にとって説明する。
インクリメントコントローラ150は、リセット信号端子RSTT、ライト/リードコントローラ140、チャージポンプ回路160と信号線を介して接続されている。インクリメントコントローラ150は、内部に4ビットカウンタ151および8ビット内部レジスタ152、153を有している。インクリメントコントローラ150は、書き込み制限行に書き込まれる書き込みデータDIが書き込み制限行に既に格納されている既存データDEよりも大きな値であるか否かを判断し、さらにEEPROMアレイ101に書き込まれたデータが正しく書き込まれたか否かの判断(ベリファイ、検証)を実行する。
インクリメントコントローラ150は、書き込みデータDIを8ビットラッチレジスタ170にラッチするタイミングで、EEPROMアレイ101の書き込み制限行から既存データDEを読み出し、内部に備える8ビット内部レジスタ152に格納する。インクリメントコントローラ150は、読み出される既存データEDと8ビットラッチレジスタ170に入力される書き込みデータDIとを1ビット単位で比較して、書き込みデータDIが既存データDEよりも大きな値のデータであるか否かを判定する。なお、処理の迅速化のため、入力される書き込みデータはMSBであることが望ましい。
インクリメントコントローラ150は、書き込みデータDIが既存データDEよりも大きな値のデータである場合には、ライト/リードコントローラ140に対して書き込み許可信号WEN1を出力する。なお、書き込み制限行が複数行に亘る場合には、全ての書き込み制限行において書き込みデータDIが既存データDEよりも大きな値のデータである場合にのみ、インクリメントコントローラ150は、書き込み許可信号WEN1を出力する。
インクリメントコントローラ150は、書き込みデータを書き込んだ後、正しくデータが書き込まれたか否かを検証し、書き込みデータが正しく書き込まれていない場合には、内部に備える8ビット内部レジスタ152に格納されている既存データDEをメモリアレイ100に対して書き戻す。書き込みデータの検証に際して、インクリメントコントローラ150に備えられている4ビットカウンタ151は、書き込みスタンバイ状態から外部クロック信号に対して8ビット遅れで、チャージポンプ回路160に備えられている内部発振器162から内部クロック信号を受けてカウントアップを開始する。4ビットカウンタ151によってカウントアップされたカウント値は、カラム選択回路103、ロー選択回路104に入力され、書き込まれたばかりの既存データDEが読み出される。
チャージポンプ回路160は、既述の通り、ライト/リードコントローラ140からの要求信号に基づいて、EEPROMアレイに対してデータを書き込む際に必要な書き込み電圧をカラム選択回路103を介して選択されたビット線に供給するための回路である。チャージポンプ回路160は、電圧昇圧時に必要な動作周波数を生成する内部発振器162を備え、正極電源端子VDDTを介して得られる電圧を昇圧することで、必要な書き込み電圧を生成する。
・読み出し処理
図3を参照して第1の実施例に係る半導体記憶装置10における読み出し動作について説明する。図3は第1の実施例に係る半導体記憶装置の読み出し動作実行時におけるリセット信号RST、外部クロック信号SCK、データ信号SDA、アドレスカウンタ値の時間的関係を示すタイミングチャートである。
読み出し動作に先立って、オペレーションコードに基づく、識別情報の確認、読み出し/書き込みコマンドの確認処理について説明する。リセット状態(RST=0またはLow)が解除される(RST=1またはHi)と、図示しないホスト計算機から、4ビットのオペレーションコードを含むデータ信号SDAが外部クロック信号に同期してデータ信号端子SDATに入力される。オペレーションコードは、図3に示すように、先頭3ビットに識別情報ID0、ID1、ID2を含み、先頭から4ビット目には、書き込みまたは読み出しを決定するためのコマンドビットを含んでいる。識別情報の比較は以下の通り実行される。
IDコンパレータ130は、リセット信号RSTがローからハイに切り替えられた後の3つのクロック信号SCKの立ち上がりエッジに同期してデータ信号端子SDATに入力されたデータ、すなわち、3ビットの識別情報を取得して第1の3ビットレジスタに格納する。これと同時にIDコンパレータ130は、アドレスカウンタ110のカウンタ値00、01、02によって指定されるメモリアレイ100のアドレスからデータを取得し、すなわち、メモリアレイ100に格納されている識別情報を取得して、第2の3ビットレジスタに格納する。
IDコンパレータ130は、第1、第2レジスタに格納された識別情報が一致するか否かを判定し、識別情報が一致しない場合には、IN/OUTコントローラ120によって、8ビットラッチレジスタ170とIN/OUTコントローラ120との間における入力信号線に対するハイインピーダンスの状態が保持される。一方、IDコンパレータ130は、第1、第2レジスタに格納された識別情報が一致する場合には、ライト/リードコントローラ140に対してアクセス許可信号AENを出力する。アクセス許可信号AENを受信したライト/リードコントローラ140は、リセット信号RSTのローからハイへの切り替わり後の4つ目のクロック信号SCKの立ち上がりエッジに同期してバス信号線に送出されたコマンドビットを取得して書き込み命令であるか否かを判定する。ライト/リードコントローラ140は、取得したコマンドビットが書き込みコマンドでない場合には、IN/OUTコントローラ120に対して読み出し命令を出力する。
読み出し命令を受信したIN/OUTコントローラ120は、メモリアレイ100に対するデータ転送方向を読み出し方向に変更し、データ転送を許容する。アドレスカウンタ110は、クロック信号SCKの立ち下がりに同期してカウントアップするため、オペレーションコード入力後のアドレスカウンタ110のカウンタ値は04であり、メモリアレイ100の04Hに格納されている既存データDEから読み出される。メモリアレイに格納されている既存データDEは、クロック信号SCKの立ち下がりに同期してIN/OUTコントローラ120を介して、データ信号端子SDATに順次出力され、出力された既存データDEはクロック信号SCKの次の立ち下がりまでの期間は保持される。クロック信号SCKが立ち下がると、アドレスカウンタ110におけるカウント値は1つインクリメントされ、この結果、メモリアレイ100における次のアドレス(データセル)に格納されている既存データDEがデータ信号端子SDATに出力される。この動作の繰り返しが、所望のアドレスに到達するまで、クロック信号SCKに同期して実行される。すなわち、本実施例における半導体記憶装置10はシーケンシャルアクセスタイプの記憶装置であるから、ホスト計算機は、読み出し、または書き込みを所望するアドレスに対応する数のクロック信号パルスを発行し、アドレスカウンタ110のカウンタ値を所定のアドレスに対応するカウント値までインクリメントしなければならない。この結果、既存データDEは、クロック信号SCKに同期して順次インクリメントされるアドレスカウンタ110のカウンタ値によって指定されるアドレスからシーケンシャルに読み出しされる。
本実施例に係る半導体記憶装置10のメモリアレイ100は、00H〜BFHまでのアドレスしか有していないが、アドレスカウンタ110はアドレスFFHまでカウントアップを実行する。アドレスC0H〜FFHまでは、疑似領域であり、対応するアドレスはメモリアレイ100には存在せず、かかる疑似領域にアクセスしている期間は、データ信号端子SDATに対して値「0」が出力される。アドレスカウンタ110によってアドレスFFHまでカウントアップされると、アドレスはアドレス00Hに戻る。読み出し動作終了後には、ホスト計算機から0またはLOWのリセット信号RSTが入力され、半導体記憶装置10は、オペレーションコードの受け付け待機状態とされる。
リセット信号RST(=0またはLOW)が入力されると、アドレスカウンタ110、IN/OUTコントローラ120、IDコンパレータ130、ライト/リードコントローラ140およびインクリメントコントローラ150は初期化される。
・書き込み処理
図4を参照して第1の実施例に係る半導体記憶装置10における書き込み動作について説明する。図4は第1の実施例に係る半導体記憶装置の書き込み動作実行時におけるリセット信号RST、外部クロック信号SCK、データ信号SDA、アドレスカウンタ値の時間的関係を示すタイミングチャートである。本実施例に係る半導体記憶装置10では、書き込みは行単位(8ビット単位)、すなわち所定アドレス単位(8アドレス単位)で実行される。
既述のIDコンパレータ130により識別情報の一致が確認された後、ライト/リードコントローラ140は、取得したコマンドビットが書き込みコマンドであると共に、インクリメントコントローラ150から書き込み許可信号WEN1を受信した場合には、IN/OUTコントローラ120に対して書き込み許可信号WEN2を出力する。
図4に示す通り、オペレーションコードが入力された後、クロック信号端子SCKTにはダミーライトクロックとして4クロック信号が入力され、書き込みスタンバイ状態とされる。アドレスカウンタ110は、クロック信号SCKの立ち下がりに同期してカウントアップするため、書き込みスタンバイ状態後の、アドレスカウンタ110のカウンタ値は08となり、メモリアレイ100のアドレス08Hからデータが書き込まれることとなる。
本実施例では、1行8ビットのメモリアレイ100に対して、16ビット長の書き込みデータが書き込まれる。書き込み処理に際しては、先ず、書き込みデータDIの最上位ビット(MSB)から8ビットのデータが、クロック信号SCKの立ち上がりに同期して、8ビットラッチレジスタ170に順次ラッチされる。また、IN/OUTコントローラ120に対して書き込み許可信号WEN2が出力されるまでは、クロック信号SCKの立ち下がりに同期して、メモリアレイ100の第8アドレス以後の既存データが順次、データ出力信号線(データ信号端子SDA)上に出力される。データ出力信号線上に出力された既存データDEは、インクリメントコントローラ150に入力され、8ビットラッチレジスタ170にラッチされた書き込みデータDIと共に、後述するように、インクリメントコントローラ150における書き込みデータDIが既存データDEよりも大きな値であるか否かを判定するために用いられる。この判断処理は、書き込みスタンバイ状態後の8サイクル目のクロック信号SCK立ち上がり後(=1またはHi)に実行される。
書き込み許可信号WEN2を受信したIN/OUTコントローラ120は、メモリアレイ100に対するデータ転送方向を書き込み方向に変更し、8ビットラッチレジスタ170とIN/OUTコントローラとの間における信号線のハイインピーダンス設定を解除してデータ転送を許容する。この結果、メモリアレイ100の各ビット線には書き込みデータDIの値(0または1)が転送される。ライト/リードコントローラ140は、書き込みスタンバイ状態後の8サイクル目のクロック信号SCK立ち上がり後に、チャージポンプ回路160に対して書き込み電圧の生成を要求し、生成された書き込み電圧は、カラム選択回路103によって選択されているビット線、本実施例では全てのビット線に印加され、この結果、8ビットラッチレジスタ170に格納されている8ビットのデータ「1」と「0」が、一度に書き込み制限行に書き込まれる。
8サイクル目のクロック信号SCKが立ち下がると、アドレスカウンタ110のカウント値が1つインクリメントされ、次のアドレス(8アドレス分)に書き込まれるべき書き込みデータDI(2バイト目のデータ)の取り込みが実行される。また、8サイクル目のクロック信号SCKが立ち下がった後のクロック・ロー期間で、書き込まれたばかりの既存データDEと書き込みに用いられた書き込みデータDIとが一致するか否かのベリファイ処理が実行される。すなわち、クロック・ロー期間の間に、インクリメントコントローラ150に備えられている4ビットカウンタ151によって書き込まれたばかりの8ビットの既存データDEのアドレスを指定するためのカウント値がカラム選択回路103およびロー選択回路104に対して入力される。この結果、IN/OUTコントローラ120からは、書き込まれたばかりの8ビットの既存データDEが出力され、IN/OUTコントローラ120を介して、インクリメントコントローラ150が備える8ビット内部レジスタ153に格納される。インクリメントコントローラ150は、8ビット内部レジスタ153に格納されている8ビットの既存データDEと8ビットラッチレジスタ170に格納されている8ビットの書き込みデータDIとが一致するか否かを検証する。
本実施例では、書き込みデータDIは16ビット長のデータであり、書き込み制限行は2行(8アドレス×2)であるため、上記の処理が2度実行されると、書き込みデータDIの書き込みは完了する。書き込みデータDIの書き込み完了後、ホスト計算機からリセット信号RST(=0またはLOW)がリセット信号端子RSTTに入力され、オペレーションコードの受け付け待機状態とされて、書き込み処理が終了する。
なお、ホスト計算機から送出される書き込みデータは、書き換えを所望するアドレスに対応するデータを除いて、メモリアレイ100に現在格納されているデータと同一の値(0または1)を有している。すなわち、メモリアレイ100における書き換えられないアドレスのデータは、同一の値によって上書きされる。
リセット信号RST(=0またはLOW)が入力されると、アドレスカウンタ110、IN/OUTコントローラ120、IDコンパレータ130、ライト/リードコントローラ140およびインクリメントコントローラ150は初期化される。
・インクリメント確認処理:
図5〜図8を参照して、第1の実施例に係る半導体記憶装置10によって実行される書き込み処理におけるインクリメント確認処理、データベリファイ処理について説明する。図5および図6は第1の実施例に係る半導体記憶装置10によって実行される書き込み処理におけるインクリメント確認処理の処理ルーチンを示すフローチャートである。図7は第1の実施例に係る半導体記憶装置10によって実行される書き込み処理におけるデータベリファイ処理の処理ルーチンを示すフローチャートである。図8は第1の実施例におけるインクリメント確認処理の結果の一例を示す説明図である。
書き込み処理が開始されると、16ビット(2バイト)長の書き込みデータDIの内、1バイト目の書き込みデータDI1が8ビットラッチレジスタ170にラッチされるタイミングで、インクリメントコントローラ150は、メモリアレイ100の第1の書き込み制限行に格納されている対応既存データDE1を1ビット単位にて読み出す(ステップS100)。以降、第1の書き込み制限行に格納されている8ビットの既存データDE1を構成する1ビットの各既存データDE1を既存データDE1n(n=1〜8)とする。また、8ビットの書き込みデータDI1を構成する1ビットの各書き込みデータDI1を書き込みデータDI1n(n=1〜8)とする。
すなわち、インクリメントコントローラ150は、2バイト目の各書き込みデータDI2nを8ビットラッチレジスタ170へラッチする際に用いられるクロック信号SCKの立ち下がりに同期してIN/OUTコントローラ120から出力される、メモリアレイ100の第1の書き込み制限行に格納されている対応既存データDE1を1ビット単位にて読み出す。なお、1バイト目の書き込みデータが書き込まれるべきメモリアレイ100のアドレスは、第1の書き込み制限行に対応する8アドレスであり、8アドレスが所定の単位のアドレスとなる。
インクリメントコントローラ150は、今回のタイミングで8ビットラッチレジスタ170にラッチされた1ビットの書き込みデータDI1を読み出す(ステップS102)。なお、本実施例では、書き込みデータDIは最上位ビット(MSB)から順に半導体記憶装置10に入力され、8ビットラッチレジスタ170には、MSBにて書き込みデータDI1nが順次ラッチされる。
インクリメントコントローラ150は、8ビットラッチレジスタ170から読み出した書き込みデータDI1nの値がメモリアレイ100の第1の書き込み制限行から読み出した既存データDE1nの値以上であるか否か、すなわち、DI1n≧DE1nであるか判断する(ステップS104)。インクリメントコントローラ150は、DI1n<DE1nであると判断した場合には(ステップS104:No)、本処理ルーチンを終了する。すなわち、書き込みデータDI1の書き込みは実行されない。なお、図5では、書き込みデータDI1nの値が既存データDE1nの値以上であるか否か、すなわち、DI1n≧DE1nの判断が記載されているが、この判断は、DI1n<DE1nであるか、すなわち、書き込みデータDI1nの値が既存データDE1nの値未満であるかの判断と置き換えられても良い。DI1n<DE1nの判断に置き換えられた場合には、Yes、Noの判断が入れ替わるに過ぎない。
インクリメントコントローラ150は、DI1n≧DE1nであると判断した場合には(ステップS104:Yes)、第1の書き込み制限行から読み出した既存データDE1nを、内部に備える8ビット内部レジスタ152に格納する(ステップS106)。
インクリメントコントローラ150は、第1の書き込み制限行に格納されている8ビットの既存データDE1nと8ビットラッチレジスタ170に格納されている8ビットの書き込みデータDI1nとの対比が完了したか否かを判定し(ステップS108)、完了していないと判定した場合には(ステップS108:No)、ステップS100〜S106を繰り返して実行する。
インクリメントコントローラ150は、第1の書き込み制限行に格納されている8ビットの既存データDE1nと8ビットラッチレジスタ170に格納されている8ビットの書き込みデータDI1nとの対比が完了したと判定した場合には(ステップS108:Yes)、8ビットラッチレジスタ170に格納されている書き込みデータDI1をメモリアレイ100の第1の書き込み制限行に対して書き込む(ステップS110)。すなわち、DE1←DI1となり、書き込みデータDI1が新たな既存データDE1となる。より詳細には、既述のように、インクリメントコントローラ150がメモリアレイ100に対する書き込みデータDI1の書き込みを直接実行するのではなく、8ビットラッチレジスタ170に格納されている書き込みデータDI1をメモリアレイ100の第1の書き込み制限行に書き込みことを許可する、書き込み許可信号WEN1をライト/リードコントローラ140に対して出力し、書き込み許可信号WEN1を受信したライト/リードコントローラ140によって書き込みが実行される。
インクリメントコントローラ150は、データベリファイ処理を実行し(ステップS112)、書き込みが正常に完了していた場合には(ステップS114:Yes)、図6のA以降のステップを実行する。一方、インクリメントコントローラ150は、データベリファイ処理を実行し(ステップS112)、書き込みが正常に完了していなかった場合には(ステップS114:No)、書き込み処理を終了する。
データベリファイ処理について図7を参照して説明する。インクリメントコントローラ150は、メモリアレイ100の第1の書き込み制限行から、書き込んだばかりの既存データDE1を読み出し(ステップS200)、8ビットラッチレジスタ170にはに格納されてる書き込みデータDI1と比較する(ステップS202)。具体的には、インクリメントコントローラ150は、1バイト目の書き込み終了後におけるクロック・ロー期間に、チャージポンプ回路160の内部発振器162によって生成される内部クロック信号を用いて、4ビットカウンタ151をカウントアップさせる。インクリメントコントローラ150は、4ビットカウンタ151のカウント値をカラム選択回路103およびロー選択回路104に入力し、メモリアレイ100の第1の書き込み制限行から書き込んだばかりの8ビットの既存データDE1をアドレス順に、IN/OUTコントローラ120を介して読み出し、8ビット内部レジスタ153にラッチする。すなわち、内部クロック信号は書き込みスタンバイ状態から8ビット(8クロック)遅れで出力されることとなる。
インクリメントコントローラ150は、8ビット内部レジスタ153にラッチされた既存データDE1と8ビットラッチレジスタ170にラッチされている第1の書き込み制限行に対する書き込みに用いられた書き込みデータDI1とが一致するか否かを判定する(ステップS206)。インクリメントコントローラ150は、第1の書き込み制限行から読み出された8ビット内部レジスタ153に格納されている既存データDE1が8ビットラッチレジスタ170に格納されている書き込みデータDI1と一致する場合には(ステップS206:Yes)、書き込みが正常に完了したものと判断し(ステップS208)、本処理ルーチンを完了する。
インクリメントコントローラ150は、第1の書き込み制限行から読み出された8ビット内部レジスタ153にラッチされている既存データDE1が8ビットラッチレジスタ170に格納されている書き込みデータDI1と一致しない場合には(ステップS206:No)、書き込みが正常に完了しなかった、すなわち、書き込み異常であると判断する(ステップS210)。インクリメントコントローラ150は、第1の書き込み制限行から読み出された8ビット内部レジスタ153にラッチされている既存データDE1と、8ビット内部レジスタ152に格納されている書き込み前の既存データDE1oldとが一致するか否かを判定し(ステップS212)、DE1=DE1oldであると判定した場合には(ステップS212:Yes)、本処理ルーチンを終了する。一方、インクリメントコントローラ150は、DE1≠DE1oldであると判定した場合には(ステップS212:No)、8ビット内部レジスタ152に格納されている書き込み前の既存データDE1oldをメモリセル100の第1の書き込み制限行に対して書き戻し(ステップS214)、本処理ルーチンを終了する。書き込み異常の判定がなされた場合には、第2の書き込み制限行に対する残りの書き込みデータDI2の書き込み処理は実行されない。
書き戻し処理は、第2の書き込み制限行に対する書き込み処理サイクルに実行される。すなわち、2バイト目の書き込みデータDI2の書き込みサイクルにおいて、8ビットラッチに格納されている既存データDE1oldがIN/OUTコントローラ120に入力され、データ信号端子SDATを介して入力されたデータと同様にして、メモリアレイ100の第1の書き込み制限行に対する書き込み処理が実行される。この結果、メモリアレイ100の第1および第2の書き込み制限行におけるデータは、書き込み処理実行前の値に戻される。
図6に戻り、インクリメント確認処理について説明する。16ビット長の書き込みデータDIの内、1バイト目の書き込みデータDI1の書き込みが正常に完了すると、残りの2バイト目の書き込みデータDI2が8ビットラッチレジスタ170にラッチされるタイミングで、インクリメントコントローラ150は、メモリアレイ100の第2の書き込み制限行に格納されている対応既存データDE2を1ビット単位にて読み出す(ステップS116)。以降、第2の書き込み制限行に格納されている8ビットの既存データDE2を構成する1ビットの各既存データDE2を既存データDE2n(n=1〜8)とする。また、8ビットの書き込みデータDI2を構成する1ビットの各書き込みデータDI2を書き込みデータDI2n(n=1〜8)とする。
すなわち、インクリメントコントローラ150は、2バイト目の各書き込みデータDI2nを8ビットラッチレジスタ170へラッチする際に用いられるクロック信号SCKの立ち下がりに同期してIN/OUTコントローラ120から出力される、メモリアレイ100の第2の書き込み制限行に格納されている対応既存データDE2nを読み出す。なお、1バイト目の書き込みデータが書き込まれるべきメモリアレイ100のアドレスは、第2の書き込み制限行に対応する8アドレスであり、8アドレスが所定の単位のアドレスとなる。
インクリメントコントローラ150は、今回のタイミングで8ビットラッチレジスタ170にラッチされた書き込みデータDI2nを読み出す(ステップS118)。なお、本実施例では、書き込みデータDIは最上位ビット(MSB)から順に半導体記憶装置10に入力され、8ビットラッチレジスタ170には、MSBにて書き込みデータDI2nが順次ラッチされる。
インクリメントコントローラ150は、8ビットラッチレジスタ170から読み出した書き込みデータDI2nの値がメモリアレイ100の第1の書き込み制限行から読み出した既存データDE2nの値より大きな値であるか否か、すなわち、DI2n>DE2nであるか判断する(ステップS120)。インクリメントコントローラ150は、DI2n≦DE2nであると判断した場合には(ステップS120:No)、本処理ルーチンを終了する。すなわち、書き込みデータDI2の書き込みは実行されない。
インクリメントコントローラ150は、DI2n>DE2nであると判断した場合には(ステップS120:Yes)、第2の書き込み制限行に格納されている8ビットの既存データDE2nと8ビットラッチレジスタ170に格納されている8ビットの書き込みデータDI2nとの対比が完了したか否かを判定し(ステップS122)、完了していないと判定した場合には(ステップS122:No)、ステップS116〜S120を繰り返して実行する。
インクリメントコントローラ150は、第2の書き込み制限行に格納されている8ビットの既存データDE2nと8ビットラッチレジスタ170に格納されている8ビットの書き込みデータDI2nとの対比が完了したと判定した場合には(ステップS122:Yes)、8ビットラッチレジスタ170に格納されている書き込みデータDI2をメモリアレイ100の第2の書き込み制限行に対して書き込み(ステップS124)、本処理ルーチンを完了する。すなわち、DE2←DI2となり、書き込みデータDI2が新たな既存データDE2となる。より詳細には、既述のように、インクリメントコントローラ150がメモリアレイ100に対する書き込みデータDI1の書き込みを直接実行するのではなく、8ビットラッチレジスタ170に格納されている書き込みデータDI2をメモリアレイ100の第2の書き込み制限行に書き込みことを許可する、書き込み許可信号WEN1をライト/リードコントローラ140に対して出力し、書き込み許可信号WEN1を受信したライト/リードコントローラ140によって書き込みが実行される。
図8を参照して、メモリアレイ100に対して書き込みが許容される場合と書き込みが許容されない場合について例示的に説明する。図8ではメモリアレイ100のアドレスが横軸に取られており、左端が最上位ビット(MSB)であり右端が最下位ビット(LSB)となる。アドレス08〜0Fまでは第1の書き込み制限行に相当し、アドレス10〜17までは第2の書き込み制限行に相当する。
・第1の例では、第1の書き込み制限行に対応する書き込みデータDI1と既存データDE1とが一致し、第2の書き込み制限行に対応する書き込みデータDI2は既存データDE2よりも大きいので書き込みが許容される。
・第2の例では、第1の書き込み制限行に対応する書き込みデータDI1と既存データDE1とが一致し、第2の書き込み制限行に対応する書き込みデータDI2は既存データDE2よりも小さいので書き込みが許容されない。
・第3の例では、第1の書き込み制限行に対応する書き込みデータDI1は既存データDE1よりも大きいが、第2の書き込み制限行に対応する書き込みデータDI2は既存データDE2よりも小さいので書き込みが許容されない。
・第4の例では、第1の書き込み制限行に対応する書き込みデータDI1は既存データDE1よりも小さいので、第2の書き込み制限行に対応する書き込みデータDI2と既存データDE2との大小関係に関わりなく書き込みが許容されない。
図9を参照して、第1の実施例に係る半導体記憶装置10の応用例について説明する。図9は第1の実施例に係る半導体記憶装置の応用例を示す説明図である。第1の実施例に係る半導体記憶装置10は、消費材を収容する収容容器、例えば、印刷記録材としてのインクを収容するインク収容体310、311、312に備えられる。各インク収容体310、311、312が印刷装置に装着されると、印刷装置に備えられるホスト計算機300と、バス接続される。すなわち、ホスト計算機300からのデータ信号線SDA、クロック信号線SCK、リセット信号線RST、正極電源線VDD、および負極電源線VSSは、各インク収容体310、311、312に備えられている半導体記憶装置10と接続されている。この応用例では、インク残量またはインク消費量といったインクに関する量の情報が半導体記憶装置10に格納される。
以上説明したとおり、第1の実施例に係る半導体記憶装置10によれば、半導体記憶装置10には、既存データDEよりも大きな値の書き込みデータDIのみが書き込まれる。したがって、値が増加する特性を有するデータの更新精度を向上させることができる。すなわち、ホスト計算機から送信される書き込みデータDIがノイズによって、先の値よりも小さな値に変更されてしまった場合、あるいは、ホスト計算機から誤って先の値よりも小さな値が送信された場合には、半導体記憶装置10に対する書き込みは実行されない。したがって、消費材の消費量によって装置の制御が行われている場合、例えば、インクジェット式プリンタにおけるインクヘッドの空撃ち防止をインク消費量によって監視している場合に、空撃ちによるインクヘッドの損傷をより高い精度にて抑制または防止することができる。
第1の実施例の変形例:
(1)上記第1の実施例では、書き込みデータDI2が既存データDE2よりも大きな値を有する場合に、第2の書き込み制限行に対する書き込みを許容しているが、書き込みデータDI2と既存データDE2とが等しい場合に書き込みを許容しても良い。かかる場合には、少なくともメモリアレイ100に格納されている消費材の消費量に関するデータが低減されることはなく、データの低減に伴う不具合を低減または防止することができる。この場合、既存データDE2は同値の書き込みデータDI2によって上書きされる。
(2)上記第1の実施例では、半導体記憶装置10に対して、値が増加する特性のデータを格納する場合、すなわち、消費材の消費量が記録される場合について説明したが、値が低減する特性のデータを格納する場合、すなわち、消費材の残量が記録される場合にも同様の利益を享受することができる。この場合には、インクリメントコントローラ150に代えて、書き込みデータDIが既存データDEよりも小さな値のデータであるか否かを判定するデクリメントコントローラを備えればよい。
(3)上記第1の実施例では、インクカートリッジを応用例として用いたが、この他にもトナーカートリッジにおいても同様の効果を得ることができる。また、プリペイドカード等の通貨相当情報を格納する媒体において適用した場合にも同様の効果を得ることができる。
(4)上記第1の実施例では、ベリファイ処理において、4ビットカウンタおよび内部発振器162が用いられているが、これら回路を用いることなくベリファイ処理を実行しても良い。すなわち、上記実施例では8ビット内部レジスタ153にラッチされている既存データDE1はと8ビットラッチレジスタ170にラッチされている書き込みDI1を用いて8ビット単位でベリファイ処理が実行されているが、1ビット単位で実行されても良い。かかる場合には、インクリメントコントローラ150は、4ビットカウンタ151および8ビット内部レジスタ153を備える必要がない。
具体的には、インクリメントコントローラ150は、2バイト目の書き込みデータDI2の各ビットが8ビットラッチレジスタ170にラッチされるタイミングにて、メモリアレイ100の第1の書き込み制限行から書き込まれたばかりの既存データDE1をMSBから1ビット単位にて読み出す。かかる既存データDE1の読み出しは、例えば、ベリファイ処理時(2バイト目の書き込みデータDI2のラッチ時)には、カラム選択回路103およびロー選択回路104が、アドレスカウンタ110から入力されるカウント値から8カウント分を減算し、減算したカウント値を用いてメモリアレイ100の読み出しデータを選択するようにすればよい。あるいは、カラム選択回路103およびロー選択回路104が、1サイクル前の読み出しアドレスを記憶しておき、アドレスカウンタ110から入力されるカウント値に基づいて記憶されたアドレスを順次、選択するようにしておいても良い。
一方、8ビットラッチレジスタ170はFIFOタイプのレジスタであるから、2バイト目の書き込みデータDI2が1ビット単位でラッチされる毎に既にラッチされている書き込みデータDI1が1ビット単位で放出される。インクリメントコントローラ150は、8ビットラッチレジスタ170からMSBにて1ビット単位で放出される1バイト目の書き込みデータDI1と、メモリアレイ100の第1の書き込み制限行からMSBにて1ビット単位で読み出される既存データDE1とを比較することによって、書き込まれるべき書き込みデータDI1がメモリアレイ100の第1の書き込み制限行に正しく書き込まれているか否か、すなわち、各ビットの値が一致するか否か、を判定することができる。このビット単位の比較処理を8回繰り返すことで、1バイト目の書き込みデータDI1が正しく書き込まれたか否かを判定することができる。第1の書き込み制限行に書き込まれた8ビットの既存データDE1の全てについて正しく書き込まれている場合には、2バイト目の書き込みデータDI2に対するインクリメント確認処理が実行された後、メモリアレイ100の第2の書き込み制限行に対する書き込みデータDI2の書き込みが実行される。
(5)上記第1の実施例では、ベリファイ処理の結果、第1の書き込み制限行に対して1バイト目の書き込みデータDI1が正しく書き込まれていない場合には、8ビット内部レジスタ152にラッチされている書き込み前の既存データDE1oldが第1の書き込み制限行に対して書き戻されるが、書き戻しを実行しなくてもよい。かかる場合であっても、第2の書き込み制限行に対する2バイト目の書き込みデータDI2の書き込みは実行されず、下位8ビットの値は正常に書き込まれた値であることが保証される。一方、上位8ビットの値については、一般的に、短い期間で大きく変動する値でないことから、ホスト計算機側において、前回の値との確からしさを検証することによって、不具合を回避することができる。
(6)上記第1の実施例では、16ビット長の書き込みデータを例にとって説明しているが、この他にも、24ビット長、32ビット長といった、メモリアレイ100の1行のビット長の倍数のデータ長を有するデータに対しても同様に適用することができると共に、同様の効果を得ることができる。
第2の実施例:
半導体メモリ装置の構成:
第2の実施例に係る半導体メモリ装置は、不揮発的に記憶内容を保持すると共に1ビット単位にて先頭アドレスからシーケンシャルにアクセスされるEEPROMである。
図10は第2の実施例に係る半導体メモリ装置の内部回路構成を示すブロック図である。この半導体メモリ装置10Aは、アクセスコントローラ1110、リードライトコントローラ1120、アドレスカウンタ1130およびメモリアレイ1140を備えている。
メモリアレイ1140は、所定容量、例えば、256ビットの記憶領域を有している。
アドレスカウンタ1130は、クロック信号端子CKTに入力されるクロック信号CLKに同期してそのカウンタ値をインクリメントする回路である。より具体的には、アドレスカウンタ1130は、リードライトコントローラ1120から出力されるカウントアップ信号CPに同期してそのカウンタ値をインクリメント(カウントアップ)する回路である。ただし、カウントアップ信号CPは、リードライトコントローラ1120から出力されるクロック信号であり、内部クロック信号ICKに相当する。また、内部クロック信号ICKは、コントローラ1110から出力されるクロック信号であり、クロック信号CLKに相当する。したがって、カウントアップ信号CPは、クロック信号CLKに相当するクロック信号であり、アドレスカウンタ1130は、クロック信号CLKに同期してそのカウンタ値をカウントアップすることになる。
アドレスカウンタ1130のカウンタ値は、メモリアレイ1140の256ビットの記憶領域位置を示すアドレスADDとしてメモリアレイ1140に入力されており、アドレスカウンタ1130のカウンタ値によってメモリアレイ1140における書き込み位置または読み出し位置を指定することができる。
アドレスカウンタ1130は、また、カウンタリセット信号CRSTが入力されると、カウンタ値を初期値にリセットする。ここで、初期値はメモリアレイ1140の先頭位置と関連付けられていればどのような値でもよく、一般的には0が初期値として用いられる。なお、カウンタリセット信号CRSTは、装置の起動時や、アクセス(データの読み出しまたは書き込み)の開始または終了時に、リードライトコントローラ1120から出力される。
したがって、アドレスカウンタ1130は、初期値から順にカウントアップされるカウンタ値によりメモリアレイ1140の書き込み位置または読み出し位置を順に指定することができる。
アクセスコントローラ1110は、チップセレクト端子CSTと、クロック信号端子CKTと、データ信号端子IOと接続されており、チップセレクト端子CKTを介してチップセレクト信号CS#が入力され、クロック信号端子CKTを介してクロック信号CLKが入力され、データ信号端子IOを介してデータ信号DAが入力あるいは出力される。入力されたクロック信号CLKは内部クロック信号ICKとしてリードライトコントローラ1120に送出される。データ信号DAが入力データ信号の場合には、入力データ信号IDAとしてリードライトコントローラ1120に送出され、書き込みデータ信号WDAとしてメモリアレイ1140に送出される。データ信号DAが出力データ信号である場合には、メモリアレイ1140から送出された読み出しデータ信号RDAがデータ信号DAとして出力される。
また、アクセスコントローラ1110は、チップセレクト信号CS#と、クロック信号CLKに同期して入力されるデータ信号DAとに基づいて、アクセスの開始および終了を制御する。具体的には、アクセスコントローラ1110は、チップセレクト信号CS#が入力され、データの読み出しまたは書き込みを指示するコマンドデータがあらかじめ定められたタイミングでデータ信号DAとして入力されると、アクセス許可信号AENをリードライトコントローラ1120およびアドレスカウンタ1130に送出するとともに、指示されたアクセスが書き込みである場合には、書き込みアクセス開始信号WRSをリードライトコントローラ1120に送出することにより、アクセスの開始を制御する。また、アクセスコントローラ1110は、チップセレクト信号CS#の入力が終了すると、アクセス許可信号AENの送出を終了するとともに、書き込みアクセス開始信号WRSを送出している場合にはその送出を終了することにより、アクセスの終了を制御する。
リードライトコントローラ1120は、データの読み出しを制御するリード制御部1122と、データの書き込みを制御するライト制御部1124と、リード制御部1122からの指示に従ってリード実行信号RDをメモリアレイ1140に送出するとともに、ライト制御部1124からの指示に従ってリード実行信号RDおよびライト実行信号WRをメモリアレイ1140に送出するリードライト実行部1126と、を備えており、データの読み出しあるいは書き込みを実際に制御する。具体的には、アクセスコントローラ1110からアクセス許可信号AENおよび書き込み開始信号WRSのうち、アクセス許可信号AENのみが入力される場合には、リード制御部1122およびリードライト実行部1126が動作して、内部クロック信号ICKの立ち下がり(立ち上がり)に同期したリード実行信号RDをメモリアレイ1140に送出して、データの読み出し処理を実行する。このとき、メモリアレイ1140からの読み出しデータ信号RDAに含まれる読み出しデータ(単に「読み出しデータRDA」とも呼ぶ。)は、アクセスコントローラ1110に入力され、データ信号端子IOを介して出力データ信号DAとして出力される。また、アクセスコントローラ1110からアクセス許可信号AENおよび書き込みアクセス開始信号WRSが入力される場合には、ライト制御部1124およびリードライト実行部1126が動作して、内部クロック信号ICKの立ち下がり(立ち上がり)に同期したリード実行信号RDおよび内部クロック信号ICKの立ち上がり(立ち下がり)に同期したライト実行信号WRをメモリアレイ1140に送出して、後述するようにデータの読み出しおよび書き込み処理を実行する。このとき、データ信号端子IOを介してアクセスコントローラ1110に入力されたデータ信号DAが、書き込みデータ信号WDAとしてメモリアレイ1140に送出され、書き込みデータ信号WDAの表すデータ(単に「書き込みデータWDA」とも呼ぶ。)は、メモリアレイ1140に入力される順に書き込まれる。
なお、本実施例の半導体メモリ装置の特徴は、ライト制御部1124によるデータの書き込み動作の部分にあり、リード制御部1122によるデータの読み出し動作の部分については、従来の半導体メモリ装置と同様であるので、以下では、データの書き込み動作について説明を加える。
書き込み動作:
前提として、データ信号DAとしてデータ信号端子IOを介して順に入力される複数ビットのデータは、必ず最大ビット(MSB)から順に1ビット単位で入力され、メモリアレイ1140の記憶領域位置も最大ビットに関連付けられたアドレスから順番にアクセスされることとする。
図11は、第2の実施例におけるデータの書き込み動作の手順を示すフローチャートである。この動作は、上記したように、アクセスコントローラ1110からリードライトコントローラ1120にアクセス許可信号AENが入力されるとともに、書き込みアクセス開始信号WRSが入力される場合に、ライト制御部1124によって実行される。
書き込み動作を開始すると、ライト制御部1124は、まず、リードライト実行部1126にデータの読み出しを実行させる(ステップS1102)。例えば、リードライト実行部1126は、内部クロック信号ICKの立ち下がりに同期してリード実行信号RDをメモリアレイ1140に送出する。このとき、リード実行信号RDに従って、メモリアレイ1140の、アドレスカウンタ1130から送出されているアドレス信号ADDの表すアドレス値に対応する記憶領域位置の記憶領域から、記憶されているデータ(記憶データ)が読み出される。なお、リード実行信号RDの送出は、以下で説明する他の読み出し処理においても、内部クロック信号ICKの立ち下がりに同期して行われることとする。
そして、ライト制御部1124は、上記のようにして読み出されてメモリアレイ1140から送出されている読み出しデータ信号RDAの表すデータ(単に「読み出しデータ」と呼ぶ。)と、このとき、データ信号端子IOを介して入力され、アクセスコントローラ1110から送出されている入力データ信号IDAの表すデータ(単に「入力データ」と呼ぶ。)と、を比較し(ステップS1104)、読み出しデータの値と入力データの値とが一致しているか否かを判断する(ステップS1106)。
読み出しデータの値と入力データの値とが一致している場合には(ステップS1106:Yes)、ライト制御部1124は、アドレスカウンタ1130のカウンタ値を1つカウントアップさせ(ステップS1108)、さらに、アクセス動作を終了するか否か判断し(ステップS1110)、アクセス動作を継続する場合には(ステップS1110:No)、再び、リードライト実行部1126にデータの読み出しを実行させる(ステップS1102)。例えば、リードライトコントローラ1120は、リードライト実行部1226がリード実行信号RDを送出した後の、内部クロック信号ICKの次の立ち下がりに同期してカウントアップ信号CPをカウンタ1130に送出する。このとき、カウントアップ信号CPに従って、カウンタ1130のカウンタ値が1つカウントアップされる。なお、カウンタ1130は、内部クロック信号ICKに相当するカウントアップ信号CPの各立ち下がりタイミング(カウントアップタイミング)で、毎周期カウンタ値をカウントアップする。
したがって、ライト制御部1124は、読み出しデータと入力データとが不一致となる(ステップS1106:No)まで、データの読み出し処理(ステップS1102)および入力データとの比較処理(ステップS1104)を繰り返す。
なお、ライト制御部1124は、上記アクセス動作の終了判断(ステップS1110)において、アクセス動作を終了すると判断される場合には(ステップS1110:Yes)、アドレスカウンタ1130のカウンタ値をリセットして(ステップS1124)、この書き込み動作を終了する。アクセス動作の終了は、チップセレクト信号#CSあるいはアクセス許可信号AENが入力されているか否かにより、判断することができる。具体的には、判断の対象となる信号、例えば、アクセス許可信号AENの状態が非アクティブ状態であればアクセス動作終了と判断することができる。
一方、ライト制御部1124は、上記読み出しデータの値と入力データの値が一致しているか否かの判断において(ステップS1106)、読み出しデータの値と入力データの値とが一致していない場合には(ステップS1106:No)、さらに、入力データの値が[1]であるか否か判断する(ステップS1112)。
入力データの値が[1]である場合には(ステップS1112:Yes)、書き込み許可フラグを設定して(ステップS1114)、リードライト実行部1126に書き込みデータとしての入力データの書き込みを実行させる(ステップS1116)。例えば、リードライト実行部1126は、内部クロック信号ICKの立ち上がりに同期してライト実行信号WRをメモリアレイ1140に送出する。このとき、メモリアレイ1140の、アドレスカウンタ1130から送出されているアドレス信号ADDの表すアドレス値に対応する記憶領域位置の記憶領域に対して、入力データ(書き込みデータ)が書き込まれる。
そして、ライト制御部1124は、次のカウントアップタイミングでアドレスカウンタ1130のカウンタ値を1つカウントアップさせて(ステップS1118)、さらに、アクセス動作を終了するか否か判断する(ステップS1120)。
アクセス動作を継続する場合には(ステップS1120:No)、再び、データの書き込み処理(ステップS1116)およびアドレスのカウントアップ処理(ステップS1118)を実行させる。一方、アクセス動作を終了する場合には(ステップS1120:Yes)、書き込み許可フラグの設定を解除し(ステップS1122)、アドレスカウンタ1130のカウンタ値をリセットして(ステップS1124)、この書き込み動作を終了する。
また、ライト制御部1124は、上記入力データの値が[1]であるか否かの判断(ステップS1110)において、入力データの値が[1]でないと判断される場合には(ステップS1110:No)、アクセス動作が終了するまで(ステップS1128:No)、入力データの書き込みを禁止して(ステップS1126)、リードライト実行部1126の動作を停止させる。一方、アクセス動作を終了する場合には(ステップS1128:Yes)、アドレスカウンタ1130のカウンタ値をリセットして(ステップS1124)、この書き込み動作を終了する。
次に、上記書き込み動作による具体例を説明する。説明を容易にするため、4ビットの記憶領域に4ビットのバイナリデータを書き込場合を前提とする。例えば、4ビットの各記憶領域にデータ[1010b]が記憶されているとする。なお、[]中の[b]はバイナリデータであることを示しており、4つの[1]または[0]の値のうち、左端が最大ビット(MSB)で右端が最小ビット(LSB)を示している。
例えば、入力データ(書き込みデータ)[1010b]が左端の最大ビットから順に入力されると、記憶データ[1010b]の対応するビットと順に比較されることになる。このとき、入力データと記憶データとは各ビットの値が一致しているので、データの書き込みは行われない。
また、入力データ[1100b]が入力される場合には、記憶データ[1010b]に対して、左から2ビット目の入力データの値が[1]で、記憶データの値が[0]で不一致であり、かつ、入力データの値は[1]であるので、入力データの値は記憶データの値よりも大きいことになる。この結果、書き込み許可フラグが設定されて、左から2ビット目の[1]、3ビット目の[0]および4ビット目の[0]が順に書き込まれて、4ビットの各記憶領域に記憶されているデータ[1010b]が、入力データ[1100b]に書き換えられる。
さらに、入力データ[1001b]が入力される場合には、記憶データ[1010b]に対して、左から3ビット目の入力データの値が[0]で、記憶データの値が[1]で不一致となるが、入力データの値は[0]であるので、入力データの値は記憶データの値よりも小さいことになる。この結果、書き込み許可フラグは設定されず、入力データ[1001b]の書き込みは禁止される。
以上、説明したように、第2の実施例の書き込み動作では、書き込みデータとしての入力データの値が、記憶データの値よりも大きい場合においてのみ、データの書き換えを行うことができ、書き込みデータが記憶データよりも小さい場合には、書き込みを禁止することができる。これにより、あらかじめ定められたデータ条件による書き込み以外の書き込みを防止することができる。
なお、上記第2の実施例の書き込み動作では、書き込みデータと記憶データとが一致している場合には、入力データの書き込みが行われないこととして説明したが、一致している場合にも書き込み許可フラグを設定して入力データの書き込みを行い、書き込みデータの方が記憶データよりも小さい場合においてのみデータの書き込みを禁止するようにしてもよい。
また、上記第2の実施例の書き込み動作では、1ビット単位で順にデータを書き込むことを前提に説明したが、nビット単位のデータをまとめて一度に書き込むようにしてもよい。ただし、このようにする場合には、nビットのデータが全て入力されるまで、各ビットの入力データを保持するためのデータバッファを備える必要がある。
ところで、第2の実施例の書き込み動作は、「書き込みデータが記憶データよりも大きい」というデータ条件を満たす場合においてのみ、データの書き換みを可能とするものである。しかしながら、ライト実行信号WRの発生期間を短くするように、例えば、ライト実行信号WRの発生の基準となるクロック信号CLKのタイミングを変化させて書き込み動作を行わせた場合には、データ条件を満たさないデータを書き込めてしまう可能性がある。そこで、以下では、この不具合に対応させた実施例の半導体メモリ装置について説明を加える。
・第3の実施例:
半導体メモリ装置の構成:
第3の実施例に係る半導体メモリ装置も、第2実施例と同様に、不揮発的に記憶内容を保持すると共に1ビット単位にて先頭アドレスからシーケンシャルにアクセスされるEEPROMであるとする。
図12は、第3の実施例に係る半導体メモリ装置の内部回路構成を示すブロック図である。この半導体メモリ装置20Aは、アクセスコントローラ1210、リードライトコントローラ1220、アドレスカウンタ1230およびメモリアレイ1240に加えて、データバッファ1228および減算器1232を備えている。
アクセスコントローラ1210、アドレスカウンタ1230およびメモリアレイ1240は、第2の実施例の半導体メモリ装置(図10参照。)のアクセスコントローラ1110、アドレスカウンタ1130およびメモリアレイ1140と同じである。
データバッファ1228は、リードライトコントローラ1220から入力されるラッチ信号DLTに従って、アクセスコントローラ1210からの入力データ信号IDAをラッチするとともに、ラッチデータを書き込みデータ信号WDAとしてメモリアレイ1140に送出する。
減算器1232は、リードライトコントローラ1220からの減算信号DECに従って、アドレスカウンタ1230のカウンタ値で表されるアドレス(「非減算アドレス」と呼ぶ。)、あるいは、カウンタ値を減算した値で表されるアドレス(「減算アドレス」と呼ぶ。)を、アドレス信号ADDとしてメモリアレイ1140に送出する。
リードライトコントローラ1220は、リード制御部1222、ライト制御部1224およびリードライト実行部1226を備えており、基本的には、第2の実施例のリードライトコントローラ1120と同様に、アクセス(データの読み出しあるいはデータの書き込み)を実際に制御する。リード制御部1222およびリードライト実行部1226は、第2の実施例のリード制御部1122およびリードライト実行部1126と同じである。
ライト制御部1224は、アドレスカウンタ1230、リードライト実行部1226、データバッファ1228および減算器1232の動作を制御して、後述するデータの書き込み動作を制御する。
なお、本実施例の半導体メモリ装置の特徴も、ライト制御部1224の制御によるデータの書き込み動作の部分にあり、リード制御部1122によるデータの読み出し動作の部分については、従来の半導体メモリ装置と同様であるので、以下では、ライト制御部1224によるデータの書き込み動作について説明を加える。
書き込み動作:
前提として、第2の実施例における書き込み動作の場合と同様に、データ信号DAとしてデータ信号端子IOを介して順に入力される複数ビットのデータは、必ず最大ビット(MSB)から順に1ビット単位で入力され、メモリアレイ1240の記憶領域位置も最大ビットに関連付けられたアドレスから順番にアクセスされることとする。
図13は、第3の実施例におけるデータの書き込み動作の手順を示すフローチャートである。この動作は、第2の実施例の場合と同様に、アクセスコントローラ1210からリードライトコントローラ1220にアクセス許可信号AENが入力されるとともに、書き込みアクセス開始信号WRSが入力される場合に、ライト制御部1224によって実行される。
書き込み動作を開始すると、ライト制御部1224は、まず、リードライト実行部1226にデータの読み出しを実行させる(ステップS1202)。例えば、リードライト実行部1226は、内部クロック信号ICKの立ち下がりに同期してリード実行信号RDをメモリアレイ1240に送出する。このとき、リード実行信号RDに従って、メモリアレイ1240の、アドレスカウンタ1230から送出されているアドレス信号ADDの表すアドレス値に対応する記憶領域位置の記憶領域から、記憶されているデータ(記憶データ)が読み出される。なお、リード実行信号RDの送出は、以下で説明する他の読み出し処理においても、内部クロック信号ICKの立下りに同期して行われることとする。
そして、ライト制御部1224は、上記のようにして読み出されたメモリアレイ1240からの読み出しデータと、入力データとを比較し(ステップS1204)、読み出しデータの値と入力データの値とが一致しているか否かを判断する(ステップS1206)。
読み出しデータの値と入力データの値とが一致している場合には(ステップS1206:Yes)、ライト制御部1224は、データバッファ1228に入力データをラッチさせた(ステップS1208)後、アドレスカウンタ1230のカウンタ値を1つカウントアップさせ(ステップS1210)、さらに、アクセス動作を終了するか否か判断し(ステップS1212)、アクセス動作を継続する場合には(ステップS1212:No)、再び、リードライト実行部1126にデータの読み出しを実行させる(ステップS1202)。例えば、リードライトコントローラ1220は、リードライト実行部1226がリード実行信号RDを送出した後の、内部クロック信号ICKの次の立ち上がりに同期してラッチ信号DLTをデータバッファ1228に送出する。このとき、ラッチ信号DLTに従って、アクセスコントローラ1110から送出されている入力データ信号IDAの表すデータ(入力データ)がデータバッファ1228にラッチされる。さらに、リードライトコントローラ1220は、リードライト実行部1226がラッチ信号DLTをデータバッファ1228に送出した後の、内部クロック信号ICKの次の立ち下がりに同期してカウントアップ信号CPをカウンタ1230に送出する。このとき、カウントアップ信号CPに従って、カウンタ1230のカウンタ値が1つカウントアップされる。なお、データバッファ1228は、内部クロック信号ICKの各立ち上がりタイミング(ラッチタイミング)で、毎周期入力データをラッチする。また、カウンタ1230は、内部クロック信号ICKに相当するカウントアップ信号CPの各立ち下がりタイミング(カウントアップタイミング)で、毎周期カウンタ値をカウントアップする。
したがって、ライト制御部1224は、読み出しデータと入力データとが不一致となるまで(ステップS1206:No)、データの読み出し処理(ステップS1202)および入力データとの比較処理(ステップS1204)を繰り返す。
なお、ライト制御部1224は、上記アクセス動作の終了判断(ステップS1212)において、アクセス動作を終了すると判断される場合には(ステップS1212:Yes)、アドレスカウンタ1230のカウンタ値をリセットして(ステップS1250)、この書き込み動作を終了する。アクセス動作の終了は、チップセレクト信号#CSあるいはアクセス許可信号AENが入力されているか否かにより、判断することができる。具体的には、判断の対象となる信号、例えば、アクセス許可信号AENの状態が非アクティブ状態であればアクセス動作終了と判断することができる。
一方、ライト制御部1224は、上記読み出しデータの値と入力データの値とが一致しているか否かの判断において(ステップS1206)、読み出しデータの値と入力データの値とが一致していないと判断される場合には(ステップS1206:No)、さらに、入力データの値が[1]であるか否か判断する(ステップS1214)。
入力データの値が[1]である場合には(ステップS1214:Yes)、書き込み許可フラグを設定して(ステップS1216)、次のラッチタイミングでデータバッファ1228に入力データをラッチさせ(ステップS1218)、また、リードライト実行部1226にデータの書き込みを実行させる(ステップS1220)。例えば、リードライトコントローラ1220は、リードライト実行部1226がリード実行信号RDを送出した後の、内部クロック信号ICKの次の立ち上がりに同期してラッチ信号DLTをデータバッファ1228に送出する。このとき、ラッチ信号DLTに従って入力データがデータバッファ1228にラッチされる。また、リードライト実行部は、リード実行信号RDを送出した後の、内部クロック信号ICKの次の立ち上がりに同期してライト実行信号WRをメモリアレイ1240に送出する。このとき、メモリアレイ1240の、アドレスカウンタ1230から送出されているアドレス信号ADDの表すアドレス値に対応する記憶領域位置の記憶領域に対して、入力データ(書き込みデータ)が書き込まれる。
そして、ライト制御部1224は、次のアドレスカウントアップタイミングでアドレスカウンタ1230のカウンタ値を1つカウントアップさせる(ステップS1220)。
次に、ライト制御部1224は、減算器1232に、アドレスカウンタ1230のカウンタ値(アドレス値)から[1]を減算した値のアドレス(減算アドレス)を、読み出しアドレスとして設定させ(ステップS1224)、リードライト実行部1226にデータの読み出しを実行させる(ステップS1226)。
そして、ライト制御部1224は、読み出しデータと、書き込みデータに相当し、データバッファ1228にラッチされているデータ(ラッチデータ)と、を比較し(ステップS1228)、読み出しデータの値とラッチデータの値とが一致しているか否かを判断する(ステップS1230)。
読み出しデータの値とラッチデータの値とが一致している場合には(ステップS1230:Yes)、まず、次のラッチタイミングでデータバッファ1228に入力データをラッチさせ(ステップS1232)、減算器1232に、アドレスカウンタ1230のカウンタ値のアドレス(非減算アドレス)を書き込みアドレスとして設定させて(ステップS1234)、リードライト実行部1126に書き込みデータとしての入力データの書き込みを実行させる(ステップS1236)。
そして、ライト制御部1224は、次のカウントアップタイミングでアドレスカウンタ1230のカウンタ値を1つカウントアップさせて(ステップS1238)、さらに、アクセス動作を終了するか否か判断する(ステップS1240)。
アクセス動作を継続する場合には(ステップS1240:No)、再び、入力データのラッチ処理(ステップS1232)からアドレスカウントアップ処理(ステップS1238)までを実行させる。一方、アクセス動作を終了する場合には(ステップS1240:Yes)、書き込み許可フラグの設定を解除し(ステップS1242)、アドレスカウンタ1230のカウンタ値をリセットして(ステップS1250)、この書き込み動作を終了する。
また、ライト制御部1224は、上記読み出しデータの値とラッチデータの値とが一致しているか否かの判断(ステップS1230)において、読み出しデータの値とラッチデータの値とが一致していない場合には(ステップS1230:No)、書き込み許可フラグの設定を解除し(ステップS1244)、アクセス動作が終了するまで(ステップS1248:No)、入力データの書き込みを禁止して(ステップS1246)、リードライト実行部1226の動作を停止させる。一方、アクセス動作を終了する場合には(ステップS1248:Yes)、アドレスカウンタ1230のカウンタ値をリセットして(ステップS1250)、この書き込み動作を終了する。
次に、上記書き込み動作による具体例を説明する。説明を容易にするため、4ビットの記憶領域に4ビットのデータを書き込場合を前提とする。例えば、4ビットの各記憶領域にデータ[1010b]が記憶されているとする。なお、[]中の[b]はバイナリデータであることを示しており、4つの[1]または[0]の値のうち、左端が最大ビット(MSB)で右端が最小ビット(LSB)を示している。
例えば、入力データ(書き込みデータ)[1100b]が左端の最大ビットから順に入力されると、記憶データ[1010b]の対応するビットと順に比較されることになる。このとき、左から2ビット目の入力データの値が[1]で、記憶データの値が[0]で不一致であり、かつ、入力データの値は[1]であるので、この入力データの値は記憶データの値よりも大きいことになる。この結果、書き込み許可フラグが設定されて、2ビット目から4ビット目までの各ビットの入力データの書き込みを順に実行する。ここで、まず、左から2ビット目の入力データを書き込んだ後、その書き込まれたデータを読み出して、読み出しデータの値が[0]であった場合には、書き込みデータの値[1]が書き込まれていないことになるので、3ビット目および4ビット目の書き込みが禁止されることになる。
以上、説明したように、第3の実施例の書き込み動作では、書き込みデータとしての入力データと記憶データとしての記憶データとを、最大ビット側から順にビット単位で大小比較し、入力データの方が大きい場合には、書き込みを許可し、そのビットのデータを書き込んだ後、そのデータが正しく書き込まれているか否か検査する。そして、正しく書き込まれていない場合には、書き込み許可を解除して、以降の書き込みを禁止することができる。これにより、あらかじめ定められたデータ条件による書き込み以外の書き込みの防止を第2の実施例の場合よりもさらに強化することができる。
書き込み動作の変形例:
上記第3の実施例の書き込み動作は、書き込み動作を1ビット単位で順に実行することを前提に説明したが、nビット単位(nは2以上の整数)のデータをまとめて一度に書き込むようにしてもよい。
図14および図15は、第3の実施例の変形例としてのデータの書き込み動作の手順を示すフローチャートである。この動作は、図13に示した書き込み動作におけるステップS1218からステップS1244までを、ステップS1302からステップS1340までに変更したものであり、変更している点以外の処理は同じである。以下では、変更した処理についてのみ説明を加えることとする。
ライト制御部1224は、書き込み許可フラグを設定すると(ステップS1216)、アドレスカウンタ1230から出力されるアドレスの下位nビット(A0,A1,...,An−1)の各値が全て[1]となるまで(ステップS1304:No)、順に入力される入力データを各ラッチタイミングでデータバッファ1228にラッチさせ(ステップS1302)、各アドレスカウントアップタイミングでアドレスカウンタ1230のカウンタ値を順にカウントアップさせる(ステップS1306)。そして、下位nビットのアドレスの各値が全て[1]となった場合には(ステップS1304:Yes))、リードライト実行部1226にデータバッファ1228にラッチされているnビットのラッチデータの書き込みをまとめて実行させ(ステップS1308)、次のアドレスカウントアップタイミングでアドレスカウンタ1230のカウンタ値を1つカウントアップさせる(ステップS1310)。
次に、ライト制御部1224は、減算器1232に、アドレスカウンタ1230のカウンタ値(アドレス値)から[n]を減算した値の減算アドレスを、読み出しアドレスとして設定させ(ステップS1312)、リードライト実行部1226にデータの読み出しを実行させる(ステップS1314)。
そして、ライト制御部1224は、読み出しデータと、書き込みデータに相当し、データバッファ1228にラッチされているデータ(ラッチデータ)と、を比較し(ステップS1316)、読み出しデータの値とラッチデータの値とが一致しているか否かを判断する(ステップS1318)。
読み出しデータの値とラッチデータの値とが一致していない場合には(ステップS1318:No)、書き込み許可フラグの設定を解除して(ステップS1326)、入力データの書き込みを禁止する(ステップS1246)。一方、読み出しデータの値とラッチデータの値とが一致している場合には(ステップS1318:Yes)、アドレスカウンタ1230から出力される下位nビットの読み出しアドレスの各値が全て[1]となるまで(ステップS1320:No)、アドレスのカウントアップ処理(ステップS1322)、入力データのラッチ処理(ステップS1324)、読み出しアドレスの設定処理(ステップS1312)、データの読み出し処理(ステップS1314)、ラッチデータとの比較処理(ステップS1316)および判断処理(ステップS1318)を繰り返す。一方、下位nビットの読み出しアドレスの各値が全て[1]となった場合には(ステップS1320:Yes)、減算器1232に、アドレスカウンタ1230のカウンタ値で表される非減算アドレスを、書き込みアドレスとして設定させ(ステップS1328)、リードライト実行部1126にデータバッファ1228にラッチされているnビットのラッチデータの書き込みをまとめて実行させる(ステップS1330)。
次に、ライト制御部1224は、下位nビットの書き込みアドレスの各ビット値が全て[1]となるまで(ステップS1332:No)、各アドレスカウントアップタイミングでアドレスカウンタ1230のカウンタ値を1つカウントアップさせ(ステップS1334)、さらに、アクセス動作を終了しない場合には(ステップS1336:No)、入力データを対応するラッチタイミングでデータバッファ1228にラッチさせる(ステップS1338)。下位nビットの書き込みアドレスの各ビット値が全て[1]となった場合には(ステップS1332:Yes)、リードライト実行部1126にデータバッファ1228にラッチされているnビットのラッチデータの書き込みをまとめて実行させる(ステップS1330)。
そして、アクセス動作を終了する場合には(ステップS1336:Yes)、書き込み許可フラグの設定を解除して(ステップS1340)、入力データの書き込みを禁止する(ステップS1246)。
以上説明した書き込み動作では、nビットのデータをまとめて書き込むことができる。
第2および第3の実施例の変形例:
(1)上記第2および第3の実施例では、メモリアレイの容量を256ビットとして説明しているが、これに限定されるものでなく、格納すべきデータ量に応じて適宜変更され得るものである。
(2)上記第2および第3の実施例では、書き込みデータが記憶データよりも大きい場合において書き込みを許可し、書き込みデータが記憶データよりも小さい場合において書き込みを禁止する場合を例に説明したが、書き込みデータが記憶データよりも小さい場合において書き込みを許可し、書き込みデータが記憶データよりも小さい場合において書き込みを禁止するようにすることも可能である。
(3)上記第2および第3の実施例では、半導体メモリ装置としてEEPROMを用いて説明したが、書き換えが可能であると共に、格納データを不揮発的に維持することができるメモリ装置であれば、EEPROMに限られず、複数ビット単位で読み出しまたは書き込みが実行されるメモリ装置であってもよい。
以上、いくつかの実施例に基づき本発明を説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
第1の実施例に係る半導体記憶装置の機能的な内部構成を示すブロック図である。 第1の実施例に係る半導体記憶装置が備えるメモリアレイの内部構成マップを模式的に示す説明図である。 第1の実施例に係る半導体記憶装置の読み出し動作実行時におけるリセット信号RST、外部クロック信号SCK、データ信号SDA、アドレスカウンタ値の時間的関係を示すタイミングチャートである。 第1の実施例に係る半導体記憶装置の書き込み動作実行時におけるリセット信号RST、外部クロック信号SCK、データ信号SDA、アドレスカウンタ値の時間的関係を示すタイミングチャートである。 第1の実施例に係る半導体記憶装置によって実行される書き込み処理におけるインクリメント確認処理の処理ルーチンを示すフローチャートである。 第1の実施例に係る半導体記憶装置によって実行される書き込み処理におけるインクリメント確認処理の処理ルーチンを示すフローチャートである。 第1の実施例に係る半導体記憶装置10によって実行される書き込み処理におけるデータベリファイ処理の処理ルーチンを示すフローチャートである。 第1の実施例におけるインクリメント確認処理の結果の一例を示す説明図である。 第1の実施例に係る半導体記憶装置の応用例を示す説明図である。 第2の実施例に係る半導体メモリ装置の内部回路構成を示すブロック図である。 第2の実施例におけるデータの書き込み動作の手順を示すフローチャートである。 第3の実施例に係る半導体メモリ装置の内部回路構成を示すブロック図である。 第3の実施例におけるデータの書き込み動作の手順を示すフローチャートである。 第3の実施例の変形例としてのデータの書き込み動作の手順を示すフローチャートである。 第3の実施例の変形例としてのデータの書き込み動作の手順を示すフローチャートである。

Claims (30)

  1. 半導体記憶装置であって、
    値が増大する特性のデータを格納する所定のアドレス単位の書き込み制限格納アドレスを有し、シーケンシャルにアクセスされる不揮発性のメモリアレイと、
    前記書き込み制限格納アドレスに書き込むべき書き込みデータを所定のアドレス単位で保持する書き込みデータ保持手段と、
    前記保持されている書き込みデータを、前記書き込み制限格納アドレスに対して前記所定のアドレス単位にて書き込むデータ書き込み手段と、
    前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出す読み出し手段と、
    前記保持されている書き込みデータの値が、前記読み出された既存データの値以上の値であるか否かを判定する判定手段と、
    前記書き込みデータの値が前記既存データの値未満の場合には、前記書き込み手段による前記メモリアレイの前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行しない制御部とを備える半導体記憶装置。
  2. 請求1に記載の半導体記憶装置において、
    前記制御部は、前記書き込みデータの値が前記既存データの値以上の場合には、前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行する半導体記憶装置。
  3. 請求1に記載の半導体記憶装置において、
    前記書き込み制限格納アドレス数が、前記所定のアドレス単位のn倍(nは自然数)である場合には、
    前記判定手段は、前記所定のアドレス単位毎に、前記書き込みデータの値が前記既存データの値未満であるか否かを判定し、
    前記制御部は、前記書き込み制限格納アドレスにおけるいずれかのアドレスにおいて、前記書き込みデータの値が前記既存データの値未満の場合には、前記全ての書き込み制限格納アドレスに対する、前記書き込みデータの書き込みを実行しない半導体記憶装置。
  4. 請求3に記載の半導体記憶装置において、
    前記制御部は、全ての前記書き込み制限格納アドレスにおいて、前記既存データの値が前記書き込みデータの値以上の場合には、前記メモリアレイの全ての前記書き込み制限格納アドレスに対して前記書き込み手段による前記書き込みデータの書き込みを実行する半導体記憶装置。
  5. 請求1から4のいずれかに記載の半導体記憶装置において、
    前記判定手段は、前記読み出し手段によって前記既存データが1アドレス毎に読み出される毎に、前記書き込みデータ保持手段から前記書き込みデータを1アドレス毎に読み出して、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定する半導体記憶装置。
  6. 請求1から4のいずれかに記載の半導体記憶装置において、
    前記判定手段は、前記読み出し手段によって1アドレス毎に読み出された前記所定のアドレス単位の既存データと、前記書き込みデータ保持手段に保持されている前記所定アドレス単位の書き込みデータとを用いて、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定する半導体記憶装置。
  7. 請求1から6のいずれかに記載の半導体記憶装置において、
    前記メモリアレイにおける書き込み制限格納アドレスには、最上位ビットから順にデータが格納されており、
    前記データ書き込み手段は、前記メモリアレイに対して、最上位ビットから順にデータの書き込みを実行する半導体記憶装置。
  8. 半導体記憶装置であって、
    値が減少する特性のデータを格納する所定のアドレス単位の書き込み制限格納アドレスを有し、シーケンシャルにアクセスされる不揮発性のメモリアレイと、
    前記書き込み制限格納アドレスに書き込むべき書き込みデータを所定のアドレス単位で保持する書き込みデータ保持手段と、
    前記保持されている書き込みデータを、前記書き込み制限格納アドレスに対して前記所定のアドレス単位にて書き込むデータ書き込み手段と、
    前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出す読み出し手段と、
    前記保持されている書き込みデータの値が、前記読み出された既存データの値以下であるか否かを判定する判定手段と、
    前記書き込みデータの値が前記既存データの値より大きな値の場合には、前記書き込み手段による前記メモリアレイの前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行しない制御部とを備える半導体記憶装置。
  9. 請求8に記載の半導体記憶装置において、
    前記制御部は、前記書き込みデータの値が前記既存データの値以下の場合には、前記書き込み制限格納アドレスに対する前記書き込みデータの書き込みを実行する半導体記憶装置。
  10. 値が増大する特性のデータを書き換え可能データとして記憶する半導体記憶装置であって、
    シーケンシャルにアクセスされると共に1ビットのデータを格納するデータセルを1行に8個有し、前記書き換え可能データを格納する書き込み制限行を有する不揮発性のメモリアレイと、
    前記メモリアレイの前記書き込み制限行に書き込むべき、8ビットの倍数の書き込みデータを受信するデータ受信手段と、
    前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持する書き込みデータ保持手段と、
    前記保持されている8ビットの書き込みデータを、前記書き込み制限行に対して8ビット単位にて書き込むデータ書き込み手段と、
    前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを読み出す読み出し手段と、
    前記書き込みデータの値が、前記読み出された既存データの値以上の値であるか否かを、8ビット単位の書き込みデータ毎に判定する判定手段と、
    8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値未満の場合には、前記書き込み手段による前記書き込み制限行の全ての対象データセルに対する前記書き込みデータの書き込みを実行しない制御部とを備える半導体記憶装置。
  11. 請求10に記載の半導体記憶装置において、
    前記制御部は、前記8ビット単位の書き込みデータの全てにおいて、前記書き込みデータの値が前記既存データの値以上の場合には、前記書き込み制限行の全ての対象データセルに対する、前記書き込みデータの書き込みを実行する半導体記憶装置。
  12. 請求10または請求11に記載の半導体記憶装置において、
    前記判定手段は、前記読み出し手段によって前記既存データが1ビット毎に読み出される毎に、前記書き込みデータ保持手段から前記書き込みデータを1ビット毎に読み出して、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定する半導体記憶装置。
  13. 請求10または請求11に記載の半導体記憶装置において、
    前記判定手段は、前記読み出し手段によって1ビット毎に読み出された前記8ビットの倍数の既存データと、前記書き込みデータ保持手段に保持されている前記8ビットの書き込みデータとを用いて、前記書き込みデータの値が前記読み出された既存データの値未満の値であるか否かを判定する半導体記憶装置。
  14. 請求10から13のいずれかに記載の半導体記憶装置において、
    前記書き込み制限行のデータセルには、最上位ビットから順にデータが格納されており、
    前記データ書き込み手段は、前記メモリアレイに対して、最上位ビットから順にデータの書き込みを実行する半導体記憶装置。
  15. 値が減少する特性のデータを書き換え可能データとして記憶する半導体記憶装置であって、
    シーケンシャルにアクセスされると共に1ビットのデータを格納するデータセルを1行に8個有し、前記書き換え可能データを格納する書き込み制限行を有する不揮発性のメモリアレイと、
    前記メモリアレイの前記書き込み制限行に書き込むべき、8ビットの倍数の書き込みデータを受信するデータ受信手段と、
    前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持する書き込みデータ保持手段と、
    前記保持されている8ビットの書き込みデータを、前記書き込み制限行に対して8ビット単位にて書き込むデータ書き込み手段と、
    前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを読み出す読み出し手段と、
    前記書き込みデータの値が、前記読み出された既存データの値以下の値であるか否かを、8ビット単位の書き込みデータ毎に判定する判定手段と、
    8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値より大きい場合には、前記書き込み手段によって前記書き込み制限行の全ての対象データセルに対する前記書き込みデータの書き込みを実行しない制御部とを備える半導体記憶装置。
  16. 請求15に記載の半導体記憶装置において、
    前記制御部は、前記8ビット単位の書き込みデータの全てにおいて、前記書き込みデータの値が前記既存データの値以下の場合には、前記書き込み制限行の全ての対象データセルに対する、前記書き込みデータの書き込みを実行する半導体記憶装置。
  17. 値が増大する特性のデータを格納する所定のアドレス単位の書き込み制限格納アドレスを有する不揮発性のメモリアレイを備え、メモリアレイに対して所定のアドレス単位にてデータが書き込まれる半導体記憶装置におけるデータの書き込み制御方法であって、
    前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出し、
    前記書き込み制限格納アドレスに書き込まれる書き込みデータの値が、前記読み出された既存データの値未満の値であるか否かを判定し、
    前記書き込みデータの値が前記既存データの値未満の場合には、前記書き込み制限格納アドレスに対して前記書き込みデータを前記所定のアドレス単位にて書き込まない方法。
  18. 値が減少する特性のデータを格納する所定のアドレス単位の書き込み制限格納アドレスを有する不揮発性のメモリアレイを備え、メモリアレイに対して所定のアドレス単位にてデータが書き込まれる半導体記憶装置におけるデータの書き込み制御方法であって、
    前記メモリアレイにおける、前記書き込み制限格納アドレスに格納されている既存データを読み出し、
    前記書き込み制限格納アドレスに書き込まれる書き込みデータの値が、前記読み出された既存データの値より大きな値であるか否かを判定し、
    前記書き込みデータの値が前記既存データの値より大きな値の場合には、前記書き込み制限格納アドレスに対して前記書き込みデータを前記所定のアドレス単位にて書き込まない方法。
  19. シーケンシャルにアクセスされると共に1ビットのデータを格納するデータセルを1行に8個有し、値が増大する特性の書き換え可能データを格納する書き込み制限行を有する不揮発性のメモリアレイを備え、メモリアレイに対して8ビット単位にてデータが書き込まれる半導体記憶装置におけるデータの書き込み制御方法であって、
    前記メモリアレイに書き込むべき、8ビットの倍数の書き込みデータを受信し、
    前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持し、
    前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを読み出し、
    前記書き込みデータの値が、前記読み出された既存データの値未満の値であるか否かを、8ビット単位の書き込みデータ毎に判定し、
    8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値未満の場合には、前記書き込み制限行の全てのデータセルに対して前記書き込みデータを書き込まない方法。
  20. シーケンシャルにアクセスされると共に1ビットのデータを格納するデータセルを1行に8個有し、値が減少する特性の書き換え可能データを格納する書き込み制限行を有する不揮発性のメモリアレイを備え、メモリアレイに対して8ビット単位にてデータが書き込まれる半導体記憶装置におけるデータの書き込み制御方法であって、
    前記メモリアレイに書き込むべき、8ビットの倍数の書き込みデータを受信し、
    前記受信された書き込みデータのうち、8ビット分の書き込みデータを保持し、
    前記メモリアレイにおける、前記書き込み制限行のデータセルに格納されている既存データを読み出し、
    前記書き込みデータの値が、前記読み出された既存データの値より大きな値であるか否かを、8ビット単位の書き込みデータ毎に判定し、
    8ビット単位の書き込みデータのいずれかにおいて、前記前記書き込みデータの値が既存データの値より大きな値の場合には、前記書き込み制限行の全てのデータセルに対して前記書き込みデータを書き込まない方法。
  21. 半導体記憶装置であって、
    値が増大する特性のデータを書き換え可能データとして記憶する不揮発性のメモリアレイと、
    前記メモリアレイに対するデータの書き込みおよび前記メモリアレイからのデータの読み出しを制御するリードライトコントローラと、を備え、
    前記リードライトコントローラは、
    前記メモリアレイに対するデータの書き込みが要求された場合において、入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを比較し、前記複数ビットの書き込みデータの値が前記複数ビットの記憶データの値よりも大きい場合に書き込みを実行し、前記複数ビットの書き込みデータが前記複数ビットの記憶データの値よりも小さい場合は書き込みを禁止する
    半導体記憶装置。
  22. 半導体記憶装置であって、
    値が増大する特性のデータを書き換え可能データとして記憶する不揮発性のメモリアレイと、
    前記メモリアレイに対するデータの書き込みおよび前記メモリアレイからのデータの読み出しを制御するリードライトコントローラと、を備え、
    前記リードライトコントローラは、
    前記メモリアレイに対するデータの書き込みが要求された場合において、入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを、前記複数ビットの書き込みデータのうち最大ビットから1ビット単位で順に比較し、前記記憶データのビットの値よりも大きな値のビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを実行し、前記記憶データのビットの値よりも小さな値のビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを禁止する
    半導体記憶装置。
  23. 値が増大する特性のデータを書き換え可能データとして記憶する不揮発性のメモリアレイを有する半導体記憶装置の書き込み制御方法であって、
    前記メモリアレイに対するデータの書き込み要求を受信し、
    入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを比較し、
    前記複数ビットの書き込みデータの値が前記複数ビットの記憶データの値よりも大きい場合に書き込みを実行し、前記複数ビットの書き込みデータが前記複数ビットの記憶データの値よりも小さい場合は書き込みを禁止する
    半導体記憶装置の書き込み制御方法。
  24. 値が増大する特性のデータを書き換え可能データとして記憶する不揮発性のメモリアレイを有する半導体記憶装置の書き込み制御方法であって、
    前記メモリアレイに対するデータの書き込み要求を受信し、
    入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを、前記複数ビットの書き込みデータのうち最大ビットから1ビット単位で順に比較し、
    前記記憶データのビットの値よりも大きな値のビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを実行し、前記記憶データのビットの値よりも小さな値のビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを禁止する
    半導体記憶装置の書き込み制御方法。
  25. 値が増大する特性のデータを書き換え可能データとして記憶する不揮発性のメモリアレイを有する半導体記憶装置の書き込みを制御するためのコンピュータプログラムを格納するコンピュータ読み取り可能媒体であって、前記コンピュータプログラムは、
    前記メモリアレイに対するデータの書き込み要求を受信する機能と、
    入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを比較する機能と、
    前記複数ビットの書き込みデータの値が前記複数ビットの記憶データの値よりも大きい場合に書き込みを実行し、前記複数ビットの書き込みデータが前記複数ビットの記憶データの値よりも小さい場合は書き込みを禁止する機能とを
    コンピュータによって実行させるコンピュータ読み取り可能媒体。
  26. 値が増大する特性のデータを書き換え可能データとして記憶する不揮発性のメモリアレイを有する半導体記憶装置の書き込みを制御するコンピュータプログラムを格納するコンピュータ読み取り可能媒体であって、前記コンピュータプログラムは、
    前記メモリアレイに対するデータの書き込み要求を受信する機能と、
    入力される複数ビットの書き込みデータの値と、前記複数ビットの書き込みデータを書き込むべき複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを、前記複数ビットの書き込みデータのうち最大ビットから1ビット単位で順に比較する機能と、
    前記記憶データのビットの値よりも大きな値のビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを実行し、前記記憶データのビットの値よりも小さな値のビットがあった場合には、そのビット以降のビットの書き込みデータについて書き込みを禁止する機能とを
    コンピュータによって実行させるコンピュータ読み取り可能媒体。
  27. 印刷装置に着脱可能に装着される、印刷記録材を収容する印刷記録材容器であって、
    前記印刷記録材を収容する収容部と、
    前記印刷記録材の量に関する情報を格納する、請求1〜16、21および22のいずれかに記載の半導体記憶装置とを備える印刷記録材容器。
  28. 半導体記憶装置であって、
    消費材の量に関するデータであって、値が増大する特性を有する消費材量データを格納する不揮発性のメモリアレイと、
    前記メモリアレイに格納されるべき、新規消費材量データを書き込むデータ書き込み手段と、
    前記メモリアレイから、既に格納されている既存消費材量データを読み出す読み出し手段と、
    前記新規消費材量データの値が前記既存消費材量データの値未満の場合には、前記データ書き込み手段による前記新規消費材量データの書き込みは行わず、前記新規消費材量データの値が前記既存消費材量データの値以上の場合には、前記データ書き込み手段による前記新規消費材量データの書き込を実行する制御部とを備える半導体記憶装置。
  29. 印刷装置に着脱可能に装着される、印刷記録材を収容する印刷記録材容器であって、
    前記印刷記録材を収容する収容部と、
    前記印刷記録材の量に関する情報を格納する、請求28に記載の半導体記憶装置とを備える印刷記録材容器。
  30. 印刷装置と、印刷装置に着脱可能に装着される請求27または29に記載の印刷記録材容器とを備える印刷システムであって、
    前記印刷装置は、前記印刷記録材容器に装着される半導体記憶装置とデータ信号線、クロック信号線、リセット信号線、正極電源線、および負極電源線を介してバス接続されるホスト計算機であって、印刷装置において消費された印刷記録材に関する量の情報を前記半導体記憶装置に送信するホスト計算機を備え、
    前記印刷記録材容器に装着されている半導体記憶装置は、受信した印刷記録材に関する量の情報を前記メモリアレイに格納する
    印刷システム。
JP2007519076A 2005-05-30 2006-05-26 半導体記憶装置 Expired - Fee Related JP5024042B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007519076A JP5024042B2 (ja) 2005-05-30 2006-05-26 半導体記憶装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2005157181 2005-05-30
JP2005157181 2005-05-30
JP2005182808 2005-06-23
JP2005182808 2005-06-23
PCT/JP2006/311050 WO2006129779A1 (ja) 2005-05-30 2006-05-26 半導体記憶装置
JP2007519076A JP5024042B2 (ja) 2005-05-30 2006-05-26 半導体記憶装置

Publications (2)

Publication Number Publication Date
JPWO2006129779A1 JPWO2006129779A1 (ja) 2009-01-08
JP5024042B2 true JP5024042B2 (ja) 2012-09-12

Family

ID=37481706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007519076A Expired - Fee Related JP5024042B2 (ja) 2005-05-30 2006-05-26 半導体記憶装置

Country Status (12)

Country Link
US (2) US7522470B2 (ja)
EP (1) EP1898424A4 (ja)
JP (1) JP5024042B2 (ja)
KR (1) KR20080022135A (ja)
CN (1) CN101189682B (ja)
AU (1) AU2006253347B2 (ja)
BR (1) BRPI0609896A2 (ja)
CA (1) CA2610061A1 (ja)
MX (1) MX2007014846A (ja)
RU (1) RU2391722C2 (ja)
TW (1) TW200713283A (ja)
WO (1) WO2006129779A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
CN101189681B (zh) * 2005-05-30 2010-10-13 精工爱普生株式会社 在顺序写入当中进行校验处理的非易失性的存储器
US7522470B2 (en) * 2005-05-30 2009-04-21 Seiko Epson Corporation Semiconductor memory device
JP4802722B2 (ja) * 2006-01-17 2011-10-26 セイコーエプソン株式会社 シーケンシャルアクセスメモリ
US7486104B2 (en) * 2006-06-02 2009-02-03 Rambus Inc. Integrated circuit with graduated on-die termination
JP2009099202A (ja) * 2007-10-17 2009-05-07 Toshiba Corp 半導体記憶装置
JP5141606B2 (ja) * 2008-03-26 2013-02-13 セイコーエプソン株式会社 印刷装置
JP2010086415A (ja) * 2008-10-01 2010-04-15 Panasonic Corp メモリインターフェース
KR101033464B1 (ko) * 2008-12-22 2011-05-09 주식회사 하이닉스반도체 반도체 집적 회로
JP5577615B2 (ja) * 2009-04-01 2014-08-27 セイコーエプソン株式会社 液体消費システム、液体消費装置、液体供給ユニット、および、液体供給ユニットに収容された液体の残量を管理する方法
JP5471167B2 (ja) * 2009-08-26 2014-04-16 セイコーエプソン株式会社 記憶装置、及び、ホスト回路に対し電気的に接続可能な記憶装置を含むシステム
CN101524926B (zh) * 2009-04-17 2011-03-30 青岛海信智能商用设备有限公司 基于可编程逻辑的打印机松耦合控制方式
US8582382B2 (en) * 2010-03-23 2013-11-12 Mosaid Technologies Incorporated Memory system having a plurality of serially connected devices
JP5678516B2 (ja) 2010-08-23 2015-03-04 セイコーエプソン株式会社 記憶装置、回路基板、液体容器及びシステム
JP6031848B2 (ja) 2012-06-25 2016-11-24 セイコーエプソン株式会社 液体消費装置、プログラム及び印刷装置
US9299409B2 (en) * 2013-09-11 2016-03-29 Tadashi Miyakawa Semiconductor storage device
WO2016068990A1 (en) * 2014-10-31 2016-05-06 Hewlett-Packard Development Company, L.P. Encryption of fluid cartridges for use with imaging devices
CN104410396A (zh) * 2014-12-09 2015-03-11 杭州士兰微电子股份有限公司 半导体器件校正系统及校正方法
US10622065B2 (en) * 2018-09-12 2020-04-14 Micron Technology, Inc. Dedicated commands for memory operations
US11456033B2 (en) 2018-09-12 2022-09-27 Micron Technology, Inc. Dedicated commands for memory operations
CN116206649B (zh) * 2022-01-18 2024-03-15 北京超弦存储器研究院 动态存储器及其读写方法、存储装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764868A (ja) * 1993-08-24 1995-03-10 Melco:Kk 記憶更新装置
JPH1063530A (ja) * 1996-08-22 1998-03-06 Toshiba Corp 冗長型システム
JP2001339291A (ja) * 2000-05-30 2001-12-07 Pfu Ltd データカウント処理装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792926A (en) * 1985-12-09 1988-12-20 Kabushiki Kaisha Toshiba High speed memory system for use with a control bus bearing contiguous segmentially intermixed data read and data write request signals
JPH0779000B2 (ja) 1989-09-06 1995-08-23 沖電気工業株式会社 計数装置
CA2052243C (en) 1990-09-27 1999-06-01 Junji Shimoda Ink jet recording apparatus and ink cartridge usable therewith
JPH05282879A (ja) 1992-03-31 1993-10-29 Toshiba Corp メモリのデータ書き込み装置
JP3671743B2 (ja) 1998-05-25 2005-07-13 セイコーエプソン株式会社 インクジェット記録装置
JP3664218B2 (ja) 1998-05-25 2005-06-22 セイコーエプソン株式会社 インクジェット記録装置、及びインクカートリッジ
KR100687945B1 (ko) 1998-05-25 2007-02-27 세이코 엡슨 가부시키가이샤 잉크 카트리지, 잉크젯 인쇄장치 및 재생장치, 및 재생장치 동작방법
JP4497689B2 (ja) 1999-10-01 2010-07-07 キヤノン株式会社 印刷装置、交換ユニット、及び、メモリユニット
WO2001025017A1 (fr) 1999-10-04 2001-04-12 Seiko Epson Corporation Enregistreur a jet d'encre, dispositif semi-conducteur et dispositif tete d'enregistrement
JP2001189083A (ja) 1999-12-28 2001-07-10 Denso Corp 電子制御装置
US6836853B1 (en) 1999-12-31 2004-12-28 Intel Corporation Non-volatile memory based monotonic counter
EP1331642A4 (en) * 2000-08-31 2008-03-19 Nec Electronics Corp SEMICONDUCTOR MEMORY COMPONENT, TEST METHOD AND TESTING
CN1200814C (zh) 2000-11-20 2005-05-11 精工爱普生株式会社 打印记录材料容器的识别
US6349056B1 (en) * 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
JP4123739B2 (ja) 2001-06-19 2008-07-23 セイコーエプソン株式会社 印刷記録材容器の識別システムおよび識別方法
DE10201553A1 (de) 2001-09-10 2003-03-27 Philips Corp Intellectual Pty Anordnung zum Speichern eines Zählerstandes
JP2004242891A (ja) 2003-02-14 2004-09-02 Heiwa Corp データ記憶装置
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7522470B2 (en) * 2005-05-30 2009-04-21 Seiko Epson Corporation Semiconductor memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764868A (ja) * 1993-08-24 1995-03-10 Melco:Kk 記憶更新装置
JPH1063530A (ja) * 1996-08-22 1998-03-06 Toshiba Corp 冗長型システム
JP2001339291A (ja) * 2000-05-30 2001-12-07 Pfu Ltd データカウント処理装置

Also Published As

Publication number Publication date
US7522470B2 (en) 2009-04-21
US7791979B2 (en) 2010-09-07
KR20080022135A (ko) 2008-03-10
CA2610061A1 (en) 2006-12-07
BRPI0609896A2 (pt) 2010-05-11
CN101189682A (zh) 2008-05-28
JPWO2006129779A1 (ja) 2009-01-08
TWI305357B (ja) 2009-01-11
AU2006253347B2 (en) 2009-09-10
US20080144382A1 (en) 2008-06-19
MX2007014846A (es) 2008-02-21
WO2006129779A1 (ja) 2006-12-07
US20090225609A1 (en) 2009-09-10
CN101189682B (zh) 2010-10-13
RU2391722C2 (ru) 2010-06-10
AU2006253347A1 (en) 2006-12-07
RU2007149036A (ru) 2009-07-20
EP1898424A1 (en) 2008-03-12
EP1898424A4 (en) 2008-12-10
TW200713283A (en) 2007-04-01

Similar Documents

Publication Publication Date Title
JP5024042B2 (ja) 半導体記憶装置
JPWO2006129780A1 (ja) シーケンシャル書込においてベリファイ処理を行う不揮発性メモリ
JP4910705B2 (ja) シーケンシャルアクセス型半導体記憶装置の書き込み保護方法
JP4999325B2 (ja) フラッシュメモリ
EP2016589A2 (en) Method for refreshing a non-volatile memory
JP4839714B2 (ja) シーケンシャルアクセスメモリ
KR100606173B1 (ko) 불휘발성 메모리 장치의 초기화 상태를 검증하는 방법 및장치
JPH10207780A (ja) 度数計数装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090421

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120522

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120604

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5024042

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees