(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022051347
(43)【公開日】2022-03-31
(54)【発明の名称】半導体記憶装置およびその制御方法
(51)【国際特許分類】
G11C 11/16 20060101AFI20220324BHJP
【FI】
G11C11/16 230
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020157775
(22)【出願日】2020-09-18
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(72)【発明者】
【氏名】初田 幸輔
(57)【要約】
【課題】信頼性の高い半導体記憶装置およびその制御方法を提供する。
【解決手段】半導体記憶装置は複数のメモリセルを備える。第1ノードは複数のメモリセル内の第1メモリセルから読み出した第1データを保持する。第2ノードは複数のメモリセル内の第1メモリセルの近傍の第2メモリセルから読み出した第2データを保持する。差動回路は第1ノードの電圧に応じた第1電流を流す第1電流経路と、第2ノードの電圧に応じた第2電流を流す第2電流経路とを有し、第1ノードと第2ノードとの電圧差に応じた出力信号を出力部から出力する。第1レジスタは出力信号をラッチして保持信号として出力する。第1オフセット部は第1電流経路に接続され、保持信号が第1論理のときに第1電流をオフセットさせる。第2オフセット部は第2電流経路に接続され、保持信号が第1論理とは逆論理の第2論理であるときに第2電流をオフセットさせる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
複数のメモリセルと、
前記複数のメモリセル内の第1メモリセルから読み出した第1データを保持する第1ノードと、
前記複数のメモリセル内の前記第1メモリセルの近傍の第2メモリセルから読み出した第2データを保持する第2ノードと、
前記第1ノードの電圧に応じた第1電流を流す第1電流経路と、前記第2ノードの電圧に応じた第2電流を流す第2電流経路とを有し、前記第1ノードと前記第2ノードとの電圧差に応じた出力信号を出力部から出力する差動回路と、
前記出力信号をラッチして保持信号として出力する第1レジスタと、
前記第1電流経路に接続され、前記保持信号が第1論理のときに前記第1電流をオフセットさせる第1オフセット部と、
前記第2電流経路に接続され、前記保持信号が前記第1論理とは逆論理の第2論理であるときに前記第2電流をオフセットさせる第2オフセット部と、を備えた半導体記憶装置。
【請求項2】
前記差動回路は、
前記第1電流経路に設けられ、ゲートが前記第2電流経路に接続された第1トランジスタと、
前記第2電流経路に設けられ、ゲートが前記第1電流経路および前記出力部に接続された第2トランジスタとを備える、請求項1に記載の半導体記憶装置。
【請求項3】
前記第1データは、前記第2データの読出し以前に読み出されたデータである、請求項1または請求項2に記載の半導体記憶装置。
【請求項4】
前記保持信号が第1論理である場合、前記第1オフセット部が第1オフセット電流を流して前記第2トランジスタのゲート電圧をシフトさせ、
前記保持信号が第2論理である場合、前記第2オフセット部が第2オフセット電流を流して前記第1トランジスタのゲート電圧をシフトさせる、請求項2または請求項3に記載の半導体記憶装置。
【請求項5】
前記第1オフセット部は、ゲートに第1シフト電圧が印加されているときに前記第1オフセット電流を流す第1オフセットトランジスタを含み、
前記第2オフセット部は、ゲートに第2シフト電圧が印加されているときに前記第2オフセット電流を流す第2オフセットトランジスタを含む、請求項4に記載の半導体記憶装置。
【請求項6】
前記オフセット電流は、前記第1または第2データが前記第1論理であるときの前記第1または第2電流経路に流れる電流と、前記第1または第2データが前記第2論理であるときに前記第1または第2電流経路に流れる電流との間の電流である、請求項4または請求項5に記載の半導体記憶装置。
【請求項7】
前記複数のメモリセルのうち最初の読出し対象であるメモリセルには、既知の初期データが格納されている、請求項1から請求項6のいずれか一項に記載の半導体記憶装置。
【請求項8】
前記第1ノードに接続され前記第1データを保持する第1キャパシタと、
前記第2ノードに接続され前記第2データを保持する第2キャパシタとをさらに備えた、請求項1から請求項7のいずれか一項に記載の半導体記憶装置。
【請求項9】
複数のメモリセルと、第1ノードと第2ノードとの電圧差を出力信号として出力する差動回路と、前記出力信号をラッチして保持信号として出力する第1レジスタと、前記差動回路の第1電流経路に第1オフセット電流を流す第1オフセット部と、前記差動回路の第2電流経路に第2オフセット電流を流す第2オフセット部とを備えた半導体記憶装置の制御方法であって、
前記複数のメモリセル内の第1メモリセルから読み出した第1データを前記第1ノードに保持し、
前記第1レジスタが前記第1データに基づく前記保持信号を出力し、
前記複数のメモリセル内の前記第1メモリセルの近傍の第2メモリセルから読み出した第2データを前記第2ノードに保持し、
前記保持信号が第1論理の場合、前記第1電流経路に前記第1オフセット電流を流し、前記保持信号が前記第1論理とは逆論理の第2論理である場合、前記第2電流経路に前記第2オフセット電流を流し、
前記第1ノードと前記第2ノードとの電圧差を前記出力信号として出力することを具備する、半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、半導体記憶装置およびその制御方法に関する。
【背景技術】
【0002】
MRAM(Magnetoresistive Random Access Memory)は、ビット線とワード線との交点に対応してメモリセルが設けられた積層型のメモリセルアレイを有する場合がある。積層型の場合、メモリセルの位置によって配線抵抗やメモリセルの特性が異なり、同一参照電圧によってデータを読み出すと、データの論理を誤って検出するおそれがある。これに対して、メモリセルの位置に依存して参照電圧を調整したり、自己参照方式を用いたりすることが提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-163728号公報
【特許文献2】特開2019-164872号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
信頼性の高い半導体記憶装置およびその制御方法を提供する。
【課題を解決するための手段】
【0005】
本実施形態による半導体記憶装置は、複数のメモリセルを備える。第1ノードは、複数のメモリセル内の第1メモリセルから読み出した第1データを保持する。第2ノードは、複数のメモリセル内の第1メモリセルの近傍の第2メモリセルから読み出した第2データを保持する。差動回路は、第1ノードの電圧に応じた第1電流を流す第1電流経路と、第2ノードの電圧に応じた第2電流を流す第2電流経路とを有し、第1ノードと第2ノードとの電圧差に応じた出力信号を出力部から出力する。第1レジスタは、出力信号をラッチして保持信号として出力する。第1オフセット部は、第1電流経路に接続され、保持信号が第1論理のときに第1電流をオフセットさせる。第2オフセット部は、第2電流経路に接続され、保持信号が第1論理とは逆論理の第2論理であるときに第2電流をオフセットさせる。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態による半導体記憶装置の構成例を示すブロック図。
【
図4】第1実施形態に係るセンスアンプ/ライトドライバのうちセンス回路の構成例を示すブロック図。
【
図7】プリアンプおよびセンスアンプの読み出し動作の一例を示すタイミング図。
【
図13】第2実施形態によるプリアンプおよびセンスアンプの読み出し動作の一例を示すタイミング図。
【
図14】第3実施形態によるプリアンプの構成例を示す回路図。
【
図15】第3実施形態によるセンスアンプの構成例を示す回路図。
【
図16】第3実施形態によるプリアンプおよびセンスアンプの読み出し動作の一例を示すタイミング図。
【発明を実施するための形態】
【0007】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。図面は模式的または概念的なものであり、各部分の比率などは、必ずしも現実のものと同一とは限らない。明細書と図面において、既出の図面に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【0008】
(第1実施形態)
図1は、第1実施形態による半導体記憶装置の構成例を示すブロック図である。
図2は、メモリセルアレイの構成例を示す回路図である。半導体記憶装置は、特に限定しないが、例えば、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistive Random Access Memory)等のメモリでよい。以下の実施形態では、半導体記憶装置としてのメモリシステム1は、MRAMであるとして説明する。
【0009】
半導体記憶装置としてのメモリシステム1は、メモリデバイス10と、メモリコントローラ20とを備えている。
【0010】
メモリコントローラ20は、パーソナルコンピュータ等のホスト(外部機器)2から命令を受けて、メモリデバイス10からデータを読み出したり、メモリデバイス10にデータを書き込む。メモリコントローラ20は、ホストインタフェース21と、データバッファ22と、レジスタ23と、CPU(Central Processing Unit)24と、デバイスインタフェース25と、ECC(Error Correcting Code)回路26と、を備えている。
【0011】
ホストインタフェース21は、ホスト2と接続されている。ホストインタフェース21を介して、ホスト2とメモリシステム1との間でデータの送受信等が行われる。
【0012】
データバッファ22は、ホストインタフェース21に接続される。データバッファ22は、ホストインタフェース21を介してホスト2からメモリシステム1に送信されたデータを受け取り、これを一時的に記憶する。また、データバッファ22は、メモリシステム1からホストインタフェース21を介してホスト2へ送信されるデータを一時的に記憶する。データバッファ22は、揮発性のメモリでも、不揮発性のメモリでもよい。
【0013】
レジスタ23は、例えば揮発性のメモリであり、CPU24により実行される設定情報、コマンド、及びステータスなどを記憶する。レジスタ23は、揮発性のメモリでも、不揮発性のメモリでもよい。
【0014】
CPU24は、メモリシステム1の全体の動作を司る。CPU24は、例えばホスト2から受けたコマンドに従ってメモリデバイス10に対する所定の処理を実行する。
【0015】
デバイスインタフェース25は、メモリコントローラ20と、メモリデバイス10との間で各種信号などの送受信を行う。
【0016】
ECC回路26は、データバッファ22を介して、ホスト2から受信した書き込みデータを受信する。ECC回路26は、書き込みデータにエラー訂正符号を付加する。ECC回路26は、エラー訂正符号が付された書き込みデータを、例えばデータバッファ22、またはデバイスインタフェース25に供給する。
【0017】
また、ECC回路26は、デバイスインタフェース25を介してメモリデバイス10から供給されたデータを受信する。当該データは、メモリセルアレイ11のメモリセルに記憶されているデータである。ECC回路26は、メモリデバイス10から受信したデータにエラーが存在するか否かの判定を行う。ECC回路26は、受信したデータにエラーが存在すると判定する場合、受信したデータに対してエラー訂正符号を用いてエラー訂正処理を行う。そして、ECC回路26は、エラー訂正処理したデータを、例えばデータバッファ22、デバイスインタフェース25等に供給する。
【0018】
メモリデバイス10は、メモリセルアレイ11と、センスアンプ/ライトドライバ12と、カラムデコーダ13と、ワード線ドライバ14、ロウデコーダ15と、IO回路16と、コントローラ17と、コマンドアドレス入力回路18と、を備えている。
【0019】
コマンドアドレス入力回路18には、メモリコントローラ20から、各種の外部制御信号、例えば、チップセレクト信号CS、クロック信号CK、クロックイネーブル信号CKE、及びコマンドアドレス信号CA等が入力される。コマンドアドレス入力回路18は、コマンドアドレス信号CAをコントローラ17に転送する。
【0020】
コントローラ17は、コマンドとアドレスとを識別する。コントローラ17は、メモリデバイス10を制御する。
【0021】
メモリセルアレイ11は、
図2に示すように、例えば、MRAMであり、複数のメモリセルMCが二次元配置または三次元配置されている。各メモリセルMCは、例えば、磁気抵抗変化型メモリセルまたは抵抗変化型メモリセルである。実施形態では、各メモリセルMCとしての磁気抵抗変化型メモリセルは、記憶素子としてMTJ(Magnetic Tunnel Junction)素子30および選択トランジスタ31を含む。MTJ素子30は、抵抗状態の変化によってデータを記憶し、電流によってデータを書き換え可能な磁気トンネル接合素子である。選択トランジスタ31は、MTJ素子30に対応して設けられ、該対応するMTJ素子30に電流を流すときに導通状態となるように構成されている。なお、MTJ素子を抵抗変化素子もしくは磁気抵抗効果素子と記載してもよい。
【0022】
図2に示すように、複数のワード線WLはロウ方向に延伸し、複数のビット線BLはカラム方向に延伸している。ワード線WL及びビット線BLは、互いに交差するように配線されている。隣接するビット線BLはソース線SLと対を成しており、メモリセルMCは、ワード線WLとビット線BLまたはソース線SLとの交点に対応して設けられている。各メモリセルMCのMTJ素子30および選択トランジスタ31は、ビット線BLとソース線SLとの間に直列に接続されている。選択トランジスタ31のゲートはワード線WLに接続されている。
【0023】
ワード線ドライバ14は、少なくともメモリセルアレイ11の一辺に沿って配置される。また、ワード線ドライバ14は、データ読み出しまたはデータ書き込みの際にワード線WLに電圧を印加するように構成されている。
【0024】
ロウデコーダ15は、コマンドアドレス入力回路18から供給されたコマンドアドレス信号CAのアドレスをデコードする。より具体的には、ロウデコーダ15はデコードしたロウアドレスを、ワード線ドライバ14に供給する。それにより、ワード線ドライバ14は、選択ワード線WLに電圧を印加することができる。
【0025】
カラムデコーダ13は、コマンドアドレス入力回路18から供給されたコマンドアドレス信号CAのアドレスをデコードする。カラムデコーダ13は、デコードしたカラムアドレスをセンスアンプ/ライトドライバ12に供給する。
【0026】
センスアンプ/ライトドライバ12は、センスアンプ及びライトドライバを備えている。センスアンプ/ライトドライバ12は、少なくともメモリセルアレイ11の一辺に沿って配置されている。センスアンプは、グローバルビット線GBLを介してビット線BLに接続され、選択ワード線WLに接続されたメモリセルMCに流れる電流を検知することによって、メモリセルMCに記憶されたデータを読み出す。ライトドライバは、グローバルビット線GBLを介してビット線BLに、またはグローバルソース線GSLを介してソース線SLに接続される。そして、ライトドライバは、選択メモリセルMCにデータを書き込む際、選択ワード線WLに接続された選択メモリセルMCに電流を流す。
【0027】
また、センスアンプ/ライトドライバ12は、図示しないページバッファを備えている。ページバッファは、例えば揮発性のメモリであり、センスアンプによって読み出されたデータ、またはIO回路16を介して転送された書き込みデータを記憶する。
【0028】
センスアンプ/ライトドライバ12とデータ線DQとの間のデータの授受は、IO回路16を介して行われる。
【0029】
図2に示すように、メモリセルアレイ11は、二次元配置または三次元配置された複数のメモリセルMCを含む。メモリセルアレイ11は、複数のワード線WL0~WLi(iは1以上の整数)、複数のビット線BL0~BLj、および、複数のソース線SL0~SLj(jは1以上の整数)有する。メモリセルMCは、ワード線WLとビット線BLまたはソース線SLとの交点に対応して設けられている。即ち、メモリセルアレイ11は、積層型のメモリセルアレイとなっている。
【0030】
メモリセルMCは、MTJ素子30、及び選択トランジスタ31から構成される。選択トランジスタ31は、例えばN型MOSFET(Metal Oxide Silicon Field Effect Transistor)から構成される。
【0031】
MTJ素子30の一端は、ビット線BLに接続され、他端は選択トランジスタ31のドレインに接続される。選択トランジスタ31のゲートは、ワード線WLに接続され、ソースはソース線SLに接続される。
図3は、メモリセルMCの説明図である。
【0032】
TMR(Tunneling Magnetoresistance)効果を利用したMTJ素子30は、2枚の強磁性層F,Pとこれらに挟まれた非磁性層(トンネル絶縁膜)Bとを含む積層構造を有し、スピン偏極トンネル効果による磁気抵抗の変化によりデジタルデータを記憶する。MTJ素子30は、2枚の強磁性層F,Pの磁化配列によって、低抵抗状態と高抵抗状態とを取り得る。例えば、低抵抗状態を“0”データと定義し、高抵抗状態を“1”データと定義すれば、MTJ素子30に1ビットデータを記録することができる。もちろん、低抵抗状態を“1”データと定義し、高抵抗状態を“0”データと定義してもよい。
【0033】
例えば、MTJ素子30は、固定層(ピン層)P、トンネルバリア層B、記録層(フリー層)Fを順次積層して構成される。ピン層Pは、磁化配列の向きが固定されている層であり、フリー層Fは、磁化配列の向きが可変であり、その磁化の向きによってデータを記憶する。ピン層Pおよびフリー層Fは、強磁性体で構成されており、トンネルバリア層Bは、絶縁膜で構成されている。
【0034】
フリー層Fには、例えば、コバルト鉄ボロン(CoFeB)あるいはホウ化鉄(FeB)等が用いられてもよい。ピン層Pには、例えば、コバルト白金(CoPt)、コバルトニッケル(CoNi)、あるいはコバルトパラジウム(CoPd)等が用いられてもよい。トンネルバリア層Bは、非磁性材料からなり、非磁性金属、非磁性半導体、絶縁体等を用いることができる。トンネルバリア層Bには、例えば、酸化マグネシウム(MgO)、あるいは酸化アルミニウム(Al2O3)等が用いられてもよい。
【0035】
書き込み時に矢印A1の向きに電流を流すと、ピン層Pの磁化の向きに対してフリー層Fのそれがアンチパラレル状態(AP状態)となり、高抵抗状態(”1”データ)となる。このような書き込み動作を“1”書き込み動作としてもよい。書き込み時に矢印A2の向きに電流を流すと、ピン層Pとフリー層Fとのそれぞれの磁化の向きがパラレル状態(P状態)となり、低抵抗状態(”0”データ)となる。このような書き込み動作を”0”書き込み動作としてもよい。このように、MTJ素子は、電流を流す方向によって異なるデータを書き込むことができる。
【0036】
図4は、第1実施形態に係るセンスアンプ/ライトドライバ12のうちセンス回路100の構成例を示すブロック図である。
【0037】
センス回路100は、ビット線(グローバルビット線)毎に設けられている。各センス回路100は、プリアンプ110及びセンスアンプ(SA)120を備えている。プリアンプ110は、ビット線を介してメモリセルMCに電流(セル電流)を供給し、セル電流に基づく電圧V1st及びV2ndを記憶する。センスアンプ120は、プリアンプ110に記憶された電圧V1st及びV2ndに基づいて、データ(DO、DOB)を判定する。
【0038】
図5は、プリアンプ110の構成例を示す回路図である。
【0039】
プリアンプ110は、PMOSトランジスタM29、M30、M31、M34、NMOSトランジスタM6、M7、M32、M33、M35、及び容量C3、C4を備えている。
【0040】
トランジスタM29の一端は電源電圧VDDが印加され、他端及びゲート電極はノードN15に接続される。トランジスタM30の一端は電源電圧VDDが印加され、他端はノードN16に接続され、ゲート電極はノードN15に接続される。トランジスタM29、M30は、カレントミラー回路を構成する。
【0041】
トランジスタM6の一端はノードN1に接続され、他端はノードN4に接続され、ゲート電極は信号Vclampを受ける。
【0042】
トランジスタM7の一端はノードN4に接続され、他端はビット線(グローバルビット線)に接続され、ゲート電極はリードイネーブル信号RENを受ける。
【0043】
トランジスタM31、M32の一端はノードN16に接続され、他端はノードN17に接続されている。トランジスタM31、M32のゲート電極は、それぞれ信号SW1B、SW1Pを受ける。トランジスタM31、M32は一つのCMOS(Complementary MOS)スイッチとして機能する。トランジスタM31、M32は、スイッチM31、M32とも呼ぶ。
【0044】
トランジスタM33の一端はノードN16に接続され、他端は接地電圧VSSが印加され、ゲート電極はノードN17に接続される。
【0045】
容量C3は、一端がノードN17に接続され、他端は接地電圧源VSSに接続される。
【0046】
トランジスタM34、M35の一端は、ノードN16に接続され、他端はノードN18に接続されている。トランジスタM34、M35のゲート電極はそれぞれ信号SW2B、SW2Pを受ける。トランジスタM34、M35は一つのCMOSスイッチとして機能する。トランジスタM34、M35は、スイッチM34、M35とも呼ぶ。
【0047】
容量C4は、一端がノードN18に接続され、他端は接地電圧源VSSに接続される。
【0048】
ノードN17の電圧はV1stとしてセンスアンプ120に供給される。電圧V1stは、スイッチM31、M32を介して容量C3に伝達される。容量C3は、ノードN17の電圧を電圧V1stに保持することができる。ノードN18の電圧はV2ndとしてセンスアンプ120に供給される。電圧V2nsは、スイッチM34、M35を介して容量C4に伝達される。容量C4は、ノードN18の電圧を電圧V2ndに保持することができる。
【0049】
図6は、センスアンプ120の構成例を示す回路図である。
【0050】
センスアンプ120は、PMOSトランジスタM8、M9、M10、M11、M12、M13、NMOSトランジスタM14、M15、M16、M17、M18、M19、M20、M21、M22、M23、M24、M25を備えている。センスアンプ120は、レジスタREG1と、インバータINV1、INV2とをさらに備えている。
【0051】
トランジスタM8の一端は電源電圧VDDが印加され、他端はノードN5に接続され、ゲート電極は信号LATPBを受ける。
【0052】
トランジスタM9の一端はノードN5に接続され、他端はノードN6に接続され、ゲート電極はノードN7に接続される。第1トランジスタとしてのトランジスタM9は、電流経路CP1に設けられ、ゲートが電流経路CP2のノードN7に接続されている。
【0053】
トランジスタM10の一端はノードN5に接続され、他端はノードN7に接続され、ゲート電極はノードN6に接続される。第2トランジスタとしてのトランジスタM10は、電流経路CP2に設けられ、ゲートが電流経路CP1のノードN6に接続されている。
【0054】
トランジスタM11の一端はノードN6に接続され、他端はノードN7に接続され、ゲート電極は信号SENを受ける。
【0055】
トランジスタM12の一端は電源電圧VDDが印加され、他端はノードN6に接続され、ゲート電極は信号SENを受ける。
【0056】
トランジスタM13の一端は電源電圧VDDが印加され、他端はノードN6に接続され、ゲート電極は信号SENを受ける。
【0057】
トランジスタM14の一端はノードN6に接続され、他端はノードN8に接続され、ゲート電極はノードN7に接続される。第1トランジスタとしてのトランジスタM14は、電流経路CP1に設けられ、ゲートが電流経路CP2のノードN7に接続されている。
【0058】
トランジスタM15の一端はノードN8に接続され、他端はノードN11に接続され、ゲート電極はノードN10を介して信号SEN2を受ける。
【0059】
トランジスタM16の一端はノードN8に接続され、他端は接地電圧VSSが印加され、ゲート電極は信号LATNを受ける。
【0060】
トランジスタM17の一端はノードN7に接続され、他端はノードN9に接続され、ゲート電極はノードN6に接続される。第2トランジスタとしてのトランジスタM17は、電流経路CP2に設けられ、ゲートが電流経路CP1のノードN6に接続されている。
【0061】
トランジスタM18の一端はノードN9に接続され、他端はノードN13に接続され、ゲート電極はノードN10を介して信号SEN2を受ける。
【0062】
トランジスタM19の一端はノードN9に接続され、他端は接地電圧VSSが印加され、ゲート電極は信号LATNを受ける。
【0063】
トランジスタM20の一端はノードN11に接続され、他端は接地電圧VSSが印加され、ゲート電極は信号V1stを受ける。
【0064】
トランジスタM21の一端はノードN11に接続され、他端はノードN12に接続され、ゲート電極は信号SHFTDOを受ける。
【0065】
トランジスタM22の一端はノードN12に接続され、他端は接地電圧VSSが印加され、ゲート電極はシフト電圧VSHFT1を受ける。
【0066】
トランジスタM23の一端はノードN13に接続され、他端は接地電圧VSSが印加され、ゲート電極は信号V2ndを受ける。
【0067】
トランジスタM24の一端はノードN13に接続され、他端はノードN14に接続され、ゲート電極は信号SHFTDOBを受ける。
【0068】
トランジスタM25の一端はノードN14に接続され、他端は接地電圧VSSが印加され、ゲート電極はシフト電圧VSHFT2を受ける。
【0069】
このようなセンスアンプ120において、トランジスタM9、M14、M15、M20は、電流経路CP1を構成する。トランジスタM10、M17、M18、M23は、電流経路CP2を構成する。電流経路CP1のトランジスタM9、M14のゲートは、電流経路CP2のノードN7に共通に接続されており、電流経路CP2のトランジスタM10、M17のゲートは、電流経路CP1のノード6に共通に接続されている。ノードN6は、トランジスタM9とM14との間のノードであり、ノードN7は、トランジスタM10とM17との間のノードである。即ち、トランジスタM9、M13のゲートとトランジスタM10、M17のゲートとがクロスカップリングされている。これにより、センスアンプ120は差動増幅回路として機能することができる。電流経路CP1は、ノードN17の電圧V1stに応じた電流I1stを流す。電流経路CP2は、ノードN18の電圧V2ndに応じた電流I2ndを流す。センスアンプ120は、ノードN17とノードN18との電圧差に応じた出力信号DOを出力部から出力する。尚、センスアンプ120が差動増幅回路として機能する際には、信号SENがハイレベルとなっており、トランジスタM11~M13がオフになっている必要がある。
【0070】
トランジスタM21、M22は、電流経路CP1に接続されたオフセット部OFS1を構成する。オフセット部OFS1は、トランジスタM15とM20との間のノードN11から分岐しており、シフト電圧(第1シフト電圧)VSHFT1に従ったオフセット電流Iofs1を流すことができる。第1オフセットトランジスタとしてのトランジスタM22は、ゲートにシフト電圧VSHFT1が印加されているときにオフセット電流Iofs1を流す。また、オフセット部OFS1において、トランジスタM21がオンしているときに、トランジスタM22がオフセット電流Iofs1を流すことができる。
【0071】
トランジスタM24、M25は、電流経路CP2に接続されたオフセット部OFS2を構成する。オフセット部OFS2は、トランジスタM18とM23との間のノードN13から分岐しており、シフト電圧(第2シフト電圧)VSHFT2に従ったオフセット電流Iofs2を流すことができる。第2オフセットトランジスタとしてのトランジスタM25は、ゲートにシフト電圧VSHFT2が印加されているときにオフセット電流Iofs2を流す。また、オフセット部OFS2において、トランジスタM24がオンしているときに、トランジスタM25がオフセット電流Iofs2を流すことができる。
【0072】
シフト電圧VSHFT1、VSHFT2は、トランジスタM22またはM25に所定のオフセット電流Iofs1、Iofs2を流すようにトランジスタM22、M25の導通状態を制御する。トランジスタM22がオフセット電流Iofs1を流すと、電流経路CP1に流れる電流I1stがオフセット電流Iofs1の分だけ増加する。即ち、電流経路CP1に流れる電流がI1st+Iofs1になる。これは、電圧V1stが高電圧側にシフトすることと見かけ上、同様のことを意味する。一方、トランジスタM25がオフセット電流Iofs2を流すと、電流経路CP2に流れる電流I2ndがオフセット電流Iofs2の分だけ増加する。即ち、電流経路CP2に流れる電流がI2nd+Iofs2になる。これは、電圧V2ndが高電圧側にシフトすることと見かけ上、同様のことを意味する。つまり、オフセット電流Iofs1を流すことにより、電圧V1stが、オフセット電流Iofs1に対応するオフセット電圧Vofs1だけ上昇したものとみなすことができる。オフセット電流Iofs2を流すことにより、電圧V2ndが、オフセット電流Iofs2に対応するオフセット電圧Vofs2だけ上昇したものとみなすことができる。
【0073】
オフセット電流Iofs1、Iofs2に対応する電圧V1st、V2ndのシフト量)がオフセット電圧Vofs1、Vofs2となる。オフセット電流Iofs1は、データ“0”のときに電流経路CP1に流れる電流と、データ“1”のときに電流経路CP1に流れる電流との間の任意の電流(例えば、略中間電流)である。オフセット電流Iofs2は、データ“0”のときに電流経路CP2に流れる電流と、データ“1”のときに電流経路CP2に流れる電流との間の任意の電流(例えば、略中間電流)である。オフセット電圧Vofs1は、データ“0”のときのノードN17(
図5参照)の電圧V1stと、データ“1”のときのノードN17の電圧V1stとの間の任意の電圧(略中間電圧)でよい。オフセット電圧Vofs2は、データ“0”のときのノードN18の電圧V2ndと、データ“1”のときのノードN18の電圧V2ndとの間の任意の電圧(略中間電圧)でよい。シフト電圧VSHFT1、VSHFT2は、トランジスタM22、M25がオフセット電流Iofs1、Iofs2を流し、電圧V1st、V2ndをオフセット電圧Vofs1、Vofs2だけシフトさせるように設定される。オフセット電圧Vofs1、Vofs2は、ともに、データ“0”とデータ“1”との略中間電圧であり、互いにほぼ等しい電圧であってもよい。また、シフト電圧VSHFT1は、データ“0”のときに電流経路CP1に流れる電流と、データ“1”のときに電流経路CP1に流れる電流との差分の電流以下(例えば、約半分の電流)をトランジスタM22に流すゲート電圧でもよい。オフセット電圧Vofs2は、データ“0”のときに電流経路CP2に流れる電流と、データ“1”のときに電流経路CP2に流れる電流との差分の電流以下(例えば、約半分の電流)をトランジスタM25が流す電圧でもよい。
【0074】
センスアンプ120において、ノードN6、N7には、電流経路CP1、CP2に流れる電流I1st(またはI1st+Iofs1)、電流I2nd(またはI2nd+Iofs2)によって電圧差が生じる。ノードN6、N7の電圧差は、クロスカップリングされたトランジスタM9、M14およびトランジスタM10、M17によって大きく発展される。これにより、ノードN6、N7の電圧差は、互いに相補の論理レベルの電圧差となる。ノードN6の電圧は出力信号DOとして
図1のIO回路16に供給される。ノードN7の電圧は出力信号DOの反転出力信号DOBとして
図1のIO回路16に供給される。また、出力信号DOは、レジスタREG1に入力され、ラッチ信号DLATのタイミングでレジスタREG1においてラッチされる。
【0075】
第1レジスタとしてのレジスタREG1は、ノードN6に接続された入力部と、インバータINV1に接続された出力部と、ラッチ信号DLATを入力するクロック入力部とを備えている。レジスタREG1は、例えば、ラッチ信号DLATがハイレベルに立ち上がったタイミングで出力信号DOをラッチして保持信号DO_PREVとして出力する。
【0076】
インバータINV1は、レジスタREG1とトランジスタM21のゲートとの間に接続されている。インバータINV1は、レジスタREG1からの保持信号DO_PREVを反転させたオフセット信号SHIFTDOをトランジスタM21のゲートに与える。
【0077】
インバータINV2は、インバータINV1の出力とトランジスタM24のゲートとの間に接続されている。インバータINV2は、インバータINV1からのオフセット信号SHIFTDOを反転させたオフセット信号SHIFTDOBをトランジスタM24のゲートに与える。
【0078】
これにより、レジスタREG1でラッチされた保持信号DO_PREVによって、トランジスタM21またはM24のいずれか一方がオンになり、他方がオフになる。トランジスタM21がオンになると、オフセット電流は電流経路CP1に流れる。この場合、上述のとおり、電圧V1stをオフセット電圧Vofsだけ上昇させることと等価である。トランジスタM24がオンになると、オフセット電流は、電流経路CP2に流れる。この場合、電圧V2ndをオフセット電圧Vofsだけ上昇させることと等価である。オフセット電圧Vofsは、データ“0”とデータ“1”との略中間電圧であるので、電圧V1stまたはV2ndをオフセット電圧Vofsだけシフトさせることによって、電圧V1stまたはV2ndを、データ“0”とデータ“1”との略中間電圧に設定することができる。あるいは、ほぼ同レベルの電圧V1stまたはV2ndのいずれか一方を高電圧側へシフトさせることができる。よって、オフセット電圧Vofsだけシフトした後、電圧V1st、V2ndの一方を参照電圧として用いて他方の電圧を検出することができる。
【0079】
例えば、或る読出し動作で検出されたデータが電圧V1stとしてノードN17に保持されており、次の読出し動作で検出されたデータは電圧V2ndとしてノードN18に保持される。この時点で、電圧V1stは、保持信号DO_PREVとして出力されており、電圧V1stの電圧レベルによって、オフセット部OFS1、OFS2の一方がオフセット電流Iofs1またはIofs2のいずれかを流す。
【0080】
電圧V1stがロウレベルであり、保持信号DO_PREVがロウレベルである場合、トランジスタM21がオンになり、オフセット部OFS1が電流経路CP1にオフセット電流Iofs1を流す。一方、電圧V1stがハイレベルであり、保持信号DO_PREVがハイレベルである場合、トランジスタM24がオンになり、オフセット部OFS2が電流経路CP2にオフセット電流Iofs2を流す。
【0081】
このように、センスアンプ120は、前回の読出しデータの論理(電圧V1stの電圧レベル)に基づいて、電圧V1stまたは電圧V2ndのいずれかをオフセット電圧Vofsだけ上昇させる。これにより、センスアンプ120は、前回の読出しデータ(電圧V1st)を参照信号として用いて今回の読出しデータ(電圧V2nd)を検出することができる。
【0082】
以下、本実施形態によるプリアンプ110およびセンスアンプ120の読出し動作についてより詳細に説明する。
【0083】
図7は、プリアンプ110およびセンスアンプ120の読み出し動作の一例を示すタイミング図である。
図8(A)~
図9(C)は、読み出し動作の一例を示す概念図である。
【0084】
図7に示すように、読出し動作において、信号Vclampはハイレベル、信号LATPBはロウレベル、信号SW2Pはハイレベル、信号SW2Bはロウレベルを維持している。従って、読出し動作中において、プリアンプ110のトランジスタM6、スイッチM34、M35、および、センスアンプ120のM8は、導通状態(オン)に維持されている。シフト電圧VSHFT1、VSHFT2は、トランジスタM22、M25が所定のオフセット電流Iofs1、Iofs2を流すことができるように所定電圧に維持されている。従って、
図7において、これらの信号のタイミング図は省略されている。
【0085】
t1以前の初期状態では、信号SW1Pがロウレベルであり、信号SW1Bがハイレベルとなっている。また、信号REN、SEN、SEN2、LATNがロウレベルになっている。プリアンプ110のトランジスタM7、スイッチM31、32は、非導通状態(オフ)になっている。センスアンプ120のトランジスタM11~M13はオンになっており、トランジスタM15、M16、M18、M19はオフになっている。
【0086】
初期状態では、トランジスタM11~M13がオンになっているので、ノードN6、N7がハイレベルに充電され、初期状態の出力信号DOはハイレベルとなる。また、トランジスタM14、M17はオンになるが、トランジスタM9、M10はオフになっている。
【0087】
レジスタREG1は、初期状態の保持信号DO_PREVとしてハイレベルをラッチしているものとする。この場合、トランジスタM21はオフになっており、トランジスタM24はオンになっている。尚、t1以前の初期状態では、トランジスタM15、M18がオフになっているので、オフセット電流Iofs1、Iofs2はまだセンスアンプ120内に流れない。また、初期状態の出力信号DOは、既知のデータを格納した特定の初期メモリセルを読み出すことによって設定される。初期メモリセルは、最初の読出し対象である。このとき、初期メモリセルの位置は決まっており、初期メモリセルは既知の初期データ(例えば、データ“1”)を格納している。よって、初期メモリセルのデータは、自己参照方式で読み出されてもよく、あるいは、初期メモリセルに適した参照信号を用いて読み出されてもよい。勿論、初期状態の出力信号DOおよび保持信号DO_PREVはロウレベルであってもよい。
【0088】
以下、読み出し動作は、メモリセルMC1~MC4の順番に実行されるものとする。
【0089】
(メモリセルMC1の読み出し動作)
まず、メモリセルMC1のデータを読み出す。t1において、リードイネーブル信号RENがハイレベルに立ち上がると、トランジスタM7がオンになり、メモリセルMC1のデータ(抵抗)に応じたメモリ電流がトランジスタM29、M6、M7の電流経路に流れる。また、トランジスタM29、M30がカレントミラーとして機能し、メモリ電流に対応するミラー電流がトランジスタM30、M33の電流経路に流れる。このとき、スイッチM31、M32はオフであり、スイッチM34、M35がオンである。よって、ノードN16の電圧は、電圧V2ndとして、
図6のセンスアンプ120へ出力され、容量C4に蓄積される。よって、電圧V1stは不変(例えば、V0)のまま、電圧V2ndがメモリセルMC1のデータに応じた電圧V1に変化する。例えば、メモリセルMC1が低抵抗の場合、メモリ電流およびミラー電流は大きくなるので、電圧V2ndは電圧V1stよりも高いハイレベルになる。メモリセルMC1が高抵抗の場合、メモリ電流およびミラー電流は小さくなるので、電圧V2ndは電圧V1stよりも低いロウレベルになる。
【0090】
次に、t2において、センスアンプ120の信号SEN2をハイレベルに立ち上げて、トランジスタM15、M18をオンにする。
【0091】
次に、t3において、センスアンプ120の信号SENをハイレベルに立ち上げて、トランジスタM11~M13をオフにする。これにより、電源VDDからの電流は、トランジスタM8を介して電流経路CP1、CP2に流れる。電流経路CP1に流れる電流I1stは、電圧V1stで制御されるトランジスタM20の抵抗状態によって決まる。さらに、トランジスタM21がオンしているときには、オフセット電流Iofs1が電流経路CP1に追加で流れる。電流経路CP2に流れる電流I2ndは、電圧V2ndで制御されるトランジスタM23の抵抗状態によって決まる。さらに、トランジスタM24がオンしているときには、オフセット電流Iofs2が電流経路CP2に追加で流れる。
【0092】
ここで、
図8(A)~
図8(C)を参照して、保持信号DO_PREVがハイレベルである場合のメモリセルMC1のデータ検出方法について説明する。
図8(A)~
図8(C)のグラフでは、横軸が電圧V1st、V2ndのレベル(即ち、メモリセルのデータの論理)を示し、縦軸は、メモリセル数(頻度)を示す。パラレル状態(P状態)は、メモリセルの低抵抗状態であり、例えば、電圧V1st、V2ndのロウレベル(データ“0”)を示す。アンチパラレル状態(AP状態)は、メモリセルの高抵抗状態であり、例えば、電圧V1st、V2ndのハイレベル(データ“1”)を示す。
【0093】
図8(A)に示すように、初期状態において保持信号DO_PREVがハイレベルである場合、
図6のオフセット部OFS2がオフセット電流Iofs2を電流経路CP2に流す。このとき、オフセット部OFS1はオフセット電流Iofs1を流さない。この場合、
図8(B)に示すように、検出対象のメモリセルMC1に対応する電圧V2ndがオフセット電圧Vofs2だけ上昇したとみなすことができる。センスアンプ120は、電圧V2nd+Vofs2と、ハイレベルの電圧V1stとを比較する。即ち、センスアンプ120は、オフセット電流Iofs2の分だけシフトし低下したトランジスタM9、M14のゲート(ノードN7)の電圧とシフトしていないトランジスタM10、M17のゲート(ノードN6)の電圧とを比較する。
【0094】
このとき、メモリセルMC1のデータの論理が“0”であり、電圧V2ndがロウレベルである場合には、
図8(B)に示すように、電圧V2ndは、ハイレベルの電圧V1stとロウレベルの電圧V2ndとの略中間電圧(V2nd+Vofs2)にオフセットされる。従って、センスアンプ120は、中間電圧V2nd+Vofs2と、ハイレベルの電圧V1stとを比較することによって、電圧V2ndがロウレベルであることを検出することができる。即ち、センスアンプ120は、メモリセルMC1のデータが“0”であることを検出することができる。
【0095】
一方、メモリセルMC1のデータの論理が“1”であり、電圧V2ndがハイレベルである場合には、
図8(C)に示すように、電圧V2ndは、ハイレベルの電圧V1st、V2ndよりもオフセット電圧Vofs2だけ高い電圧V2nd+Vofs2にオフセットされる。即ち、電圧V1st、V2ndの両方がハイレベルの場合、電圧V1stと電圧V2ndとを識別できないおそれがある。しかし、本実施形態によれば、ハイレベルの電圧V2ndを、それよりもさらにオフセット電圧Vofs2だけ高い電圧V2nd+Vofs2にオフセットさせている。従って、センスアンプ120は、電圧V2nd+Vofs2と、ハイレベルの電圧V1stとを比較することよって、電圧V2ndがハイレベルであることを検出することができる。即ち、センスアンプ120は、メモリセルMC1のデータが“1”であることを検出することができる。
【0096】
このように、センスアンプ120は、初期状態のノードN17の電圧V1stを参照信号として用いて、メモリセルMC1のデータを検出することができる。
【0097】
図7を再度参照する。t3~t4において、出力信号DOにおいて、ノードN6とノードN7との電圧差が現れる。ノードN6とノードN7との電圧差は、電流経路CP1に流れる電流I1stまたはI1st+Iofs1と、電流経路CP2に流れる電流I2ndまたはI2nd+Iofs2に依存する。さらに、電流経路CP1、CP2に流れるこれらの電流は、電圧V1st、V2nd、および、保持信号DO_PREVによって決まる。このように、電圧V2nd+Vofs2と電圧V1stとの電圧差が出力信号DOにあらわれる。
【0098】
t4において、信号LATNをハイレベルに立ち上げてトランジスタM16、M19をオンすることによって、ノードN6とノードN7との電圧差をさらに大きく発展させる。このとき、メモリセルMC1のデータの論理が“0”であり、電圧V2ndがロウレベルである場合には、出力信号DOは、ロウレベルになる。メモリセルMC1のデータの論理が“1”であり、電圧V2ndがハイレベルである場合には、出力信号DOは、ハイレベルになる。
【0099】
次に、t5において、
図5のプリアンプ110の信号SW1P、SW1Bがそれぞれハイレベルとロウレベルになり、スイッチM31、M32がオンになる。これにより、メモリセルMC1のデータがノードN17にも伝達され、電圧V1stが電圧V2ndと同様に、メモリセルMC1のデータに対応する電圧となる。容量C3は、メモリセルMC1のデータに対応する電圧で充電される。また、ラッチ信号DLATがハイレベルになり、
図6のレジスタREG1が出力信号DOを保持信号DO_PREVとしてラッチする。これにより、メモリセルMC1のデータの検出結果としての出力信号DOが保持信号DO_PREVとして保持される。
【0100】
次に、t6において、信号SEN、SEN2、LATN、DLATがロウレベルに立ち下がる。これにより、トランジスタM11~M13がオンになり、トランジスタM15、M16、M18、M19がオフになる。これにより、電流経路CP1、CP2の電流I1st、I2ndが停止し、ノードN6、N7が同電圧にリセットされる。ただし、ラッチ信号DLATがロウレベルに不活性化されることによって、レジスタREG1は、出力信号DOに依存することなく、保持信号DO_PREVをメモリセルMC1のデータの論理を維持する。
【0101】
また、信号SW1P、SW1Bがそれぞれロウレベルとハイレベルになり、スイッチM31、M32がオフになる。しかし、容量C3は、ノードN17の電圧V1stをメモリセルMC1のデータに対応する電圧に保持する。即ち、保持信号DO_PREVおよびノードN17の電圧V1stは、メモリセルMC1のデータの論理を維持する。一方、ノードN18の電圧V2nd、ノードN6、N7の出力信号DO、DOBはリセットされる。
【0102】
次に、t7において、リードイネーブル信号RENがロウレベルに立ち下げられる。これにより、メモリセルMC1の読み出し動作が終了する。
【0103】
(メモリセルMC2の読み出し動作)
次に、メモリセルMC2について、同様に読出し動作を実行する。t11~t17の動作は、基本的にt1~t7の動作と同様でよい。ただし、t13~t14のデータ検出時において、保持信号DO_PREVおよびノードN17の電圧V1stは、メモリセルMC1のデータの論理を維持しており、メモリセルMC2のデータは、ノードN18の電圧V2ndに伝達される。
【0104】
例えば、メモリセルMC1のデータの論理が“1”であり、保持信号DO_PREVがハイレベルである場合には、メモリセルMC2のデータ検出において、オフセット部OFS2がオフセット電流Iofs2を電流経路CP2に流す。これにより、メモリセルMC2のデータに対応するノードN18の電圧は、電圧V2nd+Vofs2にオフセットされたものとみなすことができる。よって、センスアンプ120は、電圧V2nd+Vofs2と、電圧V1stとを比較することよって、メモリセルMC2のデータを検出することができる。これは、
図8を参照して説明した動作と同じである。センスアンプ120は、レジスタREG1にラッチされた保持信号DO_PREV(メモリセルMC1のデータ)に基づいて、メモリセルMC2のデータに応じた電圧V2ndを見かけ上、電圧V2nd+Vofs2にオフセットさせる。これにより、メモリセルMC1のデータに応じた電圧V1stを参照電圧として用いて、メモリセルMC2のデータを検出することができる。
【0105】
一方、メモリセルMC1のデータの論理が“0”であり、保持信号DO_PREVがロウレベルである場合には、オフセット部OFS1がオフセット電流Iofs1を電流経路CP1に流す。これにより、メモリセルMC1のデータに対応するノードN17の電圧が、電圧V1st+Vofs1にオフセットされたものとみなすことができる。
【0106】
ここで、
図9(A)~
図9(C)を参照して、保持信号DO_PREVがロウレベルである場合のメモリセルMC2のデータ検出方法を説明する。
図9(A)~
図9(C)のグラフの横軸および縦軸は、
図8(A)~
図8(C)のそれらと同じである。
【0107】
図9(A)に示すように、保持信号DO_PREVがロウレベルである場合、
図6のオフセット部OFS1がオフセット電流Iofs1を電流経路CP1に流す。このとき、オフセット部OFS2はオフセット電流Iofs2を流さない。この場合、すでに読み出されノードN17に保持されているメモリセルMC1のデータ(電圧V1st)がオフセット電圧Vofs1だけ上昇したとみなすことができる。この場合、
図9(A)に示すように、電圧V1stがハイレベルとロウレベルとの略中間電圧V1st+Vofs1にオフセットされたとみなすことができる。センスアンプ120は、参照電圧としての中間電圧V1st+Vofs1と、電圧V2ndとを比較する。即ち、センスアンプ120は、オフセット電流Iofs1の分だけシフトし低下したトランジスタM10、M17のゲート(ノードN6)の電圧と、シフトしていないトランジスタM9、M14のゲート(ノードN7)の電圧とを比較する。尚、保持信号DO_PREVは、レジスタREG1にラッチされた状態(ロウレベル)を維持している。
【0108】
このとき、メモリセルMC2のデータの論理が“0”であり、電圧V2ndがロウレベルである場合には、
図9(B)に示すように、センスアンプ120は、ロウレベルの電圧V1stを中間電圧V1st+Vofs1にシフトさせ、中間電圧V1st+Vofs1とロウレベルの電圧V2ndとを比較する。これにより、電圧V1stが電圧V2ndの近くから中間電圧V1st+Vofs1へ離間するので、センスアンプ120は、電圧V2ndがロウレベル(データ“0”)であることを検出することができる。
【0109】
一方、メモリセルMC2のデータの論理が“1”であり、電圧V2ndがハイレベルである場合には、
図9(C)に示すように、センスアンプ120は、オフセットされた中間電圧V1st+Vofs1と、ハイレベルの電圧V2ndとを比較する。これにより、電圧V1stが電圧V2ndに接近するものの依然として充分に離間しているので、センスアンプ120は、電圧V2ndがハイレベル(データ“1”)であることを検出することができる。
【0110】
このように、センスアンプ120は、中間電圧V1st+Vofs1を参照信号として用いて、メモリセルMC2のデータを検出することができる。
【0111】
その後、t14~t17の動作は、t4~t7の動作と同じでよい。
【0112】
(メモリセルMC3の読み出し動作)
次に、メモリセルMC3について、同様に読出し動作を実行する。t21~t27の動作は、基本的にt1~t7の動作と同様でよい。ただし、t23~t24のデータ検出時において、保持信号DO_PREVおよびノードN17の電圧V1stは、メモリセルMC2のデータの論理を維持しており、メモリセルMC3のデータは、ノードN18の電圧V2ndに伝達される。
【0113】
例えば、メモリセルMC2のデータの論理が“1”であり、保持信号DO_PREVがハイレベルである場合には、メモリセルMC3のデータ検出において、オフセット部OFS2がオフセット電流Iofs2を電流経路CP2に流す。これにより、メモリセルMC3のデータに対応するノードN18の電圧は、電圧V2nd+Vofs2にオフセットされたものとみなすことができる。よって、センスアンプ120は、電圧V2nd+Vofs2と、電圧V1stとを比較することよって、メモリセルMC3のデータを検出することができる。これは、
図8を参照して説明した動作と同じである。センスアンプ120は、レジスタREG1にラッチされた保持信号DO_PREV(メモリセルMC2のデータ)に基づいて、メモリセルMC3のデータに応じた電圧V2ndを見かけ上、電圧V2nd+Vofs2にオフセットさせる。これにより、メモリセルMC2のデータに応じた電圧V1stを参照電圧として用いて、メモリセルMC3のデータを検出することができる。
【0114】
また、例えば、メモリセルMC2のデータの論理が“0”であり、保持信号DO_PREVがロウレベルである場合には、メモリセルMC3のデータ検出において、オフセット部OFS1がオフセット電流Iofs1を電流経路CP1に流す。これにより、メモリセルMC2のデータに対応するノードN17の電圧が、電圧V1st+Vofs1にオフセットされたものとみなすことができる。よって、センスアンプ120は、電圧V1st+Vofs1と、電圧V2ndとを比較することよって、メモリセルMC3のデータを検出することができる。これは、
図9を参照して説明した動作と同じである。センスアンプ120は、レジスタREG1にラッチされた保持信号DO_PREV(メモリセルMC2のデータ)に基づいて、メモリセルMC2のデータに応じた電圧V1stを見かけ上、電圧V1st+Vofs1にオフセットさせる。これにより、メモリセルMC2のデータに応じた電圧V1stを参照電圧として用いて、メモリセルMC3のデータを検出することができる。
【0115】
(メモリセルMC4の読み出し動作)
次に、メモリセルMC4について、同様に読出し動作を実行する。t31~t37の動作は、基本的にt1~t7の動作と同様でよい。ただし、t33~t34のデータ検出時において、保持信号DO_PREVおよびノードN17の電圧V1stは、メモリセルMC3のデータの論理を維持しており、メモリセルMC4のデータは、ノードN18の電圧V2ndに伝達される。メモリセルMC4のその他の読み出し動作は、メモリセルMC3の読み出し動作と同様でよい。
【0116】
これにより、センスアンプ120は、メモリセルMC3のデータに応じた電圧V1stを参照電圧として用いて、メモリセルMC4のデータを検出することができる。
【0117】
図7には、メモリセルMC1~MC4の読み出し動作のみ示しているが、メモリセルMC5以降についても同様に読み出してよい。この場合、センスアンプ120は、メモリセルMCk-1(k≧1)のデータに応じた電圧V1stを参照電圧として用いて、メモリセルMCkのデータを検出する。
【0118】
尚、上記実施形態では、初期メモリセルは、データ“1”のハイレベルデータを格納している。しかし、初期メモリセルは、データ“0”のロウレベルデータを格納していてもよい。この場合、
図9を参照して説明したように、センスアンプ120は、初期状態の電圧V1stをオフセット電圧V1st+Vofs1へシフトさせ、オフセット電圧V1st+Vofs1を参照電圧として、メモリセルMC1のデータに対応する電圧V2ndを検出すればよい。このように、初期メモリセルのデータは、“0”または“1”のいずれでもよい。
【0119】
また、本実施形態のよるセンスアンプ120は、直前の読出しデータ(電圧V1st)を参照信号として用いて今回の読出しデータ(電圧V2nd)を検出している。しかし、センスアンプ120は、さらに以前の読出しデータを参照信号として用いてもよい。この場合、ノードN17に保持されるデータ(電圧V1st)は、2セル以上前の読出しデータを保持すればよい。今回読出し対象となっているメモリセルが、2セル以上前の読出し対象のメモリセルの近傍に配置されていればよい。
【0120】
図10(A)~
図10(D)は、メモリセルMCの読み出し順を示す概念図である。
【0121】
上記のとおり、センスアンプ120は、既知の初期メモリセルのデータに対応する電圧V1stあるいはオフセット電圧V1st+Vofs1を参照電圧として用いて、メモリセルMC1のデータを検出する。同様に、センスアンプ120は、メモリセルMCk-1のデータを参照データとして用いて、メモリセルMCkのデータを検出する。
【0122】
メモリセルアレイ11内において、メモリセルMCkは、メモリセルMCk-1の近傍に配置されており、好ましくは、メモリセルMCk-1の隣接セルである。メモリセルMCkがメモリセルMCk-1の近傍にまたは隣接して配置されていることによって、メモリセルMCkおよびメモリセルMCk-1の電気的な特性が近くなり類似する。また、ドライバ14やセンス回路100等からメモリセルMCkおよびメモリセルMCk-1までの配線距離も互いにあまり変わらないため、配線抵抗もほぼ等しくなる。従って、センスアンプ120は、メモリセルMCk-1のデータを参照データとして用いて、メモリセルMCkのデータを正確に検出することができる。
【0123】
例えば、
図11(A)~
図12(C)は、読み出し動作の他の例を示す概念図である。
【0124】
図11(A)に示すように、メモリセルMCk-1のデータに対応する電圧V1stがデータ“1”の分布の下端にある場合、メモリセルMCk-1の近傍のメモリセルMCkも、メモリセルMCk-1と同様の特性を有すると考えられる。即ち、メモリセルMCkのデータに対応する電圧V2ndも、データ“1”または“0”の分布の下端にある可能性が高い。よって、メモリセルMCkのデータが“0”である場合、
図11(B)に示すように、電圧V2ndは、データ“0”の分布の下端にある。センスアンプ120は、保持信号DO_PREVに基づいて、メモリセルMCkのデータに応じた電圧V2ndを見かけ上、電圧V2nd+Vofs2にオフセットさせる。メモリセルMCk-1、MCkのデータは、それぞれデータ“1”、“0”の分布の下端にあるので、メモリセルMCk-1のデータに応じた電圧V1stを参照電圧として用いて、メモリセルMCkのデータ(電圧V2nd+Vofs2)を検出することができる。尚、保持信号DO_PREVは、センスアンプ120で検出後の信号であるので、分布の略中心に位置する。
【0125】
メモリセルMCkのデータが“1”である場合、
図11(C)に示すように、電圧V2ndは、データ“1”の分布の下端にある。センスアンプ120は、保持信号DO_PREVに基づいて、メモリセルMCkのデータに応じた電圧V2ndを見かけ上、電圧V2nd+Vofs2にオフセットさせる。メモリセルMCk-1、MCkのデータは、ともにデータ“1”の分布の下端にあるので、メモリセルMCk-1のデータに応じた電圧V1stを参照電圧として用いて、メモリセルMCkのデータ(電圧V2nd+Vofs2)を検出することができる。
【0126】
尚、
図11(A)~
図11(C)の具体例では、メモリセルMCk-1、MCkのデータが分布の下端にあるが、メモリセルMCk-1、MCkのデータが分布の上端にある場合でも同様である。
【0127】
図12(A)に示すように、メモリセルMCk-1のデータに対応する電圧V1stがデータ“0”の分布の上端にある場合、メモリセルMCk-1の近傍のメモリセルMCkも、メモリセルMCk-1と同様の特性を有すると考えられる。即ち、メモリセルMCkのデータに対応する電圧V2ndも、データ“1”または“0”の分布の上端にある可能性が高い。よって、メモリセルMCkのデータが“0”である場合、
図12(B)に示すように、電圧V2ndは、データ“0”の分布の上端にある。センスアンプ120は、保持信号DO_PREVに基づいて、メモリセルMCk-1のデータに応じた電圧V1stを見かけ上、電圧V1st+Vofs1にオフセットさせる。メモリセルMCk-1、MCkのデータは、ともにデータ“0”の分布の上端にあるので、メモリセルMCk-1のデータに応じた電圧V1stをオフセットさせた電圧V1st+Vofs1を参照電圧として用いて、メモリセルMCkのデータ(電圧V2nd)を検出することができる。
【0128】
メモリセルMCkのデータが“1”である場合、
図12(C)に示すように、電圧V2ndは、データ“1”の分布の上端にある。センスアンプ120は、保持信号DO_PREVに基づいて、メモリセルMCk-1のデータに応じた電圧V1stを見かけ上、電圧V1st+Vofs1にオフセットさせる。メモリセルMCk-1、MCkのデータは、それぞれデータ“0”と“1”の分布の上端にあるので、メモリセルMCk-1のデータに応じた電圧V1stをオフセットさせた電圧V1st+Vofs1を参照電圧として用いて、メモリセルMCkのデータ(電圧V2nd)を検出することができる。
【0129】
尚、
図12(A)~
図12(C)の具体例では、メモリセルMCk-1、MCkのデータが分布の上端にあるが、メモリセルMCk-1、MCkのデータが分布の下端にある場合でも同様である。
【0130】
このように、連続して読み出されるメモリセルMCkおよびメモリセルMCk-1は、互いに近傍あるいは隣接して配置されており、互いに類似の電気的特性を有することが好ましい。また、ドライバ14やセンス回路100等からメモリセルMCkおよびメモリセルMCk-1までの配線抵抗もほぼ等しいことが好ましい。これにより、センスアンプ120は、メモリセルMCk-1のデータを参照データとして用いて、メモリセルMCkのデータを正確に検出することができる。
【0131】
メモリセルMCの読み出し順は、
図10(A)~
図10(D)のいずれでもよい。
図10(A)または
図10(B)は、ワード線WLまたはビット線BLに沿って配列されたメモリセルMCに順番にアクセスしてデータを読み出す。このとき、センス回路100は、或るワード線WLまたはビット線BLの一端から他端まで連続して隣接する複数のメモリセルMCからデータを読み出す。その後、センス回路100は、隣接する他のワード線WLまたは他のビット線BLの他端から一端まで連続して隣接する複数のメモリセルMCからデータを読み出す。これを繰り返し、センス回路100は、ジグザグ状に連続するメモリセルMCからデータを読み出す。これにより、メモリセルアレイ11において離間したメモリセルMC同士の電気的特性が相違している場合であっても、近傍のメモリセルMC同士の電気的特性が類似している限りにおいて、センス回路100は、メモリセルMCk-1のデータを参照データとして用いて、メモリセルMCkのデータを検出することができる。
【0132】
図10(C)では、センス回路100は、メモリセルアレイ11の対角方向(ワード線およびビット線に対して斜め方向)に隣接するメモリセルMCに連続してアクセスしている。この場合、隣接する2つのメモリセルMCは、互いに異なるワード線WLとビット線BLに接続されている。
【0133】
図10(D)では、センス回路100は、メモリセルMC0~MC13の順番で隣接または近傍のメモリセルにアクセスする。メモリセルMC13にアクセスした後、センス回路100は、ワード線WLまたはビット線BL方向に隣接する13個のメモリセル群に同様の順番でアクセスする。このように、メモリセルMCkは、メモリセルMCk-1に隣接していることが好ましいが、必ずしも隣接している必要は無く、メモリセルMCk-1の近傍に配置されていてもよい。近傍とは、メモリセルMCk、MCk-1が互いに類似する電気特性および配線抵抗を有する範囲であればよい。
【0134】
以上の実施形態によれば、センス回路100は、1つのメモリセルMCのデータを読み出すために、自己参照方式のように該メモリセルMCに複数の読出し動作および書き込み動作を実行する必要がない。従って、データ読出し速度が自己参照方式よりも速く、消費電力も小さい。また、データ書換え耐性も自己参照方式よりも劣化させない。
【0135】
また、本実施形態によるセンス回路100は、隣接するメモリセルMCのデータを参照データとして用いるため、参照信号は自ずと調整される。即ち、メモリセルMCの位置によって参照信号を調整する回路は必要なく、かつ、参照信号は自然に調整されている。これにより、センス回路100は、その回路規模を小さくすることができ、かつ、メモリセルMCのデータを正確に検出することができる。
【0136】
また、本実施形態によるセンス回路100は、自己参照方式に用いられるセンス回路に類似する。従って、本実施形態によるセンス回路100は、既存の自己参照方式のセンス回路を用いて比較的容易に作成することができる。
【0137】
(第2実施形態)
ECC(Error-Correcting Code)等で読出しデータがエラーであることを検知した場合、誤ったデータを参照して、次のデータが検出されてしまう。この場合、正確なデータ検出ができなくなるおそれがある。
【0138】
本実施形態では、エラーが検出された場合、さらに以前に検出された正常なデータ(2セル以上前のデータ)を参照データとして用いて、データを検出する。あるいは、この場合、次のデータは、自己参照方式を用いて検出されてもよい。
【0139】
図13は、第2実施形態によるプリアンプ110およびセンスアンプ120の読み出し動作の一例を示すタイミング図である。この例では、メモリセルMC2の読み出しデータがエラーであるものとする。この場合、メモリセルMC3は、メモリセルMC1のデータを参照データとして用いて検出される。メモリセルMC1、MC4の読み出し動作は、
図7に示す第1実施形態の動作と同様でよい。従って、t1~t7およびt31~t37の動作説明は省略する。
【0140】
メモリセルMC2の読出しデータがエラーであった場合、t15~t16において、信号SW1P、SW1Bは動作せず、スイッチM31,M32は、オフのまま維持される。これにより、メモリセルMC2のデータは、ノードN17に伝達されず、電圧V1stは、メモリセルMC1のデータに対応する電圧を保持したままとなる。容量C3は、メモリセルMC1のデータに対応する電圧で充電されたままとなる。また、信号DLATも立ち上がらず、
図6のレジスタREG1は、保持信号DO_PREVを更新せず、メモリセルMC1のデータの検出結果を保持信号DO_PREVとして維持する。
【0141】
従って、次のメモリセルMC3の読み出しにおいて、メモリセルMC3のデータがエラーでない場合、メモリセルMC3のデータは、メモリセルMC1の読み出しデータを参照信号として用いて検出される。即ち、プリアンプ110は、読み出しデータがエラーであった場合に、そのエラーデータをノードN17に保持せず、センスアンプ120は、エラーデータに基づく出力信号DOを保持信号DO_PREVとしてラッチしない。プリアンプ110およびセンスアンプ120は、それ以前の正常な読出しデータをノードN17に保持し、かつ、保持信号DO_PREVとして維持する。
【0142】
よって、メモリセルMC3のデータは、それよりも2セル以上前の読み出しデータ(例えば、メモリセルMC1のデータ)を参照して検出される。これにより、メモリセルMC2のデータがエラーであっても、センスアンプ120は、メモリセルMC3のデータを正確に読み出すことができる。
【0143】
また、2つのメモリセルが連続してエラーであっても、プリアンプ110およびセンスアンプ120は、それ以前の正常なデータを保持し続けるので、次のメモリセルのデータを正確に読み出すことができる。尚、本実施形態において、エラーが生じた場合、参照データを格納していたメモリセルは、読み出し対象のメモリセルに隣接しない場合がある。しかし、これらのメモリセルは互いに近傍に配置されているので、問題にならない。
【0144】
(第3実施形態)
図14は、第3実施形態によるプリアンプ110の構成例を示す回路図である。
【0145】
第3実施形態において、プリアンプ110は、それぞれ、スイッチM31、M32、スイッチM34、35、トランジスタM33および容量C3から構成される複数のブロック200_1、200_2を含む。ブロック200_1、200_2は、ノードN16、N18に対して並列接続されている。プリアンプ110のその他の構成は、第1実施形態の対応する構成と同様でよく、ブロック200_1、200_2に共有されていてもよい。従って、ノードN17は、ブロック200_1、200_2のそれぞれに設けられ、複数の電圧V1stを保持することができる。一方、ノードN18は、ブロック200_1、200_2に対して共有されており、1つの電圧V2ndが読み出し動作に用いられる。
【0146】
図15は、第3実施形態によるセンスアンプ120の構成例を示す回路図である。センスアンプ120は、オフセット部OFS1およびトランジスタM20から構成される複数のブロック301_1、301_2、および、オフセット部OFS2およびトランジスタM25から構成される複数のブロック302_1、302_2を含む。ブロック301_1、301_2は、インバータINV1_1、INV1_2の出力にそれぞれ接続されており、信号SHFTDO_1、SHFTDO_2のそれぞれを受ける。また、ブロック301_1、301_2は、トランジスタM15のソースに共通に接続されている。ブロック302_1、302_2は、インバータINV2_1、INV2_2の出力にそれぞれ接続されており、信号SHFTDOB_1、SHFTDOB_2のそれぞれを受ける。また、ブロック301_1、301_2は、トランジスタM18のソースに共通に接続されている。
【0147】
また、センスアンプ120は、複数のレジスタREG1、REG2と、複数のインバータINV1_1、INV1_2と、複数のインバータINV2_1、INV2_2とを含む。複数のレジスタREG1、GER2は、出力信号DOを入力し、それぞれラッチ信号DLAT_1、DLAT_2が立ち上がったタイミングで出力信号DOをラッチし、保持信号DO_PREV_1、DO_PREV_2として出力する。インバータINV1_1、INV1_2は、それぞれ保持信号DO_PREV_1、DO_PREV_2を反転して信号SHFTDO_1、SHFTDO_2を出力する。インバータINV2_1、INV2_2は、それぞれ信号SHFTDO_1、SHFTDO_2を反転して信号SHFTDOB_1、SHFTDOB_2を出力する。
【0148】
センスアンプ120のその他の構成は、第1実施形態の対応する構成と同様でよく、ブロック301_1、302_2、レジスタREG1、REG2等に共有されていてもよい。
【0149】
このように、第3実施形態では、センス回路100は、レジスタREG1、REG2、ノードN17、N18等を2系統備え、過去に読み出された複数の正常なデータを保持することができる。尚、参照符号の***_1が第1系統を示し、参照符号の***_2が第2系統を示す。また、本実施形態は、2つの系統を有するが、3つ以上の系統を備えてもよい。
【0150】
図16は、第3実施形態によるプリアンプ110およびセンスアンプ120の読み出し動作の一例を示すタイミング図である。この例では、メモリセルMC2、MC3の読み出しデータがエラーであるものとする。以下、第1実施形態と異なる点について主に説明する。
【0151】
初期メモリセルの読出しデータに対応する電圧V0は、ブロック200_1、200_2の両方のノードN17に保持される。よって、t1以前において、電圧V1st_1、V1st_2は、ともに電圧V0となっている。これに伴い、初期状態において、レジスタREG1、REG2は、保持信号DO_PREV_1、DO_PREV_2として初期メモリセルのデータD0を保持する。センス回路100は、メモリセルMCのデータ読み出しにおいて、第1系統と第2系統とを交互に用いる。
【0152】
t1~t7のメモリセルMC1の読出し動作において、ノードN18の電圧V2ndは、メモリセルMC1のデータに応じた電圧V1になる。最初、第2系統を用いるものとすると、センスアンプ120は、初期状態の電圧V1st_2を参照信号として用いて、メモリセルMC1のデータを検出する。メモリセルMC1の検出方法は、第1実施形態のそれと同じでよい。
【0153】
メモリセルMC1のデータは正常である場合、t5~t6において、メモリセルMC1のデータに対応する電圧V1は、第1系統側のブロック200_1のノードN17に保持される。よって、メモリセルMC2の読み出し動作では、電圧V1st_1が電圧V1となる。第2系統側のノードN17の電圧V1st_2は、電圧V0のままとなっている。
【0154】
また、t5~t6において、第1系統のラッチ信号DTAL_1が立ち上がる。これにより、レジスタREG1が出力信号DOとして出力されているデータD1をラッチして保持信号DO_PREV_1として出力する。このとき、第2系統側のレジスタREG2は、保持信号DO_PREV_2としてデータD0を依然としてラッチしている。
【0155】
t11~t17のメモリセルMC2の読出し動作において、ノードN18の電圧V2ndは、メモリセルMC2のデータに応じた電圧V2になる。今度は、第1系統を用いるので、センスアンプ120は、電圧V1st_1を参照信号として用いて、メモリセルMC2のデータを検出する。メモリセルMC2の検出方法は、第1実施形態のそれと基本的に同じでよい。
【0156】
ここで、メモリセルMC2のデータがエラーである場合、信号SW1P_1、SW1P_2は立ち上がらず、ラッチ信号DTAL_1、DLAT_2も立ち上がらない。従って、メモリセルMC2のデータに対応する電圧V2は、ノードN18の電圧V2ndとして現れているものの、ブロック200_1、200_2のノードN17に保持されない。よって、ブロック200_1のノードN17の電圧V1st_1は電圧V1のままとなり、ブロック200_2のノードN17の電圧V1st_2は、電圧V0のままとなっている。また、レジスタREG1、REG2は、保持信号DO_PREV_1、DO_PREV_2を変更せず、それぞれデータD1、D0を維持する。
【0157】
t21~t27のメモリセルMC3の読出し動作において、ノードN18の電圧V2ndは、メモリセルMC3のデータに応じた電圧V3になる。今度は、第2系統を用いるので、センスアンプ120は、電圧V1st_2を参照信号として用いて、メモリセルMC3のデータを検出する。メモリセルMC3の検出方法は、第1実施形態のそれと基本的に同じでよい。
【0158】
ここで、メモリセルMC3のデータもエラーである場合、信号SW1P_1、SW1P_2は立ち上がらず、ラッチ信号DTAL_1、DLAT_2も立ち上がらない。従って、メモリセルMC3のデータに対応する電圧V3は、ノードN18の電圧V2ndとして現れているものの、ブロック200_1、200_2のノードN17に保持されない。よって、ブロック200_1のノードN17の電圧V1st_1は電圧V1のままとなり、ブロック200_2のノードN17の電圧V1st_2は、電圧V0のままとなっている。また、レジスタREG1、REG2は、保持信号DO_PREV_1、DO_PREV_2を変更せず、それぞれデータD1、D0を維持する。
【0159】
t31~t37のメモリセルMC4の読出し動作において、ノードN18の電圧V2ndは、メモリセルMC4のデータに応じた電圧V4になる。今度は、第2系統を用いるので、センスアンプ120は、電圧V1st_2を参照信号として用いて、メモリセルMC4のデータを検出する。メモリセルMC4の検出方法は、第1実施形態のそれと基本的に同じでよい。
【0160】
ここで、メモリセルMC4のデータが正常である場合、t35~t36において、信号SW1P_2およびラッチ信号DLAT_2が立ち上がる。従って、メモリセルMC4のデータに対応する電圧4は、ブロック200_2のノードN17に電圧V1st_2として保持される。ブロック200_1のノードN17の電圧V1st_1は電圧V1のままとなる。また、レジスタREG2は、センスアンプ120の出力信号DOから出力されているデータD4をラッチして保持信号DO_PREV_2として出力する。このとき、第1系統側のレジスタREG1は、保持信号DO_PREV_1としてデータD1を依然としてラッチしている。
【0161】
このように、本実施形態によるセンス回路100は、複数のノードN17に過去の複数の正常なデータを電圧V1stとして保持し、エラーデータが検出された場合にはそのエラーデータを保持しない。過去の複数の正常なデータに対応する電圧V1stは、その後に検出されるデータの参照電圧として用いられる。レジスタREG1、REG2は、エラーデータが検出された場合、エラーデータの出力信号DOを保持信号DO_PREV_1、DO_PREV_2としてラッチ(更新)せず、それ以前の正常なデータに基づく保持信号DO_PREV_1、DO_PREV_2を維持する。これにより、読出し対象のデータがエラーであった場合、センス回路100は、過去の正常なデータを参照して、その後のデータを検出することができる。
【0162】
本実施形態においては、スイッチング動作を3端子型のトランジスタをスイッチング素子の一例として説明した。これに限らず、スイッチング素子には、2端子型のスイッチング素子を適用してもよい。この場合、2端子間に印加する電圧が閾値未満の場合、そのスイッチング素子は”高抵抗”状態、例えば電気的に非導通状態である。2端子間に印加する電圧が閾値以上の場合、スイッチング素子は”低抵抗”状態、例えば電気的に導通状態に変わる。
【0163】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0164】
100 センス回路、110 プリアンプ、120 センスアンプ、M6~M25,M29~M35 MOSトランジスタ、C3,C4 容量、REG1 レジスタ、INV1,INV2 インバータ