CN110377238A - 一种存储系统及其数据传输方法、装置和NVMe控制框 - Google Patents
一种存储系统及其数据传输方法、装置和NVMe控制框 Download PDFInfo
- Publication number
- CN110377238A CN110377238A CN201910684154.XA CN201910684154A CN110377238A CN 110377238 A CN110377238 A CN 110377238A CN 201910684154 A CN201910684154 A CN 201910684154A CN 110377238 A CN110377238 A CN 110377238A
- Authority
- CN
- China
- Prior art keywords
- nvme
- pcie
- speed signal
- expansion subrack
- controller chassis
- 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.)
- Withdrawn
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种存储系统,通过第一PCIe交换器中的第一预设低速信号接口与第二PCIe交换器中的第二预设低速信号接口通过PCIe低速信号链路连接,对第一PCIe交换器和第二PCIe交换器中预留的低速信号(SideBand信号)重新定义,作为NVMe控制框和NVMe扩展框之间互连的控制信号,实现控制命令的框间传输,使NVMe控制框可以对NVMe扩展框进行控制,从而保证了NVMe控制框与NVMe扩展框之间的PCIe高速信号链路可以正常建立连接,提升了用户体验。此外,本发明还公开了一种存储系统的数据传输方法、装置、NVMe控制框和计算机可读存储介质,同样具有上述有益效果。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储系统及其数据传输方法、装置、NVMe控制框和计算机可读存储介质。
背景技术
随着现代社会科技的发展,存储阵列组成的存储系统的应用越来与广泛。通用全闪存阵列(AFA)组成的存储系统中的NVMe(非易失性内存主机控制器接口规范)控制框(CTREnclosure)支持多个可热插拔的NVMe SSD(Solid State Drives,固态硬盘),如2U NVMe控制框支持25个可热插拔的2.5寸NVMe SSD,当前2.5寸NVMe SSD主力容量是1T-8T,单台2UNVMe控制框总容量在25-200T左右。某些客户应用一段时间后,会出现性能够用而可用存储容量减少导致的扩容需求;NVMe扩展框(JBOF)可以满足单纯扩充容量的需求。
现有技术中,如图1所示,NVMe扩展框与NVMe控制框通过mini SAS HD cable(一种高速电缆)直连,mini SAS HD cable标准定义只有x4SAS/PCIe信号。为了提升带宽,NVMe控制框和NVMe扩展框之间往往并联2根mini SAS HD cable。为了保证PCIe协商正常,需要NVMe扩展框先上电,确保NVMe扩展框内的NVMe SSD和PCIe上行口提前准备好,NVMe控制框后上电,上电后NVMe控制框的处理器(CPU)或PCIe交换器(PCIe Switch)能扫描NVMe扩展框的PCIe链路(PCIe高速信号链路),建立PCIe链路连接,NVMe控制框识别NVMe扩展框里的NVMe SSD容量。然而,NVMe控制框正常运行时,NVMe扩展框出现异常复位,重新上电后;NVMe控制框的PCIe交换器可能与NVMe扩展框的PCIe交换器连接失败,导致两者无法建立PCIe链路连接。
因此,如何能够保证NVMe控制框与NVMe扩展框之间的PCIe高速信号链路可以正常建立连接,提升用户体验,是现今急需解决的问题。
发明内容
本发明的目的是提供一种存储系统及其数据传输方法、装置、NVMe控制框和计算机可读存储介质,以利用NVMe控制框与NVMe扩展框之间的PCIe低速信号链路传输控制命令,保证PCIe高速信号链路可以正常建立连接。
为解决上述技术问题,本发明提供一种存储系统,包括:NVMe控制框和NVMe扩展框,所述NVMe控制框中的第一PCIe交换器与所述NVMe扩展框中的第二PCIe交换器通过PCIe高速信号链路连接,所述第一PCIe交换器中的第一预设低速信号接口与所述第二PCIe交换器中的第二预设低速信号接口通过PCIe低速信号链路连接,用于将所述NVMe控制框中处理器发送的控制命令通过所述PCIe低速信号链路发送到所述第二PCIe交换器,对所述NVMe扩展框进行控制。
可选的,所述第一PCIe交换器与所述处理器通过第一CPLD连接,用于将所述第一CPLD编码后的所述控制命令通过所述PCIe低速信号链路发送到所述第二PCIe交换器;其中,所述NVMe控制框包括所述第一CPLD;
所述NVMe扩展框中的第二CPLD与所述第二PCIe交换器连接,用于对接收的所述控制命令进行解码,并执行相应的被控操作。
可选的,所述处理器还用于接收所述第二PCIe交换器通过所述PCIe低速信号链路发送的状态信息,根据所述状态信息确定所述NVMe扩展框的状态。
可选的,所述第一预设低速信号接口和所述第二预设低速信号接口均为标准miniSAS HD Cable信号定义中的A1接口。
本发明还提供了一种存储系统的数据传输方法,应用于NVMe控制框,包括:
所述NVMe控制框和NVMe扩展框上电完成后,判断与所述NVMe扩展框之间的PCIe高速信号链路是否存在异常;
若是,则控制所述NVMe控制框进行复位和/或通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,控制所述NVMe扩展框进行复位,并在所述NVMe控制框和/或所述NVMe扩展框复位完成后,执行所述判断与所述NVMe扩展框之间的PCIe高速信号链路是否存在异常的步骤;
若否,则通过所述PCIe高速信号链路与所述NVMe扩展框进行数据传输。
可选的,所述控制所述NVMe控制框进行复位和/或通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,包括:
根据所述PCIe高速信号链路的协商信息,确定所述NVMe控制框和所述NVMe扩展框中的异常设备;
若所述NVMe控制框为异常设备,则控制所述NVMe控制框进行复位;
若所述NVMe扩展框为异常设备,则通过所述PCIe低速信号链路向所述NVMe扩展框发送所述复位命令;
若所述NVMe扩展框和所述NVMe控制框均为异常设备,则控制所述NVMe控制框进行复位,并通过所述PCIe低速信号链路向所述NVMe扩展框发送所述复位命令。
可选的,所述通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,包括:
将所述NVMe控制框中第一CPLD编码后的所述复位命令,通过所述PCIe低速信号链路发送到所述NVMe扩展框中的第二CPLD,以控制所述第二CPLD对所述NVMe扩展框进行复位。
本发明还提供了一种存储系统的数据传输装置,包括:
判断模块,用于所述NVMe控制框和NVMe扩展框上电完成后,判断与所述NVMe扩展框之间的PCIe高速信号链路是否存在异常;
复位模块,用于若存在异常,则控制所述NVMe控制框进行复位和/或通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,控制所述NVMe扩展框进行复位,并在所述NVMe控制框和/或所述NVMe扩展框复位完成后,向所述判断模块发送启动信号;
传输模块,用于若未存在异常,则通过所述PCIe高速信号链路与所述NVMe扩展框进行数据传输。
本发明还提供了一种NVMe控制框,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的存储系统的数据传输方法的步骤。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的存储系统的数据传输方法的步骤。
本发明所提供的一种存储系统,包括:NVMe控制框和NVMe扩展框,NVMe控制框中的第一PCIe交换器与NVMe扩展框中的第二PCIe交换器通过PCIe高速信号链路连接,第一PCIe交换器中的第一预设低速信号接口与第二PCIe交换器中的第二预设低速信号接口通过PCIe低速信号链路连接,用于将NVMe控制框中处理器发送的控制命令通过PCIe低速信号链路发送到第二PCIe交换器,对NVMe扩展框进行控制;
可见,本发明通过第一PCIe交换器中的第一预设低速信号接口与第二PCIe交换器中的第二预设低速信号接口通过PCIe低速信号链路连接,对第一PCIe交换器和第二PCIe交换器中预留的低速信号(SideBand信号)重新定义,作为NVMe控制框和NVMe扩展框之间互连的控制信号,实现控制命令的框间传输,使NVMe控制框可以对NVMe扩展框进行控制,从而保证了NVMe控制框与NVMe扩展框之间的PCIe高速信号链路可以正常建立连接,提升了用户体验。此外,本发明还提供了一种存储系统的数据传输方法、装置、NVMe控制框和计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中存储系统中的NVMe控制框和NVMe扩展框的连接示意图;
图2为本发明实施例所提供的一种存储系统的结构框图;
图3为本发明实施例所提供的另一种存储系统的结构示意图;
图4为现有技术中的标准mini SAS HD Cable信号定义的示意图;
图5为本发明实施例所提供的一种存储系统的数据传输方法的流程示意图;
图6为本发明实施例所提供的一种存储系统的数据传输方法的流程图;
图7为本发明实施例所提供的一种存储系统的数据传输装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明实施例所提供的一种存储系统的结构框图。该存储系统可以包括:NVMe控制框10和NVMe扩展框20,NVMe控制框10中的第一PCIe交换器11与NVMe扩展框20中的第二PCIe交换器21通过PCIe高速信号链路连接,第一PCIe交换器11中的第一预设低速信号接口与第二PCIe交换器21中的第二预设低速信号接口通过PCIe低速信号链路连接,用于将NVMe控制框中处理器12发送的控制命令通过PCIe低速信号链路发送到第二PCIe交换器21,对NVMe扩展框20进行控制。
可以理解的是,本实施例的目的可以为利用第一PCIe交换器11中的第一预设低速信号接口与第二PCIe交换器21中的第二预设低速信号接口之间的PCIe低速信号链路(PCIe低速数据链路)连接,实现NVMe控制框10与NVMe扩展框20之间物理信号的通路,使NVMe控制框10可以通过PCIe低速信号链路向NVMe扩展框20发送各种控制命令,对NVMe扩展框20进行控制,从而可以保NVMe控制框10与NVMe扩展框20之间的PCIe高速信号链路可以正常建立连接,如NVMe控制框10可以通过PCIe低速信号链路向NVMe扩展框20发送复位命令,控制NVMe扩展框20进行复位,消除PCIe高速信号链路的异常。
具体的,本实施例中的第一PCIe交换器11可以为NVMe控制框10中用于与NVMe扩展框20中的PCIe交换器(第二PCIe交换器21)建立PCIe高速信号链路连接的PCIe交换器,如图1和图3中CTR Enclosure中的PCIe Switch;本实施例中的第二PCIe交换器21可以为NVMe扩展框20中用于与第一PCIe交换器11建立PCIe高速信号链路连接的PCIe交换器,如图1和图3中JBOF中的PCIe Switch。对于本实施例中的第一PCIe交换器11的第二PCIe交换器21的具体类型和两者建立PCIe高速信号链路连接的具体方式,可以由设计人员自行设置,如可以采用与现有技术中的NVMe控制框10和NVMe扩展框20中的PCIe连线相同或相似的方式实现,如图1和图4所示,NVMe控制框10和NVMe扩展框20之间可以采用并联2根mini SAS HD cable(mini SAS HD x4)将第一PCIe交换器11中的对外接口(P1)和第二PCIe交换器21中的对外接口(P2)连接,使NVMe控制框10和NVMe扩展框20之间可以通过4对TX(发送数据)高速信号和4对RX(接收数据)高速信号建立PCIe高速信号链路连接,高速信号插损低,可以支持12Gbps的SAS信号和8Gbps的PCIe信号。
对应的,本实施例中第一PCIe交换器11中的第一预设低速信号接口和第二PCIe交换器21中的第二预设低速信号接口可以为PCIe交换器中预留的低速信号(SideBand信号)接口,即用于传输低速信号的接口。也就是说,本实施例中通过重新定义第一PCIe交换器11和第二PCIe交换器21中预留的低速信号,通过低速信号传输控制命令,可以实现NVMe控制框10对NVMe扩展框20的跨机框的异步控制。具体的,对于本实施例中的第一预设低速信号接口和第二预设低速信号接口的具体选择,可以由设计人员根据实用场景和用户需求自行设置,如可以均选择图4所示的现有技术中标准mini SAS HD Cable信号定义中AI接口(管脚A1),即选择SideBand信号中预留未使用的管脚A1,信号重定义为Preset信号,令P1中的管脚A1与P2中的管脚A1连接,使建立NVMe控制框10和NVMe扩展框20之间可以通过PCIe低速信号链路连接;也可以将第一PCIe交换器11和第二PCIe交换器21中各自的对外接口中预留的其他低速信号接口连接。只要使NVMe控制框10和NVMe扩展框20之间可以通过PCIe低速信号链路连接,本实施例对此不做任何限制。
需要说明的是,本实施例中NVMe控制框10中的处理器12(如CPU)通过第一PCIe交换器11与第二PCIe交换器21之间的PCIe低速信号链路,将控制命令发送到NVMe控制框10,使NVMe控制框10可以根据控制命令进行相应的被控操作,实现对NVMe控制框10的控制。也就是说,本实施例中处理器12可以将控制命令发送到第一PCIe交换器11的第一预设低速信号接口,并通过PCIe低速信号链路传输到第二PCIe交换器21中的第二预设低速信号接口,从而发送到NVMe控制框10。
具体的,对于本实施例中处理器12与第一PCIe交换器11的第一预设低速信号接口的具体连接方式,即处理器12将控制命令发送到第一预设低速信号接口的具体方式,可以由设计人员自行设置,如处理器12直接将控制命令发送到第一预设低速信号接口,即处理器12与第一PCIe交换器11除了现有的用于通过PCIe高速信号链路传输数据的PCIe连接(如图1和图3中的PCIe x8)外,还可以额外与第一PCIe交换器11进行用于传输控制命令的PCIe连接;处理器12也可以将NVMe控制框10中的CPLD(复杂可编程逻辑器件)进行编码后的控制命令发送到第一预设低速信号接口,即第一PCIe交换器11与处理器12通过第一CPLD(如图3中CTR Enclosure中的CPLD)连接,用于将第一CPLD编码后的控制命令通过PCIe低速信号链路发送到第二PCIe交换器21;其中,NVMe控制框10包括第一CPLD。对应的,NVMe扩展框20中的第二CPLD(如图3中JBOF中的CPLD)与第二PCIe交换器21连接,用于对接收的控制命令进行解码,并执行相应的被控操作。如第一CPLD的IO(输入/输出口)与第一PCIe交换器11的A1接口和处理器12的GPIO(通用输入/输出口)管脚连通,第二PCIe交换器21的A1接口与第二CPLD的GPIO管脚连通。
进一步的,本实施例中的处理器12不仅可以通过第一PCIe交换器11与第二PCIe交换器21之间的PCIe低速信号链路,向NVMe控制框10发送控制命令;还可以通过PCIe低速信号链路,接收NVMe扩展框20发送状态信息,根据状态信息确定NVMe扩展框20的状态。如第一CPLD可以对第二CPLD通过PCIe低速信号链路发送的状态信息进行解码,并将解码后的状态信息发送给处理器12,使处理器12可以根据状态信息确定NVMe扩展框20的状态。例如第二CPLD可以通过PCIe低速信号链路将NVMe扩展框20复位完成的状态信息发送到NVMe控制框10,使处理器12了解NVMe扩展框20复位完成的状态;即第一预设低速信号接口和第二预设低速信号接口可以均支持Input(输入)/Output(输出)双向传输,通过第一CPLD的编码和解码,可以实现NVMe控制框10与NVMe扩展框20之间多种状态信息和控制命令的传输。
其中,对于本实施例中第一预设低速信号接口和第二预设低速信号接口之间的PCIe低速信号链路的具体连接方式,可以由设计人员自行设置,如可以直接将第一预设低速信号接口和第二预设低速信号接口通过线缆(cable)连接;也可以通过定制mini SAS HDcable连接,即利用现有mini SAS HD cable的基础上的定制mini SAS HD cable,使定制mini SAS HD cable不仅可以保证NVMe控制框10与NVMe扩展框20之间的PCIe高速信号链路连接,还可以保证NVMe控制框10与NVMe扩展框20之间的PCIe低速信号链路连接。如图3所示,NVMe控制框10与NVMe扩展框20之间可以并联2根定制mini SAS HD cable(mini SAS HDx4)使第一CPLD与第二CPLD通过2根定制mini SAS HD cable(mini SAS HD x4)连接。
具体的,当NVMe扩展框20比NVMe控制框10后上电或者NVMe扩展框20异常复位,因上电时序和复位时间不满足要求等原因,导致NVMe控制框10与NVMe扩展框20之间的PCIe高速信号链路协商速率或带宽不满足要求和运行中误码增加,从而导致PCIe断开等各种问题,NVMe控制框10识别到此PCIe链路异常,可通过PCIe低速信号链路,发起NVMe控制框10和NVMe扩展框20的整体复位或单台设备复位,重新协商保障两个设备间的PCIe高速信号链路的正常数据传输。如图5所示,NVMe控制框10(控制框)和NVMe扩展框20(JBOF)均上电后,处理器12可以进入框间PCIe协商状态,判断NVMe控制框10与NVMe扩展框20之间的PCIe高速信号链路是否存在异常;若没有异常(Pass),则正常运行,通过PCIe高速信号链路与NVMe扩展框20进行数据传输;若存在异常(Fail),则发起NVMe控制框10和NVMe扩展框20的整体复位,即控制NVMe控制框10进行复位,并通过PCIe低速信号链路向NVMe扩展框20发送复位命令,控制NVMe扩展框20进行复位。保证了NVMe控制框10与NVMe扩展框20之间的PCIe高速信号链路可以建立正常连接,确保存储系统可靠性。
本实施例中,本发明实施例通过第一PCIe交换器11中的第一预设低速信号接口与第二PCIe交换器21中的第二预设低速信号接口通过PCIe低速信号链路连接,对第一PCIe交换器11和第二PCIe交换器21中预留的低速信号(SideBand信号)重新定义,作为NVMe控制框10和NVMe扩展框20之间互连的控制信号,实现控制命令的框间传输,使NVMe控制框10可以对NVMe扩展框20进行控制,从而保证了NVMe控制框10与NVMe扩展框20之间的PCIe高速信号链路可以正常建立连接,提升了用户体验。
请参考图6,图6为本发明实施例所提供的一种存储系统的数据传输方法的流程图。该方法可以应用于上述实施例所提供的存储系统中的NVMe控制框,包括:
步骤101:NVMe控制框和NVMe扩展框上电完成后,判断与NVMe扩展框之间的PCIe高速信号链路是否存在异常;若是,则进入步骤102;若否,则进入步骤103。
可以理解的是,本步骤的目的可以为NVMe控制框在自身和NVMe扩展框上电完成后,通过判断与NVMe扩展框之间的PCIe高速信号链路是否存在异常,确定自身和NVMe扩展框之间是否能够通过PCIe高速信号链路进行正常的数据传输。
具体的,对于本步骤中NVMe控制框判断与NVMe扩展框之间的PCIe高速信号链路是否存在异常的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如可以采用与现有技术中的框间PCIe协商相同或相似的方式实现,如NVMe控制框中的处理器可以进入框间PCIE协商状态,通过检测该PCIe高速信号链路的协商速率、带宽和误码率与各自对应的阈值的比较,确定框间PCIe协商是否成功,即确定NVMe控制框与NVMe扩展框之间的PCIe高速信号链路是否存在异常;若框间PCIe协商成功,则确定PCIe高速信号链路不存在异常,可以进入步骤103,通过PCIe高速信号链路进行正常的数据传输;若框间PCIe协商失败,则确定PCIe高速信号链路存在异常,则可以进入步骤102,进行控制NVMe控制框和/或NVMe扩展框进行复位,修复PCIe高速信号链路的异常。
步骤102:控制NVMe控制框进行复位和/或通过与NVMe扩展框之间的PCIe低速信号链路向NVMe扩展框发送复位命令,控制NVMe扩展框进行复位,并在NVMe控制框和/或NVMe扩展框复位完成后,进入步骤101。
需要说明的是,本步骤的目的可以为在NVMe控制框与NVMe扩展框之间的PCIe高速信号链路存在异常时,NVMe控制框通过控制自身和/或NVMe扩展框进行复位,对PCIe高速信号链路进行修复,并在复位完成后,再次返回步骤101,检测本次修复是否成功,即修复后的PCIe高速信号链路是否依然存在异常。
具体的,对于本步骤中NVMe控制框对存在异常的PCIe高速信号链路进行修复的具体方式,可以由设计人员自行设置,如可以直接控制NVMe控制框和NVMe扩展框进行复位,即每次检测PCIe高速信号链路异常时,NVMe控制框可以直接控制自身和NVMe扩展框进行复位;例如NVMe控制框中的处理器可以控制NVMe控制框进行复位,并向NVMe控制框中的第一CPLD发送复位命令,由第一CPLD对复位命令进行编码后,通过NVMe控制框与NVMe扩展框之间的PCIe低速信号链路发送到NVMe扩展框中的第二CPLD,使第二CPLD对NVMe扩展框进行复位。NVMe控制框也可以先确定NVMe控制框和NVMe扩展框中导致PCIe高速信号链路异常的异常设备,在对异常设备进行复位;例如NVMe控制框中的处理器可以根据PCIe高速信号链路的协商信息(如协商速率、带宽和误码率等),确定NVMe控制框和NVMe扩展框中的异常设备;若NVMe控制框为异常设备,则控制NVMe控制框进行复位;若NVMe扩展框为异常设备,则通过PCIe低速信号链路向NVMe扩展框发送复位命令;若NVMe扩展框和NVMe控制框均为异常设备,则控制NVMe控制框进行复位,并通过PCIe低速信号链路向NVMe扩展框发送复位命令。本实施例对此不做任何限制。
可以理解的是,本步骤中NVMe控制框可以控制进行复位的设备(NVMe控制框和/或NVMe扩展框)复位完成后,返回步骤101继续判断NVMe控制框与NVMe扩展框之间的PCIe高速信号链路是否存在异常。对应的,若进行复位的设备包含NVMe扩展框时,NVMe控制框可以通过与NVMe扩展框之间的PCIe低速信号链路接收NVMe扩展框复位完成的状态信息(复位完成状态信息),从而确定NVMe扩展框已复位完成。
也就是说,NVMe扩展框可以在复位完成后,通过PCIe低速信号链路向NVMe控制框发送复位完成状态信息。如NVMe扩展框中的第二CPLD可以在NVMe扩展框复位完成后,通过PCIe低速信号链路向NVMe控制框发送复位完成状态信息,NVMe控制框中的第一CPLD接收复位完成状态信息后,可以对复位完成状态信息进行解码,并将解码后的复位完成状态信息发送给NVMe控制框中的处理器,使处理器确定NVMe扩展框已复位完成。
步骤103:通过PCIe高速信号链路与NVMe扩展框进行数据传输。
可以理解的是,本步骤的目的可以为在NVMe控制框与NVMe扩展框之间的PCIe高速信号链路不存在异常的情况下,NVMe控制框通过PCIe高速信号链路与NVMe扩展框进行正常的数据传输。
具体的,对于本步骤中NVMe控制框通过PCIe高速信号链路与NVMe扩展框进行数据传输的具体方式,可以采用与现有技术中NVMe控制框与NVMe扩展框之间的数据传输相同或相似的方式实现,本实施例对此不做任何限制。
需要说明的是,本实施例的目的可以为在NVMe控制框与NVMe扩展框之间的PCIe高速信号链路存在异常的情况下,利用NVMe控制框中的第一PCIe交换器与NVMe扩展框中的第二PCIe交换器之间的PCIe低速信号链路,使NVMe控制框可以控制NVMe扩展框进行复位,从而能够实现PCIe高速信号链路的自动修复,确保存储系统的稳定性。
本实施例中,本发明实施例通过控制NVMe控制框进行复位和/或通过与NVMe扩展框之间的PCIe低速信号链路向NVMe扩展框发送复位命令,控制NVMe扩展框进行复位,可以利用NVMe控制框与NVMe扩展框之间的PCIe低速信号链路,实现NVMe控制框对NVMe扩展框的复位控制,从而能够实现PCIe高速信号链路的自动修复,确保存储系统的稳定性。
请参考图7,图7为本发明实施例所提供的一种存储系统的数据传输装置的结构框图。该装置可以包括:
判断模块100,用于NVMe控制框和NVMe扩展框上电完成后,判断与NVMe扩展框之间的PCIe高速信号链路是否存在异常;
复位模块200,用于若存在异常,则控制NVMe控制框进行复位和/或通过与NVMe扩展框之间的PCIe低速信号链路向NVMe扩展框发送复位命令,控制NVMe扩展框进行复位,并在NVMe控制框和/或NVMe扩展框复位完成后,向判断模块发送启动信号;
传输模块300,用于若未存在异常,则通过PCIe高速信号链路与NVMe扩展框进行数据传输。
本实施例中,本发明实施例通过控制NVMe控制框进行复位和/或通过与NVMe扩展框之间的PCIe低速信号链路向NVMe扩展框发送复位命令,控制NVMe扩展框进行复位,可以利用NVMe控制框与NVMe扩展框之间的PCIe低速信号链路,实现NVMe控制框对NVMe扩展框的复位控制,从而能够实现PCIe高速信号链路的自动修复,确保存储系统的稳定性。
本发明实施例还提供了一种NVMe控制框,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述实施例所提供的存储系统的数据传输方法的步骤。
此外,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述实施例所提供的存储系统的数据传输方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、NVMe控制框及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种存储系统及其数据传输方法、装置、NVMe控制框和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种存储系统,包括:NVMe控制框和NVMe扩展框,所述NVMe控制框中的第一PCIe交换器与所述NVMe扩展框中的第二PCIe交换器通过PCIe高速信号链路连接,其特征在于,所述第一PCIe交换器中的第一预设低速信号接口与所述第二PCIe交换器中的第二预设低速信号接口通过PCIe低速信号链路连接,用于将所述NVMe控制框中处理器发送的控制命令通过所述PCIe低速信号链路发送到所述第二PCIe交换器,对所述NVMe扩展框进行控制。
2.根据权利要求1所述的存储系统,其特征在于,所述第一PCIe交换器与所述处理器通过第一CPLD连接,用于将所述第一CPLD编码后的所述控制命令通过所述PCIe低速信号链路发送到所述第二PCIe交换器;其中,所述NVMe控制框包括所述第一CPLD;
所述NVMe扩展框中的第二CPLD与所述第二PCIe交换器连接,用于对接收的所述控制命令进行解码,并执行相应的被控操作。
3.根据权利要求1所述的存储系统,其特征在于,所述处理器还用于接收所述第二PCIe交换器通过所述PCIe低速信号链路发送的状态信息,根据所述状态信息确定所述NVMe扩展框的状态。
4.根据权利要求1所述的存储系统,其特征在于,所述第一预设低速信号接口和所述第二预设低速信号接口均为标准mini SAS HD Cable信号定义中的A1接口。
5.一种存储系统的数据传输方法,其特征在于,应用于NVMe控制框,包括:
所述NVMe控制框和NVMe扩展框上电完成后,判断与所述NVMe扩展框之间的PCIe高速信号链路是否存在异常;
若是,则控制所述NVMe控制框进行复位和/或通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,控制所述NVMe扩展框进行复位,并在所述NVMe控制框和/或所述NVMe扩展框复位完成后,执行所述判断与所述NVMe扩展框之间的PCIe高速信号链路是否存在异常的步骤;
若否,则通过所述PCIe高速信号链路与所述NVMe扩展框进行数据传输。
6.根据权利要求5所述的存储系统的数据传输方法,其特征在于,所述控制所述NVMe控制框进行复位和/或通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,包括:
根据所述PCIe高速信号链路的协商信息,确定所述NVMe控制框和所述NVMe扩展框中的异常设备;
若所述NVMe控制框为异常设备,则控制所述NVMe控制框进行复位;
若所述NVMe扩展框为异常设备,则通过所述PCIe低速信号链路向所述NVMe扩展框发送所述复位命令;
若所述NVMe扩展框和所述NVMe控制框均为异常设备,则控制所述NVMe控制框进行复位,并通过所述PCIe低速信号链路向所述NVMe扩展框发送所述复位命令。
7.根据权利要求5或6所述的存储系统的数据传输方法,其特征在于,所述通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,包括:
将所述NVMe控制框中第一CPLD编码后的所述复位命令,通过所述PCIe低速信号链路发送到所述NVMe扩展框中的第二CPLD,以控制所述第二CPLD对所述NVMe扩展框进行复位。
8.一种存储系统的数据传输装置,其特征在于,包括:
判断模块,用于所述NVMe控制框和NVMe扩展框上电完成后,判断与所述NVMe扩展框之间的PCIe高速信号链路是否存在异常;
复位模块,用于若存在异常,则控制所述NVMe控制框进行复位和/或通过与所述NVMe扩展框之间的PCIe低速信号链路向所述NVMe扩展框发送复位命令,控制所述NVMe扩展框进行复位,并在所述NVMe控制框和/或所述NVMe扩展框复位完成后,向所述判断模块发送启动信号;
传输模块,用于若未存在异常,则通过所述PCIe高速信号链路与所述NVMe扩展框进行数据传输。
9.一种NVMe控制框,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求5至7任一项所述的存储系统的数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求5至7任一项所述的存储系统的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910684154.XA CN110377238A (zh) | 2019-07-26 | 2019-07-26 | 一种存储系统及其数据传输方法、装置和NVMe控制框 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910684154.XA CN110377238A (zh) | 2019-07-26 | 2019-07-26 | 一种存储系统及其数据传输方法、装置和NVMe控制框 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110377238A true CN110377238A (zh) | 2019-10-25 |
Family
ID=68256627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910684154.XA Withdrawn CN110377238A (zh) | 2019-07-26 | 2019-07-26 | 一种存储系统及其数据传输方法、装置和NVMe控制框 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377238A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338700A (zh) * | 2020-02-24 | 2020-06-26 | 杭州迪普科技股份有限公司 | 加载fpga版本的方法及装置、存储介质 |
CN117336639A (zh) * | 2023-11-29 | 2024-01-02 | 苏州元脑智能科技有限公司 | 信号传输方法和设备,存储介质及电子设备 |
-
2019
- 2019-07-26 CN CN201910684154.XA patent/CN110377238A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338700A (zh) * | 2020-02-24 | 2020-06-26 | 杭州迪普科技股份有限公司 | 加载fpga版本的方法及装置、存储介质 |
CN111338700B (zh) * | 2020-02-24 | 2022-11-25 | 杭州迪普科技股份有限公司 | 加载fpga版本的方法及装置、存储介质 |
CN117336639A (zh) * | 2023-11-29 | 2024-01-02 | 苏州元脑智能科技有限公司 | 信号传输方法和设备,存储介质及电子设备 |
CN117336639B (zh) * | 2023-11-29 | 2024-02-27 | 苏州元脑智能科技有限公司 | 信号传输方法和设备,存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100968641B1 (ko) | 점-대-점 링크 협의 방법, 디바이스, 집적 회로 및 전자시스템 | |
KR101364929B1 (ko) | 향상된 sata 저장 디바이스를 위한 회로, 방법 및 sata 저장 디바이스 | |
US8051314B2 (en) | Serial ATA (SATA) power optimization through automatic deeper power state transition | |
KR102420530B1 (ko) | 대체 프로토콜 선택 | |
JP2009540436A (ja) | 障害を分離するsasエクスパンダ | |
CN103543961A (zh) | 一种基于PCIe的存储扩展系统及存储扩展方法 | |
US11496340B2 (en) | Fast equalization method, chip, and communications system | |
US7689744B1 (en) | Methods and structure for a SAS/SATA converter | |
US8924610B1 (en) | SAS/SATA store-and-forward buffering for serial-attached-SCSI (SAS) storage network | |
CN110377238A (zh) | 一种存储系统及其数据传输方法、装置和NVMe控制框 | |
CN112667066B (zh) | 一种扩展硬盘存储容量的方法、系统及介质 | |
CN113359968B (zh) | 一种基于arm平台复位pcie设备的方法、系统、设备及介质 | |
JP2012063817A (ja) | 通信装置 | |
JP2009217475A (ja) | ストレージシステム,ストレージ装置,ストレージシステムの制御方法および制御プログラム | |
CN100478935C (zh) | Pcie通道扩展装置、系统及其配置方法 | |
US9436412B2 (en) | Preemptive connection switching for serial attached small computer system interface systems | |
EP1556769A1 (en) | Systems and methods of multiple access paths to single ported storage devices | |
CN104170307B (zh) | 失效切换方法、装置和系统 | |
CN115437978A (zh) | 高速外围组件互连接口装置及其操作方法 | |
CN101833522B (zh) | 一种sas链路的通信方法和设备 | |
CN116192706B (zh) | 一种基于ufs的自检测与自复位方法及系统 | |
CN112947287A (zh) | 一种控制方法、控制器及电子设备 | |
CN109165099B (zh) | 一种电子设备、内存拷贝方法及装置 | |
CN103026317A (zh) | 控制聚合i/o端口的功率消耗的方法和系统 | |
CN108231131A (zh) | 一种eMMC测试方法及装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191025 |
|
WW01 | Invention patent application withdrawn after publication |