CN116457751A - 一种写数据通路结构和芯片 - Google Patents
一种写数据通路结构和芯片 Download PDFInfo
- Publication number
- CN116457751A CN116457751A CN202380008784.XA CN202380008784A CN116457751A CN 116457751 A CN116457751 A CN 116457751A CN 202380008784 A CN202380008784 A CN 202380008784A CN 116457751 A CN116457751 A CN 116457751A
- Authority
- CN
- China
- Prior art keywords
- block
- write data
- write
- group
- 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.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Static Random-Access Memory (AREA)
Abstract
本公开实施例公开了一种写数据通路结构和芯片,该写数据通路结构包括:写数据通路接口(11)、写数据分组模块(12)、写数据解析单元(13)、分段模块(14)和写使能产生模块(15);待写入数据的芯片(2)包括多个块block,每个block分别管理多个存储单元;芯片(2)内全部存储单元被划分为多个组group,每个group对应多个block;每个block内分别设置一个写使能产生模块(15);写使能产生模块(15)设置为在该block内产生该block的存储单元的写使能信号;写数据通路接口(11)、写数据分组模块(12)写数据解析单元(13)、分段模块(14)和写使能产生模块(15)依次相连。
Description
技术领域
本公开实施例涉及数据传输技术,尤指一种写数据通路结构和芯片。
背景技术
基于工作量证明的运算芯片,其运算都是依赖DAG(Direct Acyclic Graph,有向无环图技术)数据,因此在运算开始之前,必须将大量的DAG数据写入芯片内部的存储单元。将DAG数据写入存储单元的方法有多种,考虑到存储单元是由DRAM(Dynamic RandomAccess Memory,动态随机访问内存)组成,访问DRAM过程中会存在刷新的情况,这时是不允许写入数据的。因此,写数据通路的相关技术方案是,在计算单元与存储单元之间进行数据通信,通过总线可以访问到片内每个存储单元,但是,存储单元通常是遍布于整个芯片,从数据通路的入口到每个存储单元的终点路径较长,特别是协议转换单元的下游接口与每个存储单元的路径较远,走线复杂,而且需要大量寄存器。
发明概述
以下是对本文详细描述的主题的概述,本概述并非是为了限制权利要求的保护范围。
本公开实施例提供了一种写数据通路结构,可以包括:写数据通路接口、写数据分组模块、写数据解析单元、分段模块和写使能产生模块;待写入数据的芯片包括多个块block,每个block分别管理多个存储单元;所述芯片内的全部存储单元被划分为多个组group,每个group对应多个block;每个block内分别设置有一个所述写使能产生模块;所述写使能产生模块设置为在该block内产生该block的存储单元的写使能信号;所述写数据通路接口与所述写数据分组模块的输入端相连;
所述写数据分组模块的输出端与所述写数据解析单元的输入端相连;
所述写数据解析单元的输出端与该写数据解析单元所在group的所述分段模块的输入端相连;
所述分段模块的输出端与该分段模块所在group内的每个block以及该block内的写使能产生模块相连。
在本公开的示例性实施例中,所述写数据通路接口和所述写数据分组模块设置于所述芯片的外部,所述写数据解析单元和所述分段模块设置于所述芯片的内部;
所述写数据解析单元和所述分段模块均设置在每个group内的任意一个block内。
在本公开的示例性实施例中,每个group内的全部写使能产生模块根据与所述分段模块的连接方式被划分为多级;
每个block内的写使能产生模块包括一个输入接口和X个输出接口;X为正整数;
每一级写使能产生模块的输入接口与所述分段模块相连,或者,与上一级写使能产生模块的一个输出接口相连;每一级写使能产生模块的输出接口与下一级写使能产生模块的一个输入接口相连,或者悬空;
其中,第一级写使能产生模块的输入接口均与所述分段模块相连。
在本公开的示例性实施例中,所述写数据分组模块通过第一总线与所述所述写数据通路接口相连,可以设置为接收所述写数据通路接口传输的第一总线信号;
所述第一总线信号可以包括:第一写地址、第一写数据、采样有效信号和握手信号;
所述采样有效信号使得所述第一写地址和所述第一写数据时序是多周期时序。
在本公开的示例性实施例中,所述第一写地址可以包括:所述写数据的存储地址以及用于存储所述写数据的多个地址段;
所述写数据分组模块通过第二总线与所述写数据解析单元相连,可以设置为:
根据所述芯片内group的数量R,将所述多个地址段按照所述地址段的编号划分为R个第一级子地址段,每一个所述第一级子地址段分别对应一个group;并生成每个所述第一级子地址段对应的group的组标识group_id;R为大于1的正整数;
根据每个group内包含的block的数量S,将每个group对应的所述第一级子地址段划分为S个第二级字地址段,每一个所述第二级子地址段分别对应一个block,所对应的block的存储单元的存储空间大于或等于所述第二级子地址段对应的写数据的大小;生成每一个所述第二级子地址段对应的block的块标识block_id;S为大于1的正整数。
在本公开的示例性实施例中,所述写数据解析单元可以设置为:接收所述写数据分组模块传输的第二总线信号,并对所述第二总线信号进行协议转换后传输给同一group中的所述分段模块。
所述第二总线信号可以包括:所述组标识group_id、所述块标识block_id、握手信号、采样有效信号以及每个所述块标识block_id对应的待存储的写数据和所述第二级子地址段。
在本公开的示例性实施例中,所述分段模块通过第三总线与所述block和所述写使能产生模块相连,可以设置为:
在接收到所述写数据解析单元传输的所述第二总线信号后,将所述第二总线信号包含的所述组标识group_id与所述分段模块自身所在的group的组标识相比较,当所述第二总线信号包含的所述组标识group_id与所述分段模块自身所在的group的组标识一致时,向所述分段模块自身所在的group中与所述块标识block_id对应的block发送第三总线信号;所述第三总线信号包含所述块标识block_id、握手信号、采样有效信号以及每个所述块标识block_id对应的待存储的写数据和所述第二级子地址段;使得所述block在接收到所述第三总线信号以后,将所述第三总线信号包含的所述块标识block_id与所述block自身的块标识相比较,当所述第三总线信号包含的所述块标识block_id与所述block自身的块标识一致时,将所述握手信号设置为预设标记后原路返回。
在本公开的示例性实施例中,所述写使能产生模块在该block内产生该block的存储单元的写使能信号,可以包括:
根据所述块标识block_id对应的所述第二级子地址段确定对应的存储单元的地址;
根据所述握手信号的预设标记以及确定的所述存储单元的地址产生相应的存储单元的写使能信号,使得所述block根据所述写使能信号选通相应的存储单元,将所述块标识block_id对应的写数据存储到选通的存储单元中。
本公开实施例还提供了一种芯片,可以包括:多个块block,每个block分别管理多个存储单元;所述芯片内的全部存储单元被划分为多个组group,每个group对应多个block;每个block通过如权利要求1-8任意一项所述的写数据通路结构实现数据写入。
在本公开的示例性实施例中,每个group内的block根据该block内的所述写使能产生模块与所述分段模块的连接方式被划分为多级;
当一个block内的所述写使能产生模块直接与所述分段模块相连时,将该block作为第一级block;未直接与所述分段模块相连的写使能产生模块所在block的级数随着该写使能产生模块连接到所述分段模块所需经过的block的数量的增加而增加。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为本公开实施例的写数据通路结构组成框图;
图2为本公开实施例的写数据通路结构的写使能产生模块设置方式示意图;
图3为相关技术中的写数据通路结构组成框图;
图4为本公开实施例的写数据通路结构的写使能产生模块在每个group内的block间的走线示意图;
图5为本公开实施例的芯片组成框图。
详述
本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在详细实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本公开包括并设想了与本领域普通技术人员已知的特征和元件的组合。本公开已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本公开中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行多种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
本公开实施例提供了一种写数据通路结构1,如图1所示,可以包括:写数据通路接口11、写数据分组模块12、写数据解析单元13、分段模块14和写使能产生模块15;待写入数据的芯片2包括多个块block,每个block分别管理多个存储单元;所述芯片2内的全部存储单元被划分为多个组group,每个group对应多个block;每个block内分别设置有一个所述写使能产生模块15;如图2所示,所述写使能产生模块15设置为在该block内产生该block的存储单元的写使能信号;
所述写数据通路接口11与所述写数据分组模块12的输入端相连;
所述写数据分组模块12的输出端与所述写数据解析单元13的输入端相连;
所述写数据解析单元13的输出端与该写数据解析单元13所在group的所述分段模块14的输入端相连;
所述分段模块14的输出端与该分段模块14所在group内的每个block以及该block内的写使能产生模块15相连。
block资源块是芯片切分后获得的单元块,根据工艺不同,每个block的资源大小不同,即包含的存储单元的数量不同。
写数据通路结构的相关方案如图3所示,包括:写数据通路接口100和协议转换单元101。
协议转换单元101的上游连接写数据通路接口100,将接收到的写数据包进行协议转换;下游连接所有的存储控制单元102。
协议转换单元101有三个功能:1)将写数据包拆分成两部分:写地址和写数据作为一部分,采样有效信号作为一部分;2)产生写使能,并根据存储地址选通写使能;3)将单周期的地址和数据时序修改为多周期时序,因为协议转换单元101的下游接口与每个终点的存储控制单元102的路径较远,单周期的时序逻辑已不能满足时序要求,因此协议转换单元101的地址和数据时序是多周期时序。
协议转换单元S101可以根据写数据的存储地址产生N*Z个写使能信号,N是每个芯片所切分的block的数量,N为正整数,Z为每个block内存储该写数据的存储单元的个数,Z为正整数,每个存储单元对应一个写使能信号。在工作量证明的芯片设计中,访问存储单元103的写数据通路是串行进行,每写一个数据只选通一个存储单元103的写使能,而其它的写使能是无效的,因此,大量的写使能信号并行地在block之间穿行,这是一种资源浪费。写使能信号是单周期时序逻辑,从协议转换接口输出,到达较远的存储单元103,要插入大量的寄存器来满足时序。
存储控制单元102的数量可以根据需求自行定义,这里以4个为例进行说明,例如102-1、102-2、102-3、102-4;每个存储控制单元102管理一定容量的存储单元103(这里仍以Z=4为例进行说明,如103-1、103-2、103-3、103-4分别代表一组存储单元)。每个存储单元103对应一个写使能信号和一个指示存储单元103是否可访问的握手信号wr_ready(或称为写握手信号)。
协议转换单元101根据存储地址产生所有存储单元103的写使能信号后,这些写使能信号要经过很长的路径才能到达终点,即相应的存储单元103,协议转换单元101和存储单元之间需要插入大量的寄存器;对于目的端是较远的终点来说,还要经过多个block,存在大量的穿线。存储单元103越多,写使能信号越多,并且握手信号wr_ready的反压信号越多。
在本公开的示例性实施例中,随着芯片的计算单元和存储单元逐渐增多,芯片划分的block逐渐增多。从协议转换单元101所在的block传输到其它block,特别是距离较远的block,必须穿过多个block,在block之间存在大量的走线,不仅影响芯片的切割,对每个block的布局、布线也带来巨大压力。本公开实施例方案将协议转换单元101的写使能信号产生功能进行改进,由写使能产生模块15来完成,并且写使能产生模块15设置在每个block内,从而使得写使能信号直接在每个block内产生,减少了写使能信号在block之间的走线数量,节省了大量的寄存器。
在本公开的示例性实施例中,group的数量R(R为大于1的正整数)可以根据需求自行定义,在此不做详细限定。
在本公开的示例性实施例中,每个block分别管理的存储单元的数量可以相同,也可以不同。
在本公开的示例性实施例中,所述写数据通路接口11和所述写数据分组模块12设置于所述芯片的外部,所述写数据解析单元13和所述分段模块14设置于所述芯片2的内部;
所述写数据解析单元13和所述分段模块14均设置在每个group内的任意一个block内。
在本公开的示例性实施例中,所述写数据分组模块12通过第一总线与所述所述写数据通路接口相连,可以设置为接收所述写数据通路接口传输的第一总线信号;
所述第一总线信号可以包括:第一写地址、第一写数据、采样有效信号和握手信号;
所述采样有效信号使得所述第一写地址和所述第一写数据时序是多周期时序。
在本公开的示例性实施例中,写数据通路接口11作为写数据通路结构的入口,通过写数据通路接口11可以与上位机进行通信;通信信息(即第一总线信号)在进入写数据通路接口11之前,已经将单周期的地址和数据时序修改为多周期时序。
在本公开的示例性实施例中,从写数据通路接口11到写数据分组单元12之间的第一总线可以采用AXI总线形式,一般兼容AXI时序,或者为类AXI时序。
AXI(Advanced extensible Interface,高级可扩展接口)是一种总线协议,是一种面向高性能、高带宽、低延迟的片内总线。
在本公开的示例性实施例中,所述第一总线信号可以包括位宽是1bit(比特)的采样有效信号、位宽小于32bit的写地址(即上述的第一写地址)、位宽为512bit的写数据(即上述的第一写数据)以及位宽是1bit的握手信号wr_ready。
在本公开的示例性实施例中,所述第一写地址可以包括:所述写数据的存储地址以及用于存储所述写数据的多个地址段;
所述写数据分组模块12通过第二总线与所述写数据解析单元13相连,可以设置为:
根据所述芯片内group的数量R,将所述多个地址段按照所述地址段的编号划分为R个第一级子地址段,每一个所述第一级子地址段分别对应一个group;并生成每个所述第一级子地址段对应的group的组标识group_id;R为大于1的正整数;
根据每个group内包含的block的数量S,将每个group对应的所述第一级子地址段划分为S个第二级字地址段,每一个所述第二级子地址段分别对应一个block,所对应的block的存储单元的存储空间大于或等于所述第二级子地址段对应的写数据的大小;生成每一个所述第二级子地址段对应的block的块标识block_id;S为大于1的正整数。
在本公开的示例性实施例中,写数据分组单元12获取第一写地址,并确定待写入数据的芯片中的全部存储单元平均分成的group的数量R,每个group平均包含的block的数量S,其中,不同的block所包含的存储单元的数量不一定相同。
在本公开的示例性实施例中,写数据分组单元12首先将第一写地址中的地址段首先分成R个第一级子地址段并确定所属的group的group_id,再将每个第一级字地址段分成S个第二级子地址段并确定所属的block的block_id。
在本公开的示例性实施例中,以R=4为例说明本公开实施例方案,如图1中group1、group2、group3、group4所示,分组方式是根据地址段进行划分,将第一写地址中的地址段平均分为4个第一级子地址段,当整个芯片的存储单元个数为M(M为正整数)时,那么group1对应的地址段为0~M/4 -1;group2对应的地址段为M/4 -1~M/2-1;group3对应的地址段为M/2~3M/4-1;group4对应的地址段为3M/4~M-1。采用group_id来标记不同的第一级子地址段对应的group的编号。
在本公开的示例性实施例中,以S=11为例说明本公开实施例方案,在每个group内,将芯片划分成11个block(在不同的实施例中,每个group内划分的block数可以相同,也可以不同,为了便于控制,可以设置为每个group内划分的block数相同)。针对11个block,对每个group内的第一级子地址段再次进行分段;每个block内的地址范围并不相同,可以根据实际设计的需求,分配每个block内的存储单元个数,存储单元个数决定了每个block内的地址段划分范围。
在本公开的示例性实施例中,可以预先将一个group内的11个block进行编号:block1,block2,block3,block4,block5,block6,block7,block8,block9,block10,block11。
在本公开的示例性实施例中,当block1中含有k1个存储单元时,block1对应的中被划分的第二级子地址段的地址段范围可以是0~k1-1;
当block2中含有k2个存储单元时,block2对应的中被划分的第二级子地址段的地址段范围可以是k1~k2+k1-1;
当block3中含有k3个存储单元时,block3对应的中被划分的第二级子地址段的地址段范围可以是k2+k1~k3+k2+k1-1;
......
当block11中含有k11个存储单元时,block11对应的中被划分的第二级子地址段的地址段范围可以是M/4-k11~M/4-1。
在本公开的示例性实施例中,K1、K2、K3、K4、K5、K6、K7、K8、K9、K10、K11均为正整数。
在本公开的示例性实施例中,在每个group内再次对第一级子地址段进行划分时,如果第一级子地址段包含的一个第二级子地址段与block2中的地址段范围相对应,或者,第二级子地址段对应的存储空间大小小于或等于block2中的存储单元的存储空间时,则将该第二级子地址段划分给block2,并将block2的块标识block_id与该第二级子地址段相对应;同理,如果第一级子地址段包含的另一个第二级子地址段与block4中的地址段范围相对应,或者,该第二级子地址段对应的存储空间大小小于或等于block3中的存储单元的存储空间时,则将该第二级子地址段划分给block3,并将block3的块标识block_id与该第二级子地址段相对应。
在本公开的示例性实施例中,所述写数据解析单元13可以设置为:接收所述写数据分组模块12传输的第二总线信号,并对所述第二总线信号进行协议转换后传输给同一group中的所述分段模块14;
所述第二总线信号可以包括:所述组标识group_id、所述块标识block_id、握手信号、采样有效信号以及每个所述块标识block_id对应的待存储的写数据和所述第二级子地址段。
在本公开的示例性实施例中,写数据解析单元13可以采用wr_con来表示,写数据解析单元13(wr_con)可以根据需求设置于一个组内的任意一个block内。如图4所示,根据需求将写数据解析单元13(wr_con)设置于block1中。
在本公开的示例性实施例中,所述分段模块14通过第三总线与所述block和所述写使能产生模块相连,可以设置为:
在接收到所述写数据解析单元13传输的所述第二总线信号后,将所述第二总线信号包含的所述组标识group_id与所述分段模块14自身所在的group的组标识相比较,当所述第二总线信号包含的所述组标识group_id与所述分段模块14自身所在的group的组标识一致时,向所述分段模块14自身所在的group中与所述块标识block_id对应的block发送第三总线信号;所述第三总线信号包含所述块标识block_id、握手信号、采样有效信号以及每个所述块标识block_id对应的待存储的写数据和所述第二级子地址段;使得所述block在接收到所述第三总线信号以后,将所述第三总线信号包含的所述块标识block_id与所述block自身的块标识相比较,当所述第三总线信号包含的所述块标识block_id与所述block自身的块标识一致时,将所述握手信号设置为预设标记后原路返回。
在本公开的示例性实施例中,分段模块14可以采用wr_path表示,可以根据需求,在每个group中的任意一个block中设置一个分段模块14(wr_path)。
在本公开的示例性实施例中,分段模块14可以识别出接收到的组标识group_id是否属于分段模块14自身所在的group的组标识,如果接收到的组标识group_id不属于分段模块14自身所在的group的组标识,则可以忽略该第二总线信号,如果接收到的组标识group_id属于分段模块14自身所在的group的组标识,则分段模块14可以通过第二总线向所在group中的block发送第三总线信号,以将写数据发送到相应的block中进行存储。
在本公开的示例性实施例中,在将写数据发送到相应的block中进行存储之前,分段模块14首先与每个block中的写使能产生模块15进行通信,以使得需要写入数据的block中的写使能产生模块15首先产生写使能信号。
在本公开的示例性实施例中,分段模块14与每个写使能产生模块15进行通信的方式可以采用主机通信方式来实现,该通信方式可以基于下述的分段模块14与写使能产生模块15的连接方式来实现。
在本公开的示例性实施例中,如图4所示,每个group内的全部写使能产生模块15根据与所述分段模块14的连接方式被划分为多级;
每个block内的写使能产生模块15包括一个输入接口和X个输出接口;X为正整数;
每一级写使能产生模块15的输入接口与所述分段模块14相连,或者,与上一级写使能产生模块15的一个输出接口相连;每一级写使能产生模块15的输出接口与下一级写使能产生模块15的一个输入接口相连,或者悬空;
其中,第一级写使能产生模块15的输入接口均与所述分段模块14相连。
在本公开的示例性实施例中,写使能产生模块15可以采用gen_wen表示,例如,11个block中的gen_wen分别为gen_wen1、gen_wen2、gen_wen3、gen_wen4、gen_wen5、gen_wen6、gen_wen7、gen_wen8、gen_wen9、gen_wen10和gen_wen11。
在本公开的示例性实施例中,可以将多个写使能产生模块15(gen_wen)中直接与所述分段模块14相连的写使能产生模块15作为第一级写使能产生模块,未直接与所述分段模块14相连的写使能产生模块15的级数随着与连接到所述分段模块14所需经过的写使能产生模块15的数量的增加而增加。
在本公开的示例性实施例中,X的数值可以根据需求自行定义,在此不作详细限定。例如,可以选取X=2,即每个写使能产生模块15包括一个输入接口和2个输出接口。
在本公开的示例性实施例中,第一写使能产生模块(如gen_wen2)的输入接口均与所述分段模块14的输出端口相连,输出接口与第二级写使能产生模块(如gen_wen4、gen_wen5)的输入接口相连;第二级写使能产生模块的输出接口与第三写使能产生模块(如gen_wen1、gen_wen8、gen_wen6、gen_wen9)的输入接口相连,第三写使能产生模块的输出接口与第四级写使能模块(如gen_wen3、gen_wen7、gen_wen10、gen_wen11)的输入接口相连,由于没有第五级写使能模块,因此第四级写使能模块的输出接口悬空(即未与任何模块连接)。
在本公开的示例性实施例中,通过上述连接方式,使得所述分段模块14与写使能产生模块15之间的总线数量减少,简化了走线布局。
在本公开的示例性实施例中,分段模块14与每个block的连接方式与上述的分段模块14与每个block中的写使能产生模块15的连接方式相同,也是逐级连接的方式。
在本公开的示例性实施例中,可以将多个block中直接与所述分段模块14相连的block作为第一级block,未直接与所述分段模块14相连的block的级数随着该block内的写使能产生模块连接到所述分段模块14所需经过的block的数量的增加而增加。
在本公开的示例性实施例中,block2作为第一级block,gen_wen4、gen_wen5作为第二级block,gen_wen1、gen_wen8、gen_wen6、gen_wen9作为第三级block,gen_wen3、gen_wen7、gen_wen10、gen_wen11作为第四级block。
在本公开的示例性实施例中,任意一个block接收到所述第三总线信号以后,可以根据第三总线信号中包含的块标识block_id识别出接收到的块标识block_id是否属于block自身的块标识,如果接收到的块标识block_id不属于block自身的块标识,则可以忽略该第三总线信号,如果接收到的块标识block_id属于block自身的块标识,则将第三总线信号包含的握手信号设置为预设标记,表示握手成功,并将设置为预设标记后的握手信号原路返回,以通知上位机当前握手成功。
在本公开的示例性实施例中,握手信号的标识位可以默认为低电位信号,该预设标记可以为一个高电位信号,当握手信号的标识位被标记为预设标记时,握手信号的标识位修改为高电位信号,确认握手成功。
在本公开的示例性实施例中,所述写使能产生模块15在该block内产生该block的存储单元的写使能信号,可以包括:
根据所述块标识block_id对应的所述第二级子地址段确定对应的存储单元的地址;
根据所述握手信号的预设标记以及确定的所述存储单元的地址产生相应的存储单元的写使能信号,使得所述block根据所述写使能信号选通相应的存储单元,将所述块标识block_id对应的写数据存储到选通的存储单元中。
在本公开的示例性实施例中,当任意一个写使能产生模块15检测到该写使能产生模块15所在的block内握手信号被设置为预设标记,即检测到该block握手成功时,根据该握手成功的信号和第三总线信号所传输的写地址(即被分段后的第二级子地址段)对应的存储地址,生成相应的存储单元的写使能信号。从而使得该写使能产生模块15所在的block根据该写使能信号将相应的写数据存储到选通的存储单元中。
在本公开的示例性实施例中,通过上述方案,使得在block之间穿行的写使能信号和握手信号的反压信号都减少为1bit,大幅度减少了block之间的走线,减少了寄存器资源。
在本公开的示例性实施例中,本公开实施例方案至少包括以下优势:
写数据通路结构中,根据整个芯片的存储单元的group划分情况,对传输的写地址中的地址段首先进行group划分,再进行block划分,并分层次产生地址段和写使能信号,将写使能产生模块15分布在每个block中,在每个block内分别产生对应的存储单元的写使能信号,从而去除了相关方案中的从协议转换单元101产生的、需要在block之间远距离穿行的写使能信号,并且随着这部分写使能信号的去除,减少了寄存器的需求,减少了block之间的走线。将一个产生数千比特信号的mux(多路复用)电路,降低到200个比特以内,降低了芯片面积,缓解了芯片的布线压力,降低了成本,降低了功耗。
本公开实施例还提供了一种芯片2,如图5所示,可以包括:多个块block,每个block分别管理多个存储单元;所述芯片2内的全部存储单元被划分为多个组group,每个group对应多个block;每个block通过所述的写数据通路结构1实现数据写入。
在本公开的示例性实施例中,每个group内的block根据该block内的所述写使能产生模块15与所述分段模块14的连接方式被划分为多级;
当一个block内的所述写使能产生模块15直接与所述分段模块14相连时,将该block作为第一级block;未直接与所述分段模块14相连的写使能产生模块15所在block的级数随着该写使能产生模块15连接到所述分段模块14所需经过的block的数量的增加而增加。
在本公开的示例性实施例中,前述的写数据通路结构1中的任意实施例均适用于该芯片2实施例,在此不再一一赘述。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种写数据通路结构,包括:写数据通路接口、写数据分组模块、写数据解析单元、分段模块和写使能产生模块;待写入数据的芯片包括多个块block,每个block分别管理多个存储单元;所述芯片内的全部存储单元被划分为多个组group,每个group对应多个block;每个block内分别设置有一个所述写使能产生模块;所述写使能产生模块设置为在该block内产生该block的存储单元的写使能信号;所述写数据通路接口与所述写数据分组模块的输入端相连;
所述写数据分组模块的输出端与所述写数据解析单元的输入端相连;
所述写数据解析单元的输出端与该写数据解析单元所在group的所述分段模块的输入端相连;
所述分段模块的输出端与该分段模块所在group内的每个block以及该block内的写使能产生模块相连。
2.根据权利要求1所述的写数据通路结构,其中,所述写数据通路接口和所述写数据分组模块设置于所述芯片的外部,所述写数据解析单元和所述分段模块设置于所述芯片的内部;
所述写数据解析单元和所述分段模块均设置在每个group内的任意一个block内。
3.根据权利要求1所述的写数据通路结构,其中,每个group内的全部写使能产生模块根据与所述分段模块的连接方式被划分为多级;
每个block内的写使能产生模块包括一个输入接口和X个输出接口;X为正整数;
每一级写使能产生模块的输入接口与所述分段模块相连,或者,与上一级写使能产生模块的一个输出接口相连;每一级写使能产生模块的输出接口与下一级写使能产生模块的一个输入接口相连,或者悬空;
其中,第一级写使能产生模块的输入接口均与所述分段模块相连。
4.根据权利要求2或3所述的写数据通路结构,其中,所述写数据分组模块通过第一总线与所述所述写数据通路接口相连,设置为接收所述写数据通路接口传输的第一总线信号;
所述第一总线信号包括:第一写地址、第一写数据、采样有效信号和握手信号;
所述采样有效信号使得所述第一写地址和所述第一写数据时序是多周期时序。
5.根据权利要求4所述的写数据通路结构,其中,所述第一写地址包括:所述写数据的存储地址以及用于存储所述写数据的多个地址段;
所述写数据分组模块通过第二总线与所述写数据解析单元相连,设置为:
根据所述芯片内group的数量R,将所述多个地址段按照所述地址段的编号划分为R个第一级子地址段,每一个所述第一级子地址段分别对应一个group;并生成每个所述第一级子地址段对应的group的组标识group_id;R为大于1的正整数;
根据每个group内包含的block的数量S,将每个group对应的所述第一级子地址段划分为S个第二级字地址段,每一个所述第二级子地址段分别对应一个block,所对应的block的存储单元的存储空间大于或等于所述第二级子地址段对应的写数据的大小;生成每一个所述第二级子地址段对应的block的块标识block_id;S为大于1的正整数。
6.根据权利要求5所述的写数据通路结构,其中,所述写数据解析单元设置为:接收所述写数据分组模块传输的第二总线信号,并对所述第二总线信号进行协议转换后传输给同一group中的所述分段模块;
所述第二总线信号包括:所述组标识group_id、所述块标识block_id、握手信号、采样有效信号以及每个所述块标识block_id对应的待存储的写数据和所述第二级子地址段。
7.根据权利要求6所述的写数据通路结构,其中,所述分段模块通过第三总线与所述block和所述写使能产生模块相连,设置为:
在接收到所述写数据解析单元传输的所述第二总线信号后,将所述第二总线信号包含的所述组标识group_id与所述分段模块自身所在的group的组标识相比较,当所述第二总线信号包含的所述组标识group_id与所述分段模块自身所在的group的组标识一致时,向所述分段模块自身所在的group中与所述块标识block_id对应的block发送第三总线信号;所述第三总线信号包含所述块标识block_id、握手信号、采样有效信号以及每个所述块标识block_id对应的待存储的写数据和所述第二级子地址段;使得所述block在接收到所述第三总线信号以后,将所述第三总线信号包含的所述块标识block_id与所述block自身的块标识相比较,当所述第三总线信号包含的所述块标识block_id与所述block自身的块标识一致时,将所述握手信号设置为预设标记后原路返回。
8.根据权利要求7所述的写数据通路结构,所述写使能产生模块在该block内产生该block的存储单元的写使能信号,包括:
根据所述块标识block_id对应的所述第二级子地址段确定对应的存储单元的地址;
根据所述握手信号的预设标记以及确定的所述存储单元的地址产生相应的存储单元的写使能信号,使得所述block根据所述写使能信号选通相应的存储单元,将所述块标识block_id对应的写数据存储到选通的存储单元中。
9.一种芯片,其特征在于,包括:多个块block,每个block分别管理多个存储单元;所述芯片内的全部存储单元被划分为多个组group,每个group对应多个block;每个block通过如权利要求1-8任意一项所述的写数据通路结构实现数据写入。
10.根据权利要求9所述的芯片,其中,
每个group内的block根据该block内的所述写使能产生模块与所述分段模块的连接方式被划分为多级;
当一个block内的所述写使能产生模块直接与所述分段模块相连时,将该block作为第一级block;未直接与所述分段模块相连的写使能产生模块所在block的级数随着该写使能产生模块连接到所述分段模块所需经过的block的数量的增加而增加。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023077614 | 2023-02-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116457751A true CN116457751A (zh) | 2023-07-18 |
Family
ID=87124234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380008784.XA Pending CN116457751A (zh) | 2023-02-22 | 2023-02-22 | 一种写数据通路结构和芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116457751A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116893991A (zh) * | 2023-09-11 | 2023-10-17 | 芯动微电子科技(珠海)有限公司 | 一种axi协议下的存储模块转换接口及其转换方法 |
-
2023
- 2023-02-22 CN CN202380008784.XA patent/CN116457751A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116893991A (zh) * | 2023-09-11 | 2023-10-17 | 芯动微电子科技(珠海)有限公司 | 一种axi协议下的存储模块转换接口及其转换方法 |
CN116893991B (zh) * | 2023-09-11 | 2024-01-02 | 芯动微电子科技(珠海)有限公司 | 一种axi协议下的存储模块转换接口及其转换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100287320A1 (en) | Interprocessor Communication Architecture | |
CN101710270B (zh) | 一种基于闪存的高速大容量存储器及芯片数据管理方法 | |
US9032162B1 (en) | Systems and methods for providing memory controllers with memory access request merging capabilities | |
US20150301917A1 (en) | Memory Monitoring Method and Related Apparatus | |
CN104216835A (zh) | 一种实现内存融合的方法及装置 | |
US7783823B2 (en) | Hardware device data buffer | |
CN116457751A (zh) | 一种写数据通路结构和芯片 | |
CN104598161B (zh) | 数据读取、写入方法和装置及数据存储结构 | |
CN110851474A (zh) | 数据查询方法、数据库中间件、数据查询设备及存储介质 | |
CN114385089B (zh) | 一种基于交叉编址的动态bank存储方法、装置及电子设备 | |
WO2024078089A1 (zh) | 一种芯片及其数据传输方法 | |
US9471381B2 (en) | Resource allocation in multi-core architectures | |
US8645620B2 (en) | Apparatus and method for accessing a memory device | |
CN111259014B (zh) | 一种fpga的单向链表数据存储方法及系统 | |
CN111541617B (zh) | 一种用于高速大规模并发数据流的数据流表处理方法及装置 | |
US9021321B2 (en) | Testing disk drives shared by multiple processors in a supercomputer complex | |
CN114666103B (zh) | 可信度量装置、设备、系统及可信身份认证方法 | |
US20150106583A1 (en) | Storage space mapping method and apparatus | |
US11275683B2 (en) | Method, apparatus, device and computer-readable storage medium for storage management | |
CN114610231A (zh) | 大位宽数据总线分段存储的控制方法、系统、设备及介质 | |
CN114579505A (zh) | 芯片以及核间通信方法 | |
US20080147888A1 (en) | Address handling | |
CN113076178B (zh) | 报文存储方法、装置及设备 | |
CN104424238B (zh) | 一种海量文件生成的方法、装置 | |
CN111158584B (zh) | 基于泛在电力物联网的配网施工安全质量管控平台大数据存储方法及系统 |
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 |