数据储存装置与其操作方法

文档序号:6373423阅读:167来源:国知局
专利名称:数据储存装置与其操作方法
技术领域
本发明涉及快闪存储器的数据储存装置与操作方法。
背景技术
现今数据储存装置常以快闪存 储器(例如,与非门快闪存储器/NAND flash)为储存媒体。图IA图解一快闪存储器所提供的储存空间。快闪存储器100可划分为多个物理区块(physical blocks) BLKl、BLK2…;且各区块包括多个物理页(physical pages)—例如,物理区块BLKl包括物理页Pagel、Page2…。快闪存储器具有一种使用特性使用过的空间需以区块为单位擦除(erase)后方可再使用。图IB图解说明一逻辑地址的数据更新,其中在物理区块BLK中,更新的数据需以闲置的空间Data_New储存,而先前的储存空间Data_01d则随着数据更新转为无效(invalid)。由于快闪存储器的需以区块为单位擦除后方可再使用的特性,若要再度利用无效物理页Data_01d的空间,须要对物理区块BLK先作一「有效数据收集」(Garbage_Collection)操作,待物理区块BLK上的有效数据收集到其他物理区块后方可将物理区块BLK擦除,释出为闲置区块。快闪存储器100有多种储存空间应用,区块映射(block mapping)和页面映射(page mapping)为常见的两种映射模式。图IC图解区块映射模式下,快闪存储器上的一个物理区块(即图IA所定义的「物理区块/physical block」)是配置来储存主机端一段连续的逻辑地址(logical address)的数据。此段连续逻辑地址可视为一逻辑区块(logicalblock),授与一逻辑区块数(LBN)作为编号,在区块映射模式下,一个物理区块内部的各物理页是按照逻辑地址的顺序连续(sequential)写入的,因此只要根据逻辑区块数查找一区块映射表就可以定位对应的物理区块,再根据续逻辑地址的偏移量(offset)就可以定位该逻辑地址对应的物理页。但是区块映射要求在同一个物理区块必须顺序写入,因此需要频繁地进行上述「有效数据收集」操作从而降低使用效率。而在页面映射模式下,逻辑地址的数据在整个快闪存储器的范围内非连续(non-sequential)写入,即一个物理区块并不对应一段连续的逻辑地址,因此须通过该逻辑地址查找一数据量巨大的页面映射表定位出对应的物理页。页面映射要求为所有的逻辑地址都存储对应的物理页地址,因此需要巨大的存储空间来存储该页面映射表,且大范围地查找也会降低快闪存储器的使用效率。因此基于区块映射和页面映射模式上述缺陷,如何使快闪存储器的使用效率提升,为本技术领域一项重要课题。

发明内容
一种快闪存储器的数据储存装置与其操作方法。根据一种实施方式,所揭示的数据储存装置包括一快闪存储器以及一控制器。该快闪存储器包括多组数据储存区块、多个共享缓存区块以及多个专用缓存区块。上述各个共享缓存区块是由一组上述数据储存区块所共享。上述专用缓存区块各自对应一个热区逻辑区块。该控制器耦接至该快闪存储器。当一写入数据的逻辑区块被判断为一热区逻辑区块时,该控制器将该写入数据缓存至该热区逻辑区块对应的专用缓存区块。当上述多组数据储存区块的一组数据储存区块中任一数据储存区块的空间用尽时,该控制器将逻辑地址对应该任一数据储存区块的写入数据缓存至该组数据储存区块对应的共享缓存区块。根据一种实施方式,所揭示的数据储存装置操作方法包括于一数据储存装置的一快闪存储器配置多组数据储存区块、多个共享缓存区块、以及多个专用缓存区块,其中,上述各个共享缓存区块是由一组上述数据储存区块所共享,且上述各个专用缓存区块对应一个热区逻辑区块;当一主机所发出的一写入指令的一写入数据对应的一逻辑地址属于一热区逻辑区块时,将该写入数据缓存至该热区逻辑区块对应的专用缓存区块;以及当该逻辑地址并不属于热区逻辑区块,并且当该逻辑地址所对应的一数据储存区块不存在空余空间时,将该写入数据缓存至该数据储存区块所在的一组数据储存区块对应的共享缓存区块。
·
通过使用根据本发明所揭示的快闪存储器的数据储存装置及其操作方法,对主机写入的数据在快闪存储器内部进行缓存,即快闪存储器内部同时存储旧的数据和新写入的数据,优选地采取两种不同的缓存策略为经常写入的热区数据动态地分配专用缓存区块,而使得热区数据能够相对集中,从而提高该主机读取热区数据时的命中率,并提高该数据储存装置每秒进行读写操作的次数(Input/Output Operations Per Second, I0PS)以及连续写入时的有效吞吐量等性能;此外,采取多个数据储存区块共享一共享缓存区块,在任一数据区块写满后即写入对应的共享缓存区块,可以利于后续的「有效数据收集」与「区块空间释放」操作,并兼顾整个快闪存储器的性能。为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。


