数据存取装置及数据存取方法

文档序号:6779172阅读:109来源:国知局

专利名称::数据存取装置及数据存取方法
技术领域
:本发明涉及数据存取
技术领域
,更具体地说,涉及一种使用镜射机制来提高存取速度并确保数据正确性的数据存取装置及数据存取方法。
背景技术
:在旧有的储存装置中,通常利用错误更正码(ErrorCorrectingCode,ECC)来保护储存在储存装置里的数据。举例来说,当发现储存在一储存装置中的数据有问题时,可利用与该数据相对应的ECC进行错误更正。然而,利用ECC进行的错误更正有其局限性,当大于一特定数据量(例如N位)的错误发生时,便无法利用ECC对其进行更正。而且,在现代许多电子装置中,都使用较快速度的储存装置(如闪存)来取代旧有的硬盘,而使用ECC来进行错误更正的作法会耗费相当多的时间,因此不符合现代装置对快速存取的需求。
发明内容本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种数据存取装置及数据存取方法,以提高闪存中数据的正确性以及数据的存取速度。本发明解决其技术问题所采用的技术方案之一是构造一种数据存取装置,其包含一闪存控制器;一镜射装置(means);以及一闪存,包含至少一数据区以及至少一镜射区,其中该镜射装置在该闪存控制器写入数据至该数据区时,复制该数据以形成镜射数据至该镜射区,且该闪存控制器在该数据被读取时,若判断该数据具有错误,则读取该镜射数据以取代该数据。进一步地,上述本发明所述的数据存取装置,其中该镜射装置以韧体实施。进一步地,上述本发明所述的数据存取装置,且该闪存控制器在该数据被读取时,若判断该数据具有错误时且该错误无法被修复时,才读取该镜射数据以取代该数据。进一步地,上述本发明所述的数据存取装置,其中该闪存包含多个数据区以及多个镜射区,其中该闪存控制器在写入该数据至该闪存时,将该数据分散成多个部份以写入该些数据区,该镜射装置复制该数据的该些部份并存入该些镜射区。进一步地,上述本发明所述的数据存取装置,其中该闪存包含多个镜射区,其中该闪存控制器将该镜射数据分散成多个部份并存入该些镜射区。进一步地,上述本发明所述的数据存取装置,其中该闪存控制器读取该镜射数据并判断该镜射数据是否错误,若该镜射数据正确则以该镜射数据取代该数据。本发明解决其技术问题所采用的技术方案之二是构造一种数据存取装置,包含一闪存控制器;一镜射装置;一第一闪存,包含至少一数据区;以及一第二闪存,包含供该第一闪存使用的至少一镜射区;该镜射装置在该闪存控制器写入数据至该数据区时,复制该数据以形成镜射数据至该镜射区,且该闪存控制器在该数据被读取时,若判断该数据具有错误时,则读取该镜射数据以取代该数据。进一步地,上述本发明所述的数据存取装置,其中该镜射装置以韧体实施。进一步地,上述本发明所述的数据存取装置,且该闪存控制器在该数据被读取时,若判断该数据具有错误时且该错误无法被修复时,才读取该镜射数据以取代该数据。进一步地,上述本发明所述的数据存取装置,其中该闪存包含多个数据区以及多个镜射区,其中该闪存控制器在写入该数据至该闪存时,将该数据分散成多个部份以写入该些数据区,该镜射装置复制该数据的该些部份并存入该些镜射区。进一步地,上述本发明所述的数据存取装置,其中该闪存包含多个镜射区,其中该镜射装置将该镜射数据分散成多个部份并存入该些镜射区。进一步地,上述本发明所述的数据存取装置,其中该镜射区涵盖了该第二闪存的所有储存空间。进一步地,上述本发明所述的数据存取装置,其中该闪存控制器读取该镜射数据并判断该镜射数据是否错误,若该镜射数据正确则以该镜射数据取代该数据。本发明解决其技术问题所采用的技术方案之三是构造一种数据存取装置,包含一闪存控制器;一镜射装置;一第一闪存;一第二闪存,包含至少一数据区;以及一第三闪存,包含供该第二闪存使用的至少一镜射区;该镜射装置在该闪存控制器写入数据至该第二闪存时,复制该数据以形成镜射数据至该镜射区,且该闪存控制器在该数据被读取时,若判断该数据具有错误时,则读取该镜射数据以取代该数据。进一步地,上述本发明所述的数据存取装置,其中该第一闪存的品质较该第二闪存为佳。进一步地,上述本发明所述的数据存取装置,其中该第一闪存为单层单元(SingleLevelCell,SLC)的闪存,该第二闪存为多层单元(MultiLevelCell,MLC)的闪存。进一步地,上述本发明所述的数据存取装置,其中当欲写入一第一数据至第一闪存的一特定储存单元时,该镜射装置复制该第一数据以产生一第一镜射数据至该镜射区,其中该特定储存单元先前发生过错误的位数大于一门槛值的存取错误。进一步地,上述本发明所述的数据存取装置,其中该门槛值低于该闪存的错误更正能力。本发明解决其技术问题所采用的技术方案之四是构造一种闪存的数据存取方法,包含(a)写入数据至一闪存的一数据区;(b)复制该数据以形成一镜射数据至该闪存的镜射区,(c)其中当该数据被读取时,若判断该数据具有错误,则读取该镜射数据以取代该数据。本发明解决其技术问题所采用的技术方案之五是构造一种闪存的数据存取方法,包含(a)写入数据至一第一闪存的至少一数据区;(b)复制该数据以形成一镜射数据至一第二闪存的至少一镜射区,该镜射区供该第一闪存使用;以及(c)其中当该数据被读取时,若判断该数据具有错误,则读取该镜射数据以取代该数据。实施本发明的数据存取装置及数据存取方法,具有以下有益效果不依赖ECC来做侦错的动作,可加速闪存的存取动作且可保留正确的数据在镜射区中以提高数据的正确性,故可改善习知技术的问题。下面将结合附图及实施例对本发明作进一步说明,附图中图1是本发明第一实施例的数据存取装置的方框图2是本发明第二实施例的数据存取装置的方框图3是本发明第三实施例的数据存取装置的方框图。主要组件符号说明100、200、300数据存取装置101、201、301数据传输接口103、203、303缓冲器105A闪存107B闪存109C闪存IllA闪存控制器11闪存控制器115C闪存控制器117A镜射装置Il9B镜射装置121C镜射装置123、223、323处理器125、225、325总线127131、216、220、316数据区133137、318镜射区205、305镜射装置207Ai闪存控制器209A2闪存控制器2IlB1闪存控制器213闪存控制器215A!闪存217A2闪存2WA1闪存镜射区219B!闪存221闪存222B,闪存镜射区307D闪存控制器309E闪存控制器3IlF闪存控制器315D闪存317E闪存319F闪存具体实施方式在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的组件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及后续的申请专利范围并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或透过其它装置或连接手段间接地电气连接至该第二装置。图1是本发明第一实施例的数据存取装置100的方框图。如图1所示,数据存取装置100包含一数据传输接口101、一缓冲器103、一A闪存(flashmemory)105、一B闪存107、一C闪存109、一A闪存控制器111、一B闪存控制器113、一C闪存控制器115、一A镜射装置117、一B镜射装置119、一C镜射装置121、一处理器123以及一总线125。在欲将一数据写入闪存105109时,处理器123会透过数据传输接口接收数据(例如自一服务器或一主机接收数据)并透过总线125储存至缓冲器103中。然后闪存控制器111115会分别将缓冲器103中的数据复制并透过总线125写入到闪存105109。闪存105109分别包含数据区127131以及镜射区133137。闪存控制器111115将缓冲器103中的数据复制并写入到闪存105109的数据区127131中。镜射装置117121在闪存控制器111115写入数据至数据区127131时,复制欲写入数据区127131的数据以形成镜射数据并储存至镜射区133137,且闪存控制器111115在数据被读取时,利用与该数据相对应的ECC判断该数据是否正确,若判断该数据具有错误,则可自镜射区读取该笔数据相对应的镜射数据,闪存控制器并利用该笔镜射数据相对应的ECC判断该镜射数据是否正确(或可利用ECC回复为正确数据),若判断该镜射数据正确,则可以该镜射数据取代该数据回复给主机或服务器。或者,更仔细地说,闪存控制器111115在数据被读取时,若判断数据具有的错误多于可修复的范围(例如大于ECC可修复的位数),才读取镜射数据以取代数据。上述的镜射装置117121可以软件、韧体或硬件的方式实施。除此之外,闪存105109可包含多个数据区以及多个镜射区,而内存控制器可使用先分割数据再镜射的方式,或是先镜射再分割数据的方式来处理欲写入闪存的数据。详细来说,分割数据再镜射的方式指闪存控制器111115在写入数据至闪存105109时,将数据分散成多个部份以写入数据区127131,镜射装置117121复制数据被分割而成的部份并存入镜射区133137当中。而先镜射再分割数据的方式指镜射装置117121将数据复制完后,闪存控制器111115将镜射数据分散成多个部份并存入镜射区133137。无论是单一数据区、镜射区或是多数数据区、镜射区,数据在写入时都需要建立一地址查找表(addresstable)以供后续读取数据的对照以及参考。此类地址查找表的功能以及相关运作皆为熟知此项技艺者所知悉,故在此不再赘述。图2是本发明第二实施例的数据存取装置200的方框图。数据存取装置200包含一数据传输接口201、一缓冲器203、一镜射装置205、一、闪存控制器207、一A2闪存控制器209、一Bi闪存控制器211、一化闪存控制器213、一Ai闪存215、一A2闪存217、一Bi闪存219、一化闪存221、处理器223以及总线225。数据存取装置200与数据存取装置100的差别在于数据存取装置100的数据区与其对应的镜射区在同一闪存中,而数据存取装置200的数据区与其对应的镜射区在不同闪存中。举例来说,A1闪存215的数据区216在A1闪存215中,然而A1闪存215的镜射区218却在A2闪存217当中。同样的,B1闪存219的数据区220在B1闪存219中,然而B1闪存219的镜射区222却在化闪存221当中。A2闪存217和化闪存221中的镜射区218和222可以只各自占A2闪存217和B2闪存221的一部份,或者涵盖A2闪存217和化闪存221所有可用的储存空间。亦即镜射区的空间大小可为闪存可用空间的一部份,或者等于闪存的可用空间。须注意的是,上述数据存取装置100和200的组件,组件数目以及结构仅用以说明,并非用以限定本发明。举例来说,数据存取装置100和200的每一闪存都搭配一闪存控制器,实际上不同闪存亦可共享闪存控制器。除此之外,数据存取装置100每一闪存都搭配一镜射装置,而数据存取装置200所有闪存仅搭配一镜射装置,这样的配置方式亦只用于说明而非构成限制条件。图3是本发明第三实施例的数据存取装置300的方框图。数据存取装置300包含一数据传输接口301、一缓冲器303、一镜射装置305、一D闪存控制器307、一E闪存控制器309、一F闪存控制器311、一D闪存315、一E闪存317、一F闪存319、处理器323以及总线325。在此实施例中,D闪存315为一品质较佳的闪存,例如为单层单元(SingleLevelCell,SLC)的闪存,其发生存取错误的机率较低。而E闪存317为一品质较差的闪存,例如为多层单元(MultiLevelCe11,MLC)的闪存或次级(downgrade)内存,其发生存取错误的机率较高。在本实施例中,镜射装置305选择性地对欲储存至数据存取装置300的数据进行镜射处理。例如,一主机(未示于图3中)欲将一数据d储存至数据存取装置300时,处理器323依据数据d所对应的逻辑地址LAd判断出数据d应储存至D闪存315中,由于D闪存315为品质较佳、发生存取错误机率较低的闪存,故镜射装置305不对数据d进行镜射处理。而当主机欲将一数据e储存至数据存取装置300时,处理器323依据数据e所对应的逻辑地址LA6判断出数据e应储存至E闪存317的数据区316中,由于E闪存317为品质较差、发生存取错误机率较高的闪存,故镜射装置305会对数据e进行镜射处理。镜射装置305会复制数据e产生镜射数据e’,并将镜射数据e’储存至F闪存319的镜射区318中。请注意到,在一实施例中,可分别将数据e与镜射数据e’储存至E闪存317与F闪存319相对应的实体地址中。例如,将数据e储存至E闪存317的实体地址0x0001中,而将镜射数据e’储存至F闪存319的实体地址0x0001中。如此一来,一旦发现读取储存在E闪存317的实体地址0x0001的数据e发生读取错误时,E闪存控制器309将该读取错误回报给处理器323,处理器323可直接控制F闪存控制器311读取储存在其实体地址0x0001的镜射数据e’,而无需查找镜射数据e’的实体储存地址。如此一来,即可增加处理速度。然而此实施例并非本发明的限制,亦可利用一查找表储存数据e与镜射数据e’的实体储存地址,并利用该查找表及数据e的实体储存地址(镜射数据e’的实体储存地址)找出镜射数据e’的实体储存地址(数据e的实体储存地址)。在另一实施例中,当主机欲将一数据d储存至数据存取装置300时,处理器323依据数据d所对应的逻辑地址LAd判断出数据d应储存至D闪存315中。D闪存控制器307依据逻辑地址LAd判断出数据d应储存至D闪存315的实体储存地址PAd。而D闪存控制器307判断出实体储存地址PAd系位于一个较容易发生存取错误的实体储存单元,例如,该储存单元(一区块、一储存页等)之前发生过可以回复的ECC错误,然而其发生错误的位数已经逼近ECC的更正能力上限(或超过一门槛值)。例如,ECC的更正能力上限为8个位,而该储存单元之前发生过6个位的存取错误。为了避免发生无法利用ECC回复的错误,D闪存307回报处理器323,处理器323控制镜射装置305复制数据d产生镜射数据d’,并控制F闪存控制器311将镜射数据d’储存至F闪存319的镜射区318。处理器323可建立一查找表说明数据d与镜射数据d’的实体储存地址的对应关系。利用镜射数据的方式,类似于先前的实施例,于此不再赘述。根据上述实施例,熟知此项技艺者可轻易得到相对应的数据存取方法,故在此不再赘述。藉由上述的处理方式,由于可保留镜射数据在镜射区中以加强对数据的保护能力,故可改善习知技术的问题。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。权利要求1.一种数据存取装置,其特征在于,包含一闪存控制器;一镜射装置(means);以及一闪存,包含至少一数据区以及至少一镜射区,其中该镜射装置在该闪存控制器写入数据至该数据区时,复制该数据以形成一镜射数据至该镜射区,且该闪存控制器在该数据被读取时,若判断该数据具有错误,则读取该镜射数据以取代该数据。2.根据权利要求1所述的数据存取装置,其特征在于,其中该镜射装置以韧体实施。3.根据权利要求1所述的数据存取装置,其特征在于,且该闪存控制器在该数据被读取时,若判断该数据具有错误时且该错误无法被修复时,才读取该镜射数据以取代该数据。4.根据权利要求1所述的数据存取装置,其特征在于,其中该闪存包含多个数据区以及多个镜射区,其中该闪存控制器在写入该数据至该闪存时,将该数据分散成多个部份以写入该些数据区,该镜射装置复制该数据的该些部份并存入该些镜射区。5.根据权利要求1所述的数据存取装置,其特征在于,其中该闪存包含多个镜射区,其中该闪存控制器将该镜射数据分散成多个部份并存入该些镜射区。6.根据权利要求1所述的数据存取装置,其特征在于,其中该闪存控制器读取该镜射数据并判断该镜射数据是否错误,若该镜射数据正确则以该镜射数据取代该数据。7.一种数据存取装置,其特征在于,包含一闪存控制器;一镜射装置;一第一闪存,包含至少一数据区;以及一第二闪存,包含供该第一闪存使用的至少一镜射区;该镜射装置在该闪存控制器写入数据至该数据区时,复制该数据以形成一镜射数据至该镜射区,且该闪存控制器在该数据被读取时,若判断该数据具有错误时,则读取该镜射数据以取代该数据。8.根据权利要求7所述的数据存取装置,其特征在于,其中该镜射装置以韧体实施。9.根据权利要求7所述的数据存取装置,其特征在于,且该闪存控制器在该数据被读取时,若判断该数据具有错误时且该错误无法被修复时,才读取该镜射数据以取代该数据。10.根据权利要求7所述的数据存取装置,其特征在于,其中该闪存包含多个数据区以及多个镜射区,其中该闪存控制器在写入该数据至该闪存时,将该数据分散成多个部份以写入该些数据区,该镜射装置复制该数据的该些部份并存入该些镜射区。11.根据权利要求7所述的数据存取装置,其特征在于,其中该闪存包含多个镜射区,其中该镜射装置将该镜射数据分散成多个部份并存入该些镜射区。12.根据权利要求7所述的数据存取装置,其特征在于,其中该镜射区涵盖了该第二闪存的所有储存空间。13.根据权利要求7所述的数据存取装置,其特征在于,其中该闪存控制器读取该镜射数据并判断该镜射数据是否错误,若该镜射数据正确则以该镜射数据取代该数据。14.一种数据存取装置,其特征在于,包含一闪存控制器;一镜射装置;一第一闪存;一第二闪存,包含至少一数据区;以及一第三闪存,包含供该第二闪存使用的至少一镜射区;该镜射装置在该闪存控制器写入数据至该第二闪存时,复制该数据以形成镜射数据至该镜射区,且该闪存控制器在该数据被读取时,若判断该数据具有错误时,则读取该镜射数据以取代该数据。15.根据权利要求14所述的数据存取装置,其特征在于,其中该第一闪存的品质较该第二闪存为佳。16.根据权利要求15所述的数据存取装置,其特征在于,其中该第一闪存为单层单元的闪存,该第二闪存为多层单元的闪存。17.根据权利要求14所述的数据存取装置,其特征在于,其中当欲写入一第一数据至第一闪存的一特定储存单元时,该镜射装置复制该第一数据以产生一第一镜射数据至该镜射区,其中该特定储存单元先前发生过错误的位数大于一门槛值的存取错误。18.根据权利要求17所述的数据存取装置,其特征在于,其中该门槛值低于该闪存的错误更正能力。19.一种闪存的数据存取方法,其特征在于,包含(a)写入数据至一闪存的一数据区;(b)复制该数据以形成一镜射数据至该闪存的镜射区,(c)其中当该数据被读取时,若判断该数据具有错误,则读取该镜射数据以取代该数据。20.一种闪存的数据存取方法,其特征在于,包含(a)写入数据至一第一闪存的至少一数据区;(b)复制该数据以形成一镜射数据至一第二闪存的至少一镜射区,该镜射区供该第一闪存使用;以及(c)其中当该数据被读取时,若判断该数据具有错误,则读取该镜射数据以取代该数据。全文摘要本发明涉及一种数据存取装置,其包含一闪存控制器;一镜射装置(means);以及一闪存,包含至少一数据区以及至少一镜射区,其中该镜射装置在该闪存控制器写入数据至该数据区时,复制该数据以形成镜射数据至该镜射区,且该闪存控制器在该数据被读取时,若判断该数据具有错误,则读取该镜射数据以取代该数据。本发明还涉及一种数据存取方法。本发明不依赖错误更正码来做侦错的动作,可加速闪存的存取动作且可保留正确的数据在镜射区中以提高数据的正确性。文档编号G11C16/06GK102034537SQ200910179280公开日2011年4月27日申请日期2009年9月25日优先权日2009年9月25日发明者穆忠恕申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1