Movatterモバイル変換


[0]ホーム

URL:


WO2024218900A1 - Computation system and semiconductor integrated circuit module - Google Patents

Computation system and semiconductor integrated circuit module
Download PDF

Info

Publication number
WO2024218900A1
WO2024218900A1PCT/JP2023/015615JP2023015615WWO2024218900A1WO 2024218900 A1WO2024218900 A1WO 2024218900A1JP 2023015615 WJP2023015615 WJP 2023015615WWO 2024218900 A1WO2024218900 A1WO 2024218900A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
circuit
data
memory blocks
dram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/JP2023/015615
Other languages
French (fr)
Japanese (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.)
Ultramemory Inc
Original Assignee
Ultramemory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ultramemory IncfiledCriticalUltramemory Inc
Priority to PCT/JP2023/015615priorityCriticalpatent/WO2024218900A1/en
Publication of WO2024218900A1publicationCriticalpatent/WO2024218900A1/en
Anticipated expirationlegal-statusCritical
Pendinglegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

To provide a computation system that has a wide bandwidth and low power consumption, and that is capable of flexibly responding to various applications in a stacked DRAM circuit. A DRAM circuit 400 includes a plurality of memory blocks arranged so as to be independently accessible and logically two-dimensionally identified by an index number and a bucket number. A nonvolatile memory 106 stores a reference table indicating that each of the memory blocks holds valid data. A memory controller 111 in a CPU 100 that is stacked on the DRAM circuit 400 refers to the reference table in the nonvolatile memory 106 and excludes, from being accessed, any memory block that does not hold valid data among memory blocks simultaneously accessed in the direction of a bucket number, even when it is selected by an index number.

Description

Translated fromJapanese
演算システムおよび半導体集積回路モジュールCalculation system and semiconductor integrated circuit module

 この発明は、演算システムおよび半導体集積回路モジュールに関し、より特定的には、積層型ダイナミックランダムアクセスメモリを連想型ランダムアクセスメモリとして用いた演算システムおよび半導体集積回路モジュールの構成に関する。This invention relates to an arithmetic system and a semiconductor integrated circuit module, and more specifically to the configuration of an arithmetic system and a semiconductor integrated circuit module that uses a stacked dynamic random access memory as an associative random access memory.

 (積層型半導体集積回路モジュール)(Stacked semiconductor integrated circuit module)

 従来から、記憶装置としてDRAM(Dynamic Random Access Memory)等の揮発性メモリ(RAM)が知られている。DRAMには演算装置(以下、論理チップあるいはロジックチップという)の高性能化及びデータ量の増大に耐えうる大容量化が求められている。そこで、メモリ(メモセルアレイ、メモリチップ)の微細化及びセルの平面的な増設による大容量化が図られてきた。一方で、微細化によるノイズへの惰弱性や、チップ面積の増加等により、この種の大容量化は限界に達してきている。Volatile memories (RAMs) such as DRAMs (Dynamic Random Access Memory) have been known as storage devices for some time. DRAMs are required to have high performance computing devices (hereinafter referred to as logic chips) and large capacities to withstand increasing amounts of data. To address this, efforts have been made to increase capacity by miniaturizing memory (memory cell arrays, memory chips) and adding cells in a planar manner. However, this type of capacity increase is reaching its limit due to factors such as vulnerability to noise caused by miniaturization and increased chip area.

 そこで、昨今では、平面的なメモリを複数積層して3次元化(3D化)して大容量化を実現する技術が開発されている。また、データ量の増大に伴い、チップ(ロジックチップ及びメモリチップ)間のデータ通信の高速化が図られている。例えば、論理チップ及びDRAMを重ねて配置した半導体モジュールが知られている(例えば、非特許文献1を参照)。In response to this, technology has been developed in recent years to stack multiple planar memories to create a three-dimensional (3D) memory, thereby increasing capacity. In addition, efforts are being made to increase the speed of data communication between chips (logic chips and memory chips) as the amount of data increases. For example, a semiconductor module in which logic chips and DRAMs are stacked is known (see, for example, Non-Patent Document 1).

 たとえば、このような3次元の半導体集積回路モジュールにおいては、TSV(Through Silicon Via)技術を利用したSiインターポーザに複数のICダイ(ICチップ)を実装する3次元または2.5次元の実装技術が知られている。このような実装技術によれば、複数のICダイ(ICチップ)に対して高密度な配線を形成することができ、小型化、薄膜化、および広帯域化を実現することができる。For example, in such three-dimensional semiconductor integrated circuit modules, a three-dimensional or 2.5-dimensional mounting technology is known in which multiple IC dies (IC chips) are mounted on a Si interposer using TSV (Through Silicon Via) technology. Such mounting technology makes it possible to form high-density wiring for multiple IC dies (IC chips), thereby realizing miniaturization, thin film, and broadband.

 もっとも、製造コストの低減の観点からは、特許文献1には、このようなSiインターポーザに代えて再配線層(Redistribution Layer:RDL)と小型のSiブリッジダイとを用い、これらに複数のICダイ(ICチップ)を実装する3次元または2.5次元の実装技術が開示されている。このように再配線層を用いて複数のICダイ(ICチップ)を実装するICモジュールは、FOWLP(Fan Out Wafer Level Package)技術を用いて製造されることが多い。このような実装技術によれば、比較的に安価で、複数のICダイ(ICチップ)に対して高密度な配線を形成することができ、小型化、薄膜化、および広帯域化を実現することができる。However, from the perspective of reducing manufacturing costs,Patent Document 1 discloses a 3D or 2.5D packaging technology that uses a redistribution layer (RDL) and a small Si bridge die instead of such a Si interposer, and mounts multiple IC dies (IC chips) on them. IC modules that mount multiple IC dies (IC chips) using a redistribution layer in this way are often manufactured using FOWLP (Fan Out Wafer Level Package) technology. This packaging technology makes it possible to form high-density wiring for multiple IC dies (IC chips) at a relatively low cost, and achieves miniaturization, thin film, and broadband.

 ただし、高速化・高性能化の観点からは、たとえば、非特許文献1では、いわゆる「ハイブリッドボンディング(Hybrid Bonding)技術」を用いて、DRAM回路のダイとロジック回路のダイとを積層する構成が開示されている。However, from the perspective of achieving higher speed and performance, for example, Non-PatentDocument 1 discloses a configuration in which a DRAM circuit die and a logic circuit die are stacked using the so-called "hybrid bonding technology."

 すなわち、いわゆるフリップチップ構造を用いることで、シリコン表面(あるいは基板表面)に対して垂直な方向で2次元アレイ状に接続電極をレイアウトし、異なるプロセス技術で製造したシリコンウエハあるいはシリコンダイを積層する。これにより、1個のパッケージに複数の機能を収容する。1枚のシリコンダイ(シングルダイ)にプロセスの異なる複数の機能を集積することに比べ、低いコストで数多くの機能を実装できる。3次元積層で重要なのは、シリコンを積層するときの接続技術である。単位面積当たりのデータ転送を高めるためには、高い密度で異なるシリコンチップを接続する必要がある。このため、シリコンウエハやシリコンダイなどの表面に形成した銅(Cu)電極同士を貼り合わせて接続する「ハイブリッドボンディング技術」が使われる。In other words, by using the so-called flip chip structure, connection electrodes are laid out in a two-dimensional array in a direction perpendicular to the silicon surface (or substrate surface), and silicon wafers or silicon dies manufactured using different process technologies are stacked. This allows multiple functions to be accommodated in a single package. Compared to integrating multiple functions produced using different processes into a single silicon die (single die), it is possible to implement many more functions at a lower cost. The key to three-dimensional stacking is the connection technology used when stacking silicon. In order to increase data transfer per unit area, it is necessary to connect different silicon chips at a high density. For this reason, a "hybrid bonding technology" is used, in which copper (Cu) electrodes formed on the surface of silicon wafers or silicon dies are bonded together to connect them.

 たとえば、非特許文献2は、36個の1Gb DRAMコアからなるDRAMダイと、DRAMダイと同じサイズで、DRAMコアのそれぞれに1対1で対応するメモリコントローラを備えた論理ダイをウエハ状態でハイブリッドボンディング積層する技術を開示している。論理ダイはメモリコントローラを通して対応するDRAMブロックに直接アクセスでき、また、すべてのメモリブロックにはオンチップバスでアクセスできる。For example, Non-PatentDocument 2 discloses a technology for hybrid bonding stacking, in the wafer state, a DRAM die consisting of 36 1 Gb DRAM cores and a logic die that is the same size as the DRAM die and has a memory controller that corresponds one-to-one to each of the DRAM cores. The logic die can directly access the corresponding DRAM block through the memory controller, and all memory blocks can be accessed by an on-chip bus.

 また、非特許文献1はさらに、12個の4Gb DRAMパーティションからなるDRAMダイと、DRAMダイと同じサイズでDRAMパーティションのそれぞれに1対1で対応するプロセッサエレメントクラスタを備えた論理ダイをウエハ状態でハイブリッドボンディング積層する技術を開示している。Non-PatentDocument 1 further discloses a technology for hybrid bonding stacking, in the wafer state, a DRAM die consisting of 12 4 Gb DRAM partitions and a logic die having the same size as the DRAM die and processor element clusters that correspond one-to-one to each of the DRAM partitions.

 また、検索はコンピュータアプリケーションで多用される技術テーマである。特に通信・ネットワーク分野では連想メモリ(CAM:Content Addressable Memory)が多く使われており、検索速度は速いものの、一般にメモリ容量が小さく大きなデータを格納できず消費電力も大きいという課題がある。データ量が大きい場合はSRAM(Static Random Access Memory)やDRAMにテーブルとして格納しプロセッサを用いて検索する方法が使われるが、一般に複数回のモリアクセスが必要であり検索速度が遅いという課題がある。Searching is also a technical theme that is often used in computer applications. Content addressable memory (CAM) is widely used in the fields of communications and networks in particular, and although it has fast search speeds, it generally has a small memory capacity, cannot store large amounts of data, and consumes a lot of power. When the amount of data is large, it is common to store the data as a table in SRAM (Static Random Access Memory) or DRAM and search using a processor, but this generally requires multiple memory accesses, resulting in slow search speeds.

 そこで、非特許文献3は、SRAMやDRAMと複数のマッチング回路とを用いて並列検索機能を提供する技術が開示されている。レコードからあらかじめレコードキーが生成され、対応するインデックスが示すRAM行アドレス毎に格納されている。検索キーからインデックス(行アドレス)を生成し、目的のレコードキーが含まれるRAM行にアクセスして複数のレコードキー候補を読出しマッチング回路に入力する。マッチング回路は、複数のレコードレコードキーが与えられた検索キーと一致するかどうかを判定し、一致した場合はそのレコードキーが存在するアドレスを返す。複数のレコードで一致した場合は、例えばプライオリティエンコードした結果を返す。キーと一緒にデータを格納している場合は格納していたデータを返す。Non-PatentDocument 3 discloses a technology that provides a parallel search function using SRAM or DRAM and multiple matching circuits. Record keys are generated in advance from records and stored for each RAM row address indicated by the corresponding index. An index (row address) is generated from the search key, and the RAM row containing the desired record key is accessed to read out multiple record key candidates and input them to the matching circuit. The matching circuit determines whether multiple record keys match the given search key, and if there is a match, it returns the address where the record key exists. If there is a match with multiple records, it returns the results of priority encoding, for example. If data is stored along with the key, the stored data is returned.

米国特許出願公開第2020/0185367号明細書US Patent Application Publication No. 2020/0185367

