数据存取方法以及使用此方法的数据存取系统.pdf

上传人:小** 文档编号:1281490 上传时间:2018-04-12 格式:PDF 页数:13 大小:484.11KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910109200.X

申请日:

2009.07.31

公开号:

CN101989217A

公开日:

2011.03.23

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 11/07申请公布日:20110323|||实质审查的生效IPC(主分类):G06F 11/07申请日:20090731|||公开

IPC分类号:

G06F11/07

主分类号:

G06F11/07

申请人:

慧帝科技(深圳)有限公司; 慧荣科技股份有限公司

发明人:

蓝仕宏; 许胜一

地址:

518040 广东省深圳市福田区车公庙福田天安科技创业园B901、B902、B903

优先权:

专利代理机构:

深圳市顺天达专利商标代理有限公司 44217

代理人:

易钊

PDF下载: PDF下载
内容摘要

本发明涉及一种数据存取方法,包含:(a)对多个数据单位施行一逻辑运算以产生至少一逻辑运算数据单位;(b)对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据单位进行一反逻辑运算以得到一回复数据单位;以及(c)当欲读取该特定数据单位且发觉该特定数据单位具有错误时,以该回复数据单位取代该特定数据单位。本发明还涉及一种数据存取系统,包含至少一储存装置,一逻辑运算装置,以及至少一储存装置控制器。本发明可利用逻辑运算来计算出回复数据,并在原始数据错误太多时以回复数据取代原始数据,以提高数据的正确度。

权利要求书

1: 一种数据存取方法, 其特征在于, 包含 : (a) 对多个数据单位施行一逻辑运算以产生至少一逻辑运算数据单位 ; (b) 对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数据 单位进行一反逻辑运算以得到一回复数据单位 ; 以及 (c) 当欲读取该特定数据单位且发觉该特定数据单位具有错误时, 以该回复数据单位 取代该特定数据单位。
2: 根据权利要求 1 所述的数据存取方法, 其特征在于, 其中该 (c) 步骤在该特定数据单 位的错误无法被修复时, 才以该回复数据单位取代该特定数据单位。
3: 根据权利要求 1 所述的数据存取方法, 其特征在于, 其中该逻辑运算为一异或运算。
4: 根据权利要求 1 所述的数据存取方法, 其特征在于, 其中该些数据单位以一闪存的 区块为单位。
5: 根据权利要求 4 所述的数据存取方法, 其特征在于, 包含 : 在所有该些数据单位被执 行逻辑运算并产生该逻辑运算数据单位后才储存该逻辑运算数据单位。
6: 根据权利要求 4 所述的数据存取方法, 其特征在于, 包含 : 对该些数据单位的一部份 执行逻辑运算并产生该逻辑运算数据单位的一部份的同时, 储存该逻辑运算数据单位的该 部份。
7: 根据权利要求 1 所述的数据存取方法, 其特征在于, 其中该些数据单位以一闪存的 记忆页为单位。
8: 根据权利要求 1 所述的数据存取方法, 其特征在于, 其中该些数据单位分别储存在 多个储存装置内, 且该些储存装置的每一个都有相对应的一逻辑运算装置以执行该逻辑运 算。
9: 根据权利要求 1 所述的数据存取方法, 其特征在于, 其中该逻辑运算数据单位以及 用以产生该逻辑运算数据单位的数据单位储存在同一储存装置中。
10: 根据权利要求 1 所述的数据存取方法, 其特征在于, 其中该逻辑运算数据单位以及 用以产生该逻辑运算数据单位的数据单位储存在不同储存装置中。
11: 一种数据存取系统, 其特征在于, 包含 : 至少一储存装置 ; 一逻辑运算装置, 在多个数据单位被储存至该储存装置前对该些数据单位施行一逻辑 运算以产生至少一逻辑运算数据单位, 并对该逻辑运算数据单位以及该些数据单位中除了 一特定数据单位之外的其它数据单位进行一反逻辑运算以得到一回复数据单位并储存至 该储存装置 ; 以及 至少一储存装置控制器, 用以控制该储存装置, 当欲读取该特定数据单位且发觉该特 定数据单位具有错误时, 该储存装置控制器以该回复数据单位取代该特定数据单位。

说明书


数据存取方法以及使用此方法的数据存取系统

    技术领域 本发明涉及数据通信技术领域, 更具体地说, 涉及一种使用逻辑运算以提高数据 的正确性的数据存取方法以及使用此方法的数据存取系统。
     背景技术 在旧有的储存装置中, 通常利用错误更正码 (Error Correcting Code, ECC) 来保 护储存在储存装置里的数据。举例来说, 当发现储存在一储存装置中的数据有问题时, 可 利用与该数据相对应的 ECC 进行错误更正。然而利用 ECC 进行的错误更正有其限制, 当大 于一特定数据量 ( 例如 : N 位 ) 的错误发生时, 便无法利用 ECC 对其进行更正。而如欲增加 ECC 的保护能力 ( 错误更正能力的上限 ), 则会使所需的运算量大增, 因而导致存取速度变 慢。在现代许多电子装置中, 都使用较快速度的储存装置 ( 如 : 闪存 ) 来取代旧有的硬盘, 而使用大量的 ECC 来进行错误更正的作法会耗费相当多的时间、 运算成本, 因此不符合现 代装置对快速存取的需求。
     发明内容 本发明要解决的技术问题在于, 针对现有技术的上述缺陷, 提供一种数据存取方 法和系统, 其使用逻辑运算来计算出回复数据, 以在原始数据错误太多时以回复数据替代 原始数据以提高数据的正确度。
     本发明解决其技术问题所采用的技术方案之一是 : 构造一种数据存取方法, 包含 : (a) 对多个数据单位施行一逻辑运算以产生至少一逻辑运算数据单位 ; (b) 对该逻辑运算 数据单位以及该些数据单位中除了一特定数据单位之外的其它数据进行一反逻辑运算以 得到一回复数据单位 ; 以及 (c) 当欲读取该特定数据单位且发觉该特定数据单位具有错误 时, 以该回复数据单位取代该特定数据单位。
     本发明所述的数据存取方法, 其中该 (c) 步骤在该特定数据单位的错误无法被修 复时, 才以该回复数据单位取代该特定数据单位。
     本发明所述的数据存取方法, 其中该逻辑运算为一异或运算。
     本发明所述的数据存取方法, 其中该些数据单位以一闪存的区块为单位。
     本发明所述的数据存取方法, 包含 : 在所有该些数据单位被执行逻辑运算并产生 该逻辑运算数据单位后才储存该逻辑运算数据单位。
     本发明所述的数据存取方法, 包含 : 对该些数据单位的一部份执行逻辑运算并产 生该逻辑运算数据单位的一部份的同时, 储存该逻辑运算数据单位的该部份。
     本发明所述的数据存取方法, 其中该些数据单位以一闪存的记忆页为单位。
     本发明所述的数据存取方法, 其中该些数据单位分别储存在多个储存装置内, 且 该些储存装置的每一个都有相对应的一逻辑运算装置以执行该逻辑运算。
     本发明所述的数据存取方法, 其中该逻辑运算数据单位以及用以产生该逻辑运算 数据单位的数据单位储存在同一储存装置中。
     本发明所述的数据存取方法, 其中该逻辑运算数据单位以及用以产生该逻辑运算 数据单位的数据单位储存在不同储存装置中。
     本发明解决其技术问题所采用的技术方案之二是 : 构造一种数据存取系统, 包含 : 至少一储存装置 ; 一逻辑运算装置, 在多个数据单位被储存至该储存装置前对该些数据单 位施行一逻辑运算以产生至少一逻辑运算数据单位, 并对该逻辑运算数据单位以及该些数 据单位中除了一特定数据单位之外的其它数据进行一反逻辑运算以得到一回复数据单位 并储存至该储存装置 ; 以及至少一储存装置控制器, 用以控制该储存装置, 当欲读取该特定 数据单位且发觉该特定数据单位具有错误时, 该储存装置控制器以该回复数据单位取代该 特定数据单位。
     本发明所述的数据存取系统, 其中该储存装置控制器在该特定数据单位的错误无 法被修复时, 才以该回复数据单位取代该特定数据单位。
     本发明所述的数据存取系统, 其中该逻辑运算装置执行一异或运算。
     本发明所述的数据存取系统, 其中该数据单位以一闪存的区块 (block) 为单位。
     本发明所述的数据存取系统, 该储存装置控制器在所有该些数据单位被执行逻辑 运算并产生该逻辑运算数据单位后才储存该逻辑运算数据单位。 本发明所述的数据存取系统, 该储存装置控制器对该些数据单位的一部份被执行 逻辑运算并产生该逻辑运算数据单位的一部份的同时, 将该逻辑运算数据单位的该部份储 存至该储存装置。
     本发明所述的数据存取系统, 其中该数据单位以一闪存的记忆页 (page) 为单位。
     本发明所述的数据存取系统, 其中该数据单位分别储存在多个储存装置内, 且该 些储存装置的每一个都有相对应的一逻辑运算装置以执行该逻辑运算。
     本发明所述的数据存取系统, 其中该逻辑运算数据单位以及用以产生该逻辑运算 数据单位的数据单位储存在同一储存装置中。
     本发明所述的数据存取系统, 其中该逻辑运算数据单位以及用以产生该逻辑运算 数据单位的数据单位储存在不同储存装置中。
     实施本发明的技术方案, 具有以下有益效果 : 可利用逻辑运算来计算出回复数据, 并在原始数据错误太多时以回复数据取代原始数据, 以提高数据的正确度。
     附图说明
     下面将结合附图及实施例对本发明作进一步说明, 附图中 :
     图 1 是本发明的第一实施例的数据存取系统 ;
     图 2 是本发明的第二实施例的数据存取系统 ;
     图 3 是本发明的第三实施例的数据存取系统 ;
     图 4 是本发明的实施例的资料存取方法。
     【主要组件符号说明】
     100、 200 数据存取系统
     101、 201、 301 数据传输接口
     103、 203、 303 缓冲器
     105、 205、 305 处理器107 逻辑运算装置 108 逻辑运算回复模块 109、 207、 313A 储存装置 111、 209、 315B 储存装置 113C 储存装置 115、 211、 317P 储存装置 117、 219、 307A 储存装置控制器 119、 221、 309B 储存装置控制器 121C 储存装置控制器 123、 223、 311P 储存装置控制器 213A 逻辑运算装置 215B 逻辑运算装置 217P 逻辑运算装置 219A 储存装置控制器 225A1 数据单元 227A2 数据单元 229AP 数据单元 231B1 数据单元 233B2 数据单元 235BP 数据单元 237C1 数据单元 239C2 数据单元 241CP 数据单元 302、 304 总线 319、 321、 323 逻辑运算装置具体实施方式
     在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的组件。 所属领 域中具有通常知识者应可理解, 硬件制造商可能会用不同的名词来称呼同一个组件。本说 明书及后续的申请专利范围并不以名称的差异来作为区分组件的方式, 而是以组件在功能 上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的 “包含” 为一开 放式的用语, 故应解释成’ 包含但不限定于” 。以外, “耦接” 一词在此包含任何直接及间接 的电气连接手段。 因此, 若文中描述一第一装置耦接于一第二装置, 则代表该第一装置可直 接电气连接于该第二装置, 或透过其它装置或连接手段间接地电气连接至该第二装置。
     图 1 是本发明的第一实施例的数据存取系统 100。如图 1 所示, 数据存取系统 100 包含一数据传输接口 101、 一缓冲器 103、 一处理器 105、 一逻辑运算装置 107、 一 A 储存装置 109、 一 B 储存装置 111、 一 C 储存装置 113、 一 P 储存装置 115、 一 A 储存装置控制器 117、 一 B 储存装置控制器 119、 一 C 储存装置控制 121、 一 P 储存装置控制器 123。数据存取系统 100 在欲将数据单位 A、 B、 C 分别写入至 A 储存装置 109、 B 储存装置 111 和 C 储存装置 113时, 会先透过数据传输接口 101( 例如 : USB) 自一主机 (host, 未示于图 1) 接收数据并暂存 至缓冲器 103。并利用处理器 105 自缓冲器 103 读取数据 A、 B、 C, 且处理器 105 控制逻辑运 算装置 107 对数据 A、 B、 C 执行一逻辑运算以产生一逻辑运算数据单位 P。
     此实施例中, 逻辑运算为一异或运算 ( 但亦可以其它逻辑运算取代 ), 因此数据单 位 A、 B、 C 和逻辑运算数据单位 P 的关系式可如公式 ( 一 ) 所示 :
     P = A^B^C 公式 ( 一 )
     在做完这些运算后, 数据单位 A、 B、 C 和逻辑运算数据单位 P 会分别被储存至 A 储 存装置 109、 B 储存装置 111、 C 储存装置 113 以及 P 储存装置 115。逻辑运算数据单位 P 可 视为数据单位 A、 B、 C 的检查码 (parity check code)。逻辑运算数据单位 P 的数据长度依 据数据单位 A、 B、 C 的数据长度而定, 例如数据单位 A、 B、 C 均为一个位 (bit), 则逻辑运算数 据单位 P 亦为一个位 ; 若数据单位 A、 B、 C 均为 512 字节 (Byte), 则逻辑运算数据单位 P 亦 为 512 字节 (Byte)。在此例中, 储存装置皆为闪存 (flash), 数据单位 A、 B、 C 和逻辑运算数 据单位 P 可以区块 (block)、 记忆页 (page)、 记忆区段 (sector) 或任意数据长度为单位, 但 并非用以限定本发明。
     在进行逻辑运算以产生逻辑运算数据单位 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 的第三个位产生逻辑运算数据单位 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 各为不 相同的正整数。
     当数据存取系统 100 欲读取储存在 A 储存装置 109、 B 储存装置 111 或 C 储存装置 113 中的数据单位 A、 B、 C 时, A 储存装置控制器 117、 B 储存装置控制器 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’ , 其可如公 式 ( 二 )-( 四 ) 所述 :
     A’ = B^C^P 公式 ( 二 )
     B’ = A^C^P 公式 ( 三 )
     C’ = A^C^P 公式 ( 四 )
     更详细地说, 在一实施例中, 主机欲读取数据单位 A, 而储存装置控制器 117 自 A 储 存装置 109 中读取数据单位 A 并对其进行除错 ( 例如利用 ECC), 而 A 储存装置控制器 117发现数据单位 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, 使逻辑运算装置 107 中的逻辑运算回复模块 108 利用数据单位 B、 C 和逻辑 运算数据单位 P 计算出回复数据 A’ , 如公式 ( 二 ) 所述。
     逻辑运算回复模块 108 在利用数据单位 B、 C 和逻辑运算数据单位 P 计算出回复数 据 A’ 时, 需参照逻辑运算装置 107 产生逻辑运算数据单位 P 的规则而定。例如 : 若逻辑运 算装置 107 利用数据单位 A、 B、 C 的第一个位产生逻辑运算数据单位 P 的第一个位, 则逻辑 运算回复模块 108 利用数据单位 B、 C 及逻辑运算数据单位 P 的第一个位产生回复数据 A’ 的第一个位, 依此类推。
     据此, 当储存在 A 储存装置 109、 B 储存装置 111 以及 C 储存装置 113 中的数据单 位 A、 B、 C 的错误太多而无法修正时, A 储存装置控制器 117、 B 储存装置控制器 119 以及 C 储存装置控制器 121 会分别以相对应的数据 (A’ 相对应于 A、 B’ 相对应于 B、 C’ 相对应于 C) 来取代原本的数据。如此一来、 即使数据单位 A、 B、 C 因为错误太多而致无法修复, 仍可 保有正确的数据。 此外, 为方便管理, 得以一特定次序放置数据单位 A、 B、 C 及逻辑运算数据单位 P。 例如 : 在一实施例中, 数据单位 A、 B、 C 及逻辑运算数据单位 P 的大小均为一记忆页, 可将数 据单位 A、 B、 C 及逻辑运算数据单位 P 分别放置在 A 储存装置、 B 储存装置、 C 储存装置及 P 储存装置的第一个实体记忆页。如此一来, 当读取数据单位 A 时发生了无法更正的错误时, 即可根据数据单位 A 的储存地址, 快速地找出数据单位 B、 C 及逻辑运算数据单位 P。而在 另一实施例中, 可将数据单位 A、 B、 C 及逻辑运算数据单位 P 分别放置在 A 储存装置、 B 储存 装置、 C 储存装置及 P 储存装置的任意实体记忆页并建立一逻辑运算对应表, 记录数据单位 A、 B、 C 及逻辑运算数据单位 P 的储存地址, 当读取数据单位 A 时发生了无法更正的错误时, 即可查询逻辑运算对应表, 找出数据单位 B、 C 及逻辑运算数据单位 P。
     在此实施例中, 逻辑运算装置 107 可被轫体所取代, 而逻辑运算回复模块 108 可由 软件或硬件的方式来实施。除此之外, 逻辑运算数据单位 P 不限于由数据单位 A、 B及C来 产生, 可由两个 ( 例如 : 由数据单位 A、 B 或者由数据单位 C、 B 等 ) 或三个以上的数据单位 来产生。
     此外, 在一实施例中, 数据存取系统 100 可更包含另一缓冲器来暂存逻辑算装置 107 计算出的逻辑运算数据单位 P, 然后在逻辑运算数据单位 P 达到一定量后再储存至 P 储 存装置 105。或者亦可使用缓冲器 103 来达到此种作用, 但在此例下, 缓冲器 103 便需较大 的储存空间。
     图 2 是本发明的第二实施例的数据存取系统 200。相较于数据存取系统 100, 数据 存取系统 200 除了具有类似的数据传输接口 201、 缓冲器 203、 处理器 205 之外, 数据存取系 统 200 更具有一 A 逻辑运算装置 213、 一 B 逻辑运算装置 215 以及一 C 逻辑运算装置 217。 A 逻辑运算装置 213、 B 逻辑运算装置 215 以及 C 逻辑运算装置 217 分别耦接 A 储存装置控 制器 219、 B 储存装置控制器 221 以及 C 储存装置控制器 223, 用以分别对储存至 A 储存装
     置 207、 B 储存装置 209 以及 C 储存装置 211 的数据进行逻辑运算。其中, A 储存装置 207、 B 储存装置 209 以及 C 储存装置 211 分别利用独立的通道 (channel) 与处理器 205 沟通。 逻辑运算装置 213 ~ 217 可以硬件的方式实施, 或者以写死 (hard code) 的方式, 分别将程 序写在 A 储存装置控制器 219、 B 储存装置控制器 221 以及 C 储存装置控制器 223 上以达到 逻辑运算装置的功能。
     此外, 在数据存取系统 200 中 A 储存装置 207、 B 储存装置 209 以及 C 储存装置 211 皆为闪存, 而被 A 逻辑运算装置 213、 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, 因 此需要其它的缓冲器以将逻辑运算数据 P 暂存后才存至 P 储存装置 115。而数据存取系统 200 中, 数据单元 A1 ~ P2 自缓冲器 203 被读出后, A 逻辑运算装置 213、 B 逻辑运算装置 215 以及 C 逻辑运算装置 217 一边对数据单元 A1 ~ C2 进行逻辑运算一边将相对应的逻辑运算 数据单元 (e.g、 A P、 B P、 CP) 分别存至 A 储存装置 207、 B 储存装置 209、 C 储存装置 211, 因此 不需要容量较大的缓冲器或额外的缓冲器。
     图 3 是本发明的第三实施例的数据存取系统 300。数据存取系统 300 与数据存取 系统 200 的架构类似, 具有类似的数据传输接口 301、 缓冲器 303、 处理器 305、 A 储存装置控 制器 307、 B 储存装置控制器 309、 P 储存装置控制器 311、 A 储存装置 313、 B 储存装置 315、 P 储存装置 317 以及逻辑运算装置 319、 321 以及 323, 如图 3(a) 所示。数据存取系统 300 与数据存取系统 200 不同的地方在于逻辑运算装置 319 ~ 323 以记忆页为单位来处理 A 储 存装置 313、 B 储存装置 315 以及 P 储存装置 317 的数据, 亦即同一个区块中的不同记忆页 分别储存在 A 储存装置 313 以及 B 储存装置 315, 且逻辑运算装置 319、 321 以及 323 分别对 储存在 A 储存装置 313 以及 B 储存装置 315 的记忆页进行逻辑运算后, 将逻辑运算数据储 存在 P 储存装置 317 中。
     如图 3(b) 所示, 一区块的记忆页 Page0 储存在 A 储存装置 313 中、 记忆页 Page 1 储存在 B 储存装置 315 中, 而根据记忆页 Page 0 和 Page 1 计算出的逻辑运算记忆页 P0 储 存在 P 储存装置 317 当中。 同样的, 该区块的记忆页 Page 2 储存在 A 储存装置 313 中、 记忆 页 Page 3 储存在 B 储存装置 315 中, 而根据记忆页 Page 2 和 Page 3 计算出的逻辑运算记 忆页 P1 储存在 P 储存装置 317 当中。这样的架构的优点在于, 将同一数据区块中的记忆页 储存在不同的区块中, 如此一来即使有一储存装置损毁, 也不会让同一区块的所有页面所 储存的数据损毁。而在此实施例中, 除了用以数据传输接口、 缓冲器和储存装置的总线 302 之外, 各逻辑运算装置之间可更增加一总线 304 来作为彼此沟通和传输数据的用。
     同样的, 逻辑运算装置 319 ~ 323 可以硬件的方式实施, 或者以写死 (hard code) 的方式, 分别将程序写在 A 储存装置控制器 313、 B 储存装置控制器 315 以及 P 储存装置控 制器 317 上以达到逻辑运算装置的功能。
     前述的数据存取系统仅用以举例, 并非用以限定本发明, 举例来说, 储存装置并不限定于闪存, 而用以处理的数据单位亦不限于记忆页或区块。且逻辑运算装置的配置方式 亦不受前述实施例的限制, 举例来说数据存取系统 100 的逻辑运算装置的配置方式可运用 在数据存取系统 200 和 300。同样的数据存取系统 200 和 300 的逻辑运算装置的配置方式 可运用在其它数据存取系统上。
     图 4 是本发明的实施例的资料存取方法。此数据存取方法包含 :
     步骤 401 :
     对多个数据单位 ( 例如 : 闪存的区块或记忆页 ) 施行一逻辑运算 ( 例如 : 异或运 算 ) 以产生至少一逻辑运算数据单位。
     步骤 403 :
     对该逻辑运算数据单位以及该些数据单位中除了一特定数据单位之外的其它数 据进行一反逻辑运算以得到一回复数据单位。例如 : 在图 1 所示的实施例中, 利用公式 ( 二 ) 对数据单位 B、 C 和逻辑运算数据单位 P 进行反逻辑运算而得到回复数据单位 A’ 。
     步骤 405 :
     当欲读取数据单位其中的特定数据单位且发觉特定数据单位具有错误时, 以回复 数据单位取代特定数据单位。
     根据本发明的实施例的资料存取方法的其它详细技术特征已揭露于上述的实施 例中, 故在此不再赘述。
     根据上述的实施例, 可利用如异或运算的逻辑运算来计算出回复数据, 并在原始 数据错误太多时以回复数据取代原始数据, 以提高数据的正确度。
     以上所述仅为本发明的较佳实施例, 凡依本发明申请专利范围所做的均等变化与 修饰, 皆应属本发明的涵盖范围。

数据存取方法以及使用此方法的数据存取系统.pdf_第1页
第1页 / 共13页
数据存取方法以及使用此方法的数据存取系统.pdf_第2页
第2页 / 共13页
数据存取方法以及使用此方法的数据存取系统.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《数据存取方法以及使用此方法的数据存取系统.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说明书附图。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1