CN112083977A - 传输界面的错误处理方法以及相关的错误处理架构 - Google Patents

传输界面的错误处理方法以及相关的错误处理架构 Download PDF

Info

Publication number
CN112083977A
CN112083977A CN201910505253.7A CN201910505253A CN112083977A CN 112083977 A CN112083977 A CN 112083977A CN 201910505253 A CN201910505253 A CN 201910505253A CN 112083977 A CN112083977 A CN 112083977A
Authority
CN
China
Prior art keywords
interface
error
indirect
command
direct
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
Application number
CN201910505253.7A
Other languages
English (en)
Inventor
萧丞渊
刘松高
简怡婷
庄威宏
许志宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN201910505253.7A priority Critical patent/CN112083977A/zh
Publication of CN112083977A publication Critical patent/CN112083977A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

用于传输界面的错误处理方法及相关的错误处理架构,其中该传输界面与一第一装置之间的连接类型为一直接界面,且该传输界面与一第二装置之间的连接类型为一间接界面,该错误处理方法包含:当检测到有错误发生于该直接界面时,回报一错误事件至该第一装置的一主控端;当检测到有错误发生于该间接界面连接时,尝试在不让该主控端得知有错误的情况下直接处理错误;以及若判断无法处理错误,回报另一错误事件至该主控端。

Description

传输界面的错误处理方法以及相关的错误处理架构
技术领域
本发明涉及多设备之间的传输,特别涉及一种传输界面的错误处理方法。
背景技术
基于方便性以及实用性,现阶段已有越来越多产品整合两个或两个以上的高速界面,诸如通用序列总线(universal serial bus,USB)转快捷外设互联标准(PeripheralComponent Interconnect Express,PCIE)、USB转序列先进技术附接(serial advancedtechnology attachment,SATA)、PCIE装置转PCIE主机等转接方式,这些高速界面之间的传输是通过能够兼容并转换两个不同界面的控制电路来实现。在没有遇到错误的情况下,上述高速界面之间的传输都能正常运行,但是当发生错误的时候,虽然这些不同的界面拥有各自的错误恢复机制(Error Recovery mechanism),但是却没有一个明确的方式,将各个不同的错误回报机制做整合,使得主控端(指令master)(亦可作上层、主机端来理解)。如此一来,往往因为缺乏适当的排错机制或回报机制而导致程序卡死或超时,造成使用者极大的不便。
综上所述,现阶段的界面传输产品缺乏一个良好的错误恢复机制,以在单一产品中整合两个以上的高速界面,因此,实有需要一种新颖的错误恢复机制来妥善地解决上述问题。
发明内容
本发明的目的之一在于提供一种高速界面时的恢复机制,以在不产生副作用的情况下解决现有技术所遭遇的问题。
本发明的目的之一在于提供一种高速界面时的恢复机制,通过这个错误恢复机制,使高速界面在传输出现错误以恢复到正常状态,不会产生卡死(deadlock)的情形。
本发明的一实施例提供了一种用于一传输界面的错误处理方法,该传输界面用于连接一第一装置以及一第二装置,以进行该第一装置与该第二装置之间的数据传输,其中该第一装置与该传输界面之间的连接类型为一直接界面(direct interface,DI),以及一第二装置与该传输界面之间的连接类型为一间接界面(indirect interface,II),该错误处理方法包含:当检测到有错误发生于该直接界面时,回报一错误事件至该第一装置的一主控端;当检测到有错误发生于该间接界面时,尝试在不让该主控端得知有错误的情况下直接处理错误;以及若判断无法处理错误,回报另一错误事件至该主控端。
本发明的一实施例提供了一种错误处理架构,包含一第一装置、一第二装置以及一传输界面。该第一装置包含一第一指令界面,且该第二装置包含一第二指令界面。该传输界面用于连接该第一装置以及该第二装置以进行该第一装置与该第二装置之间的数据传输,且该传输界面包含一控制器、一第三指令界面以及一第四指令界面。该传输界面用于连接该第一装置以及该第二装置以进行该第一装置与该第二装置之间的数据传输,其中该第三指令界面用以连接该第一指令界面以构成一直接界面(direct interface,DI),且该第四指令界面用以连接该第二指令界面以构成一间接界面(indirect interface,II)。当该控制器检测到有错误发生于该直接界面时,回报一错误事件至一该第一装置的一主控端;以及当该控制器检测到有错误发生于该间接界面时,尝试在不让该主控端得知有错误的情况下直接处理错误;若该控制器判断无法处理错误,则回报另一错误事件至该主控端。
附图说明
图1为根据本发明实施例的高速界面转接架构的示意图。
图2为根据本发明一实施例USB与PCIE进行传输的架构的示意图。
图3为根据本发明的一实施例用于传输界面的错误处理方法的流程图。
符号说明
100 高速界面转接架构
10、20、10’、20’ 装置
30、30’ 指令转换单元
12、22、32、33 指令界面
14、24、34 控制器
300 错误处理方法
301~314 步骤
具体实施方式
在说明书及权利要求当中使用了某些词汇来指称特定的元件。所属领域中技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的元件。本说明书及权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。另外,“耦接”一词在此是包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其他装置或连接手段间接地电气连接至该第二装置。
请参考图1,图1为根据本发明实施例的高速界面转接架构100的示意图,如图1所示,装置10与装置20之间是通过一指令转换单元(command conversion unit,CCU)30来连接,其中指令转换单元30是被使用作为直接接收指令的直接界面。装置10的指令界面12与指令转换单元30的指令界面32之间的传输方式称为直接界面(Direct Interface,DI),而装置20的指令界面22与指令转换单元30的指令界面33之间的传输方式称为间接界面(Indirect Interface,II)。此外,装置10、20分别包含控制器14、24以进行基本处理。
为了有更好的理解,装置10可为一USB装置,而装置20可为一PCIE装置,诸如硬盘(hard drive)、固态硬盘(solid state drive,SSD)等。就现有技术而言,当指令转换单元30与PCIE端的传输出现异常时,由于USB的主控端(command master)(未图示)只能检测到USB端的状态,因此无法得知是PCIE端出现异常,而在主控端单纯认定USB端没有任何错误的情况下,也不知如何排除异常,如此一来,往往因为缺乏适当的排错机制或回报机制而导致程序卡死或超时,造成使用者极大的不便。请注意,主控端亦可理解为上层元件或主机端(host)。
本发明的错误恢复机制可区分为以下两种情况:
A.当异常是发在直接界面时,立即回报给USB的主控端,并由主控端针对错误做处理。
B.当错误发生于间接界面时,由指令转换单元30负责处理,并尽可能在不让主控端发现错误的情况下,由指令转换单元30自行解决问题。假设指令转换单元30无法处理掉所述问题,则由间接界面产生错误信息并且提供给直接界面,再由直接界面负责回报给主控端,由主控端针对错误做处理。
以图1的例子来说,假设装置10上的主控端通过直接界面发指令给指令转换单元30,而直接界面于收到指令后发现错误,则直接回报给主控端,由主控端针对错误做处理。
在另一例子中,假设装置10上的主控端能够通过直接界面发送指令给指令转换单元30,直接界面于收到后并没有发现任何错误,之后,当指令转换单元30将指令发给间接界面时,而这时装置20上的主控端(未图示)发现错误并回报给间接界面,这时指令转换单元会控制直接界面去不使装置10上的主控端觉得有任何问题(例如先回报一正常状态给主控端),而这时候间接界面也遵照装置20上的指令界面22的规范修复错误。假设间接界面的问题可以由指令转换单元和装置20上的指令界面22共同解决,则直接界面负责回报一正常状态给装置10上的主控端。假设间接界面的问题无法由指令转换单元和装置20上的指令界面22共同解决,则间接界面产生一错误状态,并由直接界面负责传给装置10上的主控端。
请参考图2,图2为根据本发明一实施例USB与PCIE进行传输的架构200的示意图,其中指令转换单元30’作为USB装置10’与PCIE装置20’之间的桥接器,且PCIE装置20’可为SSD(以下叙述中直接称PCIE装置20’为SSD)。USB装置10’的主控端(以下简称USB主控端)和指令转换单元30’(以下简称桥接器)是通过BOT/UASP做沟通,且指令转换单元30’和SSD是通过NVMe/AHCI做沟通。
当USB主控端发SCSI指令给SSD时,会通过UASP/BOT将SCSI指令封包成USB指令后传送给桥接器的USB端(即直接界面),USB端收到指令后会先确认指令是否符合UASP/BOT规范,若发现错误时,则依照UASP/BOT规范来发错误状态给USB主控端;若符合UASP/BOT的规范,则通过桥接器上的间接界面以NVMe/AHCI规范来将指令封包成PCIE指令传送给SSD,若SSD发生错误,则发错误状态给间接界面,间接界面收到后会依照NVMe/AHCI规范来进行错误还原。此时,桥接器须让直接界面持续使USB主控端认为没有发生任何错误,当间接界面可以依照NVMe/AHCI规范将错误处理掉后,直接界面即回报一正确状态给USB主控端,如果间接界面无法处理掉错误,则间接界面提供一错误状态给桥接器,桥接器再通过直接界面回报该错误状态给USB主控端并使其处理错误。
在图1、图2的实施例中,可能发生的错误以及对应的处理方式如下(但并不以此为限):
一、装置尚未就绪(Device not ready):此状况表示装置正处于忙碌状态而无法处理指令,处理方式如下:
1.若是发生在直接界面,装置必须直接回报错误状态给主控端,让其知道处于尚未准备好的状态。
2.若是发生在间接界面,必须在间接界面不影响直接界面的情况下,等待一段时间,直到可以正常运行为止,此动作可以维持主控端的正常运行。
3.若是发生在间接界面,且间接界面即使做了等待也无法解决,则回报错误状态给主控端,让其知道处于目前装置处于尚未就绪的状态。
二、装置收到的指令内容有错误(格式有错误),处理方式如下:
1.若是发生在直接界面,必须要由直接界面告知装置的主控端是哪一个指令部分有错误。
2.若是发生在间接界面,必须要由间接界面告知装置的主控端是哪一个指令部分有错误。
三、不支持的指令,处理方式如下:
1.若是发生在直接界面,必须要由直接界面告知装置的主控端不支持该指令。
2.若是发生在间接界面,必须要由间接界面告知装置的主控端不支持该指令。
3.只要任一界面(亦即直接界面、间接界面中任一者)不支持该指令,装置必须告知主控端不支持该指令。
四、指令被中断(Aborted):装置因为电源端(Power)上有指令在处理等原因中断该指令,处理方式如下:
1.若是发生在直接界面,必须要由直接界面将指令被中断的情形告知装置的主控端。
2.若是发生在间接界面,间接界面必须在不影响直接界面的情况下做出对应的处理,例如重新尝试(Retry)等。
3.若是发生在间接界面且间接界面做出对应处理也无法解决问题,必须通过直接界面将指令被中断的情形告知装置的主控端。
五、装置无法回应,例如装置卡死(deadlock),处理方式如下:
1.若是发生在直接界面,因为无法回应,必须仰赖主控端的驱动器(driver)做复原。
2.若是发生在间接界面,间接界面必须在不影响直接界面的情况下做对应的处理,例如重新启动(Reset)等。
3.若是发生在间接界面且间接界面无法处理该状态,必须由直接界面将装置无法回应的情形告知装置的主控端。
请参考图3,图3为根据本发明的一实施例用于传输界面的错误处理方法300的流程图。请注意,假若可获得实质上相同的结果,则这些步骤并不一定要遵照图3所示的执行次序来执行,举例来说,新的步骤可能***其中,且一些的步骤可能从目前的流程中移除。图3所示的方法可被图1所示的高速界面转接架构100所采用,并可简单归纳如下:
步骤301:开始;
步骤302:检测直接界面和间接界面中是否发生错误,若直接界面发生错误,跳至步骤304;若间接界面发生错误,跳至步骤306:若无错误,跳至步骤314;
步骤304:由直接界面直接回报主控端有错误发生,跳至步骤312;
步骤306:在直接界面协助不让主控端发现的情况下对错误进行处理,并且判断间接界面是否能够解决错误,若能,跳至步骤308;若否,跳至步骤310;
步骤308:于错误处理完毕后,回报正常状态给主控端,跳至步骤314;
步骤310:间接界面提供错误状态给直接界面,并由直接界面将错误状态回报给主控端;
步骤312:主控端针对错误状态提供出对应的修复方案以排除问题;
步骤314:结束。
由于本领域技术人员在阅读完以上段落后应可轻易了解图3中每一步骤的细节,为简洁之故,在此将省略进一步的描述。
总结来说,本发明的目的在于改善高速转接界面的错误恢复机制,并且能够在不让主控端发现的情况下,使间接界面能够自己将问题处理掉。然而,在间接界面的能力不足以处理问题的情况下,间接界面依然会将状况回报给直接界面知道,直接界面再进一步回报给主控端,以免主控端认定间接界面处于正常传输阶段,但实际上间接界面端无法收到数据。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (10)

