CN115981566A - 存储器的数据修改方法、装置、设备及存储介质 - Google Patents
存储器的数据修改方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115981566A CN115981566A CN202211731971.4A CN202211731971A CN115981566A CN 115981566 A CN115981566 A CN 115981566A CN 202211731971 A CN202211731971 A CN 202211731971A CN 115981566 A CN115981566 A CN 115981566A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- memory
- target data
- time programmable
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种存储器的数据修改方法、装置、设备及存储介质,属于芯片结构技术领域。处理芯片包括:处理单元、一次可编程存储器以及随机存取存储器,处理单元分别与一次可编程存储器以及随机存取存储器连接,一次可编程存储器包括预先划分好的多个存储区,该方法包括:从随机存取存储器中读取目标数据以及目标数据对应的地址指针;基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址;基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针。本申请可以减少芯片的面积、功耗,并且可以降低成本,提高芯片的适用性。
Description
技术领域
本申请涉及芯片结构技术领域,具体而言,涉及一种存储器的数据修改方法、装置、设备及存储介质。
背景技术
在进行数据存储的过程中,对于需要多次编程改写的场景下,通常需要通过可编程的存储器对数据进行存储。
现有技术中,在实现数据存储时,主要使用的是MTP(Multiple TimeProgramable,多次可编程存储器)进行数据存储,在数据存储的过程中,可以进行多次擦写。
然而,MTP的结构通常较为复杂,使用MTP进行数据存储时,会导致芯片的面积、功耗和成本的增加,对于特定需求的场景下,可能并不适用,也即是适用性较低。
发明内容
本申请的目的在于提供一种存储器的数据修改方法、装置、设备及存储介质,可以减少芯片的面积、功耗,并且可以降低成本,提高芯片的适用性。
本申请的实施例是这样实现的:
本申请实施例的一方面,提供一种存储器的数据修改方法,该方法应用于处理芯片的处理单元,处理芯片还包括:一次可编程存储器以及随机存取存储器,处理单元分别与一次可编程存储器以及随机存取存储器连接,一次可编程存储器包括预先划分好的多个存储区,该方法包括:
从随机存取存储器中读取目标数据以及目标数据对应的地址指针,地址指针用于指示目标数据的下一数据的存储地址;
基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址,待写入数据地址在一次可编程存储器中下一未存储数据的存储区的对应位置;
基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,关联数据为在随机存取存储器中与目标数据地址相邻的数据。
可选地,基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,包括:
基于目标数据的第二关联数据的地址以及目标数据确定修改数据以及修改数据对应的地址指针,第二关联数据为在随机存取存储器中目标数据的下一相邻地址的数据。
可选地,基于目标数据的第二关联数据的地址以及目标数据确定修改数据以及修改数据对应的地址指针,包括:
将目标数据作为修改数据;
将修改数据对应的地址指针所指向的地址确定为目标数据的第二关联数据的地址。
可选地,基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址之后,该方法还包括:
基于目标数据的第一关联数据的地址指针确定指向待写入数据地址的地址指针所存储的地址,第一关联数据为在随机存取存储器中目标数据的上一相邻地址的数据;
在指向待写入数据地址的地址指针所存储的地址中写入指向待写入数据地址的地址指针。
可选地,从随机存取存储器中读取目标数据、目标数据对应的地址指针以及目标数据的关联数据的地址之前,该方法还包括:
将一次可编程存储器中的所有数据存入随机存取存储器中。
可选地,将一次可编程存储器中的所有数据存入随机存取存储器中,包括:
读取一次可编程存储器中第一个地址的数据以及其对应的地址指针;
根据第一个地址的数据对应的地址指针确定下一地址,并在下一地址读取下一地址的数据以及其对应的地址指针,直到读取一次可编程存储器中的所有数据;
在随机存取存储器中存储一次可编程存储器中的所有数据。
可选地,基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针之后,该方法还包括:
基于修改数据以及修改数据对应的地址指针修改随机存取存储器中的数据。
本申请实施例的另一方面,提供一种存储器的数据修改装置,该装置应用于处理芯片的处理单元,处理芯片还包括:一次可编程存储器以及随机存取存储器,处理单元分别与一次可编程存储器以及随机存取存储器连接,一次可编程存储器包括预先划分好的多个存储区,该装置包括:读取模块、确定模块以及修改模块;
读取模块,用于从随机存取存储器中读取目标数据以及目标数据对应的地址指针,地址指针用于指示目标数据的下一数据的存储地址;
确定模块,用于基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址,待写入数据地址在所述一次可编程存储器中下一未存储数据的存储区的对应位置;
修改模块,用于基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,关联数据为在随机存取存储器中与目标数据地址相邻的数据。
可选地,修改模块,具体用于基于目标数据的第二关联数据的地址以及目标数据确定修改数据以及修改数据对应的地址指针,第二关联数据为在随机存取存储器中目标数据的下一相邻地址的数据。
可选地,修改模块,具体用于将目标数据作为修改数据;将修改数据对应的地址指针所指向的地址确定为目标数据的第二关联数据的地址。
可选地,修改模块,还用于基于目标数据的第一关联数据的地址指针确定指向待写入数据地址的地址指针所存储的地址,第一关联数据为在随机存取存储器中目标数据的上一相邻地址的数据;在指向待写入数据地址的地址指针所存储的地址中写入指向待写入数据地址的地址指针。
可选地,读取模块,还用于将一次可编程存储器中的所有数据存入随机存取存储器中。
可选地,读取模块,具体用于读取一次可编程存储器中第一个地址的数据以及其对应的地址指针;根据第一个地址的数据对应的地址指针确定下一地址,并在下一地址读取下一地址的数据以及其对应的地址指针,直到读取一次可编程存储器中的所有数据;在随机存取存储器中存储一次可编程存储器中的所有数据。
可选地,修改模块,还用于基于修改数据以及修改数据对应的地址指针修改随机存取存储器中的数据。
本申请实施例的另一方面,提供一种计算机设备,包括:存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时,实现存储器的数据修改方法的步骤。
本申请实施例的另一方面,提供一种计算机可读存储介质,存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现存储器的数据修改方法的步骤。
本申请实施例的有益效果包括:
本申请实施例提供的一种存储器的数据修改方法、装置、设备及存储介质中,处理芯片包括:处理单元、一次可编程存储器以及随机存取存储器,其中,一次可编程存储器包括预先划分好的多个存储区,通过从随机存取存储器中读取目标数据以及目标数据对应的地址指针,基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址,并可以基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,可以实现对一次可编程存储器中数据多次修改编写,由于一次可编程存储器相对于多次可编程存储器而言,其所需要的空间较小,并且可以在运行的过程中进入低功耗模式,因此,采用一次可编程存储器进行数据存储时,可以在实现多次存储数据修改的同时,减少芯片的面积功耗,降低成本,进而可以提高整个芯片的适用性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的处理芯片的结构示意图;
图2为本申请实施例提供的处理芯片中一次可编程存储器的存储区划分示意图;
图3为本申请实施例提供的存储器的数据修改方法的流程示意图;
图4为本申请实施例提供的实现数据修改的过程示意图;
图5为本申请实施例提供的实现数据修改的另一过程示意图;
图6为本申请实施例提供的存储器的数据修改方法的另一流程示意图;
图7为本申请实施例提供的存储器的数据修改装置的结构示意图;
图8为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,现有技术中采用的方案主要使用的是MTP进行数据存储,在数据存储的过程中,可以进行多次擦写;而对于一次可编程存储器,由于不可以多次擦写,通常并不适用。
本申请实施例中,可以实现一次可编程存储器的多次擦写,在此基础上,使用一次可编程存储器来实现数据的修改,下面来具体解释该方法所应用的处理单元所在的处理芯片的具体结构。
图1为本申请实施例提供的处理芯片的结构示意图,请参照图1,处理芯片包括:处理单元110、一次可编程存储器120以及随机存取存储器140,处理单元110分别与一次可编程存储器120以及随机存取存储器140连接。
其中,处理单元110可以是芯片上具有处理功能的模块,例如数字逻辑模块或者其他类型可以实现信号传输和处理的模块,在此不作具体限制。
一次可编程存储器120可以是OTP(One Time Programmable,一次性可编程)对于此类存储器,程序烧入单片机之后,将不可以再次更改和清除。
随机存取存储器140例如可以是SRAM(Static Random-Access Memory,静态随机存取存储器),或者,也可以是其他类型进行数据随机存储的存储器。
需要说明的是,对于一次可编程存储器120,在断电后存储的数据不会丢失;对于随机存取存储器140,若断电则存储的数据会被清除。
处理单元110可以分别与上述一次可编程存储器120以及随机存取存储器140连接,处理单元110可以对两种存储器进行读取以及编写。
需要说明的是,由于一次可编程存储器120是只能被编写一次的,例如:当一个位置存储的数据为0时,可以将其修改为1,但是在修改之后,则不能被再次修改,因此,为了适配于本申请中实现一次可编程存储器的多次修改,可以首先对一次可编程存储器120进行存储区的划分,也即是说,一次可编程存储器包括预先划分好的多个存储区。
下面来具体解释本申请实施例中提供的处理芯片中的一次可编程存储器的区域划分方式。
图2为本申请实施例提供的处理芯片中一次可编程存储器的存储区划分示意图,请参照图2,图2中以将一次可编程存储器的存储区划分为4个区域(A-D区)为例,具体划分方式可以是平均分配,例如一次可编程存储器包括有512个存储地址,则可以将这512个存储地址平均分配为四份,每个存储区可以包括128个地址。
需要说明的是,对于每个存储区,其存储的数据可以是任意数据,但是不同的存储区之间的每个存储地址之间具有一个对应关系,例如:存储区A中的第一个地址,会与存储区B中的第一个地址相互对应。多个存储区之间的对应关系也是同理。
在此基础上,每个地址中存储的数据可以包括两个部分,第一个部分可以是存储数据本身,也即是图2中所示的数据A1-数据D126,第二个部分可以是存储该数据对应的地址指针,也即是图2中所示的地址指针a1-地址指针d126。
需要说明的是,对于每个存储区,第一个地址中可以不设置有存储数据,最后一个地址中可以不设置有地址指针。
需要说明的是,上述存储区数量以及每个存储区中的地址数量均可以根据实际需求进行对应设置,并不以图2中所示的示例为限制。
下面来基于上述处理芯片的结构以及一次可编程存储器的区域划分情况来具体解释本申请实施例中所涉及的存储器的数据修改方法的具体实施过程。
图3为本申请实施例提供的存储器的数据修改方法的流程示意图,请参照图3,该方法包括:
S310:从随机存取存储器中读取目标数据以及目标数据对应的地址指针。
其中,地址指针用于指示目标数据的下一数据的存储地址。
可选地,目标数据可以是随机存取存储器中的任意一个数据,例如:可以根据实际需求确定随机存取存储器中的一个地址,从该确定的地址中读取对应的数据,该数据即可以作为上述目标数据。目标数据对应的地址指针也即是在目标数据所存储的地址中存储的地址指针,该地址指针可以用于指向目标数据的下一数据的存储地址。
需要说明的是,在随机存取存储器中,各个数据的存储方式与在一次可编程存储器中的存储方式类似,均可以包括多个存储地址,每个存储地址存储有存储数据以及存储数据对应的地址指针,通过地址指针指向存储数据的下一个数据的存储地址。
处理单元可以从随机存取存储器中进行数据读取,其中,目标数据所存储的存储地址可以是用户主动选择的,或者也可以是随机确定的,在此不作限制,通过用户选择的方式确定目标数据对应的存储地址后,可以从随机存取存储器中读取目标数据以及目标数据对应的地址指针。
S320:基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址。
其中,待写入数据地址在所述一次可编程存储器中下一未存储数据的存储区的对应位置。
需要说明的是,由于一次可编程存储器与随机存取存储器均与处理单元连接,因此,一次可编程存储器与随机存取存储器具有映射关系,该映射关系具体可以是随机存取存储器中的各个数据对应映射在一次可编程存储器的第一个存储区中。
另外,对于一次可编程存储器,其第一个存储区中的数据可以是已经写好的数据,也即是进行了一次编辑的数据,这些数据是固定不可改变的,而除了第一个存储区外,其他的存储区中的数据均为初始未编辑的数据,也即是可以进行一次编辑的数据。
也即是说,确定目标数据以及目标数据对应的地址指针之后,可以确定目标数据本身在随机存取存储器中的存储地址,进而可以确定出该数据映射在一次可编程存储器中的存储地址,可以将该存储地址所在的存储区的下一未存储数据的存储区中对应的存储地址作为上述待写入数据地址。
例如:以上述图2中所示的区域划分为例,根据目标数据以及目标数据对应的地址指针所存储的地址的映射关系确定出映射关系对应的存储地址为地址2的位置,该地址2所在的存储区为存储区A中的第三个存储位置,则在下一个存储区中对应的位置即为存储区B中的第三个存储位置,也即是图2中的地址130。
需要说明的是,对于下一存储区中的对应的存储地址内,应当是初始未编辑的数据,若已编辑,则可以依次顺次到再下一个存储区,继续以上述示例为例,若图2中的地址130已经被编辑过了,则可以顺次至存储区C中的第三个存储位置,也即是图2中的地址258。
可选地,可以基于上述方式可以确定出随机存取存储器中的目标数据在一次可编程存储器中的待写入数据地址。
示例地,一次可编程存储器中,正常状态下,数据读取的顺序可以是地址0到地址127结束,通过上述方式进行修改之后,数据读取的顺序可以是地址0到地址1,再由地址1到地址130(若使用了存储区C则为地址258),再由地址130到地址3,再由地址3到地址127结束,通过上述方式实现了一次可编程存储器的修改。
需要说明的是,上述过程仅以修改了一个目标数据为例,若修改了多个目标数据,则可以令对应地址变更为下一未存储数据的存储区中的对应位置,从而实现,在此不作具体限制。
S330:基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针。
其中,关联数据为在随机存取存储器中与目标数据地址相邻的数据。
可选地,关联数据可以是随机存取存储器中与目标数据地址相邻的数据,例如:可以是目标数据的上一数据或者目标数据的下一数据,在此不作具体限制。
需要说明的是,通过上述方式仅仅确定了待写入数据地址,还并未确定待写入数据地址中存在的修改数据以及修改数据对应的地址指针,可以基于目标数据的关联数据的地址以及目标数据来确定修改数据以及修改数据对应的地址指针。
本申请实施例提供的一种存储器的数据修改方法中,处理芯片包括:处理单元、一次可编程存储器以及随机存取存储器,其中,一次可编程存储器包括预先划分好的多个存储区,通过从随机存取存储器中读取目标数据以及目标数据对应的地址指针,基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址,并可以基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,可以实现对一次可编程存储器中数据多次修改编写,由于一次可编程存储器相对于多次可编程存储器而言,其所需要的空间较小,并且可以在运行的过程中进入低功耗模式,因此,采用一次可编程存储器进行数据存储时,可以在实现多次存储数据修改的同时,减少芯片的面积功耗,降低成本,进而可以提高整个芯片的适用性。
为了更加明确地解释实现数据修改的过程,下面来通过具体的过程示意图解释一次可编程存储器中数据以及指针的变化情况。
图4为本申请实施例提供的实现数据修改的过程示意图,请参照图4,基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,包括:基于目标数据的第二关联数据的地址以及目标数据确定修改数据以及修改数据对应的地址指针,第二关联数据为在随机存取存储器中目标数据的下一相邻地址的数据。
需要说明的是,对于随机存取存储器而言,由于其与一次可编程存储器之间具有映射关系,也即是说,随机存取存储器中的存储方式与一次可编程存储器中的第一个存储区中的存储方式相同,该映射关系具体指的是地址指针的指向关系保持一致,但是每个地址内存储的存储数据可以存在区别。
例如:若地址2中的地址指针指向地址3,当地址2中的数据作为目标数据时,地址3中的数据即为目标数据的第二关联数据。
具体的,基于目标数据的第二关联数据的地址以及目标数据确定修改数据以及修改数据对应的地址指针,包括:
将目标数据作为修改数据;将修改数据对应的地址指针所指向的地址确定为目标数据的第二关联数据的地址。
也即是说,可以将目标数据作为修改数据并写入上述待写入数据地址中,而修改数据对应的地址指针所指向的地址即可以是目标数据的第二关联数据的地址。
例如:在随机存取存储器中,地址2中的地址指针指向地址3,当地址2中的数据作为目标数据时,地址3中的数据即为目标数据的第二关联数据;而通过上述方式修改后,地址2在一次可编程存储器中被修改为了地址130,也即是说地址130为上述待写入数据地址,而在随机存取存储器中地址2存储的目标数据即为地址130中的修改数据,地址130修改数据对应的地址指针指向一次可编程存储器中的地址3,由于在存在映射关系且没有进行上述修改时,随机存取存储器的地址与一次可编程存储器中的第一个存储区的地址一一对应,因此,一次可编程存储器中的地址3和随机存取存储器中的地址3是相同的。
图4中所示的即为以地址130为待写入地址,实现对其中数据的修改,也即是得到了修改数据和修改数据对应的地址指针。
下面来通过另一具体的过程示意图解释一次可编程存储器中数据以及指针的另一变化情况。
图5为本申请实施例提供的实现数据修改的另一过程示意图,请参照图5,基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址之后,该方法还包括:基于目标数据的第一关联数据的地址指针确定指向待写入数据地址的地址指针所存储的地址,第一关联数据为在随机存取存储器中目标数据的上一相邻地址的数据;在指向待写入数据地址的地址指针所存储的地址中写入指向待写入数据地址的地址指针。
例如:在随机存取存储器中,若地址1中的地址指针指向地址2,当地址2中的数据作为目标数据时,地址1中的数据即为目标数据的第一关联数据;而通过上述方式修改后,地址2在一次可编程存储器中被修改为了地址130,也即是说地址130为上述待写入数据地址,而地址1此时的指向依旧为地址2,为了进行适应性修改,可以基于目标数据的第一关联数据的地址指针确定指向待写入数据地址的地址指针所存储的地址,该指向待写入数据地址的地址指针所存储的地址也即是一次可编程存储器中的地址1,可以在该地址1中写入指向待写入数据地址的地址指针,也即是将一次可编程存储器中的地址1中存储的地址指针变更为指向地址130。
图5中所示的即为以地址130为待写入地址,实现对其中数据的修改,也即是修改了地址1中地址指针的指向,将原本指向地址2的地址指针变更为了指向地址130。
可选地,从随机存取存储器中读取目标数据、目标数据对应的地址指针以及目标数据的关联数据的地址之前,该方法还包括:将一次可编程存储器中的所有数据存入随机存取存储器中。
需要说明的是,为了对一次可编程存储器中的数据进行初始记录,可以在进行上述修改过程之前,先将一次可编程存储器中的所有数据存入随机存取存储器中。
其中,通过上述方式存入后,一次可编程存储器与随机存取存储器中存储的内容完全相同,但是由于随机存取存储器是随时可以编辑的,因此,在进行上述修改之前,也可以对随机存取存储器中存储的数据进行对应的编辑,通过该编辑可以变更随机存取存储器中的数据内容,但是为了保持映射关系的一致性,通常不会修改地址指针,但是可以修改存储的数据。
下面来具体解释本申请实施例中提供的存储器的数据修改方法中实现数据存入随机存取存储器的具体实施过程。
图6为本申请实施例提供的存储器的数据修改方法的另一流程示意图,请参照图6,将一次可编程存储器中的所有数据存入随机存取存储器中,包括:
S610:读取一次可编程存储器中第一个地址的数据以及其对应的地址指针。
可选地,为了将一次可编程存储器中的所有数据存储入随机存取存储器中,可以按照顺序从第一个可读地址中读取该地址的数据以及对应的地址指针。
S620:根据第一个地址的数据对应的地址指针确定下一地址,并在下一地址读取下一地址的数据以及其对应的地址指针,直到读取一次可编程存储器中的所有数据。
可选地,通过上述方式读取了第一个地址中数据对应的地址指针之后,可以基于该地址指针确定下一个地址,从而可以通过该方式读取一次可编程存储器中的所有数据。
S630:在随机存取存储器中存储一次可编程存储器中的所有数据。
可选地,通过上述方式读取到一次可编程存储器中的所有数据之后,可以将这些数据以映射的方式存储在随机存取存储器中,也即是在对应的地址中存储对应的数据以及数据对应的地址指针。
可选地,基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针之后,该方法还包括:基于修改数据以及修改数据对应的地址指针修改随机存取存储器中的数据。
需要说明的是,通过上述方式可以实现对一次可编程存储器中数据的编程修改,而在实际应用时,由于一次可编程存储器以及随机存取存储器均连接,基于预设的逻辑关系通常是先读取随机存取存储器中的数据,而随机存取存储器中的数据并未更改,因此,可以基于修改数据以及修改数据对应的地址指针修改随机存取存储器中的数据。
可选地,除了上述修改方式之外,也可以采用断电重新上电的方式,重新进行初始化读取,由于随机存取存储器在断电后会清空存储内容,而一次可编程存储器不会因为断电而清空存储,通过断电重新上电的方式可以实现随机存取存储器,进而可以重新执行上述S610-S630的初始化读取步骤,从而实现修改随机存取存储器中的数据。
下述对用以执行的本申请所提供的存储器的数据修改方法对应的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图7为本申请实施例提供的存储器的数据修改装置的结构示意图,请参照图7,该装置包括:读取模块710、确定模块720以及修改模块730;
读取模块710,用于从随机存取存储器中读取目标数据以及目标数据对应的地址指针,地址指针用于指示目标数据的下一数据的存储地址;
确定模块720,用于基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址,待写入数据地址在所述一次可编程存储器中下一未存储数据的存储区的对应位置;
修改模块730,用于基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,关联数据为在随机存取存储器中与目标数据地址相邻的数据。
可选地,修改模块730,具体用于基于目标数据的第二关联数据的地址以及目标数据确定修改数据以及修改数据对应的地址指针,第二关联数据为在随机存取存储器中目标数据的下一相邻地址的数据。
可选地,修改模块730,具体用于将目标数据作为修改数据;将修改数据对应的地址指针所指向的地址确定为目标数据的第二关联数据的地址。
可选地,修改模块730,还用于基于目标数据的第一关联数据的地址指针确定指向待写入数据地址的地址指针所存储的地址,第一关联数据为在随机存取存储器中目标数据的上一相邻地址的数据;在指向待写入数据地址的地址指针所存储的地址中写入指向待写入数据地址的地址指针。
可选地,读取模块710,还用于将一次可编程存储器中的所有数据存入随机存取存储器中。
可选地,读取模块710,具体用于读取一次可编程存储器中第一个地址的数据以及其对应的地址指针;根据第一个地址的数据对应的地址指针确定下一地址,并在下一地址读取下一地址的数据以及其对应的地址指针,直到读取一次可编程存储器中的所有数据;在随机存取存储器中存储一次可编程存储器中的所有数据。
可选地,修改模块730,还用于基于修改数据以及修改数据对应的地址指针修改随机存取存储器中的数据。
本申请实施例提供的一种存储器的数据修改装置中,处理芯片包括:处理单元、一次可编程存储器以及随机存取存储器,其中,一次可编程存储器包括预先划分好的多个存储区,通过从随机存取存储器中读取目标数据以及目标数据对应的地址指针,基于目标数据以及目标数据对应的地址指针确定在一次可编程存储器中的待写入数据地址,并可以基于目标数据的关联数据的地址以及目标数据确定待写入数据地址中的修改数据以及修改数据对应的地址指针,可以实现对一次可编程存储器中数据多次修改编写,由于一次可编程存储器相对于多次可编程存储器而言,其所需要的空间较小,并且可以在运行的过程中进入低功耗模式,因此,采用一次可编程存储器进行数据存储时,可以在实现多次存储数据修改的同时,减少芯片的面积功耗,降低成本,进而可以提高整个芯片的适用性。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图8为本申请实施例提供的计算机设备的结构示意图,请参照图8,计算机设备包括:存储器810、处理器820,存储器810中存储有可在处理器820上运行的计算机程序,处理器820执行计算机程序时,实现存储器的数据修改方法的步骤。
可选地,该计算机设备具体可以是指上述处理芯片,存储器810可以是指上述一次可编程存储器以及随机存取存储器,处理器820可以是指处理单元。
本申请实施例的另一方面,还提供一种计算机可读存储介质,存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现存储器的数据修改方法的步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种存储器的数据修改方法,其特征在于,所述方法应用于处理芯片的处理单元,所述处理芯片还包括:一次可编程存储器以及随机存取存储器,所述处理单元分别与所述一次可编程存储器以及所述随机存取存储器连接,所述一次可编程存储器包括预先划分好的多个存储区,所述方法包括:
从所述随机存取存储器中读取目标数据以及所述目标数据对应的地址指针,所述地址指针用于指示目标数据的下一数据的存储地址;
基于所述目标数据以及所述目标数据对应的地址指针确定在所述一次可编程存储器中的待写入数据地址,所述待写入数据地址在所述一次可编程存储器中下一未存储数据的存储区的对应位置;
基于所述目标数据的关联数据的地址以及所述目标数据确定所述待写入数据地址中的修改数据以及所述修改数据对应的地址指针,所述关联数据为在所述随机存取存储器中与所述目标数据地址相邻的数据。
2.如权利要求1所述的存储器的数据修改方法,其特征在于,所述基于所述目标数据的关联数据的地址以及所述目标数据确定所述待写入数据地址中的修改数据以及所述修改数据对应的地址指针,包括:
基于所述目标数据的第二关联数据的地址以及所述目标数据确定所述修改数据以及所述修改数据对应的地址指针,所述第二关联数据为在所述随机存取存储器中所述目标数据的下一相邻地址的数据。
3.如权利要求2所述的存储器的数据修改方法,其特征在于,所述基于所述目标数据的第二关联数据的地址以及所述目标数据确定所述修改数据以及所述修改数据对应的地址指针,包括:
将所述目标数据作为所述修改数据;
将所述修改数据对应的地址指针所指向的地址确定为所述目标数据的第二关联数据的地址。
4.如权利要求1所述的存储器的数据修改方法,其特征在于,所述基于所述目标数据以及所述目标数据对应的地址指针确定在所述一次可编程存储器中的待写入数据地址之后,所述方法还包括:
基于所述目标数据的第一关联数据的地址指针确定指向所述待写入数据地址的地址指针所存储的地址,所述第一关联数据为在所述随机存取存储器中所述目标数据的上一相邻地址的数据;
在所述指向所述待写入数据地址的地址指针所存储的地址中写入指向所述待写入数据地址的地址指针。
5.如权利要求1所述的存储器的数据修改方法,其特征在于,所述从所述随机存取存储器中读取目标数据以及所述目标数据对应的地址指针之前,所述方法还包括:
将所述一次可编程存储器中的所有数据存入所述随机存取存储器中。
6.如权利要求5所述的存储器的数据修改方法,其特征在于,所述将所述一次可编程存储器中的所有数据存入所述随机存取存储器中,包括:
读取所述一次可编程存储器中第一个地址的数据以及其对应的地址指针;
根据所述第一个地址的数据对应的地址指针确定下一地址,并在下一地址读取下一地址的数据以及其对应的地址指针,直到读取所述一次可编程存储器中的所有数据;
在所述随机存取存储器中存储所述一次可编程存储器中的所有数据。
7.如权利要求1所述的存储器的数据修改方法,其特征在于,所述基于所述目标数据的关联数据的地址以及所述目标数据确定所述待写入数据地址中的修改数据以及所述修改数据对应的地址指针之后,所述方法还包括:
基于所述修改数据以及所述修改数据对应的地址指针修改所述随机存取存储器中的数据。
8.一种存储器的数据修改装置,其特征在于,所述装置应用于处理芯片的处理单元,所述处理芯片还包括:一次可编程存储器以及随机存取存储器,所述处理单元分别与所述一次可编程存储器以及所述随机存取存储器连接,所述一次可编程存储器包括预先划分好的多个存储区,所述装置包括:读取模块、确定模块以及修改模块;
所述读取模块,用于从所述随机存取存储器中读取目标数据以及所述目标数据对应的地址指针,所述地址指针用于指示目标数据的下一数据的存储地址;
所述确定模块,用于基于所述目标数据以及所述目标数据对应的地址指针确定在所述一次可编程存储器中的待写入数据地址,所述待写入数据地址在所述一次可编程存储器中下一未存储数据的存储区的对应位置;
所述修改模块,用于基于所述目标数据的关联数据的地址以及所述目标数据确定所述待写入数据地址中的修改数据以及所述修改数据对应的地址指针,所述关联数据为在所述随机存取存储器中与所述目标数据地址相邻的数据。
9.一种计算机设备,其特征在于,包括:存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211731971.4A CN115981566A (zh) | 2022-12-30 | 2022-12-30 | 存储器的数据修改方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211731971.4A CN115981566A (zh) | 2022-12-30 | 2022-12-30 | 存储器的数据修改方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115981566A true CN115981566A (zh) | 2023-04-18 |
Family
ID=85973849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211731971.4A Pending CN115981566A (zh) | 2022-12-30 | 2022-12-30 | 存储器的数据修改方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981566A (zh) |
-
2022
- 2022-12-30 CN CN202211731971.4A patent/CN115981566A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508784B (zh) | 视频监控设备中闪存卡的数据存储方法及其系统 | |
US7873763B2 (en) | Multi-reader multi-writer circular buffer memory | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
US8417902B2 (en) | One-time-programmable memory emulation | |
US10789170B2 (en) | Storage management method, electronic device and computer readable medium | |
CN110427274A (zh) | Tee系统中的数据传输方法和装置 | |
US6662287B1 (en) | Fast free memory address controller | |
CN116679887B (zh) | 用于NAND Flash的通用控制模块及方法 | |
CN101295281A (zh) | 一种对存储设备进行访问权限限制的方法及存储设备 | |
CN114780037A (zh) | 数据处理方法、数据处理系统及计算机可读取存储介质 | |
CN103970683A (zh) | 一种加速u盘启动的方法 | |
CN111061429B (zh) | 一种数据访问方法、装置、设备、介质 | |
CN111694580B (zh) | 存储设备升级及初始化的方法、装置、电子设备 | |
CN115981566A (zh) | 存储器的数据修改方法、装置、设备及存储介质 | |
CN115359828A (zh) | 一种服务器固件刷新方法、装置、终端及存储介质 | |
CN111435285B (zh) | 存储卷写数据方法、装置、电子设备及机器可读存储介质 | |
CN112988037A (zh) | 静态磨损均衡方法、终端和计算机可读存储介质 | |
CN111224896B (zh) | 一种多指针报文管理方法及装置 | |
CN117193669B (zh) | 一种报文描述符离散存储方法、装置、设备及存储介质 | |
CN112765116B (zh) | 一种日志存储方法、平台、设备及介质 | |
CN114637626B (zh) | 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 | |
CN116610269B (zh) | 数据存储方法、装置、存储介质和控制器 | |
KR100688463B1 (ko) | 물리 메모리의 데이터 기록 및 삭제 방법 | |
CN111160052B (zh) | 用户信息保存方法、装置及存储介质、光模块 | |
US20200379685A1 (en) | Storage device |
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 |