CN1902616A - 能够使用不同通信协议进行通信的中间设备 - Google Patents
能够使用不同通信协议进行通信的中间设备 Download PDFInfo
- Publication number
- CN1902616A CN1902616A CNA2004800395547A CN200480039554A CN1902616A CN 1902616 A CN1902616 A CN 1902616A CN A2004800395547 A CNA2004800395547 A CN A2004800395547A CN 200480039554 A CN200480039554 A CN 200480039554A CN 1902616 A CN1902616 A CN 1902616A
- Authority
- CN
- China
- Prior art keywords
- intermediate equipment
- circuit
- memory device
- communication protocol
- data stream
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Electrophonic Musical Instruments (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
根据一个实施例的方法可以包括通过中间设备至少部分地确定至少一个通信协议,连接到中间设备的至少一个存储设备能够经由该至少一个通信协议进行通信。在该实施例中,中间设备能够根据至少一个通信协议通过中间设备至少部分地控制来自至少一个存储设备的至少一个数据流。当然,在不脱离该实施例的情况下,许多替换、变化和修改是可能的。
Description
领域
本公开涉及一种能够使用不同通信协议进行通信的中间设备。
背景
在常规数据存储装置中,计算机节点包括主机总线适配器(HBA)。HBA使用与一个或多个通信链路相关联的通信协议经由所述一个或多个通信链路与数据存储系统进行通信。HBA与数据存储系统之间的物理连接典型地包括一根或多根电缆,所述电缆被设计成使用通信协议在HBA与数据存储系统之间传送命令和数据。在电缆上传送数据可能降低对所述数据进行编码的信号的质量,并且这可能限制HBA与数据存储系统之间的电缆长度。另外,延长电缆长度会在数据存储系统与HBA之间的数据流中引入噪声。已经使用重定时器来减少数据流中的抖动和噪声。然而,常规的重定时器可能仅使用单个预定的通信协议进行通信。因此,在常规的数据存储装置中,由于重定时器不能使用不同通信协议进行通信,所以常规的数据存储装置在其中使用多个通信协议的数据存储装置中不提供延长电缆距离的机构。
附图简述
随着以下详细描述的进行并且基于附图的参考,要求权利的主题的实施例的特征和优点将变得显而易见,其中相同的数字描述相同的部分,以及其中:
图1是说明一个系统实施例的图;
图2是说明另一系统实施例的图;
图3是说明示例性中间设备的框图;以及
图4是说明根据实施例可以执行的示例性操作的流程图。
虽然以下的详细描述将参考说明性的实施例而进行,但是其许多替换、修改以及变化对于本领域技术人员来说将是显而易见的。因此,打算广泛地看待要求权利的主题,并且仅如所附权利要求书中阐述的那样来限定要求权利的主题。
详细描述
图1说明要求权利的主题的一个系统实施例100。系统100通常可以包括主处理器112、总线122、用户接口系统116、芯片组114、系统存储器121、电路卡插槽130、以及能够与大容量存储器104进行通信的电路卡120。主处理器112可以包括本领域已知的任何种类的处理器,例如可从本主题申请的受让人那里买到的IntelPentiumIV处理器。总线122可以包括传送数据和命令的各种总线类型。例如,总线122可以符合可从PCI Special Interest Group,Portland,Oregon,U.S.A.得到的2002年7月22日公布的Peripheral ComponentInterconnect(PCI)ExpressTM Base Specification Revision 1.0(下文中称为“PCI ExpressTM”)。总线122也可以符合可从前述PCI SpecialInterest Group,Portland,Oregon,U.S.A.得到的2000年7月24日公布的PCI-X Specification Rev.1.0a(下文中称为“PCI-X总线”)。
用户接口116可以包括人类用户输入命令和/或数据以及监控系统的各种设备,例如键盘、定点设备、以及视频显示器。芯片组114可以包括将处理器112、系统存储器121以及用户接口系统116彼此耦合以及耦合到总线122的主桥/集线器系统(未示出)。芯片组114可以包括集成电路芯片,例如可从本主题申请的受让人那里买到的集成电路芯片组中选定的那些集成电路芯片(例如图形存储器和I/O控制器集线器芯片组),尽管也可以或者可选地使用其他集成电路芯片。可以将处理器112、系统存储器121、芯片组114以及电路卡插槽130集成到一个主板132上。
可以构造电路卡120以允许其被插入插槽130。当电路卡120被正确地插入插槽130时,连接器134和137彼此电气和机械地耦合。当连接器134和137如此彼此耦合时,卡120电耦合到总线122,并且可以经由总线122和芯片组114来与系统存储器121、主处理器112、和/或用户接口系统116交换数据和/或命令。可选的是,在不脱离该实施例的情况下,电路卡120的工作电路可以被包含于其它结构、系统和/或设备中。这些其它结构、系统和/或设备例如可以在主板132中被耦合到总线122。处理器112、系统存储器121、芯片组114、总线122、以及电路卡插槽130可以被包含在诸如系统主板之类的单个电路板中。可选地,并且在不脱离该实施例的情况下,电路卡120可以包括在系统主板中所包含的一个或多个芯片组。
电路卡120使用多个通信协议与大容量存储器104进行通信。电路卡120可以包括一个或多个协议启动器引擎140,其适于启动主系统132和大容量存储器104之间的通信。启动器引擎可以包括一种可以包含能够启动主系统132和大容量存储器104之间通信的电路的集成电路。
如果电路卡120使用光纤通道(FC)协议来与大容量存储器104交换数据和/或命令,那么该协议可以符合或兼容在ANSI Standard FibreChannel Physical and Signaling Interface-3 X3.303:1998 Specification中所描述的接口/协议。可选地或另外地,如果控制器电路卡120使用串行ATA(S-ATA)协议来与大容量存储器104交换数据和/或命令,那么该协议可以符合或兼容由Serial ATA Working Group于2001年8月29日公布的“Serial ATA:High Speed Serialized AT Attachment”,Revision1.0中所描述的协议。此外可选地或另外地,如果控制器电路卡120使用串行连接小型计算机系统接口(SAS)来与大容量存储器104交换数据和/或命令,那么该协议可以符合或兼容由American NationalStandards Institute于2003年9月18日公布的“Information Technology-Serial Attached SCSI-1.1”,Working Draft American NationalStandard of International Committee For Information TechnologyStandards(INCITS)T10 Tecchnical Committee,Project T10/1562-D,Revision 1(下文中称为“SAS标准”)和/或SAS标准的后公布版本。SAS协议可以包括Serial Advanced Attachment (ATA)TunneledProtocol(STP)和Serial Small Computer System Interface(SCSI)Protocol(SSP)。
大容量存储器104可以包括一个或多个大容量存储设备,例如大容量存储设备104a、104b、104c和/或104d。大容量存储器104可以包括一个或多个独立磁盘冗余阵列(RAID)和/或外围设备。存储设备104a、104b、104c和/或104d中的一个或多个可以符合或兼容FC通信协议、S-ATA通信协议和/或SAS通信协议。当然可选的是,在不脱离该实施例的情况下,电路卡120可以使用其它和/或另外的通信协议与大容量存储器104交换数据和/或命令。在大容量存储器104中所包含的大容量存储设备可以被包括于一个或多个相应的封装(enclosure)中,所述一个或多个封装可以与其中密封有主板及其所包括部件的封装相分离。作为选择并且在不脱离在此所述任一实施例的情况下,大容量存储器104可以包括一个或多个独立设备。诸如存储设备104a、104b、104c和/或104d之类的一个或多个大容量存储设备在此可以被称为“目标设备”或“多个目标设备”,并且打算这些术语在此可以互换使用。
该实施例也可以包括耦合在大容量存储器104和电路卡120之间的中间设备150。如在此所使用的“中间设备”可以包括发送和/或接收至少一个信号的电路。如在此所使用的“电路”例如可以包括硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件的单一形式或任何组合形式。例如,在一个实施例中,中间设备150可以包括将从电路卡120发送的命令和/或数据传送到在大容量存储器104中包括的目标设备的电路,反之亦然。此外,在此处所述的至少一个实施例中,中间设备150也可以包括使用多个通信协议来交换命令和/或数据的电路。
中间设备150可以经由电路卡120与大容量存储器104之间的一个或多个通信链路进行耦合。例如在一个示例性实施例中,中间设备可以与一根或多根电缆106和108耦合,其中一根或多根电缆106可以被耦合到电路卡120,并且一根或多根电缆108可以被耦合到大容量存储器104。按照惯例,对于给定的通信协议而言,在电路卡120与大容量存储器104中所包括的目标设备之间的物理电缆的最大实际可用长度可能是有限的。例如按照惯例,对于使用SAS协议的设备通信而言,电缆长度可能被限制为大约10米,以及对于使用S-ATA协议进行通信的设备而言,所述电缆长度可能被限制为大约1米。如果使用较长的电缆长度,那么在所述较长长度的电缆上的信号交换会产生噪声影响,这往往可能引起信号质量的恶化。
与该实施例一致,中间设备150可以包括流协议检测电路180。如在此任一实施例所使用的“协议检测电路”可以被定义为可操作用来从多个通信协议中检测出一个通信协议的电路。例如在示例性实施例中,协议检测电路180可操作用来检测兼容和/或能够使用FC通信协议进行通信的FC目标设备、兼容和/或能够使用SAS通信协议进行通信的SAS目标设备、和/或兼容和/或能够使用S-ATA通信协议进行通信的S-ATA目标设备的存在。
中间设备150也可以包括数据流控制电路190。如在此任一实施例中所使用的“数据流控制电路”或“流控制电路”可以被定义为可以控制数据流的电路,所述数据流可以根据一个或多个通信协议进行传送。如在此关于数据流所使用的“控制”可以指至少部分地修改信号编码、流以产生期望的效果。例如在示例性实施例中,流控制电路190可操作用来控制来自电路卡120和大容量存储器104的数据流(反之亦然)以减少从大容量存储器104发送到电路卡120的数据流中所包含的噪声影响,反之亦然。
关于在此所述的任一实施例的中间设备150可以沿着电缆或电缆组的任何点、或者在大容量存储器104的前端、或者在电路卡120中进行物理定位。而且,如果需要较长的电缆长度,那么多于一个的中间设备可以被耦合在一起。在图1所述的示例性实施例中,中间设备150可以被耦合到在例如电缆的两个长度之间的桥设备(未示出)中的电缆106和108。作为选择,中间设备150可以被包含于或被直接连接到(即没有经由电缆108耦合)大容量存储器104,或者被包含于或被直接连接到(即没有经由电缆106耦合)电路卡120;在这些可选的情况中,一根或多根电缆106或108可以被消除。虽然未在附图中示出,但是中间设备150可以包括一个或多个接口连接器以提供与电缆106和/或电缆108的机械和电气连通性。在这一点上,电缆106和/或电缆108可以符合或兼容FC协议、SAS协议和/或S-ATA通信协议。
图2说明要求权利的主题的另一系统实施例200。在图2中,为清楚起见已经省略了图1所述的系统100的某些部分(例如电路板132和电路卡120),但是应该理解,图2的相同部分能够以与图1所述实施例一致的方式实施,或者在不脱离该实施例的情况下可选地在其它系统中实施。
图2的系统200可以包括协议启动器引擎140、大容量存储器104以及经由一根或多根电缆106a、106b、...106d和/或108a、108b、...108d耦合到大容量存储器104和启动器引擎140的中间设备150。多协议启动器引擎140可以包括使用不同通信协议与大容量存储器104交换命令和数据的电路,并且所述电路可以包括与电路卡120相关联的集成电路。
在示例性实施例中,大容量存储器104包括多协议封装,其可以包括或者能够容纳一个或多个目标设备104a、104b、104c和/或104d。例如在实施例中,目标设备104a可以是能够使用FC协议进行通信的FC设备,目标设备104b可以是能够使用SAS协议进行通信的设备,目标设备104c可以是能够使用SAS协议进行通信的STP设备,以及目标设备104d可以是能够使用S-ATA协议进行通信的S-ATA设备。
在该实施例中,例如电缆106a和108a可以兼容和/或能够使用FC协议以便与FC目标设备进行通信,电缆106b和108b可以兼容和/或能够使用SAS协议以便与SSP目标设备进行通信,电缆106c和108c可以兼容和/或能够使用SAS协议以便与STP目标设备进行通信,以及电缆106d和108d可以兼容和/或能够使用S-ATA协议以便与S-ATA目标设备进行通信。
中间设备150可操作用来为多个通信协议提供协议检测和/或数据流控制。例如在示例性实施例中,中间设备150可以包括为一个或多个目标设备104a、104b、104c和/或104d提供协议检测和数据流控制的电路,该电路可以使用FC、SAS和/或S-ATA通信协议与中间设备150进行通信。在示例性实施例中,传送到中间设备150和/或从中间设备150传送的一个或多个信号(即到和/或来自启动器引擎140和/或目标设备104a、104b...104d的编码命令和数据)可以以下面所述的方式被重新定时,以允许延长例如大容量存储器104与启动器引擎140之间的电缆长度。
图3是中间设备150的框图300。如上所述,中间设备可以包括便于多个目标设备(104a、104b...104d)与电路卡120之间通信的电路,反之亦然。如进一步所描述的那样,目标设备104a、104b...104d可以被容纳在混合设备的封装中,例如所述设备兼容和/或能够使用SAS、S-ATA和/或FC协议进行通信。在图3的示例性实施例中,中间设备150可操作用来动态支持与一个或多个目标设备相关联的多个不同通信协议。
中间设备可以包括接收路径电路152A和发送路径电路152B。接收路径电路152A包括在目标设备104a、104b...104d与电路卡120之间的通信路径,其中命令和数据可以从目标设备104a、104b...104d通过接收路径电路152A发送到电路卡120。因此,发送路径电路152B可以是目标设备104a、104b...104d与电路卡120之间的通信路径,其中命令和数据可以从电路卡120通过发送路径电路152B发送到目标设备104a、104b...104d。根据该实施例,发送路径电路152B的构造与接收路径电路152A的构造可以相同。
接收路径电路152A可以包括协议检测电路。例如在该示例性实施例中,协议检测电路可以包括OOB信号检测电路156和FC链路初始化原始序列检测电路160。另外,协议检测电路可以包括协议支持电路170和/或172。
接收路径电路也可以包括数据流控制电路。示例性的流控制电路可以包括数据跟踪锁相环(PLL)电路158和重定时器电路154。
以下参考多个不同通信协议并继续参考图3来描述中间设备150的示例性运行情况。
SAS协议检测和流控制
对于该实例而言,假设单独地或以如图2所示与多设备封装中的其它设备类型相结合的方式(例如SSP设备104b和/或SST设备104c)将SAS设备连接到中间设备150。例如经由电缆链路106a、106b...106d和/或108a、108b...108d可以将命令和数据传送到中间设备150并从中间设备150传送出去,正如由Rin和Tin所表示的。数据路径166(例如内部总线)可以被包含于接收路径电路152A中以提供从SAS设备发送到接收路径电路152A的部件电路的命令和数据的通信。
当一开始对SAS设备上电时,SAS设备发送已定义序列的初始化信号。假设通过常规SAS协议来定义初始化信号序列,除非与在此所述的相反。为了检测SAS设备被连接到中间设备150,接收路径电路152A可以包括OOB信号检测电路156。OOB信号检测电路156可以被耦合到来自SAS设备的输入初始化信号序列的数据路径166。来自SAS设备的初始化信号序列可以包括OOB(带外)原始信号序列。如在此所使用的“初始化信号序列”可以包括由设备产生的信号序列,并且可以进一步包括在识别设备类型的所述信号中所包含的信息。例如,所述原始序列可以包括将目标设备识别为SAS设备的COMSAS信号序列。OOB信号检测电路156可操作用来接收OOB信号序列,并且产生到重定时器电路154的通过命令174。
在SAS设备的情况中,例如可以由通过命令信号174禁止重定时器电路154以允许初始化OOB信号序列通过中间设备150(经由数据路径168)到电路卡120。电路卡120或者特别是与电路卡120相关联的启动器协议引擎140可以适于接收OOB信号序列(经由在中间设备150和电路卡120之间延伸的电缆链路),并且也可以选择一种合适的SAS协议来使用常规SAS通信协议开始与SAS设备的通信。在该实例中,重定时器电路154可以包括对通过其的OOB信号进行缓冲和/或放大的缓冲器和/或放大电路。
接收路径电路152A也可以包括流控制电路,其可以包括耦合到内部总线166的数据跟踪PLL电路158。例如在通过协议引擎140适当初始化SAS设备之后,PLL电路158可以适于接收来自SAS设备的数字数据信号(即数据流)。一旦接收到数据流,PLL电路158可操作用来比较输入数据流与内部产生的时钟信号(未示出)。如果内部产生的时钟信号与数据流之间存在相位差,那么PLL电路158也能够改变时钟频率以更加接近地匹配数据流的频率。PLL电路158也能够产生表示输入数据流的频率的数据时钟信号158。该数据时钟信号164可以被发送到重定时器电路154。重定时器电路154可操作用来至少部分地基于从PLL电路158接收到的数据时钟信号164来对输入数据流进行重新定时。例如,重定时器154可以包括触发器电路,其具有用于输入的数据流和数据时钟信号,并且可操作用来基于数据时钟信号对数据流进行重新定时。重定时器电路154进一步可操作用来在重定时器电路154的输出处产生重新定时的数据流。对来自SAS设备的数据流进行重新定时可操作用来减少在较长电缆长度上可能出现的噪声事件(例如在数字信号中的振铃效应)。此外,对数据流进行重新定时可操作用来减少这些效应在定义的容差水平之下。
FC协议检测和流控制
对于该实例而言,假设单独地或以如图2所示与多设备封装中的其他设备类型相结合的方式(例如FC设备104a)将FC设备连接到中间设备150。例如经由电缆链路106a、106b...106d和/或108a、108b...108d可以将命令和数据传送到中间设备150并从中间设备150传送出去,正如由Rin和Tin所表示的。数据路径166(例如内部总线)可以被包含于接收路径电路152A中以提供从FC设备发送到接收路径电路152A的部件电路的命令和数据的通信。
当一开始对FC设备上电时,FC设备发送已定义序列的初始化信号。假设通过常规FC协议来定义初始化信号序列,除非与在此所述的相反。接收路径电路152B进一步可以包括FC链路初始化原始顺序检测电路160(以下称为“FC链路电路160”)。FC链路电路160可以接收由FC设备产生的初始化信号序列(沿着数据路径166)。来自FC设备的初始化信号序列例如可以包括将目标设备识别为FC设备的初始化信号序列。初始化信号序列可以包含与FC设备的工作频率(即链路频率)相关的附加信息。
一旦接收到来自FC设备的这种初始化信号序列,FC链路电路160就可以为(上述的)PLL电路158产生命令信号162。所述命令信号162可操作用来控制PLL电路158的工作频率,以使PLL以用于FC设备的数据流控制的正确频率(例如1.5、3.0、6.0GHz)工作。为此,PLL电路158可以包括倍频器和/或分频器电路(未示出),它们可以产生乘法(或除法)信号以使PLL电路158能够基于命令信号162选择基本频率,以允许例如数据流以用于FC设备的合适频率通过接收路径电路152A。
以与上面用于SAS设备的描述类似的方式,接收路径电路152A也可以包括流控制电路,其可以包括耦合到内部总线166的数据跟踪PLL电路158。例如在通过协议引擎140适当初始化FC设备之后,PLL电路158可以适于接收来自FC设备的数字数据信号(即数据流)。一旦接收到数据流,PLL电路158可操作用来比较输入数据流与内部产生的时钟信号(未示出)。如果内部产生的时钟信号与数据流之间存在相位差,那么PLL电路158也能够改变时钟频率以更加接近地匹配数据流的频率。PLL电路158也能够产生表示输入数据流的频率的数据时钟信号158。该数据时钟信号164可以被发送到重定时器电路154。重定时器电路154可操作用来至少部分地基于从PLL电路158接收到的数据时钟信号164来对输入数据流进行重新定时。例如,重定时器154可以包括触发器电路,其具有用于输入的数据流和数据时钟信号,并且可操作用来基于数据时钟信号对数据流进行重新定时。重定时器电路154进一步可操作用来在重定时器电路154的输出处产生重新定时的数据流。对来自FC设备的数据流进行重新定时可操作用来减少在较长电缆长度上可能出现的噪声事件(例如在数字信号中的振铃效应)。此外,对数据流进行重新定时可操作用来减少这些效应在定义的容差水平之下。
S-ATA协议检测和流控制
对于该实例而言,假设单独地或以如图2所示与多设备封装中的其他设备类型相结合的方式(例如S-ATA设备104d)将S-ATA设备连接到中间设备150。例如经由电缆链路106a、106b...106d和/或108a、108b...108d可以将命令和数据传送到中间设备150并从中间设备150传送出去,正如由Rin和Tin所表示的。数据路径166(例如内部总线)可以被包含于接收路径电路152A中以提供从FC设备发送到接收路径电路152A的部件电路的命令和数据的通信。
当一开始对S-ATA设备上电时,可以出现初始化信号序列。在示例性的S-ATA设备中,初始化信号序列可以包括OOB信号(类似于上面参考SAS设备描述的OOB信号),但不可以包括COMSAS信号。COMSAS信号的不存在可以将该设备识别为S-ATA设备(而不是SAS设备)。OOB信号检测电路156可以以与SAS协议检测的上面描述相同的方式来操作。
用于S-ATA设备的流控制电路可以包括耦合在中间设备150的相应输入端和输出端的一个或多个S-ATA协议控制电路170和/或172。在常规S-ATA协议中,当S-ATA设备正在接收数据并且发送/接收缓冲器(未示出)几乎为满时,所述设备发送HOLD(保持)信号。S-ATA协议可能要求由目标设备在预定数量的发送数据字(例如具有20个数据字)内接收保持确认信号(HOLDA)。因此,当接收到HOLD信号时,S-ATA协议控制电路170和/或172可操作用来产生合适的HOLDA信号,并且将所述HOLDA信号返回到S-ATA设备(例如设备104d)或返回到电路卡120,该信号可能是所述设备或电路卡120需要的。
以与上面用于SAS和FC设备的描述类似的方式,流控制电路也可以包括耦合到内部总线166的数据跟踪PLL电路158。例如在通过协议引擎140适当初始化FC设备之后,PLL电路158可以适于接收来自FC设备的数字数据信号(即数据流)。一旦接收到数据流,PLL电路158可操作用来比较输入数据流与内部产生的时钟信号(未示出)。如果内部产生的时钟信号与数据流之间存在相位差,那么PLL电路158也能够改变时钟频率以更加接近地匹配数据流的频率。PLL电路158也能够产生表示输入数据流的频率的数据时钟信号158。该数据时钟信号164可以被发送到重定时器电路154。重定时器电路154可操作用来至少部分地基于从PLL电路158接收到的数据时钟信号164来对输入数据流进行重新定时。例如,重定时器154可以包括触发器电路,其具有用于输入的数据流和数据时钟信号,并且可操作用来基于数据时钟信号对数据流进行重新定时。重定时器电路154进一步可操作用来在重定时器电路154的输出处产生重新定时的数据流。对来自S-ATA设备的数据流进行重新定时可操作用来减少在较长电缆长度上可能出现的噪声事件(例如在数字信号中的振铃效应)。此外,对数据流进行重新定时可操作用来减少这些效应在定义的容差水平之下。
如在此先前所述的那样,“接收路径”152A和“发送路径”152B可以包括与目标设备104和电路卡120之间的检测和数据流控制兼容的相同电路。对于发送路径电路152B而言,应该指出,除信号来自电路卡120并且去往目标设备之外,其部件可以以与上面相对于接收路径152A描述的相同方式进行操作。因此,没有向发送路径电路分配参考数字,并且可以在此假设由描述性的词或短语所称的相同部分以相同的方式进行操作。
在此参考图3中描述的中间设备150所述的电路可以包括一个或多个电路模块或芯片组,其可以包括集成电路。可选择地,图3的一个或多个框图部件可以由分立电路以与在此所述的功能一致的方式形成。应该指出,图3所述的中间设备150进一步可以包括附加的电路,例如在输入端和/或输出端处(或者在沿着数据路径的其它合适位置处)的缓冲器电路。此外,中间设备150也可以包括阻抗匹配电路,例如用于匹配目标设备104、一根或多根电缆与电路卡120之间的阻抗。
图4描述说明根据实施例可以执行的示例性操作的流程图400。参考在此所述的中间设备150,操作可以包括协议检测,该协议检测可以包括确定由目标设备104和/或电路卡120可以使用的通信协议402的操作。从多个通信协议中确定该通信协议可以包括检测初始化信号序列(例如SAS设备的OOB信号序列),检测链路初始化信号(例如FC设备的模拟突发信号),和/或检测HOLD信号(在S-ATA设备的情况中)。例如在SAS设备的情况中,OOB信号例如可以通过中间设备150到电路卡120。对于与FC协议兼容的目标设备而言,所述过程可以包括:一旦出现FC链路初始化信号,就设置PLL电路以合适的频率工作。对于S-ATA设备而言,在预定数量的数据字内可以产生返回到S-ATA设备的HOLDA信号。该过程也可包括检测与所连设备相对应的链路频率。所述链路频率可由目标设备产生,并且可以包括例如由所述设备产生的数据流的频率。链路频率可操作用来建立PLL电路的工作频率以能够对输入数据流重新定时。
对于给定的通信协议而言,操作也可以包括使用选定的通信协议402提供数据流控制。数据流控制操作可以包括重新定时数据流和/或缓冲和/或放大数据流。例如,如以上参考图3所述,PLL电路158可操作用来引入产生给定数据流的相位值,并且重定时器电路154可操作用来至少部分地基于由PLL电路158产生的相位值来重新定时数据流。
如先前所述,大容量存储器104可以包括目标设备的封装。该封装可以包括多个目标设备,并且每个设备可以兼容和/或能够使用不同通信协议进行通信。所述封装也可以包括合适的连接以允许设备是“可热交换的”、允许例如以动态方式在封装内连接和断开设备。因此,所述封装可以包括接口连接器(未示出)以提供到插入于此的设备以及可连接于此的电缆(例如电缆108a、108b...108d)的电气和机械连通性。
而且,如可从在此提供的实例中看出的那样,中间设备150的某些部件能够为任一或所有设备提供设备检测功能和数据流控制。例如,对于SAS、S-ATA和/或FC设备而言,PLL电路158和重定时器电路154可相同地操作。因此,在允许不同设备在相同物理位置上连接的封装环境中,这些部件能够容纳所述设备。与该实施例一致的中间设备150可操作用来容纳与封装不同的和/或缺少的设备。如果设备在该封装级中丢失(未连接),那么中间设备150、以及特别是OOB信号检测电路156、FC链路电路160和/或重定时器电路154可以产生表示以下事实的信号,即封装中不存在设备(或者未连接到特定电缆)。
应该理解,本公开的其他实施例设想了图3中所述的部件和/或电路或者图1和2的系统级部件的许多不同组合和/或子组合。例如,在包括专用于SAS和/或FC设备的封装环境的系统中,可以省略S-ATA协议控制电路172和170而不脱离本公开的范围。在不脱离本公开的情况下,可以进行如由图1、2和或3的任何方框所表示的任何部件的其他组合和子组合。
因此,总之,一个系统实施例可以包括电路卡,该电路卡包括能够根据多个不同通信协议进行通信的集成电路。所述电路能够被耦合到总线。中间设备可以被耦合到电路卡。中间设备能够在多个通信协议中至少部分地确定至少一个通信协议,连接到中间设备的至少一个存储设备能够经由所述至少一个通信协议进行通信。中间设备也能够对由集成电路和存储设备中至少一个所产生的数据流进行控制。
一个装置实施例可以包括中间设备,该中间设备可以包括协议检测电路,所述协议检测电路能够在多个通信协议中至少部分地确定至少一个通信协议,连接到中间设备的至少一个存储设备能够经由所述至少一个通信协议进行通信。中间设备也可以包括流控制电路,其能够对可使用多个通信协议从所述存储设备传送的数据流进行控制。
有利的是,这些实施例的中间设备可以提供增强的通信能力,并且可以使用多个通信协议进行通信。而且有利的是,由耦合到中间设备的目标设备和/或电路卡所产生的信号可以被控制,这可以允许延长在中间设备和一个或多个目标设备和/或电路卡之间的电缆长度。此外有利的是,这例如可以允许根据这些实施例的单个集成中间设备使用多个不同通信协议来与数据存储系统直接进行通信。因此,例如有可能使用这些实施例的中间设备来经由一个或多个通信链路与数据存储系统中SAS和/或S-ATA和/或FC协议域中的一个或多个设备直接进行通信,而不必使用在集成电路与数据存储系统之间耦合的一个或多个外部通信协议转换器、翻译器、和/或扩展器(举例来说,例如一个或多个SAS扩展器),尽管在不脱离这些实施例的情况下可以使用协议转换器、翻译器和/或扩展器。有利的是,与现有技术相比,这些特征可以允许这些实施例的中间设备显示出增强的通用性和实用性,并且与现有技术相比,可以减少使用在此描述的中间设备的设计成本。
在此使用的术语和表达被用作描述而非限制的术语,以及在所述术语和表达的使用中不打算排除所示和所述的特征(或其部分)的任何等同物,并且应该认识到,在权利要求书的范围内的各种修改是可能的。其它修改、变化和替换也是可能的。因此,权利要求书打算覆盖所有这种等同物。
Claims (24)
1.一种装置,包括:
中间设备,其包括协议检测电路,该协议检测电路能够在多个通信协议中至少部分地确定至少一个通信协议,连接到中间设备的至少一个存储设备能够经由所述至少一个通信协议进行通信,该中间设备还包括流控制电路,该流控制电路能够对可使用多个通信协议中的至少一个通信协议从所述存储设备传送的数据流进行控制。
2.权利要求1所述的装置,其中:
中间设备进一步能够检测表示通信协议的预定初始化信号序列。
3.权利要求2所述的装置,其中:
预定信号序列包括带外信号序列。
4.权利要求1所述的装置,其中:
协议检测电路也能够接收带外信号序列和模拟突发信号序列中的至少一个,以及流控制电路包括数据跟踪电路,该数据跟踪电路能够从所述至少一个存储设备中接收数据流,并且还能够产生表示所述数据流的频率的时钟信号,所述流控制电路也包括重定时器电路,该重定时器电路能够接收所述数据流和所述时钟信号,并且产生重新定时的数据流。
5.权利要求1所述的装置,其中:
中间设备能够经由至少一根电缆被耦合到所述存储设备。
6.权利要求1所述的装置,其中:
多个不同的通信协议包括光纤通道协议、串行连接小型计算机系统接口协议、以及串行高级技术附件协议。
7.权利要求1所述的装置,其中:
中间设备能够被耦合到与所述通信协议中至少一个兼容的电缆。
8.权利要求1所述的装置,其中:
中间设备进一步包括协议控制电路,该协议控制电路能够接收来自所述存储设备的信号,并且至少部分地响应于此,产生将被传送到所述存储设备的确认信号。
9.一种系统,包括:
电路卡,其包括能够根据多个不同通信协议进行通信的集成电路,该电路卡能够被耦合到总线,以及中间设备被耦合到所述电路卡,所述中间设备能够在多个通信协议中至少部分地确定至少一个通信协议,连接到中间设备的至少一个存储设备能够经由所述至少一个通信协议进行通信,该中间设备也能够对由所述集成电路和所述存储设备中的至少一个所产生的数据流进行控制。
10.权利要求9所述的系统,其中:
中间设备经由一根或多根电缆被耦合到所述电路卡和所述存储设备。
11.权利要求9所述的系统,其中:
中间设备进一步能够检测表示所述多个通信协议中至少一个的预定初始化信号序列。
12.权利要求11所述的系统,其中:
预定信号序列包括带外信号序列。
13.权利要求9所述的系统,其中:
中间设备进一步能够控制所述数据流以产生重新定时的数据流,并且将该重新定时的数据流传送到电路卡和存储设备中的至少一个。
14.权利要求9所述的系统,其中:
多个不同的通信协议包括光纤通道协议、串行连接小型计算机系统接口协议、以及串行高级技术附件协议。
15.一种方法,包括:
通过中间设备来至少部分地确定至少一个通信协议,连接到中间设备的至少一个存储设备能够经由所述至少一个通信协议进行通信;以及
通过中间设备来根据至少一个通信协议至少部分地控制来自所述至少一个存储设备的至少一个数据流。
16.权利要求15所述的方法,进一步包括:
通过中间设备对由所述至少一个存储设备所产生的所述至少一个数据流进行重新定时。
17.权利要求15所述的方法,进一步包括:
通过中间设备来接收初始化信号序列;以及
通过中间设备来基于所述初始化信号序列选择至少一个通信协议。
18.权利要求15所述的方法,进一步包括:
通过中间设备来确定与所述存储设备相关联的链路频率;以及
通过所述中间设备来使用所述链路频率与所述存储设备进行通信。
19.权利要求15所述的方法,进一步包括:
通过中间设备来利用在多个通信协议中一个选定的通信协议与所述至少一个存储设备进行通信。
20.一种物品,包括:
存储介质,在其上存储有当由机器执行时导致以下操作的指令:
通过中间设备来至少部分地确定至少一个通信协议,连接到中间设备的至少一个存储设备能够经由所述至少一个通信协议进行通信;以及
通过中间设备来根据至少一个通信协议至少部分地控制来自所述至少一个存储设备的至少一个数据流。
21.权利要求20所述的物品,进一步包括以下操作:
通过中间设备对由所述至少一个存储设备所产生的所述至少一个数据流进行重新定时。
22.权利要求20所述的物品,进一步包括以下操作:
通过中间设备来接收初始化信号序列;以及
通过中间设备来基于所述初始化信号序列选择至少一个通信协议。
23.权利要求20所述的物品,进一步包括以下操作:
通过中间设备来确定与所述存储设备相关联的链路频率;以及
通过所述中间设备来使用所述链路频率与所述存储设备进行通信。
24.权利要求20所述的物品,进一步包括以下操作:
通过中间设备来利用在多个通信协议中一个选定的通信协议与所述至少一个存储设备进行通信。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/749,493 | 2003-12-31 | ||
US10/749,493 US7363395B2 (en) | 2003-12-31 | 2003-12-31 | Intermediate device capable of communicating using different communication protocols |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1902616A true CN1902616A (zh) | 2007-01-24 |
CN100507890C CN100507890C (zh) | 2009-07-01 |
Family
ID=34711077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800395547A Expired - Fee Related CN100507890C (zh) | 2003-12-31 | 2004-12-24 | 能够使用不同通信协议进行通信的中间设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7363395B2 (zh) |
EP (1) | EP1687727B1 (zh) |
JP (1) | JP4473881B2 (zh) |
CN (1) | CN100507890C (zh) |
AT (1) | ATE379813T1 (zh) |
DE (1) | DE602004010428T2 (zh) |
TW (1) | TWI287923B (zh) |
WO (1) | WO2005066820A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011091747A1 (zh) * | 2010-02-01 | 2011-08-04 | 成都市华为赛门铁克科技有限公司 | 一种存储系统及数据传输方法 |
CN105793715A (zh) * | 2013-12-26 | 2016-07-20 | 英特尔公司 | 互连重定时器增强 |
CN110232039A (zh) * | 2018-03-05 | 2019-09-13 | 三星电子株式会社 | 可安装在机架上的数据存储系统和可编程逻辑装置 |
CN110781109A (zh) * | 2018-07-27 | 2020-02-11 | 安华高科技股份有限公司 | 用于提供可配置存储媒体接口的系统及方法 |
US11157356B2 (en) | 2018-03-05 | 2021-10-26 | Samsung Electronics Co., Ltd. | System and method for supporting data protection across FPGA SSDs |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192105A (ja) * | 2002-12-09 | 2004-07-08 | Hitachi Ltd | 記憶装置の接続装置およびそれを含むコンピュータシステム |
JP4634049B2 (ja) | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
JP4555036B2 (ja) * | 2004-09-16 | 2010-09-29 | 株式会社日立製作所 | ストレージ装置及びストレージ装置のデバイス切替制御方法 |
US7506078B2 (en) * | 2004-10-29 | 2009-03-17 | Intel Corporation | Integrated circuit capable of assigning a unique identity to ATA/ATAPI devices |
US7461192B2 (en) | 2004-12-15 | 2008-12-02 | Rambus Inc. | Interface for bridging out-of-band information and preventing false presence detection of terminating devices |
US20060136644A1 (en) * | 2004-12-20 | 2006-06-22 | Martin Cynthia L | SAS hot swap backplane expander module |
JP2006235994A (ja) * | 2005-02-24 | 2006-09-07 | Nec Electronics Corp | ブリッジシステム、ブリッジシステム制御方法、情報処理機器、周辺機器及びプログラム |
US7440215B1 (en) * | 2005-03-30 | 2008-10-21 | Emc Corporation | Managing disk drive spin up |
US7805543B2 (en) * | 2005-06-30 | 2010-09-28 | Intel Corporation | Hardware oriented host-side native command queuing tag management |
US7970953B2 (en) * | 2005-06-30 | 2011-06-28 | Intel Corporation | Serial ATA port addressing |
US7747788B2 (en) * | 2005-06-30 | 2010-06-29 | Intel Corporation | Hardware oriented target-side native command queuing tag management |
US8135869B2 (en) * | 2005-06-30 | 2012-03-13 | Intel Corporation | Task scheduling to devices with same connection address |
US7506080B2 (en) * | 2005-09-16 | 2009-03-17 | Inter Corporation | Parallel processing of frame based data transfers |
US7676604B2 (en) * | 2005-11-22 | 2010-03-09 | Intel Corporation | Task context direct indexing in a protocol engine |
US7752343B2 (en) * | 2006-02-22 | 2010-07-06 | Emulex Design & Manufacturing Corporation | Method and apparatus for auto-protocol discrimination between fibre channel, SAS and SATA devices |
US7502874B2 (en) * | 2006-11-21 | 2009-03-10 | Lsi Corporation | Methods and systems for integrating unique information in SAS interface components |
US7627709B2 (en) * | 2006-12-12 | 2009-12-01 | Spectra Logic Corporation | Computer bus power consuming device |
JP4961997B2 (ja) * | 2006-12-22 | 2012-06-27 | 富士通株式会社 | ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム |
US7711873B1 (en) * | 2007-01-10 | 2010-05-04 | Marvell International Ltd. | Bandwidth control and power saving by interface aggregation |
JP2008198137A (ja) * | 2007-02-15 | 2008-08-28 | Sharp Corp | データ処理装置、データ処理方法、データ送信装置、データ送信方法、データ処理システム、制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体 |
US7653775B2 (en) * | 2007-04-09 | 2010-01-26 | Lsi Logic Corporation | Enhancing performance of SATA disk drives in SAS domains |
DE102008046577A1 (de) * | 2008-09-10 | 2010-03-11 | Fujitsu Siemens Computers Gmbh | Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren |
US8819218B2 (en) * | 2009-09-24 | 2014-08-26 | International Business Machines Corporation | Apparatus, system, and method for device level enablement of a communications protocol |
US9405550B2 (en) * | 2011-03-31 | 2016-08-02 | International Business Machines Corporation | Methods for the transmission of accelerator commands and corresponding command structure to remote hardware accelerator engines over an interconnect link |
WO2013085501A1 (en) * | 2011-12-07 | 2013-06-13 | Intel Corporation | Multiple transaction data flow control unit for high-speed interconnect |
US9626318B2 (en) | 2012-01-26 | 2017-04-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for storage protocol compliance testing |
US8595408B2 (en) | 2012-04-25 | 2013-11-26 | Lsi Corporation | Methods and structure for identifying support for super-standard features in communications between serial attached SCSI devices |
US20140330995A1 (en) * | 2013-05-03 | 2014-11-06 | Paul S. Levy | Data storage system |
US8943234B1 (en) * | 2013-08-05 | 2015-01-27 | Lsi Corporation | Multi-protocol storage controller |
US10498561B2 (en) * | 2015-08-06 | 2019-12-03 | Intel Corporation | Adaptive equalization channel extension retimer link-up methodology |
US9965439B2 (en) * | 2016-06-27 | 2018-05-08 | Intel Corporation | Low latency multi-protocol retimers |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6636909B1 (en) * | 2000-07-05 | 2003-10-21 | Sun Microsystems, Inc. | Adaptive throttling for fiber channel disks |
US6654383B2 (en) * | 2001-05-31 | 2003-11-25 | International Business Machines Corporation | Multi-protocol agile framer |
US7194059B2 (en) * | 2001-08-17 | 2007-03-20 | Zarlink Semiconductor, Inc. | Method and apparatus for skip-free retiming transmission of digital information |
US6915363B2 (en) * | 2001-12-13 | 2005-07-05 | Seagate Technology Llc | System for selectively controlling spin-up control for data storage devices in an array using predetermined out of band (OOB) signals |
JP3891841B2 (ja) | 2002-01-07 | 2007-03-14 | 富士通株式会社 | 伝送システム |
US6886057B2 (en) * | 2002-06-06 | 2005-04-26 | Dell Products L.P. | Method and system for supporting multiple bus protocols on a set of wirelines |
US7093033B2 (en) * | 2003-05-20 | 2006-08-15 | Intel Corporation | Integrated circuit capable of communicating using different communication protocols |
-
2003
- 2003-12-31 US US10/749,493 patent/US7363395B2/en not_active Expired - Lifetime
-
2004
- 2004-12-24 AT AT04815423T patent/ATE379813T1/de not_active IP Right Cessation
- 2004-12-24 WO PCT/US2004/043345 patent/WO2005066820A1/en active IP Right Grant
- 2004-12-24 CN CNB2004800395547A patent/CN100507890C/zh not_active Expired - Fee Related
- 2004-12-24 DE DE602004010428T patent/DE602004010428T2/de active Active
- 2004-12-24 JP JP2006542903A patent/JP4473881B2/ja not_active Expired - Fee Related
- 2004-12-24 EP EP04815423A patent/EP1687727B1/en not_active Not-in-force
- 2004-12-28 TW TW093140922A patent/TWI287923B/zh not_active IP Right Cessation
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011091747A1 (zh) * | 2010-02-01 | 2011-08-04 | 成都市华为赛门铁克科技有限公司 | 一种存储系统及数据传输方法 |
CN105793715A (zh) * | 2013-12-26 | 2016-07-20 | 英特尔公司 | 互连重定时器增强 |
CN105793715B (zh) * | 2013-12-26 | 2019-02-15 | 英特尔公司 | 互连重定时器增强 |
CN110232039A (zh) * | 2018-03-05 | 2019-09-13 | 三星电子株式会社 | 可安装在机架上的数据存储系统和可编程逻辑装置 |
US11119963B2 (en) | 2018-03-05 | 2021-09-14 | Samsung Electronics Co., Ltd. | Modular system architecture for supporting multiple solid-state drives |
US11157356B2 (en) | 2018-03-05 | 2021-10-26 | Samsung Electronics Co., Ltd. | System and method for supporting data protection across FPGA SSDs |
CN110232039B (zh) * | 2018-03-05 | 2021-12-07 | 三星电子株式会社 | 可安装在机架上的数据存储系统和可编程逻辑装置 |
CN110781109A (zh) * | 2018-07-27 | 2020-02-11 | 安华高科技股份有限公司 | 用于提供可配置存储媒体接口的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
ATE379813T1 (de) | 2007-12-15 |
US20050149656A1 (en) | 2005-07-07 |
EP1687727B1 (en) | 2007-11-28 |
JP4473881B2 (ja) | 2010-06-02 |
DE602004010428D1 (de) | 2008-01-10 |
CN100507890C (zh) | 2009-07-01 |
TWI287923B (en) | 2007-10-01 |
DE602004010428T2 (de) | 2008-10-16 |
EP1687727A1 (en) | 2006-08-09 |
US7363395B2 (en) | 2008-04-22 |
JP2007513436A (ja) | 2007-05-24 |
WO2005066820A1 (en) | 2005-07-21 |
TW200531490A (en) | 2005-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1902616A (zh) | 能够使用不同通信协议进行通信的中间设备 | |
CN101089836B (zh) | 用于具有一个或多个图形处理单元的图形系统的母板 | |
CN101149719B (zh) | 用于图形系统的总线接口控制器 | |
CN101089892B (zh) | 用于具一个以上图形处理单元的图形系统的图形处理单元 | |
US6845420B2 (en) | System for supporting both serial and parallel storage devices on a connector | |
US7246190B2 (en) | Method and apparatus for bringing bus lanes in a computer system using a jumper board | |
KR101220464B1 (ko) | 광 연결을 이용한 고속 인터페이스 장치 | |
EP2146286B1 (en) | Converter and control system | |
US20070038794A1 (en) | Method and system for allocating a bus | |
US20070079032A1 (en) | Serial signal ordering in serial general purpose input output (SGPIO) | |
US7324111B2 (en) | Method and apparatus for routing graphics processing signals to a stand-alone module | |
US10282341B2 (en) | Method, apparatus and system for configuring a protocol stack of an integrated circuit chip | |
US8463962B2 (en) | MAC and PHY interface arrangement | |
CN1902596A (zh) | 串行点到点链路的可编程测量模式 | |
CN1645337A (zh) | 测试包含快速周边组件互连装置的主机板的方法及装置 | |
CN1902613A (zh) | 为串行点到点链路通过非数据符号处理进行通道到通道的偏斜校正 | |
CN1940828A (zh) | 控制键盘-屏幕-鼠标切换装置的控制系统及其方法 | |
US20080235405A1 (en) | USB controller and a testing method of the USB controller | |
US7453904B2 (en) | Cut-through communication protocol translation bridge | |
CA2445711C (en) | Modular computer system | |
CN113190084B (zh) | 一种支持多种位宽硬盘的硬盘背板连接方法及装置 | |
CN1924844A (zh) | 自动调整总线宽度的方法及装置 | |
KR20230001018A (ko) | 범용 직렬 버스를 통한 다중 데이터 라인의 i3c 통신 제공 | |
CN1869868A (zh) | 可设置不同类型的中央处理器的主机板 | |
US8819324B2 (en) | Computer system with bridge |
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: 20090701 Termination date: 20201224 |