TW201028851A - Storage subsystem and storage system architecture performing storage virtualization and method thereof - Google Patents

Storage subsystem and storage system architecture performing storage virtualization and method thereof Download PDF

Info

Publication number
TW201028851A
TW201028851A TW099101839A TW99101839A TW201028851A TW 201028851 A TW201028851 A TW 201028851A TW 099101839 A TW099101839 A TW 099101839A TW 99101839 A TW99101839 A TW 99101839A TW 201028851 A TW201028851 A TW 201028851A
Authority
TW
Taiwan
Prior art keywords
segment
media
physical
entity
virtual
Prior art date
Application number
TW099101839A
Other languages
English (en)
Other versions
TWI432959B (zh
Inventor
Michael Gordon Schnapp
Ching-Hua Fang
Chia-Sheng Chou
Original Assignee
Infortrend Technology Inc
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 Infortrend Technology Inc filed Critical Infortrend Technology Inc
Publication of TW201028851A publication Critical patent/TW201028851A/zh
Application granted granted Critical
Publication of TWI432959B publication Critical patent/TWI432959B/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/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID

Description

201028851 六、發明說明: 【發明所屬之技術領域】 本發明係關於一種儲存虛擬化之方法,尤指一種可彈性擴充儲存容量之 儲存虛擬化之方法。 【先前技術】 習知技術中’由磁碟陣列子系統(disk array subsystem)所映射出來的邏輯 磁碟機(Logical Drive,LD)或分割區(partiti〇n)係呈現在主機通道上成為實體 •卷physical volume,pv)給主機存取,主機存取這些實體卷時係直接利用邏 輯磁碟機或分割區的邏輯區塊位址(l〇gical. bi〇ck address,LBA)以進行存 取。因此,一旦磁碟陣列子系統將這些實體卷呈現給主機之後,便難以再 變更這些實體卷及其對應之邏輯磁碟機或分割區的組態;特 別是,欲減小一個實體卷及其對應之邏輯磁碟機或分割區的容量更是完全 不可能。此架構使得磁碟陣列子系統在容量上的彈性受到一些限制,因而 使磁碟陣列子系統之儲存空間的運用上受到很大的限制。 _ 舉例而言’若-個剌陣列子系統之容量有8QGGB,原本被組態設定為 兩個400GB的邏輯磁碟機’其分別稱為Lm及LD2,然後分別呈現一實趙 卷’其分別稱為PV1及PV2 ’至主機存取,結果在使用一陣子後發現ρνι 的用途只會關iOOGB,但是PV2的用途所需要的空間一直增加,如此將 使得400GB的容量最終將錢使用。在習知技射,由於ρνι的組態無法 改變且只使ffilOOGB容量’叫置的3gggb容量卻紐使帛。反之,Μ 卻因其空間不足只好再另行添購儲存設備而形成該 RAID子系統在資源上 的浪費。 201028851 習知資料鱗系、贿構下,在__子魏之間抑或是 無法粉資料雜、抑或是錢行資料遷麟之祕贱不彰,這對於資 料儲存系統資源的使用彈性及/或系統效能有著負面_響。 、 又且,在某些習知歸齡錢架構τ,雖在猶_子系統之間可以 進行資料,但是聽絲有議魏聽護L齡資料可利 用性(dataavailability)要求高漲的資訊時代而言是難以接受的。 此外’在某些習知資料儲存系統架構下,所有的輸出入存取命令(1〇 φ access commands)都必須經由儲存節點(st〇rage加㈣中之一個主控儲存節點 (master storage n〇de)來發出以被恰當地執行,即使該輸出入存取命令所繫屬 的資料本身並不位於該節點中的實體儲存裝置中。在有沉重1〇負擔的情況 下,系統的效能可能最終僅取決於該主控儲存節點的1〇處理能力。 因此,如何增加磁碟陣列子系統在儲存資源上更有彈性以避免資源浪費 問題,實為儲存業界的一大難題。 【發明内容】 依據本發明之一實施例,係提出一種存取資料之方法,用於存取一 儲存系統架構中之資料,該儲存系統架構包含至少一磁碟陣列子 系統’該方法包含下列步驟:提供一區段分配系統(Section Allocation System, SAS )用以管理該至少一磁碟陣列子系統中之 一第一媒體區及一第二媒體區;藉由一區塊關聯表得到一主機邏 輯區塊位址(LBA)所對應之一位置索引;藉由—實醴區段對虛擬區段 交互參照機制得到該位置索引所對應之位於該第一媒體區中之一第 201028851 一實雜區段之一位置資訊;將該第一實體區段中之資料複製或搬移至於 ^ 該第二媒體區中之一第二實體區段中;更新該實體區段對虛擬區段交 - 互參照機制中之交互參照,以使得藉由該實體區段對虛擬區段交互參照機 制所得到之該位置索引所對應之位置資訊係該第二實體區段之位置 資訊;以及一定址於該主機邏輯區塊位址之一主機輸入/輸出請求 係利用該第二實髅區段之位置資訊存取該第二實體區段中之資料。 依據本發明之一實施態樣,提供一區塊關聯集區段分配串列及一 • P2V/V2P區段分配串列於該區段分配系統中;利用該區塊關聯集區段分配 _列產生該區塊關聯表;以及利用該P2V/V2P區段分配串列產生該實體區 段對虛擬區段交互參照機制。 依據本發明之另一實施態樣’提供一實體對虛擬映射表(P2V table) 於該實體區段對虛擬區段交互參照機制中,以使藉由該實體區段對虛擬區 段交互參照機制係可得到該位置索引所對應之該第一實體區段之該位 置資訊。 Φ 依據本發明之再一實施態樣,產生一虛擬對實體映射表(V2P table) 於該P2V/V2P區段分配串列中,用以辅助該實體對虚擬映射表以 加速索引到該第二實體區段。 依據本發明之再一實施態樣,更包含一節點表索引該區塊關聯集區 段分配串列。 依據本發明之再一實施態樣,該P2V/V2P區段分配串列包含一屬性 區塊,用以記載該區段分配系統之一區段分配系統識別碼及其相 關設定資訊;一目錄,用以記載指引、管理該複數媒體區所含之 201028851 複數實體區段(section)上之資訊;一虛擬對實體映射表棚位, 用以儲存一虛擬對實體映射表;以及一實體對虛擬映射表棚位, 用以儲存一實體對虛擬映射表。 依據本發明之再一實施態樣,更包含下列步驟:接收該複數媒體區 中之一將被移除之媒體區所對應之一移除訊息;根據該移除訊 息,找出該將被移除之媒體區所繫屬之該區段分配系統;取得來 自該區段分配系統所繫屬之該將被移除之媒鱧區之一實體區段資 0 訊;根據所取得的該實體區段資訊,複製或搬移該將被移除之媒 體區所包含複數實體區段中之一第三實體區段上的資料至其他該 複數媒體區的其中之一;以及判斷該將被移除之媒體區上所包含 之所有該複數實體區段上的資料是否已複製或搬移至其他該複數 媒體區其中之一或多個媒體區中。 依據本發明之再一實施態樣,當判斷該將被移除之媒體區上之所有 該複數實體區段上的資料尚有實體區段未完成複製或搬移至其他 •該複數媒體區其中之一或多個時’則到該複數實體區段中之一第 四實鱧區段;以及進行「複製或搬移該將被移除之媒體區所包含 複數實體區段中之該第四實體區段上的資料至其他該複數媒體區 的其中之一 j之步驟。 依據本發明之再一實施態樣,更包含下列步驟:當判斷該將被移除 之媒體區上之所有該複數實體區段上的資料已完成複製或搬移至 其他該複數媒體區其中之一或多個時,則移除該將被移除之媒體 201028851 依據本發明之再一實施態樣,於該「複製或搬移該將被移除之媒體 區所包含複數實體區段中之一第三實體區段上的資料至其他該複 數媒體區的其中之―」步驟之後更包含下列步驟:根據所取得的 該媒體區之該實體區段資訊,增加該將被移除之媒體區所具有之 有效性檢查序號(VCSN),並通知該將被移除之媒體區所繫屬 之一 VCSN代理人其增加後之該有效性檢查序號。 依據本發明之再一實施態樣,更包含下列步驟:接收一新增媒體區 鲁之一新增訊息;根據該新增訊息,找出該新增媒體區所繫屬之該 區段分配系統;計算該區段分配系統中所有的該複數媒體區中已 使用的複數實體區段之一總實體區段數;考慮該新增媒鱧區所包 含之一實體區段數及該總實體區段數,以計算出各該複數媒體區 之一平衡後的實體區段數(balanced section count);處理該複數 媒體區的其中之一;判斷正在處理中之該媒體區之該實體區段數 是否大於該平衡後的實體區段數;當該正在處理中的複數媒體區 之實體區段數大於該平衡後的實艎區段數時,複製該複數媒體區 m ▼中已使用的複數實體區段上之資料至該新增媒體區;以及重覆進 行該「判斷正在處理中之該媒體區之實體區段數是否大於該平衡 後的實體區段數」之步驟。 依據本發明之再一實施態樣,更包含下列步驟:當所有的該複數媒 體區已處理完成時,結束此增加流程。 依據本發明之再一實施態樣,更包含下列步驟:當該總實體區段數 不大於該平衡後的實體區段數時’則取得該複數媒體區中的下一 201028851 個媒體區進行處理;以及判斷所有的該複數媒體區是否處理完成。 * 依據本發明之再一實施態樣,於「複製該複數媒體區中已使用的複 數實體區段上之資料至該新增媒體區」之步驟前,更包含下列步 驟:增加處理中之該媒體區之一有效性檢查序號(VCSN),並通 知處理中之該媒體區所繫屬之一 VCSN代理人其增加後之該有效 性檢查序號。 依據本發明之再一實施態樣,更包含下列步驟:接收該複數媒體區 Φ 中之一將被移除之媒體區所對應之一移除訊息;根據該移除訊 息,找出該將被移除之媒體區所繫屬之該區段分配系統;判斷所 繫屬之該區段分配系統中所包含之所有複數區塊關聯集區段分配 串列是否皆已確認;當該複數區塊關聯集區段分配串列尚有未完 成確認者時,選擇一區塊關聯集區段分配串列進行確認;判斷該 區塊關聯集區段分配串列中目前進行處理之一第五實體區段是否 關聯於該將被移除之媒體區;當該第五實體區段是關聯於該將被 移除之媒體區時,複製該第五實體區段上的資料至其他該複數媒 體區的其中之一;以及當該第五實體區段並非關聯於該將被移除 之媒體區時,則到該區塊關聯集區段分配串列中之下一個實體區 段。 依據本發明之再一實施態樣,更包含下列步驟:當所有該複數區塊 關聯集區段分配串列已完成確認時,則移除該將被移除之媒體區。 依據本發明之再一實施態樣,更包含下列步驟:當判斷已到目前進 行確認的該區段分配串列之終點時,則到該複數區段分配串列中 201028851 之下一個區塊關聯集區段分配串列;以及重覆進行「判斷所繫屬 之該區段分配系統中所包含之所有複數區塊關聯集區段分配串列 是否皆已確認」之步驟。 依據本發明之再一實施態樣,更包含下列步驟:當該第五實體區段 上的資料複製至其他該複數媒體區的其中之一後,則到該區塊關 聯集區段分配串列中之一第六實體區段;以及進行「判斷是否已 到目前進行確認的該複數區塊關聯集區段分配串列中之該區段分 Φ 配串列之終點」之步驟。 依據本發明之再一實施態樣,於「複製該第五實體區段上的資料至 其他該複數媒體區的其中之一」之步驟前,更包含下列步驟:增 加該將被移除之媒體區所具有之一有效性檢查序號(VCSN),並 通知該至少一將被移除之媒體區所繫屬之一 VCSN代理人其增加 後之該有效性檢查序號。 依據本發明之再一實施態樣,更包含下列步驟:接收一新增媒體區 φ 之一新增訊息;根據該新增訊息,找出該新增媒體區所繫屬之該 區段分配系統;判斷所繫屬之該區段分配系統中所包含之所有複 數區塊關聯集區段分配串列是否皆已確認;當該複數區塊關聯集 區段分配串列尚有未完成確認者時,選擇一區塊關聯集區段分配 串列進行確認;判斷該區塊關聯集區段分配串列中目前進行確認 之一第五實體區段所關聯之一媒體區中已使用的實體區段數是否 大於該新增媒體區之一實體區段數目;當該第五實體區段所關聯 之該媒體區中已使用的實體區段數大於新增媒體區之該實體區段 201028851 數時,複製該第五實體區段上之資料至該至少一新增媒體區;以 及當該所關聯之該媒體區中已使用的實體區段數不大於新增媒體 區之該實體區段數時,則到該區塊關聯集區段分配串列中之下一 個實體區段。 依據本發明之再一實施態樣,更包含下列步驟:當所有該複數區塊 關聯集區段分配串列已完成確認時,則結束此增加流程。 依據本發明之再一實施態樣,更包含下列步驟:當判斷已到目前進 參行確認的該區塊關聯集區段分配串列之終點時,則到該複數區塊 關聯集區段分配串列中之下一個區塊關聯集區段分配串列;以及 重覆進行「判斷所繫屬之該區段分配系統中所包含之所有複數區 塊關聯集區段分配串列是否皆已確認」之步驟。 依據本發明之再一實施態樣,更包含下列步驟:當該第五實體區段 上的資料複製至其他該複數媒體區的其中之一後,則到該區段分 配串列中之下一個實體區段;以及進行「判斷是否已到目前進行 Φ確認的該複數區塊關聯集區段分配串列中之該區塊關聯集區段分 配串列之終點」之步驟。 依據本發明之再一實施態樣,於「複製該第五實體區段上之資料至 該至少一新增媒體區」之步驟前,更包含下列步驟:增加處理中 之該媒體區其中之一有效性檢查序號(VCSN),並通知處理中之 該媒體區所繫屬之一 VCSN代理人其增加後之該有效性檢查序號。 依據本發明之再一實施態樣,更包含索引該區塊關聯集中之一區塊 關聯表(BAT),以使該區塊關聯表指向該虛擬對實體映射表。 11 201028851 依據本發明之再一實施態樣,該區段分配系統更包含一實體區段索弓丨
對實體邏輯區塊位址映射函數(physical location index to LB A mapping function),該實體區段索引表用以記載該第一實體區段及 該第二實體區段之資訊。 依據本發明之再一實施態樣,該實體區段索引表包含一實體區段索 引(physical section index,PSI)、一媒體區識別碼、一邏輯區塊位 址(logical block address,LBA)以及一分區數(secti〇nc〇unt)。 • 依據本發明之再一實施態樣,該實體位置索引對實體邏輯區塊位址 映射函數係為一實體區段索引對實體邏輯區塊位址映射表。 依據本發明之再一實施態樣,該至少一磁碟陣列子系統包含複數實 體儲存元件(physical storage device, PSD )。 依據本發明之另一實施例,係提出一種存取一資料儲存系統架 構中之資料之方法,該資料儲存系統架構係包含至少一磁碟陣列 子系統,該方法包含下列步驟:提供一區段分配系統於該至少一 嚳磁碟陣列子祕中之-主控子系統中,用以管理-虛擬池,該虛 擬池中係包含有該磁碟陣列子系統中所映射出之一第一媒體區及 -第二媒體區;提供-區塊關聯集區段分配串列於該區段分配系 統中,用以管理-提供-P2V/V2”段分配㈣於該區段分配系 統中’用以產生-P2V表;虛擬卷,該虛擬卷係被呈現給一主機 以供其存取資料’·收到-第-主機命令,該第—主機命令中係帶 有-要被轉換—vert)之-主# LBA; #|J用與該區塊關聯集區段 分配串列關聯之-區塊關聯表及與該P2V/V2p區段分配串列關聯 12 201028851 之一 P2V表而將要被轉換之該主機LBA轉換而得到一實體區段索 引;利用一實體區段索引對實體區段LBA映射函數將該實體區段索引 轉換成為位於該第一媒體區中之一第一實體區段之一第一實體 LBA ;收到一第二主機命令,係為一 1〇存取命令且帶有該主機 LBA ;以及利用該第一實體LBA存取位於該第一媒體區中之該第 一實體區段中之資料。 依據本發明之一實施態樣,更包含以下之步驟:進行資料遷徙而將 鲁該第一實體區段中之一資料複製或搬移至位於該第二媒體區中之 一第二實體區段中’並將該資料遷徙之位置相關資訊更改至該 P2V表中’其中該第二實體區段係具有一第二實體LBA ;故到〜 第二主機命令’係為一 1〇存取命令且帶有該主機LB A ;以及利用 該第二實體LBA存取位於該第二媒體區中之該第二實體區段中之 資料》 依據本發明之實施例再提出一種存取磁碟陣列子系統架構中之 參資料之方法’該磁碟陣列子系統架構包含至少一磁碟陣列子系 統,該至少一磁碟陣列子系統包含之至少一第一媒體區,該至少 一第一媒體區包含複數邏輯區塊位址,該方法包含下列步驟. •灰 供一區段分配系統用以管理該至少一第一媒體區,該區段分配系 統中係包含有利用一區塊關聯表(bl〇ck associati〇n table,BAT)、〜實趙 對虛擬索引映射表(P2V index mapping table)以及一實體位置索弓丨 與實體邏輯區塊位址映射函數(phySicai i〇cati〇I1 index to phyiga mapping function);接收來自一主機之一輸入/輸出請求,誘輪 13 201028851 輸出請求係包含一主機LBA ;利用該區塊關聯表(block association table,BAT)、該P2V表及一由該P2V表所產生之V2P表兩者之一、 及該實體位置索引與實體邏輯區塊位址映射函數從該主機LBA得 到一第一實體邏輯區塊位址(LBA);以及利用該第一實體邏輯區塊 位址針對一第一媒體區進行輸入/輸出存取。 依據本發明之一實施態樣,更包含以下之步驟:將該輸入/輸出請求 係轉換出一卷區塊索引(Volume Block Index,VBI);利用該區塊關聯表 (block association table,BAT)由該 VBI 得到一虛擬索引(virtuai index);利用該P2V表及一由該P2V表所產生之V2P表兩者之一, 由該虛擬索引得到一實體索引(Physical location index);以及利用 該實體索引以及該實體位置索引對實體邏輯區塊位址映射函數得 到一實體邏輯區塊位址(LBA)。 依據本發明之另一實施態樣’更包含以下之步驟:進行資料遷徙而 將該第一實體區段中之一資料複製或搬移至位於該第二媒體區中 之一第二實體區段中’並將該資料遷徙之位置相關資訊更改至該 P2V表及/或該V2P表中,其中該第二實體區段係具有一第二實趙 LBA ;接收來自一主機之一輸入/輸出請求,該輸入/輸出請求係包 含一主機LBA ;利用該區塊關聯表(block association table, BAT)、兮 P2V表及一由該P2V表所產生之V2P表兩者之一、及該實體位置 索引與實體邏輯區塊位址映射函數從該主機LBA得到一第一實趙 邏輯區塊位址(LBA);以及利用該第一實體邏輯區塊位址針對一第 一媒體區進行輸入/輸出存取。 201028851 依據本發明之再一實施態樣,更包含以下之步驟:將該輸入/輸出請 求係轉換出一卷區塊索引(Volume Block Index,VBI);利用該區塊關聯 表(block association table, BAT)由該 VBI 得到一虛擬索引(virtual index);利用該P2V表及一由該P2V表所產生之V2P表兩者之一, 由該虛擬索引得到一實體索引(physical location index);以及利用 該實體索引以及該實體位置索引對實體邏輯區塊位址映射函數得 到一實體邏輯區塊位址(LBA)。 • 依據本發明之再一實施態樣,更包含以下之步驟:進行資料遷徙而 將該第一實體區段中之一資料複製或搬移至位於該第二媒體區中 之一第二實體區段中,並將該資料遷徙之位置相關資訊更改至該 P2V表及/或該V2P表中,其中該第二實體區段係具有一第二實體 LBA ;收到一第二主機命令,係為一 1〇存取命令且帶有該主機 LBA ;以及利用該第二實體LBA存取位於該第二媒體區中之該第 二實體區段中之資料。 0 依據本發明之再一實施例,係提出一種在儲存系統架構中產生 虛擬卷之方法,該架構包含一主機及一或多個儲存子系統,每一 子系統包含一或多個儲存控制器及一實體儲存裝置陣列,該方法 包含以下之步驟:將該實體儲存裝置陣列映射成為一或多個媒體 區(ME),每一該媒體區係包含複數實體區段,每一該實體區段係 具有一實體邏輯區塊位址(LBA);產生一區段分配系統(SAS)用於 管理該至少一媒體區,該區段分配系統包含至少一區塊關聯集區 段分配串列(BAS SAL),每一區塊關聯集區段分配串列用於將該一 15 201028851 或多個媒體區之複數實體區段映射成為一虛擬卷,每一區塊關聯 - 集區段分配串列為其所對應之虛擬卷記錄一區塊關聯表(BAT)及 • 一卷容量,該區塊關聯表係可用於將一主機LBA轉換成為一位置 索引及至少一虚擬對實體表(V2P表)記錄有該位置索引與該實體 LBA間之交互參照資訊;以及將該虚擬卷呈現給該主機。 依據本發明之一實施態樣,該虛擬對實體表可用以從該位置索引得 到一實體索引,且該區段分配系統更包含一實體索引對實體邏輯 φ 區塊位址映射函數,可藉以由該實體索引來該得到一實體邏輯區 塊位址(LBA)。 依據本發明之另一實施態樣,該方法更包含:接收來自一主機之一 輸入/輸出請求,該輸入/輸出請求係包含一主機LBA;利用該區塊 關聯表(block association table,BAT)、該 P2V 表及一由該 P2V 表所產 生之V2P表兩者之一、及該實體位置索引與實體邏輯區塊位址映 射函數從該主機LBA得到一第一實體邏輯區塊位址(LBA);以及 ❹利用該第一實體邏輯區塊位址針對一第一媒體區進行輸入/輸出存 取。 依據本發明之另再一實施態樣,該方法更包含:提供一虛擬卷快照 功能性,該快照功能性係之資料結構包含一第二bas說,且由 .該第二BAS SAL產生一或多個bAt’每一該BAT係具有一位置 .索引攔位用以索引該P2V或V2P中之虛擬索引,藉以執行虛擬卷 快照功能。 【實施方式】 201028851 請參閲第1A圖’係為依據本發明之一實施例之一個資料儲存系統架構(簡 稱儲存系統架構)1。該儲存系統架構i係由一主機1〇與一個獨立冗餘磁碟 陣列子系統(redundant array of independent disks subsystem,RAID subsystem’以下稱為raid子系統)20透過溝通管道(communicati〇n channel) 而連接在一起而組成。該RAID子系統20包含一個儲存虛擬化控制器 (storage virtualization controller, SVC )200 及一具有複數個實體儲存媒體 (physical storage device, PSD)410 之 PSD 陣列 400。其中該等 PSD 410 可以 為 HDD、CD、VCD、DVD、TAPE、SSD、Flash Memory、EEPROM 等儲 存媒體。此外,依據本發明之另一實施例,一個RAU)子系統亦可包含複數 個設定為冗餘組態的儲存虛擬化控制器200,以當一個儲存虚擬化控制器 200失效時’另一個儲存虛擬化控制器2〇〇仍能正常運作而接管失效控制器 的工作。 依據本發明之一實施例,在一個RAID子系統20中,透過儲存虛擬化控 制器200及應用程式之操作,係在raxd層2〇4之前加入一虛擬化層 (virtualization layer) 202,也就是在主機1〇與raid層204之間加入該虛擬 參化層202,而使得來自主機1〇而欲存取PSD陣列4〇〇中之資料的10請求 (Input/Outputrequest)均會先為該虛擬化層202所處理,再由該RAID層204 來處理。需說明的是’該虛擬化層202及該RAID層204係包含於儲存虛 擬化控制器200中。此外,在後文中,該虛擬化層亦被稱為虛擬化模組, 而該RAID層亦被稱為RAID模組。 請參閱第IB、1C及1D圖,其中第1B圖係為依據本發明之一實施例 之RAID層204所映射出之邏輯磁碟機(i〇gicai制代,LD)與實體卷(physical volume,PV)之關係’第1C圖係為依據本發明之一實施例之實體卷與其中之 17 201028851 媒體區與分區(sector)之關係,及第ID圖係為依據本發明之一實施例之實趙 卷與其中之媒體區與實體區段(section)之關係。第1B圖中顯示,在RAID 層204中,一或複數個PSDs之各分區區塊(block)(或稱為“分區(sector),,) 組成一或多個邏輯磁碟機(logical drive, LD),每一個LD也可以被進一步切 割成一或多個分割區(partition),每一個LD或分割區係包含複數個分區區 塊’且每個分區區塊係對應到一邏輯區塊位址(logical block address,LBA), 在此亦稱為實體LBA(physical LBA,phyLBA),該等PhyLBA係為連續定 址,例如第1C圖所示之PhyLBAl、PhyLBA2與PhyLBA3·.·等。每一個 肇LD或分割區係對應到一個實體卷(physical volume,PV),每個實體卷係可切 割成一個或多個實趙媒體區(physical media extent, physical ME,後簡稱媒體 區,ME)而被提供給虛擬化層202使用。每個媒髏區係以一個實體區段 (physical section)(或稱為“區段(section)”)為單位儲存資料,一個實體區 段(section)可以包含有一至多個分區區塊。以上所稱之分區區塊在儲存媒體 (例如硬碟)的觀點來看,相當於一個分區(sector)的單位。媒體區中的每 個實體區段(section)皆對應到一個表示實體區段起始位置的LBA以及一個 表示實體區段長度的“分區數(sector count)’’,由此可知,圖1D所示之 ❹ LBA1、LBA2與LBA3…等並不一定是連續的位址。在虛擬化層202中, 係對RAID層204所呈現出來之媒體區進行管理以產生一個虛擬池(virtual pool,VP)(圖未示),包含有一或多個媒體區,並由該虛擬池VP中產生一 或多個虛擬卷(virtual volume, W)(圖未示),擬化層202A並將該等虛擬 卷呈現給主機10供其進行1〇請求存取資料。該虛擬池VP及該虛擬卷將於 下文中藉由第2A圖之實施例加以說明。 請參閲第2A圖,其係為依據本發明之另一實施例之儲存系統架構30。 儲存系統架構30係由多個RAID子系統20透過溝通管道(communication channel)而連接在一起而組成,該溝通管道可以是一區域網路(LAN)、廣域 201028851 網路(WAN)、儲存區域網路(SAN)、網際網、溝通連結 (communication interconnect)、或其他任何可以讓raid子系統2〇間互相傳 遞訊息的溝通管道。在儲存系統架構3〇中,只需要有一個r^D子系統2〇A 中設置有虛擬化層202A,即可將所有rajd子系統2〇中的儲存空間加以 虛擬化成為一或多個虛擬卷W給主機1〇存取。其中,設置有虛擬化層2〇2A 的RAID子系統稱為主控(master)RAID子系統2〇A,簡稱主控子系統(master SUbSystem)20A,被主控子系統20A管理的其他子系統2〇稱為從屬 (slave)RAID 子系統 20B、20C,簡稱從屬子系統(siave subSyStem) 2〇b、20C。 籲在每一子系統2〇A、2〇B、2〇C t,分別建置有一媒體區飼服M_Server
Layer) 203A、203B、203C 於各 RAID 層 204A、204B、204C 之上,以將各 該RAID層204A、204B、204C中之媒體區呈現出來,供主控子系統2〇A 的虛擬化層202A或其他裝置(例如主機1〇等)管理使用。於本實施例中,該 媒體區飼服器層203A係可建置於主控子系統20A的虛擬化層202A中或獨 立於虛擬化層202A之外(圖未示),而RAID子系統20B及20C則無虛 擬化層而為從屬子系統。在此儲存系統架構3〇中,該主機可僅盘 子系統20A聯繫,而該RAID子系統20A係與該RAID子系統20B及RAID Φ子系統2〇C聯繫’所有來自主機10進入儲存系統架構30中的10請求係進 入RAID子系統20A並為其虛擬化層202A所接收,虛擬化層2〇2A則檢查 該10請求所繫屬的(associated)資料是屬於哪些raid子系統2〇A、20B、 20C,而對那些RAID子系統的RAID層204A、204B、204C發出對應的1〇 請求以進行資料存取’並由該虛擬化層202A將結果回報給主機1〇。 依據本發明之另一實施例’主控子系統可以是一個RAff)HEAD而無任 何PSD於其中;在此種情況下,該主控子系統的儲存空間僅能由其從屬子 系統中提供》 為更清楚說明本發明第2A圖的實施例詳的細運作方式,請參閱第2b 201028851 圖。第2B圖係為第2A圖實施例之儲存系統架構3〇中,依據本發明之一 實施例之虛擬池與媒體區及虛擬卷關係之示意圖。儲存系統架構3〇分配媒 體區之示意圖顯示出RAID子系統20A、20B及20C係各自包含有媒體區 ME1至MEn ’且經過虛擬化層202A的管理後產生一個虛擬池(virtualp〇〇1, 以下稱VP) ’包含有一或多個媒體區(例如ra-MEI至RA-ME5、RB_ME1 至 RB-ME5、RC-ME1 至 RC-ME5,其中 RA、RB 及 RC 係分別表示 RAID 子系統20A、20B及20C) ’並由該虛擬池VP中產生一或多個虛擬卷⑺血“ volume,以下稱W),例如Wl、W2、W3至Wm等m個虛擬卷,虛 ❿擬化層202A將該等虛擬卷W呈現給主機10供其進行1〇請求存取。 依據本發明之一實施例,當儲存系統架構30被建立好之後,該等w 被呈報給主機10之卷容量係為一虛擬卷容量,儲存為該w之一區塊關聯 集(Block Association Set,BAS)屬性,但並未真正被分配或指定給該等w, 而是等到有主機10寫入ΙΟ請求發生時’才會有儲存空間從Vp中分配給相 關的W ’這稱為低額容量提供(thin provisiojjjjjg)。依據本發明之另一實施 例’當儲存系統架構30被建立好之後,該等W被呈報給主機1〇之卷容 量係為一實際卷容量’這稱為全額容量提供(foil provisioning)。從vp中分 •配給W的儲存空間是以實體區段(section)為最小單位,每一個區段可以包 含一個或多個區塊(block)(或稱為“分區(sector),,)。 此外’依據本發明之一實施例,當原先產生之W已經呈現給主機1〇 進行10請求存取之後,在VP的資源尚足夠時,仍可俟後新增w以供主 機1〇之其他用途。又且,依據本發明之又一實施例,當原先產生之w已 經呈現給主機10進行10請求存取之後,若有一 w之原有用途已不存在 而使該W無繼續存在之必要時,亦可將其自w中移除,並將其中之容量 釋出至該VP中供其他W利用。 另外,依據本發明之又一實施例,當VP之容量已經不夠其中之w使 20 201028851 用時,如果在該儲存系統架構30中尚存有可用之me的話,亦可新增哑 * 至vp中而讓該VP的容量增加以供其vv使用。又且,依據本發明之再一 . 實施例,在一個VP中的ME,若是未被任何W所使用時,亦可自VP中 移除。如果在VP中的一個ME(例如ME1)上的被使用容量係小於該w中 另一個ME(例如ME2)上的未使用容量的話,則可將該個她(即湖丨)上的 有效資料遷徙至該另一個ME(即ME2)上,並將該個ME (即ME1)移除。 請參閱第2C圖,係為依據本發明之一實施例之用於虛擬池之一區段分 配系統的資料結構之示意圖。主控RAID子系統20A於虛擬化層202A產生 肇一或複數個虛擬池(vp)’ 一虛擬池係設置有一區段分配系統(section allocation system,後簡稱SAS) 211來進行虛擬卷w之管理操作。亦請參 閱第2B圖之實施例’當主控RAID子系統20A管理RAID子系統20A、20B 及 20C 中之媒體區 RA-ME1 至 RA-ME5、RB-ME1 至 RB-ME5、RC-ME1 至 RC-ME5 時’稱該等媒體區 RA-ME1 至 RA-ME5、RB-ME1 至 RB-ME5、 RC-ME1至RC-ME5繫屬(associated)於虛擬化層2〇2A或主控RAID子系統 20A。依據本發明之一實施例,該SAS 211係為一類似檔案系統 (file-system-like)結構,可包含一或多個媒體區,這些媒體區係由一或多個 •作為媒體區段供應者(media section providers)之實體卷(physical volume)經 過切割所形成。SAS 211可以包含一或複數個區塊關聯集區段分配串列 (block association set section allocation list, BAS SAL) 213a ' 213b A— 節點表(InodeTable)215。節點表215係用以記錄區塊關聯集區段分配串列 ' 213a、213b内容存放位置的資訊,即區塊關聯集區段分配串列213a、213b
• 内容的指標(pointer),使系統可以透過節點表215正確取得區塊關聯集區段 分配串列213a、213b的内容。此SAS 211和與其關聯之每個ME皆有一 唯一識別碼(identity,江))。關於區塊關聯集區段分配串列213a、213b,以 一種比喻的說法是:區塊關聯集區段分配串列213a、213b可以視作是SAS 21 201028851 211中的檔案,檔案可以分做許多種,區塊關聯集區段分配串列213a、213b 則是其+—種用作特定用途的檔案。 依據本發明之一實施例,該區塊關聯集區段分配串列,係為W之資 料結構,每個區塊關聯集區段分配串列213a、213b映射出一個w,包 含有:一屬性區塊(AttributeBlock)2131,用以記載此區塊關聯集區段分配 _列213a、213b之ID、大小以及相關設定等資訊;一目錄(direct〇ry)攔位 2133,記載指引、管理該區塊關聯集區段分配串列213a、213b中各實體 區段的資訊;一日誌(Journal)欄位2135,用以存放運作日誌,以供系統發生 #錯誤或斷電情事時可供恢復(recovery)之用;一區塊關聯表(B1〇ckAss〇dati〇n
Table ’以下稱BAT)棚位2137 ’用以儲存指向資料區(Data Area)2139的參 考資訊;以及資料區2139,用以存放主機所發出的IO請求之資料,並且所 存放資料之位置將紀錄於區塊關聯集區段分配串列213a、213b分別所包 含之BAT 2137中。依據本發明之另一實施例,該SAS也可以包含其他種 類之SAL,而非一定要使用前述之bassal。 依據本發明之一實施例,建立一 VV之第一步驟即是建置一個虛擬池, 此係藉由建置- SAS與虛擬池對應而達成。接著,BAS SAI^BAT應被 φ建置並將其所對應之W映射至一主機通道上之CH/ID/LUN,最後,當主 機寫入IO請求發生之時,虛擬化層會向SAS取得足夠的空間以存放1〇請 求資料,並將該等IO請求資料的存放位置記錄於該BAT中。 田個虛擬池建立時,必須指定一個或多個媒體區給此虛擬池,並將 k些媒想1及其所職的f體LBA(phyLBA)贿於sas賴述資料棚位 中。 «月參閱第3A圖’其係為依據本發明之一實施例之由多個1^〇子系統 中之媒艘區所形成的虛擬池之示意圖。第3A圖中係為儲存系統架構3〇中 具有3個子系統ra 20A、RB 20B及Rc 2〇c,各被對應到至娜, 22 201028851 每個ME具有10000個實體區段,且每個實體區段係對應一 LBA,稱之為 * 實體LBA(phyLBA),故每個ME均對應10000個實體LBA。例如RA ME1 係對應 RA-ME1-00001 至 RA-ME1-10000,RB ME3 係對應 RB-ME3-00001 至 RA-ME1-10000,RC ME4 係對應 RC-ME4-00001 至 RA-ME1-10000 等 等。在ME中的各實體區段的LBA被稱為實體LBA,是因為在習知技術中 沒有虛擬化層202A的情況下,子系統RA 20A、RB 20B及RC 20C將其 LD/分割區呈現為實體卷給主機1〇後,主機1〇是以該LBA對實體卷進行 10存取;也因為該LBA被稱為實體LBA,故其所構成之區段稱為實體區 •段(physical section) 〇 假設當一個虛擬池(即VP1)建立之時,VP1中係被組態設定(configure) 成包含有RA的ME卜RB的ME1、以及RC的ME1,則在SAS 211的 METADATA(圊未示)中會將這些ME以及其所包含的實體區段記錄起來, 例如以一實體LBA清單的方式來記錄,如第3B圖所示;或是以一實體區 段索引(physical section index,PSI)對實體LBA表的方式來記錄,如第3C圖 及3D圖所示。 第3B圖係為依據本發明第3A圖之虛擬池中所包含的實體區段之資料 ❹結構之一實施例示意圖。在第3B圖的實施例中,實體LBA清單中的每一 個項目係具有三個欄位,第一個攔位(field)為該ME之ID或索引,第二個 攔位表示該ME的起始位址(start address)(或稱為基礎區塊位址(base block address)),係指向該ME的起始LBA ;第三個攔位表示該ME的實體區塊 , 數量(section count)。藉由實體LBA清單中各個me的先後順序(seqUence) - 與各區塊在各個ME中的先後順序,可得到各區塊在VP中的先後順序,再 利用每一實體區段所包含的分區數量’可以算出每一實體區段的先後順序 及其起始位址’其中每一區段的先後順序在此係定義為該VP中各區段之實 體區段索引(physical section index, PSI) 〇 23 201028851 第3C圖及第3D圖係為依據本發明第3A圖之虛擬池中所包含的實體 . 區段之資料結構之另兩個實施例之示意圖,其中係以實體區段索引(psi)對 實體區段表(physical section index to physical section table, PSI2PS table)來儲 存PSI與實體區段之對照資訊(cross_referenc;jng inf〇rmati〇n)。該表中係具有 四個欄位.PSI 81、ME ID 82、起始位址(start address) 83 (或稱為基礎區塊 位址)、分區數量(sector comit) 84,分別表示該PSI 81、該PSI 81所對應 實體區段之ME ID 82、該實體區段之起始位址(LBA) 8!3、及該實體區段所 包含之分區數量84。具體而言’第3C圖的實施例中,係假設每個實體區 鲁&包含一個分區(sector) ’該第一個項目(entry)係表示psi=〇〇〇〇i之實體區段 係對應至RA-ME1-00001開始的1個分區(sector);則最後一個項目中係表 示PSI=30000之實體區段係對應至RC-ME1-10000開始的1個分區。第3D 圖的實施例中,係假設每個區段包含1〇〇個分區,該第一個項目係表示 PSI=001之實體區段係對應至RA-ME1-00001開始的1〇〇個分區;該第二個 項目係表示PSI=002之實體區段係對應至ra-MEI-00101開始的1〇〇個分 區’最後一個項目係表示PSI=300之實體區段係對應至開 始的100個分區。 Φ 在第3C圖與第3D圖中,係在每一記錄中儲存有一實體區段索引(PSI) 與其所對應之實體媒體區之實體區段LBA。實施本發明時,第3C圖與第 3D圖亦可用其他方式儲存並經由計算而得到對應關係例如第3b圖所示 者。 •除了第3B '3C及3D圖的方式之外,只要能找出psI與其所對應之實 ,體媒體之映射義的函數或方法,例如:侧特定的運算關 係或公式,皆可用於本發明中。 雖然在第3A圖的實施例中係以該3個子系統2〇A、拙2〇B及RC 20C的各自第—個細構成一個w卜但是依據本發明之另—實施例,^ 24 201028851 的ME數量亦可以是其他數目,例如4個、5個等等,且其不必在3個子系 統中輪流加入ME至VP1中,亦不必依照每個子系統中Mg的先後順序將 ME加入VP1中。例如’VP1中若有5個me時,其先後順序可為^^卜 RB ME1、RA ME3、RB ME2、RA ME2 〇 雖然在第3A圖與第3D圖的實施例中係設定該等子系統^2〇八、仙 20B及RC 20C之ME數量皆為5個,且該等me的區段數量相同,皆為 100’但疋依據本發明之又一實施例,每個子系統札^2〇八、肪2〇b及rc 20C 之ME數量可以不同,且每個me的區段數量也可以不同,又且該每個子 •系統RA 20A、RB 20B及RC 20C之總實體區段數量也可以互不相同,例如 該RA具有5個ME’其中RAME1之實體區段數量為1〇〇且以細2-湖5 之實體區段數量為50 ’該RB具有4個ME ’其中RB 之實想區 段數量為60且該RB ME3-ME4之實體區段數量為80,該RC具有6個ME, 其中RC ME1-ME6之實體區段數量皆為5〇。 關於BAT 2137,再請參閱第4A圖。第4A圖係為依據本發明之一實 施例之BAT 2137之示意圖。該BAT 2137的每一個項目(entry)具有3個攔 位.一卷區塊索引(Volume Block Index,VBI)棚位 41、一位置索引(i〇eati〇n φ index)攔位42及一區塊索引位元映像(block association bitmap, BAB)欄位 43 ’分別儲存有VBI、區段索引(secti〇nin(jex,以下稱si)及bab。該VBI 係為虛擬卷VV1所使用的卷區塊block)之順序。該位置索引係為 該卷區塊所對應之該SI,依據本發明之一實施例,該位置索引係指向該卷 區塊所對應的實體區段之起始pSi(startPSI),此係為在沒有V2P映射表的 情況下;依據本發明之另一實施例,該位置索引係指向該卷區塊所對應的 虛擬區段之起始虛擬索引in<jex,vi) ’此係為在有V2P映射表的情 況下;其中V2P映射表將於稍後詳細說明。該BAB係用以判斷該psi所 對應的實體區段是否為VY1所使用。 25 201028851 卷區塊的大小可為一個或多個區段大小,而當一個wj之大小固定 • 時,卷區塊愈大則卷區塊數量愈少,其所對應之VBI數量也愈少,因而項 • 目也愈少,使得整個BAT 2137的大小也變少;反之,當卷區塊愈小則γΒΙ 愈多,使得整個BAT 2137的大小也變大《當一個卷區塊只包含一個區段 時,則一個VBI所對應到的起始SI即是該卷區塊所對應的區段之沿;當一 個卷區塊對應多個區段時’則一個所對應到的起始SI只是該卷區塊所 對應的多個區段中之第-個區段的SI,而該卷區塊所對應的其他區段則可 利用該SI而得到。 • 舉例來說’在圖4A中所顯示者係一個卷區塊對應一個區段的情形。在 第1到第4個項目及第7個項目中,若BAB欄位43為1,則表示這5個項 目的位置索引欄位42中(location index)001、002、101、201及299所對應 的區段已經被VV1所使用,且其所對應的vb〗攔位41分別為〇(n、⑻2、 003、004及007 〇在第5個項目與第6個項目中,其ΒΑβ為〇,表示第5 個與第ό個位置索引欄位42尚未對應到區段因而未被Wi所使用。若是 VV1對主機1〇宣告具有1〇個ygi,但是位置索引攔位42中的、〇〇9 及〇1〇均未被使用,則依據本發明之第一種實施方式,ΒΑΤ2137可以具有 • 10個項目’但位置索引欄位42中的008、009及010對應之ΒΑΒ襴位43 均為0;而依據本發明之第二種實施方式,倘若ΒΑΤ 2137只具有7個項目, 惟需記载項目7已為最後一個項目。 必須說明的是’上述具有ΒΑΒ之資料結構僅係本發明之一實施例;依 據本發明之另一實施例,當亦可以僅將ΒΑΤ存放於快取緩衝記憶體(cache buffer)中而不使用BAB » 請參第4B圖’係為依據本發明之另一實施例之BAT 2137之示意圖。 BAT 2137的每一個項目(entry)具有2個棚位:一位置索引攔位42及一區塊 索引位元映像(block association bitmap, BAB)欄位43,分別儲存有psi及 26 201028851 BAB ’而該等項目之順序即可對應出观。舉例來說,若领對主機川 ,旦〜'有10個VBI ,則位置索引及ΒΑβ的數量均需要有⑴個以與該 個VBI對應,不論其實際上是否已為謂所使用(亦即ΒΑβ為…此種實 施方式的好處在於可省去VBj欄位41所佔據之空間。 由於-個卷區塊係包含一或多個實體區段(例如為m個),且一個實趙 區段係包含-或多個分區(例如為讀),故一個卷區塊係包含㈤乘n個(mx η)分區。而主機端所使用的LBA係為連續定址的且每一 LBA所對應之儲存 空間大小係為一分區之大小,故主機端1〇請求之LBA所對應的之關 參係為:VBI =主機LBA/(mX η)。 雖然以上係以第4Α及4Β圖說明一;ΒΑΤ 2137之資料結構,但是只要 是能找出VBI與W1中實際使用的區段之位置索引(亦即ΒΑβ為i之位置 索引攔位41)之映射關係(mapping)的方法,皆為本發明之範疇。 依據本發明之一低額容量提供(thin provisioning)實施例,當一虛擬卷 W建立好並呈現給主機10後’但尚未收到主機10寫入1〇請求之前,沒 有被分配任何實際的容量,因為在該虛擬卷VV中並無資料,故其BAT中 之BAB均為零’沒有任何PSI被用於該虛擬卷VV中;然而,一虛擬卷容 響量係被儲存為一個BAS屬性並呈報給主機1〇,主機1〇因而會認為此一虛 擬卷之容量係為該虛擬卷容量。 依據本發明之一實施例,若是在虛擬化層202A中有足夠的快取緩衝 (cache buffer)(圖未示)的話,可將虛擬卷W (含W1)中之全部的 MATADATA及區塊關聯集區段分配串列213a、213b以及虛擬池VP(含 VP1)中之一實體對虛擬區段索引映射表(physical-to-virtual section index mapping table,簡稱 physical-to-virtual mapping table, P2V table,或 P2V 表)5135,其儲存於V2P及一虛擬對實體區段索引映射表(virtual-to-physical section index mapping table,簡稱 virtual-to-physical mapping table,V2P table, 27 201028851 或V2P表)5137存入該快取緩衝中,則1〇處理的延遲(latency)將很小,因 而降低儲存虛擬化的時間成本(overhead)°P2V表與V2P表將於後文中說明。 依據本發明之另一實施例,一虛擬卷W在建立時亦可設定一保留容 量(reservedcapacity),以確保該虛擬卷w可具有一最小容量。舉例而言, 右該虛擬卷W之虛擬卷容量為4〇〇GB,但是其保留容量(reserved capacity) 係設定為100GB,則其最小容量將會是ioogb。此可利用SAS區段保留機 制(section reservation mechanism)而達成。當該虛擬卷w的實際容量尚不 足該保留容量時’該SAS區段保留機制會將該保留容量與實際容量差額之 鲁谷量保留起來,並隨著實際容量的增加而減小所保留的容量,直到實際容 量已達到該保留容量為止》 依據本發明之一實施例的全額容量提供(fUU provisioning)實施例’在儲 存系統架構30建立之時,即會將卷容量的空間分配給該虛擬卷w,故該 虛擬卷W中呈報給主機1〇之卷容量係為一實際卷容量,此可確保此w 一定可以用到呈報給主機10之卷容量。 依據本發明之容量提供(provisioning)實施例,其具有以下三種實施樣 態.第一、係利用上述SAS區段保留機制(section reservation mechanism)而 ❹ 達成;第二、係利用區段分配機制(secti〇n allocation mechanism)而達成;第 二、係利用區段指定機制(section assignment mechanism)而達成。 依據第一種實施樣態之「區段保留機制」進行無容量提供(no provisioning)時,虛擬卷W之虛擬容量只是藉由一個數值的設定而被保留 起來’並未被真正地分配(allocate)或指定(assign)給虛擬卷VV,故此一操作 非常快速,而空間的實際分配與指定則是等到主機的1〇請求發生時才進 行。若是有空間需要從虛擬卷W中釋放出來,則也只要更改虛擬容量的 設定值即可。因此虛擬卷VV要更改其虛擬容量將會具有很大的彈性而非 常容易進行且快速。 28 201028851 依據第二種實施樣態之「區段分配機制」進行全額容量提供 . provisioning)時’虛擬卷VV之虛擬容量只是先被分配(au〇cate),並未被真 , 正地指定給他們’故此一操作會較慢於第一種實施樣態之區段保留 機制,而空間的實際指定則是等到主機的1〇請求發生時才進行。如果虛擬 卷W要更改其虛擬容量將會較難於第一種實施樣態之區段保留機制。依 據本發明之一實施例,當進該區段分配機制係利用一已分配區段串列 (allocated section list)將已分配的區段記錄下來。之後,當收到主機的1〇請 求且需要已指定給該至少一虛擬卷使用之儲存空間外的儲存空間時,會從 春該已分配區段串列中提供資料區段指定給虛擬卷VY使用。 依據第三種實施樣態之r區段指定機制」進行預先容量提供 (pre-pmvisioning)時’虛擬卷w之虛擬容量已被實際地指定(assign)給他 們,故此一操作會較慢於第一種實施樣態之區段保留機制及第二種實施樣 態之區段分配機制,但主機的1〇請求進行時可將循序的(sequential)資料連 續地(contiguously)排列’可得到較佳之循序讀取效能。依據本發明之一實施 例’£段的指疋係藉由將位置索引(l〇cati〇n in(jex)填入虛擬卷vv之BAT中 而達成’其實施例請見第4A圖及第4B圖之相關說明。由於虛擬容量已經 參實際指定(assign)給某一虛擬卷W’因此無法將已經指定的空間釋放出來。 除非利用其他機制(例如BAB等)記錄被指定給虛擬卷vv的容量中,實際 被主機的IO請求所使用掉的空間才有可能將其釋放(例如利用遷徙功能 等)。 •依據本發明之一實施例,一虛擬池VP係可對於其中所用掉的容量或所 * 剩餘的容量進行事件通知(event notiflcati〇n),此事件通知門檻(thresh〇ld)可 依容量水準(capacity level)而設或是容量百分比(capacitypercentage)而設。例 如:假設一虛擬池VP之總容量為800GB,可設定當用掉的容量達到7〇〇GB 時發出事件通知,當用掉的容量達到80〇/〇(560GB)時發出事件通知,或是兩 29 201028851 者皆设任-翻即發ώ事件通知。依據本發明之另―實補,該此事件通 知門捏亦可依特定虛擬卷w容量佔虛擬池…總容量百分比而設。例如, 當一個虛擬池VP中提供有10個虛擬卷vv時,平均一個虛擬卷w之容 量佔虛擬池VP總容量百分比為10%,故可設定當一虛擬卷^之容量佔虛 擬池VP總容量百分比達20%或30%(意味著為預估平均值之兩倍或三倍) 時即發出事件通知《又如,當一虛擬卷VV2容量佔虛擬池VP總容量百分 比達50%(意味著為已達虛擬池w總容量之一半)時即發出事件通知。又 或’當某特定之虛擬卷VV之容量佔虛擬池VP總容量百分比達特定值時(意 •味著為已達到某一預估值)時即發出事件通知。 依據本發明之一實施例,該儲存系統架構3〇可以利用單一管理窗口來 管理多個子系統或多個卷的容量分配及利用,具有容量管理方便的優點。 該儲存系統架構30,依據本發明之一實施例,在w空間不敷使用時,可 以加大其呈報給主機10的卷容量(無論其為虛擬卷容量或實體卷容量);依 據本發明之一實施例’當VP空間不敷使用時’可以向me提供者取得可用 的ME容量來使用。依據本發明之一實施例,當一個VP _的(例如VP1)之 空間不敷使用而另一個VP中的(例如VP2)之空間尚有可利用之空間時,可 鲁將另一個VP(即VP2)的可利用空間釋出並將之提供給該個VP(即VP1)使 用。例如,當VP1之空間不敷使用,則VP2可利用遷徙功能將某一 ME移 除再將該ME新增入VP1 ’而使得VP1增加可用的ME空間。 依據本發明之一實施例,當整個儲存系統架構30中之儲存空間不敷使 用時,可以經過簡單的組態設定(configure),即可將一新的RAID子系統加 入儲存系統架構30中,並為各個VP及VV所使用。 利用本發明之低額容量提供(thin provisioning)功能,一個VP可以映射 出多個W,這些W的各別虛擬卷容量總合可以超過該VP之總容量,如 此可以使子系統或儲存系統架構30在儲存空間的運用上具有很大的彈性。 30 201028851 舉例而言,當一個VP(例如圖2B中之VP)之總容量為800GB時,可以 映射出多個W(例如Wl、W2及W3) ’每個W均有一虛擬卷容量呈報 給主機10(例如W1之虛擬卷容量為400GB、W2之虛擬卷容量為500GB、 VV3之虛擬卷容量為700GB)’所有W之虛擬卷容量之總合(i6〇〇gb)可以 超過該總容量’但是實際使用時則視寫入各個VV中的實際1〇請求的資料 量來決定各個VV中的實際使用容量。例如,當使用之時判斷vvi需要 200G、W2需要250G、W3需要350G,故將其各自之虛擬卷容量為以上 之設定結果在使用一陣子後發現W1的用途只會用到100GB,但是W2 籲的用途所需要的空間一直增加’可能會用到500GB,而VV3的容量卻因為 it預算的改變而根本從未使用’結果當時真正的使用空間是νγ〗為8〇GB、 W2為470GB、W3為0GB。此時,由於800GB的VP只用掉了 550GB, 尚有250GB的空間可以使用’若是還有需求,仍可以產生新的νγ,如vym 等。 因此,由以上所述可知,儲存虛擬化的優點在於其儲存系統的管理方 便及系統的擴充性。 關於媒體區伺服器層(ME server layer)203A、203B及203C,依據本發 •日月之一 實施例’一個ME僅可繫屬(associated)於一個主控子系統20A的虛 擬化層202A而為其管理及使用。依據本發明之一實施例,每一子系統2〇a、 20B、20C分別建置有一 ME伺服器層203A、203B及203C於RAID層204A、 204B及204C之上,以將該RAID層204A、204B及204C中之ME呈現出 來供所繫屬的虛擬化層202A管理使用,並為其本身所在的子系統2〇a、 20B、20C的虛擬化層202A找到所繫屬的ME供其管理使用。該ME伺服 器層203A、203B及203C會將其所在之子系統20A、20B、20C的每一個 ME所繁屬的主控子系統2〇a加以記錄。依據本發明之一實施例,在第ία 圖中之實施例中亦有媒體區伺服器層,雖然於第1A圖中並未繪示。 31 201028851 依據本發明之一實施例,係可自虛擬池中移除媒體區,茲說明如下。 首先,在媒體區的區段中的資料係被遷徙至其他媒體區的區段中。遷 徙目的地係由該區段相關的(associated)虛擬卷的『分散式資料』屬性所決定 (亦請參閱與『區段遷徙(Section Migration)』及『分散式資料(Distributed Data)』等主題)。其次,被清空的區段於是被從所連結的BAS Sal中抽掉。 {Then, the emptied sections are then swapped out of the BAS SALs to which they are linked.}最後,當要被移除的媒體區中之所有區段以此種方式被釋出 後,該媒體區係自該SAS中移除》 Φ 請參閱第9圖,其係為依據本發明之又一實施例之儲存系統架構90之 示意圖。該儲存系統架構90不論其架構、運作方式或資料結構,大致上與 第2A圖之實施例相同,相同之處於此不予贅述,並僅就差異之處做說明。 儲存系統架構90,係為多個RAH)子系統(RA 20A、RB 20B、RC 20C) 及一主機10與其相連而成。第9圖之實施例與第2A圖之實施例相較之下, 第9圖之實施例係增設一主機代理人(Agent 〇r H〇st八辟扯)11〇於主機 中’且主機ίο可透過該主機代理人丨1〇的協助而直接與所有的子系統2〇a、 20B、2GC聯繫以存取其H藉此,藉此改善單一主控子祕2()可能會 ❹成為系統效能的瓶頸的問題。於本發明第二實施例中,從屬子系統2〇b、 2〇C與主控子系統2〇A之聯繫可在主機代理人UG及該廳伺服器層 203A、2G3B及2G3C的協助下峨行,其㈣將於下文中說明。 在具有主機代理人IK)的架構下,每—個從屬子系統湖⑽必須將 它的實體媒體區呈現給有權限存取該媒體區所屬的虛擬卷的主機代理人 110以供其使用’而主機代理人11G必鱗這些媒魏遮蔽起絲不為主機 上層所見且亦不為其他主機所見。此一功能係由媒趙區飼服器所執行。 主機代理人110會使用一資料位置詢問命令發送給主控子系統的 虛擬化層2G2A肖其糊±機ω欲雜雜驗χ。絲本㈣之一實施 32 201028851 例,該資料位置詢問命令係可為自定的資料分佈詢問SCSI命令(pr〇priet町 . 她dlStnbUtl〇n qUeiy SCSI command)發送給主控子系統2〇A的虛擬化層 .202A向其詢問主機10欲存取資料雜置,然後根據主控子系統之虛 擬化層2〇2A的回覆資訊直接在資料實體所在之子系統20A、20B、20C上 進行資料存取’詳細說明如後。在主機代理人11〇的資料分佈詢問SCSI命 令的10請求中,提供了定義要存取之虛擬範圍之邏輯區塊位址/區塊數量 (LBA/Block-Count defining virtual range to be accessed)。子系統 2〇A、20B、 20C在收到詢問命令後’則回應以-實體·識觸/邏輯區塊位址/區塊數 聲量/有效性檢查序號之清單⑽〇f physical
Block-Count/VCSN),該清單含括了所詢問的範圍。另一方面,主機代理人 110進一步與各個子系統2〇A、20B、20C的ME伺服器層203A、203B、 203C溝通,以得知各個子系統2〇A、2〇B、2〇c所呈現出來可供存取的me 的相關資訊;據以判斷上述清單中所記載的ΜΕ Π)是屬於哪一個子系統 20A ' 20B、20C。然後’主機代理人no便可以根據以上資訊,使用自定
的讀/寫 SCSI 命令(proprietary Read/Write SCSI commands)直接對該 me ID 所屬的子系統發出資料讀取或寫入的I0請求(或稱為輸出入存取命令(ι〇 • accesscommand))。除了邏輯區塊位址/區塊數量之外,該等自定的讀/寫SCSI 命令另包含了一有效性檢查序號(Validity Check Sequence Numbei; veSN) 於其命令描述碼區塊(commanddescriptorblock,CDB)(圖未示)中,用以供 接受命令的子系統驗證該命令的有效性,其中當該IO請求為有效命令則 依據該IO請求存取RAID子系統20A、20B、20C,而當該1〇請求非為有 效命令’則拒絕該IO請求。依據本發明之另一實施例,該資料位置詢問命 令係可為依據其他通訊協定所定義的資料位置詢問命令。 依據本發明之一實施例,各子系統20A、2〇B、20C的RAID層204A、 204B、204C之上更設有一有效性檢查模組,以本實施例而言,係分別為一 33 201028851 「有效性檢查序號代理人」(Validity Check Sequence Number Agent,以下稱 VCSN代理人)205八、2058、2050做為在主機代理人110與11^層204八、 204B、204C之間處理讀取/寫入輸出入要求(Read/WriteI〇reqUest)(或稱為 輸出入存取命令(1〇 access command))的橋樑,其工作之一便是驗證由主機 代理人110所發出之自定的讀/寫SCSI命令所攜帶的VCSN的有效性,藉 以判斷該輸出入存取命令位址之正確性。於主控子系統2〇A中,VCSN代 理人205A可以獨立設置於虛擬化層202之外,抑或是設置於虛擬化層2〇2A 之内(圖未示)。於各子系統20A、20B、20C中,VCSN代理人205A、 ❹205B、205C可分別與ME伺服器層2〇3A、203B、203C分開獨立設置,或 是兩者整合在一起(圖未示)。 依據本發明之一實施例,更可於具有資料遷徙功能時對每一 ME増設 一 VCSN參數。該VCSN值是由主控子系統20A的虛擬化層2〇2A決定並 告知ME所在之子系統20A、2〇B、2〇c的VCSN代理人2〇5A、2〇5B 2〇5c, 而由VCSN代理人205A、205B、205C實際使用VCSN值以決定其所接收 的1〇明求(或稱為輸出入存取命令(10 access command))的有效性。舉例 來說’每當執行一次遷徙操作時’主控子系統2〇A的虛擬化層2〇2A便進 鲁行遷徙操作的ME的VCSN加l(incremented),並通知該ME所屬的子系統
的 VCSN 代理人 205A、205B、205C,讓該 VCSN 代理人 205A、205B、205C 可以根據新VCSN值驗證資料存取的有效性,其詳細内容將於後文中說 明。依據本發明之—實酬,—次遷絲作可崎對—實龍段進行遷徙 操作。若是某一位置的資料在被主機1〇或代理人11〇詢問之時到該主機川 或代理人no真正發出IO請求之前已經發生改變,藉由VCSN代理人 205A、20SB、205C的設置可以確認從屬子系統偵測到歧變並拒絕該ι〇 請求,以迫使主機1〇或代理人11〇再次向主控子系統2〇A詢問相關資訊。 此外’於本實施例中’主控子系統2〇A可以以一特殊VCSN,(或稱為保 34 201028851 留(reserved) VCSN) ’例如「〇」,但不以此限制本發明,以回應主機1〇 • 或代理人110的詢問’該特殊VCSN表示該主機1〇或代理人11〇所發出的 . 10請求必須都透過主控子系統2〇A來處理。 於本實施例中’更可在主控子系統20A需要主機10或代理人11〇先向 主控子系統20A詢問再決定如何進行主機的1〇請求時將該VCSN改變。 例如,主控子系統20A要主機10或代理人Π0更改IO請求位址時,或是 主控子系統20A在主機1〇或代理人11〇發出1〇請求前要先進行其他資料 操作時,或是資料要被寫至好幾個位址時,或是1〇請求由主控子系統2〇A 籲來處理時’將該VCSN改變。依據實施本發日月之一實施例,主控子系統清 除(purge)從屬子系統20B、20C的VCSN快取(cache),由於此時的從屬子系 統20B、20C的VCSN快取(cache)已沒有任何資料,則主機1〇或主機代理 人110所發出的IO請求所攜帶的VCSN便無法通過一致性檢查如此可使 所有的10請求都被拒絕。 依據本發明之-實施例之有效性檢4序號之_重點說明如下: (1)在主控子系統把有效性檢查序號加w旦是在真正服務讀/寫請求的 從屬子系統檢查序號。 • (2)依據本發明之一實施例’每執行一次遷徙操作時,有效性檢查序號 係被加i且透過自定帶内霞命令送至從屬端子系統。依據本發明之另一 實施例’每當主控子祕需要域代理人先向其詢問再決定如何進行主機 10請求時,則將該VCSN改變。 .⑶回應於資料分佈詢問SCSI命令,將該有效性檢查序號與實趙媒艘 . 識別瑪/邏輯區塊位址/區塊數量一起回覆給主機代理人。 ⑷主機代理人在其發給 ID所在之子系統的自定讀/寫腦命令 中’係包含有該有效性檢查序號。 ⑶從屬子纽檢查在CDB中之有紐檢查序號,以之與自主控子系 35 201028851 :接收_最財雌絲她。如果喊關,舰屬端將拒絕 睛求,並附帶以意涵說明資料(sensedata)以指出原因。 (6)然後主機代理人必須再度詢問以更新映射。 ⑺依據本發明之-實_,有紐檢查序號具有—有效壽命與其繫 屬’該有效壽命係與其位元數量相依。舉例而言,如果假設每秒有1〇〇個 遷徙操作及用16元位長度來姆賴,則序號之有效壽命係為小於 2〃16/1〇〇秒的某一值。 ⑻如果主機代理人利用快取暫存映射關係資料的話,則其必須監控有 豢效性檢查序號的壽命。有效性檢查序號的壽命的開始時點必須自詢問被發 出之時開始起算,而非從回應收到時起算。 ⑼如果6_過枝壽命·’域代理人必驗其映雜取清空並 再度詢問。如果在-個IO請求的執行期間中可能會發生超過有效壽命的情 形的話’則主機代理人應於發出該1〇請求之前再度詢問。 依據本發明之另—實補,亦可不建置該VCSN _,例如,當儲存 系統架構不執行遷徙操作時。此時,在圖6中亦可不在各子系統2〇a 2〇b、 2〇C的RAIDLayer2〇4A、厕、鹰之上設置犯⑽⑽驗、細、 ❹就。又例如,當儲存系統架構透過主控子系統執行操作時;這是因 為該主控子Μ知道其膽屬的實艇賴在的實際位置之故。 依據本發明之又-實施例,亦可當健存系統架構不執行遷徙操作時建 置該VCSN機制’例如:每當主控m需要域代理人先向其詢問再決 定如何進行主機10請求時,則將該VCSN改變,而當主機IO向主控子系 統詢問時(可缺因K)請求被朗子祕魏,也可能是直接_,以保 留VCSN回覆主機,則主機將會因而直接向主機代理人發出1〇請求。 —請參閱第10圖’其係為依據本發明之再一實施例之健存系統架構92 之示意圖。第三實施例與第二實施例大致上相同,相同之處於此不予贊述, 36 201028851 並僅就差異之處做說明。儲存系統架構92係為多個RAID子系統(RA 20A、 RB 20B、RC20C)及一主機1〇與其相連而成,且在主機中亦設有一主機 代理人110。第10圖之實施例與第9圖之實施例相較之下,第圖之實施 例主機10在主機代理人11〇的協助下不僅與所有的子系統2〇a、2〇b、2〇C 均有聯繫,而且每個子系統20A、20B、20C中分別設有虛擬化層2〇2A、 202B、202C,即他們各自可做為主控子系統。藉此,主機1〇可以在代理人 110的協助下直接對各子系統20A、20B、2〇C進行存取,以改善了儲存系 統架構90之主控子系統20A可能會成為系統效能的瓶頸的問題,且提高了 ® 系統資源運用上的彈性。 請參閱第11圖,其係為本發明第1〇圖之實施例之儲存系統架構92指 定媒體區之示意圖。儲存系統架構92中的子系統20A、20B、2〇c係分別 產生一 VP-A 100A、VP-B 100B、VP-C 100C,除了各自擁有的 me 之外, 其他的ME皆可被指派給VP-A 100A、VP-B 100B、VP-C 100C的其中任一 而供其使用》 依據本發明之一實施例,該等儲存系統架構係可設置『分散式資料 (Distributed Data)』屬性,則在某些情況下會啟動一分散式資料功能而使得 ❹儲存系統架構中的資料以分散的方式儲存(attribute)。依據本發明之一實施 例’該『分散式資料』屬性係可針對每一虛擬卷各別設定(办6 "distributed data” attribute supported per Virtual Volume.)。依據本發明之另一實施例,該 圹分散式資料』屬性係可針對一個虛擬池設定因而其中之每一虛擬卷均具 有該『分散式資料』屬性或均不具有該r分散式資料』功能性。 依據本發明之一實施例,各個實體區段係自不同的媒體區以輪流的方 式被分配給一個BAS SAL。 舉例而言,假設在圖3A及3D的實施例中,當—個vYj向vp要空間 時,其方式係利用第4C及4D圖說明如下。當第一次寫入發生時,虛 37 201028851 擬化層會輪細RA·應、肌應、RC_刪轉其巾之可帛區段。假設 該10 /、需要使用到2個區段的空間,則PSI為⑻1及1〇1的區段將會被指 定給W卜如帛4C圖所示。當使用一陣子之後,在另一:欠收到主機寫入 10時,VV1的空間已不足夠,假設此時W1總共實際會用到5個區段的 工間,則其PSI依序為201、002、102 ’如第4D圖所示。由於VV中所使 用的區段對於各ME而言大體上是均勻分佈的,故主機1〇存取會被分散到 各ME上進行,對於子系統而言主機1〇存取也較為分散故各子系統之工 作負荷較為平衡,因而此功能性具有負荷平衡(k)adbalance)的功能。 籲 依據本發明之另一實施例,當『分散式資料』屬性係被設定給-個虛 擬卷且媒體區係被增加至該虛擬卷所在的池中的話,則增加媒體區至池中 會啟動遷徙操作而將在該BAS SAL中的某些資料遷徙至新增加的媒體區的 實體區段中。有關資料遷徙功能的細節將於下文中說明。 當媒體區的實體區段中的資料係被遷徙至其他媒體區的實體區段中 時,遷徙目的地係由該實體區段相關的虛擬卷的f分散式資料』屬性所決 定。有關資料遷徙功能的細節將於下文中說明。 依據本發明之一實施例,該等儲存系統架構係可設置區段遷徙(Secti〇n ❿Migration)功能,則在某些情況下會啟動此區段遷徙功能。 依據本發明之一實施例’當增加媒體區至虛擬池中且r分散式資料』 屬性係被設定給任一個虛擬卷時,會啟動資料區段遷徙操作。 依據本發明之又一實施例,當進行媒體區自虛擬池中移除操作以釋放 屬於要被移除之媒體區的資料區段時,會啟動區段遷徙操作。 依據本發明之一實施例,資料遷徙功能的建制重點如下; (1)在SAS中為資料遷徙功能而設置一實體區段對虛擬區段交互參照機 制(physical section versus virtual section cross-referencing mechanism)。依據本 38 201028851 發明之一實施方式,實體區段對虛擬區段交互參照機制之實施係可藉由設 置一實體到虛擬區段索引映射表(P2V表)而達成。依據本發明之一實施方 式’實體區段對虛擬區段交互參照機制之實施係可藉由,設置一實體到虛 擬區段索引映射表(P2V表)及一虛擬到實體區段索引映射表(V2P表)而達 成。其中該(P2V表)及/或(V2P表)係由SAS中的區段分配串列(SAL)所構 成,稱為 P2V/V2P SAL。 (2)介於BAS SAL及SAS管理層間之界面係藉由虛擬區段索引(而非實 體區段索引)所完成’此一虛擬區段索引在區段遷徙的過程中將不會改變。 • ⑶虛擬對實體區段索引映射表係用以加速虛擬區段索引轉換成為實髏 區段索引。每一個存取一 BAS SAL(或虛擬卷)之資料區段的主機1〇請求必 須參考虛擬對實體區段索引映射表以找到實際資料所在位置之實體區段索 引。 ’、 (4) 在區段遷徙1§財’所純SAS㊣段簡更新制^暫停。此係藉由 鎖定機制而達成。同樣的,在獲得鎖定之前,遷徙程式㈣㈣⑽dea_) 不能進行遷徙。 (5) 將虛擬區段索引轉換成為實體區段索引需要讀取描述資料,因而成為 馨一涞結操作(blocking operation)。 ⑹在所建置之虛擬區段索引中’SAS提供客戶端使用不變的虛擬區段索 引(VSI)而非會遷徙的實趙區段索引。 ⑺實體對虛擬映射資料係贿於每_體_ SAT巾或是另一個類似 於SAT的表中。維護實體對虛擬映射表的目的係為在遷徙以及其他維護操 作的過程中加速交互參照。 ⑻虛擬對實體映射表係儲存於該SAS的—個保㈣卜虛擬區段 索引係基於在該虛擬對實趙映射表中之可用之項目而分配。在遷徙中,僅 >文§屬又索引映射項目,不須修改區段索引,因為Μ對其客戶端使用 39 201028851 不變的虛擬索引。 (9) 依據本發明之一實施方式,虛擬對實體及實體對虛擬映射表係以具有 複本的方式儲存’以確保媒艘錯誤(mediaerr〇rs)將不致造成映射資料無可挽 回的遺失(fatal loss)。依據本發明之另一實施方式,虛擬對實體及實體對虚 擬映射表係可以不具複本的方式儲存。 (10) 依據本發明之一實施方式,SAS日誌功能也將P2V/V2P映射表SAL 納入其中。依據本發明之另一實施方式,SAS日誌功能也可不將P2V/V2P 映射表SAL納入其中。 Φ 根據本發明之一實施例,若是有新的ME加入某一 VP且該VP中設定 有「分散式資料」屬性,或VP中有ME需要移除,則會啟動一區段遷徙 (Section Migration)作業。為使區段遷徙前後,ME中各卷區塊(Volume Block) 的VBI與其位置索引(Location Index)之間的虛擬對應關係不變(請參考第 4A圖與第4B圖),因此,於本發明之一實施例中,採用一虛擬對實體區 段索引映射表(Virtual-to-Physical (V2P) section index mapping table,以下簡 稱V2P Table)以及一實體對虛擬區段索引映射表(Physical-to-Virtual (P2V) section index mapping table ’ 以下簡稱 P2V Table)各自紀錄虛擬索引(Virtual ❹Index)對實體索引(Physical Index)與實體索引(Physical Index)對虛擬索引 (Virtual Index)之對應關係。 請參照第5圖,在SAS中V2P Table與P2V Table係以區段分配表 (section allocation list, SAL)的型式儲存,其對應有一節點表(Inode Table) 〇 此儲存有V2P Table與P2V Table的SAL專供SAS本身管理使用,而不呈 現出去供主機存取資料之用。該SAL有一屬性區塊(Attribute Block),用以 記載此SAS ID以及相關設定等資訊;有一目錄(directory)欄位,用以記載 指引、管理該SAL中各區段(section)的資訊;有一儲存V2P Table的欄位、 以及有一儲存P2V Table的欄位》 201028851 根據本發明之一實施例,P2VTable 5137的資料格式可如第6A圖與第 6B圖所示’兩者同樣是記載實體索引(physical Index)對虛擬索引(Virtual Index)的對應關係》不同的是’第6B圖並不如第6A圖般有紀錄實體索引 (Physical Index)的欄位,而是依照紀錄虛擬索引(virtual index)之各項目 (entry)的先後順序而推知其對應的實體索引(PhysicalIndex)。 根據本發明之一實施例,V2PTable5135的資料格式可如第7A圖與第 7B圖所示’兩者同樣是記載虛擬索引(Virtual Index)對實體索引(Physical Index)的對應關係。不同的是,第7B圖並不如第7A圖般有紀錄虛擬索引 • (Virtual Index)的欄位,而是依照紀錄實體索引(Physical Index)之各項目 (entry)的先後順序而推知其對應的虛擬索引(Virtual Index)。 舉例來說,本發明係利用V2P Table 5135與P2V Table 5137而使得區 段遷徙前後虛擬卷(W)中各卷區塊索引欄位41中的VBI對位置索引攔位 42中的位置索引(location index)的虛擬對應關係不變,而不使資料區段遷徙 作業影響到上層應用端的區塊索引資訊。以下舉一實例說明如何應用V2P Table 5135與P2V Table 5137使得虛擬對應關係不變。假設主機1〇發出一 10請求給虛擬化層202A欲對VBI=001之卷區塊存取資料,請參照第4A φ及4B圖。首先於虛擬化層202A内找到VBI=001所對應的BAB項目 (entry),得知該VBI=001的卷區塊有被其W1所使用,然後找VBI=001所 對應的位置索引為001。在有V2P Table 5135的情況下,第4A及4B圖中 所示的位置索引係對應到第6A及6B圖中的虛擬索引(virtual index)61,據 此,可以找到虛擬索引=001(圖中繪示為“1”)所對應的實體索引(physical index)63為002。有了實體索引之後,可以查詢一如第3C或3D圖的紀錄 表或經由一特定的運算規則或公式,而得知實體索引=002時所對應到的實 體區段位置。若以第3D圖為例,實體索引=002便對應到PSI 81,然後查 詢該表(或以一特定的運算規則或公式取代)便可以得知PSI=002時的實 201028851 體區段位置是在ME ID為RA-ΜΕ卜起始位址(LBA)為101之連續100個 ‘ 分區之處。假設主控子系統20A將資料遷徙至另一 ME(例如,κβ-μη), . 則V2PTable5135中的實體索引63會根據資料的遷徙而改變,例如:虛擬 索引=001(圖中繪示為“1”)所對應的實體索引63由〇02改為對應psi=1〇1。 如此一來’ VBI對位置索引的虛擬對應關係可以不用改變,透過V2pTable 5135的轉換仍然可以順利對應到遷徙後新的資料位置,例如:μ汜為 RB-ME1、起始位址(LBA)為001之連續1〇〇個分區。 請參閱第8A圖,係為當具有V2P表時,vbj與其所對應之實體區段 ❹LBA之映射關係之示意圖。在一個具有V2P表之主控子系統中,虛擬化層 係可利用該區塊關聯表(BAT)、該V2P表、及該實體區段索引對實艘區段 LBA映射函數(或表)8得到乂班與其所對應之實體區段LBA之映射關係。 當一 VBI為已知時’可利用該區塊關聯表找到其所對應之位置索引,再以 該位置索引找到該V2P表之虛擬索引而找到其所對應之實體索引,再以該 實體索引作為該實體區段索引並利用該實體區段索引對實體區段^^八映射 函數而找到其所對應之實體區段位址。 以下說明如何利用上述之ΥΒΪ與其所對應之實體區段LBA之映射關係 參得到一主機命令中之LBA與其所對應之實體區段LBA及分區位址◊當一 個主控子系統收到一個來自主機的命令時,該命令中所帶之LBA(例如一 存取命令之LBA或一資料位址查詢命令中所欲查詢之LBA)係被轉換成其 所對應之VBI及位址相關資訊(例如區段資訊及/或分區資訊),接著可以利 •用上述方式找該VBI到所對應之實體區段LBA,再利用該等位址相關資訊 .(例如區段資訊及/或分區資訊)找到所對應之分區位址。 清參閲第8B圖’係為當發生資料區段遷徙時,观與其所對應之實體 區段LBA之映射關係之變化之示意圖。在帛8A圖的時間之後當一個虛 擬池中發生資料區段遷徙時,若該資料所在實趙區段從^ ^^中psi=〇〇2 42 201028851 之一分區處遷徙至Ij肪_麵中PSI=101另一分區處時,則該V2p表中之ρι ‘由002改變成101 ’而該區塊關聯表田八乃則並未發生改變。 請參M 8C @,係為當只有P2V表而無V2p表時,福與其所對應 之實體區段LBA之映射關係之示意圖。在一個具有p2v表之主控子系統 中,虛擬化層係可利用該區塊關聯表(BAT)、該p2V表、及該實體索引對 實體區段LBA映射函數得到vbi與其所對應之實想區段LBA之映射關 係。當一 VBI為已知時,可利用該區塊關聯表找到其所對應之位置索引, 再以該位置索引找到該P2V表之虛擬索引而找到其所對應之實體索引,再 鲁以該實體索引利用該實體索引對實體區段LBA映射函數而找到其所對應之 實體區段LBA。其中,由於,表中是以實體索引次序存放虛擬索引㈤ 值’在尋找該P2V表中的虛擬索引(VI)與該位置索引(li)相同者時,無法直 接找到虛擬索引(VI)值,而必須對實體索引内容--擷取出再與位置索引 (LI)比較。 、 請參閱第8D圖,係為當只有P2V表而無V2P表時,當發生資料區段 遷徙時,VBI與其所對應之實體區段LBA之映射關係之變化之示意圖。當 該資料所在實體區段從RA-ME1中PSI=002之一分區處遷徙到中 參PSI-101另一分區處時,則該P2V表中之由原本的pI=〇〇2對應至vj=〇〇1 改變成PI=101對應至vi=001,而該區塊關聯表(BAT)則並未發生改變。 由第8C及8D圖中可以得知’若從ΡΙ=〇〇ι開始檢索vj=〇〇i時之pi 值,當pi=o〇2時可以較快找到νι=οοι ’而當pi=i〇1時則較慢找到VI=〇〇1。 由於在第8C及8D圖中之P2V表中之VI值係為不規則排列而必須對實體 • 索引内容--擷取出再與位置索引(LI)比較,故較為費時。 值得注意的是,於本發明之一實施例中,若是不考慮遷徙作業,且沒 有V2P Table 5135與P2V Table 5137,圖4A、4B中所示的位置索引(LI)係 為實體區段索引(PSI),即對應至第3C圖或第3D圖中所示之PSI。 43 201028851 請參閱第12A圖,係為當沒有V2P表及P2V表時,VBI與其所對應之 實體區段LBA之映射關係之示意圖。在一個沒有V2P表及P2V表之主控 子系統中,虛擬化層係可利用該區塊關聯表(BAT)及該實體索引對實體區段
LBA映射函數得到VBI與其所對應之實體區段LBA之映射關係。當一 VBI 為已知時’可利用該區塊關聯表找到其所對應之位置索引,再以該位置索 引利用該實體索引對實體區段LBA映射函數而找到其所對應之實體區段 LBA 〇 以下說明如何利用上述之VBI與其所對應之實體區段LBA之映射關係 籲得到一主機命令中之LBA與其所對應之實體區段LBA及分區位址。當一 個主控子系統收到一個來自主機的命令時,該命令中所帶之LBA (例如一 IO存取命令之LBA或一資料位址查詢命令中所欲查詢之LBA)係被轉換成 其所對應之VBI及位址相關資訊(例如區段資訊及/或分區資訊),接著可以 利用上述方式找該VBj到所對應之實體區段LBA,再利用該等位址相關資 訊(例如區段資訊及/或分區資訊)找到所對應之分區位址。 在發生資料區段遷徙而需變更卷區塊索引(VBI)與實體區段LBA的映 射關係時’若有P2V表及/或V2P表的話,僅需變更P2V表及V2p表中虛 ❹擬索引與實體余引的映射關係,即便是在SAS中尚具有其他資料結構會使 用位置索引來映射實趙區段LBA時亦是如此,而如第8B及8d圖所示。在 發生資料區段遷徙而需變更VBI與實體區段LBA的映射關係時,若無p2v 表及V2P表的話’則需變更BAT表中的卷區塊索引與位置索引的映射關 係,而如第12B圖所示。 惟’若SAS中尚具有其他資料結構會使用卷區塊索引與位置索引來映 射實體區段位置時(例如另一 BAT表)’則需變更所有資料結構中卷區塊索 引2位置索引的映射關係。此時,由於沒有特定資料結構記錄需變更的位 引係用於哪些資料結構中(例如一 BAT表),SAS須將所有具有位置索 44 201028851 引的資料結構(例如所有的BAT旬掃晦一次,以找出是否其中具有該需變 更的位置索引’並於找出後針對每一資料結構中的位置索引進行變更,系 •統魏會因而大略低,甚至於制令人無法接受的程度。 明參閱第21圓其中係顯示有依據本發明之虛擬卷快照(w血& v〇iume snapshot)功紐之—資料結構之一實施例。在本實施例中該sas 2ΐι中 另可包含用於虛擬卷快照功能性之資料結構。MW可以包含一或複數個 用於區塊關聯集區段分配串列BAS SAL#1、BAS SAL#2等及一節點 表,係用以記錄係進行時間點(poinMn·—;簡寫為ριτ)備份㈣㈣之基
❹礎。區塊關聯表(Block Association Tables),以下簡稱ΒΑΤ,係儲存在此BAS 之中。ΒΑΤ係用以儲存交互參考資訊以與具有原始儲存位置&βα)之備份 資料相對應,亦即每個ΒΑΤ内係記錄有指向其所對應之ριτ快照影像 (SnapshotImage)之資訊。而備份資料(快照影像)亦儲存於此bas之中。 依據本發明之一實施例,該區塊關聯集區段分配串列另包含有··一 屬性區塊(Attribute Block),用以記載此區塊關聯集區段分配串列之1〇、 大小以及相關設定等資訊;-目錄(direct〇ry)欄位,記載指引、管理該區塊 關聯集區段分配串列中各實體區段的資訊;一日諸(J_al)棚位用以存 ©放運作日誌,以供系統發生錯誤或斷電情事時可供恢^之用。 由於該虛擬卷快照功能亦係利用BAT表來記錄卷區塊索引與位置索引 的映射關係,一旦發生資料區段遷徙而需變更卷區塊索引與實體區段LBA 的映射關係時,亦須將所有的BAT表掃瞄一次’以找出是否其中具有該需 變更的位置索引,並於找出後針對每一 BAT表中的位置索引進行變更。 由於第10圊的實施例中的該等子系統2〇A、20B及20C均是主控子系 統,子系統20A、20B及20C也均是從屬子系統,則各子系統之me伺服 器層203A、203B、203C會將其自身的RAID層204A、204B及204C甲的 每一個ME記錄其各自所繫屬的主控子系統20A、20B、20C並將其呈現出 45 201028851 來,且主控子系統20A、20B、20C之ME伺服器層203A、203B、203C會 •將自身的虛擬化層202A、202B、202C所繫屬的ME找到供其管理使用。 假設虛擬化層202A產生一 VP-A 100A、虛擬化層202B產生一 VP-B 100B、 虛擬化層202C產生一 VP-C 100C,則]ViE伺服器層203A會記錄RA-ME1 繫屬於子系統20A ’ RA-ME2、RA-ME3、RA-ME4繫屬於子系統20C ; ME 4司服器層2〇3B會記錄RB-ME1繫屬於子系統20A,RB-ME5、RB-ME6繫 屬於子系統20C ; ME伺服器層203C會記錄RC-ME1繫屬於子系統20A, RC-ME2、RC-ME3、RC-ME6 繫屬於子系統 20B。 Φ 以上所述之各儲存系統架構實施例係為本發明對於館存虛擬化之應 用。更甚者,依據本發明之一實施例,在該等儲存系統架構實施例中係可 建制資料遷徙功能性。以下係為本發明在資料遷徙上功能性的說明。
雖然在前述的例子中,僅例示有一個主機1〇連接於一主控子系統2〇A 上,但是依據本發明之其他實施例,可以有複數個主機1〇連接於一主控子 系統20A上。 第13圖係為依據本發明之一實施例之因移除撕而引發的遷徙作業之 流程圖。在本實施例中,當主控子系統2〇A _擬化層2〇2八接到一將被 參移除的ME所對應之-移除時,首先,於步驟5〇卜根據該移除訊息,找出 該將被移除的ME所繫屬的SAS(w)e步驟5〇1的尋找過程可以從任一 sas(vp)開始,如果判斷結果不是,再尋找另_個sAs(vp)來加以判斷;或 者是可以複數個SAS(VP)同時進行觸^於㈣5()2,朗與鑛被移除的 ME所繫屬的SAS(VP)後’則從該SAS(yp)的μ巾取得與將被移除的廳 關聯的實體區段資訊。於步驟503,根據所取得的實艘區段資訊,從第-個 區段開始。於步驟5〇4,在進行該區段的遷徙作業之前,虛擬化層先將該將 被移除_的謂加1、且通知_所繫屬的子系統的·代理 、後的VCSN於步碌5〇5,更改VCSN的相關作業完成後開始複 46 201028851 製(Copy)或搬移(M〇ve)該將被移除的me所包含的實體區段的資料到另— - 個ME。於步驟506 ’然後判斷該將被移除的ME上所包含的實體區段資料 ,是否皆已複製或移動到另一或多個me;當判斷該將被移除的ME上之 所有實體區段上的資料已完成複製或移動至其他該複數媒體區其 中之一或多個時,則移除該將被移除之媒體區,此流程係完成。 否則,於步驟506 ’當判斷該將被移除的ME上尚有實體區段未完 成複製或移動至其他ME其中之一或多個時,則執行步驟5〇7,取得 下一個實體區段的資訊’然後重複進行步驟504到步驟5〇6的流程。 傷^ 第14圖係為依據本發明之·一實施例之因增加ME而引發的遷徙作業之 流程圖。在本實施例中,當主控子系統20A的虛擬化層2〇2a接到一新增 訊息得知有新的ME加入某一 SAS(VP)時,首先,於步驟601,根據該新增 訊息,找出該新增ME所繫屬的SAS ;接著,計算該SAS(VP)中所有施 已經使用的實體區段的總實體區段數,此資訊可以由該SAS(yp)的sat中 獲得。於步驟602,利用該總實體區段數及me數(亦包含該新增的μ), 以計算出每一個繫屬於該SAS(VP)的ME之一平衡後的實體區段數 (balanced section count)。於步驟 603 ’ 選取一來源 ME (Source ME)開始進行 φ處理,其中來源ME係指SAS(VP)中原有之所有me為。於步驟6〇4,判斷 是否所有的來源ME皆已處理過。若步驟604的判斷結果為「是」,則結 束此流程。若步驟604的判斷結果為「否」,則至步驟6〇5。於步驟6〇5, 判斷正在處理中的來源ME之實鱧區段數是否大於該平衡後的實體區段 -數。若步驟605判斷為「是」,則至步驟6〇6進行該來源me的VCSN更 *改程序’包括將該來源的VCSN加卜且通知該來源ME所繫屬的子 系統的VCSN代理人其加1後的VCSN(step 6〇6),然後至步驟6〇7將該來 源ME的區段資料複製或搬移到新增的μ(目標me)。以上作業完成後, 來源ME的實體區段數將因移出資料而減少,因此回到step6()5,繼續比較 47 201028851 來的平衡後的實難段數,如果 •判斷結果為「是」,重複steP606與steP607。若步驟605判斷為「否」, .即正在處理中的ME之實體區段數不大於該平衡後的實趙區段數時^進 =步驟608以取得下一施進行處理,然後再回到步驟6〇4騎所有的紙 是否已處理完成,重複進行之後的判斷與處理。 第I3圖與第Η圖所描述的流程係處理只有!個施移除與!個新刚 加入的情況。若是移除或加入第i個細之後且第13圖或第^圓的流程 還在進行中’又移除或加入第2個廳,根據本發明之一實施例第^圖 擧或第Μ圖的流程將因移除或加入第2個細而重新開始。於第Μ圈的流 程,因為第1個加入的ME 6經接收了-些搬移進去的實趙區段上的資料, 因此第1個加入的ME相對於第2個加入的細*言,亦可能扮演傳遞資 料之來源ME角色。 以上第13圖與第14圖係為以me為基礎而進行的遷徙作業。接下來 的第15圖與第16圖係為以SAL為基礎而進行的遷徙作業。 請參照第I5圖,係為依據本發明之另一實施例之因移除施而引發的 遷徙作業之流程圖。當主控子系統20A的虛擬化層2〇2A接到一將被移除 ❹之ME所對應之-移除訊息時,首先,於步驟7(Π,根據該移除訊息,找出 該將被移除的ME所繫屬的SAS(VP) ««步驟7⑴的尋找過程可以從任一 SAS(VP)開始’如果判斷結果不是,再尋找另一個SAS(yp)來加以判斷;或 者是可以複數個SAS(VP)同時進行鑛。接著,於步驟7()2,_與該將被 移除的ME所繫屬的SAS(VP)後,判斷所繫屬之該SAS(vp)中的所包含之 所有區塊關聯集區段分配串列是否已確認。若步驟7〇2的判斷為「是」, 則移除該將被移除之媒體區,此一流程結束。若步驟7〇2的判斷結果為 「否」,則進行步驟703’亦即,當該複數區塊關聯集區段分配串列 尚有未完成確認者時,選擇一區塊關聯集區段分配串列進行確 48 201028851 認。若步驟703的判斷結果為「是」,則進行步驟7〇4,取得另一個SAL 的資訊,並回到步驟702。若步驟703的判斷結果為「否」,則進行步驟 705判斷該區塊關聯集區段分配串列中目前進行處理之實體區段 是否關聯於該將被移除之媒體區。當步驟7〇5的判斷結果為「是」 時,表示該目前進行處理之實體區段是關聯於該將被移除之媒體 區此時進行步驟706,虛擬化層202先將該將被移除的me的VCSN加 卜且通知該ME所繫屬的子系統的VCSN Agent其加1後的VCSN。於更 改VCSN的相關作業完成後,進行步称7〇7,複製(c〇py)或搬移⑽請)該 籲目前進行處理之實體區段上的資料至其他該複數媒體區的其中之 一。然後取得下一個區段的資訊(step7〇8),並回到步驟7〇3,重複進行 步驟703到步驟708的流程。#步驟7〇5的判斷結果為「否」時表示 I目剛進行處理之實體區段並非關聯於該將被移除之媒體區此 時進行步驟708 ’到step 708取得下一個區段的資訊,並重複之後的流程。 "月參,.、、第16圖,係為依據本發明之另一實施例之因增加Mg而引發的 遷徙作業之流程圖。當主控子祕胤的虛擬化層2()2a接到一新增廳 之新増訊息時’首先’找出該新増細所繫屬的SAS㈢尋找過程可以 Φ從任SAS(VP)開始,如果判斷結果不是,再尋找另一個sas㈤來加以 判斷’或者疋可以複數個SAS(yp)同時進行判斷。於步驟SOI中,根據該 新増訊息’找出該新增媒體區所繫屬之該區段分配系統。於步驟 判斷所科之該區段分配祕中所包含之所有複數區塊關聯 集區段分配串列是否皆已確認。當步驟8〇2的判斷結果為「是」時, 表丁所有該複數區塊關聯集區段分配串列已完成確認,則此流程結 ^步驟802的判斷結果為「否」時,表示該複數區塊關聯 :、區段分配串列尚有未完成確認者,則進行步驟803。於步驟803, 選擇-區塊關聯集區段分配串列進行確認,觸是否已_ 了目前進 49 201028851 行確認的SAL的終點(end〇flist,E〇L)。若步驟8〇3的判斷結果為「是」, 則進行步驟804,取得另一個BAS SAL的資訊,並回到步驟8〇2。若1步 驟803的判斷結果為「否」,則進行步驟8〇5,進一步判斷該bassal 在與目前進行確認之區段關聯的ME中是否有較多的區段數。若幼印8〇5 的判斷結果為「是」,表示該目前進行確認之實體區段所關聯之該媒 體區中已使用的實體區段數大於新增媒體區之該實體區段數則 進行步驟806,虛擬化層202先將該新增的me的VCSN加卜且通知該 ME所繫屬的子系統的VCSN代理人其加i後的VCSN。更改VCSN的相 鲁關作業完成後,進行步驟8〇7,開始複製(c〇py)或搬移該區段的資 料到新增的ME。然後進行步驟8〇8,取得下一個區段的資訊,並回到步 驟803,重複進行步驟803到步驟8〇7的流程。如果㈣8〇5的判斷結果 為“否”,表示該所關聯之該媒體區中已使用的實體區段數不大於新 增媒體區之該實體區段數,則到步驟8〇8取得下一個區段的資訊並 重複之後的流程。 以上第15 ®與第16 ®所描述的流程係處理只有i個施移除與i個 新ME加入的情況。若是移除或加入第丨個me之後,且第15圖或第 ❿圖的流程還在進行中’又移除或加入第2個細,根據本發明之一實施例, 第15圓或第16圖的流程將因移除或加入第2個施而重新開始也就是 該SAS(VP)中的所有SAL需要重新進行確認。 在進行遷徙作業的過程中’主機仍可能隨時對進行遷徙作業的廳發 出讀Φ7寫人資制IO請求。為秋在遷卿業的過財存取到錯誤的資 料’於本發明之-實施例中,每一施係、設定一有效性檢查序號(vc_, 每當ME中的-個實艎區段上的資料要遷徙之前,主控子系統的虛擬化層 必須先更改該ME的VCSN,並通知該me繫屬的子械的VCSN代理人, 使得VCSN代理人可以根據VCSN來判斷1〇請求的有效性。 50 201028851 第17圖係為依據本發明之一實施例之主機1〇或主機代理人11〇向主 . 控子系統20A的虛擬化層202A詢問VCSN的流程圖。第18圖係為依據本 . 發明之一實施例之接受1〇請求的VCSN代理人確認其所攜帶VCSN的有效 性的流程圖。需說明的是,IO請求係可由主機1〇或主機1〇内所包含之代 理人110所發出,而以下為簡化說明,僅以代理人110發出1〇請求做為說 明,熟悉該技術領域之人士應當可輕易推得,主機1〇亦可取代代理人11〇 而發出IO請求,或是以RMD子系統觀之,該1〇請求係由該主機1〇所發 出0 • 請同時參照第17圖與第9圖。於步驟901,代理人11〇發出包含一自
定的資料分佈詢問scsi命令之ίο請求向主控子系統20A的虛擬化層2〇2A 詢問欲存取之目標資料(targetdata)的實體位置資訊。於步驟9〇2,主控子系 統20A的虛擬化層202A在收到詢問命令後,則回應代理人11〇 一實體媒 體識別碼/邏輯區塊位址/區塊數量/有效性檢查序號之清單(Ust 〇f沖㈣㈤ MM)/ LBA/Bl〇ck-Count/vCSN) ’該清單含括了所詢問的範圍,然後結束 此-詢問流程。於本發明之-實施例中,步驟9〇2在進行回應之前必須 先確認代理人110所詢問的目標資料所在的施是否正在實體區段上的資 ©料進行區段遷徙作業的過程中。如果確認結果為「是」,則主控子系統 可能延遲回應直到實體區段上的資料區段遷徙作業結束,或是回應一個 「Busy」的訊息給代理人11G赫它等_下再試—次,妓回覆一個指示 (例如:reserved VCSN)要求代理人110所發出的1〇請求必須發送至主控 子系統20A。 請同時參照第18圖與第6圖。於步驟9〇3,代理人m根據該清單的 資訊對目標資料所在之目標子系統發出1〇請求。於步驟州,該 請求由目標RAID子系統中的VCSN代理人所接收。於步驟9〇5,vcsn代 理人將該ίο請求中所播帶的VCSN與虛擬化層纖通知的vcsn做比 51 201028851 較’看兩者是否-致’若是—致,表示該1〇請求中所搆帶的vcsn是有效 -的’反之則是無效。於步驟9〇7 ’若是步驟9〇5的比較結果是該1〇請斜 •所攜帶的VCSN是有效的,則VCSN代理人將該IO請求轉移給从1〇層。 於步驟908,RAID層處理完該1〇請求後,將處理的結果經由代理 人回覆給代理人110。於步驟906,若是步驟9〇5的比較結果是該ι〇請求 中所攜帶的VCSN不是有效的,則VCSN代理人拒絕該1〇請求並結束此一 確認流程。 综上所述’代理人11〇被拒絕存取後,可能會有兩種做法:第一種做 ⑩法’再向主控子系統20A的虛擬化層202A詢問正讀的VCSN,然後再根據 正確的VCSN發出另- 1〇請求以存取資料,也就是再重複進行一次第 圖與第18圖的流程。第二種做法,代理人11〇放棄直接向施所在的子系 統發出IO請求,而是轉而尋求主控子系統2〇A的虚擬化層2·協助存取 資料。 值得注意的是’第17圖所描述之詢問VCSN的流程可能發生在發出1〇 請求之前或之後,端視代理人11〇在何時有此需求。舉例來說,如果之前 已經有IO請求存取過相同區塊的資料,則代理人11〇會有與該資料區塊對 φ應的VCSN的紀錄’此時代理人11〇可以不要進行第17圖的詢問流程,而 是直接根據之前的紀錄向目標RAID子系統發出1〇請求,也就是直接進行 第18圓的流程。若是此10請求所攜帶的¥€8]^為無效而被拒絕,則代理 人110可能馬上或在下次發出1〇請求前,進行第17圖的詢問流程。 請參閱第19圖’第19圖係繪示依據本發明之一儲存系統架構中之直 接媒體區存取功能之一實施例的流程圖。於此,主機透過一主機代理人(host agent)來處理1〇存取等事項。因此,主機代理人先掃描該等me來以便得 知與該等ME相關之ME組態/位置(conflgurati〇n/i〇cati〇n)等資訊,並據以產 52 201028851 生一份清單用以紀錄ME屬性及他們位於哪一個me伺服器之下,如:媒 體區識別碼對儲存節點交互參照表(ME-identifjer-toeorage—node cross-reference table)(步驟2100);然後,主機代理人接收到來自於主機 之一 10請求(步驟2102 );接著’主機代理人傳送一資料位置詢問命令((仏切 location query command)給一虛擬池主控者(vpM)來得到被定址資料的 實體位置(步驟2104),其中,該資料位置詢問命令係由一命令碼、一虛 擬卷識別碼/代號(handle)及欲存取之區塊範圍(基礎區塊位址(base bl〇ck address)與區塊數(blockcount))所構成。該虛擬池主控者在接收到該資 參料位置詢問命令後,會發送一資料位置描述碼(datal〇cati〇ndescript〇r)給 主機代理人’其中,該資料位置識別碼包含有一資料位置資訊((丨血1〇cati〇n information)(步驟2106);再者,主機代理人依據該資料位置資訊產生 一 10請求(步驟2108),其中,於第19圖中所示,1〇請求又稱作為1〇 存取命令(10 access command);接著,主機代理人使用媒體區識別碼(ME ID)及該媒體區識別碼對儲存節點交互參照表來確定所要存取的目標儲存 節點後,就發送出一 1〇請求給該目標儲存節點,其中,媒體區識別碼係被 包含於該資料位置資訊中(步驟211〇)。該目標儲存節點之媒體區伺服器 •查驗該1〇請求中之有效性檢查資訊(Validity Check Information,VCI)是否 與來自該虛擬卷主控者中的有效性檢查資訊(步驟2112及步驟2U4)一致; 若該10請求中之有效性檢查資訊與來自該虛擬卷主控者中的有效性檢查資 訊與該虛擬卷主控者巾料錄檢查資訊—致,麟目_存冑點之該媒 體區伺服器執行該1〇請求(步驟2116);而若該1〇請求中之有效性檢查 資訊與該虛擬卷主控者中的有效性檢查資訊與來自該虛擬卷主控者中的有 效性檢查資訊不-致’職目雜存節點之觸體區舰器喊一錯誤指 不信號(error indication)給該主機代理人,且該主機代理人再次執行上述 之步驟2104(步驟2118)。 53 201028851 在本實施例中,該主機代理人並不需要將來自該虛擬卷主控者中的有 - 效性檢查資訊儲存起來,但是必須於每次發出ίο請求之前,先向該虛擬卷 . 主控者發出一資料位置詢問命令後,才能向目標ME發出1〇請求。 請參閱第20A圖及第20B圖’第20A圖及第20B圖係繪示依據本發明 之一储存系統架構中之直接媒體區存取機制之另一實施例的流程圖。於 此,主機代理人先掃描該等ME來以便得知與該等me相關之me組態/位 置(configuration/locaticm)等資訊,並據以產生一份清單用以紀錄me屬性及 參他們位於哪一個ME祠服器之下,如:媒體區識別碼對儲存節點交互參照 表(ME-identifier-to-storage-node cross-reference table)(步驟 2202);然 後’主機代理人接收到來自於主機之一 1〇請求(步驟22〇4)。然後,主機 代理人在發送一 ΙΟ請求給一儲存節點前,會先檢查該資料位置資訊是否存 在於其快取記憶體中(步驟2206及步驟2208);若該資料位置資訊不存在 於主機代理人之快取記憶體中’主機代理人傳送一資料位置詢問命令(血位 location query command)給一虛擬池主控者(vpM)來得到被定址資料的 •實體位置(步驟221〇),其中’該資料位置詢問命令係由一命令碼、一虛 擬卷識別碼/代號(handle)及欲存取之區塊範圍(基礎區塊位址(_此洗 address)與區塊數(blockcount))所構成。該虛擬池主控者在接收到該資 . 料位置詢問命令後,會發送一資料位置描述碼給主機代理人,其中,該資 *料位置識別瑪包含有一資料位置資訊(―loeatiGn(步驟 2212);接著’主機代理人會將該資料位置資訊儲存在其快取記憶體中(步 驟2214)並決定是否檢查該有效性檢查資訊之壽命(步驟2216)。承上步 54 201028851 驟2206及步驟2208 ’若該資料位置資訊存在於主機代理人之快取記憶體 中,主機代理人決定是否檢查該有效性檢查資訊之壽命(步驟2216)。 承上述之步驟2216,若決定不檢查該有效性檢查資訊之壽命,該主機 代理人依據該資料位置資訊產生一 1〇請求(步驟223〇);接著,主機代理 人使用媒體區識別碼及該媒體區識別碼對儲存節點交互參照表來確定所要 存取的目標儲存節點後,就發送出一 1〇請求給該目標儲存節點,其中,媒 體區識別碼係被包含於該資料位置資訊(步驟2232);然後,該目標儲存 •節•點之媒體區飼服器檢查該1〇請求中之有效性檢查資訊(να)是否與來 自該虛擬卷主控者中的有效性檢查資訊(步驟2234及步驟2236) 一致。 承上述之步驟2236 ’若該1〇請求中之有效性檢查資訊與來自該虛擬卷 主控者中的有效性檢查資訊與該虛擬卷主控者中的有效性檢查資訊一致, 則該目標儲存節點之該媒體區伺服器執行該1〇請求(步驟2238);而若該 1〇請求中之有效性檢查資訊與來自該虛擬卷主控者中的有效性檢查資訊與 鲁該虛擬卷主控者中的有效性檢查資訊不一致,則該目標儲存節點之該媒體 區伺服器回覆一錯誤指示信號(err〇r indicati〇n)給該主機代理人(步驟 2240 )且該主機代理人再次將其所屬之快取記憶體中之特定資料位置資 訊或全β卩資料位置資訊視為無效(步驟2242),並再次執行步驟 承上述之步驟2216,當決定檢查該有效性檢查資訊之壽命則該主機 代人判疋該資料位置資訊之壽命是否已過完(elapsed)(步驟nig); s資料位置資訊之壽命已過完(即已超過其有效壽命),則該主機代理人將 其所屬之快取記憶體中之特定資料位置資訊或全部資料位置資訊視為無效 (步驟2220),並再次執行步驟221〇 ;若該資料位置資訊之壽命尚未過完 55 201028851 (即尚未超過其有效壽命),則執行步驟2230。 - 在本實施例中,該主機代理人必須將得自該虛擬卷主控者中的有效性 ,檢查資訊儲存於一儲存裝置中,例如一快取記憶體中,而於每次欲向目標 ME發出1〇請求之前,先檢查該IO請求之資料位置資訊已儲存於該儲存裝 置中’若該資料位置資訊已儲存於該儲存裝置中時,可以直接向目標Mg 發出10請求而不必向該虛擬卷主控者發出一資料位置詢問命令。 於此,針對上述實施例中之有效性檢查資訊的查驗(步驟2112及步驟 鲁2114)作一細部說明。於本發明之有效性檢查資訊的查驗之一實施例中, 該目標儲存節點更包含有一有效性檢查單元,用以執行下列步称來檢查源 自該主機代理人之每一 10請求之有效性。 承上所述,該些步驟包含有:首先,該有效性檢查單元接收到來自該 主機代理人之一 10請求後,會依據該1〇請求所欲存取之ME來選擇對應 之一 ME server ’其中,該1〇請求包含有一有效性檢查資訊,且該有效性 檢查資訊更包含有一有效性檢查序號;此外,每一 ME server包含有一或多 個清單,該等清單係記錄有ME的區段及其所對應之VCSN值。 φ 接著,該有效性檢查單元擷取與該10請求相關之ME之該清單中之一 或多個有效性序號中之一最新有效性檢查序號,並將該最新有效性檢查序 號與該IO請求中之一有效性檢查序號進行比對;當該IO請求中之有效性 檢查序號大於該最新有效性檢查序號時,則該有效性檢查單元不將該10請 求視一有效之IO請求,並執行上述實施例中之步驟2118 ;而當該10請求 中之有效性檢查序號不大於(i.e·小於或等於)該最新有效性檢查序號時, 則該有效性檢查單元依據該1〇請求所欲存取之位址來擷取一有效性檢查序 號(後稱“對應於該位址之該有效性檢查序號”),並比對該1〇請求中之 該有效性檢查序號與對應於該位址之該有效性檢查序號。 56 201028851 若對應於該位址之該有效性檢查序號大於該1〇請求中之該有效性檢查 •序號’則該有效性檢查單元不將該IO請求視為一有效之1〇請求並執行 上述實施例中之步驟2118,而若對應於該位址之該有效性檢査序號不大於 (i.e.小於或等於)該1〇請求中之該有效性檢查序號,則該有效性檢查單 元將該ίο請求縣-有狀IQ請求,域行上毅賴巾之步驟2i 16。 於本實施例中所述之步驟2丨U、2114、2116及2U8,在說明第19圖 時’已有說明’故於此不予贅述。 在上述有主機代理人的情況下,於該主機向主控子系統發出資料位置 _詢問命令以取得資料位置資訊時,該主控子系統係以資棒^置詢問命令中 之主機LBA利用第8A及8C圖中的方式而得到資料位置資訊。 雖然前述之各實施例係以RAID子系統來說明,惟,依據本發明之一 實施例,該RAID子系統亦可以由沒有raid功能之磁碟陣列子系統(disk array subsystem)替代而不影響發明實質。在此情形下,該實體卷係透過該儲 存虛擬化控制器200而由沒有RAID功能之磁碟陣列子系統所直接映射而 成0 φ直接媒體區存取功能之一實施例之詳細說明 一種克服某些傳統儲存系統架構之效能瓶頸的方法是,使主機(包含 設置其中的主機代理人,以下同)可以直接發出1〇至一儲存節點(st〇rage node),且該儲存節點(storage node)中包含資料所在的ME,而非間接地透過 一虛擬卷主控者。以上的方法,統稱為「直接媒髏區存取(Direct ME Access)」 功能。其中,作為該虛擬池主控者的儲存節點即為前述之其中設置有虛擬 化層202之儲存虛擬化控制器200。 爲了實施「直接媒體區存取j功能,主機首先必須紀錄一 ME的清單 57 201028851 Γ性,找出它們在哪—媒體區舰_之下。 疋射田操作而達成,該掃描操作荒集關於ME組態 (^frtlGn^㈣的資訊。若是系統中贼_/位置是狀的,主機ί 位置序時掃描施娜位置-次。然而,较纽_組態/ =能動態地改變,例如一施的所有權可能由一儲存節點轉移至另一 子點’則需要一個機制通知主機(ho啦—個改變發生以便主機可以 、做〜掃描。僅在改變後單純地回覆—錯誤條件(例如:a ‘‘触編ion”) :應從主機接收的第—命令,可鮮足簡免基於改變前之狀態而產生 的輸出入存取命令被執行,因為目前發出的輸出人存取命令可能在主機接 收到錯誤通知之前已經前往媒體M服器了(制··在本實施例中,此媒 體區伺服料身包含有VCSN代理人的魏,以比賴向的做法 是讓媒趙區伺服器拒絕所有的輸出入存取命令直到它從主機收到狀態改 變的確認回應。 其中-種此類機制是,要求主機在對某一目標細發出任何輸出入存 取命7之刖須先要到該ME的存取許可(access permissi〇n)。若是細組態/ 位置發生改變’存取許可便倾财的域清除掉,如麟導致所有以該 ⑩ME作為目標的輸出入存取命令會隨著「存取許可未要求(Aeeesspennissi〇ns Not Requested)」錯誤資訊而失敗。在偵測到此錯誤條件之時,主機將清除 所有與該特定ME關聯的狀態資訊,不只包括me組態/位置資訊,亦包括 機决取中所有與該ME關聯的資料位置資訊(data location information)。然 後主機將重新掃描以得到更新的ME資訊,且向管理該me的新媒體區伺 服器重新要求存取許可,得到存取許可之後,輸出入存取命令便可重新發 出至該新媒髏區伺服器。 主機與媒體區伺服器有效性確認程序與資訊快取儲存之一實施例之詳細說 58 201028851 明 「直接媒體區存取」功能需要建制一通訊協定,讓主機可以藉由該協 定判定輸出入存取命令之目標資料的目前位置。此通訊協定,以下稱為「資 料位置S旬問(Data Location Query)」通訊協定,包含發出一詢問命令(即「資 料位置詢問命令」)’該詢問命令係由一命令碼'虛擬卷識別碼或代號 (handle)以及欲存取之區塊範圍(基礎區塊位址(base bi〇ck address)與區塊 數(block count))所構成。該詢問命令係由主機發送至「虛擬池主控者^ ❹Pool Master,以下簡稱為vp Master或VPM)」以得到被定址資料範圍的實 體位置。回應該詢問命令的是一組涵蓋全部範圍的「資料位置描述碼(Data Location Descriptor)」’每一該描述瑪係由一 me識別碼、基礎區塊位址、區 塊數與有效性檢查資訊(validity check information,VCI)所組成。主機維持 一「ME識別碼對儲存節點交互參照表__identifier_t〇_st〇rage_n〇de cross-reference table)」,該表使主機可以決定經由哪一儲存節點(st〇rage n〇de) 可以存取到「資料位置描述碼」中所定義的]當接收到回應該「資料位 置詢問」的「資料位置描述碼」之後,主機發出一或多個輸出入請求(1〇 〇 requests ’或簡稱為I〇s)至儲存節點(storage n〇des),此係透過「ME識別碼 對儲存節點交互參照表」,藉由交互參照包含於「資料位置碼描述碼」中的 ME識別碼對照儲存節點識別碼(storage node identifiers)而確認。一般來說, 一個「資料位置描述碼」對應一個1〇如果一組識別碼(identifier)識別出相 同的ME且其包含的區塊範圍是連續的,則可以使用單一 1〇去存取該組識 別碼所涵蓋的所有資料,而不是根據每個識別碼都發出一個1〇,藉此可以 減少存取資料之時間成本(overhead)。 「資料位置描述碼」中的有效性確認資訊係用以供「媒體區伺服器 (Media Extent server,以下簡稱為ME Server)」判斷輸出入存取命令中包含 59 201028851 的資料位置資訊(ME識別碼與區塊範圍)是否是最新的,其中該輪出入存取 命令係由主機根據從虛擬池主控者(VPM)回覆之「資料位置描述瑪」中的資 訊產生。資料的位置可能因為某些操作而改變,例如:資料位置遷徙,此 改變可能發生在虛擬池主控者因回應「資料位置詢問」而回覆主機資料位 置資訊之時至輸出入存取命令被媒體區伺服器接收到的時間點之間。在此 一情況下,假如IO真的為媒體區伺服器所執行的話,則可能發生資料損壞, 因為輸出入存取命令所要存取的位置不是主機想要存取資料的實際位置。 雖然假如主機快取儲存資料位置資訊以試圖減少其發出至虛擬池主控者的 • 「資料位置詢問」命令之數量時,非常有可能經常遭遇到上述輸出入存取 命令存取位置錯誤而導致資料損壞的事件,但是即使主機在接收到資料位 置資訊後立即產生並發出與「資料位置詢問」命令之結果關聯的輸出入存 取命令’仍有可能發生此類事件。 「有效性檢查資訊」典型地包含與一虛擬池之成員ME關聯的一有效 性檢查序號(Validity Check Sequence Number,以下簡稱為VCSN)。每次當 me有任何資料的實際位置改變,或是一虛擬卷(vv)在虛擬池主控者之資料 發生改變^(操作狀態發變,或虛擬池本身的操作狀態發生 參改變’且此改變需要主機在發出輸出入存取命令之前再次詢問虛擬池主控 者之時,虛擬池主控者就會將VCSN加1β如果VCSN可能會發生繞回⑽叩 around)的情形而麟VCSN在増加足触數後可能會再發生相同的值,則 虛擬池主控者可以實施一由主機監視之να有效壽命。如果當主機發出一 ###置詢問命令((lata l〇cati〇n职町舰句之時與目前時間之間,已經 過段大於vci有效壽命之時間時,主機將先主動地使να失效且再次詢 ,虛擬池主控者與欲存取資料範圍關聯之最新。此有效壽命資訊可以 個事先義的值’由主機藉由—單獨命令或—組命令向虚擬池主控者 詢問,或者由「資料位置描料」本身"να回覆。 201028851 「直接媒體區存取」功能’以最簡單的實施來說,每執行一次ι〇存取, 至夕需要發出兩個命7到儲存節點群(storagenode识〇叩)。首先發出的命令 是資料位置觸命令,其婦送蹄演纽池主控者肖色的齡節點以決 定資料位於哪-個ME。然後,一組包含一至多個實際的讀/寫命令(%㈣ read/write command)被發至作為特定媒體區伺服器的儲存節點。典型地實 際的讀/寫命令會被分發給儲存節點群(st〇rage n〇de抑叩)中的數個儲存節 點’而資料位置詢命令-定是都發送至虛擬池主控者。如此的結果是, 如果虛擬池主控者處理資料位置詢問命令的能力已經到了所能負擔的極限 泰的話’則可能終將成為效能瓶頸之所在。 為了減少一定要發出的資料位置詢問命令的數量,以減少虛擬池主控 者的負擔,主機可以將資料位置詢問命令的回應結果儲存於快取(cache) 中,以備未來可能的參照之用。若是採用這種做法,主機將先檢查其快取 中的資料位置資訊,以確認將要發送的1〇所欲存取的區塊位址範圍所對應 的資料位置資訊是否已出現在快取之中。如果該區塊位址範圍所對應的資 料位置資訊已出現在快取中,則主機不須發出資料位置詢問命令至虛擬池 主控者’因為決定資料位置的資訊已經存在於主機的快取之中。在這種情 〇況下,主機將根據其快取的位置資訊直接產生一或多個輸出入存取命令並 且直接發送至個別媒體區伺服器所在的個別的儲存子系統。 如果一個媒體區祠服器偵查到輸出入存取命令中的資訊與其從虛擬池 主控者接收到的資訊並不一致’該媒體區伺服器將會回覆一個錯誤發生指 示(error indication)給主機。根據此錯誤資訊,主機可能使其資料位置資訊快 取(data location information cache)中的某些特定資訊失效,其中該定資訊係 為與導致錯誤回覆的區塊位址為相關聯的(associated);或者,它可能使快取 中的所有資訊都失效,無論其區塊位址為何。無論是哪一種情況,主機都 必須再發出資料位置詢問命令至虛擬池主控者以得到最新的資料位置資 201028851 訊,該最新的資料位置資訊於是可以儲存於主機的快取之中,然後根據此 . 更新後的資訊發出一或多個輸出入存取命令至個別的媒體區伺服器。 . 典型地,當輸出入存取命令中攜帶的有效性檢查資訊與從虛擬池主控 者接收到的有效性檢查資訊(VCI)之間的不一致被偵測到時,媒體區伺服器 將回覆一錯誤資訊,該錯誤資訊指示主機只需要使儲存於快取中且與輸出 入存取命令所攜帶的一或多個區塊位址關聯的資料位置資訊失效即可。可 能的情形是,例如,在主機由虛擬池主控者取得資料位置資訊之時至輸出 入存取命令被發出的時間點之間,輸出入存取命令所定址的資料中的某些 參的位置已經改變(例如:起因於遷徙操作)。 然而,在有些情況下,可能有必要使快取中所有的資料位置資訊皆失 效。舉例來說,假如媒體區伺服器無法判斷輸出入存取命令所攜帶的VCI 疋否有效,因為該媒體區伺服器不再有該特定VCI的紀錄,則媒趙區飼服 器可能會回覆主機一個錯誤資訊,指出與引發此錯誤資訊的VCI符合的VCI 資料所屬的所有快取資料資訊應該都使其失效。另一種情況是,假如虛擬 A主控者重a又(reset)或電源關後重開〇j〇wer_Cycie(j),虛擬池主控者可能會遺 失所有之前產生的VCI的紀錄。在這種叙下,虛擬池主控者必須通知所 ❹有的服H之料其制的所有有效性檢查資訊賴使其失效,並 且主機任何試發出的輸出人存取命令都須魏,直到主機已經執行一個 程序,該程序包含使所有快取錯存的資料位置資訊皆無效。 除了從媒體區伺服器接收到錯誤發生指示時使已快取儲存的關聯的資 .料位4資訊失狀外’主機典型地將再發送H麻置綱命令至虛擬 •池主控者以得到輸出入存取命令所涵蓋區塊位址範圍的最新資料位置資 訊。假如所回覆的任何資料位置描述碼中的να中的VCSN等同於在媒體 區伺服器中產生錯誤的VCI的VCSN,由於主機知道媒體區伺服器並不認 為該VCSN是有效的’主機可以發出一指示㈣―)給虛擬池主控者表示 62 201028851 其可能發現在虛擬池主控者與媒體區伺服器之間有一關於該特定區塊位址 範圍的不一致現象。收到此指示(indication)之後,虛擬池主控者將典型地進 行-與媒體區飼㈣的再同步程序。該制步程序的-可能實施例可能包 含發出一命令至媒體區伺服器以清除其VCI快取,並且,可以在同一命令 中執行或是在隨後的命令執行,設立包含最新VCSN的最新VCI至媒體區 伺服器使得媒體區伺服器可以更新其快取中的資訊。 以上所述之再同步程序,稱為「有效性檢查資訊再同步程序卿 eheek Information Re_synehronizati〇n pr〇cedure)」,一般來說只要虛擬池主控 ❿者懷疑媒艘區飼服器的VCI不與之同步,也會隨時進行。舉例來說,當虛 擬池主控者開機(p0wer 〇η)、重設(reset)或電源關後重開咖醫^㈣之 時’因為其不知該等有呈現媒體區供其管理的媒體區祠服器的目前狀 態虛擬池主控者-般會進行此再同步程序以確認媒體區伺服器的vsi有 重认回與虛擬池主控者的初始狀態相同。在一冗餘控制器對的組態下若 是失效轉移程序發生,須讓第二控㈣接管原本做為虛擬池主控者 的主要控制器的工作’則亦會因相同的原因而進行此-再同步程序。 以下兩件事疋重要的:媒體區伺服器發出訊息給所有主機要求其清除 φ與目標ME關聯的存取許可做為「有效性檢查資訊再同步程序」的一部分, 以及主機在細到「存料可未要求」·資鱗會絲㈣所有快取 儲存中關於該特疋]VIE的資料位置資訊。這至少需要涵蓋到以下的情形: 虛擬池主控者由-儲存節點變換至另一個,此可能發生在一冗餘控制器儲 存子系統巾’“本料虛擬池主控者驗繼失效而導致健制器 接s其肖色之時。因為另一個控制器可能沒有與該特定廳關聯的任何 狀態的紀錄’匕可能會開始由να初始狀態來更新該观的犯。在虛擬 池初=化作業期間’新的虛擬池主控者將與該特定碰關聯之媒艘區舰 器進仃上述之再同步程序,以確定該媒體區伺服器上快取儲存的奶與新 63 201028851 ^池主控者紀錄的VCI是时的。然而,如果域持續發出細入存取 . 印令,且該等輸出入存取命令包含由原本虚擬池主控者得到之VCI,則可 •能該等資訊_體區键器而言似乎是有效的,因此即使用來產生輪出入 存取命令的資料位置資訊可能已經過時了,該等輸出入存取命令亦可能會 不慎地被接受。為避免此種可能導致嚴重請卿的情況,舰區飼服器 可以要求所有主機清除與該特定細相關的存取許可做為「有效性檢查資 訊再同步程序」的-部分。同時,在侧到「存取許可未要求」錯誤^訊 時’其中該錯誤資訊是因接收到來自主機的任何以該特定施《目標的輸 ❹出入存取命令而傳遞出去,主機會清除快取儲存中所有與該ME關聯的資 料位置資訊’ JL再發rfj資料位置關命令至虛擬池主控者並於織才再發 出以該ME為目標的任何輸出入存取命令。在虛擬池主控者的角色由一储 存節點轉移至另-储存節點之後,此將確定輸出入存取命令是依據最新的 資料位置資訊而再發送至該媒體區伺服器。 冑簡化實施内容,-般來說虛擬池主控者總是在「資料位置描述瑪」 中回覆VCI之VCSN的目前值,而不是要改變之前的最後的VCSN的值。 當虛擬池主控者因一關聯的特定區塊範圍的改變發生而增加ycSN的值 粵時,其發送該區塊範圍之更新的VCI至該區塊範圍所在之施的媒體區飼 服器。該媒體區伺服器紀錄該區塊範圍之更新的να。在由主機接收到一 輸出入存取命令時,媒體區伺服器比較該輸出入存取命令中的VCI對照它 自己紀錄的VCI。包含於該輸出入存取命令的να中的VCSN被拿來與從 虛擬池主控者接收到的最新VCSN做比較❶假如前者比後者大,表示不在 . 有效的範圍内且該輸出入存取命令會被拒絕。假如前者小於或等於後者, 表示其被視為在有效範圍之内,然後該輸出入存取命令的VCI中的VCSN 更被拿來與媒體區伺服器中為該特定區塊範圍紀錄的VCSN做比較。如果 前者小於後者,則表示該區塊範圍在主機由虛擬池主控者得到該να之後 64 201028851 有發生改變,因而使得該να無效,所以拒絕該輸出入存取命令。另一方 面’如果前者大於或等於後者,則表示該輸出入存取命令的να 一定是在 該區塊範園發生改變之後得到,此意謂著VCI有效,且該輸出入存取命令 可以被接受且正常處理。 典型地,由於資源有限,一個媒體區伺服器只能夠保有從虛擬池主控 者接收到的有限數量的有效性檢查資訊。由於這樣的原因,媒體區伺服器 可能會採取一快取機制(cachingmechanism),以試圖並最大化可以正確地決 定一由主機接收到之輸出入存取命令的有效性的可能性。其中一此類快取 參機制是單純地保持最近由虛擬池主控者接收到之有效性檢查資訊。如果有 新資訊進來,且沒有足夠的資源可以儲存該新資訊,則目前儲存之最舊的 資訊會被從快取中清除(purge),以空出足夠的空間儲存該新資訊。由於從 虛擬池主控者接收到的有效性檢查資訊所包含的VCSN是循序增加,儲存 於此快取中的VCI會包含一特定範圍中的所有VCSNe就其而論,在檢查 包含於主機輸出入存取命令的有效性檢查資訊時,只有三種可能的狀況需 要處理’各別是:在輸出入存取命令中的有效性檢查資訊的VCSN小於媒 體Q飼服器快取儲存的有效性檢查資訊的VCSN的最小值、介於媒體區伺 ❹服器快取儲存的有效性檢查資訊的VCSN的最小值與最大值之間、以及大 於媒體區伺服器快取儲存的有效性檢查資訊的VCSN的最大值。 如果在輸出入存取命令中的有效性檢查資訊的VCSN是介於媒體區词 服器快取儲存的有效性檢查資訊的VCSN的最小值與最大值之間,則媒體 區伺服器檢查輸出入存取命令所涵蓋的區塊位址是否出現在其να快取之 中。假如輸出入存取命令所涵蓋的區塊位址都出現在媒體區伺服器的vci 快取之中,並且媒體區伺服器紀錄之關聯的VCSN也都小於或等於包含於 輸出入存取命令之有效性檢查資訊的對應VCSN,則該輸出入存取命令會 被視為有效且被接受。然而,若是有任何輸出入存取命令涵蓋的區塊位址 65 201028851 沒有出現在媒體區舰糾να快取之巾,或者有任何紀錄在紐區飼服 器的VCI快取的VCSN ’該等VCSN與輸出入存取命令涵蓋的該等區塊位 址有關聯’且該等VCSN +的任-大於輸丨入存取命令中包含的有效性檢 查資訊的對應VCSN,職敎的VCSN會被狀為失雖或無效 (invalid)。在此_下,親區錬时典型_覆F無效的有效性檢查資 訊C‘Invalid Validity Check Info咖ion”)』錯誤資訊,指出與該特定區塊位址 關聯的資料位置資訊是紐的’因此主機只需要使該特定資訊無效。 須注意的疋,可能在媒體區伺服器的VCI快取中儲存有多組的有效性 ❹檢查資訊皆對應到同-特定區塊範圍。可能的原因是,該區塊範圍的位置 可能已經有多於一次的改變。因此,在執行上述的檢查作業時,若是媒髏 區伺服器的VCI快取中出現-定址的區塊範圍對應有多組的有效性檢查資 訊’則包含於輸出入存取命令中的有效性檢查資訊的VCSN將被拿來與媒 體區伺服器的VCI快取中該些有相同區塊範圍的項目中VCSN為最大者的 項目(entry)做比較。爲最佳化資源的使用效率,媒餿區伺服器可能會使其 VCI快取中的某一或某些項目失效並再利用其儲存空間,該某一或某些項 目的區塊範圍有被其他具有更大VCSN的項目涵蓋到。此再利用功能將導 籲致一個結果,媒體區伺服器的VC][快取中可能有些介於最大與最小VCSN 之間的項目不會出現在快取之中。 如果任何與輸出入存取命令中的有效性檢查資訊的^^何區塊位址關聯 的VCSN係小於媒體區伺服器快取儲存的有效性檢查資訊的VCSN的最小 值’則媒體區伺服器無法判定輸出入存取命令中的有效性檢查資訊的有效 性’因此’媒體區伺服器將典型地回覆r有效性檢查資訊有效性無法決定 (Validity Check Information validity undetermined”)』錯誤資訊’指出所有主 機端快取儲存的資料位置資訊,且該資料位置資訊有一關聯的VCSN等於 考慮中的VCSN,皆都應使其失效。 66 201028851 如果任何與輸出入存取命令中的有效性檢查資訊的任何區塊位址關聯 的VCSN係大於媒體區伺服器快取儲存的有效性檢查資訊的vcSN的最大 值’媒體區飼服器將典型地回覆『有效性檢查資訊超出範圍(“ValidityCheck Information out-of-range’’)』錯誤資訊’指出所有主機端快取儲存的資料位置 資訊都應使其失效,因為在主機和媒體區伺服器之間出現嚴重的不一致, 此不一致可能表示主機和儲存子系統之間嚴重缺乏同步。 以上後兩種狀況之一或兩者,媒體區伺服器可能選擇簡單地回應『無 效的有效性檢查資訊』錯誤資訊,指出與該特定區塊位址關聯的資料位置 豢資訊是無效的’以求減少主機必須處理的事件數量,從而簡化技術的實施 内容。另一方面,主機也可以簡單地不去分辨不同的錯誤條件,直接對與 該特定區齡址_的諸位置資訊使其失效,並不去理會雜區伺服器 回覆的是那-種錯誤資訊。然而另—個在第二種狀⑽可能實施例是媒體 區伺服器回覆『有雜檢查資訊超出範圍』錯誤資訊,指出所有快取儲存 的資料位置資訊,無論其卿的VCSN為何,鑛使其失效,或者主機從 媒體區飼服器接收到r有效性檢查資訊有效性無法決定』錯誤資訊時使所 有快取儲存的資料位置資訊都失效。 橫跨媒體區之資料分佈之一實施例之詳細說明 當主機發出一輸出入存取命令以寫入資料至一虛擬卷(vv)且還沒有實 體區塊被分S&去容置該資料範圍時,虛擬池主控者必須在—或多個組成該 虛擬池的ME上配置實體區塊。可能是最簡單㈣置計畫是,首先由一個 ME配置區塊’當該ME滿了之後再開始由第二個me西&置,以此類推。然 而由效能的觀點來看’讓輸出入存取命令存取的資料散布於多個細以分 散負擔至多個媒體區舰器與ME是較有利的。具有將資料散布於多個媒 67 201028851 體區伺服器且/或ME之特性的虛擬池或虛擬卷,係具有一「分散式資料 (Distributed Data)」的屬性。 典型地’當一虛擬池或虛擬卷具有一「分散式資料(Distributed Data)」 的屬性時,虛擬池主控者將以平均分散資料在虛擬池的所有的MEs且/或媒 體區伺服器的方式,配置實體空間給被寫入的虛擬卷(VV)以容置資料。在 大部分的情況中,資料分佈得越平均’則MES且/或媒體區伺服器所分攤的 負擔越平均,也因此效能越好。 一既簡單又可讓IO存取在大部分的K)負擔條件下可以均勻分散的資 _料分佈方案是’單純地將資料分段(striping)儲存於所有的Mgs,以下稱為「分 段資料分佈(Striped Data Distribution)」。虛擬卷(VV)之可定址空間被劃分為 固定長度的區塊,其中第一個區塊位於第一個ME、第二個區塊位於第二個 ME ’以下以此類推,直到抵達最後一個ME,則下一個區塊又回去設置在 第一個ME、再下一個區塊設置在第二個ME,以下以此類推。在這種分佈 之下’存取範圍小於一個區塊的輸出入存取命令將只在一個ME、或者最多 在二個ME存取資料(如果資料範圍剛好跨越兩個區塊在這些情況之下, 以多個同時發生之獨立的1〇存取負擔,虛擬池中所有的將近乎平均 參地被存取’因而改善了效能。對於那些一次橫跨多個區塊而存取大資料的 輪出入存取命令,每一此命令將導致同時存取多個MES ’由於同時存取與 資料傳輪’此將減少完成該命令所需的時間,從而改善效能。 當一新的ME增加至一虛擬池中,需要進行資料遷徙以實施「分段資 料分佈」,以便將一些資料分散至新的ME。此資料遷徙可能不只需要由現 存的MEs移動資料至新的me ’亦可能需要重新分配資料至所有現存的 ’以便維持虛擬池中所有之資料分佈的分段(striped)特性❶因此, 「 刀奴資料分佈」的實施不只在當Mg成員被移出虛擬池時需要做資料遷 徙,當有新MEs加入虛擬池時亦需要做資料遷徙。 68 201028851 【圖式簡單說明】 第1A圖係為依據本發明之一實施例之包含一個獨立冗餘磁碟陣列子系統 之儲存系統架構1。 第1B圖係為依據本發明之一實施例之mjj)層204所映射出之邏輯磁碟機 (logical drive,LD)與實體卷(physical volume)之關係。 第ic係為依據本發明之一實施例之實體卷與其中之媒體區與分區(sect〇r) 之關係。 ® 第1D圖係為依據本發明之一實施例之實體卷與其中之媒體區與實體區段 (section)之關係。 第2A圖係為依據本發明之另一實施例之儲存系統架構3〇。 第2B圖係為第2A圖實施例之儲存系統架構3〇 t,依據本發明之一實施 例之虛擬池與媒體區及虛擬卷關係之示意圖。 第2C圖,係為依據本發明之一實施例之用於虛擬池之一區段分配系統的資 料結構之示意圓。 第3A圖,其係為依據本發明之一實施例之由多個子系統中之媒體區 所形成的虛擬池之示意圖。 ❹第3B圖係為依據本發明第3A圖之虛擬池中所包含的實體區段之資料結構 之一實施例示意圖。 第3c圖係為依據本發明第3A圖之虛擬池中所包含的實體區段之資料結構 之另一實施例示意圖。 第3D 1 係為依據本發明第3八圖之虛擬池中所包含的實體區段之資料結構 之又一實施例示意圖。 第4A圖係為依據本發明之一實施例之2137之示意圖。 Ϊ 4B =係為依據本發日月之另一實施例^BAT2137之示意圈。 及第4D圖係為依據本發明之一實施例之『分散式資料』功能之示 69 201028851 第5圖係為依據本發明之一實施例之用於虛擬池之一區段分配系統的V2P 表與P2V表的資料結構之示意圖。 第6A圖係為依據本發明之一實施例之p2VTable5137表之示意圖。 第6B圖係為依據本發明之另一實施例之p2VTable5137表之示意圖。 第7A圖係為依據本發明之一實施例之V2pTable5135表之示意圖。 第7B圖係為依據本發明之另一實施例之V2pTable5135表之示意圖。 第8A圖係為當具有—表時之观與其所對應之實體區段LBA之映射關 係之不意圖。 第8B圖係為當發生資料區段遷徙時,與其所對應之實體區段之 映射關係之變化之示意圖。 第8C圖係為當只有p2V表而無V2p表時,乂班與其所對應之實體區段lba 之映射關係之示意圖。 f 8D圖係為當只有p2V表而無V2p表時當發生資料區段遷徙時,观 一其所對應之實體區段LBA之映射關係之變化之示意圖。 圖係為依據本發明之另一實施例之儲存系統架構9〇之示意圓。 1(>圖係為依據本發明之又一實施例之儲存系統架構Μ之示意圖。 _ji圖’其係為本發明第10圖之實施例之儲存系統架構92指定媒體區之 不意圖。 β ^^ _騎沒有V2P表及咖表時之與其賴應之實艘區段起 響°罝之映射關係之示意圖。 圖係為當沒有V2P表及P2V表時,若發生資料區段遷徙時,VBI 第^所對應之實體區段LBA之映射關係之變化之示意圖。 圖。圖係為依據本發明之一實施例之因移除細而引發的遷徙作業之流程 。4圖係為依據本發明之一實施例之因增加撕而引發的遷徙作業之流程 =圖係為依據本發明之另一實施例之因移除而引發的遷徙作業之流 圖係為依據本發明之$一實施例之因増加娜而引發的遷徙作業之流 201028851 程圓8 第17圖係為依據本發明之一實施例之主機1〇或主機代理人11〇向主控子 系統20A的虛擬化層202A詢問VCSN的流程圖。 第18圖係為依據本發明之一實施例之接受1〇請求的VCSN代理人確認其 所攜帶VCSN的有效性的流程圖。 第19圖係繪示依據本發明之一資料儲存架構中之直接媒體區存取功能之一 實施例的流程圖。 第20A圖及第20B圖係繪示依據本發明之一資料儲存架構中之直接媒體區 存取功能之另一實施例的流程圖。 翁第21圖係為依據本發明之虛擬卷快照(virtual volume snapshot)之一資料結 構之一實施例。 【主要元件符號說明】 1,30,90,92儲存系統架構 10 主機 110 代理人 20,20A,20B,20C 獨立冗餘磁碟陣列子系統(RAID子系統) 200 儲存虛擬化控制器 . 202,202A,202B,202C 虛擬化層 203A,203B,203C ME伺服器層 204,204A,204B,204C RAID 層 205A,205B,205C VCSN 代理人 211,51 區段分配系統(SAS) 215,515 節點表 213a,213b區塊關聯集區段分配串列 2131,5131屬性區塊 2133,5133目錄 2135 日誌 2137 區塊關聯表 71 201028851 2139 資料區域 400 PSD陣列 41 卷區塊索引 42 位置索引 43 區塊索引位元映像(BAB) 410 實體儲存媒體 513a P2V/V2P SAL 5135 V2P表 5137 P2V表 61 虛擬索引 63 實體索引 8 實體區段索引對實體邏輯區段位址映射函數 81 實體區段索引 82 ME ID 83 起始位址 84 分區數量 VV 虛擬卷 VP虛擬池
72

Claims (1)

  1. 201028851 七、申請專利範圍: .1. 一種存取資料之方法,用於存取一儲存系統架構中之資料, 該儲存系統架構包含至少一磁碟陣列子系統,該方法包含下 列步驟: &供一區段分配系統(Section Allocation System,SAS ) 用以管理該至少一磁碟陣列子系統中之一第一媒體區及一第 二媒體區; 藉由一區塊關聯表得到一主機邏輯區塊位址(LBA)所對 參 應之一位置索引; 藉由一實體區段對虛擬區段交互參照機制得到該位置索引所對 應之位於該第一媒體區中之一第一實體區段之一位置資訊; 將該第一實體區段中之資料複製或搬移至於該第二媒體區 中之一第二實體區段中; 更新該實鱧區段對虛擬區段交互參照機制中之一交互參照,以 使得藉由該實體區段對虛擬區段交互參照機制所得到之該位置索弓丨 φ 所對應之位置資訊係該第二實體區段之位置資訊;以及 一定址於該主機邏輯區塊位址之一主機輪入/輸出請求係 利用該第二實體區段之位置資訊存取該第二實體區段中之資料。 2. 如請求項1所述之方法,更包含下列步驟: •提供一區塊關聯集區段分配串列(block association set - section allocation list,BAS SAL )及一 P2V/V2P 區段分配串列 (physical-to-virtual/virtual-to-physical SAL,P2V/V2P SAL)於 該區段分配系統中; 73 201028851 利用該區塊關聯集區段分配串列產生該區塊關聯表;以 及 利用該P2V/V2P區段分配串列產生該實體區段對虛擬區段 交互參照機制。 3·如請求項1所述之方法’更包含下列步驟: 提供一實體對虛擬映射表(P2V table)於該實體區段對虛擬 區段交互參照機制中’以使藉由該實體區段對虛擬區段交互參照機 制係可得到該位置索引所對應之該第一實體區段之該位置資訊。 4. 如請求項3所述之方法,更包含下列步驟: 產生一虚擬對實體映射表(virtual_t0_physical,V2P table) 於該P2V/V2P區段分配串列中,用以輔助該實體對虛擬映射 表以加迷索引到該第二實體區段。 5. 如請求項1所述之方法,其中更包含一節點表索引該區塊關 聯集區段分配串列》 6·如請求項3所述之方法’其中該P2V/V2P區段分配串列包含: 參 一屬性區塊,用以記載該區段分配系統之一區段分配系 統識別碼及其相關設定資訊; 一目錄,用以記載指引、管理該複數媒體區所含之複數 實體區段(section )上之資訊, 一虛擬對實體映射表攔位,用以儲存一虛擬對實體映射 表;及 一實體對虚擬映射表攔位,用以儲存一實體對虛擬映射 表。 201028851 7. 如請求項1所述之方法,更包含下列步驟: 接收該複數媒體區中之一將被移除之媒體區所對應之一 移除訊息; 根據該移除訊息,找出該將被移除之媒體區所繫屬之該 區段分配系統; 取得來自該區段分配系統所繫屬之該將被移除之媒體區 之一實體區段資訊; 根據所取得的該實體區段資訊,複製或搬移該將被移除 之媒體區所包含複數實體區段中之一第三實體區段上的資料 至其他該複數媒體區的其中之一;以及 判斷該將被移除之媒體區上所包含之所有該複數實體區 段上的資料是否已複製或搬移至其他該複數媒體區其中之一 或多個媒體區中。 8. 如請求項7所述之方法,更包含下列步驟: 當判斷該將被移除之媒體區上之所有該複數實體區段上 的資料尚有實體區段未完成複製或搬移至其他該複數媒體區 其中之一或多個時,則到該複數實體區段中之一第四實體區 段;以及 進行「複製或搬移該將被移除之媒體區所包含複數實體 區段中之該第四實體區段上的資料至其他該複數媒體區的其 中之一」之步驟。 9. 如請求項7所述之方法,更包含下列步驟: 當判斷該將被移除之媒體區上之所有該複數實體區段上 75 201028851 的資料已完成複製或搬移至其他該複數媒體區其中之一或多 個時,則移除該將被移除之媒體區。 10. 如請求項7所述之方法,其中於該「複製或搬移該將被移除 之媒體區所包含複數實體區段中之一第三實體區段上的資料 至其他該複數媒體區的其中之一」步驟之後更包含下列步驟: 根據所取得的該媒體區之該實體區段資訊,增加該將被 移除之媒體區所具有之一有效性檢查序號(VCSN),並通知 該將被移除之媒體區所繫屬之一 VCSN代理人其增加後之該 有效性檢查序號。 11. 如請求項1所述之方法,更包含下列步驟: 接收一新增媒體區之一新增訊息; 根據該新增訊息,找出該新增媒體區所繫屬之該區段分 配系統; 計算該區段分配系統中所有的該複數媒體區中已使用的 複數實體區段之一總實體區段數; 考慮該新增媒體區所包含之一實體區段數及該總實體區 段數,以計算出各該複數媒體區之一平衡後的實體區段數 (balanced section count); 處理該複數媒體區的其中之一; 判斷正在處理中之該媒體區之該實體區段數是否大於該 平衡後的實體區段數; 當該正在處理中的複數媒體區之實體區段數大於該平衡 後的實體區段數時,複製該複數媒體區中已使用的複數實體 76 201028851 區段上之資料至該新增媒體區;以及 重覆進行該「判斷正在處理中之該媒艎區之實體區段數 是否大於該平衡後的實體區段數」之步驟。 12.如請求項11所述之方法,更包含下列步驟: 當所有的該複數媒體區已處理完成時,結束此增加流程。 13*如凊求項11所述之方法,更包含下列步驟: 當該總實體區段數不大於該平衡後的實體區段數時,則 Φ 取得該複數媒體區中的下一個媒體區進行處理;以及 判斷所有的該複數媒體區是否處理完成。 14·如請求項u所述之方法,其中於「複製該複數媒體區中已使 用的複數實體區段上之資料至該新增媒體區」之步驟前,更 包含下列步驟: 増加處理中之該媒體區之一有效性檢查序號(VCSN), 並通知處理中之該媒體區所繫屬之一 VCSN代理人其增加後 之該有敦性檢查序號。 鲁15.如請求項1所述之方法更包含下列步驟·· 接收該複數媒體區中之一將被移除之媒體區所對應之一 移除訊息; 根棣該移除訊息,找出該將被移除之媒體區所繫屬之該 區段分配系統; 列_所繫屬之該區段分配系統中所包含之所有複數區塊 關聯集區段分S[串列是否皆已確認; 當讀複數區塊關聯集區段分配串列尚有未完成確認者 77 201028851 時,選擇一區塊關聯集區段分配串列進行確認; 判斷該區塊關聯集區段分配串列中目前進行處理之一第 五實體區段是否關聯於該將被移除之媒體區; 當該第五實體區段是關聯於該將被移除之媒體區時,複 製該第五實體區段上的資料至其他該複數媒體區的其中之 一;以及 當該第五實體區段並非關聯於該將被移除之媒體區時, 則到該區塊關聯集區段分配串列中之下一個實體區段。 參 16. 如請求項15所述之方法,更包含下列步驟: 當所有該複數區塊關聯集區段分配串列已完成確認時, 則移除該將被移除之媒體區。 17. 如請求項15所述之方法,更包含下列步驟: 當判斷已到目前進行確認的該區段分配串列之終點時, 則到該複數區段分配串列中之下一個區塊關聯集區段分配串 列;以及 φ 重覆進行「判斷所繫屬之該區段分配系統中所包含之所 有複數區塊關聯集區段分配串列是否皆已確認」之步驟。 18. 如請求項15所述之方法,更包含下列步驟: 當該第五實體區段上的資料複製至其他該複數媒體區的 其中之一後,則到該區塊關聯集區段分配串列中之一第六實 體區段;以及 進行「判斷是否已到目前進行確認的該複數區塊關聯集 區段分配串列中之該區段分配串列之終點」之步驟。 78 201028851 19. 如請求項15所述之方法,其中於「複製該第五實體區段上的 資料至其他該複數媒體區的其中之一」之步驟前,更包含下 列步驟: 增加該將被移除之媒體區所具有之一有效性檢查序號 (VCSN),並通知該至少一將被移除之媒體區所繫屬之一 VCSN代理人其增加後之該有效性檢查序號。 20. 如請求項1所述之方法,更包含下列步驟: 接收一新增媒體區之一新增訊息; 根據該新增訊息,找出該新增媒體區所繫屬之該區段分 配系統; 判斷所繫屬之該區段分配系統中所包含之所有複數區塊 關聯集區段分配串列是否皆已確認; 當該複數區塊關聯集區段分配串列尚有未完成確認者 時,選擇一區塊關聯集區段分配串列進行確認; 判斷該區塊關聯集區段分配串列中目前進行確認之一第 • 五實體區段所關聯之一媒體區中已使用的實體區段數是否大 於該新增媒體區之一實體區段數目; 當該第五實體區段所關聯之該媒體區中已使用的實體區 段數大於新增媒體區之該實體區段數時,複製該第五實體區 段上之資料至該至少一新增媒體區;以及 當該所關聯之該媒體區中已使用的實體區段數不大於新 增媒體區之該實體區段數時,則到該區塊關聯集區段分配串 列中之下一個實體區段。 79 201028851 21. 如請求項20所述之方法,更包含下列步驟: •當所有該複數區塊關聯集區段分配串列已完成確認時, 則結束此增加流程。 22. 如請求項20所述之方法,更包含下列步驟: 當判斷已到目前進行確認的該區塊關聯集區段分配串列 之終點時,則到該複數區塊關聯集區段分配串列中之下一個 區塊關聯集區段分配串列;以及 重覆進行「判斷所繫屬之該區段分配系統中所包含之所 參 有複數區塊關聯集區段分配串列是否皆已確認」之步驟。 23. 如請求項20所述之方法,更包含下列步驟: 當該第五實體區段上的資料複製至其他該複數媒體區的 其中之一後,則到該區段分配串列中之下一個實體區段;以 及 進行「判斷是否已到目前進行確認的該複數區塊關聯集 區段分配串列中之該區塊關聯集區段分配串列之終點」之步 ❿ 驟。 24. 如請求項2〇所述之方法,其中於「複製該第五實體區段上之 資料至該至少一新增媒體區」之步驟前,更包含下列步驟: 增加處理中之該媒體區其中之一有效性檢查序號 ' (VCSN),並通知處理中之該媒體區所繫屬之一 VCSN代理 ^ 人其增加後之該有效性檢查序號。 25. 如請求項1所述之方法,更包含: 索引該區塊關聯集中之一區塊關聯表(BAT),以使該區 201028851 塊關聯表指向該虚擬對實體映射表。 26. 如請求項i所述之方法,其中該區段分配系統更包含一實體區 段索引對實體邏輯區塊位址映射函數(physical location index to LB A mapping function) ’該實體區段索引表用以記載該第一實 體區段及該第二實體區段之資訊。 27. 如請求項26所述之方法,其中該實體區段索引表包含一實體 區段索引(physical section index, PSI )、一媒體區識別瑪、一 邏輯區塊位址(logical block address, LBA)以及一分區數 (section count)。 28. 如請求項26所述之方法,其中該實艎位置索引對實體邏輯區 塊位址映射函數係為一實體區段索引對實體邏輯區塊位址映 射表。 29.如請求項1所述之方法,其中該至少一磁碟陣列子系統包含 複數實體儲存元件(physical storage device,PSD)。 30· —種存取一資料儲存系統架構中之資料之方法,該資料倚存 系統架構係包含至少一磁碟陣列子系統,該方法包含下列步 驟: 提供一區段分配系統於該至少一磁碟陣列子系統中之— 主控子系統中’用以管理一虛擬池,該虛擬池中係包含有該 碟陣歹】子系統中所映射出之一第一媒體區及一第二媒體 區; 提供一區塊關聯集區段分配串列於該區段分配系統中, 用以管理一虛擬卷,該虛擬卷係被呈現給一主機以供其存取 201028851 提供一 P2V/V2P區段分配串列於該區段分配系統中,用 以產生一 P2V表; 收到一第一主機命令,該第一主機命令中係帶有一要被 轉換(convert)之一主機LB A ;
    一區塊關聯表
    及與該P2V/V2P區段分配串列關聯之一 P2v表而將要被轉換 之該主機LBA轉換而得到一實體區段索引; 利用-實Μ段索⑽實體,LBA映射錢職實體區段 索引轉換成為位於該第一媒體區中之一第—實體區段之一第 一實體LBA ; ㈣-第二主機命令’係為—1()存取命令且帶有該主機 LBA ;以及 利用該第一實體LBA存取位於該第一媒體區中之該第一 實體區段中之資料。 3 L如申請專利範圍第3〇項所述之方法,更包含以下之步驟: 進行資料遷徙而將該第一實體區段中之—資料複製或搬 移至位於該第二媒體區中之一第二實體區段中,並將該資料 遷徙之位置相關資訊更改至該P2V表中,其中該第二實體區 段係具有一第二實體LBA ; 收到一第'一主機命令,係為一 存取命令且帶有該主機 LBA;以及 利用該第二實體LBA存取位於該第二媒體區中之該第二 82 201028851 實體區段中之資料。 32. —種存取磁碟陣列子系統架構中之資料之方法,該磁碟陣列 子系統架構包含至少一磁碟陣列子系統,該至少一磁碟陣列 子系統包含之至少一第一媒體區,該至少一第一媒體區包含 複數邏輯區塊位址,該方法包含下列步驟: 提供一區段分配系統用以管理該至少一第一媒體區,該 區#又刀配系統中係包含有利用一區塊關聯表(bi〇ck associati〇n table,BAT)、一實體對虛擬索引映射表(p2v in(jex mapping table) 以及一實體位置索引與實體邏輯區塊位址映射函數(phySicai location index to phyLBA mapping function); 接收來自一主機之一輸入/輸出請求,該輸入/輸出請求係 包含一主機LBA ; 利用該區塊關聯表(block association table,BAT)、該 P2V 表 及一由該P2V表所產生之V2P表兩者之一、及該實體位置索 引與實體邏輯區塊位址映射函數從該主機LBA得到一第一實 艎邏輯區塊位址(LBA);以及 利用該第一實體邏輯區塊位址針對一第一媒體區進行輸 入/輸出存取。 33. 如申請專利範圍第32項所述之方法,更包含以下之步驟: 將該輸入/輸出請求係轉換出一卷區塊索引(Volunje Bl〇ck Index, VBI); 利用該區塊關聯表(block association table,BAT)由該VBI得 到一虛擬索弓丨(virtual index); 83 201028851 利用該P2V表及一由該P2V表所產生之V2P表兩者之 一,由該虛擬索引得到一實體索引(physicallocation index); 以及 利用該實體索引以及該實體位置索引對實體邏輯區塊位 址映射函數得到一實體邏輯區塊位址(LBA)。 34·如申請專利範圍第32項所述之方法,更包含以下之步驟: 進行資料遷徙而將該第一實體區段中之一資料複製或搬 ^ 移至位於該第二媒體區中之一第二實體區段中,並將該資料 遷徙之位置相關資訊更改至該P2V表及/或該V2P表中,其中 該第二實體區段係具有一第二實體LBA ; 收到一第二主機命令,係為一 IO存取命令且帶有該主機 LBA ;以及 利用該第二實體LBA存取位於該第二媒體區中之該第二 實體區段中之資料。 35. —種在儲存系統架構中產生虛擬卷之方法,該架構包含一主 ® 機及一或多個儲存子系統.,每一子系統包含一或多個儲存控 制器及一實體儲存裝置陣列,該方法包含以下之步驟: 將該實體儲存裝置降列映射成為一或多個媒想區(ME), 每一該媒體區係包含複數實體區段,每一該實體區段係具有 一實體邏輯區塊位址(LBA); 產生一區段分配系統(SAS)用於管理該至少一媒體區,該 區段分配系統包含: 至少一區塊關聯集區段分配串列(BAS SAL),每一區塊關 84 201028851 聯集區段分配串列用於將該—或多個媒體區之複數實體區段 映射成為一虛擬卷,每一區塊關聯集區段分配串列為其所對 應之虛擬卷記錄一區塊關聯表(BAT)及一卷容量,該區塊關聯 表係可用於將—主機LBA轉換成為-位置索引;以及 至少一虛擬對實體表(V2P表)記錄有該位置索引與該實 體LBA間之交互參照資訊;以及 將該虛擬卷呈現給該主機。 36_如申請專利範圍第35項所述之方法,其中該虛擬對實體表可 用以從該位置索引得到一實體索引,且該區段分配系統更包 含一實體索引對實體邏輯區塊位址映射函數,可藉以由該實 體索引來該得到一實體邏輯區塊位址(LBA)。 37. 如申請專利範圍第36項所述之方法,該方法更包含: 接收來自一主機之一輸入/輸出請求,該輸入/輸出請求係 包含一主機LBA ; 利用該區塊關聯表(block association table, BAT)、該P2V表 及一由該P2V表所產生之V2P表兩者之一、及該實體位置索 引與實體邏輯區塊位址映射函數從該主機LBA得到一第一實 體邏輯區塊位址(LBA);以及 利用該第一實趙邏輯區塊位址針對一第一媒體區進行輸 入/輸出存取。 38. 如申請專利範圍第36項所述之方法,該方法更包含:提供一 虚擬卷快照功能性,該快照功能性係之資料結構包含一第二 BAS SAL ’且由該第二BAS SAL產生—或多個BAT,每一該 85 201028851 BAT係具有一位置索引攔位用以索引該P2V或V2P中之虛擬 索引,藉以執行虛擬卷快照功能。
    86
TW099101839A 2009-01-23 2010-01-22 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法 TWI432959B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14665909P 2009-01-23 2009-01-23
US18557809P 2009-06-09 2009-06-09

Publications (2)

Publication Number Publication Date
TW201028851A true TW201028851A (en) 2010-08-01
TWI432959B TWI432959B (zh) 2014-04-01

Family

ID=42170380

Family Applications (3)

Application Number Title Priority Date Filing Date
TW103143870A TWI514147B (zh) 2009-01-23 2010-01-22 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法
TW099101839A TWI432959B (zh) 2009-01-23 2010-01-22 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法
TW99101841A TWI467370B (zh) 2009-01-23 2010-01-22 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW103143870A TWI514147B (zh) 2009-01-23 2010-01-22 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW99101841A TWI467370B (zh) 2009-01-23 2010-01-22 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法

Country Status (4)

Country Link
US (4) US8510508B2 (zh)
EP (2) EP2211262A3 (zh)
CN (3) CN101819506B (zh)
TW (3) TWI514147B (zh)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4958739B2 (ja) * 2007-11-09 2012-06-20 株式会社日立製作所 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
JP5112246B2 (ja) * 2008-10-09 2013-01-09 株式会社日立製作所 ストレージシステム及び通信方法
US8225039B2 (en) * 2009-10-09 2012-07-17 Hitachi, Ltd. Storage controller and virtual volume control method
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8386834B1 (en) * 2010-04-30 2013-02-26 Network Appliance, Inc. Raid storage configuration for cached data storage
CN102419694A (zh) * 2010-09-27 2012-04-18 智微科技股份有限公司 存取储存装置的方法与电子系统
WO2012114492A1 (ja) * 2011-02-24 2012-08-30 株式会社日立製作所 計算機システム、及びその管理方法、並びにプログラム
US8452819B1 (en) * 2011-03-22 2013-05-28 Amazon Technologies, Inc. Methods and apparatus for optimizing resource utilization in distributed storage systems
WO2013070273A1 (en) * 2011-04-01 2013-05-16 Nexsan Corporation Journaling raid system
CN102841758B (zh) * 2011-06-20 2015-09-30 钜贯德科技股份有限公司 高效能虚拟磁盘管理系统
US9417821B2 (en) 2011-09-30 2016-08-16 Intel Corporation Presentation of direct accessed storage under a logical drive model
JP2013122691A (ja) * 2011-12-12 2013-06-20 Fujitsu Ltd 割り当て装置およびストレージ装置
US9838269B2 (en) * 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
WO2013160939A1 (en) * 2012-04-24 2013-10-31 Hitachi, Ltd. Backup system and backup method
US8930374B2 (en) 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
US8856079B1 (en) * 2012-09-28 2014-10-07 Emc Corporation Application programming interface for efficient object information gathering and listing
CN103034567B (zh) * 2012-12-06 2015-09-09 华为技术有限公司 发现并修复损坏数据的装置和方法
CN103870398B (zh) * 2012-12-11 2017-04-26 晨星软件研发(深圳)有限公司 存储器存取权限控制方法与相关存储器管理系统
CN103049521B (zh) * 2012-12-19 2015-11-11 广东电子工业研究院有限公司 可实现多属性复合条件查询的虚拟表索引系统及方法
US9514151B1 (en) 2012-12-21 2016-12-06 Emc Corporation System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9591099B1 (en) 2012-12-21 2017-03-07 EMC IP Holding Company LLC Server connection establishment over fibre channel using a block device access model
US9647905B1 (en) 2012-12-21 2017-05-09 EMC IP Holding Company LLC System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
US9531765B1 (en) 2012-12-21 2016-12-27 Emc Corporation System and method for maximizing system data cache efficiency in a connection-oriented data proxy service
US9473590B1 (en) 2012-12-21 2016-10-18 Emc Corporation Client connection establishment over fibre channel using a block device access model
US9563423B1 (en) 2012-12-21 2017-02-07 EMC IP Holding Company LLC System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9473591B1 (en) * 2012-12-21 2016-10-18 Emc Corporation Reliable server transport over fibre channel using a block device access model
US9712427B1 (en) 2012-12-21 2017-07-18 EMC IP Holding Company LLC Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model
US10445229B1 (en) * 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9235471B2 (en) * 2013-04-29 2016-01-12 Netapp, Inc. Background initialization for protection information enabled storage volumes
TW201445429A (zh) * 2013-05-22 2014-12-01 Asmedia Technology Inc 磁碟陣列系統及資料處理方法
CN104301345B (zh) * 2013-07-17 2018-04-27 阿里巴巴集团控股有限公司 一种Cache集群中删除数据的方法及系统
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US10261960B2 (en) 2014-09-12 2019-04-16 Scality, S.A. Snapshots and forks of storage systems using distributed consistent databases implemented within an object store
US10366070B2 (en) 2015-02-20 2019-07-30 Scality S.A. Locking and I/O improvements of systems built with distributed consistent database implementations within an object store
US10248682B2 (en) 2015-02-20 2019-04-02 Scality, S.A. Object storage system capable of performing snapshots, branches and locking
WO2015145617A1 (ja) * 2014-03-26 2015-10-01 株式会社日立製作所 ストレージシステム及び記憶制御方法
US9348526B2 (en) * 2014-03-28 2016-05-24 Scale Computing, Inc. Placement engine for a block device
US10235053B1 (en) * 2014-03-31 2019-03-19 Emc Corporation Method and system for using host driver for flexible allocation fast-sideways data movements
US9612769B1 (en) * 2014-06-30 2017-04-04 EMC IP Holding Company LLC Method and apparatus for automated multi site protection and recovery for cloud storage
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
WO2016033718A1 (zh) 2014-09-01 2016-03-10 华为技术有限公司 访问文件的方法、装置和存储系统
SG11201701365XA (en) 2014-09-01 2017-03-30 Huawei Tech Co Ltd File access method and apparatus, and storage system
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
WO2016056815A1 (ko) 2014-10-06 2016-04-14 엘지전자 주식회사 무선 통신 시스템에서 nbifom에 관련된 신호 송수신 방법 및 이를 위한 장치
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US10067688B2 (en) * 2015-01-23 2018-09-04 Qualcomm Incorporated Storage resource management in virtualized environments
WO2016122514A1 (en) * 2015-01-29 2016-08-04 Hewlett Packard Enterprise Development Lp Communications over a serial attached small computer interface (sas)
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US20160259573A1 (en) * 2015-03-03 2016-09-08 International Business Machines Corporation Virtual tape storage using inter-partition logical volume copies
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US10466913B2 (en) * 2015-04-29 2019-11-05 EMC IP Holding Company LLC Method and system for replicating and using grid level metadata in a storage system
US20170017420A1 (en) 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Enabling High Read Rates To Data Element Lists
US20170017414A1 (en) 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Implementing Hierarchical Distributed-Linked Lists For Network Devices
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US10275160B2 (en) 2015-12-21 2019-04-30 Intel Corporation Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller
US10013168B2 (en) 2015-12-24 2018-07-03 Intel Corporation Disaggregating block storage controller stacks
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
JP2018010507A (ja) * 2016-07-14 2018-01-18 富士通株式会社 メモリ管理プログラム、メモリ管理方法及びメモリ管理装置
US10200376B2 (en) 2016-08-24 2019-02-05 Intel Corporation Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10176116B2 (en) 2016-09-28 2019-01-08 Intel Corporation Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources
TWI607303B (zh) * 2016-10-14 2017-12-01 喬鼎資訊股份有限公司 具有虛擬區塊及磁碟陣列架構之資料儲存系統及其管理方法
TWI587152B (zh) * 2016-10-26 2017-06-11 先智雲端數據股份有限公司 用於延長雲端服務系統中磁碟預期壽命值的方法及使用該方法的系統
CN106681660B (zh) * 2016-12-17 2020-02-07 郑州云海信息技术有限公司 Io调度方法及io调度装置
US10282094B2 (en) * 2017-03-31 2019-05-07 Samsung Electronics Co., Ltd. Method for aggregated NVME-over-fabrics ESSD
CN108733308B (zh) * 2017-04-17 2021-06-22 伊姆西Ip控股有限责任公司 用于管理盘池的方法和设备
US10922303B1 (en) * 2017-08-17 2021-02-16 Amazon Technologies, Inc. Early detection of corrupt data partition exports
US10579288B2 (en) * 2017-08-31 2020-03-03 Micron Technology, Inc. Prioritized security
US10628200B2 (en) * 2017-11-02 2020-04-21 Red Hat Israel, Ltd. Base state for thin-provisioned volumes
JP6967959B2 (ja) * 2017-12-08 2021-11-17 キオクシア株式会社 メモリシステムおよび制御方法
CN109976662B (zh) * 2017-12-27 2022-06-14 浙江宇视科技有限公司 数据存储方法、装置及分布式存储系统
CN110096219B (zh) * 2018-01-31 2022-08-02 伊姆西Ip控股有限责任公司 从驱动器组生成的驱动器区段池的有效容量
US10725941B2 (en) 2018-06-30 2020-07-28 Western Digital Technologies, Inc. Multi-device storage system with hosted services on peer storage devices
US10409511B1 (en) * 2018-06-30 2019-09-10 Western Digital Technologies, Inc. Multi-device storage system with distributed read/write processing
US11249852B2 (en) 2018-07-31 2022-02-15 Portwonx, Inc. Efficient transfer of copy-on-write snapshots
US10592144B2 (en) 2018-08-03 2020-03-17 Western Digital Technologies, Inc. Storage system fabric with multichannel compute complex
US11354060B2 (en) 2018-09-11 2022-06-07 Portworx, Inc. Application snapshot for highly available and distributed volumes
US11061604B2 (en) 2018-09-28 2021-07-13 Infortrend Technology, Inc. Method and storage system architecture for accessing data by means of a compatible module
CN111124250B (zh) 2018-10-30 2023-11-21 伊姆西Ip控股有限责任公司 用于管理存储空间的方法、设备和计算机程序产品
CN111522499B (zh) 2019-02-01 2023-08-08 香港商希瑞科技股份有限公司 运维数据读取装置及其读取方法
US11132138B2 (en) 2019-09-06 2021-09-28 International Business Machines Corporation Converting large extent storage pools into small extent storage pools in place
US10901645B1 (en) 2019-09-06 2021-01-26 International Business Machines Corporation Converting small extent storage pools into large extent storage pools in place
US11494128B1 (en) 2020-01-28 2022-11-08 Pure Storage, Inc. Access control of resources in a cloud-native storage system
CN113625937A (zh) * 2020-05-09 2021-11-09 鸿富锦精密电子(天津)有限公司 存储资源处理装置及方法
CN112621719B (zh) * 2020-12-11 2022-09-02 珠海格力电器股份有限公司 示教器系统文件保护方法、装置、存储介质及示教器
US11531467B1 (en) 2021-01-29 2022-12-20 Pure Storage, Inc. Controlling public access of resources in a secure distributed storage system
US11842083B2 (en) * 2021-02-03 2023-12-12 Infortrend Technology, Inc. Storage system architecture with dual storage virtualization controllers and the data access method thereof
US11520516B1 (en) 2021-02-25 2022-12-06 Pure Storage, Inc. Optimizing performance for synchronous workloads
US11733897B1 (en) 2021-02-25 2023-08-22 Pure Storage, Inc. Dynamic volume storage adjustment
US11726684B1 (en) 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules
US11733922B2 (en) 2021-05-06 2023-08-22 EMC IP Holding Company LLC Method for data reconstruction in a RAID system having a protection pool of storage units
US11748016B2 (en) 2021-05-06 2023-09-05 EMC IP Holding Company LLC Method for adding disks in a raid system having a protection pool of storage units
US11640343B2 (en) * 2021-05-06 2023-05-02 EMC IP Holding Company LLC Method for migrating data in a raid system having a protection pool of storage units
JP2023000085A (ja) * 2021-06-17 2023-01-04 キオクシア株式会社 メモリシステム及び情報処理システム
US11782791B2 (en) * 2021-08-25 2023-10-10 Western Digital Technologies, Inc. System and method for memory hang recovery using a distributed power management system
CN115237351B (zh) * 2022-08-02 2023-08-15 苏州启恒融智信息科技有限公司 Nand块动态重映射、读写命令处理方法及存储设备
TWI815735B (zh) * 2022-11-21 2023-09-11 中華電信股份有限公司 一種具備空間回收之序列化儲存系統、方法及其電腦可讀媒介

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3181398B2 (ja) * 1992-10-06 2001-07-03 三菱電機株式会社 アレイ型記録装置
US6857059B2 (en) * 2001-01-11 2005-02-15 Yottayotta, Inc. Storage virtualization system and methods
US6895466B2 (en) * 2002-08-29 2005-05-17 International Business Machines Corporation Apparatus and method to assign pseudotime attributes to one or more logical volumes
US6938120B2 (en) * 2002-08-29 2005-08-30 International Business Machines Corporation Apparatus and method to form one or more premigration aggregates comprising a plurality of least recently accessed virtual volumes
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
CN101566930B (zh) 2003-08-14 2013-10-16 克姆佩棱特科技公司 虚拟磁盘驱动系统和方法
JP2005165444A (ja) * 2003-11-28 2005-06-23 Hitachi Ltd ディスクアレイ装置、及びディスクアレイ装置の制御方法
US7814293B2 (en) * 2004-07-19 2010-10-12 Infotrend Technology Inc. Redundant controller host-side IO rerouting
US20060101204A1 (en) * 2004-08-25 2006-05-11 Bao Bill Q Storage virtualization
US8229985B2 (en) * 2005-02-07 2012-07-24 Cisco Technology, Inc. Arrangement for a distributed file system having data objects mapped independent of any data object attribute
EP1816563B1 (en) 2006-01-26 2016-04-27 Infortrend Technology, Inc. Method of managing data snapshot images in a storage system
JP4757165B2 (ja) 2006-10-04 2011-08-24 株式会社日立製作所 計算機システム、データ移行監視方法及びデータ移行監視プログラム
US7949847B2 (en) * 2006-11-29 2011-05-24 Hitachi, Ltd. Storage extent allocation method for thin provisioning storage
US8321652B2 (en) * 2008-08-01 2012-11-27 Infineon Technologies Ag Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
US8225039B2 (en) * 2009-10-09 2012-07-17 Hitachi, Ltd. Storage controller and virtual volume control method

Also Published As

Publication number Publication date
US9946460B2 (en) 2018-04-17
US20100199041A1 (en) 2010-08-05
CN102681789B (zh) 2015-03-25
US20100199040A1 (en) 2010-08-05
TWI432959B (zh) 2014-04-01
TW201028852A (en) 2010-08-01
TWI467370B (zh) 2015-01-01
EP2211263A2 (en) 2010-07-28
TW201510725A (zh) 2015-03-16
US8510508B2 (en) 2013-08-13
CN101819506B (zh) 2012-12-05
EP2211263A3 (en) 2013-01-23
US8612679B2 (en) 2013-12-17
CN101788890B (zh) 2012-02-08
US20140068200A1 (en) 2014-03-06
CN102681789A (zh) 2012-09-19
US20170177237A1 (en) 2017-06-22
EP2211262A2 (en) 2010-07-28
CN101819506A (zh) 2010-09-01
TWI514147B (zh) 2015-12-21
US9588892B2 (en) 2017-03-07
EP2211262A3 (en) 2013-01-09
CN101788890A (zh) 2010-07-28

Similar Documents

Publication Publication Date Title
TW201028851A (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
US9971709B1 (en) Data migration techniques
JP3843713B2 (ja) 計算機システム及びそのデバイスの割り当て方法
JP4700459B2 (ja) データ処理システム及びデータ管理方法並びにストレージシステム
JP4920898B2 (ja) 計算機システム、データ管理方法およびプログラム
US9830234B2 (en) Distributed transaction log
WO2017149581A1 (ja) 仮想ストレージシステム
US20090240880A1 (en) High availability and low capacity thin provisioning
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
US20080184000A1 (en) Storage module and capacity pool free capacity adjustment method
JP6317524B2 (ja) ストレージシステム、計算機システム、およびストレージシステムの制御方法
US20070022263A1 (en) Data synchronization management
US9661078B1 (en) Federated namespace management
JP5218284B2 (ja) 仮想ディスク管理プログラム、ストレージ装置管理プログラム、マルチノードストレージシステム、および仮想ディスク管理方法
WO2006061272A1 (en) Storage pool space allocation across multiple locations
JP2007066192A (ja) ストレージシステム及びその制御方法並びにコンピュータプログラム
US11409454B1 (en) Container ownership protocol for independent node flushing
JP2005321913A (ja) ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
JP4501548B2 (ja) 計算機システム及びそのデバイスの割り当て方法
CN107577733B (zh) 一种数据复制的加速方法及系统
US11327895B1 (en) Protocol for processing requests that assigns each request received by a node a sequence identifier, stores data written by the request in a cache page block, stores a descriptor for the request in a cache page descriptor, and returns a completion acknowledgement of the request
US7533235B1 (en) Reserve stacking
US11853574B1 (en) Container flush ownership assignment