专利名称::可重覆写入的非挥发性储存的储存系统与其写入方法
技术领域:
:本发明是关于一种非挥发性储存的储存系统与其写入方法,尤其指一种适用于可重覆写入(不需抹除(erase)处理)的储存系统与其写入方法。一般的快闪储存器在写入资料时,需将前次已记录的资料先进行抹除(erase)动作后才可写入。这使得在写入资料时所花费的时间过长,而成为快闪储存器在使用上的一大缺点。于是便有无需抹除而可重覆写入的非挥发性储存器的设计,而对于如何提升此种非挥发性储存器的存取效能,遂成为一极重要的课题。本发明的另一目的在于提供一种可重覆写入的非挥发性储存的储存系统与其写入方法,能避免写入资料时因其他外在因素而丧失资料情形发生。为实现上述目的,本发明提供的可重覆写入的非挥发性储存器的写入方法,供一主机写入资料至一储存系统,该储存系统包含一暂存器与至少一非挥发性储存器,该非挥发性储存器具有复数个区块及一第一映射逻辑区块位址(MLBA)表与一第一置换表,该第一MLBA表包含复数个MLBA值,该第一置换表包含复数个可用区块位址,该暂存器内储存一第二MLBA表与一第二置换表,该第二MLBA表具有该第一MLBA表的至少一部分MLBA值,该第二置换表具有该第一置换表的至少一部分可用区块位址,该写入方法主要包括下述步骤(A)对该主机发出的写入指令进行解码,以解译出该写入指令对应的逻辑写入目的位址,该逻辑写入目的位址具有一目标MLBA值;(B)将该写入指令欲写入的目标资料写入该暂存器;(C)如该目标MLBA值不存在该第二MLBA表,则由该第一MLBA表载入包含该目标MLBA值的至少一个MLBA值至该第二MLBA表;(D)以该目标MLBA值在该第二MLBA表的内容作为该非挥发性储存器的实体写入位址;(E)如该实体写入位址所对应的至少一区块没有资料存在,则将已写入该暂存器的目标资料写入该至少一区块;以及(F)如该实体写入位址所对应的至少一区块已有资料存在,由该置换表取出一至少一可用区块,并将该已写入该暂存器的目标资料写入该至少一可用区块,且以该至少一可用区块的位址更新该第一;及第二MLBA表。所述的方法,其中于步骤(F)中,先将该实体写入位址所对应的至少一区块的资料写入该暂存器,再将已写入暂存器的目标资料写入该至少一可用区块。所述的方法,其中该非挥发性储存器的每一个区块具有复数页,而该写入指令对该每一个区块写入至少一页资料。所述的方法,其中该逻辑写入目的位址还包含该待写入的非挥发性储存器的编号与区块页次。所述的方法,其中该暂存器具有复数个区段,每一区段大小等于该等区块中的每一个页。所述的方法,其中该至少一非挥发性储存器还包括至少一资料暂存器,该至少一资料暂存器具有复数页,供已写入该暂存器的目标资料先写入该至少一资料暂存器,继而再一次写入该至少一非挥发性储存器的目标区块,以使得每次写入该目标资料以至少一页作为写入该至少一非挥发性储存器的基本单位。所述的方法,其中如写入该暂存器的目标资料为复数笔时,批次写入该资料暂存器,或将已确认可写入的区段先行写入该资料暂存器。所述的方法,其中该置换表内的复数个可用区块位址是以一可用区块的位址作为该至少一欲取出的可用区块位址。所述的方法,其中该第二置换表包含一计数器,以计数已被取出的可用区块的数目。所述的方法,当该第二置换表内的复数个可用区块已被取出,则由该第一置换表载入其他复数个可用区块至该第二置换表。所述的方法,该第二置换表仅在初始状态(initial)时,由该第一置换表载入该复数个可用区块,之后则以该被更新的至少一区块的原始位址所对应的至少一区块,作为至少一新加入的可用区块,供直接由该第二置换表循环取出至少一可用区块。本发明提供的可重覆写入的非挥发性储存的储存系统,主要包括至少一非挥发性储存器,具有复数个区块,及一第一映射逻辑区块位址(MLBA)表与一第一置换表,其中,该第一MLBA表包含复数个MLBA值,该第一置换表包含复数个可用区块位址;以及一暂存器,用以暂存至少一笔欲写入该非挥发性储存器的目标资料,该暂存器具有一第二MLBA表与一第二置换表,该第二MLBA具有该第一MLBA表的至少一MLBA值,该第二置换表具有该第一置换表的至少一部分可用区块位址,供一主机由该暂存器直接重覆写入该至少一笔目标资料至该至少一非挥发性储存器中的至少一区块,其中,该主机以发出一写入指令来写入该非挥发性储存器,该写入指令具有一目标MLBA值以作为逻辑写入目的位址,如该目标MLBA值不存在该第二MLBA表,则由该第一MLBA表载入包含该目标MLBA值的至少一个MLBA值至该第二MIBA表,并以该目标MLBA值在该第二MIBA表的内容作为该非挥发性储存器的实体写入位址。所述的储存系统,其中,如该实体写入位址所对应的至少一区块没有资料存在,则将已写入该暂存器的目标资料写入该至少一区块,否则由该置换表取出一至少一可用区块,并将该已写入该暂存器的目标资料写入该至少一可用区块,且以该至少一可用区块的位址更新该第一及第二MLBA表。所述的储存系统,其中该非挥发性储存器的每一个区块内具有复数页,而该写入指令是对该每一个区块写入至少一页资料。所述的储存系统,其中该非挥发性储存器的每一个区块具有一冗余栏位(redundancy),其记录有该区块是否有资料写入的资讯。所述的储存系统,其中该暂存器具有复数个区段,每一区段大小等于该等区块中的每一个页。所述的储存系统,其中该非挥发性储存器还包括至少一资料暂存器,该至少一资料暂存器具有复数页,供已写入该暂存器的目标资料先写入该至少一资料暂存器,继而再一次写入该非挥发性储存器的目标区块,以使得每次写入该目标资料是以至少一页作为写入该非挥发性储存器的基本单位。所述的储存系统,其中,写入该暂存器的目标资料为复数笔时,批次写入该至少一资料暂存器或将先处理完的区段先行写入该至少一资料暂存器。图2为本发明的写入方法流程图。图3为本发明第一实施例的写入动作示意图。图4为本发明第二实施例的写入动作示意图。图5为本发明以集合交错写入资料的动作示意图。图6为本发明另一写入资料的动作示意围。图7为本发明的写入方式与其他写入方式的比较示意图。于本实施例中,非挥发性储存器模组4具有三个非挥发性储存器5、6、7,每一个非挥发性储存器5中具有一个资料暂存器51与复数个区块52(blocks)。在非挥发性储存器5中并储存有一第一MLBA表53与一第一置换表54。若第一MLBA表53与一第一置换表54的容量大小大于非挥发性储存器5的预设储存容量,则将该等表格多余的部份储存至非挥发性储存器6或7。每一区块52由四个页(page)521、522、523、524所组成,且每页的大小(size)等于暂存器3中每一区段(sector)的大小,每个区块52还包含一冗余栏位525,其是以二个字组(word)所组成。上述的非挥发性储存器5、6、7可为任何可直接重覆写入而不需刷新处理的非挥发性储存器。非挥发性储存器模组4可嵌入一可携式装置,或组设于一可携式多媒体储存卡片中,例如PCMCIA卡、CF(compactflash)卡、或安全数字储存(SD)卡中。图2为显示对储存系统写入的动作示意图,并请参照图3、及图1所显示的第一实施例的写入动作的示意图。当主机端1发出一写入指令至储存系统2(位址0x11021,写入资料为一笔)(步骤S201),其先经过解译处理(decode),以解出写入指令所对应的逻辑写入目的位址(步骤S202)。该逻辑写入目的位址包含欲写入的非挥发性储存器5的编号(例如装置0)、写入非挥发性储存器的区块内的起始页次位置(例如第二页)、及目标映射逻辑区块位址(MLBA=2755)。继而将欲写入的目标资料先暂时写入暂存器3的集合区段A中的第二个区段(sector)A-1(步骤S203)。并判断目标MLBA值是否存在暂存器3中的第二MLBA表32,如判断结果为目标MLBA值(2755)不存在第二MLBA表中,则由非挥发性储存器5中的第一MLBA表53载入包含目标MLBA值(2755)的复数个MLBA值至第二MLBA表(步骤S204)。继而以目标MLBA值(2755)的内容(data,0x1234)作为非挥发性储存器5的真正的实体写入位址,并判断实体写入位址所对应的区块的冗余栏位(redundancy)525的值(若为高逻辑准位则表示有资料存在(notfree),若为低逻辑准位则表示无资料存在(free),以确定该区块内是否有资料存在。在本实施例中,实体写入位址所对应的区块内没有资料存在,则将已写入暂存器3内的目标资料写入对应区块内的第二页(page)。图4为显示本发明的第二实施例的写入动作示意图,亦并请参照图1与图2。主机端1发出写入指令至储存系统2(位址0x11021,写入资料为三笔)(步骤S201),经过解译处理(decode),解出的逻辑写入目的住址为写入非挥发性储存器5、起始页次位置为第二页、及MLBA值为2755(步骤S202)。接著,将欲写入的三笔目标资料写入暂存器3的集合区段A中的第二、第三、及第四个区段(A-1,A-2,A-3)(步骤S203)。继而判断目标MLBA值是否存在暂存器3中的第二MLBA表32,结果目标MLBA值(2755)不存在第二MLBA表中,则由非挥发性储存器5中的第一MLBA表53载入包含目标MLBA值(2755)的复数个MLBA值至第二MLBA表(步骤S204)。再以目标MLBA值(2755)的内容(data,0x1234)作为寻非挥发性储存器5的真正的实体写入位址,并判断实体写入位址所对应的区块的冗余栏位(redundancy)525的值,结果实体写入位址所对应的区块内已有资料存在(页一与页四),则将已存在的原始资料(页一与页四)写入暂存器3内的集合区段A,但因区段A-3已暂存待写入资料,所已仅把区块内的原始资料(页一)写入暂存器3内的区段A-0,以避免在写入资料时因其他外在因素(例如电力中断)而丧失资料的情形发生。之后,由暂存器3内的第二置换表33取出一可用的(free)区块(其实体写入位址为9955)作为新的写入区块(步骤S206),其中,区块(0x1234)在释放后将成为一新的可用(free)区块,且其区块位址(0x1234)将被放入第二置换表,供作为下一次使用的可用区块。再将暂存器3内的资料A-0-A-3)写入该新的区块的页一至页四(步骤S207)。最后,更新暂存器3内的第二MLBA表32中2755内的资料与更新第二替换表33,即将原本第二MLBA表中2755的内容1234更新为9955,并将第二替换表中的9955更改为1234,以使得下一次进行写入时,若目标MLBA值为2755,则所对应的实体写入位址为9955。当然,前述的第二置换表33内有一计数器来计数已被取出的可用区块的数目,若该第二置换表33内的可用区块都已被取出,则再由第一置换表54载入其他可用区块至第二置换表33。或者第二置换表33仅在初始状态时由第一置换表54载入可用区块位址,之后则利用新加入的可用区块来作循环取用,以改善取出可用区块的效能。图5为显示本发明写入资料时以多笔资料(集合)批次写入非挥发性储存器的动作示意图。本图表示二种写入动作意义。其一,当写入资料为四笔,则先将待写入的一笔资料先写入暂存器3中的A-0区段(并请参照图1),并在确定可写入对应的区块后,先行写入非挥发性储存器5的资料暂存器51中的第一页,继而再分别写入待写入的第二、第三、第四笔资料,其写入动作与第一笔待写入资料相同,以达到写入资料时经由暂存器3而直接写入(gothrough)至资料暂存器51。其二,已写入资料暂存器51的资料为一次写入所对应的实体区块,使得每次写入资料皆以资料暂存器51中的至少一页资料(最多四页资料)写入对应区块,以达成一集合(set)交错(interleaving)写入非挥发性储存器5中的对应区块。图6为本发明另一写入资料的动作示意图,显示写入资料为13笔时,先写入暂存器3中再写入非挥发性储存器5、6的资料暂存器51、61,最后再由资料暂存器51、61写入所对应的区块。图7为本发明的写入方式与传统储存器写入方式的比较示意图,其中,7A显示本发明所采用的集合与交错的写入方式;7B显示以暂存器3中的一个区段与交错作为资料写入的方式;7C则显示以暂存器3中的一个区段作为资料写入的方式。由7A、7B、及7C的比较可发现,在相同的时间内,采用本发明的写入方式可写入较多的资料。由以上说明可知,本发明由解码后所得到的MLBA值的内容间接定址实体写入位址,再判断该实体写入位址区块是否有资料,若对应的区块内存在资料则由替代表(swaptable)中取出一新的可用区块(区块内无资料),继而将暂存器内的至少一笔资料写入所对应的非挥发性储存器的资料暂存器,最后再批次写入对应的区块,以达到缩减写入于非挥发性储存器的写入资料时间,并且可避免写入资料时因其他外在因素而丧失资料情形发生。应注意的是,上述实施例是为了便于说明而已,本发明所主张的权利范围非仅限于上述实施例,而凡与本发明有关的技术构想,均属于本发明的范畴。权利要求1.一种可重覆写入的非挥发性储存器的写入方法,供一主机写入资料至一储存系统,该储存系统包含一暂存器与至少一非挥发性储存器,该非挥发性储存器具有复数个区块及一第一映射逻辑区块位址(MLBA)表与一第一置换表,该第一MLBA表包含复数个MLBA值,该第一置换表包含复数个可用区块位址,该暂存器内储存一第二MLBA表与一第二置换表,该第二MLBA表具有该第一MLBA表的至少一部分MLBA值,该第二置换表具有该第一置换表的至少一部分可用区块位址,该写入方法主要包括下述步骤(A)对该主机发出的写入指令进行解码,以解译出该写入指令对应的逻辑写入目的位址,该逻辑写入目的位址具有一目标MLBA值;(B)将该写入指令欲写入的目标资料写入该暂存器;(C)如该目标MLBA值不存在该第二MLBA表,则由该第一MLBA表载入包含该目标MLBA值的至少一个MLBA值至该第二MLBA表;(D)以该目标MLBA值在该第二MLBA表的内容作为该非挥发性储存器的实体写入位址;(E)如该实体写入位址所对应的至少一区块没有资料存在,则将已写入该暂存器的目标资料写入该至少一区块;以及(F)如该实体写入位址所对应的至少一区块已有资料存在,由该置换表取出一至少一可用区块,并将该已写入该暂存器的目标资料写入该至少一可用区块,且以该至少一可用区块的位址更新该第一;及第二MLBA表。2.如权利要求1所述的方法,其特征在于,其中于步骤(F)中,先将该实体写入位址所对应的至少一区块的资料写入该暂存器,再将已写入暂存器的目标资料写入该至少一可用区块。3.如权利要求1所述的方法,其特征在于,其中该非挥发性储存器的每一个区块具有复数页,而该写入指令对该每一个区块写入至少一页资料。4.如权利要求3所述的方法,其特征在于,其中该逻辑写入目的位址还包含该待写入的非挥发性储存器的编号与区块页次。5.如权利要求3所述的方法,其特征在于,其中该暂存器具有复数个区段,每一区段大小等于该等区块中的每一个页。6.如权利要求3所述的方法,共特征在于,其中该至少一非挥发性储存器还包括至少一资料暂存器,该至少一资料暂存器具有复数页,供已写入该暂存器的目标资料先写入该至少一资料暂存器,继而再一次写入该至少一非挥发性储存器的目标区块,以使得每次写入该目标资料以至少一页作为写入该至少一非挥发性储存器的基本单位。7.如权利要求6所述的方法,其特征在于,其中如写入该暂存器的目标资料为复数笔时,批次写入该资料暂存器,或将已确认可写入的区段先行写入该资料暂存器。8.如权利要求1所述的方法,其特征在于,其中该置换表内的复数个可用区块位址是以一可用区块的位址作为该至少一欲取出的可用区块位址。9.如权利要求1所述的方法,其特征在于,其中该第二置换表包含一计数器,以计数已被取出的可用区块的数目。10.如权利要求9所述的方法,其特征在于,当该第二置换表内的复数个可用区块已被取出,则由该第一置换表载入其他复数个可用区块至该第二置换表。11.如权利要求1所述的方法,其特征在于,该第二置换表仅在初始状态(initial)时,由该第一置换表载入该复数个可用区块,之后则以该被更新的至少一区块的原始位址所对应的至少一区块,作为至少一新加入的可用区块,供直接由该第二置换表循环取出至少一可用区块。12.一种可重覆写入的非挥发性储存的储存系统,主要包括至少一非挥发性储存器,具有复数个区块,及一第一映射逻辑区块位址(MLBA)表与一第一置换表,其中,该第一MLBA表包含复数个MLBA值,该第一置换表包含复数个可用区块位址;以及一暂存器,用以暂存至少一笔欲写入该非挥发性储存器的目标资料,该暂存器具有一第二MLBA表与一第二置换表,该第二MLBA具有该第一MLBA表的至少一MLBA值,该第二置换表具有该第一置换表的至少一部分可用区块位址,供一主机由该暂存器直接重覆写入该至少一笔目标资料至该至少一非挥发性储存器中的至少一区块,其中,该主机以发出一写入指令来写入该非挥发性储存器,该写入指令具有一目标MLBA值以作为逻辑写入目的位址,如该目标MLBA值不存在该第二MLBA表,则由该第一MLBA表载入包含该目标MLBA值的至少一个MLBA值至该第二MIBA表,并以该目标MLBA值在该第二MIBA表的内容作为该非挥发性储存器的实体写入位址。13.如权利要求12所述的储存系统,其特征在于,其中,如该实体写入位址所对应的至少一区块没有资料存在,则将已写入该暂存器的目标资料写入该至少一区块,否则由该置换表取出一至少一可用区块,并将该已写入该暂存器的目标资料写入该至少一可用区块,且以该至少一可用区块的位址更新该第一及第二MLBA表。14.如权利要求12所述的储存系统,其特征在于,其中该非挥发性储存器的每一个区块内具有复数页,而该写入指令是对该每一个区块写入至少一页资料。15.如权利要求14所述的储存系统,其特征在于,其中该非挥发性储存器的每一个区块具有一冗余栏位(redundancy),其记录有该区块是否有资料写入的资讯。16.如权利要求14所述的储存系统,其特征在于,其中该暂存器具有复数个区段,每一区段大小等于该等区块中的每一个页。17.如权利要求14所述的储存系统,其特征在于,其中该非挥发性储存器还包括至少一资料暂存器,该至少一资料暂存器具有复数页,供已写入该暂存器的目标资料先写入该至少一资料暂存器,继而再一次写入该非挥发性储存器的目标区块,以使得每次写入该目标资料是以至少一页作为写入该非挥发性储存器的基本单位。18.如权利要求17所述的储存系统,其特征在于,其中,写入该暂存器的目标资料为复数笔时,批次写入该至少一资料暂存器或将先处理完的区段先行写入该至少一资料暂存器。全文摘要一种可重覆写入的非挥发性记忆的储存系统与其写入方法,其是将待写入的资料先行写入暂存器中,再以解码后所得到的逻辑写入目的位址中的MLBA值作为间接定址,并判断实体写入位址对应的区块有无资料,若对应的区块内存在资料则由替代表中取出一新的可用区块,最后再将暂存器内的至少一笔资料写入可用区块。文档编号G11C7/00GK1472747SQ02127189公开日2004年2月4日申请日期2002年7月30日优先权日2002年7月30日发明者林忠义,薛博仁,吴长育申请人:希旺科技股份有限公司