CN100508064C - 存储器存取控制器与存储器存取方法 - Google Patents

存储器存取控制器与存储器存取方法 Download PDF

Info

Publication number
CN100508064C
CN100508064C CNB2005100236871A CN200510023687A CN100508064C CN 100508064 C CN100508064 C CN 100508064C CN B2005100236871 A CNB2005100236871 A CN B2005100236871A CN 200510023687 A CN200510023687 A CN 200510023687A CN 100508064 C CN100508064 C CN 100508064C
Authority
CN
China
Prior art keywords
storage
access
request
memory
command
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.)
Expired - Fee Related
Application number
CNB2005100236871A
Other languages
English (en)
Other versions
CN1815626A (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.)
QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Original Assignee
QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
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 QIMA DIGITAL INFORMATION CO Ltd SHANGHAI filed Critical QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Priority to CNB2005100236871A priority Critical patent/CN100508064C/zh
Publication of CN1815626A publication Critical patent/CN1815626A/zh
Application granted granted Critical
Publication of CN100508064C publication Critical patent/CN100508064C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明的存储器存取控制器和存取方法中,存储器为包含至少一个存储组的同步动态随机访问存储器,控制器包括:控制寄存器,用以存储并向所述存储器发送数据处理系统发出的控制信息;接收模块,用以接收对所述存储器进行读/写操作的系统访问请求信号;缓冲模块,用以存储接收模块产生的包括存储器命令和/或写入数据在内的中间信息;发射模块,用以将缓冲模块内存储的存储器命令和/或所述数据发送至所述存储器。其中,接收模块包括对接收到的系统访问请求信号进行解析,产生存储器命令来控制对存储器的操作的命令解析模块。根据本发明的方法,减少了突发信息对SDRAM存取过程中的预转换,从而有效地减少了访问SDRAM的延迟时间。

Description

存储器存取控制器与存储器存取方法
技术领域
本发明涉及存储器存取控制器与存储器存取方法,尤其涉及SDRAM存取方法和SDRAM存取控制器。
背景技术
同步动态随机存储器(Synchronous Dynamic Random Access Memory,SDRAM)是目前应用极为广泛的存储器件,具有存储容量大,存取速度快,价格低廉等优点。
SDRAM芯片可以包括多个存储组(Bank)。一个Bank通常由内存阵列、传感放大器、行解码器、列解码器、行地址缓冲和列地址缓冲组成。内存阵列实际上是由多个列线和多个行线交叉构成的一个矩阵结构。一个列线和一个行线交叉定义出一个唯一的地址,形成SDRAM的基本存储单元。当系统中的某个主设备,如CPU向SDRAM存取数据时,首先向SDRAM发送行地址,传感放大器根据行地址读出相应的数据,打开拥有相同行地址的行所形成的一个页面。CPU还需向SDRAM发送列地址,以确定具体的基本存储单元。最后由SDRAM的地址驱动器把信号发送到输出缓存。在突发模式下,可由内部计数器通过自加方式控制SDRAM把下一个列地址的存储单元的内容发送到输出缓存当中。
在SDRAM的工作过程中,SDRAM可以保持一部分曾经访问过的Bank的行地址,也就是保持一部分已经被打开的“行页面”。如果需要访问的数据在同一行中,那就不需要等待传感放大器进行变换,而直接达到行命中。在行命中的情况下,只需要等待列地址的确立,就能找到所需的存储单元,从而得到需要的数据。但有的情况下,对SDRAM存取请求的行地址与前次存取操作的行地址不同,例如,相邻两次访问的地址不相关,此时,内存行页面不是处于打开的状态,即行页面失效。这时有两种情况,一种是不仅行地址不同,而且访问的存储单元与前次存取操作不在同一Bank中,则此时可以直接打开新的Bank;另一种情况是访问的存储单元与上次存取操作在同一Bank中,只是行地址不同,此时,只能先关闭目前已经打开的页面,并关闭当时激活的Bank,即传感放大器首先要回写旧的行地址,再重新激活同一Bank,并打开新的需要的页面,转换到新的行地址。这里,回写旧的行地址也称为“预转换(precharge)”。地址不相关的两个相邻的存储单元访问,因为预转换的延迟,开销一般要在6-10个存取周期左右。而地址相关的两个相邻的存储单元访问,在同一个Bank,行地址相同,并且读写属性相同,则只需要一个存取周期。二者延迟时间相差很大。
在突发模式下,SDRAM可以在发一次命令后就连续对多个数据进行操作,这样可以释放出命令通道和数据通道以提高系统的并行能力。而SDRAM也可以提前打开即将访问的下一个数据所在的Bank。但是,一次突发信息常常包括多个单一的请求,而相邻的单一请求之间的地址可能会不相同或不连续。现有技术中,一般由系统中发出SDRAM访问请求的主设备发出信号,指出突发中各个单一请求需要访问的Bank的号码。
采用这种方式,对SDRAM的访问从很大程度上需要依赖发出请求的主设备的操作。SDRAM需要随时根据主设备发出的信号而进行预转换操作,而增加了访问SDRAM的延迟时间。这种情况下,这些通知信号也增加了对命令总线的争用。
发明内容
为克服现有技术中存在的缺陷,本发明提供一种存储器存取控制器,该存储器存取控制器充分利用SDRAM可并行存取的性能,以自动行匹配的方式来增加访问命中率,从而得以提高访问效率。
本发明并提供一种存储器存取方法,该方法采用自动行匹配的方式来增加存储器存储组(Bank)的访问命中率。
根据本发明的一个方面,提供一种存储器存取控制器,所述存储器为包含至少一个存储组的同步动态随机访问存储器,所述控制器包括:
控制寄存器,用以存储并向所述存储器发送数据处理系统发出的控制信息;
接收模块,用以接收对所述存储器进行读/写操作的系统访问请求信号;
缓冲模块,用以存储接收模块产生的包括存储器命令和/或写入数据在内的中间信息;
发射模块,用以将缓冲模块内存储的存储器命令和/或所述数据发送至所述存储器,
其中,所述接收模块包括对接收到的系统访问请求信号进行解析,产生存储器命令来控制对存储器的操作的命令解析模块,所述命令解析模块包括:
存储组判断装置,用以判断当前系统访问请求中突发信息访问的存储组是否已打开;
存储行判断装置,用以在所述存储组判断装置判断当前系统访问请求中突发信息访问的存储组已打开的情况下,判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行是否为同一存储行;
突发判断装置,用以在所述存储行判断装置判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为同一存储行的情况下,判断当前系统访问请求与所述缓冲模块中的存储器命令是否在同一个突发中;
命令设置装置,根据所述突发判断装置判断当前系统访问请求与所述缓冲模块中的存储器命令是否在同一个突发中的情况,分别将系统访问请求设置为无效读写命令或有效读写命令,
其中,在所述存储组判断装置判断当前系统访问请求中突发信息访问的存储组未打开的情况下,所述控制器控制所述存储器打开一个新的存储组并进行读写操作;而在所述存储行判断装置判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为不同存储行的情况下,所述接收模块不接收当前系统访问请求,直至所述存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器。
上述的存储器存取控制器中,所述缓冲模块包括:
激活FIFO存储单元,用以存储接收模块产生的所述存储器命令中存储组的号码和行地址;
列地址FIFO存储单元,用以存储接收模块产生的所述存储器命令中存储组的号码和列地址;
预转换FIFO存储单元,用以存储接收模块产生的所述存储器命令中存储组的号码以及表示一个预转换命令是否在读/写命令之前发出的信息;以及
读写FIFO存储单元,用以存储表示读或写的存储器命令、表示突发的起始命令和表示存储器命令的操作顺序的信息。
上述的存储器存取控制器中,所述命令解析模块还包括用以在所述存储行判断装置判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为不同存储行的情况下,判断读写FIFO存储单元中存储的与当前系统访问请求的存储组相同但行地址不同的存储器命令是否已经发送到所述存储器的等待装置。
上述的存储器存取控制器中,所述命令解析模块还包括在读写FIFO存储单元中存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器之后,指令所述存储器进行预转换的存储器预转换指令装置。
根据本发明的另一方面,提供一种存储器存取方法,所述存储器为包含至少一个存储组的同步动态随机访问存储器,所述控制方法包括以下步骤:
(a)接收数据处理系统对所述存储器进行读/写操作的系统访问请求信号;
(b)对接收到的系统访问请求信号进行解析,产生存储器命令以控制对所述存储器的操作:
(b1)判断当前系统访问请求中突发信息访问的存储组是否已打开;
(b2)在当前系统访问请求中突发信息访问的存储组已打开的情况下,判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行是否为同一存储行;
(b3)在当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为同一存储行的情况下,判断当前系统访问请求与所述存储器命令是否在同一个突发中;
(b4)在当前系统访问请求与所述存储器命令在同一个突发中的情况下,将系统对所述存储器的读写请求设置为无效读写命令,否则,则设置为有效读写命令;
(b5)在步骤(b1)判断当前系统访问请求中突发信息访问的存储组未打开的情况下,控制所述存储器打开一个新的存储组并进行读写操作;
(b6)在步骤(b2)判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为不同存储行的情况下,不接收当前系统访问请求,直至所述存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器;
(c)存储包括所述存储器命令和/或写入数据在内的中间信息;
(d)将存储的所述存储器命令和/或所述数据发送至所述存储器。
上述的存储器存取方法,进一步包括在所述存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器之后,接收当前系统访问请求,并指令所述存储器进行预转换的步骤。
本发明利用命令解析模块对接收模块接收到的数据突发信息进行解析,存储器存取控制器自动地直接对突发信息进行行匹配,减少了突发信息对SDRAM存取过程中的预转换,从而有效地减少了访问SDRAM的延迟时间。同时,在系统访问请求设置为无效读写命令后,无须发送新的命令给SDRAM,可以充分利用空闲的命令通道以及SDRAM中各Bank的可并行性,有利于SDRAM在之后的SDRAM命令执行之前提前打开Bank。
附图说明
以下结合附图对本发明作进一步的详细描述。结合以下附图对本发明实施例的阐述是为进一步披露本发明的目的、特征和优点所在,但并不用以限制本发明,图中相同标号表示相应元件或步骤,其中:
图1是表示根据本发明一个实施例的存储器存取控制器的结构框图。
图2是表示根据本发明一个实施例的存储器存取控制器中发射模块的状态机示意图。
图3是表示根据本发明一个实施例的存储器存取控制器中命令解析模块的结构框图。
图4是表示根据本发明一个实施例的存储器存取方法的流程图。
图5是表示根据本发明一个实施例的存储器存取方法的自动行匹配操作的流程图。
图6A是表示根据本发明的第一示例的SDRAM命令的时序图。
图6B是表示根据本发明的第二示例的SDRAM命令的时序图。
图6C是表示根据本发明的第三示例的SDRAM命令的时序图。
图6D是表示根据本发明的第四示例的SDRAM命令的时序图。
具体实施方式
SDRAM一般由至少一个,例如2或4个Bank组成。对SDRAM的读写就是对SDRAM某个Bank内存阵列中某个行的某个列的存储单元的读写。在本发明的一个实施例中,以4个Bank组成的SDRAM为例进行说明。接口信号BA用来表示选中的需要访问的Bank的号码。每个Bank的内存阵列由2N个行与2N个列组成。行地址接口信号ADDR[N-1:0]用来指出选中的行地址。激活命令信号(ACTIVE)可用来打开SDRAM中的任意一个Bank。类似地,激活命令信号(ACTIVE)也可以用来打开包含同一行地址的行页面。列地址接口信号ADDR[M-1:0]用来指出选中的列地址。在已指定的行地址所在的行页面已打开的情况下,发送读写命令信号,表示选中列地址所指存储单元,并对其进行相应的读或写操作。读写命令信号为读(RD)或写(WR)。
系统中的主设备对SDRAM进行访问时,如果此时需要访问的Bank已打开,并且需要访问的行页面也是打开的,则由存储器存取控制器直接发送读写命令,同时发送列地址,对选定的存储单元进行读/写操作。如果需要访问的Bank是打开的,而该行页面是关闭的,则先发预转换命令信号将该Bank关闭。然后接口信号BA又重新选中该Bank,并发激活命令信号重新将该Bank打开。存储器存取控制器还将发出行地址接口信号ADDR[N-1:0],并由激活命令信号同时打开相应的行页面。最后存储器存取控制器发送读写命令,同时发送列地址,就可对SDRAM中对应的存储单元进行读/写操作。
图1是表示根据本发明一个实施例的存储器存取控制器的结构框图。参见图1,存储器存取控制器包括控制寄存器11、接收模块12、缓存模块13和发射模块14(上述各模块也可以称为相应的接收装置、缓存装置和发射装置)。其中,控制寄存器11存储系统送出的控制信息,主要存储软件配置信息、处理时序控制以及SDRAM的自动刷新信息等。接收模块12接收对SDRAM进行读/写的系统访问请求信号。接收模块中设置有命令解析模块121(也称为命令解析装置),命令解析模块121对接收模块12接收到的系统访问请求信号进行解析,产生SDRAM命令来控制对SDRAM的操作。缓冲模块13可以存储接收模块12产生的中间信息,包括各类命令及需要写入SDRAM的数据。发射模块14将缓冲模块13中存储的SDRAM命令发射给SDRAM,以对SDRAM执行相应的操作。控制寄存器11和发射模块14发射出的命令和地址等信息经由复用器15发送给SDRAM;发射模块14发射出的数据和DQM(数据屏蔽信号)信息则由数据通道传送给SDRAM。
在本发明的一个实施例中,缓冲模块13为FIFO存储器组成,包括预转换FIFO、读写FIFO、激活FIFO和列地址FIFO(未图示)。激活FIFO中包含BA和ROW两个域,其中BA域存储选中的Bank号码,ROW域存储选中的行地址。列地址FIFO中包括BA和COL两个域,其中BA域存储选中的Bank号码,COL域存储选中的列地址。预转换FIFO中包含BA和flag两个域,其中BA域用来存储选中的Bank号码;而flag域存储的信息指出本次预转换命令是否在读/写命令之前发出。读写FIFO包括三个域,WR域表示读或写的存储器命令;valid域表示一个突发的起始命令;sts域指出SDRAM命令的操作顺序,如00:表示不需要做预转换;01:表示必须先预转换;10:表示必须先激活;11:表示发出读写命令后再预转换。
发射模块14中针对每一个Bank设置了一个独立的状态机。参见图2,状态机包括ACT,CMD和PRE三个状态。状态机的初始状态为ACT状态。当某个Bank的状态机处于ACT状态时,只有当激活FIFO非空且对应的Bank位相符,并且满足激活命令发射的时序要求时,发射模块14将激活FIFO中存储的当前数据取出,向SDRAM发射激活命令,状态机转到CMD状态。当某个Bank的状态机处于CMD状态时,只有当预转换FIFO非空且对应的Bank位相符时,状态转到PRE状态。当读写FIFO非空且对应的Bank位相符,存储的读写命令为有效,并且符合读写命令发射时序要求时,发射模块14将读写FIFO的当前数据取出,向SDRAM发射读写命令;当读写FIFO非空,但存储的读写命令为无效,表示此次读写在一次突发之中,发射模块14可以将读写FIFO的当前数据取出,不需要向SDRAM发射读写命令。当状态机处于PRE状态时,只有当预转换FIFO非空且Bank位相符且符合预转换命令发射的时序要求时,发射模块14将预转换FIFO的当前数据取出,向SDRAM发射预转换命令。
接收模块12中的命令解析模块121在一个周期内最多同时产生三个SDRAM命令,即预转换命令、激活命令和读写命令;最少产生一个SDRAM命令,即读写命令。这些命令分别存储在预转换FIFO、激活FIFO和读写FIFO中,再经由发射模块发送给SDRAM。
命令解析模块121对系统中的主设备发出的SDRAM访问请求进行解析,并可以对突发信息自动进行行匹配。如果当前系统访问请求和缓存模块13中要发射的SDRAM命令访问是连续的且位于同一个突发内,将产生无效的读写命令,否则产生有效的读写命令,并将产生的读写命令存储在缓存模块13中读写FIFO的valid域;如果当前系统访问请求和FIFO中正要发射的读写命令的Bank相同而行地址不同,则接收模块12不接收当前系统访问请求,而是直到读写FIFO中与当前系统访问请求中的Bank相同但行地址不同的SDRAM命令由发射模块14发射出去后才接收当前系统访问。当FIFO非空时,发射模块14负责将这些SDRAM命令有序地发射出去。存储器存取控制器自动地直接对突发信息进行行匹配,同时减少了突发信息对SDRAM存取过程中的预转换,从而有效地减少了访问SDRAM的延迟时间。
图3是表示根据本发明一个实施例的存储器存取控制器中命令解析模块的结构框图。参见图3,命令解析模块121包括存储组判断装置(Bank判断装置)1211、存储行判断装置(简称行判断装置)1212、突发判断装置1213、命令设置装置1214、等待装置1215以及存储器预转换指令装置1216。Bank判断装置1211判断系统访问请求中突发信息访问的Bank是否已经打开。在本实施例中,可以根据发射模块14中对应Bank的状态机来判断。Bank的状态机处于ACT状态时,该Bank是打开的。当突发信息访问的Bank还未打开,则打开Bank;当突发信息访问的Bank已经打开,则送入行判断装置1212。行判断装置1212判断在Bank相同的情况下判断行是否命中。例如,可以判断当前系统访问请求访问的行与SDRAM中bank的状态机中记录的行是否相同。若行不命中,则接收模块12不接收当前系统访问请求,而是保持空闲状态(IDLE)。在接收模块12保持空闲状态时,等待装置1215判断读写FIFO中与当前系统访问的Bank相同但行地址不同的SDRAM命令是否已经发射出去,当读写FIFO中与当前系统访问的Bank相同但行地址不同的SDRAM命令发射出去后,接收模块12才接收当前系统访问请求,并进行存储器预转换。若行命中,则把系统访问请求送入突发判断装置1213。突发判断装置1213判断突发信息是否命中,即当前系统访问请求是否与读写FIFO中SDRAM命令在同一个突发中。若突发信息命中,命令设置装置1214把系统访问请求设置为无效读/写命令;若突发信息未命中,命令设置装置1214把系统访问请求设置为有效读/写命令。
图6A是表示根据本发明的第一示例的SDRAM命令的时序图。参见图6A,在本发明的第一个示例中,系统访问请求经命令解析模块121解析后,Bank判断装置1211判断出系统访问请求的突发信息访问的Bank没有打开。此时,发射模块14发出激活命令打开Bank与行,再进行读写操作,在示例中为写(WR)。
图6B是表示根据本发明的第二示例的SDRAM命令的时序图。参见图6B,在本发明的第二个示例中,系统访问请求经命令解析模块121解析后,Bank判断装置1211判断出系统访问请求的突发信息访问的Bank已经打开。在图中读写FIFO中SDRAM命令表示为WR(last),为写操作。但行判断装置1212判断出行不命中,即行地址不匹配。此时,发射模块14先发出预转换命令关闭已打开的Bank,再发出激活命令打开即将访问的Bank与行,最后进行读写操作,在本示例中为写(WR)。
图6C是表示根据本发明的第三示例的SDRAM命令的时序图。参见图6C,在本发明的第三个示例中,系统访问请求经命令解析模块121解析后,Bank判断装置1211判断出系统访问请求的突发信息访问的Bank已经打开。并且行命中,即行地址匹配。但突发判断装置1213判断出突发不命中,即当前系统访问请求与读写FIFO中SDRAM命令在不同一个突发中。图中读写FIFO中SDRAM命令表示为WR(last),为写操作。此时,命令设置装置1214把系统访问请求设置为有效读/写命令。而发射模块14发出读写命令起动新的突发,直接进行读写操作,在本示例中为写(WR)。
图6D是表示根据本发明的第四示例的SDRAM命令的时序图。参见图6D,在本发明的第四个示例中,系统访问请求经命令解析模块121解析后,Bank判断装置1211判断出系统访问请求的突发信息访问的Bank已经打开。并且行命中,即行地址匹配。突发判断装置1213判断出突发也命中,即当前系统访问请求与读写FIFO中SDRAM命令在同一个突发中。在图中读写FIFO中SDRAM命令表示为WR(last),为写操作。此时,命令设置装置1214把系统访问请求设置为无效读/写命令。发射模块14不需要发送任何命令。SDRAM在原有的突发中继续进行读写操作。而SDRAM命令通道处于空闲状态,可以对其它Bank进行打开或关闭等操作。
图4是表示根据本发明一个实施例的存储器存取方法的流程图。参见图4,步骤S41,首先由接收模块12接收来自系统中主设备发出的系统访问请求信号,再经接收模块12进行解析后,产生SDRAM命令信号,并送入缓存模块13中缓存,然后由发射模块14将缓存的SDRAM命令有序地发射给SDRAM的相应地址,开始进行数据的读写。在接收模块12接收系统访问请求时,接收模块12中的命令解析模块121对接收模块12接收到的SDRAM请求信号进行自动行匹配操作。
图5是表示根据本发明一个实施例的存储器存取方法的自动行匹配操作的流程图。该操作流程是由本发明的存储器存取控制器执行的。参见图5,步骤S51,首先判断系统访问请求中突发信息访问的Bank是否已经打开;如判断突发信息访问的Bank还未打开,流程进入步骤S52,即打开Bank并至步骤S61进行读写操作;如判断突发信息访问的Bank已经打开,流程进入步骤S53,即判断行是否命中;若判断行不命中,流程进入步骤S54,即接收模块12不接收当前系统访问请求,而是保持空闲状态(IDLE),直到步骤S55,判断读写FIFO中与当前系统访问的Bank相同但行地址不同的SDRAM命令发射出去后,才在步骤S56接收当前系统访问请求,并在步骤S56进行存储器预转换;若步骤S53判断行命中,流程进入步骤S58,判断突发信息是否命中,即当前系统访问请求是否与读写FIFO中SDRAM命令在同一个突发中。若判断突发信息命中,流程进入步骤S59,把系统访问请求设置为无效读写命令;若步骤S58判断突发信息未命中,流程进入步骤S60,把系统访问请求设置为有效读写命令。
无效的读写命令表示此次读写在一次突发之中,系统访问请求设置为无效读写命令后,SDRAM可根据原有命令信息继续执行读写FIFO中的SDRAM命令,而无须发送新的命令。突发模式下,SDRAM可由内部计数器通过自加等方式控制把同一行中下一个列地址的存储单元的内容发送到输出缓存当中。例如在写数据时,发射模块14此时可以直接将读写FIFO的当前数据取出,不需要向SDRAM发射读写命令。在读数据时,SDRAM可以直接把数据读出到系统总线。有效的读写命令表示此次读写与读写FIFO中的SDRAM命令不在同一个突发之中,需要重新起动新的突发。当读写FIFO非空且对应的Bank位相符,并符合读/写命令发射时序要求时,如果为有效的读写命令,则发射模块14将读写FIFO的当前数据取出,同时通过命令通道向SDRAM发射读写命令。
若系统访问请求的bank已打开,行命中,并且突发信息命中,则命令解析模块121把系统访问请求设置为无效读写命令。此时不需要对SDRAM发出控制命令,即SDRAM的命令通道为空闲状态。因此可以利用SDRAM的命令通道打开或关闭Bank,充分利用SDRAM中的Bank的可并行性,使得SDRAM可在SDRAM命令执行之前提前打开Bank,因而能够加快之后的系统访问请求的处理速度。
上述实施例只是为了进一步更清楚地描述本发明,而非对本发明的限制。本领域的技术人员应该可以理解,本发明并不限于上述实施例所做的阐述,任何基于本发明的修改和本发明的等同物都应涵盖在本发明的权利要求的精神和范围之内。

Claims (6)

1.一种存储器存取控制器,所述存储器为包含至少一个存储组的同步动态随机访问存储器,所述控制器包括:
控制寄存器,用以存储并向所述存储器发送数据处理系统发出的控制信息;
接收模块,用以接收对所述存储器进行读/写操作的系统访问请求信号;
缓冲模块,用以存储接收模块产生的包括存储器命令和/或写入数据在内的中间信息;
发射模块,用以将缓冲模块内存储的存储器命令和/或所述数据发送至所述存储器,
其中,所述接收模块包括对接收到的系统访问请求信号进行解析,产生存储器命令来控制对存储器的操作的命令解析模块,所述命令解析模块包括:
存储组判断装置,用以判断当前系统访问请求中突发信息访问的存储组是否已打开;
存储行判断装置,用以在所述存储组判断装置判断当前系统访问请求中突发信息访问的存储组已打开的情况下,判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行是否为同一存储行;
突发判断装置,用以在所述存储行判断装置判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为同一存储行的情况下,判断当前系统访问请求与所述缓冲模块中的存储器命令是否在同一个突发中;
命令设置装置,根据所述突发判断装置判断当前系统访问请求与所述缓冲模块中的存储器命令是否在同一个突发中的情况,分别将系统访问请求设置为无效读写命令或有效读写命令,
其中,在所述存储组判断装置判断当前系统访问请求中突发信息访问的存储组未打开的情况下,所述控制器控制所述存储器打开一个新的存储组并进行读写操作;而在所述存储行判断装置判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为不同存储行的情况下,所述接收模块不接收当前系统访问请求,直至所述存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器。
2.如权利要求1所述的存储器存取控制器,其特征在于,所述缓冲模块包括:
激活FIFO存储单元,用以存储接收模块产生的所述存储器命令中存储组的号码和行地址;
列地址FIFO存储单元,用以存储接收模块产生的所述存储器命令中存储组的号码和列地址;
预转换FIFO存储单元,用以存储接收模块产生的所述存储器命令中存储组的号码以及表示一个预转换命令是否在读/写命令之前发出的信息;以及
读写FIFO存储单元,用以存储表示读或写的存储器命令、表示突发的起始命令和表示存储器命令的操作顺序的信息。
3.如权利要求2所述的存储器存取控制器,其特征在于,所述命令解析模块还包括用以在所述存储行判断装置判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为不同存储行的情况下,判断读写FIFO存储单元中存储的与当前系统访问请求的存储组相同但行地址不同的存储器命令是否已经发送到所述存储器的等待装置。
4.如权利要求3所述的存储器存取控制器,其特征在于,所述命令解析模块还包括在读写FIFO存储单元中存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器之后,指令所述存储器进行预转换的存储器预转换指令装置。
5.一种存储器存取方法,所述存储器为包含至少一个存储组的同步动态随机访问存储器,所述控制方法包括以下步骤:
(a)接收数据处理系统对所述存储器进行读/写操作的系统访问请求信号;
(b)对接收到的系统访问请求信号进行解析,产生存储器命令以控制对所述存储器的操作:
(b1)判断当前系统访问请求中突发信息访问的存储组是否已打开;
(b2)在当前系统访问请求中突发信息访问的存储组已打开的情况下,判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行是否为同一存储行;
(b3)在当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为同一存储行的情况下,判断当前系统访问请求与所述存储器命令是否在同一个突发中;
(b4)在当前系统访问请求与所述存储器命令在同一个突发中的情况下,将系统对所述存储器的读写请求设置为无效读写命令,否则,则设置为有效读写命令;
(b5)在步骤(b1)判断当前系统访问请求中突发信息访问的存储组未打开的情况下,控制所述存储器打开一个新的存储组并进行读写操作;
(b6)在步骤(b2)判断当前系统访问请求中突发信息访问的存储行与对该存储组的前次访问请求中的存储行为不同存储行的情况下,不接收当前系统访问请求,直至所述存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器;
(c)存储包括所述存储器命令和/或写入数据在内的中间信息;
(d)将存储的所述存储器命令和/或所述数据发送至所述存储器。
6.如权利要求5所述的存储器存取方法,其特征在于进一步包括,在所述存储的与当前系统访问请求的存储组相同但存储行不同的存储器命令已发送到所述存储器之后,接收当前系统访问请求,并指令所述存储器进行预转换的步骤。
CNB2005100236871A 2005-01-31 2005-01-31 存储器存取控制器与存储器存取方法 Expired - Fee Related CN100508064C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100236871A CN100508064C (zh) 2005-01-31 2005-01-31 存储器存取控制器与存储器存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100236871A CN100508064C (zh) 2005-01-31 2005-01-31 存储器存取控制器与存储器存取方法

Publications (2)

Publication Number Publication Date
CN1815626A CN1815626A (zh) 2006-08-09
CN100508064C true CN100508064C (zh) 2009-07-01

Family

ID=36907753

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100236871A Expired - Fee Related CN100508064C (zh) 2005-01-31 2005-01-31 存储器存取控制器与存储器存取方法

Country Status (1)

Country Link
CN (1) CN100508064C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584335B2 (en) * 2006-11-02 2009-09-01 International Business Machines Corporation Methods and arrangements for hybrid data storage
CN101625892B (zh) * 2009-08-07 2011-12-21 杭州华三通信技术有限公司 动态随机访问存储器的控制器及用户指令处理方法
CN101699560B (zh) * 2009-09-30 2012-12-12 曙光信息产业(北京)有限公司 一种内存控制器及多内存系统
CN101894084B (zh) * 2010-04-13 2012-06-27 苏州国芯科技有限公司 一种clb总线内用于写操作的装置
CN102236622A (zh) * 2010-04-30 2011-11-09 中兴通讯股份有限公司 提高动态存储器带宽利用率的动态存储器控制器及方法
CN102541782A (zh) * 2011-12-16 2012-07-04 中国科学院自动化研究所 Dram访问控制装置与控制方法
CN102591814A (zh) * 2011-12-16 2012-07-18 中国科学院自动化研究所 支持多bank访问模式的dram访问控制装置和控制方法
CN103927268B (zh) * 2014-04-08 2017-02-15 中国科学院微电子研究所 一种存储器的访问方法及装置
CN105518612A (zh) * 2015-07-29 2016-04-20 深圳市锐明技术股份有限公司 一种监控数据的写入方法及装置
CN108027765B (zh) * 2016-03-17 2020-06-26 华为技术有限公司 一种内存访问方法以及计算机系统
CN111522753B (zh) * 2019-12-11 2022-12-09 中国船舶重工集团公司第七0九研究所 一种基于状态机的sdram控制方法及系统
CN112416823B (zh) * 2020-11-15 2024-05-03 珠海一微半导体股份有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片

Also Published As

Publication number Publication date
CN1815626A (zh) 2006-08-09

Similar Documents

Publication Publication Date Title
CN100508064C (zh) 存储器存取控制器与存储器存取方法
US7447805B2 (en) Buffer chip and method for controlling one or more memory arrangements
US7529896B2 (en) Memory modules having a memory hub containing a posted write buffer, a memory device interface and a link interface, and method of posting write requests in memory modules
KR100260683B1 (ko) 캐쉬 내장 동기적 동적 랜덤 액세스 메모리 소자 및 프로그래밍가능한 캐쉬 저장 정책 구현 방법
US7203794B2 (en) Destructive-read random access memory system buffered with destructive-read memory cache
US20060087904A1 (en) Memory device capable of refreshing data using buffer and refresh method thereof
JP2007073052A (ja) 集積回路から外部メモリへのアクセス
US20010044874A1 (en) Memory system capable of supporting different memory devices and a memory device used therefor
CN100392760C (zh) 半导体存储装置
US20080098176A1 (en) Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching
US20170004095A1 (en) Memory Control Circuit and Storage Device
EP1012687B1 (en) Method and apparatus for controlling data transfer between a synchronous dram-type memory and a system bus
US7117307B2 (en) Memory controlling apparatus performing the writing of data using address line
US20040049642A1 (en) Method and architecture capable of accessing data and instructions using store and forward
JP4707351B2 (ja) マルチバンクメモリのスケジューリング方法
CN101464839B (zh) 一种访存缓冲装置及方法
US20120310621A1 (en) Processor, data processing method thereof, and memory system including the processor
US6400640B2 (en) Method for memory addressing
US6766403B2 (en) CPU system with high-speed peripheral LSI circuit
US20060271756A1 (en) Apparatus and method for reducing delay in operating time caused during DRAM hidden refresh operation
JPH11232180A (ja) データ処理装置
EP1513072A2 (en) Method for multibank memory scheduling
JPH11203198A (ja) メモリアクセス制御装置
JPH0713854A (ja) 高速メモリ・アクセス方式
JPH10125062A (ja) メモリ制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090701

Termination date: 20120131