《存取快闪存储器中储存单元的方法以及使用该方法的装置.pdf》由会员分享,可在线阅读,更多相关《存取快闪存储器中储存单元的方法以及使用该方法的装置.pdf(45页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410322436.2 (22)申请日 2014.07.08 102148611 2013.12.27 TW 61/869,561 2013.08.23 US G11C 16/06(2006.01) G11C 16/02(2006.01) (71)申请人 慧荣科技股份有限公司 地址 中国台湾新竹县竹北市台元街 36 号 8 楼之 1 (72)发明人 杨宗杰 沈扬智 许胜一 (74)专利代理机构 上海专利商标事务所有限公 司 31100 代理人 张振军 (54) 发明名称 存取快闪存储器中储存单元的方法以及使用 该方法的装置 (57)。
2、 摘要 本发明的实施例提出一种存取快闪存储器中 储存单元的方法, 由仲裁单元执行, 包含下列步 骤。以第一批次传送数据至每一储存单元存取接 口所连接的第一储存单元后, 发送写入命令给每 一第一储存单元, 使得第一储存单元开始写入作 业。 于第一储存单元的写入作业期间, 以第二批次 传送数据至每一储存单元存取接口所连接的第二 储存单元。 (30)优先权数据 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书15页 附图27页 (10)申请公布号 CN 104425018 A (43)申请公布日 2015.03.18 CN 104425018。
3、 A 1/2 页 2 1. 一种存取快闪存储器中储存单元的方法, 由一仲裁单元执行, 包含 : 以一第一批次传送数据至每一储存单元存取接口所连接的一第一储存单元后, 发送一 写入命令给每一上述第一储存单元, 使得上述第一储存单元开始写入作业 ; 以及 于上述第一储存单元的写入作业期间, 以一第二批次传送数据至每一上述储存单元存 取接口所连接的一第二储存单元。 2. 如权利要求 1 所述的存取快闪存储器中储存单元的方法, 其特征在于, 上述第一储 存单元以及上述第二储存单元中的一者包含多个单层式单元或三层式单元。 3. 如权利要求 1 所述的存取快闪存储器中储存单元的方法, 其特征在于, 传送至。
4、上述 第一储存单元或上述第二储存单元中的上述数据中包含一讯息或一垂直错误修正码。 4. 如权利要求 3 所述的存取快闪存储器中储存单元的方法, 其特征在于, 每一上述储 存单元存取接口依据上述讯息或上述垂直错误修正码产生一水平错误修正码, 并且将上述 讯息以及关联于上述讯息的上述水平错误修正码, 或上述垂直错误修正码以及关联于上述 垂直错误修正码的上述水平错误修正码写入至上述第一储存单元或上述第二储存单元。 5. 如权利要求 4 所述的存取快闪存储器中储存单元的方法, 其特征在于, 上述讯息、 上 述垂直错误修正码以及上述水平错误修正码形成一独立磁盘冗余阵列群组。 6. 如权利要求 1 所述的。
5、存取快闪存储器中储存单元的方法, 其特征在于, 当上述第一 储存单元或上述第二储存单元接收到上述写入命令后, 进入忙碌状态用以将上述数据写入 至一字线上的存储器单元。 7. 如权利要求 1 所述的存取快闪存储器中储存单元的方法, 其特征在于, 传送至上述 第一储存单元中的一者的上述数据中包含一讯息, 以及传送至上述第二储存单元中的一者 的上述数据中包含一垂直错误修正码。 8. 如权利要求 7 所述的存取快闪存储器中储存单元的方法, 其特征在于, 上述第一储 存单元以及上述第二储存单元实施于不同的管芯上。 9. 如权利要求 1 所述的存取快闪存储器中储存单元的方法, 其特征在于, 上述第一储 存。
6、单元以及上述第二储存单元拥有独立的芯片致能控制信号。 10. 一种存取快闪存储器中的储存单元的装置, 包含 : 多个储存单元存取接口 ; 以及 一仲裁单元, 耦接至上述储存单元存取接口, 以一第一批次传送数据至每一上述储存 单元存取接口所连接的一第一储存单元后, 发送一写入命令给每一上述第一储存单元, 使 得上述第一储存单元开始写入作业 ; 以及于上述第一储存单元的写入作业期间, 以一第二 批次传送数据至每一上述储存单元存取接口所连接的一第二储存单元。 11. 如权利要求 10 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 上述第 一储存单元以及上述第二储存单元中的一者包含多个单层式。
7、单元或三层式单元。 12. 如权利要求 10 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 传送至 上述第一储存单元或上述第二储存单元中的上述数据中包含一讯息或一垂直错误修正码。 13. 如权利要求 12 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 每一上 述储存单元存取接口依据上述讯息或上述垂直错误修正码产生一水平错误修正码, 并且将 上述讯息以及关联于上述讯息的上述水平错误修正码, 或上述垂直错误修正码以及关联于 上述垂直错误修正码的上述水平错误修正码写入至上述第一储存单元或上述第二储存单 权 利 要 求 书 CN 104425018 A 2 2/2 页 3 元。 1。
8、4. 如权利要求 13 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 上述讯 息、 上述垂直错误修正码以及上述水平错误修正码形成一独立磁盘冗余阵列群组。 15. 如权利要求 10 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 当上述 第一储存单元或上述第二储存单元接收到上述写入命令后, 进入忙碌状态用以将上述数据 写入至一字线上的存储器单元。 16. 如权利要求 10 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 传送至 上述第一储存单元中的一者的上述数据中包含一讯息, 以及传送至上述第二储存单元中的 一者的上述数据中包含一垂直错误修正码。 17. 如权利要求 1。
9、6 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 上述第 一储存单元以及上述第二储存单元实施于不同的管芯上。 18. 如权利要求 10 所述的存取快闪存储器中的储存单元的装置, 其特征在于, 上述第 一储存单元以及上述第二储存单元拥有独立的芯片致能控制信号。 权 利 要 求 书 CN 104425018 A 3 1/15 页 4 存取快闪存储器中储存单元的方法以及使用该方法的装置 技术领域 0001 本发明关连于一种快闪存储器装置, 特别是一种存取快闪存储器中储存单元的方 法以及使用该方法的装置。 背景技术 0002 快闪存储器 (flash memory) 中的记忆单元 (memo。
10、ry cells) 可能于多次的存取 后失效。此外, 也可能于生产过程中, 会因为粉尘或是光罩问题, 使得储存单元中的一整列 (column) 的数据都无法正确存取。因此, 本发明提出一种存取快闪记忆单元的方法以及使 用该方法的装置, 用以保护快闪存储器中储存的数据。 发明内容 0003 本发明的实施例提出一种存取快闪存储器中储存单元的方法, 由仲裁单元执行, 包含下列步骤。以第一批次传送数据至每一储存单元存取接口所连接的第一储存单元后, 发送写入命令给每一第一储存单元, 使得第一储存单元开始写入作业。于第一储存单元的 写入作业期间, 以第二批次传送数据至每一储存单元存取接口所连接的第二储存单。
11、元。 0004 本发明的实施例提出一种存取快闪存储器中的储存单元的装置, 包含多个储存单 元存取接口以及仲裁单元。仲裁单元耦接至储存单元存取接口, 以第一批次传送数据至每 一储存单元存取接口所连接的第一储存单元后, 发送写入命令给每一第一储存单元, 使得 第一储存单元开始写入作业 ; 以及于第一储存单元的写入作业期间, 以第二批次传送数据 至每一储存单元存取接口所连接的第二储存单元。 附图说明 0005 图 1 是依据本发明实施例的快闪存储器中的储存单元示意图。 0006 图 2 是依据本发明实施例的快闪存储器的系统架构示意图。 0007 图 3 是依据本发明实施例的快闪存储器的存取接口示意图。
12、。 0008 图 4 是依据本发明实施例的逻辑数据储存示意图。 0009 图 5A 是依据本发明实施例应用于每一区段的数据储存示意图。 0010 图 5B 是依据本发明实施例的二维错误修正码示意图。 0011 图 6 是依据本发明实施例的用以执行写入作业的系统方块图。 0012 图 7A 及 7B 是依据本发明实施例的执行于处理单元中的数据写入方法流程图。 0013 图 8 是依据本发明实施例的执行于储存单元存取接口中的数据写入方法流程图。 0014 图 9 是依据本发明实施例的用以执行读取作业的系统方块图。 0015 图 10 是依据本发明实施例的执行于区段解码单元中的数据读取方法流程图。 。
13、0016 图 11 是依据本发明实施例的执行于处理单元中的数据读取方法流程图。 0017 图 12 是依据本发明实施例的用以执行写入作业的系统方块图。 0018 图 13 是依据本发明实施例的一个储存单元中的三层式单元区块的示意图。 说 明 书 CN 104425018 A 4 2/15 页 5 0019 图 14 是依据本发明实施例的执行于处理单元中的写入方法流程图。 0020 图 15 是依据本发明实施例的执行于处理单元中的写入方法流程图。 0021 图 16A 是依据本发明实施例的众多单层式单元的临界电压分布示意图。 0022 图 16B 是依据本发明实施例的众多多层式单元的临界电压分布。
14、示意图。 0023 图 16C 是依据本发明实施例的众多三层式单元的临界电压分布示意图。 0024 图17A至17C是显示依据本发明实施例的经三次写入操作后的一个字线上的众多 单层式单元的临界电压分布示意图。 0025 图18A是依据本发明实施例的使用RS(48,45)垂直错误修正码的独立磁盘冗余阵 列群组的数据摆放示意图。 0026 图18B是依据本发明实施例的使用RS(96,93)垂直错误修正码的独立磁盘冗余阵 列群组的数据摆放示意图。 0027 图 19A 至 19B 是依据本发明实施例的数据写入时序图。 0028 图 20A 至 20D 是依据本发明实施例的执行于处理单元中的写入数据方。
15、法流程图。 0029 图 21 是依据本发明实施例的字线写入顺序示意图。 具体实施方式 0030 本发明实施例提出一种存取快闪存储器中储存单元的方法以及使用该方法的装 置, 用以编码即将储存至储存单元的数据, 以及解码从储存单元中读取的数据。图 1 是依 据本发明实施例的快闪存储器中的储存单元示意图。储存单元 10 包含由 MxN 个存储器单 元(memory cells)组成的阵列(array)110, 而每一个存储器单元储存至少一个比特(bit) 的信息。快闪存储器可以是 NOR 型快闪存储器 (NOR flash memory)、 NAND 型快闪存储器, 或其他种类的快闪存储器。为了正。
16、确存取信息, 行解码单元 120 用以选择存储器单元阵列 110 中指定的行, 而列编码单元 130 用以选择指定行中一定数量的比特组的数据作为输出。 地址单元 140 提供行信息给行解码器 120, 其中定义了选择存储器单元阵列 110 中的那些 行。相似地, 列解码器 130 则根据地址单元 140 提供的列信息, 选择存储器单元阵列 110 的指定行中一定数量的列进行读取或写入操作。行可称为字线 (wordline), 列可称为位 线 (bitline)。数据缓存器 (data buffer)150 可处存从存储器单元阵列 110 读取出的数 据, 或欲写入存储器单元阵列 110 中的数。
17、据。存储器单元可为单层式单元 (single-level cells,SLCs)、 多 层 式 单 元 (multi-level cells,MLCs) 或 三 层 式 单 元 (triple-level cells,TLCs)。 0031 一个单层式单元中可表示两个状态, 其中之一为于浮栅 (floating gate) 中拥有 零电荷 (zero charge) 以及抹除后尚未写入的状态 ( 通常定义为” 1” 的状态 ), 而另一则为 于浮栅中拥有一些数量的负电荷 (negative charge) 的状态 ( 通常定义为” 0” 的状态 )。 拥有负电荷的栅会让此单元中的晶体管的临界电。
18、压 (threshold voltage) 增加, 亦即是当 施加此电压至晶体管的控制栅(control gate)时可造成晶体管导通。 一种可行的读取储存 比特方式为检查此单元中的临界电压。如果此临界电压处于较高的状态, 则比特值为” 0” 。 如果此临界电压处于较低的状态, 则比特值为” 1” 。图 16A 是依据本发明实施例的众多单层 式单元的临界电压分布示意图。 因为快闪存储器中的存储器单元间的特性及操作结果并不 会完全一致 ( 例如, 因为杂质浓度的微小变异或硅结构上的缺陷 ), 虽然使用相同的写入作 说 明 书 CN 104425018 A 5 3/15 页 6 业至所有的存储器单。
19、元, 却不能让所有的存储器单元拥有完全一致的临界电压。 因此, 临界 电压的分布如图 16A 所示。状态” 1” 的单层式单元通常拥有负临界电压, 使得大部分的单 元拥有接近于左峰的中心电压, 而少部分的单元则拥有较高或较低于左峰中心电压的临界 电压。相似地, 状态” 0” 的单层式单元通常拥有正临界电压, 使得大部分的单元拥有接近于 右峰的中心电压, 而少部分的单元拥有较高或较低于右峰中心电压的临界电压。 0032 虽然多层式单元从字面上表示为拥有多于二个电压位准的状态, 也就是, 每个单 元可表示多于一个比特的信息, 但目前大多的多层式单元只表示二个比特的信息, 从而提 供如下所示的范例。。
20、单一个多层式单元使用四个不同状态中的一者来储存二个比特的信 息, 其中的一个比特称为最低比特 (Least Signifi cant Bit,LSB), 另一个比特则称为最高 比特(Most Signifi cant Bit,MSB)。 由于一个存储器单元的状态使用临界电压来表示, 多层 式单元的临界电压会有四个不同的有效区间。图 16B 是依据本发明实施例的众多多层式单 元的临界电压分布示意图。预期的分布拥有四个峰, 每一者相应于一个状态。相似地, 单一 个三层式单元使用八个不同状态中的一者来储存三个比特的信息, 其中的一个比特称为最 低比特, 另一个比特称为中间比特 (Center Sig。
21、nifi cant Bit,CSB), 而最后一个比特称为最 高比特。三层式单元的临界电压会有八个不同的有效区间。图 16C 是依据本发明实施例的 众多三层式单元的临界电压分布示意图。 预期的分布拥有八个峰, 每一者相应于一个状态。 需注意的是, 本发明也可应用在每个存储器单元支援超过三个比特的快闪存储器装置中。 0033 图 2 是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架 构 20 中包含控制器 200, 用以写入数据到储存单元 10 中的指定地址, 以及从储存单元 10 中的指定地址读取数据。详细来说, 控制单元 210 通过储存单元存取接口 230 写入数据到 储。
22、存单元 10 中的指定地址, 以及从储存单元 10 中的指定地址读取数据。系统架构 20 使 用数个电子信号来协调控制器 200 与储存单元 10 间的数据与命令传递, 包含数据线 (data line)、 时钟信号 (clock signal) 与控制信号 (control signal)。数据线可用以传递命 令、 地址、 读出及写入的数据 ; 控制信号线可用以传递芯片致能 (chip enable,CE)、 地址提 取致能 (address latch enable,ALE)、 命令提取致能 (command latch enable,CLE)、 写入 致能 (write enable,W。
23、E) 等控制信号。储存单元存取接口 230 可采用双倍数据率 (double data rate,DDR) 通讯协定与储存单元 10 沟通, 例如, 开放 NAND 快闪 (open NAND flash interface,ONFI)、 双倍数据率开关 (DDR toggle) 或其他接口。控制单元 210 另可使用 处理单元存取接口 250 通过指定通讯协定与其他电子装置进行沟通, 例如, 通用串行总线 (universal serial bus,USB)、 先进技术附着 (advanced technology attachment,ATA)、 串行先进技术附着 (serial adva。
24、nced technology attachment,SATA)、 快速周边元件互联 (peripheral component interconnect express,PCI-E) 或其他接口。 0034 一个快闪储存装置 (flash storage) 可包含多个储存单元 10, 每一个储存单元实 施于一个管芯 (die) 上, 具有各自独立的接口与储存单元存取接口 230 沟通。于存取大量 数据时, 这些存取储存单元的操作(例如, 读取或写入操作)可以被流水线化(pipelined), 提升存取效率。图 3 是依据本发明实施例的快闪存储器的存取接口示意图。快闪储存装置 300 可包含 。
25、j+1 个通道 (channel), 每一个通道包含 i+1 个储存单元。换句话说, i+1 个储存 单元分享同一个通道。例如, 当快闪储存装置 300 包含 8 个通道 (j 7) 且每一个通道包 含 8 个储存单元 (i 7) 时, 快闪储存装置 300 一共拥有 64 个储存单元 100j0i。 说 明 书 CN 104425018 A 6 4/15 页 7 快闪存储器的控制单元可使用快闪储存装置300所提供的电子信号3100j0i中的 一者, 将数据储存至指定的储存单元, 以及 / 或从指定的储存单元读取数据。每个储存单元 拥有独立的芯片致能 (CE) 控制信号。换句话说, 当欲对指定。
26、储存单元存取接口 ( 又可称为 通道 ) 所连接的指定储存单元进行数据存取时, 需要致能相应的芯片致能控制信号。熟习 此技艺人士可在快闪储存装置 300 中使用任意数目的通道, 而每一通道可包含任意数目的 储存单元, 本发明并不因此而受限。 0035 为了确保储存讯息 (message) 的正确性, 可加上储存二维的错误修正码 (two-dimensional error correction code,ECC) 来保护。图 4 是依据本发明实施例的逻 辑数据储存示意图。 (j+1)x(i+1)个储存单元中可包含用以储存错误修正码的l个(例如, l 1、 2 或 3 个 ) 储存单元, 其中所。
27、储存的码又可称为垂直错误修正码 (vertical ECC)。 每一个垂直错误修正码根据其他 (j+1)x(i+1)-l 个储存单元中相应地址的值产生。垂直错 误修正码可以是单同比特修正码 (single parity correction,SPC)、 RS 码 (Reed-Solomon code) 或其他可提供修正错误功能的码。例如, 当 i 7,j 7 且 l 1 时, 储存单元 107 7 可储存 SPC(64,63) 的错误修正码。当 i 7,j 7 且 l 2 时, 储存单元 1076 及 1077 可储存 RS(64,62) 的错误修正码。当 i 7,j 7 且 l 3 时, 储。
28、存单元 107 5、 1076 及 1077 可储存 RS(64,61) 的错误修正码。垂直错误修正码用来提供储 存单元层次的保护, 也就是, 当其中的一个储存单元失效时, 使用垂直错误修正码以及其他 储存单元中所储存正确的值可回复储存于失效的储存单元中的所有的值。其他不储存垂 直错误修正码的储存单元中, 除了储存讯息外, 更储存水平错误修正码 (horizontal ECC)。 每一个储存单元中的每条字线可储存 k+1( 例如 k 31) 个区段 (sector) 的数据。以上所 述的 k+1 个区段又可统称为一个页面 (page)。例如, 针对指定一条字线, 储存单元 100 0 可储存区。
29、段 410000 至区段 41000k 的数据, 储存单元 100i 可储存区 段 4100i0 至区段 4100ik 的数据, 储存单元 10ji 可储存区段 410ji 0 至区段 410jik 的数据。区段 410000 至区段 41000k、 区段 4100 i0 至区段 4100ik 或 410ji0 至区段 410jik 又可称为一个芯片致 能区段 (CE sector)。图 5A 是依据本发明实施例应用于每一区段的数据储存示意图。区 段 4100j0i0k 中的任一者可包含讯息 510 与水平错误修正码 530。讯息长度 是固定的, 例如 1K 字节 (bytes)。水平错误修正。
30、码 530 根据讯息 510 中的值产生。水平错 误修正码可以是单同比特修正码、 RS 码或其他可提供修正错误功能的码。水平错误修正码 提供区段层次的保护, 也就是, 当讯息中有可容许数量个值发生错误时, 使用水平错误修正 码以及同一区段中所储存其他正确的讯息值可还原这些错误的值。图 5B 是依据本发明实 施例的二维错误修正码示意图。其中, 每一个区段中包含了讯息及水平错误修正码, 例如, 区段 410000 中包含了讯息 510000 以及用来修正讯息中的错误的水平错误 修正码 530000。假设 l 1, 也就是仅使用一个储存单元来储存垂直错误修正码。 区块 510ji0 储存用以修正讯息。
31、 510000 至讯息 510j-1i0 中的错误比 特的垂直修正码, 而区块 530ji0 储存用以修正水平错误修正码 530000 至水 平错误修正码 530j-1i0 中的错误比特的垂直错误修正码。当一个区块中的错误比 特太多或者是储存单元发生硬件错误而造成水平错误修正码无法还原此区块中的讯息时, 则可使用垂直错误修正码加上其他区块中正确的讯息来尝试还原此区块中的讯息。以上 说 明 书 CN 104425018 A 7 5/15 页 8 所述区块加上用来保护区块中的值的垂直错误修正码可称为一个独立磁盘冗余阵列群组 (Redundant Array of Independent Disk,。
32、RAID group)。 0036 图 6 是依据本发明实施例的用以执行写入作业的系统方块图。处理单元 610 可 使用多种方式实施, 例如以专用硬体电路或通用硬体 ( 例如, 单一处理器、 具平行处理能力 的多处理器、 图形处理器或其他具运算能力的处理器 ), 并且在执行程序码或软件时, 提供 之后所描述的功能。从其他电子装置所接收的欲写入至指定储存单元的讯息, 会由处理单 元存取接口 250 通过直接存储器访问 (DMA,Direct Memory Access) 控制器 623 储存至动 态随机存取存储器 620。储存单元 1000 至 10ji 中的任一者可包含多个单层式单 元。多路复。
33、用器 640 可预设为耦接动态随机存取存储器 620 以及缓存器 650。当处理单元 610检测到动态随机存取存储器(DRAM-Dynamic Random Access Memory)620已储存一定长 度的讯息时, 例如, 32K比特组, 指示直接存储器访问控制器621将动态随机存取存储器620 中储存的讯息经由多路复用器640储存至缓存器650, 并同时储存至磁盘阵列编码单元630 中的缓存器 ( 未显示 )。磁盘阵列编码单元 630 可使用已知的错误修正码编码方法依据目 前的储存结果以及新接收到的讯息来产生垂直错误修正码, 例如 SPC(64,63)、 RS(64,62)、 RS(64。
34、,61) 的错误修正码。处理单元 610 可包含两个计数器 (counter), 一为讯息计数器用 以数算已经输出的讯息次数, 另一为错误修正码计数器用以数算已经输出的垂直错误修正 码次数。当处理单元 610 中的讯息计数器数算到已输出的讯息次数到达一个阈值时, 控制 多路复用器640用以将磁盘阵列编码单元630耦接上缓存器650, 并且指示磁盘阵列编码单 元 630 将编码完成的垂直错误修正码以一或多个批次输出至缓存器 650。当处理单元 610 中的错误修正码计数器数算到已输出的次数到达一个阈值时, 控制多路复用器 640 用以将 动态随机存取存储器 620 耦接上缓存器 650, 用以继。
35、续后续的讯息储存作业。例如, 当使用 RS(64,61) 的错误修正码时, 处理单元 610 会在讯息计数器数算已输出讯息的次数达到 61 次时, 控制多路复用器 640 用以将磁盘阵列编码单元 630 耦接上缓存器 650, 并将讯息计数 器重设为 0 ; 接着, 处理单元 610 会在错误修正码计数器数算已输出错误修正码的次数达到 3 次时, 控制多路复用器 640 用以将动态随机存取存储器 620 耦接上缓存器 650, 并将错误 修正码计数器重设为 0。于每次控制动态随机存取存储器 620 或磁盘阵列编码单元 630 的 数据输出后, 处理单元 610 控制仲裁单元 660 读取缓存器。
36、 650 中的区段或垂直错误修正码 的值并通过适当的储存单元存取接口 ( 例如, 储存单元存取接口 2300 至 230j 中的一 者 ) 写入读取的値至相应的储存单元 ( 例如, 储存单元 1000 至 10ji 中的一者 )。 仲裁单元 660 可拉起 (activate) 适当的储存单元存取接口中相应储存单元的芯片致能信 号, 并且通过储存单元存取接口中的数据线将读取的值及写入地址传给相应的储存单元。 每一个储存单元存取接口 ( 例如, 储存单元存取接口 2300 至 230j) 另包含水平错误修 正码电路, 用以分批次地读取缓存器 650 中的数据 ( 可能为讯息或垂直错误修正码 ),。
37、 并据 以产生水平错误修正码。详细而言, 当储存单元存取接口每次从缓存器 650 读取指定长度 的讯息后, 例如1K字节, 依据读取的讯息510产生水平错误修正码530。 储存单元存取接口 接着将讯息 510 以及产生的水平错误修正码 530 写入至指定的储存单元中的指定地址。 0037 图 7A 及 7B 是依据本发明实施例的执行于处理单元中的数据写入方法流程图。于 一个独立磁盘冗余阵列群组的写入作业中, 处理单元 610 首先将讯息计数器以及错误修正 码计数器设为 0( 步骤 S711), 以及控制多路复用器 640 以耦接动态随机存取存储器 620 至 说 明 书 CN 10442501。
38、8 A 8 6/15 页 9 缓存器650(步骤S713)。 接着, 反复执行一个包含步骤S721至S731的循环直到一个独立磁 盘冗余阵列群组中的讯息都写入到指定的储存单元中, 例如, 储存单元 1000 至 10j i-l。详细而言, 处理单元 610 于检测到动态随机存取存储器 620 已储存指定长度的新讯 息后, 例如, 32K 字节 ( 步骤 S721), 指示直接存储器访问控制器 621 将动态随机存取存储器 620中储存的讯息经由多路复用器640储存至缓存器650, 并同时储存至磁盘阵列编码单元 630中的缓存器(未显示)(步骤S723)。 接着, 处理单元610控制仲裁单元66。
39、0读取缓存器 650中的值并通过适当的储存单元存取接口(例如, 储存单元存取接口2300至230j中 的一者 ) 写入读取的値至相应的储存单元 ( 例如, 储存单元 1000 至 10ji 中的一 者 )( 步骤 S725)。处理单元 610 将讯息计数器加一后 ( 步骤 S727), 判断讯息计数器的值 是否超过阈值, 例如, (j+1)x(i+1)-l-1( 步骤 S731)。若是, 则继续执行步骤 S733 至 S751, 用以写入独立磁盘冗余阵列群组中的垂直错误修正码 ; 否则, 回到步骤 S721, 用以写入独 立磁盘冗余阵列群组中未完成的讯息。 0038 为写入独立磁盘冗余阵列群组。
40、中的垂直错误修正码, 处理单元 610 控制多路复用 器 640 以耦接磁盘阵列编码单元 630 至缓存器 650( 步骤 S733)。接着, 反复执行一个包含 步骤S741至S751的循环直到独立磁盘冗余阵列群组中的垂直错误修正码都写入到指定的 储存单元中, 例如, 储存单元10ji-l+1至10ji。 详而言之, 处理单元610指示磁盘 阵列编码单元 630 将指定长度 ( 例如, 32K 比特组 ) 的垂直错误修正码经由多路复用器 640 输出至缓存器 650( 步骤 S741)。接着, 处理单元 610 控制仲裁单元 660 读取缓存器 650 中 的值并通过适当的储存单元存取接口 (。
41、 例如, 储存单元存取接口 230j) 写入读取的値至 相应的储存单元中的指定地址 ( 例如, 储存单元 10ji-l+1 至 10ji 中的一者 )( 步 骤 S743)。处理单元 610 将错误修正码计数器加一后 ( 步骤 S745), 判断错误修正码计数器 的值是否超过阈值, 例如, l-1( 步骤 S751)。若是, 则回到步骤 S711 继续下一个独立磁盘冗 余阵列群组的写入作业 ; 否则, 回到步骤 S741, 用以写入独立磁盘冗余阵列群组中未完成 的垂直错误修正码。 0039 图 8 是依据本发明实施例的执行于储存单元存取接口中的数据写入方法流程图。 此方法可应用于储存单元存取接。
42、口 2300 至 230j 中的一者。当储存单元存取接口由仲 裁单元 660 接收到将特定长度的讯息 ( 例如, 32K 比特组的讯息 ) 写入储存单元的指示后 ( 步骤 S811), 反复执行一个包含步骤 S821 至 S831 的数据写入循环直到完成所有的写入作 业。详细来说, 针对每一回合的写入作业, 储存单元存取接口从仲裁单元 660 取得指定长度 的讯息 ( 例如, 1K 比特组的讯息 )( 步骤 S821), 依据取得的讯息产生水平错误修正码 ( 步 骤 S823), 以及将讯息及产生的水平错误修正码写入指定储存单元中的指定字线的下一个 区段的地址 ( 步骤 S825)。于此须注意。
43、的是, 于步骤 S825 中, 若为第一回合的写入作业, 则 将读取的讯息及产生的水平错误修正码写入指定字线的第一个区段的地址。接着, 储存单 元存取接口判断是否完成所有的写入作业(步骤S831)。 若是, 则结束整个流程 ; 否则, 回到 步骤 S821 用以进行下一回合的写入作业。图 19A 是依据本发明实施例的数据写入时序图。 储存单元存取接口 2300 至 2303 分别以通道 CH0 至 CH3 表示, 而连接至每个储存单元 存取接口的储存单元分别以 CE0 至 CE3 表示。图 19A 是写入一个页面 PG0 的数据 ( 包含讯 息及水平错误修正码, 或者是垂直错误修正码 ) 至所。
44、有储存单元 1000 至 1033 中 的第一个字线 WL0 的例子。仲裁单元 660 通过通道 CH0 至 CH3 依序将页面 PG0 的数据传送 说 明 书 CN 104425018 A 9 7/15 页 10 到每个通道所连接的第一个储存单元 CE0 中的缓存器 ( 未显示 ), 接着, 发送写入命令给所 有连接的储存单元CE0, 用以开始实际的写入作业。 当储存单元CE0中的任一者接收到写入 命令后, 随即进入忙碌状态 (busy state) 来将缓存器中的页面 PG0 的数据写入到字线 WL0 中的单层式单元。当所有储存单元 CE0 开始实际的数据写入作业时, 通道 CH0 至 C。
45、H3 处于 可用状态, 使得仲裁单元 660 可利用通道 CH0 至 CH3 依序将页面 PG0 的数据传送到每个通 道所连接的第二个储存单元 CE1 中的缓存器 ( 未显示 )。熟习此技艺人士可观察到由于使 用以上的独立磁盘冗余阵列群组的数据摆放方式, 使得通道 CH0 至 CH3 具有较少的闲置时 间, 并得以有效利用来传送数据至储存单元。 0040 图 9 是依据本发明实施例的用以执行读取作业的系统方块图。处理单元 910 可使 用多种方式实施, 例如以专用硬体电路或通用硬体 ( 例如, 单一处理器、 具平行处理能力的 多处理器、 图形处理器或其他具运算能力的处理器 ), 并且在执行程序。
46、码或软体时, 提供之 后所描述的功能。储存单元 1000 至 10ji 中的任一者可包含多个单层式单元。储 存单元存取接口 (2300 至 230j 中的一者 ) 读取相应的储存单元中一个区段的值后, 会 将读取的内容传到区段解码单元 960。区段解码单元 960 首先利用其中的水平错误修正码 检查其中的讯息是否有错误, 若是, 则尝试使用其中的水平错误修正码进行修正。 当讯息内 容正确或已经修正成功后, 区段解码单元 960 舍弃水平错误修正码, 将讯息内容储存至缓 存器 950 中, 使得其他电子装置可经由处理单元存取接口 250 读取解码后的讯息。当区段 解码单元 960 使用其中的水平。
47、错误修正码还没办法修正讯息中的错误时, 会发讯息通知处 理单元 910, 讯息中包含发生错误但无法复原的区段地址等信息。接着, 处理单元 910 会启 动垂直修正程序。于垂直修正程序中, 处理单元 910 先取得此区段地址所属的独立磁盘冗 余阵列群组的信息, 并找出可用来复原此错误区段地址中的讯息的所有其他区段地址 ( 包 含储存垂直错误修正码的区段地址 )。例如, 请参考图 5B, 假设区段 410000 中的讯 息 510000 包含了即使使用水平错误修正码 530000 还无法修正的错误时, 其 他可用来尝试进行修正的区段为 410010 至 410ji0。接着, 处理单元 910 指 。
48、示区段解码单元 960 垂直修正程序已启动, 决定相应于无法修正的区段的其他区段, 并且 指示储存单元存取接口 2300 至 230j 读取指定的其他区段的值。当垂直修正程序启动 时, 区段解码单元 960 会通过储存单元存取接口 2300 至 230j 依序获得指定区段的值, 并在解码完成后传送给磁盘阵列解码单元 930。磁盘阵列解码单元 930 可使用所有所需区 段的数据 ( 包含原始讯息以及垂直错误修正码 ) 来复原先前无法修正的错误, 并将复原的 结果传送至缓存器 950, 使得其他电子装置可经由处理单元存取接口 250 读取修正后的讯 息。须注意的是, 图 9 的处理单元 910 与图 6 的处理单元 610 可为同一个处理单元, 本发明 并不因此受限。 0041 图 10 是依据本发明实施例的执行于区段解码单元中的数据读取方法流程图。区 段解码单元 960 从储存单元存取接口 2300 至 230j 中的一者获得一个区段的值后 ( 步 骤 S1010), 使用其中的水平错误修正码检查其中的讯息是否正确 ( 步骤 S1020)。