CN106681855A - 一次性可编程存储装置以及对其进行数据校验的方法 - Google Patents
一次性可编程存储装置以及对其进行数据校验的方法 Download PDFInfo
- Publication number
- CN106681855A CN106681855A CN201510759862.7A CN201510759862A CN106681855A CN 106681855 A CN106681855 A CN 106681855A CN 201510759862 A CN201510759862 A CN 201510759862A CN 106681855 A CN106681855 A CN 106681855A
- Authority
- CN
- China
- Prior art keywords
- verification
- data
- check information
- unit
- area
- 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
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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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
- 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
一次性可编程存储装置包括存储阵列。存储阵列包括:数据存储区,用于存储应用数据;校验信息区,包括校验信息单元,每个校验信息单元包括:校验地址区域,用于存储校验地址信息,校验地址信息关联于数据存储区中待校验区域的地址;以及参考校验数据区域,用于存储参考校验数据,每个参考校验数据是基于一校验算法对待校验区域中存储的应用数据进行参考校验计算所得到的;校验处理器,用于根据校验地址信息从待校验区域读取应用数据,并且根据一选定的校验算法对应用数据进行自校验计算,以得到自校验结果;以及控制器,耦接到存储阵列和校验处理器,用于从校验处理器接收自校验结果,选择参考校验数据与自校验结果进行比较,并输出比较结果。
Description
技术领域
本申请涉及存储技术领域,更具体地,涉及一种一次性可编程存储装置以及对其进行数据校验的方法。
背景技术
为了满足不同用户对节目质量和节目类别的差异化需求,运营商可以通过用户付费方式向特定用户开放相应节目的观看权限,这已逐步成为当前电视运营的主流方式之一。为了实现对节目观看权限的控制,安全机顶盒被广泛使用。安全机顶盒主芯片内部通常会包括一次性可编程(OTP,One time programmable)存储空间,以存储某些应用数据。机顶盒芯片的OTP空间通常会存储有三种类型的数据内容。第一种内容是对于每颗芯片的OTP空间都相同的内容,如使能位、公共密钥等;第二种是对于每颗芯片的OTP空间中某些位每颗芯片都不一样的内容,如芯片序列号、唯一密钥。第三种是OTP空间的某些位的可能是随机值的内容。
出于一些原因,带有OTP存储空间的芯片可能需要进行二次检测或二次烧录,这通常可以利用自动测试设备(ATE,Auto-Test Equipment)来执行。一种常见的检测或烧录方法是在ATE烧录时制作并记录一检索文件库。检索文件库针对每颗芯片至少需记录以下两部分信息:1)每颗芯片的编号,每颗芯片的编号不同,该编号可用于在检索文件库中寻找到该芯片的记录信息,例如序列号(PID);2)记录需二次检查的OTP信息值,该信息值是直接记录又或是出于安全的考虑需加密存放,则根据系统需求决定。
当芯片需要ATE二次检测时,ATE机台读出该芯片的PID,并通过相同的算法计算或直接读取需检查的OTP信息值。ATE机台通过PID搜索烧录时保存的检索文件库,将当前读到的OTP信息值与文件库中保留的信息值进行比较,从而判断该OTP二次检测是否正确。当芯片需要二次烧录时,需按类似的方式重新制作并更新检索文件库。
但是,上述ATE测试方法比较复杂,会增加ATE测试的难度和成本。因此,有必要提供一种OTP存储装置能够实现较为简便的ATE测试。
发明内容
本申请的一个目的在于提供一种便于ATE测试的一次性可编程存储装置。
在本申请的一个方面,提供了一种一次性可编程存储装置。该存储装置包括存储阵列,所述存储阵列包括:数据存储区,用于存储应用数据;校验信息区,其包括至少一个校验信息单元,其中每个校验信息单元包括:校验地址区域,其用于存储校验地址信息,所述校验地址信息关联于所述数据存储区中待校验区域的地址;以及参考校验数据区域,其用于存储一个或多个参考校验数据,其中每个参考校验数据是基于一校验算法对所述待校验区域中存储的应用数据进行参考校验计算所得到的;校验处理器,用于根据所述校验地址信息从所述待校验区域读取应用数据,并且根据一选定的校验算法对所述应用数据进行自校验计算,以得到自校验结果;以及控制器,其耦接到所述存储阵列和所述校验处理器,用于从所述校验处理器接收所述自校验结果,选择参考校验数据来与所述自校验结果进行比较,并且输出所述比较结果。
可以看出,对于本申请的一次性可编程存储装置,其能够根据自身存储的参考校验数据来判断数据存储是否存在问题,而不需要由外部模块提供参考校验数据,这种数据校验较为简便,兼容性也较好。此外,对于一次性可编程存储装置外部的主控模块或其他模块,其仅能够得到数据校验的比较结果,而不能够获得待校验区域中存储的应用数据,因而这种一次性可编程存储装置的数据安全性也更好。
在一些实施例中,每个校验信息单元还包括算法选择区域,其用于存储校验算法标识,所述校验算法标识指示被选定的校验算法;所述控制器进一步用于根据所述校验算法标识来选择对所述应用数据进行校验计算的校验算法。
在一些实施例中,每个校验信息单元还包括数据选择区域,其用于存储参考校验数据选择标识,所述参考校验数据选择标识指示从所述一个或多个参考校验数据中选择的参考校验数据;所述控制器进一步用于根据所述参考校验数据标识来选择参考校验数据。
在一些实施例中,每个校验信息单元还包括单元控制区域,其用于存储单元控制标识,所述单元控制标识指示所述校验信息单元是否有效;所述控制器进一步用于根据每个校验信息单元中存储的单元控制标识来确定是否基于所述校验信息单元进行自校验。
在一些实施例中,所述校验信息区的至少一个校验信息单元是连续的,并且其中每个校验信息单元还包括校验控制区域,其用于存储校验控制标识,所述校验控制标识指示存储区域是否为校验信息单元;所述控制器进一步用于根据所述至少一个校验信息单元中存储的校验控制标识来确定是否进行自校验。
在一些实施例中,所述校验地址信息包括校验起始地址信息和校验长度信息。
在一些实施例中,所述校验信息区还包括全局信息单元,其用于存储起始地址单位和长度单位,所述控制器进一步根据所述校验起始地址信息和所述起始地址单位确定校验起始地址,以及根据所述校验长度信息和所述长度单位确定校验长度,从而根据所述校验起始地址和所述校验长度从所述待校验区域读取应用数据。
在一些实施例中,所述校验信息区被设置于所述存储阵列的起始位置或结束位置。
在本申请的另一方面,还提供了一种对一次性可编程存储装置进行数据校验的方法。所述一次性可编程存储装置包括存储阵列,所述存储阵列包括:数据存储区,用于存储应用数据;校验信息区,其包括至少一个校验信息单元,其中每个校验信息单元包括:校验地址区域,其用于存储校验地址信息,所述校验地址信息关联于所述数据存储区中待校验区域的地址;以及参考校验数据区域,其用于存储一个或多个参考校验数据,其中每个参考校验数据是基于一校验算法对所述待校验区域中存储的应用数据进行参考校验计算所得到的。所述方法包括:根据所述校验地址信息从所述待校验区域读取应用数据;根据一选定的校验算法对所述应用数据进行自校验计算,以得到自校验结果;以及选择参考校验数据来与所述自校验结果进行比较,以确定所存储的应用数据是否正确。
在一些实施例中,每个校验信息单元还包括算法选择区域,其用于存储校验算法标识,所述校验算法标识指示被选定的校验算法;所述方法进一步包括:根据所述校验算法标识来选择对所述应用数据进行校验计算的校验算法。
在一些实施例中,每个校验信息单元还包括数据选择区域,其用于存储参考校验数据选择标识,所述参考校验数据选择标识指示从所述一个或多个参考校验数据中选择的参考校验数据;所述方法进一步包括根据所述参考校验数据标识来选择参考校验数据。
在一些实施例中,每个校验信息单元还包括单元控制区域,其用于存储单元控制标识,所述单元控制标识指示所述校验信息单元是否有效;所述方法进一步包括:根据每个校验信息单元中存储的单元控制标识来确定是否基于所述校验信息单元进行自校验。
在一些实施例中,所述校验信息区的至少一个校验信息单元是连续的,并且其中每个校验信息单元还包括校验控制区域,其用于存储校验控制标识,所述校验控制标识指示存储区域是否为校验信息单元;所述方法进一步包括:根据所述至少一个校验信息单元中存储的校验控制标识来确定是否进行自校验。
在一些实施例中,所述校验地址信息包括校验起始地址信息和校验长度信息。
在一些实施例中,所述校验信息区还包括全局信息单元,其用于存储起始地址单位和长度单位;所述方法进一步包括:根据所述校验起始地址信息和所述起始地址单位确定校验起始地址,以及根据所述校验长度信息和所述长度单位确定校验长度,从而根据所述校验起始地址和所述校验长度从所述待校验区域读取应用数据。
以上为本申请的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本申请范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。
附图说明
通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本申请内容的上述和其他特征。可以理解,这些附图仅描绘了本申请内容的若干实施方式,因此不应认为是对本申请内容范围的限定。通过采用附图,本申请内容将会得到更加明确和详细地说明。
图1示出了根据本申请一个实施例的一次性可编程存储装置100;
图2示出了图1所示的存储阵列的一个示例性结构;
图3示出了根据本申请一个实施例的用于对一次性可编程装置进行数据校验的方法。
具体实施方式
在下面的详细描述中,参考了构成其一部分的附图。在附图中,类似的符号通常表示类似的组成部分,除非上下文另有说明。详细描述、附图和权利要求书中描述的说明性实施方式并非旨在限定。在不偏离本申请的主题的精神或范围的情况下,可以采用其他实施方式,并且可以做出其他变化。可以理解,可以对本申请中一般性描述的、在附图中图解说明的本申请内容的各个方面进行多种不同构成的配置、替换、组合,设计,而所有这些都明确地构成本申请内容的一部分。
图1示出了根据本申请一个实施例的一次性可编程存储装置100。在一些实施例中,该一次性可编程存储装置100可以被构造为单独的存储芯片;或者也可以被集成到一个集成电路芯片中,例如被集成到片上系统(SOC)芯片中,作为其中的一个模块来存储数据。
如图1所示,该一次性可编程存储装置100包括存储阵列102,该存储阵列102具有按行、列排布的多个可寻址的存储单元(图中未示出),并且每个存储单元用于存储1位(bit)数据。其中,每个存储单元可以被编程(也即被写入数据)一次,并且不同的存储单元可以被同时编程,或者被不同时编程。换言之,可以对存储阵列102中的一部分存储单元进行编程以写入数据,之后,再对另一部分存储单元进行编程(通常被称为二次编程或二次烧录)。在一些实施例中,存储阵列102中的多个存储单元可以构成一个字(word),例如32个存储单元构成一个字,也即单位字的位数为32。相应地,存储阵列102所包含的存储单元数量等于总字数乘以单位字的位数。
存储阵列102包括数据存储区104,其存储应用数据,也即用户实际希望保存的数据内容。例如,当用于机顶盒芯片时,应用数据可以包括使能位、公共密钥、芯片序列号、唯一密钥(私有密钥)等。
存储阵列102还包括校验信息区106,其存储用于对数据存储区104中存储的应用数据进行自校验的信息。其中,在此所述的自校验是指一次性可编程存储装置100无需从其外部(例如通过主控模块112从外部数据库或存储器)获取用于判断所校验的应用数据是否准确、无误地存储的参考校验数据,这是因为参考校验数据可以被预先烧录在存储阵列102中。
图2示出了图1所示的存储阵列的一个示例性结构。其中,存储阵列的每一行表示一个字。可以理解,图2所示的例子仅用于描述存储阵列可以采用的示例性结构,而并不作为对本发明的限制。
如图2所示,该存储阵列包括数据存储区104和校验信息区106。校验信息区106包括至少一个校验信息单元。其中每个校验信息单元用于指示对数据存储区104中的一特定区域中存储的应用数据进行校验。在图2所示的实施例中,每个校验信息单元占用两个字的存储空间,可以理解,在一些其他的实施例中,每个校验信息单元也可以占用一个字或更多个字的存储空间。此外需要说明的是,数据存储区104和校验信息区106的划分取决于其中存储数据内容以及相应的存储协议,这两个区域中存储单元的物理结构以及排列本身可以是相同的。
具体地,每个校验信息单元可以包括用于存储校验地址信息的校验地址区域,其中该校验地址信息关联于待校验区域的地址。在一些实施例中,校验地址信息可以包括校验起始地址和校验结束地址,或者可以包括校验起始地址和校验长度,再或者也可以包括校验结束地址和校验长度。在另一些实施例中,校验地址信息也可以是能够用于计算或确定校验起始地址、结束地址和/或长度的信息。例如,检验地址信息可以包括校验起始字序号、校验结束字序号和/或校验字长度;同时,校验信息区还可以提供一区域,例如图2所示的全局信息区120,用于存储与校验起始字序号、校验结束字序号和/或校验字长度对应的单位字长度。例如,校验起始地址等于校验起始字序号乘以校验起始字的单位字长度;校验长度等于校验字长度乘以单位字长度。通过这种方式来设置校验地址信息可以减少校验地址信息对存储阵列中存储空间的占用,特别是在存储阵列中包括较多个校验信息单元的情况下。
每个校验信息单元还包括参考校验数据区域,其存储一个或多个参考校验数据,其中每个参考校验数据是基于一校验算法对待校验区域中存储的应用数据进行参考校验计算所得到的。例如,在对数据存储区进行初次烧录(编程)时,数据存储区中的待校验区域中可以被写入数据。与此同时,利用校验算法来对被写入的应用数据进行校验计算,以得到校验数据。这样,可以将计算得到的校验数据写入到参考校验数据区域中,以作为参考校验数据。取决于参考校验数据区域的大小,一个或多个参考校验数据可以被写入到参考校验数据区域中。例如,在图2所示的校验信息单元1中,参考校验数据11是初次烧录时写入的,而参考校验数据12是二次烧录时写入的。其中,二次烧录可能会对待校验区域中某些位进行了数据更新,例如对数据存储区和校验信息单元进行了更新,因而需要提供更新的参考校验数据12。可以理解,在一些其他的实施例中,参考校验数据区域还可以存储三个或更多个参考校验数据,或者仅存储有一个参考校验数据。
仍参考图1所示,一次性可编程存储装置100还包括校验处理器108,其根据校验信息区106中存储的校验地址信息从待校验区域读取应用数据,并且根据一选定的校验算法对读取的应用数据进行自校验计算,以得到自校验结果。根据具体应用的需要,校验处理器108可以实施各种数据校验算法,例如CRC16算法、CRC32算法、MD5算法、签名算法等。
一次性可编程存储装置100还包括控制器110,其耦接到存储阵列102和校验处理器108。控制器110从校验处理器108接收计算得到的自校验结果,从校验信息区106中选择参考校验数据来与该自校验结果进行比较,并且输出比较结果。可以理解,计算所选择的参考校验数据的校验算法应与计算自校验结果所采用的校验算法一致。该比较结果指示了待校验区域存储的应用数据是否准确:如果自校验结果与参考校验数据一致,则说明应用数据的存储是准确、可靠的;反之,则认为该存储装置100存在问题。在图1中,控制器110还耦接到主控模块112,例如是中央处理器,以向其提供比较结果。
可以看出,对于一次性可编程存储装置100来说,其能够根据自身存储的参考校验数据来判断数据存储是否存在问题,而不需要由外部模块提供参考校验数据,这种数据校验较为简便,兼容性也较好。此外,对于一次性可编程存储装置100外部的主控模块或其他模块,其仅能够得到数据校验的比较结果,而不能够获得待校验区域中存储的应用数据,因而这种一次性可编程存储装置的数据安全性也更好。
在图1所示的实施例中,存储阵列102和校验处理器108是通过控制器110相互耦接以传输数据的;在一些其他的实施例中,存储阵列102也可以不经由控制器110而直接耦接到校验处理器108。在这种情况下,控制器110向校验处理器108发出校验指令,指示校验处理器108从存储阵列102读取数据以进行校验;之后,控制器110再从校验处理器108接收自校验结果。
再参考图2所示,正如前述,一个校验信息单元的参考校验数据区域可以仅存储一个参考校验数据,因此控制器可以将自校验结果与该参考校验数据进行比较。在另一些实施例中,一个校验信息单元的参考校验数据区域可以存储多个参考校验数据,这些参考校验数据可以分别是在初次烧录、二次烧录或后续烧录时根据所写入的数据计算得到的参考校验数据。因此,这些参考校验数据中至少有一个参考校验数据应当对应于一次性可编程存储装置最新存储的数据。在这种情况下,控制器可以选择读取所有的参考校验数据来与自校验结果进行比较,并且得到多个比较结果:如果多个比较结果中的一个比较结果指示自校验结果与对应的参考校验数据一致,通常即可认为自校验结果与最新写入的参考校验数据相同,因而确定一次性可编程存储装置没有出现存储故障。
替代地,控制器也可以从参考校验数据区域中存储的多个参考校验数据中选择一个参考校验数据,以与自校验结果进行比较。如果自校验结果与所选择的参考校验数据相同,则可以确定没有出现存储故障。相应地,每个校验信息单元可以包括数据选择区域,其用于存储参考校验数据选择标识。其中,参考校验数据选择标识指示从一个或多个参考校验数据中选择的参考校验数据。例如,图2所示的校验信息单元1中存储有参考校验数据11和参考校验数据12,那么数据选择区域可以存储1位的参考校验数据选择标识。控制器可以读取该参考校验数据选择标识,并且根据其具体值来选择对应的参考校验数据。例如,当该标识的值为“0”时,控制器可以选择参考校验数据11;而当该标识的值为“1”时,控制器可以选择参考校验数据12。通过参考校验数据选择标识的识别,控制器只需要进行一次参考校验数据的比较操作,因此效率更高。
由于每个校验信息单元中存储的参考校验数据是基于烧录时选择的校验算法计算得到的,因此在不同校验信息单元中存储的参考校验数据采用不同的校验算法计算的情况下,校验信息单元还可以包括算法选择区域。该算法选择区域用于存储校验算法标识,其中该校验算法标识指示计算参考校验数据的校验算法。相应地,在进行校验时,控制器或校验处理器可以从一个校验信息单元读取校验算法标识,并且根据该校验算法标识来选择对读取自待校验区域的应用数据进行校验计算的校验算法。例如,该校验算法标识可以为3位数据,最多可以指示8种校验算法。根据预先的定义,当该标识的值为“000”时,可以选择CRC16算法;而当该标识的值为“001”时,可以选择例如MD5算法,等等。
正如前述,校验信息区可以包括多个校验信息单元。这些校验信息单元可以分别指示对数据存储区一特定区域中存储的应用数据进行数据校验。在一些实施例中,控制器可以读取所有校验信息单元的校验信息,并且进行数据校验。在另一些实施例中,每个校验信息单元还可以包括用于存储单元控制标识的单元控制区域,该单元控制标识指示校验信息单元是否有效。相应地,控制器可以根据每个校验信息单元中存储的单元控制标识来确定是否基于该校验信息单元进行自校验。换言之,如果一个校验信息单元中存储的单元控制标识为有效,则控制器继续读取该校验信息单元的其他校验信息以进行校验;然而,如果控制器确定读取的单元控制标识为无效,则放弃该校验信息单元。单元控制区域中存储的单元控制标识的值可以默认设置为有效;当需要二次烧录时,根据校验需要,例如待校验区域的值被改变且没有空间写入新的参考校验数据,或者校验算法发生变化,则可以将该单元控制标识的值修改一次,也即修改为无效,以废弃该校验信息单元。优选地,可以将单元控制区域设置在校验信息单元的较高位或较低位,其读取顺序可以优先于校验地址信息和/或参考校验数据,以提高校验效率。
在一些实施例中,为了区分数据存储区和校验信息区,每个校验信息单元还可以包括校验控制区域,其用于存储校验控制标识,其校验控制标识指示该存储区域是否为校验信息单元。控制器可以根据所读取的校验控制标识来确定是否进行自校验。例如校验控制标识为1位数据以表示有效或无效,例如其值为“1”时表示该存储区域是校验信息单元,因而需要进行自校验;而当其值为“0”时表示该存储区域不是校验信息单元,因而不需要自校验。校验信息区的这些校验信息单元可以是连续的,例如被设置于存储阵列的起始位置或结束位置。例如,在图2所示的示例中,校验信息单元1和校验信息单元2的最高位均为“1”。在控制器读取存储阵列时,读取到这两个校验信息单元1和2对应字的最高位均为“1”,其即判定需要进行自校验。相反,对于与校验信息单元2相邻的缓冲区,其最高位被设置为“0”,那么控制器在读取到该值“0”时,则认为自校验可以结束。在一些实施例中,校验控制标识的值被默认设置为“0”,也即无效,仅当一个新的校验信息单元被写入后,该校验控制标识才被修改为“1”,也即有效,以指示需要进行相应的校验操作。优选地,在单元控制区域被设置在校验信息单元较高位的情况下,可以将校验控制区域设置在单元控制区域的较高位,以提高校验效率。
图3示出了根据本申请一个实施例的用于对一次性可编程存储装置进行数据校验的方法200。该方法200可以用于对图1和2所示的一次性可编程存储装置进行校验。接下来,结合图1至图3,对该方法200的具体步骤进行详述。
首先,自动测试装置或主控模块发出指令,控制器响应该指令启动数据校验。
接着,控制器读取校验信息区,开始进行数据校验。在一些实施例中,控制器可以在读取校验信息区中的每个校验信息单元之后,立即基于该校验信息单元存储的校验信息来控制校验处理器进行校验计算和比较。在另一些实施例中,控制器可以在读取所有校验信息单元之后,再对控制校验处理器进行校验计算。
具体地,在步骤S202中,控制器读取全局信息区,确定与校验起始字节序号、校验结束字序号和/或校验字长度对应的单位字长度。
在步骤S204中,控制器读取校验信息单元,例如校验信息单元1和/或校验信息单元2,以获得其中存储的各种校验相关的信息。
对于每个校验信息单元,在步骤S206中,控制器确定校验控制区域中存储的校验控制标识是否有效。如果校验控制标识无效,则进入步骤S207,校验结束,校验结果正确。因为当校验控制标识为无效(值为“0”)时,表示该存储区域不是校验信息单元,因而不需要自校验,即可返回校验结果正确,以便后续对一次性可编程存储装置的操作可以继续进行。在一些实施例中,有些一次性可编程存储装置中没有写入任何校验数据,也即不需要自校验,因此在一开始读取校验信息区时,所读取到的校验标识就是无效的。在一些实施例中,校验控制标识无效是指已无下一校验信息单元,即校验结束且返回校验正确的结果。如果校验控制标识有效,则继续步骤S208,控制器确定单元控制区域中存储的单元控制标识是否有效。如果单元控制标识无效,则继续步骤S210,读取下一个校验信息单元的校验信息;如果单元控制标识有效,则继续步骤S212,根据算法选择区域存储的校验算法标识,校验处理器选择对应的校验算法。接着,在步骤S214,根据校验地址区域存储的校验地址信息,数据存储区中存储的应用数据被读出,并且提供给校验处理器,以计算得到自校验结果。之后,在步骤S216,控制器根据参考校验数据选择标识从校验信息单元中选择对应的参考校验数据,并且将其与自校验结果进行比较。如果比较结果相同,则继续步骤S210,读取下一个校验信息单元的校验信息;但是如果比较结果不同,则继续步骤S218,校验结束,并且同时向主控模块反馈校验结果错误。可以理解,如果校验信息区包括多个参考校验数据但不包括参考校验数据选择标识,则在步骤S216中,控制器可以将多个参考校验数据和自校验结果进行比较:在自校验结果与多个参考校验数据均不同时,继续步骤S218;而在自校验结果与其中的一个参考校验数据相同时,继续步骤S210。
这样,根据控制器反馈的校验结果,主控模块即可判断被校验的一次性可编程存储装置是否存在数据存储错误,而不需要由主控模块或其他外部模块提供参考校验数据,这种数据校验较为简便,兼容性也较好。
本申请的一次性可编程存储装置特别适用于其内部数据发生二次或多次烧录的情况。
具体地,在进行二次烧录之前,一次性可编程存储装置中的部分存储区域已经被写入了应用数据。相应地,该存储装置的校验信息区中已写入了校验信息。例如,如图2所示,校验信息单元1的校验地址区域1被写入了校验地址信息,其指示数据存储区中待校验区域的地址。同时,校验信息单元1的算法选择区域被写入了相应的校验算法标识,而图1所示的参考校验数据11也被写入到校验信息单元1中。
因此,在进行二次烧录之前,可以首先检查待烧录的存储装置的存储功能是否正常,例如采用图2所示的流程进行验证。具体地,ATE机台可以读取校验地址信息以相应地读取数据存储区中对应区域的应用数据,并且利用校验算法标识所对应的校验算法来计算自校验结果。之后,ATE机台读取参考校验数据,并且将自校验结果与参考校验数据进行比较。如果比较结果显示这两者一致,则机台可以继续进行二次烧录操作。
在一些情况下,二次烧录的数据修改较少,例如当新数据写入全部或主要发生在校验地址区域1中已写入校验地址信息对应的存储区域时,ATE机台可以读取这一存储区域中全部写入的应用数据,并且采用原有校验算法确定新的参考校验数据,并且将该新的参考校验数据作为参考校验数据12写入到校验信息单元1中。相应地,校验信息单元1的数据选择区域的值可以被修改,以指示参考校验数据的更新,也即指示二次烧录后有效的参考校验数据由参考校验数据11变为参考校验数据12。对于二次烧录后的存储装置,当ATE机台再对其进行数据校验时,正如前述图2的流程所说明的,其会根据参考校验数据选择标识的值来选择读取参考校验数据12来用于自校验。
在另一些情况下,二次烧录可能会对存储装置进行较多的修改,例如数据存储区的大部分区域被新写入数据,校验信息单元1中原有的校验地址信息已不能够反映数据的变更。这时,可能需要扩大待校验区域的范围,因此需要对校验地址信息进行更新。由于校验信息单元1中的校验地址区域1已经被占用,因此,需要新增校验信息单元2并且在该校验信息单元2的校验地址区域2中写入新的校验地址信息。相应地,可以将在该校验信息单元2中写入新的参考校验数据21。由于原有的校验信息单元1中存储的校验信息已经不再使用,因此可以将校验信心单元1的单元控制区域中的单元控制标识设置为无效,而将新增的校验信息单元2的单元控制标识设置为有效。这样,对于二次烧录后的存储装置,当ATE机台再对其进行数据校验时,正如前述图2的流程所说明的,其会根据单元校验标识的判断结果来选择读取参考校验数据21来用于自校验。
在一些情况下,出于各种考虑,需要采用新的校验算法。这时,原有的校验信息单元1中存储的校验信息同样不能够使用。类似地,可以废弃校验信息单元1,并且新增一个或多个校验信息单元来更新校验算法以及对应的参考校验数据。相应地,当进行二次校验时,可以按照二次烧录更新的校验信息来进行数据校验,以确定存储装置的存储是否存在问题。
本技术领域的一般技术人员可以通过研究说明书、公开的内容及附图和所附的权利要求书,理解和实施对披露的实施方式的其他改变,上述实施方案仅仅是为了说明的目的而列举的示例,而不是对本申请的限制,本申请的实施方式可以通过硬件、软件或其组合的形式来实现。凡在本申请的教导和权利要求保护范围下所作的任何修改、等同替换等,均应包含在本申请要求保护的范围内。在权利要求中,措词“包括”不排除其他的元素和步骤,并且措辞“一”、“一个”不排除复数。在本申请的实际应用中,一个零件可能执行权利要求中所引用的多个技术特征的功能。权利要求中的任何附图标记不应理解为对范围的限制。
Claims (15)
1.一种一次性可编程存储装置,其特征在于,包括:
存储阵列,所述存储阵列包括:
数据存储区,用于存储应用数据;
校验信息区,其包括至少一个校验信息单元,其中每个校验信息单元包括:校验地址区域,其用于存储校验地址信息,所述校验地址信息关联于所述数据存储区中待校验区域的地址;以及参考校验数据区域,其用于存储一个或多个参考校验数据,其中每个参考校验数据是基于一校验算法对所述待校验区域中存储的应用数据进行参考校验计算所得到的;
校验处理器,用于根据所述校验地址信息从所述待校验区域读取应用数据,并且根据一选定的校验算法对所述应用数据进行自校验计算,以得到自校验结果;以及
控制器,其耦接到所述存储阵列和所述校验处理器,用于从所述校验处理器接收所述自校验结果,选择参考校验数据来与所述自校验结果进行比较,并且输出所述比较结果。
2.根据权利要求1所述的一次性可编程存储装置,其特征在于,每个校验信息单元还包括算法选择区域,其用于存储校验算法标识,所述校验算法标识指示被选定的校验算法;
所述控制器进一步用于根据所述校验算法标识来选择对所述应用数据进行校验计算的校验算法。
3.根据权利要求1所述的一次性可编程存储装置,其特征在于,每个校验信息单元还包括数据选择区域,其用于存储参考校验数据选择标识,所述参考校验数据选择标识指示从所述一个或多个参考校验数据中选择的参考校验数据;
所述控制器进一步用于根据所述参考校验数据标识来选择参考校验数据。
4.根据权利要求1所述的一次性可编程存储装置,其特征在于,每个校验信息单元还包括单元控制区域,其用于存储单元控制标识,所述单元控制标识指示所述校验信息单元是否有效;
所述控制器进一步用于根据每个校验信息单元中存储的单元控制标识来确定是否基于所述校验信息单元进行自校验。
5.根据权利要求1所述的一次性可编程存储装置,其特征在于,所述校验信息区的至少一个校验信息单元是连续的,并且其中每个校验信息单元还包括校验控制区域,其用于存储校验控制标识,所述校验控制标识指示存储区域是否为校验信息单元;
所述控制器进一步用于根据所述至少一个校验信息单元中存储的校验控制标识来确定是否进行自校验。
6.根据权利要求1所述的一次性可编程存储装置,其特征在于,所述校验地址信息包括校验起始地址信息和校验长度信息。
7.根据权利要求6所述的一次性可编程存储装置,其特征在于,所述校验信息区还包括全局信息单元,其用于存储起始地址单位和长度单位,
所述控制器进一步根据所述校验起始地址信息和所述起始地址单位确定校验起始地址,以及根据所述校验长度信息和所述长度单位确定校验长度,从而根据所述校验起始地址和所述校验长度从所述待校验区域读取应用数据。
8.根据权利要求1所述的一次性可编程存储装置,其特征在于,所述校验信息区被设置于所述存储阵列的起始位置或结束位置。
9.一种对一次性可编程存储装置进行数据校验的方法,其特征在于,所述一次性可编程存储装置包括存储阵列,所述存储阵列包括:
数据存储区,用于存储应用数据;
校验信息区,其包括至少一个校验信息单元,其中每个校验信息单元包括:校验地址区域,其用于存储校验地址信息,所述校验地址信息关联于所述数据存储区中待校验区域的地址;以及参考校验数据区域,其用于存储一个或多个参考校验数据,其中每个参考校验数据是基于一校验算法对所述待校验区域中存储的应用数据进行参考校验计算所得到的;
所述方法包括:
根据所述校验地址信息从所述待校验区域读取应用数据;
根据一选定的校验算法对所述应用数据进行自校验计算,以得到自校验结果;以及
选择参考校验数据来与所述自校验结果进行比较,以确定所存储的应用数据是否正确。
10.根据权利要求9所述的方法,其特征在于,每个校验信息单元还包括算法选择区域,其用于存储校验算法标识,所述校验算法标识指示被选定的校验算法;所述方法进一步包括:
根据所述校验算法标识来选择对所述应用数据进行校验计算的校验算法。
11.根据权利要求9所述的方法,其特征在于,每个校验信息单元还包括数据选择区域,其用于存储参考校验数据选择标识,所述参考校验数据选择标识指示从所述一个或多个参考校验数据中选择的参考校验数据;所述方法进一步包括根据所述参考校验数据标识来选择参考校验数据。
12.根据权利要求9所述的方法,其特征在于,每个校验信息单元还包括单元控制区域,其用于存储单元控制标识,所述单元控制标识指示所述校验信息单元是否有效;所述方法进一步包括:
根据每个校验信息单元中存储的单元控制标识来确定是否基于所述校验信息单元进行自校验。
13.根据权利要求9所述的方法,其特征在于,所述校验信息区的至少一个校验信息单元是连续的,并且其中每个校验信息单元还包括校验控制区域,其用于存储校验控制标识,所述校验控制标识指示存储区域是否为校验信息单元;所述方法进一步包括:
根据所述至少一个校验信息单元中存储的校验控制标识来确定是否进行自校验。
14.根据权利要求9所述的方法,其特征在于,所述校验地址信息包括校验起始地址信息和校验长度信息。
15.根据权利要求14所述的方法,其特征在于,所述校验信息区还包括全局信息单元,其用于存储起始地址单位和长度单位;所述方法进一步包括:
根据所述校验起始地址信息和所述起始地址单位确定校验起始地址,以及根据所述校验长度信息和所述长度单位确定校验长度,从而根据所述校验起始地址和所述校验长度从所述待校验区域读取应用数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510759862.7A CN106681855B (zh) | 2015-11-10 | 2015-11-10 | 一次性可编程存储装置以及对其进行数据校验的方法 |
US15/014,028 US9740561B2 (en) | 2015-11-10 | 2016-02-03 | One-time programmable memory device and method for verifying data for such memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510759862.7A CN106681855B (zh) | 2015-11-10 | 2015-11-10 | 一次性可编程存储装置以及对其进行数据校验的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106681855A true CN106681855A (zh) | 2017-05-17 |
CN106681855B CN106681855B (zh) | 2019-07-05 |
Family
ID=58663426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510759862.7A Active CN106681855B (zh) | 2015-11-10 | 2015-11-10 | 一次性可编程存储装置以及对其进行数据校验的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9740561B2 (zh) |
CN (1) | CN106681855B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329850A (zh) * | 2017-05-26 | 2017-11-07 | 杭州赫智电子科技有限公司 | 一种满足海量读写次数操作的存储器及数据存储方法 |
CN107329703A (zh) * | 2017-06-30 | 2017-11-07 | 武汉日新科技照明有限公司 | 动态存储方法、装置及系统 |
CN108363640A (zh) * | 2018-03-01 | 2018-08-03 | 深圳市道通智能航空技术有限公司 | 数据校验方法及装置、计算机可读存储介质 |
CN109413452A (zh) * | 2018-09-30 | 2019-03-01 | 武汉斗鱼网络科技有限公司 | 基于不同方式的弹幕校验方法、装置、终端及存储介质 |
CN110825557A (zh) * | 2019-04-23 | 2020-02-21 | 上海安路信息科技有限公司 | 存储方法及存储系统 |
CN111274311A (zh) * | 2018-12-05 | 2020-06-12 | 聚好看科技股份有限公司 | 一种跨机房数据库的数据同步方法和装置 |
CN112634976A (zh) * | 2020-12-17 | 2021-04-09 | 苏州兆方微电子科技有限公司 | 芯片校准方法、装置、存储介质和芯片 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210149881A1 (en) * | 2019-11-14 | 2021-05-20 | Ghangorcloud, Inc | Method and system for identifying information objects using deep ai-based knowledge objects |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0969421A2 (de) * | 1993-12-21 | 2000-01-05 | Francotyp-Postalia Aktiengesellschaft & Co. | Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen |
KR20140110579A (ko) * | 2013-03-08 | 2014-09-17 | 창원대학교 산학협력단 | 이퓨즈 otp 메모리 장치 |
CN104422865A (zh) * | 2013-08-22 | 2015-03-18 | 上海海尔集成电路有限公司 | 晶圆级一次性编程otp芯片测试方法及装置 |
CN104956445A (zh) * | 2013-01-29 | 2015-09-30 | 高通股份有限公司 | 一次性可编程元件的检错和纠错 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8046571B1 (en) * | 2006-12-18 | 2011-10-25 | Marvell International Ltd. | System-on-a-chip (SoC) security using one-time programmable memories |
US9304857B2 (en) * | 2011-12-12 | 2016-04-05 | Cleversafe, Inc. | Retrieving data from a distributed storage network |
KR102065665B1 (ko) * | 2013-10-17 | 2020-01-13 | 삼성전자 주식회사 | 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법 |
-
2015
- 2015-11-10 CN CN201510759862.7A patent/CN106681855B/zh active Active
-
2016
- 2016-02-03 US US15/014,028 patent/US9740561B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0969421A2 (de) * | 1993-12-21 | 2000-01-05 | Francotyp-Postalia Aktiengesellschaft & Co. | Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen |
CN104956445A (zh) * | 2013-01-29 | 2015-09-30 | 高通股份有限公司 | 一次性可编程元件的检错和纠错 |
KR20140110579A (ko) * | 2013-03-08 | 2014-09-17 | 창원대학교 산학협력단 | 이퓨즈 otp 메모리 장치 |
CN104422865A (zh) * | 2013-08-22 | 2015-03-18 | 上海海尔集成电路有限公司 | 晶圆级一次性编程otp芯片测试方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329850A (zh) * | 2017-05-26 | 2017-11-07 | 杭州赫智电子科技有限公司 | 一种满足海量读写次数操作的存储器及数据存储方法 |
CN107329850B (zh) * | 2017-05-26 | 2021-05-14 | 杭州赫智电子科技有限公司 | 一种满足海量读写次数操作的存储器及数据存储方法 |
CN107329703A (zh) * | 2017-06-30 | 2017-11-07 | 武汉日新科技照明有限公司 | 动态存储方法、装置及系统 |
CN107329703B (zh) * | 2017-06-30 | 2020-12-04 | 武汉日新科技照明有限公司 | 动态存储方法、装置及系统 |
CN108363640A (zh) * | 2018-03-01 | 2018-08-03 | 深圳市道通智能航空技术有限公司 | 数据校验方法及装置、计算机可读存储介质 |
WO2019165794A1 (zh) * | 2018-03-01 | 2019-09-06 | 深圳市道通智能航空技术有限公司 | 数据校验方法及装置、计算机可读存储介质 |
CN108363640B (zh) * | 2018-03-01 | 2020-10-30 | 深圳市道通智能航空技术有限公司 | 数据校验方法及装置、计算机可读存储介质 |
CN109413452A (zh) * | 2018-09-30 | 2019-03-01 | 武汉斗鱼网络科技有限公司 | 基于不同方式的弹幕校验方法、装置、终端及存储介质 |
CN111274311A (zh) * | 2018-12-05 | 2020-06-12 | 聚好看科技股份有限公司 | 一种跨机房数据库的数据同步方法和装置 |
CN110825557A (zh) * | 2019-04-23 | 2020-02-21 | 上海安路信息科技有限公司 | 存储方法及存储系统 |
CN110825557B (zh) * | 2019-04-23 | 2020-12-22 | 上海安路信息科技有限公司 | 存储方法及存储系统 |
CN112634976A (zh) * | 2020-12-17 | 2021-04-09 | 苏州兆方微电子科技有限公司 | 芯片校准方法、装置、存储介质和芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN106681855B (zh) | 2019-07-05 |
US20170132078A1 (en) | 2017-05-11 |
US9740561B2 (en) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681855A (zh) | 一次性可编程存储装置以及对其进行数据校验的方法 | |
US8699714B2 (en) | Distributed PUF | |
US9390278B2 (en) | Systems and methods for code protection in non-volatile memory systems | |
US8489888B2 (en) | Processor apparatus having a security function | |
US8429326B2 (en) | Method and system for NAND-flash identification without reading device ID table | |
TWI467591B (zh) | 於非揮發記憶體系統中損壞區塊隔離的方法及其相關非揮發記憶體器件 | |
US20140100807A1 (en) | Chip authentication using multi-domain intrinsic identifiers | |
US9442833B1 (en) | Managing device identity | |
CN103377140B (zh) | 存储控制设备、存储设备、信息处理系统和处理方法 | |
US20090128570A1 (en) | Method And System For Automatically Analyzing GPU Test Results | |
CN104573572B (zh) | 加密读写芯片标识符的方法 | |
CN109074850A (zh) | 向一次性编程数据提供安全性的系统和方法 | |
TWI663604B (zh) | 操作具非揮發性記憶胞電路的方法及使用所述方法的電路 | |
KR101532363B1 (ko) | 다중 액세스 레벨을 갖는 반도체 장치 및 그것의 액세스 제어 방법 | |
US20070174622A1 (en) | Protection of data of a memory associated with a microprocessor | |
JP2016509731A (ja) | メモリ・デバイスの内容を保護するための方法およびメモリ・デバイス | |
KR20210130240A (ko) | 암호화 해시를 사용하여 메모리에 저장된 데이터 검정 | |
CN102971984B (zh) | 认证存储设备的方法和主机设备 | |
CN105225698B (zh) | 一种列修复方法和装置 | |
CN115168115B (zh) | 一种基于otp模块的数据修复方法、otp控制器以及芯片 | |
KR20150094178A (ko) | 보안 장치 및 보안 장치의 제어 방법 | |
US9619647B2 (en) | Integrated circuit access | |
WO2016066099A1 (en) | Anti-counterfeiting of component | |
CN101470666B (zh) | 一种数据存储方法 | |
CN103377348B (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 | ||
CB02 | Change of applicant information |
Address after: A6, No. 900 Yishan Road, Xuhui District, Shanghai, 2003 Applicant after: Lanqi Technology Co., Ltd. Address before: Room A1601, 900 Yishan Road, Xuhui District, Shanghai, 2003 Applicant before: Acrospeed, Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |