CN115617272A - 多个NVMe硬盘的管理方法和服务器 - Google Patents

多个NVMe硬盘的管理方法和服务器 Download PDF

Info

Publication number
CN115617272A
CN115617272A CN202211323950.9A CN202211323950A CN115617272A CN 115617272 A CN115617272 A CN 115617272A CN 202211323950 A CN202211323950 A CN 202211323950A CN 115617272 A CN115617272 A CN 115617272A
Authority
CN
China
Prior art keywords
nvme hard
programmable logic
hard disk
logic device
target
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
CN202211323950.9A
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.)
Shenzhen Yiyike Data Equipment Technology Co ltd
Original Assignee
Shenzhen Yiyike Data Equipment Technology Co ltd
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 Shenzhen Yiyike Data Equipment Technology Co ltd filed Critical Shenzhen Yiyike Data Equipment Technology Co ltd
Priority to CN202211323950.9A priority Critical patent/CN115617272A/zh
Publication of CN115617272A publication Critical patent/CN115617272A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Programmable Controllers (AREA)

Abstract

本申请适用于硬盘管理技术领域,提供了一种多个NVMe硬盘的管理方法和服务器,该方法包括:可编程逻辑器件获取第一预设地址;可编程逻辑器件在第一预设地址为控制器的地址时,向管理控制器件发送第一反馈信号;可编程逻辑器件获取目标预设值;可编程逻辑器件根据目标预设值,选通可编程逻辑器件与目标NVMe硬盘之间的I2C通道;可编程逻辑器件向管理控制器件发送第二反馈信号,以使管理控制器件在获取到第二反馈信号后,通过可编程逻辑器件与目标NVMe硬盘之间的I2C通道,控制目标NVMe硬盘执行数据读写操作。从而,可实现多个NVMe硬盘的管理。

Description

多个NVMe硬盘的管理方法和服务器
技术领域
本申请属于硬盘管理技术领域,尤其涉及一种多个非易失性内存主机控制器接口规范(non volatile memory express,NVMe)硬盘的管理方法和服务器。
背景技术
在服务器中,多个NVMe硬盘作为从器件(SLAVE),通过同一个集成电路总线(inter-integrated circuit,I2C)与基板管理控制器(baseboard managementcontroller,BMC)连接,使得该基板管理控制器可以同时管理多个NVMe硬盘。由于NVMe硬盘的I2 C接口的地址是固定的,故多个NVMe硬盘的I2 C接口的地址会发生冲突。导致该基板管理控制器访问多个NVMe硬盘时发生冲突。
目前,基板管理控制器中包括多个I2 C接口,每个I2 C接口连接一个NVMe硬盘。或者,在服务器的硬盘背板中设置I2 C扩展芯片,I2 C扩展芯片可将与基板管理控制器连接的I2 C总线扩展为多个I2 C接口。每个I2 C接口连接一个NVMe硬盘,从而,基板管理控制器可实现对多个NVMe硬盘的管理。
然而,在NVMe硬盘数量较多时,基板管理控制器可提供的I2 C接口的数量有限,导致基板管理控制器无法实现对多个NVMe硬盘的管理。或者,I2 C扩展芯片需要在硬盘背板上布置多个,导致布线复杂,器件成本增加。
发明内容
本申请实施例提供了一种多个NVMe硬盘的管理方法和服务器,可以解决在NVMe硬盘数量较多时,基板管理控制器可提供的I2 C接口的数量有限,导致基板管理控制器无法实现对多个NVMe硬盘的管理的问题。
第一方面,本申请实施例提供了一种多个NVMe硬盘的管理方法,该方法包括:可编程逻辑器件通过I2 C总线从管理控制器件获取第一预设地址;
可编程逻辑器件在第一预设地址为控制器的地址时,通过I2 C总线向管理控制器件发送第一反馈信号;
可编程逻辑器件通过I2 C总线从管理控制器件获取目标预设值,目标预设值是管理控制器件在获取到第一反馈信号后向I2 C总线发送的;
可编程逻辑器件根据目标预设值,选通可编程逻辑器件与目标NVMe硬盘之间的I2C通道,目标NVMe硬盘为多个NVMe硬盘中的任意一个需要访问的NVMe硬盘;
可编程逻辑器件通过I2 C总线向管理控制器件发送第二反馈信号,以使管理控制器件在获取到第二反馈信号后,通过可编程逻辑器件与目标NVMe硬盘之间的I2 C通道,控制目标NVMe硬盘执行数据读写操作。
在第一方面的一种可能的实现方式中,该方法具体包括:
可编程逻辑器件中的控制器通过I2 C总线从管理控制器件获取第一预设地址;
控制器在第一预设地址为控制器的地址时,通过I2 C总线向管理控制器件发送第一反馈信号;
控制器通过I2 C总线从管理控制器件获取目标预设值;
控制器向可编程逻辑器件中的寄存器传输目标预设值;
寄存器根据目标预设值,选通可编程逻辑器件与目标NVMe硬盘之间的I2C通道;
寄存器向控制器通知选通可编程逻辑器件与目标NVMe硬盘之间的I2 C通道;
控制器通过I2 C总线向管理控制器件发送第二反馈信号。
在第一方面的一种可能的实现方式中,该方法还包括:
可编程逻辑器件从中央处理器或多个NVMe硬盘获取第一控制信号;
可编程逻辑器件根据第一控制信号,对每个NVMe硬盘进行热插拔和点灯控制。
本申请实施例通过可编程逻辑器件的编程功能,可实现将可编程逻辑器件的I2 C接口扩展为多个I2 C通道,由于可编程逻辑器件与管理控制器件通过I2C总线连接,可看作为将管理控制器件的I2 C接口扩展为多个I2 C通道,每个I2 C通道与多个NVMe硬盘中的一个NVMe硬盘连接的技术手段,解决了管理控制器件无法管理多个NVMe硬盘的技术问题,达到了节约管理控制器件的I2C接口的资源、布线简单、成本较低的技术效果。
第二方面,本申请实施例提供了一种可编程逻辑器件,用于执行第一方面或第一方面的任一可能的实现方式中多个NVMe硬盘的管理方法。
在第二方面的一种可能的实现方式中,可编程逻辑器件包括:控制器以及寄存器;
其中,管理控制器件与控制器通过所述I2 C总线连接,控制器与寄存器连接,所述寄存器控制可编程逻辑器件与多个NVMe硬盘中的每个NVMe硬盘之间连接成一个I2 C通道。
第三方面,本申请实施例提供了一种服务器,包括:设置在主板上的管理控制器件、以及设置在背板上的多个NVMe硬盘和第二方面或第二方面的任一可能的实现方式中的可编程逻辑器件;
其中,管理控制器件与可编程逻辑器件通过I2 C总线连接,可编程逻辑器件与多个NVMe硬盘中的每个NVMe硬盘之间连接成一个I2 C通道;
管理控制器件,用于在获取到第二反馈信号后,通过可编程逻辑器件与目标NVMe硬盘之间的I2 C通道,控制目标NVMe硬盘执行数据读写操作。
在第三方面的一种可能的实现方式中,管理控制器件,具体用于向目标NVMe硬盘发送第二预设地址;
目标NVMe硬盘,用于在接收到第二预设地址后,在第二预设地址为目标NVMe硬盘的地址时,向管理控制器件发送第三反馈信号;
管理控制器件,还用于在获取到第三反馈信号后,向目标NVMe硬盘发送第二控制信号;
目标NVMe硬盘,还用于在接收到第二控制信号后,根据第二控制信号执行数据读写操作。
在第三方面的一种可能的实现方式中,服务器还包括:设置在主板上的中央处理器;
中央处理器,用于向可编程逻辑器件发送第一控制信号;
可编程逻辑器件,还用于在获取到第一控制信号后,根据第一控制信号,对多个NVMe硬盘中的每个NVMe硬盘进行热插拔和点灯控制。
第四方面,本申请实施例提供了一种管理设备,该设备包括存储器与处理器。该存储器用于存储指令;该处理器执行该存储器存储的指令,使得该设备执行第一方面或第一方面的任一可能的实现方式中多个NVMe硬盘的管理方法。
第五方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行第一方面或第一方面的任一可能的实现方式中多个NVMe硬盘的管理方法。
第六方面,本申请实施例提供一种包含指令的计算机程序产品,当该指令在设备上运行时,使得设备执行第一方面或第一方面的任一可能的实现方式中多个NVMe硬盘的管理方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种服务器的结构示意框图;
图2是本申请实施例提供的一种服务器的结构示意框图;
图3是本申请实施例提供的从器件的地址的原理示意图;
图4a是本申请实施例提供的一种服务器中可编程逻辑器件执行目标预设值的写操作示意图;
图4b是本申请实施例提供的一种服务器中可编程逻辑器件执行目标预设值的读操作示意图;
图5是本申请实施例提供的一种多个NVMe硬盘的管理方法的信令交互示意图;
图6是本申请实施例提供的一种多个NVMe硬盘的管理方法的信令交互示意图;
图7是本申请实施例提供的一种服务器的结构示意框图;
图8是本申请实施例提供的一种服务器的结构示意框图;
附图标记说明:
100-服务器;101-主板;102-管理控制器件;103-背板;104-可编程逻辑器件;105-NVMe硬盘;105a-目标NVMe硬盘;106-控制器;107-寄存器;108-中央处理器;109-管理模块;110-其他从器件。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
请参阅图1,图1示出了本申请实施例提供的一种服务器的结构示意框图。如图1所示,本申请的服务器100可以包括:设置在主板101上的管理控制器件102、以及设置在背板103上的可编程逻辑器件104(programmable logic device,PLD)和多个NVMe硬盘105。
主板101用于对服务器100中的硬件设备进行控制管理。硬件设备可以包括:内存、硬盘、电源等。
背板103用于保证主板101和硬件设备之间的正常通信。背板103可以包括内存板、硬盘背板、电源背板等。
主板101通过背板103与硬件设备连接。例如:主板101可通过硬盘背板与NVMe硬盘105连接,从而,用户可在服务器100不关机的状态下,直接更换损坏的NVMe硬盘105。
NVMe硬盘105是使用NVMe协议规范的硬盘。NVMe硬盘105通过采用高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE)的PCIE总线实现接口协议。
NVMe协议规范即非易失性内存主机控制器接口规范(non volatile memory hostcontroller interface specification),是一个逻辑设备接口规范。NVMe协议规范是与串行ATA高级主控接口(serial ATA advanced host controller interface,AHCI)类似的、基于逻辑设备接口的总线传输协议规范。采用NVMe协议规范可以访问通过PCIE总线附加的非易失性存储器介质。
管理控制器件102,可作为主器件(HOST),访问多个NVMe硬盘105,例如:管理控制器件102从多个NVMe硬盘105中读取数据、向多个NVMe硬盘105中写入数据、控制多个NVMe硬盘105擦除数据等。管理控制器件102可以包括基板管理控制器等。
多个NVMe硬盘105,用于存储数据。多个NVMe硬盘105可以包括:NVMe硬盘1、NVMe硬盘2、…、NVMe硬盘M。其中,M为大于等于1的整数。
可编程逻辑器件104,用于通过编程实现对多个NVMe硬盘105的带外管理。可编程逻辑器件104可以包括复杂可编程逻辑器件(complex programmable logical device,CPLD)和现场可编程逻辑阵列(field-programmable gate array,FPGA)以及通用阵列逻辑(generic array logic,GAL)等。
由于,可编程逻辑器件104具有丰富的可编程IO和可编程逻辑资源,因此,可编程逻辑器件104还可通过编程实现除了带外管理多个NVMe硬盘105之外的其他逻辑功能,例如:热插拔管理功能。
其中,管理控制器件102与可编程逻辑器件104通过I2 C总线连接。I2 C总线,用于实现管理控制器件102与可编程逻辑器件104之间的双向通信。
I2 C总线是一种双向二进制同步串行总线。I2 C总线连接的可以是一个主器件和一个从器件,或者一个主器件和多个从器件,或者多个主器件和多个从器件。主器件可以通过指令中的地址选择访问对应的从器件,主器件和从器件通过I2 C总线可以实现数据的传输。
管理控制器件102的I2 C接口与I2 C总线连接,I2 C总线还与可编程逻辑器件104的I2 C接口连接。
其中,可编程逻辑器件104的I2 C接口与多个NVMe硬盘105中的每个NVMe硬盘105的I2 C接口之间连接成一个I2 C通道。
NVMe硬盘105的I2 C接口,即NVMe硬盘105带外信号。通过NVMe硬盘105的I2 C接口,可使得管理控制器件102实现访问NVMe硬盘105、配置NVMe硬盘105的参数、监控NVMe硬盘105、升级NVMe硬盘105等操作。
可编程逻辑器件104与I2 C总线连接的I2 C接口与可编程逻辑器件104与多个NVMe硬盘105连接的I2 C接口连通。
可编程逻辑器件104可通过编程,将可编程逻辑器件104的I2 C接口,扩展为多个I2C通道,每个I2 C通道可与一个NVMe硬盘105的I2 C接口连接。
多个I2 C通道包括:I2 C通道1、I2 C通道2、…、I2 C通道N。其中,N为大于等于1的整数。通常,M≤N。
例如,图1中,I2 C通道1连接NVMe硬盘1的I2 C接口,I2 C通道2连接NVMe硬盘2的I2C接口,…,I2 C通道M连接NVMe硬盘M的I2 C接口。
考虑到多个I2 C通道均采用可编程逻辑器件104的I2 C接口,实现可编程逻辑器件104分别与多个NVMe硬盘105的连接。如果同时选通多个I2 C通道,那么可编程逻辑器件104会通过可编程逻辑器件104的I2 C接口同时与多个NVMe硬盘105进行通信,从而导致多个NVMe硬盘105的地址发生冲突。NVMe硬盘105的地址,即NVMe硬盘105的I2 C接口的地址。通常,NVMe硬盘105的地址由生产厂商进行设置。
故可编程逻辑器件104与多个NVMe硬盘105之间每次仅选通一个I2 C通道。其中,I2C通道的状态包括选通状态和未选通状态。
在管理控制器件102访问多个NVMe硬盘105中的任意一个NVMe硬盘105之前,可编程逻辑器件104可将多个I2 C通道均设置为未选通状态。在管理控制器件102访问多个NVMe硬盘105中的任意一个NVMe硬盘105时,可编程逻辑器件104可选通与该NVMe硬盘105连接的I2 C通道。
或者,在管理控制器件102访问多个NVMe硬盘105中的任意一个NVMe硬盘105之前,可编程逻辑器件104可随机选通多个I2 C通道中的任意一个I2C通道。在管理控制器件102访问多个NVMe硬盘105中的任意一个NVMe硬盘105时,可编程逻辑器件104可选通与该NVMe硬盘105连接的I2 C通道。
基于上述描述,本申请实施例的服务器中,管理控制器件无需提供多个I2C接口分别与多个NVMe硬盘的I2 C接口连接,节约了管理控制器件的I2 C接口的资源,可实现对多个NVMe硬盘的带外信号的管理。背板也无需新增I2 C扩展芯片(I2 C expander),不会占用背板的布线空间、布线简单、成本较低。
I2 C扩展芯片,用于将一个主I2 C总线扩展为多个从I2 C总线,并且,可以通过指令管理扩展后的多个从I2 C总线与主I2 C总线的连接关系。
虽然,管理控制器件102可通过I2 C扩展芯片的总线切换功能,实现访问多个NVMe硬盘105。然而,管理控制器件102可管理的NVMe硬盘105的数量较少。如果要增加NVMe硬盘105的数量,那么背板103需要新增多个I2 C扩展芯片,会严重占用背板103的布线空间、布线复杂、且芯片物料成本和物料管理成本均较高。
下面,结合图2,举例说明服务器100中可编程逻辑器件104的一种实现方式。
请参阅图2,图2示出了本申请实施例提供的一种服务器的结构示意框图。如图2所示,本申请的可编程逻辑器件104可以包括:控制器106以及寄存器107。
控制器106,用于通过编程事先存储控制器106的地址。控制器106,还用于从管理控制器件102接收第一预设地址。其中,第一预设地址是管理控制器件102需要通信的控制器106的地址。
控制器106,还用于确定第一预设地址与存储的控制器106的地址是否相同,使得管理控制器件102能够及时与可编程逻辑器件104通信。
其中,第一预设地址和控制器106的地址均看作为从器件的地址(slaveaddress)。从器件的地址是管理控制器件102与各个从器件提前协商好的地址。其中,各个从器件为通过I2 C总线与管理控制器件102连接的器件。可见,可编程逻辑器件104可看作为一个从器件。
如图3所示,从器件的地址通过8比特位(bit)表示。
第一比特位到第四比特位的取值固定不变。例如:第一比特位的取值为1,第二比特位的取值为1,第三比特位的取值为1,第四比特位的取值为0。
第五比特位到第七比特位,即A2A1A0可表示从器件的地址。其中,A2的取值可为0或1,A1的取值可为0或1,A0的取值可为0或1。
第八比特位,即读标志R(read)/写标志W(write)表示读写操作。
第八比特位为1时,表示读(R)操作。第八位为0时,表示写(W)操作。
基于上述描述,从器件的地址中,可通过第五比特位到第七比特位A2A1A0表示从器件的地址。可见,这三个比特位A2A1A0可表示8个从器件的地址。
从而,可将8个从器件的地址中的任意一个从器件的地址作为控制器106的地址。
寄存器107,用于通过编程事先存储一个寄存器107的值。寄存器107中存储的寄存器107的值可以进行更改,每个寄存器107的值用于指示可编程逻辑器件104与多个NVMe硬盘105中对应的每个NVMe硬盘105之间的一个I2 C通道。
寄存器107,还用于从管理控制器件102接收目标预设值。其中,目标预设值是可编程逻辑器件104与管理控制器件102需要访问的一个NVMe硬盘105之间的I2 C通道对应的一个寄存器107的值。目标预设值、以及可编程逻辑器件104与管理控制器件102需要访问的一个NVMe硬盘105之间的I2 C通道这两者相对应。
寄存器107,还用于确定目标预设值与存储的一个寄存器107的值是否相同,使得寄存器107通过控制图2中的开关闭合,从而控制可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道选通。其中,目标NVMe硬盘105a是多个NVMe硬盘105中的任意一个管理控制器件102需要访问的NVMe硬盘105。目标预设值是可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道对应的寄存器107的值。
应理解,图2中的开关仅作为一个标识,该标识用于表示寄存器107可控制可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道选通。然而,实际应用中,可编程逻辑器件104中并不存在一个开关实体,该标识也无其他实质性含义。
其中,管理控制器件102可通过控制可编程逻辑器件104执行数据读写操作,从可编程逻辑器件104获取寄存器107的值。或者,管理控制器件102与可编程逻辑器件104提前协商好寄存器107的值。
下面,结合图4a-图4b,具体说明管理控制器件102控制可编程逻辑器件104执行寄存器107的值的数据读写操作的过程。
如图4a和图4b所示,管理控制器件102向可编程逻辑器件104发送二十个比特位的信号,使得可编程逻辑器件104可执行寄存器107的值的数据读写操作。
第一比特位S表示I2 C总线的开始信号(START condition)。
第二比特位到第九比特位表示从器件的地址(slave address),具体描述参见上文有关图3的描述,此处不再赘述。
第十比特位为A,表示有用于表示第一预设地址与控制器106的地址相同的反馈信号(acknowledge from slave)。
第十一比特位到第十八比特位,即B7-B0表示8位寄存器107(register)的值。
第二十比特位P表示I2 C总线的停止信号(STOP condition)。
针对图4a而言,第十九比特位为A,表示有用于表示目标预设值与多个寄存器107的值中的一个寄存器107的值相同的反馈信号。针对图4b而言,第十九比特位为NA,表示不存在前述反馈信号。此时,图4b中的第十一比特位到第十八比特位可作为管理控制器件102从寄存器107中读取到的最后一个字节(last byte)。
基于上述描述,可通过第十一比特位到第十八比特位B7-B0表示寄存器107的值。可见,这八个比特位B7-B0可表示256个寄存器107的值,即0-255,这256个寄存器107的值可用于表示255个I2 C通道的256个状态。
256个状态中的1个状态采用一个寄存器107的值(如0xFF,即255)表示255个I2 C通道均为未选通状态,剩余的255个状态采用剩余的255个寄存器107的值(如0-254)表示,剩余的255个寄存器107的值中的每一个寄存器107的值表示255个I2 C通道中对应的一个I2C通道设置为选通状态,如下表1所示。
表1
Figure BDA0003911654370000121
由于一个I2 C通道可连接一个NVMe硬盘105,因此,表1中的255个选通的I2 C通道最多可连接255个NVMe硬盘105,即上述N的取值最大为255,M的取值最大为255。
从而,图4b中,管理控制器件102可通过控制可编程逻辑器件104执行数据读操作,从可编程逻辑器件104获取存储的多个寄存器107的值。
图4a中,管理控制器件102可通过控制可编程逻辑器件104执行数据写操作,向可编程逻辑器件104传输目标预设值。
其中,管理控制器件102与控制器106通过I2 C总线连接。
其中,控制器106与寄存器107通信连接,寄存器107控制可编程逻辑器件104分别与多个NVMe硬盘105中的每个NVMe硬盘105之间连接成一个I2 C通道。
寄存器107可通过编程,将可编程逻辑器件104的I2 C接口,扩展为多个I2 C通道,具体连接方式参见可编程逻辑器件104可通过编程将可编程逻辑器件104的I2 C接口扩展为多个I2 C通道的描述,此处不再赘述。
下面,结合图5,说明多个NVMe硬盘的管理方法的实现过程。
请参阅图5,图5示出了本申请实施例提供的一种多个NVMe硬盘的管理方法的信令交互示意图。
如图5所示,本申请的多个NVMe硬盘的管理方法,可以包括:
S1010、管理控制器件向I2 C总线发送第一预设地址。
S1011、可编程逻辑器件从I2 C总线获取第一预设地址。
在一些实施例中,如图4a所示,在管理控制器件102向I2 C总线发送第一预设地址和写标志后,控制器106可从I2 C总线获取第一预设地址和写标志。
S1020、可编程逻辑器件在确定第一预设地址为控制器的地址时,向I2 C总线发送第一反馈信号。
S1021、管理控制器件从I2 C总线获取第一反馈信号。
其中,第一反馈信号用于向管理控制器件102通知控制器106的地址与第一预设地址相同。
在一些实施例中,控制器106可确定第一预设地址是否为控制器106的地址。在第一预设地址为控制器106的地址时,控制器106可向I2 C总线发送第一反馈信号。
S1030、管理控制器件向I2 C总线发送目标预设值。
S1031、可编程逻辑器件从I2 C总线获取目标预设值。
管理控制器件102根据第一反馈信号,可确定可编程逻辑器件104可通信。从而,如图4a所示,管理控制器件102可向I2 C总线发送第一预设地址、写标志以及目标预设值。可编程逻辑器件104可根据第一预设地址和写标志,确定可编程逻辑器件104是管理控制器件102需要通信的从器件。可编程逻辑器件104可根据获取到的目标预设值,选通与目标预设值对应的I2 C通道。
在一些实施例中,在管理控制器件102向I2 C总线发送第一预设地址、写标志以及目标预设值后,控制器106从I2 C总线中获取第一预设地址、写标志以及目标预设值。在确定第一预设地址为控制器106的地址后,控制器106将目标预设值传输至寄存器107。从而,寄存器107可根据获取到的目标预设值,选通与目标预设值对应的I2 C通道。
S104、可编程逻辑器件根据目标预设值,选通可编程逻辑器件与目标NVMe硬盘之间的I2 C通道。
在一些实施例中,在控制器106从I2 C总线获取到目标预设值后,控制器106将目标预设值传输至寄存器107。寄存器107根据目标预设值,选通可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道。
S1050、可编程逻辑器件向I2 C总线发送第二反馈信号。
S1051、管理控制器件从I2 C总线获取第二反馈信号。
其中,第二反馈信号用于向管理控制器件102通知可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道已选通。
在一些实施例中,寄存器107在选通可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道后,寄存器107可向控制器106通知寄存器107与目标NVMe硬盘105a之间的I2 C通道已选通。控制器106可向I2 C总线发送第二反馈信号。从而,管理控制器件102可从I2 C总线获取到第二反馈信号。
从而,使得管理控制器件102可以通过I2 C总线和可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道,对目标NVMe硬盘105a进行访问。
应理解,在执行S1010之前,管理控制器件102还可向I2 C总线发送I2 C总线的开始信号,从而触发I2 C总线从空闲状态转变为占用状态。
在执行S1051之后,管理控制器件102还可向I2 C总线发送I2 C总线的停止信号,从而触发I2 C总线从占用状态转变为空闲状态。
S106、管理控制器件通过I2 C总线以及可编程逻辑器件与目标NVMe硬盘之间的I2C通道,控制目标NVMe硬盘执行数据读写操作。
在管理控制器件102获取到第二反馈信号后,管理控制器件102可通过I2C总线和可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道,控制目标NVMe硬盘105a执行数据读写操作。
在管理控制器件102需要访问多个NVMe硬盘105时,管理控制器件102对每个NVMe硬盘105的访问过程均可参见上述S1010-S106的操作。
另外,管理控制器件102可通过指令更改目标预设值,更改后的目标预设值可看作为新目标预设值。管理控制器件102控制可编程逻辑器件104切换至与新目标预设值对应的I2 C通道,使得管理控制器件102可以通过I2 C总线和新目标预设值对应的I2 C通道,访问与新目标预设值对应的I2 C通道连接的一个NVMe硬盘105。从而,可使得管理控制器件102完成对多个NVMe硬盘105的访问。
本申请的服务器和方法,通过管理控制器件的I2 C接口与I2 C总线连接,I2 C总线与可编程逻辑器件的I2 C接口连接,可编程逻辑器件的I2 C接口可通过编程扩展为多个I2C通道,可看作为将管理控制器件的I2 C接口扩展为多个I2 C通道,每个I2 C通道与多个NVMe硬盘中的一个NVMe硬盘连接。并且,管理控制器件与多个NVMe硬盘之间每次仅选通一个I2 C通道。从而,可实现管理控制器件对多个NVMe硬盘的管理,布线简单、成本较低,可避免多个NVMe硬盘共用同一I2 C接口所造成的地址冲突的问题,还可节约管理控制器件的I2C接口的资源。
下面,结合图6,说明S106中,管理控制器件102对目标NVMe硬盘105a执行数据读写操作的具体过程。
请参阅图6,图6示出了本申请实施例提供的一种多个NVMe硬盘的管理方法的信令交互示意图。如图6所示,本申请的多个NVMe硬盘的管理方法,可以包括:
S201、管理控制器件向I2 C总线发送I2 C总线的开始信号。
S201为可选地步骤。
其中,I2 C总线包括数据线(SDA)和时钟线(SCL)。
I2 C总线的开始信号:时钟线处于高电平状态,数据线从高电平状态跳变为低电平状态。
空闲状态下,I2 C总线的时钟线处于高电平状态,数据线也处于高电平状态。
管理控制器件102向I2 C总线发送开始信号,即低电平信号,此时,I2 C总线的数据线从高电平状态跳变为低电平状态。从而,I2 C总线从空闲状态转变为占用状态。
应理解,如果I2 C总线的状态处于占用状态,则管理控制器件102无需向I2 C总线发送开始信号。
S202、管理控制器件向I2 C总线发送第二预设地址。
S203、目标NVMe硬盘通过可编程逻辑器件与目标NVMe硬盘之间的I2C通道,从I2 C总线获取第二预设地址。
在一些实施例中,在管理控制器件102向I2 C总线发送第二预设地址后,控制器106可从I2 C总线获取第二预设地址。控制器106将第二预设地址传输至寄存器107。目标NVMe硬盘105a通过可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道,可从寄存器107中获取第二预设地址。
其中,第二预设地址是管理控制器件102需要访问的目标NVMe硬盘105a的地址。
S204、目标NVMe硬盘在确定第二预设地址为目标NVMe硬盘的地址时,通过可编程逻辑器件与目标NVMe硬盘之间的I2 C通道,向I2 C总线发送第三反馈信号。
S205、管理控制器件从I2 C总线获取第三反馈信号。
在一些实施例中,目标NVMe硬盘105a可确定第二预设地址是否为目标NVMe硬盘105a的地址。
在第二预设地址为目标NVMe硬盘105a的地址时,目标NVMe硬盘105a可通过可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道,向寄存器107发送第三反馈信号。寄存器107将第三反馈信号传输至控制器106,控制器106将第三反馈信号发送至I2 C总线。
其中,第三反馈信号用于向管理控制器件102通知目标NVMe硬盘105a的地址与第二预设地址相同。从而,使得管理控制器件102可以确定目标NVMe硬盘105a可访问。
S206、管理控制器件向I2 C总线发送第二控制信号。
在一些实施例中,管理控制器件102在获取到第三反馈信号后,可向I2 C总线发送第二控制信号。
在第二控制信号指示目标NVMe硬盘105a执行数据读操作时,目标NVMe硬盘105a向管理控制器件102传输目标NVMe硬盘105a中存储的数据。
在第二控制信号指示目标NVMe硬盘105a执行数据写操作时,目标NVMe硬盘105a接收管理控制器件102发送的第二控制信号中的指令和/或数据。
S207、目标NVMe硬盘通过可编程逻辑器件与目标NVMe硬盘之间的I2C通道,从I2 C总线获取第二控制信号。
在一些实施例中,在管理控制器件102向I2 C总线发送第二控制信号后,控制器106可从I2 C总线获取第二控制信号,控制器106可将第二控制信号传输至寄存器107。目标NVMe硬盘105a可通过可编程逻辑器件104与目标NVMe硬盘105a之间的I2 C通道,从寄存器107获取第二控制信号。
S208、目标NVMe硬盘根据第二控制信号执行数据读写操作。
S209、目标NVMe硬盘在执行完数据读写操作后,向I2 C总线发送第四反馈信号。
S210、管理控制器件从I2 C总线获取第四反馈信号。
其中,第四反馈信号用于向管理控制器件102通知目标NVMe硬盘105a已执行完数据读写操作。
在一些实施例中,目标NVMe硬盘105a在执行完数据读写操作后,目标NVMe硬盘105a可通过可编程逻辑器件104与目标NVMe硬盘105a之间的I2C通道,向寄存器107发送第四反馈信号。寄存器107将第四反馈信号传输至控制器106,控制器106将第四反馈信号发送至I2 C总线。管理控制器件可从I2 C总线获取第四反馈信号。
从而,使得管理控制器件102可获知目标NVMe硬盘105a已完成数据读写操作。
S211、管理控制器件向I2 C总线发送I2 C总线的停止信号。
在一些实施例中,管理控制器件102在获取到第四反馈信号后,可向I2 C总线发送停止信号。
S211为可选地步骤。
I2 C总线的停止信号:时钟线处于高电平状态,数据线从低电平状态跳变为高电平状态。
管理控制器件102向I2 C总线发送停止信号,即高电平信号,此时,I2 C总线的数据线从低电平状态跳变为高电平状态。从而,I2 C总线从占用状态转变为空闲状态。
应理解,如果I2 C总线的状态已经处于空闲状态或者仍需处于占用状态,则管理控制器件102不向I2 C总线发送停止信号。
上述S201-S211,为管理控制器件102控制目标NVMe硬盘105a,即多个NVMe硬盘105中的任意一个NVMe硬盘105执行数据读写操作的完整过程。
下面,结合图7,举例说明服务器100的另一种实现方式。
请参阅图7,图7示出了本申请实施例提供的一种服务器的结构示意框图。如图7所示,在图2所示服务器100结构的基础上,本申请的服务器100还包括:设置在主板101上的中央处理器108(central processing unit,CPU)。可编程逻辑器件104,还包括:管理模块109。
其中,中央处理器108可通过I2 C总线或外部通讯设备SG-IO板与管理模块109连接。
中央处理器108和NVMe硬盘105向管理模块109发送第一控制信号,使得管理模块109通过第一控制信号,可控制NVMe硬盘105实现热插拔功能,以及控制NVMe硬盘105对应的LED灯的显示状态。从而,管理模块109可根据第一控制信号,对每个NVMe硬盘105进行热插拔和点灯控制。
综上,可编程逻辑器件104可以实现对管理控制器件102的I2 C接口的扩展功能。同时,可编程逻辑器件104还可以实现对多个NVMe硬盘105的热插拔和点灯管理功能。
应理解,在服务器100中,上述实现管理控制器件102的I2 C接口的扩展功能、以及热插拔和点灯管理功能的可编程逻辑器件104,可以是同一个可编程逻辑器件,也可以是不同的可编程逻辑器件。
另外,可编程逻辑器件104可以是背板103中已存在的可编程逻辑器件,也可以是背板103中新增加的可编程逻辑器件。
在一些实施例中,管理控制器件102通过I2 C总线连接可编程逻辑器件104,同时,中央处理器108通过I2 C总线连接可编程逻辑器件104。
通常,在同一时刻,仅能存在一个主器件和一个从器件占用I2 C总线。
在多个NVMe硬盘105需要执行数据读写操作时,管理控制器件102和连接有多个NVMe硬盘105的可编程逻辑器件104占用I2 C总线,对多个NVMe硬盘105执行数据读写操作。
在多个NVMe硬盘105需要进行热插拔控制时,中央处理器108和连接有多个NVMe硬盘105的可编程逻辑器件104占用I2 C总线,对多个NVMe硬盘105进行热插拔控制。
下面,结合图8,举例说明服务器100的另一种实现方式。
请参阅图8,图8示出了本申请实施例提供的一种服务器的结构示意框图。如图8所示,在图6所示服务器100结构的基础上,本申请的服务器100还包括:设置在背板103上的其他从器件110。
其中,其他从器件110可包括除了可编程逻辑器件104以外的器件,如其他的可编程逻辑器件,或者内存等。
其他从器件110的地址与控制器106的地址不同。
管理控制器件102通过I2 C总线与其他从器件110连接。其中,管理控制器件102通过I2 C总线同时连接可编程逻辑器件104和其他从器件110。
本申请实施例还提供了一种管理设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动设备执行时实现可实现上述各个方法实施例中的步骤。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种多个NVMe硬盘的管理方法,其特征在于,所述方法包括:
可编程逻辑器件通过I2 C总线从管理控制器件获取第一预设地址;
所述可编程逻辑器件在所述第一预设地址为控制器的地址时,通过所述I2C总线向所述管理控制器件发送第一反馈信号;
所述可编程逻辑器件通过所述I2 C总线从所述管理控制器件获取目标预设值,所述目标预设值是所述管理控制器件在获取到所述第一反馈信号后向所述I2 C总线发送的;
所述可编程逻辑器件根据所述目标预设值,选通所述可编程逻辑器件与目标NVMe硬盘之间的I2 C通道,所述目标NVMe硬盘为多个NVMe硬盘中的任意一个需要访问的NVMe硬盘;
所述可编程逻辑器件通过所述I2 C总线向所述管理控制器件发送第二反馈信号,以使所述管理控制器件在获取到所述第二反馈信号后,通过所述可编程逻辑器件与目标NVMe硬盘之间的I2 C通道,控制所述目标NVMe硬盘执行数据读写操作。
2.如权利要求1所述的方法,其特征在于,所述方法具体包括:
所述可编程逻辑器件中的控制器通过所述I2 C总线从所述管理控制器件获取所述第一预设地址;
所述控制器在所述第一预设地址为所述控制器的地址时,通过所述I2 C总线向所述管理控制器件发送所述第一反馈信号;
所述控制器通过所述I2 C总线从所述管理控制器件获取所述目标预设值;
所述控制器向所述可编程逻辑器件中的寄存器传输所述目标预设值;
所述寄存器根据所述目标预设值,选通所述可编程逻辑器件与所述目标NVMe硬盘之间的I2 C通道;
所述寄存器向所述控制器通知选通所述可编程逻辑器件与所述目标NVMe硬盘之间的I2C通道;
所述控制器通过所述I2 C总线向所述管理控制器件发送所述第二反馈信号。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述可编程逻辑器件从中央处理器或多个NVMe硬盘获取第一控制信号;
所述可编程逻辑器件根据所述第一控制信号,对每个NVMe硬盘进行热插拔和点灯控制。
4.一种可编程逻辑器件,其特征在于,用于执行如权利要求1-3任一项所述的多个NVMe硬盘的管理方法。
5.如权利要求4所述的可编程逻辑器件,其特征在于,所述可编程逻辑器件包括:控制器以及寄存器;
其中,管理控制器件与所述控制器通过所述I2 C总线连接,所述控制器与所述寄存器连接,所述寄存器控制所述可编程逻辑器件与多个NVMe硬盘中的每个NVMe硬盘之间连接成一个I2 C通道。
6.一种服务器,其特征在于,包括:设置在主板上的管理控制器件、以及设置在背板上的多个NVMe硬盘和如权利要求4或5所述的可编程逻辑器件;
其中,所述管理控制器件与所述可编程逻辑器件通过I2 C总线连接,所述可编程逻辑器件与多个NVMe硬盘中的每个NVMe硬盘之间连接成一个I2 C通道;
所述管理控制器件,用于在获取到第二反馈信号后,通过所述可编程逻辑器件与所述目标NVMe硬盘之间的I2 C通道,控制所述目标NVMe硬盘执行数据读写操作。
7.如权利要求6所述的服务器,其特征在于,
所述管理控制器件,具体用于向所述目标NVMe硬盘发送第二预设地址;
所述目标NVMe硬盘,用于在接收到所述第二预设地址后,在所述第二预设地址为所述目标NVMe硬盘的地址时,向所述管理控制器件发送第三反馈信号;
所述管理控制器件,还用于在获取到第三反馈信号后,向所述目标NVMe硬盘发送第二控制信号;
所述目标NVMe硬盘,还用于在接收到所述第二控制信号后,根据所述第二控制信号执行数据读写操作。
8.如权利要求6所述的服务器,其特征在于,所述服务器还包括:设置在主板上的中央处理器;
所述中央处理器,用于向所述可编程逻辑器件发送第一控制信号;
所述可编程逻辑器件,还用于在获取到所述第一控制信号后,根据所述第一控制信号,对多个NVMe硬盘中的每个NVMe硬盘进行热插拔和点灯控制。
9.一种管理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的方法。
CN202211323950.9A 2022-10-27 2022-10-27 多个NVMe硬盘的管理方法和服务器 Pending CN115617272A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211323950.9A CN115617272A (zh) 2022-10-27 2022-10-27 多个NVMe硬盘的管理方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211323950.9A CN115617272A (zh) 2022-10-27 2022-10-27 多个NVMe硬盘的管理方法和服务器

Publications (1)

Publication Number Publication Date
CN115617272A true CN115617272A (zh) 2023-01-17

Family

ID=84865223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211323950.9A Pending CN115617272A (zh) 2022-10-27 2022-10-27 多个NVMe硬盘的管理方法和服务器

Country Status (1)

Country Link
CN (1) CN115617272A (zh)

Similar Documents

Publication Publication Date Title
US8832404B2 (en) Memory hub with integrated non-volatile memory
US5729683A (en) Programming memory devices through the parallel port of a computer system
US7890690B2 (en) System and method for dual-ported flash memory
US7085863B2 (en) I2C device including bus switches and programmable address
EP2040174B1 (en) Card-type peripheral device
KR101327896B1 (ko) 기존의 아키텍처에 독립 컨트롤러를 추가하는 방법 및 장치
JP2013515992A (ja) Usb2.0インターフェイスを有するモバイルプラットフォームにおけるusb3.0のサポート
KR20040111472A (ko) Ata/sata 통합 제어기
KR102234261B1 (ko) 가상 디바이스 기반의 시스템
CN110058809B (zh) 存储装置及其调试系统
US7752429B2 (en) Computer system and boot code accessing method thereof
CN110781130A (zh) 一种片上系统
US20200183862A1 (en) Data storage module and system host having the same
US5023831A (en) Intelligent disk drive having configurable controller subsystem providing drive-status information via host-computer expansion bus
CN115617272A (zh) 多个NVMe硬盘的管理方法和服务器
US20090119420A1 (en) Apparatus and method for scaleable expanders in systems management
TWI245222B (en) Accessing configuration registers by automatically changing an index
CN115422110B (zh) 电子设备和PCIE Switch芯片的端口配置方法
WO2024017073A1 (zh) 一种存储器件共享的方法、装置及系统
US11494329B2 (en) NVMe-MI over SMBus multi-master controller with other SMBus and I2C masters in a single FPGA chip
WO2024108938A1 (zh) 一种硬盘控制装置、方法、设备、非易失性可读存储介质及服务器
US7596651B2 (en) Multi-character adapter card
JPH11328980A (ja) 不揮発性半導体メモリ
CN116185505A (zh) 一种硬盘背板的配置方法及计算设备
CN117215981A (zh) 热插拔控制系统

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