CN109521960A - 数据读写方法、装置和系统 - Google Patents
数据读写方法、装置和系统 Download PDFInfo
- Publication number
- CN109521960A CN109521960A CN201811305109.0A CN201811305109A CN109521960A CN 109521960 A CN109521960 A CN 109521960A CN 201811305109 A CN201811305109 A CN 201811305109A CN 109521960 A CN109521960 A CN 109521960A
- Authority
- CN
- China
- Prior art keywords
- data
- memory block
- read
- block
- write
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据读写方法、装置和系统,所述数据读写方法,包括:获取读写指令;根据所述读写指令,在数据存储区对数据进行读写操作;其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。本发明通过采用数据备份来解决存储区数据写入时由于掉电导致的系统数据丢失的问题,并结合存储区的信息头数据和读写逻辑进一步增强数据存储的可靠性,保证了在数据写入时,即使发生了掉电,系统上电后也能继续正常运行。
Description
技术领域
本发明涉及半导体数据存储技术领域,具体涉及一种数据读写方法、装置和系统。
背景技术
随着科技的不断发展,电子设备的种类和功能越来越多样化。电子设备在运行时离不开对内部存储介质进行数据的读取和写入。
以单片机为例,通常单片机系统都是为实现某种功能从而按照特定的流程运行,而这种运行一般都会伴随着数据的读取和写入。以用户设定的参数为例,其可以是固化在系统中永久不变的,系统上电后只需要读取即可;也可以是在运行中接收参数设定或修改并存储到系统中的,这个过程就涉及到数据读取和写入。现有的存储介质在新数据写入前都需要先擦除掉已存在的数据,然后才能写入新数据,如果写新数据时系统出现异常掉电,极可能出现写入失败,造成数据丢失,对于一些配置数据,丢失后系统可能失去功能从而无法正常运行。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种数据读写方法、装置和系统。
为实现以上目的,本发明采用如下技术方案:一种数据读写方法,包括:
获取读写指令;
根据所述读写指令,在数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
可选的,在所述读写指令为数据写入指令时,所述读写操作为写操作;
所述根据所述读写指令,在数据存储区对数据进行读写操作,包括:
根据所述数据写入指令,获取待写入数据;
分别对所述第一存储区和所述第二存储区进行写操作,所述写操作包括:
将所述待写入数据分别写入所述第一存储区和所述第二存储区。
可选的,所述第一存储区和所述第二存储区均包括:信息头区域和数据区域,所述信息头区域内存储有信息头,所述信息头包括地址索引,所述将所述待写入数据分别写入所述第一存储区和所述第二存储区,包括:
将所述待写入数据,分别写入所述第一存储区和所述第二存储区内所述地址索引所指示的数据区域。
可选的,所述信息头还包括:原始版本号和原始校验码,所述写操作还包括:
升级所述原始版本号;
根据所述待写入数据、升级后的版本号和所述地址索引,生成新的校验码,并用所述新的校验码替换所述原始校验码。
可选的,所述分别对所述第一存储区和所述第二存储区进行写操作,包括:
确定写入顺序;
按照所述写入顺序,对所述第一存储区和所述第二存储区进行写操作。
可选的,所述确定写入顺序,包括:
分别获取所述第一存储区存储的信息头和所述第二存储区存储的信息头;
当所述第一存储区存储的信息头获取成功时,确定写入顺序为先对所述第一存储区进行写操作,再对所述第二存储区进行写操作;或者,
当所述第一存储区存储的信息头未获取成功,且所述第二存储区存储的信息头获取成功时,确定写入顺序为先对所述第二存储区进行写操作,再对所述第一存储区进行写操作。
可选的,在所述读写指令为数据读取指令时,所述读写操作为读操作;
所述根据所述读写指令,在数据存储区对数据进行读写操作,包括:
在接收到所述数据读取指令后,获取所述第一存储区内存储的第一数据块和所述第二存储区内存储的第二数据块;
在所述第一数据块和/或所述第二数据块中,确定出目标数据;
读取所述目标数据。
可选的,所述第一数据块和所述第二数据块均包括信息头和数据部分;
所述在所述第一数据块和/或所述第二数据块中,确定出目标数据,包括:
判断所述第一数据块和所述第二数据块是否为有效数据;
当所述第一数据块为有效数据时,根据所述读操作和所述第一数据块的信息头中的地址索引,在所述第一数据块中获取目标数据;
当所述第二数据块为有效数据,且所述第一数据块为无效数据时,根据所述读操作和所述第二数据块的信息头中的地址索引,在所述第二数据块中获取目标数据。
可选的,所述判断所述第一数据块和所述第二数据块是否为有效数据,包括:
分别获取所述第一数据块的信息头和所述第二数据块的信息头,所述信息头包括校验码;
采用所述校验码分别对所述第一数据块和所述第二数据块进行校验,将校验结果为通过的数据块判断为有效数据。
可选的,所述方法还包括:
当所述第一存储区和所述第二存储区被首次操作时,对所述第一存储区和所述第二存储区进行格式化处理。
本发明还提供了一种数据读写装置,包括:
指令获取模块,用于获取读写指令;
读写操作模块,用于根据所述读写指令,在数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
本发明还提供了一种数据读写系统,包括:
处理器和存储器;
所述处理器用于:获取读写指令;以及,根据所述读写指令,在所述存储器的数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
可选的,所述数据读写系统为单片机系统。
本发明采用以上技术方案,所述数据读写方法,包括:获取读写指令;根据所述读写指令,在数据存储区对数据进行读写操作;其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。本发明通过采用数据备份来解决存储区数据写入时由于掉电导致的系统数据丢失的问题,并结合存储区的信息头数据和读写逻辑进一步增强数据存储的可靠性,保证了在数据写入时,即使发生了掉电,系统上电后也能继续正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明数据读写方法实施例一提供的流程示意图;
图2是本发明数据读写方法实施例二提供的流程示意图;
图3是本发明数据读写方法实施例三提供的流程示意图;
图4是本发明数据读写方法中存储区的结构示意图;
图5是本发明数据读写方法实施例四提供的流程示意图;
图6是本发明数据读写装置实施例一提供的结构示意图;
图7是本发明数据读写系统实施例一提供的结构示意图。
图中:1、指令获取模块;2、读写操作模块;3、处理器;4、存储器;5、第一存储区;6、第二存储区。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
图1是本发明数据读写方法实施例一提供的流程示意图。
如图1所示,本实施例的方法包括:
S11:获取读写指令;
S12:根据所述读写指令,在数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
进一步的,在所述读写指令为数据写入指令时,所述读写操作为写操作;
所述根据所述读写指令,在数据存储区对数据进行读写操作,包括:
根据所述数据写入指令,获取待写入数据;
分别对所述第一存储区和所述第二存储区进行写操作,所述写操作包括:
将所述待写入数据分别写入所述第一存储区和所述第二存储区。
本实施例通过采用数据备份来解决存储区数据写入时由于掉电导致的系统数据丢失的问题,并结合存储区的信息头数据和读写逻辑进一步增强数据存储的可靠性,保证了在数据写入时,即使发生了掉电,系统上电后也能继续正常运行。
图2是本发明数据读写方法实施例二提供的流程示意图。
如图2所示,本实施例的方法包括:
S21:获取读写指令;在所述读写指令为数据写入指令时,所述读写操作为写操作;
S22:根据所述数据写入指令,获取待写入数据;
S23:确定写入顺序;
S24:按照所述写入顺序,将所述待写入数据分别写入所述第一存储区和所述第二存储区。
进一步的,所述第一存储区和所述第二存储区均包括:信息头区域和数据区域,所述信息头区域内存储有信息头,所述信息头包括地址索引,所述将所述待写入数据分别写入所述第一存储区和所述第二存储区,包括:
将所述待写入数据,分别写入所述第一存储区和所述第二存储区内所述地址索引所指示的数据区域。
进一步的,所述确定写入顺序,包括:
分别获取所述第一存储区存储的信息头和所述第二存储区存储的信息头;
当所述第一存储区存储的信息头获取成功时,确定写入顺序为先对所述第一存储区进行写操作,再对所述第二存储区进行写操作;或者,
当所述第一存储区存储的信息头未获取成功,且所述第二存储区存储的信息头获取成功时,确定写入顺序为先对所述第二存储区进行写操作,再对所述第一存储区进行写操作。
所述确定写入顺序,也可以表述为:
分别获取所述第一存储区存储的信息头和所述第二存储区存储的信息头;
当所述第一存储区存储的信息头获取成功时,将所述第一存储区确定为高版本数据区,将所述第二存储区确定为低版本数据区;
当所述第二存储区存储的信息头获取成功,且所述第一存储区存储的信息头获取失败时,将所述第二存储区确定为高版本数据区,将所述第一存储区确定为低版本数据区;
将所述写入顺序确定为:先写入所述低版本数据区,再写入所述高版本数据区。
进一步的,所述信息头还包括:原始版本号和原始校验码,所述写操作还包括:
升级所述原始版本号;
根据所述待写入数据、升级后的版本号和所述地址索引,生成新的校验码,并用所述新的校验码替换所述原始校验码。
进一步的,根据所述待写入数据、升级后的版本号和所述地址索引,生成新的校验码,包括:
对所述待写入数据、升级后的版本号和地址索引进行求解累加值或者异或值或者其他数据值,将累加值或者异或值作为校验码,或者利用循环冗余校验的原理生成校验码。
本实施例所述的写操作在实际执行时,升级所述原始版本号,先写操作低版本数据区再写操作高版本数据区,构建信息头。本实施例通过采用数据备份的方式,当写入操作过程发生系统异常掉电导致写入不完整时,系统再次上电后,仍然可以得到写入操作前的数据,保证系统正常运行。本实施例通过对数据存储区信息头校验码以及写入顺序的确定,进一步增强了数据存储的可靠性,保证了在数据写入时,即使掉电系统也能继续正常运行。
图3是本发明数据读写方法实施例三提供的流程示意图。
如图3所示,本实施例的方法包括:
S31:获取读写指令,在所述读写指令为数据读取指令时,所述读写操作为读操作;
S32:获取所述第一存储区内存储的第一数据块和所述第二存储区内存储的第二数据块;
S33:在所述第一数据块和/或所述第二数据块中,确定出目标数据;
进一步的,所述第一数据块和所述第二数据块均包括信息头和数据部分;
所述在所述第一数据块和/或所述第二数据块中,确定出目标数据,包括:
判断所述第一数据块和所述第二数据块是否为有效数据;
当所述第一数据块为有效数据时,根据所述读操作和所述第一数据块的信息头中的地址索引,在所述第一数据块中获取目标数据;
当所述第二数据块为有效数据,且所述第一数据块为无效数据时,根据所述读操作和所述第二数据块的信息头中的地址索引,在所述第二数据块中获取目标数据。
进一步的,所述判断所述第一数据块和所述第二数据块是否为有效数据,包括:
分别获取所述第一数据块的信息头和所述第二数据块的信息头,所述信息头包括校验码;
当所述第一数据块的信息头获取成功时,读取所述第一数据块的数据部分,并采用所述第一数据块的信息头中的校验码对所述第一数据块进行校验,当校验结果为通过时,判断所述第一数据块为有效数据;
当所述第二数据块的信息头获取成功时,读取所述第二数据块的数据部分,并采用所述第二数据块的信息头中的校验码对所述第二数据块进行校验,当校验结果为通过时,判断所述第二数据块为有效数据。
进一步的,对所述第一数据块/第二数据块进行校验,是指:对第一存储区/第二存储区中除校验码以外的数据进行校验。
具体的,对所述第一存储区/第二存储区中除校验码以外的数据按照与写操作相同的校验方法,重新对读取到的存储区中除校验码以外的数据求解校验码,如果重新求解出的校验码与存储区信息头中读取到的校验码相同,则代表该存储区中的数据是有效的。
S34:读取所述目标数据。
本实施例所述的方法在实际执行时,如图4所示,所述第一存储区和第二存储区的数据结构均包括:信息头区域和数据区域,所述信息头区域内存储有信息头,所述信息头依次包括:校验码、版本号、地址索引。在获取到读操作指令后,分别获取所述第一存储区内存储的信息头数据和所述第二存储区内存储的信息头数据;当信息头数据获取成功后,进一步判断所述第一数据块和所述第二数据块是否为有效数据;当所述第一数据块为有效数据时,根据所述读操作和所述第一数据块的信息头中的地址索引,在所述第一数据块中获取目标数据;因为即使此时第二数据块也为有效数据,但第二数据块的版本号是低于或等于第一数据块的版本号,所以取第一数据块和第二数据块中数据有效且版本最高的数据块(此时是指第一数据块);当所述第二数据块为有效数据,且所述第一数据块为无效数据时,根据所述读操作和所述第二数据块的信息头中的地址索引,在所述第二数据块中获取目标数据。
所述在第一数据块和/或第二数据块中,确定出目标数据,包括:根据所述读操作中读取的大小以及所述第一数据块或第二数据块的信息头中的地址索引,在所述第一数据块或第二数据块中获取目标数据。
本实施例所述的读操作在实际执行时,分别读取第一次存储区和第二存储区,并最终取两者中数据有效且版本号最高的数据块;在读取的过程中,通过对存储区数据的判断和处理,能够确定出目标数据,保证目标数据的有效性。通过本实施例所述的读取方法能够保证即使系统上次写入过程中出现异常,系统在下一次读取过程中,也能获取到正确可用的数据,保证的系统正常运行。
图5是本发明数据读写方法实施例四提供的流程示意图。
如图5所示,本实施例的方法包括:
S51:当所述第一存储区和所述第二存储区被首次操作时,对所述第一存储区和所述第二存储区进行格式化处理;
进一步的,所述格式化处理包括:分别对信息头数据和数据区数据进行复位,并将复位后的数据写入第一存储区和第二存储区。
S52:获取读写指令;
S53:根据所述读写指令,在数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
进一步的,在所述读写指令为数据写入指令时,所述读写操作为写操作;
所述根据所述读写指令,在数据存储区对数据进行读写操作,包括:
根据所述数据写入指令,获取待写入数据;
分别对所述第一存储区和所述第二存储区进行写操作,所述写操作包括:
将所述待写入数据分别写入所述第一存储区和所述第二存储区。
本实施例通过采用数据备份来解决存储区数据写入时由于掉电导致的系统数据丢失的问题,并结合存储区的信息头数据和读写逻辑进一步增强数据存储的可靠性,保证了在数据写入时,即使发生了掉电,系统再次上电后也能继续正常运行。
图6是本发明数据读写装置实施例一提供的结构示意图。
如图6所示,本实施例的装置包括:
指令获取模块1,用于获取读写指令;
读写操作模块2,用于根据所述读写指令,在数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
本实施例所述的数据读写装置的工作原理与上文所述数据读写方法的工作原理相同,在此不再赘述。
图7是本发明数据读写系统实施例一提供的结构示意图。
如图7所示,本实施例的系统包括:
处理器3和存储器4;
所述处理器3用于:获取读写指令;以及,根据所述读写指令,在所述存储器4的数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区5和第二存储区6,所述第二存储区6为所述第一存储区5的备份存储区。
进一步的,本实施例所述的数据读写系统为单片机系统。
本实施例所述的单片机系统采用数据备份来解决存储器4中数据写入时由于系统掉电导致的存储器4数据丢失的问题,并结合存储区的信息头数据和读写处理逻辑进一步增强了处理器3对存储器4数据读取的可靠性,保证了在数据写入时,即使发生了掉电,单片机系统上电后也能继续正常运行。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (13)
1.一种数据读写方法,其特征在于,包括:
获取读写指令;
根据所述读写指令,在数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
2.根据权利要求1所述的方法,其特征在于,在所述读写指令为数据写入指令时,所述读写操作为写操作;
所述根据所述读写指令,在数据存储区对数据进行读写操作,包括:
根据所述数据写入指令,获取待写入数据;
分别对所述第一存储区和所述第二存储区进行写操作,所述写操作包括:
将所述待写入数据分别写入所述第一存储区和所述第二存储区。
3.根据权利要求2所述的方法,其特征在于,所述第一存储区和所述第二存储区均包括:信息头区域和数据区域,所述信息头区域内存储有信息头,所述信息头包括地址索引,所述将所述待写入数据分别写入所述第一存储区和所述第二存储区,包括:
将所述待写入数据,分别写入所述第一存储区和所述第二存储区内所述地址索引所指示的数据区域。
4.根据权利要求3所述的方法,其特征在于,所述信息头还包括:原始版本号和原始校验码,所述写操作还包括:
升级所述原始版本号;
根据所述待写入数据、升级后的版本号和所述地址索引,生成新的校验码,并用所述新的校验码替换所述原始校验码。
5.根据权利要求2所述的方法,其特征在于,所述分别对所述第一存储区和所述第二存储区进行写操作,包括:
确定写入顺序;
按照所述写入顺序,对所述第一存储区和所述第二存储区进行写操作。
6.根据权利要求5所述的方法,其特征在于,所述确定写入顺序,包括:
分别获取所述第一存储区存储的信息头和所述第二存储区存储的信息头;
当所述第一存储区存储的信息头获取成功时,确定写入顺序为先对所述第一存储区进行写操作,再对所述第二存储区进行写操作;或者,
当所述第一存储区存储的信息头未获取成功,且所述第二存储区存储的信息头获取成功时,确定写入顺序为先对所述第二存储区进行写操作,再对所述第一存储区进行写操作。
7.根据权利要求1所述的方法,其特征在于,在所述读写指令为数据读取指令时,所述读写操作为读操作;
所述根据所述读写指令,在数据存储区对数据进行读写操作,包括:
在接收到所述数据读取指令后,获取所述第一存储区内存储的第一数据块和所述第二存储区内存储的第二数据块;
在所述第一数据块和/或所述第二数据块中,确定出目标数据;
读取所述目标数据。
8.根据权利要求7所述的方法,其特征在于,所述第一数据块和所述第二数据块均包括信息头和数据部分;
所述在所述第一数据块和/或所述第二数据块中,确定出目标数据,包括:
判断所述第一数据块和所述第二数据块是否为有效数据;
当所述第一数据块为有效数据时,根据所述读操作和所述第一数据块的信息头中的地址索引,在所述第一数据块中获取目标数据;
当所述第二数据块为有效数据,且所述第一数据块为无效数据时,根据所述读操作和所述第二数据块的信息头中的地址索引,在所述第二数据块中获取目标数据。
9.根据权利要求8所述的方法,其特征在于,所述判断所述第一数据块和所述第二数据块是否为有效数据,包括:
分别获取所述第一数据块的信息头和所述第二数据块的信息头,所述信息头包括校验码;
采用所述校验码分别对所述第一数据块和所述第二数据块进行校验,将校验结果为通过的数据块判断为有效数据。
10.根据权利要求1至9任一项所述的方法,其特征在于,还包括:
当所述第一存储区和所述第二存储区被首次操作时,对所述第一存储区和所述第二存储区进行格式化处理。
11.一种数据读写装置,其特征在于,包括:
指令获取模块,用于获取读写指令;
读写操作模块,用于根据所述读写指令,在数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
12.一种数据读写系统,其特征在于,包括:
处理器和存储器;
所述处理器用于:获取读写指令;以及,根据所述读写指令,在所述存储器的数据存储区对数据进行读写操作;
其中,所述数据存储区包括:第一存储区和第二存储区,所述第二存储区为所述第一存储区的备份存储区。
13.根据权利要求12所述的系统,其特征在于,所述数据读写系统为单片机系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811305109.0A CN109521960A (zh) | 2018-11-02 | 2018-11-02 | 数据读写方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811305109.0A CN109521960A (zh) | 2018-11-02 | 2018-11-02 | 数据读写方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109521960A true CN109521960A (zh) | 2019-03-26 |
Family
ID=65774345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811305109.0A Pending CN109521960A (zh) | 2018-11-02 | 2018-11-02 | 数据读写方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109521960A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209523A (zh) * | 2019-05-31 | 2019-09-06 | Oppo广东移动通信有限公司 | 数据读写异常处理方法及装置、存储介质和电子设备 |
CN110941394A (zh) * | 2019-11-13 | 2020-03-31 | 通号城市轨道交通技术有限公司 | 列车自动控制系统数据读写方法及装置 |
CN110956284A (zh) * | 2019-11-15 | 2020-04-03 | 苏州浪潮智能科技有限公司 | 一种产品信息的可靠性维护方法、系统、设备及存储介质 |
CN111090541A (zh) * | 2019-12-11 | 2020-05-01 | 深圳南方德尔汽车电子有限公司 | 控制器的数据防丢方法、装置、行车电脑设备及存储介质 |
CN113704028A (zh) * | 2021-07-21 | 2021-11-26 | 奥比中光科技集团股份有限公司 | 一种存储器、数据存储方法以及门锁系统 |
CN114816832A (zh) * | 2022-04-15 | 2022-07-29 | 巨翊科技(上海)有限公司 | 一种单片机的数据管理方法、装置以及系统 |
CN116204127A (zh) * | 2023-03-01 | 2023-06-02 | 钛玛科(北京)工业科技有限公司 | 一种防止数据在存储过程中发生丢失和错误的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466030A (zh) * | 2002-06-28 | 2004-01-07 | 联想(北京)有限公司 | 计算机异常断电文件系统防破坏的方法 |
CN101051284A (zh) * | 2006-04-06 | 2007-10-10 | 威刚科技股份有限公司 | 安全数字存储装置及其相关的控制器 |
CN102200937A (zh) * | 2011-05-31 | 2011-09-28 | 深圳创维-Rgb电子有限公司 | 一种与非闪存中数据读取的方法、装置及电视机系统 |
CN106407050A (zh) * | 2016-10-20 | 2017-02-15 | 厦门科华恒盛股份有限公司 | 一种数据存储方法 |
CN107203441A (zh) * | 2017-08-01 | 2017-09-26 | 常州昊云工控科技有限公司 | 双备份数据存储装置及其工作方法、机器人 |
-
2018
- 2018-11-02 CN CN201811305109.0A patent/CN109521960A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466030A (zh) * | 2002-06-28 | 2004-01-07 | 联想(北京)有限公司 | 计算机异常断电文件系统防破坏的方法 |
CN101051284A (zh) * | 2006-04-06 | 2007-10-10 | 威刚科技股份有限公司 | 安全数字存储装置及其相关的控制器 |
CN102200937A (zh) * | 2011-05-31 | 2011-09-28 | 深圳创维-Rgb电子有限公司 | 一种与非闪存中数据读取的方法、装置及电视机系统 |
CN106407050A (zh) * | 2016-10-20 | 2017-02-15 | 厦门科华恒盛股份有限公司 | 一种数据存储方法 |
CN107203441A (zh) * | 2017-08-01 | 2017-09-26 | 常州昊云工控科技有限公司 | 双备份数据存储装置及其工作方法、机器人 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209523A (zh) * | 2019-05-31 | 2019-09-06 | Oppo广东移动通信有限公司 | 数据读写异常处理方法及装置、存储介质和电子设备 |
CN110941394A (zh) * | 2019-11-13 | 2020-03-31 | 通号城市轨道交通技术有限公司 | 列车自动控制系统数据读写方法及装置 |
CN110956284A (zh) * | 2019-11-15 | 2020-04-03 | 苏州浪潮智能科技有限公司 | 一种产品信息的可靠性维护方法、系统、设备及存储介质 |
CN111090541A (zh) * | 2019-12-11 | 2020-05-01 | 深圳南方德尔汽车电子有限公司 | 控制器的数据防丢方法、装置、行车电脑设备及存储介质 |
CN111090541B (zh) * | 2019-12-11 | 2023-10-20 | 深圳南方德尔汽车电子有限公司 | 控制器的数据防丢方法、装置、行车电脑设备及存储介质 |
CN113704028A (zh) * | 2021-07-21 | 2021-11-26 | 奥比中光科技集团股份有限公司 | 一种存储器、数据存储方法以及门锁系统 |
WO2023000552A1 (zh) * | 2021-07-21 | 2023-01-26 | 奥比中光科技集团股份有限公司 | 一种存储器、数据存储方法以及门锁系统 |
CN113704028B (zh) * | 2021-07-21 | 2023-02-28 | 奥比中光科技集团股份有限公司 | 一种存储器、数据存储方法以及门锁系统 |
CN114816832A (zh) * | 2022-04-15 | 2022-07-29 | 巨翊科技(上海)有限公司 | 一种单片机的数据管理方法、装置以及系统 |
CN116204127A (zh) * | 2023-03-01 | 2023-06-02 | 钛玛科(北京)工业科技有限公司 | 一种防止数据在存储过程中发生丢失和错误的方法 |
CN116204127B (zh) * | 2023-03-01 | 2024-04-02 | 钛玛科(北京)工业科技有限公司 | 一种防止数据在存储过程中发生丢失和错误的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109521960A (zh) | 数据读写方法、装置和系统 | |
CN106463179B (zh) | 利用存储器控制器处理数据错误事件的方法、装置和系统 | |
CN101278264B (zh) | 众核处理器的可靠计算 | |
KR101562781B1 (ko) | 비휘발성 스토리지에 대한 셀프-저널링 및 계층적 일치성 | |
CN108664218A (zh) | 一种基于数据特征的ssd存储方法、装置及系统 | |
CN105339907B (zh) | 非易失性存储器系统中的同步镜像 | |
CN103995578B (zh) | 一种具有数据持续模式的器件驱动器 | |
CN105738854A (zh) | 智能电表嵌入式应用的模拟存储器测试板系统及测试方法 | |
CN100428174C (zh) | 一种嵌入式故障注入系统及其方法 | |
CN107122321A (zh) | 硬件修复方法、硬件修复系统以及计算机可读取存储装置 | |
CN111800345B (zh) | 一种高可靠星座组网空间路由器电路 | |
CN109254883B (zh) | 一种片上存储器的调试装置及方法 | |
CN103677869A (zh) | 无线传感器网络节点远程代码更新系统及方法 | |
CN106155943B (zh) | 一种双控存储设备的掉电保护的方法及装置 | |
CN109491707A (zh) | 一种dsp程序在轨重构和维护方法 | |
CN110275800A (zh) | Ssd数据物理备份方法、装置、计算机设备及存储介质 | |
CN106249840A (zh) | 节能非易失性微处理器 | |
CN116301669B (zh) | 一种基于fpga的高速存储系统分区方法及系统 | |
CN105738855A (zh) | 一种面向智能电表嵌入式应用的测试方法 | |
CN101593218A (zh) | 芯片维护方法 | |
CN102609224B (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
CN116795295B (zh) | 磁盘阵列中的数据处理方法及装置、存储介质、电子设备 | |
CN109062808A (zh) | 一种ssd开发性能的测试方法、装置及相关设备 | |
CN117055822A (zh) | NVME SSD Raid卡板载备电系统及控制方法 | |
CN104360968B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190326 |