1.一种用于一传输界面的错误处理方法,该传输界面用于连接一第一装置以及一第二装置,以进行该第一装置与该第二装置之间的数据传输,其中该第一装置与该传输界面之间的连接为一直接界面,以及一第二装置与该传输界面之间的连接为一间接界面,该错误处理方法包含:
当检测到有错误发生于该直接界面时,回报一错误事件至该第一装置的一主控端;
当检测到有错误发生于该间接界面连接时,尝试在不让该主控端得知有错误的情况下直接处理错误;以及
若判断无法处理错误,回报另一错误事件至该主控端。
2.如权利要求1所述的错误处理方法,其中该直接界面协助该间接界面在不让该主控端发现的情况下处理错误。
3.如权利要求2所述的错误处理方法,其中该直接界面持续让该主控端认为没有发生任何错误,当该间接界面将错误处理完毕后,该直接界面回报正确的状态给该主控端。
4.如权利要求3所述的错误处理方法,其中在该直接界面协助该间接界面的情况下,若该间接界面无法处理错误时,由该直接界面回报该另一错误事件给该主控端。
5.如权利要求1所述的错误处理方法,其中该第一装置为一USB装置,该第二装置为一硬盘装置。
6.如权利要求5所述的错误处理方法,其中该直接界面是通过BOT/UASP来进行传输,且该间接界面是通过NVMe/AHCI来进行传输。
7.如权利要求1所述的错误处理方法,其中该错误事件以及该另一错误事件包含下列至少一者:
装置尚未准备好、指令内容错误、不支持的指令、指令被中断、装置无法回应。
8.一种错误处理架构,包含:
一第一装置,包含一第一指令界面(12);
一第二装置,包含一第二指令界面(22);以及
一传输界面,用于连接该第一装置以及该第二装置以进行该第一装置与该第二装置之间的数据传输,包含一控制器、一第三指令界面(32)以及一第四指令界面(33),其中该第三指令界面用以连接该第一指令界面以构成一直接界面,且该第四指令界面用以连接该第二指令界面以构成一间接界面;以及,当该控制器检测到有错误发生于该直接界面时,回报一错误事件至一该第一装置的一主控端;以及当该控制器检测到有错误发生于该间接界面连接时,尝试在不让该主控端得知有错误的情况下直接处理错误;若该控制器判断无法处理错误,则回报另一错误事件至该主控端。
9.如权利要求8所述的错误处理架构,其中该控制器控制该直接界面协助该间接界面在不让该主控端发现的情况下处理错误。
10.如权利要求9所述的错误处理架构,其中该控制器控制该直接界面持续让该主控端认为没有发生任何错误,当该间接界面将错误处理完毕后,该直接界面回报正确的状态给该主控端,若该间接界面无法处理错误时,由该直接界面回报该另一错误事件给该主控端。
CN201910505253.7A 2019-06-12 2019-06-12 传输界面的错误处理方法以及相关的错误处理架构 Pending CN112083977A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910505253.7A CN112083977A (zh) 2019-06-12 2019-06-12 传输界面的错误处理方法以及相关的错误处理架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910505253.7A CN112083977A (zh) 2019-06-12 2019-06-12 传输界面的错误处理方法以及相关的错误处理架构

Publications (1)

Publication Number Publication Date
CN112083977A true CN112083977A (zh) 2020-12-15

Family

ID=73734414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910505253.7A Pending CN112083977A (zh) 2019-06-12 2019-06-12 传输界面的错误处理方法以及相关的错误处理架构

Country Status (1)

Country Link
CN (1) CN112083977A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246833A1 (en) * 2008-12-15 2011-10-06 Bockhaus John W Detecting An Unreliable Link In A Computer System
CN102355368A (zh) * 2011-10-08 2012-02-15 大连环宇移动科技有限公司 一种网络设备的故障处理方法及***
US20130060987A1 (en) * 2011-09-01 2013-03-07 Dell Products, Lp System and Method to Correlate Errors to a Specific Downstream Device in a PCIe Switching Network
US20160179651A1 (en) * 2014-12-18 2016-06-23 Intel Corporation Enabling error detecting and reporting in machine check architecture
CN106851262A (zh) * 2017-02-24 2017-06-13 青岛海信电器股份有限公司 激光电视中fpga检测视频信号传输故障的方法和装置
CN109669799A (zh) * 2019-01-02 2019-04-23 深圳市网心科技有限公司 错误上报控制方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246833A1 (en) * 2008-12-15 2011-10-06 Bockhaus John W Detecting An Unreliable Link In A Computer System
US20130060987A1 (en) * 2011-09-01 2013-03-07 Dell Products, Lp System and Method to Correlate Errors to a Specific Downstream Device in a PCIe Switching Network
CN102355368A (zh) * 2011-10-08 2012-02-15 大连环宇移动科技有限公司 一种网络设备的故障处理方法及***
US20160179651A1 (en) * 2014-12-18 2016-06-23 Intel Corporation Enabling error detecting and reporting in machine check architecture
CN106851262A (zh) * 2017-02-24 2017-06-13 青岛海信电器股份有限公司 激光电视中fpga检测视频信号传输故障的方法和装置
CN109669799A (zh) * 2019-01-02 2019-04-23 深圳市网心科技有限公司 错误上报控制方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN100388219C (zh) 冗余控制器仲裁方法和***
US20130246844A1 (en) Controller and control method for a controller
CN111488233A (zh) 一种处理PCIe设备掉带宽问题的方法及***
CN111625388B (zh) Ssd前端错误处理方法、装置、计算机设备和存储介质
CN109491814A (zh) 专用集成电路中的集中式错误处置
CN102360311A (zh) 计算机***
US11281516B2 (en) Error handling method and associated error handling architecture for transmission interfaces
US10740172B2 (en) Communication apparatus, communication method, program, and communication system
JP4646859B2 (ja) Usb機器、およびusb接続システム
CN112083977A (zh) 传输界面的错误处理方法以及相关的错误处理架构
WO2011106016A1 (en) Restoring stability to an unstable bus
US20080010511A1 (en) Cpu suppression system and cpu suppression method using service processor
US6892263B1 (en) System and method for hot swapping daughtercards in high availability computer systems
CN117407200A (zh) 一种硬盘的管理方法、***、装置及主机
CN112394656B (zh) 检查微控制器的程序执行的方法、外部设备、***
CN110825547A (zh) 一种基于smbus的pcie卡异常恢复装置及方法
US11334506B2 (en) Interface connection device, system and method thereof
CN107729170B (zh) 一种hba卡生成转存文件的方法及装置
US6560750B2 (en) Method for providing master-slave heat-swapping apparatus and mechanism on a mono-ATA bus
JP6739983B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
CN100362488C (zh) 在电脑主机端监控usb装置的方法
US20040128403A1 (en) Apparatus and method for indicating connection state of input/output cable
US20230168980A1 (en) Storage system
CN114660456A (zh) 用于无刷电机的故障判断方法、装置、控制方法及升降桌
US9323472B2 (en) Storage controlling device and controlling method

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