CN102203751A - 独立磁盘冗余阵列(raid)写入高速缓存子部件 - Google Patents

独立磁盘冗余阵列(raid)写入高速缓存子部件 Download PDF

Info

Publication number
CN102203751A
CN102203751A CN200880131800XA CN200880131800A CN102203751A CN 102203751 A CN102203751 A CN 102203751A CN 200880131800X A CN200880131800X A CN 200880131800XA CN 200880131800 A CN200880131800 A CN 200880131800A CN 102203751 A CN102203751 A CN 102203751A
Authority
CN
China
Prior art keywords
write cache
raid
subassembly
computer system
dram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200880131800XA
Other languages
English (en)
Inventor
R.C.埃利奥特
J.E.福斯特
S.塔瓦莱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102203751A publication Critical patent/CN102203751A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

在至少一些实施例中,计算系统包括处理器以及所述处理器外部的通信总线。所述计算系统还包括耦合到通信总线的独立磁盘冗余阵列(RAID)写入高速缓存子部件,RAID写入高速缓存子部件具有非易失性存储器。

Description

独立磁盘冗余阵列(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与多个双内联存储器模块(DIMM)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)接口。在一些实施例中,CPU 202B包括至少一些存储器到存储器接口110,或者提供额外的或者替代的存储器到存储器接口。
RAID写入高速缓存卡或者子部件230A还包括DRAM 304以及电池306,所述电池306即使在计算机系统200崩溃或者失去电力的情况下也向控制逻辑302和/或DRAM 304提供电力。DRAM 304和电池308一起表示电池备用的DRAM(battery-backed DRAM),或者更一般地表示某种非易失性存储装置。当计算机系统200已经恢复时,存储在DRAM 304中的信息可被用于完成当计算机系统200崩溃或者失去电力时在进行中的RAID写入。
图3B图示了根据各实施例的RAID写入高速缓存卡或者子部件230B。如所示的,RAID写入高速缓存卡或者子部件230B包括控制逻辑302,其具有协议转换器逻辑232以及存储器到存储器接口110(例如DMA接口)。在一些实施例中,CPU 202B包括至少一些存储器到存储器接口110,或者提供额外的或者替代的存储器到存储器接口110。
RAID写入高速缓存卡或者子部件230B还包括DRAM 304、快闪存储器308以及电源310(例如电池或者电容器)。电源310即使在计算机系统200崩溃或者失去电力的情况下也向控制逻辑302、DRAM 304、和/或快闪存储器308提供电力。DRAM 304、快闪存储器308和电源310一起表示非易失性存储装置。在一些实施例中,在检测到计算机系统200崩溃或者电力失去时,电源310使得数据能够从DRAM 304经由存储器到存储器接口110传送到快闪存储器308。当计算机系统200恢复时,数据被从快闪存储器308传送回DRAM 304,并且存储在DRAM 304中的信息可被用于完成当计算机系统200崩溃或者失去电力时在进行中的写入。
图4图示了根据各实施例的方法400。如所示的,方法400在框402处开始,并且通过将数据从通信总线协议转换为存储器模块协议(框404)而继续。数据被存储在非易失性RAID写入高速缓存中(框406),并且方法400在框408处结束。在至少一些实施例中,方法400也可以包括为非易失性RAID写入高速缓存执行存储器到存储器操作。作为示例,方法400可以包含确定计算机系统何时崩溃或失去电力以及作为响应将数据从DRAM传送到快闪存储器。DRAM和快闪存储器可以是RAID写入高速缓存卡或者子部件的一部分。
上述讨论意在例示本发明的原理和各个实施例。对于本领域技术人员来说,一旦上述公开被完全理解,许多变化和修改将变得显而易见。意在随后的权利要求被解释为包括所有这种变化和修改。

Claims (15)

1. 一种计算机系统,包括:
处理器;
耦合到所述处理器的磁盘接口;
所述处理器外部的通信总线;以及
耦合到所述通信总线的独立磁盘冗余阵列(RAID)写入高速缓存子部件,RAID写入高速缓存子部件具有非易失性存储装置。
2. 如权利要求1所述的计算机系统,其中所述非易失性存储装置包括电池备用的动态随机存取存储器(DRAM)。
3. 如权利要求1所述的计算机系统,其中所述非易失性存储装置包括动态随机存取存储器(DRAM)、电源以及快闪存储器。
4. 如权利要求3所述的计算机系统,其中所述RAID写入高速缓存子部件还包括用于在所述计算机系统失去电力时将数据从DRAM传送到快闪存储器的电池和直接存储器存取(DMA)逻辑。
5. 如权利要求1所述的计算机系统,还包括与所述处理器相关联的芯片组,其中所述芯片组包括用于与RAID磁盘驱动器通信的逻辑。
6. 如权利要求1所述的计算机系统,其中所述处理器执行至少一些RAID控制器操作。
7. 如权利要求1所述的计算机系统,其中所述RAID写入高速缓存子部件还包括用于将数据从所述通信总线的协议转换为动态随机存取存储器(DRAM)协议以及将数据从动态随机存取存储器(DRAM)协议转换为所述通信总线的协议的逻辑。
8. 如权利要求1所述的计算机系统,其中所述通信总线对应于快速PCI总线,并且其中RAID写入高速缓存子部件包括快速PCI兼容卡。
9. 一种独立磁盘冗余阵列(RAID)写入高速缓存子部件,包括:
用于将数据在通信总线协议与存储器模块协议之间转换的逻辑;以及
耦合到所述逻辑的非易失性RAID写入高速缓存。
10. 如权利要求9所述的RAID写入高速缓存子部件,其中所述非易失性RAID写入高速缓存包括电池备用的动态随机存取存储器(DRAM)。
11. 如权利要求9所述的RAID写入高速缓存子部件,其中所述非易失性RAID写入高速缓存包括快闪存储器和电源。
12. 如权利要求9所述的RAID写入高速缓存子部件,还包括用于对于电池备用的RAID写入高速缓存执行存储器到存储器操作的直接存储器存取(DMA)接口。
13. 一种用于独立磁盘冗余阵列(RAID)写入高速缓存子部件的方法,包括:
将数据从通信总线协议转换为存储器模块协议;以及
将数据存储在非易失性RAID写入高速缓存中。
14. 如权利要求13所述的方法,还包括对于非易失性RAID写入高速缓存执行存储器到存储器操作。
15. 如权利要求13所述的方法,还包括确定计算系统何时失去电力以及作为响应将数据从动态随机存取存储器(DRAM)传送到快闪存储器。
CN200880131800XA 2008-10-30 2008-10-30 独立磁盘冗余阵列(raid)写入高速缓存子部件 Pending CN102203751A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/081700 WO2010050947A1 (en) 2008-10-30 2008-10-30 Redundant array of independent disks (raid) write cache sub-assembly

Publications (1)

Publication Number Publication Date
CN102203751A true CN102203751A (zh) 2011-09-28

Family

ID=42129104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880131800XA Pending CN102203751A (zh) 2008-10-30 2008-10-30 独立磁盘冗余阵列(raid)写入高速缓存子部件

Country Status (6)

Country Link
US (1) US20110225353A1 (zh)
EP (1) EP2350842B1 (zh)
JP (1) JP5426684B2 (zh)
KR (1) KR101475113B1 (zh)
CN (1) CN102203751A (zh)
WO (1) WO2010050947A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528001A (zh) * 2016-12-05 2017-03-22 北京航空航天大学 一种基于非易失性存储器和软件raid的缓存系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI401567B (zh) * 2010-05-07 2013-07-11 Promise Tecnnology Inc 資料儲存系統及其控制方法
US8484408B2 (en) * 2010-12-29 2013-07-09 International Business Machines Corporation Storage system cache with flash memory in a raid configuration that commits writes as full stripes
US20130111103A1 (en) * 2011-10-28 2013-05-02 International Business Corporation High-speed synchronous writes to persistent storage
US9552176B2 (en) 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
US9535828B1 (en) * 2013-04-29 2017-01-03 Amazon Technologies, Inc. Leveraging non-volatile memory for persisting data
JP6380322B2 (ja) * 2015-09-29 2018-08-29 コニカミノルタ株式会社 画像形成装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
EP0707267A3 (en) * 1994-10-12 1996-07-03 Ibm Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring
US5758187A (en) * 1996-03-15 1998-05-26 Adaptec, Inc. Method for enhancing performance of a RAID 1 read operation using a pair of I/O command blocks in a chain structure
JPH10154065A (ja) * 1996-11-26 1998-06-09 Fujitsu Ltd バス制御装置
US6098114A (en) * 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6446220B1 (en) * 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6141747A (en) * 1998-09-22 2000-10-31 Advanced Micro Devices, Inc. System for store to load forwarding of individual bytes from separate store buffer entries to form a single load word
US6321298B1 (en) * 1999-01-25 2001-11-20 International Business Machines Corporation Full cache coherency across multiple raid controllers
JP2002099390A (ja) * 2000-09-22 2002-04-05 Toshiba Corp ディスク制御装置
US6687765B2 (en) * 2001-01-16 2004-02-03 International Business Machines Corporation System, method, and computer program for explicitly tunable I/O device controller
US7340555B2 (en) * 2001-09-28 2008-03-04 Dot Hill Systems Corporation RAID system for performing efficient mirrored posted-write operations
US7315911B2 (en) * 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
JP4651913B2 (ja) * 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
US7493441B2 (en) * 2005-03-15 2009-02-17 Dot Hill Systems Corporation Mass storage controller with apparatus and method for extending battery backup time by selectively providing battery power to volatile memory banks not storing critical data
US7661002B2 (en) * 2005-08-04 2010-02-09 Dot Hill Systems Corporation Storage controller super capacitor dynamic voltage throttling
US20070101158A1 (en) * 2005-10-28 2007-05-03 Elliott Robert C Security region in a non-volatile memory
US7627714B2 (en) * 2006-08-22 2009-12-01 International Business Machines Corporation Apparatus, system, and method for preventing write starvation in a partitioned cache of a storage controller
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
US20100199039A1 (en) * 2009-01-30 2010-08-05 International Business Machines Corporation Systems and Methods for Optimizing Host Reads and Cache Destages in a Raid System

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528001A (zh) * 2016-12-05 2017-03-22 北京航空航天大学 一种基于非易失性存储器和软件raid的缓存系统
CN106528001B (zh) * 2016-12-05 2019-08-23 北京航空航天大学 一种基于非易失性存储器和软件raid的缓存系统

Also Published As

Publication number Publication date
KR101475113B1 (ko) 2014-12-22
JP2012507784A (ja) 2012-03-29
KR20110080155A (ko) 2011-07-12
WO2010050947A1 (en) 2010-05-06
EP2350842A4 (en) 2013-01-23
EP2350842A1 (en) 2011-08-03
EP2350842B1 (en) 2015-02-25
JP5426684B2 (ja) 2014-02-26
US20110225353A1 (en) 2011-09-15

Similar Documents

Publication Publication Date Title
US10896105B2 (en) SAS storage virtualization controller, subsystem and system using the same, and method therefor
CN103793182B (zh) 用于可扩展存储保护的系统和方法
CN102203751A (zh) 独立磁盘冗余阵列(raid)写入高速缓存子部件
USRE49117E1 (en) Switch module and storage system
EP2843538B1 (en) Redundant SAS storage virtualization subsystem and system using the same, and controller and method therefor
US7818485B2 (en) IO processor
US20100125695A1 (en) Non-volatile memory storage system
US20120131270A1 (en) Storage system and control method thereof
US11157204B2 (en) Method of NVMe over fabric RAID implementation for read command execution
US8850128B2 (en) Implementing data storage and dual port, dual-element storage device
US20150143027A1 (en) Solid state drive with raid functions
US9842024B1 (en) Flash electronic disk with RAID controller
US20120159067A1 (en) System and method for handling io to drives in a raid system
US20180089088A1 (en) Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache
US20150081967A1 (en) Management of storage read requests
CN103534688A (zh) 数据恢复方法、存储设备和存储系统
US20130254455A1 (en) Solid state drive interface controller and method of controlling solid state drive interface
KR20200093362A (ko) 메모리 시스템 및 그것의 동작 방법
KR20160097657A (ko) 데이터 저장 장치 그리고 그것의 동작 방법
US20180293012A1 (en) System and Method for Cost and Power Optimized Heterogeneous Dual-Channel DDR DIMMs
US8291153B2 (en) Transportable cache module for a host-based raid controller
CN103729148A (zh) 一种具有raid功能的固态硬盘
CN103729147A (zh) 一种独立模块的冗余阵列
CN101135950B (zh) 磁盘适配卡
US20080034380A1 (en) Raid control method and core logic device having raid control function

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110928