CN103377149B - 保护数据的方法、存储器控制器与存储器储存装置 - Google Patents
保护数据的方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN103377149B CN103377149B CN201210111121.4A CN201210111121A CN103377149B CN 103377149 B CN103377149 B CN 103377149B CN 201210111121 A CN201210111121 A CN 201210111121A CN 103377149 B CN103377149 B CN 103377149B
- Authority
- CN
- China
- Prior art keywords
- block address
- virtual area
- access
- region
- logical
- 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
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种保护数据的方法、存储器控制器与存储器储存装置。该数据保护方法,用于具有多个物理区块的可重写式非易失性存储器模块,其中多个逻辑区块地址会映射至部份的物理区块。该方法包括:配置多个虚拟区块地址以映射上述的逻辑区块地址;将至少一个虚拟区块地址划分为一虚拟区块地址区域,并分配此虚拟区块地址区域给一应用程序。该方法还包括:从此应用程序中接收用以指示存取第一虚拟区块地址的存取指令;判断第一虚拟区块地址是否属于所述虚拟区块地址区域;若否,则回应存取错误讯息给上述的应用程序。藉此,本方法可有效地避免一个应用程序存取到其不可存取的数据。
Description
技术领域
本发明涉及一种数据保护的技术,特别是涉及一种避免一个应用程序存取到不属于其可存取的数据的数据保护方法以及使用此方法的存储器控制器与存储器储存装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可重写式非易失性存储器(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种便携式多媒体装置中。
一般来说,可重写式非易失性存储器中会包括多个物理区块,且这些物理区块会被映射至多个逻辑区块。这些逻辑区块用以提供一个或多个应用程序来使用。然而,这些应用程序是通过下达存取逻辑区块的指令来存取物理区块。若一个应用程序下达了存取属于其他应用程序的逻辑区块的指令时,属于其他应用程序所存取的数据可能因此被修改,而影响数据的安全性。因此,如何避免一个应用程序存取到不属于本身可存取的数据,为本领域技术人员所关心的议题。
发明内容
本发明提出一种数据保护方法、存储器控制器与存储器储存装置,其可有效地避免一个应用程序存取到非授权可存取的数据。
本发明一范例实施例中提出一种数据保护方法,用于一可重写式非易失性存储器模块。此可重写式非易失性存储器模块包括多个物理区块,而多个逻辑区块地址会被配置以映射至部分的物理区块。此数据保护方法包括:配置多个虚拟区块地址,以映射至上述的逻辑区块地址;将至少一个虚拟区块地址划分为一第一虚拟区块地址区域并且将第一虚拟区块地址区域分配给一第一应用程序,其中第一虚拟区块地址区域会映射至第一逻辑区块地址区域。此数据保护方法还包括:接收来自第一应用程序的第一存取指令,此第一存取指令指示上述存取虚拟区块地址中的第一虚拟区块地址;判断第一虚拟区块地址是否属于第一虚拟区块地址区域;以及,若第一虚拟区块地址不属于第一虚拟区块地址区域时,则回应一存取错误讯息给第一应用程序。
在一范例实施例中,上述的数据保护方法,还包括:若第一虚拟区块地址属于第一虚拟区块地址区域时,取得第一虚拟区块地址所映射的第一逻辑区块地址;以及,根据第一存取指令存取第一逻辑区块地址所映射的物理区块。
在一范例实施例中,上述的数据保护方法还包括:将虚拟区块地址之中的至少另一个虚拟区块地址划分为第二虚拟区块地址区域并且将第二虚拟区块地址区域分配给一第二应用程序;接收来自第二应用程序的一个第二存取指令,此第二存取指令指示存取虚拟区块地址的一第二虚拟区块地址。此数据保护方法还包括:判断第二虚拟区块地址是否属于第二虚拟区块地址区域;以及,若第二虚拟区块地址不属于第二虚拟区块地址区域时,回应存取错误讯息给第二应用程序。
在一范例实施例中,上述的数据保护方法还包括:建立一个存取区块表,用以记录第一虚拟区块地址区域中的虚拟区块地址与第一逻辑区块地址区域中的逻辑区块地址的一映射关系。上述判断第一虚拟区块地址是否属于第一虚拟区块地址区域的步骤包括:根据此存取区块表,判断第一虚拟区块地址是否属于第一虚拟区块地址区域。
在一范例实施例中,上述的数据保护方法还包括:将逻辑区块地址之中的多个第三逻辑区块地址划分为第一逻辑区块地址区域;将虚拟区块地址之中的多个第三虚拟区块地址映射至第三逻辑区块地址并将第三虚拟区块地址划分为第一虚拟区块地址区域,其中第三虚拟区块地址的数目等于第三逻辑区块地址的数目,第三逻辑区块地址为不连续的。此外,在此方法中还包括:将这些第三虚拟区块地址指派给第一应用程序。
以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、可重写式非易失性存储器模块与存储器控制器。其中,连接器是用以电性连接至一主机系统。可重写式非易失性存储器模块包括多个物理区块,其中多个逻辑区块地址会被配置以映射至部份的物理区块。存储器控制器则电性连接至连接器与可重写式非易失性存储器模块。存储器控制器会将上述逻辑区块地址之中的至少一个逻辑区块地址划分为第一逻辑区块地址区域并且将第一逻辑区块地址区域分配给第一应用程序。存储器控制器也会接收来自第一应用程序的第一存取指令,此第一存取指令是用以指示存取上述多个逻辑区块地址中的至少一个第一逻辑区块地址。存储器控制器还会判断第一逻辑区块地址是否属于第一逻辑区块地址区域,若不,则存储器控制器会回应一存取错误讯息给第一应用程序。
在一范例实施例中,若上述的第一逻辑区块地址属于第一逻辑区块地址区域时,存储器控制器会根据第一存取指令存取第一逻辑区块地址所映射的物理区块。
在一范例实施例中,上述的存储器控制器还用以将逻辑区块地址之中的至少另一个逻辑区块地址划分为第二逻辑区块地址区域并且将第二逻辑区块地址区域分配给第二应用程序。存储器控制器也会接收来自第二应用程序的第二存取指令,此第二存取指令是用以指示存取上述逻辑区块地址中的至少一个第二逻辑区块地址。存储器控制器还会判断第二逻辑区块地址是否属于第二逻辑区块地址区域,若不,则存储器控制器会回应存取错误讯息给第二应用程序。
在一范例实施例中,上述的存储器控制器还会记录多个字段,且每个字段是分别对应至一个上述的逻辑区块地址。存储器控制器还用以将第一应用程序的多个权限信息记录在字段当中,其中各个权限信息表示第一应用程序是否有权限存取所对应的逻辑区块地址,而第一应用程序所能存取的逻辑区块地址便属于第一逻辑区块地址区域。存储器控制器还会根据上述的权限信息,判断第一逻辑区块地址是否属于第一逻辑区块地址区域。
以另外一个角度来说,本发明一范例实施例还提出一种存储器控制器,用以控制一个可重写式非易失性存储器模块。此可重写式非易失性存储器模块包括多个物理区块,其中多个逻辑区块地址会被分配以映射至部份的物理区块。此存储器控制器包括主机接口、存储器接口与存储器管理电路。其中,主机接口是用以电性连接至一主机系统。存储器接口是电性连接至上述的可重写式非易失性存储器模块。存储器管理电路则电性连接至主机接口与存储器接口,用以配置多个虚拟区块地址以映射至上述的逻辑区块地址。存储器管理电路也会将至少一个虚拟区块地址划分为第一虚拟区块地址区域并且将第一虚拟区块地址区域分配给一第一应用程序。而第一虚拟区块地址区域会映射至第一逻辑区块地址区域。存储器管理电路也会接收来自第一应用程序的第一存取指令,此第一存取指令指示存取虚拟区块地址中的第一虚拟区块地址。存储器管理电路还会判断第一虚拟区块地址是否属于第一虚拟区块地址区域。若第一虚拟区块地址不属于第一虚拟区块地址区域时,存储器管理电路会回应一个存取错误讯息给第一应用程序。
在一范例实施例中,若第一虚拟区块地址是属于第一虚拟区块地址区域时,存储器管理电路会取得第一虚拟区块地址所映射的第一逻辑区块地址,并根据第一存取指令存取第一逻辑区块地址所映射的物理区块。
在一范例实施例中,上述的存储器管理电路还用以将虚拟区块地址之中的至少另一个虚拟区块地址划分为一第二虚拟区块地址区域并且将第二虚拟区块地址区域分配给一第二应用程序。存储器管理电路还用以接收来自第二应用程序的第二存取指令,此第二存取指令指示存取上述虚拟区块地址中的一第二虚拟区块地址。存储器管理电路还用以判断第二虚拟区块地址是否属于第二虚拟区块地址区域,若第二虚拟区块地址不属于第二虚拟区块地址区域时,则存储器管理电路会回应存取错误讯息给第二应用程序。
在一范例实施例中,上述的存储器管理电路还用以建立一存取区块表,用以记录第一虚拟区块地址区域中的虚拟区块地址与第一逻辑区块地址区域中的逻辑区块地址的一映射关系。存储器管理电路还用以根据此存取区块表,判断第一虚拟区块地址是否属于第一虚拟区块地址区域。
在一范例实施例中,上述的存储器管理电路还用以将上述逻辑区块地址之中的多个第三逻辑区块地址划分为第一逻辑区块地址区域,将上述虚拟区块地址之中的多个第三虚拟区块地址映射至第三逻辑区块地址。存储器管理电路还会将第三虚拟区块地址划分为第一虚拟区块地址区域,而第三虚拟区块地址的数目会等于第三逻辑区块地址的数目,第三逻辑区块地址为不连续的。此外,存储器管理电路会将第三虚拟区块地址指派给第一应用程序。
基于上述,本发明范例实施例所提出的数据保护方法、存储器控制器与存储器储存装置,可以避免一个应用程序存取到属于其他应用程序的逻辑区块地址的数据。
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结婚附图详细说明如下。
附图说明
图1A是根据第一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据第一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据第一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据第一范例实施例所绘示的存储器控制器的概要方块图。
图4与图5是根据第一范例实施例所绘示的管理可重写式非易失性存储器模块的范例示意图。
图6是依照第一范例实施例所绘示的应用程序存取虚拟区块地址的示意图。
图7是根据第一范例实施例说明属于第一应用程序的存取区块表的范例示意图。
图8是根据第一范例实施例说明不连续的虚拟区块地址的范例示意图。
图9是根据第一范例实施例说明不连续的逻辑区块地址的范例示意图。
图10是根据图9所示的范例实施例说明存取区块表的范例示意图。
图11是根据第一范例实施例所绘示的数据保护方法的流程图。
图12是根据第二范例实施例说明将逻辑区块地址分配给应用程序的范例示意图。
图13是根据第二范例实施例绘示属于第一应用程序的多个字段的示意图。
图14是根据第二范例实施例所绘示的数据保护方法的流程图。
附图符号说明
1000:主机系统
1100:计算机
1102:微处理器
1104:随机存取存储器
1105:操作系统
1106:输入/输出装置
1107:应用程序
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):物理区块
202:存储器管理电路
206:存储器接口
254:电源管理电路
252:缓冲存储器
256:错误检查与校正电路
402:数据区
404:闲置区
406:系统区
408:取代区
LBA(0)~LBA(D):逻辑区块地址
602:第一应用程序
604:第二应用程序
702(0)~702(D):虚拟区块地址
704、906:第一虚拟区块地址区域
706、908:第二虚拟区块地址区域
708、622:第一逻辑区块地址区域
710、624:第二逻辑区块地址区域
700:存取区块表
902(0)~902(A)、904(0)~904(G)、802(0)~802(5):虚拟区块地址
S802、S804、S806、S808、S810、S812、S814:数据保护方法的步骤
1222:第一逻辑区块地址区域
1224:第二逻辑区块地址区域
920(0)~920(D):字段
S1004、S1006、S1008、S1010、S1012:数据保护方法的步骤
具体实施方式
[第一范例实施例]
一般而言,存储器储存装置(亦称,存储器储存系统)包括可重写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据第一范例实施例所绘示的主机系统与存储器储存装置。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccessmemory,RAM)1104、系统总线1108与数据传输接口1110。微处理器1102会执行被载入至随机存取存储器1104中的操作系统1105与应用程序1107,以使主机系统1000根据使用者的操作而提供对应的功能。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(SolidStateDrive,SSD)1216等的可重写式非易失性存储器储存装置。
一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可重写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可重写式非易失性存储器模块106。
在本范例实施例中,连接器102是相容于序列先进附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(ParallelAdvancedTechnologyAttachment,PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用序列总线(UniversalSerialBus,USB)标准、安全数位(SecureDigital,SD)接口标准、存储棒(MemoryStick,MS)接口标准、多媒体储存卡(MultiMediaCard,MMC)接口标准、小型快闪(CompactFlash,CF)接口标准、整合式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可重写式非易失性存储器模块106中进行数据的写入、读取与擦除等运作。
可重写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可重写式非易失性存储器模块106具有物理区块304(0)~304(N)。例如,物理区块304(0)~304(N)可属于同一个存储器晶片(die)或者属于不同的存储器晶片。每一物理区块分别具有多个物理页面,并且每一物理页面具有至少一物理扇区,其中属于同一个物理区块的物理页面可被独立地写入且被同时地擦除。例如,每一物理区块是由128个物理页面所组成,并且每一物理页面具有8个物理扇区(sector)。也就是说,在每一物理扇区为512字节(byte)的例子中,每一物理页面的容量为4千字节(Kilobyte,KB)。然而,必须了解的是,本发明不限于此,每一物理区块是可由64个物理页面、256个物理页面或其他任意个物理页面所组成。
更详细来说,物理区块为擦除的最小单位。亦即,每一物理区块含有最小数目的一并被擦除的存储单元。物理页面为编程的最小单元。即,物理页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是物理扇区或其他大小。每一物理页面通常包括数据位区与冗余位区。数据位区用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误检查与校正码)。
在本范例实施例中,可重写式非易失性存储器模块106为多阶存储单元(MultiLevelCell,MLC)NAND快闪存储器模块,即一个存储单元中可储存至少2个位数据。然而,本发明不限于此,可重写式非易失性存储器模块106亦可是单阶存储单元(SingleLevelCell,SLC)NAND快闪存储器模块、多阶存储单元(TrinaryLevelCell,TLC)NAND型快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。
图3是根据第一范例实施例所绘示的存储器控制器的概要方块图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,这些控制指令会被执行以进行数据的写入、读取与擦除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且这些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,这些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可重写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器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标准、PCIExpress标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可重写式非易失性存储器模块106。也就是说,欲写入至可重写式非易失性存储器模块106的数据会经由存储器接口206转换为可重写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可重写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可重写式非易失性存储器模块106中。之后,当存储器管理电路202从可重写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4与图5是根据第一范例实施例所绘示的管理可重写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可重写式非易失性存储器模块106的物理区块的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作物理区块是逻辑上的概念。也就是说,可重写式非易失性存储器模块的物理区块的实际位置并未更动,而是逻辑上对可重写式非易失性存储器模块的物理区块进行操作。
请参照图4,存储器控制器104会将可重写式非易失性存储器模块的物理区块304(0)~304(R)逻辑地分组为数据区402、闲置区404、系统区406与取代区408。
数据区402与闲置区404的物理区块是用以储存来自于主机系统1000的数据。具体来说,数据区402是已储存数据的物理区块,而闲置区404的物理区块是用以替换数据区402的物理区块。因此,闲置区404的物理区块为空或可使用的物理区块,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区404中的物理区块已被执行擦除运作,或者当闲置区404中的物理区块被提取用于储存数据之前所提取的物理区块会先被执行擦除运作。因此,闲置区404的物理区块为可被使用的物理区块。
逻辑上属于系统区406的物理区块是用以记录系统数据,其中此系统数据包括关于存储器晶片的制造商与型号、存储器晶片的物理区块数、每一物理区块的物理页面数等。
逻辑上属于取代区408中的物理区块是替代物理区块。例如,可重写式非易失性存储器模块于出厂时会预留4%的物理区块作为更换使用。也就是说,当数据区402、闲置区404与系统区406中的物理区块损毁时,预留于取代区408中的物理区块是用以取代损坏的物理区块(即,坏物理区块(badblock))。因此,倘若取代区408中仍存有正常的物理区块且发生物理区块损毁时,存储器控制器104会从取代区408中提取正常的物理区块来更换损毁的物理区块。倘若取代区408中无正常的物理区块且发生物理区块损毁时,则存储器控制器104会将整个存储器储存装置100宣告为写入保护(writeprotect)状态,而无法再写入数据。
特别是,数据区402、闲置区404、系统区406与取代区408的物理区块的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,物理区块关联至数据区402、闲置区404、系统区406与取代区408的分组关系会动态地变动。例如,当闲置区中的物理区块损坏而被取代区的物理区块取代时,则原本取代区的物理区块会被关联至闲置区。
请参照图5,如上所述,数据区402与闲置区404的物理区块是以轮替方式来储存主机系统1000所写入的数据。在本范例实施例中,存储器控制器104会配置逻辑区块地址LBA(0)~LBA(D)以利于在以上述轮替方式在储存数据的物理区块中进行数据存取。例如,当存储器储存装置100被操作系统1110通过文档系统(例如,FAT32)格式化时,逻辑区块地址LBA(0)~LBA(D)分别地映射至数据区402的物理区块304(0)~304(D)。在此,存储器管理电路202会建立逻辑区块地址-物理区块映射表(logicalblockaddress-physicalblockmappingtable),以记录逻辑区块地址与物理区块之间的映射关系。
在本范例实施例中,存储器管理电路还会配置多个虚拟区块地址以映射至逻辑区块地址LBA(0)~LBA(D)。主机系统1000上的应用程序可以通过这些虚拟区块地址来存取逻辑区块地址LBA(0)~LBA(D),进而存取物理区块304(0)~304(D)。特别的是,存储器管理电路202会从这些虚拟区块地址中划分多个区域,以分别作为特定应用的多个应用程序的专属存取区域。例如,这些应用程序包括用于商店的小额付款的应用程序、用于交通运输工具的购票认证的应用程序。然而,本发明并不限制这些应用程序的用途。
图6是依照第一范例实施例所绘示的应用程序存取虚拟区块地址的示意图。
请参照图6,第一应用程序602与第二应用程序604是被安装在主机系统1000上。存储器管理电路202会配置虚拟区块地址702(0)~702(D)以映射至逻辑区块地址LBA(0)~LBA(D)。存储器管理电路202会将虚拟区块地址702(0)~702(D)中的至少一个虚拟区块地址划分为第一虚拟区块地址区域,并且,存储器管理电路202会将逻辑区块地址LBA(0)~LBA(D)中的至少一个逻辑区块地址划分为第一逻辑区块地址区域。例如,存储器管理电路202会将虚拟区块地址702(0)~702(F)(亦称第三虚拟区块地址)划分为第一虚拟区块地址区域704。并且,存储器管理电路202会将逻辑区块地址LBA(0)~LBA(F)(亦称第三逻辑区块地址)划分为第一逻辑区块地址区域708。其中,虚拟区块地址702(0)~702(F)的数目会等于逻辑区块地址LBA(0)~LBA(F)的数目。此外,存储器管理电路202会将虚拟区块地址702(0)~702(F)映射至逻辑区块地址LBA(0)~LBA(F)。换言之,第一虚拟区块地址区域704是映射至第一逻辑区块地址区域708。最后,存储器管理电路202会将第一虚拟区块地址区域704分配给第一应用程序602。
类似地,存储器管理电路202会将虚拟区块地址702(J)~702(D)划分为第二虚拟区块地址区域706,并将逻辑区块地址LBA(J)~LBA(D)会被划分为第二逻辑区块地址区域710。其中,存储器管理电路202会将虚拟区块地址702(J)~702(D)映射至逻辑区块地址LBA(J)~LBA(D),换言之,第二虚拟区块地址区域706是映射至第二逻辑区块地址区域710。并且,存储器管理电路202会将第二虚拟区块地址区域706分配给第二应用程序604。
特别的是,当第一应用程序602下达存取一虚拟区块地址(亦称第一虚拟区块地址)的存取指令(亦称第一存取指令)给存储器管理电路202以后,存储器管理电路202会判断第一应用程序602所要存取的虚拟区块地址是否属于第一虚拟区块地址区域704,若不是,则存储器管理电路202会回复一错误存取讯息给第一应用程序602。若第一应用程序602所要存取的虚拟区块地址是属于第一虚拟区块地址区域704,则存储器管理电路202会找到第一虚拟区块地址所映射的逻辑存取地址(亦称第一逻辑存取地址),并根据第一存取指令来存取第一逻辑区块地址所映射的物理区块。
具体来说,存储器管理电路202会建立属于第一应用程序602的一个存取区块表,来判断第一应用程序602所要存取的虚拟区块地址是否属于第一虚拟区块地址区域704。
图7是根据第一范例实施例说明属于第一应用程序的存取区块表的范例示意图。
请同时参照图6与图7,存储器管理电路202会建立属于第一应用程序602的存取区块表700,用以记录第一虚拟区块地址区域704中的虚拟区块地址702(0)~702(F)与第一逻辑区块地址区域708中的逻辑区块地址LBA(0)~LBA(F)之间的映射关系。例如,如图7所示,虚拟区块地址702(0)是映射至逻辑区块地址LBA(0),虚拟区块地址702(1)是映射至逻辑区块地址LBA(1),以此类推。另一方面,存储器管理电路202也可以根据存取区块表700来判断第一应用程序602所要存取的虚拟区块地址是否属于第一虚拟区块地址区域704。具体来说,存储器管理电路202可以根据第一应用程序602所要存取的虚拟区块地址是否存在于存取区块表700,来判断此虚拟区块地址是否属于第一虚拟区块地址区域704。例如,当第一应用程序602下达了存取虚拟区块地址702(0)(亦称第一虚拟区块地址)的指令(亦称第一存取指令)给存储器管理电路202以后,存储器管理电路202会判断虚拟区块地址702(0)是否存在于存取区块表700中。若是,存储器管理电路202会判断虚拟区块地址702(0)是属于第一虚拟区块地址区域704。并且,存储器管理电路202会根据存取区块表700找到映射至虚拟区块地址702(0)的逻辑区块地址LBA(0)(亦称第一逻辑区块地址)。接着,存储器管理电路202会根据所接收到的第一存取指令来存取逻辑区块地址LBA(0)所映射的物理区块。例如,当第一应用程序602下达了存取虚拟区块地址702(J)的指令给存储器管理电路202以后,存储器管理电路202会判断虚拟区块地址702(J)并不存在于存取区块表700中。因此,存储器管理电路202会判断虚拟区块地址702(J)并不属于第一虚拟区块地址区域704,并且,存储器管理电路202会传送一存取错误讯息给第一应用程序602。如此一来,便可以避免第一应用程序602存取了不属于自己的虚拟区块地址。
类似地,如图6所示,当第二应用程序604下达存取一虚拟区块地址(亦称第二虚拟区块地址)的存取指令(亦称第二存取指令)给存储器管理电路202以后,存储器管理电路202会判断第二虚拟区块地址是否属于第二虚拟区块地址区域706,若不是,则存储器管理电路202会回复一错误存取讯息给第二应用程序604。若第二虚拟区块地址属于第二虚拟区块地址区域706,则存储器管理电路202会找到第二虚拟区块地址所映射的第二逻辑区块地址,并会根据第二存取指令来存取第二逻辑区块地址所映射的物理区块。此外,存储器管理电路202也会建立属于第二应用程序604的存取区块表,用以记录第二虚拟区块地址区域706中的虚拟区块地址与第二逻辑区块地址区域710中的逻辑区块地址之间的映射关系。换言之,对于执行于主机系统1000的每一个应用程序,存储器管理电路202都会建立一个应用程序专属的存取区块表,以判断应用程序是否要存取不属于自己的虚拟区块地址。
在图6所示的范例实施例中,存储器管理电路202所分配的虚拟区块地址702(0)~702(D)是连续的。然而,在另一范例实施例中,存储器管理电路202所分配的虚拟区块地址也可以是不连续的。
图8是根据第一范例实施例说明不连续的虚拟区块地址的范例示意图。
请参照图8,在图8所示的范例实施例中,存储器管理电路202会将连续的逻辑区块地址LBA(0)~LBA(A)(亦称第三逻辑区块地址)划分为第一逻辑区块地址区域622。并且,在所分配的多个虚拟区块地址中,存储器管理电路202会将其中的虚拟区块地址902(0)~902(A)(亦称第三虚拟区块地址)映射至逻辑区块地址LBA(0)~LBA(A),其中虚拟区块地址902(0)~902(A)的数目会等于逻辑区块地址LBA(0)~LBA(A)的数目。此外,存储器管理电路202还会将虚拟区块地址902(0)~902(A)划分为第一虚拟区块地址区域906,并将第一虚拟区块地址区域906分配给第一应用程序602。如此一来,第一应用程序602便可以下达存取虚拟区块地址902(0)~902(A)的存取指令给存储器管理电路202。此外,在此范例实施例中,存储器管理电路202也会将虚拟区块地址902(0)~902(A)与逻辑区块地址LBA(0)~LBA(A)的映射关系记录在一个存取区块表中。
类似地,存储器管理电路202会将连续的逻辑区块地址LBA(B)~LBA(E)划分为第二逻辑区块地址区域624,并将虚拟区块地址904(0)~904(G)映射至逻辑区块地址LBA(B)~LBA(E)。存储器管理电路202也会将虚拟区块地址904(0)~904(G)划分为第二虚拟区块地址区域908,并将第二虚拟区块地址区域908分配给第二应用程序604。并且,存储器管理电路202也会将虚拟区块地址904(0)~904(G)与逻辑区块地址LBA(B)~LBA(E)的映射关系记录在属于第二应用程序604的存取区块表中。
在图8所示的范例实施例中,分配给第一应用程序602的虚拟区块地址902(0)~902(A)与分配给第二应用程序604的虚拟区块地址904(0)~904(G)是独立的。换言之,虚拟区块地址是应用程序与存储器管理电路202所协定好的。例如,当应用程序下达存取虚拟区块地址的存取指令给存储器管理电路202时,存储器管理电路202可以先识别下达指令的应用程序,再根据下达指令的应用程序的存取区块表来判断所接收的虚拟区块地址是否属于所对应的虚拟区块地址区域。本发明并不限制存储器管理电路202所分配的虚拟区块地址为连续或不连续。
图9是根据第一范例实施例说明不连续的逻辑区块地址的范例示意图。
请参照图9,在图9所示的范例实施例中,存储器管理电路202也可以将不连续的逻辑区块地址分配给应用程序。例如,存储器管理电路202会将逻辑区块地址LBA(0)~LBA(2)与逻辑区块地址LBA(A)~LBA(A+2)(亦称第三逻辑区块地址)划分为第一逻辑区块地址区域。存储器管理电路202会配置多个虚拟区块地址,并将其中的虚拟区块地址802(0)~802(5)(亦称第三虚拟区块地址)映射至逻辑区块地址LBA(0)~LBA(2)与LBA(A)~LBA(A+2),而第三虚拟区块地址802(0)~802(5)的数目会等于逻辑区块地址LBA(0)~LBA(2)与LBA(A)~LBA(A+2)的数目。此外,存储器管理电路202会建立一个存取区块表,用以记录第一虚拟区块地址802(0)~802(5)和逻辑区块地址LBA(0)~LBA(2)与LBA(A)~LBA(A+2)之间的映射关系(如图10所示)。并且,存储器管理电路202会将第三虚拟区块地址802(0)~802(5)划分为第一虚拟区块地址区域,并将第一虚拟区块地址区域分配给第一应用程序602。如此一来,第一应用程序602可通过下达存取虚拟区块地址802(0)~802(5)的存取指令来存取数据。
图11是根据第一范例实施例所绘示的数据保护方法的流程图。
请参照图11,在步骤S802中,存储器管理电路202会配置多个虚拟区块地址以映射至多个逻辑区块地址,而这些逻辑区块地址是映射至部份的物理区块。
在步骤S804中,存储器管理电路202会将至少一个虚拟区块地址划分为第一虚拟区块地址区域并且将第一虚拟区块地址区域分配给第一应用程序。
在步骤S806中,存储器管理电路202会接收来自第一应用程序的第一存取指令,此第一存取指令指示存取上述虚拟区块地址中的第一虚拟区块地址。
在步骤S808中,存储器管理电路202会判断第一虚拟区块地址是否属于第一虚拟区块地址区域。
若第一虚拟区块地址不属于第一虚拟区块地址区域,在步骤S810中,存储器管理电路202会传送存取错误讯息给主机系统。
若第一虚拟区块地址是属于第一虚拟区块地址区域,在步骤S812中,存储器管理电路202会取得第一虚拟区块地址所映射的第一逻辑区块地址。接着在步骤S814中,存储器管理电路202会根据第一存取指令存取第一逻辑区块地址所映射的物理区块。
然而,图11中各步骤已详细说明如上,在此便不再赘述。
[第二范例实施例]
在第一范例实施例中,存储器管理电路是在虚拟区块地址的层级上,判断一个应用程序是否存取了不属于自己的数据。然而,在第二范例实施例中,存储器管理电路是在逻辑区块地址的层级上判断一个应用程序是否存取了不属于自己的数据。具体来说,在第二范例实施例中,存储器管理电路202会将至少一个逻辑区块地址划分为逻辑区块地址区域,并将此逻辑区块地址区域分配给应用程序。当应用程序下达存取逻辑区块地址(亦称第一逻辑区块地址)的存取指令给存储器管理电路202时,存储器管理电路202会判断第一逻辑区块地址是否属于所分配的逻辑区块地址区域。藉此,存储器管理电路202可以判断应用程序是否要存取不属于自己的数据。
图12是根据第二范例实施例说明将逻辑区块地址分配给应用程序的范例示意图。
请参照图12,存储器管理电路202会将逻辑区块地址LBA(0)~LBA(A)划分为第一逻辑区块地址区域1222,而第一逻辑区块地址区域1222是独立地分配给第一应用程序602来进行存取。也就是说,第一应用程序602具有对逻辑区块地址LBA(0)~LBA(A)专属的存取权,其他应用程序无法将数据储存至逻辑区块地址LBA(0)~LBA(A)中或从逻辑区块地址LBA(0)~LBA(A)中读取数据。例如,第一应用程序602是通过制造商指令(vendorcommand)来存取逻辑区块地址LBA(0)~LBA(A),并且操作系统1105无法存取逻辑区块地址LBA(0)~LBA(A)。特别的是,存储器管理电路202还会记录多个字段。这些字段是用以记录第一应用程序602的多个权限信息,其中每个权限信息是对应到一个逻辑区块地址,用以表示第一应用程序602是否有权限存取所对应的逻辑区块地址。在本范例实施例中,存储器管理电路202是根据这些字段的权限信息,判断第一应用程序602所存取的逻辑区块地址是否属于第一逻辑区块地址区域。
图13是根据第二范例实施例绘示属于第一应用程序的多个字段的示意图。
请同时参照图12与图13,字段920(0)~920(D)是分别对应至逻辑区块地址LBA(0)~LBA(D)。在本范例实施例中,每个字段中的权限信息是用一个位来表示,其代表第一应用程序602是否有权限存取对应的逻辑区块地址。例如,位“1”来表示有权限,并且用位“0”来表示没有权限。例如,逻辑区块地址LBA(0)~LBA(A)是属于第一逻辑区块地址区域1222,即,第一应用程序602有权限存取逻辑区块地址LBA(0)~LBA(A)。因此,字段920(0)~920(A)之中的权限信息会被记录为“1”,且其他字段会被记录为“0”。
举例来说,当第一应用程序602下达存取逻辑区块地址LBA(0)的存取指令给存储器管理电路202时,存储器管理电路202会找到对应逻辑区块地址LBA(0)的字段920(0),并从字段920(0)读取所记录的权限信息。由于字段920(0)所记录的权限信息是“1”,因此存储器管理电路202会判断逻辑区块地址LBA(0)是属于第一逻辑区块地址区域1222。反之,倘若所读取的权限信息为’0’时,则存储器管理电路202会判断所存取的逻辑区块地址非属于于第一逻辑区块地址区域。在判断逻辑区块地址LBA(0)是属于第一逻辑区块地址区域以后,存储器管理电路202会根据逻辑区块地址-物理区块映射表找到逻辑区块地址LBA(0)所映射的物理区块。并且,存储器管理电路202会根据第一应用程序602所下达的第一存取指令来存取逻辑区块地址LBA(0)所映射的物理区块。
值得注意的是,本范例实施例中每个字段是用位“1”表示有权限,但在其他范例实施例中也可以用位“0”表示有权限,或者,使用其他文字或符号来表示有权限与没有权限,本发明并不在此限。
类似地,如图12所示,存储器管理电路202会将逻辑区块地址LBA(B)~LBA(E)划分为第二逻辑区块地址区域1224,而第二逻辑区块地址区域1224是独立地分配给第二应用程序604。也就是说,第二应用程序604具有对逻辑区块地址LBA(B)~LBA(E)专属的存取权。当第二应用程序604下达了存取逻辑区块地址(亦称第二逻辑区块地址)的存取指令(亦称第二存取指令)给存储器管理电路202时,存储器管理电路202会判断第二逻辑区块地址是否属于第二逻辑区块地址区域1224。若第二逻辑区块地址属于第二逻辑区块地址区域1224,则存储器管理电路202会根据第二存取指令存取第二逻辑区块地址所映射的物理区块。若第二逻辑区块地址不属于第二逻辑区块地址区域1224,则存储器管理电路202会传送一存取错误讯息给第二应用程序604。然而,存储器管理电路202也会记录属于第二应用程序604的多个字段,这些字段会记录属于第二应用程序604的权限信息,而存储器管理电路202根据这些字段判断第二逻辑区块地址是否属于第二逻辑区块地址区域1224的方式与判断第一逻辑区块地址是否属于第一逻辑区块地址区域1222的方式相同,在此便不再赘述。
图14是根据第二范例实施例所绘示的数据保护方法的流程图。
请参照图14,在步骤S1004中,存储器管理电路202会将逻辑区块地址之中的至少部分逻辑区块地址划分为至少一逻辑区块地址区域并且将所划分的逻辑区块地址区域专属地分配给应用程序。例如,如图12所示,部分的逻辑区块地址会被划分为第一逻辑区块地址区域与第二逻辑区块地址区域,第一逻辑区块地址区域会专属地分配给第一应用程序并且第二逻辑区块地址区域会专属地分配给第二应用程序。
在步骤S1006中,存储器管理电路202从执行于主机系统1000的应用程序中接收指示存取一个或多个逻辑区块地址(亦称第一逻辑区块地址)的存取指令。
在步骤S1008中,存储器管理电路202会判断第一逻辑区块地址是否属于分配给此应用程序的逻辑区块地址区域。
若此存取指令所指示的存取地址属于分配给此应用程序的逻辑区块地址区域时,则在步骤S1010中,存储器管理电路202会根据所接收的存取指令来存取第一逻辑区块地址所映射的物理区块。例如,在步骤S1010中,存储器管理电路202会根据逻辑区块地址-物理区块映射表识别第一逻辑区块地址所映射的物理区块。
倘若此存取指令所存取的存取地址不属于分配给此应用程序的逻辑区块地址区域时,则在步骤S1012中,存储器管理电路202会传送存取错误讯息给主机系统。例如,当第一应用程序所要存取的逻辑区块地址不属于第一逻辑区块地址区域时,存储器管理电路202会传送存取错误讯息给第一应用程序;并且当第二应用程序所要存取的逻辑区块地址不属于第二逻辑区块地址区域时,存储器管理电路202会传送存取错误讯息给第二应用程序。
综上所述,本发明范例实施例所提出的数据保护方法、存储器控制器与存储器储存装置,是在虚拟区块地址或逻辑区块地址的层级上判断应用程序是否要存取不属于自己的数据。如此一来,一个应用程序便不会存取其他应用程序的数据,藉此保护各个应用程序所专属的数据。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。
Claims (14)
1.一种数据保护方法,用于一可重写式非易失性存储器模块,该可重写式非易失性存储器模块包括多个物理区块,多个逻辑区块地址会被配置以映射至部分的这些物理区块,该数据保护方法包括:
配置多个虚拟区块地址,以映射至这些逻辑区块地址;
将这些虚拟区块地址之中的至少一虚拟区块地址划分为一第一虚拟区块地址区域并且将该第一虚拟区块地址区域分配给一第一应用程序,其中该至少一虚拟区块地址的其中之一映射至少一逻辑区块地址的其中之一,该第一虚拟区块地址区域映射一第一逻辑区块地址区域;
接收来自该第一应用程序的一第一存取指令,其中该第一存取指令指示存取这些虚拟区块地址中的一第一虚拟区块地址;
判断该第一虚拟区块地址是否属于该第一虚拟区块地址区域;以及
若该第一虚拟区块地址不属于该第一虚拟区块地址区域时,则回应一存取错误讯息给该第一应用程序。
2.如权利要求1所述的数据保护方法,还包括:
若该第一虚拟区块地址属于该第一虚拟区块地址区域时,取得在这些逻辑区块地址中该第一虚拟区块地址所映射的一第一逻辑区块地址;以及
根据该第一存取指令存取该第一逻辑区块地址所映射的物理区块。
3.如权利要求1所述的数据保护方法,还包括:
将这些虚拟区块地址之中的至少另一虚拟区块地址划分为一第二虚拟区块地址区域并且将该第二虚拟区块地址区域分配给一第二应用程序;
接收来自该第二应用程序的一第二存取指令,其中该第二存取指令指示存取这些虚拟区块地址的一第二虚拟区块地址;
判断该第二虚拟区块地址是否属于该第二虚拟区块地址区域;以及
若该第二虚拟区块地址不属于该第二虚拟区块地址区域时,则回应该存取错误讯息给该第二应用程序。
4.如权利要求1所述的数据保护方法,还包括:
建立一存取区块表,该存取区块表记录该第一虚拟区块地址区域的这些虚拟区块地址与该第一逻辑区块地址区域的这些逻辑区块地址的一映射关系,
其中判断该第一虚拟区块地址是否属于该第一虚拟区块地址区域的步骤包括:
根据该存取区块表,判断该第一虚拟区块地址是否属于该第一虚拟区块地址区域。
5.如权利要求1所述的数据保护方法,还包括:
将这些逻辑区块地址之中的多个第三逻辑区块地址划分为该第一逻辑区块地址区域;
将这些虚拟区块地址之中的多个第三虚拟区块地址映射至这些第三逻辑区块地址并将这些第三虚拟区块地址划分为该第一虚拟区块地址区域,其中这些第三虚拟区块地址的数目等于这些第三逻辑区块地址的数目,这些第三逻辑区块地址为不连续的;以及
将这些第三虚拟区块地址指派给该第一应用程序。
6.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可重写式非易失性存储器模块,包括多个物理区块,其中多个逻辑区块地址会被配置以映射至部份的这些物理区块;以及
一存储器控制器,电性连接至该连接器与该可重写式非易失性存储器模块,将这些逻辑区块地址之中的至少一逻辑区块地址划分为一第一逻辑区块地址区域并且将该第一逻辑区块地址区域分配给一第一应用程序,
其中,该存储器控制器接收来自该第一应用程序的一第一存取指令,其中该第一存取指令指示存取至少一第一逻辑区块地址,
其中,该存储器控制器判断该至少一第一逻辑区块地址是否属于该第一逻辑区块地址区域,若该至少一第一逻辑区块地址不属于该第一逻辑区块地址区域时,该存储器控制器回应一存取错误讯息给该第一应用程序。
7.如权利要求6所述的存储器储存装置,其中若该至少一第一逻辑区块地址属于该第一逻辑区块地址区域时,该存储器控制器根据该第一存取指令存取该至少一第一逻辑区块地址所映射的物理区块。
8.如权利要求7所述的存储器储存装置,其中该存储器控制器还用以将这些逻辑区块地址之中的至少另一逻辑区块地址划分为一第二逻辑区块地址区域并且将该第二逻辑区块地址区域分配给一第二应用程序,并接收来自该第二应用程序的一第二存取指令,其中该第二存取指令指示存取这些逻辑区块地址中的至少一第二逻辑区块地址,
其中,该存储器控制器判断该至少一第二逻辑区块地址是否属于该第二逻辑区块地址区域,若该至少一第二逻辑区块地址不属于该第二逻辑区块地址区域时,该存储器控制器回应该存取错误讯息给该第二应用程序。
9.如权利要求7所述的存储器储存装置,其中该存储器控制器还记录多个字段,且这些字段是分别对应至这些逻辑区块地址,该存储器控制器还用以将该第一应用程序的多个权限信息记录在这些字段当中,其中各个权限信息表示该第一应用程序是否有权限存取所对应的该逻辑区块地址,而该第一应用程序所能存取的这些逻辑区块地址属于该第一逻辑区块地址区域,
其中,该存储器控制器根据这些权限信息,判断该至少一第一逻辑区块地址是否属于该第一逻辑区块地址区域。
10.一种存储器控制器,用以控制一可重写式非易失性存储器模块,该可重写式非易失性存储器模块包括多个物理区块,其中多个逻辑区块地址会被分配以映射至部份的这些物理区块,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,电性连接至该可重写式非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,配置多个虚拟区块地址以映射至这些逻辑区块地址,
其中,该存储器管理电路将这些虚拟区块地址之中的至少一虚拟区块地址划分为一第一虚拟区块地址区域并且将该第一虚拟区块地址区域分配给一第一应用程序,其中该至少一虚拟区块地址的其中之一映射至少一逻辑区块地址的其中之一,该第一虚拟区块地址区域映射一第一逻辑区块地址区域,
其中,该存储器管理电路接收来自该第一应用程序的一第一存取指令,其中该第一存取指令指示存取这些虚拟区块地址中的一第一虚拟区块地址,
其中,存储器管理电路判断该第一虚拟区块地址是否属于该第一虚拟区块地址区域,若该第一虚拟区块地址不属于该第一虚拟区块地址区域时,该存储器管理电路回应一存取错误讯息给该第一应用程序。
11.如权利要求10所述的存储器控制器,其中若该第一虚拟区块地址属于该第一虚拟区块地址区域时,该存储器管理电路取得在这些逻辑区块地址中该第一虚拟区块地址所映射的一第一逻辑区块地址,并根据该第一存取指令存取该第一逻辑区块地址所映射的物理区块。
12.如权利要求10所述的存储器控制器,其中该存储器管理电路还用以将这些虚拟区块地址之中的至少另一虚拟区块地址划分为一第二虚拟区块地址区域并且将该第二虚拟区块地址区域分配给一第二应用程序,
该存储器管理电路还用以接收来自该第二应用程序的一第二存取指令,其中该第二存取指令指示存取这些虚拟区块地址的一第二虚拟区块地址,
该存储器管理电路还用以判断该第二虚拟区块地址是否属于该第二虚拟区块地址区域,若该第二虚拟区块地址不属于该第二虚拟区块地址区域时,则该存储器管理电路回应该存取错误讯息给该第二应用程序。
13.如权利要求10所述的存储器控制器,该存储器管理电路还用以建立一存取区块表,该存取区块表记录该第一虚拟区块地址区域的这些虚拟区块地址与该第一逻辑区块地址区域的这些逻辑区块地址的一映射关系,
该存储器管理电路还用以根据该存取区块表,判断该第一虚拟区块地址是否属于该第一虚拟区块地址区域。
14.如权利要求10所述的存储器控制器,该存储器管理电路还用以将这些逻辑区块地址之中的多个第三逻辑区块地址划分为该第一逻辑区块地址区域,将这些虚拟区块地址之中的多个第三虚拟区块地址映射至这些第三逻辑区块地址,并将这些第三虚拟区块地址划分为该第一虚拟区块地址区域,其中这些第三虚拟区块地址的数目等于这些第三逻辑区块地址的数目,这些第三逻辑区块地址为不连续的,
该存储器管理电路会将这些第三虚拟区块地址指派给该第一应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210111121.4A CN103377149B (zh) | 2012-04-16 | 2012-04-16 | 保护数据的方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210111121.4A CN103377149B (zh) | 2012-04-16 | 2012-04-16 | 保护数据的方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103377149A CN103377149A (zh) | 2013-10-30 |
CN103377149B true CN103377149B (zh) | 2016-05-11 |
Family
ID=49462288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210111121.4A Active CN103377149B (zh) | 2012-04-16 | 2012-04-16 | 保护数据的方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103377149B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI682323B (zh) * | 2017-11-24 | 2020-01-11 | 財團法人工業技術研究院 | 伺服器及其設定方法 |
CN109992536A (zh) * | 2018-01-03 | 2019-07-09 | 华为技术有限公司 | 数据处理方法、固态硬盘以及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200809594A (en) * | 2005-12-13 | 2008-02-16 | Sandisk Corp | Logically-addressed file storage |
CN101213510A (zh) * | 2005-06-29 | 2008-07-02 | 桑迪士克股份有限公司 | 用于管理存储装置中的分区的方法和系统 |
US8086585B1 (en) * | 2008-09-30 | 2011-12-27 | Emc Corporation | Access control to block storage devices for a shared disk based file system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4758794B2 (ja) * | 2006-03-16 | 2011-08-31 | 富士通株式会社 | メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法 |
-
2012
- 2012-04-16 CN CN201210111121.4A patent/CN103377149B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213510A (zh) * | 2005-06-29 | 2008-07-02 | 桑迪士克股份有限公司 | 用于管理存储装置中的分区的方法和系统 |
TW200809594A (en) * | 2005-12-13 | 2008-02-16 | Sandisk Corp | Logically-addressed file storage |
US8086585B1 (en) * | 2008-09-30 | 2011-12-27 | Emc Corporation | Access control to block storage devices for a shared disk based file system |
Also Published As
Publication number | Publication date |
---|---|
CN103377149A (zh) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103377129B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104732153A (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN103544115B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
TWI489272B (zh) | 保護資料的方法、記憶體控制器與記憶體儲存裝置 | |
CN102890655B (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN103699491A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102968385B (zh) | 数据写入方法、存储器控制器与储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN102200946B (zh) | 资料存取方法、记忆体控制器与储存系统 | |
CN101944384B (zh) | 用于闪速存储器的数据写入方法及其控制电路与储存系统 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN104657083B (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
CN103324581B (zh) | 编程存储单元与数据读取方法、存储器控制器与储存装置 | |
CN103377149B (zh) | 保护数据的方法、存储器控制器与存储器储存装置 | |
CN103488579B (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN103377132B (zh) | 管理存储器空间的方法、存储器控制器与存储器储存装置 | |
CN104238956A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN103578566A (zh) | 存储器存储装置及其修复方法 | |
CN102087632B (zh) | 用于闪存的数据储存方法及其控制器与储存系统 | |
CN103389941A (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 |