1、10申请公布号CN104252429A43申请公布日20141231CN104252429A21申请号201410444086722申请日20140903G06F13/1620060171申请人英业达科技有限公司地址201114上海市闵行区漕河泾出口加工区浦星路789号申请人英业达股份有限公司72发明人赵卫国74专利代理机构上海宏威知识产权代理有限公司31250代理人袁辉54发明名称存储控制装置与供其调用其地址的方法57摘要一种存储控制装置与供其调用其地址的方法,该存储控制装置包含相耦接的存储控制模块与存储模块。存储模块存有串行连接小型计算机系统接口的第一地址。一例中存储模块更存有固件,存储控
2、制模块执行该固件以调用第一地址以利数据传输。为调用第一地址,一例中存储控制模块自存储模块读取位串。当判断位串为串行连接小型计算机系统接口的地址时,位串被写入被回传予该存储控制模块的数据结构。一例中存储模块更存有配置文件,存储控制模块调用配置文件以运作。配置文件包含串行连接小型计算机系统接口的第二地址,但存储控制模块除位串非串行连接小型计算机系统接口的地址时不调用之。51INTCL权利要求书2页说明书4页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书4页附图3页10申请公布号CN104252429ACN104252429A1/2页21一种存储控制装置,包含一存储控制
3、模块,耦接于一中央处理单元与多个硬盘之间;以及一存储模块,耦接该存储控制模块,包含一地址存储区,用于存储该存储控制模块的串行连接小型计算机系统接口SERIALATTACHEDSCSI的一第一地址;以及一固件存储区,用于存储该存储控制模块的一固件;其中该固件具有一调用单元,该存储控制模块用于执行该调用单元以调用该第一地址以利数据传输。2如权利要求1所述的存储控制装置,其特征为,当对该固件进行更新时,一新版固件被写入该固件存储区而该地址存储区中的该第一地址不变,该新版固件具有另一调用单元,该存储控制模块更用于执行该另一调用单元以调用该第一地址。3如权利要求1所述的存储控制装置,其特征为,当该存储控
4、制模块执行该调用单元时,该存储控制模块自该地址储存区读取一位串,读取该位串包含选择性地重新排序该位串,该存储控制模块并判断该位串是否为串行连接小型计算机系统接口的地址,且当该位串为串行连接小型计算机系统接口的地址时,该位串被写入一数据结构,该数据结构被回传予该存储控制模块。4如权利要求3所述的存储控制装置,其特征为,该存储模块更包含一配置文件存储区,该配置文件存储区用于存储该存储控制模块的一配置文件,该配置文件包含随机的或预设的串行连接小型计算机系统接口的一第二地址,且当该位串为非串行连接小型计算机系统接口的地址时,该第二地址被写入该数据结构,而该数据结构被回传予该存储控制模块。5如权利要求3
5、所述的存储控制装置,其特征为,当该存储控制模块读取该位串时,该存储控制模块更取得一缓冲区,并将该位串写入该缓冲区,而当该位串为串行连接小型计算机系统接口的地址时,该位串自该缓冲区被写入该数据结构,该缓冲区被释放。6如权利要求3所述的存储控制装置,其特征为,该存储控制模块为南桥芯片、串行连接小型计算机系统接口的硬盘端口扩充器EXPANDER或序列先进技术附接SERIALADVANCEDTECHNOLOGYATTACHMENT的硬盘端口扩充器。7一种存储控制装置,包含一存储模块,存有一配置文件、一固件以及串行连接小型计算机系统接口SERIALATTACHEDSCSI的一第一地址;以及一存储控制模块
6、,耦接该存储模块且耦接于一中央处理单元与多个硬盘之间,用于执行该固件并调用该配置文件以运作;其中该配置文件包含串行连接小型计算机系统接口的一第二地址,该存储控制模块自该存储模块调用该第一地址以利数据传输而不调用该第二地址。8如权利要求7所述的存储控制装置,其特征为,该第二地址为随机的或默认的串行连接小型计算机系统接口的地址。9一种供一存储控制装置调用该存储控制装置的一第一地址以利数据传输的方法,该存储控制装置包含一存储控制模块与一存储模块,所述方法包含该存储控制模块自该存储模块的一地址存储区读取一位串,该地址存储区用于存储权利要求书CN104252429A2/2页3该第一地址,该存储控制装置与
7、该第一地址为基于串行连接小型计算机系统接口SERIALATTACHEDSCSI;以及该存储控制模块判断该位串是否为串行连接小型计算机系统接口的地址;其中当该位串为串行连接小型计算机系统接口的地址时,该位串被写入一数据结构,该数据结构被回传予该存储控制模块;其中读取该位串包含选择性地重新排序该位串。10如权利要求9所述的方法,其特征为,该存储模块的一配置文件存储区用于存储该存储控制模块的一配置文件,该配置文件包含随机的或预设的串行连接小型计算机系统接口的一第二地址,且当该位串为非串行连接小型计算机系统接口的地址时,该第二地址被写入该数据结构,而该数据结构被回传予该存储控制模块。11如权利要求9所
8、述的方法,其特征为,读取该位串更包含取得一缓冲区;以及将该位串写入该缓冲区;其中当该位串为串行连接小型计算机系统接口的地址时,该位串自该缓冲区被写入该数据结构,且该缓冲区被释放。12如权利要求9所述的方法,其特征为,该数据结构为一指针,将该位串写入该数据结构是将该位串写入该指针指向的一存储区。权利要求书CN104252429A1/4页4存储控制装置与供其调用其地址的方法技术领域0001本发明涉及一种总线技术,尤指一种存储控制装置调用其总线地址。背景技术0002总线技术的限制使存储服务器中往往需配备有存储控制装置才能对众多硬盘加以管理。存储控制装置在总线上具有地址。地址一般于存储控制装置的配置文
9、件中给定并随配置文件刻录至存储控制装置,无论制程中或使用时皆无法单独变更。给定与刻录的程序繁琐且非轻而易举。举例而言,欲透过存储控制装置的通用异步收发器UNIVERSALASYNCHRONOUSRECEIVER/TRANSMITTER,简称UART刻录配置文件除拆除服务器的机箱别无他法。发明内容0003鉴于上述,本发明旨在揭露数种存储控制装置与供其调用其地址的方法,以简化总线地址的变更,减少产线人员和使用者的困扰或疏误的可能性。0004所揭露的一种存储控制装置包含存储控制模块与存储模块。存储控制模块耦接于中央处理单元CENTRALPROCESSINGUNIT,简称CPU与多个硬盘之间。存储模块
10、耦接存储控制模块并包含地址与固件存储区。地址存储区用于存储存储控制模块的串行连接小型计算机系统接口SERIALATTACHEDSCSI,下称SAS,SCSI为SMALLCOMPUTERSYSTEMINTERFACE的缩写的第一地址。固件存储区用于存储存储控制模块的固件。固件具有调用单元。存储控制模块用于执行调用单元以调用第一地址以利数据传输。0005在一实施例中,存储模块更包含配置文件存储区,其用于存储存储控制模块的配置文件。配置文件包含SAS的第二地址,但存储控制模块自存储模块调用第一地址以运作而不调用第二地址。在一实施例中,第二地址为随机的或默认的SAS地址。0006在一实施例中存储控制模
11、块执行调用单元时,存储控制模块自地址储存区读取并判断一位串是否为SAS地址。读取该位串包含选择性地重新排序该位串。该位串为SAS地址时被写入一数据结构,该数据结构则被回传予存储控制模块。在一实施例中,当该位串非SAS地址时,第二地址被写入该数据结构而回传。在一实施例中,该数据结构为存储控制模块提供的指针POINTER,将该位串写入该数据结构是将该位串写入指针指向的一存储区。0007在一实施例中存储控制模块读取该位串时,存储控制模块更取得缓冲区并将该位串写入缓冲区。该位串为SAS地址时被自缓冲区写入该数据结构,而缓冲区被释放。在一实施例中,缓冲区位于存储模块。0008在一实施例中进行固件更新时,
12、新版固件被写入固件存储区而地址存储区中的第一地址不变。新版固件具有另一调用单元。存储控制模块更用于执行该另一调用单元以调用第一地址。0009在一实施例中,存储控制模块为SAS或序列先进技术附接SERIALADVANCEDTECHNOLOGYATTACHMENT的硬盘端口扩充器EXPANDER,或南桥芯片SOUTHBRIDGE。说明书CN104252429A2/4页50010所揭露的另一种存储控制装置包含存储控制模块与存储模块。存储控制模块耦接于中央处理单元与多个硬盘之间。存储模块耦接存储控制模块并存有配置文件、固件以及SAS的第一地址。存储控制模块用于执行固件并调用配置文件以运作。配置文件包含
13、SAS的第二地址,但存储控制模块自存储模块调用第一地址以利数据传输而不调用第二地址。在一实施例中,第二地址为随机的或默认的SAS地址。0011在一实施例中进行固件更新时,新版固件被写入存储模块而存储模块中的第一地址不变。新版固件具有调用单元。存储控制模块更用于执行调用单元以调用第一地址。0012所揭露的一种方法用于供一存储控制装置调用其第一地址。该存储控制装置与第一地址为基于SAS。该存储控制装置包含存储控制模块与存储模块。于所述方法中,存储控制模块自存储模块的地址存储区读取一位串,并判断该位串是否为SAS地址。地址存储区用于存储第一地址。读取该位串包含选择性地重新排序该位串。位串为SAS地址
14、时被写入一数据结构,该数据结构则被回传予该存储控制模块。0013在一实施例中,存储模块的配置文件存储区用于存储该存储控制模块的配置文件。配置文件包含随机的或预设的SAS的第二地址。当该位串非SAS地址时,第二地址被写入该数据结构而回传。0014在一实施例中,读取该位串更包含取得缓冲区并将该位串写入缓冲区。该位串为SAS地址时被自缓冲区写入该数据结构,而缓冲区被释放。0015在一实施例中,该数据结构为指针,将该位串写入该数据结构是将该位串写入指针指向的一存储区。0016一言以蔽之,依据本发明,第一地址、配置文件和固件分离,更新或变更其中一个时不会干扰到另一个,但三者间存在调用或备份关系。在不同实
15、施例中,自存储模块调用第一地址的方式可实作为传值呼叫CALLBYVALUE或传址呼叫CALLBYREFERENCE。0017以上关于本发明内容及以下关于实施方式的说明仅用于示范与阐明本发明的精神与原理,并提供对本发明的权利要求范围更进一步的解释。附图说明0018图1为依据本发明一实施例存储控制装置的方块图。0019图2与图3为本发明不同实施例中供存储控制装置调用其第一地址的方法的流程图。0020组件标号说明00211存储控制装置002210存储控制模块002312存储模块0024126地址存储区0025127配置文件存储区0026128固件存储区具体实施方式0027以下在实施方式中叙述本发明的
16、详细特征,其内容足以使任何熟习相关技艺者了说明书CN104252429A3/4页6解本发明的技术内容并据以实施,且依据本说明书所揭露的内容、权利要求范围及图式,任何熟习相关技艺者可轻易地理解本发明相关的目的及优点。以下实施例为进一步说明本发明的诸面向,但非以任何面向限制本发明的范畴。0028请参见图1,其为依据本发明一实施例存储控制装置的方块图。如图1所示,存储控制装置1包含相耦接的存储控制模块10与存储模块12。在一实施例中,存储控制装置1为基于串行连接小型计算机系统接口SERIALATTACHEDSCSI,下称SAS,存储控制模块10如在服务器中做为存储交换或路由器,从而管理多个SAS设备
17、如硬盘的端口扩充器EXPANDER或倍增器PORTMULTIPLIER。存储控制模块10耦接于前述服务器的中央处理单元与多颗硬盘之间,用于控制中央处理单元与硬盘间、或硬盘彼此的数据传输。存储控制模块10也可以是基于串行高级技术附件SERIALADVANCEDTECHNOLOGYATTACHMENT,简称SATA的端口扩充器或倍增器,或服务器主板上控制中央处理单元与周边存储间数据传输的一个电路,如输出入控制器枢纽INPUT/OUTPUTCONTROLLERHUB、平台控制器枢纽PLATFORMCONTROLLERHUB或俗称的南桥芯片SOUTHBRIDGE。实务上所述电路也可能被整合至广义的中央
18、处理单元。0029在一实施例中,存储模块12存有存储控制模块10的固件与配置文件,而存储控制模块10的运作在概念上有动静两方面;动指存储控制模块10执行固件而具功能,而静指存储控制模块10加载或调用其配置文件。存储控制装置1于SAS上通讯所需、遵循SAS协议的总线地址通常记录于配置文件且随之被加载,但存储模块12另存有可用的第一地址,而配置文件可能包含的则称为第二地址。在一实施例中,存储控制模块10调用第一而非第二地址。具体而言,固件的部份程序代码、目标码OBJECTCODE或机器码MACHINECODE可为调用单元。存储控制模块10执行固件便会执行到调用单元,尤其例如正在初始化时,并因此自存
19、储模块12调用第一地址以利数据传输。0030本发明并不限制存储模块12如何存储。举例来说,若存储模块12具有某种低阶的文件系统LESYSTEM,则存取存储模块12者无须了解其硬件细节,只要譬如向存储模块12指定欲调用的档案或数据即可从存储模块12接收之。存储模块12也可事先被划分出多个存储区,每区各有目的,如用来存储特定信息。在一实施例中,如图1所示,存储模块12包含地址存储区126、配置文件存储区127与固件存储区128,分别用于存储前述第一地址、配置文件和固件。存储控制模块10执行位于存储区128的固件,即自存储区126调用第一地址、自存储区127调用配置文件,并在一般状况下忽略配置文件中
20、的第二地址。配置文件和固件可能需分别地不定期更新,其中前者较后者频繁。在一实施例中,新版的配置文件被写入存储区127时,存储区126中的第一地址不变,存储区128中的固件可能亦然。不同版本的配置文件的第二地址若有可以是相同或相异的默认或随机的SAS地址。当新版的固件被写入存储区128时,地址存储区126不受影响,配置文件存储区127可能亦然。在一实施例中,新版固件仍具有调用单元,其程序代码与旧版可能但不见得完全相同,但一样使存储控制模块10调用第一地址。0031存储控制模块10执行调用单元以调用第一地址的细节请参见图2,其为本发明的方法于一实施例的流程图。如图2所示,于步骤S21中,存储控制模
21、块10自存储模块12的存储区126读取一位串BITSTRING。视存储模块12的实作,存储控制模块10读取时可能不需要知道位串是来自存储区126,但可能需对位串重新排序以调解模块10与12间说明书CN104252429A4/4页7的端序ENDIANNESS差异。此时存储控制模块10尚不能确知所接收的内容,因此于步骤S23中判断该位串是否遵循SAS协议、在SAS上可用的一个地址。若是,则该位串是第一地址,存储控制模块10于步骤S25中将其写入某个数据结构。数据结构于步骤S29回传,存储控制模块10成功调用第一地址。由于调用单元为存储控制模块10所执行,实务上步骤S21之后位串或第一地址可能只是在
22、存储控制模块10内部的内存中不同函式FUNCTION、ROUTINE或METHOD私有的区段或域SCOPE间复制,最后呼叫调用单元的上层函式、线程THREAD或存储控制模块10的运算电路如处理器或微控制器被分配到写有第一地址的一个区段,是为该数据结构。在一实施例中,当位串不遵循SAS协议时,前述配置文件中的第二地址作为默认值于步骤S27被写入数据结构,使存储控制装置1或模块10仍有合理的总线地址。0032前述隐藏或不指定存储控制模块10内部存储器细节的调用方法可统称为传值呼叫CALLBYVALUE。当调用单元作为函式而其由存储控制模块10提供的参数包含用于回传、代表某内存地址的一个指针POIN
23、TER时,所述方法以传址呼叫CALLBYREFERENCE实作的一例请参见图3。如图3所示,于步骤S30中,存储控制模块10申请并取得某内存如存储控制模块10内部者或存储模块12的一个区段作为缓冲区。于步骤S32中,所读取的位串请参见第2图的步骤S21被存储控制模块10或其所呼叫的函式写入缓冲区。存储控制模块10于缓冲区判断位串是否遵循SAS协议、在SAS上可用的第一地址步骤S33。若是,则该位串于步骤S35自缓冲区被写入或复制至数据结构,也就是前述指针。具体而言,步骤S35后指针所指向的任意存储区存储着第一地址,而调用单元作为函式结束或回传时步骤S39存储控制模块10透过指针存取该存储区得以
24、调用第一地址。如同图2的实施例,当位串不遵循SAS协议时,配置文件存储区127中的第二地址作为默认值于步骤S37被写入指针所指向的存储区,使存储控制装置1或模块10仍有合理的总线地址。由于缓冲区仅为存储控制模块10于步骤S33的临时工作域,在步骤S35或S37某SAS地址被写入数据结构后,存储控制模块10于步骤S38释放缓冲区,使其空间能再利用。本发明并不限制步骤S38与S39的先后。0033虽则前述对图2或图3的说明提及调用单元,请注意实务上存储控制模块10的固件不一定是高度模块化的,在一实施例中调用单元的功能可能在另一例中散见于固件多处,甚至以存储控制模块10的硬件实作。0034综上所述,
25、在本发明中,固件供存储控制模块执行,存储控制模块接收回传值或回传址以调用存储模块另加存储的第一地址而进行数据传输,除非原应代表第一地址的读取自存储模块的位串不合理而改调用配置文件可能包含的第二地址。第一地址、配置文件与固件可被分别地变更,服务器中存储控制装置的制程、使用和维护得以被切割而简化。0035虽然本发明以前述的实施例揭露如上,然其并非用于限定本发明。在不脱离本发明的精神和范围内,所为之更动与润饰,均属本发明的权利要求范围。关于本发明所界定的保护范围请参考权利要求书。说明书CN104252429A1/3页8图1说明书附图CN104252429A2/3页9图2说明书附图CN104252429A3/3页10图3说明书附图CN104252429A10