CN116261849A - 组合写入启用掩码和信用返回字段 - Google Patents
组合写入启用掩码和信用返回字段 Download PDFInfo
- Publication number
- CN116261849A CN116261849A CN202180067559.4A CN202180067559A CN116261849A CN 116261849 A CN116261849 A CN 116261849A CN 202180067559 A CN202180067559 A CN 202180067559A CN 116261849 A CN116261849 A CN 116261849A
- Authority
- CN
- China
- Prior art keywords
- field
- memory
- packet
- chiplet
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9026—Single buffer per packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/695—Types of network addresses using masks or ranges of addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
信用返回字段在基于信用的流控制系统中用于指示一或多个信用正从接收装置返回到发送装置。基于可用的信用数目,所述发送装置确定是发送装置还是等待直到返回更多信用。即使当写入较少量数据时,写入启用掩码也允许使用宽数据字段。新颖数据包使用组合写入启用掩码和信用返回字段。在一个模式中,所述字段含有写入启用掩码。在另一模式中,所述字段含有信用返回数据。如果所述字段含有信用返回数据,那么默认值(例如,全为一)用于所述写入启用掩码。可基于所述数据包中的另一值而选择模式。
Description
优先权申请
本申请要求2020年8月31日申请的第17/007,701号美国申请的优先权,所述美国申请以全文引用的方式并入本文中。
关于政府支持的声明
本发明是在美国政府支持下依据DARPA授予的合同第HR00111830003号完成的。美国政府拥有本发明的某些权利。
技术领域
本公开的实施例大体上涉及网络协议,且更具体地说涉及使用具有组合写入启用掩码和信用返回字段的包结构的联网,且更具体地说涉及使用基于信用的流控的系统中的组合写入启用掩码和信用返回字段,其在所选实施例中可实施于小芯片系统中的基于包的通信中。
背景技术
各种常规基于包的联网系统利用包含写入启用掩码的包结构。在接收到数据后,检查写入启用掩码以确定应写入数据的哪些部分且应忽略哪些部分。为了返回信用,各种常规基于包的联网系统发送单独的信用返回包。
小芯片是一种用于集成各种处理功能性的新兴技术。一般来说,小芯片系统由离散模块(各自被称为“小芯片”)构成,所述离散模块集成在中介层上,且在许多实例中视需要通过一或多个已建立的网络互连,以向系统提供所要功能性。中介层和所包含的小芯片可封装在一起,以便于与较大系统的其它组件互连。每一小芯片可包含一或多个个别集成电路或“芯片”(IC),其可能与离散电路组件组合,并且共同耦合到相应衬底以便于附接到中介层。系统中的大多数或所有小芯片将被个别地配置成用于通过一或多个已建立的网络进行通信。
小芯片作为系统的个别模块的配置不同于在单芯片上实施的此系统,所述芯片在一个衬底(例如单个裸片)上含有不同装置块(例如,知识产权(IP)块),例如芯片上系统(SoC),或集成在印刷电路板(PCB)上的多个离散封装装置。一般来说,小芯片提供比离散封装装置更好的性能(例如,更低的功率消耗、减少的时延等),并且小芯片提供比单裸片芯片更大的生产效益。这些生产效益可包含更高的良率或减少的开发成本和时间。
小芯片系统可包含例如一或多个应用程序(或处理器)小芯片和一或多个支持小芯片。此处,应用程序小芯片与支持小芯片之间的区别只是对小芯片系统可能的设计情境的参考。因此,举例来说,合成视觉小芯片系统可包含(仅借助于实例)用以产生合成视觉输出的应用程序小芯片,以及例如存储器控制器小芯片、传感器接口小芯片或通信小芯片等支持小芯片。在典型的用例中,合成视觉设计者可设计应用程序小芯片并且从其它方获取支持小芯片。因此,由于避免设计和生产支持小芯片中所体现的功能性,因此减少了设计支出(例如,在时间或复杂性方面)。小芯片还支持原本可能很困难的IP块紧密集成,例如使用不同处理技术或使用不同特征大小(或利用不同的接触技术或间距)制造的IP块。因此,可以模块化方式组装具有不同物理、电气或通信特性的多个IC的组合件或IC组合件,以提供实现所要功能性的组合件。小芯片系统还可促进调适以适应将并入有小芯片系统的不同较大系统的需要。在一实例中,IC或其它组合件可针对特定功能的功率、速度或发热进行优化,如同传感器可能发生的情况一样,相比于在单个裸片上尝试与其它装置集成,所述IC或其它组件可更容易地与其它装置集成。另外,通过减小裸片的整体大小,小芯片的良率往往高于更复杂的单裸片装置的良率。
附图说明
根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于具体实施例,而是仅用于解释和理解。
图1A和1B绘示根据实施例的小芯片系统的实例。
图2绘示根据实施例的存储器控制器小芯片的实例的组件。
图3绘示根据实施例的使用小芯片协议接口(CPI)网络在小芯片布局中的小芯片之间路由的实例。
图4是根据本公开的一些实施例的包括组合写入启用掩码和信用返回字段的数据包的框图。
图5是根据本公开的一些实施例的适合在使用基于信用的流控的系统中使用的信用包的框图。
图6是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法的操作的流程图。
图7是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法的操作的流程图。
图8是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法的操作的流程图。
图9是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法的操作的流程图。
图10是可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的实施方案涉及用于利用组合写入启用掩码和信用返回字段创建和处理数据包的系统和方法。此类所论述系统和方法提供网络通信的效率。尽管此类效率在多种系统中可为有益的,但本文中所论述的此类实例系统为基于小芯片的存储器系统,其可经实施以至少部分地通过基于包的网络在存储或存取存储器装置时提供此类效率。写入启用掩码允许第一装置发送具有写入命令和固定数目个字节(例如,四个字节)的数据的数据包以符合发射协议,而不会使得接收装置写入所有数据字节。写入启用掩码是允许应用程序在字节层级处而不是在协议特定的最小大小处控制数据写入的重要特征。然而,在许多情形下,写入启用掩码仅指示将写入所有字节。举例来说,当传送比单个数据包的大小大得多的数据文件时,许多数据包在完全设置写入启用掩码的情况下发送。
信用返回字段在基于信用的流控制系统中用于指示一或多个信用正从接收装置返回到发送装置。基于可用的信用数目,发送装置确定是发送装置还是等待直到返回更多信用。信用返回字段可为携载其它数据的数据包中的字段(例如,当使用双向通信时,例如在因特网协议上的语音(VoIP)应用程序中)或可在出于返回信用的目的特定地发送的单独信用包中。
新颖数据包使用组合写入启用掩码和信用返回字段。在一个模式中,此字段含有写入启用掩码。在另一模式中,此字段含有信用返回数据。如果此字段含有信用返回数据,那么默认值(例如,全为一)用于写入启用掩码。可基于数据包中的另一值而选择模式。
本公开的实施方案的益处之一是,相比于包含写入启用字段和信用返回字段两者的数据包,支持较小包大小。并且,相比于仅包含写入启用字段且发送信用返回数据作为单独信用包的数据包,实现网络流量的减少。因此,减少处理网络流量和返回信用时所花费的处理循环。另外,减小处理网络流量和返回信用时消耗的功率。包括通信装置的系统的性能也由于联网开销减少而改进。其它益处将对获得本公开的益处的相关领域的技术人员来说显而易见。
图1A和1B绘示根据实施例的小芯片系统110的实例。图1A是安装在外围板105上的小芯片系统110的表示,所述外围板可例如通过外围组件互连高速(PCIe)连接到更广泛的计算机系统。小芯片系统110包含封装衬底115、中介层120和四个小芯片:应用程序小芯片125、主机接口小芯片135、存储器控制器小芯片140和存储器装置小芯片150。其它系统可包含许多额外小芯片以提供额外功能性,如将从以下论述中显而易见。小芯片系统110的封装以封盖或盖板165说明,但可使用用于小芯片系统的其它封装技术和结构。图1B是为了清楚起见标记小芯片系统中的组件的框图。
应用程序小芯片125说明为包含芯片上网络(NOC)130以支持用于小芯片间通信的小芯片网络155。在实例实施例中,NOC 130可包含在应用程序小芯片125上。在实例中,可响应于选定的支持小芯片(例如,小芯片135、140和150)来定义NOC 130,从而使设计者能够为NOC 130选择适当数目或小芯片网络连接或开关。在实例中,NOC 130可位于单独小芯片上,或甚至位于中介层120内。在如本文中所论述的实例中,NOC 130实施小芯片协议接口(CPI)网络。
CPI为基于包的网络,其支持虚拟信道,以实现小芯片之间灵活和高速的交互。CPI实现从小芯片内网络到小芯片网络155的桥接。举例来说,高级可扩展接口(AXI)为设计芯片内通信的广泛使用的规范。然而,AXI规范涵盖大量的物理设计选项,例如物理信道的数目、信号定时、功率等。在单芯片内,通常选择这些选项以满足设计目标,例如功率消耗、速度等。然而,为了实现小芯片系统的灵活性,使用例如CPI等适配器在可实施于各种小芯片中的各种AXI设计选项之间介接。通过实现物理信道到虚拟信道的映射且利用包化协议包封基于时间的信令,CPI跨小芯片网络155桥接小芯片内网络。
CPI可使用多种不同的物理层来发射包。物理层可包含简单的导电连接,或可包含驱动器以增大电压,或以其它方式促进在较长距离内发射信号。一个此类物理层的实例可包含高级接口总线(AIB),其在各种实例中可在中介层120中实施。AIB使用具有转发时钟的源同步数据传送来发射和接收数据。以单数据速率(SDR)或双数据速率(DDR)相对于所发射时钟跨AIB传送包。AIB支持各种信道宽度。当在SDR模式下操作时,AIB信道宽度为20位的倍数(20、40、60、……),并且对于DDR模式,AIB信道宽度为40位的倍数:(40、80、120、……)。AIB信道宽度包含发射和接收信号。信道可配置成具有对称数目的发射(TX)和接收(RX)输入/输出(I/O),或者具有非对称数目的发射器和接收器(例如,所有发射器或所有接收器)。信道可充当AIB主控装置或从属装置,取决于哪一个小芯片提供主时钟。AIB I/O单元支持三个计时模式:异步(即,非计时)、SDR和DDR。在各种实例中,非计时模式用于时钟和一些控制信号。SDR模式可使用专用的仅SDR I/O单元,或双用途SDR/DDR I/O单元。
在实例中,CPI包协议(例如,点到点或可路由)可在AIB信道内使用对称的接收和发射I/O单元。CPI流协议允许更灵活地使用AIB I/O单元。在实例中,流模式的AIB信道可将I/O单元配置为全部为TX、全部为RX或一半为TX且一半为RX。CPI包协议可在SDR或DDR操作模式中使用AIB信道。在实例中,AIB信道针对SDR模式以80个I/O单元(即,40个TX和40个RX)的增量配置,并且针对DDR模式以40个I/O单元的增量配置。CPI流协议可在SDR或DDR操作模式下使用AIB信道。此处,在实例中,AIB信道针对SDR和DDR模式两者以40个I/O单元为增量。在实例中,向每一AIB信道分配唯一的接口标识符。所述标识符在CPI复位和初始化期间用于确定跨邻近小芯片的成对AIB信道。在实例中,接口标识符为包括七位小芯片标识符、七位列标识符和六位链路标识符的20位值。AIB物理层使用AIB带外移位寄存器来发射接口标识符。使用移位寄存器的位32到51跨越AIB接口在两个方向上传送20位接口标识符。
AIB将堆叠的一组AIB信道定义为AIB信道列。AIB信道列具有一定数目个AIB信道,外加辅助信道。辅助信道含有用于AIB初始化的信号。列内的所有AIB信道(辅助信道除外)具有相同配置(例如,全部为TX、全部为RX,或者一半为TX且一半为RX,以及具有相同数目的数据I/O信号)。在实例中,以邻近于AUX信道的AIB信道开始,以连续递增次序对AIB信道编号。邻近于AUX的AIB信道被定义为AIB信道零。
一般来说,个别小芯片上的CPI接口可包含串行化-反串行化(SERDES)硬件。SERDES互连非常适用于需要高速信令和低信号计数的情境。然而,对于复用和解复用、错误检测或校正(例如,使用块级循环冗余检查(CRC))、链路级重试或前向错误校正,SERDES可能会引起额外的功耗和更长的时延。然而,在低时延或能量消耗是超短距离小芯片到小芯片互连的主要关注点时,可利用时钟速率允许以最小时延进行数据传送的并行接口。CPI包含用于使这些超短距离小芯片互连的时延和能耗两者最小化的元件。
对于流控制,CPI采用基于信用的技术。如应用程序小芯片125的接收方向如存储器控制器小芯片140的发送方提供表示可用缓冲器的信用。在实例中,CPI接收方包含用于给定发射时间单位的每一虚拟信道的缓冲器。因此,如果CPI接收方在时间上支持五个消息和单个虚拟信道,那么接收方具有布置成五行的五个缓冲器(例如,每一单位时间一行)。如果支持四个虚拟信道,那么接收方具有布置成五行的二十个缓冲器。每一缓冲器保持一个CPI包的有效负载。
当发送方向接收方进行发射时,发送方基于发射而使可用信用递减。一旦接收方的所有信用已消耗,发送方就停止向接收方发送包。这确保接收方始终具有可用缓冲器以存储发射。
当接收方处理接收到的包并释放缓冲器时,接收方将可用缓冲空间传达回发送方。接着,发送方可使用此信用返回以允许发射额外信息。
还说明了小芯片网状网络160,其使用直接小芯片间技术,而不需要NOC 130。小芯片网状网络160可在CPI或另一小芯片间协议中实施。小芯片网状网络160通常实现小芯片流水线,其中一个小芯片充当到流水线的接口,而流水线接口中的其它小芯片仅与自身介接。
另外,专用装置接口,例如一或多个工业标准存储器接口145(例如,同步存储器接口,例如DDR5、DDR 6),还可用于互连小芯片。小芯片系统或个别小芯片到外部装置的连接(例如,较大系统可通过所要接口(例如,PCIE接口))。在实例中,例如可通过主机接口小芯片135实施外部接口,在所描绘实例中,所述主机接口小芯片提供小芯片系统110外部的PCIE接口。当行业中的惯例或标准已经汇聚在此类专用接口145上时,通常采用此类接口。将存储器控制器小芯片140连接到动态随机存取存储器(DRAM)存储器装置150的DDR接口145的所说明实例就是此行业惯例。
在多种可能的支持小芯片中,存储器控制器小芯片140很可能存在于小芯片系统110中,这是因为几乎无所不在地使用存储来进行计算机处理以及对存储器装置使用先进技术。因此,使用由其它设计者产生的存储器装置小芯片150和存储器控制器小芯片140使小芯片系统设计者能够获得由成熟生产商生产的稳健的产品。一般来说,存储器控制器小芯片140提供存储器装置特定接口来读取、写入或擦除数据。存储器控制器小芯片140经常可提供额外特征,如错误检测、错误校正、维护操作或原子操作执行。对于一些类型的存储器,维护操作往往特定针对存储器装置150,例如NAND快闪或存储类存储器中的垃圾收集、NAND快闪存储器中的温度调整(例如,交叉温度管理)。在实例中,维护操作可包含逻辑到物理(L2P)映射或管理,以在数据的物理与逻辑表示之间提供间接层级。在例如DRAM的其它类型的存储器中,例如刷新的一些存储器操作可在某些时间由主机处理器或存储器控制器控制,并且在其它时间由DRAM存储器装置或与一或多个DRAM装置相关联的逻辑控制,所述逻辑例如接口芯片(在实例中,缓冲器)。
原子操作是例如可由存储器控制器小芯片140执行的数据操纵。在其它小芯片系统中,原子操作可由其它小芯片执行。举例来说,可由应用程序小芯片125在命令中指定“增量”的原子操作,所述命令包含存储器地址并且可能包含增量值。在接收到命令后,存储器控制器小芯片140从指定存储器地址检索数字,使所述数字递增命令中所指定的量,并且存储结果。在成功完成后,存储器控制器小芯片140向应用程序小芯片125提供命令成功的指示。原子操作避免了跨小芯片网络160发射数据,从而减少执行此类命令的时延。
原子操作可分为内置原子或可编程(例如,自定义)原子。内置原子是在硬件中不变地实施的一组有限的操作。可编程原子是可在存储器控制器小芯片140的可编程原子单元(PAU)(例如,自定义原子单元(CAU))上运行的小程序。图1绘示论述PAU的存储器控制器小芯片的实例。
存储器装置小芯片150可以是或包含易失性存储器装置或非易失性存储器的任何组合。易失性存储器装置的实例包含但不限于随机存取存储器(RAM),例如DRAM、同步DRAM(SDRAM)、图形双数据速率类型6SDRAM(GDDR6 SDRAM)等。非易失性存储器装置的实例包含但不限于与非(NAND)型快闪存储器、存储类存储器(例如,相变存储器或基于忆阻器的技术)、铁电RAM(FeRAM)等。所说明实例包含作为小芯片的存储器装置150,然而,存储器装置150可驻存在其它地方,如在板105上的不同封装中。对于许多应用,可提供多个存储器装置小芯片。在实例中,这些存储器装置小芯片可各自实施一或多种存储技术。在实例中,存储器小芯片可包含不同技术的多个堆叠存储器裸片,例如堆叠或另外与一或多个DRAM装置通信的一或多个SRAM装置。存储器控制器140还可用以协调小芯片系统110中的多个存储器小芯片之间的操作;例如,在一或多个层级的高速缓存存储装置中利用一或多个存储器小芯片,并且使用一或多个额外存储器小芯片作为主存储器。小芯片系统110还可包含多个存储器控制器140,其可用以提供用于单独处理器、传感器、网络等的存储器控制功能性。例如小芯片系统110的小芯片架构提供允许通过更新后的小芯片配置适配于不同存储器存储技术和不同存储器接口而不需要重新设计系统结构的其余部分的优点。
图2绘示根据实施例的存储器控制器小芯片205的实例的组件。存储器控制器小芯片205包含高速缓存210、高速缓存控制器215、裸片外存储器控制器220(例如,用于与裸片外存储器175通信)、网络通信接口225(例如,用于与小芯片网络180介接且与其它小芯片通信),以及一组原子和合并操作250。举例来说,此组部件可包含写入合并单元255、危险单元(260)、内置原子单元265或PAU 270。各种组件是按逻辑说明的,并且它们未必会被实施。举例来说,内置原子单元265有可能包括沿着到裸片外存储器的路径的不同装置。举例来说,内置原子单元可在存储器小芯片上的接口装置/缓冲器中,如上文所论述。相比之下,可编程原子操作270可能在存储器控制器小芯片205上的单独处理器中实施(但在各种实例中,可在其它位置中实施,例如在存储器小芯片上实施)。
裸片外存储器控制器220直接耦合到裸片外存储器275(例如,经由总线或其它通信连接)以提供向例如裸片外存储器275和裸片外存储器280的所述一或多个裸片外存储器写入的操作和从所述一或多个裸片外存储器读取的操作。在所描绘的实例中,裸片外存储器控制器220还经耦合以输出到原子和合并单元250,并输入到高速缓存控制器215(例如,存储器侧高速缓存控制器)。
在实例配置中,高速缓存控制器215直接耦合到高速缓存210,并且可耦合到网络通信接口225以进行输入(例如传入读取或写入请求),并耦合成输出到裸片外存储器控制器220。
网络通信接口225包含包解码器230、网络输入队列235、包编码器240和网络输出队列245以支持基于包的小芯片网络285,例如CPI。小芯片网络285可提供处理器、存储器控制器、混合线程处理器、可配置处理电路或通信接口之间和当中的包路由。在此基于包的通信系统中,每一包通常包含目的地和源寻址,以及任何数据有效负载或指令。在实例中,取决于配置,小芯片网络285可实施为具有折叠Clos配置的纵横交换机的集合,或提供额外连接的网状网络。
在各种实例中,小芯片网络285可为异步交换结构的一部分。此处,数据包可沿着各种路径中的任一个路由,使得任何所选择数据包可取决于路由而在多个不同时间中的任何时间到达寻址的目的地。此外,小芯片网络285可至少部分地实施为同步通信网络,例如同步网状通信网络。经审慎考虑,例如根据本公开使用通信网络的两种配置。
存储器控制器小芯片205可接收具有例如源地址、读取请求和物理地址的包。作为响应,裸片外存储器控制器220或高速缓存控制器215将从指定的物理地址(其可在裸片外存储器275或高速缓存210中)读取数据,并将响应包汇编成含有所请求数据的源地址。类似地,存储器控制器小芯片205可接收具有源地址、写入请求和物理地址的包。作为响应,存储器控制器小芯片205将数据写入到指定的物理地址(其可在高速缓存器210或裸片外存储器275或280中),且将响应包汇编成含有数据被存储到存储器的确认的源地址。
因此,在可能的情况下,存储器控制器小芯片205可经由小芯片网络285接收读取和写入请求,并且使用与高速缓存210介接的高速缓存控制器215来处理所述请求。如果高速缓存控制器215无法处理所述请求,那么裸片外存储器控制器220通过与裸片外存储器275或280、原子和合并操作250或这两者通信来处理所述请求。如上所述,高速缓存的一或多个层级还可在裸片外存储器275或280中实施;且在一些此类实例中可由高速缓存控制器215直接存取。由裸片外存储器控制器220读取的数据可由高速缓存控制器215高速缓存于高速缓存210中以供后续使用。
原子和合并操作250被耦合以接收(作为输入)裸片外存储器控制器220的输出,并将输出提供到高速缓存210、网络通信接口225或直接提供到小芯片网络285。存储器危险清除(复位)单元260、写入合并单元265和内置(例如,预定)原子操作单元265可各自被实施为具有其它组合逻辑电路系统(如加法器、移位器、比较器、与门、或门、异或门或其任何合适的组合)或其它逻辑电路系统的状态机。这些组件还可包含一或多个寄存器或缓冲器以存储操作数或其它数据。PAU 270可实施为一或多个处理器核心或控制电路系统,以及具有其它组合逻辑电路系统或其它逻辑电路系统的各种状态机,且还可包含一或多个寄存器、缓冲器或存储器以存储地址、可执行指令、操作数和其它数据,或可实施为处理器。
写入合并单元255接收读取数据和请求数据,并且合并请求数据和读取数据以创建具有读取数据和将在响应或返回数据包中使用的源地址的单个单元。写入合并单元255将合并后的数据提供到高速缓存210的写入端口(或等效地,提供到高速缓存控制器215以写入到高速缓存210)。任选地,写入合并单元255将合并的数据提供到网络通信接口225以编码且准备响应或返回数据包以在小芯片网络280上进行发射。
当请求数据用于内置原子操作时,内置原子操作单元265从写入合并单元265或直接从裸片外存储器控制器220接收请求和读取数据。执行原子操作,且使用写入合并单元255,将所得数据写入到高速缓存210,或提供到网络通信接口225以编码和准备响应或返回数据包以供在小芯片网络285上进行发射。
内置原子操作单元265处理预定义原子操作,如提取并递增或者比较并交换。在实例中,这些操作对大小为32字节或更小的单个存储器位置执行简单的读取-修改-写入操作。从经由小芯片网络285发射的请求包发起原子存储器操作。请求包具有物理地址、原子操作符类型、操作数大小,并且任选地具有至多32字节的数据。原子操作对高速缓存210的高速缓存存储器行执行读取-修改-写入,从而在必要时填充所述高速缓存存储器。原子操作符响应可为简单的完成响应,或具有至多32字节的数据的响应。实例原子存储器操作符包含提取并与、提取并或、提取并异或、提取并加、提取并减、提取并递增、提取并递减、提取并最小、提取并最大、提取并交换和比较并交换。在各种实例实施例中,支持32位和64位操作以及对16或32字节的数据的操作。本文中所公开的方法还与支持更大或更小操作和更多或更少数据的硬件兼容。
内置原子操作还可涉及对关于所请求数据的“标准”原子操作的请求,例如相对简单的单循环整数原子,例如提取并递增或比较并交换,其吞吐量将与不涉及原子操作的常规存储器读取或写入操作相同。对于这些操作,高速缓存控制器215通常可通过(在硬件中)设置危险位来保留高速缓存210中的高速缓存行,使得高速缓存行在转换时无法被另一进程读取。从裸片外存储器275或高速缓存210获得数据,并将所述数据提供到内置原子操作单元265以执行所请求的原子操作。在原子操作后,除将所得数据提供到数据包编码器240以编码传出数据包以供在小芯片网络285上发射之外,内置原子操作单元265还将所得数据提供到写入合并单元255,所述写入合并单元还将所得数据写入到高速缓存电路210。在将所得数据写入到高速缓存210之后,存储器危险清除单元260将清除所设置的任何对应危险位。
PAU 270实现了可编程原子操作(也称为“自定义原子操作”)的高性能(高吞吐量和低时延),其与内置原子操作的性能相当。代替执行多个存储器存取,响应于原子操作请求指定可编程原子操作和存储器地址,存储器控制器小芯片205中的电路系统将原子操作请求传送到PAU 270,并设置存储在存储器危险寄存器中的对应于原子操作中所使用的存储器行的存储器地址的危险位,以确保不对所述存储器行执行其它操作(读取、写入或原子),然后在原子操作完成后清除所述危险位。为执行可编程原子操作的PAU 270提供的额外、直接数据路径允许额外的写入操作,而不会受到由通信网络的带宽施加的任何限制,并且不会增加通信网络的任何拥塞。
PAU 270包含多线程处理器,例如基于RISC-V ISA的多线程处理器,其具有一或多个处理器核心,并且进一步具有用于执行可编程原子操作的扩展式指令集。当具备用于执行可编程原子操作的扩展式指令集时,PAU 270可体现为一或多个混合线程处理器。在一些实例实施例中,PAU 270提供桶式轮循瞬时线程切换以维持较高的每时钟指令速率。
可编程原子操作可由PAU 270执行,所述可编程原子操作涉及对关于所请求数据的可编程原子操作的请求。用户可准备编程代码以提供此类可编程原子操作。举例来说,可编程原子操作可以是相对简单的多循环操作,如浮点加法,或可以是相对复杂的多指令操作,如布隆过滤器插入(Bloom filter insert)。可编程原子操作可与预定原子操作相同或不同,只要它们是由用户而不是系统供应商定义的。对于这些操作,高速缓存控制器215可通过(在硬件中)设置危险位来保留高速缓存210中的高速缓存行,使得高速缓存行在转换时无法被另一进程读取。从高速缓存210或者裸片外存储器275或280获得数据,且提供到PAU 270以执行请求的可编程原子操作。在原子操作后,PAU 270将所得数据提供到网络通信接口225以直接编码具有所得数据的传出数据包以供在小芯片网络285上发射。另外,PAU270将所得数据提供到高速缓存控制器215,所述高速缓存控制器还将所得数据写入到高速缓存210。在将所得数据写入到高速缓存210之后,高速缓存控制电路215将清除所设置的任何对应危险位。
在所选择的实例中,针对可编程原子操作所采用的方式是提供多个通用的自定义原子请求类型,其可通过小芯片网络285从例如处理器或其它系统组件的起始源发送到存储器控制器小芯片205。高速缓存控制器215或裸片外存储器控制器220将请求识别为自定义原子且将所述请求转发到PAU 270。在代表性实施例中,PAU 270:(1)是能够高效地执行用户定义的原子操作的可编程处理元件;(2)可对存储器、算术和逻辑操作以及控制流决策执行加载和存储;并且(3)利用具有一组新的专用指令的RISC-V ISA来促进与此类控制器215、220的交互,从而以原子方式执行用户定义的操作。在合乎需要的实例中,RISC-V ISA含有支持高级语言操作符和数据类型的完整指令集。PAU 270可利用RISC-V ISA,但通常将支持更有限的指令集和有限的寄存器文件大小,以在包含在存储器控制器小芯片205内时减小单元的裸片大小。
如上文所提及,在将读取数据写入到高速缓存210之前,存储器危险清除单元260将清除所保留高速缓存行的所设置的危险位。因此,当写入合并单元255接收到请求和读取数据时,存储器危险清除单元260可将复位或清除信号发射到高速缓存210以复位所保留高速缓存行的所设置的存储器危险位。并且,复位此危险位还将释放涉及所指定(或所保留)的高速缓存行的未决读取或写入请求,从而将未决读取或写入请求提供到入站请求多路复用器以供选择和处理。
图3绘示根据实施例的使用小芯片协议接口(CPI)网络在小芯片布局300中的小芯片之间路由的实例。小芯片布局300包含小芯片310A、310B、310C、310D、310E、310F、310G和310H。小芯片310A到310H由包括节点330A、330B、330C、330D、330E、330F、330G和330H的网络互连。小芯片310A到310H中的每一个包含标记为320A到320H的硬件收发器。
CPI包可使用高级接口总线(AIB)在小芯片310之间传送。AIB提供物理层功能性。物理层使用具有转发时钟的源同步数据传送来发射和接收数据。相对于所发射时钟在SDR或DDR处跨越AIB传送包。AIB支持各种信道宽度。当在SDR模式下操作时,AIB信道宽度为20位的倍数(20、40、60、……),并且对于DDR模式,AIB信道宽度为40位的倍数:(40、80、120、……)。AIB信道宽度包含发射和接收信号。信道可被配置成具有对称数目的发射(TX)和接收(RX)输入/输出(I/O),或者具有非对称数目的发射器和接收器(例如,所有发射器或所有接收器)。信道可充当AIB主控装置或从属装置,取决于哪一个小芯片提供主时钟。
AIB适配器提供到AIB链路层的接口和到AIB物理层(PHY)的接口。AIB适配器提供数据分级寄存器、上电复位定序器和控制信号移位寄存器。
AIB物理层由AIB I/O单元组成。AIB I/O单元(在一些实例实施例中由硬件收发器320实施)可为仅输入、仅输出或双向的。AIB信道由一组AIB I/O单元构成,单元的数目取决于AIB信道的配置。一个小芯片上的接收信号连接到成对小芯片上的发射信号。在一些实例实施例中,每一列包括辅助(AUX)信道和编号为0到N的数据信道。
AIB信道通常被配置成一半TX数据加上一半RX数据、全部为TX数据,或全部为RX数据外加相关联时钟和混杂控制。在一些实例实施例中,TX数据信号相比于RX数据信号的数目在设计时确定且无法作为系统初始化的一部分来配置。
CPI包协议(点到点和可路由)在AIB信道内使用对称的接收和发射I/O单元。CPI流协议允许更灵活地使用AIB I/O单元。在一些实例实施例中,用于流模式的AIB信道可将I/O单元配置为全部TX、全部RX,或一半RX和一半RX。
数据包通过网络节点330在小芯片310当中路由。节点330可基于数据包的一或多个数据字段确定要将接收到的数据包转发到的下一节点330。举例来说,源地址或目的地地址、源端口或目的地端口、虚拟信道或其任何合适的组合可经散列以选择连续网络节点或可用网络路径。以此方式选择路径可用于平衡网络流量。
因此,在图3中,展示从小芯片310A到小芯片310D的数据路径。数据包由硬件收发器320A发送到网络节点330A;由网络节点330A转发到网络节点330C;由网络节点330C转发到网络节点330D;且由网络节点330D递送到小芯片310D的硬件收发器320D。
图3中还展示从小芯片310A到小芯片310G的第二数据路径。数据包由硬件收发器320A发送到网络节点330A;由网络节点330A转发到网络节点330B;由网络节点330B转发到网络节点330D;由网络节点330D转发到网络节点330C;由网络节点330C转发到网络节点330E;由网络节点330E转发到网络节点330F;由网络节点330F转发到网络节点330H;由网络节点330H转发到网络节点330G;且由网络节点330G递送到小芯片310G的硬件收发器320G。如图3中视觉上显而易见,通过网络的多个路径可用于任何对的小芯片之间的数据发射。
AIB I/O单元支持三个计时模式:异步(即,非计时)、SDR和DDR。非计时模式用于时钟和一些控制信号。SDR模式可使用专用的仅SDR I/O单元,或双重用途SDR/DDR I/O单元。
CPI包协议(点到点和可路由)可在SDR或DDR操作模式下使用AIB信道。在一些实例实施例中,AIB信道将针对SDR模式以80个I/O单元(即,40个TX和40个RX)为增量,且针对DDR模式以40个I/O单元为增量。
CPI流协议可在SDR或DDR操作模式下使用AIB信道。在一些实例实施例中,对于两个模式(SDR和DDR),AIB信道以40个I/O单元为增量。
向每一AIB信道分配唯一的接口标识符。所述标识符在CPI复位和初始化期间用于确定跨邻近小芯片的成对AIB信道。在一些实例实施例中,接口标识符是包括七位小芯片标识符、七位列标识符和六位链路标识符的20位值。AIB物理层使用AIB带外移位寄存器来发射接口标识符。使用移位寄存器的位32到51跨越AIB接口在两个方向上传送20位接口标识符。
AIB将堆叠的一组AIB信道定义为AIB信道列。如图3所示,AIB信道列具有一定数目个AIB信道,外加辅助信道。辅助信道含有用于AIB初始化的信号。列内的所有AIB信道(辅助信道除外)具有相同配置(例如,全部为TX、全部为RX,或者一半为TX且一半为RX,以及具有相同数目的数据I/O信号)。AIB信道列在特定定向上围绕小芯片的外围布置以允许小芯片之间的互操作性。虽然图3中展示具有一个硬件收发器320的小芯片310中的每一个,但应注意,小芯片的每一侧可具有零或更多个硬件收发器。
在一些实例实施例中,从邻近于AUX信道的AIB信道开始,以连续递增次序对AIB信道编号。邻近于AUX的AIB信道被定义为AIB信道零。
图3借助于实例展示由包括八个节点330的网络连接的八个小芯片310。更多或更少的小芯片310以及更多或更少的节点330可包含在小芯片网络中,从而允许创建任意大小的小芯片的网络。
图4是根据本公开的一些实施例的包括组合写入启用掩码和信用返回字段的数据包400的框图。数据包400经划分成流控制单元(微片),其中的每一个包括36个位。数据包400的第一微片包含CP字段405、路径字段410、统计字段415、目的地标识符(DID)字段420、序列继续(SC)字段425、长度字段430和命令字段435。每一剩余微片包含信用返回(CR)/写入启用掩码(WEM)字段(例如,CR/WEM字段440和450)和数据字段(例如,数据字段445和455)。实例字段大小在下文论述为说明性实例;虽然字段大小对于所选应用可不同,且不限制数据包的特性。
CP字段405是两位字段,其指示包中的后续微片的CR/WEM字段含有CR数据、WEM数据还是应被忽略,以及是否应使用路径字段410来控制包的排序。在一些实例实施例中,CP字段405中的值0或1指示CR/WEM字段440、450含有信用返回数据;CP字段405中的值2或3指示CR/WEM字段440、450含有WEM数据;值0指示忽略路径字段410;值1或3指示使用路径字段410来确定数据包400的路径;以及值2指示将使用单个路径排序。在一些实例实施例中,使用1位字段。替代地,CP字段405的高位可被视为1位字段,其控制CR/WEM字段440、450含有信用返回数据还是WEM数据。在一些实例实施例中,控制字段的解译的1位字段为受控字段的部分。举例来说,通过使CR/WEM字段440、450扩展一个位以包含选择位,可使CR/WEM字段440、450为自控制的。
路径字段410为八位字段。当CP字段405指示使用路径字段410确定用于数据包400的路径时,保证用于路径字段410的具有相同值的所有数据包采取通过网络的同一路径。因此,数据包的次序将在发送方与接收方之间不变。如果CP字段405指示将使用单个路径排序,那么确定每一包的路径,如同路径字段410设置为零一般。因此,所有包采取相同路径且次序将不变,而与每一数据包的路径字段410的实际值无关。如果CP字段405指示将忽略路径字段410,那么路由数据包而不考虑路径字段410的值,且数据包可由接收方以与其由发送方发送的次序不同的次序接收。然而,这可避免网络中的拥塞且允许装置中较大的吞吐量。
响应状态存储在统计字段415(四位字段)中。在一些实例实施例中,状态零指示成功地处理请求,状态一指示地址错误,状态二指示不支持的请求,状态三指示不可校正数据错误,且保留值四到十五。
DID字段420存储十二位DID。DID唯一地识别网络中的目的地(例如,目的地小芯片)。保证依次递送全部设置了1位SC字段425的数据包的序列。长度字段430是指示包括数据包400的微片的数目的五位字段。长度字段430的解译可为非线性的。举例来说,值0-22可解译为数据包400中的0-22个微片,且值23-27可解译为数据包400中的33-37个微片(即,比所指示值多10)。长度字段430的其它值可由供应商定义,而非协议定义。
数据包400的命令存储于命令字段435,即七位字段中。命令可为写入命令、读取命令、预定义原子操作命令、自定义原子操作命令、读取响应、确认响应或供应商特定命令。另外,命令可指示数据包400的虚拟信道。举例来说,不同命令可用于不同虚拟信道,或七位命令字段435的1、2、3或4位可用于指示虚拟信道且剩余位可用于指示命令。
存储器存取命令可进一步识别待写入或存取的字节的数目、待存取的存储器空间(例如,裸片外存储器375或用于自定义原子操作的指令存储器),或其任何合适的组合。在一些实例实施例中,命令可指示后续微片的额外位识别所述命令。举例来说,可通过使用七位命令字段435中的供应商特定命令且使用32位数据字段445的一部分或全部来发送多字节命令以含有较大命令。
如果启用WEM,那么CR/WEM字段440、450为四位掩码,其指示是否将写入微片中的32个数据位的对应字节中的每一个。因此,单个微片的大小始终为36位,但可含有待写入的0-32个数据位。如果启用CR,那么CR/WEM字段440、450的两个位识别信用返回是针对虚拟信道0、1、2还是3,且CR/WEM字段440、450的其它两个位指示待返回的信用数目为0、1、2还是3。
图5是根据本公开的一些实施例的适合在使用基于信用的流控的系统中使用的信用包500的框图。信用包500包括单个36位微片。所述微片包含四个信用返回字段505、510、515和520,长度字段530,及预留字段525和535。长度字段530设置为零,以指示无额外微片构成信用包500。预留字段525和535不使用且应设置成零。
信用返回字段505到520中的每一个是五位字段。如果信用正返回到低虚拟信道,那么信用返回字段505到520的第一位设置为零。如果信用正返回到高虚拟信道,那么信用返回字段505到520的第一位设置为一。每一信用返回字段505到520的剩余四个位指示正返回的信用数目(0到15)。因此,CR0信用返回字段520将0到15个信用返回到虚拟信道0或4;CR1信用返回字段515将0到15个信用返回到虚拟信道1或5;CR2信用返回字段510将0到15个信用返回到虚拟信道2或6;且CR3信用返回字段505将0到15个信用返回到虚拟信道3或7。
因此,可通过在发送其它数据包(例如确认包)时使用数据包400的CR/WEM字段440、450或通过使用数据包500来实施用于基于信用的流控制的信用返回。在不支持组合写入启用掩码和信用返回字段的使用基于信用的流控的系统中,必须修改数据包400以包含额外信用返回字段或必须发送额外网络包,例如信用包500以返回信用。
图6是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法600的操作的流程图。方法600包含操作610、620和630。借助于实例而非限制,方法600被描述为由图1到3的装置使用图4到5的包执行。
在操作610中,电路(例如,小芯片210D)从源(例如,小芯片210A)接收包括第一字段和第二字段的包。在一些实例实施例中,所述包为数据包400,第一字段为CP字段405,且第二字段为CR/WEM字段440。
在操作620中,如果第一字段具有第一值,那么电路将第二字段解译为写入启用掩码。举例来说,小芯片210A可发送数据包400,其中CP字段405包含指示CR/WEM字段440为WEM的1位。WEM指示数据字段445中的一些将写入到存储器,但数据字段445中的一些将被舍弃。
在操作630中,如果第一字段具有第二值,那么将第二字段解译为信用返回值。举例来说,小芯片210A可发送数据包400,其中CP字段405包含指示CR/WEM字段440含有信用返回值的0位。因此,接收包的小芯片210D递增用于在其上发送包的虚拟信道的可用信用,如由命令字段435中的值所指示。在一些实例实施例中,存在多个CR/WEM字段440、450,并且基于具有第二值的第一字段,将多个CR/WEM字段440、450中的每一个解译为信用返回值。
图7是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法700的操作的流程图。方法700包含方法600的操作610和620以及操作710和720。借助于实例而非限制,方法700被描述为由图1到3的装置使用图4到5的包执行。
在操作610中接收包并在操作620中确定以将第二字段解译为写入启用掩码之后执行方法700。在操作710中,电路通过将写入启用掩码应用于包的第三字段来识别掩蔽数据。举例来说,可在字节层级处使用CR/WEM字段440的四个位来掩蔽32位数据字段445。
在操作720中,电路将掩蔽数据写入到存储器。举例来说,掩蔽数据可写入到裸片外存储器375。因此,通过使用方法700,将掩蔽数据写入到存储器而不需要数据包400中的专用写入启用掩码字段。
图8是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法800的操作的流程图。方法800包含方法600的操作610和630以及操作810和820。借助于实例而非限制,方法800被描述为由图1到3的装置使用图4到5的包执行。
在操作610中接收包并在操作630中确定以将第二字段解译为信用返回字段之后执行方法800。在操作810中,电路基于信用返回值修改信用数据(例如,表示信道的信用的数据)。信用余额可存储于每一信道具有一个条目的寄存器文件中。举例来说,四位CR/WEM字段440指示0到15的值且将对应数目的信用添加到发送数据包的电路的信用余额。在另一实例中,CR/WEM字段440仅在返回至少一个信用时被视为信用返回字段。因此,CR/WEM字段440的4位值可解译为1到16的值。在另一实例中,CR/WEM字段440的前两个位指定四个虚拟信道中的一个以在发送方处补充信用且第二两个位指定待返回的信用数目(0到3)。在又其它实例实施例中,CR/WEM字段440用于查找查找表中返回的信用数目,从而允许返回任意数目的信用,只要发送和接收电路协定所使用的编码。
在操作820中,在不应用掩码的情况下将数据从包的第三字段写入到存储器。举例来说,可在不应用掩码的情况下将数据字段445的所有32位写入到裸片外存储器375。因此,通过使用方法800,在数据包400中提供信用返回数据而不需要专用的信用返回字段。
图9是根据本公开的一些实施例的展示由电路执行的利用组合写入启用掩码和信用返回字段处理数据包的方法900的操作的流程图。方法900包含操作910、920、930、940和950。借助于实例而非限制,方法900被描述为由图1到3的装置使用图4到5的包执行。
在操作910中,电路(例如,小芯片210D)从源(例如,小芯片210A)接收各自包括第一字段、第二字段和包括数据的第三字段的多个包。在一些实例实施例中,每一包具有数据包400的形式,第一字段为CP字段405,第二字段为CR/WEM字段440,且第三字段为数据字段445。
在操作920中,电路确定第一包的第一字段具有第一值还是第二值。举例来说,小芯片210A可发送数据包400,其中CP字段405包含指示CR/WEM字段440是WEM还是信用返回值的1位字段。
响应于确定第一包的第一字段具有第一值(例如,指示CR/WEM字段440将被解译为WEM的值2或3),电路将第一包的第二字段解译为WEM、通过将WEM应用于第一包的第三字段来识别掩蔽数据,并将掩蔽数据写入到存储器(操作930)。
在操作940中,电路确定第二包的第二字段为第一值还是第二值。响应于在操作950中确定第二包的第一字段具有第二值,电路将第二包的第二字段解译为信用返回值并基于信用返回值修改信用数据。在一些实例实施例中,在不应用掩码的情况下将数据从第二包的第三字段写入到存储器。
因此,通过使用方法900,写入启用掩码由第一数据包使用且在第二数据包中提供信用返回数据,而不需要专用的信用返回字段和针对两个数据包使用相同包格式。
图10绘示实例机器1000的框图,可利用所述机器、在所述机器中或通过所述机器实施本文中所论述的技术(例如,方法)中的任一或多种。如本文中所描述,实例可包含机器1000中的逻辑或多个组件或机构,或可由其操作。电路系统(例如,处理电路系统)是在机器1000的有形实体中实施的电路集合,其包含硬件(例如,简单电路、栅极、逻辑等)。电路系统成员资格可随时间推移为灵活的。电路系统包含在操作时可单独或组合地执行指定任务的成员。在实例中,可以不可改变的方式设计电路系统的硬件以实行特定操作(例如,硬连线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以编码特定操作的指令的机器可读介质。在连接物理组件时,改变硬件组成部分的根本电性质,例如从绝缘体变为导体,或反之亦然。指令使得嵌入式硬件(例如,执行单元或加载机构)能够经由可变连接以硬件创建电路系统的部件以在处于操作中时实行特定操作的部分。因此,在实例中,机器可读介质元件是电路系统的一部分或在装置操作时以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路系统中的多于一个部件中。举例来说,在操作下,执行单元可在一个时间点用于第一电路系统中的第一电路,且由第一电路系统中的第二电路重新使用,或在不同时间由第二电路系统中的第三电路重新使用。下面是关于机器1000的这些组件的额外实例。
在替代实施例中,机器1000可充当独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器1000可在服务器-客户端网络环境中以服务器机器、客户端机器或这两者的能力操作。在实例中,机器1000可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器1000可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、网络路由器、交换机或桥接器,或能够执行(循序或以其它方式)指定待由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单个机器,但术语“机器”还应被视为包含单独或联合执行一组(或多组)指令以执行本文论述的方法中的任何一或多种的任何机器集合,如云计算、软件即服务(SaaS)、其它计算机集群配置。
机器(例如,计算机系统)1000可包含硬件处理器1002(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合)、主存储器1004、静态存储器(例如,固件、微码的存储器或存储装置、基本输入输出(BIOS)、统一可扩展固件接口(UEFI)等)1006,以及大容量存储装置1008(例如,硬盘驱动器、磁带机、快闪存储装置或其它块装置),其中的一些或全部可经由互联件(例如,总线)1030彼此通信。机器1000可进一步包含显示单元1010、字母数字输入装置1012(例如,键盘)和用户接口(UI)导航装置1014(例如,鼠标)。在实例中,显示单元1010、输入装置1012和UI导航装置1014可以是触摸屏显示器。机器1000可另外包含存储装置(例如,驱动单元)1008、信号产生装置1018(例如,扬声器)、网络接口装置1020,以及一或多个传感器1016,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器1000可包含输出控制器1028,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
处理器1002、主存储器1004、静态存储器1006或大容量存储装置1008的寄存器可为或包含机器可读介质1022,在其上存储体现本文中所描述的技术或功能中的任何一或多个或被其利用的数据结构或指令1024(例如,软件)的一或多个集合。指令1024还可在其由机器1000执行期间完全或至少部分地驻存在处理器1002、主存储器1004、静态存储器1006或大容量存储装置1008的寄存器中的任一个内。在实例中,硬件处理器1002、主存储器1004、静态存储器1006或大容量存储装置1008中的一个或任何组合可构成机器可读介质1022。虽然机器可读介质1022说明为单个介质,但术语“机器可读介质”可包含被配置成存储所述一或多个指令1024的单个介质或多个介质(例如,集中式或分布式数据库,或相关联高速缓存和服务器)。
术语“机器可读介质”可包含能够存储、编码或携载供机器1000执行且使机器1000执行本公开的技术中的任何一或多种的指令的任何介质,或能够存储、编码或携载由此类指令使用或与此类指令相关联的数据结构的任何介质。非限制性机器可读介质实例可包含固态存储器、光学介质、磁性介质和信号(例如,射频信号、其它基于光子的信号、声音信号等)。在实例中,非暂时性机器可读介质包括具有多个粒子的机器可读介质,所述粒子具有不变(例如,静止)质量,且因此为物质组成。因此,非暂时性机器可读介质是不包含暂时性传播信号的机器可读介质。非暂时性机器可读介质的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移式盘;磁光盘;以及CD-ROM和DVD-ROM盘。
在实例中,存储或以其它方式提供在机器可读介质1022上的信息可表示指令1024,例如指令1024本身或可从其导出指令1024的格式。可从中导出指令1024的此格式可包含源代码、已编码指令(例如,呈压缩或加密形式)、已封装指令(例如,拆分成多个封装)等。表示机器可读介质1022中的指令1024的信息可由处理电路系统处理到指令中以实施本文中所论述的操作中的任一个。举例来说,从信息(例如,由处理电路系统处理)导出指令1024可包含:编译(例如,从源代码、目标代码等)、解译、加载、组织(例如,动态地或静态地链接)、编码、解码、加密、解密、封装、解封装或以其它方式将信息操纵到指令1024中。
在实例中,指令1024的导出可包含对信息的汇编、编译或解译(例如,由处理电路系统)以从由机器可读介质1022提供的一些中间或预处理格式创建指令1024。当在多个部分中提供信息时,可组合、解封装和修改所述信息以创建指令1024。举例来说,信息可在一个或数个远程服务器上的多个压缩源代码封装(或目标代码,或二进制可执行代码等)中。源代码封装可在经由网络传输时被加密,且在必要时被解密、解压缩、汇编(例如,链接),且在本地机器处被编译或解译(例如,到可独立执行的库中等),且由本地机器执行。
指令1024可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、发射控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置1020使用发射介质在通信网络1026上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,以及无线数据网络(例如,电气电子工程师学会(IEEE)802.11系列标准,称为IEEE 802.16系列标准,称为/>)、IEEE 802.15.4系列标准、对等(P2P)网络等。在实例中,网络接口装置1020可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络1026。在实例中,网络接口装置1020可以包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。术语“发射介质”应被视为包含能够存储、编码或携载指令以由机器1000执行的任何无形介质,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形介质。发射介质是机器可读介质。
在前述说明书中,已描述本公开的一些实例实施方案。将显而易见的是,可在不脱离如所附权利要求书中所阐述的本公开的更广范围和精神的情况下对本公开进行各种修改。因此,应在说明性意义上而不是限制性意义上看待说明书和图式。下文为本公开的实施方案的实例的非穷尽性列表。
实例1为一种系统,包括:存储器控制器,其被配置成执行指令以执行操作,包含:跨越网络从源接收包括第一字段、第二字段和包括数据的第三字段的多个包;确定第一包的所述第一字段具有第一值还是第二值;响应于确定所述第一包的所述第一字段具有所述第一值,将所述第一包的所述第二字段解译为写入启用掩码、通过将所述写入启用掩码应用于所述第一包的所述第三字段来识别掩蔽数据并将所述掩蔽数据写入到存储器;确定第二包的所述第一字段具有所述第一值还是所述第二值;以及响应于确定所述第二包的所述第一字段具有所述第二值,将所述第二包的所述第二字段解译为信用返回值并基于所述信用返回值修改信用数据。
在实例2中,根据实例1所述的主题包含,其中所述存储器控制器在第一小芯片上,且其中所述存储器在第二小芯片上。
在实例3中,根据实例1至2所述的主题包含,其中所述存储器控制器通过双数据速率(DDR)存储器接口与所述存储器通信。
在实例4中,根据实例1至3所述的主题包含,其中:所述存储器控制器在第一小芯片上;所述存储器在第二小芯片上;且所述存储器控制器通过网络与存储器小芯片通信。
在实例5中,根据实例1至4所述的主题包含,其中:所述第一字段为2位字段;且所述第二字段为4位字段。
在实例6中,根据实例1至5所述的主题包含,其中:所述第一字段为1位字段;且所述第二字段为4位字段。
在实例7中,根据实例1至6所述的主题包含,其中:所述系统进一步包括存储多个信道中的每一个的数据的存储器,信道的所述数据表示所述信道的信用;所述包进一步包括识别所述多个信道中的信道的第三字段;且所述操作进一步包括如果所述第一字段具有所述第二值,那么基于所述信用返回值修改所识别信道的信用数据。
在实例8中,根据实例1至7所述的主题包含,其中所述操作进一步包括:响应于确定所述第二包的所述第一字段具有所述第二值,在不应用掩码的情况下将所述第三字段写入到所述存储器。
实例9为一种存储指令的非暂时性机器可读介质,所述指令在由系统执行时使得所述系统执行操作,包括:通过存储器控制器跨越网络从源接收包括第一字段、第二字段和包括数据的第三字段的多个包;确定第一包的所述第一字段具有第一值还是第二值;响应于确定所述第一包的所述第一字段具有所述第一值,将所述第一包的所述第二字段解译为写入启用掩码、通过将所述写入启用掩码应用于所述第一包的所述第三字段来识别掩蔽数据并将所述掩蔽数据写入到存储器;确定第二包的所述第一字段具有所述第一值还是所述第二值;以及响应于确定所述第二包的所述第一字段具有所述第二值,将所述第二包的所述第二字段解译为信用返回值并基于所述信用返回值修改信用数据。
在实例10中,根据实例9所述的主题包含,其中所述存储器控制器在第一小芯片上,且其中所述存储器在第二小芯片上。
在实例11中,根据实例9至10所述的主题包含,其中所述存储器控制器通过双数据速率(DDR)存储器接口与存储器小芯片通信。
在实例12中,根据实例9至11所述的主题包含,其中:所述存储器控制器在第一小芯片上;所述存储器在第二小芯片上;且所述存储器控制器通过网络与所述存储器小芯片通信。
在实例13中,根据实例9至12所述的主题包含,其中:所述第一字段为2位字段;且所述第二字段为4位字段。
在实例14中,根据实例9至13所述的主题包含,其中:所述第一字段为1位字段;且所述第二字段为4位字段。
在实例15中,根据实例9至14所述的主题包含,其中:所述系统进一步包括存储多个信道中的每一个的数据的存储器,信道的所述数据表示所述信道的信用;所述包进一步包括识别所述多个信道中的信道的第三字段;且所述操作进一步包括如果所述第一字段具有所述第二值,那么基于所述信用返回值修改所识别信道的信用数据。
实例16为一种方法,包括:通过存储器控制器跨越网络从源接收包括第一字段、第二字段和包括数据的第三字段的多个包;确定第一包的所述第一字段具有第一值还是第二值;响应于确定所述第一包的所述第一字段具有所述第一值,将所述第一包的所述第二字段解译为写入启用掩码、通过将所述写入启用掩码应用于所述第一包的所述第三字段来识别掩蔽数据并将所述掩蔽数据写入到存储器;确定第二包的所述第一字段具有所述第一值还是所述第二值;以及响应于确定所述第二包的所述第一字段具有所述第二值,将所述第二包的所述第二字段解译为信用返回值并基于所述信用返回值修改信用数据。
在实例17中,根据实例16所述的主题包含,其中所述存储器控制器在第一小芯片上,且其中所述存储器在第二小芯片上。
在实例18中,根据实例16至17所述的主题包含,其中所述存储器控制器通过双数据速率(DDR)存储器接口与存储器小芯片通信。
在实例19中,根据实例16至18所述的主题包含,其中:所述存储器控制器在第一小芯片上;所述存储器在第二小芯片上;且所述存储器控制器通过网络与所述存储器小芯片通信。
在实例20中,根据实例16至19所述的主题包含,其中:所述第一字段为2位字段;且所述第二字段为4位字段。
实例21是包含指令的至少一个机器可读介质,所述指令在由处理电路系统执行时使得所述处理电路系统执行操作以实施实例1到20中的任一个。
实例22是一种设备,其包括用以实施实例1到20中的任一个的构件。
实例23为一种用以实施实例1到20中的任一个的系统。
实例24为一种用以实施实例1到20中的任一个的方法。
实例25为被调适且配置成根据实例16到20的方法中的任一种执行操作的实例1到8的存储器装置中的任一者。
实例26为实例1到8的存储器装置中的任一者,其并入到进一步包括主机处理器和在所述主机处理器与所述存储器控制器之间延伸的通信总线的电子系统中。
实例27为经修改以包含实例1到8中的另一个中呈现的任何结构的实例1至8的存储器装置中的任一者。
实例28为一种包含主机处理器和在所述主机处理器与存储器控制器之间延伸的通信接口的电子系统,其被配置成根据实例16到20或24的方法中的任一种执行操作。
实例29为实例16到20或24的方法中的任一种,其经修改以包含实例16到20中的任何其它实例中阐述的操作。
实例30为实例16到20、24或29的方法中的任一种,其至少部分地通过使用在一或多个机器可读存储装置中存储为物理状态的指令实施。
实例31为实例1到8、21到23或25到27的设备中的任一者,其进一步包含被配置成将指令存储为物理状态的机器可读存储装置,其中所述指令可用于执行所述设备的一或多个操作。
Claims (20)
1.一种系统,其包括:
存储器控制器,其被配置成执行指令以执行操作,包含:
跨越网络从源接收包括第一字段、第二字段和包括数据的第三字段的多个包;
确定第一包的所述第一字段具有第一值还是第二值;
响应于确定所述第一包的所述第一字段具有所述第一值,将所述第一包的所述第二字段解译为写入启用掩码、通过将所述写入启用掩码应用于所述第一包的所述第三字段来识别掩蔽数据,并将所述掩蔽数据写入到存储器;
确定第二包的所述第一字段具有所述第一值还是所述第二值;以及
响应于确定所述第二包的所述第一字段具有所述第二值,将所述第二包的所述第二字段解译为信用返回值并基于所述信用返回值修改信用数据。
2.根据权利要求1所述的系统,其中所述存储器控制器在第一小芯片上,且其中所述存储器在第二小芯片上。
3.根据权利要求1所述的系统,其中所述存储器控制器通过双数据速率(DDR)存储器接口与所述存储器通信。
4.根据权利要求1所述的系统,其中:
所述存储器控制器在第一小芯片上;
所述存储器在第二小芯片上;且
所述存储器控制器通过所述网络与存储器小芯片通信。
5.根据权利要求1所述的系统,其中:
所述第一字段为2位字段;且
所述第二字段为4位字段。
6.根据权利要求1所述的系统,其中:
所述第一字段为1位字段;且
所述第二字段为4位字段。
7.根据权利要求1所述的系统,其中:
所述系统进一步包括存储多个信道中的每一个的数据的存储器,信道的所述数据表示所述信道的信用;
所述包进一步包括识别所述多个信道中的信道的第三字段;且
所述操作进一步包括如果所述第一字段具有所述第二值,那么:
基于所述信用返回值修改所识别信道的所述数据。
8.根据权利要求1所述的系统,其中所述操作进一步包括:
响应于确定所述第二包的所述第一字段具有所述第二值,在不应用掩码的情况下将所述第三字段写入到所述存储器。
9.一种存储指令的非暂时性机器可读介质,所述指令在由系统执行时使所述系统执行包括以下各项的操作:
通过存储器控制器跨越网络从源接收包括第一字段、第二字段和包括数据的第三字段的多个包;
确定第一包的所述第一字段具有第一值还是第二值;
响应于确定所述第一包的所述第一字段具有所述第一值,将所述第一包的所述第二字段解译为写入启用掩码、通过将所述写入启用掩码应用于所述第一包的所述第三字段来识别掩蔽数据,并将所述掩蔽数据写入到存储器;
确定第二包的所述第一字段具有所述第一值还是所述第二值;以及
响应于确定所述第二包的所述第一字段具有所述第二值,将所述第二包的所述第二字段解译为信用返回值并基于所述信用返回值修改信用数据。
10.根据权利要求9所述的机器可读介质,其中所述存储器控制器在第一小芯片上,且其中所述存储器在第二小芯片上。
11.根据权利要求9所述的机器可读介质,其中所述存储器控制器通过双数据速率(DDR)存储器接口与存储器小芯片通信。
12.根据权利要求9所述的机器可读介质,其中:
所述存储器控制器在第一小芯片上;
所述存储器在第二小芯片上;且
所述存储器控制器通过所述网络与所述存储器小芯片通信。
13.根据权利要求9所述的机器可读介质,其中:
所述第一字段为2位字段;且
所述第二字段为4位字段。
14.根据权利要求9所述的机器可读介质,其中:
所述第一字段为1位字段;且
所述第二字段为4位字段。
15.根据权利要求9所述的机器可读介质,其中:
所述系统进一步包括存储多个信道中的每一个的数据的存储器,信道的所述数据表示所述信道的信用;
所述包进一步包括识别所述多个信道中的信道的第三字段;且
所述操作进一步包括如果所述第一字段具有所述第二值,那么:
基于所述信用返回值修改所识别信道的所述信用数据。
16.一种方法,其包括:
通过存储器控制器跨越网络从源接收包括第一字段、第二字段和包括数据的第三字段的多个包;
确定第一包的所述第一字段具有第一值还是第二值;
响应于确定所述第一包的所述第一字段具有所述第一值,将所述第一包的所述第二字段解译为写入启用掩码、通过将所述写入启用掩码应用于所述第一包的所述第三字段来识别掩蔽数据,并将所述掩蔽数据写入到存储器;
确定第二包的所述第一字段具有所述第一值还是所述第二值;以及
响应于确定所述第二包的所述第一字段具有所述第二值,将所述第二包的所述第二字段解译为信用返回值并基于所述信用返回值修改信用数据。
17.根据权利要求16所述的方法,其中所述存储器控制器在第一小芯片上,且其中所述存储器在第二小芯片上。
18.根据权利要求16所述的方法,其中所述存储器控制器通过双数据速率(DDR)存储器接口与存储器小芯片通信。
19.根据权利要求16所述的方法,其中:
所述存储器控制器在第一小芯片上;
所述存储器在第二小芯片上;且
所述存储器控制器通过所述网络与所述存储器小芯片通信。
20.根据权利要求16所述的方法,其中:
所述第一字段为2位字段;且
所述第二字段为4位字段。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/007,701 | 2020-08-31 | ||
US17/007,701 US11356378B2 (en) | 2020-08-31 | 2020-08-31 | Combined write enable mask and credit return field |
PCT/US2021/038401 WO2022046253A1 (en) | 2020-08-31 | 2021-06-22 | Combined write enable mask and credit return field |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116261849A true CN116261849A (zh) | 2023-06-13 |
Family
ID=80353684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180067559.4A Pending CN116261849A (zh) | 2020-08-31 | 2021-06-22 | 组合写入启用掩码和信用返回字段 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11356378B2 (zh) |
CN (1) | CN116261849A (zh) |
WO (1) | WO2022046253A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11831543B2 (en) | 2020-08-31 | 2023-11-28 | Micron Technology, Inc. | Flow control for a multiple flow control unit interface |
US11966345B2 (en) | 2020-08-31 | 2024-04-23 | Micron Technology, Inc. | Network credit return mechanisms |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11588745B2 (en) | 2020-08-31 | 2023-02-21 | Micron Technology, Inc. | Early credit return for credit-based flow control |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042842B2 (en) * | 2001-06-13 | 2006-05-09 | Computer Network Technology Corporation | Fiber channel switch |
US7441055B2 (en) | 2004-03-31 | 2008-10-21 | Intel Corporation | Apparatus and method to maximize buffer utilization in an I/O controller |
US7136954B2 (en) | 2005-01-31 | 2006-11-14 | International Business Machines Corporation | Data communication method and apparatus utilizing credit-based data transfer protocol and credit loss detection mechanism |
US20100158023A1 (en) | 2008-12-23 | 2010-06-24 | Suvhasis Mukhopadhyay | System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions |
US9479196B2 (en) | 2012-10-22 | 2016-10-25 | Intel Corporation | High performance interconnect link layer |
US20150109024A1 (en) | 2013-10-22 | 2015-04-23 | Vaughn Timothy Betz | Field Programmable Gate-Array with Embedded Network-on-Chip Hardware and Design Flow |
US9385962B2 (en) | 2013-12-20 | 2016-07-05 | Intel Corporation | Method and system for flexible credit exchange within high performance fabrics |
US9477631B2 (en) | 2014-06-26 | 2016-10-25 | Intel Corporation | Optimized credit return mechanism for packet sends |
US20170116141A1 (en) * | 2015-10-23 | 2017-04-27 | Qualcomm Incorporated | Radio frequency front end devices with masked write |
KR102635134B1 (ko) | 2016-06-30 | 2024-02-08 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 비동기식 메모리 버퍼칩 및 이를 포함하는 메모리 시스템 |
US10664433B2 (en) | 2016-06-30 | 2020-05-26 | Intel Corporation | Innovative high speed serial controller testing |
US10282097B2 (en) | 2017-01-05 | 2019-05-07 | Western Digital Technologies, Inc. | Storage system and method for thin provisioning |
US11029859B2 (en) | 2017-08-23 | 2021-06-08 | Toshiba Memory Corporation | Credit based command scheduling |
US10474611B2 (en) | 2017-09-19 | 2019-11-12 | International Business Machines Corporation | Aligning received bad data indicators (BDIS) with received data on a cross-chip link |
US10915271B2 (en) | 2018-01-29 | 2021-02-09 | Micron Technology, Inc. | Memory controller with programmable atomic operations |
US11461527B2 (en) * | 2018-02-02 | 2022-10-04 | Micron Technology, Inc. | Interface for data communication between chiplets or other integrated circuits on an interposer |
US11513840B2 (en) | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Thread creation on local or remote compute elements by a multi-threaded, self-scheduling processor |
US11126587B2 (en) | 2018-05-07 | 2021-09-21 | Micron Technology, Inc. | Event messaging in a system having a self-scheduling processor and a hybrid threading fabric |
US11513839B2 (en) | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Memory request size management in a multi-threaded, self-scheduling processor |
US11074078B2 (en) | 2018-05-07 | 2021-07-27 | Micron Technology, Inc. | Adjustment of load access size by a multi-threaded, self-scheduling processor to manage network congestion |
US11068305B2 (en) | 2018-05-07 | 2021-07-20 | Micron Technology, Inc. | System call management in a user-mode, multi-threaded, self-scheduling processor |
US11513837B2 (en) | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Thread commencement and completion using work descriptor packets in a system having a self-scheduling processor and a hybrid threading fabric |
US11132233B2 (en) | 2018-05-07 | 2021-09-28 | Micron Technology, Inc. | Thread priority management in a multi-threaded, self-scheduling processor |
US11119972B2 (en) | 2018-05-07 | 2021-09-14 | Micron Technology, Inc. | Multi-threaded, self-scheduling processor |
US10782916B2 (en) | 2018-08-08 | 2020-09-22 | Micron Technology, Inc. | Proactive return of write credits in a memory system |
US10592452B1 (en) | 2018-09-12 | 2020-03-17 | Cavium, Llc | Low latency interconnect protocol for coherent multi-chip communication |
WO2020077107A1 (en) | 2018-10-10 | 2020-04-16 | Nvidia Corporation | Test systems for executing self-testing in deployed automotive platforms |
US10671554B1 (en) | 2019-02-08 | 2020-06-02 | Advanced Micro Devices, Inc. | Credit based flow control mechanism for use in multiple link width interconnect systems |
-
2020
- 2020-08-31 US US17/007,701 patent/US11356378B2/en active Active
-
2021
- 2021-06-22 CN CN202180067559.4A patent/CN116261849A/zh active Pending
- 2021-06-22 WO PCT/US2021/038401 patent/WO2022046253A1/en active Application Filing
-
2022
- 2022-05-03 US US17/735,636 patent/US20220263769A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11831543B2 (en) | 2020-08-31 | 2023-11-28 | Micron Technology, Inc. | Flow control for a multiple flow control unit interface |
US11966345B2 (en) | 2020-08-31 | 2024-04-23 | Micron Technology, Inc. | Network credit return mechanisms |
Also Published As
Publication number | Publication date |
---|---|
US11356378B2 (en) | 2022-06-07 |
WO2022046253A1 (en) | 2022-03-03 |
US20220070108A1 (en) | 2022-03-03 |
US20220263769A1 (en) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11924313B2 (en) | Multiple protocol header processing | |
US20230097722A1 (en) | Single field for encoding multiple elements | |
US11695704B2 (en) | Reduced sized encoding of packet length field | |
US11693690B2 (en) | Method of completing a programmable atomic transaction by ensuring memory locks are cleared | |
US11789885B2 (en) | Ordered delivery of data packets based on type of path information in each packet | |
US11588745B2 (en) | Early credit return for credit-based flow control | |
CN116261849A (zh) | 组合写入启用掩码和信用返回字段 | |
CN116325707A (zh) | 透明的包拆分和重组 | |
US11658922B2 (en) | Optional path ordering in packet-based network | |
CN116325706A (zh) | 网络信用返回机制 | |
CN114385240A (zh) | 组织可编程原子单元指令存储器的方法 | |
CN116235479A (zh) | 用于多流量控制单元接口的流量控制 | |
CN116636189A (zh) | 用于网络装置中的缓冲包的包仲裁 | |
CN114385237B (zh) | 用于低时延寄存器错误校正的方法和设备及机器可读介质 | |
CN116583823A (zh) | 使用长向量仲裁的异步管线合并 | |
CN114385538B (zh) | 电路中的管线合并 | |
CN116529721A (zh) | 按需可编程原子内核加载 | |
CN116569156A (zh) | 同步接口的有效负载奇偶校验保护 | |
CN116635824A (zh) | 桶式处理器中的线程调度控制及存储器分割 | |
CN116569151A (zh) | 多通道存储器系统 | |
CN116324753A (zh) | 用于配置多个输入-输出信道的方法 | |
CN114385238A (zh) | 减小存储器控制器中的存储器操作的时延 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |