驱动独立磁碟冗余数组引擎的方法和装置制造方法及图纸

技术编号:37959459 阅读:13 留言:0更新日期:2023-06-30 09:34
本发明专利技术涉及一种驱动独立磁碟冗余数组(Redundant Array of Independent Disks,RAID)引擎的装置和方法,该装置包含:命令队列;对照表;转换器;配置寄存器;和RAID控制器。命令队列存储由处理单元所推入的多个命令,每个命令包含操作码和参数,用于指示与RAID引擎的物理层交互操作。对照表包含多笔纪录,每笔纪录存储特定操作码和特定参数所对应的用于驱动与RAID引擎的接口的驱动值。转换器依据命令队列中的任何命令的操作码和参数从对照表获取相应的驱动值。配置寄存器存储由转换器所获取的驱动值。RAID控制器依据配置寄存器中的驱动值完成一系列与RAID引擎的物理层信号交互。互。互。

【技术实现步骤摘要】
驱动独立磁碟冗余数组引擎的方法和装置


[0001]本专利技术涉及存储装置,特别是,本专利技术涉及一种驱动独立磁碟冗余数组引擎的装置和方法。

技术介绍

[0002]闪存通常分为NOR闪存与NAND闪存。NOR闪存为随机存取装置,中央处理器(Host)可于地址引脚上提供任何存取NOR闪存的地址,并及时地从NOR闪存的数据引脚上获得存储于该地址上的数据。相反地,NAND闪存并非随机存取,而是串行存取。NAND闪存无法像NOR闪存一样,可以存取任何随机地址,中央处理器反而需要写入串行的字节(Bytes)的值到NAND闪存中,用于定义请求命令(Command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(闪存中写入操作的最小数据块)或一个区块(闪存中抹除操作的最小数据块)。
[0003]闪存控制器通常使用纠错码(Error Correcting Code,ECC)来修复使用者数据于通过通道或存储时发生的错误。在数据写入时,闪存控制器编码使用者数据来产生纠错码的冗余信息。这些冗余信息让闪存控制器在数据读取时,可以修正发生在使用者数据中任意位置的有限数目的错误比特,而不需要重读。为了防止读取页面的使用者数据含有超过纠错码所能够修正回来的错误比特而发生的重大错误,闪存控制器可让默认数目的页面形成一个页面群组(Page Group),并且依据页面群组的使用者数据产生页面群组的奇偶校验码。通常NAND闪存中会包含一个专用的独立磁碟冗余数组引擎(Redundant Array of Independent Disks,RAID engine)来完成页面群组的奇偶校验码的计算,然而,驱动RAID引擎需要耗费处理单元大量的时间和运算资源。因此,本专利技术提出一种驱动独立磁碟冗余数组引擎的装置和方法,用于提升系统的整体效能。

技术实现思路

[0004]有鉴于此,如何减轻或消除上述相关领域的缺失,实为有待解决的问题。
[0005]本专利技术涉及一种驱动独立磁碟冗余数组(Redundant Array of Independent Disks,RAID)引擎的装置,包含:命令队列;对照表;转换器;配置寄存器;和独立磁碟冗余数组控制器。命令队列存储由处理单元所推入的多个命令,每个命令包含操作码和参数,用于指示与RAID引擎的物理层交互操作。对照表包含多笔纪录,每笔纪录存储特定操作码和特定参数所对应的用于驱动与RAID引擎的接口的驱动值。转换器依据命令队列中的任何命令的操作码和参数从对照表获取相应的驱动值。配置寄存器存储由转换器所获取的驱动值。RAID控制器依据配置寄存器中的驱动值完成一系列与RAID引擎的物理层信号交互。
[0006]本专利技术还涉及一种驱动独立磁碟冗余数组引擎的方法,由独立磁碟冗余数组控制器执行,独立磁碟冗余数组控制器包含配置寄存器。该方法包含:依据所述配置寄存器中的驱动值与所述RAID引擎进行一系列物理层的信号交互以完成驱动操作,其中,驱动值相应于由处理单元所发出的命令,并且在RAID控制器和RAID引擎协力完成驱动操作的期间,处
理单元执行与页面群组的奇偶校验码的编码和译码无关的运算任务。
[0007]上述实施例的优点之一,通过如上所述的RAID控制器的设置,避免处理单元直接驱动RAID引擎时需要耗费时间和运算资源来控制与RAID引擎通信的物理层物理信号,以及等待RAID引擎完成驱动操作的准备时间。
[0008]本专利技术的其他优点将配合以下的说明和说明书附图进行更详细的解说。
附图说明
[0009]此处所说明的说明书附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
[0010]图1显示页面、奇偶校验码页面及其纠错码的逻辑数据组织示意图。
[0011]图2为依据本专利技术实施例的电子装置的系统架构图。
[0012]图3为依据本专利技术实施例的独立磁碟冗余数组(Redundant Array of Independent Disks,RAID)前处理器的硬件框图。
[0013]图4为依据本专利技术实施例的中断程序的时序图。
[0014]图5为依据本专利技术实施例的RAID控制器与RAID引擎之间的初始化RAID引擎的时序图。
[0015]图6为依据本专利技术实施例的驱动RAID引擎的方法流程图。
[0016]其中,附图标记:
[0017]10 电子装置
[0018]110 主机端
[0019]130 闪存控制器
[0020]131 主机接口控制器
[0021]132 总线架构
[0022]134 处理单元
[0023]135 独立磁碟冗余数组前处理器
[0024]136 随机存取存储器
[0025]137 独立磁碟冗余数组引擎
[0026]139 闪存接口控制器
[0027]150 闪存模块
[0028]322 命令队列
[0029]324 转换器
[0030]326 对照表
[0031]332 配置暂存电路
[0032]334 配置寄存器
[0033]342 读取引擎
[0034]344 读取先进先出缓冲器
[0035]352 写入引擎
[0036]354 写入先进先出缓冲器
[0037]362 输出寄存器
[0038]364 输出元件
[0039]372 输出队列
[0040]412、422、434 失效信号
[0041]414、424、432 生效信号
[0042]S610~S660 方法步骤
具体实施方式
[0043]以下将配合相关附图来说明本专利技术的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
[0044]必须了解的是,使用在本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、元件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
[0045]本专利技术中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
[0046]必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。使用于描述组件之间关系的其他语词也可类似方式解读,例如“介于”相对于“直接介于”,或者是“邻接”相对于“直接邻接”等等。
[0047]为了达到数据的容错性,闪存控制器可依据每页的使用者数据产生纠错码(Error Correcting Code,E本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种驱动独立磁碟冗余数组引擎的装置,其特征在于,包括:命令队列,用于存储由处理单元所推入的多个命令,每个所述命令包含操作码和第一参数,指示与所述独立磁碟冗余数组引擎的物理层交互操作;对照表,包含多笔纪录,每笔所述纪录存储特定操作码和特定第一参数所对应的用于驱动与所述独立磁碟冗余数组引擎的接口的驱动值;转换器,耦接所述命令队列和所述对照表,用于依据所述命令队列中的任何所述命令的所述操作码和所述第一参数从所述对照表获取相应的所述驱动值;配置寄存器,用于存储由所述转换器所获取的所述驱动值;以及独立磁碟冗余数组控制器,耦接所述配置寄存器,用于依据所述配置寄存器中的所述驱动值完成一系列与所述独立磁碟冗余数组引擎的物理层信号交互。2.如权利要求1所述的驱动独立磁碟冗余数组引擎的装置,其特征在于,包括:读取缓冲器;读取引擎,耦接所述读取缓冲器;其中,所述独立磁碟冗余数组控制器耦接所述读取缓冲器和所述读取引擎,依据所述配置寄存器中的所述驱动值发出第一启动信号和第二参数给所述读取引擎,用于指示所述读取引擎从随机存取存储器的第一地址读取使用者数据、奇偶校验码或者临时性编码结果,以及存储所述使用者数据、所述奇偶校验码或者所述临时性编码结果至所述读取缓冲器;从所述读取缓冲器读取所述使用者数据、所述奇偶校验码或者所述临时性编码结果;以及通过数据线传送所述使用者数据、所述奇偶校验码或者所述临时性编码结果给所述独立磁碟冗余数组引擎。3.如权利要求1所述的驱动独立磁碟冗余数组引擎的装置,其特征在于,包括:写入缓冲器;写入引擎,耦接所述写入缓冲器;其中,所述独立磁碟冗余数组控制器耦接所述写入缓冲器和所述写入引擎,依据所述配置寄存器中的所述驱动值通过数据线从所述独立磁碟冗余数组引擎获取临时性编码结果或者奇偶校验码;存储所述临时性编码结果或者所述奇偶校验码至所述写入缓冲器;以及发出第二启动信号和第三参数给所述写入引擎,用于指示所述写入引擎从所述写入缓冲器读取所述奇偶校验码或者所述奇偶校验码,并且将所述奇偶校验码或者所述奇偶校验码写入所述随机存取存储器的第二地址。4.如权利要求1所述的驱动独立磁碟冗余数组引擎的装置,其特征在于,包括:配置暂存电路,耦接所述转换器和所述配置寄存器,包含输出元件和寄存器,其中,所述独立磁碟冗余数组控制器依据所述配置寄存器中的所述驱动值完成驱动所述独立磁碟冗余数组引擎的操作后,发出第三启动信号给所述配置暂存电路,用于驱动所述输出元件将所述寄存器的驱动值输出到所述配置寄存器;以及发出第四启动信号给所述转换器,用于驱动所述转换器从所述命令队列获取一个所述命令,依据获取的所述命令中的操作码和参数从所述对照表获取相应的所述驱动值,并且设定新获取的所述驱动值到所述配置暂存电路中的所述寄存器。5.如权利要求1所述的驱动独立磁碟冗余数组引擎的装置,其特征在于,包括:输出队列,耦接所述独立磁碟冗余数组控制器,
其中,所述独立磁碟冗余数组控制器在完成与所述独立磁碟冗余数组引擎的物理层信号交互后输出相应于所述命令的执行结果至所述输出队列。6.如权利要求5所述的驱动独立磁碟冗余数组引擎的装置,其特征在于,包括:输出元件,耦接所述输出队列和所述独立磁碟冗余数组控制器;以及输出寄存器,耦接输出元件和所述独立磁碟冗...

【专利技术属性】
技术研发人员:李联育邱慎廷
申请(专利权)人:慧荣科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1