Xiping Jiang , Student Member, IEEE, Fengguo Zuo, Song Wang, Xiaofeng Zhou, Yubing Wang, Qi Liu, Qiwei Ren, Senior Member, IEEE, and Ming Liu, “A 1596-GB/s 48-Gb Stacked Embedded DRAM 384-Core SoC With Hybrid Bonding Integration”, IEEE SOLID-STATE CIRCUITS LETTERS, VOL. 5, 2022, pp.110-113Xiping Jiang , Student Member, IEEE, Fengguo Zuo, Song Wang, Xiaofeng Zhou, Yubing Wang, Qi Liu, Qiwei Ren, Senior Member, IEEE, and Ming Liu, “A 1596-GB/s 48-Gb Stacked Embedded DRAM 384- Core SoC With Hybrid Bonding Integration”, IEEE SOLID-STATE CIRCUITS LETTERS, VOL. 5, 2022, pp.110-113Dimin Niu1, et al., “184QPS/W 64Mb/mm2 3D Logic-to-DRAM Hybrid Bonding with Process-Near-Memory Engine for Recommendation System”, 2022 IEEE International Solid-State Circuits Conference (ISSCC)Dimin Niu1, et al., “184QPS/W 64Mb/mm2 3D Logic-to-DRAM Hybrid Bonding with Process-Near-Memory Engine for Recommendation System”, 2022 IEEE International Solid-State Circuits Conference (ISSCC)Sangyeun Cho, et al., “CA-RAM: A High-Performance Memory Substrate for Search-Intensive Applications”, 2007 IEEE International Symposium on Performance Analysis of Systems & SoftwareSangyeun Cho, et al., “CA-RAM: A High-Performance Memory Substrate for Search-Intensive Applications”, 2007 IEEE International Symposium on Performance Analysis of Systems & Software

 しかしながら、非特許文献2に開示の技術では、アプリケーションに応じて、36個のDRAMブロック全体の構成が固定されており、複数のブロックの活性化による消費電力の増大を抑制する技術が開示されておらず、柔軟性と低消費電力に課題があった。However, in the technology disclosed in Non-PatentDocument 2, the overall configuration of the 36 DRAM blocks is fixed depending on the application, and no technology is disclosed for suppressing the increase in power consumption caused by activating multiple blocks, leaving issues with flexibility and low power consumption.

 また、非特許文献1に開示の技術では、DRAMパーティションはアドレスマルチプレクスでアクセスされるため、ランダムアクセスを行なうアプリケーションでは性能が向上しない。また、非特許文献2に開示の技術と同様の理由で柔軟性と低消費電力に課題があった。In addition, in the technology disclosed in Non-PatentDocument 1, the DRAM partition is accessed by address multiplexing, so performance does not improve in applications that perform random access. Also, for the same reasons as in the technology disclosed in Non-PatentDocument 2, there are issues with flexibility and low power consumption.

 さらに、非特許文献3に開示の技術のように、積層型のDRAMを連想記憶メモリに用いる場合では、レコード数が増えてインデックスが複数の行にまたがる場合、ヒットするまで複数行を連続してアクセスするため検索速度が遅くなるという課題があった。Furthermore, when stacked DRAM is used as an associative memory, as in the technology disclosed in Non-PatentDocument 3, if the number of records increases and the index spans multiple rows, there is an issue that the search speed slows down because multiple rows are accessed continuously until a hit is found.

 本発明は、上記のような課題を解決するためになされたものであって、プロセッサ回路を有する半導体チップにDRAM回路の半導体チップが積層された構成であって、バンド幅が広く低消費電力で色々なアプリケーションに柔軟に対応することが可能な演算システムおよび半導体集積回路モジュールを提供することを目的とする。The present invention has been made to solve the above problems, and aims to provide a computing system and semiconductor integrated circuit module that has a configuration in which a semiconductor chip having a processor circuit is stacked with a semiconductor chip having a DRAM circuit, and that has a wide bandwidth, low power consumption, and can flexibly handle a variety of applications.

 また、本発明は、プロセッサ回路に積層され、連想記憶型メモリとして動作するDRAM回路において、消費電力を抑制して、検索速度を向上させることが可能な、演算システムおよび半導体集積回路モジュールを提供することを目的とする。The present invention also aims to provide an arithmetic system and semiconductor integrated circuit module that can reduce power consumption and improve search speed in a DRAM circuit that is stacked on a processor circuit and operates as an associative memory.

 この発明の1つの局面に従うと、演算システムであって、演算処理に必要なデータの格納を行うための複数のメモリセルが配置されたDRAM(Dynamic Random Access Memory)回路を備え、DRAM回路は、独立してアクセス可能で論理的なアドレス空間に配置された複数のメモリブロックを含み、複数のメモリブロックにおいて、論理的な第1の方向に配置され同時アクセス可能なメモリブロックの各々を特定するための第1の番号が関連付けられ、論理的に第1の方向に直交する第2の方向で複数のメモリブロックを特定するための第2の番号が関連付けられており、DRAM回路と積層される、プロセッサ回路をさらに備え、プロセッサ回路は、第1の番号と第2の番号とから構成される有効ブロック参照テーブルに、メモリブロックの各々が有効なデータを保持していることを示すフラグを格納する記憶回路と、少なくとも1つのプロセッサコアと、プロセッサコアからの選択信号に応じて、DRAM回路のメモリブロック内の第1の方向のメモリセルへのアクセスを制御するコントローラとを含み、コントローラは、選択信号に基づいて第2の方向のメモリブロックを選択し、有効ブロック参照テーブルを参照して、第1の方向で同時アクセスするメモリブロックのうち、有効なデータを保持していないメモリブロックについては、第2の番号で選択されてもアクセス対象から除外する。According to one aspect of the present invention, there is provided an arithmetic system comprising a dynamic random access memory (DRAM) circuit in which a plurality of memory cells are arranged for storing data required for arithmetic processing, the DRAM circuit including a plurality of memory blocks arranged in a logical address space which are independently accessible, the plurality of memory blocks being associated with a first number for identifying each of the simultaneously accessible memory blocks arranged in a logical first direction, and associated with a second number for identifying the plurality of memory blocks in a second direction logically perpendicular to the first direction, and further comprising a processor circuit stacked with the DRAM circuit; The processor circuit includes a memory circuit that stores flags indicating that each memory block holds valid data in a valid block reference table consisting of a first number and a second number, at least one processor core, and a controller that controls access to memory cells in a first direction in the memory block of the DRAM circuit in response to a selection signal from the processor core, and the controller selects a memory block in the second direction based on the selection signal, and refers to the valid block reference table to exclude from the access targets memory blocks that do not hold valid data, even if selected by the second number, among the memory blocks that are accessed simultaneously in the first direction.

 好ましくは、DRAM回路は、検索キーに応じて記憶されたデータの読出しを行う連想ランダムアクセスメモリであり、第1の方向は、メモリセルを選択するためのワード線の方向であり、コントローラは、i)選択信号として検索キーを受け、同時アクセス可能な複数のメモリブロックのワード線を指定するためのインデックスと、インデックスで選択されるメモリブロックを指定するための第2の番号としてのインデックス番号とを生成し、ii)インデックス番号と有効ブロック参照テーブルとに基づき、アクセス対象のメモリブロックを指定する第1の番号を決定する。Preferably, the DRAM circuit is an associative random access memory that reads stored data according to a search key, the first direction is the direction of a word line for selecting a memory cell, and the controller i) receives the search key as a selection signal and generates an index for specifying a word line of multiple simultaneously accessible memory blocks and an index number as a second number for specifying the memory block selected by the index, and ii) determines a first number for specifying the memory block to be accessed based on the index number and the valid block reference table.

 好ましくは、プロセッサ回路は、第1の番号とインデックス番号とで選択されたメモリセルからの読出しデータ内のキーデータと、検索キーとを比較し、比較の結果一致したキーデータに対応するレコードデータを出力する比較回路を含む。Preferably, the processor circuit includes a comparison circuit that compares the key data in the read data from the memory cell selected by the first number and the index number with the search key, and outputs record data corresponding to the key data that matches as a result of the comparison.

 好ましくは、第1の方向で選択されるメモリブロックは、アクセスに時間差を設ける複数のグループに分かれており、記憶回路は、複数のグループについて、アクセス順序を遅延順参照テーブルとして格納し、コントローラは、遅延順参照テーブルを参照して、アクセス順序で、第1の方向のメモリブロックにアクセスする。Preferably, the memory blocks selected in the first direction are divided into a plurality of groups with a time difference in access, the memory circuit stores the access order for the plurality of groups as a delay order lookup table, and the controller refers to the delay order lookup table and accesses the memory blocks in the first direction in the access order.

 好ましくは、記憶回路は、複数のメモリブロックのうち、不良ビットを含むメモリブロックを示すフラグを、不良ブロック参照テーブルとして格納し、コントローラは、不良ブロック参照テーブルを参照して、不良ビットを含むメモリブロックについては、第2の番号で選択されてもアクセス対象から除外する。Preferably, the memory circuit stores flags indicating memory blocks that contain bad bits among the multiple memory blocks as a bad block reference table, and the controller refers to the bad block reference table and excludes memory blocks that contain bad bits from being accessed even if they are selected by the second number.

 好ましくは、コントローラは、有効ブロック参照テーブルを参照して、有効なデータを保持しているメモリブロックに対してのみ、リフレッシュ動作を実行する。Preferably, the controller refers to the valid block reference table and performs refresh operations only on memory blocks that hold valid data.

 好ましくは、DRAM回路は、複数のメモリセルからのデータの読出しおよび書込み動作を制御するためのメモリ入出力回路を含み、メモリ入出力回路は、メモリセルを選択するためのアドレス信号の入力を、行アドレスおよび列アドレスに対してノンマルチプレクス制御する。Preferably, the DRAM circuit includes a memory input/output circuit for controlling the read and write operations of data from a plurality of memory cells, and the memory input/output circuit controls the input of address signals for selecting memory cells in a non-multiplexed manner with respect to row addresses and column addresses.

 好ましくは、メモリ入出力回路は、複数のデータ入出力パッドを有し、メモリ入出力回路は、複数のデータ入出力パッドから連続してデータをバースト読出しまたはバースト書込みを行う。Preferably, the memory input/output circuit has a plurality of data input/output pads, and the memory input/output circuit performs burst reading or burst writing of data continuously from the plurality of data input/output pads.

 好ましくは、メモリ入出力回路の動作モードを静的に設定または動的に変更可能な設定回路を備え、設定回路は、バースト読出しまたはバースト書込みにおいて、連続してデータにアクセスする回数を設定する。Preferably, the memory input/output circuit is provided with a setting circuit that can statically set or dynamically change the operating mode, and the setting circuit sets the number of times data is accessed consecutively in burst read or burst write.

 好ましくは、記憶回路は、DRAM回路のメモリブロックの物理的な配置の範囲で、メモリブロックの論理的な配置の設定を記憶し、コントローラは、記憶回路に記憶された配置に応じて、DRAM回路の読出しおよび書込み動作におけるメモリブロックの論理的な配置を可変に制御する。Preferably, the memory circuit stores settings for the logical layout of the memory blocks within the range of the physical layout of the memory blocks of the DRAM circuit, and the controller variably controls the logical layout of the memory blocks in the read and write operations of the DRAM circuit according to the layout stored in the memory circuit.

 好ましくは、複数のDRAM回路を含むメモリウエハと、複数のプロセッサ回路を含むプロセッサウエハとがウエハ状態で積層され、積層後に個片化される。Preferably, a memory wafer including multiple DRAM circuits and a processor wafer including multiple processor circuits are stacked in the wafer state, and then singulated after stacking.

 この発明の他の局面に従うと、演算システムであって、演算処理に必要なデータの格納を行うための複数のメモリセルが配置されたDRAM(Dynamic Random Access Memory)回路を備え、DRAM回路は、独立してアクセス可能で論理的に一次元に配置された複数のメモリブロックを含み、複数のメモリブロックのそれぞれに対して、複数のメモリブロック内の選択する行を識別するための第1の番号が関連付けられており、DRAM回路と積層される、プロセッサ回路をさらに備え、プロセッサ回路は、少なくとも1つのプロセッサコアと、プロセッサコアからの選択信号に応じて、DRAM回路のメモリブロック内のメモリセルへのアクセスを制御するコントローラとを含み、コントローラは、選択信号に基づいて第1の番号を生成し、複数のメモリブロックのそれぞれにアクセスする。In accordance with another aspect of the present invention, there is provided a computing system comprising a dynamic random access memory (DRAM) circuit in which a plurality of memory cells are arranged for storing data required for computing processing, the DRAM circuit comprising a plurality of independently accessible memory blocks logically arranged in one dimension, each of the plurality of memory blocks being associated with a first number for identifying a row to be selected within the plurality of memory blocks, and further comprising a processor circuit stacked with the DRAM circuit, the processor circuit comprising at least one processor core and a controller for controlling access to memory cells within the memory blocks of the DRAM circuit in response to a selection signal from the processor core, the controller generating the first number based on the selection signal and accessing each of the plurality of memory blocks.

 好ましくは、一次元の方向で選択されるメモリブロックは、アクセスに時間差を設ける複数のグループに分かれており、記憶回路は、複数のグループについて、アクセス順序を遅延順参照テーブルとして格納し、コントローラは、複数のメモリブロックを同時にアクセスする際に、遅延順参照テーブルを参照して、アクセス順序で、一次元の方向のメモリブロックにアクセスする。Preferably, the memory blocks selected in the one-dimensional direction are divided into a plurality of groups with a time difference in access, the memory circuit stores the access order for the plurality of groups as a delay order lookup table, and when accessing a plurality of memory blocks simultaneously, the controller refers to the delay order lookup table and accesses the memory blocks in the one-dimensional direction in the access order.

 好ましくは、記憶回路は、複数のメモリブロックのうち、不良ビットを含むメモリブロックを示すフラグを、不良ブロック参照テーブルとして格納し、コントローラは、不良ブロック参照テーブルを参照して、不良ビットを含むメモリブロックについては、アクセス対象から除外する。Preferably, the memory circuit stores flags indicating memory blocks that contain bad bits among the multiple memory blocks as a bad block reference table, and the controller refers to the bad block reference table and excludes memory blocks that contain bad bits from being accessed.

 好ましくは、DRAM回路は、複数のメモリセルからのデータの読出しおよび書込み動作を制御するためのメモリ入出力回路を含み、メモリ入出力回路は、メモリセルを選択するためのアドレス信号の入力を、行アドレスおよび列アドレスに対してノンマルチプレクス制御する。Preferably, the DRAM circuit includes a memory input/output circuit for controlling the read and write operations of data from a plurality of memory cells, and the memory input/output circuit controls the input of address signals for selecting memory cells in a non-multiplexed manner with respect to row addresses and column addresses.

 好ましくは、メモリ入出力回路は、複数のデータ入出力パッドを有し、メモリ入出力回路は、複数のデータ入出力パッドから連続してデータをバースト読出しまたはバースト書込みを行う。Preferably, the memory input/output circuit has a plurality of data input/output pads, and the memory input/output circuit performs burst reading or burst writing of data continuously from the plurality of data input/output pads.

 好ましくは、メモリ入出力回路の動作モードを静的に設定または動的に変更可能な設定回路を備え、設定回路は、バースト読出しまたはバースト書込みにおいて、連続してデータにアクセスする回数を設定する。Preferably, the memory input/output circuit is provided with a setting circuit that can statically set or dynamically change the operating mode, and the setting circuit sets the number of times data is accessed consecutively in burst read or burst write.

 この発明のさらに他の局面に従うと、複数のチップが積層された半導体集積回路モジュールであって、演算処理に必要なデータの格納を行うための複数のメモリセルが配置されたDRAM(Dynamic Random Access Memory)回路を含む第1の集積回路チップを備え、DRAM回路は、複数のダイを含み、複数のダイは、独立してアクセス可能で論理的なアドレス空間に配置された複数のメモリブロックにそれぞれ対応し、複数のメモリブロックにおいて、論理的な第1の方向に配置され同時アクセス可能なメモリブロックの各々を特定するための第1の番号が関連付けられ、論理的に第1の方向に直交する第2の方向で複数のメモリブロックを特定するための第2の番号が関連付けられており、DRAM回路とデータの授受が可能に積層され、演算処理を実行するためのプロセッサ回路を含む第2の集積回路チップをさらに備え、第2の集積回路チップは、第1の番号と第2の番号とから構成される有効ブロック参照テーブルに、メモリブロックの各々が有効なデータを保持していることを示すフラグを格納する記憶回路と、少なくとも1つのプロセッサコアと、プロセッサコアからの選択信号に応じて、DRAM回路のメモリブロック内の第1の方向のメモリセルへのアクセスを制御するコントローラとを含み、コントローラは、選択信号に基づいて第2の方向のメモリブロックを選択し、有効ブロック参照テーブルを参照して、第1の方向で同時アクセスするメモリブロックのうち、有効なデータを保持していないメモリブロックについては、第2の番号で選択されてもアクセス対象から除外する。According to yet another aspect of the present invention, there is provided a semiconductor integrated circuit module in which a plurality of chips are stacked, the module comprising a first integrated circuit chip including a DRAM (Dynamic Random Access Memory) circuit in which a plurality of memory cells are arranged for storing data required for arithmetic processing, the DRAM circuit including a plurality of dies, the plurality of dies corresponding respectively to a plurality of memory blocks arranged in a logical address space which are independently accessible, the plurality of memory blocks being associated with a first number for identifying each of the memory blocks arranged in a logical first direction and which are simultaneously accessible, and a second number for identifying the plurality of memory blocks in a second direction logically perpendicular to the first direction, the plurality of memory blocks being stacked in a manner enabling data to be exchanged with the DRAM circuit, The second integrated circuit chip further includes a second integrated circuit chip that is layered and includes a processor circuit for executing arithmetic processing, and the second integrated circuit chip includes a memory circuit that stores flags indicating that each memory block holds valid data in a valid block reference table consisting of a first number and a second number, at least one processor core, and a controller that controls access to memory cells in the first direction in the memory block of the DRAM circuit in response to a selection signal from the processor core, and the controller selects a memory block in the second direction based on the selection signal, and refers to the valid block reference table to exclude memory blocks that do not hold valid data from the memory blocks to be simultaneously accessed in the first direction even if they are selected by the second number.

 本発明の半導体集積回路モジュールによれば、DRAM回路のメモリダイの構成を最適化しつつ不要なブロックアクセスを排除することで、電力を削減することが可能となる。The semiconductor integrated circuit module of the present invention makes it possible to reduce power consumption by optimizing the memory die configuration of the DRAM circuit while eliminating unnecessary block accesses.

 また、本発明の半導体集積回路モジュールによれば、高速で低消費電力な検索システムを提供できる。In addition, the semiconductor integrated circuit module of the present invention can provide a high-speed, low-power search system.

CPU100とDRAM回路400を含む演算システム1000の構成を説明するための機能ブロック図である。1 is a functional block diagram for explaining the configuration of acomputing system 1000 including aCPU 100 and aDRAM circuit 400.DRAM回路400を構成するDRAMダイにおけるメモリブロックの構成を説明するための概念図である。4 is a conceptual diagram for explaining the configuration of a memory block in a DRAM die that constitutes aDRAM circuit 400. FIG.メモリブロック内に格納されるデータの構成を示す概念図である。FIG. 2 is a conceptual diagram showing a configuration of data stored in a memory block.論理ダイ300におけるメモリコントローラ111の構成を説明するための機能ブロック図である。3 is a functional block diagram for explaining the configuration of amemory controller 111 in the logic die 300. FIG.プロセッサ回路のCPU100とDRAM回路400とが積層されている構造を示す断面図である。1 is a cross-sectional view showing a structure in which aCPU 100 and aDRAM circuit 400 of a processor circuit are stacked.ロジック回路のCPU100に、DRAM回路400を、シリコンウエハとして積層する際のダイの関係を示す図である。1 is a diagram showing the relationship between dies when aDRAM circuit 400 is stacked on aCPU 100 of a logic circuit as a silicon wafer.メモリブロックにアクセスする際の論理構成の例を示す概念図である。FIG. 1 is a conceptual diagram showing an example of a logical configuration when accessing a memory block.有効データ存在ブロックテーブルの構成の例を示す概念図である。FIG. 13 is a conceptual diagram showing an example of the configuration of a valid data existing block table.DRAMメモリブロック物理的構成例を示す図である。FIG. 2 is a diagram showing an example of a physical configuration of a DRAM memory block;メモリブロックアクセスのパターンを示すタイミングチャートである。1 is a timing chart showing a memory block access pattern.DRAMのダイサイズの設定の例を示す概念図である。FIG. 1 is a conceptual diagram showing an example of setting a die size of a DRAM.実施の形態1の変形例1のインデックス番号とバケット番号の配置の例を示す概念図である。FIG. 13 is a conceptual diagram showing an example of an arrangement of index numbers and bucket numbers in the first modification of the first embodiment.実施の形態1の変形例2のインデックス番号とバケット番号の配置の例を示す概念図である。FIG. 13 is a conceptual diagram showing an example of an arrangement of index numbers and bucket numbers in the second modification of the first embodiment.、実施の形態1の変形例3のインデックス番号とバケット番号の配置の例を示す概念図である。13 is a conceptual diagram showing an example of an arrangement of index numbers and bucket numbers in a third variant of the first embodiment. FIG.遅延アクセス順設定テーブルの構成の例を示す概念図である。13 is a conceptual diagram showing an example of the configuration of a delayed access order setting table.FIG.遅延アクセスの読出し動作のパターンを示すタイミングチャートである。11 is a timing chart showing a pattern of a delayed access read operation.不良ブロック参照テーブルの構成の例を示す概念図である。FIG. 13 is a conceptual diagram showing an example of the configuration of a bad block reference table.DRAM回路400におけるメモリ空間の他の構成を説明するための概念図である。11 is a conceptual diagram for explaining another configuration of the memory space in theDRAM circuit 400. FIG.DRAM回路400に対して、論理ダイにおけるメモリコントローラ111の構成を説明するための機能ブロック図である。FIG. 4 is a functional block diagram for explaining the configuration of amemory controller 111 on a logic die for aDRAM circuit 400.

 以下、本発明の実施の形態の半導体集積回路モジュールの構成を説明する。なお、以下の実施の形態において、同じ符号を付した構成要素および処理工程は、同一または相当するものであり、必要でない場合は、その説明は繰り返さない。The configuration of a semiconductor integrated circuit module according to an embodiment of the present invention will be described below. Note that in the following embodiments, components and processing steps with the same reference numerals are the same or equivalent, and their description will not be repeated unless necessary.

 以下では、半導体集積回路モジュールとして、ロジック回路(より特定的には、プロセッサ回路)としてのCPU(Central Processing Unit)に、DRAM回路を積層した構成を例にとって説明する。ただし、ロジック回路としては、このような構成に限定されるものではない。また、演算処理を実行するために、独立して機能する演算・制御回路を、「プロセッサコア」と呼ぶ。したがって、1つのプロセッサ回路に、複数のプロセッサコア(マルチコア)が搭載される場合もありうる。
 [実施の形態1]
