数据访问方法、控制器、存储器和存储介质

文档序号:1955231 发布日期:2021-12-10 浏览:16次 >En<

阅读说明:本技术 数据访问方法、控制器、存储器和存储介质 (Data access method, controller, memory and storage medium ) 是由 吴边 于 2020-06-10 设计创作,主要内容包括:本申请提供数据访问方法、控制器、存储器和存储介质,包括:接收应用端发送的访问请求,其中,所述访问请求中携带访问地址;若所述访问地址中包含的任一地址是错误节点地址,基于错误节点地址与映射节点地址的映射关系确定映射节点地址;基于所述访问请求和所述映射节点地址对数据进行读写访问。(The application provides a data access method, a controller, a memory and a storage medium, comprising: receiving an access request sent by an application terminal, wherein the access request carries an access address; if any address contained in the access address is an error node address, determining a mapping node address based on a mapping relation between the error node address and the mapping node address; and performing read-write access on data based on the access request and the mapping node address.)

数据访问方法、控制器、存储器和存储介质

技术领域

本申请涉及存储技术领域,具体涉及一种数据访问方法、控制器、存储器和存储介质。

背景技术

图1是一种动态随机存取存储器(Dynamic Random Access Memory,DRAM)控制器的结构示意图,如图1所示,DRAM控制器包括两部分接口:应用端接口和DRAM芯片接口,应用端通过应用端接口连接DRAM控制器,DRAM控制器通过DRAM芯片接口将DRAM作为地址连续的存储空间进行使用,DRAM芯片满足DRAM所需访问时序进行访问。

在实际应用中,由于DRAM本身的原因,DRAM中可能有部分存储被损坏而无法使用,如果不加识别的访问到这些损坏区域,那么就会造成访问数据出错,从而影响应用端。

一般应用中,芯片上电后,控制器会对DRAM芯片做读写测试,如果读写中部分地址出现测试失败情况,并且原因为DRAM芯片中部分存储区域被损坏的话,此时如果控制器和DRAM芯片是相互独立的,那么需要替换DRAM芯片,如果控制器和DRAM芯片合封在一起,比如HBM芯片,那么就需要替换整个合封芯片。

发明内容

本申请提供的数据访问方法、控制器、存储器和存储介质,以提高动态存储器利用率的效果,节省了产品成本。

第一方面,本申请实施例提供一种数据访问方法,包括:

接收应用端发送的访问请求,其中,所述访问请求中携带访问地址;

若所述访问地址中包含的任一地址是错误节点地址,基于错误节点地址与映射节点地址的映射关系确定映射节点地址;

基于所述访问请求和所述映射节点地址对数据进行读写访问。

第二方面,本申请实施例提供一种控制器,包括:记录访问单元,其中,

所述记录访问单元,被配置为接收应用端发送的访问请求,其中,所述访问请求中携带访问地址;若所述访问地址中包含的任一地址是错误节点地址,基于错误节点地址与映射节点地址的映射关系确定映射节点地址;基于所述访问请求和所述映射节点地址对数据进行读写访问。

第三方面,本申请实施例提供一种存储器,包括如本申请实施例提供的任一项所述的控制器。

第四方面,本申请实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现他、如本申请实施例提供的任一项所述的方法。

本申请实施例提供的数据访问方法、控制器、存储器和存储介质,若所述访问地址中包含的任一地址是错误节点地址,基于错误节点地址与映射节点地址的映射关系确定映射节点地址;基于所述访问请求和所述映射节点地址对数据进行读写访问。解决了DRAM芯片中部分存储区域被损坏,便需要更换DRAM芯片的问题,达到了提高DRAM芯片利用率的效果,节省了产品成本,提高了产品可用度。

关于本申请的以上实施例和其他方面以及其实现方式,在

附图说明

具体实施方式

和权利要求中提供更多说明。

附图说明

图1是一种DRAM控制器的结构示意图;

图2是本申请实施例提供的一种数据访问方法的流程图;

图3是本申请实施例提供的一种映射关系的记录方式的示意图;

图4是本申请实施例提供的一种测试并记录映射关系的示意图;

图5是本申请实施例提供的一种控制器的结构示意图;

具体实施方式

为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在一个实施例中,提供一种存储器访问方法,图2是本申请实施例提供的一种存储器访问方法的流程图。所述存储器访问方法由存储器的控制器来执行。

如图2所示,本申请实施例提供的存储器访问方法主要包括步骤S11、S12、S13。

S11、接收应用端发送的访问请求,其中,所述访问请求中携带访问地址。

S12、若所述访问地址中包含的任一地址是错误节点地址,基于错误节点地址与映射节点地址的映射关系确定映射节点地址。

S13、基于所述访问请求和所述映射节点地址对数据进行访问。

在本实施例中,节点地址可以理解为每一段连续传输的存储空间的编号。

在本实施例中,错误节点地址可以理解为存储器进行读写测试时,存储损坏不能使用,导致测试失败的地址。映射节点地址可以理解为存储器进行读写测试时,存储地址能正常使用,测试成功的地址。

在实施例中,确定访问地址之后,判断访问地址是不是在记录错误节点地址与映射节点地址的映射关系的映射表中存在,如果在上述映射表中存在,则确定访问地址是错误的节点地址。如果在上述映射表中不存在,则确定该访问地址是正确节点地址,可以直接使用原始地址对DRAM进行访问。

在一个示例性的实施方式中,所述接收应用端发送的访问请求之前,还包括:建立错误节点地址与映射节点地址的映射关系。

需要说明的是,确定错误节点地址与映射节点地址的映射关系可以采用任意的存储方式进行存储。本实施例中,上述从映射关系采用映射关系表的方式进行记录,具体参见图3所示,“有效标志”表示本条记录是否有效,“错误节点地址”表示测试失败的节点地址,“映射节点地址”表示用来替换其的测试成功的节点地址。

在一个示例性的实施方式中,所述确定错误节点地址与映射节点地址的映射关系,包括:以节点为单位对存储空间进行读写测试;将测试失败的节点地址确定为所述错误节点地址;从测试成功的节点地址中选择任一节点作为所述映射节点地址;建立所述错误节点地址与所述映射节点地址的映射关系。

在本实例中,以节点为单位对存储空间进行读写测试,并依次记录测试失败的节点地址和测试成功的节点地址。将测试失败的节点地址确定为错误节点地址,将测试成功的节点地址确定为正确节点地址。统计错误节点地址的数量,从正确节点地址选取指定数量的正确节点地址作为错误节点地址的映射节点地址。其中,指定数量是错误节点地址的数量。

进一步的,错误节点地址与映射节点地址是一一对应的关系。

进一步的,从正确节点地址选取映射节点映射地址时,可以从存储空间尾部开始依次选取。例如,在DRAM一共有16个节点存储空间,其中,地址3,8,12测试失败,可以选择地址15,14,13分别作为地址3,8,12对应的映射地址。

在本实施例中,需要以节点为单位对存储器的存储空间进行划分。其中,一个节点大小根据用户访问特性和DRAM的特性而定,比如32B、64B、512B、1024B等。。

在一个示例性的实施方式中,以节点为单位对动态存储器的存储空间进行读写测试之前,还包括:设置预设数量的记录位;其中,所述记录位用于记录错误节点地址与所述映射节点地址的映射关系。

在一个示例性的实施方式中,所述记录位中还记录有效标识,其中,所述有效标识用于指示此条记录是否有效。

在本实施例中,每个记录位均包括一个有效标识。所述有效标识是第一状态时,指示此条记录有效,所述有效标识是第二状态时,指示此条记录无效。第一状态和第二状态可以根据实际情况进行设计,例如:可以第一状态可以是“1”,第二状态可以是“0”。即有效标识是1时,指示此条记录有效,所述有效标识是0时,指示此条记录无效。

在一个示例性的实施方式中,所述建立错误节点地址与所述映射节点地址的映射关系,包括:在所述错误节点地址的数量小于所述记录位的数量情况下,在各个记录对应位中依次记录错误节点地址与所述映射节点地址的映射关系。

在一个示例性的实施方式中,所述记录位的数量由应用端确定。

在本实施例中,记录位的数量由应用端确定来确定可以理解为记录位的数量由应用端可承受的存储量损失程度确定。可承受的存储量损失程度可以理解为应用端允许错误字节地址的占比。例如:在DRAM一共有16个节点存储空间,可承受的存储量损失程度是25%,则标识应用端可允许存在4个错误节点地址,即记录位的数量为4。

进一步的,在错误节点地址的数量大于记录位的数量的情况下,表示整个存储空间内错误节点地址的占比已经超过应用端可承受的存储量损失程度,即错误节点错误地址太多,应用端已经不能有效读取数据。这样,可以避免存储空间内存在大量的错误节点地址,导致访问出现错误。

在一个示例性的实施方式中,所述建立错误节点地址与所述映射节点地址的映射关系之后,还包括:将所述错误节点地址的数量发送至应用端。

本实施例中,将所述错误节点地址的数量发送至应用端,应用端以实际测试成功的节点容量作为有效空间进行使用,并且认为有效空间是从DRAM起始地址开始的连续空间。

在一个示例性的实施方式中,提供一种确定错误节点地址与所述映射节点地址的映射关系以及访问存储器的方法。需要说明的是,本实施例中,以DRAM为例进行说明。

第一步,动态存储器控制器以节点粒度对整个DRAM存储空间进行划分。

其中,节点大小根据用户访问特性和DRAM的特性而定,比如32B、64B、512B、1024B等。

第二步,动态存储器控制器以应用端可以承受的存储容量损失程度设置相应数目的记录对应位。

在本实施例中,记录位的数量由应用端确定来确定可以理解为记录位的数量由应用端可承受的存储量损失程度确定。可承受的存储量损失程度可以理解为应用端允许错误字节地址的占比。例如:在DRAM一共有16个节点存储空间,可承受的存储量损失程度是25%,则标识应用端可允许存在4个错误节点地址,即记录位的数量为4。

第三步,动态存储器控制器以节点为单位对整个DRAM存储空间进行读写测试,并记录测试失败的节点地址。

第四步,如果测试失败的节点数目少于应用端可以承受的存储容量损失程度,则在各个记录位中依次记录测试失败的节点地址和用来替代其的尾部测试成功的节点地址的映射关系。

第五步,将测试失败的节点数目告知应用端。

第六步,应用端以实际测试成功的节点容量作为有效空间进行使用,并且认为有效空间是从DRAM起始地址开始的连续空间。

第七步,动态存储器控制器收到应用端的访问请求后,判断访问地址是否在记录位中有记录,如果有记录,则使用其对应的节点地址来代替对DRAM进行访问,否则使用应用端原始的地址对DRAM进行访问。

本实施例提供的存储器访问方法,达到了提高动态存储器利用率的效果,节省了产品成本,提高了产品可用度。

在一个示例性的实施方式中,提供一种错误节点地址与所述映射节点地址的映射关系的记录方式,图3是本申请实施例提供的一种映射关系的记录方式的示意图,如图3所示,“有效标志”表示本条记录是否有效,“错误节点地址”表示测试失败的节点地址,“映射节点地址”表示用来替换其的测试成功的节点地址。

在一个应用性实例中,提供一种存储器访问方法的应用实例,具体处理步骤如下:

1.假设DRAM一共有16个节点存储空间,应用端最多可以接受有4个节点不可用。

2.DRAM测试结果发现节点地址3,7,13失败,则生成如图4所示的映射关系表,表示使用节点15、节点14、节点12来替代错误的节点3、节点7、节点13。

3.DRAM测试结果通知给应用端,应用端以最大空间位13个节点来访问DRAM。

4.应用端在访问到节点地址3、7、13时,动态存储器控制器会分别以节点地址15、14、12来替代。

在一个实施例中,本申请实施例还提供一种控制器。

如图5所示,所述控制器包括记录访问单元,其中,

所述记录访问单元,被配置为所述记录访问单元,被配置为接收应用端发送的访问请求,其中,所述访问请求中携带访问地址;若所述访问地址中包含的任一地址是错误节点地址,基于错误节点地址与映射节点地址的映射关系确定映射节点地址;基于所述访问请求和所述映射节点地址对数据进行访问。

在一个实施方式中,所述控制器还包括:测试单元,其中,

测试单元5,被配置为以节点为单位对对存储器的存储空间进行读写测试,并将测试失败的节点地址传输至记录访问单元;

记录访问单元,被配置为将测试失败的节点地址确定为所述错误节点地址,将所述存储空间尾部测试成功的节点地址确定为所述映射节点地址,建立所述错误节点地址与所述映射节点地址的映射关系。

在上述实施例的基础上,测试单元还将测试成功的节点地址传输至记录访问单元。

测试单元将读写测试结果传递给记录访问单元记录对应位,记录访问单元中记录读写测试失败的节点地址和用来替换其的节点地址的映射关系,应用端发起读写访问时,记录访问单元根据访问地址判断是否做映射及如何映射,然后以最终地址来访问DRAM芯片。

本实施例中提供的控制器可执行本发明任意实施例所提供的存储器访问方法,具备执行该方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的存储器访问方法。

值得注意的是,上述控制器的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

在一个实施例中,本申请实施例还提供一种存储器,所述存储器包括上述实施例中提供的任一项控制器,并能可执行本发明任意实施例所提供的存储器访问方法,具备执行该方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的存储器访问方法。

在一个示例性的实施方式中,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据访问方法,包括;

接收应用端发送的访问请求,其中,所述访问请求中携带访问地址;

若所述访问地址中包含的任一地址是错误节点地址,基于错误节点地址与映射节点地址的映射关系确定映射节点地址;

基于所述访问请求和所述映射节点地址对数据进行访问。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的数据访问方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。

本领域内的技术人员应明白,术语用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。

一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。

本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。

本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(ROM)、随机访问存储器(RAM)、光存储器装置和系统(数码多功能光碟DVD或CD光盘)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(FGPA)以及基于多核处理器架构的处理器。

通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本发明的范围。因此,本发明的恰当范围将根据权利要求确定。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存储器件及其操作方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类