CN110998551B - 绕过pcie地址转换的设备和机制 - Google Patents
绕过pcie地址转换的设备和机制 Download PDFInfo
- Publication number
- CN110998551B CN110998551B CN201880010824.3A CN201880010824A CN110998551B CN 110998551 B CN110998551 B CN 110998551B CN 201880010824 A CN201880010824 A CN 201880010824A CN 110998551 B CN110998551 B CN 110998551B
- Authority
- CN
- China
- Prior art keywords
- address
- data
- value
- address space
- space value
- 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.)
- Active
Links
- 238000013519 translation Methods 0.000 title claims abstract description 45
- 230000007246 mechanism Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 26
- 239000004065 semiconductor Substances 0.000 claims description 12
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000010354 integration Effects 0.000 claims 6
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000014616 translation Effects 0.000 abstract description 41
- 238000013461 design Methods 0.000 abstract description 5
- 230000009466 transformation Effects 0.000 abstract description 2
- 238000000844 transformation Methods 0.000 abstract description 2
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013501 data transformation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- 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/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
Abstract
地址空间字段(ASEL)与正常地址字段(Axx‑A00)结合使用,以允许指示用于特定地址值的地址空间。在一个实例中,一个地址空间值用于指示绕过在地址空间(408、410、412)之间使用的地址转换。针对常规操作指定不同的地址空间值,其中执行地址转换(408、410、412)。其他地址空间值用于指定地址值或数据的不同变换。该技术提供了用于处理具有不同地址空间的不同装置之间的地址值等的简化格式,简化了整体计算机系统设计和操作。
Description
技术领域
本申请涉及各种地址空间之间的信息传递。
背景技术
现代计算机非常精密、复杂且功能强大。为了改善处理能力,许多现代计算机包括智能输入输出(I/O)装置。这些智能I/O装置通常包括片上系统,其包括微处理器并具有连接的存储器。当然,计算机包括其自己的主微处理器和存储器。多个微处理器的存在经常在各种微处理器之间产生不同地址空间的情况。智能I/O装置通常使用高级接口(例如外围部件互连高速(PCIe))连接到计算机。PCIe包括其自己的地址空间,该地址空间是各种微处理器的地址空间的添加。过去这些多个地址空间的存在已需要在每个步骤和每个方向上进行地址转换。许多地址转换使整体计算机系统设计复杂化,这通常是不必要的。
发明内容
地址空间字段(field)与正常地址字段结合使用,以允许指示用于特定地址值的地址空间。在一个实例中,一个地址空间值用于指示绕过地址空间之间使用的地址转换。针对常规操作指定不同的地址空间值,其中执行地址转换。其他地址空间值用于指定地址值或数据的不同变换。该技术提供了用于处理具有不同地址空间的不同装置之间的地址值等的简化格式,简化了整体计算机系统设计和操作。
附图说明
图1是示例计算机系统的框图。
图2是示出根据现有技术的地址转换的框图。
图3是使用地址空间值的示例片上系统的框图。
图4是图3的片上系统的PCIe端口的框图。
图5是使用地址空间值的第二示例片上系统的框图。
图6是第二示例片上系统中的开关的框图。
图7是具有多个地址空间的PCIe端口的传输部分的详细框图。
具体实施方式
图1示出了示例计算机系统100。使用PCIe链路106将PC或服务器主板或母板102连接到I/O卡104。母板102包括微处理器108,其包括嵌入式PCIe根端口110和存储器管理单元(MMU)112。主存储器114连接到微处理器108并与MMU 112协作。MMU 112将虚拟地址提供给正常操作所需的物理地址转换,其中计算机系统微处理器108正在虚拟地址空间中操作并且需要访问物理存储器114。
I/O卡104包括作为片上系统(SOC)116的半导体装置。SOC 116包括微处理器118,该微处理器118可以包括MMU 119(图3)和各种集成功能。PCIe端口120用于连接到母板102。直接存储器存取(DMA)控制器122用于控制I/O卡存储器124和I/O功能126之间的数据传递。示例I/O功能包括磁盘阵列控制器、高级网卡等。DMA控制器122处理在I/O功能126和存储器124之间以及在存储器124和母板102上的主存储器114之间传递数据。
图2示出了说明根据现有技术在PCIe链路上的数据传递和地址转换的框图。类似于母板102上的存储器114的存储器214包含缓冲器230,该缓冲器230包含将被传递到存储器224中的缓冲器232的数据,该存储器224类似于存储器124。数据将通过PCIe链路206从缓冲器230移出。数据从缓冲器230提供给PCIe根端口210。PCIe根端口210的发射器(TX)段234接收数据,并且转换块236将地址从存储器214的物理地址转换为PCIe地址。数据被传输到端点PCIe端口220,端点PCIe端口220类似于PCIe端口120。数据在接收块238处被接收,其中转换块240将地址从PCIe地址转换为存储器224的物理地址。然后将数据放入缓冲器232中。
如果要将数据从缓冲器232传递到缓冲器230,则从缓冲器232检索数据并将其提供给PCIe端口220中的传输块242。传输块242包括转换块244,以将从与存储器224一起使用的物理存储器地址转换为PCIe地址。在PCIe根端口210中的接收块246处接收数据。转换块248将地址从PCIe地址转换为存储器214的物理地址,并然后将数据存储在缓冲器230中。
可以看出,即使每个装置上的处理器高度精密并且可以管理非常复杂的存储器映射,也需要多个地址转换。一个困难是需要将特定转换中的每个编程到各种转换块中。在PCIe接收侧上,这是通过基址寄存器(BAR)完成的,该基址寄存器的数量有限并且必须根据需要进行编程或重新编程。在PCIe传输侧上,直接地址转换根据需要进行编程或重新编程。
图3示出了SOC 116的详细框图。微处理器118、连接到存储器124的存储器控制器123、DMA控制器122和PCIe端口120通过交叉开关或开关阵列302互连。针对到开关阵列302的连接中的每个提供地址格式。地址格式被划分为两部分,预先设定的地址空间值或ASEL部分和基本存储器地址部分,诸如Axx-A00,例如A31-A00或A63-A00。除了正常地址位以及正常数据和控制位之外,开关阵列302还被设计为处理预先设定的地址空间值位。在所示的示例中,用于存储器控制器123和微处理器118的ASEL位为零,其用于指示常规操作。PCIe端口120和DMA控制器122可以根据需要设置ASEL位,以指示常规操作或辅助地址空间中的操作。通过将ASEL位设置为1值,指示辅助地址空间中的操作。PCIe链路上使用的地址值是正常的PCIe地址值,而没有任何地址空间值选择位。
在操作中,DMA控制器122被编程用于特定数据传递。作为示例,对于从存储器124中的缓冲器到PCIe端口120的数据传递,DMA控制器122被编程为在从存储器124读取数据时提供零的ASEL值,并且被编程为如果不执行地址转换,则在将数据写入PCIe端口120时使用1的ASEL值。如果要执行地址转换,则DMA控制器122被编程为在写操作上使用零的ASEL值。如果微处理器118直接用PCIe端口120进行操作,则使用零的ASEL值,如在示例中,微处理器118仅使用零ASEL值提供存储器操作。在此情况下,PCIe端口120执行通常所做的地址转换。
图4示出了PCIe端口120的细节。提供总线主(master)模块402以连接到开关阵列302。提供PCIe核404以开发PCIe链路,诸如到母板102。来自总线主模块402的传输地址路径406被提供给2位多路分解器408的输入。多路分解器408的选择输出由在传输地址路径406上提供的地址中的ASEL位提供。多路分解器408的零或正常地址空间值输出被提供给转换块410,转换块410将存储器124物理地址转换为PCIe地址,与现有技术中一样。转换块410的输出作为零输入提供给多路复用器412。多路复用器412的输出作为传输地址提供给PCIe核404。多路分解器408的1或替代地址空间值输出直接提供给多路复用器412的1输入。通过这种直接连接,不对特定事务中的地址执行地址转换。ASEL位被多路复用器412或PCIe核404剥离或移除。
在所示的示例中,从PCIe核404到多路分解器416的输入提供接收(RX)地址路径414。多路分解器416的输出控制由地址映射块418提供,该地址映射块418检查事务的地址位,诸如Axx-A00,并且适当地确定地址是否需要被转换或者是否可以以未转换的格式使用。如果需要转换,则将来自多路分解器416的零输出提供给转换块420,该转换块420执行必要的地址转换。将转换块420的输出提供给多路复用器422的零输入,其中零值ASEL位预先设置到地址。多路复用器422的输出作为接收地址提供给总线主模块402。
如果不需要地址转换,则多路分解器416的1输出直接将地址提供给多路复用器422的1输入,其中1值被提供作为预先设置的ASEL位。通过在多路复用器422处提供ASEL位,可以使用ASEL位完成SOC 116内的内部路由,如图3所示。
在另一示例中,未转换或旁路路径不存在于接收路径中,并且执行基于基址寄存器(BAR)的地址转换。在该示例中,不存在多路分解器416、复用器422和与多路分解器416一起使用的地址映射418,并且总是使用零的ASEL值。
图5提供了SOC 116’的第二示例。与图3的SOC 116的相似部件编号相同。图5的情况的不同之处在于提供了替代开关阵列302’,其具有到PCIe端口120’的单独连接,用于ASEL值为零和ASEL值为1的地址值。在该示例中,PCIe端口120’不需要利用多路分解器408进行多路分解或使用复用器422进行多路复用,而是将路径直接提供给开关阵列302’的两个连接。当路由消息时,开关阵列302’使用ASEL位作为附加路由项。因此,PCIe端口120’有效地具有到开关阵列302’的两个连接而不是如图3和图4所示的单个连接。
图6示出了开关阵列302”。在开关阵列302”中,图4中所示的多路复用器、多路分解器和转换块已被移入开关阵列302中。开关阵列302”包括交叉核602,其实际上是开关阵列302。一个端口604包括如图4中所示的多路复用器、多路分解器和转换逻辑。在图6中提供了与图4中相似的元件号,其中添加了双标号以指示在开关阵列302”中的使用的该示例。通过将多路复用器、转换和多路分解器元件集成到开关阵列302”中,可以使用不包括多路复用器、多路分解器和转换元件的常规PCIe端口逻辑。由于上述示例被集成到SOC上,因此这些元件的位置是设计选择,因为在功能上它们是等同的。
上文的描述使用单个ASEL位来简化描述。在图7所示的另一示例中,地址空间值指示由四位ASEL字段提供。使用四位提供多达16个单独的地址空间值指示,而不是使用单个ASEL位完成的两个地址空间值。总线主模块702将地址值提供给16输出地址多路分解器704的输入。四个ASEL位用于选择地址多路分解器704的所需输出。如在前面的示例中,利用零的ASEL值将地址值提供给转换块0 706,其提供现有技术类型的地址转换。ASEL 1输出直接提供给地址多路复用器708而没有任何转换,如图4所示。如图所示,2的ASEL值将地址多路分解器704的输出引导到地址转换块2 710,其可以被开关712绕过。转换块2 710或旁路开关712的选择由配置寄存器位执行,以允许选择性转换或绕过地址转换。地址转换块2 710和旁路开关712的输出被提供给地址多路复用器708。在地址多路分解器704的剩余输出处提供类似的地址转换块和旁路开关,直到表示值F或15的输出,其输出被提供给地址转换块F 714和旁路716。地址转换块2到F的输出和相关的旁路开关被提供给地址多路复用器708的相应输入。
数据路径未在图4中示出,因为数据路径是直通的,没有数据操纵。在图7中,提供了数据路径操纵。数据路径718从总线主模块702被提供到16输出数据多路分解器722的输入。数据多路分解器722的选择由ASEL位提供。因此,地址多路分解器704和数据多路分解器722的输出被匹配,使得地址和数据值的操控基于同一ASEL值完成。在所示的示例中,来自数据多路分解器722的零和1输出直接进入数据多路复用器724的零和1输入,数据多路复用器724的输出是到PCIe核720的数据路径。数据多路分解器722的2输出提供给字节序反转块726以允许大字节序和小字节序系统之间的转换。注意到通过数据多路分解器722到字节序反转块726到数据多路复用器724的2输出路径与地址转换块2 710或旁路开关712并行,如果需要,除了数据字节序转换之外,还可以使用地址转换,或在执行字节序转换时可以省略地址转换。数据多路分解器722的所示出的示例F或15输出被提供给压缩块728,压缩块728的输出到达数据多路复用器724的F或15输入。与字节序转变一样,地址路径允许地址转换或直接未转换地址,这取决于特定的设计要求。可以根据需要使用其他输出来选择各种所需的数据操作。字节序反转和压缩数据转变是说明性的,并且非详尽的。
虽然图7未示出地址或数据的接收路径,但是接收路径的配置类似于图4中所示的地址接收路径,除了包括数据路径操作和16个可替代地址空间而不是只有两个。
上文的描述集中于端点PCIe端口配置。使用附加位以提供用于指示不同功能的地址空间值指示也可以用在PCIe根端口配置中。
在上文的描述中,ASEL位被预先设置为正常地址位。预先设置是出于说明目的而完成的。如果需要,ASEL位可以后设置或者可以在侧信道中提供。
虽然使用示例PCIe端口描述了配置和操作,但是可以针对许多不同的功能来完成基于地址空间值位的选择,这些功能需要在源和目的地之间对地址或数据值进行一些处理。作为一个示例,在HyperTransport接口中的包含物(inclusion)以及利用所述HyperTransport接口的操作类似于示例PCIe端口。其他地址转换示例包括各种远程DMA(RDMA)协议。字节序转变和压缩被描述为数据操作,但是也可以进行其他数据操作,诸如加密等。
不同的端口或功能块可以在同一系统中使用不同的地址和数据变换。例如,地址转换旁路可以与PCIe端口一起使用,并且可以通过将每个操作分配到不同的地址空间(诸如对于正常PCIe端口和串行附接SCSI(SAS)端口操作为零,对于PCIe端口地址转换旁路为1,并且对于SAS端口数据加密为2),数据加密可以与磁盘阵列功能一起使用。在此种情况下,在每个端口处的多路复用器和多路分解器不需要是完整的(即包括地址空间值选择位的数量的所有输出或输入),但是只可以解码与特定功能相关的地址空间值,其中与该端口处的任何其他地址空间值生成错误条件。
虽然上文的描述集中于SOC内部的配置和操作,但是该配置和操作同样适用于外部连接。
虽然仅将DMA控制器和PCIe端口描述为在其操作中提供和使用不同的ASEL位值,但是如果需要,任何其他装置可以使用地址空间值。例如,可以扩展处理器中的MMU以将ASEL位添加到其操作,以允许处理器也执行地址空间指示。
通过除了正常地址位之外还提供地址空间值选择位,可以指定针对不同地址空间的不同功能,从而允许改善所得计算机的操作。
在所描述的实施例中,修改是可能的,并且在权利要求的范围内,其他实施例是可能的。
Claims (16)
1.一种半导体装置,其包括:
第一集成功能,其用于提供具有地址和数据的事务,其中所述地址包括至少一个地址空间值位和多个地址位;以及
第二集成功能,其耦合到第一集成功能,所述第二集成功能包括:
地址路径,其用于:
接收所述至少一个地址空间值位和所述多个地址位;
针对所述地址空间值的第一值对所述多个地址位执行第一操作;并且
针对所述地址空间值的第二值对所述多个地址位执行不同的第二操作;以及
数据路径,其用于:
接收所述数据;
针对所述地址空间值的所述第一值对所述数据执行第三操作;以及
针对所述地址空间值的所述第二值对所述数据执行第四操作。
2.根据权利要求1所述的半导体装置,其中所述第一操作是所述事务的所述多个地址位的转换,并且所述第二操作是绕过所述第一操作。
3.根据权利要求2所述的半导体装置,其中所述第二集成功能是外围部件互连快速端口即PCIe端口。
4.根据权利要求3所述的半导体装置,其中所述第一集成功能是直接存储器存取控制器即DMA控制器。
5.根据权利要求4所述的半导体装置,进一步包括:
将所述PCIe端口和所述DMA控制器互连的开关阵列,
其中所述开关阵列在所述PCIe端口和所述DMA控制器之间传递所述至少一个地址空间值位和所述多个地址位。
6.根据权利要求1所述的半导体装置,其中所述第二集成功能包括对事务进行操作以用于传输数据和用于接收数据,并且其中所述第一操作和所述第二操作仅针对传输数据和接收数据中的一个发生。
7.一种半导体装置,其包括:
用于耦合到第二集成功能的第一集成功能,其中:
所述第一集成功能包括地址路径和数据路径;
所述第二集成功能用于提供具有地址和数据的事务;
所述地址包括至少一个地址空间值位和多个地址位;
所述地址路径用于针对所述地址空间值的第一值对所述多个地址位执行第一操作,并且针对所述地址空间值的第二值对所述多个地址位执行不同的第二操作;以及
所述数据路径用于针对所述地址空间值的所述第一值对所述数据执行第三操作以及针对所述地址空间值的所述第二值对所述数据执行第四操作。
8.根据权利要求7所述的半导体装置,其中所述第一操作是所述事务的所述多个地址位的转换,并且所述第二操作是绕过所述第一操作。
9.根据权利要求8所述的半导体装置,其中所述第一集成功能是外围部件互连高速端口即PCIe端口。
10.根据权利要求9所述的半导体装置,其中所述第二集成功能是直接存储器存取控制器即DMA控制器。
11.一种操作半导体装置的方法,所述方法包括:
利用第一集成功能提供具有数据和地址的事务,所述地址包括至少一个地址空间值位和多个地址位;以及
由第二集成功能接收所述至少一个地址空间值位和所述多个地址位;
由第二集成功能针对所述地址空间值的第一值对所述多个地址位执行第一操作,并且针对所述地址空间值的第二值对所述多个地址位执行不同的第二操作;以及
由第二集成功能针对所述地址空间值的所述第一值对所述数据执行第三操作以及针对所述地址空间值的所述第二值对所述数据执行第四操作。
12.根据权利要求11所述的方法,其中所述第一操作是所述事务的所述多个地址位的转换,并且所述第二操作是绕过所述第一操作。
13.根据权利要求12所述的方法,其中所述接收所述事务并执行所述第一操作和所述第二操作由外围部件互连快速端口即PCIe端口执行。
14.根据权利要求13所述的方法,其中提供所述事务由直接存储器存取控制器即DMA控制器执行。
15.根据权利要求14所述的方法,进一步包括:
在所述PCIe端口和所述DMA控制器之间传递具有所述至少一个地址空间值位和所述多个地址位的所述事务。
16.根据权利要求11所述的方法,其中事务用于传输数据或用于接收数据,并且其中所述第一操作和所述第二操作仅针对传输数据和接收数据中的一个发生。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762456162P | 2017-02-08 | 2017-02-08 | |
US62/456,162 | 2017-02-08 | ||
US15/890,558 | 2018-02-07 | ||
US15/890,558 US10402355B2 (en) | 2017-02-08 | 2018-02-07 | Apparatus and mechanism to bypass PCIe address translation by using alternative routing |
PCT/US2018/017326 WO2018148351A2 (en) | 2017-02-08 | 2018-02-08 | Apparatus and mechanism to bypass pcie address translation by using alternative routing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110998551A CN110998551A (zh) | 2020-04-10 |
CN110998551B true CN110998551B (zh) | 2023-11-10 |
Family
ID=63037202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880010824.3A Active CN110998551B (zh) | 2017-02-08 | 2018-02-08 | 绕过pcie地址转换的设备和机制 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10402355B2 (zh) |
EP (1) | EP3607450B1 (zh) |
CN (1) | CN110998551B (zh) |
WO (1) | WO2018148351A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402355B2 (en) * | 2017-02-08 | 2019-09-03 | Texas Instruments Incorporated | Apparatus and mechanism to bypass PCIe address translation by using alternative routing |
CN111221465B (zh) * | 2018-11-23 | 2023-11-17 | 中兴通讯股份有限公司 | Dsp处理器、系统以及外部存储空间访问方法 |
DE112020002497T5 (de) | 2019-05-23 | 2022-04-28 | Hewlett Packard Enterprise Development Lp | System und verfahren zur dynamischen zuweisung von reduktionsmotoren |
US20220206879A1 (en) * | 2020-12-30 | 2022-06-30 | Heena Bhatia | PCIe Race Condition secure by Trait Claims and Address Space by using Portable Stimulus |
US11853199B2 (en) | 2021-01-21 | 2023-12-26 | Texas Instruments Incorporated | Multi-peripheral and/or multi-function export |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101165665A (zh) * | 2006-10-17 | 2008-04-23 | 国际商业机器公司 | 管理访问数据处理系统的存储器的地址转换的方法和装置 |
CN104285218A (zh) * | 2013-12-31 | 2015-01-14 | 华为技术有限公司 | 一种扩展PCIe总线域的方法和装置 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050129066A1 (en) * | 2003-12-15 | 2005-06-16 | Steven Tischer | Systems, methods, and storage medium for transmitting data over a computer network |
JP2005190161A (ja) * | 2003-12-25 | 2005-07-14 | Matsushita Electric Ind Co Ltd | データ処理装置およびコンパイラ装置 |
US7376807B2 (en) * | 2006-02-23 | 2008-05-20 | Freescale Semiconductor, Inc. | Data processing system having address translation bypass and method therefor |
US7827324B2 (en) * | 2006-09-20 | 2010-11-02 | Integrated Device Technology Inc. | Method of handling flow control in daisy-chain protocols |
US8015361B2 (en) * | 2007-12-14 | 2011-09-06 | International Business Machines Corporation | Memory-centric page table walker |
EP2246781B1 (en) * | 2008-01-31 | 2020-12-09 | Fuji Xerox Co., Ltd. | Reconfigurable device |
JP4693893B2 (ja) * | 2008-11-25 | 2011-06-01 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
US8370544B2 (en) * | 2009-07-23 | 2013-02-05 | Stec, Inc. | Data storage system with compression/decompression |
JP4908565B2 (ja) * | 2009-09-14 | 2012-04-04 | 株式会社東芝 | メモリシステム |
JP5066209B2 (ja) * | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
KR101781617B1 (ko) * | 2010-04-28 | 2017-09-25 | 삼성전자주식회사 | 통합 입출력 메모리 관리 유닛을 포함하는 시스템 온 칩 |
US9116789B2 (en) * | 2011-06-10 | 2015-08-25 | International Business Machines Corporation | Chaining move specification blocks |
US8949694B2 (en) * | 2011-09-23 | 2015-02-03 | International Business Machines Corporation | Address error detection |
WO2013091185A1 (en) * | 2011-12-21 | 2013-06-27 | Intel Corporation | Gpu accelerated address translation for graphics virtualization |
US8996840B2 (en) * | 2011-12-23 | 2015-03-31 | International Business Machines Corporation | I/O controller and method for operating an I/O controller |
EP2825465B1 (en) | 2012-03-15 | 2016-03-09 | Rychiger AG | Apparatus and method for manufacturing filters and inserting the filters into single dose capsules for preparing beverages |
US9256550B2 (en) * | 2012-03-28 | 2016-02-09 | International Business Machines Corporation | Hybrid address translation |
US9128925B2 (en) * | 2012-04-24 | 2015-09-08 | Freescale Semiconductor, Inc. | System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines |
US9158704B2 (en) * | 2013-01-24 | 2015-10-13 | Wisconsin Alumni Research Foundation | Virtual memory management system with reduced latency |
KR20140114515A (ko) * | 2013-03-15 | 2014-09-29 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법 |
US9256433B2 (en) * | 2013-03-15 | 2016-02-09 | Intel Corporation | Systems and methods for move elimination with bypass multiple instantiation table |
US9116836B2 (en) * | 2013-04-10 | 2015-08-25 | Marvell World Trade Ltd. | Tunneling transaction packets |
KR20150057069A (ko) * | 2013-11-18 | 2015-05-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
JP2015138335A (ja) * | 2014-01-21 | 2015-07-30 | ローム株式会社 | メモリ制御回路 |
JP2015146115A (ja) * | 2014-02-03 | 2015-08-13 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
KR102218712B1 (ko) * | 2014-02-11 | 2021-02-22 | 삼성전자주식회사 | 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법 |
JP6398241B2 (ja) * | 2014-03-20 | 2018-10-03 | 富士ゼロックス株式会社 | パケット生成装置及びプログラム |
US20170075816A1 (en) * | 2014-04-24 | 2017-03-16 | Hitachi, Ltd. | Storage system |
US20160062911A1 (en) * | 2014-08-27 | 2016-03-03 | Advanced Micro Devices, Inc. | Routing direct memory access requests in a virtualized computing environment |
US11281618B2 (en) * | 2014-10-31 | 2022-03-22 | Xlnx, Inc. | Methods and circuits for deadlock avoidance |
US10037280B2 (en) * | 2015-05-29 | 2018-07-31 | Qualcomm Incorporated | Speculative pre-fetch of translations for a memory management unit (MMU) |
US10229142B2 (en) * | 2015-09-14 | 2019-03-12 | International Business Machines Corporation | Method and system for handling binary large objects |
US10387315B2 (en) * | 2016-01-25 | 2019-08-20 | Advanced Micro Devices, Inc. | Region migration cache |
US10078588B2 (en) * | 2016-03-25 | 2018-09-18 | Advanced Micro Devices, Inc. | Using leases for entries in a translation lookaside buffer |
US10261916B2 (en) * | 2016-03-25 | 2019-04-16 | Advanced Micro Devices, Inc. | Adaptive extension of leases for entries in a translation lookaside buffer |
US10048881B2 (en) * | 2016-07-11 | 2018-08-14 | Intel Corporation | Restricted address translation to protect against device-TLB vulnerabilities |
US10372618B2 (en) * | 2016-10-14 | 2019-08-06 | Arm Limited | Apparatus and method for maintaining address translation data within an address translation cache |
US10423353B2 (en) * | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US10402355B2 (en) * | 2017-02-08 | 2019-09-03 | Texas Instruments Incorporated | Apparatus and mechanism to bypass PCIe address translation by using alternative routing |
-
2018
- 2018-02-07 US US15/890,558 patent/US10402355B2/en active Active
- 2018-02-08 WO PCT/US2018/017326 patent/WO2018148351A2/en unknown
- 2018-02-08 EP EP18750603.5A patent/EP3607450B1/en active Active
- 2018-02-08 CN CN201880010824.3A patent/CN110998551B/zh active Active
-
2019
- 2019-09-03 US US16/559,154 patent/US11449444B2/en active Active
-
2022
- 2022-09-16 US US17/946,270 patent/US20230018225A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101165665A (zh) * | 2006-10-17 | 2008-04-23 | 国际商业机器公司 | 管理访问数据处理系统的存储器的地址转换的方法和装置 |
CN104285218A (zh) * | 2013-12-31 | 2015-01-14 | 华为技术有限公司 | 一种扩展PCIe总线域的方法和装置 |
Non-Patent Citations (1)
Title |
---|
张志峰 ; .32位微处理器中存储管理单元的全定制设计.计算机工程与应用.(第13期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
WO2018148351A3 (en) | 2020-01-02 |
US20180225238A1 (en) | 2018-08-09 |
US20230018225A1 (en) | 2023-01-19 |
US10402355B2 (en) | 2019-09-03 |
EP3607450A4 (en) | 2020-05-27 |
WO2018148351A2 (en) | 2018-08-16 |
CN110998551A (zh) | 2020-04-10 |
US11449444B2 (en) | 2022-09-20 |
EP3607450B1 (en) | 2024-01-03 |
US20190391941A1 (en) | 2019-12-26 |
EP3607450A2 (en) | 2020-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110998551B (zh) | 绕过pcie地址转换的设备和机制 | |
EP1546898B1 (en) | Interface integrated circuit device for a usb connection | |
EP1899832B1 (en) | Software layer for communication between rs-232 to i2c translation ic and a host | |
CN102893269A (zh) | 在PCIe架构中路由I/O扩展请求和响应 | |
US10387363B2 (en) | Multipurpose adapter card and integration method therefor | |
US11379402B2 (en) | Secondary device detection using a synchronous interface | |
US10133497B1 (en) | SPI command censoring method and apparatus | |
US20140173167A1 (en) | Pci express switch and computer system using the same | |
US8261002B2 (en) | PHY-less ULPI and UTMI bridges | |
KR100450680B1 (ko) | 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템 | |
US11797311B2 (en) | Asynchronous pipeline merging using long vector arbitration | |
CN106919531B (zh) | 基于非易失性存储总线协议的交互方法及设备 | |
US20070208896A1 (en) | Interrupt Scheme for Bus Controller | |
US11650876B2 (en) | Payload parity protection for a synchronous interface | |
US20220121612A1 (en) | Static identifiers for a synchronous interface | |
CN104598404A (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
US11488643B2 (en) | Method for configuring multiple input-output channels | |
US8108574B2 (en) | Apparatus and methods for translation of data formats between multiple interface types | |
JP4956827B2 (ja) | 8ビットベースのデータ処理システム | |
KR20070063125A (ko) | 데이타 엑세스 장치 및 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |