国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      按照使用來管理基于閃存的存儲上的數(shù)據(jù)放置的制作方法

      文檔序號:6495517閱讀:159來源:國知局
      按照使用來管理基于閃存的存儲上的數(shù)據(jù)放置的制作方法
      【專利摘要】在此描述了存儲放置系統(tǒng),該存儲放置系統(tǒng)使用操作系統(tǒng)的關(guān)于數(shù)據(jù)正在計算設(shè)備上被如何使用的知識來更有效地與基于閃存的存儲設(shè)備進行通信并管理該基于閃存的存儲設(shè)備。不被頻繁使用的冷數(shù)據(jù)可以同熱數(shù)據(jù)簇相區(qū)分并被放置已損耗區(qū)域中,而被頻繁使用的熱數(shù)據(jù)可以被保持為可容易地訪問的。通過將熱數(shù)據(jù)聚簇在一起而將冷數(shù)據(jù)聚簇在單獨的區(qū)段中,系統(tǒng)能夠更好地執(zhí)行損耗均衡并延長閃存介質(zhì)的有用性。數(shù)據(jù)在云或其他存儲中的儲存可以在將數(shù)據(jù)合并以寫入塊以前智能地將數(shù)據(jù)短時間地保持在某位置。因此,該系統(tǒng)充分利用操作系統(tǒng)對數(shù)據(jù)已被及將被如何使用的知識來將數(shù)據(jù)以有效的方式放置在基于閃存的存儲設(shè)備中。
      【專利說明】按照使用來管理基于閃存的存儲上的數(shù)據(jù)放置
      【背景技術(shù)】
      [0001]近年來數(shù)據(jù)存儲硬件發(fā)生改變,使得基于閃存的存儲常見得多。諸如硬盤驅(qū)動器和光盤驅(qū)動器之類的旋轉(zhuǎn)介質(zhì)日益被不具有移動部件的基于閃存的存儲替代,比如固態(tài)盤(SSD)驅(qū)動器。固態(tài)盤是穩(wěn)健得多的,并且更加不易受對以前的介質(zhì)有害的許多類型的環(huán)境條件的影響。例如,旋轉(zhuǎn)介質(zhì)特別易受震動的影響,其中震動例如發(fā)生在包含旋轉(zhuǎn)介質(zhì)的移動計算設(shè)備掉落時?;陂W存的存儲通常還具有快得多的訪問時間并且該存儲的每個區(qū)域都可以以標準的等待時間來訪問。旋轉(zhuǎn)介質(zhì)基于數(shù)據(jù)被存儲在與中央心軸(在那里盤旋轉(zhuǎn)得更快)多么接近而展示出不同的速度特性。另一方面,SSD具有固定的時間量來訪問給定的存儲器位置,并且不具有傳統(tǒng)的查找時間(其是指移動旋轉(zhuǎn)介質(zhì)的讀取頭的時間)。
      [0002]遺憾的是,SSD在它們被讀取、寫入以及尤其是擦除的程度方面引入了限制。典型的基于閃存的存儲僅能一次擦除一個塊,盡管塊內(nèi)的非重疊的位可以在任何時候被設(shè)置。在典型的計算系統(tǒng)中,操作系統(tǒng)將第一組數(shù)據(jù)寫入到SSD頁,并且如果用戶或系統(tǒng)修改該數(shù)據(jù),則操作系統(tǒng)要么將完整的頁或一些數(shù)據(jù)重寫到新位置、要么擦除整個塊并重寫該頁的完整內(nèi)容。SSD壽命是由塊在驅(qū)動器的該區(qū)域不再能夠維持數(shù)據(jù)完整性(或者至少不能被有效地擦除和重寫)以前可被擦除的平均次數(shù)確定的。操作系統(tǒng)分別對塊的重復(fù)擦除和重寫僅僅加速了 SSD的終結(jié)。
      [0003]已經(jīng)引入若干技術(shù)來幫助SSD持續(xù)更長時間。例如,許多驅(qū)動器現(xiàn)在在內(nèi)部執(zhí)行損耗均衡(wear leveling),其中驅(qū)動器的固件以保持每個塊被擦除大約相同次數(shù)的方式來選擇存儲數(shù)據(jù)的位置。這意味著,驅(qū)動器將不會因為驅(qū)動器的一個區(qū)域被過度使用而其他區(qū)域未被使用(這可能導(dǎo)致驅(qū)動器表現(xiàn)為隨時間變得更小或者完全故障)而發(fā)生故障。另夕卜,TR頂命令曾被引入到高級技術(shù)附連(ATA)標準中,以允許操作系統(tǒng)向SSD通知哪個數(shù)據(jù)塊不再處于使用中,使得SSD可以決定何時擦除。諷刺的是,所有類型的盤驅(qū)動器都不知道哪些塊處于使用中。這是因為操作系統(tǒng)寫入數(shù)據(jù)并且然后常常僅僅標上標記以指示其在文件系統(tǒng)級上被刪除。由于驅(qū)動器通常不理解文件系統(tǒng),因此驅(qū)動器不能將正被文件系統(tǒng)使用的塊與不再處于使用中的塊區(qū)分開,其中不再處于使用中的塊區(qū)因數(shù)據(jù)已被標記為被文件系統(tǒng)刪除。TRIM命令將該信息提供給驅(qū)動器。
      [0004]盡管這些技術(shù)是有益的,但是它們?nèi)匀灰揽框?qū)動器在大多數(shù)情況下管理自己,而不提供驅(qū)動器與操作系統(tǒng)之間的充分通信以允許在驅(qū)動器之外作出的延長驅(qū)動器壽命的智能判定。

      【發(fā)明內(nèi)容】

      [0005]在此描述了存儲放置系統(tǒng),該存儲放置系統(tǒng)使用操作系統(tǒng)的關(guān)于數(shù)據(jù)正在計算設(shè)備上被如何使用的知識來更有效地與基于閃存的存儲設(shè)備進行通信并管理該基于閃存的存儲設(shè)備。損耗均衡是SSD中的一個問題,其專注于熱和冷數(shù)據(jù)標識和放置技術(shù)以在延長SSD使用的閃存的壽命和改善性能方面扮演重要角色。不被頻繁使用的冷數(shù)據(jù)可以同熱數(shù)據(jù)簇相區(qū)分,并且隨后被放置在閃存介質(zhì)的已損耗區(qū)域中,而被頻繁使用的熱數(shù)據(jù)可以被保持為可容易地訪問的。通過將熱數(shù)據(jù)聚簇在一起而將冷數(shù)據(jù)聚簇在單獨的區(qū)段中,系統(tǒng)能夠更好地執(zhí)行損耗均衡并延長閃存介質(zhì)的有用性。數(shù)據(jù)在云或其他存儲中的儲存也可以被用于在將數(shù)據(jù)合并以寫入塊以前智能地將數(shù)據(jù)短時間地保持在某位置。熱數(shù)據(jù)也可以存儲得更近,而冷數(shù)據(jù)可以存儲得更遠。因此,存儲放置系統(tǒng)充分利用操作系統(tǒng)對數(shù)據(jù)已被及將被如何使用的知識來將數(shù)據(jù)以有效的方式放置在基于閃存的存儲設(shè)備中。
      [0006]提供本概述是為了以簡化的形式介紹將在以下【具體實施方式】中進一步描述的選擇的概念。本
      【發(fā)明內(nèi)容】
      并不旨在標識所要求保護主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護主題的范圍。
      【專利附圖】

      【附圖說明】
      [0007]圖1是示出一個實施例中的存儲放置系統(tǒng)的各組件的框圖。
      [0008]圖2是示出一個實施例中的存儲放置系統(tǒng)將數(shù)據(jù)寫入到基于閃存的存儲設(shè)備上的所選位置的處理的流程圖。
      [0009]圖3是示出一個實施例中的存儲放置系統(tǒng)為要在基于閃存的存儲設(shè)備上寫入的數(shù)據(jù)選擇放置位置的處理的流程圖。
      [0010]圖4是示出一個實施例中的存儲放置系統(tǒng)處理基于閃存的存儲驅(qū)動器的潛在驅(qū)動或位置終結(jié)的處理的流程圖。
      【具體實施方式】
      [0011]在此描述了存儲放置系統(tǒng),該存儲放置系統(tǒng)使用操作系統(tǒng)的關(guān)于數(shù)據(jù)正在計算設(shè)備上被如何使用的知識來更有效地與基于閃存的存儲設(shè)備進行通信并管理該基于閃存的存儲設(shè)備。損耗均衡是SSD中的一個問題,其專注于熱和冷數(shù)據(jù)標識和放置技術(shù)以在延長SSD使用的閃存的壽命和改善性能方面扮演重要角色。不被頻繁使用的冷數(shù)據(jù)可以同熱數(shù)據(jù)簇相區(qū)分,并且隨后被放置在閃存介質(zhì)的已損耗區(qū)域中,而被頻繁使用的熱數(shù)據(jù)可以被保持為可容易地訪問的。通過將熱數(shù)據(jù)聚簇在一起而將冷數(shù)據(jù)聚簇在單獨的區(qū)段中,系統(tǒng)能夠更好地執(zhí)行損耗均衡并延長閃存介質(zhì)的有用性。
      [0012]固態(tài)驅(qū)動器(SSD)中的損耗均衡被用于重復(fù)利用存儲器并延長基于閃存的存儲設(shè)備的壽命。在沒有損耗均衡的情況下,被高度寫入的位置可能快速地用壞,而其他位置可能最后極少被使用。通過分析引用的位置,熱和冷數(shù)據(jù)可以被標識出并按照策略被放置在存儲器中以最小化損耗。一種方案是使用塊聚簇,其利用位圖來確定被使用和空閑的存儲器。該系統(tǒng)還可以保留塊已經(jīng)被擦除的次數(shù)的計數(shù)。當(dāng)擦除計數(shù)接近安全閾值時,越來越冷的數(shù)據(jù)可以被遷移到這些塊。已被使用的簇可以被標記,并且如果該簇是可重復(fù)利用的,則該簇可以被用一個值標記,并且在其不可使用的情況下被用另一值標記。冷數(shù)據(jù)然后可以被停放在“溫暖”區(qū)域。附加地,該系統(tǒng)提供了用于智能地到處移動數(shù)據(jù)的技術(shù)。將熱數(shù)據(jù)聚簇在一起有助于使垃圾收集更容易并且?guī)椭到y(tǒng)標識出存儲器的簇以用于重新使用。數(shù)據(jù)在云或其他存儲中的儲存也可以被用于在將數(shù)據(jù)合并以寫入塊以前智能地將數(shù)據(jù)短時間地保持在某位置。熱數(shù)據(jù)也可以存儲在更短等待時間可訪問的位置,而冷數(shù)據(jù)被存儲在更長等待時間可訪問的位置(例如不被頻繁訪問的冷數(shù)據(jù)可以存儲在更遠的數(shù)據(jù)中心中)。因此,存儲放置系統(tǒng)充分利用操作系統(tǒng)對數(shù)據(jù)已被及將被如何使用的知識來將數(shù)據(jù)以有效的方式放置在基于閃存的存儲設(shè)備中。
      [0013]圖1是示出一個實施例中的存儲放置系統(tǒng)的各組件的框圖。系統(tǒng)100包括基于閃存的存儲設(shè)備110、數(shù)據(jù)鑒定組件120、數(shù)據(jù)監(jiān)視組件130、數(shù)據(jù)放置組件140、存儲通信組件150、輔助存儲組件160以及故障管理組件170。這些組件中的每個都在此予以更詳細討論。
      [0014]基于閃存的存儲設(shè)備110是包括至少一些基于閃存的非易失性存儲器的存儲設(shè)備?;陂W存的存儲器設(shè)備可以包括SSD、通用串行總線(USB)驅(qū)動器、構(gòu)建到主板上的存儲、構(gòu)建到移動智能電話中的存儲以及其他形式的存儲?;陂W存的存儲設(shè)備通常包括NAND或NOR閃存,但是可以包括其他形式的非易失性隨機存取存儲器(RAM)?;陂W存的存儲設(shè)備的特征在于快速訪問時間、基于分塊的擦除、以及可被每頁執(zhí)行的有限的非重疊寫入數(shù)量。不再能夠被寫入的閃存驅(qū)動被稱為已經(jīng)終結(jié)或發(fā)生故障。
      [0015]數(shù)據(jù)鑒定組件120鑒定操作系統(tǒng)所接收的數(shù)據(jù)以表征該數(shù)據(jù)可能以何種程度被寫入,其中被頻繁寫入的數(shù)據(jù)被稱為熱數(shù)據(jù)而被不頻繁寫入的數(shù)據(jù)被稱為冷數(shù)據(jù)。數(shù)據(jù)還可以按照其被如何使用來鑒定,因為有時所期望的是,把被頻繁讀取的數(shù)據(jù)放置到與被不頻繁讀取的數(shù)據(jù)不同的位置。被非常不頻繁讀取的數(shù)據(jù)甚至可以是供移動到諸如光盤或基于云的存儲設(shè)備之類的其他外部存儲機構(gòu)的良好候選者,以釋放計算設(shè)備的本地驅(qū)動器上的空間。數(shù)據(jù)鑒定組件120可以訪問由數(shù)據(jù)監(jiān)視組件130采集的歷史數(shù)據(jù)訪問信息、以及由操作系統(tǒng)隱式或顯式地提供的關(guān)于特定數(shù)據(jù)的目的的使用專用知識。例如,在文件分配表(FAT)文件系統(tǒng)中,文件分配表本身被非常頻繁地寫入(即每當(dāng)其他數(shù)據(jù)被觸及時),并且因此操作系統(tǒng)知道任何FAT格式的驅(qū)動器具有包含被非常頻繁更新的數(shù)據(jù)的存儲區(qū)域。對于其他文件/位置,數(shù)據(jù)鑒定組件120可以使用文件修改時間、文件類型、文件元數(shù)據(jù)、其他數(shù)據(jù)目的信息等等來確定數(shù)據(jù)可能是熱寫入數(shù)據(jù)還是冷寫入數(shù)據(jù)(或熱讀取或冷讀取),并且相應(yīng)地通知數(shù)據(jù)放置組件140。
      [0016]數(shù)據(jù)監(jiān)視組件130監(jiān)視操作系統(tǒng)的數(shù)據(jù)讀取和寫入并且存儲數(shù)據(jù)的歷史使用信息。數(shù)據(jù)監(jiān)視組件130可以監(jiān)視在不同條件下以及在不同時間哪些文件被使用、哪些文件常常被一起訪問、特定數(shù)據(jù)文件有多么重要以及可如何恢復(fù)等等。數(shù)據(jù)監(jiān)視組件130向數(shù)據(jù)鑒定組件120提供歷史使用信息,使得數(shù)據(jù)鑒定組件120可以基于數(shù)據(jù)的寫入和/或讀取特性將數(shù)據(jù)鑒定為熱的或冷的。數(shù)據(jù)監(jiān)視組件130和系統(tǒng)100的其他組件可以在操作系統(tǒng)內(nèi)、比如在文件系統(tǒng)層充當(dāng)驅(qū)動程序或文件系統(tǒng)過濾器。
      [0017]數(shù)據(jù)放置組件140從設(shè)備110可用的所有位置中確定要被寫入到基于閃存的存儲設(shè)備100的數(shù)據(jù)將被寫入到的一個或多個位置。數(shù)據(jù)放置組件140使用由數(shù)據(jù)鑒定組件120確定的數(shù)據(jù)的鑒定來確定數(shù)據(jù)將被定位在何處。數(shù)據(jù)放置組件140還可以使用存儲通信組件150來訪問驅(qū)動器信息,比如損耗均衡或驅(qū)動器固件所跟蹤的計數(shù)。數(shù)據(jù)放置組件140然后選擇對于驅(qū)動器的壽命和對要被寫入的數(shù)據(jù)合適的性能水平二者都有利的位置。例如,如果數(shù)據(jù)被鑒定為冷數(shù)據(jù)并且驅(qū)動器包括若干損耗非常大的塊,則組件140可以選擇將冷數(shù)據(jù)放置在損耗的塊中,使得其他損耗更小的塊可以被保留用于需要更頻繁寫入的數(shù)據(jù)。在一些情況下,當(dāng)驅(qū)動器的塊接近壽命結(jié)束時(即不能處理另外的寫入),操作系統(tǒng)能夠標識出恒定的只讀數(shù)據(jù),所述只讀數(shù)據(jù)可以被最后一次寫入到該位置并且不能再次移動(例如不頻繁更新的操作系統(tǒng)文件)。對于較溫暖的數(shù)據(jù),組件140可以選擇驅(qū)動器的損耗更小的區(qū)域或者甚至數(shù)據(jù)在頻繁改變時可以駐留在的輔助存儲位置,以在數(shù)據(jù)更加靜態(tài)時被寫入到基于閃存的設(shè)備110中。
      [0018]存儲通信組件150提供了系統(tǒng)100的其他組件與基于閃存的存儲設(shè)備110之間的接口。存儲通信組件150可以充分利用一個或多個操作系統(tǒng)應(yīng)用編程接口(API)以用于訪問存儲設(shè)備,并且可以使用一個或多個協(xié)議,比如串行ATA (SATA)、并行ATA (PATA),USB等等。組件150還可以理解一個或多個由一個或多個設(shè)備支持的專有或特定協(xié)議或者固件,所述協(xié)議或固件允許系統(tǒng)100檢索描述可用存儲位置和基于閃存的存儲設(shè)備110的布局的附加信息。
      [0019]輔助存儲組件160提供基于閃存的存儲設(shè)備110外部的存儲。輔助存儲可以包括另一基于閃存的存儲設(shè)備、硬盤驅(qū)動器、光盤驅(qū)動器、基于云的存儲設(shè)備或其他用于存儲數(shù)據(jù)的機構(gòu)。在一些情況下,輔助存儲可以具有與基于閃存的存儲設(shè)備100不同、甚至互補的限制,使得輔助存儲對于被低效地存儲或者不必要地損耗基于閃存的存儲設(shè)備110的某些數(shù)據(jù)而言是良好的選擇。例如,操作系統(tǒng)可以選擇將文件分配表或其他頻繁改變的數(shù)據(jù)存儲在輔助存儲設(shè)備上,而不是頻繁地寫入到基于閃存的存儲設(shè)備。作為另一示例,操作系統(tǒng)可以在不頻繁使用的冷數(shù)據(jù)總是以較慢、但可接受的速率被請求的情況下選擇使用基于云的存儲設(shè)備來存儲該冷數(shù)據(jù),在那里,該數(shù)據(jù)可以被訪問。
      [0020]故障管理組件170在基于閃存的存儲設(shè)備110接近其損耗極限時處理去往和來自該設(shè)備的數(shù)據(jù)的訪問和/或移動。組件170可以幫助用戶將數(shù)據(jù)移動到設(shè)備110的損耗更小的區(qū)域中或者使數(shù)據(jù)脫離設(shè)備110以避免數(shù)據(jù)丟失。例如,如果文件在七年內(nèi)還未被訪問過,則組件170可以建議用戶允許系統(tǒng)100將該文件從損耗更小的位置中刪除以允許其他更重要的數(shù)據(jù)被寫入到高位置。類似地,組件170可以幫助用戶定位容易被替換的文件(例如可能從光盤中重新安裝的操作系統(tǒng)文件),所述文件可以被刪除或移動以為處于設(shè)備100中的過度損耗的區(qū)域中的更難替換的數(shù)據(jù)文件讓出空間。
      [0021]在其上面實現(xiàn)了存儲放置系統(tǒng)的計算設(shè)備可包括中央處理單元、存儲器、輸入設(shè)備(例如,鍵盤和指示設(shè)備)、輸出設(shè)備(例如,顯示設(shè)備),以及存儲設(shè)備(例如,磁盤驅(qū)動器或其他非易失性存儲介質(zhì))。存儲器和存儲設(shè)備是可以是編碼有實現(xiàn)或啟用該系統(tǒng)的計算機可執(zhí)行指令(如軟件)的計算機可讀存儲介質(zhì)。此外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)可被存儲或經(jīng)由諸如通信鏈路上的信號等數(shù)據(jù)傳輸介質(zhì)傳送??梢允褂酶鞣N通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點對點撥號連接、蜂窩電話網(wǎng)絡(luò)等。
      [0022]該系統(tǒng)的實施例可以在各種操作環(huán)境中實現(xiàn),這些操作環(huán)境包括個人計算機、月艮務(wù)器計算機、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費電子產(chǎn)品、數(shù)碼相機、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括上述系統(tǒng)或設(shè)備等中任一種的分布式計算環(huán)境、機頂盒、片上系統(tǒng)(SOC)等。計算機系統(tǒng)可以是蜂窩電話、個人數(shù)字助理、智能電話、個人計算機、可編程消費電子設(shè)備、數(shù)碼相機等。
      [0023]該系統(tǒng)可以在由一個或多個計算機或其他設(shè)備執(zhí)行的諸如程序模塊等計算機可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。通常,程序模塊的功能可在各個實施例中按需進行組合或分布。
      [0024]圖2是示出一個實施例中的存儲放置系統(tǒng)將數(shù)據(jù)寫入到基于閃存的存儲設(shè)備上的所選位置的處理的流程圖。[0025]在框210中開始,系統(tǒng)接收將數(shù)據(jù)寫入到基于閃存的存儲設(shè)備的請求。該請求可以源自如下的用戶請求:該用戶請求被軟件應(yīng)用接收到,并然后被操作系統(tǒng)接收到,其中存儲放置系統(tǒng)被實現(xiàn)為文件系統(tǒng)驅(qū)動程序或其他組件以管理基于閃存的設(shè)備上的數(shù)據(jù)放置。所接收的請求可以包括關(guān)于數(shù)據(jù)的一些信息(比如在文件系統(tǒng)內(nèi)的數(shù)據(jù)將被存儲在的位置),并且可以提供關(guān)于數(shù)據(jù)所需要的目的、訪問頻率和訪問類型(讀取/寫入)的一些信息。例如,如果數(shù)據(jù)正在被寫入到文件系統(tǒng)內(nèi)的保留用于臨時文件的位置,則該系統(tǒng)可以預(yù)測該數(shù)據(jù)將在短時間內(nèi)被頻繁寫入并然后被刪除。類似地,如果文件是在“關(guān)閉時刪除”標志被置位的情況下被打開的,則操作系統(tǒng)可以作出結(jié)論:該文件將被短暫使用并然后被刪除。
      [0026]在框220中繼續(xù),系統(tǒng)鑒定與要被寫入到基于閃存的存儲設(shè)備的數(shù)據(jù)相關(guān)聯(lián)的訪問頻率。如果數(shù)據(jù)被頻繁寫入,則其被認為是熱寫入數(shù)據(jù),如果數(shù)據(jù)被頻繁讀取,則其被認為是熱讀取數(shù)據(jù);如果數(shù)據(jù)被不頻繁地寫入,則其被認為是冷寫入數(shù)據(jù);并且如果數(shù)據(jù)被不頻繁地讀取,則其被認為是冷讀取數(shù)據(jù)。該系統(tǒng)將優(yōu)選地將熱數(shù)據(jù)寫入到頻繁寫入不會導(dǎo)致問題(比如閃存塊的終結(jié))的位置、以及將冷數(shù)據(jù)寫入到數(shù)據(jù)可以合適地駐留的位置(可能是對其他數(shù)據(jù)不合適的充分損耗的塊)。該系統(tǒng)可以基于與數(shù)據(jù)相關(guān)聯(lián)的文件系統(tǒng)位置的歷史訪問模式、基于與請求一起接收到的信息、基于公知操作系統(tǒng)實現(xiàn)信息等等來鑒定數(shù)據(jù)。
      [0027]在框230中繼續(xù),該系統(tǒng)選擇基于閃存的存儲設(shè)備上的數(shù)據(jù)放置位置以用于要被寫入的數(shù)據(jù)。該位置可以作為存儲器地址或者該設(shè)備的地址空間內(nèi)的位置的其他標識來提供。在一些情況下,系統(tǒng)可以向驅(qū)動器通知數(shù)據(jù)是熱的、冷的還是中間的某個程度,并且允許驅(qū)動器為數(shù)據(jù)選擇位置。無論如何,系統(tǒng)都向驅(qū)動器提供與選擇數(shù)據(jù)放置相關(guān)的某個線索。數(shù)據(jù)放置組件可以將損耗的塊標識為,如果有過的話,也將在長時間不再被寫入的數(shù)據(jù)的合適位置,并且可以為要頻繁寫入的數(shù)據(jù)選擇高度未使用的塊??商娲蚋郊拥兀撓到y(tǒng)可以選擇單獨的輔助存儲設(shè)備上的位置以用于保持對于基于閃存的存儲設(shè)備而言較不適合的數(shù)據(jù)。該系統(tǒng)可以同意將熱數(shù)據(jù)存儲在不一定會損耗設(shè)備的其他位置并且將冷數(shù)據(jù)存儲在不一定會填充該設(shè)備的其他位置。再次將參考圖3進一步描述此步驟。
      [0028]在框240中繼續(xù),該系統(tǒng)將放置信息發(fā)送給基于閃存的存儲設(shè)備,從而指示要被寫入的數(shù)據(jù)的所選數(shù)據(jù)放置位置。該系統(tǒng)可以在數(shù)據(jù)被寫入以前將信息作為用于將數(shù)據(jù)寫入到驅(qū)動器的命令的參數(shù)、或者作為單獨命令提供給設(shè)備,以向設(shè)備通知用于傳入數(shù)據(jù)的所建議的位置。
      [0029]在框250中繼續(xù),該系統(tǒng)將所請求的數(shù)據(jù)存儲在基于閃存的存儲設(shè)備上的所選數(shù)據(jù)放置位置處。另外,該系統(tǒng)還將關(guān)于該數(shù)據(jù)的元數(shù)據(jù)要么存儲在基于閃存的存儲設(shè)備上、要么存儲在輔助存儲設(shè)備上。隨著時間,該系統(tǒng)可以選擇移動數(shù)據(jù)或者在該數(shù)據(jù)附近寫入其他數(shù)據(jù)。例如,該系統(tǒng)可以將頻繁使用的其他數(shù)據(jù)與之前寫入的數(shù)據(jù)一起寫入到相鄰位置,或者可以隨著時間在初始所選位置由于頻繁使用而變得損耗時將熱數(shù)據(jù)移動到損耗較少的位置。在框250之后,這些步驟結(jié)束。
      [0030]圖3是示出一個實施例中的存儲放置系統(tǒng)為要在基于閃存的存儲設(shè)備上寫入的數(shù)據(jù)選擇放置位置的處理的流程圖。
      [0031]在框310中開始,系統(tǒng)接收如下信息:該信息鑒定要被寫入到基于閃存的存儲設(shè)備的數(shù)據(jù)的訪問頻率。例如,該信息可以指示數(shù)據(jù)是將被頻繁還是不頻繁地寫入。該信息還可以指示數(shù)據(jù)的目的(例如臨時文件、用戶數(shù)據(jù)存儲、可執(zhí)行程序等等),從該目的中,系統(tǒng)可以導(dǎo)出或猜出數(shù)據(jù)的訪問頻率。
      [0032]在判定框320中繼續(xù),如果系統(tǒng)確定數(shù)據(jù)將被頻繁寫入,則系統(tǒng)在框350處繼續(xù),否則系統(tǒng)在框330處繼續(xù)。被頻繁寫入的數(shù)據(jù)被稱為熱數(shù)據(jù)并且將被放置在設(shè)備的損耗較少的位置,并且被不頻繁寫入的數(shù)據(jù)被稱為冷數(shù)據(jù)并且可以放置在設(shè)備的損耗較多的位置。
      [0033]在框330中繼續(xù),在確定數(shù)據(jù)將被不頻繁寫入以后,系統(tǒng)標識出基于閃存的存儲設(shè)備的一個或多個損耗位置,其中不頻繁寫入的數(shù)據(jù)可以駐留在所述損耗位置以留出對其他數(shù)據(jù)可用的損耗較少的位置。驅(qū)動器和/或操作系統(tǒng)數(shù)據(jù)可以包括關(guān)于基于閃存的存儲設(shè)備的每個位置已經(jīng)被擦除多少次的信息,使得該系統(tǒng)可以選擇如下位置:該位置接近終結(jié)或者以其他方式對其他類型的數(shù)據(jù)較不適合但對不頻繁寫入的數(shù)據(jù)足夠適合。
      [0034]在框340中繼續(xù),該系統(tǒng)選擇所標識出的損耗更多的位置中的要寫入該數(shù)據(jù)的位置。該系統(tǒng)可以通過將數(shù)據(jù)排序并且選擇損耗最大的位置、或者通過提供要寫入數(shù)據(jù)的位置的可接受的選擇的其他試探法或算法來進行選擇。在一些實施例中,該系統(tǒng)可以提供配置界面,通過該配置界面,管理員可以將系統(tǒng)在位置選擇期間的行為改變?yōu)榛谟晒芾韱T偏好的一些標準來進行選擇。在框340之后,執(zhí)行跳轉(zhuǎn)到框370。
      [0035]在框350中繼續(xù),在確定數(shù)據(jù)將被頻繁寫入以后,該系統(tǒng)定位與要被寫入的數(shù)據(jù)相關(guān)的任何其他被頻繁寫入的數(shù)據(jù)。該系統(tǒng)可以提示一起放置頻繁寫入的數(shù)據(jù),以產(chǎn)生更新數(shù)據(jù)的效率、允許整個塊被一起擦除等等。該系統(tǒng)可以提示避免分割數(shù)據(jù)使得頻繁和不頻繁寫入的數(shù)據(jù)被定位為給彼此接近或處于同一基于閃存的塊上。這樣做允許系統(tǒng)更清楚:當(dāng)一個數(shù)據(jù)塊準備好被擦除時,其他相鄰數(shù)據(jù)也可將準備好被擦除或馬上準備好被擦除,使得該系統(tǒng)可以恢復(fù)更多的設(shè)備空間。
      [0036]在框360中繼續(xù),該系統(tǒng)選擇其他被頻繁寫入的數(shù)據(jù)附近的損耗較小的位置來放置要被寫入的數(shù)據(jù)。該驅(qū)動器和/或該操作系統(tǒng)數(shù)據(jù)可以包括關(guān)于基于閃存的存儲設(shè)備的每個位置已經(jīng)被寫入多少次的信息,使得該系統(tǒng)可以選擇新的、或者還未被過多地寫入并適于頻繁寫入數(shù)據(jù)的位置。該系統(tǒng)可以對位置的損耗特性進行排序,并且選擇磨損最少的位置或者可以優(yōu)選地對接近其他被頻繁寫入的數(shù)據(jù)的那些位置更重地加權(quán),以選擇這些位置中的磨損較小的位置。在一些實施例中,管理員可以修改配置設(shè)定以指示系統(tǒng)如何作出選擇。
      [0037]在框370中繼續(xù),該系統(tǒng)報告所選擇的放置,使得其他組件可以將數(shù)據(jù)寫入到那里。例如,該系統(tǒng)可以輸出選擇數(shù)據(jù)放置的結(jié)果以作為對圖2中概述的那些另外步驟的輸入。在一些實施例中,該系統(tǒng)可以用作如下工具的一部分:該工具執(zhí)行對數(shù)據(jù)放置的分析,并且在采取任何動作以前報告回用戶。在這樣的情況下,可以在用戶界面中把輸出提供給用戶,使得用戶可以評估數(shù)據(jù)如何被放置在設(shè)備上。在框370之后,這些步驟結(jié)束。
      [0038]圖4是示出一個實施例中的存儲放置系統(tǒng)處理基于閃存的存儲驅(qū)動器的潛在驅(qū)動或位置終結(jié)的處理的流程圖。
      [0039]在框410中開始,該系統(tǒng)檢測到基于閃存的存儲設(shè)備的一個或多個將發(fā)生故障的塊。例如,該系統(tǒng)可以從驅(qū)動器或操作系統(tǒng)讀取一個或多個擦除計數(shù)器,并且將每個位置的計數(shù)與設(shè)備的制造商建立的極限相比較。該系統(tǒng)將具有接近極限的計數(shù)的那些位置標識為將發(fā)生故障或?qū)⒔K結(jié)的塊,并且可以試圖重新定位與這些塊相關(guān)聯(lián)的數(shù)據(jù)。
      [0040]在判定框420中繼續(xù),如果系統(tǒng)找到任何將發(fā)生故障的塊,則系統(tǒng)在框430處繼續(xù),否則系統(tǒng)完成。該系統(tǒng)可以周期性地檢查將發(fā)生故障的塊(比如在操作系統(tǒng)的空閑處理中或者作為例程調(diào)度的維護任務(wù))。
      [0041]在框430中繼續(xù),該系統(tǒng)選擇存儲在基于閃存的存儲設(shè)備上的一個或多個如下的數(shù)據(jù)項:所述數(shù)據(jù)項可以被移除以為存儲在刪除的將發(fā)生故障的塊中的數(shù)據(jù)留出空間。要移除的數(shù)據(jù)可以包括長時間未被訪問的數(shù)據(jù)、可容易恢復(fù)的數(shù)據(jù)(例如其存儲在其他位置或者是不重要的)等等。在框440中繼續(xù),該系統(tǒng)任選地提示用戶確定該用戶是否批準系統(tǒng)刪除所選數(shù)據(jù)項。在一些實施例中,該系統(tǒng)可以建議移除所述數(shù)據(jù)項并允許該用戶將所述項燒錄到光盤、將其復(fù)制到USB驅(qū)動器或基于云的存儲設(shè)備等等。
      [0042]在判定框450中繼續(xù),如果該系統(tǒng)從用戶接收到刪除所選數(shù)據(jù)項的批準,則該系統(tǒng)在框460繼續(xù),否則該系統(tǒng)完成。如果用戶不批準刪除所述項,則該系統(tǒng)仍然能夠自動采取其他動作(未示出),比如將數(shù)據(jù)到處移動以使得更多的磨損更小的塊可用。在框460中繼續(xù),該系統(tǒng)刪除所選數(shù)據(jù)項,并且給將發(fā)生故障的塊中的數(shù)據(jù)作標志以供遷移到由所刪除的數(shù)據(jù)項騰出的一個或多個位置。該系統(tǒng)可以立即移動將發(fā)生故障的塊中的數(shù)據(jù)或者可以等到數(shù)據(jù)下次被寫入。對于一些類型的設(shè)備,存在已經(jīng)被成功寫入到某位置的數(shù)據(jù)將丟失的少量風(fēng)險,并且該風(fēng)險是在另一次嘗試寫入到該位置時引起的。在這樣的情況下,該系統(tǒng)可以樂觀地假定該數(shù)據(jù)將不被再次寫入(并且因此不遷移該數(shù)據(jù)),但是如果該數(shù)據(jù)事實上被寫入,則該系統(tǒng)在那時移動該數(shù)據(jù)。
      [0043]在一些實施例中,存儲放置系統(tǒng)為非基于閃存的存儲設(shè)備選擇數(shù)據(jù)的放置。盡管該系統(tǒng)有益于增加基于閃存的設(shè)備的壽命和效率,但是該系統(tǒng)還可用于改善其他介質(zhì)上的數(shù)據(jù)存儲。例如,光介質(zhì)常??梢缘靡嬗诤线m的數(shù)據(jù)放置以及冷和熱數(shù)據(jù)的管理。許多類型的光介質(zhì)都是可重寫固定次數(shù)的,并且合適的數(shù)據(jù)選擇和放置可以允許光介質(zhì)使用更長時期。例如,可以選擇光盤驅(qū)動器存儲不頻繁改變的數(shù)據(jù),并且需要重寫的數(shù)據(jù)可以隨時間在該驅(qū)動器上被循環(huán)使用以使扇區(qū)均勻損耗。
      [0044]在一些實施例中,存儲放置系統(tǒng)實現(xiàn)在基于閃存的存儲設(shè)備的固件中。盡管在此所描述的技術(shù)涉及對數(shù)據(jù)使用的理解水平,尤其是涉及文件系統(tǒng),但是設(shè)備的固件可以用常用文件系統(tǒng)的理解來編程,使得對于那些文件系統(tǒng),該固件可以更有效地管理驅(qū)動器上的存儲。在固件中放置該系統(tǒng)將允許改進:在較少地期望操作系統(tǒng)更新和修改的系統(tǒng)上的數(shù)據(jù)存儲。在一些環(huán)境中,比如在一些智能電話中,固件作為操作系統(tǒng)的一部分實現(xiàn)在驅(qū)動程序中,因此可以對驅(qū)動程序作出改變以實現(xiàn)該系統(tǒng),而無需更廣泛的操作系統(tǒng)修改。
      [0045]從前面的描述中可以看出,可以理解,此處描述的存儲放置系統(tǒng)的特定實施例只是為了說明,但是,在不偏離本發(fā)明的精神和范圍的情況下,可以進行各種修改。因此,本發(fā)明只受所附權(quán)利要求限制。
      【權(quán)利要求】
      1.一種用于將數(shù)據(jù)寫入到基于閃存的存儲設(shè)備上的所選位置的計算機實現(xiàn)的方法,該方法包括: 接收將數(shù)據(jù)寫入到基于閃存的存儲設(shè)備的請求; 鑒定與要被寫入到所述基于閃存的存儲設(shè)備的數(shù)據(jù)相關(guān)聯(lián)的訪問頻率; 基于要被寫入的數(shù)據(jù)的經(jīng)鑒定的訪問頻率為所述數(shù)據(jù)選擇所述基于閃存的存儲設(shè)備上的數(shù)據(jù)放置位置; 將放置信息發(fā)送給所述基于閃存的存儲設(shè)備,指示所述要被寫入的數(shù)據(jù)的所選數(shù)據(jù)放置位置; 將所請求的數(shù)據(jù)存儲在所述基于閃存的存儲設(shè)備上的所選數(shù)據(jù)放置位置處; 其中前述步驟由至少一個處理器來執(zhí)行。
      2.如權(quán)利要求1所述的方法,其特征在于,接收所述請求包括由操作系統(tǒng)接收的請求,其中該方法被實現(xiàn)為文件系統(tǒng)驅(qū)動程序、由固件來實現(xiàn)、或者直接以硬件來實現(xiàn)以管理基于閃存的設(shè)備上的數(shù)據(jù)放置。
      3.如權(quán)利要求1所述的方法,其特征在于,接收所述請求包括:接收關(guān)于所述要被寫入的數(shù)據(jù)的描述所述數(shù)據(jù)的目的的附加信息。
      4.如權(quán)利要求1所述的方法,其特征在于,接收所述請求包括:接收關(guān)于所述要被寫入的數(shù)據(jù)的描述所述數(shù)據(jù)的目的的附加信息。
      5.如權(quán)利要求1所述的方法,其特征在于,鑒定所述數(shù)據(jù)包括:確定所述數(shù)據(jù)將多頻繁地被讀取并且所述數(shù)據(jù)將多頻繁地被寫入。
      6.如權(quán)利要求1所述的方法,其特征在于,鑒定所述數(shù)據(jù)包括:基于與所述數(shù)據(jù)相關(guān)聯(lián)的文件系統(tǒng)位置的歷史訪問模式來鑒定所述數(shù)據(jù)。
      7.如權(quán)利要求1所述的方法,其特征在于,鑒定所述數(shù)據(jù)包括:基于與所述請求一起接收的元信息來鑒定所述數(shù)據(jù)。
      8.如權(quán)利要求1所述的方法,其特征在于,鑒定所述數(shù)據(jù)包括:基于公知操作系統(tǒng)實現(xiàn)信息來鑒定所述數(shù)據(jù)。
      9.如權(quán)利要求1所述的方法,其特征在于,選擇所述放置位置包括:向所述設(shè)備通知所述數(shù)據(jù)的所鑒定的訪問頻率并且允許所述設(shè)備為所述數(shù)據(jù)選擇位置。
      10.如權(quán)利要求1所述的方法,其特征在于,選擇所述放置位置包括:將磨損的塊標識為針對將不被再次頻繁寫入的數(shù)據(jù)的合適位置。
      11.如權(quán)利要求1所述的方法,其特征在于,所選所述放置位置包括:選擇單獨的輔助存儲設(shè)備上的位置以用于保持對于所述基于閃存的存儲設(shè)備而言較不適合的數(shù)據(jù)。
      12.如權(quán)利要求1所述的方法,其特征在于,發(fā)送放置信息包括:將所述信息作為用于將數(shù)據(jù)寫入到所述驅(qū)動器的命令的參數(shù)提供給所述設(shè)備。
      13.一種 用于按照使用來管理基于閃存的存儲上的數(shù)據(jù)放置的計算機系統(tǒng),該系統(tǒng)包括: 被配置成執(zhí)行包含在以下組件內(nèi)的軟件指令的處理器和存儲器; 基于閃存的存儲設(shè)備,所述基于閃存的存儲設(shè)備包括用于非易失性數(shù)據(jù)存儲的至少一些基于閃存的存儲器; 數(shù)據(jù)鑒定組件,所述數(shù)據(jù)鑒定組件按照數(shù)據(jù)可能被寫入的頻率來鑒定由操作系統(tǒng)接收的數(shù)據(jù),其中被經(jīng)常寫入的數(shù)據(jù)被稱為熱數(shù)據(jù)而被不頻繁寫入的數(shù)據(jù)被稱為冷數(shù)據(jù); 數(shù)據(jù)監(jiān)視組件,所述數(shù)據(jù)監(jiān)視組件監(jiān)視操作系統(tǒng)的數(shù)據(jù)讀取和寫入并且存儲數(shù)據(jù)的歷史使用信息; 數(shù)據(jù)放置組件,所述數(shù)據(jù)放置組件從所述設(shè)備可用的所有位置中確定要被寫入到所述基于閃存的存儲設(shè)備的數(shù)據(jù)將被寫入到的一個或多個位置;以及 存儲通信組件,所述存儲通信組件提供所述系統(tǒng)的其他組件與所述基于閃存的存儲設(shè)備之間的接口。
      14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述數(shù)據(jù)鑒定組件訪問由所述數(shù)據(jù)監(jiān)視組件采集的歷史數(shù)據(jù)訪問信息、以及由所述操作系統(tǒng)隱式或顯式地提供的描述特定數(shù)據(jù)的目的的使用專用知識。
      15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述數(shù)據(jù)放置組件使用由所述數(shù)據(jù)鑒定組件確定的數(shù)據(jù)鑒定來確定數(shù)據(jù)應(yīng)當(dāng)被定位在何處,并且使用所述存儲通信組件來訪問由所述驅(qū)動器固件或硬件跟蹤 的驅(qū)動器信息。
      【文檔編號】G06F9/06GK103597444SQ201280028028
      【公開日】2014年2月19日 申請日期:2012年6月7日 優(yōu)先權(quán)日:2011年6月9日
      【發(fā)明者】A·卓哈, J·阿塞姆 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1