CN101944384B - 用于闪速存储器的数据写入方法及其控制电路与储存系统 - Google Patents
用于闪速存储器的数据写入方法及其控制电路与储存系统 Download PDFInfo
- Publication number
- CN101944384B CN101944384B CN 200910151933 CN200910151933A CN101944384B CN 101944384 B CN101944384 B CN 101944384B CN 200910151933 CN200910151933 CN 200910151933 CN 200910151933 A CN200910151933 A CN 200910151933A CN 101944384 B CN101944384 B CN 101944384B
- Authority
- CN
- China
- Prior art keywords
- logical
- flash memory
- storage element
- unit
- sub
- 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
Images
Landscapes
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种用于闪速存储器的数据写入方法及其控制电路与储存系统。其中数据写入方法,用以写入数据至一闪速存储器晶片,其中闪速存储器晶片包括多个物理单元。本数据写入方法包括提供一闪速存储器控制电路,并且配置多个逻辑单元,其中每一逻辑单元映射至少一物理单元。本数据写入方法还包括配置多个逻辑地址,并且将逻辑地址映射至逻辑单元,其中逻辑单元的至少其中之一映射非连续的至少两个逻辑地址。本数据写入方法还包括由闪速存储器控制电路根据映射逻辑地址的逻辑单元将来自于主机系统的数据写入至映射的所述多个物理单元中。基此,本数据写入方法可减少在物理单元中写入数据时所需搬移的数据,进而有效地提升数据写入的速度。
Description
技术领域
本发明涉及一种闪速存储器控制电路,且特别涉及一种能够有效提升数据写入效能的闪速存储器控制电路、闪速存储器储存系统及其数据写入方法。
背景技术
数码相机、手机相机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于闪速存储器(flash memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,适合可携式应用,最适合使用于这类可携式由电池供电的产品上。固态硬盘就是一种以NAND闪速存储器作为储存媒体的储存装置。
基于闪速存储器的物理特性,在闪速存储器存储单元仅能进行单向的程序化(即,存储单元中的比特仅能从1程序化为0),因此在闪速存储器的存储单元中写入数据时必须先将存储单元中先前所储存的数据抹除后方能重新写入新数据。为了能够有效率地写入数据,在闪速存储器储存装置的设计上,一般来说,闪速存储器储存装置的物理单元会以轮替方式来储存数据。
一般来说,在闪速存储器储存系统的设计上,闪速存储器储存系统的闪速存储器物理区块会被分组成多个物理区块并且此些物理区块会被分群为多个物理单元。此外,在运作上,物理单元会被分组为数据区(dataarea)与备用区(spare area)。归类为数据区的物理单元中是用以储存由写入指令所写入的有效数据,而备用区中的物理单元是用以在执行写入指令时替换数据区中的物理单元。具体来说,当闪速存储器储存系统接收到主机的写入指令而欲对数据区的物理单元进行更新(或写入)时,闪速存储器储存系统会从备用区中提取一物理单元并且将数据区中欲被更新的物理单元中的有效旧数据与欲写入的新数据写入至从备用区中提取的物理单元中并且将已写入新数据的物理单元关联至数据区,并且将原本在数据区中欲更新的物理单元进行抹除并关联至备用区。为了能够让主机能够顺利地存取以轮替方式储存数据的物理单元,闪速存储器储存系统会提供逻辑单元给主机。也就是说,闪速存储器储存系统会在映射表(mapping table)中记录与更新逻辑单元与数据区的物理单元之间的映射关系来反映物理单元的轮替,所以主机仅需要针对所提供的逻辑单元进行存取,而闪速存储器储存系统会依据映射表对所映射的物理单元进行读取或写入数据。
一般来说,当闪速存储器储存装置被完成制造时,制造商会经过实际的写入测试数据以测试闪速存储器储存装置的存取速度。由于测试数据是以大于上述逻辑区块与物理区块的一测试单元(或称储存单元)为单位写入至闪速存储器装置中,因此当闪速存储器储存装置以上述轮替方式在物理单元中写入数据时,可能会花费许多时间在搬移旧有效数据上,因此所测得的存取速度会较差,因而影响闪速存储器储存装置的售价。
发明内容
本发明提供一种数据写入方法,其能够有效地提升写入数据至闪速存储器晶片的速度。
本发明提供一种闪速存储器控制电路,其能够执行上述数据写入方法以有效地提升写入数据至闪速存储器晶片的速度。
本发明提供一种闪速存储器储存系统,其能够执行上述数据写入方法以有效地提升写入数据至闪速存储器晶片的速度。
本发明一实施例提供一种数据写入方法,用以写入数据至一闪速存储器晶片,其中闪速存储器晶片包括多个物理单元。本数据写入方法包括提供一闪速存储器控制电路,并且配置多个逻辑单元,其中每一逻辑单元映射至少一物理单元。本数据写入方法还包括配置多个逻辑地址以供一主机系统存取,并且将逻辑地址映射至逻辑单元,其中逻辑单元的至少其中一映射非连续的至少两个逻辑地址。本数据写入方法还包括由闪速存储器控制电路根据映射逻辑地址的逻辑单元将来自于主机系统的数据写入至映射的所述多个物理单元中,其中映射相同逻辑单元的逻辑地址所储存的数据会同时地被抹除。
本发明一实施例提出一种闪速存储器控制电路,用以控制一闪速存储器晶片以将来自于一主机系统的数据写入至此闪速存储器晶片的多个物理区块中。本控制电路包括微处理器单元、闪速存储器接口单元、主机接口单元以及存储器管理单元。闪速存储器接口单元电性连接至微处理器单元,并且用以连接闪速存储器晶片。主机接口单元电性连接至微处理器单元,并且用以连接一主机系统。存储器管理单元电性连接至微处理单元,并且用以配置映射物理单元的多个逻辑单元和供主机系统存取的多个逻辑地址。此外,存储器管理单元会将逻辑地址映射至逻辑单元,其中逻辑单元的至少其中一映射非连续的至少两个逻辑地址,且每一逻辑单元映射至少一物理单元。再者,存储器管理单元根据映射逻辑地址的逻辑单元将来自于主机系统的数据写入至映射的物理单元中,其中映射相同逻辑单元的逻辑地址所储存的数据会同时地被抹除。
本发明一实施例提供一种闪速存储器储存系统用于储存来自于一主机系统的数据。本闪速存储器储存系统包括连接器、闪速存储器晶片与闪速存储器控制器,其中连接器用以连接一主机系统,闪速存储器晶片具有多个物理区块,且闪速存储器控制器电性连接至连接器与闪速存储器晶片。闪速存储器控制器用以配置映射物理单元的多个逻辑单元和供主机系统存取的多个逻辑地址,并且将逻辑地址映射至逻辑单元,其中逻辑单元的至少其中一映射非连续的至少两个逻辑地址,且每一逻辑单元映射至少一物理单元。此外,当主机系统在逻辑地址中储存数据时,闪速存储器控制器根据映射逻辑地址的逻辑单元将来自于主机系统的数据写入至映射的物理单元中,其中映射相同逻辑单元的逻辑地址所储存的数据会同时地被抹除。
基于上述,本发明实施例所提供的数据写入方法是以非连续方式将逻辑地址映射至逻辑区块,由此可将储存单元中超过一个逻辑单元可储存的数据量集中于一个特定逻辑单元中。因此,本发明实施例所提供的数据写入方法可减少在物理单元中写入数据时所需搬移的数据,进而有效地提升数据写入的速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为本发明一实施例所示的闪速存储器储存装置的概要方块示意图。
图2为本发明一实施例所示的闪速存储器晶片的概要方块示意图。
图3A-3D为本发明一实施例所示的闪速存储器晶片的运作示意图。
图4为本发明实施例所示的逻辑地址与逻辑区块映射示意图。
图5为本发明另一实施例所示的逻辑地址与逻辑区块映射示意图。
图6为本实施例所示数据写入方法的流程示意图。
图7为本发明实施例所示图5中步骤S505的详细流程示意图。
主要元件符号说明:
100:闪速存储器储存装置 110:闪速存储器控制器
110a:微处理器单元 110b:存储器管理单元
110c:闪速存储器接口单元 110d:主机接口单元
120:连接器 130:闪速存储器晶片
200:主机系统 300:总线
210:第一闪速存储器模组 220:第二闪速存储器模组
310-(0)至310-(N):物理单元 320:储存区
330:取代区 302:系统区
304:数据区 306:备用区
350-1至350-M:逻辑单元 360:逻辑地址
370-1至370-K:储存单元
210-(0)至210-(N)、220-(0)至220-(N):物理区块
370-1a、370-2a、370-3a:第一子储存单元
370-1b、370-2b、370-3b:第二子储存单元
380-1至380-12:转换单元
S501、S503、S505、S507、S601、S603、S605、S607、S609:数据写入方法的步骤
具体实施方式
图1为本发明一实施例所示的闪速存储器储存装置的概要方块示意图。
请参照图1,通常闪速存储器储存装置100会与主机系统200一起使用,以使主机系统200可将数据写入至闪速存储器储存装置100或从闪速存储器储存装置100中读取数据。在本实施例中,闪速存储器储存装置100为记忆卡。但必须了解的是,在本发明另一实施例中闪速存储器储存装置100亦可以是固态硬盘(Solid State Drive,简称SSD)或随身盘。
闪速存储器储存装置100包括闪速存储器控制器(亦称闪速存储器控制电路)110、连接器120与闪速存储器晶片130。
闪速存储器控制器110会执行以硬件型式或软件型式实现的多个逻辑门或控制指令,并且根据主机系统200的指令在闪速存储器晶片130中进行数据的写入、读取与抹除等。闪速存储器控制器110包括微处理器单元110a、存储器管理单元110b、闪速存储器接口单元110c与主机接口单元110d。
微处理器单元110a用以与存储器管理单元110b、闪速存储器接口单元110c与主机接口单元110d等协同合作以进行闪速存储器储存装置100的各种运作。
存储器管理单元110b是电性连接至微处理器单元110a,并且用以执行根据本实施例的区块管理机制与数据写入机制。
在本实施例中,存储器管理单元110b是以一软件型式实现在闪速存储器控制器110中。例如,将包括多个程序指令的存储器管理单元110b烧录至一程序存储器(例如,只读存储器(Read Only Memory,简称ROM))中并且将此程序存储器嵌入在闪速存储器控制器110中,当闪速存储器储存装置100运作时,存储器管理单元110b的多个机器指令会由微处理器单元110a来执行以完成根据本发明实施例的区块管理机制与数据写入机制。
在本发明另一实施例中,存储器管理单元110b的控制指令亦可以软体型式储存于闪速存储器晶片130的特定区域(例如,闪速存储器中专用于存放系统数据的系统区)中。同样的,当闪速存储器储存装置100运作时,存储器管理单元110b的多个控制指令会由微处理器单元110a来执行。此外,在本发明另一实施例中,存储器管理单元110b亦可以一硬件型式实现在闪速存储器控制器110中。
闪速存储器接口单元110c是电性连接至微处理器单元110a并且用以存取闪速存储器晶片130。也就是说,欲写入至闪速存储器晶片130的数据会经由闪速存储器接口单元110c转换为闪速存储器晶片130所能接收的格式。
主机接口单元110d是电性连接至微处理器单元110a并且用以接收与识别主机系统200所传送的指令。也就是说,主机系统200所传送的指令与数据会透过主机接口单元110d来传送至微处理器单元110a。在本实施例中,主机接口单元110d为安全数码(Secure Digital,简称SD)接口。然而,必须了解的是本发明不限于此,主机接口单元110d亦可以是串行高级技术附件(Serial Advanced Technology Attachment,简称SATA)接口、通用串行总线(Universal Serial Bus,简称USB)接口、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称IEEE)1394接口、快捷外设互联标准接口(Peripheral Component InterconnectExpress,简称PCI Express)、记忆棒(Memory Sick,简称MS)接口、多媒体储存卡(Multi Media Card,简称MMC)接口、紧凑式闪存(Compact Flash,简称CF)接口、整合式驱动电子接口(Integrated Device Electronics,简称IDE)或其他适合的数据传输接口。
此外,虽未绘示于本范例实施例,但闪速存储器控制器110亦还包括错误校正单元与电源管理单元等用于控制闪速存储器的一般功能模块。
连接器120是电性连接至闪速存储器控制器110并且通过总线300连接主机系统200。在本实施例中,连接器120为SD连接器。然而,必须了解的是本发明不限于此,连接器120亦可以是SATA连接器、USB连接器、IEEE 1394连接器、PCI Express连接器、MS连接器、MMC连接器、CF连接器、IDE连接器或其他适合的连接器。
闪速存储器晶片130是电性连接至闪速存储器控制器110并且用以储存数据。
图2为本发明一实施例所示的闪速存储器晶片的概要方块示意图。
在本实施例中,闪速存储器晶片130包括第一闪速存储器模块210与第二闪速存储器模块220,其中第一闪速存储器模块210具有物理区块210-(0)至210-(N)并且第二闪速存储器模块220具有物理区块220-(0)至220-(N)。值得一提的是,虽然本发明实施例是以包括2个闪速存储器模块的闪速存储器晶片130来描述,然而本发明不限于此。在本实施中,第一闪速存储器模块210与第二闪速存储器模块220为多层存储单元(Multi Level Cell,简称MLC)NAND闪速存储器,即一个细胞内可储存2个、3个或其他数个比特的信息。然而,必须了解的是,本发明不限于此。在本发明另一实施例中,单层存储单元(Single Level Cell,简称SLC)NAND闪速存储器亦可应用于本发明。
在闪速存储器晶片130中,物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目的一并被抹除的存储单元。每一物理区块通常会分割为数个页面(page)。由于在本实施例中,闪速存储器晶片130的第一闪速存储器模块210与第二闪速存储器模块220为MLC NAND闪速存储器,因此,页面为程序化(program)的最小单元。换言之,页面为写入数据或读取数据的最小单元。每一页面通常包括使用者数据区D与冗余区R。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误检查与校正码(Error Checking and Correcting Code,简称ECC Code))。在本实施例中,闪速存储器晶片130的每一页面具有8千字节(kilo byte,简称KB)。
在本实施例中,每一物理区块具有192个页面,然而,必须了解的是,本发明不限于此,本发明亦可具有128、256或其他数个页面。此外,第一闪速存储器模块210与第二闪速存储器模块220的物理区块通常也可被分组为数个区域(zone),以每一独立的区域来管理物理区块210-(0)至210-(N)与物理区块220-(0)至220-(N)可增加操作执行的平行程度且简化管理的复杂度。
此外,闪速存储器控制器110会将第一闪速存储器模块210与第二闪速存储器模块220中的物理区块逻辑地分组为多个物理单元来管理,例如1个物理单元包括2个物理区块,并且以物理单元作为抹除的单位。由于以物理单元进行管理时,闪速存储器控制器110是以较大的单位(即物理单元)来维护逻辑单元-物理单元映射表,因此可节省所需使用的缓冲存储器(未绘示)的空间。在本发明实施例中,物理区块210-(0)至210-(N)与物理区块220-(0)至220-(N)会被逻辑地分组为物理单元310-(0)至310-(N)。必须了解的是,尽管本范例实施例是以2个物理区块所组成的物理单元来进行管理。然而,本发明不限于此,在本发明另一实施例中,1个物理单元亦可是仅由1个物理区块或由3个以上的物理区块所组成。
图3A-3D为本发明一实施例所示的闪速存储器晶片的运作示意图。
必须了解的是,在此描述闪速存储器物理区块的运作时,以“提取”、“搬移”、“交换”、“替换”、“轮替”、“分组”等词来操作闪速存储器晶片130的物理区块是逻辑上的概念。也就是说,闪速存储器的物理区块的实际位置并未被更动,而是逻辑上对闪速存储器的物理区块进行操作。值得一提的是,下述的运作是由闪速存储器控制器110的存储器管理单元110b所完成。
请参照图3A,存储器管理单元110b会将闪速存储器晶片130的物理区块逻辑地分组为物理单元310-(0)至310-(N),并且会将物理单元310-(0)至310-(N)逻辑地分组为储存区320以及取代区330。
逻辑上属于储存区320的物理单元310-(0)至310-(P)是闪速存储器储存装置100中正常被使用的物理单元。也就是说,存储器管理单元110b会将数据写入至属于储存区320的物理单元。
逻辑上属于取代区330的物理单元310-(P+1)至310-(N)是替代物理单元,用以取代损坏的物理单元。例如,闪速存储器晶片130在出厂时会预留4%的物理区块作为更换使用。也就是说,当储存区320中的物理区块损毁时,预留于取代区330中的物理区块可用以取代损坏的物理区块(即,坏的物理区块(bad block))。因此,倘若取代区330中仍存有可用的物理区块时,若发生物理区块损毁,存储器管理单元110b会从取代区330中提取可用的物理区块来更换损毁的物理区块。倘若取代区330中无可用的物理区块且发生物理区块损毁时,闪速存储器储存装置100将会被宣告无法再被使用。
请参照图3B,存储器管理单元110b会将储存区320的物理区块逻辑地分组成一系统区302、一数据区304与一备用区306。
系统区302包括物理单元310-(0)至物理单元310-(S),数据区304包括物理单元310-(S+1)至物理单元310-(S+M),并且备用区306包括物理单元310-(S+M+1)至物理单元310-(P)。在本实施例中,上述S、M与P为正整数,其代表各区配置的物理区块数量,其可由闪速存储器储存系统的制造商根据所使用的闪速存储器模块的容量而设定。
逻辑上属于系统区302的物理单元用以记录系统数据,其中此系统数据包括关于闪速存储器晶片的制造商与型号、每一闪速存储器模块的区域数、每一区域的物理区块数、每一物理区块的页面数等。
逻辑上属于数据区304的物理单元用以储存使用者数据。一般来说,数据区304的物理单元就是主机系统200所存取的逻辑单元所映射的物理单元。也就是说,数据区304的物理单元为储存有效数据的单元。
逻辑上属于备用区306的物理单元是用以轮替数据区304中的物理单元,因此在备用区306中的物理单元为空或可使用的单元,即无记录数据或标记为已没用的无效数据。也就是说,数据区304与备用区306的物理单元会以轮替方式来储存主机系统200对闪速存储器储存装置100写入的数据。
请同时参照图3B与图3C,例如,当闪速存储器控制器110欲写入数据至数据区304的物理单元310-(S+1)时,存储器管理单元110b会从备用区306中提取物理单元310-(S+M+1)来轮替数据区304的物理单元310-(S+1)。然而,当存储器管理单元110b将新数据写入至物理单元310-(S+M+1)的同时,存储器管理单元110b不会立刻将物理单元310-(S+1)中的所有有效数据搬移至物理单元310-(S+M+1)而抹除物理单元310-(S+1)。具体来说,存储器管理单元110b会将物理单元310-(S+1)中欲写入页面之前的有效数据(即,页P0与P1)复制至物理单元310-(S+M+1)(如图3C的(a)),并且将新数据(即,物理单元310-(S+M+1)的页P2与P3)写入至物理单元310-(S+M+1)(如图3C的(b))。此时,存储器管理单元110b即完成写入的动作。因为物理单元310-(S+1)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将物理单元310-(S+1)中的所有有效数据搬移至替换物理单元310-(S+M+1)可能会造成无谓的搬移。在本实施例中,暂时地维持此等母子暂态关系(即,物理单元310-(S+1)与物理单元310-(S+M+1))的动作称为开启(open)母子单元,其中由于开启母子单元时必须在缓冲存储器中记录数据如何分散地储存在多个物理单元中,因此在闪速存储器储存装置100中同一时间开启母子单元的数目是根据闪速存储器控制器110中缓冲存储器的大小而定。
之后,当需要将物理单元310-(S+1)与物理单元310-(S+M+1)的内容真正合并时,存储器管理单元110b会将物理单元310-(S+1)与物理单元310-(S+M+1)整并为一个物理单元,由此提升区块的使用效率,在此,合并母子单元的动作称为关闭(close)母子单元。例如,如图3C的(c)所示,当进行关闭母子单元时,存储器管理单元110b会将物理单元310-(S+1)中剩余的有效数据(即,页P4至PN)复制至替换物理单元310-(S+M+1),然后将物理单元310-(S+1)抹除并关联至备用区306,同时,将物理单元310-(S+M+1)关联至数据区304。
请参照图3D,特别是,由于闪速存储器晶片130的物理单元是以上述轮替方式提供主机系统200来储存数据,因此存储器管理单元110b会提供逻辑地址360给主机系统200以进行数据存取。此外,如上所述,存储器管理单元110b是以物理单元与页面为单位来管理闪速存储器,所以存储器管理单元110b会提供逻辑单元350-1至350-M来映射逻辑地址360。例如,在本实施例中,存储器管理单元110b会通过维护逻辑地址-逻辑单元映射表(logical address-logical unit mapping table)来记录逻辑地址与逻辑区块的映射关系,并且通过维护逻辑单元-物理单元映射表(logical unit-physical unit mapping table)来记录逻辑单元所映射的物理单元。具体来说,当主机系统200欲对某一逻辑地址进行存取时,存储器管理单元110b会根据一配置单元(图未示)或以一运算式,来识别映射此逻辑地址的逻辑单元,并且根据逻辑单元-物理单元映射表识别映射此逻辑单元的物理单元,之后根据映射结果来在闪速存储器晶片130上存取数据。在本实施例中,上述配置单元是以逻辑地址-逻辑区块映射表来记录逻辑地址与逻辑单元的映射关系。
此外,在本发明另一实施例中,上述配置单元亦可以一运算式来表示逻辑地址与逻辑单元的映射关系。例如,若一个扇区为1MB(megabyte)且一储存单元为4MB时,配置单元会以4为除数来对逻辑地址进行余数运算,其中当余数为3时则将该逻辑地址所对应的数据写入至对应的副逻辑单元中,而当余数不为3时则依其商值写入至相对应的逻辑单元中。例如,当配置单元对逻辑地址0进行余数运算时,其商为0且余数不为3,因此对应逻辑地址0的数据会被写入至主逻辑单元350-1;当配置单元对逻辑地址4进行余数运算时,其商为1且余数不为3,因此对应逻辑地址4的数据会被写入至主逻辑单元350-2;当配置单元对逻辑地址3进行余数运算时,其商为0且余数为3,因此对应逻辑地址3的数据会被写入至副逻辑单元350-4。
在本实施例中,一般来说,当逻辑单元所映射的物理单元非处于开启母子单元的状态时,则在逻辑单元-物理单元映射表中逻辑单元与物理单元是以1对1方式映射,即1个逻辑单元映射1个物理单元。而当逻辑单元所映射的物理单元处于开启母子单元的状态时,则在逻辑单元-物理单元映射表中所记录的逻辑单元与物理单元的映射关系是以1对多方式映射,即1个逻辑单元映射多个物理单元。必须了解的是,在本实施例中是以逻辑单元-物理单元映射表来统一记录逻辑单元与物理单元的映射关系,然而在本发明另一实施例中,逻辑单元与物理单元的映射关系亦可由多个表格来记录或者记录在每一物理单元的冗余区中。
此外,在逻辑地址-逻辑单元映射表中,逻辑地址360是以非连续方式映射至逻辑单元350-1至350-M。具体来说,存储器管理单元110b会将逻辑单元350-1至350-M分组为具有主逻辑单元与副逻辑单元的多个逻辑单元群组,并且将逻辑地址360依序地分群为储存单元370-1至370-K。此外,存储器管理单元110b会将每一储存单元区分为第一子储存单元与第二子储存单元,并且将每一储存单元的第一子储存单元与第二子储存单元以非连续方式映射至主逻辑单元与副逻辑单元。其中,在本发明的一实施例中,1个逻辑单元群组的大小为1个逻辑单元的大小与1个储存单元的大小的最小公倍数,但亦可以使用者的管理需求,而另行定义逻辑单元群组的容量。例如,倘若每一逻辑单元的大小为3MB,而每一储存单元的大小为4MB时,则逻辑单元群组的大小为12MB。
图4为本发明实施例所示的逻辑地址与逻辑区块映射示意图。必须了解的是,在本实施例中,所有储存单元370-1至370-K的逻辑地址可以相同方式与逻辑单元映射,因此以下仅以储存单元370-1至370-3的逻辑地址映射至由逻辑单元350-1至350-4所组成的逻辑单元群组为例来进行说明。
请参照图4,存储器管理单元110b将储存单元370-1分为第一子储存单元370-1a与第二子储存单元370-1b,将储存单元370-2分为第一子储存单元370-2a与第二子储存单元370-2b,并且将储存单元370-3分为第一子储存单元370-3a与第二子储存单元370-3b。此外,存储器管理单元110b会选择逻辑单元350-4作为副逻辑单元并且选择其他逻辑单元(即,逻辑单元350-1至350-3)作为主逻辑单元。
在本实施例中,每一物理单元的大小为3MB,并且每一逻辑单元的大小亦对应为3MB。此外,值得一提的是,每一储存单元(即,储存单元370-1至370-K)的大小为4MB。特别是,存储器管理单元110b将每一储存单元中的3MB逻辑地址分群为第一子储存单元且将1MB逻辑地址分群为第二子储存单元。基此,存储器管理单元110b将第一子储存单元370-1a映射至主逻辑单元350-1,将第一子储存单元370-2a映射至主逻辑单元350-2,将第一子储存单元370-3a映射至主逻辑单元350-3,并且将第二子储存单元370-1b、370-2b与370-3b映射至副逻辑单元350-4。此外,此些映射关系会被记录在逻辑地址-逻辑区块映射表中。
例如,当主机系统200欲写入数据至属于储存单元370的第一子储存单元370-1a中的逻辑地址时,存储器管理单元110b会根据逻辑地址-逻辑区块映射表识别映射第一子储存单元370-1a的逻辑单元350-1并且根据逻辑区块-物理区块映射表将数据写入至映射的物理单元中(如图3B与3C所示)。而当主机系统200欲写入数据至属于储存单元370的第二子储存单元370-1b中的逻辑地址时,存储器管理单元110b会根据逻辑地址-逻辑区块映射表识别映射第二子储存单元370-1b的逻辑单元350-4并且根据逻辑区块-物理区块映射表将数据写入至映射的物理单元中(如图3B与3C所示)。类似地,当主机系统200欲写入数据至属于第一子储存单元370-2a中的逻辑地址时,存储器管理单元110b会将数据写入至映射逻辑单元350-2的物理单元中;当主机系统200欲写入数据至属于第一子储存单元370-3a中的逻辑地址时,存储器管理单元110b会将数据写入至映射逻辑单元350-3的物理单元中;当主机系统200欲写入数据至属于第二子储存单元370-2b或第二子储存单元370-3b中的逻辑地址时,存储器管理单元110b会将数据写入至映射逻辑单元350-4的物理单元中。
基于上述,当主机系统200以储存单元为单位写入数据至闪速存储器晶片130时,存储器管理单元110b会将此数据之中可填满一个逻辑单元的容量的部分写入至主逻辑单元(例如,逻辑单元350-1)所映射的物理单元,其他不足一个逻辑单元的容量的部分会被写入至副逻辑单元。通过副逻辑单元(例如,逻辑单元350-4)所映射的物理单元来集中储存多个零碎(即,不满一个逻辑单元)的数据,可有效地降低图3C所示的搬移(或复制)数据的量,由此提升闪速存储器储存装置100的写入速度。
值得一提的是,在本实施例中,储存单元(或测试单元)为4MB,并且逻辑单元为3MB,因此每一副逻辑单元可储存对应3个储存单元的零碎数据(即,上述第二子储存单元中的数据)。然而,本发明不限于此,本领域普通技术人员可根据闪速存储器晶片中物理单元、逻辑单元与储存单元(或测试单元)的大小来调整每一副逻辑单元所映射的第二子储存单元的数目。
值得一提的是,图4所示的映射方式是将储存单元370-1至370-K的逻辑地址直接地以非连续方式映射至逻辑单元350-1至350-M。在本发明另一实施例中,亦可通过转换地址来将储存单元370-1至370-K的逻辑地址间接地映射至逻辑单元350-1至350-M。图5为本发明另一实施例所示的逻辑地址与逻辑区块映射示意图,其中以储存单元370-1至370-3的逻辑地址映射至由逻辑单元350-1至350-4所组成的逻辑单元群组为例来进行说明。
请参照图5,储存单元370-1至370-3与逻辑单元350-1至350-4之间配置有转换单元380-1至380-12,而转换单元380-1至380-3映射逻辑单元350-1,转换单元380-4至380-6映射逻辑单元350-2,转换单元380-7至380-9映射逻辑单元350-3,转换单元380-10至380-12映射逻辑单元350-4。在此实施例中,第一子储存单元370-1a的逻辑地址会被转换为转换地址380-1至380-3,第一子储存单元370-2a的逻辑地址会被转换为的转换地址380-4至380-6,第一子储存单元370-3a的逻辑地址会被转换为转换地址380-7至380-9,第二子储存单元370-1b的逻辑地址会被转换为逻辑地址380-10,第二子储存单元370-2b的逻辑地址会被转换为逻辑地址380-11,并且第二子储存单元370-3b的逻辑地址会被转换为逻辑地址380-12。基此,当主机系统200依据逻辑地址来写入数据时,存储器管理单元110b会将欲写入的逻辑地址转换为转换地址来进行写入。
图6为本实施例所示数据写入方法的流程示意图。值得一提的是,根据本实施例所绘示数据写入方法是由闪速存储器控制器110所执行。
请参照图6,首先,在步骤S501中存储器管理单元110b会配置多个逻辑单元,以映射闪速存储器储存系统(即,闪速存储器储存装置100)的物理单元。也就是说,闪速存储器控制器110的存储器管理单元110b会配置逻辑单元来映射物理单元,由此可以上述的轮替方式来在闪速存储器晶片130中的物理单元310-(S+1)至310(S+M)中存取数据。如上所述,在本实施例中,存储器管理单元110b会将此些映射关系记录在逻辑单元-物理单元映射表中,并且逻辑单元-物理单元映射表会被持续更新。
接着,在步骤S503中存储器管理单元110b会配置多个逻辑地址,以供与闪速存储器储存系统连接的主机系统(例如,主机系统200)来存取。具体来说,主机系统200会以特定文件系统来存取数据,因此,存储器管理单元110b会配置对应主机系统200的文件系统的多个逻辑地址,以利主机系统200对闪速存储器储存装置100进行存取。例如,当主机系统200是以扇区(sector)为单位来存取数据,存储器管理单元110b会配置以扇区为单位的逻辑地址。
然后,在步骤S505中存储器管理单元110b会以一非连续方式将所配置的逻辑地址映射至所配置的逻辑单元。在此步骤中,以非连续方式来映射逻辑地址与逻辑区块可使闪速存储器储存装置100在主机系统200以储存单元(或测试单元)为单位写入数据时,减少数据搬移的量,而有效提升数据写入速度。图7为本发明实施例所示图5中步骤S505的详细流程示意图。
请参照图7,首先,在步骤S601中,存储器管理单元110b将所配置的逻辑单元分组为多个逻辑单元群组。例如,在本实施例中,一逻辑单元群组是由4个逻辑单元(例如,逻辑单元350-1、350-2、350-3与350-4)所组成(如图4所示)。
然后,在步骤S603中存储器管理单元110b会在每一逻辑单元群组中选择其中一个逻辑单元作为一副逻辑单元(例如,逻辑单元350-4)且选择其他逻辑单元分别地作为一主逻辑单元(例如,逻辑单元350-1、350-2与350-3)。之后,在步骤S605中存储器管理单元110b将逻辑地址依序地分组为多个储存单元,并且在步骤S607中存储器管理单元110b将每一储存单元的逻辑地址区分为第一子储存单元(例如,第一子储存单元710-1a)与第二子储存单元(例如,第二子储存单元710-1b)。最后,在步骤S609中存储器管理单元110b将每一第一子储存单元的逻辑地址映射至主逻辑单元,并且将第二子储存单元映射至副逻辑单元。以非连续方式映射逻辑地址与逻辑单元方法已配合图4详细描述如上,在此不重复描述。
在本范例实施例中,在完成图7的步骤后,存储器管理单元110b会将此些映射关系记录在逻辑地址-逻辑单元映射表中。
请再参照图6,最后在步骤S507中,存储器管理单元110b会根据映射逻辑地址的逻辑单元将来自于主机系统的数据写入至映射的物理单元中。具体来说,存储器管理单元110b会参考逻辑地址-逻辑单元映射表与逻辑单元-物理单元映射表将主机系统欲写入的数据写入至映射的物理单元中。
综上所述,本发明实施例以主机系统所使用的储存单元(或测试单元)为单位来分组逻辑地址,将每一储存单元区分为容量相同于逻辑单元的第一子储存单元及容量小于逻辑单元的第二子储存单元,并且配置单一逻辑单元(即,上述副逻辑单元)来集中储存在第二子储存单元中的零碎数据,由此可减少闪速存储器储存装置于执行写入指令时复制数据的量,进而提升闪速存储器储存装置的写入速度。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种数据写入方法,用以写入数据至一闪速存储器晶片,其中该闪速存储器晶片包括多个物理单元,该数据写入方法包括:
提供一闪速存储器控制电路;
配置多个逻辑单元,其中每一逻辑单元映射至少一物理单元;
配置多个逻辑地址,以供一主机系统存取;
将所述多个逻辑地址映射至所述多个逻辑单元,其中所述多个逻辑单元的至少其中之一映射非连续的至少两个逻辑地址;以及
当该主机系统在所述多个逻辑地址中储存数据时,由该闪速存储器控制电路根据映射所述多个逻辑地址的所述多个逻辑单元将来自于该主机系统的该数据写入至映射的所述多个物理单元中,其中映射相同所述多个逻辑单元的逻辑地址所储存的数据会同时被抹除,
其中以该非连续方式将所述多个逻辑地址映射至所述多个逻辑单元的步骤包括:
将所述多个逻辑单元分组为多个逻辑单元群组;
在每一逻辑单元群组中选择其中一个逻辑单元作为一副逻辑单元且其他所述多个逻辑单元分别地作为一主逻辑单元;
将所述多个逻辑地址依序地分组为多个储存单元;
将每一储存单元的逻辑地址区分为一第一子储存单元与一第二子储存单元;以及
将每一第一子储存单元的逻辑地址映射至其中一个主逻辑单元,并且将所述多个第二子储存单元映射至所述多个副逻辑单元,其中每一副逻辑单元映射至少二个第二子储存单元,
其中每一第一子储存单元的大小相同于每一逻辑单元的大小,每一第二子储存单元的大小小于每一逻辑单元的大小,并且每一逻辑单元的大小小于每一储存单元。
2.根据权利要求1所述的数据写入方法,其中每一逻辑单元群组中包括4个逻辑单元,并且每一逻辑单元群组映射3个储存单元。
3.根据权利要求2所述的数据写入方法,其中每一副逻辑单元映射3个第二子储存单元,并且每一主逻辑单元映射1个第一子储存单元。
4.根据权利要求3所述的数据写入方法,其中每一物理单元的大小为3百万字节,每一逻辑单元的大小为3百万字节,每一储存单元的大小为4百万字节。
5.根据权利要求1所述的数据写入方法,还包括使用一逻辑地址-逻辑单元映射表或一运算式来决定所述多个逻辑地址与所述多个逻辑单元的映射关系。
6.根据权利要求1所述的数据写入方法,其中将所述多个逻辑地址映射至所述多个逻辑单元的步骤包括:
配置多个转换地址,其中所述多个转换地址以一连续方式映射所述多个逻辑单元;以及
将所述多个逻辑地址以一非连续方式转换为所述多个转换地址。
7.根据权利要求1所述的数据写入方法,其中每一逻辑单元群组的大小为每一逻辑单元的大小与每一储存单元的大小的最小公倍数。
8.一种闪速存储器控制电路,用以控制一闪速存储器晶片以将来自于一主机系统的数据写入至该闪速存储器晶片的多个物理单元中,该控制电路包括:
一微处理器单元;
一闪速存储器接口单元,电性连接至该微处理器单元,用以连接该闪速存储器晶片;
一主机接口单元,电性连接至该微处理器单元,用以连接该主机系统;以及
一存储器管理单元,电性连接至该微处理器单元,用以配置映射所述多个物理单元的多个逻辑单元和供该主机系统存取的多个逻辑地址,并且将所述多个逻辑地址映射至所述多个逻辑单元,其中所述多个逻辑单元的至少其中一映射非连续的至少两个逻辑地址,且每一逻辑单元映射至少一物理单元,
其中该存储器管理单元根据映射所述多个逻辑地址的所述多个逻辑单元将来自于该主机系统的该数据写入至映射的所述多个物理单元中,
其中映射相同所述多个逻辑单元的逻辑地址所储存的数据会同时地被抹除,其中该存储器管理单元将所述多个逻辑单元分组为多个逻辑单元群组,在每一逻辑单元群组中选择其中一个逻辑单元作为一副逻辑单元且其他所述多个逻辑单元分别地作为一主逻辑单元,将所述多个逻辑地址依序地分组为多个储存单元,将每一储存单元区分为一第一子储存单元与一第二子储存单元,以及将每一第一子储存单元的逻辑地址映射至其中一个主逻辑单元,并且将所述多个第二子储存单元映射至所述多个副逻辑单元,其中每一副逻辑单元映射至少二个第二子储存单元,
其中每一第一子储存单元的大小相同于每一逻辑单元的大小,并且每一第二子储存单元的大小小于每一逻辑单元的大小,并且每一逻辑单元的大小小于每一储存单元。
9.根据权利要求8所述的闪速存储器控制电路,其中每一逻辑单元群组中包括4个逻辑单元,并且每一逻辑单元群组映射3个储存单元。
10.根据权利要求9所述的闪速存储器控制电路,其中每一副逻辑单元映射3个第二子储存单元,并且每一主逻辑单元映射1个第一子储存单元。
11.根据权利要求10所述的闪速存储器控制电路,其中每一物理单元的大小为3百万字节,每一逻辑单元的大小为3百万字节,每一储存单元的大小为4百万字节。
12.根据权利要求8所述的闪速存储器控制电路,其中该存储器管理单元使用一逻辑地址-逻辑单元映射表或一运算式来决定所述多个逻辑地址与所述多个逻辑单元的映射关系。
13.根据权利要求8所述的闪速存储器控制电路,其中该存储器管理单元配置多个转换地址并且将所述多个逻辑地址以一非连续方式转换为所述多个转换地址,其中所述多个转换地址以一连续方式映射所述多个逻辑单元。
14.一种闪速存储器储存系统,用于储存来自于一主机系统的数据,该闪速存储器储存系统包括:
一连接器,用以连接该主机系统;
一闪速存储器晶片,具有多个物理单元;以及
一闪速存储器控制器,电性连接至该连接器与该闪速存储器晶片,用以配置映射所述多个物理单元的多个逻辑单元和供该主机系统存取的多个逻辑地址,并且将所述多个逻辑地址映射至所述多个逻辑单元,其中所述多个逻辑单元的至少其中一映射非连续的至少两个逻辑地址,且每一逻辑单元映射至少一物理单元,
其中该闪速存储器控制器根据映射所述多个逻辑地址的所述多个逻辑单元将来自于该主机系统的该数据写入至映射的所述多个物理单元中,
其中映射相同所述多个逻辑单元的逻辑地址所储存的数据会同时地被抹除,
其中该闪速存储器控制器将所述多个逻辑单元分组为多个逻辑单元群组,在每一逻辑单元群组中选择其中一个逻辑单元作为一副逻辑单元且其他所述多个逻辑单元分别地作为一主逻辑单元,将所述多个逻辑地址依序地分组为多个储存单元,将每一储存单元区分为一第一子储存单元与一第二子储存单元,以及将每一第一子储存单元的逻辑地址映射至其中一个主逻辑单元,并且将所述多个第二子储存单元映射至所述多个副逻辑单元,其中每一副逻辑单元映射至少二个第二子储存单元,
其中每一第一子储存单元的大小相同于每一逻辑单元的大小,每一第二子储存单元的大小小于每一逻辑单元的大小,并且每一逻辑单元的大小小于每一储存单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910151933 CN101944384B (zh) | 2009-07-06 | 2009-07-06 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910151933 CN101944384B (zh) | 2009-07-06 | 2009-07-06 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101944384A CN101944384A (zh) | 2011-01-12 |
CN101944384B true CN101944384B (zh) | 2013-12-18 |
Family
ID=43436330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910151933 Active CN101944384B (zh) | 2009-07-06 | 2009-07-06 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101944384B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365790B (zh) * | 2012-03-29 | 2016-03-02 | 群联电子股份有限公司 | 存储器控制器、存储装置与数据写入方法 |
CN104142895B (zh) * | 2013-05-08 | 2017-05-17 | 群联电子股份有限公司 | 写入方法、存储器控制器与存储器储存装置 |
CN106325777A (zh) * | 2016-08-24 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种逻辑单元管理方法及系统 |
CN107818808B (zh) * | 2016-09-14 | 2023-09-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN109710191B (zh) * | 2018-12-27 | 2022-04-26 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN114637626B (zh) * | 2022-02-14 | 2022-09-30 | 弘正储能(上海)能源科技有限公司 | 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 |
-
2009
- 2009-07-06 CN CN 200910151933 patent/CN101944384B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101944384A (zh) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
CN102193869B (zh) | 存储器管理与写入方法及其存储器控制器与储存系统 | |
CN103377129B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN101944384B (zh) | 用于闪速存储器的数据写入方法及其控制电路与储存系统 | |
CN101957797B (zh) | 闪速存储器逻辑区块管理方法及其控制电路与储存系统 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN102592670B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102200946B (zh) | 资料存取方法、记忆体控制器与储存系统 | |
CN102968385B (zh) | 数据写入方法、存储器控制器与储存装置 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
TWI410795B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
CN102402396B (zh) | 复合式储存装置及其复合式储存媒体控制器与编址方法 | |
CN102999437B (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
CN102122233B (zh) | 区块管理与数据写入方法、闪存储存系统与控制器 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN103544118A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN104166558A (zh) | 固件码载入方法、存储器控制器与存储器存储装置 | |
CN102650971B (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN101957799B (zh) | 用于闪速存储器的数据写入方法及其控制电路与存储系统 | |
CN102043724B (zh) | 用于闪存的区块管理方法、控制器与存储系统 | |
CN102736985B (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 |