流控制初始化方法和信息处理装置的制作方法

文档序号:6655625阅读:145来源:国知局
专利名称:流控制初始化方法和信息处理装置的制作方法
技术领域
本发明涉及用于初始化流控制的信息处理装置与方法,具体而言,涉及具有用于初始化高速串行总线的流控制的部件的信息处理装置和用于初始化高速串行总线的流控制的方法。
背景技术
近年来,信息处理装置中中央处理单元(CPU)的处理速度已经显著提高。
随着CPU处理速度的提高,连接各种类型设备与CPU的数据总线的数据传输速率也提高了。
信息处理装置的数据总线可以分成三类超高速数据总线、高速数据总线和低速数据总线。
对于互连CPU与主存储器单元的数据总线,需要最高速度。这种总线称为“超高速数据总线”,还称为“存储器总线”或“处理器总线”。
对于互连CPU与图形控制单元的数据总线,需要高速,其中图形控制单元控制信息处理装置的显示和例如硬盘的高速外围单元。这种总线称为“高速数据总线”。
互连CPU与例如键盘、鼠标和软盘驱动器的低速外围单元的数据总线称为“低速数据总线”。
数据传输方法包括并行传输数据位信号的并行传输方法(用于这种方法的数据总线称为并行总线)和串行传输位信号的串行传输方法(用于这种方法的数据总线称为串行总线)。总的来说,超高速数据总线和高速数据总线采用并行传输方法,而低速数据总线采用串行传输方法。
这些数据总线中每一种的速度都提高了。特别地,需要高速数据总线进一步的加速,因为用于例如图形控制单元或LAN卡的连接到高速数据总线的设备的传输数据量已经显著地增加了。
已知的高速数据总线是采用并行传输方法的并行总线,例如PCI总线。为了提高并行总线的数据传输速率,位宽度,即同时发送的信号个数,必须扩展且传输时钟频率必须提高。
例如,PCI总线的传输速率已经通过将位宽度从16位扩展到32位,现在是64位,提高了。
此外,传输时钟频率已经从例如33MHz提高到66MHz,现在是133MHz。
但是,并行总线传输速率的提高造成以下问题(1)在并行传输方法中,数据位必须在并行信号线上同时传输并且必须与传输时钟同步地同时接收。但是,随着传输时钟速度的提高,并行数据每个位信号的延迟时间变得更加关键。因此,并行传输的数据位不能始终被同时接收;(2)在并行传输方法中,所有位信号都在物理上靠近的线上传输。因此,每个位信号都受来自其它位信号的噪声影响。在相对低的传输时钟频率,这种噪声问题不会发生。但是,在高传输时钟频率,噪声问题是关键的。
由于这些问题,并行传输方法中传输速率的提高是有限的。
为了实现传输速率的进一步提高,推荐了串行传输方法的数据传输,如在非专利文献1中所公开的。根据这种串行传输方法,上述问题(1)和(2)不会发生。因此,传输时钟可以提高到非常高的频率,例如每秒2.5G位(Gbps),从而提高了数据传输速率。
此外,在串行传输方法中,数据传输启动设备与目标设备之间的多个串行传输线可以提供数据传输速率的进一步提高。
“PCI ExpressTMBase Specification Revision1.0a”,[在线],2003年4月15日,PCI-SIG,2004年2月从因特网上检索的<URLhttp//www/pcisig.com/specifications/pciexpress/>
如上所述,高速串行总线越来越多地用作信息处理装置的数据总线。例如,使用遵循PCI ExpressTM规范的总线。“PCI Express”是PCI特殊利益团体(PCI-SIG)的商标。
尽管这种高速串行总线可以通过称为开关的设备连接到多个外围设备,但这些连接基本上是点到点的连接。
在点到点的数据传输中,为了防止目标设备中所传输数据的溢出,数据的传输速受到控制。如果溢出有可能发生,则数据传输常常停止。这称为流控制。
但是,已知的PCI ExpressTM的流控制技术具有流控制的初始化处理依赖于组件的类型与设置可能不能完成的缺点。

发明内容
因此,本发明的一个目的是提供用于高速串行总线的改进的流控制方法并提供具有用于执行流控制的部件的信息处理装置。
根据本发明,在用于初始化第一组件与第二组件之间流控制的方法中,第一组件通过串行总线连接到第二组件,第一组件以第一组件的第一初始化模式发送第一第一组件初始值并以第一组件的第二初始化模式发送第二第一组件初始值,而第二组件以第二组件的第一初始化模式发送第一第二组件初始值并以第二组件的第二初始化模式发送第二第二组件初始值。该方法包括使第一组件进入第一初始化模式的第一步骤;使第一组件向第二组件发送第一第一组件初始值的第二步骤;当第一组件从第二组件接收到第一第二组件初始值或第二第二组件初始值时,使第一组件进入第二初始化模式的第三步骤;使第一组件向第二组件发送第二第一组件初始值的第四步骤;当第一组件从第二组件接收到第二第二组件初始值、第二组件流控制值或第二组件数据时,使第一组件进入初始化完成模式的第五步骤;及使第一组件向第二组件发送至少一次第一组件流控制值和第一组件数据中的至少一个的第六步骤。
根据本发明,信息处理装置包括第一组件;通过串行总线连接到第一组件的第二组件;用于初始化第一组件和第二组件之间流控制的初始化部件,其中第一组件以第一组件的第一初始化模式发送第一第一组件初始值并以第一组件的第二初始化模式发送第二第一组件初始值,而第二组件以第二组件的第一初始化模式发送第一第二组件初始值并以第二组件的第二初始化模式发送第二第二组件初始值;用于使第一组件进入第一初始化模式的部件;用于使第一组件向第二组件发送第一第一组件初始值的部件;用于当第一组件从第二组件接收到第一第二组件初始值或者第二第二组件初始值时,使第一组件进入第二初始化模式的部件;用于使第一组件向第二组件发送第二第一组件初始值的部件;用于当第一组件从第二组件接收到第二第二组件初始值、第二组件流控制值或者第二组件数据时,使第一组件进入初始化完成模式的部件;及用于使第一组件向第二组件发送至少一次第一组件流控制值和第一组件数据中的至少一个的部件。


图1是根据本发明第一实施方式的信息处理装置的外视图;图2示出了根据本发明的信息处理装置的硬件体系结构的例子;图3A和3B示出了用于解释根据本发明的流控制初始化处理的串行总线的基本组件;图4是用于解释在根据本发明的流控制初始化处理中包创建步骤的第一个图;图5是用于解释在根据本发明的流控制初始化处理中包创建步骤的第二个图;图6A和6B是用于解释在根据本发明的流控制初始化处理中数据链路层包(DLLP)的图;图7是已知的流控制初始化处理的流程图;图8是用于显示已知的流控制初始化处理中缺点的图;图9示出了根据本发明第一实施方式的流控制的初始化处理;图10示出了根据本发明第二实施方式的流控制的初始化处理;及图11示出了根据本发明第三实施方式的流控制的初始化处理。
具体实施例方式
以下将参考附图描述根据本发明用于流控制的初始化方法和信息处理装置的实施方式。
图1是根据本发明第一实施方式的具有用于执行流控制的部件的信息处理装置的外视图。
信息处理装置1包括例如薄盒子一样的主体2和连接到主体2的面板单元3,从而可以打开和关闭。
在主体2的上表面布置了键盘4和电源开关5。键盘4用于操作信息处理装置1并向信息处理装置1输入各种类型的数据。
面板单元3包括用于显示各种类型字符和图形信息的显示器6。显示器6包括例如液晶显示器(LCD)。
根据本发明,信息处理装置1的外视图不限于图1所示的那种。信息处理装置1可以具有任何形状与大小。而且,可以不包括例如面板单元3或键盘4的某个部分。
图2示出了信息处理装置1的硬件体系结构的例子。
信息处理装置1的关键部分是中央处理单元(CPU)10,CPU 10执行信息处理装置1各种类型的控制并执行数据的处理与计算。CPU10通过CPU总线11连接到根复合体12。CPU总线11通常是并行总线。
主存储器13临时存储各种类型的程序与数据。主存储器13通过存储器总线14连接到根复合体12。存储器总线14通常也是并行总线。
根复合体12将CPU总线11的总线信号转换成存储器总线14的总线信号,反之亦然。这种功能与总线信号转换芯片集的功能一样,总线信号转换芯片集是由主要用于转换总线信号的LSI组成的电路,称为北桥或存储器桥。
根复合体12的另一关键特征是通过将CPU总线11的总线信号转换成高速串行总线15的信号,它允许CPU总线11通过单个或多个根端口12a与信息处理装置1的每个设备通信。
在此,高速串行总线12遵循例如在非专利文献1中公开的PCIExpressTM规范。
根复合体12通过高速串行总线15连接到图形控制器16,然后连接到显示器6。
而且,根复合体12通过高速串行总线15连接到开关17。尽管在图2中示出了两个开关17,但根复合体12可以连接到一个或多于两个开关。
开关17还连接到多个端点18或PCI桥19。
图2示出但不限于高速串行总线15的连接的例子。要点是可以实现根复合体12在顶端的层次连接结构。例如,层次连接结构可以通过将另一开关17连接到开关17来扩展。
如在此所使用的,端点18是层次连接结构中用于通过高速串行总线15连接的端点组件的通用术语。
因此,端点18可以是任何类型的组件。例如,端点18可以是辅助存储设备,如硬盘驱动器(HDD)。可选地,端点18可以是包括CD-ROM驱动器和DVD驱动器的驱动器或者局域网(LAN)接口。即,端点18通常指处于层次连接结构端点的组件。
高速串行总线15可以通过PCI桥19连接到已知的PCI总线槽20,各种类型的PCI设备都可以连接到PCI总线槽20。
尽管图2示出了其中除CPU总线11和存储器总线14以外的所有组件都通过高速串行总线15彼此连接的层次连接结构,但如USB总线和PCI总线的各种其它类型的组件也可以混合在层次连接结构中。
如图2所示,高速串行总线15以点到点方式连接特定的组件与特定的组件。例如,两个特定的组件是根复合体12和图形控制器16。可选地,两个特定的组件可以是开关17和端点18。
本发明涉及高速串行总线15的总线通信,具体而言,涉及通信流控制的初始化方法,而不涉及高速串行总线15的所有特征。因此,连接到高速串行总线15的组件可以是任何类型。
因此,在下文中,连接到高速串行总线15的两个组件中的一个称为第一组件,而另一组件称为第二组件。关于高速串行总线15通信的流控制的初始化方法,两个组件执行相同的功能。为了简单,以下将只描述第一组件。
图3A和3B示出了高速串行总线15的基本配置的组件。基本配置包括第一组件21、第二组件22和连接第一组件21与第二组件22的高速串行总线15。
高速串行总线15是双向的串行总线。双向通信的速度是相同的,例如2.5Gbps。
如图3B所示,基本硬盘配置包括两条传输线15a和两条传输线15b,第一组件21在传输线15a上以差分传输策略向第二组件22发送信号,第一组件21在传输线15b上以差分传输策略从第二组件22接收信号。这四条传输线构成双向串行总线的一个单元。该单元称为巷(lane)。
两个组件可以由多个巷连接。这多个巷称为链接。
高速串行总线15发送一连串预定长度的位,作为一组。这个组称为包。
包的概念对于高速串行总线15的传输方法是必须的。因此,以下将参考图4和5示意性地描述这个概念。
图4示出了第一组件21与第二组件22之间的信息流。这种信息包括例如预定的指令、预定的存储器地址和各种类型的数据。
例如,第一组件21是图2所示的根复合体12,而第二组件22是存储设备,CPU 10将数据写到存储设备中。在这种情况下,根复合体12从CPU 10接收指令(写指令)、存储设备的存储器地址和要写的数据,然后向存储设备,即第二组件22,发送这种信息。
当发送数据时,数据被分成包。包是在以下三个通信层中创建的事务层、数据链路层和物理层。
包分成两种类型。一种类型的包是称为事务层包(TLP)的包,它主要是在事务层创建的。例如,指令、存储器地址和要写的数据被分成预定义长度的数据,以便创建TLP。
从第一组件发送的数据被分成称为TLP1的包(第一组件数据)。从第二组件发送的数据被分成称为TLP2的包(第二组件数据)。
其它类型的包是称为数据链路层包(DLLP)的包,它是在数据链路层独立创建的。
DLLP是用于流控制的包,即用于控制两个组件之间数据流发送的包。
TLP和DLLP是以时间复用的方式在两个组件的物理层之间发送的。
图5示出了TLP和DLLP如何在三个层中创建的处理。为了创建TLP,要发送的数据在事务层中被分成预定长度的数据(最大4K字节),并创建包括具有指令和地址的头的第一包。
随后,指示所划分包的编号的顺序号和将用于检测发送错误的循环冗余校验码(CRC)位在数据链路层中添加到包。
最后,在物理层,在包的前面和后面添加一帧,以获得TLP。
相反,DLLP是在数据链路层中独立创建的用于流控制的包。DLLP包括4字节的DLLP数据和2字节的CRC。在物理层,在包的前面和后面添加1字节的帧。DLLP的长度总共是8个字节,而且不管DLLP数据的内容是什么,它都保持不变。
当第二组件22检测到从第一组件21发送的TLP1中的错误时,第二组件22向第一组件21返回错误检测的指示(Nak)和出错TLP1的顺序号。当没有检测到错误时,第二组件22向第一组件21返回肯定确认(Ack)和所接收TLP1的顺序号。在接收到Nak的情况下,第一组件21重新向第二组件22发送具有相同顺序号的TLP1。
在高速串行总线15的传输方法中,基于信用(credit)的流控制通过使用DLLP进一步执行。
图6是用于解释基于信用的流控制概念的图。
词“基于信用”意味着启动组件基于目标组件的“信用”执行流控制。
更具体而言,目标组件的“信用”是基于目标组件的接收缓冲区中剩余的容量确定的。高信用指其中目标组件在接收缓冲区中具有足够容量的状态,而低信用指其中目标组件在接收缓冲区中具有小的剩余容量的状态。
当目标组件的接收缓冲区中剩余的容量变小时,启动组件临时停止发送数据,以防止目标组件的接收缓冲区中数据的溢出。
为了实现这种流控制,启动组件必须在数据发送过程中以时间为基础接收目标组件的接收缓冲区中剩余的容量。
DLLP用于这种功能。通过使用DLLP,组件接收缓冲区中剩余的容量返回到另一端的组件。
图6B示出了初始化完成后的数据发送状态。第一组件21将其接收缓冲区21b中剩余的容量嵌入到DLLP数据中并发送DLLP数据。这种DLLP数据称为第一组件流控制值(简写为FC1)。FC1和TLP1以时间复用的方式发送到第二组件22。类似地,第二组件22将其接收缓冲区22b中剩余的容量嵌入到DLLP数据中并发送。这种DLLP数据称为第二组件流控制值(简写为FC2)。FC2和TLP2以时间复用的方式发送到第一组件21。
图6A示出了两个组件开始数据发送之前的初始化状态。由于这是数据发送之前的状态,因此两个组件的接收缓冲区中剩余的容量都显示完全容量。
流控制的初始化意味着启动组件向目标组件发送其接收缓冲区中的完全容量并接收目标组件的接收缓冲区中的完全容量。在第一组件21向第二组件22发送其接收缓冲区21b中的完全容量并从第二组件22接收第二组件22的接收缓冲区22b中的完全容量后,第二组件22的初始化完成。
两个初始化不一定要同时开始。为了确保这种情况下正确的初始化,每个初始化都有两个步骤第一初始化模式和第二初始化模式。
在第一组件21的第一初始化模式中,要发送到第二组件22的接收缓冲区21b的完全容量称为第一第一组件初始值(简写为“FC(I)11”)。
在第一组件21的第二初始化模式中,要发送到第二组件22的接收缓冲区21b的完全容量称为第二第一组件初始值(简写为“FC(I)21”)。尽管包FC(I)11和FC(I)21的类型不同,但数据的内容是相同的,即接收缓冲区21b的完全容量。
类似地,在第二组件22的第一初始化模式中,要发送到第一组件21的接收缓冲区22b的完全容量称为第一第二组件初始值(简写为“FC(I)12”)。
而且,在第二组件22的第二初始化模式中,要发送到第一组件21的接收缓冲区22b的完全容量称为第二第二组件初始值(简写为“FC(I)22”)。
此外,FC(I)12和FC(I)22包含相同的数据,即接收缓冲区22b的完全容量。
图7是在非专利文献1中公开的已知流控制初始化处理的流程图。尽管图7是用于第一组件21的流程图,但这个图也示出了用于第二组件22的流程图。
首先,第一组件21等待从例如上级软件传送的初始化命令(步骤S1)。例如,当信息处理装置1上电时,初始化命令传送到第一组件21和第二组件22及在本例中还有其它组件对。
此外,例如,当第二组件连接到上电的信息处理装置1时,即,当第二组件热插到信息处理装置1时,初始化命令传送到两个组件。
当接收到初始化命令时,第一组件21进入第一初始化模式,然后向第二组件22发送FC(I)11(步骤S2)。
第一组件21以预定间隔发送FC(I)11。因此,确定预定间隔是否到了。如果预定间隔已经到了(在步骤S3“是”的情况下),则FC(I)11重新发送。
如果在预定间隔到了之前(在步骤S3“否”的情况下)第一组件21从第二组件22接收到FC(I)12或FC(I)22(在步骤S4“是”的情况下),第一组件21进入第二初始化模式。
另一方面,如果第一组件21没有接收到FC(I)12或FC(I)22(在步骤S4“否”的情况下),则第一组件21停留在第一初始化模式,直到第一组件21接收到FC(I)12或FC(I)22,同时继续以预定间隔发送FC(I)12。
在第二初始化模式,第一组件21向第二组件22发送FC(I)21(步骤S5)。FC(I)21也以预定的时间间隔发送(步骤S6)。
在第二初始化模式,当接收到FC(I)22、FC2或TLP2(在步骤S7“是”的情况下)时,第一组件21的初始化处理完成(步骤S8)。
另一方面,如果第一组件21既没有接收到FC(I)22、FC2,也没有接收到TLP2(在步骤S7“否”的情况下),则第一组件21停留在第二初始化模式,直到第一组件21接收到FC(I)22、FC2或TLP2,同时继续以预定间隔发送FC(I)21。
换句话说,第一组件21的初始化处理直到接收到FC(I)22、FC2或TLP2才完成。
图8示出了第一组件21和第二组件22的遵循图7所示流程图的初始化处理的三种情况。
在图8所示的情况(a)下,初始化命令基本上同时传送到第一组件21和第二组件22。在这种情况下,由于两个组件顺序接收FC(I)11、FC(I)21、FC(I)12和FC(I)22,因此两个组件都可以完成它们的初始化处理。
在图8所示的情况(b)下,用于第二组件22的初始化命令滞后于用于第一组件21的初始化命令。在这种情况下,第一组件21的初始化处理比第二组件22的初始化处理完成得早。在第一组件21的初始化处理完成以后,第一组件21发送FC1或TLP1。
另一方面,当接收到FC(I)21、FC1或TLP1时,第二组件22的初始化处理完成,如图7所示(在这种情况下,尽管图7所示的处理是对第一组件21描述的,但应当可以理解为用于第二组件22的处理,即,步骤S7应当理解为“接收到FC(I)21、FC1或TLP1了吗?”)。
由于第一组件21的初始化处理完成了,但FC(I)21还未发送,因此,发送FC1或TLP1或者FC1及TLP1。
在情况(b)下,第二组件22的初始化处理可以通过接收FC1完成。
如上所述,高速串行总线15采用基于信用的流控制。在非专利文献1中公开的规范允许将信用设置成“无限”。用于信用设置的词“无限”指具有无限容量的接收缓冲区并且当接收数据时没有溢出的可能性。
此外,根据非专利文献1中公开的规范,当设置无限流控制信用时,接收缓冲区的容量不需要向另一端的组件确认。即,如果第一组件21设置为“无限信用”,则第一组件21不需要向第二组件22发送FC1。消除从其接收缓冲区中具有足够容量的组件发送FC1的需求目的在于对另一数据(例如,TLP1)的发送设置优先级。
但是,在无限流控制信用中,会发生问题,如图8中情况(c)所示。
情况(b)与情况(c)之间的差别在于在情况(b)中没有设置“无限信用”而在情况(c)中设置了“无限信用”。在无限信用设置的情况下,有可能FC1没有从第一组件21发送。
TLP1的创建依赖于组件的类型。当第一组件21是根复合体12而第二组件22是存储设备时,很长时间都不创建TLP1,直到CPU 10访问该存储设备。
相反,如果第一组件21是从单元,如存储单元,则直到第二组件22利用TLP2访问第一组件21时TLP1才创建。
因此,在无限信用设置的情况下,有可能第一组件21既不创建FC1也不创建TLP1。
因此,如图8情况(c)所示,有可能第二组件22的初始化处理永远或者很长时间都不会完成。如果发生这种情况,则第一组件21不能与第二组件22通信。
图9示出了根据本发明第一实施方式的解决上述问题的流控制的初始化处理。相同的标号用于指示与图7相同的处理。
根据第一实施方式,步骤S100是在步骤S7和S8之间实现的。即,当完成第一组件21的初始化处理时(在步骤S7“是”的情况下),第一组件21向第二组件22发送至少一次FC1或TLP1,而不管无限信用设置。
可选地,当完成第一组件21的初始化处理时(在步骤S7“是”的情况下),第一组件21可以只向第二组件22发送至少一次FC1,而不管无限信用设置。
因此,即使在图8所示的情况(c)下,也可以完成第二组件22的初始化处理。
TLP1应当对第二组件22没有反面影响。例如,如果第二组件22是存储设备,则TLP1不可以在特定的地址写特定的数据。
图10示出了根据本发明第二实施方式的流控制的初始化处理。相同的标号用于指示与图7相同的处理。
根据本发明的第二实施方式,当在第一组件21完成初始化处理之后第一组件21从第二组件22接收FC(I)22时(在步骤S200“是”的情况下),第一组件21向第二组件22发送至少一次FC1或TLP1,而不管是否设置了无限信用。
可选地,当在第一组件21完成初始化处理之后第一组件21从第二组件22接收FC(I)22时(在步骤S200“是”的情况下),第一组件21可以只向第二组件22发送至少一次FC1,而不管是否设置了无限信用。
接收FC(I)22指示第二组件22仍然处于第二初始化模式。因此,第二组件22的第二初始化模式通过向第二组件发送至少一次FC1或TLP1完成。
就象在第一实施方式中,TLP1优选地不对第二组件22有反面影响。
图11示出了根据本发明第三实施方式的流控制初始化处理。相同的标号用于指示与图7相同的处理。
根据第三实施方式,当第一组件21处于第二初始化模式时,尽管第一组件21接收FC(I)22、FC2或TLP2(在步骤S7“是”的情况下),初始化处理也不立即完成。第一组件21向第二组件22发送至少一次FC(I)21(步骤300),然后初始化处理完成。
因此,即使在图8的情况(c)下,第二组件22的初始化处理也可以完成。
此外,图9至11所示流控制的初始化处理可以由软件或硬件执行。
工业应用性根据本发明,用于流控制的初始化方法和信息处理装置允许初始化处理不管连接到串行总线的组件类型与设置如何都能完成。
权利要求
1.一种用于初始化第一组件和第二组件之间流控制的方法,第一组件通过串行总线连接到第二组件,第一组件以第一组件的第一初始化模式发送第一第一组件初始值并以第一组件的第二初始化模式发送第二第一组件初始值,而第二组件以第二组件的第一初始化模式发送第一第二组件初始值并以第二组件的第二初始化模式发送第二第二组件初始值,该方法包括使第一组件进入第一初始化模式的第一步骤;使第一组件向第二组件发送第一第一组件初始值的第二步骤;当第一组件从第二组件接收到第一第二组件初始值或者第二第二组件初始值时,使第一组件进入第二初始化模式的第三步骤;使第一组件向第二组件发送第二第一组件初始值的第四步骤;当第一组件从第二组件接收到第二第二组件初始值、第二组件流控制值或者第二组件数据时,使第一组件进入初始化完成模式的第五步骤;及使第一组件向第二组件发送至少一次第一组件流控制值和第一组件数据中的至少一个的第六步骤。
2.如权利要求1所述的用于初始化流控制的方法,其中第六步骤是使第一组件向第二组件发送至少一次第一组件流控制值的步骤。
3.如权利要求1所述的用于初始化流控制的方法,其中第六步骤是当第一组件从第二组件接收到第二第二组件初始值时,使第一组件向第二组件发送至少一次第一组件流控制值和第一组件数据中的至少一个的步骤。
4.如权利要求1所述的用于初始化流控制的方法,其中第六步骤是当第一组件从第二组件接收到第二第二组件初始值时使第一组件向第二组件发送至少一次第一组件流控制值的步骤。
5.如权利要求1所述的用于初始化流控制的方法,其中第五步骤是当第一组件从第二组件接收到第二第二组件初始值时,使第一组件向第二组件发送至少一次第二第一组件初始值的步骤,而第六步骤是使第一组件进入初始化完成模式的步骤。
6.如权利要求1至5中一项所述的用于初始化流控制的方法,其中串行总线遵循PCI Express规范。
7.一种信息处理装置,包括第一组件;通过串行总线连接到第一组件的第二组件;用于初始化第一组件和第二组件之间流控制的初始化部件,其中第一组件以第一组件的第一初始化模式发送第一第一组件初始值并以第一组件的第二初始化模式发送第二第一组件初始值,而第二组件以第二组件的第一初始化模式发送第一第二组件初始值并以第二组件的第二初始化模式发送第二第二组件初始值;用于使第一组件进入第一初始化模式的部件;用于使第一组件向第二组件发送第一第一组件初始值的部件;用于当第一组件从第二组件接收到第一第二组件初始值或者第二第二组件初始值时,使第一组件进入第二初始化模式的部件;用于使第一组件向第二组件发送第二第一组件初始值的部件;用于当第一组件从第二组件接收到第二第二组件初始值、第二组件流控制值或者第二组件数据时,使第一组件进入初始化完成模式的部件;及用于使第一组件向第二组件发送至少一次第一组件流控制值和第一组件数据中的至少一个的部件。
8.如权利要求7所述的信息处理装置,其中串行总线遵循PCIExpress规范。
全文摘要
提供了将第一组件设置成第一初始化状态(S1)并向第二组件发送FC(I)11(S2)的流控制初始化方法与信息处理设备。当从第二组件接收到FC(I)12或FC(I) 22时,第一组件设置成第二初始化状态并且FC(I)21发送到第二组件(S5)。当从第二组件接收到FC(I)22、FC2或TLP2时,第一组件设置成初始化完成状态,且FC1和TCP1中的至少一个被发送至第二组件至少一次(S100)。利用上述配置,有可能提供能够完成流控制初始化处理而不管所连接组件的类型和设置状态如何的流控制初始化方法和信息处理设备。
文档编号G06F13/38GK1947108SQ20058001295
公开日2007年4月11日 申请日期2005年3月7日 优先权日2004年3月31日
发明者安居良基 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1