CN101923446B - 存储阵列辅助架构 - Google Patents

存储阵列辅助架构 Download PDF

Info

Publication number
CN101923446B
CN101923446B CN200910170668.XA CN200910170668A CN101923446B CN 101923446 B CN101923446 B CN 101923446B CN 200910170668 A CN200910170668 A CN 200910170668A CN 101923446 B CN101923446 B CN 101923446B
Authority
CN
China
Prior art keywords
unloading
esm
ioc
storage
control unit
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.)
Expired - Fee Related
Application number
CN200910170668.XA
Other languages
English (en)
Other versions
CN101923446A (zh
Inventor
R·A·德科宁
B·S·韦伯
W·P·德拉尼
K·戴伊
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.)
NetApp Inc
Original Assignee
NetApp Inc
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 NetApp Inc filed Critical NetApp Inc
Publication of CN101923446A publication Critical patent/CN101923446A/zh
Application granted granted Critical
Publication of CN101923446B publication Critical patent/CN101923446B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • 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/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

公开了一种存储阵列辅助架构和存储系统架构。环境服务模块(ESM)耦接至一个或多个阵列控制器。ESM配置有中央处理单元和一个或多个辅助功能模块。辅助功能模块可以包括非易失性存储器。该非易失性存储器可以用于写入缓存、镜像数据和/或配置数据。通过阵列控制器使用SCSI或RDMA命令来控制辅助功能模块或者ESM。

Description

存储阵列辅助架构
背景技术
大容量存储系统持续提供不断增加的存储能力以满足用户需求。照片和电影存储以及照片和电影共享是拉动对越来越大的存储系统的需求增长的应用的示例。
对于这些不断增长的需求的一种解决方案是使用多廉价盘阵列。可以按照提供冗余和错误恢复而不丢失任何数据的方式配置这些阵列。这些阵列还可以被配置成通过允许对多个盘驱动器的数据的同时读取或者写入来提高读取和写入性能。这些阵列还可以被配置成允许“热插拔”,其允许故障盘被替换而不中断阵列的存储服务。无论是否提供任何冗余,这些阵列通常被称为独立冗余盘阵列(或者更常用地通过首字母RAID来指代)。来自加利福尼亚大学伯克利分校的David A.Patterson等人于1987年在名为“A Case for RedundantArrays of Inexpensive Disks(RAID)”(廉价冗余盘阵列方案)的公开物中讨论了RAID技术的基本概念和层级。
RAID存储系统通常使用对用户或者主系统屏蔽管理存储阵列的细节的控制器。控制器使得存储阵列看起来像一个或多个盘驱动器(或者卷)。尽管事实是特定卷的数据(或者冗余数据)可能散布在多个盘驱动器中,但这仍然能够实现。
发明内容
因此,本发明的实施例可以包含卸载(offload)环境服务模块(ESM),包含:作为串行连接SCSI(SAS)目标设备来配置的输入/输出控制器(IOC),IOC包含CPU和非易失性存储器并且被配置成实现至少一个被卸载的阵列控制器功能;以及SAS扩展器。
因此,本发明的实施例可以进一步包含存储系统,包含:阵列控制器;包含IOC的JBOD单元,IOC包括CPU和非易失性存储器,IOC被配置成实现至少一个被卸载的阵列控制器功能;以及SAS扩展器。
附图说明
图1是存储阵列辅助单元的框图。
图2是存储阵列辅助架构的框图。
图3是计算机系统的框图。
具体实施方式
图1是存储阵列辅助单元的框图。存储阵列系统100包含卸载(offload)简单盘捆绑(just a bunch of disks,JBOD)单元120、阵列控制器(未示出)和附加的JBOD单元(未示出)。在图1中,卸载JBOD单元120可以通过串行连接SCSI(SAS)端口耦接至多个阵列控制器。卸载JBOD单元120可以通过SAS端口耦接至附加的JBOD单元。卸载JBOD单元120可以包括盘驱动器。
卸载JBOD单元120包括卸载环境服务模块(ESM)140和卸载ESM 141。卸载ESM 140包含输入/输出控制器(IOC)150、非易失性存储器(NV存储器)160、SAS扩展器(SE)190和辅助功能模块(FN)180-1、180-2。IOC 150可以包括CPU 170。卸载ESM 141包含IOC 151、非易失性存储器161、SAS扩展器191和辅助功能模块181-1、181-2。IOC 151可以包括CPU 171。可以通过链路121耦接卸载ESM 140和卸载ESM 141,使得它们可以交换数据。卸载ESM140和卸载ESM 141提供扩展器以及环境服务监控和管理功能。辅助功能模块180-1和180-2在本申请可以被统称为辅助功能模块180。辅助功能模块181-1和181-2在本申请可以被统称为辅助功能模块181。
在实施例中,卸载ESM 140和卸载ESM 141可以包括辅助功能模块180-1、180-2、181-1和181-2,所述辅助功能模块可以包括奇偶和ECC生成装置、电池备份数据存储器、NVRAM以及控制器间写缓存。可以通过专用硬件、附加处理器、软件或者硬件和软件的组合来实现这些辅助功能模块。例如,NV存储器160和NV存储器161可以允许对写入数据的非易失性缓存。可以在NV存储器160和NV存储器161之间对该数据进行镜像,从而提供对该缓存数据的冗余存储。NV存储器160和NV存储器161可以为盘性能提供承诺(commit)。
可以通过数据保护层(DPL)软件来影响(leveraged)卸载JBOD120的特定辅助功能模块。DPL软件可以运行在阵列控制器上。可以通过将IOC 150和IC 151配置为SAS目标来实现辅助功能模块。嵌入式CPU 170和171或者辅助功能模块180和181中的嵌入式CPU可以提供处理能力。NV存储器160和161能够提供不受电源故障、系统死机等等影响的存储。NV存储器160和161可以是闪存、电池备份存储器或者类似物。请注意,IOC 150、嵌入式CPU 170以及SAS扩展器190可以被包含在同一ASIC中。同样,IOC 151、嵌入式CPU 171以及SAS扩展器191可以被包含在同一ASIC中。
存储阵列系统100可以包含诸如NV存储器160和NV存储器161的非易失性存储器,以执行写入缓存I/O处理。写入缓存I/O处理保证在发生电源故障或者I/O中断的情况下数据将会被保存。在存储阵列系统100中,可以通过阵列控制器使用例如SCSI和/或RDMA命令将写入数据写入卸载JBOD单元120中的NV存储器160或161。一旦将数据写入至NV存储器160或161,则可以认为数据被保持并且阵列控制器将能够把该状态返回至主机。卸载ESM 140或141可以实现分别将数据写入至NV存储器160或161的分叉(forked)写入能力,以及复制数据并且分别将数据发送至其它卸载ESM的NV存储器161或160。可以通过链路121在卸载ESM 140和141之间交换该写入数据。链路121可以是例如SAS、PCIe或者Infiniband连接。其它类型的链路是被预期的。
存储阵列系统100可以将写入缓存数据镜像至多个卸载ESM 140-141以保证在存储阵列控制器、卸载ESM、卸载JBOD或它们任何组合的故障期间保持数据。在这种情况下,作为冗余故障切换机制的一部分,替代的控制器、JBOD或者卸载ESM能够使被镜像到其上的数据再生(reclaim)。
在实施例中,卸载JBOD单元120可以由阵列控制器用来创建对于第二NV存储器160或161的数据的镜像。该NV存储器160或161可以位于同一卸载JBOD单元120或者系统中另一个卸载JBOD单元(未示出)的其它卸载ESM 140或141中。在另一个实施例中,卸载JBOD单元120中的NV存储器160和161可以用于阵列控制器自身的存储器的镜像。
NV存储器160或161还可以用来存储配置元数据,该配置元数据描述初始化期间应当如何配置存储阵列系统100。这可以加快电源启动时序或者指示具体的操作环境(例如,主机类型、默认设置等等)。
当存储阵列控制器准备将写回缓存数据提交(commit)至盘时,卸载JBOD 120可以发出指示CPU 170或171将NV存储器160或161中存储的写回缓存数据传输至SAS域中适当的盘位置的特定命令。接收该命令的卸载ESM 140或141可以接收数据的存储器地址、I/O设备(例如,盘或者固态盘)、要被写入的LBA,以及要被写入的数据的长度。一旦接收到命令,卸载ESM 140或141可以将适当的SCSI或SATA命令发送至I/O设备。一旦接收到确认I/O设备已经完成操作的状态,则卸载ESM 140或141可以将写回缓存数据标记为不再为“灰(dirty)”,并且将状态返回至存储阵列控制器。
在另一个实施例中,卸载ESM 140或141可以用作目标设备,其对于卸载JBOD单元120中和同一SAS域的其它JBOD中的盘呈现单个目标作为存储阵列控制器的逻辑部件号(LUN)。这可以在很多电源启动和重启条件下加速对存储阵列控制器的发现。
辅助功能模块180和181可以提供辅助计算冗余数据以实现盘驱动器间的RAID技术的硬件和/或软件功能。辅助功能模块180和181可以提供辅助执行正则表达式检索的硬件和/或软件功能。该正则表达式检索可以用于如深度包检测(DPI)或病毒特征代码识别的这类功能。辅助功能模块180和181可以提供辅助计算散列函数以辅助重复删除(de-duplication)的硬件和/或软件功能。辅助功能模块180和181可以提供XOR、ECC、压缩功能。辅助功能模块180和181可以提供其它硬件和/或软件功能。
图2是存储阵列硬件辅助架构的框图。在图2中,存储阵列系统200包含卸载JBOD单元220、阵列控制器机壳210和附加的JBOD单元221。卸载JBOD单元220还可以被称为环境服务模块(ESM)。在图2中,卸载JBOD单元220可以通过SAS端口耦接至多个阵列控制器。卸载JBOD单元220可以通过SAS端口耦接至JBOD单元221。卸载JBOD单元220和JBOD单元221可以包括盘驱动器。阵列控制器机壳210或者卸载JBOD单元220可以包括一个或多个SAS扩展器。
阵列控制器机壳210可以包括多个阵列控制器230-231。这些阵列控制器230-231中的每一个可以耦接至JBOD单元220。阵列控制器230-231可以通过一个或多个SAS端口耦接至卸载JBOD单元220中的卸载ESM 240-241。
卸载JBOD单元220包括卸载ESM 240和卸载ESM 241。卸载ESM 240包含IOC 250、辅助功能模块260-1和辅助功能模块260-2。卸载ESM 241包含IOC 251、辅助功能模块261-1和辅助功能模块261-2。可以通过链路243耦接卸载ESM 240和卸载ESM 241,使得它们可以交换数据和信息。辅助功能模块260-1和260-2在本申请可以被统称为辅助功能模块260。辅助功能模块261-1和261-2在本申请可以被统称为辅助功能模块261。
在实施例中,卸载ESM 240和卸载ESM 241可以包括辅助功能模块260-261,所述辅助功能模块可以包括奇偶和ECC生成装置、电池备份数据存储器、NVRAM以及控制器间写缓存。可以通过专用硬件、附加处理器、软件或者硬件和软件的组合来实现这些辅助功能模块。例如,辅助功能模块260-1可以包括NV存储器。该NV存储器可以允许对写入数据的非易失性缓存。可以在卸载ESM 240和卸载ESM 241之间对该数据进行镜像,从而提供对该缓存数据的冗余存储。
可以通过数据保护层(DPL)软件来影响卸载JBOD 220的特定辅助功能模块260-261。可以通过将IOC 250和IOC 251配置为SAS目标来实现该功能。此外,IOC 250和251可以提供处理能力。辅助功能模块260-261中的NV存储器能够提供不受电源故障、系统死机等等影响的存储。
阵列控制器230和231可以包含非易失性存储器以实现写入缓存I/O处理。这可以保证在发生电源故障或者I/O中断的情况下数据将会被保存。在存储阵列系统200中,可以通过阵列控制器230或231使用例如SCSI和/或RDMA命令将写入数据写入卸载JBOD单元220中的辅助功能模块260-261。一旦将数据写入至卸载JBOD单元220中的辅助功能模块260-261,则可以认为数据被保持。因而,阵列控制器230或231能够将I/O的状态返回至主机。卸载ESM 240或241可以实现将数据写入至辅助功能模块260的分叉(forked)写入能力,以及复制数据并且将数据发送至其它卸载ESM 241的NV存储器。可以通过链路243在卸载ESM 240和241之间交换该写入数据。链路243可以是例如SAS、PCIe或者Infiniband连接。其它类型的链路是被预期的。
存储阵列系统200可以将写入缓存数据镜像至阵列控制器230和阵列控制器231以保证在存储阵列控制器230或231的故障期间保持数据。在这种情况下,当第一控制器故障时,作为冗余故障切换机制的一部分,替代控制器能够使被镜像到其上的数据再生。
在实施例中,卸载JBOD单元220可以由阵列控制器230或231用来创建到辅助功能模块260-261中NV存储器的数据的镜像。该NV存储器可以位于同一卸载JBOD单元220或者系统中另一个卸载JBOD单元(未示出)的其它卸载ESM 240或241中。在另一个实施例中,卸载JBOD单元220可以用作阵列控制器230或231自身的存储器的镜像。
辅助功能模块260-261还可以用于配置元数据,所述配置元数据描述初始化期间应当如何配置存储阵列系统200。这可以加快电源启动时序或者指示具体的操作环境(例如,主机类型、默认设置等等)。
当存储阵列控制器230或231准备将写回缓存数据提交至盘时,卸载JBOD单元220可以发出指示其将辅助功能模块260-261中存储的写回缓存数据传输至SAS域中适当的盘的特定命令。接收该命令的卸载ESM 240或241可以接收数据的存储器地址、I/O设备(盘或者固态盘)、要被写入的LBA,以及要被写入的数据的长度。一旦接收到命令,卸载ESM 240或241可以将适当的SCSI或SATA命令发送至I/O设备。一旦接收到确认I/O设备已经完成操作的状态,则卸载ESM 240或241可以将写回缓存数据标记为不再为“灰”,并且将状态返回至阵列控制器230或231。
在另一个实施例中,卸载ESM 240或241可以用作目标设备,该目标设备对于卸载JBOD单元220中和同一SAS域的其它JBOD中的盘呈现单个目标作为存储阵列控制器的LUN。这可以在很多电源启动和重启条件下加速对存储阵列控制器的发现。
辅助功能模块260和261可以提供辅助计算冗余数据以实现盘驱动器间的RAID技术的硬件和/或软件功能。辅助功能模块260和261可以提供辅助执行正则表达式检索的硬件和/或软件功能。该正则表达式检索可以用于如深度包检测(DPI)或病毒特征代码识别的这类功能。辅助功能模块260和261可以提供辅助计算散列函数以辅助重复删除的硬件和/或软件功能。辅助功能模块260和261可以提供XOR、ECC、压缩功能。辅助功能模块260和261可以提供其它硬件和/或软件功能。
上述的系统、单元、驱动器、设备、装置和功能可以由一个或多个计算机系统来实现或者执行。上述的方法还可以存储在计算机可读介质上。存储阵列系统100和存储阵列系统200的许多部件可以是、可以包含或者可以包括计算机系统。这包括但不限于卸载JBOD 120、卸载ESM 140、卸载ESM 141、IOC 150、IOC 151、CPU 170、CPU171、SAS扩展器190、SAS扩展器191、辅助功能模块180-1、180-2、181-1、181-2、阵列控制器230、阵列控制器231、卸载JBOD单元220、JBOD单元221、卸载ESM 240、卸载ESM 241、IOC 250、IOC251、辅助功能模块260-261以及存储阵列系统100或存储阵列系统200中包含的任何盘驱动器。
图3例示了计算机系统的框图。计算机系统300包括通信接口320、处理系统330、存储系统340以及用户接口360。处理系统330可操作地(operatively)耦接至存储系统340。存储系统340存储软件350和数据370。处理系统330可操作地耦接至通信接口320和用户接口360。计算机系统300可以包含已编程的通用计算机。计算机系统300可以包括微处理器。计算机系统300可以包含可编程或者专用电路。计算机系统300可以分布在合起来包含部件320-370的多个设备、处理器、存储装置和/或接口中。
通信接口320可以包含网络接口、调制解调器、端口、总线、链路、收发器或其它通信设备。通信接口320可以分布在多个通信设备中。处理系统330可以包含微处理器、微控制器、逻辑电路或者其它处理设备。处理系统330可以分布在多个处理设备中。用户接口360可以包含键盘、鼠标、语音识别接口、传声器和扬声器、图形显示器、触摸屏或者其它类型的用户接口设备。用户接口360可以分布在多个接口设备中。存储系统340可以包含盘、磁带、集成电路、RAM、ROM、网络存储、服务器或者其它存储功能模块。存储系统340可以是计算机可读介质。存储系统340可以分布在多个存储设备中。
处理系统330从存储系统340获取(retrieve)并执行软件350。处理系统可以获取并且存储数据370。处理系统还可以通过通信接口320获取并且存储数据。处理系统330可以创建或者修改软件350或数据370以取得实效。处理系统可以控制通信接口320或者用户接口360以取得实效。处理系统可以通过通信接口320获取并且执行远程存储的软件。
软件350和远程存储的软件可以包含操作系统、应用程序、驱动、网络软件以及通常由计算机系统执行的其它软件。软件350可以包含应用程序、小应用程序、固件或者通常由计算机系统执行的机器可读处理指令的其它形式。当由处理系统330执行时,软件350或者远程存储的软件可以指导计算机系统300如本申请所述的一样来操作。
本发明此前的描述出于示例和描述的目的而出现。其不意在穷举或者限制本发明为所公开的精确形式,在上述内容的教导下,其它修改和变化是可能的。为了最佳地解释本发明的原理及其实际应用而选择和描述了实施例,从而使得本领域其他技术人员以适于预期的特定使用目的的各种实施例和各种修改来最佳地使用本发明。所附的权利要求意在被解释成包括本发明的其它替代实施例,只要其不被现有技术限定即可。

