CN102087632A - 用于闪存的数据储存方法及其控制器与储存系统 - Google Patents
用于闪存的数据储存方法及其控制器与储存系统 Download PDFInfo
- Publication number
- CN102087632A CN102087632A CN2009102471925A CN200910247192A CN102087632A CN 102087632 A CN102087632 A CN 102087632A CN 2009102471925 A CN2009102471925 A CN 2009102471925A CN 200910247192 A CN200910247192 A CN 200910247192A CN 102087632 A CN102087632 A CN 102087632A
- Authority
- CN
- China
- Prior art keywords
- physical
- physical address
- data
- utilization rate
- 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.)
- Granted
Links
Images
Abstract
一种数据储存方法,用于在闪存芯片中储存数据,此闪存芯片具有多个物理地址,此些物理地址包括多个快速物理地址与多个慢速物理地址。本数据储存方法包括监控物理地址的使用率;当使用率不大于使用率门坎值时,仅使用物理地址的快速物理地址来在闪存芯片中储存数据;以及当使用率大于使用率门坎值时,使用物理地址的快速物理地址与慢速物理地址来在闪存芯片中储存数据。基此,可有效地提升在闪存芯片中写入数据的速度。
Description
技术领域
本发明是有关于一种用于闪存的数据储存方法,且特别是有关于一种能够依据闪存的使用率来选择不同物理地址来储存数据的数据储存方法及使用此方法的闪存控制器与闪存储存系统。
背景技术
由于闪存(Flash Memory)具有数据非易失性、省电、体积小与无机械结构等的特性,最适合使用于由电池供电的可携式电子产品上。例如,固态硬盘就是一种以NAND闪存作为储存媒体的储存装置,并且已广泛配置于笔记本型计算机中作为主要的储存装置。
在目前NAND型闪存技术中,NAND型闪存可根据每一存储单元中可储存的位数区分为单层存储单元(Single Level Cell,SLC)NAND型闪存与多层存储单元(Multi Level Cell,MLC)NAND型闪存。具体来说,在对SLC NAND型闪存的存储单元进行编程(program)时仅能执行单阶的编程,因此每一存储单元仅能储存一个位。而MLC NAND型闪存的物理区块的程序化可分为多阶段。例如,以2层存储单元为例,物理区块的程序化可分为2阶段。第一阶段是下页面(lower page)的写入部分,其物理特性类似于单层存储单元(SingleLevel Cell,SLC)NAND闪存,在完成第一阶段之后才会编程上页面(upper page),其中下页面的写入速度会快于上页面。因此,每一物理区块的页面可区分为慢速页面(即,上页面)与快速页面(即,下页面)。
类似地,在8层存储单元或16层存储单元的案例中,存储单元会包括更多个页面并且会以更多阶段来写入。在此,将写入速度最快的页面称为下页面,其它写入速度较慢的页面统称为上页面。例如,上页面包括具有不同写入速度的多个页面。此外,在其它实施例中,上页面也可为写入速度最慢的页面,或者写入速度最慢与部份写入速度快于写入速度最慢页面的页面。例如,在4层存储单元中,下页面为写入速度最快与写入速度次快的页面,上页面则为写入速度最慢与写入速度次慢的页面。
相较于MLC NAND型闪存来说,SLC NAND型闪存的存取速度较快。但MLCNAND型闪存的储存容量较大且成本较低。因此,如何增加MLC NAND型闪存的存取速度以提升闪存储存装置的效能是本领域技术人员所致力的目标。
发明内容
本发明提供一种数据储存方法,其能够有效地提升闪存储存装置的效能。
本发明提供一种闪存控制器,其所执行的数据储存方法能够有效地提升闪存储存装置的效能。
本发明提供一种闪存储存系统,其所执行的数据储存方法能够有效地提升闪存储存装置的效能。
本发明范例实施例提出一种数据储存方法,用于在一闪存芯片中储存数据,其中此闪存芯片具有多个物理地址,此些物理地址包括至少一快速物理地址与至少一慢速物理地址并且写入数据至快速物理地址的速度快于写入数据至慢速物理地址的速度。本数据储存方法包括配置多个逻辑地址,其中每一该多个逻辑地址映射该多个物理地址的其中之一。本数据储存方法也包括监控物理地址的使用率以及判断使用率是否大于使用率门坎值。本数据储存方法也包括当使用率不大于使用率门坎值时,使用一快速模式在闪存芯片中储存数据,其中在快速模式中仅使用物理地址的快速物理地址来储存数据。
本发明范例实施例提出一种闪存控制器,用于在一闪存芯片中储存数据,其中此闪存芯片具有多个物理地址,此些物理地址包括至少一快速物理地址与至少一慢速物理地址并且写入数据至快速物理地址的速度快于写入数据至慢速物理地址的速度。本闪存控制器包括微处理器单元、闪存接口单元、主机接口单元以及存储器管理单元。闪存接口单元电性连接至微处理器单元,用以电性连接至闪存芯片。主机接口单元电性连接至微处理器单元,用以电性连接至一主机系统。存储器管理单元电性连接至微处理器单元,用以配置多个逻辑地址,其中每一逻辑地址映射此些物理地址的其中之一。在此,存储器管理单元监控此些物理地址的一使用率,并且判断此使用率是否大于一使用率门坎值。并且,当使用率不大于使用率门坎值时存储器管理单元使用一快速模式在闪存芯片中储存数据,其中在快速模式中存储器管理单元仅使用此些物理地址的快速物理地址来储存数据。
本发明范例实施例提出一种闪存储存系统,其包括闪存芯片、连接器与闪存控制器。闪存芯片具有多个物理地址,此些物理地址包括至少一快速物理地址与至少一慢速物理地址并且写入数据至快速物理地址的速度快于写入数据至慢速物理地址的速度。连接器用以电性连接至一主机系统。闪存控制器电性连接至闪存芯片与连接器,用以配置多个逻辑地址,其中每一逻辑地址映射此些物理地址的其中之一。在此,闪存控制器监控此些物理地址的一使用率,并且判断此使用率是否大于一使用率门坎值。并且,当此使用率不大于使用率门坎值时,闪存控制器使用一快速模式在闪存芯片中储存数据,其中在此快速模式中闪存控制器仅使用此些物理地址的快速物理地址来储存数据。
基于上述,本发明范例实施例能够依据物理地址的使用率来判断仅使用快速物理地址或者使用快速物理地址与慢速物理地址来储存数据,由此提升闪存储存装置的效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据本发明第一范例实施例绘示使用闪存储存装置的主机系统。
图1B是根据本发明范例实施例所绘示的计算机、输入/输出装置与闪存储存装置的示意图。
图1C是根据本发明另一范例实施例所绘示的主机系统与闪存储存装置的示意图。
图2是绘示图1A所示的闪存储存装置100的概要方块图。
图3是根据本发明另一范例实施例所绘示的闪存控制器的概要方块图。
图4是根据本发明范例实施例所绘示的闪存芯片的方块图。
图5是根据本发明范例实施例所绘示的逻辑地址与物理地址的映射示意图。
图6与图7是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的范例。
图8与图9是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
图10与图11是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
图12与图13是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
图14是根据本发明范例实施例所绘示的数据储存方法的流程图。
图15是根据本发明范例实施例所绘示的数据储存方法的另一流程图。
[主要元件标号说明]
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:闪存芯片
122-(0)~122(N):物理单元 202:微处理器单元
204:存储器管理单元 206:主机接口单元
208:闪存接口单元 252:缓冲存储器
254:电源管理单元 256:错误校正单元
302:系统区 304:储存区
304a:数据区 304b:备用区
306:取代区 LBA(0)~LBA(H):逻辑存取地址
LA(0)~LA(L):逻辑地址 PA(0)~PA(K):物理地址
420:逻辑地址转物理地址映射表 430:物理地址储存状态表
S1401、S1403、S1405、S1405-1、S1405-3、S1405-5、S1407、S1501、S1503:数据储存步骤
具体实施方式
一般而言,闪存储存装置(亦称,闪存储存系统)包括闪存芯片与控制器(亦称,控制电路)。通常闪存储存装置会与主机系统一起使用,以使主机系统可将数据写入至闪存储存装置或从闪存储存装置中读取数据。另外,亦有闪存储存装置是包括嵌入式闪存与可执行于主机系统上以实质地作为此嵌入式闪存的控制器的软件。
图1A是根据本发明范例实施例所绘示的使用闪存储存装置的主机系统。
请参照图1A,主机系统1000包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccess memory,RAM)1104、系统总线1108以及数据传输接口1110。输入/输出装置1106包括如图1B所示的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。
在本发明实施例中,闪存储存装置100是通过数据传输接口1110与主机系统1000的其它元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的处理主机系统1000可将数据写入至闪存储存装置100或从闪存储存装置100中读取数据。例如,闪存储存装置100可以是如图1B所示的随身碟1212、存储卡1214或固态硬盘(Solid State Drive,SSD)1216。
一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机1310时,闪存储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、或CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的闪存储存装置100的概要方块图。
请参照图2,闪存储存装置100包括连接器102、闪存控制器104与闪存芯片106。
连接器102是电性连接至闪存控制器104并且用以电性连接至主机系统1000。在本范例实施例中,连接器102为序列先进附件(Serial AdvancedTechnology Attachment,SATA)连接器。然而,必须了解的是本发明不限于此,连接器102亦可以是通用序列总线(Universal Serial Bus,USB)连接器、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,IEEE)1394连接器、高速外围零件连接接口(PeripheralComponent Interconnect Express,PCI Express)连接器、安全数字(secure digital,SD)接口连接器、存储棒(Memory Stick,MS)接口连接器、多媒体储存卡(Multi Media Card,MMC)接口连接器、小型快闪(Compact Flash,CF)接口连接器、集成式驱动电子接口(Integrated Device Electronics,IDE)连接器或其它适合的连接器。
闪存控制器104会执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在闪存芯片106中进行数据的写入、读取与抹除等运作。闪存控制器104包括微处理器单元202、存储器管理单元204、主机接口单元206、闪存接口单元208。
微处理器单元202为闪存控制器104的主控单元,用以与存储器管理单元204、主机接口单元206与闪存接口单元208等协同合作以进行闪存储存装置100的各种运作。
存储器管理单元204是电性连接至微处理器单元202,用以执行根据本范例实施例的数据储存机制与区块管理机制,存储器管理单元204的运作将于以下配合图式作详细说明。
在本范例实施例中,存储器管理单元204是以一固件形式实作在闪存控制器104中。例如,将包括多个控制指令的存储器管理单元204烧录至一程序存储器(例如,只读存储器(Read Only Memory,ROM))中并且将此程序存储器嵌入在闪存控制器104中,当闪存储存装置100运作时,存储器管理单元204的多个控制指令会由微处理器单元202来执行以完成根据本发明实施例的数据写入机制与区块管理机制。
在本发明另一范例实施例中,存储器管理单元204的控制指令亦可以程序码形式储存于闪存芯片106的特定区域(例如,闪存芯片中专用于存放系统数据的系统区)中。同样地,当闪存储存装置100运作时,存储器管理单元204的多个控制指令会由微处理器单元202来执行。此外,在本发明另一范例实施例中,存储器管理单元204亦可以一硬件形式实作在闪存控制器104中。
主机接口单元206是电性连接至微处理器单元202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口单元206来传送至微处理器单元202。在本范例实施例中,主机接口单元206是对应连接器204为SATA接口。然而,必须了解的是本发明不限于此,主机接口单元210亦可以是PATA接口、USB接口、IEEE1394接口、PCI Express接口、SD接口、MS接口、MMC接口、CF接口、IDE接口或其它适合的数据传输接口。
闪存接口单元208是电性连接至微处理器单元202并且用以存取闪存芯片106。也就是说,欲写入至闪存芯片106的数据会经由闪存接口单元208转换为闪存芯片106所能接受的格式。
在本发明另一范例实施例中,闪存控制器亦可还包括其它功能模块。图3是根据本发明另一范例实施例所绘示的闪存控制器的概要方块图。
请参照图3,除了微处理器单元202、存储器管理单元204、主机接口单元206与闪存接口单元208之外,闪存控制器104′还包括缓冲存储器252、电源管理单元254与错误校正单元256。
缓冲存储器252是电性连接至微处理器单元202并且用以暂存来自于主机系统1000的数据与指令或来自于闪存芯片106的数据。
电源管理单元254是电性连接至微处理器单元202并且用以控制闪存储存装置100的电源。
错误校正单元256是电性连接至微处理器单元202并且用以执行一错误校正程序以确保数据的正确性。具体来说,当存储器管理单元204从主机系统1000中接收到主机写入指令时,错误校正单元256会为对应此主机写入指令的写入数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,ECC Code),并且存储器管理单元204会将此写入数据与对应的错误校正码写入至闪存芯片106中。之后,当存储器管理单元204从闪存芯片106中读取数据时会同时读取此数据对应的错误校正码,并且错误校正单元256会依据此错误校正码对所读取的数据执行错误校正程序。
请再参照图2,闪存芯片106是电性连接至闪存控制器104并且用以储存数据。闪存芯片106具有物理单元122-(0)~122-(N)。在本范例实施例中物理单元是由多个物理区块所组成。然而,本发明不限于此,物理单元亦可仅由1个物理区块所组成。物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目之一并被抹除的存储单元。每一物理区块具有数个物理地址。在本范例实施例中,物理地址为物理页面,但本发明不限于此。物理页面为可编程的最小单元。换言之,物理页面为写入数据或读取数据的最小单元。每一物理页面通常包括使用者数据区与冗余区。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,闪存芯片106为多层存储单元闪存芯片。
图4是根据本发明范例实施例所绘示的闪存芯片的方块图。必须了解的是,在此描述闪存的物理区块的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作物理区块是逻辑上的概念。也就是说,闪存的物理区块的实际位置并未更动,而是逻辑上对闪存的物理区块进行操作。
请参照图4,存储器管理单元204会将物理单元122-(0)~122-(N)逻辑地分组为系统区(system area)302、储存区(storage area)304与取代区(replacement area)306。
逻辑上属于系统区302的物理单元122-(0)~122-(S)是用以记录系统数据,此系统数据包括关于闪存芯片的制造商与型号、每一闪存芯片的区域数、每一区域的物理单元的数目、每一物理单元的物理页面数等。
逻辑上属于储存区304的物理单元122-(S+1)~~122-(A)是用以主机系统1000所写入的数据。也就是说,闪存储存装置100会使用分组为储存区304的物理单元来实际地储存主机系统1000所写入的数据。更详细来说,储存区304的物理单元122-(S+1)~122-(A)更分组为数据区304a与备用区304b,其中数据区304a的物理单元122-(S+1)~122-(D)是已被使用来储存数据的物理单元,而备用区304b的物理单元122-(D+1)~122-(A)是未被使用来储存数据的物理单元。具体来说,当存储器管理单元204从备用区304b提取物理单元来写入数据时,所提取的物理单元会被关联为数据区304a,并且当关联为数据区304a的物理单元被执行抹除运作后已抹除的物理单元会被关联为备用区304b。
逻辑上属于取代区306中的物理单元122-(A+1)~122-(N)是替代物理单元。例如,闪存芯片106于出厂时会预留4%的物理区块作为更换使用。也就是说,当系统区302与储存区304中的物理单元的物理区块损毁时,预留于取代区306中的物理单元的物理区块可用以取代损坏的物理区块(即,坏物理区块(bad block))。因此,倘若取代区306中仍存有可用的物理区块且发生物理区块损毁时,存储器管理模块204会从取代区306中提取可用的物理区块来更换损毁的物理区块。倘若取代区306中无可用的物理区块且发生物理区块损毁时,则闪存储存装置100将会被宣告为写入保护(write protect),而无法再写入数据。
必须了解的是,在闪存储存装置100的运作中,物理单元122-(0)~122-(N)被分组为系统区302、数据区304a、备用区304b与取代区306的映射关系会动态地变动。也就是说,当存储器管理单元204将数据写入至原本属于备用区304b的物理单元(例如,物理单元122-(D+2))后,此物理单元会被关联为数据区304a。或者,当数据区304a(或备用区304b)中的物理单元损坏时而被取代区306的物理区块取代时,则原本取代区306的物理单元会被关联为数据区304a(或备用区304b)。
图5是根据本发明范例实施例所绘示的逻辑地址与物理地址的映射示意图。
请参照图5,由于闪存储存装置100是以轮替地使用储存区304的物理单元来储存主机系统1000欲储存的数据,因此存储器管理单元204会提供逻辑存取地址LBA(0)~逻辑存取地址LBA(H)给主机系统1000以进行数据存取。
在此,逻辑存取地址可以是扇区(sector)、丛集(cluster)等。特别是,在本范例实施例中,存储器管理单元204会将逻辑存取地址LBA(0)~逻辑存取地址LBA(H)分组为逻辑地址LA(0)~逻辑地址LA(L),并且将逻辑地址LA(0)~逻辑地址LA(L)映射至储存区304的物理区块的物理地址PA(0)~物理地址PA(K),其中每一逻辑地址是映射其中一个物理地址。例如,存储器管理单元204会使用一运算规则来设定每一逻辑存取地址所映射的逻辑地址。
在本范例实施例中,每一逻辑地址是由4个逻辑存取地址所组成,例如,逻辑存取地址LBA(0)~LBA(3)是属于逻辑地址LA(0);逻辑存取地址LBA(4)~LBA(7)是属于逻辑地址LA(1);逻辑存取地址LBA(8)~LBA(11)是属于逻辑地址LA(2)...等。在本范例实施例中,逻辑地址为逻辑页面,也就是说,一个逻辑地址包含4个逻辑存取地址。但本发明不限于此,在本发明另一范例实施例中,逻辑地址亦可是由8个逻辑存取地址所组成或是由16个逻辑存取地址所组成。
此外,存储器管理单元204会维护逻辑地址转物理地址映射表与物理地址储存状态表来记录逻辑地址与物理地址之间的映射关系。也就是说,当主机系统1000欲在逻辑存取地址中存取数据时,存储器管理单元204会确认此逻辑存取地址所属的逻辑地址,并且在此逻辑地址所映射的物理地址中来存取数据。
具体来说,当存储器管理单元204开始使用物理单元122-(D+1)来储存主机系统1000欲写入的数据时,不管主机系统1000是写入那个逻辑地址,存储器管理单元会将数据依序地写入至物理单元122-(D+1)的物理地址;而当存储器管理单元204开始使用物理单元122-(D+2)来储存主机系统1000欲写入的数据时,不管主机系统1000是写入那个逻辑地址,存储器管理单元会将数据依序地写入至物理单元122-(D+2)的物理地址中。也就是说,当写入主机系统1000欲写入的数据时,存储器管理单元204会依序地使用一个物理单元内的物理地址来写入数据,并且当此物理单元内的物理地址被使用完后才会再选择另一个无储存数据的物理单元(即,从备用区304b中提取一个物理单元),并且在新选择的物理单元的物理地址中继续依序地写入数据。在本范例实施例中,在存储器管理单元204将数据写入至物理地址后,存储器管理单元204会更新逻辑地址转物理地址映射表与物理地址储存状态表以正确地记录逻辑地址与物理地址的映射关系。
值得一提的是,在本发明一范例实施例中,在存储器管理单元204中还包括一可写入物理地址指针(Available Physical Address Pointer),用以指示目前可写入物理地址。基此,当闪存控制器104执行来自于主机系统1000的主机写入指令来写入数据时,存储器管理单元204可依据可写入物理地址指针的标记依序地将数据写入至闪存芯片106的物理地址中。
此外,在本发明范例实施例中,存储器管理单元204会在物理地址储存状态表来记录每一物理地址的储存状态。例如,当存储器管理单元204将主机系统1000欲写入的数据写入至物理地址并且更新逻辑地址转物理地址映射表与物理地址储存状态表中的映射关系时,存储器管理单元204会在物理地址储存状态表中将被写入的逻辑地址新映射的物理地址的储存状态标记为“有效数据”,同时若被写入的逻辑地址原始映射的物理地址的储存状态为“有效数据”时则会将被写入的逻辑地址原始映射的物理地址的储存状态标记为“无效数据”。此外,在物理地址储存状态表中未储存数据的物理地址的储存状态会被标记为“无数据”。在此,未储存数据的物理地址是指未曾被用来储存数据或者其所储存的数据已被抹除的物理地址。以下将以数个范例来详细说明存储器管理单元204维护逻辑地址转物理地址映射表与物理地址储存状态表的运作。
图6与图7是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的范例。在本范例实施例中,逻辑地址转物理地址映射表420具有索引字段与物理地址字段来记录每一逻辑地址所映射的物理地址;并且物理地址储存状态表430具有索引字段、逻辑地址字段与储存状态区位以记录每一物理地址所映射的逻辑地址以及储存状态。
请参照图6与图7,在此范例中假设闪存储存装置100为全新且未曾被用来储存数据。例如,在逻辑地址转物理地址映射表420中逻辑地址LA(0)~逻辑地址LA(L)是分别地映射物理地址PA(0)~物理地址PA(L)。另外,在物理地址储存状态表430中,物理地址PA(0)~物理地址PA(L)是映射逻辑地址LA(0)~逻辑地址LA(L),物理地址PA(L+1)~物理地址PA(K)的映射关系被标示为空值(例如,“NULL”),并且物理地址PA(0)~物理地址PA(L)的储存状态是被标记为“无数据”。另外,此时可写入物理指针是指向物理地址PA(L+1)。
图8与图9是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
请参照图8与图9,倘若在图6与图7所示的状态下主机系统1000欲写入的数据是属于逻辑地址LA(1)时,存储器管理单元204会依据可写入物理地址指针将主机系统1000欲写入的数据写入至物理地址PA(L+1)中,并且将可写入物理地址指针改为指向物理地址PA(L+2)。此时,存储器管理单元204会在逻辑地址转物理地址映射表420中将逻辑地址LA(1)的映射更新为物理地址PA(L+1)。另外,存储器管理单元204会在物理地址储存状态表430中将物理地址PA(L+1)的映射更新为逻辑地址LA(1),并且将物理地址PA(L+1)的储存状态更改为“有效数据”。在此,由于逻辑地址LA(1)原始所映射的物理地址PA(1)是被标记为“无数据”,因此物理地址PA(1)的储存状态不会被改变。
图10与图11是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
请参照图10与图11,倘若在图8与图9的状态下主机系统1000欲写入的数据是属于逻辑地址LA(129)时,存储器管理单元204会依据可写入物理地址指针将主机系统1000欲写入的数据写入至物理地址PA(L+2)中,并且将可写入物理地址指针改为指向物理地址PA(L+3)。此时,存储器管理单元204会在逻辑地址转物理地址映射表420中将逻辑地址LA(129)的映射更新为物理地址PA(L+2)。另外,存储器管理单元204会在物理地址储存状态表430中将物理页地址PA(L+2)的映射更新为逻辑地址LA(129),并且将物理地址PA(L+2)的储存状态更改为“有效数据”。在此,由于逻辑地址LA(129)原始所映射的物理地址PA(129)是被标记为“无数据”,因此物理地址PA(129)的储存状态不会被改变。
图12与图13是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
请参照图12与图13,倘若在图10与图11的状态下主机系统1000欲写入的数据是属于逻辑页地址LA(1)时,存储器管理单元204会依据可写入物理地址指针将主机系统1000欲写入的数据写入至物理地址PA(L+3)中,并且将可写入物理地址指针改为指向物理地址PA(L+4)。此时,存储器管理单元204会在逻辑地址转物理地址映射表420中将逻辑地址LA(1)的映射更新为物理地址PA(L+3)。另外,存储器管理单元204会在物理地址储存状态表430中将物理页地址PA(L+3)的映射更新为逻辑页地址LA(1),并且将物理地址PA(L+3)的储存状态更改为“有效数据”。此外,由于逻辑地址LA(1)原始所映射的物理地址PA(L+1)是被标记为“有效数据”,因此存储器管理单元204会将物理地址PA(L+1)的储存状态更改为“无效数据”。特别是,当之后存储器管理单元204对标记为无效数据的物理地址执行抹除运作时,此些物理地址的储存状态会被更新为“无数据”。
值得一提的是,在主机系统1000的操作系统的文件管理机制中操作系统是通过文件配置表来管理储存于储存装置中的数据。特别是,在操作系统执行数据的删除运作的例子中,操作系统仅会于文件配置表中注记欲删除的逻辑地址中的数据已为无效,即完成删除数据的运作,而不会实际地将所储存的数据进行删除。之后,当操作系统欲在此些逻辑地址中写入数据时,操作系统会将数据直接写入。在本范例实施例中,存储器管理单元204会从主机系统1000中接收删除记录,其中此删除记录中会记载哪些逻辑地址中的数据已被删除的信息。在此,对于主机系统1000的操作系统来说,所储存的数据已被删除的逻辑地址被称为已删除逻辑地址。特别是,存储器管理单元204会依据此删除记录来在物理地址储存状态表430中将已删除逻辑地址所映射的物理地址标记为“无效数据”。
例如,在本范例实施例中,主机系统1000的操作系统为微软窗口操作系统7,并且微软窗口操作系统7是通过整理(trim)指令来传送删除记录,而主机接口单元206与存储器管理单元204可支持与识别此整理指令。值得一提的是,本发明不限于此,任何可传送删除记录的指令都可应用于本发明。
在本范例实施例中,闪存芯片106为2层存储单元闪存芯片,并且物理单元122-(0)~122-(N)的物理地址PA(0)~PA(K)依据其存取速度可区快速物理地址(亦称为快速页面)与慢速物理地址(亦称为慢速页面)。例如,物理地址PA(0)、PA(2)、PA(4)...PA(K-1)为快速物理地址,而物理地址PA(1)、PA(3)、PA(5)...PA(K)为慢速物理地址,其中K为奇整数。然而,必须了解的是,在本发明另一范例实施例中,闪存芯片106亦可为3层存储单元闪存芯片、4层存储单元闪存芯片或其它多层存储单元闪存芯片。特别是,存储器管理单元204会监控物理地址的使用率,并且依据所监控的使用率来判断使用快速模式或一般模式以在闪存芯片106中储存数据,其中在快速模式中存储器管理单元204仅使用快速物理地址来储存主机系统1000欲写入的数据,而在一般模式中存储器管理单元204会使用快速物理地址与慢速物理地址来储存主机系统1000欲写入的数据。也就是说,在一般模式中闪存芯片106的快速物理地址与慢速物理地址都会被提供来储存数据,而在快速模式中仅快速物理地址会被提供来储存数据。因此,在快速模式下的写入速度会高于在一般模式下的写入速度。
具体来说,存储器管理单元204会计算在物理地址储存状态表430中被标记为“有效数据”的物理地址占所有物理地址的比例作为使用率,并且当此使用率大于使用率门坎值时存储器管理单元204会使用一般模式来储存数据,而当此使用率不大于使用率门坎值时存储器管理单元204会使用快速模式来储存数据。在此,使用率门坎值是被设定为50%,但本发明不限于此。
图14是根据本发明范例实施例所绘示的数据储存方法的流程图。
请参照图14,当闪存储存装置100从主机系统1000中接收到主机写入指令与欲写入的数据时,在步骤S1401中存储器管理单元204会判断目前物理地址的使用率是否大于使用率门坎值。
倘若目前物理地址的使用率大于使用率门坎值时,则在步骤S1403中存储器管理单元204会使用一般模式将数据储存至可写入物理地址指针所指向的物理地址中。也就是说,无论可写入物理地址指针目前所指向的物理地址为快速物理地址或慢速物理地址,存储器管理单元204都会将数据写入至可写入物理地址指针所指向的物理地址中。
倘若目前物理地址的使用率不大于使用率门坎值时,则在步骤S 1405中存储器管理单元204会使用快速模式将数据储存至可写入物理地址指针所指向的物理地址。具体来说,在步骤S1405-1中存储器管理单元204会判断可写入物理地址指针目前所指向的物理地址是否为快速物理地址,并且倘若可写入物理地址指针所指向的物理地址为快速物理地址,则在步骤S1405-3中存储器管理单元204会将数据写入至可写入物理地址指针所指向的物理地址中。倘若可写入物理地址指针目前所指向的物理地址不为快速物理地址时,则在步骤S1405-5中存储器管理单元204会将可写入物理地址指针改为指向下一个物理地址并且步骤S1405-1会被执行。例如,在本发明一范例实施例中,存储器管理单元204会依据一物理地址查询表或一表达式来判断每一物理地址是否属于快速物理地址。
接着,在步骤S1407中存储器管理单元204会更新逻辑地址转物理地址映射表420与物理地址储存状态表430。在此,存储器管理单元204更新逻辑地址转物理地址映射表420与物理地址储存状态表430的方法已配合图6~图13描述如上,在此不重复描述。
图15是根据本发明范例实施例所绘示的数据储存方法的另一流程图,其中绘示当闪存储存装置100从主机系统1000中接收到删除记录时存储器管理单元204更新物理地址储存状态表430的步骤。
请参照图15,在步骤S1501中存储器管理单元204会识别删除记录中已删除逻辑地址所映射的物理地址。之后,在步骤S1503中在物理地址储存状态表430中将已删除逻辑地址所映射的物理地址的储存状态标记为“无效数据”。
综上所述,本发明范例实施例的数据储存方法能够依据闪存的物理地址的使用率来使用快速模式或一般模式来储存数据。特别是,在快速模式中,数据写入速度可有效地被提升。此外,在本范例实施例的数据储存方法中使用物理地址储存状态表来监控每一物理地址所储存的数据的有效性,由此减少无效数据的搬移而提升闪存储存装置的效能。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (24)
1.一种数据储存方法,用于在一闪存芯片中储存数据,其中该闪存芯片具有多个物理地址,该多个物理地址包括至少一快速物理地址与至少一慢速物理地址并且写入数据至该至少一快速物理地址的速度快于写入数据至该至少一慢速物理地址的速度,该数据储存方法包括:
配置多个逻辑地址,其中每一该多个逻辑地址映射该多个物理地址的其中之一;
监控该多个物理地址的一使用率;
判断该使用率是否大于一使用率门坎值;以及
当该使用率不大于该使用率门坎值时,使用一快速模式在该闪存芯片中储存数据,其中在该快速模式中仅使用该多个物理地址的快速物理地址来储存数据。
2.根据权利要求1所述的数据储存方法,还包括:
当该使用率大于该使用率门坎值时,使用一正常模式在该闪存芯片中储存数据,其中在该正常模式中使用该多个物理地址的快速物理地址与慢速物理地址来储存数据。
3.根据权利要求1所述的数据储存方法,其中该使用率为在该多个物理地址之中储存有有效数据的物理地址占所有该多个物理地址的一比例。
4.根据权利要求3所述的数据储存方法,其中该使用率门坎值为50%。
5.根据权利要求1所述的数据储存方法,其中监控该多个物理地址的使用率的步骤包括:
建立一物理地址储存状态表,以记录该多个物理地址的状态;
当一主机系统写入数据至该多个逻辑地址时,在该物理地址储存状态表中将该多个逻辑地址新映射的物理地址标记为有效数据并且将该多个逻辑地址原始映射的物理地址标记为无效数据或无数据;以及
依据该物理地址储存状态表计算该多个物理地址的使用率。
6.根据权利要求5所述的数据储存方法,其中监控该多个物理地址的使用率的步骤还包括:
识别该多个逻辑地址之中的至少一已删除逻辑地址;以及
在该物理地址储存状态表中将该至少一已删除逻辑地址所映射的物理地址标记为无效数据。
7.根据权利要求6所述的数据储存方法,其中识别该多个逻辑地址之中的该至少一已删除逻辑地址的步骤包括:
从该主机系统中获取至少一删除记录,其中该至少一删除记录包括关于该多个逻辑地址之中该至少一已删除逻辑地址的信息。
8.根据权利要求7所述的数据储存方法,其中从该主机系统中获取该至少一删除记录的步骤包括:
从该主机系统中接收至少一整理指令;以及
识别该至少一整理指令以获取该至少一删除记录。
9.一种闪存控制器,用于在一闪存芯片中储存数据,其中该闪存芯片具有多个物理地址,该多个物理地址包括至少一快速物理地址与至少一慢速物理地址并且写入数据至该至少一快速物理地址的速度快于写入数据至该至少一慢速物理地址的速度,该闪存控制器包括:
一微处理器单元;
一闪存接口单元,电性连接至该微处理器单元,用以电性连接至该闪存芯片;
一主机接口单元,电性连接至该微处理器单元,用以电性连接至一主机系统;以及
一存储器管理单元,电性连接至该微处理器单元,用以配置多个逻辑地址,其中每一该多个逻辑地址映射该多个物理地址的其中之一,
其中该存储器管理单元监控该多个物理地址的一使用率,并且判断该使用率是否大于一使用率门坎值,
其中当该使用率不大于该使用率门坎值时,该存储器管理单元使用一快速模式在该闪存芯片中储存数据,其中在该快速模式中该存储器管理单元仅使用该多个物理地址的快速物理地址来储存数据。
10.根据权利要求9所述的闪存控制器,其中当该使用率大于该使用率门坎值时,该存储器管理单元使用一正常模式在该闪存芯片中储存数据,其中在该正常模式中该存储器管理单元使用该多个物理地址的快速物理地址与慢速物理地址来储存数据。
11.根据权利要求9所述的闪存控制器,其中该使用率为在该多个物理地址之中储存有有效数据的物理地址占所有该多个物理地址的一比例。
12.根据权利要求11所述的闪存控制器,其中该使用率门坎值为50%。
13.根据权利要求9所述的闪存控制器,
其中该存储器管理单元建立一物理地址储存状态表以记录该多个物理地址的状态,
其中当该主机系统写入数据至该多个逻辑地址时,该存储器管理单元在该物理地址储存状态表中将该多个逻辑地址新映射的物理地址标记为有效数据并且将该多个逻辑地址原始映射的物理地址标记为无效数据或无数据,
其中该存储器管理单元依据该物理地址储存状态表计算该多个物理地址的使用率。
14.根据权利要求13所述的闪存控制器,其中该存储器管理单元识别该多个逻辑地址之中的至少一已删除逻辑地址,并且在该物理地址储存状态表中将该至少一已删除逻辑地址所映射的物理地址标记为无效数据。
15.根据权利要求14所述的闪存控制器,其中该存储器管理单元经由该主机接口单元从该主机系统中获取至少一删除记录,其中该至少一删除记录包括关于该多个逻辑地址之中该至少一已删除逻辑地址的信息。
16.根据权利要求15所述的闪存控制器,其中该主机接口单元从该主机系统中接收至少一整理指令,并且该存储器管理单元识别该至少一整理指令以获取该至少一删除记录。
17.一种闪存储存系统,包括:
一闪存芯片,具有多个物理地址,该多个物理地址包括至少一快速物理地址与至少一慢速物理地址并且写入数据至该至少一快速物理地址的速度快于写入数据至该至少一慢速物理地址的速度;
一连接器,用以电性连接至一主机系统;以及
一闪存控制器,电性连接至该闪存芯片与该连接器,用以配置多个逻辑地址,其中每一该多个逻辑地址映射该多个物理地址的其中之一,
其中该闪存控制器监控该多个物理地址的一使用率,并且判断该使用率是否大于一使用率门坎值,
其中当该使用率不大于该使用率门坎值时,该闪存控制器使用一快速模式在该闪存芯片中储存数据,其中在该快速模式中该闪存控制器仅使用该多个物理地址的快速物理地址来储存数据。
18.根据权利要求17所述的闪存储存系统,其中当该使用率大于该使用率门坎值时,该闪存控制器使用一正常模式在该闪存芯片中储存数据,其中在该正常模式中该闪存控制器使用该多个物理地址的快速物理地址与慢速物理地址来储存数据。
19.根据权利要求17所述的闪存储存系统,其中该使用率为在该多个物理地址之中储存有有效数据的物理地址占所有该多个物理地址的一比例。
20.根据权利要求19所述的闪存储存系统,其中该使用率门坎值为50%。
21.根据权利要求17所述的闪存储存系统,
其中该闪存控制器建立一物理地址储存状态表以记录该多个物理地址的状态,
其中当该主机系统写入数据至该多个逻辑地址时,该闪存控制器在该物理地址储存状态表中将该多个逻辑地址新映射的物理地址标记为有效数据并且将该多个逻辑地址原始映射的物理地址标记为无效数据或无数据,
其中该闪存控制器依据该物理地址储存状态表计算该多个物理地址的使用率。
22.根据权利要求21所述的闪存储存系统,其中该闪存控制器识别该多个逻辑地址之中的至少一已删除逻辑地址,并且在该物理地址储存状态表中将该至少一已删除逻辑地址所映射的物理地址标记为无效数据。
23.根据权利要求22所述的闪存储存系统,其中该闪存控制器经由该连接器从该主机系统中获取至少一删除记录,其中该至少一删除记录包括关于该多个逻辑地址之中该至少一已删除逻辑地址的信息。
24.根据权利要求23所述的闪存储存系统,其中该闪存控制器从该主机系统中接收至少一整理指令,并且该闪存控制器识别该至少一整理指令以获取该至少一删除记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910247192 CN102087632B (zh) | 2009-12-02 | 2009-12-02 | 用于闪存的数据储存方法及其控制器与储存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910247192 CN102087632B (zh) | 2009-12-02 | 2009-12-02 | 用于闪存的数据储存方法及其控制器与储存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102087632A true CN102087632A (zh) | 2011-06-08 |
CN102087632B CN102087632B (zh) | 2013-01-23 |
Family
ID=44099447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910247192 Active CN102087632B (zh) | 2009-12-02 | 2009-12-02 | 用于闪存的数据储存方法及其控制器与储存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102087632B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183660A (zh) * | 2012-03-23 | 2015-12-23 | 群联电子股份有限公司 | 数据读取方法、存储器控制器与储存装置 |
CN107526688A (zh) * | 2017-09-12 | 2017-12-29 | 上海兆芯集成电路有限公司 | 储存装置以及配置方法 |
WO2019136975A1 (zh) * | 2018-01-12 | 2019-07-18 | 江苏华存电子科技有限公司 | 一种非易失性存储器的磨损均衡方法和装置 |
-
2009
- 2009-12-02 CN CN 200910247192 patent/CN102087632B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183660A (zh) * | 2012-03-23 | 2015-12-23 | 群联电子股份有限公司 | 数据读取方法、存储器控制器与储存装置 |
CN105183660B (zh) * | 2012-03-23 | 2018-07-13 | 群联电子股份有限公司 | 数据读取方法、存储器控制器与储存装置 |
CN107526688A (zh) * | 2017-09-12 | 2017-12-29 | 上海兆芯集成电路有限公司 | 储存装置以及配置方法 |
WO2019136975A1 (zh) * | 2018-01-12 | 2019-07-18 | 江苏华存电子科技有限公司 | 一种非易失性存储器的磨损均衡方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102087632B (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI423024B (zh) | 用於快閃記憶體的資料儲存方法及其控制器與儲存系統 | |
CN103544115B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN102890655B (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN102053796A (zh) | 闪存储存系统、闪存控制器与数据处理方法 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102193869A (zh) | 存储器管理与写入方法及其存储器控制器与储存系统 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102043725B (zh) | 用于闪存的数据写入方法及其控制器与储存系统 | |
CN103699491A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN102122233B (zh) | 区块管理与数据写入方法、闪存储存系统与控制器 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN102053920B (zh) | 数据写入方法及闪存控制器与闪存存储系统 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN103544118A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103984635B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102087632B (zh) | 用于闪存的数据储存方法及其控制器与储存系统 | |
CN104731710A (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN102467459B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102043724B (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 |