1.本发明涉及存储装置技术领域,具体是涉及一种存储器的控制电路、伪静态随机存储器及其控制方法。
背景技术:2.psram(pseudo static random access memory,伪静态随机存储器)采用和dram(dynamic random access memory,动态随机存储器)一样的电容存储结构单元,由于存储在电容上的电荷会随着时间丢失,为了保持数据完整性,存储器需要定期对电容的电荷进行补充,这个过程称为刷新。相比于dram刷新指令需要用存储控制器发出,psram简化了接口设计,将刷新的控制模块内嵌到了psram内部,例如xccela协议的psram,因此其刷新指令不再由存储控制器发出,而是由存储器内部自动管理,存储控制器仅发送自己需要指令给存储器(比如读写操作),这样大大简化了存储控制器的设计。
3.然而,由于将刷新操作内嵌到了psram内部,内部的刷新指令和外部接收到的读写指令完全异步,会存在内部的刷新指令和外部的读写指令相冲突的情况,这就会导致刷新不及时存储数据的损坏或者需要写入的数据不能正确写入到存储阵列中。
技术实现要素:4.本技术解决的技术问题为如何有效解决伪静态随机存储器内部的刷新指令和外部的读写指令相冲突导致的读写操作异常的问题。
5.为解决上述问题,本技术第一个方面,提供了一种存储器的控制电路,包括:命令控制器,所述命令控制器用于判断是否同时接收到读/写指令与刷新指令;数据缓存器;连接所述命令控制器,响应于所述命令控制器判断同时接收到所述读/写指令与所述刷新指令,将所述读/写指令对应的待处理数据缓存在所述数据缓存器内,待刷新指令执行完成再执行所述读/写指令。
6.在一种可能的实施方式中,还包括:刷新指令产生装置,连接所述命令控制器,用于产生所述刷新指令;命令解码装置,连接所述命令控制器,用于解析接收到的指令,所述指令包括读/写指令;传输接口,连接所述命令解码装置,还连接所述数据缓存器,所述传输接口用于接收外部的所述指令以及所述待处理数据,并当所述命令控制器判断同时接收到所述读/写指令与所述刷新指令时,将所述待处理数据缓存在所述数据缓存器内。
7.在一种可能的实施方式中,所述数据缓存器复用于读操作,响应于所述命令控制器判断同时接收到写指令与所述刷新指令,所述数据缓存器用于缓存所述写指令对应的写数据;响应于所述命令控制器判断同时接收到读指令与所述刷新指令,所述数据缓存器用于缓存从所述存储单元取出的读数据。
8.在一种可能的实施方式中,还包括:串并转换装置,所述传输接口通过所述串并转换装置连接所述数据缓存器。
9.在一种可能的实施方式中,所述数据缓存器为先入先出队列的数据存储器。
10.为解决上述问题,本技术第二个方面,提供了一种伪静态随机存储器,包括上述描述的存储器的控制电路;还包括:存储单元,连接所述命令控制器与所述数据缓存器,所述存储单元存储有读指令对应的待处理数据,所述存储单元还用于存储写指令对应的待处理数据。
11.为解决上述问题,本技术第三个方面,提供了一种伪静态随机存储器的控制方法,应用于上述描述的伪静态随机存储器,包括:响应于所述伪静态随机存储器同时获取到刷新指令以及读/写指令,执行所述刷新指令,并对所述读/写指令对应的待处理数据进行缓存;响应于所述刷新指令执行完成,执行所述读/写指令。
12.在一种可能的实施方式中,所述响应于所述伪静态随机存储器同时获取到刷新指令以及读/写指令,执行所述刷新指令,并对所述读/写指令对应的待处理数据进行缓存的步骤,具体包括:将所述读/写指令对应的待处理数据缓存到数据缓存器中,其中,所述数据缓存器用于缓存所述写指令对应的写数据,所述数据缓存器还用于执行读指令时,缓存从存储单元取出的读数据。
13.在一种可能的实施方式中,若接收到的指令为写指令,所述响应于所述刷新指令执行完成,执行所述读/写指令的步骤,包括:获取所述写指令的写地址,将数据总线传播方向调整为写数据方向,所述数据缓存器上缓存的写数据输送至所述数据总线上,所述写数据通过所述数据总线送入地址为所述写地址的存储单元进行存储。
14.在一种可能的实施方式中,若接收到的指令为读指令,所述响应于所述刷新指令执行完成,执行所述读/写指令的步骤,包括:获取所述读指令的读地址,将数据总线传播方向调整为读数据方向,将地址为所述读地址的存储单元的内容通过所述数据总线输出至所述数据缓存器缓存,待读取延迟后,再将缓存的内容输出至传输接口。
15.区别于现有技术,本技术提出一种存储器的控制电路、伪静态随机存储器及其控制方法,该存储器的控制电路包括:命令控制器,命令控制器用于判断是否同时接收到读/写指令与刷新指令;数据缓存器;连接命令控制器,响应于命令控制器判断同时接收到读/写指令与刷新指令,将读/写指令对应的待处理数据缓存在数据缓存器内,待刷新指令执行完成再执行读/写指令。上述,当读指令或写指令与刷新冲突时,推迟读指令与写指令的响应,先通过数据缓存器缓存写数据,优先执行刷新操作,待刷新完成后,再执行延迟响应的读指令或写指令,上述保证了刷新的及时执行避免刷新不及时引起的存储数据丢失,也避免写数据的丢失保证能正确写入数据。
附图说明
16.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本技术存储器的控制电路一实施例的结构示意图;
18.图2是图1的存储器的控制电路中数据缓存器的控制示意图;
19.图3是图1的存储器的控制电路中数据缓存器执行写指令未与刷新冲突的工作时序图;
20.图4为图1的存储器的控制电路中数据缓存器执行写指令与刷新冲突时的工作时序图;
21.图5是本技术伪静态随机存储器的控制方法第一实施例的流程示意图;
22.图6是图1中步骤s12一实施例的流程示意图;
23.图7是本技术伪静态随机存储器的控制方法第二实施例的流程示意图;
24.图8是本技术伪静态随机存储器的控制系统一实施例的框架示意图;
25.图9是本技术伪静态随机存储器一实施例的框架示意图;
26.图10是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本技术保护的范围。
28.在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
29.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
30.应当理解,本文中使用的术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
31.伪静态随机存储器将刷新操作内嵌,内部的刷新指令和外部接收到的读写指令完全异步,会存在内部的刷新指令和外部的读写指令相冲突的情况,这会导致刷新不及时存储数据的损坏或需要写入的数据不能正确写入到存储阵列中。
32.基于上述问题,本技术提出一种存储器的控制电路、伪静态随机存储器及其控制方法,当读/写指令与刷新冲突时,优先执行刷新,通过数据缓存器缓存写数据,待刷新完成再执行读指令和写指令,有效解决了上述问题。下面结合附图和实施例对本技术提供的一种存储器的控制电路、伪静态随机存储器及其控制方法进行详细描述。
33.请参阅图1,图1是本技术存储器的控制电路一实施例的结构示意图。在一具体实施例中,存储器的控制电路100包括命令控制器140及数据缓存器170。
34.命令控制器140,命令控制器140用于判断是否同时接收到读/写指令与刷新指令。数据缓存器170。连接命令控制器140,响应于命令控制器140判断同时接收到读/写指令与刷新指令时,读/写指令对应的待处理数据缓存在数据缓存器170内,待刷新指令执行完成再执行读/写指令。具体地,当解析收到的读指令或写指令和刷新冲突时,选择执行刷新,推
迟读指令和写指令的响应。并将写指令对应的写数据缓存,先进行刷新操作,能避免刷新不及时造成的数据损失,其中,推迟写指令的响应,并将写数据缓存在数据缓存器170上,避免待写数据的丢失。
35.区别于现有技术,上述存储器的控制电路100,当读指令或写指令与刷新冲突时,首先执行刷新,并通过数据缓存器170缓存写指令的写数据,待刷新完成后,再执行读指令或写指令,上述保证了刷新的及时执行避免刷新不及时引起的存储数据丢失,也避免写数据的丢失保证能正确写入数据。
36.在本实施例中,存储器的控制电路100还包括:命令解码装置120,用于解析接收到的指令,指令包括读/写指令。刷新指令产生装置130,用于产生刷新指令。命令控制器140连接命令解码装置120,命令控制器140还连接刷新指令产生装置130。命令解码装置120将解析的读指令或写指令传输给命令控制器140,当命令控制器140判断同时接收到读/写指令与刷新指令,命令控制器140控制数据缓存器170缓存写指令对应的写数据。
37.在本实施例中,存储器的控制电路100还包括传输接口。传输接口,连接命令解码装置120,还连接数据缓存器170,传输接口用于接收外部的指令以及待处理数据,并当命令控制器140判断同时接收到读/写指令与刷新指令时,将待处理数据缓存在数据缓存器170内。具体地传输接口用于接收指令与写数据,并将指令传输给命令解码装置120,由命令解码装置120解析。当判断指令冲突时,写数据由传输接口传输至数据缓存器170缓存。
38.其中,数据缓存器170复用于读操作,响应于命令控制器140判断同时接收到写指令与刷新指令,数据缓存器170用于缓存写指令对应的写数据。响应于命令控制器140判断同时接收到读指令与刷新指令,数据缓存器170用于缓存从外部的存储单元取出的读数据。具体地,当读指令与刷新指令冲突时,需要将读数据从存储单元取出暂时存放。其中,不额外设置数据缓存器170来缓存写数据,而是通过原有的存储器的控制电路100储存器普遍设置的存放读取数据的数据缓存器170来缓存写数据,缓存读取数据的数据缓存器170复用于缓存写数据,因此,减少了需要设置数据缓存器170的数量,有利于减小存储器的控制电路100的体积和降低成本。
39.进一步地,控制电路100的命令控制器140和数据缓存器170还连接外部的存储单元,当写指令与刷新冲突,写数据暂存在数据缓存器170,在刷新完成执行写指令时,写数据从数据缓存器170取出并存入外部的存储单元。当读指令与刷新冲突,将读指令对应的读数据从外部存储单元取出并暂存在数据缓存器170,在刷新完成执行读指令时,读指令被推迟响应后执行时,读数据从数据缓存器170取出并传输至传输接口。上述数据缓存器170复用于暂存写数据与读数据,保证了刷新的及时执行避免刷新不及时引起的存储数据丢失,也避免写数据的丢失保证能正确写入数据。同时不需要单独给写数据和读数据设置数据缓存器170,减少了需要设置的数据缓存器170的数量。
40.其中,在刷新完成执行写指令时,命令控制器140根据写指令对外部存储单元进行写入控制,使外部存储单元能存入数据,其中,并激活存储单元相应写地址对应的列地址,使数据缓存器170缓存的写数据能存入外部存储单元对应的列地址。在接收到读指令时,命令控制器140根据读指令对外部存储单元进行读数据控制,并激活外部存储单元相应读地址对应的行地址,将行地址内的读数据暂存在数据缓存器170。
41.进一步地,在本实施例中,数据缓存器170为先入先出队列的数据存储器。具体地,
数据缓存器170具体可以为例如fifo(first input first output,先入先出队列)存储器,选择fifo作为数据缓存器170缓存写数据,当缓存的写数据不止一个时,在输出fifo内缓存的写数据时,fifo内先被缓存的写数据先被输出,fifo内后被缓存的写数据后被输出,当有数据写入fifo时,其输入指针加一,当有数据被取出时其输出指针加一。上述也能帮助有序执行指令。
42.其中,存储器的控制电路100还包括串并转换装置160,传输接口通过串并转换装置160连接数据缓存器170。具体地,存储器的控制电路100需要将数据以并行数据形式存储在外部存储单元,将数据缓存器170上的数据输出至传输接口前,还需要将并行数据转换为串行数据。存储器的控制电路100接收到读指令时,读指令对应的读数据为串行数据,将读数据缓存在数据缓存器170前,还需要将串行数据转换为并行数据。
43.请结合参阅图2,图2是图1的存储器的控制电路100中数据缓存器170的控制示意图。数据缓存器170为fifo。命令控制器140对数据缓存器170进行缓存控制,具体为数据缓存器170接收命令控制器140发射的输入指针信号与输出指针信号来实现缓存控制,当命令控制器140给数据缓存器170发射输入指针控制信号时,若执行写指令时,数据缓存器170能接收传输接口的数据进行写数据写入,若接收到读指令时,数据缓存器170能接收外部存储单元的读数据进行读数据写入。当命令控制器140给数据缓存器170发射输出指针控制信号时,若执行写指令,数据缓存器170将写数据输出给外部存储单元,若执行读指令,数据缓存器170将读指令输出给外部接口110。
44.请结合参阅图3与图4,图3是图1的存储器的控制电路100中数据缓存器170执行写指令未与刷新冲突的工作时序图。图4为图1的存储器的控制电路100中数据缓存器170执行写指令与刷新冲突时的工作时序图。在该实施例中,数据缓存器170为fifo。具体地,当接收到写指令未产生刷新指令时,存储器的控制电路100直接执行写指令。写数据在串并转换装置160串行转并行。接着命令控制器140对外部存储单元控制行激活,命令控制器140给数据缓存器170传输输入指针控制信号,使写数据能缓存在数据缓存器170内,然后命令控制器140给数据缓存器170传输输出指针控制信号,使写数据从数据缓存器170内输出后存入外部存储单元对应的行地址。当接收到写指令同时产生有刷新指令时,先执行刷新指令,在执行刷新指令时,同时还给数据缓存器170传输输入指针控制信号,使写指令对应的写数据先缓存在数据缓存器170内,待刷新完成后,给数据缓存器170传输输出指针控制信号,使写数据从数据缓存器170输出存入外部存储单元。
45.区别于现有技术,上述存储器的控制电路100,当读指令或写指令与刷新冲突时,首先执行刷新,并通过数据缓存器170缓存写指令的写数据,待刷新完成后,再执行读指令或写指令,上述保证了刷新的及时执行避免刷新不及时引起的存储数据丢失,也避免写数据的丢失保证能正确写入数据。
46.对应地,本技术还提出一种伪静态随机存储器,该伪静态随机存储器包括上述描述的存储器的控制电路,该伪静态随机存储器还包括存储单元,存储单元连接命令控制器与数据缓存器,存储单元存储有读指令对应的待处理数据,存储单元还用于存储写指令对应的待处理数据。
47.对应地,本技术还提出一种伪静态随机存储器的控制方法。该控制方法应用于上述描述的伪静态随机存储器或存储器的控制电路。请参阅图5,图5是本技术伪静态随机存
储器的控制方法第一实施例的流程示意图。
48.s11:响应于伪静态随机存储器同时获取到刷新指令以及读/写指令,执行刷新指令,并对读/写指令对应的待处理数据进行缓存。
49.伪静态随机存储器采用电容存储结构单元,具体通过栅极电容存储电荷来缓存信息。由于存储在电容上的电荷会随着时间而泄露,为了保证数据的完整,必须按一定规律给栅极电容充电以补给信息电荷,该过程为刷新。其中,伪静态随机存储器将刷新的控制模块内嵌,由存储器内部自动管理刷新,控制模块可以按恒定时间间隔产生刷新请求,例如2毫秒、3毫秒等时间间隔请求刷新一次,控制模块还能以存储器读写数据达指定次数时请求刷新一次。由于刷新请求由内部控制产生,读/写指令由外部产生,刷新请求与读/写指令无法保证逐一产生,可能存在冲突的情况。
50.本实施例当读指令或写指令和刷新冲突时,选择执行刷新,推迟读指令和写指令的响应。并将写指令对应的写数据缓存,先进行刷新操作,能避免刷新不及时造成的数据损失,其中,推迟写指令的响应,并将写数据缓存在数据缓存器上,避免待写数据的丢失。
51.其中,刷新与读/写指令冲突是指存储器内部产生刷新指令的同时接收到外部的读指令或写指令;或存储器接收到外部的读指令或写指令时存储器正进行刷新。即当同时有刷新指令以及读/写指令时会推迟读/写指令的响应,在接收到读/写指令若正在执行刷新也会推迟读/写指令的响应。
52.在本步骤中,响应于刷新与读指令冲突,延迟响应读指令,执行刷新。响应于刷新与写指令冲突,延迟响应写指令,执行刷新,并利用数据缓存器缓存所述写指令对应的写数据,待刷新完成,执行所述写指令,并从数据缓存器输出写数据。
53.在本步骤中,在每次接收到读指令或写指令时,先判断指令是否与刷新冲突,若不冲突,直接执行接收的读指令与写指令,若冲突,延迟响应读指令与写指令。并进行下面步骤。
54.s12:响应于刷新指令执行完成,执行读/写指令。
55.在本步骤,执行读/写指令前还包括:未产生刷新指令。及存储器在完成当前刷新且没有新的刷新指令产生时,再执行延迟响应的指令。
56.当冲突延迟响应的为读指令时,执行读指令,存储器将数据总线传播方向调整为读数据方向,将地址为读地址的存储单元的内容通过数据总线输出至传输接口。当冲突延迟响应的为写指令,执行写指令,存储器将数据总线传播方向调整为写数据方向,将数据缓存器缓存的写数据送到数据总线上,写数据通过数据总线送入地址为写地址的存储单元进行存储。
57.区别于现有技术,上述伪静态随机存储器的控制方法,当读指令或写指令与刷新冲突时,首先执行刷新,并通过数据缓存器缓存写指令的写数据,待刷新完成后,再执行读指令或写指令,上述保证了刷新的及时执行避免刷新不及时引起的存储数据丢失,也避免写数据的丢失保证能正确写入数据。
58.进一步地,在一应用场景中,当伪静态随机存储器执行写指令或读指令时内部响应刷新请求,则先执行完当前执行指令后再进行刷新。
59.其中,伪静态随机存储器在执行读指令时,会在读取延迟之后将数据发送到传输接口上供控制器采样,但存储器内部从读指令到存储单元将数据读出所需要的时间并不是
固定的,其长短随着工艺制程和电压温度等参数发生变化,一般情况下,从读指令到存储单元将数据读出所需的时间小于读取延迟时间,因此现有的伪静态随机存储器需要另外设计有存储结构来缓存从存储单元读出的数据,之后等到读取延迟之后再将存储结构中缓存的数据发送到传输接口。上述实施方式中,需要通过数据缓存器来缓存写指令对应的写数据,还需要缓存结构来暂时缓存存储结构读取的数据。数据缓存器与缓存结构的共同设置违背了伪静态随机存储器容量小和低成本的特性。为解决该问题,请结合参阅图6,图6是图5中步骤s12一实施例的流程示意图。在一具体实施方式中,上述步骤s12具体可以包括:
60.s121:待刷新完成,判断待执行的指令是否为读指令,若是读指令,则执行s122;若不是读指令则执行s123。
61.s122:获取读指令的读地址,将数据总线传播方向调整为读数据方向,将地址为读地址的存储单元的内容通过数据总线输出至数据缓存器缓存,待读取延迟后,再将缓存的内容输出至传输接口。
62.具体地,存储器在执行读指令和写指令时,数据的输入与输出均是通过同一数据总线进行传输。本实施方式中,存储单元通过数据总线连接数据缓存器,数据缓存器还通过数据总线连接传输接口。在进行读指令时,存储器通过读/写控制开关将数据总线的数据传输方向调整为读数据方向,此刻,数据的传播方向为:从存储单元至数据缓存器,再从数据缓存器至传输接口。在确定读指令的读地址后,将地址为读地址的存储单元的内容通过数据总线输出至数据缓存器进行缓存,待读取延迟时间后,再将数据缓存器内缓存的内容输出至传输接口。
63.上述,数据缓存器既用于缓存冲突时写指令的写数据,数据缓存器还用于缓存在执行读指令时,由于读取延迟时间过长,需要暂时存放的数据内容,待读出的数据暂时存放在数据缓存器,读取延迟时间后,数据缓存器上待读出的数据通过数据总线输出至传输接口。
64.上述,不额外设置数据缓存器来缓存因冲突需缓存的写数据,而是通过原有的伪静态随机存储器储存器普遍设置的存放读取数据的数据缓存器来缓存写数据,缓存读取数据的数据缓存器复用于缓存写数据,数据缓存器复用读操作。因此,不需要额外增加设置数据缓存器,有利于减小伪静态随机存储器的体积和降低成本。
65.其中,伪静态随机存储器存储在存储单元的数据为并行数据,将数据缓存器上的数据输出至传输接口前,还需要将并行数据转换为串行数据。
66.s123:获取写指令的写地址,将数据总线传播方向调整为写数据方向,将数据缓存器缓存的写数据送到数据总线上,写数据通过数据总线送入地址为写地址的存储单元进行存储。
67.具体地,在执行延迟响应的写指令时,存储器通过读/写控制开关将数据总线的数据传输方向调整为写数据方向,此刻,数据的传播方向为:从数据缓存器至存储单元。在确定写地址后,将写数据通过数据总线送入地址为写地址的存储单元进行存储。
68.在本实施方式中,不额外设置数据缓存器来缓存写数据,而是通过原有的伪静态随机存储器储存器普遍设置的存放读取数据的数据缓存器来缓存写数据,缓存读取数据的数据缓存器复用于缓存写数据,因此,减少了需要设置数据缓存器的数量,有利于减小伪静态随机存储器的体积和降低成本。
69.其中,伪静态随机存储器接收到读指令时,读指令对应的读数据为串行数据,将读数据缓存在数据缓存器前,还需要将串行数据转换为并行数据。
70.其中,伪静态随机存储器在执行刷新时,可能会不止一次接收到读指令或写指令。为有序正确执行指令,避免冲突。请参阅图7,图7是本技术伪静态随机存储器的控制方法第二实施例的流程示意图。再另外一个具体的实施例中,该控制方法包括:
71.s21:响应于刷新与读/写指令冲突,延迟响应所述读/写指令,执行刷新,利用数据缓存器缓存写数据,其中,多个所述读/写指令编号后延迟响应。
72.具体地,在刷新过程中,伪静态随机存储器可能不止一次接收到读指令或写指令。即有多个读指令或写指令被延迟响应。数据缓存器也不限于缓存一组写数据。将伪静态随机存储器在执行刷新时接收到的若干读指令或写指令均延迟响应,其中,当有多个指被延迟时,按先后顺序给指令进行编号。
73.s22:待刷新完成,未产生新的刷新指令;按编号先后顺序逐一执行读/写指令。
74.可以理解地,先延迟响应的指令先执行,以确保伪静态随机存储器对指令的有序执行。
75.在一应用场景中,若延迟响应的读/写指令未全部执行完毕,伪静态随机存储器又接收到新的读指令和写指令,则先执行已编号延迟响应的读指令和写指令,并将又接收到的读指令和写指令继续编号后延迟响应,等待后续执行。
76.在另外一应用场景中,存储器内部产生新的刷新指令时编号的延迟响应的读/写指令未全部执行完毕,则执行完当前的读/写指令后进行刷新,待刷新完成再执行编号的延迟响应的指令。上述保证伪静态随机存储器优先进行刷新处理,并有序执行指令。
77.进一步地,本实施例中,优选数据缓存器为先入先出队列的数据存储器,例如fifo(first input first output,先入先出队列)存储器,选择fifo作为数据缓存器缓存写数据,当缓存的写数据不止一个时,在输出fifo内缓存的写数据时,fifo内先被缓存的写数据先被输出,fifo内后被缓存的写数据后被输出,当有数据写入fifo时,其输入指针加一,当有数据被取出时其输出指针加一。上述也能帮助有序执行指令。
78.区别于现有技术,上述伪静态随机存储器的读写与刷新控制方法,当读指令或写指令与刷新冲突时,首先执行刷新,延迟响应读指令与写指令。并通过数据缓存器缓存写指令对应的写数据,待刷新完成后,再执行延迟响应的读指令或写指令,上述保证了刷新的及时执行避免刷新不及时引起的存储数据丢失,也避免写数据的丢失保证能正确写入数据。另一方面,不额外设置数据缓存器来缓存写数据,而是通过原有的伪静态随机存储器储存器普遍设置的存放读取数据的数据缓存器来缓存写数据,缓存读取数据的数据缓存器复用于缓存写数据,因此,不需要额外增加设置数据缓存器,有利于减小伪静态随机存储器的体积和降低成本。同时选择数据缓存器为先入先出队列的数据存储器fifo,当缓存的写数据不止一个时,fifo内先被缓存写数据先被输出,fifo内后被缓存的写数据后被输出,能帮助更有序执行数据缓存器内缓存的指令。
79.本技术还提出一种伪静态随机存储器的控制系统,请参阅图8,图8是本技术伪静态随机存储器的控制系统一实施例的框架示意图。在一具体实施例中,伪静态随机存储器的控制系统包括接收模块1、判断模块2、缓存模块3、执行模块4。
80.接收模块1用于接收读/写指令;判断模块2判断接收的所述指令是否与刷新冲突;
缓存模块3在冲突时缓存读/写指令对应的待处理数据;执行模块4待刷新完成,执行所述读/写指令。
81.在一些实施例中,缓存模块3响应于所述伪静态随机存储器同时获取到刷新指令以及读/写指令,执行所述刷新指令,并对所述读/写指令对应的待处理数据进行缓存的步骤,具体包括:将所述读/写指令对应的待处理数据缓存到数据缓存器中,其中数据缓存器复用读操作。
82.在一些实施例中,若接收到的指令为写指令,所述响应于所述刷新指令执行完成,执行模块4执行所述读/写指令的步骤,包括:获取所述写指令的写地址,将数据总线传播方向调整为写数据方向,所述数据缓存器上缓存的写数据输送至所述数据总线上,所述写数据通过所述数据总线送入地址为所述写地址的存储单元进行存储。
83.在一些实施例中,所述数据缓存器复用读操作,具体包括:所述数据缓存器用于缓存所述写指令对应的写数据,所述数据缓存器还用于执行读指令时,缓存从存储单元取出的读数据。
84.在一些实施例中,若接收到的指令为读指令,所述响应于所述刷新指令执行完成,执行模块4执行所述读/写指令的步骤,包括:获取所述读指令的读地址,将数据总线传播方向调整为读数据方向,将地址为所述读地址的存储单元的内容通过所述数据总线输出至所述数据缓存器缓存,待读取延迟后,再将缓存的内容输出至传输接口。
85.在一些实施例中,所述数据缓存器与所述存储单元内的数据为并行数据,所述传输接口与外部的数据传输为串行数据传输;待处理数据为写数据时,所述将写数据缓存到数据缓存器的步骤前,还包括:将所述写数据由串行转换为并行;将缓存的内容输出至传输接口的步骤前,还包括:将数据由并行改为串行。
86.在一些实施例中,所述数据缓存器为先入先出队列的数据存储器。
87.本技术还提出一种伪静态随机存储器,请参阅图9。图9是本技术伪静态随机存储器一实施例的框架示意图。伪静态随机存储器50包括相互耦接的存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述任意一种伪静态随机存储器50的控制方法实施例的步骤。在一个具体的实施场景中,伪静态随机存储器50可以包括但不限于:微型计算机、服务器。
88.具体而言,处理器52用于控制其自身以及存储器51以实现上述任意一种伪静态随机存储器50的控制方法实施例的步骤。处理器52还可以称为cpu(central process ing unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器52、数字信号处理器52(digital signal processor,dsp)、专用集成电路(appl icat ion specific integrated circui t,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器52可以是微处理器52或者该处理器52也可以是任何常规的处理器52等。另外,处理器52可以由集成电路芯片共同实现。
89.本技术还提出一种计算机可读存储介质。请参阅图10,图10是本技术计算机可读存储介质一实施例的框架示意图。计算机可读存储介质60存储有能够被处理器运行的程序指令600,程序指令600用于实现上述任意一种伪静态随机存储器的控制方法实施例的步骤。
90.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
91.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
92.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
93.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。