首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

主机系统及其方法和加速模块 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:三星电子株式会社

摘要:本发明公开一种主机系统。系统可包含:处理器,运行应用程序;存储器,存储由应用程序使用的数据;上游接口,与处理器通信;下游接口,与存储装置通信。系统还可包含加速模块,所述加速模块使用硬件来实施且包含加速平台管理器以执行加速指令。存储装置可包含:存储装置的端点,用于与加速模块通信;控制器,用以管理存储装置的操作;存储,用于应用程序的应用数据;以及存储装置加速平台管理器,用以辅助加速平台管理器执行加速指令。处理器、加速模块以及存储装置可经由外围组件互连快速总线通信。加速模块可在不将应用数据加载到存储器中的情况下支持针对应用程序对存储装置上的应用数据执行加速指令。也提供一种主机系统的方法和加速模块。

主权项:1.一种主机系统,包括:处理器,所述处理器运行应用程序;存储器,所述存储器存储由在所述处理器上运行的所述应用程序使用的数据;第一接口,用于与所述处理器通信;第二接口,用于与存储装置通信;加速模块,所述加速模块使用硬件来实施且包含第一加速管理器以执行加速指令;以及所述存储装置,包含:所述存储装置的第三接口,用于与所述加速模块通信;控制器,用以管理所述存储装置的操作;存储,用以存储所述应用程序的应用数据;以及第二加速管理器,用以辅助所述第一加速管理器执行所述加速指令,其中所述处理器、所述加速模块以及所述存储装置经由至少一个总线通信,其中所述加速模块支持针对所述应用程序对所述存储装置上的所述应用数据执行所述加速指令,且其中所述加速指令用于对加速引擎进行编程以进行数据处理。

全文数据:主机系统及其方法和加速模块相关申请数据本申请案要求2018年3月5日提交的美国临时专利申请案第62638,904号的权益,所述申请案出于所有目的以引用的方式并入本文中。本申请案要求2018年3月9日提交的美国临时专利申请案第62641,267号的权益,所述申请案出于所有目的以引用的方式并入本文中。本申请案要求2018年3月13日提交的美国临时专利申请案第62642,568号的权益,所述申请案出于所有目的以引用的方式并入本文中。技术领域本发明概念涉及存储装置,且更具体地说,涉及使用额外硬件的加速固态驱动器SolidStateDrive,SSD执行。背景技术存在以常规方式使用存储装置效率低的情况。举例来说,设想需要在数据库上运行查询的情况。常规解决方案为将数据库加载到计算机的存储器中、对数据库的内存副本执行查询以及接着处理结果。虽然这一方法在数据库相对较小的情况下可能为合理的,但是加载含有数千、数百万或更多记录的数据库其中查询的结果是标识数据库中的单一记录效率极低。需要将超大量的数据移动到存储器中以执行查询,很可能使已存储在存储器中的其它数据位移。且接着,一旦查询已经执行就丢弃大部分数据,这是由于在查询完成之后大部分数据都不需要。当需要反复对数据库执行查询时,可能会放大这一问题:每一查询可能都需要将数据库再次加载到存储器中。仍然需要一种用于加速涉及存储装置的操作的方法。发明内容本公开的目的本公开的实例实施例可提供一种用于基于FPGA的加速的低成本且低功率SSD架构。实例实施例提供一种系统,所述系统可包含:处理器,运行应用程序;存储器,存储由在处理器上运行的应用程序使用的数据;上游接口,用于与处理器通信;下游接口,用于与存储装置通信;加速模块,使用硬件来实施且包含加速平台管理器AccelerationPlatformManager,APM-F以执行加速指令;以及存储装置。存储装置可包含:存储装置的端点,用于与加速模块通信;控制器,用以管理存储装置的操作;存储,用以存储应用程序的应用数据;以及存储装置加速平台管理器storagedeviceAccelerationPlatformManager,APM-S,用以辅助APM-F执行加速指令。处理器、加速模块以及存储装置可经由外围组件互连快速PeripheralComponentInterconnectExchange,PCIe总线通信。加速模块可在不将应用数据加载到存储器中的情况下支持针对应用程序对存储装置上的应用数据执行加速指令。另一实例实施例提供一种使用硬件实施的加速模块,所述加速模块可包含:加速平台管理器APM-F,用以执行加速指令;上游接口,用于与处理器通信;以及下游接口,用于与存储装置通信。存储装置可包含存储装置加速平台管理器APM-S,所述存储装置加速平台管理器用以辅助APM-F执行加速指令。加速模块可使用外围组件互连快速PCIe总线与处理器以及存储装置通信。加速模块可在不将应用数据加载到与处理器相关联的存储器中的情况下支持针对应用程序对存储装置上的应用数据执行加速指令。再一实例实施例提供一种方法,所述方法可包含:在加速模块处从第一装置接收外围组件互连快速PCIe事务;在加速模块处确定PCIe事务是否为加速指令;至少部分地基于确定PCIe事务为加速指令,在加速模块的加速平台管理器APM-F处处理PCIe事务;以及至少部分地基于确定PCIe事务不是加速指令,将PCIe事务传送到第二装置。加速模块可在不将应用数据加载到与处理器相关联的存储器中的情况下支持针对应用程序对存储装置上的应用数据执行加速指令。处理器、加速模块以及存储装置可使用PCIe总线通信。本公开的效应本文中所公开的实施例可提供一种可加载数据的加速模块。因此,本文中所公开的实施例可避免从SSD加载数据所需的延迟。附图说明图1示出根据本发明概念的一实施例的支持存储装置上的加速操作的机器。图2示出图1的机器的额外细节。图3示出根据本发明概念的第一实施例的图1的加速模块和图1的存储装置的组件。图4示出根据本发明概念的第一实施例的用于加速图1的系统中的指令的存储器使用。图5示出根据本发明概念的第二实施例的图1的加速模块和图1的存储装置的组件。图6示出根据本发明概念的第二实施例的用于加速图1的系统中的指令的存储器使用。图7示出根据本发明概念的第三实施例的图1的加速模块和图1的存储装置的组件。图8示出根据本发明概念的第三实施例的用于加速图1的系统中的指令的存储器使用。图9示出根据本发明概念的第四实施例的图1的加速模块和图1的存储装置的组件。图10示出根据本发明概念的第四实施例的用于加速图1的系统中的指令的存储器使用。图11示出根据本发明概念的第五实施例的图1的加速模块和图1的存储装置的组件。图12示出根据本发明概念的第五实施例的用于加速图1的系统中的指令的存储器使用。图13示出根据本发明概念的第六实施例的图1的加速模块和图1的存储装置的组件。图14示出根据本发明概念的第六实施例的用于加速图1的系统中的指令的存储器使用。图15示出根据本发明概念的第七实施例的图1的加速模块和图1的存储装置的组件。图16示出根据本发明概念的第七实施例的用于加速图1的系统中的指令的存储器使用。图17示出根据本发明概念的第八实施例的图1的加速模块和图1的存储装置的组件。图18示出根据本发明概念的第八实施例的用于加速图1的系统中的指令的存储器使用。图19示出根据本发明概念的实施例的具有管理与图1的加速模块的通信的桥接组件的图1的系统的组件。图20A至图20B示出根据本发明概念的实施例的图1的处理器、图1的加速模块以及图1的存储装置之间的通信。图21示出根据本发明概念的实施例的用于图1的加速模块以处理PCIe事务的实例过程的流程图。图22A至图22C示出根据本发明概念的实施例的用于图1的加速模块以处理PCIe事务的更详细实例过程的流程图。图23A至图23B示出根据本发明概念的实施例的用于图1的加速模块以确定来自图1的处理器的PCIe事务是否包含加速指令的实例过程的流程图。图24示出根据本发明概念的实施例的用于图1的加速模块以确定来自图1的存储装置的PCIe事务是否包含加速指令的实例过程的流程图。图25示出根据本发明概念的实施例的用于图19的第一桥接组件以确定来自图1的处理器的PCIe事务是否包含加速指令的实例过程的流程图。图26示出根据本发明概念的实施例的用于图19的第二桥接组件以确定来自图1的存储装置的PCIe事务是否包含加速指令的实例过程的流程图。图27A至图27C示出根据本发明概念的实施例的用于图1的存储装置以处理PCIe事务的实例过程的流程图。图28A至图28B示出根据本发明概念的实施例的用于图1的存储装置以确定来自图1的加速模块的PCIe事务是否包含加速指令的实例过程的流程图。附图标号说明105:机器;110:处理器;115:装置驱动器;120:存储装置;125:应用程序;130:加速服务管理器;135:存储器控制器;140:主存储器;145:加速模块现场可编程门阵列;205:时钟;210:网络连接器;215:总线;220:用户接口;225:输入输出引擎;305、1105、1310、1505:端点;310:主机接口层;315:加速平台管理器;320:闪存转换层;325:闪存媒体;330:上游端口;335:下游端口;340:加速平台管理器;345:调度程序;350-1、350-2:加速引擎;355:消息邮箱;360:下游过滤器;365:边带总线;370:SSD控制器;405、805、810、1005、1010、1205、1215、1220、1405:块;410、415:子集;420:下游过滤器地址范围;505:上游过滤器;605:上游过滤器地址范围;705、905、1115、1120:物理功能;710:虚拟功能;715:VF过滤器、PF过滤器;1110、1305:根端口;1125:配置监视器;1210、1410:地址映射;1905、1910:桥接组件;2005、2020:PCIe事务;2010:专用命令;2015、2045:加速指令;2025:PCIe事务、加速数据;2030、2035、2040:结果;2105、2110、2115、2120、2125、2203、2206、2212、2215、2218、2221、2227、2230、2236、2239、2242、2245、2248、2251、2254、2257、2260、2263、2305、2310、2315、2320、2325、2405、2410、2415、2420、2505、2510、2515、2520、2605、2610、2615、2620、2705、2710、2715、2725、2730、2735、2740、2745、2755、2760、2765、2770、2775、2780、2785、2805、2810、2815、2820、2825:框;2209、2224、2233、2720、2750:虚线。具体实施方式现在将详细参考本发明概念的实施例,在附图中示出所述实施例的实例。在以下详细描述中,阐述众多具体细节以实现对本发明概念的透彻理解。然而,应理解,本领域技术人员可以在没有这些具体细节的情况下实践本发明概念。在其它例子中,未详细描述众所周知的方法、过程、组件、电路以及网络,以免不必要地混淆实施例的各方面。应理解,虽然术语第一、第二等可在本文中用以描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一元件区分开来。举例来说,在不脱离本发明概念的范围的情况下,第一模块可以被称为第二模块,并且类似地,第二模块可以被称为第一模块。本文中用于本发明概念的描述中的术语是仅出于描述具体实施例的目的且并不希望限制本发明概念。如本发明概念和随附权利要求书的描述中所使用,除非上下文另外明确指示,否则单数形式“一aan”和“所述”意欲也包含复数形式。还将理解,如本文中所使用的术语“和或”指代且涵盖相关联的所列项目中的一个或多个的任何及所有可能的组合。将进一步理解,当用于本说明书中时,术语“包括comprises”和或“包括comprising”指定存在所陈述的特征、整数、步骤、操作、元件和或组件,但不排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和或其群组。图式中的组件和特征未必按比例绘制。本发明概念的实施例提出一种固态驱动器SSD或其它存储装置架构,其中现场可编程门阵列fieldprogrammablegatearray,FPGA用于加速某些数据处理功能。FPGA装置放置在SSD的正面中或沿SSD的侧面放置,所述SSD提供外围组件互连快速PCIe主机接口。由于主机事务是在FPGAPCIe接口上接收到的,因此将那些PCIe事务转发到后端SSD控制器。术语“SSD”和“SSD控制器”互换地使用且除非另有说明,否则大体上意思相同。后端SSD实施PCIe端点和非易失性存储快速Non-VolatileMemoryExpress,NVMe控制器。因此,主机直接使NVMe协议与后端SSD对话。也就是说,经由FPGA从主机到后端SSD的PCIe接口具有透传性质。SSD经由直接存储器存取directmemoryaccess;DMA执行到主机系统存储器自主机系统存储器的数据转移。FPGA下游端口Down-StreamPort,DSP经编程有用作PCIe事务过滤器的存储器过滤器地址范围FilterAddressRange,FAR。DSP过滤处于FAR窗口内的所有PCIe事务,且将其转发到FPGA上的逻辑和存储器。并不处于经编程FAR窗口内的所有PCIe事务属于主机系统存储器且被直接传递到主机。SSD控制器使用PCIe供应商定义消息VendorDefinedMessage,VDM机制或例如I2CSMBus的其它边带总线来对FPGA中的适当FAR窗口进行编程。SSD控制器经由PCIe基地址寄存器BaseAddressRegister,BAR向主机请求地址范围的块。在主机BIOS已向所请求地址块分配SSD控制器之后,所述SSD控制器在FPGADSP中将地址范围子集编程为FAR窗口。在DSP中编程的地址范围由SSD控制器和FPGA使用以彼此通信。也就是说,随着主机分配地址块,SSD和FPGA可与主机事务共用PCIe总线,而不会干扰彼此或PCIe层次结构中的其它PCIe装置。于共用PCIe总线之上使用这个FAR窗口,SSD控制器可向FPGA提供加速指令和数据。FPGA或主机也可能使用共用PCIe总线和上文所提到的地址范围来从SSD控制器请求用于加速的数据。FPGA也可使用相同机制来将加速结果提供回到SSD控制器。所提出的架构和机制实现使用FPGA装置的用于基于SSD的应用加速的低成本且低功率解决方案。所提出的解决方案的细节基本构思为FPGA和所述SSD和或其它存储装置一起工作作为单独装置或合并到单一装置中与主机通信。在下文中,在描述中,存储装置意指SSD。存在三种业务流:1从主机到存储装置。从主机到存储装置的通信由FPGA通过以下来管理:经由FPGA视FPGA实施方案而定仅将所有业务从上游端口upstreamport,USP或端点endpoint,EP转发到下游端口downstreamport,DSP或根端口或根复合端口rootcomplexport,RP,以传送到存储装置的EP。FPGA可包含由存储装置暴露于主机的物理功能以支持主机与存储装置之间的NVMe通信。2加速指令到FPGA的通信。在本发明概念的一些实施例中,按以下方式操控加速指令:加速服务管理器AccelerationServiceManager,ASM可在主机上运行。ASM可与加速平台管理器AccelerationPlatformManager,APM通信,所述加速平台管理器可包含作为存储装置标识为APM-S和FPGA标识为APM-F两个的部分的组件。主机上的ASM可使用NVMe协议以使加速指令和相关信息遂穿到SSD。SSD接着充当相对于FPGA的加速协同器:由APM-S接收的所有加速指令用于使用专有接口将适当指令提供到APM-F。使用地址空间窗口来促进专有接口。这一地址空间窗口可在存储装置的请求下分配于主机存储器地址映射内部分地便于使用NVMe协议在存储装置与主机之间进行通信。使用适当地址空间中的地址的任何指令可由FPGA过滤以由APM-F进行处理,而非直接从主机或存储装置通信到另一主机或存储装置。也可使用与指令相关联的标签或使用基于PCIe消息的过滤来执行过滤。这一过滤可由连接到DSPRP的过滤器执行,所述DSPRP将FPGA连接到存储装置。3FPGA与SSD之间的通信,用以提取数据以加速和处理所述数据。在本发明概念的一些实施例中,按以下方式执行加速:当FPGA想要提取数据以用于加速处理时,FPGA可使用分配于用于存储装置-FPGA通信的主机存储器地址映射内的地址空间来发送请求,如上文所论述。DSP过滤器架构这一架构提出一种方法,主机与SSD之间的PCIe总线可通过所述方法来与FPGA共用以用于加速数据处理。从逻辑上讲,FPGA可操作地放置在主机与SSD控制器之间。主机连接到FPGA的上游端口USP,且SSD连接到FPGA的下游端口DSP。用于连接到主机和或连接到SSD的PCIe总线可为×4或×8通路,或任何其它所需宽度。FPGAUSP端口和DSP端口在两个方向上转发PCIe事务即事务层包TransactionLayerPacket,TLP。PCIeTLP的实例为配置读取、配置写入、存储器读取以及存储器写入。因此,主机直接与SSD通信。FPGA上的DSP端口具有基于经编程过滤器地址范围FAR过滤来自SSD控制器的所有PCIe事务的逻辑。所拦截的SSD控制器PCIe事务接着被引导到加速平台管理器-FPGAAPM-F块。APM-F模块与SSD控制器通信。APM-F模块从SSD控制器接收来自加速平台管理器-SSDAPM-S固件的数据和加速指令。APM-F模块接着将接收到的加速指令和数据提供到运行时间runtime,RT调度程序。RT调度程序继而对适当加速引擎进行编程以执行数据处理。FPGA的使用表示一个可能实施方案,然而可使用除FPGA以外的实施方案。FPGA可在存储装置内实施。FPGA支持加速数据处理,所述加速数据处理可接近存储装置进行而非通过提取数据到主机存储器且接着在主机上处理所述数据来进行。替代提取数据,存储装置FPGA可接收查询且本地地执行处理。SSD控制器使用PCIe传输来实施NVMe协议处理逻辑。作为PCIe配置的部分,SSD控制器为其自身的使用请求主机系统地址映射的块。SSD控制器请求比其正常需要的块更大的块来支持NVMe协议:额外空间中的一些或全部可用于管理存储装置与FPGA之间的通信。举例来说,NVMe协议可需要比如64KB地址空间;接着在所提出的架构中,SSD控制器可请求比如10MB地址块。SSD控制器使用经分配地址映射的部分来以主机透明方式与FPGA通信。为SSD-FPGA通信预留的系统地址映射子集称为过滤器地址范围FAR。SSD控制器接着对FPGADSP中的FAR窗口进行编程。SSD控制器可使用例如I2CSMBus的边带总线来对FPGA中的FAR窗口进行编程。SSD控制器也可使用PCIe供应商定义消息VDM来对FPGA中的FAR窗口进行编程。主机接口逻辑HostInterfaceLogic,HIL模块实施NVMe协议且与在主机上运行的NVMe驱动器通信。HIL模块与闪存转换层FlashTranslationLayer,FTL交互以执行正常主机NVMe命令。另外,HIL模块拦截从主机侧接收到的专用加速命令且将所述专用加速命令转发到APM-S模块。APM-S可实施为固件或固件+硬件。APM-S模块可处理专用加速命令且接着准备待发送到FPGA上的APM-F模块的加速指令和数据。APM-S模块接着使用过滤器地址范围FAR地址来将加速信息发送到FPGA。APM-S与APM-F之间的通信可为基于消息的。可针对APM-S与APM-F之间的这类通信使用多种不同方法。所提出的架构和机制允许SSD控制器共用主机PCIe总线以实现基于FPGA的加速。本发明概念的实施例提供一种使用SSD中的FPGA的用于应用加速的低成本且低功率解决方案。DSP+USP过滤器架构在这一架构中,FPGA以间接方式对主机可见。FPGA与SSD之间的通信与所提出解决方案1保持相同。SSD控制器可从主机请求较大系统地址空间。SSD控制器可将经分配地址块划分到三个窗口中。一个窗口用于NVMe控制器寄存器地址空间。第二窗口用于FPGA与SSD之间的通信,如上文所描述。第三窗口用于主机与FPGA之间的通信。主机可根据专用NVMe寄存器发现FPGA装置的位置。SSD控制器可在专用寄存器中播发第三窗口,所述专用寄存器可由主机应用读取以知晓FPGA装置的位置。SSD控制器也可用相同地址窗口对USP进行编程,以使得USP可过滤所述事务。USP可从主机过滤处于第三窗口地址空间内的所有事务,且可将其转发到FPGA加速逻辑。这一机制可由主机上的加速服务管理器ASM使用来将加速指令和数据传达到FPGA。因此,在本发明概念的一些实施例中,也可基于由FPGA从主机接收的业务来进行过滤。也就是说,主机也可将加速指令数据发送到FPGA。类似于连接到FPGA的DSPRP,过滤器也可连接到FPGA的USPEP。主机可使用由存储装置请求的地址空间中的地址。由主机使用以用于主机-FPGA通信的地址可以是由存储装置请求以用于与主机NVMe通信的地址空间的部分同样,其中所请求地址空间可大于NVMe通信所需要的空间,或是主机存储器地址映射内的单独地址空间的部分针对虚拟功能或针对第二物理功能,所述功能中的任一个也由存储装置暴露于主机。应注意,在USPEP处的过滤和在DSPRP处的过滤可使用主机存储器地址映射内的不同地址范围来进行,使得主机能够视需要将指令发送到存储装置或FPGA同时仍同样视需要准许存储装置与FPGA通信。在地址空间的一部分支持主机与FPGA之间的通信的本发明概念的实施例中,FPGA可不对主机直接可见。在这种情况下,主机上的ASM可通过以下来“发现”FPGA:存取写入在NVMe地址空间中的专用寄存器中的地址,所述NVMe地址空间标识用于主机-FPGA通信的地址范围。ASM可经由PCIe装置表发现存储装置,且由此知晓NVMe地址空间中的哪一寄存器存储对主机-FPGA通信地址空间的指针。VF+DSP过滤器架构在这一FPGA+SSD架构中,SSD使一个物理功能physicalfunction,PF和一个虚拟功能virtualfunction,VF暴露于主机。SSD控制器经由所述PF暴露。VF用于使FPGA暴露。PF类别码可指示大容量存储装置,然而可设定VF类别码以标识FPGA。SSD控制器PF可请求较大系统存储器地址块,以使得存储器地址块的子集可用于经由FPGADSP的FPGA与SSD之间的通信,且SSD控制器VF可请求其自身的存储器地址块以用于经由FPGAUSP的FPGA与主机之间的通信。FPGAUSP可经编程有可用作PCIe事务过滤器的不同的存储器过滤器地址范围和或VF标签FAR-USP。USP可过滤处于FAR窗口内的所有PCIe事务和或属于VF的所有PCIe事务,且可将其转发到FPGA上的加速逻辑和存储器。并不处于经编程FAR-USP窗口内的所有PCIe事务或并不属于VF的事务属于SSD且可被直接传递到SSD。SSD控制器可使用PCIeVDM机制或例如I2CSMBus的其它边带总线来对适当FAR-USP窗口进行编程以传达这类信息。这类FAR地址窗口可允许在主机上运行的ASM软件与APM-F通信。也就是说,FPGA直接对主机可见。ASM软件可使用这类PCIe地址范围以将加速编排逻辑指令和数据发送到FPGA。APM-F可接着将接收到的加速指令和数据提供到运行时间RT调度程序。RT调度程序继而对适当加速引擎进行编程以执行数据处理。APM-F也可从主机存储器或SSD存储提取数据。PF+DSP过滤器架构这一FPGA+SSD架构类似于所提出的解决方案3,不同之处在于可使用第二PF而不是使用VF来使FPGA暴露于主机。SSD控制器使物理物理功能暴露于主机。第一PF可用于SSD控制器,且第二PF可用于FPGA。第二PF的基地址可在FPGA中的FAR-USP中经编程。因此,USP可过滤来自主机的处于经编程地址范围FAR-USP内的所有事务以供用于第二PF,且可将所述所有事务转发到FPGA。这一机制可由在主机上运行的ASM使用以与FPGA通信。通过使虚拟功能或第二物理功能暴露于主机,可由存储装置或由FPGA从主机请求用于主机-FPGA通信的地址空间。在虚拟功能或第二物理功能暴露的情况下,USPEP上的过滤器可基于为主机-FPGA通信分配的地址范围或基于所暴露虚拟功能或所暴露第二物理功能例如由过滤器数目或一些其它标签来过滤。虚拟功能需要操作系统支持;如果实施支持第二物理功能,那么使第二物理功能暴露向使用虚拟功能提供替代性解决方案。PF+RP过滤器架构在这一FPGASSD架构中,FPGAPCIe端口为端点EP和根端口RP,而不是USP和DSP。USPDSP端口与EPRP端口之间的不同在于EPRP两者具有其自身PCIe配置空间而USPDSP端口并不具有。在根据本发明概念的这些实施例的架构中,FPGA可使两个PF暴露于主机应注意,FPGA使其自身的PF暴露于主机,而非SSD提供使FPGA暴露的PFVF。SSDEP可连接到FPGA上的RP。第一FPGAEPPF可用于将主机直接连接到SSD,然而第二FPGAEPPF可用于将主机连接到FPGA。这一机制可由在主机上运行的ASM使用以与FPGA通信。SSD-FPGA通信可使用FPGARP与SSDEP之间的地址空间映射的部分。在本发明概念的一些实施例中,第一FPGAPF可请求较大地址空间,且可将BIOS分配的地址窗口映射转换到SSD控制器EP。所述地址空间的部分可用于局部FPGA-SSD通信。在本发明概念的另一实施例中,为第二FPGAEPPF分配的地址空间的部分可用于FPGA与SSD控制器之间的通信。PF+双端口SSD架构在这一FPGA-SSD架构中,连同FPGA一起使用双端口SSD。在这一架构中,FPGA同样,FPGA使其自身的PF暴露,而非SSD提供使FPGA暴露的PFVF可使两个PF暴露于主机。SSDEP可连接到FPGA上的RP。第一FPGAEPPF可用于将主机直接连接到SSD。可将为第二FPGAEPPF而来的所有主机事务转发到FPGA加速逻辑。在主机上运行的ASM软件可使用第二FPGAEPPF以与FPGA通信。对于FPGA-SSD通信用于加速处理,可使用SSD上的第二PCIeEP。因此,FPGA具有连接到SSD的两个RP。SSD的第一EP端口可用于与主机通信以供用于正常主机存储存取。SSD上的第二EP可用于传递FPGA中需要的任何数据以供用于处理。如所提及,在存储装置可支持两个或可能更多个端口的本发明概念的实施例中,FPGA可支持两个RP以与存储装置上的两个EP通信。在本发明概念的这类实施例中,FPGA上的一个RP和其对应的存储装置上的EP可用于管理存储装置与主机之间的通信,且FPGA上的另一RP和其对应的存储装置上的EP可用于管理存储装置与FPGA之间的通信用于加速指令数据。在本发明概念的这类实施例中,FPGA上的RP可支持两个地址映射对于每一RP一个地址映射。因此,用于支持主机与存储装置之间的通信的RP的地址映射可包含为NVMe命令分配的空间,且用于管理加速指令数据的通信的RP的另一地址映射可完全专用于这类通信。应注意,在本发明概念的这类实施例中,主机存储器地址映射可省略意欲用于主机向存储装置传达加速指令的任何地址空间,这是由于所有这些指令可从主机发送到FPGA经由地址空间,FPGA请求分配于主机的存储器地址映射内以供用于这类通信。FPGA可接着处理指令且视需要使用第二RP上的存储器地址映射将指令数据转发到存储装置,所述第二RP专用于FPGA与存储装置之间的通信。在FPGA中使用EPRP替代USPDSP的情况下,EPRP也可支持PCIe配置空间,且FPGA可使其物理功能直接暴露于主机而非将这一功能留给存储装置。由FPGA暴露的一个物理功能可用于引导从主机到存储装置的通信;另一物理功能可用于主机与FPGA之间的通信。在本发明概念的这类实施例中,FPGA可请求从主机分配的地址空间,而非存储装置发出这类请求。EPRP也可支持其自身存储器映射。因此,FPGA可使用主机的存储器地址映射与主机通信,且FPGA可支持其自身的存储器地址映射,所述存储器地址映射用于与存储装置通信。在本发明概念的这类实施例中,FPGA可请求主机的存储器地址映射中分配的空间以支持从主机到存储装置的通信其中这类通信经由FPGA进行,以及主机的存储器地址映射中分配的额外空间以支持从主机到FPGA的通信。FPGA的存储器地址映射可接着包含其自身的空间分配以用于将命令从主机传达到存储装置且用于在FPGA与存储装置之间传达加速指令数据。FPGA可将用于主机与存储装置之间的通信的地址空间转换为用于FPGA与存储装置之间的通信的地址空间所述地址空间大小应相同。在FPGA包含EPRP的情况下,则主机直接查看FPGA。这引发了FPGA暴露何种PCIe性能的问题。FPGA应暴露与存储装置相同的PCIe性能。因此FPGA可包含PCIe配置监视器,所述PCIe配置监视器设置FPGA的EPPCIe配置以匹配存储装置中的SSD控制器EPPCIe配置。另外,当主机改变FPGA的EP的PCIe配置时,存储装置的EP的PCIe配置可类似地修改。只要保持整个功能,本发明概念的实施例就可支持如FPGA内所描述将组件功能划分为多个单独元件。可使用硬件、软件固件或所述两个的组合来实施FPGA组件。在图1中,示出机器105。机器105可包含处理器110。处理器110可以是任何多种处理器:例如因特尔至强IntelXeon、赛扬Celeron、安腾Itanium或凌动处理器Atomprocessor、超微半导体AMD皓龙处理器Opteronprocessor、安谋ARM处理器等。虽然图1示出机器105中的单一处理器110,但机器105可包含任何数目的处理器,所述处理器中的每一个可以是单核处理器或多核处理器,且可以任何所需组合混合。处理器110可运行装置驱动器115,所述装置驱动器115可支持对存储装置120的存取,不同装置驱动器可支持对机器105的其它组件的存取。贯穿本文档,存储装置120将被描述为固态驱动器SSD120,然而存储装置120可以是如以下本发明概念的实施例中所描述的支持加速指令的任何其它类型的存储装置。处理器110也可运行应用程序125和加速服务管理器ASM130,所述应用程序125可以是包含加速指令的任何应用程序,所述应用服务管理器130可用于发送待对存储于存储装置120上的数据执行的加速指令。机器105还可包含存储器控制器135,其可用于管理对主存储器140的存取。存储器140可以是任何多种存储器,例如闪存存储器flashmemory、动态随机存取存储器DynamicRandomAccessMemory,DRAM、静态随机存取存储器StaticRandomAccessMemory,SRAM、永久性随机存取存储器PersistentRandomAccessMemory、铁电随机存取存储器FerroelectricRandomAccessMemory,FRAM或非易失性随机存取存储器Non-VolatileRandomAccessMemory,NVRAM,例如磁阻随机存取存储器MagnetoresistiveRandomAccessMemory,MRAM等。存储器140也可以是不同存储器类型的任何所需组合。机器105还可包含加速模块145。加速模块145可通过如由处理器110请求对存储装置120上存储的数据执行加速指令来辅助处理器110。可单独使用固件或使用硬件和固件的组合来实施加速模块145。贯穿本文档,加速模块145将被描述为现场可编程门阵列FPGA145,然而加速模块145可以是如以下本发明概念的实施例中所描述的支持加速指令的任何其它类型的加速模块。举例来说,加速模块145可实施为以下或使用以下来实施:专用集成电路Application-SpecificIntegratedCircuit,ASIC、图形处理单元GraphicsProcessingUnit,GPU、SSD的存储内计算In-StorageComputing,ISC性能或其它实施方案。虽然图1将机器105描绘为服务器其可以是独立服务器或机架服务器,但本发明概念的实施例可包含不限于任何所需类型的机器105。举例来说,机器105可用台式计算机或膝上型计算机或可得益于本发明概念的实施例的任何其它机器替换。机器105还可包含专用便携式计算机器、平板计算机、智能手机以及其它计算机器。另外,虽然图1将机器105示出为包含存储装置120、应用程序125以及ASM130,但是本发明概念的实施例可在单独机器中具有这些组件:例如,存储装置120可安装在经由遍历一或多个任何类型有线、无线、全球等的网络的网络连接而连接到机器105以及应用程序125和ASM130的服务器上。无论图1所示的组件的具体布置如何,术语“主机”、“主机机器”或“主机处理器”还可用以描述机器105。这可使处理器110与本发明概念的其它组件区分开来。在图1的组件当中,存在本发明概念的实施例特别关注的三个业务流也可能存在其它业务流,其与本发明概念的实施例无关:1从主机到存储装置120。主机处理器110可将通信发送到存储装置120。在本发明概念的实施例中,所有这类业务穿过加速模块145,且不应被阻止通过加速模块145到达存储装置120。这类业务的实例可包含用以从存储装置120读取数据和或将数据写入到存储装置120的命令:由存储装置120提供的其它命令还可包含这类业务。2从ASM130到加速模块145。ASM130可请求执行某些加速指令。在某种程度上,无论本发明概念的具体实施例如何,加速模块145应从ASM130接收加速指令。3从加速模块145到存储装置130。为了执行加速指令,加速模块145可需要从存储装置130提取或接收数据。图2示出图1的机器的额外细节。在图2中,通常,机器105包含一或多个处理器110,所述一或多个处理器110可包含存储器控制器135和时钟205,时钟205可用于协调装置105的组件的操作。处理器110还可以耦合到存储器140,举例来说,所述存储器140可以包含随机存取存储器randomaccessmemory,RAM、只读存储器read-onlymemory,ROM或其它状态保持媒体。处理器110还可以耦合到存储装置120和网络连接器210,所述网络连接器210可以是例如以太网连接器或无线连接器。处理器110也可连接到总线215,所述总线215可附接到用户接口220和输入输出接口端口,所述输入输出接口端口可使用输入输出引擎225以及其它组件来管理。第一实例实施例图3示出根据本发明概念的第一实施例的图1的FPGA145和图1的SSD120的组件。在图3中,处理器110、FPGA145以及SSD120示出为通信。在图3中,处理器110、FPGA145以及SSD120可经由外围组件互连快速PCIe总线通信。PCIe总线可使用任何数目的通路:典型的实例为×4和×8,但本发明概念的实施例可使用任何其它所需数目的通路。这些通信可包含PCIe事务,所述PCIe事务可以是使用非易失性存储快速NVMe协议编码命令的事务层包TLP,但本发明概念的实施例可扩展到包含使用不同编码的通信或不同协议中的命令。SSD120可包含端点305、主机接口层hostinterfacelayer,HIL310、SSD加速平台管理器APM-S315、闪存转换层FTL320以及闪存媒体325。端点305可以是逻辑或物理连接点,SSD120在所述逻辑或物理连接点处可接收且发送PCIe通信。当SSD120在端点305处经由FPGA145从处理器110接收PCIe事务时,SSD120可将PCIe事务传送到HIL310。HIL310可接着确定PCIe事务是包含加速指令还是并不包含加速指令。如果PCIe事务包含加速指令,那么HIL可将PCIe事务或加速指令自身,从PCIe事务中未封装转发到APM-S315以供用于处理:可单独使用固件或使用硬件和固件的组合来实施APM-S315。否则,HIL310可将PCIe事务或未封装的NVMe命令传送到FTL320,其中FTL可将由图1的应用程序125使用的逻辑块地址LogicalBlockAddress,LBA转换为物理块地址PhysicalBlockAddress,PBA,并存取存储在闪存媒体325上的数据。APM-S315可能会处理基本上两种不同类型的加速指令。第一类型的加速指令为来自处理器110的专用命令。在本发明概念的第一实施例中,FPGA145对处理器110不可见:处理器110将其所有通信发送到SSD120。当处理器110欲对应用数据执行加速指令时,处理器110可发送专用命令到SSD120。处理器110可使用NVMe命令来使专用命令加速指令遂穿到SSD120。HIL310可拦截这类专用命令,所述专用命令可传送到APM-S315。APM-S315可接着响应于专用命令产生加速指令,其可发送回到FPGA145以执行所述加速指令。这类专用命令可例如编码待执行的特定类型的加速指令以及待执行加速命令指令的数据。APM-S315可处理的第二类型的加速指令将涉及数据。举例来说,FPGA145可能无法直接存取闪存媒体325,且因此可能无法在不接收待执行加速指令的数据的情况下执行加速指令。因此,APM-S315可从FPGA145接收请求所讨论数据的加速指令。APM-S315可接着存取所请求的数据并将其传回到FPGA145,从而准许FPGA145执行加速指令。在图3中,示出SSD120包含FTL320和闪存媒体325,其适合于在SSD中使用。如果用替代性存储装置替换SSD120,那么可用适合于存储装置的形式的替代性组件替换这些组件。举例来说,如果用硬盘驱动器替换SSD120,那么可用硬盘盘片替换闪存媒体325。还可包含额外组件以支持数据存取:继续硬盘驱动器存储装置的实例,存储装置也可视需要包含读取写入头。在FPGA145可拦截处理器110与SSD120之间的通信之前,SSD120可从处理器110请求主机存储器地址的块。用于主机存储器系统地址的块的这一请求在使用PCIe事务时为常规的,且可在启动时或在稍后时间执行。作为响应,处理器110或图1的机器105的基本输入输出系统BasicInputOutputSystem,BIOS可分配主机存储器系统地址的块以供SSD120使用。主机机器接着知晓主机存储器系统地址的这一块不可供图1的机器105中的其它装置使用。图4示出根据本发明概念的第一实施例的用于加速图1的系统中的指令的存储器使用。在图4中,SSD120可请求主机存储器系统地址的块。应注意,虽然需要用以支持处理器110与SSD120之间的NVMe通信的存储器的量可能相对较小例如64KB,但是SSD120可请求大得多的块例如10MB或大于10MB。作为响应,处理器110可传回主机存储器系统地址的块405。块405的一个端部可存储在基地址寄存器BAR中,使得SSD120能够基于BAR以及利用对所请求块的大小的SSD120的了解确定块405。一旦SSD120知晓何种地址在块405中,SSD120就可将块405划分到不同区域中以供其使用。块405的一个子集410可用于NVMe通信。另一子集415可被闲置。且第三子集称为下游过滤器地址范围FAR420“下游”是由于从处理器110下游进行任何过滤可专用于SSD120与FPGA145之间的通信。应注意,下游FAR420可由SSD120和FPGA145使用:其中任一个可使用下游FAR420中的地址来指示所讨论的PCIe事务包含加速指令。返回到图3,如果SSD120使用下游FAR420中的地址发送通信,那么FPGA145可在下游端口335处接收通信、拦截所述通信且本地地处理所述通信,而非将所述通信转发到处理器110。由FPGA145在下游端口335处从并不涉及下游FAR420的SSD120接收的任何通信可由FPGA145经由上游端口330传送到处理器110。FPGA145在上游端口330处从处理器110接收的任何通信可自动地经由下游端口335传送到SSD120。FPGA145可定位于处理器110与SSD120之间,使得FPGA145可拦截处理器110与SSD120之间的通信。通过拦截这类通信,FPGA145可执行由SSD120请求的加速指令。为执行加速指令,FPGA145可包含上游端口330、下游端口335、FPGA加速平台管理器APM-F340、调度程序345以及加速引擎350-1和加速引擎350-2。上游端口330可用于与处理器110通信;下游端口335可用于与SSD120通信。APM-F340负责接收FPGA145所拦截的任何加速指令。这些加速指令可使用消息邮箱355从下游端口335作为消息接收,但本发明概念的实施例可扩展到用于APM-F接收加速指令的其它机制。一旦接收到加速指令,APM-F340就可处理加速指令。举例来说,如果FPGA145具有能够执行加速指令的足够信息,那么APM-F340可将加速指令传递到调度程序345其也可被称为“运行时间调度程序”,所述调度程序345可接着利用任何可用的加速引擎例如加速引擎350-1和加速引擎350-2来调度加速指令。虽然图3示出两个加速引擎350-1和加速引擎350-2,但是本发明概念的实施例可包含任何所需数目的加速引擎:图3中仅出于示范性目的示出两个加速引擎。或者,如果FPGA145需要额外信息来执行加速指令例如FPGA145需要待执行加速指令的数据,那么APM-F340可采取另一动作例如发送PCIe事务到SSD120请求必需数据。为确定特定PCIe事务是否包含加速指令,FPGA145可包含与下游端口335相关联的下游过滤器360。下游过滤器335可标识从SSD120发出的可包含加速指令的PCIe事务。这可以任何所需方式进行。在本发明概念的一些实施例中,SSD120可用图4的下游FAR420对下游过滤器360进行编程。接着,当下游过滤器360标识使用图4的下游FAR420中的地址的PCIe事务时,FPGA145可将PCIe事务标识为包含加速指令并且拦截所述PCIe事务。SSD120可以任何所需方式对下游过滤器360进行编程。举例来说,SSD120可使用例如互集成电路Inter-IntegratedCircuit,I2C总线或系统管理总线SystemManagementBus,SMBus的边带总线365来对下游过滤器360进行编程。或SSD120可使用PCIe供应商定义消息VDM来对下游过滤器360进行编程。SSD120也可使用其它机制来对下游过滤器360进行编程。在图3中,示出FPGA145包含能够实现与处理器110和SSD120通信的部件:具体地说,上游端口330、下游端口335以及下游过滤器360。虽然FPGA145确实需要其与处理器110和SSD120通信的一些机制,但是本发明概念的实施例可将通信元件与FPGA145分离开。举例来说,下游端口335和下游过滤器360其中后者负责标识从SSD120接收到的哪一PCIe事务涉及加速指令且应重新引导到APM-F340而非传送到处理器110可放置在FPGA145与SSD120之间的桥接组件图3中未示出中。由于这一桥接组件将需要与FPGA145和SSD120通信,因此FPGA145将仍包含下游端口335或实现与桥接组件通信的替代性结构:但可接着从FPGA145去除下游过滤器360。如上文所描述,本发明概念的第一实施例表示处理器FPGASSD实施方案的一个可能的组合。其它实施方案也是有可能的,下文描述为本发明概念的其它实施例。在特定组件的操作例如APM-F340、调度程序345以及加速引擎350-1和加速引擎350-2的操作之间不存在不同的情况下,本发明概念的后续实施例中省略所述特定组件的操作的重复描述。第二实例实施例图5示出根据本发明概念的第二实施例的图1的FPGA145和图1的SSD120的组件。本发明概念的第二实施例类似于本发明概念的第一实施例,不同之处在于上游端口330还包含过滤器:上游过滤器505。上游过滤器505可以类似于下游过滤器360的方式过滤来自处理器110经由上游端口330接收到的的PCIe事务。举例来说,SSD120可定义类似于图4的下游FAR420的上游FAR,且使用边带总线365、PCIeVDM或任何其它机制来用上游FAR对上游过滤器505进行编程。接着,当FPGA145在上游端口330处从处理器110接收PCIe事务时,上游过滤器505可检验PCIe事务以查看其是否包含上游FAR中的地址。如果包含,那么PCIe事务为加速指令,且FPGA145可将PCIe事务路由到APM-F340以供用于处理器,而不是将PCIe事务传送到SSD120。图6示出根据本发明概念的第二实施例的用于加速图1的系统中的指令的存储器使用。与本发明概念的第一实施例中相似,SSD120可请求主机系统存储器地址的块其大于SSD120所需要以支持NVMe命令的地址范围,且可作为响应其BAR接收块405。SSD120可接着保留块405的一个子集410以用于NVMe通信,可不使用另一子集415,可将第三子集保留作为下游FAR420,且可将第四子集保留作为上游FAR605。返回到图5,在本发明概念的第二实施例中,处理器110仍并不直接“查看”FPGA145,因为FPGA145并不是可发现的装置。但SSD120可通过在用于NVMe通信的子集410中的专用寄存器中编程上游FAR605的基地址来通知上游FAR605的处理器110。在从用于NVMe通信的子集410读取这一专用寄存器后,处理器110可能会知晓上游FAR605。接着处理器110可经由上游端口330将加速指令发送到FPGA145,而不是将专用命令发送到SSD120的APM-S315,其接着负责将加速指令发出到FPGA145。在图5中,与图3中相似,示出FPGA145包含能够实现与处理器110和SSD120通信的部分:具体地说,上游端口330、上游过滤器505、下游端口335以及下游过滤器360。如同图3中示出的本发明概念的实施例,可从FPGA145去除涉及PCIe事务的过滤的组件。因此,在本发明概念的第二实施例中,上游端口330和上游过滤器505可放置在第一桥接组件中,且下游端口335和下游过滤器360可放置在第二桥接组件中,每一桥接组件操控图5的不同组件PCIe事务的过滤。或者,可使用这些桥接组件中的仅一个其中FPGA145操控其自身的过滤以用于从另一源通信,或可使用单一桥接组件以操纵用于FPGA145的所有过滤,无论PCIe事务源如何。第三实例实施例图7示出根据本发明概念的第三实施例的图1的FPGA145和图1的SSD120的组件。在本发明概念的第三实施例中,SSD120包含物理功能PF705和虚拟功能VF710。应注意,本发明概念的第三实施例并不意欲暗示本发明概念的其它实施例并不包含PF和或VF,只是本发明概念的其它实施例并不以与本发明概念的第三实施例中相同的方式使用。PF705表示单一资源,例如由SSD120提供的功能。VF710表示与PF相关联的功能,但为“虚拟化的”:即对于一给定PF,可能存在大于一个VF。但VF710可“暴露”FPGA145,而不是表示SSD120的虚拟功能:即VF710可表示FPGA145的功能。VF710仍为SSD120的部分且不是FPGA145的部分;但由于VF710专用于使FPGA145暴露,因此与VF710相关联的任何存储器地址将并不与其它装置冲突。由于在历数PCIe装置时可由处理器110发现PF和VF,因此处理器110可经由VF710间接地发现FPGA145即使其本身无法直接发现。图8示出根据本发明概念的第三实施例的用于加速图1的系统中的指令的存储器使用。与本发明概念的第一实施例中相似,SSD120可请求主机系统存储器地址的块其大于SSD120所需要以支持NVMe命令的地址范围。但SSD120实际上可请求主机系统存储器地址的两个不同块:用于PF705的块805,以及用于VF710的块810。下游FAR420可经选择作为用于PF705的块805的子集;上游FAR605可以是用于VF710的整个块810。上游FAR605可经选择仅作为块810的子集;但由于块810专用于由VF710使用且除了有效地使FPGA145暴露以外,VF710可不具有其它目的,因此可能废弃并不用作上游FAR605的部分的块810中的任何存储器地址。块805和块810中的每一个具有单独BAR,使得SSD120能够知晓为每一块分配的地址范围。返回到图7,类似于本发明概念的第二实施例,上游端口330也包含过滤器:VF过滤器715。VF过滤器715可以类似于下游过滤器360的方式来过滤来自处理器110的经由上游端口330接收到的PCIe事务。举例来说,SSD120可使用边带总线365、PCIeVDM或任何其它机制来用上游FAR605对VF过滤器715进行编程。接着,当FPGA145在上游端口330处从处理器110接收PCIe事务时,VF过滤器715可检验PCIe事务以查看其是否包含上游FAR605中的地址。如果包含,那么PCIe事务为加速指令,且FPGA145可将PCIe事务路由到APM-F340以供用于处理器,而不是将PCIe事务传送到SSD120。作为替代方案,SSD120可用VF710的标识符对VF过滤器715进行编程。VF过滤器715可接着检查在上游端口330处从处理器110接收到的PCIe事务以查看其是否包含VF710的标识符。如果PCIe事务包含VF710的标识符,那么FPGA145可将PCIe事务路由到APM-F340以供用于处理器,而不是将PCIe事务传送到SSD120。在图7中,如本发明概念的先前实施例中,示出FPGA145包含能够实现与处理器110和SSD120通信的部分:具体地说,上游端口330、VF过滤器715、下游端口335以及下游过滤器360。如同先前示出的本发明概念的实施例,可从FPGA145去除涉及PCIe事务的过滤的组件。因此,在本发明概念的第三实施例中,上游端口330和VF过滤器715可放置在第一桥接组件中,且下游端口335和下游过滤器360可放置在第二桥接组件中,每一桥接组件操控图7的不同组件PCIe事务的过滤。或者,可使用这些桥接组件中的仅一个其中FPGA145操控其自身的过滤以用于从另一源通信,或可使用单一桥接组件以操纵用于FPGA145的所有过滤,无论PCIe事务源如何。第四实例实施例使用VF710来使FPGA145暴露的一个问题为使用VF可能需要来自处理器110的主机操作系统的支持。虽然一些操作系统支持VF,但并非全部操作系统都支持VF,支持VF牵涉到其自身对于操作系统的复杂性。本发明概念的第四实施例解决使用VF的难题。图9示出根据本发明概念的第四实施例的图1的FPGA145和图1的SSD120的组件。与本发明概念的第三实施例对比,在本发明概念的第四实施例中,SSD120包含两个PF705和PF905。与本发明概念的第三实施例相似,本发明概念的第四实施例并不意欲暗示本发明概念的其它实施例并不包含PF和或VF。PF705继续表示单一资源,例如由SSD120提供的功能。另一方面,PF905使FPGA145暴露。同样,由于在历数PCIe装置时可由处理器110发现PF,因此处理器110可经由PF905间接地发现FPGA145即使其本身无法直接发现。图10示出根据本发明概念的第四实施例的用于加速图1的系统中的指令的存储器使用。与本发明概念的第三实施例中相似,SSD120可请求主机系统存储器地址的两个不同块:用于PF705的块1005,以及用于PF905的块1010。下游FAR420可经选择作为用于PF705的块1005的子集;上游FAR605可以是用于PF905的整个块1010。同样,上游FAR605可经选择仅作为块1010的子集;但由于块1010专用于由PF905使用且除了有效地使FPGA145暴露以外,PF905可不具有其它目的,因此可能废弃并不用作上游FAR605的部分的块1010中的任何存储器地址。块1005和块1010中的每一个具有单独BAR,使得SSD120能够知晓为每一块分配的地址范围。返回到图9,类似于本发明概念的第三实施例,上游端口330也包含过滤器:PF过滤器715PF过滤器715几乎与图7的VF过滤器715在操作中一致,且名称更改更多地与用于使FPGA145暴露的功能的类型相关,而不是因为PF过滤器715与VF过滤器715的操作不同。PF过滤器715可以类似于下游过滤器360的方式过滤来自处理器110经由上游端口330接收到的的PCIe事务。举例来说,SSD120可使用边带总线365、PCIeVDM或任何其它机制来用上游FAR605对PF过滤器715进行编程。接着,当FPGA145在上游端口330处从处理器110接收PCIe事务时,PF过滤器715可检验PCIe事务以查看其是否包含上游FAR605中的地址。如果包含,那么PCIe事务为加速指令,且FPGA145可将PCIe事务路由到APM-F340以供用于处理器,而不是将PCIe事务传送到SSD120。作为替代方案,SSD120可用PF905的标识符来对PF过滤器715进行编程。PF过滤器715可接着检查在上游端口330处从处理器110接收到的PCIe事务,以查看其是否包含PF905的标识符。如果PCIe事务包含PF905的标识符,那么FPGA145可将PCIe事务路由到APM-F340以供用于处理器,而不是将PCIe事务传送到SSD120。在图9中,如本发明概念的先前实施例中,示出FPGA145包含能够实现与处理器110和SSD120通信的部分:具体地说,上游端口330、PF过滤器715、下游端口335以及下游过滤器360。如同先前示出的本发明概念的实施例,可从FPGA145去除涉及PCIe事务的过滤的组件。因此,在本发明概念的第四实施例中,上游端口330和PF过滤器715可放置在第一桥接组件中,且下游端口335和下游过滤器360可放置在第二桥接组件中,每一桥接组件操控图9的不同组件PCIe事务的过滤。或者,可使用这些桥接组件中的仅一个其中FPGA145操控其自身的过滤以用于从另一源通信,或可使用单一桥接组件以操纵用于FPGA145的所有过滤,无论PCIe事务源如何。第五实例实施例如本发明概念的第三实施例中,本发明概念的第四实施例解决使用VF的难题。但为了使用本发明概念的第四实施例,SSD120需要提供专用于FPGA145的使用的PF905。并非每一SSD或更通常而言,存储装置都具有可专用于FPGA145的使用的可用PF。本发明概念的第五实施例提供SSD120并不需要提供多个PF的解决方案。图11示出根据本发明概念的第五实施例的图1的FPGA145和图1的SSD120的组件。在图11中,SSD120返回到图3和图5中示出的结构,并不需要提供PF和或VF。同样,这并不是说SSD120可不提供PF和或VF,只是并不要求SSD120提供额外的PF和或VF。相比于本发明概念的第一实施例到第四实施例,在本发明概念的第五实施例中,FPGA145略有不同。替代包含如图3、图5、图7以及图9中的上游端口330和下游端口335,FPGA145可包含端点1105和根端口1110术语“端口”可与“根端口”互换使用。尽管图3、图5、图7以及图9的上游端口330和下游端口335可被视为切换器其为有效透传装置,端点1105和根端口1110为用于通信的终端点,可经由PCIe历数发现。这一事实意味着端点1105和根端口1110包含其自身PCIe配置空间,下文参看图12论述。但由于端点1105和根端口1110为用于通信的终端点,因此处理器110和SSD120将其通信分别引导到端点1105和根端口1110,而不是将通信引导到彼此。端点1105可包含两个PF1115和PF1120或替代地,一个PF和一个VF:重要的是端点1105包含可以区别于彼此的两个功能。当处理器110发送PCIe事务到端点1105时,处理器110可指定处理哪一PF。类似于上文所描述的本发明概念的第三实施例和第四实施例,端点1105可用标签其包含在标识PF的PCIe事务中或用与PCIe事务相关联的地址同样,下文参看图12论述来标识处理哪一PF。标识PF1115的PCIe事务可被视为经指定以用于SSD120,且可由FPGA145经由根端口1110发送到SSD120。标识PF1120的PCIe事务可被视为包含加速指令,且可路由到APM-F340。根端口1110可包含下游过滤器360。下游过滤器360类似于图3、图5、图7、图9以及图11的下游过滤器360操作:唯一显著差异是下游过滤器并不基于主机系统存储器地址过滤,而是基于FPGA存储器地址过滤,如下文参看图12所论述。可使用边带总线365、PCIeVDM或任何其它所需机制由SSD120用下游FAR420编程下游过滤器360。FPGA145还可包含配置监视器1125。由于FPGA145并不替换SSD120而是仅提供额外功能,且由于FPGA145插入于处理器110与SSD120之间,因此处理器110能够查看由SSD120提供的功能是重要的。更具体地说,FPGA145应播发匹配SSD120的PCIe配置空间的性能。为这一目的,配置监视器1125可复制SSD120的PCIe配置空间,由此为处理器110提供与SSD120相同的PCIe配置。图12示出根据本发明概念的第五实施例的用于加速图1的系统中的指令的存储器使用。在图12中,SSD120并不请求主机系统存储器地址的块,这是由于SSD120不再直接与处理器110通信。相反,SSD120从地址映射1210请求FPGA存储器地址的块1205,其包含用于根端口1110的配置空间。块1205可包含用于与处理器110NVMe通信的子集410,和下游FAR420。可由BAR来标识块1205。为提供处理器110可在没有FPGA145的情况下与SSD120通信的机制,FPGA145可从处理器110请求主机系统存储器地址。为了如由FPGA145的SSD120所请求并行块1205,FPGA145可请求用于PF1115的块1215,所述块1215应至少与块1205一样大由此出现,因为SSD120已从处理器110请求块1215。图12中将块1215标记为“主机-FPGA-SSD”,以反映使用块1215中的地址的PCIe事务是用于主机与SSD120之间的通信,但穿过FPGA145。FPGA145也可请求用于PF1120的块1220,从而提供用于处理器110与APM-F340围绕加速指令进行通信的机制。块1215和块1220可各自由两个单独BAR标识。在本发明概念的又一实施例中,有可能使用块1220的部分作为下游FAR420以便于FPGA145与SSD120之间的通信。在图11中,如本发明概念的先前实施例中,示出FPGA145包含能够实现与处理器110和SSD120通信的部分:具体地说,端点1105、PF1115和PF1120、根端口1110以及下游过滤器360。如同先前示出的本发明概念的实施例,可从FPGA145去除涉及PCIe事务的过滤的组件。因此,在本发明概念的第五实施例中,端点1105以及PF1115和PF1120可放置在第一桥接组件中,且根端口1110和下游过滤器360可放置在第二桥接组件中,每一桥接组件操控图11的不同组件PCIe事务的过滤。或者,可使用这些桥接组件中的仅一个其中FPGA145操控其自身的过滤以用于从另一源通信,或可使用单一桥接组件以操纵用于FPGA145的所有过滤,无论PCIe事务源如何。第六实例实施例本发明概念的第五实施例仍依赖于下游过滤器360来将SSD120与FPGA145之间的加速指令与处理器110与SSD120之间的常规PCIe事务分离开。如在本发明概念的第六实施例中,在SSD120包含第二端点的情况下,可除去下游过滤器360。图13示出根据本发明概念的第六实施例的图1的FPGA145和图1的SSD120的组件。在图13中,FPGA包含两个根端口1110和根端口1305,而非图11的实施例中示出的仅一个根端口1110。根端口1110可用于来源于处理器110的常规PCIe事务;根端口1305可用于在SSD120与FPGA145之间交换的加速指令和数据。由于加速指令使用不同根端口1110和根端口1305与来源于处理器110的常规PCIe事务自然地分离,因此并不需要图3、图5、图7、图9以及图11的下游过滤器360。这一事实意味着SSD120减轻了FPGA360中编程下游过滤器360的负担,相似于SSD120减轻了编程图5、图7以及图9的上游过滤器505和上游过滤器715的负担如图11和图13中的FPGA145可基于相关PF区分常规PCIe事务与加速指令。这类益处的偏移为SSD120包含两个端点305和端点1310,以分别与FPGA145的根端口1110和根端口1305通信。由于本发明概念的第六实施例中SSD120包含两个端点305和端点1310,因此端点305和端点1310中的每一个可从FPGA145请求其自身的存储器地址的块。此外,由于根端口1110和根端口1305中的每一个包含其自身的配置空间,因此SSD120的端点305和端点1310可从不同配置空间请求存储器地址的块。图14示出这一情形。图14示出根据本发明概念的第六实施例的用于加速图1的系统中的指令的存储器使用。在图14中,SSD120的端点305可从地址映射1210请求块1405,其包含用于根端口1110的配置空间。但由于处理器110与SSD120之间的常规PCIe事务与FPGA145与SSD120之间的加速指令由FPGA145上的不同根端口和SSD120上的不同端点的使用而自然地分离开,因此SSD120并不需要请求足够大以包含下游FAR的块1405。因此,在没有FPGA145的情况下,块1405只需要尽可能大:即足够大以支持处理器110与SSD120之间的NVMe通信。块1405可由BAR标识。SSD120的端点1310可从地址映射1410请求其自身的存储器地址的块。但由于本发明概念的第六实施例中根端口1305和端点1310仅用于交换加速指令,因此整个地址映射1410可用于这类PCIe事务:并不需要端点1310来请求地址映射1410的仅一小块。如本发明概念的第五实施例中,PF1115可请求主机系统存储器地址的块1215,从而管理在处理器110与SSD120之间交换的PCIe事务;块1215可以至少与块1405一样大。类似地,PF1120可请求主机系统存储器地址的块1220,从而管理在处理器110与FPGA145之间交换的加速指令。块1215和块1220可各自由BAR标识。在图13中,如本发明概念的先前实施例中,示出FPGA145包含能够实现与处理器110和SSD120通信的部分:具体地说,端点1105、PF1115和PF1120以及根端口1110、根端口1305。如同先前示出的本发明概念的实施例,可从FPGA145去除涉及PCIe事务的过滤的组件。因此,在本发明概念的第六实施例中,端点1105以及PF1115和PF1120可放置在第一桥接组件中,且根端口1110和根端口1305可放置在第二桥接组件中,每一桥接组件操控图13的不同组件PCIe事务的过滤。或者,可使用这些桥接组件中的仅一个其中FPGA145操控其自身的过滤以用于从另一源通信,或可使用单一桥接组件以操纵用于FPGA145的所有过滤,无论PCIe事务源如何。第七实例实施例在本发明概念的前六个实施例中,示出FPGA145使用单一上游端口330在图5、图7以及图9中或单一端点1105在图11和图13中。但在本发明概念的第六实施例中,FPGA145没有理由像SSD120一样不包含多个端点。本发明概念的第七实施例和第八实施例示出FPGA145可如何使用多个端点进行操作。图15示出根据本发明概念的第七实施例的图1的FPGA145和图1的SSD120的组件。本发明概念的第七实施例类似于本发明概念的第六实施例,不同之处在于FPGA145包含两个端点1105和端点1505。与SSD120的端点305和端点1310可用于区分常规主机到SSDhost-to-SSDPCIe事务与FPGA到SSDFPGA-to-SSD加速指令很像,FPGA145的端点1105和端点1505可用于区分常规主机-SSDhost-SSDPCIe事务与主机到FPGAhost-to-FPGA加速指令。在端点1105处接收到的PCIe事务可被视为常规PCIe事务且经由根端口1110转发到SSD120,然而在端点1505处接收到的PCIe事务可被视为加速指令且转发到APM-F340以供用于处理。图16示出根据本发明概念的第七实施例的用于加速图1的系统中的指令的存储器使用。出于所有意图和目的,根据本发明概念的第七实施例的存储器使用与根据第六实施例的存储器使用一致。FPGA145的根端口1110和根端口1305各自提供其自身配置空间,且SSD120的端点305可从地址映射1210请求块1405如同本发明概念的第六实施例,SSD120的端点1310可从地址映射1410请求块,或SSD120的端点1310可使用整个地址映射1410以用于SSD-FPGA通信,所述块1405由BAR标识。端点1105和端点1505可请求主机系统存储器地址的块1215和块1220,从而管理在处理器110与SSD120之间交换的PCIe事务;块1215可至少与块1405一样大。块1215和块1220可各自由BAR标识。在图15中,如本发明概念的先前实施例中,示出FPGA145包含能够实现与处理器110和SSD120通信的部分:具体地说,端点1105和端点1505,以及根端口1110、根端口1305。如同先前示出的本发明概念的实施例,可从FPGA145去除涉及PCIe事务的过滤的组件。因此,在本发明概念的第七实施例中,端点1105和端点1505可放置在第一桥接组件中,且根端口1110和根端口1305可放置在第二桥接组件中,每一桥接组件操控图15的不同组件PCIe事务的过滤。或者,可使用这些桥接组件中的仅一个其中FPGA145操控其自身的过滤以用于从另一源通信,或可使用单一桥接组件以操纵用于FPGA145的所有过滤,无论PCIe事务源如何。第八实例实施例图17示出根据本发明概念的第八实施例的图1的FPGA145和图1的SSD120的组件。本发明概念的第八实施例类似于本发明概念的第五实施例,不同之处在于FPGA145包含两个端点1105和端点1505。同样,FPGA145的端点1105和端点1505可用于区分常规主机-SSDPCIe事务与主机到FPGA加速指令。在FPGA145的端点1105处接收到的PCIe事务可被视为常规PCIe事务且经由根端口1110转发到SSD120,然而在FPGA145的端点1505处接收到的PCIe事务可被视为加速指令且转发到APM-F340以供用于处理。图18示出根据本发明概念的第八实施例的用于加速图1的系统中的指令的存储器使用。根据本发明概念的第八实施例的存储器使用类似于根据本发明概念的第五实施例的存储器使用。随着根端口1110为FPGA145的唯一根端口,SSD120的端点305可从地址映射1210请求块1205,所述地址映射1210可包含下游FAR420。FPGA145的端点1105和端点1505可接着从主机系统存储器地址请求块1215和块1220其中端点1105请求至少与块1205一样大的块1215,所述块由BAR标识。端点1105和端点1505可请求主机系统存储器地址的块1215和块1220,从而管理在处理器110与SSD120之间交换的PCIe事务;块1215可至少与块1405一样大。块1215和块1220可各自由两个单独BAR标识。在本发明概念的又一实施例中,有可能使用块1220的部分作为下游FAR420以便于FPGA145与SSD120之间的通信。在图17中,如本发明概念的先前实施例中,示出FPGA145包含能够实现与处理器110和SSD120通信的部分:具体地说,端点1105和端点1505、根端口1110以及下游过滤器360。如同先前示出的本发明概念的实施例,可从FPGA145去除涉及PCIe事务的过滤的组件。因此,在本发明概念的第八实施例中,端点1105和端点1505可放置在第一桥接组件中,且根端口1110和下游过滤器360可放置在第二桥接组件中,每一桥接组件操控图17的不同组件PCIe事务的过滤。或者,可使用这些桥接组件中的仅一个其中FPGA145操控其自身的过滤以用于从另一源通信,或可使用单一桥接组件以操纵用于FPGA145的所有过滤,无论PCIe事务源如何。如上文参考本发明概念的各种实施例所论述,描述为FPGA145的上游接口和或下游接口的部分的过滤功能可与FPGA145分离开来且由另一组件操控。图19示出根据本发明概念的实施例的可代表图1的加速模块145操纵过滤功能的桥接组件。在图19中,示出两个桥接组件1905和桥接组件1910。桥接组件1905可操纵从处理器110接收到的PCIe事务的过滤,然而桥接组件1910可操纵从SSD120接收到的PCIe事务的过滤。取决于PCIe事务是否包含加速指令,桥接组件1905可将PCIe事务发送到FPGA145或SSD120。类似地,取决于PCIe事务是否包含加速指令,桥接组件1910可将PCIe事务发送到FPGA145或处理器110。图19中未示出桥接组件1905和桥接组件1910的特定实施方案,因为所述实施方案类似于上文示出为FPGA145的上游接口和下游接口的部分的那些实施方案。在本发明概念的一些实施例中,桥接组件1905和桥接组件1910都可使用。在本发明概念的其它实施例中,仅使用一个桥接组件1905或桥接组件1910,其中另一桥接组件的功能可能保留于FPGA145中。在另外其它实施例中,桥接组件1905和桥接组件1910都可以包含在单一组件中而非作为单独的组件。目前已描述本发明概念的各种实施例,可描述处理器110、FPGA145与SSD120之间的数据流。在本文档的其余部分中,所有过滤功能都归于FPGA145,但过滤何时可转换到图19的桥接组件1905和或桥接组件1910以及如何转换到图19的桥接组件1905和或桥接组件1910应为显而易见的。图20A到图20B示出根据本发明概念的实施例的图1的处理器、图1的FPGA145与图1的SSD120之间的通信。在图20A中,示出根据本发明概念的第一实施例且可能本发明概念的其它实施例的数据流。处理器110可将PCIe事务2005发送到SSD120。PCIe事务2005可包含专用命令2010。PCIe事务2005可经由FPG145传送到SSD120。APM-S315可接着产生加速指令2015,其可包含在PCIe事务2020中,SSD120可接着将所述PCIe事务2020发送到FPGA145。FPGA145和SSD120也可交换加速数据,如图20A中所示。在完成加速指令2015后,FPGA145可将结果2030发送回到SSD120,SSD120继而可将结果2030转发到处理器110示出为结果2035。或者,FPGA145可直接将结果2040发送到处理器110,仿真来自SSD120的结果2035。相反地,在图20B适用于本发明概念的第二实施例到第八实施例中,处理器110可直接将加速指令2045发送到FPGA145作为PCIe事务2005。FPGA145和SSD120可交换加速数据,如图20B中所示。最后,FPGA145可将结果2040发送回到处理器110。图21示出根据本发明概念的实施例的用于FPGA145以处理PCIe事务的实例过程的流程图。图21提供高级视图;后续图提供FPGA145的操作的更详细实例流程图。在图21中,在框2105处,FPGA145可从装置接收PCIe事务。这类PCIe事务可以是图20A到图20B的PCIe事务2015或PCIe事务2045中的任一个,且装置可以是处理器110或SSD120。在框2110处,FPGA145可确定PCIe事务是否包含加速指令。在框2115处,FPGA145可测试以查看PCIe事务包含加速指令。如果包含,那么在框2120处,加速指令可由APM-F340处理;否则,在框2125处,可将PCIe事务传送到另一装置如果PCIe事务是从处理器110接收到的,那么可将PCIe事务传送到SSD120,且反过来也一样。应注意,由APM-F340处理加速指令可能涉及与SSD120通信以接收待由加速指令处理的应用数据。图22A到图22C示出根据本发明概念的实施例的用于FPGA145以处理PCIe事务的更详细实例过程的流程图。在图22A中,在框2203处,FPGA145可从SSD120接收下游FAR420。在框2206处,FPGA145可使下游FAR420与下游过滤器360相关联。应注意,如果SSD120经由边带总线365将下游FAR420编程到下游过滤器360中,或可能需要FPGA145采取有效步骤例如在SSD120将PCIeVDM发送到包含下游FAR420的FPGA145时,那么这类关联可能自动地发生。另外应注意,在本发明概念的一些实施例中,可省略框2203和框2206,如由虚线2209所示。在本发明概念的一些实施例中,下游FAR420可由FPGA145本身来提供。在框2212处,FPGA145可从SSD120接收上游FAR605,且在框2215处,FPGA145可使上游FAR605与上游过滤器505相关联。应注意,如果SSD120经由边带总线365将上游FAR605编程到上游过滤器505中,或可能需要FPGA145采取有效步骤例如在SSD120将PCIeVDM发送到包含上游FAR605的FPGA145时,那么这类关联可能自动地发生。在本发明概念的一些实施例中,上游FAR605可由FPGA145本身来提供。或者,在框2218处,FPGA145可从SSD120接收用于使FPGA145暴露的PF或VF的标识符,且在框2221处,FPGA145可使PFVF标识符与上游过滤器505相关联。同样,如果SSD120经由边带总线365将PFVF标识符编程到上游过滤器505中,或可能需要FPGA145采取有效步骤例如在SSD120将PCIeVDM发送到包含PFVF标识符的FPGA145时,那么这类关联可能自动地发生。应注意,在本发明概念的一些实施例中,可省略框2212、框2215、框2218以及框2221,如由虚线2224所示。在框2227处,配置监视器1125可确定SSD120的端点305的配置,且在框2230处,配置模块1125可复制FPGA145的端点1105处的所述配置,由此向处理器110呈现与SSD120相同的功能。在本发明概念的一些实施例中,可省略框2227以及框2230,如由虚线2233所示。一旦FPGA145已经适当地配置,那么在框2236图22B处,FPGA145可取决于本发明概念的实施例而经由上游端口330或端点1105从处理器110接收图20B的PCIe事务2005。在框2239处,FPGA145可确定图20B的PCIe事务2005是否包含图20B的加速指令2045。如果包含,那么在框2242处,APM-F340可处理图20B的加速指令2045,且在框2245处,APM-F340可将图20B的结果2040发送到处理器110。否则,如果图20B的PCIe事务2005不包含图20B的加速指令2045,那么在框2248处,FPGA145可取决于本发明概念的实施例而经由下游端口335或根端口1110将图20B的PCIe事务2005传送到SSD120。在框2251图22C处,FPGA145可取决于本发明概念的实施例而经由下游端口335或根端口1110接收图20A的PCIe事务2020。在框2254处,FPGA145可确定图20A的PCIe事务2020是否包含图20A的加速指令2015。如果图20A的PCIe事务2020包含图20A的加速指令2015,那么在框2257处,APM-F340可处理图20A的加速指令2015,且在框2260处,APM-F340可将图20A的结果2040发送到SSD120。否则,如果图20A的PCIe事务2020不包含加速指令2015,那么在框2263处,FPGA145可取决于本发明概念的实施例而经由上游端口330或端点1105将图20A的PCIe事务2020转发到处理器110。图23A到图23B示出根据本发明概念的实施例的用于FPGA145以确定来自处理器110的图20B的PCIe事务2005是否包含图20B的加速指令2045的实例过程的流程图。图23A到图23B示出可取决于本发明概念的实施例而独立地或共同地使用的三个可能测试。在使用超过一个测试的本发明概念的实施例中,如果满足任何独立测试,那么可确定图20B的PCIe事务2005包含图20B的加速指令2045。在图23A中,在框2305处,FPGA145可确定与图20B的PCIe事务2005相关联的地址是否包含上游FAR605中的地址。在框2310处,FPGA145可确定图20B的PCIe事务2005是否包含与上游过滤器715相关联的PF或VF的标识符。在框2315处,FPGA145可确定是否在专用于加速指令的端口例如端点1505处接收到图20B的PCIe事务2005。如果这些测试的结果中的任一个指示图20B的PCIe事务2005包含图20B的加速指令2045,那么在框2320图23B处,FPGA145知晓图20B的PCIe事务2005包含图20B的加速指令2045;否则,在框2325处,FPGA145知晓图20B的PCIe事务2005不包含图20B的加速指令2045。图24示出根据本发明概念的实施例的用于FPGA145以确定来自SSD120的图20A的PCIe事务2020是否包含图20A的加速指令2015的实例过程的流程图。图24示出可取决于本发明概念的实施例而独立地或共同地使用的两个可能测试。在使用超过一个测试的本发明概念的实施例中,如果满足任何独立测试,那么可确定图20A的PCIe事务2020包含图20A的加速指令2015。在图24中,在框2405处,FPGA145可确定与图20A的PCIe事务2020相关联的地址是否包含下游FAR420中的地址。在框2410处,FPGA可确定是否在专用于加速指令的端口例如根端口1305处接收到图20A的PCIe事务2020。如果这些测试结果中的任一个指示图20A的PCIe事务2020包含图20A的加速指令2015,那么在框2415处,FPGA145知晓图20A的PCIe事务2020包含图20A的加速指令2015;否则,在框2420处,FPGA145知晓图20A的PCIe事务2020不包含图20A的加速指令2015。图25示出根据本发明概念的实施例的用于图19的第一桥接组件1905以确定来自图1的处理器110的PCIe事务是否包含加速指令的实例过程的流程图。在图25中,在框2505处,第一桥接组件1905可从图1的处理器110接收PCIe事务。在框2510处,第一桥接组件1905可确定PCIe事务是否为加速指令。如果是,那么在框2515处,第一桥接组件1905可将PCIe事务加速指令转发到图1的FPGA145;否则,在框2520处,第一桥接组件1905可将PCIe事务转发到图1的SSD120。图26示出根据本发明概念的实施例的用于图19的第二桥接组件1910以确定来自图1的存储装置120的PCIe事务是否包含加速指令的实例过程的流程图。在图26中,在框2605处,第二桥接组件1910可从图1的SSD120接收PCIe事务。在框2610处,第二桥接组件1910可确定PCIe事务是否为加速指令。如果是,那么在框2615处,第二桥接组件1910可将PCIe事务加速指令转发到图1的FPGA145;否则,在框2620处,第二桥接组件1910可将PCIe事务转发到图1的处理器110。图27A到图27C示出根据本发明概念的实施例的用于SSD120以处理PCIe事务的实例过程的流程图。在图27A中,在框2705处,SSD120可请求存储器地址的块。应注意,SSD120可如本发明概念的第一实施例到第四实施例中从主机系统存储器或如本发明概念的第五实施例到第八实施例中从FPGA145的根端口的配置空间请求存储器地址的块。在框2710处,SSD120可选择存储器地址的块的子集以用作下游FAR420,且在框2715处,SSD120可使用边带总线365、PCIeVDM或任何其它所需机制用下游FAR420对下游过滤器360进行编程。应注意,在本发明概念的一些实施例中,可省略框2705到框2715,如由虚线2720虚线2720也跳过图27B中示出的一些框所示。在框2725图27B处,SSD120可选择存储器地址的块的子集以用作上游FAR605,且在框2730处,SSD120可使用边带总线365、PCIeVDM或任何其它所需机制用上游FAR605对上游过滤器505进行编程。或者,在框2735处,SSD120可使用PF705来暴露其自身的性能。接着,在框2740处,SSD120可使用PF905或VF710来暴露FPGA145,且在框2745处,SSD120可使用边带总线365、PCIeVDM或任何其它所需机制用PF905或VF710的标识符对上游过滤器505进行编程。应注意,在本发明概念的一些实施例中,可省略框2725到框2745,如由虚线2750所示。在框2755处,SSD120可从FPGA145接收PCIe事务。这类PCIe事务可以是图20A的PCIe事务2005由FPGA145从处理器110转发,或其可以是图20A到图20B的PCIe事务2025。无论PCIe事务的源如何,在框2760图27C处,HIL310可确定PCIe事务是否包含加速指令。如果包含,那么在框2765处,HIL310可将PCIe事务或未封装的加速指令转发到APM-S315以用于处理。APM-S315可产生对于加速指令的响应,所述加速指令可以是图20A的加速指令2015如果PCIe事务来源于处理器110,或其可以是加速数据2025如果PCIe事务来源于FPGA145的APM-F340。无论哪种方式,在框2770处,APM-S315可将所述响应发送到FPGA145。另一方面,如果PCIe事务并不是加速指令,那么在框2775处,SSD120可确PCIe事务定是否为图20A的结果2030。如果是,那么在框2780处,SSD120可将图20A的结果2035经由SSD120的端点305和FPGA145转发到处理器110。如果PCIe事务并不是图20A的结果2030,那么在框2785处,SSD120可正常处理存储在SSD120上的数据上的PCIe事务。图28A到图28B示出根据本发明概念的实施例的用于SSD120以确定来自FPGA145的PCIe事务是否包含加速指令的实例过程的流程图。图28A到图28B示出可取决于本发明概念的实施例而独立地或共同地使用的三个可能测试。在使用超过一个测试的本发明概念的实施例中,如果满足任何独立测试,那么可确定PCIe事务包含加速指令。在图28A中,在框2805处,SSD120可确定PCIe事务是否包含来自处理器110的专用命令其指示SSD120应将加速指令发起到FPGA145。在框2810处,SSD120可确定PCIe事务是否来源于APM-F340,这可在APM-F340正请求图20A到图20B的加速数据2025时或在APM-F340正将图20A的结果2030发送到SSD120时发生。可以任何所需方式执行框2810的测试:例如,PCIe事务可包含标签以指示PCIe事务为加速指令,或PCIe事务可与下游FAR420中的地址相关联。在框2815处,SSD120可确定是否在专用于加速指令的端口例如端点1310处接收到PCIe事务。如果这些测试的结果中的任一个指示PCIe事务包含加速指令,那么在框2820图28B处,SSD120知晓PCIe事务包含加速指令;否则,在框2825处,SSD120知晓PCIe事务不包含加速指令。在图21到图28B中,示出本发明概念的一些实施例。但本领域技术人员将认识到,通过改变块的次序、通过省略块或通过包含未在附图中示出的链路,本发明概念的其它实施例也是可能的。另外,虽然将特定操作描述为由特定组件执行,但是本发明概念的实施例可支持执行所描述操作的其它组件。无论是否明确地描述,流程图的所有这类变化都被视为本发明概念的实施例。本发明概念的实施例提供优于现有技术的技术优势。通过将图1的加速模块145引入到图1的机器105,图1的处理器110可分担可由图1的加速模块145执行的工作。由于这类命令通常涉及处理随后可能被丢弃的大量数据,因此分担图1的加速模块145的工作避免将数据从图1的存储装置120加载到图1的存储器140中所需的延迟,并且避免可能需要释放图1的存储器140内的一些空间。本发明概念的各种实施例也支持使用图1的存储装置120的不同变型。可使用单一端口和双重端口存储装置,以及支持额外PF和或VF以暴露图1的加速模块145的存储装置。本发明概念的各种实施例进一步支持使用提供不同性能的处理器。如果图1的机器105的操作系统支持VF,那么VF可用于暴露图1的加速模块145;否则,可使用PF。如果图1的处理器110能够直接与图1的加速模块145通信,那么可使用支持这类通信的本发明概念的实施例;否则,图1的处理器110可将所有加速指令发送到图1的存储装置120,将其留给图1的存储装置120以请求图1的加速模块145执行加速指令。以下论述意欲提供其中可以实施本发明概念的某些方面的一个或多个合适机器的简要一般描述。一个或多个机器可以至少部分地通过从例如键盘、鼠标等常规输入装置的输入,以及通过从另一机器接收的指令、与虚拟现实virtualreality,VR环境的交互、生物计量反馈或其它输入信号来控制。如本文中所使用,术语“机器”意欲广泛地涵盖单个机器、虚拟机,或以通信方式耦合的机器、虚拟机或一起操作的装置的系统。示范性机器包含计算装置,例如个人计算机、工作站、服务器、便携式计算机、手持式装置、电话、平板计算机等,以及交通装置,例如私人或公共交通工具,例如汽车、火车、出租车等。一个或多个机器可以包含嵌入式控制器,例如可编程或不可编程逻辑装置或阵列、专用集成电路ApplicationSpecificIntegratedCircuit,ASIC、嵌入式计算机、智能卡等。一个或多个机器可以利用例如通过网络接口、调制解调器或其它通信耦合与一个或多个远程机器的一个或多个连接。机器可以借助于物理和或逻辑网络,例如企业内部网、因特网、局域网、广域网等互连。本领域的技术人员将理解,网络通信可以利用各种有线和或无线短程或远程载波和协议,包含射频radiofrequency,RF、卫星、微波、电气电子工程师学会InstituteofElectricalandElectronicsEngineer,IEEE802.11、光学、红外线、电缆、激光等。可以参考或结合包含功能、过程、数据结构、应用程序等的相关联数据描述本发明概念的实施例,所述相关联数据在通过机器存取时引起机器执行任务或定义抽象数据类型或低级硬件环境。相关联数据可以存储在例如易失性存储器和或非易失性存储器,例如RAM、ROM等中,或其它存储装置以及其相关联存储媒体中,包含硬盘驱动器、软盘、光学存储装置、磁带、闪存存储器、存储棒、数字视频光盘、生物存储装置等。相关联数据可以采用包、串行数据、并行数据、传播信号等形式在包含物理网络和或逻辑网络的传输环境上传送,并且可以用压缩格式或加密格式使用。相关联数据可以用于分布式环境中,并且本地地和或远程地存储用于机器存取。本发明概念的实施例可以包含有形的非暂时性机器可读媒体,包括可由一个或多个处理器执行的指令,所述指令包括用于执行如本文所描述的发明性概念的元件的指令。上文所描述的方法的各种操作可由能够执行所述操作的任何合适构件执行,所述合适构件例如各种硬件和或软件组件、电路和或模块。软件可包括用于实施逻辑功能的可执行指令的有序的列表,且可以任何供使用指令执行系统、设备或装置或与指令执行系统、设备或装置结合的“处理器可读媒体”实施,所述指令执行系统、设备或装置例如单核处理器或多核处理器或含处理器的系统。结合本文中所公开的实施例而描述的方法或算法以及函数的步骤可直接以硬件、由处理器执行的软件模块或所述两个的组合实施。如果实施于软件中,那么可将功能作为一个或多个指令或代码而存储在有形的非暂时性计算机可读媒体上或经由所述有形的非暂时性计算机可读媒体进行传输。软件模块可驻留在随机存取存储器RAM、闪存存储器、只读存储器ROM、电可编程ROMElectricallyProgrammableROM,EPROM、电可擦除可编程ROMElectricallyErasableProgrammableROM,EEPROM、寄存器、硬盘、可装卸磁盘、CDROM或本领域中已知的任何其它形式的存储媒体中。在参考所说明实施例描述和说明本发明概念的原理之后,将认识到,所说明实施例的布置和细节可以在不脱离此原理的情况下进行修改,并且可以按任何所需方式组合。而且,尽管前述论述集中于具体实施例,但是预期其它配置。具体地说,即使本文使用例如“根据本发明概念的实施例”等的表达,但是这些词语一般表示参考实施例可能性,且并不意欲将本发明概念限制到具体实施例配置。如本文中所使用,这些术语可以参考组合到其它实施例中的相同或不同实施例。前述说明性实施例不应被解释为限制其发明性概念。虽然已经描述几个实施例,但本领域的技术人员将容易了解,在实质上不脱离本公开的新颖教示和优势的情况下,对这些实施例的许多修改是可能的。因此,所有此类修改意欲包含在如权利要求书中定义的本发明概念的范围内。本发明概念的实施例可以扩展到以下陈述,而不具有限制性:陈述1.本发明概念的实施例包含一种系统,所述系统包括:处理器,所述处理器运行应用程序;存储器,所述存储器存储由在处理器上运行的应用程序使用的数据;上游接口,用于与处理器通信;下游接口,用于与存储装置通信;加速模块,所述加速模块使用硬件来实施且包含加速平台管理器APM-F以执行加速指令;以及存储装置,包含:存储装置的端点,用于与加速模块通信;控制器,用以管理存储装置的操作;存储,用以存储应用程序的应用数据;以及存储装置加速平台管理器APM-S,用以辅助APM-F执行加速指令,其中处理器、加速模块以及存储装置经由外围组件互连快速PCIe总线通信,且其中加速模块在不将应用数据加载到存储器中的情况下支持针对应用程序对存储装置上的应用数据执行加速指令。陈述2.本发明概念的实施例包含根据陈述1所述的系统,所述系统进一步包括:第一桥接组件,包含上游接口,所述第一桥接组件桥接处理器与加速模块之间的通信;以及第二桥接组件,包含下游接口,所述第二桥接组件桥接加速模块与存储装置之间的通信。陈述3.本发明概念的实施例包含根据陈述1所述的系统,其中:使用现场可编程门阵列FPGA来实施加速模块;加速模块包含上游接口和下游接口;以及存储装置包含固态驱动器SSD。陈述4.本发明概念的实施例包含根据陈述3所述的系统,其中APM-F和APM-S使用下游接口和SSD的端点进行通信,涉及待与加速指令一起使用的应用数据。陈述5.本发明概念的实施例包含根据陈述3所述的系统,其中APM-F和APM-S使用消息进行通信。陈述6.本发明概念的实施例包含根据陈述3所述的系统,其中处理器可将PCIe事务发送到SSD,PCIe事务包含使用非易失性存储快速NVMe协议编码命令的事务层包TLP。陈述7.本发明概念的实施例包含根据陈述3所述的系统,其中FPGA进一步包含:加速引擎;以及运行时间调度程序,用以使用加速引擎调度加速指令。陈述8.本发明概念的实施例包含根据陈述3所述的系统,其中SSD包含FPGA。陈述9.本发明概念的实施例包含根据陈述3所述的系统,其中:上游接口包含上游端口;下游接口包含下游端口;FPGA经操作以将在上游端口处从处理器接收到的第一PCIe事务转发到SSD;FPGA包含与下游端口相关联的下游过滤器,所述下游过滤器经操作以拦截从SSD接收到的加速指令且将所述加速指令传送到APM-F,加速指令与下游过滤器地址范围FAR相关联;且FPGA经操作以将并不与下游FAR相关联的第二PCIe事务转发到处理器,所述下游FAR是在下游端口处从SSD接收到的。陈述10.本发明概念的实施例包含根据陈述9所述的系统,其中加速指令由APM-S产生。陈述11.本发明概念的实施例包含根据陈述10所述的系统,其中SSD进一步包含主机接口逻辑HIL以拦截从处理器接收到的专用命令所述专用命令包含加速指令,且将所述专用命令转发到APM-S以触发APM-S来产生加速指令。陈述12.本发明概念的实施例包含根据陈述11所述的系统,其中专用命令来源于在处理器上运行的加速服务管理器ASM。陈述13.本发明概念的实施例包含根据陈述9所述的系统,其中:SSD经操作以从处理器请求主机系统地址的块;以及控制器经操作以选择主机系统地址的块的子集作为下游FAR。陈述14.本发明概念的实施例包含根据陈述13所述的系统,其中控制器经操作以用下游FAR对下游过滤器进行编程。陈述15.本发明概念的实施例包含根据陈述14所述的系统,其中控制器经操作以使用边带总线来用下游FAR对下游过滤器进行编程。陈述16.本发明概念的实施例包含根据陈述15所述的系统,其中边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述17.本发明概念的实施例包含根据陈述14所述的系统,其中控制器经操作以使用PCIe供应商定义消息VDM来用下游FAR对下游过滤器进行编程。陈述18.本发明概念的实施例包含根据陈述9所述的系统,其中:APM-F经操作以经由下游端口和SSD的端点将结果发送到APM-S;以及控制器经操作以经由SSD的端点将结果转发到处理器。陈述19.本发明概念的实施例包含根据陈述9所述的系统,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述20.本发明概念的实施例包含根据陈述9所述的系统,其中:FPGA进一步包含与上游端口相关联的上游过滤器,所述上游过滤器经操作以拦截从处理器接收到的第二加速指令且将所述第二加速指令传送到APM-F,所述第二加速指令与上游FAR相关联;以及FPGA经操作以将并不与上游FAR相关联的第三PCIe事务转发到SSD,所述上游FAR是在上游端口处从处理器接收到的。陈述21.本发明概念的实施例包含根据陈述20所述的系统,其中第二加速指令来源于在处理器上运行的ASM。陈述22.本发明概念的实施例包含根据陈述20所述的系统,其中:SSD经操作以从处理器请求主机系统地址的块;以及控制器经操作以选择主机系统地址的块的第一子集作为下游FAR,且选择主机系统地址的块的第二子集作为上游FAR。陈述23.本发明概念的实施例包含根据陈述22所述的系统,其中主机系统地址的块包含可由在处理器上运行的ASM存取的专用寄存器,所述专用寄存器标识上游FAR。陈述24.本发明概念的实施例包含根据陈述22所述的系统,其中控制器经操作以用下游FAR对下游过滤器进行编程且用上游FAR对上游过滤器进行编程。陈述25.本发明概念的实施例包含根据陈述24所述的系统,其中控制器经操作以使用边带总线来用下游FAR对下游过滤器进行编程且用上游FAR对上游过滤器进行编程。陈述26.本发明概念的实施例包含根据陈述25所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述27.本发明概念的实施例包含根据陈述24所述的系统,其中控制器经操作以使用PCIeVDM来用下游FAR对下游过滤器进行编程且用上游FAR对上游过滤器进行编程。陈述28.本发明概念的实施例包含根据陈述20所述的系统,其中:APM-F经操作以经由下游端口和SSD的端点将结果发送到APM-S;以及控制器经操作以经由SSD的端点将结果转发到处理器。陈述29.本发明概念的实施例包含根据陈述20所述的系统,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述30.本发明概念的实施例包含根据陈述9所述的系统,其中:SSD包含物理功能PF和虚拟功能VF,所述PF经操作以暴露SSD且所述VF经操作以暴露FPGA;FPGA进一步包含与上游端口相关联的上游过滤器,所述上游过滤器经操作以拦截从处理器接收到的第二加速指令且将所述第二加速指令传送到APM-F;以及FPGA经操作以将并不由上游过滤器拦截的第三PCIe事务转发到SSD,所述上游过滤器是在上游端口处从处理器接收到的。陈述31.本发明概念的实施例包含根据陈述30所述的系统,其中第二加速指令来源于在处理器上运行的ASM。陈述32.本发明概念的实施例包含根据陈述30所述的系统,其中:PF经操作以从处理器请求主机系统地址的第一块;控制器经操作以选择主机系统地址的块的第一子集作为下游FAR。陈述33.本发明概念的实施例包含根据陈述32所述的系统,其中控制器经操作以用下游FAR对下游过滤器进行编程。陈述34.本发明概念的实施例包含根据陈述33所述的系统,其中控制器经操作以使用边带总线来用下游FAR对下游过滤器进行编程。陈述35.本发明概念的实施例包含根据陈述34所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述36.本发明概念的实施例包含根据陈述33所述的系统,其中控制器经操作以使用PCIeVDM来用下游FAR对下游过滤器进行编程。陈述37.本发明概念的实施例包含根据陈述30所述的系统,其中:第二加速指令与上游FAR相关联;以及上游过滤器经操作以拦截与上游FAR相关联的第二加速指令。陈述38.本发明概念的实施例包含根据陈述37所述的系统,其中VF经操作以从处理器请求主机系统地址的第二块作为上游FAR。陈述39.本发明概念的实施例包含根据陈述38所述的系统,其中控制器经操作以用上游FAR对上游过滤器进行编程。陈述40.本发明概念的实施例包含根据陈述39所述的系统,其中控制器经操作以使用边带总线来用上游FAR对上游过滤器进行编程。陈述41.本发明概念的实施例包含根据陈述40所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述42.本发明概念的实施例包含根据陈述39所述的系统,其中控制器经操作以使用PCIeVDM来用上游FAR对上游过滤器进行编程。陈述43.本发明概念的实施例包含根据陈述30所述的系统,其中:第二加速指令包含VF的标识符;以及上游过滤器经操作以拦截与VF的标识符相关联的第二加速指令。陈述44.本发明概念的实施例包含根据陈述43所述的系统,其中控制器经操作以用VF的标识符对上游过滤器进行编程。陈述45.本发明概念的实施例包含根据陈述44所述的系统,其中控制器经操作以使用边带总线来用VF的标识符对上游过滤器进行编程。陈述46.本发明概念的实施例包含根据陈述45所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述47.本发明概念的实施例包含根据陈述44所述的系统,其中控制器经操作以使用PCIeVDM来用VF的标识符对上游过滤器进行编程。陈述48.本发明概念的实施例包含根据陈述30所述的系统,其中:APM-F经操作以经由下游端口和SSD的端点将结果发送到APM-S;以及控制器经操作以经由SSD的端点将结果转发到处理器。陈述49.本发明概念的实施例包含根据陈述30所述的系统,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述50.本发明概念的实施例包含根据陈述9所述的系统,其中:SSD包含第一PF和第二PF,所述第一PF经操作以暴露SSD且所述第二PF经操作以暴露FPGA;FPGA进一步包含与上游端口相关联的上游过滤器,所述上游过滤器经操作以拦截从处理器接收到的第二加速指令且将所述第二加速指令传送到APM-F;以及FPGA经操作以将并不由上游过滤器拦截的第三PCIe事务转发到SSD,所述上游过滤器是在上游端口处从处理器接收到的。陈述51.本发明概念的实施例包含根据陈述50所述的系统,其中第二加速指令来源于在处理器上运行的ASM。陈述52.本发明概念的实施例包含根据陈述50所述的系统,其中:第一PF经操作以从处理器请求主机系统地址的第一块;控制器经操作以选择主机系统地址的块的第一子集作为下游FAR。陈述53.本发明概念的实施例包含根据陈述52所述的系统,其中控制器经操作以用下游FAR对下游过滤器进行编程。陈述54.本发明概念的实施例包含根据陈述53所述的系统,其中控制器经操作以使用边带总线来用下游FAR对下游过滤器进行编程。陈述55.本发明概念的实施例包含根据陈述54所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述56.本发明概念的实施例包含根据陈述53所述的系统,其中控制器经操作以使用PCIeVDM来用下游FAR对下游过滤器进行编程。陈述57.本发明概念的实施例包含根据陈述50所述的系统,其中:第二加速指令与上游FAR相关联;以及上游过滤器经操作以拦截与上游FAR相关联的第二加速指令。陈述58.本发明概念的实施例包含根据陈述57所述的系统,其中第二PF经操作以从处理器请求主机系统地址的第二块作为上游FAR。陈述59.本发明概念的实施例包含根据陈述58所述的系统,其中控制器经操作以用上游FAR对上游过滤器进行编程。陈述60.本发明概念的实施例包含根据陈述59所述的系统,其中控制器经操作以使用边带总线来用上游FAR对上游过滤器进行编程。陈述61.本发明概念的实施例包含根据陈述60所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述62.本发明概念的实施例包含根据陈述59所述的系统,其中控制器经操作以使用PCIeVDM来用上游FAR对上游过滤器进行编程。陈述63.本发明概念的实施例包含根据陈述50所述的系统,其中:第二加速指令包含第二PF的标识符;以及上游过滤器经操作以拦截与第二PF的标识符相关联的第二加速指令。陈述64.本发明概念的实施例包含根据陈述63所述的系统,其中控制器经操作以用第二PF的标识符对上游过滤器进行编程。陈述65.本发明概念的实施例包含根据陈述64所述的系统,其中控制器经操作以使用边带总线来用第二PF的标识符对上游过滤器进行编程。陈述66.本发明概念的实施例包含根据陈述65所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述67.本发明概念的实施例包含根据陈述64所述的系统,其中控制器经操作以使用PCIeVDM来用第二PF的标识符对上游过滤器进行编程。陈述68.本发明概念的实施例包含根据陈述50所述的系统,其中:APM-F经操作以经由下游端口和SSD的端点将结果发送到APM-S;以及控制器经操作以经由SSD的端点将结果转发到处理器。陈述69.本发明概念的实施例包含根据陈述50所述的系统,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述70.本发明概念的实施例包含根据陈述3所述的系统,其中:上游接口包含FPGA端点;下游接口包含FPGA根端口,所述FPGA根端口支持配置空间;FPGA包含第一PF、第二PF以及与相FPGA根端口关联的下游过滤器,所述下游过滤器经操作以拦截从SSD接收到的第一加速指令且将第一加速指令传送到APM-F,所述第一加速指令与下游FAR相关联;FPGA经操作以从处理器请求主机系统地址的第一块以供用于第一PF,且经操作以从处理器请求主机系统地址的第二块以供用于第二PF;以及FPGA经操作以将从处理器接收到的第一PCIe事务转发到SSD,且经操作以将从处理器接收到的第二加速指令转发到APM-F,所述第一PCIe事务与第一PF的第一标识符相关联且所述第二加速指令与第二PF的第二标识符相关联。陈述71.本发明概念的实施例包含根据陈述70所述的系统,其中:SSD经操作以从FPGA请求FPGA地址的块,所述FPGA地址的块包含下游FAR;主机系统地址的第二块至少与FPGA地址的块一样大;以及控制器经操作以选择FPGA地址的块的子集作为下游FAR。陈述72.本发明概念的实施例包含根据陈述71所述的系统,其中控制器经操作以用下游FAR对下游过滤器进行编程。陈述73.本发明概念的实施例包含根据陈述72所述的系统,其中控制器经操作以使用边带总线来用下游FAR对下游过滤器进行编程。陈述74.本发明概念的实施例包含根据陈述73所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述75.本发明概念的实施例包含根据陈述72所述的系统,其中控制器经操作以使用PCIeVDM来用下游FAR对下游过滤器进行编程。陈述76.本发明概念的实施例包含根据陈述70所述的系统,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述77.本发明概念的实施例包含根据陈述70所述的系统,其中FPGA进一步包含配置监视器以将SSD的端点的性能复制到FPGA端点。陈述78.本发明概念的实施例包含根据陈述3所述的系统,其中:上游接口包含FPGA端点;下游接口包含第一FPGA根端口和第二FPGA根端口,所述第一FPGA根端口支持第一配置空间,所述第二FPGA根端口支持第二配置空间;SSD的端点与第一FPGA根端口相关联;SSD进一步包含与第二FPGA根端口相关联的SSD的第二端点;FPGA包含第一PF和第二PF;FPGA经操作以从处理器请求主机系统地址的第一块以供用于第一PF,且经操作以从处理器请求主机系统地址的第二块以供用于第二PF;以及FPGA经操作以:经由第一FPGA根端口和SSD的端点将从处理器接收到的第一PCIe事务转发到SSD,所述第一PCIe事务与第一PF的第一标识符相关联;将从处理器接收到的第二加速指令转发到APM-F,所述第二加速指令与第二PF的第二标识符相关联;将在第一FPGA根端口处从SSD接收到的第二PCIe事务转发到处理器;以及将在第二FPGA根端口处从SSD接收到的第一加速指令转发到APM-F。陈述79.本发明概念的实施例包含根据陈述78所述的系统,其中第二加速指令由APM-S产生。陈述80.本发明概念的实施例包含根据陈述78所述的系统,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述81.本发明概念的实施例包含根据陈述78所述的系统,其中FPGA进一步包含配置监视器以将SSD的端点的性能复制到FPGA端点。陈述82.本发明概念的实施例包含根据陈述78所述的系统,其中:上游接口进一步包含第二FPGA端点;以及FPGA进一步经操作以:经由第一FPGA根端口和SSD的端点将在FPGA端点处从处理器接收到的第一PCIe事务转发到SSD;以及将在第二FPGA端点处从处理器接收到的第二加速指令转发到APM-F。陈述83.本发明概念的实施例包含根据陈述82所述的系统,其中第二加速指令由APM-S产生。陈述84.本发明概念的实施例包含根据陈述82所述的系统,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述85.本发明概念的实施例包含根据陈述82所述的系统,其中FPGA进一步包含配置监视器以将SSD的端点的性能复制到第一FPGA端点。陈述86.本发明概念的实施例包含根据陈述3所述的系统,其中:上游接口包含第一FPGA端点和第二FPGA端点;下游接口包含FPGA根端口,所述FPGA根端口支持配置空间;FPGA包含与FPGA根端口相关联的下游过滤器,所述下游过滤器经操作以拦截从SSD接收到的第一加速指令且将所述第一加速指令传送到APM-F,所述第一加速指令与下游FAR相关联;以及FPGA经操作以:经由第一FPGA根端口和SSD的端点将在FPGA端点处从处理器接收到的第一PCIe事务转发到SSD;将在第二FPGA端点处从处理器接收到的第二加速指令转发到APM-F;经由FPGA端点将并不与下游FAR相关联的第二PCIe事务转发到处理器,所述下游FAR是在第一FPGA根端口处从SSD接收到的;以及将在第二FPGA根端口处从SSD接收到的第一加速指令转发到APM-F。陈述87.本发明概念的实施例包含根据陈述86所述的系统,其中第二加速指令由APM-S产生。陈述88.本发明概念的实施例包含根据陈述86所述的系统,其中:SSD经操作以从FPGA请求FPGA地址的块,所述FPGA地址的块包含下游FAR;FPGA经操作以从处理器请求主机系统地址的块以供用于第一FPGA端点,所述主机系统地址的块至少与FPGA地址的块一样大;以及控制器经操作以选择FPGA地址的块的子集作为下游FAR。陈述89.本发明概念的实施例包含根据陈述88所述的系统,其中控制器经操作以用下游FAR对下游过滤器进行编程。陈述90.本发明概念的实施例包含根据陈述89所述的系统,其中控制器经操作以使用边带总线来用下游FAR对下游过滤器进行编程。陈述91.本发明概念的实施例包含根据陈述90所述的系统,其中边带总线来自包含I2C总线和SMBus的集合。陈述92.本发明概念的实施例包含根据陈述89所述的系统,其中控制器经操作以使用PCIeVDM来用下游FAR对下游过滤器进行编程。陈述93.本发明概念的实施例包含根据陈述86所述的系统,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述94.本发明概念的实施例包含根据陈述86所述的系统,其中FPGA进一步包含配置监视器以将SSD的端点的性能复制到第一FPGA端点。陈述95.本发明概念的实施例包含使用硬件实施的加速模块,所述加速模块包括:加速平台管理器APM-F,用以执行加速指令;上游接口,用于与处理器通信,应用程序在所述处理器上运行;以及下游接口,用于与存储装置通信,所述存储装置包含存储装置加速平台管理器APM-S,所述存储装置加速平台管理器用以辅助APM-F执行加速指令,其中加速模块使用外围组件互连快速PCIe总线与处理器和存储装置通信,且其中加速模块支持在不将应用数据加载到与处理器相关联的存储器中的情况下对应用程序的存储装置上的应用数据执行加速指令。陈述96.本发明概念的实施例包含根据陈述95所述的加速模块,其中:使用现场可编程门阵列FPGA来实施所述加速模块。陈述97.本发明概念的实施例包含根据陈述96所述的加速模块,其中APM-F和APM-S使用下游接口进行通信,涉及待与加速指令一起使用的应用数据陈述98.本发明概念的实施例包含根据陈述96所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述99.本发明概念的实施例包含根据陈述96所述的加速模块,其中FPGA进一步包含:加速引擎;以及运行时间调度程序,用以使用加速引擎调度加速指令。陈述100.本发明概念的实施例包含根据陈述96所述的加速模块,其中:上游接口包含上游端口;下游接口包含下游端口;FPGA经操作以将在上游端口处从处理器接收到的第一PCIe事务转发到存储装置;FPGA包含与下游端口相关联的下游过滤器,所述下游过滤器经操作以拦截从存储装置接收到的加速指令且将所述加速指令传送到APM-F,加速指令与下游过滤器地址范围FAR相关联;且FPGA经操作以将并不与下游FAR相关联的第二PCIe事务转发到处理器,所述下游FAR是在下游端口处从存储装置接收到的。陈述101.本发明概念的实施例包含根据陈述100所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置编程。陈述102.本发明概念的实施例包含根据陈述101所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置经由边带总线编程。陈述103.本发明概念的实施例包含根据陈述102所述的加速模块,其中边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述104.本发明概念的实施例包含根据陈述101所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置使用PCIe供应商定义消息VDM编程。陈述105.本发明概念的实施例包含根据陈述100所述的加速模块,其中APM-F经操作以经由下游端口将结果发送到存储装置的APM-S。陈述106.本发明概念的实施例包含根据陈述100所述的加速模块,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述107.本发明概念的实施例包含根据陈述100所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述108.本发明概念的实施例包含根据陈述100所述的加速模块,其中:FPGA进一步包含与上游端口相关联的上游过滤器,所述上游过滤器经操作以拦截从处理器接收到的第二加速指令且将所述第二加速指令传送到APM-F,所述第二加速指令与上游FAR相关联;以及FPGA经操作以将并不与上游FAR相关联的第三PCIe事务转发到存储装置,所述上游FAR是在上游端口处从处理器接收到的。陈述109.本发明概念的实施例包含根据陈述108所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置编程。陈述110.本发明概念的实施例包含根据陈述109所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置使用边带总线编程。陈述111.本发明概念的实施例包含根据陈述110所述的加速模块,其中边带总线来自包含I2C总线和SMBus的集合。陈述112.本发明概念的实施例包含根据陈述109所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置使用PCIeVDM编程。陈述113.本发明概念的实施例包含根据陈述108所述的加速模块,其中APM-F经操作以经由下游端口将结果发送到存储装置的APM-S。陈述114.本发明概念的实施例包含根据陈述108所述的加速模块,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述115.本发明概念的实施例包含根据陈述108所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述116.本发明概念的实施例包含根据陈述108所述的加速模块,其中FPGA经由指配给存储装置的非易失性存储快速NVMe寄存器而间接地暴露于处理器。陈述117.本发明概念的实施例包含根据陈述100所述的加速模块,其中:FPGA由存储装置的虚拟功能VF而暴露;FPGA进一步包含与上游端口相关联的上游过滤器,所述上游过滤器经操作以拦截从处理器接收到的第二加速指令且将所述第二加速指令传送到APM-F;以及FPGA经操作以将并不由上游过滤器拦截的第三PCIe事务转发到存储装置,所述上游过滤器是在上游端口处从处理器接收到的。陈述118.本发明概念的实施例包含根据陈述117所述的加速模块,其中:第二加速指令与上游FAR相关联;以及上游过滤器经操作以拦截与上游FAR相关联的第二加速指令。陈述119.本发明概念的实施例包含根据陈述118所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置编程。陈述120.本发明概念的实施例包含根据陈述119所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置使用边带总线编程。陈述121.本发明概念的实施例包含根据陈述120所述的加速模块,其中边带总线来自包含I2C总线和SMBus的集合。陈述122.本发明概念的实施例包含根据陈述119所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置使用PCIeVDM编程。陈述123.本发明概念的实施例包含根据陈述117所述的加速模块,其中:第二加速指令包含VF的标识符;以及上游过滤器经操作以拦截与VF的标识符相关联的第二加速指令。陈述124.本发明概念的实施例包含根据陈述123所述的加速模块,其中FPGA的上游过滤器可由存储装置用VF的标识符编程。陈述125.本发明概念的实施例包含根据陈述124所述的加速模块,其中FPGA的上游过滤器可由存储装置使用边带总线来用VF的标识符编程。陈述126.本发明概念的实施例包含根据陈述125所述的加速模块,其中边带总线来自包含I2C总线和SMBus的集合。陈述127.本发明概念的实施例包含根据陈述124所述的加速模块,其中FPGA的上游过滤器可由存储装置使用PCIeVDM来用VF的标识符编程。陈述128.本发明概念的实施例包含根据陈述117所述的加速模块,其中APM-F经操作以经由下游端口将结果发送到存储装置的APM-S。陈述129.本发明概念的实施例包含根据陈述117所述的加速模块,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述130.本发明概念的实施例包含根据陈述117所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述131.本发明概念的实施例包含根据陈述100所述的加速模块,其中:FPGA由存储装置的物理功能PF而暴露;FPGA进一步包含与上游端口相关联的上游过滤器,所述上游过滤器经操作以拦截从处理器接收到的第二加速指令且将所述第二加速指令传送到APM-F;以及FPGA经操作以将并不由上游过滤器拦截的第三PCIe事务转发到存储装置,所述上游过滤器是在上游端口处从处理器接收到的。陈述132.本发明概念的实施例包含根据陈述131所述的加速模块,其中:第二加速指令与上游FAR相关联;以及上游过滤器经操作以拦截与上游FAR相关联的第二加速指令。陈述133.本发明概念的实施例包含根据陈述132所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置编程。陈述134.本发明概念的实施例包含根据陈述133所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置使用边带总线编程。陈述135.本发明概念的实施例包含根据陈述134所述的加速模块,其中边带总线来自包含I2C总线和SMBus的集合。陈述136.本发明概念的实施例包含根据陈述133所述的加速模块,其中FPGA的上游过滤器中的上游FAR可由存储装置使用PCIeVDM编程。陈述137.本发明概念的实施例包含根据陈述131所述的加速模块,其中:第二加速指令包含PF的标识符;以及上游过滤器经操作以拦截与PF的标识符相关联的第二加速指令。陈述138.本发明概念的实施例包含根据陈述137所述的加速模块,其中FPGA的上游过滤器可由存储装置用PF的标识符编程。陈述139.本发明概念的实施例包含根据陈述138所述的加速模块,其中FPGA的上游过滤器可由存储装置使用边带总线来用PF的标识符编程。陈述140.本发明概念的实施例包含根据陈述139所述的加速模块,其中边带总线来自包含I2C总线和SMBus的集合。陈述141.本发明概念的实施例包含根据陈述138所述的加速模块,其中FPGA的上游过滤器可由存储装置使用PCIeVDM来用PF的标识符编程。陈述142.本发明概念的实施例包含根据陈述131所述的加速模块,其中APM-F经操作以经由下游端口将结果发送到存储装置的APM-S。陈述143.本发明概念的实施例包含根据陈述131所述的加速模块,其中APM-F经操作以经由上游端口将结果发送到处理器。陈述144.本发明概念的实施例包含根据陈述131所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述145.本发明概念的实施例包含根据陈述96所述的加速模块,其中:上游接口包含FPGA端点;下游接口包含FPGA根端口,所述FPGA根端口支持配置空间;FPGA包含第一PF、第二PF以及与相FPGA根端口关联的下游过滤器,所述下游过滤器经操作以拦截从存储装置接收到的第一加速指令且将第一加速指令传送到APM-F,所述第一加速指令与下游FAR相关联;FPGA经操作以从处理器请求主机系统地址的第一块以供用于第一PF,且经操作以从处理器请求主机系统地址的第二块以供用于第二PF;以及FPGA经操作以将从处理器接收到的PCIe事务转发到存储装置,且经操作以将从处理器接收到的第二加速指令转发到APM-F,所述PCIe事务与第一PF的第一标识符相关联,所述第二加速指令与第二PF的第二标识符相关联。陈述146.本发明概念的实施例包含根据陈述145所述的加速模块,其中:FPGA经操作以从存储装置接收请求以供用于来自FPGA的FPGA地址的块,所述FPGA地址的块包含下游FAR;FPGA经操作以从配置空间分配FPGA地址的块;以及主机系统地址的第一块至少与FPGA地址的块一样大。陈述147.本发明概念的实施例包含根据陈述146所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置编程。陈述148.本发明概念的实施例包含根据陈述147所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置使用边带总线编程。陈述149.本发明概念的实施例包含根据陈述148所述的加速模块,其中边带总线来自包含I2C总线和SMBus的集合。陈述150.本发明概念的实施例包含根据陈述147所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置使用PCIeVDM编程。陈述151.本发明概念的实施例包含根据陈述145所述的加速模块,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述152.本发明概念的实施例包含根据陈述145所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述153.本发明概念的实施例包含根据陈述145所述的加速模块,其中FPGA进一步包含配置监视器以将存储装置的端点的性能复制到FPGA端点。陈述154.本发明概念的实施例包含根据陈述96所述的加速模块,其中:上游接口包含FPGA端点;下游接口包含第一FPGA根端口和第二FPGA根端口,所述第一FPGA根端口支持第一配置空间,所述第二FPGA根端口支持第二配置空间;FPGA包含第一PF和第二PF;FPGA经操作以从处理器请求主机系统地址的第一块以供用于第一PF,且经操作以从处理器请求主机系统地址的第二块以供用于第二PF;以及FPGA经操作以:将从处理器接收到的第一PCIe事务经由第一FPGA根端口转发到存储装置,所述第一PCIe事务与第一PF的第一标识符相关联;将从处理器接收到的第二加速指令转发到APM-F,所述第二加速指令与第二PF的第二标识符相关联;将在第一FPGA根端口处从存储装置接收到的第二PCIe事务转发到处理器;以及将在第二FPGA根端口处从存储装置接收到的第一加速指令转发到APM-F。陈述155.本发明概念的实施例包含根据陈述154所述的加速模块,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述156.本发明概念的实施例包含根据陈述154所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述157.本发明概念的实施例包含根据陈述154所述的加速模块,其中FPGA进一步包含配置监视器以将存储装置的端点的性能复制到FPGA端点。陈述158.本发明概念的实施例包含根据陈述154所述的加速模块,其中:上游接口进一步包含第二FPGA端点;以及FPGA进一步经操作以:经由第一FPGA根端口将在FPGA端点处从处理器接收到的第一PCIe事务转发到存储装置;以及将在第二FPGA端点处从处理器接收到的第二加速指令转发到APM-F。陈述159.本发明概念的实施例包含根据陈述158所述的加速模块,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述160.本发明概念的实施例包含根据陈述158所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述161.本发明概念的实施例包含根据陈述158所述的加速模块,其中FPGA进一步包含配置监视器以将存储装置的端点的性能复制到第一FPGA端点。陈述162.本发明概念的实施例包含根据陈述96所述的加速模块,其中:上游接口包含第一FPGA端点和第二FPGA端点;下游接口包含FPGA根端口,所述FPGA根端口支持配置空间;FPGA包含与FPGA根端口相关联的下游过滤器,所述下游过滤器经操作以拦截从存储装置接收到的第一加速指令且将所述第一加速指令传送到APM-F,所述第一加速指令与下游FAR相关联;以及FPGA经操作以:经由第一FPGA根端口和存储装置的端点将在FPGA端点处从处理器接收到的第一PCIe事务转发到存储装置;将在第二FPGA端点处从处理器接收到的第二加速指令转发到APM-F;经由FPGA端点将并不与下游FAR相关联的第二PCIe事务转发到处理器,所述下游FAR是在第一FPGA根端口处从存储装置接收到的;以及将在第二FPGA根端口处从存储装置接收到的第一加速指令转发到APM-F。陈述163.本发明概念的实施例包含根据陈述162所述的加速模块,其中:FPGA经操作以从存储装置接收请求以供用于来自FPGA的FPGA地址的块,所述FPGA地址的块包含下游FAR;FPGA经操作以从配置空间分配FPGA地址的块;以及FPGA经操作以从处理器请求主机系统地址的块以供用于第一FPGA端点,所述主机系统地址的块至少与FPGA地址的块一样大;以及陈述164.本发明概念的实施例包含根据陈述163所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置编程。陈述165.本发明概念的实施例包含根据陈述164所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置使用边带总线编程。陈述166.本发明概念的实施例包含根据陈述165所述的加速模块,其中边带总线来自包含I2C总线和SMBus的集合。陈述167.本发明概念的实施例包含根据陈述164所述的加速模块,其中FPGA的下游过滤器中的下游FAR可由存储装置使用PCIeVDM编程。陈述168.本发明概念的实施例包含根据陈述162所述的加速模块,其中APM-F经操作以经由FPGA端点将结果发送到处理器。陈述169.本发明概念的实施例包含根据陈述162所述的加速模块,其中APM-F和APM-S使用消息进行通信。陈述170.本发明概念的实施例包含根据陈述162所述的加速模块,其中FPGA进一步包含配置监视器以将存储装置的端点的性能复制到第一FPGA端点。陈述171.本发明概念的实施例包含使用硬件实施的第一桥接组件,所述第一桥接组件包括:上游接口,用于与处理器通信,应用程序在所述处理器上运行;以及下游接口,用于与加速模块和存储装置通信,其中第一桥接组件使用外围组件互连快速PCIe总线与处理器、加速模块以及存储装置通信,且下游接口经操作以取决于PCIe事务是否包含加速指令而将PCIe事务从处理器传送到加速模块或存储装置。陈述172.本发明概念的实施例包含根据陈述171所述的第一桥接组件,其中:使用现场可编程门阵列FPGA来实施所述加速模块;以及存储装置包含固态驱动器SSD。陈述173.本发明概念的实施例包含根据陈述171所述的第一桥接组件,进一步包括第二桥接组件,所述第二桥接组件包含:第二上游接口,用于与处理器和加速模块通信;以及第二下游接口,用于与存储装置通信,其中第二桥接组件使用外围组件互连快速PCIe总线与处理器、加速模块以及存储装置通信,且第二上游接口经操作以取决于第二PCIe事务是否包含第二加速指令而将第二PCIe事务从存储装置传送到处理器或加速模块。陈述174.本发明概念的实施例包含根据陈述171所述的第一桥接组件,其中:上游接口包含:上游端口;以及与上游端口相关联的上游过滤器,所述上游过滤器经操作以标识与上游FAR相关联的第二加速指令,所述上游FAR是从处理器接收到的;以及下游接口经操作以将第二加速指令转发到加速模块,且经操作以将并不与上游FAR相关联的第三PCIe事务转发到存储装置,所述上游FAR是在上游端口处从处理器接收到的。陈述175.本发明概念的实施例包含根据陈述174所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置编程。陈述176.本发明概念的实施例包含根据陈述175所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置使用边带总线编程。陈述177.本发明概念的实施例包含根据陈述176所述的第一桥接组件,其中边带总线来自包含I2C总线和SMBus的集合。陈述178.本发明概念的实施例包含根据陈述175所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置使用PCIe供应商定义消息VDM编程。陈述179.本发明概念的实施例包含根据陈述174所述的第一桥接组件,其中FPGA经由指配给存储装置的非易失性存储快速NVMe寄存器间接地暴露于处理器。陈述180.本发明概念的实施例包含根据陈述171所述的第一桥接组件,其中:上游接口由存储装置的虚拟功能VF而暴露;上游接口包含:上游端口;以及上游过滤器与上游端口相关联,所述上游过滤器经操作以向加速模块标识第二加速指令;以及下游接口经操作以将第二加速指令转发到加速模块,且经操作以将并不由上游过滤器拦截的第三PCIe事务转发到存储装置,所述上游过滤器是在上游端口处从处理器接收到的。陈述181.本发明概念的实施例包含根据陈述180所述的第一桥接组件,其中:第二加速指令与上游FAR相关联;以及上游过滤器经操作以标识与上游FAR相关联的第二加速指令。陈述182.本发明概念的实施例包含根据陈述181所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置编程。陈述183.本发明概念的实施例包含根据陈述182所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置使用边带总线编程。陈述184.本发明概念的实施例包含根据陈述183所述的第一桥接组件,其中边带总线来自包含I2C总线和SMBus的集合。陈述185.本发明概念的实施例包含根据陈述182所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置使用PCIeVDM编程。陈述186.本发明概念的实施例包含根据陈述180所述的第一桥接组件,其中:第二加速指令包含VF的标识符;以及上游过滤器经操作以标识与VF的标识符相关联的第二加速指令。陈述187.本发明概念的实施例包含根据陈述186所述的第一桥接组件,其中第一桥接组件的上游过滤器可由存储装置用VF的标识符编程。陈述188.本发明概念的实施例包含根据陈述187所述的第一桥接组件,其中第一桥接组件的上游过滤器可由存储装置使用边带总线来用VF的标识符编程。陈述189.本发明概念的实施例包含根据陈述188所述的第一桥接组件,其中边带总线来自包含I2C总线和SMBus的集合。陈述190.本发明概念的实施例包含根据陈述187所述的第一桥接组件,其中第一桥接组件的上游过滤器可由存储装置使用PCIeVDM来用VF的标识符编程。陈述191.本发明概念的实施例包含根据陈述171所述的第一桥接组件,其中:上游接口由存储装置的物理功能PF而暴露;上游接口包含:上游端口;以及上游过滤器与上游端口相关联,所述上游过滤器经操作以向加速模块标识第二加速指令;以及下游接口经操作以将第二加速指令转发到加速模块,且经操作以将并不由上游过滤器拦截的第三PCIe事务转发到存储装置,所述上游过滤器是在上游端口处从处理器接收到的。陈述192.本发明概念的实施例包含根据陈述191所述的第一桥接组件,其中:第二加速指令与上游FAR相关联;以及上游过滤器经操作以标识与上游FAR相关联的第二加速指令。陈述193.本发明概念的实施例包含根据陈述192所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置编程。陈述194.本发明概念的实施例包含根据陈述193所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置使用边带总线编程。陈述195.本发明概念的实施例包含根据陈述194所述的第一桥接组件,其中边带总线来自包含I2C总线和SMBus的集合。陈述196.本发明概念的实施例包含根据陈述193所述的第一桥接组件,其中第一桥接组件的上游过滤器中的上游FAR可由存储装置使用PCIeVDM编程。陈述197.本发明概念的实施例包含根据陈述191所述的第一桥接组件,其中:第二加速指令包含PF的标识符;以及上游过滤器经操作以标识与PF的标识符相关联的第二加速指令。陈述198.本发明概念的实施例包含根据陈述197所述的第一桥接组件,其中第一桥接组件的上游过滤器可由存储装置用PF的标识符编程。陈述199.本发明概念的实施例包含根据陈述198所述的第一桥接组件,其中第一桥接组件的上游过滤器可由存储装置使用边带总线来用PF的标识符编程。陈述200.本发明概念的实施例包含根据陈述199所述的第一桥接组件,其中边带总线来自包含I2C总线和SMBus的集合。陈述201.本发明概念的实施例包含根据陈述198所述的第一桥接组件,其中第一桥接组件的上游过滤器可由存储装置使用PCIeVDM来用PF的标识符编程。陈述202.本发明概念的实施例包含根据陈述171所述的第一桥接组件,其中:上游接口包含:端点;第一PF;以及第二PF;以及下游接口经操作以将从处理器接收到的PCIe事务转发到存储装置,且经操作以将从处理器接收到的第二加速指令转发到加速模块,所述PCIe事务与第一PF的第一标识符相关联,所述第二加速指令与第二PF的第二标识符相关联。陈述203.本发明概念的实施例包含根据陈述202所述的第一桥接组件,其中第一桥接组件进一步包含配置监视器以将存储装置的端点的性能复制到所述端点。陈述204.本发明概念的实施例包含根据陈述171所述的第一桥接组件,其中:上游接口包含:第一端点;以及第二端点;以及下游接口经操作以将从处理器接收到的与第一端点相关联的PCIe事务转发到存储装置,且经操作以将从处理器接收到的第二加速指令转发到加速模块,所述第二加速指令与第二端点相关联。陈述205.本发明概念的实施例包含根据陈述204所述的第一桥接组件,其中第一桥接组件进一步包含配置监视器以将存储装置的端点的性能复制到第一端点。陈述206.本发明概念的实施例包含使用硬件实施的第二桥接组件,所述第二桥接组件包括:上游接口,用于与处理器和加速模块通信;以及下游接口,用于与存储装置通信;其中第一桥接组件使用外围组件互连快速PCIe总线与处理器、加速模块以及存储装置通信,且上游接口经操作以取决于PCIe事务是否包含加速指令而将PCIe事务从存储装置传送到处理器或加速模块。陈述207.本发明概念的实施例包含根据陈述206所述的第二桥接组件,其中:使用现场可编程门阵列FPGA来实施所述加速模块;以及存储装置包含固态驱动器SSD。陈述208.本发明概念的实施例包含根据陈述206所述的第二桥接组件,其中:下游接口包含:下游端口;以及与下游端口相关联的下游过滤器,所述下游过滤器经操作以标识与从存储装置接收到的下游过滤器地址范围FAR相关联的加速指令;下游接口经操作以将加速指令转发到加速模块,且经操作以将并不与下游FAR相关联的第二PCIe事务转发到处理器,所述下游FAR是在下游端口处从存储装置接收到的。陈述209.本发明概念的实施例包含根据陈述208所述的第二桥接组件,其中第二桥接组件的下游过滤器中的下游FAR可由存储装置编程。陈述210.本发明概念的实施例包含根据陈述209所述的第二桥接组件,其中第二桥接组件的下游过滤器中的下游FAR可由存储装置经由边带总线编程。陈述211.本发明概念的实施例包含根据陈述210所述的第二桥接组件,其中边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述212.本发明概念的实施例包含根据陈述209所述的第二桥接组件,其中第二桥接组件的下游过滤器中的下游FAR可由存储装置使用PCIe供应商定义消息VDM编程。陈述213.本发明概念的实施例包含根据陈述206所述的第二桥接组件,其中:下游接口包含:根端口;以及与根端口相关联的下游过滤器,所述下游过滤器经操作以标识与从存储装置接收到的下游过滤器地址范围FAR相关联的加速指令;下游接口经操作以将加速指令转发到加速模块,且经操作以将并不与下游FAR相关联的第二PCIe事务转发到处理器,所述下游FAR是在下游端口处从存储装置接收到的。陈述214.本发明概念的实施例包含根据陈述213所述的第二桥接组件,其中第二桥接组件的下游过滤器中的下游FAR可由存储装置编程。陈述215.本发明概念的实施例包含根据陈述214所述的第二桥接组件,其中第二桥接组件的下游过滤器中的下游FAR可由存储装置使用边带总线编程。陈述216.本发明概念的实施例包含根据陈述215所述的第二桥接组件,其中边带总线来自包含I2C总线和SMBus的集合。陈述217.本发明概念的实施例包含根据陈述214所述的第二桥接组件,其中第二桥接组件的下游过滤器中的下游FAR可由存储装置使用PCIeVDM编程。陈述218.本发明概念的实施例包含根据陈述206所述的第二桥接组件,其中:下游接口包含:第一根端口;以及第二根端口,其中下游接口经操作以将在第一根端口处从存储装置接收到的第二PCIe事务转发到处理器,且经操作以将在第二根端口处从存储装置接收到的加速指令转发到加速模块。陈述219.本发明概念的实施例包含一种存储装置,所述存储装置包括:存储装置的端点,用于与加速模块通信,所述加速模块包含加速平台管理器APM-F;控制器,用以管理存储装置的操作;存储,用以存储应用程序的应用数据;以及存储装置加速平台管理器APM-S,用以辅助APM-F执行加速指令,其中存储装置和加速模块使用外围组件互连快速PCIe总线通信,且其中加速模块支持在不将应用数据加载到与处理器相关联的存储器中的情况下对应用程序的存储装置上的应用数据执行加速指令。陈述220.本发明概念的实施例包含根据陈述219所述的存储装置,其中存储装置包含固态驱动器SSD。陈述221.本发明概念的实施例包含根据陈述220所述的存储装置,其中APM-F和APM-S使用SSD的端点通信,涉及待与加速指令一起使用的应用数据。陈述222.本发明概念的实施例包含根据陈述220所述的存储装置,其中APM-F和APM-S使用消息进行通信。陈述223.本发明概念的实施例包含根据陈述220所述的存储装置,其中存储装置可将从处理器接收到的PCIe事务发送到SSD,所述PCI事务包含使用非易失性存储快速NVMe协议编码命令的事务层包TLP。陈述224.本发明概念的实施例包含根据陈述220所述的存储装置,其中SSD包含加速模块。陈述225.本发明概念的实施例包含根据陈述220所述的存储装置,其中:SSD经操作以将与下游过滤器地址范围FAR相关联的加速指令发送到加速模块,所述第一PCIe事务意欲用于APM-F;以及SSD经操作以将并不与下游FAR相关联的第一PCIe事务发送到加速模块,所述第一PCIe事务意欲用于处理器。陈述226.本发明概念的实施例包含根据陈述225所述的存储装置,其中加速指令由APM-S产生。陈述227.本发明概念的实施例包含根据陈述226所述的存储装置,其中SSD进一步包含主机接口逻辑HIL以拦截专用命令所述专用命令包含加速指令,且将所述专用命令转发到APM-S以触发APM-S来产生加速指令。陈述228.本发明概念的实施例包含根据陈述227所述的存储装置,其中专用命令来源于在处理器上运行的加速服务管理器ASM。陈述229.本发明概念的实施例包含根据陈述225所述的存储装置,其中:SSD经操作以从处理器请求主机系统地址的块;以及控制器经操作以选择主机系统地址的块的子集作为下游FAR。陈述230.本发明概念的实施例包含根据陈述229所述的存储装置,其中控制器经操作以用下游FAR对加速模块的下游过滤器进行编程。陈述231.本发明概念的实施例包含根据陈述230所述的存储装置,其中控制器经操作以使用边带总线来用下游FAR对加速模块的下游过滤器进行编程。陈述232.本发明概念的实施例包含根据陈述231所述的存储装置,其中边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述233.本发明概念的实施例包含根据陈述230所述的存储装置,其中控制器经操作以使用PCIe供应商定义消息VDM来用下游FAR对加速模块的下游过滤器进行编程。陈述234.本发明概念的实施例包含根据陈述229所述的存储装置,其中控制器进一步经操作以选择主机系统地址的块的第二子集作为上游FAR。陈述235.本发明概念的实施例包含根据陈述234所述的存储装置,其中控制器经操作以存储关于可由在处理器上运行的ASM存取的在专用寄存器中的上游FAR的信息。陈述236.本发明概念的实施例包含根据陈述235所述的存储装置,其中专用寄存器在主机系统地址的块内。陈述237.本发明概念的实施例包含根据陈述229所述的存储装置,其中控制器经操作以用上游FAR对加速模块的上游过滤器进行编程。陈述238.本发明概念的实施例包含根据陈述237所述的存储装置,其中控制器经操作以使用边带总线来用上游FAR对加速模块的上游过滤器进行编程。陈述239.本发明概念的实施例包含根据陈述238所述的存储装置,其中边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述240.本发明概念的实施例包含根据陈述237所述的存储装置,其中控制器经操作以使用PCIe供应商定义消息VDM来用上游FAR对加速模块的上游过滤器进行编程。陈述241.本发明概念的实施例包含根据陈述225所述的存储装置,其中SSD经操作以经由SSD的端点从APM-F接收结果,且经操作以将所述结果经由SSD的端点转发到处理器。陈述242.本发明概念的实施例包含根据陈述225所述的存储装置,其中SSD包含物理功能PF和虚拟功能VF,所述PF经操作以暴露SSD且所述VF经操作以暴露加速模块。陈述243.本发明概念的实施例包含根据陈述242所述的存储装置,其中:PF经操作以从处理器请求主机系统地址的第一块;控制器经操作以选择主机系统地址的块的第一子集作为下游FAR。陈述244.本发明概念的实施例包含根据陈述243所述的存储装置,其中控制器经操作以用下游FAR对加速模块的下游过滤器进行编程。陈述245.本发明概念的实施例包含根据陈述244所述的存储装置,其中控制器经操作以使用边带总线来用下游FAR对加速模块的下游过滤器进行编程。陈述246.本发明概念的实施例包含根据陈述245所述的存储装置,其中边带总线来自包含I2C总线和SMBus的集合。陈述247.本发明概念的实施例包含根据陈述244所述的存储装置,其中控制器经操作以使用PCIeVDM来用下游FAR对加速模块的下游过滤器进行编程。陈述248.本发明概念的实施例包含根据陈述242所述的存储装置,其中VF经操作以从处理器请求主机系统地址的第二块作为上游FAR。陈述249.本发明概念的实施例包含根据陈述248所述的存储装置,其中控制器经操作以用上游FAR对加速模块的上游过滤器进行编程。陈述250.本发明概念的实施例包含根据陈述249所述的存储装置,其中控制器经操作以使用边带总线来用上游FAR对加速模块的上游过滤器进行编程。陈述251.本发明概念的实施例包含根据陈述250所述的存储装置,其中边带总线来自包含I2C总线和SMBus的集合。陈述252.本发明概念的实施例包含根据陈述249所述的存储装置,其中控制器经操作以使用PCIeVDM来用上游FAR对加速模块的上游过滤器进行编程。陈述253.本发明概念的实施例包含根据陈述242所述的存储装置,其中控制器经操作以用VF的标识符对加速模块的上游过滤器进行编程。陈述254.本发明概念的实施例包含根据陈述253所述的存储装置,其中控制器经操作以使用边带总线来用VF的标识符对加速模块的上游过滤器进行编程。陈述255.本发明概念的实施例包含根据陈述254所述的存储装置,其中边带总线来自包含I2C总线和SMBus的集合。陈述256.本发明概念的实施例包含根据陈述253所述的存储装置,其中控制器经操作以使用PCIeVDM来用VF的标识符对加速模块的上游过滤器进行编程。陈述257.本发明概念的实施例包含根据陈述242所述的存储装置,其中控制器经操作以经由SSD的端点从APM-F接收结果,且经操作以将所述结果经由SSD的端点转发到处理器。陈述258.本发明概念的实施例包含根据陈述225所述的存储装置,其中SSD包含第一PF和第二PF,所述第一PF经操作以暴露SSD且所述第二PF经操作以暴露加速模块。陈述259.本发明概念的实施例包含根据陈述258所述的存储装置,其中:第一PF经操作以从处理器请求主机系统地址的第一块;控制器经操作以选择主机系统地址的块的第一子集作为下游FAR。陈述260.本发明概念的实施例包含根据陈述259所述的存储装置,其中控制器经操作以用下游FAR对加速模块的下游过滤器进行编程。陈述261.本发明概念的实施例包含根据陈述260所述的存储装置,其中控制器经操作以使用边带总线来用下游FAR对加速模块的下游过滤器进行编程。陈述262.本发明概念的实施例包含根据陈述261所述的存储装置,其中边带总线来自包含I2C总线和SMBus的集合。陈述263.本发明概念的实施例包含根据陈述260所述的存储装置,其中控制器经操作以使用PCIeVDM来用下游FAR对加速模块的下游过滤器进行编程。陈述264.本发明概念的实施例包含根据陈述258所述的存储装置,其中第二PF经操作以从处理器请求主机系统地址的第二块作为上游FAR。陈述265.本发明概念的实施例包含根据陈述264所述的存储装置,其中控制器经操作以用上游FAR对加速模块的上游过滤器进行编程。陈述266.本发明概念的实施例包含根据陈述265所述的存储装置,其中控制器经操作以使用边带总线来用上游FAR对加速模块的上游过滤器进行编程。陈述267.本发明概念的实施例包含根据陈述266所述的存储装置,其中边带总线来自包含I2C总线和SMBus的集合。陈述268.本发明概念的实施例包含根据陈述265所述的存储装置,其中控制器经操作以使用PCIeVDM来用上游FAR对加速模块的上游过滤器进行编程。陈述269.本发明概念的实施例包含根据陈述258所述的存储装置,其中控制器经操作以用第二PF的标识符对加速模块的上游过滤器进行编程。陈述270.本发明概念的实施例包含根据陈述269所述的存储装置,其中控制器经操作以使用边带总线来用第二PF的标识符对加速模块的上游过滤器进行编程。陈述271.本发明概念的实施例包含根据陈述270所述的存储装置,其中边带总线来自包含I2C总线和SMBus的集合。陈述272.本发明概念的实施例包含根据陈述269所述的存储装置,其中控制器经操作以使用PCIeVDM来用第二PF的标识符对加速模块的上游过滤器进行编程。陈述273.本发明概念的实施例包含根据陈述258所述的存储装置,其中控制器经操作以经由SSD的端点从APM-F接收结果,且经操作以将所述结果经由SSD的端点转发到处理器。陈述274.本发明概念的实施例包含根据陈述225所述的存储装置,其中:SSD经操作以从加速模块请求加速模块地址的块;以及控制器经操作以选择加速模块地址的块的子集作为下游FAR。陈述275.本发明概念的实施例包含根据陈述274所述的存储装置,其中控制器经操作以用下游FAR对加速模块的下游过滤器进行编程。陈述276.本发明概念的实施例包含根据陈述275所述的存储装置,其中控制器经操作以使用边带总线来用下游FAR对加速模块的下游过滤器进行编程。陈述277.本发明概念的实施例包含根据陈述276所述的存储装置,其中边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述278.本发明概念的实施例包含根据陈述275所述的存储装置,其中控制器经操作以使用PCIe供应商定义消息VDM来用下游FAR对加速模块的下游过滤器进行编程。陈述279.本发明概念的实施例包含根据陈述220所述的存储装置,所述存储装置进一步包括用于与加速模块通信的SSD的第二端点,其中SSD的端点用于与处理器交换通信且SSD的第二端点用于与APM-F交换通信。陈述280.本发明概念的实施例包含一种方法,所述方法包括:在加速处模块从第一装置接收外围组件互连快速PCIe事务;在加速模块处确定PCIe事务是否为加速指令;至少部分地基于确定PCIe事务为加速指令,在加速模块的加速平台管理器APM-F处处理PCIe事务;以及至少部分地基于确定PCIe事务不是加速指令,将PCIe事务传送到第二装置,其中加速模块支持在不将应用数据加载到与处理器相关联的存储器中的情况下对应用程序的存储装置上的应用数据执行加速指令,且其中处理器、加速模块以及存储装置使用PCIe总线通信。陈述281.本发明概念的实施例包含根据陈述280所述的方法,其中使用现场可编程门阵列来实施加速模块。陈述282.本发明概念的实施例包含根据陈述281所述的方法,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA的下游端口处从存储装置接收第二PCIe事务;在加速模块处确定PCIe事务是否为加速指令包含在FPGA处确定第二PCIe事务是否与下游过滤器地址范围FAR中的地址相关联,所述下游过滤器地址范围与FPGA的下游端口相关联;以及将PCIe事务传送到第二装置包含使用FPGA的上游端口来将第二PCIe事务传送到处理器。陈述283.本发明概念的实施例包含根据陈述282所述的方法,所述方法进一步包括:在FPGA的上游端口处从处理器接收第一PCIe事务;以及使用FPGA的下游处理器来将第一PCIe事务传送到存储装置。陈述284.本发明概念的实施例包含根据陈述282所述的方法,所述方法进一步包括:在FPGA处从存储装置接收下游FAR;以及使下游FAR与FPGA的下游端口相关联。陈述285.本发明概念的实施例包含根据陈述284所述的方法,其中在FPGA处从存储装置接收下游FAR包含经由边带总线在FPGA处从存储装置接收下游FAR,所述边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述286.本发明概念的实施例包含根据陈述284所述的方法,其中在FPGA处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述287.本发明概念的实施例包含根据陈述282所述的方法,所述方法进一步包括使用FPGA的下游端口来将第二PCIe事务的结果发送到存储装置。陈述288.本发明概念的实施例包含根据陈述282所述的方法,所述方法进一步包括使用FPGA的上游端口来将第二PCIe事务的结果发送到处理器。陈述289.本发明概念的实施例包含根据陈述282所述的方法,所述方法进一步包括:在FPGA的上游端口处从处理器接收第一PCIe事务;通过确定第一PCIe事务是否与上游FAR中的第二地址相关联来确定第一PCIe事务是否为第二加速指令,所述上游FAR与FPGA的上游端口相关联;以及至少部分地基于确定第一PCIe事务为第二加速指令,在FPGA的APM-F处处理第一PCIe事务;以及至少部分地基于确定第一PCIe事务不是第二加速指令,使用FPGA的下游端口来将第一PCIe事务传送到存储装置。陈述290.本发明概念的实施例包含根据陈述289所述的方法,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述291.本发明概念的实施例包含根据陈述289所述的方法,所述方法进一步包括:在FPGA处从存储装置接收上游FAR;以及使上游FAR与FPGA的上游端口相关联。陈述292.本发明概念的实施例包含根据陈述291所述的方法,其中在FPGA处从存储装置接收上游FAR包含经由边带总线在FPGA处从存储装置接收上游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述293.本发明概念的实施例包含根据陈述291所述的方法,其中在FPGA处从存储装置接收上游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含上游FAR。陈述294.本发明概念的实施例包含根据陈述289所述的方法,所述方法进一步包括使用FPGA的上游端口来将第一PCIe事务的结果发送到存储装置。陈述295.本发明概念的实施例包含根据陈述289所述的方法,所述方法进一步包括使用FPGA的上游端口来将第一PCIe事务的结果发送到处理器。陈述296.本发明概念的实施例包含根据陈述282所述的方法,所述方法进一步包括:在FPGA的上游端口处从处理器接收第一PCIe事务;通过确定第一PCIe事务是否与由存储装置暴露的虚拟功能VF相关联来确定第一PCIe事务是否为第二加速指令;以及至少部分地基于确定第一PCIe事务为第二加速指令,在FPGA的APM-F处处理第一PCIe事务;以及至少部分地基于确定第一PCIe事务不是第二加速指令,使用FPGA的下游端口来将第一PCIe事务传送到存储装置。陈述297.本发明概念的实施例包含根据陈述296所述的方法,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述298.本发明概念的实施例包含根据陈述296所述的方法,其中确定第一PCIe事务是否为第二加速指令包含确定第一PCIe事务是否包含具有VF的标识符的标签。陈述299.本发明概念的实施例包含根据陈述298所述的方法,所述方法进一步包括:在FPGA处从存储装置接收VF的标识符;以及使VF的标识符与FPGA的上游端口相关联。陈述300.本发明概念的实施例包含根据陈述299所述的方法,其中在FPGA处从存储装置接收VF的标识符包含经由边带总线在FPGA处从存储装置接收VF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述301.本发明概念的实施例包含根据陈述299所述的方法,其中在FPGA处从存储装置接收VF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含VF的标识符。陈述302.本发明概念的实施例包含根据陈述296所述的方法,所述方法进一步包括使用FPGA的上游端口来将第一PCIe事务的结果发送到处理器。陈述303.本发明概念的实施例包含根据陈述282所述的方法,所述方法进一步包括:在FPGA的上游端口处从处理器接收第一PCIe事务;通过确定第一PCIe事务是否与由存储装置暴露的物理功能PF相关联来确定第一PCIe事务是否为第二加速指令;以及至少部分地基于确定第一PCIe事务为第二加速指令,在FPGA的APM-F处处理第一PCIe事务;以及至少部分地基于确定第一PCIe事务不是第二加速指令,使用FPGA的下游端口来将第一PCIe事务传送到存储装置。陈述304.本发明概念的实施例包含根据陈述303所述的方法,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述305.本发明概念的实施例包含根据陈述303所述的方法,其中确定第一PCIe事务是否为第二加速指令包含确定第一PCIe事务是否包含具有PF的标识符的标签。陈述306.本发明概念的实施例包含根据陈述305所述的方法,所述方法进一步包括:在FPGA处从存储装置接收PF的标识符;以及使PF的标识符与FPGA的上游端口相关联。陈述307.本发明概念的实施例包含根据陈述306所述的方法,其中在FPGA处从存储装置接收PF的标识符包含经由边带总线在FPGA处从存储装置接收PF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述308.本发明概念的实施例包含根据陈述306所述的方法,其中在FPGA处从存储装置接收PF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含PF的标识符。陈述309.本发明概念的实施例包含根据陈述303所述的方法,所述方法进一步包括使用FPGA的下游端口来将第一PCIe事务的结果发送到存储装置。陈述310.本发明概念的实施例包含根据陈述303所述的方法,所述方法进一步包括使用FPGA的上游端口来将第一PCIe事务的结果发送到处理器。陈述311.本发明概念的实施例包含根据陈述281所述的方法,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA的端点处从处理器接收第一PCIe事务;在加速模块处确定PCIe事务是否为加速指令包含确定第一PCIe事务是否包含具有FPGA的第一PF的第一标识符或FPGA的第二PF的第二标识符的标签;以及将PCIe事务传送到第二装置包含使用FPGA的根端口来将第一PCIe事务传送到存储装置。陈述312.本发明概念的实施例包含根据陈述311所述的方法,所述方法进一步包括:在FPGA的根端口处从存储装置接收第二PCIe事务;通过在FPGA处确定第二PCIe事务是否与下游FAR中的地址相关联来确定第二PCIe事务是否为第二加速指令,所述下游FAR与FPGA的根端口相关联;至少部分地基于确定第二PCIe事务为第二加速指令,在FPGA的APM-F处处理第二PCIe事务;以及至少部分地基于确定第二PCIe事务不是第二加速指令,使用FPGA的端点来将第二PCIe事务传送到处理器。陈述313.本发明概念的实施例包含根据陈述312所述的方法,所述方法进一步包括:在FPGA处从存储装置接收下游FAR;以及使下游FAR与FPGA的根端口相关联。陈述314.本发明概念的实施例包含根据陈述313所述的方法,其中在FPGA处从存储装置接收下游FAR包含经由边带总线在FPGA处从存储装置接收下游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述315.本发明概念的实施例包含根据陈述313所述的方法,其中在FPGA处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述316.本发明概念的实施例包含根据陈述311所述的方法,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述317.本发明概念的实施例包含根据陈述311所述的方法,所述方法进一步包括使用FPGA的端点来将第一PCIe事务的结果发送到处理器。陈述318.本发明概念的实施例包含根据陈述311所述的方法,所述方法进一步包括:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的根端口通信;以及使用FPGA的端点来复制存储装置上的端点的配置。陈述319.本发明概念的实施例包含根据陈述281所述的方法,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA的端点处从处理器接收第一PCIe事务;在加速模块处确定PCIe事务是否为加速指令包含确定第一PCIe事务是否包含具有FPGA的第一PF的标识符或FPGA的第二PF的第二标识符的标签;以及将PCIe事务传送到第二装置包含使用FPGA的第一根端口来将第一PCIe事务传送到存储装置。陈述320.本发明概念的实施例包含根据陈述319所述的方法,所述方法进一步包括:在FPGA处从存储装置接收第二PCIe事务;确定第二PCIe事务是在FPGA的第一根端口处还是在FPGA的第二根端口处接收到的;至少部分地基于确定第二PCIe事务是在FPGA的第一根端口处接收到的,使用端点来将第二PCIe事务传送到处理器;以及至少部分地基于确定第二PCIe事务是在FPGA的第二根端口处接收到的,在FPGA的APM-F处处理第二PCIe事务。陈述321.本发明概念的实施例包含根据陈述319所述的方法,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述322.本发明概念的实施例包含根据陈述319所述的方法,所述方法进一步包括使用FPGA的端点来将第一PCIe事务的结果发送到处理器。陈述323.本发明概念的实施例包含根据陈述319所述的方法,所述方法进一步包括:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的第一根端口通信;以及使用FPGA的端点来复制存储装置上的端点的配置。陈述324.本发明概念的实施例包含根据陈述281所述的方法,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA处从处理器接收第一PCIe事务;在FPGA处确定第一PCIe事务是否为加速指令包含通过确定第一PCIe事务是否是在FPGA的第一端点处从处理器接收到的来确定第一PCIe事务是否为第二加速指令,所述FPGA包含第一端点和第二端点;以及将PCIe事务传送到第二装置包含使用FPGA的第一根端口来将第一PCIe事务传送到存储装置,所述FPGA包含第一根端口和第二根端口。陈述325.本发明概念的实施例包含根据陈述324所述的方法,所述方法进一步包括:在FPGA处从存储装置接收第二PCIe事务;通过确定第二PCIe事务是在FPGA的第一根端口处还是在FPGA的第二根端口处接收到的来确定第二PCIe事务是否为加速指令;至少部分地基于确定第二PCIe事务是在FPGA的第一根端口处接收到的,使用第一端点来将第二PCIe事务传送到处理器;以及至少部分地基于确定第二PCIe事务是在FPGA的第二根端口处接收到的,在FPGA的APM-F处处理第二PCIe事务。陈述326.本发明概念的实施例包含根据陈述324所述的方法,其中第二PCIe事务来源于在处理器上运行的加速服务管理器ASM。陈述327.本发明概念的实施例包含根据陈述324所述的方法,所述方法进一步包括使用FPGA的第二端点来将第一PCIe事务的结果发送到处理器。陈述328.本发明概念的实施例包含根据陈述324所述的方法,所述方法进一步包括:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的第一根端口通信;以及使用FPGA的第一端点来复制存储装置上的端点的配置。陈述329.本发明概念的实施例包含根据陈述281所述的方法,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA处从处理器接收第一PCIe事务;在加速模块处确定第一PCIe事务是否为加速指令包含通过确定第一PCIe事务是否是在FPGA的第一端点处从处理器接收到的来确定第一PCIe事务是否为第二加速指令,所述FPGA包含第一端点和第二端点;以及将PCIe事务传送到第二装置包含使用FPGA的根端口来将第一PCIe事务传送到存储装置。陈述330.本发明概念的实施例包含根据陈述329所述的方法,所述方法进一步包括:在FPGA的根端口处从存储装置接收第二PCIe事务;通过在FPGA处确定第二PCIe事务是否与下游FAR中的地址相关联来确定第二PCIe事务是否为加速指令,所述下游FAR与FPGA的根端口相关联;至少部分地基于确定第二PCIe事务为加速指令,在FPGA的APM-F处处理所述第二PCIe事务;以及至少部分地基于确定第二PCIe事务不是加速指令,使用FPGA的第一端点来将第二PCIe事务传送到处理器。陈述331.本发明概念的实施例包含根据陈述330所述的方法,所述方法进一步包括:在FPGA处从存储装置接收下游FAR;以及使下游FAR与FPGA的根端口相关联。陈述332.本发明概念的实施例包含根据陈述331所述的方法,其中在FPGA处从存储装置接收下游FAR包含经由边带总线在FPGA处从存储装置接收下游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述333.本发明概念的实施例包含根据陈述331所述的方法,其中在FPGA处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述334.本发明概念的实施例包含根据陈述329所述的方法,其中第一PCIe事务来源于在处理器上运行的加速服务管理器ASM。陈述335.本发明概念的实施例包含根据陈述329所述的方法,所述方法进一步包括使用FPGA的第二端点来将第一PCIe事务的结果发送到处理器。陈述336.本发明概念的实施例包含根据陈述329所述的方法,所述方法进一步包括:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的根端口通信;以及使用FPGA的第一端点来复制存储装置上的端点的配置。陈述337.本发明概念的实施例包含一种方法,所述方法包括:在第一桥接组件处从处理器接收外围组件互连快速PCIe事务;在第一桥接组件处确定PCIe事务是否为加速指令;至少部分地基于确定PCIe事务为加速指令,将PCIe事务转发到加速模块;以及至少部分地基于确定PCIe事务不是加速指令,将PCIe事务转发到存储装置,其中处理器、第一桥接组件、加速模块以及存储装置使用PCIe总线通信。陈述338.本发明概念的实施例包含根据陈述337所述的方法,其中:加速模块使用现场可编程门阵列来实施;以及存储装置包含固态驱动器SSD。陈述339.本发明概念的实施例包含根据陈述337所述的方法,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否与上游FAR中的地址相关联,所述上游FAR与第一桥接组件的上游端口相关联。陈述340.本发明概念的实施例包含根据陈述339所述的方法,所述方法进一步包括:在第一桥接组件处从存储装置接收上游FAR;以及使上游FAR与第一桥接组件的上游端口相关联。陈述341.本发明概念的实施例包含根据陈述340所述的方法,其中在第一桥接组件处从存储装置接收上游FAR包含经由边带总线在第一桥接组件处从存储装置接收上游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述342.本发明概念的实施例包含根据陈述340所述的方法,其中在第一桥接组件处从存储装置接收上游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含上游FAR。陈述343.本发明概念的实施例包含根据陈述337所述的方法,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否与由存储装置暴露的虚拟功能VF相关联。陈述344.本发明概念的实施例包含根据陈述343所述的方法,其中确定PCIe事务是否与由存储装置暴露的虚拟功能VF相关联包含确定PCIe事务是否包含具有VF的标识符的标签。陈述345.本发明概念的实施例包含根据陈述344所述的方法,所述方法进一步包括:在第一桥接组件处从存储装置接收VF的标识符;以及使VF的标识符与第一桥接组件的上游端口相关联。陈述346.本发明概念的实施例包含根据陈述345所述的方法,其中在第一桥接组件处从存储装置接收VF的标识符包含经由边带总线在第一桥接组件处从存储装置接收VF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述347.本发明概念的实施例包含根据陈述345所述的方法,其中在第一桥接组件处从存储装置接收VF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含VF的标识符。陈述348.本发明概念的实施例包含根据陈述337所述的方法,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否与由存储装置暴露的物理功能PF相关联。陈述349.本发明概念的实施例包含根据陈述348所述的方法,其中确定PCIe事务是否与由存储装置暴露的物理功能PF相关联包含确定PCIe事务是否包含具有PF的标识符的标签。陈述350.本发明概念的实施例包含根据陈述349所述的方法,所述方法进一步包括:在第一桥接组件处从存储装置接收PF的标识符;以及使PF的标识符与第一桥接组件的上游端口相关联。陈述351.本发明概念的实施例包含根据陈述350所述的方法,其中在第一桥接组件处从存储装置接收PF的标识符包含经由边带总线在第一桥接组件处从存储装置接收PF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述352.本发明概念的实施例包含根据陈述350所述的方法,其中在第一桥接组件处从存储装置接收PF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含PF的标识符。陈述353.本发明概念的实施例包含根据陈述337所述的方法,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否包含具有第一桥接组件的第一PF的标识符或第一桥接组件的第二PF的第二标识符的标签。陈述354.本发明概念的实施例包含根据陈述353所述的方法,所述方法进一步包括:使用第一桥接组件的配置监视器来确定存储装置的端点的配置;以及使用第一桥接组件的端点来复制存储装置上的端点的配置。陈述355.本发明概念的实施例包含根据陈述337所述的方法,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否是在第一桥接组件的第一端点处从处理器接收到的,第一桥接组件包含第一端点和第二端点。陈述356.本发明概念的实施例包含根据陈述355所述的方法,所述方法进一步包括:使用第一桥接组件的配置监视器来确定存储装置的端点的配置;以及使用第一桥接组件的第一端点来复制存储装置上的端点的配置。陈述357.本发明概念的实施例包含一种方法,所述方法包括:在第二桥接组件处从存储装置接收外围组件互连快速PCIe事务;在第二桥接组件处确定PCIe事务是否为加速指令;至少部分地基于确定PCIe事务为加速指令,将PCIe事务转发到加速模块;以及至少部分地基于确定PCIe事务不是加速指令,将PCIe事务转发到处理器,其中处理器、第二桥接组件、加速模块以及存储装置使用PCIe总线通信。陈述358.本发明概念的实施例包含根据陈述357所述的方法,其中:加速模块使用现场可编程门阵列来实施;以及存储装置包含固态驱动器SSD。陈述359.本发明概念的实施例包含根据陈述357所述的方法,其中在第二桥接组件处确定PCIe事务是否为加速指令包含在第二桥接组件处确定第二PCIe事务是否与下游过滤器地址范围FAR中的地址相关联,所述下游过滤器地址范围与第二桥接组件的下游端口相关联。陈述360.本发明概念的实施例包含根据陈述359所述的方法,所述方法进一步包括:在第二桥接组件处从存储装置接收下游FAR;以及使下游FAR与第二桥接组件的下游端口相关联。陈述361.本发明概念的实施例包含根据陈述360所述的方法,其中在第二桥接组件处从存储装置接收下游FAR包含经由边带总线在第二桥接组件处从存储装置接收下游FAR,所述边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述362.本发明概念的实施例包含根据陈述360所述的方法,其中在第二桥接组件处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述363.本发明概念的实施例包含根据陈述357所述的方法,其中在第二桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否是在第二桥接组件的第二根端口处接收到的,所述第二桥接组件包含第一根端口和第二根端口。陈述364.本发明概念的实施例包含一种方法,所述方法包括:在存储装置处从加速模块接收第一PCIe事务;确定第一PCIe事务是否为加速指令;至少部分地基于确定第一PCIe事务为加速指令:使用存储装置的存储装置加速平台管理器APM-S来产生第二PCIe事务;以及将第二PCIe事务从存储装置发送到加速模块;以及至少部分地基于确定第一PCIe事务不是加速指令,对存储在存储装置上的数据执行第一PCIe事务,其中处理器、加速模块以及存储装置使用外围组件互连快速PCIe总线通信,且其中加速模块在不将应用数据加载到与处理器相关联的存储器中的情况下支持针对在处理器上运行的应用程序对存储装置上的应用数据执行加速指令。陈述365.本发明概念的实施例包含根据陈述364所述的方法,其中存储装置为固态驱动器SSD。陈述366.本发明概念的实施例包含根据陈述365所述的方法,其中:从存储装置的加速模块接收第一PCIe事务包含在SSD的端点处从加速模块接收第一PCIe事务;确定第一PCIe事务是否为加速指令包含确定第一PCIe事务是否包含来自处理器的专用命令或是否来源于加速模块的APM-F;使用存储装置的存储装置加速平台管理器APM-S来产生第二PCIe事务包含由SSD的APM-S响应于第一PCIe事务而产生第二PCIe事务;以及将第二PCIe事务从存储装置发送到加速模块包含将第二PCIe事务从SSD的端点发送到加速模块。陈述367.本发明概念的实施例包含根据陈述366所述的方法,其中第一PCIe事务来源于处理器且包含专用命令。陈述368.本发明概念的实施例包含根据陈述366所述的方法,其中确定第一PCIe事务是否包含来自处理器的专用命令包含确定第一PCIe事务是否由SSD的主机接口逻辑HIL包含来自处理器的专用命令。陈述369.本发明概念的实施例包含根据陈述368所述的方法,其中专用命令来源于在处理器上运行的加速服务管理器ASM。陈述370.本发明概念的实施例包含根据陈述366所述的方法,所述方法进一步包括:从处理器请求主机系统地址的块;选择主机系统地址的块的子集作为下游过滤器地址范围FAR;以及用下游FAR对加速模块的下游端口进行编程。陈述371.本发明概念的实施例包含根据陈述370所述的方法,其中用下游FAR对加速模块的下游端口进行编程包含经由边带总线用下游FAR对加速模块的下游端口进行编程,所述边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述372.本发明概念的实施例包含根据陈述370所述的方法,其中用下游FAR对加速模块的下游端口进行编程包含使用PCIe供应商定义消息VDM来用下游FAR对加速模块的下游端口进行编程,所述PCIeVDM包含下游FAR。陈述373.本发明概念的实施例包含根据陈述370所述的方法,所述方法进一步包括:选择主机系统地址的块的第二子集作为上游FAR;以及用上游FAR对加速模块的上游端口进行编程。陈述374.本发明概念的实施例包含根据陈述373所述的方法,其中用上游FAR对加速模块的上游端口进行编程包含经由边带总线用上游FAR对加速模块的上游端口进行编程,所述边带总线来自包含I2C总线和SMBus的集合。陈述375.本发明概念的实施例包含根据陈述373所述的方法,其中用上游FAR对加速模块的上游端口进行编程包含使用PCIe供应商定义消息VDM来用上游FAR对加速模块的上游端口进行编程,所述PCIeVDM包含上游FAR。陈述376.本发明概念的实施例包含根据陈述366所述的方法,所述方法进一步包括:从处理器请求主机系统地址的块;选择主机系统地址的块的子集作为下游FAR;以及用下游FAR对加速模块的根端口进行编程。陈述377.本发明概念的实施例包含根据陈述376所述的方法,其中用下游FAR对加速模块的根端口进行编程包含经由边带总线用下游FAR对加速模块的根端口进行编程,所述边带总线来自包含I2C总线和SMBus的集合。陈述378.本发明概念的实施例包含根据陈述376所述的方法,其中用下游FAR对加速模块的根端口进行编程包含使用PCIe供应商定义消息VDM来用下游FAR对加速模块的根端口进行编程,所述PCIeVDM包含下游FAR。陈述379.本发明概念的实施例包含根据陈述366所述的方法,所述方法进一步包括:在SSD的端点处从加速模块接收第一PCIe事务的结果;以及使用SSD的端点来将第一PCIe事务的结果转发到处理器。陈述380.本发明概念的实施例包含根据陈述366所述的方法,所述方法进一步包括:提供使SSD暴露的物理功能PF;以及提供使加速模块暴露的虚拟功能VF。陈述381.本发明概念的实施例包含根据陈述380所述的方法,所述方法进一步包括用VF的标识符对加速模块的上游端口进行编程。陈述382.本发明概念的实施例包含根据陈述366所述的方法,所述方法进一步包括:提供使SSD暴露的第一PF;以及提供使加速模块暴露的第二PF。陈述383.本发明概念的实施例包含根据陈述382所述的方法,所述方法进一步包括用第二PF的标识符对加速模块的上游端口进行编程。陈述384.本发明概念的实施例包含根据陈述365所述的方法,其中:从存储装置的加速模块接收第一PCIe事务包含在SSD的端点处从加速模块接收第一PCIe事务;确定第一PCIe事务是否为加速指令包含确定第一PCIe事务是否是在第二端点处由SSD接收的,所述SSD包含第二端点和第一端点;使用存储装置的存储装置加速平台管理器APM-S来产生第二PCIe事务包含由SSD的APM-S响应于第一PCIe事务而产生第二PCIe事务;以及将第二PCIe事务从存储装置发送到加速模块包含将第二PCIe事务从SSD的第二端点发送到加速模块。陈述385.本发明概念的实施例包含一种制品,所述制品包括非暂时性存储媒体,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的指令:在加速处模块从第一装置接收外围组件互连快速PCIe事务;在加速模块处确定PCIe事务是否为加速指令;至少部分地基于确定PCIe事务为加速指令,在加速模块的加速平台管理器APM-F处处理PCIe事务;以及至少部分地基于确定PCIe事务不是加速指令,将PCIe事务传送到第二装置,其中加速模块在不将应用数据加载到与处理器相关联的存储器中的情况下支持针对应用程序对存储装置上的应用数据执行加速指令,且其中处理器、加速模块以及存储装置使用PCIe总线通信。陈述386.本发明概念的实施例包含根据陈述385所述的制品,其中使用现场可编程门阵列来实施加速模块。陈述387.本发明概念的实施例包含根据陈述386所述的制品,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA的下游端口处从存储装置接收第二PCIe事务;在加速模块处确定PCIe事务是否为加速指令包含在FPGA处确定第二PCIe事务是否与下游过滤器地址范围FAR中的地址相关联,所述下游过滤器地址范围与FPGA的下游端口相关联;以及将PCIe事务传送到第二装置包含使用FPGA的上游端口来将第二PCIe事务传送到处理器。陈述388.本发明概念的实施例包含根据陈述387所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA的上游端口处从处理器接收第一PCIe事务;以及使用FPGA的下游处理器来将第一PCIe事务传送到存储装置。陈述389.本发明概念的实施例包含根据陈述387所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收下游FAR;以及使下游FAR与FPGA的下游端口相关联。陈述390.本发明概念的实施例包含根据陈述389所述的制品,其中在FPGA处从存储装置接收下游FAR包含经由边带总线在FPGA处从存储装置接收下游FAR,所述边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述391.本发明概念的实施例包含根据陈述389所述的制品,其中在FPGA处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述392.本发明概念的实施例包含根据陈述387所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的下游端口来将第二PCIe事务的结果发送到存储装置。陈述393.本发明概念的实施例包含根据陈述387所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的上游端口来将第二PCIe事务的结果发送到处理器。陈述394.本发明概念的实施例包含根据陈述387所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA的上游端口处从处理器接收第一PCIe事务;通过确定第一PCIe事务是否与上游FAR中的第二地址相关联来确定第一PCIe事务是否为第二加速指令,所述上游FAR与FPGA的上游端口相关联;以及至少部分地基于确定第一PCIe事务为第二加速指令,在FPGA的APM-F处处理第一PCIe事务;以及至少部分地基于确定第一PCIe事务不是第二加速指令,使用FPGA的下游端口来将第一PCIe事务传送到存储装置。陈述395.本发明概念的实施例包含根据陈述394所述的制品,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述396.本发明概念的实施例包含根据陈述394所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收上游FAR;以及使上游FAR与FPGA的上游端口相关联。陈述397.本发明概念的实施例包含根据陈述396所述的制品,其中在FPGA处从存储装置接收上游FAR包含经由边带总线在FPGA处从存储装置接收上游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述398.本发明概念的实施例包含根据陈述396所述的制品,其中在FPGA处从存储装置接收上游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含上游FAR。陈述399.本发明概念的实施例包含根据陈述394所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的上游端口来将第一PCIe事务的结果发送到存储装置。陈述400.本发明概念的实施例包含根据陈述394所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的上游端口来将第一PCIe事务的结果发送到处理器。陈述401.本发明概念的实施例包含根据陈述387所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA的上游端口处从处理器接收第一PCIe事务;通过确定第一PCIe事务是否与由存储装置暴露的虚拟功能VF相关联来确定第一PCIe事务是否为第二加速指令;以及至少部分地基于确定第一PCIe事务为第二加速指令,在FPGA的APM-F处处理第一PCIe事务;以及至少部分地基于确定第一PCIe事务不是第二加速指令,使用FPGA的下游端口来将第一PCIe事务传送到存储装置。陈述402.本发明概念的实施例包含根据陈述401所述的制品,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述403.本发明概念的实施例包含根据陈述401所述的制品,其中确定第一PCIe事务是否为第二加速指令包含确定第一PCIe事务是否包含具有VF的标识符的标签。陈述404.本发明概念的实施例包含根据陈述403所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收VF的标识符;以及使VF的标识符与FPGA的上游端口相关联。陈述405.本发明概念的实施例包含根据陈述404所述的制品,其中在FPGA处从存储装置接收VF的标识符包含经由边带总线在FPGA处从存储装置接收VF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述406.本发明概念的实施例包含根据陈述404所述的制品,其中在FPGA处从存储装置接收VF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含VF的标识符。陈述407.本发明概念的实施例包含根据陈述401所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的上游端口来将第一PCIe事务的结果发送到处理器。陈述408.本发明概念的实施例包含根据陈述387所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA的上游端口处从处理器接收第一PCIe事务;通过确定第一PCIe事务是否与由存储装置暴露的物理功能PF相关联来确定第一PCIe事务是否为第二加速指令;以及至少部分地基于确定第一PCIe事务为第二加速指令,在FPGA的APM-F处处理第一PCIe事务;以及至少部分地基于确定第一PCIe事务不是第二加速指令,使用FPGA的下游端口来将第一PCIe事务传送到存储装置。陈述409.本发明概念的实施例包含根据陈述408所述的制品,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述410.本发明概念的实施例包含根据陈述408所述的制品,其中确定第一PCIe事务是否为第二加速指令包含确定第一PCIe事务是否包含具有PF的标识符的标签。陈述411.本发明概念的实施例包含根据陈述410所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收PF的标识符;以及使PF的标识符与FPGA的上游端口相关联。陈述412.本发明概念的实施例包含根据陈述411所述的制品,其中在FPGA处从存储装置接收PF的标识符包含经由边带总线在FPGA处从存储装置接收PF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述413.本发明概念的实施例包含根据陈述411所述的制品,其中在FPGA处从存储装置接收PF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含PF的标识符。陈述414.本发明概念的实施例包含根据陈述408所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的上游端口来将第一PCIe事务的结果发送到处理器。陈述415.本发明概念的实施例包含根据陈述386的制品,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA的端点处从处理器接收第一PCIe事务;在加速模块处确定PCIe事务是否为加速指令包含确定第一PCIe事务是否包含具有FPGA的第一PF的第一标识符或FPGA的第二PF的第二标识符的标签;以及将PCIe事务传送到第二装置包含使用FPGA的根端口来将第一PCIe事务传送到存储装置。陈述416.本发明概念的实施例包含根据陈述415所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA的根端口处从存储装置接收第二PCIe事务;通过在FPGA处确定第二PCIe事务是否与下游FAR中的地址相关联来确定第二PCIe事务是否为第二加速指令,所述下游FAR与FPGA的根端口相关联;至少部分地基于确定第二PCIe事务为第二加速指令,在FPGA的APM-F处处理第二PCIe事务;以及至少部分地基于确定第二PCIe事务不是第二加速指令,使用FPGA的端点来将第二PCIe事务传送到处理器。陈述417.本发明概念的实施例包含根据陈述416所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收下游FAR;以及使下游FAR与FPGA的根端口相关联。陈述418.本发明概念的实施例包含根据陈述417所述的制品,其中在FPGA处从存储装置接收下游FAR包含经由边带总线在FPGA处从存储装置接收下游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述419.本发明概念的实施例包含根据陈述417所述的制品,其中在FPGA处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述420.本发明概念的实施例包含根据陈述415所述的制品,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述421.本发明概念的实施例包含根据陈述415所述的制品,非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的端点来将第一PCIe事务的结果发送到处理器。陈述422.本发明概念的实施例包含根据陈述415所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的根端口通信;以及使用FPGA的端点来复制存储装置上的端点的配置。陈述423.本发明概念的实施例包含根据陈述386所述的制品,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA的端点处从处理器接收第一PCIe事务;在加速模块处确定PCIe事务是否为加速指令包含确定第一PCIe事务是否包含具有FPGA的第一PF的第一标识符或FPGA的第二PF的第二标识符的标签;以及将PCIe事务传送到第二装置包含使用FPGA的第一根端口来将第一PCIe事务传送到存储装置。陈述424.本发明概念的实施例包含根据陈述423所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收第二PCIe事务;确定第二PCIe事务是在FPGA的第一根端口处还是在FPGA的第二根端口处接收到的;至少部分地基于确定第二PCIe事务是在FPGA的第一根端口处接收到的,使用端点来将第二PCIe事务传送到处理器;以及至少部分地基于确定第二PCIe事务是在FPGA的第二根端口处接收到的,在FPGA的APM-F处处理第二PCIe事务。陈述425.本发明概念的实施例包含根据陈述423所述的制品,其中第二加速指令来源于在处理器上运行的加速服务管理器ASM。陈述426.本发明概念的实施例包含根据陈述423所述的制品,非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的端点来将第一PCIe事务的结果发送到处理器。陈述427.本发明概念的实施例包含根据陈述423所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的第一根端口通信;以及使用FPGA的端点来复制存储装置上的端点的配置。陈述428.本发明概念的实施例包含根据陈述386所述的制品,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA处从处理器接收第一PCIe事务;在FPGA处确定第一PCIe事务是否为加速指令包含通过确定第一PCIe事务是否是在FPGA的第一端点处从处理器接收到的来确定第一PCIe事务是否为第二加速指令,所述FPGA包含第一端点和第二端点;以及将PCIe事务传送到第二装置包含使用FPGA的第一根端口来将第一PCIe事务传送到存储装置,所述FPGA包含第一根端口和第二根端口。陈述429.本发明概念的实施例包含根据陈述428所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收第二PCIe事务;通过确定第二PCIe事务是在FPGA的第一根端口处还是在FPGA的第二根端口处接收到的来确定第二PCIe事务是否为加速指令;至少部分地基于确定第二PCIe事务是在FPGA的第一根端口处接收到的,使用第一端点来将第二PCIe事务传送到处理器;以及至少部分地基于确定第二PCIe事务是在FPGA的第二根端口处接收到的,在FPGA的APM-F处处理第二PCIe事务。陈述430.本发明概念的实施例包含根据陈述428所述的制品,其中第二PCIe事务来源于在处理器上运行的加速服务管理器ASM。陈述431.本发明概念的实施例包含根据陈述428所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的第二端点来将第一PCIe事务的结果发送到处理器。陈述432.本发明概念的实施例包含根据陈述428所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的第一根端口通信;以及使用FPGA的第一端点来复制存储装置上的端点的配置。陈述433.本发明概念的实施例包含根据陈述386所述的制品,其中:在FPGA处从第一装置接收外围组件互连快速PCIe事务包含在FPGA处从处理器接收第一PCIe事务;在加速模块处确定第一PCIe事务是否为加速指令包含通过确定第一PCIe事务是否是在FPGA的第一端点处从处理器接收到的来确定第一PCIe事务是否为第二加速指令,所述FPGA包含第一端点和第二端点;以及将PCIe事务传送到第二装置包含使用FPGA的根端口来将第一PCIe事务传送到存储装置。陈述434.本发明概念的实施例包含根据陈述433所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA的根端口处从存储装置接收第二PCIe事务;通过在FPGA处确定第二PCIe事务是否与下游FAR中的地址相关联来确定第二PCIe事务是否为加速指令,所述下游FAR与FPGA的根端口相关联;至少部分地基于确定第二PCIe事务为加速指令,在FPGA的APM-F处处理所述第二PCIe事务;以及至少部分地基于确定第二PCIe事务不是加速指令,使用FPGA的第一端点来将第二PCIe事务传送到处理器。陈述435.本发明概念的实施例包含根据陈述434所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在FPGA处从存储装置接收下游FAR;以及使下游FAR与FPGA的根端口相关联。陈述436.本发明概念的实施例包含根据陈述435所述的制品,其中在FPGA处从存储装置接收下游FAR包含经由边带总线在FPGA处从存储装置接收下游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述437.本发明概念的实施例包含根据陈述435所述的制品,其中在FPGA处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述438.本发明概念的实施例包含根据陈述433所述的制品,其中第一PCIe事务来源于在处理器上运行的加速服务管理器ASM。陈述439.本发明概念的实施例包含根据陈述433所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的第二端点来将第一PCIe事务的结果发送到处理器。陈述440.本发明概念的实施例包含根据陈述433所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用FPGA的配置监视器来确定存储装置的端点的配置,所述存储装置的端点与FPGA的根端口通信;以及使用FPGA的第一端点来复制存储装置上的端点的配置。陈述441.本发明概念的实施例包含一种制品,所述制品包括非暂时性存储媒体,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的指令:在存储装置处从加速模块接收第一PCIe事务;确定第一PCIe事务是否为加速指令;至少部分地基于确定第一PCIe事务为加速指令:使用存储装置的存储装置加速平台管理器APM-S来产生第二PCIe事务;以及将第二PCIe事务从存储装置发送到加速模块;以及至少部分地基于确定第一PCIe事务不是加速指令,对存储在存储装置上的数据执行第一PCIe事务,其中处理器、加速模块以及存储装置使用外围组件互连快速PCIe总线通信,且其中加速模块在不将应用数据加载到与处理器相关联的存储器中的情况下支持针对在处理器上运行的应用程序对存储装置上的应用数据执行加速指令。陈述442.本发明概念的实施例包含根据陈述441所述的制品,其中存储装置为固态驱动器SSD。陈述443.本发明概念的实施例包含根据陈述442所述的制品,其中:从存储装置的加速模块接收第一PCIe事务包含在SSD的端点处从加速模块接收第一PCIe事务;确定第一PCIe事务是否为加速指令包含确定第一PCIe事务是否包含来自处理器的专用命令或是否来源于加速模块的APM-F;使用存储装置的存储装置加速平台管理器APM-S来产生第二PCIe事务包含由SSD的APM-S响应于第一PCIe事务而产生第二PCIe事务;以及将第二PCIe事务从存储装置发送到加速模块包含将第二PCIe事务从SSD的端点发送到加速模块。陈述444.本发明概念的实施例包含根据陈述443所述的制品,其中第一PCIe事务来源于处理器且包含专用命令。陈述445.本发明概念的实施例包含根据陈述443所述的制品,其中确定第一PCIe事务是否包含来自处理器的专用命令包含确定第一PCIe事务是否由SSD的主机接口逻辑HIL包含来自处理器的专用命令。陈述446.本发明概念的实施例包含根据陈述445所述的制品,其中专用命令来源于在处理器上运行的加速服务管理器ASM。陈述447.本发明概念的实施例包含根据陈述443所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:从处理器请求主机系统地址的块;选择主机系统地址的块的子集作为下游过滤器地址范围FAR;以及用下游FAR对加速模块的下游端口进行编程。陈述448.本发明概念的实施例包含根据陈述447所述的制品,其中用下游FAR对加速模块的下游端口进行编程包含经由边带总线用下游FAR对加速模块的下游端口进行编程,所述边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述449.本发明概念的实施例包含根据陈述447所述的制品,其中用下游FAR对加速模块的下游端口进行编程包含使用PCIe供应商定义消息VDM来用下游FAR对加速模块的下游端口进行编程,所述PCIeVDM包含下游FAR。陈述450.本发明概念的实施例包含根据陈述447所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:选择主机系统地址的块的第二子集作为上游FAR;以及用上游FAR对加速模块的上游端口进行编程。陈述451.本发明概念的实施例包含根据陈述450所述的制品,其中用上游FAR对加速模块的上游端口进行编程包含经由边带总线用上游FAR对加速模块的上游端口进行编程,所述边带总线来自包含I2C总线和SMBus的集合。陈述452.本发明概念的实施例包含根据陈述450所述的制品,其中用上游FAR对加速模块的上游端口进行编程包含使用PCIe供应商定义消息VDM来用上游FAR对加速模块的上游端口进行编程,所述PCIeVDM包含上游FAR。陈述453.本发明概念的实施例包含根据陈述443所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:从处理器请求主机系统地址的块;选择主机系统地址的块的子集作为下游FAR;以及用下游FAR对加速模块的根端口进行编程。陈述454.本发明概念的实施例包含根据陈述453所述的制品,其中用下游FAR对加速模块的根端口进行编程包含经由边带总线用下游FAR对加速模块的根端口进行编程,所述边带总线来自包含I2C总线和SMBus的集合。陈述455.本发明概念的实施例包含根据陈述453所述的制品,其中用下游FAR对加速模块的根端口进行编程包含使用PCIe供应商定义消息VDM来用下游FAR对加速模块的根端口进行编程,所述PCIeVDM包含下游FAR。陈述456.本发明概念的实施例包含根据陈述443所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在SSD的端点处从加速模块接收第一PCIe事务的结果;以及使用SSD的端点来将第一PCIe事务的结果转发到处理器。陈述457.本发明概念的实施例包含根据陈述443所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:提供使SSD暴露的物理功能PF;以及提供使加速模块暴露的虚拟功能VF。陈述458.本发明概念的实施例包含根据陈述457所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:用VF的标识符对加速模块的上游端口进行编程。陈述459.本发明概念的实施例包含根据陈述443所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:提供使SSD暴露的第一PF;以及提供使加速模块暴露的第二PF。陈述460.本发明概念的实施例包含根据陈述459所述的制品,所述非暂时性储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:用第二PF的标识符对加速模块的上游端口进行编程。陈述461.本发明概念的实施例包含根据陈述442所述的制品,其中:从存储装置的加速模块接收第一PCIe事务包含在SSD的端点处从加速模块接收第一PCIe事务;确定第一PCIe事务是否为加速指令包含确定第一PCIe事务是否是在第二端点处由SSD接收的,所述SSD包含第二端点和第一端点;使用存储装置的存储装置加速平台管理器APM-S来产生第二PCIe事务包含由SSD的APM-S响应于第一PCIe事务而产生第二PCIe事务;以及将第二PCIe事务从存储装置发送到加速模块包含将第二PCIe事务从SSD的第二端点发送到加速模块。陈述462.本发明概念的实施例包含一种制品,所述制品包括非暂时性存储媒体,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的指令:在第一桥接组件处从处理器接收外围组件互连快速PCIe事务;在第一桥接组件处确定PCIe事务是否为加速指令;至少部分地基于确定PCIe事务为加速指令,将PCIe事务转发到加速模块;以及至少部分地基于确定PCIe事务不是加速指令,将PCIe事务转发到存储装置,其中处理器、第一桥接组件、加速模块以及存储装置使用PCIe总线通信。陈述463.本发明概念的实施例包含根据陈述462所述的制品,其中:加速模块使用现场可编程门阵列来实施;以及存储装置包含固态驱动器SSD。陈述464.本发明概念的实施例包含根据陈述462所述的制品,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否与上游FAR中的地址相关联,所述上游FAR与第一桥接组件的上游端口相关联。陈述465.本发明概念的实施例包含根据陈述464所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在第一桥接组件处从存储装置接收上游FAR;以及使上游FAR与第一桥接组件的上游端口相关联。陈述466.本发明概念的实施例包含根据陈述465所述的制品,其中在第一桥接组件处从存储装置接收上游FAR包含经由边带总线在第一桥接组件处从存储装置接收上游FAR,所述边带总线来自包含I2C总线和SMBus的集合。陈述467.本发明概念的实施例包含根据陈述465所述的制品,其中在第一桥接组件处从存储装置接收上游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含上游FAR。陈述468.本发明概念的实施例包含根据陈述462所述的制品,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否与由存储装置暴露的虚拟功能VF相关联。陈述469.本发明概念的实施例包含根据陈述468所述的制品,其中确定PCIe事务是否与由存储装置暴露的虚拟功能VF相关联包含确定PCIe事务是否包含具有VF的标识符的标签。陈述470.本发明概念的实施例包含根据陈述469所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在第一桥接组件处从存储装置接收VF的标识符;以及使VF的标识符与第一桥接组件的上游端口相关联。陈述471.本发明概念的实施例包含根据陈述470所述的制品,其中在第一桥接组件处从存储装置接收VF的标识符包含经由边带总线在第一桥接组件处从存储装置接收VF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述472.本发明概念的实施例包含根据陈述470所述的制品,其中在第一桥接组件处从存储装置接收VF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含VF的标识符。陈述473.本发明概念的实施例包含根据陈述462所述的制品,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否与由存储装置暴露的物理功能PF相关联。陈述474.本发明概念的实施例包含根据陈述473所述的制品,其中确定PCIe事务是否与由存储装置暴露的物理功能PF相关联包含确定PCIe事务是否包含具有PF的标识符的标签。陈述475.本发明概念的实施例包含根据陈述474所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在第一桥接组件处从存储装置接收PF的标识符;以及使PF的标识符与第一桥接组件的上游端口相关联。陈述476.本发明概念的实施例包含根据陈述475所述的制品,其中在第一桥接组件处从存储装置接收PF的标识符包含经由边带总线在第一桥接组件处从存储装置接收PF的标识符,所述边带总线来自包含I2C总线和SMBus的集合。陈述477.本发明概念的实施例包含根据陈述475所述的制品,其中在第一桥接组件处从存储装置接收PF的标识符包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含PF的标识符。陈述478.本发明概念的实施例包含根据陈述462所述的制品,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否包含具有第一桥接组件的第一PF的标识符或第一桥接组件的第二PF的第二标识符的标签。陈述479.本发明概念的实施例包含根据陈述478所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用第一桥接组件的配置监视器来确定存储装置的端点的配置;以及使用第一桥接组件的端点来复制存储装置上的端点的配置。陈述480.本发明概念的实施例包含根据陈述462所述的制品,其中在第一桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否是在第一桥接组件的第一端点处从处理器接收到的,第一桥接组件包含第一端点和第二端点。陈述481.本发明概念的实施例包含根据陈述480所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:使用第一桥接组件的配置监视器来确定存储装置的端点的配置;以及使用第一桥接组件的第一端点来复制存储装置上的端点的配置。陈述482.本发明概念的实施例包含一种制品,所述制品包括非暂时性存储媒体,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的指令:在第二桥接组件处从存储装置接收外围组件互连快速PCIe事务;在第二桥接组件处确定PCIe事务是否为加速指令;至少部分地基于确定PCIe事务为加速指令,将PCIe事务转发到加速模块;以及至少部分地基于确定PCIe事务不是加速指令,将PCIe事务转发到处理器,其中处理器、第二桥接组件、加速模块以及存储装置使用PCIe总线通信。陈述483.本发明概念的实施例包含根据陈述482所述的制品,其中:加速模块使用现场可编程门阵列来实施;以及存储装置包含固态驱动器SSD。陈述484.本发明概念的实施例包含根据陈述482所述的制品,其中在第二桥接组件处确定PCIe事务是否为加速指令包含在第二桥接组件处确定第二PCIe事务是否与下游过滤器地址范围FAR中的地址相关联,所述下游过滤器地址范围与第二桥接组件的下游端口相关联。陈述485.本发明概念的实施例包含根据陈述484所述的制品,所述非暂时性存储媒体具有存储于其上的在由机器执行时引起以下操作的其它指令:在第二桥接组件处从存储装置接收下游FAR;以及使下游FAR与第二桥接组件的下游端口相关联。陈述486.本发明概念的实施例包含根据陈述485所述的制品,其中在第二桥接组件处从存储装置接收下游FAR包含经由边带总线在第二桥接组件处从存储装置接收下游FAR,所述边带总线来自包含互集成电路I2C总线和系统管理总线SMBus的集合。陈述487.本发明概念的实施例包含根据陈述485所述的制品,其中在第二桥接组件处从存储装置接收下游FAR包含从存储装置接收PCIe供应商定义消息VDM,所述PCIeVDM包含下游FAR。陈述488.本发明概念的实施例包含根据陈述482所述的制品,其中在第二桥接组件处确定PCIe事务是否为加速指令包含确定PCIe事务是否是在第二桥接组件的第二根端口处接收到的,所述第二桥接组件包含第一根端口和第二根端口。因此,考虑到对本文所描述的实施例的各种置换,此详细描述和随附材料预期仅为说明性的,并且不应被视为限制本发明概念的范围。因此,本发明概念所要求保护的是落入随附权利要求书以及其等效物的范围和精神内的所有此类修改。

权利要求:1.一种主机系统,包括:处理器,所述处理器运行应用程序;存储器,所述存储器存储由在所述处理器上运行的所述应用程序使用的数据;上游接口,用于与所述处理器通信;下游接口,用于与存储装置通信;加速模块,所述加速模块使用硬件来实施且包含加速平台管理器以执行加速指令;以及所述存储装置,包含:所述存储装置的端点,用于与所述加速模块通信;控制器,用以管理所述存储装置的操作;存储,用以存储所述应用程序的应用数据;以及存储装置加速平台管理器,用以辅助所述加速平台管理器执行所述加速指令,其中所述处理器、所述加速模块以及所述存储装置经由外围组件互连快速总线通信,且其中所述加速模块在不将所述应用数据加载到所述存储器中的情况下支持针对所述应用程序对所述存储装置上的所述应用数据执行所述加速指令。2.根据权利要求1所述的系统,还包括:第一桥接组件,包含所述上游接口,所述第一桥接组件桥接所述处理器与所述加速模块之间的通信;以及第二桥接组件,包含所述下游接口,所述第二桥接组件桥接所述加速模块与所述存储装置之间的通信。3.根据权利要求1所述的系统,其特征在于,使用现场可编程门阵列来实施所述加速模块,所述加速模块包含所述上游接口以及所述下游接口,以及所述存储装置包含固态驱动器。4.根据权利要求3所述的系统,其特征在于:所述上游接口包含现场可编程门阵列端点;所述下游接口包含现场可编程门阵列根端口,所述现场可编程门阵列根端口支持配置空间;所述现场可编程门阵列包含第一物理功能、第二物理功能以及与所述现场可编程门阵列根端口相关联的下游过滤器,所述下游过滤器经操作以拦截从所述固态驱动器接收到的第一加速指令且将所述第一加速指令传送到所述加速平台管理器,所述第一加速指令与下游过滤器地址范围相关联;以及所述现场可编程门阵列经操作以从所述处理器请求主机系统地址的第一块以供用于所述第一物理功能,经操作以从所述处理器请求主机系统地址的第二块以供用于所述第二物理功能,经操作以将从所述处理器接收到的第一外围组件互连快速事务转发到所述固态驱动器且经操作以将从所述处理器接收到的第二加速指令转发到所述加速平台管理器,所述第一外围组件互连快速事务与所述第一物理功能的第一标识符相关联且所述第二加速指令与所述第二物理功能的第二标识符相关联。5.根据权利要求4所述的系统,其特征在于:所述固态驱动器经操作以从所述现场可编程门阵列请求现场可编程门阵列地址的块,所述现场可编程门阵列地址的所述块包含所述下游过滤器地址范围;所述主机系统地址的所述第二块至少与所述现场可编程门阵列地址的所述块一样大;以及所述控制器经操作以选择所述现场可编程门阵列地址的所述块的子集作为所述下游过滤器地址范围。6.根据权利要求5所述的系统,其特征在于,所述控制器经操作以用所述下游过滤器地址范围对所述下游过滤器进行编程。7.根据权利要求4所述的系统,其特征在于,所述加速平台管理器经操作以经由所述现场可编程门阵列端点将结果发送到所述处理器。8.一种使用硬件实施的加速模块,包括:加速平台管理器,用以执行加速指令;上游接口,用于与处理器通信;以及下游接口,用于与存储装置通信,所述存储装置包含存储装置加速平台管理器,所述存储装置加速平台管理器用以辅助所述加速平台管理器执行所述加速指令,其中所述加速模块使用外围组件互连快速总线与所述处理器以及所述存储装置通信,且其中所述加速模块在不将应用数据加载到与所述处理器相关联的存储器中的情况下支持针对应用程序对所述存储装置上的所述应用数据执行所述加速指令。9.根据权利要求8所述的加速模块,其特征在于:使用现场可编程门阵列来实施所述加速模块。10.根据权利要求9所述的加速模块,其特征在于:所述上游接口包含现场可编程门阵列端点;所述下游接口包含现场可编程门阵列根端口,所述现场可编程门阵列根端口支持配置空间;所述现场可编程门阵列包含第一物理功能、第二物理功能以及与所述现场可编程门阵列根端口相关联的下游过滤器,所述下游过滤器经操作以拦截从所述存储装置接收到的第一加速指令且将所述第一加速指令传送到所述加速平台管理器,所述第一加速指令与下游过滤器地址范围相关联;以及所述现场可编程门阵列经操作以从所述处理器请求主机系统地址的第一块以供用于所述第一物理功能,且经操作以从所述处理器请求主机系统地址的第二块以供用于所述第二物理功能;以及所述现场可编程门阵列经操作以将从所述处理器接收到的外围组件互连快速事务转发到所述存储装置,且经操作以将从所述处理器接收到的第二加速指令转发到所述加速平台管理器,所述外围组件互连快速事务与所述第一物理功能的第一标识符相关联,所述第二加速指令与所述第二物理功能的第二标识符相关联。11.根据权利要求10所述的加速模块,其特征在于:所述现场可编程门阵列经操作以从所述存储装置接收请求以供用于来自所述现场可编程门阵列的现场可编程门阵列地址的块,所述现场可编程门阵列地址的所述块包含所述下游过滤器地址范围;所述现场可编程门阵列经操作以从所述配置空间分配所述现场可编程门阵列地址的所述块;以及所述主机系统地址的所述第一块至少与所述现场可编程门阵列地址的所述块一样大。12.根据权利要求11所述的加速模块,其特征在于,所述现场可编程门阵列的所述下游过滤器中的所述下游过滤器地址范围能够由所述存储装置编程。13.根据权利要求10所述的加速模块,其特征在于,所述加速平台管理器经操作以经由所述现场可编程门阵列端点将结果发送到所述处理器。14.根据权利要求10所述的加速模块,其特征在于,所述现场可编程门阵列还包含配置监视器以将所述存储装置的端点的性能复制到所述现场可编程门阵列端点。15.一种主机系统的方法,包括:在加速处模块从第一装置接收外围组件互连快速事务;在所述加速模块处确定所述外围组件互连快速事务是否为加速指令;至少部分地基于确定所述外围组件互连快速事务为所述加速指令,在所述加速模块的加速平台管理器处处理所述外围组件互连快速事务;以及至少部分地基于确定所述外围组件互连快速事务不是所述加速指令,将所述外围组件互连快速事务传送到第二装置,其中所述加速模块在不将应用数据加载到与处理器相关联的存储器中的情况下支持针对应用程序对存储装置上的所述应用数据执行所述加速指令,且其中所述处理器、所述加速模块以及所述存储装置使用外围组件互连快速总线通信。16.根据权利要求15所述的方法,其特征在于,使用现场可编程门阵列来实施所述加速模块。17.根据权利要求16所述的方法,其特征在于:在加速模块处从所述第一装置接收所述外围组件互连快速事务包含在所述现场可编程门阵列的端点处从所述处理器接收第一外围组件互连快速事务;在所述加速模块处确定所述外围组件互连快速事务是否为所述加速指令包含确定所述第一外围组件互连快速事务是否包含具有所述现场可编程门阵列的第一物理功能的标识符的标签;以及将所述外围组件互连快速事务传送到所述第二装置包含使用所述现场可编程门阵列的根端口来将所述第一外围组件互连快速事务传送到所述存储装置。18.根据权利要求17所述的方法,还包括:在所述现场可编程门阵列的所述根端口处从所述存储装置接第二外围组件互连快速事务;通过在所述现场可编程门阵列处确定所述第二外围组件互连快速事务是否与下游过滤器地址范围中的地址相关联来确定所述第二外围组件互连快速事务是否为第二加速指令,所述下游过滤器地址范围与所述现场可编程门阵列的所述根端口相关联;至少部分地基于确定所述第二外围组件互连快速事务为所述第二加速指令,在所述现场可编程门阵列的所述加速平台管理器处处理所述第二外围组件互连快速事务;以及至少部分地基于确定所述第二外围组件互连快速事务不是所述第二加速指令,使用所述现场可编程门阵列的所述端点来将所述第二外围组件互连快速事务传送到所述处理器。19.根据权利要求18所述的方法,还包括:在所述现场可编程门阵列处从所述存储装置接收所述下游过滤器地址范围;以及使所述下游过滤器地址范围与所述现场可编程门阵列的所述根端口相关联。20.根据权利要求17所述的方法,还包括使用所述现场可编程门阵列的所述端点来将所述第一外围组件互连快速事务的结果发送到所述处理器。

百度查询: 三星电子株式会社 主机系统及其方法和加速模块

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。