CN101996140B - 用于闪速存储器的数据写入方法及其控制电路与储存系统 - Google Patents
用于闪速存储器的数据写入方法及其控制电路与储存系统 Download PDFInfo
- Publication number
- CN101996140B CN101996140B CN 200910165894 CN200910165894A CN101996140B CN 101996140 B CN101996140 B CN 101996140B CN 200910165894 CN200910165894 CN 200910165894 CN 200910165894 A CN200910165894 A CN 200910165894A CN 101996140 B CN101996140 B CN 101996140B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- data
- memory module
- physical blocks
- written
- 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
- Read Only Memory (AREA)
Abstract
本发明涉及用于闪速存储器的数据写入方法及其控制电路与储存系统。该数据写入方法,用于在执行主机系统的写入指令期间于多个闪速存储器模块中搬移数据,其中多个闪速存储器模块分别地具有多个物理区块。该方法包括依据上述写入指令将来自于主机系统的第一数据传送至其中一个闪速存储器模块并且在此闪速存储器模块的物理区块中写入第一数据。该方法还包括在写入第一数据期间在另一闪速存储器模块的物理区块中搬移至少一第二数据。基此,当主机系统欲在另一闪速存储器模块中写入数据时,可有效地缩短执行写入指令的时间。
Description
技术领域
本发明涉及一种用于闪速存储器的数据写入方法及使用此方法的闪速存储器控制电路与闪速存储器储存系统。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存介质的需求也急速增加。由于闪速存储器(Flash Memory)具有数据非易失性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于这类便携式由电池供电的产品上。固态硬盘就是一种以NAND闪速存储器作为储存介质的储存装置。
一般来说,闪速存储器储存装置中的闪速存储器芯片具有多个物理区块(physical block),且这些物理区块会由闪速存储器储存装置的闪速存储器控制器逻辑地分组为系统区(system area)、数据区(dataarea)、备用区(spare area)与取代区(replacement area)。属于系统区的物理区块是用以储存闪速存储器储存装置的相关重要信息,而属于取代区的物理区块是用以取代数据区或备用区中已损坏的物理区块,因此在一般存取状态下,主机系统是无法存取系统区与取代区中的物理区块。至于属于数据区的物理区块是用以储存写入指令所写入的有效数据,而属于备用区的物理区块是用以在执行写入指令时替换数据区中的物理区块。具体来说,当闪速存储器储存装置接受到主机系统的写入指令而欲对数据区的物理区块进行更新时,闪速存储器储存装置会从备用区中提取一物理区块,然后将在数据区中欲更新的物理区块中的有效旧数据搬移至从备用区中提取的物理区块中,并且将欲写入的新数据写入至从备用区中提取的物理区块中,之后将已写入新数据的物理区块逻辑地关联为数据区,并且将原本数据区的物理区块进行擦除并逻辑地关联为备用区。为了能够让主机系统能够顺利地存取以轮替方式储存数据的物理区块,闪速存储器储存装置会提供逻辑区块给主机系统。也就是说,闪速存储器储存装置会通过在逻辑区块-物理区块对映表(logical block-physical block mapping table)中记录与更新逻辑区块与数据区的物理区块之间的对映关系来反映物理区块的轮替,所以主机系统仅需要针对所提供的逻辑区块进行写入而闪速存储器储存装置会依据逻辑区块-物理区块对映表对所对映的物理区块进行读取或写入数据。
然而,由于闪速存储器工艺上的进步而使得每一物理区块的设计容量会越来越大的同时,上述搬移有效旧数据的时间会相对地增加,而使得闪速存储器储存装置执行主机系统的写入指令所需的时间会超过闪速存储器储存产品(例如,SD存储卡)的规范。因此,如何缩短闪速存储器储存装置执行写入指令的时间,是本领域技术人员所致力的目标。
发明内容
本发明提供一种数据写入方法,其能够有效地缩短执行写入指令所需的时间。
本发明提供一种闪速存储器控制电路,其能够执行上述数据写入方法以有效地缩短执行写入指令的时间。
本发明提供一种闪速存储器储存系统,其能够执行上述数据写入方法以有效地缩短执行写入指令的时间。
本发明一范例实施例提出一种数据写入方法,用于在执行一主机系统的一写入指令期间于一第一闪速存储器模块或一第二闪速存储器模块中搬移数据,其中第一闪速存储器模块与第二闪速存储器模块分别地具有多个物理区块。本数据写入方法包括提供一闪速存储器控制器,以及由闪速存储器控制器依据上述写入指令将来自于主机系统的一第一数据传送至第一闪速存储器模块并且在第一闪速存储器模块的物理区块中写入此第一数据,其中闪速存储器控制器经由同一数据输入/输出总线电连接至第一闪速存储器模块与第二闪速存储器模块。本数据写入方法还包括在第一数据被写入至第一闪速存储器模块的物理区块的期间,由闪速存储器控制器在第二闪速存储器模块的物理区块中搬移至少一物理区块的至少一第二数据。
本发明一范例实施例提出一种闪速存储器控制电路,用于在执行一主机系统的一写入指令期间于一第一闪速存储器模块或一第二闪速存储器模块中搬移数据,其中第一闪速存储器模块与第二闪速存储器模块分别地具有多个物理区块。本闪速存储器控制电路包括微处理器单元、闪速存储器接口单元、主机接口单元与存储器管理单元。闪速存储器接口单元电连接至微处理器单元,并且经由同一数据输入/输出总线电连接第一闪速存储器模块与第二闪速存储器模块。主机接口单元电连接至微处理器单元,并且用以电连接主机系统。存储器管理单元电连接至微处理器单元,并且用以依据上述写入指令将来自于主机系统的第一数据传送至第一闪速存储器模块并且在第一闪速存储器模块的物理区块中写入第一数据。此外,在第一数据被写入至第一闪速存储器模块的物理区块的期间,存储器管理单元在第二闪速存储器模块的物理区块中搬移至少一物理区块的至少一第二数据。
本发明一范例实施例提出一种闪速存储器储存系统,其包括连接器、闪速存储器芯片与闪速存储器控制器。连接器用以电连接至主机系统。闪速存储器芯片具有一第一闪速存储器模块与一第二闪速存储器模块,其中第一闪速存储器模块与第二闪速存储器模块分别地具有多个物理区块。闪速存储器控制器电连接至连接器,并且经由同一数据输入/输出总线电连接至第一闪速存储器模块与第二闪速存储器模块,其中闪速存储器控制器从主机系统中接收一写入指令与第一数据。闪速存储器控制器依据写入指令将第一数据传送至第一闪速存储器模块并且在第一闪速存储器模块的物理区块中写入上述第一数据,其中在上述第一数据被写入至第一闪速存储器模块的物理区块的期间,闪速存储器控制器在第二闪速存储器模块的物理区块中搬移至少一物理区块的至少一第二数据。
本发明一范例实施例提出一种数据写入方法,用于在执行一主机系统的一写入指令期间于多个闪速存储器模块中搬移其中一个闪速存储器模块的数据,其中每一闪速存储器模块具有多个物理区块。本数据写入方法包括提供一闪速存储器控制器,以及由闪速存储器控制器依据上述写入指令将来自于主机系统的第一数据传送至其中一个闪速存储器模块并且在此闪速存储器模块的物理区块中写入第一数据。本数据写入方法还包括在第一数据被写入至其中一个闪速存储器模块的物理区块的期间,由闪速存储器控制器在另一闪速存储器模块的物理区块中搬移至少一物理区块的至少一第二数据。
基于上述,根据本发明范例实施例的数据写入方法可有效地缩短执行写入指令所需的时间。
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。
附图说明
图1是根据本发明一范例实施例所绘示的闪速存储器储存系统的概要方块图。
图2、3A、3B与3C是根据本发明第一范例实施例所绘示的闪速存储器模块的物理区块的运作示意图。
图4是根据本发明范例实施例所绘示的在闪速存储器模块中执行写入指令的范例时序图。
图5A与5B是根据本发明范例实施例所绘示的同时执行写入指令与整理数据的范例时序图。
图6是根据本发明范例实施例所绘示的数据写入方法的流程图。
附图符号说明
100:闪速存储器储存装置
110:闪速存储器控制器
110a:微处理器单元
110b:存储器管理单元
110c:主机接口单元
110d:闪速存储器接口单元
120:连接器
130:闪速存储器芯片
130a:第一闪速存储器模块
130b:第二闪速存储器模块
150:数据输入/输出总线
200:主机系统
300:总线
302:系统区
304:数据区
306:备用区
308:取代区
310-0~310-N:物理区块
350-0~350-H:逻辑区块
T31、T32、T33、T411、T412、T413、T414、T415、T416:传输
W31、W32、W33、W411、W412、W413、W414、W415、W416、W421、W422:写入
R421、R422:读取
S601、S603、S605、S607、S609、S611、S613:数据写入步骤
具体实施方式
图1是根据本发明一范例实施例所绘示的闪速存储器储存系统的概要方块图。
请参照图1,通常闪速存储器储存装置100会与主机系统200一起使用,以使主机系统200可将数据储存至闪速存储器储存装置100中或从闪速存储器储存装置100中读取数据。在本范例实施例中,闪速存储器储存装置100为安全数字(secure digital,SD)存储卡。但必须了解的是,在本发明另一范例实施例中闪速存储器储存装置100亦可以是固态硬盘(Solid State Drive,SSD)或随身盘。
闪速存储器储存装置100包括闪速存储器控制器(亦称闪速存储器控制电路)110、连接器120与闪速存储器芯片130。
闪速存储器控制器110会执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统200的指令在闪速存储器芯片130中进行数据的写入、读取与擦除等运作。闪速存储器控制器110包括微处理器单元110a、存储器管理单元110b、主机接口单元110c与闪速存储器接口单元110d。
微处理器单元110a为闪速存储器控制器110的主控单元,用以与存储器管理单元110b、主机接口单元110c与闪速存储器接口单元110d等协同合作以进行闪速存储器储存装置100的各种运作。
存储器管理单元110b是电连接至微处理器单元110a,其中存储器管理单元110b用以执行根据本范例实施例的区块管理机制与数据写入机制,存储器管理单元110b的运作将于以下结合附图详细说明。
在本范例实施例中,存储器管理单元110b是以一固件型式实作在闪速存储器控制器110中。例如,将包括多个控制指令的存储器管理模块110b烧录至一程序存储器(例如,只读存储器(Read Only Memory,ROM))中并且将此程序存储器嵌入在闪速存储器控制器110中,当闪速存储器储存装置100运作时,存储器管理单元110b的多个控制指令会由微处理器单元110a来执行以完成根据本发明实施例的区块管理机制与数据写入机制。
在本发明另一范例实施例中,存储器管理单元110b的控制指令亦可以程序代码型式储存于闪速存储器芯片130的特定区域(例如,闪速存储器中专用于存放系统数据的系统区)中。同样的,当闪速存储器储存装置100运作时,存储器管理单元110b的多个控制指令会由微处理器单元110a来执行。此外,在本发明另一范例实施例中,存储器管理单元110b亦可以一硬件型式实作在闪速存储器控制器110中。
主机接口单元110c是电连接至微处理器单元110a并且用以接收与识别主机系统200所传送的指令。也就是说,主机系统200所传送的指令与数据会通过主机接口单元110c来传送至微处理器单元110a。在本范例实施例中,主机接口单元110c为安全数字(secure digital,SD)接口。然而,必须了解的是本发明不限于此,主机接口单元110c亦可以是通用序列总线(Universal Serial Bus,USB)接口、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394接口、高速周边零件连接接口(Peripheral Component Interconnect Express,PCIExpress)、序列先进附件(Serial Advanced Technology Attachment,SATA)接口、存储棒(Memory Sick,MS)接口、多媒体储存卡(Multi Media Card,MMC)接口、小型快闪(Compact Flash,CF)接口、整合式驱动电子接口(Integrated Device Electronics,IDE)或其它适合的数据传输接口。
闪速存储器接口单元110d是电连接至微处理器单元110a并且用以存取闪速存储器芯片130。也就是说,欲写入至闪速存储器芯片130的数据会经由闪速存储器接口单元110d转换为闪速存储器芯片130所能接受的格式。在本范例实施例中,闪速存储器接口单元110d是通过单一数据输入/输出总线(Data input/output bus)150电连接至闪速存储器芯片130。然而,必须了解的是,本发明不限于此,在本发明另一范例实施例中,闪速存储器接口单元110d亦可通过多条数据输入/输出总线电连接至闪速存储器芯片130。
此外,虽未绘示于本范例实施例中,但闪速存储器控制器110亦还包括缓冲存储器、错误校正单元与电源管理单元等用于控制闪速存储器的一般功能模块。
连接器120是电连接至闪速存储器控制器110并且用以通过总线300连接主机系统200。在本范例实施例中,连接器120为SD连接器。然而,必须了解的是本发明不限于此,连接器120亦可以是USB连接器、IEEE 1394连接器、PCI Express连接器、SATA连接器、MS连接器、MMC连接器、CF连接器、IDE连接器或其它适合的连接器。
闪速存储器芯片130是电连接至闪速存储器控制器110并且用以储存数据。闪速存储器芯片130具有第一闪速存储器模块130a与第二闪速存储器模块130b。第一闪速存储器模块130a与第二闪速存储器模块130b是由多个物理区块310-(0)~310-(N)所组成,其中物理区块为擦除的最小单位。亦即,每一物理区块含有最小数目之一并被擦除的存储单元。每一物理区块通常会分割为数个页面(page)。由于在本范例实施例中,页面为编程(program)的最小单元。换言之,页面为写入数据或读取数据的最小单元。每一页面通常包括使用者数据区与冗余区。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误检查与校正码(Error Checking and Correcting Code,ECCCode)。在本范例实施例中,第一闪速存储器模块130a与第二闪速存储器模块130b皆为多层存储单元(Multi Level Cell,MLC)NAND闪速存储器。此外,必须了解的是,本发明不以为限于2个闪速存储器模块,在本发明另一范例实施例中闪速存储器芯片130可包括任何数量的闪速存储器模块。
值得一提的是,本发明范例实施例的第一闪速存储器模块130a与第二闪速存储器模块130b为MLC NAND闪速存储器,并且MLCNAND闪速存储器的物理区块的编程可分为多阶段。例如,以2层存储单元为例,物理区块的编程可分为2阶段。第一阶段是下页面(lowerpage)的写入部分,其物理特性类似于单层存储单元(Single Level Cell,SLC)NAND闪速存储器,在完成第一阶段之后才会编程上页面(upperpage),其中下页面的写入速度会快于上页面。因此,每一物理区块的页面可区分为慢速页面(即,上页面)与快速页面(即,下页面)。类似地,在8层存储单元或16层存储单元的案例中,存储单元会包括更多个页面并且会以更多阶段来写入。在此,将写入速度最快的页面称为下页面,其它写入速度较慢的页面统称为上页面。例如,上页面包括具有不同写入速度的多个页面。此外,在其它实施例中,上页面也可为写入速度最慢的页面,或者写入速度最慢与部份写入速度快于写入速度最慢页面的页面。例如,在4层存储单元中,下页面为写入速度最快与写入速度次快的页面,上页面则为写入速度最慢与写入速度次慢的页面。
在本范例实施例中,针对第一闪速存储器模块130a的物理区块,存储器管理模块110b仅会使用其下页面来写入数据。
必须了解的是,在本范例实施例中,尽管第一闪速存储器模块130a与第二闪速存储器模块130b皆为MLC NAND闪速存储器。然而,本发明不限于此,在本发明另一范例实施例中,第一闪速存储器模块130a与第二闪速存储器模块130b可皆为单层存储单元(Single Level Cell,SLC)NAND闪速存储器,或者第一闪速存储器模块130a与第二闪速存储器模块130b的其中之一为MLC NAND闪速存储器而另一为SLCNAND闪速存储器。
图2、3A、3B与3C是根据本发明范例实施例所绘示的闪速存储器模块的物理区块的运作示意图。第一闪速存储器模块130a与第二闪速存储器模块130b的运作是相同,在此以第一闪速存储器模块130a来作说明。
必须了解的是,在此描述闪速存储器物理区块的运作时,以“提取”、“搬移”、“交换”、“替换”、“轮替”、“分组”等词来操作闪速存储器模块的物理区块是逻辑上的概念。也就是说,闪速存储器的物理区块的实际位置并未更动,而是逻辑上对闪速存储器的物理区块进行操作。值得一提的是,下述的运作是由闪速存储器控制器110的存储器管理单元110b所执行。
请参照图2,存储器管理单元110b会将第一闪速存储器模块130a的物理区块310-(0)~310-(N)与第二闪速存储器模块130b的物理区块310-(0)~310-(N)分别的逻辑地分组为系统区302、数据区304、备用区306与取代区308。
逻辑上属于系统区302的物理区块310-(0)~310-(S)是用以记录系统数据,此系统数据包括关于闪速存储器芯片的制造商与型号、每一闪速存储器模块的区域数、每一区域的物理区块数、每一物理区块的页面数等。
逻辑上属于数据区304的物理区块310-(S+1)~310-(M)用以储存使用者的数据,一般来说就是主机系统200所存取的逻辑区块所对映的物理区块。也就是说,数据区的物理区块为储存有效数据的单元。
逻辑上属于备用区306的物理区块310-(M+1)~310-(K)是用以轮替数据区中的物理区块,因此在备用区中的物理区块为空或可使用的单元,即无记录数据或标记为已没用的无效数据。也就是说,数据区与备用区的物理区块会以轮替方式来储存主机系统200对闪速存储器储存装置100写入的数据。
逻辑上属于取代区308中的物理区块310-(K+1)~310-(N)是替代物理区块。例如,闪速存储器芯片130于出厂时会预留4%的物理区块作为更换使用。也就是说,当系统区302、数据区304与备用区306中的物理区块损毁时,预留于取代区308中的物理区块可用以取代损坏的物理区块(即,坏的物理区块(bad block))。因此,倘若取代区308中仍存有可用的物理区块且发生物理区块损毁时,存储器管理模块110b会从取代区308中提取可用的物理区块来更换损毁的物理区块。倘若取代区308中无可用的物理区块且发生物理区块损毁时,则闪速存储器储存装置100将会被宣告为写入保护(write protect),而无法再写入数据。
由于闪速存储器储存装置100是以上述轮替方式储存主机系统200欲储存的数据,因此闪速存储器控制器110会提供逻辑区块350-0~350-H给主机系统200以进行数据存取,并且维护逻辑地址-物理地址对映表来记录逻辑区块350-0~350-H与物理区块310-(0)~310-(N)之间的对映关系。
请参照图3A、3B与3C,例如,当主机系统欲写入数据至逻辑区块350-0时,闪速存储器控制器110通过逻辑地址-物理地址对映表得知逻辑区块350-0目前是对映逻辑上属于数据区304的物理区块310-(S+1)。因此,存储器管理单元110b会对物理区块310-(S+1)中的数据进行更新,期间,闪速存储器控制器110会从备用区306中提取物理区块310-(M+1)来轮替数据区304的物理区块310-(S+1)。然而,当存储器管理单元110b将新数据写入至物理区块310-(M+1)的同时,存储器管理单元110b不会立刻将物理区块310-(S+1)中的所有有效旧数据搬移至物理区块310-(M+1)而擦除物理区块310-(S+1)。具体来说,存储器管理单元110b会将物理区块310-(S+1)中欲写入页面之前的有效旧数据(即,页P0与P1)复制至物理区块310-(M+1)(如图3A所示),并且将新数据(即,物理区块310-(M+1)的页P2与P3)写入至物理区块310-(M+1)(口图3B所示)。此时,闪速存储器控制器110即完成写入的动作,并响应主机系统200已完成写入指令。因为,物理区块310-(S+1)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将物理区块310-(S+1)中的所有有效旧数据搬移至物理区块310-(M+1)可能会造成无谓的搬移。在此案例中,物理区块310-(S+1)与物理区块310-(M+1)的内容整合起来才是所对映逻辑区块350-0的完整内容。在此,此时物理区块310-(S+1)与物理区块310-(M+1)称为母子区块,而母子区块的组数是依据闪速存储器控制器110中缓冲存储器(未绘示)的大小而定,而暂时地维持此种母子区块瞬时关系的动作称为开启(open)母子区块。
之后,当需要将物理区块310-(S+1)与物理区块310-(M+1)的内容真正合并时,闪速存储器控制器110才会将物理区块310-(S+1)与物理区块310-(M+1)合并为一个物理区块,由此提升区块的使用效率,此合并的动作称为关闭(close)母子区块。
例如,如图3C所示,当主机系统200传送一写入指令至闪速存储器控制器110以在另一逻辑区块储存数据,并且存储器管理单元110b判断开启母子区块的组数已达系统设计的上限而需合并物理区块310-(S+1)与物理区块310-(M+1)时,存储器管理单元110b会将物理区块310-(S+1)中剩余的有效旧数据(即,页P4~PN)复制至物理区块310-(M+1),然后将物理区块310-(S+1)擦除并关联为备用区306,同时,将物理区块310-(M+1)关联为数据区304,并且在逻辑地址-物理地址对映表中将逻辑区块350-0的对映更改为物理区块310-(M+1),由此完成关闭母子区块的动作。
如上所述,当存储器管理单元110b需关闭目前已开启的母子区块方能执行另一个写入指令以在另一逻辑区块中储存数据时,执行此次写入指令所需的时间会因需要搬移数据以关闭母子区块而延迟,特别是当物理区块的页面的设计容量越大时,搬移数据的时间会更长,因此可能无法在规范的时间内完成写入指令而造成逾时(time out)的问题。在本范例实施例中,当存储器管理单元110b在对任一闪速存储器模块执行写入指令时,存储器管理单元110b会利用交错地方式来对需执行关闭母子区块运作的另一闪速存储器模块执行数据搬移的动作。也就是说,存储器管理单元110b会利用对某一闪速存储器模块执行写入指令时,预先整理另一闪速存储器模块中的数据。
具体来说,存储器管理单元110b将数据写入至闪速存储器模块时可分为数据传输(transfer)以及数据编程(program)两个部分。具体来说,当欲在闪速存储器模块的页面中储存数据时,闪速存储器储存装置的控制电路会将数据传输至闪速存储器模块内的缓冲区(未绘示)中,之后闪速存储器模块会将缓冲区内的数据编程至页面中,其中在闪速存储器模块将数据编程至页面的期间闪速存储器模块是处于一忙碌(busy)状态,且当闪速存储器模块处于忙碌状态下控制电路无法对其下达任何指令或传输任何数据。
图4是根据本发明范例实施例绘示的在闪速存储器模块中执行写入指令的范例时序图,其示出了在存储器管理单元110b执行主机写入指令时第一闪速存储器模块130a的运作。在图4所示的范例中,主机系统200的写入指令指示存储器管理单元110b将3笔数据写入至第一闪速存储器模块130a的某一物理区块的3个页面中。
请参照图4,存储器管理单元110b通过数据输入/输出总线150将第一笔写入数据传输至第一闪速存储器模块130a(即,传输T31)。之后,第一笔写入数据会被写入至第一闪速存储器模块130a(即,写入W31),此时第一闪速存储器模块130a是处于一忙碌(busy)状态。当完成第一笔写入数据的写入后,存储器管理单元110b通过数据输入/输出总线150将第二笔写入数据传输至第一闪速存储器模块130a(即,传输T32),并且第二笔写入数据会被写入至第一闪速存储器模块130a(即,写入W32)。最后,存储器管理单元110b通过数据输入/输出总线150将第三笔写入数据传输至第一闪速存储器模块130a(即,传输T33),然后第三笔写入数据会被写入至第一闪速存储器模块130a(即,写入W33)。在此,图4仅为例示,数据的写入不仅以3笔为限。
在本范例实施例中,存储器管理单元110b会利用其中一个闪速存储器模块处于忙碌状态时,整理另一个闪速存储器模块的数据。
图5A与5B是根据本发明范例实施例所绘示的同时执行写入指令与整理数据的范例时序图,其中图5A示出了第一闪速存储器模块130a的运作,而图5B示出了第二闪速存储器模块130b的运作。在此范例中,主机系统200的写入指令指示存储器管理单元110b将6笔数据写入至第一闪速存储器模块130a的物理区块310-(S+1)的6个页面中,并且存储器管理单元110b会利用执行写入指令的空档搬移第二闪速存储器模块130b中欲进行合并(如图3C所示)的两笔数据,其中此两笔数据是从物理区块310-(M)被搬移至另一物理区块310-K。
请同时参照图5A与图5B,存储器管理单元110b通过数据输入/输出总线150将第一笔写入数据传输至第一闪速存储器模块130a(即,传输T411)。之后,第一笔写入数据会被写入至第一闪速存储器模块130a的物理区块310-(S+1)中(即,写入W411)。此时,第一闪速存储器模块130a是处于忙碌(busy)状态,并且存储器管理模块110b会利用此忙碌时间通过数据输入/输出总线150从第二闪速存储器模块130b的物理区块310-(M)中读取第一笔合并数据(即,读取R421)。
接着,第一闪速存储器模块130a已完成写入W411,因此存储器管理单元110b通过数据输入/输出总线150将第二笔写入数据传输至第一闪速存储器模块130a(即,传输T412),并且第二笔写入数据会被写入至第一闪速存储器模块130a的物理区块310-(S+1)(即,写入W412)。此时,第一闪速存储器模块130a再度处于忙碌(busy)状态,并且存储器管理模块110b会利用此忙碌时间通过数据输入/输出总线150将第一笔合并数据传输至第二闪速存储器模块130b(即,传输T421),并且第一笔合并数据会被写入至第二闪速存储器模块130b的物理区块310-(K)中(即,写入W421)。
类似地,第一闪速存储器模块130a已完成写入W412,因此存储器管理单元110b通过数据输入/输出总线150将第三笔写入数据传输至第一闪速存储器模块130a(即,传输T413),并且第三笔写入数据会被写入至第一闪速存储器模块130a的物理区块310-(S+1)(即,写入W413)。此时,第一闪速存储器模块130a是处于忙碌(busy)状态,并且存储器管理模块110b会利用此忙碌时间通过数据输入/输出总线150从第二闪速存储器模块130b的物理区块310-(M)中读取第二笔合并数据(即,读取R422)。
接着,第一闪速存储器模块130a已完成写入W413,因此存储器管理单元110b通过数据输入/输出总线150将第四笔写入数据传输至第一闪速存储器模块130a(即,传输T414),并且第四笔写入数据会被写入至第一闪速存储器模块130a的物理区块310-(S+1)(即,写入W414)。此时,第一闪速存储器模块130a再度处于忙碌(busy)状态,并且存储器管理模块110b会利用此忙碌时间通过数据输入/输出总线150将第二笔合并数据传输至第二闪速存储器模块130b(即,传输T422),并且第二笔合并数据会被写入至第二闪速存储器模块130b的物理区块310-(K)中(即,写入W422)。
之后,存储器管理单元110b通过数据输入/输出总线150将第五笔写入数据传输至第一闪速存储器模块130a(即,传输T415),并且第五笔写入数据会被写入至第一闪速存储器模块130a的物理区块310-(S+1)(即,写入W415)。最后,存储器管理单元110b通过数据输入/输出总线150将第六笔写入数据传输至第一闪速存储器模块130a(即,传输T416),并且第六笔写入数据会被写入至第一闪速存储器模块130a的物理区块310-(S+1)(即,写入W416)。同时,第二闪速存储器模块130b也完成写入W422。值得一提的是,写入W422的时间较写入W421的时间长,是因为存储器管理单元110b是使用第二闪速存储器模块130b的上页面与下页面来写入数据,而写入W422表示为上页面的编程时间。
必须了解的是,在本范例实施例中虽然仅描述在对第一闪速存储器模块130a执行写入指令时,搬移第二闪速存储器模块130b中需合并的数据。然而,本发明不限于此,存储器管理单元110b亦可于对第二闪速存储器模块130b执行写入指令时,搬移第一闪速存储器模块130a中需合并的数据。
值得一提的是,在图5A与图5B所绘示的范例中,存储器管理单元110b是使用读取与写入指令来经由数据输入/输出总线150将数据读取至缓冲存储器后再经由数据输入/输出总线150将所读取的数据写入至第二闪速存储器模块130b中,以完成数据的搬移。然而本发明不限于此,在本发明另一范例实施例中,存储器管理单元110b亦可使用回复制(copyback)指令来搬移第二闪速存储器模块130b中的数据。具体来说,存储器管理单元110b是于同一闪速存储器模块(例如,第二闪速存储器模块130b)中的两个物理区块之间搬移数据,因此在使用回复制指令的例子中,数据会从一个物理区块被读取后经过闪速存储器模块中的缓冲区而直接写入至另一物理区块,而不会经由数据输入/输出总线150传输至缓冲存储器。基此,在使用回复制指令的例子中可有效缩短数据搬移所需的时间。
图6是根据本发明范例实施例所绘示的数据写入方法的流程图。
请参照图6,首先,在步骤S601中闪速存储器控制器110会从主机系统200中接收写入指令与多笔写入数据。之后,在步骤S603中闪速存储器控制器110会依据逻辑地址与物理地址对映表将写入数据传输至对应的闪速存储器模块(如图5A所示)中。
在将写入数据传输给对应的闪速存储器模块(即,对应的闪速存储器模块处于忙碌状态)后,在步骤S605中闪速存储器控制器110会判断另一闪速存储器模块(例如,第二闪速存储器模块130b)是否处于忙碌状态。倘若此另一闪速存储器模块处于忙碌状态时,则在步骤S607中会等候对应的闪速存储器模块完成写入,并且在步骤S609中判断是否仍有未写入的写入数据。
倘若判断仍有未写入的写入数据时,则执行步骤S603。反之,则结束图6的流程。
倘若在步骤S605中判断此另一闪速存储器模块非处于忙碌状态时,则在步骤S611中闪速存储器控制器110会判断此另一闪速存储器模块是否存有待合并的数据。倘若此另一闪速存储器模块未存有待合并的数据时,则结束图6的流程。
倘若此另一闪速存储器模块存有待合并的数据时,则在步骤S613中闪速存储器控制器110会搬移(例如,读取或写入)此待合并的数据。搬移待合并的数据的方式已结合图5A与图5B详细描述如前,在此不重复描述。在步骤S613之后,会执行步骤S607。
综上所述,本发明范例实施例的存储器管理单元在用对其中一个闪速存储器模块执行写入指令时,利用其中的忙碌时间来处理另一闪速存储器模块的待合并数据,由此后续当存储器管理单元对此另一闪速存储器执行写入指令且需关闭母子区块时,完成写入指令的时间可被缩短而避免上述逾时的问题。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围内,当可作若干更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (21)
1.一种数据写入方法,用于在执行一主机系统的一写入指令期间于一第一闪速存储器模块或一第二闪速存储器模块中搬移数据,其中该第一闪速存储器模块与该第二闪速存储器模块分别地具有多个物理区块,该数据写入方法包括:
提供一闪速存储器控制器,其中该闪速存储器控制器经由同一数据输入/输出总线电连接至该第一闪速存储器模块与该第二闪速存储器模块;
由该闪速存储器控制器依据该写入指令将来自于该主机系统的一第一数据传送至该第一闪速存储器模块并且在该第一闪速存储器模块的这些物理区块中写入该第一数据;以及
在该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器从该第二闪速存储器模块的这些物理区块之中的至少一物理区块中搬移至少一第二数据至该第二闪速存储器模块的这些物理区块之中的至少另一物理区块中。
2.如权利要求1所述的数据写入方法,其中在该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器从该第二闪速存储器模块的这些物理区块之中的该至少一物理区块中搬移该至少一第二数据至该第二闪速存储器模块的这些物理区块之中的该至少另一物理区块中的步骤包括:
在部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器从该第二闪速存储器模块的物理区块的该至少一物理区块中读取该至少一第二数据。
3.如权利要求1所述的数据写入方法,其中在该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器从该第二闪速存储器模块的这些物理区块之中的该至少一物理区块中搬移该至少一第二数据至该第二闪速存储器模块的这些物理区块之中的该至少另一物理区块中的步骤包括:
在部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器对该第二闪速存储器模块执行一回复制指令以搬移该至少一第二数据。
4.如权利要求2所述的数据写入方法,其中在该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器从该第二闪速存储器模块的这些物理区块之中的该至少一物理区块中搬移该至少一第二数据至该第二闪速存储器模块的这些物理区块之中的该至少另一物理区块中的步骤还包括:
在另一部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器将所读取的该至少一第二数据写入至该第二闪速存储器模块的物理区块的该至少另一物理区块中。
5.如权利要求1所述的数据写入方法,其中上述在该第一数据被写入至该第一闪速存储器模块的物理区块的期间,由该闪速存储器控制器从该第二闪速存储器模块的这些物理区块之中的该至少一物理区块中搬移该至少一第二数据至该第二闪速存储器模块的这些物理区块之中的该至少另一物理区块中的步骤包括:
判断该第二闪速存储器模块是否处于忙碌状态;
倘若该第二闪速存储器模块非处于忙碌状态时,则判断该第二闪速存储器模块是否存有待合并的该至少一第二数据;
倘若该第二闪速存储器模块存有待合并的该至少一第二数据时,则搬移该至少一第二数据。
6.一种闪速存储器控制电路,用于在执行一主机系统的一写入指令期间于一第一闪速存储器模块或一第二闪速存储器模块中搬移数据,其中该第一闪速存储器模块与该第二闪速存储器模块分别地具有多个物理区块,该闪速存储器控制电路包括:
一微处理器单元;
一闪速存储器接口单元,电连接至该微处理器单元,并且经由同一数据输入/输出总线电连接该第一闪速存储器模块与该第二闪速存储器模块;
一主机接口单元,电连接至该微处理器单元,用以电连接该主机系统;以及
一存储器管理单元,电连接至该微处理器单元,用以依据该写入指令将来自于该主机系统的一第一数据传送至该第一闪速存储器模块并且在该第一闪速存储器模块的这些物理区块中写入该第一数据,
其中在该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该存储器管理单元从该第二闪速存储器模块的这些物理区块之中的至少一物理区块中搬移至少一第二数据至该第二闪速存储器模块的这些物理区块之中的至少另一物理区块中。
7.如权利要求6所述的闪速存储器控制电路,其中在部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该存储器管理单元从该第二闪速存储器模块的这些物理区块的该至少一物理区块中读取该至少一第二数据。
8.如权利要求6所述的闪速存储器控制电路,其中在部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该存储器管理单元对该第二闪速存储器模块执行一回复制指令以搬移该至少一第二数据。
9.如权利要求7所述的闪速存储器控制电路,在另一部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该存储器管理单元将所读取的该至少一第二数据写入至该第二闪速存储器模块的这些物理区块的该至少另一物理区块中。
10.如权利要求6所述的闪速存储器控制电路,其中该第一闪速存储器模块的物理区块具有多个上页面与多个下页面,其中该存储器管理单元判断该第二闪速存储器模块是否处于忙碌状态,
其中倘若该第二闪速存储器模块非处于忙碌状态时,该存储器管理单元判断该第二闪速存储器模块是否存有待合并的该至少一第二数据,
其中倘若该第二闪速存储器模块存有待合并的该至少一第二数据时,该存储器管理单元搬移该至少一第二数据。
11.一种闪速存储器储存系统,包括:
一连接器,用以电连接至一主机系统;
一闪速存储器芯片,具有一第一闪速存储器模块与一第二闪速存储器模块,其中该第一闪速存储器模块与该第二闪速存储器模块分别地具有多个物理区块;以及
一闪速存储器控制器,电连接该连接器并且经由同一数据输入/输出总线电连接至该第一闪速存储器模块与该第二闪速存储器模块,
其中该闪速存储器控制器从该主机系统中接收一写入指令与一第一数据,
其中该闪速存储器控制器依据该写入指令将该第一数据传送至该第一闪速存储器模块并且在该第一闪速存储器模块的这些物理区块中写入该第一数据,
其中在该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该闪速存储器控制器从该第二闪速存储器模块的这些物理区块之中的至少一物理区块中搬移至少一第二数据至该第二闪速存储器模块的这些物理区块之中的至少另一物理区块中。
12.如权利要求11所述的闪速存储器储存系统,其中在部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该闪速存储器控制器从该第二闪速存储器模块的这些物理区块的该至少一物理区块中读取该至少一第二数据。
13.如权利要求11所述的闪速存储器储存系统,其中在部分的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该闪速存储器控制器对该第二闪速存储器模块执行一回复制指令以搬移该至少一第二数据。
14.如权利要求12所述的闪速存储器储存系统,在另一部份的该第一数据被写入至该第一闪速存储器模块的物理区块的期间,该闪速存储器控制器将所读取的该至少一第二数据写入至该第二闪速存储器模块的这些物理区块的该至少另一物理区块中。
15.如权利要求11所述的闪速存储器储存系统,其中该第一闪速存储器模块的物理区块具有多个上页面与多个下页面,其中该闪速存储器控制器判断该第二闪速存储器模块是否处于忙碌状态,
其中倘若该第二闪速存储器模块非处于忙碌状态时,该闪速存储器控制器判断该第二闪速存储器模块是否存有待合并的该至少一第二数据,
其中倘若该第二闪速存储器模块存有待合并的该至少一第二数据时,该闪速存储器控制器搬移该至少一第二数据。
16.一种数据写入方法,用于在执行一主机系统的一写入指令期间于多个闪速存储器模块中搬移其中一个闪速存储器模块的数据,其中这些闪速存储器模块具有多个物理区块,该数据写入方法包括:
提供一闪速存储器控制器;
由该闪速存储器控制器依据该写入指令将来自于该主机系统的一第一数据传送至其中一个闪速存储器模块并且在该闪速存储器模块的物理区块中写入该第一数据;以及
在该第一数据被写入至该其中一个闪速存储器模块的物理区块的期间,由该闪速存储器控制器在另一闪速存储器模块的物理区块中从至少一物理区块中搬移至少一第二数据至另一物理区块中。
17.如权利要求16所述的数据写入方法,其中提供该闪速存储器控制器的步骤包括:
配置该闪速存储器控制器来经由同一数据输入/输出总线电连接至这些闪速存储器模块。
18.如权利要求16所述的数据写入方法,其中在该第一数据被写入至该其中一个闪速存储器模块的物理区块的期间,由该闪速存储器控制器在另一闪速存储器模块的物理区块中从该至少一物理区块中搬移该至少一第二数据至该另一物理区块中的步骤包括:
在部分的该第一数据被写入至该其中一个闪速存储器模块的物理区块的期间,由该闪速存储器控制器在该另一闪速存储器模块的物理区块中从该至少一物理区块中读取该至少一第二数据。
19.如权利要求18所述的数据写入方法,其中在该第一数据被写入至该其中一个闪速存储器模块的物理区块的期间,由该闪速存储器控制器在另一闪速存储器模块的物理区块中从该至少一物理区块中搬移该至少一第二数据至该另一物理区块中的步骤更包括:
在另一部分的该第一数据被写入至该其中一个闪速存储器模块的物理区块的期间,由该闪速存储器控制器将所读取的该至少一第二数据写入至该另一闪速存储器模块的物理区块的该另一物理区块中。
20.如权利要求16所述的数据写入方法,其中该其中一个闪速存储器模块的物理区块具有多个上页面与多个下页面,其中在该其中一个闪速存储器模块的物理区块中写入该第一数据的步骤包括:
仅在该其中一个闪速存储器模块的物理区块的这些下页面中写入该第一数据。
21.如权利要求16所述的数据写入方法,其中在该第一数据被写入至该其中一个闪速存储器模块的物理区块的期间,由该闪速存储器控制器在另一闪速存储器模块的物理区块中从该至少一物理区块中搬移该至少一第二数据至该另一物理区块中的步骤包括:
在部分的该第一数据被写入至该其中一个闪速存储器模块的物理区块的期间,由该闪速存储器控制器对该另一闪速存储器模块执行一回复制指令以搬移该至少一第二数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910165894 CN101996140B (zh) | 2009-08-12 | 2009-08-12 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910165894 CN101996140B (zh) | 2009-08-12 | 2009-08-12 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101996140A CN101996140A (zh) | 2011-03-30 |
CN101996140B true CN101996140B (zh) | 2013-08-21 |
Family
ID=43786316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910165894 Active CN101996140B (zh) | 2009-08-12 | 2009-08-12 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101996140B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166558B (zh) * | 2013-05-16 | 2018-06-15 | 群联电子股份有限公司 | 固件码载入方法、存储器控制器与存储器存储装置 |
KR20190041082A (ko) * | 2017-10-12 | 2019-04-22 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447242A (zh) * | 2002-03-25 | 2003-10-08 | 太和科技股份有限公司 | 可适用于快闪存储卡的控制装置及其建构方法 |
CN1510689A (zh) * | 2002-12-26 | 2004-07-07 | 丽台科技股份有限公司 | 闪存的数据写入与读取方法及电路 |
CN1702776A (zh) * | 2004-05-27 | 2005-11-30 | 株式会社东芝 | 存储卡、半导体装置和半导体存储器的控制方法 |
-
2009
- 2009-08-12 CN CN 200910165894 patent/CN101996140B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447242A (zh) * | 2002-03-25 | 2003-10-08 | 太和科技股份有限公司 | 可适用于快闪存储卡的控制装置及其建构方法 |
CN1510689A (zh) * | 2002-12-26 | 2004-07-07 | 丽台科技股份有限公司 | 闪存的数据写入与读取方法及电路 |
CN1702776A (zh) * | 2004-05-27 | 2005-11-30 | 株式会社东芝 | 存储卡、半导体装置和半导体存储器的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101996140A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454906B (zh) | 資料讀取方法、快閃記憶體控制器與儲存系統 | |
CN103136116A (zh) | 存储器存储系统及其中控装置、管理方法与断电恢复方法 | |
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN102073600B (zh) | 数据备份方法、闪存控制器及闪存储存系统 | |
CN102456404A (zh) | 非易失性存储器存储装置、存储器控制器与数据存储方法 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN101957797A (zh) | 闪速存储器逻辑区块管理方法及其控制电路与储存系统 | |
CN101944384B (zh) | 用于闪速存储器的数据写入方法及其控制电路与储存系统 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN101727397B (zh) | 区块管理与更换方法、闪存储存系统及其控制器 | |
TWI415128B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
CN102122233B (zh) | 区块管理与数据写入方法、闪存储存系统与控制器 | |
CN101996140B (zh) | 用于闪速存储器的数据写入方法及其控制电路与储存系统 | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
US20100325344A1 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
CN103377132B (zh) | 管理存储器空间的方法、存储器控制器与存储器储存装置 | |
CN102193870A (zh) | 存储器管理与写入方法、存储器控制器与存储器存储系统 | |
CN102890653A (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
CN102053920B (zh) | 数据写入方法及闪存控制器与闪存存储系统 | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN101957799B (zh) | 用于闪速存储器的数据写入方法及其控制电路与存储系统 | |
CN101661432B (zh) | 闪存区块管理方法、闪存储存系统及控制器 | |
CN102467459B (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 |