(57)【要約】      （修正有）【課題】ＳＤＲＡＭと同じように動作する不揮発性メモリデバイスを提供する。【解決手段】シンクロナスフラッシュメモリは、不揮発性のメモリセルアレイを有する。メモリデバイスのパッケージコンフィグレーションは、ＳＤＲＡＭと互換性を有する。メモリデバイスは、Ｎ個のアドレス指定可能なセクタを有するメモリセルアレイと、メモリセルアレイにおける消去または書き込み処理を制御する制御回路とを含む。制御回路には保護回路が接続され、Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する書き込み処理または消去処理の実行を選択的に阻止する。保護回路は、第１のセクタに対応する第１のビットと、最後のセクタに対応する第２のビットとを有するマルチビットレジスタを含む。【選択図】図１Ａ
2006164511.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個のアドレス指定可能なセクタを有するメモリセルアレイと、  前記メモリセルアレイに対する消去処理または書き込み処理を制御する制御回路と、  前記制御回路に接続された保護回路とを含み、  前記保護回路は、前記Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する書き込み処理または消去処理の実行を選択的に阻止することを特徴とするシンクロナスメモリデバイス。
【請求項２】
請求項１記載のシンクロナスメモリデバイスにおいて、  前記第１のセクタまた前記最後のセクタは、プロセッサブートデータを保持することを特徴とするシンクロナスメモリデバイス。
【請求項３】
請求項１記載のシンクロナスメモリデバイスにおいて、  前記保護回路は、外部接続端子に供給された昇圧された電圧信号に基づいて前記第１のセクタまたは前記最後のセクタに対する消去処理または書き込み処理を実行可能にすることを特徴とするシンクロナスメモリデバイス。
【請求項４】
請求項１記載のシンクロナスメモリデバイスにおいて、  前記保護回路は、前記第１のセクタに対応する第１のビットと前記最後のセクタに対応する第２のビットを有するマルチビットレジスタを含み、前記制御回路は、前記第１のビットおよび前記第２のビットが第１のデータステートにプログラムされているとき、前記第１のセクタおよび前記最後のセクタに対する消去処理または書き込み処理を阻止することを特徴とするシンクロナスメモリデバイス。
【請求項５】
請求項４記載のシンクロナスメモリデバイスにおいて、  前記マルチビットレジスタが不揮発性レジスタであることを特徴とするシンクロナスメモリデバイス。
【請求項６】
請求項４記載のシンクロナスメモリデバイスにおいて、  前記マルチビットレジスタがマルチビット不揮発性レジスタに接続された揮発性レジスタであることを特徴とするシンクロナスメモリデバイス。
【請求項７】
請求項１記載のシンクロナスメモリデバイスにおいて、  前記保護回路は、  外部接続端子に接続され、当該外部接続端子に供給される電圧のレベルが閾値を超えるのを検出する電圧検出回路と、  第１のセクタに対応する第１のビットと最後のセクタに対応する第２のビットを有するマルチビットレジスタとを含み、  前記第１のビットおよび前記最後のビットが第１のデータステートであるとき、前記制御回路による消去処理および書き込み処理の実行を可能にし、前記第１のビットおよび前記最後のビットが第２のデータステートであるとき、前記外部接続端子に供給される電圧のレベルが前記閾値を超えていない限り、前記制御回路による消去処理および書き込み処理の実行を阻止することを特徴とするシンクロナスメモリデバイス。
【請求項８】
請求項７記載のシンクロナスメモリデバイスにおいて、  前記外部接続端子は、前記シンクロナスメモリデバイスのアドレス接続端子であることを特徴とするシンクロナスメモリデバイス。
【請求項９】
請求項１記載のシンクロナスメモリデバイスにおいて、  前記保護回路は、  外部接続端子に接続され、当該外部接続端子に供給される電圧のレベルが閾値を超えるのを検出し、出力信号を供給する電圧検出回路と、  第１のセクタに対応する第１のビットと最後のセクタに対応する第２のビットを有するマルチビットレジスタとを含み、  前記第１のビットおよび前記第２のビットが第１のデータステートまたは第２のデータステートにプログラム可能であり、  前記第１のビットおよび前記第２のビットが第１のデータステートにプログラムされているとき、前記制御回路は、前記第１のセクタおよび前記第２のセクタに対する消去処理および書き込み処理の実行を可能にし、  前記第１のビットおよび前記第２のビットが前記第２のデータステートにあるとき、前記制御回路は、前記電圧検出回路からの出力信号に応じて消去処理および書き込み処理の実行を阻止することを特徴とするシンクロナスメモリデバイス。
【請求項１０】
請求項１記載のシンクロナスメモリデバイスにおいて、  前記保護回路は、  ユーザによるソフトウエアコマンドが発行されるまで、前記Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する消去処理または書き込み処理を実行可能にすることを特徴とするシンクロナスメモリデバイス。
【請求項１１】
請求項１０記載のシンクロナスメモリデバイスにおいて、  前記ソフトウエアコマンドによって前記保護回路がトリガされることを特徴とするシンクロナスメモリデバイス。
【請求項１２】
Ｎ個のアドレス指定可能なセクタを有するメモリセルアレイと、  前記メモリセルアレイに対する消去処理または書き込み処理を制御する制御回路と、  前記制御回路に接続された保護回路とを含み、  前記保護回路は、前記Ｎ個のアドレス指定可能なセクタにおける最下位セクタおよび最上位セクタの双方に対する書き込み処理または消去処理の実行を選択的に阻止することを特徴とするシンクロナスメモリデバイス。
【請求項１３】
請求項１２記載のシンクロナスメモリデバイスにおいて、  前記保護回路は、  Ｎ個のビットを含むレジスタを含み、前記Ｎ個のビットの各々が前記Ｎ個のセクタのいずれかに対応し、第１のデータステートまたは第２のデータステートにプログラムされることを特徴とするシンクロナスメモリデバイス。
【請求項１４】
請求項１３記載のシンクロナスメモリデバイスにおいて、  前記制御回路は、前記第１のステートにあるレジスタビットに対応するセクタに対する消去処理または書き込み処理を実行可能にし、第２のステートにあるレジスタビットに対応するセクタに対する消去処理または書き込み処理を禁止することを特徴とするシンクロナスメモリデバイス。
【請求項１５】
請求項１２記載のシンクロナスメモリデバイスにおいて、  前記保護回路が、前記シンクロナスメモリデバイスに対して電子キーが供給されたかどうかを判定する信号監視回路を含むことを特徴とするシンクロナスメモリデバイス。
【請求項１６】
請求項１５記載のシンクロナスメモリデバイスにおいて、  前記電子キーが、外部接続端子に供給される昇圧された電圧であることを特徴とするシンクロナスメモリデバイス。
【請求項１７】
シンクロナスフラッシュメモリデバイスにおけるメモリロケーションの保護方法において、  前記メモリロケーションに対応するデータビットを有するデータレジスタを第１のデータステートまたは第２のデータステートにプログラムするステップと、  第１のメモリロケーションに対応するビットが前記第１のステートにあるとき、前記第１のメモリロケーションに対する消去処理または書き込み処理を阻止するステップと、  前記第１のメモリロケーションに対応するデータビットが前記第２のステートにあるとき、前記第１のメモリロケーションに対する消去処理または書き込み処理を実行可能にするステップを含むことを特徴とするシンクロナスメモリデバイスにおけるメモリロケーションの保護方法。
【請求項１８】
請求項１７記載の方法において、  前記シンクロナスフラッシュメモリデバイスは、前記メモリロケーションを定義する複数のアドレス指定可能なセクタを具備したメモリアレイを有することを特徴とするシンクロナスメモリデバイスにおけるメモリロケーションの保護方法。
【請求項１９】
請求項１７記載の方法において、  前記データレジスタが揮発性レジスタであり、前記データレジスタをプログラムするステップが、不揮発性レジスタからデータを転送するステップを含むことを特徴とするシンクロナスメモリデバイスにおけるメモリロケーションの保護方法。
【請求項２０】
保護回路を選択的に活性化するステップと、  前記保護回路に外部から供給された信号を監視するステップと、  前記外部から供給された信号が電子キーを含まない場合に消去処理または書き込み処理を阻止するステップを含むことを特徴とするメモリデバイスにおける不慮のデータ消去を阻止する方法。
【請求項２１】
請求項２０記載の方法において、  前記保護回路は、プログラム可能なレジスタのデータステートに応じて選択的に活性化されることを特徴とするメモリデバイスにおける不慮のデータ消去を阻止する方法。
【請求項２２】
レジスタ回路を第１のデータステートにプログラムするステップと、  前記レジスタ回路が前記第１のデータステートにプログラムされている間、前記メモリデバイスに対する書き込み処理および消去処理を許可するステップと、  前記レジスタ回路を第２のデータステートにプログラムするステップと、  前記レジスタ回路を前記第２のデータステートにプログラムした場合、保護回路を活性化するステップと、  前記レジスタ回路が前記第２のデータステートにプログラムされている間、電子キーが前記保護回路に供給されない限り、前記メモリデバイスに対する書き込み処理および消去処理を禁止するステップとを含むことを特徴とするメモリデバイスにおける不慮のデータ消去を阻止する方法。
【請求項２３】
請求項２２記載の方法において、  前記電子キーは、予め選択された外部接続端子に供給される電圧信号であり、当該電圧信号は、所定の閾値を超える電圧レベルの電圧信号であることを特徴とするメモリデバイスにおける不慮のデータ消去を阻止する方法。
【請求項２４】
請求項２２記載の方法において、  前記レジスタが不揮発性レジスタであることを特徴とするメモリデバイスにおける不慮のデータ消去を阻止する方法。
【請求項２５】
請求項２２記載の方法において、  前記レジスタが揮発性レジスタであり、前記レジスタ回路をプログラムするステップが、不揮発性レジスタから前記揮発性レジスタ回路にデータを転送するステップを含むことを特徴とするメモリデバイスにおける不慮のデータ消去を阻止する方法。
【請求項２６】
ブート領域に対する書き込み処理を開始するステップと、  レジスタ回路からデータを読み出すステップと、  データが第１のステートにあるとき、前記ブート領域に対する書き込み処理を許可するステップを含むことを特徴とするシンクロナスメモリデバイスのブート領域にデータを書き込む方法。
【請求項２７】
請求項２６記載の方法において、  検出回路のステータスをチェックし、前記データが第２のステートにあるかどうかを確認するステップと、  前記検出回路からの出力に基づいて前記ブート領域に対する前記書き込み処理を許可するステップを含むことを特徴とするシンクロナスメモリデバイスのブート領域にデータを書き込む方法。
【請求項２８】
請求項２７記載の方法において、  前記検出回路は、前記メモリデバイスに外部から供給される信号を監視することを特徴とするシンクロナスメモリデバイスのブート領域にデータを書き込む方法。
【請求項２９】
請求項２６記載の方法において、  前記ブート領域は、前記シンクロナスメモリデバイスのアドレス指定可能なセクタにおける最下位のメモリセクタおよび最上位のメモリセクタに位置することを特徴とするシンクロナスメモリデバイスのブート領域にデータを書き込む方法。
【請求項３０】
メモリコントローラと、  前記メモリコントローラに接続されるシンクロナスフラッシュメモリデバイスとを含むメモリシステムにおいて、  前記シンクロナスメモリデバイスは、  Ｎ個のアドレス指定可能なセクタを有するメモリセルのアレイと、  前記メモリセルのアレイに対する消去処理または書き込み処理を制御する制御回路と、  前記制御回路に接続された保護回路とを含み、  前記保護回路は、前記Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する消去処理または書き込み処理を選択的に阻止することを特徴とするメモリシステム。
【請求項３１】
請求項３０記載のメモリシステムにおいて、  前記第１のセクタまたは前記最後のセクタがシステムブートデータを保持することを特徴とするメモリシステム。
【請求項３２】
請求項３０記載のメモリシステムにおいて、  前記保護回路は、昇圧された電圧の信号に応じて、前記メモリコントローラによる前記第１のセクタまたは前記最後のセクタに対する消去処理または書き込み処理のいずれかを実行可能にし、前記信号は、前記メモリコントローラによって前記シンクロナスフラッシュメモリデバイスの外部接続端子に供給されることを特徴とするメモリシステム。
【請求項３３】
請求項３０記載のメモリシステムにおいて、  前記保護回路は、前記第１のセクタに対応する第１のビットと前記最後のセクタに対応する第２のビットを有するマルチビットレジスタを含み、前記制御回路は、前記第１のビットおよび前記第２のビットが第１のデータステートにプログラムされているときに前記第１のセクタおよび前記最後のセクタに対する消去処理または書き込み処理を阻止することを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、不揮発性メモリに関し、特に、同期式（シンクロナス）の不揮発性フラッシュメモリに関する。
【背景技術】
【０００２】  通常、メモリデバイスは、コンピュータの内部記憶領域用として提供される。用語「メモリ」は、データの記録媒体として用いられる集積回路チップを示す。メモリには幾つかの種類がある。例えば、ＲＡＭ（random-access memory）は、コンピュータのメインメモリとして用いられる。ＲＡＭは、読み書き可能なメモリである。つまり、データをＲＡＭに書き込んだり、データをＲＡＭから読み出したりすることができる。これに対し、ＲＯＭは、データの読み出ししかできないメモリである。ＲＡＭの多くは揮発性であり、コンテンツを記憶した状態を維持するためには、保持電流を必要とする。電源が切れれば、ＲＡＭに記録されたデータが失われる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】  ほとんどのコンピュータは、コンピュータを起動するための命令コード群が記録された小容量のＲＯＭを内蔵している。ＲＡＭとは異なり、ＲＯＭに書き込みを行うことはできない。ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）は、特別な不揮発性メモリであり、電荷を与えることによって（電気的に）データを消去することができる。他のＲＯＭと同様に、本来、ＥＥＰＲＯＭはＲＡＭのように高速なメモリではない。ＥＥＰＲＯＭは、多数のメモリセルを備え、各メモリセルは、電気的に絶縁された複数のゲート（フローティングゲート）を有する。フローティングゲートの電荷の有無に応じてメモリセルにデータが記録される。プログラミングや消去処理によって、フローティングゲートに対して電荷が供給されたり除去されたりする。【０００４】  また、別の不揮発性メモリの例として、フラッシュメモリが挙げられる。フラッシュメモリは、ＥＥＰＲＯＭの一種であり、データの消去やプログラムの更新は、バイト単位ではなく、ブロック単位で行われる。最近のパーソナルコンピュータの多くは、フラッシュメモリチップにＢＩＯＳを記録しており、ＢＩＯＳの更新を必要に応じて簡単に行うことができる。このようなＢＩＯＳは、フラッシュＢＩＯＳとも呼ばれる。フラッシュメモリは、モデムにも使用されることが多い。フラッシュメモリを使用することによって、新しいプロトコルが標準化された際に、モデムの製造元から提供されるファームウェアを更新して、このプロトコルをモデムがサポートするようにすることができる。【０００５】  通常、フラッシュメモリは、メモリアレイを備え、このメモリアレイは、行アドレスおよび列アドレスによって指定される多数のメモリセルで構成される。メモリセルの各々には、フローティングゲートを有して電荷を保持する電界効果トランジスタが設けられる。これらのセルは、ブロック単位のグループに分けられる。ブロックにおける各セルは、フローティングゲートに電荷を与えることによって、電気的に、ランダムにプログラムすることができる。蓄積電荷は、ブロック単位の消去処理によって、フローティングゲートから抜き出される。フローティングゲートにおける電荷の有無によってセルのデータが決定する。【０００６】  シンクロナスＤＲＡＭ（ＳＤＲＡＭ）は、従来のＤＲＡＭメモリよりも高速で動作するＤＲＡＭである。ＳＤＲＡＭは、ＣＰＵのバスと同期して動作する。ＳＤＲＡＭは、従来のＦＰＭ（Fast Page Mode）ＲＡＭの約３倍、ＥＤＯ（Extended Data Output）ＤＲＡＭやＢＥＤＯ（Burst Extended Data Output）ＤＲＡＭの約２倍の周波数である、１００ＭＨｚで動作する。ＳＤＲＡＭは、高速アクセスが可能であるが、揮発性である。多くのコンピュータシステムは、ＳＤＲＡＭを使用して動作するように設計されているが、不揮発性メモリへの利用も期待されている。【０００７】  上述した理由、または以下に述べる理由により、本技術分野において、ＳＤＲＡＭと同じように動作する不揮発性メモリデバイスに対する要求が存在する。これらの理由は、当業者であれば、明細書に記載された内容を理解することによって、明らかとなるであろう。
【課題を解決するための手段】
【０００８】  本発明は、上述したメモリデバイスの問題等を解決するためのものであり、以下の記載内容を検討することによって、理解可能となるであろう。【０００９】  一実施の形態においては、本発明は、既存のＳＤＲＡＭのパッケージピン配列に互換性のある不揮発性シンクロナスフラッシュメモリを提供する。詳細な明細書の記載により、ＳＤＲＡＭ分野の知識を有するシステムデザイナであれば、本発明をシステム処理の改良に向上させるのに役立たせることが可能であろう。【００１０】  別の実施の形態においては、シンクロナスメモリデバイスは、Ｎ個のアドレス指定可能なセクタを有するメモリセルアレイと、メモリセルアレイに対する消去処理または書き込み処理を制御する制御回路と、制御回路に接続された保護回路とを含む。保護回路は、Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する書き込み処理または消去処理の実行を選択的に阻止する。【００１１】  シンクロナスフラッシュメモリデバイスにおけるメモリロケーションの保護方法が提供される。この方法は、メモリロケーションに対応するデータビットを有するデータレジスタを第１のデータステートまたは第２のデータステートにプログラムするステップと、第１のメモリロケーションに対応するビットが第１のステートにあるとき、第１のメモリロケーションに対する消去処理または書き込み処理を阻止するステップとを含む。また、この方法は、第１のメモリロケーションに対応するデータビットが前記第２のステートにあるとき、第１のメモリロケーションに対する消去処理または書き込み処理を実行可能にするステップを含む。【００１２】  また、メモリデバイスにおける不慮のデータ消去を阻止する方法が提供される。この方法は、レジスタ回路を第１のデータステートにプログラムするステップと、レジスタ回路が第１のデータステートにプログラムされている間、メモリデバイスに対する書き込み処理および消去処理を許可するステップと、レジスタ回路を第２のデータステートにプログラムするステップとを含む。また、この方法は、レジスタ回路を第２のデータステートにプログラムした場合、保護回路を活性化するステップと、レジスタ回路が第２のデータステートにプログラムされている間、電子キーが保護回路に供給されない限り、メモリデバイスに対する書き込み処理および消去処理を禁止するステップとを含む。
【発明を実施するための最良の形態】
【００１３】  添付図面を参照して本発明の実施の形態を詳細に説明する。添付図面は、本明細書の一部を構成するものであり、本発明の具体的な実施の形態を例示的に示している。実施の形態の各々は、当業者が発明を実施できるように十分に説明されている。なお、本発明の精神および範囲を逸脱することなく、論理的、機械的、電気的な変更を加えて発明を実施してもよいことが理解されよう。従って、以下の詳細な説明は、限定的に解釈されるべきではない。本発明の範囲は、クレームによってのみ定義されるものである。【００１４】  以下の詳細な説明は、２つの主項目に分かれる。第１の項目（インタフェースの機能説明）では、ＳＤＲＡＭメモリとの互換性について詳細に説明されている。第２の項目（機能説明）では、フラッシュアーキテクチャにおける機能的コマンドが定められている。【００１５】 インタフェースの機能説明  図１Ａは、本発明の一実施の形態を示すブロック図である。メモリデバイス１００は、不揮発性のフラッシュメモリセル１０２のアレイを含む。このアレイは、アドレス指定が可能な複数のバンクに配列されている。本実施の形態においては、４つのメモリバンク１０４、１０６、１０８、１１０がメモリに含まれている。各メモリバンクは、メモリセルからなるアドレス指定が可能な複数のセクタを含む。メモリに保存されたデータは、ロケーションアドレスを用いることによってアクセスすることができる。このロケーションアドレスは、外部から供給され、アドレスレジスタ１１２によって受け取られる。該アドレスは、行アドレスマルチプレクサ１１４によって解読される。また、前記アドレスは、バンク制御ロジック１１６および行アドレスラッチ/デコーダ１１８によって解読される。メモリにおける所望の列にアクセスすることを可能にするために、列アドレスカウンタ／ラッチ１２０は、受け取った複数のアドレスを結合し、列デコーダ１２２に出力する。回路１２４は、入出力ゲート、データマスクロジック、読出しデータラッチ、さらに、書き込みドライバとしての機能を有する。データは、データ入力レジスタ１２６を通じて入力され、データ出力レジスタ１２８を通じて出力される。コマンド実行ロジック１３０は、メモリデバイスの基本動作を制御する。また、ステートマシン１３２は、メモリアレイおよびセル上で実行される特定の処理を制御する。さらに、データ出力のため、ステータスレジスタ１３４およびＩＤレジスタ１３６が設けられる。コマンド回路１３０および／またはステートマシン１３２は、読み出し、書き込み、消去および他のメモリ処理を制御するための制御回路として概ね参照可能である。【００１６】  図１Ｂは、本発明の一実施の形態における接続ピン配列（入出力コネクタピンアサイン）を示す。メモリパッケージ１５０は、５４個の接続ピンを有する。ピン構成は、既存のＳＤＲＡＭパッケージのものと概ね同じである。本発明独自の接続ピンは、ＲＰ＃１５２およびＶｃｃｐ１５４の２つである。本発明は、ＳＤＲＡＭのものと同じ接続ピンラベルを使用するが、本明細書において、接続ピンを通じて入出力される信号の機能は、特に説明がない限りは、ＳＤＲＡＭのものと同じではない。図１Ｃは、一実施の形態にお��るメモリパッケージ１６０を示す。メモリパッケージ１６０は、ピンによる接続端子ではなく、バンプによる接続端子を有する。従って、本発明は、特定のパッケージ構成に限定されるものではない。【００１７】  メモリデバイスの処理の特徴を説明する前に、接続ピンおよび各接続ピンを通じて入出力される信号について説明する。入力クロック端子は、クロック信号（ＣＬＫ）を供給する。クロック信号は、システムクロックによってドライブされる。シンクロナスフラッシュメモリの入力信号は、全て、ＣＬＫの立ち上がりエッジ（ポジティブエッジ）でサンプリングされる。また、ＣＬＫは、内部バーストカウンタのカウント値を増加させ、更に、出力レジスタを制御する。【００１８】  入力クロックイネーブル（ＣＫＥ）端子は、ＣＬＫ信号入力をアクティブ（活性化したＨＩＧＨ状態）、非アクティブ（活性化していないＬＯＷ状態）にするために使用される。クロック入力を非アクティブにすることによって、ＰＯＷＥＲ−ＤＯＷＮ＿ＳＴＡＮＤＢＹ処理（全てのメモリバンクがアイドル状態になる）、ＡＣＴＩＶＥ＿ＰＯＷＥＲ−ＤＯＷＮ処理（メモリ行がいずれのバンクにおいてＡＣＴＩＶＥになる）、または、ＣＬＯＣＫ＿ＳＵＳＰＥＮＤ処理（バースト／アクセスが続行中である）が可能になる。ＣＫＥは、メモリデバイスがパワーダウンモードに入っているとき以外は、同期状態になっている。メモリデバイスがパワーダウンモードに入っているときは、ＣＫＥは、非同期状態になっている。ＣＬＫ等の入力バッファは、パワーダウンモードでは、無効になっており、低消費電力のスタンバイ状態になっている。ＣＫＥは、ＲＰ＃がディープパワーダウンであるときを除き、パワーダウンモードが要求されていない場合は、システムにおいてＨＩＧＨ状態に維持されていてもよい。【００１９】  チップセレクト（ＣＳ＃）入力端子には、コマンド実行ロジックに設けられたコマンドデコーダを有効、無効にするための信号が入力される。信号がＬＯＷであれば、コマンドデコーダが有効となり、信号がＨＩＧＨであれば、コマンドデコーダが無効となる。つまり、ＣＳ＃がＨＩＧＨであれば、全てのコマンドがマスクされる。さらに、システムにおいて複数のバンクが存在する場合、ＣＳ＃によって外部からバンクを選択できるようになる。従って、ＣＳ＃は、コマンドコードの一部であるとみなすことができる。しかしながら、このＣＳ＃は、必須のものではない。【００２０】  入力コマンドを入力するための接続端子ＲＡＳ＃、ＣＡＳ＃およびＷＥ＃は（ＣＡＳ＃、ＣＳ＃と共に）、後述するように、メモリによって実行されるコマンドを定義する。入出力マスク（ＤＱＭ）端子は、書き込みアクセスのためのマスク信号を入力し、読み出しアクセスのためのイネーブル信号を出力するために使用される。ＷＲＩＴＥサイクルの間にサンプリングされたＤＱＭがＨＩＧＨであった場合には、入力データがマスクされる。ＲＥＡＤサイクルの間にサンプリングされたＤＱＭがＨＩＧＨであった場合には、２クロックのレイテンシが経過後、出力バッファが高インピーダンス（Ｈｉｇｈ−Ｚ）状態になる。ＤＱＭＬは、データ端子ＤＱ０〜ＤＱ７に対応し、ＤＱＭＨは、データ端子ＤＱ８〜ＤＱ１５に対応する。ＤＱＭＬおよびＤＱＭＨは、ＤＱＭとして参照されたとき、同一の状態であると考えられる。【００２１】  アドレス入力部（接続端子）１３３は、主に、アドレス信号を入力するために使用される。図示した実施の形態においては、メモリは１２のライン（Ａ０〜Ａ１１）を有する。また、後述するように、アドレス端子を通じて他の信号を入力するようにしてもよい。メモリバンクのあるロケーションを選択するために、ＡＣＴＩＶＥコマンド（行アドレスＡ０〜Ａ１１）やＲＥＡＤ／ＷＲＩＴＥコマンド（列アドレスＡ０〜Ａ７）が発行された際、アドレス入力部の信号がサンプリングされる。アドレス入力部は、後述するＬＯＡＤ＿ＣＯＭＭＡＮＤ＿ＲＥＧＩＳＴＥＲ処理の際、処理コード（ＯｐＣｏｄｅ）を入力するためにも使用される。また、アドレスラインＡ０−Ａ１１は、ＬＯＡＤ＿ＭＯＤＥ＿ＲＥＧＩＳＴＥＲ処理の際に、モード設定を入力するために使用される。【００２２】  入力リセット／パワーダウン（ＲＰ＃）端子１４０は、リセット処理やパワーダウン処理を行うために使用される。一実施の形態においては、デバイスを立ち上げる（initial device power-up）ときには、ＲＰ＃がＬＯＷからＨＩＧＨになった後、実行可能なコマンドを発行する前に、デバイス内部での初期動作のため、１００μｓの遅延時間が必要となる。ＲＰ＃信号がＬＯＷになると、ステータスレジスタがクリアされ、デバイス内のステートマシン（ＩＳＭ）１３２がアレイ読み出しモードに設定される。また、デバイスがディープパワーダウンモードになる。パワーダウンによって、ＣＳ＃１４２を含む全ての入力端子が「ドントケア（Don"t Care）」に設定され、全ての出力がＨｉｇｈ−Ｚ状態になる。ＲＰ＃信号がＶＨＨ電圧（５Ｖ）と同じになると、ＷＲＩＴＥ処理、ＥＲＡＳＥ処理の間、全ての保護モードが解除される。ＲＰ＃信号によって、デバイス保護ビットが「１（保護モード）」に設定されるが、ＲＰ＃信号がＶＨＨになったときは、１６ビットレジスタのロケーション０および１５に存在するブロック保護ビットの各々が、「０（非保護モード）」に設定される。保護ビットについては後述する。他の処理モードの全てにおいて、ＲＰ＃は、ＨＩＧＨに維持される。【００２３】  バンクアドレス入力端子ＢＡ０およびＢＡ１は、どのバンクに対し、ＡＣＴＩＶＥコマンド、ＲＥＡＤコマンド、ＷＲＩＴＥコマンド、または、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴコマンドを発行するかどうかを定義する。ＤＱ０〜ＤＱ１５端子１４３は、双方向データ通信に使用されるデータバス接続端子である。図１Ｂに示すＶＣＣＱ端子は、ノイズの干渉を受けにくくなるように、ＶＣＣ端子と絶縁された電源をＤＱ端子に供給するために使用される。一実施の形態においては、ＶＣＣＱ＝Ｖｃｃ、即ち、１．８Ｖ±０．１５Ｖである。ＶＳＳＱ端子は、ノイズの干渉を受けにくくなるように、ＤＱ端子に対してＶＳＳ端子と絶縁されたグラウンドとして使用される。ＶＣＣ端子は、例えば、３Ｖの電源供給用である。グラウンドへの接続は、Ｖｓｓ端子を通じて行われる。また、ＶＣＣＰ端子１４４を通じて別のオプション電圧を供給してもよい。ＶＣＣＰ端子は、デバイスの外部でＶＣＣ端子に接続され、デバイスの初期動��、ＷＲＩＴＥ処理、ＥＲＡＳＥ処理に使用される電流を供給する。つまり、メモリデバイスの書き込み処理や消去処理は、ＶＣＣＰ端子を通じて供給された電圧を用いて行われ、他の処理は、全て、ＶＣＣ端子を通じて供給された電圧を用いて行われる。Ｖｃｃｐ端子は、高圧スイッチ／ポンプ回路１４５に接続される。【００２４】  以下、シンクロナスフラッシュメモリの動作に関するより詳細な説明を行う。本発明の一実施の形態は、不揮発性であり、セクタ単位で電気的にデータを消去（フラッシュ）可能であり、プログラム可能なＲＯＭに関する。このメモリは、１６ビット単位の４，１９４，３０４ワードとして構成される６７，１０８，８６４ビットのデータ容量を有する。他のデータ容量でもよく、本発明は、例として示したデータ容量に限定されない。メモリバンクの各々は、４つの別個に消去可能なブロックで構成される。つまり、合計１６のブロックが存在する。不慮の消去処理や上書き処理を防いで重要なファームウェアを確実に保護するために、メモリは、ハードウエアおよびソフトウエアによってロック可能な１６個のブロックを含み、各ブロックは、２５６Ｋワードのデータ容量を有する。メモリには４つのバンクが含まれているため、真の並列処理を実現することができる。【００２５】  バンクに対する読み出しアクセスは、バックグラウンドで他のバンクに対してＷＲＩＴＥ処理またはＥＲＡＳＥ処理を行っているときに行うことができる。シンクロナスフラッシュメモリは、シンクロナスインタフェースを有し、クロック信号ＣＬＫの立ち上がりエッジ上で全ての信号を登録することができる。また、メモリの読み出しは、バーストモードで行うことができる。つまり、メモリアクセスは、選択されたロケーションから開始され、アクセスするロケーションの数は、予めプログラムされている。メモリアクセスは、予めプログラムされたシーケンスに従って行われる。読み出しアクセスは、ＡＣＴＩＶＥコマンドの登録で開始し、ＲＥＡＤコマンドによって続行される。ＡＣＴＩＶＥコマンドと同時に登録されたアドレスビットは、アクセス対象のバンクと行を選択するために使用される。ＲＥＡＤコマンドと同時に登録されたアドレスビットは、バーストアクセスを開始する列のロケーションとバンクを選択するために使用される。【００２６】  シンクロナスフラッシュメモリは、１つのロケーション、２つのロケーション、４つのロケーション、８つのロケーション、または、フルページに対応するプログラム可能な読み出しバースト長を提供する。オプションとしてバースト終端を提供するようにしてもよい。また、シンクロナスフラッシュメモリは、高速処理を達成するために、内部パイプラインアーキテクチャを採用している。【００２７】  シンクロナスフラッシュメモリは、低電力のメモリシステム、例えば、３Ｖで駆動するシステムで動作する。メモリの動作モードとしては、ディープパワーダウンモードが省電力スタンバイモードとして提供される。全ての入出力は、ＬＶＴＴＬ（low voltage transistor-transistor logic）互換である。シンクロナスフラッシュメモリは、フラッシュ処理性能を大幅に向上させることができる。ここで、フラッシュ処理性能とは、自動的に列アドレスを生成しながら高速にデータを転送する能力と、バーストアクセス期間にクロックサイクル毎に列アドレスをランダムに切り換える能力を含む。【００２８】  一般的に、シンクロナスフラッシュメモリは、低電圧で駆動し、複数のバンクを備えたＤＲＡＭと同様の構成を有する。バンクの各々は、複数の行と複数の列とで構成される。シンクロナスフラッシュメモリは、通常の処理を行う前に初期化される。以下、デバイスの初期化、レジスタの定義、コマンドの内容、およびデバイスの動作について詳細に説明する。【００２９】  シンクロナスフラッシュは、所定の方法で起動され（powered up）、初期化される。ＶＣＣ、ＶＣＣＱ、およびＶＣＣＰに対して（同時に）電源が供給されると、クロック信号が安定し、ＲＰ＃１４０がＬＯＷ状態からＨＩＧＨ状態になる。デバイス内部の初期化を完了するまでには、ＲＰ＃がＨＩＧＨ状態に移行した後、例えば、１００μｓの遅延時間が必要である。遅延時間が経過した後、メモリは、アレイ読み出しモードになり、モードレジスタへのプログラミング、または、コマンドの実行可能状態となる。不揮発性モードレジスタ（ＮＶモードレジスタ）１４７に対する最初のプログラミングの後、初期化処理の間、コンテンツが自動的に揮発性モードレジスタにロードされる。デバイスは、予めプログラムされた状態で起動し（power-up）、処理コマンドを発行する前に再度不揮発性モードレジスタ１４７のリロードを行う必要はない。これについては後述する。【００３０】  モードレジスタ１４８は、シンクロナスフラッシュメモリの特定の処理モードを定義するために使用される。この定義には、図２に示すように、バースト長、バーストタイプ、ＣＡＳレイテンシ、処理モードの選択が含まれる。モードレジスタは、ＬＯＡＤ＿ＭＯＤＥ＿ＲＥＳＩＳＴＯＲコマンドに基づいてプログラミングを行い、再プログラミングが行われるまで、格納された情報を保持する。モードレジスタのコンテンツをＮＶモードレジスタ１４７にコピーしてもよい。ＮＶモードレジスタの設定に基づいて、初期化処理の間、モードレジスタ１４８が自動的にロードされる。ＥＲＡＳＥ＿ＮＶＭＯＤＥ＿ＲＥＧＩＳＴＥＲコマンド、ＷＲＩＴＥ＿ＮＶＭＯＤＥ＿ＲＥＧＩＳＴＥＲコマンドの詳細については後述する。当業者であれば、ＳＤＲＡＭにおいては、初期化処理毎に、モードレジスタが外部からロードされる必要があることを理解できるであろう。本発明によればデフォルトモードの設定がＮＶモードレジスタ１４７に登録される。ＮＶモードレジスタのコンテンツは、揮発性モードレジスタ１４８にコピーされ、メモリで各処理が実行されている間にアクセスされる。【００３１】  モードレジスタビットＭ０〜Ｍ２は、バースト長を定義する。モードレジスタビットＭ３は、バーストタイプ（シーケンシャル、インターリーブ）を定義する。モードレジスタビットＭ４〜６は、ＣＡＳレイテンシを定義する。モードレジスタビットＭ７およびＭ８は、処理モードを定義する。モードレジスタビットＭ９は１に設定される。モードレジスタビットＭ１０およびＭ１１は、本実施の形態では予備とされている。本実施の形態では、ＷＲＩＴＥバーストは、実行されないため、Ｍ９は、論理１に設定さ��、書き込みアクセスは、１つのロケーション（非バースト）で行われる。モードレジスタは、全てのバンクがアイドル状態にあるときにロードされる必要がある。コントローラは、後続の処理を開始するためには、所定の時間待機しなければならない。【００３２】  シンクロナスフラッシュメモリに対する読み出しアクセスは、バーストモードで行われる。バースト長は表１に示すようにプログラム可能である。バースト長は、所定のＲＥＡＤコマンドによって自動的にアクセス可能な列ロケーションの最大の数を定義する。バーストタイプがシーケンシャルの場合でも、インターリーブの場合でも、１つのロケーション、２つのロケーション、４つのロケーション、８つのロケーションに対応するバースト長を有する。また、バーストタイプがシーケンシャルである場合には、フルページに対応するバースト長を利用できる。バースト長がフルページである場合、ＢＵＲＳＴ＿ＴＥＲＭＩＮＡＴＥコマンドを使用して任意のバースト長を作成してもよい。つまり、バーストを選択的に終了させることによって、バースト長をカスタマイズすることができる。ＲＥＡＤコマンドが発行されたとき、バースト長に相当する数の列を含むブロックを選択することができる。このバーストモードで行われるアクセスは、全て、選択されたブロック内で行われる。つまり、境界に達するまでそのブロック内を連続してアクセスする。バースト長が２に設定されている場合は、Ａ１〜Ａ７によってブロックが独自に選択される。バースト長が４に設定されている場合は、Ａ２〜Ａ７によってブロックが選択される。バースト長が８に設定されている場合は、Ａ３〜Ａ７によってブロックが選択される。残余の下位アドレスビット（最下位ビットを含む）は、ブロック内での開始位置を選択するために使用される。フルページバーストは、境界に達するまでそのページ内を連続してアクセスする。【００３３】  所定のバースト内で行われるアクセスは、ビットＭ３によって、シーケンシャル、またはインターリーブのバーストタイプにプログラムされる。バースト内でのアクセスの順序は、表１に示すように、バースト長、バーストタイプ、開始列アドレスによって決定される。【００３４】
【表１】
2006164511.tif 000003
【００３５】  以下の真理値表は、本発明のメモリにおけるメモリアレイの保護に関し、いくつかの処理コマンドをより詳細に示している。【００３６】
【表２】
2006164511.tif 000004
【００３７】 機能説明  シンクロナスフラッシュメモリは、多くの機能を有し、ＳＤＲＡＭバス上でのコードの格納や、ＸＩＰ技術（execute in place）技術を利用したアプリケーションに最適である。メモリアレイは、個々の消去ブロックに細分化される。各々のブロックに保持されたデータは、他のブロックに保持されたデータに影響を与えることなく消去することができる。これらのメモリブロックの読み出し、書き込み、消去は、コマンド実行ロジック（ＣＥＬ）１３０に対するコマンドの発行によって実行することができる。ＣＥＬは、内部ステートマシン（ＩＳＭ）１３２の処理を制御する。ＣＥＬは、ＥＲＡＳＥ＿ＮＶＭＯＤＥ＿ＲＥＧＩＳＴＥＲ処理、ＷＲＩＴＥ＿ＮＶＭＯＤＥ＿ＲＥＧＩＳＴＥＲ処理、ＷＲＩＴＥ処理、ＢＬＯＣＫ＿ＥＲＡＳＥ処理、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴ処理、ＤＥＶＩＣＥ＿ＰＲＯＴＥＣＴ処理、ＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳ処理、およびＶＥＲＩＦＹ処理の全てを完全に制御する。ＩＳＭ１３２は、各々のメモリロケーションで過剰消去がなされないように保護し、各々のメモリロケーションでデータの保持が最大限に行われるように最適化する。さらに、ＩＳＭによって、システム内でのデバイスの書き込み、または、外部のプログラマによるデバイスの書き込みに必要な制御が大幅に簡略化する。【００３８】  シンクロナスフラッシュメモリは、１６個の別個の消去可能なブロックで構成される。メモリブロックに保持されたデータは、他のメモリブロックに保持されたデータに影響を与えることなく、部分的に消去可能である。メモリブロックは、ハードウエアによって不慮のデータ消去や書き込みから保護されるようにしてもよい。ブロックを保護する場合には、当該ブロックのデータが改変される前に、ＲＰ＃端子の電圧をＶＨＨ（比較的に高電圧）にドライブする必要がある。ロケーション０および１５の２５６Ｋワードの容量を有するブロックは、別のハードウエアによる保護手段を備えていてもよい。これらのブロックに対してＰＲＯＴＥＣＴコマンドが一旦実行されると、ＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳコマンドによって、ＲＰ＃がＶＨＨでなければ、ロケーション０およびロケーション１５以外の全てのブロックの保護を解除する。これにより、システム内でのファームウェアのアップデートの際、不慮の電力障害やシステムリセットが発生した場合であっても、重要なコードに対するセキュリティが高められる。【００３９】  電源立ち上げ時の初期化、ＥＲＡＳＥ処理、ＷＲＩＴＥ処理およびＰＲＯＴＥＣＴ処理のタイミングは、メモリアレイ内の全てのプログラミングのアルゴリズムを制御するＩＳＭを用いることによって簡略化される。ＩＳＭによって、過剰消去を防止してデータが保護され、各セルに対する書き込みマージンが最適化される。ＷＲＩＴＥ処理の間、ＩＳＭは、自動的に、ＷＲＩＴＥ処理の試行回数のインクリメントおよび監視を行い、各メモリセルにおける書き込みマージンを認証し、ＩＳＭステータスレジスタを更新する。ＢＬＯＣＫ＿ＥＲＡＳＥ処理を実行するとき、ＩＳＭは、自動的にアドレスブロック全体を上書きして過剰消去を防止し、ＷＲＩＴＥ処理の試行回数のインクレメントおよび監視を行���、ＩＳＭステータスレジスタのビットをセットする。【００４０】  ８ビットのＩＳＭステータスレジスタ１３４は、外部プロセッサ２００またはメモリコントローラにＷＲＩＴＥ処理、ＥＲＡＳＥ処理、ＰＲＯＴＥＣＴ処理時のＩＳＭのステータスを監視させる。８ビットのステータスレジスタのうち、１ビット（ＳＲ７）のセットおよびクリア（設定解除）は、ＩＳＭによって完全に行われる。このビットは、ＩＳＭがＥＲＡＳＥ処理、ＷＲＩＴＥ処理、または、ＰＲＯＴＥＣＴ処理でビジーになっているか否かを示す。また、他のエラー情報、即ち、書き込み保護ブロックエラー、消去非保護全ブロックエラー、デバイス保護エラーは、別の３つのビット（ＳＲ３、ＳＲ４、ＳＲ５）で設定する。ステータスレジスタビットＳＲ０、ＳＲ１およびＳＲ２により、実行中のＩＳＭの処理の詳細な情報が得られる。ユーザは、デバイスレベルでのＩＳＭの処理が進行中であるのか、バンクレベルでのＩＳＭ処理が進行中であるのかを確認でき、どのバンクがＩＳＭによって制御されているかも確認できる。これらの６個のビット（ＳＲ３〜ＳＲ５）は、ホストシステムによってクリアされなければならない。表２は、ステータスレジスタの一実施の形態を図示している。【００４１】
【表３】
2006164511.tif 000005
【００４２】  節電効果を高めるために、シンクロナスフラッシュは、極めて低電流のディープパワーダウンモードに対応している。このモードに入るためには、ＲＰ＃端子１４０（リセット／パワーダウン）をＶＳＳ±０．２Ｖにする必要がある。不慮のＲＥＳＥＴを回避するため、ＲＰ＃がＶｓｓで１００ｎｓの間維持されなければデバイスはリセットモードに入らない。ＲＰ＃がＶｓｓに維持されると、デバイスは、ディープパワーダウンモードに入る。デバイスがディープパワーダウンモードに入った後にＲＰ＃がＬＯＷからＨＩＧＨに変化すると、本明細書中で概略説明しているように、デバイスの起動初期化シーケンスが実行される。リセットモードに入った後にＲＰ＃がＬＯＷからＨＩＧＨに変化しても、ディープパワーダウンモードに入っていなかった場合には、実行可能なコマンドの発行までに１μｓの遅延時間が必要となる。デバイスがディープパワーダウンモードに入ると、ＲＰ＃バッファを除く全てのバッファが不作動（disable）になり、電流量が少なくなり、例えば、３．３ＶのＶＣＣで最大５０μＡになる。ディープパワーダウンモードの間、ＲＰ＃への入力はＶｓｓに維持されなければならない。ＲＥＳＥＴモードに入ると、ステータスレジスタ１３４がクリアされ、ＩＳＭ１３２がアレイ読み出しモードにセットされる。【００４３】  シンクロナスフラッシュメモリアーキテクチャによれば、各セクタのデータを消去する際、アレイの他の部分に影響を与えることがない。アレイは、１６個のアドレス指定可能な「ブロック」に分けられており、これらのブロックは、別個に消去可能である。アレイ全体ではなく、ブロック単位でデータの消去が可能であるため、デバイス全体の耐久性およびシステムの柔軟性が向上する。ＥＲＡＳＥ機能およびＢＬＯＣＫ＿ＰＲＯＴＥＣＴ機能のみがブロック単位で実行される。１６個のアドレス指定可能なブロックは、４つのバンク１０４、１０６、１０８、１１０に等分される。つまり、各バンク１０４、１０６、１０８、１１０は、４つのブロックからなる。４つのバンクに対し、一方では読み出し、他方では書き込みを同時に行うことができる。あるバンクに対し、ＩＳＭによるＷＲＩＴＥ処理またはＥＲＡＳＥ処理を行っているときに別のバンクに対してＲＥＡＤ処理を行うことができる。ステータスレジスタ１３４をポーリングすることによって、どのバンクに対してＩＳＭの処理が実行されているかを判定することができる。シンクロナスフラッシュメモリは、単一のバックグランド処理を行うＩＳＭを備える。このＩＳＭは、電源立ち上げ時の初期化処理、ＥＲＡＳＥ処理、ＷＲＩＴＥ処理およびＰＲＯＴＥＣＴ処理を制御する。どのような場合であっても、ＩＳＭによる処理は1つしか実行することができない。しかしながら、ＲＥＡＤ処理を含む他の特定のコマンドは、ＩＳＭ処理を行っている間に実行することができる。ＩＳＭによって制御される処理コマンドは、バンクレベルの処理、またはデバイスレベルの処理である。ＷＲＩＴＥ処理やＥＲＡＳＥ処理は、バンクレベルで行われるＩＳＭ処理である。バンクレベルで行われるＩＳＭ処理が開始されると、このバンクにおいては、どのロケーションに対してＲＥＡＤ処理が行われても無効データが出力されるが、他のバンクに対してＲＥＡＤ処理が行われると、そのアレイが読み出される。ＲＥＡＤ＿ＳＴＡＴＵＳ＿ＲＥＧＩＳＴＥＲコマンドが実行されると、ステータスレジスタ１３４が保持するコンテンツが出力される。ＩＳＭステータスビットは、ＩＳＭ処理の終了を示す（ＳＲ７＝１）。ＩＳＭ処理が終了すると、バンクが自動的にアレイ読み出しモードに入る。ＥＲＡＳＥ＿ＮＶＭＯＤＥ＿ＲＥＧＩＳＴＥＲ処理、ＷＲＩＴＥ＿ＮＶＭＯＤＥ ＲＥＧＩＳＴＥＲ処理、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴ処理、ＤＥＶＩＣＥ＿ＰＲＯＴＥＣＴ処理、およびＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳ処理は、デバイスレベルで行われるＩＳＭ処理である。デバイスレベルで行われるＩＳＭ処理が一旦開始されると、どのバンクに対してＲＥＡＤ処理が行われてもアレイが保持するコンテンツが出力される。ＲＥＡＤ＿ＳＴＡＴＵＳ＿ＲＥＧＩＳＴＥＲコマンドは、ＩＳＭ処理の終了を判定するために発行される。ＳＲ７＝１であるとき、ＩＳＭ処理は終了し、次のＩＳＭ処理が開始される。ハードウエア回路によって意図しないＥＲＡＳＥ処理またはＷＲＩＴＥ処理が行われるのを防いでブロックのデータを保護する場合には、以下に述べるように、ＷＲＩＴＥ処理またはＥＲＡＳＥ処理が行われる前にＲＰ＃をＶＨＨにドライブする必要がある。【００４４】  ファームウェアの最も重要な部分に対するセキュリティを高めるために、ブロックのデータをハードウエアによって保護する場合がある。ハードウエアによって保護されているブロックに対してＷＲＩＴＥ処理またはＥＲＡＳＥ処理が行われている間には、即ち、ＷＲＩＴＥ処理またはＥＲＡＳＥ処理が終了するまでは、ＲＰ＃は、ＶＨＨに維持されなければならない。ＲＰ＃＝ＶＨＨでない場合、保護されたブロックに対するＷＲＩＴＥ処理またはＥＲＡＳＥ処理は禁止され、書き込みエラーまたは消去エラーとなる。ロケーション０および１５のブロックは、予期しないＷＲＩＴＥ処理あるいはＥＲＡＳＥ処理を保護するために、別のハードウエア保護機能を有する。本実施の形態において、これらのブロックは、ＲＰ＃＝ＶＨＨでない場合には、ＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳコマンドの発行に基づくソフトウエアによる保護解除ができないようになっている。ブロックの保護ステータスは、ＲＥＡＤ＿ＳＴＡＴＵＳ＿ＲＥＧＩＳＴＥＲコマンドを発行し、ブロックの保護ビットを読み取ることによって確認することができる。また、ブロックを保護するためには、対象となるブロックアドレスに対し、３サイクルのコマンドシーケンスを発行しなければならない。【００４５】  デバイス保護ステータスおよびブロック保護ステータスは、全て、ＲＥＡＤ＿ＤＥＶＩＣＥ＿ＣＯＮＦＩＧＵＲＡＴＩＯＮ（９０Ｈ）コマンドを発行することによって読み出される。所望のレジスタを読み出すために、特定のアドレスがアサートされなければならない。このモードでは、特定のアドレスが所望の情報を読み出すために発行される。デバイス保護ビットは、０００００３Ｈで読み出される。ブロック保護ビットの各々は、各ブロックにおける３番目のアドレスロケーション（ｘｘ０００２Ｈ）で読み出される。デバイス保護ビットおよびブロ���ク保護ビットは、ＤＱ０に出力される。様々なデバイスのコンフィグレーションレジスタ１３６についての詳細を表３に示す。【００４６】
【表４】
2006164511.tif 000006
【００４７】  アレイに対してデータを入力するには、連続的なクロックエッジで３つの連続的なコマンドを発行する必要がある（各サイクルの間において、ＮＯＰコマンドおよびＣＯＭＭＡＮＤ＿ＩＮＨＩＢＩＴコマンドの発行が許されている）。初めのサイクルにおいては、Ａ０〜Ａ７に対し、ＬＯＡＤ＿ＣＯＭＭＡＮＤ＿ＲＥＧＩＳＴＥＲコマンドがＷＲＩＴＥ＿ＳＥＴＵＰコマンド（４０Ｈ）とともに発行され、ＢＡ０、ＢＡ１に対し、バンクアドレスが発行される。次のサイクルにおいては、ＡＣＴＩＶＥコマンドが発行され、行アドレスがアクティブとなり、バンクアドレスが確認される。３番目のサイクルは、ＷＲＩＴＥコマンドであり、開始列、バンクアドレスおよびデータが発行される。ＣＡＳレイテンシが経過した後、次のクロックエッジでＩＳＭステータスビットが設定される。ＩＳＭがＷＲＩＴＥ処理を実行している間、ＩＳＭステータスビット（ＳＲ７）は０になる。ＩＳＭの制御下では、バンクに対してＲＥＡＤ処理が行われると、無効なデータが作成される。ＩＳＭステータスビット（ＳＲ７）が論理１に設定されると、ＷＲＩＴＥ処理が終了し、このバンクはアレイ読み出しモードとなり、コマンドの実行が可能となる。ハードウエアによって保護されたブロックに書き込みをする場合にも、第３のサイクルであるＷＲＩＴＥ処理を実行する前にＲＰ＃がＶＨＨに設定される必要があり、ＩＳＭによるＷＲＩＴＥ処理が終了するまで、ＲＰ＃は、ＶＨＨに保持されなければならない。連続するサイクルでＬＣＲ−ＡＣＴＩＶＥ−ＷＲＩＴＥコマンドシーケンスが終了していない場合、または、バンクアドレスが３サイクルのいずれかにおいて変更された場合には、書き込みステータスビットおよび消去ステータスビット（ＳＲ４およびＳＲ５）が設定される。ＩＳＭがＷＲＩＴＥ処理を開始すると、このＷＲＩＴＥ処理は、ＲＥＳＥＴ処理が行われるか、パワーダウンが行われることがない限り、中止することはない。ＲＥＳＥＴ処理が行われたり、パワーダウンが行われたりすると、いずれの場合にも、書き込み中のデータが破壊される可能性がある。【００４８】  ＥＲＡＳＥシーケンスを実行すると、ブロック内の全てのビットが論理１に設定される。ＥＲＡＳＥ処理を実行するのに必要なコマンドシーケンスは、ＷＲＩＴＥ処理を実行するためのものと同様である。予期しないブロック消去が行われるのを防止してセキュリティを高めるために、あるブロックのＥＲＡＳＥ処理を開始するには、連続的なクロックエッジで３つの連続的なコマンドを発行する必要がある。初めのサイクルにおいては、Ａ０〜Ａ７に対してＬＯＡＤ＿ＣＯＭＭＡＮＤ＿ＲＥＧＩＳＴＥＲコマンドがＥＲＡＳＥ＿ＳＥＴＵＰコマンド（２０Ｈ）と共に発行され、ＢＡ０、ＢＡ１に対して消去されるブロックのバンクアドレスが発行される。次のサイクルにおいては、ＡＣＴＩＶＥコマンドが発行され、Ａ１０、Ａ１１、ＢＡ０、ＢＡ１によって消去されるブロックのアドレスが指定される。３番目のサイクルではＷＲＩＴＥコマンドが発行され、その間に、ＤＱ０〜ＤＱ７に対してＥＲＡＳＥ＿ＣＯＮＦＩＲＭコマンド（Ｄ０Ｈ）が発行され、バンクアドレスが再発行される。ＣＡＳレイテンシが経過した後、次��クロックエッジでＩＳＭステータスビットが設定される。ＥＲＡＳＥ＿ＣＯＮＦＩＲＭコマンド（Ｄ０Ｈ）が発行された後、ＩＳＭは、アドレスが指定されたブロックのＥＲＡＳＥ処理を開始する。アドレスが指定されているブロックが存在するバンクに対してＲＥＡＤ処理が行われると、無効なデータが出力される。ＥＲＡＳＥ処理が終了すると、バンクはアレイ読み出しモードになり、コマンドの実行が可能となる。ハードウエアによって保護されたブロックを消去する場合にも、第３のサイクルであるＷＲＩＴＥ処理を実行する前にＲＰ＃がＶＨＨに設定される必要があり、ＩＳＭによるＥＲＡＳＥ処理が終了する（ＳＲ７＝１）まで、ＲＰ＃は、ＶＨＨに保持されなければならない。連続的なサイクルでＬＣＲ−ＡＣＴＩＶＥ−ＷＲＩＴＥコマンドシーケンスが終了していない場合（各サイクルの間において、ＮＯＰコマンドおよびＣＯＭＭＡＮＤ＿ＩＮＨＩＢＩＴコマンドの発行が許されている）、または、１つ以上のコマンドサイクルでバンクアドレスが変更されている場合には、書き込みステータスビットおよび消去ステータスビット（ＳＲ４およびＳＲ５）が設定され、処理が禁止される。【００４９】  ＢＬＯＣＫ＿ＰＲＯＴＥＣＴシーケンスを実行することにより、所定のブロックに対する第１レベルのソフトウエア／ハードウエア保護を行うことができる。メモリは、１つのビットで１６個のブロックを保護する１６ビットレジスタを有する。また、メモリは、書き込み処理や消去処理を防止してデバイス全体のデータを保護するためのデバイスビットを提供するレジスタを備える。ＢＬＯＣＫ＿ＰＲＯＴＥＣＴ処理を実行するのに必要なコマンドシーケンスは、ＷＲＩＴＥ処理を実行するためのものと同様である。予期しないブロック消去が行われるのを防止してセキュリティを高めるために、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴ処理を開始するには、３つの連続的なコマンドを発行する必要がある。初めのサイクルにおいては、Ａ０〜Ａ７に対してＬＯＡＤ＿ＣＯＭＭＡＮＤ＿ＲＥＧＩＳＴＥＲコマンドがＰＲＯＴＥＣＴ＿ＳＥＴＵＰコマンド（６０Ｈ）と共に発行され、ＢＡ０、ＢＡ１に対して保護すべきブロックのバンクアドレスが発行される。次のサイクルにおいては、ＡＣＴＩＶＥコマンドが発行され、保護されるべきブロックの行がアクティブになり、バンクアドレスが確認される。３番目のサイクルでは、ＷＲＩＴＥコマンドが発行され、その間に、ＤＱ０〜ＤＱ７に対してＢＬＯＣＫ＿ＰＲＯＴＥＣＴ＿ＣＯＮＦＩＲＭコマンド（０１Ｈ）が発行され、バンクアドレスが再発行される。ＣＡＳレイテンシが経過した後、次のクロックエッジでＩＳＭステータスビットが設定される。そして、ＩＳＭは、ＰＲＯＴＥＣＴ処理を開始する。連続的なサイクルでＬＣＲ−ＡＣＴＩＶＥ−ＷＲＩＴＥコマンドシーケンスが終了していない場合、（各サイクルの間において、ＮＯＰコマンドおよびＣＯＭＭＡＮＤ＿ＩＮＨＩＢＩＴコマンドの発行が許されている）、または、バンクアドレスが変更された場合には、ＷＲＩＴＥステータスビットおよび消去ステータスビット（ＳＲ４およびＳＲ５）が設定され、処理が禁止される。ＩＳＭステータスビット（ＳＲ７）が論理１に設定されると、ＰＲＯＴＥＣＴ処理が終了し、そのバンクはアレイ読み出しモードとなり、コマンドの実行が可能となる。ブロック保護ビットが一旦１（保護）に設定されると、ＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳコマンドによって０にリセットする以外には、この保護ビットを変更できなくなる。ＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳコマンドシーケンスは、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴコマンドに類似しているが、第３のサイクルでは、ＷＲＩＴＥコマンドがＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳ＿ＣＯＮＦＩＲＭコマンド（Ｄ０Ｈ）と共に発行され、アドレスが「ドントケア」に指定される。真理値表２には、さらに他の情報も含まれている。【００５０】  ロケーション０および１５のブロックでは、さらにセキュリティが高まっている。ロケーション０および１５のブロック保護ビットが一旦１（保護）に設定されると、各ビットは、ＵＮＰＲＯＴＥＣＴ処理の３番目のサイクルの前にＲＰ＃をＶＨＨにし、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴ処理またはＵＮＰＲＯＴＥＣＴ ＡＬＬ＿ＢＬＯＣＫＳ処理が終了するまで（ＳＲ７＝１）ＶＨＨに保持されなければ、ビットが０にリセットされない。さらに、デバイス保護ビットがセットされた場合、前記３番目のサイクルの前にＲＰ＃をＶＨＨにし、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴ処理又はＵＮＰＲＯＴＥＣＴ＿ＡＬＬ＿ＢＬＯＣＫＳ処理が終了するまでＶＨＨに保持させる必要がある。ブロックの保護ステータスの確認は、ＲＥＡＤ＿ＤＥＶＩＣＥ＿ＣＯＮＦＩＧＵＲＡＴＩＯＮコマンド（９０Ｈ）を発行することによって行われる。【００５１】  ＤＥＶＩＣＥ＿ＰＲＯＴＥＣＴシーケンスを実行すると、デバイスの保護ビットが１に設定され、ブロック保護ビットの変更が防止される。ＤＥＶＩＣＥ＿ＰＲＯＴＥＣＴ処理を実行するのに必要なコマンドシーケンスは、ＷＲＩＴＥ処理を実行するためのものと同様である。ＤＥＶＩＣＥ＿ＰＲＯＴＥＣＴシーケンスを開始するには３つの連続したコマンドサイクルが必要となる。初めのサイクルでは、Ａ０〜Ａ７に対してＬＯＡＤ＿ＣＯＭＭＡＮＤ＿ＲＥＧＩＳＴＥＲコマンドがＰＲＯＴＥＣＴ＿ＳＥＴＵＰコマンド（６０Ｈ）と共に発行され、ＢＡ０、ＢＡ１に対してバンクアドレスが発行される。バンクアドレスは、「ドントケア」であるが、３つのサイクルの全てに対して同一のバンクアドレスを使用しなければならない。次のコマンドは、ＡＣＴＩＶＥである。３番目のサイクルは、ＷＲＩＴＥサイクルである。ＷＲＩＴＥサイクルの間、ＤＱ０〜ＤＱ７に対してＤＥＶＩＣＥ＿ＰＲＯＴＥＣＴコマンド（Ｆ１Ｈ）が発行され、ＲＰ＃がＶＨＨになる。ＣＡＳレイテンシが経過した後、次のクロックエッジでＩＳＭステータスビットが設定される。デバイスに対して実行可能なコマンドを発行することが可能になる。ＲＰ＃は、ＷＲＩＴＥ処理が終了する（ＳＲ７＝１）までは、ＶＨＨに保持されなければならない。現在実行中のＩＳＭ処理が終了するまでは、新たなＷＲＩＴＥ処理の実行は許されない。デバイス保護ビットが一旦１に設定されると、ＲＰ＃がＶＨＨにならない限り、ＢＬＯＣＫ＿ＰＲＯＴＥＣＴ処理やＢＬＯＣＫ＿ＵＮＰＲＯＴＥＣＴ処理は実行することができない。デバイス保護ビットは、ＷＲＩＴＥ処理ま���はＥＲＡＳＥ処理に影響を与えない。ブロック保護処理およびデバイス保護処理についてのより詳細な情報を表４に示す。【００５２】
【表５】
2006164511.tif 000007
【００５３】  ステートマシーンステータスビット（ＳＲ７）が設定された後、デバイス／バンク（ＳＲ０）、デバイス保護（ＳＲ３）、バンクＡ０（ＳＲ１）、バンクＡ１（ＳＲ２）、書き込み／保護ブロック（ＳＲ４）および消去／非保護（ＳＲ５）の各ステータスビットがチェックされる。ＳＲ３、ＳＲ４、ＳＲ５のステータスビットのうちの1つ、またはこれらのステータスビットの組み合わせ（幾つか）が設定されている場合には、処理の際にエラーが発生する。ＩＳＭはＳＲ３、ＳＲ４、ＳＲ５のビットをリセットすることはできない。これらのビットをクリアするためには、ＣＬＥＡＲ＿ＳＴＡＴＵＳ＿ＲＥＧＩＳＴＥＲコマンド（５０Ｈ）を発行する必要がある。表５は、ＳＲ３、ＳＲ４、ＳＲ５の組み合わせによるエラーを示す。【００５４】
【表６】
2006164511.tif 000008
【００５５】  図３は、本発明の一実施の形態に係る自己同期（self-timed）書き込みシーケンスのフローチャートである。このシーケンスは、コマンドレジスタ（コード４０Ｈ）のロード、アクティブコマンドおよび行アドレスの受け取り、書き込みコマンドおよび列アドレスの受け取りを含む。そして、このシーケンスでは、ステータスレジスタに対してポーリングが行われ、書き込みが終了しているかどうかが判定される。ポーリングによってステータスレジスタビット７（ＳＲ７）が監視され、ステータスレジスタビット７が１に設定されているかどうかが判定される。また、オプションとして、ステータスチェックを実行するようにしてもよい。書き込み処理が終了すると、アレイがアレイ読み出しモードに入る。【００５６】  図４は、本発明の一実施の形態に係る完全な読み出しステータスチェックシーケンスのフローチャートを示す。このシーケンスでは、ステータスレジスタビット４（ＳＲ４）がチェックされ、０に設定されているかどうか判定される。ＳＲ４が１であれば、書き込み処理の際にエラーが発生したとされる。そして、このシーケンスでは、ステータスレジスタビット３（ＳＲ３）がチェックされ、０に設定されているかどうかが判定される。ＳＲ３が１であれば、書き込み処理の際に無効書き込みエラーが発生したとされる。【００５７】  図５は、本発明の一実施の形態に係る自己同期ブロック消去シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタ（コード２０Ｈ）のロード、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、ブロックが保護されているかどうかを判定する。ブロックが保護されていなければ、メモリはブロックに対して書き込み処理（Ｄ０Ｈ）を実行し、ステータスレジスタを監視し、処理が終了しているかどうかを判定する。また、オプションとして、ステータスチェックを実行するようにしてもよい。消去処理が終了すると、メモリはアレイ読み出しモードに入る。ブロックが保護されていれば、ＲＰ＃信号が高電圧（ＶＨＨ）になっていない限り、消去処理を実行することはできない。【００５８】  図６は、本発明の一実施の形態に係る完全なブロック消去ステータスチェックシーケンスのフローチャートを示す。このシーケンスでは、ステータスレジスタが監視され、コマンドシーケンスエラーが発生したかどうかが確認される（ＳＲ４＝１またはＳＲ５＝１）。ＳＲ３が１に設定されていれば、無効消去エラーまたは非保護エラー（保護違反エラー）が発生する。ＳＲ５が１に設定されていれば、ブロック消去エラーまたは非保護エラー（保護違反エラー）が発生する。【００５９】  図７は、本発明の一実施の形態に係るブロック保護シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタ（コード６０Ｈ）のロード、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、ブロックが保護されているかどうかを判定する。ブロックが保護されていなければ、ブロックに対してメモリは書き込み処理（０１Ｈ）を実行し、ステータスレジスタを監視し、処理が終了しているかどうかをチェックする。また、オプションとして、ステータスチェックを実行するようにしても���い。ブロック保護処理が終了すると、メモリはアレイ読み出しモードに入る。ブロックが保護されていれば、ＲＰ＃信号が高電圧（ＶＨＨ）になっていない限り、消去処理を実行することはできない。【００６０】  図８は、本発明の一実施の形態に係る完全なブロックステータスチェックシーケンスのフローチャートを示す。このシーケンスでは、ステータスレジスタビット３、４、５が監視され、エラーが検出されたかどうかが判定される。【００６１】  図９は、本発明の一実施の形態に係るデバイス保護シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタ（コード６０Ｈ）のロード、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、ＲＰ＃がＶＨＨになっているかどうかを判定する。メモリは、書き込み処理（Ｆ１Ｈ）を実行し、ステータスレジスタを監視し、書き込み処理が終了しているかどうかをチェックする。また、オプションとして、ステータスチェックを実行するようにしてもよい。デバイス保護処理が終了すると、メモリはアレイ読み出しモードに入る。【００６２】  図１０は、本発明の一実施の形態に係るブロック保護解除シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタのロード（コード６０Ｈ）、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、当該メモリデバイスが保護されているかどうかを判定する。保護されていない場合、メモリは、ブートロケーション（ブロック０および１５）が保護されているかどうかを判定する。いずれのブロックも保護されていない場合、メモリはブロックに対して書き込み処理（Ｄ０Ｈ）を実行し、ステータスレジスタを監視し、書き込み処理が終了しているかどうかをチェックする。オプションとして、ステータスチェックを実行するようにしてもよい。全ブロック保護解除処理が終了すると、メモリはアレイ読み出しモードになる。デバイスが保護されている場合、ＲＰ＃信号が高電圧（ＶＨＨ）になっていない限り、消去処理を実行することはできない。同様に、各ブートロケーションが保護されている場合には、メモリは、全てのブロックの保護を解除するべきかどうかを判定する。【００６３】  図１１は、モードレジスタを初期化およびロードする処理のタイミングを示す。モードレジスタは、ロードモードレジスタコマンドの発行と、アドレスラインに対する処理コード（オペコード：opcode）の発行によってプログラムされる。オペコードは、モードレジスタにロードされる。上述したように、不揮発性モードレジスタのコンテンツは、立ち上がり（power-up）の際に、自動的にモードレジスタにロードされ、ロードモードレジスタ処理が必要とならない場合もある。【００６４】  図１２は、クロックサスペンドモード処理のタイミングを示し、図１３は、別のバースト読み出し処理のタイミングを示している。図１４は、バンク読み出しアクセスを交互に行う際のタイミングを示している。ここで、バンクアドレスを変更するためには、アクティブコマンドが必要である。図１５は、フルページバースト読み出し処理を示す。フルページバーストは、自己同期方式で行われることなく、終了コマンドの発行を必要とする。【００６５】  図１６��、データマスク信号を使用した読み出し処理のタイミングを示す。ＤＱＭ信号は、ＤＱ端子にＤｏｕｔ  ｍ＋ｌが出力されないように、データ出力をマスクするために使用される。【００６６】  図１７は、書き込み処理を行った後、異なるバンクに対して読み出し処理を行う場合のタイミングを示している。この処理においては、書き込み処理が、バンクａに対して行われ、その後、読み出し処理が、バンクｂに対して行われる。各々のバンクにおいて同一の行がアクセスされる。【００６７】  図１８は、書き込み処理を行った後、同一のバンクに対して読み出し処理を行う場合のタイミングを示している。この処理においては、書き込み処理が、バンクａに対して行われ、その後、読み出し処理が、バンクａに対して行われる。読み出し処理において、別の行がアクセスされ、メモリは、書き込み処理が終了するのを待機する必要がある。これは、図３０に示すような読み出し処理の場合、即ち、読み出し処理の開始の際に書き込み処理による遅延時間が生じない場合とは異なる。【００６８】トップ／ボトム対称保護  上述したように、フラッシュメモリデバイスは、プログラムコードやデバイスの設定データ等、重要な情報を格納するために使用されることが多い。従って、様々なデータ保護スキームが様々なシステムで実行されている。データを保護する１つの方法は、メモリ領域の一方の端に専用のブートブロック領域を設けることである。プロセッサは、電源の立ち上げの際、システムに応じてロケーション００００またはロケーションＦＦＦＦでブート処理を実行する。この場合、データを保護するため、コードのセグメントに対し、ハードウエアによる保護スキームが用いられる。このような保護スキームでは、データ領域を確実に保護するため、ブックブロックに対して書き込み処理や消去処理をする際、外部接続端子の幾つかに対し、高い電圧を供給する必要が生ずる場合がある。【００６９】  Ｉｎｔｅｌ社等が設計するプロセッサでは、電源の立ち上げの際、ロケーション００００からデータの読み出しを開始する。Ｍｏｔｏｒｏｌａ社等が設計するプロセッサでは、メモリ空間の最後（ＦＦＦＦ）からデータの読み出しを開始する。通常、メモリベンダーは、設計を単純にするため、１つの製品に二つの製造オプション（メタルオプション）を設けている。メタルオプションは、部品の仕様がトップブートであるか、ボトムブートであるかを定義するものである。メタルオプションにより、デザインの問題が解決するが、製造上の問題が発生する。【００７０】  製造オプションに係る問題は、主に２つ存在する。具体的には、市場の需要を予測する上での問題と、正確な製品の識別の問題である。第１の問題は、製造オプションを決定するためには、市場の需要を予測する必要があるという点である。市場の予測は、かなり困難であるため、在庫の過不足が発生することがある。第２の問題は、選択された製造オプションに正確に対応するラベルを部品に貼る際の問題である。間違ったラベルが部品に貼られると、製品を破棄しなくてはならない場合もあるため、経済的な無駄が生ずる。【００７１】  図１９に示すように、本発明のブートセクションは、メモリアドレスのトップ２１０およびボトム２２０に設けられている。つまり、メモリのいずれの端にも少容量の領域（ブートセクション）が確保されている。これらの２つのセグメントのいずれか一方に対して書き込みを行う場合には、ハードウエア的なハードルを必要とする。つまり、電子キーや超電圧のようなセキュリティシステムがブートセクタのコンテンツの保護に使用される。従って、部品のタイプや型番は１つしか存在しない。プロセッサの設計がいずれの場合であっても、同一の部品を使用することができる。プロセッサは、１つのブートセクタしかアクセスしない。追加の格納領域が必要となった場合には、プロセッサは、第２のブートセクタにアクセスする。【００７２】  また、本発明は、ソフトウエアによって制御されるセクタ保護スキームを提供する。この保護システムは、図１Ａに示すＸビットレジスタ１４９を使用する。レジスタの各ビットは、メモリのセクタ保護に使用される。例えば、メモリにおける１６個のセクタを保護するために、１６ビットのレジスタが使用される。各ビットは、セクタに対する書き込み／消去保護が行われているかどうかを示す。一実施の形態においては、レジスタビットが論理１になったとき、セクタが保護される。別の実施の形態においては、レジスタビットが論理０になったとき、セクタが保護される。【００７３】  メモリ制御回路は、書き込み処理または消去処理を行う前にセクタ保護レジスタを読み出す。レジスタがセクタが保護されていることを示していれば、処理は禁止される。【００７４】  保護レジスタは、デフォルトでは、非保護状態に設定されている。従って、ブートセクタを含む全てのセクタに対して、どのような処理を実行することもできる。ブートセクタに対応するレジスタビットが「保護」ステータスに設定されると、上述したように、メモリは、ハードウエア保護システムを活性化させる。従って、このメモリでは、ブートセクタがデフォルトで非保護にプログラミングされているが、保護レジスタのコンテンツに基づいてハードウエアによって保護されるように切り換えることができる。【００７５】  保護レジスタ１４９は、不揮発性のレジスタでもよく、電源立ち上げシーケンスの際に不揮発性レジスタから転送されたデータを格納するシャドウ揮発性レジスタでもよい。この揮発性レジスタは、処理の実行中のアクセススピードが高速であり、電源がオフされてもデフォルトの設定データを保持することが可能である。【００７６】 結論  本明細書において、不揮発性メモリセルのアレイを含むシンクロナスフラッシュメモリについて説明した。メモリデバイスのパッケージコンフィグレーションは、ＳＤＲＡＭと互換性を有する。メモリデバイスは、Ｎ個のアドレス指定可能なセクタを有するメモリセルアレイと、メモリセルアレイにおける消去または書き込み処理を制御する制御回路とを含む。制御回路には保護回路が接続され、Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する書き込み処理または消去処理の実行を選択的に阻止する。保護回路は、第１のセクタに対応する第１のビットと、最後のセクタに対応する第２のビットとを有するマルチビットレジスタを含む。
【図面の簡単な説明】
【００７７】
【図１Ａ】本発明に係るシンクロナスフラッシュメモリを示すブロック図である。
【図１Ｂ】本発明の一実施の形態に係る集積回路の端子接続を示す図である。
【図１Ｃ】本発明の一実施の形態に係る集積回路のバンプグリッドアレイの配列を示す図である。
【図２】本発明の一実施の形態に係るモードレジスタを示す説明図である。
【図３】本発明の一実施の形態に係る自己同期書き込みシーケンスを示すフローチャートである。
【図４】本発明の一実施の形態に係る完全な書き込みステータスチェックシーケンスを示すフローチャートである。
【図５】本発明の一実施の形態に係る自己同期消去シーケンスを示すフローチャートである。
【図６】本発明の一実施の形態に係る完全なブロック消去ステータスチェックシーケンスを示すフローチャートである。
【図７】本発明の一実施の形態に係るブロック保護シーケンスを示すフローチャートである。
【図８】本発明の一実施の形態に係る完全なブロックステータスチェックシーケンスを示すフローチャートである。
【図９】本発明の一実施の形態に係るデバイス保護シーケンスを示すフローチャートである。
【図１０】本発明の一実施の形態に係るブロック保護解除シーケンスを示すフローチャートである。
【図１１】モードレジスタの初期化、ロード処理のタイミングを示す図である。
【図１２】クロックサスペンドモード処理のタイミングを示す図である。
【図１３】バースト読み出し処理のタイミングを示す図である。
【図１４】バンク読み出しアクセスを交互に行うタイミングを示す図である。
【図１５】フルページバースト読み出し処理のタイミングを示す図である。
【図１６】データマスク信号を用いて行われるバースト読み出し処理のタイミングを示す図である。
【図１７】読み出し処理に続いて異なるバンクに対して読み出し処理を行うタイミングを示す図である。
【図１８】書き込み処理に続いて同一のバンクに対して読み出し処理を行うタイミングを示す図である。
【図１９】本発明の一実施の形態に係るメモリアレイのブロック配置を示す図である。
【符号の説明】
【００７８】１００…メモリデバイス                １０２…フラッシュメモリセル１３０…コマンド実行ロジック          １４９…保護レジスタ
【図１Ａ】
2006164511.tif 000009
【図１Ｂ】
2006164511.tif 000010
【図１Ｃ】
2006164511.tif 000011
【図２】
2006164511.tif 000012
【図２Ａ】
2006164511.tif 000013
【図２Ｂ】
2006164511.tif 000014
【図３】
2006164511.tif 000015
【図４】
2006164511.tif 000016
【図５】
2006164511.tif 000017
【図６】
2006164511.tif 000018
【図７】
2006164511.tif 000019
【図８】
2006164511.tif 000020
【図９】
2006164511.tif 000021
【図１０】
2006164511.tif 000022
【図１１】
2006164511.tif 000023
【図１２】
2006164511.tif 000024
【図１３】
2006164511.tif 000025
【図１４】
2006164511.tif 000026
【図１５】
2006164511.tif 000027
【図１６】
2006164511.tif 000028
【図１７】
2006164511.tif 000029
【図１８】
2006164511.tif 000030
【図１９】
2006164511.tif 000031
【手続補正書】
【提出日】平成18年1月6日(2006.1.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｎ個のアドレス指定可能なセクタを有するメモリセルアレイと、
前記メモリセルアレイに対する消去処理または書き込み処理を制御する制御回路と、
前記制御回路に接続された保護回路とを含むシンクロナスメモリデバイスであって、
前記保護回路は、前記Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する書き込み処理または消去処理の実行を選択的に阻止し、
前記第１のセクタ及び前記最後のセクタは、プロセッサブートデータを保持し、前記シンクロナスメモリデバイスのアドレス指定可能な最下位のメモリセクタおよび最上位のメモリセクタに位置するメモリセルを有することを特徴とするシンクロナスメモリデバイス。
【請求項２】
請求項１記載のシンクロナスメモリデバイスにおいて、
前記保護回路は、外部接続端子に供給された昇圧された電圧信号に基づいて前記第１のセクタまたは前記最後のセクタに対する消去処理または書き込み処理を実行可能にすることを特徴とするシンクロナスメモリデバイス。
【請求項３】
請求項１記載のシンクロナスメモリデバイスにおいて、
前記保護回路は、前記第１のセクタに対応する第１のビットと前記最後のセクタに対応する第２のビットを有するマルチビットレジスタを含み、前記制御回路は、前記第１のビットおよび前記第２のビットが第１のデータステートにプログラムされているとき、前記第１のセクタおよび前記最後のセクタに対する消去処理または書き込み処理を阻止することを特徴とするシンクロナスメモリデバイス。
【請求項４】
請求項３記載のシンクロナスメモリデバイスにおいて、
前記マルチビットレジスタが不揮発性レジスタであることを特徴とするシンクロナスメモリデバイス。
【請求項５】
請求項３記載のシンクロナスメモリデバイスにおいて、
前記マルチビットレジスタがマルチビット不揮発性レジスタに接続された揮発性レジスタであることを特徴とするシンクロナスメモリデバイス。
【請求項６】
請求項１記載のシンクロナスメモリデバイスにおいて、
前記保護回路は、
外部接続端子に接続され、当該外部接続端子に供給される電圧のレベルが閾値を超えるのを検出する電圧検出回路と、
第１のセクタに対応する第１のビットと最後のセクタに対応する第２のビットを有するマルチビットレジスタとを含み、
前記第１のビットおよび前記最後のビットが第１のデータステートであるとき、前記制御回路による消去処理および書き込み処理の実行を可能にし、前記第１のビットおよび前記最後のビットが第２のデータステートであるとき、前記外部接続端子に供給される電圧のレベルが前記閾値を超えていない限り、前記制御回路による消去処理および書き込み処理の実行を阻止することを特徴とするシンクロナスメモリデバイス。
【請求項７】
請求項６記載のシンクロナスメモリデバイスにおいて、
前記外部接続端子は、前記シンクロナスメモリデバイスのアドレス接続端子であることを特徴とするシンクロナスメモリデバイス。
【請求項８】
請求項１記載のシンクロナスメモリデバイスにおいて、
前記保護回路は、
外部接続端子に接続され、当該外部接続端子に供給される電圧のレベルが閾値を超えるのを検出し、出力信号を供給する電圧検出回路と、
第１のセクタに対応する第１のビットと最後のセクタに対応する第２のビットを有するマルチビットレジスタとを含み、
前記第１のビットおよび前記第２のビットが第１のデータステートまたは第２のデータステートにプログラム可能であり、
前記第１のビットおよび前記第２のビットが第１のデータステートにプログラムされているとき、前記制御回路は、前記第１のセクタおよび前記第２のセクタに対する消去処理および書き込み処理の実行を可能にし、
前記第１のビットおよび前記第２のビットが前記第２のデータステートにあるとき、前記制御回路は、前記電圧検出回路からの出力信号に応じて消去処理および書き込み処理の実行を阻止することを特徴とするシンクロナスメモリデバイス。
【請求項９】
請求項１記載のシンクロナスメモリデバイスにおいて、
前記保護回路は、
ユーザによるソフトウエアコマンドが発行されるまで、前記Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する消去処理または書き込み処理を実行可能にすることを特徴とするシンクロナスメモリデバイス。
【請求項１０】
請求項９記載のシンクロナスメモリデバイスにおいて、
前記ソフトウエアコマンドによって前記保護回路がトリガされることを特徴とするシンクロナスメモリデバイス。
【請求項１１】
Ｎ個のアドレス指定可能なセクタを有するメモリセルアレイと、
前記メモリセルアレイに対する消去処理または書き込み処理を制御する制御回路と、
前記制御回路に接続された保護回路とを含むシンクロナスメモリデバイスであって、
前記保護回路は、前記Ｎ個のアドレス指定可能なセクタにおける最下位セクタおよび最上位セクタの双方に対する書き込み処理または消去処理の実行を選択的に阻止し、
前記最下位セクタおよび前記最上位セクタは、プロセッサブートデータを保持し、前記シンクロナスメモリデバイスのアドレス指定可能な最下位のメモリセクタおよび最上位のメモリセクタに位置するメモリセルを有することを特徴とするシンクロナスメモリデバイス。
【請求項１２】
請求項１１記載のシンクロナスメモリデバイスにおいて、
前記保護回路は、
Ｎ個のビットを含むレジスタを含み、前記Ｎ個のビットの各々が前記Ｎ個のセクタのいずれかに対応し、第１のデータステートまたは第２のデータステートにプログラムされることを特徴とするシンクロナスメモリデバイス。
【請求項１３】
請求項１２記載のシンクロナスメモリデバイスにおいて、
前記制御回路は、前記第１のステートにあるレジスタビットに対応するセクタに対する消去処理または書き込み処理を実行可能にし、第２のステートにあるレジスタビットに対応するセクタに対する消去処理または書き込み処理を禁止することを特徴とするシンクロナスメモリデバイス。
【請求項１４】
請求項１１記載のシンクロナスメモリデバイスにおいて、
前記保護回路が、前記シンクロナスメモリデバイスに対して電子キーが供給されたかどうかを判定する信号監視回路を含むことを特徴とするシンクロナスメモリデバイス。
【請求項１５】
請求項１４記載のシンクロナスメモリデバイスにおいて、
前記電子キーが、外部接続端子に供給される昇圧された電圧であることを特徴とするシンクロナスメモリデバイス。
【請求項１６】
シンクロナスフラッシュメモリデバイスにおけるメモリロケーションの保護方法において、
前記メモリロケーションに対応するデータビットを有するデータレジスタを第１のデータステートまたは第２のデータステートにプログラムするステップと、
プロセッサブートセクタを保持し、前記シンクロナスフラッシュメモリデバイスのアドレス指定可能な最下位のメモリセクタおよび最上位のメモリセクタに位置するメモリセルを有する第１のメモリロケーションおよび最後のメモリロケーションのうち、前記第１のメモリロケーションに対応するビットが前記第１のステートにあるとき、前記第１のメモリロケーションに対する消去処理または書き込み処理を阻止するステップと、
前記第１のメモリロケーションに対応するデータビットが前記第２のステートにあるとき、前記第１のメモリロケーションに対する消去処理または書き込み処理を実行可能にするステップを含むことを特徴とするシンクロナスメモリデバイスにおけるメモリロケーションの保護方法。
【請求項１７】
請求項１６記載の方法において、
前記シンクロナスフラッシュメモリデバイスは、前記メモリロケーションを定義する複数のアドレス指定可能なセクタを具備したメモリアレイを有することを特徴とするシンクロナスメモリデバイスにおけるメモリロケーションの保護方法。
【請求項１８】
請求項１６記載の方法において、
前記データレジスタが揮発性レジスタであり、前記データレジスタをプログラムするステップが、不揮発性レジスタからデータを転送するステップを含むことを特徴とするシンクロナスメモリデバイスにおけるメモリロケーションの保護方法。
【請求項１９】
メモリコントローラと、
前記メモリコントローラに接続されるシンクロナスフラッシュメモリデバイスとを含むメモリシステムにおいて、
前記シンクロナスメモリデバイスは、
Ｎ個のアドレス指定可能なセクタを有するメモリセルのアレイと、
前記メモリセルのアレイに対する消去処理または書き込み処理を制御する制御回路と、
前記制御回路に接続された保護回路とを含み、
前記保護回路は、前記Ｎ個のアドレス指定可能なセクタにおける第１のセクタおよび最後のセクタの双方に対する消去処理または書き込み処理を選択的に阻止し、
前記第１のセクタおよび前記最後のセクタは、プロセッサブートデータを保持し、前記シンクロナスフラッシュメモリデバイスのアドレス指定可能な最下位のメモリセクタおよび最上位のメモリセクタに位置するメモリセルを有することを特徴とするメモリシステム。
【請求項２０】
請求項１９記載のメモリシステムにおいて、
前記保護回路は、昇圧された電圧の信号に応じて、前記メモリコントローラによる前記第１のセクタまたは前記最後のセクタに対する消去処理または書き込み処理のいずれかを実行可能にし、前記信号は、前記メモリコントローラによって前記シンクロナスフラッシュメモリデバイスの外部接続端子に供給されることを特徴とするメモリシステム。
【請求項２１】
請求項１９記載のメモリシステムにおいて、
前記保護回路は、前記第１のセクタに対応する第１のビットと前記最後のセクタに対応する第２のビットを有するマルチビットレジスタを含み、前記制御回路は、前記第１のビットおよび前記第２のビットが第１のデータステートにプログラムされているときに前記第１のセクタおよび前記最後のセクタに対する消去処理または書き込み処理を阻止することを特徴とするメモリシステム。