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

半導体記憶装置 Download PDF

Info

Publication number
JP5908375B2
JP5908375B2 JP2012189461A JP2012189461A JP5908375B2 JP 5908375 B2 JP5908375 B2 JP 5908375B2 JP 2012189461 A JP2012189461 A JP 2012189461A JP 2012189461 A JP2012189461 A JP 2012189461A JP 5908375 B2 JP5908375 B2 JP 5908375B2
Authority
JP
Japan
Prior art keywords
data
write
read
address
command
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.)
Active
Application number
JP2012189461A
Other languages
English (en)
Other versions
JP2014049148A (ja
Inventor
高橋 弘行
弘行 高橋
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012189461A priority Critical patent/JP5908375B2/ja
Priority to US13/965,010 priority patent/US8837241B2/en
Publication of JP2014049148A publication Critical patent/JP2014049148A/ja
Application granted granted Critical
Publication of JP5908375B2 publication Critical patent/JP5908375B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2218Late write

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、半導体記憶装置、例えばエラー訂正機能を備えた半導体記憶装置に関する。
エラー訂正機能、所謂ECC(Error Correcting Code)機能を備えたメモリが知られている。このようなメモリは、ライト時に、エラー訂正のためのチェックビットとしてハミングコードを生成して、ライト対象のデータ(以下「ライトデータ」という)と共にメモリコアに書き込む。そして、リード時には、リード対象のデータ(以下「リードデータ」という)と共にハミングコードをメモリコアから読み出して、ハミングコードに基づいてリードデータにおけるエラーの発生箇所(エラービット)を検出して訂正する。以下の説明において、ECCエンコードされたデータ(すなわち「主データ+ハミングコード」)を「ECCデータ」という。
ハミングコードの最少ビット数は、データバス幅に対し2を底とする対数をとり、これに1を加算することにより求められる。例えば、データバス幅が32ビットである場合には、ハミングコードとして、少なくとも6ビットが必要である。この場合、6ビットのハミングコードにより、1ビットエラーについては検出乃至訂正が可能であり、2ビットエラーについては検出のみが可能である。一方、データバス幅が32ビットである場合に7ビットのハミングコードを用いれば、2ビットエラーについても、検出乃至訂正までが可能となる。
データバス幅が大きければ大きいほど、ハミングコードのビット数も増える一方、ハミングコードとデータバス幅の比は、データバス幅が大きいほど小さくなる。従って、ECC機能を備えるメモリに対して、データバス幅を大きくし、データバス幅のデータ毎にハミングコードを生成することにより、ECC機能に起因するコストを抑制することができる。
このようなことから、近年、メモリのデータバス幅はワイドビット化する傾向にある。特に、組込システムのLSI(Large Scale Integration)回路に設けられたDRAM(Dynamic Random Access Memory)などは、汎用の単体メモリのようなI/F(インタフェース)仕様の制約が無いため、データバス幅のワイドビット化傾向が顕著である。
このようなメモリでは、通常、データバス幅未満のライトデータもライト可能にするために、RMW(Read−Modify−Write)機能が実装されている。RMW機能は、データバス幅未満のライトデータに対して、メモリコアに記憶されたデータで不足部分のビット(「マスクビット」ともいう)を追加してビット数をデータバス幅にしてからハミングコードの生成、メモリコアへの書込みを行う機能である。RMW機能については、例えば特許文献1に開示されている。
特許文献1に開示されたように、RMW機能を備えたメモリは、データバス幅未満のライトデータのライト時、まず、メモリコアから、該ライトアドレスのデータ(ビット数:データバス幅)と、それに付加されたハミングコードとを読み出す。この読出しは、ダミーリードと呼ばれる。
次いで、ダミーリードで読み出したECCデータに対して、ECCデコードを行い、エラーがあればエラーを訂正する。そして、デコードしたデータのうちの、ライトデータのマスクビットに該当する箇所のビットをライトデータに追加してデータセット(ビット数:データバス幅)を生成する。
そして、データセットに対してECCエンコードすなわちハミングコードの生成をして、データセットとハミングコードからなるECCデータをメモリコアに書き込む。
特開2005−327437号公報
ここで、図9を参照してRMW機能を備えたメモリによる処理の流れの一例を考える。
図9において、「CLK」、「COM」、「ADD」、「ECC ENC」、「DATA/MASK」、「ECC DEC」、「DATA出力」は、夫々、「クロック」、「コマンド」、「コマンドに対応するアドレス」、「ECCエンコード」、「ライトコマンドと共に入力されるデータ(ライトデータ)と、マスクビットを示す信号(以下マスク信号という)」、「ECCデコード」、「リードコマンドに応じて出力されるデータ」を意味する。これらについては、以降の説明に参照される各図面についても同様である。
図9の例では、まず、クロックのサイクルT1のライジングエッジ(タイミングt1)で、ライトコマンド「write」、ライトアドレスA1、データ信号D1(ライトデータとマスク信号MASK)がメモリに入力される。
メモリは、サイクルT1でダミーリードを行う。具体的には、ライトアドレスA1に対応するワード線WL1を選択して該ワード線WL1上のメモリセルを活性化し、ライトアドレスA1に対応するECCデータ(図中ECC DATA)を読み出す。
そして、サイクルT2で、メモリは、サイクルT1で読み出したECCデータのECCデコード(エラー訂正を含む。以下同じ)をすると共に、ECCデコードしたデータと、タイミングt1で入力されたデータ信号D1(ライトデータ/マスク信号MASK)から、データバス幅と同一ビット幅のデータセット(図中DATA SET)を作成する。
次いで、メモリは、サイクルT3において、サイクルT2で生成したデータセットのECCエンコードをしてECCデータを得、続くサイクルT4において、該ECCデータをメモリコアに書き込む。
図9の例では、サイクルT5のライジングエッジ(タイミングt5)で、リードコマンド(READ)と、リードアドレスA2が入力される。
そのため、サイクルT5において、メモリは、リードアドレスA2に対応するワード線WL2を選択してワード線WL2上のメモリセルを活性化し、ライトアドレスA2に対応するECCデータを読み出す。
そして、サイクルT6で、メモリは、上記ECCデータのECCデコードをし、データバス幅と同様のビット数のリードデータQ2を得て、次のサイクルのライジングエッジ(タイミングt7)で出力する。
図9の例では、サイクルT6のライジングエッジ(タイミングt6)で、ライトコマンド(WRITE)と、ライトアドレスA3と、データ信号D3が入力される。
そのため、メモリは、サイクルT1のときと同様に、ライトアドレスA3に対応するワード線WL3を選択するなど、ダミーリードからの処理を行う。
図9の例から分かるように、RMW機能を備えるメモリでは、データバス幅未満のライトデータについて、ライトコマンドの入力からメモリコアへの書込みまで、サイクルT1〜サイクルT4までの4サイクルが必要である。また、サイクルT1〜サイクルT4の4サイクルの間、ワード線WL1が選択されている状態が続いているが、ワード線WL1が選択された状態は、サイクルT1のダミーリードとサイクルT4の書込みのときにのみ必要である。これでは、メモリの性能が低下してしまう問題がある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態は、半導体記憶装置であり、所定のビット幅のデータから訂正ビットを生成する訂正ビット生成回路と、レイトライトアドレス及びレイトライトデータを一時的に格納するレイトライトレジスタを備える。
ライトコマンドが入力された時に、該半導体記憶装置は、メモリコアのライトアドレスからデータを読み出すダミーリードを行うと共に、ダミーリードにより読み出したデータとライトデータとから前記所定のビット幅のデータセットを作成し、作成したデータセットから訂正ビットを生成する。
該半導体記憶装置は、前記データセットと前記訂正ビットの生成に並行して、レイトライトを行う。具体的には、前記レイトライトレジスタに格納された前記レイトライトデータを前記レイトライトアドレスにに対応する前記メモリコアのメモリセルに書き込む。次いで、前記ライトアドレスをレイトライトアドレスとし、前記データセットと前記訂正ビットを新たなレイトライトデータとして前記レイトライトレジスタに格納する。
なお、上記一実施の形態の半導体記憶装置を方法やシステムに置き換えて表現したもの、該半導体記憶装置を備えたシステムなども、本発明の態様としては有効である。
上記一実施の形態の半導体記憶装置によれば、RMW機能を備えたメモリの性能低下を軽減することができる。
第1の実施の形態にかかる半導体記憶装置を示す図である。 図1に示す半導体記憶装置におけるECCデコード部160の回路構成の例を示す図である。 図1に示す半導体記憶装置による処理の流れの一例を示すタイミングチャートである。 第5の実施の形態にかかる半導体記憶装置による処理の流れの一例を示すタイミングチャートである。 第6の実施の形態にかかる半導体記憶装置を示す図である。 図5に示す半導体記憶装置による処理の流れの一例を示すタイミングチャートである。 図5に示す半導体記憶装置による処理の流れの別の一例を示すタイミングチャートである。 第7の実施の形態にかかる半導体記憶装置による処理の流れの一例を示すタイミングチャートである。 RMW機能を備えたメモリによる処理の流れの一例を示すタイミングチャートである。
以下、図面を参照して実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
<第1の実施の形態>
図1は、第1の実施の形態にかかる半導体記憶装置100を示す。半導体記憶装置100は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ(登録商標)などであり、制御部110、アドレス入力部120、データ入力部122、データセット生成部124、ECCエンコード部126、レイトライトレジスタ130、セレクタ140、データ出力部150、ECCデコード部160、メモリコア170を備える。
半導体記憶装置100は、エラー訂正機能(ECC機能)と、RMW機能と、後述するレイトライト(Late Write)機能を備えており、その制御部110には、RMWのための制御を行うRMW制御回路112と、レイトライトのための制御を行うレイトライト制御回路114を有する。
例として、半導体記憶装置100のデータバス幅が32ビットであり、エラー訂正のためのハミングコードが6ビットであるとする。
制御部110は、他の機能ブロックの制御を行うものであり、クロックCLKとコマンドCMDが入力される。コマンドCMDとしては、少なくともリードコマンドとライトコマンドがある。制御部110におけるRMW制御回路112とレイトライト制御回路114は、クロックCLKに同期して、コマンドCMDに応じた制御を行う。制御部110により制御の詳細については、他の機能ブロックの動作と共に説明する。
リードコマンドまたはライトコマンドと共に、半導体記憶装置100には、アドレスADD(リードアドレスまたはライトアドレス)が入力される。アドレス入力部120は、RMW制御回路112により制御され、ライトコマンドとリードコマンドのいずれのときにも、アドレスADDをレイトライトレジスタ130とセレクタ140に出力する。また、アドレス入力部120は、リードコマンドのときに、さらに、アドレスADD(リードアドレス)をデータ入力部122にも出力する。
データ入力部122は、RMW制御回路112により制御され、ライトコマンドと共に半導体記憶装置100に入力されたデータ(ライトデータとマスク信号MASKを含む)をデータセット生成部124に出力する。また、リードコマンドのときには、データ入力部122は、アドレス入力部120からのリードアドレスをデータ出力部150とECCデコード部160に転送する。
データセット生成部124は、データ入力部122からのデータに対応するデータセットDSを生成してECCエンコード部126に出力する。このデータセットDSのビット数は、データバス幅の32ビットである。データセット生成部124は、ライトコマンドと共に半導体記憶装置100に入力されたライトデータ及びマスク信号MASKと、ECCデコード部160からのデータECD(32ビット)とからデータセットDSを生成するものである。データセット生成部124によるデータセットDSの生成、及びECCデコード部160からのデータECDについて、後に詳細に説明する。
ECCエンコード部126は、データバス幅(ここでは32ビット)のデータから訂正ビットとなるハミングコード(ここでは6ビット)を生成する訂正ビット生成回路である。具体的には、ECCエンコード部126は、RMW制御回路112の制御に従って、ライトコマンドのときに、データセット生成部124からのデータセットDSに対してハミングコードを生成してデータセットDSと共にレイトライトレジスタ130に出力する。
レイトライトレジスタ130は、アドレスレジスタ132とデータレジスタ134を備える。
アドレスレジスタ132は、レイトライト制御回路114により制御され、ライトコマンドのときに、格納していたアドレス(レイトライトアドレスLRA)をセレクタ140に出力すると共に、アドレス入力部120からのアドレスADD(ライトアドレス)を新たなレイトライトアドレスLRAとして格納する。
リードコマンドのときに、アドレスレジスタ132は、格納しているレイトライトアドレスLRAをECCデコード部160に出力する。
データレジスタ134は、レイトライト制御回路114により制御され、ライトコマンドのときに、格納しているデータ(レイトライトデータLRD)をメモリコア170に出力すると共に、ECCエンコード部126からのデータセットDSとハミングコードとを新たなレイトライトデータLRDとして格納する。レイトライトデータLRDのうちのハミングコードの部分と、主データ部分とを夫々「HC」と「MD」で表記している。
データレジスタ134は、リードコマンドのときに、格納しているレイトライトデータLRDのうちの主データMDをECCデコード部160に出力する。
セレクタ140は、レイトライト制御回路114により制御され、アドレス入力部120からのアドレスADD(ライトアドレスまたはリードアドレス)と、アドレスレジスタ132からのレイトライトアドレスLRAとを選択的にメモリコア170に出力する。具体的には、リードコマンドのときにはアドレス入力部120からのアドレスADD(リードアドレス)をメモリコア170に出力する。また、ライトコマンドのときには、セレクタ140は、アドレス入力部120からのアドレス(ライトアドレス)をメモリコア170に出力し、その後、アドレスレジスタ132からのレイトライトアドレスLRAをメモリコア170に出力する。
メモリコア170は、レイトライト制御回路114により制御され、リードコマンドのときには、セレクタ140からのアドレス(アドレス入力部120からのリードアドレス)に対応するメモリセルからリードデータとハミングコードからなるECCデータ出力する。
また、ライトコマンドのときには、メモリコア170は、セレクタ140からのライトアドレス(アドレス入力部120から)に対応するメモリからECCデータを出力し、その後、セレクタ140からのレイトライトアドレスLRAに対応するメモリセルに、データレジスタ134からのレイトライトデータLRDを書き込む。
ECCデコード部160は、RMW制御回路112により制御される。図2は、その回路構成の一例を示す。
図2に示すように、ECCデコード部160は、比較器161、マルチプレクサ162、デコード実行部163、マルチプレクサ164、インバータ回路165を備える。リードコマンド時とライトコマンド時を分けてECCデコード部160を説明する。
<リードコマンド時>
この場合、比較器161は、アドレスADD(リードアドレス)と、レイトライトレジスタ130のアドレスレジスタ132に格納されているレイトライトアドレスLRAとを比較し、比較結果を示すヒットリード信号HRをマルチプレクサ162とマルチプレクサ164に出力する。具体的には、例えば、比較の結果、リードアドレスADDとレイトライトアドレスLRAとが一致するときにはヒットリード信号HRに「1」を出力し、リードアドレスADDとレイトライトアドレスLRAとが一致しないときにはヒットリード信号HRに「0」を出力する。
また、データレジスタ134に格納されているレイトライトデータLRDの主データMDは、マルチプレクサ162に出力される。
また、リードアドレスADDに応じてメモリコア170から出力されたECCデータのうちの主データMD1は、マルチプレクサ162とデコード実行部163に入力され、該ECCデータのうちのハミングコードHC1は、デコード実行部163に入力される。
マルチプレクサ162は、ヒットリード信号HRが「1」であるとき、すなわちリードアドレスADDとレイトライトアドレスLRAとが一致するときには、データレジスタ134からの主データMDを選択して出力する。一方、ヒットリード信号HRが「0」であるとき、すなわちリードアドレスADDとレイトライトアドレスLRAとが一致しないときには、マルチプレクサ162は、メモリコア170からの主データMD1を選択して出力する。
デコード実行部163は、メモリコア170からの主データMD1とハミングコードHC1とに対してECCデコードを行い、エラー訂正信号ECSを生成してマルチプレクサ164に出力する。
なお、エラー訂正信号ECSは、主データMD1のうちのどのビットがエラーであるかを示す信号である。
マルチプレクサ162が出力したデータ(主データMDと主データMD1のいずれか一方であり、以下主データMD2という)は、マルチプレクサ164とインバータ回路165に入力される。
インバータ回路165は、主データMD2の全てのビット(32ビット)を反転してマルチプレクサ164に出力する。
マルチプレクサ164は、比較器161からのヒットリード信号HRが「1」であるときには、デコード実行部163からのエラー訂正信号ECS信号を待たずに、マルチプレクサ162からの主データMD2(ここでは、データレジスタ134からの主データMD)をデータECDとして出力する。
一方、比較器161からのヒットリード信号HRが「0」であるときには、マルチプレクサ164は、マルチプレクサ162からの主データMD2(ここではメモリコア170からの主データMD1)のうちの、エラー訂正信号ECSにより示されるビットについてはインバータ回路165からのビットを選択し、他のビットについては主データMD2のビットを選択して出力する。
マルチプレクサ164から出力されたデータECDは、データセット生成部124とデータ出力部150に出力される。
データ出力部150は、リードコマンドに対応するリードデータとして、データECDを出力する。つまり、本実施の形態の半導体記憶装置100において、ECCデコード部160は、リードコマンドに応じたリードデータを得るためのリード回路を兼ねている。
なお、データセット生成部124は、ライトコマンド時にのみ動作するため、リードコマンドのときにデータECDが入力されるものの、特に動作をしない。
<ライトコマンド時>
ライトコマンド時に、データレジスタ134から前回のライトコマンド時に生成したレイトライトデータLRDがメモリコア170に入力される。このレイトライトデータLRDのうちの主データMDは、マルチプレクサ162にも入力される。
また、今回のアドレスADD(ライトアドレス)はメモリコア170にも入力されるため、ライトアドレスADDに対応するECCデータはメモリコア170から出力される。このECCデータのうちの主データMD1はマルチプレクサ162とデコード実行部163に入力され、ハミングコードHC1はデコード実行部163に入力される。
比較器161は、ライトコマンドのときに、ヒットリード信号HRに「0」を出力する。そのため、マルチプレクサ162は、メモリコア170からの主データMD1を選択して主データMD2としてマルチプレクサ164に出力する。
デコード実行部163とインバータ回路165は、リードコマンド時と同様の動作をする。そのため、マルチプレクサ164から出力されたデータECDは、エラー(あれば)が訂正された主データMD1である。
マルチプレクサ164から出力されたデータECDは、データセット生成部124に供される。
データセット生成部124は、今回のライトコマンドと共に半導体記憶装置100に入力されたライトデータとマスク信号MASKと、ECCデコード部160からのデータECDとからデータセットDSを生成する。具体的には、データECDのうちの、マスク信号MASKが示す夫々のビットを、ライトデータの当該位置に挿入することにより追加して、データバス幅(32ビット)のデータセットDSを生成する。
なお、ライトコマンドのときには、データ出力部150は、出力動作をしない。
このように、本実施の形態の半導体記憶装置100は、ライトコマンドのときに、ダミーリードによりメモリコア170からライトアドレスに対応するECCデータを読み出して、該ECCデータをデコード(エラー訂正を含む)して得た主データでライトデータの不足ビット分を追加してデータセットDSを得てハミングコードを生成すると共に、データセットDSとハミングコードとをレイトライトデータLRDとしてレイトライトレジスタ130のデータレジスタ134に格納する。並行して、レイトライトレジスタ130のデータレジスタ134に格納されていた、前回のライトコマンドに応じて生成したレイトライトデータLRDをメモリコア170に書き込む。
すなわち、半導体記憶装置100は、ライトコマンド時に、RMW機能によりデータセットDSとハミングコードを生成するものの、生成したデータセットDSとハミングコードを、次のライトコマンドのときに書き込む。このようなライト動作を、レイトライトと呼ぶ。
レイトライトにより、最も新しいライトデータに対応するレイトライトデータLRDは、メモリコア170ではなく、データレジスタ134に格納されることになる。上記最も新しいライトデータが書き込まれるべきアドレスに、古いデータが格納されたままである。
そのため、半導体記憶装置100は、リードコマンドのときに、リードアドレスと、アドレスレジスタ132に格納されたレイトライトアドレスLRAとが一致するか否かを確認し、一致する場合(ヒットリードの場合)には、データレジスタ134に格納されたレイトライトデータLRDのうちの主データMDをリードデータとして出力する。
こうすることにより、メモリコア170から古いデータが読み出されることを防ぐことができる。
さらに、半導体記憶装置100は、リードアドレスと、アドレスレジスタ132に格納されたレイトライトアドレスLRAとが一致する場合に、ECCデコード部160のマルチプレクサ164がデコード実行部163からのエラー訂正信号ECSを待たずに、レイトライトデータLRDのうちの主データMDをそのままデータECDとして出力する、従って、マルチプレクサ162による選択動作にかかる時間を隠蔽し、通常のリード時と同様の速度でリードアクセスを完了することができる。
図3は、半導体記憶装置100による処理の流れの一例を示すタイミングチャートである。分かりやすいように、図3において、リードアクセスについて、リードアドレスが、アドレスレジスタ132に格納されているレイトライトアドレスLRAと一致しない場合を例にする。
図示のように、まず、クロックのサイクルT1のライジングエッジ(タイミングt1)で、ライトコマンド「write」、ライトアドレスA1、データ信号D1(ライトデータとマスク信号MASK)が半導体記憶装置100に入力される。なお、このときに、アドレスレジスタ132には、前回のライトコマンド時のアドレス「A0」がレイトライトアドレスLRAとして格納されており、データレジスタ134には、前回のライトコマンド時に生成したECCデータ「D0E」がレイトライトデータLRDとして格納されているとする。
半導体記憶装置100は、サイクルT1でダミーリードを行う。具体的には、ライトアドレスA1に対応するワード線WL1を選択して該ワード線WL1上のメモリセルを活性化し、ライトアドレスA1に対応するECCデータ(図中ECC DATA)をメモリコア170から読み出す。
そして、サイクルT2で、半導体記憶装置100は、レイトライトを行う。具体的には、アドレスレジスタ132に格納されているレイトライトアドレスLRA(A0)に対応するワード線WL0を選択して該ワード線WL0上のメモリを活性化し、データレジスタ134に格納されているレイトライトデータLRD(D0E)をメモリコア170に書込む。また、アドレスレジスタ132は、新たなレイトライトアドレスLRAとして、アドレス「A1」を格納する。
並行して、半導体記憶装置100は、サイクルT1で読み出したECCデータのECCデコード(エラー訂正を含む)をすると共に、ECCデコードしたデータと、タイミングt1で入力されたデータ信号D1(ライトデータ/マスク信号MASK)から、データバス幅と同一ビット幅のデータセットを作成する。
次いで、半導体記憶装置100は、サイクルT3において、サイクルT2で生成したデータセットのECCエンコードをしてECCデータを得、このECCデータを新たなレイトライトデータLRDとしてデータレジスタ134に格納する。
サイクルT3において、半導体記憶装置100は、ECCエンコードを行うが、ECCエンコードにより生成したECCデータをメモリコア170に書き込まないので、メモリコア170に対するリードアクセスが可能になる。
図3の例に示すように、サイクルT3のライジングエッジ(タイミングt3)で、リードコマンド(READ)と、リードアドレスA2が入力される。
そのため、サイクルT3において、ECCエンコードに並行して、半導体記憶装置100は、リードアドレスA2に対応するワード線WL2を選択してワード線WL2上のメモリセルを活性化し、ライトアドレスA2に対応するECCデータを読み出す。
そして、サイクルT4で、半導体記憶装置100は、サイクルT3で読み出したECCデータのECCデコードをし、データバス幅と同様のビット数のリードデータQ2を得て、次のサイクルのライジングエッジ(タイミングt5)で出力する。
また、サイクルT4のライジングエッジ(タイミングt4)で、ライトコマンド「write」、ライトアドレスA3、データ信号D3(ライトデータとマスク信号MASK)が半導体記憶装置100に入力される。なお、このときに、アドレスレジスタ132にはレイトライトアドレスLRAとして「A1」が格納されており、データレジスタ134にはレイトライトデータLRDとして「D1E」が格納されている。
半導体記憶装置100は、サイクルT4でダミーリードを行う。具体的には、ライトアドレスA3に対応するワード線WL3を選択して該ワード線WL3上のメモリセルを活性化し、ライトアドレスA3に対応するECCデータをメモリコア170から読み出す。
そして、サイクルT5で、半導体記憶装置100は、レイトライトを行う。具体的には、アドレスレジスタ132に格納されているレイトライトアドレスLRA(A1)に対応するワード線WL1を選択して該ワード線WL1上のメモリを活性化し、データレジスタ134に格納されているレイトライトデータLRD(D1E)をメモリコア170に書込む。アドレスレジスタ132は、新たなレイトライトアドレスLRAとして、アドレス「A3」を格納する。
並行して、半導体記憶装置100は、サイクルT4で読み出したECCデータのECCデコード(エラー訂正を含む)をすると共に、ECCデコードしたデータと、タイミングt4で入力されたデータ信号D3(ライトデータ/マスク信号MASK)から、データバス幅と同一ビット幅のデータセットを作成する。
次いで、半導体記憶装置100は、サイクルT6において、サイクルT5で生成したデータセットのECCエンコードをしてECCデータを得、このECCデータを新たなレイトライトデータLRDとしてデータレジスタ134に格納する。
サイクルT6において、半導体記憶装置100は、ECCエンコードを行うが、ECCエンコードにより生成したECCデータをメモリコア170に書き込まないので、メモリコア170に対して、リードアクセスに加え、リフレッシュを行うこともできる。
リフレッシュは、コンデンサに電荷を蓄えることにより情報を保持し、蓄積した電荷が時間の経過と共に減少するメモリ(例えばDRAM)に対して、一定時間ごとに電荷を注入する処理を意味する。なお、リフレッシュは、通常、ワード線単位で行われる。
例として、本実施の形態の半導体記憶装置100が外部からのリフレッシュコマンドに応じてリフレッシュを行うものであるとする。図3の例では、タイミングt6で、リフレッシュコマンド(図中REFRESH)と、リフレッシュの対象となるメモリセルを示すアドレス(リフレッシュアドレス)A4が入力される。
半導体記憶装置100は、サイクルT6において、上記リフレッシュコマンドに応じたリフレッシュ処理を行う。具体的には、リフレッシュアドレスA4に対応するワード線WL4を選択し、該ワード線WL4上のメモリセルに格納されているデータを読み出して増幅してから元のメモリセルに書き戻す。
図3から分かるように、半導体記憶装置100は、1度のライト動作を2サイクル(サイクルT1〜T2、またはサイクルT2〜T3)で完了している。図9と比較すると明らかなように、RMW機能を備える従来のメモリより、ライトアクセスの速度を2倍に高めることができる。
<第2の実施の形態>
第1の実施の形態の半導体記憶装置100は、ダミーリードにより読み出したECCデータのデコード及びデータセットの生成と、データセットのECCエンコードとに1サイクルずつを使用する。そのため、ライトコマンドの入力時から、該ライトコマンドに対応するECCデータをレイトライトレジスタ130に格納するのは、ライトコマンドの入力から3サイクル目になっている。
クロックCLKの周期が比較的に長い半導体記憶装置の場合、例えば、ダミーリードにより読み出したECCデータのデコードと、データセットの生成と、ECCエンコードとを1サイクルで完成させるようにすることができる。この場合、ライトコマンドの入力から2サイクル目に、該ライトコマンドに対応するECCデータをレイトライトレジスタ130に格納することができる。
こうすることにより、クロックCLKの1周期を十分に活用することができる。加えて、制御部110に備えられた、CLK同期用のフリップフロップ(図示せず)が削減でき、ひいては半導体記憶装置の回路規模及び消費電力を削減することができる。
<第3の実施の形態>
第1の実施の形態の半導体記憶装置100は、ライトコマンドに応じたダミーリードと、レイトライトレジスタ130に格納されたレイトライトデータLRDのメモリコア170への書込み(レイトライト)を、夫々のサイクルのクロックCLKエッジに同期してスタートしている。
レイトライトを、クロックCLKのエッジに同期させず、例えば内部遅延によりダミーリードの完了直後に開始させるようにすることができる。
例えばDRAMのメモリコアの場合、通常、メモリコアへの書込みに必要な時間がメモリコアからの読み出しに必要な時間より長い。上述したように、レイトライトを、ダミーリードに続く連続動作として開始させるようにすることにより、ダミーリードが行われるサイクルの一部の時間をレイトライトに融通することができる。その結果、クロックCLKの周波数に対するライトマージンのリミットを緩和することができ、高速なクロックCLKを用いるこができる。
さらに、クロックCLKの1周期が比較的に長い場合には、ダミーリードとレイトライトを1サイクルで実施することもでき、実効的には、1サイクルでライト動作を完結できる。この場合、外部からみれば、エラー訂正機能がない場合と同一の仕様になる。
<第4の実施の形態>
第1の実施の形態の半導体記憶装置100では、ライトコマンドと、ライトデータ/マスク信号MASKは、同一のタイミングで入力される。
しかし、図3から分かるように、サイクルT1のライジングエッジt1でライトコマンドと同時に入力されたデータ信号D1(ライトデータ/マスク信号MASK)が使用されるのは、データセットの生成時、すなわちライトコマンドの入力時からの2サイクル目(サイクルT2)である。従って、ライトコマンドの入力に対して、データ信号D(ライトデータ/マスク信号MASK)の入力を1サイクル遅延させることができる。
こうすることにより、リードコマンドが入力されるサイクルの直後のサイクルでライトコマンドが入力されるようにしても、リードコマンドに応じて半導体記憶装置から外部に出力するリードデータと、ライトコマンドに対応するライトデータ/マスク信号MASKとのバッティングを防ぐことができる。そのため、半導体記憶装置のデータI/O(Input/Output)部分(例えば外部バス)をリード/ライトで共有させることができ、データ信号線を半分に削減できる。
<第5の実施の形態>
第1の実施の形態にかかる半導体記憶装置100のレイトライト技術は、半導体記憶装置へのデータ入出力がバースト仕様である場合にも適用することができる。図4のタイミングチャートを参照して説明する。なお、簡潔のために、図4の説明に際して、半導体記憶装置100の機能ブロックを用いる。
図4は、バースト仕様として、DDR(Double−Data−Rate)で8ビットずつ4回連続入出力場合の例である。なお、ライト時には、各回において4ビットがマスクされているとする。
サイクルT1のライジングエッジ(タイミングt1)において、リードコマンドとリードアドレスA1が入力される。このとき、アドレスレジスタ132には、レイトライトアドレスLRA(A0)が格納されており、データレジスタ134には、レイトライトデータLRD(D0E)が格納されているとする。
第5の実施の形態の半導体記憶装置は、サイクルT1において、リードアドレスA1に対応するワード線WL1を選択してワード線WL1上のメモリセルを活性化し、リードアドレスA1に対応するECCデータを読み出す。
そして、サイクルT2で、サイクルT1で読み出したECCデータのECCデコードをし、32ビットのリードデータQ1を得る。
次いで、第5の実施の形態の半導体記憶装置は、サイクルT3〜T4で、リードデータQ1を8ビットずつ4回出力する。
また、サイクルT3のライジングエッジ(タイミングt3)で、ライトコマンド「write」、ライトアドレスA2が入力される。また、データ信号D2(ライトデータとマスク信号MASK)は、サイクルT3〜T4で4回に分けて入力される。
第5の実施の形態の半導体記憶装置は、サイクルT3でダミーリードを行う。具体的には、ライトアドレスA2に対応するワード線WL2を選択して該ワード線WL2上のメモリセルを活性化し、ライトアドレスA2に対応するECCデータをメモリコア170から読み出す。
そして、サイクルT4でレイトライトを行う。具体的には、アドレスレジスタ132に格納されているレイトライトアドレスLRA(A0)に対応するワード線WL0を選択して該ワード線WL0上のメモリを活性化し、データレジスタ134に格納されているレイトライトデータLRD(D0E)をメモリコア170に書込む。アドレスレジスタ132は、新たなレイトライトアドレスLRAとして、アドレス「A2」を格納する。
並行して、第5の実施の形態の半導体記憶装置は、サイクルT3で読み出したECCデータのECCデコード(エラー訂正を含む)をすると共に、ECCデコードしたデータと、タイミングt3から入力されたデータ信号D2(ライトデータ/マスク信号MASK)から、32ビットのデータセットを作成する。
次いで、第5の実施の形態の半導体記憶装置は、サイクルT4の次のサイクルにおいて、サイクルT4で生成したデータセットのECCエンコードをしてECCデータ(D2E)を得、このECCデータを新たなレイトライトデータLRDとしてデータレジスタ134に格納する。
ECC機能とRMW機能を備えた半導体記憶装置では、データの入出力がバースト仕様になっている場合に、ライトコマンドの後にデータセットを生成するために、ライトデータが全て揃ってからデータセットの生成、ECCデータの生成、生成したECCデータのメモリコアへの書込みを行う。
特許文献1には、ECC機能とRMW機能を備え、データの入出力がバースト仕様になっている半導体記憶装置において、ライト動作を高速にする技術が開示されている。この技術は、今回のライトコマンドのときに、レジスタに格納されていた、前回のライトコマンドのときのライトデータからデータセット乃至ECCデータを作成してメモリコアに書き込むと共に、今回のライトデータをレジスタに格納する。つまり、該技術は、ライトデータが揃うまでの待ち時間に、前回のライトコマンドのときのライトデータからのデータセット乃至ECCデータの生成、生成したECCデータのメモリコアへの書込みを行う。
対して、第5の実施の形態の半導体記憶装置は、ライトデータが揃うまでの待ち時間に、前回のライトコマンドに応じて生成したECCデータのメモリコアへの書込みを行う。今回のライトデータが揃ってからは、データセット乃至ECCデータの生成を行うが、メモリコアへの書込みをしないため、特許文献1に開示された技術と同様に、ライト動作を高速に実行することができる。
<第6の実施の形態>
第1の実施の形態の半導体記憶装置100のときに、外部からのリフレッシュコマンドに応じてリフレッシュ処理を行う場合の例を説明した。上述したレイトライト機能は、HIDDEN−REFRESHを実施する半導体記憶装置にも適用することができる。これについて、第6の実施の形態を用いて説明する。
HIDDEN−REFRESHは、DRAMなどのメモリの内部で、所定時間(通常、複数サイクル)毎に自律的にリフレッシュを行う機能である。HIDDEN−REFRESH機能を備える半導体記憶装置は、外部からリフレッシュコマンドの入力、すなわちリフレッシュに関する制御を行う必要がない。
図5は、第6の実施の形態にかかる半導体記憶装置200を示す。半導体記憶装置200は、リフレッシュ制御回路216とRADD(リフレッシュアドレス)生成回路218をさらに備え点と、制御部110とセレクタ140の代わりに制御部210とセレクタ240が設けられた点を除き、図1に示す半導体記憶装置200と同様である。そのため、半導体記憶装置200について、半導体記憶装置100と異なる点のみを説明する。
制御部210は、RMW制御回路212とレイトライト制御回路214を備える。RMW制御回路212は、半導体記憶装置100の制御部110におけるRMW制御回路112の各機能以外に、さらに、リフレッシュ制御回路216に第1の信号Aと第2の信号Bを出力する機能を有する。
第1の信号Aは、リフレッシュを実行するかの判断のためのコマンド情報である。制御部210は、例えば、外部からコマンドCMDが入力される度に、そのコマンドを示す情報を第1の信号Aとしてリフレッシュ制御回路216に出力する。
また、第2の信号Bは、リフレッシュの制御用の内部クロック信号である。
リフレッシュ制御回路216は、RMW制御回路212からの第1の信号Aと第2の信号Bとに基づいて、リフレッシュを実行するか否かを判断する。具体的には、例えば、メモリセル内のデータ保持時間に応じて、複数サイクル毎に、かつ、メモリコア170へのリード動作(外部からのリードアクセス及びダミーリード)の直後にリフレッシュを実行するように判断する。
なお、メモリコア170へのリード動作の直後にリフレッシュを実行するように判断することは、リフレッシュアドレスと、外部からのリード/ライトアドレスとのバッティングを回避するためである。
リフレッシュを実行すると判断したとき、リフレッシュ制御回路216は、リフレッシュアドレス(RADD)の生成を行わせる制御信号をRADD生成回路218に出力すると共に、第3の信号Cをレイトライト制御回路214に出力する。この第3の信号Cは、レイトライト制御回路214に、リフレッシュの活性化を行わせる制御信号である。
RADD生成回路218は、リフレッシュアドレスの生成を示す制御信号をリフレッシュ制御回路216から受信する度にリフレッシュの対象となるアドレス(リフレッシュアドレスRADD)を生成してセレクタ240に出力する。
リフレッシュは、メモリコアに対してワード線単位に順次行われるため、RADD生成回路218は、前回のリフレッシュアドレスから1ワード線分インクリメントして今回のリフレッシュアドレスを生成する。
レイトライト制御回路214は、リフレッシュ制御回路216から第3の信号Cを受信すると、リフレッシュを行わせるための制御信号をメモリコア170に出力すると共に、RADD生成回路218からのアドレス(リフレッシュアドレス)を選択するようにセレクタ240に制御信号を出力する。
セレクタ240は、RADD生成回路218からのリフレッシュアドレスと、アドレス入力部120からのアドレスADDと、アドレスレジスタ132からのレイトライトアドレスLRAとから1つを選択してメモリコア170に出力する。具体的には、レイトライト制御回路214から、レイトライト制御回路214からの制御信号がリフレッシュアドレスを選択することを示すときに、セレクタ240は、RADD生成回路218からのリフレッシュアドレスを選択する。リードコマンドとライトコマンドが半導体記憶装置200に入力された場合には、半導体記憶装置100におけるセレクタ140と同様に、アドレス入力部120からのアドレスADDとアドレスレジスタ132からのレイトライトアドレスLRAのいずれか一方を選択する。
メモリコア170は、リフレッシュの実行を示す制御信号をレイトライト制御回路214から受信すると、セレクタ240からのリフレッシュアドレスに対応するワード線を選択して該ワード線上のメモリセルをリフレッシュする。これについては、外部からリフレッシュコマンドが入力された場合の動作と同様であるので、詳細な説明を省略する。
図6は、半導体記憶装置200における処理の流れを示すタイミングチャートの一例である。図6において、点線枠により表わされるワード線は、リフレッシュのために活性化されたメモリセルに接続されたワード線である。
サイクルT1のライジングエッジ(タイミングt1)において、リードコマンドとリードアドレスA1が入力される。このとき、アドレスレジスタ132には、レイトライトアドレスLRA(A0)が格納されており、データレジスタ134には、レイトライトデータLRD(D0E)が格納されているとする。
半導体記憶装置200は、サイクルT1において、リードアドレスA1に対応するワード線WL1を選択してワード線WL1上のメモリセルを活性化し、リードアドレスA1に対応するECCデータを読み出す。
そして、サイクルT2で、半導体記憶装置200は、サイクルT1で読み出したECCデータのECCデコードをし、32ビットのリードデータQ1を得る。
次いで、半導体記憶装置200は、サイクルT3で、リードデータQ1を外部に出力する。
また、サイクルT2のライジングエッジ(タイミングt2)で、リードコマンドとリードアドレスA2が入力される。
半導体記憶装置200は、サイクルT2において、リードアドレスA2に対応するワード線WL2を選択してワード線WL2上のメモリセルを活性化し、リードアドレスA2に対応するECCデータを読み出す。
そして、サイクルT3で、半導体記憶装置200は、サイクルT2で読み出したECCデータのECCデコードをし、32ビットのリードデータQ2を得る。
次いで、半導体記憶装置200は、サイクルT4で、リードデータQ2を外部に出力する。
サイクルT2において、リードアドレスA2に対応するリード動作が完了すると、ワード線WLn上のメモリセルのリフレッシュが行われる。本実施の形態において、リフレッシュは、クロックCLKと同期せず、例えば内部遅延などにより、リード動作に連続して実行されるようになっている。そのため、ワード線WLn上のメモリセルのリフレッシュは、サイクルT2とサイクルT3に跨って実行され、遅くてもサイクルT3の前半で完了することができる。
サイクルT3のライジングエッジ(タイミングt3)で、リードコマンドとリードアドレスA3が入力される。
本実施の形態において、半導体記憶装置200は、リフレッシュが開始されたサイクル(ここではサイクルT2)の次のサイクルのリードがリフレッシュの完了の直後に開始されるように、該リードの開始時間を所定時間遅れさせる。この所定時間は、リフレッシュにかかる時間に応じて設定される。
そのため、ワード線WLn上のメモリセルのリフレッシュがサイクルT3に跨るものの、リードアドレスA3に対応するメモリコア170へのリードは、サイクルT3で行うことができる。
図6に示すように、サイクルT3において、半導体記憶装置200は、リフレッシュの完了後、リードアドレスA3に対応するワード線WL3(図中実線の太線枠)を選択してワード線WL3上のメモリセルを活性化し、リードアドレスA3に対応するECCデータを読み出している。
そのため、サイクルT4において、半導体記憶装置200は、サイクルT3で読み出したECCデータのECCデコードをし、32ビットのリードデータQ3を得る。このリードデータQ3は、サイクルT4の次のサイクルで外部に出力される。
なお、サイクルT4のライジングエッジ(タイミングt4)で、ライトコマンド「write」、ライトアドレスA4と、データ信号D4(ライトデータとマスク信号MASK)が入力される。
半導体記憶装置200は、サイクルT4でダミーリードを行う。その後、次のサイクルで、レイトライトを行い、レイトライトレジスタ130に格納されたレイトライトアドレスLRA(A0)に、レイトライトデータLRD(D0E)を書き込む。並行して、半導体記憶装置200は、サイクルT4で行ったダミーリードにより読み出されたECCデータのデコードと、データセットの生成などを行う。これらの処理については、前述した通りであるため、ここで詳細を省略する。
図7は、半導体記憶装置200による処理の流れの別の一例を示す。この例の場合、リフレッシュは、ライトコマンドの後に実行されている。
図7に示すように、リフレッシュの実行が開始されるまで、半導体記憶装置200において、図6に示した処理と同様の処理が行われる。
サイクルT3のライジングエッジ(タイミングt3)で、ライトコマンドとライトアドレス(A3)、データ信号D3(ライトデータとマスク信号MASK)が入力される。
半導体記憶装置200は、サイクルT3でダミーリードを行うが、このダミーリードの開始時間を、リフレッシュの完了後に遅れさせている。図7に示すように、ダミーリードのためのワード線WL3の選択は、ワード線WLn上のメモリセルのリフレッシュの完了後になされている。
その後、サイクルT4において、半導体記憶装置200は、サイクルT3のダミーリードにより読み出したECCデータのECCデコードや、データセットの生成、レジスタ130に格納されたレイトライトデータLRD(D0E)のレイトライトを行う。以降の処理に関しても、説明を省略する。
図6と図7は、リードコマンドに応じたリード動作の後にリフレッシュが実施された場合の例である。例えば、図6において、サイクルT3でリフレッシュが実施されず、サイクルT4におけるダミーリード(アドレスA4に対するリード)の後にリフレッシュが実施され、タイミングt5で別のリードコマンドが入力された場合、半導体記憶装置200は、タイミングt5からのサイクルでこのリードコマンドに対応するリード動作の開始を所定時間遅れさせる。
このように、本実施の形態の半導体記憶装置200は、リフレッシュの開始をクロックCLKに同期させず、リードコマンドに応じたリード動作及びダミーリードによるリード動作の完了後に開始させるようにすると共に、リフレッシュが開始されたサイクルの次のサイクルで行うリード動作(リードコマンドに応じたリード動作またはダミーリードによるリード動作)の開始を所定時間遅れさせる。こうすることにより、リフレッシュが実施される2サイクルに亘ってメモリコア170へ3回アクセスが可能であり、リフレッシュの後のリード動作の開始を、リフレッシュが完了したサイクルの次のサイクルに遅れさせる必要がない。
<第7の実施の形態>
第7の実施の形態も半導体記憶装置である。この半導体記憶装置も、HIDDEN−REFRESHを実施するものであり、データの入出力がバースト仕様になっている。バースト仕様のため、本実施の形態の半導体記憶装置は、リフレッシュ後のリード動作の開始を遅れさせることをせず、リフレッシュ後のレイトライトの開始タイミングを遅れさせる。他の点に関しては、第6の実施の形態の半導体記憶装置200と同様である。
図8は、本実施の形態の半導体記憶装置における処理の流れを示すタイミングチャートの一例である。なお、バースト仕様として、この例においても、DDR(Double−Data−Rate)で8ビットずつ4回連続入出力され、ライト時には、各回において4ビットがマスクされている。また、図8において、点線枠により表わされるワード線は、リフレッシュのために活性化されたメモリセルに接続されたワード線であり、実線の太線枠により表されるワード線は、レイトライトのうちの、開始タイミングが遅れさせられたレイトライトのために活性化されたメモリに接続されたワード線である。
サイクルT1のライジングエッジ(タイミングt1)において、リードコマンドとリードアドレスA1が入力される。このとき、アドレスレジスタ132には、レイトライトアドレスLRA(A0)が格納されており、データレジスタ134には、レイトライトデータLRD(D0E)が格納されているとする。
本実施の形態の半導体記憶装置は、サイクルT1において、リードアドレスA1に対応するワード線WL1を選択してワード線WL1上のメモリセルを活性化し、リードアドレスA1に対応するECCデータを読み出す。
リードアドレスA1に対応するリード動作が完了すると、ワード線WLn上のメモリセルのリフレッシュが行われる。半導体記憶装置200のときと同様に、リフレッシュは、クロックCLKと同期せず、例えば内部遅延などにより、リード動作に連続して実行されるようになっている。
サイクルT2で、本実施の形態の半導体記憶装置は、サイクルT1で読み出したECCデータのECCデコードをし、32ビットのリードデータQ1を得る。
次いで、本実施の形態の半導体記憶装置は、サイクルT3〜T4で、リードデータQ1を8ビットずつ4回出力する。
また、サイクルT3のライジングエッジ(タイミングt3)で、ライトコマンド「write」、ライトアドレスA2が入力される。また、データ信号D2(ライトデータとマスク信号MASK)は、サイクルT3〜T4で4回に分けて入力される。
本実施の形態の半導体記憶装置は、サイクルT3でダミーリードを行う。具体的には、ライトアドレスA2に対応するワード線WL2を選択して該ワード線WL2上のメモリセルを活性化し、ライトアドレスA2に対応するECCデータをメモリコア170から読み出す。
サイクルT3において、ワード線WL2に対するリード動作(ダミーリード)が完了すると、ワード線(WLn+1)上のメモリセルのリフレッシュが行われる。前述した通り、このリフレッシュも、クロックCLKに同期せず、ダミーリードに連続して実行されるようになっている。
サイクルT4において、本実施の形態の半導体記憶装置は、レイトライトを行う。具体的には、アドレスレジスタ132に格納されているレイトライトアドレスLRA(A0)に対応するワード線WL0(図中実線の太線枠)を選択して該ワード線WL0上のメモリを活性化し、データレジスタ134に格納されているレイトライトデータLRD(D0E)をメモリコア170に書込む。アドレスレジスタ132は、新たなレイトライトアドレスLRAとして、アドレス「A2」を格納する。
並行して、本実施の形態の半導体記憶装置は、サイクルT3で読み出したECCデータのECCデコード(エラー訂正を含む)をすると共に、ECCデコードしたデータと、タイミングt3から入力されたデータ信号D2(ライトデータ/マスク信号MASK)から、32ビットのデータセットを作成する。
次いで、本実施の形態の半導体記憶装置は、サイクルT4の次のサイクルにおいて、サイクルT4で生成したデータセットのECCエンコードをしてECCデータ(D2E)を得、このECCデータを新たなレイトライトデータLRDとしてデータレジスタ134に格納する。
図8から分かるように、この例の場合、ライトコマンドが入力されてからライト動作の完了まで、メモリコア170へのアクセスは、最大3回(ダミーリードの1回、リフレッシュの1回、レイトライトの1回)である。そのため、クロックCLKの周波数が200MHzであるとすれば、メモリコア170の動作周波数が300MHz以上である必要がある。
ライトコマンドの入力からの2サイクル目に、レイトライトデータLRDのメモリコア170へのライト(レイトライト)があり、その前にワード線(WLn+1)上のメモリセルのリフレッシュがあるため、2サイクル目のレイトライト(図8のサイクルT4におけるワード線WL0上のメモリセルへのライト)の開始タイミングを、サイクルT4のライジングエッジ(タイミングt4)から遅れさせるように制御する必要がある。
クロックCLKが200MHzであり、メモリコア170の動作周波数が300MHzである場合、ワード線(WLn+1)上のメモリセルのリフレッシュの開始がサイクルT3サイクルに食い込んでいることを考慮し、サイクルT4におけるレイトライトの開始を、タイミングt4から、メモリコア170の1周期の半分に相当する1.65ns程度遅れさせればよい。
このように、データの入力がバースト仕様となる本実施の形態の半導体記憶装置は、リフレッシュの開始をクロックCLKに同期させず、リードコマンドに応じたリード動作及びダミーリードによるリード動作の完了後に開始させるようにすると共に、リフレッシュが開始されたサイクルの次のサイクルで行うレイトライトの開始を所定時間遅れさせる。こうすることにより、リフレッシュが実施される2サイクルに亘ってメモリコア170へ3回アクセスが可能であり、リフレッシュの後のレイトライト動作の開始を、リフレッシュが完了したサイクルの次のサイクルに遅れさせる必要がない。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
100 半導体記憶装置
110 制御部
112 RMW制御回路
114 レイトライト制御回路
120 アドレス入力部
122 データ入力部
124 データセット生成部
126 ECCエンコード部
130 レイトライトレジスタ
132 アドレスレジスタ
134 データレジスタ
140 セレクタ
150 データ出力部
160 ECCデコード部
161 比較器
162 マルチプレクサ
163 デコード実行部
164 マルチプレクサ
165 インバータ回路
170 メモリコア
200 半導体記憶装置
210 制御部
212 RMW制御回路
214 レイトライト制御回路
216 リフレッシュ制御回路
218 RADD生成回路
240 セレクタ
ADD アドレス
CLK クロック
CMD コマンド
DS データセット
ECS エラー訂正信号
HC、HC1 ハミングコード
HR ヒットリード信号
LRA レイトライトアドレス
LRD レイトライトデータ
MD1、MD2 主データ

Claims (6)

  1. メモリコアと、
    所定のビット幅のデータから訂正ビットを生成する訂正ビット生成回路と、
    データセット生成部と、
    レイトライトアドレスとレイトライトデータを一時的に格納するレイトライトレジスタと、
    前記所定のビット幅未満のライトデータのライトコマンドに応じて、
    該ライトコマンドのライトアドレスのデータを前記メモリコアから出力するダミーリード動作と、
    前記データ生成部により、前記ライトデータに対して、前記ダミーリード動作により前記メモリコアから出力されたデータで不足ビット分を追加して前記所定のビット幅のデータセットを生成する処理と、
    前記訂正ビット生成回路により、前記データセットから前記訂正ビットを生成する処理と、
    前記データセットと前記訂正ビットの生成に並行して、前記レイトライトレジスタに格納された前記レイトライトデータを前記レイトライトアドレスに対応する前記メモリコアのメモリセルに書き込むレイトライト動作と、
    前記ライトアドレスを新たな前記レイトライトアドレスとし、前記データセット及び前記訂正ビットとを新たな前記レイトライトデータとして前記レイトライトレジスタに格納する処理が行われるように制御を行う制御部と、
    を備える半導体記憶装置。
  2. リードコマンドのときに、
    リードアドレスと、前記レイトライトレジスタに格納されている前記レイトライトアドレスとを比較し、
    比較の結果、一致する場合には、前記レイトライトレジスタに格納された前記レイトライトデータに含まれる前記データセットを出力する一方、一致しない場合には、前記メモリコアの前記リードアドレスから前記訂正ビットが付属されたデータを読み出すと共に、前記訂正ビットに基づいたエラー訂正処理を行ってから出力するリード回路をさらに備える、
    請求項1に記載の半導体記憶装置。
  3. 前記ライトコマンドは、クロックに同期して入力され、
    前記制御部は、
    前記ダミーリードが、前記クロックに同期して行われ、
    前記レイトライトが、前記クロックに同期せず、前記ダミーリードに続いて行われるように制御する、
    請求項1に記載の半導体記憶装置。
  4. 前記ライトコマンドは、クロックに同期して入力され、
    前記ライトコマンドの前記ライトデータは、前記クロックに同期して、前記ライトコマンドより1サイクル以上後に入力される、
    請求項1に記載の半導体記憶装置。
  5. クロックの複数のサイクルおきに前記メモリコアのリフレッシュが行われるように制御を行うリフレッシュ制御部をさらに備え、
    リードコマンドと前記ライトコマンドが、前記クロックに同期して入力され、
    前記リフレッシュ制御部は、
    前記リフレッシュが、前記クロックに同期せず、前記リードコマンドに応じた前記メモリコアへのアクセス、または前記ダミーリードによる前記メモリコアへのアクセスに続いて行われるように制御を行い、
    前記制御部は、
    前記リフレッシュが開始されたサイクルの次のサイクルでリードコマンドまたはライトコマンドが入力された場合に、前記リードコマンドに応じて前記メモリコアへのアクセスの開始、または前記ライトコマンドに応じた前記ダミーリードによる前記メモリコアへのアクセスの開始を、前記次のサイクルにおいて所定時間遅延させる、
    請求項1に記載の半導体記憶装置。
  6. クロックの複数のサイクルおきに前記メモリコアのリフレッシュが行われるように制御を行うリフレッシュ制御部をさらに備え、
    データの入力と出力がバースト仕様になっており、
    リードコマンドと前記ライトコマンドが、前記クロックに同期して入力され、
    前記リフレッシュ制御部は、
    前記リフレッシュが、前記クロックに同期せず、前記リードコマンドに応じた前記メモリコアへのアクセス、または前記ダミーリードによる前記メモリコアへのアクセスに続いて行われるように制御を行い、
    前記制御部は、
    前記ダミーリードによる前記メモリコアへのアクセスに続いて前記リフレッシュが行われた場合に、前記ダミーリードの次のサイクルで行われる前記レイトライトの開始を、前記次のサイクルにおいて所定時間遅延させる、
    請求項1に記載の半導体記憶装置。
JP2012189461A 2012-08-30 2012-08-30 半導体記憶装置 Active JP5908375B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012189461A JP5908375B2 (ja) 2012-08-30 2012-08-30 半導体記憶装置
US13/965,010 US8837241B2 (en) 2012-08-30 2013-08-12 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012189461A JP5908375B2 (ja) 2012-08-30 2012-08-30 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2014049148A JP2014049148A (ja) 2014-03-17
JP5908375B2 true JP5908375B2 (ja) 2016-04-26

Family

ID=50187453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012189461A Active JP5908375B2 (ja) 2012-08-30 2012-08-30 半導体記憶装置

Country Status (2)

Country Link
US (1) US8837241B2 (ja)
JP (1) JP5908375B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6072449B2 (ja) * 2012-07-09 2017-02-01 ルネサスエレクトロニクス株式会社 半導体記憶回路及びその動作方法
US10074417B2 (en) * 2014-11-20 2018-09-11 Rambus Inc. Memory systems and methods for improved power management
US10061645B2 (en) 2015-06-30 2018-08-28 Qualcomm Incorporated Memory array and link error correction in a low power memory sub-system
US9639418B2 (en) * 2015-09-01 2017-05-02 International Business Machines Corporation Parity protection of a register
US9548118B1 (en) * 2015-09-22 2017-01-17 Arm Ltd. Method, system and device for complementary non-volatile memory device operation
US9589636B1 (en) 2015-09-22 2017-03-07 Arm Ltd. Method, system and device for complementary non-volatile memory device operation
US10140175B2 (en) 2015-11-20 2018-11-27 Qualcomm Incorporated Protecting an ECC location when transmitting correction data across a memory link
KR20170060263A (ko) 2015-11-24 2017-06-01 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
CN108932175B (zh) * 2017-05-24 2022-01-11 建兴储存科技(广州)有限公司 固态储存装置的控制方法
KR102580944B1 (ko) * 2018-04-20 2023-09-20 삼성전자주식회사 에러 정정 기능을 갖는 메모리 장치와 그 동작 방법
US11023173B2 (en) * 2019-09-03 2021-06-01 Micron Technology, Inc. Apparatuses and methods to mask write operations for a mode of operation using ECC circuitry
KR20210157830A (ko) * 2020-06-22 2021-12-29 에스케이하이닉스 주식회사 메모리 및 메모리의 동작 방법
CN112052115B (zh) * 2020-09-28 2022-07-08 山东云海国创云计算装备产业创新中心有限公司 数据存储纠删方法、装置、设备及计算机可读存储介质
CN112820343A (zh) * 2021-02-25 2021-05-18 记忆科技(深圳)有限公司 数据保护方法、装置、计算机设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60201456A (ja) * 1984-03-26 1985-10-11 Fujitsu Ltd メモリアクセス制御方式
JPH11184761A (ja) * 1997-12-19 1999-07-09 Nec Kofu Ltd リードモディファイライト制御システム
JP4588158B2 (ja) * 2000-03-28 2010-11-24 富士通セミコンダクター株式会社 半導体集積回路
JP4418153B2 (ja) * 2002-12-27 2010-02-17 株式会社ルネサステクノロジ 半導体装置
JP2005327437A (ja) * 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置
US7814300B2 (en) * 2008-04-30 2010-10-12 Freescale Semiconductor, Inc. Configurable pipeline to process an operation at alternate pipeline stages depending on ECC/parity protection mode of memory access
JP5430484B2 (ja) * 2010-04-15 2014-02-26 ルネサスエレクトロニクス株式会社 半導体記憶装置、及びその制御方法

Also Published As

Publication number Publication date
JP2014049148A (ja) 2014-03-17
US8837241B2 (en) 2014-09-16
US20140063996A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
JP5908375B2 (ja) 半導体記憶装置
US9653141B2 (en) Method of operating a volatile memory device and a memory controller
US7568146B2 (en) Semiconductor storage device and pseudo SRAM
US7203115B2 (en) Semiconductor memory and method for operating the same
US11646092B2 (en) Shared error check and correct logic for multiple data banks
US20140169114A1 (en) Volatile memory devices, memory systems including the same and related methods
US9083382B2 (en) Memory with on-chip error correction
US20080189481A1 (en) Methods and systems for storing data based on a reliability requirement
US9311180B2 (en) Semiconductor storage circuit and operation method thereof
US6853602B2 (en) Hiding error detecting/correcting latency in dynamic random access memory (DRAM)
JP2010123156A (ja) 半導体記憶装置及びその制御方法
JP4615896B2 (ja) 半導体記憶装置および該半導体記憶装置の制御方法
US7827463B2 (en) Semiconductor memory device
JP2007141372A (ja) 半導体記憶装置
JP6398801B2 (ja) メモリ装置へのデータ書き込み/読み出し制御方法及びメモリ装置
JP2008027296A (ja) メモリ装置
JP2008165879A (ja) 半導体記憶装置
JP2004206850A (ja) 半導体記憶装置
TWI749598B (zh) 一種記憶體裝置及其連續讀寫方法
US11646066B2 (en) Memory controller and related memory
JP2013222359A (ja) メモリ制御方法、メモリコントローラ及び電子装置
JP5256879B2 (ja) 半導体記憶装置
JP2006011593A (ja) メモリ制御装置
JP5344634B2 (ja) 半導体記憶装置およびその制御方法
JP4100403B2 (ja) 半導体メモリ装置におけるリフレッシュ制御および内部電圧の生成

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160323

R150 Certificate of patent or registration of utility model

Ref document number: 5908375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150