CN114443516A - 接口电路、包括接口电路的处理器以及处理包的方法 - Google Patents
接口电路、包括接口电路的处理器以及处理包的方法 Download PDFInfo
- Publication number
- CN114443516A CN114443516A CN202110980948.8A CN202110980948A CN114443516A CN 114443516 A CN114443516 A CN 114443516A CN 202110980948 A CN202110980948 A CN 202110980948A CN 114443516 A CN114443516 A CN 114443516A
- Authority
- CN
- China
- Prior art keywords
- packet
- packets
- extension
- message
- interface circuit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 description 60
- 230000015654 memory Effects 0.000 description 46
- 230000004044 response Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 6
- 230000001427 coherent effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003252 repetitive effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/38—Flow control; Congestion control by adapting coding or compression rate
-
- 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/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
Abstract
公开了接口电路、包括接口电路的处理器以及处理包的方法。所述接口电路包括:包发送器,被配置为:基于从核电路输出的请求来生成多个传输包,并且输出所述多个传输包,所述多个传输包包括指示为将被合并的包的信息;以及包接收器,被配置为:通过合并从所述接口电路的外部接收的多个接收包之中的多个扩展包来生成合并包,所述多个扩展包包括指示为将被合并的包的信息。
Description
本申请要求于2020年11月4日在韩国知识产权局提交的第10-2020-0146196号韩国专利申请的优先权,该韩国专利申请的公开通过引用全部包含于此。
技术领域
发明构思涉及包管理,更具体地,涉及用于生成扩展包(extension packet)的接口电路、处理器和处理包的方法。
背景技术
被配置为处理数据的设备可通过访问存储器来执行操作。例如,设备可处理从存储器读取的数据,并且可将处理后的数据写入存储器。由于期望的系统的性能要求和功能要求,可提供高带宽和低延迟的经由链路彼此通信的各种设备可被包括在系统中。包括在系统中的存储器可被两个或更多个设备共享并访问。因此,系统性能可取决于各个设备的操作速度、设备之间的通信效率以及访问存储器的时间段。
发明内容
本公开的实施例可提供用于包括增加数量的字段的消息的接口电路、处理器和处理包的方法。
根据本公开的实施例,提供了一种接口电路,所述接口电路包括:包发送器,被配置为:基于从核电路输出的请求来生成多个传输包,并且输出所述多个传输包,所述多个传输包包括指示为将被合并的包的信息;以及包接收器,被配置为:通过合并从所述接口电路的外部接收的多个接收包之中的多个扩展包来生成合并包,所述多个扩展包包括指示为将被合并的包的信息。
根据本公开的实施例,提供了一种处理器,所述处理器包括:控制器,被配置为生成将被传送到外部装置的消息;以及接口电路,被配置为基于消息生成将被输出到总线的包,其中,接口电路被配置为:以不同格式生成多个包,使得包括在消息中的多个字段被分散在所述多个包中;以及将所述多个包输出到总线。
根据本公开的实施例,提供了一种处理包的方法,所述方法包括:从外部接收多个接收包;识别所述多个接收包之中的多个扩展包,所述多个扩展包包括指示为将被合并的包的信息;通过布置包括在所述多个扩展包中的多个字段来生成合并包;以及输出合并包。
附图说明
从下面的结合附图的详细描述,将更清楚地理解本公开的实施例,其中:
图1是示出根据本公开的实施例的系统的框图;
图2是示出根据本公开的实施例的包的数据图;
图3是示出根据本公开的实施例的消息的数据图;
图4是示出根据本公开的实施例的消息的数据图;
图5是示出根据本公开的实施例的消息的数据图;
图6是示出根据本公开的实施例的系统的框图;
图7是示出根据本公开的实施例的接口电路的框图;
图8是示出根据本公开的实施例的处理包的方法的流程图;
图9是示出根据本公开的实施例的处理包的方法的混合图(hybrid diagram);
图10A和图10B是示出根据本公开的实施例的系统的示例的框图;以及
图11是示出应用了根据本公开的实施例的系统的数据中心的框图。
具体实施方式
在下文中,将参照附图描述本公开的实施例。
图1示出根据本公开的实施例的系统。系统100可包括任何计算系统或包括在计算系统中的组件,计算系统包括彼此通信的装置110和主机处理器120。例如,系统100可被包括在固定计算系统(诸如,台式计算机、服务器、自助服务终端等)中,或者系统100可被包括在便携式计算系统(诸如,膝上型计算机、移动电话、可穿戴装置等)中。此外,在一些实施例中,系统100可被包括在其中装置110和主机处理器120被实现在一个芯片或封装件中的片上系统(SoC)或系统级封装(system-in-package,SiP)中。如图1中所示,系统100可包括装置110、主机处理器120、装置附接存储器(device-attached memory)130和主机存储器140。在一些实施例中,可从系统100省略装置附接存储器130。
参照图1,装置110和主机处理器120可经由链路150彼此通信,并且可通过链路150在它们之间执行消息的发送或接收。尽管将参照基于支持计算快速链路(compute expresslink,CXL)协议的CXL规范的链路150来描述本公开的实施例,但是装置110和主机处理器120可基于一致性互连技术(诸如,但不限于,XBus协议、NVLink协议、Infinity Fabric协议、用于加速器的高速缓存一致性互连(CCIX)协议或一致性加速器处理器接口(CAPI))彼此通信。
在一些实施例中,链路150可支持多个协议,并且消息可经由多个协议被传送。例如,链路150可支持CXL协议,CXL协议包括非一致性协议(诸如,CXL.io)、一致性协议(诸如,CXL.cache)、以及存储器访问协议或存储器协议(诸如,CXL.mem)。在一些实施例中,链路150可支持协议(诸如,但不限于,外围组件互连(PCI)、PCI快速(PCIe)、通用串行总线(USB)或串行高级技术附件(SATA))。在此,由链路150支持的协议也可被称为互连协议。
装置110可表示用于将有用功能提供给主机处理器120的任何装置,并且在一些实施例中,装置110可对应于符合CXL规范的加速器。例如,在主机处理器120上运行的软件可将计算操作和/或输入/输出(I/O)操作中的至少一些卸载到装置110。在一些实施例中,装置110可包括可编程组件(诸如,图形处理器(GPU)或神经处理器(NPU))、提供固定功能的组件(诸如,半导体知识产权(IP)核)以及可重新配置的组件(诸如,专用集成电路(ASIC)或现场可编程门阵列(FPGA)逻辑系统(诸如,但不限于,可使用IP核作为构建块的系统))中的至少一个。如图1中所示,装置110可包括物理层111、多协议复用器112、接口电路(例如,第一接口电路)113和加速器电路114,并且装置110可与装置附接存储器130通信。
加速器电路114可执行装置110提供给主机处理器120的有用功能,并且也可被称为加速器逻辑。当装置附接存储器130被包括在如图1中所示的系统100中时,加速器电路114可基于独立于链路150的协议(即,装置特定协议)与装置附接存储器130通信。此外,如图1中所示,加速器电路114可通过使用多个协议经由接口电路113与主机处理器120通信。加速器电路114可生成请求和响应,并且经由接口电路113将请求和响应传送到主机处理器120,从而执行提供给主机处理器120的有用功能。
接口电路113可基于用于加速器电路114与主机处理器120之间的通信的消息,来确定多个协议中的一个。接口电路113可连接到包括在多协议复用器112中的至少一个协议队列,并且可经由至少一个协议队列向主机处理器120发送消息和从主机处理器120接收消息。在一些实施例中,接口电路113和多协议复用器112可集成到一个组件中。在一些实施例中,多协议复用器112可包括分别与由链路150支持的多个协议对应的多个协议队列。此外,在一些实施例中,多协议复用器112可在通过不同协议的通信之间执行仲裁(arbitration),并且可将选择的通信提供给物理层111。在一些实施例中,物理层111可经由单个互连、总线、迹线等(但不限于此)连接到主机处理器120的物理层121。
主机处理器120可以是系统100的主处理器(例如,中央处理器(CPU)),并且在一些实施例中,主机处理器120可对应于符合CXL规范的主机处理器或主机。如图1中所示,主机处理器120可连接到主机存储器140,并且可包括物理层121、多协议复用器122、接口电路(例如,第二接口电路)123、一致性/高速缓存电路124、总线电路125、至少一个核126和I/O装置127。
至少一个核126可执行指令,并且可连接到一致性/高速缓存电路124。至少一个核126可经由接口电路123将与指令对应的请求提供给装置110。一致性/高速缓存电路124可包括高速缓存层级(hierarchy),并且还可被称为一致性/高速缓存逻辑。如图1中所示,一致性/高速缓存电路124可与至少一个核126和接口电路123通信。例如,一致性/高速缓存电路124可允许经由包括一致性协议和存储器访问协议的两个或更多个协议进行通信。在一些实施例中,一致性/高速缓存电路124可包括直接存储器访问(DMA)电路。一致性/高速缓存电路124可生成请求和响应,使得装置附接存储器130与主机存储器140之间的高速缓存一致性被保持,并且一致性/高速缓存电路124可经由接口电路123将请求和响应提供给装置110。I/O装置127可用于与总线电路125通信。例如,总线电路125可以是PCIe逻辑,I/O装置127可以是PCIe I/O装置。在此,生成请求或响应的组件(例如,加速器电路114、至少一个核126、一致性/高速缓存电路124或总线电路125)可被称为核电路。
接口电路123可允许装置110与主机处理器120的组件(例如,一致性/高速缓存电路124和总线电路125)之间的通信。在一些实施例中,接口电路123可允许根据多个协议(例如,非一致性协议、一致性协议和/或存储器协议)在装置110与主机处理器120的组件之间传送消息。例如,接口电路123可基于用于装置110与主机处理器120的组件之间的通信的消息,来确定多个协议中的一个。
多协议复用器122可包括至少一个协议队列。接口电路123可连接到至少一个协议队列,并且可经由至少一个协议队列向装置110发送消息和从装置110接收消息。在一些实施例中,接口电路123和多协议复用器122可集成到一个组件中。在一些实施例中,多协议复用器122可包括分别与由链路150支持的多个协议对应的多个协议队列。此外,在一些实施例中,多协议复用器122可在通过不同协议的通信之间执行仲裁,并且可将选择的通信提供给物理层121。
在实施例中,装置110和主机处理器120可在它们之间执行消息的发送和接收。由主机处理器120提供给装置110的消息可被称为主机到装置(H2D)请求、H2D响应、主到从(M2S)请求或M2S响应。由装置110提供给主机处理器120的消息可被称为装置到主机(D2H)请求、D2H响应、从到主(S2M)请求或S2M响应。因为装置110和主机处理器120提供给彼此的信息根据协议的类型而变化,所以包括在消息中的字段的数量、大小和类型可变化。
经由链路150在每个时钟周期传送的数据单元(或称为数据单位)可被称为包。基于CXL规范,包还可被称为形成网络包或流的流控制单元或流控制数(微片(flit))(诸如,链路级原子片段(link-level atomic piece))。在一个实施例中,包可包括多个消息。因此,主机处理器120和装置110可通过使请求消息和响应消息被同时包括在一个包中来提高通信速度。然而,因为包的长度可能是固定的(例如,包的长度可彼此相等),以便满足或保持链路150上的等待时间,所以能够被包括在一个包中的信息可能被限制。
由于由协议支持的功能多样化,因此包括在一个消息中的字段的数量可增加,或者消息中的字段的类型可以是多样化的。在这种情况下,因为尽管消息的长度不可避免地增加,但是包的长度出于等待时间的目的是固定的,所以可能发生提供各种功能与保持等待时间之间的权衡。
根据本公开的实施例的接口电路113和123中的每个可将构成一个消息的字段分散在单独的包中,从而具有增加构成消息的字段的数量而不修改包的长度的效果。
图2示出根据本公开的实施例的包。参照图2,传输包1000可包括例如协议标识(ID)字段、四个时隙和循环冗余校验(CRC)字段。尽管传输包1000被描述为包括四个时隙,但是时隙的数量不限于此。传输包1000可以是经由链路150传输的数据单元。协议ID字段可以是用于标识由链路150支持的多个协议中的至少一个协议的信息。时隙可以是包括至少一个消息的区域。在本公开的实施例中,时隙可以是包括至少一个扩展消息的区域。扩展消息可包括指示要与至少一个其他消息合并的消息的信息(即,扩展信息)。以下可参照图3至图5更详细地描述扩展消息。CRC字段可包括用于传输错误检测的比特。包括时隙的包可被称为事务包(transaction packet)。包括事务字段和CRC字段的包可被称为链路包。包括链路包和协议ID字段的包可被称为物理层包。
在一个实施例中,消息可包括有效字段(图2中的“valid”)、操作码字段(图2中的“opcode”)、地址字段(图2中的“ADDR”)和保留字段(图2中的“RSVD”)。消息还可包括附加字段。包括在消息中的字段的数量、大小和类型可根据协议而变化。包括在消息中的每个字段可包括至少一个比特。例如,有效字段可包括指示消息是有效消息的1个比特。操作码字段可包括定义与消息对应的操作的多个比特。例如,操作码字段可表示与存储器的读取命令或写入命令对应的操作码。地址字段可包括指示与操作码字段有关的地址的多个比特。例如,当操作码对应于读取命令时,地址字段可指示存储有读取数据的存储器区域的地址。此外,当操作码对应于写入命令时,地址字段可指示将被写入数据的存储器区域的地址。保留字段可以是可包括附加信息的区域。因此,通过协议新添加到消息的信息可被包括在保留字段中。
如图2中所示,因为除了消息的长度之外包的长度也可能是固定的,以保持链路150上的等待时间,所以能够被包括在一个消息中的信息可能被限制。然而,由于由协议支持的功能可以是多样化的,因此包括在一个消息中的字段的数量可增加,或者消息中的字段的类型可以是多样化的。
如下所述,根据本公开的实施例的接口电路可将包括在一个消息中的多个字段分散在多个包中,从而具有增加包括在消息中的字段的数量而不修改包的长度的效果。
图3示出根据本公开的实施例的消息。参照图3,根据本公开的实施例的扩展消息可包括扩展信息。扩展信息可以是指示是否将包与另外的包合并的信息。也就是说,包括扩展信息的包可与另外的包合并。在一个实施例中,扩展信息可由记录在操作码字段中的比特值表示。也就是说,能够被记录在操作码字段中的比特值之一可用于表示扩展信息,由此可在不消耗或增大包大小的情况下表示扩展信息。然而,本公开的实施例不限于此,并且能够被记录在有效字段或地址字段中的比特值之一可用于表示扩展信息。尽管扩展信息被描述为被记录在操作码字段中,但是除了扩展信息之外的操作码也可由比特值表示。例如,当“111”被记录在操作码字段中时,对应的包可以是扩展消息并且可与写入操作有关。然而,本公开的实施例不限于此,并且扩展信息可由各种比特值表示。记录在操作码字段中的比特值可指示操作码信息和扩展信息两者。也就是说,记录在操作码字段中的比特值可被解码,由此可识别对应的包是将被合并的包,并且可识别将对合并后的包执行什么操作。参照图3,包括在一个消息中的字段可被分散在第一扩展消息和第二扩展消息中。也就是说,可通过将第一扩展消息与第二扩展消息合并来生成一个消息。第一扩展消息和第二扩展消息可各自包括扩展信息。在第一扩展消息中,附加信息可被记录在第一字段(图3中的“字段1”)中。附加信息可以是例如用于保持主机处理器与装置之间的高速缓存一致性的信息。可根据相应的协议以各种方式定义附加信息。因为消息的长度可以是固定的,所以能够被包括在第一扩展消息中的附加信息可被限制。因此,未包括在第一扩展消息中的附加信息可被包括在第二扩展消息中。也就是说,未包括在第一扩展消息中的附加信息可被记录在第二扩展消息的第二字段(图3中的“字段2”)和/或第三字段(图3中的“字段3”)中。第二扩展消息包括与包括在第一扩展消息中的字段不重叠的字段,由此主机处理器和装置可彼此交换附加信息。例如,通过将包括在第一扩展消息中的地址字段改变为记录有附加信息的第二字段,主机处理器和装置可彼此交换附加信息。然而,本公开的实施例不限于此,并且除了地址字段之外的另外的字段可被改变为包括附加信息的字段。因为第一扩展消息和第二扩展消息包括彼此不同的字段,所以第一扩展消息和第二扩展消息可被描述为以彼此不同的格式被编码。
第一扩展消息和第二扩展消息可被彼此合并。具体地,包括在第一扩展消息和第二扩展消息中的字段可被集成到一个流中,从而生成合并后的包(即,一个消息)。合并后的包可以以字段为基础被解码,并且记录在每个字段中的信息可被提取。
合并后的包的长度可大于第一扩展消息的长度或第二扩展消息的长度。通过将包括在一个消息中的多个字段分散在多个包中并交换多个包,即使在具有有限长度的包被使用时,根据本公开的实施例的接口电路也可具有增加包括在消息中的字段的数量的效果。
图4示出根据本公开的实施例的消息。参照图4,扩展消息可包括专门用于记录扩展信息的扩展字段(图4中的“ext”)。与图3的扩展消息不同,操作码或其他字段不需要包括扩展信息。例如,扩展字段可由1个比特实现,当对应的包是扩展消息时,“1”可被记录在扩展字段中,并且当对应的包不是扩展消息时,“0”可被记录在扩展字段中。
在包括在第一扩展消息和第二扩展消息中的字段之中的除了扩展字段之外的字段可被集成到一个流中,从而生成合并后的包(即,一个消息)。
图5示出根据本公开的实施例的消息。参照图5,扩展消息还可包括指示字段的布置次序的次序信息。在一个实施例中,扩展消息可包括专门用于次序信息的次序字段。在另一实施例中,次序信息可被记录在另外的字段中;例如,次序信息可与被记录在操作码字段中的操作码一起被记录在操作码字段中。尽管图3示出了扩展信息可被记录在操作码字段中,但是扩展信息可以可选地被记录在如图4中所示的专用字段中。
在一个实施例中,指示第一次序的信息可被包括在第一扩展消息中,指示第二次序的信息可被包括在第二扩展消息中。当第一扩展消息和第二扩展消息被合并时,可参照次序信息来布置包括在第一扩展消息和第二扩展消息中的字段。也就是说,包括在第一扩展消息中的第一字段(图5中的“字段1”)被布置,包括在第二扩展消息中的第二字段和第三字段(图5中的“字段2”和“字段3”)可以以陈述的次序被布置。尽管构成一个消息的字段被描述为被分散在两个扩展消息中,但是本公开的实施例不限于此,并且构成一个消息的字段可被分散在多个扩展消息中。因为可通过使多个扩展消息中的每个包括次序信息来减少布置多个扩展消息的情况的数量,所以可节省用于对合并后的消息进行解码的资源。在一个实施例中,次序字段可包括指示与一个消息对应的多个扩展消息之中的最后的扩展消息的信息。在一个实施例中,扩展消息可包括专门用于指示扩展消息是否是最后的扩展消息的信息的字段。参照图5,因为包括在第一扩展消息中的第一字段以及都包括在第二扩展消息中的第二字段和第三字段以陈述的次序被布置,所以可理解,最后的扩展消息是第二扩展消息,但不限于此。
图6示出根据本公开的实施例的系统。参照图6,系统100a可包括装置200和主机处理器300。装置200和主机处理器300可分别是图1中的装置110和主机处理器120的示例。
装置200可包括加速器电路210、第一控制器220和第一接口电路230。加速器电路210可以是图1的加速器电路114的示例。第一控制器220可连接到加速器电路210,可生成用于处理从加速器电路210接收的请求的多个消息,并且可将多个消息提供给第一接口电路230。第一控制器220可连接到第一接口电路230,可基于从第一接口电路230接收的多个消息生成与请求对应的响应,并且可将响应提供给加速器电路210。第一接口电路230可包括第一包发送器231和第一包接收器232。第一包发送器231可生成用于将多个消息传送到主机处理器300的包。第一包发送器231可生成与一个消息对应的多个扩展消息。多个扩展消息可被传送到第二接口电路330。如以上参照图3至图5所述,扩展消息可包括指示将被合并的包的扩展信息,并且构成一个消息的多个字段可被分散在多个扩展消息中。第一包接收器232可从第二接口电路330接收多个扩展消息,并且可通过合并多个扩展消息来生成一个消息。
主机处理器300可包括至少一个核310、第二控制器320和第二接口电路330。至少一个核310可执行多个指令。第二控制器320可包括图1的一致性/高速缓存电路124。第二控制器320可连接到至少一个核310,可生成用于处理从至少一个核310接收的请求的多个消息,并且可将多个消息提供给第二接口电路330。第二控制器320可连接到第二接口电路330,可基于从第二接口电路330接收的多个消息生成与请求对应的响应,并且可将响应提供给至少一个核310。第二接口电路330可包括第二包发送器331和第二包接收器332。第二包发送器331可与第一包发送器231基本相同地被配置,第二包接收器332可与第一包接收器232基本相同地被配置。因此,第一包发送器231的描述可被应用于第二包发送器331,第一包接收器232的描述可被应用于第二包接收器332,所以重复的描述可被省略。
图7示出根据本公开的实施例的接口电路。参照图7,第一包发送器231可将多个扩展消息e_m1和e_m2提供给第二包接收器332。尽管参照图7描述了第一包发送器231与第二包接收器332之间的包传输,但是第二包发送器331与第一包接收器232之间的包传输也可以以基本相同的方式被执行,因此重复的描述可被省略。
第一包发送器231可包括事务包生成器410、链路包生成器420和扩展能力寄存器430。事务包生成器410可从第一控制器220接收消息,并且可生成其中分散有构成消息的多个字段的多个扩展消息e_m1和e_m2。在一个实施例中,事务包生成器410可使生成的扩展消息e_m1和e_m2被包括在不同的事务包中。在另一实施例中,事务包生成器410可使生成的扩展消息e_m1和e_m2被包括在一个事务包中包含的不同时隙中。事务包生成器410可将包括扩展消息的事务包提供给链路包生成器420。链路包生成器420可通过将用于传输错误检测的比特记录在CRC字段中来生成链路包。链路包可被发送到物理层,并且物理层可通过将协议ID字段添加到链路包来生成传输包。链路包生成器420可经由总线(例如,图1的链路150)输出包括多个扩展消息e_m1和e_m2的至少一个传输包。扩展能力寄存器430可存储关于将用于接收事务包的对等装置是否能够识别扩展信息的信息。事务包生成器410可参照扩展能力寄存器430来确定是否生成扩展消息。在一个示例中,事务包生成器410可参照扩展能力寄存器430,将传输包提供给能够识别指示将被合并的包的信息的外部装置。
第二包接收器332可包括扩展包检测器510、包合并器520和缓冲器530。扩展包检测器510可通过检查扩展信息来识别包括在时隙中的扩展消息。扩展包检测器510可将扩展消息传送到包合并器520。包合并器520可通过合并多个扩展消息来生成合并后的包(即,消息)。包合并器520可将扩展消息临时存储在缓冲器530中,并且可通过布置包括在多个扩展消息中的字段来生成一个消息,多个扩展消息被存储在缓冲器530中。包合并器520可将消息提供给第二控制器320。
图8示出根据本公开的实施例的处理包的方法。具体地,图8的方法是可由图1的第二接口电路123或图6的第二接口电路330执行的处理包的方法的示例。处理包的方法可包括多个操作S801至操作S807。
参照图8,在操作S801中,第二接口电路123或330可接收消息。消息可以是包括扩展信息的扩展消息,或者是不包括扩展信息的普通消息。
在操作S802中,第二接口电路123或330可确定接收的消息是否包括扩展信息。具体地,第二接口电路123或330可通过读取记录在预设位置处的字段中的比特,来确定接收的消息是否包括扩展信息。预设位置处的字段可以是专门用于扩展信息的字段。可选地,预设位置处的字段可以是操作码字段。当接收的消息包括扩展信息时(即,当接收的消息是扩展消息时),可执行操作S804,并且当接收的消息不包括扩展信息时(即,当接收的消息是普通消息时),可执行操作S803。
在操作S803中,第二接口电路123或330可将普通消息提供给图6的第二控制器320。普通消息可表示不被合并的消息。第二控制器320可基于普通消息生成被提供给图6的至少一个核310的响应。
在操作S804中,第二接口电路123或330可确定接收的扩展消息是否是最后的扩展消息。如以上参照图5所述,扩展消息可包括用于指示扩展消息是否是最后的扩展消息的信息。因此,第二接口电路123或330可通过识别次序字段或专门用于指示扩展消息是否是最后的扩展消息的信息的字段,来确定接收的扩展消息是否是最后的扩展消息。当接收的扩展消息是最后的扩展消息时,可执行操作S806。否则,当接收的扩展消息不是最后的扩展消息时,可执行操作S805。
在操作S805中,第二接口电路123或330可将接收的扩展消息存储在缓冲器中。也就是说,第二接口电路123可将接收的扩展消息临时存储在缓冲器中,直到与一个消息对应的多个扩展消息被完全接收为止。
在操作S806中,第二接口电路123或330可通过合并存储在缓冲器中的扩展消息来生成一个消息。具体地,第二接口电路123或330可通过以字段彼此不重叠的方式将包括在扩展消息中的字段集成到一个序列中,来生成一个消息。第二接口电路123或330可基于包括在扩展消息中的次序信息,来确定字段被布置成一个序列所按照的次序。
在操作S807中,第二接口电路123或330可将一个合并后的消息提供给第二控制器320。第二控制器320可基于一个合并后的消息来生成被提供给至少一个核310的响应。
图9示出根据本公开的实施例的处理包的方法。如图9中所示,处理包的方法可包括多个操作S901至操作S905。在下文中,将参照图1、图6和图7进行关于图9的描述。
在操作S901中,图1的第一接口电路113或图6的第一接口电路230可生成与从图6的第一控制器220接收的消息对应的多个扩展消息。扩展消息可包括指示将被合并的包的扩展信息。第一接口电路113或230可生成多个扩展消息,由此包括在一个消息中的多个字段可被分散在多个扩展消息中。扩展消息的长度可小于消息的长度。在一个实施例中,扩展消息可包括专门用于扩展信息的字段。在一个实施例中,扩展信息可由记录在操作码字段中的比特值表示。第一控制器220可基于从图6的加速器电路210接收的请求来生成消息。尽管图8示出处理从第一接口电路113或230传送到第二接口电路123或330的包的方法,但是图8的方法也可应用于处理从第二接口电路123或330传送到第一接口电路113或230的包的方法。在这种情况下,第二控制器320可基于从至少一个核310接收的请求来生成消息,并且第二接口电路123或330可生成与从第二控制器320接收的消息对应的多个扩展消息。在一个示例中,用于处理请求的多个字段的长度之和大于每个扩展消息的长度。
在操作S902中,第一接口电路113或230可将多个扩展消息提供给第二接口电路123或330。在一个示例中,多个扩展消息可分别被包括在不同的传输包中。在另一示例中,多个扩展消息可分别被包括在同一传输包中包含的不同时隙中。
在操作S903中,第二接口电路123或330可检测包括在扩展消息中的扩展信息。通过检测扩展信息,第二接口电路123或330可识别将被合并成一个消息的扩展消息和将不被合并的普通消息。
在操作S904中,第二接口电路123或330可将扩展消息临时存储在缓冲器中。缓冲器可以是图7中所示的缓冲器530。具体地,为了合并顺序接收的扩展消息,第二接口电路123或330可将接收完成的扩展消息存储在缓冲器中。存储在缓冲器中的扩展消息可被保持存储在缓冲器中,直到与一个消息对应的多个扩展消息被完全接收为止。
在操作S905中,第二接口电路123或330可通过合并扩展消息来生成一个消息。具体地,第二接口电路123或330可通过布置包括在扩展消息中的多个字段并将多个字段集成为一个序列,来生成一个消息。在一个示例中,第二接口电路123或330可通过合并临时存储在缓冲器中的扩展消息来生成一个消息。在一个示例中,第二接口电路123或330可基于包括在扩展消息中的次序信息来确定包括在多个扩展消息中的字段的布置次序。第二接口电路123或330可将生成的消息提供给第二控制器320。
根据本公开的实施例的处理包的方法可在包括在一个消息中的多个字段被分散在多个扩展消息中的同时,发送多个字段,从而具有在保持链路上的等待时间的同时增加构成消息的字段的数量的效果。
图10A和图10B示出根据本公开的实施例的系统的示例。具体地,图10A和图10B的框图分别示出了包括多个CPU的系统5a和系统5b。在下面的关于图10A和图10B的描述中,重复的描述可被省略。
图10A示出根据本公开的实施例的系统的示例。参照图10A,系统5a可包括第一CPU11a和第二CPU 21a,并且可包括分别连接到第一CPU 11a和第二CPU 21a的第一双倍数据速率(DDR)存储器12a和第二双倍数据速率(DDR)存储器22a。第一CPU 11a和第二CPU 21a可经由基于处理器互连技术的互连系统30a彼此连接。如图10A中所示,互连系统30a可提供至少一个CPU到CPU一致性链路。
系统5a可包括与第一CPU 11a通信的第一I/O装置13a和第一加速器14a,并且可包括连接到第一加速器14a的第一装置存储器15a。第一CPU 11a可经由总线16a与第一I/O装置13a通信,并且可经由总线17a与第一加速器14a通信。此外,系统5a可包括与第二CPU 21a通信的第二I/O装置23a和第二加速器24a,并且可包括连接到第二加速器24a的第二装置存储器25a。第二CPU 21a可经由总线26a与第二I/O装置23a通信,并且可经由总线27a与第二加速器24a通信。
第一CPU 11a、第一加速器14a、第二CPU 21a和第二加速器24a可支持以上参照前述附图描述的扩展消息。因此,在保持总线17a和27a以及互连系统30a的等待时间的同时,可实现增加包括在一个消息中的字段的数量的效果。
图10B示出根据本公开的实施例的系统的示例。重复的描述可被省略。参照图10B,类似于图10A的系统5a,系统5b可包括第一CPU 11b和第二CPU 21b、第一DDR存储器12b和第二DDR存储器22b、第一I/O装置13b和第二I/O装置23b、以及第一加速器14b和第二加速器24b,并且还可包括远程远存储器(remote far memory)40。第一CPU 11b和第二CPU 21b可经由互连系统30b彼此通信。第一CPU 11b可经由总线16b连接到第一I/O装置13b,并且经由总线17b连接到第一加速器14b。第二CPU 21b可经由总线26b连接到第二I/O装置23b,并且经由总线27b连接到第二加速器24b。
第一CPU 11b和第二CPU 21b可分别经由第一总线18和第二总线28连接到远程远存储器40。远程远存储器40可用于系统5b中的存储器的扩展,并且第一总线18和第二总线28可用作存储器扩展端口。如同以上参照图10A进行的描述那样,第一CPU 11b、第一加速器14b、第二CPU 21b和第二加速器24b可支持以上参照前述附图描述的扩展消息。因此,在保持总线17b和总线27b以及互连系统30b的等待时间的同时,可实现增加包括在一个消息中的字段的数量的效果。
图11示出应用了根据本公开的实施例的系统的数据中心。
参照图11,数据中心3000可表示用于将各种数据保持在一起并提供服务的设施,并且也可被称为数据存储中心。数据中心3000可以是用于操作搜索引擎和数据库的系统,并且可以是在公司(诸如,银行)或政府机构中使用的计算系统。数据中心3000可包括应用服务器3100至3100n和存储服务器3200至3200m。应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可根据实施例被不同地选择,并且应用服务器3100至3100n的数量可与存储服务器3200至3200m的数量不同。
应用服务器3100或存储服务器3200可分别包括处理器3110和3210中的至少一个以及存储器3120和3220中的至少一个。当存储服务器3200被描述为示例时,处理器3210可控制存储服务器3200的所有操作,并且可访问存储器3220以执行加载到存储器3220中的指令和/或数据。存储器3220可包括双倍数据速率同步DRAM(DDR SDRAM)、高带宽存储器(HBM)、混合存储器立方体(HMC)、双列直插存储器模块(DIMM)、傲腾DIMM(Optane DIMM)或非易失性DIMM(NVDIMM)。根据实施例,可不同地选择包括在存储服务器3200中的处理器3210和存储器3220的相应数量。在一些实施例中,处理器3110和3210可由图1的主机处理器120或装置110实现。在一些实施例中,图1的主机处理器120和装置110二者可被包括在应用服务器3100和/或存储服务器3200中。
在一个实施例中,处理器3210和存储器3220可提供处理器-存储器对。在一个实施例中,处理器3210的数量可与存储器3220的数量不同。处理器3210可包括单核处理器或多核处理器。存储服务器3200的上述描述也可类似地应用于应用服务器3100。根据实施例,应用服务器3100不需要包括存储装置3150。存储服务器3200可包括至少一个存储装置3250。可根据实施例不同地选择包括在存储服务器3200中的存储装置3250的数量。
应用服务器3100至3100n和存储服务器3200至3200m可经由网络3300彼此通信。网络3300可通过使用光纤信道(FC)、以太网等来实现。这里,FC是用于相对高速数据传输的介质,并且可使用提供高性能/高可用性的光开关。根据网络3300的访问方法,存储服务器3200至3200m可被提供为文件存储装置、块存储装置或对象存储装置。
在一个实施例中,网络3300可包括存储专用网络(诸如,存储区域网络(SAN))。例如,SAN可包括使用FC网络并且根据FC协议(FCP)来实现的FC-SAN。作为另一示例,SAN可包括互联网协议(IP)-SAN,互联网协议(IP)-SAN使用传输控制协议(TCP)/IP网络并且根据互联网小型计算机系统接口(iSCSI或TCP/IP上的SCSI)协议来实现。在另一实施例中,网络3300可包括通用网络(诸如,TCP/IP网络)。例如,网络3300可根据诸如以太网上的FC(FCoE)、网络附加存储(NAS)或通过网络架构的NVMe(NVMe-oF)的协议来实现。
在下文中,将主要描述应用服务器3100和存储服务器3200。应用服务器3100的描述也可应用于另一应用服务器3100n,存储服务器3200的描述也可应用于另一存储服务器3200m。
应用服务器3100可经由网络3300将用户、客户端和/或应用已经请求存储的数据存储在存储服务器3200至3200m之一中。此外,应用服务器3100可经由网络3300从存储服务器3200至3200m之一获得用户、客户端和/或应用已经请求读取的数据。例如,应用服务器3100可由网络服务器、数据库管理系统(DBMS)等实现。
应用服务器3100可经由网络3300访问包括在另一应用服务器3100n中的存储器3120n或存储装置3150n,或者可经由网络3300访问分别包括在存储服务器3200至3200m中的存储器3220至3220m或存储装置3250至3250m。因此,应用服务器3100可对存储在应用服务器3100至3100n和/或存储服务器3200至3200m中的数据执行各种操作。例如,应用服务器3100可执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的指令。这里,数据可直接或通过存储服务器3200至3200m的存储器3220至3220m从存储服务器3200至3200m的存储装置3250至3250m移动到应用服务器3100至3100n的存储器3120至3120n。经由网络3300移动的数据可以是为了安全或隐私而加密的数据。
当存储服务器3200被描述为示例时,接口(I/F)3254可提供处理器3210与控制器3251之间的物理连接以及网络接口控制器(NIC)3240与控制器3251之间的物理连接。例如,接口3254可以以其中通过专用电缆直接进行存储装置3250的连接的直接附加存储(DAS)方式来实现。此外,例如,接口3254可以以各种接口方式(诸如,高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行附接SCSI(SAS)、外围组件互连(PCI)、PCI快速(PCIe)、NVM快速(NVMe)、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、通用闪存(UFS)、嵌入式通用闪存(eUFS)和/或紧凑型闪存(CF)卡接口)来实现。
存储服务器3200还可包括开关3230和NIC 3240。根据处理器3210的控制,开关3230可选择性地将处理器3210连接到存储装置3250或者选择性地将NIC 3240连接到存储装置3250。应用服务器3100还可包括开关3130和NIC 3140。根据处理器3110的控制,开关3130可选择性地将处理器3110连接到存储装置3150或者选择性地将NIC 3140连接到存储装置3150。
在一个实施例中,NIC 3240可包括网络接口卡、网络适配器等。NIC 3240可通过有线接口、无线接口、蓝牙接口、光学接口等连接到网络3300。NIC 3240可包括内部存储器、数字信号处理器(DSP)、主机总线接口等,并且可连接到处理器3210和/或开关3230。主机总线接口可由上述接口3254的示例之一来实现。在一个实施例中,NIC 3240可与处理器3210、开关3230和存储装置3250中的至少一个集成。
在存储服务器3200至3200m或应用服务器3100至3100n中,处理器可将命令发送到存储装置3150至3150n或3250至3250m或存储器3120至3120n或3220至3220m,因此将数据编程到存储装置3150至3150n或3250至3250m或存储器3120至3120n或3220至3220m或者从存储装置3150至3150n或3250至3250m或存储器3120至3120n或3220至3220m读取数据。这里,数据可以是由纠错码(ECC)引擎纠错的数据。数据可以是已经经历数据总线倒置(DBI)或数据掩码(DM)的数据,并且数据可包括CRC信息。数据可以是为了安全或隐私而加密的数据。
存储装置3150至3150n或3250至3250m可响应于从处理器接收的读取命令而将控制信号和命令/地址信号发送到NAND闪存装置3252至3252m。因此,当从NAND闪存装置3252至3252m读取数据时,读取使能(RE)信号可作为数据输出控制信号被输入,因此用于使数据被输出到数据队列(DQ)总线。可通过使用RE信号来生成数据选通(DQS)。可根据写入使能(WE)信号的上升沿或下降沿将命令和地址信号锁存在页缓冲器上。
控制器3251可对存储装置3250的操作进行总体控制。在一个实施例中,控制器3251可包括静态随机存取存储器(SRAM)。控制器3251可响应于写入命令而将数据写入NAND闪存装置3252,或者可响应于读取命令而从NAND闪存装置3252读取数据。例如,写入命令和/或读取命令可由存储服务器3200中的处理器3210、另外的存储服务器3200m中的处理器3210m或应用服务器3100或3100n中的处理器3110或3110n提供。DRAM 3253可临时存储或缓冲将被写入NAND闪存装置3252或已经从NAND闪存装置3252读取的数据。此外,DRAM 3253可存储元数据。这里,元数据是由控制器3251生成的用于管理用户数据或NAND闪存装置3252的数据。存储装置3250可包括用于安全或隐私的安全元件(SE)。
虽然已经参照发明构思的实施例具体示出和描述了发明构思,但是相关领域的普通技术人员将理解,在不脱离所附权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
Claims (20)
1.一种接口电路,包括:
包发送器,被配置为:基于从核电路输出的请求来生成多个传输包,并且输出所述多个传输包,所述多个传输包中的每个传输包包括指示将被合并的包的信息;以及
包接收器,被配置为:通过合并从所述接口电路的外部接收的多个接收包之中的多个扩展包来生成合并包,所述多个扩展包中的每个扩展包包括指示将被合并的包的信息。
2.根据权利要求1所述的接口电路,其中,用于处理所述请求的多个字段的长度之和大于所述多个传输包中的每个传输包的长度,并且
包发送器还被配置为:以彼此不同的格式对所述多个传输包进行编码,使得用于所述请求的所述多个字段被分散在所述多个传输包中。
3.根据权利要求1所述的接口电路,其中,所述多个扩展包的长度彼此相等,并且
合并包的长度大于所述多个扩展包中的每个扩展包的长度。
4.根据权利要求1所述的接口电路,其中,包发送器还被配置为:使所述多个传输包包括指示所述多个传输包的字段被布置所按照的次序的次序信息。
5.根据权利要求4所述的接口电路,其中,包接收器还被配置为:通过基于包括在所述多个扩展包中的次序信息布置包括在所述多个扩展包中的字段,来生成合并包。
6.根据权利要求1所述的接口电路,其中,包接收器包括缓冲器,缓冲器临时存储被识别的所述多个扩展包,并且
包接收器还被配置为:通过合并存储在缓冲器中的所述多个扩展包而生成合并包。
7.根据权利要求1所述的接口电路,其中,包发送器还包括寄存器,寄存器存储关于外部装置是否是能够识别指示将被合并的包的信息的装置的信息,并且
包发送器还被配置为:参照寄存器,将所述多个传输包提供给能够识别指示将被合并的包的信息的外部装置。
8.根据权利要求1所述的接口电路,其中,所述多个传输包中的每个传输包包括操作码字段,关于与所述请求对应的操作的信息被允许写入到操作码字段,并且
包发送器还被配置为:将关于所述操作的信息和指示将被合并的包的信息中的至少一个写入操作码字段。
9.根据权利要求1至8中的任一项所述的接口电路,其中,包发送器还被配置为:生成所述多个传输包,使得专门用于记录指示将被合并的包的信息的字段被包括在所述多个传输包中的每个传输包中。
10.一种经由总线连接到外部装置的处理器,所述处理器包括:
控制器,被配置为生成将被传送到外部装置的消息;以及
接口电路,被配置为基于消息生成将被输出到总线的包,
其中,接口电路被配置为:
以彼此不同格式生成多个包,所述多个包包括消息中包含的多个字段,所述多个字段被分散在所述多个包中;以及
将所述多个包输出到总线。
11.根据权利要求10所述的处理器,其中,接口电路还被配置为:生成所述多个包,使得所述多个包中的每个包包括指示将被合并的包的信息。
12.根据权利要求11所述的处理器,其中,接口电路还被配置为:
识别从总线接收的多个接收包之中的扩展包,扩展包包括指示将被合并的包的信息;以及
通过合并扩展包来生成消息。
13.根据权利要求12所述的处理器,其中,接口电路还被配置为:通过布置包括在扩展包中的多个字段使得所述多个字段彼此不重叠,来生成消息。
14.根据权利要求13所述的处理器,其中,每个扩展包包括次序信息,次序信息指示在合并扩展包时布置扩展包的所述多个字段所按照的次序,并且
接口电路还被配置为:基于次序信息来布置包括在扩展包中的所述多个字段。
15.一种处理包的方法,所述方法包括:
接收多个接收包;
识别所述多个接收包之中的多个扩展包,所述多个扩展包中的每个扩展包包括指示将被合并的包的信息;
通过布置包括在所述多个扩展包中的多个字段来生成合并包;以及
输出合并包。
16.根据权利要求15所述的方法,还包括:
以彼此不同的格式生成多个传输包,使得包括在用于处理从核输出的请求的消息中的多个字段被分散在所述多个传输包中;以及
输出所述多个传输包。
17.根据权利要求16所述的方法,其中,生成所述多个传输包的步骤包括:将指示将被合并的包的信息添加到所述多个传输包中的每个传输包。
18.根据权利要求17所述的方法,其中,生成所述多个传输包的步骤还包括:将次序信息添加到所述多个传输包,次序信息指示在合并所述多个传输包时布置所述多个传输包的字段所按照的次序。
19.根据权利要求15至18中的任一项所述的方法,还包括:
将识别的多个扩展包临时存储在缓冲器中,
其中,在接收到包括所述多个字段之中的最后布置的字段的扩展包之后,执行生成合并包的步骤。
20.根据权利要求15至18中的任一项所述的方法,其中,所述多个扩展包的长度彼此相等,并且
合并包的长度大于所述多个扩展包中的每个扩展包的长度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200146196A KR20220060326A (ko) | 2020-11-04 | 2020-11-04 | 확장 패킷을 제공하는 인터페이스 회로 및 이를 포함하는 프로세서 |
KR10-2020-0146196 | 2020-11-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443516A true CN114443516A (zh) | 2022-05-06 |
Family
ID=81362531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110980948.8A Pending CN114443516A (zh) | 2020-11-04 | 2021-08-25 | 接口电路、包括接口电路的处理器以及处理包的方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11659070B2 (zh) |
KR (1) | KR20220060326A (zh) |
CN (1) | CN114443516A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220060326A (ko) | 2020-11-04 | 2022-05-11 | 삼성전자주식회사 | 확장 패킷을 제공하는 인터페이스 회로 및 이를 포함하는 프로세서 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4445171A (en) * | 1981-04-01 | 1984-04-24 | Teradata Corporation | Data processing systems and methods |
US6587882B1 (en) * | 1997-08-01 | 2003-07-01 | Kabushiki Kaisha Toshiba | Mobile IP communication scheme using visited site or nearby network as temporal home network |
JP3343906B2 (ja) * | 1999-03-02 | 2002-11-11 | 日本電気株式会社 | 光波ネットワーク |
US7643480B2 (en) * | 2004-01-22 | 2010-01-05 | Hain-Ching Liu | Method and system for reliably and efficiently transporting data over a network |
KR100872415B1 (ko) * | 2006-03-03 | 2008-12-05 | 삼성전자주식회사 | 중계기를 사용하는 무선 접속 통신시스템에서 패킷 전송장치 및 방법 |
GB0611249D0 (en) * | 2006-06-07 | 2006-07-19 | Nokia Corp | Communication system |
US8266504B2 (en) * | 2009-04-14 | 2012-09-11 | International Business Machines Corporation | Dynamic monitoring of ability to reassemble streaming data across multiple channels based on history |
CN102143527B (zh) * | 2010-02-03 | 2013-09-11 | 华为技术有限公司 | 嵌套协议包头的压缩方法及装置 |
US8929373B2 (en) | 2011-09-29 | 2015-01-06 | Intel Corporation | Sending packets with expanded headers |
US9762683B2 (en) | 2014-09-30 | 2017-09-12 | A 10 Networks, Incorporated | Use of packet header extension for geolocation/geotargeting |
US9912637B2 (en) | 2014-09-30 | 2018-03-06 | A 10 Networks, Incorporated | Use of packet header extension for layer-3 direct server return |
US10575324B2 (en) * | 2016-11-04 | 2020-02-25 | Qualcomm Incorporated | Efficient blind decoding of a search space |
US11582195B1 (en) * | 2018-09-26 | 2023-02-14 | Amazon Technologies, Inc. | Parallel encrypted data streams for virtual private networks |
US11232058B2 (en) | 2019-03-08 | 2022-01-25 | Intel Corporation | Enabling sync header suppression latency optimization in the presence of retimers for serial interconnect |
US11593280B2 (en) | 2019-06-25 | 2023-02-28 | Intel Corporation | Predictive packet header compression |
US11201838B2 (en) | 2019-09-25 | 2021-12-14 | Intel Corporation | System, apparatus and method for increasing efficiency of link communications |
US11700209B2 (en) | 2019-09-30 | 2023-07-11 | Intel Corporation | Multi-path packet descriptor delivery scheme |
US11789878B2 (en) | 2019-12-19 | 2023-10-17 | Intel Corporation | Adaptive fabric allocation for local and remote emerging memories based prediction schemes |
KR20220060326A (ko) | 2020-11-04 | 2022-05-11 | 삼성전자주식회사 | 확장 패킷을 제공하는 인터페이스 회로 및 이를 포함하는 프로세서 |
-
2020
- 2020-11-04 KR KR1020200146196A patent/KR20220060326A/ko active Search and Examination
-
2021
- 2021-08-25 CN CN202110980948.8A patent/CN114443516A/zh active Pending
- 2021-09-03 US US17/466,742 patent/US11659070B2/en active Active
-
2023
- 2023-04-13 US US18/299,972 patent/US11962675B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11962675B2 (en) | 2024-04-16 |
KR20220060326A (ko) | 2022-05-11 |
US20230254388A1 (en) | 2023-08-10 |
US11659070B2 (en) | 2023-05-23 |
US20220141322A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741034B2 (en) | Memory device including direct memory access engine, system including the memory device, and method of operating the memory device | |
US20090006666A1 (en) | Dma shared byte counters in a parallel computer | |
US11962675B2 (en) | Interface circuit for providing extension packet and processor including the same | |
US20230325277A1 (en) | Memory controller performing selective and parallel error correction, system including the same and operating method of memory device | |
US11556279B2 (en) | System device, and method for memory interface including reconfigurable channel | |
US11983115B2 (en) | System, device and method for accessing device-attached memory | |
CN114546902A (zh) | 基于多协议访问存储器的系统、设备和方法 | |
KR20230030795A (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 장치 | |
US11809341B2 (en) | System, device and method for indirect addressing | |
US11853215B2 (en) | Memory controller, system including the same, and operating method of memory device for increasing a cache hit and reducing read latency using an integrated commad | |
US20240096395A1 (en) | Device, operating method, memory device, and cxl memory expansion device | |
Bai et al. | An Analysis on Compute Express Link with Rich Protocols and Use Cases for Data Centers | |
US20240170089A1 (en) | Memory controllers and memory systems including the same | |
US20240168675A1 (en) | Storage apparatus and method for data integrity | |
US20240086110A1 (en) | Data storage method, storage apparatus and host | |
US20220147458A1 (en) | Semiconductor device | |
KR20230067433A (ko) | 멀티 플렉서 | |
KR20230046362A (ko) | 메모리 모듈의 동작 방법, 메모리 컨트롤러의 동작 방법, 및 메모리 시스템의 동작 방법 | |
CN117746942A (zh) | 装置、操作方法、存储器装置和cxl存储器扩展装置 | |
KR20230169885A (ko) | 영구 메모리 장치 및 컴퓨팅 시스템 | |
CN116414734A (zh) | 存储系统和存储设备及其操作方法 | |
CN116504289A (zh) | 存储器件 | |
CN115905036A (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 |