IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーの特許一覧 ▶ トヨタ自動車株式会社の特許一覧 ▶ 株式会社ミライズテクノロジーズの特許一覧

<>
  • 特開-半導体メモリ装置 図1
  • 特開-半導体メモリ装置 図2
  • 特開-半導体メモリ装置 図3
  • 特開-半導体メモリ装置 図4
  • 特開-半導体メモリ装置 図5
  • 特開-半導体メモリ装置 図6
  • 特開-半導体メモリ装置 図7
  • 特開-半導体メモリ装置 図8
  • 特開-半導体メモリ装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024124037
(43)【公開日】2024-09-12
(54)【発明の名称】半導体メモリ装置
(51)【国際特許分類】
   G06F 12/04 20060101AFI20240905BHJP
   G06F 12/00 20060101ALI20240905BHJP
   G11C 7/10 20060101ALI20240905BHJP
【FI】
G06F12/04 520B
G06F12/00 560B
G11C7/10 152
【審査請求】未請求
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2023031937
(22)【出願日】2023-03-02
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】520124752
【氏名又は名称】株式会社ミライズテクノロジーズ
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】滝澤 哲郎
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160CB01
5B160DA04
(57)【要約】
【課題】半導体メモリ装置において、マスクライト処理実行時のデータ処理性能の低下を抑制する。
【解決手段】マスクライト処理を実行可能である半導体メモリ装置100、100Aであって、書込データが記録されるデータ記録部30と、書込データに対応したエラー訂正コードが記録されるECCコード記録部40と、を有する複数のバンクB0~B7と、各バンクに対するデータの読み書きを行うセンスアンプSAと、エラー訂正コードを生成するECCコード生成部22と、エラー訂正コードを用いてデータのエラー訂正を行うエラー訂正部21と、各センスアンプとエラー訂正部とを接続し、各センスアンプから出力されたデータをエラー訂正部へ伝送する第1バスMRB、RR、LRBと、ECCコード生成部と各センスアンプとを接続し、ECCコード生成部から出力されたデータを各センスアンプへ伝送する第2バスMWB、WR、LWBと、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
予め設定されたデータアクセス単位よりも小さいデータ長のデータの書き換えを行うマスクライト処理を実行可能である半導体メモリ装置(100、100A)であって、
書込データが記録されるデータ記録部(30)と、前記書込データに対応したエラー訂正コードが記録されるECCコード記録部(40)と、を有する複数のバンク(B0~B7)と、
前記複数のバンクのそれぞれに設けられて、各前記バンクに対するデータの読み書きを行うセンスアンプ(SA)と、
前記エラー訂正コードを生成するECCコード生成部(22)と、
前記エラー訂正コードを用いてデータのエラー訂正を行うエラー訂正部(21)と、
各前記センスアンプと前記エラー訂正部とを接続し、各前記センスアンプから出力されたデータを前記エラー訂正部へ伝送する第1バス(MRB、RR、LRB)と、
前記ECCコード生成部と各前記センスアンプとを接続し、前記ECCコード生成部から出力されたデータを各前記センスアンプへ伝送する第2バス(MWB、WR、LWB)と、
を備える、
半導体メモリ装置。
【請求項2】
請求項1に記載の半導体メモリ装置であって、
前記書込データと、前記書込データの書込み先バンクアドレスと、前記書込データの書込み先カラムアドレスと、を示すバッファデータを記憶する複数のバッファ(BF1~BF3)であって、前記マスクライト処理の開始から終了までに要するサイクル数から1引いた数以上の数設けられた複数のバッファをさらに備え、
前記複数のバッファはそれぞれ、前記バッファデータが記憶された後、前記複数のバッファの数と同じ数のサイクル数が経過したときに前記バッファデータを消去し、
前記半導体メモリ装置は、前記バッファに記憶されている前記書込み先バンクアドレスおよび前記書込み先カラムアドレスと、前記マスクライト処理の対象データの書込み先アドレスと、が一致するアドレス一致バッファが存在する場合、前記アドレス一致バッファから読み出した前記書込データを利用して前記マスクライト処理を実行し、
前記アドレス一致バッファが存在しない場合、前記書込み先アドレスが示すバンクが有する前記センスアンプから読み出した前記書込データを利用して、前記マスクライト処理を実行する、
半導体メモリ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半導体メモリ装置に関する。
【背景技術】
【0002】
半導体メモリ装置としては、例えば、ECC(Error Check and Correct)機能を備え自律してデータのエラー訂正処理を行うDRAM(Dynamic Random Access Memory)が用いられることがある。また、ECC機能を備えるDRAMであって、半導体メモリ装置へのデータ書き込みの際に、データの一部のみを書き換えるマスクライト処理が可能であるDRAMが知られている(特許文献1)。特許文献1に記載の半導体メモリ装置では、データ書き込み対象となるバンクが互いに異なる複数のマスクライト処理をパイプライン処理させることにより、半導体メモリ装置のデータ処理性能の低下を抑制している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2022/0245031A1号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、アクセス対象となるバンクが互いに同じである複数のマスクライト処理を連続して実行する場合には、先の一連の処理が終了した後でなければ次のマスクライト処理を実行できず、データ処理性能が低下するという問題がある。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
本開示の一形態によれば、(100、100A)が提供される。この半導体メモリ装置は、予め設定されたデータアクセス単位よりも小さいデータ長のデータの書き換えを行うマスクライト処理を実行可能である半導体メモリ装置(100、100A)であって、書込データが記録されるデータ記録部(30)と、前記書込データに対応したエラー訂正コードが記録されるECCコード記録部(40)と、を有する複数のバンク(B0~B7)と、前記複数のバンクのそれぞれに設けられて、各前記バンクに対するデータの読み書きを行うセンスアンプ(SA)と、前記エラー訂正コードを生成するECCコード生成部(22)と、前記エラー訂正コードを用いてデータのエラー訂正を行うエラー訂正部(21)と、各前記センスアンプと前記エラー訂正部とを接続し、各前記センスアンプから出力されたデータを前記エラー訂正部へ伝送する第1バス(MRB、RR、LRB)と、前記ECCコード生成部と各前記センスアンプとを接続し、前記ECCコード生成部から出力されたデータを各前記センスアンプへ伝送する第2バス(MWB、WR、LWB)と、を備える。
【0007】
この形態の制御装置によれば、第1バスと第2バスとを備えるので、同一のバンクにおいて、センスアンプからエラー訂正部へのデータの出力と、ECCコード生成部からセンスアンプへのデータの入力とを並列して実行できる。このため、データ書き込み対象となるバンクが互いに同じである複数のマスクライト処理を連続して実行する場合であっても、アクセス対象となるカラムが互いに異なれば、先のマスクライト処理の終了を待たずに次のマスクライト処理を並列して実行でき、データ処理性能の低下を抑制できる。
【図面の簡単な説明】
【0008】
図1】第1実施形態の半導体メモリ装置の概略構成を示す説明図である。
図2】第1実施形態のマスクライト処理の手順を示すフローチャートである。
図3】第1実施形態のマスクライト処理の手順を示すフローチャートである。
図4】第1実施形態の半導体メモリ装置における動作の一例を示すタイミングチャートである。
図5】第2実施形態の半導体メモリ装置の概略構成を示す説明図である。
図6】第2実施形態のマスクライト処理の手順を示すフローチャートである。
図7】第2実施形態のマスクライト処理の手順を示すフローチャートである。
図8】第2実施形態のマスクライト処理の手順を示すフローチャートである。
図9】第2実施形態の半導体メモリ装置における動作の一例を示すタイミングチャートである。
【発明を実施するための形態】
【0009】
A.第1実施形態:
A-1.装置構成:
本実施形態の半導体メモリ装置100は、CPUやGPU(Graphics Processing Unit)等の演算装置200から受けた要求に応じて、データの読み書きを行う。本実施形態では、半導体メモリ装置100は、LPDDR4(Low Power DDR4)として構成されており、通常のデータ書き込みを行うライト処理に加えてマスクライト処理を実行可能に構成されている。「マスクライト処理」は、半導体メモリ装置100の仕様として予め設定されたデータアクセス単位で読み出したデータの一部を、当該アクセス単位よりも小さいデータ長の新たに入力されたデータで書き換えて再び書き戻す処理である。なお、以下の説明において、演算装置200から発行される、マスクライト処理を要求するコマンドを「マスクライトコマンド」とも呼ぶ。
【0010】
以下の説明において、データアクセス単位よりも小さいデータ長のデータを「マスクデータ」とも呼ぶ。また、マスクデータによりデータの一部が書き換えられるデータを「書換対象データ」とも呼ぶ。また、書換対象データのうち、マスクデータによって書き換えられるビット列を「書換対象部分」とも呼ぶ。本実施形態では、マスクデータは、書換対象データが保持された記憶領域のアドレスを示すアドレス情報、および、書換対象データのうち、いずれのビット列を書換対象部分とするかを示す情報を含む。
【0011】
図1に示すように、本実施形態の半導体メモリ装置100は、入出力回路10と、入出力バスIOBと、複数のバンクB0~B7と、ECC演算回路20と、メインリードバスMRBとメインライトバスMWBとを備える。なお、半導体メモリ装置100は、上述の構成の他にも、クロック生成回路および各種デコーダ等を備えるが、一般的なLPDDR4と同様であるので、図1においては、これらの構成の図示は省略されている。
【0012】
入出力回路10は、演算装置200とのデータの入出力を制御する。より具体的には、入出力回路10は、半導体メモリ装置100の外部から供給されるクロック信号、または、半導体メモリ装置100が有する図示しないクロック生成回路により生成されるクロック信号に従ってデータを入出力する。本実施形態では、入出力回路10は、データバス反転(DBI:Data Bus Inversion)機能を有する。入出力回路10は、演算装置200から入力されたデータがビット反転されている場合、再度ビット反転させることにより元のデータに復元する。このように、「1」よりも消費電力が大きくなる「0」を多く含むデータを伝送する際にDBI機能によるDBI処理を実行することにより、データ伝送時の消費電力を抑制できる。なお、半導体メモリ装置100は、DBI機能を有さなくてもよい。
【0013】
バンクB0~B7はそれぞれ、記憶領域STと、センスアンプSAと、リードレジスタRRと、ライトレジスタWRと、ローカルリードバスLRBと、ローカルライトバスLWBとを有する。記憶領域STは、記憶素子であるメモリセルがマトリクス状に配置されて形成されている。バンクB0~B7のうち、バンクB0~B3が有する記憶領域STは、演算装置200から書き込まれた書込データを保持するデータ記録部30として機能する。バンクB0~B7のうち、バンクB4~B7が有する記憶領域STは、データ記録部30に書き込まれるデータに対応して後述するECCコード生成部22により生成されたECCコードを保持するECCコード記録部40として機能する。
【0014】
センスアンプSAは、記憶領域STと互いに接続されて、記憶領域STからのデータの読み出しおよび記憶領域STへのデータの書き込みを行う。より具体的には、演算装置200から発行されたコマンドに従って記憶領域STからデータを読み出す場合、センスアンプSAは、受信したアクティブコマンドにより指定されるアドレスに従って、図示しないロウデコーダにより選択されたロウアドレスにより指定されるメモリセルに保持されたデータを読み出す。他方、演算装置200から発行されたコマンドに従って記憶領域STへデータを書き込む場合、センスアンプSAは、受信したプリチャージコマンドにより、アクティブコマンド発行時に指定されたロウアドレスにより指定されるメモリセルに保持されたデータを書き込む。
【0015】
リードレジスタRRは、ローカルリードバスLRBを介してセンスアンプSAと互いに接続し、メインリードバスMRBを介してECC演算回路20と互いに接続されている。リードレジスタRRは、センスアンプSAからバンク外にデータを出力する際に、ローカルリードバスLRBを介してセンスアンプSAから出力されたデータを一時的に保持し、メインリードバスMRBを介してECC演算回路20へデータを出力する。
【0016】
ライトレジスタWRは、ローカルライトバスLWBを介してセンスアンプSAと互いに接続し、メインライトバスMWBを介してECC演算回路20と互いに接続されている。ライトレジスタWRは、バンク外からセンスアンプSAにデータを入力する際に、メインライトバスMWBを介してECC演算回路20から入力されたデータを一時的に保持し、ローカルライトバスLWBを介してセンスアンプSAへデータを入力する。ローカルリードバスLRBを介したセンスアンプSAからリードレジスタRRへのデータ出力、および、ローカルライトバスLWBを介したライトレジスタWRからセンスアンプSAへのデータ入力は、それぞれ互いに並列して実行可能である。
【0017】
ECC演算回路20は、入出力バスIOBを介して入出力回路10と互いに接続されている。ECC演算回路20は、エラー訂正部21と、ECCコード生成部22とを有する。
【0018】
エラー訂正部21は、メインリードバスMRBを介して各バンクが有するリードレジスタRRのそれぞれと互いに接続されている。このように、半導体メモリ装置100では、各バンクが有する各ローカルリードバスLRBと、各バンクが有する各リードレジスタRRと、メインリードバスMRBとにより、センスアンプSAとエラー訂正部21とを互いに接続するデータ伝送経路が形成されている。以下の説明において、かかるデータ伝送経路を「第1バス」とも呼ぶ。エラー訂正部21は、データ記録部30からのデータ読み出し時に、読出データに対応するECCコードもECCコード記録部40から読み出し、読出データにエラーが生じている場合には、ECCコードを利用してかかるエラーを訂正する。エラー訂正部21は、受信したマスクライトコマンドにより指定されるバンクアドレスに従って、読出データの読み出し元となるバンク、および、ECCコードの読み出し元となるバンクを選択する。
【0019】
ECCコード生成部22は、メインライトバスMWBを介して各バンクが有するライトレジスタWRのそれぞれと互いに接続されている。このように、半導体メモリ装置100では、各バンクが有する各ローカルライトバスLWBと、各バンクが有する各ライトレジスタWRと、メインライトバスMWBとにより、センスアンプSAとECCコード生成部22とを互いに接続するデータ伝送経路が形成されている。以下の説明において、かかるデータ伝送経路を「第2バス」とも呼ぶ。ECCコード生成部22は、データ記録部30へのデータ書き込み時に、書込データに対応するエラー訂正コード(ECCコード)を生成する。ECCコード生成部22は、受信したマスクライトコマンドにより指定されるバンクアドレスに従って、書込データの書込み先となるバンク、および、ECCコードの書込み先となるバンクを選択する。
【0020】
ECCコード生成部22は、上述のマスクライト処理において、書換対象データと、マスクデータとを入力されて、書換対象データのうちの書換対象部分をマスクデータで書き換える。本実施形態では、かかる処理は、ECCコード生成部22が有する図示しないマルチプレクサに書換対象データとマスクデータとが入力されることにより行われる。
【0021】
A-2.マスクライト処理:
半導体メモリ装置100は、演算装置200からマスクライトコマンドが発行されると、図2および図3に示すマスクライト処理を実行する。本実施形態では、アクセス対象となるバンクが互いに異なる場合、または、アクセス対象となるバンクが互いに同じであってアクセス対象となるカラムが互いに異なる場合には、半導体メモリ装置100は、複数のマスクライト処理を並列して実行可能である。
【0022】
図2に示すステップS10において、半導体メモリ装置100は、演算装置200からマスクライトコマンドを受信する。その後、半導体メモリ装置100は、図2に示すように、ステップS20、S30、S40の処理と、ステップS22、S32、S42、S52、S62の処理とを並列して実行する。
【0023】
ステップS20において、半導体メモリ装置100は、入出力回路10において演算装置200からマスクデータを受信する。
【0024】
ステップS30において、半導体メモリ装置100は、入出力回路10においてマスクデータを対象として上述のDBI処理を実行する。
【0025】
ステップS40において、半導体メモリ装置100は、入出力回路10からECCコード生成部22へマスクデータを伝送する。
【0026】
ステップS22において、半導体メモリ装置100は、記憶領域STからセンスアンプSAへ書換対象データおよび書換対象データに対応するECCコードをそれぞれ読み出す。より具体的には、半導体メモリ装置100は、バンクB0~B3のうち、マスクライトコマンドにより指定されたバンクが有するデータ記録部30から、当該データ記録部30と接続されたセンスアンプSAへ書換対象データを読み出す。また、半導体メモリ装置100は、バンクB4~B7のうち、書換対象データに対応して生成されたECCコードを保持しているECCコード記録部40から、当該ECCコード記録部40と接続されたセンスアンプSAへECCコードを読み出す。なお、書換対象データが保持されているバンクと、ECCコードが保持されているバンクとは互いに異なるので、上述した処理は、各バンクにおいて互いに独立してそれぞれ実行される。
【0027】
ステップS32において、半導体メモリ装置100は、ローカルリードバスLRBを介して、センスアンプSAからリードレジスタRRへ書換対象データおよびECCコードをそれぞれ伝送する。上述のステップS22と同様に、かかる処理は、各バンクにおいて互いに独立してそれぞれ実行される。
【0028】
ステップS42において、半導体メモリ装置100は、メインリードバスMRBを介して、リードレジスタRRからエラー訂正部21へ書換対象データおよびECCコードをそれぞれ伝送する。
【0029】
ステップS52において、半導体メモリ装置100は、エラー訂正部21において、ECCコードを用いて書換対象データを対象としてエラー訂正を実行する。
【0030】
ステップS62において、半導体メモリ装置100は、エラー訂正部21からECCコード生成部22へ書換対象データを伝送する。
【0031】
ステップS40およびステップS62の終了後、図3に示すステップS70において、半導体メモリ装置100は、エラー訂正部21において、書換対象データのうちの書換対象部分をマスクデータで置き換えて書換データを生成する。
【0032】
ステップS80において、半導体メモリ装置100は、ECCコード生成部22において、書換データに対応するECCコードを生成する。
【0033】
ステップS90において、半導体メモリ装置100は、メインライトバスMWBを介して、ECCコード生成部22からライトレジスタWRへ書換データおよびECCコードをそれぞれ伝送する。
【0034】
ステップS100において、半導体メモリ装置100は、ローカルライトバスLWBを介して、ライトレジスタWRからセンスアンプSAへ書換データおよびECCコードをそれぞれ伝送する。
【0035】
ステップS110において、半導体メモリ装置100は、センスアンプSAから記憶領域STへ書換データおよびECCコードをそれぞれ書き込む。以上で、半導体メモリ装置100は、マスクライト処理を終了する。
【0036】
図4に示す、本実施形態の半導体メモリ装置100において複数のマスクライト処理を並列して実行する場合のタイミングチャートの一例を参照してより具体的に説明する。図4において、横軸は、経過時間をクロック数CLKにより示しており、ハッチングを付して示す矩形領域は、縦軸に示された半導体メモリ装置100を構成する各要素が、矩形領域によって示されるクロック間隔の間使用されていることを示している。
【0037】
図4においては、クロック数CLK0、8、16、24においてマスクライトコマンドMWR1~MWR4をそれぞれ受信する場合を示している。言い換えれば、半導体メモリ装置100は、クロック数8を1サイクルとして、1サイクルごとにひとつのマスクライトコマンドを受信する。マスクライトコマンドMWR1~MWR4は、アクセス対象となるバンクが互いに同じであってアクセス対象となるカラムが互いに異なるマスクライト処理を要求するコマンドである。
【0038】
上述のように、本実施形態の半導体メモリ装置100は、ローカルリードバスLRBとローカルライトバスLWBとを有するので、ローカルリードバスLRBを介したセンスアンプSAからリードレジスタRRへのデータ出力、および、ローカルライトバスLWBを介したライトレジスタWRからセンスアンプSAへのデータ入力を、それぞれ互いに並列して実行可能である。そのため、半導体メモリ装置100は、図4のクロック数CLK28~32に示すように、同一バンクにおいても、センスアンプSAにおける書込動作と読出動作とを並列して行うことができる。なお、互いに異なるバンクに対するマスクライト処理を要求するマスクライトコマンドの場合には、書込動作が行われるセンスアンプSAと読出動作が行われるセンスアンプSAとは互いに異なるので、各センスアンプSAにおける書込動作と読出動作とを並列して実行できる。
【0039】
これに対して、センスアンプから延びる1本のバスが分岐してリードレジスタとライトレジスタとのそれぞれに接続する構成の半導体メモリ装置では、同一バンクにおいては、センスアンプからリードレジスタへのデータ出力、および、ライトレジスタからセンスアンプへのデータ入力は、いずれか一方の処理が実行されている間は他方の処理は実行できない。そのため、かかる構成の半導体メモリ装置では、センスアンプにおける書込動作と読出動作とが並列しないように、後のマスクライトコマンドを遅らせて受信する必要があるので、マスクライト処理実行時のデータ処理性能が低下する。本実施形態の半導体メモリ装置100によれば、このような問題を回避できるので、複数のマスクライト処理の実行時のデータ処理性能の低下を抑制できる。
【0040】
以上説明した第1実施形態の半導体メモリ装置100によれば、第1バスと第2バスとを備えるので、同一のバンクにおいて、センスアンプSAからエラー訂正部21へのデータの出力と、ECCコード生成部22からセンスアンプSAへのデータの入力とを並列して実行できる。このため、アクセス対象となるバンクが互いに同じである複数のマスクライト処理を連続して実行する場合であっても、アクセス対象となるカラムが互いに異なれば、先のマスクライト処理の終了を待たずに次のマスクライト処理を並列して実行でき、データ処理性能の低下を抑制できる。
【0041】
B.第2実施形態:
第2実施形態の半導体メモリ装置100Aは、図5に示すように、バッファBF1~BF3を備える点において、第1実施形態の半導体メモリ装置100と異なっている。また、第2実施形態の半導体メモリ装置100Aは、マスクライト処理において、図6に示すように、図8に示すステップS12およびステップS14を実行する点、および、図7に示すように、ステップS90~ステップS110と並列してステップS120を実行する点において、第1実施形態の半導体メモリ装置100と異なっている。第2実施形態の半導体メモリ装置100Aの装置構成およびマスクライト処理におけるその他の手順は、第1実施形態の半導体メモリ装置100と同じであるので、同一の構成および同一の手順には同一の符号を付し、その詳細な説明を省略する。
【0042】
図5に示すように、半導体メモリ装置100Aは、バッファBF1~BF3と、バッファライトバスBWBと、バッファリードバスBRBとをさらに備える。なお、本実施形態では、バッファBF1~BF3の数である「3」は、上述のマスクライト処理の開始から終了までに要するサイクル数である「4」から1引いた数に相当する。なお、バッファの数は3つに限られず、4つ以上設けられていてもよい。
【0043】
バッファBF1~BF3はそれぞれ、バッファライトバスBWBおよびバッファリードバスBRBを介して、ECCコード生成部22と互いに接続されている。バッファBF1~BF3は、ECCコード生成部22からバッファライトバスBWBを介して入力されるバッファデータを記憶する。「バッファデータ」は、ECCコード生成部22からセンスアンプSAへの書換データの書込み時に出力される、書換データと、書換データの書込み先バンクアドレスおよび書込み先カラムアドレスとを示す情報を意味する。バッファにバッファデータを記憶させることにより、マスクライト処理による書換データのデータ記録部30への書き戻しが完了する前であっても、次のマスクライト処理において直近のマスクライト処理に係る書換データを利用可能となる。かかる効果の詳細については後述する。
【0044】
バッファBF1~BF3は、バッファリードバスBRBを介してECCコード生成部22へバッファデータを出力する。
【0045】
バッファBF1~BF3は、バッファデータが記憶されてから予め設定されたクロック数が経過するまでバッファデータを記憶し、経過後には保持しているバッファデータを消去する。本実施形態では、バッファBF1~BF3は、3サイクルの経過後、保持していたバッファデータを消去する。バッファデータが記憶されてから3サイクルの経過後には、マスクライト処理による書換データのデータ記録部30への書き戻しが完了している。そのため、次のマスクライト処理実行時には、データ記録部30に保持された直近のマスクライト処理に係る書換データを利用できるようになっており、バッファに記憶されたデータを利用する必要がなくなるからである。なお、予め設定された、バッファデータが記憶されてから消去されるまでのサイクル数である「3」は、バッファBF1~BF3の数である「3」に相当する。
【0046】
図6図8に示す第2実施形態のマスクライト処理において、図6に示すように、ステップS10の後、ステップS20、S30、S40と並列して、図8に示すステップS12において、半導体メモリ装置100Aは、アドレス一致バッファが存在するか否かを判定する。「アドレス一致バッファ」は、バッファBF1~BF3のうち、バッファデータとして保持されている書込み先バンクアドレスおよび書込み先カラムアドレスと、受信したマスクライトコマンドの対象データの書込み先アドレスと、が一致するバッファを意味する。アドレス一致バッファが存在しない場合(ステップS12:No)、半導体メモリ装置100Aは、第1実施形態と同様にステップS22以降の処理を順次実行し、第1実施形態と同様に、データ記録部30からECCコード生成部22へ書換対象データを読み出す。
【0047】
アドレス一致バッファが存在する場合(ステップS12:Yes)、半導体メモリ装置100Aは、アドレス一致バッファに保持された書換データをECCコード生成部22へ伝送する(ステップS14)。その後、半導体メモリ装置100は、図7に示すステップS70において、アドレス一致バッファから読み出されたデータを書換対象データとして、ECCコード生成部22において新たに書換データを生成する。
【0048】
図7に示すステップS80の後、ステップS90~ステップS110と並列して、ステップS120において、半導体メモリ装置100Aは、バッファBF1~BF3のいずれかにバッファデータを書き込む。半導体メモリ装置100Aは、バッファBF1~BF3のうち、上述のステップS14においてデータを読み出してきたバッファを選択し、当該バッファに保持されたバッファデータを、新たな書換データを含むバッファデータに書き換える。なお、当該バッファに保持されたバッファデータが上述のように時間経過により消去されている場合には、空となった当該バッファへ新たな書換データを含むバッファデータを新たに書き込む。
【0049】
図9に示す、第2実施形態の半導体メモリ装置100Aにおいて複数のマスクライト処理を並列して実行する場合のタイミングチャートの一例を参照してより具体的に説明する。横軸は、経過時間をクロック数CLKにより示しており、ハッチングまたはクロスハッチングを付して示す矩形領域は、縦軸に示された半導体メモリ装置100Aを構成する各要素が、矩形領域によって示されるクロック間隔の間使用されていることを示している。なお、ハッチングを付して示す矩形領域は、マスクライトコマンドMWR5に係るマスクライト処理において使用されていることを示しており、クロスハッチングを付して示す矩形領域は、マスクライトコマンドMWR6に係るマスクライト処理において使用されていることを示している。
【0050】
図9においては、クロック数CLK0、8においてマスクライトコマンドMWR5、MWR6をそれぞれ受信する場合を示している。マスクライトコマンドMWR5、MWR6は、アクセス対象となるバンクおよびカラムが互いに同じであるマスクライト処理を要求するコマンドである。
【0051】
マスクライトコマンドMWR5にかかるマスクライト処理においては、CLK4~8において、記憶領域STからセンスアンプSAへの書換対象データの読み出しが行われる。その後、ローカルリードバスLRBを介した伝送、メインリードバスMRBを介した伝送、エラー訂正部21におけるエラー訂正を経て、書換対象データがECCコード生成部22へ伝送される。さらに、ECCコード生成部22における処理の終了後、センスアンプSAへの書換データの出力と並列して、CLK20において、ECCコード生成部22からバッファデータが出力されバッファBF1にバッファデータが記憶される。図9においては、CLK20~26においてバッファBF1に記憶されているバッファデータがマスクライトコマンドMWR5にかかるバッファデータであることを、ハッチングを付した矩形領域により示している。
【0052】
マスクライトコマンドMWR6にかかるマスクライト処理においては、バッファBF1に、マスクライトコマンドMWR5とアクセス対象アドレスが同じであるマスクライトコマンドMWR6にかかるバッファデータが記憶されている。そのため、半導体メモリ装置100Aは、図9において太い実線で囲まれたハッチングを付さない矩形領域で示す、センスアンプSAにおける読出動作、ローカルリードバスLRBを介した伝送、メインリードバスMRBを介した伝送、エラー訂正部21におけるエラー訂正を省略し、CLK22において、バッファリードバスBRBを介して、バッファBF1からECCコード生成部22への書換対象データの伝送を実行する。このように、半導体メモリ装置100Aは、マスクライトコマンドMWR5に係る書換データのデータ記録部30への書き戻しが完了する前に、バッファBF1に記憶されたバッファデータを利用してECCコード生成部22における処理を実行できる。
【0053】
ECCコード生成部22における処理の終了後、センスアンプSAへの書換データの出力と並列して、CLK28において、半導体メモリ装置100Aは、新たなバッファデータでバッファBF1を書き換える。図9においては、CLK28~50においてバッファBF1に記憶されているバッファデータがマスクライトコマンドMWR6にかかるバッファデータであることを、クロスハッチングを付した矩形領域により示している。なお、BF1に記憶されたバッファデータは、CLK52において3サイクルが経過し消去される。
【0054】
マスクライトコマンドMWR6にかかるマスクライト処理において、CLK12において太い実線により囲って示すセンスアンプにおける読出処理を実行すると、マスクライトコマンドMWR5にかかるマスクライト処理が完了する前の古いデータに基づいてマスクライト処理が実行され、データの不整合が発生してしまう。そのため、バッファを備えない形態の半導体メモリ装置においては、アクセス対象となるバンクおよびカラムが互いに同じである複数のマスクライト処理を実行する場合、データの不整合を発生させないために、先のマスクライト処理による書換データのデータ記録部への書き戻しが終了した後に次のマスクライト処理を開始するように後のマスクライトコマンドを遅らせて受信する必要がある。そのため、このような構成の半導体メモリ装置においてはマスクライト処理実行時のデータ処理性能が低下する。本実施形態の半導体メモリ装置100Aによれば、このような問題を回避できるので、複数のマスクライト処理の実行時のデータ処理性能の低下をより抑制できる。
【0055】
以上説明した第2実施形態の半導体メモリ装置100Aによれば、バッファデータを記憶するバッファBF1~BF3を備えるので、アクセス対象となるバンクおよびカラムが互いに同じであるマスクライト処理を連続して実行する場合、先のマスクライト処理によって書換データがデータ記録部30に書き戻される前であっても、バッファBF1~BF3のいずれかから読み出されたバッファデータを利用して次のマスクライト処理を実行できる。このため、アクセス対象となるバンクおよびカラムが互いに同じであっても、先のマスクライト処理の終了を待たずに次のマスクライト処理を並列して実行でき、データ処理性能の低下をさらに抑制できる。
【0056】
C.他の実施形態:
(C1)上記実施形態では、半導体メモリ装置100および半導体メモリ装置100Aにおいて、第1バスは、ローカルリードバスLRBと、リードレジスタRRと、メインリードバスMRBとにより形成され、第2バスは、ローカルライトバスLWBと、ライトレジスタWRと、メインライトバスMWBとにより形成されるが、本開示はこれに限定されない。センスアンプSAとエラー訂正部21とは、メインリードバスMRBによって直接接続されていてもよい。かかる形態においては、メインリードバスMRBが本開示における「第1バス」に相当する。また、センスアンプSAとECCコード生成部22とは、メインライトバスMWBによって直接接続されていてもよい。かかる形態においては、メインライトバスMWBが本開示における「第2バス」に相当する。かかる形態の半導体メモリ装置によっても上記実施形態と同様の効果を奏する。
【0057】
(C2)上記第1実施形態では、アクセス対象となるバンクが互いに同じであってアクセス対象となるカラムが互いに異なる複数のマスクライト処理を実行する場合を例として半導体メモリ装置100が奏する効果を説明したが、本開示はこれに限定されない。データの書込みのみを行うライト処理に続けて、かかるライト処理におけるアクセス対象となるバンクが互いに同じであってアクセス対象となるカラムが互いに異なるマスクライト処理を実行する場合であっても、半導体メモリ装置100は、上記実施形態と同様の効果を奏する。かかる場合であっても、同一バンクのセンスアンプSAにおいて、ライト処理による書込動作とマスクライト処理による読出動作とが並列して実行できるからである。
【0058】
(C3)上記第2実施形態では、アクセス対象となるバンクおよびカラムが互いに同じである複数のマスクライト処理を実行する場合を例として半導体メモリ装置100Aが奏する効果を説明したが、本開示はこれに限定されない。データの書込みのみを行うライト処理に続けて、かかるライト処理におけるアクセス対象となるバンクおよびカラムのそれぞれが互いに同じであるマスクライト処理を実行する場合であっても、半導体メモリ装置100Aは、上記実施形態と同様の効果を奏する。かかる場合であっても、ECCコード生成部22におけるライト処理に係る処理の終了後、バッファにバッファデータが記憶され、ライト処理によるデータの書込みが完了する前に、バッファデータを利用してマスクライト処理を並列して実行できるからである。
【0059】
(C4)上記実施形態において、データ記録部30とECCコード記録部40とは互いに異なるバンクが有する記憶領域STにおいて実現されるが、本開示はこれに限定されない。データ記録部30とECCコード記録部40とは、互いに同じバンクが有する記憶領域STにおいて実現されてもよい。例えば、128bitのデータと、かかるデータに対応する8bitのECCコードとが、互いに同じバンクが有する記憶領域STであって、ロウアドレスによって指定されてセンスアンプSAに読み出されるデータ単位が136bit以上である記憶領域STにおいて、互いに同じロウアドレスにより指定されるメモリセルに保持されてもよい。かかる形態の半導体メモリ装置によっても上記実施形態と同様の効果を奏する。加えて、互いに対応するデータとECCコードとの記憶領域STへの読み書きを、1つのバンクにおける1度の読み書きで実現できるので、互いに異なるバンクにおいてデータとECCコードとをそれぞれ読み書きする形態と比べて、データ処理性能の低下を抑制できる。
【0060】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した形態中の技術的特徴に対応する各実施形態中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0061】
21…エラー訂正部、22…ECCコード生成部、30…データ記録部、40…ECCコード記録部、100、100A…半導体メモリ装置、B0~B7…バンク、LRB…ローカルリードバス、LWB…ローカルライトバス、MRB…メインリードバス、MWB…メインライトバス、RR…リードレジスタ、SA…センスアンプ、WR…ライトレジスタ
図1
図2
図3
図4
図5
図6
図7
図8
図9