CN102375943B - 识别码产生方法与存储器管理方法、控制器及储存系统 - Google Patents
识别码产生方法与存储器管理方法、控制器及储存系统 Download PDFInfo
- Publication number
- CN102375943B CN102375943B CN201010256172.7A CN201010256172A CN102375943B CN 102375943 B CN102375943 B CN 102375943B CN 201010256172 A CN201010256172 A CN 201010256172A CN 102375943 B CN102375943 B CN 102375943B
- Authority
- CN
- China
- Prior art keywords
- identification code
- memory
- physical blocks
- nonvolatile memory
- memory module
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种识别码产生方法与存储器管理方法、控制器及储存系统。本识别码产生方法包括测试多个实体区块来获取实体区块的可用状态并且根据此可用状态识别出此些实体区块的中的好实体区块或坏实体区块。本识别码产生方法也包括根据此些好实体区块或坏实体区块来产生对应非易失性存储器模组的存储器识别码。基于此,本发明可产生独特的存储器识别码,并且可防止产生的存储器识别码被窃取。
Description
技术领域
本发明涉及一种用于存储器的识别码产生方法与管理方法,尤其涉及一种用于非易失性存储器的识别码产生方法与存储器管理方法、控制器及储存系统。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于非易失性存储器具有数据非易失性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于这类便携式由电池供电的产品上。存储卡就是一种以NAND快闪存储器(Flash Memory)作为储存媒体的储存装置。
尽管非易失性存储器具有上述优势,但对于内容出版商来说如何能够在使用非易失性存储器储存媒体传递数字内容时避免数字内容的未授权散布,是重要的议题。例如,数字音乐提供商会使用非易失性存储器模组上的存储器识别码来对所储存的数字内容数据进行加密以避免数字内容被任意散布至其他储存媒体。然而,储存在非易失性存储器模组内的数据是很容易被窃取。也就是说,骇客可以分析储存于非易失性存储器模组上的数据而分析出此存储器识别码,由此破解已被加密的数字内容。
发明内容
本发明的目的是提供一种识别码产生方法,其能够依据非易失性存储器模组的特性来产生独特的存储器识别码,且可避免存储器识别码被窃取。
本发明的另一目的是提供一种存储器管理方法、控制器及储存系统,能够依据非易失性存储器模组的独特存储器识别码来识别非易失性存储器,由此防止非易失性存储器被置换。
本发明的又一目的是提供一种存储器管理方法,其能够防止储存于非易失性存储器模组的数字数据被窃取。
本发明提供一种识别码产生方法,用于产生对应一非易失性存储器模组的一存储器识别码,其中此非易失性存储器模组具有多个实体区块。本识别码产生方法包括测试此些实体区块来获取实体区块的可用状态并且根据此可用状态识别出此些实体区块之中的好实体区块;以及根据此些好实体区块来产生对应此非易失性存储器模组的存储器识别码。
本发明提供一种识别码产生方法,用于产生对应一非易失性存储器模组的一存储器识别码,其中此非易失性存储器模组具有多个实体区块。本识别码产生方法包括测试此些实体区块来获取实体区块的可用状态并且根据此可用状态识别出此些实体区块之中的坏实体区块,其中每一坏实体区块具有一个或多个坏实体页面。本识别码产生方法也包括根据坏实体区块的坏实体页面来产生对应此非易失性存储器模组的存储器识别码。
本发明提供一种存储器管理方法,用于一非易失性存储器模组,其中此非易失性存储器模组具有多个实体区块并且储存一存储器识别码签章。本存储器管理方法包括检查此些实体区块的可用状态并且根据此些实体区块的可用状态来产生对应此非易失性存储器模组的存储器识别码。本存储器管理方法还包括依据此存储器识别码使用单向杂凑函数来产生一比对码;从非易失性存储器模组中读取存储器识别码签章;及判断所产生的比对码是否相同于所读取的存储器识别码签章。本存储器管理方法还包括当所产生的比对码不相同于所读取的存储器识别码签章时,中断对非易失性存储器模组的任何操作。
本发明提供一种存储器储存系统,其包括连接器、具有多个实体区块的非易失性存储器模组与存储器控制器。连接器用以电性连接至主机系统。存储器控制器电性连接至连接器与非易失性存储器模组,并且用以执行至少下列程序:
测试所述多个实体区块来获取一可用状态并且根据所述可用状态识别出所述多个实体区块之中的一个或多个坏实体区块,其中所述一个或多个坏实体区块分别地具有一个或多个坏实体页面;以及
根据所述一个或多个坏实体页面来产生对应所述非易失性存储器模组的一存储器识别码。
本发明提供一种存储器控制器,用于管理一非易失性存储器模组。本存储器控制器包括主机接口、存储器接口、只读存储器、存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至非易失性存储器模组。只读存储器储存控制器识别码。存储器管理电路电性连接至主机接口、存储器接口与只读存储器。存储器管理电路用以使用控制器识别码作为加密密钥来加密写入数据,并且将已加密的该写入数据写入至非易失性存储器模组中。此外,存储器管理电路还用以从非易失性存储器模组中读取数据,并且使用控制器识别码作为解密密钥来解密此读取数据。
本发明提供一种存储器控制器,用于管理一非易失性存储器模组,所述非易失性存储器模组具有多个实体区块,所述存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至所述非易失性存储器模组;以及
一存储器管理电路,电性连接至所述主机接口与所述存储器接口,其中所述存储器管理电路用以执行至少下列程序:
测试所述多个实体区块来获取一可用状态并且根据所述可用状态识别出所述多个实体区块之中的多个好实体区块;以及
根据所述多个好实体区块来产生对应所述非易失性存储器模组的一存储器识别码。
基于上述,本发明提供的识别码产生方法、存储器管理方法及使用此方法的存储器控制器与存储器储存系统能够依据非易失性存储器模组的特性产生不易被窃取的存储器识别码。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是本发明第一实施例的主机系统与存储器储存装置的示意图。
图1B是本发明一实施例的电脑、输入/输出装置与存储器储存装置的示意图。
图1C是本发明另一实施例的主机系统与存储器储存装置的示意图。
图2是图1A所示的存储器储存装置的概要方块图。
图3是本发明一实施例的存储器控制器的概要方块图。
图4是本发明第一实施例的的识别码产生方法的流程图。
图5是本发明第一实施例的存储器识别码的示意图。
图6是本发明第一实施例的存储器管理方法的流程图。
图7是本发明第二实施例的识别码产生方法的流程图。
图8是本发明第二实施例的存储器识别码的一示意图。
图9是本发明第二实施例的存储器识别码的另一示意图。
图10是本发明第二实施例的存储器识别码的又一示意图。
图11是本发明第二实施例的存储器管理方法的流程图。
图12是本发明第三实施例的存储器储存装置的概要方块图。
图13A与13B是本发明第三实施例的存取方法的流程图。
主要元件符号说明:
1000:主机系统; 1100:电脑;
1102:微处理器; 1104:随机存取存储器;
1106:输入/输出装置; 1108:系统总线;
1110:数据传输接口; 1202:鼠标;
1203:键盘; 1206:显示器;
1208:打印机; 1212:随身盘;
1214:存储卡; 1216:固态硬盘;
1310:数码相机; 1312:SD卡;
1314:MMC卡; 1316:记忆棒;
1318:CF卡; 1320:嵌入式储存装置;
100:存储器储存装置; 102:连接器;
104:存储器控制器; 106:非易失性存储器模组;
304(0)~304(R):实体区块;202:存储器管理电路;
204:主机接口; 206:存储器接口;
252:缓冲存储器; 254:电源管理电路;
256:错误检查与校正电路; S401、S403、S405、S407:步骤;
1200:存储器储存装置; 1204:存储器控制器;
1302:存储器管理电路; 1304:只读存储器;
1306:控制器识别码;
S601、S603、S605、S607、S609、S611、S613:步骤;
S701、S703、S705、S707:步骤;
S1101、S1103、S1105、S1107、S1109、S1111、S1113:步骤;
S1301、S1303、S1305、S1307、S1309:步骤。
具体实施方式
[第一实施例]
一般而言,存储器储存装置(也称为:存储器储存系统)包括非易失性存储器模组与控制器(也称为:控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是本发明第一实施例的主机系统与存储器储存装置的示意图。
请参照图1A,主机系统1000一般包括电脑1100与输入/输出(input/output,简称为:I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccess memory,简称为:RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1203、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的操作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(Solid State Drive,简称为:SSD)1216等的非易失性存储器储存装置。
一般而言,主机系统1000可实质地为可储存数据的任意系统。虽然在本实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一实施例中主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,简称为:eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与非易失性存储器模组106。
在本实施例中,连接器102为通用串行总线(Universal Serial Bus,简称为:USB)连接器。然而,必须了解的是,本发明不限于此,连接器102也可以是电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称为:IEEE)1394连接器、高速周边零件连接接口(Peripheral ComponentInterconnect Express,简称为:PCI Express)连接器、串行高级技术附件(SerialAdvanced Technology Attachment,简称为:SATA)连接器、安全数字(SecureDigital,简称为:SD)接口连接器、记忆棒(Memory Stick,简称为:MS)接口连接器、多媒体储存卡(Multi Media Card,简称为:MMC)接口连接器、小型快闪(Compact Flash,简称为:CF)接口连接器、整合式驱动电子(IntegratedDevice Electronics,简称为:IDE)接口连接器或其他适合的连接器。
存储器控制器104用以执行以硬体型式或韧体型式的多个逻辑门或控制指令,并且根据主机系统1000的指令在非易失性存储器模组106中进行数据的写入、读取与抹除等操作。在本实施例中,存储器控制器104会检查非易失性存储器模组106的实体区块304(0)~304(R)的可用状态并且根据此可用状态来产生对应非易失性存储器模组106的存储器识别码。特别是,存储器控制器104会依据此存储器识别码来验证非易失性存储器模组106,以对非易失性存储器模组106进行存取与管理。
非易失性存储器模组106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。非易失性存储器模组106包括实体区块304(0)~304(R)。各实体区块分别具有复数个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。更详细来说,实体区块为抹除的最小单位。也即,每一实体区块含有最小数目的一并被抹除的存储单元。实体页面为程序化的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一实施例中,写入数据的最小单位也可以是扇区(Sector)或其他大小。此外,实体区块304(0)~304(R)会被逻辑地分组为数据区、备用区、系统区与取代区,其中数据区与备用区的实体区块会轮替地来储存主机系统1000所储存的数据,系统区的实体区块是用以储存存储器储存装置100的系统数据而取代区的实体区块是用以取代数据区、备用区与系统区中的坏实体区块。
在本实施例中,非易失性存储器模组106为可复写式非易失性存储器模组。例如,非易失性存储器模组106为多层存储单元(Multi Level Cell,简称为:MLC)NAND快闪存储器模组。然而,本发明不限于此,非易失性存储器模组106也可是单层存储单元(Single Level Cell,简称为:SLC)NAND快闪存储器模组、其他快闪存储器模组或其他具有相同特性的存储器模组。
图3是本发明一实施例的存储器控制器的概要方块图。
请参照图1C、图2及图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体操作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100操作时,此些控制指令会被执行以根据本实施例的识别码产生方法、数据存取方法与存储器管理方法来管理非易失性存储器模组106。
在本实施例中,存储器管理电路202的控制指令以韧体型式来操作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100操作时,此些控制指令会由微处理器单元来执行以完成根据本发明第一实施例的识别码产生方法、数据存取方法与存储器管理方法。
在本发明另一实施例中,存储器管理电路202的控制指令也可以程序码型式储存于非易失性存储器模组106的特定区域(例如,存储器模组中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码段,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于非易失性存储器模组106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运行此些控制指令以执行本发明第一实施例的识别码产生方法、数据存取方法与存储器管理方法。此外,在本发明另一实施例中,存储器管理电路202的控制指令也可以一硬体型式来操作。
主机接口204电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本实施例中,主机接口204对应于连接器102,为USB接口。然而,必须了解的是本发明不限于此,主机接口204也可以是PATA接口、IEEE 1394接口、PCI Express接口、SATA接口、SD接口、MS接口、MMC接口、CF接口、IDE接口或其他适合的数据传输接口。
存储器接口206是电性连接至存储器管理电路202并且用以存取非易失性存储器模组106。也就是说,欲写入至非易失性存储器模组106的数据会经由存储器接口206转换为非易失性存储器模组106所能接受的格式。
在本发明一实施例中,存储器控制器104还包括缓冲存储器252。缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于非易失性存储器模组106的数据。
在本发明一实施例中,存储器控制器104还包括电源管理电路254。电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
在本发明一实施例中,存储器控制器104还包括错误检查与校正电路256。错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,简称为:ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至非易失性存储器模组106中。之后,当存储器管理电路202从非易失性存储器模组106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
根据本发明第一实施例的识别码产生方法、数据存取方法与存储器管理方法将于以下配合图1C、图2及图3作详细说明。
图4是本发明第一实施例的的识别码产生方法的流程图。
请参照图4,在步骤S401中,存储器管理电路202会逐一地测试非易失存储器模组的实体区块304(0)~304(R)以记录实体区块304(0)~304(R)的可用状态并且根据此可用状态识别出实体区块304(0)~304(R)之中的好实体区块。并且,在步骤S403中,存储器管理电路202会根据所识别出的好实体区块产生存储器识别码。
图5是本发明第一实施例的存储器识别码的示意图。
请参照图5,假设实体区块304(0)~304(R)之中实体区块304(0)、304(2)与304(4)~304(R-1)为好实体区块,而其他实体区块为坏实体区块(如斜线所示)。因此,在依序地对实体区块304(0)~304(R)执行读取操作之后,存储器管理电路202会根据读取结果产生具R个位元的存储器识别码,其中对应好实体区块的位元会被标记为′1′而其他实体区块会被标记为′0′。由于已损坏的实体区块(即,坏实体区块)无法再恢复成好实体区块,因此所产生的存储器识别码可作为非易失性存储器模组106的特有指纹。
必须了解的是,图5仅为一实施例,其他根据好实体区块所产生存储器识别码皆可应用于本发明。例如,对应好实体区块的位元可被标记为′0′而其他实体区块被标记为′1′,或者以其他符号来标记好实体区块。
请再参照图4,在步骤S405中,存储器管理电路202会依据所产生的存储器识别码使用预设的单向杂凑函数来产生对应的存储器识别码签章。在本实施例中,单向杂凑函数是以SHA-256来操作。然而,必须了解的是,本发明不限于此,在本发明另一实施例中单向杂凑函数也可以MD5、RIPEMD-160SHA1、SHA-386、SHA-512或其他适合的函数来实现。
值得一提的是,在本发明实施例中,存储器管理电路202是以存储器识别码作为单向杂凑函数的输入参数来产生存储器识别码签章。然而,在本发明另一实施例中,存储器管理电路202是以存储器识别码和存储器控制器104的控制器识别码作为单向杂凑函数的输入参数来产生存储器识别码签章。在此,控制器识别码是存储器控制器104于制造时制造商所配置的序号或随机产生的乱数。控制器识别码可被记录在存储器管理电路202中,或者记录在存储器控制器104的只读存储器(未示出)中。
之后,在步骤S407中,存储器管理电路202会将对应的存储器识别码签章储存于非易失性存储器模组106的实体区块中。例如,存储器管理电路202会将对应非易失性存储器模组106的存储器识别码签章储存于系统区的实体区块中。特别是,存储器管理电路202是将编码后的存储器识别码签章储存于非易失性存储器模组106而非直接地储存存储器识别码签章,因此骇客无法轻易地窃取存储器识别码。
值得一提的是,存储器储存装置100出厂前存储器管理电路202会初始地执行上述识别码产生方法来产生非易失性存储器模组106的存储器识别码及储存存储器识别码签章。特别是,由于非易失性存储器模组106在使用过程中,原先好的实体区块在不断地写入与抹除之后会变成坏实体区块。基于此,在存储器储存装置100操作过程中一旦侦测到新的坏实体区块时,存储器管理电路202会重新执行上述识别码产生方法来为非易失性存储器模组106重新产生存储器识别码及储存存储器识别码签章。
在本实施例中,当存储器储存装置100每次上电时,存储器管理电路202会检查与其电性连接的非易失性存储器模组的实体区块的可用状态以获取存储器识别码,并且由此验证与其电性连接的非易失性存储器模组。
图6是本发明第一实施例的存储器管理方法的流程图。
请参照图6,在步骤S601中,存储器管理电路202会逐一地测试非易失存储器模组的实体区块304(0)~304(R)以记录实体区块304(0)~304(R)的可用状态并且根据此可用状态识别出实体区块304(0)~304(R)之中的好实体区块。并且,在步骤S603中,存储器管理电路202会根据所识别出的好实体区块产生存储器识别码。产生存储器识别码的方法已配合图5描述如上,在此不再重复描述。
接着,在步骤S605中,存储器管理电路202会依据所产生的存储器识别码使用预设的单向杂凑函数来产生比对码。然后,在步骤S607中,存储器管理电路202会从非易失性存储器模组106中读取存储器识别码签章。并且,在步骤S609中,存储器管理电路202会判断所产生的比对码是否相同于所读取的存储器识别码签章。
倘若所产生的比对码不相同于所读取的存储器识别码签章时,在步骤S611中存储器管理电路202会中断操作。例如,在步骤S611中存储器管理电路202会传送错误讯息给主机系统1000并且不执行来自于主机系统1000的任何指令。
倘若所产生的比对码相同于所读取的存储器识别码签章时,在步骤S613中存储器管理电路202会根据主机系统1000的指令完成开机以及执行后续的存取操作。例如,存储器管理电路202会根据主机系统1000的写入指令来写入数据或根据主机系统1000的读取指令来读取数据。
值得一提的是,在本实施例中,是通过逐一测试非易失存储器模组的实体区块304(0)~304(R)以记录实体区块304(0)~304(R)的可用状态来确认好实体区块。然而,本发明不限于此,在本发明另一实施例中,也可仅测试部分的实体区块来达到确认的目的。例如,在本发明另一实施例中,坏实体区块会被记录在实体区块管理表以利于实体区块的管理。具体来说,实体区块管理表记录非易失性存储器模组106中的坏实体区块,并且存储器管理电路202会通过维护此实体区块管理表来避免使用坏实体区块。基此,存储器管理电路202会仅测试在实体区块管理表中未标记为坏实体区块的其他实体区块,由此缩短测试所需的时间。
此外,在本发明另一实施例中,在执行写入指令或读取指令时,存储器管理电路202还可依据存储器识别码来加密或解密数据,以保护所储存的数据。例如,当从主机系统1000接收到写入指令时,存储器管理电路202会以存储器识别码作为加密密钥来使用预设加密函数对此写入指令的数据进行加密并且将已加密的数据写入至非易失性存储器模组106中。此外,当从主机系统1000接收到读取指令时,存储器管理电路202会从非易失性存储器模组106中读取对应此读取指令的数据并且以存储器识别码作为解密密钥来使用预设加密函数对所读取的数据进行解密。
[第二实施例]
本发明第二实施例的存储器储存装置与主机系统本质上是相同于第一实施例的存储器储存装置与主机系统,其中差异在于第二实施例的存储器控制器使用不同的方法来产生存储器识别码。以下将使用图1A、图2与图3来描述第二实施例。
图7是本发明第二实施例的识别码产生方法的流程图。
请参照图7,在步骤S701中,存储器管理电路202会逐一地测试非易失存储器模组的实体区块304(0)~304(R)以记录实体区块304(0)~304(R)的可用状态并且根据此可用状态识别出实体区块304(0)~304(R)之中的坏实体区块与其坏实体页面。如上所述,一个实体区块具有多个实体页面,并且当此些实体页面的至少其中之一无法正常地写入数据时,存储器管理电路202会将此实体区块识别为坏实体区块。
接着,在步骤S703中,存储器管理电路202会根据所识别出的坏实体页面来产生存储器识别码。
图8是本发明第二实施例的存储器识别码的一示意图。
请参照图8,假设实体区块304(0)~304(R)的每一实体区块具有256个实体页面并且实体区块304(1)与实体区块304(3)分别地具有1个坏实体页面(即,实体区块304(1)的第1个实体页面与实体区块304(3)的第5个实体页面(如斜线所示))。因此,在依序地对实体区块304(0)~304(R)的实体页面执行读取操作之后,存储器管理电路202会根据读取结果产生具(256*R)个位元的存储器识别码,其中对应坏实体页面的位元会被标记为′1′而其他实体页面会被标记为′0′。由于已损坏的实体区块(即,坏实体区块)无法再恢复成好实体区块,因此所产生的存储器识别码可作为非易失性存储器模组106的特有指纹。
值得一提的是,尽管图8所示的是每一坏实体区块具有一个坏实体页面,然而,本发明不限于此。倘若每一坏实体区块具有多个坏实体页面时,存储器管理电路202可依据每一坏实体区块内的所有坏实体页面产生存储器识别码或者仅依据每一坏实体区块内的部分坏实体页面来产生存储器识别码。
图9是本发明第二实施例的存储器识别码的另一示意图。
请参照图9,假设实体区块304(0)~304(R)的每一实体区块具有256个实体页面,实体区块304(1)具有2个坏实体页面并且实体区块304(3)具有3个坏实体页面(即,实体区块304(1)的第0与1个实体页面与实体区块304(3)的第2、3与5个实体页面(如斜线所示))。因此,在依序地对实体区块304(0)~304(R)的实体页面执行读取操作之后,存储器管理电路202会根据读取结果产生具有(256*R)个位元的存储器识别码,其中所有对应坏实体页面的位元会被标记为′1′而其他实体页面会被标记为′0′。
图10是本发明第二实施例的存储器识别码的又一示意图。
请参照图10,假设实体区块304(0)~304(R)的每一实体区块具有256个实体页面,实体区块304(1)具有2个坏实体页面并且实体区块304(3)具有3个坏实体页面(即,实体区块304(1)的第0与1个实体页面与实体区块304(3)的第2、3与5个实体页面(如斜线所示))。因此,在依序地对实体区块304(0)~304(R)的实体页面执行读取操作之后,存储器管理电路202会根据读取结果产生具(256*R)个位元的存储器识别码,其中对应每一坏实体区块内的部分坏实体页面的位元(例如,对应实体区块304(1)的第0个实体页面与实体区块304(3)的第2与3个实体页面的位元)会被标记为′1′而其他实体页面会被标记为′0′。
请再参照图7,在步骤S705中,存储器管理电路202会依据所产生的存储器识别码使用预设的单向杂凑函数来产生对应的存储器识别码签章。
之后,在步骤S707中,存储器管理电路202会将对应的存储器识别码签章储存于非易失性存储器模组106的实体区块中。例如,存储器管理电路202会将对应非易失性存储器模组106的存储器识别码储存于系统区的实体区块中。
同样地,在第二实施例中,当存储器储存装置100每次上电时,存储器管理电路202会检查与其电性连接的非易失性存储器模组的实体区块的可用状态以获取存储器识别码,并且由此验证与其电性连接的非易失性存储器模组。
图11是本发明第二实施例的存储器管理方法的流程图。
请参照图11,在步骤S1101中,存储器管理电路202会逐一地测试非易失存储器模组的实体区块304(0)~304(R)以记录实体区块304(0)~304(R)的可用状态并且根据此可用状态识别出实体区块304(0)~304(R)之中的坏实体区块与其坏实体页面。并且,在步骤S1103中,存储器管理电路202会根据所识别出的坏实体页面来产生存储器识别码。产生存储器识别码的方法已配合图8~10描述如上,在此不再重复描述。
接着,在步骤S1105中,存储器管理电路202会依据所产生的存储器识别码使用预设的单向杂凑函数来产生比对码。然后,在步骤S1107中,存储器管理电路202会从非易失性存储器模组106中读取存储器识别码签章。并且,在步骤S1109中,存储器管理电路202会判断所产生的比对码是否相同于所读取的存储器识别码签章。
倘若所产生的比对码不相同于所读取的存储器识别码签章时,在步骤S1111中存储器管理电路202会中断操作。
倘若所产生的比对码相同于所读取的存储器识别码签章时,在步骤S1113中存储器管理电路202根据主机系统1000的指令完成开机以及执行后续的存取操作。
[第三实施例]
以下将配合图1A、图2与图3来描述第三实施例。
图12是本发明第三实施例的存储器储存装置的概要方块图。
请参照图12,存储器储存装置1200包括连接器102、存储器控制器1204与非易失性存储器模组106,其中连接器102与非易失性存储器模组106的结构与功能已详细描述如上,在此不重复描述。
存储器控制器1204用以执行以硬体型式或韧体型式操作的多个逻辑门或控制指令,并且根据主机系统1000的指令在非易失性存储器模组106中进行数据的写入、读取与抹除等操作。在本实施例中,存储器控制器1204会依据控制器识别码来对所写入与读取的数据进行加解密。根据本发明第三实施例的存储器管理方法将于以下配合附图作详细说明。
存储器控制器1204包括存储器管理电路1302、主机接口204、存储器接口206、只读存储器1304、缓冲存储器252、电源管理电路254与错误检查与校正电路256,其中主机接口204、存储器接口206、缓冲存储器252、电源管理电路254与错误检查与校正电路256的结构与功能已详细描述如上,在此不重复描述
存储器管理电路1302用以控制存储器控制器1204的整体操作。具体来说,存储器管理电路1302具有多个控制指令,并且在存储器储存装置1200操作时,此些控制指令会被执行以根据本实施例的存储器管理方法来对非易失性存储器模组106执行写入与读取操作。
在本实施例中,存储器管理电路1302的控制指令以韧体型式来操作。例如,存储器管理电路1302具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置1200操作时,此些控制指令会由微处理器单元来执行以完成根据本发明第三实施例的存储器管理方法。
在本发明另一实施例中,存储器管理电路1302的控制指令也可以程序码型式储存于非易失性存储器模组106的特定区域(例如,存储器模组中专用于存放系统数据的系统区)中。此外,存储器管理电路1302具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码段,并且当存储器控制器1204被使能时,微处理器单元会先执行此驱动码段来将储存于非易失性存储器模组106中的控制指令载入至存储器管理电路1302的随机存取存储器中。之后,微处理器单元会运行此些控制指令以执行本发明第三实施例的存储器管理方法。此外,在本发明另一实施例中,存储器管理电路1302的控制指令也可以一硬体型式来操作。
只读存储器1304电性连接至存储器管理电路1302用以储存控制器识别码1306。控制器识别码1306是存储器控制器于制造时制造商所配置的序号或随机产生的乱数。
图13A与13B是本发明第三实施例的存取方法的流程图。
请参照图12及图13A,当存储器储存装置1200从主机系统1000中接收到写入指令时,在步骤S1301中存储器管理电路1302会以控制器识别码1306作为加密密钥且使用预设加密函数来对此写入指令所对应的写入数据进行加密。并且,在步骤S1303中存储器管理电路1302会将所加密的数据写入至非易失性存储器模组106中。也就是说,欲保护的数据在加密后会被储存至非易失性存储器模组106中。
请参照图12及图13B,当存储器储存装置1200从主机系统1000中接收到读取指令时,在步骤S1305中存储器管理电路1302会从非易失性存储器模组106中读取对应此读取指令的读取数据。之后,在步骤S1307中存储器管理电路1302会以控制器识别码1306作为解密密钥且使用预设解密函数来对此读取数据进行解密。并且,在步骤S1309中存储器管理电路1302会将已解密的数据传送给主机系统1000。
综上所述,本发明实施例的识别码产生方法与存储器管理方法是根据非易失性存储器模组的本身特性来识别对应的识别码,由此可避免储存于存储器模组中的识别码被骇客窃取。此外,本发明实施例的存储器控制器会根据由快闪存储器模组的本身特性所决定的识别码来验证所控制的非易失性存储器模组,由此可防止存储器储存装置中的非易失性存储器模组被不当的置换。另外,本发明实施例的存储器控制器会根据控制器识别码及/或存储器识别码来加解密所储存的数字数据,由此防止所储存的数字数据被未经授权者存取。
虽然本发明已以实施例揭示如上,但其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可作适当更动或等同替换,故本发明的保护范围应以权利要求书所界定的范围为准。
Claims (20)
1.一种识别码产生方法,用于产生对应一非易失性存储器模组的一存储器识别码,其特征在于,所述非易失性存储器模组具有多个实体区块,所述识别码产生方法包括:
测试所述多个实体区块来获取一可用状态并且根据所述可用状态识别出所述多个实体区块之中的多个好实体区块的一分布;以及
根据所述多个好实体区块的所述分布来产生对应所述非易失性存储器模组的所述存储器识别码。
2.根据权利要求1所述的识别码产生方法,其特征在于,还包括:
依据所述存储器识别码使用一单向杂凑函数来产生对应的一存储器识别码签章;以及
将所述存储器识别码签章储存于所述非易失性存储器模组中。
3.根据权利要求1所述的识别码产生方法,其特征在于,测试所述多个实体区块来获取所述可用状态并且根据所述可用状态识别出所述多个实体区块之中的所述多个好实体区块的所述分布的步骤包括:
读取一实体区块管理表以识别出所述多个实体区块之中的部分实体区块;以及
测试所述多个部分实体区块来获取所述可用状态并且根据所述可用状态识别出所述多个实体区块之中的所述多个好实体区块的所述分布。
4.根据权利要求2所述的识别码产生方法,其特征在于,依据所述存储器识别码使用所述单向杂凑函数来产生对应所述非易失性存储器模组的所述存储器识别码签章的步骤包括:
依据一存储器控制器的一控制器识别码和所述存储器识别码使用所述单向杂凑函数来产生对应所述非易失性存储器模组的所述存储器识别码签章。
5.一种存储器控制器,用于管理一非易失性存储器模组,其特征在于,所述非易失性存储器模组具有多个实体区块,所述存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至所述非易失性存储器模组;以及
一存储器管理电路,电性连接至所述主机接口与所述存储器接口,其中所述存储器管理电路用以执行至少下列程序:
测试所述多个实体区块来获取一可用状态并且根据所述可用状态识别出所述多个实体区块之中的多个好实体区块的一分布;以及
根据所述多个好实体区块的所述分布来产生对应所述非易失性存储器模组的一存储器识别码。
6.根据权利要求5所述的存储器控制器,其特征在于,所述存储器管理电路还用以依据所述存储器识别码使用一单向杂凑函数来产生对应的一存储器识别码签章并且将所述存储器识别码签章储存于所述非易失性存储器模组中。
7.根据权利要求5所述的存储器控制器,其特征在于,所述存储器管理电路所执行的测试所述多个实体区块来获取所述可用状态并且根据所述可用状态识别出所述多个实体区块之中的所述多个好实体区块的所述分布的程序包括:
读取一实体区块管理表以识别出所述多个实体区块之中的部分实体区块;以及
测试所述多个部分实体区块来获取所述可用状态并且根据所述可用状态识别出所述多个实体区块之中的多个好实体区块的所述分布。
8.根据权利要求6所述的存储器控制器,其特征在于,所述存储器管理电路还用以依据所述存储器控制器的一控制器识别码和所述存储器识别码使用所述单向杂凑函数来产生对应所述非易失性存储器模组的所述存储器识别码签章。
9.一种识别码产生方法,用于产生对应一非易失性存储器模组的一存储器识别码,其特征在于,所述非易失性存储器模组具有多个实体区块,所述识别码产生方法包括:
测试所述多个实体区块来获取一可用状态并且根据所述可用状态识别出所述多个实体区块之中的一个或多个坏实体区块,其中所述一个或多个坏实体区块分别地具有一个或多个坏实体页面;以及
根据所述一个或多个坏实体页面的一分布来产生对应所述非易失性存储器模组的所述存储器识别码。
10.根据权利要求9所述的识别码产生方法,其特征在于,还包括:
依据所述存储器识别码使用一单向杂凑函数来产生对应的一存储器识别码签章;以及
将所述存储器识别码签章储存于所述非易失性存储器模组中。
11.根据权利要求10所述的识别码产生方法,其特征在于,依据所述存储器识别码使用所述单向杂凑函数来产生对应所述非易失性存储器模组的所述存储器识别码签章的步骤包括:
依据一存储器控制器的一控制器识别码和所述存储器识别码使用所述单向杂凑函数来产生对应所述非易失性存储器模组的所述存储器识别码签章。
12.一种存储器储存系统,其特征在于,包括:
一连接器,用以电性连接至一主机系统;
一非易失性存储器模组,具有多个实体区块;以及
一存储器控制器,电性连接至所述连接器与所述非易失性存储器模组,其中所述存储器控制器用以执行至少下列程序:
测试所述多个实体区块来获取一可用状态并且根据所述可用状态识别出所述多个实体区块之中的一个或多个坏实体区块,其中所述一个或多个坏实体区块分别地具有一个或多个坏实体页面;以及
根据所述一个或多个坏实体页面的一分布来产生对应所述非易失性存储器模组的一存储器识别码。
13.根据权利要求12所述的存储器储存系统,其特征在于,所述存储器控制器还用以依据所述存储器识别码使用一单向杂凑函数来产生对应的一存储器识别码签章并且将所述存储器识别码签章储存于所述非易失性存储器模组中。
14.根据权利要求13所述的存储器储存系统,其特征在于,所述存储器控制器还用以依据一控制器识别码和所述存储器识别码使用所述单向杂凑函数来产生对应所述非易失性存储器模组的所述存储器识别码签章。
15.一种存储器管理方法,用于一非易失性存储器模组,其特征在于,所述非易失性存储器模组具有多个实体区块并且储存一存储器识别码签章,所述存储器管理方法包括:
检查所述多个实体区块的一可用状态并且根据所述多个实体区块的所述可用状态的一分布来产生对应所述非易失性存储器模组的一存储器识别码;
依据所述存储器识别码使用一单向杂凑函数来产生一比对码;
从所述非易失性存储器模组中读取所述存储器识别码签章;
判断所述比对码是否相同于所述存储器识别码签章;以及
当所述比对码不相同于所述存储器识别码签章时,中断对所述非易失性存储器模组的任何操作。
16.根据权利要求15所述的存储器管理方法,其特征在于,检查所述多个实体区块的所述可用状态并且根据所述多个实体区块的所述可用状态的所述分布来产生对应所述非易失性存储器模组的所述存储器识别码的步骤包括:
测试所述多个实体区块来获取所述可用状态并且根据所述可用状态识别出所述多个实体区块之中的多个好实体区块的一分布;以及
根据所述多个好实体区块的所述分布来产生对应所述非易失性存储器模组的所述存储器识别码。
17.根据权利要求15所述的存储器管理方法,其特征在于,检查所述多个实体区块的所述可用状态并且根据所述多个实体区块的所述可用状态来产生对应所述非易失性存储器模组的所述存储器识别码的步骤包括:
测试所述多个实体区块来获取所述可用状态并且根据所述可用状态识别出所述多个实体区块之中的一个或多个坏实体区块,其中所述一个或多个坏实体区块分别地具有一个或多个坏实体页面;以及
根据所述一个或多个坏实体页面的一分布来产生对应所述非易失性存储器模组的所述存储器识别码。
18.根据权利要求15所述的存储器管理方法,其特征在于,依据所述存储器识别码使用所述单向杂凑函数来产生所述比对码的步骤包括:
依据一存储器控制器的一控制器识别码和所述存储器识别码使用所述单向杂凑函数来产生所述比对码。
19.根据权利要求15所述的存储器管理方法,其特征在于,还包括:
使用所述存储器识别码作为一加密密钥来加密一数据;以及
将已加密的所述数据写入至所述非易失性存储器模组中。
20.根据权利要求15所述的存储器管理方法,其特征在于,还包括:
从所述非易失性存储器模组中读取一数据;以及
使用所述存储器识别码作为一解密密钥来解密所述数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010256172.7A CN102375943B (zh) | 2010-08-16 | 2010-08-16 | 识别码产生方法与存储器管理方法、控制器及储存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010256172.7A CN102375943B (zh) | 2010-08-16 | 2010-08-16 | 识别码产生方法与存储器管理方法、控制器及储存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102375943A CN102375943A (zh) | 2012-03-14 |
CN102375943B true CN102375943B (zh) | 2015-06-10 |
Family
ID=45794537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010256172.7A Active CN102375943B (zh) | 2010-08-16 | 2010-08-16 | 识别码产生方法与存储器管理方法、控制器及储存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102375943B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709379B (zh) * | 2015-11-16 | 2020-09-25 | 宇瞻科技股份有限公司 | PCIe网桥的转换装置及其方法 |
TWI566103B (zh) * | 2015-11-16 | 2017-01-11 | 宇瞻科技股份有限公司 | PCIe橋接器之轉換裝置及其方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026293A (en) * | 1996-09-05 | 2000-02-15 | Ericsson Inc. | System for preventing electronic memory tampering |
CN101030174A (zh) * | 2006-03-04 | 2007-09-05 | 深圳市朗科科技有限公司 | 具有指纹识别功能的移动存储装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100511478C (zh) * | 2004-06-30 | 2009-07-08 | 深圳市朗科科技股份有限公司 | 对闪存数据的存取进行管理的方法 |
KR100622349B1 (ko) * | 2004-08-04 | 2006-09-14 | 삼성전자주식회사 | 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. |
-
2010
- 2010-08-16 CN CN201010256172.7A patent/CN102375943B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026293A (en) * | 1996-09-05 | 2000-02-15 | Ericsson Inc. | System for preventing electronic memory tampering |
CN101030174A (zh) * | 2006-03-04 | 2007-09-05 | 深圳市朗科科技有限公司 | 具有指纹识别功能的移动存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102375943A (zh) | 2012-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI496161B (zh) | 記憶體識別碼產生方法、管理方法、控制器與儲存系統 | |
TWI479359B (zh) | 指令執行方法、記憶體控制器與記憶體儲存裝置 | |
TWI451248B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN104346103A (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
TWI486766B (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US20130080787A1 (en) | Memory storage apparatus, memory controller and password verification method | |
US9032135B2 (en) | Data protecting method, memory controller and memory storage device using the same | |
TW201305818A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN105005450A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN103257938B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN103514103B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN102890645A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN103218319B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN102789430B (zh) | 存储器储存装置、其存储器控制器与存取方法 | |
CN103324581B (zh) | 编程存储单元与数据读取方法、存储器控制器与储存装置 | |
CN113138720A (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN102375943B (zh) | 识别码产生方法与存储器管理方法、控制器及储存系统 | |
CN103389941A (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
CN104573537A (zh) | 数据处理方法、存储器存储装置与存储器控制电路单元 | |
CN103034594A (zh) | 存储器储存装置及其存储器控制器与密码验证方法 |
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 |