CN102693195A - 用以最优化同步存储器的频宽的存储器存取系统及方法 - Google Patents

用以最优化同步存储器的频宽的存储器存取系统及方法 Download PDF

Info

Publication number
CN102693195A
CN102693195A CN2011100758627A CN201110075862A CN102693195A CN 102693195 A CN102693195 A CN 102693195A CN 2011100758627 A CN2011100758627 A CN 2011100758627A CN 201110075862 A CN201110075862 A CN 201110075862A CN 102693195 A CN102693195 A CN 102693195A
Authority
CN
China
Prior art keywords
memory
order
dynamic random
random access
synchronous dynamic
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
Application number
CN2011100758627A
Other languages
English (en)
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.)
Sunplus Technology Co Ltd
Original Assignee
Sunplus Technology 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 Sunplus Technology Co Ltd filed Critical Sunplus Technology Co Ltd
Priority to CN2011100758627A priority Critical patent/CN102693195A/zh
Publication of CN102693195A publication Critical patent/CN102693195A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Dram (AREA)

Abstract

本发明提供一种用以最优化同步存储器的频宽的存储器存取系统及方法,其将来自特定总线主控装置所产生的存储器存取命令解码成可替代同步动态随机存取存储器的命令,并暂存于一替代同步动态随机存取存储器的命令队列中,其中,替代同步动态随机存取存储器的命令被安排存取该同步动态随机存取存储器(SDRAM)的某些特定存储体,由此,一命令排序控制器在同步动态随机存取存储器命令中实现最优化的同步动态随机存取存储器命令交错存取的方式,以增进SDRAM的有效存取频宽,也可避免交错存取的方式时,因部分存取数据量太小的命令而产生SDRAM频宽的损失问题。

Description

