JP2007242162A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2007242162A JP2007242162A JP2006064428A JP2006064428A JP2007242162A JP 2007242162 A JP2007242162 A JP 2007242162A JP 2006064428 A JP2006064428 A JP 2006064428A JP 2006064428 A JP2006064428 A JP 2006064428A JP 2007242162 A JP2007242162 A JP 2007242162A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- memory cell
- command
- read
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【課題】外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置を提供する。
【解決手段】パイプライン動作を行う同期型の半導体記憶装置は、誤り訂正回路14,15、出力回路及び第1,第2の書き込み回路18−1〜18−5,19,13,16を備える。第1の書き込み回路は、メモリセルから読み出され、誤り訂正回路で訂正されたデータに、第1のライトコマンドに対応して外部から入力された第1のライトデータの少なくとも一部を上書きしてメモリセルに書き込む。第2の書き込み回路は、第1のライトコマンドが入力されたサイクルと上書きされたデータがメモリセルに書き込まれるサイクルの間に、外部から入力された第2のライトデータの少なくとも一部を上書きされたデータに再上書きし、再上書きされた上書きデータを符合化してメモリセルに書き込む。
【選択図】 図1
【解決手段】パイプライン動作を行う同期型の半導体記憶装置は、誤り訂正回路14,15、出力回路及び第1,第2の書き込み回路18−1〜18−5,19,13,16を備える。第1の書き込み回路は、メモリセルから読み出され、誤り訂正回路で訂正されたデータに、第1のライトコマンドに対応して外部から入力された第1のライトデータの少なくとも一部を上書きしてメモリセルに書き込む。第2の書き込み回路は、第1のライトコマンドが入力されたサイクルと上書きされたデータがメモリセルに書き込まれるサイクルの間に、外部から入力された第2のライトデータの少なくとも一部を上書きされたデータに再上書きし、再上書きされた上書きデータを符合化してメモリセルに書き込む。
【選択図】 図1
Description
本発明は、パイプライン動作を行う同期型の半導体記憶装置に係り、更に詳しくは、オンチップ誤り訂正回路により誤り訂正が行われる半導体記憶装置に関する。
高速なデータ転送を行うために、外部から入力されるクロック信号に同期して動作させる同期型の半導体記憶装置が知られている。また、信頼性を高めるために、誤り訂正回路を内蔵したオンチップ誤り訂正技術が採用される(例えば非特許文献1参照)。このような同期型で且つ誤り訂正機能を有する半導体記憶装置は、次のようにしてデータの書き込みと読み出しを行っている。
メモリセルへの書き込み動作では、組織符号、すなわち符号語の中に情報ビットと同じものが含まれているものを考えると、入力された例えば128ビットの情報ビットをそのままメモリセルに書き込む。また、この128ビットの情報ビットから8ビットのパリティ(チェックビット、コードビット等と呼ばれる場合もある)を発生させ、これをパリティビット(parity bit)用のメモリセルに書き込む。
一方、読み出し動作時には、メモリセルから上記128ビットの情報ビットと上記8ビットのパリティビットを読み出し、シンドローム(syndrome)を生成する。この生成したシンドロームをデコードすることにより、情報ビットの誤りが1ビットならば訂正することが可能である。
ところで、例えば内部バス幅が128ビットであるのに対して、ライトマスク機能によりライトデータが128ビット未満の場合に書き込み動作を行いたいことがある。しかし、ライトデータが128ビット未満であるので、これだけでは正しい符号を生成することができない。このため、書き込むべきアドレスのメモリセルから一旦データを読み出して来なければならない。よって、メモリセルからの読み出し、エラー訂正、ライトデータの上書き、符号生成、メモリセルへの書き込みという、いわゆる“リードモディファイライト”動作が必要になる。
従って、外部から入力されたライトデータの長さが内部バス幅よりも狭いとデータ転送速度が低下する。このような動作は、ライトマスク機能だけではなく、外部バス幅が内部バス幅よりも狭い場合にも起こり得る。
IEEE SPECTRUM APRIL 2000 "Adding error-correcting circuitry to ASIC memory" Gray, K.; Spectrum, IEEE Volume 37, Issue 4, April 2000 Page(s):55-60 Digital Object Identifier 10.1109/6.833029
IEEE SPECTRUM APRIL 2000 "Adding error-correcting circuitry to ASIC memory" Gray, K.; Spectrum, IEEE Volume 37, Issue 4, April 2000 Page(s):55-60 Digital Object Identifier 10.1109/6.833029
本発明は上記のような事情に鑑みてなされたもので、その目的とするところは、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置を提供することにある。
本発明の一態様によると、パイプライン動作を行う同期型の半導体記憶装置であって、メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、第1のライトコマンドに対応して外部から入力された第1のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第1の書き込み回路と、前記上書きされたデータをチップの外部へ出力するように構成された出力回路と、前記第1のライトコマンドが入力されたサイクルと前記上書きされたデータが前記メモリセルに書き込まれるサイクルの間に、外部から入力された第2のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第2の書き込み回路とを具備する半導体記憶装置が提供される。
また、本発明の一態様によると、パイプライン動作を行う同期型の半導体記憶装置であって、メモリセルアレイと、前記メモリセルアレイ中の選択されたメモリセルに対するデータの書き込み及び読み出しのための増幅動作を行う第1のセンスアンプと、データが入力されるデータ入力バッファと、データ書き込み時にECC機能を実現するための符号を生成するコードジェネレータと、前記コードジェネレータで符号化されたライトデータが入力され、前記第1のセンスアンプにライトデータを供給し、且つ前記第1のセンスアンプから読み出されたリードデータが供給されるDQバッファと、前記メモリセルアレイから読み出された情報ビットと符号ビットが入力され、シンドロームを発生するシンドロームジェネレータと、シンドロームジェネレータから出力されるシンドロームのデコードと誤り訂正を行う誤り訂正回路と、前記誤り訂正回路の出力信号を出力するデータ出力バッファとを具備し、前記メモリセルから読み出され、前記誤り訂正回路で誤り訂正されたリードデータに、外部から入力されたライトデータの少なくとも一部を上書きしてメモリセルに書き込み、前記上書きされたデータを前記データ出力バッファから外部へ出力し、前記上書きされたデータに、外部から異なる時刻に入力されたライトデータの少なくとも一部を上書きし、再上書きされた前記上書きデータを符合化して前記メモリセルに書き込む半導体記憶装置が提供される。
更に、本発明の一態様によると、パイプライン動作を行う同期型の半導体記憶装置であって、メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、外部から入力された第1のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第1の書き込み回路と、外部から入力された第2のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第2の書き込み回路と、前記クロック信号に同期した第1のタイミングで前記第1の書き込み回路に第1のライトコマンドを出力し、前記第1のタイミングの後の第2のタイミングに、前記第1のライトコマンドによる制御対象となるカラムアドレスに対して再び第2のライトコマンドもしくはリードコマンドを出力するように構成されたコマンドコントローラとを具備し、前記第1のライトコマンドによる前記メモリセルへの書き込みが終了する前に、前記第2のコマンドにおける読み出し動作が必要になる場合に、第1のライトコマンドにおける符号生成の入力となる上書きデータを第2のコマンドの読み出し訂正データと見なす半導体記憶装置が提供される。
本発明によれば、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置が得られる。
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本発明の第1の実施形態に係る半導体記憶装置について説明するためのもので、クロック同期型の混載DRAMマクロの全体配置図を概略的に示している。
図1は、本発明の第1の実施形態に係る半導体記憶装置について説明するためのもので、クロック同期型の混載DRAMマクロの全体配置図を概略的に示している。
この例では、32MビットのDRAMマクロ11,12と、これらDRAMマクロ11,12間に配置されたデコード部13を抽出して示している。上記DRAMマクロ11,12はそれぞれ4つのサブマクロ11−1〜11−4,12−1〜12−4を含み、これらサブマクロ11−1〜11−4と12−1〜12−4間にそれぞれデコーダブロック(DECBLK)13−1〜13−4が配置されている。上記サブマクロ11−4,12−4に隣接してECC入出力ブロック(ECCIOBLK)14,15が配置される。上記ECC入出力ブロック14,15間にはコントロールブロック(CTRLBLK)16が配置されている。
各サブマクロ11−1〜11−4,12−1〜12−4はそれぞれバンクを構成している。各々のバンクは、4個の1Mビットのメモリセルアレイ(1Mb array)17−1〜17−4、センスアンプ部18−1〜18−5、及びDQバッファブロック(DQBUFBLK)19を備えている。
上記各メモリセルアレイ17−1〜17−4は、512本のワード線、2048個のビット線対、数個のスペアビット線対、及び上記ワード線と上記ビット線対との各交差位置に配置されるメモリセル等から構成される。上記センスアンプ部18−1〜18−5は、上記メモリセルからビット線対に読み出された信号を感知して増幅するもので、上記各メモリセルアレイ17−1〜17−4の両側に、これらメモリセルアレイ17−1〜17−4をそれぞれ挟むように配置されている。
上記DQバッファブロック19は、ECC入出力ブロック14,15から伝達されるライトデータ(128+8 WD)をメモリセルに書き込む制御をするため、及びメモリセルから読み出されたリードデータ(128+8 RD)をECC入出力ブロック14,15に伝達するための制御回路として働くものである。これらECC入出力ブロック14,15は、誤り訂正動作の制御とデータの入出力を行うためのもので、外部から入力されたデータDINを符号化してDQバッファブロック19に伝達する。また、DQバッファブロック19から伝達されたリードデータに誤りがあればそれを訂正し、出力データDOUTとしてチップの外部に出力する。
図2は、上記図1に示したDRAMマクロにおけるデータパスを概略的に示すブロック図であり、DRAMマクロ12、デコーダブロック13、ECC入出力ブロック15及びコントロールブロック16を抽出して示している。図2に示すように、上記デコーダブロック13には、ロウデコーダ(row dec.)13A、カラムデコーダ(column dec.)13B、リード/ライト制御回路(R/W CTRL)13C及びセンスアンプ制御回路(図示せず)等が含まれている。このデコーダブロック13によりメモリセルアレイ17−4中のメモリセルの選択動作とセンスアンプ部18−5による感知及び増幅動作、及びDQバッファブロック19の動作等が制御される。
上記コントロールブロック16は種々の制御信号を生成する制御信号生成回路として働き、アドレスコントローラとコマンドコントローラ(addr/cmd controller)が含まれている。このコントロールブロック16には、クロック信号、アドレス信号及びコマンド等が入力され、上記ロウデコーダ13Aとカラムデコーダ13Bにそれぞれアドレス信号(row/col addr)を出力し、リード/ライト制御回路13Cにリード/ライトコマンド(r/w cmd)を出力し、ECC入出力ブロック15に制御信号CSを出力する。そして、アドレス入力バッファへのアドレスの取り込みの制御、上記デコーダブロック13とECC入出力ブロック15のタイミングの制御等を行う。
上記センスアンプ部(S/A)18−5にはセンスアンプ(sense amp.)とカラムセレクト(column select)トランジスタが含まれている。上記DQバッファブロック19には、DQバッファ21−1〜21−136が設けられている。各DQバッファ21−1〜21−136には、書き込みデータ線WDを介して入力データDINが供給され、DQ線、カラム選択トランジスタ及びセンスアンプを介してメモリセルに書き込まれる。メモリセルから読み出されたデータは、センスアンプ、カラム選択トランジスタ、及びDQ線を介して入出力バッファに供給され、リードデータ線RDを介して出力データDOUTとして読み出される。上記ECC入出力ブロック15は、ECC回路とI/O回路を備えており、上記コマンドコントローラ16により制御される。
図3は、上記図1に示したDRAMマクロにおけるメモリセルアレイ17−4、センスアンプ18−5、DQバッファブロック19及びECC入出力ブロック15を抽出して詳細なデータパスを示している。
メモリセルアレイ17−4には、ワード線WLとビット線対BLt,BLcとの各交差位置にそれぞれメモリセルが配置されている。ワード線WLとビット線BLcに接続されたメモリセルMCで代表的に示すように、各メモリセルMCはダイナミック型であり、セルキャパシタCCと選択トランジスタSTとで構成されている。上記選択トランジスタSTの電流通路の一端はビット線BLcに接続され、ゲートはワード線WLに接続される。上記セルキャパシタCCの一方の電極は上記選択トランジスタSTの電流通路の他端に接続され、他方の電極は接地点Vssに接続されている。
上記ビット線対BLt,BLcには、センスアンプ(SADP)18−5が接続されている。このセンスアンプ18−5は、デュアルポート(dual-port)センスアンプである。上記センスアンプ18−5に接続されるデータバスには、RDQ線対用(RDQt,RDQc)とWDQ線対用(WDQt,WDQc)の2系統がある。また、カラム選択線CSLもRCSL用とWCSL用の2系統がある。これにより、同一サイクルにおいて異なるアドレスに対する読み出し動作と書き込み動作を同時に並列に行うことができる。
後述するように、上記メモリセルアレイ17−4には、センスアンプ18−4も接続されている。このセンスアンプ18−4もデュアルポートセンスアンプである。例えばセンスアンプ18−4は上記メモリセルアレイ17−4中の奇数番目のビット線対に接続され、センスアンプ18−5は上記メモリセルアレイ17−4中の偶数番目のビット線対に接続され、メモリセルアレイ17−4の両側に配置されたセンスアンプ18−4,18−5でビット線対が選択される。
制御回路として働くDQバッファブロック19は、DQバッファ(DQBUF)21とRD線ドライバ(RDDRV)22で構成されている。上記DQバッファ21は、DQ線リードバッファとDQ線ライトバッファを備え、上記センスアンプ18−5のRDQ線対(RDQt,RDQc)とWDQ線対(WDQt,WDQc)にそれぞれ接続される。このDQバッファ21は、選択するDQ線対をシフトしてリダンダンシ制御を行う。上記RD線ドライバ22はRD線の途中に設けられ、このRD線を駆動するようになっている。
上記ECC入出力ブロック15は、データ入力バッファ(DINBUF)23、コードジェネレータ(CODEGEN)24、書き込みデータ線(WD線)ドライバ(WDDRV)25、シンドロームジェネレータ(SYNDGEN)26、誤り訂正回路(EC)27、レジスタ(REG)28及びデータ出力バッファ(DOUTBUF)29等を含んで構成されている。
上記データ入力バッファ23には、入力データDINが入力される。上記コードジェネレータ24は、データ書き込み時にECC機能を実現するための符号を生成する。上記WD線ドライバ25はWD線を駆動する。上記シンドロームジェネレータ26は、データリード時にシンドロームを発生する。上記誤り訂正回路27は、シンドロームのデコードと誤り訂正を行う。上記レジスタ28は、誤り訂正回路27の出力をラッチする。そして、上記データ出力バッファ29から出力データDOUTを出力するようになっている。
上記のような構成において、書き込み動作時のデータの流れは次のようになる。外部データバス幅を128ビットとすると、入力データDINは入力バッファ23を介して128ビットのライトデータWDxとしてコードジェネレータ24に供給される。コードジェネレータ24は、この128ビットのライトデータWDxを情報ビットとして符号(コード)を発生する。ここでは、符合を1誤り訂正2誤り検出可能な組織化ハミングコードを使用しているものとする。このとき、検査符号長は8ビットで十分なので、情報ビットとしての128ビットとパリティビットとしての8ビットを合わせた136ビットが符号長となる。
符号化された136ビットのライトデータWDyは、WD線ドライバ25に供給される。このWD線ドライバ25でWD線が駆動されてDQバッファ21に伝えられる。そして、ライト用のDQ線対WDQt,WDQcとセンスアンプ18−5(または18−4)を介してメモリセルアレイ17−4中の選択されたメモリセルMCに書き込まれる。ここで、上記ライト用のWDQ線対は、136ビットの相補信号線対WDQt,WDQcであり、カラムリダンダンシ用に4ビットのDQ線対分を含んでいる。
一方、読み出し動作時のデータの流れは次のようになる。カラムリダンダンシ及びECC用のパリティビットを含むデータが、メモリセルアレイ17−4中のメモリセルからセンスアンプ18−5(または18−4)を介して読み出され、140(136+4)ビットのリード用DQ線対RDQt,RDQcを介してDQバッファ21に入力される。DQバッファ21に入力されたデータはリダンダンシ制御された後、136ビットのRD線に伝達される。このRD線に読み出されたデータはRD線ドライバ22で増幅され、リードデータRDyとしてECC入出力ブロック14内のシンドロームジェネレータ26と誤り訂正回路27に供給される。
RD線上の136ビットのリードデータRDyのうち、パリティビットRDy(parity)としての8ビットと、情報ビットRDy(data)としての128ビットがシンドロームジェネレータ26に入力される。シンドロームジェネレータ26は、これらパリティビットと情報ビットとに基づいて8ビットのシンドローム(syndrome)を生成する。生成されたシンドロームは、誤り訂正回路27内に供給されてデコードされる。誤り訂正回路27は、128ビットの情報ビットRDy(data)のデータに誤りが存在するとき、その誤りを訂正可能であれば訂正してレジスタ28に供給する。そして、この訂正された情報ビットRDx(128ビット)がデータ出力バッファ29を介して出力データDOUTとして外部に出力される。
図4は、上記図3に示したデュアルポートセンスアンプ(SADP)18−5の構成例を示している。この図4では簡単化のためにメモリセルアレイ(MCA)17−4の片側のみを詳細に示す。メモリセルアレイ17−4の両側に、センスアンプ群(1K S/A)30A,30Bが配置されている。上記センスアンプ群30A中の各々のセンスアンプ30A−1,30A−3,30A−5,…はそれぞれ、奇数番目のビット線対BLP1,BLP3,BLP5,…に接続される。上記センスアンプ群30B中の各々のセンスアンプ30B−0,30B−2,30B−4,…はそれぞれ、偶数番目のビット線対BLP0,BLP2,BLP4,…に接続される。
上記センスアンプ30B−0,30B−2,30B−4,…はそれぞれ、トランジスタ(○印で簡略化して示す)の電流通路を介してリード用のDQ線対RDQt,RDQcとライト用のDQ線対WDQt,WDQcに共通接続される。これらセンスアンプ30B−0,30B−2,30B−4,…はそれぞれ、リード用の回路部とライト用の回路部を備えている。上記DQ線対RDQt,RDQcに接続されたトランジスタのゲートには、リード用カラム選択線RCSL0〜RCSL7がDQ線対毎に接続される。上記DQ線対WDQt,WDQcに接続されたトランジスタのゲートには、ライト用カラム選択線WCSL0〜WCSL7がDQ線対毎に接続される。
上記DQ線対WDQt,WDQcは、上記ビット線対に所定の単位で共通接続されており、DQ線対WDQt<0>,WDQc<0>、DQ線対WDQt<2>,WDQc<2>、…を介してメモリセルアレイ17からのリードデータとライトデータの転送が行われる。
なお、図示しないが、センスアンプ30A−1,30A−3,30A−5,…側も同様な回路構成になっている。
上記のような構成において、メモリセルに対する書き込み動作時には、ライト用カラム選択線WCSL(WCSL0〜WCSL7)の内の1本が選択され、選択されたライト用カラム選択線WCSLにゲートが接続されたトランジスタがオンする。これにより、ライト用DQ線対WDQt,WDQcのデータがセンスアンプ30B−i(i=0,1,2,3,…)で増幅されてビット線対BLPiに供給されることによりメモリセルにデータが書き込まれる。
一方、メモリセルからの読み出し動作時には、リード用カラム選択線RCSL(RCSL0〜RCSL7)の内の1本が選択され、選択されたリード用カラム選択線RCSLにゲートが接続されたトランジスタがオンすることにより、メモリセルのデータがセンスアンプ30B−j(j=0,1,2,3,…)で増幅され、リード用DQ線対RDQt,RDQc上に読み出される。
異なるカラムアドレス、例えばリード用カラム選択線RCSL0に対応する読み出し動作と、ライト用カラム選択線WCSL1に対する書き込み動作が同時に行われるとすると、ビット線対BLP0のデータはリード用のDQ線対RDQt<0>,RDQc<0>に読み出されるとともに、ライト用のDQ線対WDQt<0>,WDQc<0>のデータがビット線対BLP8に伝えられてメモリセルに書き込まれる。
次に、同期型でECC回路を搭載し、且つデュアルポートセンスアンプを備えた半導体記憶装置において、パイプライン動作させる場合について図5(a),(b)により説明する。
図5(a),(b)は、3段パイプライン構成において、レイテンシ(Latency)が3の動作を説明するためのタイミングチャートである。(a)図は読み出し動作、(b)図は書き込み動作を示している。(a)図に示すように、クロック信号CLKの立ち上がりエッジに応答して読み出し動作を指示するコマンド(CMD)R,R,Rとその対象となるアドレス(ADD)A0,A1,A2が取り込まれる。これによって、第1ステージ(stage1)ではクロック信号CLKの立ち上がりに応答してリードデータR0,R1,R2が転送される。第2ステージには前サイクルのリードデータの誤り訂正データE0,E1,E2が転送されている。そして、クロック信号CLKの3クロック目、すなわちサイクル3(cycle3)から上記リードデータR0,R1,R2に対応する出力データQ0,Q1,Q2が順次出力(data-out)される。
(b)図は、3段パイプライン構成において連続するライトコマンドが入力された場合の書き込み動作を示している。ライトコマンド(CMD)W,W,W、アドレス(ADD)A0,A1,A2、ライトデータ(DATA)D0,D1,D2及びマスクデータ(MASK)M0,M1,M2は、クロック信号CLKの立ち上がりエッジに応答して取り込まれる。
外部からライトコマンドと同時にライトデータを入力するのは、誤り訂正機能を有するクロック同期型のDRAMでリードモディファイライトを行う際には、誤り訂正を行った後にこの訂正されたデータに入力された128ビットより小さいライトデータを上書きして符号を生成する必要があるからである。
そして、第1ステージにはクロック信号CLKの立ち上がりに応答してリードデータR0,R1,R2が転送され、第2ステージには前サイクルのリードデータの誤り訂正データE0,E1,E2が転送される。クロック信号CLKの3クロック目、すなわちサイクル3から上記入力データD0,D1,D2に対応するライトデータW0,W1,W2が第3ステージを転送されて書き込み動作が行われる。
図6は、本発明に至る考察に用いた半導体記憶装置のデータパスを概念的に表したブロック図である。ここでは、便宜上ブロック図的に表現しているが、必ずしも実際の回路ブロックそのものではない。
まず、レイテンシが3でパイプライン動作をさせる場合のマスク書き込み動作について説明する。
第1ステージにおいては、クロック信号CLKが入力されるブロック31にコマンドやアドレスが取り込まれ、デコードされて対応するリード用のカラム選択線RCSLが活性化される。これによって、入力されたカラムアドレスに対応するメモリセルから128ビットの情報ビットと8ビットのパリティビットのデータがリード用DQ線対(RDQ線対)上に読み出される。また、外部から入力されたライトデータDINtとデータマスク情報DMが、クロック信号CLKの第1の立ち上がりに応答してラッチ(フリップフロップ)34,35に取り込まれ、これらのラッチ34,35からライトデータWD0とデータマスク情報DM0が出力される。
第2ステージにおいては、上記RDQ線対上のデータが、クロック信号CLKの第2の立ち上がりに応答してDQリードバッファ32に取り込まれてRD線に読み出される。もし、上記RDQ線対上のデータに1ビットの誤りがあれば、誤り訂正回路(EC)27により訂正されてから信号線RX上に読み出される。このとき、誤りのあったビットに対応する誤り位置情報ECpが“H”になる。一方、ライトデータWD0とライトマスク(データマスク情報)DM0は、クロック信号CLKの第2の立ち上がりに応答してラッチ36,37に取り込まれ、更にライトデータWD1とライトマスクDM1になり、データ上書き論理回路(OV)に入力される。
上記データ上書き論理回路38の出力信号WZは、メモリセルから読み出されて訂正されたデータをマスクされていないライトデータで上書きしたものである。また、このデータ上書き論理回路38の出力信号DMXpは、入力されたデータマスク情報DMにおいて、もし、誤り訂正が行われた場合にその誤り位置を示す情報ECpに対応するビットをマスクしないようにしたものである。
次に、クロック信号CLKの第3の立ち上がりに応答して、データマスク情報DMXpと上書きされたライトデータWZがラッチ39,40に取り込まれる。ラッチ39から出力されるマスク情報DMpは、DQライトバッファ(write buffer)41に転送され、ラッチ40から出力される上書きされたライトデータWYは符号生成回路(CG)42に入力されて符号WXが生成される。この符号WXはマスク情報DMpにしたがってDQライトバッファ41からWDQ線対に伝達され、第1ステージと同じアドレスに対応するライト用カラム選択線WCSLによって選択されるカラムのメモリセルに書き込まれる。
次に、上記半導体記憶装置における読み出し時のデータの流れを簡単に説明する。図7は、本発明に至る考察に用いた半導体記憶装置におけるリード時のデータフローを説明するための図である。ここでは、説明が煩雑になるのを避けるために、情報長が128ビットには限らないものとする。あるカラムアドレスに対応するメモリセルに書き込まれているデータが“FFFFFFFF”であり、その時のパリティビットが例えば、“38”であるとする(本来のデータ)。なんらかの理由、例えばソフトエラーでメモリセルのデータの1ビットが反転して“FFFFF7FF”になったと仮定する。この誤りを持った状態で、あるサイクル(cycle 1)においてリードコマンドRが入力されると、このカラムアドレスに対応するメモリセルからDQリードバッファ(READ-buffer)32に“FFFFF7FF 38”が読み出される。
サイクル2(cycle 2)では、誤り訂正回路27により誤り訂正が行われ、情報ビットは“FFFFFFFF”に正しく訂正される。
そして、サイクル3(cycle 3)では、正しいデータである“FFFFFFFF”がマクロ外部に出力される。
図8は、本発明に至る考察に用いた半導体記憶装置におけるライト時の第1のデータフローを示している。データの読み出しと誤り訂正は図7で説明した読み出し動作と同じであり、読み出され且つ訂正されたデータは“FFFFFFFF”となる。
一方、入力された書き込みデータ(data)は“00000000”であり、マスク(mask)は“0111”である。これによって、データの最初(上位)のバイト(byte)のみ書き込まれ、右側(下位側)の3バイトはマスクされる。この読み出し訂正データ“FFFFFFFF”、書き込みデータ“00000000”及びマスク情報“0111”により、メモリセルに書き戻すデータは“00FFFFFF”となる。この情報ビットから生成されたパリティを例えば“A5”とすると、この符号語“00FFFFFF A5”をメモリセルに書き戻せば良い。この際、マスクされたビットはメモリセルに書き戻す必要はないので、マスクされていない部分とパリティのみを書き込んでも良い。
但し、後者では、訂正されたビットの書き戻しは行われておらず、再度読み出す際にも誤りが1ビットは存在することになる。しかし、これは誤り訂正能力内なので、信頼性は低下するものの、再読み出し時に訂正可能であり、更なる誤りが生じさえしなければ動作上は問題ではない。
また、信頼性の低下を避けるために、訂正されたビットの書き戻しを行う場合には、図9に示すように、誤り位置情報にしたがってマスク情報を修正し、誤り訂正を行ったビット(またはバイト)のマスクを外すという手法もある。
しかしながら、このようなパイプライン動作を行った場合には、あるサイクルで入力されたコマンドに対して、その前後の数サイクルでの複数のコマンドの中に当該サイクルと同じアドレスのものが含まれていると問題が生ずる恐れがある。
次に、いくつかの場合を例にとって上記問題点について説明する。
図10は、あるアドレスに対するライトコマンドが入力されたのち、その次のサイクルにおいて、同じアドレスに対するリードコマンドが入力された場合のデータフローを模式的に示したものである。
第1のライトコマンドWに対する動作は図9と全く同じであるので説明を省略する。
第2のコマンドであるリードコマンドRに対する動作は、図7で説明したものと同じであり、サイクル2においてメモリセルから読み出されたデータ“FFFFF7FF 38”が、サイクル3において“FFFFFFFF”に訂正され、サイクル4においてマクロ外部に出力される。
しかし、第1のコマンドに対して、サイクル3においてメモリセルに書き込まれたデータは“00FFFFFF A5”であり、このライトコマンドの後に同じアドレスに対するリードコマンドが入力されたならば、出力されるべきデータは、“00FFFFFF”である。すなわち、正しくないデータが出力されたことになる。
図11は、2つの連続したライトコマンドが両方とも同じカラムアドレスに対するものである場合のデータフローを示す模式図である。
第1のライトコマンドWに対する動作は図9と全く同じであるので説明を省略する。
第2のライトコマンドWに対する動作としては、メモリセルの読み出しに関しては、メモリセルからの読み出しがサイクル2で行われる。そのメモリセルのアドレスは、第1のライトコマンドで指定されたアドレスと同じ場合であるから、メモリセルの内容はサイクル1で読み出されたものと同じものである。ここでは、サイクル2において“FFFFF7FF 38”がDQリードバッファ32に読み出され、サイクル3において“FFFFFFFF”と正しく訂正される。
一方、ライトデータは“55555555”、マスクは“1011”であり、サイクル4において、上書きされたデータ“FF55FFFF”からパリティ“6D”が生成されてメモリセルに“FF55FFFF 6D”が書き込まれる。しかし、これは正しくないデータである。コマンド入力される前のセルデータは“FFFFF7FF 38”であり、第1のライトコマンド入力後は“00FFFFFF A5”が期待される。これに対し、ライトデータが“55555555”で、マスクが“1011”である第2のライトコマンドが入力された場合には、“0055FFFF A0”がセルに書き込まれるべきである。
但し、ここでは、情報ビット“0055FFFF”に対するパリティビットは、仮に“A0”であるとした。
上述したように、クロック信号CLKに同期してパイプライン動作を行う誤り訂正機能を持った半導体記憶装置においては、あるアドレスに対する1つのカラムコマンドが入力された前後複数のサイクルで、このアドレスと同じアドレスに対するカラムコマンドが入力されている場合に正しいデータが読み出されない、または正しいデータがメモリセルに書き込まれない恐れがある。
そこで本発明の第1の実施形態では、上述したような考察に基づき、あるアドレスに対する1つのカラムコマンドが入力された前後複数のサイクルで、このアドレスと同じアドレスに対するカラムコマンドが入力されている場合にも正しいデータを読み出すことができ、且つ正しいデータをメモリセルに書き込むことができるようにしている。
以下、本発明の実施形態について詳しく説明する。
[第1の実施形態]
図12は、本発明の第1の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図である。但し、このブロック図は、実施形態の回路を直接的に表現しているのではなく、概念図であり回路的な表現で模式的に表している。図12と図6との相違点は、レジスタ(REGRV)51、マルチプレクサ(MUXRZ)52及びマルチプレクサ(MUXRY)53が追加されていることである。上記レジスタ51は、上記クロック信号CLKから生成された反転クロック信号/CLKで制御され、このクロック信号/CLKが入力されると、ラッチ39から出力されるライトデータWYが信号RVとしてマルチプレクサ52,53の一方の入力端に伝達される。
図12は、本発明の第1の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図である。但し、このブロック図は、実施形態の回路を直接的に表現しているのではなく、概念図であり回路的な表現で模式的に表している。図12と図6との相違点は、レジスタ(REGRV)51、マルチプレクサ(MUXRZ)52及びマルチプレクサ(MUXRY)53が追加されていることである。上記レジスタ51は、上記クロック信号CLKから生成された反転クロック信号/CLKで制御され、このクロック信号/CLKが入力されると、ラッチ39から出力されるライトデータWYが信号RVとしてマルチプレクサ52,53の一方の入力端に伝達される。
上記マルチプレクサ52は、所定の条件にしたがって状態が定まる選択信号RVtoRZが“H”になると、信号RVを選択して信号RZとしてデータ上書き論理回路OVに供給する。一方、選択信号RVtoRZが“L”の時には、従来通り信号RXを選択して信号RZとしてデータ上書き論理回路OVに供給する。
また、上記マルチプレクサ53は、所定の条件にしたがって状態が定まる選択信号RVtoRYが“H”になると信号RVを選択して信号RYとしてデータ出力回路33に供給する。これに対し、信号RVtoRYが“L”の時には、信号RXを選択して信号RYとしてデータ出力回路33に供給する。
ここで、上述したようなECC機能付きの3段パイプライン構成である場合には、信号RVtoRZは、例えばあるアドレスに対するライトコマンドに引き続くライトコマンドが、やはり同じアドレスに対するものである場合に“H”になる信号であり、また、信号RVtoRYは、あるアドレスに対するライトコマンドに引き続くリードコマンドがやはり同じアドレスに対するものである場合に“H”になる信号である。
もちろん、パイプライン構成によっては、多少の変更は必要になるかもしれないが、基本構成はこのような考え方によって得られる。
図13は、本発明の第1の実施形態に係る半導体記憶装置における同一アドレスに対する連続書き込み動作のデータフローを模式的に示している。本実施形態では、第2のライトコマンドにおいて、サイクル2でメモリセルから読み出し、サイクル3で誤り訂正を行ったデータ“FFFFFFFF”、すなわち図12における信号RXは、このライトコマンドにおける符号化には使用せずに、第1のライトコマンドにおいて、サイクル3において符号生成に使用した上書きデータ“00FFFFFF”、すなわち図12における信号RVをデータ上書き論理回路OVに入力し、サイクル4においてその上書きデータ(ライトデータ)WYを符号生成に用いている。
これにより、サイクル4において、メモリセルに正しい符号語“0055FFFF A0”を書き込むことが可能になる。
一方、ライトに引き続く同一アドレスに対する読み出し動作は、図示しないが、第1の書き込み動作において符号生成に使用した上書きデータが図12のマルチプレクサ53によって選択される。このマルチプレクサ53の出力信号RYはデータ出力回路33からマクロの外部に出力される。そして、上記データ出力回路33から、やはり正しいデータ“0055FFFF”が出力されることになる。
従って、本発明の第1の実施形態によれば、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える。しかも、あるアドレスに対する1つのカラムコマンドが入力された前後複数のサイクルで、このアドレスと同じアドレスに対するカラムコマンドが入力されている場合にも正しいデータを読み出すことができ、且つ正しいデータをメモリセルに書き込むことができる。
[第2の実施形態]
図14は、本発明の第2の実施形態に係る半導体記憶装置について説明するためのもので、同一アドレスに対する連続書き込み動作の他のデータフローを模式的に示している。すなわち、図12及び図13に示した第1の実施形態において、ライトに引き続いて同一アドレスに対するライトを行った場合に、第2の書き込み動作におけるメモリセルからの読み出しと誤り訂正を省略したものである。
図14は、本発明の第2の実施形態に係る半導体記憶装置について説明するためのもので、同一アドレスに対する連続書き込み動作の他のデータフローを模式的に示している。すなわち、図12及び図13に示した第1の実施形態において、ライトに引き続いて同一アドレスに対するライトを行った場合に、第2の書き込み動作におけるメモリセルからの読み出しと誤り訂正を省略したものである。
この訂正されたデータは、図14に示すサイクル4での符号化には使用されない。よって、第2の書き込み動作におけるメモリセルからの読み出しと誤り訂正を省略すれば、必要のない電力の消費を抑制することができる。
[第3の実施形態]
図15は、本発明の第3の実施形態に係る半導体記憶装置について説明するためのもので、上述した第2の実施形態に更なる改良を加えたものである。
図15は、本発明の第3の実施形態に係る半導体記憶装置について説明するためのもので、上述した第2の実施形態に更なる改良を加えたものである。
すなわち、本第3の実施形態では、ライトに引き続き同一アドレスに対してライトを行った場合に、第2の実施形態と同様に第2の書き込み動作におけるメモリセルからの読み出しと誤り訂正を省略するだけでなく、更に第1の書き込み動作におけるサイクル3での符号の生成とメモリセルへの書き込み動作を省略している。
第2の書き込み動作により、サイクル4で正しいデータがメモリセルに書き込まれるからである。但し、サイクル4での書き込み動作では、マスク情報を無視して符号を全て書き込むか、第1のライトでマスクされていないビット、並びに第2のライトでマスクされていないビットはともに書き込むことが必要である。
上述したように、第2の書き込み動作におけるメモリセルからの読み出しと誤り訂正に加えて、第1の書き込み動作におけるサイクル3での符号の生成とメモリセルへの書き込み動作を省略すれば、必要のない電力の消費を抑制することができる。
図16は、前述した第1の実施形態において、ライトコマンドの2サイクル後に同一アドレスに対する2番目のライトコマンドが入力された場合の書き込み動作のデータフローを模式的に示している。この場合には、図12におけるマルチプレクサ52や53により、訂正されたデータRXが選択されて後段にRZ,RYとして伝達され、符合化やデータ出力に使用される。すなわち、マルチプレクサ52,53の選択信号RVtoRZやRVtoRYは“L”のままである。図16において、第2のライトコマンドはサイクル3で開始されている。
一方、第1のライトコマンドでは、サイクル3にて符号化とメモリセルへの書き込みが行われ、その後に第2の同一アドレスに対するライトコマンドによるメモリセルからの読み出しが行われている。よって、第1のライトコマンドに対するメモリセルへの書き込みがほぼ終了した後でなければ、同じカラムアドレスに対してその書き込んだデータを読み出してしまうと間違った読み出しをする可能性がある。
[第4の実施形態]
ところで、符合化とメモリセルへの書き込みが読み出しに比べて早い場合には問題はないが、第1のライトコマンドに対する符号化に要する時間が遅いと、ビット線に正しいデータが書き込まれる前に第2のライトコマンドに対応する読み出し動作が開始されてしまう恐れがある。このような場合には正しい書き込み動作、読み出し動作は望めない。特に、高速動作を狙うため、サイクルタイムを短くして行く場合には、このような状況が性能を制限してしまうことになる。
ところで、符合化とメモリセルへの書き込みが読み出しに比べて早い場合には問題はないが、第1のライトコマンドに対する符号化に要する時間が遅いと、ビット線に正しいデータが書き込まれる前に第2のライトコマンドに対応する読み出し動作が開始されてしまう恐れがある。このような場合には正しい書き込み動作、読み出し動作は望めない。特に、高速動作を狙うため、サイクルタイムを短くして行く場合には、このような状況が性能を制限してしまうことになる。
図17は、このような制限をなくすための第4の実施形態を示しており、データパスの一部を概略的に示したブロック図である。この図17に示すデータパスでは、DQリードバッファ32の出力と符号生成回路42から出力される符号WXとが入力されるマルチプレクサ54を設けている。
上述したようにレイテンシ3の場合には、ライトコマンドの2サイクル後に同一アドレスに対するライトコマンドまたはリードコマンドが入力された場合には、DQライトバッファ41へ入力される符号WXを選択し、RD線に転送すれば書き込みにかかる時間を改善できる。
[第5の実施形態]
図18は、本発明の第5の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図である。更なる改善を加えた第5の実施形態を示している。ここでは、図12に示した第1の実施形態のデータパスに加えて、新たなマルチプレクサ(MUXRV)56とレジスタ(REGWV)55を付加している。上記レジスタ55は、上書きデータWUの内容をクロック信号/CLKの立ち上がりのタイミングで取り込みWVに出力するものである。上記マルチプレクサ56は、WUかWVを選択信号WUtoRVのレベルに応じて選択動作を行い、WUtoRV=“H”ならばWUの内容を、WUtoRV=“L”ならばWVの信号をRVに渡すものである。
図18は、本発明の第5の実施形態に係る半導体記憶装置について説明するためのもので、データパスの一部を概略的に示したブロック図である。更なる改善を加えた第5の実施形態を示している。ここでは、図12に示した第1の実施形態のデータパスに加えて、新たなマルチプレクサ(MUXRV)56とレジスタ(REGWV)55を付加している。上記レジスタ55は、上書きデータWUの内容をクロック信号/CLKの立ち上がりのタイミングで取り込みWVに出力するものである。上記マルチプレクサ56は、WUかWVを選択信号WUtoRVのレベルに応じて選択動作を行い、WUtoRV=“H”ならばWUの内容を、WUtoRV=“L”ならばWVの信号をRVに渡すものである。
ここで、選択信号WUtoRVは、第1のライトコマンドと、同一のアドレスを持つ第2のライトコマンドが2サイクルのちに入力された場合に“H”となる信号である。
図19乃至21はそれぞれ、上記図18に示した第5の実施形態に係る半導体記憶装置において、各ブロックで示されている代表的な回路、並びにこれらの回路を制御する信号を生成する回路をより詳しく示したものである。ここでは、レイテンシ3の場合の動作に必要な回路を示している。よって、レイテンシが3でない場合やパイプライン構成によっては多少の修正が必要になる。
図19(a),(b)はそれぞれアドレス一致検出回路である。(a)図は模式化したブロックであり、(b)図は具体的な論理構成例を示している。このアドレス一致検出回路は、図1及び図2に示したDRAMマクロにおけるコントロールブロック16のアドレスコントローラ中に設けられている。
例えば、あるマクロ構成において、カラムアドレスが6ビットでCA<0:5>により指定されるものとすると、現在のサイクルのカラムアドレスCA0<0:5>と1サイクル前のカラムアドレスCA1<0:5>が同じである場合、カラムアドレス一致検出信号CAMATCH1が“H”になる。また、現在のサイクルのカラムアドレスCA0<0:5>と2サイクル前のカラムアドレスCA2<0:5>が同じである場合、カラムアドレス一致検出信号CAMATCH2が“H”になる。
図20(a),(b)はそれぞれコマンド一致検出回路である。(a)図は模式化したブロックであり、(b)図は具体的な論理構成例を示している。このコマンド一致検出回路は、図1及び図2に示したDRAMマクロにおけるコントロールブロック16のコマンドコントローラ中に設けられている。
例えば、現在のサイクルのコマンドがライトコマンドで、WT0=“H”であり、1サイクル前のコマンドがやはりライトコマンドで、WT1=“H”の場合にライトコマンド検出信号WWMATCH1=“H”になる。現在のサイクルのコマンドがライトコマンドで、WT0=“H”であり、2サイクル前のコマンドがやはりライトコマンドで、WT2=“H”の場合にライトコマンド検出信号WWMATCH2=“H”になる。
また、現在のサイクルのコマンドがリードコマンドで、RD0=“H”であり、1サイクル前のコマンドがライトコマンドで、WT1=“H”の場合にライトリードコマンド検出信号WRMATCH1=“H”になる。現在のサイクルのコマンドがリードコマンドで、RD0=“H”であり、2サイクル前のコマンドがライトコマンドで、WT2=“H”の場合にライトリードコマンド検出信号WRMATCH2=“H”になる。
図21は、データフロー制御信号を発生する回路を示している。この回路も、図1及び図2に示したDRAMマクロにおけるコントロールブロック16のコマンドコントローラ中に設けられている。そして、次のような論理動作を行う。
if (CAMATCH1=H and WRMATCH1=H) or (CAMATCH2=H and WRMATCH2=H) then RVtoRY=H after 2 clock cycles.
すなわち、もし、信号CAMATCH1と信号WRMATCH1がともに“H”レベル、または信号CAMATCH2と信号WRMATCH2がともに“H”レベルであれば、2クロックサイクル後に信号RVtoRYが“H”レベルとなる。
すなわち、もし、信号CAMATCH1と信号WRMATCH1がともに“H”レベル、または信号CAMATCH2と信号WRMATCH2がともに“H”レベルであれば、2クロックサイクル後に信号RVtoRYが“H”レベルとなる。
if (CAMATCH1=H and WWMATCH1=H) or (CAMATCH2=H and WWMATCH2=H) then RVtoRZ=H after 2 clock cycles.
もし、信号CAMATCH1と信号WWMATCH1がともに“H”レベル、または信号CAMATCH2と信号WWMATCH2がともに“H”レベルであれば、2クロックサイクル後に信号RVtoRZが“H”レベルとなる。
もし、信号CAMATCH1と信号WWMATCH1がともに“H”レベル、または信号CAMATCH2と信号WWMATCH2がともに“H”レベルであれば、2クロックサイクル後に信号RVtoRZが“H”レベルとなる。
if (CAMATCH1=H and WT1=H) then RUtoRV=H after 2cycles.
もし、信号CAMATCH1と信号WT1がともに“H”レベルであれば、2クロックサイクル後に信号RUtoRVが“H”レベルとなる。
もし、信号CAMATCH1と信号WT1がともに“H”レベルであれば、2クロックサイクル後に信号RUtoRVが“H”レベルとなる。
図22は、上記図21に示した論理回路で生成されたデータフロー制御信号により、データフローの制御を行う回路である。この回路は、図1及び図2に示した回路におけるECC入出力ブロック14,15中に設けられている。例えば図2に示した回路においては、CC入出力ブロック15中に“128+8”個設けられている。図22では、図18に示した回路における主要な部分のみを表した。
上書きデータWZ→WY→WU→WVの系列は、データがマスクされた場合(データマスク情報DM1=“H”レベルのとき)は読み出されて訂正されたデータRZであり、マスクされない場合(DM1=“L”レベルのとき)は外部から入力されたライトデータWD1と同じものである。
信号DMpは修正されたマスク情報であり、誤り訂正が起こった場合は、その誤り位置情報ECp=“H”レベルである。そのとき、そのビットのデータマスク情報DM1=“H”レベルであろうが、DM1=“L”レベルであろうが、マスク情報DMpは“L”レベルになり、もともとのデータマスク情報DM1に拘わらずマスクはされずにメモリセルに正しいデータを書き込むためのものである。
選択信号RV,RZ,RYを出力している回路部分は、図18に示した回路におけるマルチプレクサMUXRV,MUXRZ,MUXRYの論理構成を示したものであり、各選択信号WUtoRVp,RVtorZp,RVtoRYpにしたがってマルチプレクス(multiplex)される。
図23は、ライトコマンドの2サイクルのちに同一アドレスに対するライトコマンドが入力された場合において、図18に示した第5の実施形態に係る半導体記憶装置におけるデータフローを模式図で示したものである。
この場合には、図16と同様に第1のライトコマンドに対応する符合化とメモリセルへの書き込みがサイクル3においてなされている。しかし、サイクル3における第2のライトコマンドに対応するメモリセルからの読み出し、並びにサイクル4における誤り訂正されたデータは、サイクル5における符号化には使用されない。そして、サイクル3における符合化に使用されたデータが、サイクル3で入力された第2のライトコマンドに対するライトデータとライトマスク情報により、上書きされてサイクル5における符号生成の入力として使用される。
これにより、サイクル5において、正しい符号語がメモリセルへ書き込まれて動作が完結する。第2のライトコマンドがリードコマンドである場合でもほぼ同様であり、正しいデータがマクロ外部に出力される。
[第6の実施形態]
図24は、本発明の第6の実施形態に係る半導体記憶装置のデータフローを模式的に示す図である。本第6の実施形態では、サイクル3における第2のライトコマンドに対応するメモリセルからの読み出し、並びにサイクル4における誤り訂正動作を省略したものである。第2のライトコマンドがリードコマンドである場合も同様である。
図24は、本発明の第6の実施形態に係る半導体記憶装置のデータフローを模式的に示す図である。本第6の実施形態では、サイクル3における第2のライトコマンドに対応するメモリセルからの読み出し、並びにサイクル4における誤り訂正動作を省略したものである。第2のライトコマンドがリードコマンドである場合も同様である。
[第7の実施形態]
図25は、本発明の第7の実施形態に係る半導体記憶装置のデータフローを模式的に示す図である。本第7の実施形態では更なる改良を加えており、サイクル3における第1のライトコマンドに対応する符合化とメモリセルへの書き込み動作をも省略したものである。なぜなら、サイクル5において結局は正しいデータがメモリセルに書き込まれることになるからである。
図25は、本発明の第7の実施形態に係る半導体記憶装置のデータフローを模式的に示す図である。本第7の実施形態では更なる改良を加えており、サイクル3における第1のライトコマンドに対応する符合化とメモリセルへの書き込み動作をも省略したものである。なぜなら、サイクル5において結局は正しいデータがメモリセルに書き込まれることになるからである。
以上、第1乃至第7の実施形態により本発明を説明してきたが、レイテンシは3に限られるものではなく、パイプライン構成も3段以外にも適用できる。また、マスクライト機能がある場合について説明してきたが、外部I/O幅が内部バス幅よりも実質的に小さくなる場合などにも適用可能である。
本発明の実施形態によれば、オンチップ誤り訂正回路によるECC機能を有し、パイプライン動作を行う同期型半導体記憶装置において、ライトマスク機能を用いる場合や、外部I/O幅が内部バス幅よりも実質的に狭い場合などにおけるアドレスとコマンドの入力に対する制限をなくして高速動作を実現できる。また、メモリセルへの不必要な読み出しアクセスと書き込みアクセスを停止できるので、消費電力も小さく高速で高信頼性の半導体記憶装置を実現できる。
誤り訂正機能を持つ半導体記憶装置において、入力データのビット幅が誤り訂正符号の情報長より小さい場合においても、内部バスを二重化することによりスピードペナルティを小さくすることができる。しかも、ライトやリードの連続したカラムコマンドにおいて、レイテンシ数以内のコマンドの中に同一のアドレスを持ったものがあった場合に、メモリセルにデータをアクセスせずにECC回路のデータパス内で処理を行うことで高速化を達成でき、必要のないメモリセルへの書き込みや読み出し動作を行わないことで低消費電力化を達成できる。
従って、本発明の1つの側面によれば、外部から入力されたライトデータの長さが内部バス幅より狭くても高速なデータ転送が行える半導体記憶装置を提供できる。
また、誤り訂正機能を有する半導体記憶装置において、ほぼ連続したカラムコマンドが入力された場合に、どのようなアドレスの順番であろうとも正しいデータを読み出し、正しいデータをメモリセルに書き込むことができる半導体記憶装置を提供できる。
更に、読み出し動作、書き込み動作の一部を行わないことにより消費電力も低減できる。
以上第1乃至第7の実施の形態を用いて本発明の説明を行ったが、本発明は上記各実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記各実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば各実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも1つが解決でき、発明の効果の欄で述べられている効果の少なくとも1つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
11,12…DRAMマクロ、11−1〜11−4,12−1〜12−4…サブマクロ、13…デコード部、13−1〜13−4…デコーダブロック、14,15…ECC入出力ブロック、16…メモリセルアレイ、17−1〜17−4…メモリセルアレイ、18−1〜18−5…センスアンプ、19…DQバッファブロック、21…DQバッファ、22…RD線ドライバ、23…データ入力バッファ、24…コードジェネレータ、25…WD線ドライバ、26…シンドロームジェネレータ、27…誤り訂正回路、28…レジスタ、29…データ出力バッファ、WL…ワード線、BLt,BLc…ビット線対、MC…メモリセル。
Claims (5)
- パイプライン動作を行う同期型の半導体記憶装置であって、
メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、
前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、第1のライトコマンドに対応して外部から入力された第1のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第1の書き込み回路と、
前記上書きされたデータをチップの外部へ出力するように構成された出力回路と、
前記第1のライトコマンドが入力されたサイクルと前記上書きされたデータが前記メモリセルに書き込まれるサイクルの間に、外部から入力された第2のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第2の書き込み回路と
を具備することを特徴とする半導体記憶装置。 - 入力されたコマンドとカラムアドレスが以前の複数サイクルの内に入力されたコマンドとカラムアドレスと一致したか否かを検出するように構成された検出回路と、前記検出回路の制御信号を発生するように構成された制御信号生成回路を更に具備することを特徴とする請求項1に記載の半導体記憶装置。
- パイプライン動作を行う同期型の半導体記憶装置であって、
メモリセルアレイと、
前記メモリセルアレイ中の選択されたメモリセルに対するデータの書き込み及び読み出しのための増幅動作を行う第1のセンスアンプと、
データが入力されるデータ入力バッファと、
データ書き込み時にECC機能を実現するための符号を生成するコードジェネレータと、
前記コードジェネレータで符号化されたライトデータが入力され、前記第1のセンスアンプにライトデータを供給し、且つ前記第1のセンスアンプから読み出されたリードデータが供給されるDQバッファと、
前記メモリセルアレイから読み出された情報ビットと符号ビットが入力され、シンドロームを発生するシンドロームジェネレータと、
シンドロームジェネレータから出力されるシンドロームのデコードと誤り訂正を行う誤り訂正回路と、
前記誤り訂正回路の出力信号を出力するデータ出力バッファとを具備し、
前記メモリセルから読み出され、前記誤り訂正回路で誤り訂正されたリードデータに、外部から入力されたライトデータの少なくとも一部を上書きしてメモリセルに書き込み、前記上書きされたデータを前記データ出力バッファから外部へ出力し、
前記上書きされたデータに、外部から異なる時刻に入力されたライトデータの少なくとも一部を上書きし、再上書きされた前記上書きデータを符合化して前記メモリセルに書き込む
ことを特徴とする半導体記憶装置。 - パイプライン動作を行う同期型の半導体記憶装置であって、
メモリセルから読み出されたデータの誤りを訂正するように構成された誤り訂正回路と、
前記メモリセルから読み出され、前記誤り訂正回路で訂正されたデータに、外部から入力された第1のライトデータの少なくとも一部を上書きしてメモリセルに書き込むように構成された第1の書き込み回路と、
外部から入力された第2のライトデータの少なくとも一部を前記上書きされたデータに再上書きし、再上書きされた前記上書きデータを符合化してメモリセルに書き込むように構成された第2の書き込み回路と、
前記クロック信号に同期した第1のタイミングで前記第1の書き込み回路に第1のライトコマンドを出力し、前記第1のタイミングの後の第2のタイミングに、前記第1のライトコマンドによる制御対象となるカラムアドレスに対して再び第2のライトコマンドもしくはリードコマンドを出力するように構成されたコマンドコントローラとを具備し、
前記第1のライトコマンドによる前記メモリセルへの書き込みが終了する前に、前記第2のコマンドにおける読み出し動作が必要になる場合に、第1のライトコマンドにおける符号生成の入力となる上書きデータを第2のコマンドの読み出し訂正データと見なす
ことを特徴とする半導体記憶装置。 - 前記第1のライトコマンドの上書きデータを第2のライトコマンドの読み出し訂正データと見なして符合化とメモリセルへの書き込みを行う場合に、第1のライトコマンドに対する符合化並びにメモリセルへの書き込み動作を行わず、
且つ前記第1のライトコマンドの上書きデータを第2のライトコマンドの読み出し訂正データと見なして第2のコマンドに対する符合化とメモリセルへの書き込み、もしくは第2のコマンドに対する誤り訂正データの出力を行う場合に、第2のコマンドに対するメモリセルからの読み出し動作を行わないことを特徴とする請求項4に記載の半導体記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006064428A JP2007242162A (ja) | 2006-03-09 | 2006-03-09 | 半導体記憶装置 |
US11/454,007 US7610542B2 (en) | 2006-03-09 | 2006-06-16 | Semiconductor memory in which error correction is performed by on-chip error correction circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006064428A JP2007242162A (ja) | 2006-03-09 | 2006-03-09 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007242162A true JP2007242162A (ja) | 2007-09-20 |
Family
ID=38535040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006064428A Pending JP2007242162A (ja) | 2006-03-09 | 2006-03-09 | 半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7610542B2 (ja) |
JP (1) | JP2007242162A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009093704A (ja) * | 2007-10-04 | 2009-04-30 | Panasonic Corp | 半導体記憶装置 |
WO2011067892A1 (ja) * | 2009-12-03 | 2011-06-09 | パナソニック株式会社 | 半導体記憶装置 |
US8448043B2 (en) | 2010-01-25 | 2013-05-21 | Samsung Electronics Co., Ltd. | Overwritable nonvolatile memory device and related data write method |
WO2013132806A1 (ja) * | 2012-03-06 | 2013-09-12 | 日本電気株式会社 | 不揮発性論理集積回路と不揮発性レジスタの誤りビットの訂正方法 |
JP2022000832A (ja) * | 2020-06-19 | 2022-01-04 | 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. | メモリデバイス及びその動作方法 |
US11417390B2 (en) | 2020-07-07 | 2022-08-16 | Winbond Electronics Corp. | Memory device and operation method thereof |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813533B1 (ko) * | 2006-09-13 | 2008-03-17 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 그 데이터 마스크 방법 |
EP1863214A1 (en) * | 2007-01-25 | 2007-12-05 | Agilent Technologies, Inc. | Digital signal analysis with evaluation of selected signal bits |
US7945840B2 (en) | 2007-02-12 | 2011-05-17 | Micron Technology, Inc. | Memory array error correction apparatus, systems, and methods |
US7930615B2 (en) * | 2007-05-31 | 2011-04-19 | Agere Systems Inc. | Memory device with error correction capability and preemptive partial word write operation |
JP4564520B2 (ja) | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
US8533563B2 (en) * | 2008-03-31 | 2013-09-10 | Qimonda Ag | Memory read-out |
US8407427B2 (en) | 2008-10-29 | 2013-03-26 | Silicon Image, Inc. | Method and system for improving serial port memory communication latency and reliability |
JP2010146654A (ja) * | 2008-12-19 | 2010-07-01 | Toshiba Corp | メモリ装置 |
US9350386B2 (en) | 2012-04-12 | 2016-05-24 | Samsung Electronics Co., Ltd. | Memory device, memory system, and method of operating the same |
KR102143517B1 (ko) * | 2013-02-26 | 2020-08-12 | 삼성전자 주식회사 | 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법 |
US20140317467A1 (en) * | 2013-04-22 | 2014-10-23 | Storart Technology Co., Ltd. | Method of detecting and correcting errors with bch engines for flash storage system |
CN103531246B (zh) * | 2013-10-31 | 2016-10-05 | 西安紫光国芯半导体有限公司 | 快速以读代写的存储器纠错方法 |
US9508409B2 (en) * | 2014-04-16 | 2016-11-29 | Micron Technology, Inc. | Apparatuses and methods for implementing masked write commands |
KR20150122825A (ko) * | 2014-04-23 | 2015-11-03 | 에스케이하이닉스 주식회사 | 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치 |
US11269720B2 (en) | 2019-08-11 | 2022-03-08 | Winbond Electronics Corp. | Memory storage apparatus and data access method |
KR20210122455A (ko) * | 2020-04-01 | 2021-10-12 | 삼성전자주식회사 | 반도체 메모리 장치 |
US11322221B2 (en) * | 2020-09-30 | 2022-05-03 | Sharp Semiconductor Innovation Corporation | Memory device with pipelined access |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04349549A (ja) | 1991-05-27 | 1992-12-04 | Nec Corp | Ecc付きメモリシステムにおける訂正ビット位置情報出力方式 |
US6701480B1 (en) * | 2000-03-08 | 2004-03-02 | Rockwell Automation Technologies, Inc. | System and method for providing error check and correction in memory systems |
US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
US7392456B2 (en) * | 2004-11-23 | 2008-06-24 | Mosys, Inc. | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory |
JP4703220B2 (ja) * | 2005-03-04 | 2011-06-15 | 株式会社東芝 | 半導体記憶装置 |
-
2006
- 2006-03-09 JP JP2006064428A patent/JP2007242162A/ja active Pending
- 2006-06-16 US US11/454,007 patent/US7610542B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009093704A (ja) * | 2007-10-04 | 2009-04-30 | Panasonic Corp | 半導体記憶装置 |
US8065589B2 (en) | 2007-10-04 | 2011-11-22 | Panasonic Corporation | Semiconductor memory device |
WO2011067892A1 (ja) * | 2009-12-03 | 2011-06-09 | パナソニック株式会社 | 半導体記憶装置 |
US8687440B2 (en) | 2009-12-03 | 2014-04-01 | Panasonic Corporation | Semiconductor memory device |
US8448043B2 (en) | 2010-01-25 | 2013-05-21 | Samsung Electronics Co., Ltd. | Overwritable nonvolatile memory device and related data write method |
WO2013132806A1 (ja) * | 2012-03-06 | 2013-09-12 | 日本電気株式会社 | 不揮発性論理集積回路と不揮発性レジスタの誤りビットの訂正方法 |
JP2022000832A (ja) * | 2020-06-19 | 2022-01-04 | 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. | メモリデバイス及びその動作方法 |
US11417390B2 (en) | 2020-07-07 | 2022-08-16 | Winbond Electronics Corp. | Memory device and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
US7610542B2 (en) | 2009-10-27 |
US20070226590A1 (en) | 2007-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007242162A (ja) | 半導体記憶装置 | |
US7464320B2 (en) | Synchronous semiconductor storage device having error correction function | |
US7275200B2 (en) | Transparent error correcting memory that supports partial-word write | |
US6678860B1 (en) | Integrated circuit memory devices having error checking and correction circuits therein and methods of operating same | |
KR102002925B1 (ko) | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 | |
JP5657079B1 (ja) | 半導体記憶装置 | |
US8510632B2 (en) | Control method for a semiconductor memory device | |
TWI729239B (zh) | 半導體裝置 | |
US8687440B2 (en) | Semiconductor memory device | |
US7949933B2 (en) | Semiconductor integrated circuit device | |
KR102146071B1 (ko) | 반도체 메모리 장치 | |
KR20170112630A (ko) | 반도체장치 및 반도체시스템 | |
CN114556475A (zh) | 用于将数据写入到存储器的设备及方法 | |
US11461167B2 (en) | Semiconductor devices | |
US7075851B2 (en) | Semiconductor memory device inputting/outputting data and parity data in burst operation | |
JP2003059290A (ja) | 半導体メモリ装置 | |
JP4336168B2 (ja) | Ecc機能付き半導体記憶装置 | |
KR102025880B1 (ko) | 에러 보정 기능을 갖는 메모리 장치 및 그의 에러 보정 방법 | |
JP2007328894A (ja) | 半導体記憶装置、および半導体記憶装置の検査方法 | |
JPH04149899A (ja) | ダイナミック・ランダム・アクセス・メモリ | |
US20240022261A1 (en) | Error correction code circuit and semiconductor apparatus including the error correction code circuit | |
JP7235591B2 (ja) | 情報処理回路及び情報処理方法 | |
TW201532060A (zh) | 半導體儲存裝置及其冗餘方法 | |
KR20230128730A (ko) | 에러 정정 코드 회로 및 이를 포함하는 반도체 장치 | |
JP2006092634A (ja) | 半導体記憶装置 |