CN114741231A - 基于存储器的数据读写方法、装置、设备及存储介质 - Google Patents
基于存储器的数据读写方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114741231A CN114741231A CN202210410281.2A CN202210410281A CN114741231A CN 114741231 A CN114741231 A CN 114741231A CN 202210410281 A CN202210410281 A CN 202210410281A CN 114741231 A CN114741231 A CN 114741231A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- checked
- verified
- reading
- 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.)
- Granted
Links
Images
Classifications
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
Abstract
本申请涉及一种基于存储器的数据读写方法、装置、设备及存储介质。所述方法包括:当监测到数据写入存储器或者数据从存储器读出时,判断数据是否为待校验数据,当判断数据为待校验数据时,基于待校验数据及待校验数据预先携带的CRC码生成目标校验码,计算目标校验码的余数,判断目标校验码的余数是否为预设值,当判断目标校验码的余数不为预设值时,重新将待校验数据写入存储器,或者重新从存储器读出待校验数据。本申请可以确保重要控制数据在读写过程中出现的偶发性错误得以解决。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于存储器的数据读写方法、装置、设备及存储介质。
背景技术
由于信号完整性(Signal Integrity,SI)、电源完整性(Power Integrity,PI)、电磁兼容性(Electromagnetic Compatibility,EMC)、高温等原因,电子设备的内部数据在传输时,特别是高速信号的传输和存储,都有概率发生偶发性错误,例如,0/1数据比特反转。
目前,针对存储器读写数据时的偶发性错误问题,当前所采用的方案主要是采用性能更好的材料、增加更多的PCB布线层、在高速信号的线路之间布置地线、使用可靠性更高的器件、限制电子系统的应用场景、或在高温环境下降低高速信号的频率、存储系统加ECC纠错码(Error Correcting Code)等。
但是,上述方案存在以下缺陷:对所有的读写数据都采用相同的技术处理需要很高的设计和实现成本,或以大幅损失存储带宽为代价;
上述方案只能尽量降低错误发生的概率,不能确保这些方案实施后一定没有错误的发生。
因此,如何确保存储器的重要控制数据在读写过程中出现的偶发性错误得以解决,已成为本领域技术人员亟需解决的技术问题。
发明内容
鉴于以上内容,本申请提供一种基于存储器的数据读写方法、装置、设备及存储介质,其目的在于确保存储器的重要控制数据在读写过程中出现的偶发性错误得以解决。
第一方面,本申请提供一种基于存储器的数据读写方法,该方法包括:
当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
优选的,所述判断所述数据是否为待校验数据,包括:
获取所述数据的包头信息,基于所述包头信息判断所述数据是否为待校验数据。
优选的,所述基于所述包头信息判断所述数据是否为待校验数据,包括:
将所述包头信息与预先定义的信息表进行匹配,当所述包头信息与预先定义的信息表匹配成功时,判断所述数据为待校验数据;
当所述包头信息与预先定义的信息表匹配失败时,判断所述数据为非待校验数据。
优选的,在判断所述数据为非待校验数据之后,所述方法还包括:
确认所述非待校验的数据成功写入所述存储器,或者确认所述非待校验数据从所述存储器成功读出。
优选的,在判断所述目标校验码的余数是否为预设值之后,所述方法包括:
当判断所述目标校验码的余数为预设值时,确定所述待校验数据成功写入存储器,或者确定所述待校验数据成功从存储器成功读出。
优选的,所述重新将所述待校验数据写入所述存储器,包括:
将所述待校验数据和所述待校验数据的CRC码进行缓存,对所述存储器重新发起数据写入请求,直至将缓存的待校验数据成功写入所述存储器。
优选的,在重新从存储器读出所述待校验数据之后,所述方法还包括:
判断在连续预设次数的数据读出请求内,是否成功从所述存储器读出所述待校验数据;
若否,对所述存储器发起所述待校验数据对应的数据写入请求。
第二方面,本申请提供一种基于存储器的数据读写装置,该基于存储器的数据读写装置包括:
判断模块:用于当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
编码模块:用于当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
校验模块:用于计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
重传模块:用于当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
第三方面,本申请提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的基于存储器的数据读写方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的基于存储器的数据读写方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请提出的基于存储器的数据读写方法、装置、设备及存储介质,通过判断写入或读出的数据是否为待校验数据,可以仅针对待校验数据(即重要的控制数据)进行校验处理,而非对所有数据都进行校验,做到有的放矢、降低了系统的设计与实现成本,通过将通信领域中两个设备之间数据传输的CRC校验功能应用于单个设备中,即设备自身的存储操作中,进行CRC编码和校验都是在单个设备中执行,不需要为了规避小概率错误事件而采用性能更好的材料、可靠性更高的器件、降低高速信号频率或大幅损失存储带宽,降低了系统的设计和实现成本,通过在CRC校验失败时将数据重新写入存储器或者从新从存储器读出数据,可以确保重要控制数据在读写过程中出现的偶发性错误得以解决。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请基于存储器的数据读写方法较佳实施例的流程图示意图;
图2为本申请基于存储器的数据读写装置较佳实施例的模块示意图;
图3为本申请电子设备较佳实施例的示意图;
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供一种基于存储器的数据读写方法。参照图1所示,为本申请基于存储器的数据读写方法的实施例的方法流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。基于存储器的数据读写方法包括:
步骤S10:当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
步骤S20:当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
步骤S30:计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
步骤S40:当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
由于在电子设备存储器中进行高速信号的传输或存储过程中,都有概率实时发生逻辑错误(例如,0/1数据比特反转),若重要的控制数据在写入存储器,或者从存储器读出重要的控制数据时发生逻辑错误,容易对系统运行造成比较严重的影响,因此本申请可以仅针对重要的控制数据进行校验处理。具体地,对数据写入存储器或者数据从存储器读出时进行监测,当监测到数据需要写入存储器,或者数据需要从存储器中读出时,判断写入或读出的数据是否为待校验数据,例如,可以通过数据的包头或者数据携带的标识判断写入或读出的数据是否为待校验数据,待校验数据是指重要的控制数据。
当判断写入的数据为待校验数据时,说明需要对该写入的数据进行校验,在该待校验数据写入存储器后,立刻将该待校验数据读出至寄存器,根据待校验数据及待校验数据自身携带的CRC码可以生成目标校验码,目标校验码用于校验数据写入是否成功,具体地,可以用模2除法计算目标校验码的余数,再判断目标校验码的余数是否为预设值(例如,0),预先携带的CRC码是该数据写入存储器之前添加的,具体可以通过软件或硬件的方式添加,当判断目标校验码的余数为0时,说明CRC校验通过,该待校验数据已成功写入了存储器,当判断目标校验码的余数不为0时,说明CRC校验失败,需要重新将待校验数据写入存储器。
同理,当判断从存储器读出的数据为待校验数据时,说明需要对该读出的数据进行校验,该待校验数据从存储器读出后,根据待校验数据及待校验数据自身携带的CRC码可以生成目标校验码,目标校验码用于校验数据读出是否成功,再判断目标校验码的余数是否为预设值(例如,0),当判断目标校验码的余数为0时,说明CRC校验通过,该待校验数据已成功从存储器读出,当判断目标校验码的余数不为0时,说明CRC校验失败,需要重新从存储器中读出该待校验数据。
在其它实施例中,当判断写入或读出的数据为待校验数据时,也可以对待校验数据执行CRC编码操作可以得到待校验数据的校验码,再判断校验码与待校验数据预先携带的CRC码是否一致,当判断校验码与待校验数据预先携带的CRC码一致时,说明CRC校验通过,该待校验数据已成功写入存储器,或成功从存储器读出。当判断校验码与待校验数据预先携带的CRC码不一致时,说明CRC校验失败,需要重新将待校验数据写入存储器,或重新从存储器读出待校验数据。
本申请通过判断写入或读出的数据是否为待校验数据,可以仅针对待校验数据(即重要的控制数据)进行校验处理,而非对所有数据都进行校验,可以做到有的放矢、降低了系统的设计与实现成本,通过将通信领域中两个设备之间数据传输的CRC校验功能应用于单个设备中,即设备自身的存储操作中,进行CRC编码和校验都是在单个设备中执行,不需要为了规避小概率错误事件而采用性能更好的材料、可靠性更高的器件、降低高速信号频率或大幅损失存储带宽,通过在CRC校验失败时将数据重新写入存储器或者从新从存储器读出数据,可以解决在存储器读写数据过程中的偶发性错误,确保重要控制数据的偶发性错误得以控制。
其中,CRC(Cyclic Redundancy Check,循环冗余校验码)是数据通信中最常用的一种差错校验码。利用CRC实现差错校验的方法是指在数据发送端根据要传输的K位二进制码数据,以确定的规则产生一个R位校验用的监督码(即CRC码),并附在数据信息后,构成一个新的二进制码数据共K+R位发出。数据接收端则遵循同样的规则进行检验,以确定传输过程中是否出错。这个规则在差错控制理论中称为生成多项式。
任何一个由二进制位串组成的代码都可以和一个系数仅为0和1取值的多项式一一对应。例如,二进制数1011,其对应的多项式为G(x)=x3+x+1。若G(x)为CRC校验的生成多项式,CRC校验的基本算法如下:
将x的最高次幂为R的生成多项式G(x)转换成对应的R+1位二进制数;
发送端将需要发送的二进制信息码左移R位,相当于对应的信息多项式C(x)×2R;
将左移后的二进制信息码与生成多项式G(x)对应的二进制码做模2除计算(模2除即最高位对齐,各位做异或运算),直到余数为R位停止计算;
将R位的余数直接拼接到信息码左移后空出的位置,得到完整的CRC码;
接收端收到完整的CRC码后,再同样对CRC码做模2除的运算,若余数为0,则传送过程正确;若不为0,则传送过程出现了错误。
目前常用的CRC校验有CRC-8、CRC-16、CRC-32三种。其中CRC-8指CRC校验的生成多项式中x的最高次幂为8,也即CRC校验码的数据类型是一字节字符串;CRC-16指CRC校验的生成多项式中x的最高次幂为16,也即CRC校验码的数据类型是二字节字符串;CRC-32指CRC校验的生成多项式中x的最高次幂为32,也即CRC校验码的数据类型是四字节字符串。
在一个实施例中,所述判断所述数据是否为待校验数据,包括:
获取所述数据的包头信息,基于所述包头信息判断所述数据是否为待校验数据。
判断写入存储器的数据或者从存储器读出的数据是否为待校验数据(重要的控制数据),可以获取该数据的包头信息(例如,每1024字节的前8个字节的包头),通过包头信息来确定该数据是否为重要控制数据。
进一步地,所述基于所述包头信息判断所述数据是否为待校验数据,包括:
将所述包头信息与预先定义的信息表进行匹配,当所述包头信息与预先定义的信息表匹配成功时,判断所述数据为待校验数据;
当所述包头信息与预先定义的信息表匹配失败时,判断所述数据为非待校验数据。
由于重要的控制数据可以根据实际需求自定义的,因此可以将重要控制数据预先定义为信息表,当需要判断写入存储器的数据,或判断从存储器读出的数据是否为重要的控制数据时,可以将数据的包头信息与预先定义的信息表进行匹配,当数据的包头信息与预先定义的信息表匹配成功时,说明写入存储器的数据或从存储器读出的数据为待校验数据,当数据的包头信息与预先定义的信息表匹配失败时,说明写入存储器的数据或从存储器读出的数据为非待校验数据,即不是重要的控制数据。
在一个实施例中,在判断所述数据为非待校验数据之后,所述方法还包括:
确认所述非待校验的数据成功写入所述存储器,或者确认所述非待校验数据从所述存储器成功读出。
当判断写入存储器的数据或从存储器读出的数据为非待校验数据后,即该判断该数据不是重要的控制数据后,不需要对该数据进行校验,直接确认非待校验的数据成功写入存储器,或者确认非待校验数据从存储器成功读出,可以节省系统的运行资源。
在一个实施例中,在判断所述目标校验码的余数是否为预设值之后,所述方法包括:
当判断所述目标校验码的余数为预设值时,确定所述待校验数据成功写入存储器,或者确定所述待校验数据成功从存储器成功读出。
当判断所述目标校验码的余数为预设值(例如,0)时,说明CRC校验通过,可以确定待校验数据成功写入存储器,或者确定待校验数据成功从存储器成功读出。
在一个实施例中,所述重新将所述待校验数据写入所述存储器,包括:
将所述待校验数据和所述待校验数据的CRC码进行缓存,对所述存储器重新发起数据写入请求,直至将缓存的待校验数据成功写入所述存储器。
CRC校验失败时,需要重新将待校验数据写入存储器,由于针对的错误类型是偶发式的,经过多次重新写入之后,可以使得CRC校验通过,即确认待校验数据成功写入存储器。具体地,在将待校验的数据重新写入之前,将待写入的数据和该数据对应的CRC码进行缓存,对存储器重新发起数据写入请求,如果写入过程CRC校验失败,则重新发起对存储器的写入请求,直至将待校验数据成功写入存储器。
在一个实施例中,在重新从存储器读出所述待校验数据之后,所述方法还包括:
判断在连续预设次数的数据读出请求内,是否成功从所述存储器读出所述待校验数据;
若否,对所述存储器发起所述待校验数据对应的数据写入请求。
CRC校验失败时,需要重新从存储器读出待校验数据,由于针对的错误类型是偶发式的,在不考虑存储器在存储期间发生数据变化的情况下,经过多次重传之后,可以使得CRC校验通过,即确认待校验数据成功从存储器读出。
由于存储器在存储期间可能会发生数据变化的情况,因此可以设置一定的数据读出的重传次数,可以理解的是,每一次重新读出待校验数据时,均需要执行上述步骤20至步骤S40中生成目标校验码,计算目标校验码的余数,判断目标校验码的余数是否为预设值的步骤。判断在连续预设次数(例如,3次)的数据读出请求内,是否成功从存储器读出待校验数据,如果连续3次读出数据的目标校验码均不为预设值(即校验失败)时,则放弃从存储器继续读出数据,并对存储器发起写入请求,请求该待校验数据对应的数据重新写入至存储器。
参照图2所示,为本申请基于存储器的数据读写装置100的功能模块示意图。
本申请所述基于存储器的数据读写装置100可以安装于电子设备中。根据实现的功能,所述基于存储器的数据读写装置100可以包括判断模块110、编码模块120、校验模块130及重传模块140。本申请所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
判断模块110:用于当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
编码模块120:用于当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
校验模块130:用于计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
重传模块140:用于当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
在一个实施例中,所述判断所述数据是否为待校验数据,包括:
获取所述数据的包头信息,基于所述包头信息判断所述数据是否为待校验数据。
在一个实施例中,所述基于所述包头信息判断所述数据是否为待校验数据,包括:
将所述包头信息与预先定义的信息表进行匹配,当所述包头信息与预先定义的信息表匹配成功时,判断所述数据为待校验数据;
当所述包头信息与预先定义的信息表匹配失败时,判断所述数据为非待校验数据。
在一个实施例中,判断模块110还用于:
确认所述非待校验的数据成功写入所述存储器,或者确认所述非待校验数据从所述存储器成功读出。
在一个实施例中,校验模块130还用于:
当判断所述目标校验码的余数为预设值时,确定所述待校验数据成功写入存储器,或者确定所述待校验数据成功从存储器成功读出。
在一个实施例中,所述重新将所述待校验数据写入所述存储器,包括:
将所述待校验数据和所述待校验数据的CRC码进行缓存,对所述存储器重新发起数据写入请求,直至将缓存的待校验数据成功写入所述存储器。
在一个实施例中,重传模块140还用于:
判断在连续预设次数的数据读出请求内,是否成功从所述存储器读出所述待校验数据;
若否,对所述存储器发起所述待校验数据对应的数据写入请求。
参照图3所示,为本申请电子设备1较佳实施例的示意图。
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如基于存储器的数据读写程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于存储器的数据读写程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
图3仅示出了具有组件11-14以及基于存储器的数据读写程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
该电子设备1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的基于存储器的数据读写程序10时可以实现如下步骤:
当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照上述图2关于基于存储器的数据读写装置100实施例的功能模块图以及图1关于基于存储器的数据读写方法实施例的流程图的说明。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性的,也可以是易失性的。该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储程序区存储有基于存储器的数据读写程序10,所述基于存储器的数据读写程序10被处理器执行时实现如下操作:
当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
本申请之计算机可读存储介质的具体实施方式与上述基于存储器的数据读写方法的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于存储器的数据读写方法,其特征在于,所述方法包括:
当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
2.如权利要求1所述的基于存储器的数据读写方法,其特征在于,所述判断所述数据是否为待校验数据,包括:
获取所述数据的包头信息,基于所述包头信息判断所述数据是否为待校验数据。
3.如权利要求2所述的基于存储器的数据读写方法,其特征在于,所述基于所述包头信息判断所述数据是否为待校验数据,包括:
将所述包头信息与预先定义的信息表进行匹配,当所述包头信息与预先定义的信息表匹配成功时,判断所述数据为待校验数据;
当所述包头信息与预先定义的信息表匹配失败时,判断所述数据为非待校验数据。
4.如权利要求3所述的基于存储器的数据读写方法,其特征在于,在判断所述数据为非待校验数据之后,所述方法还包括:
确认所述非待校验的数据成功写入所述存储器,或者确认所述非待校验数据从所述存储器成功读出。
5.如权利要求1所述的基于存储器的数据读写方法,其特征在于,在判断所述目标校验码的余数是否为预设值之后,所述方法包括:
当判断所述目标校验码的余数为预设值时,确定所述待校验数据成功写入存储器,或者确定所述待校验数据成功从存储器成功读出。
6.如权利要求1所述的基于存储器的数据读写方法,其特征在于,所述重新将所述待校验数据写入所述存储器,包括:
将所述待校验数据和所述待校验数据的CRC码进行缓存,对所述存储器重新发起数据写入请求,直至将缓存的待校验数据成功写入所述存储器。
7.如权利要求1所述的基于存储器的数据读写方法,其特征在于,在重新从存储器读出所述待校验数据之后,所述方法还包括:
判断在连续预设次数的数据读出请求内,是否成功从所述存储器读出所述待校验数据;
若否,对所述存储器发起所述待校验数据对应的数据写入请求。
8.一种基于存储器的数据读写装置,其特征在于,所述装置包括:
判断模块:用于当监测到数据写入存储器或者数据从存储器读出时,判断所述数据是否为待校验数据;
编码模块:用于当判断所述数据为待校验数据时,基于所述待校验数据及所述待校验数据预先携带的CRC码生成目标校验码;
校验模块:用于计算所述目标校验码的余数,判断所述目标校验码的余数是否为预设值;
重传模块:用于当判断所述目标校验码的余数不为预设值时,重新将所述待校验数据写入所述存储器,或者重新从存储器读出所述待校验数据。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1至7中任一项所述的基于存储器的数据读写方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述基于存储器的数据读写方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210410281.2A CN114741231B (zh) | 2022-04-19 | 2022-04-19 | 基于存储器的数据读写方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210410281.2A CN114741231B (zh) | 2022-04-19 | 2022-04-19 | 基于存储器的数据读写方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114741231A true CN114741231A (zh) | 2022-07-12 |
CN114741231B CN114741231B (zh) | 2023-06-27 |
Family
ID=82281261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210410281.2A Active CN114741231B (zh) | 2022-04-19 | 2022-04-19 | 基于存储器的数据读写方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741231B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499104A (zh) * | 2022-10-24 | 2022-12-20 | 上海泰矽微电子有限公司 | 一种芯片die间的通信方法 |
CN116975889A (zh) * | 2023-08-03 | 2023-10-31 | 昆山迈致治具科技有限公司 | 显示屏特征数据存储及调取方法、系统、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110225465A1 (en) * | 2010-03-15 | 2011-09-15 | International Business Machines Corporation | Managing Memory Refreshes |
WO2015062503A1 (zh) * | 2013-11-04 | 2015-05-07 | 上海数字电视国家工程研究中心有限公司 | 数据包的封装方法及校验方法 |
CN105302924A (zh) * | 2015-12-09 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种文件管理方法及装置 |
CN105808372A (zh) * | 2016-03-04 | 2016-07-27 | 大唐微电子技术有限公司 | 一种系统初始指标数据配置方法和装置 |
CN106502932A (zh) * | 2016-09-20 | 2017-03-15 | 中国科学院自动化研究所 | 基于分层结构的片间互联接口及其写操作和读操作的方法 |
CN109656509A (zh) * | 2017-10-11 | 2019-04-19 | 深圳市奥拓电子股份有限公司 | 一种模组校正数据的校验方法、终端设备及存储介质 |
CN109947368A (zh) * | 2019-03-21 | 2019-06-28 | 记忆科技(深圳)有限公司 | 数据可靠性检测方法、装置、计算机设备及存储介质 |
WO2021174969A1 (zh) * | 2020-03-04 | 2021-09-10 | 支付宝(杭州)信息技术有限公司 | 一种校验方法、装置以及设备 |
CN113467724A (zh) * | 2021-07-28 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种crc校验码存储方法、装置、设备及介质 |
WO2021238902A1 (zh) * | 2020-05-25 | 2021-12-02 | 中兴通讯股份有限公司 | 数据导入方法、装置、服务平台及存储介质 |
-
2022
- 2022-04-19 CN CN202210410281.2A patent/CN114741231B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110225465A1 (en) * | 2010-03-15 | 2011-09-15 | International Business Machines Corporation | Managing Memory Refreshes |
WO2015062503A1 (zh) * | 2013-11-04 | 2015-05-07 | 上海数字电视国家工程研究中心有限公司 | 数据包的封装方法及校验方法 |
CN105302924A (zh) * | 2015-12-09 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种文件管理方法及装置 |
CN105808372A (zh) * | 2016-03-04 | 2016-07-27 | 大唐微电子技术有限公司 | 一种系统初始指标数据配置方法和装置 |
CN106502932A (zh) * | 2016-09-20 | 2017-03-15 | 中国科学院自动化研究所 | 基于分层结构的片间互联接口及其写操作和读操作的方法 |
CN109656509A (zh) * | 2017-10-11 | 2019-04-19 | 深圳市奥拓电子股份有限公司 | 一种模组校正数据的校验方法、终端设备及存储介质 |
CN109947368A (zh) * | 2019-03-21 | 2019-06-28 | 记忆科技(深圳)有限公司 | 数据可靠性检测方法、装置、计算机设备及存储介质 |
WO2021174969A1 (zh) * | 2020-03-04 | 2021-09-10 | 支付宝(杭州)信息技术有限公司 | 一种校验方法、装置以及设备 |
WO2021238902A1 (zh) * | 2020-05-25 | 2021-12-02 | 中兴通讯股份有限公司 | 数据导入方法、装置、服务平台及存储介质 |
CN113467724A (zh) * | 2021-07-28 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种crc校验码存储方法、装置、设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499104A (zh) * | 2022-10-24 | 2022-12-20 | 上海泰矽微电子有限公司 | 一种芯片die间的通信方法 |
CN116975889A (zh) * | 2023-08-03 | 2023-10-31 | 昆山迈致治具科技有限公司 | 显示屏特征数据存储及调取方法、系统、设备及存储介质 |
CN116975889B (zh) * | 2023-08-03 | 2024-01-26 | 昆山迈致治具科技有限公司 | 显示屏特征数据存储及调取方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114741231B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114741231B (zh) | 基于存储器的数据读写方法、装置、设备及存储介质 | |
KR100645058B1 (ko) | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 | |
US20130305120A1 (en) | Memory controller, storage device and error correction method | |
CN110309013B (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
KR100847560B1 (ko) | 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법 | |
KR20160090054A (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
CN105183382A (zh) | 一种数据块保护方法及装置 | |
US10191801B2 (en) | Error correction code management of write-once memory codes | |
CN114020518B (zh) | 上电时序控制的方法及相关装置 | |
KR102652293B1 (ko) | 메모리 관리방법 | |
CN109766214A (zh) | 一种最优h矩阵生成方法及装置 | |
CN111611002B (zh) | 数据升级方法、装置、计算机设备和存储介质 | |
KR100606052B1 (ko) | 이동통신 단말기의 오류 데이터 복구 시스템 및 방법 | |
CN105354107A (zh) | NOR Flash的数据传输方法及系统 | |
CN111124742B (zh) | Flash数据校验方法及Flash控制器、存储介质、设备 | |
CN101207492A (zh) | 避免下载错误文件的文件下载方法及装置 | |
KR100808948B1 (ko) | 비휘발성 메모리의 보안장치 ,보안방법 및 그 시스템 | |
KR20090129626A (ko) | 메모리 기반 저장 장치 및 그것의 블록 관리 기법 | |
CN112099987A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
CN115407822A (zh) | 配置异步时钟分频器的方法、装置、设备及存储介质 | |
CN116737281B (zh) | 文件上注的方法、装置及存储介质 | |
JP6325394B2 (ja) | Icカード、携帯可能電子装置、及び、icカード処理装置 | |
CN116861493B (zh) | 一种校验码生成方法、处理器及电子设备 | |
CN109857340B (zh) | Nor flash中文件的存储和读取方法、装置及存储介质 | |
CN101369242B (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 |