CN112749105B - 一种降低espi总线开销的方法和设备 - Google Patents
一种降低espi总线开销的方法和设备 Download PDFInfo
- Publication number
- CN112749105B CN112749105B CN202110056153.8A CN202110056153A CN112749105B CN 112749105 B CN112749105 B CN 112749105B CN 202110056153 A CN202110056153 A CN 202110056153A CN 112749105 B CN112749105 B CN 112749105B
- Authority
- CN
- China
- Prior art keywords
- cpld
- data
- pch
- returned
- response
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 33
- 238000012795 verification Methods 0.000 claims description 15
- 238000011084 recovery Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 13
- 230000002159 abnormal effect Effects 0.000 abstract description 5
- 230000002093 peripheral effect Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/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
- 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/0024—Peripheral component interconnect [PCI]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种降低ESPI总线开销的方法和设备,该方法包括:将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD中;CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停PCH与CPLD之间的数据传输;响应于接收到相应外接设备返回的数据,CPLD对返回的数据进行校验;响应于校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。通过使用本发明的方案,能够降低PCH处理ESPI总线进程的开销,释放了部分PCH的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时ESPI总线的误操作,保证了系统的可靠性。
Description
技术领域
本领域涉及计算机领域,并且更具体地涉及一种降低ESPI总线开销的方法和设备。
背景技术
在服务器领域,Intel发布的Eagle Stream新平台上,PCH(平台控制器)使用ESPI总线(是intel开发用于取代LPC总线的一个新型总线)与主板上其他外设通信。ESPI总线集成之前平台上的LPC、SMBUS、SPI flash访问以及其他并行边带信号的功能,并且速率灵活,管脚数量少,功耗低的优势。CPLD是主板上首先上电可控的器件,并对主板上其他设备的上电进行控制。
现有方案中,PCH通过ESPI总线直接与主板上其他外设通信。在与不同外设通信时,由于不同外设器件所能支持的总线速率不同,PCH需要根据不同的外设,调整总线数据速率。总线上的设备,各自按照ESPI协议,进行数据解析,校验。除了ESPI总线,PCH还需要处理USB、SATA、PCIe总线及与CPU的交互。如果ESPI总线处理进程占用较长时间,ESPI总线开销大,则会影响其他总线处理的及时性,降低整体的数据处理速率。当PCH与ESPI总线上数据速率较慢的外设进行通信时,或者当监测到有数据错误需要重新传输时,会占用较长的时间处理ESPI总线。
另外,在上电初期,板卡未完成初始化时,总线信号不稳定,容易造成对ESPI外设的误操作;或者当系统宕机,总线流程卡死、反复执行、进程跳转异常造成错误执行总线操作,都会对ESPI外设造成不利影响。
发明内容
有鉴于此,本发明实施例的目的在于提出一种降低ESPI总线开销的方法和设备,通过使用本发明的技术方案,能够降低PCH处理ESPI总线进程的开销,释放了部分PCH的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时ESPI总线的误操作,保证了系统的可靠性。
基于上述目的,本发明的实施例的一个方面提供了一种降低ESPI总线开销的方法,包括以下步骤:
将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD(复杂可编程逻辑器件)中;
CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停PCH与CPLD之间的数据传输;
响应于接收到相应外接设备返回的数据,CPLD对返回的数据进行校验;
响应于校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
根据本发明的一个实施例,还包括:
响应于校验不通过,CPLD基于写入的数据以匹配速率经由ESPI总线再次访问相应的外接设备;
响应于接收到相应外接设备返回的数据,CPLD对返回的数据再次进行校验;
响应于再次校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
根据本发明的一个实施例,还包括:
响应于再次校验不通过,发出错误警告。
根据本发明的一个实施例,还包括:
响应于PCH向CPLD再次写入相同的数据,将CPLD中存储的数据发送到PCH。
根据本发明的一个实施例,阈值速率为ESPI总线传输的最大速率,匹配速率为ESPI总线向外接设备分配的速率。
本发明的实施例的另一个方面,还提供了一种降低ESPI总线开销的设备,设备包括:
写入模块,写入模块配置为将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD中;
暂停模块,暂停模块配置为CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停PCH与CPLD之间的数据传输;
校验模块,校验模块配置为响应于接收到相应外接设备返回的数据,CPLD对返回的数据进行校验;
恢复模块,恢复模块配置为响应于校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
根据本发明的一个实施例,还包括再次校验模块,再次校验模块配置为:
响应于校验不通过,CPLD基于写入的数据以匹配速率经由ESPI总线再次访问相应的外接设备;
响应于接收到相应外接设备返回的数据,CPLD对返回的数据再次进行校验;
响应于再次校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
根据本发明的一个实施例,还包括报警模块,报警模块配置为:
响应于再次校验不通过,发出错误警告。
根据本发明的一个实施例,还包括读取模块,读取模块配置为:
响应于PCH向CPLD再次写入相同的数据,将CPLD中存储的数据发送到PCH。
根据本发明的一个实施例,阈值速率为ESPI总线传输的最大速率,匹配速率为ESPI总线向外接设备分配的速率。
本发明具有以下有益技术效果:本发明实施例提供的降低ESPI总线开销的方法,通过将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD中;CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停PCH与CPLD之间的数据传输;响应于接收到相应外接设备返回的数据,CPLD对返回的数据进行校验;响应于校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中的技术方案,能够降低PCH处理ESPI总线进程的开销,释放了部分PCH的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时ESPI总线的误操作,保证了系统的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的降低ESPI总线开销的方法的示意性流程图;
图2为根据本发明一个实施例的降低ESPI总线开销的设备的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种降低ESPI总线开销的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
S1将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD中,该阈值速率为ESPI总线传输的最大速率,PCH经由ESPI总线访问外接设备时,先将PCH写入的数据按最高速率写入到CPLD中;
S2 CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停PCH与CPLD之间的数据传输,该匹配速率为ESPI总线向外接设备分配的速率,然后经由CPLD访问相应的外接设备,并将PCH写入到CPLD中的数据写入到相应的外接设备,并等待相应的外接设备返回数据,这时PCH暂停与CPLD的ESPI所有交互,处理PCH内部其他进程;
S3响应于接收到相应外接设备返回的数据,CPLD对返回的数据进行校验,CPLD对返回的数据进行校验,如果校验不同过则重发请求,例如,当某个外设返回的数据校验错误时,CPLD会自动对齐错误数据,并对外设进行重新读取,而返回给PCH的是最终正确的数据,校验、重发过程无需消耗PCH自身资源,反之,PCH数据发送错误时,CPLD也会类似校验重发,无需外设参与;
S4响应于校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
通过本发明的技术方案,能够降低PCH处理ESPI总线进程的开销,释放了部分PCH的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时ESPI总线的误操作,保证了系统的可靠性。
在本发明的一个优选实施例中,还包括:CPLD上电复位后,PCH及其他ESPI外接设备的器件还未完成上电,此时CPLD将ESPI总线控制为无效状态,不响应、不进行任何读写操作,防止电源不稳造成的误操作,ESPI总线所有设备完成上电后,CPLD侦测各个ESPI外设的数据速率,并按照ESPI最高速率相应PCH访问。
在本发明的一个优选实施例中,还包括:
响应于校验不通过,CPLD基于写入的数据以匹配速率经由ESPI总线再次访问相应的外接设备;
响应于接收到相应外接设备返回的数据,CPLD对返回的数据再次进行校验;
响应于再次校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
在本发明的一个优选实施例中,还包括:
响应于再次校验不通过,发出错误警告。如果再次校验不通过还可以增加校验的次数,也相应增加CPLD访问相应外接设备的次数,直到外接设备返回的数据正确,再将正确的数据返回到PCH中。
在本发明的一个优选实施例中,还包括:
响应于PCH向CPLD再次写入相同的数据,将CPLD中存储的数据发送到PCH。当出现反复读写相同数据时,CPLD优先使用内部缓存数据回应读操作,并屏蔽短时间内的反复写入操作。当检查到ESPI数据流异常停止时,CPLD自动使用无效数据结束当前流程,防止ESPI设备内部状态机挂死。
在本发明的一个优选实施例中,阈值速率为ESPI总线传输的最大速率,匹配速率为ESPI总线向外接设备分配的速率。
通过本发明的技术方案,能够降低PCH处理ESPI总线进程的开销,释放了部分PCH的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时ESPI总线的误操作,保证了系统的可靠性。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种降低ESPI总线开销的设备,如图2所示,设备200包括:
写入模块,写入模块配置为将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD中;
暂停模块,暂停模块配置为CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停PCH与CPLD之间的数据传输;
校验模块,校验模块配置为响应于接收到相应外接设备返回的数据,CPLD对返回的数据进行校验;
恢复模块,恢复模块配置为响应于校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
在本发明的一个优选实施例中,还包括再次校验模块,再次校验模块配置为:
响应于校验不通过,CPLD基于写入的数据以匹配速率经由ESPI总线再次访问相应的外接设备;
响应于接收到相应外接设备返回的数据,CPLD对返回的数据再次进行校验;
响应于再次校验通过,将返回的数据保存在CPLD中并恢复PCH与CPLD之间的数据传输并将返回的数据传输到PCH中。
在本发明的一个优选实施例中,还包括报警模块,报警模块配置为:
响应于再次校验不通过,发出错误警告。
在本发明的一个优选实施例中,还包括读取模块,读取模块配置为:
响应于PCH向CPLD再次写入相同的数据,将CPLD中存储的数据发送到PCH。
在本发明的一个优选实施例中,阈值速率为ESPI总线传输的最大速率,匹配速率为ESPI总线向外接设备分配的速率。
上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。
Claims (10)
1.一种降低ESPI总线开销的方法,其特征在于,包括以下步骤:
将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD中;
所述CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停所述PCH与所述CPLD之间的数据传输;
响应于接收到所述相应的外接设备返回的数据,所述CPLD对所述返回的数据进行校验;
响应于校验通过,将所述返回的数据保存在所述CPLD中并恢复所述PCH与所述CPLD之间的数据传输并将所述返回的数据传输到所述PCH中。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于校验不通过,所述CPLD基于写入的数据以匹配速率经由ESPI总线再次访问相应的外接设备;
响应于接收到所述相应的外接设备返回的数据,所述CPLD对所述返回的数据再次进行校验;
响应于再次校验通过,将所述返回的数据保存在所述CPLD中并恢复所述PCH与所述CPLD之间的数据传输并将所述返回的数据传输到所述PCH中。
3.根据权利要求2所述的方法,其特征在于,还包括:
响应于再次校验不通过,发出错误警告。
4.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述PCH向所述CPLD再次写入相同的数据,将所述CPLD中存储的数据发送到所述PCH。
5.根据权利要求1所述的方法,其特征在于,所述阈值速率为所述ESPI总线传输的最大速率,所述匹配速率为所述ESPI总线向外接设备分配的速率。
6.一种降低ESPI总线开销的设备,其特征在于,所述设备包括:
写入模块,所述写入模块配置为将PCH的待写入的数据以阈值速率经由ESPI总线写入CPLD中;
暂停模块,所述暂停模块配置为所述CPLD基于写入的数据以匹配速率经由ESPI总线访问相应的外接设备并暂停所述PCH与所述CPLD之间的数据传输;
校验模块,所述校验模块配置为响应于接收到所述相应的外接设备返回的数据,所述CPLD对所述返回的数据进行校验;
恢复模块,所述恢复模块配置为响应于校验通过,将所述返回的数据保存在所述CPLD中并恢复所述PCH与所述CPLD之间的数据传输并将所述返回的数据传输到所述PCH中。
7.根据权利要求6所述的设备,其特征在于,还包括再次校验模块,所述再次校验模块配置为:
响应于校验不通过,所述CPLD基于写入的数据以匹配速率经由ESPI总线再次访问相应的外接设备;
响应于接收到所述相应的外接设备返回的数据,所述CPLD对所述返回的数据再次进行校验;
响应于再次校验通过,将所述返回的数据保存在所述CPLD中并恢复所述PCH与所述CPLD之间的数据传输并将所述返回的数据传输到所述PCH中。
8.根据权利要求7所述的设备,其特征在于,还包括报警模块,所述报警模块配置为:
响应于再次校验不通过,发出错误警告。
9.根据权利要求6所述的设备,其特征在于,还包括读取模块,所述读取模块配置为:
响应于所述PCH向所述CPLD再次写入相同的数据,将所述CPLD中存储的数据发送到所述PCH。
10.根据权利要求6所述的设备,其特征在于,所述阈值速率为所述ESPI总线传输的最大速率,所述匹配速率为所述ESPI总线向外接设备分配的速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056153.8A CN112749105B (zh) | 2021-01-15 | 2021-01-15 | 一种降低espi总线开销的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056153.8A CN112749105B (zh) | 2021-01-15 | 2021-01-15 | 一种降低espi总线开销的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749105A CN112749105A (zh) | 2021-05-04 |
CN112749105B true CN112749105B (zh) | 2022-11-15 |
Family
ID=75652160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110056153.8A Active CN112749105B (zh) | 2021-01-15 | 2021-01-15 | 一种降低espi总线开销的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749105B (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339019B (zh) * | 2020-02-23 | 2021-10-29 | 苏州浪潮智能科技有限公司 | 一种通过cpld进行i2c总线扩展的方法和装置 |
-
2021
- 2021-01-15 CN CN202110056153.8A patent/CN112749105B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112749105A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101821515B1 (ko) | 메모리 제어기를 이용하여 데이터 에러 이벤트들을 핸들링하기 위한 방법, 장치 및 시스템 | |
US20160224442A1 (en) | Methods and apparatus for controlled recovery of error information between independently operable processors | |
CN107168829B (zh) | 一种确保服务器系统双bios安全可信运行的方法及系统 | |
KR20180086129A (ko) | 정보 처리장치, 그 제어방법, 및 기억매체 | |
US10831657B2 (en) | Debug data recovery after PLI event | |
US20230221887A1 (en) | Host apparatus and memory system | |
CN110457149B (zh) | 基于PowerPC控制的SRAM型FPGA可靠加载与防错设计方法 | |
US9026838B2 (en) | Computer system, host-bus-adaptor control method, and program thereof | |
CN112749105B (zh) | 一种降低espi总线开销的方法和设备 | |
KR101029074B1 (ko) | 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법 | |
CN111198832B (zh) | 一种处理方法和电子设备 | |
CN104484260A (zh) | 一种基于GJB289总线接口SoC的仿真监控电路 | |
CN210721440U (zh) | 一种pcie卡异常恢复装置及pcie卡、pcie扩展系统 | |
US10691569B2 (en) | System and method for testing a data storage device | |
CN115576734B (zh) | 一种多核异构日志存储方法和系统 | |
US20230130911A1 (en) | Apparatus for managing cache loss and operation method thereof | |
US20220413962A1 (en) | Detecting and recovering a corrupted non-volatile random-access memory | |
CN115981698A (zh) | 一种固件升级的方法及装置 | |
CN113050896A (zh) | 一种支持nvdimm的国产飞腾服务器及数据保护方法 | |
CN112579507A (zh) | 宿主机与bmc通信的方法、bios、操作系统、bmc和服务器 | |
CN108037942B (zh) | 一种嵌入式设备的自适应数据恢复与更新方法及装置 | |
JP6946027B2 (ja) | Icカード、携帯可能電子装置、プログラム、処理装置及び処理システム | |
TWI840177B (zh) | 主機裝置 | |
CN113467842B (zh) | 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 | |
CN114265627A (zh) | 一种修改bios参数适配智能网卡的方法、系统及装置 |
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 |