存储服务器系统的制作方法

文档序号:17047131发布日期:2019-03-05 19:41阅读:443来源:国知局
存储服务器系统的制作方法

本发明涉及一种存储服务器系统,尤其涉及一种可依据系统配置来设定过电流保护值的存储服务器系统。



背景技术:

开放硬件计划(opencomputeproject,ocp)是以开放硬件架构设计为目标的开源标准组织,其致力于研发高效率的大型数据中心硬件设计,用来简化系统操作、提升系统可靠度以及维护、改善能源效率并降低电源消耗。开放硬件计划藉由将高效率的大型数据中心硬件设计规格开源共享,以加速数据中心硬件产业技术的发展,扩大开源硬件的采用量,因此可降低大型数据中心的开发成本。

举例来说,开放硬件计划对存储服务器系统(storageserversystem)制定了模块化的硬件设计规格。因此,当有新的控制芯片、储存器(例如,硬盘(harddiskdrive,hdd)、固态硬盘(solidstatedrive,ssd))、服务器卡、储存器控制卡以及相关功能元件上市时,工程人员可直接从存储服务器系统取下旧模块并更换新模块,再搭配相关固件更新程序,即可进行系统升级。同理,当系统故障时,工程人员可直接更换故障模块,以进行系统维修。此外,由于系统中的模块大多能直接移除而仅留下连接器,如此不仅可降低故障率,也有利于系统故障排除与除错。

目前市面上的储存器,多半使用序列连接小型计算机系统接口(serialattachedsmallcomputersysteminterface,又称serialattachedscsi,简称sas)或序列先进技术附件(serialadvancedtechnologyattachment,sata)接口等传输接口。近期使用非易失性存储器传输(non-volatilememoryexpress,简称nvme)及外围组件互连传输(peripheralcomponentinterconnectexpress,简称pcie)等传输接口的储存器也越来越普及。因此,业界定义出一种可以同时支持四种不同接口的连接器(例如,sff-8639型号的连接器),让存储服务器系统可同时支持四种不同传输接口的储存器(例如sas、sata、nvme及pcie传输接口)。

进一步地,支持不同传输接口的储存器,其消耗功率及负载电流不同,因此所需的过电流保护(overcurrentprotection,ocp)值也不同。在不同的系统配置(configuration)下,例如存储服务器系统包含不同类型的储存器及数量,其所需的过电流保护值皆不一样。目前市面上的存储服务器系统使用固定的过电流保护值,却会导致诸多问题。例如,当工程人员以最大容许值来设定存储服务器系统的过电流保护值时,会造成低负载电流配置的系统过电流保护功能不足,即灵敏度不足。或者,支持nvme及pcie传输接口的储存器的负载电流较高,当工程人员以高负载电流配置的最大容许值来设计存储服务器系统的过电流保护值时,会造成系统成本提高。

因此,如何提供一种可根据系统配置来设定过电流保护值的方法及相关系统,实为本领域的课题之一。

因此,需要提供一种存储服务器系统来解决上述问题。



技术实现要素:

因此,本发明的主要目的即在于提供一种可根据系统配置来设定过电流保护值的存储服务器系统。

本公开提供一种存储服务器系统,该存储服务器系统包括一储存器模块、一电源供应单元、一存储器、一微控制器、一可变电阻、一热交换控制器以及一开关;该储存器模块包括至少一储存器,用来产生至少一在场信号;该电源供应单元用来供应电源给该储存器模块;该存储器用来储存系统信息;该微控制器耦接于该储存器模块及该存储器,用来根据该至少一在场信号及该系统信息,产生一设定信号,以设定该存储服务器系统的过电流保护值;该可变电阻耦接于该微控制器,其中该可变电阻的一电阻值对应该存储服务器系统的该过电流保护值;该热交换控制器耦接于该可变电阻,用来产生一读取信号至该可变电阻,以读取该电阻值,并根据该电阻值,产生一开关信号;该开关耦接于该热交换控制器、该电源供应单元及该储存器模块,用来根据该开关信号,连接或断开该电源供应单元与该储存器模块的连接。

本公开的存储服务器系统可根据至少一储存器产生的至少一在场信号(其指示储存器的类型及配置数量),计算过电流保护值来产生设定信号至可变电阻,以设定可变电阻的电阻值,其中该电阻值对应存储服务器系统的过电流保护值(即,过电流保护的触发级别),以达到过电流保护系统的功能。

