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

半導体記憶装置 Download PDF

Info

Publication number
JP2010113765A
JP2010113765A JP2008285859A JP2008285859A JP2010113765A JP 2010113765 A JP2010113765 A JP 2010113765A JP 2008285859 A JP2008285859 A JP 2008285859A JP 2008285859 A JP2008285859 A JP 2008285859A JP 2010113765 A JP2010113765 A JP 2010113765A
Authority
JP
Japan
Prior art keywords
write
read
data
circuit
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008285859A
Other languages
English (en)
Inventor
Tetsuya Arai
鉄也 新井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Memory Japan Ltd
Original Assignee
Elpida Memory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Elpida Memory Inc filed Critical Elpida Memory Inc
Priority to JP2008285859A priority Critical patent/JP2010113765A/ja
Priority to US12/614,129 priority patent/US8072821B2/en
Publication of JP2010113765A publication Critical patent/JP2010113765A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/002Isolation gates, i.e. gates coupling bit lines to the sense amplifier

Abstract

【課題】データの衝突を起こすことなく、連続アクセスを高速に実行可能な半導体記憶装置を提供する。
【解決手段】ライトデータが供給されるライトパス及びリードデータが供給されるリードパスを有する入出力回路120と、入出力回路120とメモリセルアレイ103とを接続するデータラインWLINE,RLINEとを備える。入出力回路120は、ライトパス上のライトデータをデータラインWLINEに供給するライトバッファ114と、データラインRLINEを介して供給されたリードデータをリードパスに供給するリードアンプ108と、ライトアドレスとリードアドレスとの一致を検出したことに応答してライトパス上のライトデータをリードパスに供給するバイパス回路とを備えている。これにより、データの衝突を回避することが可能となる。
【選択図】図1

Description

本発明は半導体記憶装置に関し、特に、連続したアクセスが可能な半導体記憶装置に関する。
DRAM(Dynamic Random Access Memory)に代表される半導体記憶装置は、メモリセルアレイと入出力回路がI/Oラインを介して接続されることが一般的である。したがって、ライト動作時においては、I/Oラインを介して入出力回路からメモリセルアレイにライトデータを供給し、リード動作時においては、メモリセルアレイから読み出されたリードデータをI/Oラインを介して入出力回路に供給する。
図41は、一般的なDRAMの主要部の構成を示す回路図である。
図41に示すDRAMは、ワード線WL0,WL1・・・と、ビット線対BL0,BL1・・・と、ワード線とビット線の交点に配置されたメモリセルMCとを有するメモリセルアレイ1を備えている。各ビット線対BL0,BL1・・・には、それぞれセンスアンプ2が接続されている。各センスアンプ2は、それぞれ対応するカラムスイッチ5を介して、I/OラインLIOに接続されている。カラムスイッチ5には、カラム選択ドライバ4の出力であるカラム選択信号YS0,YS1・・・がそれぞれ供給され、これによって、いずれか一つがオンする。
I/OラインLIOは、相補の差動信号を伝送するための配線であり、入出力回路20に接続されている。入出力回路20は、ライトバスWBUSを介して供給されたライトデータをI/OラインLIOに供給するライトバッファ10と、I/OラインLIOを介して供給されたリードデータをリードバスRBUSに供給するリードアンプ6とを備えている。
このような構成を有するDRAMの動作について説明する。
まず、ワードドライバ3によりワード線WL0,WL1・・・のいずれか、例えばワード線WL0を駆動すると、メモリセルMCに蓄えられている信号電荷が各ビット線対BL0,BL1・・・に読み出される。しかしながら、ビット線対BL0,BL1・・・に現れる信号量は微小であるため、これをセンスアンプ2によって増幅する。すると、ビット線対BL0,BL1・・・はフル振幅し、選択されているメモリセルMCはフルレベルに再書き込みされ、また増幅された信号はセンスアンプ2に保持される。
次に、カラム選択ドライバ4によっていずれかのカラム選択信号YS0,YS1・・・を活性化させ、これによっていずれかのカラムスイッチ5をオンさせる。これにより、いずれかのビット線対がI/OラインLIOに接続される。
しかしながら、I/OラインLIOに読み出された信号もまた微小信号である。このため、リード動作を行う場合には、I/OラインLIOに読み出された信号をリードアンプ6によってさらに増幅し、保持回路7にラッチした後、トライステートバッファ8を介してリードバスRBUSから出力する。リードアンプ6、保持回路7及びトライステートバッファ8は、いずれも活性化信号RAEに同期して動作する。活性化信号RAEは、リード動作時におけるタイミング信号である。
一方、ライト動作を行う場合には、ライトバスWBUSを介して供給されるライトデータを保持回路9にラッチした後、ライトバッファ10を介してI/OラインLIOに供給する。保持回路9及びライトバッファ10は、いずれも活性化信号WBEに同期して動作する。活性化信号WBEは、ライト動作時におけるタイミング信号である。I/OラインLIOに供給されたライトデータは、オンしているカラムスイッチ5を介していずれか一対のビット線対に供給される。これにより、センスアンプ2にはライトデータが強制的に書き込まれ、これがメモリセルMCに書き込まれる。
次に、ライト動作とリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングについて説明する。
図42は、同一アドレスに対してライト動作及びリード動作が連続して要求された場合の動作タイミングを示すタイミング図である。
まず、時刻t1においてライト要求が発行されると、所定時間後、ライトバスWBUSにライトデータDが供給される。そして、時刻tWBEにおいて活性化信号WBEが活性化し、これによってI/OラインLIOにライトデータDが出力される。その後、カラム選択信号YS0が活性化し、これによって対応するビット線対BL0にライトデータDが書き込まれる。次に、時刻t2においてリード要求が発行されると、時刻t1のライト要求によって書き込まれたデータDがI/OラインLIOに読み出される。I/OラインLIOに有意の電位差が生じた後、時刻tRAEにおいて活性化信号RAEが活性化し、これによってリードデータDがリードバスRBUSに読み出される。
このように、1クロックサイクルでライト動作が完了する場合には、同一アドレスに対してライト動作及びリード動作が連続して要求された場合であっても、I/OラインLIOやビット線上でデータの衝突が生じることはない。図示しないが、同一アドレスに対してリード動作及びライト動作が交互に連続して要求された場合、同一アドレスに対してライト動作が2回以上連続して要求された場合、同一アドレスに対してリード動作が2回以上連続して要求された場合においてもデータの衝突は生じず、正しく動作を行うことができる。つまり、1クロックサイクルでライト動作やリード動作が完了する場合には、いかなるアクセスが要求されたとしても正常な動作を行うことができる。このため、図41に示したように、I/OラインLIOを複数のセンスアンプ2によって共有することができ、I/OラインLIOは文字通りインプット及びアウトプットの両方の役割を果たす。
しかしながら、近年はメモリデバイスの動作も複雑化してきており、メモリセルアレイに書き込む前に、符号化など複雑な演算が行われるケースが増加すると考えられる。このようなケースとしては、ECC(Error Correcting Code)回路を内蔵したメモリデバイスが挙げられ、場合によっては、1クロックサイクルでライト動作を完了できないケースも考えられる。1クロックサイクルでライト動作を完了できない場合、ライト動作及びリード動作が連続して要求されると、ライト動作が、続くリード動作に食い込んでしまう。このような不具合についてタイミング図を用いてより詳細に説明する。
図43は、1クロックサイクルでライト動作を完了できないメモリにおいて、異なるアドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。
まず、時刻t1においてライト要求が発行されると、長い時間を要する演算が行われる。演算が完了すると、ライトバスWBUSにライトデータDが供給される。そして、時刻tWBEにおいて活性化信号WBEが活性化し、これによってI/OラインLIOにライトデータD0が出力される。その後、カラム選択信号YS0が活性化し、これによって対応するビット線対BL0にライトデータDが書き込まれる。次に、時刻t2においてリード要求が発行されると、対応するカラム選択信号YS1が活性化し、I/OラインLIOにリードデータD1が現れる。本例においては、時刻t1におけるライト要求から時刻tWBEにおける活性化信号WBEの活性化及びカラム選択信号YS0が活性化は、当然、演算時間分だけ遅延させられる。このため、ビット線対BL0にライトデータD0を書き込んでいる最中にカラム選択信号YS1が立ち上がり、ビット線対BL1にもライトデータD0を書き込むような形になるため、ビット線対BL1からのリードデータD1がBL0へのライトデータD0の影響を受ける。仮に、図43のようにビット線対BL1上のリードデータD1が反転に至らなくても、I/OラインLIOはライトデータD0の影響を強く受ける。このため、時刻t2のリード要求に相当して時刻tRAEに活性化する活性化信号RAEによってリードバスRBUSに供給される値は、期待されるD1ではなくD0となってしまうだろう。つまり、誤ったデータが読み出されることになる。
図44は、1クロックサイクルでライト動作を完了できないメモリにおいて、同一アドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。
ライト動作に関しては、図43を用いて説明した動作と同様である。つまり、時刻t1のライト要求に応答して、ライトデータDはライトバスWBUS、I/OラインLIO、ビット線対BL0へと順調に伝送される。しかしながら、ビット線対BL0に書き込んでいる途中に、時刻t2のリード要求に応答して、カラム選択信号YS0が立ち上がってしまう。続く時刻tRAEにおける活性化信号RAEの活性化がライトバッファ10の活性期間(WBE=H)であれば、データDを正しく読み出すことも可能かも知れないが、図44に示す例のように、ライトバッファ10の活性期間後(WBE=L)となってしまうと、振幅中のビット線対BL0がI/OラインLIOに接続されるため、I/OラインLIOの電位が引っ張られてしまう。このため、I/OラインLIO上の信号量が少ないと、時刻tRAEにおいて活性化信号RAEが活性化すると、リードバスRBUSに正しい値を読み出せないであろう(X:不定)。
ここで、図43に示したように、異なるアドレス間のWRITE to READ動作においてライト動作が次のリード動作に食い込む場合には、I/OラインLIOをライト用のデータラインと、リード用のデータラインに分ければよい。そうすればライトデータとリードデータの衝突がなくなるからである。これに伴い、カラム選択信号YSについても、ライト用のカラム選択信号YS1と、リード用のカラム選択信号に分ければよい。このようなI/O分離は、非特許文献1,2にも記載されている。
特開2007−42176号公報 特開2004−86970号公報 Y. Nakagome et al., Symposium on VLSI Circuits, Dig of Tech. Papers, pp. 17-18, 1990 「超LSIメモリ」、培風館、伊藤清男著1994年11月、ISBN4563036099、pp.165-167
しかしながら、I/O分離のみでは、図44に示した同一アドレスのWRITE to READ動作における問題を解決することはできない。したがって、同一アドレスのWRITE to READ動作が要求された場合であっても正しく動作を行うためには、クロックサイクルを長く設定するしかなく、これが高速動作の妨げとなっていた。このため、同一アドレスのWRITE to READ動作を正しく行い、且つ、高速動作が可能な半導体記憶装置が望まれている。
また、上記の、開始するまでに時間がかかるライト動作を必要とする場合に関して、データ衝突の問題は、WRITE to READ動作だけでなく、WRITE to WRITE動作によっても生じうる。すなわち、演算などにより、開始するまでに時間がかかるライト動作と、通常通り、クロックに応じて速やかに開始できるライト動作の2種を有する場合である。この場合、開始するまでに時間がかかるライト動作が、次サイクル、すなわち、次サイクルのリード動作、及び、次サイクルのクロックに応じて速やかに開始できるライト動作に重なってくる問題が生じる。特に、開始するまでに時間がかかるライト動作と、クロックに応じて速やかに開始できるライト動作の重なりに関しては、I/Oラインをライト用のデータラインとリード用のデータラインに分けることでは対応できない。このようなことが生じる端的な例は、ライトサイクルが、クロックに応じて速やかに開始できるライト動作と、それに続く、開始するまでに時間がかかるライト動作の2種のライト動作によって構成される場合である。このため、異なるアドレス間、および、同一アドレスのWRITE to WRITE動作を正しく行い、且つ、高速動作が可能な半導体記憶装置も望まれている。
本発明による半導体記憶装置は、開始に長い時間を要するライト動作に続いて、速やかに、連続的に、リード動作やライト動作を実施できるよう、次の構造を特徴とする。WRITE to READ動作を対象とする場合は、複数のワード線、複数のビット線、ワード線及びビット線の交点に配置された複数のメモリセルを有するメモリセルアレイと、メモリセルアレイに書き込むべきライトデータが供給されるライトパス及びメモリセルアレイから読み出されたリードデータが供給されるリードパスとを有する入出力回路と、入出力回路とメモリセルアレイとを接続する第1及び第2のデータラインとを備え、入出力回路は、ライトパス上のライトデータを第1のデータラインに供給するライトバッファと、第2のデータラインを介して供給されたリードデータをリードパスに供給するリードアンプと、ライトデータを書き込むべきライトアドレスとリードデータを読み出すべきリードアドレスとの一致を検出する検出回路と、検出回路によって一致が検出されたことに応答して、ライトパス上のライトデータをリードパスに供給するバイパス回路と、をさらに含むことを特徴とする。
また、WRITE to WRITE動作を対象とする場合は、複数のワード線、複数のビット線、ワード線及びビット線の交点に配置された複数のメモリセルを有するメモリセルアレイと、メモリセルアレイに書き込むべきライトデータが供給される第1及び第2のライトパスを有する入出力回路と、入出力回路とメモリセルアレイとを接続する第1及び第2のデータラインとを備え、入出力回路は、第1のライトパス上のライトデータを第1のデータラインに供給する第1のライトバッファと、第2のライトパス上のライトデータを第2のデータラインに供給する第2のライトバッファと、第1のデータラインを介してライトデータを書き込むべき第1のライトアドレスと第2のデータラインを介してライトデータを書き込むべき第2のライトアドレスとの一致を検出する検出回路と、検出回路によって一致が検出されたことに応答して、第1及び第2のライトバッファのいずれか一方の活性化を禁止する禁止回路と、をさらに含むことを特徴とする。
本発明によれば、WRITE to READ動作を対象とする場合は、入出力回路とメモリセルアレイとが2系統のデータラインによって接続されていることから、1クロックサイクルでライト動作が完了しない場合であっても、ライト動作とリード動作を連続的に行うことが可能となる。しかも、また、ライトアドレスとリードアドレスが一致した場合に、ライトデータをそのままリードバスに供給するバイパス回路を備えていることから、同一アドレスのWRITE to READ動作が要求された場合、実際にリード動作を行うことなく、正しくリードデータを出力することが可能となる。
また、WRITE to WRITE動作を対象とする場合は、入出力回路とメモリセルアレイとが2系統のデータラインによって接続されていることから、1クロックサイクルでライト動作が完了しない場合であっても、そのライト動作と、通常のタイミングで開始できるライト動作を、連続的に行うことが可能となる。しかも、また、両ライトアドレスが一致した場合に、いずれか一方のライトを禁止する回路を備えていることから、同一アドレスのWRITE to WRITE動作が要求された場合、両ライトデータの衝突を防ぐことで、所望のデータを書き込むことが可能になる。
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
図1は、本発明の好ましい第1の実施形態による半導体記憶装置100の主要部の構成を示す回路図である。特に限定されるものではないが、本実施形態による半導体記憶装置100はDRAMである。
図1に示すように、本実施形態による半導体記憶装置100は、ワード線WL0,WL1・・・と、ビット線対BL0,BL1・・・と、ワード線とビット線の交点に配置されたメモリセルMCとを有するメモリセルアレイ103を備えている。各ビット線対BL0,BL1・・・には、それぞれセンスアンプ102が接続されている。各センスアンプ102は、それぞれ対応するカラムスイッチ106を介して、リード用データラインRLINEに接続されているとともに、それぞれ対応するカラムスイッチ107を介して、ライト用データラインWLINEに接続されている。カラムスイッチ106には、リード用カラム選択ドライバ104の出力であるリード用カラム選択信号YR0,YR1・・・がそれぞれ供給され、これによってリード動作時においてはいずれか一つがオンする。一方、カラムスイッチ107には、ライト用カラム選択ドライバ105の出力であるライト用カラム選択信号YW0,YW1・・・がそれぞれ供給され、これによってライト動作時においてはいずれか一つがオンする。
リード用データラインRLINEは、相補のリードデータを伝送するための配線であり、入出力回路120に接続されている。また、ライト用データラインWLINEは、相補のライトデータを伝送するための配線であり、入出力回路120に接続されている。入出力回路120は、ライトバスWBUSを介して供給されたライトデータWDをライト用データラインWLINEに供給するライトバッファ114と、リード用データラインRLINEを介して供給されたリードデータRDをリードバスRBUSに供給するリードアンプ108とを備えている。
また、入出力回路120は、ライトデータWDを一時的に保持するレジスタ115と、リードアンプ108の出力とレジスタ115の出力のいずれかを選択するマルチプレクサ111をさらに備えている。マルチプレクサ111の選択は、後述する検出回路によって制御される。これらレジスタ115及びマルチプレクサ111は、ライトバスWBUSを介して供給されたライトデータをリードバスRBUSに供給するバイパス回路を構成する。
次に、本実施形態による半導体記憶装置100の基本的な動作について説明する。
まず、リード動作が要求された場合、ワードドライバ101によりワード線WL0,WL1・・・のいずれか、例えばワード線WL0を駆動する。これにより、メモリセルMCに蓄えられている信号電荷が各ビット線対BL0,BL1・・・に読み出される。ビット線対BL0,BL1・・・に現れる信号量は微小であるため、これをセンスアンプ102によって増幅する。すると、ビット線対BL0,BL1・・・はフル振幅し、選択されているメモリセルMCはフルレベルに再書き込みされ、また増幅された信号はセンスアンプ102に保持される。
次に、リード用カラム選択ドライバ104によっていずれかのリード用カラム選択信号YR0,YR1・・・を活性化させ、これによっていずれかのカラムスイッチ106をオンさせる。これにより、いずれかのビット線対がリード用データラインRLINEに接続される。リード用データラインRLINEに読み出された信号もまた微小信号であることから、これをリードアンプ108によってさらに増幅し、保持回路110にラッチした後、マルチプレクサ111及びトライステートバッファ112を介してリードバスRBUSから出力する。
リードアンプ108及び保持回路110は、いずれも活性化信号RAEに同期して動作する。活性化信号RAEは、活性化信号RAEPとアドレス遷移検出信号ATとが入力されるANDゲート109の出力である。活性化信号RAEPはリード動作時におけるタイミング信号であり、アドレス遷移検出信号ATは後述する検出回路の出力信号である。また、マルチプレクサ111には、アドレス遷移検出信号ATを遅延させた遅延アドレス遷移検出信号ATDが入力されており、これが活性化していない場合(通常のケース)においては、入力1側、つまり、実際のリードデータRDを選択する。これに対し、マルチプレクサ111は、遅延アドレス遷移検出信号ATDが活性化している場合(一致検出したケース)においては、入力0側、つまり、レジスタ115の出力を選択する。尚、トライステートバッファ112は、活性化信号RAEPに同期して動作する。
一方、ライト動作を行う場合には、ライトバスWBUSを介して供給されるライトデータWDを保持回路113にラッチした後、ライトバッファ114を介してライト用データラインWLINEに供給する。保持回路113及びライトバッファ114は、いずれも活性化信号WBEに同期して動作する。活性化信号WBEは、ライト動作時におけるタイミング信号である。ライト用データラインWLINEに供給されたライトデータWDは、ライト用カラム選択ドライバ105の制御により、オンしているカラムスイッチ107を介していずれか一対のビット線対に供給される。これにより、センスアンプ102にはライトデータWDが強制的に書き込まれ、これがメモリセルMCに書き込まれる。
また、保持回路113にラッチされたライトデータWDは、レジスタ115にも供給される。レジスタ115は、活性化信号RAEPに同期して動作する回路であり、上述の通り、その出力はマルチプレクサ111の入力0に供給されている。
図2は、アドレス遷移検出信号ATを生成するための検出回路130の回路図である。
図2に示すように、検出回路130には、現在の選択アドレスIA[t]、現在のリード状態フラグRE[t]及び現在のライト状態フラグWR[t]が供給される。ここで「状態フラグ」とは当該サイクルがその状態であるとき"H"、それ以外は"L"となる信号である。
現在の選択アドレスIA[t]は、そのままEXORゲート131に供給されるとともに、DQラッチ132に供給される。DQラッチ132は内部クロックに同期して、1サイクル後に相当する内部クロックで、現在の選択アドレスIA[t]をラッチしながら出力する回路であり、したがってその出力は、1サイクル前の選択アドレスを示すIA[t−1]となる。詳しくは次の通りである。もし、DQラッチが、内部クロックがHの期間にデータをDからQに伝達し、内部クロックがLの期間に、Qで、そのデータをラッチするタイプ、いわゆる、ラッチ機能付ゲートであれば、DQラッチに供給される内部クロックは、選択アドレスIA[t]を出力する内部クロックより、内部クロックH期間分速い内部クロックであり、これにより、データの貫通を防ぎながら、1サイクル前のデータを現サイクルに乗せることが可能になる。もし、DQラッチが、前記ラッチ機能付ゲートをマスタースレイブに接続した、いわゆる、DQフリップフロップであれば、DQラッチに供給される内部クロックは、選択アドレスIA[t]を出力する内部クロックと同じクロックでよく、容易に、1サイクル前のデータを現サイクルに乗せることができる。1サイクル前の選択アドレスを示すIA[t−1]は、EXORゲート131に供給される。したがって、EXORゲート131は、同じ選択アドレスが2回連続して入力された場合に、その出力XをLとする。それ以外のケースでは、出力Xはハイレベルに保たれる。
また、現在のリード状態フラグRE[t]は、そのままNANDゲート133に供給され、現在のライト状態フラグWR[t]はDQラッチ134に供給される。DQラッチ134も、DQラッチ132と同様な動作を行い、は内部クロックに同期して、1サイクル後に相当する内部クロックで、現在のライト状態フラグWR[t]をラッチする回路であり、したがってその出力は、1サイクル前のライト状態フラグWR[t−1]となる。1サイクル前のライト状態フラグWR[t−1]は、NANDゲート133に供給される。したがって、NANDゲート133は、ライト動作とリード動作が連続して要求された場合(WRITE to READ動作)に、その出力YをLとする。それ以外のケースでは、出力Yはハイレベルに保たれる。
出力X,YはORゲート135に供給される。したがって、WRITE to READ動作において同じ選択アドレスが入力された場合に限り、アドレス遷移検出信号ATの論理レベルはLとなる。それ以外のケースでは、アドレス遷移検出信号ATはハイレベルに保たれる。
アドレス遷移検出信号ATは、遅延回路136に供給される。遅延回路136の出力は遅延アドレス遷移検出信号ATDとなる。遅延アドレス遷移検出信号ATDは、タイミングを取るためにアドレス遷移検出信号ATを遅らせた信号である。
ここで、アドレス遷移検出信号ATがLレベルである場合の動作について説明する。上述の通り、アドレス遷移検出信号ATがLレベルとなるのは、前サイクルがライト動作、現サイクルがリード動作であって、前サイクルと現サイクルのアドレスが一致しているケースである。
選択信号ATは図1に示すリード用カラム選択ドライバ104に共通に供給されている。このため、選択信号ATがLレベルであると、現サイクルがリード動作であるにもかかわらず、リード用カラム選択ドライバ104の出力は全てローレベルに固定される。これにより、リード用のカラム選択信号YRは全く活性化しないため、カラムスイッチ106は全てオフ状態となる。したがってセンスアンプ102に読み出されたデータは放置される。実際は、直前のサイクルでライト動作が行われているため、センスアンプ102は書き込み動作を継続しており、その書き込みが邪魔されること無く続く。また、ANDゲート109によって活性化信号RAEPが遮断されるため、リードアンプ108は増幅動作を行わない。したがって、リードアンプ108にて電流消費は生じない。また、保持回路110も特に動作しない。保持回路110に保持されているデータは、前回のリード動作で読み出されたデータなど、読み出す必要のないデータである。
一方、レジスタ115は、活性化信号RAEPを受けて、直前のライトサイクルで書き込んだデータWDを取り込み、信号線HDATAに保持している。今説明している動作は、「WRITE to READ動作で、かつ、リードサイクルのアドレスがライトサイクルと同一」なので、信号線HDATAに保持されている値が読み出したいデータであるはずである。そして、マルチプレクサ111にて信号線HDATAに保持されている値が選択され、信号線RBUSPに出力される。続くトライステートバッファ112も活性化信号RAEPで活性しているため、リードバスRBUSにはライトデータWDがそのまま返されることになる。
尚、リード動作の際に動作する、保持回路110、保持回路115、マルチプレクサ111、トライステートバッファ112は、遅延アドレス遷移検出信号ATDが活性化信号RAEPと同タイミングであることも考慮すると、いずれも活性化信号RAEPに同期して動くので、保持回路110と保持回路115は、RAEP="H"の期間のみ保持するタイプでも良いが、本明細書ではDQ-FFのように1サイクル保持するタイプを用いて説明する。また、1サイクル保持するタイプの方が、信号線RBUSPなどに保持されているデータを次サイクルまで持ち越すこともでき、演算の自由度も上がると考えられる。
次に、ライト動作とリード動作が連続して要求された場合(WRITE to READ動作)の動作について、タイミング図を用いて説明する。
図3は、異なるアドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、演算のために遅れてライトバスWBUSにライトデータD0が供給される。そして、その遅延を見越した時刻tWBEにおいて活性化信号WBEが活性化し、これによって保持回路113にライトデータD0が取り込まれ、ライト用データラインWLINEに出力される。その後、ライト用のカラム選択信号YW0が活性化し、これによって対応するビット線対BL0にライトデータD0が書き込まれる。
次に、時刻t2においてビット線対BL1に相当するアドレスを指定してリード要求が発行されるが、時刻t1におけるライト動作とはアドレスが異なるため、READ to WRITE動作であっても、アドレス遷移検出信号ATは"H"である。このため、ライト用のカラム選択信号YW0が活性化している最中に、リード用のカラム選択信号YR1が活性化する。このとき、YR1で選択されるビット線対はBL1であり、YW0で選択されているビット線対BL0とは異なるため、データの衝突は生じない。
ビット線対BL1のデータD1は、リード用データラインRLINEに読み出されるが、ここでも、先のライト要求により書き込みが行われているライト用データラインWLINEとは別のデータラインであるため、データの衝突はない。ここで、AT="H"のため、時刻tRAEで活性化信号RAEPが立ち上がると、ほぼ同時に活性化信号RAEも立ち上がる。これにより、リードアンプ108が活性化され、リードデータD1が保持回路110に保持される。一方、活性化信号RAEP立ち上がりを受けて、レジスタ115に保持されている直前のライトデータD0は信号線HDATAに転送されるが、遅延アドレス遷移検出信号ATDも"H"であるため、マルチプレクサ111は入力1側を選択し、リードデータD1がリードバスRBUSに読み出される。
このように所望のデータの書き込みと読み出しが値の衝突なく行える。
図4は、同一アドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、演算のために遅れてライトバスWBUSにライトデータDが供給される。そして、その遅延を見越した時刻tWBEにおいて活性化信号WBEが活性化し、これによって保持回路113にライトデータDが取り込まれ、ライト用データラインWLINEに出力される。その後、ライト用のカラム選択信号YW0が活性化し、これによって対応するビット線対BL0にライトデータDが書き込まれる。ここまでは、図3に示した動作と同様である。
次に、時刻t2においてビット線対BL0に相当するアドレスを指定してリード要求が発行されると、同一アドレスに対するREAD to WRITE動作が成立することから、アドレス遷移検出信号ATは"L"になる。このため、通常の動作であれば活性化するリード用のカラム選択信号YR0は活性化しない。このときビット線対BL0は、先のライト要求によりデータDを書き込んでいる最中のため、信号量もまだ小さい状態にある。このため、これを途中で読み出すと、データDが破壊される可能性があるが、AT="L"であることから、このデータDが読み出されることはない。したがって、書き込み最中のビット線対BL0は、負荷の変化なども特になく、安定した書き込みが続く。
続いて、時刻tRAEにおいて活性化信号RAEPが立ち上がるが、AT="L"のため活性化信号RAEは立ち上がらず、リードアンプ108も活性化されない。一方、活性化信号RAEPに同期して、レジスタ115にライトデータWDが保持され、これが信号線HDATAに転送される。そして、遅延アドレス遷移検出信号ATDも"L"であるため、マルチプレクサ111は入力0側を選択し、ライトデータWDがそのままリードデータDとしてリードバスRBUSに読み出される。
このように、同一アドレスに対するWRITE to READ動作であっても、所望のデータの書き込みと読み出しが値の衝突なく行うことが可能である。
以上説明したように、本実施形態による半導体記憶装置100は、入出力回路120とメモリセルアレイ103がリード用データラインRLINEとライト用データラインWLINEからなる2系統のデータラインによって接続されていることから、ライト動作に時間がかかる場合であっても、1クロックサイクルでWRITE to READ動作を行うことが可能となる。しかも、ライトデータをそのままリードバスに返すバイパス回路を備えていることから、同一アドレスのWRITE to READ動作が要求された場合は、実際にリード動作を行うことなく、正しくリードデータを出力することが可能となることから、同一アドレスに対するWRITE to READ動作がクロックサイクルをリミットすることもない。
ここまで述べた構成では、ライト動作時に行われる「演算」はアレイ動作を伴わないものであったが、これがメモリセルアレイ103に対するリード動作を伴うものであっても構わない。つまり、ライト要求に対してまずリード動作を行い、続いてライト動作を行うものであっても構わない。ただし、この場合、上述したWRITE to READ動作のみならず、WRITE to WRITE動作においても、内部的にWRITE to READ動作と同様な問題が生じる。すなわち、WRITE時に、まずリード動作を行い、続いてライト動作を行うことを考えると、次のWRITE時のリード動作に対して、前のWRITE時のライト動作が食い込み、これまで述べてきたのと同様な問題が生じる、。この問題も、本発明によって解決することができる。
図5は、WRITE to READ動作及びWRITE to WRITE動作におけるアドレスの一致を検出可能な検出回路130aの回路図である。図5において、図2に示した検出回路130と同一の要素には同一の符号を付し、重複する説明は省略する。
図5に示す検出回路130aは、現在のリード状態フラグRE[t]と、DQラッチ142によって生成される1サイクル前のライト状態フラグWR[t−1]が供給されるANDゲート141を備える。したがって、ANDゲート141は、ライト動作とリード動作が連続して要求された場合(WRITE to READ動作)に、その出力YをHとする。それ以外のケースでは、出力YはLレベルに保たれる。
さらに、図5に示す検出回路130aは、現在のライト状態フラグWR[t]と、DQラッチ144によって生成される1サイクル前のライト状態フラグWR[t−1]が供給されるANDゲート143を備える。したがって、ANDゲート143は、ライト動作が2回連続して要求された場合(WRITE to WRITE動作)に、その出力ZをHとする。それ以外のケースでは、出力YはLレベルに保たれる。
出力Y,ZはNORゲート145に供給され、NORゲート145の出力WとEXORゲート131の出力XはORゲート146に供給される。したがって、WRITE to READ動作において同じ選択アドレスが入力された場合、並びに、WRITE to WRITE動作において同じ選択アドレスが入力された場合にアドレス遷移検出信号ATの論理レベルがLとなる。
このようにアドレス遷移検出信号ATの発生回路は、ライト動作時に行う演算の種類によって変更されうる。ここに述べた、演算にリード動作を伴う実例は、別の実施例で詳しく述べる。また、本実施形態に示した制御では、演算時間だけアレイに対する書き込みが遅れるので、ライトコマンド後にプリチャージコマンド投入可能時刻を決めるスペックtDPL(tWR)に対して、動作が厳しくなることにも言及しておく。
次に、本発明の好ましい第2の実施形態について説明する。
上述した第1の実施形態は、メモリセルアレイ103へのライト動作を、続くリードサイクルに完全に重なるまで遅らせて動作させることも可能である。この場合、メモリセルアレイ103へのライト動作の要求の受け入れはクロック同期ではあるが、実際のライト動作を開始するまでの遅延部分はクロックに対して非同期であり、演算時間に相当する遅延線を経由してアクセスする必要があるため、遅延線の設計などがやや複雑になる。
これに対し、本実施形態は、メモリセルアレイ103へのライト動作によるアクセスを純粋なクロック同期とすべく、次サイクルに同期して実施する。これにより、実効的なライトサイクルは、自分のサイクルと、次のサイクルからなる2サイクル分であるため、演算に1サイクル、アレイアクセスに1サイクルとクロック同期の設計ができ、設計が容易化される。ただし、スペックtDPL(tWR)は1サイクルのレイテンシを要することを言及しておく。アドレス遷移検出信号ATの発生回路は、演算がアレイアクセスを伴わない場合は図2のタイプを、演算がリード動作を伴う場合は図5のタイプを用いる。本実施形態による半導体記憶装置の主要部の構成については、図1に示した回路構成をそのまま用いることができる。
図6は、メモリセルアレイ103へのライト動作を、続くリードサイクルに完全に重ねて動作させる場合の動作タイミングを示すタイミング図であり、同一アドレスに対してWRITE to READ動作が要求された場合を示している。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト動作を要求すると、ライトバスWBUSには、1サイクル後の時刻t2に同期して、データDが書き込まれる。ライトバッファ起動信号WBEも時刻t2に同期して、時刻tWBEに立ち上がる。これにより、保持回路113にデータDが取り込まれ、ライトバッファ114によってライト用データラインWLINEにデータDが供給される。続いてライト用のカラム選択信号YW0が立ち上がり、ビット線対BL0にデータDが書き込まれる。
一方、時刻t2には、ビット線対BL0に相当するアドレスを指定してリード動作が要求されている。つまり、ライトアドレスとリードアドレスが同一であることから、アドレス遷移検出信号ATは"L"となる。このため、リード用のカラム選択信号YR0は非活性状態に保たれる。このときビット線対BL0は、先のライト要求によりデータDを書き込んでいる最中のため、信号量もまだ小さい状態にある。このため、これを途中で読み出すと、データDが破壊される可能性があるが、AT="L"であることから、このデータDが読み出されることはない。したがって、書き込み最中のビット線対BL0は、負荷の変化なども特になく、安定した書き込みが続く。つまり、通常であればリード用データラインRLINEに読み出されるリードデータは無い。続いて、時刻tRAEに活性化信号RAEPが立ち上がるが、AT="L"のため活性化信号RAEは立ち上がらず、このためリードアンプ108も活性化されない。一方、活性化信号RAEPに同期して、レジスタ115にライトデータDが保持され、これが信号線HDATAに転送される。そして、遅延アドレス遷移検出信号ATDも"L"であるため、マルチプレクサ111は入力0側を選択し、ライトデータDがそのままリードデータDとしてリードバスRBUSに読み出される。
尚、本実施形態においても、異なるアドレスに対するWRITE to READ動作が問題なく実行できることは言うまでもない。
ところで、近年のDRAMは、ライトコマンド投入からアレイへのライト動作開始までの期間に、所定のレイテンシが追加されることがある。例えばDDR型のDRAMでは、当該サイクルでDQSが入力され始め、次サイクルでDQSに同期してデータを取り込み、さらに次サイクルでデータをCLKに乗せるので、合計2サイクルのレイテンシを持つ。この2サイクルの間に演算をすませ、ライト動作は正規のレイテンシで動作させれば、スペックtDPL(tWR)も犯されない。このような構成のうち、演算がリード動作を伴う場合は、本実施形態で説明した構成を1サイクル前倒しで適用すれば良い。これを図7を用いて説明する。
図7は、演算がリード動作を伴う場合の動作タイミングを説明するための図であり、(a)は単独のライト動作、(b)はWRITE to READ動作、(c)はWRITE to WRITE動作を示している。
図7(a)に示すライト動作では、時刻t1に発行されたライトコマンドに対し、アレイに対する正規のライト要求は時刻t3に開始されるが、実際は時刻t2でリードを行い、時刻t3でライトを行う。
図7(b)に示すWRITE to READ動作では、時刻t1に発行されたライトコマンドに対し、時刻t2でリード、時刻t3でライトを行う。その後、時刻t4にリードコマンドが発行されている。
図7(c)に示すWRITE to WRITE動作では、時刻t1に発行されたライトコマンドに対し、時刻t2でリード、時刻t3でライトを行う。一方、時刻t2に発行されたライトコマンドに対し、時刻t3でリード、時刻t4でライトを行う。このため、時刻t2ではリード動作のみが行われ、時刻t3ではライト動作とリード動作が同時に行われ、時刻t4ではライト動作のみが行われる。
したがって、ライト動作とリード動作との重複は、図7(b)に示すWRITE to READ動作では生じず、図7(c)に示すWRITE to WRITEでのみで生じる。そのため、アドレス遷移検出信号ATの発生回路は、図8に示す回路を用いる必要がある。図8に示す検出回路130bは、図2に示した検出回路130と基本的に同じ回路構成を有しているが、NANDゲート133の一端に現在のライト状態フラグWR[t]が入力される点において異なる。これにより、アドレス遷移検出信号ATは、WRITE to WRITE動作の時だけ"L"となる状態信号Yと、連続して同一アドレスが入力された場合にだけ"L"となる状態信号Xの論理和で得られるため、WRITE to WRITE動作で、且つ、両ライトサイクルのアドレスが同一である場合においてのみAT="L"となる。
このように、本実施形態によれば、ライト要求がされると実際にメモリセルアレイ103に対してライト動作を行う前にリード動作を行う必要があり、且つ、これらの動作を純粋なクロック同期とする半導体記憶装置において、同一アドレスのWRITE to WRITE動作が要求された場合は、実際にリード動作を行うことなく、続くライト動作を正しく行うことが可能となる。
次に、本発明の好ましい第3の実施形態について説明する。
上述した第2の実施形態のように、同一サイクルでライト動作とリード動作が可能であれば、両動作とも1クロックサイクルに収まるような場合は、ライト要求とリード要求を同時に受け付けることもできる。本実施形態は、これを考慮した実施形態である。本実施形態による半導体記憶装置の主要部の構成については、図1に示した回路構成をそのまま用いることができる。
本実施形態においては、ライト動作とリード動作が重なるのは、ライト要求とリード要求を同時に受け付けた時である。したがって、本実施形態においては、アドレス遷移検出信号ATの発生回路は、図9に示す回路を用いる必要がある。図9に示す検出回路130cは、図2に示した検出回路130からDQラッチ132,134を削除した回路構成を有しており、EXORゲート131には現在のリード用アドレスIAR[t]と現在のライト用アドレスIAW[t]が供給され、NANDゲート133には現在のリード状態フラグRE[t]と現在のライト状態フラグWR[t]が入力される。これにより、アドレス遷移検出信号ATは、ライト要求とリード要求が同時に発行され、且つ、リードアドレスとライトアドレスが同一である場合にだけ"L"となる。
図10は、本実施形態において、ライト要求とリード要求が同時に発行され、且つ、リードアドレスとライトアドレスが同一である場合の動作タイミングを示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト動作を要求すると、ライトバスWBUSには、時刻t1に同期してデータDが書き込まれる。ライトバッファ起動信号WBEも時刻t1に同期して、時刻tWBEに立ち上がる。これにより、保持回路113にデータDが取り込まれ、ライトバッファ114によってライト用データラインWLINEにデータDが供給される。続いてライト用のカラム選択信号YW0が立ち上がり、ビット線対BL0にデータDが書き込まれる。
一方、時刻t1においては、ビット線対BL0に相当するアドレスを指定してリード動作も要求されている。つまり、ライトアドレスとリードアドレスが同一であることから、アドレス遷移検出信号ATは"L"となる。このため、リード用のカラム選択信号YR0は非活性状態に保たれる。このときビット線対BL0は、先のライト要求によりデータDを書き込んでいる最中のため、信号量もまだ小さい状態にある。このため、これを途中で読み出すと、データDが破壊される可能性があるが、AT="L"であることから、このデータDが読み出されることはない。したがって、書き込み最中のビット線対BL0は、負荷の変化なども特になく、安定した書き込みが続く。つまり、通常であればリード用データラインRLINEに読み出されるリードデータは無い。続いて、時刻tRAEに活性化信号RAEPが立ち上がるが、AT="L"のため活性化信号RAEは立ち上がらず、このためリードアンプ108も活性化されない。一方、活性化信号RAEPに同期して、レジスタ115にライトデータDが保持され、これが信号線HDATAに転送される。そして、遅延アドレス遷移検出信号ATDも"L"であるため、マルチプレクサ111は入力0側を選択し、ライトデータDがそのままリードデータDとしてリードバスRBUSに読み出される。
尚、本実施形態においても、異なるアドレスに対するWRITE to READ動作が問題なく実行できることは言うまでもない。
本実施形態のように、ライト要求とリード要求が同時に行われる可能性のある半導体記憶装置としては、デュアルポートメモリが挙げられる。本発明をデュアルポートメモリに適用した場合のより具体的な実施形態については後述するが、本実施形態の特徴は、同一アドレスに対するライト要求とリード要求があった場合、ライト要求に対しては実際にライト動作を行う一方、リード要求に対しては実際にリード動作を行うこと無く、ライトデータをそのままリードデータとして返していることである。
次に、本発明の好ましい第4の実施形態について説明する。
上述した第3の実施形態は、同一アドレスに対するライト要求とリード要求があった場合、ライト要求に対しては実際にライト動作を行う一方、リード要求に対しては実際にリード動作を行うこと無く、ライトデータをそのままリードデータとして返している。これに対し、本実施形態では、同一アドレスに対するライト要求とリード要求があった場合、リード要求に対して実際にリード動作を行い、その後、ライト要求に対して実際にライト動作を行う。本実施形態による半導体記憶装置の主要部の構成については、図1に示した回路構成をそのまま用いることができる。
このような場合、リード要求に応じた活性化信号RAEPに対して、ライトバッファ活性信号WBEの活性化を遅らせる必要があり、結果としてライト動作が次サイクルに食い込む形となる。そのため、第1の実施形態と同様の対策が必要となる。本実施形態においては、アドレス遷移検出信号ATの発生回路は、図11に示す回路を用いる必要がある。図11に示す検出回路130dは、図9に示した検出回路130cにDQラッチ151,152を追加した回路構成を有している。これにより、EXORゲート131には現在のリード用アドレスIAR[t]と1サイクル前のライト用アドレスIAW[t−1]が供給され、NANDゲート133には現在のリード状態フラグRE[t]と1サイクル前のライト状態フラグWR[t−1]が入力される。これにより、アドレス遷移検出信号ATは、ライト要求の次のサイクルでリード要求が発行され、且つ、リードアドレスとライトアドレスが同一である場合にだけ"L"となる。
図12は、本実施形態において、ライト要求とリード要求の同時発行が連続的に行われ、且つ、リードアドレスとライトアドレスが同一である場合の動作タイミングを示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してリード動作を要求すると、AT="H"であることから、リード用のカラム選択信号YR0が活性化し、ビット線対BL0からリードデータR1が読み出され、リード用データラインRLINEに供給される。続いて、時刻t1に対応する時刻tRAE1に活性化信号RAEPが立ち上がり、AT="H"のため活性化信号RAEも立ち上がる。これにより、データR1リードアンプ108によって増幅され、保持回路110に保持される。そして、マルチプレクサ111は入力1側を選択するため、リードデータR1はマルチプレクサ111を介してリードバスRBUSに出力される。
一方、時刻t1にはビット線対BL0に相当するアドレスを指定してライト動作も要求されており、ライトバスWBUSには、時刻t1に同期して、データW1が書き込まれる。ライトバッファ起動信号WBEは時刻tRAE1よりも遅い時刻tWBE1に立ち上がる。これにより、データW1は保持回路113に保持されるとともに、ライトバッファ114によってライト用データラインWLINEに供給される。続いてライト用のカラム選択信号YW0が立ち上がり、ビット線対BL0にデータW1が書き込まれる。ここで、YR0とYW0は同一アドレスであり、同じビット線対BL0を選択するため、データW1を書き込みやすくするよう、YR0を立ち下げる工夫も必要であろう。データR1は保持回路110にすでに保持されているので特に問題は無い。
続いて、時刻t2において再びビット線対BL0に相当するアドレスを指定してリード動作を要求すると、当該リード要求に対応するアドレスが前サイクルのライト要求に対応するアドレスが同一であるため、アドレス遷移検出信号ATが"L"となり、通常であれば立ち上がるカラム選択信号YR0は立ち上がらない。このときビット線対BL0は、先のライト要求によりデータW1を書き込んでいる最中のため、信号量もまだ小さい状態にある。このため、これを途中で読み出すと、データW1が破壊される可能性があるが、AT="L"であることから、このデータW1が読み出されることはない。したがって、書き込み最中のビット線対BL0は、負荷の変化なども特になく、安定した書き込みが続く。つまり、通常であればリード用データラインRLINEに読み出されるリードデータは無い。続いて、時刻tRAE2に活性化信号RAEPが立ち上がるが、AT="L"のため活性化信号RAEは立ち上がらず、このためリードアンプ108も活性化されない。一方、活性化信号RAEPに同期して、レジスタ115にライトデータW1が保持され、これが信号線HDATAに転送される。そして、遅延アドレス遷移検出信号ATDも"L"であるため、マルチプレクサ111は入力0側を選択し、ライトデータW1がそのままリードデータとしてリードバスRBUSに読み出される。
一方、時刻t2にはビット線対BL0に相当するアドレスを指定してライト動作も要求されており、ライトバスWBUSには、時刻t2に同期して、データW2が書き込まれる。ライトバッファ起動信号WBEは時刻tRAE2よりも遅い時刻tWBE2に立ち上がる。これにより、データW2は保持回路113に取り込まれ、ライトバッファ114によってライト用データラインWLINEに供給される。
このように、ライト要求とリード要求を同じアドレスで受け入れた際も、サイクル時間tCKを律速せずに、まず書かれているデータをリードし、その後、データをライトする動作を実現できる。なお、本実施形態に示した動作は、リードアンプタイミング待ち時間分、アレイに対する書き込みが遅れるので、ライトコマンド後にプリチャージコマンド投入可能時刻を決めるスペックtDPL(tWR)に対して、動作が厳しくなることは、実施形態1と同様である。
次に、本発明の好ましい第5の実施形態について説明する。
本実施形態は、本発明をECC回路内蔵DRAMに適用した例である。
ここでまず、一般のECC動作のうちメモリに対してよく用いられる、組織符号の単一誤り訂正ハミング符号に関して、書き込み及び読み出しを説明する。情報ビット数をkビット、検査ビット数をmビット、総データn(=k+m)ビットとする。また、計算は2を法とした(modulo 2)ものとし、元は{0,1}であり、加算+は排他的論理和とする。また、組織符号とは、情報ビットと検査ビットを完全に分離できる符号のことである。
まず、書き込みに関して説明する。書き込むkビット幅の情報ビットiを式(1)に示す。
Figure 2010113765
組織符号では、情報ビットiと検査ビットpを分離して処理できるので、情報ビットiは、情報ビット用メモリアレイにはそのまま書き込まれ、一方、検査ビット用メモリアレイには、m行k列の変換行列Aによってmビット幅の検査ビットpに変換されて書き込まれる。これを式(2)〜式(4)に示す。
Figure 2010113765
ただし、変換行列Aの要素である縦ベクトルa(i=1,2,...,k)は、ゼロベクトルではなく、単位ベクトルでもなく、かつ、互いに異なるものであるとする。以上が書き込みであり、情報ビットiに変換行列Aを作用させて検査ビットpに変換する部分が「符号化」である。結果として、メモリアレイには式(5)に示すn(=k+m)ビット幅の総データdが書き込まれることになる。
Figure 2010113765
次に、読み出しに関して説明する。メモリアレイに書き込まれている総データdにはnビット幅のエラーeが重畳し、d'に変化しているものとする。同様に、情報ビットはi'に、検査ビットはp'に変化しているものとする。これを、式(6)、式(7)に示す。
Figure 2010113765
まず、符号化して書き込んでおいた検査ビットp'と比較するため、情報ビットi'の書き込みのときに用いたのと同じ変換行列Aを作用させ、mビット幅の比較用ビットqを得る。すなわち、比較用ビットqは、式(6)により、式(8)のようになる。
Figure 2010113765
もしエラーが無ければ、比較用ビットqは検査ビットp'と一致するはずであるし、たしかに、式(8)からも分かる。ここまでで、情報ビットi'に変換行列Aを作用させて比較用ビットqを得る部分が「符号化」である。読み出しのときと同じ変換行列Aを用いることができるのが組織符号の特徴である。
続いて、比較用ビットqと検査ビットp'が一致するかどうか比較するため、(2を法にした)加算をし、結果としてmビット幅の結果ビットsを得るものとする。結果ビットsは、式(2)、式(6)、式(8)より、式(9)〜式(11)のようになる。なお、計算では、2を法にした加算の規則a+a=0を使用した。
Figure 2010113765
今、エラーeが単一誤りの場合を考える。eのiビット目にエラーがある場合、結果ビットsは、式(9)、式(10)より、式(12)のようになる。
Figure 2010113765
すなわち、情報ビットi'にエラーがある場合(i∈[1,k]の場合)、変換行列Aのi番目の縦ベクトル要素であるaiが得られ、検査ビットp'にエラーがある場合(i∈[k+1,n]の場合)、単位行列umの(i-k)番目の縦単位ベクトル要素であるumi-kが得られる。ここで、aiは、前に述べたように、ゼロベクトルではなく、単位ベクトルでもなく、互いに異なるものであるから、結果ビットsの結果から、i番目のビットにエラーが生じたと断定できる。なお、aiがゼロベクトルで無いのは、エラーが無い場合と区別するためであり、aiが単位ベクトルでないのは、エラーが検査ビットp'にある場合(i∈[k+1,n]の場合)と区別するためである。このように、結果ビットsはエラービット情報を与えるのでシンドロームと呼ばれる。また、式(10)の行列Hは、式(12)のようにシンドロームを求めるのに用いられるので、ハミング検査行列と呼ばれる。次に、mビット幅のシンドロームsに、ベクトル関数Fを作用させ、すなわちデコードして、情報ビットi'のエラービット情報である、kビット幅のエラービット位置データtを割り出す。なお、ここでは、エラーの訂正の対象を情報ビットi'のみとし、検査ビットp'は除外している。これは、単一誤り訂正ハミング符号では、検査ビットp'にエラーがあっても、情報ビットi'は正しく読み出されるからであり、回路削減のためによく用いられる方法である。これを式(13)に示す。
Figure 2010113765
ここで、ベクトル関数Fの要素である関数f(i=1,2,...,k)は、シンドロームsが変換行列Aのi番目の縦ベクトル要素aiと等しい場合のみ1になるように選んである。すると、エラービット位置データtの要素のうち、情報ビットi'の訂正すべきビットを示す要素のみが1となり、他の要素は0となる。結果、エラービット位置データtはエラーe1と等しくなる。ここまでで、比較用ビットqと検査ビットp'を比較して、シンドロームsからエラービット位置データtを得る部分が「検査」である。
続いて、エラービット位置データtを情報ビットi'に作用させて訂正する様子を式(14)に示す。
Figure 2010113765
ここでは式(6)、式(13)、および2を法にした加算の規則a+a=0を用いた。ここまでで、情報ビットi'にシンドロームから得られた位置データtを作用させて情報ビットを訂正する部分が「訂正」である。
このように読み出しでは「符号化」→「検査」→「訂正」を行っている。
以上のように、ECC回路内蔵DRAMに記憶されるデータとしては、実際に必要となる「情報ビット」と、情報ビットに誤りが生じた場合に訂正するために用いる「検査ビット」の2つがある。ライト動作時においては、情報ビットを書き込むとともに、情報ビットを符号化して検査ビットを生成し(符号化ステップ)、これを書き込む。リード動作時においては、情報ビットと検査ビットを読み出し、一方で、読み出した情報ビットを符号化し(符号化ステップ)、符号化した情報ビットと検査ビットを比較することで情報ビット中の不良箇所を割り出し(検査ステップ)、情報ビットの不良箇所に対して訂正を施して読み出す(訂正)。このように、書き込み時は「符号化」、読み出し時は「符号化」→「検査」→「訂正」の動作が行われる。
あるビット数の情報ビットを訂正するのに必要な検査ビット数は情報理論で求まり、最も簡単な、単一誤り訂正の場合でも、kビットの情報ビットを訂正できる検査ビット数mは、以下の式(15)を満たす分だけ必要になる。すなわち、m個の検査ビットによって表せる場合の数2が、不良ビットが存在する場合の不良箇所数(m+k)と、不良ビットが存在しない場合の数1の和より大きければ、検査ビットによって、不良箇所を断定することが可能になる。
Figure 2010113765
上記式から、k=8の場合m=4、k=16の場合m=5、k=32の場合m=6となり、情報ビット数が増えるほど、情報ビット数kに対して必要な検査ビット数mの割合は小さくなる。しかしながら、DRAMには同時にリード/ライトするデータの一部をマスクする「バイトマスク機能」が要求されることから、同時にリード/ライトするデータのビット数が多くても、1バイト単位、つまり、8ビット単位で検査ビットを割り当てなければならなくなる。この場合、8ビットの情報ビットに対して検査ビットは4ビット必要となる。つまり、総ビット数は12ビットであり、情報ビットの1.5倍となる。これは、メモリセルアレイの規模が1.5倍になることを意味し、チップサイズの大幅増加につながる。
本実施形態はこのような問題を解決するものである。上記の問題を回避するには、リード動作時には通常通り、「符号化」→「検査」→「訂正」の動作で読み出すのであるが、ライト動作時には、まず、読み出し(「符号化」→「検査」→「訂正」)を行い、この訂正されたデータに、ライトデータを混ぜ込み、更新された総情報ビットを用いて書き込み(「符号化」)を行えばよい。メモリセルアレイに対して実際に書き込みを行う前に、既に書き込まれているデータを一度読み出すことで、情報ビット数を増やすわけである。
この原理を利用した方法の1つとして、特許文献1に記載された方法が知られている。特許文献1に記載された方法は、DRAMのセンスアンプアクティブ動作とプリチャージ動作を利用するものである。まず、ACTコマンドによって「符号化」→「検査」→「訂正」(前述のリード動作に相当)を行い、訂正されたデータをセンスアンプに保持する。続いてREADコマンドが投入された場合は、センスアンプに訂正されて保持されているデータを読み出す。一方、WRITEコマンドが投入された場合は、センスアンプに訂正されて保持されているデータにライトデータを上書きする。最後に、プリチャージコマンドで「符号化」(前述のライト動作に相当)を行う。
つまり、リードコマンドでは、ACTコマンドで訂正されて読み出されたデータを読み出しており、ライトコマンドでは、ACTコマンドで読み出されたデータにライトデータを混ぜ込んでおり、最後に、プリチャージコマンドで符号化して書き込み動作を実行している。このように、特許文献1では、ロウ系のサイクルを利用して、既に書き込まれているデータを一度読み出しすことで情報ビット数を増加させ、情報ビット数の制限を受けないECC動作を行っている。
しかしながら、特許文献1の方法では、ロウ系サイクルを利用して演算を行っているため、演算対象が活性センスアンプ全数となる。つまり、実際に入出力しないデータに対しても演算を行う必要があるため、消費電力が余分にかかる。また、演算対象がセンスアンプになるため、情報ビット用のセンスアンプと検査ビット用のセンスアンプは常に同一の組み合わせである必要があり、そのためカラム選択線も常に同一の組み合わせである必要がある。当然のことながら、冗長救済用の冗長カラム選択線についても同様であり、情報ビット数を比較的大きく設計した場合には、1箇所の救済に必要な冗長カラム選択線数が増え、救済設計が難しくなる。
本実施形態は、このような特許文献1の問題をも解消するものである。本実施形態では、ロウ系のサイクルではなく、カラム系のサイクルを利用して、情報ビット数の制限を受けないECC動作を可能とする回路構成を提供する。これにより、特許文献1が有している問題を解消できる。すなわち、実際に入出力するデータのECC動作に必要最小限の演算しか行わないので無駄がない。また、演算はアレイの外で行うので、冗長救済の回路に対してなんら制限はない。
この場合、リードサイクルでは、リード動作のみを行うことになるが、ライトサイクルでは、まずリード動作を行い、続いてライト動作を行う必要がある。これは、第1の実施形態において、演算がアレイに対するリード動作を含む例であると言える。以下、具体的に説明する。本動作は、ECC符号が組織符号でない場合でも、ライト動作/リード動作の対象をアレイ全体とし、その際のリード動作を「符号化&検査」→「訂正」のように符号化と検査を一体として、ライト動作の符号器と別の形にすれば可能である。しかし、組織符号の場合は、ライト動作とリード動作で符号器を同じ形にできることで、タイミング設計が容易になるので、以下の説明では組織符号の場合を例に説明する。
図13は、本発明の好ましい第5の実施形態による半導体記憶装置200の主要部の構成を示す回路図である。特に限定されるものではないが、本実施形態による半導体記憶装置200もDRAMである。
図13に示すように、本実施形態による半導体記憶装置200は、情報ビット用メモリアレイ201と、検査ビット用メモリアレイ209とを備えている。情報ビット用メモリアレイ201は、情報ビットを格納するためのメモリセルアレイであり、検査ビット用メモリアレイ209は、検査ビットを格納するためのメモリセルアレイである。各メモリセルアレイ201,209の回路構成は、図1に示したメモリセルアレイ103と同様である。
情報ビット用メモリアレイ201から読み出されるリードデータ(情報ビット)は、リード用カラム選択ドライバ202の出力であるリード用カラム選択信号IYR0,IYR1・・・に基づいてリード用データラインIRLINEに供給される。また、情報ビット用メモリアレイ201に書き込むべきライトデータ(情報ビット)は、ライト用カラム選択ドライバ203の出力であるライト用カラム選択信号IYW0,IYW1・・・に基づいてライト用データラインIWLINEから供給される。同様に、検査ビット用メモリアレイ209から読み出されるリードデータ(検査ビット)は、リード用カラム選択ドライバ210の出力であるリード用カラム選択信号PYR0,PYR1・・・に基づいてリード用データラインPRLINEに供給される。また、検査ビット用メモリアレイ209に書き込むべきライトデータ(検査ビット)は、ライト用カラム選択ドライバ211の出力であるライト用カラム選択信号PYW0,PYW1・・・に基づいてライト用データラインPWLINEから供給される。この点、図1に示した半導体記憶装置100と同様である。
情報ビット用メモリアレイ201に対して設けられたリード用データラインIRLINE及びライト用データラインIWLINEのビット幅はkビットである。一方、検査ビット用メモリアレイ209に対して設けられたリード用データラインPRLINE及びライト用データラインPWLINEのビット幅はmビットである。これらデータラインIRLINE,IWLINE,PRLINE、PWLINEはいずれも入出力回路230に接続されている。
入出力回路230は、リード用データラインIRLINEとマルチプレクサ217との間に設けられた符号化回路207、検査回路208、訂正回路215を備えている。符号化回路207は、kビットの情報ビットからmビットの検査ビットを生成する回路である。検査回路208は、符号化回路207によって生成された検査ビットと、リード用データラインPRLINEを介して検査ビット用メモリアレイ209から読み出された検査ビットとを照合する回路である。訂正回路215は、検査回路208の検査結果に基づいて情報ビットを訂正することにより、誤りを含む情報ビットを正しい内容に訂正する回路である。訂正回路215によって訂正された情報ビットは、マルチプレクサ217を介してリードバスRBUSに供給されるとともに、ミキサ220に供給される。
ミキサ220は、情報ビット用メモリアレイ201から読み出され、訂正された情報ビットが一時的に格納されるとともに、ライトバスWBUSを介して入力されたライトデータによってこれを上書きする回路である。ライトデータによる情報ビットの上書きは、ライト用バイトマスク信号DMによって、バイト単位で行うことができる。つまり、情報ビットが複数バイトであっても、1バイト単位で部分的な上書きが可能である。
ミキサ220の出力は、ライトバッファ221を介してライト用データラインIWLINEに供給される。また、ミキサ220の出力は、符号化回路222にも供給され、これによってkビットの情報ビットからmビットの検査ビットが生成される。生成された検査ビットは、ライトバッファ223を介してライト用データラインPWLINEに供給される。さらに、ミキサ220の出力は、レジスタ216にも供給される。レジスタ216の出力はマルチプレクサ217に供給される。
その他の構成は、図1に示した半導体記憶装置100と類似していることから、詳細な説明は省略する。
本実施形態では、アドレスの一致によってアドレス遷移検出信号IATが活性化する。アドレス遷移検出信号IATは、情報ビットを制御する際に用いるアドレス遷移検出信号であり、遅延アドレス遷移検出信号IATDは、訂正されたデータをリードバスRBUSに出力するタイミングを決める信号である活性化信号IRAEPDに合わせて、アドレス遷移検出信号IATを遅延させた信号である。また、アドレス遷移検出信号PATは、検査ビットを制御する際に用いるアドレス遷移検出信号である。動作のタイミングはそれぞれ異なるが、根幹となる信号は図5に示した検出回路130aを用いることができる。すなわち、通常はIAT,PAT="H"であるが、WRITE to READ動作で、READサイクルのアドレスがWRITEサイクルと同一な場合か、もしくは、WRITE to WRITE動作で、両WRITEサイクルのアドレスが同一な場合、IAT,IATD,PAT="L"となる。
ここで、通常の動作、すなわち、アドレス遷移検出信号IAT,IATD,PATがいずれも"H"である場合の動作について説明する。
まずリードサイクルを説明する。リードサイクルでは、リード動作のみを行う。つまり、情報ビット用メモリアレイ201に対し、ドライバ202によってリード用カラム選択線IYRを駆動し、リード用データラインIRLINEにkビットの情報ビットデータを読み出す。読み出された情報ビットは、活性化信号IRAEPに同期してリードアンプ204で増幅され、保持回路205に保持される。さらに、符号化回路207によってkビットの情報ビットデータをmビットの符号ビットデータに変換する。
一方、検査ビット用メモリアレイ209に対して、ドライバ210によってリード用カラム選択線PYRを駆動し、リード用データラインPRLINEにmビットの検査ビットデータを読み出す。読み出された検査ビットは、活性化信号PRAEPに同期してリードアンプ212で増幅され、保持回路214に保持される。ここで、検査ビット用のカラム選択線PYRの駆動タイミングと、リードアンプ212の活性タイミングは、情報ビット用のそれらより、符号化回路207による符号化時間分遅らせる。これにより、符号化回路207によって生成された検査ビットと、検査ビット用メモリアレイ209から読み出された検査ビットが、検査回路208にほぼ同時に到達する。
検査回路208はこれら2つの検査ビットを用いて演算し、k個のエラービット位置データ、いわゆるシンドロームを割り出す。得られたシンドロームは、訂正回路215に供給される。訂正回路215は、保持回路205に保持されている情報ビットデータと、検査回路から供給されるシンドロームを用いて演算を行い、情報ビットデータに含まれている誤りを訂正し、訂正データRRDを出力する。このとき、信号線HDATAには、活性化信号IRAEPDに同期して何らかのデータが現れているが、遅延アドレス遷移検出信号IATD="H"のため、マルチプレクサ217は入力1側を選択する。このため、マルチプレクサ217は、訂正データRRDを信号線RBUSPに出力する。
尚、遅延アドレス遷移検出信号IATDが変化する場合は、活性化信号IRAEPDと同じタイミングで変化するよう設計される。ANDゲート219は、信号線RBUSP上のデータをリードバスRBUSに出力するか否かを決める回路であり、活性化信号IRAEPDと信号REDによって信号IRAEDを生成する。また、リード用バイトマスク信号QMによって、1バイト単位の読み出しも可能としてある。信号REDは、リード状態フラグを活性化信号IRAEPDに合わせて遅らせた信号であり、この場合RED="H"であり、リードマスク情報QMに従いながら、信号線RBUSPのデータを活性化信号IRAEPDに同期してリードバスRBUSに必要なバイト数のデータを出力する。なお、活性化信号IRAEPDの活性化タイミングは、情報ビット用のリードアンプ204の活性化タイミングより、符号化回路207による符号化時間と、検査回路208による検査時間と、訂正回路215による訂正時間との合計時間分遅らせる必要がある。このようにして、訂正された情報ビットデータがリードバスRBUSに出力される。
次にライトサイクルを説明する。ライトサイクルにおいては、まずリード動作を行い、次にライト動作を行う。リード動作の詳細については上述の通りであり、訂正された情報ビットデータを、マルチプレクサ217を経由して、信号線RBUSPに出力する。但し、ライトサイクルにおいてRED="L"となることから、ANDゲート219の出力はLレベルであり、トライステートバッファ218が非活性となる。したがって、リードデータはリードバスRBUSには出力されない。
続くライト動作においては、ライトバッファ起動信号IWBEに同期して、ライトバスWBUSから供給されるライトデータをミキサ220に取り込む。また、信号線RBUSPからは先のリード動作で訂正したデータがミキサ220に供給される。ミキサ220は、データマスク情報DMに従ってこれらを混合し、信号線IWDにk個の情報ビットデータを出力する。出力された情報ビットデータは、レジスタ216に保持される。信号線RBUSPからミキサ220にデータを取り込むにためは、保持回路205,214はそれまでデータを保持しなければならず、1サイクル保持タイプの回路構成とすることが望ましい。また、ミキサ220は、直後にリードサイクルを行う場合、保持回路216にデータを渡さなければならない。このため、ミキサ220は1サイクル保持タイプの回路構成を有している。
続いて、ライトバッファ221によって、k個の情報ビットデータを情報ビットメモリアレイ201に書き込む。一方、符号化回路222は、信号線IWD上のk個の情報ビットデータを符号化してm個の符号ビットデータを生成する。生成された符号ビットデータ(検査ビット)は、ライトバッファ223により、ライトバッファ起動信号PWBEに同期して検査ビットアレイ209に書き込まれる。ここで検査ビット用のライトバッファ223の活性タイミングは、情報ビットのそれに対して、符号化回路222による符号化時間分遅らせる必要がある。このようにして、データマスクによって制限されるビット数より多くの情報ビットを用いて符号化書き込みを行うことが可能となる。
ところで、符号化回路207と符号化回路222は、符号理論から、同一論理の回路構成を採ることができる。したがって、符号化回路207と符号化回路222を全く同一のレイアウトとすれば、遅延時間が一致することから、タイミング設計が容易になる。すなわち、検査ビット用アレイ209の制御タイミングを、情報ビット用アレイ201の制御タイミングに対して、符号化回路207の符号化時間(=符号化回路222の符号化時間)分、一律に遅らせればよくなる。
さらに言えば、検査ビット用アレイ209のワード線制御部(図示せず)と、情報ビット用アレイ201のワード線制御部(図示せず)と別回路とし、ACTタイミング及びPREタイミングについても符号化回路207の符号化時間(=符号化回路222の符号化時間)分遅らせルことが好ましい。これによれば、符号化回路222の符号化時間だけPRE動作に食い込む書き込み時間を帳消しに出来る。こう考えると、情報ビット用アレイ201のリード動作制御系を内部クロックICLKに同期させた場合、データ出力および情報ビット用アレイ201のライト動作制御系に対しては、内部クロックICLKよりリードアンプ204の増幅に用いる時間と、「符号化」→「検査」→「訂正」に要する時間を加算した時間分遅らせた内部クロックICLKDを用いればよい。また、検査ビット用アレイ209のリード動作制御系に対しては、内部クロックICLKより「符号化」時間分遅らせた内部クロックPCLKを用いればよい。さらに、検査ビット用アレイ209のライト動作制御系に対しては、内部クロックPCLKよりリードアンプ212の増幅に用いる時間と「符号化」→「検査」→「訂正」に要する時間を加算した時間分遅らせた内部クロックPCLKDを用いればよい。図示はしないが、検査ビット用アレイ209のワード線制御部は、情報ビット用アレイ201より、符号化回路207の符号化時間(=符号化回路222の符号化時間)分、遅らせればよい。これによれば、各回路の動作を容易に同期させることが可能となる。
図14は、WRITE to READ動作で、リードサイクルのアドレスがライトサイクルと同一な場合の動作タイミングを示すタイミング図である。図14ではSDR(SIngle Data Rate)の場合を想定している。DDR(Double Data Rate)でも、レイテンシを考慮して同様な設計をすれば、同様に動作させることが可能である。
まず、時刻t1にライトコマンドを投入すると、メモリセルアレイは同じく時刻t1にライトサイクル要求を受け、ライトサイクル、すなわち、リード動作及びライト動作の順に行う。まずはリード動作を始める。情報ビットに関しては、内部クロックICLKに同期してカラム選択信号IYR0を駆動し、情報ビットデータIRをビット線対IBL0からリード用データラインIRLINEに読み出す。そして、活性化信号IRAEPが内部クロックICLKのアクティブエッジから増幅待ち時間dだけ待って立ち上がり、保持回路205に保持する。
一方、検査ビットに関しては、内部クロックICLKのアクティブエッジを符号化時間aだけ遅らせた内部クロックPCLKに同期してカラム選択信号PYR0を駆動し、検査ビットデータPRをビット線対PBL0からリード用データラインPRLINEに読み出す。そして、活性化信号PRAEPが内部クロックPCLKから増幅待ち時間dだけ待って立ち上がり、保持回路214に保持する。
そして、保持回路205に保持された情報ビットデータは、符号化時間aを経過後、保持回路214に保持された検査ビットデータと合流し、検査時間b、訂正時間cの後、信号線RRDに訂正データRとして読み出される。この場合、アドレス遷移検出信号IATD="H"のため、訂正データRは信号線RBUSPまで読み出され、ミキサ20に供給される。尚、内部クロックICLKをd+(a+b+c)だけ遅らせた内部クロックICLKDに同期して出力タイミング信号IRAEPDが立ち上がるが、今はライトサイクルなので信号IRAEDは立ち上がらず、このため、訂正データRはリードバスRBUSには出力されない。一方、信号IRAEPDによって信号線HDATAに信号線IWD上のデータが保持されているが、これは不要データである。
続いてライト動作を始める。情報ビットに関しては、内部クロックICLKDに同期して、ライトバッファ起動信号IWBEを立ち上げ、ライトバスWBUSからライトデータWを取り込み、信号線RBUSPからは先ほど読み出した訂正データRを取り込み、これらをミキサ220にて混合する。つまり、訂正データRにライトデータWを上書きする。この時、上書き動作はデータマスク情報DMに従って行われる。つまり、データマスクが指示されていない場合には、訂正データRの全ビットにライトデータWを上書きするが、データマスクが指示されている場合には、訂正データRのうちマスクされてないビット対してライトデータWを上書きする。このようにして混合された書き込み用情報ビットIWは、信号線IWDに出力され、レジスタ216に保持される。また、信号線IWD上の書き込み用情報ビットIWは、ライトバッファ221を介してライト用データラインIWLINEに供給され、カラム選択信号IYW0の活性化に応答してビット線IBL0に書き込まれる。また、信号線IWD上の書き込み用情報ビットIWは符号化回路222にも供給され、これにより検査ビットPWが生成される。検査ビットPWは、ライトバッファ223を介してライト用データラインPWLINEに供給され、カラム選択信号PYW0の活性化に応答してビット線PBL0に書き込まれる。尚、検査ビットPWは、情報ビットIWに対して符号化時間aだけ遅れるので、内部クロックPCLKをd+(a+b+c)だけ遅らせた内部クロックPCLKDに同期したライトバッファ活性信号PWBEによってライト用データラインPWLINEに書き込まれる。
次に、時刻t2にリードコマンドを投入すると、メモリセルアレイは同じく時刻t2にリードサイクル要求を受け、リード動作を始める。情報ビットに関しては、内部クロックICLKに同期してカラム選択信号IYR0を立ち上げようとするが、アドレス遷移検出信号IATD="L"のため、カラム選択信号IYRは全て非活性に保たれる。つまり、現在、前サイクルのライト動作で情報ビットIWを書き込み中であるが、それを読み出すことはない。続いてリードアンプ活性タイミング信号IRAEPによってリードアンプ活性信号IRAEを立ち上げようとするが、アドレス遷移検出信号IATD="L"のためリードアンプ204は活性化しない。このため、リードアンプ204が無駄な電流を消費することはない。
一方、検査ビットに関しては、内部クロックPCLKに同期してカラム選択信号PYR0を立ち上げようとするが、アドレス遷移検出信号PAT="L"のため、カラム選択信号PYRは全て非活性に保たれる。つまり、現在、前サイクルのライト動作で検査ビットPWを書き込み中であるが、それを読み出すことはない。続いてリードアンプ活性タイミング信号PRAEPによってリードアンプ活性信号PRAEを立ち上げようとするが、アドレス遷移検出信号PAT="L"のため、リードアンプ212は活性化しない。このため、リードアンプ212が無駄な電流を消費することはない。
このように、情報ビットも検査ビットもメモリアレイからは読み出されない。そして、内部クロックICLKDに同期して出力タイミング信号IRAEPDを立ち上げ、信号線IWDに保持されている、前サイクルに書き込みに用いた情報ビットをレジスタ216に取り込む。これにより、信号線HDATAには前サイクルに書き込みに用いた情報ビットが現れる。そして、マルチプレクサ217は入力0側を選択し、信号線HDATA上の情報ビットをリードバスRBUSに出力する。ここで信号線IWD上のデータは、スタティックラッチで保持されているデータなので、エラーが生じるとは考えにくく、特に訂正を行う必要はない。
このように、本実施形態によれば、ECC回路内蔵DRAMにおいて、どのようなアクセスが要求された場合であっても、サイクル時間を律速することなくECC動作を実現できる。しかも、ライト動作が要求された場合、データマスクがされている場合であっても、データマスクが無い場合と同じビット数の情報ビットを読み出し、これにライトデータを部分的に上書きしていることから、符号化を行う情報ビット数が多くなる。このため、情報ビット数に対して必要な検査ビット数の割合は小さくなり、メモリセルアレイの規模増大を抑制することも可能となる。但し、第1の実施形態においても述べたように、演算時間だけメモリセルアレイに対する書き込みが遅れるので、ライトコマンド後にプリチャージコマンド投入可能時刻を決めるスペックtDPL(tWR)に対して、動作が厳しくなることに言及しておく。また、アクセス時間tAAも符号化時間分遅れる。
次に、本発明の好ましい第6の実施形態について説明する。
本実施形態は、上述した第5の実施形態による半導体記憶装置と基本的な回路構成(図13参照)は同じであるが、第2の実施形態において述べたように、近年のDRAMのライトレイテンシを考慮して、スペックtDPL(tWR)を犯さない構成としている。本実施形態では、第5の実施形態に対し、各信号の基準クロックに変更が必要となる。なお、以下で特には説明しないが、バイトマスクに対する対処は第5の実施形態と同様である。
情報ビット用アレイ201のリード動作制御系は内部クロックICLK、データ出力は、内部クロックICLKよりリードアンプ204増幅時間と「符号化」→「検査」→「訂正」に要する時間分遅らせた内部クロックICLKD、検査ビット用アレイ209のリード動作制御系は、内部クロックICLKより「符号化」時間分遅らせた内部クロックPCLKを用いる。ここまでは第5の実施形態と同じであるが、情報ビット用アレイ201のライト動作制御系には内部クロックICLK、検査ビット用アレイ209のライト動作制御系には内部クロックPCLKを用いる。また、アドレス遷移検出信号IAT,IATD,PATの根幹となる信号は図8に示した検出回路130bを用いることができる。すなわち、通常は"H"だが、「WRITE to WRITE動作で、両WRITEサイクルのアドレスが同一な場合」にLレベルとなる信号である。また、信号線RBUSPからミキサ220がデータを取り込むのは1サイクル後なので、保持回路205,214は、1サイクル保持タイプの回路にする必要がある。
図15は、WRITE to WRITE動作で、これらライトサイクルのアドレスが同一の場合の動作タイミングを示すタイミング図である。図15ではDDR1型のDRAMを想定している。
まず、時刻t1にライトコマンドを投入すると、メモリセルアレイは、通常時刻t3にライトサイクル要求を受けるのであるが、リード動作は時刻t2から始めても問題ないため、時刻t2からライトサイクル、すなわち、時刻t2のリード動作後に時刻t3のライト動作を始めるように設計する。この場合、図8に示した検出回路130bも、時刻t2を原点に動作することに言及しておく。
まずはリード動作を始める。情報ビットに関しては、内部クロックICLKに同期してカラム選択信号IYR0を駆動し、情報ビットデータIR0をビット線対IBL0からリード用データラインIRLINEに読み出す。そして、リードアンプ活性タイミング信号IRAEPを内部クロックICLKのアクティブエッジから増幅待ち時間dだけ待って立ち上げ、保持回路205に保持する。
一方、検査ビットに関しては、内部クロックICLKを符号化時間aだけ遅らせた内部クロックPCLKに同期して、カラム選択信号PYR0を駆動し、検査ビットデータPRをビット線対PBL0からリード用データラインPRLINEに読み出す。そして、リードアンプ活性タイミング信号PRAEPを内部クロックPCLKから増幅待ち時間dだけ待って立ち上げ、保持回路214に保持する。
そして、保持回路205に保持された情報ビットデータは、符号化時間aを経過した後、保持回路214に保持されている検査ビットデータと合流し、検査時間b、訂正時間cが経過した後、信号線RRDに訂正データR0として読み出される。この場合、IATD="H"のため、訂正データR0は信号線RBUSPまで読み出される。なお、内部クロックICLKをd+(a+b+c)だけ遅らせた内部クロックICLKDに同期して出力タイミング信号IRAEPDが立ち上がるが、今はライトサイクルなのでIRAEDは立ち上がらず、したがって、訂正データR0はリードバスRBUSには出力されない。一方、信号IRAEPDによって信号線HDATAに信号線IWD上のデータが保持されているが、これは不要データである。
続いて、時刻t3にライト動作を始める。情報ビットに関しては、時刻t3内部クロックICLKに同期してライトバッファ起動信号IWBEを立ち上げ、ライトバスWBUSからライトデータW0をミキサ220に取り込む。一方、信号線RBUSPからは、先ほど読み出した訂正データR0をミキサ220に取り込む。そして、ミキサ220にてこれらを混合し、得られた書き込み用情報ビットIW0を信号線IWDに出力する。書き込み用情報ビットIW0は、ライトバッファ221によってライト用データラインIWLINEに供給され、カラム選択信号IYW0に同期してビット線対IBL0に書き込まれる。一方、書き込み用情報ビットIW0は符号化回路222にも供給され、これよって、符号化時間aだけ遅れてmビットの検査ビットPW0が生成される。生成された検査ビットPW0は、内部クロックPCLKに同期したライトバッファ活性信号PWBEに同期して、ライトバッファ223によってライト用データラインPWLINEに供給され、カラム選択信号PYW0に同期してビット線対PBL0に書き込まれる。
通常は、時刻t2にライトコマンドを投入すると、メモリセルアレイは、時刻t4にライトサイクル要求を受けるのだが、時刻t3からライトサイクル、すなわち、時刻t3のリード動作後に時刻t4のライト動作を始める。アドレス遷移検出信号IATも、時刻t3を原点に動作することに言及しておく。
まずはリード動作を始める。情報ビットに関しては、時刻t3の内部クロックICLKに同期してカラム選択信号IYR0を駆動しようとするが、IATD="L"のため駆動しない。現在、ビット線対IBL0は、先のライトサイクルのライト動作を行っているが、そのデータを読むことは無い。続いて、リードアンプ活性タイミング信号IRAEPが時刻t3の内部クロックICLKから増幅待ち時間dだけ待って立ち上がるが、IATD="L"のため活性化信号IRAEが立ち上がることは無く、リードアンプ204は活性化しない。このため、リードアンプ204が無駄な増幅電流を流すことはない。
一方、検査ビットに関しては、内部クロックICLKを符号化時間aだけ遅らせた時刻t3の内部クロックPCLKに同期してカラム選択信号PYR0を駆動しようとするが、PATD="L"のため駆動しない。現在、ビット線対PBL0は、先のライトサイクルのライト動作を行っているが、そのデータを読むことは無い。続いて、リードアンプ活性タイミング信号PRAEPが時刻t3の内部クロックPCLKから増幅待ち時間dだけ待って立ち上がるが、PATD="L"のため活性化信号PRAEが立ち上がることは無く、リードアンプ212は活性化しない。このため、リードアンプ212が無駄な増幅電流を流すことはない。
このように、情報ビットも検査ビットもメモリアレイ201,209からは読み出さない。
そして、時刻t3の内部クロックICLKDに同期して出力タイミング信号IRAEPDが立ち上がり、信号線IWDに保持されている、前サイクルに書き込みに用いた情報ビットデータIW0をレジスタ216に取り込み、信号線HDATAに出力する。そして、内部クロックICLKDに同期したアドレス遷移検出信号IATDが"L"レベルであることから、マルチプレクサ217は入力0側を選択し、信号線HDATA上のデータを信号線RBUSPに出力する。
続いて、時刻t4にライト動作を始める。情報ビットに関しては、時刻t4の内部クロックICLKに同期して、ライトバッファ起動信号IWBEを立ち上げ、ライトバスWBUSからライトデータW1を取り込み、ミキサ220に供給する。一方、信号線RBUSPからは、先ほどリードデータとみなした信号IW0をミキサ220に取り込む。そして、ミキサ220はこれらを混合し、得られた書き込み用情報ビットIW1を信号線IWDに出力する。出力された書き込み用情報ビットIW1は、ライトバッファ221によってライト用データラインIWLINEに供給され、カラム選択信号IYW0に同期してビット線対IBL0に書き込まれる。
一方、書き込み用情報ビットIW1は符号化回路222にも供給され、これよって、符号化時間aだけ遅れてmビットの検査ビットPW1が生成される。生成された検査ビットPW1は、時刻t4の内部クロックPCLKに同期したライトバッファ活性信号PWBEに同期して、ライトバッファ223によってライト用データラインPWLINEに供給され、カラム選択信号PYW0に同期してビット線対PBL0に書き込まれる。
このように、本実施形態においても、どのようなアクセスが要求された場合であっても、サイクル時間を律速することなくECC動作を実現できる。しかも、本実施形態では、第2の実施形態と同様、スペックtDPL(tWR)を犯すことはない。但し、アクセス時間tAAは符号化時間分遅れる。
次に、本発明の好ましい第7の実施形態について説明する。
上述した第3の実施形態のように、ライト要求とリード要求が同時に行われる可能性のある半導体記憶装置として、デュアルポートメモリが挙げられる。本実施形態は、本発明をデュアルポートメモリに適用した場合のより具体的な実施形態である。
デュアルポートメモリとは、入出力ポートを2系統有し、両ポートから同時に、同じメモリ空間にアクセスできるメモリで、CPUや周辺コントローラなど、メモリに直接アクセスしたり、バッファ領域をランダムにアクセスする必要があるようなデバイス同士が通信する際に、データ受け渡しの仲介役として用いられる。従来のデュアルポートメモリは、主にSRAMが用いられていたが、これをDRAMで実現する方法が特許文献2で提案されている。
図16は、特許文献2にて提案されているデュアルポートメモリの主要部の構成を示す回路図である。
図16に示すDRAMメモリセル301は、ワード線WD0aによって選択されるトランスファーゲート302と、ワード線WD0bによって選択されるトランスファーゲート303で共有されている。トランスファーゲート302はメモリセル301をセンスアンプ304に接続するスイッチであり、トランスファーゲート303はメモリセル301をセンスアンプ305に接続するスイッチである。センスアンプ304のデータは、カラム選択信号YS0aによって入出力ポート(PORT1)306につながり、センスアンプ305のデータは、カラム選択信号YS0bによって入出力ポート307(PORT2)につながる。つまり、それぞれの入出力ポート306,307に対してセンスアンプがそれぞれ割り当てられている。
このような構成とすれば、同一アドレスに対する異なるデータのライト動作以外は、ロウアクセス、カラムアクセスとも自由に行うことができることから、各入出力ポートから独立に同一メモリアレイに対してアクセスすることができる。但し、メモリセルがDRAMセルであることから、ワード線を立ち上げてからセンスアンプを活性化させるまでの初期読み出し期間はノイズに弱い。このため、大きな隣接ノイズが発生すると、データが反転するおそれがある。しかしながら、図16に示すデュアルポートメモリは、ワード線WD0aが選択されてからセンスアンプ304が活性化するまでの間に、すでに活性状態にあるセンスアンプ308に対してライト動作が行われると、センスアンプ304には大きな隣接ノイズが加わることから、センスアンプ304は誤データを増幅してしまうであろう。このような問題を解消するためには、センスアンプ308に対するライト動作をセンスアンプ304の増幅が完了するまで待たせる必要がある。
このように、特許文献2に記載されたデュアルポートメモリでは、DRAMメモリセル特有のノイズ対策と必要になり、スムーズなクロック同期動作が行えなくなるか、クロックサイクルを大幅に伸ばす必要が出てくる。また、ワード線、ビット線、センスアンプとも、ポートの数だけ有する必要があり、メモリアレイはほぼ2倍になってしまう。
本実施形態はこのような問題を解決すべく、デュアルポートメモリの定義を少し緩めた疑似的なデュアルポート構成を採ることによって、クロックサイクルを保持しつつ、適度なデュアルポートアクセスを行えるデュアルポートメモリを提供するものである。
デュアルポートメモリを介したデータの授受は、一方のポートがコントローラデバイスにつながり、他方のポートが出力デバイスにつながる場合が多い。このような場合は、コントローラデバイス側は主にライト動作を行い、出力デバイス側は主にリード動作を行う。したがって、このような使用形態においては、ライト動作とリード動作を同時に実行できることが重要と考えられる。
本実施形態では、同一のロウアドレスに対して、リード動作とライト動作を同時に実行できるメモリを提供する。リード動作とライト動作を同時に実行可能なアドレスを同一ロウアドレスに絞ることによって、マルチアクセス時期をセンスアンプ増幅後のみにすることができ、DRAMの初期読み出し動作におけるノイズの影響などを考慮する必要がなくなる。また、フルページ分のデータを対象とできるので、アクセス方法を工夫すればヒット確率も上がるであろう。具体的には次のようにデュアルポートメモリを構成する。前記の通り、第3の実施形態はリード動作とライト動作を同時に実行可能なメモリコアを与える。このメモリコアに対し、ライトパスをデュアルポートで共有する調停回路と、リードパスをデュアルポートで共有する調停回路を付加する。調停のしかたは、一方のポートがライトパスに割り当てられる場合は、もう一方のポートはリードパスに割り当てるものとする。これにより、ライトパスとリードパスの同時動作という形で、デュアルポートのリード動作とライト動作の同時動作が実現できる。
図17は、本発明の好ましい第7の実施形態による半導体記憶装置400の主要部の構成を示す回路図である。本実施形態による半導体記憶装置400はDRAMである。
図17に示すように、アレイまわりのデータのコントロールは上述した第3の実施形態と同じであり、ライト動作用のライトバスWBUSと、リード動作用のリードバスRBUSを、PORT1とPORT2が共有する構成を有している。アドレス遷移検出信号AT,ATDは、図9に示した検出回路120cを用いることができる。つまり、ライト要求とリード要求を同時に受け付け、かつ、リード用アドレスとライト用アドレスが一致するときのみ、アドレス遷移検出信号AT,ATDは"L"となる。これにより、第3の実施形態と同様、ライト要求とリード要求を同じアドレスで受け入れた際は、ライトデータをアレイに書き込むとともに、当該ライトデータをリードデータとして返す構成となる。
各ポートデータの振り分けは次のように行う。尚、図17において、サフィックスaが付された信号はPORT1用の信号であり、サフィックスbが付された信号はPORT2用の信号である。
まずライト動作系に関して説明する。PORT1がライト動作であり、PORT2がライト動作ではないときは、トライステートバッファ401のゲートが開き、PORT1のライトデータがライトバスWBUSに供給される。逆に、PORT1がライト動作ではなく、PORT2がライト動作であるときは、トライステートバッファ402のゲートが開き、PORT2のライトデータがライトバスWBUSに供給される。このようにして、各ポートからのライトデータを共通のライトバスWBUSに乗せ分ける。保持回路403は、いずれもポートからのライトデータであっても保持する必要があることから、ライトバッファ活性信号WBEa,WBEbの排他的論理和出力に応じて動作する。
次にリード動作系に関して説明する。リードアンプ405及び保持回路406は、PORT1がリード動作であり、PORT2がリード動作ではないとき、もしくは、PORT1がリード動作ではなく、PORT2がリード動作であるときのどちらかで活性化しなければならないので、活性化信号RAEPa,RAEPbの排他的論理和出力によって活性化する。保持回路407も、活性化信号RAEPa,RAEPbの排他的論理和出力によって活性化する。そして、マルチプレクサ408で入力1側及び入力0側のどちらかを選び、選択された側の信号をリードバスRBUSに供給する。そして、PORT1がリード動作であり、PORT2がリード動作ではないときは、トライステートバッファ409を介してPORT1側に出力し、逆に、PORT1がリード動作ではなく、PORT2がリード動作であるときは、トライステートバッファ410を介してPORT2側に出力する。
なお、PORT1とPORT2のアドレスは、選択回路411を用いてリード動作用アドレスIARとライト動作用アドレスIAWに分けて使用する。また、PORT1とPORT2のアドレスは、アドレス遷移検出信号ATを生成する際にも使用する。なお、本実施形態では、動作できない組み合わせである、PORT1とPORT2における同時ライト動作や、PORT1とPORT2における同時リード動作は受け付けない。その代わり、本実施形態では検出回路12を備えており、PORT1とPORT2における同時ライト動作が要求された場合は信号WFBDNを活性化させ、PORT1とPORT2における同時リード動作が要求された場合は信号RFBDNを活性化させ、さらに、アドレス遷移検出信号が"L"となった場合は信号ATBMONを活性化させる。これらの信号を利用すれば、書けなかったデータをもう一度書いたり、読めなかったデータをもう一度読んだり、といった制御もできるであろう。
尚、本発明による半導体記憶装置におけるモリセルアレイの構成が図16に示した構成であってはならない訳ではなく、図16に示したメモリセルアレイを用いることも可能である。以下の実施形態に関しても同様である。
次に、本発明の好ましい第8の実施形態について説明する。
本実施形態は、上述した第7の実施形態をさらに発展させ、同一のロウアドレスに対するリード及びライトの同時動作に加えて、異なるアドレスを指定したPORT1とPORT2における同時ライト動作、並びに、PORT1とPORT2における同時リード動作が可能なデュアルポートメモリを提供するものである。第3の実施形態の展開例のひとつとなる。
上述した第7の実施形態では、データ線およびカラム選択信号をライト動作用とリード動作用に分けていたが、本実施形態ではこれをPORT1用とPORT2用に分ける。具体的には次のようにデュアルポートメモリを構成する。前記の通り、第3の実施形態はリード動作とライト動作を同時に実行可能なメモリコアを与える。PORT1がライト動作、PORT2がリード動作の場合に同時動作が可能なよう、第3の実施形態のメモリコアのライトパスをPORT1に割り当て、リードパスをPORT2に割り当てる。さらに、PORT1がライト動作、PORT2がライト動作の場合に同時動作が可能なよう、PORT2側にライト機能を付加し、データラインをI/Oとする。仮に、この構成をAと呼ぶとする。一方、PORT2がライト動作、PORT1がリード動作の場合に同時動作が可能なよう、第3の実施形態のメモリコアのライトパスをPORT2に割り当て、リードパスをPORT1に割り当てる。さらに、PORT2がライト動作、PORT1がライト動作の場合に同時動作が可能なよう、PORT1側にライト機能を付加し、データラインをI/Oとする。仮に、この構成をBと呼ぶとする。構成Aと構成Bを重ね合わせると、第3の実施形態を、2種、同時に内在させた形で、PORT1とPORT2に分かれている構成を得ることができる。
図18は、本発明の好ましい第8の実施形態による半導体記憶装置500の主要部の構成を示す回路図である。本実施形態による半導体記憶装置500はDRAMである。
図18に示すように、PORT1を用いたライト動作時には、保持回路501でライトデータを取り込み、ライトバッファ502によってI/OラインLIOaにライトデータを供給する。PORT1を用いたリード動作時には、I/OラインLIOaを介して供給されたリードデータをリードアンプ503で増幅し、保持回路504で保持し、マルチプレクサ506で選択した後、トライステートバッファ507から出力する。これらをPORT1内で独立したタイミングで行う。但し、PORT1のリード動作がPORT2のライト動作と同じアドレスで重なったときは、PORT2のライトデータをPORT1のリードデータとして利用する必要がある。この場合には、保持回路504ではなくPORT2側の保持回路508に保持されたデータをマルチプレクサ506によって選択する。したがって、PORT2側の保持回路508は、PORT1系のタイミングで動作する必要がある。以上の説明は、PORT2側についても同様であるので、重複する説明は省略する。
このため、カラム選択ドライバ509、リードアンプ503、マルチプレクサ506を制御するアドレス遷移検出信号ATa,ATbは、図19に示す検出回路130eによって生成される。図19に示す検出回路130eは、PORT1がリード、PORT2がライトであり、且つ、PORT1のアドレスとPORT2のアドレスが同一である場合、アドレス遷移検出信号ATaをLレベルとする。同様に、PORT1がライト、PORT2がリードであり、且つ、PORT1のアドレスとPORT2のアドレスが同一である場合、アドレス遷移検出信号ATbをLレベルとする。
アドレス遷移検出信号ATaが"L"である場合には、PORT1のカラム選択信号およびリードアンプ503は駆動されず、PORT2のライトデータをPORT1のリードデータとして代用する。PORT2のライト動作については通常通り行う。同様に、アドレス遷移検出信号ATbが"L"である場合には、PORT2のカラム選択信号およびリードアンプは駆動されず、PORT1のライトデータをPORT2のリードデータとして代用する。PORT1のライト動作については通常通り行う。
本実施形態によるデュアルポートメモリは、検出回路510を備えている。検出回路510は、禁止された組み合わせである、同一アドレスを指定したPORT1とPORT2における同時ライト動作が要求された場合に活性化する信号WFBDNと、ATa,ATbのいずれかが"L"となった場合に活性化する信号ATBMONを生成する。これらの信号を利用すれば、書けなかったデータをもう一度書くといった制御もできるであろう。尚、図18に示した回路図では、禁止されたアクセスが要求された際は動作しないよう考慮されている。
本実施形態では、同一アドレスを指定したPORT1とPORT2における同時リード動作は禁止されていない。しかしながら、リード動作によって得られる信号量が、一方のリード動作分の信号量しか保障できない場合は、図20に示すように、一方のポートに対応したリード動作のみを行い、得られたリードデータをPORT1とPORT2で共有することが好ましい。
図20に示す回路では、同一アドレスのリード動作同士の組み合わせの際には、PORT2は通常通りリード動作を行う。一方、PORT1側は、マルチプレクサ521を通じてPORT2のリードデータを受け取り、一方、アドレス遷移検出信号ATRRによって、PORT1用のカラム選択ドライバ522を止め、PORT1用のリードアンプ523の活性化も禁止する。アドレス遷移検出信号ATRRは、図21に示す検出回路130fによって生成することができる。アドレス遷移検出信号ATRRDは、アドレス遷移検出信号ATRRをリードアンプ増幅タイミングまで遅らせた信号である。
次に、本発明の好ましい第9の実施形態について説明する。
第4の実施形態では、ライト要求とリード要求を同じアドレスで受け付けた際は、まずメモリセルアレイに記憶されているデータをリードし、その後、ライトデータを書き込んでいる。これを利用して、本実施形態は、同一ロウアドレスに対し、リード動作とライト動作を同時に実行できるデュアルポートメモリを提供するものである。具体的には次のようにデュアルポートメモリを構成する。前記の通り、第4の実施形態もリード動作とライト動作を同時に実行可能なメモリコアを与える。このメモリコアに対し、ライトパスをデュアルポートで共有する調停回路と、リードパスをデュアルポートで共有する調停回路を付加する。調停のしかたは、一方のポートがライトパスに割り当てられる場合は、もう一方のポートはリードパスに割り当てるものとする。これにより、ライトパスとリードパスの同時動作というかたちで、デュアルポートのリード動作とライト動作の同時動作が実現できる。
具体的な回路構成は、図17に示した第7の実施形態によるデュアルポートメモリと同一であり、アドレス遷移検出信号ATは図11に示した検出回路130dを用いる。この場合、WRITE to READ動作でライト動作時のアドレスとリード動作時のアドレスが同じときにAT="L"となり、第4の実施形態で述べた回避動作を行う。このため、サイクル時間tCKを律速せずに、まず書かれているデータをリードし、後にデータをライトする動作を実現できる。なお、本動作は、リードアンプ活性待ち時間分、アレイに対する書き込みが遅れるので、ライトコマンド後にプリチャージコマンド投入可能時刻を決めるスペックtDPL(tWR)に対して、動作が厳しくなることは、第4の実施形態と同様である。
次に、本発明の好ましい第10の実施形態について説明する。
本実施形態は、上述した第9の実施形態をさらに発展させ、同一ロウアドレスに対するリード動作とライト動作の同時動作に加えて、リード動作とリード動作の同時動作、および、異なるアドレス間のライト動作とライト動作の同時動作ができるデュアルポートメモリを提供するものである。第4の実施形態の展開例のひとつとなる。
上述した第9の実施形態では、データ線およびカラム選択信号をライト動作用とリード動作用に分けていたが、本実施形態ではライト動作用とリード動作用のセットを、もう1セット用意し、これらをPORT1用とPORT2用にそれぞれ使い分ける。具体的には次のようにデュアルポートメモリを構成する。前記の通り、第4の実施形態もリード動作とライト動作を同時に実行可能なメモリコアを与える。PORT1がライト動作、PORT2がリード動作の場合に同時動作が可能で、かつ、次サイクルのPORT2のリード動作にも対応できるよう、第4の実施形態のメモリコアのライトパスをPORT1に割り当て、リードパスをPORT2に割り当てる。仮に、この構成をAと呼ぶとする。一方、PORT2がライト動作、PORT1がリード動作の場合に同時動作が可能で、かつ、次サイクルのPORT1のリード動作にも対応できるよう、第4の実施形態のメモリコアのライトパスをPORT2に割り当て、リードパスをPORT1に割り当てる。仮に、この構成をBと呼ぶとする。構成Aと構成Bを重ね合わせると、第4の実施形態を、2種、同時に内在させた形で、PORT1とPORT2に、それぞれがライト動作用とリード動作用のセットを1セット持った状態で、分かれている構成を得ることができるが、同一ポートでのライト動作と次サイクルのリード動作の組み合わせには対応できていない。そこで、さらに、PORT1のライト動作の次サイクルのPORT1のリード動作にも対応できるようバイパスレジスタを設け、同様に、PORT2のライト動作の次サイクルのPORT2のリード動作にも対応できるようバイパスレジスタを設ける。これにより、あらゆる動作に対応できるようになる。
図22は、本発明の好ましい第10の実施形態による半導体記憶装置600の主要部の構成を示す回路図である。本実施形態による半導体記憶装置600はDRAMである。
図22に示すように、本実施形態では、PORT1のライト動作では、ライトバスWBUSaから供給されたライトデータは、保持回路601に取り込まれ、ライトバッファ602によってライト用データラインWLINEaに供給される。PORT1のリード動作では、リード用データラインRLINEaから読み出されたリードデータをリードアンプ603で増幅、保持回路604で保持し、マルチプレクサ607,608により選択されてリードバスRBUSaに出力される。これらの動作をPORT1内において独立したタイミングで行う。PORT2についても同様である。
但し、PORT1のリード動作が、PORT1又はPORT2のライト動作と、同じアドレスで重なったときは、どちらかライトしているポートのデータを利用する必要がある。このため、保持回路605,606は、それぞれ、PORT1とPORT2のORのタイミングで動くことになる。まず、マルチプレクサ607でPORT1の保持データを使うか、PORT2の保持データを使うかを選択し、さらに、マルチプレクサ608でアレイから読み出したデータを使うか保持データを使うかを選択する。このため、カラム選択ドライバ610,611、リードアンプ603、マルチプレクサ607,608を制御するアドレス遷移検出信号ATa,ATbは、図23に示す検出回路130gによって生成する必要がある。
図23に示す検出回路130gは、PORT1がWRITE to READ動作をし、両アドレスが同じ場合か、または、PORT2がライト動作をした後PORT1がリード動作をし、PORT2のライトアドレスとPORT1のリードアドレスが同じ場合、アドレス遷移検出信号ATaをLレベルとする。また、PORT2がライト動作をした後、PORT1がリード動作をし、PORT2のライトアドレスとPORT1のリードアドレスが同じ場合、信号ATMaをLレベルとする。同様に、PORT2がWRITE to READ動作をし、両アドレスが同じ場合か、または、PORT1がライト動作をした後PORT2がリード動作をし、PORT1のライトアドレスとPORT2のリードアドレスが同じ場合、アドレス遷移検出信号ATbをLレベルとする。また、PORT1がライト動作をした後、PORT2がリード動作をし、PORT1のライトアドレスとPORT2のリードアドレスが同じ場合、信号ATMbをLレベルとする。
図22に示すように、アドレス遷移検出信号ATa="L"である場合は、PORT1用のカラム選択ドライバ610、リードアンプ603、保持回路604は駆動されず、ライトしているポートのライト動作を行う。信号ATMaはライトしているポートに応じてH又はLとなり、代用データとして、ライトしているポートのライト動作に用いたデータの読み出しを制御する。
本実施形態によるデュアルポートメモリは、検出回路612を備えている。検出回路612は、図18に示した検出回路510と同じ回路構成を有しており、検出回路510と同じ役割を果たす。尚、本実施形態においても、禁止されたアクセスが要求された際は動作しないよう考慮されている。
本実施形態においても、同一アドレスを指定したPORT1とPORT2における同時リード動作は禁止されていない。しかしながら、リード動作によって得られる信号量が、一方のリード動作分の信号量しか保障できない場合は、図24に示すように、一方のポートに対応したリード動作のみを行い、得られたリードデータをPORT1とPORT2で共有することが好ましい。
図24に示す回路では、同一アドレスのリード動作同士の組み合わせの際には、PORT2は通常通りリード動作を行う。一方、PORT1側は、マルチプレクサ621を通じてPORT2のリードデータを受け取り、一方、アドレス遷移検出信号ATRRによって、PORT1用のカラム選択ドライバ622を止め、PORT1用のリードアンプ623の活性化も禁止する。アドレス遷移検出信号ATRRは、図21に示した検出回路130fによって生成することができる。アドレス遷移検出信号ATRRDは、アドレス遷移検出信号ATRRをリードアンプ増幅タイミングまで遅らせた信号である。
なお、本動作はリードアンプのタイミング待ち時間分、アレイに対する書き込みが遅れるので、ライトコマンド後にプリチャージコマンド投入可能時刻を決めるスペックtDPL(tWR)に対して動作が厳しくなることは、第9の実施形態と同様である。
次に、本発明の好ましい第11の実施形態について説明する。
本実施形態は、本発明をPRAMに適用した例である。PRAMはメモリセルに相変化材料を用いた半導体記憶装置であり、相変化材料が結晶状態(セット状態)であるか、アモルファス状態(リセット状態)であるかによって、情報を不揮発的に記憶する。また、相変化材料を結晶状態とアモルファス状態の中間状態に精度良く制御すれば、1つのメモリセルに2値を超える情報を記録することが可能である。このような多値PRAMにおいては、相変化材料の状態を高精度に制御する必要があることから、いかなるデータを書き込む場合も、一旦リセットライト(アモルファス化)を行ってから、続いて、セットライト(結晶化)を行うことが望ましい。
このような制御を行う場合、1回のライト要求に応じて2回のライト動作を行う必要があることから、WRITE to READ動作において、最初のライト要求における2回目のライト動作が、次サイクルのリード動作と衝突するという問題が生じる。また、WRITE to WRITE動作においても、最初のライト要求における2回目のライト動作が、次サイクルの1回目のライト動作と衝突するという問題が生じる。本実施形態はこれら問題を解決するものである。つまり、図1に示した第1の実施形態によるWRITE to READ動作の対策に加え、WRITE to WRITE動作にも対応するものである。具体的には次のように回路を構成する。前記の通り、第1の実施形態は、ライト動作とリード動作の衝突を回避するメモリコアを与える。本実施形態の場合でリード動作と衝突するのは、ライト要求における2回目のライト動作であるので、ライトパスにはライト要求における2回目のライト動作を割り当てる。一方、ライト要求における1回目のライト動作は、次サイクルのリード動作と衝突することはないので、リードパスを流用可能となる。よって、リードパスにライト動作機能を設け、リードラインはI/Oに変更する。これにより、WRITE to READ動作の問題を解決できる。また、ライト動作に関しても、1回目のライト動作用のパスは第1の実施形態のリードパスに追加され、2回目のライト動作用のパスは第1の実施形態のライトパスそのものであるため、、互いのパスが分離され、WRITE to WRITEの問題も解決できる。
図25は、本発明の好ましい第11の実施形態による半導体記憶装置700の主要部の構成を示す回路図である。特に限定されるものではないが、本実施形態による半導体記憶装置700はPRAMである。
図25に示すように、本実施形態による半導体記憶装置700は、ワード線WL0,WL1・・・と、ビット線対BL0,BL1・・・と、ワード線とビット線の交点に配置されたメモリセルMCとを有するメモリセルアレイ707を備えている。各ビット線対BL0,BL1・・・には、それぞれセンスアンプ704が接続されている。各センスアンプ704は、それぞれ対応するカラムスイッチ703を介して、I/OラインLIOに接続されているとともに、それぞれ対応するカラムスイッチ711を介して、ライト用データラインWLINEに接続されている。カラムスイッチ703には、カラム選択ドライバ705の出力であるカラム選択信号Y0,Y1・・・がそれぞれ供給され、これによってリード動作時又はライト動作時においてはいずれか一つがオンする。一方、カラムスイッチ711には、ライト用カラム選択ドライバ712の出力であるライト用カラム選択信号YW0,YW1・・・がそれぞれ供給され、これによってライト動作時においてはいずれか一つがオンする。
I/OラインLIOは、相補のリードデータ又はライトデータを伝送するための配線であり、入出力回路720に接続されている。また、ライト用データラインWLINEは、相補のライトデータを伝送するための配線であり、入出力回路720に接続されている。入出力回路720は、ライトバスWBUS1を介して供給されたライトデータWD1をI/OラインLIOに供給するライトバッファ702と、ライトバスWBUS2を介して供給されたライトデータWD2をライト用データラインWLINEに供給するライトバッファ710と、I/OラインLIOを介して供給されたリードデータRDをリードバスRBUSに供給するリードアンプ714とを備えている。
また、入出力回路720は、ライトデータWD2を一時的に保持するレジスタ718と、リードアンプ714の出力とレジスタ718の出力のいずれかを選択するマルチプレクサ716をさらに備えている。マルチプレクサ716の選択は、図26に示す検出回路730の出力によって制御される。
次に、図25を参照しながら、AT1="H",AT2="H"である場合、つまり、通常時におけるライトサイクルおよびリードサイクルを説明する。
まず、ライトサイクルを説明する。ライトサイクルでは、まずプリライト用データをライトバスWBUS1に書き込み、これを保持回路701に信号WBE1の活性化タイミングで取り込み、ライトバッファ702によってI/OラインLIOに供給する。そして、カラム選択ドライバ705で選択されたカラムスイッチ703を介して、プリライト用データをビット線対BL0に供給する。そして、センスアンプ704によってビット線対BL0を駆動し、ワードドライバ706で選択されたメモリセルMCに対して書き込む。続いて、メモリセルMCへの書き込みが終了するのを待って、ライト用データをライトバスWBUS2に書き込み、これを保持回路708に信号WBE2の活性化タイミングで取り込み、ライトバッファ710によってライト用データラインWLINEに供給する。そして、カラム選択ドライバ712で選択されたカラムスイッチ711を介して、ライト用データをビット線対BL0に供給する。そして、センスアンプ704によってビット線対BL0を駆動し、ワードドライバ706で選択されたメモリセルMCに対して再び書き込みを行う。
次に、リードサイクルを説明する。リードサイクルは通常のリード動作と変わりない。つまり、カラム選択ドライバ705でカラムスイッチ703を選択し、センスアンプ704に保持されているリードデータを、I/OラインLIOに読み出す。読み出されたリードデータは、活性化信号RAEPの活性化タイミングでリードアンプ714により増幅され、保持回路715に保持される。さらに、マルチプレクサ716を経て信号線RBUSPに読み出され、トライステートバッファ717によってリードバスRBUSに出力する。なお、保持回路718及びマルチプレクサ717は、図1に示した保持回路115及びマルチプレクサ111と同じ役割を果たす。
以上の動作は、アドレス遷移検出信号AT1="H",AT2="H"である場合、つまり、通常時における動作である。図26に示すように、アドレス遷移検出信号AT1は検出回路731によって生成され、WRITE to READ動作で、かつ、アドレスが遷移しないときに"L"となる。つまり、この回路部分は、図2に示した検出回路130と全く同じである。AT1がLレベルになると、同一アドレスのWRITE to READ動作の際に、同時に行われているライト動作とリード動作に対して、メモリセルアレイ707はリード動作を止めてライト動作のみを行い、周辺回路はライト動作に用いたデータをリードデータとしてそのまま返す、という動作が起動される。
また、アドレス遷移検出信号AT2は検出回路732によって生成され、WRITE to WRITE動作で、かつ、アドレスが遷移しないときに"L"となり、次サイクルで"H"にリセットされる信号である。AT2がLレベルになると、同一アドレスのWRITE to WRITE動作の際に、同時に行われている2つのライト動作に対して、先のライト動作を止めて後のライト動作のみを行う、という動作が起動される。アドレス遷移検出信号AT2の生成において、信号ACLKDによるリセットが必要になる理由は後の説明で明らかになる。
次に、WRITE to WRITE動作における動作タイミングを、アドレスが異なる場合とアドレスが同一である場合のそれぞれについてタイミングチャートを用いて説明する。ここでは、説明のしやすさから、アレイ制御用クロックACLKと、これをプリライト動作時間dだけ遅らせたクロックACLKDを用いて説明する。
図27は、異なるアドレスに対してライト動作が連続して要求された場合(WRITE to WRITE動作)の動作タイミングを示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD11が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD11が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。その後、カラム選択信号Y0の活性化によってプリライトデータD11がビット線対BL0に供給される。次に、プリライト動作時間dだけ遅れてライトバスWBUS2にライトデータD12が供給される。そして、アレイ制御用クロックACLKに対して同じくプリライト動作時間dだけ遅れたクロックACLKDに同期した信号WBE2Pによって、保持回路708にライトデータD12が取り込まれ、ライトバッファ710によってライト用データラインWLINEに供給される。その後、カラム選択信号YW0の活性化によってライトデータD12がビット線対BL0に供給される。これにより、ビット線対BL0に繋がる所定のメモリセルに対して、プリライト及びライトがこの順に実行される。
一方、時刻t2においてビット線対BL1に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD21が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD21が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。その後、カラム選択信号Y1の活性化によってプリライトデータD21がビット線対BL1に供給される。次に、プリライト動作時間dだけ遅れてライトバスWBUS2にライトデータD22が供給される。そして、アレイ制御用クロックACLKに対して同じくプリライト動作時間dだけ遅れたクロックACLKDに同期した信号WBE2Pによって、保持回路708にライトデータD22が取り込まれ、ライトバッファ710によってライト用データラインWLINEに供給される。その後、カラム選択信号YW1の活性化によってライトデータD22がビット線対BL1に供給される。これにより、ビット線対BL1に繋がる所定のメモリセルに対して、プリライト及びライトがこの順に実行される。
ここで、時刻t1に要求されたのデータD12のライト動作と、時刻t2に要求されたのデータD21のプリライト動作は同時に行われる。しかしながら、図27に示すように信号パスが完全に分離しているため、データの衝突はない。
図28は、同一のアドレスに対してライト動作が連続して要求された場合(WRITE to WRITE動作)の動作タイミングを示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD11が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD11が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。その後、カラム選択信号Y0の活性化によってプリライトデータD11がビット線対BL0に供給される。次に、プリライト動作時間dだけ遅れてライトバスWBUS2にライトデータD12が供給される。そして、アレイ制御用クロックACLKに対して同じくプリライト動作時間dだけ遅れたクロックACLKDに同期した信号WBE2Pによって、保持回路708にライトデータD12が取り込まれ、ライトバッファ710によってライト用データラインWLINEに供給される。但し、本例では、時刻t2においてもビット線対BL0に相当するアドレスを指定してライト要求が発行されるため、上記の書き込みの途中に、次サイクルの動作が割り込む。
つまり、時刻t2においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD21が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD21が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。この時、ライト用データラインWLINE側では、時刻t1に要求されたライトサイクルによるライトデータD12が書き込み途中の状態にある。しかし、このデータD12はプリライトデータD21によって上書きされるべきデータなので、書き込む必要はない。そこで、アドレス遷移検出信号AT2によってライトデータD12の書き込みを中止し、その代わりに、プリライトデータD21をI/OラインLIOに書き込む。続くカラム選択信号の活性化動作においても、アドレス遷移検出信号AT2を用いてカラム選択信号YW0の活性化を禁止し、その代わりに、カラム選択信号Y0を活性化させる。これにより、ビット線対BL0上における異なるライトデータの衝突を避ける。
次に、時間dだけ遅れて、ライトバスWBUS2にライトデータD22を書き込み、クロックACLKDに同期した信号WBE2Pによって保持回路708に取り込む。そして、保持したライトデータD22をライト用データラインWLINEに供給するのであるが、もし、アドレス遷移検出信号AT2をアレイ制御用クロックACLKのみに同期させた場合、Lレベルとなるアドレス遷移検出信号AT2が時刻t2に対応する信号WBE2PのHレベルと重なってしまい、この場合にはライト用データラインWLINEへの書き込みに支障をきたす。そのため、アドレス遷移検出信号AT2のリセットはクロックACLKDで行う。これにより、信号WBE2Pによってライト用データラインWLINEに書き込みを行い、クロックACLKDに同期するカラム選択信号YW0によってビット線対BL0に書き込みを行う。
以上のように、WRITE to WRITE動作では、異なるアドレス間動作、同一アドレス間動作とも、データが衝突すること無く動作できる。
次に、最も動作が複雑となる、同一アドレスに対するWRITE to WRITE to READ動作について説明する。
図29は、同一のアドレスに対するWRITE to WRITE to READ動作を示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD11が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD11が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。その後、カラム選択信号Y0の活性化によってプリライトデータD11がビット線対BL0に供給される。次に、プリライト動作時間dだけ遅れてライトバスWBUS2にライトデータD12が供給される。そして、アレイ制御用クロックACLKに対して同じくプリライト動作時間dだけ遅れたクロックACLKDに同期した信号WBE2Pによって、保持回路708にライトデータD12が取り込まれ、ライトバッファ710によってライト用データラインWLINEに供給される。本例においても、時刻t2においてもビット線対BL0に相当するアドレスを指定してライト要求が発行されるため、上記の書き込みの途中に、次サイクルの動作が割り込む。
つまり、時刻t2においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD21が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD21が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。この時、ライト用データラインWLINE側では、時刻t1に要求されたライトサイクルによるライトデータD12が書き込み途中の状態にある。しかし、このデータD12はプリライトデータD21によって上書きされるべきデータなので、書き込む必要はない。そこで、アドレス遷移検出信号AT2によってライトデータD12の書き込みを中止し、その代わりに、プリライトデータD21をI/OラインLIOに書き込む。続くカラム選択信号の活性化動作においても、アドレス遷移検出信号AT2を用いてカラム選択信号YW0の活性化を禁止し、その代わりに、カラム選択信号Y0を活性化させる。
次に、時間dだけ遅れて、ライトバスWBUS2にライトデータD22を書き込み、クロックACLKDに同期した信号WBE2Pによって保持回路708に取り込む。そして、アドレス遷移検出信号AT="H"を受けて、ライト用データラインWLINEにライトデータD22を供給し、カラム選択信号YW0によってビット線対BL0に書き込む。
さらに、時刻t3においてビット線対BL0に相当するアドレスを指定してリード要求が発行されると、通常では、アレイ制御用クロックACLKに同期してカラム選択信号Y0を立ち上げ、ビット線対BL0からデータを読み出すのであるが、現在はライトデータD22の書き込み途中であり、アドレス遷移検出信号AT1="L"である。このため、カラム選択信号Y0は立ち上がらず、ビット線対BL0にはライトデータD22のライト動作のみが継続される。続いて、活性化信号RAEPが立ち上がり、通常であれば保持回路715にリードデータを取り込むのであるが、アドレス遷移検出信号AT1="L"であることから、リードアンプ714及び保持回路715は動作しない。その代わりに、信号線HDATA上の信号をマルチプレクサ716によって選択し、信号線RBUSPに出力する。さらに、トライステートバッファ717によってリードバスRBUSに出力する。
このように、本実施形態では、WRITE to WRITE動作も、WRITE to READ動作も、サイクル時間を律速せず、データの衝突もなく、正しく行うことができる。ただし、本実施形態ではライト動作がプリライト動作分遅れるので、その分、tDPLが厳しくなることには言及しておく。
なお、上記実施形態では、ライトバスWBUS1の書き込みに対して、ライトバスWBUS2の書き込みを遅らせているが、これらが同時でであってもよい。ライトバスWBUS2上のデータが1サイクル保持されているのであれば、時間dだけ遅れても取り込みは可能である。
次に、本発明の好ましい第12の実施形態について説明する。
上記第11の実施形態では、ライトサイクルの際、プリライト動作終了後、速やかに、続くライト動作を実行したが、本実施形態は、両動作ともクロック同期で実行する。つまり、第2の実施形態によるWRITE to READ動作の対策に加え、WRITE to WRITE動作にも対応するものである。この場合、プリライト動作時間を見越したクロックACLKDは存在しないことから、WRITE to WRITE動作用のアドレス遷移検出信号AT2は、図30に示す検出回路730aによって生成する。図30に示す検出回路730aは、図26に示した検出回路730からSR−FFを省略した回路構成を有している。WRITE to READ動作用のアドレス遷移検出信号AT1の生成回路部には変更はない。
図31は、同一のアドレスに対するWRITE to WRITE to READ動作を示すタイミング図である。
まず、時刻t1においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD11が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD11が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。その後、カラム選択信号Y0の活性化によってプリライトデータD11がビット線対BL0に供給される。次に、時刻t2に同期した信号WBE2Pによって、保持回路708にライトデータD12が取り込まれる。また、時刻t2のアレイ制御用クロックACLKに同期した信号WBE2Pによってライト用データラインWLINEに書きこもうとするが、アドレス遷移検出信号AT="L"のため信号WBE2は全く立ち上がらず、ライト用データラインWLINEへの書き込みは行わない。同様にカラム選択信号YW0も全く立ち上がらない。
そして、時刻t2においてビット線対BL0に相当するアドレスを指定してライト要求が発行されると、ライトバスWBUS1にプリライトデータD21が供給される。そして、アレイ制御用クロックACLKに同期した信号WBE1によって、保持回路701にプリライトデータD21が取り込まれ、ライトバッファ702によってI/OラインLIOに供給される。このとき、動作が重なっている時刻t1のライトサイクルは、AT2="L"のため完全に停止しており、このためデータの衝突はない。また、上述した第11の実施形態の場合は、動作しているものを停止させるのであるが、本実施例では全く動作させないので、消費電流も抑えられる。
次に、時刻t3に同期してライトバスWBUS2にライトデータD22を書き込み、時刻t3のアレイ制御用クロックACLKに同期した信号WBE2Pによって保持回路708に取り込む。そして、アドレス遷移検出信号AT="H"を受けて、ライト用データラインWLINEにライトデータD22を供給し、カラム選択信号YW0によってビット線対BL0に書き込む。
さらに、時刻t3においてビット線対BL0に相当するアドレスを指定してリード要求が発行されると、通常では、アレイ制御用クロックACLKに同期してカラム選択信号Y0を立ち上げ、ビット線対BL0からデータを読み出すのであるが、現在はライトデータD22の書き込み途中であり、アドレス遷移検出信号AT1="L"である。このため、カラム選択信号Y0は立ち上がらず、ビット線対BL0にはライトデータD22のライト動作のみが継続される。続いて、活性化信号RAEPが立ち上がり、通常であれば保持回路715にリードデータを取り込むのであるが、アドレス遷移検出信号AT1="L"であることから、リードアンプ714及び保持回路715は動作しない。その代わりに、信号線HDATA上の信号をマルチプレクサ716によって選択し、信号線RBUSPに出力する。さらに、トライステートバッファ717によってリードバスRBUSに出力する。
このように、本実施形態では、WRITE to WRITE動作も、WRITE to READ動作も、サイクル時間を律速せず、データの衝突もなく、行うことができる。ただし、本実施形態ではライト動作が1サイクル分遅れるので、tDPLに1サイクルのレイテンシが必要になることに言及しておく。
なお、上記実施形態では、ライトバスWBUS1の書き込みに対して、ライトバスWBUS2の書き込みを遅らせているが、本実施形態ではこれは必須である。したがって、ライトバスWBUS2のデータがライトバスWBUS1と同時に供給される場合には、シフトレジスタなどで1サイクル遅らせる必要がある。
次に、本発明の好ましい第13の実施形態について説明する。
近年のDRAMは、ライトコマンド投入からアレイへのライト動作開始までの期間に、所定のレイテンシが追加されることがある。例えばDDR型のDRAMでは、当該サイクルでDQSが入力され始め、次サイクルでDQSに同期してデータを取り込み、さらに次サイクルでデータをCLKに乗せるので、合計2サイクルのレイテンシを持つ。この2サイクルの間に演算をすませ、ライト動作は正規のレイテンシで動作させれば、スペックtDPL(tWR)も犯されない。本実施形態は、上述した第12の実施形態で説明した構成を1サイクル前倒しで適用した例である。
図32は、本実施形態における動作タイミングを説明するための図であり、(a)は単独のライト動作、(b)はWRITE to READ動作、(c)はWRITE to WRITE動作を示している。本実施形態においては、先行するライトのデータを外部から受け取ることが出来ないため、本データはライト動作前に、あらかじめ決まっているものとする。
図32(a)に示すライト動作では、時刻t1に発行されたライトコマンドに対し、アレイに対する正規のライト要求は時刻t3に開始されるが、実際は時刻t2でプリライトを行い、時刻t3でライトを行う。
図32(b)に示すWRITE to READ動作では、時刻t1に発行されたライトコマンドに対し、時刻t2でプリライト、時刻t3でライトを行う。その後、時刻t4にリードコマンドが発行され、リード動作が行われる。
図32(c)に示すWRITE to WRITE動作では、時刻t1に発行されたライトコマンドに対し、時刻t2でプリライト、時刻t3でライトを行う。一方、時刻t2に発行されたライトコマンドに対して、時刻t3でプリライト、時刻t4でライトを行う。このため、時刻t2ではライト動作のみが行われ、時刻t3では2つのライト動作が同時に行われ、時刻t4ではライト動作のみが行われる。
このように、本実施形態では、WRITE to READでは動作の重なりは生じなくなり、WRITE to WRITEでのみで動作の重なりが生じる。そのため、本実施形態では、アドレス遷移のアドレス遷移検出信号ATの生成回路としては、図33に示す検出回路730bを用いる必要がある。図33に示す検出回路730bは、図30に示した検出回路730aからアドレス遷移検出信号AT1の生成回路を省略した構成を有している。つまり、WRITE to WRITE動作用のアドレス遷移検出信号AT2のみを生成すればよい。また、回路構成に関しても、図25からWRITE to READ対策回路が削除された、図46のようになる。すなわち、WRITE to WRITE動作対策のみでよくなり、2種のライト動作のデータパスが分離されていることが重要となる。
次に、本発明の好ましい第14の実施形態について説明する。
本実施形態は、一つのメモリセルに2値以上の情報を格納可能な多値PRAMに関する。第11の実施形態を、より具体的に、PRAM用に構成しなおしたものである。PRAMのメモリセルに対する一般的なデータの書き込みは、次のように、メモリ素子に電流パルスを印加することで行う。
図34に示すように、アモルファス状態(高抵抗、高閾値状態)に転移させるためには、大電流の短いパルスである、リセットパルス801を印加する。リセットパルス801は、結晶を融解するのに十分なパワーを与えるべく電流Imに設定され、融解時間T0だけ電流Imを印加し続け、融解したところで、短い立ち下げ時間T1で立ち下げる。これにより、融解した相変化材料が急冷され、一様なアモルファス状態が形成される。一方、結晶状態(低抵抗、低閾値状態)に転移させるためには、やや少ない電流の長いパルスである、セットパルス802を印加する。セットパルス802は、結晶化するのに十分で、かつ、融解には至らない電流Ixを、結晶化時間T2だけ印加し続け、結晶化させる。以上の操作により、メモリ素子をアモルファス状態と結晶状態のいずれかに制御することが可能となる。さらには、これらパルスを細かく調整することで、さらに細かい結晶性の制御が可能である。
例えば、図35に示すように、書き込むべき論理レベルにかかわらず一度リセットパルス801でアモルファス化した後、続くセットパルス802を融解電流Im付近までの電流値に設定し、その後、徐々に結晶化電流Ix以下の電流値まで減らせば、時間T2の制御によって結晶化の度合いを調整することができる。
さらに、図36に示すように、リセットパルス801のみを用い、リセットパルス801の立ち下げ時間T1を調整することで、結晶化の度合いを調整する。この場合、T1を短くするとアモルファス状態が得られ、T1を長くするほど、結晶化の度合い(全アモルファス領域に対する、結晶領域の割合)が高まる。すなわち、多値化が可能となる。
さらに、図37に示すように、セットパルス802のパルス幅T2を完全に結晶する幅より短く設定し、これを複数投入することで、結晶化の度合いを調整し、多値化することもできる。この場合も、図示しないが、書き込むべき論理レベルにかかわらず一度リセットパルスでアモルファス化することが望ましい。
さらに、図38に示すように、セットパルス802の電流値を制御することで、結晶化の度合いを調整し多値化するも可能である。この場合も、図示しないが、書き込むべき論理レベルにかかわらず一度リセットパルスでアモルファス化することが望ましい。
さらに、図39に示すように、書き込むべき論理レベルにかかわらずリセットパルス801でアモルファス化し、続いて、閾値を調整すべく、調整されたセットパルス802で、多値データをセットすることで、前状態によらず正確に多値データを記憶させることができる。
したがって、図35〜図39に示した方法を用いれば、上述した第11の実施形態を利用して、リセットパルス801プリライト動作で制御し、セットパルス802を続くライト動作で制御すれば、サイクル時間を律速することなく、多値(2値を含む)PRAMを構成できると考えられる。但し、PRAMのライト動作はDRAMに比べて時間がかかることから、現状では、「tCKが大きい場合」や「プリフェッチ機構などにより、アレイのサイクル時間がtCKに対して大きい場合」において好適である。もちろん、PRAMのライト動作をDRAMと同様のスピードで実行できるのであれば、DRAMと全く同様に取り扱うことが可能である。
図40は、本発明の好ましい第14の実施形態による半導体記憶装置900の主要部の構成を示す回路図である。本実施形態による半導体記憶装置900はPRAMである。
図40に示すように、本実施形態による半導体記憶装置900は、ワード線WL0,WL1・・・と、ビット線BL0,BL1・・・と、ワード線とビット線の交点に配置されたメモリセルMCとを有するメモリセルアレイ908を備えている。各ビット線BL0,BL1・・・は、それぞれ対応するカラムスイッチ903を介して、I/OラインLIOに接続されているとともに、それぞれ対応するカラムスイッチ913を介して、ライト用データラインWLINEに接続されている。カラムスイッチ903には、カラム選択ドライバ904の出力であるカラム選択信号Y0,Y1・・・がそれぞれ供給され、これによってリード動作時又はライト動作時においてはいずれか一つがオンする。一方、カラムスイッチ913には、ライト用カラム選択ドライバ914の出力であるライト用カラム選択信号YW0,YW1・・・がそれぞれ供給され、これによってライト動作時においてはいずれか一つがオンする。
I/OラインLIOは、リード電流又はリセット電流を流すためのシングル配線であり、入出力回路930に接続されている。また、ライト用データラインWLINEは、セット電流を流すするためのシングル配線であり、入出力回路930に接続されている。
入出力回路930は、ライトバスWBUSを介して供給されたライトデータWDに基づいて、ライト用データラインWLINEに所定のセット電流を流すセットパルス発生器912と、I/OラインLIOに流れるリード電流に基づいてリードデータRDを生成するリードアンプ918とを備えている。また、入出力回路930は、ライトデータWDを一時的に保持するレジスタ922と、リードアンプ918の出力とレジスタ922の出力のいずれかを選択するマルチプレクサ920をさらに備えている。
図40に示すように、メモリセルMCはパスゲートPGと相変化素子PCからなるPRAMセルである。相変化素子PCの一端は高電位に固定れており、もう一端はパスゲートPGにつながっている。パスゲートPGはワード線WLによって制御され、ビット線BLと相変化素子PCとを接続する。
リセットパルスを発生するリセットパルス発生器902はNMOSからなり、パルス整形器901を通じてプリライト制御系の信号WBE1によって制御される。セットパルス発生器912もNMOSからなり、パルス整形器911を通じてライト制御系の信号WBE2Pによって制御される。なお、セットパルス発生器912及びパルス整形器911は、多値記録方法に応じて回路構成を変える必要がある。例えば、セットパルス発生器912を複数用意し、パルス整形器911で選択制御しても構わないし、パルス整形器911の制御によってセットパルス発生器912のゲートレベルを制御しても構わない。
リード電流発生器916は、パルス整形器915を通じて、相変化素子PCの閾値を超えないようにリード電流を生成する。リード電流によって変化するI/OラインLIOの電位は、電位VRFを参照電位とするリードアンプ918によって増幅され、保持回路919にラッチされる。リードアンプ918は、1つのI/OラインLIOに対して複数設けられており、これによって、多値データの読み出しを行う。この場合、それぞれの参照電位VRFの値は個々に異なることに言及しておく。
また、ビット線BLにはプリチャージ回路906が接続されている。プリチャージ回路906は、ワード線WLが選択され、カラム選択信号が活性化していないときに、相変化素子PCに電流が流れないよう、ビット線BLを高電位に固定する役割を果たす。その制御はORゲート905により行われる。その他の構成は、第11の実施形態とほぼ同様であることから、重複する説明は省略する。
このように、本実施形態では、リセットパルス801をプリライト動作で制御し、セットパルス802を続くライト動作で制御できることから、データの衝突が生じない多値PRAMを提供することが可能となる。もちろん、第12の実施形態や第13の実施形態においても、リセットパルス801をプリライト動作で制御し、セットパルス802を続くライト動作で制御することができる。
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
例えば、実施形態における、入出力回路とメモリアレイをつなぐデータラインは、階層を伴ったデータラインでもよい。階層数も問わない。すなわち、図45(a)に示すような1マットアレイ構成1001に関しては、ここまで説明してきたとおり適用可能であり、図45(b)のような、通常のメモリデバイスのアレイに用いられる、階層化データライン構造を伴う複数マット構成1002であっても、サブ入出力回路についてはサブデータラインを介してメモリアレイにつながっており、メイン入出力回路については、メインデータライン、サブ入出力回路、サブデータラインを介して、メモリアレイとつながっているので、サブ入出力回路であっても、メイン入出力回路であっても適用が可能である。また、勿論、図45(c)のように、独立に動作できるバンクを持たせても構わない。
本発明の好ましい第1の実施形態による半導体記憶装置100の主要部の構成を示す回路図である。 検出回路130の回路図である。 第1の実施形態において、異なるアドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。 第1の実施形態において、同一アドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。 検出回路130aの回路図である。 第2の実施形態において、メモリセルアレイ103へのライト動作を、続くリードサイクルに完全に重ねて動作させる場合の動作タイミングを示すタイミング図であり、同一アドレスに対してWRITE to READ動作が要求された場合を示している。 第2の実施形態において、演算がリード動作を伴う場合の動作タイミングを説明するための図であり、(a)は単独のライト動作、(b)はWRITE to READ動作、(c)はWRITE to WRITE動作を示している。 検出回路130bの回路図である。 検出回路130cの回路図である。 第3の実施形態において、ライト要求とリード要求が同時に発行され、且つ、リードアドレスとライトアドレスが同一である場合の動作タイミングを示すタイミング図である。 検出回路130dの回路図である。 第4の実施形態において、ライト要求とリード要求の同時発行が連続的に行われ、且つ、リードアドレスとライトアドレスが同一である場合の動作タイミングを示すタイミング図である。 本発明の好ましい第5の実施形態による半導体記憶装置200の主要部の構成を示す回路図である。 第5の実施形態において、WRITE to READ動作でリードサイクルのアドレスがライトサイクルと同一な場合の動作タイミングを示すタイミング図である。 第6の実施形態において、WRITE to WRITE動作でこれらライトサイクルのアドレスが同一の場合の動作タイミングを示すタイミング図である。 従来のデュアルポートメモリの主要部の構成を示す回路図である。 本発明の好ましい第7の実施形態による半導体記憶装置400の主要部の構成を示す回路図である。 本発明の好ましい第8の実施形態による半導体記憶装置500の主要部の構成を示す回路図である。 検出回路130eの回路図である。 半導体記憶装置500の変形例を示す回路図である。 検出回路130fの回路図である。 本発明の好ましい第10の実施形態による半導体記憶装置600の主要部の構成を示す回路図である。 検出回路130gの回路図である。 半導体記憶装置600の変形例を示す回路図である。 本発明の好ましい第11の実施形態による半導体記憶装置700の主要部の構成を示す回路図である。 検出回路730の回路図である。 第11の実施形態において、異なるアドレスに対してライト動作が連続して要求された場合(WRITE to WRITE動作)の動作タイミングを示すタイミング図である。 第11の実施形態において、同一のアドレスに対してライト動作が連続して要求された場合(WRITE to WRITE動作)の動作タイミングを示すタイミング図である。 第11の実施形態において、同一のアドレスに対するWRITE to WRITE to READ動作を示すタイミング図である。 検出回路730aの回路図である。 第12の実施形態において、同一のアドレスに対するWRITE to WRITE to READ動作を示すタイミング図である。 第13の実施形態における動作タイミングを説明するための図であり、(a)は単独のライト動作、(b)はWRITE to READ動作、(c)はWRITE to WRITE動作を示している。 検出回路730bの回路図である。 PRAMのメモリセルにデータを書き込む際のパルス波形を示す波形図である。 PRAMのメモリセルに多値データを書き込む際のパルス波形の一例を示す波形図である。 PRAMのメモリセルに多値データを書き込む際のパルス波形の他の例を示す波形図である。 PRAMのメモリセルに多値データを書き込む際のパルス波形のさらに他の例を示す波形図である。 PRAMのメモリセルに多値データを書き込む際のパルス波形のさらに他の例を示す波形図である。 PRAMのメモリセルに多値データを書き込む際のパルス波形のさらに他の例を示す波形図である。 本発明の好ましい第14の実施形態による半導体記憶装置900の主要部の構成を示す回路図である。 一般的なDRAMの主要部の構成を示す回路図である。 同一アドレスに対してライト動作及びリード動作が連続して要求された場合の動作タイミングを示すタイミング図である。 1クロックサイクルでライト動作を完了できないメモリにおいて、異なるアドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。 1クロックサイクルでライト動作を完了できないメモリにおいて、同一アドレスに対してライト動作及びリード動作が連続して要求された場合(WRITE to READ動作)の動作タイミングを示すタイミング図である。 (a)は1マットアレイ構成を示し、(b)は階層化データライン構造を伴う複数マット構成を示し、(c)は複数バンクに分割された構成を示している。 半導体記憶装置700からWRITE to READ対策回路を削除した回路構成を示す。
符号の説明
WL ワード線
BL ビット線
MC メモリセル
101 ワードドライバ
102 センスアンプ
103 メモリセルアレイ
104 リード用カラム選択ドライバ
105 ライト用カラム選択ドライバ
106,107 カラムスイッチ
108 リードアンプ
109 ANDゲート
110 保持回路
111 マルチプレクサ
112 トライステートバッファ
113 保持回路
114 ライトバッファ
115 レジスタ
120 入出力回路
RLINE リード用データライン
WLINE ライト用データライン

Claims (7)

  1. 複数のワード線と、複数のビット線と、前記ワード線及び前記ビット線の交点に配置された複数のメモリセルとを有するメモリセルアレイと、
    前記メモリセルアレイに書き込むべきライトデータが供給されるライトパスと、前記メモリセルアレイから読み出されたリードデータが供給されるリードパスとを有する入出力回路と、
    前記入出力回路と前記メモリセルアレイとを接続する第1及び第2のデータラインとを備え、
    前記入出力回路は、
    前記ライトパス上の前記ライトデータを前記第1のデータラインに供給するライトバッファと、
    前記第2のデータラインを介して供給された前記リードデータを前記リードパスに供給するリードアンプと、
    前記ライトデータを書き込むべきライトアドレスと前記リードデータを読み出すべきリードアドレスとの一致を検出する検出回路と、
    前記検出回路によって一致が検出されたことに応答して、前記ライトパス上の前記ライトデータを前記リードパスに供給するバイパス回路と、をさらに含むことを特徴とする半導体記憶装置。
  2. 前記入出力回路は、前記検出回路によって一致が検出されたことに応答して、前記リードアンプの活性化を禁止する第1の禁止回路をさらに含むことを特徴とする請求項1に記載の半導体記憶装置。
  3. 前記メモリセルアレイは、
    対応する前記ビット線にそれぞれ接続された複数のセンスアンプと、
    前記複数のビット線と前記第1のデータラインとをそれぞれ接続する複数の第1のカラムスイッチと、
    前記複数のビット線と前記第2のデータラインとをそれぞれ接続する複数の第2のカラムスイッチと、
    前記ライトアドレスに基づいて前記複数の第1のカラムスイッチのいずれかを活性化させる第1のカラム選択ドライバと、
    前記リードアドレスに基づいて前記複数の第2のカラムスイッチのいずれかを活性化させる第2のカラム選択ドライバと、
    前記検出回路によって一致が検出されたことに応答して、前記第2のカラムスイッチの活性化を禁止する第2の禁止回路と、をさらに備えることを特徴とする請求項2に記載の半導体記憶装置。
  4. 前記第1のデータラインを介した前記ライトデータの書き込みは、第1のアクセス要求に応答した動作であり、
    前記第2のデータラインを介した前記リードデータの読み出しは、前記第1のアクセス要求に続く第2のアクセス要求に応答した動作であることを特徴とする請求項1乃至3のいずれか一項に記載の半導体記憶装置。
  5. 複数のワード線と、複数のビット線と、前記ワード線及び前記ビット線の交点に配置された複数のメモリセルとを有するメモリセルアレイと、
    前記メモリセルアレイに書き込むべきライトデータが供給される第1及び第2のライトパスを有する入出力回路と、
    前記入出力回路と前記メモリセルアレイとを接続する第1及び第2のデータラインとを備え、
    前記入出力回路は、
    前記第1のライトパス上の前記ライトデータを前記第1のデータラインに供給する第1のライトバッファと、
    前記第2のライトパス上の前記ライトデータを前記第2のデータラインに供給する第2のライトバッファと、
    前記第1のデータラインを介してライトデータを書き込むべき第1のライトアドレスと前記第2のデータラインを介してライトデータを書き込むべき第2のライトアドレスとの一致を検出する検出回路と、
    前記検出回路によって一致が検出されたことに応答して、第1及び第2のライトバッファのいずれか一方の活性化を禁止する禁止回路と、をさらに含むことを特徴とする半導体記憶装置。
  6. 前記入出力回路は、
    前記メモリセルアレイから読み出されたリードデータが供給されるリードパスと、
    前記第1又は第2のデータラインを介して供給された前記リードデータを前記リードパスに供給するリードアンプと、
    前記第1又は第2のライトパス上の前記ライトデータを前記リードパスに供給するバイパス回路と、をさらに含むことを特徴とする請求項5に記載の半導体記憶装置。
  7. 前記第1及び第2のデータラインがいずれも階層化構造を有していることを特徴とする請求項1乃至6のいずれか一項に記載の半導体記憶装置。
JP2008285859A 2008-11-06 2008-11-06 半導体記憶装置 Pending JP2010113765A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008285859A JP2010113765A (ja) 2008-11-06 2008-11-06 半導体記憶装置
US12/614,129 US8072821B2 (en) 2008-11-06 2009-11-06 Semiconductor memory device that can perform successive accesses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008285859A JP2010113765A (ja) 2008-11-06 2008-11-06 半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2010113765A true JP2010113765A (ja) 2010-05-20

Family

ID=42131213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008285859A Pending JP2010113765A (ja) 2008-11-06 2008-11-06 半導体記憶装置

Country Status (2)

Country Link
US (1) US8072821B2 (ja)
JP (1) JP2010113765A (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123156A (ja) 2008-11-17 2010-06-03 Elpida Memory Inc 半導体記憶装置及びその制御方法
JP2010123164A (ja) * 2008-11-18 2010-06-03 Elpida Memory Inc 半導体記憶装置及びその制御方法
JP6072449B2 (ja) * 2012-07-09 2017-02-01 ルネサスエレクトロニクス株式会社 半導体記憶回路及びその動作方法
KR102162804B1 (ko) * 2014-01-15 2020-10-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20150110918A (ko) * 2014-03-21 2015-10-05 에스케이하이닉스 주식회사 반도체 메모리 장치
US10449811B2 (en) 2015-06-15 2019-10-22 Infineon Technologies Ag Tire monitoring system and method
US10163479B2 (en) 2015-08-14 2018-12-25 Spin Transfer Technologies, Inc. Method and apparatus for bipolar memory write-verify
US10360964B2 (en) 2016-09-27 2019-07-23 Spin Memory, Inc. Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device
US10437723B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
US10437491B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US10192602B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Smart cache design to prevent overflow for a memory device with a dynamic redundancy register
US10366774B2 (en) 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10818331B2 (en) 2016-09-27 2020-10-27 Spin Memory, Inc. Multi-chip module for MRAM devices with levels of dynamic redundancy registers
US10446210B2 (en) 2016-09-27 2019-10-15 Spin Memory, Inc. Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers
US10628316B2 (en) 2016-09-27 2020-04-21 Spin Memory, Inc. Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10546625B2 (en) 2016-09-27 2020-01-28 Spin Memory, Inc. Method of optimizing write voltage based on error buffer occupancy
US10192601B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers
US10460781B2 (en) 2016-09-27 2019-10-29 Spin Memory, Inc. Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank
US10622049B1 (en) * 2017-04-28 2020-04-14 SK Hynix Inc. Electronic device including a semiconductor memory that includes a circuit for changing a waveform of a write pulse
DE102017124313B4 (de) * 2017-10-18 2021-03-18 Infineon Technologies Ag Speicheranordnung und verfahren zum verifizieren eines speicherzugriffs
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
US10656994B2 (en) 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
US10417136B2 (en) * 2017-12-21 2019-09-17 Northrop Grumman Systems Corporation Write-through detection for a memory circuit with an analog bypass portion
US10424726B2 (en) 2017-12-28 2019-09-24 Spin Memory, Inc. Process for improving photoresist pillar adhesion during MRAM fabrication
US10395712B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Memory array with horizontal source line and sacrificial bitline per virtual source
US10395711B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Perpendicular source and bit lines for an MRAM array
US10891997B2 (en) 2017-12-28 2021-01-12 Spin Memory, Inc. Memory array with horizontal source line and a virtual source line
US10811594B2 (en) 2017-12-28 2020-10-20 Spin Memory, Inc. Process for hard mask development for MRAM pillar formation using photolithography
US10360962B1 (en) 2017-12-28 2019-07-23 Spin Memory, Inc. Memory array with individually trimmable sense amplifiers
US10840436B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture
US10546624B2 (en) 2017-12-29 2020-01-28 Spin Memory, Inc. Multi-port random access memory
US10886330B2 (en) 2017-12-29 2021-01-05 Spin Memory, Inc. Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch
US10367139B2 (en) 2017-12-29 2019-07-30 Spin Memory, Inc. Methods of manufacturing magnetic tunnel junction devices
US10840439B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Magnetic tunnel junction (MTJ) fabrication methods and systems
US10784439B2 (en) 2017-12-29 2020-09-22 Spin Memory, Inc. Precessional spin current magnetic tunnel junction devices and methods of manufacture
US10424723B2 (en) 2017-12-29 2019-09-24 Spin Memory, Inc. Magnetic tunnel junction devices including an optimization layer
US10438995B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Devices including magnetic tunnel junctions integrated with selectors
US10438996B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Methods of fabricating magnetic tunnel junctions integrated with selectors
US10446744B2 (en) 2018-03-08 2019-10-15 Spin Memory, Inc. Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same
US10734573B2 (en) 2018-03-23 2020-08-04 Spin Memory, Inc. Three-dimensional arrays with magnetic tunnel junction devices including an annular discontinued free magnetic layer and a planar reference magnetic layer
US11107974B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer
US11107978B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US10784437B2 (en) 2018-03-23 2020-09-22 Spin Memory, Inc. Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US10411185B1 (en) 2018-05-30 2019-09-10 Spin Memory, Inc. Process for creating a high density magnetic tunnel junction array test platform
US10593396B2 (en) 2018-07-06 2020-03-17 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10692569B2 (en) 2018-07-06 2020-06-23 Spin Memory, Inc. Read-out techniques for multi-bit cells
US10600478B2 (en) 2018-07-06 2020-03-24 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10559338B2 (en) 2018-07-06 2020-02-11 Spin Memory, Inc. Multi-bit cell read-out techniques
US10447278B1 (en) 2018-07-17 2019-10-15 Northrop Grumman Systems Corporation JTL-based superconducting logic arrays and FPGAs
US10650875B2 (en) 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US10818346B2 (en) 2018-09-17 2020-10-27 Northrop Grumman Systems Corporation Quantizing loop memory cell system
US10699761B2 (en) 2018-09-18 2020-06-30 Spin Memory, Inc. Word line decoder memory architecture
US11621293B2 (en) 2018-10-01 2023-04-04 Integrated Silicon Solution, (Cayman) Inc. Multi terminal device stack systems and methods
US10971680B2 (en) 2018-10-01 2021-04-06 Spin Memory, Inc. Multi terminal device stack formation methods
US11107979B2 (en) 2018-12-28 2021-08-31 Spin Memory, Inc. Patterned silicide structures and methods of manufacture
US11024791B1 (en) 2020-01-27 2021-06-01 Northrop Grumman Systems Corporation Magnetically stabilized magnetic Josephson junction memory cell

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06150023A (ja) * 1992-11-06 1994-05-31 Hitachi Ltd マイクロコンピュータ及びマイクロコンピュータシステム
JP2000048570A (ja) * 1998-07-28 2000-02-18 Mitsubishi Electric Corp 半導体記憶装置
JP2004086970A (ja) 2002-08-26 2004-03-18 Renesas Technology Corp 半導体記憶装置
JP4547313B2 (ja) 2005-08-01 2010-09-22 株式会社日立製作所 半導体記憶装置
JP2007172778A (ja) * 2005-12-26 2007-07-05 Nec Electronics Corp メモリテスト回路及びメモリテスト方法

Also Published As

Publication number Publication date
US8072821B2 (en) 2011-12-06
US20100110803A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
JP2010113765A (ja) 半導体記憶装置
US9761297B1 (en) Hidden refresh control in dynamic random access memory
JP2010123164A (ja) 半導体記憶装置及びその制御方法
US9520167B2 (en) Semiconductor memory device using delays to control column signals for different memory regions
KR100719377B1 (ko) 데이터 패턴을 읽는 반도체 메모리 장치
US10614871B2 (en) Semiconductor devices and semiconductor systems including the semiconductor devices
JP3839638B2 (ja) データ処理速度及びデータ入出力ピンの効率を向上させうる半導体メモリ装置及びその読出/書込制御方法
RU2641478C2 (ru) Полупроводниковое запоминающее устройство
JPH0757457A (ja) メモリ装置
US7668038B2 (en) Semiconductor memory device including a write recovery time control circuit
US11340984B2 (en) Apparatuses, systems, and methods for error correction
CN108573732A (zh) 半导体存储装置以及数据读出方法
US8510632B2 (en) Control method for a semiconductor memory device
US11467965B2 (en) Processing-in-memory (PIM) device
TWI646542B (zh) 半導體記憶體裝置
US20210406208A1 (en) Apparatuses and methods for writing data to a memory
US9460767B2 (en) Semiconductor memory device
US10381066B2 (en) Semiconductor memory device with burst mode
US20010015929A1 (en) Integrated circuit memory devices having multiple input/output buses and precharge circuitry for precharging the input/output buses between write operations
US20100124141A1 (en) Semiconductor memory device of dual-port type
US10102918B2 (en) Semiconductor device, for reading fuse data using a command, semiconductor system and operating method thereof
US20230077701A1 (en) Processing-in-memory(pim) device
US20230215483A1 (en) Semiconductor memory device and memory system including the same
US20240126476A1 (en) Activate information on preceding command
KR100924017B1 (ko) 오토 프리차지 회로 및 오토 프리차지 방법