CN109086228B - 具有多个独立访问通道的高速存储器芯片 - Google Patents
具有多个独立访问通道的高速存储器芯片 Download PDFInfo
- Publication number
- CN109086228B CN109086228B CN201810671991.4A CN201810671991A CN109086228B CN 109086228 B CN109086228 B CN 109086228B CN 201810671991 A CN201810671991 A CN 201810671991A CN 109086228 B CN109086228 B CN 109086228B
- Authority
- CN
- China
- Prior art keywords
- chip
- memory
- access
- request
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/378—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Dram (AREA)
Abstract
本发明涉及计算机系统结构与集成电路设计领域,公开了一种具有多个独立访问通道的高速存储器芯片,包括片上存储器及若干个高速串行访问通道,还包括片上互连网络模块,所述片上存储器包括若干个可并行访问的存储子块,所述存储子块和所述高速串行访问通道之间通过所述片上互连网络模块互连,所述片上互连网络模块的实现方式包括单总线、多总线、环形网络、二维网格或交叉开关。本发明具有多个独立访问通道的高速存储器芯片,带宽扩展性好,实现了多个主控芯片对存储器芯片的共享并行访问及多个主控芯片之间的数据共享和交换,且存储和处理一体化,降低了系统的总存储成本和存储器芯片的设计制造成本。
Description
技术领域
本发明涉及计算机系统结构与集成电路设计领域,具体涉及一种具有多个独立访问通道的高速存储器芯片。
背景技术
在计算机系统中,存储子系统处于非常重要的地位,对于系统整体性能具有非常重要的作用,尤其是对于那些访存密集型的算法而言,访存带宽与延迟是决定算法性能的关键因素。从技术发展现状来看,存储性能的提升远远滞后于计算性能的提升。
业界从多种不同的技术途径来发展新型存储技术,比如DDR4/DDR5、GDDR5、HMC(Hybrid Memory Cube)、HBM(High Bandwidth Memory)等。虽然各种新型存储技术能够提高越来越高的访存带宽,但是依然存在两个方面的不足。一是这些存储技术的带宽提高受限,它们采用多位并行的接口总线,进一步提高带宽的主要方式是采用更宽的接口总线或者提高接口速率,但是多位并行绑定传输对于信号完整性要求较高,更宽更高速率的接口实现难度越来越大。二是新型存储技术的实现成本较高,如先进的HBM技术的工程费用就高达上千万美元。三是上述各种新型存储技术本身不具有共享使用模式,或者共享的粒度很低,比如DDR4/DDR5、GDDR5、以及HBM存储介质都只能被与之直接相连的主控芯片访问,不能实现多个主控芯片的直接共享访问;HMC虽然能够支持连接多个主控芯片,但是不支持超过4个以上的主控芯片共享使用。上述各种新型存储技术的弱共享使用特性一定程度上更加使得采用新型存储的成本更高。
随着集成电路工艺水平的进步,处理器的性能越来越高,需要低延迟、高带宽存储器及时提供数据进行处理。大数据与人工智能应用的快速发展,数据的处理量越来越大,对存储器带宽的需要增长也越来越快,可以说存储器的性能制约了处理器的性能发挥和信息系统的处理能力。存储器带宽的现实需求和实际供给之间的矛盾越来越突出。另外,受限于存储供应商产能,存储器处于供需不平衡状态,推高了存储的售价,使得存储在系统中的成本占比越来越高,上述各种新型存储的成本更是居高不下,也严重制约了新型存储技术和存储器芯片产品的大规模应用。
发明内容
本发明的目的就是针对上述技术的不足,提供一种具有多个独立访问通道的高速存储器芯片,带宽扩展性好,实现了多个主控芯片对存储器芯片的共享并行访问及多个主控芯片之间的数据共享和交换,且存储和处理一体化,降低了系统的总存储成本和存储器芯片的设计制造成本。
为实现上述目的,本发明所设计的具有多个独立访问通道的高速存储器芯片,包括片上存储器及若干个高速串行访问通道,还包括片上互连网络模块,所述片上存储器包括若干个可并行访问的存储子块,所述存储子块和所述高速串行访问通道之间通过所述片上互连网络模块互连,所述片上互连网络模块的实现方式包括单总线、多总线、环形网络、二维网格或交叉开关。
优选地,所述存储子块与所述高速串行访问通道数量相等,所述高速串行访问通道与所述存储子块一一对应紧耦合连接,所述存储子块通过所述片上互连网络模块互连。
优选地,所述存储子块包括存储体,所述存储体与存储体BIST逻辑模块和通道访问控制逻辑模块相连,所述通道访问控制逻辑模块分别通过RX模块和TX模块与所述高速串行访问通道通信,所述通道访问控制逻辑模块通过片上互连网络接口逻辑模块与所述片上互连网络模块互连,其中,所述RX模块解析来自所述高速串行访问通道的串行数据流,将其转换为有效的读请求和写请求,并转发给所述通道访问控制逻辑模块,所述TX模块处理来自所述通道访问控制逻辑模块转发的响应报文或者请求报文,并将报文转换为所述高速串行访问通道上的数据流,所述通道访问控制逻辑模块接收到来自所述RX模块的访存读写请求报文之后,判断访存地址是否属于所述通道访问控制逻辑模块所在的存储子块,如果属于所述通道访问控制逻辑模块所在的存储子块,则直接读写与所述通道访问控制逻辑模块直连的存储体,所述存储体返回读数据或者写响应之后所述通道访问控制逻辑模块将结果打包成响应报文,并发送至所述TX模块;如果不属于所述通道访问控制逻辑模块所在的存储子块,则将该访存读写请求转发至所述片上互连网络接口逻辑模块,所述通道访问控制逻辑模块同时也需要接收所述片上互连网络接口逻辑模块转发的来自其它高速串行访问通道的访存读写请求,在处理完访存读写请求之后再将响应返还至所述片上互连网络接口逻辑模块。
优选地,所述高速串行访问通道与所述存储子块松耦合,所述存储子块均与所述片上互连网络模块连通,所述高速串行访问通道均通过访问通道模块与所述片上互连网络模块连通。
优选地,所述访问通道模块包括通道访问控制逻辑模块,所述通道访问控制逻辑模块分别通过RX模块和TX模块与所述高速串行访问通道通信,所述通道访问控制逻辑模块通过片上互连网络接口逻辑模块与所述片上互连网络模块互连,其中,所述RX模块解析来自所述高速串行访问通道的串行数据流,将其转换为有效的读请求和写请求,并转发给所述通道访问控制逻辑模块,所述TX模块处理来自所述通道访问控制逻辑模块转发的响应报文或者请求报文,并将报文转换为所述高速串行访问通道上的数据流,所述通道访问控制逻辑模块接收到来自所述RX模块的访存读写请求报文之后,将该访存读写请求转发至所述片上互连网络接口逻辑模块,并通过所述片上互连网络接口逻辑模块接收所述片上互连网络模块发来的响应报文或者请求报文。
优选地,所述存储子块包括存储体,所述存储体上连有存储体BIST逻辑模块和存储体控制逻辑模块,所述存储体控制逻辑模块通过片上互连网络接口逻辑模块与所述片上互连网络模块互连。
优选地,所述片上互连网络模块为8n端口高阶交叉开关,n为自然数,由第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关、第四4n端口交叉开关、第五4n端口交叉开关和第六4n端口交叉开关级联而成,其中所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中2n个端口均与所述高速串行访问通道及存储子块连接,所述第五4n端口交叉开关和第六4n端口交叉开关与所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关交换级联,所述第五4n端口交叉开关分别与所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中2n个端口互连,所述第六4n端口交叉开关分别与所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的另外2n个端口互连,所述端口均为双向端口。
优选地,所述主控芯片通过所述高速串行访问通道与高速存储器芯片相连,所述主控芯片与所述高速存储器芯片之间的数据传输转换为报文格式,对于读请求报文,包括2比特命令标识码“11”、请求TID、请求地址ADDR以及请求访问长度LEN,其中所述请求TID用于区分不同的访存请求,每个所述读请求报文有一个唯一且独立的请求TID,所述请求TID为三元组{CHIPID、CHANNELID、SEQNUM},其中CHIPID为高速存储器芯片的ID号,CHANNELID为收到请求的高速串行访问访问通道ID号,SEQNUM为请求序列号,CHIPID的位宽取决于系统中高速存储器芯片的个数,CHANNELID取决于单个高速存储芯片的高速串行访问通道数量,SEQNUM是一个由所述主控芯片维护的循环计数器,其位宽取决于高速存储芯片所能接收的最大请求数,请求地址ADDR为请求的起始地址,按字节编址,请求地址ADDR的位宽取决于系统中高速存储器芯片的总容量,请求访问长度LEN为本次请求的访存长度,以字节为单位,请求访问长度LEN至少大于或等于1,对于写请求报文和读响应报文,所述写请求报文和读响应报文均包括头微包和多个数据微包,头微包包括2比特命令标识码“10”、请求TID、请求地址ADDR以及请求访问长度LEN,所述数据微包的宽度与头微包的宽度一致,最后一个所述数据微包即尾微包的命令标识码为“01”,除头微包和尾微包之外的中间数据微包的命令标识码为“00”,所述数据微包的个数取决于需要写入的数据长度,所述读请求报文、写请求报文和读响应报文编码只涉及与访存操作相关的有效信息,不包含访存请求与响应报文在高速串行访问通道上传输所必须的额外编码信息。
优选地,所述高速存储器芯片采用串联方式进行扩展,每颗高速存储器芯片通过xs(xs为大于等于1的整数)个高速串行访问通道与相邻的高速存储器芯片相连,在m(m为大于1的整数)颗高速存储器芯片串联的情况下,m颗高速存储器芯片可提供给主控芯片的高速串行访问通道总数为:2*(ne-xs)+(m-2)(ne-2*xs),其中ne为单颗高速存储器芯片的高速串行访问通道总数。
优选地,所述高速存储器芯片采用二维矩阵方式级联,q行p列共q*p颗高速存储器芯片以二维矩阵方式级联,q和p均为大于1的整数,每一行的相邻高速存储器芯片之间通过xh(xh为大于等于1的整数)个高速串行访问通道相连,每一列的相邻高速存储器芯片之间通过xv(xv为大于等于1的整数)个高速串行访问通道相连,q*p颗高速存储器芯片可提供给主控芯片的高速串行访问通道总数为2p*xv+2q*xh。
本发明与现有技术相比,具有以下优点:
1、由于本发明采用独立的高速串行访问通道作为独立的存储器访问通道,不采用传统的多位并行同步传输机制,存储器的带宽由高速串行访问通道的带宽和高速串行访问通道数决定,可以根据应用需要灵活扩展实现不同通道数、选择具有不同数据传输带宽的高速串行访问通道,实现存储器芯片总带宽的大幅提升,带宽扩展性好,如64个高速串行访问通道,每个通道数据传输率为100Gbps的单个存储器的总等效带宽就可高达6400Gbps;
2、本发明中的存储体个数也可根据应用的特点和需要进行扩展设计,以适应不同应用的存储容量需求、访存带宽需求、以及功耗需求等;
3、本发明具有多个独立访问通道的高速存储器芯片可以被多个主控芯片共享,在满足带宽需求的前提下降低成本,既可以连接到单一主控芯片,也可以通过独立的高速串行访问通道连接到多个主控芯片,实现多个主控芯片对存储器芯片的共享并行访问,且实现了多个主控芯片之间的数据共享和数据交换,使系统的总存储成本下降;
4、本发明具有多个独立访问通道的高速存储器芯片内部可以集成应用需要的数据处理逻辑,实现存储和处理一体化;
5、本发明具有多个独立访问通道的高速存储器芯片可通过高速串行访问通道级联,级联的拓扑结构可以根据实际需要进行灵活配置,以实现系统总存储容量的灵活扩展;
6、本发明具有多个独立访问通道的高速存储器芯片实现成本低,采用成熟的高速串行通信技术实现,易于大幅降低超高带宽存储器芯片的设计制造成本。
附图说明
图1为本发明具有多个独立访问通道的高速存储器芯片高速串行访问通道与存储子块紧耦合的结构示意图;
图2为图1中存储子块的结构示意图;
图3为本发明具有多个独立访问通道的高速存储器芯片高速串行访问通道与存储子块松耦合的结构示意图;
图4为图3中访问通道模块的结构示意图;
图5为图3中存储子块的结构示意图;
图6为图1中本发明具有多个独立访问通道的高速存储器芯片中片上互连网络模块的结构示意图;
图7为本发明具有多个独立访问通道的高速存储器芯片的读写请求与响应报文编码格式;
图8为本发明具有多个独立访问通道的高速存储器芯片共享使用模式示意图;
图9为本发明具有多个独立访问通道的高速存储器芯片串联扩展示意图;
图10为本发明具有多个独立访问通道的高速存储器芯片矩阵扩展示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。
实施例一
如图1所示,一种具有多个独立访问通道的高速存储器芯片,包括片上存储器及若干个高速串行访问通道,高速串行访问通道分别标记为3.1、3.2、3.3、……、3.na,na为自然数,还包括片上互连网络模块2,片上存储器包括若干个可并行访问的存储子块,存储子块分别标记为1.1、1.2、1.3、……、3.na,存储子块与高速串行访问通道数量相等,高速串行访问通道与存储子块一一对应紧耦合,每个高速串行访问通道与一个存储子块相连,na个存储子块通过片上互连网络模块2互连,此处高速串行访问通道由单个Serdes Lane构成,从存储器芯片角度来看,该通道接收和发送两个方向,与Serdes Lane中的Receiver和Transmitter相对应,本实施例并不限定高速串行访问通道的物理实现方式,也不限定高速串行访问通道的速率,但为提高存储芯片的访问带宽,高速串行访问通道的速率越高越好,如14Gbps、28Gbps、56Gbps或112Gbps等,存储器芯片的总容量为na个存储子块的容量总和。
如图2所示,存储子块包括存储体,存储体可以统一编址,也可以独立编址,存储体上与存储体BIST逻辑模块和通道访问控制逻辑模块相连,存储体为存储单元阵列,本实施例中采用SRAM来实现,在其它实施例中还可以采用SRAM TSV层叠方式或者eDRAM、MRAM、RRAM、PCRAM等类型的该存储器的存储单元阵列,存储体BIST逻辑模块负责对存储体进行自动测试,存储体BIST逻辑模块属于通用功能模块。通道访问控制逻辑模块分别通过RX模块和TX模块与高速串行访问通道通信,通道访问控制逻辑模块通过片上互连网络接口逻辑模块与片上互连网络模块2互连,其中,RX模块与高速串行访问通道通信的Receiver相连,解析来自高速串行访问通道的串行数据流,将其转换为有效的读请求和写请求,并转发给通道访问控制逻辑模块,TX模块处理来自通道访问控制逻辑模块转发的响应报文或者请求报文,并将报文转换为高速串行访问通道上的数据流,通道访问控制逻辑模块接收到来自RX模块的访存读写请求报文之后,判断访存地址是否属于通道访问控制逻辑模块所在的存储子块,如果属于通道访问控制逻辑模块所在的存储子块,则直接读写与通道访问控制逻辑模块直连的存储体,存储体返回读数据或写响应之后通道访问控制逻辑模块将结果打包成响应报文,并发送至TX模块;如果不属于通道访问控制逻辑模块所在的存储子块,则将该访存读写请求转发至片上互连网络接口逻辑模块,通道访问控制逻辑模块同时也需要接收片上互连网络接口逻辑模块转发的来自其它高速串行访问通道的访存读写请求,在处理完访存读写请求之后再将响应返还至片上互连网络接口逻辑模块。
如图6所示,本实施例中,片上互连网络模块为8n端口高阶交叉开关,由第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关、第四4n端口交叉开关、第五4n端口交叉开关和第六4n端口交叉开关级联而成,其中第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中2n个端口均与存储子块1连接,第五4n端口交叉开关和第六4n端口交叉开关与第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关交换级联,第五4n端口交叉开关分别与第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中3n个端口互连,第六4n端口交叉开关分别与第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的另外2n个端口互连,端口均为双向端口,既可以转发访存请求,也可以转发响应。
实施例二
如图3所示,一种具有多个独立访问通道的高速存储器芯片,包括片上存储器及若干个高速串行访问通道,还包括片上互连网络模块2,片上存储器包括若干个可并行访问的存储子块,存储子块分别标记为1.1、1.2、1.3、……、1.nb,高速串行访问通道与存储子块松耦合,高速串行访问通道通过访问通道模块与片上互连网络模块2连通,访问通道模块分别标记为4.1、4.2、4.3、……、4.nc,存储子块均与片上互连网络模块2连通。
如图4所示,访问通道模块包括通道访问控制逻辑模块,通道访问控制逻辑模块分别通过RX模块和TX模块与高速串行访问通道通信,通道访问控制逻辑模块通过片上互连网络接口逻辑模块与片上互连网络模块2互连,其中,RX模块解析来自高速串行访问通道的串行数据流,将其转换为有效的读请求和写请求,并转发给通道访问控制逻辑模块,TX模块处理来自通道访问控制逻辑模块转发的响应报文或者请求报文,并将报文转换为高速串行访问通道上的数据流,通道访问控制逻辑模块接收到来自RX模块的访存读写请求报文之后,将该访存读写请求转发至片上互连网络接口逻辑模块,并通过片上互连网络接口逻辑模块接收片上互连网络模块2发来的响应报文或者请求报文。
另外,如图5所示,存储子块包括存储体,存储体可以统一编址,也可以独立编址,存储体上与存储体BIST逻辑模块和存储体控制逻辑模块相连,存储体控制逻辑模块通过片上互连网络接口逻辑模块与片上互连网络模块2互连,存储子块包括存储体,存储体上连有存储体BIST逻辑模块和存储体控制逻辑模块,存储体控制逻辑模块通过片上互连网络接口逻辑模块与片上互连网络模块互连,存储体BIST逻辑模块负责对存储体进行自动测试,存储体BIST逻辑模块属于通用功能模块,存储体控制逻辑模块负责读写存储体。
如图6所示,本实施例中,片上互连网络模块为8n端口高阶交叉开关,端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关、第四4n端口交叉开关、第五4n端口交叉开关和第六4n端口交叉开关级联而成,其中第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中2n个端口均与存储子块1或访问通道4连接,第五4n端口交叉开关和第六4n端口交叉开关与第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关交换级联,第五4n端口交叉开关分别与第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中2n个端口互连,第六4n端口交叉开关分别与第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的另外2n个端口互连,端口均为双向端口,既可以转发访存请求,也可以转发响应。
另外,主控芯片通过高速串行访问通道与本发明所提出的高速存储器芯片相连,主控芯片与高速存储器芯片之间的数据传输转换为如附图7所示的报文格式,对于读请求报文,包括2比特命令标识码“11”、请求TID、请求地址ADDR以及请求访问长度LEN,其中请求TID用于区分不同的访存请求,每个读请求报文有一个唯一且独立的请求TID,请求TID为三元组{CHIPID、CHANNELID、SEQNUM},其中CHIPID为高速存储器芯片的ID号,CHANNELID为收到请求的高速串行访问访问通道ID号,SEQNUM为请求序列号,CHIPID的位宽取决于系统中高速存储器芯片的个数,CHANNELID取决于单个高速存储芯片的高速串行访问通道数量,SEQNUM是一个由主控芯片维护的循环计数器,其位宽取决于高速存储芯片所能接收的最大请求数,请求地址ADDR为请求的起始地址,按字节编址,请求地址ADDR的位宽取决于系统中高速存储器芯片的总容量,请求访问长度LEN为本次请求的访存长度,以字节为单位,请求访问长度LEN至少大于或等于1,对于写请求报文和读响应报文,写请求报文和读响应报文均包括头微包和多个数据微包,头微包包括2比特命令标识码“10”、请求TID、请求地址ADDR以及请求访问长度LEN,数据微包的宽度与头微包的宽度一致,最后一个数据微包即尾微包的命令标识码为“01”,除头微包和尾微包之外的中间数据微包的命令标识码为“00”,数据微包的个数取决于需要写入的数据长度,读请求报文、写请求报文和读响应报文编码只涉及与访存操作相关的有效信息,不包含访存请求与响应报文在高速串行访问通道上传输所必须的额外编码信息,比如64/66或128/130编码控制符,以及数据校验码等信息。
在高速串行访问通道与存储子块紧耦合型存储器芯片结构中,存储子块通过RX模块收到读请求报文时,会根据请求地址ADDR来判断是否访问本存储子块,如果是本地访问则直接读取本地存储体,否则将读请求转发给片上互连网络接口模块,存储器芯片的片上互连网络2会将该读请求报文转发至正确的存储子块,目标存储子块会处理该读请求报文,并产生读响应报文,并根据请求报文中请求TID信息将响应报文返还至源存储子块,源存储子块随后将响应报文通过TX模块返回给主控芯片。
在高速串行访问通道与存储子块松耦合型存储器芯片中,访问通道模块通过RX模块收到读请求后,通过片上互连网络2将读请求转发至目标存储子块,目标存储子块读取指定地址后将数据再通过片上互连网络2返还至访问通道模块,源访问通道模块随后将响应通过TX模块发送至主控芯片。存储器芯片对于写请求的处理流程与上述读请求的处理流程完全一致,在此不再重复。
本发明所提出的高速存储器芯片具有多个独立的高速串行访问通道,可以被多个不同的主控芯片同时访问,以实现高速存储器芯片的共享使用,具体使用模式如附图8所示。假设高速存储器芯片具有nd个独立的高速串行访问通道,则最多可以支持nd个不同的主控芯片通过高速串行访问通道与该高速存储器芯片相连,也就是实现了nd个不同的主控芯片对该高速存储器芯片的共享使用。这种共享使用模式具有两个方面的优势:一是易于实现不同主控芯片之间数据共享与交换,可以非常灵活流式数据处理,也就是一个主控芯片完成一级数据处理之后,将数据写入高速存储器芯片中特定位置,下一级主控芯片即可从高速存储器芯片中指定位置读取数据开启下一级的数据处理;二是这种共享使用模式可以实现存储成本的下降,不需要为每个主控芯片配备专用的高速存储器芯片。
如果单颗高速存储器芯片的存储容量不足以满足算法处理需求时,可以通过多片级联的方式来扩展存储容量,也就是通过高速串行访问通道将多片高速存储器芯片相连,高速存储器芯片之间的互连拓扑结构和互连的规模可以根据实际需要进行配置。如附图9所示,高速存储器芯片可以采用串联方式进行扩展,每颗高速存储器芯片通过xs(xs为大于等于1的整数)个高速串行访问通道与相邻的高速存储器芯片相连,在m(m为大于1的整数)颗高速存储器芯片串联的情况下,m颗高速存储器芯片可提供给主控芯片的高速串行访问通道总数为:2*(ne-xs)+(m-2)(ne-2*xs),其中ne为单颗高速存储器芯片的高速串行访问通道总数,为保持带宽平衡,避免出现高速存储器芯片之间的访问拥塞,可令xs为ne/2,这样m颗高速存储器芯片可提供给主控芯片的高速串行访问访问通道总数仍然为ne,也即相对于这m颗高速存储器芯片与单颗高速存储器芯片的总访存带宽保持一致,但是容量提升了m倍。
除串联方式级联高速存储器芯片之外,还可以采用二维矩阵方式级联存高速存储器芯片,这种级联方式如附图10所示,假设q行p列共q*p颗高速存储器芯片以二维矩阵方式级联,这里q和p均为大于1的整数,每一行的相邻高速存储器芯片之间通过xh(xh为大于等于1的整数)个高速串行访问通道相连,每一列的相邻高速存储器芯片之间通过xv(xv为大于等于1的整数)个高速串行访问通道相连,同样的,为保持带宽平衡,可选择xh与xv均为nf/4,其中nf为单颗高速存储器芯片的访问通道总数,此时,q*p颗高速存储器芯片可提供给主控芯片的高速串行访问通道总数为,2p*xv+2q*xh,即nf*(p+q)/2。
虽然本发明仅列举串联与二维矩阵等两种级联方式,但不限定这两种级联方式,使用者可以根据需要进行配置高速存储器芯片的互连规模与互连拓扑结构,比如立方体结构或者三维Torus结构等,本发明在此不再一一列举。
Claims (9)
1.一种具有多个独立访问通道的高速存储器芯片,包括片上存储器及若干个高速串行访问通道,其特征在于:还包括片上互连网络模块,所述片上存储器包括若干个可并行访问的存储子块,所述存储子块和所述高速串行访问通道之间通过所述片上互连网络模块互连,所述片上互连网络模块的实现方式包括单总线、多总线、环形网络、二维网格或交叉开关,主控芯片通过所述高速串行访问通道与高速存储器芯片相连,所述主控芯片与所述高速存储器芯片之间的数据传输转换为报文格式,对于读请求报文,包括2比特命令标识码“11”、请求TID、请求地址ADDR以及请求访问长度LEN,其中所述请求TID用于区分不同的访存请求,每个所述读请求报文有一个唯一且独立的请求TID,所述请求TID为三元组{CHIPID、CHANNELID、SEQNUM},其中CHIPID为高速存储器芯片的ID号,CHANNELID为收到请求的高速串行访问访问通道ID号,SEQNUM为请求序列号,CHIPID的位宽取决于系统中高速存储器芯片的个数,CHANNELID取决于单个高速存储芯片的高速串行访问通道数量,SEQNUM是一个由所述主控芯片维护的循环计数器,其位宽取决于高速存储芯片所能接收的最大请求数,请求地址ADDR为请求的起始地址,按字节编址,请求地址ADDR的位宽取决于系统中高速存储器芯片的总容量,请求访问长度LEN为本次请求的访存长度,以字节为单位,请求访问长度LEN至少大于或等于1,对于写请求报文和读响应报文,所述写请求报文和读响应报文均包括头微包和多个数据微包,头微包包括2比特命令标识码“10”、请求TID、请求地址ADDR以及请求访问长度LEN,所述数据微包的宽度与头微包的宽度一致,最后一个所述数据微包即尾微包的命令标识码为“01”,除头微包和尾微包之外的中间数据微包的命令标识码为“00”,所述数据微包的个数取决于需要写入的数据长度,所述读请求报文、写请求报文和读响应报文编码只涉及与访存操作相关的有效信息,不包含访存请求与响应报文在高速串行访问通道上传输所必须的额外编码信息。
2.根据权利要求1所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述存储子块与所述高速串行访问通道数量相等,所述高速串行访问通道与所述存储子块一一对应紧耦合连接,所述存储子块通过所述片上互连网络模块互连。
3.根据权利要求2所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述存储子块包括存储体,所述存储体上与存储体BIST逻辑模块和通道访问控制逻辑模块相连,所述通道访问控制逻辑模块分别通过RX模块和TX模块与所述高速串行访问通道通信,所述通道访问控制逻辑模块通过片上互连网络接口逻辑模块与所述片上互连网络模块互连,其中,所述RX模块解析来自所述高速串行访问通道的串行数据流,将其转换为有效的读请求和写请求,并转发给所述通道访问控制逻辑模块,所述TX模块处理来自所述通道访问控制逻辑模块转发的响应报文或者请求报文,并将报文转换为所述高速串行访问通道上的数据流,所述通道访问控制逻辑模块接收到来自所述RX模块的访存读写请求报文之后,判断访存地址是否属于所述通道访问控制逻辑模块所在的存储子块,如果属于所述通道访问控制逻辑模块所在的存储子块,则直接读写与所述通道访问控制逻辑模块直连的存储体,所述存储体返回读数据或写响应之后所述通道访问控制逻辑模块将结果打包成响应报文,并发送至所述TX模块;如果不属于所述通道访问控制逻辑模块所在的存储子块,则将该访存读写请求转发至所述片上互连网络接口逻辑模块,所述通道访问控制逻辑模块同时也需要接收所述片上互连网络接口逻辑模块转发的来自其它高速串行访问通道的访存读写请求,在处理完访存读写请求之后再将响应返还至所述片上互连网络接口逻辑模块。
4.根据权利要求1所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述高速串行访问通道与所述存储子块松耦合,所述存储子块均与所述片上互连网络模块连通,所述高速串行访问通道均通过访问通道模块与所述片上互连网络模块连通。
5.根据权利要求4所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述访问通道模块包括通道访问控制逻辑模块,所述通道访问控制逻辑模块分别通过RX模块和TX模块与所述高速串行访问通道通信,所述通道访问控制逻辑模块通过片上互连网络接口逻辑模块与所述片上互连网络模块互连,其中,所述RX模块解析来自所述高速串行访问通道的串行数据流,将其转换为有效的读请求和写请求,并转发给所述通道访问控制逻辑模块,所述TX模块处理来自所述通道访问控制逻辑模块转发的响应报文或者请求报文,并将报文转换为所述高速串行访问通道上的数据流,所述通道访问控制逻辑模块接收到来自所述RX模块的访存读写请求报文之后,将该访存读写请求转发至所述片上互连网络接口逻辑模块,并通过所述片上互连网络接口逻辑模块接收所述片上互连网络模块发来的响应报文或者请求报文。
6.根据权利要求4所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述存储子块包括存储体,所述存储体上连有存储体BIST逻辑模块和存储体控制逻辑模块,所述存储体控制逻辑模块通过片上互连网络接口逻辑模块与所述片上互连网络模块互连。
7.根据权利要求1所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述片上互连网络模块为8n端口高阶交叉开关,n为自然数,由第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关、第四4n端口交叉开关、第五4n端口交叉开关和第六4n端口交叉开关级联而成,每个4n端口交叉开关支持任意两个端口之间的数据交换,其中所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中2n个端口均与所述高速串行访问通道或存储子块连接,所述第五4n端口交叉开关和第六4n端口交叉开关与所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关交换级联,所述第五4n端口交叉开关分别与所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的其中2n个端口互连,所述第六4n端口交叉开关分别与所述第一4n端口交叉开关、第二4n端口交叉开关、第三4n端口交叉开关和第四4n端口交叉开关的另外2n个端口互连,所述端口均为双向端口。
8.根据权利要求1所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述高速存储器芯片采用串联方式进行扩展,每颗高速存储器芯片通过xs个高速串行访问通道与相邻的高速存储器芯片相连,xs为大于等于1的整数,在m颗高速存储器芯片串联的情况下,m为大于1的整数,m颗高速存储器芯片可提供给主控芯片的高速串行访问通道总数为:2*(ne-xs)+(m-2)(ne-2*xs),其中ne为单颗高速存储器芯片的高速串行访问通道总数。
9.根据权利要求1所述具有多个独立访问通道的高速存储器芯片,其特征在于:所述高速存储器芯片采用二维矩阵方式级联,q行p列共q*p颗高速存储器芯片以二维矩阵方式级联,q和p均为大于1的整数,每一行的相邻高速存储器芯片之间通过xh个高速串行访问通道相连,xh为大于等于1的整数,每一列的相邻高速存储器芯片之间通过xv个高速串行访问通道相连,xv为大于等于1的整数,q*p颗高速存储器芯片可提供给主控芯片的高速串行访问通道总数为2p*xv+2q*xh。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671991.4A CN109086228B (zh) | 2018-06-26 | 2018-06-26 | 具有多个独立访问通道的高速存储器芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671991.4A CN109086228B (zh) | 2018-06-26 | 2018-06-26 | 具有多个独立访问通道的高速存储器芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086228A CN109086228A (zh) | 2018-12-25 |
CN109086228B true CN109086228B (zh) | 2022-03-29 |
Family
ID=64839798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810671991.4A Active CN109086228B (zh) | 2018-06-26 | 2018-06-26 | 具有多个独立访问通道的高速存储器芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086228B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020177229A1 (en) * | 2019-03-01 | 2020-09-10 | Huawei Technologies Co., Ltd. | Inter-warp sharing of general purpose register data in gpu |
CN110164487A (zh) * | 2019-04-08 | 2019-08-23 | 苏州汇峰微电子有限公司 | 一种动态随机存储器的架构 |
CN112306918B (zh) * | 2019-07-31 | 2024-06-14 | 北京百度网讯科技有限公司 | 数据访问方法、装置、电子设备和计算机存储介质 |
CN114510436A (zh) * | 2020-04-17 | 2022-05-17 | 北京忆芯科技有限公司 | 一种存储设备 |
CN112187607B (zh) * | 2020-10-20 | 2022-03-11 | 南京科远智慧科技集团股份有限公司 | 一种应用于控制系统通信扩展的系统 |
CN114416612B (zh) * | 2021-12-27 | 2024-08-23 | 深圳云天励飞技术股份有限公司 | 存储器的访问方法、装置、电子设备和存储介质 |
CN115080473B (zh) * | 2022-06-29 | 2023-11-21 | 海光信息技术股份有限公司 | 一种多芯片互连系统及基于其的安全启动方法 |
CN115314438B (zh) * | 2022-10-09 | 2023-01-13 | 中科声龙科技发展(北京)有限公司 | 芯片的地址重构方法、装置以及电子设备、存储介质 |
CN117153831B (zh) * | 2023-09-26 | 2024-05-31 | 湖南融创微电子有限公司 | 一种闪存芯片及控制方法 |
CN118300908A (zh) * | 2024-06-06 | 2024-07-05 | 芯云晟(杭州)电子科技有限公司 | 串并收发器多通道连接器和串并收发器多通道连接芯片 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446931A (zh) * | 2008-12-03 | 2009-06-03 | 中国科学院计算技术研究所 | 一种实现输入输出数据一致性的系统及方法 |
CN101650639A (zh) * | 2009-09-11 | 2010-02-17 | 成都市华为赛门铁克科技有限公司 | 一种存储装置及计算机系统 |
CN102289421A (zh) * | 2011-07-26 | 2011-12-21 | 西安电子科技大学 | 一种基于交叉开关结构的片上互联方法 |
CN102508643A (zh) * | 2011-11-16 | 2012-06-20 | 刘大可 | 一种多核并行数字信号处理器及并行指令集的运行方法 |
CN102521201A (zh) * | 2011-11-16 | 2012-06-27 | 刘大可 | 多核数字信号处理器片上系统及数据传输方法 |
CN103279448A (zh) * | 2013-04-24 | 2013-09-04 | 南京龙渊微电子科技有限公司 | 基于数据缓存重配置的多核间数据交换方法及装置 |
CN103345429A (zh) * | 2013-06-19 | 2013-10-09 | 中国科学院计算技术研究所 | 基于片上ram的高并发访存加速方法、加速器及cpu |
CN105630727A (zh) * | 2014-11-07 | 2016-06-01 | 华为技术有限公司 | 多SoC节点之间的访问方法、装置和系统 |
US9489314B2 (en) * | 2012-10-24 | 2016-11-08 | Texas Instruments Incorporated | Multi-master cache coherent speculation aware memory controller with advanced arbitration, virtualization and EDC |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014178855A1 (en) * | 2013-04-30 | 2014-11-06 | Hewlett-Packard Development Company, L.P. | Memory node error correction |
CN104008084B (zh) * | 2014-06-02 | 2017-01-18 | 复旦大学 | 一种可拓展的2.5d多核处理器架构 |
US10318428B2 (en) * | 2016-09-12 | 2019-06-11 | Microsoft Technology Licensing, Llc | Power aware hash function for cache memory mapping |
-
2018
- 2018-06-26 CN CN201810671991.4A patent/CN109086228B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446931A (zh) * | 2008-12-03 | 2009-06-03 | 中国科学院计算技术研究所 | 一种实现输入输出数据一致性的系统及方法 |
CN101650639A (zh) * | 2009-09-11 | 2010-02-17 | 成都市华为赛门铁克科技有限公司 | 一种存储装置及计算机系统 |
CN102289421A (zh) * | 2011-07-26 | 2011-12-21 | 西安电子科技大学 | 一种基于交叉开关结构的片上互联方法 |
CN102508643A (zh) * | 2011-11-16 | 2012-06-20 | 刘大可 | 一种多核并行数字信号处理器及并行指令集的运行方法 |
CN102521201A (zh) * | 2011-11-16 | 2012-06-27 | 刘大可 | 多核数字信号处理器片上系统及数据传输方法 |
US9489314B2 (en) * | 2012-10-24 | 2016-11-08 | Texas Instruments Incorporated | Multi-master cache coherent speculation aware memory controller with advanced arbitration, virtualization and EDC |
CN103279448A (zh) * | 2013-04-24 | 2013-09-04 | 南京龙渊微电子科技有限公司 | 基于数据缓存重配置的多核间数据交换方法及装置 |
CN103345429A (zh) * | 2013-06-19 | 2013-10-09 | 中国科学院计算技术研究所 | 基于片上ram的高并发访存加速方法、加速器及cpu |
CN105630727A (zh) * | 2014-11-07 | 2016-06-01 | 华为技术有限公司 | 多SoC节点之间的访问方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
基于多核的片上网络低延迟与低功耗的研究;佘超杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150315(第3期);I135-241 * |
Also Published As
Publication number | Publication date |
---|---|
CN109086228A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086228B (zh) | 具有多个独立访问通道的高速存储器芯片 | |
CN101853237B (zh) | 片上系统及axi总线下的传输方法 | |
US10409766B2 (en) | Computer subsystem and computer system with composite nodes in an interconnection structure | |
US6032246A (en) | Bit-slice processing unit having M CPU's reading an N-bit width data element stored bit-sliced across M memories | |
CN101197649B (zh) | 外部设备互联高速总线接口与交换机端口测试方法及系统 | |
CN102866980B (zh) | 用于多核微处理器片上互连网络的网络通信胞元 | |
CN100591050C (zh) | 支持多通道数据传输的数据传输装置及方法 | |
CN101873253A (zh) | 带缓冲的纵横式交换机系统 | |
CN101300558B (zh) | 具有映射到存储体组的端口的多端口存储器 | |
CN109240980A (zh) | 具有多个高速串行访存通道的访存密集型算法加速芯片 | |
CN103036817A (zh) | 一种服务器单板、服务器单板实现方法及主处理器 | |
CN107038134A (zh) | 一种基于fpga的srio接口固态硬盘系统及其实现方法 | |
CN101004674B (zh) | 数据处理系统和包括数据处理系统的高清晰度电视机 | |
CN102929329B (zh) | 片上系统间互连网络的动态重构方法 | |
CN100538738C (zh) | 访问多区存储器中的多维数据块的方法、装置及系统 | |
US11775213B2 (en) | Stacked memory device with paired channels | |
CN100539438C (zh) | 用于数据可靠存储或传输的编码和解码方法及系统 | |
US5612951A (en) | Output buffer type Asynchronous Transfer Mode(ATM) switch | |
CN111045974A (zh) | 一种基于交换结构的多处理器数据交互方法 | |
CN101014200B (zh) | 时分多路复用信号的交换方法和交换装置 | |
CN103279448A (zh) | 基于数据缓存重配置的多核间数据交换方法及装置 | |
CN115269487B (zh) | 一种芯片间数据高速传输方法和装置 | |
CN115412511B (zh) | 一种用于以太网交换芯片的高性能计数器电路及计数方法 | |
CN118631607B (zh) | 一种can通信芯片系统、制作方法和电子设备 | |
CN113609067B (zh) | 一种32路rs485接口卡的实现系统 |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Tong Yuanman Inventor after: Liu Yao Inventor after: Tong Qiaoling Inventor before: Tong Yuanman Inventor before: Lu Hongyi Inventor before: Liu Yao Inventor before: Tong Qiaoling |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |