CN116737617A - 一种访问控制器 - Google Patents

一种访问控制器 Download PDF

Info

Publication number
CN116737617A
CN116737617A CN202311013668.5A CN202311013668A CN116737617A CN 116737617 A CN116737617 A CN 116737617A CN 202311013668 A CN202311013668 A CN 202311013668A CN 116737617 A CN116737617 A CN 116737617A
Authority
CN
China
Prior art keywords
access
controller
address
access controller
commands
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.)
Granted
Application number
CN202311013668.5A
Other languages
English (en)
Other versions
CN116737617B (zh
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.)
Shanghai Xinfeng Microelectronics Co ltd
Original Assignee
Shanghai Xinfeng Microelectronics Co ltd
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 Shanghai Xinfeng Microelectronics Co ltd filed Critical Shanghai Xinfeng Microelectronics Co ltd
Priority to CN202311013668.5A priority Critical patent/CN116737617B/zh
Publication of CN116737617A publication Critical patent/CN116737617A/zh
Application granted granted Critical
Publication of CN116737617B publication Critical patent/CN116737617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

本公开涉及集成电路领域,提供了一种访问控制器。访问控制器位于逻辑芯片中;访问控制器,被配置为根据逻辑芯片发送的访问命令访问存储器芯片;其中,存储器芯片堆叠在逻辑芯片上,存储器芯片和逻辑芯片通过多个硅通孔电连接;访问控制器通过多个硅通孔并行访问存储器芯片中的多个存储库。

Description

一种访问控制器
技术领域
本公开涉及集成电路领域,尤其涉及一种访问控制器。
背景技术
受限于传统计算器体系的冯-诺依曼架构,存储器带宽与计算需求之间的存储墙问题日益突出。随着三维堆叠技术的发展,利用堆叠DRAM(Dynamic Random AccessMemory,动态随机存取存储器)代替片外DDR DRAM(Double Data Rate DRAM,双倍速率动态随机存取存储器)日益成为SOC(System On Chip,片上系统)芯片发展的趋势。因此,如何解决堆叠DRAM的内存存取瓶颈(内存墙)问题,获得高带宽、低延迟、低功耗的存储访问,提升芯片系统的整体性能,已经成为亟待解决的问题。
发明内容
有鉴于此,本公开实施例为解决背景技术中存在的技术问题而提供一种访问控制器。
本公开实施例提供了一种访问控制器,包括:所述访问控制器位于逻辑芯片中;所述访问控制器,被配置为根据所述逻辑芯片发送的访问命令访问存储器芯片;其中,所述存储器芯片堆叠在所述逻辑芯片上,所述存储器芯片和所述逻辑芯片通过多个硅通孔电连接;所述访问控制器通过多个所述硅通孔并行访问所述存储器芯片中的多个所述存储库。
在一些实施例中,所述访问控制器包括:总线接口控制器和主控制器;所述总线接口控制器,被配置为接收多个所述访问命令,并对多个所述访问命令进行仲裁;所述主控制器,连接所述总线接口控制器,被配置为从所述总线接口控制器接收多个所述访问命令,并将多个所述访问命令分发至对应的多个所述存储库。
在一些实施例中,所述总线接口控制器包括:多个接口模块和仲裁模块;多个所述接口模块,被配置为接收多个所述访问命令,并以队列形式发送至所述仲裁模块;所述仲裁模块,连接多个所述接口模块,被配置为对多个所述访问命令进行仲裁。
在一些实施例中,所述访问命令包括:读命令和写命令;所述仲裁模块包括:读仲裁子模块和写仲裁子模块;所述读仲裁子模块,被配置为对多个所述读命令进行仲裁,确定多个所述读命令的访问顺序;所述写仲裁子模块,被配置为对多个所述写命令进行仲裁,确定多个所述写命令的访问顺序。
在一些实施例中,所述访问控制器还包括:一组读命令总线和一组写命令总线;所述读命令总线,被配置为将仲裁后的多个所述读命令合并,并发送至所述主控制器;所述写命令总线,被配置为将仲裁后的多个所述写命令合并,并发送至所述主控制器。
在一些实施例中,所述访问控制器,还被配置为根据合并后的所述读命令或所述写命令,对同一所述存储库的同一行进行连续地址访问。
在一些实施例中,所述主控制器包括:存储库分发模块和多个存储库接口模块;所述存储库分发模块,连接多个所述存储库接口模块,被配置为将多个所述访问命令分发至对应的所述存储库接口模块;多个所述存储库接口模块,被配置为通过多个所述硅通孔将多个所述访问命令发送至对应的多个所述存储库。
在一些实施例中,所述存储器芯片的物理地址包括:行地址、列地址和存储库地址;所述访问控制器,被配置为执行地址映射,将所述访问命令的访问地址由高位地址至低位地址,依次映射为所述行地址、所述列地址的高位、所述存储库地址和所述列地址的低位。
在一些实施例中,所述访问控制器,还被配置为根据所述地址映射进行访问连续地址时,在每4KB地址边界切换一个所述存储库。
在一些实施例中,所述访问控制器,还被配置为通过高级可扩展接口总线进行超前传输访问,在访问当前所述存储库时,开启下一个所述存储库的行地址。
在一些实施例中,所述访问控制器的信号采样方式为单沿采样。
在一些实施例中,所述逻辑芯片和所述存储器芯片通过混合键合方式进行键合。
由此可见,本公开实施例提供了一种访问控制器,访问控制器位于逻辑芯片中;访问控制器,被配置为根据逻辑芯片发送的访问命令访问存储器芯片;其中,存储器芯片堆叠在逻辑芯片上,存储器芯片和逻辑芯片通过多个硅通孔电连接;访问控制器通过多个硅通孔并行访问存储器芯片中的多个存储库。
在本公开实施例中,访问控制器通过并行访问存储器芯片中的多个存储库,可以实现高带宽、低功耗、低延迟的存储访问。这是因为,一方面,存储器芯片和逻辑芯片通过多个硅通孔电连接,使得堆叠的存储器芯片和逻辑芯片之间具有丰富的连线资源,因此,访问控制器可以通过多个硅通孔并行访问对应的多个存储库,从而提高了存储器访问带宽;另一方面,硅通孔具有较短的连线距离,可以缩短存储器芯片与逻辑芯片之间的数据通路,如此,访问控制器访问存储器芯片的访问延迟得以降低;此外,由于存储器访问的带宽不再是存储访问的瓶颈,访问控制器还可以通过降低访问时的时钟频率,降低访问功耗。
本公开的一个或多个实施例的细节在下面的附图和描述中提出。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术提供的一种存储器访问技术的示意图;
图2为相关技术提供的另一种存储器访问技术的示意图;
图3为本公开实施例提供的一种存储器的结构示意图;
图4为本公开实施例提供的一种访问控制器架构的示意图;
图5为相关技术提供的一种地址映射方式的示意图;
图6为本公开实施例提供的一种地址映射方式的示意图。
具体实施方式
下面将参照附图更详细地描述本公开公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开,而不应被这里阐述的具体实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开公开的范围完整的传达给本领域的技术人员。
在下文的描述中,给出了大量具体的细节以便提供对本公开更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本公开可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本公开发生混淆,对于本领域公知的一些技术特征未进行描述;即,这里不描述实际实施例的全部特征,不详细描述公知的功能和结构。
在附图中,为了清楚,层、区、元件的尺寸以及其相对尺寸可能被夸大。自始至终相同附图标记表示相同的元件。
应当明白,当元件或层被称为“在……上”、“与……相邻”、“连接到”或“耦合到”其它元件或层时,其可以直接地在其它元件或层上、与之相邻、连接或耦合到其它元件或层,或者可以存在居间的元件或层。相反,当元件被称为“直接在……上”、“与……直接相邻”、“直接连接到”或“直接耦合到”其它元件或层时,则不存在居间的元件或层。应当明白,尽管可使用术语第一、第二、第三等描述各种元件、部件、区、层和/或部分,这些元件、部件、区、层和/或部分不应当被这些术语限制。这些术语仅仅用来区分一个元件、部件、区、层或部分与另一个元件、部件、区、层或部分。因此,在不脱离本公开教导之下,下面讨论的第一元件、部件、区、层或部分可表示为第二元件、部件、区、层或部分。而当讨论的第二元件、部件、区、层或部分时,并不表明本公开必然存在第一元件、部件、区、层或部分。
空间关系术语例如“在……下”、“在……下面”、“下面的”、“在……之下”、“在……之上”、“上面的”等,在这里可为了方便描述而被使用从而描述图中所示的一个元件或特征与其它元件或特征的关系。应当明白,除了图中所示的取向以外,空间关系术语意图还包括使用和操作中的器件的不同取向。例如,如果附图中的器件翻转,然后,描述为“在其它元件下面”或“在其之下”或“在其下”元件或特征将取向为在其它元件或特征“上”。因此,示例性术语“在……下面”和“在……下”可包括上和下两个取向。器件可以另外地取向(旋转90度或其它取向)并且在此使用的空间描述语相应地被解释。
在此使用的术语的目的仅在于描述具体实施例并且不作为本公开的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。本文中所有数值范围均包括端点值。
相关技术中,为了获得对于高性能、高带宽内存访问需求,传统SOC芯片(SOCChip)采用DDR(DoubleData Rate,双倍数据速率)技术,通过DDRC(DDR DRAM Controller,DDR控制器)外加DDR PHY(DDR物理层接口)的方式访问片外DRAM芯片(DRAM Chip)。另外,也可以采用Chiplet(芯粒)技术,将SOC裸片(SOC Die)与DRAM裸片(DRAM Die)封装在同一个芯片中,以此来提高内存访问带宽,降低访问延迟及功耗。
附图1为传统DDR技术访问片外DRAM的示意图,如附图1所示,SOC芯片与DRAM芯片分别封装好以后,在印制电路(Printed Circuit Board,PCB)板间进行互连。并且,通过SOC芯片侧DDRC及PHY,将片内的总线访问转换成高速的串行总线方式,实现对片外DRAM芯片的访问。
采用DDR技术有如下缺点:(1)芯片管脚数量受限,所有的DRAM访问都需要通过DDR的接口进行通讯,导致DRAM访问带宽受限;(2)为了获得更大的带宽,需要很高的频率来传输数据,导致访问功耗较高;(3)芯片之间很长的片间连线及串并转换过程,都会导致数据访问延迟较高;(4)PCB板上高速数据总线会带来信号间串扰、信号完整性等一系列问题。
附图2为Chiplet技术访问DRAM的示意图,如附图2所示,Chiplet技术将SOC裸片与DRAM裸片封装在同一芯片(One Chip)中,大大缩短了SOC裸片与DRAM裸片之间的连线,进而有效缩短数据访问延时。但是,Chiplet技术并没有解决芯片管脚数量的限制,无法从根本上解决芯片对高带宽及低功耗的需求。
此外,DRAM控制器在访问DRAM时,采用不同的地址映射方式会对访问的效率造成很大影响。这与DRAM的组织结构有关。具体地,DRAM包括很多个存储库(bank),存储库之间是可以并行工作的,每个存储库有很多行(row),每行有很多列(column)。如果访问地址都被映射到了少量的几个存储库内的物理地址,则其他本来可以并行工作的存储库就没有被充分利用,会导致性能的下降。而如果对于同一个存储库的访问经常需要跨不同的行,则行与行之间的切换也会造成非常大的开销。因此,如何进行恰当的地址映射是个很重要的问题。
基于此,本公开提出了以下技术方案:
本公开实施例提供了一种访问控制器,附图3为本公开实施例提供的一种包括访问控制器的存储器结构的示意图;附图4为本公开实施例提供的一种访问控制器架构的示意图。参见附图3和附图4,本公开提供的访问控制器20(如附图4所示)位于逻辑芯片12中;访问控制器20,被配置为根据逻辑芯片12发送的访问命令访问存储器芯片11;
其中,存储器芯片11堆叠在逻辑芯片12上,存储器芯片11和逻辑芯片12通过多个硅通孔14电连接;访问控制器20通过多个硅通孔14并行访问存储器芯片11中的多个存储库。
在本公开的一些实施例中,参见附图3,逻辑芯片12和存储器芯片11通过三维异构单芯片集成(Heterogeneous Integration Technology On Chip,HITOC)技术进行堆叠。即,运用先进的混合键合(Hybrid bonding)集成电路制造工艺技术,将逻辑芯片12和存储器芯片11面对面堆叠键合,形成键合层13,并封装在同一个芯片10中,形成三维堆叠芯片。
本公开实施例中,逻辑芯片12和存储器芯片11是以裸片(Die)的形式进行堆叠集成的。
需要说明的是,附图3仅示出了一个存储器芯片11堆叠在逻辑芯片12上的情况。在一些其他实施例中,逻辑芯片12上也可以堆叠多个存储器芯片11,例如,四个存储器芯片。这里,多个存储器芯片之间也可以通过设置硅通孔实现电学连接。
本公开实施例中,参见附图3,逻辑芯片12可以是SOC芯片、专用集成电路(ASIC)芯片或现场可编程门逻辑阵列(FPGA)芯片等实现运算与逻辑判断功能的集成电路。这里,以逻辑芯片12为SOC芯片进行说明。SOC,是指由多个具有特定功能的集成电路组合在一个芯片上形成的系统。
本公开实施例中,参见附图3,存储器芯片11可以是DRAM或静态随机存取存储器(SRAM)等用于存储数据、传输数据功能的芯片。这里,以存储器芯片11为DRAM进行说明。
本公开实施例中,一个DRAM由多个bank(即多个存储库)构成,一个bank是一个二维的存储空间,可以划分为多个行,每个行包含固定个数的存储单元。DRAM的多bank的结构,使得逻辑芯片12对不同bank的访问请求能够并行执行。
本公开实施例中,参见附图3,硅通孔14(Through Silicon Via,TSV)是指在芯片中制作通孔并填充导电物质,以实现不同芯片之间的电学连接。这里,硅通孔技术是一项高密度封装技术,是通过铜、钨、多晶硅等导电物质的填充,实现硅通孔的垂直电气互连。
可以理解的是,本公开基于HITOC技术,在存储器芯片11和逻辑芯片12之间通过多个硅通孔14电连接,如此,堆叠的存储器芯片11和逻辑芯片12之间具有丰富的连线资源(即多个硅通孔14),存储器访问带宽不再受IO(输入/输出接口)数量的限制,使得访问控制器20具备了并行访问的条件,访问控制器20可以通过同时管理存储器芯片11中的多个存储库,采用并行方式访问存储器芯片11中的多个存储库,进而得到较高的存储器访问带宽。
另一方面,由于硅通孔14具有较短的连线距离,使得逻辑芯片12和存储器芯片11之间的连线降到微米(μm)级别,如此,能够缩短存储器芯片11与逻辑芯片12之间的数据访问通路,进而有效降低了访问控制器20访问存储器时的访问延迟。并且,避免了PCB板上高速数据总线带来的信号间串扰、信号完整性等问题。
此外,由于存储器访问的带宽不再是存储访问的瓶颈,不再需要通过高速的PHY来提高带宽。因此,存储器访问不再需要进行串并转换,进一步降低了访问控制器20的访问延迟。
本公开实施例中,访问控制器20(HITOC DRAM Controller,HDC),负责完成逻辑芯片12对存储器芯片11的控制操作,将访问请求转换为存储器芯片11能够识别的命令发送给存储器芯片11,实现逻辑芯片12和存储器芯片11之间的数据传输。
需要说明的是,本公开提供的访问控制器20,适用于任何使用堆叠存储的三维集成电路(Three-Dimensional Integrated Circuit,3DIC)。
本公开实施例中,访问控制器20被配置为通过外部总线31(如附图4所示)接收逻辑芯片12发送的访问命令,并通过多个硅通孔14将访问命令发送至存储器芯片11。这里,外部总线31可以是高级可扩展接口(Advanced Extensible Interface,AXI)总线,高级高性能总线(Advanced High performance Bus,AHB)或者外围总线(AdvancedPeripheral Bus,APB)等。
可以理解的是,由于存储器访问的带宽不再是存储访问的瓶颈,不再需要通过高速的PHY来提高带宽。访问控制器20还可以采用较低的时钟频率对存储器进行访问,进而降低存储器的访问功耗。
在本公开的一些实施例中,参见附图4,访问控制器20的信号采样方式为单沿采样。这里,采用单沿采样的方式进行信号采样,即在一个时钟周期内只采样一次,可以进一步降低存储器的访问功耗。
综上,本公开实施例中,访问控制器20通过并行访问存储器芯片11中的多个存储库,可以实现高带宽、低功耗、低延迟的存储访问。这是因为,一方面,存储器芯片11和逻辑芯片12通过多个硅通孔14电连接,使得堆叠的存储器芯片11和逻辑芯片12之间具有丰富的连线资源,因此,访问控制器20可以通过多个硅通孔14并行访问对应的多个存储库,从而提高了存储器访问带宽;另一方面,硅通孔14具有较短的连线距离,可以缩短存储器芯片11与逻辑芯片12之间的数据通路,如此,访问控制器20访问存储器芯片的访问延迟得以降低;此外,由于存储器访问的带宽不再是存储访问的瓶颈,访问控制器20还可以通过降低访问时的时钟频率,降低访问功耗。
在本公开的一些实施例中,参见附图4,访问控制器20包括:总线接口控制器21(Axi_slave_hdc)和主控制器22(Main_ctrl)。
总线接口控制器21,被配置为接收多个访问命令,并对多个访问命令进行仲裁;主控制器22,连接总线接口控制器21,被配置为从总线接口控制器21接收多个访问命令,并将多个访问命令分发至对应的多个存储库。
本公开实施例中,参见附图4,总线接口控制器21连接多路外部总线31。这里,外部总线31为高级可扩展接口总线。高级可扩展接口总线是一种面向高性能、高带宽、低延迟的片内总线。由于高级可扩展接口协议规定其内部的5个通道(即写响应通道、写数据通道、写地址通道、读地址通道和读数据通道)为完全独立,因此读写操作可认为是完全独立的,支持不对齐的数据传输。
本公开实施例中,参见附图4,总线接口控制器21还可以被配置为解析访问命令,将其转化成对应存储器芯片11的命令并发送至主控制器22。
本公开实施例中,参见附图4,主控制器22还可以被配置为接收来自存储器芯片11的数据,并通过总线接口控制器21将数据发送到外部总线31。
在本公开的一些实施例中,访问命令包括:读命令和写命令。具体地,读命令是用于读取存储器数据的,写命令是用于向存储器写入数据的。
本公开实施例中,写命令的各个信息是AW开头的,读命令的各个信息是AR开头的。这是因为在高级可扩展接口总线传输协议中,写命令和读命令求的信息标识是不同的。
本公开实施例中,访问命令可以来自逻辑芯片12中的各种主设备,比如CPU(中央处理器),GPU(图形处理器)或者其他主设备。
在本公开的一些实施例中,参见附图4,总线接口控制器21包括:多个接口模块211(Axi port)和仲裁模块212(Arbitration,ARB)。
多个接口模块211,被配置为接收多个访问命令,并以队列(queue)形式发送至仲裁模块212;仲裁模块212,连接多个接口模块211,被配置为对多个访问命令进行仲裁。
本公开实施例中,参见附图4,接口模块211是访问控制器20与逻辑芯片12中其他部件(如CPU、协处理器等主设备)的连接接口。这里,可以根据不同的外部总线协议,设置相应的接口模块211。
本公开实施例中,参见附图4,每个接口模块211分别与一条外部总线31连接,每个接口模块211从外部总线31接收多个访问命令后,将多个访问命令以队列形式发送。例如,第一接口模块Axi port0将接收的多个读命令以队列形成发送,即ARP0 Q;第一接口模块Axi port0将接收的多个写命令以队列形成发送,即AWP0Q。
可以理解的是,多个访问命令通过队列的形式发送,可以在后续步骤中能够更方便地实现对访问命令的各种操作。
本公开实施例中,参见附图4,仲裁模块212可以根据内存仲裁技术对接收到的多个访问命令进行仲裁,输出仲裁结果。
内存仲裁,是指多个接口模块211同时请求对同一存储器进行访问时,通过仲裁后再决定由哪个接口模块获得对该存储器的访问控制权。
在本公开的一些实施例中,参见附图4,仲裁模块212包括:读仲裁子模块2121(ARARB)和写仲裁子模块2122(AW ARB)。
读仲裁子模块2121,被配置为对多个读命令进行仲裁,确定多个读命令的访问顺序;写仲裁子模块2122,被配置为对多个写命令进行仲裁,确定多个写命令的访问顺序。
本公开实施例中,参见附图4,读仲裁子模块2121与多个接口模块211连接,写仲裁子模块2122同样与多个接口模块211连接。
本公开实施例中,访问控制器20收到访问命令时,可以根据访问命令的信息标识确定收到的访问命令是写命令还是读命令,从而将写命令和读命令分别发送至写仲裁子模块2122和读仲裁子模块2121进行仲裁。
在本公开的一些实施例中,参见附图4,访问控制器20还包括:一组读命令总线和一组写命令总线。
读命令总线(axi_rd_token),被配置为将仲裁后的多个读命令合并,并发送至主控制器22;写命令总线(axi_wr_token),被配置为将仲裁后的多个写命令合并,并发送至主控制器22。
可以理解的是,由于外部总线31发送的命令的数量要比数据小很多,多个读命令或写命令经过仲裁后,合并通过一组读命令总线或一组写命令总线发送至下一级主控制器22。如此,可以在不影响性能的情况下,大大简化多个接口模块211到不同存储库的命令发送的设计复杂度。
本公开实施例中,访问控制器20还包括:数据传输总线(DATA_local_bus),连接总线接口控制器21和主控制器22,作为独立的数据通道,进行逻辑芯片12和存储器芯片11之间的数据传输。
在本公开的一些实施例中,参见附图4,访问控制器20,还被配置为根据合并后的读命令或写命令,对同一存储库的同一行进行连续地址访问。
需要说明的是,存储器的访问分为三个步骤:第一步打开某一存储库(bank)中的某一行(row),第二步是进行数据读或者写,第三步是关闭打开的存储库中的行。上述三个步骤中两两之间存在最小时间间隔的要求,这些要求对存储器的访问带来了限制,而存储器的控制器的设计,就是尽量让这些时序限制的影响最小,以达到最大的存储器访问效率。
可以理解的,访问控制器20通过命令合并,可以实现同一存储库的同一行进行连续地址访问,进而有效提高存储器访问的读写效率。这是因为行命中时,不需要重复上述存储器访问三个步骤中的第一步和第三步,即对一个已经打开的行,可以进行连续访问。
在本公开的一些实施例中,参见附图4,主控制器22包括:存储库分发模块221(Bank distrib)和多个存储库接口模块222(Bank_mang)。
存储库分发模块221,连接多个存储库接口模块222,被配置为将多个访问命令分发至对应的存储库接口模块222;多个存储库接口模块222,被配置为通过多个硅通孔14将多个访问命令发送至对应的多个存储库。
本公开实施例中,参见附图4,存储库接口模块222是访问控制器20与外部存储器芯片11连接的接口,用于访问控制器20与存储器芯片11之间的数据交互。
附图5为相关技术提供的一种BRC地址映射方式的示意图。
BRC(Bank-Row-Column)地址映射是将访问命令的访问地址位置由高位地址至低位地址,依次映射为存储器芯片的存储库地址,每个存储库的行地址,以及每行中的列地址。
参见附图5,地址映射表中首行的0~39为访问命令的访问地址,首列的unit[0]~bank[2]为存储器芯片的物理地址。具体地,当访问控制器20采用BRC地址映射方式进行地址映射时,bank[0]=Addr[25],row[11:0]=Addr[24:13],col[6:0]=Addr[12:6]。其中,addr代表访问地址,bank代表存储库地址,row代表行地址,col代表列地址。即,访问地址的第25位映射为存储库地址,访问地址的第24~13位映射为行地址,访问地址的第12~6位映射为列地址。
在采用BRC地址映射方式的情况下,存储库地址对应访问地址高位,使得连续访问都落在了同一个存储库里,存储库之间的并行性没有得到利用,会导致性能降低。并且,每次访问一直在同一个存储库的不同行之间来回切换,行与行之间的切换也导致很大的额外开销。
因此,为了提高访问效率,本公开将地址映射方式进行优化。根据需求将列地址拆分为高位和低位,并将存储库地址移到列地址的高位和低位之间,即RCBC(Row-Column-Bank-Column)地址映射。
附图6为本公开实施例提供的一种RCBC地址映射方式。
在本公开的一些实施例中,存储器芯片11的物理地址至少包括:行地址、列地址和存储库地址。
访问控制器20,被配置为执行地址映射,将访问命令的访问地址由高位地址至低位地址,依次映射为行地址、列地址的高位、存储库地址和列地址的低位。
需要说明的是,地址映射操作用于将从逻辑芯片12接收的逻辑地址转换为存储器芯片11的物理地址。访问控制器可能支持其他的映射方式,每种不同的配置都可能使访问效率产生明显的变化。例如,RBC(ROW-Bank-Column)地址映射。
本公开实施例中,参见附图6,当访问控制器20采用RCBC地址映射方式进行地址映射时,Row[11:0]=Addr[25:14],Col[6]=Addr[13],bank[0]=Addr[12],Col[5:0]=Addr[11:6]。即,访问地址的第25~14位映射为待访问存储器芯片的行地址,访问地址的第13位映射为列地址的最高位,访问地址的第12位映射为存储库地址,访问地址的第11~6位映射为列地址的低位。
可以理解的是,按照图6的地址映射关系作为初始的地址映射关系,由于存储库地址分散在列地址的高位和低位之间,在地址映射过程中,一定程度上可以让连续的地址访问尽可能去访问不同的存储库,可解决地址映射关系被优化之前的地址映射问题。由于每次访问分散在不同的存储库里,存储库的并行度得到了充分利用;而映射到同一个存储库里的地址,在行地址映射为访问地址的高位的情况下,它们访问的行地址也均为同一行,这样就也省去了行与行之间切换的开销。
在本公开的一些实施例中,访问控制器20,还被配置为根据地址映射进行访问连续地址时,在每4KB地址边界切换一个存储库。
本公开实施例中,连续访问一个存储库的地址数据为2x,其中,x为存储库对应的访问地址。具体地,参见附图6,bank[0]对应的访问地址为Addr[12],即连续访问一个存储库的地址数据为:212Byte=4K Byte。因此,在RCBC地址映射模式中,连续访问每4K Byte切换一个存储库。
而在附图5所示的BRC地址映射模式中,其bank[0]对应的访问地址为Addr [25]。即连续访问一个存储库的地址数据为:225Byte=32M Byte。所以,在BRC地址映射模式中,连续访问32M Byte的地址数据,切换一个存储库。
可以理解的是,通过优化访问控制器的地址映射方式,连续的地址在每4K Byte边界切换一个存储库,相比相关技术的地址映射方式,提高了每次访问分散在不同的存储库的概率。
在本公开的一些实施例中,访问控制器20,还被配置为通过高级可扩展接口总线(AXI)进行超前传输(outstangding)访问,在访问当前存储库时,开启下一个存储库的行地址。
需要说明的是,超前访问传输是指,主设备在当前传输事务完成前,就可以开始下一个传输事务。因此系统中可能存在多个进行中的传输事务。假设多个事务能够被从设备并行处理,即可提高系统的性能。
本公开实施例中,当访问控制器20执行访问当前存储库的访问命令时,还可以接收逻辑芯片12对下一存储库进行访问所发送的访问命令。
可以理解的是,利用高级可扩展接口总线的超前传输访问,结合RCBC地址映射方式,在访问前4K Byte的数据时,开启下一个存储库的行地址,为下一次访问做准备,进而提高了访问效率。
综上所述,本公开实施例中,访问控制器基于HITOC技术,即逻辑芯片和存储器芯片通过多个硅通孔电连接,可以实现多路高级可扩展接口总线到存储器芯片的高带宽、低功耗、低延迟和高效率的访问。如此,解决了内存存取瓶颈(内存墙)问题,大大提升了芯片系统的整体性能。
需要说明的是,本公开实施例提供的访问控制器可应用于其他半导体器件中,在此不做过多限定。本公开提供的访问控制器的各实施例所记载的技术方案中各技术特征之间,在不冲突的情况下,可以任意组合。
以上,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围,凡在本公开的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的保护范围之内。

Claims (11)

1.一种访问控制器,其特征在于,包括:
所述访问控制器位于逻辑芯片中;所述访问控制器,被配置为根据所述逻辑芯片发送的访问命令访问存储器芯片;
其中,所述存储器芯片堆叠在所述逻辑芯片上,所述存储器芯片和所述逻辑芯片通过多个硅通孔电连接;所述访问控制器通过多个所述硅通孔并行访问所述存储器芯片中的多个存储库;
所述访问控制器包括读命令总线或写命令总线中的至少一个,所述读命令总线或所述写命令总线被配置为将仲裁后的多个所述访问命令合并;
所述访问控制器,还被配置为根据合并后的所述访问命令,对同一所述存储库的同一行进行连续地址访问。
2.根据权利要求1所述的访问控制器,其特征在于,所述访问控制器包括:总线接口控制器和主控制器;
所述总线接口控制器,被配置为接收多个所述访问命令,并对多个所述访问命令进行仲裁;
所述主控制器,连接所述总线接口控制器,被配置为从所述总线接口控制器接收多个所述访问命令,并将多个所述访问命令分发至对应的多个所述存储库。
3.根据权利要求2所述的访问控制器,其特征在于,
所述总线接口控制器包括:多个接口模块和仲裁模块;
多个所述接口模块,被配置为接收多个所述访问命令,并以队列形式发送至所述仲裁模块;
所述仲裁模块,连接多个所述接口模块,被配置为对多个所述访问命令进行仲裁。
4.根据权利要求3所述的访问控制器,其特征在于,
所述访问命令包括:读命令和写命令;
所述仲裁模块包括:读仲裁子模块和写仲裁子模块;
所述读仲裁子模块,被配置为对多个所述读命令进行仲裁,确定多个所述读命令的访问顺序;
所述写仲裁子模块,被配置为对多个所述写命令进行仲裁,确定多个所述写命令的访问顺序。
5.根据权利要求4所述的访问控制器,其特征在于,
所述读命令总线,被配置为将仲裁后的多个所述读命令合并,并发送至所述主控制器;
所述写命令总线,被配置为将仲裁后的多个所述写命令合并,并发送至所述主控制器。
6.根据权利要求2所述的访问控制器,其特征在于,所述主控制器包括:存储库分发模块和多个存储库接口模块;
所述存储库分发模块,连接多个所述存储库接口模块,被配置为将多个所述访问命令分发至对应的所述存储库接口模块;
多个所述存储库接口模块,被配置为通过多个所述硅通孔将多个所述访问命令发送至对应的多个所述存储库。
7.根据权利要求2所述的访问控制器,其特征在于,
所述存储器芯片的物理地址包括:行地址、列地址和存储库地址;
所述访问控制器,被配置为执行地址映射,将所述访问命令的访问地址由高位地址至低位地址,依次映射为所述行地址、所述列地址的高位、所述存储库地址和所述列地址的低位。
8.根据权利要求7所述的访问控制器,其特征在于,
所述访问控制器,还被配置为根据所述地址映射进行访问连续地址时,在每4KB地址边界切换一个所述存储库。
9.根据权利要求1所述的访问控制器,其特征在于,
所述访问控制器,还被配置为通过高级可扩展接口总线进行超前传输访问,在访问当前所述存储库时,开启下一个所述存储库的行地址。
10.根据权利要求1所述的访问控制器,其特征在于,
所述访问控制器的信号采样方式为单沿采样。
11.根据权利要求1所述的访问控制器,其特征在于,
所述逻辑芯片和所述存储器芯片通过混合键合方式进行键合。
CN202311013668.5A 2023-08-11 2023-08-11 一种访问控制器 Active CN116737617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311013668.5A CN116737617B (zh) 2023-08-11 2023-08-11 一种访问控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311013668.5A CN116737617B (zh) 2023-08-11 2023-08-11 一种访问控制器

