CN102467459B - 数据写入方法、存储器控制器与存储器储存装置 - Google Patents
数据写入方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN102467459B CN102467459B CN201010546042.7A CN201010546042A CN102467459B CN 102467459 B CN102467459 B CN 102467459B CN 201010546042 A CN201010546042 A CN 201010546042A CN 102467459 B CN102467459 B CN 102467459B
- Authority
- CN
- China
- Prior art keywords
- data
- logical
- physical
- memory
- bits
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 225
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000005055 memory storage Effects 0.000 title claims abstract description 37
- 238000007726 management method Methods 0.000 description 93
- 238000010586 diagram Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据写入方法、存储器控制器与存储器储存装置,其中,方法用于具有多个物理区块的可复写式非挥发性存储器模组,每一物理区块具有多个物理页面,部分的物理区块映射多个逻辑区块并且每一逻辑区块具有多个逻辑页面。本方法包括接收数据,此数据具有多个数据比特并属于一个逻辑页面。本方法也包括判断每一数据比特是否为特定值。并且,本方法包括,当每一数据比特为特定值时,不将此数据写入至物理页面中。基于此,本发明的方法可提升存储器储存装置的效能。
Description
技术领域
本发明涉及一种数据写入方法,尤其涉及一种写入数据至可复写式非挥发性存储器的方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非挥发性存储器(rewritablenon-volatile memory)具有数据非挥发性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器作为储存媒体的储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
快闪存储器模组具有多个物理区块(physical block),且每一物理区块具有多个物理页面(physical page),其中在物理区块中写入数据时必须依据物理页面的顺序依序地写入数据。此外,已被写入数据的物理页面并需先被抹除后才能再次用于写入数据。特别是,物理区块为抹除的最小单位,并且物理页面为程式化(也称写入)的最小单元。因此,在快闪存储器模组的管理中,物理区块会被区分为数据区与闲置区。
数据区的物理区块是用以储存主机系统所储存的数据。具体来说,存储器管理电路会将主机系统所存取的逻辑存取地址转换为逻辑区块的逻辑页面并且将逻辑区块的逻辑页面映射至数据区的物理区块的物理页面。也就是说,快闪存储器模组的管理上数据区的物理区块是被视为已被使用的物理区块(例如,已储存主机系统所写入的数据)。例如,存储器管理电路会使用逻辑区块-物理区块映射表来记载逻辑区块与数据区的物理区块的映射关系,逻辑区块中的逻辑页面是依序的对应所映射的物理区块的物理页面。
闲置区的物理区块是用以轮替数据区中的物理区块。具体来说,如上所述,已写入数据的物理区块必须被抹除后才可再次用于写入数据,而闲置区的物理区块是被设计用于写入更新数据以替换原先映射逻辑区块的物理区块。基于此,在闲置区中的物理区块为空或可使用的区块,即无记录数据或标记为已没用的无效数据。
也就是说,数据区与闲置区的物理区块的物理页面是以轮替方式来映射逻辑区块的逻辑页面,以储存主机系统所写入的数据。例如,储存装置的存储器管理电路会从闲置区中提取一个或多个物理区块作为替换物理区块,并且当主机系统欲写入更新数据的逻辑存取地址是对应储存装置的某一逻辑区块的某一逻辑页面时,储存装置的存储器管理电路会将此更新数据写入至替换物理区块的物理页面中。此外,存储器管理电路会在所写入的物理页面的冗余区中或使用一数据映射表记录此物理页面储存某一逻辑页面的更新数据,并且在数据区中原先映射此逻辑页面的物理页面会被标记为无效。
特别是,倘若在闲置区中可用的物理区块的数目少于预设门槛值时,在执行写入指令时存储器管理电路必须进行数据合并(Merge)程序,以避免闲置区的物理区块被耗尽(exhaust)。具体来说,在数据合并程序中,存储器管理电路会从闲置区中提取一个空的物理区块,将在替换物理区块以及数据区的物理区块中属于同一个逻辑区块的有效数据复制至所提取的物理区块中,由此所储存数据皆为无效数据的替换物理区块或数据区中的物理区块就可被抹除并关联至闲置区。由于在数据合并程序中,存储器管理电路必须在搜寻属于同一个逻辑区块的有效数据,并且属于同一个逻辑区块的有效数据复制至空的物理区块中,基于此,执行写入指令的时间会大幅地增加。因此,如何缩短执行写入指令所需的时间,是此领域技术人员所致力的目标。
发明内容
本发明提供一种数据写入方法、存储器控制器与存储器储存装置,其能够有效地缩短执行写入指令的时间。
本发明提出一种数据写入方法,用于一可复写式非挥发性存储器模组,其中此可复写式非挥发性存储器模组包括多个物理区块,每一物理区块具有多个物理页面,部分的物理区块映射多个逻辑区块并且每一逻辑区块具有多个逻辑页面。本数据写入方法包括接收一数据,其中此数据具有多个数据比特并属于上述逻辑页面之中的其中一个逻辑页面。本数据写入方法也包括判断每一数据比特是否为一特定值。并且,本数据写入方法还包括,当每一该些数据比特为该特定值时,不将此数据写入至上述物理页面中。
本发明还提出一种存储器控制器,用于管理一可复写式非挥发性存储器模组,其中此可复写式非挥发性存储器模组具有多个物理区块并且每一物理区块具有多个物理页面。本存储器控制器包括主机界面、存储器界面与存储器管理电路。主机界面用以电性连接至一主机系统。存储器界面用以电性连接至可复写式非挥发性存储器模组。存储器管理电路是电性连接至主机界面与存储器界面,其中存储器管理电路用以配置多个逻辑区块以映射部分的物理区块,其中每一逻辑区块具有多个逻辑页面。此外,存储器管理电路还用以从主机系统中接收一数据,其中数据具有多个数据比特并属于此些逻辑页面之中的其中一个逻辑页面。再者,存储器管理电路还用以判断每一数据比特是否为一特定值,其中当每一数据比特为特定值时,存储器管理电路不将此数据写入至上述物理页面中。
本发明还提出一种存储器储存装置,其包括连接器、可复写式非挥发性存储器模组与存储器控制器。连接器用以电性连接至主机系统。可复写式非挥发性存储器模组具有多个物理区块并且每一物理区块具有多个物理页面。存储器控制器电性连接至连接器与可复写式非挥发性存储器模组,并且用以配置多个逻辑区块以映射部分的物理区块,其中每一逻辑区块具有多个逻辑页面。存储器控制器还用以从主机系统中接收一数据,其中此数据具有多个数据比特并属于上述逻辑页面之中的其中一个逻辑页面。此外,存储器控制器更用以判断每一数据比特是否为特定值,其中当每一数据比特为特定值时,存储器控制器不将上述数据写入至上述物理页面中。
基于上述,本发明的数据写入方法及使用此方法的存储器储存装置及其存储器控制器能够有效地缩短执行写入指令的时间,由此提升存储器储存装置的效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
附图说明
图1A是根据本发明第一范例实施例所示的主机系统与存储器储存装置。
图1B是根据本发明范例实施例所示的电脑、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所示的主机系统与存储器储存装置的示意图。
图2是图1A所示的存储器储存装置的概要方块图。
图3是根据本发明第一范例实施例所示的存储器控制器的概要方块图。
图4A与图4B是根据本发明第一范例实施例所示管理可复写式非挥发性存储器模组的物理区块的示意图。
图5A是根据本发明第一范例实施例所示的以一般写入程序的范例。
图5B是根据图5A所示的数据识别表的范例。
图6A是根据本发明第一范例实施例所示的以特殊写入程序的范例。
图6B是根据图6A所示的数据识别表的范例。
图7是根据本发明另一范例实施例所示的存储器控制器的概要方块图。
图8是根据本发明第一范例实施例所示的数据写入方法的流程图。
图9是根据本发明第一范例实施例所示的数据读取方法的流程图。
图10是根据本发明第二范例实施例所示的数据写入方法的流程图。
图11是根据本发明第二范例实施例所示的数据读取方法的流程图。
主要元件符号说明:
1000:主机系统; 1100:电脑;
1102:微处理器; 1104:随机存取存储器;
1106:输入/输出装置; 1108:系统总线;
1110:数据传输界面; 1202:鼠标;
1204:键盘v ; 1206:显示器;
1208:打印机; 1212:随身碟;
1214:存储卡; 1216:固态硬盘;
1310:数码相机; 1312:SD卡;
1314:MMC卡; 1316:存储棒;
1318:CF卡; 1320:嵌入式储存装置;
100:存储器储存装置; 102:连接器;
104:存储器控制器; 202:存储器管理电路;
204:主机界面; 206:存储器界面;
252:缓冲存储器; 254:电源管理电路;
256:错误检查与校正电路; 262:比对电路;
264:寄存器电路; 410(0)~410(N):物理区块;
502:系统区; 504:数据区;
506:闲置区; 508:取代区;
610(0)~610(H):逻辑区块;710(0)~710(K):逻辑存取地址;
750:数据识别表;
106:可复写式非挥发性存储器模组;
S801、S803、S805、S807:数据写入的步骤;
S901、S903、S905、S907、S909:数据读取的步骤;
S1001、S1003、S1005、S1007、S1009:数据写入的步骤;
S1101、S1103、S1105、S1107、S1109:数据读取的步骤。
具体实施方式
为了能够缩短执行写入指令的时间,在本发明的数据写入方法中会判断主机系统欲写入的数据是否为一特定值(也称为预设态样(pattern)),并且当欲写入的数据为此特定值时,此数据将不会被实际地写入至存储器储存装置的可复写式非挥发性存储器模组。具体来说,当存储器储存装置被用作为电脑系统的主磁盘(即,用作为安装作业系统的磁盘)时,作业系统会频繁地仅更新少部分的数据。例如,在更新文件系统fillesystem)的信息时,仅部分数据会被更新,而其他部分的数据会保持″0″(即,此些数据为不具任何意义的值(态样))。在本发明的数据写入方法中,不会将属于此值的数据实际地写入至可复写式非挥发性存储器模组,由此可避免无意义的写入程序(程式化程序),由此缩短执行写入指令的时间。以下将以数个范例实施来详细地描述本发明。
第一范例实施例
一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非挥发性存储器模组与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据本发明第一范例实施例所示的主机系统与存储器储存装置。
请参照图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、存储棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非挥发性存储器模组106。
在本范例实施例中,连接器102是相容于串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合电气和电子工程师协会(Instituteof Electrical and Electronic Engineers,IEEE)1394标准、高速外围元件连接界面(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数码卡(SecureDigital,SD)界面标准、存储棒(Memory Stick,MS)界面标准、多媒体储存卡(Multi Media Card,MMC)界面标准、小型快闪(Compact Flash,CF)界面标准、集成驱动电子界面(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非挥发性存储器模组106中进行数据的写入、读取与抹除等运作。在本范例实施例中,存储器控制器104用以根据本发明范例实施例的数据写入方法来将数据写入于可复写式非挥发性存储器模组106中。根据本发明范例实施例的数据写入方法将于以下配合附图作详细说明。
可复写式非挥发性存储器模组106是电性连接至存储器控制器104,并且具有多个物理区块以储存主机系统1000所写入的数据。在本范例实施例中,每一物理区块分别具有复数个物理页面,属于同一个物理区块的物理页面可被独立地写入且被同时地抹除。例如,每一物理区块是由128个物理页面所组成,并且每一物理页面的容量为4K字节(Kilobyte,K)。然而,必须了解的是,本发明不限于此,每一物理区块是可由64个物理页面、256个物理页面或其他任意个物理页面所组成。
更详细来说,物理区块为抹除的最小单位。也即,每一物理区块含有最小数目的一并被抹除的记忆胞。物理页面为程式化的最小单元。即,物理页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位也可以是物理扇区或其他大小。每一物理页面通常包括数据比特区与冗余比特区。数据比特区用以储存使用者的数据,而冗余比特区用以储存系统的数据(例如,错误检查与校正码)。
在本范例实施例中,可复写式非挥发性存储器模组106为多阶记忆胞(Multi Level Cell,MLC)NAND快闪存储器模组。然而,本发明不限于此,可复写式非挥发性存储器模组106也可是单阶记忆胞(Single LevelCell,SLC)NAND快闪存储器模组、其他快闪存储器模组或其他具有相同特性的存储器模组。
图3是根据本发明第一范例实施例所示的存储器控制器的概要方块图。
请参照图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是相容于SATA标准。然而,必须了解的是本发明不限于此,主机界面204也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、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 and Correcting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性存储器模组106中。之后,当存储器管理电路202从可复写式非挥发性存储器模组106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4A与图4B是根据本发明第一范例实施例所示管理可复写式非挥发性存储器模组的物理区块的示意图。
请参照图4A,可复写式非挥发性存储器模组106具有物理区块410(0)~410(N),并且存储器控制器104的存储器管理电路202会将物理区块410(0)~410-(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。
逻辑上属于数据区502与闲置区504的物理区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的物理区块是被视为已储存数据的物理区块,而闲置区504的物理区块是用以替换数据区502的物理区块。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取物理区块,并且将数据写入至所提取的物理区块中,以替换数据区502的物理区块。
逻辑上属于系统区506的物理区块是用以记录系统数据。例如,系统数据包括关于可复写式非挥发性存储器模组的制造商与型号、可复写式非挥发性存储器模组的物理区块数、每一物理区块的物理页面数等。
逻辑上属于取代区508中的物理区块是用于坏物理区块取代程序,以取代损坏的物理区块。具体来说,倘若取代区508中仍存有正常的物理区块并且数据区502的物理区块损坏时,存储器管理电路202会从取代区508中提取正常的物理区块来更换损坏的物理区块。
值得一提的是,在本范例实施例中,存储器管理电路202是以每一物理区块为单位来进行管理。然而,本发明不限于此,在另一范例实施例中,存储器管理电路202也可将物理区块分组为多个物理单元,并且以物理单元为单位来进行管理。例如,每一物理单元可由同一存储器子模组或不同存储器子模组中的至少一个物理区块所组成。
请参照图4B,存储器管理电路202会配置逻辑区块610(0)~610(H)以映射数据区502的物理区块,每一逻辑区块具有多个逻辑页面并且此些逻辑页面是依序地映射对应的物理区块的物理页面。例如,存储器管理电路202会维护逻辑区块-物理区块映射表(logical block-physical blockmapping table)以记录逻辑区块610(0)~610(H)与数据区502的物理区块的映射关系。此外,由于主机系统1000是以逻辑存取地址(例如,扇区(Sector))为单位来存取数据,当主机系统1000存取数据时存储器管理电路202会将对应存储器储存装置100的逻辑存取地址710(0)~710(K)转换成对应的逻辑页面。例如,当主机系统1000欲存取某一逻辑存取地址时,存储器管理电路202会将主机系统1000所存取的逻辑存取地址转换为以对应的逻辑区块与逻辑页面所构成的多维地址,并且通过逻辑区块-物理区块映射表于对应的物理页面中存取数据。
在本范例实施例中,存储器管理电路202会根据主机系统1000所欲储存的数据的态样来以一般写入程序或特殊写入程序来处理此数据。
具体来说,当欲将属于某一个逻辑页面的数据(也称为更新数据)写入至物理页面时,存储器管理电路202会判断此更新数据的每一数据比特是否为特定值(或态样)。并且,当更新数据的每一数据比特为特定值时,存储器管理电路202会以特殊写入程序来处理此更新数据,并且当更新数据的任一个数据比特非为特定值时,存储器管理电路202会以一般写入程序来写入此更新数据。例如,在本范例实施例中,特定值是被设计为″0″。也就是说,当更新数据的每一数据比特皆为″0″时,存储器管理电路202会以特殊写入程序来处理此更新数据。必须了解的是,特定值不限于″0″,在本发明另一范例实施例中,特定值可以是其他任意态样。
在本范例实施例的一般写入程序中,存储器管理电路202会从闲置区504中提取物理单元作为替换物理区块,并且根据物理页面的顺序将属于同一个逻辑页面的更新数据写入至所提取的替换物理区块的一个物理页面中。
此外,在本范例实施例的特殊写入程序中,存储器管理电路202不会将更新数据写入至物理区块中。例如,在本范例实施例中,存储器管理电路202会配置数据识别表,以记录哪些逻辑页面的数据是属于特定值。具体来说,数据识别表是由多个比特(bit)所组成并且每一比特是对应其中一个逻辑页面。并且,当更新数据的每一数据比特为特定值时,存储器管理电路202会识别此更新数据所属的逻辑页面并且在数据识别表中将此逻辑页面所对应的比特设定为一标记值,而不将更新数据实际地写入至所映射的物理页面中。例如,在数据识别表中所有比特的初始值会被设定为″0″,并且此标记值是被设计为″1″。然而,必须了解的是,本发明不限于此,任何符号、数值皆可作为标记值。
图5A是根据本发明第一范例实施例所示的以一般写入程序的范例。
请参照图5A,倘若物理区块410(0)的物理页面目前储存逻辑区块610(0)的数据ID0~ID127(即,逻辑区块目前是映射物理区块410(0))并且主机系统1000欲写入非为特定值的数据UD0至逻辑区块610(0)的第0逻辑页面时,存储器管理电路202会识别数据UD0非为特定值,从闲置区504中提取一个物理区块(例如,物理区块410(F)),并且将数据UD0写入至物理区块410(F)的第0个物理页面。此外,存储器管理电路202会记录关于逻辑区块610(0)的第0逻辑页面的更新数据已被写入至物理区块410(F)的第0个物理页面的信息,以利后续的读取。
图5B是根据本发明第一范例实施例所示的数据识别表的范例。
请参照图5B,数据识别表750是以2维阵列形式排列的比特(即,图中的每一方块)所构成,每一列是对应一个逻辑区块,并且在每一列中由左至右每一比特依序地对应逻辑区块中的每一逻辑页面。数据识别表750中的每一比特会被初始地设定为″0″。
图6A是根据本发明第一范例实施例所示的以特殊写入程序的范例。
请参照图6A,倘若在图5A所示的储存状态下,主机系统1000欲写入为特定值的数据UD1至逻辑区块610(0)的第1逻辑页面时,存储器管理电路202会识别数据UD1为特定值,并且不会将数据UD1实际地写入至物理区块410(F)的第1个物理页面,而是在数据识别表中对应的比特中设定标记值。
图6B是根据图6A所示的数据识别表的范例。
请参照图6B,存储器管理电路202会在数据识别表750中对应逻辑区块610(0)的第1逻辑页面的比特中设定″1″。
基于上述,在本范例实施例中,当主机系统1000欲写入的数据的每一数据比特皆为″0″时,存储器管理电路202不会对可复写式非挥发性存储器模组106执行写入程序(也称为程式化程序),而是将数据识别表中对应的比特设定为标记值,由此可大幅缩短执行写入指令的时间。值得一提的是,当主机系统1000下达读取指令时,存储器管理电路202会根据数据识别表识别欲读取的逻辑页面所对应的比特是否已被设定为标记值。并且,倘若欲读取的逻辑页面所对应的比特已被设定为标记值时,存储器管理电路202会直接传送特定值给主机系统1000。
值得一提的是,在本发明另一范例实施例中,存储器控制器104更包括比对电路262与寄存器电路264(如图7所示)。比对电路262用以比对更新数据的每一数据比特是否为特定值并且当更新数据的每一数据比特为特定值时比对电路262还用以于寄存器电路264中储存一标记值。特别是,存储器管理电路202是根据储存于寄存器电路264中的标记值来识别更新数据为特定值。
图8是根据本发明第一范例实施例所示的数据写入方法的流程图。
请参照图8,在步骤S801中存储器控制器104的存储器管理电路202从主机系统1000中接收到写入指令,并且在步骤S803中存储器管理电路202会判断欲写入数据的每一数据比特是否为特定值。
值得一提的是,从主机系统1000所接收的数据的量可能为小于一个逻辑页面。然而,如上所述,存储器管理电路202是以物理页面为单位来写入数据,因此,在从主机系统1000所接收的数据的量可能为小于一个逻辑页面的例子中,此些数据会被暂存于缓冲存储器252中,并且之后再以物理页面为单位写入至可复写式非挥发性存储器模组106中。基此,在步骤S803中的欲写入数据是以物理页面为单位的数据。
倘若欲写入数据的每一数据比特非为特定值时,则在步骤S805中,存储器管理电路202会将数据写入至可复写式非挥发性存储器模组106的一个物理页面中。例如,存储器管理电路202会以上述一般写入程序来写入数据。一般写入程序已配合附图详细描述如上,在此不再重复描述。
倘若欲写入数据的每一数据比特为特定值时,则在步骤S807中,存储器管理电路202在数据识别表的对应比特中设定标记值,并且不会将数据写入至可复写式非挥发性存储器模组106的物理页面中。
图9是根据本发明第一范例实施例所示的数据读取方法的流程图。
请参照图9,在步骤S901中存储器控制器104的存储器管理电路202从主机系统1000中接收到读取指令,并且在步骤S903中存储器管理电路202会识别此读取指令所对应的逻辑页面。具体来说,在步骤S903中,存储器管理电路202会将包含于读取指令的逻辑存取地址转换为对应的逻辑页面。
然后,在步骤S905中,存储器管理电路202会判断在数据识别表中对应此逻辑页面的比特是否被设定为标记值。
倘若在数据识别表中对应此逻辑页面的比特未被设定为标记值时,则在步骤S907中,存储器管理电路202会从所映射的物理页面中读取数据并且将所读取的数据传送给主机系统1000。
倘若在数据识别表中对应此逻辑页面的比特已被设定为标记值时,则在步骤S909中,存储器管理电路202会将特定值传送给主机系统1000。
第二范例实施例
本发明第二范例实施例的存储器储存装置与主机系统本质上是相同于第一范例实施例的存储器储存装置与主机系统,差异的处在于第二范例实施例的存储器控制器是利用整理表(Trim Table)来记录上述标记值,而不额外配置数据识别表。以下将使用第一范例实施例的图1A、图2与图3来说明第二范例实施例与第一范例实施例的差异处。
在主机系统1000的作业系统的文件管理机制中作业系统是通过文件配置表来管理储存于储存装置中的数据。特别是,在作业系统执行数据的删除运作的例子中,作业系统仅会于文件配置表中注记欲删除的逻辑存取地址中的数据已为无效,即完成删除数据的运作,而不会实际地将所储存的数据进行删除。之后,当作业系统欲在此些逻辑存取地址中写入数据时,作业系统会将数据直接写入。
在本范例实施例中,存储器管理电路202会从主机系统1000中接收删除记录,此删除记录中会记载哪些逻辑存取地址中的数据已被删除的信息。在此,对于主机系统1000的作业系统来说,所储存的数据已被删除的逻辑位存取址被称为已删除逻辑存取地址。例如,在本范例实施例中,主机系统1000的作业系统为微软视窗作业系统7,并且微软视窗作业系统7是通过整理(trim)指令来传送删除记录,而主机界面206与存储器管理电路202可支援与识别此整理指令。
特别是,在本范例实施例中,存储器管理电路202会配置整理表来记录数据已被删除的逻辑页面。具体来说,整理表是由多个比特所组成并且每一比特是对应一个逻辑页面。当接收到整理指令时,存储器管理电路202会在整理表中将对应此整理指令的逻辑页面所对应的比特设定为标记值,以标示储存于此逻辑页面中的数据皆已被主机系统1000所删除。例如,在整理表中所有比特的初始值会被设定为″0″,并且此标记值是被设计为″1″。
在本范例实施例中,当更新数据的每一数据比特为特定值时,存储器管理电路202也会更改整理表,以在整理表中将此更新数据所对应的逻辑页面所对应的比特设定为标记值,而不将更新数据实际地写入至所映射的物理页面中。
图10是根据本发明第二范例实施例所示的数据写入方法的流程图。
请参照图10,在步骤S1001中存储器控制器104的存储器管理电路202从主机系统1000中接收到写入指令,并且在步骤S1003中存储器管理电路202会判断欲写入数据的每一数据比特是否为特定值。
倘若欲写入数据的每一数据比特非为特定值时,则在步骤S1005中,存储器管理电路202会将数据写入至可复写式非挥发性存储器模组106的一个物理页面中。例如,存储器管理电路202会以上述一般写入程序来写入数据。一般写入程序已配合图式详细描述如上,在此不再重复描述。
倘若欲写入数据的每一数据比特为特定值时,则在步骤S1007中,存储器管理电路202在整理表的对应比特中设定标记值。
另外,当存储器控制器104的存储器管理电路202从主机系统1000中接收到整理指令(S1009)时,并且步骤S1007会被执行。
图11是根据本发明第二范例实施例所示的数据读取方法的流程图。
请参照图11,在步骤S1101中存储器控制器104的存储器管理电路202从主机系统1000中接收到读取指令,并且在步骤S1103中存储器管理电路202会识别此读取指令所对应的逻辑页面。
然后,在步S1105中,存储器管理电路202会判断在整理表中对应此逻辑页面的比特是否被设定为标记值。
倘若在整理表中对应此逻辑页面的比特未被设定为标记值时,则在步骤S1107中,存储器管理电路202会从所映射的物理页面中读取数据并且将所读取的数据传送给主机系统1000。
倘若在整理表中对应此逻辑页面的比特已被设定为标记值时,则在步骤S1109中,存储器管理电路202会将特定值传送给主机系统1000。
综上所述,本发明范例实施例的数据写入方法会识别主机系统所写入的数据的态样,并且当主机系统所写入的数据的态样符合特定态样时,不会将数据实际地写入至物理页面中,由此缩短执行写入指令的时间。此外,由于数据未被实际地写入至物理区块中,因此当此物理区块被再次用于写入数据时无需执行抹除运作。基此,本发明范例实施例的数据写入方法可减少物理区块的磨损,由此延长存储器储存装置的寿命。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作适当的更动与润饰,故本发明的保护范围应以权利要求书所限定的范围为准。
Claims (6)
1.一种数据写入方法,用于一可复写式非挥发性存储器模组,其中该可复写式非挥发性存储器模组包括多个物理区块,每一该些物理区块具有多个物理页面,部分的该些物理区块映射多个逻辑区块并且每一该些逻辑区块具有多个逻辑页面,其特征在于,该数据写入方法包括:
配置一整理表,其中该整理表具有多个比特并且该些比特分别地对应该些逻辑页面;
接收一数据,该数据具有多个数据比特并属于该些逻辑页面之中的其中一个逻辑页面;
判断每一该些数据比特是否为一特定值;
当每一该些数据比特为该特定值时,在该整理表中将该些比特之中对应该其中一个逻辑页面的一比特设定为一标记值,并且不将该数据写入至该些物理页面中,其中该标记值用以识别对应该其中一个逻辑页面的值为该特定值;以及
当该些数据比特之中的任一数据比特非为该特定值时,将该数据写入至该些物理页面之中的其中一个物理页面中;
当接收到一整理指令时,在该整理表中将该些逻辑页面之中对应该整理指令的至少一逻辑页面所对应的至少一比特设定为一标记值,
其中对应该其中一个逻辑页面的该比特为该整理表的该些比特之中的其中一个。
2.根据权利要求1所述的数据写入方法,其特征在于,判断每一该些数据比特是否为该特定值的步骤包括:
从一寄存器电路中载入该标记值;以及
根据该标记值识别每一该些数据比特为该特定值。
3.一种存储器控制器,用于管理一可复写式非挥发性存储器模组,该可复写式非挥发性存储器模组具有多个物理区块并且每一该些物理区块具有多个物理页面,其特征在于,该存储器控制器包括:
一主机界面,用以电性连接至一主机系统;
一存储器界面,用以电性连接至该可复写式非挥发性存储器模组;以及
一存储器管理电路,电性连接至该主机界面与该存储器界面,该存储器管理电路用以配置多个逻辑区块以映射部分的该些物理区块,每一该些逻辑区块具有多个逻辑页面,
该存储器管理电路还用以配置一整理表,其中该整理表具有多个比特并且该些比特分别地对应该些逻辑页面,
该存储器管理电路还用以从该主机系统中接收一数据,该数据具有多个数据比特并属于该些逻辑页面之中的其中一个逻辑页面,
该存储器管理电路还用以判断每一该些数据比特是否为一特定值,
当每一该些数据比特为该特定值时,该存储器管理电路在该整理表中将该些比特之中对应该其中一个逻辑页面的一比特设定为一标记值,并且不将该数据写入至该些物理页面中,其中该标记值用以识别对应该其中一个逻辑页面的值为该特定值,
当该些数据比特之中的任一数据比特非为该特定值时,该存储器管理电路将该数据写入至该些物理页面之中的其中一个物理页面中,
当从该主机系统接收到一整理指令时,该存储器管理电路还用以在该整理表中将该些逻辑页面之中对应该整理指令的至少一逻辑页面所对应的至少一比特设定为一标记值,
其中对应该其中一个逻辑页面的该比特为该整理表的该些比特之中的其中一个。
4.根据权利要求3所述的存储器控制器,其特征在于,还包括:
一寄存器电路;以及
一比对电路,电性连接该寄存器电路,用以确认每一该些数据比特是否为该特定值,并且当每一该些数据比特为该特定值时,在该寄存器电路中储存该标记值,
该存储器管理电路从该寄存器电路中载入该标记值并且根据该标记值识别每一该些数据比特为该特定值。
5.一种存储器储存装置,其特征在于,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非挥发性存储器模组,具有多个物理区块并且每一该些物理区块具有多个物理页面;以及
一存储器控制器,电性连接至该连接器与该可复写式非挥发性存储器模组,
该存储器控制器用以配置多个逻辑区块以映射部分的该些物理区块,每一该些逻辑区块具有多个逻辑页面,
该存储器控制器还用以配置一整理表,其中该整理表具有多个比特并且该些比特分别地对应该些逻辑页面,
该存储器控制器还用以从该主机系统中接收一数据,该数据具有多个数据比特并属于该些逻辑页面之中的其中一个逻辑页面,
该存储器控制器还用以判断每一该些数据比特是否为一特定值,
当每一该些数据比特为该特定值时,该存储器控制器在该整理表中将该些比特之中对应该其中一个逻辑页面的一比特设定为一标记值,并且不将该数据写入至该些物理页面中,其中该标记值用以识别对应该其中一个逻辑页面的值为该特定值,
当该些数据比特之中的任一数据比特非为该特定值时,该存储器控制器将该数据写入至该些物理页面之中的其中一个物理页面中,
当从该主机系统接收到一整理指令时,该存储器控制器还用以在该整理表中将该些逻辑页面之中对应该整理指令的至少一逻辑页面所对应的至少一比特设定为一标记值,
其中对应该其中一个逻辑页面的该比特为该整理表的该些比特之中的其中一个。
6.根据权利要求5所述的存储器储存装置,其特征在于,还包括:
一寄存器电路;以及
一比对电路,电性连接该寄存器电路,用以确认每一该些数据比特是否为该特定值,并且当每一该些数据比特为该特定值时,在该寄存器电路中储存该标记值,
该存储器控制器从该寄存器电路中载入该标记值并且根据该标记值识别每一该些数据比特为该特定值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010546042.7A CN102467459B (zh) | 2010-11-11 | 2010-11-11 | 数据写入方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010546042.7A CN102467459B (zh) | 2010-11-11 | 2010-11-11 | 数据写入方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102467459A CN102467459A (zh) | 2012-05-23 |
CN102467459B true CN102467459B (zh) | 2015-05-06 |
Family
ID=46071117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010546042.7A Active CN102467459B (zh) | 2010-11-11 | 2010-11-11 | 数据写入方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102467459B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866955A (zh) * | 2012-09-14 | 2013-01-09 | 记忆科技(深圳)有限公司 | 一种闪存数据管理方法及系统 |
CN106648443B (zh) * | 2015-10-30 | 2019-06-25 | 群联电子股份有限公司 | 有效数据合并方法、存储器控制器与存储器存储装置 |
CN110162493B (zh) * | 2018-02-12 | 2021-05-18 | 深圳大心电子科技有限公司 | 存储器管理方法及使用所述方法的储存控制器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0123410D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
EP1912123A4 (en) * | 2005-07-29 | 2008-10-29 | Matsushita Electric Ind Co Ltd | MEMORY CONTROL UNIT, NON-VOLATILE MEMORY, NON-VOLATILE MEMORY SYSTEM, AND MEMORY ADDRESS MANAGEMENT METHOD |
KR100809320B1 (ko) * | 2006-09-27 | 2008-03-05 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법 |
JP4746598B2 (ja) * | 2007-09-28 | 2011-08-10 | 株式会社東芝 | 半導体記憶装置 |
CN101770425A (zh) * | 2008-12-31 | 2010-07-07 | 深圳市朗科科技股份有限公司 | 存储设备控制方法及存储设备 |
US8406029B2 (en) * | 2009-02-17 | 2013-03-26 | Samsung Electronics Co., Ltd. | Identification of data positions in magnetic packet memory storage devices, memory systems including such devices, and methods of controlling such devices |
CN101719103B (zh) * | 2009-11-25 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 基于存储设备的信息处理方法以及存储设备 |
-
2010
- 2010-11-11 CN CN201010546042.7A patent/CN102467459B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102467459A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN104732153B (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN104765568B (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
TWI436212B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN103514096B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
US8812772B2 (en) | Data merging method for non-volatile memory and controller and storage apparatus using the same | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
CN102915273B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104536906B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
TW201407614A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN102800357B (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
CN103365790B (zh) | 存储器控制器、存储装置与数据写入方法 | |
CN102467459B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN102122233A (zh) | 区块管理与数据写入方法、闪存储存系统与控制器 | |
CN106648443B (zh) | 有效数据合并方法、存储器控制器与存储器存储装置 | |
CN102043724B (zh) | 用于闪存的区块管理方法、控制器与存储系统 | |
CN104238956A (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 |