TWI575445B - 自動分層儲存方法及其系統與電腦可讀取記錄媒體 - Google Patents

自動分層儲存方法及其系統與電腦可讀取記錄媒體 Download PDF

Info

Publication number
TWI575445B
TWI575445B TW105115624A TW105115624A TWI575445B TW I575445 B TWI575445 B TW I575445B TW 105115624 A TW105115624 A TW 105115624A TW 105115624 A TW105115624 A TW 105115624A TW I575445 B TWI575445 B TW I575445B
Authority
TW
Taiwan
Prior art keywords
data
storage space
storage
data storage
data blocks
Prior art date
Application number
TW105115624A
Other languages
English (en)
Other versions
TW201741859A (zh
Inventor
徐漢農
Original Assignee
威聯通科技股份有限公司
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 威聯通科技股份有限公司 filed Critical 威聯通科技股份有限公司
Priority to TW105115624A priority Critical patent/TWI575445B/zh
Priority to US15/242,612 priority patent/US10055140B2/en
Application granted granted Critical
Publication of TWI575445B publication Critical patent/TWI575445B/zh
Publication of TW201741859A publication Critical patent/TW201741859A/zh

Links

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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

自動分層儲存方法及其系統與電腦可讀取記錄媒體
本發明是有關於一種自動分層儲存技術,且特別是有關於一種自動分層儲存方法及其系統與電腦可讀取記錄媒體。
目前市面上的資料儲存裝置主要可分為以讀寫磁頭、磁片所組成的傳統硬碟(hard driver disk,HDD)以及以記憶體、控制晶片所組成的固態硬碟(solid state disk,SSD)。由於傳統硬碟的製造成本較低,傳統硬碟的儲存容量普遍會大於固態硬碟。另一方面,固態硬碟的資料存取速度為傳統硬碟的數倍之多,並且更具有耗電量低以及不會出現實體壞軌的優點。因此,目前已有電腦系統採用固態混合硬碟(solid state hybrid drive,SSHD)的混合式硬碟架構,以傳統硬碟作為基本的資料儲存空間,並將固態硬碟作為快取(cache)空間來使用,據此可確保資料存取速度以及儲存容量皆能符合使用者的需求。
然而,由於固態混合硬碟中的固態硬碟只能提供較小的儲存容量,因此如何更有效地分配資料儲存空間以讓使用者更明顯感受到固態硬碟的優點,則是相關業者在開發產品時的重要課題之一。
有鑑於此,本發明提供一種自動分層儲存方法及其系統與電腦可讀取記錄媒體,其可有效地分配資料儲存裝置的儲存空間,以確保資料存取速度以及儲存容量符合使用者的需求。
本發明的自動分層儲存方法,適用於包括多個資料儲存裝置的資料儲存系統,其中此些資料儲存裝置分別對應於不同層級並且儲存多個資料區塊。此方法先根據各個資料區塊的使用程度以及使用歷史,計算各個資料區塊的冷熱程度,再根據各個資料區塊的冷熱程度,計算所有資料儲存裝置所需的總保留儲存空間大小,接著根據總保留儲存空間大小以及各個資料儲存裝置的儲存容量,將各個資料儲存裝置的儲存空間劃分為保留儲存空間以及非保留儲存空間,並且根據各個資料區塊的冷熱程度以及各個資料儲存裝置的層級,將各個資料區塊遷移至對應的資料儲存裝置的非保留儲存空間。
在本發明的一實施例中,上述各個資料區塊的使用歷史的計算方式的步驟包括計算其中一個資料區塊於多個先前時點所記錄的多個先前使用程度的加權和,以做為此資料區塊的使用歷史,其中越接近目前時點的先前時點所對應的先前使用程度具有越大的加權值。
在本發明的一實施例中,上述根據各個資料區塊的使用程度以及使用歷史,計算各個資料區塊的冷熱程度的步驟包括利用分群演算法,根據各個資料區塊的使用程度以及使用歷史,將所有資料區塊分群為多個群組,據以區分各個資料區塊的冷熱程度。
在本發明的一實施例中,上述計算所有資料儲存裝置所需的總保留儲存空間大小的步驟包括取得所有群組之中的最熱群組,再計算最熱群組中的多個最新資料區塊的總容量,以及根據總容量,設定總保留儲存空間大小,其中上述最新資料區塊為最熱群組中最新產生的資料區塊。
在本發明的一實施例中,上述在根據總容量,設定總保留儲存空間大小的步驟之後,更包括計算於多個先前時點所記錄的多個先前總保留儲存空間大小的加權和,以做為歷史總保留儲存空間大小,以及根據歷史總保留儲存空間大小,調整總保留儲存空間大小,其中越接近目前時點的先前時點所對應的先前總保留儲存空間大小具有越大的加權值。
在本發明的一實施例中,上述根據總保留儲存空間大小以及各個資料儲存裝置的儲存容量,將各個資料儲存裝置的儲存空間劃分為保留儲存空間以及非保留儲存空間的步驟包括計算所有資料儲存裝置的儲存容量之間的比例,再根據總保留儲存空間大小以及比例,設定各個資料儲存裝置的保留儲存空間,以及設定各個資料儲存裝置的保留儲存空間以外的儲存空間為非保留儲存空間,其中所有資料儲存裝置的保留儲存空間的大小總和等於總保留儲存空間大小。
在本發明的一實施例中,上述根據總保留儲存空間大小以及各個資料儲存裝置的儲存容量,將各個資料儲存裝置的儲存空間劃分為保留儲存空間以及非保留儲存空間的步驟包括根據各個資料儲存裝置的層級,依序設定各個資料儲存裝置的保留儲存空間,以及設定各個資料儲存裝置的保留儲存空間以外的儲存空間為非保留儲存空間,其中所有資料儲存裝置的保留儲存空間的大小總和等於總保留儲存空間大小。
在本發明的一實施例中,上述根據各個資料區塊的冷熱程度以及各個資料儲存裝置的層級,將各個資料區塊遷移至對應的資料儲存裝置的非保留儲存空間的步驟包括根據各個資料區塊的冷熱程度,由熱至冷排序所有資料區塊,以及依照各個資料儲存裝置的層級,依序將排序後的各個資料區塊遷移至對應的資料儲存裝置的非保留儲存空間,其中越熱的資料區塊遷移至越高層級的資料儲存裝置。
在本發明的一實施例中,上述根據各個資料區塊的冷熱程度以及各個資料儲存裝置的層級,將各個資料區塊遷移至對應的資料儲存裝置的非保留儲存空間的步驟之後,當新的資料區塊產生時,更包括將新的資料區塊儲存至目前具有最高層級的資料儲存裝置的保留儲存空間。
本發明的資料儲存系統包括多個資料儲存裝置以及處理器,其中處理器耦接於各個資料儲存裝置。此些資料儲存裝置分別對應於不同層級並且儲存多個資料區塊。處理器經配置用以根據各個資料區塊的使用程度以及使用歷史,計算各個資料區塊的冷熱程度,再根據各個資料區塊的冷熱程度,計算所有資料儲存裝置所需的總保留儲存空間大小,接著根據總保留儲存空間大小以及各個資料儲存裝置的儲存容量,將各個資料儲存裝置的儲存空間劃分為保留儲存空間以及非保留儲存空間,並且根據各個資料區塊的冷熱程度以及各個資料儲存裝置的層級,將各個資料區塊遷移至對應的資料儲存裝置的非保留儲存空間。
在本發明的一實施例中,上述處理器用以計算其中一個資料區塊於多個先前時點所記錄的多個先前使用程度的加權和,以做為此資料區塊的使用歷史,其中越接近目前時點的先前時點所對應的先前使用程度具有越大的加權值。
在本發明的一實施例中,上述處理器用以利用分群演算法,根據各個資料區塊的使用程度以及使用歷史,將所有資料區塊分群為多個群組,據以區分各個資料區塊的冷熱程度。
在本發明的一實施例中,上述處理器用以取得所有群組之中的最熱群組,再計算最熱群組中的多個最新資料區塊的總容量,以及根據總容量,設定總保留儲存空間大小,其中上述最新資料區塊為最熱群組中最新產生的資料區塊。
在本發明的一實施例中,上述處理器用以根據總容量,設定總保留儲存空間大小的步驟包括計算於多個先前時點所記錄的多個先前總保留儲存空間大小的加權和,以做為歷史總保留儲存空間大小,以及根據歷史總保留儲存空間大小,調整總保留儲存空間大小,其中越接近目前時點的先前時點所對應的先前總保留儲存空間大小具有越大的加權值。
在本發明的一實施例中,上述處理器用以計算所有資料儲存裝置的儲存容量之間的比例,再根據總保留儲存空間大小以及比例,設定各個資料儲存裝置的保留儲存空間,以及設定各個資料儲存裝置的保留儲存空間以外的儲存空間為非保留儲存空間,其中所有資料儲存裝置的保留儲存空間的大小總和等於總保留儲存空間大小。
在本發明的一實施例中,上述處理器用以根據各個資料儲存裝置的層級,依序設定各個資料儲存裝置的保留儲存空間,以及設定各個資料儲存裝置的保留儲存空間以外的儲存空間為非保留儲存空間,其中所有資料儲存裝置的保留儲存空間的大小總和等於總保留儲存空間大小。
在本發明的一實施例中,上述處理器用以根據各個資料區塊的冷熱程度,由熱至冷排序所有資料區塊,以及依照各個資料儲存裝置的層級,依序將排序後的各個資料區塊遷移至對應的資料儲存裝置的非保留儲存空間,其中越熱的資料區塊遷移至越高層級的資料儲存裝置。
在本發明的一實施例中,當新的資料區塊產生時,上述處理器更用以將新的資料區塊儲存至目前具有最高層級的資料儲存裝置的保留儲存空間。
本發明另提出一種電腦可讀取記錄媒體,其儲存可載入資料儲存系統的電腦程式,以執行上述自動分層儲存方法的各個步驟。
基於上述,本發明所提出的自動分層儲存方法及其系統與電腦可讀取記錄媒體,其是根據目前儲存於多個資料儲存裝置的資料區塊的使用程度以及使用歷史來計算其冷熱程度,並且根據資料儲存裝置的層級來進行儲存空間的分配以及資料區塊的遷移,據此可確保資料存取速度以及儲存容量皆能符合使用者的需求。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明的部份實施例接下來將會配合附圖來詳細描述,以下的描述所引用的元件符號,當不同附圖出現相同的元件符號將視為相同或相似的元件。這些實施例只是本發明的一部份,並未揭示所有本發明的可實施方式。更確切的說,這些實施例只是本發明的專利申請範圍中的方法、系統以及電腦可讀取記錄媒體的範例。
圖1繪示依據本發明一實施例的資料儲存系統的示意圖,但此僅是為了方便說明,並不用以限制本發明。首先圖1先介紹資料儲存系統之所有構件以及配置關係,詳細功能將配合圖2一併揭露。
請參照圖1,資料儲存系統100包括多個資料儲存裝置10-1~10-n以及處理器20。在本實施例中,資料儲存系統100可以是桌上型電腦、筆記型電腦、平板電腦或是其它具備運算處理功能的電腦系統。在一實施例中,資料儲存裝置10-1~10-n以及處理器20皆內建於資料儲存系統100,並且資料儲存裝置10-1~10-n分別與處理器20電性連接。在另一實施例中,資料儲存裝置10-1~10-n亦可以是外部裝置,並且藉由傳輸線以及匯流排等外接的方式與內建於資料儲存系統100的處理器20電性連接,本發明不在此設限。
資料儲存裝置10-1~10-n為不同類型的儲存媒介,並且可依照資料存取速度分成不同層級,其中資料存取速度越高所對應的層級越高。具有較高層級的資料儲存裝置可以是以快閃記憶體(flash memory)作為儲存媒介的快閃記憶體儲存單元,其例如是固態硬碟(solid state disk,SSD),而具有較低層級的資料儲存裝置可以是以磁碟片作為儲存媒介的磁碟片儲存單元,其例如是傳統硬碟(hard disk drive,HDD)。
處理器20可以例如是中央處理單元(central processing unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(microprocessor)、數位訊號處理器(digital signal processor,DSP)、可程式化控制器(programmable controller)、控制晶片(control chip)、特殊應用積體電路(application specific integrated circuits,ASIC)、可程式化邏輯裝置(programmable logic device,PLD)或其他類似裝置或這些裝置的組合。
圖2繪示依據本發明一實施例的自動分層儲存方法的流程圖。本實施例的方法適用於圖1的資料儲存系統100,然而為了方便說明,在此將以僅包括兩個資料儲存裝置10-1以及10-2的資料儲存系統100來做為實施範例,而具有三個以上資料儲存裝置的資料儲存系統100的實施例可依此類推。在本實施例中,假設資料儲存裝置10-1為固態硬碟,而資料儲存裝置10-2為傳統硬碟;亦即,資料儲存裝置10-1的資料存取速度高於資料儲存裝置10-2的資料存取速度。基於成本考量,在此假設資料儲存裝置10-2的儲存空間大於資料儲存裝置10-1的儲存空間,並且兩者已各自儲存多個資料區塊。以下即搭配資料儲存系統100中的各個元件說明本發明自動分層儲存方法之詳細步驟。
請同時參照圖1以及圖2,首先,資料儲存系統100的處理器20將根據資料儲存裝置10-1以及資料儲存裝置10-2中各個資料區塊的使用程度以及使用歷史,計算各個資料區塊的冷熱程度(步驟S202)。詳細來說,由於資料區塊的冷熱程度與資料存取(包括讀取、更新、異動等)的頻率以及時點相關,處理器20將根據各個資料區塊的資料存取頻率,來取得資料區塊的使用程度,並且又根據資料儲存系統100於先前的多個時點(在此定義為「先前時點」)進行自動分層儲存程序時所分別記錄的使用程度(在此定義為「先前使用程度」),來取得資料區塊的使用歷史。
在本實施例中,處理器20可以是以各個資料區塊的資料存取次數做為使用程度,並且依照資料區塊於多個先前時點所分別記錄的先前使用程度而計算出的加權和(weighted sum)來取得資料區塊的使用歷史,其中越接近目前時點的所對應的先前使用程度將給予越大的加權值(weighted value)。舉例而言,處理器20可以是依照方程式(1)來計算各資料區塊的使用歷史: 方程式(1) 其中 為資料儲存系統100執行第 次自動分層儲存程序時資料區塊的使用歷史, 為資料儲存系統100執行第 次自動分層儲存程序時的使用程度。
接著,處理器20在取得各個資料區塊的使用程度以及使用歷史後,可根據分群演算法(clustering algorithm)來將所有資料區塊分群為多個群組,據以區分各個資料區塊的冷熱程度。舉例而言,處理器20可以是利用圖3所繪示依據本發明一實施例的的分群方法示意圖來區分各個資料區塊的冷熱程度。
請參照圖3,假設資料區塊300-1~300-N為資料儲存裝置10-1以及資料儲存裝置10-2中的所有資料區塊。處理器20可以先是根據資料區塊300-1~300-N各自的使用程度以及使用歷史而得到資料區塊分布圖Dist,接著再利用k-平均演算法(k-means clustering)來將資料區塊300-1~300-N分為四個群組C1~C4。在此,群組C2中的資料區塊具有最高的使用程度以及最近的使用歷史,其可能為經常使用的資料區塊,因此也稱之為「最熱群組」。另一方面,群組C4中的資料區塊具有最低的使用程度以及最遠的使用歷史,其可能為非經常使用的資料區塊,因此也稱之為「最冷群組」。
請再參照圖2,資料儲存系統100的處理器20在取得資料儲存裝置10-1以及資料儲存裝置10-2中各個資料區塊的冷熱程度後,將據以計算資料儲存裝置10-1以及資料儲存裝置10-2所需的總保留儲存空間大小(步驟S204),再根據總保留儲存空間大小、資料儲存裝置10-1以及資料儲存裝置10-2的儲存容量,分別將資料儲存裝置10-1以及資料儲存裝置10-2的儲存空間劃分為保留儲存空間以及非保留儲存空間(步驟S206)。在此的保留儲存空間主要是分配給未來即將產生的資料區塊所預留的儲存空間,而非保留儲存空間則是給目前已產生的資料區塊的儲存空間。在後續的步驟中,處理器20將會根據各個資料區塊的冷熱程度,有效地分配較高層級的資料儲存裝置10-1以及較低層級的資料儲存裝置10-2的儲存空間,以確保資料區塊的存取速度以及儲存容量皆能符合使用者的需求。詳細步驟將於稍後的實施例說明。
在本實施例中,由於所有資料區塊已分群為多個群組,處理器20將取得最熱群組,並且計算此最熱群組中最新產生的資料區塊(在此定義為「最新資料區塊」)的總容量,據以設定總保留儲存空間大小。在此所謂的最新資料區塊可以是最熱群組之中於目前時點與前次資料儲存系統100執行自動分層儲存程序的時點之間所產生的資料區塊,亦可以是最熱群組之中與目前時點相隔一個預設的時間區間內所產生的資料區塊。以圖3為例,假設群組C2之中的資料區塊300-a~300-b為最新資料區塊,而處理器20將計算資料區塊300-a~300-b的總容量,以將其設定總保留儲存空間大小。
此外,為了避免總保留儲存空間大小在每次進行自動分層儲存程序中產生劇烈的變動,在一實施例中,處理器20更可以是進一步地參考歷史總保留儲存空間大小來調整前述所計算出的總保留儲存空間大小。在此的歷史總保留儲存空間大小即為處理器20根據於多個先前時點所分別記錄的總保留儲存空間大小(在此定義為「先前總保留儲存空間大小」)而計算出的加權和,其中越接近目前時點的所對應的先前總保留儲存空間大小將給予越大的加權值。舉例而言,處理器20可以是依照方程式(2)來計算各資料區塊的歷史總保留儲存空間大小: 方程式(2) 其中 為資料儲存系統100執行第 次自動分層儲存程序時的歷史總保留儲存空間大小, 為資料儲存系統100執行第 次自動分層儲存程序時的先前總保留儲存空間大小。接著,處理器20可以是依照方程式(3)來調整前述原本所計算出的總保留儲存空間大小: 方程式(3) 其中 以及 分別為調整前後的總保留儲存空間大小。
在一實施例中,處理器20將計算資料儲存裝置10-1以及資料儲存裝置10-2的儲存容量之間的比例,並且根據總保留儲存空間大小以及比例,設定資料儲存裝置10-1以及資料儲存裝置10-2各自的保留儲存空間,再設定資料儲存裝置10-1以及資料儲存裝置10-2之中保留儲存空間以外的儲存空間為非保留儲存空間。在此資料儲存裝置10-1與資料儲存裝置10-2的保留儲存空間的大小總和即等於總保留儲存空間大小。
舉例來說,圖4A繪示依據本發明一實施例的保留儲存空間的以及非保留儲存空間的設定方法示意圖。
請參照圖4A,假設層級較高的資料儲存裝置10-1以及層級較低的資料儲存裝置10-2的儲存容量分別為400GB以及600GB,即兩者儲存容量之間的比例為2:3。假設總保留儲存空間大小為500GB,則處理器20將以2:3的比例來配置500GB的儲存空間給資料儲存裝置10-1以及資料儲存裝置10-2以做為保留儲存空間。也就是說,資料儲存裝置10-1以及資料儲存裝置10-2將會分別具有200GB以及300GB的保留儲存空間,而兩者所分別剩餘的200GB以及300GB將做為非保留儲存空間。
附帶一提的是,在另一實施例中,處理器20可以僅是依據資料儲存裝置10-1以及資料儲存裝置10-2的層級,依序設定各自的保留儲存空間以及非保留儲存空間。同樣地,在此資料儲存裝置10-1與資料儲存裝置10-2的保留儲存空間的大小總和亦將等於總保留儲存空間大小。舉例來說,處理器20亦可以是將層級較高的資料儲存裝置10-1的所有儲存空間設定為保留儲存空間,而剩餘的保留儲存空間再分配給層級較低的資料儲存裝置10-2。
請再參照圖2,資料儲存系統100的處理器20在分配完儲存空間後,將根據各個資料區塊的冷熱程度以及資料儲存裝置10-1、資料儲存裝置10-2的層級,將各個資料區塊遷移至對應的資料儲存裝置的非保留儲存空間(步驟S208)。如同前述,保留儲存空間主要是分配給未來即將產生的資料區塊所預留的儲存空間,而非保留儲存空間則是給目前已產生的資料區塊的儲存空間。因此,處理器20將根據各個資料區塊的冷熱程度,由熱至冷來進行排序,並且依照資料儲存裝置10-1以及資料儲存裝置10-2的層級,依序將排序後的資料區塊遷移至對應的資料儲存裝置的非保留儲存空間,其中越熱的資料區塊遷移至越高層級的資料儲存裝置。如此一來,越熱的資料區塊(即,經常性使用的資料區塊)得以被快速存取。
舉例來說,圖4B繪示依據本發明一實施例的資料區塊的遷移方法示意圖,而圖4B可接續於圖4A所繪示的實施例。
請參照圖4B,處理器20在分配完資料儲存裝置10-1以及資料儲存裝置10-2的保留儲存空間以及非保留儲存空間後,會依照目前已產生的資料區塊的冷熱程度進行排序。舉例來說,由熱至冷所排序後的資料區塊分別為401、402、403、404、405。由於最熱的資料區塊401、402遷移至層級最高的資料儲存裝置10-1的非保留儲存空間後,已無剩餘非保留儲存空間給其餘的資料區塊。因此,資料區塊403、404、405將會遷移至下一層級的資料儲存裝置10-2的非保留儲存空間。
另外須說明的是,當有新的資料區塊產生時,處理器20會優先將新的資料區塊儲存至目前最高層級的資料儲存裝置的保留儲存空間。以圖4B為例,處理器20會先將新的資料區塊儲存至資料儲存裝置10-1的保留儲存空間。當資料儲存裝置10-1已無任何保留儲存空間時,處理器20則會將新的資料區塊儲存至下一層級的資料儲存裝置10-2的保留儲存空間。
前述自動分層儲存方法可利用圖5依據本發明一實施例所繪示的功能方塊圖來進行總結。
請參照圖5,首先,將針對資料儲存系統100的資料儲存裝置10-1~10-n中的資料區塊依照使用程度以及使用歷史進行冷熱程度的計算步驟(S502),再進行總保留儲存空間大小的計算步驟(S504)。接著,根據總保留儲存空間大小以及資料儲存裝置10-1~10-n的儲存容量,進行儲存空間的分配步驟(S506),以在各個資料儲存裝置中劃分出保留儲存空間以及非保留儲存空間。之後,再根據資料區塊的冷熱程度以及資料儲存裝置10-1~10-n的層級,來進行資料區塊的遷移步驟(S508),以將所有資料區塊遷移至對應的資料儲存裝置的非保留儲存空間,而完成此次對於資料儲存裝置10-1~10-n的自動分層儲存程序。步驟S502~S508的詳細步驟可參照前述段落的相關說明,於此不再贅述。
本發明另提供一種電腦可讀取記錄媒體,用以執行上述自動分層儲存方法之各個步驟。此電腦程式產品基本上是由多數個程式碼片段所組成的(例如建立組織圖程式碼片段、簽核表單程式碼片段、設定程式碼片段、以及部署程式碼片段),並且這些程式碼片段在載入資料儲存系統100中的處理器20並執行之後,即可對資料儲存裝置10-1~10-n完成自動分層儲存的方法流程。
綜上所述,本發明所提出的自動分層儲存方法及其系統與電腦可讀取記錄媒體,其是根據目前儲存於多個資料儲存裝置的資料區塊的使用程度以及使用歷史來計算其冷熱程度,並且根據資料儲存裝置的層級來進行資料儲存空間的分配以及資料區塊的遷移,據此可確保資料存取速度以及儲存容量皆能符合使用者的需求。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧資料儲存系統
10-1~10-n‧‧‧資料儲存裝置
20‧‧‧處理器
S202~S208、S502~S508‧‧‧自動分層儲存的方法流程
300-1~300-N‧‧‧資料區塊
300-a~300-b‧‧‧最新資料區塊
C1~C4‧‧‧群組
Dist‧‧‧資料區塊分布圖
401~405‧‧‧資料區塊
圖1繪示依據本發明一實施例的資料儲存系統的示意圖。 圖2繪示依據本發明一實施例的自動分層儲存方法的流程圖。 圖3所繪示依據本發明一實施例的資料區塊的分群方法示意圖。 圖4A繪示依據本發明一實施例的保留儲存空間的以及非保留儲存空間的設定方法示意圖。 圖4B繪示依據本發明一實施例的資料區塊的遷移方法示意圖。 圖5繪示依據本發明一實施例的自動分層儲存方法的功能方塊流程圖。
S202~S208‧‧‧自動分層儲存的方法流程

Claims (19)

  1. 一種自動分層儲存方法,適用於資料儲存系統,其中該資料儲存系統包括多個資料儲存裝置,該些資料儲存裝置分別對應於不同層級並且用以儲存多個資料區塊,該自動分層儲存方法包括下列步驟: 根據該些資料區塊各自的使用程度以及使用歷史,計算該些資料區塊各自的該冷熱程度; 根據該些資料區塊各自的該冷熱程度,計算該些資料儲存裝置所需的總保留儲存空間大小; 根據該總保留儲存空間大小以及該些資料儲存裝置各自的儲存容量,劃分該些資料儲存裝置各自的儲存空間為保留儲存空間以及非保留儲存空間;以及 根據該些資料區塊各自的冷熱程度以及該些資料儲存裝置各自的該層級,遷移該些資料區塊至對應的該資料儲存裝置的該非保留儲存空間。
  2. 如申請專利範圍第1項所述的自動分層儲存方法,其中該些資料區塊各自的該使用歷史的計算方式包括:     計算該些資料區塊的其中一個資料區塊於多個先前時點所記錄的多個先前使用程度的加權和,以做為該資料區塊的該使用歷史,其中越接近目前時點的所述先前時點所對應的所述先前使用程度具有越大的加權值。
  3. 如申請專利範圍第1項所述的自動分層儲存方法,其中根據該些資料區塊各自的該使用程度以及該使用歷史,計算該些資料區塊各自的該冷熱程度的步驟包括:   利用分群演算法,根據該些資料區塊各自的該使用程度以及該使用歷史,分群該些資料區塊為多個群組,據以區分該些資料區塊各自的該冷熱程度。
  4. 如申請專利範圍第3項所述的自動分層儲存方法,其中計算該些資料儲存裝置所需的該總保留儲存空間大小的步驟包括: 取得該些群組之中的一最熱群組; 計算該最熱群組中的多個最新資料區塊的總容量,其中該些最新資料區塊為該最熱群組中最新產生的所述資料區塊;以及 根據該總容量,設定該總保留儲存空間大小。
  5. 如申請專利範圍第4項所述的自動分層儲存方法,其中在根據該總容量,設定該總保留儲存空間大小的步驟之後,該自動分層儲存方法更包括: 計算於多個先前時點所記錄的多個先前總保留儲存空間大小的加權和,以做為歷史總保留儲存空間大小,其中越接近目前時點的所述先前時點所對應的所述先前總保留儲存空間大小具有越大的加權值;以及 根據該歷史總保留儲存空間大小,調整該總保留儲存空間大小。
  6. 如申請專利範圍第1項所述的自動分層儲存方法,其中根據該總保留儲存空間大小以及該些資料儲存裝置各自的該儲存容量,劃分該些資料儲存裝置各自的該儲存空間為該保留儲存空間以及該非保留儲存空間的步驟包括:   計算該些資料儲存裝置的所述儲存容量之間的一比例;以及   根據該總保留儲存空間大小以及該比例,設定該些資料儲存裝置各自的該保留儲存空間,其中該些資料儲存裝置的該些保留儲存空間的大小總和等於該總保留儲存空間大小;以及 設定該些資料儲存裝置每一者的該保留儲存空間以外的該儲存空間為該非保留儲存空間。
  7. 如申請專利範圍第1項所述的自動分層儲存方法,其中根據該總保留儲存空間大小以及該些資料儲存裝置各自的該儲存容量,劃分該些資料儲存裝置各自的該儲存空間為該保留儲存空間以及該非保留儲存空間的步驟包括: 根據該些資料儲存裝置各自的該層級,依序設定該些資料儲存裝置各自的該保留儲存空間,其中該些資料儲存裝置的該些保留儲存空間的大小總和等於該總保留儲存空間大小;以及 設定該些資料儲存裝置每一者的該保留儲存空間以外的該儲存空間為該非保留儲存空間。
  8. 如申請專利範圍第1項所述的自動分層儲存方法,其中根據該些資料區塊各自的該冷熱程度以及該些資料儲存裝置各自的該層級,遷移該些資料區塊至對應的該資料儲存裝置的該非保留儲存空間的步驟包括:   根據該些資料區塊各自的該冷熱程度,由熱至冷排序該些資料區塊;以及 依照該些資料儲存裝置各自的該層級,依序遷移排序後的該些資料區塊至對應的該資料儲存裝置的該非保留儲存空間,其中越熱的所述資料區塊遷移至越高層級的所述資料儲存裝置。
  9. 如申請專利範圍第1項所述的自動分層儲存方法,其中在根據該些資料區塊各自的該冷熱程度以及該些資料儲存裝置各自的該層級,遷移該些資料區塊至對應的該資料儲存裝置的該非保留儲存空間的步驟之後,該自動分層儲存方法更包括: 當新的資料區塊產生時,儲存該新的資料區塊至目前具有最高層級的該資料儲存裝置的該保留儲存空間。
  10. 一種資料儲存系統,包括: 多個資料儲存裝置,用以儲存多個資料區塊,其中該些資料儲存裝置分別對應於不同層級; 一處理器,耦接該些資料儲存裝置,其中該處理器經配置用以: 根據該些資料區塊各自的使用程度以及使用歷史,計算該些資料區塊各自的該冷熱程度; 根據該些資料區塊各自的該冷熱程度,計算該些資料儲存裝置所需的總保留儲存空間大小; 根據該總保留儲存空間大小以及該些資料儲存裝置各自的儲存容量,劃分該些資料儲存裝置各自的儲存空間為保留儲存空間以及非保留儲存空間;以及 根據該些資料區塊各自的冷熱程度以及該些資料儲存裝置各自的該層級,遷移該些資料區塊至對應的該資料儲存裝置的該非保留儲存空間。
  11. 如申請專利範圍第10項所述的資料儲存系統,其中該處理器用以計算該些資料區塊的其中一個資料區塊於多個先前時點所記錄的多個先前使用程度的加權和,以做為該資料區塊的該使用歷史,其中越接近目前時點的所述先前時點所對應的所述先前使用程度具有越大的加權值。
  12. 如申請專利範圍第10項所述的資料儲存系統,其中該處理器用以利用分群演算法,根據該些資料區塊各自的該使用程度以及該使用歷史,分群該些資料區塊為多個群組,據以區分該些資料區塊各自的該冷熱程度。
  13. 如申請專利範圍第12項所述的資料儲存系統,其中該處理器用以取得該些群組之中的一最熱群組,計算該最熱群組中的多個最新資料區塊的總容量,以及根據該總容量,設定該總保留儲存空間大小,其中該些最新資料區塊為該最熱群組中最新產生的所述資料區塊。
  14. 如申請專利範圍第13項所述的資料儲存系統,其中該處理器更用以計算於多個先前時點所記錄的多個先前總保留儲存空間大小的加權和,以做為歷史總保留儲存空間大小,以及根據該歷史總保留儲存空間大小,調整該總保留儲存空間大小,其中越接近目前時點的所述先前時點所對應的所述先前總保留儲存空間大小具有越大的加權值。
  15. 如申請專利範圍第10項所述的資料儲存系統,其中該處理器用以計算該些資料儲存裝置的所述儲存容量之間的一比例,再根據該總保留儲存空間大小以及該比例,設定該些資料儲存裝置各自的該保留儲存空間,以及設定該些資料儲存裝置每一者的該保留儲存空間以外的該儲存空間為該非保留儲存空間,其中該些資料儲存裝置的該些保留儲存空間的大小總和等於該總保留儲存空間大小。
  16. 如申請專利範圍第10項所述的資料儲存系統,其中該處理器用以根據該些資料儲存裝置各自的該層級,依序設定該些資料儲存裝置各自的該保留儲存空間,以及設定該些資料儲存裝置每一者的該保留儲存空間以外的該儲存空間為該非保留儲存空間,其中該些資料儲存裝置的該些保留儲存空間的大小總和等於該總保留儲存空間大小。
  17. 如申請專利範圍第10項所述的資料儲存系統,其中該處理器用以根據該些資料區塊各自的該冷熱程度,由熱至冷排序該些資料區塊,以及依照該些資料儲存裝置各自的該層級,依序遷移排序後的該些資料區塊至對應的該資料儲存裝置的該非保留儲存空間,其中越熱的所述資料區塊遷移至越高層級的所述資料儲存裝置。
  18. 如申請專利範圍第10項所述的資料儲存系統,其中當新的資料區塊產生時,該處理器更用以儲存該新的資料區塊至目前具有最高層級的該資料儲存裝置的該保留儲存空間。
  19. 一種電腦可讀取記錄媒體,儲存可載入資料儲存系統的電腦程式,以執行下列步驟: 根據該些資料區塊各自的使用程度以及使用歷史,計算該些資料區塊各自的該冷熱程度; 根據該些資料區塊各自的該冷熱程度,計算該些資料儲存裝置所需的總保留儲存空間大小; 根據該總保留儲存空間大小以及該些資料儲存裝置各自的儲存容量,劃分該些資料儲存裝置各自的儲存空間為保留儲存空間以及非保留儲存空間;以及 根據該些資料區塊各自的冷熱程度以及該些資料儲存裝置各自的該層級,遷移該些資料區塊至對應的該資料儲存裝置的該非保留儲存空間。
TW105115624A 2016-05-19 2016-05-19 自動分層儲存方法及其系統與電腦可讀取記錄媒體 TWI575445B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW105115624A TWI575445B (zh) 2016-05-19 2016-05-19 自動分層儲存方法及其系統與電腦可讀取記錄媒體
US15/242,612 US10055140B2 (en) 2016-05-19 2016-08-22 Method, system, and computer-readable recording medium for automated storage tiering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105115624A TWI575445B (zh) 2016-05-19 2016-05-19 自動分層儲存方法及其系統與電腦可讀取記錄媒體

Publications (2)

Publication Number Publication Date
TWI575445B true TWI575445B (zh) 2017-03-21
TW201741859A TW201741859A (zh) 2017-12-01

Family

ID=58766137

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105115624A TWI575445B (zh) 2016-05-19 2016-05-19 自動分層儲存方法及其系統與電腦可讀取記錄媒體

Country Status (2)

Country Link
US (1) US10055140B2 (zh)
TW (1) TWI575445B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230059911A (ko) 2021-10-26 2023-05-04 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
CN114442963B (zh) * 2022-04-07 2022-06-07 中国信息通信研究院 固态硬盘的控制方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200410214A (en) * 2002-12-12 2004-06-16 Via Tech Inc Examining method of array configuration for system of multiple disk arrays
US20050138191A1 (en) * 2003-12-18 2005-06-23 Pak-Lung Seto Adaptor supporting different protocols
TW200614017A (en) * 2004-10-26 2006-05-01 Via Tech Inc Instantaneous integrated system and method of heterogeneous databases
TW200723093A (en) * 2005-12-14 2007-06-16 Inventec Corp Method for establishing mirror storage equipment and synchronously storing equipment update data
US20070226360A1 (en) * 2006-03-09 2007-09-27 Sun Microsystems, Inc. Multi-protocol iSCSI device discovery for on demand device enumeration
US7719992B1 (en) * 2004-07-14 2010-05-18 Cisco Tchnology, Ink. System for proactive time domain reflectometry

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5087309B2 (ja) * 2007-04-24 2012-12-05 株式会社日立製作所 管理装置及び管理方法
US8051243B2 (en) * 2008-04-30 2011-11-01 Hitachi, Ltd. Free space utilization in tiered storage systems
US8793463B2 (en) * 2011-09-12 2014-07-29 Microsoft Corporation Allocation strategies for storage device sets
US9824101B2 (en) * 2011-09-30 2017-11-21 Teradata Us, Inc. Data storage management by using excess capacity in a capacity controlled environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200410214A (en) * 2002-12-12 2004-06-16 Via Tech Inc Examining method of array configuration for system of multiple disk arrays
US20050138191A1 (en) * 2003-12-18 2005-06-23 Pak-Lung Seto Adaptor supporting different protocols
US7719992B1 (en) * 2004-07-14 2010-05-18 Cisco Tchnology, Ink. System for proactive time domain reflectometry
TW200614017A (en) * 2004-10-26 2006-05-01 Via Tech Inc Instantaneous integrated system and method of heterogeneous databases
TW200723093A (en) * 2005-12-14 2007-06-16 Inventec Corp Method for establishing mirror storage equipment and synchronously storing equipment update data
US20070226360A1 (en) * 2006-03-09 2007-09-27 Sun Microsystems, Inc. Multi-protocol iSCSI device discovery for on demand device enumeration

Also Published As

Publication number Publication date
US20170336987A1 (en) 2017-11-23
US10055140B2 (en) 2018-08-21
TW201741859A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
US10996863B1 (en) Nonvolatile memory with configurable zone/namespace parameters and host-directed copying of data across zones/namespaces
TWI652679B (zh) 記憶體控制器、記憶體系統及控制方法
JP6097444B2 (ja) メモリシステムの温度情報に基づくメモリシステム管理のためのシステム及び方法
US9411530B1 (en) Selecting physical storage in data storage systems
EP3869316B1 (en) Hybrid storage
US10089023B2 (en) Data management for object based storage
JP6313993B2 (ja) ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体
US10552056B2 (en) Data storage system tiering accounting for limited write endurance
US11087826B2 (en) Storing method and apparatus of data
US10503655B2 (en) Data block sizing for channels in a multi-channel high-bandwidth memory
WO2017092480A1 (zh) 一种数据迁移的方法及装置
JP2013502647A (ja) インサイチュでのメモリのアニール
US8954658B1 (en) Method of LUN management in a solid state disk array
TWI471725B (zh) 用於管理儲存陣列的方法及具有執行該方法的指令之電腦可讀取記錄媒體
KR20190104876A (ko) 스토리지 디바이스들 사이의 개선된 데이터 배포의 방법
CN110770691A (zh) 混合数据存储阵列
US9063667B2 (en) Dynamic memory relocation
US11915153B2 (en) Workload-oriented prediction of response times of storage systems
TWI575445B (zh) 自動分層儲存方法及其系統與電腦可讀取記錄媒體
JP6232936B2 (ja) 情報処理装置、記憶装置制御回路及び記憶装置の制御方法
KR102330394B1 (ko) 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법
JP5730446B1 (ja) トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム
TWI752784B (zh) 非對稱型平面管理方法以及資料儲存裝置及其控制器
KR20180044451A (ko) 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
CN116917873A (zh) 数据存取方法、存储控制器和存储设备