CN108628776B - 一种数据读写访问控制方法及装置 - Google Patents

一种数据读写访问控制方法及装置 Download PDF

Info

Publication number
CN108628776B
CN108628776B CN201710174056.2A CN201710174056A CN108628776B CN 108628776 B CN108628776 B CN 108628776B CN 201710174056 A CN201710174056 A CN 201710174056A CN 108628776 B CN108628776 B CN 108628776B
Authority
CN
China
Prior art keywords
data
address
dram
dmc
read
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
CN201710174056.2A
Other languages
English (en)
Other versions
CN108628776A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710174056.2A priority Critical patent/CN108628776B/zh
Publication of CN108628776A publication Critical patent/CN108628776A/zh
Application granted granted Critical
Publication of CN108628776B publication Critical patent/CN108628776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

本发明实施例公开了一种数据读写访问控制方法及装置。应用于DDR DRAM系统,在该系统中增加数据读写访问控制装置,该装置与处理器和DMC相连,第一DRAM和第二DRAM与DMC中的CS信号管脚相连,第一DRAM由第一容量区域和第二容量区域组成,第二容量区域的容量与第二DRAM的容量相等,第一地址区域包括第二容量区域和第二DRAM的容量区域。该方法包括:该装置在接收到目标指令时,判断目标指令的访问地址的范围,如果属于第一地址区域,基于目标指令和访问地址控制DMC按照对称存储容量方式对数据进行读写访问控制。通过这种方式,在性能上可以提高DDR DRAM系统的数据读写利用率,减少业务潜伏期。

Description

一种数据读写访问控制方法及装置
技术领域
本发明涉及电子技术领域,具体涉及一种数据读写访问控制方法及装置。
背景技术
在常见的芯片产品中,双倍数据率(Double Date Ration,DDR)动态随机存储器(Dynamic Random Access Memory,DRAM)系统可以使用对称容量DRAM器件拼接,也可以使用非对称容量DRAM器件拼接。其中,在非对称容量DRAM器件拼接方案中,通常可以是采用多通道结构,每个动态内存控制器(Dynamic Memory Controller,DMC)为一个通道,每个通道的数据和命令,时钟复位等信号完全独立;也可以采用多组结构(即多rank结构),每组的片选(Chip Selection,CS)、时钟使能(Clock Enable,CKE)、片内终结器(On-DieTermination,ODT)信号是独立的。
在实践中发现,在多通道结构下,如果相同标识的多个命令发送到不同通道,或者发生命令拆分发送到不同通道,会增加业务潜伏期(latency),从而影响系统性能;而在多rank结构下,rank之间读写切换会产生性能损耗,读写切换时间间隔较大,从而会降低系统数据读写利用率。并且在多通道结构或者多rank结构下,由于增加了DMC或者DMC增加了rank,使得芯片面积增大,从而导致芯片生产费用增加以及印制电路板(Printed CircuitBoard,PCB)的制作成本增加。
发明内容
本发明实施例公开了一种数据读写访问控制方法及装置,在非对称容量DRAM拼接方案中,能够提高DDR DRAM系统的数据读写利用率,减少业务潜伏期,同时减少芯片生产费用以及减少PCB制作成本。
本发明实施例第一方面公开了一种数据读写访问控制方法,该方法应用于DDRDRAM系统中,其中,DDR DRAM系统包含处理器、DMC、第一DRAM和第二DRAM,DMC包括CS信号管脚,第一DRAM的容量与第二DRAM的容量不等,进步的,DDR DRAM系统还包含数据读写访问控制装置,该数据读写访问控制装置与DMC和处理器连接,第一DRAM和第二DRAM通过CS信号管脚与DMC连接,该方法可以包括:
数据读写访问控制装置在接收到处理器发送的包含访问地址的目标指令时,首先判断目标指令的访问地址所属的地址范围,如果属于第一地址区域,则基于目标指令和访问地址控制DMC按照对称存储容量方式对数据进行读写访问控制。
其中,第一DRAM由第一容量区域和第二容量区域组成,第二容量区域的容量与第二DRAM的容量相等,第一地址区域包括第二容量区域和第二DRAM的容量区域。目标指令可以是数据写指令,也可以是数据读指令,如果是数据写指令,该目标指令中可以携带有写入的数据。
在DDR DRAM系统中增加数据读写访问控制装置,并通过上述方式进行数据读写控制,使得在非对称容量DRAM拼接方案中采用对称存储容量方式访问DRAM,可以提高DDRDRAM系统的数据读写利用率,减少业务潜伏期,同时减少芯片生产费用以及减少PCB制作成本。
在一些可行的实施方式中,该方法还可以包括:
如果访问地址位于第二地址区域,数据读写访问控制装置则增加目标指令的长度,修改目标指令的访问地址的起始地址,从而基于长度增加的目标指令和起始地址修改后的访问地址控制DMC对数据进行读写访问控制。
在一些可行的实施方式中,第一DRAM与第二DRAM的容量之比为2:1。
在一些可行的实施方式中,数据读写访问控制装置基于长度增加的目标指令和起始地址修改后的访问地址,控制DMC对数据进行读写访问控制的具体方式可以为:
在目标指令为数据写指令的情况下,数据读写访问控制装置可以基于长度增加的目标指令确定无效数据,并将该无效数据与写数据拼接,以及对无效数据配置屏蔽指示消息,然后将拼接后的数据、屏蔽指示消息以及起始地址修改后的访问地址发送给DMC,以便DMC基于起始地址修改后的访问地址,将写数据存储于第二地址区域,并基于屏蔽指示消息屏蔽该无效数据。
具体的,可以是写数据与无效数据间隔性拼接,也可以是无效数据拼接于写数据之后,还可以是无效数据拼接于写数据之前,本发明实施例不做限定。
进一步的,数据读写访问控制装置在将无效数据与写数据拼接的同时,还会对无效数据配置屏蔽指示消息,具体将无效数据对应的DM信号固定配置为mask有效,从而将拼接后得到的数据、屏蔽指示消息以及起始地址修改后的访问地址发送给DMC,DMC发起DRAM突发访问写操作中,每个时钟沿对应的每一拍写入的数据位宽仍然为指定位宽,如32bit,同时会传输每一拍数据对应的DM信号。由于无效数据对应的DM信号是mask有效,在基于起始地址修改后的访问地址存储数据时,最终只将从写数据存储于第一DRAM的第一容量区域(即第二地址区域)中,而将第二DRAM的无效数据屏蔽掉。
对于第二地址区域的访问,将每个写指令增加无效数据,增大指令地址的访问范围,在进行写数据时,写数据处理是将写数据和无效数据拼接后,发送给DMC,DMC从而按照对称存储容量方式访问DRAM,而只将写数据放到大容量DRAM(第一DRAM)的第一容量区域(即第二地址区域),而将有屏蔽指示消息的无效数据发送到小容量DRAM(第二DRAM)中,小容量DRAM根据屏蔽信号有效,从而不会更新数据。与对称容量DRAM拼接方案相比,可以节省DRAM容量。
在一些可行的实施方式中,数据读写访问控制装置基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制DMC对数据进行读写访问控制的具体方式还可以为:
在目标指令为数据读指令的情况下,数据读写访问控制装置可以将长度增加的目标指令和起始地址修改后的访问地址发送给DMC,以便于DMC基于长度增加的目标指令和起始地址修改后的访问地址获取读数据,其中,读数据包括从第二地址区域读取的目标数据,进一步的,数据读写访问控制装置就可以接收DMC发送的所述读数据,然后从读数据中确定目标数据,并将所述目标数据发送给所述处理器。
对于第二地址区域的访问,将每个读指令增加无效数据,增大指令地址的访问范围,在进行读数据时,按照写数据的拼接方式的逆处理,将小容量DRAM(第二DRAM)访问数据丢弃,而将大容量DRAM(第一DRAM)返回的数据抽取出来反拼接后,返回给处理器。与对称容量拼接方案相比,可以节省DRAM容量。
本发明实施例第二方面公开了一种数据读写访问控制装置,可以包括接收模块、判断模块、处理模块和控制模块,用于执行第一方面公开的数据读写访问控制方法。在非对称容量拼接方案的DDR DRAM系统中增加数据读写访问控制装置,并采用单通道单rank结构的拼接方案,数据读写访问控制装置对于访问第一地址区域的指令,采用对称存储容量方式控制DMC对数据进行读写访问控制,与对称容量拼接方案相比,可以节省DRAM容量,在性能上与其他非对称容量DRAM拼接方案相比,可以提高DDR DRAM系统的数据读写利用率,减少业务潜伏期。
本发明实施例第三方面公开了一种数据读写访问控制设备,可以包括输入设备、输出设备和处理器,用于执行第一方面公开的数据读写访问控制方法。在非对称容量拼接方案的DDR DRAM系统中增加数据读写访问控制设备,并采用单通道单rank结构的拼接方案,数据读写访问控制设备对于访问第一地址区域的指令,采用对称存储容量方式控制DMC对数据进行读写访问控制,与对称容量拼接方案相比,可以节省DRAM容量,在性能上与其他非对称容量DRAM拼接方案相比,可以提高DDR DRAM系统的数据读写利用率,减少业务潜伏期。
实施本发明实施例,具有如下有益效果:
本发明实施例中,在DDR DRAM系统中增加数据读写访问控制装置,该装置分别与处理器和DMC相连,其中,非对称容量的第一DRAM和第二DRAM同时与DMC中的一个CS信号管脚相连,具体的,第一DRAM的容量大于第二DRAM。第一DRAM的一部分与第二DRAM定义为第一地址区域,第一DRAM的剩余部分定义为第二地址区域。将数据读写访问控制装置在接收到目标指令(读/写指令)时,如果访问的是第一地址区域,则基于目标指令和访问地址控制DMC按照对称存储容量方式对数据进行读写访问控制。通过这种方式,在性能上,与其他非对称DRAM拼接方案相比,可以提高DDR DRAM系统的数据读写利用率,减少业务潜伏期。在硬件成本上,与对称DRAM拼接方案相比,可以节省DRAM容量,与其他非对称DRAM拼接方案相比,可以减少芯片生产费用以及减少PCB制作成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种DDR DRAM系统的架构示意图;
图2是本发明实施例公开的一种数据读写访问控制方法的流程示意图;
图3a是本发明实施例公开的对目标指令的处理示意图;
图3b是本发明实施例公开的对第二地址区域进行写操作的数据处理示意图;
图3c是本发明实施例公开的对第二地址区域进行读操作的数据处理示意图;
图3d是本发明实施例公开的对第一地址区域进行读/写操作的数据处理示意图;
图4是本发明实施例公开的一种数据读写访问控制装置的结构示意图;
图5是本发明实施例公开的一种数据读写访问控制设备的结构示意图。
具体实施方式
下面将结合附图,对本发明的实施例进行描述。
本发明实施例公开了一种数据读写访问控制方法及装置。在非对称容量DRAM拼接方案中,能够提高DDR DRAM系统的数据读写利用率,减少业务潜伏期,同时减少芯片生产费用以及减少PCB制作成本。
为了更好的理解本发明实施例公开的一种数据读写访问控制方法及装置,下面先对本发明实施例适用的DDR DRAM系统的架构进行描述。请参阅图1,图1是本发明实施例公开的一种DDR DRAM系统的架构示意图。在图1所示的架构中,DDR DRAM系统包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、总线bus、存储控制模块、第一DRAM器件和第二DRAM器件,其中,存储控制模块又包括数据读写访问控制装置(也可以称为命令和数据处理装置)和DMC,DMC包括数据屏蔽(Data Mask,MD)信号管脚,DQ信号管脚,以及CS/CKE/ODT/命令CMD/地址ADDR信号管脚(CS/CKE/ODT/CMD/ADDR信号管脚以下简称CS信号管脚)。其中,数据读写访问控制装置用于对指令和数据进行处理,DMC用于对数据读写进行控制。
进一步的,数据读写访问控制装置通过bus与CPU或GPU相连,且与DMC相连,DMC的上述信号管脚分别同时与第一DRAM和第二DRAM相连,如图1所示。其中,第一DRAM和第二DRAM的容量不等。从而实现芯片内在一个通道内一个组(以下简称rank)内实现对接非对称DRAM器件。
可选的,在图1所示的DDR DRAM系统中,第一DRAM和第二DRAM的容量之比可以为2:1。
可选的,一个rank内的读写访问数据位宽可以为32比特(bit),还可以为64bit,第一DRAM的容量为1GB,第二DRAM的容量为0.5GB,本发明实施例不做限定。
进一步的,第一DRAM由第一容量区域和第二容量区域组成,其中,第二容量区域的容量与第二DRAM的容量相等,从而可以定义第一容量区域为第二地址区域(也可以称为低性能地址区域)定义第二容量区域和第二DRAM的容量区域为第一地址区域(也可以称高性能地址区域)。
可以理解的是,在一个rank内的读写访问数据位宽可以为32bit,且第一DRAM的容量为1GB,第二DRAM的容量为0.5GB的情况下,高性能地址区域的数据带宽为32bit,对应的内部总线地址范围可以定义为0x3FFF_FFFF~0x0,低性能地址区域的数据带宽为16bit,对应的内部总线地址范围可以定义为0x5FFF_FFFF~0x4000_0000。数据读写访问控制装置用于对访问到高性能地址区域或者低性能地址区域的指令进行处理,以确保每次DRAM突发访问操作中的每一拍数据位宽为32bit。
当然,本发明实施例不限定于两个DRAM的非对称拼接,也不限定于一个rank内的读写访问数据的位宽为32bit,也不限定于第一DRAM和第二DRAM的容量(以下以读写访问数据的位宽为32bit,第一DRAM的容量为1GB,第二DRAM的容量为0.5GB为例进行说明)。
在图1所示的DDR DRAM系统中,由于只采用一个DMC,使用DMC的一组CS信号管脚就可以完成非对称容量的DRAM器件的拼接,也即是,采用单通道单rank,与多通道结构或者多rank结构相比,能够减少PCB走线的难度,从而减少PCB制作成本,并能够降低DRAM颗粒成本,芯片封装成本,管脚封装成本等。
基于图1所示的DDR DRAM系统架构,本发明实施例公开了一种数据读写访问控制方法。请参阅图2,图2是本发明实施例公开的一种数据读写访问控制方法的流程示意图。如图2所示,该方法可以包括以下步骤:
201、数据读写访问控制装置接收处理发送的目标指令,其中,目标指令包含访问地址。
本发明实施例中,处理器在需要进行读数据或者写数据时,可以向DMC发送目标指令,该目标指令首先需经过数据读写访问控制装置的处理,再发送给DMC。其中,目标指令可以是数据读指令,也可以数据写指令,如果是数据写指令,该目标指令中可以携带有写入的数据。
202、数据读写访问控制装置判断访问地址所属的地址范围。
本发明实施例中,数据读写访问控制装置在接收到目标指令后,可以判断目标指令的访问地址所属的地址范围。其中,可供访问的地址范围可以包括第一地址区域和第二地址区域。
203、若访问地址位于第二地址区域,数据读写访问控制装置增加目标指令的长度,并修改访问地址的起始地址。
本发明实施例中,如果目标指令的访问地址落入第二地址区域,为了确保在DMC将接收到的总线指令转换为DRAM突发访问操作中每一拍数据位宽为指定位宽,如32bit,数据读写访问控制装置需要增加目标指令的长度,进一步还会修改访问地址的起始地址,具体可以对目标指令增加一倍的无效数据量,对目标指令的访问地址范围增大一倍。
举例来说,请一并参阅图3a,可以通过cmd_len_new=cmd_len_previous*2增加目标指令的长度,以及通过cmd_first_aDDR_new=low_performance_region_start_aDDR+(cmd_first_aDDR_previous-low_performance_reion_start_aDDR)*2修改访问地址的起始地址,其中low_performance_region_start_aDDR为第二地址区域(即低性能地址区域)的起始地址,这里起始地址为1GB:0x4000_0000。
204、数据读写访问控制装置基于长度增加的目标指令和起始地址修改后的访问地址,控制DMC对数据进行读写访问控制。
本发明实施例中,数据读写访问控制装置在增加目标指令的长度且修改访问地址的起始地址后,从而可以基于长度增加的目标指令和起始地址修改后的访问地址控制DMC对数据进行读写访问控制操作。
作为一种可行的实施方式,如果目标指令为数据写指令,数据读写访问控制装置基于长度增加的目标指令和起始地址修改后的访问地址,控制DMC对数据进行读写访问控制的具体方式可以为:
基于长度增加的目标指令确定无效数据,并将无效数据与写数据拼接;
对无效数据配置屏蔽指示消息;
将拼接后的数据、屏蔽指示消息以及起始地址修改后的访问地址发送给DMC,以便DMC基于起始地址修改后的访问地址,将写数据存储于第二地址区域,并基于屏蔽指示消息屏蔽无效数据。
具体实现中,在目标指令为数据写指令的情况下,数据读写访问控制装置在对目标指令的长度以及访问地址修改后,会基于长度增加的目标指令确定无效数据,其中,该无效数据可以是任意数据,如全“0”数据填充,或全“1”数据填充,或“0”数据和“1”数据填充,还可以是其他数据,本发明实施例不做限定。在无效数据确定后,数据读写访问控制装置从而可以将无效数据和写数据进行拼接,具体的,可以是写数据与无效数据间隔性拼接,如图3b所示,也可以是无效数据拼接于写数据之后,还可以是无效数据拼接于写数据之前,本发明实施例不做限定。
进一步的,数据读写访问控制装置在将无效数据与写数据拼接的同时,还会对无效数据配置屏蔽指示消息,具体将无效数据对应的DM信号固定配置为mask有效,从而将拼接后得到的数据、屏蔽指示消息以及起始地址修改后的访问地址发送给DMC,DMC发起DRAM突发访问写操作中,每个时钟沿对应的每一拍写入的数据位宽仍然为指定位宽,如32bit,同时会传输每一拍数据对应的DM信号,如图3b所示。由于无效数据对应的DM信号是mask有效,在基于起始地址修改后的访问地址存储数据时,最终只将从写数据存储于第一DRAM的第一容量区域(即第二地址区域)中,而将第二DRAM的无效数据屏蔽掉。
对于低性能地址区域(即第二地址区域)的访问,将每个写指令增加无效数据,增大指令地址的访问范围,在进行写数据时,写数据处理是将写数据和无效数据拼接后,发送给DMC,DMC从而按照对称存储容量方式访问DRAM,而只将写数据放到大容量DRAM(第一DRAM)的第一容量区域(即第二地址区域),而将有屏蔽指示消息的无效数据发送到小容量DRAM(第二DRAM)中,小容量DRAM根据屏蔽信号有效,从而不会更新数据。与对称容量DRAM拼接方案相比,可以节省DRAM容量。
作为另一种可行的时候方式,如果目标指令为数据读指令,数据读写访问控制装置基于长度增加的目标指令和起始地址修改后的访问地址,控制DMC对数据进行读写访问控制的具体方式可以为:
将长度增加的目标指令和起始地址修改后的访问地址发送给DMC,以便于DMC基于长度增加的目标指令和起始地址修改后的访问地址获取读数据,读数据包括从第二地址区域读取的目标数据;
接收DMC发送的读数据,并从读数据中确定目标数据;
将目标数据发送给处理器。
具体实现中,在目标指令为数据读指令的情况下,数据读写访问控制装置在对目标指令的长度以及访问地址修改后,会将长度增加的目标指令和起始地址修改后的访问地址发送给DMC。DMC发起DRAM突发访问操作,每个时钟沿对应的每一拍返回读数据位宽仍然为指定位宽,如32bit,如图3c所示。也就是说,第一DRAM和第二DRAM会同时返回数据。由于目标指令的访问地址属于第二地址区域,那么第一DRAM返回的数据为有效数据,第二DRAM返回的数据可视为无效数据,因此,DMC返回给数据读写访问控制装置的读数据中,包括了有效数据(即目标数据)和无效数据。数据读写访问控制装置在接收到读数据后,从而会丢弃无效数据,将目标数据(即有效数据)重新逆拼接后,通过总线发送给处理器。
对于低性能地址区域(即第二地址区域)的访问,将每个读指令增加无效数据,增大指令地址的访问范围,在进行读数据时,按照写数据的拼接方式的逆处理,将小容量DRAM(第二DRAM)访问数据丢弃,而将大容量DRAM(第一DRAM)返回的数据抽取出来反拼接后,返回给处理器。与对称容量DRAM拼接方案相比,可以节省DRAM容量。
205、若述访问地址位于第一地址区域,数据读写访问控制装置基于目标指令和访问地址控制DMC按照对称存储容量方式对数据进行读写访问控制。
本发明实施例中,如果访问地址位于第一地址区域(即高性能地址区域),数据读写访问控制装置不会对目标指令进行任何处理,直接将目标指令发送给DMC。
具体的,针对目标指令为写指令来说,目标指令对应的写数据直接发送给DMC,DMC按照对称存储容量方式访问DRAM,也即是,将数据同时存储于第一DRAM的第二容量区域和第二DRAM中,如图3d所示。针对目标指令为读指令来说,DMC直接从第一DRAM的第二容量区域和第二DRAM中读取数据,并发送给据读写访问控制装置,目标指令对应的读数据直接通过总线返回给处理器。其中,DMC发起的DRAM突发访问操作中,每个时钟沿上对应的每一拍读/写数据位宽为指定位宽,如32bit。
可以理解的是,在DDR DRAM系统中,相对于双通道非对称拼接方案,本发明实施例采用单通道单rank非对称拼接方案,在性能上,与双通道非对称拼接方案保持相当的情况下,可以节约一个DMC的面积成本,同时节约了一半CS,CKE,ODT,CLK,命令和地址信号管脚的封装成本。与对称容量DRM拼接方案相比,可以节省DRAM的容量,以第一DRAM容量为1GB,第二DRAM容量为0.5GB为例来说,可以节省0.5GB的容量。
进一步的,本发明实施例在DDR DRAM系统中采用单通道单rank非对称拼接方案,而在数据读写时,按照对称存储容量方式访问DRAM,如果访问的是高性能地址区域,与双通道非对称拼接方案以及单通道双rank非对称拼接方案相比,可以提高系统数据读写利用率,减少业务潜伏期。与对称拼接方案相比,节约了内存和DRAM成本。
可见,在图2所描述的方法中,在DDR DRAM系统中增加数据读写访问控制装置,该装置分别与处理器和DMC相连,其中,非对称容量的第一DRAM和第二DRAM同时与DMC中的一个CS信号管脚相连,具体的,第一DRAM的容量大于第二DRAM。第一DRAM的一部分与第二DRAM定义为第一地址区域,第一DRAM的剩余部分定义为第二地址区域。数据读写访问控制装置在接收到目标指令(读/写指令)时,如果访问的是第一地址区域,则基于目标指令和访问地址控制DMC按照对称存储容量方式对数据进行读写访问控制。通过这种方式,与其他非对称DRAM拼接方案相比,可以提高DDR DRAM系统的数据读写利用率,能够减少业务潜伏期。与对称DRAM拼接方案相比,可以节省DRAM容量。
基于图1所示的DDR DRAM系统架构,本发明实施例公开了一种数据读写访问控制装置。请参阅图4,图4是本发明实施例公开的一种数据读写访问控制装置的结构示意图。如图4所示,该数据读写访问控制装置400可以包括以下模块:
接收模块401,用于接收DDR DRAM系统中的处理器发送的目标指令,所述目标指令包含访问地址。
判断模块402,用于判断所述访问地址所属的地址范围。
控制模块403,用于在所述访问地址位于第一地址区域时,基于所述目标指令和所述访问地址控制所述DMC按照对称存储容量方式对数据进行读写访问控制;其中,所述第一DRAM由第一容量区域和第二容量区域组成,所述第二容量区域的容量与所述第二DRAM的容量相等,所述第一地址区域包括所述第二容量区域和所述第二DRAM的容量区域。目标指令可以是数据写指令,也可以是数据读指令,如果是数据写指令,该目标指令中可以携带有写入的数据。
在一些可行的实施方式中,该装置还可以包括:
处理模块404,用于在所述访问地址位于第二地址区域时,增加所述目标指令的长度,并修改所述访问地址的起始地址,其中,所述第二地址区域包括所述第一容量区域。
控制模块403,还用于基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制所述DMC对数据进行读写访问控制。
在一些可行的实施方式中,所述第一DRAM与所述第二DRAM的容量之比为2:1。
在一些可行的实施方式中,所述控制模块404基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制DMC对数据进行读写访问控制的具体方式可以为:
在所述目标指令为数据写指令的情况下,基于长度增加的所述目标指令确定无效数据,并将所述无效数据与写数据拼接;
对所述无效数据配置屏蔽指示消息;
将拼接后的数据、所述屏蔽指示消息以及起始地址修改后的所述访问地址发送给所述DMC,以便所述DMC基于起始地址修改后的所述访问地址,将所述写数据存储于所述第二地址区域,并基于所述屏蔽指示消息屏蔽所述无效数据。
具体的,可以是写数据与无效数据间隔性拼接,也可以是无效数据拼接于写数据之后,还可以是无效数据拼接于写数据之前,本发明实施例不做限定。
进一步的,数据读写访问控制装置在将无效数据与写数据拼接的同时,还会对无效数据配置屏蔽指示消息,具体将无效数据对应的DM信号固定配置为mask有效,从而将拼接后得到的数据、屏蔽指示消息以及起始地址修改后的访问地址发送给DMC,DMC发起DRAM突发访问写操作中,每个时钟沿对应的每一拍写入的数据位宽仍然为指定位宽,如32bit,同时会传输每一拍数据对应的DM信号。由于无效数据对应的DM信号是mask有效,在基于起始地址修改后的访问地址存储数据时,最终只将从写数据存储于第一DRAM的第一容量区域(即第二地址区域)中,而将第二DRAM的无效数据屏蔽掉。
对于低性能地址区域(即第二地址区域)的访问,将每个写指令增加无效数据,增大指令地址的访问范围,在进行写数据时,写数据处理是将写数据和无效数据拼接后,发送给DMC,DMC从而按照对称存储容量方式访问DRAM,而只将写数据放到大容量DRAM(第一DRAM)的第一容量区域(即第二地址区域),而将有屏蔽指示消息的无效数据发送到小容量DRAM(第二DRAM)中,小容量DRAM根据屏蔽信号有效,从而不会更新数据。与对称容量DRAM拼接方案相比,可以节省DRAM容量。
在一些可行的实施方式中,所述控制模块404基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制DMC对数据进行读写访问控制的具体方式还可以为:
在所述目标指令为数据读指令的情况下,将长度增加的所述目标指令和起始地址修改后的所述访问地址发送给所述DMC,以便于所述DMC基于长度增加的所述目标指令和起始地址修改后的所述访问地址获取读数据,所述读数据包括从所述第二地址区域读取的目标数据;
接收所述DMC发送的所述读数据,并从所述读数据中确定所述目标数据;
将所述目标数据发送给所述处理器。
对于低性能地址区域(即第二地址区域)的访问,将每个读指令增加无效数据,增大指令地址的访问范围,在进行读数据时,按照写数据的拼接方式的逆处理,将小容量DRAM(第二DRAM)访问数据丢弃,而将大容量DRAM(第一DRAM)返回的数据抽取出来反拼接后,返回给处理器。与对称容量DRAM拼接方案相比,可以节省DRAM容量。
可见,在图4所描述的数据读写访问控制装置中,在DDR DRAM系统中增加数据读写访问控制装置,该装置分别与处理器和DMC相连,其中,非对称容量的第一DRAM和第二DRAM同时与DMC中的一个CS信号管脚相连,具体的,第一DRAM的容量大于第二DRAM。第一DRAM的一部分与第二DRAM定义为第一地址区域,第一DRAM的剩余部分定义为第二地址区域。数据读写访问控制装置在接收到目标指令(读/写指令)时,如果访问的是第一地址区域,则基于目标指令和访问地址控制DMC按照对称存储容量方式对数据进行读写访问控制。通过这种方式,在性能上,与其他非对称DRAM拼接方案相比,可以提高DDR DRAM系统的数据读写利用率,减少业务潜伏期。在硬件成本上,与对称DRAM拼接方案相比,可以节省DRAM容量,与其他非对称DRAM拼接方案相比,可以减少芯片生产费用以及减少PCB制作成本。
请一并参阅图5,图5是本发明实施例公开的一种数据读写访问控制设备的结构示意图。其中,图5所描述的数据读写访问控制设备500可以用于执行图2相应的方法步骤。如图5所示,该数据读写访问控制设备500可以包括:至少一个输入设备501,至少一个输出设备502,至少一个处理器503,如CPU,存储器504以及至少一个通信总线505,上述输入设备501、输出设备502、处理器503和存储器504通过总线505连接。
其中,上述输入设备501具体可为数据读写访问控制设备500的接收器,用于接收外部设备,如DMC、DDR DRAM系统中处理器发送的数据和指令。
上述输出设备502具体可为数据读写访问控制设备500的发送器,用于向外部设备如DMC、DDR DRAM系统中处理器发送数据和指令。
上述存储器504可以是高速RAM存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。上述存储器504用于存储一组程序代码,上述输入设备501、输出设备502和处理器503用于调用存储器504中存储的程序代码,执行如下操作:
输入设备501,用于接收DDR DRAM系统中的处理器发送的目标指令,所述目标指令包含访问地址。
处理器503,用于判断所述访问地址所属的地址范围。
处理器503,还用于在所述访问地址位于第一地址区域时,基于所述目标指令和所述访问地址控制所述DMC按照对称存储容量方式对数据进行读写访问控制;其中,所述第一DRAM由第一容量区域和第二容量区域组成,所述第二容量区域的容量与所述第二DRAM的容量相等,所述第一地址区域包括所述第二容量区域和所述第二DRAM的容量区域。
其中,目标指令可以是数据写指令,也可以是数据读指令,如果是数据写指令,该目标指令中可以携带有写入的数据。
在一些可行的实施方式中,处理器503,还用于在所述访问地址位于第二地址区域时,增加所述目标指令的长度,并修改所述访问地址的起始地址。
处理器503,还用于基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制DMC对数据进行读写访问控制。
在一些可行的实施方式中,所述第一DRAM与所述第二DRAM的容量之比为2:1。
在一些可行的实施方式中,处理器503基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制DMC对数据进行读写访问控制的具体方式可以为:
在所述目标指令为数据写指令的情况下,基于长度增加的所述目标指令确定无效数据,并将所述无效数据与写数据拼接;
对所述无效数据配置屏蔽指示消息;
控制输出设备502将拼接后的数据、所述屏蔽指示消息以及起始地址修改后的所述访问地址发送给所述DMC,以便所述DMC基于起始地址修改后的所述访问地址,将所述写数据存储于所述第二地址区域,并基于所述屏蔽指示消息屏蔽所述无效数据。
具体的,可以是写数据与无效数据间隔性拼接,也可以是无效数据拼接于写数据之后,还可以是无效数据拼接于写数据之前,本发明实施例不做限定。
对于低性能地址区域(即第二地址区域)的访问,将每个写指令增加无效数据,增大指令地址的访问范围,在进行写数据时,写数据处理是将写数据和无效数据拼接后,发送给DMC,DMC从而按照对称存储容量方式访问DRAM,而只将写数据放到大容量DRAM(第一DRAM)的第一容量区域(即第二地址区域),而将有屏蔽指示消息的无效数据发送到小容量DRAM(第二DRAM)中,小容量DRAM根据屏蔽信号有效,从而不会更新数据。与对称容量DRAM拼接方案相比,可以节省DRAM容量。
在一些可行的实施方式中,处理器503基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制DMC对数据进行读写访问控制的具体方式还可以为:
在所述目标指令为数据读指令的情况下,控制输出设备502将长度增加的所述目标指令和起始地址修改后的所述访问地址发送给所述DMC,以便于所述DMC基于长度增加的所述目标指令和起始地址修改后的所述访问地址获取读数据,所述读数据包括从所述第二地址区域读取的目标数据;
控制输入设备501接收所述DMC发送的所述读数据,并从所述读数据中确定所述目标数据;
控制输出设备502将所述目标数据发送给所述处理器。
对于低性能地址区域(即第二地址区域)的访问,将每个读指令增加无效数据,增大指令地址的访问范围,在进行读数据时,按照写数据的拼接方式的逆处理,将小容量DRAM(第二DRAM)访问数据丢弃,而将大容量DRAM(第一DRAM)返回的数据抽取出来反拼接后,返回给处理器。与对称容量DRAM拼接方案相比,可以节省DRAM容量。
其中,本发明实施例所描述的数据读写访问控制设备具体可通过逻辑电路构成。
可见,在图5所描述的数据读写访问控制设备中,在DDR DRAM系统中增加数据读写访问控制设备,该设备分别与处理器和DMC相连,其中,非对称容量的第一DRAM和第二DRAM同时与DMC中的一个CS信号管脚相连,具体的,第一DRAM的容量大于第二DRAM。第一DRAM的一部分与第二DRAM定义为第一地址区域,第一DRAM的剩余部分定义为第二地址区域。数据读写访问控制设备在接收到目标指令(读/写指令)时,如果访问的是第一地址区域,则基于目标指令和访问地址控制DMC按照对称存储容量方式对数据进行读写访问控制。通过这种方式,在性能上,与其他非对称DRAM拼接方案相比,可以提高DDR DRAM系统的数据读写利用率,能够减少业务潜伏期。在硬件成本上,与对称DRAM拼接方案相比,可以节省DRAM容量,与其他非对称DRAM拼接方案相比,可以减少芯片生产费用以及减少PCB制作成本。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例数据读写访问控制装置中的模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明实施例公开的一种数据读写访问控制方法及装置进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种数据读写访问控制方法,应用于双倍速率DDR动态随机存储器DRAM系统,所述DDR DRAM系统包含处理器、动态内存控制器DMC、第一DRAM和第二DRAM,所述DMC包括片选CS信号管脚,所述第一DRAM的容量与所述第二DRAM的容量不等,其特征在于,所述DDR DRAM系统还包含数据读写访问控制装置,所述数据读写访问控制装置与所述DMC和所述处理器连接,所述第一DRAM和所述第二DRAM通过所述CS信号管脚与所述DMC连接,所述方法包括:
所述数据读写访问控制装置接收所述处理器发送的目标指令,所述目标指令包含访问地址;
所述数据读写访问控制装置判断所述访问地址所属的地址范围;
若所述访问地址位于第一地址区域,所述数据读写访问控制装置基于所述目标指令和所述访问地址控制所述DMC按照对称存储容量方式对数据进行读写访问控制;
其中,所述第一DRAM由第一容量区域和第二容量区域组成,所述第二容量区域的容量与所述第二DRAM的容量相等,所述第一地址区域包括所述第二容量区域和所述第二DRAM的容量区域。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述访问地址位于第二地址区域,所述数据读写访问控制装置增加所述目标指令的长度,并修改所述访问地址的起始地址;其中,所述第二地址区域包括所述第一容量区域;
所述数据读写访问控制装置基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制所述DMC对数据进行读写访问控制。
3.根据权利要求1或2所述的方法,其特征在于,所述第一DRAM与所述第二DRAM的容量之比为2:1。
4.根据权利要求2所述的方法,其特征在于,所述数据读写访问控制装置基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制所述DMC对数据进行读写访问控制,包括:
在所述目标指令为数据写指令的情况下,所述数据读写访问控制装置基于长度增加的所述目标指令确定无效数据,并将所述无效数据与写数据拼接;
所述数据读写访问控制装置对所述无效数据配置屏蔽指示消息;
所述数据读写访问控制装置将拼接后的数据、所述屏蔽指示消息以及起始地址修改后的所述访问地址发送给所述DMC,以便所述DMC基于起始地址修改后的所述访问地址,将所述写数据存储于所述第二地址区域,并基于所述屏蔽指示消息屏蔽所述无效数据。
5.根据权利要求2所述的方法,其特征在于,所述数据读写访问控制装置基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制所述DMC对数据进行读写访问控制,包括:
在所述目标指令为数据读指令的情况下,所述数据读写访问控制装置将长度增加的所述目标指令和起始地址修改后的所述访问地址发送给所述DMC,以便于所述DMC基于长度增加的所述目标指令和起始地址修改后的所述访问地址获取读数据,所述读数据包括从所述第二地址区域读取的目标数据;
所述数据读写访问控制装置接收所述DMC发送的所述读数据,并从所述读数据中确定所述目标数据;
所述数据读写访问控制装置将所述目标数据发送给所述处理器。
6.一种数据读写访问控制装置,应用于DDR DRAM系统,所述DDR DRAM系统包含处理器、DMC、第一DRAM和第二DRAM,所述DMC包括CS信号管脚,所述第一DRAM的容量与所述第二DRAM的容量不等,其特征在于,所述数据读写访问控制装置与所述DMC和所述处理器连接,所述第一DRAM和所述第二DRAM通过所述CS信号管脚与所述DMC连接,所述数据读写访问控制装置包括:
接收模块,用于接收所述处理器发送的目标指令,所述目标指令包含访问地址;
判断模块,用于判断所述访问地址所属的地址范围;
控制模块,用于在所述访问地址位于第一地址区域时,基于所述目标指令和所述访问地址控制所述DMC按照对称存储容量方式对数据进行读写访问控制;
其中,所述第一DRAM由第一容量区域和第二容量区域组成,所述第二容量区域的容量与所述第二DRAM的容量相等,所述第一地址区域包括所述第二容量区域和所述第二DRAM的容量区域。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
处理模块,用于在所述访问地址位于第二地址区域时,增加所述目标指令的长度,并修改所述访问地址的起始地址;其中,所述第二地址区域包括所述第一容量区域;
所述控制模块,还用于基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制所述DMC对数据进行读写访问控制。
8.根据权利要求6或7所述的装置,其特征在于,所述第一DRAM与所述第二DRAM的容量之比为2:1。
9.根据权利要求7所述的装置,其特征在于,所述控制模块基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制所述DMC对数据进行读写访问控制的具体方式为:
在所述目标指令为数据写指令的情况下,基于长度增加的所述目标指令确定无效数据,并将所述无效数据与写数据拼接;
对所述无效数据配置屏蔽指示消息;
将拼接后的数据、所述屏蔽指示消息以及起始地址修改后的所述访问地址发送给所述DMC,以便所述DMC基于起始地址修改后的所述访问地址,将所述写数据存储于所述第二地址区域,并基于所述屏蔽指示消息屏蔽所述无效数据。
10.根据权利要求7所述的装置,其特征在于,所述控制模块基于长度增加的所述目标指令和起始地址修改后的所述访问地址,控制所述DMC对数据进行读写访问控制的具体方式为:
在所述目标指令为数据读指令的情况下,将长度增加的所述目标指令和起始地址修改后的所述访问地址发送给所述DMC,以便于所述DMC基于长度增加的所述目标指令和起始地址修改后的所述访问地址获取读数据,所述读数据包括从所述第二地址区域读取的目标数据;
接收所述DMC发送的所述读数据,并从所述读数据中确定所述目标数据;
将所述目标数据发送给所述处理器。
11.一种数据读写访问控制设备,应用于DDR DRAM系统,所述DDR DRAM系统包含处理器、DMC、第一DRAM和第二DRAM,所述DMC包括CS信号管脚,所述第一DRAM的容量与所述第二DRAM的容量不等,其特征在于,所述数据读写访问控制设备与所述DMC和所述处理器连接,所述第一DRAM和所述第二DRAM通过所述CS信号管脚与所述DMC连接,所述数据读写访问控制设备包括:
其中,至少一个输入设备,至少一个输出设备,至少一个处理器、存储器以及至少一个通信总线,
其中,所述输入设备、所述输出设备、所述处理器和所述存储器通过所述总线连接;
其中,所述输入设备可为数据读写访问控制设备的接收器,用于接收外部设备发送的数据和指令;
所述输出设备为数据读写访问控制设备的发送器,用于向外部设备发送数据和指令;
所述存储器用于存储一组程序代码,所述输入设备、输出设备和处理器用于调用存储器中存储的程序代码,执行如下操作:
所述输入设备,用于接收DDR DRAM系统中的处理器发送的目标指令,所述目标指令包含访问地址;
所述处理器,用于判断所述访问地址所属的地址范围;
所述处理器,还用于在所述访问地址位于第一地址区域时,基于所述目标指令和所述访问地址控制所述DMC按照对称存储容量方式对数据进行读写访问控制;其中,所述第一DRAM由第一容量区域和第二容量区域组成,所述第二容量区域的容量与所述第二DRAM的容量相等,所述第一地址区域包括所述第二容量区域和所述第二DRAM的容量区域。
CN201710174056.2A 2017-03-22 2017-03-22 一种数据读写访问控制方法及装置 Active CN108628776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710174056.2A CN108628776B (zh) 2017-03-22 2017-03-22 一种数据读写访问控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710174056.2A CN108628776B (zh) 2017-03-22 2017-03-22 一种数据读写访问控制方法及装置

Publications (2)

Publication Number Publication Date
CN108628776A CN108628776A (zh) 2018-10-09
CN108628776B true CN108628776B (zh) 2022-02-18

Family

ID=63707306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710174056.2A Active CN108628776B (zh) 2017-03-22 2017-03-22 一种数据读写访问控制方法及装置

Country Status (1)

Country Link
CN (1) CN108628776B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114667509B (zh) * 2020-02-13 2024-08-09 华为技术有限公司 一种存储器、网络设备及数据访问方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1036362B1 (en) * 1997-12-05 2006-11-15 Intel Corporation Memory system including a memory module having a memory module controller
US8250330B2 (en) * 2004-12-11 2012-08-21 International Business Machines Corporation Memory controller having tables mapping memory addresses to memory modules
EP2761472B1 (en) * 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
US9110795B2 (en) * 2012-12-10 2015-08-18 Qualcomm Incorporated System and method for dynamically allocating memory in a memory subsystem having asymmetric memory components
US10073626B2 (en) * 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
US9582430B2 (en) * 2015-03-27 2017-02-28 Intel Corporation Asymmetric set combined cache
CN105760310B (zh) * 2016-02-05 2018-12-14 华为技术有限公司 地址分配方法及ddr控制器

Also Published As

Publication number Publication date
CN108628776A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
EP3049946B1 (en) Read training a memory controller
KR102635134B1 (ko) 메모리 컨트롤러, 비동기식 메모리 버퍼칩 및 이를 포함하는 메모리 시스템
US9196321B2 (en) On-die termination apparatuses and methods
US6728150B2 (en) Method and apparatus for supplementary command bus
CN110781120B (zh) 一种axi总线主机设备跨4kb传输的实现方法
US9685220B2 (en) DDR controller, method for implementing the same, and chip
JP2012522311A (ja) マージドメモリコマンドプロトコルをサポートするメモリシステム、コントローラ、およびデバイス
US10579280B2 (en) On-die termination control for memory systems
CN108628776B (zh) 一种数据读写访问控制方法及装置
US10318464B1 (en) Memory system and method for accessing memory system
WO2019141050A1 (zh) 一种刷新处理方法、装置、系统及内存控制器
US8896340B2 (en) Semiconductor modules
US20200133669A1 (en) Techniques for dynamic proximity based on-die termination
US20120191943A1 (en) Dynamic protocol for communicating command and address information
KR101426187B1 (ko) 메모리 시스템 및 메모리 인터페이스 장치
US11308010B2 (en) Memory system having memories of different capacities
JP2004127305A (ja) メモリ制御装置
CN111158588B (zh) 一种双倍速率控制方法及系统
KR102071527B1 (ko) 복수의 뱅크 그룹에 멀티 코어 억세스를 하는 메모리 장치
KR102545175B1 (ko) 어드레스 테이블을 포함하는 메모리 장치, 및 메모리 컨트롤러의 동작 방법
US20170262397A1 (en) Storage Apparatus and Data Access Method
US20230176779A1 (en) Solid state disk, data transmitting method and intermediary controller thereof
CN104795098B (zh) 存储器装置与控制方法
CN118051174A (zh) 高带宽ddr双列直插式存储模块、存储系统及其操作方法
CN117667786A (zh) 一种电子设备的数据传输方法及电子设备

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