CN102866861B - 闪存储存系统、闪存控制器与数据写入方法 - Google Patents

闪存储存系统、闪存控制器与数据写入方法 Download PDF

Info

Publication number
CN102866861B
CN102866861B CN201210265910.3A CN201210265910A CN102866861B CN 102866861 B CN102866861 B CN 102866861B CN 201210265910 A CN201210265910 A CN 201210265910A CN 102866861 B CN102866861 B CN 102866861B
Authority
CN
China
Prior art keywords
data
physical address
solid element
slow speed
block
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
Application number
CN201210265910.3A
Other languages
English (en)
Other versions
CN102866861A (zh
Inventor
蔡来福
陈庆聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Publication of CN102866861A publication Critical patent/CN102866861A/zh
Application granted granted Critical
Publication of CN102866861B publication Critical patent/CN102866861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种闪存储存系统、闪存控制器与数据写入方法,该闪存储存系统包括闪存芯片与闪存控制器。闪存控制器配置闪存芯片的一第二实体单元作为对应一第一实体单元的中途快取实体单元,并且将对应第一主机写入指令的第一数据与对应主机写入指令的第二数据暂存于此中途快取实体单元的快速实体地址中,其中此第一数据与第二数据对应此第一实体单元的慢速实体地址。之后,闪存控制器将第一数据与第二数据从此中途快取实体单元中同步地复制至第一实体单元中,由此缩短写入数据至闪存芯片所需的时间。

Description

闪存储存系统、闪存控制器与数据写入方法
本申请为申请日为2010年01月13日、申请号为201010003937.6、发明名称为″闪存储存系统、闪存控制器与数据写入方法″的专利申请的分案申请。
技术领域
本发明涉及一种闪存储存系统,尤其涉及一种能够快速地储存数据的闪存储存系统、闪存控制器与数据写入方法。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于闪存(FlashMemory)具有数据非挥发性、省电、体积小与无机械结构等的特性,适合可携式应用,最适合使用于这类可携式由电池供电的产品上。记忆卡就是一种以NAND闪存作为储存媒体的储存装置。由于闪存体积小容量大,所以已广泛用于个人重要数据的储存。因此,近年闪存产业成为电子产业中相当热门的一环。
在目前NAND型闪存技术中,NAND型闪存可根据每一记忆胞中可储存的位元数区分为单层记忆胞(SingleLevelCell,SLC)NAND型闪存与多层记忆胞(MultiLevelCell,MLC)NAND型闪存。具体来说,在对SLCNAND型闪存的记忆胞进行程序化(program)时仅能执行单阶的程序化,因此每一记忆胞仅能储存一个位元。而MLCNAND型闪存的实体区块的程序化可分为多阶段。例如,以2层记忆胞为例,实体区块的程序化可分为2阶段。第一阶段是下页面(lowerpage)的写入部分,其物理特性类似于单层记忆胞(SingleLevelCell,SLC)NAND闪存,在完成第一阶段之后才会程序化上页面(upperpage),其中下页面的写入速度会快于上页面。因此,每一实体区块的页面可区分为慢速页面(即,上页面)与快速页面(即,下页面)。
类似地,在8层记忆胞或16层记忆胞的案例中,记忆胞会包括更多个页面并且会以更多阶段来写入。在此,将写入速度最快的页面称为下页面,其他写入速度较慢的页面统称为上页面。例如,上页面包括具有不同写入速度的多个页面。此外,在其他实施例中,上页面也可为写入速度最慢的页面,或者写入速度最慢与部份写入速度快于写入速度最慢页面的页面。例如,在4层记忆胞中,下页面为写入速度最快与写入速度次快的页面,上页面则为写入速度最慢与写入速度次慢的页面。
相对于MLCNAND型闪存来说,SLCNAND型闪存的存取速度较快。但MLCNAND型闪存的储存容量较大且成本较低。因此,如何增加MLCNAND型闪存的存取速度以提升闪存储存装置的效能是本领域技术人员所致力的目标。
发明内容
本发明提供一种闪存储存系统,其能够有效地提高写入数据至闪存的速度。
本发明提供一种闪存控制器,其能够有效地提高写入数据至闪存的速度。
本发明提供一种数据写入方法,其能够有效地提高写入数据至闪存的速度。
本发明范例实施例提出一种闪存储存系统,其包括闪存芯片与闪存控制器。闪存芯片具有多个实体区块,每一实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至快速实体地址的速度快于写入数据至慢速实体地址的速度。闪存控制器电性连接至闪存芯片,用以从主机系统中接收多笔第三数据并且将所述第三数据暂存至快速实体地址中,其中所述第三数据对应慢速实体地址。此外,当暂存至快速实体地址中的第三数据的数量达到一预定值时,闪存控制器将所述第三数据的至少二笔第三数据的至少一部分以一同步方式写入至所述第三数据对应的慢速实体地址中,其中此预定值不小于2。
本发明范例实施例提出一种闪存储存系统,其包括闪存芯片、连接器与闪存控制器。闪存芯片具有一第一区块面与一第二区块面,其中第一区块面与第二区块面分别包括多个实体区块,每一实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至快速实体地址的速度快于写入数据至慢速实体地址的速度。连接器用以电性连接至一主机系统。闪存控制器电性连接至闪存芯片与连接器,用以将第一区块面与第二区块面的实体区块分为多个实体单元并且将部分的实体单元分为一数据区与一备用区,其中每一实体单元包括第一区块面的实体区块的其中之一与第二区块面的实体区块的其中之一。在此,闪存控制器还用以从主机系统中接收对应第一主机写入指令的第一数据,其中此第一数据对应一第一实体单元的一第一实体区块,并且此第一实体单元的第一实体区块属于上述第一区块面。此外,闪存控制器还用以从备用区中选取一个实体单元作为对应此第一实体单元的中途快取实体单元。再者,闪存控制器还用以判断上述第一数据是否为一小数据并且对应第一实体单元的第一实体区块的一第一慢速实体地址,并且当此第一数据为小数据且对应此第一慢速实体地址时,闪存控制器还用以将此第一数据暂存于中途快取实体单元的第一实体区块的快速实体地址的其中之一中,其中此中途快取实体单元的第一实体区块属于上述第一区块面。
本发明范例实施例提出一种闪存控制器,用于写入多笔数据至一闪存芯片。闪存芯片具有多个实体区块,每一实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至快速实体地址的速度快于写入数据至慢速实体地址的速度。本闪存控制器包括微处理器单元、闪存接口单元与存储器管理单元。闪存接口单元电性连接至微处理器单元,并且用以电性连接至闪存芯片。存储器管理单元电性连接至微处理器单元,并且具有多个程序码用以供微处理器单元执行多个程序。微处理器单元用以从主机系统中接收多笔第三数据并且将所述第三数据暂存至快速实体地址中,其中所述第三数据对应慢速实体地址。在此,当暂存至快速实体地址中的第三数据的数量达到一预定值时,微处理器单元还用以将所述第三数据中的至少二笔第三数据的至少一部分以一同步方式写入至所对应的慢速实体地址中,其中此预定值不小于2。
本发明范例实施例提出一种闪存控制器,用于写入多笔数据至一闪存芯片,其中此闪存芯片具有第一区块面与第二区块面,第一区块面与第二区块面分别包括多个实体区块,每一实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至快速实体地址的速度快于写入数据至慢速实体地址的速度。本闪存控制器包括微处理器单元、闪存接口单元、主机接口单元与存储器管理单元。闪存接口单元电性连接至微处理器单元,用以电性连接至闪存芯片。主机接口单元电性连接至微处理器单元,用以电性连接至一主机系统。存储器管理单元电性连接至微处理器单元电性连接至微处理器单元,并且具有多个程序码用以供微处理器单元执行多个程序。微处理器单元用以将第一区块面与第二区块面的实体区块分为多个实体单元并且将部分的实体单元分为一数据区与一备用区,其中每一实体单元包括第一区块面的实体区块的其中之一与第二区块面的实体区块的其中之一。在此,微处理器单元还用以从主机系统中接收对应第一主机写入指令的第一数据,其中第一数据对应一第一实体单元的一第一实体区块,并且此第一实体单元的第一实体区块属于上述第一区块面。此外,微处理器单元还用以从备用区中选取一个实体单元作为对应此第一实体单元的中途快取实体单元。再者,微处理器单元还用以判断此第一数据是否为小数据且对应此第一实体单元的第一实体区块的第一慢速实体地址。并且,当此第一数据为小数据且对应此第一慢速实体地址时,微处理器单元还用以将此第一数据暂存于中途快取实体单元的第一实体区块的快速实体地址的其中之一中,其中此中途快取实体单元的第一实体区块属于上述第一区块面。
本发明范例实施例提出一种数据写入方法,用于将来自于一主机系统的多笔数据写入至一闪存芯片中,其中闪存芯片具有多个实体区块,每一实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至快速实体地址的速度快于写入数据至慢速实体地址的速度。本数据写入方法包括从主机系统中接收多笔第三数据并且将所述第三数据暂存至快速实体地址中,其中所述第三数据对应慢速实体地址。此外,本数据写入方法还包括当暂存至快速实体地址中的第三数据的数量达到一预定值时,将所述第三数据中的至少二笔第三数据的至少一部分以一同步方式写入至对应的慢速实体地址中,其中此预定值不小于2。
本发明范例实施例提出一种数据写入方法,用于将来自于一主机系统的多笔数据写入至一闪存芯片中,其中此闪存芯片具有第一区块面与第二区块面,第一区块面与第二区块面分别包括多个实体区块,每一实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至快速实体地址的速度快于写入数据至慢速实体地址的速度。本数据写入方法包括将第一区块面与第二区块面的实体区块分为多个实体单元并且将部分的实体单元分为一数据区与一备用区,其中每一实体单元包括第一区块面的实体区块的其中之一与第二区块面的实体区块的其中之一。本数据写入方法也包括从主机系统中接收对应第一主机写入指令的第一数据,其中此第一数据对应第一实体单元的第一实体区块,并且此第一实体单元的第一实体区块属于上述第一区块面。本数据写入方法也包括从备用区中选取一个实体单元作为对应第一实体单元的中途快取实体单元,并且判断第一数据是否为小数据且对应第一实体单元的第一实体区块的第一慢速实体地址。本数据写入方法还包括当第一数据为小数据且对应第一慢速实体地址时,将第一数据暂存于中途快取实体单元的第一实体区块的快速实体地址的其中之一中,其中此中途快取实体单元的第一实体区块属于上述第一区块面。
基于上述,本发明范例实施例能够大幅地缩短写入数据至闪存所需的时间,由此提升闪存储存装置的效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A为本发明一范例实施例的使用闪存储存装置的主机系统。
图1B为本发明范例实施例的电脑、输入/输出装置与闪存储存装置的示意图。
图1C为本发明另一范例实施例的主机系统与闪存储存装置的示意图。
图2为图1A所示的闪存储存装置的概要方块图。
图3为本发明一范例实施例的闪存控制器的概要方块图。
图4A为本发明一范例实施例的闪存芯片的概要方块图。
图4B为本发明一范例实施例的实体区块的概要方块图。
图5A~5D为本发明一范例实施例的管理闪存芯片的示意图。
图6~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:闪存芯片;
108:数据总线;110:芯片致能接脚;
202:微处理器单元;204:存储器管理单元;
206:主机接口单元;208:闪存接口单元;
252:缓冲存储器;254:电源管理单元;
256:错误校正单元;402:闪存晶粒;
412:第一区块面;414:第二区块面;
422(0)~422(N)、424(0)~424(N):实体区块;
430(0)~430(N):实体单元;460(0)~460(H):逻辑单元;
302:系统区;304:储存区;
304a:数据区;304b:备用区;
306:取代区;
S1501、S1503、S1505、S1507、S1509、S1511、S1513、S1515、S1517、S1519、S1521、S1523、S1525:数据写入的步骤。
具体实施方式
一般而言,闪存储存装置(也称为,闪存储存系统)包括闪存芯片与控制器(也称为,控制电路)。通常闪存储存装置会与主机系统一起使用,以使主机系统可将数据写入至闪存储存装置或从闪存储存装置中读取数据。另外,也有闪存储存装置是包括嵌入式闪存与可执行于主机系统上以实质地作为此嵌入式闪存的控制器的软件。
图1A为本发明一范例实施例的使用闪存储存装置的主机系统,图1B为本发明范例实施例的电脑、输入/输出装置与闪存储存装置的示意图,图1C为本发明另一范例实施例的主机系统与闪存储存装置的示意图。
请参照图1A,主机系统1000一般包括电脑1100与输入/输出(input/output,I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccessmemory,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或固态硬盘(SolidStateDrive,SSD)1216。
一般而言,主机系统1000可实质地为可储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,闪存储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2为1A所示的闪存储存装置的概要方块图。
请参照图2,闪存储存装置100包括连接器102、闪存控制器104与闪存芯片106。
连接器102电性连接至闪存控制器104并且用以电性连接至主机系统1000。在本范例实施例中,连接器102为安全数字(securedigital,SD)接口连接器。然而,必须了解的是本发明不限于此,连接器102也可以是通用序列总线(UniversalSerialBus,USB)连接器、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394连接器、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)连接器、串行高级技术附件(SerialAdvancedTechnologyAttachment,SATA)连接器、记忆棒(MemoryStick,MS)接口连接器、多媒体储存卡(MultiMediaCard,MMC)接口连接器、小型快闪(CompactFlash,CF)接口连接器、集成电路设备(IntegratedDeviceElectronics,IDE)接口连接器或其他适合的连接器。
闪存控制器104会执行以硬件型式或韧体型式的多个逻辑门或控制指令,并且根据主机系统1000的指令在闪存芯片106中进行数据的写入、读取与抹除等运作。
图3为本发明一范例实施例的闪存控制器的概要方块图。
请参照图3,闪存控制器104包括微处理器单元202、存储器管理单元204、主机接口单元206、闪存接口单元208。
微处理器单元202为闪存控制器104的主控单元,用以执行一存储器管理韧体码以与主机接口单元206与闪存接口单元208等协同合作以进行闪存储存装置100的各种运作。
存储器管理单元204电性连接至微处理器单元202,用以搭配微处理器单元202以使微处理器单元202执行根据本范例实施例的数据存取机制与区块管理机制,存储器管理单元204的运作将于以下配合图式作详细说明。
在本范例实施例中,存储器管理单元204是以一韧体型式实作在闪存控制器104中。例如,将包括多个控制指令的存储器管理单元204烧录至一程序存储器(例如,只读存储器(ReadOnlyMemory,ROM))中并且将此程序存储器嵌入在闪存控制器104中,当闪存储存装置100运作时,存储器管理单元204的多个控制指令会由微处理器单元202来执行以完成根据本发明实施例的数据存取机制与区块管理机制。
在本发明另一范例实施例中,存储器管理单元204的控制指令也可以程序码型式储存于闪存芯片106的特定区域(例如,闪存芯片中专用于存放系统数据的系统区)中。此外,存储器管理单元204可具有一只读存储器(图中未示出),及一随机存取存储器(RandomAccessMemory,RAM)(图中未示出)。其中,此只读存储器具有一驱动码段,用以当闪存控制器104致能时,通过微处理器单元202先执行该驱动码段,以使微处理器单元202先将储存于闪存芯片106中的存储器管理单元204的控制指令传送至存储器管理单元204的随机存取存储器后,再依这些控制指令执行本发明的数据存取机制与区块管理机制。此外,在本发明另一范例实施例中,存储器管理单元204也可以一硬件型式实作在闪存控制器104中。
主机接口单元206电性连接至微处理器单元202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口单元206来传送至微处理器单元202。在本范例实施例中,主机接口单元206对应连接器102为SD接口。然而,必须了解的是本发明不限于此,主机接口单元206也可以是PATA接口、USB接口、IEEE1394接口、PCIExpress接口、SATA接口、MS接口、MMC接口、CF接口、IDE接口或其他适合的数据传输接口。
闪存接口单元208电性连接至微处理器单元202并且用以存取闪存芯片106。也就是说,欲写入至闪存芯片106的数据会经由闪存接口单元208转换为闪存芯片106所能接受的格式。
在本发明一范例实施例中,闪存控制器104还包括缓冲存储器252。缓冲存储器252电性连接至微处理器单元202并且用以暂存来自于主机系统1000的数据与指令或来自于闪存芯片106的数据。
在本发明一范例实施例中,闪存控制器104还包括电源管理单元254。电源管理单元254电性连接至微处理器单元202并且用以控制闪存储存装置100的电源。
在本发明一范例实施例中,闪存控制器104还包括错误校正单元256。错误校正单元256电性连接至微处理器单元202并且用以执行一错误校正程序以确保数据的正确性。具体来说,当微处理器单元202从主机系统1000中接收到主机写入指令时,错误校正单元256会为对应此主机写入指令的写入数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且微处理器单元202会将此写入数据与对应的错误校正码写入至闪存芯片106中。之后,当微处理器单元202从闪存芯片106中读取数据时会同时读取此数据对应的错误校正码,并且错误校正单元256会依据此错误校正码对所读取的数据执行错误校正程序。
请再参照图2,闪存芯片106是闪存储存装置100的储存媒体,用以储存来自于主机系统1000的数据。闪存芯片106是通过一数据总线(DataBus)108与一芯片致能接脚(ChipEnablePin)110与闪存控制器104电性连接。在本范例实施例中,闪存芯片106为多层记忆胞(MultiLevelCell,MLC)NAND闪存芯片。
图4A为本发明一范例实施例的闪存芯片的概要方块图,图4B为本发明一范例实施例的实体区块的概要方块图。
请参照图4A与4B,闪存芯片106是由一个闪存晶粒(die)402所组成。必须了解的是,虽然本发明范例实施例闪存芯片106是由1个闪存晶粒所组成,然而,本发明不限于此,在本发明另一范例实施例中,闪存芯片可由多个闪存晶粒所组成。
闪存晶粒402具有第一区块面(Plane)412与第二区块面414。第一区块面412具有实体区块422(0)~422(N),并且第二区块面414具有实体区块424(0)~424(N)。实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目的一并被抹除的记忆胞。每一实体区块通常会分割为数个实体地址(即,实体页面(page))。由于在本范例实施例中,闪存芯片106为MLCNAND闪存芯片,因此,实体页面为程序化(program)的最小单元。换言之,实体页面为写入数据或读取数据的最小单元。每一实体页面通常包括使用者数据区与冗余区。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode)。在本范例实施例中,每一实体页面的容量为8千字节(kilobyte,KB)。此外,在本范例实施例中,闪存芯片106为2层记忆胞闪存芯片,并且实体区块422(0)~422(N)与实体区块424(0)~424(N)的实体地址依据其程序化速度可区分快速实体地址(亦称为快速页面)与慢速实体地址(亦称为慢速页面)。特别是,写入数据至快速实体地址的速度远快于写入数据至慢速实体地址的速度。例如,以实体单元430(S+1)为例,实体区块的第(0)实体地址、第(2)实体地址、第(4)实体地址...第(K-1)为快速实体地址,而第(1)实体地址、第(3)实体地址、第(5)实体地址...第(K)实体地址为慢速实体地址,其中K为奇整数。然而,必须了解的是,在本发明另一范例实施例中,闪存芯片106也可为3层记忆胞闪存芯片、4层记忆胞闪存芯片或其他多层记忆胞闪存芯片。
值得一提的是,在本范例实施例中,第一区块面412与第二区块面414配置在闪存晶粒402中,并且闪存控制器104通过单一数据总线108传送数据至第一区块面412与第二区块面414或从第一区块面412与第二区块面414中接收数据。然而,在闪存芯片具有多个闪存晶粒的例子中,第一区块面412与第二区块面414也可以配置在不同闪存晶粒中,并且闪存控制器104通过不同的数据总线来分别地传输数据至第一区块面412与第二区块面414。
在本范例实施例中,每一实体区块的实体页面数为有128,然而,必须了解的是,本发明不限于此,每一实体区块的实体页面数也可为192、256或其他适当页面数。此外,第一区块面412与第二区块面414的实体区块通常也可被分组为数个区域(zone),以每一独立的区域来管理实体区块422(0)~422(N)与实体区块424(0)~424(N)可增加操作执行的平行程度且简化管理的复杂度。
此外,闪存控制器104的微处理器单元202会将第一区块面412与第二区块面414的实体区块逻辑地分组为多个实体单元来管理。例如,1个实体单元包括2个实体区块,并且以实体单元作为抹除的单位。在本发明范例实施例中,实体区块422(0)~422(N)与实体区块424(0)~424(N)会被逻辑地分组为实体单元430(0)~430(N)。必须了解的是,尽管本范例实施例是以2个实体区块所组成的实体单元来进行管理。然而,本发明不限于此,在本发明另一范例实施例中,1个实体单元也可由3个以上的实体区块所组成。
图5A~5D为本发明一范例实施例的管理闪存芯片的示意图。
必须了解的是,在此描述闪存的实体区块的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作实体区块是逻辑上的概念。也就是说,闪存的实体区块的实际位置并未改动,而是逻辑上对闪存的实体区块进行操作。
请参照图5A,微处理器单元202会将实体单元430(0)~430(N)逻辑地分组为系统区302、储存区304与取代区306。
逻辑上属于系统区302的实体单元用以记录系统数据,其中此系统数据包括关于闪存芯片的制造商与型号、每一闪存晶粒的区块面数目,每一区块面的实体区块数、每一实体区块的页面数等。
逻辑上属于储存区304的实体单元是用以储存主机系统1000所写入的数据。也就是说,闪存储存装置100会使用分组为储存区304的实体单元来实际地储存主机系统1000所写入的数据。特别是,在本范例实施例中,微处理器单元202将储存区304的实体单元分组为数据区304a与备用区304b。数据区304a的实体单元就是主机系统1000所存取的逻辑单元所映射的实体单元。也就是说,数据区304a的实体单元为储存有效数据的单元。备用区304b的实体单元是用以轮替数据区304a中的实体单元。因此,在备用区304b中的实体单元为空或可使用的单元,即无记录数据或标记为已没用的无效数据。也就是说,数据区304a与备用区306b的实体单元会以轮替方式来储存主机系统1000对闪存储存装置100写入的数据。
请同时参照图5B~5D,例如,当闪存控制器104从主机系统1000中接收到主机写入指令而欲写入数据至数据区304a的实体单元430(S+1)时,微处理器单元202会从备用区304b中提取实体单元430(D+1)来轮替数据区304a的实体单元430(S+1)。然而,当微处理器单元202将新数据写入至实体单元430(D+1)的同时,微处理器单元202不会立刻将实体单元430(S+1)中的所有有效数据搬移至实体单元430(D+1)而抹除实体单元430(S+1)。具体来说,微处理器单元202会将实体单元430(S+1)中欲写入实体地址之前的有效数据(即,第0实体地址与第1实体地址)复制至实体单元430(D+1)(如图5B所示),并且将新数据(即,实体单元310-(D+1)的第2实体地址与第3实体地址)写入至实体单元430(D+1)(如图5C所示)。此时,微处理器单元202即完成写入的动作。因为实体单元430(S+1)中的有效数据有可能在下个操作(例如,主机写入指令)中变成无效,因此立刻将实体单元430(S+1)中的所有有效数据搬移至替换实体单元430(D+1)可能会造成无谓的搬移。在本范例实施例中,暂时地维持这种母子暂态关系(即,实体单元430(S+1)与实体单元430(D+1))的动作称为开启(open)母子单元。
之后,当需要将实体单元430(S+1)与实体单元430(D+1)的内容真正合并时,微处理器单元202会将实体单元430(S+1)与实体单元430(D+1)整并为一个实体单元,由此提升区块的使用效率,在此,合并母子单元的动作称为关闭(close)母子单元。例如,如图5D所示,当进行关闭母子单元时,微处理器单元202会将实体单元430(S+1)中剩余的有效数据(即,第4实体地址页~第K实体地址)复制至替换实体单元433(D+1),然后将实体单元430(S+1)抹除并关联至备用区304b,同时,将实体单元430(D+1)关联至数据区304a。
逻辑上属于取代区306中的实体单元替代实体单元。例如,闪存芯片106在出厂时会预留4%的实体区块作为更换使用。也就是说,当系统区302与储存区304中的实体单元损毁时,预留在取代区306中的实体单元用以取代损坏的实体单元(即,坏实体区块(badblock))。因此,倘若取代区306中仍存有正常的实体区块且发生实体区块损毁时,存储器管理单元204会从取代区306中提取正常的实体区块来更换损毁的实体区块。倘若取代区306中无正常的实体区块且发生实体区块损毁时,则闪存储存装置100将会被宣告为写入保护(writeprotect)状态,而无法再写入数据。
特别是,系统区302、储存区304与取代区306的实体单元的数量会依据不同的闪存规格而有所不同。此外,必须了解的是,在闪存储存装置100的运作中,实体单元关联至系统区302、储存区304与取代区306的分组关系会动态地变动。例如,当储存区中的实体单元损坏时而被取代区的实体单元取代时,则原本取代区的实体单元会被关联至储存区。
在本范例实施例中,微处理器单元202配置逻辑地址给主机系统1000以利于在以上述轮替方式的实体单元中进行数据存取。此外,微处理器单元202会将所提供的逻辑地址分组为逻辑单元460(0)~460(H),并且将逻辑单元460(0)~460(H)映射至数据区304a的实体单元(如图5A所示)。
例如,在逻辑单元460(0)映射在实体单元430(S+1)的例子中,当主机系统1000欲将数据写入至属于逻辑单元460(0)的逻辑地址时,微处理器单元202会根据一配置单元(图中未示出)或一运算式来识别此逻辑地址所属的逻辑单元460(0)。之后,微处理器单元202会根据逻辑单元-实体单元映射表(logicalunit-physicalunitmappingtable)来识别映射逻辑单元460(0)的实体单元430(S+1);从备用区304b中提取实体单元430(D+1);并且将实体单元430(S+1)中的有效旧数据与主机系统1000欲写入的数据写入至实体单元430(D+1)。然后,微处理器单元202会更新逻辑单元-实体单元映射表以将逻辑单元460(0)重新映射至实体单元430(D+1)。
特别是,在本范例实施例中,除了上述一般写入操作(如图5B~5D所示)之外,微处理器单元202会从备用区304b中提取实体单元作为中途快取实体单元,并且将欲写入至慢速实体地址的小数据暂存于中途快取实体单元内的快速实体地址中。特别是,微处理器单元202会将多笔暂存于中途快取实体单元的数据同步地程序化至这些数据所对应的慢速实体地址中,以提升写入数据的速度。在此,当欲写入的数据为小于或等于一个实体地址(即,实体页面)的容量时,微处理器单元202会将此数据视为小数据。例如,如上所述,每一实体地址的容量为8KB,因此微处理器单元202会将数据量小于或等于8KB的数据视为小数据。
图6~14为本发明一范例实施例的写入连续小数据的范例。
请参照图6,假设在逻辑单元460(0)是映射实体单元430(S+1)的状态下,倘若主机系统1000下达第一主机写入指令来从逻辑单元460(0)的第(0)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会从备用区304b中提取实体单元430(D+1)并且微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(0)实体地址(即,实体区块422(D+1)的第(0)实体地址)为快速实体地址。基于此,微处理器单元202会将对应此主机写入指令的数据直接地写入至实体单元430(D+1)的实体区块422(D+1)的第(0)实体地址中。值得一提的是,如上所述,闪存芯片106的程序化是以实体地址为单位,因此倘若对应主机写入指令的数据的大小不满一个实体地址时,微处理器单元202会将数据填补为一个实体地址的大小来进行程序化。
请参照图7,倘若在图6所示的状态下主机系统1000下达第二主机写入指令来从逻辑单元460(0)的第(1)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(1)实体地址(即,实体区块424(D+1)的第(0)实体地址)为快速实体地址。基于此,微处理器单元202会将对应此主机写入指令的数据直接地写入至实体单元430(D+1)的实体区块424(0)的第(0)实体地址中。
请参照图8,倘若在图7所示的状态下主机系统1000下达第三主机写入指令来从逻辑单元460(0)的第(2)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(2)实体地址(即,实体区块422(D+1)的第(1)实体地址)为慢速实体地址。基于此,微处理器单元202会从备用区304b中提取实体单元430(D+2)作为对应实体单元430(D+1)的中途快取实体单元,并且将对应此主机写入指令的数据暂存至中途快取实体单元430(D+2)的快速实体地址(即,实体区块422(D+2)的第(0)实体地址)。在此,中途快取实体单元430(D+2)的实体区块也称为中途快取实体区块。
请参照图9,倘若在图8所示的状态下主机系统1000下达第四主机写入指令来从逻辑单元460(0)的第(3)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(3)实体地址(即,实体区块424(D+1)的第(1)实体地址)为慢速实体地址。基于此,微处理器单元202会将对应此主机写入指令的数据暂存至中途快取实体单元430(D+2)的快速实体地址(即,中途快取实体区块424(D+2)的第(0)实体地址)。
请参照图10,倘若在图9所示的状态下主机系统1000下达第五主机写入指令来从逻辑单元460(0)的第(4)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(4)实体地址(即,实体区块422(D+1)的第(2)实体地址)为快速实体地址。基于此,微处理器单元202会将暂存于中途快取实体单元430(D+2)中对应实体单元430(D+1)的第(2)实体地址与第(3)实体地址的数据复制回实体区块422(D+1)的第(1)实体地址与实体区块424(D+1)的第(1)实体地址中,之后再将对应此主机写入指令的数据写入至实体单元430(D+1)的实体区块422(D+1)的第(2)实体地址中。值得一提的是,由于对应实体单元430(D+1)的第(2)实体地址与第(3)实体地址已复制回实体区块422(D+1)的第(1)实体地址与实体区块424(D+1)的第(1)实体地址中,因此暂存于中途快取实体单元430(D+2)的中途快取实体区块422(D+2)的第(0)实体地址与中途快取实体区块424(D+2)的第(0)实体地址中的数据会被标记为无效数据。
特别是,实体区块422(D+1)与实体区块424(D+1)分别地属于第一区块面412与第二区块面414,因此微处理器单元202会以同步方式将对应实体单元430(D+1)的第(2)实体地址与第(3)实体地址的数据程序化至实体区块422(D+1)的第(1)实体地址与实体区块424(D+1)的第(1)实体地址中。基于此,写入数据的时间可有效地被缩短。例如,在本范例实施例中,由于第一区块面412与第二区块面414配置在同一个闪存晶粒402中,微处理器单元202使用双页面写入(twoplaneprogram)指令或双页面复制回存(twoplanecopyback)指令来同步地将两个实体地址的数据从中途快取实体单元430(D+2)中复制至实体单元430(D+1)。必须了解的是,同时写入的实体地址不限于两个,也可以是三个或其他多数个实体地址。
值得一提的是,在本发明另一范例实施例中,当第一区块面412与第二区块面414配置在不同闪存晶粒时,例如,微处理器单元202以交错模式(interleavemode)将两个实体地址的数据以部分同步方式从中途快取实体单元430(D+2)中复制至实体单元430(D+1)。具体来说,写入数据至闪存晶粒的程序可区分为数据传输(transfer)以及数据程序化(program)两个部分。当主机系统1000欲在闪存储存装置100中储存数据时,闪存控制器104的微处理器单元202会通过数据输入/输出总线将数据传输至闪存晶粒内的缓冲区,之后闪存晶粒会将缓冲区内的数据程序化至闪存模组晶粒的记忆胞中。在此所谓交错模式,就是在使用同一条数据输入/输出总线传输数据的两个闪存晶粒的例子中,利用其中一个闪存晶粒正执行数据程序化的期间传送数据给另一个闪存晶粒。接着,在两个闪存晶粒中至少部分的数据是以同步地方式被程序化至对应的记忆胞中。
请参照图11,倘若在图10所示的状态下主机系统1000下达第六主机写入指令来从逻辑单元460(0)的第(5)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(5)实体地址(即,实体区块424(D+1)的第(2)实体地址)为快速实体地址。基于此,微处理器单元202会将对应此主机写入指令的数据直接地写入至实体单元430(D+1)的实体区块424(D+1)的第(2)实体地址中。
请参照图12,倘若在图11所示的状态下主机系统1000下达第七主机写入指令来从逻辑单元460(0)的第(6)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(6)实体地址(即,实体区块422(D+1)的第(3)实体地址)为慢速实体地址。基于此,微处理器单元202会将对应此主机写入指令的数据暂存至中途快取实体单元430(D+2)的快速实体地址(即,中途快取实体区块422(D+2)的第(2)实体地址)。
请参照图13,倘若在图12所示的状态下主机系统1000下达第八主机写入指令来从逻辑单元460(0)的第(7)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(7)实体地址(即,实体区块424(D+1)的第(3)实体地址)为慢速实体地址。基于此,微处理器单元202会将对应此主机写入指令的数据暂存至中途快取实体单元430(D+2)的快速实体地址(即,中途快取实体区块424(D+2)的第(2)实体地址)。
请参照图14,倘若在图13所示的状态下主机系统1000下达第九主机写入指令来从逻辑单元460(0)的第(8)逻辑地址开始写入数据且欲写入的数据为小数据时,微处理器单元202会判断用于写入此主机写入指令的数据的实体单元430(D+1)的第(8)实体地址(即,实体区块422(D+1)的第(4)实体地址)为快速实体地址。基于此,微处理器单元202会将暂存于中途快取实体单元430(D+2)中对应实体单元430(D+1)的第(6)实体地址与第(7)实体地址的数据复制回实体区块422(D+1)的第(3)实体地址与实体区块424(D+1)的第(3)实体地址中,之后再将对应此主机写入指令的数据写入至实体单元430(D+1)的实体区块422(D+1)的第(4)实体地址中。并且,暂存于中途快取实体单元430(D+2)的中途快取实体区块422(D+2)的第(2)实体地址与中途快取实体区块424(D+2)的第(2)实体地址中的数据会被标记为无效数据。同样的,实体区块422(D+1)与实体区块424(D+1)分别地属于第一区块面412与第二区块面414,因此微处理器单元202会同步地将对应实体单元430(D+1)的第(6)实体地址与第(7)实体地址的数据程序化至实体区块422(D+1)的第(3)实体地址与实体区块424(D+1)的第(3)实体地址中。基于此,写入数据的时间可有效地被缩短。
在本范例实施例中,当中途快取实体单元所对应的实体单元的实体地址已被写满数据时,微处理器单元202会对此中途快取实体单元进行抹除操作,并且将已抹除的实体单元关联至备用区304b。值得一提的是,在闪存储存装置100的运作期间,微处理器单元202可为多个逻辑单元所映射的实体单元配置中途快取实体单元。也就是说,在备用区304b有足够可用实体区块下,微处理器单元202可分别地为多个逻辑单元所映射的实体单元配置中途快取实体单元,以提升写入数据的速度。
综合上述范例,微处理器单元202会先将欲程序化至慢速实体地址的小数据暂存于对应的中途快取实体单元的快速实体地址中,并且当暂存的小数据的数量达到一预定值时再使用同步程序化的方式将对应于多个慢速实体地址的小数据一起写入至实体单元中,由此提升数据写入的效率。值得一提是在上述范例,由于闪存芯片106为2层记忆胞闪存芯片,因此,当在实体单元中连续写入2笔属于慢速实体地址的数据时,微处理器单元202就会将暂存的小数据写入至对应的实体地址中。基于此,此预定值是设定为2。然而,必须了解的是,本发明不限于此,此预定值可因不同的多层记忆体闪存芯片而对应的设定为其他适当的数值。
例如,以上述图6~图10所述的主机写入指令为例,在本范例实施例中,程序化5个主机系统指令所需的时间包括程序化5个快速实体地址的时间以及程序化1个慢速实体地址的时间。然而,在同样的例子中,在传统的写入方法中,程序化5个主机系统指令所需的时间包括程序化3个快速实体地址的时间以及程序化2个慢速实体地址的时间。如上所述,由于写入数据至快速实体地址的时间远快于写入数据至慢速实体地址的时间。因此,相较于传统的数据写入方法,在多执行2次程序化快速实体地址而能节省1次程序化慢速实体地址的情况下,本范例实施例的闪存储存装置100能够大幅缩短写入数据所需的时间。
依据上述原理,在3层记忆胞(threebitspercell)或其他数目多层记忆胞的MLCNAND型闪存中,也可将要写入慢速实体地址的数据先暂存至中速或快速实体地址,或将要写入慢速或中速实体地址的数据先暂存至快速实体地址。之后,当暂存于快速实体地址的数据的大小相等于多页面复制回存(multi-planecopyback)指令或多页面写入指令(multi-planeprogram)指令可在一次写入程序内写入的预定实体地址数目时,再利用多页面复制回存指令或多页面写入来将所暂存的数据写入至对应的中速实体地址或慢速实体地址中。
同样地,在另一范例实施例中,在3层记忆胞(threebitspercell)或其他数目多层记忆胞的MLCNAND型闪存中,也可将要写入慢速实体地址的数据先暂存至中速或快速实体地址,或将要写入慢速或中速实体地址的数据先暂存至快速实体地址。之后,当暂存于快速实体地址的数据的大小不小于二个页面时,再利用交错模式(interleavemode)将此等实体地址的数据以部分同步方式从快速实体地址写入至对应的中速实体地址或慢速实体地址中。
图15为本发明一范例实施例的数据写入的流程图。
请参照图15,在步骤S1501中微处理器单元202从主机系统1000接收主机写入指令与对应此主机写入指令的数据。
在步骤S1503中微处理器单元202依据此主机写入指令对应的逻辑地址判断此逻辑地址所属的逻辑单元,并且依据逻辑单元-实体单元映射表获知此逻辑单元所映射的实体单元,并且在步骤S1505中微处理器单元202判断对应此主机写入指令的数据是否为小数据。
倘若对应此主机写入指令的数据非为小数据,则在步骤S1507中微处理器单元202会执行一般写入操作程序(如图5B~5C所示)将此数据写入至所映射的实体单元中。
倘若在步骤S1505中判断对应此主机写入指令的数据为小数据,则在步骤S1509中微处理器单元202会判断此数据所对应的实体地址(即,此主机写入指令对应的逻辑地址所映射的实体地址)是否为快速实体地址。倘若此数据所对应的实体地址为快速实体地址,则在步骤S1511中微处理器单元202会判断是否存在有对应此逻辑单元所映射的实体单元的中途快取实体单元。
倘若没有对应此逻辑单元所映射的实体单元的中途快取实体单元时,则在步骤S1513中微处理器单元202会将数据直接写入至此数据所对应的实体地址中(如图6与图7所示)。
倘若存在有对应此逻辑单元所映射的实体单元的中途快取实体单元时,则在步骤S1515中微处理器单元202会判断在对应的中途快取实体单元中是否存在有有效数据(即,对应此主机写入指令的实体地址之前的实体地址的有效数据是否被暂存于对应的中途快取实体单元中)。
倘若在步骤S1515中判断在对应的中途快取实体单元中没有有效数据时,则步骤S1517微处理器单元202会将数据直接写入至此数据所对应的实体地址中(如图11所示)。倘若在对应的中途快取实体单元中存在有有效数据时,则在步骤S1519中微处理器单元202会从对应的中途快取实体单元中复制有效数据至此逻辑单元所映射的实体单元,并且之后将数据写入至此数据所对应的实体地址中(如图10所示)。
倘若在步骤S1509中判断此数据所对应的实体地址非快速实体地址,则在步骤S1521中微处理器单元202会判断是否存在有对应此逻辑单元所映射的实体单元的中途快取实体单元。倘若存在有对应此逻辑单元所映射的实体单元的中途快取实体单元时,则在步骤S1523中微处理器单元202会将数据暂存于至此中途快取实体单元的快速实体地址中(如图9、图12与图13所示)。
倘若在步骤S1521中判断没有对应此逻辑单元所映射的实体单元的中途快取实体单元时,则在步骤S1525中微处理器单元202会从备用区304b中提取一个实体单元作为对应的中途快取实体单元,并且将数据暂存于至所提取的中途快取实体单元的快速实体地址中(如图8所示)。
综上所述,本发明范例实施例的数据写入方法会将对应慢速实体地址的多笔小数据暂存于中途快取实体单元的快速实体地址中,并且之后通过同步地在多个区块面的实体区块中执行程序化指令以将所述小数据以平行的方式写入至对应的慢速实体地址中。基于此,写入数据所需的时间可有效地被缩短,进而闪存储存装置的效能可有效地被提升。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据写入系统,用于一闪存芯片,其中该闪存芯片具有一第一区块面与一第二区块面,其中该第一区块面与该第二区块面分别包括多个实体区块,每一所述实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至所述快速实体地址的速度快于写入数据至所述慢速实体地址的速度,该数据写入系统包括:
第一模块,用于将该第一区块面与该第二区块面的所述实体区块分为多个实体单元并且将部分的所述实体单元分为一数据区与一备用区,其中每一所述实体单元包括该第一区块面的所述实体区块的其中之一与该第二区块面的所述实体区块的其中之一;
第二模块,用于从主机系统中接收对应一第一主机写入指令的一第一数据,其中该第一数据对应所述实体单元之中一第一实体单元的一第一实体区块,并且该第一实体单元的该第一实体区块属于该第一区块面;
第三模块,用于从该备用区的所述实体单元之中选取一个实体单元作为对应该第一实体单元的一中途快取实体单元;
第四模块,用于判断该第一数据的大小是否小于或等于一个实体页面的容量并且该第一数据是否对应该第一实体单元的该第一实体区块的所述慢速实体地址之中的一第一慢速实体地址;以及
第五模块,用于当该第一数据的大小为小于或等于一个实体页面的容量且该第一数据是对应该第一慢速实体地址时,将该第一数据暂存于该中途快取实体单元的一第一实体区块的所述快速实体地址的其中之一中,
其中该中途快取实体单元的该第一实体区块属于该第一区块面。
2.根据权利要求1所述的数据写入系统,还包括:
第六模块,用于从该主机系统中接收对应一第二主机写入指令的一第二数据,其中该第二数据对应所述实体单元之中该第一实体单元的一第二实体区块,并且该第一实体单元的该第二实体区块属于该第二区块面;
第七模块,用于判断该第二数据的大小是否小于或等于一个实体页面的容量且该第二数据是否对应该第一实体单元的该第二实体区块的所述慢速实体地址之中的一第二慢速实体地址;以及
第八模块,用于当该第二数据的大小为小于或等于一个实体页面的容量且该第二数据是对应该第二慢速实体地址时,将该第二数据暂存于该中途快取实体单元的一第二实体区块的所述快速实体地址的其中之一中,
其中该中途快取实体单元的该第二实体区块属于该第二区块面。
3.根据权利要求2所述的数据写入系统,还包括:
第九模块,用于从该中途快取实体单元中读出该第一数据与该第二数据并且将该第一数据与该第二数据分别写入至该第一慢速实体地址与该第二慢速实体地址中,
其中至少部分的该第一数据与至少部分的该第二数据以一同步方式被写入至该第一慢速实体地址与该第二慢速实体地址中。
4.根据权利要求3所述的数据写入系统,还包括:
第十模块,用于当该第一实体单元已被写满数据时,对该中途快取实体单元执行一抹除操作并且将该中途快取实体单元关联至该备用区中。
5.根据权利要求3所述的数据写入系统,其中该第九模块使用一复制回存指令从该中途快取实体单元中读出该第一数据与该第二数据并且以该同步方式将该第一数据与该第二数据分别写入至该第一慢速实体地址与该第二慢速实体地址中。
6.一种数据写入方法,用于将来自于一主机系统的多笔数据写入至一闪存芯片中,其中该闪存芯片具有一第一区块面与一第二区块面,该第一区块面与该第二区块面分别包括多个实体区块,每一所述实体区块具有多个实体地址,所述实体地址包括多个快速实体地址与多个慢速实体地址,并且写入数据至所述快速实体地址的速度快于写入数据至所述慢速实体地址的速度,该数据写入方法包括:
将该第一区块面与该第二区块面的所述实体区块分为多个实体单元并且将部分的所述实体单元分为一数据区与一备用区,
其中每一所述实体单元包括该第一区块面的所述实体区块的其中之一与该第二区块面的所述实体区块的其中之一;
从该主机系统中接收对应一第一主机写入指令的一第一数据,其中该第一数据对应所述实体单元之中一第一实体单元的一第一实体区块,并且该第一实体单元的该第一实体区块属于该第一区块面;
从该备用区的所述实体单元之中选取一个实体单元作为对应该第一实体单元的一中途快取实体单元;
判断该第一数据的大小是否小于或等于一个实体页面的容量且该第一数据是否对应该第一实体单元的该第一实体区块的所述慢速实体地址之中的一第一慢速实体地址;以及
当该第一数据的大小为小于或等于一个实体页面的容量且该第一数据是对应该第一慢速实体地址时,将该第一数据暂存于该中途快取实体单元的一第一实体区块的所述快速实体地址的其中之一中,
其中该中途快取实体单元的该第一实体区块属于该第一区块面。
7.根据权利要求6所述的数据写入方法,还包括:
从该主机系统中接收对应一第二主机写入指令的一第二数据,其中该第二数据对应所述实体单元之中该第一实体单元的一第二实体区块,并且该第一实体单元的该第二实体区块属于该第二区块面;
判断该第二数据的大小是否小于或等于一个实体页面的容量且该第二数据是否对应该第一实体单元的该第二实体区块的所述慢速实体地址之中的一第二慢速实体地址;以及
当该第二数据的大小为小于或等于一个实体页面的容量且该第二数据是对应该第二慢速实体地址时,将该第二数据暂存于该中途快取实体单元的一第二实体区块的所述快速实体地址的其中之一中,
其中该中途快取实体单元的该第二实体区块属于该第二区块面。
8.根据权利要求7所述的数据写入方法,还包括:
从该中途快取实体单元中读出该第一数据与该第二数据并且将该第一数据与该第二数据分别写入至该第一慢速实体地址与该第二慢速实体地址中,
其中至少部分的该第一数据与至少部分的该第二数据以一同步方式被写入至该第一慢速实体地址与该第二慢速实体地址中。
9.根据权利要求8所述的数据写入方法,还包括:
当该第一实体单元已被写满数据时,对该中途快取实体单元执行一抹除操作并且将该中途快取实体单元关联至该备用区中。
10.根据权利要求8所述的数据写入方法,其中从该中途快取实体单元中读出该第一数据与该第二数据并且将该第一数据与该第二数据分别写入至该第一慢速实体地址与该第二慢速实体地址中的步骤包括:
使用一复制回存指令从该中途快取实体单元中读出该第一数据与该第二数据并且以该同步方式将该第一数据与该第二数据分别写入至该第一慢速实体地址与该第二慢速实体地址中。
CN201210265910.3A 2010-01-13 2010-01-13 闪存储存系统、闪存控制器与数据写入方法 Active CN102866861B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010003937.6A CN102129353B (zh) 2010-01-13 2010-01-13 数据写入系统与数据写入方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201010003937.6A Division CN102129353B (zh) 2010-01-13 2010-01-13 数据写入系统与数据写入方法

Publications (2)

Publication Number Publication Date
CN102866861A CN102866861A (zh) 2013-01-09
CN102866861B true CN102866861B (zh) 2015-11-18

Family

ID=44267448

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210265910.3A Active CN102866861B (zh) 2010-01-13 2010-01-13 闪存储存系统、闪存控制器与数据写入方法
CN201010003937.6A Active CN102129353B (zh) 2010-01-13 2010-01-13 数据写入系统与数据写入方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201010003937.6A Active CN102129353B (zh) 2010-01-13 2010-01-13 数据写入系统与数据写入方法

Country Status (1)

Country Link
CN (2) CN102866861B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488579B (zh) * 2012-06-11 2016-05-18 群联电子股份有限公司 存储器管理方法、存储器控制器与存储器储存装置
CN103544115B (zh) * 2012-07-10 2016-08-03 群联电子股份有限公司 数据写入方法、存储器控制器与存储器存储装置
CN105573929A (zh) * 2014-10-14 2016-05-11 中兴通讯股份有限公司 一种固态硬盘的控制器模块
CN105511806B (zh) 2015-11-30 2018-09-07 华为技术有限公司 处理写请求的方法和移动终端
JP6393375B2 (ja) * 2016-07-15 2018-09-19 渡辺 浩志 電子装置のネットワーク、電子装置及びその検査工程
CN107807799A (zh) * 2017-11-24 2018-03-16 苏州韦科韬信息技术有限公司 固态硬盘的写入方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549133A (zh) * 2003-05-22 2004-11-24 群联电子股份有限公司 快闪存储器的平行双轨使用方法
CN1567476A (zh) * 2003-06-24 2005-01-19 群联电子股份有限公司 闪存高速大区块的数据写入方法
CN101499036A (zh) * 2008-01-30 2009-08-05 株式会社东芝 信息存储设备及其控制方法
CN101527169A (zh) * 2008-03-03 2009-09-09 群联电子股份有限公司 闪存数据写入方法及其控制器
CN101546298A (zh) * 2008-03-28 2009-09-30 群联电子股份有限公司 用于闪存的数据读取方法、其控制器与储存系统
CN101556555A (zh) * 2008-04-08 2009-10-14 群联电子股份有限公司 用于闪存的区块管理方法、其控制器与储存系统
CN101571832A (zh) * 2008-04-29 2009-11-04 群联电子股份有限公司 数据写入方法及使用该方法的快闪存储系统与其控制器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934074B2 (en) * 1999-08-04 2011-04-26 Super Talent Electronics Flash module with plane-interleaved sequential writes to restricted-write flash chips
US8122179B2 (en) * 2007-12-14 2012-02-21 Silicon Motion, Inc. Memory apparatus and method of evenly using the blocks of a flash memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549133A (zh) * 2003-05-22 2004-11-24 群联电子股份有限公司 快闪存储器的平行双轨使用方法
CN1567476A (zh) * 2003-06-24 2005-01-19 群联电子股份有限公司 闪存高速大区块的数据写入方法
CN101499036A (zh) * 2008-01-30 2009-08-05 株式会社东芝 信息存储设备及其控制方法
CN101527169A (zh) * 2008-03-03 2009-09-09 群联电子股份有限公司 闪存数据写入方法及其控制器
CN101546298A (zh) * 2008-03-28 2009-09-30 群联电子股份有限公司 用于闪存的数据读取方法、其控制器与储存系统
CN101556555A (zh) * 2008-04-08 2009-10-14 群联电子股份有限公司 用于闪存的区块管理方法、其控制器与储存系统
CN101571832A (zh) * 2008-04-29 2009-11-04 群联电子股份有限公司 数据写入方法及使用该方法的快闪存储系统与其控制器

Also Published As

Publication number Publication date
CN102129353A (zh) 2011-07-20
CN102129353B (zh) 2017-04-12
CN102866861A (zh) 2013-01-09

Similar Documents

Publication Publication Date Title
CN103377129B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102193869B (zh) 存储器管理与写入方法及其存储器控制器与储存系统
CN104679437A (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN103544115B (zh) 数据写入方法、存储器控制器与存储器存储装置
CN104423888A (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
CN102866861B (zh) 闪存储存系统、闪存控制器与数据写入方法
CN102592670B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102902626B (zh) 区块管理方法、存储器控制器与存储器储存装置
CN102968385B (zh) 数据写入方法、存储器控制器与储存装置
CN103136111A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102915273B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102567221B (zh) 数据管理方法、存储器控制器与存储器储存装置
CN102446137B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102999437B (zh) 数据搬移方法、存储器控制器与存储器储存装置
CN103678162A (zh) 系统数据储存方法、存储器控制器与存储器储存装置
CN101944384B (zh) 用于闪速存储器的数据写入方法及其控制电路与储存系统
CN104536906A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102122233B (zh) 区块管理与数据写入方法、闪存储存系统与控制器
CN103714008A (zh) 数据存储方法、存储器控制器与存储器存储装置
CN103365790B (zh) 存储器控制器、存储装置与数据写入方法
CN103218308B (zh) 缓冲存储器管理方法、存储器控制器与存储器储存装置
CN104731710A (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
CN102467459B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN103488579B (zh) 存储器管理方法、存储器控制器与存储器储存装置
CN103019952B (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