附图说明

图1为本公开实施例一存储服务器系统的功能框图。

图2为本公开实施例另一存储服务器系统的功能框图。

图3为本公开实施例一设定过电流保护值流程的流程图。

图4为本公开实施例另一设定过电流保护值流程的流程图。

主要组件符号说明:

1、2存储服务器系统

10微控制器

11储存器模块

12存储器

13可变电阻

14热交换控制器

15开关

16电源供应单元

stg1~stg_n储存器

psn_1~psn_n在场信号

sys_info系统信息

ocp_set设定信号

ocp_read读取信号

sw开关信号

pwr电源

20输入输出扩充器

iload1、iload2负载电流

iocp过电流保护值

imax最大容许值

iini初始值

30、40流程

300~311、400~412步骤

具体实施方式

图1为本公开实施例一存储服务器系统1的功能框图。存储服务器系统1包含一微控制器10、一储存器模块11、一存储器12、一可变电阻13、一热交换控制器14、一开关15以及一电源供应单元16。存储服务器系统1适用于开放硬件计划制定的标准开放机架(openrack),其中标准开放机架包含多个电源区域,分别对应多个存储服务器系统,而每个电源区包含一电源层架(powershelf)以及一设备舱(equipmentbay或equipmentchassis)。设备舱内可设置服务器及储存箱,而电源层架内可设置电源供应单元(powersupplyuni,psu),用来提供电源pwr以驱动电源区域内设置的元件。

微控制器10耦接于储存器模块11、存储器12以及可变电阻13,用来根据在场信号psn_1~psn_n和系统信息sys_info,产生一设定信号ocp_set至可变电阻13。在一实施例中,微控制器10可以是基板管理控制器(baseboardmanagementcontroller,bmc)、可编程逻辑装置(programmablelogicdevice,cpld)、现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)等装置,但不限于此。

储存器模块11耦接于微控制器10及开关15,包含多个储存器stg1~stg_n,用来分别产生在场信号psn_1~psn_n,其中在场信号psn_1~psn_n分别指示对应储存器stg1~stg_n的装置数量及类型。在一实施例中,储存器stg1~stg_n可以是硬盘或固态硬盘,而储存器的类型指示sas、sata、nvme及pcie传输接口中的一者,但不限于此。

存储器12耦接于微控制器10,用来储存系统信息sys_info,其中系统信息sys_info指示存储服务器系统1的驱动规格(drivespecification),例如过电流保护的预设值、最小容许值及最大容许值,以及储存器的类型、传输接口及负载电流等。在一实施例中,存储器12可以是电子擦除式可编程只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom),但不限于此。

可变电阻13耦接于微控制器10及热交换控制器14,用来根据设定信号ocp_set来设定其电阻值,以设定存储服务器系统1的过电流保护的触发级别(triggerlevel)。在一实施例中,可变电阻13可以是一数字分压计(digitalpotentiometer),其包含一集成电路总线(inter-integratedcircuitbus)接口,微控制器10可通过集成电路总线接口来设定可变电阻13的电阻值。

热交换控制器14耦接于可变电阻13及开关15,用来根据一读取信号ocp_read,产生一切换信号sw到开关15。详细来说,热交换控制器14可通过读取信号ocp_read,读取可变电阻13的电阻值,以得知存储服务器系统1的过电流保护值,据以触发过电流保护功能。开关15耦接于储存器模块11、热交换控制器14及电源供应单元16,用来根据切换信号sw,连接或断开储存器模块11与电源供应单元16间的连接。当开关15连接储存器模块11与电源供应单元16时,表示热交换控制器14未触发过电流保护功能,电源供应单元16则供应电源pwr给储存器模块11;当开关15断开储存器模块11与电源供应单元16时,表示热交换控制器14已触发过电流保护功能,电源供应单元16则停止供应电源pwr给储存器模块11。电源供应单元16耦接于开关15,用来提供电源pwr给储存器模块11。在一实施例中,电源供应单元16还提供电源给存储服务器系统1的相关元件。

当存储服务器系统1为模块化设计时,其内部所有元件会依照实际使用需求而有所增减,一般而言,服务器卡及储存器控制卡(未绘于图1)对系统的总电流影响较小,而储存器模块11的负载电流对系统的总电流影响较大。因此存储服务器系统1的过电流保护值是取决于储存器模块11含有的储存器的类型及配置数量。

在操作上,当存储服务器系统1的电源开启时,可执行一开机程序以对系统及其元件进行参数设定(例如设定过电流保护值)。具体而言,微控制器10根据在场信号psn_1~psn_n和系统信息sys_info,计算过电流保护值来产生设定信号ocp_set至可变电阻13,以设定其电阻值(即过电流保护的触发级别)。在一实施例中,微控制器10将计算的过电流保护值储存于存储器12。

当开机程序完成后,热交换控制器14可通过读取信号ocp_read读取过电流保护值,并检测流经开关15的电流大小,以判断是否有过电流发生。例如,当流经开关15的电流大小超过过电流保护值时,热交换控制器14产生切换信号sw到开关15,以关闭储存器模块11与电源供应单元16间的连接,让电源供应单元16停止供应电源pwr给储存器模块11及存储服务器系统1。当存储服务器系统1重新开启电源时,可再次执行开机程序来重新设定过电流保护值,以此类推。如此一来,存储服务器系统1可根据储存器的类型及配置数量,计算适当的过电流保护值,并动态调整过电流保护值,以达到过电流保护系统的功能。

图2为本公开实施例另一存储服务器系统2的功能框图。存储服务器系统1与2的差异之处在于,存储服务器系统2还包含一输入输出扩充器(ioexpander)20,其中相同元件以相同标号表示。输入输出扩充器20耦接于储存器模块11与微控制器10之间,用来传递在场信号psn_1~psn_n至微控制器10。换言之,微控制器10可从输入输出扩充器20读取在场信号psn_1~psn_n,并从存储器12读取系统信息sys_info,据以计算过电流保护值。

关于存储服务器系统1、2的相关操作,可归纳为设定过电流保护值的一流程30,如图3所示,流程30可编译为一程序代码而储存于微控制器10,用来在系统电源开启并执行开机程序时,指示微控制器10计算并设定过电流保护值。在本实施例中,由于过电流保护值须在储存器启动之前计算,故将流程30的程序代码储存于微控制器10。例如,将流程30的程序代码储存于微控制器105中的只读存储器(readonlymemory)例如eeprom、闪存(flashmemory)或是随机存取存储器(randomaccessmemory)之中,但不限定于此。

在流程30中,假设存储服务器系统1、2的储存器只有一种类型,例如只有硬盘(支持sas、sata传输接口)或是只有固态硬盘(支持sata、pcie、nvme传输接口)。流程30包含以下步骤。

步骤300:开始。

步骤301:设定过电流保护值iocp到最大容许值imax。

步骤302:判断储存器为硬盘或固态硬盘。若是硬盘,进行步骤303;若是固态硬盘,进行步骤306。

步骤303:根据至少一硬盘的数量,计算负载电流iload1。

步骤304:判断过电流保护值iocp是否等于负载电流iload1?若是,进行步骤311;若否,进行步骤305。

步骤305:根据负载电流iload1,设定过电流保护值iocp。回到步骤304。

步骤306:根据至少一固态硬盘的数量,计算负载电流iload2。

步骤307:判断过电流保护值iocp是否等于负载电流iload2?若是,进行步骤311;若否,进行步骤308。

步骤308:判断负载电流iload2是否大于最大容许值imax?若是,进行步骤309;若否,进行步骤310。

步骤309:根据最大容许值imax,调整负载电流iload2。进行步骤311。

步骤310:根据负载电流iload2,设定过电流保护值iocp。

步骤311:结束。

根据流程30,当系统电源开启时,微控制器10先将过电流保护值设定到最大容许值imax(步骤301),判断储存器为硬盘(例如,硬盘)或固态硬盘(例如,固态硬盘)(步骤302)。当储存器为硬盘时,根据硬盘的数量,计算硬盘的负载电流iload1(步骤303),再判断过电流保护值iocp是否等于负载电流iload1(步骤304)。当过电流保护值iocp等于负载电流iload1时,表示过电流保护机制具有适当的灵敏度,则可启动储存器(步骤311);反之,当过电流保护值iocp不等于负载电流iload1时,表示过电流保护机制的灵敏度不足,则根据负载电流iload1,设定过电流保护值iocp(步骤305)。

另一方面,当储存器为固态硬盘时,根据固态硬盘的数量,计算固态硬盘的负载电流iload1(步骤306),再判断过电流保护值iocp是否等于负载电流iload2(步骤307)。当过电流保护值iocp等于负载电流iload2时,表示过电流保护机制具有适当的灵敏度;反之,当过电流保护值iocp不等于负载电流iload2时,表示过电流保护机制的灵敏度不足,则判断负载电流iload2是否大于最大容许值imax(步骤308)。当负载电流iload2大于最大容许值imax时,则根据最大容许值imax,设定负载电流iload2(步骤309),使其低于最大容许值imax并使过电流保护机制具有适当的灵敏度;反之,当负载电流iload2不大于最大容许值imax时,则根据负载电流iload2,设定过电流保护值iocp(步骤310),以使过电流保护机制具有适当的灵敏度。

一般而言,硬盘的负载电流为固定值,而nvme硬盘的负载电流为可调整的,而存储服务器系统1的过电流最大容许值imax是根据盘面板上的所有连接器都连接到硬盘的情况来设计。但nvme硬盘比硬盘的负载电流高,因此会发生nvme硬盘的负载电流iload2大于最大容许值imax的情况,故须调整负载电流iload2,使其低于最大容许值imax。

因此,通过流程30,存储服务器系统1、2可根据储存器的类型及配置数量,计算适当的过电流保护值,以达到过电流保护系统的功能。

在一实施例中,关于存储服务器系统1、2的相关操作,可归纳为设定过电流保护值的另一流程40,如图4所示,流程40可编译为一程序代码而储存于微控制器10,用来在系统电源开启并执行开机程序时,指示微控制器10计算并设定过电流保护值。在流程40中,假设存储服务器系统1、2的储存器有两种类型,例如同时有硬盘(支持sas、sata传输接口)及固态硬盘(支持sata、pcie、nvme传输接口)。流程40包含以下步骤。

步骤400:开始。

步骤401:根据至少一硬盘的数量以及至少一固态硬盘的数量,分别计算负载电流iload1、iload2。

步骤402:根据负载电流iload1、iload2,计算及设定过电流保护值iocp。

步骤403:判断过电流保护值iocp是否大于初始值iini?若是,进行步骤404;若否,进行步骤406。

步骤404:判断过电流保护值iocp是否大于最大容许值imax?若是,进行步骤405;若否,进行步骤406。

步骤405:减小负载电流iload2,以重新设定过电流保护值iocp。

步骤406:结束。

根据流程40,当系统电源开启时,微控制器10根据计算至少一硬盘的数量以及至少一固态硬盘的数量,分别计算硬盘及固态硬盘的负载电流iload1、iload2(步骤401),据以计算及设定过电流保护值iocp(步骤402),再判断过电流保护值iocp是否大于初始值iini(步骤403)。当过电流保护值iocp大于初始值iini时,判断过电流保护值iocp是否大于最大容许值imax(步骤404);反之,当过电流保护值iocp不大于初始值iini时,表示电流保护值iocp,已成功设定并可启动储存器。当过电流保护值iocp大于最大容许值imax时,减小固态硬盘的负载电流iload2,以重新设定过电流保护值iocp(步骤405),接着再次判断过电流保护值iocp是否大于最大容许值imax,以确保过电流保护功能正常。

在一实施例中,在步骤405中,微控制器10可逐渐减小固态硬盘的负载电流iload2,例如减小负载电流iload2一步级(step),以重新设定过电流保护值iocp,直到过电流保护值iocp小于等于最大容许值imax。然而,在实际应用中,固态硬盘的负载电流iload2应大于一最小容许值,以确保固态硬盘可正常运作。当固态硬盘的负载电流iload2等于最小容许值,但过电流保护值iocp大于最大容许值imax时,微控制器10可产生一警示信号,表示过电流保护功能不能支持当前的系统配置,并终止开机程序。

因此,通过流程40,存储服务器系统1、2可根据储存器的类型及配置数量,计算适当的过电流保护值,以达到过电流保护系统的功能。

综上所述,本公开的存储服务器系统可根据储存器的类型及配置数量,计算过电流保护值来产生设定信号至可变电阻,以设定该可变电阻的电阻值,其中该电阻值对应存储服务器系统的过电流保护值(即,过电流保护的触发级别),以达到过电流保护系统的功能。

以上所述仅为本发明的较佳实施例,凡是根据本发明权利要求书所做的等同变化与修饰,皆应当属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1