CN109165177A - 一种pcie接口的通信方法及相关装置 - Google Patents
一种pcie接口的通信方法及相关装置 Download PDFInfo
- Publication number
- CN109165177A CN109165177A CN201811108504.XA CN201811108504A CN109165177A CN 109165177 A CN109165177 A CN 109165177A CN 201811108504 A CN201811108504 A CN 201811108504A CN 109165177 A CN109165177 A CN 109165177A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- pcie
- flash controller
- command packet
- 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
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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请公开了一种PCIE接口的通信方法,包括:PCIE接口装置对AVALON‑ST总线发送的数据包进行解码处理,得到命令数据包;根据所述命令数据包中的寄存器标识判断所述命令数据包是否与闪存控制器匹配;若是,则根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器。通过对数据包进行解码处理,闪存控制器匹配以及格式转换处理得到闪存控制可读的数据,实现将闪存控制器通过PCIE接口进行连接,提高了数据传输的速度,并且保证了数据传输的可靠性。本申请还公开了一种PCIE接口装置、装置以及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种PCIE接口的通信方法、PCIE接口装置、装置以及计算机可读存储介质。
背景技术
随着信息技术的发展,互联网中存储的数据量也得到了长足的增长,进而使得存储***不断换代升级。尤其是以闪存为介质的存储***,在容量和成本方面的优势,得到了广泛的应用。
但是,现有技术中由于使用SATA/SAS接口去连接闪存,由于接口本身速率的限制,使得接口的带宽无法得到很好的释放,限制了数据传输的速率,无法满足闪存对于读写速度的要求,降低了闪存的传输效率,也降低了闪存的利用率。
因此,如何提高接口的带宽传输速率是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供本申请的核心是提供一种PCIE接口的通信方法、PCIE接口装置、装置以及计算机可读存储介质,通过对数据包进行解码处理,闪存控制器匹配以及格式转换处理得到闪存控制可读的数据,实现将闪存控制器通过PCIE接口进行连接,提高了数据传输的速度,并且保证了数据传输的可靠性。
为解决上述技术问题,本申请提供一种PCIE接口的通信方法,包括:
PCIE接口装置对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包;
根据所述命令数据包中的寄存器标识判断所述命令数据包是否与闪存控制器匹配;
若是,则根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器。
可选的,还包括:
当所述命令数据包与所述闪存控制器不匹配时,删除所述命令数据包。
可选的,PCIE接口装置对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包,包括:
所述PCIE接口装置将所述数据包保存在对应的缓存中,对所述数据包进行CRC校验处理;
当所述CRC校验处理通过时,根据AVALON-ST总线协议对所述数据包进行解码处理得到所述命令数据包。
可选的,根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器,包括:
当所述命令数据包的类型为写类型时,对所述命令数据包进行配置信息解码处理,得到配置信息,根据所述配置信息对所述命令数据包进行数据采集处理,得到数据;
根据所述闪存控制器的写请求格式对所述配置信息进行格式转换处理,得到写请求;
根据所述闪存控制器的数据位宽对所述数据进行位宽转换处理,得到待写数据;
将所述写请求和所述待写数据发送至所述闪存控制器。
可选的,根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器,包括:
当所述命令数据包的类型为读类型时,对所述命令数据包进行配置信息解码处理,得到配置信息;
根据所述闪存控制器的读请求格式对所述配置信息进行格式转换处理,得到读请求;
将所述读请求发送至所述闪存控制器。
可选的,还包括:
当所述PCIE接口装置接收到返回数据时,根据PCIE配置信息对所述返回数据进行格式转换处理,得到返回命令数据包;
根据AVALON-ST总线协议对所述返回命令数据包进行编码处理,得到返回数据包;
将所述返回数据包发送至PCIE主端装置。
本申请还提供一种PCIE接口装置,包括:
数据包解码模块,用于对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包;
寄存器匹配模块,用于判断所述数据包中的寄存器标识是否与闪存控制器的寄存器匹配;
数据包格式转换模块,用于当所述寄存器标识与所述闪存控制器的寄存器匹配时,根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器。
可选的,所述数据包解码模块,包括:
校验单元,用于将所述数据包保存在对应的缓存中,对所述数据包进行CRC校验处理;
解码单元,用于当所述CRC校验处理通过时,根据AVALON-ST总线协议对所述数据包进行解码处理得到所述命令数据包。
本申请还提供一种装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的通信方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的通信方法的步骤。
本申请所提供的一种PCIE接口的通信方法,包括:PCIE接口装置对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包;根据所述命令数据包中的寄存器标识判断所述命令数据包是否与闪存控制器匹配;若是,则根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器。
通过将数据包进行解码处理,得到可以对数据内容和数据格式进行解析的命令数据包,再判断该命令数据是否与闪存控制器匹配,当匹配时,对命令数据包中的命令和数据进行PCIE格式转换,将命令数据包从PCIE格式转换为闪存控制器的格式,以符合闪存控制器的格式要求,最后将转换结果发送至闪存控制器,实现了将闪存控制器通过PCIE接口进行连接,提高了数据传输的速度,并且保证了数据传输的可靠性。
本申请还提供一种PCIE接口装置、装置以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种PCIE接口的通信方法的流程图;
图2为本申请实施例所提供的通信方法中的写类型格式转换操作的流程图;
图3为本申请实施例所提供的通信方法中的读类型格式转换操作的流程图;
图4为本申请实施例所提供的通信方法中的返回数据处理方法的流程图;
图5为本申请实施例所提供的一种PCIE接口装置的结构示意图。
具体实施方式
本申请的核心是提供一种PCIE接口的通信方法、PCIE接口装置、装置以及计算机可读存储介质,通过对数据包进行解码处理,闪存控制器匹配以及格式转换处理得到闪存控制可读的数据,实现将闪存控制器通过PCIE接口进行连接,提高了数据传输的速度,并且保证了数据传输的可靠性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中由于使用SATA/SAS接口去连接闪存,而接口本身速率的限制,使得接口的带宽无法得到很好的释放,限制了数据传输的速率,无法满足闪存对于读写速度的要求,降低了闪存的传输效率,也降低了闪存的利用率。
因此,本申请提供一种PCIE接口的通信方法,通过将数据包进行解码处理,得到可以对数据内容和数据格式进行解析的命令数据包,再判断该命令数据是否与闪存控制器匹配,当匹配时,对命令数据包中的命令和数据进行PCIE格式转换,将命令数据包从PCIE格式转换为闪存控制器的格式,以符合闪存控制器的格式要求,最后将转换结果发送至闪存控制器,实现了将闪存控制器通过PCIE接口进行连接,提高了数据传输的速度,并且保证了数据传输的可靠性。
请参考图1,图1为本申请实施例所提供的一种PCIE接口的通信方法的流程图。
该方法可以包括:
S101,PCIE接口装置对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包;
本步骤旨在对接收到AVALON-ST总线发送的数据包进行解码处理,得到命令数据包。其中,PCIE为peripheral component interconnect express,是一种高速串行计算机扩展总线标准,PCIE接口装置即为符合PCIE标准的接口控制装置,在本实施例中PCIE接口装置的一端与总线连接,另一端与闪存控制器连接,以实现将闪存通过PCIE接口进行连接提高闪存数据的读写速度。
其中,AVALON-ST总线是AVALON总线的一种传输协议。AVALON-ST接口是一种单向点对点的高速接口,主要针对的是高速数据流的传输,减少数据流处理中的瓶颈。
本步骤中所接收得到的数据包即为符合AVALON-ST协议的数据包,其中封装所要操作的数据,因此需要将其进行解码得到命令数据包。具体的,对数据包进行解码的方法可以采用现有技术提供的任意一种AVALON-ST协议数据包的解码方法,在此不做具体限定。
其中,进行解码得到的命令数据包与该数据包所进行的操作不同而不同,具体的,当数据包为写请求的数据包时,该命令数据包包括写命令和数据。当数据包为读请求的数据包时,该命令数据包包括读命令。
需要说明的是,本步骤中的数据包是同一总线发送来的,经过了总线的编码无法读取出直接的数据,需要进行解码处理,得到可以解析出命令信息和数据的命令数据包,以便后续对该命令数据包继续进行数据处理。
本步骤中的解码处理中还包括对所解码的数据进行数据校验。
具体的,为了保证数据包的完整性,本步骤可以包括:
步骤一,PCIE接口装置将数据包保存在对应的缓存中,对数据包进行CRC校验处理;
步骤二,当CRC校验处理通过时,根据AVALON-ST总线协议对数据包进行解码处理得到命令数据包。
本具体方案中主要是通过CRC校验处理,对数据包进行相关的校验处理。其中,CRC(Cyclic Redundancy Check)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种校验方法。
S102,根据命令数据包中的寄存器标识判断命令数据包是否与闪存控制器匹配;若是,则执行S103;若否,则执行S104;
在步骤S101的基础上,本步骤旨在根据命令数据包中的寄存器标识判断命令数据包是否与闪存控制器匹配;
在本实施例的PCIE接口装置中,也就是PCIE的配置空间中有6个32位的BAR(寄存器名称)寄存器。一般的在PCIE的接口装置中每个寄存器的功能需要根据技术人员的需求进行设定,在本实施例中的寄存器是用来存储PCIE设备(本实施中的闪存控制器)在PCIE地址空间中的基地址,以便使用该基地址与对应的PCIE设备进行匹配,并进行数据操作。相对应的,本实施中的命令数据包保存了寄存器标识,用于与接口装置中的BER寄存器进行匹配,得到PCIE设备的基地址用于与PCIE设备进行匹配,具体的就是该命令数据包中的8位宽的数据,用于匹配对应的BAR寄存器,从而获取BAR寄存器中的PCIE设备的基地址。
也就是,先通过本步骤中命令数据包中的寄存器标识判断是否存在对应的BAR寄存器,如果存在就是获取到该寄存器中的PCIE设备的基地址,也就是与闪存控制器进行匹配。
当命令数据包与闪存控制器匹配时,表示可以与该闪存控制器进行数据交互,也就是继续后续的操作流程。
当命令数据包与闪存控制器不匹配时,表示无法匹配到对应的闪存控制器,无法进行后续的操作流程。
S103,根据命令数据包的类型确定对应的PCIE格式转换操作,执行PCIE格式转换操作,将转换结果发送至闪存控制器。
在命令数据包匹配到了对应的闪存控制器的基础上,本步骤旨在根据命令数据包的类型执行对应的PCIE格式转换操作。
具体,由S101可知本实施例中的命令数据包可以分为两种,也就是写请求命令数据包和读请求命令数据包。每种数据包中所包含的数据并不相同,因此对其进行不同的PCIE格式转换操作。
具体的,写请求命令数据包中包括写请求和写数据,需要针对两者进行不同的PCIE格式转换。读请求命令数据包中只包括读请求,因此只需要对读请求进行PCIE格式转换。
总之,本步骤就是将PCIE格式的数据通过PCIE格式转换操作转换为闪存控制器可以进行处理的格式数据。
S104,删除命令数据包。
在命令数据包无法匹配到闪存控制器的基础上,本步骤旨在删除该命令数据包,由于在PCIE接口装置中命令数据包是存在寄存器等存储元件中,需要对其删除,以便后续数据可以继续进行处理。
可选的,在S103之前还可以包括对命令数据包进行同步化处理,也就是在命令数据包传输的过程中等待一个单位的命令数据包全部传输完毕后再进行后续的处理,避免出现在处理过程中数据丢失的情况。
以上步骤实现了PCIE接口连接闪存控制器,由于PCIE接口本身具有较快的数据传输速度和较高的可靠性,因此可以提高闪存的数据传输速度以及数据传输的可靠性。
综上,本实施例通过将数据包进行解码处理,得到可以对数据内容和数据格式进行解析的命令数据包,再判断该命令数据是否与闪存控制器匹配,当匹配时,对命令数据包中的命令和数据进行PCIE格式转换,将命令数据包从PCIE格式转换为闪存控制器的格式,以符合闪存控制器的格式要求,最后将转换结果发送至闪存控制器,实现了将闪存控制器通过PCIE接口进行连接,提高了数据传输的速度,并且保证了数据传输的可靠性。
基于上一实施例,本实施主要是针对上一实施例中如何对写类型的命令数据包进行格式转换操作做的一个具体说明,其他部分与上一实施例大体相同,相同部分可以参考上一实施例,在此不做赘述。
请参考图2,图2为本申请实施例所提供的通信方法中的写类型格式转换操作的流程图。
该操作可以包括:
S201,当命令数据包的类型为写类型时,对命令数据包进行配置信息解码处理,得到配置信息,根据配置信息对命令数据包进行数据采集处理,得到数据;
本步骤旨在当命令数据包的类型为写类型时,也就是命令数据包中包括了写命令和数据,需要针对不同对象进行格式转换处理。先对命令数据包进行配置信息解码处理,得到配置信息,该配置信息中包括了写命令和关于数据的信息,因此,可以根据该配置信息对命令数据包进行数据采集处理,得到数据。
主要是因为一般在数据传输的过程中,数据无法立即传输完毕,因此,PCIE接口装置中可能先接收到命令部分,也就是可以解析出配置信息的数据。再根据配置信息对后续的数据进行接收,也就是对命令数据包进行采集处理。
其中,配置信息中可以包括关于数据开始和结束的标识码,也可以是表示数据长度的信息,还可以是数据结束的信息。根据配置信息就可以确定数据的结束,因此就可以采集到完整的数据。其中,配置信息的具体内容并不唯一,在此不做具体限定。
S202,根据闪存控制器的写请求格式对配置信息进行格式转换处理,得到写请求;
在步骤S201的基础上,本步骤旨在根据闪存控制器的写请求格式对配置信息进行格式转换处理,得到写请求。本步骤也就是为了得到符合格式的写请求。
具体的,可以先从配置信息中转换出写命令,然后根据写请求格式对写请求进行格式转换得到写请求,可以是根据写请求格式将写命令封装为写请求,总是得到符合写请求格式的请求命令。
S203,根据闪存控制器的数据位宽对数据进行位宽转换处理,得到待写数据;
在步骤S201的基础上,本步骤旨在对数据进行位宽转换处理,得到待写数据。由于PCIE格式中的数据位宽和闪存控制器中处理数据的位宽不同,因此需要将位宽进行转换。例如,PCIE中的数据位宽是32位,而闪存控制器的位宽是16位,因此将32位的数据转换为16位。并且,通常PCIE中的数据位宽大于闪存控制器的位宽。
需要说明的是,本实施例中S202与S203之间的执行顺序并没有先后顺序,可以随意进行执行。
S204,将写请求和待写数据发送至闪存控制器。
在步骤S202与S203的基础上,本步骤旨在将写请求和待写数据发送至闪存控制器,以便完成写类型的命令数据包的格式转换操作。
基于上一实施例,本实施主要是针对上一实施例中如何对读类型的命令数据包进行格式转换操作做的一个具体说明,其他部分与上一实施例大体相同,相同部分可以参考上一实施例,在此不做赘述。
请参考图3,图3为本申请实施例所提供的通信方法中的读类型格式转换操作的流程图。
该操作可以包括:
S301,当命令数据包的类型为读类型时,对命令数据包进行配置信息解码处理,得到配置信息;
本步骤旨在当命令数据包为读类型时,命令数据包中只包括读命令,因此只需要解析出配置信息即可。
S302,根据闪存控制器的读请求格式对配置信息进行格式转换处理,得到读请求;
在S301的基础上,本步骤旨在对配置信息进行格式转换即可,得到读请求。
S303,将读请求发送至闪存控制器。
在S302的基础上,本步骤旨在将读请求发送至闪存控制器中,以便将读命令传输至闪存。
在以上所有实施例的基础上,本申请还提供传输返回数据的实施例。也就是当接收到返回数据时,PCIE接口装置对返回数据进行处理,以便将返回数据进行处理,返回至PCIE主端装置。
请参考图4,图4为本申请实施例所提供的通信方法中的返回数据处理方法的流程图。
该方法可以包括:
S401,当PCIE接口装置接收到返回数据时,根据PCIE配置信息对返回数据进行格式转换处理,得到返回命令数据包;
S402,根据AVALON-ST总线协议对返回命令数据包进行编码处理,得到返回数据包;
S403,将返回数据包发送至PCIE主端装置。
本实施例旨在将接收到的返回数据进行格式转换处理和编码处理,得到可以对PCIE主端装置进行反馈的返回数据包。其中,PCIE配置信息包括了命令数据包中的命令和数据的格式,以便根据该格式对返回数据进行格式转换处理。
具体的,当返回数据为写命令的返回数据时,返回数据就是CPL(completion)报文,以便结束此次的写数据传输。其中,CPL报文是指不携带数据的完成报文。因此,可以知道的是,该返回数据进行格式转换处理时只进行与命令相关的处理,包括:根据命令格式对返回数据进行命令格式转换,再进行DESC格式编码得到返回命令数据包。
当返回数据为读命令的返回数据时,返回数据就是CPLD(completion with data)报文,以便返回所读取的数据以便结束读数据传输,其中,CPLD报文是指携带数据的完成报文。因此,对该返回数据进行格式转换处理需要对报文部分和数据部分分别进行处理,对报文部分需要根据命令格式对放回数据进行命令格式转换,对数据部分需要进行位宽转换,将两者的转换结果一起进行DESC格式编码得到返回命令数据包。
另外,在处理读请求时,有两种可选的处理情况。对命令数据包解析出的配置信息中判断了是否需要立即返回数据。如果是立即返回数据,则等待返回数据,当收到返回数据,立刻进行处理并发送。如果不需要立即返回数据,则可以继续处理其他请求,当收到返回数据,通过该返回数据的标识码和地址进行识别,将该返回数据进行处理后发送至对应的地址。
可选的,在本实施例还可以对返回命令数据包进行同步化处理,可以参考第一实施例中的同步化处理,在此不做赘述。
本实施例通过将返回数据进行格式转换处理和编码处理后,得到可以进行返回的数据包,将返回数据包发送至PCIE主端,以便完成本次的数据传输。
下面对本申请实施例提供的一种PCIE接口装置进行介绍,下文描述的一种PCIE接口装置与上文描述的一种PCIE接口的通信方法可相互对应参照。
请参考图5,图5为本申请实施例所提供的一种PCIE接口装置的结构示意图。
该装置可以包括:
数据包解码模块100,用于对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包;
寄存器匹配模块200,用于判断数据包中的寄存器标识是否与闪存控制器的寄存器匹配;
数据包格式转换模块300,用于当寄存器标识与闪存控制器的寄存器匹配时,根据命令数据包的类型确定对应的PCIE格式转换操作,执行PCIE格式转换操作,将转换结果发送至闪存控制器。
可选的,数据包解码模块100,可以包括:
校验单元,用于将数据包保存在对应的缓存中,对数据包进行CRC校验处理;
解码单元,用于当CRC校验处理通过时,根据AVALON-ST总线协议对数据包进行解码处理得到命令数据包。
本申请实施例还提供一种装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如以上实施例的通信方法的步骤。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如以上实施例的通信方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种PCIE接口的通信方法、PCIE接口装置、装置以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种PCIE接口的通信方法,其特征在于,包括:
PCIE接口装置对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包;
根据所述命令数据包中的寄存器标识判断所述命令数据包是否与闪存控制器匹配;
若是,则根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器。
2.根据权利要求1所述的通信方法,其特征在于,还包括:
当所述命令数据包与所述闪存控制器不匹配时,删除所述命令数据包。
3.根据权利要求1所述的通信方法,其特征在于,PCIE接口装置对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包,包括:
所述PCIE接口装置将所述数据包保存在对应的缓存中,对所述数据包进行CRC校验处理;
当所述CRC校验处理通过时,根据AVALON-ST总线协议对所述数据包进行解码处理得到所述命令数据包。
4.根据权利要求1所述的通信方法,其特征在于,根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器,包括:
当所述命令数据包的类型为写类型时,对所述命令数据包进行配置信息解码处理,得到配置信息,根据所述配置信息对所述命令数据包进行数据采集处理,得到数据;
根据所述闪存控制器的写请求格式对所述配置信息进行格式转换处理,得到写请求;
根据所述闪存控制器的数据位宽对所述数据进行位宽转换处理,得到待写数据;
将所述写请求和所述待写数据发送至所述闪存控制器。
5.根据权利要求1所述的通信方法,其特征在于,根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器,包括:
当所述命令数据包的类型为读类型时,对所述命令数据包进行配置信息解码处理,得到配置信息;
根据所述闪存控制器的读请求格式对所述配置信息进行格式转换处理,得到读请求;
将所述读请求发送至所述闪存控制器。
6.根据权利要求1至5任一项所述的通信方法,其特征在于,还包括:
当所述PCIE接口装置接收到返回数据时,根据PCIE配置信息对所述返回数据进行格式转换处理,得到返回命令数据包;
根据AVALON-ST总线协议对所述返回命令数据包进行编码处理,得到返回数据包;
将所述返回数据包发送至PCIE主端装置。
7.一种PCIE接口装置,其特征在于,包括:
数据包解码模块,用于对AVALON-ST总线发送的数据包进行解码处理,得到命令数据包;
寄存器匹配模块,用于判断所述数据包中的寄存器标识是否与闪存控制器的寄存器匹配;
数据包格式转换模块,用于当所述寄存器标识与所述闪存控制器的寄存器匹配时,根据所述命令数据包的类型确定对应的PCIE格式转换操作,执行所述PCIE格式转换操作,将所述转换结果发送至闪存控制器。
8.根据权利要求7所述的PCIE接口装置,其特征在于,所述数据包解码模块,包括:
校验单元,用于将所述数据包保存在对应的缓存中,对所述数据包进行CRC校验处理;
解码单元,用于当所述CRC校验处理通过时,根据AVALON-ST总线协议对所述数据包进行解码处理得到所述命令数据包。
9.一种装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108504.XA CN109165177A (zh) | 2018-09-21 | 2018-09-21 | 一种pcie接口的通信方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108504.XA CN109165177A (zh) | 2018-09-21 | 2018-09-21 | 一种pcie接口的通信方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109165177A true CN109165177A (zh) | 2019-01-08 |
Family
ID=64880262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811108504.XA Pending CN109165177A (zh) | 2018-09-21 | 2018-09-21 | 一种pcie接口的通信方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165177A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371799A (zh) * | 2020-03-12 | 2020-07-03 | 苏州浪潮智能科技有限公司 | Mctp控制器收发数据的控制方法、装置及设备 |
CN111445873A (zh) * | 2020-03-27 | 2020-07-24 | Tcl华星光电技术有限公司 | mura补偿方法、装置、液晶显示面板及存储介质 |
CN111857605A (zh) * | 2020-08-04 | 2020-10-30 | 成都天锐星通科技有限公司 | 一种flash存储装置控制方法、装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140502A (zh) * | 2007-10-19 | 2008-03-12 | 华为技术有限公司 | 固态硬盘控制器电路及固态硬盘 |
CN102012791A (zh) * | 2010-10-15 | 2011-04-13 | 中国人民解放军国防科学技术大学 | 基于Flash的数据存储PCIE板卡 |
US20140149637A1 (en) * | 2012-11-23 | 2014-05-29 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system for performing data transfer with a flash storage medium |
CN103984646A (zh) * | 2014-06-05 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于pcie数据传输的存储***设计方法 |
US20180113826A1 (en) * | 2015-06-06 | 2018-04-26 | Huawei Technologies Co., Ltd. | Storage apparatus accessed by using memory bus |
-
2018
- 2018-09-21 CN CN201811108504.XA patent/CN109165177A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140502A (zh) * | 2007-10-19 | 2008-03-12 | 华为技术有限公司 | 固态硬盘控制器电路及固态硬盘 |
CN102012791A (zh) * | 2010-10-15 | 2011-04-13 | 中国人民解放军国防科学技术大学 | 基于Flash的数据存储PCIE板卡 |
US20140149637A1 (en) * | 2012-11-23 | 2014-05-29 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system for performing data transfer with a flash storage medium |
CN103984646A (zh) * | 2014-06-05 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于pcie数据传输的存储***设计方法 |
US20180113826A1 (en) * | 2015-06-06 | 2018-04-26 | Huawei Technologies Co., Ltd. | Storage apparatus accessed by using memory bus |
Non-Patent Citations (1)
Title |
---|
李经章: "基于FPGA的PCI Express传输设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371799A (zh) * | 2020-03-12 | 2020-07-03 | 苏州浪潮智能科技有限公司 | Mctp控制器收发数据的控制方法、装置及设备 |
CN111371799B (zh) * | 2020-03-12 | 2022-12-23 | 苏州浪潮智能科技有限公司 | Mctp控制器收发数据的控制方法、装置及设备 |
CN111445873A (zh) * | 2020-03-27 | 2020-07-24 | Tcl华星光电技术有限公司 | mura补偿方法、装置、液晶显示面板及存储介质 |
CN111857605A (zh) * | 2020-08-04 | 2020-10-30 | 成都天锐星通科技有限公司 | 一种flash存储装置控制方法、装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165177A (zh) | 一种pcie接口的通信方法及相关装置 | |
CN104038450B (zh) | 基于pcie总线的报文传输方法与装置 | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及*** | |
CN111930676A (zh) | 多处理器间的通信方法、装置、***及存储介质 | |
CN112839231B (zh) | 一种视频压缩传输方法和*** | |
TW201227747A (en) | Data writing and reading method, memory controller and memory storage apparatus | |
CN102724122A (zh) | 基于硬件***的串口可靠传输方法及装置 | |
KR100578080B1 (ko) | 시리얼 통신 프로토콜 중 명령 및 데이터 전송 및 수신 방법 | |
CN106909596B (zh) | 业务处理方法、装置及*** | |
CN116955225A (zh) | 数据缓存方法、装置、电子设备和可读介质 | |
CN107704268A (zh) | Md5哈希函数计算方法、***及计算机可读存储介质 | |
CN104898989A (zh) | 一种大容量数据存储设备、方法及装置 | |
CN113238856B (zh) | 一种基于rdma的内存管理方法及装置 | |
CN110209605A (zh) | Pcie总线网卡的寄存器读写方法和计算设备 | |
WO2024130890A1 (zh) | 固态硬盘垃圾回收方法、加速装置、设备及计算机介质 | |
CN108833477B (zh) | 基于共享内存的消息传输方法、***和装置 | |
CN110489353A (zh) | 一种提高固态硬盘带宽读取性能方法及装置 | |
CN109104581A (zh) | 一种无线传屏的方法、***及接收终端 | |
CN112346665B (zh) | 基于pcie的通信方法、装置、设备、***及存储介质 | |
CN109597577A (zh) | 一种处理nvme协议读写命令的方法、***及相关装置 | |
CN109614359A (zh) | 一种基于axi总线的数据发送方法、装置和存储介质 | |
CN102375795B (zh) | 一种接口转换装置及转换方法 | |
CN111371799A (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN205139625U (zh) | 基于fpga的hdlc收发控制器 | |
CN114172897B (zh) | 一种PC端和Android端文件传输方法及*** |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190108 |