CN106814973B - 存储器的割包控制器、存储器及存储器的割包控制方法 - Google Patents

存储器的割包控制器、存储器及存储器的割包控制方法 Download PDF

Info

Publication number
CN106814973B
CN106814973B CN201611219488.2A CN201611219488A CN106814973B CN 106814973 B CN106814973 B CN 106814973B CN 201611219488 A CN201611219488 A CN 201611219488A CN 106814973 B CN106814973 B CN 106814973B
Authority
CN
China
Prior art keywords
data
memory
information
identification
instruction
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
Application number
CN201611219488.2A
Other languages
English (en)
Other versions
CN106814973A (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.)
Shenzhen Pango Microsystems Co Ltd
Original Assignee
Shenzhen Pango Microsystems 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 Shenzhen Pango Microsystems Co Ltd filed Critical Shenzhen Pango Microsystems Co Ltd
Priority to CN201611219488.2A priority Critical patent/CN106814973B/zh
Publication of CN106814973A publication Critical patent/CN106814973A/zh
Application granted granted Critical
Publication of CN106814973B publication Critical patent/CN106814973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供一种存储器的割包控制器、存储器及存储器的割包控制方法,控制器通过用户接口接收读请求指令,从中提取到标识信息和结束标识后按照先入先出原则绑定存储到指令信息存储器中,并同时将读请求指令下发到数据命令接口以传输至数据存储器。接收到返回的数据后,控制器根据指令信息存储器中存储的标识信息和结束标识对返回的数据进行割包处理,并将标识信息与割包得到的数据包绑定后返回给用户。由于割包根据结束标识信息进行,不需要参考包长,因此不需要存储包长、提取包长以及根据包长对有效数据指示信号进行处理,因此也不用对返回的数据进行延时,减少了资源的消耗。

Description

存储器的割包控制器、存储器及存储器的割包控制方法
技术领域
本发明涉及电子技术领域,尤其涉及一种存储器的割包控制器、存储器及存储器的割包控制方法。
背景技术
根据DDR SDRAM(Double Data Rate Synchronous Dynamic Random AccessMemory,双倍速率同步动态随机存储器)协议(JESD79-3E,JESD79-2C,JESD209B)的规定,数据的传输是通过对DDR SDRAM发出读写命令以及收发相应的数据来完成的。用户对DDRSDRAM的操作,通常都是通过DDR controller(DDR控制器)进行。
DDR controller与PHY(物理层)之间通过工业标准协议DFI接口(DFI3.0,DFI3.1,DFI4.0)进行命令的传递和数据的交换。PHY的工作频率一般是DDR controller的2倍或4倍。由于DDR SDRAM自身的构造限制,在正常读写模式下,大部分命令之间都存在最小延时要求,而且读写命令与相应的数据之间也有延时要求。为减少延时限制和最大限度的利用DFI接口(DDR PHY Interface,双倍速率同步动态随机存储器物理层接口)的带宽,DDRcontroller设计复杂的指令重排和调度策略必不可少。由于DDR controller调度算法的存在,导致指令在不同的通道之间切换,同时也可能导致指令的先后顺序发生改变,因此对于PHY通过DFI接口返回的读数据重新进行割包尤为关键。
当用户连续下发多个读请求指令后,DFI接口从PHY侧接收的读数据是连续的,丢失了数据的边界。为了从返回的数据中确定出哪些数据属于哪个读请求指令,现有的DDRcontroller从用户接口侧接收到用户的读请求指令后,会解析读请求指令获得对应的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)模式的请求指令;对DDR3 SDRAM内部的寄存器中的读写时序参数进行修改以满足不同频率读写需求的请求指令;定期对DDRSDRAM进行数据刷新的刷新(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、DDR3SDRAM以及DDR4SDRAM、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、DDR2SDRAM、DDR3SDRAM以及DDR4 SDRAM、LPDDR SDRAM,LPDDR2SDRAM等类型。
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、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种存储器的割包控制器,其特征在于,包括用户接口、控制器、指令信息存储器以及数据命令接口;
所述控制器用于通过所述用户接口接收读请求指令,提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入所述指令信息存储器中,并将所述读请求指令下发给所述数据命令接口;以及用于根据所述指令信息存储器中存储的标识信息和结束标识对所述数据命令接口从数据存储器获取到的数据进行割包处理,并将所述标识信息与割包处理得到的数据包进行绑定后通过所述用户接口发出;
所述数据命令接口用于通过物理层传输通道将所述读请求指令下发给所述数据存储器,并接收所述数据存储器根据所述读请求指令通过所述物理层传输通道反馈的数据。
2.如权利要求1所述的存储器的割包控制器,其特征在于,所述控制器用于从所述读请求指令中提取标识信息并对所述读请求指令进行时序逻辑处理得到读有效指示信号与结束标识,在读有效指示信号处于有效状态时,在每一个数据命令接口时钟周期对读结束标识时序信号进行一次提取并与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行,直到提取到所述读请求指令的结束标识。
3.如权利要求2所述的存储器的割包控制器,其特征在于,所述控制器在当前数据命令接口时钟周期从读结束标识时序信号提取到结束标识时,将当前读取结果设置为1与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行;否则,将当前读取结果设置为0与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行。
4.如权利要求2或3所述的存储器的割包控制器,其特征在于,所述数据命令接口还用于接收所述数据存储器通过所述物理层传输通道反馈的与所述数据对应的有效数据指示信号,并将所述有效数据指示信号输入所述指令信息存储器的数据输出使能端;
所述指令信息存储器用于在所述有效数据指示信号处于有效状态时,按照先入先出原则将当前信息存储行中的信息输出;
所述控制器用于根据所述指令信息存储器输出的信息中是否包含结束标识对所述数据进行割包处理。
5.如权利要求1-3任一项所述的存储器的割包控制器,其特征在于,所述指令信息存储器的深度大于等于16个数据命令接口时钟周期,小于等于32个数据命令接口时钟周期。
6.一种存储器,其特征在于,包括数据存储器以及如权利要求1-5任一项所述的割包控制器;
所述割包控制器的数据命令接口通过物理层传输通道与所述数据存储器连接。
7.一种存储器的割包控制方法,其特征在于,包括:
接收到读请求指令后,提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入指令信息存储器中,并将所述读请求指令下发给数据存储器;
接收所述数据存储器根据所述读请求指令反馈的数据;
根据所述指令信息存储器中存储的标识信息和结束标识对所述数据进行割包处理,并将所述标识信息与割包处理得到的数据包进行绑定后发出。
8.如权利要求7所述的存储器的割包控制方法,其特征在于,所述提取该读请求指令的标识信息以及结束标识并按先入先出原则绑定存入指令信息存储器包括:
从所述读请求指令中提取标识信息并对所述读请求指令进行时序逻辑处理得到读有效指示信号与结束标识;
在读有效指示信号处于有效状态时,在每一个数据命令接口时钟周期对读结束标识时序信号进行一次提取并与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行,直到提取到所述读请求指令的结束标识。
9.如权利要求8所述的存储器的割包控制方法,其特征在于,在当前时钟周期从读结束标识时序信号提取到结束标识时,将当前读取结果设置为1与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行;否则,将当前读取结果设置为0与所述标识信息绑定存入到所述指令信息存储器对应的信息存储行。
10.如权利要求8或9所述的存储器的割包控制方法,其特征在于,还包括接收所述数据存储器根据所述读请求指令反馈的数据的同时,接收所述数据存储器反馈的与所述数据对应的有效数据指示信号,并将所述有效数据指示信号输入所述指令信息存储器的数据输出使能端;
所述指令信息存储器在所述有效数据指示信号处于有效状态时,按照先入先出原则将当前信息存储行中的信息输出;
所述根据所述指令信息存储器中存储的标识信息和结束标识对所述数据进行割包处理包括:
根据所述指令信息存储器输出的信息中是否包含结束标识对所述数据进行割包处理。
CN201611219488.2A 2016-12-26 2016-12-26 存储器的割包控制器、存储器及存储器的割包控制方法 Active CN106814973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611219488.2A CN106814973B (zh) 2016-12-26 2016-12-26 存储器的割包控制器、存储器及存储器的割包控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611219488.2A CN106814973B (zh) 2016-12-26 2016-12-26 存储器的割包控制器、存储器及存储器的割包控制方法

Publications (2)

Publication Number Publication Date
CN106814973A CN106814973A (zh) 2017-06-09
CN106814973B true CN106814973B (zh) 2023-02-28

Family

ID=59109341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611219488.2A Active CN106814973B (zh) 2016-12-26 2016-12-26 存储器的割包控制器、存储器及存储器的割包控制方法

Country Status (1)

Country Link
CN (1) CN106814973B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019136749A1 (zh) * 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 流水处理接口结构、电子器件及电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604682A (en) * 1982-09-30 1986-08-05 Teleplex Corporation Buffer system for interfacing an intermittently accessing data processor to an independently clocked communications system
US5721861A (en) * 1990-06-19 1998-02-24 Fujitsu Limited Array disc memory equipment capable of confirming logical address positions for disc drive modules installed therein
CN1804823A (zh) * 2005-12-22 2006-07-19 北京中星微电子有限公司 直接存储访问控制器
CN101645053A (zh) * 2009-06-29 2010-02-10 福建星网锐捷网络有限公司 一种提高数据传输效率的方法及装置
CN104461938A (zh) * 2014-12-11 2015-03-25 北京国双科技有限公司 数据读取方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604682A (en) * 1982-09-30 1986-08-05 Teleplex Corporation Buffer system for interfacing an intermittently accessing data processor to an independently clocked communications system
US5721861A (en) * 1990-06-19 1998-02-24 Fujitsu Limited Array disc memory equipment capable of confirming logical address positions for disc drive modules installed therein
CN1804823A (zh) * 2005-12-22 2006-07-19 北京中星微电子有限公司 直接存储访问控制器
CN101645053A (zh) * 2009-06-29 2010-02-10 福建星网锐捷网络有限公司 一种提高数据传输效率的方法及装置
CN104461938A (zh) * 2014-12-11 2015-03-25 北京国双科技有限公司 数据读取方法和装置

Also Published As

Publication number Publication date
CN106814973A (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
KR101709385B1 (ko) 메모리 응답을 정렬하는 메모리 장치, 컴퓨터 시스템 및 방법
CN103714038B (zh) 一种数据处理方法和装置
CN102750257B (zh) 基于访问信息调度的片上多核共享存储控制器
US10346090B2 (en) Memory controller, memory buffer chip and memory system
CN103077132B (zh) 一种高速缓存处理方法及协议处理器高速缓存控制单元
CN104160384A (zh) 用于动态优先级控制的系统和方法
US20210280226A1 (en) Memory component with adjustable core-to-interface data rate ratio
US8954644B2 (en) Apparatus and method for controlling memory
US10535393B1 (en) Configuring dynamic random access memory refreshes for systems having multiple ranks of memory
CN100376006C (zh) 具有数据选通脉冲电路的半导体内存装置
CN107153511A (zh) 存储节点、混合存储器控制器及控制混合存储器组的方法
CN116504288A (zh) 具有输入/输出数据速率对齐的存储器部件
CN103106166A (zh) 一种协议无关、可支持目标读写操作的pcie ip核用户逻辑接口设计方法
CN116225990A (zh) 基于fpga的多通道ddr读写仲裁装置
US9685220B2 (en) DDR controller, method for implementing the same, and chip
CN102236622A (zh) 提高动态存储器带宽利用率的动态存储器控制器及方法
CN106814973B (zh) 存储器的割包控制器、存储器及存储器的割包控制方法
US20170024146A1 (en) Memory controller, information processing device, and control method
EP2801913A1 (en) Memory control apparatus and method
CN102751966B (zh) 延迟电路和存储器的潜伏时间控制电路及其信号延迟方法
US20060123187A1 (en) Memory controller to utilize DRAM write buffers
CN106874222B (zh) 指令延时控制方法、控制器以及存储器
CN109992198B (zh) 神经网络的数据传输方法及相关产品
CN100354814C (zh) 存储器写入方法与控制装置
JP2004127305A (ja) メモリ制御装置

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