CN102844746A - 用于在存储设备和机器可读的存储介质中生成物理标识符的方法 - Google Patents

用于在存储设备和机器可读的存储介质中生成物理标识符的方法 Download PDF

Info

Publication number
CN102844746A
CN102844746A CN201180018640XA CN201180018640A CN102844746A CN 102844746 A CN102844746 A CN 102844746A CN 201180018640X A CN201180018640X A CN 201180018640XA CN 201180018640 A CN201180018640 A CN 201180018640A CN 102844746 A CN102844746 A CN 102844746A
Authority
CN
China
Prior art keywords
memory device
piece
area
auxiliary storage
storage 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
Application number
CN201180018640XA
Other languages
English (en)
Other versions
CN102844746B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN102844746A publication Critical patent/CN102844746A/zh
Application granted granted Critical
Publication of CN102844746B publication Critical patent/CN102844746B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00115Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers wherein the record carrier stores a unique medium identifier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0092Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors
    • G11B20/00963Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors wherein said defects or errors are not generated on purpose, e.g. random defect patterns occurring during the normal manufacture
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

提供用于在包括多个存储区域的存储设备中生成物理标识符的方法和系统。该方法包含:确定用于唯一地识别存储设备的参考存储区域的数目;将参考存储区域的数目与阈值相比较;生成用于唯一地识别存储设备的辅助存储区域,使得辅助存储区域的数目与比较的结果相对应;生成参考存储区域和辅助存储区域的位置分布信息;以及将位置分布信息存储在存储设备中。

Description

用于在存储设备和机器可读的存储介质中生成物理标识符的方法
技术领域
本发明一般涉及用于主题设备(subject device)的识别或认证的方法和装置,具体来说,涉及生成用于存储设备的认证的物理标识符的装置和方法。
背景技术
随着诸如数字权利管理(DRM)和拷贝保护的技术成为保护内容所必需的技术,用于对存储这些内容的包括非易失性存储(NVM)设备(例如,固态盘(SSD)、快闪存储卡、等等)的存储设备进行认证的技术也成为实现拷贝保护所必需的技术。更具体地说,用于验证(verify)所述存储设备的硬件(HardWare,H/W)的各个方面的适合度(suitability)的技术以及内容本身的验证加密技术已经变得必不可少。
作为用于SD(安全数字)卡的DRM技术的CPRM(Content Protection forRecordable Media,可记录介质的内容保护)以及作为用于蓝光
Figure BDA00002245677300011
盘的DRM技术的AACS(AdvancedAccess Content System,高级访问内容系统)为使用其它密码技术的存储设备提供了公开密钥基础设施(Public KeyInfrastructure,PKI)或认证方法。然而,这样的公开密钥基础设施(PKI)或认证方法不能防止存储设备本身的复制(duplication)。
发明内容
技术问题
传统的芯片设计具有能够通过在H/W的芯片中插入水印或指纹来识别有问题的H/W的技术。然而,这个技术仅仅用于在剽窃(piracy)已经发生之后检测保密内容剽窃(security piracy)。因此,该技术的缺点在于:该技术不能预先防止复制、在大规模生产中效率低、以及难以用于验证设备在事务点(即,在指定事务的时间和地点)的适合度。
由于这些缺点,内容提供商对于建立用于通过诸如快闪存储卡等等的硬件来分发内容的业务的可能性采取了消极的态度。
技术方案
因此,本发明解决上述问题和/或缺点中的至少一个。
本发明也提供能够预先防止复制、在大规模生产中效率高、并且能够验证设备在事务点的适合度的方法。
根据本发明的一个方面,提供一种用于在包括多个存储区域的存储设备中生成物理标识符的方法。该方法包含:确定用于唯一地识别存储设备的参考存储区域的数目;将参考存储区域的数目与阈值相比较;生成用于唯一地识别存储设备的辅助存储区域,使得辅助存储区域的数目与比较的结果相对应;生成参考存储区域和辅助存储区域的位置分布信息;以及将位置分布信息存储在存储设备中。
根据本发明的另一个方面,提供记录用于执行用于在存储设备中生成物理标识符的方法的程序的机器可读存储介质。该方法包含:确定用于唯一地识别存储设备的参考存储区域的数目;将参考存储区域的数目与阈值相比较;生成用于唯一地识别存储设备的辅助存储区域,使得辅助存储区域的数目与比较的结果相对应;生成参考存储区域和辅助存储区域的位置分布信息;以及将位置分布信息存储在存储设备中。
根据本发明的另一个方面,提供一种用于生成物理标识符的系统。该系统包含:存储设备,其包括多个存储区域;以及至少一个控制器,用于确定用于唯一地识别存储设备的参考存储区域的数目,将参考存储区域的数目与阈值相比较,生成用于唯一地识别存储设备的辅助存储区域,使得辅助存储区域的数目与比较的结果相对应,生成参考存储区域和辅助存储区域的位置分布信息,以及将位置分布信息存储在存储设备中。
有益效果
本发明的实施例提供了各种优点。例如,OTP区域的位置或单元图案(cellpattern)被用作物理标识符,从而用于生成物理标识符的方法可以应用于所有产品线,而与制造过程中的阶段无关。此外,每个产品使用不同选择的随机区域,从而物理标识符的冲突概率可以被显著降低。此外,所生成的OTP区域用于存储特定信息时,各个产品分别使用不同的区域,以使代码信息(code information)的攻击复杂度增加,从而增强安全性。
再次,特定单元图案(例如,失效单元图案)可以被形成在人工生成的参考区域中,以便特定单元图案可以在硬件级别认证中被用作存储器件的指纹。
附图说明
图1和图2是示出根据本发明的实施例的用于生成物理标识符的方法的流程图;
图3是示意性地示出具有根据本发明的实施例的构造的存储设备的示图;
图4是示出根据擦除测试的存储在存储器中的状态数据的示例的示图;
图5是示出根据编程测试的存储在存储器中的状态数据的示例的示图;
图6是示出坏块中的失效单元图案(fail cell pattern)的示图;以及
图7是示出用于设置阈值K的方法的示图。
具体实施方式
在下文中,参考附图描述本发明的实施例。在下面的描述中,对已知的有关功能和组成部分的详细解释可能被省略,以免不必要地使本发明的主题变得模糊。
当具有很高价值的内容通过存储设备(storage device)或存储器件(memory device)出售或出租时,可以提供防克隆(anti-cloning)技术,通过该技术可以防止H/W被非法大量复制。为了使进行H/W复制攻击(duplication attack)更加困难,期望使用存储设备中的每一个中所包括的固有特性或特征(即,具有低冲突概率的物理特性或特征)来实现防克隆技术。
例如,这样的物理特性可以是物理缺陷,比如,坏块(即,有错误的块,所述错误比如编程、擦除或读取错误)或失效单元(fail cell)(或坏单元)。
然而,随着各种存储设备的制造工艺的发展,坏块的出现频率已经逐渐减小,因此,一些目前的产品不包含任何坏块。
本发明的实施例提供用于生成物理标识符(例如,坏块或失效单元的位置分布)以便使用存储设备的固有物理特性的方法,以及用于通过使用一次性可编程的(One Time Programmable,OTP)区域或块来生成物理标识符的方法。在下面的描述中,本发明通过使用OTP区域生成伪物理标识符。此外,如在下文中详细描述的,一般来说,术语“物理标识符”在这里是指用于唯一地识别每一个存储设备的指示。根据本发明的实施例,所述物理标识符是通过人工物理缺陷、随机OTP区域、或人工缺陷和随机OTP区域的组合来生成的。伪物理标识符是通过其唯一地识别存储设备中的每一个的指示,但不是物理缺陷。在下文中,这里所使用的术语“物理标识符”被定义为使得伪物理标识符也被视为物理标识符。此外,伪物理标识符可以与物理缺陷组合。例如,伪物理标识符可以包含关于物理缺陷的信息(例如,失效单元图案或位置分布)。
图1和图2是示出根据本发明的实施例的用于生成物理标识符的方法的流程图。
参考图1,在步骤S100,制造存储设备。在步骤S110,将变量初始化。在步骤S120,变量I被增加。在步骤S130,执行编程/擦除测试。在步骤S140,尝试识别编程和擦除状态数据。如果步S140未成功,则在步骤S170,变量N被增加1。然而,如果步骤S140成功,则在步骤S150,执行读取干扰测试(readdisturbance test)。在步骤S160,将ECC允许阈值与失效单元的数目相比较。如果失效单元的数目大于ECC阈值,则该方法返回到步骤S170。然而,如果失效单元的数目小于或等于ECC允许阈值,则在步骤S180,识别块的数目。在步骤S190,计算坏块的产生率。产生率‘P’是失败的数目‘N’与块的总数的比率。
参考图2,图1的方法从步骤S 190前进到步骤S200,在步骤S200中,计算阈值K。在步骤S210,将产生坏块的概率‘F(P)’与值‘K’相比较。如果产生概率F(P)大于K,则在步骤S220,计算OTP区域的数目‘M’。在步骤S230,选择块。在步骤S240,将特定信息记录或存储在所选择的块中。在步骤S250,生成OTP区域或坏块。如果产生概率F(P)小于或等于阈值K,则在步骤S260,生成坏块和失效单元的位置信息。在步骤S270,生成所产生的坏块和失效单元的位置信息。在跟随在步骤S260或步骤S270之后的步骤S280,生成物理标识符。
在制造存储设备的步骤S100,提供具有多个存储芯片或存储设备的晶片(wafer),并且步骤S100可以根据用于制造晶片的装置在该晶片中所包括的每一个存储设备中单独地、顺序地或同时地执行。这样的存储设备的示例包括非易失性存储器(NVM),比如,固态盘(SSD)和快闪存储卡。在下文中,本发明的实施例是基于NAND快闪存储器来描述的,但是本发明的实施例不限于此。存储设备的示例包括软盘、柔性盘、硬盘、磁带、致密盘只读存储器(CD-ROM)、光盘、蓝光
Figure BDA00002245677300051
盘、随机存取存储器(RAM)、可编程只读存储器(PROM)、可擦除PROM(EPROM)和快闪EPROM。
图3是示意性地示出具有根据本发明的实施例的构造的存储设备的示图。参考图3,NAND快闪存储器被描述为存储设备100的示例。例如,存储设备100可以安装在用作主机设备(未示出)的个人计算机的存储器插槽中。在这个示例中,存储设备100与生成物理标识符的主机设备执行数据通信。
存储设备100与存储器200和主机设备通信,存储器200包括大小相同的单位存储区(unit storage region)。存储设备100向存储器200提供对来自主机设备的请求的响应。存储设备100包括存储控制器110,用于输出控制命令,所述控制命令例如读命令、写命令或擦除命令,比如用于读取程序的命令、向程序写入的命令,或从程序擦除的命令。存储控制器110包括纠错码(ECC)块120、缓冲RAM 130和OTP固件140,纠错码(ECC)块120用于检测和纠正从存储器200扫描的数据中所包括的错误,缓冲RAM 130(例如,静态随机存取存储器(SRAM))用于临时存储从存储器200扫描的数据或从主机提供的数据,OTP固件140用于控制存储器200的OTP区。
存储器200具有层级结构,其中单元(cell)(例如,比特、字节、字、等等)组成页,页组成块,而块组成整个存储器。本说明书中使用的术语“存储区(storage region)”是指大小相同的可分割的存储区,例如,存储设备100中所包括的页或单元(比特、字节、字、等等)。
存储器200包括多个块210和220,并且一次只能消除一个块。每个块具有范围在64K字节到512K字节的大小。每个块包括多个页并且用作供读和写的基本单位。每个页具有范围在512字节到8K字节的大小。NOR快闪存储器可以逐字节或逐字地读或写。每个页具有被称为备用区的额外数据区、缓冲区、或具有范围在1字节到数百字节的带外数据区(Out Of Band,OOB)。备用区用于记录坏块标记、ECC数据、文件系统信息、等等。存储器200可以包括坏块表格(BBT),用于记录存储器200的全部块的状态,并且每一个块具有“好”状态、“坏”状态、或“保留”状态。根据本发明的实施例,“保留”状态是指不能被(除了存储设备的制造商以外的)用户编程或擦除并且对于用户来说是只读的块。
存储器200包括块i到m(包括块j210和块k220),并且块i到m中的每一个都包括具有多个页的主区230以及跟随在每一个页的后面的备用区230。块i到m当中的块k 220用于存储器200的物理特性信息,并且是指被用于唯一地识别存储设备100的参考存储区。
用于检测并且纠正错误的技术提供由于各种原因损坏的数据的有效回复。例如,数据可能在存储在存储器中时被损坏或者由于数据从源被传送到目的地所通过的数据传输通道的扰动(perturbation)而被损坏。已经建议了用于检测并且纠正损坏的数据的各种方法。公知的用于检测错误的技术包括Reed-Solomon(RS)码、汉明码、Bose-Chaudhuri-Hocquenghem(BCH)码、循环冗余码(CRC)、等等。通过这样的码,有可能检测并且纠正损坏的数据。在使用非易失性存储器件的大部分应用领域中,来自主机设备的源数据和ECC数据在存储器中存储在一起。ECC数据用于纠正在执行存储器的读操作时出现的错误,并且能够通过ECC数据纠正的错误比特的数目是有限的。
返回参考图1,更详细来说,在初始化变量的步骤S110中,指示块数目的变量I和指示坏块数目的变量N被设置为0,以便跟踪步骤S120到S 180的重复迭代的峰值(roof)。
在步骤S120,块数目增加1。在步骤S 130,存储控制器110逐块地执行编程/擦除测试。在步骤S140,存储控制器110通过存储器中存储的状态数据确定测试结果是失败还是成功(即,通过)。在步骤S170,当测试结果是失败时,相应的块被标记为坏块(例如,在备用区中指示保留字,比如,“000h”),并且指示坏块数目的变量N被增加1。
总的来说,存储器200包括被称为访问电路(access circuit)的页缓冲区(page buffer),并且页缓冲区存储依据存储器操作的性能结果生成的状态数据,所述存储器操作可以是编程(写)操作、读操作或擦除操作。状态数据可以包括多个比特、例如,对应于页单元的比特。
存储控制器110可以从存储器200中存储的状态数据中检测失效单元位置,并且将包括失效单元的块标记为坏块。每一个坏块以及包括坏块中的失效单元的位置信息的单独的(separate)表格可以被存储在一定块(优选为处于保留状态的块)中。
下面参考图4描述擦除测试。
图4是示出根据擦除测试的存储在存储器中的状态数据的示例的示图。为了描述,假设在开始擦除操作之前状态数据的每个比特值都被设置为“0”。状态数据的每个比特值是指相应的存储单元(memory cell)的状态(0或1)。在擦除操作中,形成一个块的多个页中的每一页中所包括的存储单元中的每一个的状态变成“1”状态。在擦除操作中产生的失效单元是指未变成“1”状态而保持为“0”状态的单元。
如图4中所示,状态数据中所包括的所有比特当中只有第六个比特保持为“0”状态,而剩余的比特都变成“1”状态。存储控制器110可以从存储器200中存储的状态数据的比特值中检测失效单元位置。
下面参考图5描述编程测试。
图5是示出根据编程测试的存储在存储器中的状态数据的示例的示图。
为了方便描述,假设在开始编程操作之前状态数据的每个比特值都被设置为“0”。编程操作是根据源数据将一个块或页在所包括的所有存储单元中的至少一部分设置为“0”状态的存储器操作。此外,在编程测试中,所有存储单元都可以被设置为“0”状态。在这样的编程操作中产生的失效单元是指未变成“0”状态而保持在“1”状态的单元。
如图5中所示,状态数据中所包括的所有比特当中只有第六个比特保持为“1”状态,而剩余的比特都变成“0”状态。存储控制器110可以从存储器200中存储的状态数据的比特值中检测失效单元的位置。
返回参考图1,在步骤S150,存储控制器110逐页或逐块地执行读测试。
存储控制器110控制存储器从而执行读操作。存储控制器110根据预定定时向存储器200发送读命令和地址,并且存储器200响应于读命令从对应于该地址的存储器块的页扫描数据。所扫描的数据被发送到缓冲RAM或ECC块120。ECC块120通过使用该页的备用区中存储的ECC数据来检测所扫描的数据的读错误。ECC块120将错误比特(即,失效单元)的数目和指示所产生的错误的位置的错误位置信息(例如,地址信息)存储在内部寄存器中。
在步骤S160,存储控制器110根据ECC块120中存储的信息确定失效单元的数目是否超过预定的ECC允许阈值(即,允许的失效单元的数目)。当没有产生读错误时,存储控制器110前进到步骤S180,在步骤S180,识别块编号。当失效单元的数目超过预定的ECC允许阈值时,相应的块被标记为坏块,并且在步骤S 170,坏块的数目N增加1。当失效单元的数目N未超过预定的ECC允许阈值时,存储控制器110前进到步骤S 190,在步骤S 190,识别块编号。
当在读取干扰测试中发现失效单元时,存储控制器110可以从ECC块120中存储的信息中检测失效单元的位置,并且将包含坏块中的失效单元的位置信息的表格存储在一定块(优选为处于保留状态的块)中。
图6是示出坏块中的失效单元图案(fail cell pattern)的示图。图6示出特定页的失效单元图案,其中所图示的6*6的单元阵列410和420中,具有物理缺陷的失效单元420被指示为“F”。
返回参考图1,在步骤S180,存储控制器110确定块数目I的值是否与存储器的块的总数目相同。当完成了对所有块的测试时,存储控制器110在步骤S190计算坏块的产生率。当尚未完成对所有块的测试时,存储控制器110前进到步骤S120,在步骤S120,变量I增加1。
在步骤S190,存储控制器110计算P=N/I,P=N/I是坏块的产生率。更具体地说,产生率被确定为通过将块的总数除以坏块的数目而得到的值。同时,根据本发明的实施例,计算坏块的产生率,以便考虑块的总数目(即,整个存储器容量)来设置OTP区域的适当数目。然而,可以随机地设置产生率或OTP区域的数目。此外,可以预先设置坏块的总数目和OTP区域的总数目,并且可以将通过从全部坏块和全部OTP区域的总数目中减去所产生的坏块的数目而得到的值设置为用于物理标识符的OTP区域的数目。
更详细来说,返回参考图2,在步骤S200,存储控制器110考虑与所制造的某两个存储设备相对应的一对区域具有相同块或相同图案(即,位置分布)的概率来计算阈值K。与本示例不同,根据本发明的实施例,阈值K可以是随机设置的值(例如,1%)。
图7是示出用于设置阈值K的方法的示图。
参考图7,按如下方式定义用于计算阈值K的数学计算1:
【数学计算1】
CR=P(x=y)=(p2+q2)N
在数学计算1中,CR表示平均冲突率(即,与所制造的两个存储设备相对应的一对区域x和y(区域x和y中的每一个都是N比特)具有相同图案的概率)、P(x=y)表示x的第i比特与y的第i比特相同的概率,p表示比特错误率(BER),并且q=1-p。在根据本发明的实施例的当前示例中,一个单元对应于一个比特。
此外,关于数学计算1,可以建立下面的近似数学计算2:
【数学计算2】
X*C~X*X*CR
在数学计算2中,X表示产量(production),C表示平均冲突概率期望(average collision probability expectation)。当在X产量中选择某两个存储设备时,CR可以被近似于C/X。
例如,当在数学计算1中C=1/10000,X 108并且p=10(-7~-9)时,可以得到N,N用于计算阈值K。在本实施例中,N表示可以避免冲突的失效单元的最小数目,并且N个单元可以用包括N个单元的z个页或块来替换(z是某个自然数)。
此外,在数学计算1和2中,比特单元可以用块单元来替换。在这种情况中,N表示可以避免冲突的坏块的最小数目。类似地,比特错误率可以用块错误率来替换。
本发明的实施例可以生成能够唯一地识别存储设备的物理标识符。当物理性质互相冲突时(即,当物理性质相同时),可能出现物理识别中的错误。因此,应当如上所述考虑冲突概率来设置阈值K。
在步骤S210中,存储控制器110确定针对坏块的产生概率的函数值F(P)(其具有作为坏块的产生率的变量P)是否小于或等于阈值K。函数F(P)和阈值K分别对应于坏块的产生率和坏块的最小数目,或者基于坏块的产生率和坏块的最小数目。
当函数F(P)大于阈值K时,存储控制器110前进到步骤S260以生成坏块和失效单元的位置信息。存储控制器110生成在编程/擦除测试和读取干扰测试中识别出的坏块的位置分布信息,并且将所生成的信息存储在一定块(优选为处于保留状态中的块)中。存储控制器110生成用于记录存储器200的全部块的状态的坏块表格(BBT),并且存储所生成的表格。存储控制器110也生成通过使用ECC块120中存储的数据获得的失效单元的位置分布信息,并且将所生成的信息存储在一定块(优选为处于保留状态中的块)中。
当函数F(P)小于或等于阈值K时,存储控制器110前进到步骤S220以计算OTP区域的数目。
在步骤S220中,存储控制器110考虑F(P)和阈值K之间的差来计算M,M是必需的OTP区域的数目。
在步骤S230中,存储控制器110选择所需的OTP区域(辅助存储区域)的M个块。在本示例中,逐块地描述OTP区域,但是通过除了块之外的单位存储区域来指定OTP区域。例如,可以逐页地指定OTP区域,并且可以通过坏块图案或失效单元图案来定义物理特性。当通过失效单元图案或坏块图案和失效单元图案的组合来定义物理特性时,可以逐页地指定OTP区域。
存储控制器110可以通过使用随机数生成器来随机地选择块。此时,随机选择包括随机设置各个块位置或随机设置OTP区域的开始块位置或结束块位置。存储控制器110也可以对于各个存储设备指定不同的开始块位置或不同的结束块位置。这样的指定通过按照存储设备的序号的顺序逐步地增加或减少开始块位置或不同的结束块位置来实现。
如上所述,通过随机地选择块位置,为产品中的每一个随机且不同地选择的块成为OTP区域,由此显著减少物理特性的冲突概率。
在步骤S240中,存储控制器110可以执行如下面描述的若干操作中的至少一个操作。
第一,存储控制器110可以在所选择的块中生成包括至少一个人工失效单元的失效单元图案。这样的失效单元或失效单元图案的生成可以在正常的存储器制造设备中执行。例如,可以使用公知的激光熔丝(laser fuse)或电熔丝(E-fuse)。第二,存储控制器110可以在所选择的块中生成随机数(即,随机地设置单元图案或比特图案)。第三,存储控制器110可以在所选择的块中存储特定信息作为密码(code)或秘密密钥(secret key)。
在步骤S250中,存储控制器110生成其中记录了失效单元图案的所选择的块作为坏块(即,所选择的块被标记为坏块),已经生成其中记录了数据的所选择的块作为OTP块(例如,指定所选择的块为处于保留状态的块)。处于保留状态的块不能被编程或擦除,并且只能接受读取操作。
在步骤S270中,存储控制器110生成在编程/擦除测试和读取干扰测试中识别出的坏块、人工生成的坏块和OTP区域的位置分布信息,并且将所生成的信息存储在一定块(优选为处于保留状态中的块)中。存储控制器110生成用于记录存储器320的全部块的状态的坏块表格(BBT),并且存储所生成的表格。存储控制器100也生成通过使用ECC块120中存储的数据获得的失效单元的位置分布信息,并且将所生成的信息存储在具有保留状态的一定块(优选为处于保留状态中的块)中。
根据本发明的实施例,一般坏块表格、人工坏块表格、关于OTP区域的表格以及关于失效单元的表格可以被整体或部分地合并,或者相互分离地保持。此外,OTP区域可以通过其它状态以及“保留”状态来指定。
关于坏块、OTP区域和失效单元图案中的至少一个的信息(例如,表格)可以通过使用另一个合法主机设备可以认出(recognize)的加密密钥(例如,从存储设备的许可代理(license agency)提供的加密密钥来加密并且以加密状态来存储。
在步骤S280,存储控制器110通过使用关于坏块、OTP区域和失效单元图案中的至少一个的信息来生成关于存储设备的物理标识符。
坏块和OTP区域的位置信息以及失效单元图案可以通过各种方法来表示,并且可以通过对于表示值和其它值使用密码技术(比如,哈希(hash)函数)来生成具有特定长度的固有物理标识符。这样的物理标识符不一定需要具有固定的长度,并且坏块和OTP区域的信息以及失效单元图案本身可以起到物理标识符的作用。
例如,当失效单元图案与图6中示出的图案相同时,失效单元中的每一个的位置可以通过x-y坐标(比如,(3,1)、(1,2)和(3,3))来表示。通过使用坏块和所选择的块的位置来获得后面的值,即,失效单元图案和哈希函数(例如,安全哈希算法1(SHA-1)和消息摘要算法5(MD5)的表示的值,其中失效单元图案的表示是记录x-y坐标的表格或阵列。
从应用到块的物理位置信息、失效单元图案的表示和可能的其它信息的组合的哈希函数导出物理标识符。
当存储设备100位于主机设备内部或外部并且存储设备100(有线或无线地)连接到主机设备时,物理标识符可以被主机设备用于认证该存储设备。例如,主机设备可以是个人计算机并且存储设备100可以是安装在个人计算机的存储器插槽中的NAND快闪存储器。在这种情况下,主机设备和存储设备100通过主机设备中的总线执行数据通信。
主机设备的示例不限于此,但是根据本发明的实施例的其它主机设备包括计算机、膝上型电脑、移动装置、便携装置、因特网协议电视、便携媒体播放器、个人数字助理(PDA)等等。下面的描述中,物理标识符是指坏块和所选择的块的图案以及失效单元图案。
物理标识符可以被用作认证信息。例如,认证信息可以通过认证值=(物理标识符、签名=Sign(PK_LicenseAgency、物理标识符))来表示。也就是说,作为认证值(Authentication_Value)的认证信息可以包括物理标识符和许可代理的电子签名值“Signature”。更具体地说,电子签名值是被许可代理的秘密密钥“PK_LicenseAgency”签名的具有物理特性的哈希值。认证信息“认证值”可以是存储器320中已经存储的数据或存储控制器330使用存储器320中存储的构成元素(其包括许可代理的秘密密钥(即,PK_LicenseAgency)和物理标识符)生成的数据。
主机设备可以通过下面描述的两个认证信息验证步骤来认证存储设备。
第一认证信息验证步骤对应于公钥基础设施(PKI)的软件认证过程。在第一认证信息验证步骤中,主机设备通过向电子签名值应用许可的公钥(其已被认出)而解码出物理标识符的原始哈希值,计算物理标识符的哈希值,然后比较这两个值,来执行第一认证。第一认证信息验证步骤S60是可选步骤,根据本发明的其它实施例,其可以被省略。在本示例中,使用PKI,但是根据本发明的其它实施例可以使用某些其它密码方案,比如,对称密钥加密方案等等。
第二认证信息验证步骤是硬件认证过程,其中主机设备确定物理标识符信息和存储设备的测试结果彼此是否相同或相似。
关于第二信息认证步骤,首先,基于物理缺陷的验证方法被描述如下。主机设备可以控制存储设备以执行读取干扰测试,并且将错误位置信息(例如,表示错误比特(即,失效单元)的编号的地址信息,以及产生错误的位置)与物理标识符相比较。换句话说,主机设备确定测试结果是否与物理标识符信息相同或相似。
主机设备也可以控制存储设备以执行读取干扰测试,并且确定测试结果是否与物理标识符信息相同或相似。
随后,在基于没有物理缺陷的OTP区域的验证方法中,主机设备确定所测试的OTP区域图案是否与物理标识符信息相同或相似。OTP区域的识别可以基于对于OTP区域是否具有“保留”状态或OTP区域中存储的数据图案是否与预定图案相同的确定来实现。
本发明的实施例可以通过硬件、软件以及硬件和软件的组合来实现。例如,软件可以以可重写或固定格式存储在易失性或非易失性存储设备中,易失性或非易失性存储设备,比如,ROM、诸如RAM、存储芯片、器件或集成电路的存储器、以及诸如CD、数字多用盘(DVD)、磁盘、磁带等等的光或磁可记录且机器可读的存储介质。可以包括在主机设备中的存储单元是包括用于实现本发明的实施例的指令的程序或者适合于存储该程序的机器可读的存储介质的示例。因此,本发明的实施例可以包括用于实现所描述的系统和方法的代码的程序,并且还可以包括用于存储这样的程序的机器可读的存储介质。此外,该程序可以通过诸如通过有线或无线连接传送的通信信号的特定媒介来以电子方式传输,并且本发明的实施例还包括其各种等效物。

Claims (15)

1.一种用于在包括多个存储区域的存储设备中生成物理标识符的方法,该方法包含:
确定用于唯一地识别存储设备的参考存储区域的数目;
将参考存储区域的数目与阈值相比较;
生成用于唯一地识别存储设备的辅助存储区域,使得辅助存储区域的数目与比较的结果相对应;
生成参考存储区域和辅助存储区域的位置分布信息;以及
将位置分布信息存储在存储设备中。
2.如权利要求1所述的方法,其中,所述参考存储区域和辅助存储区域二者都是坏块。
3.如权利要求1所述的方法,其中,所述参考存储区域是坏块,而所述辅助存储区域是只读存储块。
4.如权利要求1所述的方法,其中,所述参考存储区域和辅助存储区域二者都是只读存储块。
5.如权利要求1所述的方法,其中,确定参考存储区域的数目包含:
确定多个存储区域当中具有编程或擦除错误的坏块;以及
确定多个存储区域当中具有读取错误的坏块。
6.如权利要求1所述的方法,进一步包含:加密所述位置分布信息,其中,加密的位置分布信息被存储在存储设备中。
7.如权利要求1所述的方法,其中,所述辅助存储区域是从多个存储区域当中随机选择的区域。
8.一种记录用于执行用于在包括多个存储区域的存储设备中生成物理标识符的方法的程序的机器可读存储介质,该方法包含:
确定用于唯一地识别存储设备的参考存储区域的数目;
将参考存储区域的数目与阈值相比较;
生成用于唯一地识别存储设备的辅助存储区域,使得辅助存储区域的数目与比较的结果相对应;
生成参考存储区域和辅助存储区域的位置分布信息;以及
将位置分布信息存储在存储设备中。
9.如权利要求8所述的机器可读存储介质,其中,所述参考存储区域和辅助存储区域二者都是坏块。
10.如权利要求8所述的机器可读存储介质,其中,所述参考存储区域是坏块,而所述辅助存储区域是只读存储块。
11.如权利要求8所述的机器可读存储介质,其中,所述参考存储区域和辅助存储区域二者都是只读存储块。
12.如权利要求8所述的机器可读存储介质,其中,确定参考存储区域的数目包含:
确定多个存储区域当中具有编程或擦除错误的坏块;以及
确定多个存储区域当中具有读取错误的坏块。
13.如权利要求8所述的机器可读存储介质,进一步包含:加密所述位置分布信息,其中,加密的位置分布信息被存储在存储设备中。
14.如权利要求8所述的机器可读存储介质,其中,所述辅助存储区域是从多个存储区域当中随机选择的区域。
15.一种用于生成物理标识符的系统,包含:
存储设备,包括多个存储区域;以及
至少一个控制器,用于确定用于唯一地识别存储设备的参考存储区域的数目,将参考存储区域的数目与阈值相比较,生成用于唯一地识别存储设备的辅助存储区域,使得辅助存储区域的数目与比较的结果相对应,生成参考存储区域和辅助存储区域的位置分布信息,并且将位置分布信息存储在存储设备中。
CN201180018640.XA 2010-04-12 2011-04-12 用于在存储设备和机器可读的存储介质中生成物理标识符的方法 Expired - Fee Related CN102844746B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20100033549 2010-04-12
KR10-2010-0033549 2010-04-12
KR1020100043230A KR101614950B1 (ko) 2010-04-12 2010-05-07 저장 장치에 물리적 식별자를 생성하는 방법 및 기계로 읽을 수 있는 저장 매체
KR10-2010-0043230 2010-05-07
PCT/KR2011/002553 WO2011129577A2 (en) 2010-04-12 2011-04-12 Method for generating physical identifier in storage device and machine-readable storage medium

Publications (2)

Publication Number Publication Date
CN102844746A true CN102844746A (zh) 2012-12-26
CN102844746B CN102844746B (zh) 2015-11-25

Family

ID=45029495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180018640.XA Expired - Fee Related CN102844746B (zh) 2010-04-12 2011-04-12 用于在存储设备和机器可读的存储介质中生成物理标识符的方法

Country Status (7)

Country Link
US (1) US9136010B2 (zh)
EP (1) EP2558942A4 (zh)
JP (1) JP5639709B2 (zh)
KR (1) KR101614950B1 (zh)
CN (1) CN102844746B (zh)
AU (1) AU2011241319B2 (zh)
WO (1) WO2011129577A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201327370A (zh) * 2011-12-28 2013-07-01 Amtran Technology Co Ltd 資源分享系統與方法及其播放裝置
JP6063679B2 (ja) * 2012-09-10 2017-01-18 ルネサスエレクトロニクス株式会社 半導体装置
CN104838617B (zh) * 2012-12-11 2018-01-02 三菱电机株式会社 整合安全装置及整合安全装置中使用的信号处理方法
JP6103958B2 (ja) * 2013-01-25 2017-03-29 株式会社メガチップス 半導体記憶装置
JP6129699B2 (ja) * 2013-09-18 2017-05-17 株式会社東芝 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム
US10057260B2 (en) * 2015-08-27 2018-08-21 International Business Machines Corporation Electronic device identification
US10572651B2 (en) 2016-02-16 2020-02-25 Samsung Electronics Co., Ltd. Key generating method and apparatus using characteristic of memory
EP3454318B1 (en) * 2017-09-12 2022-05-11 eMemory Technology Inc. Security system with entropy bits generated by a puf
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
US11360671B2 (en) * 2020-07-22 2022-06-14 Seagate Technology Llc Region-specific directed offline scan for hard disk drive

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058047A (en) * 1996-08-16 2000-05-02 Tokyo Electron Limited Semiconductor memory device having error detection and correction
US20090010073A1 (en) * 2007-07-02 2009-01-08 Samsung Electronics Co., Ltd. Non-Volatile Memory System Including Spare Array and Method of Erasing a Block in the Same
US20090113145A1 (en) * 2007-10-25 2009-04-30 Alastair Slater Data transfer
CN101471141A (zh) * 2007-12-28 2009-07-01 海力士半导体有限公司 执行故障测试、块管理、擦除以及编程的方法
CN101632131A (zh) * 2007-02-26 2010-01-20 索尼爱立信移动通讯股份有限公司 闪速存储器的内置自测试

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418852A (en) 1992-03-18 1995-05-23 Fujitsu Limited Unauthorized use prevention method for optical disks, optical disk having unauthorized use prevention function, and optical disk apparatus
JP2575989B2 (ja) 1992-03-18 1997-01-29 富士通株式会社 光ディスクのコピー防止方法及び装置
US5412718A (en) 1993-09-13 1995-05-02 Institute Of Systems Science Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information
US5537585A (en) * 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
US5615061A (en) 1994-09-29 1997-03-25 Singh; Jitendra K. Method of preventng software piracy by uniquely identifying the specific magnetic storage device the software is stored on
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6338115B1 (en) * 1999-02-16 2002-01-08 International Business Machines Corporation Advanced read cache management
JP4352600B2 (ja) * 2000-09-01 2009-10-28 ソニー株式会社 データ改竄チェック装置および方法、ならびに、記録媒体
JP2002278934A (ja) * 2001-03-16 2002-09-27 Casio Comput Co Ltd セキュリティ管理装置およびセキュリティ管理方法
JP2003263371A (ja) * 2002-03-07 2003-09-19 Olympus Optical Co Ltd 情報処理装置
US7076622B2 (en) * 2003-09-30 2006-07-11 International Business Machines Corporation System and method for detecting and sharing common blocks in an object storage system
US10007807B2 (en) * 2008-12-30 2018-06-26 Unisys Corporation Simultaneous state-based cryptographic splitting in a secure storage appliance
JP4237157B2 (ja) 2005-03-30 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置および情報読み出し方法
US8255705B2 (en) * 2006-04-27 2012-08-28 Spectra Logic Corp. Encryption moniker in medium auxiliary memory
US7539783B2 (en) * 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
JP4656063B2 (ja) * 2007-01-19 2011-03-23 Tdk株式会社 メモリカードの特定方法
JP5041516B2 (ja) * 2007-01-22 2012-10-03 力 松田 コンピュータの画面監視用usbメモリ
US8837721B2 (en) 2007-03-22 2014-09-16 Microsoft Corporation Optical DNA based on non-deterministic errors
US20090222415A1 (en) * 2008-03-03 2009-09-03 Hitachi, Ltd. Evaluating risk of information mismanagement in computer storage
JP2010079588A (ja) * 2008-09-26 2010-04-08 Hitachi Ltd 仮想ボリュームを有する記憶制御装置
KR20110086725A (ko) * 2008-11-10 2011-07-29 퓨전-아이오, 인크. 솔리드-스테이트 저장장치의 고장을 예측하는 장치, 시스템 및 방법
US8386798B2 (en) * 2008-12-23 2013-02-26 Unisys Corporation Block-level data storage using an outstanding write list
US20100235605A1 (en) * 2009-02-13 2010-09-16 Nir Perry Enhancement of storage life expectancy by bad block management
TWI409819B (zh) * 2009-03-03 2013-09-21 Silicon Motion Inc 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
US8412909B2 (en) * 2009-04-08 2013-04-02 Samsung Electronics Co., Ltd. Defining and changing spare space and user space in a storage apparatus
US8447918B2 (en) * 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8281066B1 (en) * 2009-04-30 2012-10-02 Netapp, Inc. System and method for real-time deduplication utilizing an electronic storage medium
US8321727B2 (en) * 2009-06-29 2012-11-27 Sandisk Technologies Inc. System and method responsive to a rate of change of a performance parameter of a memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058047A (en) * 1996-08-16 2000-05-02 Tokyo Electron Limited Semiconductor memory device having error detection and correction
CN101632131A (zh) * 2007-02-26 2010-01-20 索尼爱立信移动通讯股份有限公司 闪速存储器的内置自测试
US20090010073A1 (en) * 2007-07-02 2009-01-08 Samsung Electronics Co., Ltd. Non-Volatile Memory System Including Spare Array and Method of Erasing a Block in the Same
US20090113145A1 (en) * 2007-10-25 2009-04-30 Alastair Slater Data transfer
CN101471141A (zh) * 2007-12-28 2009-07-01 海力士半导体有限公司 执行故障测试、块管理、擦除以及编程的方法

Also Published As

Publication number Publication date
AU2011241319B2 (en) 2015-04-30
CN102844746B (zh) 2015-11-25
KR101614950B1 (ko) 2016-04-25
EP2558942A2 (en) 2013-02-20
WO2011129577A3 (en) 2012-01-26
WO2011129577A2 (en) 2011-10-20
AU2011241319A1 (en) 2012-10-11
US9136010B2 (en) 2015-09-15
JP5639709B2 (ja) 2014-12-10
JP2013524378A (ja) 2013-06-17
US20110252189A1 (en) 2011-10-13
EP2558942A4 (en) 2014-01-29
KR20110114401A (ko) 2011-10-19

Similar Documents

Publication Publication Date Title
CN102844746B (zh) 用于在存储设备和机器可读的存储介质中生成物理标识符的方法
KR101506123B1 (ko) 장치 및 그 인증 방법
US9253169B2 (en) Memory and storage devices to be authenicated using a host device, authenication system and host device
US20010028523A1 (en) Data storage device and method for controlling the device
KR101517336B1 (ko) 반도체 저장 장치
US8732466B2 (en) Semiconductor memory device
EP2568655B1 (en) Method for authenticating a storage device, machine-readable storage medium, and host device
US20140068278A1 (en) Manufacturing method
KR101553790B1 (ko) 메모리
JP4991971B1 (ja) 被認証装置及びその認証方法
US8762717B2 (en) Authentication device
US20140281563A1 (en) Memory device authentication process
US20130336481A1 (en) Device
US9183159B2 (en) Authentication method
US20130339733A1 (en) Device
KR101312293B1 (ko) Ic 칩 및 이에 대한 데이터 검증 방법
US8930720B2 (en) Authentication method
KR20170096564A (ko) 메모리의 특성을 이용한 키 생성 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20190412

CF01 Termination of patent right due to non-payment of annual fee