Publications (2)

Publication Number Publication Date
CN116737617A true CN116737617A (zh) 2023-09-12
CN116737617B CN116737617B (zh) 2023-12-29

Family

ID=87909981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311013668.5A Active CN116737617B (zh) 2023-08-11 2023-08-11 一种访问控制器

Country Status (1)

Country Link
CN (1) CN116737617B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117809702A (zh) * 2024-02-29 2024-04-02 西安紫光国芯半导体股份有限公司 一种三维堆叠结构及控制方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102414671A (zh) * 2009-04-29 2012-04-11 超威半导体公司 对于不同源的分级内存仲裁技术
US20140181428A1 (en) * 2012-12-23 2014-06-26 Advanced Micro Devices, Inc. Quality of service support using stacked memory device with logic die
US8947931B1 (en) * 2014-06-13 2015-02-03 Sandisk Technologies Inc. Memory module
CN105027211A (zh) * 2013-01-31 2015-11-04 惠普发展公司,有限责任合伙企业 自适应粒度行缓冲器高速缓存
CN113138956A (zh) * 2020-01-16 2021-07-20 三星电子株式会社 包括地址映射表的存储器控制器、片上系统和电子设备
CN113360428A (zh) * 2013-05-16 2021-09-07 超威半导体公司 具有指定区域存储器访问调度的存储器系统
CN114036086A (zh) * 2021-10-14 2022-02-11 西安紫光国芯半导体有限公司 基于三维异质集成的串行接口存储芯片
KR20220102540A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 호스트 메모리 버퍼를 이용하는 프로세서 및 이를 포함하는 스토리지 시스템
US20220392519A1 (en) * 2022-08-19 2022-12-08 Intel Corporation Full duplex dram for tightly coupled compute die and memory die

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102414671A (zh) * 2009-04-29 2012-04-11 超威半导体公司 对于不同源的分级内存仲裁技术
US20140181428A1 (en) * 2012-12-23 2014-06-26 Advanced Micro Devices, Inc. Quality of service support using stacked memory device with logic die
CN105027211A (zh) * 2013-01-31 2015-11-04 惠普发展公司,有限责任合伙企业 自适应粒度行缓冲器高速缓存
CN113360428A (zh) * 2013-05-16 2021-09-07 超威半导体公司 具有指定区域存储器访问调度的存储器系统
US8947931B1 (en) * 2014-06-13 2015-02-03 Sandisk Technologies Inc. Memory module
CN113138956A (zh) * 2020-01-16 2021-07-20 三星电子株式会社 包括地址映射表的存储器控制器、片上系统和电子设备
KR20220102540A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 호스트 메모리 버퍼를 이용하는 프로세서 및 이를 포함하는 스토리지 시스템
CN114036086A (zh) * 2021-10-14 2022-02-11 西安紫光国芯半导体有限公司 基于三维异质集成的串行接口存储芯片
US20220392519A1 (en) * 2022-08-19 2022-12-08 Intel Corporation Full duplex dram for tightly coupled compute die and memory die

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117809702A (zh) * 2024-02-29 2024-04-02 西安紫光国芯半导体股份有限公司 一种三维堆叠结构及控制方法
CN117809702B (zh) * 2024-02-29 2024-05-28 西安紫光国芯半导体股份有限公司 一种三维堆叠结构及控制方法

Also Published As

Publication number Publication date
CN116737617B (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
US11043258B2 (en) Memory system topologies including a memory die stack
KR101429869B1 (ko) 메모리 회로 시스템 및 방법
TW201926612A (zh) 具有一控制器及一記憶體堆疊之彈性記憶體系統
US11474950B2 (en) Memory controller including plurality of address mapping tables, system on chip, and electronic device
CN116737617B (zh) 一种访问控制器
JP7349812B2 (ja) メモリシステム
WO2023030053A1 (zh) 一种llc芯片、缓存系统以及llc芯片的读写方法
US11507301B2 (en) Memory module implementing memory centric architecture
US20220068854A1 (en) Transmission circuit, interface circuit, and memory
JP5650984B2 (ja) 半導体装置
CN216119560U (zh) 一种llc芯片及缓存系统
WO2023274032A1 (zh) 存储访问电路、集成芯片、电子设备及存储访问方法
CN114036086B (zh) 基于三维异质集成的串行接口存储芯片
Coughlin et al. Higher performance and capacity with OMI near memory
CN114610665A (zh) 存储器扩展卡
US11928039B1 (en) Data-transfer test mode
Daneshtalab et al. Memory-efficient logic layer communication platform for 3D-stacked memory-on-processor architectures
WO2022056757A1 (en) Three-dimensional stacked processing systems
US20240079036A1 (en) Standalone Mode
WO2024001962A1 (zh) 存储器、芯片堆叠结构、芯片封装结构及电子设备
US20230013181A1 (en) Method to implement half width modes in dram and doubling of bank resources
US20230044892A1 (en) Multi-channel memory module
WO2023249826A1 (en) Channel routing for simultaneous switching outputs
Computing Tera-scale Computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant