CN1777861A - 具有可重新配置的数据通路的盘阵列控制器 - Google Patents
具有可重新配置的数据通路的盘阵列控制器 Download PDFInfo
- Publication number
- CN1777861A CN1777861A CNA2004800106867A CN200480010686A CN1777861A CN 1777861 A CN1777861 A CN 1777861A CN A2004800106867 A CNA2004800106867 A CN A2004800106867A CN 200480010686 A CN200480010686 A CN 200480010686A CN 1777861 A CN1777861 A CN 1777861A
- Authority
- CN
- China
- Prior art keywords
- port
- data
- physical
- disk
- physical port
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 claims abstract description 75
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 6
- 238000003491 array Methods 0.000 claims description 4
- 230000008520 organization Effects 0.000 claims 2
- 230000004087 circulation Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bus Control (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
公开了一种盘阵列控制器装置(10),其具有用于与主机(12)相接口的至少两个逻辑端口(逻辑端口#0-逻辑端口#3),以及具有一个或多个物理端口(物理端口#0-物理端口#4),每一物理端口被安置用于将至少一个盘驱动器连接到控制器,并且所述的控制器包括开关(26),所述的开关提供了响应于映射寄存器(24)的内容可动态配置的在逻辑数据端口和物理数据端口之间的数据通路(30)。所述的映射寄存器通过规定每一逻辑端口到一个物理端口的关联而定义了期望的盘驱动器阵列。能够将所述映射寄存器组织为包括了对于控制器的每一逻辑端口的字段的逻辑映射寄存器,以及包括了指定用于RAID操作的冗余阵列的设备。
Description
相关申请
本发明是申请于2003年4月21日的美国临时申请号60/464,892的继续申请,并要求其优先权。通过这种引用在此并入所述的临时申请。
版权通告
2003-2004 Netcell公司。本专利文献的公开部分包含受到版权保护的材料。版权所有者不反对通过专利文献或专利公开的任一者进行复制再现,因为它出现于专利和商标局的专利文件或记录中,但此外版权所有者保留不管什么样的所有版权。37 CFR §1.71(d)。
技术领域
本发明涉及数字数据存储***,并更特别地涉及用于数字数据存储和检索的盘阵列控制器技术的改进。
附图说明
图1是提供了用于与主机总线相交互的主机接口和用于与多个所连接的盘驱动器相交互的驱动器接口的盘阵列控制器的简化的框图。
图2A是说明了在逻辑数据端口和物理数据端口之间的直接连接的概念图;并且它示出了相应的映射寄存器的内容。
图2B是说明了将四个逻辑端口分配给可用的五个物理数据端口的一个示例的概念图;并且它示出了相应的映射寄存器的内容。
图2C是说明了双驱动器阵列的概念图,其中每一驱动器被分配给五个可用的物理数据端口中的一个;并且它示出了相应的映射寄存器的内容。
图2D是说明了单驱动器***的概念图,其中逻辑端口0-3将连续循环上的数据转移到物理端口#3;并且它示出了相应的映射寄存器的内容。
图3A说明了在图2A的驱动器配置中在写盘方向的XOR逻辑;并且它示出了相应的映射寄存器的内容。
图3B说明了在用于除了连接于物理端口2的驱动器现在已失效之外与图2A和3A相同的数据通路的读盘方向的XOR逻辑;并再次示出了映射寄存器的内容。
图4是映射寄存器结构的一个示例;所述映射寄存器在阵列控制器的一个实施例之中控制在逻辑和物理数据端口之间的数据通路的配置。
图5A是逻辑端口#1读数据通路中的多路复用器电路的概念图。
图5B说明了阵列控制器的一个实施例中的读盘XOR逻辑。
图6说明了阵列控制器的一个实施例中用于映射寄存器的逻辑端口#1(PP L1)字段的解码器逻辑。
图7A说明了阵列控制器的一个实施例中的从逻辑端口到物理端口的数据通路逻辑(仅对于物理端口#2而说明)。
图7B说明了阵列控制器的一个实施例中的写盘XOR逻辑。
图8说明了用于启用到当前所选择的阵列的全局访问命令的盘地址、选通脉冲和芯片选择逻辑。
图9说明了用于与逻辑驱动器关联的中断信号逻辑。
图10说明了逻辑寻址的硬件实现。
具体实施方式
映射寄存器
用于小型计算机***的典型的RAID控制器包括到主机***的接口和到驱动器阵列的接口。图1是提供了用于与主机总线12相交互的主机接口16和用于与多个所连接的盘驱动器14相交互的驱动器接口22的盘阵列控制器10的简化的框图。所述的控制器优选地包括控制处理器20和用于临时存储在主机总线和驱动器之间移动的数据的缓冲存储器18。
需要物理端口用于连接例如盘驱动器的海量存储设备到***。虽然一些接口能够支持到多个设备的并行数据传输,但物理端口易于成为瓶颈。出于此原因,如图2A所示,高性能RAID控制器对应每一海量存储设备可以有一个物理端口。图2A也示出了相应的映射寄存器24的内容,以下参考图4进一步描述了该内容。
RAID的性能优点之一来自于跨阵列的驱动器划分数据。例如,同时从四个驱动器读数据得到四倍于单个驱动器传输速率的提高。对于图2A中示出的示例,将从四个驱动器得到的十六位数据按逻辑驱动器的顺序合并于发送到缓冲器(图1中的18)的六十四位数据之中。用户数据被划分,即,以预定顺序跨驱动器阵列将用户数据同时分发成段(如16位的字)。我们识别此顺序为始于逻辑驱动器#0并继续直到逻辑驱动器#n-1,其中n是阵列中的驱动器的数量。重复这种划分顺序,以使用户数据的第k段对应于逻辑驱动器(k模n)。以此方式,我们使用逻辑驱动器编号来反映划分顺序。因此,在附图中,四个“逻辑端口”的栈简单地指明了一次划分的一组已排序的四个段。每一“逻辑端口”对应于此次划分的单一段,并且全部栈对应于一组已排序的四个段。
来自每一驱动器的100MBPS的传输速率成为了到缓冲器的400MBPS的传输速率。虚线框26概念地表示了稍后详细描述的数据通路开关。该数据通路开关26提供了在逻辑数据端口和物理数据端口之间可动态配置的数据通路。
具有在逻辑数据端口和物理数据端口之间的直接连接的图2A仅是概念图。在实际应用中,可用的物理数据端口的数量将大于逻辑数据端口的数量。可存在被保留作为“热备份(hot spare)”的端口,或者可将物理端口分组为独立访问的不同子阵列。图2B是将四个逻辑端口(逻辑端口#0到逻辑端口#3)分配给可用的五个物理数据端口(物理端口#0到物理端口#4)的一种可能的分配的示例。例如,大箭头30简单地表明将逻辑端口#1分配给物理端口#2。图2B也示出了相应的映射寄存器24的内容。这里,寄存器中的右边第二个字段对应于逻辑端口#1,并且它包含的值“2”指明了如箭头30所指明的物理端口#2。如稍后所完整描述的,数据通路开关26实现了逻辑端口到物理端口的分配。
图2C示出了双驱动器阵列的示例,其中每一驱动器被分配给五个可用的物理端口中的一个,即物理端口#1和物理端口#2。为了组装缓冲器中的64位的字,必须读每一16位的驱动器两次。在第一次读时,逻辑端口#0和#1的数据分别从物理端口#2和#1获得。在第二次读时,逻辑端口#2和#3分别从物理端口#2和#1获得数据。由处理器20协调这些操作。再一次地,映射寄存器示出了对物理端口#1和#2的分配。
图2D示出了带有连接到物理端口#3的单一驱动器的阵列的示例。对于此配置,通过读同一物理接口四次获得逻辑端口#0到#3的数据。
美国专利号6,018,778中描述的“同步冗余数据传输(Synchronous Redundant Data Transfers)”的特征之一在于,它允许“在传输过程中(On-The-Fly)”处理冗余数据,如美国专利号6,237,052中所描述的。图3A示出了图2A的四驱动器阵列,加上用于计算存储在连接于物理端口#4的驱动器上的冗余数据图形的逻辑36。尽管各种算术和逻辑运算可能被用于产生冗余图形,但在来自逻辑数据端口的数据的相应位之间的逻辑XOR相对于算术运算而言具有如下优点:XOR运算不必传递进位。由于使用了XOR,经常将第五驱动器称为“冗余”驱动器或“奇偶”驱动器。
附图中示出的16位宽的总线XOR相当于十六个XOR门,每一XOR门具有四个输入。如图3B中所能够看出的,对XOR函数的使用在读盘和写盘操作之间也是非常对称的。图3B示出了与图3A中所定义的相同的四驱动器阵列,其将数据通路40、42等示出为读盘方向。在这种情况下,连接于物理端口#2的驱动器已失效。因此,用虚线示出不起作用的相应的数据通路44。跨来自其余的数据驱动器(物理端口#0、#1和#3)以及来自冗余驱动器即物理端口#4的数据而计算XOR函数。这种计算重构了存储于失效驱动器之上的数据,并通过数据通路46将结果引导到逻辑端口#2,代替来自失效驱动器的现在不可用的数据。
前述段落说明了在RAID控制器中的一组逻辑端口和一组物理设备端口之间可能存在的各种关系的一些示例。一般而言,使高性能的RAID控制器处理由连接于它的物理端口的海量存储设备的各种子组所构成的多个阵列。如以下进一步所解释的,本发明的一个方面使用了新颖的映射寄存器以及关联的逻辑,以启用存储设备阵列的软件配置并提高性能。
根据本发明的一个实施例,在图4中示出其结构的映射寄存器24控制逻辑和物理数据端口之间的数据通路的配置。(映射寄存器也提供了稍后讨论的其他特征和优点。)在此实施例中,映射寄存器由五个字段组成,每一字段用于在此示例中为L0-L4的五个逻辑数据端口中的一个。将所连接的物理数据端口号装载到寄存器中的每一逻辑数据端口的相应字段中。将逻辑数组端口0的字段中的数据符号表示为PP_L0,PP_L0表明它是与逻辑端口0相关联的物理端口。其后四个字段的值被分别识别为PP_L1、PP_L2、PP_L3和PP_L4。第五个逻辑数据端口是伪端口。PP_L4值被用于为奇偶驱动器分配物理数据端口。
映射寄存器字段能够是几乎任意大小的。例如,八位字段将支持大到256个物理端口的阵列。在说明性的实施例中,仅有五个物理端口,三位的字段就足够了。将五个字段精密地压缩于十六位的寄存器中,并使在附图中标记为“r”的位空闲,用于“保留”。能够使用任何类型的非易失性存储器存储映射寄存器信息。
为说明对映射寄存器的使用,我们将简要地回顾迄今为止所述的每一配置。在图2A中,注意示出了映射寄存器24。PP_L0的值为0,表明了逻辑数据端口#0连接于物理端口#0。下三个值为1、2和3,表明了下三个逻辑数据端口连接于下三个物理数据端口。PP_L4的值为7。在此示例中这不是合法的物理端口号码。值“7”被用于表明在此配置中没有奇偶驱动器。所选择的特定值不是严格的,只要它不是实际的物理端口号码。
再次参考图2B,存储于映射寄存器之中的值表明物理数据端口1、2、4和0分别支持逻辑端口0到3。再一次地,“7”表明未使用奇偶驱动器。
图2C示出了配置用于双驱动器阵列的映射寄存器。注意,逻辑数据端口#2和#3与逻辑端口#0和#1关联于相同的物理端口。前两个逻辑端口在第一物理端口循环中传输数据,而后两个逻辑端口在第二物理端口循环中传输数据。
图2D示出了配置用于单一驱动器情况的映射寄存器。逻辑端口#0到#3将连续循环中的数据传输到物理端口#3。图2的所有变种都是独立于冗余数据逻辑而示出的不同的数据通路配置。
图3A示出了对于与图2A相同的数据驱动器配置的在写盘方向的XOR逻辑。对来自所有四个逻辑数据端口的数据上计算XOR。将结果存储在连接于映射驱动器的逻辑端口#4字段中所规定的物理端口的驱动器上。在此示例中,PP_L4具有值“4”而不是“7”,表明存在奇偶驱动器,且其连接于端口#4。
图3B示出了对于除了连接于物理端口#2的驱动器现在已失效之外与图2A和3A相同的数据通路的在读盘方向的XOR逻辑。用“5”替换逻辑数据端口2的字段PP_L2的内容。合法的物理端口号码是0到4。“5”是用于表明驱动器已失效的保留值。访问伪物理端口号5的任何逻辑数据端口将从XOR的输出获得它的数据。
数据通路开关
在前述的讨论中,我们已说明了被装载到映射寄存器的字段中的四个值可以被用于表示四个逻辑数据端口以及连接到5个物理端口的1、2或4个驱动器阵列之间的所有可能的配置,所述驱动器阵列可能有也可能没有冗余驱动器;以及,对于带有冗余驱动器的阵列,可能有也可能没有失效的驱动器。下面将描述怎样将映射寄存器的内容用于配置硬件部件和数据通路。换句话说,以下的讨论提供了数据通路开关26的当前优选的实现的细节,以及怎样由映射寄存器内容配置它。
现在参考图5A,四个逻辑数据端口中的每一个必须能够从五个物理数据端口中的任一个接收数据,或在存在失效驱动器的情况下从读盘XOR接收数据。由于有六种可能的数据源,每一物理数据端口具有相应的十六位宽的六到一的多路复用器50。在图5A中示出了逻辑端口1的多路复用器50,而其他的(逻辑端口#0、#2和#3的)多路复用器都是相同的。多路复用器的选择器或“S”输入连接于映射寄存器的逻辑端口#1字段-“PP_L1”。PP_L1的值0到4分别选择来自物理端口#0到#4的数据,而值“5”选择读盘XOR的输出。
图5B示出了读盘XOR逻辑52。读盘XOR逻辑52是五路输入XOR电路,在优选实施例中为十六位宽(对应于所连接的盘驱动器的数据通路)。(这等同于分别具有五路输入的十六个XOR。)通过相应的也为十六位宽的AND门,例如AND门54,逻辑地限定或“选通”五路输入中的每一路。(这等同于分别具有两路输入的十六个NAND门。)通过相应的五个物理端口选择信号PP0_SEL到PP4_SEL而限定五个NAND门。以下将描述这些信号的生成。
到每一物理端口的数据通路可以来自四个逻辑数据端口中的任一个,或来自写盘XOR。参考图2A-2D示出了示例。虽然映射寄存器的字段识别了每一逻辑数据端口的数据源,但我们并不具有提供了每一物理端口的相应数据的字段。此信息能够来自于我们所不具有的字段。用“1-8(one of eight)”解码器对映射寄存器的三位二进制解码字段的每一字段进行解码。图6示出了用于逻辑端口#1字段的这种解码器66。值PP_L1被解码为L1_P0、L1_P1、L1_P2...L1_P7,其中,名称指明了从源到目标的通路。例如,L1_P2指明了从逻辑端口#1到物理端口#2的通路。
现在参考图7A,示出了从逻辑数据端口到物理数据端口(#0-#4)的数据通路70的多路复用的样本电路。图中示出了物理端口#2的多路复用器72,而其他四个端口的多路复用器(未示出)是相同的。每一多路复用器72由带有全部为十六位宽的五个AND门74以及相应的OR门76的AND/OR阵列组成。(每一AND门等同于分别具有两路输入的十六个AND门。OR门等同于分别具有五路输入的十六个OR门。)对于物理端口#2的多路复用器,通过相应的五个解码器的输出,即所示出的L0_P2、L1_P2、L2_P2、L3_P2和L4_P2,限定来自逻辑数据端口的AND门。
在这一点上,有两个开放的问题要解决。在双驱动器阵列中,给定的物理端口从两个不同的逻辑端口接收数据,尽管在不同的循环中。参考回图6,每一解码器66具有限定它的所有输出的启用输入“EN”。对于双驱动器配置,在第一循环中仅启用逻辑数据端口#0和#1的解码器,而在第二循环中仅启用逻辑数据端口#2和#3的解码器。出于此原因,每次将只能限定图7A中的一个AND门。换句话说,仅将来自所分配的逻辑端口的数据(根据映射寄存器)输入到相应的物理端口。
在其中单一物理端口从所有四个逻辑端口接收数据(参见图2D)的单驱动器阵列中,每次仅启用一个解码器66,因此每次将仅启用一个AND门74选择唯一的数据源(逻辑端口)。另一个开放问题是用于图5B的“PPn_SEL”信号的源。图6示出了对五路输入OR门68的使用,如果在本物理端口和任一逻辑端口之间存在数据通路,所述的五路输入OR门68将对于物理端口“n”维持(assert)PPn_SEL信号。这提供了一种指示,即物理端口是有效的,并可参与到图5B中的读盘XOR中。
全局读和写
根据ATA/ATAPI规范,将命令发送到驱动器需要使用编程IO或PIO模式,对于仅支持PIO模式0的设备,所述PIO模式00可以慢至每次访问600ns,而对于支持模式4的设备,所述PIO模式不优于每次访问120ns。单一命令需要八次或更多次访问。如果必须按顺序对所有的驱动器下命令,则此时间需乘以驱动器的数量,并在整个过程中增加相当长的等待时间。能够由每一端口的独立控制器并行发布命令,但这会显著地增加复杂性和成本。
当跨驱动器阵列划分数据时,给定划分数据条的部分将被定位于每一驱动器上同一相对的位置。这使数据地址、逻辑缓冲器地址或LBA对于每一驱动器是相同的。结果,对于阵列的所有驱动器,读给定划分数据条的命令是相同的。且写给定划分数据条的命令也将是相同的。这使逻辑处理器(例如图1中的20)能够在不超过将否则发送一个命令到单一驱动器需要的时间内“广播”通用命令。
如之前所指出的,驱动器阵列可由所连接的驱动器的子组组成。(本发明的优点之一在于,简单地通过将适当的配置字节存储于映射寄存器中而具备简单配置或重新配置将所连接的驱动器组织到已定义的阵列中的能力。)在阵列由所连接驱动器的子组组成的情况下,可以仅将命令(如读和写)“广播”到所选的子组中。必须一次对一个驱动器下命令,或者必须提供某种装置来“屏蔽”不参与到当前阵列中的物理数据端口。图8示出了解决这一问题的一种实现。
参考图8,对于五个物理端口中的前两个(P0和P1),示出了地址、选通脉冲、芯片选择信号CS0、CS1、DA0、DA1、DA2、DIOW和DIOR。注意,这些地址和选通脉冲信号对所有的五个端口是通用的。它们被独立地缓存,以便给定驱动器的失效不能阻碍将这些信号传播到其他驱动器。参见缓冲器80、82。用于给定端口的两个芯片选择信号CS0#、CS1#的输出驱动器由该端口的Pn_SEL信号所限定;参见门84、86。任何未被映射寄存器的当前内容所选择的端口将不维持它的任一芯片选择,并因此将忽略读和写选通脉冲。
似乎“全局读”没有任何意义,因为它意味着将潜在冲突的数据值返回到公共总线上。在当前实施例中,“全局读”使读选通脉冲,即,图8的Pn_DIOR#,被“广播”到所有的物理数据端口。由芯片选择(Pn_CS0#、Pn_CS1#)所限定的那些连接的存储设备将把数据返回到物理端口,在物理端口,在Pn_DIOR#选通脉冲的下降边锁存数据。不会作出尝试将数据的值返回到本地处理器作为这次读循环的结果。
接着本地处理器将使用不同的地址每次一个地读这些端口的每一个,这不会导致对Pn_DIOR#选通脉冲循环的重复,以及不会改变任何已锁存的数据。这些循环不允许本地处理器取出存储于每一数据锁存器中的潜在唯一的值。可需要多至600ns的Pn_DIOR#循环仅被执行一次。为了达到和重复五次Pn_DIOR#循环相比的显著的时间节约,可以每次以15ns取出每一端口中锁存的值。
“全局读”和“全局写”装置允许本地处理器在可能的最少量时间内发送命令到当前所选择的阵列,并从所述阵列中接收控制状态。当通过在映射寄存器中装载新的值而选择不同的子阵列时,控制接口自动更新,而无需其他的代码改变。
状态排序
前述的讨论讲述了生成许多物理端口输出,并示出了怎样由映射寄存器操纵它们。这些端口的每一个也具有许多输入信号。再一次地,将这些信号与逻辑驱动器相关联能够最小化软件开销。例如,每一驱动器具有被用于从控制器发出需要服务的信号的中断输出。图9示出了对来自映射寄存器的PP_L0值控制的多路复用器90的使用,以选择与逻辑数据端口零相关联的物理端口的中断。其他逻辑数据端口的每一个具有使用了相应的PP_Ln值以定位其中断的相同的多路复用器(未示出)。在图9中,缓冲器92从每一逻辑数据端口的多路复用器(90等)取得所选的中断。当逻辑处理器(图1中20)通过此缓冲器读中断状态时,该中断以始于位零位置的逻辑数据端口零的逻辑数据端口顺序而出现。能够将同样的技术用于对来自物理数据端口的包括驱动器线缆ID信号和内部FIFO状态信号的内部和外部信号进行排序。该特征使得逻辑固件能够为具有不同数目的物理端口的多个阵列使用共同的代码序列。一旦装载了中断缓冲器92,则所需的状态位总是用于所选的任一阵列的“已排序的”寄存器的最不重要的位。可将位的数量屏蔽减少为端口的实际数量。
中断ANY和ALL
来自逻辑数据端口的所选中断能够如图9所示被逻辑AND 94和OR 96,以提供信号“中断ALL”和“中断ANY”。当逻辑处理器已发布命令时,且在任意数据已传输之前,可能想要了解来自任意驱动器的中断,因为一个或多个驱动器可能已拒绝其命令或具有某种其他错误。一旦驱动器已开始传输数据,本地处理器将想要了解何时所有驱动器已维持其中断信号,因为这表明了命令的完成。注意,这类的实现使软件独立于驱动器的数量。(对于双驱动器阵列,来自每一设备的中断信号出现两次,而在单驱动器阵列中,同一驱动器出现四次。AND和ALL信号仍正确地运行。)
逻辑地址映射
尽管大量的运行时软件利用了以上所述的全局命令和状态,但在特定的设备内仍存在对访问用于初始化和用于处理错误的单独设备的需要。出于此原因,每一物理数据端口出现于逻辑处理器地址空间内的唯一位置。当解码对这些位置的任一个的访问时,根据映射寄存器的内容对已解码的输出进行重新映射。在初始化期间,映射寄存器装载了“身份”图形,即,逻辑设备0指向物理端口0,逻辑设备1指向物理端口1等等。这使物理端口以始于处理器的地址空间中的第一个物理端口位置的顺序而出现。在正常操作中,映射寄存器将装载从逻辑到物理驱动器的映射。如果接着从逻辑端口2接收了中断,则逻辑处理器可通过当装载身份映射时访问了物理端口2的唯一地址空间来访问中断驱动器。这使逻辑驱动器的服务独立于它们所连接的物理数据端口。
在图10中示出了逻辑寻址特征的一种硬件实现。当处理器访问设备端口空间的地址部分时,1-8解码器100解码为每一设备定义了三十二字节空间的处理器地址线五到七。对每一空间的解码维持了相应端口N的解码信号Pn_DEC。对虚拟端口号七的解码是全局访问的信号。P7_DEC信号与其他解码信号102的每一个进行OR,以便对于该端口的特定访问和对于全局访问均维持结果的端口选择信号Pn_SEL(n=0-4)。
接着由来自映射寄存器的PP_Ln值操纵每一端口选择信号。1-8解码器104取得P2_SEL信号,并根据来自映射寄存器的PP_L2值路由该P2_SEL信号,产生了一组信号,信号的形式为L2_P0_CS,表明来自物理端口零并来自逻辑端口二的芯片选择。其他四个逻辑端口的1-8解码器是相同的(未示出)。
每一物理端口具有五路输入的OR门,例如106。示出了物理端口#2的OR门106。它将五个不同源一起进行OR以进行到物理端口#2的芯片选择。注意,对于单驱动器子阵列,将由所有的四个逻辑设备维持芯片选择,而对于双驱动器子阵列,由两个逻辑设备维持芯片选择。
在前述的描述和附图中,我们说明了一类映射寄存器的若干示例;它可以被称为逻辑映射寄存器。如所解释的,它提供了对于已定义阵列中的每一逻辑驱动器的字段,并在此字段中,一个值指明了相应的物理端口号。在被称为物理映射的可选实施例中,寄存器提供了对于每一物理端口或所连接驱动器的字段,并在每一字段中,一个值指明了相应的逻辑端口号。在以下示例中说明了这种可选的映射寄存器。
假设为四个驱动器上所划分的数据定义了阵列。以特定顺序将宽度为划分数据条的数据块存储于每一可用的驱动器中。接着重复此过程。例如,将第一(以及第五、第九等)数据块存储于与物理端口#1连接的驱动器上。将第二(以及第六、第十等)数据块存储于与物理端口#2连接的驱动器上。将第三(以及第七、第十一等)数据块存储于与物理端口#4连接的驱动器上。第一数据块去往逻辑驱动器0,第二数据块去往逻辑驱动器1,第三数据块去往逻辑驱动器2,而第四数据块去往逻辑驱动器3。这种情况的可选的两类映射寄存器如下:
逻辑映射:
逻辑端口# | 3 | 2 | 1 | 0 |
值(物理端口) | 0 | 4 | 2 | 1 |
物理映射:
物理端口# | 4 | 3 | 2 | 1 | 0 |
值(逻辑端口#) | 2 | - | 1 | 0 | 3 |
很明显,对于本领域技术人员,可对上述的实施例的细节作出许多改变,而不会背离本发明的基础原理。因此,仅应该由以下的权利要求确定本发明的范围。
Claims (15)
1.一种盘阵列控制器,包括:
用于连接主机***的主机接口;
用于存储读和写数据的缓冲器;以及
盘接口,所述的盘接口包括多个用于连接盘驱动器的物理端口;
所述的盘接口还包括在物理端口和缓冲器之间实现可选择的数据通路的开关;以及
用于存储映射数据的映射寄存器,其中,所述开关可响应于在映射寄存器中存储的映射数据被配置用于访问由映射数据定义的物理端口的阵列。
2.根据权利要求1的盘阵列控制器,其中,所述的映射数据反映了物理端口间的划分顺序,而所述开关将来自物理端口的数据段排序为逻辑端口的顺序。
3.根据权利要求2的盘阵列控制器,其中,所述的映射数据按照物理端口的规定顺序定义了划分顺序。
4.根据权利要求4的盘阵列控制器,其中:
所述的盘接口包括一系列逻辑端口,每一逻辑端口用于在盘接口和缓冲器之间传输相应的数据段;
以及所述的映射数据包括通过规定每一逻辑端口到一个物理端口的关联而定义期望的盘阵列和划分方案的多个字段。
5.根据权利要求3的盘阵列控制器,其中,所述的映射数据存储于控制器的存储器中。
6.根据权利要求4的盘阵列控制器,其中,将所述映射数据组织为包括对于每一逻辑端口的字段以及存储于所述字段中指明相应的物理端口的值的逻辑映射寄存器。
7.根据权利要求4的盘阵列控制器,其中,将所述映射数据组织为包括对于控制器的每一物理端口的字段以及存储于所述字段中指明相应的逻辑端口的值的物理映射寄存器。
8.根据权利要求4的盘阵列控制器,其中,所述的期望的盘阵列由逻辑端口到可用物理端口的子组的关联所定义。
9.根据权利要求4的盘阵列控制器,其中,所述的映射寄存器包括用于指明是否将冗余驱动器用于阵列中以存储冗余数据的字段。
10.根据权利要求4的盘阵列控制器,其中:
所述的映射数据定义了盘阵列,该盘阵列包括了数量等于在盘接口和缓冲器之间的数据传输中所使用的逻辑端口的数量的二分之一的物理端口;以及
所述的开关可被动态地重新配置用于提供在前一半逻辑端口和所分配的物理端口之间的用于第一次盘访问的第一数据通路,并接着提供在另一半逻辑端口和所分配的物理端口之间的用于第二次盘访问的第二数据通路,以完成缓冲器传输。
11.根据权利要求10的盘阵列控制器,其中,所述的映射数据定义了四个逻辑端口到两个物理端口的盘阵列的关联。
12.根据权利要求4的盘阵列控制器,其中:
所述的映射数据定义了盘阵列,该盘阵列包括了数量少于在盘接口和缓冲器之间的数据传输中所使用的逻辑端口的数量的物理端口;以及
所述的开关可被动态地重新配置用于提供在第一子组的逻辑端口和所分配的物理端口之间的第一数据通路,并接着提供在第二子组的逻辑端口和所分配的物理端口之间的第二数据通路。
13.根据权利要求4的盘阵列控制器,其中,所述的开关将来自缓冲器的写盘数据段引导到物理端口,以便按照映射数据中规定的那样跨已定义的阵列划分数据。
14.一种将命令广播到盘驱动器的阵列的方法,所述方法包括以下步骤:
在映射寄存器中存储通过识别多个物理端口而定义盘阵列的标记;
将命令的一个字节维持于每一已识别的物理端口的数据总线之上;
将全局写的选通脉冲维持于所有的已识别的物理端口;以及
响应于映射寄存器的内容,仅选择包括于已定义阵列中的物理端口,以便仅由所选择的端口通过接受所维持的命令的字节而响应全局写的选通脉冲。
15.一种从盘阵列全局读控制状态的方法,包括:
在映射寄存器中存储通过识别多个物理端口而定义盘阵列的标记;
将单一全局读的选通脉冲广播到所有已识别的物理端口;
响应于映射寄存器的内容,仅选择包括于已定义阵列中的物理端口,以便仅由所选择的端口通过返回所请求的控制状态而响应全局读的选通脉冲;
在物理端口中锁存返回的控制状态;以及接着
分别访问每一物理端口以获得各个控制状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US46489203P | 2003-04-21 | 2003-04-21 | |
US60/464,892 | 2003-04-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1777861A true CN1777861A (zh) | 2006-05-24 |
CN100371874C CN100371874C (zh) | 2008-02-27 |
Family
ID=33310975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800106867A Expired - Fee Related CN100371874C (zh) | 2003-04-21 | 2004-04-21 | 具有可重新配置的数据通路的盘阵列控制器及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8281067B2 (zh) |
EP (1) | EP1625489A2 (zh) |
JP (1) | JP2006524401A (zh) |
KR (1) | KR20060025135A (zh) |
CN (1) | CN100371874C (zh) |
CA (1) | CA2522915A1 (zh) |
WO (1) | WO2004095255A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140501B (zh) * | 2006-09-07 | 2010-04-14 | 国际商业机器公司 | 数据存储***、raid存储***及其管理方法 |
CN103927126A (zh) * | 2013-07-18 | 2014-07-16 | 詹明德 | 一种磁盘阵列设备的配置方法及组装及磁盘***处理方法 |
CN104090986A (zh) * | 2014-07-28 | 2014-10-08 | 福建三元达通讯股份有限公司 | 一种无线控制器槽位控制方法、接入设备和无线控制器 |
CN108462660A (zh) * | 2016-12-12 | 2018-08-28 | 中国航空工业集团公司西安航空计算技术研究所 | 用于网络交换芯片的端口重映射电路及方法 |
CN109606380A (zh) * | 2018-12-07 | 2019-04-12 | 英业达科技有限公司 | 网络控制装置、方法及车辆电控单元 |
CN112416355A (zh) * | 2020-11-12 | 2021-02-26 | 珠海格力电器股份有限公司 | Plc组态软件的端口转换方法及*** |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111101B1 (en) * | 2003-05-07 | 2006-09-19 | Ayago Technologies General Ip (Singapore) Ptd. Ltd. | Method and system for port numbering in an interconnect device |
US7694038B2 (en) * | 2004-11-17 | 2010-04-06 | International Business Machines Corporation | Maintaining and using nexus information on a host, port and device connection |
JP2008527496A (ja) * | 2004-12-29 | 2008-07-24 | ネットセル コーポレイション | 低減されたローカルバストラフィックでのディスクドライブ動作のためのインテリジェントストレージエンジン |
US20060194386A1 (en) * | 2005-02-25 | 2006-08-31 | Dell Products L.P. | Method and apparatus for supporting port aggregation of serial attached SCSI wide ports via virtual ports |
WO2007095255A2 (en) | 2006-02-10 | 2007-08-23 | Dupont Tate & Lyle Bio Products Company, Llc | Biodegradable compositions comprising renewably-based, biodegradable 1.3-propanediol |
US8619771B2 (en) | 2009-09-30 | 2013-12-31 | Vmware, Inc. | Private allocated networks over shared communications infrastructure |
US8924524B2 (en) | 2009-07-27 | 2014-12-30 | Vmware, Inc. | Automated network configuration of virtual machines in a virtual lab data environment |
US8892706B1 (en) | 2010-06-21 | 2014-11-18 | Vmware, Inc. | Private ethernet overlay networks over a shared ethernet in a virtual environment |
US7472211B2 (en) | 2006-07-28 | 2008-12-30 | International Business Machines Corporation | Blade server switch module using out-of-band signaling to detect the physical location of an active drive enclosure device |
US8195774B2 (en) | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
US10103939B2 (en) | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
US9525647B2 (en) | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
US8717895B2 (en) | 2010-07-06 | 2014-05-06 | Nicira, Inc. | Network virtualization apparatus and method with a table mapping engine |
JP5298079B2 (ja) * | 2010-07-08 | 2013-09-25 | 京セラドキュメントソリューションズ株式会社 | ストレージ管理装置 |
JP5815717B2 (ja) * | 2010-10-15 | 2015-11-17 | コーヒレント・ロジックス・インコーポレーテッド | マルチプロセッサシステムにおける通信の無効化 |
JP5889535B2 (ja) * | 2011-02-24 | 2016-03-22 | ヤマハ株式会社 | 端末装置及び通信システム |
US8626994B2 (en) * | 2011-11-30 | 2014-01-07 | Apple Inc. | Systems and methods for improved communications in a nonvolatile memory system |
US9571386B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
US9407580B2 (en) | 2013-07-12 | 2016-08-02 | Nicira, Inc. | Maintaining data stored with a packet |
US9282019B2 (en) | 2013-07-12 | 2016-03-08 | Nicira, Inc. | Tracing logical network packets through physical network |
US9197529B2 (en) | 2013-07-12 | 2015-11-24 | Nicira, Inc. | Tracing network packets through logical and physical networks |
US9336174B1 (en) * | 2013-07-29 | 2016-05-10 | Cisco Technology, Inc. | Dynamic interface model |
US9887960B2 (en) | 2013-08-14 | 2018-02-06 | Nicira, Inc. | Providing services for logical networks |
US9952885B2 (en) | 2013-08-14 | 2018-04-24 | Nicira, Inc. | Generation of configuration files for a DHCP module executing within a virtualized container |
US9577845B2 (en) | 2013-09-04 | 2017-02-21 | Nicira, Inc. | Multiple active L3 gateways for logical networks |
US9503371B2 (en) | 2013-09-04 | 2016-11-22 | Nicira, Inc. | High availability L3 gateways for logical networks |
US9602398B2 (en) | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
US9785455B2 (en) | 2013-10-13 | 2017-10-10 | Nicira, Inc. | Logical router |
US10063458B2 (en) | 2013-10-13 | 2018-08-28 | Nicira, Inc. | Asymmetric connection with external networks |
US9548924B2 (en) | 2013-12-09 | 2017-01-17 | Nicira, Inc. | Detecting an elephant flow based on the size of a packet |
US9967199B2 (en) | 2013-12-09 | 2018-05-08 | Nicira, Inc. | Inspecting operations of a machine to detect elephant flows |
US9298549B2 (en) | 2013-12-11 | 2016-03-29 | International Business Machines Corporation | Read buffer architecture supporting integrated XOR-reconstructed and read-retry for non-volatile random access memory (NVRAM) systems |
US9569368B2 (en) | 2013-12-13 | 2017-02-14 | Nicira, Inc. | Installing and managing flows in a flow table cache |
US9996467B2 (en) | 2013-12-13 | 2018-06-12 | Nicira, Inc. | Dynamically adjusting the number of flows allowed in a flow table cache |
US9225597B2 (en) | 2014-03-14 | 2015-12-29 | Nicira, Inc. | Managed gateways peering with external router to attract ingress packets |
US9590901B2 (en) | 2014-03-14 | 2017-03-07 | Nicira, Inc. | Route advertisement by managed gateways |
US9313129B2 (en) | 2014-03-14 | 2016-04-12 | Nicira, Inc. | Logical router processing by network controller |
US9419855B2 (en) | 2014-03-14 | 2016-08-16 | Nicira, Inc. | Static routes for logical routers |
US9647883B2 (en) | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
US9503321B2 (en) | 2014-03-21 | 2016-11-22 | Nicira, Inc. | Dynamic routing for logical routers |
US9413644B2 (en) | 2014-03-27 | 2016-08-09 | Nicira, Inc. | Ingress ECMP in virtual distributed routing environment |
US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US9385954B2 (en) | 2014-03-31 | 2016-07-05 | Nicira, Inc. | Hashing techniques for use in a network environment |
US9985896B2 (en) | 2014-03-31 | 2018-05-29 | Nicira, Inc. | Caching of service decisions |
US10193806B2 (en) | 2014-03-31 | 2019-01-29 | Nicira, Inc. | Performing a finishing operation to improve the quality of a resulting hash |
US9742881B2 (en) | 2014-06-30 | 2017-08-22 | Nicira, Inc. | Network virtualization using just-in-time distributed capability for classification encoding |
US9768980B2 (en) | 2014-09-30 | 2017-09-19 | Nicira, Inc. | Virtual distributed bridging |
US10250443B2 (en) | 2014-09-30 | 2019-04-02 | Nicira, Inc. | Using physical location to modify behavior of a distributed virtual network element |
US10511458B2 (en) | 2014-09-30 | 2019-12-17 | Nicira, Inc. | Virtual distributed bridging |
US10020960B2 (en) | 2014-09-30 | 2018-07-10 | Nicira, Inc. | Virtual distributed bridging |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
US10469342B2 (en) | 2014-10-10 | 2019-11-05 | Nicira, Inc. | Logical network traffic analysis |
US9787605B2 (en) | 2015-01-30 | 2017-10-10 | Nicira, Inc. | Logical router with multiple routing components |
JP5910767B2 (ja) * | 2015-02-10 | 2016-04-27 | ヤマハ株式会社 | 端末装置及び通信システム |
US10038628B2 (en) | 2015-04-04 | 2018-07-31 | Nicira, Inc. | Route server mode for dynamic routing between logical and physical networks |
US10225184B2 (en) | 2015-06-30 | 2019-03-05 | Nicira, Inc. | Redirecting traffic in a virtual distributed router environment |
US10230629B2 (en) | 2015-08-11 | 2019-03-12 | Nicira, Inc. | Static route configuration for logical router |
US10057157B2 (en) | 2015-08-31 | 2018-08-21 | Nicira, Inc. | Automatically advertising NAT routes between logical routers |
US10095535B2 (en) | 2015-10-31 | 2018-10-09 | Nicira, Inc. | Static route types for logical routers |
CN105760116B (zh) * | 2016-03-10 | 2018-11-23 | 天津科技大学 | 一种多网盘下的增量纠删码存储方法及*** |
US10333849B2 (en) | 2016-04-28 | 2019-06-25 | Nicira, Inc. | Automatic configuration of logical routers on edge nodes |
US10841273B2 (en) | 2016-04-29 | 2020-11-17 | Nicira, Inc. | Implementing logical DHCP servers in logical networks |
US10484515B2 (en) | 2016-04-29 | 2019-11-19 | Nicira, Inc. | Implementing logical metadata proxy servers in logical networks |
US10091161B2 (en) | 2016-04-30 | 2018-10-02 | Nicira, Inc. | Assignment of router ID for logical routers |
US10560320B2 (en) | 2016-06-29 | 2020-02-11 | Nicira, Inc. | Ranking of gateways in cluster |
US10153973B2 (en) | 2016-06-29 | 2018-12-11 | Nicira, Inc. | Installation of routing tables for logical router in route server mode |
US10454758B2 (en) | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
US10341236B2 (en) | 2016-09-30 | 2019-07-02 | Nicira, Inc. | Anycast edge service gateways |
US10237123B2 (en) | 2016-12-21 | 2019-03-19 | Nicira, Inc. | Dynamic recovery from a split-brain failure in edge nodes |
US10212071B2 (en) | 2016-12-21 | 2019-02-19 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10742746B2 (en) | 2016-12-21 | 2020-08-11 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10616045B2 (en) | 2016-12-22 | 2020-04-07 | Nicira, Inc. | Migration of centralized routing components of logical router |
US10805239B2 (en) | 2017-03-07 | 2020-10-13 | Nicira, Inc. | Visualization of path between logical network endpoints |
US10637800B2 (en) | 2017-06-30 | 2020-04-28 | Nicira, Inc | Replacement of logical network addresses with physical network addresses |
US10681000B2 (en) | 2017-06-30 | 2020-06-09 | Nicira, Inc. | Assignment of unique physical network addresses for logical network addresses |
US10608887B2 (en) | 2017-10-06 | 2020-03-31 | Nicira, Inc. | Using packet tracing tool to automatically execute packet capture operations |
US10374827B2 (en) | 2017-11-14 | 2019-08-06 | Nicira, Inc. | Identifier that maps to different networks at different datacenters |
US10511459B2 (en) | 2017-11-14 | 2019-12-17 | Nicira, Inc. | Selection of managed forwarding element for bridge spanning multiple datacenters |
US10931560B2 (en) | 2018-11-23 | 2021-02-23 | Vmware, Inc. | Using route type to determine routing protocol behavior |
US10797998B2 (en) | 2018-12-05 | 2020-10-06 | Vmware, Inc. | Route server for distributed routers using hierarchical routing protocol |
US10938788B2 (en) | 2018-12-12 | 2021-03-02 | Vmware, Inc. | Static routes for policy-based VPN |
US11095480B2 (en) | 2019-08-30 | 2021-08-17 | Vmware, Inc. | Traffic optimization using distributed edge services |
US11283699B2 (en) | 2020-01-17 | 2022-03-22 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
US11606294B2 (en) | 2020-07-16 | 2023-03-14 | Vmware, Inc. | Host computer configured to facilitate distributed SNAT service |
US11616755B2 (en) | 2020-07-16 | 2023-03-28 | Vmware, Inc. | Facilitating distributed SNAT service |
US11611613B2 (en) | 2020-07-24 | 2023-03-21 | Vmware, Inc. | Policy-based forwarding to a load balancer of a load balancing cluster |
US11451413B2 (en) | 2020-07-28 | 2022-09-20 | Vmware, Inc. | Method for advertising availability of distributed gateway service and machines at host computer |
US11902050B2 (en) | 2020-07-28 | 2024-02-13 | VMware LLC | Method for providing distributed gateway service at host computer |
US11570090B2 (en) | 2020-07-29 | 2023-01-31 | Vmware, Inc. | Flow tracing operation in container cluster |
US11196628B1 (en) | 2020-07-29 | 2021-12-07 | Vmware, Inc. | Monitoring container clusters |
US11558426B2 (en) | 2020-07-29 | 2023-01-17 | Vmware, Inc. | Connection tracking for container cluster |
US11736436B2 (en) | 2020-12-31 | 2023-08-22 | Vmware, Inc. | Identifying routes with indirect addressing in a datacenter |
US11336533B1 (en) | 2021-01-08 | 2022-05-17 | Vmware, Inc. | Network visualization of correlations between logical elements and associated physical elements |
US11687210B2 (en) | 2021-07-05 | 2023-06-27 | Vmware, Inc. | Criteria-based expansion of group nodes in a network topology visualization |
US11711278B2 (en) | 2021-07-24 | 2023-07-25 | Vmware, Inc. | Visualization of flow trace operation across multiple sites |
US11677645B2 (en) | 2021-09-17 | 2023-06-13 | Vmware, Inc. | Traffic monitoring |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4514823A (en) * | 1982-01-15 | 1985-04-30 | International Business Machines Corporation | Apparatus and method for extending a parallel channel to a serial I/O device |
US5038320A (en) * | 1987-03-13 | 1991-08-06 | International Business Machines Corp. | Computer system with automatic initialization of pluggable option cards |
US5003558A (en) * | 1989-10-30 | 1991-03-26 | International Business Machines Corporation | Data synchronizing buffers for data processing channels |
US5185862A (en) * | 1989-10-30 | 1993-02-09 | International Business Machines Corp. | Apparatus for constructing data frames for transmission over a data link |
US5072378A (en) * | 1989-12-18 | 1991-12-10 | Storage Technology Corporation | Direct access storage device with independently stored parity |
EP0433520B1 (en) * | 1989-12-22 | 1996-02-14 | International Business Machines Corporation | Elastic configurable buffer for buffering asynchronous data |
US5151977A (en) * | 1990-08-31 | 1992-09-29 | International Business Machines Corp. | Managing a serial link in an input/output system which indicates link status by continuous sequences of characters between data frames |
US5268592A (en) * | 1991-02-26 | 1993-12-07 | International Business Machines Corporation | Sequential connector |
US5257391A (en) * | 1991-08-16 | 1993-10-26 | Ncr Corporation | Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals |
US5392425A (en) * | 1991-08-30 | 1995-02-21 | International Business Machines Corporation | Channel-initiated retry and unit check for peripheral devices |
US5483641A (en) * | 1991-12-17 | 1996-01-09 | Dell Usa, L.P. | System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities |
JP3160106B2 (ja) * | 1991-12-23 | 2001-04-23 | ヒュンダイ エレクトロニクス アメリカ | ディスクアレーの区分け方法 |
US5471640A (en) * | 1992-07-06 | 1995-11-28 | Hewlett-Packard | Programmable disk array controller having n counters for n disk drives for stripping data where each counter addresses specific memory location by a count n |
JP3181398B2 (ja) * | 1992-10-06 | 2001-07-03 | 三菱電機株式会社 | アレイ型記録装置 |
GB2273584B (en) * | 1992-12-16 | 1997-04-16 | Quantel Ltd | A data storage apparatus |
US5428649A (en) * | 1993-12-16 | 1995-06-27 | International Business Machines Corporation | Elastic buffer with bidirectional phase detector |
US5537567A (en) * | 1994-03-14 | 1996-07-16 | International Business Machines Corporation | Parity block configuration in an array of storage devices |
US5581715A (en) * | 1994-06-22 | 1996-12-03 | Oak Technologies, Inc. | IDE/ATA CD drive controller having a digital signal processor interface, dynamic random access memory, data error detection and correction, and a host interface |
JP3432063B2 (ja) * | 1994-12-28 | 2003-07-28 | キヤノン株式会社 | ネットワークシステム及びノード装置及び伝送制御方法 |
US5845319A (en) * | 1995-08-23 | 1998-12-01 | Fujitsu Limited | Disk array device which separates local and physical disks using striping and operation mode selection |
WO1997011426A1 (en) * | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
US5771372A (en) * | 1995-10-03 | 1998-06-23 | International Business Machines Corp. | Apparatus for delaying the output of data onto a system bus |
US5794063A (en) * | 1996-01-26 | 1998-08-11 | Advanced Micro Devices, Inc. | Instruction decoder including emulation using indirect specifiers |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
US5890014A (en) * | 1996-08-05 | 1999-03-30 | Micronet Technology, Inc. | System for transparently identifying and matching an input/output profile to optimal input/output device parameters |
US5964866A (en) * | 1996-10-24 | 1999-10-12 | International Business Machines Corporation | Elastic self-timed interface for data flow elements embodied as selective bypass of stages in an asynchronous microprocessor pipeline |
US6161165A (en) * | 1996-11-14 | 2000-12-12 | Emc Corporation | High performance data path with XOR on the fly |
US5864653A (en) * | 1996-12-31 | 1999-01-26 | Compaq Computer Corporation | PCI hot spare capability for failed components |
US6151641A (en) * | 1997-09-30 | 2000-11-21 | Lsi Logic Corporation | DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments |
US6098114A (en) * | 1997-11-14 | 2000-08-01 | 3Ware | Disk array system for processing and tracking the completion of I/O requests |
US6138125A (en) * | 1998-03-31 | 2000-10-24 | Lsi Logic Corporation | Block coding method and system for failure recovery in disk arrays |
US6151685A (en) * | 1998-05-15 | 2000-11-21 | International Business Machines Corporation | System and method for recovering a segment directory for a log structured array |
US6282207B1 (en) * | 1999-03-30 | 2001-08-28 | Diva Systems Corporation | Method and apparatus for storing and accessing multiple constant bit rate data |
US6772108B1 (en) * | 1999-09-22 | 2004-08-03 | Netcell Corp. | Raid controller system and method with ATA emulation host interface |
US6996742B2 (en) * | 2000-11-28 | 2006-02-07 | Sedna Patent Services, Llc | Method for regenerating and streaming content from a video server using RAID 5 data striping |
US6665773B1 (en) * | 2000-12-26 | 2003-12-16 | Lsi Logic Corporation | Simple and scalable RAID XOR assist logic with overlapped operations |
US7418620B1 (en) * | 2001-02-16 | 2008-08-26 | Swsoft Holdings, Ltd. | Fault tolerant distributed storage method and controller using (N,K) algorithms |
US6513098B2 (en) * | 2001-05-25 | 2003-01-28 | Adaptec, Inc. | Method and apparatus for scalable error correction code generation performance |
US6883131B2 (en) * | 2001-09-28 | 2005-04-19 | Sun Microsystems, Inc. | XOR processing incorporating error correction code data protection |
JP3590381B2 (ja) * | 2001-12-18 | 2004-11-17 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ更新方法 |
US6971042B2 (en) * | 2002-04-18 | 2005-11-29 | Huge Systems, Inc. | Media server with single chip storage controller |
US20040205269A1 (en) * | 2003-04-09 | 2004-10-14 | Netcell Corp. | Method and apparatus for synchronizing data from asynchronous disk drive data transfers |
US7913148B2 (en) * | 2004-03-12 | 2011-03-22 | Nvidia Corporation | Disk controller methods and apparatus with improved striping, redundancy operations and interfaces |
-
2004
- 2004-04-21 WO PCT/US2004/012476 patent/WO2004095255A2/en active Application Filing
- 2004-04-21 CA CA002522915A patent/CA2522915A1/en not_active Abandoned
- 2004-04-21 US US10/829,918 patent/US8281067B2/en active Active
- 2004-04-21 KR KR1020057020009A patent/KR20060025135A/ko not_active Application Discontinuation
- 2004-04-21 CN CNB2004800106867A patent/CN100371874C/zh not_active Expired - Fee Related
- 2004-04-21 EP EP04760132A patent/EP1625489A2/en not_active Ceased
- 2004-04-21 JP JP2006513232A patent/JP2006524401A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140501B (zh) * | 2006-09-07 | 2010-04-14 | 国际商业机器公司 | 数据存储***、raid存储***及其管理方法 |
CN103927126A (zh) * | 2013-07-18 | 2014-07-16 | 詹明德 | 一种磁盘阵列设备的配置方法及组装及磁盘***处理方法 |
CN103927126B (zh) * | 2013-07-18 | 2016-10-12 | 詹明德 | 一种磁盘阵列设备的配置方法及组装及磁盘***处理方法 |
CN104090986A (zh) * | 2014-07-28 | 2014-10-08 | 福建三元达通讯股份有限公司 | 一种无线控制器槽位控制方法、接入设备和无线控制器 |
CN108462660A (zh) * | 2016-12-12 | 2018-08-28 | 中国航空工业集团公司西安航空计算技术研究所 | 用于网络交换芯片的端口重映射电路及方法 |
CN108462660B (zh) * | 2016-12-12 | 2020-12-29 | 中国航空工业集团公司西安航空计算技术研究所 | 用于网络交换芯片的端口重映射电路及方法 |
CN109606380A (zh) * | 2018-12-07 | 2019-04-12 | 英业达科技有限公司 | 网络控制装置、方法及车辆电控单元 |
CN109606380B (zh) * | 2018-12-07 | 2020-08-07 | 英业达科技有限公司 | 网络控制装置、方法及车辆电控单元 |
CN112416355A (zh) * | 2020-11-12 | 2021-02-26 | 珠海格力电器股份有限公司 | Plc组态软件的端口转换方法及*** |
Also Published As
Publication number | Publication date |
---|---|
WO2004095255A3 (en) | 2005-07-14 |
EP1625489A2 (en) | 2006-02-15 |
US20040264309A1 (en) | 2004-12-30 |
CN100371874C (zh) | 2008-02-27 |
JP2006524401A (ja) | 2006-10-26 |
CA2522915A1 (en) | 2004-11-04 |
US8281067B2 (en) | 2012-10-02 |
KR20060025135A (ko) | 2006-03-20 |
WO2004095255A2 (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1777861A (zh) | 具有可重新配置的数据通路的盘阵列控制器 | |
US8074149B2 (en) | Disk controller methods and apparatus with improved striping, redundancy operations and interfaces | |
US5596736A (en) | Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses | |
JP5272019B2 (ja) | プロセッサを内部メモリに接続するクロスバー・スイッチを含むフラッシュメモリ用ストレージコントローラ | |
US5790774A (en) | Data storage system with dedicated allocation of parity storage and parity reads and writes only on operations requiring parity information | |
US7215580B2 (en) | Non-volatile memory control | |
JP4219602B2 (ja) | 記憶制御装置および記憶制御装置の制御方法 | |
AU654482B2 (en) | A dish memory system | |
US5394532A (en) | Disk drive array memory system having instant format capability | |
US6684295B2 (en) | Disk array control device with two different internal connection systems | |
US8321639B2 (en) | Command tracking for direct access block storage devices | |
US7770076B2 (en) | Multi-platter disk drive controller and methods for synchronous redundant data operations | |
CN109101189B (zh) | 数据储存装置与数据储存方法 | |
KR20100116396A (ko) | 컨트롤러, 이를 포함하는 데이터 저장 장치 및 데이터 저장 시스템, 및 그 방법 | |
KR20100011698A (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템 및 그제어 방법 | |
JPH09319528A (ja) | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム | |
CN1300027A (zh) | 对多个主机访问共享读/写驱动器进行库局部管理的数据存储库 | |
JP3247075B2 (ja) | パリティブロックの生成装置 | |
WO2005089339A2 (en) | Disk controller methods and apparatus with improved striping redundancy operations and interfaces | |
US20160216887A1 (en) | Memory system | |
KR100529278B1 (ko) | 대용량 데이터에 대한 데이터 중복 저장 시스템 | |
EP4120090A1 (en) | Storage design for host controlled logically addressed flexible data layout | |
JP2002132453A (ja) | ディスクアレイシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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: 20080227 |