图IA图解一快闪存储器所提供的储存空间;图IB图解说明一逻辑地址的数据更新;图IC图解区块映射模式下,快闪存储器上的一个物理区块是配置来储存主机端一段连续逻辑地址的数据;图2图解根据一种实施方式所实现的一数据储存装置200 ;图3A图解所揭示的数据储存区块映射表DMT ;图3B图解所揭示的映射表SCB_MT ;图3C图解所揭示的映射表DCB_MT ;图4以流程解所揭示技术对写入指令的操作;图5以流程解所揭示技术对读取指令的操作;图6A图解本发明一种实施方式,其中根据一共享缓存区块SCB最末页的一写入操作(写入数据602)作「有效数据收集」与「区块空间释放」;以及图6B图解一种实施方式,其中根据一专用缓存区块DCB最末页的一写入操作(写入数据612)作「有效数据收集」与「区块空间释放」。
附图符号说明10(T快闪存储器;200 数据储存装置;202 快闪存储器;204 控制器;206 随机存取存储器;208 主机;602 属于逻辑区块数LBN2的有效数据;

604-61(T属于逻辑区块数LBNl的有效数据;612-620^属于逻辑区块数LBN的有效数据;622-628 属于逻辑区块数LBN2的有效数据;BLK、BLKl、BLK2 区块;BMT 区块映射子表;DataBlocksl、DataBlocks2…DataBlocksN 第一、第二…第 N 组数据储存区块;Data_01d、Data_New 储存空间;DB、DB1、DB2、DBl_New、DB2_New 数据储存区块 / 物理区块;DCB、DCBl、DCB2...DCBM、DCB_New 专用缓存区块;DCB_MT 映射表;DMT 数据储存区块映射表;LBN、LBNl、LBN2 逻辑区块数;Pagel、Page2 页;PMT_for_PBNl、PMT_for_PBN2、PMT 页映射子表;S402-S410"步骤!S5O2-S5KT 步骤;SCB、SCB1、SCB2... SCBN 共享缓存区块;SCB_MT 映射表。
具体实施例方式图2图解根据一种实施方式所实现的一数据储存装置200,包括一快闪存储器202、一控制器204,并且,还可包括耦接该控制器204的一随机存取存储器206。数据储存装置200可耦接一主机208,根据该主机208所下达的指令操作。该快闪存储器202提供多组数据储存区块(例如,第一组数据储存区块DataBlocksl、第二组数据储存区块DataBlocks2…第N组数据储存区块DataBlocksN)、多个共享缓存区块SCBI、SCB2…SCBN、以及多个专用缓存区块DCBI、DCB2…DCBM。上述多组数据储存区块DataBlocksl DataBlocksN分组配置给特定逻辑地址。在一种实施方式中,每组数据储存区块有其对应的多个逻辑区块(逻辑区块可以是于主机208端一段连续的逻辑地址组成)。关于一组的数据储存区块,其中数据储存区块可能一对一与逻辑区块对应,但并不限定于此,还有实施方式是令多个数据储存区块对应一个逻辑区块。一种实施方式根据逻辑区块数(LBN)的模数运算(%)结果作区块分组配置。以四组的数据储存区块分群为例,逻辑区块数的模数为O (LBN%4=0)的逻辑区块所配置的数据储存区块可属于第一组数据储存区块DataBlocksl,即第一组数据储存区块DataBlocksl对应的逻辑区块数LBN为0,4,8,12……;逻辑区块数的模数为I (LBN%4=1)的逻辑区块所配置的数据储存区块可属于第二组数据储存区块DataBlocks2,即第二组数据储存区块DataBlocks2对应的逻辑区块数LBN为1,5,9,13……;逻辑区块数的模数为2 (LBN%4=2)的逻辑区块所配置的数据储存区块可属于第三组数据储存区块DataBlocks3,即第三组数据储存区块DataBlocks3对应的逻辑区块数LBN为2,6,10,14……;且逻辑区块数的模数为3(LBN%4=3)的逻辑区块所配置的数据储存区块可属于第四组数据储存区块DataBlocks4,即第四组数据储存区块DataBlocks4对应的逻辑区块数LBN为3,7,11,15……。以上逻辑区块数模数分组规则可避免热数据集中储存于同一组数据储存区块而造成该组数据储存区块的过度使用,但并不意图限定所揭示的数据储存区块分群配置规则。凡是数据储存区块是根据「逻辑地址」分组者即属于本发明所揭示的技术。例如,在一种实施方式中,同一组的数据储存区块对应的逻辑区块数(LBN)为连续的,例如第一组数据储存区块DataBlocksl对应的逻辑区块数LBN为0,I, 2,3…K,以此类推。
·
上述各个共享缓存区块是由一组上述数据储存区块所共享,以于该组数据储存区块任一者的空间用尽时缓存写入数据。参阅图2所示实施例,第一组数据储存区块DataBlocksl共享一共享缓存区块SCBl ;第二组数据储存区块DataBlocks2共享一共享缓存区块SCB2 ;…;且第N组数据储存区块DataBlocksN共享一共享缓存区块SCBN。以第一组数据储存区块DataBlocksl内的区块DB (对应逻辑区块LBNX)为例,若其空间用尽,则逻辑区块LBNX后续的写入数据将交由共享缓存区块SCBl储存。特别声明的是,在其他实施方式中,同一组数据储存区块可配置多于一个的共享缓存区块。也可以多组数据存储区块配置一个共享缓存区块。上述专用缓存区块DCBfDCBM是配置来储存热区数据,且各个专用缓存区块对应一个热区逻辑区块。参阅图2所示的实施例,其中配置的M个专用缓存区块DCBUDCB2-DCBM可储存上达M个热区逻辑区块的数据。该控制器204耦接至该快闪存储器202,控制对该快闪存储器202的读写操作当一写入数据对应的逻辑区块被判断为一热区逻辑区块时,该控制器204将该写入数据缓存至该热区逻辑区块对应的专用缓存区块(DCBfDCBM之一);当多组数据储存区块DataBlocksl DataBlocksN的一组数据储存区块(例如DataBlocksl)中任一数据储存区块的空间用尽时,该控制器204将逻辑地址对应该空间用尽的数据储存区块的写入数据缓存至该组数据储存区块(例如DataBlocksl)对应的共享缓存区块(例如SCB1)。现在说明热区逻辑区块的判别。根据一种实施方式,控制器204还记录各逻辑区块的写入次数,令写入次数超过一临界次数的逻辑区块属上述热区逻辑区块,需交由专用缓存区块(DCBfDCBM其一)储存。所述记录可以随机存取存储器206暂存。根据另一种实施方式,控制器204统计共享缓存区块SCBl-SCBN其中数据所属的逻辑区块,令出现次数超过一临界次数的逻辑区块属上述热区逻辑区块,需交由专用缓存区块(DCBfDCBM其一)储存。此外,控制器204还可于该快闪存储器202针对上述多组数据储存区块DataBlocksrDataBlocksN,上述共享缓存区块SCBl SCBN、以及上述专用缓存区块DCBfDCBM分别提供一数据储存区块映射表DMT (BMT与PMT的组合)、多个共享缓存区块映射表SCB_MT以及多个专用缓存区块映射表DCB_MT,分别记录各区块的物理地址与逻辑地址的映射关系。控制器204可将所述映射表载入随机存取存储器206,以随着写入操作即时修正。图2所示实施方式以一区块映射子表BMT以及多个页映射子表PMT (如图2所示,各PMT可储存于各数据储存区块的空余空间)组成一数据储存区块映射表DMT,记录上述多组数据储存区块DataBlocksfDataBlocksN的物理地 址与逻辑地址映射;图3A详细解说一数据储存区块映射表DMT的一种实施方式。区块映射子表BMT记录不同逻辑区块数LBNl、LBN2对应的物理区块数PBNl、PBN2…,标示不同逻辑区块所对应的数据储存区块。至于各数据储存区块内的物理页储存状况,则可记录于页映射子表PMT_for_PBNl、PMT_for_PBN2…(即图2所不PMT)中。所述页映射子表可记录不同逻辑页偏移量(offset,用以与逻辑区块数LBN组成逻辑页数(LPN),而逻辑页数(LPN)是由逻辑地址(LBA)计算而得)所对应的物理页数(PPN)。举例来说,主机所指示的一逻辑地址LBA包括逻辑区块数LBN与逻辑页偏移量offset等信息。根据逻辑区块数LBN查询该区块映射子表BMT,可得知所对应的物理区块数PBN。寻得物理区块数PBN所对应的页映射子表(PMT_for_PBNl、PMT_for_PBN2…中对应者)后,可根据逻辑页偏移量offset查得对应的物理页数PPN。如此一来,SP可得知该逻辑地址LBA是位于某一数据储存区块的某一页。在另一实施例中,各物理区块数PBN所对应的页映射子表(PMT_for_PBNl、PMT_for_PBN2…中对应者)也可以在定位物理区块数PBN对应的数据储存区块后,由控制器204对对应的数据储存区块各物理页进行扫描以重建之。图2实施例还于这些共享缓存区块SCBfSCBN的空余空间提供对应的共享缓存区块映射表SCB_MT。这些共享缓存区块映射表SCB_MT各自记录对应的共享缓存区块SCBfSCBN各物理页所对应的逻辑页数。图3B图解一共享缓存区块映射表SCB_MT的结构,其中记录一个共享缓存区块各物理页所对应的逻辑页数LPN。在一种实施方式中,共享缓存区块映射表SCB_MT还可记录其中数据所属的逻辑区块的出现次数,实现上述热区逻辑区块判别。图2实施例还于这些专用缓存区块DCBfDCBM的空余空间提供对应的专用缓存区块映射表DCB_MT。这些专用缓存区块映射表DCB_MT各自记录对应的专用缓存区块DCBfDCBM各物理页所对应的逻辑页数。图3C图解一专用缓存区块映射表DCB_MT的结构,其中记录一个专用缓存区块各物理页所对应的逻辑页数LPN。关于图3B与图3C所示的共享缓存区块映射表SBC_MT与专用缓存区块映射表DCB_MT,由于同一逻辑地址对应的数据可能被多次写入,因此须注意同一逻辑页数LPN可能对应多个物理页,须以最末更新者为有效映射。此外,在另一实施例中,各共享缓存区块映射表SBC_MT或各专用缓存区块映射表DCB_MT也可以于使用时由控制器204对对应的共享缓存区块或专用缓存区块内各物理页进行扫描以重建之。控制器204对主机208所发出的写入/读取指令可有以下处理。当主机208发出一写入指令,控制器204的操作可如图4流程。步骤S402判断写入数据的逻辑地址是否属于一热区逻辑区块。若属于热区逻辑区块,则流程进行步骤S404,此写入数据被写入专用缓存区块(DCBfDCBM之一),当然,若此前该逻辑地址所在的逻辑区块已分配对应的专用缓存区块,就直接将写入数据写入对应的专用缓存区块,若此前该逻辑地址所在的逻辑区块并未分配任何对应的专用缓存区块,就为该逻辑地址所在的逻辑区块分配对应的专用缓存区块后,再将写入数据写入该新分配的专用缓存区块。若步骤S402判别出并非属于热区逻辑区块,则流程进行步骤S406,判断该写入指令的逻辑地址所对应的数据储存区块是否尚存空间。若相关数据储存区块尚余有储存空间,则流程进行步骤S408,写入指令操作于该数据储存区块。若步骤S406判定相关数据储存区块的空间已经用尽,则流程进行步骤S410,以共享缓存区块储存写入数据。当主机208发出一读取指令,控制器204的操作可如同图5流程。步骤S502是根据该读取指令的逻辑地址(例如,利用其中逻辑页数LPN信息)判断所欲读取的数据是否由专用缓存区块DCBfDCBM之一储存。在一实施例中,可以于步骤S502先判断该逻辑地址是否位于一热区逻辑区块,若是,根据该逻辑地址搜寻该热区逻辑区块的专用缓存区块映射表(如图3C的一 DCB_MT),由于该专用缓存区块映射表DCB_MT是以物理页数PPN为索引(index),逻辑页数LPN为表项,因此根据该逻辑地址搜寻该表时,需要逆向查找,例如利用该逻辑地址其中的逻辑页数LPN通过逆向遍历(或其它搜索算法)搜索该专用缓存区块映射·表DCB_MT,找到对应的物理页数PPN。由于一个逻辑页数LPN可能对应多个物理页数PPN,有效(valid)的物理页数PPN为其中物理页数PPN最大的那个物理页数。再于步骤S504根据搜寻到的物理页数PPN自对应的专用缓存区块DCB读取数据。在另一实施例中,可以于步骤S502根据该读取指令的逻辑地址中的逻辑页数LPN搜寻所有专用缓存区块映射表(图2这些DCB_MT),以判断所欲读取的数据是否由专用缓存区块DCBfDCBM之一的某一物理页储存。若在这些专用缓存区块映射表(图2这些DCB_MT)寻得该逻辑页数LPN,则于步骤S504根据对应的专用缓存区块索引号与物理页索引号自对应的专用缓存区块读取数据。若步骤S502判定该读取指令的逻辑地址对应的数据并不存在于任何专用缓存区块,流程进行步骤S506,判断所欲读取的数据是否由共享缓存区块SCBfSCBN之一储存。在一实施例中,可以于步骤S506先根据该逻辑地址中的逻辑区块数LBN作运算来判断,例如由逻辑区块数LBN做哈希(Hash)运算判断该逻辑地址对应哪个共享缓存区块SCBf SCBN。做哈希(Hash)运算的原因是如前所述,为了避免多个热区数据共用一个共享缓存区块而造成该共享缓存区块很快就写满,优选实施例是采用例如逻辑区块数LBN0,4,8,12…共享缓存区块SCB0,逻辑区块数LBN1,5,9,13…共享缓存区块SCB1,逻辑区块数LBN2,6,10,14…共享缓存区块SCB2,逻辑区块数LBN3,7,11,15…共享缓存区块SCB3,因此对逻辑区块数LBN运算可判断其对应哪一个共享缓存区块,由于共享缓存区块对应的共享缓存区块映射表(如图3B的一 SCB_MT)同专用缓存区块映射表DCB_MT—样,是以物理页数PPN为索引(index),逻辑页数LPN为表项,因此根据该逻辑地址搜寻对应的物理页数PPN时,同样需要逆向查找(查找方法类似专用缓存区块映射表的查找方法,这里不再赘述),再于步骤S508根据搜寻到的物理页数PPN自对应的共享缓存区块SCB读取数据。在另一实施例中,可以于步骤S506根据该读取指令的逻辑地址中的逻辑页数LPN搜寻所有共享缓存区块映射表(图2这些SCB_MT),以判断所欲读取的数据是否由共享缓存区块SCBfSCBN之一的某一物理页储存。若在某一共享缓存区块映射表中寻得该逻辑页数LPN,则于步骤S508根据对应的共享缓存区块索引号与物理页索引号自对应的共享缓存区块读取数据。若步骤S506判定该读取指令的逻辑地址对应的数据并不存在于任何共享缓存区块,则流程进行步骤S510,查询一数据储存区块映射表(图2的BMT与PMT),以自数据储存区块读取数据。通过使用根据本发明所揭示的快闪存储器的数据储存装置及其操作方法,对主机写入的数据在快闪存储器内部进行缓存,即快闪存储器内部同时存储旧的数据和新写入的数据,优选地采取两种不同的缓存策略为经常写入的热区数据动态地分配专用缓存区块,而使得热区数据能够相对集中,从而提高该主机读取热区数据时的命中率,并提高该数据储存装置每秒进行读写操作的次数(Input/Output Operations Per Second, I0PS)以及连续写入时的有效吞吐量等性能;此外,采取多个数据储存区块共享一共享缓存区块,在任一数据区块写满后即写入对应的共享缓存区块,可以利于后续的「有效数据收集」与「区块空间释放」操作,并兼顾整个快闪存储器的性能。本发明较优地适用在控制器内部不配置随机存取存储器(Random Access Memory,RAM)作为缓存或随机存取存储器容量较小的快闪存储器中,当然,本发明不限于此,也可适用在配置有较大容量的随机存取存储器的快闪存储器中。至于本发明的「有效数据收集」与「区块空间释放」,本发明有特殊设计如下。
·
图6A图解一种实施方式,于一共享缓存区块空间用尽时作「有效数据收集」与「区块空间释放」,即控制器204可根据一共享缓存区块SCB最末页的一写入操作(写入数据602)作「有效数据收集」与「区块空间释放」。控制器204将寻得该共享缓存区块SCB其中数据所涉及的所有逻辑区块,例如LBNl和LBN2,并对该共享缓存区块SCB、以及这些逻辑区块LBNl和LBN2所对应的数据储存区块DBl和DB2以及专用缓存区块DCBl和DCB2作有效数据收集。具体而言,如图6A所示,该共享缓存区块SCB其中数据所涉及的所有逻辑区块为LBNl和LBN2,控制器204可寻得对应该逻辑区块数LBNl的数据储存区块DBl内的有效数据604与606,且可自该共享缓存区块SCB中寻得同属该逻辑区块数LBNl的有效数据608,并自该逻辑区块LBNl对应的专用缓存区块DCBl中寻得同属该逻辑区块数LBNl的有效数据610,控制器204可新配置一个数据储存区块DBl_New收集数据604飞08 ;此外,控制器204可寻得对应该逻辑区块数LBN2的数据储存区块DB2内的有效数据622与624,且可自该共享缓存区块SCB中寻得同属该逻辑区块数LBN2的有效数据626和602 (假设最末页的写入数据602属于逻辑区块数LBN2),并自该逻辑区块LBN2对应的专用缓存区块DCB2中寻得同属该逻辑区块数LBN2的有效数据628,控制器204可再新配置一个数据储存区块DB2_New收集数据622飞28。如此一来,仅存无效数据的该共享缓存区块SCB可被擦除释放为闲置空间,再作共享缓存区块使用,也可用作其他存储区块,如数据储存区块或专用缓存区块使用。图6B图解一种实施方式,于一专用缓存区块空间用尽时作「有效数据收集」与「区块空间释放」,即控制器204可根据一专用缓存区块DCB最末页的一写入操作(写入数据612)作「有效数据收集」与「区块空间释放」。控制器204根据该专用缓存区块DCB所对应的逻辑区块数LBN寻得对应的数据储存区块DB与共享缓存区块SCB。控制器204可将该数据储存区块内的有效数据614、616与该共享缓存区块SCB内同属该逻辑区块数LBN的有效数据618与该专用缓存区块内的有效数据620与612收集至闲置的另一专用缓存区块DCB_New0专用储存区块DCB因而仅存无效数据,可被擦除释放为闲置空间,待日后再作数据储存用。专用缓存区块DCB_New则取代DCB对应该逻辑区块数LBN。另有一种实施方式是新配置一数据储存区块DB_New (图未绘示)而非配置该专用缓存区块DCB_New收集有效数据612 620,新配置的该数据储存区块DB_New可取代DB。此外,上述「有效数据收集」与「区块空间释放」还可设计在上述多个专用缓存区块DCBfDCBM仅余特定数量的闲置者时。控制器204可针对非闲置的专用缓存区块其一作有效数据收集。这些有效数据不限定以闲置的专用缓存区块收集,也可以新配置的数据储存区块收集。数据收集后,仅存无效数据的专用缓存区块可擦除释放为闲置空间,可再作专用缓存区块使用,也可用作其他存储区块,如数据储存区块或共享缓存区块使用。以上控制器204有多种实施方式。例如,控制器204可以一微处理器执行固件实现,其对该快闪存储器202的操作方法亦属于本发明所欲保护范围。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可做若干更动与润饰,因此本发明的保护范围是以本发明的权利要求为准。·
权利要求
1.一种数据储存装置,包括 一快闪存储器,包括多组数据储存区块、多个共享缓存区块以及多个专用缓存区块,其中 上述各个共享缓存区块是由一组上述数据储存区块所共享;且 上述各个专用缓存区块对应一个热区逻辑区块;以及 一控制器,耦接至该快闪存储器,当一写入数据的逻辑区块被判断为一热区逻辑区块时,该控制器将该写入数据缓存至该热区逻辑区块对应的专用缓存区块,当上述多组数据储存区块的一组数据储存区块中任一数据储存区块的空间用尽时,该控制器将逻辑地址对应该任一数据储存区块的写入数据缓存至该组数据储存区块对应的共享缓存区块。
2.如权利要求I所述的数据储存装置,其中,上述多组数据储存区块的每一组皆包括多个数据储存区块,且各个数据储存区块分别对应一个逻辑区块。
3.如权利要求I所述的数据储存装置,其中,该控制器还记录各逻辑区块的写入次数,令写入次数超过一临界次数的逻辑区块属上述热区逻辑区块。
4.如权利要求I所述的数据储存装置,其中,该控制器还统计上述共享缓存区块其中数据所属的逻辑区块,令出现次数超过一临界次数的逻辑区块属上述热区逻辑区块。
5.如权利要求I所述的数据储存装置,其中,该控制器还于该快闪存储器提供一数据储存区块映射表、多个共享缓存区块映射表以及多个专用缓存区块映射表,分别记录上述多组数据储存区块、这些共享缓存区块、以及这些专用缓存区块的物理地址与逻辑地址的映射关系。
6.如权利要求5所述的数据储存装置,其中,该数据储存区块映射表包括 一区块映射子表,记录不同逻辑区块所对应的数据储存区块;以及 对应上述数据储存区块的多个页映射子表,记录不同逻辑页偏移量所对应的物理页数,存储于所对应的上述数据储存区块的空余空间中。
7.如权利要求5所述的数据储存装置,其中,各个共享缓存区块映射表记录对应的共享缓存区块各物理页所对应的逻辑页数,各个专用缓存区块映射表记录对应的专用缓存区块各物理页所对应的逻辑页数。
8.一种数据储存装置操作方法,包括 于一数据储存装置的一快闪存储器配置多组数据储存区块、多个共享缓存区块、以及多个专用缓存区块,其中,上述各个共享缓存区块是由一组上述数据储存区块所共享,且上述各个专用缓存区块对应一个热区逻辑区块; 当一主机所发出的一写入指令的一写入数据对应的一逻辑地址属于一热区逻辑区块时,将该写入数据缓存至该热区逻辑区块对应的专用缓存区块;以及 当该逻辑地址并不属于热区逻辑区块,并且当该逻辑地址所对应的一数据储存区块不存在空余空间时,将该写入数据缓存至该数据储存区块所在的一组数据储存区块对应的共享缓存区块。
9.如权利要求8所述的数据储存装置操作方法,其中上述多组数据储存区块的每一组皆包括多个数据储存区块,且各个数据储存区块分别对应一个逻辑区块。
10.如权利要求8所述的数据储存装置操作方法,还包括 记录各逻辑区块的写入次数,令写入次数超过一临界次数的逻辑区块属上述热区逻辑区块。
11.如权利要求8所述的数据储存装置操作方法,还包括 统计上述共享缓存区块其中数据所属的逻辑区块,令出现次数超过ー临界次数的逻辑区块属上述热区逻辑区块。
12.如权利要求8所述的数据储存装置操作方法,还包括 根据该主机所发出的ー读取指令的逻辑地址判断该读取指令所欲读取的数据是否由上述多个专用缓存区块之ー储存,以读取该数据; 当判定该读取指令所欲读取的数据并不存在于上述多个专用缓存区块的任何一个时,还判断该读取指令所欲读取的数据是否由上述多个共享缓存区块之ー储存,以读取该数据;且 当还判定该读取指令所欲读取的数据并不存在于上述多个共享缓存区块的任何ー个吋,自上述数据储存区块取得该读取指令所欲读取的数据。
13.如权利要求8所述的数据储存装置操作方法,其中,关于上述多个共享缓存区块之一,该方法还包括 于该共享缓存区块用尽时寻得该共享缓存区块其中数据所涉及的逻辑区块;以及对该共享缓存区块、以及这些逻辑区块所对应的数据储存区块以及专用缓存区块作有效数据收集。
14.如权利要求8所述的数据储存装置操作方法,其中,关于上述专用缓存区块之一,该方法还包括 根据该专用缓存区块所对应的逻辑区块寻得对应的共享缓存区块与数据储存区块;并且 对该共享缓存区块内属于该逻辑区块部分、以及该专用缓存区块与该数据储存区块作有效数据收集,更新至闲置的另ー专用缓存区块或另一数据储存区块, 其中于上述多个专用缓存区块仅于特定数量的闲置者吋,自非闲置的专用缓存区块中择ー实行上述有效数据收集或于上述专用缓存区块最末页的写入操作时实行上述有效数据收集。
全文摘要
一种快闪存储器的数据储存装置与其操作方法。根据所揭示技术,快闪存储器的空间配置成包括多组数据储存区块、多个共享缓存区块以及多个专用缓存区块。上述各个共享缓存区块由一组上述数据储存区块所共享,以于该组数据储存区块中任一空间用尽时缓存写入数据。上述专用缓存区块配置来储存热区数据,且各个专用缓存区块对应一个逻辑区块。
文档编号G06F12/06GK102789427SQ20121024790
公开日2012年11月21日 申请日期2012年7月17日 优先权日2012年7月17日
发明者修宸, 张博 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1