データを記憶する複数のメモリセルからなるメモリセルアレイと、前記メモリセルにデータを書き込むライトドライバであって、書込みデータとともに入力されるライトマスクデータに従って該書込みデータの書込みを実行し、あるいは、該ライトマスクデータに従って前記書込みデータの書込みを実行しないライトドライバと、前記ライトマスクデータのうち前記書込みデータの書き込みを禁止するコマンドに固定された書込み禁止信号と前記ライトマスクデータとのいずれかを選択的に出力するマルチプレクサと、前記メモリセルアレイのうち書込み禁止領域のアドレスと前記書込みデータのアドレスとが一致する場合に前記書込み禁止信号を出力させ、前記書込み禁止領域のアドレスと前記書込みデータのアドレスとが一致しない場合に前記ライトマスクデータをそのまま出力させるように前記マルチプレクサを制御するライトプロテクトコントローラとを備えた半導体記憶装置。前記書込み禁止領域のアドレスを記憶するライトプロテクトレジスタをさらに備えたことを特徴とする請求項1に記載の半導体記憶装置。前記書込み禁止領域のアドレスを指定するライトプロテクトスイッチをさらに備えたことを特徴とする請求項1または請求項2に記載の半導体記憶装置。前記ライトプロテクトレジスタは、前記書込み禁止領域のアドレスを書換え可能なメモリで構成されていることを特徴とする請求項2または請求項3に記載の半導体記憶装置。データを記憶する複数のメモリセルからなるメモリセルアレイと、書込みデータとともに入力されるライトマスクデータに従って記メモリセルにデータを書き込むライトドライバと、前記ライトマスクデータのうち前記書込みデータの書き込みを禁止する第1のライトマスクデータに固定された書込み禁止信号と前記ライトマスクデータとのいずれかを選択的に出力するマルチプレクサとを備えた半導体記憶装置の制御方法であって、書込みデータとともに入力されるライトマスクデータを入力し、前記メモリセルアレイのうち書込み禁止領域のアドレスと前記書込みデータのアドレスとが一致する場合に、前記マルチプレクサは、前記書込み禁止信号を前記ライトドライバへ出力し、前記書込み禁止領域のアドレスと前記書込みデータのアドレスとが一致しない場合に、前記マルチプレクサは、前記ライトマスクデータをそのまま出力することを具備した半導体記憶装置の制御方法。不揮発性ROMおよび揮発性RAMの両方に代わって不揮発性RAMを使用した場合であっても、不揮発性RAMの内部のプログラムやデータを強固に保護することができる半導体記憶装置およびその制御方法を提供する。本実施形態による半導体記憶装置は、データを記憶する複数のメモリセルからなるメモリセルアレイと、メモリセルにデータを書き込むライトドライバとを備える。ライトドライバは、書込みデータとともに入力されるライトマスクデータに従って該書込みデータの書込みを実行し、あるいは、該書込みデータの書込みを実行しない。マルチプレクサは、ライトマスクデータのうち書込みデータの書き込みを禁止する第1のライトマスクデータに固定された書込み禁止信号とライトマスクデータとのいずれかを選択的に出力する。ライトプロテクトコントローラは、メモリセルアレイのうち書込み禁止領域のアドレスと書込みデータのアドレスとが一致する場合に書込み禁止信号を出力させ、メモリセルアレイのうち書込み禁止領域のアドレスと書込みデータのアドレスとが一致しない場合にライトマスクデータをそのまま出力させるようにマルチプレクサを制御する。以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。第1の実施形態図1は、第1の実施形態に従った磁気ランダムアクセスメモリ以下、MRAMのメモリチップを示すブロック図である。尚、本実施形態は、MRAM以外の抵抗変化型素子を用いたメモリ例えば、PCRAM、RRAM等にも適用可能である。本実施形態によるMRAMは、メモリセルアレイMCAと、センスアンプSAと、メインデータコントローラMDCと、DQバッファDQBと、カラムコントローラCCと、ロウコントローラRCと、クロックバッファCBと、コマンドコントローラCMDCと、アドレスコントローラADDCと、アレイコントローラACとを備えている。メモリセルアレイMCAは、マトリクス状に二次元配置された複数のメモリセルMCを備えている。各メモリセルMCはビット線BLあるいはビット線対とワード線WLとの交点に対応して配置されている。ビット線BLは、カラム方向に延伸している。ワード線WLは、カラム方向に対して直交するロウ方向に延伸している。センスアンプSAは、ビット線BLを介してメモリセルMCに接続されており、メモリセルMCのデータを検出するように構成されている。ライトドライバWDは、ビット線BLを介してメモリセルMCに接続されており、メモリセルMCにデータを書き込むように構成されている。メインデータコントローラMDCは、DQバッファDQBから受け取ったデータを、カラムコントローラCCの制御を受けて、所望のカラムに書き込むようにライトドライバWDへ転送し、あるいは、カラムコントローラCCの制御を受けて、所望のカラムから読み出したデータをDQバッファDQBへ転送する。また、メインデータコントローラMDCは、後述するように、ライトマスクデータWMまたは書込み禁止領域アドレスWOADDに従って、データの書込みを禁止するように構成されている。DQバッファDQBは、DQパッドDQを介して読出しデータを一時的に保持し、その読出しデータをメモリチップ1の外部へ出力する。あるいは、DQバッファDQBは、DQパッドDQを介して書込みデータをメモリチップ1の外部から受け取り、一時的に保持する。尚、DDR型インタフェースを有する本実施形態によるMRAMは、書込み時に、書込みデータと共にライトマスクデータWMを受け取る。ライトマスクデータWMは、所定ビットごとの書込みデータに対してそのデータを実際に書き込むか否かを指示するコマンドである。例えば、16ビットのデータごとに2ビットのライトマスクデータWMが付加されている。ライトマスクデータWMのうち1ビットは、16ビットデータのうち前半分の8ビットデータバイト単位のデータの書込みの要否を示すビットであり、ライトマスクデータWMのうち他の1ビットは、16ビットデータのうち後半分の8ビットデータ他の1バイトデータの書込みの要否を示すビットである。これにより、ライトマスクデータWMは、各バイトデータごとに書込みの要否を命令することができる。このように、通常、ライトマスクデータWMは、バイトデータごとに設定されるコマンドであるため、ROM領域の設定には使用できない。カラムコントローラCCは、カラムアドレスに従って所望のカラムのビット線BLを選択的に駆動するようにセンスアンプSAまたはライトドライバWDを動作させる。ロウコントローラRCは、ロウアドレスに従って所望のワード線WLを選択的に駆動させるようにワード線ドライバ図示せずを動作させる。クロックバッファCBは、メモリチップ1全体の動作のタイミングを決定するクロック信号を入力する。コマンドコントローラCMDCは、読出し動作、書込み動作等の各種動作を示すコマンドを受け取り、それらのコマンドに従ってカラムコントローラCCおよびロウコントローラRCを制御する。アドレスコントローラADDCは、ロウアドレスおよびカラムアドレス等を受け取り、これらのアドレスをデコードし、カラムコントローラCCおよびロウコントローラRCにこれらのアドレスを送る。アレイコントローラACは、メモリセルアレイMCAの全体的な制御を行う。図2は、単一のメモリセルMCの構成を示す説明図である。各メモリセルMCは、それぞれ磁気トンネル接合素子MTJMagneticTunnelJunction素子MTJと、セルトランジスタCTとを含む。MTJ素子MTJおよびセルトランジスタCTは、ビット線BLとソース線SLとの間に直列に接続されている。メモリセルMCにおいて、セルトランジスタCTがビット線BL側に配置され、MTJ素子MTJがソース線SL側に配置されている。セルトランジスタCTのゲートは、ワード線WLに接続されている。TMRtunnelingmagnetoresistive効果を利用したMTJ素子は、2枚の強磁性層とこれらに挟まれた非磁性層絶縁薄膜とからなる積層構造を有し、スピン偏極トンネル効果による磁気抵抗の変化によりデジタルデータを記憶する。MTJ素子は、2枚の強磁性層の磁化配列によって、低抵抗状態と高抵抗状態とを取り得る。例えば、低抵抗状態をデータ0と定義し、高抵抗状態をデータ1と定義すれば、MTJ素子に1ビットデータを記録することができる。もちろん、低抵抗状態をデータ1と定義し、高抵抗状態をデータ0と定義してもよい。例えば、MTJ素子は、固定層、トンネルバリア層、記録層を順次積層して構成される。固定層Fおよび記録層Pは、強磁性体で構成されており、トンネルバリア層は、絶縁膜からなる。固定層Fは、磁化の向きが固定されている層であり、記録層Pは、磁化の向きが可変であり、その磁化の向きによってデータを記憶する。書込み時に矢印A1の向きに反転閾値電流以上の電流を流すと、固定層Fの磁化の向きに対して記録層Pのそれがアンチパラレル状態となり、高抵抗状態データ1となる。書込み時に矢印A2の向きに反転閾値電流以上の電流を流すと、固定層Fと記録層Pとのそれぞれの磁化の向きがパラレル状態となり、低抵抗状態データ0となる。このように、TMJ素子は、電界の印加方向によって異なるデータを書き込むことができる。図3は、メインデータコントローラMDCおよびその周辺の回路の構成を示すブロック図である。尚、本実施形態は書込みに関するものであるため、書込み動作に関する構成を説明し、読出し動作に関する構成の説明はここでは省略する。メインデータコントローラMDCは、ライトマスクマルチプレクサWMMUXと、ライトプロテクトコントローラWPCと、ラッチ回路SLと、シリアル-パラレルコンバータSPCと、リードライトマルチプレクサRWMUXと、データパスDPとを備えている。メインデータコントローラMDCは、メモリセルアレイMCAにデータを書き込むときに、ライトマスクデータWMまたは書込み禁止領域アドレスWPADDに従って、データの書込みを禁止し、あるいは、データの書込みを許可するように構成されている。ライトプロテクトコントローラWPCは、書込み禁止領域アドレスWPADD、アドレスADDおよびライトコマンドWCを受け取ると、書込み禁止領域アドレスWPADDとアドレスADDとを比較する。書込み禁止領域アドレスWPADDは、単数または複数のメモリセルアレイMCAのうちデータの書込み禁止領域を示すアドレスであり、例えば、ファームウェアのように通常は書き換えてはならないアクセスしてはならないソフトウェアを記憶した領域のアドレスである。書込み禁止領域アドレスWPADDは、ライトプロテクトスイッチWPSW図4またはライトプロテクトレジスタWPREG図6に予め設定または記憶されている。書込みアドレスWADDは、データの書込み対象である選択メモリセルアレイMCA、選択メモリセルMC、選択ページ、選択メモリバンク、あるいは、選択メモリブロックを特定するカラムアドレスおよびロウアドレスである。書込み禁止領域アドレスWPADDとアドレスADDとの比較の結果、書込み禁止領域アドレスWPADDと書込みアドレスWADDとが一致する場合、ユーザの不注意等で書込み禁止領域にアクセスしようとしている可能性がある。従って、ライトプロテクトコントローラWPCは、ライトマスクマルチプレクサWMMUXへの書込み禁止選択信号WPSSを活性化する。一方、書込み禁止領域アドレスWPADDと書込みアドレスWADDとが一致しない場合、ライトプロテクトコントローラWPCは、ライトマスクマルチプレクサWMMUXへ送られる書込み禁止選択信号WPSSを不活性化する。書込み禁止選択信号WPSSは、ライトマスクマルチプレクサWMMUXに、ライトマスクデータWMまたは書込み禁止信号WPSのいずれか一方を排他的に選択的に出力させる信号である。例えば、書込み禁止選択信号WPSSが活性状態のときには、ライトマスクマルチプレクサWMMUXは、書込み禁止信号WPSを選択的に出力する。書込み禁止選択信号WPSSが不活性状態のときには、ライトマスクマルチプレクサWMMUXは、ライトマスクデータWMCをそのまま選択的に出力する。ラッチ回路SLは、カラムコントローラCCからの制御信号をラッチする。また、ラッチ回路SLは、ライトコマンドWCを受け取ると、ライトマスクマルチプレクサWMMUXへの書込み禁止信号WPSを活性化させる。書込み禁止信号WPSは、活性状態のライトマスクデータWMと同一信号であり、DQバッファDQBからの書込みデータをメモリセルアレイMCAへ書き込むことを禁止する信号である。ラッチ回路SLは、書込み期間中、書込み禁止信号WPSを常に活性状態に維持される。即ち、書込み禁止信号WPSは、ライトマスクデータWMのうちデータの書き込みを禁止する第1のライトマスクデータ例えば、論理ハイに固定された固定信号として機能する。ライトマスクマルチプレクサWMMUXは、ライトマスクデータWMおよび書込み禁止信号WPSを受け取り、書込み禁止選択信号WPSSに従ってライトマスクデータWMまたは書込み禁止信号WPSのいずれか一方を排他的にシリアル-パラレルコンバータSPCへ出力する。シリアル-パラレルコンバータSPCは、ラッチ回路SLにラッチされた制御信号に同期してDQバッファDQBからの入力されるシリアル形式のデータをパラレル形式のデータへ変換するように構成されている。リードライトマルチプレクサRWMUXは、パラレル形式に変換された書込みデータをアレイコントローラACへ送り、あるいは、パラレル形式の読出しデータをシリアル-パラレルコンバータSPCへ送る。書込みデータおよびライトマスクデータWMまたは書込み禁止信号WPSは、データパスDPを介してアレイコントローラACへ送られる。アレイコントローラACがライトマスクデータWMを受け取った場合、ライトドライバWDは、ライトマスクデータWMに従って動作する。即ち、ライトドライバWDは、ライトマスクデータWMの論理状態に従って、データの書込みを実行し、あるいは、データの書込みを実行しない。例えば、書込みデータ例えば、8ビットデータに対応するライトマスクデータWMが論理ロウに不活性化されている場合、ライトドライバWDは、その書込みデータをメモリセルアレイMCAへ書き込む。他の書込みデータ例えば、8ビットデータに対応するライトマスクデータWMが論理ハイに活性化されている場合、ライトドライバWDは、その書込みデータをメモリセルアレイMCAへ書き込まない。データアレイコントローラACがライトマスクデータWMに代わって書込み禁止信号WPSを受け取った場合、ライトドライバWDは、書込み禁止信号WPSに従って動作する。即ち、ライトドライバWDは、書込み禁止信号WPSの論理状態例えば、常時論理ハイに従ってデータの書込みを禁止する。書込み禁止信号WPSは、書込み動作中において常時論理ハイに活性化されているため、ライトドライバWDは、書込み禁止信号WPSを受けている限りにおいて、データの書込みを実行しない。このように、本実施形態によるMRAMは、予め設定された書込み禁止領域アドレスWPADDで指定されたメモリ領域にアクセスしようとすると、ライトマスクデータWMに代えて書込み禁止信号WPSをアレイコントローラACへ送る。換言すると、本実施形態によるMRAMは、予め設定された書込み禁止領域アドレスWPADDで指定されたメモリ領域にアクセスしようとすると、ライトマスクデータWMを活性状態に固定する。これにより、書込み禁止領域アドレスWPADDで指定されたメモリ領域にデータが書き込まれることを強制的に禁止することができる。即ち、本実施形態は、書込み禁止領域アドレスWPADDで指定されたメモリ領域をROM領域として設定することができる。図4は、書込み禁止領域アドレスWPADDの記憶部をライトプロテクトスイッチWPSWで構成したMRAMのブロック図である。ライトプロテクトスイッチWPSWは、メモリ機器に設けられた物理スイッチ例えば、ディップスイッチ、フューズあるいはソフトウェアに組み込まれたソフトスイッチでもよい。尚、本実施形態では、入出力インタフェースは、DDR型インタフェースを採用している。ライトプロテクトスイッチWPSWは、書込みを禁止するメモリバンクBANKのアドレスを記憶する。これにより、そのメモリバンクBANKにアクセスする場合、ライトプロテクトコントローラWPCは、そのメモリバンクBANKにデータが書き込まれないように書込み禁止選択信号WPSSを活性化させる。例えば、ライトプロテクトスイッチWPSWが、書込みを禁止するメモリバンクとしてメモリバンクBANK1のアドレスを記憶していると仮定する。ライトプロテクトコントローラWPCが書込みアドレスWADDとしてメモリバンクBANK1のアドレスを受けと取ると、ライトプロテクトコントローラWPCは、書込みアドレスBANK1と書込み禁止領域アドレスBANK1とを比較する。この場合、書込みアドレスBANK1と書込み禁止領域アドレスBANK1とが一致するので、ライトプロテクトコントローラWPCは、書込み禁止選択信号WPSSを活性化させる。ライトマスクマルチプレクサWMMUXは、活性化された書込み禁止選択信号WPSSに従って、書込み禁止信号WPS論理ハイをメモリバンクBANK1へ出力する。このとき、書込みデータは、メモリバンクBANK1へ送られるが、書込み禁止信号WPSが活性状態であるので、実際にはデータはメモリバンクBANK1に書き込まれない。一方、ライトプロテクトコントローラWPCが書込みアドレスWADDとしてメモリバンクBANK0のアドレスを受けと取ると、ライトプロテクトコントローラWPCは、書込みアドレスBANK0と書込み禁止領域アドレスBANK1とを比較する。この場合、書込みアドレスBANK0と書込み禁止領域アドレスBANK1とは一致しない。このため、ライトプロテクトコントローラWPCは、書込み禁止選択信号WPSSを不活性化させる。ライトマスクマルチプレクサWMMUXは、書込み禁止選択信号WPSSが不活性状態であるので、ライトマスクデータWMをそのままメモリバンクBANK0へ出力する。このとき、書込みデータは、ライトマスクデータWMに従ってメモリバンクBANK0に書き込まれる。従って、ライトマスクデータWMが活性状態論理ハイである場合には、そのライトマスクデータWMに対応する書込みデータ例えば、8ビットデータは、メモリバンクBANK0へ書き込まれない。しかし、ライトマスクデータWMが不活性状態論理ロウである場合には、そのライトマスクデータWMに対応する書込みデータは、メモリバンクBANK0へ書き込まれる。このように、メモリバンクごとに書込み禁止領域アドレスを設定してもよい。図5は、第1の実施形態によるMRAMの動作を示すフロー図である。まず、ライトコマンドWCおよび書込みアドレスWADDが入力されるS10。ライトコマンドWCおよび書込みアドレスWADDは、カラムコントローラCCとともに、ラッチ回路SLおよびライトプロテクトコントローラWPCにも送られる。ラッチ回路SLは、ライトコマンドWCを受け取ると、書込み禁止信号WPSを論理ハイに活性化させるS20。ライトプロテクトコントローラWPCは、書込みアドレスWADDを書込み禁止領域アドレスWPADDと比較するS30。書込みアドレスWADDが書込み禁止領域アドレスWPADDと一致する場合S30のYES、ライトプロテクトコントローラWPCは、書込み禁止選択信号WPSSを活性化させるS40。ライトマスクマルチプレクサWMMUXは、書込み禁止選択信号WPSSに従って、書込み禁止信号WPSをシリアル-パラレルコンバータSPCへ送信するS50。これにより、ライトドライバWDは、書込み禁止信号WPSに従って、書込みデータをメモリセルアレイMCAへ書き込まないS60。一方、書込みアドレスWADDが書込み禁止領域アドレスWPADDと一致しない場合S30のNO、ライトプロテクトコントローラWPCは、書込み禁止選択信号WPSSを不活性化させるS70。ライトマスクマルチプレクサWMMUXは、書込み禁止選択信号WPSSに従って、ライトマスクデータWMをシリアル-パラレルコンバータSPCへ送信するS80。これにより、ライトドライバWDは、ライトマスクデータWMに従って、メモリセルアレイMCAへ書き込むあるいは書き込まないS90。以上のように、本実施形態によるMRAMは、予め設定された書込み禁止領域アドレスWPADDで指定されたメモリ領域にアクセスしようとすると、ライトマスクデータWMの代わりに書込み禁止信号WPSを送る。これにより、書込み禁止領域アドレスWPADDで指定されたメモリ領域にデータが書き込まれることを強制的に禁止することができる。従って、不揮発性ROMおよび揮発性RAMの両方に代わって本実施形態によるMRAMを使用した場合であっても、ライトマスクデータWMを利用してROM領域を設定することによって、メモリ内部のプログラムやデータを充分強固に保護することができる。勿論、ファームウェアの更新時など、書込み禁止領域のデータの書換えが必要な場合、ライトプロテクトスイッチWPSWはオフ状態に切り替えられ、書込み禁止選択信号WPSSは、常時不活性状態にする。尚、書込み禁止領域アドレスWPADDは、DDRインタフェースを介してメモリチップ1の外部から受け取ってもよい。この場合、本実施形態によるMRAMは、書込み禁止領域アドレスWPADDを受け取る書込み禁止領域指定ピン図示せずをさらに設ければよい。ライトプロテクトスイッチWPSWで設定された書込み禁止領域アドレスWPADDは、ライトプロテクトコントローラWPC内に設けられたレジスタに一旦格納される場合がある。このような場合、ライトプロテクトスイッチWPSWの設定が変更された場合には、ライトプロテクトコントローラWPC内のレジスタに保持された書込み禁止領域アドレスWPADDはリセットされる。第2の実施形態図6は、第2の実施形態に従ったMRAMの構成を示すブロック図である。第2の実施形態では、書込み禁止領域アドレスWPADDの記憶部を書込み禁止領域アドレスレジスタWPARで構成している。書込み禁止領域アドレスレジスタWPARは、不揮発性メモリで構成されており、書込みを禁止するメモリバンクBANKのアドレスを記憶している。図6に示すMRAMのその他の構成は、図4に示すMRAMの構成と同様でよい。また、図6に示すMRAMの動作も、図4に示すMRAMの動作と同様でよい。ただし、ライトプロテクトコントローラWPCは、書込み禁止領域アドレスWPADDを書込み禁止領域アドレスレジスタWPARから得る。書込み禁止領域アドレスレジスタWPARは、書込み禁止領域アドレスWPADDを格納した記憶部である。書込み禁止領域アドレスレジスタWPARは、ヒューズのように書換えできないように書込み禁止領域アドレスWPADDを格納してもよく、あるいは、書込み禁止領域アドレスWPADDを書換え可能な状態で格納していてもよい。これにより、メモリ内の書込み禁止領域を必要に応じて変更する増減させることができる。この場合、不要になった書込み禁止領域のアドレスWPADDを書込み禁止領域アドレスレジスタWPARから削除して、そのメモリ領域を書換え可能な領域に変更することができる。逆に、書換え可能なメモリ領域のアドレスを書込み禁止領域アドレスWPADDとして書込み禁止領域アドレスレジスタWPARに登録してもよい。これにより、書換え可能なメモリ領域を書込み禁止領域へ変更することができる。さらに、第2の実施形態は、第1の実施形態と同様の効果を得ることができる。書込み禁止領域アドレスレジスタWPARで設定された書込み禁止領域アドレスWPADDは、ライトプロテクトコントローラWPC内に設けられたレジスタに一旦格納される場合がある。このような場合、書込み禁止領域アドレスレジスタWPAR内の書込み禁止領域アドレスWPADDの設定が変更された場合には、ライトプロテクトコントローラWPC内のレジスタに保持された書込み禁止領域アドレスWPADDはリセットされる。第1および第2の実施形態の変形例図4および図6では、書込み禁止領域アドレスWPADDは、メモリバンクBANKごとに設定されている。しかし、書込み禁止領域アドレスWPADDは、ページごと、メモリセルアレイMCAごと、メモリチップごとに設定されてもよい。メモリバンクBANKは、メモリの管理単位である。複数のメモリバンクに並列アクセスできるように、各メモリバンクごとにワード線WLおよびビット線BLが個別に設けられている。ページは、列アクセス可能な書込みデータ単位または読出しデータ単位である。1ページのデータは、行アドレスで選択された複数のメモリセルMCのデータに相当する。このように、書込み禁止領域アドレスWPADDのメモリ単位は、臨機応変に変更してよい。