用以最优化同步存储器的频宽的存储器存取系统及方法
技术领域
本发明涉及存储器存取的技术领域,尤指一种用以最优化同步存储器的频宽的存储器存取系统和方法。
背景技术
在计算机系统、微电脑系统、消费性电子及半导体技术的快速发展之下,电子产品的影音效能有显著的发展,因此来源数据同步的通讯接口也有长足的进步,例如DDR,DDR-II和DDR-III的同步动态随机存取存储器(SDRAM)的存取速度快速提升,同时也提供更高的存储器频宽。同步动态随机存取存储器的存取速度由数年前的数百万赫兹(xMHz)进步到今日的数十亿万赫兹(xGHz)。非工作存储体的数据存取(non-active bank memory access)的潜伏周期(latency cycle)数目也逐渐增加。例如SDR的非工作存储体的数据存取的潜伏周期数目为3-5,而DDR-II及DDR-III的非工作存储体的数据存取的潜伏周期数目为12-25。
一电脑系统或一图像处理系统会包含多个系统总线主控装置(system bus master)。每一系统总线主控装置具有一特定的功能,例如:图像解码、图像编码、图像回播、音频信号解码、音频信号回播、直接存储器存取(DMA)等功能。由于每一系统总线主控装置执行其特定的功能,故其对存储器存取区域及地址则是同时操作在不一致的地址及命令格式,故由系统总线主控装置所产生的动态存储器存取命令会使用于动态存储器的不同存储体进行存取,甚至多个存储体进行存取。由于有多个系统总线主控装置会执行存储器存取,且其存取动态存储器的地址各不相同,故很难在现行存储器存取命令中找到与前一存储器存取命令是相同的主动页(active page)。
图1是现有同步动态随机存取存储器的方块图。图2是现有DDR(Double data rate)存储器存取命令中对不相同的页(page)存取的示意图。其对一存储器的A存储体(Bank-A)进行二次读取,每一次读取均为连续式八笔数据的读取(burst 8)。于时间T0时,一存储器控制器对该存储器的A存储体输出一预充命令(pre-charge command,PRE)。经过3个时钟周期(clock)后,于时间T3时,存储器控制器对该存储器的A存储体输出一使能命令(activate command,ACT)。此3个时序则依据该存储器规格说明书中的tRP=3来操作。经过3个时钟周期后,于时间T6时,存储器控制器对该存储器的A存储体输出一读取命令(readcommand,READ)。此3个时序也依据该存储器规格说明书中的tRCD=3来操作。经过3个时序后(CL=3),于时间T9时,该存储器于其数据总线(data bus)输出相对应的数据(A1~A8)。由于第二个读取行为是对存储器的A存储体中不相同的页进行读取,故存储器控制器于时间T11时对该存储器输出一预充命令(Pre-charge,PRE)command),于时间T14时输出一使能命令(Active,ACT)command)。相同存储体的使能命令时序是根据规格书中的tRC=11来操作。如图2所示,该存储器于时间T19时由其数据总线输出相对应的数据(A9~A16),总共需约24个时钟周期以完成二个连续式八笔数据的读取。对于非最优化处理过的SDRAM存取命令的操作,SDRAM存取的数据频宽损失约为50%∽70%。此种存取存储器的方式很浪费时间且没有效率。其中,图2中的BA0为存储体地址0(Bank address 0)、BA1为存储体地址1(Bank address1)、Row0为行地址0(Row address 0)、Row2为行地址2(Row address 2)、Col0为列地址0(Column address 0)。
针对上述问题,图3是现有使用交错方式对DDR SDRAM存储器存取的示意图。其对一存储器的A存储体及B存储体分别进行一次读取,每一次读取均为连续式八笔数据的读取(burst 8)。于时间T0时,一存储器控制器对该存储器的A存储体输出一预充命令。于时间T2时,存储器控制器对该存储器的B存储体输出一预充命令。于时间T3时,存储器控制器对该存储器的A存储体输出一使能命令。于时间T5时,存储器控制器对该存储器的B存储体输出一使能命令,此使能命令和先前一个使能命令属于不同存储体,故不受规格说明书中tRC=11的限制。于时间T6时,存储器控制器对该存储器的A存储体输出一读取命令。于时间T9时,该存储器的A存储体于该存储器的数据总线(databus)输出相对应的数据(A1~A8)。由于经过3个时序后(CL=3),于时间T13时,该存储器于其数据总线输出相对应的数据(B1~B8),故于时间T10时,存储器控制器对该存储器的B存储体输出一读取命令,总共需约18个钟周期以完成二个连续式八笔数据的读取。此种方式虽可较图2节省数个时序,然而由于存取存储器数据地址的操作为不连续性,系统常常会存取地址相近的存储器,或因连续的存储器存取命令是来自不同的存储器主控装置(Master Device),所以常会对一存储器的同一存储体不同页(Page)进行多次存取,所以如图3此种对不同存储体交错存取方式机率是不高的,特别是在一复杂系统。其中,图3中的BA0为存储体地址0(Bank address 0)、BA1为存储体地址1(Bank address 1)、Row0为行地址0(Row address 0)、Col0为列地址0(Column address 0)。
另一现有的存储器控制器技术使用大的存储器存取命令队列(memory access command queue)以暂存许多的存储器存取命令,并使用一复杂的重新排序演算法以选择最低潜伏周期(latency)或最低频宽损失周期(penalty)的存储器存取命令以作为下一个进入SDRAM的存取命令,由此以提高SDRAM数据频宽使用率。
另一现有技术则使用多个存储器存取命令队列(multiple memoryaccess command queue),以选择最高优先次序的存储器存取命令,以降低潜伏周期(latency cycle)数目。
然而前述两种现有技术对于某些存储器读取命令,将会大量提高读取数据的潜伏周期,而降低效能。在同一时间,于一个复杂的计算机系统中,这些机制和方法还是无法保证SDRAM的频宽利用率。该系统将有一个大SDRAM命令队列,同时SDRAM的频宽利用率取决于存储器存取命令队列中的命令的数量和存储器命令所在的位置和种类。前述现有技术在是无法达到高SDRAM频宽,同时也无法保证系统效能。
某些计算机系统无法使用现有技术来最优化存储器存取的性能,例如,主控装置总是在不同SDRAM的地址范围做存取操作和复杂的位置和存储器命令解码系统(如二维视频图像存储器地址解码的存储器控制器)。
在这种系统下操作,在有限的存储器存取命令队列中的当前的存储器存取命令出到一个已活动页命令(下一个命令Active page)的机率是相当低的。
在已知的专利文献中,美国专利第6,629,220号揭露一种使用二个队列储存不同优先权的传输型态(transaction type)在依据频宽限制以调整优先权的技术。
于美国专利第6,629,220号中,揭露一种使用二个队列储存不同优先权的传输型态(transaction type)及依据频宽限制以调整优先权的技术。
于美国专利第7,395,448号中,揭露一种数个将短的存储器存取命令合并为一个长的存储器存取命令的技术。
于美国专利第6,564,304号中,揭露一种使用对存储器存取命令重新排序以减少模式切换的技术(write command to read command or readcommand to write command)。
于美国专利第7,069,399号中,揭露一种使用对存储器存取命令重新排序的技术,该命令重新排序的技术依据潜伏周期(latency cycle)而对存储器存取命令重新排序。
于美国专利第7,281,110号中,揭露一种对SDRAM的预充命令(PRE)、使能命令(ACT)、读取命令(READ)、写入命令(WRITE)重新排序的技术。
然而,在命令重新排序技术中,会因系统对最大延迟的要求而使实际可用的SDRAM频宽将大幅度的降低了,因此,对一个完整需复杂的计算机系统而言,现有的命令重新排序技术不能获得最大SDRAM的频宽且不能保证系统频宽为最大。故现有存储器存取的控制系统仍有诸多缺失而有予以改善的必要。
发明内容
本发明的主要目的在于提供一种最优化同步存储器频宽的存储器存取系统,从而能增进同步动态随机存取存储器命令存取效率,同时也可避免交错存取的方式(interleaving access)时,因部分存取数据量太小的命令而产生SDRAM频宽的损失问题。
依据本发明的一特色,本发明提出一种用以最优化同步存储器的频宽的存储器存取系统(memory controller),其包括一存储器命令处理器、及一同步动态随机存取存储器接口及协议控制器(SDRAM interfaceand protocol controller)。该存储器命令处理器连接至一存储器总线仲裁器及数据切换电路(memory bus arbiter and data switch circuit),以接收由该存储器总线仲裁器及数据切换电路所传送的存储器存取命令(memory access command)与数据,并负责转换为最优化的排序后的同步动态随机存取存储器命令。该同步动态随机存取存储器接口及协议控制器连接至该存储器命令处理器,以接收该排序过的同步动态随机存取存储器命令,并依据同步动态随机存取存储器的协议及时序,执行该排序过的同步动态随机存取存储器命令;其中,该存储器命令处理器将存储器存取命令解码并储存于一般同步动态随机存取存储器命令(general SDRAM command)队列中或替代同步动态随机存取存储器的命令(alternative SDRAM command)队列中,该被解码成替代同步动态随机存取存储器的命令的存储器存取命令来自某些一特定总线主控装置(bus master)所产生。
依据本发明的另一特色,本发明提出一种用以最优化同步存储器的频宽的存储器存取方法,该存储器存取方法用于一单芯片系统(SoC)上,以频宽最优化的方式来执行同步动态随机存取存储器命令,该存储器存取方法包括:A)一存储器总线仲裁器及数据切换电路选择/授予下一存储器存取命令给存储器存取系统;B)该存储器总线仲裁器及数据切换电路将步骤A)仲裁选择下一个存储器存取命令传送至一最优化同步存储器的频宽的存储器存取系统;C)该用以最优化同步存储器的频宽的存储器存取系统将存储器存取命令解码为同步动态随机存取存储器命令;D)判断该存储器存取命令是否为来自某特定总线主控装置所产生;E)若步骤D)判定为是,则将同步动态随机存取存储器命令储存至一替代同步动态随机存取存储器的命令队列,再执行步骤G);F)若步骤D)判定为否,则将同步动态随机存取存储器命令储存至一一般同步动态随机存取存储器命令队列,再执行步骤G);G)由该一般同步动态随机存取存储器命令队列及该替代同步动态随机存取存储器的命令队列中选取最小SDRAM频宽损失的同步动态随机存取存储器命令,并储存至一最小频宽损失的同步动态随机存取存储器命令队列。
附图说明
图1是现有同步动态随机存取存储器的方块图。
图2是现有DDR存储器存取命令中对相同的SDRAM存储体不同页存取的示意图。
图3是现有使用交错方式对DDR存储器存取的示意图。
图4是本发明一优选实施例关于一种用以最优化同步存储器频宽的存储器存取系统的架构示意图。
图5是一现有一般使用同步动态随机存取命令频宽最优化演算法重排后的SDRAM的命令的示意图。
图6是使用本发明替代同步动态随机存取存储器的命令架构的频宽最优化演算法重排后的SDRAM的命令的示意图。
图7是本发明一种用以最优化同步存储器的频宽的存储器存取方法的流程图。
图8是本发明一优选实施例关于一种用以最优化同步存储器频宽的存储器存取系统另一实施例的使用示意图。
主要元件符号说明
单芯片系统400            中央处理器410
图像显示处理器420        MPEG解码器430
绘图处理器440            第一荧幕选单450
第二荧幕选单460
存储器总线仲裁器及数据切换电路470
用以最优化同步存储器的频宽的存储器存取系统500
同步动态随机存取存储器490
存储器命令处理器510
同步动态随机存取存储器接口及协议控制器550
存储器总线命令接口单元511
存储器命令解码单元512
一般同步动态随机存取存储器命令队列513
替代同步动态随机存取存储器的命令队列514、
命令排序控制器515
最小频宽损失的同步动态随机存取存储器命令队列516
替代同步动态随机存取存储器命令及数据要求控制器517
多工器518
可编程控制暂存器519。
具体实施方式
本发明是关于一种用以最优化同步存储器的频宽的存储器存取系统。图4是本发明一优选实施例关于一种用以最优化同步存储器的频宽的存储器存取系统500的使用示意图。如图4所示,本发明最优化同步存储器的频宽的存储器存取系统500优选适用于一个单芯片系统(System-on-a-chip,SoC)400的系统上。
该单芯片系统(SoC)可包含一处理器410、一图像显示处理器(videodisplay processor)420、一MPEG解码器430、一绘图处理器(GraphicProcessing Unit,GPU)440、一第一荧幕选单(on screen display,OSD1)450、一第二荧幕选单(OSD2)460、一存储器总线仲裁器及数据切换电路470、一同步动态随机存取存储器490、及前述本发明的用以最优化同步存储器的频宽的存储器存取系统500。
前述处理器410、图像显示处理器420、MPEG解码器430、绘图处理器440、第一荧幕选单450、第二荧幕选单460均为特定总线主控装置。该特定总线可为AMBA总线、OCP总线、PCI总线(PCI-bus)等相关总线的系统。所述主控装置会对该存储器总线仲裁器及数据切换电路470产生存储器存取需求命令(memory access request)。该存储器总线仲裁器及数据切换电路470将仲裁存储器存取需求命令,当仲裁器选择了某个总线主控装置的需求后,就会接收该总线主控装置所产生存储器存取命令。
该最优化同步存储器的频宽的存储器存取系统500包括一存储器命令处理器510、及一同步动态随机存取存储器接口及协议控制器550。
该存储器命令处理器510连接至该存储器总线仲裁器及数据切换电路440,以接收由该存储器总线仲裁器及数据切换电路440所传送的存储器存取命令与数据,并转换成经排序过后的同步动态随机存取存储器命令(ordered SDRAM command)。
该同步动态随机存取存储器接口及协议控制器550连接至该存储器命令处理器510,以接收该经排序过后的同步动态随机存取存储器命令,并依据同步动态随机存取存储器的协议及时序,执行该排序过后的同步动态随机存取存储器命令。
该存储器命令处理器510将存储器存取命令解码成一般同步动态随机存取存储器命令或替代同步动态随机存取存储器的命令。
该被解码成替代同步动态随机存取存储器的命令的存储器存取命令来自某些特定总线主控装置所产生的。
为方便说明,于本实施例中,该某些特定总线主控装置为第一荧幕选单450及第二荧幕选单(OSD2)460。于其他实施例中,也可选取其他主控装置作为该特定总线主控装置。
于图4的本发明用以最优化同步存储器的频宽的存储器存取系统500的示意图中。进一步显示该存储器命令处理器510包含一存储器总线命令接口单元(memory bus command interface unit)511、一存储器命令解码单元(memory command decoder)512、一一般同步动态随机存取存储器命令队列(general SDRAM command queue)513、一替代同步动态随机存取存储器的命令队列(alternative SDRAM command queue)514、一命令排序控制器(command reorder controller)515、一最小惩罚同步动态随机存取存储器命令队列(minimun penalty SDRAM commandqueue)516、一替代同步动态随机存取存储器命令及数据要求控制器(alternative SDRAM command and data request controller)517、一SDRAM命令选取多工器518、及一可编程控制暂存器519。
该存储器总线命令接口单元511连接至该存储器总线仲裁器及数据切换电路470,以接收该存储器总线仲裁器及数据切换电路470所传送的存储器存取命令,和处理存储器存取命令的数据收送。
该存储器命令解码单元512连接至该存储器总线命令接口单元511,以对该存储器存取命令解码,而产生数个同步动态随机存取存储器命令,该同步动态随机存取存储器命令可分为该一般同步动态随机存取存储器命令或该替代同步动态随机存取存储器的命令。
该一般同步动态随机存取存储器命令队列513连接至该存储器命令解码单元512,以暂时储存该一般同步动态随机存取存储器命令。
该替代同步动态随机存取存储器的命令队列514连接至该存储器命令解码单元512,以暂时储存该替代同步动态随机存取存储器的命令。
该命令排序控制器515连接至该一般同步动态随机存取存储器命令队列513及该替代同步动态随机存取存储器的命令队列514,依据一最优化同步动态随机存取存储器接口的频宽使用率,以选择该一般同步动态随机存取存储器命令或该替代同步动态随机存取存储器的命令,作为下一个重新排序过后的同步动态随机存取存储器命令。
该多工器518连接至该一般同步动态随机存取存储器命令队列513及该替代同步动态随机存取存储器的命令队列514、及该命令排序控制器515,以选择从该一般同步动态随机存取存储器命令队列513或该替代同步动态随机存取存储器的命令队列514的输出命令,而选择该一般同步动态随机存取存储器命令或该替代同步动态随机存取存储器的命令,作为下一个重新排序过的同步动态随机存取存储器命令。并输出至该最小频宽损失的同步动态随机存取存储器命令队列516。
该最小频宽损失的同步动态随机存取存储器命令队列516经由该多工器518连接至该命令排序控制器515、该一般同步动态随机存取存储器命令队列513及该替代同步动态随机存取存储器的命令队列514,以暂存该经重新排序过后的同步动态随机存取存储器命令。
该替代同步动态随机存取存储器命令及数据要求控制器517连接至该命令排序控制器515及该特定总线主控装置450,460,并具有一要求新存储器存取命令信号(request new memory access commandsignal)521,以通知该特定总线主控装置450,460。
当该替代同步动态随机存取存储器的命令队列514中所储存的该替代同步动态随机存取存储器的命令耗尽或数量过少时,该替代同步动态随机存取存储器命令及数据要求控制器517就可利用该要求新存储器存取命令信号,以通知该特定总线主控装置450,460,从而产生和输出存储器存取命令。
该替代同步动态随机存取存储器命令及数据要求控制器517具有一紧急数据要求信号及数据队列快满信号(urgent data request signal anddata fifo near full signal)523,连接至该命令排序控制器515依据该紧急数据要求信号及数据队列快满信号以调高该替代同步动态随机存取存储器的命令的优先次序或暂时不选取替代同步动态随机存取存储器的命令。
当该特定总线主控装置450,460急需数据时,可经由该紧急数据要求信号及数据队列快满信号523,来告知该替代同步动态随机存取存储器命令及数据要求控制器517、再通知该命令排序控制器515,该命令排序控制器515依据该紧急数据要求信号及数据队列快满信号以调整该替代同步动态随机存取存储器的命令的优先次序。以免该特定总线主控装置450,460产生数据饥渴(data starved)情形。
对于该特定总线主控装置450,460所产生的存储器存取命令,一定会被该存储器命令解码单元512将之解码至同步动态随机存取存储器490的某些特定SDRAM存储体地址范围。例如:解码至同步动态随机存取存储器490SDRAM的第一存储体和SDRAM的第二个存储体地址范围、或同步动态随机存取存储器的四个存储体地址范围。
该可编程控制暂存器519连接至该命令排序控制器515,该命令排序控制器515可依据该可编程控制暂存器519的设定值,以调整该一般同步动态随机存取存储器命令的优先次序。该命令排序控制器515会将一存储器存取命令解码产生的所有同步动态随机存取存储器命令组合在一起做SDRAM命令的重排和输出。
图5是一现有依序(inorder)执行SDRAM的命令的时序示意图。由图5所示可知,多个SDRAM命令是从一个单一存储器存取命令所产生的。例如存储器存取命令1可解码成二个在SDRAM存储体0页2(bank 0 page 2)地址的SDRAM命令,存储器存取命令1可解码成四个在SDRAM存储体2页3(bank 2 page 3)地址及SDRAM存储体3页3(bank 3 page 3)地址的SDRAM命令。
由于现有技术中没有本发明的替代同步动态随机存取存储器的命令队列514,因此一般的具有命令重新排序的SDRAM控制器从一般命令的队列中找到或选择没有或最少频宽损失(penalty)的SDRAM存取命令,为下一个SDRAM存取命令。利用重新排序的SDRAM命令来改善SDRAM的频宽利用率的问题。一般情况下,每个主控装置有不同的行为和存储器地址区间来存取存储器。例如,视频解码器和视频处理主控装置将使用二维(区块)模式来存取存储器(X方向的起始地址、Y方向的起始地址、X方向的长度、及Y方向的长度)。而直接存取装置(Direct Access Memory,DMA)使用连续地址方式来存取存储器。RISC/DSP的处理器则多为短数据长度及不连续的地址的存取存储器命令型态。因此,一般SDRAM命令队列中是无法保证找的到无频宽损失(no-penalty)的SDRAM存取命令以供具有SDRAM命令重新排序的SDRAM控制器使用。
具有SDRAM命令重新排序的SDRAM控制器会从一般SDRAM命令队列的SDRAM存取命令进行重新排序,以产生如图5右边所示最小频宽损失的SDRAM存取命令(Min.penalty SDRAM cmd.)。图5右边所示最小频宽损失的SDRAM存取命令是现有重新排序技术所产生的最佳的结果。如图5所示,在C处对SDRAM存储体0的地址进行存取、在D处对SDRAM存储体1的地址进行存取、在E处对SDRAM存储体0的地址进行存取,似有交错存取的效果,然而由于在D处进行存取的数据量(长度)太小,也会产生频宽损失(penalty)。而且在E处及F处均对SDRAM存储体0的地址进行存取,对不同的页(page)存取时,F处的存取命令需下预充命令(PRE)及使能命令(Active),而造成大量的潜伏周期(latency cycle)。
会造成在E处及F处均对SDRAM存储体0的地址进行存取的情形主要是因为该一般SDRAM命令的队列所暂存的SDRAM存取命令数量太少的缘故。现有的解决办法是将该一般命令的队列容量加大,以暂存大量的存储器存取命令。而当该一般命令的队列容量加大后,会使系统产生有很大的存储器存取数据潜伏周期(latency cycle)和情形,也就是存储器发出一个存储器存取命令到取得数据的时间会加大很多。在这种情况下,该一般命令的队列的储存容量将被限制,因此同步动态随机存取存储器命令即使使用最佳的重新排序方法也会具有一定量的SDRAM频宽损失,而降低系统效能。
图6是使用本发明替代同步动态随机存取存储器的命令队列514时SDRAM的命令的示意图。本发明的替代同步动态随机存取存储器的命令队列514的设计,在于用来储存某些总线主控装置会周期性地发出存储器存取命令。该主控装置的存储器存取命令的对应的SDRAM的地址范围可预先规划,以满足最优化的SDRAM命令交错取存演算法。如图6所示,替代同步动态随机存取存储器的命令队列514中有一系列的存储器存取命令。
于本实施例中,总线主控装置为在一多媒体应用中的该第一荧幕选单450及该第二荧幕选单(OSD2)460。对应至该第一荧幕选单450存储器存取命令为SDRAM在存储体0(bank-0)及存储体1(bank-1)。亦即,该第一荧幕选单450存储器存取命令会被解码而存取SDRAM为在存储体0(bank-0)及在存储体1(bank-1)的SDRAM存储器位置。对应至该第二荧幕选单(OSD2)460存储器存取命令的SDRAM为在存储体2(bank-2)及存储体3(bank-3)的SDRAM存储器位置。因此,在该替代同步动态随机存取存储器的命令队列514中总是具有不同SDRAM存储体的同步动态随机存取存储器命令。因此,该命令排序控制器515可使用储存在该一般同步动态随机存取存储器命令队列513或该替代同步动态随机存取存储器的命令队列514,以产生没有频宽损失的同步动态随机存取存储器命令序列(no penalty SDRAM command sequence)。
图6右边处为最佳的同步动态随机存取存储器命令序列(SDRAMcommand sequence)。由图6所示可知,图6中该同步动态随机存取存储器命令序列(SDRAM command sequence)不会有像图5由于在D处进行存取的数据量太小所产生SDRAM频宽损失的情形,或是图5在E处及F处均对SDRAM存储体0进行存取而需下预充命令(PRE)及使能命令(ACT)而造成大量的SDRAM频宽损失和潜伏周期(latency cycle)的问题。
如图4所示,本发明的存储器存取系统500中,有一个专用的接口给该替代同步动态随机存取存储器的命令队列514。该替代同步动态随机存取存储器命令及数据要求控制器517用于请求新的存储器存取命令。当该替代同步动态随机存取存储器的命令队列514中没有足够的存取命令以维持没有SDRAM频宽损失的排序方法时,该替代同步动态随机存取存储器命令及数据要求控制器517使用该要求新存储器存取命令信号(request new memory access command signal)521,以通知该特定总线主控装置450、460。例如当需要对SDRAM存储体2(bank-2)或SDRAM存储体3(bank-3)执行同步动态随机存取存储器命令时,该替代同步动态随机存取存储器命令及数据要求控制器517将使用该要求新存储器存取命令信号521通知该第二荧幕选单(OSD2)460发出新的存储器存取命令。
如图4所示,当该特定总线主控装置450,460急需数据时,可经由该紧急数据要求信号及数据队列快满信号523,通知该替代同步动态随机存取存储器命令及数据要求控制器517、及该命令排序控制器515,该命令排序控制器515依据该紧急数据要求信号及数据队列快满信号以暂时调低该替代同步动态随机存取存储器的命令的优先权。
于本实施例中,储存于该一般同步动态随机存取存储器命令队列513的存储器存取命令较储存于该替代同步动态随机存取存储器的命令队列514的存储器存取命令有较高的优先权。该命令排序控制器515使用一计时器(图未示)来改变优先次序,以保证某些特定总线主控装置的服务时间和频宽。
当该特定总线主控装置450,460产生该紧急数据要求信号523时,该命令排序控制器515会将储存于该替代同步动态随机存取存储器的命令队列514的存储器存取命令有较高的优先权,以满足该特定总线主控装置450,460的存储器存取命令的数据需求。
当该特定总线主控装置的数据读取暂存器(buffer)的空间达到接近满水位时,就会使用“FIFO data near full”(FIFO数据快满)信号来告知命令排序控制器515,此时命令排序控制器515则只可选择储存于该一般同步动态随机存取存储器命令队列513中的存储器存取命令。
图7为本发明一种用以最优化同步存储器的频宽的存储器存取方法的流程图。其用于一单芯片系统(System-on-a-chip,SoC)400上,以SDRAM频宽最优化的演算法和架构对该同步动态随机存取存储器490作数据的存取。
首先,在步骤A中,该存储器总线仲裁器及数据切换电路470选择/授予下一存储器存取命令给存储器存取系统500。
在步骤B中,该存储器总线仲裁器及数据切换电路470将步骤A中选择的下一个存储器存取命令传送至该用以最优化同步存储器的频宽的存储器存取系统500。
在步骤C中,该用以最优化同步存储器的频宽的存储器存取系统500将存储器存取命令解码为同步动态随机存取存储器命令。
在步骤D中,判断该存储器存取命令是否为特定总线主控装置所产生,若是,则在步骤E中将同步动态随机存取存储器命令储存至该替代同步动态随机存取存储器的命令队列514,若否,则在步骤F中将同步动态随机存取存储器命令储存至该一般同步动态随机存取存储器命令队列513。其中,对应于特定总线主控装置所产生的该替代同步动态随机存取存储器的命令被解码到该同步动态随机存取存储器的某些特定存储体。
在步骤G中,由该一般同步动态随机存取存储器命令队列513及该替代同步动态随机存取存储器的命令队列514中选取没有或最小频宽损失的同步动态随机存取存储器命令,并储存至该最小频宽损失的同步动态随机存取存储器命令队列516。
图8是本发明的一优选实施例关于一种用以最优化同步存储器的频宽的存储器存取系统500另一实施例的使用示意图。其与图4的差别主要在于新增一存取存储器的主控装置520。该存取存储器的主控装置520可为一荧幕选单(OSD)或一直接存取存储器(direct memoryaccess,DMA)控制器。该存取存储器的主控装置520可包含一组可编程控制器(图未示)以设定相关存储器存取参数,例如:读取数据存储器的起始位置、存取长度、写入数据存储器的起始位置,平均使用频宽量。
由前述说明可知,本发明提供一种用以最优化同步存储器频宽的存储器存取系统及方法,其提出一新的存储器存取架构及方法。本发明利用替代同步动态随机存取存储器的命令队列514以暂存来自特定总线主控装置所产生的存储器存取命令,该来自特定总线主控装置所产生的SDRAM存储器存取命令会被存储器命令解码单元512解码至特定的SDRAM存储体。由此,命令排序控制器515可由该一般同步动态随机存取存储器命令队列513或该替代同步动态随机存取存储器的命令队列514,依据一最大同步动态随机存取存储器接口使用率,以选择该一般同步动态随机存取存储器命令或该替代同步动态随机存取存储器的命令,作为该排序过的同步动态随机存取存储器命令。由于来自特定总线主控装置所产生的存储器存取命令会被解码至特定的SDRAM存储体,因此命令排序控制器515可在同步动态随机存取存储器命令实现无频宽损失交错存取(no-penalty interleaving access),以最优化SDRAM存取效率,同时也可有效避免在SDRAM存储器交错存取的方式(interleaving access)时,因某些SDRAM存储器命令的存取数据量太小而产生频宽损失的问题。
由上述可知,本发明无论就目的、手段及功效,均显示其迥异于现有技术的特征,极具实用价值。但是应注意的是,上述诸多实施例仅为了便于说明而举例而已,本发明所主张的权利范围自应以申请专利范围所述为准,而非仅限于上述实施例。

