CN118227531A - 用于输入输出设备的接口电路、主板及电子设备 - Google Patents
用于输入输出设备的接口电路、主板及电子设备 Download PDFInfo
- Publication number
- CN118227531A CN118227531A CN202410284396.0A CN202410284396A CN118227531A CN 118227531 A CN118227531 A CN 118227531A CN 202410284396 A CN202410284396 A CN 202410284396A CN 118227531 A CN118227531 A CN 118227531A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- input
- interface circuit
- ports
- 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
- 230000015654 memory Effects 0.000 claims abstract description 200
- 230000005540 biological transmission Effects 0.000 claims abstract description 37
- 238000013507 mapping Methods 0.000 claims description 20
- 241001522296 Erithacus rubecula Species 0.000 claims description 2
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 16
- 238000012546 transfer Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- 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
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- 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/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/36—Arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了用于输入输出设备的接口电路、主板和电子设备。该接口电路包括N个端口,与M个输入输出设备连接,被配置为与M个输入输出设备进行数据传输,其中N为大于或等于2的整数,M为大于或等于1且小于或等于N的整数;M个存储单元,与N个端口连接,被配置分别存储与M个输入输出设备进行传输的数据,其中,M个存储单元与M个输入输出设备对应;和仲裁器,与M个存储单元连接,被配置选择M个存储单元中的数据进行传输。通过单个接口电路连接一个或多个输入输出设备,提高接口电路的利用率,并减少传输资源的浪费。
Description
技术领域
本公开的实施例涉及用于输入输出设备的接口电路、主板及电子设备。
背景技术
现代的计算机系统通常配置大量的外围设备,也被称为I/O(Input/Output,输入输出)设备,例如外部存储器、人机交互设备、网络通信设备等。
输入输出设备被广泛地应用于各种场景,诸如个人电脑、移动设备、服务器等。目前,输入输出设备是通过接口电路连接到电子设备,而一个接口电路仅能够连接一个输入输出设备,控制器通过接口电路来实现对输入输出设备的操作。对于需要挂载大量输入输出设备的场景,不仅需要设置大量的接口电路,还需要对应地设置大量的控制器,这不仅提高了成本,还会造成传输资源的浪费。
发明内容
为了解决上述技术问题,本公开的实施例提供了用于输入输出设备的接口电路、主板及电子设备。
第一方面,本公开至少一个实施例提供一种用于输入输出设备的接口电路,包括:N个端口,与M个输入输出设备连接,被配置为与M个输入输出设备进行数据传输,其中N为大于或等于2的整数,M为大于或等于1且小于或等于N的整数;M个存储单元,与N个端口连接,被配置分别存储与M个输入输出设备进行传输的数据,其中,M个存储单元与M个输入输出设备对应;和仲裁器,与M个存储单元连接,被配置选择M个存储单元中的数据进行传输。
例如,在本公开一实施例提供的接口电路中,接口电路还包括:映射单元,与N个端口及M个存储单元连接,被配置为根据映射配置信息,设置N个端口和M个存储单元之间的映射关系;其中,N个端口被分成M组端口,M组端口分别被映射到M个存储单元。
例如,在本公开一实施例提供的接口电路中,M个存储单元中的每个存储单元包括先入先出存储器和缓冲存储器,其中,先入先出存储器,与N个端口的至少一个端口和缓冲存储器连接,被配置为接收并存储来自至少一个端口的数据和/或来自缓冲存储的数据;缓冲存储器,与仲裁器连接,被配置为接收来自先入先出存储器的数据和/或根据仲裁器的选择将数据发送给先入先出存储器。
例如,在本公开一实施例提供的接口电路中,先入先出存储器还连接到仲裁器,在M个输入输出设备向接口电路发送数据时,仲裁器还被配置为检测先入先出存储器和缓冲存储器中是否有数据,其中,在先入先出存储器中有数据时,选择对缓冲存储器中的数据进行传输,在先入先出存储器中没有数据且缓冲存储器中有数据时,选择对先入先出存储器中的数据进行传输,而在先入先出存储器和缓冲存储器中均没有数据时,则不进行数据传输。
例如,在本公开一实施例提供的接口电路中,先入先出存储器还连接到仲裁器,在接口电路向M个输入输出设备发送数据时,仲裁器还被配置为检测缓冲存储器中是否有数据,其中,在缓冲存储器中有数据时,将缓冲存储器中的数据发送至先入先出存储器,在缓冲存储器中没有数据时,则不进行数据传输。
例如,在本公开一实施例提供的接口电路中,在M个输入输出设备向接口电路发送数据时,先入先出存储器还被配置为在先入先出存储器中存储的数据的数量达到预设阈值时,将所存储的数据发送至缓冲存储器。
例如,在本公开一实施例提供的接口电路中,在接口电路向M个输入输出设备发送数据时,存储单元还包括:M个输出存储器,与N个端口和M个存储单元中的先入先出存储器连接,被配置为存储等待发送至M个输入输出设备的数据;其中,先入先出存储器还被配置为在先入先出存储器中存储的数据的数量达到预设阈值时,将所存储的数据发送至M个输出存储器中对应的输出存储器。
例如,在本公开一实施例提供的接口电路中,仲裁器被配置为以轮询的方式将选择M个存储单元中的数据进行传输。
第二方面,本公开至少一个实施例提供一种电子设备,包括如上述第一方面中任一项的用于输入输出设备的接口电路。
第三方面,本公开至少一个实施例提供一种主板,包括至少一个如上述第一方面中任一项的用于输入输出设备的接口电路。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了根据本公开的实施例提供的用于输入输出设备的接口电路的示意图;
图2示出了根据本公开的实施例提供的另一用于输入输出设备的接口电路的示意图;
图3示出了根据本公开的实施例提供的存储单元的示意图;
图4示出了根据本公开实施例提供的先入先出存储器和端口之间的数据传输的示意图;
图5示出了根据本公开的实施例提供的主板的示意图;
图6示出了根据本公开的实施例提供的电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
目前应用在电子设备中的高速输入输出接口包括支持SATA、USB、PCIe、CXL、ETH等协议的接口。高速输入输出接口例如是设置在主板中的插槽、设置在电子设备外壳上的USB接口、手机的数据接口等。
以PCIe设备为例,假设主板上设置有4个16通道的插槽,这表示该主板可以连接4个PCIe设备,比如4个NVMe固态硬盘。对于16通道的插槽,可以兼容16通道、8通道、4通道、2通道和1通道的PCIe设备,但是在连接通道数少于16通道的PCIe设备时,会有部分通道处于不使用的状态,降低了接口的利用率和效率,造成了传输资源的浪费。
基于此,本公开至少一个实施例提供了用于输入输出设备的接口电路、主板及电子设备,用以提高接口电路的利用率,减少传输资源的浪费。
本公开至少一个实施例提供一种用于输入输出设备的接口电路,包括:N个端口,与M个输入输出设备连接,被配置为与M个输入输出设备进行数据传输,其中N为大于或等于2的整数,M为大于或等于1且小于或等于N的整数;M个存储单元,与N个端口连接,被配置分别存储与M个输入输出设备进行传输的数据,其中,M个存储单元与M个输入输出设备对应;和仲裁器,与M个存储单元连接,被配置选择M个存储单元中的数据进行传输。
图1示出了根据本公开的实施例提供的用于输入输出设备的接口电路的示意图。
如图1所示,接口电路100包括端口110、储存单元120和仲裁器130。端口110包括N个端口,分别是端口111~11N,存储单元120包括N个存储单元,分别是存储单元121~12M。其中,N和M均有正整数,且M小于或等于N。例如N为4、8、16、32等,而M可以取值为1、2、3、7、10、16等。
端口110用于连接外部的输入输出设备,例如端口110连接到多个输入输出设备,从而本实施例中的接口电路100可以连接多个输入输出设备。例如图1所示的端口110连接到输入输出设备140。本申请的实施例中,端口也可被称为“通道”,例如PCIe设备可以是x16、x8的PCIe设备,此处的x16和x8即为16通道和8通道。
端口111~端口11N可以分成多组,例如M组,每一组端口可以用于连接一个输入输出设备。可选地,端口111~端口11N中的部分端口用于连接输入输出设备,剩余端口设置为闲置。
以N为16为例,对端口111~端口11N的分组情况举例说明。可以将端口111~端口11N分成1组,用于连接同一个16通道的输入输出设备。可以将端口111~端口11N均分成2组,其中的端口111~端口118连接一个8通道的输入输出设备,端口119~端口11N连接另一个8通道的输入输出设备。可以将端口111~端口11N均分成4组、8组和16组,分别连接4个4通道的输入输出设备、8个2通道的输入输出设备和16个1通道的输入输出设备。可以将端口111~端口118用来连接1个8通道的输入输出设备,而不使用剩余的端口119~端口1116。还可以将端口111~端口11N不平均的分成多组。例如,将端口111~118用来连接一个8通道的输入输出设备、将端口119~1112用来连接1个4通道的输入输出设备、将端口1113和端口1114用于连接1个2通道的输入输出设备、将端口115用于连接1个1通道的输入输出设备,而端口1116不使用。在本实施例中,端口110可以被分成多组,每一组中可以包括例如数量等于2的幂次方的端口,从而可以灵活地选择输入输出设备的数量。
由端口110与输入输出设备140进行数据的传输。接口电路100可以支持单向传输或双向传输。例如接口电路100可以仅用于接收来自输入输出设备的数据、仅向输入输出设备发送数据,或者于输入输出设备进行数据的双向传输。本申请的实施例中将以接口电路支持数据的双向传输为例进行描述,可以理解地,接口电路也可以仅支持单向传输,单向传输方式可以参考双向传输中的相关描述。
本实施例中,存储单元120存储从端口110接收到的数据,或者存储等待向端口110发送的数据。仲裁器130可以根据预设规则,对存储单元120中的存储单元进行选择,使得选中的存储单元中的数据继续进行传输。例如存储单元120连接到内存,则仲裁器130选中的存储单元的数据传输至内存或者将数据从内存发送至被选中的存储单元。相对于现有的接口电路仅连接一个输入输出设备,本实施例中支持连接多个输入输出设备,但是多个输入输出设备并不能同时进行数据传输,从而设置存储单元和仲裁器来实现多个输入输出设备的数据传输的时分复用。
存储单元120中的存储单元的数量与端口110连接的输入输出设备的数量相关,例如端口110可以连接M个输入输出设备,则存储单元120相应地包括存储单元121~存储单元12M。可选地,存储单元120可以包括N个存储单元,根据连接到输入输出设备的数量,选择N个存储单元中的M个存储单元来进行数据存储。
端口110可以经由数据总线连接到存储单元120,由于N和M的取值可能是不同的,从而端口110和存储单元120之间存在映射关系,该映射关系可以预先配置的固定映射关系。例如N为16,M为4,则端口111~端口114固定连接到存储单元121、端口115~端口118固定连接到存储单元122、端口119~端口1112固定连接到存储单元123以及端口1113~端口1116固定连接到存储单元124。
仲裁器130可以根据预设规则对存储单元120进行选择。例如,仲裁器130可以轮询存储单元121~存储单元12M。仲裁器130还可以加权轮询存储单元121~存储单元12M。仲裁器130还可以根据优先级的顺序来选择存储单元。例如,端口110连接到3个输入输出设备,包括1个8通道的输入输出设备和2个2通道的输入输出设备,其中8通道的输入输出设备的优先级高于2通道的输入输出设备,而2个2通道的输入输出设备的优先级相同,则仲裁器130先选择8通道的输入输出设备对应的存储单元,然后再选择2通道的输入输出设备对应的存储单元。
下面分别以输入输出设备向接口电路发送数据和接口电路向输入输出设备发送数据来描述数据传输的过程。
以N为16,M为4为例,如图1所示,端口110包括端口111~端口1116,端口110连接4个输入输出设备,端口111~端口1116平均成4组连接到存储单元121~存储单元124。
端口111~端口114接收到1号输入输出设备发送的数据,并经由数据总线将接收到的数据发送至存储单元121进行缓存。端口115~端口118接收到2号输入输出设备发送的数据,并经由数据总线将接收到的数据发送至存储单元122进行缓存。端口119~端口1112接收到3号输入输出设备发送的数据,并经由数据总线将接收到的数据发送至存储单元123进行缓存。端口1113~端口1116接收到4号输入输出设备发送的数据,并经由数据总线将接收到的数据发送至存储单元124进行缓存。
仲裁器130轮流地选择存储单元121至存储单元124,在选中存储单元121时,对存储单元121中缓存的数据继续进行传输,在传输后存储单元121中被认为“没有数据”或“数据为空”。可选地,在仲裁器130选中存储单元时,若检测到被选中的存储单元中没有数据,则不对所选中的存储单元进行数据传输,并继续选择其他存储单元。
在由接口电路向输入输出设备发送数据时,存储单元121至存储单元124接收来自接口电路所在设备内部的数据,例如内存。仲裁器130对存储单元121至存储单元124进行选择,在选中的存储单元中的数据非空时,对所选中的存储单元中的数据进行传输。例如仲裁器130选中存储单元124,且存储单元124中有需要传输的数据,则仲裁器130控制存储单元124的数据发送至端口1113至端口1116,由端口1113至端口1116将数据发送至外部的输入输出设备。
可选地,接口电路还包括:映射单元,与N个端口及M个存储单元连接,被配置为根据映射配置信息,设置N个端口和M个存储单元之间的映射关系;其中,N个端口被分成M组端口,M组端口分别被映射到M个存储单元。
图2示出了根据本公开的实施例提供的另一用于输入输出设备的接口电路的示意图。
接口电路200与接口电路100的结构相似,相同的部分可参见图1的描述,在此不再赘述。与接口电路100不同的是,接口电路200还包括映射单元210,映射单元210连接在端口110和存储单元120之间。
映射单元210可以根据映射配置信息,设置端口110和存储单元120之间的映射关系。例如,端口110中的每个端口均能够连接到存储单元120中的所有的存储单元,根据该映射配置信息,可选择与每个端口进行数据传输的存储单元。例如,端口113映射到存储单元121,在调整映射配置信息后,端口113映射到存储单元122。
通过映射单元,可以随时调整或改变端口和存储单元之间的映射关系,使得接口电路可配置,提高灵活性。
接口电路200与输入输出设备的数据传输方式可参见接口电路100的相关描述,在此不再赘述。
可选地,M个存储单元中的每个存储单元包括先入先出存储器和缓冲存储器,其中,先入先出存储器,与N个端口的至少一个端口和缓冲存储器连接,被配置为接收并存储来自至少一个端口的数据和/或来自缓冲存储的数据;缓冲存储器,与仲裁器连接,被配置为接收来自先入先出存储器的数据和/或根据仲裁器的选择将数据发送给先入先出存储器。
图3示出了根据本公开的实施例提供的存储单元的示意图。
如图3所示,存储单元300包括先入先出存储器310和缓冲存储器310。先入先出存储器310与至少一个端口连接,还与缓冲存储器320连接。缓冲存储320与仲裁器连接。
先入先出存储器310接收并存储来自至少一个端口的数据和/或来自缓冲存储320的数据。缓冲存储器320则接收来自先入先出存储器310的数据和/或根据仲裁器的选择将数据发送给先入先出存储器。
例如存储单元300是如图所示的存储单元121,存储单元300中的先入先出存储器310连接到端口111至端口114。端口111~端口114接收到来自输入输出设备的数据之后,将数据发送至先入先出存储器310。例如先入先出存储器310可以存储256比特的数据,在先入先出存储器310中的数据达到256比特时,将这256比特数据发送至缓冲存储器320。或者,在先入先出存储器310中的数据量达到256比特后,后续接收到数据继续存储到先入先出存储器310,但先前的数据被写入缓冲存储器320。
又如,在存储单元300被仲裁器130选中时,缓冲存储器320将数据发送到先入先出存储器310,由先入先出存储器310将数据继续发送至端口111~端口114。
可选地,先入先出存储器可存储的数据量还可以是128比特、512比特等。先入先出存储器可以连接至少一个端口,在先入先出存储器连接多个端口时,需要为每个端口设置不同的数据存放区域。
图4示出了根据本公开实施例提供的先入先出存储器和端口之间的数据传输的示意图。
如图4所示,先入先出存储器400与端口0至端口3进行数据传输。先入先出存储器400被表示为数据条的形式。先入先出存储器400中分成4个区域分别存放端口0至端口3的数据。
在T1时刻,端口0-端口3发送来的数据分别是数据0.a、数据1.a、数据2.a和数据3.a,先入先出存储器400接收这些数据并分别存放。在T2时刻,端口0-端口3发送来的数据分别是数据0.b、数据1.b、数据2.b和数据3.b。在T3时刻,端口0-端口3发送来的数据分别是数据0.c、数据1.c、数据2.c和数据3.c。在T4时刻,端口0-端口3发送来的数据分别是数据0.d、数据1.d、数据2.d和数据3.d。先入先出存储器400在每个时刻接收对应的数据并分区域存储。
本示例中的端口0至端口3可以是图1所示的端口110中的端口。在图4中仅示出了从端口0至端口3向先入先出存储器400发送数据的示例图。而先入先出存储器400先端口0至端口3发送数据的过程与图4所示的完全相反,即先将数据0.d、数据1.d、数据2.d和数据3.d发送给端口0~端口3,最后将数据0.a、数据1.a、数据2.a和数据3.a发送给端口0~端口3。
可选地,先入先出存储器还连接到仲裁器,在M个输入输出设备向接口电路发送数据时,仲裁器还被配置为检测先入先出存储器和缓冲存储器中是否有数据,其中,在先入先出存储器中有数据时,选择对缓冲存储器中的数据进行传输,在先入先出存储器中没有数据且缓冲存储器中有数据时,选择对先入先出存储器中的数据进行传输,而在先入先出存储器和缓冲存储器中均没有数据时,则不进行数据传输。
继续参见图3,例如仲裁器130选中存储单元300时,先检测先入先出存储器310和缓冲存储器320中是否有等待进行传输的数据。在缓冲存储器320中有数据时,优先传输缓冲存储器320中的数据,例如每次进行256比特的数据传输。而在缓冲存储器320中没有数据,但是先入先出存储器310中有等待进行传输的数据时,可以将先入先出存储器310中的数据进行传输,此时传输的数据量小于或等于256比特,例如可能是128比特或64比特。
在检测到缓冲存储器320和先入先出存储器310中均没有数据时,则不进行数据传输。例如仲裁器轮询多个存储单元时,先检测其中是否有等待传输的数据,在检测到数据时,才进行数据传输。
可选地,先入先出存储器还连接到仲裁器,在接口电路向M个输入输出设备发送数据时,仲裁器还被配置为检测缓冲存储器中是否有数据,其中,在缓冲存储器中有数据时,将缓冲存储器中的数据发送至先入先出存储器,在缓冲存储器中没有数据时,则不进行数据传输。
例如,在由接口电路向输入输出设备发送数据时,仲裁器检测缓冲存储器中是否有等待进行传输的数据,在检测到数据时,控制该数据发送至对应的先入先出存储器。而在没有检测到数据时,则继续检测其它存储单元的缓冲存储器。
可选地,存储单元还包括:M个输出存储器,与N个端口和M个存储单元中的先入先出存储器连接,被配置为存储等待发送至M个输入输出设备的数据;其中,先入先出存储器还被配置为在先入先出存储器中存储的数据的数量达到预设阈值时,将所存储的数据发送至M个输出存储器中对应的输出存储器。
M个输出存储器的一端与先入先出存储器连接,另一端连接到N个端口。在先入先出存储器中的数据量达到阈值时,可以将数据发送至输出存储器,再由输出存储器发送给外部的输入输出设备。通过设置输出存储器,可以在接口电路与外部的输入输出设备之间的数据传输堵塞时,临时保存等待传输的数据,从而不会进一步导致数据堵塞,还降低数据传输失败或错误的情况。
可选地,本公开至少一个实施例提供一种主板,包括至少一个如上述第实施例中任一项的用于输入输出设备的接口电路。
图5示出了根据本公开的实施例提供的主板的示意图。
在图5中,主板500包括接口电路510。接口电路510可以是上述接口电路100或接口电路200。例如,接口电路510是主板上的插槽。
可选地,本公开至少一个实施例提供一种电子设备,包括如上述实施例中任一项的用于输入输出设备的接口电路。
图6示出了根据本公开的实施例提供的电子设备的示意图。
在图6中,电子设备600包括接口电路610。接口电路610可以是上述接口电路100或接口电路200。
在本实施例中,电子设备600可以是任意的具有计算功能的设备,例如为计算机、服务器、智能手机、平板电脑等,本公开的实施例对此不作限制。相对应地,接口电路610可以是连接在电脑外壳上的接口、移动设备的数据接口等。可选地,电子设备600还可以包括如图5所示的主板500。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
值得注意的,本申请中的步骤流程图以及以上方法描述仅作为例示性的例子并且不旨在于要求或暗示必须按照给出的顺序进行各个实施例的步骤,某些步骤可以并行、彼此独立或按照其他适当的顺序执行。另外,诸如“其次”、“然后”、“接下来”等等的词语不旨在于限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。还需要指出的是,在本申请的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
有以下几点需要说明:(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种用于输入输出设备的接口电路,包括:
N个端口,与M个输入输出设备连接,被配置为与所述M个输入输出设备进行数据传输,其中N为大于或等于2的整数,M为大于或等于1且小于或等于N的整数;
M个存储单元,与所述N个端口连接,被配置分别存储与所述M个输入输出设备进行传输的数据,其中,所述M个存储单元与所述M个输入输出设备对应;和
仲裁器,与所述M个存储单元连接,被配置选择所述M个存储单元中的数据进行传输。
2.根据权利要求1所述的接口电路,其中,所述接口电路还包括:
映射单元,与所述N个端口及所述M个存储单元连接,被配置为根据映射配置信息,设置所述N个端口和所述M个存储单元之间的映射关系;
其中,所述N个端口被分成M组端口,所述M组端口分别被映射到所述M个存储单元。
3.根据权利要求1所述的接口电路,其中,所述M个存储单元中的每个存储单元包括先入先出存储器和缓冲存储器,其中,
先入先出存储器,与所述N个端口的至少一个端口和所述缓冲存储器连接,被配置为接收并存储来自所述至少一个端口的数据和/或来自所述缓冲存储的数据;
缓冲存储器,与所述仲裁器连接,被配置为接收来自所述先入先出存储器的数据和/或根据所述仲裁器的选择将数据发送给所述先入先出存储器。
4.根据权利要求3所述的接口电路,其中,所述先入先出存储器还连接到所述仲裁器,在所述M个输入输出设备向所述接口电路发送数据时,
所述仲裁器还被配置为检测所述先入先出存储器和所述缓冲存储器中是否有数据,其中,在所述先入先出存储器中有数据时,选择对所述缓冲存储器中的数据进行传输,在所述先入先出存储器中没有数据且所述缓冲存储器中有数据时,选择对所述先入先出存储器中的数据进行传输,而在所述先入先出存储器和所述缓冲存储器中均没有数据时,则不进行数据传输。
5.根据权利要求3所述的接口电路,其中,所述先入先出存储器还连接到所述仲裁器,在所述接口电路向所述M个输入输出设备发送数据时,
所述仲裁器还被配置为检测所述缓冲存储器中是否有数据,其中,在所述缓冲存储器中有数据时,将所述缓冲存储器中的数据发送至所述先入先出存储器,在所述缓冲存储器中没有数据时,则不进行数据传输。
6.根据权利要求3所述的接口电路,其中,在所述M个输入输出设备向所述接口电路发送数据时,所述先入先出存储器还被配置为在所述先入先出存储器中存储的数据的数量达到预设阈值时,将所存储的数据发送至所述缓冲存储器。
7.根据权利要求3所述的接口电路,其中,在所述接口电路向所述M个输入输出设备发送数据时,所述存储单元还包括:
M个输出存储器,与所述N个端口和所述M个存储单元中的先入先出存储器连接,被配置为存储等待发送至所述M个输入输出设备的数据;
其中,所述先入先出存储器还被配置为在所述先入先出存储器中存储的数据的数量达到预设阈值时,将所存储的数据发送至所述M个输出存储器中对应的输出存储器。
8.根据权利要求1-7中任一项所述的接口电路,其中,所述仲裁器被配置为以轮询的方式将选择所述M个存储单元中的数据进行传输。
9.一种主板,包括至少一个如权利要求1-8中任一项所述的用于输入输出设备的接口电路。
10.一种电子设备,包括如权利要求1-8中任一项所述的用于输入输出设备的接口电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410284396.0A CN118227531A (zh) | 2024-03-12 | 2024-03-12 | 用于输入输出设备的接口电路、主板及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410284396.0A CN118227531A (zh) | 2024-03-12 | 2024-03-12 | 用于输入输出设备的接口电路、主板及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118227531A true CN118227531A (zh) | 2024-06-21 |
Family
ID=91498841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410284396.0A Pending CN118227531A (zh) | 2024-03-12 | 2024-03-12 | 用于输入输出设备的接口电路、主板及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118227531A (zh) |
-
2024
- 2024-03-12 CN CN202410284396.0A patent/CN118227531A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101873253A (zh) | 带缓冲的纵横式交换机系统 | |
CN116841932B (zh) | 一种可灵活连接的便携式高速数据存取设备及其工作方法 | |
CN101394349B (zh) | 不同接口设备通信中的数据传输方法及系统 | |
CN103955436A (zh) | 一种数据处理装置和终端 | |
CN115994107B (zh) | 存储设备的存取加速系统 | |
CN102664918A (zh) | 刀片服务器控制方法及控制台 | |
CN103530245A (zh) | 一种基于fpga的srio互联交换装置 | |
EP0523878A1 (en) | Deterministic method for allocation of a shared resource | |
CN101281453B (zh) | 存储设备级联方法、存储系统及存储设备 | |
CN100536460C (zh) | 一种调度和仲裁的装置 | |
CN102404183B (zh) | 仲裁方法和仲裁器 | |
GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
CN116737624A (zh) | 一种高性能数据存取装置 | |
CN118227531A (zh) | 用于输入输出设备的接口电路、主板及电子设备 | |
CN101534259B (zh) | 异步通信控制器及其控制方法 | |
CN216772401U (zh) | 一种主设备主控功能实现系统 | |
CN110851393B (zh) | 一种带有Aurora接口的USB转换控制板卡及方法 | |
CN209248518U (zh) | 一种固态硬盘扩展板卡及服务器 | |
US20110090924A1 (en) | System to connect a serial scsi array controller to a storage area network | |
CN1191530C (zh) | 多命令部件共用主控器的pci主桥 | |
CN206479978U (zh) | 一种用于处理多个总线设备数据的总线系统 | |
CN101290564B (zh) | 数据传输方法、系统及cpu接口控制器 | |
CN101127992B (zh) | 多业务并发执行的实现方法及实现该方法的移动终端 | |
CN104049915A (zh) | 一种存储系统及通信方法 | |
CN112231263B (zh) | 一种fpga夹层卡拓展装置 |
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 |