(半導体集積回路モジュールの機能的な構成)
In the following, a semiconductor integrated circuit module will be described taking as an example a configuration in which a DRAM circuit is stacked on a CPU (Central Processing Unit) as a logic circuit (more specifically, a processor circuit). However, the logic circuit is not limited to such a configuration. In addition, an arithmetic and control circuit that functions independently to execute arithmetic processing is called a "processor core." Therefore, there may be cases in which multiple processor cores (multi-cores) are mounted on one processor circuit.
[Embodiment 1]
(Functional Configuration of Semiconductor Integrated Circuit Module)

 図1は、CPU100とDRAM回路400を含む演算システム1000の構成を説明するための機能ブロック図である。FIG. 1 is a functional block diagram illustrating the configuration of acomputing system 1000 including aCPU 100 and aDRAM circuit 400.

 図1を参照して、論理ダイ300に含まれるCPU100は、制御ユニット110と演算ユニット150とを有する。Referring to FIG. 1, theCPU 100 included in the logic die 300 has acontrol unit 110 and anarithmetic unit 150.

 レジスタ112は、特に限定されないが、次に実行すべき命令が格納されているメモリ上の番地(アドレス)を記憶しておくためのプログラムカウンタや、プログラムをメモリ上にロードした時の先頭の番地(アドレス)を記憶しているベースレジスタを含む。また、レジスタ112は、連続したデータの取り出しに使うためのレジスタで、配列など連続したデータに繰り返し同じ命令を適用する場合などに使用され、先頭からの相対位置を記憶している指標レジスタや、取り出した命令を一時的に記憶しておくための命令レジスタを含む。Registers 112 include, but are not limited to, a program counter for storing the address in memory where the next instruction to be executed is stored, and a base register for storing the starting address when a program is loaded into memory.Registers 112 are also registers used to retrieve consecutive data, and are used when the same instruction is repeatedly applied to consecutive data such as an array, and include an index register for storing the relative position from the beginning, and an instruction register for temporarily storing the retrieved instruction.

 制御ユニット110は、これらのレジスタを利用して、メモリ中の命令やデータを読み出し、あるいは、データの書き込みなどの処理を実行する。Thecontrol unit 110 uses these registers to read instructions and data from memory, or to perform operations such as writing data.

 演算ユニット150は、所定のビット演算を、読みだされたデータとコマンドに従って実行する。レジスタ112は、演算結果を一時的に記憶しておくためのアキュムレータを含む。Thearithmetic unit 150 executes a specified bit operation according to the read data and command. Theregister 112 includes an accumulator for temporarily storing the operation result.

 なお、演算器152は、図1では、1つとして記載しているものの、複数のコアを有していてもよい。Note that although thecalculator 152 is shown as one core in FIG. 1, it may have multiple cores.

 CPU100は、さらに、キャッシュメモリ102を備える。なお、キャッシュメモリ102は、複数のレベルのメモリから構成されていてもよい。キャッシュメモリ102は、演算器152と同一のダイ上のSRAM(Static Random Access Memory)として実装される。TheCPU 100 further includes acache memory 102. Thecache memory 102 may be composed of multiple levels of memory. Thecache memory 102 is implemented as a static random access memory (SRAM) on the same die as thearithmetic unit 152.

 CPU100は、さらに、外部とのデータの授受をするための外部インタフェース104を有する。TheCPU 100 further has anexternal interface 104 for sending and receiving data with the outside world.

 外部インタフェース104を介して、CPU100は、CPU100チップの上に3次元に積層されるDRAM回路400と接続される。DRAM回路400は、特に限定されないが、後述するような連想型ランダムアクセスメモリとして動作することが可能である。Through theexternal interface 104, theCPU 100 is connected to aDRAM circuit 400 that is stacked three-dimensionally on theCPU 100 chip. TheDRAM circuit 400 is capable of operating as an associative random access memory, as described below, although it is not limited thereto.

 CPU100は、また、外部インタフェース104を介して、メインメモリ(図示せず)とデータの授受を行う構成とすることができる。TheCPU 100 can also be configured to send and receive data to and from a main memory (not shown) via anexternal interface 104.

 制御ユニット110は、メモリコントローラ111を有する。メモリコントローラ111は、CPU100からメモリへのアクセスをインターセプトし、キャッシュメモリ102や、DRAM回路400や、メインメモリからのデータ読出しやこれらへのデータ書込みのアクセスの制御を実行する。また、メモリコントローラ111は、特に限定されないが、統合メモリコントローラとして、メインメモリやDRAM回路400のリフレッシュ動作を制御する構成とすることができる。Thecontrol unit 110 has amemory controller 111. Thememory controller 111 intercepts access to memory from theCPU 100 and controls access to read data from and write data to thecache memory 102, theDRAM circuit 400, and the main memory. Although not limited to this, thememory controller 111 can be configured as an integrated memory controller to control the refresh operation of the main memory and theDRAM circuit 400.

 論理ダイ300には、CPU100とデータの授受が可能な不揮発性メモリ102が設けられる。不揮発性メモリ102は、特に限定されないが、たとえば、フラッシュメモリとすることができる。ただし、不揮発性メモリ102としては、このような構成に限定されるものではなく、電源が切られても、記憶されたデータが消えないメモリであれば、他の構成を採用することも可能である。The logic die 300 is provided with anon-volatile memory 102 capable of sending and receiving data to and from theCPU 100. Thenon-volatile memory 102 is not particularly limited, but can be, for example, a flash memory. However, thenon-volatile memory 102 is not limited to this configuration, and other configurations can be used as long as the memory does not lose stored data even when the power is turned off.

 DRAM回路400は、例えば積層するなどして、複数のDRAMダイを含んでも良い。また、DRAM回路400は、独立してアクセス可能なメモリブロックが、論理的に2次元に展開され、メモリブロックは、同時アクセスが可能である。同時アクセスされるメモリブロックには、バケット番号が割り当てられ、アクセスするワード線を指定するためのインデックスを増やす方向のメモリブロックにインデックス番号を付することにより、超並列アクセス可能である。DRAMダイとメモリブロックとの関係については、後述する。TheDRAM circuit 400 may include multiple DRAM dies, for example by stacking them. Furthermore, in theDRAM circuit 400, memory blocks that can be accessed independently are logically expanded two-dimensionally, and the memory blocks can be accessed simultaneously. A bucket number is assigned to the memory blocks that are accessed simultaneously, and massively parallel access is possible by assigning index numbers to memory blocks in the direction that increases the index for specifying the word line to be accessed. The relationship between the DRAM dies and the memory blocks will be described later.

 不揮発性メモリ102は、メモリブロックが有効なデータを保持していることを示すフラグを、バケット番号とインデックス番号からなる2次元の参照テーブル(有効データ存在ブロックテーブル)に格納する。有効なデータを保持していないブロックはインデックスで選択されても、メモリコントローラ111は、アクセス対象から除外する。なお、不揮発メモリ106に格納されているテーブルデータは、レジスタ112や図示しないスクラッチパッドメモリに適宜読み出されて使用されても良い。Thenon-volatile memory 102 stores a flag indicating whether a memory block holds valid data in a two-dimensional reference table (valid data block table) consisting of a bucket number and an index number. Even if a block that does not hold valid data is selected by index, thememory controller 111 excludes it from the access target. The table data stored in thenon-volatile memory 106 may be read out and used as appropriate in theregister 112 or a scratch pad memory (not shown).

 図2は、図1に示したDRAM回路400を構成するDRAMダイにおけるメモリブロックの構成を説明するための概念図である。FIG. 2 is a conceptual diagram for explaining the configuration of the memory blocks in the DRAM die that constitutes theDRAM circuit 400 shown in FIG. 1.

 図2においては、一例として、DRAMダイは570MBの容量であり、16行16列に配置されたメモリブロックを有するものとして、説明する。もちろん、後述するように、複数のメモリブロックの配置としては、このような構成には限定されず、より一般的には、メモリブロックは、n行m列(n,m:自然数)に配置される構成とすることができる。In FIG. 2, as an example, the DRAM die has a capacity of 570 MB and is described as having memory blocks arranged in 16 rows and 16 columns. Of course, as will be described later, the arrangement of multiple memory blocks is not limited to this configuration, and more generally, the memory blocks can be arranged in n rows and m columns (n and m are natural numbers).

 また、これも特に限定されないが、DRAM回路400は、連想型ランダムアクセスメモリとして動作するものとして、その構成を説明する。Although this is not a limitation, the configuration of theDRAM circuit 400 will be described assuming that it operates as an associative random access memory.

 複数のメモリブロックは、独立してアクセス可能であり、アドレス空間では、論理的に2次元に配置される。Multiple memory blocks can be accessed independently and are logically arranged in two dimensions in the address space.

 バケット番号とは、複数のメモリブロックにおいて、論理的な第1の方向に配置され同時アクセス可能なメモリブロックの各々を識別するための番号である。The bucket number is a number used to identify each of multiple memory blocks that are arranged in a first logical direction and can be accessed simultaneously.

 入力される検索キーから、後述する方法で、第1の方向と直交する論理的な第2の方向で、検索対象となるレコードの存在する位置を示す番号として、インデックス番号とインデックスとが生成される。ここでは、インデックス番号とは、第2の方向でメモリブロックを識別するための番号であり、インデックスは、インデックス番号で特定されるメモリブロック内において、メモリ行(ワード線)を特定するための行アドレスを指定する。From the input search key, an index number and index are generated as numbers indicating the location of the record to be searched in a logical second direction perpendicular to the first direction, using a method described below. Here, the index number is a number for identifying a memory block in the second direction, and the index specifies a row address for identifying a memory row (word line) within the memory block identified by the index number.

 図2においては、570MB(バイト)のDRAMダイは、4×4に配置された16個のブロック拡張単位(容量:35.7MB)から構成される。そして、各ブロック拡張単位は、4×4に配置された16個のメモリブロック(容量:2.2MB)から構成される。後述するように、ブロック拡張単位は、スクライブラインで囲まれている。ここでも、DRAMダイを構成するブロック拡張単位の個数や、ブロック拡張単位を構成するメモリブロックの個数は、これらの構成に限定されるものではない。In Figure 2, a 570 MB (byte) DRAM die is composed of 16 block extension units (capacity: 35.7 MB) arranged in a 4 x 4 matrix. Each block extension unit is composed of 16 memory blocks (capacity: 2.2 MB) arranged in a 4 x 4 matrix. As described below, the block extension units are surrounded by scribe lines. Again, the number of block extension units that make up the DRAM die and the number of memory blocks that make up a block extension unit are not limited to these configurations.

 図2に示すとおり、メモリブロックには、一方の辺上に、コマンドとアドレスが入力される制御信号入力ピン(制御信号入力パッド)と、この一方の辺に直交する他方の辺上に、データが入出力されるデータ入出力ピン(データ入出力パッド)とが設けられる。As shown in Figure 2, the memory block has, on one side, a control signal input pin (control signal input pad) through which commands and addresses are input, and, on the other side perpendicular to the first side, a data input/output pin (data input/output pad) through which data is input/output.

 データ入出力ピンからは、検索対象となるレコードデータと、このレコードデータに対するキーデータとの組が、複数組について、1度の書き込みアクセスで順次入力され、DRAM回路400に記憶される。特に限定されないが、たとえば、レコードデータとキーデータは合わせて128Bであるものとして、付加的な情報ビットは8Bであるものとする。The data I/O pin sequentially inputs multiple pairs of record data to be searched and key data for that record data with one write access, and stores them in theDRAM circuit 400. Although not limited to this, for example, the record data and key data together are assumed to be 128B, and the additional information bits are assumed to be 8B.

 図1で説明したとおり、不揮発性メモリ102は、メモリブロックが有効なデータを保持していることを示すフラグを、バケット番号とインデックス番号からなる2次元の参照テーブルに格納している。図2では、有効なデータが存在するブロックを網掛で示し、特に、検索キーにより特定される選択インデックスが属し、同時に選択されているブロックを斜線で示している。As explained in FIG. 1, thenon-volatile memory 102 stores flags indicating whether a memory block holds valid data in a two-dimensional reference table consisting of a bucket number and an index number. In FIG. 2, blocks containing valid data are shown shaded, and in particular, blocks to which the selected index specified by the search key belongs and which are simultaneously selected are shown shaded.

 図3は、メモリブロック内に格納されるデータの構成を示す概念図である。Figure 3 is a conceptual diagram showing the structure of data stored in a memory block.

 図3を参照して、キーデータとレコードデータとは対となって、同一のワード線に対応する1つのインデックス内に格納されている。Referring to Figure 3, key data and record data are paired and stored in one index corresponding to the same word line.

 たとえば、上述のとおり、レコードデータとキーデータは合わせて128Bであり、バースト書込みまたバースト読出しで、連続して書込みまたは読出しが、8回連続で実行されるものとすると、レコードデータとキーデータが、1つのインデックス内に128b×8=128B書き込まれ、残りの8Bが情報データとする、という構成とすることができる。For example, as described above, if the record data and key data are 128B in total, and burst write or burst read is performed 8 times in succession, then the record data and key data will be written into one index (128b x 8 = 128B), and the remaining 8B will be information data.

 ここで、レコードデータとしては、データベース内で検索対象が存在する位置を示すデータであってもよいし、あるいは、検索対象そのものであってもよい。Here, the record data may be data indicating the location of the search target within the database, or it may be the search target itself.

 ここでは、インデックスは、1~16,384のいずれかの番号であり、1つのインデックス当たり、136Bのデータが存在することになるので、1ブロック当たりの記憶容量の合計は、136B×16,384=2.2MBになっている。なお、16,384は、214に相当し、14ビットのアドレスで特定されうる。Here, the index is a number between 1 and 16,384, and since 136 B of data exists per index, the total storage capacity per block is 136 B x 16,384 = 2.2 MB. Note that 16,384 is equivalent to 214 and can be specified by a 14-bit address.

 一方で、インデックス番号は、1~16で、4ビットのアドレスで特定されうる。On the other hand, index numbers range from 1 to 16 and can be specified by a 4-bit address.

 したがって、図3の例では、たとえば、検索キーから18ビットのアドレスが生成され、上位4ビットでインデックス番号が生成され、下位の14ビットでインデックス(メモリブロック内でメモリセルを選択するためのアドレス信号に相当)が生成される構成とすることができる。Therefore, in the example of Figure 3, for example, an 18-bit address can be generated from the search key, the upper 4 bits can be used to generate an index number, and the lower 14 bits can be used to generate an index (corresponding to an address signal for selecting a memory cell within a memory block).

 もちろん、インデックス番号やインデックスの大きさ、データ入出力パッドから入出力されるデータの大きさ、キーデータとレコードデータを合わせた大きさは、これらの値に限定されるものではなく、システムとして設計される段階で、記憶対象となるデータに応じて、変更可能なものである。Of course, the index number, the size of the index, the size of the data input/output from the data input/output pad, and the combined size of the key data and record data are not limited to these values, and can be changed at the system design stage depending on the data to be stored.

 図4は、論理ダイ300におけるメモリコントローラ111の構成を説明するための機能ブロック図である。FIG. 4 is a functional block diagram illustrating the configuration of thememory controller 111 in the logic die 300.

 図4を参照して、不揮発性メモリ106は、上述のとおり、メモリブロックが有効なデータを保持していることを示すフラグを、バケット番号とインデックス番号からなる有効データ存在ブロックテーブル1062として格納している。Referring to FIG. 4, as described above, thenon-volatile memory 106 stores flags indicating whether a memory block holds valid data as a valid data block table 1062 consisting of a bucket number and an index number.

 メモリコントローラ111は、検索キーの入力を受けて、インデックス番号およびインデックスに変換するインデックス変換回路1112を含む。特に限定されないが、たとえば、インデックス変換回路1112は、所定のハッシュ関数による演算により、検索キーをインデックス番号およびインデックスに相当するアドレス信号に変換する構成とすることができる。Thememory controller 111 includes anindex conversion circuit 1112 that receives an input of a search key and converts it into an index number and an index. For example, but not limited to, theindex conversion circuit 1112 can be configured to convert the search key into an index number and an address signal equivalent to the index by calculation using a predetermined hash function.

 メモリコントローラ111は、さらに、インデックス変換回路1112からのインデックス番号を受けて、有効データ存在ブロックテーブル1062を参照して、読出しを行うアクセス対象となるメモリブロックを指定するためのバケット番号を生成するブロック選択回路1114と、ブロック選択回路1114からのアクセス対象のバケット番号とインデックス変換回路1112からのインデックス番号およびインデックスとを受けて、複数のメモリブロックのうち、同時にアクセスするバケット番号の範囲と、アクセスするインデックス番号およびインデックスに応じて、読出しの対象となるメモリブロックに対してイネーブル信号を出力して、読出し動作を制御するためのブロック制御回路1116とを含む。Thememory controller 111 further includes ablock selection circuit 1114 that receives an index number from theindex conversion circuit 1112, refers to the valid data existing block table 1062, and generates a bucket number for specifying the memory block to be accessed for reading, and ablock control circuit 1116 that receives the bucket number to be accessed from theblock selection circuit 1114 and the index number and index from theindex conversion circuit 1112, and outputs an enable signal to the memory block to be read, depending on the range of bucket numbers to be accessed simultaneously among multiple memory blocks and the index number and index to be accessed, to control the read operation.

 メモリコントローラ111は、さらに、バケット番号で特定されるメモリブロックごとに設けられ、アクセス対象として同時に選択されてデータが読みだされた対応するメモリブロックからのデータを読み出すブロックR/W回路1120.1と、ブロックR/W回路1120.1からのデータのうちキーデータと検索キーとを比較して、一致したキーに対応するレコードデータを検索結果として出力する比較回路1120.2とを含む。Thememory controller 111 further includes a block R/W circuit 1120.1, which is provided for each memory block identified by the bucket number and which reads data from the corresponding memory blocks that were simultaneously selected as the access target and from which data was read, and a comparison circuit 1120.2, which compares the key data in the data from the block R/W circuit 1120.1 with the search key, and outputs the record data corresponding to the matching key as the search result.

 なお、比較回路1120.2は、複数のキーが検索キーと一致した場合はプライオリティエンコードを用いて一つを選択する構成としてもよい。In addition, the comparison circuit 1120.2 may be configured to select one of the keys using priority encoding when multiple keys match the search key.

 したがって、以上をまとめると、図4のように、検索システムを構成すれば、論理ダイでは、検索キーを受け取り、インデックス変換回路1112を用いてインデックス番号とインデックスを生成し、インデックス番号と有効データ存在ブロックテーブル1062を用いてアクセス対象バケット番号が決定される。メモリコントローラ111は、インデックス番号とアクセス対象のバケット番号により選択されたメモリブロックに対しインデックスを用いてメモリセルへアクセスしてデータを比較回路1120.2に読み出す。To summarize the above, if a search system is configured as shown in FIG. 4, the logic die receives a search key, generates an index number and an index usingindex conversion circuit 1112, and determines the bucket number to be accessed using the index number and valid data existing block table 1062. Thememory controller 111 uses the index to access the memory cell of the memory block selected by the index number and the bucket number to be accessed, and reads the data to the comparison circuit 1120.2.

 比較回路1120.2は、読み出されたデータ内のキーと検索キーを比較し一致したキーに対応するレコードを出力する。ここで、比較回路1120.2は、一致したキーが格納されたアドレス情報を出力しても良い。The comparison circuit 1120.2 compares the key in the read data with the search key and outputs the record corresponding to the matching key. Here, the comparison circuit 1120.2 may output the address information where the matching key is stored.

 そして、論理ダイでは、複数の比較回路1120.2が設けられ、各比較回路1120.2は、インデックス方向に配置された複数のメモリブロックで共有されても良い。Then, multiple comparison circuits 1120.2 are provided on the logic die, and each comparison circuit 1120.2 may be shared by multiple memory blocks arranged in the index direction.

 なお、以上の説明では、検索対象となるキーデータとレコードデータとは、予めDRAM回路400に書き込まれており、その書込みの際に、不揮発性メモリ106中に有効データ存在ブロックテーブル1062も書き込まれているとの前提で説明を行った。ただし、たとえば、さらに、新たなキーデータとレコードデータの対をDRAM回路400に書き込む際に、すでにデータが書き込まれているメモリブロックを超えてデータを書き込む場合は、有効データ存在ブロックテーブル1062内のメモリブロックが有効なデータを保持していることを示すフラグを更新する動作が実施されるものとする。In the above explanation, it is assumed that the key data and record data to be searched for have been written in advance to theDRAM circuit 400, and that the valid data presence block table 1062 has also been written into thenon-volatile memory 106 at the time of writing. However, for example, when writing a new pair of key data and record data into theDRAM circuit 400, if data is to be written beyond a memory block in which data has already been written, an operation is performed to update a flag in the valid data presence block table 1062 indicating that the memory block holds valid data.

 図5は、プロセッサ回路のCPU100とDRAM回路400とが積層されている構造を示す断面図である。FIG. 5 is a cross-sectional view showing a structure in which theCPU 100 and theDRAM circuit 400 of the processor circuit are stacked.

 図5は、一例として、上述した非特許文献1に開示された、フリップチップ構造を用いて、「ハイブリッドボンディング技術」で実現された構成を示す。As an example, FIG. 5 shows a configuration realized by "hybrid bonding technology" using a flip chip structure as disclosed in the above-mentionednon-patent document 1.

 つまり、DRAM回路とプロセッサ回路とは、フリップチップ構造により、ハイブリッドボンディングされ、同一のパッケージ内に設けられている。In other words, the DRAM circuit and the processor circuit are hybrid-bonded using a flip-chip structure and are provided in the same package.

 ここで、ハイブリッドボンディング401とは、シリコンウエハやシリコンダイなどの表面に形成した銅(Cu)電極同士を貼り合わせて接続する技術である。Here,hybrid bonding 401 is a technology for bonding and connecting copper (Cu) electrodes formed on the surface of a silicon wafer, silicon die, etc.

 たとえば、シリコンウエハ同士の接続では、5μm~1μmと極めて短いピッチでの電極の接続が可能となる。For example, when connecting silicon wafers, it is possible to connect electrodes with an extremely short pitch of 5 μm to 1 μm.

 ハイブリッドボンディングでは、はんだバンプは使用せず、半導体チップの表面はCu電極と絶縁膜で構成する。Cu電極の表面は食器の皿のようにくぼんだ形状に形成される。くぼみの深さは、たとえば、20nm以内である。そして、絶縁膜表面は、たとえば、0.5nmというような非常にわずかの量だけ削られる。In hybrid bonding, solder bumps are not used, and the surface of the semiconductor chip is composed of a Cu electrode and an insulating film. The surface of the Cu electrode is formed with a concave shape like a tableware dish. The depth of the concave is, for example, within 20 nm. The insulating film surface is then removed by a very small amount, for example, 0.5 nm.

 このような前処理を施したシリコンのCu電極側表面同士を対向接触させる。すると絶縁膜同士が接続される。対向するCu電極間にはわずかな隙間が残る。次にシリコン同士を圧着したまま加熱処理すると、対向するCu電極が膨張して接触し、相互拡散によって接合を形成する。The Cu electrode sides of the silicon that have been pretreated in this way are then brought into contact with each other, connecting the insulating films together. A small gap remains between the opposing Cu electrodes. The silicon pieces are then heated while still pressed together, causing the opposing Cu electrodes to expand and come into contact, forming a bond through mutual diffusion.

 その上で、ロジック回路は、TSV(Through Silicon Via)技術により裏面側で、C4(Controlled Collapse Chip Connection)バンプ600などのはんだボールによる接続法により、樹脂基板性のパッケージ基板700と接続されている。たとえば、パッケージ基板700の表面(上側)には、多層配線の回路を形成してあり、貫通ビア702によって裏面(下側)の多層配線の回路と接続される。The logic circuit is then connected to a resin-basedpackage substrate 700 on the back side using TSV (Through Silicon Via) technology and a connection method using solder balls such as C4 (Controlled Collapse Chip Connection) bumps 600. For example, a multi-layer wiring circuit is formed on the front surface (upper side) of thepackage substrate 700, and is connected to the multi-layer wiring circuit on the back side (lower side) by throughvias 702.

 パッケージ基板700の裏面側は、マザーボード(図示せず)とは、たとえば、BGA(Ball Grid Array)704により接続される。The back side of thepackage substrate 700 is connected to a motherboard (not shown) by, for example, a BGA (Ball Grid Array) 704.

 なお、特に限定されないが、放熱の問題に対処するため、基板設計ではダミーバンプを用いて、熱伝導性を高める構成としてもよい。In addition, although not limited thereto, in order to address the issue of heat dissipation, the board design may be configured to use dummy bumps to increase thermal conductivity.

 図6は、ロジック回路のCPU100を含む論理ダイ300に、DRAM回路400を、シリコンウエハとして積層する際のダイの関係を示す図である。Figure 6 shows the relationship between the logic die 300, which includes theCPU 100 of the logic circuit, and theDRAM circuit 400 when stacked as a silicon wafer.

 なお、上述の通り、本実施の形態では、ロジック回路としては、CPU100を例として説明するが、ロジック回路としては、このような構成に限定されるものではない。As mentioned above, in this embodiment, the logic circuit is described using theCPU 100 as an example, but the logic circuit is not limited to this configuration.

 たとえば、ロジック回路のCPU100を含む論理ダイ300として、タイプAでは、DRAM回路400のダイサイズを基準としてダイサイズが1×1の大きさであるものとする。DRAM回路400のウエハにおいても、論理ダイ300のダイサイズに合わせて、DRAM回路400がスクライブラインで区切られているものとする。タイプAでは、シリコンウエハとして、フリップチップ構造で論理ダイ300のウエハとDRAM回路400のウエハを、たとえば、ハイブリッドボンディングの技術により、積層させ電気的に結合させる。For example, in Type A, the logic die 300 including theCPU 100 of the logic circuit has a die size of 1x1 based on the die size of theDRAM circuit 400. In the wafer of theDRAM circuit 400, theDRAM circuit 400 is also divided by scribe lines to match the die size of the logic die 300. In Type A, the wafer of the logic die 300 and the wafer of theDRAM circuit 400 are stacked and electrically connected by, for example, hybrid bonding technology in a flip chip structure as a silicon wafer.

 その後、論理ダイ300のチップサイズに合わせて、ダイシングして個片に分割することにより、DRAM回路400のチップサイズを基準として、ダイサイズが1×1の積層構造のチップを生成することができる。なお、積層するウエハの枚数は、2枚に限られず、図6に示すとおり、より多くてもよい。Then, by dicing and dividing into individual pieces according to the chip size of the logic die 300, a stacked chip with a die size of 1 x 1 can be generated based on the chip size of theDRAM circuit 400. Note that the number of stacked wafers is not limited to two, and may be more as shown in Figure 6.

 同様に、図6において、ロジック回路のCPU100を含む論理ダイ300として、タイプBでは、DRAM回路400のダイサイズを基準としてダイサイズが2×2の大きさであるものとする。Similarly, in FIG. 6, the logic die 300 including theCPU 100 of the logic circuit in Type B has a die size of 2×2 based on the die size of theDRAM circuit 400.

 タイプBでも、CPU100を含む論理ダイ300のチップサイズに合わせて、ダイシングして個片に分割することにより、DRAM回路400のチップサイズを基準として、ダイサイズが2×2の積層構造のチップを生成することができる。Even with Type B, by dicing and dividing into individual pieces according to the chip size of the logic die 300 including theCPU 100, it is possible to produce a stacked structure chip with a die size of 2 x 2 based on the chip size of theDRAM circuit 400.

 この図6のような構成とすることで、たとえば、タイプAとタイプBが、異なるプロセッサメーカの設計製造したものであって、ダイサイズが異なるとしても、各辺の長さが、たとえば1×1、1×2、2×2のように1の整数倍であれば、DRAM回路400は、同一設計・同一プロセスで製造することで対応可能である。By configuring as shown in FIG. 6, for example, even if Type A and Type B are designed and manufactured by different processor manufacturers and have different die sizes, as long as the length of each side is an integer multiple of 1, such as 1×1, 1×2, or 2×2, theDRAM circuit 400 can be manufactured using the same design and process.

 すなわち、積層化した半導体集積回路モジュールを製造するにあたり、DRAM回路400は1種類で良いことになる。In other words, when manufacturing a stacked semiconductor integrated circuit module, only one type ofDRAM circuit 400 is required.

 なお、タイプBの場合、たとえば、論理ダイ300は、DRAM回路400が4個に相当するダイサイズであるものとして説明した。この場合、容量4倍のDRAM回路400でも、例えば論理ダイ300に含まれる4個のCPUと4個のDRAM回路400とが個別に対応する構成としてもよい。In the case of Type B, for example, the logic die 300 has been described as having a die size equivalent to fourDRAM circuits 400. In this case, even if theDRAM circuit 400 has four times the capacity, for example, the four CPUs included in the logic die 300 may be configured to correspond individually to the fourDRAM circuits 400.

 なお、以上の説明では、論理ダイ300とDRAM回路400とは、ウエハオンウエハ(wafer on wafer)積層によるものとして説明したが、半導体集積回路の積層方法としては、このような構成に限定されず、たとえば、チップオンウエハ(chip on wafer)積層またはダイオンウエハ(die on wafer)積層や、チップオンチップ(chip on chip)積層またはダイオンダイ(die on die)積層の構成としてもよい。In the above description, the logic die 300 and theDRAM circuit 400 are described as being stacked on a wafer on a wafer, but the stacking method for semiconductor integrated circuits is not limited to this configuration, and may be, for example, a chip on wafer stacking or die on wafer stacking, or a chip on chip stacking or die on die stacking.

 そして、論理ダイ300とDRAM回路400との電気的接続はハイブリッドボンディングとして説明したが、たとえば、はんだバンプボンディングを使用してもよい。And while the electrical connection between the logic die 300 and theDRAM circuit 400 has been described as hybrid bonding, it may also be achieved using, for example, solder bump bonding.

 また、DRAM回路400は、2層以上に積層してもよい。この場合は、DRAMセルの複数の層が、これら複数の層を通るビアによって互いに接続される構造となる。
(メモリブロックの論理構成の例)
DRAM circuit 400 may also be stacked in two or more layers, with multiple layers of DRAM cells connected to each other by vias passing through the multiple layers.
(Example of logical configuration of memory block)

 図7は、メモリブロックにアクセスする際の論理構成の例を示す概念図である。Figure 7 is a conceptual diagram showing an example of the logical configuration when accessing a memory block.

 まず、説明の便宜上、2.2MBのメモリブロックへの書込みおよび読出しの際のバースト長が1である場合から、説明する。For ease of explanation, we will start with the case where the burst length is 1 when writing to and reading from a 2.2 MB memory block.

 図7を参照して、バースト長が1である場合、2.2MBのメモリブロックへのアクセスには、アドレス指定は、17ビットのアドレス信号により行われる。Referring to Figure 7, when the burst length is 1, addressing is performed by a 17-bit address signal to access a 2.2 MB memory block.

 すなわち、2.2MBのブロックについて、バースト長が1の場合、136bがビット線から並列して読み出されるので、ワード線の選択に、217ビット分のアドレスがあれば、全体として、以下のとおりのメモリ容量に対応することになる。
       217×136(b)÷8=2.2(MB)
That is, for a 2.2 MB block, when the burst length is 1, 136 b are read in parallel from the bit lines, so if there is a 217 bit address for word line selection, then overall it will correspond to the following memory capacity:
217 × 136 (b) ÷ 8 = 2.2 (MB)

 このとき、各ブロックに対応して、インデックス信号(Hでインデックス番号についてブロック選択)、コマンド信号(読出し、書込み、リフレッシュを指定)、イネーブル信号(Hでバケット番号についてブロック選択)が、メモリコントローラ111により、アクセスのために生成される。At this time, thememory controller 111 generates an index signal (H for block selection for index number), a command signal (specifying read, write, or refresh), and an enable signal (H for block selection for bucket number) for each block for access purposes.

 ここで、たとえば、不揮発性メモリ106に、バースト長の設定情報も記憶させておくこととして、ブロック制御回路1116は、このバースト長の設定情報に応じて、書込みと読出し動作におけるバースト長を可変とする構成とすることができる。Here, for example, burst length setting information can also be stored in thenon-volatile memory 106, and theblock control circuit 1116 can be configured to vary the burst length in write and read operations according to this burst length setting information.

 バースト長としては、たとえば、1,2,4,8,16,32,…等とすることができる。The burst length can be, for example, 1, 2, 4, 8, 16, 32, etc.

 したがって、バースト長が2であれば、136b×2がビット線から並列して読み出されることになり、アドレス数は一つ減って、16ビットになり、バースト長8であれば、136b×8がビット線から並列して読み出されることになり、3ビット減って14ビットとなる。Therefore, if the burst length is 2, 136b x 2 will be read in parallel from the bit lines, reducing the number of addresses by one to 16 bits, and if the burst length is 8, 136b x 8 will be read in parallel from the bit lines, reducing the number of addresses by 3 bits to 14 bits.

 図2~図4では、バースト長を8として設定した場合を例として説明したことに相当する。In Figures 2 to 4, the burst length is set to 8 as an example.

 たとえば、このようにバースト長を可変とする構成であれば、図6でプロセッサタイプAはバースト長8に、タイプBはバースト長32に設定するということも可能となる。また、書き込みや読出しの度にコマンドと一緒に異なるバースト長の設定情報を与えて、バースト長を動的に変更することも可能となる。For example, with a configuration in which the burst length is variable like this, it would be possible to set the burst length of processor type A in Figure 6 to 8, and type B to 32. It would also be possible to dynamically change the burst length by providing different burst length setting information along with the command each time writing or reading.

 ここで、このようなバースト長の設定は、動作モードをヒューズなどで、製造工程中に、永続的に設定する方法や、不揮発性メモリ内に初期設定として設定する方法などのような電源の供給が止まった後でも設定が保持されるような「静的な設定方式」の他に、アクセスする度に、コマンドを用いて変更可能な「動的な設定方式」とすることも可能である。In this case, the burst length can be set in a "static setting" manner, where the operating mode is permanently set during the manufacturing process using fuses or the like, or the setting is stored as an initial setting in non-volatile memory, so that the setting is retained even after the power supply is cut off. In addition, the burst length can be set in a "dynamic setting" manner, where the setting can be changed using a command each time the device is accessed.

 図8は、有効データ存在ブロックテーブルの構成の例を示す概念図である。Figure 8 is a conceptual diagram showing an example of the configuration of a valid data presence block table.

 図8(a)に示すように、有効データ存在ブロックテーブル1062は、論理空間では、バケット番号とインデックス番号からなる2次元の配列の中で、有効なデータが存在するメモリブロックに対するフラグを記録している。図8(a)では、有効なデータが存在するメモリブロックを網掛で示している。As shown in FIG. 8(a), the valid data existing block table 1062 records flags for memory blocks in which valid data exists in a two-dimensional array of bucket numbers and index numbers in logical space. In FIG. 8(a), memory blocks in which valid data exists are indicated by shading.

 図8(b)は、ブロック選択回路1114に入力されるインデックス番号と、ブロック選択回路1114から出力されるイネーブル信号がHレベルであるバケット番号との関係を示す。Figure 8(b) shows the relationship between the index number input to theblock selection circuit 1114 and the bucket number for which the enable signal output from theblock selection circuit 1114 is at the H level.

 一例として、入力インデックス番号が10である場合、図8(a)を参照すると、有効なデータが存在するメモリブロックは、バケット番号1~11であるので、バケット番号1~11に対応するイネーブル信号がHレベルとなる。As an example, if the input index number is 10, referring to FIG. 8(a), the memory blocks in which valid data exists arebucket numbers 1 to 11, so the enable signals corresponding tobucket numbers 1 to 11 go to H level.

 図4で説明したように、インデックス番号はアドレスの上位ビットで構成される。たとえば、図8(a)のようなメモリブロックの構成であれば、アドレスの上位4ビットが、インデックス番号に相当する。読出し動作では、インデックス番号とイネーブル信号で選択されたブロックが同時に選択され動作する。
(メモリブロックの物理的構成の例)
As explained in Fig. 4, the index number is composed of the upper bits of the address. For example, in the memory block configuration shown in Fig. 8(a), the upper four bits of the address correspond to the index number. In a read operation, the block selected by the index number and the enable signal is selected and operated at the same time.
(Example of physical configuration of memory blocks)

 図9は、DRAMメモリブロック物理的構成例を示す図である。Figure 9 shows an example of the physical configuration of a DRAM memory block.

 ここでも、一例として、バースト長は、8であるものとして説明する。Here too, as an example, we will use a burst length of 8.

 メモリブロックには、メモリアレイ、センスアンプ(図示せず)、周辺回路として制御回路が配置されており、コマンドやアドレス信号が入力されるピンが1つの辺上に配置され、(128+8)bのデータ入出力ピン(DQパッド)が、他の辺上に配置される。In the memory block, a memory array, sense amplifiers (not shown), and a control circuit as a peripheral circuit are arranged, with pins for inputting command and address signals arranged on one side, and (128+8)b data input/output pins (DQ pads) arranged on the other side.

 この場合、インデックスは、14ビットになる。このインデックスは、周辺回路内のC/A回路により、11ビットのXアドレス(行アドレス:ワード線選択)と、3ビットのYアドレス(列アドレス:ビット線選択)に分解される。周辺回路内のXデコーダ回路XDECとYデコーダ回路Y-decにより、ワード線とビット線の選択が行われる。また、列側の周辺回路には、センスアンプ動作に使用されるオーバドライブ容量素子VOD-capが設けられ、メインアンプ回路Main_Ampからの出力が、入出力パッドDQ-pad(データ幅が、(128b+8b)に対応)に出力される。In this case, the index is 14 bits. This index is broken down by the C/A circuit in the peripheral circuit into an 11-bit X address (row address: word line selection) and a 3-bit Y address (column address: bit line selection). The X-decoder circuit XDEC and Y-decoder circuit Y-dec in the peripheral circuit select the word line and bit line. In addition, the column-side peripheral circuit is provided with an overdrive capacitance element VOD-cap used for sense amplifier operation, and the output from the main amplifier circuit Main_Amp is output to the input/output pad DQ-pad (data width corresponds to (128b + 8b)).

 1回のリード/ライトコマンドで、(128+8)個の入出力パッドから8回のバースト動作で合計(128B+8B)のデータへのアクセスが実行される。A single read/write command accesses a total of (128B + 8B) of data in eight burst operations from (128 + 8) I/O pads.

 1つのメモリブロックのメモリ容量は、16,384インデックス×(128B+8B)=2,228,224B(約2.2MB)となる。The memory capacity of one memory block is 16,384 indexes x (128B + 8B) = 2,228,224B (approximately 2.2MB).

 また、リフレッシュコマンドが入力された場合は、インデックス中の11ビットのXアドレスのみを使って、所定の時間内に2,048回のアクセスが実行される。In addition, when a refresh command is input, 2,048 accesses are performed within a given time period using only the 11-bit X address in the index.

 なお、リフレッシュ動作の際に、有効データ存在ブロックテーブル1062を参照することで、有効なデータを保持しているメモリブロックのみをリフレッシュ動作の対象とする構成としてもよい。In addition, during the refresh operation, the valid data present block table 1062 may be referenced so that only memory blocks that hold valid data are subject to the refresh operation.

 図9に示すように、メモリセルアレイ部と周辺回路部やデータ入出力パッド部が近くに配置されるためアクセスレイテンシを短くすることが可能である。さらに、配線の取り回しが短いため、動作電力も削減できる。As shown in Figure 9, the memory cell array, peripheral circuitry, and data input/output pads are located close to each other, which makes it possible to shorten the access latency. Furthermore, the wiring is short, which makes it possible to reduce operating power.

 図9に示すように、DRAM回路400が、メモリブロックごとに、独立してデータ読出し・書込みのためのアクセス動作が可能な構成となっているため、DRAM回路400を、CPU100に対して、図6で説明したように、スケーラブルに構成することが可能となる。As shown in FIG. 9, theDRAM circuit 400 is configured to allow independent access operations for reading and writing data for each memory block, so theDRAM circuit 400 can be configured to be scalable with respect to theCPU 100, as described in FIG. 6.

 たとえば、図2で説明したメモリブロック拡張単位ごとに切出しが可能なようにダイが構成されていると、DRAM回路400のダイのサイズはブロック拡張単位のダイを単位として任意に構成可能となる。For example, if the die is configured so that it can be cut out for each memory block expansion unit described in FIG. 2, the size of the die of theDRAM circuit 400 can be arbitrarily configured using the die as a block expansion unit.

 したがって、上記の構成では、独立に、かつ個別にアクセス可能で、各々のデータ入出力のビット幅が比較的に広くなるように設計し、複数の単位DRAM回路を、複数のメモリブロックにそれぞれ割付ける構成となる。Therefore, in the above configuration, the multiple unit DRAM circuits are designed to be independently and individually accessible, with a relatively wide bit width for each data input/output, and are assigned to multiple memory blocks, respectively.

 そして、このような構成で、DRAM回路400は、上述した通り、アドレスノンマルチのランダムアクセスで動作する。すなわち、アドレスピンのビット幅も必要なビット数を確保できるため、アドレス信号を一度に入力するアドレスノンマルチプレクス方式を採用して、たとえば、1回のアクセスで136Bのデータの読出し又は書込みと、次のアクセスのためのプリチャージまでを完了させ、SRAMのようにシンプルにランダムアクセス動作をさせることができる。And with this configuration, theDRAM circuit 400 operates with non-multiplexed address random access as described above. In other words, because the bit width of the address pins can be secured to the required number of bits, an address non-multiplex method is adopted in which the address signal is input all at once, and for example, 136B of data can be read or written in one access, and precharge for the next access can be completed, allowing simple random access operation like an SRAM.

 図10は、メモリブロックアクセスのパターンを示すタイミングチャートである。Figure 10 is a timing chart showing memory block access patterns.

 ここでも、特に限定されないが、バースト長は8であって、250MHzのクロック信号で動作しているものとする。Again, although not limited thereto, the burst length is assumed to be 8, and it operates on a 250 MHz clock signal.

 図10を参照して、クロック0のタイミングで、コマンドはリード、ライト、またはリフレッシュで、コマンドと同時にインデックス(アドレス)が入力される。Referring to Figure 10, atclock 0, the command is read, write, or refresh, and the index (address) is input at the same time as the command.

 上述のとおり、一般的なDRAM回路のように、行アドレスと列アドレスをマルチプレクスして入力したり、ページモードでのアクセスは、実行しない構成である。As mentioned above, unlike typical DRAM circuits, row and column addresses are not multiplexed and input, and access in page mode is not performed.

 図10に示すように、バースト長8の場合、DRAM回路400では、リード動作とライト動作は、16クロック(上記のクロック信号では、64ns)で完結し、次のコマンドを受け付ける状態となる。As shown in FIG. 10, when the burst length is 8, theDRAM circuit 400 completes read and write operations in 16 clocks (64 ns in the above clock signal) and is ready to accept the next command.

 また、DRAM回路400のリフレッシュ動作は、8クロック(上記のクロック信号では、32ns)で完結し、次のコマンドを受け付ける状態となる。The refresh operation of theDRAM circuit 400 is completed in 8 clocks (32 ns for the above clock signal) and the circuit is ready to accept the next command.

 1回のリードアクセスでは、(128+8)ビットのDQパッドから、8バーストで、合計(1024+64)ビット((128+8)バイト)単位のデータが、読み出される。In one read access, data is read in eight bursts from the (128+8)-bit DQ pad, totalling (1024+64) bits ((128+8) bytes).

 同様に、1回のライトアクセスは、(128+8)ビットのDQパッドから、8バーストで、合計(1024+64)ビット((128+8)バイト)単位のデータが、書き込まれる。Similarly, in one write access, data is written in 8 bursts from the (128+8)-bit DQ pad, for a total of (1024+64) bits ((128+8) bytes).

 リフレッシュ動作では、一定の時間内に、11ビットのXアドレス(行アドレス:ワード線選択)に対してリフレッシュコマンドが出力されて、メモリセルのリフレッシュ処理が実行される。In a refresh operation, a refresh command is output to an 11-bit X address (row address: word line selection) within a certain period of time, and the memory cell is refreshed.

 上記の例では、メモリブロック単位のランダムアクセスのバンド幅は、136B×250MHz/16サイクル=2,215MB/sとなって、約2GB/sとなる。In the above example, the bandwidth of random access per memory block is 136B x 250MHz/16 cycles = 2,215MB/s, or approximately 2GB/s.

 図11は、DRAMのダイサイズの設定の例を示す概念図である。Figure 11 is a conceptual diagram showing an example of setting the die size of a DRAM.

 一例として、ブロック拡張単位が、4×4メモリブロック(35.7MBの容量に相当)で構成される場合を想定する。すなわち、ブロック拡張単位の周囲に、スクライブライン(ダイシングエリア)が設けられているとする。As an example, let us assume that the block extension unit is composed of 4x4 memory blocks (corresponding to a capacity of 35.7 MB). In other words, let us assume that scribe lines (dicing areas) are provided around the periphery of the block extension unit.

 このブロック拡張単位でのダイシングにより、たとえば、4×4のブロック拡張単位でダイシングすると、570MBのメモリ容量のDRAM回路とすることができる。By dicing in block expansion units, for example, dicing in 4x4 block expansion units, a DRAM circuit with a memory capacity of 570MB can be created.

 同様に、DRAM回路は、4×8のブロック拡張単位でダイシングすると、1.14GBのメモリ容量となり、8×8のブロック拡張単位でダイシングすると、2.28GBのメモリ容量となり、8×12のブロック拡張単位でダイシングすると、3.42GBのメモリ容量となる。
[実施の形態1の変形例1]
Similarly, when the DRAM circuit is diced in 4x8 block extension units, it has a memory capacity of 1.14 GB, when diced in 8x8 block extension units, it has a memory capacity of 2.28 GB, and when diced in 8x12 block extension units, it has a memory capacity of 3.42 GB.
[First Modification of First Embodiment]

 図12は、実施の形態1の変形例1のインデックス番号とバケット番号の配置の例を示す概念図である。FIG. 12 is a conceptual diagram showing an example of the arrangement of index numbers and bucket numbers invariant 1 ofembodiment 1.

 図12に示した例では、インデックス番号を1~32として、バケット番号を1~8としている。In the example shown in Figure 12, the index numbers are 1 to 32, and the bucket numbers are 1 to 8.

 すなわち、この構成は、図2に示した構成と比較すると、データ入出力のバンド幅よりも、より広いインデックスを確保した構成であり、より広い検索キーの範囲対応することが可能である。なお、究極の例として、メモリブロックをインデックス番号方向に一次元に配置する構成、たとえば、インデックス番号を1~256、バケット番号を1とすることも可能である。
[実施の形態1の変形例2]
In other words, this configuration secures a wider index than the data input/output bandwidth, and can handle a wider range of search keys, compared to the configuration shown in Fig. 2. As an ultimate example, it is also possible to arrange memory blocks one-dimensionally in the index number direction, for example, with index numbers from 1 to 256 and bucket numbers as 1.
[Modification 2 of the First Embodiment]

 図13は、実施の形態1の変形例2のインデックス番号とバケット番号の配置の例を示す概念図である。FIG. 13 is a conceptual diagram showing an example of the arrangement of index numbers and bucket numbers invariant 2 ofembodiment 1.

 図13に示した例では、インデックス番号を1~8として、バケット番号を1~32としている。In the example shown in Figure 13, the index numbers are 1 to 8, and the bucket numbers are 1 to 32.

 すなわち、この構成は、図2に示した構成と比較すると、インデックスの広さよりも、データ入出力のバンド幅を優先した構成である。一般には、データ入出力のバンド幅を広げると、消費電力が増加することになるが、実施の形態1の構成では、有効データ存在ブロックテーブル1062により、同時アクセスするメモリブロックを制限することで、消費電力の増加を抑制することが可能である。なお、究極の例として、メモリブロックをバケット番号方向に一次元に配置する構成、たとえば、インデックス番号を1、バケット番号を256とすることも可能である。In other words, compared to the configuration shown in FIG. 2, this configuration prioritizes data input/output bandwidth over index width. Generally, increasing the data input/output bandwidth increases power consumption, but in the configuration ofembodiment 1, it is possible to suppress the increase in power consumption by limiting the memory blocks that are accessed simultaneously using valid data existing block table 1062. As an ultimate example, it is also possible to have a configuration in which memory blocks are arranged one-dimensionally in the bucket number direction, for example with an index number of 1 and a bucket number of 256.

 なお、図12や図13のように、インデックス番号をバケット番号の構成を組み替えるには、必ずしも、物理的に、DRAM回路400のダイシングサイズを変更する必要はなく、たとえば、複数種類のインデックス番号とバケット番号の組み合わせに対応可能なサイズで、DRAM回路400をダイシングして分離しておくことも可能である。この場合は、不揮発性メモリ106内に、インデックス番号をバケット番号の構成を格納しておき、メモリコントローラ111が、この情報を参照して、インデックス番号とバケット番号とを生成するようにすることで、インデックス番号をバケット番号の構成を可変にすることも可能である。
[実施の形態1の変形例3]
12 and 13, in order to rearrange the configuration of index numbers and bucket numbers, it is not necessary to physically change the dicing size ofDRAM circuit 400, and it is possible to, for example, dice andseparate DRAM circuit 400 into sizes that can accommodate a plurality of combinations of index numbers and bucket numbers. In this case, it is also possible to make the configuration of index numbers and bucket numbers variable by storing the configuration of index numbers and bucket numbers innonvolatile memory 106 and havingmemory controller 111 generate index numbers and bucket numbers by referring to this information.
[Modification 3 of the First Embodiment]

 図14は、実施の形態1の変形例3のインデックス番号とバケット番号の配置の例を示す概念図である。FIG. 14 is a conceptual diagram showing an example of the arrangement of index numbers and bucket numbers in variant example 3 ofembodiment 1.

 図14に示した例では、メモリダイ上に独立した二つのメモリ空間Aとメモリ空間Bとを構成している例を示す。The example shown in Figure 14 shows two independent memory spaces, A and B, configured on a memory die.

 各メモリ空間では、一例として、インデックス番号を1~8として、バケット番号を1~16としている。In each memory space, as an example, the index numbers are 1 to 8 and the bucket numbers are 1 to 16.

 このようなメモリ空間は、同一の論理ダイ内で互いに関連しない二つの独立したプロセッサが設けられている構成に対応している。This type of memory space corresponds to a configuration in which two independent, unrelated processors are provided within the same logical die.

 なお、メモリ空間の個数や、インデックス番号およびバケット番号の個数は、このような構成に限定されず、対応するプロセッサの個数および個々のプロセッサの処理の内容に応じて、変更することが可能である。
[実施の形態2]
The number of memory spaces and the number of index numbers and bucket numbers are not limited to this configuration, and can be changed according to the number of corresponding processors and the content of the processing of each processor.
[Embodiment 2]

 実施の形態1では、バケット番号の方向のメモリブロックを同時アクセスすることで、データ入出力のバンド幅を増加させることが可能な構成について説明した。In the first embodiment, a configuration was described that can increase the bandwidth of data input/output by simultaneously accessing memory blocks in the bucket number direction.

 ただし、同時に多数のビット線が活性化して、データの読出しが行われると、ピーク電流が増加することで、ノイズが増加する可能性がある。However, if many bit lines are activated at the same time and data is read, the peak current increases, which can lead to increased noise.

 そこで、実施の形態2では、ノイズの抑制が可能な構成について説明する。Therefore, in the second embodiment, we will explain a configuration that can suppress noise.

 実施の形態2のDRAM回路400では、不揮発性メモリ106内に、遅延アクセス順設定テーブルが格納される。In theDRAM circuit 400 of the second embodiment, a delayed access order setting table is stored in thenon-volatile memory 106.

 遅延アクセス順設定テーブルでは、バケット番号を複数のグループに分割して、順次、活性化するグループが、記憶されている。In the delayed access order setting table, bucket numbers are divided into multiple groups, and the groups that are to be activated in sequence are stored.

 図15は、遅延アクセス順設定テーブルの構成の例を示す概念図である。FIG. 15 is a conceptual diagram showing an example of the configuration of a delayed access order setting table.

 図15(a)に示すように、有効データ存在ブロックテーブル1062は、論理空間では、バケット番号とインデックス番号からなる2次元の配列の中で、有効なデータが存在するメモリブロックに対するフラグを記録している。そして、図15(a)では、有効なデータが存在するメモリブロックを網掛で示している。As shown in FIG. 15(a), the valid data existing block table 1062 records flags for memory blocks in which valid data exists in a two-dimensional array of bucket numbers and index numbers in logical space. In FIG. 15(a), memory blocks in which valid data exists are indicated by shading.

 さらに、図15(a)に示すように、バケット番号1~16については、4つのグループに分けられており、バケット番号1~4が、第1グループ、バケット番号5~8が、第2グループ、バケット番号9~12が、第3グループ、バケット番号13~16が、第4グループに分けられているものとする。Furthermore, as shown in FIG. 15(a),bucket numbers 1 to 16 are divided into four groups, withbucket numbers 1 to 4 in the first group,bucket numbers 5 to 8 in the second group,bucket numbers 9 to 12 in the third group, andbucket numbers 13 to 16 in the fourth group.

 そして、遅延アクセス順設定テーブルには、このようなグループ分けが格納されているものとする。And it is assumed that such groupings are stored in the delayed access order setting table.

 そして、図15(b)に示すように、ブロック選択回路1114への入力インデックス番号が10である場合、図15(a)を参照すると、有効なデータが存在するメモリブロックは、バケット番号1~11であって、かつ、遅延アクセス順設定テーブルでの設定では、バケット番号1~11は、第1グループ~第3グループに対応するので、ブロック選択回路1114は、第1グループのバケット番号として1~4を、第2グループのバケット番号として5~8を、第3グループのバケット番号として9~11を出力する。Then, as shown in FIG. 15(b), when the input index number to theblock selection circuit 1114 is 10, referring to FIG. 15(a), the memory blocks in which valid data exists arebucket numbers 1 to 11, and in the settings in the delayed access order setting table,bucket numbers 1 to 11 correspond to the first to third groups, so theblock selection circuit 1114outputs 1 to 4 as the bucket numbers for the first group, 5 to 8 as the bucket numbers for the second group, and 9 to 11 as the bucket numbers for the third group.

 ブロック制御回路1116は、ブロック選択回路1114からの出力に応じて、グループごとに、所定の間隔で時間をずらせながら、対応するバケット番号のメモリブロックにイネーブル信号を出力する。Theblock control circuit 1116 outputs an enable signal to the memory block of the corresponding bucket number for each group, shifting the time by a predetermined interval, according to the output from theblock selection circuit 1114.

 なお、バケット番号の個数やバケット番号を分割するグループの個数は、これらの個数に限定されるものではない。Note that the number of bucket numbers and the number of groups into which the bucket numbers are divided are not limited to these numbers.

 図16は、図15で説明したような遅延アクセスの読出し動作のパターンを示すタイミングチャートである。FIG. 16 is a timing chart showing the pattern of delayed access read operations as described in FIG. 15.

 ここでも、特に限定されないが、バースト長は8であって、250MHzのクロック信号で動作しているものとする。Again, although not limited thereto, the burst length is assumed to be 8, and it operates on a 250 MHz clock signal.

 図10を参照して、クロック0のタイミングで、コマンドは、リードコマンドとインデックス(アドレス)が入力される。Referring to Figure 10, atclock 0, the read command and index (address) are input.

 これに応じて、クロック0~クロック6の期間で、バケット番号1~4が活性化され、データがセンスアンプ(図示せず)にラッチされて、クロック6~クロック14までで、データD0~D7が出力され、プリチャージが行われる。In response to this,bucket numbers 1 to 4 are activated during the period fromclock 0 toclock 6, the data is latched into a sense amplifier (not shown), and data D0 to D7 is output during the period fromclock 6 toclock 14, and precharging is performed.

 また、クロック2~クロック8の期間で、バケット番号5~8が活性化され、データがセンスアンプ(図示せず)にラッチされて、クロック8~クロック16までで、データD0~D7が出力され、プリチャージが行われる。Furthermore, during the period fromclock 2 toclock 8,bucket numbers 5 to 8 are activated and the data is latched into a sense amplifier (not shown), and during the period fromclock 8 toclock 16, data D0 to D7 are output and precharging is performed.

 さらに、クロック4~クロック10の期間で、バケット番号9~12(図15の例では、9~11)が活性化され、データがセンスアンプ(図示せず)にラッチされて、クロック10~クロック18までで、データD0~D7が出力され、プリチャージが行われる。Furthermore, during the period fromclock 4 toclock 10,bucket numbers 9 to 12 (9 to 11 in the example of FIG. 15) are activated and the data is latched into a sense amplifier (not shown), and during the period fromclock 10 toclock 18, data D0 to D7 are output and precharge is performed.

 なお、もしも、バケット番号13~16のメモリブロックについても、有効なデータが存在している場合は、クロック6~クロック12の期間で、バケット番号13~16が活性化され、データがセンスアンプ(図示せず)にラッチされて、クロック12~クロック20までで、データD0~D7が出力され、プリチャージが行われる。If valid data exists in the memory blocks ofbucket numbers 13 to 16,bucket numbers 13 to 16 are activated during the period fromclock 6 toclock 12, the data is latched into a sense amplifier (not shown), and data D0 to D7 are output during the period fromclock 12 toclock 20, and precharging is performed.

 以上のような構成により、有効なデータが存在する全てのメモリブロックが同時に動作することを制限し、読出し動作時のピーク電力を抑制することができる。
