CN101567218A - 一种产生闪存标识码的方法 - Google Patents
一种产生闪存标识码的方法 Download PDFInfo
- Publication number
- CN101567218A CN101567218A CNA2008102163436A CN200810216343A CN101567218A CN 101567218 A CN101567218 A CN 101567218A CN A2008102163436 A CNA2008102163436 A CN A2008102163436A CN 200810216343 A CN200810216343 A CN 200810216343A CN 101567218 A CN101567218 A CN 101567218A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- bad
- bad piece
- piece
- identification code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种产生闪存标识码的方法,包括以下步骤:A1)对闪存进行物理可用位置检测,将可用物理位置转换成可用逻辑位置,对不可用物理位置进行坏块标识,形成FLASH资料表;A2)根据物理位置与逻辑位置的对应关系,依据FLASH资料表产生坏块索引记录表;A3)将包含有坏块标识的索引记录作为闪存的唯一识别码。利用本发明方法为闪存产生的唯一识别码,由于来源于半导体制造过程中由不可控因素形成的块缺陷,具有不可预知和不可改变的特点,从而为闪存装置应用程序提供基础的无法预制和改变的标识码,进而实现杜绝闪存内容的非法读取和非法复制。
Description
技术领域
本发明涉及计算机技术,具体涉及一种产生由不可控物理缺陷形成的闪存标识码的方法。
背景技术
现今的网络社会,信息传播迅速,各种需要合法授权才能使用的软件和数据,无不被加入各种防止复制的技术,以防止软件和数据被非法复制传播及使用。以往常见的防止软件和数据被复制的方法,通常是以纯软件程序来实现,亦即在软件中加入必须认证(例如输入密码)才能启动软件的机制等,但纯软件程序往往存有其不可预知以及有迹可循的漏洞,容易被有心人士加以研究而被破解,或使用硬件复制设备将存储媒体内的软件进行完整复制而使得该软件仍逃不脱被复制盗用的命运。
同时,在这个信息爆炸时代,大量的电子信息、应用软件等数字内容通过闪存(FLASH)装置在一般的台式机、笔记本计算机、手机、个人数字助理(PDA)、数字相机、DVD播放机等电子装置上执行与使用,而且呈使用越来越广的趋势。所谓的闪存装置,其泛指一般不具运算功能,但可储存大量数据的小型的采用半导体为存储媒介的移动存储器,例如,其表现形式可以是记忆卡、存储棒、U盘等等。
由于电子装置中存放软件程序代码的闪存装置或存放各种数字内容的存储器媒体,其存放的数据可通过特定的设备进行读取、写入及复制,于是产生了数据保护的问题。现有的对闪存装置为代表的移动存储装置的安全保护多半是外部协议及密码方式实现,对物理复制缺少有效的安全措施,因为现有技术无法找到一个与具体的每一个闪存产生唯一关联的方式,虽然可通过设置用户指纹数据比对,但这并不能解决同一客户将合法数据闪存装置非法地复制到多个闪存装置中去的复制问题,同时,闪存装置设置指纹数据也会占用大量资源。
发明内容
本发明要解决的技术问题在于提供一种可在闪存装置中产生唯一识别码的方法,利用该方法对不同的闪存进行标识,保证每个闪存单元标识的唯一性,同时通过判断该标识码来判定闪存装置内的数据是否合法,以达保护数据目的。
本发明上述技术问题这样解决,构造一种产生闪存标识码的方法,包括以下步骤:A1)对闪存进行物理可用位置检测,将可用物理位置转换成可用逻辑位置,对不可用物理位置进行坏块标识,形成FLASH资料表;A2)根据物理位置与逻辑位置的对应关系,依据FLASH资料表产生坏块索引记录表;A3)将包含有坏块标识的索引记录作为闪存的唯一识别码。
在上述方法中,还包括以下步骤:将闪存物理上逻辑空间大小和实际可用逻辑空间大小之差,与坏块标识的索引记录一起作为闪存的唯一识别码。
在上述方法中,所述坏块标识的索引记录是全部坏块标识的索引记录中偶数序或奇数序的部分。
按照本发明提供的一种产生闪存标识码的方法,包括以下步骤:B1)确定闪存中的实际坏块;B2)在闪存中形成人工坏块;B3)产生覆盖实际坏块与人工坏块的坏块索引;B4)将坏块索引或将坏块索引与闪存物理上逻辑空间大小和实际可用逻辑空间大小之差一起,作为闪存的唯一识别码。
在上述方法中,所述步骤B2包括以下步骤:在邻接一个预定坏块的块上,在写入预定内容的同时将其标识为坏块,使之与所述预定坏块形成连续坏块。
在上述方法中,将从所述人工坏块读出的所述预定内容作为闪存的唯一识别码的一部分。
在上述方法中,将从所述人工坏块是否与所述预定坏块形成连续坏块作为闪存的唯一识别码的一部分。
在上述方法中,写入所述人工坏块的所述预定内容是包括厂商、品牌、可用物理空间大小的硬件信息、或包括标称物理空间容量、格式参数的软件信息之一或其组合,或按照预定算法对已有一个或一个以上块内数据的计算结果。
实施本发明提供的一种产生闪存标识码的方法,可以对每个闪存产生唯一识别码,这种标识码由于来源于半导体制造过程中形成的缺陷,因此具有不可预知和不可改变的特点,通过判断该唯一识别码而判定该闪存内的数据是否可被读取或该硬件是否为合法生产制造,从而为软件防复制和读取提供基础的无法预制和改变的标识码,从而真正杜绝非法读取和非法物理或逻辑的复制行为,大大提高闪存装置存储数据的安全性。
附图说明
图1是用于说明应用本发明方法进行标识的闪存坏块空间的第一个示例的原理示意图;
图2是用于说明应用本发明方法进行标识的闪存坏块空间的第二个示例的原理示意图;
图3是用于说明应用本发明方法采用人工坏块进行标识的原理示意图;
图4是实施本发明方法的程序流程示意图;
具体实施方式
无论是单层SLC或多层MLC的半导体存储器,在制造过程中,一定会产生先天性坏块,在对一个新出厂的闪存进行格式化时,就会发现,其有效容量与其标称容量总是有一个小小的误差,这个误差就是坏块的容量。
利用本发明提供的方法对闪存进行唯一性标识,其核心是把闪存坏块信息加以利用,使之成为标识数据,而坏块的个数和分布情况直接决定了这个闪存的标识,由于任何两个闪存之间,形成相同的坏块个数和相同的分布的可能性几乎为0,因此可保证这种标识结果的唯一性。
在如图1示出的一个说明性的实施例中,在0-79个逻辑块里,制造工艺造成块2、17和67是坏块。应用本发明方法对三个坏块的标识索引为2、17、67。如果其空间为80,那么可用空间为77。以下两种均可对其进行唯一性标识。
1)80-77,2,17,67;其中,第一个数据是物理上逻辑空间大小与实际可用逻辑空间大小之差,后三个数据是坏块索引记录。
2)80-3,2,17,67;其中,第一个数据是物理上逻辑空间大小与坏块逻辑空间大小之差,显然与上述表述是等价的,而后三个数据是坏块索引记录。
在如图2示出的另一个说明性的实施例中,在0-79个逻辑块里,制造工艺造成块2、17和67是坏块。这3个属于实际坏块。预定在第1个实际坏块的后面,设置一个人工坏块,即人工坏块的位置在块3,图2中标号为21,该人工坏块的示意性结构如图3所示,其中,该人工坏块的第一个Page标示有0xff,该标示即为坏块标识,也可有其他标示方式。实际上,人工坏块里面的其它Page内是有放数据的,例如前1个或若干个坏块的数字和。在实际坏块索引2、17和67基础上,增加了与块2相邻的人工坏块即块3,这样,经过人工坏块标识后,所产生的覆盖实际坏块与人工坏块的坏块索引为2、3、17和67。
在此基础上形成唯一标识码为:80-76,2,3,17,67;其中,第一个数据是物理上逻辑空间大小与实际可用逻辑空间大小之差,后四个数据是坏块索引记录。
在写入人工坏块的坏块标识的同时,如图3,可以在人工坏块写入“ST101SIZE8M2008”之类的信息,也可作为人工标识数据的一部分,增加其判断的唯一性。除此,还可以将是否有2个连续坏块作为标识码的一部分。
结合图4,具体为一个闪存,以三种方式形成唯一性标识数据的过程举例说明如下:
1)对闪存进行标称空间和标称空间内物理可用位置检测(如图4中框1和2所指,假定标称物理空间为X,有效可用空间为Y),将可用的物理位置集合以逻辑位置或逻辑地址方式表达成好的区,将不可用的物理位置集合以逻辑位置或逻辑地址方式表达成坏的区,按物理位置或地址的顺序,将全部空间按物理位置顺序组成该闪存资料表;
2)根据物理位置与逻辑位置的对应关系,依据闪存资料表产生索引记录表;所述索引实际上是从闪存资料表入口开始的位移,例如,如第100个逻辑块为坏块,则坏块索引记录含有“99”;将(X-Y)个坏块记录为坏块索引S(X-Y)(如框3所示);
3)框4指出第一种标识码,即以X-Y、S(X-Y)为标识码,其中,X-Y是物理空间大小与可用空间大小之差;S(X-Y)表示X-Y个坏快索引;
4)框5指出第二种标识码,即以X-Y、S(X-Y)的子集为标识码,其中,S(X-Y)的子集可以是偶数序或奇数序或其他预定顺序的坏块索引;
5)框6和框7指出了利用人工坏快产生标识数据的过程,其中,用于形成人工坏快的框6内含三个部分,在框61中,选择在邻接预定坏块的块上,写入坏块标志(如0XFF,也可以是其它形式的坏快标志)成人造坏块;在框62中,在人造坏块写入预定内容的数据,例如,包括厂商、品牌、可用物理空间大小的硬件信息、或包括标称物理空间容量、格式参数的软件信息之一或其组合,或按照预定算法对已有一个或一个以上块内数据的计算结果,例如前1个或若干个坏块的数字和。在框63中,将人造坏块与哪一实际坏块形成邻接、写入人造坏快的内容等;在框63中,将人造坏块是否与坏快连续、人造坏快的位置索引、写入内容作为补充的索引S(M),最后在框7中,以X-Y、S(X-Y)、S(M)为该闪存的标识数据。
虽然说,任何两个闪存的坏块个数及其分布相同的可能性很低,但由于我们增加了人工坏块,将其与坏快索引一起作为闪存的标识数据,但在初始化时预先将预定个数N的内容数据组依次写入人造坏块的逻辑位置空间,所形成的补充索引S(M)与坏块索引S(X-Y)一起作为标识数据,将比直接采用原始坏块数据来标识更易区别。
最后将框3写入过程形成的不可写坏块对应的索引与有坏块标识的索引以及闪存物理和逻辑空间一起作为FLASH存储器的唯一识别码。
利用这些标识数据,可以配合闪存驱动程序实现防数据被读取和复制,提高闪存数据的安全性。
实施例1
以闪存总空间与可用空间之差和全部坏块索引为标识数据;
总空间128*1024*1024=134218728字节
1024字节为1个逻辑块
总逻辑空间为128*1024=131072块
可用空间的逻辑块数为130667块
全部坏块索引131072-130867=205个,列出如下:
12,201,1923,2300……1310303。
该闪存的标识数据为131072-130667,12,201,1923,2300,……1310303。
这样,该闪存在初始使用时,就产生了这些标识数据,每次进行数据读写,都要通过读写程序进行验证,判断当前读写的闪存与要读写的对象是否具有相同的标识数据,如果一致,读写合法,否则拒绝读写。
实施例2
以闪存总空间、坏块空间和全部坏块索引为标识数据;
以上面的闪存为例,标识数据为131072,205,12,201,1923,2300,……1310303。
实施例3
以闪存总空间、可用空间和部分坏块索引为标识数据;
部分坏块可选择奇数或偶数块的索引作为坏块数据。以上面的闪存为例,采用奇数序的坏块索引作为坏块数据,则标识数据为131072,130667,12,923,……1310303。
实施例4
以闪存总空间与坏块空间之差和部分坏块索引为标识数据;
以上面的闪存为例,采用奇数个坏块索引作为坏块数据,则标识数据为131072-205,12,923,……1310303。
应用上述产生标识码的方法,可以在对闪存格式化时产生,将产生的标识码数据保存在闪存不可读的空间,配合控制器的驱动程序,每次上电使用都要比对这些数据,不一致时则终止使用;由于标识数据是唯一的,因此,即使将合法A盘的读写程序复制到非法B盘上,也无法读取B盘的数据,因为A盘的驱动程序无法得到B盘标识数据。
Claims (8)
1、一种产生闪存标识码的方法,其特征在于,包括以下步骤:
A1)对闪存进行物理可用位置检测,将可用物理位置转换成可用逻辑位置,对不可用物理位置进行坏块标识,形成FLASH资料表;
A2)根据物理位置与逻辑位置的对应关系,依据FLASH资料表产生坏块索引记录表;
A3)将包含有坏块标识的索引记录作为闪存的唯一识别码。
2、根据权利要求1所述方法,其特征在于,还包括以下步骤:将闪存物理上逻辑空间大小和实际可用逻辑空间大小之差,与坏块标识的索引记录一起作为闪存的唯一识别码。
3、根据权利要求1或2所述方法,其特征在于,所述坏块标识的索引记录是全部坏块标识的索引记录中偶数序或奇数序的部分。
4、一种产生闪存标识码的方法,其特征在于,包括以下步骤:
B1)确定实际坏块;
B2)形成人工坏块;
B3)产生覆盖实际坏块与人工坏块的坏块索引;
B4)将坏块索引或将坏块索引与闪存物理上逻辑空间大小和实际可用逻辑空间大小之差一起,作为闪存的唯一识别码。
5、根据权利要求4所述方法,其特征在于,所述步骤B2包括以下步骤:
在邻接一个预定坏块的块上,在写入预定内容的同时将其标识为坏块,使之与所述预定坏块形成连续坏块。
6、根据权利要求5所述方法,其特征在于,将从所述人工坏块读出的所述预定内容作为闪存的唯一识别码的一部分。
7、根据权利要求5所述方法,其特征在于,将从所述人工坏块是否与所述预定坏块形成连续坏块作为闪存的唯一识别码的一部分。
8、根据权利要求5所述方法,其特征在于,写入所述人工坏块的所述预定内容是包括厂商、品牌、可用物理空间大小的硬件信息、或包括标称物理空间容量、格式参数的软件信息之一或其组合,或按照预定算法对已有一个或一个以上块内数据的计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102163436A CN101567218B (zh) | 2008-09-22 | 2008-09-22 | 一种产生闪存标识码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102163436A CN101567218B (zh) | 2008-09-22 | 2008-09-22 | 一种产生闪存标识码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101567218A true CN101567218A (zh) | 2009-10-28 |
CN101567218B CN101567218B (zh) | 2012-05-23 |
Family
ID=41283336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102163436A Expired - Fee Related CN101567218B (zh) | 2008-09-22 | 2008-09-22 | 一种产生闪存标识码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101567218B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102971984A (zh) * | 2010-05-07 | 2013-03-13 | 三星电子株式会社 | 认证存储设备的方法、机器可读的存储介质、和主机设备 |
CN108229108A (zh) * | 2017-08-31 | 2018-06-29 | 海信电子科技(深圳)有限公司 | 一种防止非法拷贝软件的方法及装置 |
-
2008
- 2008-09-22 CN CN2008102163436A patent/CN101567218B/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102971984A (zh) * | 2010-05-07 | 2013-03-13 | 三星电子株式会社 | 认证存储设备的方法、机器可读的存储介质、和主机设备 |
EP2568655A2 (en) * | 2010-05-07 | 2013-03-13 | Samsung Electronics Co., Ltd. | Method for authenticating a storage device, machine-readable storage medium, and host device |
EP2568655A4 (en) * | 2010-05-07 | 2013-12-25 | Samsung Electronics Co Ltd | METHOD FOR AUTHENTICATING A MEMORY DEVICE, MACHINE-READABLE STORAGE MEDIUM, AND HOST DEVICE |
CN102971984B (zh) * | 2010-05-07 | 2015-07-01 | 三星电子株式会社 | 认证存储设备的方法和主机设备 |
US9245152B2 (en) | 2010-05-07 | 2016-01-26 | Samsung Electronics Co., Ltd. | Method for authenticating a storage device, machine-readable storage medium, and host device |
CN108229108A (zh) * | 2017-08-31 | 2018-06-29 | 海信电子科技(深圳)有限公司 | 一种防止非法拷贝软件的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101567218B (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101427323B (zh) | 读取非易失性计算机存储器的系统和方法 | |
US7877542B2 (en) | High integration of intelligent non-volatile memory device | |
US20070028121A1 (en) | Method of protecting confidential data using non-sequential hidden memory blocks for mass storage devices | |
US20110202709A1 (en) | Optimizing storage of common patterns in flash memory | |
US8533385B2 (en) | Method for preventing read-disturb happened in non-volatile memory and controller thereof | |
US9298565B1 (en) | System and method for identification of memory | |
US20060200414A1 (en) | Methods of copy protecting software stored on portable memory | |
JP2001297038A (ja) | データ記憶装置および記録媒体並びに記録媒体制御方法 | |
US10922234B2 (en) | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive | |
US20110252189A1 (en) | Method for generating physical identifier in storage device and machine-readable storage medium | |
TW201217968A (en) | Data writing method, memory controller and memory storage apparatus | |
TW201239623A (en) | Data merging method for non-volatile memory and controller and stoarge apparatus using the same | |
WO2006046425A1 (ja) | 不揮発性記憶装置及び不揮発性記憶システム | |
CN105988936B (zh) | 非挥发性储存装置与控制器 | |
CN101567218B (zh) | 一种产生闪存标识码的方法 | |
WO2009084881A2 (en) | Card and input and output apparatus for the card | |
CN105700830B (zh) | 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 | |
US8074046B2 (en) | Semiconductor memory device and operation method thereof | |
Marupudi | Solid State Drive: New Challenge for Forensic Investigation | |
CN103578566B (zh) | 存储器存储装置及其修复方法 | |
CA2570401A1 (en) | System and method for testing a data storage device without revealing memory content | |
US20090204776A1 (en) | System for securing an access to flash memory device and method for the same | |
CN1918647A (zh) | 用于再现唯一性媒体标识符的再现设备和方法 | |
CN101604291B (zh) | 增进多级单元非挥发性内存的数据存取可靠度的方法 | |
TWI335529B (en) | Method for checking read/write function of the storage device |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20190922 |