Claims (11)

1.一种用以最优化同步存储器的频宽的存储器存取系统,包括:
一存储器命令处理器,其连接至一存储器总线仲裁器及数据切换电路,以接收由该存储器总线仲裁器及数据切换电路所传送的存储器存取命令,并转换成一排序过的同步动态随机存取存储器命令;以及
一同步动态随机存取存储器接口及协议控制器,其连接至该存储器命令处理器,以接收该排序过的同步动态随机存取存储器命令,并依据同步动态随机存取存储器的协议及时序,执行该排序过的同步动态随机存取存储器命令;
其中,该存储器命令处理器将存储器存取命令解码成一一般同步动态随机存取存储器命令或一替代同步动态随机存取存储器的命令,该解码成该替代同步动态随机存取存储器的命令的存储器存取命令是由一特定总线主控装置所产生。
2.根据权利要求1所述的用以最优化同步存储器的频宽的存储器存取系统,其中,该存储器命令处理器包含:
一存储器总线命令接口单元,连接至该存储器总线仲裁器及数据切换电路,以接收该存储器总线仲裁器及数据切换电路所传送的存储器存取命令,及处理数据收送;
一存储器命令解码单元,连接至该存储器总线命令接口单元,以对该存储器存取命令解码,而产生同步动态随机存取存储器命令,该同步动态随机存取存储器命令可分为该一般同步动态随机存取存储器命令或该替代同步动态随机存取存储器的命令;
一一般同步动态随机存取存储器命令队列,连接至该存储器命令解码单元,以暂时储存该一般同步动态随机存取存储器命令;
一替代同步动态随机存取存储器的命令队列,连接至该存储器命令解码单元,以暂时储存该替代同步动态随机存取存储器的命令;
一命令排序控制器,连接至该一般同步动态随机存取存储器命令队列及该替代同步动态随机存取存储器的命令队列,依据一最大同步动态随机存取存储器数据接口使用率,以选择该一般同步动态随机存取存储器队列中的命令或该替代同步动态随机存取存储器的命令,作为下一个排序后的同步动态随机存取存储器命令;以及
一最小频宽损失的同步动态随机存取存储器命令队列,连接至该命令排序控制器、该一般同步动态随机存取存储器命令队列及该替代同步动态随机存取存储器的命令队列,以暂存该排序过的同步动态随机存取存储器命令。
3.根据权利要求2所述的用以最优化同步存储器的频宽的存储器存取系统,其中,该存储器命令处理器还包含:
一替代同步动态随机存取存储器命令及数据要求控制器,其连接至该命令排序控制器,并具有一要求新存储器存取命令信号,以通知该特定总线主控装置。
4.根据权利要求3所述的用以最优化同步存储器的频宽的存储器存取系统,其中,该替代同步动态随机存取存储器命令及数据要求控制器具有一紧急数据要求信号及数据队列快满信号,该命令排序控制器依据该紧急数据要求信号及数据队列快满信号以调整该替代同步动态随机存取存储器的命令的优先次序。
5.根据权利要求4所述的用以最优化同步存储器的频宽的存储器存取系统,其中,对于该特定总线主控装置所产生的存储器存取命令,该存储器命令解码单元将之解码至同步动态随机存取存储器的特定且单一存储体地址范围。
6.根据权利要求4所述的用以最优化同步存储器的频宽的存储器存取系统,其中,对于该特定总线主控装置所产生的存储器存取命令,该存储器命令解码单元将之解码至同步动态随机存取存储器某特定的二个存储体地址范围。
7.根据权利要求6所述的用以最优化同步存储器的频宽的存储器存取系统,其中,对于该特定总线主控装置所产生的存储器存取命令,该存储器命令解码单元将之解码至同步动态随机存取存储器的四个存储体地址范围。
8.根据权利要求4所述的用以最优化同步存储器的频宽的存储器存取系统,其中,该存储器命令处理器还包含:
一可编程控制暂存器,连接至该命令排序控制器,该命令排序控制器可依据该可编程控制暂存器的设定值,以调整该一般同步动态随机存取存储器命令的优先次序。
9.根据权利要求4所述的用以最优化同步存储器的频宽的存储器存取系统,其中,该命令排序控制器将来自同一存储器存取命令解码产生的所有同步动态随机存取存储器命令一起做重新排列输出至该最小频宽损失的同步动态随机存取存储器命令队列。
10.一种用以最优化同步存储器的频宽的存储器存取方法,该存储器存取方法用于一单芯片系统上,以频宽最优化的方式来执行同步动态随机存取存储器的命令,该存储器存取方法包括:
A)一存储器总线仲裁器及数据切换电路选择/授予下一存储器存取命令;
B)该存储器总线仲裁器及数据切换电路将步骤A)中所选择的存储器存取命令传送至一用以最优化同步存储器频宽的存储器存取系统;
C)该用以最优化同步存储器的频宽的存储器存取系统将存储器存取命令解码为同步动态随机存取存储器命令;
D)判断该存储器存取命令是否为特定总线主控装置所产生;
E)若步骤D)判定为是,则将同步动态随机存取存储器命令储存至一替代同步动态随机存取存储器的命令队列,再执行步骤G);
F)若步骤D)判定为否,则将同步动态随机存取存储器命令储存至一一般同步动态随机存取存储器命令队列,再执行步骤G);以及
G)由该一般同步动态随机存取存储器命令队列及该替代同步动态随机存取存储器的命令队列中选取最小SDRAM频宽损失的同步动态随机存取存储器命令,并储存至一最小频宽损失的同步动态随机存取存储器命令队列。
11.根据权利要求10所述的用以最优化同步存储器的频宽的存储器存取方法,其中,对应于特定总线主控装置所产生的该替代同步动态随机存取存储器的命令存取该同步动态随机存取存储器的特定存储体。
CN2011100758627A 2011-03-24 2011-03-24 用以最优化同步存储器的频宽的存储器存取系统及方法 Pending CN102693195A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100758627A CN102693195A (zh) 2011-03-24 2011-03-24 用以最优化同步存储器的频宽的存储器存取系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100758627A CN102693195A (zh) 2011-03-24 2011-03-24 用以最优化同步存储器的频宽的存储器存取系统及方法

Publications (1)

Publication Number Publication Date
CN102693195A true CN102693195A (zh) 2012-09-26

Family

ID=46858659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100758627A Pending CN102693195A (zh) 2011-03-24 2011-03-24 用以最优化同步存储器的频宽的存储器存取系统及方法

Country Status (1)

Country Link
CN (1) CN102693195A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019645A (zh) * 2013-01-08 2013-04-03 江苏涛源电子科技有限公司 Ccd信号处理电路高速数据流仲裁控制方法
CN106055495A (zh) * 2015-04-14 2016-10-26 三星电子株式会社 用于控制半导体装置的方法
CN107017017A (zh) * 2015-10-05 2017-08-04 联发科技股份有限公司 用于存取动态随机存取存储器的计算系统以及相关存取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497451A (zh) * 2002-10-03 2004-05-19 ض� 用于减少存储器设备等待时间的装置、方法和系统
CN1981345A (zh) * 2004-05-27 2007-06-13 桑迪士克股份有限公司 可配置的就绪/忙控制
CN101770438A (zh) * 2008-12-31 2010-07-07 凌阳科技股份有限公司 存储器存取的控制系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497451A (zh) * 2002-10-03 2004-05-19 ض� 用于减少存储器设备等待时间的装置、方法和系统
CN1981345A (zh) * 2004-05-27 2007-06-13 桑迪士克股份有限公司 可配置的就绪/忙控制
CN101770438A (zh) * 2008-12-31 2010-07-07 凌阳科技股份有限公司 存储器存取的控制系统和方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019645A (zh) * 2013-01-08 2013-04-03 江苏涛源电子科技有限公司 Ccd信号处理电路高速数据流仲裁控制方法
CN103019645B (zh) * 2013-01-08 2016-02-24 江苏涛源电子科技有限公司 Ccd信号处理电路高速数据流仲裁控制方法
CN106055495A (zh) * 2015-04-14 2016-10-26 三星电子株式会社 用于控制半导体装置的方法
CN106055495B (zh) * 2015-04-14 2021-06-22 三星电子株式会社 用于控制半导体装置的方法
CN107017017A (zh) * 2015-10-05 2017-08-04 联发科技股份有限公司 用于存取动态随机存取存储器的计算系统以及相关存取方法

Similar Documents

Publication Publication Date Title
TW201239632A (en) Memory access system and method for optimizing SDRAM bandwidth
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
US8250322B2 (en) Command reordering based on command priority
US20090300324A1 (en) Array type processor and data processing system
US8601192B2 (en) Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device
KR101881089B1 (ko) 스트림 트랜잭션 정보에 기초하여 페이지 관리 정책들을 적용하기 위한 메모리 제어기들, 시스템들 및 방법들
CN103279309B (zh) 基于fpga的ddr控制装置及方法
JP2009015832A (ja) アクセス間調停回路、半導体装置およびアクセス間調停方法
CN104991737B (zh) 一种基于存储卡阵列架构的硬盘实现方法
US20120311241A1 (en) Scheduler for memory
CN102693195A (zh) 用以最优化同步存储器的频宽的存储器存取系统及方法
KR101785189B1 (ko) 데이터 기입 방법 및 메모리 시스템
CN101770438B (zh) 存储器存取的控制系统和方法
WO2004107187A1 (en) Memory controller dynamically arbitrating page packets
US7996601B2 (en) Apparatus and method of partially accessing dynamic random access memory
CN103049408A (zh) 一种多接口sram读写控制电路及方法
US10747442B2 (en) Host controlled data chip address sequencing for a distributed memory buffer system
US9343157B2 (en) Writing into an EEPROM on an I2C bus
CN100573491C (zh) 串行传输控制器与串行传输解码器及其串行传输方法
CN105825880B (zh) 用于ddr控制器的访问控制方法、装置及电路
US20060106956A1 (en) Methods and apparatus for servicing commands
CN110225353A (zh) 一种图像解码方法、装置、设备及计算机可读存储介质
CN103034455B (zh) 基于预先解码分析的数据信息缓存管理方法及系统
WO2004047114A1 (ja) 情報記憶装置、情報記憶方法及び情報記憶プログラム
CN101520749B (zh) 管理存储器的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120926