CN104573537B - 数据处理方法、存储器存储装置与存储器控制电路单元 - Google Patents
数据处理方法、存储器存储装置与存储器控制电路单元 Download PDFInfo
- Publication number
- CN104573537B CN104573537B CN201310472613.0A CN201310472613A CN104573537B CN 104573537 B CN104573537 B CN 104573537B CN 201310472613 A CN201310472613 A CN 201310472613A CN 104573537 B CN104573537 B CN 104573537B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- mark
- encryption
- address
- 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
Classifications
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Abstract
本发明提供一种数据处理方法、存储器存储装置与存储器控制电路单元,其中每一个实体地址是对应到一个标记。此数据处理方法包括:接收一读取指令:读取存储在一实体程序化单元的实体地址中的第一数据;判断此实体程序化单元中的第一标记是第一状态或是第二状态;根据第一标记为第一状态或是第二状态,传送解码后的第一数据或特定格式数据给主机系统。因此,可以减少部分的加密操作。
Description
技术领域
本发明是有关于一种数据处理方法,且特别是有关于一种可复写式非易失性存储器模块的数据处理方法、存储器存储装置与存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,可复写式非易失性存储器模块是与一个主机系统搭配使用。主机系统可以存取(读取或写入)可复写式非易失性存储器模块中的数据。在一些情况下,被写入至可复写式非易失性存储器模块的数据会先被加密,而从可复写式非易失性存储器模块读取的数据会先被解密才传送给主机系统。这些加密与解密的操作可通过一个电路来实作,此电路会加密来自主机系统的数据,并且解密要传送给主机系统的数据。然而,可复写式非易失性存储器模块中有一个最小的写入单元(例如,实体页)。若主机系统所要写入的数据小于一实体页的大小,则此实体页会被特定的数据填满。为了符合加密与解密的一致性,这些特定的数据也需要被加密。因此,需要配置额外的电路来加密这些特定的数据,而此额外的电路会增加制作的成本。
发明内容
本发明提供一种数据处理方法、存储器存储装置与存储器控制电路单元,可以减少部分的加密操作。
本发明一范例实施例提出一种数据处理方法,用于一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括多个实体程序化单元,每一个实体程序化单元包括多个实体地址,并且每一个实体地址是对应至一标记。此数据处理方法包括:配置多个逻辑地址以映射至部分的实体程序化单元;接收来自主机系统的读取指令,其中读取指令指示读取第一逻辑地址,并且第一逻辑地址是映射至第一实体程序化单元;执行第一读取程序。此第一读取程序包括:读取存储在第一实体程序化单元的实体地址中的第一数据;判断第一实体程序化单元中的第一标记是第一状态或是第二状态;若第一标记为第一状态,根据第一密钥对第一数据中存储在第一标记所对应的实体地址的部分执行一解密操作以取得第一解密数据,并传送第一解密数据至主机系统;以及若第一标记为第二状态,根据第一密钥对一特定格式数据执行解密操作以取得第二解密数据,并传送第二解密数据至主机系统。
在一范例实施例中,上述的第一读取程序还包括:判断第一逻辑地址是否为一削减指令所指示的逻辑地址;若第一逻辑地址为削减指令所指示的逻辑地址,传送特定格式数据给主机系统。
在一范例实施例中,上述的数据处理方法还包括:接收来自主机系统的一密钥更新指令;根据密钥更新指令来将加密操作与解密操作所使用的密钥从第一密钥改变为第二密钥。
在一范例实施例中,上述的数据处理方法还包括:;若读取指令是在密钥更新指令前所接收,执行第一读取程序;若读取指令是在密钥更新指令之后所接收,执行第二读取程序。此第二读取程序包括:读取存储在第一实体程序化单元的实体地址中的第一数据;判断第一标记是第一状态或是第二状态;若第一数据是以第一密钥加密且第一标记是第一状态,根据第二密钥对第一数据中存储在第一标记所对应的实体地址的部分执行解密操作以取得第三解密数据,并传送第三解密数据给主机系统;若第一数据是以第一密钥加密且第一标记是第二状态,根据第二密钥对特定格式数据执行解密操作以取得第四解密数据,并传送第四解密数据给主机系统。
在一范例实施例中,上述的第二读取程序还包括:判断第一数据是以第一密钥加密或是第二密钥加密;判断第一逻辑地址是否为一削减指令所指示的逻辑地址;若第一数据是以第一密钥加密且第一逻辑地址为削减指令所指示的逻辑地址,根据第二密钥对特定格式数据执行解密操作以取得第五解密数据,并传送第五解密数据给主机系统。
在一范例实施例中,上述的第二读取程序还包括:若第一数据是以第二密钥加密且第一标记是第一状态,根据第二密钥对第一数据中存储在第一标记所对应的实体地址的部分执行解密操作以取得第五解密数据,并传送第五解密数据给主机系统;以及若第一数据是以第二密钥加密且第一标记是第二状态,根据第二密钥对特定格式数据执行解密操作以取得第六解密数据,并传送第六解密数据给主机系统。
在一范例实施例中,上述的第二读取程序还包括:判断第一数据是以第一密钥加密或是第二密钥加密;判断第一逻辑地址是否为一削减指令所指示的逻辑地址;以及若第一数据是以第二密钥加密且第一逻辑地址为削减指令所指示的逻辑地址,传送特定格式数据给主机系统。
在一范例实施例中,上述的每一个实体程序化单元包括一数据比特区与一冗余比特区。数据比特区包括了上述的实体地址,并且冗余比特区用以记录上述的标记。上述的数据处理方法还包括:对第二数据执行加密操作;提取第二实体程序化单元;将加密后至少部分的第二数据写入至第二实体程序化单元中的至少一个第一实体地址,其中至少一个第二实体地址并未被写入加密后的第二数据;将对应至第一实体地址的至少一个第二标记设定为第一状态,并将对应至第二实体地址的至少一个第三标记设定为第二状态。
本发明一范例实施例提出一种存储器存储装置,包括连接接口单元、上述的可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元是用以电性连接至主机系统。存储器控制电路单元是电性连接至连接接口单元与可复写式非易失性存储器模块,用以配置多个逻辑地址以映射至部分的实体程序化单元。存储器控制电路单元也用以接收来自主机系统的一读取指令,其中读取指令指示读取第一逻辑地址,并且第一逻辑地址是映射至第一实体程序化单元。存储器控制电路单元还用以执行第一读取程序。此第一读取程序包括:读取存储在第一实体程序化单元的实体地址中的第一数据;判断第一实体程序化单元中的第一标记是第一状态或是第二状态;若第一标记为第一状态,根据第一密钥对第一数据中存储在第一标记所对应的实体地址的部分执行一解密操作以取得第一解密数据,并传送第一解密数据至主机系统;若第一标记为第二状态,根据第一密钥对一特定格式数据执行解密操作以取得第二解密数据,并传送第二解密数据至主机系统。
在一范例实施例中,上述的存储器控制电路单元还用以接收来自主机系统的一密钥更新指令,并且根据密钥更新指令来将加密操作与解密操作所使用的密钥从第一密钥改变为第二密钥。
在一范例实施例中,若读取指令是在密钥更新指令前所接收,存储器控制电路单元用以执行上述的第一读取程序。若读取指令是在密钥更新指令之后所接收,存储器控制电路单元还用以执行第二读取程序。此第二读取程序包括:读取存储在第一实体程序化单元的实体地址中的第一数据;判断第一标记是第一状态或是第二状态;若第一数据是以第一密钥加密且第一标记是第一状态,根据第二密钥对第一数据中存储在第一标记所对应的实体地址的部分执行解密操作以取得第三解密数据,并传送第三解密数据给主机系统;以及若第一数据是以第一密钥加密且第一标记是第二状态,根据第二密钥对特定格式数据执行解密操作以取得第四解密数据,并传送第四解密数据给主机系统。
在一范例实施例中,上述的存储器控制电路单元还用以对第二数据执行加密操作,并且提取第二实体程序化单元。存储器控制电路单元也用以将加密后至少部分的第二数据写入至第二实体程序化单元中的至少一个第一实体地址,其中第二实体程序化单元中的至少一个第二实体地址并未被写入加密后的第二数据。存储器控制电路单元也用以将对应至第一实体地址的至少一个第二标记设定为第一状态,并将对应至第二实体地址的至少一个第三标记设定为第二状态。
本发明一范例实施例提出一种存储器控制电路单元,用于控制上述的可复写式非易失性存储器模块。此存储器控制电路单元包括加解密电路、主机接口、存储器接口与存储器管理电路。主机接口是用以电性连接至一主机系统。存储器接口是用以电性连接至可复写式非易失性存储器模块。存储器管理电路是电性连接至主机接口与存储器接口,用以配置多个逻辑地址以映射至部分的实体程序化单元。存储器管理电路也用以接收来自主机系统的一读取指令,其中读取指令指示读取第一逻辑地址,并且第一逻辑地址是映射至第一实体程序化单元。存储器管理电路用以读取存储在第一实体程序化单元的实体地址中的第一数据,并且判断第一实体程序化单元中的第一标记是第一状态或是第二状态。若第一标记为第一状态,加解密电路用以根据第一密钥对第一数据中存储在第一标记所对应的实体地址的部分执行一解密操作以取得第一解密数据,并且存储器管理电路用以传送第一解密数据至主机系统。若第一标记为第二状态,加解密电路用以根据第一密钥对一特定格式数据执行解密操作以取得第二解密数据,并且存储器管理电路用以传送第二解密数据至主机系统。
在一范例实施例中,上述的存储器管理电路还用以判断第一逻辑地址是否为一削减指令所指示的逻辑地址。若第一逻辑地址为削减指令所指示的逻辑地址,存储器管理电路用以传送特定格式数据给主机系统。若第一逻辑地址不为削减指令所指示的逻辑地址,存储器管理电路用以执行所述读取第一数据的操作。
在一范例实施例中,上述的存储器管理电路还用以接收来自主机系统的一密钥更新指令,并且加解密电路根据此密钥更新指令来将加密操作与解密操作所使用的密钥从第一密钥改变为第二密钥。
在一范例实施例中,若读取指令是在密钥更新指令之后所接收,存储器管理电路用以读取存储在第一实体程序化单元的实体地址中的第一数据,并且判断第一标记是第一状态或是第二状态。若第一数据是以第一密钥加密且第一标记是第一状态,加解密电路用以根据第二密钥对第一数据中存储在第一标记所对应的实体地址的部分执行解密操作以取得第三解密数据,并且存储器管理电路用以传送第三解密数据给主机系统。若第一数据是以第一密钥加密且第一标记是第二状态,加解密电路根据第二密钥对特定格式数据执行解密操作以取得第四解密数据,并且存储器管理电路用以传送第四解密数据给主机系统。
在一范例实施例中,上述的存储器管理电路还用以判断第一数据是以第一密钥加密或是第二密钥加密,并且判断第一逻辑地址是否为一削减指令所指示的逻辑地址。若第一数据是以第一密钥加密且第一逻辑地址为削减指令所指示的逻辑地址,加解密电路用以根据第二密钥对特定格式数据执行解密操作以取得第五解密数据,并且存储器管理电路用以传送第五解密数据给主机系统。
在一范例实施例中,若第一数据是以第二密钥加密且第一标记是第一状态,加解密电路用以根据第二密钥对第一数据中存储在第一标记所对应的实体地址的部分执行解密操作以取得第五解密数据,并且存储器管理电路用以传送第五解密数据给主机系统。若第一数据是以第二密钥加密且第一标记是第二状态,加解密电路用以根据第二密钥对特定格式数据执行解密操作以取得第六解密数据,并且存储器管理电路用以传送第六解密数据给主机系统。
在一范例实施例中,若第一数据是以第二密钥加密且第一逻辑地址为削减指令所指示的逻辑地址,存储器管理电路用以传送特定格式数据给主机系统。
在一范例实施例中,存储器管理电路还用以提取第二实体程序化单元。加解密电路用以对第二数据执行一加密操作,并且存储器管理电路用以将加密后至少部分的第二数据写入至第二实体程序化单元中的至少一个第一实体地址。其中第二实体程序化单元中至少一个第二实体地址并未被写入加密后的第二数据。存储器管理电路也用以将对应至第一实体地址的至少一个第二标记设定为第一状态,并将对应至第二实体地址的至少一个第三标记设定为第二状态。
基于上述,本发明范例实施提出的数据处理方法、存储器存储装置与存储器控制电路单元,可以利用标记来代替加密后的特定格式数据,因此不需要配置额外的电路来加密这些特定格式数据。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据一范例实施例所示出的主机系统与存储器存储装置的方块示意图;
图1B是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图1C是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图2是示出图1A所示的存储器存储装置的概要方块图;
图3是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图4是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;
图5是根据一范例实施例示出写入数据的示意图;
图6是根据一范例实施例示出存储器控制电路单元执行写入指令时的运作示意图;
图7是根据一范例实施例示出存储器控制电路单元执行读取指令时的运作示意图;
图8是根据一范例实施例示出存储器存储装置执行读取指令时的电路方块图;
图9A与图9B是根据一范例实施例示出数据处理方法的流程图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:优盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:存储棒;
1318:CF卡;
1320:嵌入式存储装置;
100:存储器存储装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
304(0)~304(R)、304(0)~304(A):实体抹除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
252:缓冲存储器;
254:电源管理电路;
256:错误检查与校正电路;
258:加解密电路;
402:数据区;
404:闲置区;
406:系统区;
410(0)~410(D):逻辑地址;
502:第二数据;
504:加密后的第二数据;
510:实体程序化单元;
520:数据比特区;
530:冗余比特区;
521~524:实体地址;
531~534:标记;
W_1~W_5、R_1~R_5、S902~S905、S911~S915:步骤;
802:总线;
810:第一数据;
820:标记;
830:特定格式数据;
840:多工器;
850:传送器。
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1A是根据一范例实施例所示出的主机系统与存储器存储装置的方块示意图,图1B是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图,图1C是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。
请参照图1A,主机系统1000一般包括电脑1100与输入/输出(input/output,简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图1B所示的优盘1212、存储卡1214或固态硬盘(Solid StateDrive,简称SSD)1216等的可复写式非易失性存储器存储装置。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图1C所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是示出图1A所示的存储器存储装置的概要方块图。
请参照图2,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是相容于序列先进附件(Serial AdvancedTechnology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,简称IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,简称PCI Express)标准、通用串行总线(Universal Serial Bus,简称USB)标准、安全数字(Secure Digital,简称SD)接口标准、超高速一代(Ultra HighSpeed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、存储棒(Memory Stick,简称MS)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、崁入式多媒体存储卡(Embedded Multimedia Card,简称eMMC)接口标准、通用闪存(Universal Flash Storage,简称UFS)接口标准、小型快闪(Compact Flash,简称CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称IDE)标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106具有实体抹除单元304(0)~304(R)。例如,实体抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一个实体抹除单元分别具有多个实体程序化单元,并且属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更具体来说,每一个实体抹除单元包括多条字线与多条位线,每一条字线与每一位线交叉处配置有一个存储单元。每一个存储单元可存储一或多个比特。在同一个实体抹除单元中,所有的存储单元会一起被抹除。在此范例实施例中,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块。另一方面,同一个字线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一个字线上的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。一般来说,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度。在此范例实施例中,每一个实体程序化单元包括数据比特区与冗余比特区。数据比特区包含多个实体地址,用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,错误更正码)。例如,实体程序化单元为实体页面,而实体地址亦可被称为实体扇。在本范例实施例中,每一个数据比特区包含8个实体地址,且一个实体地址的大小为512比特组(byte,简称B)。然而,在其他范例实施例中,数据比特区中也可包含16个、32个或数目更多或更少的实体地址,本发明并不限制实体地址的大小以及个数。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell,简称MLC)NAND型闪存模块,即一个存储单元中可存储至少2个比特。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是单阶存储单元(Single Level Cell,简称SLC)NAND型闪存模块、多阶存储单元(Trinary Level Cell,简称TLC)NAND型闪存模块、其他闪存模块或其他具有相同特性的存储器模块。
图3是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图3,存储器控制电路单元104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元104被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制电路单元104还包括缓冲存储器252、电源管理电路254、错误检查与校正电路256与加解密电路258。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误更正码(error correcting code,简称ECC code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误更正码,并且错误检查与校正电路256会依据此错误更正码对所读取的数据执行错误检查与校正程序。
加解密电路258是用以对数据执行加密操作与解密操作。此加密操作与解密操作可以是符合进阶加密标准(Advanced Encryption Standard,简称AES)、数据加密标准(Data Encryption Standard,简称DES)、其他对称密钥(symmetry-key)演算法或是非对称密钥演算法,本发明并不在此限。在此范例实施例中,加解密电路258是以实时(real-time),或称动态(on-the-fly),的方式进行加密操作与解密操作。
图4是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的实体抹除单元的运作时,以“提取”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图4,存储器管理电路202可将可复写式非易失性存储器模块的实体抹除单元304(0)~304(R)逻辑地划分为多个区域,例如为数据区402、闲置区404与系统区406。
数据区402的实体抹除单元是用以存储来自主机系统1000的数据。闲置区404的实体抹除单元是用以作为数据区402的暂存区。举例来说,若主机系统1000要更新数据区402中的数据,则此数据会先被写入至闲置区404中,之后这些数据会被搬移至数据区402中或与数据区402中的数据合并。或者,闲置区404的实体抹除单元也可用来替换数据区402与系统区406的实体抹除单元。也就是说,当数据区402与系统区406中的实体抹除单元损毁(即,成为坏实体抹除单元(bad physical erasing unit))时,闲置区404的实体抹除单元可用来替换此坏实体抹除单元。倘若闲置区404中无正常的实体抹除单元且有实体抹除单元损毁时,则存储器控制电路单元104会将整个存储器存储装置100宣告为写入保护(writeprotect)状态,而无法再写入数据。在另一范例实施例中,存储器管理电路202可再划分出一个取代区,专门存放用来替换坏实体抹除单元的实体抹除单元,本发明并不在此限。
系统区406的实体抹除单元是用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
数据区402、闲置区404与系统区406的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,实体抹除单元关联至数据区402、闲置区404与系统区406的分组关系会动态地变动。例如,当数据区402中的实体抹除单元损坏而被闲置区404的实体抹除单元取代时,则原本闲置区404的实体抹除单元会被关联至数据区402。
存储器管理电路202会配置逻辑地址410(0)~410(D)以映射至数据区402中的实体抹除单元304(0)~304(A)。主机系统1000是通过逻辑地址410(0)~410(D)来存取数据区402中的数据。在此范例实施例中,一个逻辑地址是映射至一个实体地址,多个逻辑地址会组成一个逻辑程序化单元,并且多个逻辑程序化单元会组成一个逻辑抹除单元。一个逻辑程序化单元是映射至一或多个实体程序化单元,而一个逻辑抹除单元是映射至一或多个实体抹除单元。
在此范例实施例中,存储器管理电路202是以逻辑抹除单元来管理可复写式非易失性存储器模块106,因此存储器管理电路202会建立一个映射表以记录逻辑抹除单元与实体抹除单元之间的映射关系。在另一范例实施例中,存储器管理电路202是以逻辑程序化单元来管理可复写式非易失性存储器模块106,因此存储器管理电路202会建立一个映射表以记录逻辑程序化单元与实体程序化单元之间的映射关系。
当主机系统1000要将一份数据写入至存储器存储装置100时,主机系统1000会下达一个写入指令,其指示将数据写入至某一个逻辑地址。在接收到此写入指令以后,加解密电路258会对此数据执行加密操作,接着存储器管理电路202会提取一个实体程序化单元,并且存储器管理电路202会将加密后的数据写入至此实体程序化单元中的一或多个实体地址。然而,被写入的数据的大小不一定会相符于实体程序化单元的大小。若数据的大小是小于实体程序化单元的大小,被写入的实体程序化单元中有若干个实体地址不会被程序化。一般来说,这些未被程序化的实体地址应该要存储加密后的一特定格式数据(例如,全为”0”或全为”1”的数据,本发明并不在此限)。如此一来,当主机系统1000要读取上述实体程序化单元中的数据时,实体程序化单元中的数据会经过解密操作而成为先前被写入的数据与特定格式数据,并且主机系统1000会接收到这些数据与特定格式数据。
然而,在本范例实施例中,存储器管理电路202会记录多个标记,而每一个标记是对应至一个实体地址。例如,这些标记与数据区402中的实体地址之间的对应关系为对射(bijection)。这些标记是用来代替加密后的特定格式数据。具体来说,这些标记是用来指示哪些实体地址有存储加密后的数据,哪些实体地址所存储的应该是加密后的特定格式数据。存储器管理电路202并不会把加密后的特定格式数据写入至实体程序化单元中。在此范例实施例中,这些标记是被记录在冗余比特区中,并且是对应到同一个实体程序化单元中数据比特区内的实体地址。但在其他范例实施例中,这些标记也可以被记录在其他存储器中,本发明并不在此限。以下将举范例实施例来说这些标记的功能与相关的操作。
图5是根据一范例实施例示出写入数据的示意图。
请参照图5,在此假设主机系统1000所下达的写入指令指示写入第二数据502至逻辑地址410(0)~410(D)的至少其中之一。加解密电路258会对第二数据502执行加密操作以得到加密后的第二数据504。在此范例实施例中,第二数据502的大小是相同于加密后的第二数据504的大小,但本发明并不在此限。存储器管理电路202会从闲置区404中提取一个实体程序化单元510(亦称第二实体程序化单元)。实体程序化单元510包括了数据比特区520和冗余比特区530。数据比特区520中包括了实体地址521~524,而冗余比特区530中记录了标记531~534。其中,实体地址521是对应至标记531;实体地址522是对应至标记532;实体地址523是对应至标记533;实体地址524是对应至标记534。
存储器管理电路202会将加密后的第二数据504写入至数据比特区520中的至少一第一实体地址,而数据比特区520中的至少一第二实体地址并没有被写入加密后的第二数据504。存储器管理电路202会将标记531~534中对应至第一实体地址的标记(亦称第二标记)设定为第一状态,并将标记531~534中对应至第二实体地址的标记(亦称第三标记)设定为第二状态。第一状态是表示对应的实体地址存储了加密后的数据,而第二状态是表示对应的实体地址所应该存储的是加密后的特定格式数据。例如,第一状态是比特”1”,而第二状态是比特”0”。然而,存储器管理电路202可以用任意的比特、数字或是符号来表示第一状态与第二状态,本发明并不在此限。在此,假设第二数据502的大小是1024KB(相同于两个实体地址的大小),存储器管理电路202会将加密后的第二数据504写入至实体地址521与522(即,上述的第一实体地址),并将标记531与532设定为第一状态。存储器管理电路202也会将实体地址523~524(即,上述的第二实体地址)所对应的标记533~534设定为第二状态。换句话说,在上述的例子中,第一实体地址的大小会相同于第二数据502的大小,并且实体地址521~524中除了第一实体地址的其他部分为第二实体地址。
在另一范例实施例中,第二数据502的大小与加密后的第二数据504的大小会大于一个实体程序化单元的大小。存储器管理电路202会将部分的加密后的第二数据504写入至其他一或多个实体程序化单元510,并且这些实体程序化单元510中的标记都会被设定为第一状态。存储器管理电路202会将加密后的第二数据504中剩余的部分写入至第二实体程序化单元510,也就是说,上述第一实体地址的大小会相同于此剩余部分的大小。本发明并不限制第二数据502的大小。
图6是根据一范例实施例示出存储器控制电路单元执行写入指令时的运作示意图。
请参照图6,为简化起见,在此仅示出了存储器存储装置100中的部分元件。在步骤W_1中,主机系统1000会传送写入指令给连接接口单元102。在步骤W_2中,连接接口单元102会将要写入的数据传送给加解密电路258,而加解密电路258会以实时的方式对这些数据执行加密操作。在步骤W_3中,加解密电路258会将加密后的数据传送给连接接口单元102。在步骤W_4中,存储器管理电路202会将这些加密后的数据存储在缓冲存储器252中。存储器管理电路202会产生对应的标记,并将这些标记暂时存储在缓冲存储器252中。在步骤W_5中,存储器管理电路202会将加密后的数据以及对应的标记写入至可复写式非易失性存储器模块106中。如此一来,存储器管理电路202便不用对特定格式数据执行加密操作,并且不用将加密后的特定格式数据写入至可复写式非易失性存储器模块106。
在某一情况下,主机系统1000会下达一个密钥更新指令给存储器存储装置100。加解密电路258会根据此密钥更新指令来将加密操作与解密操作所使用的密钥从第一密钥改变为第二密钥。然而,当主机系统1000要读取数据时,密钥的改变会影响如何读取可复写式非易失性存储器模块106中的数据。在本范例实施例中,存储器管理电路202会判断密钥是否已被改变,并且判断所要读取的数据是以第一密钥加密或是第二密钥加密,进而在不同的情况下执行不同的读取程序。以下将举范例实施例说明存储器管理电路202如何读取数据。
请参照图5,当主机系统1000要读取数据时,主机系统1000会下达一个读取指令给存储器存储装置100。此读取指令是指示读取逻辑地址410(0)~410(D)中的至少一第一逻辑地址,并且第一逻辑地址是映射至一第一实体程序化单元。此第一实体程序化单元可以相同或不相同于实体程序化单元510,本发明并不在此限。
在此假设主机系统1000是先写入第二数据502,接着下达读取指令(即,主机系统1000并没有下达密钥更新指令,而第二数据502是以第一密钥加密);并且,所要读取的第一逻辑地址是映射至实体程序化单元510。在此情况下,存储器管理电路202会判断第一逻辑地址是否为一削减(trim)指令所指示的逻辑地址。主机系统1000是用削减指令来删除属于一或多个逻辑地址的数据,并且存储器管理电路202会纪录哪些逻辑地址已被删除。若第一逻辑地址是削减指令所指示的逻辑地址,表示主机系统1000已逻辑地删除了实体程序化单元510中的数据,因此存储器管理电路202会传送特定格式数据给主机系统1000。若第一逻辑地址不是削减指令所指示的逻辑地址(或存储器管理电路202并没有接收到削减指令),存储器管理电路202会读取实体地址521~524中的数据(亦称第一数据),并且判断每一个标记531~534是第一状态或是第二状态。若标记531~534中有一标记(亦称第一标记)为第一状态,则加解密电路258会根据第一密钥对第一数据中存储在第一标记所对应的实体地址的部分执行解密操作以取得解密数据(亦称第一解密数据),并且存储器管理电路202会传送此第一解密数据至该主机系统。若第一标记为第二状态,加解密电路258会根据第一密钥对特定格式数据执行解密操作以取得解密数据(亦称第二解密数据),并且存储器管理电路202会传送此第二解密数据至此主机系统。举例来说,标记531与532为第一状态,因此加解密电路258会对第一数据中存储在实体地址521与522的部分执行解密操作,并且存储器管理电路202将解密后的数据传送给主机系统1000。另一方面,标记533~534为第二状态,因此加解密电路258会根据第一密钥对特定格式数据执行解密操作,并且存储器管理电路202会将解密后的数据传送给主机系统1000。换言之,主机系统1000接收到的会是第二数据502与特定格式数据(其符合两个实体地址的大小)。以上在没有接收到密钥更新指令时,或读取指令是在密钥更新指令之前所接收时,才执行的读取程序亦被称为第一读取程序。
值得注意的是,以上存储器管理电路202传送数据给主机系统1000的操作是由存储器管理电路202驱动连接接口单元102以将数据传送给主机系统1000,以下不再赘述。
在另一情况下,主机系统1000是先写入第二数据502,接着下达密钥更新指令,最后才下达读取指令。也就是说,第二数据502是以第一密钥所加密,但读取数据时加解密电路258所使用的是第二密钥。同样地,在此假设所要读取的第一逻辑地址是映射至实体程序化单元510。在此情况下,存储器管理电路202会判断第一逻辑地址是否为削减指令所指示的逻辑地址。若第一逻辑地址是削减指令所指示的逻辑地址,加解密电路258会根据第二密钥对特定格式数据执行解密操作以取得解密数据,并且存储器管理电路202会传送此解密数据给该主机系统1000。若第一逻辑地址不是削减指令所指示的逻辑地址(或存储器管理电路202没有接收到削减指令),则存储器管理电路202会从实体程序化单元510中读取数据(亦称第一数据),并且判断标记531~534为第一状态或是第二状态。由于标记531~532为第一状态,加解密电路258会根据第二密钥对第一数据中存储在逻辑地址521~522的部分执行解密操作以取得解密数据,并且存储器管理电路202会将此解密数据传送给主机系统1000。此外,由于标记533~534为第二状态,加解密电路258会根据第二密钥对特定格式进行解密操作以取得解密数据,并且存储器管理电路202会将此解密数据传送给主机系统1000。
在另一情况下,主机系统1000是先下达密钥更新指令,接着写入第二数据502,最后才下达读取指令。换言之,第二数据502是以第二密钥加密。在此情况下,存储器管理电路202会判断第一逻辑地址是否为削减指令所指示的逻辑地址。若第一逻辑地址是削减指令所指示的逻辑地址,连接接口单元102会直接将特定格式数据传送给主机系统1000。若第一逻辑地址不是削减指令所指示的逻辑地址(或存储器管理电路202没有接收到削减指令),则存储器管理电路202会从实体程序化单元510中读取第一数据,并且判断标记531~534为第一状态或是第二状态。由于标记531~532为第一状态,加解密电路258会根据第二密钥对第一数据中存储在逻辑地址521~522的部分执行解密操作以取得解密数据,并且存储器管理电路202会将此解密数据传送给主机系统1000。此外,由于标记533~534为第二状态,加解密电路258会根据第二密钥对特定格式进行解密操作以取得解密数据,并且存储器管理电路202会将此解密数据传送给主机系统1000。
综合来说,在密钥被改变之后,存储器管理电路202会以第二密钥来执行解密操作。值得注意的是,若所读取的第一数据是以第一密钥加密,且对应的逻辑地址已被削减指令所删除,则加解密电路258是根据第二密钥来对特定格式数据执行解密操作(即,会产生一些乱码)。然而,若所读取的第一数据是以第二密钥加密,且对应的逻辑地址已被削减指令所删除,则连接接口单元102会直接传送特定格式数据给主机系统1000。在其他情况下,则根据标记为第一状态或是第二状态,加解密电路258会根据第二密钥对第一数据或是特定格式数据执行解密操作。以上在接收到密钥更新指令以后才接收到读取指令所执行的读取程序亦被称为第二读取程序。
图7是根据一范例实施例示出存储器控制电路单元执行读取指令时的运作示意图。
请参照图7,为简化起见,在此仅示出了存储器存储装置100中的部分元件。在步骤R_1中,存储器管理电路202会从可复写式挥发性存储器模块106中的第一实体程序化单元内读取第一数据以及对应的标记至缓冲存储器252。在步骤R_2中,根据所读取的标记是第一状态或是第二状态,存储器管理电路202会将第一数据或是特定格式数据传送给连接接口单元102。在步骤R_3中,连接接口单元102会将第一数据或是特定格式数据传送给加解密电路258。加解密电路258会对这些第一数据或是特定格式数据执行解密操作。在步骤R_4中,加解密电路258会将解密的结果传送给连接接口单元102。在步骤R_5中,连接接口单元102会将解密的结果传送给主机系统1000。
图8是根据一范例实施例示出存储器存储装置执行读取指令时的部分电路方块图。
请参照图8,存储器管理电路202会先根据一个读取指令从可复写式非易失性存储器模块106中读取第一数据810与对应的标记820,并通过总线802将第一数据810与标记820写至缓冲存储器252。接下来,存储器管理电路202会将标记820传送给多工器840的控制端,并且将第一数据810传送给多工器840的第一端。另一方面,特定格式数据830会被传送给多工器840的第二端。特定格式数据830可以由存储器管理电路202所产生,也可以由另一个电路产生,本发明并不在此限。若标记820为第一状态,则多工器840会将第一数据810传送给加解密电路258;若标记820为第二状态,则多工器840会将特定格式数据830传送给加解密电路258。加解密电路258会对接收到的数据执行解密操作并且把解密后的数据传送给传送器850。最后,传送器850会把解密后的数据传送给主机系统1000。
图9A与图9B是根据一范例实施例示出数据处理方法的流程图。
请参照图9A,在步骤S902中,对第二数据执行加密操作。在步骤S903中,提取第二实体程序化单元。在步骤S904中,将加密后至少部分的第二数据写入至第一实体程序化中的至少一第一实体地址,其中第一实体程序化中的至少一第二实体地址并未被写入加密后的第二数据。在步骤S905中,将对应至第一实体地址的至少一第二标记设定为第一状态,并将对应至第二实体地址的至少一第三标记设定为第二状态。
请参照图9B,在步骤S911中,接收来自主机系统的一读取指令,其中读取指令指示读取第一逻辑地址,并且第一逻辑地址是映射至第一实体程序化单元。在步骤S912中,读取存储在第一实体程序化单元的实体地址中的第一数据。在步骤S913中,判断第一实体程序化单元中的第一标记是第一状态或是第二状态。若第一标记为第一状态,在步骤S914中,对第一数据中存储在第一标记所对应的实体地址的部分执行解密操作以取得第一解密数据,并传送第一解密数据至主机系统。若第一标记为第二状态,在步骤S915中,对一特定格式数据执行解密数据以取得第二解密数据,并传送第二解密数据至主机系统。其中,步骤S912~915亦被合称为第一读取程序。
然而,图9A与图9B中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图9A与图9B中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图9A与图9B的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,本发明范例实施例提出的数据处理方法、存储器控制电路单元与存储器存储装置,可以用标记来代替加密后的特定格式数据,使得存储器存储装置中不需要额外配置一个电路来加密这些特定格式数据。此外,当密钥改变以后,用第一密钥加密的数据或是在接收到密钥更新指令之前被削减的数据会变成乱码传送给主机系统。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种数据处理方法,其特征在于,用于一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括多个实体程序化单元,所述多个实体程序化单元中的每一个实体程序化单元包括多个实体地址,并且所述多个实体地址中的每一个实体地址是对应至一标记,该数据处理方法包括:
配置多个逻辑地址以映射至所述多个实体程序化单元中部分的实体程序化单元;
接收来自一主机系统的一读取指令,其中该读取指令指示读取所述多个逻辑地址中的一第一逻辑地址,并且该第一逻辑地址是映射至所述多个实体程序化单元中的一第一实体程序化单元;
执行一第一读取程序,其中该第一读取程序包括:
读取存储在该第一实体程序化单元的多个实体地址中的一第一数据;
判断该第一实体程序化单元的所述多个实体地址所对应的多个标记中的一第一标记是一第一状态或是一第二状态;
若该第一标记为该第一状态,根据一第一密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行一解密操作以取得一第一解密数据,并传送该第一解密数据至该主机系统;以及
若该第一标记为该第二状态,根据该第一密钥对一特定格式数据执行该解密操作以取得一第二解密数据,并传送该第二解密数据至该主机系统。
2.根据权利要求1所述的数据处理方法,其特征在于,该第一读取程序还包括:
判断该第一逻辑地址是否为一削减指令所指示的逻辑地址;
若该第一逻辑地址为该削减指令所指示的逻辑地址,传送该特定格式数据给该主机系统。
3.根据权利要求1所述的数据处理方法,其特征在于,还包括:
接收来自该主机系统的一密钥更新指令;
根据该密钥更新指令来将一加密操作与该解密操作所使用的一密钥从该第一密钥改变为一第二密钥。
4.根据权利要求3所述的数据处理方法,其特征在于,还包括:
若读取指令是在该密钥更新指令前所接收,执行该第一读取程序;
若该读取指令是在该密钥更新指令之后所接收,执行一第二读取程序,其中该第二读取程序包括:
读取存储在该第一实体程序化单元的所述多个实体地址中的该第一数据;
判断该第一标记是该第一状态或是该第二状态;
若该第一数据是以该第一密钥加密且该第一标记是该第一状态,根据该第二密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行该解密操作以取得一第三解密数据,并传送该第三解密数据给该主机系统;以及
若该第一数据是以该第一密钥加密且该第一标记是该第二状态,根据该第二密钥对该特定格式数据执行该解密操作以取得一第四解密数据,并传送该第四解密数据给该主机系统。
5.根据权利要求4所述的数据处理方法,其特征在于,该第二读取程序还包括:
判断该第一数据是以该第一密钥加密或是该第二密钥加密;
判断该第一逻辑地址是否为一削减指令所指示的逻辑地址;
若该第一数据是以该第一密钥加密且该第一逻辑地址为该削减指令所指示的逻辑地址,根据该第二密钥对该特定格式数据执行该解密操作以取得一第五解密数据,并传送该第五解密数据给该主机系统。
6.根据权利要求4所述的数据处理方法,其特征在于,该第二读取程序还包括:
若该第一数据是以该第二密钥加密且该第一标记是该第一状态,根据该第二密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行该解密操作以取得一第五解密数据,并传送该第五解密数据给该主机系统;以及
若该第一数据是以该第二密钥加密且该第一标记是该第二状态,根据该第二密钥对该特定格式数据执行该解密操作以取得一第六解密数据,并传送该第六解密数据给该主机系统。
7.根据权利要求4所述的数据处理方法,其特征在于,该第二读取程序还包括:
判断该第一数据是以该第一密钥加密或是该第二密钥加密;
判断该第一逻辑地址是否为一削减指令所指示的逻辑地址;以及
若该第一数据是以该第二密钥加密且该第一逻辑地址为该削减指令所指示的逻辑地址,传送该特定格式数据给该主机系统。
8.根据权利要求1所述的数据处理方法,其特征在于,所述多个实体程序化单元中的每一个实体程序化单元包括一数据比特区与一冗余比特区,所述数据比特区包括所述多个实体地址,并且所述冗余比特区用以记录所述多个标记,其中该数据处理方法还包括:
对一第二数据执行一加密操作;
从所述多个实体程序化单元中提取一第二实体程序化单元;
将加密后至少部分的该第二数据写入至该第二实体程序化单元的多个实体地址中的至少一第一实体地址,其中该第二实体程序化单元的所述多个实体地址中的至少一第二实体地址并未被写入加密后的该第二数据;以及
将所述多个标记中对应至该至少一第一实体地址的至少一第二标记设定为该第一状态,并将所述多个标记中对应至该至少一第二实体地址的至少一第三标记设定为该第二状态。
9.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,包括多个实体程序化单元,其中所述多个实体程序化单元中的每一个实体程序化单元包括多个实体地址,并且所述多个实体地址中的每一个实体地址是对应至一标记;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,用以配置多个逻辑地址以映射至所述多个实体程序化单元中部分的实体程序化单元,并接收来自该主机系统的一读取指令,其中该读取指令指示读取所述多个逻辑地址中的一第一逻辑地址,并且该第一逻辑地址是映射至所述多个实体程序化单元中的一第一实体程序化单元,
其中,该存储器控制电路单元用以执行一第一读取程序,其中该第一读取程序包括:
读取存储在该第一实体程序化单元的多个实体地址中的一第一数据;
判断该第一实体程序化单元的所述多个实体地址所对应的多个标记中的一第一标记是一第一状态或是一第二状态;
若该第一标记为该第一状态,根据一第一密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行一解密操作以取得一第一解密数据,并传送该第一解密数据至该主机系统;以及
若该第一标记为该第二状态,根据该第一密钥对一特定格式数据执行该解密操作以取得一第二解密数据,并传送该第二解密数据至该主机系统。
10.根据权利要求9所述的存储器存储装置,其特征在于,该第一读取程序还包括:
判断该第一逻辑地址是否为一削减指令所指示的逻辑地址;
若该第一逻辑地址为该削减指令所指示的逻辑地址,传送该特定格式数据给该主机系统。
11.根据权利要求9所述的存储器存储装置,其特征在于,存储器控制电路单元还用以接收来自该主机系统的一密钥更新指令,并且根据该密钥更新指令来将一加密操作与该解密操作所使用的一密钥从该第一密钥改变为一第二密钥。
12.根据权利要求11所述的存储器存储装置,其特征在于,若读取指令是在该密钥更新指令前所接收,该存储器控制电路单元用以执行该第一读取程序,
若该读取指令是在该密钥更新指令之后所接收,该存储器控制电路单元还用以执行一第二读取程序,其中该第二读取程序包括:
读取存储在该第一实体程序化单元的所述多个实体地址中的该第一数据;
判断该第一数据是以该第一密钥加密或是该第二密钥加密;
若该第一数据是以该第一密钥加密且该第一标记是该第一状态,根据该第二密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行该解密操作以取得一第三解密数据,并传送该第三解密数据给该主机系统;以及
若该第一数据是以该第一密钥加密且该第一标记是该第二状态,根据该第二密钥对该特定格式数据执行该解密操作以取得一第四解密数据,并传送该第四解密数据给该主机系统。
13.根据权利要求12所述的存储器存储装置,其特征在于,该第二读取程序还包括:
判断该第一数据是以该第一密钥加密或是该第二密钥加密;
判断该第一逻辑地址是否为一削减指令所指示的逻辑地址;
若该第一数据是以该第一密钥加密且该第一逻辑地址为该削减指令所指示的逻辑地址,根据该第二密钥对该特定格式数据执行该解密操作以取得一第五解密数据,并传送该第五解密数据给该主机系统。
14.根据权利要求12所述的存储器存储装置,其特征在于,该第二读取程序还包括:
若该第一数据是以该第二密钥加密且该第一标记是该第一状态,根据该第二密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行该解密操作以取得一第五解密数据,并传送该第五解密数据给该主机系统;以及
若该第一数据是以该第二密钥加密且该第一标记是该第二状态,根据该第二密钥对该特定格式数据执行该解密操作以取得一第六解密数据,并传送该第六解密数据给该主机系统。
15.根据权利要求12所述的存储器存储装置,其特征在于,该第二读取程序还包括:
判断该第一数据是以该第一密钥加密或是该第二密钥加密;
判断该第一逻辑地址是否为一削减指令所指示的逻辑地址;以及
若该第一数据是以该第二密钥加密且该第一逻辑地址为该削减指令所指示的逻辑地址,传送该特定格式数据给该主机系统。
16.根据权利要求9所述的存储器存储装置,其特征在于,所述多个实体程序化单元中的每一个实体程序化单元包括一数据比特区与一冗余比特区,所述数据比特区包括所述多个实体地址,并且所述冗余比特区用以记录所述多个标记,
其中,该存储器控制电路单元还用以对一第二数据执行一加密操作,并且从所述多个实体程序化单元中提取一第二实体程序化单元,
其中,该存储器控制电路单元用以将加密后至少部分的该第二数据写入至该第二实体程序化单元的多个实体地址中的至少一第一实体地址,其中该第二实体程序化单元的所述多个实体地址中的至少一第二实体地址并未被写入加密后的该第二数据,
其中,该存储器控制电路单元用以将所述多个标记中对应至该至少一第一实体地址的至少一第二标记设定为该第一状态,并将所述多个标记中对应至该至少一第二实体地址的至少一第三标记设定为该第二状态。
17.一种存储器控制电路单元,其特征在于,用于控制一可复写式非易失性存储器模块,该存储器控制电路单元包括:
一加解密电路;
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括多个实体程序化单元,所述多个实体程序化单元中的每一个实体程序化单元包括多个实体地址,并且所述多个实体地址中的每一个实体地址是对应至一标记;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,用以配置多个逻辑地址以映射至所述多个实体程序化单元中部分的实体程序化单元,并且
接收来自该主机系统的一读取指令,其中该读取指令指示读取所述多个逻辑地址中的一第一逻辑地址,并且该第一逻辑地址是映射至所述多个实体程序化单元中的一第一实体程序化单元,
其中,该存储器管理电路用以读取存储在该第一实体程序化单元的多个实体地址中的一第一数据,并且判断该第一实体程序化单元的所述多个实体地址所对应的所述多个标记中的一第一标记是一第一状态或是一第二状态,
若该第一标记为该第一状态,该加解密电路用以根据一第一密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行一解密操作以取得一第一解密数据,并且该存储器管理电路用以传送该第一解密数据至该主机系统,
若该第一标记为该第二状态,该加解密电路用以根据该第一密钥对一特定格式数据执行该解密操作以取得一第二解密数据,并且该存储器管理电路用以传送该第二解密数据至该主机系统。
18.根据权利要求17所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以判断该第一逻辑地址是否为一削减指令所指示的逻辑地址,
若该第一逻辑地址为该削减指令所指示的逻辑地址,该存储器管理电路用以传送该特定格式数据给该主机系统。
19.根据权利要求17所述的存储器控制电路单元,其特征在于,存储器管理电路还用以接收来自该主机系统的一密钥更新指令,并且该加解密电路根据该密钥更新指令来将一加密操作与该解密操作所使用的一密钥从该第一密钥改变为一第二密钥。
20.根据权利要求19所述的存储器控制电路单元,其特征在于,若该读取指令是在该密钥更新指令之后所接收,该存储器管理电路用以读取存储在该第一实体程序化单元的所述多个实体地址中的该第一数据,并且判断该第一标记是该第一状态或是该第二状态,
其中,若该第一数据是以该第一密钥加密且该第一标记是该第一状态,该加解密电路用以根据该第二密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行该解密操作以取得一第三解密数据,并且该存储器管理电路用以传送该第三解密数据给该主机系统,
其中,若该第一数据是以该第一密钥加密且该第一标记是该第二状态,该加解密电路根据该第二密钥对该特定格式数据执行该解密操作以取得一第四解密数据,并且该存储器管理电路用以传送该第四解密数据给该主机系统。
21.根据权利要求20所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以判断该第一数据是以该第一密钥加密或是该第二密钥加密,并且判断该第一逻辑地址是否为一削减指令所指示的逻辑地址,
其中,若该第一数据是以该第一密钥加密且该第一逻辑地址为该削减指令所指示的逻辑地址,该加解密电路用以根据该第二密钥对该特定格式数据执行该解密操作以取得一第五解密数据,并且该存储器管理电路用以传送该第五解密数据给该主机系统。
22.根据权利要求20所述的存储器控制电路单元,其特征在于,若该第一数据是以该第二密钥加密且该第一标记是该第一状态,该加解密电路用以根据该第二密钥对该第一数据中存储在该第一标记所对应的该实体地址的部分执行该解密操作以取得一第五解密数据,并且该存储器管理电路用以传送该第五解密数据给该主机系统,
其中,若该第一数据是以该第二密钥加密且该第一标记是该第二状态,该加解密电路用以根据该第二密钥对该特定格式数据执行该解密操作以取得一第六解密数据,并且该存储器管理电路用以传送该第六解密数据给该主机系统。
23.根据权利要求20所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以判断该第一数据是以该第一密钥加密或是该第二密钥加密,并且判断该第一逻辑地址是否为一削减指令所指示的逻辑地址,
若该第一数据是以该第二密钥加密且该第一逻辑地址为该削减指令所指示的逻辑地址,该存储器管理电路用以传送该特定格式数据给该主机系统。
24.根据权利要求17所述的存储器控制电路单元,其特征在于,所述多个实体程序化单元中的每一个实体程序化单元包括一数据比特区与一冗余比特区,所述数据比特区包括所述多个实体地址,并且所述冗余比特区用以记录所述多个标记,
其中,该存储器管理电路还用以从所述多个实体程序化单元中提取一第二实体程序化单元,
其中,该加解密电路用以对一第二数据执行一加密操作,并且该存储器管理电路用以将加密后至少部分的该第二数据写入至该第二实体程序化单元的多个实体地址中的至少一第一实体地址,其中该第二实体程序化单元的所述多个实体地址中的至少一第二实体地址并未被写入加密后的该第二数据,
其中,该存储器管理电路用以将所述多个标记中对应至该至少一第一实体地址的至少一第二标记设定为该第一状态,并将所述多个标记中对应至该至少一第二实体地址的至少一第三标记设定为该第二状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310472613.0A CN104573537B (zh) | 2013-10-11 | 2013-10-11 | 数据处理方法、存储器存储装置与存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310472613.0A CN104573537B (zh) | 2013-10-11 | 2013-10-11 | 数据处理方法、存储器存储装置与存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104573537A CN104573537A (zh) | 2015-04-29 |
CN104573537B true CN104573537B (zh) | 2017-09-15 |
Family
ID=53089575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310472613.0A Active CN104573537B (zh) | 2013-10-11 | 2013-10-11 | 数据处理方法、存储器存储装置与存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104573537B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10979223B2 (en) * | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
CN110069934B (zh) * | 2018-01-23 | 2022-12-13 | 群联电子股份有限公司 | 存储器存储系统、主机系统验证方法及存储器存储装置 |
CN108984424A (zh) * | 2018-07-19 | 2018-12-11 | 江苏华存电子科技有限公司 | 一种主机软体与存储装置之间的沟通方法 |
CN110837339B (zh) * | 2018-08-17 | 2023-07-04 | 群联电子股份有限公司 | 数据整并方法、存储器存储装置及存储器控制电路单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023936A (zh) * | 2010-11-19 | 2011-04-20 | 苏州国芯科技有限公司 | 一种用于usb储存设备中加密数据的解密方法 |
TW201203108A (en) * | 2010-05-25 | 2012-01-16 | Via Tech Inc | Microprocessors and operating methods thereof and encryption/decryption methods |
US8286004B2 (en) * | 2009-10-09 | 2012-10-09 | Lsi Corporation | Saving encryption keys in one-time programmable memory |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898541B2 (en) * | 2011-11-30 | 2014-11-25 | Sony Corporation | Storage controller, storage device, information processing system, and storage controlling method |
-
2013
- 2013-10-11 CN CN201310472613.0A patent/CN104573537B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8286004B2 (en) * | 2009-10-09 | 2012-10-09 | Lsi Corporation | Saving encryption keys in one-time programmable memory |
TW201203108A (en) * | 2010-05-25 | 2012-01-16 | Via Tech Inc | Microprocessors and operating methods thereof and encryption/decryption methods |
CN102023936A (zh) * | 2010-11-19 | 2011-04-20 | 苏州国芯科技有限公司 | 一种用于usb储存设备中加密数据的解密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104573537A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9037782B2 (en) | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same | |
US9058296B2 (en) | Data processing method, memory storage device and memory control circuit unit | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US9946661B2 (en) | Command executing method, memory controller and memory storage apparatus | |
CN104166636B (zh) | 存储器储存装置及其还原方法与存储器控制器 | |
CN105005450B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN104732153B (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN104346103B (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
CN104636267B (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN106683701B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN104573537B (zh) | 数据处理方法、存储器存储装置与存储器控制电路单元 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN107239225A (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN103577344B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN105183660B (zh) | 数据读取方法、存储器控制器与储存装置 | |
CN104731710B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN104252600B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN105653391B (zh) | 数据存取方法、存储器控制电路单元及存储器储存装置 | |
CN107204205A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN108959109A (zh) | 数据读取方法、存储器控制电路单元与存储器存储装置 | |
CN104142895B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |