《数据存取方法以及使用此方法的数据存取系统.pdf》由会员分享,可在线阅读,更多相关《数据存取方法以及使用此方法的数据存取系统.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101989217A43申请公布日20110323CN101989217ACN101989217A21申请号200910109200X22申请日20090731G06F11/0720060171申请人慧帝科技深圳有限公司地址518040广东省深圳市福田区车公庙福田天安科技创业园B901、B902、B903申请人慧荣科技股份有限公司72发明人蓝仕宏许胜一74专利代理机构深圳市顺天达专利商标代理有限公司44217代理人易钊54发明名称数据存取方法以及使用此方法的数据存取系统57摘要本发明涉及一种数据存取方法,包含A对多个数据单位施行一逻辑运算以产生至少一逻辑运算数据单位;B对该逻。
2、辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据单位进行一反逻辑运算以得到一回复数据单位;以及C当欲读取该特定数据单位且发觉该特定数据单位具有错误时,以该回复数据单位取代该特定数据单位。本发明还涉及一种数据存取系统,包含至少一储存装置,一逻辑运算装置,以及至少一储存装置控制器。本发明可利用逻辑运算来计算出回复数据,并在原始数据错误太多时以回复数据取代原始数据,以提高数据的正确度。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书7页附图4页CN101989217A1/1页21一种数据存取方法,其特征在于,包含A对多个数据单位施行一逻辑运算以产生至。
3、少一逻辑运算数据单位;B对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据单位进行一反逻辑运算以得到一回复数据单位;以及C当欲读取该特定数据单位且发觉该特定数据单位具有错误时,以该回复数据单位取代该特定数据单位。2根据权利要求1所述的数据存取方法,其特征在于,其中该C步骤在该特定数据单位的错误无法被修复时,才以该回复数据单位取代该特定数据单位。3根据权利要求1所述的数据存取方法,其特征在于,其中该逻辑运算为一异或运算。4根据权利要求1所述的数据存取方法,其特征在于,其中该些数据单位以一闪存的区块为单位。5根据权利要求4所述的数据存取方法,其特征在于,包含在所有该些数据单位被。
4、执行逻辑运算并产生该逻辑运算数据单位后才储存该逻辑运算数据单位。6根据权利要求4所述的数据存取方法,其特征在于,包含对该些数据单位的一部份执行逻辑运算并产生该逻辑运算数据单位的一部份的同时,储存该逻辑运算数据单位的该部份。7根据权利要求1所述的数据存取方法,其特征在于,其中该些数据单位以一闪存的记忆页为单位。8根据权利要求1所述的数据存取方法,其特征在于,其中该些数据单位分别储存在多个储存装置内,且该些储存装置的每一个都有相对应的一逻辑运算装置以执行该逻辑运算。9根据权利要求1所述的数据存取方法,其特征在于,其中该逻辑运算数据单位以及用以产生该逻辑运算数据单位的数据单位储存在同一储存装置中。1。
5、0根据权利要求1所述的数据存取方法,其特征在于,其中该逻辑运算数据单位以及用以产生该逻辑运算数据单位的数据单位储存在不同储存装置中。11一种数据存取系统,其特征在于,包含至少一储存装置;一逻辑运算装置,在多个数据单位被储存至该储存装置前对该些数据单位施行一逻辑运算以产生至少一逻辑运算数据单位,并对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据单位进行一反逻辑运算以得到一回复数据单位并储存至该储存装置;以及至少一储存装置控制器,用以控制该储存装置,当欲读取该特定数据单位且发觉该特定数据单位具有错误时,该储存装置控制器以该回复数据单位取代该特定数据单位。权利要求书CN1019。
6、89217A1/7页3数据存取方法以及使用此方法的数据存取系统技术领域0001本发明涉及数据通信技术领域,更具体地说,涉及一种使用逻辑运算以提高数据的正确性的数据存取方法以及使用此方法的数据存取系统。背景技术0002在旧有的储存装置中,通常利用错误更正码ERRORCORRECTINGCODE,ECC来保护储存在储存装置里的数据。举例来说,当发现储存在一储存装置中的数据有问题时,可利用与该数据相对应的ECC进行错误更正。然而利用ECC进行的错误更正有其限制,当大于一特定数据量例如N位的错误发生时,便无法利用ECC对其进行更正。而如欲增加ECC的保护能力错误更正能力的上限,则会使所需的运算量大增,。
7、因而导致存取速度变慢。在现代许多电子装置中,都使用较快速度的储存装置如闪存来取代旧有的硬盘,而使用大量的ECC来进行错误更正的作法会耗费相当多的时间、运算成本,因此不符合现代装置对快速存取的需求。发明内容0003本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种数据存取方法和系统,其使用逻辑运算来计算出回复数据,以在原始数据错误太多时以回复数据替代原始数据以提高数据的正确度。0004本发明解决其技术问题所采用的技术方案之一是构造一种数据存取方法,包含A对多个数据单位施行一逻辑运算以产生至少一逻辑运算数据单位;B对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据进行。
8、一反逻辑运算以得到一回复数据单位;以及C当欲读取该特定数据单位且发觉该特定数据单位具有错误时,以该回复数据单位取代该特定数据单位。0005本发明所述的数据存取方法,其中该C步骤在该特定数据单位的错误无法被修复时,才以该回复数据单位取代该特定数据单位。0006本发明所述的数据存取方法,其中该逻辑运算为一异或运算。0007本发明所述的数据存取方法,其中该些数据单位以一闪存的区块为单位。0008本发明所述的数据存取方法,包含在所有该些数据单位被执行逻辑运算并产生该逻辑运算数据单位后才储存该逻辑运算数据单位。0009本发明所述的数据存取方法,包含对该些数据单位的一部份执行逻辑运算并产生该逻辑运算数据单。
9、位的一部份的同时,储存该逻辑运算数据单位的该部份。0010本发明所述的数据存取方法,其中该些数据单位以一闪存的记忆页为单位。0011本发明所述的数据存取方法,其中该些数据单位分别储存在多个储存装置内,且该些储存装置的每一个都有相对应的一逻辑运算装置以执行该逻辑运算。0012本发明所述的数据存取方法,其中该逻辑运算数据单位以及用以产生该逻辑运算数据单位的数据单位储存在同一储存装置中。说明书CN101989217A2/7页40013本发明所述的数据存取方法,其中该逻辑运算数据单位以及用以产生该逻辑运算数据单位的数据单位储存在不同储存装置中。0014本发明解决其技术问题所采用的技术方案之二是构造一种。
10、数据存取系统,包含至少一储存装置;一逻辑运算装置,在多个数据单位被储存至该储存装置前对该些数据单位施行一逻辑运算以产生至少一逻辑运算数据单位,并对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据进行一反逻辑运算以得到一回复数据单位并储存至该储存装置;以及至少一储存装置控制器,用以控制该储存装置,当欲读取该特定数据单位且发觉该特定数据单位具有错误时,该储存装置控制器以该回复数据单位取代该特定数据单位。0015本发明所述的数据存取系统,其中该储存装置控制器在该特定数据单位的错误无法被修复时,才以该回复数据单位取代该特定数据单位。0016本发明所述的数据存取系统,其中该逻辑运算装。
11、置执行一异或运算。0017本发明所述的数据存取系统,其中该数据单位以一闪存的区块BLOCK为单位。0018本发明所述的数据存取系统,该储存装置控制器在所有该些数据单位被执行逻辑运算并产生该逻辑运算数据单位后才储存该逻辑运算数据单位。0019本发明所述的数据存取系统,该储存装置控制器对该些数据单位的一部份被执行逻辑运算并产生该逻辑运算数据单位的一部份的同时,将该逻辑运算数据单位的该部份储存至该储存装置。0020本发明所述的数据存取系统,其中该数据单位以一闪存的记忆页PAGE为单位。0021本发明所述的数据存取系统,其中该数据单位分别储存在多个储存装置内,且该些储存装置的每一个都有相对应的一逻辑运。
12、算装置以执行该逻辑运算。0022本发明所述的数据存取系统,其中该逻辑运算数据单位以及用以产生该逻辑运算数据单位的数据单位储存在同一储存装置中。0023本发明所述的数据存取系统,其中该逻辑运算数据单位以及用以产生该逻辑运算数据单位的数据单位储存在不同储存装置中。0024实施本发明的技术方案,具有以下有益效果可利用逻辑运算来计算出回复数据,并在原始数据错误太多时以回复数据取代原始数据,以提高数据的正确度。附图说明0025下面将结合附图及实施例对本发明作进一步说明,附图中0026图1是本发明的第一实施例的数据存取系统;0027图2是本发明的第二实施例的数据存取系统;0028图3是本发明的第三实施例的。
13、数据存取系统;0029图4是本发明的实施例的资料存取方法。0030【主要组件符号说明】0031100、200数据存取系统0032101、201、301数据传输接口0033103、203、303缓冲器0034105、205、305处理器说明书CN101989217A3/7页50035107逻辑运算装置0036108逻辑运算回复模块0037109、207、313A储存装置0038111、209、315B储存装置0039113C储存装置0040115、211、317P储存装置0041117、219、307A储存装置控制器0042119、221、309B储存装置控制器0043121C储存装置控制器00。
14、44123、223、311P储存装置控制器0045213A逻辑运算装置0046215B逻辑运算装置0047217P逻辑运算装置0048219A储存装置控制器0049225A1数据单元0050227A2数据单元0051229AP数据单元0052231B1数据单元0053233B2数据单元0054235BP数据单元0055237C1数据单元0056239C2数据单元0057241CP数据单元0058302、304总线0059319、321、323逻辑运算装置具体实施方式0060在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的组件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的。
15、名词来称呼同一个组件。本说明书及后续的申请专利范围并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”为一开放式的用语,故应解释成包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或透过其它装置或连接手段间接地电气连接至该第二装置。0061图1是本发明的第一实施例的数据存取系统100。如图1所示,数据存取系统100包含一数据传输接口101、一缓冲器103、一处理器105、一逻辑运算装置107、一A储存装置109。
16、、一B储存装置111、一C储存装置113、一P储存装置115、一A储存装置控制器117、一B储存装置控制器119、一C储存装置控制121、一P储存装置控制器123。数据存取系统100在欲将数据单位A、B、C分别写入至A储存装置109、B储存装置111和C储存装置113说明书CN101989217A4/7页6时,会先透过数据传输接口101例如USB自一主机HOST,未示于图1接收数据并暂存至缓冲器103。并利用处理器105自缓冲器103读取数据A、B、C,且处理器105控制逻辑运算装置107对数据A、B、C执行一逻辑运算以产生一逻辑运算数据单位P。0062此实施例中,逻辑运算为一异或运算但亦可以。
17、其它逻辑运算取代,因此数据单位A、B、C和逻辑运算数据单位P的关系式可如公式一所示0063PABC公式一0064在做完这些运算后,数据单位A、B、C和逻辑运算数据单位P会分别被储存至A储存装置109、B储存装置111、C储存装置113以及P储存装置115。逻辑运算数据单位P可视为数据单位A、B、C的检查码PARITYCHECKCODE。逻辑运算数据单位P的数据长度依据数据单位A、B、C的数据长度而定,例如数据单位A、B、C均为一个位BIT,则逻辑运算数据单位P亦为一个位;若数据单位A、B、C均为512字节BYTE,则逻辑运算数据单位P亦为512字节BYTE。在此例中,储存装置皆为闪存FLASH。
18、,数据单位A、B、C和逻辑运算数据单位P可以区块BLOCK、记忆页PAGE、记忆区段SECTOR或任意数据长度为单位,但并非用以限定本发明。0065在进行逻辑运算以产生逻辑运算数据单位P时以数据单位A、B、C均为512字节为例,逻辑运算装置107可利用数据单位A、B、C的第一个位产生逻辑运算数据单位P的第一个位、利用数据单位A、B、C的第二个位产生逻辑运算数据单位P的第二个位利用数据单位A、B、C的第512个位产生逻辑运算数据单位P的第512个位。逻辑运算装置107亦可以特定方式产生逻辑运算数据单位P,例如逻辑运算装置107可利用数据单位A的第一个位、数据单位B的第二个位、数据单位C的第三个位。
19、产生逻辑运算数据单位P的第一个位;利用数据单位A的第二个位、数据单位B的第三个位、数据单位C的第四个位产生逻辑运算数据单位P的第二个位利用数据单位A的第512个位、数据单位B的第一个位、数据单位C的第二个位产生逻辑运算数据单位P的第512个位。也就是说,逻辑运算装置107可利用数据单位A、B、C中的第N个位来产生数据单位P的第N个位,但也可以数据单位A、B、C中的第A,B,C个位来产生数据单位P的第D个位。其中A,B,C,D,N各为不相同的正整数。0066当数据存取系统100欲读取储存在A储存装置109、B储存装置111或C储存装置113中的数据单位A、B、C时,A储存装置控制器117、B储存。
20、装置控制器119或C储存装置控制器121会将数据单位A、B、C自A储存装置109、B储存装置111以及C储存装置113读出并暂存至缓冲器103并对数据单位A、B、C进行除错例如利用ECC。若对数据单位A、B或C进行除错时,发生了无法更正的错误,则其储存装置控制器会将该状况回报给处理器105,处理器105则控制逻辑运算装置107,使逻辑运算装置107中的逻辑运算回复模块108利用数据单位A、B、C和逻辑运算数据单位P分别计算出回复数据A、B、或C,其可如公式二四所述0067ABCP公式二0068BACP公式三0069CACP公式四0070更详细地说,在一实施例中,主机欲读取数据单位A,而储存装置。
21、控制器117自A储存装置109中读取数据单位A并对其进行除错例如利用ECC,而A储存装置控制器117说明书CN101989217A5/7页7发现数据单位A具有过多的错误,无法利用ECC将所有的错误更正。则A储存装置控制器117将此状况回报给处理器105,处理器105则控制B储存装置控制器119、C储存装置控制器121、P储存装置控制器123分别至B储存装置111、C储存装置113、P储存装置115读取对应于数据单位A的数据单位B、C、P,并分别利用ECC对数据单位B、C、P进行除错。若数据单位B、C、P均为正确数据或可更正为正确数据,处理器105得知该状况后则控制逻辑运算装置107,使逻辑运算。
22、装置107中的逻辑运算回复模块108利用数据单位B、C和逻辑运算数据单位P计算出回复数据A,如公式二所述。0071逻辑运算回复模块108在利用数据单位B、C和逻辑运算数据单位P计算出回复数据A时,需参照逻辑运算装置107产生逻辑运算数据单位P的规则而定。例如若逻辑运算装置107利用数据单位A、B、C的第一个位产生逻辑运算数据单位P的第一个位,则逻辑运算回复模块108利用数据单位B、C及逻辑运算数据单位P的第一个位产生回复数据A的第一个位,依此类推。0072据此,当储存在A储存装置109、B储存装置111以及C储存装置113中的数据单位A、B、C的错误太多而无法修正时,A储存装置控制器117、B。
23、储存装置控制器119以及C储存装置控制器121会分别以相对应的数据A相对应于A、B相对应于B、C相对应于C来取代原本的数据。如此一来、即使数据单位A、B、C因为错误太多而致无法修复,仍可保有正确的数据。0073此外,为方便管理,得以一特定次序放置数据单位A、B、C及逻辑运算数据单位P。例如在一实施例中,数据单位A、B、C及逻辑运算数据单位P的大小均为一记忆页,可将数据单位A、B、C及逻辑运算数据单位P分别放置在A储存装置、B储存装置、C储存装置及P储存装置的第一个实体记忆页。如此一来,当读取数据单位A时发生了无法更正的错误时,即可根据数据单位A的储存地址,快速地找出数据单位B、C及逻辑运算数据。
24、单位P。而在另一实施例中,可将数据单位A、B、C及逻辑运算数据单位P分别放置在A储存装置、B储存装置、C储存装置及P储存装置的任意实体记忆页并建立一逻辑运算对应表,记录数据单位A、B、C及逻辑运算数据单位P的储存地址,当读取数据单位A时发生了无法更正的错误时,即可查询逻辑运算对应表,找出数据单位B、C及逻辑运算数据单位P。0074在此实施例中,逻辑运算装置107可被轫体所取代,而逻辑运算回复模块108可由软件或硬件的方式来实施。除此之外,逻辑运算数据单位P不限于由数据单位A、B及C来产生,可由两个例如由数据单位A、B或者由数据单位C、B等或三个以上的数据单位来产生。0075此外,在一实施例中,。
25、数据存取系统100可更包含另一缓冲器来暂存逻辑算装置107计算出的逻辑运算数据单位P,然后在逻辑运算数据单位P达到一定量后再储存至P储存装置105。或者亦可使用缓冲器103来达到此种作用,但在此例下,缓冲器103便需较大的储存空间。0076图2是本发明的第二实施例的数据存取系统200。相较于数据存取系统100,数据存取系统200除了具有类似的数据传输接口201、缓冲器203、处理器205之外,数据存取系统200更具有一A逻辑运算装置213、一B逻辑运算装置215以及一C逻辑运算装置217。A逻辑运算装置213、B逻辑运算装置215以及C逻辑运算装置217分别耦接A储存装置控制器219、B储存装。
26、置控制器221以及C储存装置控制器223,用以分别对储存至A储存装说明书CN101989217A6/7页8置207、B储存装置209以及C储存装置211的数据进行逻辑运算。其中,A储存装置207、B储存装置209以及C储存装置211分别利用独立的通道CHANNEL与处理器205沟通。逻辑运算装置213217可以硬件的方式实施,或者以写死HARDCODE的方式,分别将程序写在A储存装置控制器219、B储存装置控制器221以及C储存装置控制器223上以达到逻辑运算装置的功能。0077此外,在数据存取系统200中A储存装置207、B储存装置209以及C储存装置211皆为闪存,而被A逻辑运算装置213。
27、、B逻辑运算装置215以及C逻辑运算装置217处理的数据单元皆为记忆页PAGE。举例来说,A逻辑运算装置213会对A储存装置207中的A1数据单元225和A2数据单元227进行逻辑运算而产生AP数据单元229。B逻辑运算装置215会对B储存装置209中的B1数据单元231和B2数据单元233进行逻辑运算而产生BP数据单元235。C逻辑运算装置217会对C储存装置211中的C1数据单元237和C2数据单元239进行逻辑运算而产生CP数据单元241。而且,参照图1中所述的动作,数据存取系统100自缓冲器103读出数据单元A、B、C并对其进行逻辑运算后才存至P储存装置115,因此需要其它的缓冲器以将。
28、逻辑运算数据P暂存后才存至P储存装置115。而数据存取系统200中,数据单元A1P2自缓冲器203被读出后,A逻辑运算装置213、B逻辑运算装置215以及C逻辑运算装置217一边对数据单元A1C2进行逻辑运算一边将相对应的逻辑运算数据单元EG、AP、BP、CP分别存至A储存装置207、B储存装置209、C储存装置211,因此不需要容量较大的缓冲器或额外的缓冲器。0078图3是本发明的第三实施例的数据存取系统300。数据存取系统300与数据存取系统200的架构类似,具有类似的数据传输接口301、缓冲器303、处理器305、A储存装置控制器307、B储存装置控制器309、P储存装置控制器311、A。
29、储存装置313、B储存装置315、P储存装置317以及逻辑运算装置319、321以及323,如图3A所示。数据存取系统300与数据存取系统200不同的地方在于逻辑运算装置319323以记忆页为单位来处理A储存装置313、B储存装置315以及P储存装置317的数据,亦即同一个区块中的不同记忆页分别储存在A储存装置313以及B储存装置315,且逻辑运算装置319、321以及323分别对储存在A储存装置313以及B储存装置315的记忆页进行逻辑运算后,将逻辑运算数据储存在P储存装置317中。0079如图3B所示,一区块的记忆页PAGE0储存在A储存装置313中、记忆页PAGE1储存在B储存装置315。
30、中,而根据记忆页PAGE0和PAGE1计算出的逻辑运算记忆页P0储存在P储存装置317当中。同样的,该区块的记忆页PAGE2储存在A储存装置313中、记忆页PAGE3储存在B储存装置315中,而根据记忆页PAGE2和PAGE3计算出的逻辑运算记忆页P1储存在P储存装置317当中。这样的架构的优点在于,将同一数据区块中的记忆页储存在不同的区块中,如此一来即使有一储存装置损毁,也不会让同一区块的所有页面所储存的数据损毁。而在此实施例中,除了用以数据传输接口、缓冲器和储存装置的总线302之外,各逻辑运算装置之间可更增加一总线304来作为彼此沟通和传输数据的用。0080同样的,逻辑运算装置319323。
31、可以硬件的方式实施,或者以写死HARDCODE的方式,分别将程序写在A储存装置控制器313、B储存装置控制器315以及P储存装置控制器317上以达到逻辑运算装置的功能。0081前述的数据存取系统仅用以举例,并非用以限定本发明,举例来说,储存装置并不说明书CN101989217A7/7页9限定于闪存,而用以处理的数据单位亦不限于记忆页或区块。且逻辑运算装置的配置方式亦不受前述实施例的限制,举例来说数据存取系统100的逻辑运算装置的配置方式可运用在数据存取系统200和300。同样的数据存取系统200和300的逻辑运算装置的配置方式可运用在其它数据存取系统上。0082图4是本发明的实施例的资料存取方。
32、法。此数据存取方法包含0083步骤4010084对多个数据单位例如闪存的区块或记忆页施行一逻辑运算例如异或运算以产生至少一逻辑运算数据单位。0085步骤4030086对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据进行一反逻辑运算以得到一回复数据单位。例如在图1所示的实施例中,利用公式二对数据单位B、C和逻辑运算数据单位P进行反逻辑运算而得到回复数据单位A。0087步骤4050088当欲读取数据单位其中的特定数据单位且发觉特定数据单位具有错误时,以回复数据单位取代特定数据单位。0089根据本发明的实施例的资料存取方法的其它详细技术特征已揭露于上述的实施例中,故在此不再赘述。0090根据上述的实施例,可利用如异或运算的逻辑运算来计算出回复数据,并在原始数据错误太多时以回复数据取代原始数据,以提高数据的正确度。0091以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。说明书CN101989217A1/4页10图1说明书附图CN101989217A2/4页11图2说明书附图CN101989217A3/4页12图3说明书附图CN101989217A4/4页13图4说明书附图。