一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种DRAM存储器的数据写入方法和DRAM控制系统与流程

2022-03-16 05:27:06 来源:中国专利 TAG:

一种dram存储器的数据写入方法和dram控制系统
技术领域
1.本发明涉及存储技术领域,尤其涉及一种dram存储器的数据写入方法和dram控制系统。


背景技术:

2.dram是目前常用的数据存储器,其数据存储的实现来自于对其每个存储单元的电容进行充放电,从而控制存储数据的高电平或低电平,对应于数据1或0。当前对dram进行控制以及数据通信的dram控制器,在每次写数据前需要时间对dram进行预充电,行激活的预操作,在每次写时按照地址顺序对每个存储单元依次写(参见图1)。因为dram在上电初始化后其内部默认存储单元都是都是高电平,如果本次数据要传递给dram一串连续1的数据并写,传统方法是对dram进行预操作,对存储单元进行访问不修改数据;对于读操作,先进行预操作,然后对每个存储单元读数据。在此类全1数据的写时增加了访问操作。某些连续存储单元又可能存在连续的数据0。同样地,对连续为数据0地址再次访问并写0也增加了访问操作,降低了dram的写速度。


技术实现要素:

3.本发明实施例的目的是提供一种dram存储器的数据写入方法和dram监控系统。
4.为了实现上述目的,本发明第一方面,提供了一种dram存储器的数据写入方法,包括:dram控制器接收待写入数据,所述待写入数据包括数据段和地址段,所述数据段与所述地址段对应;判断所述数据段的连续逻辑值的长度是否大于或等于预设长度,所述连续逻辑值为连续的0或1;若所述连续逻辑值的长度大于或等于所述预设长度,则获取查找表,所述查找表包括dram存储器中存储的连续逻辑值以及所述存储的连续逻辑值所在的地址范围;查询所述连续逻辑值对应的待写入地址范围是否在所述查找表中;若是,则向所述dram控制器发送所述连续逻辑值无需写入的指示信号。
5.在其中一个实施例中,还包括:接收用户配置的所述预设长度。
6.在其中一个实施例中,还包括:确定所述数据段的数据长度;若所述数据长度小于所述预设长度,则判断所述数据长度是否小于突发长度,其中所述突发长度小于所述预设长度,所述突发长度为设定所述dram存储器最小一次写入的数据长度;若所述数据长度小于所述突发长度,则向所述dram控制器发送所述数据段无需写入的指示信号。
7.在其中一个实施例中,还包括:若所述数据长度大于所述突发长度,则则按照所述dram存储器的预先配置的写入规则执行写入。
8.在其中一个实施例中,所述判断所述数据段的连续逻辑值的长度是否大于预设长度之后,所述方法还包括:若所述连续逻辑值的长度小于所述预设长度,则按照所述dram存储器的预先配置的写入规则执行写入。
9.在其中一个实施例中,所述根据所述数据段与所述地址段的对应关系,查询所述连续逻辑值对应的待写入地址范围是否在查找表中之后,还包括:若否,则按照所述dram存
储器的预先配置的写入规则执行写入。
10.在其中一个实施例中,所述判断所述数据段的连续逻辑值的长度是否大于预设长度,包括:通过判断电路判断所述数据段的连续逻辑值的长度是否大于所述预设长度。
11.在其中一个实施例中,还包括:获取所述dram存储器中存储的逻辑值和逻辑值的地址;将所述dram存储器中的逻辑值和逻辑值的地址写入所述查找表。
12.在其中一个实施例中,所述获取所述dram存储器中存储的逻辑值和逻辑值的地址之后,还包括:判断所述dram存储器中存储的逻辑值是否包含大于所述预设长度的连续逻辑值;若包含,所述将所述dram存储器中的逻辑值和逻辑值的地址写入所述查找表,包括:将所述dram存储器中的逻辑值中大于或等于所述预设长度的连续逻辑值和大于或等于所述预设长度的连续逻辑值的地址写入所述查找表。
13.本发明第二方面提供了一种dram控制系统,包括:
14.dram控制器电路、查找表、dram存储器和判断电路;
15.所述dram控制器电路包括dram控制器和判断电路;
16.所述dram控制器,用于接收待写入数据,所述待写入数据包括数据段和地址段,所述数据段与所述地址段对应;
17.所述判断电路,用于判断所述数据段的连续逻辑值的长度是否大于预设长度,所述连续逻辑值为连续的0或1;
18.所述dram控制器,用于若所述连续逻辑值的长度大于或等于所述预设长度,则向所述查找表发送查询请求;
19.所述查询表,用于根据所述查询请求,查询所述连续逻辑值对应的待写入地址范围是否存在,其中,所述查询表中包含所述dram存储器中存储的连续逻辑值以及所述存储的连续逻辑值所在的地址范围;
20.所述dram控制器,用于若所述查找表中存在与所述连续逻辑值对应的待写入地址范围,则向所述dram控制器发送所述连续逻辑值无需写入的指示信号。
21.上述dram存储器的数据写入方法,包括:dram控制器接收到待写入数据时,待写入数据包括数据段和地址段,数据段与地址段对应;判断数据段的连续逻辑值的长度是否大于预设长度,连续逻辑值为连续的0或1;若连续逻辑值的长度大于或等于预设长度,则获取查找表,查找表包括dram存储器中存储的连续逻辑值以及存储的连续逻辑值所在的地址范围;查询连续逻辑值对应的待写入地址范围是否在查找表中;若是,则向所述dram控制器发送所述连续逻辑值无需写入的指示信号。该方法的查找表记录了dram存储器中存储的数据和数据地址,dram控制器在接收到写入数据的任务时,对写入数据的连续逻辑值进行判断,连续逻辑值的长度比较长时,通过查找表中的记录信息判断dram存储器中是否存在于连续逻辑值的地址范围相同的存储地址,存在,则dram存储器中对应的存储地址中的数据保持不变,减少了对dram存储器的访问次数,从而加快数据的写入速度。
22.本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本发明dram存储器控制系统的示意图;
25.图2是本发明dram存储器控制系统的示意图;
26.图3是本发明dram存储器的数据写入方法一实施例的流程示意图。
具体实施方式
27.下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
28.本发明提供一种dram存储器的数据写入方法,。
29.请参见图1,图1是dram控制系统的示意图,dram控制系统100包括:dram控制器201、查找表202和dram存储器203和判断电路204;dram控制器201,用于接收待写入数据,待写入数据包括数据段和地址段,数据段与地址段对应;判断电路204,用于判断数据段的连续逻辑值的长度是否大于预设长度,连续逻辑值为连续的0或1;dram控制器201,用于若连续逻辑值的长度大于或等于预设长度,则向查找表202发送查询请求;查询表202,用于根据所述查询请求,查询所述连续逻辑值对应的待写入地址范围是否存在,其中,所述查询表202中包含dram存储器203中存储的连续逻辑值以及所述存储的连续逻辑值所在的地址范围;所述dram控制器202,用于若所述查找表202中存在与所述连续逻辑值对应的待写入地址范围,则向所述dram存储器203发送保持所述连续逻辑值对应的待写入地址范围不变的指示信号。
30.如图2所示,图2为dram存储器的数据写入方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限。
31.所述方法包括以下步骤:
32.s301:dram控制器接收到待写入数据。
33.在本具体实施中,待写入数据包括数据段和地址段,数据段与地址段对应。
34.其中,dram控制器是用于控制dram存储器的数据读写操作。待写入数据是指准备写入dram存储器的数据。待写入数据包括数据段和地址段,数据段是指要存储的数据,地址段是指数据的存储地址。数据段与地址段对应是指每个数据都存在唯一对应的地址。
35.dram控制接收到待写入数据后,根据预先配置的写入规则将待写入数据按照地址段写入dram存储器。dram控制器在接收到读取数据的读取请求时,根据预先配置的读取规则,从dram存储器中读取数据。
36.s302,判断数据段的连续逻辑值的长度是否大于或等于预设长度。
37.在本具体实施例中,连续逻辑值为连续的0或1。
38.其中,数据段的连续逻辑值是指数据段中同一个逻辑值连续,如连续的0或1,即1连续出现多次或0连续出现多次,如一个数据段“0000,1111,1110,0000,0000”,该数据段前面包括四个连续的0,中间包括7个连续的1,后面包括9个连续的0,其中的4、7和9即为连续逻辑值的长度,连续逻辑值的长度也可以用其他的形式表示。预设长度是预先设置的一个
长度临界值,该长度临界值与dram存储器指定的读写长度相关,如将dram存储器每次能够写入的最大长度作为该预设长度。drama存储器在出厂时都会配置有对应的写入规则,该写入规则中包括了每次写入数据能够写入的最大长度。
39.s303,若连续逻辑值的长度大于或等于预设长度,则获取查找表。
40.在本具体实施例中,查找表包括dram存储器中存储的连续逻辑值以及存储的连续逻辑值所在的地址范围。
41.s304,查询连续逻辑值对应的待写入地址范围是否在查找表中。
42.s305,若是,则向所述dram控制器发送所述连续逻辑值无需写入的指示信号。
43.其中,查找表是用于存储dram存储器中的数据和数据地址的表格,该查找表可以存储dram存储器上,也可以存储在其他的存储器上,其他的存储器可以与dram控制通信。查找表中可以存储有dram存储器中存储的连续逻辑值以及存储的连续逻辑值所在的地址,也可以存储有非连续的逻辑值和非连续的逻辑值所在的地址。
44.在待写入数据的数据段的连续逻辑值的长度大于预设长度时,在查找表中查询是否存在与连续逻辑值的地址范围对应的地址范围。若在查找表中查找到与连续逻辑值相同的逻辑值,且连续逻辑值的地址范围对应与查找表中的地址范围一致,则表示该连续逻辑值在dram存储器中已经存在,无需进行再次的写入操作,即停止对该待写入数据的写入操作。向dram控制器发送用于表示无需进行写入操作的指示信号,dram控制器在接收到该指示信号后,只需保持连续逻辑值所在的地址范围的数据不变即可,从而减少访问dram存储器的次数,加快连续逻辑值的写入速度,从而提升待写入数据的写入速度。
45.上述dram存储器的数据写入方法,通过将dram存储器中的数据和地址存储在查找表中,在向dram存储器写入数据时,首先对待写入数据的数据段的连续逻辑值的长度进行判断,若存在连续逻辑值的长度大于或等于预先配置的临界长度时,则在查找表中查找是否存在一致的数据和地址,若存在,则无需执行写入操作,从而减少dram存储器的写入次数,提升dram存储器的数据写入速度。
46.在一个实施例中,上述dram存储器的数据写入方法,还包括:接收用户配置的所述预设长度。
47.具体地,dram存储器配置的数据写入长度,是指用户根据需求确定的写入长度。其中预设长度小于或等于每次写入数据的最大写入长度。dram存储器每次能够写入最大数据长度作为临界值,可以有效减少数据的写入次数,如最大写入长度为8,以8作为预设长度,判断此次写入操作是否需要执行,若数据段的连续逻辑值的长度大于或等于8,且在查找表中查找到了与连续逻辑值对应的地址,则表示此次写入操作可以直接跳过,只需通知dram控制器该次写入在存储器中已存在。从而减少对dram存储器的访问次数,提升dram存储器的数据写入速度。
48.在一个实施例中,上述dram存储器的数据写入方法,还包括:确定所述数据段的数据长度;若所述数据长度小于所述预设长度,则判断所述数据长度是否小于突发长度,其中所述突发长度小于所述预设长度,所述突发长度为设定所述dram存储器最小一次写入的数据长度;若所述数据长度小于所述突发长度,则向所述dram控制器发送所述数据段无需写入的指示信号。
49.具体地,dram存储器内部的预设长用于设定最小一次写入的数据长度,其术为“突
发长度”。若数据段的数据长度小于突发长度则不写。输入数据长度默认都是设置为大于突发长度,预设长度默认都是设置为大于突发长度。
50.在一个实施例中,判断数据段的连续逻辑值的长度是否大于预设长度之后,还包括:若数据段中的连续逻辑值的长度小于预设长度,则按照dram存储器的预先配置的写入规则执行写入。
51.其中,预先配置的写入规则,是指dram存储器在写入数据之前,预先定义了该dram存储器的写入规则,写入规则包括写入顺序和写入长度等与写入数据相关的规则,其中写入顺序包括先写存储单元的行/列。若dram存储器包括多个存储库,每个存储库包括多个存储单元,则存储单元所在的位置通过所在存储库(bank)、所述存储库的行和列来表示。
52.若数据段的连续逻辑值的长度小于预设长度,如小于dram存储器的最大写入长度时,则按照之前定义的写入规则,将待写入数据的数据段按照每次最大写入长度依次写入dram存储器。对于没有比较长的连续逻辑值的数据段,按照普通的数据写入规则写入数据。
53.在一个实施例中,若数据长度《突发长度《预设长度,完全不对dram存储器进行写入操作;若突发长度《数据长度《预设长度,直接向dram存储器进行写操作,若突发长度《预设长度《数据长度,则查寻查找表,如果查找表中该地址范围的值与数据段相同则不写入dram存储器。
54.在一个实施例中,根据数据段与地址段的对应关系,查询连续逻辑值对应的待写入地址范围是否在查找表中之后,还包括:若否,则按照dram存储器的预先配置的写入规则执行写入。
55.其中,写入规则与上述实施例中的写入规则定义相同,在此不再赘述。若未能在查找表中查找到与连续逻辑值的地址范围一致的地址,则表示dram存储器中不存在与数据段的连续逻辑值的数据一致的数据,此次按照普通的写入方法写入数据段。
56.在一个实施例中,预先配置的写入规则包括预设长度,预设长度为dram存储的每次写入数据的最大长度;按照dram存储器的预先配置的写入规则执行写入数据段,包括:根据预设长度确定数据段中当次待写入的逻辑值;按照当次待写入的逻辑值的地址,将当次待写入的逻辑值写入dram存储器。
57.具体地,数据段的长度大于dram存储器的单次写入的最大长度时,即数据段的长度大于dram存储的每次写入数据的最大长度。根据单次写入的最大长度对数据段对数据段进行拆分,拆分成多次写入,数据段的每次写入长度的最大值为单次写入的最大长度。将拆分后的数据段和拆分后的数据段的待写入的地址,写入dram存储器。
58.在一个实施例中,判断数据段的连续逻辑值的长度是否大于预设长度,包括:通过判断电路判断数据段的连续逻辑值的长度是否大于预设长度。
59.具体地,判断电路用于判断待写入数据的数据段中的连续逻辑值的长度是否大于预设长度。判断电路与dram控制器连接,判断电路对dram控制器接收到的待写入数据进行连续逻辑值的判断。
60.在一个实施例中,上述dram存储器的写入方法还包括:获取dram存储器中存储的逻辑值和逻辑值的地址;将dram存储器中的逻辑值和逻辑值的地址写入查找表。
61.具体地,在获取查找表之前,需将dram存储器中存储的逻辑值和逻辑值的地址写入查找表,而dram存储器中存储的逻辑值和逻辑值的地址通过dram控制器读取,dram控制
器将读取到的数据写入查找表。其中dram控制器向dram存储器获取逻辑值和逻辑值的地址后,还可以对获取到的逻辑值进行判断,确定是否将获取到的逻辑值以及逻辑值的地址写入查找表。
62.在一个实施例中,在向dram存储器获取逻辑值和逻辑值的地址时,可以是根据预先设置的条件进行数据获取,若返回了对应的数据,则将返回的数据写入查找表,若未返回数据,则无需执行查找表的写入操作。
63.在一个实施例中,获取dram存储器中存储的逻辑值和逻辑值的地址之后,还包括:判断dram存储器中存储的逻辑值是否包含大于或等于预设长度的连续逻辑值;若包含,将dram存储器中的逻辑值和逻辑值的地址写入查找表,包括:将dram存储器中的逻辑值中大于预设长度的连续逻辑值和大于预设长度的连续逻辑值的地址写入查找表。
64.其中,在获取到dram存储器中存储的逻辑值后,判断dram存储器中存储的逻辑值中的连续逻辑值的长度是否大于预设长度,若否,则表示dram存储器的数据无需写入查找表,若是,则dram存储器中存储的连续逻辑值中长度的大于或等于预设长度的连续逻辑值写入查找表,并将该连续逻辑值的地址也写入查找表,其中地址的写入可以是写入每个逻辑值对应的地址,也可以写该连续逻辑值的起始逻辑值所在的地址和末尾的逻辑值所在的位置,或则起始逻辑值所在的地址以及连续逻辑值的长度等,具体的表示该连续逻辑值的地址的在此不做具体限定。
65.在一个实施例中,上述dram存储器的数据写入方法,还包括:初始化dram存储器,以使dram存储器中存储的数据均为1;初始化查找表,查找表中表示dram存储器中存储的逻辑值和逻辑值的地址,其中dram存储器中存储的逻辑值的每个逻辑值均为1。
66.在dram控制系统上电后,初始化dram存储器,其中dram存储器初始化后,每个存储单元存储的数据均为1。初始化查找表,查找表中记录了dram存储器中存储的数据都为1,且地址包括dram存储器的全部地址。
67.在一个实施例中,上述dram存储器的数据写入方法,所述方法还包括:若连续逻辑值对应的待写入地址范围是在查找表中,且所述数据段还包括除所述连续逻辑值之前的其他逻辑值,则将其他逻辑值按照所述dram存储器的预设写入规则写入所述dram存储器。
68.在本发明所提供的几个实施方式中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
69.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
70.另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
71.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
72.以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献