[実施の形態3]
With the above-mentioned configuration, it is possible to restrict all memory blocks in which valid data exists from operating simultaneously, and to suppress peak power consumption during a read operation.
[Embodiment 3]

 実施の形態1では、バケット番号の方向のメモリブロックを同時アクセスすることで、データ入出力のバンド幅を増加させることが可能な構成について説明した。In the first embodiment, a configuration was described that can increase the bandwidth of data input/output by simultaneously accessing memory blocks in the bucket number direction.

 ただし、不良ビットが存在する不良メモリブロックについては、アクセスしても意義あるデータが取得できない可能性がある。However, if a defective memory block contains defective bits, there is a possibility that meaningful data will not be obtained even if the block is accessed.

 そこで、実施の形態3のDRAM回路400では、不揮発性メモリ106内に、不良ビットを含むメモリブロックを示すフラグを不良ブロック参照テーブルに格納する。In view of this, in theDRAM circuit 400 of the third embodiment, a flag indicating a memory block that contains a defective bit is stored in the defective block reference table in thenon-volatile memory 106.

 図17は、不良ブロック参照テーブルの構成の例を示す概念図である。Figure 17 is a conceptual diagram showing an example of the configuration of a bad block reference table.

 図17(a)に示すように、不良ブロック参照テーブルは、論理空間では、バケット番号とインデックス番号からなる2次元の配列の中で、不良ビットが存在するメモリブロックを不良ブロックとして特定するためのフラグを記録している。そして、図17(a)では、不良ブロックを斜線で示している。As shown in FIG. 17(a), the bad block reference table records flags for identifying memory blocks containing bad bits as bad blocks in a two-dimensional array of bucket numbers and index numbers in logical space. In FIG. 17(a), bad blocks are indicated by diagonal lines.

 そして、図17(b)に示すように、ブロック選択回路1114への入力インデックス番号が6である場合、図17(a)の不良ブロック参照テーブルを参照すると、不良ブロックは、バケット番号11であるので、ブロック選択回路1114は、有効データ存在ブロックテーブル1062の格納データも参照して、同時に選択してアクセスするメモリブロックとして、バケット番号11を除外したバケット番号を出力する。As shown in FIG. 17(b), when the input index number to theblock selection circuit 1114 is 6, referring to the bad block reference table in FIG. 17(a), the bad block isbucket number 11, so theblock selection circuit 1114 also refers to the stored data in the valid data existing block table 1062 and outputs bucket numbers excludingbucket number 11 as memory blocks to be selected and accessed at the same time.

 なお、有効データ存在ブロックテーブル1062の記憶情報が、図2に示すような場合は、入力インデックス番号が6のときに、有効データが存在するメモリブロックに、バケット番号11が含まれていないので、有効データ存在ブロックテーブル1062の記憶情報に基づいて、ブロック選択回路1114は、バケット番号1~6を出力することになる。If the information stored in the valid data block table 1062 is as shown in FIG. 2, when the input index number is 6, the memory block in which valid data exists does not includebucket number 11, so based on the information stored in the valid data block table 1062, theblock selection circuit 1114 willoutput bucket numbers 1 to 6.

 ブロック制御回路1116は、ブロック選択回路1114からの出力に応じて、対応するバケット番号のメモリブロックにイネーブル信号を出力する。Theblock control circuit 1116 outputs an enable signal to the memory block of the corresponding bucket number in response to the output from theblock selection circuit 1114.

 このような構成とすることで、同時選択するメモリブロックにおいて、不良が存在するメモリブロックが活性化されないので、消費電力を抑制することが可能となる。
[実施の形態4]
With this configuration, among the simultaneously selected memory blocks, a memory block containing a defect is not activated, making it possible to reduce power consumption.
[Embodiment 4]

 図18は、DRAM回路400におけるメモリ空間の他の構成を説明するための概念図である。FIG. 18 is a conceptual diagram illustrating another configuration of the memory space in theDRAM circuit 400.

 図18を参照して、実施の形態4のDRAM回路400では、メモリダイ上に1メモリブロックごとに、独立したメモリ空間が設定されている。Referring to FIG. 18, in theDRAM circuit 400 of the fourth embodiment, an independent memory space is set for each memory block on the memory die.

 したがって、ここでは、インデックス番号は1の大きさであり、バケット番号も1の大きさである。So here, the index number is a magnitude of 1, and the bucket number is also a magnitude of 1.

 図18では、一例として、1メモリブロックの大きさの独立した256個のメモリ空間が設定されている例を示す。In Figure 18, an example is shown in which 256 independent memory spaces, each the size of one memory block, are set up.

 たとえば、人工知能用のチップやマイニング処理用のチップでは、複数のプロセッサエレメントが並列して動作する。For example, in chips for artificial intelligence or mining processing, multiple processor elements operate in parallel.

 そこで、図18の例では、互いに独立して並列動作するプロセッサエレメントに対して、1対1に対応したメモリ空間が設定されている。In the example of Figure 18, a memory space is set up in one-to-one correspondence for processor elements that operate in parallel and independently of each other.

 このような構成とすることで、全てのブロックを並列にアクセスすることが可能となり、想定できる最大のメモリバンド幅が得られる。This configuration makes it possible to access all blocks in parallel, achieving the maximum possible memory bandwidth.

 図19は、図18の構成のDRAM回路400に対して、論理ダイ300におけるメモリコントローラ111の構成を説明するための機能ブロック図である。FIG. 19 is a functional block diagram for explaining the configuration of thememory controller 111 in the logic die 300 for theDRAM circuit 400 configured as shown in FIG. 18.

 図18に示したように、メモリダイ上に1メモリブロックごとに、独立したメモリ空間が設定されていることに対応して、論理ダイ300には、プロセッサエレメント100.1~100.256が設けられ、各々のプロセッサエレメントは、所定の演算処理を並行して実行する。なお、プロセッサエレメントの個数はメモリブロックの個数と同数である必要は無く、メモリブロックの個数より少なくても多くてもかまわない。As shown in FIG. 18, an independent memory space is set for each memory block on the memory die, and accordingly, processor elements 100.1 to 100.256 are provided on logic die 300, and each processor element executes a predetermined arithmetic process in parallel. Note that the number of processor elements does not need to be the same as the number of memory blocks, and may be more or less than the number of memory blocks.

 一方で、論理ダイ300に設けられるメモリコントローラ111は、メモリブロック1~256にそれぞれ対応して、個別メモリコントローラ111.1~111.256が設けられる。個別メモリコントローラ111.1~111.256の機能は、基本的に、図4に示したブロック制御回路1116およびブロックR/W回路1120.1(検索用途に使用する場合は、比較回路1120.2を含む)と同様である。Meanwhile, thememory controller 111 provided on the logic die 300 includes individual memory controllers 111.1 to 111.256 corresponding tomemory blocks 1 to 256, respectively. The functions of the individual memory controllers 111.1 to 111.256 are basically the same as theblock control circuit 1116 and block R/W circuit 1120.1 (including the comparison circuit 1120.2 when used for search purposes) shown in FIG. 4.

 論理ダイ300には、不揮発性メモリ106(各種参照テーブルを含む)も設けられる。メモリコントローラ111は、個別メモリコントローラ111.1~111.256を制御するためのメモリコントローラ制御回路112を含む。メモリコントローラ制御回路112は、図4のブロック選択回路1114の機能を果たす。ただし、図19の構成では、バケット番号についての処理は省略でき、ブロック選択回路1114は、入力されたアドレス(または検索キー)から、メモリブロック1~256のうちから対応するメモリブロックを選択する信号を生成する。The logic die 300 is also provided with a non-volatile memory 106 (including various lookup tables). Thememory controller 111 includes a memorycontroller control circuit 112 for controlling the individual memory controllers 111.1 to 111.256. The memorycontroller control circuit 112 performs the function of theblock selection circuit 1114 in FIG. 4. However, in the configuration of FIG. 19, the processing for the bucket number can be omitted, and theblock selection circuit 1114 generates a signal that selects the corresponding memory block from amongmemory blocks 1 to 256 based on the input address (or search key).

 また、図19においては、バケット番号についての処理は省略できるので、ブロック制御回路1116は、ブロック選択回路1114から、選択されたメモリブロックに対するイネーブル信号を受けて、対応するメモリブロックを活性化するとともに、インデックスに応じて、対応するメモリセルへのアクセスのためのアドレス信号とコマンド信号を出力する。In addition, in FIG. 19, processing regarding the bucket number can be omitted, so theblock control circuit 1116 receives an enable signal for the selected memory block from theblock selection circuit 1114, activates the corresponding memory block, and outputs an address signal and a command signal for accessing the corresponding memory cell according to the index.

 メモリコントローラ111は、また、選択されたメモリブロックから読み出されたデータを、対応するプロセッサエレメントの出力し、あるいは、プロセッサエレメントから、選択されたメモリブロックへ書き込むデータを出力するためのクロスバースイッチやプロセッサとのインタフェース回路も含む。Thememory controller 111 also includes a crossbar switch and an interface circuit with the processor for outputting data read from a selected memory block to the corresponding processor element, or outputting data to be written from the processor element to the selected memory block.

 したがって、このような構成では、メモリコントローラ111は、検索キー(またはアドレス信号)に基づいてアクセス対象のメモリブロックを指定してインデックスを生成する。また実施の形態1と同様にバースト長を静的に設定または動的に変更して、制御することも可能である。Therefore, in such a configuration, thememory controller 111 generates an index by specifying the memory block to be accessed based on the search key (or address signal). Also, as in the first embodiment, it is possible to control the burst length by statically setting it or dynamically changing it.

 また、選択されるメモリブロックは、アクセスに時間差を設ける複数のグループに分かれており、不揮発性メモリ106は、この複数のグループについて、アクセス順序を遅延アクセス順設定テーブルとして格納し、複数のメモリブロックが同時に選択された場合には、コントローラ111は、遅延アクセス順設定テーブルを参照して、規定されるアクセス順序で、同時に選択されたメモリブロックにアクセスする構成としてもよい。In addition, the selected memory blocks may be divided into multiple groups with a time lag in access, and thenon-volatile memory 106 may store the access order for these multiple groups as a delayed access order setting table, and when multiple memory blocks are selected simultaneously, thecontroller 111 may be configured to refer to the delayed access order setting table and access the simultaneously selected memory blocks in a specified access order.

 また、不揮発性メモリ106は、複数のメモリブロックのうち、不良ビットを含むメモリブロックを示すフラグを、不良ブロックテーブルとして格納し、コントローラ111は、不良ブロックテーブルを参照して、不良ビットを含むメモリブロックについては、アクセス対象から除外する構成としてもよい。Thenon-volatile memory 106 may also be configured to store flags indicating which of the multiple memory blocks contain bad bits as a bad block table, and thecontroller 111 may refer to the bad block table and exclude memory blocks containing bad bits from being accessed.

 以上説明したように、実施の形態1~4のような演算システムおよび半導体集積回路モジュールによれば、DRAM回路のメモリダイの構成を最適化しつつ不要なブロックアクセスを排除することで、電力を削減することが可能となる。As described above, the computing system and semiconductor integrated circuit module according to the first to fourth embodiments can reduce power consumption by optimizing the memory die configuration of the DRAM circuit while eliminating unnecessary block accesses.

 また、本発明の演算システムおよび半導体集積回路モジュールによれば、高速で低消費電力な検索システムを提供できる。In addition, the computational system and semiconductor integrated circuit module of the present invention can provide a high-speed, low-power search system.

 今回開示された実施の形態は、本発明を具体的に実施するための構成の例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲および均等の意味の範囲内での変更が含まれることが意図される。The embodiments disclosed herein are illustrative of configurations for specifically implementing the present invention, and do not limit the technical scope of the present invention. The technical scope of the present invention is indicated by the claims, not by the description of the embodiments, and is intended to include modifications within the literal scope of the claims and within the scope of equivalent meanings.

 100 CPU、102 キャッシュメモリ、104 外部インタフェース、106 不揮発性メモリ、110 制御ユニット、111 メモリコントローラ、150 演算ユニット、152 演算器、300 論理ダイ、400 DRAM回路、1062 有効データ存在ブロックテーブル、1112 インデックス変換回路、1114 ブロック選択回路、1116 ブロック制御回路、1120.1 ブロックR/W回路、1120.2 比較回路。100 CPU, 102 cache memory, 104 external interface, 106 non-volatile memory, 110 control unit, 111 memory controller, 150 arithmetic unit, 152 arithmetic unit, 300 logic die, 400 DRAM circuit, 1062 valid data presence block table, 1112 index conversion circuit, 1114 block selection circuit, 1116 block control circuit, 1120.1 block R/W circuit, 1120.2 comparison circuit.

Claims (18)

Translated fromJapanese
 演算システムであって、
 演算処理に必要なデータの格納を行うための複数のメモリセルが配置されたDRAM(Dynamic Random Access Memory)回路を備え、
  前記DRAM回路は、独立してアクセス可能で論理的なアドレス空間に配置された複数のメモリブロックを含み、前記複数のメモリブロックにおいて、論理的な第1の方向に配置され同時アクセス可能な前記メモリブロックの各々を特定するための第1の番号が関連付けられ、論理的に前記第1の方向に直交する第2の方向で前記複数のメモリブロックを特定するための第2の番号が関連付けられており、
 前記DRAM回路と積層される、プロセッサ回路をさらに備え、
 前記プロセッサ回路は、
  前記第1の番号と前記第2の番号とから構成される有効ブロック参照テーブルに、前記メモリブロックの各々が有効なデータを保持していることを示すフラグを格納する記憶回路と、
  少なくとも1つのプロセッサコアと、
  前記プロセッサコアからの選択信号に応じて、前記DRAM回路の前記メモリブロック内の前記第1の方向の前記メモリセルへのアクセスを制御するコントローラとを含み、
 前記コントローラは、前記選択信号に基づいて前記第2の方向のメモリブロックを選択し、前記有効ブロック参照テーブルを参照して、前記第1の方向で同時アクセスするメモリブロックのうち、有効なデータを保持していないメモリブロックについては、前記第2の番号で選択されてもアクセス対象から除外する、演算システム。
1. A computing system comprising:
A DRAM (Dynamic Random Access Memory) circuit is provided in which a plurality of memory cells are arranged to store data necessary for arithmetic processing.
the DRAM circuit includes a plurality of memory blocks that are independently accessible and arranged in a logical address space, the plurality of memory blocks being associated with a first number for identifying each of the memory blocks that are arranged in a logical first direction and are simultaneously accessible, and being associated with a second number for identifying each of the plurality of memory blocks in a second direction that is logically perpendicular to the first direction;
A processor circuit is stacked with the DRAM circuit,
The processor circuit includes:
a storage circuit for storing a flag indicating that each of the memory blocks holds valid data in a valid block reference table composed of the first number and the second number;
At least one processor core;
a controller for controlling access to the memory cells in the memory block of the DRAM circuit in the first direction in response to a select signal from the processor core;
the controller selects a memory block in the second direction based on the selection signal, and by referring to the valid block reference table, excludes from the access targets any memory blocks that do not hold valid data among the memory blocks to be simultaneously accessed in the first direction even if the memory blocks are selected by the second number.
 前記DRAM回路は、検索キーに応じて記憶されたデータの読出しを行う連想ランダムアクセスメモリであり、
 前記第1の方向は、前記メモリセルを選択するためのワード線の方向であり、
 前記コントローラは、
  i)前記選択信号として前記検索キーを受け、前記同時アクセス可能な前記複数のメモリブロックの前記ワード線を指定するためのインデックスと、前記インデックスで選択される前記メモリブロックを指定するための前記第2の番号としてのインデックス番号とを生成し、
  ii)前記インデックス番号と前記有効ブロック参照テーブルとに基づき、アクセス対象の前記メモリブロックを指定する前記第1の番号を決定する、請求項1記載の演算システム。
the DRAM circuit is an associative random access memory that reads out stored data in response to a search key;
the first direction is a direction of a word line for selecting the memory cell;
The controller:
i) receiving the search key as the selection signal, and generating an index for specifying the word lines of the plurality of simultaneously accessible memory blocks, and an index number as the second number for specifying the memory block selected by the index;
2. The computing system according to claim 1, further comprising: ii) determining said first number specifying said memory block to be accessed based on said index number and said valid block reference table.
 前記プロセッサ回路は、
 前記第1の番号と前記インデックス番号とで選択された前記メモリセルからの読出しデータ内のキーデータと、前記検索キーとを比較し、比較の結果一致したキーデータに対応するレコードデータを出力する比較回路を含む、請求項2記載の演算システム。
The processor circuit includes:
3. The arithmetic system according to claim 2, further comprising a comparison circuit which compares key data in read data from said memory cell selected by said first number and said index number with said search key, and outputs record data corresponding to key data which matches as a result of the comparison.
 前記第1の方向で選択される前記メモリブロックは、アクセスに時間差を設ける複数のグループに分かれており、
 前記記憶回路は、前記複数のグループについて、アクセス順序を遅延順参照テーブルとして格納し、
 前記コントローラは、前記遅延順参照テーブルを参照して、前記アクセス順序で、前記第1の方向の前記メモリブロックにアクセスする、請求項1または2記載の演算システム。
the memory blocks selected in the first direction are divided into a plurality of groups each having a time difference between accesses;
the memory circuit stores an access order for the plurality of groups as a delay order lookup table;
3. The computing system according to claim 1, wherein said controller refers to said delay order lookup table and accesses said memory blocks in said first direction in said access order.
 前記記憶回路は、前記複数のメモリブロックのうち、不良ビットを含むメモリブロックを示すフラグを、不良ブロック参照テーブルとして格納し、
 前記コントローラは、前記不良ブロック参照テーブルを参照して、前記不良ビットを含むメモリブロックについては、前記第2の番号で選択されてもアクセス対象から除外する、請求項4記載の演算システム。
the memory circuit stores flags indicating memory blocks including defective bits among the plurality of memory blocks as a defective block reference table;
5. The computing system according to claim 4, wherein said controller refers to said bad block reference table and excludes a memory block including said bad bit from being accessed even if selected by said second number.
 前記コントローラは、前記有効ブロック参照テーブルを参照して、前記有効なデータを保持しているメモリブロックに対してのみ、リフレッシュ動作を実行する、請求項1または2記載の演算システム。The computing system according to claim 1 or 2, wherein the controller refers to the valid block reference table and performs a refresh operation only on the memory blocks that hold the valid data. 前記DRAM回路は、前記複数のメモリセルからのデータの読出しおよび書込み動作を制御するためのメモリ入出力回路を含み、
 前記メモリ入出力回路は、前記メモリセルを選択するためのアドレス信号の入力を、行アドレスおよび列アドレスに対してノンマルチプレクス制御する、請求項1または2記載の演算システム。
the DRAM circuit includes a memory input/output circuit for controlling read and write operations of data from the plurality of memory cells;
3. The arithmetic system according to claim 1, wherein said memory input/output circuit controls input of an address signal for selecting said memory cell in a non-multiplexed manner with respect to a row address and a column address.
 前記メモリ入出力回路は、複数のデータ入出力パッドを有し、
 前記メモリ入出力回路は、前記複数のデータ入出力パッドから連続してデータをバースト読出しまたはバースト書込みを行う、請求項7記載の演算システム。
the memory input/output circuit has a plurality of data input/output pads;
8. The computing system according to claim 7, wherein said memory input/output circuitry performs burst reads or burst writes of data continuously from said plurality of data input/output pads.
 前記メモリ入出力回路の動作モードを静的に設定または動的に変更可能な設定回路を備え、
 前記設定回路は、前記バースト読出しまたは前記バースト書込みにおいて、連続してデータにアクセスする回数を設定する、請求項8記載の演算システム。
a setting circuit capable of statically setting or dynamically changing an operation mode of the memory input/output circuit;
9. The computing system according to claim 8, wherein said setting circuit sets the number of times data is continuously accessed in said burst read or said burst write.
 前記記憶回路は、前記DRAM回路の前記メモリブロックの物理的な配置の範囲で、前記メモリブロックの論理的な配置の設定を記憶し、
 前記コントローラは、前記記憶回路に記憶された配置に応じて、前記DRAM回路の読出しおよび書込み動作における前記メモリブロックの論理的な配置を可変に制御する、請求項1または2記載の演算システム。
the storage circuit stores a setting of a logical layout of the memory blocks within a range of a physical layout of the memory blocks of the DRAM circuit;
3. The computing system according to claim 1, wherein said controller variably controls a logical layout of said memory blocks in read and write operations of said DRAM circuit in accordance with the layout stored in said storage circuit.
 複数の前記DRAM回路を含むメモリウエハと、複数の前記プロセッサ回路を含むプロセッサウエハとがウエハ状態で積層され、積層後に個片化される、請求項1または2記載の演算システム。The computing system according to claim 1 or 2, in which a memory wafer including a plurality of the DRAM circuits and a processor wafer including a plurality of the processor circuits are stacked in a wafer state and then singulated after stacking. 演算システムであって、
 演算処理に必要なデータの格納を行うための複数のメモリセルが配置されたDRAM(Dynamic Random Access Memory)回路を備え、
  前記DRAM回路は、独立してアクセス可能で論理的に一次元に配置された複数のメモリブロックを含み、前記複数のメモリブロックのそれぞれに対して、前記複数のメモリブロック内の選択する行を識別するための第1の番号が関連付けられており、
 前記DRAM回路と積層される、プロセッサ回路をさらに備え、
 前記プロセッサ回路は、
  少なくとも1つのプロセッサコアと、
  前記プロセッサコアからの選択信号に応じて、前記DRAM回路の前記メモリブロック内の前記メモリセルへのアクセスを制御するコントローラとを含み、
 前記コントローラは、前記選択信号に基づいて前記第1の番号を生成し、前記複数のメモリブロックのそれぞれにアクセスする、演算システム。
1. A computing system comprising:
A DRAM (Dynamic Random Access Memory) circuit is provided in which a plurality of memory cells are arranged to store data necessary for arithmetic processing.
the DRAM circuit includes a plurality of independently accessible memory blocks logically arranged in one dimension, each of the plurality of memory blocks being associated with a first number for identifying a row to be selected within the plurality of memory blocks;
A processor circuit is stacked with the DRAM circuit,
The processor circuit includes:
At least one processor core;
a controller that controls access to the memory cells in the memory block of the DRAM circuit in response to a selection signal from the processor core;
The controller generates the first number based on the selection signal and accesses each of the plurality of memory blocks.
 前記一次元の方向で選択される前記メモリブロックは、アクセスに時間差を設ける複数のグループに分かれており、
 前記記憶回路は、前記複数のグループについて、アクセス順序を遅延順参照テーブルとして格納し、
 前記コントローラは、複数の前記メモリブロックを同時にアクセスする際に、前記遅延順参照テーブルを参照して、前記アクセス順序で、前記一次元の方向の前記メモリブロックにアクセスする、請求項12記載の演算システム。
The memory blocks selected in the one-dimensional direction are divided into a plurality of groups having a time difference between accesses;
the memory circuit stores an access order for the plurality of groups as a delay order lookup table;
13. The computing system according to claim 12, wherein said controller, when accessing a plurality of said memory blocks simultaneously, refers to said delay order look-up table and accesses said memory blocks in said one-dimensional direction in said access order.
 前記記憶回路は、前記複数のメモリブロックのうち、不良ビットを含むメモリブロックを示すフラグを、不良ブロック参照テーブルとして格納し、
 前記コントローラは、前記不良ブロック参照テーブルを参照して、前記不良ビットを含むメモリブロックについては、アクセス対象から除外する、請求項12記載の演算システム。
the memory circuit stores flags indicating memory blocks including defective bits among the plurality of memory blocks as a defective block reference table;
13. The computing system according to claim 12, wherein said controller refers to said bad block reference table and excludes a memory block including said bad bit from being accessed.
 前記DRAM回路は、前記複数のメモリセルからのデータの読出しおよび書込み動作を制御するためのメモリ入出力回路を含み、
 前記メモリ入出力回路は、前記メモリセルを選択するためのアドレス信号の入力を、行アドレスおよび列アドレスに対してノンマルチプレクス制御する、請求項12記載の演算システム。
the DRAM circuit includes a memory input/output circuit for controlling read and write operations of data from the plurality of memory cells;
13. The computing system according to claim 12, wherein said memory input/output circuit controls input of an address signal for selecting said memory cell in a non-multiplexed manner with respect to a row address and a column address.
 前記メモリ入出力回路は、複数のデータ入出力パッドを有し、
 前記メモリ入出力回路は、前記複数のデータ入出力パッドから連続してデータをバースト読出しまたはバースト書込みを行う、請求項15記載の演算システム。
the memory input/output circuit has a plurality of data input/output pads;
16. The computing system of claim 15, wherein said memory input/output circuitry performs burst reads or burst writes of data continuously from said plurality of data input/output pads.
 前記メモリ入出力回路の動作モードを静的に設定または動的に変更可能な設定回路を備え、
 前記設定回路は、前記バースト読出しまたは前記バースト書込みにおいて、連続してデータにアクセスする回数を設定する、請求項16記載の演算システム。
a setting circuit capable of statically setting or dynamically changing an operation mode of the memory input/output circuit;
17. The computing system according to claim 16, wherein said setting circuit sets the number of times data is continuously accessed in said burst read or said burst write.
 複数のチップが積層された半導体集積回路モジュールであって、
 演算処理に必要なデータの格納を行うための複数のメモリセルが配置されたDRAM(Dynamic Random Access Memory)回路を含む第1の集積回路チップを備え、
  前記DRAM回路は、複数のダイを含み、前記複数のダイは、独立してアクセス可能で論理的なアドレス空間に配置された複数のメモリブロックにそれぞれ対応し、前記複数のメモリブロックにおいて、論理的な第1の方向に配置され同時アクセス可能な前記メモリブロックの各々を特定するための第1の番号が関連付けられ、論理的に前記第1の方向に直交する第2の方向で前記複数のメモリブロックを特定するための第2の番号が関連付けられており、
 前記DRAM回路とデータの授受が可能に積層され、演算処理を実行するためのプロセッサ回路を含む第2の集積回路チップをさらに備え、
 前記第2の集積回路チップは、
  前記第1の番号と前記第2の番号とから構成される有効ブロック参照テーブルに、前記メモリブロックの各々が有効なデータを保持していることを示すフラグを格納する記憶回路と、
  少なくとも1つのプロセッサコアと、
  前記プロセッサコアからの選択信号に応じて、前記DRAM回路の前記メモリブロック内の前記第1の方向の前記メモリセルへのアクセスを制御するコントローラとを含み、
 前記コントローラは、前記選択信号に基づいて前記第2の方向のメモリブロックを選択し、前記有効ブロック参照テーブルを参照して、前記第1の方向で同時アクセスするメモリブロックのうち、有効なデータを保持していないメモリブロックについては、前記第2の番号で選択されてもアクセス対象から除外する、半導体集積回路モジュール。
A semiconductor integrated circuit module in which a plurality of chips are stacked,
A first integrated circuit chip including a dynamic random access memory (DRAM) circuit having a plurality of memory cells arranged therein for storing data necessary for arithmetic processing,
the DRAM circuit includes a plurality of dies, the plurality of dies corresponding to a plurality of memory blocks that are independently accessible and arranged in a logical address space, the plurality of memory blocks being associated with a first number for identifying each of the memory blocks that are arranged in a logical first direction and that are simultaneously accessible, and being associated with a second number for identifying each of the plurality of memory blocks in a second direction that is logically perpendicular to the first direction;
a second integrated circuit chip that is stacked with the DRAM circuit so as to be capable of transmitting and receiving data and includes a processor circuit for executing arithmetic processing;
The second integrated circuit chip comprises:
a storage circuit for storing a flag indicating that each of the memory blocks holds valid data in a valid block reference table composed of the first number and the second number;
At least one processor core;
a controller for controlling access to the memory cells in the memory block of the DRAM circuit in the first direction in response to a select signal from the processor core;
the controller selects a memory block in the second direction based on the selection signal, and by referring to the valid block reference table, excludes from the access targets any memory block that does not hold valid data among the memory blocks to be simultaneously accessed in the first direction even if selected by the second number.
PCT/JP2023/0156152023-04-192023-04-19Computation system and semiconductor integrated circuit modulePendingWO2024218900A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
PCT/JP2023/015615WO2024218900A1 (en)2023-04-192023-04-19Computation system and semiconductor integrated circuit module

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
PCT/JP2023/015615WO2024218900A1 (en)2023-04-192023-04-19Computation system and semiconductor integrated circuit module

Publications (1)

Publication NumberPublication Date
WO2024218900A1true WO2024218900A1 (en)2024-10-24

Family

ID=93152131

Family Applications (1)

Application NumberTitlePriority DateFiling Date
PCT/JP2023/015615PendingWO2024218900A1 (en)2023-04-192023-04-19Computation system and semiconductor integrated circuit module

Country Status (1)

CountryLink
WO (1)WO2024218900A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH05282865A (en)*1992-04-011993-10-29Mitsubishi Electric CorpSemiconductor storage device
JPH07134701A (en)*1993-09-171995-05-23Hitachi Ltd Single chip microcomputer
US6330177B1 (en)*1999-05-192001-12-11Switchore, A.B.CAM/RAM memory device with a scalable structure
US6597595B1 (en)*2001-08-032003-07-22Netlogic Microsystems, Inc.Content addressable memory with error detection signaling
JP2003297751A (en)*2002-01-282003-10-17Semiconductor Energy Lab Co LtdSemiconductor device and method for forming semiconductor device
US7193877B1 (en)*2005-10-042007-03-20Netlogic Microsystems, Inc.Content addressable memory with reduced test time

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH05282865A (en)*1992-04-011993-10-29Mitsubishi Electric CorpSemiconductor storage device
JPH07134701A (en)*1993-09-171995-05-23Hitachi Ltd Single chip microcomputer
US6330177B1 (en)*1999-05-192001-12-11Switchore, A.B.CAM/RAM memory device with a scalable structure
US6597595B1 (en)*2001-08-032003-07-22Netlogic Microsystems, Inc.Content addressable memory with error detection signaling
JP2003297751A (en)*2002-01-282003-10-17Semiconductor Energy Lab Co LtdSemiconductor device and method for forming semiconductor device
US7193877B1 (en)*2005-10-042007-03-20Netlogic Microsystems, Inc.Content addressable memory with reduced test time

Similar Documents

PublicationPublication DateTitle
US12068286B2 (en)Device with embedded high-bandwidth, high-capacity memory using wafer bonding
US11508693B2 (en)High capacity memory module including wafer-section memory circuit
US11599458B2 (en)Stacked memory device and operating method thereof
US10727200B2 (en)Memory device including bump arrays spaced apart from each other and electronic device including the same
US11507301B2 (en)Memory module implementing memory centric architecture
KR102453542B1 (en)Memory device supporting skip calculation mode and method of operating the same
CN113643739B (en) LLC chip and cache system
CN113505091B (en)Stack device based on SEDRAM and stack system
US9361973B2 (en)Multi-channel, multi-bank memory with wide data input/output
CN113626374B (en) A stacked chip
US12354649B2 (en)Signal routing between memory die and logic die for performing operations
CN216118778U (en)Stacking chip
US11281397B2 (en)Stacked memory device performing function-in-memory (FIM) operation and method of operating the same
WO2024218900A1 (en)Computation system and semiconductor integrated circuit module
CN113722268A (en)Storage and calculation integrated stacking chip
WO2024189774A1 (en)Computation system and semiconductor integrated circuit module
US20250022849A1 (en)Vertically integrated memory system and associated systems and methods
CN120015082A (en) Memory system, main memory, computer architecture and memory access method

Legal Events

DateCodeTitleDescription
121Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number:23934045

Country of ref document:EP

Kind code of ref document:A1


[8]ページ先頭

©2009-2025 Movatter.jp