专利名称:优化输入/输出应用的分布式读写高速缓存实现方案的制作方法
技术领域:
一般而言,本发明涉及一个高速缓存输入/输出(I/O)集线器。更具体地讲,本发明涉及高速缓存I/O集线器内的一个分布式读写高速缓存实现方案,能优化多处理器计算机系统的可扩展性及性能。
背景技术:
讨论多处理器计算机系统被设计得用来适应经由一个公共系统总线或开关连接到存储器及若干外部输入/输出装置的多个中央处理器(CPU)。提供多个中央处理器的目的是通过在这些处理器之间共享任务来提高运行性能。举例来说,这样一种结构允许该计算机支持多个不同的应用程序,而且同时支持在一个网络上通信的I/O部件并在所连接的显示器设备上显示图像。多处理器计算机系统通常被用于企业与网络服务器系统。
为提高性能,连接到该总线的所有装置必须有效地通信。该系统总线上的空循环就代表应用程序未得到支持的时间段,所以就代表性能下降。
在多处理器计算机系统设计中会出现许多这样的情况该总线尽管没有空闲,但也没有被连接到该总线的这些处理器而被有效地使用。这些情况中有些是由于连接到该总线的装置之间互不相同的性质所致。举例来说,中央处理器通常包括高速缓存逻辑线路以便临时存储来自该存储器的数据。需要实现一个连贯协议来保证每个中央处理器只从该高速缓存器中检索最新版本的数据。换句话说,高速缓存器连贯性就是多个高速缓存器中数据的同步,从而使得经由任何高速缓存器来读取一个存储器单元都将返回经由任何其他高速缓存器写到那个单元的最新数据。所以,中央处理器通常被称为“可高速缓存的”装置。
但是,输入/输出部件通常是不可高速缓存的装置。就是说,们通常不实现与这些CPU所用协议相同的高速缓存器连贯协议。故而,必须采取措施来保证I/O部件只为它们的运行来检索有效的数据。通常,I/O部件经由直接存储器访问(DMA)来从存储器或者可高速缓存的装置检索数据。可以提供一个输入/输出集线器部件来作为不同输入/输出桥接器部件之间的一个连接点,输入/输出部件被连接到该连接点,并最终被连接到这些中央处理器。
一个输入/输出集线器可以是一个高速缓存I/O集线器。就是说,该I/O集线器包括一个拥有读写元件的高速缓存源。尽管一个单独的高速缓存源既可以被用于读出元件也可以被用于写入元件,但是这些读写元件被与它们相连的I/O部件与接口按不同方式加以处理,故而具有不同的要求。因为该单独的高速缓存源既被读出元件使用又被写入元件使用,所以该高速缓存源对无论哪一个应用程序也没有达到优化,故而,不是可用的、最有效的实施方案。
图1A表示按照本发明一个实施例的输入/输出读写高速缓存系统;图1B表示按照本发明另一个实施例的输入/输出读写高速缓存系统;图2A表示按照本发明一个实施例的一个入站连贯读出处理事务;图2B表示按照本发明一个实施例的一个入站连贯写入处理事务;图2C表示按照本发明一个实施例的、来自连贯主机的监听运行方式;图3表示按照本发明一个实施例的输入/输出系统体系结构;详细说明图1A表示按照本发明一个实施例的一个输入/输出读写高速缓存系统。按照本发明一个实施例的高速缓存输入/输出集线器100实现连贯性,并特别对如下的输入/输出应用场合进行优化(1)来自I/O部件或装置的写入没有另一个代理的修改往往就不会被读出;(2)I/O装置往往从该主存储器中的不同单元(缓冲器)读出;以及(3)I/O装置(无论对读出与写入)都可能将长的处理事务“分解”为不间断的、较短的处理事务。举例来说,高速缓存输入/输出集线器可以在一个芯片组上实现,譬如Intel 870芯片组。举例来说,I/O部件或装置170、180可以是外围部件互连(PCI)桥接器(“PCI局部总线规范”,修订版本2.1,1995年6月1日,PCI专业组(PCI-SIG))。不过,任何其他合适的装置也可以被用作I/O部件或装置170、180。
高速缓存输入/输出集线器100包括一个写入高速缓存器110、一个高速缓存目录120以及一个或多个读出高速缓存器130。提供了一个连贯主机接口140(譬如一个前侧总线或Intel可扩展端口)以便连接连贯主机,譬如连接到与这些处理器单元相连的可扩展节点控制器。举例来说,该可扩展端口是一个与高速缓存器连贯的接口,该接口已针对保持所有处理器与它们的高速缓存器之间的连贯性的可扩展多节点系统进行了优化。根据本发明的一个实施例,连贯主机接口140可以与两个连贯主机相连,譬如与两个可扩展端口相连。至少提供了一个输入/输出接口150、160来连接I/O部件或装置170、180。可是,在本发明的一个实施例中,I/O接口150、160可以不直接连接到I/O部件或装置170、180。可以有一个中间装置连接到(符合一个实施例的)I/O接口150、160,这个中间装置是一种类似集线器的装置或输入/输出桥接器,譬如一个Intel P64H2集线器接口至PCI的桥接器,或者一个VXB InfiniBand桥接器(“InfiniBand体系结构规范”,修订版本1.0,2001年6月19日,InfiniBand贸易协会),I/O部件或装置170、180则连接到I/O接口150、160。举例来说,每个P64H2桥接器都具有I/O装置或部件170、180可以与之连接的两个PCI-X片(“PCI-X规范”,修订版本1.0a,2000年8月29,PCI-SIG)。PCI-X是PCI局部总线的一种高性能扩展,具有更高的带宽与总线性能。
按照本发明一个实施例的高速缓存I/O集线器100不是使用一个单独的高速缓存源,而是将这些高速缓存源分解为较小的、更容易实现的部分,包括一个写入高速缓存器110、一个或多个读出高速缓存器130以及一个跟踪所有这些元件的高速缓存目录120。从读出高速缓存器130分离出写入高速缓存器110的一个优点在于,可以不管写入高速缓存器110而独立确定读出高速缓存器130的大小。根据本发明的一个实施例,写入高速缓存器110是由使连贯主机接口140达到满吞吐量所需的多个未完成(outstanding)写入来驱动的。满吞吐量是频率、带宽以及连贯主机接口140效率的函数。另一方面,读出高速缓存器深度是由为达到全部I/O带宽所需的数据预取数量来驱动的。写入高速缓存器110与读出高速缓存器130的两个深度不一定取决于相同的因素。所以,通过允许为每个源110、130实现一个以特定应用情况为目标的有效实施方案来保持这两个源110、130分离是很有价值的。
在读出高速缓存器130中高速缓存的数据位置最好尽可能接近I/O接口150、160。这种方法使“高速缓存器命中”等待时间最短,而且性能会提高。一个高速缓存器命中(hit)是可以不使用该主存储器而由该高速缓存器满足的、从存储器进行读出的一次请求。这种结构对由I/O部件或装置170、180预取的数据特别有用。另一方面,由该连贯主机发布的(即监测的)“监听”命令也必须很快得到满足,特别是那些对I/O高速缓存的监听,其中大多数监听很可能会“未命中”这些I/O高速缓存源。所以,最好实现分离的高速缓存目录120,该目录位置要尽可能靠近该连贯主机以及连贯主机接口140。
因为向存储器的写入通常不会不首先被另一个代理修改就被读出,所以最好对一个I/O桥接器实施写入高速缓存,使它比写入常常被立即读出(瞬时位置)的一个处理器高速缓存更像一个写入复合缓冲器。所以,使读出高速缓存器130与写入高速缓存器110分离就形成一个存储最近读出数据的、接近I/O部件或装置170与180的连贯缓冲器,形成一个靠近该连贯主机以便对其产生快速响应的高速缓存目录,并形成一个对输入/输出应用程序达到最优的“紧凑的”写入高速缓存器110。
特别是,写入高速缓存器110管理由I/O部件或装置170、180启动的连贯存储器写入。写入高速缓存器110在提交该存储器写入之前也负责监听(或者说监测)连贯主机接口140。根据本发明的一个实施例,写入高速缓存器110服从修改专用共享无效(MESI)高速缓存协议。不过,任何合适的高速缓存协议都可以被采用。在本发明的特定实施例中,写入高速缓存器110保持高速缓存器界线(line)处于修改、专用和无效状态。高速缓存器界线是可以在该主存储器(通常是一个动态随机存取存储器DRAM)与该高速缓存器之间传输的最小存储器单元。
在按照本发明一个实施例的输入/输出集线器100中提供了一个或多个读出高速缓存器130。在本发明的一个实施例中,可以横跨所有I/O接口150、160以及I/O部件170、180提供一个公共读出高速缓存器130。在图1B所示的本发明的另一个实施例中,可以提供一个第一读出高速缓存器132并使之与第一I/O接口150关联,而且可以提供一个第二读出高速缓存器134并使之与第二I/O接口160关联。就是说,对每个I/O接口150、160,存在一个它们专用的读出高速缓存器132、134。多个I/O接口、I/O部件以及读出高速缓存器的任何适当的配置都可以被采用。读出高速缓存器130向I/O部件170、180提供“最有可能使用的”数据的一个低等待时间拷贝。根据本发明的一个实施例,读出缓存器130、132、134保持高速缓存器界线处于该共享及无效状态。尽管在图1与图2中读出高速缓存器130、132、134被画在一个单独部件上(即在高速缓存I/O集线器100上),但是读出高速缓存器可以是分布式的,可以被分离在一个或多个不同部件上(即在不同的芯片组上)。
在按照本发明一个实施例的高速缓存I/O集线器100中提供了一个高速缓存目录120。高速缓存目录120提供对写入高速缓存器110及读出高速缓存器130中所有高速缓存器界线的跟踪。高速缓存目录120跟踪该界线状态以及一个指向存储该跟踪数据的结构的指针。跟踪该状态能够对请求作出更快的响应。跟踪存储该界线的结构能够激活这些结构之间所需要的协议。
高速缓存I/O集线器100可以具有多个高速缓存源,每个源包括一个写入高速缓存器110、一个高速缓存目录120以及一个或多个读出高速缓存器130。此外,高速缓存I/O集线器100可以包括一个使读出高速缓存器130与写入高速缓存器110互相连接的连贯引擎。该连贯引擎被用来同步这些高速缓存源内的高速缓存器。
图2A表示按照本发明一个实施例的一个入站连贯读出处理事务。一个入站连贯读出是从I/O接口150、160(最终从I/O部件170、180)发出并到达高速缓存I/O集线器100。于是,要发布一个读出处理事务(202)。用于该读出处理事务的地址在读出高速缓存器130、132、134中加以校核(204)。如果该校核结果为“标记命中”,那么该请求读出数据就由该读出高速缓存器返回(206),并发送一个用于该未决读出请求的结束包。如果读出高速缓存器130、132、134的校核结果为“未命中”,那么就在该读出高速缓存器中分配一个高速缓存器界线(208),该读出处理事务则被转送到连贯主机140以便在该连贯存储器空间中、特别是在该主存储器中检索所请求的读出数据(208)。
图2B表示按照本发明一个实施例的一个入站连贯写入处理事务。一个入站连贯写入处理事务从I/O接口150、160(最终从I/O部件170、180)发出并到达高速缓存I/O集线器100。于是,要发布一个写入数据的写入处理事务(220)。用于该写入处理事务的地址在读出高速缓存器130、132、134中加以校核(222)。如果该校核结果为“标记命中”,那么就使读出高速缓存器130、132、134中的高速缓存器界线无效。该数据被传送到一个写入高速缓存器110(226)。一项对所有权的请求则被发布到该连贯主机(228)。读出高速缓存器130、132、134的高速缓存器界线接受监听以便发现是否有该数据的拷贝(230),包含该数据的高速缓存器界线则被变为无效(228)。一旦对所有权的请求结束,而且该读出高速缓存器界线被变为无效(228),该写入高速缓存器界线就从“专用”状态转变为“修改”状态(230)。这样,该写入处理事务结束,而且该更新后的数据可以供该系统的其他部分使用。
图2C表示按照本发明一个实施例的、由连贯主机所实现的监听运行方式。由于I/O集线器100是一个参与该中央监听体系结构的高速缓存代理,所以连贯主机部件频繁地向I/O集线器100发送监听循环。根据本发明的一个实施例,存在来自该连贯主机的两种主要监听类型(1)一种不具有无效的监听(它的一个子集是一个“监听流”);以及(2)一种具有无效的监听(监听无效)。对这两种监听类型,们都从I/O集线器100所检索的连贯主机发布(250)。高速缓存目录120被用来校核特定的被请求高速缓存器界线(250)。
对于不具有无效的监听(以及该监听流),如果高速缓存目录120认定该高速缓存器界线在读出高速缓存器130中处于该共享状态,那么就返回一个“共享”响应(254、270),即通知该连贯主机它正处于该共享状态。如果该高速缓存器界线被认定在写入高速缓存器110中处于专用状态,那么就返回一个“无效”响应(262),而且该界线在写入高速缓存器110中被变为无效(并重新发布一个界线请求)。不过,如果使用一个监听流,而且该高速缓存器界线被认定在写入高速缓存器110中处于专用状态,那么就返回一个“共享”响应(272),而且该界线在写入高速缓存器110中仍保持在该专用状态。如果该高速缓存器界线被认定在写入高速缓存器110中处于修改状态,那么所修改的数据就被返回(226),而且该写入高速缓存器界线被变为无效。不过,如果使用一个监听流,而且该高速缓存器界线被认定在写入高速缓存器110中处于修改状态,那么所修改的数据就被返回(274),但该写入高速缓存器界线仍保持在该修改状态。
对于具有无效的监听,如果高速缓存目录120认定该高速缓存器界线存在于读出高速缓存器130中,那么一个“使其无效”的命令就被发布到读出高速缓存器130来使该高速缓存器界线无效,而且一个“无效”响应则被返回(256)。就是说,高速缓存目录120使该高速缓存器界线无效,并将一个使其无效的命令发送到适当的读出高速缓存器130。如果多个读出高速缓存器出现一次命中,高速缓存目录120就将一个使其无效的命令发送到所有适当的读出高速缓存器130。如果该高速缓存器界线被认定在写入高速缓存器110中处于专用状态,那么该高速缓存器界线就被变为无效(264),而且一个“无效”响应则被返回。然后,I/O集线器100重新发布一个部分写入或一个全部界线写入的命令以便预取该“被盗”界线。如果该高速缓存器界线被认定在写入高速缓存器110中处于修改状态,那么该高速缓存器界线就被变为无效(268),而且一个“无效”响应则被返回。I/O集线器100可以将“脏数据”返回到具有隐含回写的监听代理。对这两类监听,如果该高速缓存器界线不在写入高速缓存器110或读出高速缓存器130中(即该界线处于无效状态),那么一个“无效”响应则被返回(258)——这标志I/O集线器100不具有所请求的高速缓存器界线。
图3表示按照本发明一个实施例的一个输入/输出系统体系结构。如前所述,高速缓存I/O集线器100可以包括被连接到中间装置的输入/输出接口150、160,譬如一个类似集线器的装置或输入/输出桥接器(如一个PCI-X桥接器360或者一个InfiniBand桥接器370)。I/O部件或装置170、180则连接到中间装置360、370。高速缓存I/O集线器100还可以包括连接到继承输入/输出桥接器350的一个I/O接口来处理与继承I/O部件或装置的连接。
高速缓存I/O集线器100适合于连接一台连贯主机,譬如一个可扩展端口340,这是一个与高速缓存器连贯的接口,针对保持所有处理器与它们的高速缓存器之间的连贯性的可扩展多节点系统,已经进行了优化。可扩展端口340反过来又可以连接到至少一个可扩展节点控制器320,控制处理器310、主存储器330(譬如DRAM)以及可扩展端口340之间的接口。
故而,举例来说,本发明的I/O系统体系结构300中所使用的高速缓存I/O集线器100为一个多处理器计算机系统提供了在一个芯片组中的优化I/O应用。高速缓存I/O集线器100使等待时间最短,并提供对请求的快速响应。所以,实施方案的可扩展性及性能都采用本发明的高速缓存I/O集线器100而得以优化。
尽管上面的说明参考了本发明的特定实施例,但应当理解,可以进行许多修改而不偏离本发明的精神。所附的权利要求旨在覆盖这些将会属于本发明的准确范围及精神之内的修改。所以,目前公布的实施例在各个方面来讲应被认为属于演示性质而非限制,由所附的权利要求、而非由前面的说明来表示的本发明的范围以及在与这些权利要求等效的含义与范围内的所有改变都预期被包括在这些权利要求之中。
权利要求
1.一个高速缓存输入/输出集线器,包括与一台主机相连的主机接口;至少一个与输入/输出装置相连的输入/输出接口;写入高速缓存器,管理由该输入/输出装置启动的存储器写入;至少一个与该写入高速缓存器分离的读出高速缓存器,提供最有可能被使用的数据的一个低等待时间拷贝,其中该至少一个读出高速缓存器与该写入高速缓存器通信;以及高速缓存目录,跟踪该写入高速缓存器及该至少一个读出高速缓存器中的高速缓存器界线,其中该高速缓存目录与该写入高速缓存器及该至少一个读出高速缓存器通信。
2.如权利要求1的输入/输出集线器,其中该至少一个读出高速缓存器的位置比该写入高速缓存器及该高速缓存目录更接近该输入/输出接口。
3.如权利要求1的输入/输出集线器,其中该高速缓存目录的位置比该至少一个读出高速缓存器更接近该主机接口。
4.如权利要求1的输入/输出集线器,其中该写入高速缓存器在提交该存储器写入之前还监听该主机接口。
5.如权利要求1的输入/输出集线器,其中该输入/输出装置是一个外围部件互连(PCI)装置。
6.如权利要求1的输入/输出集线器,其中该写入高速缓存器利用一个修改专用共享无效(MESI)高速缓存协议。
7.一个高速缓存输入/输出系统,包括与一台主机相连的主机接口;至少一个输入/输出接口;至少一个与该输入/输出接口相连的输入/输出装置;写入高速缓存器,管理由该输入/输出装置启动的存储器写入;至少一个与该写入高速缓存器分离的读出高速缓存器,提供最有可能被使用的数据的一个低等待时间拷贝,其中该至少一个读出高速缓存器与该写入高速缓存器通信;以及高速缓存目录,跟踪该写入高速缓存器及该至少一个读出高速缓存器中的高速缓存器界线,其中该高速缓存目录与该写入高速缓存器及该至少一个读出高速缓存器通信。
8.如权利要求7的输入/输出系统,其中该至少一个读出高速缓存器的位置比该写入高速缓存器及该高速缓存目录更接近该输入/输出接口。
9.如权利要求7的输入/输出系统,其中该高速缓存目录的位置比该至少一个读出高速缓存器更接近该主机接口。
10.如权利要求7的输入/输出系统,其中该写入高速缓存器在提交该存储器写入之前还监听该主机接口。
11.如权利要求7的输入/输出系统,其中该至少一个输入/输出装置是一个外围部件互连(PCI)装置。
12.如权利要求7的输入/输出系统,其中该写入高速缓存器利用一个修改专用共享无效(MESI)高速缓存协议。
13.一个高速缓存输入/输出系统,包括连贯主机接口;与该连贯主机接口相连的连贯主机;第一输入/输出接口;第二输入/输出接口;与该第一输入/输出接口相连的第一输入/输出装置;与该第二输入/输出接口相连的第二输入/输出装置;写入高速缓存器,管理由该第一输入/输出装置及该第二输入/输出装置两者之中至少一个装置启动的连贯存储器写入;至少一个与该写入高速缓存器分离的读出高速缓存器,提供最有可能被使用的数据的一个低等待时间拷贝,其中该至少一个读出高速缓存器与该写入高速缓存器通信;以及高速缓存目录,跟踪该写入高速缓存器及该至少一个读出高速缓存器中的高速缓存器界线,其中该高速缓存目录与该写入高速缓存器及该至少一个读出高速缓存器通信。
14.如权利要求13的输入/输出系统,其中该至少一个读出高速缓存器的位置比该写入高速缓存器及该高速缓存目录更接近该第一输入/输出接口及该第二输入/输出接口。
15.如权利要求13的输入/输出系统,其中该高速缓存目录的位置比该至少一个读出高速缓存器更接近该主机接口。
16.如权利要求13的输入/输出系统,其中该写入高速缓存器在提交该连贯存储器写入之前还监听该连贯主机接口。
17.如权利要求13的输入/输出系统,其中该第一输入/输出装置是一个外围部件互连(PCI)装置。
18.如权利要求13的输入/输出系统,其中该第二输入/输出装置是一个外围部件互连(PCI)装置。
19.如权利要求13的输入/输出系统,其中该写入高速缓存器利用一个修改专用共享无效(MESI)高速缓存协议。
20.一个高速缓存输入/输出系统,包括连贯主机接口;与该连贯主机接口相连的连贯主机;第一输入/输出接口;第二输入/输出接口;与该第一输入/输出接口相连的第一输入/输出装置;与该第二输入/输出接口相连的第二输入/输出装置;写入高速缓存器,管理由该第一输入/输出装置与该第二输入/输出装置两者之中至少一个装置启动的连贯存储器写入;第一读出高速缓存器,与该写入高速缓存器分离并与该第一输入/输出接口关联;第二读出高速缓存器,与该写入高速缓存器分离并与该第二输入/输出接口关联,其中该第一读出高速缓存器及该第二读出缓存器提供最有可能被使用的数据的一个低等待时间拷贝,而且其中该第一读出高速缓存器及该第二读出高速缓存器与该写入高速缓存器通信;以及高速缓存目录,跟踪该写入高速缓存器、该第一读出高速缓存器以及该第二读出高速缓存器中的高速缓存器界线,其中该高速缓存目录与该写入高速缓存器、该第一读出高速缓存器以及该第二读出高速缓存器通信。
21.如权利要求20的输入/输出系统,其中该第一读出高速缓存器及该第二读出高速缓存器的位置比该写入高速缓存器及该高速缓存目录更接近该第一输入/输出接口及该第二输入/输出接口。
22.如权利要求20的输入/输出系统,其中该高速缓存目录的位置比该第一读出高速缓存器及该第二读出高速缓存器更接近该主机接口。
23.如权利要求20的输入/输出系统,其中该写入高速缓存器在提交该连贯存储器写入之前还监听该连贯主机接口。
24.如权利要求20的输入/输出系统,其中该第一输入/输出装置是一个外围部件互连(PCI)装置。
25.如权利要求20的输入/输出系统,其中该第二输入/输出装置是一个外围部件互连(PCI)装置。
26.如权利要求20的输入/输出系统,其中该写入高速缓存器利用一个修改专用共享无效(MESI)高速缓存协议。
27.一个计算机系统,包括多个处理器单元;主存储器;连贯接口,保持这些处理器单元与它们的高速缓存器之间的连贯性;可扩展节点控制器,使这些处理器单元、该主存储器以及该连贯接口互相连接以便控制它们之间的接口;以及与该连贯接口通信的高速缓存输入/输出集线器,包括与该连贯接口相连的主机接口;至少一个与输入/输出装置相连的输入/输出接口;写入高速缓存器,管理由该输入/输出装置启动的存储器写入;至少一个与该写入高速缓存器分离的读出高速缓存器,提供最有可能被使用的数据的一个低等待时间拷贝,其中该至少一个读出高速缓存器与该写入高速缓存器通信;以及高速缓存目录,跟踪该写入高速缓存器及该至少一个读出高速缓存器中的高速缓存器界线,其中该高速缓存目录与该写入高速缓存器及该至少一个读出高速缓存器通信。
28.如权利要求27的计算机系统,其中该至少一个读出高速缓存器的位置比该写入高速缓存器及该高速缓存目录更接近该输入/输出接口。
29.如权利要求27的计算机系统,其中该高速缓存目录的位置比该至少一个读出高速缓存器更接近该主机接口。
30.如权利要求27的计算机系统,其中该写入高速缓存器在提交这些存储器写入之前还监听该主机接口。
全文摘要
一个高速缓存输入/输出集线器,包括连接到主机的主机接口。至少提供一个输入/输出接口以便连接到输入输出装置。一个写入高速缓存器管理由该输入/输出装置启动的存储器写入。至少有一个与该写入高速缓存器分离的读出高速缓存器提供最可能被使用的数据的一个低等待时间拷贝。该至少一个读出高速缓存器与该写入高速缓存器通信。也提供一个高速缓存目录来跟踪该写入高速缓存器及该至少一个读出高速缓存器的高速缓存器界线。该高速缓存目录与该写入高速缓存器及该至少一个读出高速缓存器通信。
文档编号G06F13/40GK1575455SQ02820893
公开日2005年2月2日 申请日期2002年8月6日 优先权日2001年8月27日
发明者肯尼思·克雷塔, 丹尼斯·贝尔, 罗伯特·布兰肯希普, 布拉德福德·康登, 罗伯特·乔治, 杜安·亚努尔瑞 申请人:英特尔公司(特拉华公司)