TWI581102B - 用於制式資料儲存的儲存媒體抽象化 - Google Patents
用於制式資料儲存的儲存媒體抽象化 Download PDFInfo
- Publication number
- TWI581102B TWI581102B TW101116225A TW101116225A TWI581102B TW I581102 B TWI581102 B TW I581102B TW 101116225 A TW101116225 A TW 101116225A TW 101116225 A TW101116225 A TW 101116225A TW I581102 B TWI581102 B TW I581102B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- application
- storage
- location
- stored
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
本發明係關於用於制式資料儲存的儲存媒體抽象化。
在電腦系統中存在用以儲存資料的各種裝置。桌上型、伺服器、膝上型與其他運算裝置,可包含一或多個用以儲存大量資料的硬碟機。硬碟機可經配置以用於各種資料存取目的。例如,伺服器可使用平價磁碟備份陣列(RAID)配置、儲存區域網路(SAN)或其他增進儲存特性(諸如潛時、容錯性、安全性、容量、存取時間等等)的技術。膝上型與行動裝置可包含快閃記憶體,且現今許多電腦系統使用為固態硬碟(SSD)形式之以快閃為基礎的記憶體。運算系統亦可存取遠端儲存,諸如來自多個供應商的以雲端為基礎之儲存服務、線上備份解決方案、提供於機構內的遠端資料中心等等。
在儲存資料時,軟體應用程式可從該等裝置的任意者中選擇。應用程式可產生文件、配置資訊或其他由應用程式引動一或多個作業系統儲存應用程式介面(API)來儲存的輸出。該等API通常涉及應用程式明確地識別其上要儲存資料的儲存裝置。例如,作業系統可指派代號或裝置路徑給應用程式指定之每一可用的儲存裝置,應用程式亦指定在磁碟機內的資料夾路徑,以在磁碟機中
儲存由應用程式產生的輸出資料。使用者亦涉及於管理資料儲存,並時常記憶使用者的文件是儲存在何處,而讓使用者可告知應用程式或另一應用程式要在電腦系統上的何處尋找所儲存的資料項目。使用者可由一個應用程式下載文件或其他資料項目,告訴應用程式將項目儲存在何處,並隨後以另一應用程式開啟項目,告訴彼應用程式要在何處搜尋項目。因此現今,使用者與應用程式大大地涉及於資料管理。
使用者(或管理者)時常是唯一瞭解電腦系統的配置,以及每一儲存裝置的特定儲存特性與益處的人。例如,使用者可瞭解由磁碟機代號C識別的儲存裝置是SSD、磁碟機D是RAID陣列、磁碟機E是SAN且磁碟機F是光學碟片。使用者可使用他對每一磁碟機性質的知識,來在使用應用程式時決定要在何處儲存資料。例如,若使用者想要資料有快速存取時間,則他可選擇將資料儲存在SSD上。若使用者想要歸檔資料並不期望時常存取此資料,則他可使用光碟機將資料燒錄至光學碟片。若使用者做出較差的選擇,則資料可能更難以存取(或存取得較慢)。隨著資料特性改變,諸如檔案變得較不常被使用者存取,則使用者可決定手動管理資料以刪除此資料、移動此資料至不同的儲存裝置等等。作業系統提供程式,且第三方提供大量的設施,僅為用於管理由應用程式儲存的資料。資料管理時常為困難且耗時的工作。
本文說明一種儲存抽象化系統,此系統從作為制式儲存裝置之作業系統暴露儲存,並從應用程式將特定儲存位置的選擇與儲存裝置的不同性質抽象化。應用程式提供要儲存的資料,以及關於應用程式儲存資料之目標的一些資訊,並讓作業系統基於資料特性將資料選徑至對的位置。作業系統可基於關於資料之一致性需求、期望使用率、存取頻率、安全需求等等的資訊,選擇將資料儲存在從第二級快取至以雲端為基礎之儲存服務之任意處,以及其間之任意者。系統讓應用程式與使用者聚焦在表達他們對於資料的目標與需求,並期望作業系統管理硬體,以讓應用程式與使用者可重新聚焦在使用資料上,而非變得過度思索管理如何儲存資料的細節。
在一些實施例中,儲存抽象化系統提供暴露給應用程式的API,此API將儲存媒體抽象化遠離儲存動作。在寫入資料時,作業系統接收背景資訊、判定可用的儲存裝置並自動選擇儲存資料的位置。作業系統提供參照給應用程式以在未來要求資料,即使資料隨後被移動到新的位置,參照仍可保持有效。作業系統可維持對於在何處儲存資料的索引,而使對資料的參照可被解析至資料儲存位置。作業系統可隨時間監視資料,並判定額外的資料特性。隨著資料特性改變,作業系統可選擇要傳輸資料至的新位置,其中應用程式仍可使用所提供的參照
存取資料。因此,儲存抽象化系統緩解應用程式與使用者,讓應用程式與使用者不用管理資料的放置,且儲存抽象化系統自動地管理所儲存的資料以選擇最適當的儲存媒體。
本【發明內容】被提供以由簡化形式介紹一些概念選擇,該等概念在以下的【實施方式】中將被進一步描述。本【發明內容】並不意為辨識所主張發明標的之關鍵特徵或必要特徵,亦不意為用以限制所主張發明標的之範疇。
本文說明一種儲存抽象化系統,此系統從作為制式儲存裝置的作業系統暴露儲存,並從應用程式將特定儲存位置的選擇與儲存裝置的不同性質抽象化。換言之,儲存抽象化系統將應用程式的儲存動作與對於儲存資料於何處的決定分開。應用程式提供要儲存的資料,以及關於應用程式儲存資料之目標的一些資訊,並讓作業系統基於資料特性將資料選徑至對的位置。作業系統可基於關於資料之一致性需求、期望使用率、存取頻率、安全需求等等的資訊,選擇將資料儲存在從第二級快取至以雲端為基礎之儲存服務之任意處,以及其間之任意者。不像現今非常以裝置為中心且重度依賴應用程式與使用者知識的儲存,儲存抽象化系統讓應用程式與使用者聚
焦在表達他們對於資料的目標與需求,並期望作業系統像是初始地被設計般管理硬體。應用程式與使用者可重新聚焦在使用資料上,而非變得過度思索管理如何儲存資料的細節。
在一些實施例中,儲存抽象化系統提供暴露給應用程式的API,此API將儲存媒體抽象化遠離儲存動作。例如,API可提供應用程式寫入與讀取功能,其中寫入功能指定關於資料的背景資訊而非指定資料位置,而讀取功能指定不透明的對資料的參照,此參照不識別特定位置。在寫入資料時,作業系統接收背景資訊、判定可用的儲存裝置並自動選擇要儲存資料的位置。作業系統提供參照給應用程式以在未來要求資料,即使資料隨後被移動到新的位置,參照仍可保持有效。作業系統可維持對於在何處儲存資料的索引,而使對資料的參照可被解析至資料儲存位置。作業系統可隨時間監視資料,並判定額外的資料特性。隨著資料特性改變,作業系統可選擇要傳輸資料至的新位置,其中應用程式仍可使用所提供的參照存取資料。
在一些實施例中,儲存抽象化系統接收一組策略,該組策略由管理者或其他使用者配置並提供對特性量測資料的指示。應用程式自身與使用者亦可提供對特性量測資料的指示。策略在存在衝突時判定哪個背景資訊勝出,且系統使用策略以選擇適當的儲存位置來接收資料。系統儲存資料以供往後使用(潛在地與資料自身),
並開始監視資料使用率圖樣。監視允許系統偵測資料特性中的改變,改變可建議不同的資料儲存位置。系統可執行週期性批次處理,以將更適合儲存在不同位置處的資料重新定位。例如,系統可將資料從以快閃為基礎的磁碟機轉移至傳統硬碟機、從硬碟機轉移至以雲端為基礎之儲存服務,或在任何其他的儲存位置之間轉移。在一些情況中,系統可保持資料的多份複本,並決定要使用哪個複本以滿足任何特定的應用程式要求。在任何給定時間處,系統將可用儲存的特性(諸如潛時、安全性、可用性、可靠性、保持能力與大小),與任何給定的資料項目的目的匹配,以判定用以儲存資料之適合的儲存媒體。因此,儲存抽象化系統緩解應用程式與使用者,讓應用程式與使用者不用管理資料的放置,且儲存抽象化系統自動地管理所儲存的資料以選擇最適當的儲存媒體。
第1圖為圖示說明在一個實施例中,儲存抽象化系統的部件的方塊圖。系統100包含一或多個資料儲存110、應用程式介面部件120、儲存元資料部件130、位置選擇部件140、儲存策略部件150、資料監視部件160、資料傳輸部件170以及資料存取部件180。在本文中進一步詳細說明該等部件的每一者。
一或多個資料儲存110儲存從一或多個應用程式接收並由系統管理的資料。資料儲存可包含一或多個揮發性記憶體、檔案、檔案系統、硬碟機、以快閃為基礎的記
憶體裝置、儲存區域網路、資料庫、以雲端為基礎的儲存服務,或其他用以隨著時間保存應用程式資料的設施。系統100判定可用以儲存資料的資料儲存110,並自動地代表應用程式或使用者對任何給定資料項目選擇適當的資料儲存。系統100基於用以有效率地管理資料的一或多個策略或目標來選擇資料儲存,而不讓彼工作成為應用程式或使用者的負擔。
應用程式介面部件120提供對一或多個應用程式的介面,以儲存並存取由應用程式使用的資料。介面可包含一或多個API、使用者介面或其他用以通訊資訊至/自系統100的通道。應用程式介面部件120從應用程式接收儲存與存取資料的要求,並引動系統100的其他部件以完成要求。例如,在從應用程式接收參照以存取先前儲存之資料項目後,應用程式介面部件120可引動資料存取部件180以定位並取得所要求的資料。
儲存元資料部件130從應用程式接收資訊,並自動判定應用程式要求儲存之資料的特性。特性可包含描述應用程式將存取資料之頻率、資料優先次序、資料的可回復性、資料的安全性期望、資料的合法性要求等等的資訊。資料特性影響資料可被儲存在何處,以及資料可從哪個資料儲存被最有效率地存取。例如,在本地法律規範下無法被運出的健康或商業資訊,可能不適合儲存在包含在外國的伺服器的雲端。常被存取的資料可能更適合被儲存在本地低潛時裝置中,同時較低優先次序或較
少被存取的資料可能能夠被有效率地儲存在遠端或較高潛時儲存媒體中。
位置選擇部件140基於所判定的資料特性,自動選擇要儲存所接收應用程式資料的儲存媒體與儲存媒體中的位置。部件140可列舉並管理可用的儲存裝置列表,並可基於資料項目特性、系統目標、作業系統需求等等,施加一或多個策略或直觀推斷(heuristics)以對特定資料項目選擇適當的儲存媒體。例如,若儲存媒體被填滿或變得重度片段化,則部件140可選擇不同的儲存媒體以儲存新資料。作為另一範例,系統可將潛時、安全性或其他考量作為考慮因素,來選擇將提供使用者所期望層級之資料服務的媒體。例如,使用者將不會期望在存取使用者經常存取的文件時發生長延遲,但可接受在存取較少使用資料時發生長延遲。此可允許部件140在遠端與本地儲存(以及低潛時與高潛時儲存)之間選擇。系統100亦可考慮轉移資料的頻寬成本。例如,小檔案可被放置得比大檔案要遠,因為用以取得小檔案的頻寬係少於大檔案,且因此減少成本。
儲存策略部件150接收影響被選擇為儲存所接收資料的位置與媒體的一或多個策略。對於機構,管理者可判定與機構內部策略、機構運作所遵守的法律,或其他相關於儲存資料處之限制重合的一或多個策略。系統100可提供使用者介面,管理者或其他使用者可透過使用者介面配置用於儲存資料方式的偏好設定。系統100可基
於檔案類型、產生資料的應用程式、產生資料處、產生資料的使用者,或任何由系統100呈現的其他準則,來對不同類型資料接收不同策略。
資料監視部件160隨著時間監視所儲存的資料,以判定資料特性是否改變,以及經自動選擇之儲存位置是否保持為適合儲存每一資料項目的位置。例如,若曾為經常被存取的資料在一段臨限週期內未被存取,則部件160可判定可將資料移動至具有較高潛時與較便宜成本的儲存,或甚至將資料刪除。相反的,若資料較原先所期望的要更常被存取,則系統可藉由將資料移動至具有較低潛時的本地儲存裝置,或甚至將資料保持在記憶體或第二級快取中,來使資料更輕易為可用。資料監視部件160可提供回饋或產生報告給使用者,而讓使用者可管理並監視系統100是如何作出關於使用者資料之決策。
資料傳輸部件170將原先儲存在第一位置的資料,移動到由資料監視部件160所判定的第二位置。資料傳輸部件170可由於資料特性的改變、系統100操作於其上之運算裝置的需求的演進(例如,磁碟被填滿或要求將資料傳輸至新運算裝置)、頻寬成本或其他影響有效率之資料配置的因素,來移動資料。資料傳輸部件170可將資料移動至新位置,並遲緩地將資料從舊位置刪除,以允許應用程式繼續於兩個位置存取資料或更有效率地利用運算裝置的資源。在本發明領域中具有通常知識者將
認知到,用於有效率地處理資料複製與移動的多種現存技術,可連同本文所描述的系統100來使用。
資料存取部件180提供應用程式對一或多個資料項目的存取,無視先前由系統100所自動選擇的項目的儲存位置。部件180從應用程式接收對資料的參照(例如,全球惟一代碼(globally unique identifier;GUID)),並詢問由系統100管理的索引或其他資料結構,以判定資料當前被儲存在何處。部件180隨後在所識別的位置存取資料,並提供資料給應用程式。應用程式可保持為不覺察到資料被儲存在何處,並可避免如現今相關於運算系統之複雜資料管理的負擔。
實施儲存抽象化系統於其上的運算裝置,可包含中央處理單元、記憶體、輸入裝置(例如,鍵盤與指標裝置)、輸出裝置(例如,顯示裝置)以及儲存裝置(例如,磁碟機或其他非揮發性儲存媒體)。記憶體與儲存裝置為可由電腦可執行指令(例如,軟體)編碼的電腦可讀取儲存媒體,此等電腦可執行指令實施或致能系統。此外,資料結構與訊息結構可被儲存或經由資料傳輸媒體(諸如在通訊鏈結上的訊號)而被傳輸。可使用各種通訊鏈結,諸如網際網路、本地區域網路、廣域區域網路、點對點撥號連結、行動電話網路等等。
系統的實施例可被實施於各種操作環境中,操作環境包含個人電腦、伺服器電腦、手持式或膝上型裝置、多處理器系統、以微處理器為基礎的系統、可程式消費者
電子設備、數位相機、網路個人電腦、微電腦、主機電腦、分散式運算環境(包含前述系統或裝置的任何者)、機上盒、晶片上系統(SOC)等等。電腦系統可為行動電話、個人數位助理、智慧型手機、個人電腦、可程式消費者電子設備、數位相機等等。
可由以一或多個電腦或其他裝置執行之電腦可執行指令(諸如程式模組)的一般背景來描述系統。一般而言,程式模組包含執行特定工作或實施特定抽象化資料類型的常式、程式、物件、部件、資料結構等等。通常,程式模組的功能性可依各種實施例所需被結合或分散。
第2圖為圖示說明在一個實施例中,儲存抽象化系統在經自動選擇位置儲存應用程式資料的處理的流程圖。
開始於方塊210,系統接收要儲存由應用程式產生之資料的應用程式要求。要求可包含對資料之一或多個位元組的指標、資料大小與資料的一或多個特性。特性可識別資料被期望的存取頻率、資料將被需要多長時間(例如,暫時性檔案相對於永久儲存)、資料是否為私密或安全性敏感、與資料相關聯的任何合法性限制等等。系統可接收特性以作為對於儲存API的一或多個旗標或其他參數,此儲存API由作業系統提供給應用程式。
繼續進行方塊220,系統接收元資料,此元資料描述用於判定要儲存資料於何處的資料特性。如先前所指出的,系統可接收元資料與要儲存資料的要求,或可接收描述資料的個別資訊。在一些實施例中,系統提供向下
相容層,允許現存應用程式呼叫傳統檔案系統API,同時另一應用程式或部件提供描述應用程式所儲存之資料的元資料。
繼續進行方塊230,系統除了判定從應用程式接收的資料特性以外,亦自動地判定一或多個資料特性。例如,系統可指出提供資料的應用程式、資料何時被接收、資料有多大、可從描述應用程式典型行為之知識庫存取的資訊等等。系統使用所接收與判定的資料特性,來產生對於應用程式將如何使用所儲存資料的完整描繪,而使系統可在多個可用的儲存裝置之中選擇對於資料的適當位置。
繼續進行方塊240,系統識別一或多個潛在的儲存位置與所識別位置的性質,系統可在此等位置處儲存應用程式資料。系統可引動一或多個作業系統函式,以列舉附加至系統運行於其上之運算系統的儲存裝置,以及接收描述外部儲存位置的資訊,諸如以雲端為基礎的資料儲存、遠端資料庫、檔案分享等等。即使在僅存在單一儲存裝置(例如,硬碟機)時,系統仍藉由讓應用程式不需產生需要瞭解儲存裝置數量的負擔,來對應用程式提供益處。在多個儲存裝置的情況中,系統緩解應用程式(與使用者)讓應用程式(與使用者)不需要複雜的檔案管理,並代表應用程式選擇要在何處儲存資料。系統亦可利用已知關於多個應用程式的資訊,以相較於任何可具有資訊的單一應用程式,更有效率地對整個系統
管理資料。
繼續進行方塊250,系統基於資料特性與儲存位置性質,自動選擇潛在儲存位置的一者。系統將資料特性與應用程式期望與儲存位置性質匹配。例如,若應用程式要求經常存取資料項目,且特定儲存位置對所儲存項目提供快速且低潛時的存取,則系統可決定在彼儲存位置處儲存資料項目。系統亦可考慮其他不為應用程式所知的性質,諸如儲存裝置可用容量、由儲存裝置消耗的電力等等。系統亦不從應用程式接收儲存位置,或可忽略由應用程式提供的位置,以基於系統選擇的準則來選擇位置。
繼續進行方塊260,系統回應於儲存要求而提供參照給應用程式,應用程式可透過此參照來存取資料而無視資料的位置。參照可包含GUID、雜湊鑰,或系統可用以判定應用程式要求哪個資料項目並判定系統當前儲存下層資料項目於何處的其他參照。系統可包含索引或其他資料結構,以編目資料項目的儲存位置,並將每一儲存資料項目與提供給應用程式以取得資料項目的參照匹配。在方塊260之後,該等步驟完成。
第3圖為圖示說明在一個實施例中,儲存抽象化系統監視所儲存應用程式資料的資料特性改變的處理的流程圖。
開始於方塊310,系統監視所儲存的資料項目,以識別指示如何使用資料項目的一或多個資料存取特性。例
如,系統可觀察資料的存取頻率、資料被存取的一天中的時間、資料在第一次被寫入之後是否曾被更新(例如單寫多讀(write-once,read-many;WORM)資料)等等。
繼續進行方塊320,系統基於所識別資料存取特性,更新描述所儲存資料項目的所儲存元資料。系統可對系統儲存之每個項目追蹤元資料,或對利用由系統提供之自動儲存位置選擇的項目追蹤元資料。元資料聚合了系統已知之描述如何使用每一資料項目的資訊,而使系統可將聚合資訊作為相關於管理資料之決策的考慮因素。
繼續進行方塊330,系統傳輸資料至新位置,而不告知原先儲存資料的應用程式。系統將對於所儲存之資料的應用程式知識,與對於資料儲存處的系統知識分開,而使應用程式可聚焦在應用程式的資料背景,且不用管理如何儲存資料以及在何處儲存資料。系統代表多個應用程式來管理如何儲存資料以及在何處儲存資料,並可根據基於資訊科技(IT)策略或其他目標的全域性或跨應用程式策略,來管理資料。
繼續進行方塊340,系統接收要存取所傳輸資料的應用程式要求,其中應用程式提供參照以識別資料,但此參照不包含指示資料儲存處的資訊。系統使用所接收的參照與由系統管理的位置資訊,來查找資料的位置。
繼續進行方塊350,系統基於所接收的參照來判定資料的儲存位置。儲存位置可包含特定儲存媒體、儲存裝置與儲存裝置內的位置。例如,位置可指示硬碟機上的
資料夾、對以雲端為基礎之儲存裝置的資料參照或其他儲存位置資訊。系統可包含本地、遠端或分散式索引,系統藉著本地、遠端或分散式索引將儲存位置映射至資料項目,使得資料項目可在被要求後被找到,無視資料項目的位置,且無需應用程式瞭解系統先前將資料放置在何處或隨後傳輸到何處。
繼續進行方塊360,系統在所判定位置存取被要求的資料,並提供被要求的資料給應用程式。系統可使用檔案系統API、用於雲端儲存的網頁服務API或使用其他存取資料的範型來取得資料。無論資料被儲存在何處或資料被儲存之位置的任何獨特性質,儲存抽象化系統呈現制式介面以對應用程式存取資料,而讓應用程式不會產生需要瞭解並管理分異的裝置特性與存取方法的負擔。在方塊360之後,該等步驟完成。
在一些實施例中,儲存抽象化系統提供不限大小的儲存裝置給應用程式。因為現今的應用程式明確地選擇儲存裝置,所以應用程式在裝置被填滿時可不再儲存資料至裝置。然而,系統不呈現任何一個儲存裝置給應用程式,而是提供可用於應用程式以儲存潛在不限量資料的儲存裝置。在應用程式儲存資料時,系統可放置一些資料在一個儲存裝置上,並放置其他資料在其他儲存裝置上,而使隨著應用程式對於儲存空間的需求成長,系統可找到並提供越來越多的儲存給應用程式。最後,系統可延伸儲存至雲端或其他外部儲存,而使應用程式不會
用完空間。系統亦可藉由識別可用的外部儲存,並提供所識別的儲存給應用程式,來處理尖峰或不尋常(但對時間敏感)之對於額外儲存的應用程式要求,直到應用程式返回正常的儲存需求層級。
將從上文認知到,本文為對圖示說明之目的描述了儲存抽象化系統的特定實施例,但可進行各種修改而不脫離本發明的精神與範疇。因此,本發明不被限制,除了由附加申請專利範圍限制以外。
100‧‧‧儲存抽象化系統
110‧‧‧資料儲存
120‧‧‧應用程式介面部件
130‧‧‧儲存元資料部件
140‧‧‧位置選擇部件
150‧‧‧儲存策略部件
160‧‧‧資料監視部件
170‧‧‧資料傳輸部件
180‧‧‧資料存取部件
210-260‧‧‧步驟
310-360‧‧‧步驟
第1圖為圖示說明在一個實施例中,儲存抽象化系統的部件的方塊圖。
第2圖為圖示說明在一個實施例中,儲存抽象化系統在經自動選擇位置儲存應用程式資料的處理的流程圖。
第3圖為圖示說明在一個實施例中,儲存抽象化系統監視所儲存應用程式資料的資料特性改變的處理的流程圖。
100‧‧‧儲存抽象化系統
110‧‧‧資料儲存
120‧‧‧應用程式介面部件
130‧‧‧儲存元資料部件
140‧‧‧位置選擇部件
150‧‧‧儲存策略部件
160‧‧‧資料監視部件
170‧‧‧資料傳輸部件
180‧‧‧資料存取部件
Claims (18)
- 一種電腦實施方法,該方法用以在所自動選擇的一位置儲存應用程式資料,該方法包含以下步驟:接收應用程式要求步驟,接收一應用程式要求,該應用程式要求欲儲存由該應用程式產生的資料;接收元資料步驟,接收元資料,該元資料描述該資料的資料特性,該等資料特性有用於決定要在何處儲存該資料;自動判定步驟,自動判定除了該等所接收的資料特性之外的一或多個資料特性,其中該自動判定步驟進一步包含以下步驟:識別提供該資料的該應用程式;識別步驟,識別一或多個潛在的儲存位置,以及該等經識別位置的性質,該應用程式資料可被儲存在該等經識別位置,其中該識別步驟進一步包含以下步驟:識別相關於至少一個其他應用程式對資料儲存位置之使用的資訊,以有效率地對多個應用程式管理資料儲存位置;自動選擇步驟,基於該等所接收的資料特性、該等所判定的資料特性與該等經識別位置的該等性質,自動選擇該等潛在的儲存位置之一者;以及提供步驟,回應於該應用程式要求,提供一參照給該應用程式,該應用程式可不論該資料被儲存於何處而透過該參照存取該資料, 其中前述步驟係由至少一個處理器來執行。
- 如請求項1所述之方法,其中該接收應用程式要求步驟包含以下步驟:接收資料的一或多個位元組、一資料大小以及該資料的一或多個特性。
- 如請求項1所述之方法,其中該接收應用程式要求步驟包含以下步驟:接收識別所期望之該應用程式對該資料的一存取頻率的資訊。
- 如請求項1所述之方法,其中該接收應用程式要求步驟包含以下步驟:接收識別該應用程式將在多久時間內需要該資料的資訊。
- 如請求項1所述之方法,其中該接收應用程式要求步驟包含以下步驟:接收識別該資料是否為私密、安全性敏感或具有與該資料相關聯之合法性限制的資訊。
- 如請求項1所述之方法,其中該接收元資料步驟包含以下步驟:分別接收該應用程式要求與該元資料,以允許與現存應用程式的向下相容性,該等現存應用程式可呼叫傳統檔案系統應用程式介面(API)以儲存資料。
- 如請求項1所述之方法,其中識別潛在的儲存位置的該識別步驟包含以下步驟:引動一或多個作業系統功能,以列舉附加至一運算系統的儲存裝置。
- 如請求項1所述之方法,其中識別潛在的儲存位置的該識別步驟包含以下步驟:接收描述一或多個外部儲存位置的資訊,該等外部儲存位置包含至少一個以雲端為基礎的資料儲存服務。
- 如請求項1所述之方法,其中選擇一儲存位置的選擇步驟包含以下步驟:將該等所接收的資料特性、該等所判定的資料特性對儲存位置性質匹配,以判定用於儲存該所要求資料的一儲存位置。
- 如請求項1所述之方法,其中選擇儲存位置的該自動選擇步驟包含以下步驟:考慮應用程式未知但相關於每一儲存位置的其他性質。
- 如請求項1所述之方法,其中該提供步驟包含以下步驟:產生一參照,該參照可用以判定該應用程式正尋找哪個資料項目,以及用以判定該應用程式正尋找的該資料項目當前儲存在何處。
- 如請求項1所述之方法,其中該提供步驟包含以下步驟:提供相關於一資料項目索引的一參照。
- 一種電腦系統,該系統用於儲存媒體抽象化以提供一致的資料儲存,該系統包含:一處理器與記憶體,該處理器與記憶體經配置以執行實施於下列部件內的軟體指令:一或多個資料存儲器,該等資料存儲器儲存接收自一或多個應用程式並由該系統管理的資料;一應用程式介面部件,該應用程式介面部件提供一介面給一或多個應用程式,以用於儲存並存取由每一應用程式使用的資料;一儲存元資料部件,該儲存元資料部件從一應用程式接收資訊,並自動判定該應用程式要求要儲存之資料的資料特性,其中該等所判定的資料特性識別提供該資料的該應用程式;一位置選擇部件,該位置選擇部件基於該等所判定的資料特性,自動地從該等資料存儲器中選擇一資料存儲器與該資料存儲器中的一位置,以儲存所接收的應用程式資料於該資料儲存器上,並儲存所接收的應用程式資料於該位置;一儲存策略部件,該儲存策略部件接收一或多個策略,該一或多個策略影響該所選擇的資料存儲器與位置; 一資料監視部件,該資料監視部件隨著時間監視所儲存的資料,以判定資料特性是否改變,以及該所選擇的資料儲存器與位置是否保持為適合儲存每一資料項目的一適合位置,該資料監視部件並識別相關於至少一個其他應用程式對該所選擇的資料存儲器上的資料儲存位置之使用的資訊,以有效率地對多個應用程式管理適當的位置;一資料傳輸部件,該資料傳輸部件將原本儲存在一第一位置的資料,移動至由該資料監視部件判定的一第二位置,該資料傳輸部件並僅將原本儲存在該第一位置的資料延遲從該第一位置刪除;及一資料存取部件,該資料存取部件提供應用程式對一或多個資料項目的存取,而無視先前由該系統自動選擇之該等資料項目的一儲存位置。
- 如請求項13所述之系統,其中該一或多個資料存儲器包含至少一個內部資料存儲器以及至少一個外部資料存儲器,該至少一個內部資料存儲器附加至該電腦系統,且該電腦系統使用一網路以與該至少一個外部資料存儲器遠端通訊。
- 如請求項13所述之系統,其中該應用程式介面部件提供一應用程式介面(API),該系統透過該應用程式介面 從一應用程式接收要儲存與存取資料的要求,其中該等要求不識別儲存該資料的一位置。
- 如請求項13所述之系統,其中該位置選擇部件列舉並管理可用儲存裝置的一列表,並施加一或多個策略或直觀推斷,以選擇對於一特定資料項目的一適當儲存媒體。
- 一種電腦可讀取儲存媒體,該電腦可讀取儲存媒體包含用於控制一電腦系統來對所儲存應用程式資料監視資料特性改變的指令,其中該等指令在被執行時使一處理器執行動作,該等動作包含下列動作:監視一經儲存資料項目,以識別一或多個資料存取特性,該一或多個資料存取特性指示一應用程式如何使用該資料項目,其中該一或多個資料存取特性識別提供該資料項目的該應用程式;基於該所識別資料存取特性,更新所儲存的元資料,該元資料描述該資料項目;傳輸該資料項目至一新位置,而不告知原先儲存該資料項目的一應用程式,其中藉由識別相關於至少一個其他應用程式對於資料儲存位置的使用的資訊來判定該新位置;在將該資料項目傳輸至該新位置的一段時間之後,僅將該資料項目從一先前位置刪除; 接收要存取該經傳輸資料項目的一應用程式要求,其中該應用程式提供一參照以識別該資料項目,該參照不包含指示該資料項目被儲存於何處的資訊;基於所接收的參照,判定該資料項目的一儲存位置;及在該經判定位置存取該所要求資料項目,並提供該所要求資料項目給該應用程式。
- 如請求項17所述之媒體,其中判定該儲存位置之動作包含存取資料項目與儲存位置的一索引,以判定該資料項目的一儲存位置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/163,730 US8983911B2 (en) | 2011-06-20 | 2011-06-20 | Storage media abstraction for uniform data storage |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201301040A TW201301040A (zh) | 2013-01-01 |
TWI581102B true TWI581102B (zh) | 2017-05-01 |
Family
ID=47354592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101116225A TWI581102B (zh) | 2011-06-20 | 2012-05-07 | 用於制式資料儲存的儲存媒體抽象化 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8983911B2 (zh) |
EP (1) | EP2721481A4 (zh) |
CN (1) | CN103620549B (zh) |
AR (1) | AR086713A1 (zh) |
TW (1) | TWI581102B (zh) |
WO (1) | WO2012177580A2 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8983911B2 (en) | 2011-06-20 | 2015-03-17 | Microsoft Technology Licensing, Llc | Storage media abstraction for uniform data storage |
US9984079B1 (en) * | 2012-01-13 | 2018-05-29 | Amazon Technologies, Inc. | Managing data storage using storage policy specifications |
US9740435B2 (en) * | 2012-02-27 | 2017-08-22 | Fujifilm North America Corporation | Methods for managing content stored in cloud-based storages |
US9081610B2 (en) * | 2012-06-18 | 2015-07-14 | Hitachi, Ltd. | Method and apparatus to maximize return on investment in hybrid cloud environment |
JP2014010465A (ja) * | 2012-06-27 | 2014-01-20 | International Business Maschines Corporation | 複数のストレージ・クラウドから実体ファイルを格納するためのストレージ・クラウドを選択する方法、並びにそのコンピュータ及びコンピュータ・プログラム |
US9256566B1 (en) | 2013-01-24 | 2016-02-09 | Seagate Technology Llc | Managed reliability of data storage |
US10120891B2 (en) * | 2013-02-11 | 2018-11-06 | International Business Machines Corporation | Data placement optimization |
US9569476B2 (en) | 2013-04-02 | 2017-02-14 | International Business Machines Corporation | Intelligent data routing and storage provisioning |
US9513692B2 (en) * | 2013-09-18 | 2016-12-06 | Intel Corporation | Heterogenous memory access |
KR20150055776A (ko) * | 2013-11-14 | 2015-05-22 | (주)휴맥스 | 퍼스널 클라우드 스토리지 체인 서비스 시스템 및 방법 |
CN104408044A (zh) * | 2014-10-23 | 2015-03-11 | 北京用友政务软件有限公司 | 一种文件存取方法和系统 |
US20170013046A1 (en) * | 2014-11-18 | 2017-01-12 | Primarydata, Inc. | Data-centric data storage |
WO2016191620A1 (en) * | 2015-05-26 | 2016-12-01 | Gluent Inc. | System and method for transparent context aware filtering of data requests |
US10509770B2 (en) | 2015-07-13 | 2019-12-17 | Samsung Electronics Co., Ltd. | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device |
US11461010B2 (en) | 2015-07-13 | 2022-10-04 | Samsung Electronics Co., Ltd. | Data property-based data placement in a nonvolatile memory device |
KR102652293B1 (ko) * | 2016-03-03 | 2024-03-29 | 에스케이하이닉스 주식회사 | 메모리 관리방법 |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10880401B2 (en) * | 2018-02-12 | 2020-12-29 | Micron Technology, Inc. | Optimization of data access and communication in memory systems |
CN109240837B (zh) * | 2018-09-11 | 2020-09-29 | 四川虹微技术有限公司 | 一种通用云存储服务api的构建方法 |
CN109597589B (zh) * | 2018-12-12 | 2020-08-11 | 珠海格力电器股份有限公司 | 数据存储方法及系统 |
WO2021135820A1 (en) * | 2019-12-30 | 2021-07-08 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for storage management of media content on electronic device, electronic device, and non-transitory computer-readable storage medium |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | Pure Storage, Inc. | Multi-cloud orchestration as-a-service |
US20210406276A1 (en) * | 2020-06-26 | 2021-12-30 | Bank Of America Corporation | System for automated data lineage and movement detection |
US11816356B2 (en) | 2021-07-06 | 2023-11-14 | Pure Storage, Inc. | Container orchestrator-aware storage system |
US11934893B2 (en) | 2021-07-06 | 2024-03-19 | Pure Storage, Inc. | Storage system that drives an orchestrator based on events in the storage system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193740A1 (en) * | 2000-02-14 | 2004-09-30 | Nice Systems Ltd. | Content-based storage management |
TW200627204A (en) * | 2004-08-10 | 2006-08-01 | Ibm | System and method for automated data storage management |
US20090016190A1 (en) * | 2007-07-12 | 2009-01-15 | Jakob Holger | Method and system for function-specific time-configurable replication of data |
US20100332456A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732104B1 (en) | 2001-06-06 | 2004-05-04 | Lsi Logic Corporatioin | Uniform routing of storage access requests through redundant array controllers |
US7779428B2 (en) | 2002-06-18 | 2010-08-17 | Symantec Operating Corporation | Storage resource integration layer interfaces |
US7500092B2 (en) * | 2003-01-17 | 2009-03-03 | International Business Machines Corporation | Hardware abstraction for set-top box operating systems |
US7069206B2 (en) * | 2003-04-24 | 2006-06-27 | International Business Machines Corporation | Method and apparatus for abstraction of physical hardware implementation to logical software drivers |
DE602004024342D1 (de) | 2004-12-06 | 2010-01-07 | Gresham Entpr Storage Inc | Speicherkonsolidierungs-plattform |
US20060274153A1 (en) * | 2005-06-02 | 2006-12-07 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Third party storage of captured data |
US20060294042A1 (en) | 2005-06-23 | 2006-12-28 | Microsoft Corporation | Disparate data store services catalogued for unified access |
US7660800B2 (en) * | 2005-11-28 | 2010-02-09 | Commvault Systems, Inc. | Systems and methods for classifying and transferring information in a storage network |
US7856630B2 (en) * | 2006-01-05 | 2010-12-21 | International Business Machines Corporation | System, method and program to manage program updates |
US20080222659A1 (en) * | 2007-03-09 | 2008-09-11 | Microsoft Corporation | Abstracting operating environment from operating system |
US20100121828A1 (en) * | 2008-11-11 | 2010-05-13 | You Wang | Resource constraint aware network file system |
US8635184B2 (en) * | 2009-06-25 | 2014-01-21 | Emc Corporation | System and method for providing long-term storage for data |
US8983911B2 (en) | 2011-06-20 | 2015-03-17 | Microsoft Technology Licensing, Llc | Storage media abstraction for uniform data storage |
-
2011
- 2011-06-20 US US13/163,730 patent/US8983911B2/en active Active
-
2012
- 2012-05-07 TW TW101116225A patent/TWI581102B/zh not_active IP Right Cessation
- 2012-06-18 CN CN201280030193.4A patent/CN103620549B/zh active Active
- 2012-06-18 WO PCT/US2012/043038 patent/WO2012177580A2/en unknown
- 2012-06-18 EP EP12802365.2A patent/EP2721481A4/en not_active Ceased
- 2012-06-21 AR ARP120102232A patent/AR086713A1/es active IP Right Grant
-
2015
- 2015-03-17 US US14/660,857 patent/US10303649B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193740A1 (en) * | 2000-02-14 | 2004-09-30 | Nice Systems Ltd. | Content-based storage management |
TW200627204A (en) * | 2004-08-10 | 2006-08-01 | Ibm | System and method for automated data storage management |
US20090016190A1 (en) * | 2007-07-12 | 2009-01-15 | Jakob Holger | Method and system for function-specific time-configurable replication of data |
US20100332456A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
Also Published As
Publication number | Publication date |
---|---|
US20120323977A1 (en) | 2012-12-20 |
US10303649B2 (en) | 2019-05-28 |
AR086713A1 (es) | 2014-01-15 |
WO2012177580A3 (en) | 2013-04-18 |
EP2721481A4 (en) | 2015-09-16 |
TW201301040A (zh) | 2013-01-01 |
US20150193434A1 (en) | 2015-07-09 |
WO2012177580A2 (en) | 2012-12-27 |
EP2721481A2 (en) | 2014-04-23 |
CN103620549A (zh) | 2014-03-05 |
CN103620549B (zh) | 2017-08-15 |
US8983911B2 (en) | 2015-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI581102B (zh) | 用於制式資料儲存的儲存媒體抽象化 | |
US9952753B2 (en) | Predictive caching and fetch priority | |
US8762456B1 (en) | Generating prefetching profiles for prefetching data in a cloud based file system | |
US9898480B2 (en) | Application recommendation using stored files | |
US9740435B2 (en) | Methods for managing content stored in cloud-based storages | |
JP6062987B2 (ja) | ネットワークストレージ管理システム | |
US20170013046A1 (en) | Data-centric data storage | |
US7565494B1 (en) | Configuring a bounded cache prefetch policy in a computer system employing object addressable storage | |
US20150142742A1 (en) | System and method for syncing local directories that enable file access across multiple devices | |
CN104813321A (zh) | 在分布式对象存储生态系统中的去耦合的内容以及元数据 | |
KR20130113435A (ko) | 공유된 캐시 저장 시스템에서 파일의 업로드를 관리하기 위한 시스템 및 방법 | |
CN109804359A (zh) | 用于将数据回写到存储设备的系统和方法 | |
US8732355B1 (en) | Dynamic data prefetching | |
US20210133248A1 (en) | System and method for searching backups | |
US20170220586A1 (en) | Assign placement policy to segment set | |
US11210282B2 (en) | Data placement optimization in a storage system according to usage and directive metadata embedded within the data | |
KR20220132639A (ko) | 원격-저장 파일들의 예측 제공 | |
US20110208927A1 (en) | Virtual memory | |
JP2019139539A (ja) | データ管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |