CN109358981B - 存储器读取错误纠正方法、系统、计算机设备和存储介质 - Google Patents
存储器读取错误纠正方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109358981B CN109358981B CN201811116571.6A CN201811116571A CN109358981B CN 109358981 B CN109358981 B CN 109358981B CN 201811116571 A CN201811116571 A CN 201811116571A CN 109358981 B CN109358981 B CN 109358981B
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- checksum
- sub
- byte data
- 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.)
- Active
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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种存储器读取错误纠正方法、系统、计算机设备和存储介质。所述方法包括:从存储器中读取校验和包,将校验和包划分为多个子校验和包,在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验,在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据,在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。采用本方法在读取错误纠正时只需要重新获取相应的多字节数据,减少重新读取正确数据的数据量,可以减少带宽的消耗,因此能在有限的带宽消耗下提高数据读取的准确性。
Description
技术领域
本申请涉及串行外围设备接口检测技术领域,特别是涉及一种存储器读取错误纠正方法、存储器读取错误纠正系统、计算机设备和存储介质。
背景技术
目前,SPI FLASH(Serial Peripheral Interface flash,读写串行闪存器)作为一种物美价廉的存储设备,已经被应用于各种电子设备。而随着SPI FLASH技术的不断创新,其读取速度变得越来越快,导致了传输质量的下降,数据出现错误的机会大大增加。
例如SPI FLASH读取的过程中,以32个字节为一次读取的数据长度为例,当控制器需要读取SPI FLASH的数据时,控制器会在总线上发送读取命令和读取的地址,SPI FLASH收到命令和地址后,便会开始返回32个字节的数据,当控制器收满32个字节的数据,则认为该次读取完成。在这个过程中,在有限的带宽消耗中读取速度快,但是无法保证数据在传输过程中数据的可靠性,会造成在有限的带宽消耗中数据读取的准确性低。
发明内容
基于此,有必要针对上述在有限的带宽消耗中数据读取的准确性低的问题,提供一种存储器读取错误纠正方法、系统、计算机设备和存储介质。
一种存储器读取错误纠正方法,包括以下步骤:
从存储器中读取校验和包,将校验和包划分为多个子校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验;
在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据;
在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。
在一个实施例中,在将校验和包划分为多个子校验和包的步骤之后,还包括以下步骤:
依次将各子校验和包作为当前子校验和包;
在输出当前读取的多字节数据的步骤之后,还包括以下步骤:
在输出的多字节数据的个数等于子校验和包的个数时,数据包读取完成并停止数据包的读取。
在一个实施例中,根据当前子校验和包对当前读取的多字节数据进行校验的步骤,包括以下步骤:
计算当前读取的多字节数据的校验值;在校验值和当前子校验和包中的校验码相同时,判定当前读取的多字节数据的校验为读取正确;在校验值和当前子校验和包中的校验码不相同时,判定当前读取的多字节数据的校验为读取错误。
在一个实施例中,计算当前读取的多字节数据的校验值的步骤,包括以下步骤:
将当前读取的多字节数据的总和校验码或循环冗余校验码作为校验值。
在一个实施例中,在从存储器中读取校验和包的步骤之前,还包括以下步骤:
获取读地址,根据读地址在存储器中读取读地址对应的校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据的步骤,包括以下步骤:
根据读地址在存储器中查找并读取校验和包对应的数据包中与当前子校验和包对应的多字节数据。
在一个实施例中,子校验和包的数据长度包括N个比特,子校验和包的数量为n个,多字节数据的数据长度包括M个字节,多字节数据的数量为n个;
将校验和包划分为多个子校验和包的步骤,包括以下步骤:
将校验和包划分为n个子校验和包,各子校验和包的数据长度为N个比特;
输出当前读取的多字节数据的步骤,包括以下步骤:
当前子校验和包为第i个子校验和包时,将当前读取的多字节数据作为数据包的第M×i-M+1至M×i个字节的数据,并输出当前读取的多字节数据。
在一个实施例中,数据包的数据长度包括32个字节,校验和包的数据长度包括1个字节;
将校验和包划分为多个子校验和包的步骤,包括以下步骤:将校验和包划分为4个子校验和包,各子校验和包的数据长度为2个比特,4个子校验和包分别为第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包;
当前子校验和包为第一子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第1至8字节的数据,并输出当前多字节数据;
当前子校验和包为第二子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第9至16字节的数据,并输出当前多字节数据;
当前子校验和包为第三子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第17至24字节的数据,并输出当前多字节数据;
当前子校验和包为第四子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第25至32字节的数据,并输出当前多字节数据;
在输出的多字节数据的个数等于子校验和包的个数时,数据包读取完成并停止数据包读取的步骤,包括以下步骤:在输出第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包分别对应的当前多字节数据后,数据包读取完成并停止数据包的读取。
一种存储器读取错误纠正系统,包括:
子校验和包划分模块,用于从存储器中读取校验和包,将校验和包划分为多个子校验和包;
多字节数据校验模块,用于在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验;
多字节数据重读模块,用于在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据;
多字节数据输出模块,用于在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
从存储器中读取校验和包,将校验和包划分为多个子校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验;
在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据;
在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从存储器中读取校验和包,将校验和包划分为多个子校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验;
在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据;
在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。
上述存储器读取错误纠正方法、系统、计算机设备和存储介质,对于判定为读取错误的多字节数据,只需要重新获取相应的多字节数据,无需重新获取多字节数据所在的数据包,减少重新读取正确数据的数据量,可以减少带宽的消耗,对于判定为读取正确的多字节数据可以尽快地输出,加快数据的响应速度,提高有限带宽的使用效率,因此能在有限的带宽消耗下提高数据读取的准确性。
附图说明
图1为一个实施例中存储器读取错误纠正方法的应用环境图;
图2为一个实施例中存储器读取错误纠正方法的流程图;
图3为另一个实施例中纠正SPI FLASH读取错误的装置的结构示意图;
图4(a)为传统技术中SPI FLASH读取的原理示意图;
图4(b)为另一个实施例中SPI FLASH读取的原理示意图;
图5为另一个实施例中多字节数据与预设校验码对应关系的示意图;
图6为另一个实施例中SPI FLASH读取错误纠正方法的流程图;
图7为一个实施例中存储器读取错误纠正系统的结构示意图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的存储器读取错误纠正方法,可以应用于如图1所示的应用环境中,图1为一个实施例中存储器读取错误纠正方法的应用环境图。其中,主芯片10中包括控制器11,从芯片20包括存储器21,控制器11和存储器21之间通过数据总线进行连接。控制器11可以用于发送命令,还可以用于检测及纠正读取错误;存储器21可以用于接收命令和对命令进行反馈。
在一个实施例中,如图2所示,图2为一个实施例中存储器读取错误纠正方法的流程图,本实施例中提供了一种存储器读取错误纠正方法,以该方法应用于图1中的控制器为例进行说明,包括以下步骤:
步骤S210:从存储器中读取校验和包,将校验和包划分为多个子校验和包。
各个子校验和包中包含有用于校验相应多字节数据的检验码。本步骤中,校验和包划分多个子校验和包后,即使得校验和包可以用于校验多个多字节数据。
步骤S220:在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验。
其中,当前子校验和包可以为任意一个子校验和包,与当前子校验和包对应的多字节数据是属于校验和包对应的数据包中的数据,数据包包括各个子校验和包一一对应的各个多字节数据,数据包的数据由子校验和包一一对应的多字节数据组成。
步骤S230:在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据。
本步骤中,对判定为读取错误的多字节数据进行重新读取,可以保护读取的多字节数据的可靠性。
步骤S240:在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。
本步骤中,将读取正确的多字节数据输出,例如可以向所连接的主机输入多字节数据,完成该多字节数据的读取操作。
上述存储器读取错误纠正方法,对于判定为读取错误的多字节数据,只需要重新获取相应的多字节数据,无需重新获取多字节数据所在的数据包,减少重新读取正确数据的数据量,可以减少带宽的消耗,对于判定为读取正确的多字节数据可以尽快地输出,加快数据的响应速度,提高有限带宽的使用效率,因此能在有限的带宽消耗下提高数据读取的准确性。
在一个实施例中,在将校验和包划分为多个子校验和包的步骤之后,还包括以下步骤:
依次将各子校验和包作为当前子校验和包;
本步骤中,依次将各个子校验和包作为当前子校验和包,以便于后续可以完成对各个子校验和包一一对应的多字节数据进行校验,以及输出判定为读取正确的多字节数据。
在输出当前读取的多字节数据的步骤之后,还包括以下步骤:
在输出的多字节数据的个数等于子校验和包的个数时,数据包读取完成并停止数据包的读取。
本步骤中,在输出的多字节数据的个数等于子校验和包的个数时,即相当于完成所有子校验和包对应的多字节数据的输出,即完成数据包的读取,可以停止数据包的读取。
上述存储器读取错误纠正方法,通过完成对各个子校验和包一一对应的多字节数据的校验,即可以完成对校验和包对应的数据包的校验,通过保障多字节数据读取的正确性可以保障数据包读取的正确性,可以提高数据读取的准确性。
在一个实施例中,根据当前子校验和包对当前读取的多字节数据进行校验的步骤,包括以下步骤:
计算当前读取的多字节数据的校验值。
在校验值和当前子校验和包中的校验码相同时,判定当前读取的多字节数据的校验为读取正确。
在校验值和当前子校验和包中的校验码不相同时,判定当前读取的多字节数据的校验为读取错误。
上述存储器读取错误纠正方法,通过计算当前读取的多字节数据的校验值,并与当前子校验和包中的校验码进行比对,从而校验当前读取的多字节数据为读取正确还是读取错误,根据校验值与校验码是否相同进行校验,可以提高校验的准确性。
另外,例如校验值的数据长度与校验码的数据长度相同时,当校验值等同于校验码时判定校验为读取正确,反之为读取错误;在校验值的数据长度与校验码的数据长度不相同时,可以根据校验值的指定位置的数据与校验码指定位置的数据进行比对和校验,比如校验值的数据长度为3个比特,而校验码的数据长度为2个比特,可以使用校验值的后两位比特的数据与校验码进行比对和校验。
在一个实施例中,计算当前读取的多字节数据的校验值的步骤,包括以下步骤:
将当前读取的多字节数据的总和校验码或循环冗余校验码作为校验值。
上述存储器读取错误纠正方法,可以通过求和校验的方式计算当前读取的多字节数据的总和校验码并将该总和校验码作为校验值,或者计算当前读取的多字节数据的循环冗余校验码并将该循环冗余校验码作为校验值,可以快速的计算校验值,提高校验的速度。
在一个实施例中,在从存储器中读取校验和包的步骤之前,还包括以下步骤:
获取读地址,根据读地址在存储器中读取读地址对应的校验和包。
本步骤中,存储器在接收命令和地址后,开始返回校验和包的数据长度相同的数据;控制器接收的该校验和包的数据长度的数据即可以作为读取的对应的校验和包。
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据的步骤,包括以下步骤:
根据读地址在存储器中查找并读取校验和包对应的数据包中与当前子校验和包对应的多字节数据。
本步骤中,存储器在返回校验和包后,继续返回子校验和包对应的多字节数据;控制器接收的该对应的多字节数据的数据长度的数据可以作为读取的当前子校验和包对应的多字节数据。
上述存储器读取错误纠正方法,可以根据数据长度快速读取校验和包和当前子校验和包对应的多字节数据,提高数据读取速度。
在一个实施例中,子校验和包的数据长度包括N个比特,子校验和包的数量为n个,多字节数据的数据长度包括M个字节,多字节数据的数量为n个。
将校验和包划分为多个子校验和包的步骤,包括以下步骤:
将校验和包划分为n个子校验和包,各子校验和包的数据长度为N个比特。
输出当前读取的多字节数据的步骤,包括以下步骤:
当前子校验和包为第i个子校验和包时,将当前读取的多字节数据作为数据包的第M×i-M+1至M×i个字节的数据,并输出当前读取的多字节数据。
本步骤中可以依次读取了数据包中各个位置的数据,保障数据包读取的正确性。其中,n、N、M和i分别为正整数,i的取值范围为[1,n]。
上述存储器读取错误纠正方法,可以通过N个比特的子校验和包对M个字节的多字节数据进行校验,通过N个比特保障M个字节数据的可靠性,节约数据的消耗,提高数据的使用效率,同时可以减少带宽消耗。
在一个实施例中,数据包的数据长度包括32个字节,校验和包的数据长度包括1个字节;
将校验和包划分为多个子校验和包的步骤,包括以下步骤:将校验和包划分为4个子校验和包,各子校验和包的数据长度为2个比特,4个子校验和包分别为第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包;
当前子校验和包为第一子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第1至8字节的数据,并输出当前多字节数据;
当前子校验和包为第二子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第9至16字节的数据,并输出当前多字节数据;
当前子校验和包为第三子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第17至24字节的数据,并输出当前多字节数据;
当前子校验和包为第四子校验和包时,输出当前多字节数据的步骤,包括以下步骤:将当前多字节数据作为数据包的第25至32字节的数据,并输出当前多字节数据;
在输出的多字节数据的个数等于子校验和包的个数时,数据包读取完成并停止数据包的读取的步骤,包括以下步骤:在输出第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包分别对应的当前多字节数据后,数据包读取完成并停止数据包的读取。
上述存储器读取错误纠正方法,可以将32个字节长度的数据包分成4个多字节数据,并将校验和包分成4个子校验和包一一对应于4个多字节数据,可以技术发现出现读取错误的多字节数据,对于判定为读取错误的多字节数据,只需要重新获取相应的多字节数据,从而完成数据包的读取,避免重新读取整个数据包的数据量,可以减少带宽的消耗,因此能在有限的带宽消耗下提高数据读取的准确性。
在另一个实施例中,如图3所示,图3为另一个实施例中纠正SPI FLASH读取错误的装置的结构示意图,SPI FLASH读取错误的装置包括主芯片和从芯片,主芯片包括用于发送数据命令的控制器,控制器可以接收命令包、地址包和数据包,,从芯片包括用于接收及反馈命令的SPI FLASH,图4(a)为传统技术中SPI FLASH读取的原理示意图,图4(a)表示的是控制器按顺序所接收的数据,这里以32个字节为一次读取的数据长度,当控制器需要读取SPIFLASH的数据时,控制器会在总线上发送读取命令和读取的地址,SPI FLASH收到命令和地址后,便会开始返回32个字节的数据,每8个字节返回一次数据,共返回4次;当控制器接收满32个字节的数据,则认为该次读取完成。在这个过程中,是没有任何手段保护数据的可靠性,当数据在传输过程出现错误,会影响整个系统的运行。
如图4(b)所示,图4(b)为另一个实施例中SPI FLASH读取的原理示意图,图4(b)表示的是控制器按顺序所接收的数据,在传统技术中32个字节数据的基础上,增加1个字节的校验和值,即控制器还用于接受检测及纠正读取错误的校验和包,校验和包包括校验和值。检验和包的输入端与地址包的输出端连接,输出端与数据包的输入端连接。数据包包括长度为32个字节的数据。如图5所示,图5为另一个实施例中多字节数据与预设校验码对应关系的示意图,校验和包可进一步分割第一小校验和包、第二小校验和包、第三小校验和包、第四小校验和包,每1个小校验和包分别对应8个字节的数据包。第一小校验和包对应数据包的第1至8字节,第二小校验和包对应数据包的第9至16字节、第三小校验和包对应数据包的第17至24字节、第四小校验和包对应数据包的第25至32字节。图4和5中,数据包中DAT0为第1字节数据,DAT1为第2字节数据,如此类推;校验和包中的0指的是第1位比特的数据,校验和包中的1指的是第2位比特的数据,如此类推。
如图6所示,图6为另一个实施例中SPI FLASH读取错误纠正方法的流程图,本实施例中提供的SPI FLASH读取错误纠正方法包括以下步骤:
步骤一:读校验和包,将校验和包分成4个小校验和包,对应4组数据包,组设置为0;
步骤二:每个小校验和包进行与对应的数据包进行8个字节的校验;
步骤三:如果每个小校验和包所校验的数据与对应数据包的数据相同,则将8个字节数据发送到主机出,组加1;
步骤四:如果每个小校验和包所校验的数据与对应数据包的数据不相同,则重新读原来的8个字节数据;
步骤五:在满足步骤三的基础上,判断组是否等于4,如果组等于4,则结束,如果组不等于4,则返回步骤二。
在读取SPI FLASH的过程,首先将校验和包从SPI FLASH读出,其中,将一个字节长度的校验和包的数据的分成4份,每2位字节为一份,每一份作为一个小校验和包,这2位比特的小校验和包的总和校验码可以会保护对应的8个字节的数据;当读完一个字节长度的校验和包,就开始读真正的数据,每读8个字节,则计算这8个字节的总和校验码,将计算出的总和校验码与校验和包的第一个总和校验码作比较,若数据正确,则继续读下一组8字节,继续下一轮的比较;当数据出错,则重读相应的8个字节,直至数据读取正确。这样,通过增加校验数据,换取数据的正确性。其中,每一组数据在保证数据正确的情况下,可以尽快发送给主机,这样可以加快数据的响应速度。
上述SPI FLASH读取错误纠正方法,所要解决的技术问题是如果在有限的带宽消耗的基础下保证数据读取的正确性。有益效果是:能够及时发现控制器与SPI FLASH的通讯过程中的错误。将传送的过程分成几份,将几份数据分别保护,当发现其中一份出现数据错误,则重新开始新的传输,把错误的数据重新接受,再次检查,直到数据正确。
应该理解的是,虽然图2和6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,图7为一个实施例中存储器读取错误纠正系统的结构示意图,提供了一种存储器读取错误纠正系统,包括子校验和包划分模块310、多字节数据校验模块320、多字节数据重读模块330和多字节数据输出模块340,其中:
子校验和包划分模块310,用于从存储器中读取校验和包,将校验和包划分为多个子校验和包。
各个子校验和包中包含有用于校验相应多字节数据的检验码。子校验和包划分模块310将校验和包划分多个子校验和包后,即使得校验和包可以用于校验多个多字节数据。
多字节数据校验模块320,用于在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验。
其中,当前子校验和包可以为任意一个子校验和包,与当前子校验和包对应的多字节数据是属于校验和包对应的数据包中的数据,数据包包括各个子校验和包一一对应的各个多字节数据,数据包的数据由子校验和包一一对应的多字节数据组成。
多字节数据重读模块330,用于在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据。
多字节数据重读模块330对判定为读取错误的多字节数据进行重新读取,可以保护读取的多字节数据的可靠性。
多字节数据输出模块340,用于在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据
多字节数据输出模块340将读取正确的多字节数据输出,例如可以向所连接的主机输入多字节数据,完成该多字节数据的读取操作。
上述存储器读取错误纠正系统,对于判定为读取错误的多字节数据,只需要重新获取相应的多字节数据,无需重新获取多字节数据所在的数据包,减少重新读取正确数据的数据量,可以减少带宽的消耗,对于判定为读取正确的多字节数据可以尽快地输出,加快数据的响应速度,提高有限带宽的使用效率,因此能在有限的带宽消耗下提高数据读取的准确性。
关于存储器读取错误纠正系统的具体限定可以参见上文中对于存储器读取错误纠正方法的限定,在此不再赘述。上述存储器读取错误纠正系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示,图8为一个实施例中计算机设备的内部结构图。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种存储器读取错误纠正方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
从存储器中读取校验和包,将校验和包划分为多个子校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验;
在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据;
在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。
在一个实施例中,在将校验和包划分为多个子校验和包的步骤之后,处理器执行计算机程序时还实现以下步骤:
依次将各子校验和包作为当前子校验和包;
在输出当前读取的多字节数据的步骤之后,处理器执行计算机程序时还实现以下步骤:
在输出的多字节数据的个数等于子校验和包的个数时,数据包读取完成并停止数据包的读取。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算当前读取的多字节数据的校验值;在校验值和当前子校验和包中的校验码相同时,判定当前读取的多字节数据的校验为读取正确;在校验值和当前子校验和包中的校验码不相同时,判定当前读取的多字节数据的校验为读取错误。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将当前读取的多字节数据的总和校验码或循环冗余校验码作为校验值。
在一个实施例中,在从存储器中读取校验和包的步骤之前,处理器执行计算机程序时还实现以下步骤:
获取读地址,根据读地址在存储器中读取读地址对应的校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据的步骤,包括以下步骤:
根据读地址在存储器中查找并读取校验和包对应的数据包中与当前子校验和包对应的多字节数据。
在一个实施例中,子校验和包的数据长度包括N个比特,子校验和包的数量为n个,多字节数据的数据长度包括M个字节,多字节数据的数量为n个;
处理器执行计算机程序时还实现以下步骤:
将校验和包划分为n个子校验和包,各子校验和包的数据长度为N个比特;
当前子校验和包为第i个子校验和包时,将当前读取的多字节数据作为数据包的第M×i-M+1至M×i个字节的数据,并输出当前读取的多字节数据。
在一个实施例中,数据包的数据长度包括32个字节,校验和包的数据长度包括1个字节;
处理器执行计算机程序时还实现以下步骤:将校验和包划分为4个子校验和包,各子校验和包的数据长度为2个比特,4个子校验和包分别为第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包;
当前子校验和包为第一子校验和包时,处理器执行计算机程序时还实现以下步骤:将当前多字节数据作为数据包的第1至8字节的数据,并输出当前多字节数据;
当前子校验和包为第二子校验和包时,处理器执行计算机程序时还实现以下步骤:将当前多字节数据作为数据包的第9至16字节的数据,并输出当前多字节数据;
当前子校验和包为第三子校验和包时,处理器执行计算机程序时还实现以下步骤:将当前多字节数据作为数据包的第17至24字节的数据,并输出当前多字节数据;
当前子校验和包为第四子校验和包时,处理器执行计算机程序时还实现以下步骤:将当前多字节数据作为数据包的第25至32字节的数据,并输出当前多字节数据;
在输出的多字节数据的个数等于子校验和包的个数时,处理器执行计算机程序时还实现以下步骤:在输出第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包分别对应的当前多字节数据后,数据包读取完成并停止数据包的读取。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从存储器中读取校验和包,将校验和包划分为多个子校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据,根据当前子校验和包对当前读取的多字节数据进行校验;
在当前读取的多字节数据的校验判定为读取错误时,重新从存储器中读取当前子校验和包对应的多字节数据;
在当前读取的多字节数据的校验判定为读取正确时,输出当前读取的多字节数据。
在一个实施例中,在将校验和包划分为多个子校验和包的步骤之后,计算机程序被处理器执行时还实现以下步骤:
依次将各子校验和包作为当前子校验和包;
在输出当前读取的多字节数据的步骤之后,计算机程序被处理器执行时还实现以下步骤:
在输出的多字节数据的个数等于子校验和包的个数时,数据包读取完成并停止数据包的读取。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
计算当前读取的多字节数据的校验值;在校验值和当前子校验和包中的校验码相同时,判定当前读取的多字节数据的校验为读取正确;在校验值和当前子校验和包中的校验码不相同时,判定当前读取的多字节数据的校验为读取错误。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将当前读取的多字节数据的总和校验码或循环冗余校验码作为校验值。
在一个实施例中,在从存储器中读取校验和包的步骤之前,计算机程序被处理器执行时还实现以下步骤:
获取读地址,根据读地址在存储器中读取读地址对应的校验和包;
在存储器中读取校验和包对应的数据包中与当前子校验和包对应的多字节数据的步骤,包括以下步骤:
根据读地址在存储器中查找并读取校验和包对应的数据包中与当前子校验和包对应的多字节数据。
在一个实施例中,子校验和包的数据长度包括N个比特,子校验和包的数量为n个,多字节数据的数据长度包括M个字节,多字节数据的数量为n个;
计算机程序被处理器执行时还实现以下步骤:
将校验和包划分为n个子校验和包,各子校验和包的数据长度为N个比特;
当前子校验和包为第i个子校验和包时,将当前读取的多字节数据作为数据包的第M×i-M+1至M×i个字节的数据,并输出当前读取的多字节数据。
在一个实施例中,数据包的数据长度包括32个字节,校验和包的数据长度包括1个字节;
计算机程序被处理器执行时还实现以下步骤:将校验和包划分为4个子校验和包,各子校验和包的数据长度为2个比特,4个子校验和包分别为第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包;
当前子校验和包为第一子校验和包时,计算机程序被处理器执行时还实现以下步骤:将当前多字节数据作为数据包的第1至8字节的数据,并输出当前多字节数据;
当前子校验和包为第二子校验和包时,计算机程序被处理器执行时还实现以下步骤:将当前多字节数据作为数据包的第9至16字节的数据,并输出当前多字节数据;
当前子校验和包为第三子校验和包时,计算机程序被处理器执行时还实现以下步骤:将当前多字节数据作为数据包的第17至24字节的数据,并输出当前多字节数据;
当前子校验和包为第四子校验和包时,计算机程序被处理器执行时还实现以下步骤:将当前多字节数据作为数据包的第25至32字节的数据,并输出当前多字节数据;
在输出的多字节数据的个数等于子校验和包的个数时,计算机程序被处理器执行时还实现以下步骤:在输出第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包分别对应的当前多字节数据后,数据包读取完成并停止数据包的读取。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种存储器读取错误纠正方法,其特征在于,所述方法应用于主芯片和从芯片之间的通信传输数据的错误纠正,所述主芯片包括控制器,所述从芯片包括存储器,所述方法由所述控制器执行,所述方法包括以下步骤:
从所述存储器中读取校验和包,将所述校验和包划分为多个子校验和包,所述校验和包的输入端与地址包的输出端连接,所述校验和包的输出端与数据包的输入端连接;
基于预设的数据长度以及当前子校验和包的序号,在所述存储器中读取所述校验和包对应的数据包中与所述当前子校验和包对应的多字节数据;
当所述多字节数据的校验值的数据长度与所述当前子校验和包中校验码的数据长度不相同时,根据校验值的指定位置的数据、与校验码中所述指定位置对应的数据进行校验,得到当前读取的所述多字节数据的校验判定;
在所述当前读取的多字节数据的校验判定为读取错误时,重新从所述存储器中读取所述当前子校验和包对应的多字节数据;
在所述当前读取的多字节数据的校验判定为读取正确时,输出所述当前读取的多字节数据。
2.根据权利要求1所述的存储器读取错误纠正方法,其特征在于,在所述将所述校验和包划分为多个子校验和包的步骤之后,还包括以下步骤:
依次将各所述子校验和包作为所述当前子校验和包;
在所述输出所述当前读取的多字节数据的步骤之后,还包括以下步骤:
在输出的多字节数据的个数等于所述子校验和包的个数时,所述数据包读取完成并停止所述数据包的读取。
3.根据权利要求1或2所述的存储器读取错误纠正方法,其特征在于,当所述多字节数据的校验值的数据长度与所述当前子校验和包中校验码的数据长度相同时,所述方法还包括以下步骤:
计算所述当前读取的多字节数据的校验值;
在所述校验值和所述当前子校验和包中的校验码相同时,判定所述当前读取的多字节数据的校验为读取正确;
在所述校验值和所述当前子校验和包中的校验码不相同时,判定所述当前读取的多字节数据的校验为读取错误。
4.根据权利要求3所述的存储器读取错误纠正方法,其特征在于,所述计算所述当前读取的多字节数据的校验值的步骤,包括以下步骤:
将所述当前读取的多字节数据的总和校验码或循环冗余校验码作为所述校验值。
5.根据权利要求1所述的存储器读取错误纠正方法,其特征在于,在所述从存储器中读取校验和包的步骤之前,还包括以下步骤:
获取读地址,根据所述读地址在存储器中读取所述读地址对应的校验和包;
所述在所述存储器中读取所述校验和包对应的数据包中与所述当前子校验和包对应的多字节数据的步骤,包括以下步骤:
根据所述读地址在所述存储器中查找并读取所述校验和包对应的数据包中与所述当前子校验和包对应的多字节数据。
6.根据权利要求1所述的存储器读取错误纠正方法,其特征在于,所述子校验和包的数据长度包括N个比特,所述子校验和包的数量为n个,所述多字节数据的数据长度包括M个字节,所述多字节数据的数量为n个;
所述将所述校验和包划分为多个子校验和包的步骤,包括以下步骤:
将所述校验和包划分为n个子校验和包,各所述子校验和包的数据长度为N个比特;
所述输出所述当前读取的多字节数据的步骤,包括以下步骤:
所述当前子校验和包为第i个子校验和包时,将所述当前读取的多字节数据作为所述数据包的第M×i-M+1至M×i个字节的数据,并输出所述当前读取的多字节数据。
7.根据权利要求2所述的存储器读取错误纠正方法,其特征在于,所述数据包的数据长度包括32个字节,所述校验和包的数据长度包括1个字节;
所述将所述校验和包划分为多个子校验和包的步骤,包括以下步骤:
将所述校验和包划分为4个子校验和包,各所述子校验和包的数据长度为2个比特,4个所述子校验和包分别为第一子校验和包、第二子校验和包、第三子校验和包和第四子校验和包;
所述当前子校验和包为所述第一子校验和包时,所述输出所述当前多字节数据的步骤,包括以下步骤:
将所述当前多字节数据作为所述数据包的第1至8字节的数据,并输出所述当前多字节数据;
所述当前子校验和包为所述第二子校验和包时,所述输出所述当前多字节数据的步骤,包括以下步骤:
将所述当前多字节数据作为所述数据包的第9至16字节的数据,并输出所述当前多字节数据;
所述当前子校验和包为所述第三子校验和包时,所述输出所述当前多字节数据的步骤,包括以下步骤:
将所述当前多字节数据作为所述数据包的第17至24字节的数据,并输出所述当前多字节数据;
所述当前子校验和包为所述第四子校验和包时,所述输出所述当前多字节数据的步骤,包括以下步骤:
将所述当前多字节数据作为所述数据包的第25至32字节的数据,并输出所述当前多字节数据;
所述在输出的多字节数据的个数等于所述子校验和包的个数时,所述数据包读取完成并停止所述数据包的读取的步骤,包括以下步骤:
在输出所述第一子校验和包、所述第二子校验和包、所述第三子校验和所述包和第四子校验和包分别对应的当前多字节数据后,所述数据包读取完成并停止所述数据包的读取。
8.一种存储器读取错误纠正系统,其特征在于,所述系统包括:
子校验和包划分模块,用于通过控制器从存储器中读取校验和包,将所述校验和包划分为多个子校验和包;所述控制器包含于主芯片,所述存储器包含于从芯片,所述系统应用于所述主芯片和所述从芯片之间的通信传输数据的错误纠正;所述的校验和包的输入端与地址包的输出端连接,所述校验和包的输出端与数据包的输入端连接;
多字节数据校验模块,用于基于预设的数据长度以及当前子校验和包的序号,在所述存储器中读取所述校验和包对应的数据包中与所述当前子校验和包对应的多字节数据;当所述多字节数据的校验值的数据长度与所述当前子校验和包中校验码的数据长度不相同时,根据校验值的指定位置的数据、与校验码中所述指定位置对应的数据进行校验,得到当前读取的所述多字节数据的校验判定;
多字节数据重读模块,用于在所述当前读取的多字节数据的校验判定为读取错误时,重新从所述存储器中读取所述当前子校验和包对应的多字节数据;
多字节数据输出模块,用于在所述当前读取的多字节数据的校验判定为读取正确时,输出所述当前读取的多字节数据。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的存储器读取错误纠正方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的存储器读取错误纠正方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811116571.6A CN109358981B (zh) | 2018-09-25 | 2018-09-25 | 存储器读取错误纠正方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811116571.6A CN109358981B (zh) | 2018-09-25 | 2018-09-25 | 存储器读取错误纠正方法、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109358981A CN109358981A (zh) | 2019-02-19 |
CN109358981B true CN109358981B (zh) | 2022-07-05 |
Family
ID=65351494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811116571.6A Active CN109358981B (zh) | 2018-09-25 | 2018-09-25 | 存储器读取错误纠正方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109358981B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756496B (zh) * | 2022-03-11 | 2024-06-04 | Tcl空调器(中山)有限公司 | Eeprom芯片的数据读取方法、系统、空调器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612119A (zh) * | 2003-10-29 | 2005-05-04 | 鸿富锦精密工业(深圳)有限公司 | 固态存储器的安全存储系统及方法 |
CN106326029A (zh) * | 2016-08-09 | 2017-01-11 | 浙江万胜智能科技股份有限公司 | 一种用于电力仪表的数据存储方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061669A1 (en) * | 2005-08-30 | 2007-03-15 | Major Karl L | Method, device and system for detecting error correction defects |
CN101183565B (zh) * | 2007-12-12 | 2011-02-16 | 深圳市硅格半导体有限公司 | 存储介质中数据校验方法 |
CN100562857C (zh) * | 2007-12-14 | 2009-11-25 | 华为技术有限公司 | 校验数据的方法和装置 |
CN106815153B (zh) * | 2015-12-02 | 2022-04-22 | 国民技术股份有限公司 | 一种安全存储方法、装置和系统 |
CN107733440B (zh) * | 2016-08-12 | 2022-12-02 | 中兴通讯股份有限公司 | 多边类型结构化ldpc处理方法及装置 |
KR20180061870A (ko) * | 2016-11-30 | 2018-06-08 | 삼성전자주식회사 | 메모리 모듈, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2018
- 2018-09-25 CN CN201811116571.6A patent/CN109358981B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612119A (zh) * | 2003-10-29 | 2005-05-04 | 鸿富锦精密工业(深圳)有限公司 | 固态存储器的安全存储系统及方法 |
CN106326029A (zh) * | 2016-08-09 | 2017-01-11 | 浙江万胜智能科技股份有限公司 | 一种用于电力仪表的数据存储方法 |
Non-Patent Citations (2)
Title |
---|
An enhanced block-coded modulation scheme with interblock memory;Shang-Chih Ma et al.;《WiMob"2005), IEEE International Conference on Wireless And Mobile Computing, Networking And Communications, 2005》;20051103;171-173 * |
麒麟加密文件系统数据块纠错技术的研究与实现;郑思;《中国优秀硕士学位论文全文数据库 信息科技辑》;中国学术期刊(光盘版)电子杂志社;20111215(第S1期);I138-1027 * |
Also Published As
Publication number | Publication date |
---|---|
CN109358981A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143107B (zh) | 一种fpga单粒子反转校验电路和方法 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN114328316B (zh) | Dma控制器、soc系统及基于dma控制器的数据搬运方法 | |
CN111104246B (zh) | 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质 | |
CN110704312B (zh) | 压力测试的方法、装置、计算机设备和存储介质 | |
CN110136769B (zh) | Otp寄存器数据修正方法、装置、计算机设备和存储介质 | |
WO2019168613A1 (en) | Artificial neural network integrity verification | |
CN112162924A (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN109358981B (zh) | 存储器读取错误纠正方法、系统、计算机设备和存储介质 | |
CN109671466B (zh) | 一种阈值电压调试方法、装置及电子设备 | |
CN110716823A (zh) | 用于连续验证器件状态完整性的系统和方法 | |
CN111428708A (zh) | 车牌校验方法、装置、计算机设备及存储介质 | |
CN115620781A (zh) | 用于固态硬盘的闪存控制器配置方法、装置、设备及介质 | |
CN114911647A (zh) | 多项式可配的并行crc硬件实现方法、装置和计算机设备 | |
CN115472209A (zh) | soft decode LDPC的硬件加速实现方法、装置和计算机设备 | |
CN112766067A (zh) | 3d人脸识别模组校准数据的获取方法、系统、计算机和存储介质 | |
KR102477168B1 (ko) | 디지털 시리얼 데이터 통신 장치 간에 노이즈 간섭에 따른 데이터 왜곡 복원 방법 | |
CN113778061B (zh) | 电子控制器程序完整性的校验方法、装置、电子控制器 | |
CN111863106B (zh) | 闪存纠错方法及装置 | |
CN117056149B (zh) | 一种内存测试方法、装置、计算设备及存储介质 | |
CN109686394B (zh) | Nand Flash Phy参数配置方法和装置 | |
US20190324852A1 (en) | Semiconductor integrated circuit, storage device, and error correction method | |
CN114047880B (zh) | 多Pass编程的NAND写入功耗优化方法、装置及计算机设备 | |
CN114185620B (zh) | 加速ssd固件加载实现方法、装置、计算机设备及存储介质 | |
CN115617587A (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 | ||
CB02 | Change of applicant information |
Address after: 519000 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |