用于闪存的数据储存方法及其控制器与储存系统的制作方法

文档序号:6585656阅读:144来源:国知局
专利名称:用于闪存的数据储存方法及其控制器与储存系统的制作方法
技术领域
本发明是有关于一种用于闪存的数据储存方法,且特别是有关于一种能够依据闪 存的使用率来选择不同物理地址来储存数据的数据储存方法及使用此方法的闪存控制器 与闪存储存系统。
背景技术
由于闪存(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型闪存的存取速度以提升闪存 储存装置的效能是本领域技术人员所致力的目标。

发明内容
本发明提供一种数据储存方法,其能够有效地提升闪存储存装置的效能。本发明提供一种闪存控制器,其所执行的数据储存方法能够有效地提升闪存储存 装置的效能。本发明提供一种闪存储存系统,其所执行的数据储存方法能够有效地提升闪存储 存装置的效能。本发明范例实施例提出一种数据储存方法,用于在一闪存芯片中储存数据,其中 此闪存芯片具有多个物理地址,此些物理地址包括至少一快速物理地址与至少一慢速物理地址并且写入数据至快速物理地址的速度快于写入数据至慢速物理地址的速度。本数据 储存方法包括配置多个逻辑地址,其中每一该多个逻辑地址映射该多个物理地址的其中之 一。本数据储存方法也包括监控物理地址的使用率以及判断使用率是否大于使用率门坎 值。本数据储存方法也包括当使用率不大于使用率门坎值时,使用一快速模式在闪存芯片 中储存数据,其中在快速模式中仅使用物理地址的快速物理地址来储存数据。本发明范例实施例提出一种闪存控制器,用于在一闪存芯片中储存数据,其中此 闪存芯片具有多个物理地址,此些物理地址包括至少一快速物理地址与至少一慢速物理地 址并且写入数据至快速物理地址的速度快于写入数据至慢速物理地址的速度。本闪存控制 器包括微处理器单元、闪存接口单元、主机接口单元以及存储器管理单元。闪存接口单元电 性连接至微处理器单元,用以电性连接至闪存芯片。主机接口单元电性连接至微处理器单 元,用以电性连接至一主机系统。存储器管理单元电性连接至微处理器单元,用以配置多个 逻辑地址,其中每一逻辑地址映射此些物理地址的其中之一。在此,存储器管理单元监控此 些物理地址的一使用率,并且判断此使用率是否大于一使用率门坎值。并且,当使用率不大 于使用率门坎值时存储器管理单元使用一快速模式在闪存芯片中储存数据,其中在快速模 式中存储器管理单元仅使用此些物理地址的快速物理地址来储存数据。本发明范例实施例提出一种闪存储存系统,其包括闪存芯片、连接器与闪存控制 器。闪存芯片具有多个物理地址,此些物理地址包括至少一快速物理地址与至少一慢速物 理地址并且写入数据至快速物理地址的速度快于写入数据至慢速物理地址的速度。连接器 用以电性连接至一主机系统。闪存控制器电性连接至闪存芯片与连接器,用以配置多个逻 辑地址,其中每一逻辑地址映射此些物理地址的其中之一。在此,闪存控制器监控此些物理 地址的一使用率,并且判断此使用率是否大于一使用率门坎值。并且,当此使用率不大于使 用率门坎值时,闪存控制器使用一快速模式在闪存芯片中储存数据,其中在此快速模式中 闪存控制器仅使用此些物理地址的快速物理地址来储存数据。基于上述,本发明范例实施例能够依据物理地址的使用率来判断仅使用快速物理 地址或者使用快速物理地址与慢速物理地址来储存数据,由此提升闪存储存装置的效能。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式 作详细说明如下。


图IA是根据本发明第一范例实施例绘示使用闪存储存装置的主机系统。图IB是根据本发明范例实施例所绘示的计算机、输入/输出装置与闪存储存装置 的示意图。图IC是根据本发明另一范例实施例所绘示的主机系统与闪存储存装置的示意 图。图2是绘示图IA所示的闪存储存装置100的概要方块图。图3是根据本发明另一范例实施例所绘示的闪存控制器的概要方块图。图4是根据本发明范例实施例所绘示的闪存芯片的方块图。图5是根据本发明范例实施例所绘示的逻辑地址与物理地址的映射示意图。图6与图7是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的范例。
图8与图9是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
图IO b百图11是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
图12与图13是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址储存状态表的另一范例。
图14是根据本发明范例实施例所绘示的数据储存方法的流程图。
图15是根据本发明范例实施例所绘示的数据储存方法的另一流程图。
[主要元件标号说明]
1000主机系统1 100计算机
1 102微处理器1 104随机存取存储器
1106输入/输出装置1108系统总线
1110数据传输接亡11202鼠标
1204键盘1206显示器
1208打印机1212随身碟
1214存储卡1216固态硬盘
1310数字相机1312SD卡
1314MM(卡t316存储棒
1318CF卡t320嵌入式储存装置
100闪存储存装置102连接器
104闪存控制器106闪存芯片
122一(o)一122(N)物理单元202微处理器单元
204存储器管理单元206主机接口单元
208闪存接口单元252缓沖存储器
254电源管理单元256错误校正单元
302系统区304储存区
304a.数据区304b备用区
306取代区LBA(o)一LBA(H)逻辑存取地址
LA(o)一u(L)逻辑地址PA(o)一PA(K)物理地址
420逻辑地址转物理地址映射表430物理地址储存状态表
S1401、S1403、S1405、S1405-1、S1405-3、S1405-5、S1407、S150I、S1503数据储存步骤具体实施方式
.陡而言,闪存储存装置(亦称,闪存储存系统)包括闪存芯片与控制器(亦称,控制电路)。通常闪存储存装置会与主机系统一起使用,以使主机系统可将数据写入至闪存储存装置或从闪存储存装置中读取数据。另外,亦有闪存储存装置是包括嵌入式闪存与可执行于主机系统上以实质地作为此嵌入式闪存的控制器的软件。
图IA是根据本发明范例实施例所绘示的使用闪存储存装置的主机系统。请参照图1A,主机系统1000包括计算机1100与输入/输出(input/output,I/ 0)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccess memory, RAM) 1104、系统总线1108以及数据传输接口 1110。输入/输出装置1106包括如图IB所示 的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图IB所示的装置非限 制输入/输出装置1106,输入/输出装置1106可还包括其它装置。在本发明实施例中,闪存储存装置100是通过数据传输接口 1110与主机系统1000 的其它元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106 的处理主机系统1000可将数据写入至闪存储存装置100或从闪存储存装置100中读取数 据。例如,闪存储存装置100可以是如图IB所示的随身碟1212、存储卡1214或固态硬盘 (Solid State Drive, SSD)1216。一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中,主 机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000 亦可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统 为数字相机1310时,闪存储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick) 1316、或CF卡1318或嵌入式储存装置1320(如图IC所示)。嵌入式储存装置1320 包括嵌入式多媒体卡(Embedded MMC, eMMC)。值得一提的是,嵌入式多媒体卡是直接电性 连接于主机系统的基板上。图2是绘示图IA所示的闪存储存装置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)接口连接器、集成式驱动电 子接口 antegrated 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、电源管理单元2M与错误 校正单元256。缓冲存储器252是电性连接至微处理器单元202并且用以暂存来自于主机系统 1000的数据与指令或来自于闪存芯片106的数据。电源管理单元2M是电性连接至微处理器单元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)更分组为数据区30 与备用区304b,其中数据区30 的物理单元122-(S+1) 122-(D)是已被使用来储存数据的物理单元,而备用区304b的物理单元122-(D+1) 122-(A)是未被使用来储存数据的物理单元。具体来说,当存储器管理单元204从备用区 304b提取物理单元来写入数据时,所提取的物理单元会被关联为数据区30 ,并且当关联 为数据区30 的物理单元被执行抹除运作后已抹除的物理单元会被关联为备用区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、数据区30 、备用区304b与取代区306的映射关系会动态地变动。也就 是说,当存储器管理单元204将数据写入至原本属于备用区304b的物理单元(例如,物理 单元122-Φ+2))后,此物理单元会被关联为数据区30如。或者,当数据区30 (或备用区 304b)中的物理单元损坏时而被取代区306的物理区块取代时,则原本取代区306的物理单 元会被关联为数据区30 (或备用区304b)。图5是根据本发明范例实施例所绘示的逻辑地址与物理地址的映射示意图。请参照图5,由于闪存储存装置100是以轮替地使用储存区304的物理单元来储存 主机系统1000欲储存的数据,因此存储器管理单元204会提供逻辑存取地址LBA(O) 逻 辑存取地址LBA(H)给主机系统1000以进行数据存取。
在此,逻辑存取地址可以是扇区(sector)、丛集(cluster)等。特别是,在本范例 实施例中,存储器管理单元204会将逻辑存取地址LBA(O) 逻辑存取地址LBA(H)分组为 逻辑地址LA(O) 逻辑地址LA (L),并且将逻辑地址LA(O) 逻辑地址LA (L)映射至储存区 304的物理区块的物理地址PA(0) 物理地址PA(K),其中每一逻辑地址是映射其中一个物 理地址。例如,存储器管理单元204会使用一运算规则来设定每一逻辑存取地址所映射的 逻辑地址。在本范例实施例中,每一逻辑地址是由4个逻辑存取地址所组成,例如,逻辑存取 地址LBA(O) LBA(3)是属于逻辑地址LA(O);逻辑存取地址LBA(4) LBA(7)是属于逻 辑地址LA(I);逻辑存取地址LBA(S) LBA(Il)是属于逻辑地址UU2)...等。在本范例 实施例中,逻辑地址为逻辑页面,也就是说,一个逻辑地址包含4个逻辑存取地址。但本发 明不限于此,在本发明另一范例实施例中,逻辑地址亦可是由8个逻辑存取地址所组成或 是由16个逻辑存取地址所组成。此外,存储器管理单元204会维护逻辑地址转物理地址映射表与物理地址储存状 态表来记录逻辑地址与物理地址之间的映射关系。也就是说,当主机系统1000欲在逻辑存 取地址中存取数据时,存储器管理单元204会确认此逻辑存取地址所属的逻辑地址,并且 在此逻辑地址所映射的物理地址中来存取数据。具体来说,当存储器管理单元204开始使用物理单元122-(D+1)来储存主机系统 1000欲写入的数据时,不管主机系统1000是写入那个逻辑地址,存储器管理单元会将数据 依序地写入至物理单元122-(D+1)的物理地址;而当存储器管理单元204开始使用物理单 元122-0+ 来储存主机系统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(O) 逻辑地址LA(L)是分 别地映射物理地址PA (0) 物理地址PA (L)。另外,在物理地址储存状态表430中,物理地 址PA(O) 物理地址PA (L)是映射逻辑地址LA(O) 逻辑地址LA (L),物理地址PA (L+1) 物理地址PA(K)的映射关系被标示为空值(例如,“NULL”),并且物理地址PA(O) 物理 地址PA(L)的储存状态是被标记为“无数据”。另外,此时可写入物理指针是指向物理地址 PA (L+1)ο图8与图9是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地址 储存状态表的另一范例。请参照图8与图9,倘若在图6与图7所示的状态下主机系统1000欲写入的数据是 属于逻辑地址LA(I)时,存储器管理单元204会依据可写入物理地址指针将主机系统1000 欲写入的数据写入至物理地址PA(L+1)中,并且将可写入物理地址指针改为指向物理地址 PA(L+2)。此时,存储器管理单元204会在逻辑地址转物理地址映射表420中将逻辑地址 LA(I)的映射更新为物理地址PA(L+1)。另外,存储器管理单元204会在物理地址储存状态 表430中将物理地址PA (L+1)的映射更新为逻辑地址LA(I),并且将物理地址PA (L+1)的储 存状态更改为“有效数据”。在此,由于逻辑地址LA(I)原始所映射的物理地址PA(I)是被 标记为“无数据”,因此物理地址PA(I)的储存状态不会被改变。图10与图11是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地 址储存状态表的另一范例。请参照图10与图11,倘若在图8与图9的状态下主机系统1000欲写入的数据 是属于逻辑地址LA (1 )时,存储器管理单元204会依据可写入物理地址指针将主机系统 1000欲写入的数据写入至物理地址PA(L+2)中,并且将可写入物理地址指针改为指向物理 地址PA(L+3)。此时,存储器管理单元204会在逻辑地址转物理地址映射表420中将逻辑 地址LA(U9)的映射更新为物理地址PA(L+2)。另外,存储器管理单元204会在物理地址 储存状态表430中将物理页地址PA(L+2)的映射更新为逻辑地址LA(U9),并且将物理地 址PA(L+》的储存状态更改为“有效数据”。在此,由于逻辑地址LA(129)原始所映射的物 理地址PA(129)是被标记为“无数据”,因此物理地址PA(1 )的储存状态不会被改变。图12与图13是根据本发明范例实施例绘示逻辑地址转物理地址映射表与物理地 址储存状态表的另一范例。请参照图12与图13,倘若在图10与图11的状态下主机系统1000欲写入的数据 是属于逻辑页地址LA(I)时,存储器管理单元204会依据可写入物理地址指针将主机系统1000欲写入的数据写入至物理地址PA(L+3)中,并且将可写入物理地址指针改为指向物理 地址PA(L+4)。此时,存储器管理单元204会在逻辑地址转物理地址映射表420中将逻辑 地址LA(I)的映射更新为物理地址PA(L+3)。另外,存储器管理单元204会在物理地址储 存状态表430中将物理页地址PA(L+3)的映射更新为逻辑页地址LA(I),并且将物理地址 PA(L+3)的储存状态更改为“有效数据”。此外,由于逻辑地址LA(I)原始所映射的物理地 址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(O) PA(K)依据其存取速度可区快速物理地址(亦 称为快速页面)与慢速物理地址(亦称为慢速页面)。例如,物理地址PA(O)、PA O)、 PA (4) · · · PA (K-I)为快速物理地址,而物理地址PA(I)、PA (3)、PA⑶…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中将已删除逻 辑地址所映射的物理地址的储存状态标记为“无效数据”。综上所述,本发明范例实施例的数据储存方法能够依据闪存的物理地址的使用率 来使用快速模式或一般模式来储存数据。特别是,在快速模式中,数据写入速度可有效地被 提升。此外,在本范例实施例的数据储存方法中使用物理地址储存状态表来监控每一物理 地址所储存的数据的有效性,由此减少无效数据的搬移而提升闪存储存装置的效能。虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域 中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明 的保护范围当视所附的权利要求范围所界定者为准。
权利要求
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所述的闪存储存系统,其中该闪存控制器从该主机系统中接收至 少一整理指令,并且该闪存控制器识别该至少一整理指令以获取该至少一删除记录。
全文摘要
一种数据储存方法,用于在闪存芯片中储存数据,此闪存芯片具有多个物理地址,此些物理地址包括多个快速物理地址与多个慢速物理地址。本数据储存方法包括监控物理地址的使用率;当使用率不大于使用率门坎值时,仅使用物理地址的快速物理地址来在闪存芯片中储存数据;以及当使用率大于使用率门坎值时,使用物理地址的快速物理地址与慢速物理地址来在闪存芯片中储存数据。基此,可有效地提升在闪存芯片中写入数据的速度。
文档编号G06F12/02GK102087632SQ20091024719
公开日2011年6月8日 申请日期2009年12月2日 优先权日2009年12月2日
发明者叶志刚, 苏永隆 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1