專利名稱:數(shù)據(jù)傳送管理的制作方法
技術(shù)領(lǐng)域:
背景技術(shù):
電子裝置通常具有可供其使用的某一類型的存儲器系統(tǒng),例如大容量存儲裝置。 常見實(shí)例為硬盤驅(qū)動器(HDD)。HDD能夠以相對低的成本實(shí)現(xiàn)大量存儲,其中當(dāng)前消費(fèi)型 HDD可具有超過一個太字節(jié)的容量。HDD通常在旋轉(zhuǎn)磁性媒體或盤片上存儲數(shù)據(jù)。實(shí)際上, 所得數(shù)據(jù)信號是其波峰及波谷為數(shù)據(jù)型式的磁通量反轉(zhuǎn)的結(jié)果的模擬信號。HDD因其機(jī)械性質(zhì)而具有某些缺點(diǎn)。HDD因沖擊、振動或強(qiáng)磁場而易遭受損壞或過多讀寫錯誤。另外,其為便攜式電子裝置中相對大的功率用戶。大容量存儲裝置的另一實(shí)例為固態(tài)驅(qū)動器(SSD)。代替將數(shù)據(jù)存儲于旋轉(zhuǎn)媒體上,SSD利用半導(dǎo)體存儲器裝置來存儲其數(shù)據(jù),其通常包含使其對其主機(jī)系統(tǒng)看起來仿佛其為典型HDD的接口及形狀因數(shù)。SSD的存儲器裝置可包括非易失性快閃存儲器裝置。
發(fā)明內(nèi)容
在附圖的各圖中以實(shí)例而非限制方式圖解說明所揭示技術(shù)的一些實(shí)施例,附圖中圖1是圖解說明根據(jù)本發(fā)明的各種實(shí)施例用于管理向固態(tài)驅(qū)動器(SSD)的數(shù)據(jù)寫入的系統(tǒng)的圖示;圖2是圖解說明根據(jù)本發(fā)明的各種實(shí)施例經(jīng)配置以管理數(shù)據(jù)寫入的SSD的圖示;圖3是圖解說明根據(jù)本發(fā)明的各種實(shí)施例經(jīng)配置以管理數(shù)據(jù)寫入的SSD控制器的模塊的圖示;圖4是圖解說明根據(jù)本發(fā)明的各種實(shí)施例管理向SSD的數(shù)據(jù)寫入中所涉及的一些變量的列表的表;圖5是圖解說明根據(jù)本發(fā)明的各種實(shí)施例圖4中所示的表的變量的改變的圖表;圖6是圖解說明根據(jù)本發(fā)明的各種實(shí)施例用于SSD數(shù)據(jù)寫入管理的算法的實(shí)施方案的狀態(tài)圖;圖7是圖解說明根據(jù)本發(fā)明的各種實(shí)施例的SSD數(shù)據(jù)寫入管理的方法的流程圖; 且圖8是圖解說明根據(jù)本發(fā)明的各種實(shí)施例用于管理SSD數(shù)據(jù)寫入的實(shí)例性系統(tǒng)的圖示。
具體實(shí)施例方式將描述用于管理數(shù)據(jù)傳送的實(shí)例性方法及系統(tǒng)。在以下描述中,出于解釋目的而闡明具有實(shí)例特有細(xì)節(jié)的眾多實(shí)例以提供對實(shí)例性實(shí)施例的理解。然而,所屬領(lǐng)域的技術(shù)人員將顯而易見,可在不具有這些實(shí)例特有細(xì)節(jié)的情況下及/或在具有不同于本文所給出的細(xì)節(jié)組合的細(xì)節(jié)組合的情況下實(shí)踐本發(fā)明實(shí)例。本文中所述的一些實(shí)例性實(shí)施例可包含監(jiān)視主機(jī)與存儲器之間的數(shù)據(jù)傳送(例如,數(shù)據(jù)寫入)。可評估數(shù)據(jù)傳送簡檔且可提供評估結(jié)果。可基于所述評估結(jié)果而調(diào)整將來數(shù)據(jù)傳送。出于此文件的目的,數(shù)據(jù)傳送簡檔包括(例如)與(例如)數(shù)據(jù)傳送的大小(例如,所傳送字節(jié)的數(shù)目)、寫入放大值及寫入帶寬相關(guān)聯(lián)的一個或一個以上值,如下文將更詳細(xì)地描述。圖1是圖解說明根據(jù)本發(fā)明的各種實(shí)施例用于管理向固態(tài)驅(qū)動器(SSD) 110的數(shù)據(jù)寫入的系統(tǒng)100的圖示。系統(tǒng)100可包含與存儲器存取裝置(例如處理器120)通信的 SSD 110。系統(tǒng)100可因其經(jīng)由(例如)處理器120控制SSD 110的操作而被視為SSD 110 的主機(jī)系統(tǒng)。系統(tǒng)100可采用一個或一個以上應(yīng)用程序(主機(jī)應(yīng)用程序)來存取SSD 110。 系統(tǒng)100的一些實(shí)例可包含個人計算機(jī)、膝上型計算機(jī)、個人數(shù)字助理(PDA)、數(shù)碼相機(jī)、電子游戲機(jī)、數(shù)字媒體播放器/記錄器及類似裝置。處理器120可包括磁盤驅(qū)動控制器或其它外部處理器。處理器120可經(jīng)由通信總線130與SSD 110通信。通信總線130可采用已知協(xié)議來將處理器120連接到SSD 110。 通信總線130的類型可取決于系統(tǒng)100中正利用的驅(qū)動接口的類型。一些常規(guī)磁盤驅(qū)動接口總線協(xié)議的實(shí)例為集成驅(qū)動電子器件(IDE)、高級技術(shù)附件(ATA)、串行ATA(SATA)、并行 ATA(PATA)、光纖通道及小型計算機(jī)系統(tǒng)接口(SCSI)。在此項(xiàng)技術(shù)中存在且已知其它驅(qū)動接口。SSD 110的存儲器裝置可包含非易失性快閃存儲器裝置。下文將給出SSD 110的與數(shù)據(jù)寫入管理有關(guān)的特征的更詳細(xì)描述。圖2是圖解說明根據(jù)本發(fā)明的各種實(shí)施例經(jīng)配置以管理數(shù)據(jù)寫入的SSD 110的圖示。SSD 110可包含耦合到接口 230的控制器210,所述接口允許經(jīng)由通信總線130(圖1) 與主機(jī)(例如,圖1的處理器120或主機(jī)應(yīng)用程序)的通信。接口 230可為所屬領(lǐng)域的技術(shù)人員通常所已知的許多連接器中的一者。這些接口 230連接器的一些實(shí)例可包含IDE、增強(qiáng)型IDE、ATA、SATA及個人計算機(jī)存儲器卡國際協(xié)會(PCMCIA)連接器??蓪SD 110中的存儲器組織成各自包括一個或一個以上存儲器裝置(例如快閃存儲器裝置)的多個存儲單元220??蓪⒋鎯ζ餮b置中的存儲器位置分組成若干塊。在快閃存儲器裝置中,具有1 個千字節(jié)(KB)、256KB、512KB的存儲容量的塊為常見的。主機(jī)可能不知曉哪些快閃存儲器裝置當(dāng)前正針對數(shù)據(jù)讀取/寫入操作而尋址。換句話說,主機(jī)不知曉實(shí)際數(shù)據(jù)傳送(例如,讀取或?qū)懭?中所存取的任何物理塊地址(PBA)。主機(jī)僅處理被翻譯成PBA的邏輯塊地址(LBA)。從LBA到PBA的此翻譯可在SSD 110接收到指定邏輯地址的數(shù)據(jù)傳送請求之后在SSD 110內(nèi)發(fā)生。在快閃存儲器裝置中,在寫入新數(shù)據(jù)之前,擦除存儲器塊以為新數(shù)據(jù)騰出空間。舉例來說,當(dāng)主機(jī)請求僅4KB的數(shù)據(jù)寫入時,將擦除一存儲器塊(例如,U8KB)以容納所述 4KB的數(shù)據(jù)。如果分配各自包括各自具有U8KB的存儲容量的若干塊的2個存儲單元來服
6務(wù)所述請求,那么將擦除兩個塊(所述2個所分配存儲單元中的每一者一個)以容納所述 4KB的數(shù)據(jù)。擦除時間可構(gòu)成減慢快閃存儲器裝置的存取時間的主要因素。在常規(guī)存儲器裝置中,可有限次數(shù)地將數(shù)據(jù)寫入到快閃存儲器內(nèi)的存儲器位置。即使可允許的寫入數(shù)目很大 (通常為10,100到100,000),反復(fù)向同一位置寫入也可損耗所述位置。因此,跨越可用存儲器位置均勻地散布數(shù)據(jù)寫入以使損耗量均衡為明智的。損耗均衡被視為控制器210(也稱為SSD控制器)負(fù)責(zé)管理的任務(wù)中的一者。在數(shù)據(jù)被存儲于SSD 110中的多個位置中并使主機(jī)120看不到的情況下,可執(zhí)行大量操縱以寫入并從SSD 110檢索數(shù)據(jù)。隨著數(shù)據(jù)越來越多地被分段,具有足夠大小以正確地寫入數(shù)據(jù)的存儲器塊可變得稀少。此時,使用數(shù)據(jù)回收(所屬領(lǐng)域的技術(shù)人員有時稱為無用單元收集)程序來回收存儲器塊以允許向SDD 110的額外寫入。數(shù)據(jù)在SSD 110內(nèi)的物理移動越頻繁,驅(qū)動器可因編程擦除循環(huán)而更快地?fù)p耗。在實(shí)例性實(shí)施例中,當(dāng)服務(wù)主機(jī)數(shù)據(jù)傳送請求時,主機(jī)可指定將由控制器210考慮的數(shù)據(jù)傳送帶寬(例如,例如最低可接受寫入帶寬的寫入帶寬,或讀取帶寬)。術(shù)語“數(shù)據(jù)傳送帶寬”應(yīng)被理解為包含每單位時間傳送的數(shù)據(jù)的數(shù)量,通常以千位每秒(Kb/s)或兆位每秒(Mb/s)表示??赏ㄟ^分配較多存儲單元220來服務(wù)數(shù)據(jù)傳送請求(例如,確立可具有用來服務(wù)所述數(shù)據(jù)傳送請求的塊的存儲單元的數(shù)目)來實(shí)現(xiàn)較大數(shù)據(jù)傳送帶寬。對控制器210有意義的另一變量為寫入放大(WA)。術(shù)語“寫入放大”是指(例如) 經(jīng)分配以用來服務(wù)數(shù)據(jù)寫入的存儲器的大小與寫入到經(jīng)分配以服務(wù)所述請求的存儲器的實(shí)際數(shù)據(jù)的大小的比率。舉例來說,將4KB的數(shù)據(jù)寫入到SSD 110可導(dǎo)致控制器210借助最低可用數(shù)目個存儲單元(存儲器的一個存儲單元,其可包含可存儲(例如)U8KB的塊) 服務(wù)寫入操作。在此情況下,擦除一個所分配存儲單元220的U8KB數(shù)據(jù)塊中的存儲器位置,即使僅將構(gòu)成寫入請求的4KB的實(shí)際數(shù)據(jù)寫入到所述塊。此導(dǎo)致128/4(即,32)的WA, 此可能并非合意的。SSD 110在較低WA值的情況下的操作可導(dǎo)致SSD 110中存儲器裝置的更有效使用。在較低WA值下的操作還可導(dǎo)致更均勻分布的損耗均衡,但同時導(dǎo)致較低寫入帶寬。因此,SSD 110可面臨由主機(jī)指定的寫入帶寬與由數(shù)據(jù)寫入產(chǎn)生的WA之間的折衷。SSD 110可經(jīng)配置以解決此折衷問題。舉例來說,基于下文中所描述的實(shí)施例, SSDllO可通過調(diào)整存儲單元220的分配來采用控制器210解決所述折衷問題。圖3是圖解說明根據(jù)本發(fā)明的各種實(shí)施例用以管理數(shù)據(jù)寫入的SSD控制器210的模塊的圖示。圖3中所示的SSD控制器210可(例如)包括一個或一個以上微處理器。SSD 控制器210可包含存儲器310、監(jiān)視模塊320、評估模塊330及調(diào)整模塊340。監(jiān)視模塊320、 評估模塊330及調(diào)整模塊340可包括存儲于存儲器310或圖2中的存儲單元220中的軟件模塊。在實(shí)例性實(shí)施例中,這些模塊可實(shí)施為SSD控制器210中的嵌入式硬件。監(jiān)視模塊320可操作以監(jiān)視主機(jī)(例如,圖1的處理器120或主機(jī)應(yīng)用程序)與存儲器(例如組織成圖2的存儲單元220的存儲器)之間的數(shù)據(jù)傳送。舉例來說,監(jiān)視模塊320可具有監(jiān)視數(shù)據(jù)傳送的一個或一個以上特性的能力,所述一個或一個以上特性例如為數(shù)據(jù)傳送的大小(例如,所傳送字節(jié)的數(shù)目)、寫入放大(與所述數(shù)據(jù)傳送相關(guān)聯(lián)的WA) 及與所述數(shù)據(jù)傳送相關(guān)聯(lián)的寫入帶寬(BW)。在實(shí)例性實(shí)施例中,還可監(jiān)視其它特性,例如回收帶寬(例如,為無用單元收集而保留的處理器帶寬)及讀取帶寬。監(jiān)視模塊320可將與所監(jiān)視特性相關(guān)聯(lián)的一個或一個以上值存儲于存儲器310 中。存儲器310可包含以一個或一個以上配置寄存器形式使用的靜態(tài)隨機(jī)存取存儲器 (SRAM)。在實(shí)例性實(shí)施例中,監(jiān)視模塊320可將特性值存儲于組織成圖2的存儲單元220 的快閃存儲器裝置中。所存儲的特性值可與主機(jī)相關(guān)聯(lián)。在實(shí)例性實(shí)施例中,評估模塊330可包括處理器(例如,微處理器)。在一些實(shí)施例中,監(jiān)視模塊320及/或調(diào)整模塊340很可能還包括同一處理器。評估模塊330可操作以從存儲器310檢索在一時間周期內(nèi)存儲的特性值。評估模塊330可至少部分地基于特性值來確定統(tǒng)計值。舉例來說,評估模塊330可確定在一時間周期內(nèi)存儲的WA或?qū)懭霂挼钠骄?。評估模塊330還可確定一時間周期內(nèi)的存儲器請求大小的平均值。評估模塊330可將所述特性值及/或所述統(tǒng)計值(在本文中統(tǒng)稱及/或個別地稱為“數(shù)據(jù)傳送簡檔”)中的一者或多者與一個或一個以上目標(biāo)值進(jìn)行比較。評估模塊330可 (例如)將平均WA與目標(biāo)WA進(jìn)行比較并將結(jié)果報告給調(diào)整模塊340。在實(shí)例性實(shí)施例中, 評估模塊330可指示特性值(例如,WA)展示優(yōu)于先前值的改進(jìn)。調(diào)整模塊340可實(shí)施一算法,例如評價特性值/或統(tǒng)計值中的兩者或兩者以上之間的關(guān)系以便調(diào)整經(jīng)分配以服務(wù)將來數(shù)據(jù)傳送的存儲單元的數(shù)目的算法,如下文關(guān)于圖5 更詳細(xì)地描述。如此項(xiàng)技術(shù)中所已知,可在SSD 210內(nèi)實(shí)施額外或不同模塊,此并不背離本發(fā)明的范圍。然而,可在不具有此些額外模塊的情況下理解本發(fā)明。圖4是根據(jù)本發(fā)明的各種實(shí)施例管理向圖1的SSD 110的數(shù)據(jù)寫入中所涉及的一些變量的表400。表400中的變量是以KB為單位的存儲器請求大小、WA及經(jīng)分配以服務(wù)數(shù)據(jù)傳送請求的存儲單元(即,LU)的數(shù)目。列420列舉由主機(jī)(例如,圖1中的處理器120 或主機(jī)應(yīng)用程序)做出的多個寫入請求的大小。圖2中的控制器210可通過為數(shù)據(jù)寫入分配一定數(shù)目個存儲單元來對每一請求做出響應(yīng)。列430、440、450及460分別表示由將2 個、4個、6個及10個存儲單元(S卩,來自每2個、4個、6個及10個LU的一個塊)分配給所述數(shù)據(jù)寫入請求產(chǎn)生的對應(yīng)WA值。在表400中,假設(shè)每一存儲單元塊具有U8KB的存儲容量。可使用其它容量。表400中的數(shù)據(jù)還表示于圖5中所示的圖表中。圖5是根據(jù)本發(fā)明的各種實(shí)施例圖解說明圖4中所示的表400的變量的改變的圖表500。圖表500展示針對經(jīng)分配以服務(wù)數(shù)據(jù)寫入請求的存儲單元的不同數(shù)目WA依據(jù)數(shù)據(jù)寫入請求大小的變化。曲線510、520、530及540中的每一者的所分配存儲單元的對應(yīng)數(shù)目在所述圖表的圖例中展示為LU = 2、4、6及10。如從圖表500看出,一般趨勢為隨著所請求數(shù)據(jù)寫入的大小增加,WA減小。對于小的數(shù)據(jù)寫入請求大小(例如,小于128KB),除分配單個存儲單元外(其中使用來自單個存儲單元的單個塊服務(wù)所述請求),控制器210可能別無選項(xiàng)。然而,隨著所請求數(shù)據(jù)寫入的大小的增加,控制器210可具有更多選項(xiàng)。舉例來說,如果所請求數(shù)據(jù)寫入的大小等于512KB,那么圖2中的控制器210可分配4個存儲單元,在此情況下,寫入放大將達(dá)到值1。如果所述控制器決定為所述數(shù)據(jù)寫入請求分配8個存儲單元,那么其可實(shí)現(xiàn)寫入放大2。在每一存儲單元的所假設(shè)存儲容量 128KB的情況下,展示所要WA值1到2發(fā)生于大于U8KB的數(shù)據(jù)寫入請求大小處。圖6是圖解說明根據(jù)本發(fā)明的各種實(shí)施例用于SSD數(shù)據(jù)寫入管理的算法的實(shí)施方案的狀態(tài)圖600。圖3中的調(diào)整模塊340可實(shí)施狀態(tài)圖600中所示的算法。狀態(tài)圖600展示一定數(shù)目個狀態(tài)及所述狀態(tài)之間的轉(zhuǎn)變。所述狀態(tài)可由變量(例如與圖2的控制器210 向圖1的SSD 110的數(shù)據(jù)寫入相關(guān)聯(lián)的寫入BW及WA)界定。在所要狀態(tài)610中,寫入帶寬被視為大于BW0,且所要寫入放大被視為小于WAl。寫入帶寬BWO的下限或WA的可接受范圍(例如,介于WAl與WA2之間)還可由主機(jī)指定。舉例來說,所述主機(jī)的用戶可指定所要寫入吞吐量目標(biāo),例如70%的讀取、30%的寫入及500Mb/s的最小寫入BW。用戶可將目標(biāo)值存儲到SSD控制器210中(例如,存儲到圖3的存儲器310中)。在可接受狀態(tài)620中,寫入帶寬大于BWO且WA在可接受范圍內(nèi)(例如,小于WA2 且大于WAl)。所述算法的目標(biāo)是進(jìn)行所有其它狀態(tài)到所要狀態(tài)610或可接受狀態(tài)620的轉(zhuǎn)變。舉例來說,由圖3中的調(diào)整模塊340考慮的初始狀態(tài)可被視為狀態(tài)630。在進(jìn)入此狀態(tài)之前,圖2中的控制器210已通過將圖1的SSD 110上的Ntl個存儲單元分配給數(shù)據(jù)寫入請求來服務(wù)數(shù)據(jù)寫入請求。如圖3中的監(jiān)視模塊320所監(jiān)視,此分配的結(jié)果為小于BWO的寫入帶寬及小于WAl的WA?;诖饲樾?,調(diào)整模塊340可調(diào)整所述情況。調(diào)整模塊340可嘗試通過將更多存儲單元分配給數(shù)據(jù)寫入請求而調(diào)整所述情況。 此可致使到所要狀態(tài)610、可接受狀態(tài)620或另一狀態(tài)(例如狀態(tài)640)的轉(zhuǎn)變。在狀態(tài)640 處,WA在可接受范圍內(nèi),然而,寫入帶寬小于BW0。為了增加寫入帶寬,調(diào)整模塊340可嘗試通過分配再更多的存儲單元來補(bǔ)救所述情況。分配更多個存儲單元可導(dǎo)致進(jìn)入所要狀態(tài) 610、可接受狀態(tài)620或狀態(tài)650。狀態(tài)650看似為分配足夠數(shù)目個以上的存儲單元的結(jié)果,因?yàn)楸M管帶寬已增加到可接受值,但WA在所述可接受范圍之外。所述情況可致使圖3中的調(diào)整模塊340減小所分配的存儲單元的數(shù)目,此又可導(dǎo)致進(jìn)入所要狀態(tài)610或可接受狀態(tài)620中的任一者。此還可導(dǎo)致進(jìn)入可能為不可接受的狀態(tài)660,因?yàn)閷懭霂捈皩懭敕糯髢烧呔辉跔顟B(tài)620所指定的可接受范圍內(nèi)。因此,從狀態(tài)660的下一轉(zhuǎn)變將為返回到狀態(tài)650且針對待分配的存儲單元的數(shù)目嘗試另一值(例如,大于先前所嘗試的值)。在實(shí)例性實(shí)施例中,調(diào)整模塊340可在圖3的存儲器310中的每一轉(zhuǎn)變之后存儲轉(zhuǎn)變信息,例如對存儲單元的數(shù)目進(jìn)行的調(diào)整及所監(jiān)視結(jié)果(例如,寫入BW及WA)。調(diào)整模塊340可通過嘗試避免中間狀態(tài)及分別直接轉(zhuǎn)變到圖6中的所要狀態(tài)610或可接受狀態(tài) 620來使用所述轉(zhuǎn)變信息改進(jìn)其效率。在其中不可能分別轉(zhuǎn)變到所要狀態(tài)510或可接受狀態(tài)520的情況下,調(diào)整模塊340可嘗試在甚至更大程度上降低WA值。圖7是圖解說明根據(jù)本發(fā)明的各種實(shí)施例的SSD數(shù)據(jù)寫入管理的方法700的流程圖。在操作710處,圖3的監(jiān)視模塊320可監(jiān)視主機(jī)與存儲器(例如組織成圖1的SSDllO 的存儲單元220的存儲器)之間的數(shù)據(jù)傳送。監(jiān)視模塊320可在一時間周期內(nèi)監(jiān)視數(shù)據(jù)傳送。所述時間周期可取決于與所述數(shù)據(jù)傳送相關(guān)聯(lián)的業(yè)務(wù)量。在操作720處,圖3的評估模塊330可評估所述數(shù)據(jù)傳送以提供評估結(jié)果。所述評估結(jié)果可包括包含WA、數(shù)據(jù)傳送BW及/或存儲單元的數(shù)目的特性值。在一些實(shí)例性實(shí)施例中,所述特性值還可或替代地包含回收帶寬及讀取帶寬。評估模塊330可至少部分地基于所監(jiān)視特性值(例如所述特性值的平均值,例如一時間周期內(nèi)的平均寫入放大)來確定統(tǒng)計值。評估模塊330可提供評估結(jié)果,所述評估結(jié)果指示所述特性值及/或所述統(tǒng)計值中的至少一者是否滿足由所述主機(jī)指定的一個或一個以上目標(biāo)值。在決策塊730處,如果評估結(jié)果為令人滿意的,那么將控制傳遞到操作710。否則,在操作740處,可使用(例如) 圖3的調(diào)整模塊340以基于所述評估結(jié)果而調(diào)整數(shù)據(jù)傳送的特性。如上文所論述,所述算法可由圖3的調(diào)整模塊340實(shí)施。舉例來說,調(diào)整模塊340可操作以調(diào)整特性,例如寫入帶寬、寫入放大及存儲單元的數(shù)目。圖3的調(diào)整模塊340可執(zhí)行此操作。如上文所論述,調(diào)整模塊340可操作以基于所述評估結(jié)果來改變量據(jù)傳送的一個或一個以上特性或保持所述特性不變?!蹬e例來說,當(dāng)經(jīng)分配以服務(wù)數(shù)據(jù)寫入請求的存儲單元的數(shù)目恰當(dāng)時(在所進(jìn)入狀態(tài)分別為所要狀態(tài)610或可接受狀態(tài)620中的一者時確定),調(diào)整模塊340可保持所分配存儲單元的所述數(shù)目不變。 在其中分配給數(shù)據(jù)寫入請求的存儲單元的數(shù)目不恰當(dāng)?shù)那闆r下,舉例來說,如小于所述BWO 的寫入BW所指示,調(diào)整模塊340可通過分配較大數(shù)目個存儲單元以改進(jìn)寫入BW來補(bǔ)救所述情況。圖8是圖解說明根據(jù)本發(fā)明的各種實(shí)施例用于管理SSD數(shù)據(jù)寫入的實(shí)例性系統(tǒng) 800的圖示。系統(tǒng)800可包含處理器810、存儲器820、存儲器控制器830、圖形控制器840以及輸入及輸出(I/O)控制器850、顯示器852、鍵盤854、指向裝置856及外圍裝置858??偩€860將所有這些裝置耦合在一起。時鐘產(chǎn)生器870經(jīng)由總線860將時鐘信號提供到系統(tǒng) 800的裝置中的至少一者。時鐘產(chǎn)生器870的實(shí)例可包含例如母板的電路板中的振蕩器。 系統(tǒng)800中所示的兩個或兩個以上裝置可形成于單個芯片中。存儲器820可包括靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)RAM,或包含快閃存儲器的非易失性存儲器??偩€860可為電路板上的互連跡線或可為一個或一個以上電纜??偩€860 還可通過例如電磁輻射(例如無線電波)等無線手段來耦合系統(tǒng)800的裝置。外圍裝置858 可包括打印機(jī)、磁盤驅(qū)動單元(例如,例如CD-ROM的光學(xué)裝置以及DVD讀取器及寫入器,例如軟盤驅(qū)動器的磁性裝置讀取器及寫入器),或例如麥克風(fēng)的音頻裝置。圖8所表示的系統(tǒng)800可包含計算機(jī)(例如,桌上型計算機(jī)、膝上型計算機(jī)、手持式計算機(jī)、服務(wù)器、Web器具、路由器等)、無線通信裝置(例如,蜂窩式電話、無繩電話、傳呼機(jī)、個人數(shù)字助理等)、計算機(jī)相關(guān)外圍裝置(例如,打印機(jī)、掃描儀、監(jiān)視器等)、娛樂裝置(例如,電視機(jī)、無線電、立體聲系統(tǒng)、磁帶及壓縮光盤播放器、盒式錄像機(jī)/播放器、攝錄機(jī)、數(shù)碼相機(jī)、MP3(動畫專家組,音頻層幻播放器/記錄器、視頻游戲機(jī)、鐘表等)及類似
直ο在實(shí)例性實(shí)施例中,外圍裝置858可包含其上存儲有一個或一個以上指令集(例如,軟件)的機(jī)器可讀媒體,所述一個或一個以上指令集體現(xiàn)本文中所描述的方法或功能中的任何一者或一者以上。在計算機(jī)系統(tǒng)800執(zhí)行所述指令期間,所述指令還可全部或至少部分地駐存于存儲器820內(nèi)及/或處理器810內(nèi),其中存儲器820及處理器810也構(gòu)成機(jī)器可讀媒體。盡管所述機(jī)器可讀媒體在實(shí)例性實(shí)施例中展示為單個媒體,但術(shù)語“機(jī)器可讀媒體”應(yīng)理解為包含存儲一個或一個以上指令集的單個媒體或多個媒體(例如,集中式或分布式數(shù)據(jù)庫,及/或相關(guān)聯(lián)高速緩沖存儲器及服務(wù)器)。術(shù)語“機(jī)器可讀媒體”也應(yīng)理解為包含能夠存儲、編碼或載運(yùn)供由機(jī)器執(zhí)行且致使所述機(jī)器執(zhí)行本發(fā)明的方法中的任何一者或一者以上的指令集的任何媒體。術(shù)語“機(jī)器可讀媒體”應(yīng)相應(yīng)地理解為包含(但不限于)固態(tài)存儲器以及光學(xué)及磁性媒體。雖然已描述了用于管理SSD數(shù)據(jù)寫入操作的特定方法及系統(tǒng),但將顯而易見,可對這些實(shí)施例做出各種修改及改變。因此,應(yīng)將說明書及圖式視為僅具有說明性而非限制性眉、ο提供發(fā)明摘要以符合37 C. F. R. § 1. 72 (b),此需要允許讀者快速弄清技術(shù)性發(fā)明的性質(zhì)的摘要。所述發(fā)明摘要是在理解其不將用來解釋或限制權(quán)利要求書的情況下提交的。另外,在前述實(shí)施方式中可看出,出于簡化本發(fā)明的目的而將各種特征集合于單個實(shí)施例中。不應(yīng)將本發(fā)明的此方法解釋為限制權(quán)利要求書。因此,特此將以上權(quán)利要求書并入到實(shí)施方式中,其中每一權(quán)利要求獨(dú)立地作為單獨(dú)實(shí)施例。
權(quán)利要求
1.一種方法,其包括監(jiān)視主機(jī)與存儲器之間的數(shù)據(jù)傳送;評估所述數(shù)據(jù)傳送以提供評估結(jié)果;及至少部分地基于所述評估結(jié)果而調(diào)整另一數(shù)據(jù)傳送。
2.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)傳送包括 向所述存儲器中寫入或從所述存儲器讀取中的至少一者。
3.根據(jù)權(quán)利要求1所述的方法,其中所述主機(jī)包括存儲器存取裝置,且所述存儲器包括包含快閃存儲器的非易失性存儲器。
4.根據(jù)權(quán)利要求1所述的方法,其中所述主機(jī)指定數(shù)據(jù)傳送帶寬及/或可接受寫入放大范圍。
5.根據(jù)權(quán)利要求1所述的方法,其中評估所述數(shù)據(jù)傳送包括評估所述數(shù)據(jù)傳送的特性,其中所述特性包括以下各項(xiàng)中的至少一者所述數(shù)據(jù)傳送的大小、寫入放大、寫入帶寬、回收帶寬或讀取帶寬。
6.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括在一時間周期內(nèi)存儲與所述所評估特性相關(guān)聯(lián)的值,所述時間周期取決于與所述數(shù)據(jù)傳送相關(guān)聯(lián)的業(yè)務(wù)量。
7.根據(jù)權(quán)利要求6所述的方法,其進(jìn)一步包括至少部分地基于與所述特性相關(guān)聯(lián)的所述值而確定統(tǒng)計值。
8.根據(jù)權(quán)利要求7所述的方法,其中所述統(tǒng)計值包括平均值。
9.根據(jù)權(quán)利要求8所述的方法,其中所述評估包括將所述特性值及/或所述統(tǒng)計值中的至少一者與目標(biāo)值進(jìn)行比較。
10.根據(jù)權(quán)利要求9所述的方法,其中所述所提供評估結(jié)果指示所述特性值及/或所述統(tǒng)計值中的至少一者是否滿足所述目標(biāo)值。
11.根據(jù)權(quán)利要求5所述的方法,其中所述所提供評估結(jié)果指示所述特性是否展示改進(jìn)。
12.根據(jù)權(quán)利要求1所述的方法,其中所述調(diào)整包括 調(diào)整另一數(shù)據(jù)傳送的特性。
13.根據(jù)權(quán)利要求12所述的方法,其中所述調(diào)整另一數(shù)據(jù)傳送的特性包括 調(diào)整經(jīng)分配以服務(wù)另一數(shù)據(jù)傳送的存儲單元的數(shù)目。
14.根據(jù)權(quán)利要求13所述的方法,其中調(diào)整經(jīng)分配以服務(wù)另一數(shù)據(jù)傳送的存儲單元的所述數(shù)目包括基于所述評估結(jié)果而進(jìn)行以下各項(xiàng)中的至少一者改變所述數(shù)目或保持所述數(shù)目不變。
15.一種存儲裝置控制器,其包括監(jiān)視模塊,其用以監(jiān)視主機(jī)與存儲器之間的數(shù)據(jù)傳送;評估模塊,其用以評估所述數(shù)據(jù)傳送以提供評估結(jié)果;及調(diào)整模塊,其用以至少部分地基于所述評估結(jié)果而調(diào)整另一數(shù)據(jù)傳送。
16.根據(jù)權(quán)利要求15所述的控制器,其中所述監(jiān)視模塊用以監(jiān)視所述數(shù)據(jù)傳送的特性,所述特性包含以下各項(xiàng)中的至少一者所述數(shù)據(jù)傳送的大小、寫入放大、寫入帶寬、回收帶寬及/或讀取帶寬。
17.根據(jù)權(quán)利要求16所述的控制器,其進(jìn)一步包括用以在一時間周期內(nèi)存儲特性值的存儲器,所述時間周期取決于與所述數(shù)據(jù)傳送相關(guān)聯(lián)的業(yè)務(wù)量。
18.根據(jù)權(quán)利要求17所述的控制器,其中所述評估模塊用以檢索在所述時間周期內(nèi)存儲的所述特性值。
19.根據(jù)權(quán)利要求15所述的控制器,其中所述評估模塊包括 一個或一個以上處理器。
20.根據(jù)權(quán)利要求17所述的控制器,其中所述評估模塊用以確定與所述特性值相關(guān)聯(lián)的統(tǒng)計值,且其中所述統(tǒng)計值包含平均值。
21.根據(jù)權(quán)利要求20所述的控制器,其中所述評估模塊用以將所述特性值及/或所述統(tǒng)計值中的至少一者與目標(biāo)值進(jìn)行比較。
22.根據(jù)權(quán)利要求21所述的控制器,其中所述評估模塊用以確定所述特性值及/或所述統(tǒng)計值中的至少一者是否滿足所述目標(biāo)值。
23.根據(jù)權(quán)利要求17所述的控制器,其中所述評估模塊用以確定所述特性值中的至少一者是否展示改進(jìn)。
24.根據(jù)權(quán)利要求17所述的控制器,其中所述調(diào)整模塊用以調(diào)整經(jīng)分配以服務(wù)另一數(shù)據(jù)傳送的存儲單元的數(shù)目。
25.根據(jù)權(quán)利要求M所述的控制器,其中所述調(diào)整模塊用以在一定數(shù)目個轉(zhuǎn)變中調(diào)整存儲單元的所述數(shù)目以實(shí)現(xiàn)針對所述特性值及/或所述統(tǒng)計值的目標(biāo)值,且其中轉(zhuǎn)變信息被存儲于存儲器中且用來改進(jìn)調(diào)整效率。
26.根據(jù)權(quán)利要求M所述的控制器,其中所述存儲單元包括存儲器塊。
27.—種系統(tǒng),其包括 存儲器存取裝置;及存儲裝置,其耦合到所述存儲器存取裝置,所述存儲裝置包括 存儲器;監(jiān)視模塊,其用以監(jiān)視所述存儲器存取裝置與所述存儲器之間的數(shù)據(jù)傳送; 評估模塊,其用以評估所述數(shù)據(jù)傳送以提供評估結(jié)果;及調(diào)整模塊,其用以至少部分地基于所述評估結(jié)果而調(diào)整另一數(shù)據(jù)傳送。
28.根據(jù)權(quán)利要求27所述的系統(tǒng),其中所述存儲器包括 包含快閃存儲器的非易失性存儲器。
29.一種存儲指令的機(jī)器可讀媒體,所述指令在由一個或一個以上處理器執(zhí)行時執(zhí)行以下操作監(jiān)視主機(jī)與存儲器之間的數(shù)據(jù)傳送;評估所述數(shù)據(jù)傳送以提供評估結(jié)果;及至少部分地基于所述評估結(jié)果而調(diào)整另一數(shù)據(jù)傳送。
30.一種方法,其包括監(jiān)視主機(jī)與存儲器之間的數(shù)據(jù)傳送的特性,所述特性包括以下各項(xiàng)中的至少一者所述數(shù)據(jù)傳送的大小、寫入放大、寫入帶寬、回收帶寬及/或讀取帶寬;將所述所監(jiān)視特性的值及/或至少部分地基于所述所監(jiān)視特性的統(tǒng)計值中的至少一者與目標(biāo)值進(jìn)行比較;及至少部分地基于所述比較而調(diào)整所述存儲器的分配給另一數(shù)據(jù)傳送的存儲單元的數(shù)目。
全文摘要
本發(fā)明描述用于管理數(shù)據(jù)傳送的方法、控制器及系統(tǒng),例如固態(tài)驅(qū)動器SSD中的那些方法、控制器及系統(tǒng)。在一些實(shí)施例中,監(jiān)視主機(jī)與存儲器之間的數(shù)據(jù)傳送并接著對其進(jìn)行評估以提供評估結(jié)果?;谒鲈u估結(jié)果而調(diào)整所述存儲器的經(jīng)分配以服務(wù)另一數(shù)據(jù)傳送的存儲單元的數(shù)目。本發(fā)明還描述額外方法及系統(tǒng)。
文檔編號G06F12/00GK102473147SQ201080030739
公開日2012年5月23日 申請日期2010年7月6日 優(yōu)先權(quán)日2009年7月6日
發(fā)明者喬·M·杰德羅 申請人:美光科技公司