CN101208673A - 使用用于存储装置通信和点对点通信的单一集成电路在数据存储系统中提供通信的技术 - Google Patents

使用用于存储装置通信和点对点通信的单一集成电路在数据存储系统中提供通信的技术 Download PDF

Info

Publication number
CN101208673A
CN101208673A CNA2006800231546A CN200680023154A CN101208673A CN 101208673 A CN101208673 A CN 101208673A CN A2006800231546 A CNA2006800231546 A CN A2006800231546A CN 200680023154 A CN200680023154 A CN 200680023154A CN 101208673 A CN101208673 A CN 101208673A
Authority
CN
China
Prior art keywords
storage
processor
integrated circuit
packaging integrated
circuit devices
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
CNA2006800231546A
Other languages
English (en)
Inventor
约翰·V.·伯勒斯
马修·朗
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.)
EMC Corp
Original Assignee
EMC Corp
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 EMC Corp filed Critical EMC Corp
Publication of CN101208673A publication Critical patent/CN101208673A/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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different 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/0626Reducing size or complexity 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/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

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

改进的数据存储装置具有存储装置组、将数据存储到存储装置组和从存储装置组取回数据的第一存储处理器与第二存储处理器。第一存储处理器包括处理电路和具有第一组端口与第二组端口的封装IC器件。处理电路适于配置封装IC器件以(i)通过第一组端口向存储装置组提供通信和(ii)通过第二组端口向第二存储处理器提供其他通信。处理电路进一步适于通过第一组端口在第一存储处理器与存储装置组之间传递通信;及通过第二组端口在第一存储处理器与第二存储处理器之间传递通信。

Description

使用用于存储装置通信和点对点通信的单一集成电路在数据存储系统中提供通信的技术
背景技术
典型的数据存储系统包括存储处理电路和磁盘驱动器阵列。存储处理电路代表外部主计算机将数据存储到磁盘驱动器阵列中或从磁盘驱动器阵列取回数据。在一些传统的数据存储系统中,存储处理电路包括串行ATA(SATA)接口集成电路(IC),其使用SATA协议与磁盘驱动器阵列通信。SATA集成电路通过向磁盘驱动器阵列提供SATA命令使存储处理电路用作SATA的发起方。磁盘驱动器阵列通过响应SATA命令用作一组SATA目标(例如响应SATA命令读和写数据)。
一个传统的数据存储系统包括两个高性能的存储处理器。每一个存储处理器包括各自的SATA集成电路,集成电路具有用于每一个磁盘驱动器的接收端口和发送端口。因此,如果一个存储处理器出现故障,另一个存储处理器可以访问每一个磁盘驱动器并尝试继续运转。
在上述传统数据存储系统中,每一个存储处理器进一步包括并行总线元件,其独立于该存储处理器的SATA集成电路。每一个存储处理器的直接存储器存取(DMA)引擎通过并行总线元件进行基于DMA的存储和取回操作以在存储处理器之间形成缓存镜像接口(CMI)。因此,每一个存储处理器能够在其他存储处理器的高速缓冲存储器中镜像数据。在高速缓冲存储器中镜像数据,存储处理器能够运行在改进响应时间的回写模式(即当数据镜像在两个高速缓冲存储器中时,存储处理器就能够完全投入数据存储运行,因为即使一个存储处理器出现故障,数据仍然可用)。
各种SATA规范的进一步的细节可以在名称为“串行ATA II:电规范”(版本1.0,2004年5月26日)的文件中查找到,通过引用在此结合其全部内容。
发明内容
遗憾的是,使用SATA集成电路与磁盘驱动器阵列通信和使用并行总线元件相互通信的上述存储处理器有一些缺点。例如,使用SATA集成电路进行磁盘驱动器通信和使用独立的并行总线元件进行CMI通路通信不能高效利用印刷电路板(PCB)的资源。具体地,这些独立的电路板组件需要各自的安装位置、临近的支撑电路以及用于通向和来自这些安装位置与支撑电路的信号迹线的空间。此外,由于存储处理器通过并行总线元件(即用于缓存镜像)执行DMA操作,必须采取额外的设计预防措施防止存储处理器之一故障,锁定仍在运行的存储处理器的并行总线元件,进而挂起仍在运行的存储处理器。
上述传统的数据存储系统使用的存储处理器具有用于SATA磁盘驱动器通信的独立SATA集成电路和用于基于DMA的CMI路径通信的并行总线元件,与上述传统的数据存储系统相比,改进的技术利用具有用于存储装置通信的第一组端口和用于点对点存储处理器通信的第二组端口的封装IC器件。即,当单一IC适当地配置在存储处理器上时,该单一IC能够用作(i)存储装置(例如,用于同步高速缓冲存储器与磁盘驱动器存储器)和(ii)另一存储处理器(例如,用于在存储处理器之间进行缓存镜像)的接口。这样的技术节省PCB的基板面,以及缓解在存储处理器之间需要提供基于并行总线DMA的通信的需求。
一个实施例致力于数据存储系统,数据存储系统具有存储装置组、用于代表外部主计算机组将数据存储到存储装置组和从存储装置组取回数据的第一存储处理器与第二存储处理器。第一存储处理器包括处理电路和具有第一组端口与第二组端口的封装IC器件。处理电路适于配置封装IC器件以提供(i)通过第一组端口与存储装置组的通信和(ii)通过第二组端口与第二存储处理器的其他通信。处理电路进一步适于通过封装IC器件的第一组端口在第一存储处理器与存储装置组之间传递通信;及通过封装IC器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信。这样的实施例非常高效地利用电路板资源,以及在数据存储系统内提供坚固通信(例如,SATA、串行连接SCSI、光纤通路)。
附图说明
本发明的上述和其他目标、特征和优点将从以下本发明的具体实施例的说明中明显看出,如附图中所示,在所有视图中相同的附图标记指代相同的部件。附图不是限定本发明的范围,重点在于说明本发明的原理。
图1是具有用于存储装置通信和点对点存储处理器通信的封装IC器件的数据存储系统的框图。
图2是说明图1的数据存储系统的存储处理器运行的框图。
图3是进一步说明图1的数据存储系统的存储处理器运行的框图。
图4是处理电路执行的程序的流程图,处理电路属于图1的数据存储系统的存储处理器之一。
具体实施方式
改进的技术利用具有用于存储装置通信的第一组端口和用于点对点存储处理器通信的第二组端口的封装集成电路(IC)器件。也就是说,当单一IC适当地配置在存储处理器上时,该单一IC能用作(i)存储装置(例如,用于同步高速缓冲存储器和磁盘驱动器存储器)及(ii)另一存储处理器(例如,用于在存储处理器之间进行缓存镜像)的接口。这样的技术节省印刷电路板(PCB)的基面板,以及缓解在存储处理器之间需要提供并行总线基于直接存储器存取(基于DMA)的通信的需求。
图1是配置为代表外部主计算机组22(1),…,22(m)(总称为外部主计算机22)存储和取回数据的数据存储系统20。数据存储系统20能够通过网络24(例如在SAN结构中、在NAS结构中、作为LAN的一部分、通过因特网,等等)连接到外部主计算机22。
如图1所示,数据存储系统20包括存储装置组26(1)…26(n)(总称为存储装置26)、存储处理器28(A)、以及另一存储处理器28(B)(总称为存储处理器28)。每一个存储处理器28中包括处理电路30和封装IC器件32。例如,存储处理器28(A)包括处理电路30(A)和封装IC器件32(A)。同样地,存储处理器28(B)包括处理电路30(B)和封装IC器件32(B)。应当理解,表示两个存储处理器仅是为了举例,其他数量的存储处理器28也适用于该数据存储系统20的使用(例如3个、4个等)。此外,这样的存储处理器28能位于一个PCB上或多个PCB上。
每一个处理电路30包括微处理器组34(即一个或多个微处理器)、高速缓冲存储器36和直接存储器存取(DMA)引擎38。例如,处理电路30(A)包括微处理器组34(A)、高速缓冲存储器36(A)和DMA引擎38(A)。相同地,处理电路30(B)包括微处理器组34(B)、高速缓冲存储器36(B)和DMA引擎38(B)。在一些设置中,每一个存储处理器28的DMA引擎38的至少一部分由运行专用软件的该存储处理器28的一个或多个微处理器34构成。在一些设置中,DMA引擎38或者其一部分位于封装IC器件32中,而不是处理电路30中。
每一个存储处理器28的封装IC器件32包括第一组端口40和第二组端口42。例如,存储处理器28(A)的封装IC器件32(A)包括第一组端口40(A)和第二组端口42(A)。类似地,存储处理器28(B)的封装IC器件32(B)包括第一组端口40(B)和第二组端口42(B)。第一组端口40(A)、40(B)连接到存储装置组26,以使各自的处理电路30(A)、30(B)通过第一组端口40(A)、40(B)存储和取回数据44。在一些设置中,存储装置26是双端口磁盘驱动器,因此使每一个存储处理器28的封装IC器件32直接访问(例如通过第一端口40和关联的电缆)每一个磁盘驱动器。第二组端口42(A)和42(B)相互连接(例如通过电路板迹线,如果存储处理器位于单独的PCB上也可能通过连接器),从而提供点对点存储处理器通信。具体地,第二组端口42相互连接以形成冗余的缓存镜像接口(CMI)的通路46,用于同步高速缓冲存储器36中的数据48。在一些设置中,第二组端口42(A)、42(B)中的每一组包括四个端口以形成用于容错的两条CMI链路。
在运行期间,处理电路30代表主计算机22执行数据存储操作。具体地,处理电路30(A)以非易失性的方式向存储装置26中存储数据和从存储装置26中取回数据(例如参见箭头44),并且可以在高速缓冲存储器36(A)中暂时缓存所述数据。此外,处理电路30(A)(即微处理器组34(A)和DMA引擎38(A))通过将数据复制到另一个存储处理器28(B)的高速缓冲存储器36(B)中对缓存在高速缓冲存储器36(A)中的数据进行镜像(例如参见箭头48)。
类似地,处理电路30(B)以非易失性的方式向存储装置26中存储数据和从存储装置26中取回数据,并且可以在高速缓冲存储器36(B)中暂时缓存该数据。此外,处理电路30(B)(即微处理器组34(B)和DMA引擎38(B))通过将数据复制到另一个存储处理器28(A)的高速缓冲存储器36(A)中对缓存在高速缓冲存储器36(B)中的数据进行镜像。
进一步按照该方法,处理电路30控制封装IC器件32的运行。具体地,处理电路30(A)配置封装的IC器件32(A)以提供(i)通过端口40(A)与存储装置26的通信和(ii)通过端口42(A)与另一存储处理器28(B)的通信。这样配置之后,处理电路30(A)通过封装IC器件32(A)的端口40(A)向存储装置26传递通信(即数据44)(即访问磁盘驱动器),并且通过封装IC器件32(A)的端口42(A)向另一个存储处理器28(B)传递通信(即数据48)(即通过CMI通路46执行缓存镜像)。因此,存储处理器28(A)不需要单独的电路板组件与磁盘驱动器和另一存储处理器28个别地连接,因此节省了PCB资源。
类似的操作发生在相反的方向。也就是说,处理电路30(B)配置封装IC器件32(B)以提供(i)通过端口40(B)与存储装置26的通信和(ii)通过端口42(B)与另一存储处理器28(A)的通信。这样配置之后,处理电路30(B)通过封装IC器件32(B)的端口40(B)向存储装置26传递通信(即访问磁盘驱动器),并且通过封装IC器件32(B)的端口42(B)向另一个存储处理器28(A)传递通信(即通过CMI通路执行缓存镜像)。因此,数据存储系统20高效利用PCB资源(例如PCB基板面),将每一个存储处理器28上的单一封装IC器件32用作存储处理器28与存储装置26之间、以及存储处理器28之间的接口。进一步的细节将参考图2和3提供。
图2和3说明当封装IC器件32实施为根据SATA协议(例如SATA、SATA II等)运行的单一的多端口串行ATA接口模块时存储处理器28的封装IC器件32的性能。具体地,图2表示相对于每一个存储装置26以及封装IC器件32(B)用作SATA发起方的封装IC器件32(A)。在此,封装IC器件32(A)经端口40(A)向存储装置26提供SATA命令50,从而能够向存储装置26发出读和写操作(参见图1中的数据44)。存储装置26作为SATA目标通过向封装IC器件32(A)的端口40(A)发回SATA应答52响应SATA命令50。
类似地,图3表示相对于存储装置26以及封装IC器件32(A)用作SATA发起方的封装IC器件32(B)。在此,封装IC器件32(B)经端口40(B)向存储装置26提供SATA命令60,从而能够向存储装置26发出读和写操作。存储装置26作为SATA目标通过向封装IC器件32(B)的端口40(B)发回SATA应答62响应SATA命令60。
此外,封装IC器件32(A)、32(B)能够相互用作SATA发起方或SATA目标以形成有效的CMI通路。具体地,图2表示封装IC器件32(A)向其他存储处理器28(B)发出命令54。按照这些方法,封装IC器件32(A)通过封装IC器件32(A)的端口42(A)和通过封装IC器件32(B)的端口42(B)向封装IC器件32(B)提供SATA命令54(参见图1中的数据48)。封装IC器件32(B)经端口42(B)、42(A)向封装IC器件32(A)发回SATA应答56响应SATA命令54(即封装IC器件32(B)用作SATA目标)。此外,如图3所示,封装IC器件32(B)类似地能够向其他存储处理器28(A)发出SATA命令64。按照该方法,封装IC器件32(B)通过封装IC器件32(B)的端口42(B)和通过封装IC器件32(A)的端口42(A)向封装IC器件32(A)提供SATA命令64。封装IC器件32(A)经端口42(A)、42(B)向封装IC器件32(B)发回SATA应答66响应SATA命令64(即封装IC器件32(A)用作SATA目标)。这样点对点通信(即当器件32(B)用作SATA目标时器件32(A)用作SATA发起方,且当器件32(A)用作SATA目标时器件32(B)用作SATA发起方)在存储处理器28之间形成牢固的CMI通路46,基于并行总线DMA的通信不需要通过传统系统中的CMI通路。
根据以上说明,应当理解,当封装IC器件32用作每一个存储处理器28上的单一SATA封装接口时,每一个封装IC器件能够既用作SATA发起方又能用作SATA目标。为了支持作为SATA发起方的运行,必须装备每一个封装IC器件32从而以传统的方式向存储装置26提供SATA命令和从存储装置26接收SATA应答。为了同时支持作为SATA目标的运行,必须进一步装备每一个封装IC器件32从而从其他封装IC器件32接收SATA命令和向其他封装IC器件32返回SATA应答。
上述同时作为SATA发起方和SATA目标的功能能够通过采用多端口的SATA发起方器件实现,从而特定的端口能够没有错误地接收大范围的SATA信号,而不只是SATA应答。将单一的器件配置为用作SATA发起方和SATA目标的其他技术也适用,从而克服现有的SATA器件通常只能用作SATA发起方或只能用作SATA目标的缺点。在存储处理器28的上下文中(参见图1),处理电路30禁止端口42仅仅固定地接收SATA应答(例如通过编程封装IC器件32的控制寄存器),因此使端口42能够接收SATA命令。在这一点上,假设存储处理器28(A)的封装IC器件32(A)的端口42(A)接收来自另一存储处理器28(B)的封装IC器件32(B)的SATA命令。为了处理SATA命令,端口42(A)仅简单地将SATA命令传递给处理电路30(A)。处理电路30(A)再处理SATA命令(例如执行缓存镜像操作),并且随后指示封装IC器件32(A)向存储处理器28(B)返回SATA应答。
因此,应当进一步理解的是,每一个封装IC器件32能够以实质上同时的方式既用作SATA发起方又用作SATA目标。即,封装IC器件32配置为以同时进行的方式执行图2和图3所示的操作。具体地,对于每一连接的端口对42,在一个封装IC器件32上的端口42用作SATA发起方,同时在另一端,在另一个封装IC器件上的端口42用作SATA目标。这样的运行使数据存储系统20的每一个存储处理器28采用单一电路板元件作为其对存储装置26(用于数据存储和取回)和另一存储处理器28(用于缓存镜像)的接口。此外,由于DMA引擎38在封装IC器件32的外部,CMI通路46不需要进行基于并行总线DMA的通信。参考图4提供进一步的细节。
图4是程序70的流程图,其由数据存储系统20的每一个存储处理器28的处理电路30执行。在步骤72,处理电路30(例如图1中的处理电路30(A))将封装集成电路器件32(例如器件32(A))配置为提供(i)通过封装集成电路器件32的端口40(例如端口40(A))与存储装置26的通信和(ii)通过封装集成电路器件32的端口42(例如端口42(A))与其他存储处理器28(例如存储处理器28(B))的通信。
在步骤74,处理电路30能够通过端口40在存储处理器28与存储装置26之间传递通信50、52、60、62。也就是说,处理电路30能够向存储装置26中存储数据和从存储装置26中取回数据。
在步骤76,处理电路30能够通过端口42在存储处理器28与其他存储处理器28之间传递通信54、56、64、66。也就是说,处理电路30能够通过CMI通路46在两个存储处理器28之间镜像缓存的数据。应当理解,步骤74和76能够实质上同时进行,用于强健的数据存储系统的运行。
如上所述,改进的技术利用具有用于存储装置通信的端口40和用于点对点存储处理器通信的端口42的封装IC器件32。也就是说,当单一IC器件32适当地配置在存储处理器28上时,单一IC器件32能够用作(i)存储装置26(例如用于同步高速缓冲存储器与磁盘驱动器存储器)和(ii)另一存储处理器28(例如用于在存储处理器之间进行缓存镜像)的接口。这样的技术节省印刷电路板(PCB)的基板面,以及缓解在存储处理器28之间需要提供基于并行总线DMA的通信的需求。
虽然本发明已经参考其优选实施例进行了具体的说明与描述,但是本领域的技术人员可以理解,不背离权利要求限定的本发明的精神和范围可以做出各种形式和细节上的变化。
例如,应当理解,虽然以上描述了采用SATA协议(例如SATA、SATA II)的封装IC器件32,但是其他协议也适用。在其他设置中,封装IC器件使用不同于SATA的协议,如串行连接SCSI(SAS)、光纤通路(FC)及类似协议。
此外,应当理解,上述每一个存储处理器28仅包括一个封装IC器件32只是作为示例。在其他设置中,每一个存储处理器28具有多个封装IC器件32。在一些设置中,第一CMI通路46穿过第一对封装IC器件32延伸,且第二CMI通路46穿过第二对封装IC器件32延伸,从而进一步容错。

Claims (20)

1.数据存储装置,包括:
第一存储处理器;
第二存储处理器;及
连接在第一与第二存储处理器之间的内部连接,第一存储处理器包括处理电路和具有第一组端口与第二组端口的封装集成电路器件,第一存储处理器的处理电路适于:
配置第一存储处理器的封装集成电路器件以提供(i)通过封装集成电路器件的第一组端口与存储装置组的通信和(ii)通过封装集成电路器件的第二组端口与第二存储处理器的其他通信;
通过封装集成电路器件的第一组端口在第一存储处理器与存储装置组之间传递通信;及
通过封装集成电路器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信。
2.如权利要求1所述的数据存储装置,其中当在第一存储处理器与存储装置组之间传递通信时,处理电路适于:
代表外部主计算机组通过封装集成电路器件的第一组端口向存储装置组中存储数据和从存储装置组中取回数据。
3.如权利要求2所述的数据存储装置,其中第一和第二存储处理器包括各自的高速缓冲存储器;及其中当在第一存储处理器与第二存储处理器之间传递通信时,处理电路适于:
通过封装集成电路器件的第二组端口在第一与第二处理器之间交换数据以镜像第一和第二处理器各自的高速缓冲存储器。
4.如权利要求3所述的数据存储装置,其中存储装置组包括磁盘驱动器;及其中当通过封装集成电路器件的第一组端口向存储装置组存储数据和从存储装置组取回数据时,处理电路适于:
将封装集成电路器件相对于磁盘驱动器用作串行ATA(SATA)发起方器件以控制作为SATA目标器件的磁盘驱动器。
5.如权利要求4所述的数据存储装置,其中第二存储处理器包括另一封装集成电路器件,其配置为相对于磁盘驱动器用作SATA发起方器件以控制作为SATA目标器件的磁盘驱动器;及其中当通过封装集成电路器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信时,处理电路适于:
将第一存储处理器的封装集成电路器件相对于第二存储处理器的其他封装集成电路器件用作SATA发起方器件,从而控制作为SATA目标器件的第二存储处理器的其他封装集成电路器件。
6.如权利要求5所述的数据存储装置,其中当通过封装集成电路器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信时,处理电路适于:
当第二存储处理器的其他封装集成电路器件用作SATA发起方器件以提供第一与第二存储处理器之间的点对点通信时,将第一存储处理器的封装集成电路器件相对于第二存储处理器的其他封装集成电路器件用作SATA目标器件以响应第二存储处理器的其他封装集成电路器件。
7.如权利要求4所述的数据存存储装置,其中第二存储处理器包括另一封装集成电路器件,其配置为相对于磁盘驱动器用作SATA发起方器件以控制作为SATA目标器件的磁盘驱动器;及其中当通过封装集成电路器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信时,处理电路适于:
当第二存储处理器的其他封装集成电路器件用作SATA发起方器件时,将第一存储处理器的封装集成电路器件相对于第二存储处理器的其他封装集成电路器件用作SATA目标器件以响应第二存储处理器的其他封装集成电路器件。
8.如权利要求7所述的数据存存储装置,其中当配置第一存储处理器的封装集成电路器件时,处理电路适于:
禁止强制第一存储处理器的封装集成电路器件用作SATA发起方器件的机制,从而允许第一存储处理器的封装集成电路器件相对于第二存储处理器的其他封装集成电路器件用作SATA目标器件。
9.如权利要求1所述的数据存存储装置,其中封装集成电路器件配置为通过一个端口用作SATA发起方,同时通过另一个端口用作SATA目标。
10.如权利要求9所述的数据存存储装置,第二存储处理器包括另一封装集成电路器件;及其中第一和第二存储处理器适于:
在多个CMI链路之外执行直接存储器存取(DMA)操作,从而隔离封装集成电路器件与DMA操作。
11.用于在数据存储系统内提供通信的方法,数据存储系统包括第一存储处理器、第二存储处理器和存储装置组,该方法包括:
配置第一存储处理器的封装集成电路器件以(i)通过封装集成电路器件的第一组端口向存储装置组提供通信和(ii)通过封装集成电路器件的第二组端口向第二存储处理器提供其他通信;
通过封装集成电路器件的第一组端口在第一存储处理器和存储装置组之间传递通信;及
通过封装集成电路器件的第二组端口在第一存储处理器和第二存储处理器之间传递通信。
12.如权利要求11所述的方法,其中在第一存储处理器与存储装置组之间传递通信包括:
代表外部主计算机组通过封装集成电路器件的第一组端口向存储装置组中存储数据和从存储装置组取回数据。
13.如权利要求12所述的方法,其中在第一存储处理器与第二存储处理器之间传递通信包括:
通过封装集成电路器件的第二组端口在第一与第二处理器之间交换数据以镜像第一和第二处理器的高速缓冲存储器。
14.如权利要求13所述的方法,其中存储装置组包括磁盘驱动器;及其中通过封装集成电路器件的第一组端口向存储装置组中存储数据和从存储装置组取回数据包括:
将封装集成电路器件相对于磁盘驱动器用作串行ATA发起方器件以控制作为串行ATA目标器件的磁盘驱动器。
15.如权利要求14所述的方法,其中第二存储处理器包括另一封装集成电路器件,其配置为相对于磁盘驱动器用作串行ATA发起方器件以控制作为串行ATA目标器件的磁盘驱动器;及其中通过封装集成电路器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信包括:
将第一存储处理器的封装集成电路器件相对于第二存储处理器的所述另一封装集成电路器件用作串行ATA发起方器件,从而控制作为串行ATA目标器件的第二存储处理器的所述另一封装集成电路器件。
16.如权利要求15所述的方法,其中通过封装集成电路器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信进一步包括:
当第二存储处理器的所述另一封装集成电路器件用作串行ATA发起方器件以提供第一与第二存储处理器之间的点对点通信时,将第一存储处理器的封装集成电路器件相对于第二存储处理器的所述另一封装集成电路器件用作串行ATA目标器件以响应第二存储处理器的所述另一封装集成电路器件。
17.如权利要求14所述的方法,其中第二存储处理器包括另一封装集成电路器件,其配置为相对于磁盘驱动器用作串行ATA发起方器件以控制作为串行ATA目标器件的磁盘驱动器;及其中通过封装集成电路器件的第二组端口在第一存储处理器与第二存储处理器之间传递通信包括:
当第二存储处理器的所述另一封装集成电路器件用作串行ATA发起方器件时,将第一存储处理器的封装集成电路器件相对于第二存储处理器的所述另一封装集成电路器件用作串行ATA目标器件以响应第二存储处理器的所述另一封装集成电路器件。
18.如权利要求17所述的方法,其中配置第一存储处理器的封装集成电路器件包括:
禁止强制第一存储处理器的封装集成电路器件用作串行ATA发起方器件的机制,从而允许第一存储处理器的封装集成电路器件相对于第二存储处理器的所述另一封装集成电路器件用作串行ATA目标器件。
19.如权利要求14所述的方法,其中配置第一存储处理器的封装集成电路器件进一步包括:
(i)编程第一存储处理器的封装集成电路器件的第一组端口以提供到磁盘驱动器的多个通信路径;和(ii)编程第一存储处理器的封装集成电路器件的第二组端口以提供到第二存储处理器的多个缓存镜像接口链路。
20.如权利要求19所示的方法,进一步包括:
将封装集成电路器件通过一个端口用作串行ATA发起方,同时通过另一个端口用作串行ATA目标。
CNA2006800231546A 2005-06-29 2006-03-27 使用用于存储装置通信和点对点通信的单一集成电路在数据存储系统中提供通信的技术 Pending CN101208673A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/169,473 US7447833B2 (en) 2005-06-29 2005-06-29 Techniques for providing communications in a data storage system using a single IC for both storage device communications and peer-to-peer communications
US11/169,473 2005-06-29

Publications (1)

Publication Number Publication Date
CN101208673A true CN101208673A (zh) 2008-06-25

Family

ID=36648587

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800231546A Pending CN101208673A (zh) 2005-06-29 2006-03-27 使用用于存储装置通信和点对点通信的单一集成电路在数据存储系统中提供通信的技术

Country Status (5)

Country Link
US (1) US7447833B2 (zh)
EP (1) EP1896960A1 (zh)
JP (1) JP2008545195A (zh)
CN (1) CN101208673A (zh)
WO (1) WO2007005078A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070214277A1 (en) * 2006-03-07 2007-09-13 Ahmed Ali U Peer-to-peer network communications using SATA/SAS technology
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US9298636B1 (en) * 2011-09-29 2016-03-29 Emc Corporation Managing data storage
JP6056417B2 (ja) * 2012-11-27 2017-01-11 富士通株式会社 制御システム、制御システムの異常診断方法及び制御システムの異常診断プログラム
US9912754B2 (en) * 2015-05-01 2018-03-06 GM Global Technology Operations LLC Vehicular data isolation device
US10095445B2 (en) 2016-03-29 2018-10-09 Western Digital Technologies, Inc. Systems and methods for offloading processing from a host to storage processing units using an interconnect network
CN111124993B (zh) 2018-10-31 2023-09-01 伊姆西Ip控股有限责任公司 减小i/o处理时缓存数据镜像时延的方法、设备和程序产品

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230240B1 (en) 1998-06-23 2001-05-08 Hewlett-Packard Company Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface
JP3714613B2 (ja) * 2001-12-12 2005-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、該記憶装置を含む情報処理装置および情報記憶システムのリカバリ方法
US6831831B2 (en) * 2002-04-11 2004-12-14 Bruce A Bicknell Disc storage subsystem having improved reliability
US7085776B2 (en) 2002-04-24 2006-08-01 The Boeing Company Logical hierarchical data model for sharing product information across product families
US6928509B2 (en) * 2002-08-01 2005-08-09 International Business Machines Corporation Method and apparatus for enhancing reliability and scalability of serial storage devices
US20040083324A1 (en) * 2002-10-24 2004-04-29 Josef Rabinovitz Large array of mass data storage devices connected to a computer by a serial link
JP4060235B2 (ja) * 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4451687B2 (ja) * 2004-03-22 2010-04-14 株式会社日立製作所 ストレージシステム
US20050235072A1 (en) * 2004-04-17 2005-10-20 Smith Wilfred A Data storage controller
US20060242380A1 (en) * 2005-04-20 2006-10-26 Anuja Korgaonkar Virtually unlimited storage

Also Published As

Publication number Publication date
EP1896960A1 (en) 2008-03-12
US7447833B2 (en) 2008-11-04
US20070005880A1 (en) 2007-01-04
WO2007005078A1 (en) 2007-01-11
JP2008545195A (ja) 2008-12-11

Similar Documents

Publication Publication Date Title
CN107871524B (zh) 对存储装置进行复位的电子装置和操作该电子装置的方法
US8225019B2 (en) SATA mass storage device emulation on a PCIe interface
CN101208673A (zh) 使用用于存储装置通信和点对点通信的单一集成电路在数据存储系统中提供通信的技术
US10802995B2 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
CN102609215B (zh) 数据处理方法及装置
MX2012005934A (es) Disco de estado solido (ssd) multi-interfaz, metodo de procesamiento y sistema del mismo.
US9237126B2 (en) One-way bus bridge
CN115639952A (zh) 存储设备及其操作方法
JP4920036B2 (ja) メモリチャネル上の応答のスケジューリング
CN102843435A (zh) 一种在集群系统中存储介质的访问、响应方法和系统
US8135895B2 (en) Virtual SATA port multiplier, virtual SATA device, SATA system and data transfer method in a SATA system
US20230325277A1 (en) Memory controller performing selective and parallel error correction, system including the same and operating method of memory device
US7886105B2 (en) Combined fibre channel and SAS host bus adapter
Kwon et al. Gen‐Z memory pool system implementation and performance measurement
CN100349153C (zh) 一种实现输出控制的方法及由主板控制接口卡的装置
JP2008204335A (ja) 半導体ストレージ装置
US10031864B2 (en) Integrated circuit
US6907454B1 (en) Data processing system with master and slave processors
CN113742264B (zh) 采多级架构控制器的数据储存装置
Lv et al. Design of Key Components of Remote Sensing Satellite Scene Simulation Simulator Based on NVMe Technology
KR20220070951A (ko) 메모리 장치, 이를 포함하는 시스템 및 메모리 장치의 동작 방법
KR20230169885A (ko) 영구 메모리 장치 및 컴퓨팅 시스템
CN115905036A (zh) 一种数据访问系统、方法及相关设备
CN116225315A (zh) 基于pci-e光纤卡的宽带数据高速录取系统、存储架构和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080625