"抵抗状態の変化によってデータを記憶する複数のメモリセルと、前記メモリセルに記憶されたデータを検出するために参照される複数の参照セルと、前記参照セルに記憶された参照データと前記メモリセルのデータとを比較して前記メモリセルのデータを検出するセンスアンプと、第1の論理データを格納する前記複数のメモリセルのデータを該第1の論理データを格納する前記参照セルを用いて検出した結果に基づいて、前記参照セルの抵抗値よりも高い抵抗値を有する前記メモリセルの個数NHまたは前記参照セルの抵抗値よりも低い抵抗値を有する前記メモリセルの個数NLをカウントするカウンタと、前記複数の参照セルのそれぞれのNHおよびNLに基づいて、該複数の参照セルのうち実際のデータ読出し動作において用いられる最適参照セルを判定する判定部とを備えた半導体記憶装置。前記判定部は、前記複数の参照セルのうちNHとNLとの差|NH-NL|が最小である前記参照セルを前記最適参照セルにすることを特徴とする請求項1に記載の半導体記憶装置。前記判定部は、各前記センスアンプに対して前記最適参照セルを決定することを特徴とする請求項1または請求項2に記載の半導体記憶装置。前記判定部によって決定された前記最適参照セルを特定する参照セルアドレスを記憶する記憶部をさらに備えたことを特徴とする請求項1から請求項3のいずれかに記載の半導体記憶装置。データ読出し時に、同時に駆動される複数の前記センスアンプに使用可能な複数の前記参照セルが参照セルセットを成し、前記判定部は、複数の前記参照セルセットのそれぞれについて、各前記参照セルセットに含まれる複数の前記参照セルのNHとNLとの差の2乗の和ΣNH-NL2を演算し、この和ΣNH-NL2が最小である前記参照セルセットに含まれている前記参照セルをそれぞれ前記最適参照セルのセットとして判定することを特徴とする請求項1、請求項3または請求項4のいずれかに記載の半導体記憶装置。抵抗状態の変化によってデータを記憶する複数のメモリセルと、前記メモリセルに記憶されたデータを検出するために参照される複数の参照セルと、前記参照セルに記憶された参照データと前記メモリセルのデータとを比較して前記メモリセルのデータを検出するセンスアンプと、前記メモリセルのデータ数をカウントするカウンタと、前記データ数に基づいてデータ読出し動作において用いられる最適参照セルを判定する判定部とを備えた半導体記憶装置のテスト方法であって、前記複数のメモリセルおよび前記複数の参照セルに同一論理のデータを書き込み、前記複数のメモリセルおよび前記複数の参照セルのデータを検出し、前記参照セルの抵抗値よりも高い抵抗値を有する前記メモリセルの個数NHまたは前記参照セルの抵抗値よりも低い抵抗値を有する前記メモリセルの個数NLをカウントし、前記複数の参照セルのそれぞれのNHおよびNLに基づいて、該複数の参照セルのうち実際のデータ読出し動作において用いられる最適参照セルを判定することを具備したテスト方法。最適な参照電流を供給する参照セルを短時間かつ低コストで判定することができる半導体記憶装置およびそのテスト方法を提供する。本実施形態による半導体記憶装置は、抵抗状態の変化によってデータを記憶する複数のメモリセルと、メモリセルに記憶されたデータを検出するために参照される複数の参照セルとを備えている。センスアンプは、参照セルに記憶された参照データとモリセルのデータとを比較してメモリセルのデータを検出する。カウンタは、第1の論理データを格納する複数のメモリセルのデータを該第1の論理データを格納する参照セルを用いて検出した結果に基づいて、参照セルの抵抗値よりも高い抵抗値を有するメモリセルの個数NHまたは参照セルの抵抗値よりも低い抵抗値を有するメモリセルの個数NLをカウントする。判定部は、複数の参照セルのそれぞれのNHおよびNLに基づいて、該複数の参照セルのうち実際のデータ読出し動作において用いられる最適参照セルを判定する。以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。第1の実施形態図1は、第1の実施形態に従った磁気ランダムアクセスメモリ以下、MRAMのメモリチップを示すブロック図である。尚、本実施形態は、MRAM以外の抵抗変化型素子を用いたメモリ例えば、PCRAM、RRAM等にも適用可能である。MRAMのメモリチップ10は、メモリ領域20と、テスト回路30とを備えている。メモリ領域20は、メモリセルアレイMCAと、メモリセルアレイMCAを制御する周辺回路とを含む。さらに、メモリ領域20は、各センスアンプSAに適用する参照セルを特定するための参照セルアドレスあるいは参照セルセットのアドレスを格納する記憶部22を備えている。記憶部22は、メモリセルアレイMCAの一部であってもよく、レーザーヒューズ、e-ヒューズまたはセルヒューズ等のようなヒューズでもよい。テスト回路30は、カウンタ32と、レジスタ34と、判定部36とを含む。カウンタ32は、参照セルの抵抗値よりも高い抵抗値を有するメモリセルの個数NHまたは参照セルの抵抗値よりも低い抵抗値を有するメモリセルの個数NLをカウントするように構成されている。参照セルおよびメモリセルの抵抗値は、参照セルおよびメモリセルに所定の電圧を印加したときに流れる電流値、あるいは、参照セルおよびメモリセルに所定の電流を流したときに印加される電圧値を検出することによって比較できる。レジスタ34は、メモリセルの個数NHおよびNLを一時的に格納する。判定部36は、メモリセルの個数NHとNLとに基づいて実際のデータ読出し動作において用いられる最適参照セルを判定する。判定部36は、ロジック回路によってNHとNLとの演算を実現してもよく、CPUおよびプログラムを用いてNHとNLとの演算を実行してもよい。最適参照セルの判定については後述する。図2は、メモリ領域20の構成の一例を示す概略図である。本実施形態によるMRAMは、ビット線BLと、ワード線WLと、メモリセルMCと、参照セルRCと、センスアンプSAと、カレントシンクCSと、ロウデコーダRDと、カラムデコーダCDと、ヒューズFUとを備えている。尚、図2に示す各構成要素の数は限定されず、多数設けられていてよい。ビット線BLは、カラム方向に延伸している。ワード線WLは、カラム方向に対して直交するロウ方向に延伸している。複数のメモリセルMCおよび複数の参照セルRCは、マトリクス状に二次元配置され、メモリセルアレイMCAa、MCAbを構成している。各メモリセルMCおよび複数の参照セルRCはビット線BLあるいはビット線対とワード線WLとの交点に対応して配置されている。参照セルRCは、各メモリセルアレイMCAにおいて1本のワード線WL分1ページ分だけ設けられている。尚、メモリセルMCおよび参照セルRCは、図2に示すように、ビット線BLとソース線SLとの間に接続されているが、図2においてソース線SLは省略されている。また、メモリセルMCおよび参照セルRCは、隣接する2本のビット線対の間に接続されていてもよい。この場合、メモリセルMCおよび参照セルRCは、ビット線対とワード線との交点に対応して設けられる。ロウデコーダRDは、ワード線WLおよび参照ワード線RWLに接続されており、外部から入力されるロウアドレスに従ってワード線WLまたは参照ワード線RWLのいずれかを選択的に駆動するように構成されている。カラムデコーダCDは、ビット線BLに接続され、外部から入力されるカラムアドレスに従ってビット線BLを選択的にセンスアンプSAまたはカレントシンクCSに接続する。センスアンプSAは、参照セルRCに記憶された参照データとメモリセルのデータとを比較してメモリセルのデータの論理を検出するように構成されている。より詳細には、センスアンプSAは、ビット線BLを介してメモリセルMCまたは参照セルRCへ電圧を印加し、参照セルRCに流れる参照電流IrefとメモリセルMCに流れるセル電流Icellとを比較する。センスアンプSAは、セル電流Icellと参照電流Irefとの大小関係に基づいて、メモリセルMCのデータの論理を検出する。データを検出するとき、ロウデコーダRDおよびカラムデコーダCDは、互いに隣接するメモリセルアレイMCAa、MCAbのち一方のメモリセルアレイに含まれる参照セルRCと、他方のメモリセルアレイに含まれるメモリセルMCとを選択する。即ち、メモリセルアレイMCAa内のメモリセルMCのデータを検出するために、メモリセルアレイMCAb内の参照セルRCを用いて参照データを得る。逆に、メモリセルアレイMCAb内のメモリセルMCのデータを検出するために、メモリセルアレイMCAa内の参照セルRCを用いて参照データを得る。例えば、図2に示すセンスアンプSAおよびカレントシンクCSのペアAは、メモリセルアレイMCAaおよびMCAbの両方に接続されており、センスアンプSAおよびカレントシンクCSのペアBも、メモリセルアレイMCAaおよびMCAbの両方に接続されている。これにより、これらのペアAおよびBは、それぞれメモリセルアレイMCAa、MCAbのち一方のメモリセルアレイの参照セルRCを用いて、他方のメモリセルアレイに含まれるメモリセルMCのデータを検出することができる。図3は、単一のメモリセルMCまたは参照セルRCの書込み動作を示す説明図である。参照セルRCは、メモリセルMCと同一の構成を有するので、ここでは、メモリセルMCの構成のみを説明し、参照セルRCの構成の説明を省略する。各メモリセル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素子は、電界の印加方向によって異なるデータを書き込むことができる。図4および図5は、本実施形態によるMRAMのテスト工程における参照セルRCの判定方法を示す説明図である。図6は、本実施形態によるMRAMのテスト工程における参照セルRCの判定方法を示すフロー図である。メモリセルMCの抵抗値は、同一論理データを格納する場合であっても、製造工程におけるプロセスばらつき等により分布を有する。このようなメモリセルMCの抵抗値の分布は一般に正規分布に従う図4参照。このため、各センスアンプSAが、該センスアンプSAに接続された全てのメモリセルMCのデータを或る程度のマージンを持って読み出すためには、最適参照セルPRCがセンスアンプSAごとに必要となる。最適参照セルPRCは、上記同一論理データを格納する場合に、センスアンプSAに接続されたメモリセルMCの抵抗値の分布における所定の位置に最も近い抵抗値を有する参照セルRCである。この所定の位置とは、メモリセルMCの抵抗値の分布の中心であってもよく、その一端であってもよい。即ち、上記所定の位置は、全センスアンプSAにおいて統一されていればよい。これにより、複数のセンスアンプSAにおいて、各論理データ0,1に対応するメモリセルMCの電流値のほぼ中間電流が参照電流Irefとして得られるように、最適参照セルPRCのゲート電圧を簡単に所定値だけシフトさせればよい。換言すると、最適参照セルPRCが実際のメモリセルMCの抵抗値分布に基づいて決定されるので、参照電流Irefは、複数のセンスアンプSAに対応する最適参照セルPRCのゲート電圧を一律に調節することによって、データ1とデータ0との中間電流に簡単に設定され得る。以下、より詳細に本実施形態による最適参照セルPRCを決定するテスト方法を説明する。まず、或るセンスアンプSAに接続可能な全てのメモリセルMCおよび全ての参照セルRCの論理状態を同じにするS10。メモリセルMCおよび参照セルRCの論理状態を同じにするためには、両者に同一の論理データ0または1以下、第1の論理データともいうを書き込めばよい。尚、論理状態とは、複数のメモリセルMCの抵抗値が或る範囲内において正規分布を形成するようなメモリセルの状態である。次に、センスアンプSAが、各参照セルRCのデータを参照データとして用いてメモリセルMCのデータを検出するS20。このとき、参照セルRCの論理状態は、メモリセルMCの論理状態と同じであるが、参照セルRCの抵抗値がメモリセルMCの抵抗値と完全に同一となることはない。従って、セル電流Icellは、厳密には参照電流Irefと必ず相違するため、メモリセルMCのデータは、データ0またはデータ1のいずれかに増幅され検出される。検出されたデータは、レジスタ34に保持すればよい。センスアンプSAは、センスアンプSAに接続された全てのメモリセルMCのデータを検出してもよい。この場合、全メモリセルMCの正確な抵抗値分布を得ることができる。しかし、センスアンプSAに接続されたメモリセルMCのうち所定数のメモリセルMCのデータを検出してもよい。検出対象のメモリセルMCの個数は、それらの抵抗値の分布が正規分布となる程度の個数でよい。これにより、テスト時間を短縮できる。次に、カウンタ32がステップS20で検出されたメモリセルMCのデータ1および/またはデータ0の個数をカウントするS30。このとき、データ1の個数をNHとし、データ0の個数をNLとする。換言すると、参照セルRCの抵抗値よりも高い抵抗値を有するメモリセルMCの個数をNHとし、参照セルRCの抵抗値よりも低い抵抗値を有するメモリセルMCの個数をNLとする。カウンタ32は、データ1の個数NHおよびデータ0の個数NLの両方をカウントしてもよい。しかし、検出対象のメモリセルMCの個数NTは予め判明しているので、NHおよびNLのいずれか一方をNTから引き算すれば、NHおよびNLの他方を得ることができる。従って、カウンタ32は、データ1の個数NHまたはデータ0の個数NLのいずれか一方をカウントしてもよい。NHおよび/またはNLは、レジスタ34に保持すればよい。ステップS10~S30は、複数の参照セルRCに対して実行される。このときメモリセルアレイMCAに含まれる全ての参照セルRCについてステップS10~S30を実行してNHおよびNLを得てもよい。この場合、メモリセルMCの抵抗値分布の所定位置により近い抵抗値を有する参照セルRCが得られる。しかし、メモリセルアレイMCAに含まれる参照セルRCのうち所定数の参照セルRCについてステップS10~S30を実行してNHおよびNLを得てもよい。これにより、テスト時間を短縮できる。次に、判定部36が、NHおよびNLに基づいて、複数の参照セルRCのうち実際のデータ読出し動作において用いられる最適参照セルPRCを判定するS40。例えば、図4に示すMC1~MC8はメモリセルMC1~MC8の抵抗値であり、RCA~RCDは参照セルRCA~RCDの抵抗値である。尚、図4のグラフの横軸は抵抗値であり、縦軸は個数頻度である。判定部36は、例えば、メモリセルMCの抵抗値分布の中央値Rcntに最も近い抵抗値を有する参照セルRCを、最適参照セルPRCとする。図4に示すグラフでは、最もRcntに近い参照セルRCAが最適参照セルPRCに適していることが分かる。この場合、判定部36は、NHとNLとの差|NH-NL|が最小である参照セルRCを最適参照セルPRCとして判定すればよい。例えば、図5に示すように、各参照セルRCA~RCDを用いた検出結果DOUTに基づいて、データ0の個数NLおよびデータ1の個数NHがカウントされ、あるいは、算出される。そして、判定部36は、NHとNLとの差|NH-NL|を演算する。このとき、参照セルRCAを用いたときの差|NH-NL|は2であり、参照セルRCBを用いたときの差|NH-NL|は6であり、参照セルRCCを用いたときの差|NH-NL|は4であり、参照セルRCDを用いたときの差|NH-NL|は8である。差|NH-NL|が最小である参照セルRCAが、最もRcntに近いことが推定される。従って、判定部36は、参照セルRCAを最適参照セルPRCに設定する。複数の参照セルRCにおいて差|NH-NL|が等しくなることも考えられる。このような場合、差|NH-NL|の等しい参照セルRCのういちいずれの参照セルRCを最適参照セルPRCに設定してもよい。あるいは、検出対象のメモリセルMCの個数を増やして再度ステップS10~S40を実行してもよい。検出対象のメモリセルMCの個数が多い場合には、複数の参照セルRCにおいて差|NH-NL|が等しくなる確率は少なくなると考えられる。尚、判定部36は、複数の参照セルRCに対して最適参照セルPRCに設定すべき優先順位を設けてもよい。例えば、図5に示す例では、最適参照セルPRCに設定すべき優先順位は、RCAが最も高く、RCB、RCC、RCDの順番に低くなる。従って、もし、参照セルRCAが使用不可になった場合、センスアンプSAは、優先順位順に他の参照セルRCB、RCC、RCDを最適参照セルPRCとして用いればよい。その後、参照セルRCAのアドレス参照セルアドレスは、記憶部22に格納されるS50。最適参照セルPRCは、センスアンプSAごとに設定されるので、参照セルアドレスも、センスアンプSAごとに設定される。従って、最適参照セルPRCが設定されていないセンスアンプSAが存在する場合にはS60のNO、センスアンプSAを変更してS70、ステップS10~S50を再度実行する。そして、全てのセンスアンプSAについてステップS10~S50を実行し、最適参照セルPRCが設定されるとS60のYES、判定動作は終了する。尚、最適参照セルPRCに設定される参照セルRCは、必ずしもセンスアンプSAごとに相違せず、同じである場合もある。テスト終了後、通常動作において参照電流Irefを得るために、最適参照セルPRCのゲート電圧は、最適参照セルPRCがデータ1とデータ0との間の中間電流Irefを生成するようにシフトされる。このとき、最適参照セルPRCの抵抗値は、抵抗値分布の中心Rcntの近傍にあることが分かっている。従って、最適参照セルPRCのゲート電圧を所定値だけシフトさせれば、最適参照セルPRCは、データ1を格納するメモリセルMCのセル電流とデータ0を格納するメモリセルMCのセル電流との中央近傍の参照電流Irefを流すことができる。このような最適参照セルPRCを用いることによって、各センスアンプSAは、該センスアンプSAに接続された全てのメモリセルMCのデータを或る程度のマージンを持って読み出すことが可能になる。いずれのセンスアンプSAに対応する最適参照セルPRCの抵抗値もテスト段階では抵抗値分布の中心Rcntの近傍にあるので、最適参照セルPRCのゲート電圧値のシフト量は、全センスアンプSAに対応する最適参照セルPRCにおいて等しくてよい。これにより、参照セルRCのゲート電圧の設定が容易になる。通常動作の読出し動作においてセンスアンプSAがデータを検出するときには、そのセンスアンプSAに対応する最適参照セルPRCを用いて参照電流Irefを得る。本実施形態によれば、データ0を格納するメモリセルMCのセル電流とデータ1を格納するメモリセルMCのセル電流との中央近傍の参照電流Irefを生成する最適参照セルPRCが、各センスアンプSAごとに選択される。これにより、各センスアンプSAは、該センスアンプSAに接続された全てのメモリセルMCのデータを或る程度のマージンを持って読み出すことが可能になる。また、このような最適参照セルPRCは、同一論理データを書き込んだメモリセルMCおよび参照セルRCの検出結果を演算することによって簡単に判定され得る。従って、本実施形態によれば、最適参照セルPRCを短時間で判定でき、かつ、テストコストを削減することができる。本実施形態では、上記テストを実行するテスト回路30はメモリチップ10に混載されている。このように、テスト回路30をメモリチップ10に混載することによって、最適参照セルPRCを高速に判定することができる。勿論、テスト回路30は、メモリチップ10の外部例えば、メモリコントローラに設置してもよい。第2の実施形態図7は、第2の実施形態に従ったMRAMのテスト工程における参照セルRCの判定方法を示す説明図である。第1の実施形態では、判定部36は、各センスアンプSAに対応する最適参照セルPRCをそれぞれ判定している。これに対し、第2の実施形態では、判定部36は、読出し動作時に同時にデータを検出する複数のセンスアンプSAに対応する複数の最適参照セルPRC最適参照セルセットPRCSを同時に判定する。このような場合、通常、参照セルRCは、同時に駆動させるセンスアンプSAの個数と同数ずつセットになっており、複数の参照セルセットRCSを構成する。読出し時には、1つのアドレスによっていずれかの参照セルセットRCSが選択される。従って、第2の実施形態では、判定部36は、複数の参照セルセットRCSの中から最適な参照セルセットPRCSを判定する。第2の実施形態の構成は、第1の実施形態の構成と同様でよい。また、第2の実施形態の動作は、図6のステップS40における判定方法が第1の実施形態と異なるが、その他のステップにおいては図6に示す第1の実施形態の動作と同じである。図7は、各参照セルセットRCSが参照セルRCを2つずつ含んでいる具体例を示している。或る2つのセンスアンプSAのセットに対して、RCA0、RCA1、RCB0、RCB1、RCC0、RCC1、RCD0、RCD1が参照セルセットRCSとして割り当て可能であると仮定する。つまり、データ読出し時には、同時に駆動される複数のセンスアンプSAに使用可能な複数の参照セルRCが参照セルセットRCSを成している。判定部36は、参照セルセットRCSに含まれる複数の参照セルRCのNHとNLとの差|NH-NL|の2乗の総和ΣNH-NL2を演算する。例えば、参照セルセットRCA0、RCA1について、判定部36は、参照セルRCA0およびRCA1のそれぞれについて差|NH-NL|を演算し、これらの2乗を足し算する。これにより、参照セルセットRCA0、RCA1の二乗和ΣNH-NL2が得られる。同様に、判定部36は、各参照セルセットRCB0、RCB1、RCC0、RCC1、RCD0、RCD1についても二乗和ΣNH-NL2を演算する。そして、判定部36は、複数の参照セルセットRCA0、RCA1、RCB0、RCB1、RCC0、RCC1、RCD0、RCD1のうち二乗和ΣNH-NL2の最も小さい参照セルセットを最適参照セルセットPRCS途判定する。図7に示す例では、参照セルセットRCA0、RCA1の二乗和ΣNH-NL2は、20であり、RCB0、RCB1の二乗和は40であり、RCC0、RCC1の二乗和は32であり、RCD0、RCD1の二乗和は128である。従って、判定部36は、参照セルセットRCA0、RCA1を最適参照セルセットPRCSとして判定する。複数の参照セルRCにおいて二乗和ΣNH-NL2が等しくなることも考えられる。このような場合、二乗和ΣNH-NL2の等しい参照セルセットPRCのいずれの参照セルセットRCSを最適参照セルセットPRCSに設定してもよい。あるいは、検出対象のメモリセルMCの組数を増やして再度判定を実行してもよい。判定対象の参照セルセットRCSの個数が多い場合には、複数の参照セルセットPRCSにおいて二乗和ΣNH-NL2が等しくなる確率は少なくなると考えられる。尚、判定部36は、複数の参照セルセットRCSに対して最適参照セルセットPRCSに設定すべき優先順位を設けてもよい。例えば、図7に示す例では、最適参照セルセットPRCSに設定すべき優先順位は、RCA0、RCA1が最も高く、RCC0、RCC1、RCB0、RCB1、RCD0、RCD1の順番に低くなる。従って、もし、参照セルセットRCA0、RCA1が使用不可になった場合、センスアンプSAのセットは、参照セルセットRCC0、RCC1を最適参照セルセットPRCSとして用いればよい。その後、図6のステップS50において、参照セルセットRCA0、RCA1のアドレスは、記憶部22に格納される。最適参照セルセットPRCSは、センスアンプSAのセットごとに設定されるので、最適参照セルセットPRCSのアドレスも、センスアンプSAのセットごとに設定される。従って、全てのセンスアンプSAのセットについてステップS10~S50を実行し、最適参照セルセットPRCSが設定されるS60参照。尚、最適参照セルセットPRCSに設定される参照セルセットRCSは、必ずしもセンスアンプSAのセットごとに相違せず、同じである場合もある。第2の実施形態は、読出し時に複数のセンスアンプSAが同時に駆動され、複数の参照セルRCが参照セルセットRCSとして同時に使用される形態のMRAMであっても、最小二乗法を用いて最適参照セルセットPRCSを判定することができる。さらに、第2の実施形態は、第1の実施形態と同様の効果を得ることができる。"