(57)【要約】【課題】中性子線に起因するソフトエラーに強い三次元積層型メモリ用のメモリシステムを提供する。【解決手段】メモリシステムは、同一の構造を有する少なくとも複数Ｎ個（Ｎ：２以上の整数）のメモリ回路をそれぞれ搭載し垂直方向に積層された複数Ｎ個のコアダイと、複数Ｎ個の書き込みデータを複数Ｎ個のメモリ回路にそれぞれ供給する制御回路と、複数Ｎ個のメモリ回路に複数Ｎ個の書き込みデータをそれぞれ書き込むアドレスとして共通の１つの書き込みアドレスを生成するアドレス生成回路と、１つの書き込みアドレスを変換することにより複数Ｎ個のメモリ回路毎に異なる複数Ｎ個のアドレスを生成し、複数Ｎ個のアドレスを書き込みアドレスとして複数Ｎ個のメモリ回路に供給するアドレス変換回路とを含む。【選択図】図１１
2019067469.tif 000002
【特許請求の範囲】
【請求項１】
同一の構造を有する少なくとも複数Ｎ個（Ｎ：２以上の整数）のメモリ回路をそれぞれ搭載し垂直方向に積層された複数Ｎ個のコアダイと、
複数Ｎ個の書き込みデータを前記複数Ｎ個のメモリ回路にそれぞれ供給する制御回路と、
前記複数Ｎ個のメモリ回路に前記複数Ｎ個の書き込みデータをそれぞれ書き込むアドレスとして共通の１つの書き込みアドレスを生成するアドレス生成回路と、
前記１つの書き込みアドレスを変換することにより前記複数Ｎ個のメモリ回路毎に異なる複数Ｎ個のアドレスを生成し、前記複数Ｎ個のアドレスを書き込みアドレスとして前記複数Ｎ個のメモリ回路に供給するアドレス変換回路と、
を含むメモリシステム。
【請求項２】
前記複数Ｎ個の書き込みデータは情報ビットと前記情報ビットに基づいて生成された検査ビットとを含み、前記検査ビットは、前記複数Ｎ個の書き込みデータのうちの少なくとも２つの書き込みデータに対応する情報ビットをひとまとまりとしたデータに対して生成された検査ビットを含む、請求項１に記載のメモリシステム。
【請求項３】
前記アドレス変換回路は、前記複数Ｎ個のメモリ回路毎に異なる反転コードと前記１つの書き込みアドレスとの排他的論理和を計算することにより前記複数Ｎ個のアドレスを生成する、請求項１又は２に記載のメモリシステム。
【請求項４】
同一の構造を有する少なくとも複数Ｎ個（Ｎ：２以上の整数）のメモリ回路をそれぞれ搭載し垂直方向に積層された複数Ｎ個のコアダイを含む三次元積層型メモリの制御方法であって、
複数Ｎ個の書き込みデータを前記複数Ｎ個のメモリ回路にそれぞれ供給し、
前記複数Ｎ個のメモリ回路に前記複数Ｎ個の書き込みデータをそれぞれ書き込むアドレスとして共通の１つの書き込みアドレスを生成し、
前記１つの書き込みアドレスを変換することにより前記複数Ｎ個のメモリ回路毎に異なる複数Ｎ個のアドレスを生成し、
前記複数Ｎ個のアドレスを書き込みアドレスとして前記複数Ｎ個のメモリ回路に供給する
各段階を含む三次元積層型メモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、メモリシステム及び三次元積層型メモリの制御方法に関する。
【背景技術】
【０００２】
近年、半導体メモリでは、その構造上の問題から微細化のみで容量を増やすことが難しくなってきている。それを解決する手段として、半導体メモリを高さ方向（厚さ方向）に積層することにより容量を増やす三次元積層型メモリ（3D Stacked Memory）が開発されている。三次元積層型メモリの例としては、ＪＥＤＥＣ（Joint Electron Device Engineering Council）により規格化されたＨＢＭ（High Bandwidth Memory）やＨＢＭ２等がある。
【０００３】
例えばＨＢＭでは、各々がＤＲＡＭの構造を有する４つのコアダイがベースダイ上に積層されている。各コアダイ及びベースダイには貫通ビア（TSV：Through Silicon Via）が形成されており、上下に隣接するダイの貫通ビア間がマイクロバンプで互いに電気的に接続される。
【０００４】
各コアダイの構造は同一であるため、データを各コアダイにおいて同一のアドレスに格納すると、データの配置箇所は全コアダイで物理的に同一の位置になる。即ち、ＨＢＭを上から見た平面視において、４つのコアダイにおけるデータの配置箇所は一致することになる。１ワード分のデータを４分割して得られる４つのデータをそれぞれ４つのコアダイの同一のアドレスに格納する場合、平面視における同一位置にある複数箇所に当該１ワードのデータが分散して格納されることになる。このように平面視における同一位置に１ワード分のデータが格納されると、以下に説明するように、中性子線に起因するソフトエラーによる影響が大きいという問題がある。
【０００５】
宇宙線に含まれる中性子線は、電荷を帯びていないために他の荷電粒子などと比較して地表まで到達しやすい。地表まで到達した高エネルギーの中性子線が半導体メモリ中のシリコン原子に衝突すると、２次イオンが生成され、当該イオンの飛翔経路にあるシリコン原子から電子が大量に叩き出される。この電子がメモリセル内の電荷を反転させることにより、ソフトエラーを引き起こす。
【０００６】
ＨＢＭの最上層のコアダイにおいて中性子線衝突に起因する２次イオンが発生したとする。この２次イオンがコアダイに対して垂直方向（コアダイの厚さ方向）に飛翔した場合と、２次イオンがコアダイに対して斜め方向に飛翔した場合とでは、複数のコアダイを貫通する経路の長さが異なる。
【０００７】
垂直方向飛翔の場合において、各コアダイをイオンが貫通する経路は最短であり、また各コアダイ間をイオンが通過する経路も最短である。従って、１つのコアダイを貫通してその直下にあるコアダイに到達する迄にイオンのエネルギーはそれほど失われることはない。結果として、最上層のコアダイにおいて中性子線衝突に起因して発生した２次イオンは、最上層を含む複数のコアダイを貫通する可能性があり、複数のコアダイにおいてデータがソフトエラーにより破壊される可能性がある。
【０００８】
一方、斜め方向飛翔の場合において、各コアダイをイオンが貫通する経路は比較的長く、また各コアダイ間をイオンが通過する経路も比較的長い。従って、１つのコアダイを貫通してその直下にあるコアダイに到達する迄に、イオンは比較的大きく減衰することになる。結果として、最上層のコアダイにおいて中性子線衝突に起因して発生した２次イオンが、複数のコアダイを貫通する可能性は小さくなり、複数のコアダイにおいてデータがソフトエラーにより破壊される可能性も小さくなる。
【０００９】
前述のように、複数のコアダイにおいて平面視での同一位置に１ワード分のデータが格納される場合、それらの複数の格納データは垂直方向に飛翔するイオンにより同時に破壊されてしまう可能性がある。従って、１ワード分のデータの全体が大きく損傷を受けることになる可能性がある。ＥＣＣ等の誤り訂正符号が設けられている場合、例えば１ビットの誤りであれば誤り訂正可能であるが、例えば２ビット以上の誤りについては誤り訂正することができない。従って、上述のように中性子線に起因して垂直方向にイオンが飛翔した場合には、誤り訂正が効かない複数ビットのソフトエラーが発生してしまう可能性がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１６−０９９６６７号公報
【特許文献２】特開２００２−０２６２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
以上を鑑みると、中性子線に起因するソフトエラーに強い三次元積層型メモリ用のメモリシステムが望まれる。
【課題を解決するための手段】
【００１２】
メモリシステムは、同一の構造を有する少なくとも複数Ｎ個（Ｎ：２以上の整数）のメモリ回路をそれぞれ搭載し垂直方向に積層された複数Ｎ個のコアダイと、複数Ｎ個の書き込みデータを前記複数Ｎ個のメモリ回路にそれぞれ供給する制御回路と、前記複数Ｎ個のメモリ回路に前記複数Ｎ個の書き込みデータをそれぞれ書き込むアドレスとして共通の１つの書き込みアドレスを生成するアドレス生成回路と、前記１つの書き込みアドレスを変換することにより前記複数Ｎ個のメモリ回路毎に異なる複数Ｎ個のアドレスを生成し、前記複数Ｎ個のアドレスを書き込みアドレスとして前記複数Ｎ個のメモリ回路に供給するアドレス変換回路とを含む。
【発明の効果】
【００１３】
少なくとも１つの実施例によれば、中性子線に起因するソフトエラーに強い三次元積層型メモリ用のメモリシステムが提供される。
【図面の簡単な説明】
【００１４】
【図１】三次元積層型メモリの一例であるＨＢＭに用いられる１つのコアダイの構成を示す図である。
【図２】三次元積層型メモリの一例であるＨＢＭの構成の一例を示す図である。
【図３】図２の点線２Ａに沿ってとったＨＢＭ１０の断面の構成を示す図である。
【図４】三次元積層型メモリの一例であるＨＢＭを搭載したメモリシステムの構成の一例を示す図である。
【図５】４個のコアダイの４個のチャネルを纏めて１つのバスとして使用する場合の構成の一例を示す図である。
【図６】４個のコアダイの４個のチャネルの同一アドレスにデータを格納した場合のデータ格納箇所を模式的に示す図である。
【図７】情報ビットと誤り訂正ビットとの関係について説明する図である。
【図８】情報ビットと誤り訂正ビットとの関係について説明する図である。
【図９】中性子線衝突に起因するデータ破壊の問題点について説明する図である。
【図１０】中性子線衝突に起因して２次イオンが斜めに飛翔した場合を示す図である。
【図１１】三次元積層型メモリを用いたメモリシステムの構成の一例を示す図である。
【図１２】アドレス変換回路の構成の一例を示す図である。
【図１３】アドレス変換回路の構成の一例を示す図である。
【図１４】アドレス変換のための反転コードの一例を示す図である。
【図１５】図１４の反転コードを用いた場合における変換前アドレス及び変換後アドレスを示す図である。
【図１６】図１４の反転コードを用いた場合におけるデータ格納箇所の一例を示す図である。
【図１７】メモリアクセスコントローラにより実行されるデータ読み書き動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。これらの図面において、同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。
【００１６】
図１は、三次元積層型メモリの一例であるＨＢＭに用いられる１つのコアダイの構成を示す図である。以下の説明では、三次元積層型メモリの一例としてＨＢＭを用いて本願開示の技術を説明するが、本願発明はＨＢＭに限定されるものではなく、メモリ回路を搭載した複数のダイが厚さ方向に積層される任意の三次元積層型メモリに適用できる。
【００１７】
前述のように三次元積層型メモリにおいては、各々がＤＲＡＭの構造を有する４つのコアダイがベースダイ上に積層されている。図１に示すコアダイは、第１のメモリ回路１１Ａ及び第２のメモリ回路１１Ｂを含む。第１のメモリ回路１１Ａと第２のメモリ回路１１Ｂとは同一の構成を有するＤＲＡＭである。
【００１８】
第１のメモリ回路１１Ａは外部と通信するためのインターフェースであるライトチャネルＩ／Ｆ１２Ａを含む。第２のメモリ回路１１Ｂは外部と通信するためのインターフェースであるレフトチャネルＩ／Ｆ１２Ｂを含む。第１のメモリ回路１１Ａに対する読み書きデータ、アドレス、及びコマンドはライトチャネルＩ／Ｆ１２Ａを介して伝送される。第２のメモリ回路１１Ｂに対する読み書きデータ、アドレス、及びコマンドはレフトチャネルＩ／Ｆ１２Ｂを介して伝送される。第１のメモリ回路１１Ａは、更にＤＲＡＭのメモリセルアレイである第０バンク乃至第７バンク１３−０乃至１３−７（以下バンクＢ０乃至バンクＢ７と呼ぶ）を含む。第２のメモリ回路１１Ｂも同様にバンクＢ０乃至バンクＢ７を含む。
【００１９】
図２は、三次元積層型メモリの一例であるＨＢＭの構成の一例を示す図である。図２に示すＨＢＭ１０は、ベースダイ２０及びコアダイ２１乃至２４を含む。コアダイ２１乃至２４は図１に示すコアダイである。ベースダイ２０の上面にコアダイ２１乃至２４がこの順番に積層されている。ベースダイ２０及びコアダイ２１乃至２４には、ライトチャネルＩ／Ｆ１２Ａ及びレフトチャネルＩ／Ｆ１２Ｂの位置において、貫通ビア及びマイクロバンプにより実現されるチャネル配線１４が設けられている。コアダイ２１乃至２４においては、チャネル配線１４がライトチャネルＩ／Ｆ１２Ａ及びレフトチャネルＩ／Ｆ１２Ｂを実現している。図２においては、図示の都合上、ライトチャネルＩ／Ｆ１２Ａの一部についてのみチャネル配線１４が示されている。
【００２０】
図３は、図２の点線２Ａに沿ってとったＨＢＭ１０の断面の構成を示す図である。図３に示される断面はライトチャネルＩ／Ｆ１２Ａ及びレフトチャネルＩ／Ｆ１２Ｂの位置における断面であり、チャネル配線１４（図２参照）に相当する複数本の配線が複数のコアダイ２１乃至２４を適宜貫通している。各配線は、貫通ビア２５及びマイクロバンプ２６を含む。図３においては、複数の貫通ビア及び複数のマイクロバンプのうち、代表して１つの貫通ビア及びマイクロバンプのみに参照番号を付してある。
【００２１】
マイクロバンプ２６は、あるコアダイの貫通ビア２５と当該コアダイの上側又は下側に存在するダイの貫通ビア２５との間を電気的に接続する。あるコアダイの１つの貫通ビア２５は、１つのコアダイの上面から下面まで貫通することにより、当該コアダイと上側のダイ及び下側のダイとの電気的接続を可能にするとともに、当該コアダイを貫通して上側のダイと下側のダイとの間の電気的接続を可能にする。
【００２２】
ベースダイ２０には物理層（ＰＨＹ）２８が設けられている。この物理層２８は、ＨＢＭ１０外部と通信するための電気的な信号とＨＢＭ１０内部の論理的信号とを互いに変換する機能を有する。ＨＢＭ１０と外部との通信はベースダイ２０の下面に設けられたマイクロバンプ２７を介して行われる。
【００２３】
図４は、三次元積層型メモリの一例であるＨＢＭを搭載したメモリシステムの構成の一例を示す図である。図４に示すメモリシステムは、ＨＢＭ１０、インターポーザ３０、及びＣＰＵ（Central Processing Unit）３１を含む。
【００２４】
インターポーザ３０は多層構造の配線基板であってよく、多層構造内部に設けられた配線３２を含む。インターポーザ３０の上面にＨＢＭ１０とＣＰＵ３１とが搭載される。ＨＢＭ１０とＣＰＵ３１とは配線３２を介して互いに電気的に接続される。ＣＰＵ３１は、配線３２を介してアドレス信号及びコマンド信号をＨＢＭ１０に印加し、ＨＢＭ１０の指定のアドレスに対して、コマンドにより指定した読み出し動作又は書き込み動作を実行する。書き込み動作時には、書き込みデータがＣＰＵ３１から配線３２を介してＨＢＭ１０に供給される。読み出し動作時には、読み出しデータがＨＢＭ１０から配線３２を介してＣＰＵ３１に供給される。なお図４に示す例ではＨＢＭ１０はＣＰＵ３１と電気的に接続されているが、ＨＢＭ１０に接続されるのはＣＰＵ３１に限られず、ＧＰＵ（Graphics Processing Unit）やＳｏＣ（System on a Chip）等であってもよい。
【００２５】
図１乃至図３に示すＨＢＭ１０においては４個のコアダイ２１乃至２４の各々が、ライトチャネルＩ／Ｆ１２Ａ及びレフトチャネルＩ／Ｆ１２Ｂの２個のチャネルを有する。従ってＨＢＭ１０全体では８個のチャネルが存在する。図３のＣＰＵ３１側から見ると、ＨＢＭ１０の８個のチャネルのそれぞれに８個のＤＲＡＭが個別に接続されており、８個のＤＲＡＭに独立にアクセス可能である。各チャネルは１４４ビットのビット幅を有し、この１４４ビットを１２８ビットの情報ビットと１６ビットの誤り訂正ビット（冗長ビット）として使用してよい。８個のＤＲＡＭはそれぞれ別個のアドレス空間を有する。
【００２６】
ＨＢＭ１０の８個のチャネルの各々をそのまま１４４ビット幅のバス（情報ビットが１２８ビット幅のバス）として個別に使用してもよいし、例えば４個のコアダイ２１乃至２４の４個のチャネルを纏めて５７６ビット幅の１つのバスとして使用してもよい。４個のチャネルを纏めて１つのバスとして扱う際、４個のライトチャネルＩ／Ｆ１２Ａを１つに纏めるか、又は４個のレフトチャネルＩ／Ｆ１２Ｂを１つに纏めることになる。
【００２７】
図５は、４個のコアダイ２１乃至２４のライトチャネル又はレフトチャネルの４個のチャネルを纏めて１つのバスとして使用する場合の構成の一例を示す図である。図５において、コアダイ２１の例えばライトチャネルのアドレス空間の一部をアドレス空間４０−１として示す。コアダイ２２乃至２４のライトチャネルのアドレス空間の一部についても同様に、それぞれアドレス空間４０−２乃至４０−４として示す。
【００２８】
４個のコアダイ２１乃至２４の４個のライトチャネルをそれぞれ個別に使用する場合には、それぞれの書き込みデータを供給し、４個のＤＲＡＭにおいてそれぞれ異なるアドレスにデータを格納することになる。それに対して４個のコアダイ２１乃至２４の４個のライトチャネルを纏めて１つのバスとして使用する場合、５１２個の情報ビットを有する１ワードのデータを、４個のＤＲＡＭ（即ち４個の第１のメモリ回路１１Ａ）において同一のアドレスに格納することになる。
【００２９】
図５においては、４個のコアダイ２１乃至２４の４個のライトチャネルのアドレス空間４０−１乃至４０−４の各々について、アドレス０ｘ０から０ｘ３の３つのアドレスが示されている。上記のように４個のライトチャネルを纏めて１つのバスとして使用する場合、１ワードのデータ４１が、アドレス空間４０−１乃至４０−４において同一のアドレス（図５の例ではアドレス０ｘ２）に格納されることになる。即ち、４個のチャネルのそれぞれに対応する１ワードのデータ４１の４個のデータ部分が、４個の第１のメモリ回路１１Ａの同一のアドレス０ｘ２に格納される。
【００３０】
図６は、４個のコアダイ２１乃至２４の４個のライトチャネルの同一アドレスにデータを格納した場合のデータ格納箇所を模式的に示す図である。上述のように１ワードを４分割した４個のデータ部分が４個の第１のメモリ回路１１Ａの同一のアドレス（例えば上述の０ｘ２）に格納されると、図６に示されるように同一のバンクＢ０の同一の物理的箇所４５にそれらの１ワードのデータが格納されることになる。即ち、コアダイ２１乃至２４の厚さ方向（垂直方向）に見た平面視において、１ワードの構成部分である複数のデータの格納箇所４５は位置的に一致している。別の言葉で言えば、１ワードの構成部分である複数のデータの格納箇所４５は、垂直方向に一直線に並ぶことになる。
【００３１】
前述のように、ＨＢＭ１０の各チャネルには、１２８ビットの情報ビットに対して１６ビットの誤り訂正ビットを使用可能となっている。１２８ビットの情報ビットと１６ビットの誤り訂正ビットとは同一アドレスに１４４ビットのデータとして格納される。
【００３２】
１ビットの誤りを訂正可能で且つ２ビットの誤りを検出可能な一般的な拡張ハミング符号を用いた誤り訂正符号の場合、６４ビットに対して必要な誤り訂正符号のサイズは８ビットである。同様に、１２８ビットの情報に対して必要な誤り訂正符号のサイズは９ビットである。また、５１２ビットの情報に対して必要な誤り訂正符号のサイズは１１ビットである。上述のようにＨＢＭ１０では１２８ビットの情報ビットに対して１６ビットの誤り訂正ビットの領域が確保されているが、これは、１２８ビットの情報ビットのチャネルを２個の６４ビットのチャネルに分けて使用することを可能にするためである。即ち、１２８ビットの情報ビットのチャネルを２個の６４ビットのチャネルに分けてそれぞれ別個に誤り訂正符号を計算する場合にも対応できるように、１６ビットの誤り訂正符号用のビット幅が設けられている。
【００３３】
図７及び図８は、情報ビットと誤り訂正ビットとの関係について説明する図である。図７には、各チャネルを個別に使用し、各チャネルの１２８ビットの情報ビットをひとまとまりとしたデータに対して生成した誤り訂正符号が示される。４個の第１のメモリ回路１１Ａのアドレス空間４０−１乃至４０−４のうち、アドレス空間４０−１に代表して示すように、１２８ビットのデータ５１に対して生成された９ビットの誤り訂正符号（ＥＣＣ）５２が、データ５１と同一のアドレスに格納される。
【００３４】
このとき、格納アドレス（０ｘ２）において、誤り訂正符号を格納するために用意されている１６ビットのメモリ領域には空き領域５３が発生し、この空き領域５３のサイズは７ビット（＝１６−９）となる。図７の場合には、各チャネルに対して同様にして誤り符号を計算しているので、各チャネル毎に７ビットの空き領域が発生する。従って、４個のチャネルで合計して２８ビットの空き領域が発生する。この空き領域には、固定値のデータをダミーデータとして格納してよいし、或いは何らかの情報を示すデータを格納することにより、有効な記憶領域として空き領域を活用してもよい。
【００３５】
図８には、４個のチャネルを纏めて使用し、４個のチャネルの情報ビットをひとまとまりとした５１２ビットのデータに対して生成した誤り訂正符号が示される。４個の第１のメモリ回路１１Ａのアドレス空間４０−１乃至４０−４のうち、アドレス空間４０−１において、５１２ビットのデータ６１−１乃至６１−４に対して生成された１１ビットの誤り訂正符号（ＥＣＣ）６２が、データ６１−１と同一アドレスに格納される。このときアドレス空間４０−１の格納アドレス（０ｘ２）には５ビット（＝１６−１１）の空き領域６３−１が発生する。その他のアドレス空間４０−１乃至４０−４の格納アドレス（０ｘ２）においては、誤り訂正符号格納用の１６ビットのメモリ領域は全く使用されないので、空き領域６３−２乃至６３−４のサイズは各々１６ビットとなる。従って、４個のチャネルで合計して５３ビット（＝１６×３＋５）の空き領域が発生する。この空き領域には、固定値のデータをダミーデータとして格納してよいし、或いは何らかの情報を示すデータを格納することにより、有効な記憶領域として空き領域を活用してもよい。
【００３６】
図７に示すように各チャネル毎に誤り訂正符号を生成する場合、有効利用できる空き領域のビット数は２８ビットであるのに対して、図８に示すように４個のチャネルを纏めて誤り訂正符号を生成する場合、有効利用できる空き領域のビット数は５３ビットである。このように誤り訂正符号の生成単位、即ち誤り訂正符号を計算する対象となるひとまとまりのデータのビット数が多くなるほど、誤り訂正符号のビット数は少なくなる。従って、４個のチャネルを纏めて１つのバスとして使用し、５１２ビットの情報ビットを１つのワードのデータとして格納する場合、当該ワードに対して纏めて誤り訂正符号を計算することが、メモリ領域の有効活用の観点からは好ましい。
【００３７】
図９は、中性子線衝突に起因するデータ破壊の問題点について説明する図である。図９において、１ワードのデータはコアダイ２１乃至２４の同一格納箇所４５−１乃至４５−４に格納されているとする。この場合において、ＨＢＭの最上層のコアダイ２４の格納箇所４５−４に衝突して発生した２次イオン３６が、コアダイ２１乃至２４に対して垂直方向（コアダイの厚さ方向）に経路３７に示すように飛翔したとする。この経路３７において、各コアダイ２１乃至２４をイオン３６が貫通する経路は最短であり、また各コアダイ２１乃至２４間をイオン３６が通過する経路も最短である。従って、１つのコアダイを貫通してその直下にあるコアダイに到達する迄にイオン３６のエネルギーはそれほど失われることはない。結果として、最上層のコアダイ２４において中性子線衝突に起因して発生した２次イオン３６は、最上層を含む複数のコアダイ２１乃至２４を貫通し、複数のコアダイ２１乃至２４においてデータがソフトエラーにより破壊される可能性がある。
【００３８】
前述のように４個のチャネル分の５１２ビットの情報ビットを１つのワードとして纏めて誤り訂正符号を計算することが、メモリ領域の有効活用の観点からは好ましい。しかしながら、図９に示す経路３７のように垂直方向にイオン３６が飛翔した場合、１ワード中の複数箇所においてデータが破壊されることになる。その結果、一般に用いられる１ビットの誤り訂正及び２ビットの誤り検出能力を有する誤り訂正符号では、適切な誤り訂正も誤り検出もできない可能性がある。
【００３９】
図１０は、中性子線衝突に起因して２次イオンが斜めに飛翔した場合を示す図である。図１０において、ＨＢＭの最上層のコアダイ２４の格納箇所４５−４に衝突して発生した２次イオン３６が、コアダイ２１乃至２４に対して斜め方向に経路３７に示すように飛翔したとする。この場合、各コアダイをイオン３６が貫通する経路は比較的長く、また各コアダイ間をイオン３６が通過する経路も比較的長い。従って、１つのコアダイを貫通してその直下にあるコアダイに到達する迄に、イオン３６は比較的大きく減衰することになる。結果として、図１０に模式的に示す例では、最上層のコアダイ２４において中性子線衝突に起因して発生した２次イオン３６は、最上層のコアダイ２４中にて減衰して停止し、直下のコアダイ２３まで到達しない。この場合、イオン３６が斜め方向に飛翔する経路３７の延長線上に存在する格納位置４５−３に格納されるデータは破壊されない。
【００４０】
従って、１ワードを分割した複数のデータを例えば図１０に示す格納箇所４５−４及び４５−３のように平面視で異なる位置に格納すれば、１ワード中での複数ビットのエラー発生を防止できる可能性が高まる。また更に、１ワードを分割した４個データのうちの任意の３個の格納箇所がコアダイ２１乃至２４において一直線上に並ばないように配置すれば、１方向へのイオンの飛翔により同時に３ビット以上の誤りが発生することはない。従って、１ワードを分割した複数のデータを平面視でそれぞれ適宜異なる位置に格納することで、１ワードに対して纏めて計算した誤り訂正符号に基づいて、適切に誤り検出及び誤り訂正を実現できる可能性が高くなる。即ち、１ワードを分割した複数のデータを平面視でそれぞれ適宜異なる位置に格納することで、中性子線衝突等に起因するソフトエラーに対して強い三次元積層型メモリを提供することかできる。
【００４１】
以上を鑑みて、本願開示のメモリシステムでは、１ワードを分割した複数Ｎ個（Ｎ：２以上の整数）のデータを複数Ｎ個のメモリ回路に格納する場合において、各メモリ回路毎に異なる書き込みアドレスにデータを格納する。以下に、そのようなメモリシステムの構成の一例について説明する。
【００４２】
図１１は、三次元積層型メモリを用いたメモリシステムの構成の一例を示す図である。図１１に示すメモリシステムは、ＨＢＭ１０及びメモリアクセスコントローラ７０Ａ及び７０Ｂを含む。メモリアクセスコントローラ７０Ａ及び７０Ｂは例えば図４に示すメモリシステムにおいてＣＰＵ３１に内蔵されてよい。
【００４３】
図１１において、各ボックスで示される各回路又は機能ブロックと他の回路又は機能ブロックとの境界は、基本的には機能的な境界を示すものであり、物理的な位置の分離、電気的な信号の分離、制御論理的な分離等に対応するとは限らない。各回路又は機能ブロックは、他のブロックと物理的にある程度分離された１つのハードウェアモジュールであってもよいし、或いは他のブロックと物理的に一体となったハードウェアモジュール中の１つの機能を示したものであってもよい。
【００４４】
図１１に示すＨＢＭ１０は図１乃至図３を参照して説明した前述の構成を有する。具体的には、ＨＢＭ１０はベースダイ２０及びコアダイ２１乃至２４を含む。ベースダイ２０は物理層２８を含み、図１１において物理層２８は８個のチャネルＣＨ０乃至ＣＨ７を含む。コアダイ２１乃至２４はそれぞれ、ライトチャネルＩ／Ｆ１２Ａ−１乃至１２Ａ−４及びレフトチャネルＩ／Ｆ１２Ｂ−１乃至１２Ｂ−４を含む。４個のコアダイ２１乃至２４は、同一の構造を有する少なくとも４個のメモリ回路（例えば図１乃至図３に示される４個の第１のメモリ回路１１Ａ）をそれぞれ搭載し垂直方向に積層されている。
【００４５】
メモリアクセスコントローラ７０Ａは、ライトデータ・リードデータ制御回路７１Ａ、コマンド・アドレス生成回路７２Ａ、アドレス変換回路７３Ａ−１乃至７３Ａ−４、及び複数のＩ／Ｏ回路７４Ａを含む。複数のＩ／Ｏ回路７４Ａについては１つのＩ／Ｏ回路のみに代表して参照符号を付してある。メモリアクセスコントローラ７０Ｂは、ライトデータ・リードデータ制御回路７１Ｂ、コマンド・アドレス生成回路７２Ｂ、アドレス変換回路７３Ｂ−１乃至７３Ｂ−４、及び複数のＩ／Ｏ回路７４Ｂを含む。複数のＩ／Ｏ回路７４Ｂについては１つのＩ／Ｏ回路のみに代表して参照符号を付してある。メモリアクセスコントローラ７０Ａと７０Ｂとは互いに同一の構成を有するので、以下においては、代表としてメモリアクセスコントローラ７０Ａを参照し、その構成、機能、動作等について説明する。
【００４６】
ライトデータ・リードデータ制御回路７１Ａは、書き込み動作時にはＨＢＭ１０への書き込みデータを出力し、読み出し動作時にはＨＢＭ１０からの読み出しデータを受信する。書き込み動作時において、ライトデータ・リードデータ制御回路７１Ａは、４個の書き込みデータを４個のメモリ回路（例えば図１乃至図３に示される４個の第１のメモリ回路１１Ａ）にそれぞれ供給する。また読み出し動作時において、ライトデータ・リードデータ制御回路７１Ａは、４個の読み出しデータを４個のメモリ回路からそれぞれ受信する。４個のデータは、ＨＢＭ１０のライトチャネルＩ／Ｆ１２Ａ−１乃至１２Ａ−４の４個のチャネルにそれぞれ対応する。
【００４７】
コマンド・アドレス生成回路７２Ａは、書き込み動作又は読み出し動作を指示するコマンドをＨＢＭ１０に出力すると共に、書き込み位置又は読み出し位置を示すアドレスをＨＢＭ１０に出力する。４個のチャネルを１つに纏めて５１２ビットの情報ビットの１ワードのデータを書き込む場合、コマンド・アドレス生成回路７２Ａは、４個のメモリ回路に４個の書き込みデータをそれぞれ書き込むアドレスとして共通の１つの書き込みアドレスを生成する。
【００４８】
なお以下においては、４個のチャネルを１つに纏めて１つのバスとして使用する構成について説明するが、４個のチャネルを１つに纏めずにそれぞれ別個に扱う動作が可能であってもよい。この場合、コマンド・アドレス生成回路７２Ａは、１つ又は複数の所望の個数のメモリ回路に書き込みデータを書き込むアドレスとして、個別に書き込みアドレスを生成してよい。
【００４９】
アドレス変換回路７３Ａ−１乃至７３Ａ−４は、コマンド・アドレス生成回路７２Ａから供給されるアドレスを、所定のルールに従って変換することにより、変換後のアドレスを生成する。この所定のルールとしては、各チャネルにおいて変換前のアドレスと変換後のアドレスとが一対一に対応し、且つ、４個のチャネルにおいて同一のアドレスを変換することにより得られる４個の変換後のアドレスが互いに異なるアドレスであればよい。また、平面視における４個の変換後のアドレスの位置が、コアダイ２１乃至２４においてなるべく互いに遠くなるようにアドレス変換が行われることが好ましい。特に上下に直ぐに隣接するコアダイ間において、２個の変換後のアドレス間の距離がなるべく長くなることが好ましい。
【００５０】
上記のように、アドレス変換回路７３Ａ−１乃至７３Ａ−４は、１つの書き込みアドレスを変換することにより４個のメモリ回路毎に異なる４個のアドレスを生成し、これら４個のアドレスを書き込みアドレスとして４個のメモリ回路に供給する。読み出し動作時にも同様であり、アドレス変換回路７３Ａ−１乃至７３Ａ−４は、１つの読み出しアドレスを変換することにより４個のメモリ回路毎に異なる４個のアドレスを生成し、これら４個のアドレスを読み出しアドレスとして４個のメモリ回路に供給する。
【００５１】
図１１に示す例では、アドレス変換回路７３Ａ−１乃至７３Ａ−４はメモリアクセスコントローラ７０Ａの内部に設けられているが、アドレス変換回路７３Ａ−１乃至７３Ａ−４の位置はこの位置に限定されない。アドレス変換回路７３Ａ−１乃至７３Ａ−４は、メモリアクセスコントローラ７０Ａの外部において、メモリアクセスコントローラ７０ＡとＨＢＭ１０との間に設けられてもよい。
【００５２】
なお１つに纏めるチャネルの数は４個に限られるものではなく、例えば２個のチャネルを纏めて１つのバスとして使用する構成であってもよい。この場合、コマンド・アドレス生成回路７２Ａは、例えばコアダイ２１及び２２の２個のライトチャネルに対して、２個の書き込みデータをそれぞれ書き込むアドレスとして共通の１つの書き込みアドレスを生成してよい。また例えばアドレス変換回路７３Ａ−１及び７３Ａ−２は、当該１つの書き込みアドレスを変換することにより２個のメモリ回路毎に異なる２個のアドレスを生成し、これら２個のアドレスを書き込みアドレスとして２個のメモリ回路に供給してよい。
【００５３】
４個の書き込みデータは情報ビットと当該情報ビットに基づいて生成された誤り訂正ビット（検査ビット）とを含んでよい。即ち、ライトデータ・リードデータ制御回路７１Ａは、書き込みデータとして、情報ビットと当該情報ビットに基づいて生成された誤り訂正ビット（検査ビット）とを含むデータを出力してよい。ライトデータ・リードデータ制御回路７１Ａは、情報ビットから誤り訂正ビットを生成する際に、４個のチャネル分の５１２ビットの情報ビットをひとまとまりとしたデータに対して、１１ビットの誤り訂正ビットを生成してよい。
【００５４】
ライトデータ・リードデータ制御回路７１Ａは、上記のように生成した１１ビットの誤り訂正ビットを、所定の１つのチャネル（例えばコアダイ２１のライトチャネルＩ／Ｆ１２Ａ−１に対応するチャネル）に割り当ててよい。ライトデータ・リードデータ制御回路７１Ａは、当該１個のチャネル及び残りの３個のチャネルの空き領域（誤り訂正符号用に確保されている領域）には固定値を割り当ててよいし、或いは有用な情報を適宜組み込むようにしてもよい。
【００５５】
上記の例では誤り訂正符号生成の単位が５１２ビットであるが、誤り訂正符号生成の単位は４個のチャネルに対応する５１２ビットに限られない。例えば、４個の書き込みデータは、所定の２個のチャネルに対応する２５６ビットの情報ビットに基づいて生成された誤り訂正ビットと、残りの２個のチャネルに対応する２５６ビットの情報ビットに基づいて生成された誤り訂正ビットとを含んでよい。即ち、４個の書き込みデータに含まれる誤り訂正ビットは、４個の書き込みデータのうちの少なくとも２つの書き込みデータに対応する情報ビットをひとまとまりとしたデータに対して生成された誤り訂正ビットを含んでよい。各チャネル毎に誤り訂正符号を生成するのではなく、少なくとも２つのチャネルの情報ビットをひとまとまりとしたデータに対して誤り訂正符号を生成することにより、メモリの記憶領域を効率的に利用することが可能となる。
【００５６】
図１２は、アドレス変換回路の構成の一例を示す図である。図１２にはアドレス変換回路７３Ａ−１を代表として示すが、図１１に示すアドレス変換回路７３Ａ−１乃至７３Ａ−４及び７３Ｂ−１乃至７３Ｂ−４の各々が、図１２に示すアドレス変換回路と同一の構成を有してよい。
【００５７】
図１２に示すアドレス変換回路７３Ａ−１は、コマンド・アドレス生成回路７２Ａから供給されるアドレスと、レジスタ格納値として設定される反転コードとのビット毎の排他的論理和演算を計算する排他的論理和回路７５を含む。反転コードはアドレス変換回路７３Ａ−１の内部レジスタに格納されてもよいし、外部のレジスタ（例えばライトデータ・リードデータ制御回路７１Ａ内のレジスタ）に格納されてもよい。
【００５８】
排他的論理和回路７５は、入力アドレスと所定の反転コードとのビット毎の排他的論理和を計算することにより、変換後のアドレスを生成することができる。この場合、入力アドレスと変換後のアドレスとは一対一に対応しており、またアドレス変換回路７３Ａ−１乃至７３Ａ−４毎に反転コードを異ならせることにより、４個の変換後のアドレスを互いに異なるアドレスとすることができる。このようにビット毎の排他的論理和計算によりアドレス変換を実現することにより、単純な回路構成により、所望の特性を有する変換処理を実現することができる。なお図１２に示されるように、コマンド・アドレス生成回路７２Ａから供給されるコマンドについては、変換処理が施されることなく、各ビットの値がそのまま保持された状態で出力される。
【００５９】
図１３は、アドレス変換回路の構成の別の一例を示す図である。図１３にはアドレス変換回路７３Ａ−１を代表として示すが、図１１に示すアドレス変換回路７３Ａ−１乃至７３Ａ−４及び７３Ｂ−１乃至７３Ｂ−４の各々が、図１３に示すアドレス変換回路と同一の構成を有してよい。
【００６０】
図１３に示すアドレス変換回路７３Ａ−１は、変換前アドレスと変換後アドレスとを対応させた変換テーブル（ルックアップテーブル）７５Ａを含む。変換テーブル７５Ａは、アドレス変換回路７３Ａ−１の内部レジスタに格納されていてよい。変換テーブル７５Ａの各テーブルエントリ値は、外部からレジスタ値として設定可能であってよい。
【００６１】
変換テーブル７５Ａは、変換前のアドレスを入力として受け取ると、当該入力アドレスに対応する変換後のアドレスを出力する。各テーブルエントリを適宜設定することにより、容易に入力アドレスと変換後のアドレスとを一対一に対応させることができる。またアドレス変換回路７３Ａ−１乃至７３Ａ−４毎に変換テーブルの内容を異ならせることにより、４個の変換後のアドレスを互いに異なるアドレスとすることができる。
【００６２】
前述のように、平面視における４個の変換後のアドレスの位置が、コアダイ２１乃至２４においてなるべく互いに遠くなるようにアドレス変換が行われることが好ましい。特に上下に直ぐに隣接するコアダイ間において、２個の変換後のアドレス間の距離がなるべく長くなることが好ましい。図１２の反転コード或いは図１３の変換テーブルのエントリを適宜設定することで、そのような好ましい配置関係を実現するようなアドレス変換を実現することができる。
【００６３】
図１４は、アドレス変換のための反転コードの一例を示す図である。図１４に示す反転コードを用いることにより、図１２に示すように排他的論理和回路で実現されたアドレス変換回路７３Ａ−１乃至７３Ａ−４において、適切なアドレス変換を実現することができる。
【００６４】
図１４に示す反転コードは長さが３ビットのビット列である。このビット列は、第１コアダイ（コアダイ２１）に対して"０００"であり、第２コアダイ（コアダイ２２）に対して"０１１"であり、第３コアダイ（コアダイ２３）に対して"１００"であり、第４コアダイ（コアダイ２４）に対して"１１１"である。アドレスは、１つのバンクを指定するバンクアドレスが３ビットであり、各バンク内の格納位置を指定するバンク内アドレスが例えば８ビットであってよい。図１４に示す反転コードは、３ビットのバンクアドレスに対して適用され、バンクアドレスと反転コードとのビット毎の排他的論理和値が、変換後のバンクアドレスとなる。
【００６５】
図１５は、図１４の反転コードを用いた場合における変換前アドレス及び変換後アドレスを示す図である。例えば変換前のバンクアドレスが"０１０"の場合について説明すると以下のようになる。第１コアダイについては、バンクアドレス"０１０"と反転コード"０００"との排他的論理和により、変換後のバンクアドレスは"０１０"となる。第２コアダイについては、バンクアドレス"０１０"と反転コード"０１１"との排他的論理和により、変換後のバンクアドレスは"００１"となる。第３コアダイについては、バンクアドレス"０１０"と反転コード"１００"との排他的論理和により、変換後のバンクアドレスは"１１０"となる。第４コアダイについては、バンクアドレス"０１０"と反転コード"１１１"との排他的論理和により、変換後のバンクアドレスは"１０１"となる。
【００６６】
図１６は、図１４の反転コードを用いた場合におけるデータ格納箇所の一例を示す図である。図１６には、一例として変換前のバンクアドレスが"０１０"の場合に、図１５に示されるようにバンクアドレスが変換され、変換後のバンクアドレスが示すバンク中の所定のアドレスに、１ワードを分割した各部分のデータが格納された状態が示される。
【００６７】
図１６に示すように、コアダイ２１においては、バンクアドレス"０１０"が示すバンクＢ２中の所定の位置８１に、１ワードの第１の部分のデータが格納される。コアダイ２２においては、バンクアドレス"００１"が示すバンクＢ１中の所定の位置８２に、１ワードの第２の部分のデータが格納される。コアダイ２３においては、バンクアドレス"１１０"が示すバンクＢ６中の所定の位置８３に、１ワードの第３の部分のデータが格納される。コアダイ２４においては、バンクアドレス"１０１"が示すバンクＢ５中の所定の位置８４に、１ワードの第４の部分のデータが格納される。
【００６８】
このように図１４に示す反転コードを用いて排他的論理和演算によりバンクアドレスを変換することにより、図１６に示すように１ワードを分割した複数のデータを平面視においてそれぞれ異なる物理的位置に格納することができる。この例ではバンクアドレスを変換することにより複数個の異なるバンクアドレスを生成している。従って、１ワードを分割した複数のデータがそれぞれ異なるバンクに格納されることになり、平面視における物理的な格納位置をコアダイ毎に大きく異ならせることができる。このようにアドレスの下位ビットの変化が小さな位置変化に対応し、アドレスの上位ビットの変化が大きな位置変化に対応するような場合、コアダイ間での格納位置を大きく異ならせる目的のためには、上位側のビットについて変換処理を行うことが好ましい。勿論、上位側のビットについてのみ変換処理を行うのではなく、アドレスの全ビットを対象として変換処理を行ってもよい。
【００６９】
図１７は、メモリアクセスコントローラにより実行されるデータ読み書き動作の一例を示すフローチャートである。図１７に示す処理は、例えば図１１に示すメモリアクセスコントローラ７０Ａの各部により実行されてよい。
【００７０】
なお図１７において、フローチャートに記載された各ステップの実行順序は一例にすぎず、本願の意図する技術範囲が、記載された実行順番に限定されるものではない。例えば、Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、Ａステップの次にＢステップを実行することが可能なだけでなく、Ｂステップの次にＡステップを実行することが、物理的且つ論理的に可能である場合がある。この場合、どちらの順番でステップを実行しても、当該フローチャートの処理に影響する全ての結果が同一であるならば、本願に開示の技術の目的のためには、Ｂステップの次にＡステップが実行されてもよいことは自明である。Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、上記のような自明な場合を本願の意図する技術範囲から除外することを意図するものではなく、そのような自明な場合は、当然に本願の意図する技術範囲内に属する。
【００７１】
リセットが解除されるとメモリアクセスコントローラ７０Ａは、外部（例えば図４のＣＰＵ３１のメインロジック）から、書き込み要求又は読み出し要求等のリクエストを受信するのを待機する（ステップＳ１のＮｏ）。リクエストは、書き込み又は読み出しを指示する命令と、書き込み又は読み出しアドレスとを含み、書き込み時には更に書き込みデータを含む。リクエストを受信すると（ステップＳ１のＹｅｓ）、メモリアクセスコントローラ７０Ａのコマンド・アドレス生成回路７２Ａは、受信した命令に対応するＨＢＭ１０用のコマンドを生成するとともに、受信したアドレスに対応するＨＢＭ１０用の１つのアドレスを生成する（ステップＳ２）。
【００７２】
上記の生成された１つのアドレスが供給されると、メモリアクセスコントローラ７０Ａのアドレス変換回路７３Ａ−１乃至７３Ａ−４は、当該１つのアドレスに基づいて、４個のチャネルについてそれぞれ異なる４個の変換後のアドレスを生成する（ステップＳ３）。前述のように、コマンドについては、変換されることなくそのまま維持される。その後、メモリアクセスコントローラ７０ＡのＩ／Ｏ回路７４Ａから、コマンド及び４個の変換後のアドレスがＨＢＭ１０の各チャネルに出力される（ステップＳ４）。
【００７３】
メモリアクセスコントローラ７０Ａは、要求された動作が書き込み動作である場合（ステップＳ５のＹｅｓ）、ステップＳ６に進み以降の処理を実行する。メモリアクセスコントローラ７０Ａは、要求された動作が読み出し動作である場合（ステップＳ５のＮｏ）、ステップＳ１１に進み以降の処理を実行する。
【００７４】
書き込み動作の場合、メモリアクセスコントローラ７０Ａのライトデータ・リードデータ制御回路７１Ａは、書き込みデータ出力タイミングが到来するのを待機する（ステップＳ６のＮｏ）。ＨＢＭ１０に対しては、書き込みコマンドを印加したタイミングから書き込みデータを印加するタイミングまでの時間間隔が決まっており、この時間が経過するのをメモリアクセスコントローラ７０Ａは待つ必要がある。
【００７５】
書き込みデータ出力タイミングが到来すると（ステップＳ６のＹｅｓ）、ライトデータ・リードデータ制御回路７１Ａは、外部から受信した書き込みデータに対してデータバス幅を変換する等の処理を行い、ＨＢＭ１０用の書き込みデータを生成する（ステップＳ７）。この書き込みデータは、４個のチャネルの各々に対して１２８ビットを有し、合計で５１２ビットのビット幅を有する。
【００７６】
ライトデータ・リードデータ制御回路７１Ａは更に、書き込みデータの５１２ビットの情報ビット列に対する１１ビットの誤り訂正符号を生成する（ステップＳ８）。ライトデータ・リードデータ制御回路７１Ａは、当該誤り訂正符号を所定の１つのチャネルの誤り訂正符号の領域に割り当てる。誤り訂正符号の領域のサイズは１６ビットであり、割り当てられる誤り訂正符号は１１ビットであるため、残りの５ビットの領域には固定値を設定する。上記の所定のチャネル以外の３つのチャネルの誤り訂正符号の領域についても、同様に固定値を設定する。この場合、これらの誤り訂正符号の領域は使用しないので、設定する固定値は０でも１でもよい。結果としてＨＢＭ１０に供給する書き込みデータは、情報ビットと誤り訂正符号の領域とを含めて各チャネルが１４４ビットであり、合計で５７６ビットのビット幅となる。なお誤り訂正符号の領域には、固定値を設定する代わりに、情報を有するビット値を適宜設定して有効利用してもよい。
【００７７】
その後、メモリアクセスコントローラ７０ＡのＩ／Ｏ回路７４Ａから、５７６ビットの書き込みデータの各チャネル１４４ビットのデータが、ＨＢＭ１０のそれぞれのチャネルに出力される（ステップＳ９）。その後、メモリアクセスコントローラ７０Ａの処理はステップＳ１に戻る。
【００７８】
読み出し動作の場合、メモリアクセスコントローラ７０Ａのライトデータ・リードデータ制御回路７１Ａは、読み出しデータ受信タイミングが到来するのを待機する（ステップＳ１０のＮｏ）。ＨＢＭ１０においては、読み出しコマンドの印加タイミングから読み出しデータが出力されるタイミングまでの時間間隔（レイテンシ）が決まっており、このレイテンシに相当する時間が経過するのをメモリアクセスコントローラ７０Ａは待つ必要がある。
【００７９】
読み出しデータ受信タイミングが到来すると（ステップＳ１０のＹｅｓ）、ライトデータ・リードデータ制御回路７１Ａは、ＨＢＭ１０からの読み出しデータを受信する（ステップＳ１１）。この読み出しデータは、４個のチャネルの各々に対して１４４ビットを有し、合計で５７６ビットのビット幅を有する。
【００８０】
ライトデータ・リードデータ制御回路７１Ａは、受信した読み出しデータに対する誤り検出・訂正処理を行う（ステップＳ１２）。ライトデータ・リードデータ制御回路７１Ａは、読み出しデータに誤りがあり訂正可能であるときは訂正し、訂正不可能である場合には適宜決められた動作（例えばシステム停止動作）を実行する。誤り検出・訂正処理が終了すると誤り訂正符号の部分は不要となるので、情報ビットの部分のみの５１２ビット（１２８ビット×４）の読み出しデータが得られる。
【００８１】
ライトデータ・リードデータ制御回路７１Ａは、誤り検出・訂正処理後の５１２ビットの情報ビットのデータに対しデータバス幅を変換する等の処理を行い、リクエストの送信元に対するリターンデータを生成する（ステップＳ１３）。その後、メモリアクセスコントローラ７０Ａは、リクエストの送信元に対してリターンデータを送信する（ステップＳ１４）。その後、メモリアクセスコントローラ７０Ａの処理はステップＳ１に戻る。
【００８２】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【符号の説明】
【００８３】
１０  ＨＢＭ
２０  ベースダイ
２１〜２４  コアダイ
２５  貫通ビア
２６，２７  マイクロバンプ
３０  インターポーザ
３１  ＣＰＵ
７０Ａ，７０Ｂ  メモリアクセスコントローラ
【図１】
2019067469.tif 000003
【図２】
2019067469.tif 000004
【図３】
2019067469.tif 000005
【図４】
2019067469.tif 000006
【図５】
2019067469.tif 000007
【図６】
2019067469.tif 000008
【図７】
2019067469.tif 000009
【図８】
2019067469.tif 000010
【図９】
2019067469.tif 000011
【図１０】
2019067469.tif 000012
【図１１】
2019067469.tif 000013
【図１２】
2019067469.tif 000014
【図１３】
2019067469.tif 000015
【図１４】
2019067469.tif 000016
【図１５】
2019067469.tif 000017
【図１６】
2019067469.tif 000018
【図１７】
2019067469.tif 000019