CN114398013B - Nand存储器安全代码生成模块和生成方法、以及nand存储器 - Google Patents

Nand存储器安全代码生成模块和生成方法、以及nand存储器 Download PDF

Info

Publication number
CN114398013B
CN114398013B CN202210093628.5A CN202210093628A CN114398013B CN 114398013 B CN114398013 B CN 114398013B CN 202210093628 A CN202210093628 A CN 202210093628A CN 114398013 B CN114398013 B CN 114398013B
Authority
CN
China
Prior art keywords
information
nand memory
crc code
cam
register value
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
Application number
CN202210093628.5A
Other languages
English (en)
Other versions
CN114398013A (zh
Inventor
李炯尚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongxin Semiconductor Co ltd
Original Assignee
Dongxin Semiconductor Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dongxin Semiconductor Co ltd filed Critical Dongxin Semiconductor Co ltd
Priority to CN202210093628.5A priority Critical patent/CN114398013B/zh
Publication of CN114398013A publication Critical patent/CN114398013A/zh
Priority to PCT/CN2022/124444 priority patent/WO2023142523A1/zh
Application granted granted Critical
Publication of CN114398013B publication Critical patent/CN114398013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种NAND存储器安全代码生成模块和生成方法、以及内置有该NAND存储器安全代码生成模块的NAND存储器,该NAND存储器安全代码生成模块包括:CAM信息读取单元,该CAM信息读取单元对所述NAND存储器中的CAM信息进行读取;寄存器值更新单元,该寄存器值更新单元针对所述CAM信息读取单元读取到的所述CAM信息,对与各个所述CAM信息相对应的寄存器值进行更新;CRC码生成单元,该CRC码生成单元利用由所述寄存器值更新单元更新后的所述寄存器值来生成CRC码;以及安全代码存储单元,该安全代码存储单元更新并存储由所述CRC码生成单元生成的CRC码。

Description

NAND存储器安全代码生成模块和生成方法、以及NAND存储器
技术领域
本发明涉及半导体技术领域,尤其涉及NAND存储器安全代码生成模块和生成方法、以及内置有该NAND存储器安全代码生成模块的NAND存储器。
背景技术
NAND存储器是一种大容量的存储芯片,其特点是容量密度大,制造成本低,访问速度快,通常作为U盘、固态盘、存储卡等设备上的存储芯片。
对于NAND存储器而言,用户数据的安全性是一个很重要的话题。为了避免非法的用户访问和非法复制,通常会对写入的数据进行加密,同时还可以设置用于特定用户访问的安全代码。
在现有技术中,随着半导体技术的不断发展,为了制作这样的安全代码,供应商通常会放置具有较大面积的弊端的特殊IP,例如采用RPMC(Replay-Protected MonotonicCounter:应答保护单调计算器)嵌入式安全技术。
目前,在设计含有RPMC的NAND存储器时,通常会把大容量NAND存储器和RPMC集成在一个芯片上,即RPMC电路和NAND存储器芯片—起设计。但是,这种设计方法存在以下缺点:由于需要将NAND存储器和RPMC集成在一个芯片上,因此单片芯片的面积大、封装面积大,导致设计成本较高;并且RPMC电路和NAND存储器—起设计,导致芯片设计复杂度高、设计周期长,尤其是RPMC在做需要大量的寄存器的运算(如HMAC(Hash-basedMessageAuthentication Code,哈希运算消息认证码)运算)时,需要大量的寄存器,将不可避免地导致芯片面积过大。
因此,这会为制作小尺寸的芯片并获得利润带来非常大的负担。
为了解决上述问题,本发明提供一种NAND存储器安全代码生成模块和生成方法、以及内置有该NAND存储器安全代码生成模块的NAND存储器。通过使用NAND存储器中的CAM信息数据来生成唯一的安全代码,从而各个NAND存储器都能够使用各自不同的CAM信息数据来获得唯一的安全代码,而无需放置任何特殊IP、也无需增加芯片尺寸,进而能够避免存储器受到任何非法访问和非法复制,在提高NAND存储器数据安全性的同时,实现NAND存储器芯片的小型化。
发明内容
本发明的第一方面在于提供一种NAND存储器安全代码生成模块,其特征在于,包括:
CAM信息读取单元,该CAM信息读取单元对所述NAND存储器中的CAM信息进行读取;
寄存器值更新单元,该寄存器值更新单元针对所述CAM信息读取单元读取到的所述CAM信息,对与各个所述CAM信息相对应的寄存器值进行更新;
CRC码生成单元,该CRC码生成单元利用由所述寄存器值更新单元更新后的所述寄存器值来生成CRC码;以及
安全代码存储单元,该安全代码存储单元更新并存储由所述CRC码生成单元生成的CRC码。
本发明的第二方面在于,在第一方面所涉及的NAND存储器安全代码生成模块中,所述CAM信息包括配置信息、修复列信息、坏块信息、以及修复块信息。
本发明的第三方面在于,在第二方面所涉及的NAND存储器安全代码生成模块中,所述CAM信息读取单元分别对所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息进行读取,所述CRC码生成单元最终生成包含所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息在内的所述CRC码,并设为所述NAND存储器的唯一的安全代码。
本发明的第四方面在于,在第二方面所涉及的NAND存储器安全代码生成模块中,所述寄存器值更新单元分别对与所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息相对应的寄存器值进行更新。
本发明的第五方面在于,在第四方面所涉及的NAND存储器安全代码生成模块中,所述CRC码生成单元进行下述动作:
基于所述寄存器值更新单元更新后的与所述配置信息相对应的寄存器值来生成第一CRC码;
基于所述寄存器值更新单元更新后的与所述修复列信息相对应的寄存器值、以及所述第一CRC码来生成第二CRC码;
基于所述寄存器值更新单元更新后的与所述坏块信息相对应的寄存器值、以及所述第二CRC码来生成第三CRC码;
基于所述寄存器值更新单元更新后的与所述修复块信息相对应的寄存器值、以及所述第三CRC码来生成第四CRC码,
将所述第四CRC码设为所述NAND存储器的唯一的安全代码。
本发明的第六方面在于,在第二方面所涉及的NAND存储器安全代码生成模块中,所述CAM信息还包括OPT保护信息和块保护信息。
本发明的第七方面在于,在第一方面所涉及的NAND存储器安全代码生成模块中,所述CAM信息读取单元在所述NAND存储器每次上电复位时进行所述CAM信息读取。
本发明的第八方面在于提供一种NAND存储器安全代码生成方法,其特征在于,在所述NAND存储器每次上电复位时进行下述步骤:
分别读取所述NAND存储器中的多个CAM信息数据的CAM信息数据读取步骤;
分别更新与读取到的多个CAM信息数据相对应的寄存器值的寄存器值更新步骤;
利用更新的所述寄存器值来生成CRC码的CRC码生成步骤;以及
对所生成的所述CRC码进行更新并存储的CRC码存储步骤。
本发明的第九方面在于,在第八方面所涉及的NAND存储器安全代码生成方法中,多个CAM信息数据是配置信息、修复列信息、坏块信息、以及修复块信息。
本发明的第十方面在于,在第九方面所涉及的NAND存储器安全代码生成方法,其特征在于,在所述CRC码生成步骤中,最终生成包含所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息在内的所述CRC码,并设为所述NAND存储器的唯一的安全代码。
本发明的第十一方面在于提供一种NAND存储器,其特征在于,包括第一方面至第七方面中的任一项的NAND存储器安全代码生成模块。
附图说明
图1是表示本发明的实施方式1所涉及的NAND存储器安全代码生成模块的框图。
图2是表示本发明的实施方式1所涉及的CAM信息读取单元对NAND存储器中的各种CAM信息进行读取的动作的流程图。
图3是表示本发明的实施方式1所涉及的CRC码生成单元生成唯一的安全代码的动作的流程图。
图4是表示本发明的实施方式2所涉及的NAND存储器安全代码生成方法的流程图。
图5是表示本发明的实施方式3所涉及的内置有NAND存储器安全代码生成模块的NAND存储器的解锁方法的流程图。
具体实施方式
以下将通过参考附图中示出的具体实施例来对本发明进行更具体描述。附图中的流程图和框图显示了根据本发明的实施例的***、方法可能实现的体系架构、功能和操作。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
此外,通过阅读下文具体实施方式的详细描述,本发明的各种优点和益处对于本领域普通技术人员将变得清楚明了。然而应当理解,可以以各种形式实现本发明而不应被这里阐述的各实施方式所限制。提供以下实施方式是为了能够更透彻地理解本发明。除非另有说明,本发明使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
实施方式1
在NAND内部,具有被称为“CAM信息”的独特信息。该CAM信息包括配置信息(Configuration information)、修复列信息(Repair column information)、坏块信息(Bad block information)、以及修复块信息(Repair block information)。
其中,配置信息包括:带隙修调(BandGap trim)、OSC修调、PUMP OSC修调等特殊修调数据;P/E启动电压、VPASS电压、VREAD电压、编程验证电压(Program verify voltage)、选定读取电压(Selected read voltage)等操作目标电压;以及其他配置寄存器数据。修复列信息包括针对失败列的修复列地址信息。坏块信息包括针对失败块的坏块地址信息。修复块信息包括针对失败块的修复块地址信息。
此外,CAM信息还包括其他的特殊信息,例如OPT保护、块保护等信息。
发明人研究发现,在各个不同的NAND存储器芯片中,CAM信息数据互不相同。具体而言,关于配置信息,对于各个不同的NAND存储器芯片,带隙修调、OSC修调、PUMP OSC修调等特殊修调数据有可能不同,P/E启动电压也有可能不同。关于修复列信息、坏块信息以及修复块信息,对于各个不同的NAND存储器芯片,这些信息必然是不同的。这是因为,各个不同的NAND存储器芯片有着不同的缺陷,彼此之间不可能相同。
倘若使用在各个NAND存储器芯片中不同的CAM信息数据,那么就能够在各个NAND存储器芯片上生成唯一的安全代码,而无需放置具有较大面积的弊端的特殊IP来避免非法访问和非法复制。
鉴于此,在本发明的实施方式1中,提供一种NAND存储器安全代码生成模块,通过使用NAND存储器中的CAM信息数据来生成唯一的安全代码。以下,参照附图来对本发明的实施方式1所涉及的NAND存储器安全代码生成模块进行详细说明。
图1是表示本发明的实施方式1所涉及的NAND存储器安全代码生成模块100的框图。
如图1所示,实施方式1所涉及的NAND存储器安全代码生成模块100包括CAM信息读取单元101、寄存器值更新单元102、CRC码生成单元103、以及安全代码存储单元104。
CAM信息读取单元101对NAND存储器中的各种CAM信息进行读取,例如配置信息、修复列信息、坏块信息以及修复块信息等。在一些实施方式中,该CAM信息还包括OPT保护、块保护等信息等。
寄存器值更新单元102针对CAM信息读取单元101所读取的CAM信息,对与之相对应的各寄存器值进行更新。例如,在读取配置信息后,针对该配置信息,寄存器值更新单元102对CNF寄存器值进行更新;在读取修复列信息后,针对该修复列信息,对修复列寄存器值进行更新;在读取坏块信息后,针对该坏块信息,对坏块寄存器值进行更新;以及在读取修复块信息后,针对该修复块信息,对修复块寄存器值进行更新。此外,在一些实施方式中,该寄存器值更新单元102还可以与OPT保护、块保护等信息相关的寄存器值进行更新。
CRC码生成单元利用由寄存器值更新单元102更新后的寄存器值,基于CRC(循环冗余码)算法来生成CRC码。
由CRC码生成单元生成的CRC码最终被更新并存储到例如为32位寄存器的安全代码存储单元104,仅供特殊用户进行访问。
此外,在CAM信息读取单元101完成了所有的CAM信息的读取的情况下,将此时的安全代码存储单元104中所存储的CRC码设为该NAND存储器的唯一的安全代码。
以下,依次对上述各单元的动作进行详细说明。
图2是表示本发明的实施方式1所涉及的CAM信息读取单元101对NAND存储器中的各种CAM信息进行读取的动作的流程图。
如图2所示,在NAND存储器上电复位(POR)后,在步骤S101中,CAM信息读取单元101启动,开始进行各种CAM信息数据的读取。
在步骤S102中,CAM信息读取单元101首先对CAM信息数据中的配置信息进行读取。然后在步骤S103中,由寄存器值更新单元102针对读取获得的配置信息来对CNF寄存器值进行更新。
在完成CNF寄存器值的更新后,在步骤S104中,CAM信息读取单元101对CAM信息数据中的修复列信息进行读取。然后在步骤S105中,由寄存器值更新单元102针对读取获得的修复列信息来对修复列寄存器值进行更新。
在完成修复列寄存器值的更新后,在步骤S106中,CAM信息读取单元101对CAM信息数据中的坏块信息进行读取。然后在步骤S107中,由寄存器值更新单元102针对读取获得的坏块信息来对坏块寄存器值进行更新。
在完成坏块寄存器值的更新后,在步骤S108中,CAM信息读取单元101对CAM信息数据中的修复块信息进行读取。然后在步骤S109中,由寄存器值更新单元102针对读取获得的修复块信息来对修复块寄存器值进行更新。
至此,CAM信息读取单元101的CAM信息数据读取完成。
在一些实施方式中,在CAM信息中还包括OPT保护、块保护等信息的情况下,同样地,CAM信息读取单元101也对这些信息数据进行读取,并由寄存器值更新单元102针对所读取的CAM信息数据来对相关的寄存器值进行更新。
图3是表示本发明的实施方式1所涉及的CRC码生成单元103生成唯一的安全代码的动作的流程图。
在步骤S201中,CRC码生成单元103基于CAM信息读取单元101所读取的配置信息,使用CRC算法来生成第一CRC码,记为CRC_Code_0<31:0>。
具体而言,在步骤S103中由寄存器值更新单元102针对步骤S102中读取获得的配置信息来对CNF寄存器值完成更新之后,CRC码生成单元103利用所有的CNF寄存器值,来生成基于CAM信息数据的第一次读取即配置信息的读取的第一CRC码。该第一CRC码包含对CAM信息数据进行第一次读取的结果,即包含CAM信息数据中的配置信息数据。然后,将所生成的该第一CRC码CRC_Code_0<31:0>存储到安全代码存储单元104中。
接着,在步骤S202中,CRC码生成单元103基于CAM信息读取单元101所读取的修复列信息以及在步骤S201中生成的第一CRC码,使用CRC算法来生成第二CRC码,记为CRC_Code_1<31:0>。
具体而言,在步骤S105中由寄存器值更新单元102针对步骤S104中读取获得的修复列信息来对修复列寄存器值完成更新之后,CRC码生成单元103利用所有的修复列寄存器值以及在步骤S201中生成的第一CRC码,来生成基于CAM信息数据的第一次读取及第二次读取的第二CRC码。该第二CRC码包含对CAM信息数据进行第一次读取的结果、即配置信息数据,还包含对CAM信息数据进行第二次读取的结果、即修复列信息数据。然后,将所生成的该第二CRC码CRC_Code_1<31:0>更新并存储到安全代码存储单元104中。
接着,在步骤S203中,CRC码生成单元103基于CAM信息读取单元101所读取的坏块信息以及在步骤S202中生成的第二CRC码,使用CRC算法来生成第三CRC码,记为CRC_Code_2<31:0>。
具体而言,在步骤S107中由寄存器值更新单元102针对步骤S106中读取获得的坏块信息来对坏块寄存器值完成更新之后,CRC码生成单元103利用所有的坏块寄存器值以及在步骤S202中生成的第二CRC码,来生成基于CAM信息数据的第一次读取、第二次读取及第三次读取的第三CRC码。该第三CRC码包含对CAM信息数据进行第一次读取的结果、即配置信息数据;对CAM信息数据进行第二次读取的结果、即修复列信息数据;以及对CAM信息数据进行第三次读取的结果、即坏块信息数据。然后,将所生成的该第三CRC码CRC_Code_2<31:0>更新并存储到安全代码存储单元104中。
最后,在步骤S204中,同样地,CRC码生成单元103基于CAM信息读取单元101所读取的修复块信息以及在步骤S203中生成的第三CRC码,使用CRC算法来生成第四CRC码,记为CRC_Code_3<31:0>。
具体而言,在步骤S109中由寄存器值更新单元102针对步骤S108中读取获得的修复块信息来对修复块寄存器值完成更新之后,CRC码生成单元103利用所有的修复块寄存器值以及在步骤S203中生成的第三CRC码,来生成基于CAM信息数据的第一次读取、第二次读取、第三次读取及第四次读取的第四CRC码。该第四CRC码包含对CAM信息数据进行第一次读取的结果、即配置信息数据;对CAM信息数据进行第二次读取的结果、即修复列信息数据;对CAM信息数据进行第三次读取的结果、即坏块信息数据;以及对CAM信息数据进行第四次读取的结果、即修复块信息。然后,将所生成的该第四CRC码CRC_Code_3更新并存储到安全代码存储单元104中。第四CRC码CRC_Code_3<31:0>是基于所有的CAM信息数据而生成的最终且唯一的CRC码。
关于所生成的CRC码,例如基于CRC-32-IEEE 802.3以下述方式来实现:
-多项式(Polynomial):x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
-数据输入(Data input):8bits
-初始值(Initial value):0xA5A5A5A5(捕获失败、即使数据全为“1”或全为“0”)
-约定(Convention):第一串行数据位为D(7)(MSB)
上述CRC码实现方式仅为示例,只要能够基于上述CAM信息数据来生成CRC码即可,可以采用本领域中其他的公知方式。
在所有的CAM信息数据都被读取之后,将CRC码生成单元103最终生成的上述第四CRC码CRC_Code_3<31:0>更新并存储到安全代码存储单元104中,并将该第四CRC码CRC_Code_3<31:0>设为最终的唯一的安全代码,以供特殊用户访问。安全代码存储单元104例如设为32位寄存器,但并不限于此。
在一些实施方式中,在CAM信息中还包括OPT保护、块保护等信息的情况下,同样地,CRC码生成单元103以与上述相同的方式来生成最终的CRC码并将其更新存储于安全代码存储单元104即可。此处的CRC码是基于包含OPT保护、块保护等信息在内的所有的CAM信息数据而生成的最终且唯一的CRC码。
至此,在上电复位(POR)阶段后,经过一系列处理,NAND存储器能够获得32位的唯一的安全代码。该唯一的安全代码供特殊用户访问。
此外,上述实施方式1示出了依次读取CAM信息数据中的配置信息、修复列信息、坏块信息、修复块信息等的示例,但读取的顺序并不限于此。只要能够读取所有的CAM信息数据并生成包含这些CAM信息数据的唯一的CRC码即可,可以以任意方式和顺序来读取这些数据。
通过采用实施方式1所涉及的NAND存储器安全代码生成模块,通过使用NAND存储器中的CAM信息数据来生成唯一的安全代码,从而各个NAND存储器都能够使用各自不同的CAM信息数据来获得唯一的安全代码,而无需放置任何特殊IP、也无需增加芯片尺寸,进而能够避免存储器受到任何非法访问和非法复制。在提高NAND存储器数据安全性的同时,实现NAND存储器芯片的小型化。
实施方式2
图4是表示本发明的实施方式2所涉及的NAND存储器安全代码生成方法的流程图。下面,基于图4对本发明的实施方式2所涉及的NAND存储器安全代码生成方法进行说明。在下述说明中,关于与上述实施方式1相同的部分进行了省略,不再赘述。
如图4所示,首先NAND存储器芯片上电复位(POR)。
接着,在步骤S301中,由CAM信息读取单元101读取CAM信息数据,包括但不限于配置信息、修复列信息、坏块信息以及修复块信息,然后前进到步骤S302。
在步骤S302中,寄存器值更新单元102更新与读取到的CAM信息数据相对应的寄存器值,然后前进到步骤S303。
在步骤S303中,CRC码生成单元103利用更新的寄存器值来生成CRC码,然后前进到步骤S304。
在步骤S304中,将所生成的CRC码更新并存储于安全代码存储单元104。
接着在步骤S305中,判定是否已读取了所有的CAM信息数据。若判定为已读取了所有的CAM信息数据,则将安全代码存储单元104中所存储的CRC码设定作为最终的唯一的安全代码。若判定为未读取所有的CAM信息数据,则返回步骤S301,重复执行步骤S301~步骤S305,直至读取完成所有的CAM信息数据。
在本实施方式2中,通过使用NAND存储器中的CAM信息数据来生成唯一的安全代码,从而各个NAND存储器都能够使用各自不同的CAM信息数据来获得唯一的安全代码,而无需放置任何特殊IP、也无需增加芯片尺寸,进而能够避免存储器受到任何非法访问和非法复制,在提高NAND存储器数据安全性的同时,实现NAND存储器芯片的小型化。
实施方式3
图5是表示本发明的实施方式3所涉及的内置有NAND存储器安全代码生成模块100的NAND存储器的解锁方法的流程图。
实施方式3所涉及的NAND存储器内置有NAND存储器安全代码生成模块100。以下,基于图5说明用户对内置有NAND存储器安全代码生成模块100的NAND存储器进行解锁的方法。
如图5所示,首先在NAND存储器上电后,NAND存储器所内置的NAND存储器安全代码生成模块100如上述实施方式1及实施方式2中所述那样,进行CAM信息数据的读取以及唯一的安全代码的生成。
接着,在步骤S401中,判定用户是否使用了NAND存储器供应商提供的特殊命令向NAND存储器询问32位安全代码。此处,将所生成的唯一的安全代码设为32位,但并不限于此。
在步骤S401中判定为用户使用了NAND存储器供应商提供的特殊命令向NAND存储器询问32位安全代码时(步骤S401中为是),前进至步骤S402,从NAND存储器获取32位安全代码。
接着在步骤S403中,判定用户是否输入了32位安全代码。在步骤S403中判定为用户输入了32位安全代码时(步骤S403中为是),前进至步骤S404。
接着在步骤S404中,判定用户所输入的32位安全代码是否与NAND存储器内部所存储的32位安全代码一致。在步骤S404中判定为用户所输入的32位安全代码与NAND存储器内部所存储的32位安全代码一致时(步骤S404中为是),前进至步骤S405,同意用户对NAND存储器进行访问。
在步骤S401中判定为用户并没有使用NAND存储器供应商提供的特殊命令向NAND存储器进行询问时(步骤S401中为否),或者在步骤S403中判定为用户没有输入32位安全代码时(步骤S403中为否),或者在步骤S404中判定为用户所输入的32位安全代码与NAND存储器内部所存储的32位安全代码不一致时(步骤S404中为否),前进至步骤S406,拒绝该用户访问NAND存储器,锁定NAND存储器并无视该用户后续的任何序列。
根据该实施方式3,通过利用NAND存储器中所内置的NAND存储器安全代码生成模块100,能够使用NAND存储器中的CAM信息数据来生成唯一的安全代码,从而无需放置任何特殊IP、也无需增加芯片尺寸,就能够避免存储器受到任何非法访问和非法复制,在提高NAND存储器数据安全性的同时,实现NAND存储器芯片的小型化。

Claims (9)

1.一种NAND存储器安全代码生成模块,其特征在于,包括:
CAM信息读取单元,该CAM信息读取单元对NAND存储器中的CAM信息进行读取;
寄存器值更新单元,该寄存器值更新单元针对所述CAM信息读取单元读取到的所述CAM信息,对与各个所述CAM信息相对应的寄存器值进行更新;
CRC码生成单元,该CRC码生成单元利用由所述寄存器值更新单元更新后的所述寄存器值来生成CRC码;以及
安全代码存储单元,该安全代码存储单元更新并存储由所述CRC码生成单元生成的所述CRC码,
其中,所述CAM信息包括配置信息、修复列信息、坏块信息、以及修复块信息。
2.如权利要求1所述的NAND存储器安全代码生成模块,其特征在于,
所述CAM信息读取单元分别对所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息进行读取,
所述CRC码生成单元最终生成包含所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息在内的所述CRC码,并设为所述NAND存储器的唯一的安全代码。
3.如权利要求1所述的NAND存储器安全代码生成模块,其特征在于,
所述寄存器值更新单元分别对与所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息相对应的寄存器值进行更新。
4.如权利要求3所述的NAND存储器安全代码生成模块,其特征在于,
所述CRC码生成单元进行下述动作:
基于所述寄存器值更新单元更新后的与所述配置信息相对应的寄存器值来生成第一CRC码;
基于所述寄存器值更新单元更新后的与所述修复列信息相对应的寄存器值、以及所述第一CRC码来生成第二CRC码;
基于所述寄存器值更新单元更新后的与所述坏块信息相对应的寄存器值、以及所述第二CRC码来生成第三CRC码;
基于所述寄存器值更新单元更新后的与所述修复块信息相对应的寄存器值、以及所述第三CRC码来生成第四CRC码,
将所述第四CRC码设为所述NAND存储器的唯一的安全代码。
5.如权利要求1所述的NAND存储器安全代码生成模块,其特征在于,
所述CAM信息还包括OPT保护信息和块保护信息。
6.如权利要求1所述的NAND存储器安全代码生成模块,其特征在于,
所述CAM信息读取单元在所述NAND存储器每次上电复位时进行所述CAM信息读取。
7.一种NAND存储器安全代码生成方法,其特征在于,在NAND存储器每次上电复位时进行下述步骤:
分别读取所述NAND存储器中的多个CAM信息数据的CAM信息数据读取步骤;
分别更新与读取到的多个CAM信息数据相对应的寄存器值的寄存器值更新步骤;
利用更新后的所述寄存器值来生成CRC码的CRC码生成步骤;以及
对所生成的所述CRC码进行更新并存储的CRC码存储步骤,
其中,多个CAM信息数据是配置信息数据、修复列信息数据、坏块信息数据、以及修复块信息数据。
8.如权利要求7所述的NAND存储器安全代码生成方法,其特征在于,
在所述CRC码生成步骤中,最终生成包含所述配置信息、所述修复列信息、所述坏块信息、以及所述修复块信息在内的所述CRC码,并设为所述NAND存储器的唯一的安全代码。
9.一种NAND存储器,其特征在于,
包括权利要求1至6的任一项所述的NAND存储器安全代码生成模块。
CN202210093628.5A 2022-01-26 2022-01-26 Nand存储器安全代码生成模块和生成方法、以及nand存储器 Active CN114398013B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210093628.5A CN114398013B (zh) 2022-01-26 2022-01-26 Nand存储器安全代码生成模块和生成方法、以及nand存储器
PCT/CN2022/124444 WO2023142523A1 (zh) 2022-01-26 2022-10-10 Nand存储器安全代码生成模块和生成方法、以及nand存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210093628.5A CN114398013B (zh) 2022-01-26 2022-01-26 Nand存储器安全代码生成模块和生成方法、以及nand存储器

Publications (2)

Publication Number Publication Date
CN114398013A CN114398013A (zh) 2022-04-26
CN114398013B true CN114398013B (zh) 2024-06-18

Family

ID=81233147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210093628.5A Active CN114398013B (zh) 2022-01-26 2022-01-26 Nand存储器安全代码生成模块和生成方法、以及nand存储器

Country Status (2)

Country Link
CN (1) CN114398013B (zh)
WO (1) WO2023142523A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398013B (zh) * 2022-01-26 2024-06-18 东芯半导体股份有限公司 Nand存储器安全代码生成模块和生成方法、以及nand存储器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407109A (zh) * 2020-03-17 2021-09-17 爱思开海力士有限公司 存储器装置及其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257763B1 (en) * 2001-08-03 2007-08-14 Netlogic Microsystems, Inc. Content addressable memory with error signaling
KR100896181B1 (ko) * 2007-01-26 2009-05-12 삼성전자주식회사 임베디드 낸드 플래시 메모리 제어 장치 및 방법
EP3295331A4 (en) * 2015-05-11 2019-04-17 Cambou, Bertrand, F. MEMORY CIRCUIT USING DYNAMIC RANDOM ACCESS MEMORY MATRICES
US9418741B1 (en) * 2015-08-25 2016-08-16 Freescale Semiconductor, Inc. Content addressable memory with search line test circuitry
KR20170090177A (ko) * 2016-01-28 2017-08-07 에스케이하이닉스 주식회사 메모리 시스템, 반도체 메모리 장치 및 그의 동작 방법
US10997296B2 (en) * 2017-03-22 2021-05-04 Oracle International Corporation System and method for restoration of a trusted system firmware state
KR20190093370A (ko) * 2018-02-01 2019-08-09 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10930350B2 (en) * 2018-12-20 2021-02-23 SK Hynix Inc. Memory device for updating micro-code, memory system including the memory device, and method for operating the memory device
KR20210074024A (ko) * 2019-12-11 2021-06-21 에스케이하이닉스 주식회사 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash
CN114398013B (zh) * 2022-01-26 2024-06-18 东芯半导体股份有限公司 Nand存储器安全代码生成模块和生成方法、以及nand存储器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407109A (zh) * 2020-03-17 2021-09-17 爱思开海力士有限公司 存储器装置及其操作方法

Also Published As

Publication number Publication date
WO2023142523A1 (zh) 2023-08-03
CN114398013A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
US7296128B2 (en) Nonvolatile memory with error correction for page copy operation and method thereof
US6446177B1 (en) Memory system
JP3232089B2 (ja) メモリ内の情報を更新するための方法および装置と、該方法および装置のメモリカードへの利用
US6993647B2 (en) Method and apparatus for booting an electronic device using a plurality of agent records and agent codes
JP2006079811A (ja) エラー検出用パリティー発生器を備えた半導体メモリ装置
US8799725B2 (en) Macro and command execution from memory array
US20090296511A1 (en) Microprocessor with program-accessible re-writable non-volatile state embodied in blowable fuses of the microprocessor
US7574576B2 (en) Semiconductor device and method of controlling the same
CN114398013B (zh) Nand存储器安全代码生成模块和生成方法、以及nand存储器
US8621643B2 (en) Semiconductor device
CN111143109B (zh) 一种ecc内存管理器、方法及电子设备
CN112231777A (zh) 一种单调计数器及其单调计数方法
CN115904216A (zh) 集成电路及方法
CN113590209B (zh) 芯片启动控制方法、芯片及电子设备
JP2011227659A (ja) データ書き込み方法およびシステム
JP2004013719A (ja) 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法
US20080177982A1 (en) Memory And Accessing Method Thereof
CN115954037B (zh) 提高efuse芯片良率的方法、装置和设备及存储介质
KR20120013538A (ko) 반도체 메모리 장치 및 그 동작 방법
CN114646242B (zh) 用于电子***芯片的高可靠存储***、方法、介质及设备
JP4326054B2 (ja) 半導体電子記憶装置においてデータを保護する方法及び半導体電子記憶装置
JP5245650B2 (ja) 電気回路および機能制限方法
CN1222885C (zh) 一种flash数据保护方法及其flash电路
US20140245101A1 (en) Semiconductor memory
CN113961903A (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