TWI614674B - 自動分層儲存系統及方法 - Google Patents
自動分層儲存系統及方法 Download PDFInfo
- Publication number
- TWI614674B TWI614674B TW106133863A TW106133863A TWI614674B TW I614674 B TWI614674 B TW I614674B TW 106133863 A TW106133863 A TW 106133863A TW 106133863 A TW106133863 A TW 106133863A TW I614674 B TWI614674 B TW I614674B
- Authority
- TW
- Taiwan
- Prior art keywords
- configuration
- data
- target
- utilization
- blocks
- Prior art date
Links
Classifications
-
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- 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/0614—Improving the reliability of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種自動分層儲存系統及方法。此系統包括控制器及依效能區分為至少二階層的多個儲存設備。此方法針對應用於資料重新配置功能的多個系統組態,分別由各個系統組態對應的演算法分析器來對各個儲存設備中的資料區塊進行分析,以決定各個資料區塊重新配置後的目標區塊,並以所決定的目標區塊產生預估的資料配置規劃。之後,由模擬引擎對資料配置規劃中的目標區塊依照使用頻率進行分類,以產生利用率圖,並對所有利用率圖進行評估,找出效能提升最多的系統組態作為最佳組態。最後,由資料搬移器依照最佳組態搬移儲存設備中的資料區塊。
Description
本發明是有關於一種儲存方法及裝置,且特別是有關於一種自動分層儲存系統及方法。
自動分層儲存系統(Auto Tiering)的資料重新配置優化(data relocation)功能,必須在實際執行資料重新配置的程序之後,才能得知優化的結果,無法事先預估。倘若有一組以上的候選組態能應用於自動分層儲存系統,傳統作法只能反覆地將所有組態應用於資料重新配置,等待資料配置完成,才能獲得該組態下得到的效能提升,然後再將同樣的程序應用於下一個組態,如此周而復始,直到得知所有候選組態能帶來的系統提升,最後才選出最佳組態。
然而,執行資料重新配置的過程需要相當可觀的時間,少輒數小時多輒數天,透過如此反覆的試誤(try and error)流程來尋求最佳解,不僅效率不彰,也影響了系統的表現。
本發明提供一種自動分層儲存系統及方法,可在避免耗時的資料重新配置下,預先找出系統最佳組態,以進行資料搬移。
本發明的自動分層儲存方法,適用於具有多個儲存設備及控制器的儲存系統,這些儲存設備依效能區分為至少二階層。所述方法包括下列步驟:控制器從應用於資料重新配置功能的多個系統組態中選擇一個系統組態;控制器執行所選擇系統組態對應的演算法分析器,對各個儲存設備中的多個資料區塊進行分析,以決定各個資料區塊重新配置後的目標區塊,並以所決定的目標區塊產生預估的資料配置規劃;控制器執行模擬引擎,對資料配置規劃中的目標區塊依照使用頻率進行分類,以產生利用率圖;控制器重複上述步驟,以產生各個系統組態對應的資料配置規劃及利用率圖;控制器對利用率圖進行評估,找出效能提升最多的系統組態作為最佳組態;以及控制器執行資料搬移器,依照最佳組態搬移儲存設備中的資料區塊。
在本發明的一實施例中,上述決定各個資料區塊重新配置後的目標區塊的步驟包括將各個資料區塊分層提升或分層降級至目標區塊,其中各個資料區塊移動後的階層包括鄰近階層或非鄰近階層。
在本發明的一實施例中,上述的方法更包括由控制器執行各個演算法分析器,以在儲存系統被存取時,記錄所需的輸入輸出(I/O)特徵,並使用此些輸入輸出特徵分析各個儲存設備的資料區塊,其中所述的輸入輸出特徵包括存取次數、讀取次數、寫入次數、隨機存取輸入輸出次數、循序存取輸入輸出次數及新配置資料區塊的次數其中之一或其組合。
在本發明的一實施例中,上述控制器執行模擬引擎,對資料配置規劃中的目標區塊依照使用頻率進行分類,以產生利用率圖的步驟包括依據各個目標區塊的使用頻率,決定目標區塊的分類,以及依據各個目標區塊的分類及其位於各個階層中的位置,建構所述的利用率圖。
在本發明的一實施例中,上述控制器對利用率圖進行評估,以找出所述多個系統組態中的最佳組態的步驟包括針對各個利用率圖,找出位於效能最佳的階層中的所述目標區塊,計算所屬分類的使用頻率大於預設頻率的目標區塊的數目佔所有目標區塊的數目的比例,以及選擇此比例最高的利用率圖對應的系統組態作為最佳組態。
在本發明的一實施例中,上述控制器對利用率圖進行評估,以找出所述多個系統組態中的最佳組態的步驟包括依據各個目標區塊的使用頻率及所儲存資料的重要性給定對應的分數,並針對各個利用率圖,計算位於效能最佳階層中的目標區塊的分數總和,以及選擇分數總和最高的利用率圖對應的系統組態作為最佳組態。
在本發明的一實施例中,上述控制器對利用率圖進行評估,以找出所述多個系統組態中的最佳組態的步驟包括將各個利用率圖中目標區塊的配置與預設配置目標比較,以找出與配置目標匹配的利用率圖,並將此利用率圖對應的系統組態作為所述最佳組態,其中所述預設配置目標包括最大吞吐量(throughput)配置或分層平均配置。
本發明的自動分層儲存系統包括多個儲存設備、儲存裝置及控制器。所述的儲存設備依效能區分為至少二階層。所述的儲存裝置用以儲存多個模組。所述控制器耦接各個儲存設備及儲存裝置,用以載入並執行儲存裝置中的所述模組。所述模組包括多個演算法分析器、模擬引擎及資料搬移器。其中,演算法分析器分別對應應用於資料重新配置功能的多個系統組態,用以對各個儲存設備中的多個資料區塊進行分析,以決定各個資料區塊重新配置後的目標區塊,並以所決定的目標區塊產生預估的資料配置規劃。模擬引擎對各個演算法分析器所產生的資料配置規劃中的目標區塊依照使用頻率進行分類,以產生利用率圖,並對各個系統組態對應的利用率圖進行評估,以決定系統組態中的最佳組態。資料搬移器依照模擬引擎所決定的最佳組態搬移儲存設備中的資料區塊。
基於上述,本發明的自動分層儲存系統及方法針對系統的不同組態,使用其演算法預先模擬出資料重新配置的結果,並依照模擬結果中各個資料區塊被設置的位置來建構利用率圖,據以評估出能帶來最多效能提升的演算法,最終選定此演算法對應的組態而交由資料搬移器進行資料重新配置。藉此,可減少資料重新配置所需的時間。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明是由對應於不同系統組態的演算法分析器(algorithm analyzer)分別在儲存系統存取時,記錄所需的輸入輸出特徵(I/O characteristics)。等到模擬程序啟動時,演算法分析器即可根據先前收集的資料,對所有資料區塊加以分析,以決定其重新配置的目標區塊,並產生新的資料配置規劃。模擬引擎則會針對這些資料配置規劃,計算其附屬的利用率圖(exploitation map),並對所有利用率圖進行評比,以決定能帶來最多效能提升的演算法作為系統最佳組態。最終,將選定的組態交由資料搬移器(Data Migrator),開始執行資料重新配置優化程序。藉此,本發明能夠在避免耗時的資料重新配置下,預先找出系統最佳組態,進而優化資料分層儲存的效能。
圖1是依照本發明一實施例所繪示之自動分層儲存系統的方塊圖。請參照圖1,本實施例的自動分層儲存系統10例如是具有運算能力及連網功能的網路附加儲存(Network Attached Storage,NAS)伺服器,或是其他儲存擴充設備,例如檔案伺服器、資料庫伺服器、應用程式伺服器、工作站或個人電腦。自動分層儲存系統10包括多個儲存設備12、儲存裝置14及控制器16,其功能分述如下。
儲存設備12例如是固態硬碟(Solid State Disk,SSD),或是採用先進技術附接(Advanced Technology Attachment,ATA)、序列ATA (Serial ATA,SATA)、小型電腦系統介面(Small Computer System Interface)、序列式SCSI(Serial Attached SCSI,SAS)等資料傳輸介面的硬碟(Hard Disk Drive,HDD)。其中,固態硬碟擁有高吞吐量與低延遲的優勢,有助於需要高效能且穩定傳輸的應用。傳統硬碟則具備成本低的優勢,可儲存龐大的資料。本實施例的儲存系統10採用自動分層儲存技術,將多個儲存設備12依照其效能區分為至少兩個階層,例如包括固態硬碟層(SSD層)及傳統硬碟層(HDD層)兩個階層,或是包括固態硬碟層(SSD層)、序列式SCSI硬碟層(SAS層)及傳統硬碟層(HDD層)三個階層,這可使得儲存系統10同時享有高速固態硬碟與大容量傳統硬碟的雙重優勢。
儲存裝置14例如是任何型態的固定式或可移動式隨機存取記憶體、唯讀記憶體、快閃記憶體、硬體或類似元件或上述元件的組合。在本實施例中,儲存裝置14用以記錄多個演算法分析器142、模擬引擎144及資料搬移器146等軟體模組,這些軟體模組例如是儲存在儲存裝置14中的電腦程式。
控制器16例如是中央處理單元(Central Processing Unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置或這些裝置的組合。控制器16耦接各個儲存設備12及儲存裝置14,其可從儲存裝置14載入並執行演算法分析器142、模擬引擎144及資料搬移器146的電腦程式,從而實現本申請實施例的自動分層儲存方法。
圖2是依照本發明一實施例所繪示之自動分層儲存系統的軟體架構示意圖。請參照圖2,本實施例繪示圖1的儲存系統10的軟體架構,其中多個演算法分析器142例如分別對應於不同的系統組態,其會採用不同的演算法對儲存設備12中的資料區塊進行重新配置,以產生與之對應的資料配置規劃。模擬引擎144例如會對儲存設備12當下的資料區塊分布產生利用率圖,也會針對所有演算法分析器所產生的資料配置規劃,計算其中重新配置後的資料區塊分布以產生利用率圖,然後對所有利用率圖進行評比,以指定能帶來最多效能提升的演算法為系統最佳組態。最終,資料搬移器146會根據模擬引擎144所選定的最佳組態,開始執行資料重新配置優化程序。圖2亦繪示本實施例的分層儲存架構,其將儲存設備12依照效能區分為固態硬碟層(SSD層)12a、序列式SCSI硬碟層(SAS層)12b及傳統硬碟層(HDD層)12c等三個階層。
圖3是依照本發明一實施例所繪示之自動分層儲存方法的流程圖。請同時參照圖1及圖3,本實施例的方法適用於上述的儲存系統10,以下即搭配儲存系統10的各項裝置及元件說明本實施例之自動分層儲存方法的詳細步驟。
首先,由控制器16從應用於資料重新配置功能的多個系統組態中選擇一個系統組態(步驟S302)。其中,各個系統組態例如包括其對應的資料重新配置(data relocation)演算法以及其所適用的系統架構,所述的系統架構包括儲存設備12的分層數目及各分層的大小、規格等,在此不設限。
接著,由控制器16執行所選擇的系統組態對應的演算法分析器142,對各個儲存設備12中的多個資料區塊進行分析,以決定各個資料區塊重新配置後的目標區塊,並以所決定的目標區塊產生預估的資料配置規劃(步驟S304)。
詳言之,各個演算法分析器142例如會在儲存系統10被存取時,記錄所需的輸入輸出(I/O)特徵,其中包括存取次數、讀取次數、寫入次數、隨機存取輸入輸出次數、循序存取輸入輸出次數及新配置資料區塊的次數其中之一或其組合。演算法分析器142即根據這些預先收集的統計資料,對各個儲存設備12的資料區塊進行分析,以決定其重新配置的目標區塊。其中,所述的重新配置包括分層提升(promotion)或分層降級(demotion),其中資料區塊的移動距離並不侷限於鄰近的分層。意即,資料區塊移動後的階層可以是鄰近階層,也可以是非鄰近階層。以圖2為例,原先位於HDD層12a的資料區塊可移動到鄰近的SAS層12b,也可以移動到非鄰近的SDD層12c。
之後,控制器16執行模擬引擎144,對資料配置規劃中的目標區塊依照使用頻率進行分類,以產生利用率圖(步驟S306)。其中,模擬引擎144例如會先對儲存設備12當下的資料分布產生利用率圖,再對所有演算法分析器142所產生的資料配置規劃,計算其中重新配置後的資料區塊分布,以產生利用率圖。
詳言之,模擬引擎144產生利用率圖的方法例如是依據各個資料區塊(即目標區塊)的使用頻率,決定資料區塊的分類,並依據各個資料區塊的分類及其位於各個階層中的位置,建構利用率圖。
在產生利用率圖之後,控制器16會判斷是否還有其他候選的系統組態尚未處理(步驟S308)。其中,若控制器16判斷仍有系統組態尚未處理,則流程將回到步驟S302,由控制器16重新選擇另一個系統組態,以產生其所對應的資料配置規劃及利用率圖。反之,若控制器16判斷所有的系統組態均已處理,則繼續執行模擬引擎144,對所有的利用率圖進行評估,以找出效能提升最多的系統組態作為最佳組態(步驟S310)。其中,模擬引擎144例如會依據使用頻率最高或是分數最高的資料區塊是否落在最高階層(例如SSD層)或是這些資料區塊落在最高階層的比例,來選擇最佳組態。模擬引擎144也可依據預先設定配置目標,計算各個利用率圖與配置目標的匹配程度,來選擇最佳組態。
詳言之,在一實施例中,模擬引擎144會針對各個利用率圖,找出位於效能最佳階層中的目標區塊,並計算所屬分類的使用頻率大於預設頻率的目標區塊的數目佔此階層中所有目標區塊的數目的比例,從而選擇比例最高的利用率圖對應的系統組態作為最佳組態。在另一實施例中,模擬引擎144則會依據各個目標區塊的使用頻率及其所儲存資料的重要性及/或其他參數來給定對應的分數,然後針對各個利用率圖,計算位於效能最佳階層中的所有目標區塊的分數的總和,從而選擇此分數總和最高的利用率圖對應的系統組態作為最佳組態。在又一實施例中,模擬引擎144會依據由儲存系統10預設的或是由使用者設定的配置目標,將各個利用率圖中目標區塊的配置與此預設配置目標比較,以找出與配置目標最匹配的利用率圖,並將此利用率圖對應的系統組態作為最佳組態。其中,所述的預設配置目標包括最大吞吐量(throughput)配置或分層平均配置,在此不設限。
舉例來說,圖4A至圖4C是依照本發明一實施例所繪示之利用率圖的範例。請先參照圖4A,模擬引擎144例如是將儲存設備12的所有資料區塊依照使用頻率的百分位數劃分為十大類,再依照各類資料區塊被設置的位置來建構利用率圖42。在利用率圖42中,頻繁使用的資料區塊(包括使用頻率百分位數介於90-100、80-90、70-80、60-70的資料區塊)皆位在效能最低的階層(即HDD層),由此可判定儲存系統10仍有改善的空間。
請參照圖4B,其繪示儲存設備12的資料區塊經由演算法A重新配置後,由模擬引擎144產生的利用率圖44。在利用率圖44中,頻繁使用的資料區塊(包括使用頻率百分位數介於90-100、80-90、70-80、60-70的資料區塊)已由HDD層提升至SAS層,由此可預見儲存系統10的效能已有所提升。
請參照圖4C,其繪示儲存設備12的資料區塊經由演算法B重新配置後,由模擬引擎144產生的利用率圖46。在利用率圖46中,不僅頻繁使用的資料區塊(包括使用頻率百分位數介於90-100、80-90、70-80、60-70的資料區塊)直接由HDD層提升至SSD層,最少存取的資料區塊(包括使用頻率百分位數介於0-10、10-20)的資料區塊也降階至HDD層。由此可知,儲存系統10的效能有更大幅度的提升。最終,模擬引擎144會在演算法A及演算法B中選擇一者作為最佳組態,並將所選定的組態交由資料搬移器146,開始執行資料重新配置優化程序。
舉例來說,模擬引擎144例如會分別針對利用率圖44及46,計算其中的最高階層(即SSD層)中使用頻率最高的資料區塊(例如包括使用頻率百分位數介於90-100及80-90的資料區塊)所佔的比例,據此選擇所佔比例最高的利用率圖46對應(比例以所佔比例最高者以0.5為例)的系統組態作為最佳組態,且不以0.5為限,亦可為0.4、0.6、0.8或其他比例。
回到圖3的流程,待模擬引擎144找出最佳組態後,即由控制器16將此最佳組態帶入資料搬移器146,而由資料搬移器146依照此最佳組態搬移儲存設備12中的資料區塊(步驟S312)。
藉由上述方法,本實施例的儲存系統10即可在避免耗時的資料重新配置下,找出系統最佳組態,進而提升系統效能。
需說明的是,在另一實施例中,本實施例的儲存系統10還可先由各個演算法分析器142產生資料配置規劃,再啟動模擬引擎146分別針對這些資料配置規劃產生對應的利用率圖,進而藉由評估利用率圖以找出最佳組態。
詳言之,圖5是依照本發明一實施例所繪示之自動分層儲存方法的流程圖。請同時參照圖1及圖5,本實施例的方法適用於上述的儲存系統10,以下即搭配儲存系統10的各項裝置及元件說明本實施例之自動分層儲存方法的詳細步驟。
首先,由控制器16從應用於資料重新配置功能的多個系統組態中選擇一個系統組態(步驟S502)。接著,由控制器16執行所選擇的系統組態對應的演算法分析器142,對各個儲存設備12中的多個資料區塊進行分析,以決定各個資料區塊重新配置後的目標區塊,並以所決定的目標區塊產生預估的資料配置規劃(步驟S504)。上述步驟S502~S504的實施方式與前述實施例中的步驟S302~S304相同或相似,故其詳細內容在此不再贅述。
與前述實施例不同的是,在本實施例中,控制器16會在每個演算法分析器142產生預估的資料配置規劃之後,即判斷是否還有其他候選的系統組態尚未處理(步驟S506)。若還有未處理的系統組態,則流程會回到步驟S502,由控制器16重新選擇另一個系統組態,以產生其所對應的資料配置規劃。反之,若控制器16判斷所有的系統組態均已處理,則會執行模擬引擎144,以計算當前儲存系統10的利用率圖(步驟S508),例如圖4A所示的利用率圖42。
接著,模擬引擎144會從演算法分析器142所產生的各個資料配置規劃,對其中的目標區塊依照使用頻率進行分類,以產生利用率圖(步驟S510)。在產生利用率圖之後,控制器16會判斷是否還有未處理的資料配置規劃(步驟S512)。若控制器16判斷仍有資料配置規劃尚未處理,則流程將回到步驟S510,由模擬引擎144對另一個資料配置規劃中的目標區塊依照使用頻率進行分類,以產生利用率圖。反之,若控制器16判斷所有的資料配置規劃均已處理,則繼續執行模擬引擎144,對所有的利用率圖進行評估,以找出效能提升最多的系統組態作為最佳組態(步驟S514)。最後,控制器16會將此最佳組態帶入資料搬移器146,而由資料搬移器146依照此最佳組態搬移儲存設備12中的資料區塊(步驟S516)。上述步驟S514~S516的實施方式與前述實施例中的步驟S310~S312相同或相似,故其詳細內容在此不再贅述。
藉由上述方法,本實施例的儲存系統10同樣可在避免耗時的資料重新配置下,找出系統最佳組態,進而提升系統效能。
綜上所述,本發明的自動分層儲存系統及方法,藉由模擬不同組態下的資料重新配置結果(即資料配置規劃),並針對所模擬配置結果中各個資料區塊的分類及被設置的位置來建構利用率圖,從而藉由評比利用率圖來選出最佳組態。藉此,本發明實施例可在避免耗時的資料重新配置下,預先找出系統最佳組態,從而優化資料重新配置的效能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧自動分層儲存系統
12‧‧‧儲存設備
12a‧‧‧SSD層
12b‧‧‧SAS層
12c‧‧‧HDD層
14‧‧‧儲存裝置
142‧‧‧演算法分析器
144‧‧‧模擬引擎
146‧‧‧資料搬移器
16‧‧‧控制器
42、44、46‧‧‧利用率圖
S302~S312‧‧‧本發明一實施例之自動分層儲存方法的步驟
S502~S516‧‧‧本發明一實施例之自動分層儲存方法的步驟
12‧‧‧儲存設備
12a‧‧‧SSD層
12b‧‧‧SAS層
12c‧‧‧HDD層
14‧‧‧儲存裝置
142‧‧‧演算法分析器
144‧‧‧模擬引擎
146‧‧‧資料搬移器
16‧‧‧控制器
42、44、46‧‧‧利用率圖
S302~S312‧‧‧本發明一實施例之自動分層儲存方法的步驟
S502~S516‧‧‧本發明一實施例之自動分層儲存方法的步驟
圖1是依照本發明一實施例所繪示之自動分層儲存系統的方塊圖。 圖2是依照本發明一實施例所繪示之自動分層儲存系統的軟體架構示意圖。 圖3是依照本發明一實施例所繪示之自動分層儲存方法的流程圖。 圖4A至圖4C是依照本發明一實施例所繪示之利用率圖的範例。 圖5是依照本發明一實施例所繪示之自動分層儲存方法的流程圖。
S302~S312‧‧‧本發明一實施例之自動分層儲存方法的步驟
Claims (14)
- 一種自動分層儲存方法,適用於具有多個儲存設備及控制器的儲存系統,所述多個儲存設備依效能區分為至少二階層,所述方法包括下列步驟: 所述控制器從應用於資料重新配置功能的多個系統組態中選擇一個系統組態; 所述控制器執行所選擇的所述系統組態對應的演算法分析器,對各所述儲存設備中的多個資料區塊進行分析,以決定各所述資料區塊重新配置後的目標區塊,並以所決定的所述目標區塊產生預估的資料配置規劃; 所述控制器執行模擬引擎,對所述資料配置規劃中的所述目標區塊依照使用頻率進行分類,以產生利用率圖; 所述控制器重複上述步驟,以產生各所述系統組態對應的所述資料配置規劃及所述利用率圖; 所述控制器對所述利用率圖進行評估,找出效能提升最多的所述系統組態作為最佳組態;以及 所述控制器執行資料搬移器,以依照所述最佳組態搬移所述儲存設備中的所述資料區塊。
- 如申請專利範圍第1項所述的方法,其中決定各所述資料區塊重新配置後的所述目標區塊的步驟包括: 分層提升或分層降級各所述資料區塊至所述目標區塊,其中各所述資料區塊移動後的所述階層包括鄰近階層或非鄰近階層。
- 如申請專利範圍第1項所述的方法,更包括: 所述控制器執行各所述演算法分析器,以在所述儲存系統被存取時,記錄所需的輸入輸出(I/O)特徵,並使用所述輸入輸出特徵分析各所述儲存設備的所述資料區塊,其中所述輸入輸出特徵包括存取次數、讀取次數、寫入次數、隨機存取輸入輸出次數、循序存取輸入輸出次數及新配置資料區塊的次數其中之一或其組合。
- 如申請專利範圍第1項所述的方法,其中所述控制器執行所述模擬引擎,對所述資料配置規劃中的所述目標區塊依照所述使用頻率進行分類,以產生所述利用率圖的步驟包括: 依據各所述目標區塊的所述使用頻率,決定所述目標區塊的分類;以及 依據各所述目標區塊的所述分類以及位於各所述階層中的位置,建構所述利用率圖。
- 如申請專利範圍第1項所述的方法,其中所述控制器對所述利用率圖進行評估,以找出所述多個系統組態中的所述最佳組態的步驟包括: 針對各所述利用率圖,找出位於所述效能最佳的所述階層中的所述目標區塊,計算所述分類的所述使用頻率大於預設頻率的所述目標區塊的數目佔所有所述目標區塊的數目的比例;以及 選擇所述比例最高的所述利用率圖對應的所述系統組態作為所述最佳組態。
- 如申請專利範圍第1項所述的方法,其中所述控制器對所述利用率圖進行評估,以找出所述多個系統組態中的所述最佳組態的步驟包括: 依據各所述目標區塊的所述使用頻率及所儲存資料的重要性給定對應的分數; 針對各所述利用率圖,計算位於所述效能最佳的所述階層中的所述目標區塊的所述分數的總和;以及 選擇所述分數的總和最高的所述利用率圖對應的所述系統組態作為所述最佳組態。
- 如申請專利範圍第1項所述的方法,其中所述控制器對所述利用率圖進行評估,以找出所述多個系統組態中的所述最佳組態的步驟包括: 將各所述利用率圖中的所述目標區塊的配置與預設配置目標比較,以找出與所述配置目標匹配的所述利用率圖,並將所述利用率圖對應的所述系統組態作為所述最佳組態,其中所述預設配置目標包括最大吞吐量(throughput)配置或分層平均配置。
- 一種自動分層儲存系統,包括: 多個儲存設備,依效能區分為至少二階層; 儲存裝置,儲存多個模組;以及 控制器,耦接各所述儲存設備及所述儲存裝置,載入並執行所述模組,所述模組包括: 多個演算法分析器,分別對應應用於資料重新配置功能的多個系統組態,用以對各所述儲存設備中的多個資料區塊進行分析,以決定各所述資料區塊重新配置後的目標區塊,並以所決定的所述目標區塊產生預估的資料配置規劃; 模擬引擎,對各所述演算法分析器所產生的所述資料配置規劃中的所述目標區塊依照使用頻率進行分類,以產生利用率圖,並對各所述系統組態對應的所述利用率圖進行評估,以決定所述系統組態中的最佳組態;以及 資料搬移器,依照所述模擬引擎所決定的所述最佳組態搬移所述儲存設備中的所述資料區塊。
- 如申請專利範圍第8項所述的系統,其中所述模擬引擎包括分層提升或分層降級各所述資料區塊至所述目標區塊,其中各所述資料區塊移動後的所述階層包括鄰近階層或非鄰近階層。
- 如申請專利範圍第8項所述的系統,其中各所述演算法分析器更在所述儲存系統被存取時,記錄所需的輸入輸出特徵,並使用所述輸入輸出特徵分析各所述儲存設備的所述資料區塊,其中所述輸入輸出特徵包括存取次數、讀取次數、寫入次數、隨機存取輸入輸出次數、循序存取輸入輸出次數及新配置資料區塊的次數其中之一或其組合。
- 如申請專利範圍第8項所述的系統,其中所述模擬引擎包括依據各所述目標區塊的所述使用頻率,決定所述目標區塊的分類,以及依據各所述目標區塊的所述分類以及位於各所述階層中的位置,建構所述利用率圖。
- 如申請專利範圍第8項所述的系統,其中所述模擬引擎包括針對各所述利用率圖,找出位於所述效能最佳的所述階層中的所述目標區塊,計算所述分類的所述使用頻率大於預設頻率的所述目標區塊的數目佔所有所述目標區塊的數目的比例,以及選擇所述比例最高的所述利用率圖對應的所述系統組態作為所述最佳組態。
- 如申請專利範圍第8項所述的系統,其中所述模擬引擎包括依據各所述目標區塊的所述使用頻率及所儲存資料的重要性給定對應的分數,並針對各所述利用率圖,計算位於所述效能最佳的所述階層中的所述目標區塊的所述分數的總和,以及選擇所述分數的總和最高的所述利用率圖對應的所述系統組態作為所述最佳組態。
- 如申請專利範圍第8項所述的系統,其中所述模擬引擎包括將各所述利用率圖中的所述目標區塊的配置與預設配置目標比較,以找出與所述配置目標匹配的所述利用率圖,並將所述利用率圖對應的所述系統組態作為所述最佳組態,其中所述預設配置目標包括最大吞吐量配置或分層平均配置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106133863A TWI614674B (zh) | 2017-09-30 | 2017-09-30 | 自動分層儲存系統及方法 |
US15/823,617 US10365831B2 (en) | 2017-09-30 | 2017-11-28 | Automated tiering system and automated tiering method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106133863A TWI614674B (zh) | 2017-09-30 | 2017-09-30 | 自動分層儲存系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI614674B true TWI614674B (zh) | 2018-02-11 |
TW201915705A TW201915705A (zh) | 2019-04-16 |
Family
ID=62016132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106133863A TWI614674B (zh) | 2017-09-30 | 2017-09-30 | 自動分層儲存系統及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10365831B2 (zh) |
TW (1) | TWI614674B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2021005281A (es) | 2018-11-12 | 2021-06-18 | Ericsson Telefon Ab L M | Metodo y aparato para la administracion de sesiones. |
US11797729B2 (en) * | 2019-06-19 | 2023-10-24 | Vmware, Inc. | Hyper-converged infrastructure (HCI) operation predictor |
US10936336B1 (en) | 2019-09-24 | 2021-03-02 | Amazon Technologies, Inc. | Configuration change tracking with multiple manifests |
US10958522B1 (en) * | 2019-09-24 | 2021-03-23 | Amazon Technologies, Inc. | Configuration tracking perimeter |
US12003365B1 (en) | 2019-09-24 | 2024-06-04 | Amazon Technologies, Inc. | Configuration change tracking |
US12026393B2 (en) * | 2020-12-17 | 2024-07-02 | Electronics And Telecommunications Research Institute | Apparatus and method for selecting storage location based on data usage |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010002A1 (en) * | 2004-07-07 | 2006-01-12 | Christoph Kunde | Method for storage and administration of data and arrangement for implementation of the method |
US20100094809A1 (en) * | 2008-09-25 | 2010-04-15 | Microsoft Corporation | Techniques to manage retention policy tags |
US20140156963A1 (en) * | 2008-09-24 | 2014-06-05 | Hitachi, Ltd., Intellectual Property Group | System and method for controlling automated page-based tier management in storage systems |
US20140189088A1 (en) * | 2013-01-03 | 2014-07-03 | International Business Machines Corporation | Automated shutdown methodology for a tiered system |
US20140344234A1 (en) * | 2012-03-08 | 2014-11-20 | Commvault Systems, Inc. | Automated, tiered data retention |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386663B2 (en) * | 2004-05-13 | 2008-06-10 | Cousins Robert E | Transaction-based storage system and method that uses variable sized objects to store data |
KR101467941B1 (ko) * | 2011-04-26 | 2014-12-02 | 엘에스아이 코포레이션 | 비휘발성 저장부에 대한 가변 오버프로비저닝 |
US8972694B1 (en) * | 2012-03-26 | 2015-03-03 | Emc Corporation | Dynamic storage allocation with virtually provisioned devices |
US10635316B2 (en) * | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
-
2017
- 2017-09-30 TW TW106133863A patent/TWI614674B/zh active
- 2017-11-28 US US15/823,617 patent/US10365831B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010002A1 (en) * | 2004-07-07 | 2006-01-12 | Christoph Kunde | Method for storage and administration of data and arrangement for implementation of the method |
US20140156963A1 (en) * | 2008-09-24 | 2014-06-05 | Hitachi, Ltd., Intellectual Property Group | System and method for controlling automated page-based tier management in storage systems |
US20100094809A1 (en) * | 2008-09-25 | 2010-04-15 | Microsoft Corporation | Techniques to manage retention policy tags |
US20140344234A1 (en) * | 2012-03-08 | 2014-11-20 | Commvault Systems, Inc. | Automated, tiered data retention |
US20140189088A1 (en) * | 2013-01-03 | 2014-07-03 | International Business Machines Corporation | Automated shutdown methodology for a tiered system |
Also Published As
Publication number | Publication date |
---|---|
TW201915705A (zh) | 2019-04-16 |
US10365831B2 (en) | 2019-07-30 |
US20190102085A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI614674B (zh) | 自動分層儲存系統及方法 | |
US11086523B2 (en) | Automatic tiering of storage using dynamic grouping | |
US6978259B1 (en) | Automated system adaptation technique particularly for data storage systems | |
Mahgoub et al. | {OPTIMUSCLOUD}: Heterogeneous configuration optimization for distributed databases in the cloud | |
US20210240705A1 (en) | Dynamic asynchronous traversals for distributed graph queries | |
US8935500B1 (en) | Distributed storage resource scheduler and load balancer | |
US20120215949A1 (en) | Storage application performance matching | |
CN106250381B (zh) | 用于确定表格式存储的列布局的***和方法 | |
KR20200015048A (ko) | 메타-학습에 기반하여 기계학습의 모델을 선정하는 방법 및 장치 | |
US11087826B2 (en) | Storing method and apparatus of data | |
US20120011127A1 (en) | Database management method and database server system using the same | |
US8443157B1 (en) | Data storage system having associated situational analysis framework for automatic response to movement in a state space | |
US11915153B2 (en) | Workload-oriented prediction of response times of storage systems | |
US10691357B2 (en) | Consideration of configuration-based input/output predictions in multi-tiered data storage system management | |
US10409501B1 (en) | Tiered data storage system using mobility scoring | |
US20040260862A1 (en) | Adaptive migration planning and execution | |
JP6152704B2 (ja) | ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法 | |
CN117453123A (zh) | 一种基于强化学习的数据分类存储方法及其设备 | |
JP6443170B2 (ja) | 階層ストレージ装置,階層ストレージ制御装置,階層ストレージ制御プログラム及び階層ストレージ制御方法 | |
TWI770534B (zh) | 自動機器學習系統效能調優方法、裝置、設備及介質 | |
Gudmundsson et al. | Impact of storage technology on the efficiency of cluster-based high-dimensional index creation | |
US10963620B1 (en) | Buffer insertion technique to consider edge spacing and stack via design rules | |
CN115858660A (zh) | 一种参数推荐方法、装置以及计算机存储介质 | |
KR102227643B1 (ko) | 오케스트레이션 기반 최적 스토리지 할당을 위한 예측형 후보군 선정 방법 | |
Floratou et al. | Towards building wind tunnels for data center design |