CN1777861A - 具有可重新配置的数据通路的盘阵列控制器 - Google Patents

具有可重新配置的数据通路的盘阵列控制器 Download PDF

Info

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
Application number
CNA2004800106867A
Other languages
English (en)
Other versions
CN100371874C (zh
Inventor
迈克尔·C.·斯托罗维兹
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.)
NetCell Corp
Original Assignee
NetCell 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 NetCell Corp filed Critical NetCell Corp
Publication of CN1777861A publication Critical patent/CN1777861A/zh
Application granted granted Critical
Publication of CN100371874C publication Critical patent/CN100371874C/zh
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Images

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
    • 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/061Improving I/O performance
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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

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.一种从盘阵列全局读控制状态的方法,包括:
在映射寄存器中存储通过识别多个物理端口而定义盘阵列的标记;
将单一全局读的选通脉冲广播到所有已识别的物理端口;
响应于映射寄存器的内容,仅选择包括于已定义阵列中的物理端口,以便仅由所选择的端口通过返回所请求的控制状态而响应全局读的选通脉冲;
在物理端口中锁存返回的控制状态;以及接着
分别访问每一物理端口以获得各个控制状态。
CNB2004800106867A 2003-04-21 2004-04-21 具有可重新配置的数据通路的盘阵列控制器及方法 Active CN100371874C (zh)

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 Active 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)

* Cited by examiner, † Cited by third party
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 (96)

* Cited by examiner, † Cited by third party
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
WO2006071817A2 (en) 2004-12-29 2006-07-06 Netcell Corporation Intelligent storage engine for disk drive operations with reduced local bus traffic
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
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
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
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
US8958292B2 (en) * 2010-07-06 2015-02-17 Nicira, Inc. Network control apparatus and method with port security controls
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
JP5298079B2 (ja) * 2010-07-08 2013-09-25 京セラドキュメントソリューションズ株式会社 ストレージ管理装置
EP2628090B1 (en) * 2010-10-15 2018-05-30 Coherent Logix Incorporated Disabling communication in a multiprocessor system
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
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9344349B2 (en) 2013-07-12 2016-05-17 Nicira, Inc. Tracing network packets by a cluster of network controllers
US9407580B2 (en) 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
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
US10063458B2 (en) 2013-10-13 2018-08-28 Nicira, Inc. Asymmetric connection with external networks
US9910686B2 (en) 2013-10-13 2018-03-06 Nicira, Inc. Bridging between network segments with a logical router
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US10158538B2 (en) 2013-12-09 2018-12-18 Nicira, Inc. Reporting elephant flows to a network controller
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
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9313129B2 (en) 2014-03-14 2016-04-12 Nicira, Inc. Logical router processing by network controller
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
US9503321B2 (en) 2014-03-21 2016-11-22 Nicira, Inc. Dynamic routing for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9413644B2 (en) 2014-03-27 2016-08-09 Nicira, Inc. Ingress ECMP in virtual distributed routing environment
US10193806B2 (en) 2014-03-31 2019-01-29 Nicira, Inc. Performing a finishing operation to improve the quality of a resulting hash
US9385954B2 (en) 2014-03-31 2016-07-05 Nicira, Inc. Hashing techniques for use in a network environment
US9686200B2 (en) 2014-03-31 2017-06-20 Nicira, Inc. Flow cache hierarchy
US9742881B2 (en) 2014-06-30 2017-08-22 Nicira, Inc. Network virtualization using just-in-time distributed capability for classification encoding
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US11178051B2 (en) 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US9768980B2 (en) 2014-09-30 2017-09-19 Nicira, Inc. Virtual distributed bridging
US10020960B2 (en) 2014-09-30 2018-07-10 Nicira, Inc. Virtual distributed bridging
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US10129180B2 (en) 2015-01-30 2018-11-13 Nicira, Inc. Transit logical switch within logical router
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
US10361952B2 (en) 2015-06-30 2019-07-23 Nicira, Inc. Intermediate logical interfaces in a virtual distributed router environment
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. 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
US10742746B2 (en) 2016-12-21 2020-08-11 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10212071B2 (en) 2016-12-21 2019-02-19 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
US10200306B2 (en) 2017-03-07 2019-02-05 Nicira, Inc. Visualization of packet tracing operation results
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
US11902050B2 (en) 2020-07-28 2024-02-13 VMware LLC Method for providing distributed gateway service at host computer
US11451413B2 (en) 2020-07-28 2022-09-20 Vmware, Inc. Method for advertising availability of distributed gateway service and machines at host computer
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in 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
US11706109B2 (en) 2021-09-17 2023-07-18 Vmware, Inc. Performance of traffic monitoring actions

Family Cites Families (43)

* Cited by examiner, † Cited by third party
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
DE68925696D1 (de) 1989-12-22 1996-03-28 Ibm Elastischer konfigurierbarer Pufferspeicher zum Puffern von asynchronen Daten
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
TW200500857A (en) 2003-04-09 2005-01-01 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

Cited By (9)

* Cited by examiner, † Cited by third party
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
US8281067B2 (en) 2012-10-02
CN100371874C (zh) 2008-02-27
WO2004095255A2 (en) 2004-11-04
WO2004095255A3 (en) 2005-07-14
EP1625489A2 (en) 2006-02-15
KR20060025135A (ko) 2006-03-20
US20040264309A1 (en) 2004-12-30
JP2006524401A (ja) 2006-10-26
CA2522915A1 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
CN1777861A (zh) 具有可重新配置的数据通路的盘阵列控制器
US5155835A (en) Multilevel, hierarchical, dynamically mapped data storage subsystem
US8074149B2 (en) Disk controller methods and apparatus with improved striping, redundancy operations and interfaces
AU661680B2 (en) Disk drive array memory system using nonuniform disk drives
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
US9135167B2 (en) Controller, data storage device and data storage system having the controller, and data processing method
US7215580B2 (en) Non-volatile memory control
JP4219602B2 (ja) 記憶制御装置および記憶制御装置の制御方法
AU654482B2 (en) A dish memory system
US6021462A (en) Methods and apparatus for system memory efficient disk access to a raid system using stripe control information
US5394532A (en) Disk drive array memory system having instant format capability
US20030028724A1 (en) Method and apparatus for efficiently destaging data from a cache to two or more non-contiguous storage locations
US7770076B2 (en) Multi-platter disk drive controller and methods for synchronous redundant data operations
CN109101189B (zh) 数据储存装置与数据储存方法
JPH09319528A (ja) データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム
CN1300027A (zh) 对多个主机访问共享读/写驱动器进行库局部管理的数据存储库
WO2005089339A2 (en) Disk controller methods and apparatus with improved striping redundancy operations and interfaces
WO1993013475A1 (en) Method for performing disk array operations using a nonuniform stripe size mapping scheme
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