Claims (15)

1.一种存储系统,包括:
第一存储阵列控制器;
第一卸载环境服务模块ESM,其与所述第一存储阵列控制器通信并与所述第一存储阵列控制器通信分开,所述第一卸载环境服务模块包含:
作为串行连接SCSI目标来配置的输入/输出控制器IOC,所述IOC被配置为使用SAS协议与和所述第一卸载ESM分离的所述第一存储阵列控制器在操作上通信,所述IOC包含中央处理单元CPU;
非易失性存储器,其中所述IOC被配置成实现所述第一存储阵列控制器的至少一个功能,所述功能已经被从所述第一存储阵列控制器卸载到所述第一卸载ESM;以及
串行连接SCSI扩展器,其中所述至少一个功能包括以下功能中的至少一个:执行正则表达式检索;执行散列操作;执行XOR操作;执行ECC操作;和执行压缩操作;以及
第二卸载ESM,其与所述第一存储阵列控制器通信并与所述第一存储阵列控制器通信分开,并与所述第一卸载环境服务模块通信,
其中所述第一卸载环境服务模块被配置来在所述第二卸载ESM中生成数据的镜像,以及在所述第一卸载环境服务模块不直接连接的所述存储系统的第二存储阵列控制器中生成数据的镜像。
2.如权利要求1所述的存储系统,其中至少一个被卸载的阵列控制器功能包含写入缓存输入/输出I/O处理。
3.如权利要求2所述的存储系统,其中所述第一卸载ESM通过SCSI命令接收写入数据。
4.如权利要求2所述的存储系统,其中所述第一卸载ESM通过远程直接存储器访问RDMA命令接收写入数据。
5.如权利要求1所述的存储系统,其中所述第一卸载ESM对第一存储阵列控制器中存储的数据进行镜像。
6.如权利要求1所述的存储系统,其中所述第一卸载ESM在所述非易失性存储器中存储配置信息。
7.如权利要求1所述的存储系统,其中所述第一卸载ESM存储并跟踪要被写入的数据并且确定I/O设备完成写入操作。
8.一种存储系统,包含:
第一阵列控制器;
简单盘捆绑JBOD单元,包括第一卸载环境服务模块ESM,其与所述第一阵列控制器通信并与所述第一阵列控制器通信分开,所述第一卸载环境服务模块包括:
(a)输入/输出控制器IOC,所述IOC包括中央处理单元CPU,所述IOC被配置为与所述第一阵列控制器在操作上通信,所述第一阵列控制器与所述JBOD单元分离;
(b)非易失性存储器,其中所述IOC被配置成实现所述第一阵列控制器的至少一个功能,所述功能已经被从所述第一阵列控制器卸载到所述JBOD单元;以及
(c)串行连接SCSI扩展器,其中所述至少一个功能包括以下功能中的至少一个:执行正则表达式检索;执行散列操作;执行XOR操作;执行ECC操作;和执行压缩操作,
其中所述JBOD单元还包括第二卸载ESM,其与所述第一阵列控制器通信并与所述第一阵列控制器通信分开,并与所述第一卸载环境服务模块通信,
其中所述第一卸载环境服务模块被配置来在所述第二卸载ESM中生成数据的镜像,以及在所述第一卸载环境服务模块不直接连接的所述存储系统的第二存储阵列控制器中生成数据的镜像。
9.如权利要求8所述的存储系统,其中所述IOC代表串行连接SCSI域中的多个设备。
10.如权利要求8所述的存储系统,其中所述IOC执行写入缓存输入/输出I/O处理。
11.如权利要求10所述的存储系统,其中所述IOC通过SCSI命令接收写入数据。
12.如权利要求10所述的存储系统,其中所述IOC通过远程直接存储器访问RDMA命令接收写入数据。
13.如权利要求8所述的存储系统,其中所述IOC对发送至第一阵列控制器的写入缓存数据进行镜像。
14.如权利要求8所述的存储系统,其中所述IOC在所述非易失性存储器中存储配置信息。
15.如权利要求8所述的存储系统,其中所述IOC存储并跟踪要被写入的数据并且确认I/O设备完成写入操作。
CN200910170668.XA 2009-06-09 2009-09-01 存储阵列辅助架构 Expired - Fee Related CN101923446B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/481,303 2009-06-09
US12/481,303 US8595397B2 (en) 2009-06-09 2009-06-09 Storage array assist architecture

Publications (2)

Publication Number Publication Date
CN101923446A CN101923446A (zh) 2010-12-22
CN101923446B true CN101923446B (zh) 2015-08-26

Family

ID=42671684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910170668.XA Expired - Fee Related CN101923446B (zh) 2009-06-09 2009-09-01 存储阵列辅助架构

Country Status (6)

Country Link
US (2) US8595397B2 (zh)
EP (1) EP2264585A3 (zh)
JP (1) JP2010287208A (zh)
KR (1) KR20100132413A (zh)
CN (1) CN101923446B (zh)
TW (1) TW201044161A (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015426B2 (en) * 2011-02-28 2015-04-21 Kove Corporation High performance data storage using observable client-side memory access
US8996805B2 (en) 2011-10-26 2015-03-31 Hewlett-Packard Development Company, L.P. Shared cache module and method thereof
US9489151B2 (en) * 2013-05-23 2016-11-08 Netapp, Inc. Systems and methods including an application server in an enclosure with a communication link to an external controller
US9606944B2 (en) 2014-03-20 2017-03-28 International Business Machines Corporation System and method for computer memory with linked paths
BR112016003763B1 (pt) * 2014-09-15 2019-04-02 Huawei Technologies Co., Ltd. Método de desduplicação de dados e arranjo de armazenamento.
US10055371B2 (en) 2014-11-03 2018-08-21 Intel Corporation Apparatus and method for RDMA with commit ACKs
CN104360718B (zh) 2014-11-10 2017-11-10 英业达科技有限公司 一种服务器
US9892071B2 (en) * 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US20190354628A1 (en) 2018-05-21 2019-11-21 Pure Storage, Inc. Asynchronous replication of synchronously replicated data
CN110191194B (zh) * 2019-06-13 2020-07-03 华中科技大学 一种基于rdma网络的分布式文件系统数据传输方法和系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332623A (ja) * 1993-05-24 1994-12-02 Mitsubishi Electric Corp アレイ型記録装置及び記録装置
FR2776400B1 (fr) * 1998-03-18 2000-04-28 Bull Sa Sous-systeme de disques a multiples interfaces configurables
US6458695B1 (en) 2001-10-18 2002-10-01 Chartered Semiconductor Manufacturing Ltd. Methods to form dual metal gates by incorporating metals and their conductive oxides
US7107320B2 (en) * 2001-11-02 2006-09-12 Dot Hill Systems Corp. Data mirroring between controllers in an active-active controller pair
US7055056B2 (en) * 2001-11-21 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for ensuring the availability of a storage system
US7664896B2 (en) * 2003-03-26 2010-02-16 Pivot 3, Inc. Expedited completion done messages, method and apparatus
JP4383148B2 (ja) * 2003-11-25 2009-12-16 株式会社日立製作所 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
GB0409364D0 (en) * 2004-04-27 2004-06-02 Nokia Corp Processing data in a comunication system
US9495263B2 (en) * 2004-12-21 2016-11-15 Infortrend Technology, Inc. Redundant SAS storage virtualization subsystem and system using the same, and method therefor
US7504329B2 (en) 2005-05-11 2009-03-17 Interuniversitair Microelektronica Centrum (Imec) Method of forming a Yb-doped Ni full silicidation low work function gate electrode for n-MOSFET
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US8595313B2 (en) * 2005-11-29 2013-11-26 Netapp. Inc. Systems and method for simple scale-out storage clusters
US7437462B2 (en) * 2006-01-06 2008-10-14 Dell Products L.P. Method for zoning data storage network using SAS addressing
JP4282691B2 (ja) 2006-06-07 2009-06-24 株式会社東芝 半導体装置
JP4897387B2 (ja) * 2006-08-10 2012-03-14 株式会社日立製作所 ストレージ装置およびこれを用いたデータの管理方法
KR100821089B1 (ko) 2006-12-27 2008-04-08 동부일렉트로닉스 주식회사 반도체 소자 및 그 제조 방법
CN103226679B (zh) 2007-05-09 2016-06-08 金士顿科技股份有限公司 安全且可扩充的固态磁盘系统

Also Published As

Publication number Publication date
JP2010287208A (ja) 2010-12-24
KR20100132413A (ko) 2010-12-17
CN101923446A (zh) 2010-12-22
US20140040549A1 (en) 2014-02-06
US8595397B2 (en) 2013-11-26
US9052834B2 (en) 2015-06-09
US20100312963A1 (en) 2010-12-09
TW201044161A (en) 2010-12-16
EP2264585A3 (en) 2012-08-15
EP2264585A2 (en) 2010-12-22

Similar Documents

Publication Publication Date Title
CN101923446B (zh) 存储阵列辅助架构
US11481121B2 (en) Physical media aware spacially coupled journaling and replay
US9684591B2 (en) Storage system and storage apparatus
US8943358B2 (en) Storage system, apparatus, and method for failure recovery during unsuccessful rebuild process
JP5742362B2 (ja) 退避処理装置
US8838918B2 (en) Information processing apparatus and data backup method
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
US8356292B2 (en) Method for updating control program of physical storage device in storage virtualization system and storage virtualization controller and system thereof
US11474899B2 (en) Operation method of open-channel storage device
JP2007156597A (ja) ストレージ装置
US8799745B2 (en) Storage control apparatus and error correction method
US20080147962A1 (en) Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US11487663B2 (en) Method of operating storage device, storage device performing the same and storage system including the same
US20190065382A1 (en) Storage device initiated copy back operation
JP7472341B2 (ja) ストレージシステム及びストレージシステムの制御方法
US8433949B2 (en) Disk array apparatus and physical disk restoration method
US20210271393A1 (en) Method and apparatus for performing data access management of all flash array server
US10409690B2 (en) Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption
KR102277731B1 (ko) 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러
CN111752475B (zh) 在存储服务器中进行数据存取管理的方法与装置
WO2016006108A1 (ja) ストレージおよびその制御方法
US9639417B2 (en) Storage control apparatus and control method
CN117806541A (zh) 一种硬盘及硬盘上的固件升级方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NETAPP INC.

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES CORP.

Effective date: 20141009

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20141009

Address after: California, USA

Applicant after: NETAPP, Inc.

Address before: California, USA

Applicant before: LSI Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150826

Termination date: 20180901