独立磁盘冗余阵列(RAID)写入高速缓存子部件制造技术

技术编号:7143889 阅读:298 留言:0更新日期:2012-04-11 18:40
在至少一些实施例中,计算系统包括处理器以及所述处理器外部的通信总线。所述计算系统还包括耦合到通信总线的独立磁盘冗余阵列(RAID)写入高速缓存子部件,RAID写入高速缓存子部件具有非易失性存储器。

【技术实现步骤摘要】
【国外来华专利技术】独立磁盘冗余阵列(RAID)写入高速缓存子部件
技术介绍
独立磁盘冗余阵列(RAID)技术将多个小且廉价的磁盘驱动器组合为产生超出一个大且昂贵的磁盘驱动器的性能的性能的阵列。RAID提供诸如冗余、较低的等待时间、较高的带宽以及数据可恢复性之类的益处。RAID阵列对于计算机来说好像是一个或者多个逻辑存储单元或虚拟磁盘驱动器。对于RAID存在两种现有的方法基于硬件的RAID和基于软件的RAID。基于硬件的RAID独立于主机管理驱动器,并且向主机呈现一个或者多个虚拟磁盘。通常,基于硬件的RAID利用在磁盘驱动器与主机之间接口的RAID控制器卡。基于硬件的RAID的益处包括使主机处理器开销最小化,使主机系统存储器开销最小化,并且提供非易失性RAID写入高速缓存。然而,基于硬件的RAID对于许多消费者来说呈现不期望的费用。基于软件的RAID在主机中实施各种RAID等级。基于软件的RAID是廉价的,并且可以提供高性能。然而,其需要主机处理器和系统存储器开销。另外,由于基于软件的RAID 依靠易失性系统存储器,因此在写入处理完成之前被中断(例如由于电力故障)的情况下, 数据可能丢失。附图说明为了详细描述本专利技术的示例实施例,现在将参照附图,附图中 图1图示了根据各实施例的独立磁盘冗余阵列(RAID)系统;图2图示了根据各实施例的计算机系统;图3A和;3B图示了根据各实施例的RAID写入高速缓存卡或者子部件(sub-assembly);以及图4示出了根据各实施例的方法。注释和术语贯穿以下的描述和权利要求使用特定的术语来指代特定的系统组件。如本领域技术人员将理解的,计算机公司可以通过不同的名称来指代组件。本文献不意在在名称不同、但功能相同的组件之间进行区分。在以下的讨论中并且在权利要求中,以开放式的方式使用术语“包括”和“包含”,并且由此它们应当被解释为指“包括,但不限于…”。而且,术语“耦合” 或“耦接”意在指间接、直接、光、或者无线连接。由此,如果第一设备与第二设备耦合,则该连接可以是通过直接连接、通过经由其它设备和连接的间接连接、通过光连接、或者通过无线连接。术语“系统”指代两个或者更多个硬件和/或软件组件的集合,并且可以被用于指代一个或多个电子设备或者其子系统。另外,术语“软件”包括任何能够在处理器上运行的可执行代码,无论用于存储软件的介质如何。由此,存储在非易失性存储器中的并且有时被称作“嵌入式固件”的代码被包括在软件的定义内。具体实施例方式以下的讨论针对本专利技术的各个实施例。尽管这些实施例中的一个或多个可能是优选的,但是所公开的实施例不应当被解释或者另外用作限制公开(包括权利要求书)的范围。另外,本领域技术人员将理解以下的描述具有广泛的应用,并且任何实施例的讨论仅意为该实施例的示例,而不意在暗示公开(包括权利要求书)的范围限于该实施例。所述公开的实施例在没有RAID控制器卡的情况下提供独立磁盘冗余阵列(RAID) 功能。在至少一些实施例中,基于软件的RAID通过在外围通信总线(例如快速外围组件互连(PCIe)总线)上提供非易失性RAID写入高速缓存来增强。图1图示了根据各个实施例的RAID系统100。如所示的,RAID系统100提供RAID控制器卡功能102,以支持多个磁盘 112A-112N。RAID控制器卡功能102包括、但不限于RAID等级处理逻辑104、非易失性写入高速缓存106、磁盘接口 108、以及存储器到存储器接口 110。不实施传统的RAID控制器卡, 各实施例将各功能102分配给这里所述的计算机系统的其它组件。根据各实施例,功能102支持已知的RAID操作,诸如条带化(striping)和数据镜像。条带化包含将数据分为大小一致的块并且将这些块分布在磁盘112A-112N中的至少一些上。如果磁盘112A-112N的读取/写入头同时有效,则条带化可以提高数据传输的速度。 通常,数据镜像提供数据冗余。RAID-0、RAID-1、RAID-5、以及RAID-6是数据冗余方案的示例。图2图示了根据各实施例的计算机系统200。如所示的,计算机系统200包括经由双处理器接口连接的CPU 202A和202B。在替代实施例中,可以实施额外的或者更少的CPU。 无论CPU的数量如何,CPU中的至少一个(例如CPU 202B)包括RAID等级处理逻辑104以支持前面所述的RAID操作。RAID等级处理逻辑104可以包括硬件、固件和/或软件。在至少一些实施例中,RAID等级处理逻辑104对应于基于软件的RAID功能。CPU 202B与多个双内联存储器模块(DMM)210A-210D经由诸如双数据速率3 (DDR-3)之类的存储器模块协议通信。可替代地,可以使用其它存储器模块协议。如所示的,CPU 202B还包括外围接口 208,其可以是快速外围组件互连(PCIe)接口。在这种情况下,外围接口 208与计算机系统200的各个内部或外部组件之间的通信基于PCIe协议。在一些实施例中,外围接口 208耦合到具有磁盘接口 108的南桥220。在这种实施例中,外围接口 208与南桥220之间的通信可以基于PCIe协议或者其它协议。另外,南桥 220与磁盘112A-112N之间的通信可以基于串行连接SCSI (SAS)协议、串行ATA (SATA)协议、通用串行总线(USB)协议、或者另一种由磁盘接口 108实施的通信协议。外围接口 208还耦合到RAID写入高速缓存卡或者子部件230 (即,各组件可以装配在卡或者其他位置上)。如所示的,RAID写入高速缓存卡或者子部件230包括耦合到非易失性写入高速缓存106的协议转换器逻辑232。协议转换器逻辑232将从外围接口 208接收到的通信总线数据转换为存储器模块数据,以存储在非易失性写入高速缓存106中。作为示例,协议转换器逻辑232可以将PCIe生成3数据转换为DDR-3数据,反之亦然。根据各实施例,非易失性写入高速缓存106包括动态随机存取存储器(DRAM)、电源(例如电池), 并且在一些实施例中包括快闪存储器。如由非易失性写入高速缓存106提供的写入高速缓存基于以下原理写入到高速缓存快于写入到磁盘,并且是提高RAID系统(例如RAID系统100)的I/O性能的成本有效的方式。在写入处理中,将写入数据写入到高速缓存,并且对于发出写入的主机将写入处理确认为“完成”。稍后,可以将高速缓存的写入写入或者刷到磁盘。当主机接收到“完成”确认时,其假定数据永久存储在盘上。如果I/O组件失去电力,则写入高速缓存可以导致不正确的数据被传递给应用并且在电力恢复时可以破坏数据库。为了改善或者消除这种问题, 非易失性写高速缓存106存储可以在计算机系统200从崩溃或者电力失去中恢复时完成进行中的写入所使用的信息。图3A图示了根据各个实施例的RAID写入高速缓存卡或者子部件230A。如所示的,RAID写入高速缓存卡或者子部件230A包括控制逻辑302 (例如专用集成电路(ASIC)或者其它半导体器件),其具有协议转换器逻辑232以及存储器到存储器接口 110。在一些实施例中,控制逻辑302对应于现场可编程门阵列(FPGA)。而且,存储器到存储器接口 110可以对应于直接存储器存取(DMA)本文档来自技高网...

【技术保护点】
1. 一种计算机系统,包括:处理器;耦合到所述处理器的磁盘接口;所述处理器外部的通信总线;以及耦合到所述通信总线的独立磁盘冗余阵列(RAID)写入高速缓存子部件,RAID写入高速缓存子部件具有非易失性存储装置。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:RC埃利奥特
申请(专利权)人:惠普开发有限公司
类型:发明
国别省市:US

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

1