TWI554891B - 存儲控制裝置與供其調用其位址的方法 - Google Patents
存儲控制裝置與供其調用其位址的方法 Download PDFInfo
- Publication number
- TWI554891B TWI554891B TW103130829A TW103130829A TWI554891B TW I554891 B TWI554891 B TW I554891B TW 103130829 A TW103130829 A TW 103130829A TW 103130829 A TW103130829 A TW 103130829A TW I554891 B TWI554891 B TW I554891B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- storage control
- control module
- bit string
- storage
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Description
本發明係關於匯流排技術,特別係關於存儲控制裝置調用其匯流排位址。
匯流排技術的限制使存儲伺服器中往往需配備有存儲控制裝置才能對眾多硬碟加以管理。存儲控制裝置在匯流排上具有位址。位址一般於存儲控制裝置的設定檔中給定並隨設定檔燒錄至存儲控制裝置,無論製程中或使用時皆無法單獨變更。給定與燒錄的程序繁瑣且非輕而易舉。舉例而言,欲透過存儲控制裝置的通用非同步收發器(Universal asynchronous receiver/transmitter,簡稱UART)燒錄設定檔除拆除伺服器的機箱別無他法。
鑑於上述,本發明旨在揭露數種存儲控制裝置與供其調用其位址的方法,以簡化匯流排位址的變更,減少產線人員和使用者的困擾或疏誤的可能性。
所揭露的一種存儲控制裝置包含存儲控制模組與存儲模組。存儲控制模組耦接於中央處理單元(central processing
unit,簡稱CPU)與多個硬碟之間。存儲模組耦接存儲控制模組並包含位址與韌體存儲區。位址存儲區用以存儲存儲控制模組的序列附接式小型電腦系統介面(Serial Attached SCSI,下稱SAS,SCSI係Small Computer System Interface的縮寫)的第一位址。韌體存儲區用以存儲存儲控制模組的韌體。韌體具有調用單元。存儲控制模組用以執行調用單元以調用第一位址以利資料傳輸。
在一實施例中,存儲模組更包含設定檔存儲區,其用以存儲存儲控制模組的設定檔。設定檔包含SAS的第二位址,但存儲控制模組自存儲模組調用第一位址以運作而不調用第二位址。在一實施例中,第二位址係隨機的或預設的SAS位址。
在一實施例中存儲控制模組執行調用單元時,存儲控制模組自位址儲存區讀取並判斷一位元串係否SAS位址。讀取該位元串包含選擇性地重新排序該位元串。該位元串係SAS位址時被寫入一資料結構,該資料結構則被回傳予存儲控制模組。在一實施例中,當該位元串非SAS位址時,第二位址被寫入該資料結構而回傳。在一實施例中,該資料結構係存儲控制模組提供的指針(pointer),將該位元串寫入該資料結構係將該位元串寫入指針指向的一存儲區。
在一實施例中存儲控制模組讀取該位元串時,存儲控制模組更取得緩衝區並將該位元串寫入緩衝區。該位元串係SAS位址時被自緩衝區寫入該資料結構,而緩衝區被釋放。在一實施例中,緩衝區位於存儲模組。
在一實施例中進行韌體更新時,新版韌體被寫入韌體存儲區而位址存儲區中的第一位址不變。新版韌體具有另一調用單元。存儲控制模組更用以執行該另一調用單元以調用第一位址。
在一實施例中,存儲控制模組係SAS或序列先進技術附接(Serial Advanced Technology Attachment)的硬碟端口擴充器(expander),或南橋晶片(southbridge)。
所揭露的另一種存儲控制裝置包含存儲控制模組與存儲模組。存儲控制模組耦接於中央處理單元與多個硬碟之間。存儲模組耦接存儲控制模組並存有設定檔、韌體以及SAS的第一位址。存儲控制模組用以執行韌體並調用設定檔以運作。設定檔包含SAS的第二位址,但存儲控制模組自存儲模組調用第一位址以利資料傳輸而不調用第二位址。在一實施例中,第二位址係隨機的或預設的SAS位址。
在一實施例中進行韌體更新時,新版韌體被寫入存儲模組而存儲模組中的第一位址不變。新版韌體具有調用單元。存儲控制模組更用以執行調用單元以調用第一位址。
所揭露的一種方法用以供一存儲控制裝置調用其第一位址。該存儲控制裝置與第一位址係基於SAS。該存儲控制裝置包含存儲控制模組與存儲模組。於所述方法中,存儲控制模組自存儲模組的位址存儲區讀取一位元串,並判斷該位元串係否SAS位址。位址存儲區用以存儲第一位址。讀取該位元串包含選
擇性地重新排序該位元串。位元串係SAS位址時被寫入一資料結構,該資料結構則被回傳予該存儲控制模組。
在一實施例中,存儲模組的設定檔存儲區用以存儲該存儲控制模組的設定檔。設定檔包含隨機的或預設的SAS的第二位址。當該位元串非SAS位址時,第二位址被寫入該資料結構而回傳。
在一實施例中,讀取該位元串更包含取得緩衝區並將該位元串寫入緩衝區。該位元串係SAS位址時被自緩衝區寫入該資料結構,而緩衝區被釋放。
在一實施例中,該資料結構係指針,將該位元串寫入該資料結構係將該位元串寫入指針指向的一存儲區。
一言以蔽之,依據本發明,第一位址、設定檔和韌體分離,更新或變更其中一個時不會干擾到另一個,但三者間存在調用或備份關係。在不同實施例中,自存儲模組調用第一位址的方式可實作為傳值呼叫(call-by-value)或傳址呼叫(call-by-reference)。
以上關於本發明內容及以下關於實施方式之說明係用以示範與闡明本發明之精神與原理,並提供對本發明之申請專利範圍更進一步之解釋。
1‧‧‧存儲控制裝置
10‧‧‧存儲控制模組
12‧‧‧存儲模組
126‧‧‧位址存儲區
127‧‧‧設定檔存儲區
128‧‧‧韌體存儲區
第1圖係依據本發明一實施例存儲控制裝置的方塊圖。
第2與3圖係本發明不同實施例中供存儲控制裝置調用其第一位址的方法的流程圖。
以下在實施方式中敘述本發明之詳細特徵,其內容足以使任何熟習相關技藝者瞭解本發明之技術內容並據以實施,且依據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下實施例係進一步說明本發明之諸面向,但非以任何面向限制本發明之範疇。
請參見第1圖,其係依據本發明一實施例存儲控制裝置的方塊圖。如第1圖所示,存儲控制裝置1包含相耦接的存儲控制模組10與存儲模組12。在一實施例中,存儲控制裝置1係基於序列附接式小型電腦系統介面(Serial Attached SCSI,下稱SAS),存儲控制模組10如在伺服器中做為存儲交換或路由器,從而管理多個SAS設備(如硬碟)的端口擴充器(expander)或倍增器(port multiplier)。存儲控制模組10耦接於前述伺服器的中央處理單元與多顆硬碟之間,用以控制中央處理單元與硬碟間、或硬碟彼此的數據傳輸。存儲控制模組10也可以是基於序列先進技術附接(Serial Advanced Technology Attachment,簡稱SATA)的端口擴充器或倍增器,或伺服器主機板上控制中央處理單元與周邊存儲間數據傳輸的一個電路,如輸出入控制器樞紐(Input/Output Controller Hub)、平台控制器樞紐(Platform
Controller Hub)或俗稱的南橋晶片(southbridge)。實務上所述電路亦可能被整合至廣義的中央處理單元。
在一實施例中,存儲模組12存有(存儲控制模組10的)韌體與設定檔,而存儲控制模組10的運作在概念上有動靜兩方面;動指存儲控制模組10執行韌體而具功能,而靜指存儲控制模組10載入或調用其設定檔。存儲控制裝置1於SAS上通訊所需、遵循SAS協定的匯流排位址通常記錄於設定檔且隨之被載入,但存儲模組12另存有可用的第一位址,而設定檔可能包含的則稱為第二位址。在一實施例中,存儲控制模組10調用第一而非第二位址。具體而言,韌體的部份程式碼、目標碼(object code)或機器碼(machine code)可為調用單元。存儲控制模組10執行韌體便會執行到調用單元,尤其例如正在初始化時,並因此自存儲模組12調用第一位址以利資料傳輸。
本發明並不限制存儲模組12如何存儲。舉例來說,若存儲模組12具有某種低階的檔案系統(file system),則存取存儲模組12者無須了解其硬體細節,只要譬如向存儲模組12指定欲調用的檔案或資料即可從存儲模組12接收之。存儲模組12亦可事先被劃分出多個存儲區,每區各有目的,如用來存儲特定資訊。在一實施例中,如第1圖所示,存儲模組12包含位址存儲區126、設定檔存儲區127與韌體存儲區128,分別用以存儲前述第一位址、設定檔和韌體。存儲控制模組10執行位於存儲區128的韌體,即自存儲區126調用第一位址、自存儲區127調用設定
檔,並在一般狀況下忽略設定檔中的第二位址。設定檔和韌體可能需分別地不定期更新,其中前者較後者頻繁。在一實施例中,新版的設定檔被寫入存儲區127時,存儲區126中的第一位址不變,存儲區128中的韌體可能亦然。不同版本的設定檔的第二位址(若有)可以是相同或相異的預設或隨機的SAS位址。當新版的韌體被寫入存儲區128時,位址存儲區126不受影響,設定檔存儲區127可能亦然。在一實施例中,新版韌體仍具有調用單元,其程式碼與舊版可能但不見得完全相同,但一樣使存儲控制模組10調用第一位址。
存儲控制模組10(執行調用單元以)調用第一位址的細節請參見第2圖,其係本發明的方法於一實施例的流程圖。如第2圖所示,於步驟S21中,存儲控制模組10自存儲模組12的存儲區126讀取一位元串(bit string)。視存儲模組12的實作,存儲控制模組10讀取時可能不需要知道位元串係來自存儲區126,但可能需對位元串重新排序以調解模組10與12間的端序(endianness)差異。此時存儲控制模組10尚不能確知所接收的內容,因此於步驟S23中判斷該位元串係否遵循SAS協定、在SAS上可用的一個位址。若是,則該位元串是第一位址,存儲控制模組10於步驟S25中將其寫入某個資料結構。資料結構於步驟S29回傳,存儲控制模組10成功調用第一位址。由於調用單元係存儲控制模組10所執行,實務上步驟S21之後位元串或第一位址可能只是在存儲控制模組10內部的記憶體中不同函式
(function、routine或method)私有的區段或域(scope)間複製,最後呼叫調用單元的上層函式、執行緒(thread)或存儲控制模組10的運算電路(如處理器或微控制器)被分配到寫有第一位址的一個區段,是為該資料結構。在一實施例中,當位元串不遵循SAS協定時,前述設定檔中的第二位址作為預設值於步驟S27被寫入資料結構,使存儲控制裝置1或模組10仍有合理的匯流排位址。
前述隱藏或不指定存儲控制模組10內部記憶體細節的調用方法可統稱為傳值呼叫(call-by-value)。當調用單元作為函式而其由存儲控制模組10提供的參數包含用以回傳、代表某記憶體位址的一個指針(pointer)時,所述方法以傳址呼叫(call-by-reference)實作的一例請參見第3圖。如第3圖所示,於步驟S30中,存儲控制模組10申請並取得某記憶體(如存儲控制模組10內部者或存儲模組12)的一個區段作為緩衝區。於步驟S32中,所讀取的位元串(請參見第2圖的步驟S21)被存儲控制模組10或其所呼叫的函式寫入緩衝區。存儲控制模組10於緩衝區判斷位元串係否遵循SAS協定、在SAS上可用的第一位址(步驟S33)。若是,則該位元串於步驟S35自緩衝區被寫入或複製至資料結構,也就是前述指針。具體而言,步驟S35後指針所指向的任意存儲區存儲著第一位址,而調用單元作為函式結束或回傳時(步驟S39)存儲控制模組10透過指針存取該存儲區得以調用第一位址。如同第2圖的實施例,當位元串不遵循SAS
協定時,設定檔存儲區127中的第二位址作為預設值於步驟S37被寫入指針所指向的存儲區,使存儲控制裝置1或模組10仍有合理的匯流排位址。由於緩衝區僅係存儲控制模組10於步驟S33的臨時工作域,在步驟S35或S37某SAS位址被寫入資料結構後,存儲控制模組10於步驟S38釋放緩衝區,使其空間能再利用。本發明並不限制步驟S38與S39的先後。
雖則前述對第2或3圖的說明提及調用單元,請注意實務上存儲控制模組10的韌體不一定是高度模組化的,在一實施例中調用單元的功能可能在另一例中散見於韌體多處,甚至以存儲控制模組10的硬體實作。
綜上所述,在本發明中,韌體供存儲控制模組執行,存儲控制模組接收回傳值或回傳址以調用存儲模組另加存儲的第一位址而進行資料傳輸,除非原應代表第一位址的讀取自存儲模組的位元串不合理而改調用設定檔可能包含的第二位址。第一位址、設定檔與韌體可被分別地變更,伺服器中存儲控制裝置的製程、使用和維護得以被切割而簡化。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
Claims (12)
- 一種存儲控制裝置,包含:一存儲控制模組,耦接於一中央處理單元與多個硬碟之間;以及一存儲模組,耦接該存儲控制模組,包含:一位址存儲區,用以存儲該存儲控制模組的序列附接式小型電腦系統介面(Serial Attached SCSI)的一第一位址;以及一韌體存儲區,用以存儲該存儲控制模組的一韌體;其中該韌體具有一調用單元,該存儲控制模組用以執行該調用單元以調用該第一位址以利資料傳輸。
- 如請求項1所述的存儲控制裝置,其中當對該韌體進行更新時,一新版韌體被寫入該韌體存儲區而該位址存儲區中的該第一位址不變,該新版韌體具有另一調用單元,該存儲控制模組更用以執行該另一調用單元以調用該第一位址。
- 如請求項1所述的存儲控制裝置,其中當該存儲控制模組執行該調用單元時,該存儲控制模組自該位址儲存區讀取一位元串,讀取該位元串包含選擇性地重新排序該位元串,該存儲控制模組並判斷該位元串係否序列附接式小型電腦系統介面的位址,且當該位元串係序列附接式小型電腦系統介面的位址時,該位元串被寫入一資料結構,該資料結構被回傳予該存儲控制模組。
- 如請求項3所述的存儲控制裝置,其中該存儲模組更包含一設定檔存儲區,該設定檔存儲區用以存儲該存儲控制模組的一設定檔,該設定檔包含隨機的或預設的序列附接式小型電腦系統介面的一第二位址,且當該位元串非序列附接式小型電腦系統介面的位址時,該第二位址被寫入該資料結構,而該資料結構被回傳予該存儲控制模組。
- 如請求項3所述的存儲控制裝置,其中當該存儲控制模組讀取該位元串時,該存儲控制模組更取得一緩衝區,並將該位元串寫入該緩衝區,而當該位元串係序列附接式小型電腦系統介面的位址時,該位元串自該緩衝區被寫入該資料結構,該緩衝區被釋放。
- 如請求項3所述的存儲控制裝置,其中該存儲控制模組係南橋晶片、序列附接式小型電腦系統介面的硬碟端口擴充器(expander)或序列先進技術附接(Serial Advanced Technology Attachment)的硬碟端口擴充器。
- 一種存儲控制裝置,包含:一存儲模組,存有一設定檔、一韌體以及序列附接式小型電腦系統介面(Serial Attached SCSI)的一第一位址;以及一存儲控制模組,耦接該存儲模組且耦接於一中央處理單元與多個硬碟之間,用以執行該韌體並調用該設定檔以運作;其中該設定檔包含序列附接式小型電腦系統介面的一第 二位址,該存儲控制模組自該存儲模組調用該第一位址以利資料傳輸而不調用該第二位址。
- 如請求項7所述的存儲控制裝置,其中該第二位址係隨機的或預設的序列附接式小型電腦系統介面的位址。
- 一種供一存儲控制裝置調用該存儲控制裝置的一第一位址以利資料傳輸的方法,該存儲控制裝置包含一存儲控制模組與一存儲模組,所述方法包含:該存儲控制模組自該存儲模組的一位址存儲區讀取一位元串,該位址存儲區用以存儲該第一位址,該存儲控制裝置與該第一位址係基於序列附接式小型電腦系統介面(Serial Attached SCSI);以及該存儲控制模組判斷該位元串係否序列附接式小型電腦系統介面的位址;其中當該位元串係序列附接式小型電腦系統介面的位址時,該位元串被寫入一資料結構,該資料結構被回傳予該存儲控制模組;其中讀取該位元串包含選擇性地重新排序該位元串。
- 如請求項9所述的方法,其中該存儲模組的一設定檔存儲區用以存儲該存儲控制模組的一設定檔,該設定檔包含隨機的或預設的序列附接式小型電腦系統介面的一第二位址,且當該位元串非序列附接式小型電腦系統介面的位址時,該第二位址被寫入該資料結構,而該資料結構被回傳予該存儲控制 模組。
- 如請求項9所述的方法,其中讀取該位元串更包含:取得一緩衝區;以及將該位元串寫入該緩衝區;其中當該位元串係序列附接式小型電腦系統介面的位址時,該位元串自該緩衝區被寫入該資料結構,且該緩衝區被釋放。
- 如請求項9所述的方法,其中該資料結構係一指針,將該位元串寫入該資料結構係將該位元串寫入該指針指向的一存儲區。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103130829A TWI554891B (zh) | 2014-09-05 | 2014-09-05 | 存儲控制裝置與供其調用其位址的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103130829A TWI554891B (zh) | 2014-09-05 | 2014-09-05 | 存儲控制裝置與供其調用其位址的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201610694A TW201610694A (zh) | 2016-03-16 |
TWI554891B true TWI554891B (zh) | 2016-10-21 |
Family
ID=56085155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103130829A TWI554891B (zh) | 2014-09-05 | 2014-09-05 | 存儲控制裝置與供其調用其位址的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI554891B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584853A (zh) * | 2003-08-22 | 2005-02-23 | 晶豪科技股份有限公司 | 同步记忆体的时序控制方法 |
CN1719537B (zh) * | 2004-07-05 | 2010-05-05 | 万国电脑股份有限公司 | 用于对存储媒体的卷信息进行分析的存储控制方法 |
-
2014
- 2014-09-05 TW TW103130829A patent/TWI554891B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584853A (zh) * | 2003-08-22 | 2005-02-23 | 晶豪科技股份有限公司 | 同步记忆体的时序控制方法 |
CN1719537B (zh) * | 2004-07-05 | 2010-05-05 | 万国电脑股份有限公司 | 用于对存储媒体的卷信息进行分析的存储控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201610694A (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370835B2 (en) | Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device | |
CN101650660B (zh) | 从中央存储装置引导计算机*** | |
US9043777B2 (en) | Transferring files to a baseboard management controller (‘bmc’) in a computing system | |
KR101301840B1 (ko) | 비휘발성 메모리 장치의 데이터 처리 방법 | |
CN104238963A (zh) | 一种数据存储方法、存储装置及存储*** | |
JP2011134293A (ja) | データ制御装置及びプログラム | |
CN107463369A (zh) | 一种虚拟桌面的接入设备控制方法与装置 | |
KR20140147017A (ko) | 라이트 백 캐싱 환경에서 예상하지 못한 셧다운으로부터 복구하기 위한 시스템 및 방법 | |
US9411513B2 (en) | Sensitive data file attribute | |
US10831712B2 (en) | Identifying and correlating physical devices across disconnected device stacks | |
US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
US20230384979A1 (en) | Data processing method, apparatus, and system | |
CN102804137B (zh) | 控制对软件构件状态的访问 | |
KR20150069311A (ko) | 차량 데이터 제어 시스템 및 제어 방법 | |
KR20060060668A (ko) | 저장소 디바이스를 제어하는 시스템, 장치 및 방법 | |
US9645946B2 (en) | Encryption for solid state drives (SSDs) | |
US11176089B2 (en) | Systems and methods for implementing dynamic file systems | |
US9588918B2 (en) | Storage control devices and method therefor to invoke address thereof | |
TWI554891B (zh) | 存儲控制裝置與供其調用其位址的方法 | |
US20170039110A1 (en) | Computer | |
CN103838647A (zh) | 一种基于快照重映射的数据状态转换的方法及*** | |
KR102145358B1 (ko) | 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 | |
US8977814B1 (en) | Information lifecycle management for binding content | |
US20160259572A1 (en) | Storage system and storage control method | |
US20180074713A1 (en) | Tagging in a storage device |