存储器的割包控制器、存储器及存储器的割包控制方法与流程

文档序号:12595418阅读:298来源:国知局
存储器的割包控制器、存储器及存储器的割包控制方法与流程

本发明涉及电子技术领域,尤其涉及一种存储器的割包控制器、存储器及存储器的割包控制方法。



背景技术:

根据DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器)协议(JESD79-3E,JESD79-2C,JESD209B)的规定,数据的传输是通过对DDR SDRAM发出读写命令以及收发相应的数据来完成的。用户对DDR SDRAM的操作,通常都是通过DDR controller(DDR控制器)进行。

DDR controller与PHY(物理层)之间通过工业标准协议DFI接口(DFI3.0,DFI3.1,DFI4.0)进行命令的传递和数据的交换。PHY的工作频率一般是DDR controller的2倍或4倍。由于DDR SDRAM自身的构造限制,在正常读写模式下,大部分命令之间都存在最小延时要求,而且读写命令与相应的数据之间也有延时要求。为减少延时限制和最大限度的利用DFI接口(DDR PHY Interface,双倍速率同步动态随机存储器物理层接口)的带宽,DDR controller设计复杂的指令重排和调度策略必不可少。由于DDR controller调度算法的存在,导致指令在不同的通道之间切换,同时也可能导致指令的先后顺序发生改变,因此对于PHY通过DFI接口返回的读数据重新进行割包尤为关键。

当用户连续下发多个读请求指令后,DFI接口从PHY侧接收的读数据是连续的,丢失了数据的边界。为了从返回的数据中确定出哪些数据属于哪个读请求指令,现有的DDR controller从用户接口侧接收到用户的读请求指令后,会解析读请求指令获得对应的ID号和包长存储到FIFO(First Input First Output,先入先出队列),存储的格式如图1所示:一个读请求指令对应的ID号和包长存储在一行中。同时,DDR controller还会将读请求指令通过DFI接口发送到PHY。读数据返回后,DDR controller通过提取FIFO中存储的包长,重新对读数据进行割包,割包完成后将对应的数据与ID号打包返回给用户。DFI接口从PHY侧接收到的除了连续的读数据以外,还包括有效数据指示信号。根据包长对返回的连续数据进行割包处理时,需要在接收到有效数据指示信号时,从FIFO中提取出包长,进而根据包长对有效数据指示信号进行处理,为其添加结束标识,这个处理过程需要一定的时间,而为了保证经过处理后的有效数据指示信号依旧与返回的读数据的步调一致,则需要对返回的数据也进行延时。而对数据进行延时需消耗大量资源,且返回数据位宽越大,则资源消耗越大。同时直接在FIFO中存储包长,包长越长,对FIFO的位宽要求越大,这会进一步增大资源消耗。

综上,现在亟需提出一种新的割包方案,用以解决现有技术中根据包长进行割包需要花费时间对有效数据指示信号进行处理,从而造成返回数据延时大,资源消耗大的问题。



技术实现要素:

本发明提供的存储器的割包控制器、存储器及存储器的割包控制方法,主要解决的技术问题是:解决现有技术中的割包方案中利用包长实现割包,而通过包长实现割包导致电路延时增加,造成资源消耗较多。

为解决上述技术问题,本发明提供一种存储器的割包控制器,包括用户接口、控制器、指令信息存储器以及数据命令接口;

所述控制器用于通过所述用户接口接收读请求指令,提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入所述指令信息存储器中,并将所述读请求指令下发给所述数据命令接口;以及用于根据所述指令信息存储器中存储的标识信息和结束标识对所述数据命令接口从数据存储器获取到的数据进行割包处理,并将所述标识信息与割包处理得到的数据包进行绑定后通过所述用户接口发出;

所述数据命令接口用于通过物理层传输通道将所述读请求指令下发给所述数据存储器,并接收所述数据存储器根据所述读请求指令通过所述物理层传输通道反馈的数据。

进一步地,所述控制器用于从所述读请求指令中提取标识信息并对所述读请求指令进行时序逻辑处理,在读有效指示信号处于有效状态时,在每一个数据命令接口时钟周期对结束标识时序信号进行一次提取并与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行,直到提取到所述读请求指令的结束标识。

进一步地,所述控制器在当前数据命令接口时钟周期从读结束标识时序信号提取到结束标识时,将当前读取结果设置为1与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行;否则,将当前读取结果设置为0与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行。

进一步地,所述数据命令接口还用于接收所述数据存储器通过所述物理层传输通道反馈的与所述数据对应的有效数据指示信号,并将所述有效数据指示信号输入所述指令信息存储器的数据输出使能端;

所述指令信息存储器用于在所述有效数据指示信号处于有效状态时,按照先入先出原则将当前信息存储行中的信息输出;

所述控制器用于根据所述指令信息存储器输出的信息中是否包含结束标识对所述数据进行割包处理。

进一步地,所述指令信息存储器的深度大于等于16个数据命令接口时钟周期,小于等于32个数据命令接口时钟周期。

本发明还提供一种存储器,包括数据存储器以及如上所述的割包控制器;所述割包控制器的数据命令接口通过物理层传输通道与所述数据存储器连接。

本发明还提供一种存储器的割包控制方法,包括:

接收到读请求指令后,提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入指令信息存储器中,并将所述读请求指令下发给数据存储器;

接收所述数据存储器根据所述读请求指令反馈的数据;

根据所述指令信息存储器中存储的标识信息和结束标识对所述数据进行割包处理,并将所述标识信息与割包处理得到的数据包进行绑定后发出。

进一步地,所述提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入指令信息存储器包括:

从所述读请求指令中提取标识信息并对所述读请求指令进行时序逻辑处理得到读有效指示信号及结束标识;

在读有效指示信号处于有效状态时,在每一个数据命令接口时钟周期对结束标识时序信号进行一次提取并与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行,直到提取到所述读请求指令的结束标识。

进一步地,在当前时钟周期从读结束标识时序信号提取到结束标识时,将当前读取结果设置为1与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行;否则,将当前读取结果设置为0与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行。

进一步地,还包括接收所述数据存储器根据所述读请求指令反馈的数据的同时,接收所述数据存储器反馈的与所述数据对应的有效数据指示信号,并将所述有效数据指示信号输入所述指令信息存储器的数据输出使能端;

所述指令信息存储器在所述有效数据指示信号处于有效状态时,按照先入先出原则将当前信息存储行中的信息输出;

所述根据所述指令信息存储器中存储的标识信息和结束标识对所述数据进行割包处理包括:

根据所述指令信息存储器输出的信息中是否包含结束标识对所述数据进行割包处理。

本发明的有益效果是:

本发明提供一种存储器的割包控制器、存储器及存储器的割包控制方法,割包控制器中的控制器通过用户接口接收读请求指令,从中提取到标识信息和结束标识后按照先入先出原则绑定存储到指令信息存储器中,并同时将读请求指令下发到数据命令接口,然后由数据命令接口通过物理层传输通道将读请求指令下发给数据存储器。数据命令接口接收到根据读请求指令返回的数据后,控制器根据指令信息存储器中存储的标识信息和结束标识对返回的数据进行割包处理,并将标识信息与割包处理得到的数据包绑定后通过用户接口返回给用户。由于本发明提供的数据割包方案根据结束标识信息进行,不需要参考包长,因此本发明的方案中不需要存储包长,自然也不需要提取包长,不需要根据包长对有效时序信号进行处理,因此也不需要对返回的数据进行延时,这减少了资源的消耗。同时,相对于二进制包长的长度而言,结束标识的长度仅为一位,因此,指令信息存储器的位宽将显著减小,降低了资源消耗。

附图说明

图1为现有技术中ID号和包长的存储格式示意图;

图2为本发明实施例一提供的割包控制器的一种结构示意图;

图3为本发明各实施例中控制器对两个读请求指令进行时序逻辑处理得到的时序图;

图4为本发明各实施例中标识信息与结束标识的一种存储格式示意图;

图5为本发明实施例一提供的存储器的一种硬件结构示意图;

图6为本发明实施例一提供的预取队列的一种结构框图;

图7为本发明实施例二提供的存储器的割包控制方法的一种流程图;

图8为本发明实施例二提供的提取标识信息与结束标识进行存储的一种流程图。

具体实施方式

下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。

实施例一:

由于现有技术中基于包长进行数据割包处理,依据包长割包会导致电路延时增加,同时而包长转化成二进制存储在指令信息存储器时需要占据多位,进而使得指令信息存储器的位宽较大,本实施例先提供一种割包控制器,请参见图2:

割包控制器2包括用户接口21、控制器22、指令信息存储器23以及数据命令接口24。用户接口21、指令信息存储器23以及数据命令接口24分别与控制器22连接。其中用户接口21是与用户进行交互的通道,用户可以通过用户接口21下发请求指令,用户接口21将接收到的请求指令发送给控制器22,由控制器22对请求指令进行解析处理。控制器22从用户接口处接收到的请求指令包括与数据存储器上的数据读写相关的请求指令,例如rd(读指令)、wr(写指令)、act(激活指令)、pre(预充电指令)、wra(带预充电的写指令)和rda(带预充电的读指令)等。除了与数据读写相关的请求指令以外,还包括控制使DDR SDRAM进入低功耗的掉电(Power Down)模式或自刷新(Self-Refresh)模式的请求指令;对DDR3SDRAM内部的寄存器中的读写时序参数进行修改以满足不同频率读写需求的请求指令;定期对DDR SDRAM进行数据刷新的刷新(Refresh)请求指令等。同时,请求指令的响应结果也会通过用户接口21反馈给用户,例如根据用户的读请求指令向用户返回需要读取的数据等。

指令信息存储器23中可以存储控制器22对用户的请求指令进行解析后获得的信息,例如,在本实施例中,当控制器22对用户的读请求指令进行解析之后,将会把读请求信息对应的标识信息与结束标识存储到指令信息存储器23中。

控制器22对读请求指令的解析过程中包括这样两个过程:从读请求指令中提取出标识信息,也即读请求的ID号。同时,控制器22还会对读请求指令进行时序逻辑处理得到读有效指示信号和结束标识。图3所示出的是控制器22对用户两个读请求指令进行时序逻辑处理得到的时序图。在读有效指示信号处于有效状态时,在每一个数据命令接口时钟周期对读结束标识时序信号进行一次提取,并与标识信息绑定存入到指令信息存储器对应的信息存储行。

在本实施例中,控制器22在当前数据命令接口时钟周期从读结束标识时序信号提取到结束标识时,如果提取到结束标识,则将当前读取结果设置为1与标识信息绑定存入到指令信息存储器对应的信息存储行;否则,将当前读取结果设置为0与标识信息绑定存入到指令信息存储器对应的信息存储行。这就相当于将读请求指令的结束标识设置为“1”,应当理解的是,控制器22也可以将读请求指令的结束标识设置为“0”,即控制器22在当前数据命令接口时钟周期从读结束标识时序信号提取到结束标识,如果提取到结束标识,则将当前读取结果设置为0与标识信息绑定存入到指令信息存储器对应的信息存储行;否则,将当前读取结果设置为1与标识信息绑定存入到指令信息存储器对应的信息存储行。

图4示出的本实施例中指令信息存储器23对标识信息与结束标识的一种存储格式的示意图:在图4当中,指令信息存储器23通过先入先出队列的形式进行管理,FIFO的位宽等于ID号所占宽度加1,相对于现有方案中由ID号所占宽度与包长所占宽度之和形成的位宽,要小太多了。对于FIFO的深度,则与用户接口21接收到读请求指令到根据读请求指令返回读取数据的时间长短有关系,也就是存储器完整处理一个读请求所需要的时间T有关。因为在T时间内,虽然存储器只能完整处理一个读请求指令,但是用户可能还会在这个时间内下发一个或多个读请求指令,控制器22需要对接收到的读请求指令进行解析,并将对应的标识信息与结束标识存储到FIFO中。假定在T时间内,控制器22从用户接口21又处接收到3个读请求,则FIFO不仅需要对之前存储的一个读请求的信息进行存储,还要保证后面3个读请求对应的结束标识与标识信息也能够被存储到FIFO中,所以在T时间内,FIFO需要保证能够存储4个读请求指令的相关信息,而每一个读请求指令的标识信息与结束标识在FIFO中所占用的行数是不尽相同的,也就是各读请求指令信息存储所占用的FIFO深度不相同。为了保证FIFO自身的深度足以存储任意4个读请求指令,则通常会根据一个读请求指令所占用的最大深度来计算确定FIFO的深度。例如,假定根据工程经验发现一个读请求指令相关信息的存储做多占用4行,则可以确定出FIFO所需要的最大深度为16行。假定控制器22开始向FIFO写入一个读请求的标识信息与结束标识的时刻为t1,控制器22开始从FIFO读出该读请求对应的标识信息与结束标识的时刻为t2。则应当理解的是,FIFO的深度仅与t2与t1间时间差值的大小相关。实际上,可以将指令信息存储器的深度设置为大于等于16个数据命令接口时钟周期,小于等于32个数据命令接口时钟周期。

在控制器22对读请求指令进行解析的同时,还会将读请求指令通过数据接口24传输到物理层传输通道上。在本实施例中,数据命令接口可以传输数据信息、命令信息、状态信息、Debug(调试)信息、Training(训练)信息等,其可以通过DFI接口实现。在本实施例的一种示例当中,还提供一种包括上述割包控制器2的存储器,请参见图5,存储器50包括割包控制器2、数据存储器5以及连接割包控制器2和数据存储器5的物理层传输通道6。存储器50可以是DDR存储器,DDR存储器又分为DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM以及DDR4 SDRAM、LPDDR SDRAM,LPDDR2 SDRAM等类型。

控制器22将读请求指令下发到数据命令接口24后,物理层传输通道6将读请求指令传输给数据存储器5,以便从数据存储器5上读取到用户所请求的数据后通过物理层传输通道6再反馈到数据命令接口24上。当数据命令接口24接收到返回的数据之后,控制器22将会可以从指令信息存储器23中提取ID号与结束标识对数据进行割包处理。由于本实施例中针对一个读请求指令的结束标识的存储是根据时钟信号进行绑定存储的,因此,在割包处理的时候,也应当与时钟信息绑定输出,即控制器22接收数据命令接口24返回的数据的过程应当与从指令信息存储器23中提取结束标识的过程同步。为了保证二者步调一致,在数据存储器5向割包控制器2的数据命令接口24返回的信息中,除了包括读请求指令对应的数据以外,还包括与数据对应的有效数据指示信号。有效数据指示信号可以输入指令信息存储器23的数据输出使能端,从而控制指令信息存储器23输出结束标识的步调。

当有效数据指示信号处于有效状态时,控制器22控制指令信息存储器23按照先入先出的原则将之前存储的标识信息与结束标识进行输出,从而根据结束标识对数据命令接口24返回的数据进行割包处理。和提取结束标识的过程类似,控制器22也是在每一个数据命令接口时钟周期后确定一次是否进行割包,具体的,控制器22会在每一个数据命令接口时钟周期后确定指令信息存储器23当前是否输出了结束标识,若否,则说明割包时机未到,若是,则证明应当立即执行割包动作。

若之前向指令存储器23中写入结束标识的时候是将结束标识设置为“1”,在各数据命令接口时钟周期到达时,控制器22判断指令信息存储器23的输出是“0”还是“1”,若输出为“0”则标识读请求指令还未结束,若输出结果为“1”,则表征对应一个读请求指令的数据已经输出完成,可以进行割包了。同样的,若之前向指令存储器23中写入结束标识的时候是将结束标识设置为“0”,则输出结果与执行割包的动作与上述示例相反,这里不再赘述。

本实施例还提供一种可作为指令信息存储器的预取队列(Prefetch FIFO)的结构框图,请参见图6,预取队列60包括数据输入端61、数据输入使能端62、数据输出端63、数据输出使能端64。数据输入端61、数据输入使能端62相互配合实现读请求指令相关信息的写入。当“Ready-in”端输出的信号处于有效状态时,表征预取队列60已经准备好接受写入了。由于本申请中已经保证预取队列60中有足够的存储空间来存储读请求指令的结束标识与标识信息,因此,为了保证整个电路的流水,本实施例中“Ready-in”端可以一直处于有效状态。在数据输入使能端62输入的输入控制信号处于有效状态时,预取队列60写入从数据输入端61输入的信息。数据输出端63、数据输出使能端64相互配合实现数据的输出:从数据输出使能端64输入的有效数据指示信号处于有效状态时,预取队列60控制预先写入的信息按照先入先出原则从数据输出端63输出。有效数据指示信号是同数据存储器返回给DFI接口的数据一起的,输出的信息包括读请求指令的标识信息和结束标识。由于预取队列60的输出带寄存器,为了防止结束标识被异常保持,在本实施例中,可以通过有效数据指示信号与“Valid-out”端输出信号的与逻辑控制结束标识从数据选择器(MUX)65的输出,进而控制割包处理。

割包处理之后将会得到一个读请求指令对应的数据包,控制器22还能将获得的数据包与指令信息存储器23中输出的标识信息进行绑定打包处理后通过用户接口21返回给用户,以响应用户的读请求指令。

本发明实施例提供的割包控制器与存储器,其中割包控制器通过对用户接口处接收到的读请求指令进行解析,提取出读请求指令的标识信息与结束标识并按先入先出原则绑定存入到指令信息存储器中;同时将读请求指令下发到数据命令接口处,由数据命令接口将读请求指令发送给数据存储器获得对应于读请求指令的数据。当数据命令接口接收到返回的数据之后,控制器将会提取指令信息存储器中的标识信息和结束标识,基于结束标识实现割包,从而得到与读请求指令对应的数据包返回给用户接口。由于割包处理不需要依赖于包长,不需要根据包长对有效时序信号进行处理,因此也不需要对返回的数据进行延时,这减少了资源的消耗。同时,相对于二进制包长的长度而言,结束标识的长度仅为一位,因此,指令信息存储器的位宽将显著减小。进一步地,由于割包是借助比包长更简单、长度更小的结束标识进行,因此指令信息存储器中针对读请求指令的存储位宽变小,减少了资源浪费。

实施例二:

本实施例提供一种存储器的割包控制方法,该方法可以由实施例一中的割包控制器实施,具体的过程请参见图7:

S702、接收到读请求指令后,提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入指令信息存储器中,并将读请求指令下发给数据存储器。

实施本实施例中存储器的割包控制方法的割包控制器的结构示意图请继续参见图2。控制器22从用户接口处接收到读请求指令之后,会同时进行两个过程:一个是将读请求指令下发到数据命令接口24,以便让数据命令接口24通过物理层传输通道将读请求指令发送给数据存储器,进而实现数据的读取;另一个是提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入指令信息存储器23。下面结合图8对提取标识信息与结束标识并进行存储的过程进行介绍:

S802、从读请求指令中提取标识信息并对读请求指令进行时序逻辑处理。

从读请求指令中提取出标识信息,也即读请求的ID号。同时,控制器还会对读请求指令进行时序逻辑处理得到读有效指示信号和结束标识。图3所示出的是控制器22对用户两个读请求指令进行时序逻辑处理得到的时序图。

S804、在读有效指示信号处于有效状态时,在每一个数据命令接口时钟周期对结束标识时序信号进行一次提取并与标识信息绑定存入到指令信息存储器对应的信息存储行,直到提取到读请求指令的结束标识。

在读有效指示信号处于有效状态时,在每一个数据命令接口时钟周期对读结束标识时序信号进行一次提取,并与标识信息绑定存入到指令信息存储器对应的信息存储行,直到提取到读请求指令的结束标识。

在本实施例中,控制器22在当前数据命令接口时钟周期从读结束标识时序信号提取到结束标识时,如果提取到结束标识,则将当前读取结果设置为1与标识信息绑定存入到指令信息存储器对应的信息存储行;否则,将当前读取结果设置为0与标识信息绑定存入到指令信息存储器对应的信息存储行。这就相当于将读请求指令的结束标识设置为“1”,应当理解的是,也可以将读请求指令的结束标识设置为“0”,即控制器22在当前数据命令接口时钟周期从读结束标识时序信号提取到结束标识时,如果提取到结束标识,则将当前读取结果设置为0与标识信息绑定存入到指令信息存储器对应的信息存储行;否则,将当前读取结果设置为1与标识信息绑定存入到指令信息存储器对应的信息存储行。

图4示出的本实施例中指令信息存储器23对标识信息与结束标识的一种存储格式的示意图:在图4当中,指令信息存储器23通过先入先出队列的形式进行管理,FIFO的位宽等于ID号所占宽度加1,相对于现有方案中由ID号所占宽度与包长所占宽度之和形成的位宽,要小太多了。对于FIFO的深度,则与用户接口接收到读请求指令到根据读请求指令返回读取数据的时间长短有关系,也就是存储器完整处理一个读请求所需要的时间T有关。因为在T时间内,虽然存储器只能完整处理一个读请求指令,但是用户可能会在这个时间内下发多个读请求指令,控制器22需要对接收到的读请求指令进行解析,并将对应的标识信息与结束标识存储到FIFO中。假定在T时间内,控制器22从用户接口21又处接收到3个读请求,则FIFI不仅需要对之前存储的一个读请求的信息进行存储,还要保证后面3个读请求对应的结束标识与标识信息也能够被存储到FIFO中,所以在T时间内,FIFO需要保证能够存储4个读请求指令的相关信息,而每一个读请求指令的标识信息与结束标识在FIFO中所占用的行数是不尽相同的,也就是各读请求指令信息存储所占用的FIFO深度不相同。为了保证FIFO自身的深度足以存储任意4个读请求指令,则通常会按照一个读请求指令所占用的最大深度来计算确定FIFO的深度。例如,假定根据工程经验发现一个读请求指令相关信息的存储做多占用4行,则可以确定出FIFO所需要的最大深度为16行。假定控制器22开始向FIFO写入一个读请求的标识信息与结束标识的时刻为t1,控制器22开始从FIFO读出该读请求对应的标识信息与结束标识的时刻为t2。则应当理解的是,FIFO的深度仅与t2与t1间时间差值的大小相关。实际上,可以将指令信息存储器的深度设置为大于等于16个数据命令接口时钟周期,小于等于32个数据命令接口时钟周期。

在控制器22对读请求指令进行解析的同时,还会将读请求指令通过数据命令接口24传输到物理层传输通道上。在本实施例中,数据命令接口可以传输数据信息、命令信息、状态信息、Debug(调试)信息、Training(训练)信息等,其可以通过DFI接口实现。在本实施例的一种示例当中,还提供一种包括上述割包控制器2的存储器,请参见图5,存储器50包括割包控制器2、数据存储器5以及连接割包控制器2和数据存储器5的物理层传输通道6。存储器50可以是DDR存储器中的任意一种,DDR存储器又可以分为DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM以及DDR4 SDRAM、LPDDR SDRAM,LPDDR2 SDRAM等类型。

S704、接收数据存储器根据读请求指令反馈的数据。

控制器22将读请求指令下发到数据命令接口24后,物理层传输通道6将读请求指令传输给数据存储器5,以便从数据存储器5上读取到用户所请求的数据后通过物理层传输通道6再反馈到数据命令接口24上。

S706、根据指令信息存储器中存储的标识信息和结束标识对数据进行割包处理,并将标识信息与割包处理得到的数据包进行绑定后发出。

当数据命令接口24接收到返回的数据之后,控制器22将会可以从指令信息存储器23中提取ID号与结束标识对数据进行割包处理。由于本实施例中针对一个读请求指令的结束标识的存储是根据时钟信号进行绑定存储的,因此,在割包处理的时候,也应当与时钟信息绑定输出,即控制器22接收数据命令接口24返回的数据的过程应当与从指令信息存储器23中提取结束标识的过程同步。为了保证二者步调一致,在数据存储器5向割包控制器2的数据命令接口24返回的信息中,除了包括读请求指令对应的数据以外,还包括与数据对应的有效数据指示信号。有效数据指示信号可以输入指令信息存储器23的数据输出使能端,从而控制指令信息存储器23输出结束标识的步调。

当有效数据指示信号处于有效状态时,控制器22控制指令信息存储器23按照先入先出的原则将之前存储的标识信息与结束标识进行输出,从而根据结束标识对数据命令接口24返回的数据进行割包处理。和提取结束标识的过程类似,控制器22也是在每一个数据命令接口时钟周期后确定一次是否进行割包,具体的,控制器22会在每一个数据命令接口时钟周期后确定指令信息存储器23当前是否输出了结束标识,若否,则说明割包时机未到,若是,则证明应当立即执行割包动作。

若之前向指令存储器23中写入结束标识的时候是将结束标识设置为“1”,在各数据命令接口时钟周期到达时,控制器22判断指令信息存储器23的输出是“0”还是“1”,若输出为“0”则标识读请求指令还未结束,若输出结果为“1”,则表征对应一个读请求指令的数据已经输出完成,可以进行割包了。同样的,若之前向指令存储器23中写入结束标识的时候是将结束标识设置为“0”,则输出结果与执行割包的动作与上述示例相反,这里不再赘述。

本实施例还提供一种可作为指令信息存储器的预取队列的结构框图,请参见图6,预取队列60包括数据输入端61、数据输入使能端62、数据输出端63、数据输出使能端64。数据输入端61、数据输入使能端62相互配合实现读请求指令相关信息的写入。当“Ready-in”端输出的信号处于有效状态时,表征预取队列60已经准备好接受写入了。由于本申请中已经保证预取队列60中有足够的存储空间来存储读请求指令的结束标识与标识信息,因此,为了保证整个电路的流水,本实施例中“Ready-in”端可以一直处于有效状态。在数据输入使能端62输入的读有效指示信号处于有效状态时,预取队列60写入从数据输入端61输入的信息。数据输出端63、数据输出使能端64相互配合实现数据的输出:从数据输出使能端64输入的有效数据指示信号处于有效状态时,预取队列60控制预先写入的信息按照先入先出原则从数据输出端63输出。有效数据指示信号是同数据存储器返回给DFI接口的数据一起的,输出的信息包括读请求指令的标识信息和结束标识。由于预取队列60的输出带寄存器,为了防止结束标识被异常保持,在本实施例中,可以通过有效数据指示信号与“Valid-out”端输出信号的与逻辑控制结束标识从数据选择器65的输出,进而控制割包处理。

割包处理之后将会得到一个读请求指令对应的数据包,控制器22还能将获得的数据包与指令信息存储器23中输出的标识信息进行绑定打包处理后通过用户接口21返回给用户,以响应用户的读请求指令。

本发明实施例提供的存储器的割包控制方法,控制器通过对用户接口处接收到的读请求指令进行解析,提取出读请求指令的标识信息与结束标识并按先入先出原则绑定存入到指令信息存储器中;同时将读请求指令下发到数据命令接口处,由数据命令接口将读请求指令发送给数据存储器获得对应于读请求指令的数据。当数据命令接口接收到返回的数据之后,控制器将会提取指令信息存储器中的标识信息和结束标识,基于结束标识实现割包,从而得到与读请求指令对应的数据包返回给用户接口。由于割包处理不需要依赖于包长,不需要根据包长对有效时序信号进行处理,因此也不需要对返回的数据进行延时,这减少了资源的消耗。同时,相对于二进制包长的长度而言,结束标识的长度仅为一位,因此,指令信息存储器的位宽将显著减小。进一步地,由于割包是借助比包长更简单、长度更小的结束标识进行,因此指令信息存储器中针对读请求指令的存储位宽变小,减少了资源浪费。

显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1