性能平緩的數(shù)據(jù)存儲(chǔ)設(shè)備的制造方法
【專利摘要】為了提供數(shù)據(jù)存儲(chǔ)設(shè)備和系統(tǒng)的增強(qiáng)操作,在此提供各種系統(tǒng)、裝置、方法和軟件。在第一示例中,提供一種數(shù)據(jù)存儲(chǔ)設(shè)備,其包括包含疊瓦式磁記錄(SMR)存儲(chǔ)區(qū)域的存儲(chǔ)介質(zhì)。所述數(shù)據(jù)存儲(chǔ)設(shè)備還包括:存儲(chǔ)控制系統(tǒng),被配置為接收寫(xiě)入操作,并且響應(yīng)地在第一存儲(chǔ)區(qū)域中存儲(chǔ)寫(xiě)入數(shù)據(jù),然后傳送到所述SMR存儲(chǔ)區(qū)域中。所述存儲(chǔ)控制系統(tǒng)被配置為:確定用于將所述寫(xiě)入操作從所述第一存儲(chǔ)區(qū)域傳送到所述SMR存儲(chǔ)區(qū)域中的報(bào)告步速,所述報(bào)告步速建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中起平緩的目標(biāo)性能。所述存儲(chǔ)控制系統(tǒng)被配置為:以所述報(bào)告步速通過(guò)主機(jī)接口報(bào)告所述寫(xiě)入操作的完成。
【專利說(shuō)明】
性能平緩的數(shù)據(jù)存儲(chǔ)設(shè)備
技術(shù)領(lǐng)域
[0001]本公開(kāi)的各方面涉及數(shù)據(jù)存儲(chǔ)系統(tǒng)中的數(shù)據(jù)存儲(chǔ)和硬盤驅(qū)動(dòng)器的領(lǐng)域。
【背景技術(shù)】
[0002]計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)(諸如,個(gè)人計(jì)算機(jī)、工作站、服務(wù)器系統(tǒng)和云存儲(chǔ)系統(tǒng))典型地包括用于存儲(chǔ)并且檢索(retrieve)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)元件。這些數(shù)據(jù)存儲(chǔ)元件可以包括數(shù)據(jù)存儲(chǔ)設(shè)備(諸如,硬盤驅(qū)動(dòng)器、固態(tài)存儲(chǔ)設(shè)備、混合存儲(chǔ)設(shè)備、帶式存儲(chǔ)設(shè)備和其它大容量存儲(chǔ)設(shè)備)。數(shù)據(jù)存儲(chǔ)設(shè)備的制造商典型地制造能夠具有除了其它特性之外的不同性能特性(諸如,吞吐量速率、事務(wù)緩沖區(qū)大小、旋轉(zhuǎn)磁介質(zhì)的旋轉(zhuǎn)速率或延時(shí))的不同等級(jí)的數(shù)據(jù)存儲(chǔ)設(shè)備。
[0003]隨著計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)在數(shù)量和能力方面增長(zhǎng),需要越來(lái)越多的存儲(chǔ)容量。云計(jì)算和大規(guī)模數(shù)據(jù)處理系統(tǒng)已經(jīng)進(jìn)一步增加了對(duì)于能夠傳送和保存龐大數(shù)據(jù)量的數(shù)字?jǐn)?shù)據(jù)存儲(chǔ)系統(tǒng)的需要。數(shù)據(jù)中心可以包括處于各種機(jī)架安裝的并且高密度存儲(chǔ)配置下的大量數(shù)據(jù)存儲(chǔ)設(shè)備。
[0004]這些高密度存儲(chǔ)配置可能采用使用不同存儲(chǔ)技術(shù)的各種存儲(chǔ)設(shè)備。一種這樣的存儲(chǔ)技術(shù)包括具有用于增加相關(guān)聯(lián)存儲(chǔ)介質(zhì)上的存儲(chǔ)密度的疊瓦式(shingled)磁記錄(SMR)技術(shù)的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。與諸如并行磁記錄(PMR)之類的無(wú)重疊記錄技術(shù)相比,SMR技術(shù)在物理上重疊磁存儲(chǔ)介質(zhì)上的相鄰數(shù)據(jù)軌道。然而,包括SMR技術(shù)的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的主機(jī)側(cè)吞吐量方面的差異可能導(dǎo)致對(duì)于個(gè)體數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的不可預(yù)測(cè)的性能,并且因而導(dǎo)致對(duì)于存儲(chǔ)設(shè)施內(nèi)的大量數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的不可預(yù)測(cè)的性能。
【發(fā)明內(nèi)容】
[0005]為了提供數(shù)據(jù)存儲(chǔ)設(shè)備和系統(tǒng)的增強(qiáng)操作,在此提供各種系統(tǒng)、裝置、方法和軟件。在第一示例中,提供一種數(shù)據(jù)存儲(chǔ)設(shè)備。所述數(shù)據(jù)存儲(chǔ)設(shè)備包括:存儲(chǔ)介質(zhì),包括第一存儲(chǔ)區(qū)域和疊瓦式磁記錄(SMR)存儲(chǔ)區(qū)域。所述數(shù)據(jù)存儲(chǔ)設(shè)備還包括:存儲(chǔ)控制系統(tǒng),被配置為接收通過(guò)主機(jī)接口所傳送的包括用于在所述存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作的存儲(chǔ)操作,并且響應(yīng)地在所述第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),然后傳送到所述SMR存儲(chǔ)區(qū)域中。所述存儲(chǔ)控制系統(tǒng)被配置為:確定用于將所述寫(xiě)入操作從所述第一存儲(chǔ)區(qū)域傳送到所述SMR存儲(chǔ)區(qū)域中的報(bào)告步速(pace),所述報(bào)告步速建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中起平緩的目標(biāo)性能。所述存儲(chǔ)控制系統(tǒng)被配置為:以所述報(bào)告步速通過(guò)所述主機(jī)接口報(bào)告所述寫(xiě)入操作的完成。
[0006]在另一示例中,提出一種操作數(shù)據(jù)存儲(chǔ)設(shè)備的方法。所述方法包括:接收通過(guò)主機(jī)接口傳送的包括用于在所述存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作的存儲(chǔ)操作,并且響應(yīng)地在所述存儲(chǔ)介質(zhì)的第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),然后傳送到所述存儲(chǔ)介質(zhì)的SMR存儲(chǔ)區(qū)域。所述方法還包括:確定用于報(bào)告將所述寫(xiě)入操作從所述第一存儲(chǔ)區(qū)域傳送到所述SMR存儲(chǔ)區(qū)域中的報(bào)告步速,所述報(bào)告步速建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中起平緩的目標(biāo)性能。所述方法還包括:以所述報(bào)告步速通過(guò)所述主機(jī)接口報(bào)告所述寫(xiě)入操作的完成。
[0007]在另一示例中,提出一種數(shù)據(jù)存儲(chǔ)系統(tǒng)。所述數(shù)據(jù)存儲(chǔ)系統(tǒng)包括:多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,被配置為:接收用于存儲(chǔ)并且檢索相關(guān)聯(lián)存儲(chǔ)介質(zhì)上的數(shù)據(jù)的存儲(chǔ)操作,所述相關(guān)聯(lián)存儲(chǔ)介質(zhì)中的每一個(gè)包括磁記錄(SMR)存儲(chǔ)區(qū)域。所述多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的每一個(gè)包括:存儲(chǔ)控制系統(tǒng),被配置為:接收主機(jī)系統(tǒng)所傳送的包括用于在所述存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作的相關(guān)聯(lián)存儲(chǔ)操作,并且響應(yīng)地在所述第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),然后傳送到所述SMR存儲(chǔ)區(qū)域中。所述存儲(chǔ)控制系統(tǒng)被配置為:確定用于報(bào)告將所述寫(xiě)入操作從所述第一存儲(chǔ)區(qū)域傳送到所述SMR存儲(chǔ)區(qū)域中的報(bào)告步速,所述報(bào)告步速建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中起平緩的目標(biāo)性能,以對(duì)跨過(guò)所述多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的數(shù)據(jù)存儲(chǔ)設(shè)備的性能進(jìn)行標(biāo)準(zhǔn)化。所述存儲(chǔ)控制系統(tǒng)被配置為:以所述報(bào)告步速報(bào)告所述寫(xiě)入操作的完成。
【附圖說(shuō)明】
[0008]參照下面附圖可以更好地理解本公開(kāi)的許多方面。附圖中的組件并不一定按比例,而是著重于清楚地示出本公開(kāi)的原理。此外,在附圖中,在所有若干視圖中相同參考編號(hào)指定對(duì)應(yīng)部分。雖然結(jié)合這些附圖描述若干實(shí)施例,但本公開(kāi)不限于在此所公開(kāi)的實(shí)施例。反之,意圖是覆蓋所有替換物、修改和等同物。
[0009]圖1是示出數(shù)據(jù)系統(tǒng)的系統(tǒng)示圖。
[0010]圖2是示出數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的操作的方法的流程圖。
[0011]圖3是示出數(shù)據(jù)系統(tǒng)的系統(tǒng)示圖。
[0012]圖4是示出硬盤驅(qū)動(dòng)器的操作的方法的流程圖。
[0013]圖5是示出性能估計(jì)表的示圖。
[0014]圖6是示出用于硬盤驅(qū)動(dòng)器的寫(xiě)入信用度過(guò)程的示圖。
[0015]圖7是示出用于硬盤驅(qū)動(dòng)器的讀取信用度過(guò)程的示圖。
【具體實(shí)施方式】
[0016]高密度磁存儲(chǔ)設(shè)備采用各種存儲(chǔ)技術(shù)。一種這樣的存儲(chǔ)技術(shù)包括:具有疊瓦式磁記錄(SMR)技術(shù)的旋轉(zhuǎn)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。與諸如并行磁記錄(PMR)之類的無(wú)重疊記錄技術(shù)相比,SMR技術(shù)允許讀取/寫(xiě)入頭在物理上重疊存儲(chǔ)介質(zhì)上的相鄰數(shù)據(jù)軌道。然而,采用SMR技術(shù)的設(shè)備可能導(dǎo)致對(duì)于隨機(jī)寫(xiě)入的“突發(fā)式(bursty)”性能以及對(duì)于碎片化(fragmented)讀取的較慢性能。突發(fā)式性能可能源自使用未采用SMR技術(shù)的存儲(chǔ)介質(zhì)上的臨時(shí)存儲(chǔ)區(qū)域或異常區(qū)域。這種臨時(shí)存儲(chǔ)區(qū)域可以用于在存檔到SMR區(qū)域中之前快速地存儲(chǔ)數(shù)據(jù),并且從主機(jī)系統(tǒng)的角度來(lái)看,這種臨時(shí)存儲(chǔ)區(qū)域允許寫(xiě)入數(shù)據(jù)的快速處理。在很多示例中,與采用PMR技術(shù)的等效設(shè)備相比,對(duì)采用SMR技術(shù)的設(shè)備的隨機(jī)寫(xiě)入可能產(chǎn)生得更快,這部分地歸因于使用這種臨時(shí)存儲(chǔ)區(qū)域。
[0017]在一些情形中,可能期望對(duì)于隨機(jī)寫(xiě)入的較快性能。然而,當(dāng)在具有同時(shí)操作的許多驅(qū)動(dòng)器的大數(shù)據(jù)中心中采用這些設(shè)備時(shí),從主機(jī)系統(tǒng)的角度來(lái)看,這些許多驅(qū)動(dòng)器的突發(fā)式性質(zhì)可能導(dǎo)致困難。具體地,主機(jī)系統(tǒng)可能較不能夠預(yù)測(cè)性能,并且較不能夠?qū)κ褂肧MR技術(shù)的驅(qū)動(dòng)器維持穩(wěn)定的數(shù)據(jù)流。此外,大數(shù)據(jù)中心的設(shè)備到設(shè)備的變化可能在由相關(guān)聯(lián)數(shù)據(jù)系統(tǒng)進(jìn)行的數(shù)據(jù)傳送、處理調(diào)度以及功耗估計(jì)方面產(chǎn)生困難。在本文的示例中,采用平緩(temperance)管理以抑制(throttle)隨機(jī)寫(xiě)入完成的報(bào)告,以便調(diào)解數(shù)據(jù)存儲(chǔ)設(shè)備的突發(fā)性能吞吐量并且為主機(jī)系統(tǒng)提供更一致的性能。
[0018]在數(shù)據(jù)存儲(chǔ)設(shè)備中的平緩管理的第一示例中,呈現(xiàn)圖1。圖1是示出數(shù)據(jù)系統(tǒng)100的系統(tǒng)示圖。系統(tǒng)100包含數(shù)據(jù)存儲(chǔ)設(shè)備110和主機(jī)系統(tǒng)140。數(shù)據(jù)存儲(chǔ)設(shè)備110和主機(jī)系統(tǒng)140通過(guò)存儲(chǔ)接口 130進(jìn)行通信。數(shù)據(jù)存儲(chǔ)設(shè)備110包含數(shù)據(jù)存儲(chǔ)元件,所述數(shù)據(jù)存儲(chǔ)元件包括一個(gè)或多個(gè)旋轉(zhuǎn)存儲(chǔ)介質(zhì)111。數(shù)據(jù)存儲(chǔ)設(shè)備110還包含:輸入/輸出(I/O)隊(duì)列121,用于緩存從主機(jī)系統(tǒng)140接收到的存儲(chǔ)操作;以及存儲(chǔ)控制系統(tǒng)120,用于控制數(shù)據(jù)存儲(chǔ)設(shè)備110的操作。
[0019]在操作中,數(shù)據(jù)存儲(chǔ)設(shè)備110通過(guò)存儲(chǔ)接口130接收由主機(jī)系統(tǒng)140所發(fā)出的讀取事務(wù)或?qū)懭胧聞?wù)。響應(yīng)于讀取事務(wù),數(shù)據(jù)存儲(chǔ)設(shè)備110可以檢索存儲(chǔ)介質(zhì)111上所存儲(chǔ)的數(shù)據(jù),以用于傳送到主機(jī)系統(tǒng)140。響應(yīng)于寫(xiě)入事務(wù),數(shù)據(jù)存儲(chǔ)設(shè)備110將數(shù)據(jù)存儲(chǔ)到存儲(chǔ)介質(zhì)111上。應(yīng)當(dāng)理解,圖1中為了清楚而省略數(shù)據(jù)存儲(chǔ)設(shè)備110的其它組件,諸如讀取/寫(xiě)入頭、電樞、前置放大器、收發(fā)器、處理器、放大器、電機(jī)、伺服器、外殼以及其它電氣和機(jī)械兀件。
[0020]為了進(jìn)一步示出數(shù)據(jù)系統(tǒng)100的操作,提供了圖2。圖2是示出操作數(shù)據(jù)存儲(chǔ)設(shè)備110的方法的流程圖。下面以括號(hào)方式引用圖2的操作。在圖2中,數(shù)據(jù)存儲(chǔ)設(shè)備110接收(201)由主機(jī)系統(tǒng)140所傳送的存儲(chǔ)操作,所述存儲(chǔ)操作包括用于在存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作。在該示例中,由存儲(chǔ)控制系統(tǒng)120通過(guò)存儲(chǔ)鏈路130接收存儲(chǔ)操作,并且將存儲(chǔ)操作放置到I/O隊(duì)列121中。這些存儲(chǔ)操作可以包括讀取操作或?qū)懭氩僮?,但在圖2中所討論的示例中,為了清楚起見(jiàn),僅討論寫(xiě)入操作。
[0021]存儲(chǔ)控制系統(tǒng)120在第一存儲(chǔ)區(qū)域中存儲(chǔ)(202)寫(xiě)入數(shù)據(jù),然后傳送到SMR存儲(chǔ)區(qū)域中。在圖1中,首先在第一存儲(chǔ)區(qū)域115中緩存寫(xiě)入數(shù)據(jù),然后傳送到SMR存儲(chǔ)區(qū)域116中。諸如在使用旋轉(zhuǎn)磁存儲(chǔ)介質(zhì)的示例中,第一存儲(chǔ)區(qū)域115和SMR存儲(chǔ)區(qū)域116可以處于同一存儲(chǔ)介質(zhì)上。然而,第一存儲(chǔ)區(qū)域115可以另外是分離的存儲(chǔ)介質(zhì),諸如固態(tài)存儲(chǔ)介質(zhì)。在一些示例中,第一存儲(chǔ)區(qū)域115包括用于在寫(xiě)入到SMR存儲(chǔ)區(qū)域116中之前存儲(chǔ)寫(xiě)入數(shù)據(jù)的“寫(xiě)入兩次緩存”。在第一存儲(chǔ)區(qū)域115中存儲(chǔ)寫(xiě)入數(shù)據(jù)是相對(duì)快速的處理,并且以圖1中的“緩存步速”所示的步速產(chǎn)生,其中迅速連續(xù)地處置(handle)許多寫(xiě)入操作。例如當(dāng)同一存儲(chǔ)介質(zhì)上包含第一存儲(chǔ)區(qū)域115和SMR存儲(chǔ)區(qū)域116時(shí),如圖1所示,這些寫(xiě)入操作可能因讀取操作而中斷。
[0022]如上面所討論的,這種“緩存步速”可能通過(guò)存儲(chǔ)鏈路130對(duì)主機(jī)系統(tǒng)140呈現(xiàn)突發(fā)式操作,這在一些情形中可能是不期望的。為了有助于數(shù)據(jù)存儲(chǔ)設(shè)備110的較平緩的操作,存儲(chǔ)控制系統(tǒng)120可以抑制寫(xiě)入數(shù)據(jù)從第一存儲(chǔ)區(qū)域115到SMR存儲(chǔ)區(qū)域116中的傳送,或者抑制將寫(xiě)入完成報(bào)告給主機(jī)系統(tǒng)140。
[0023]存儲(chǔ)控制系統(tǒng)120確定(203)用于將寫(xiě)入操作從第一存儲(chǔ)區(qū)域115傳送到SMR存儲(chǔ)區(qū)域116中的報(bào)告步速,所述報(bào)告步速建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中開(kāi)始平緩的目標(biāo)性能。報(bào)告步速通過(guò)至少管理對(duì)主機(jī)140的寫(xiě)入操作完成的報(bào)告,使得寫(xiě)入數(shù)據(jù)到第一存儲(chǔ)區(qū)域115中的傳送的快速步速平緩成為與數(shù)據(jù)存儲(chǔ)設(shè)備110的目標(biāo)性能相稱的步速。寫(xiě)入數(shù)據(jù)傳送到SMR存儲(chǔ)區(qū)域116中的速率在一些示例中可以修改為以報(bào)告步速而產(chǎn)生,并且當(dāng)寫(xiě)入數(shù)據(jù)被傳送到SMR存儲(chǔ)區(qū)域116中時(shí),可以產(chǎn)生對(duì)主機(jī)140的報(bào)告。在其它示例中,可以與以報(bào)告步速對(duì)主機(jī)140報(bào)告寫(xiě)入完成互不相干(decouple)地產(chǎn)生寫(xiě)入數(shù)據(jù)到SMR存儲(chǔ)區(qū)域116中的傳送,并且可以突發(fā)地執(zhí)行寫(xiě)入數(shù)據(jù)到SMR存儲(chǔ)區(qū)域116中的傳送。
[0024]可以根據(jù)數(shù)據(jù)存儲(chǔ)設(shè)備110的當(dāng)前工作量基于使用寫(xiě)入操作的預(yù)計(jì)步速將寫(xiě)入數(shù)據(jù)傳送到SMR存儲(chǔ)區(qū)域116中的預(yù)計(jì)性能,來(lái)確定報(bào)告步速。這種預(yù)計(jì)寫(xiě)入步速可以基于由數(shù)據(jù)存儲(chǔ)設(shè)備所處置的存儲(chǔ)操作的歷史跟蹤,這樣可以預(yù)測(cè)I/O隊(duì)列121中的待定(pending)寫(xiě)入的性能或步速。存儲(chǔ)控制系統(tǒng)120可以采用數(shù)據(jù)結(jié)構(gòu)來(lái)跟蹤過(guò)去存儲(chǔ)操作的屬性,從而建立由數(shù)據(jù)存儲(chǔ)設(shè)備110處置寫(xiě)入數(shù)據(jù)的運(yùn)行估計(jì),并且使用該運(yùn)行估計(jì)來(lái)建立報(bào)告步速,從而滿足吞吐量或性能目標(biāo)。在以下所討論的示例中(諸如在圖5-圖7中),對(duì)于存儲(chǔ)操作確定仿真性能或預(yù)計(jì)性能,該性能建立報(bào)告步速以維持?jǐn)?shù)據(jù)存儲(chǔ)設(shè)備對(duì)主機(jī)系統(tǒng)所呈現(xiàn)的一致目標(biāo)性能。
[0025]存儲(chǔ)控制系統(tǒng)120以報(bào)告步速向主機(jī)系統(tǒng)140報(bào)告寫(xiě)入操作的完成(204)。如在圖1中看見(jiàn)的,雖然緩存步速在寫(xiě)入與讀取之中是突發(fā)式的并且不均勻的,但報(bào)告步速是較平緩的并且穩(wěn)定的。這種報(bào)告步速允許主機(jī)系統(tǒng)140從數(shù)據(jù)存儲(chǔ)設(shè)備110看見(jiàn)可預(yù)測(cè)的并且一致的性能。在一些示例中,數(shù)據(jù)存儲(chǔ)設(shè)備110的性能從最大性能下降,以按目標(biāo)性能獲得報(bào)告步速。例如,對(duì)于讀取操作和寫(xiě)入操作,數(shù)據(jù)存儲(chǔ)設(shè)備110可能能夠支持第一高吞吐量。然而,出于各種原因,可能期望以第二較慢吞吐量來(lái)運(yùn)作。這些原因可以包括:在具有許多數(shù)據(jù)存儲(chǔ)設(shè)備的數(shù)據(jù)存儲(chǔ)系統(tǒng)中跨過(guò)多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備的匹配性能,或當(dāng)不期望較高執(zhí)行設(shè)備時(shí)將較低執(zhí)行設(shè)備呈現(xiàn)給主機(jī)。
[0026]返回到圖1的元件,數(shù)據(jù)存儲(chǔ)設(shè)備110包括經(jīng)由一個(gè)或多個(gè)讀取/寫(xiě)入頭和相關(guān)聯(lián)機(jī)電元件可存取的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)111。存儲(chǔ)控制系統(tǒng)120被示出為數(shù)據(jù)存儲(chǔ)設(shè)備110的處理電路和接口元件的示例。數(shù)據(jù)存儲(chǔ)設(shè)備110可以包括其它元件,諸如對(duì)于圖3中的硬盤驅(qū)動(dòng)器310所討論的元件,雖然有可能存在變化。數(shù)據(jù)存儲(chǔ)設(shè)備110可以包括硬盤驅(qū)動(dòng)器或其它計(jì)算機(jī)可讀存儲(chǔ)設(shè)備。數(shù)據(jù)存儲(chǔ)設(shè)備110的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括旋轉(zhuǎn)磁存儲(chǔ)介質(zhì),但可以附加地包括諸如在I/O隊(duì)列121中所采用的其它介質(zhì)或數(shù)據(jù)存儲(chǔ)設(shè)備110的其它緩存或緩存系統(tǒng)。這些其它介質(zhì)可以包括固態(tài)存儲(chǔ)介質(zhì)、光學(xué)存儲(chǔ)介質(zhì)、非旋轉(zhuǎn)磁介質(zhì)、相變磁介質(zhì)、基于自旋存儲(chǔ)介質(zhì)或包括其組合、變化和改進(jìn)的其它存儲(chǔ)介質(zhì)。在一些示例中,除了旋轉(zhuǎn)磁存儲(chǔ)介質(zhì)之外,數(shù)據(jù)存儲(chǔ)設(shè)備110還包括采用固態(tài)存儲(chǔ)元件的混合硬驅(qū)動(dòng)器。存儲(chǔ)介質(zhì)113可以采用各種磁存儲(chǔ)方案,諸如疊瓦式磁記錄(SMR)、非疊瓦式磁記錄、垂直磁記錄(PMR),包括這些的組合、變化和改進(jìn)。
[0027]主機(jī)系統(tǒng)140可以包括處理元件、數(shù)據(jù)傳送元件和用戶接口元件。在一些示例中,主機(jī)系統(tǒng)140是計(jì)算設(shè)備或計(jì)算系統(tǒng)的中央處理單元。在其它示例中,主機(jī)系統(tǒng)140還包括存儲(chǔ)器元件、數(shù)據(jù)存儲(chǔ)和傳送元件、控制器元件、邏輯元件、固件、執(zhí)行元件以及其它處理系統(tǒng)組件。在另外其它示例中,主機(jī)系統(tǒng)140包括RAID控制器處理器或存儲(chǔ)系統(tǒng)中央處理器,諸如微處理器、微控制器、現(xiàn)場(chǎng)可編程門陣列(FPGA)或其它處理和邏輯器件,包括這些的組合。主機(jī)系統(tǒng)140可以包括用戶接口元件,或與用戶接口元件進(jìn)行接口連接,所述用戶接口元件可以允許數(shù)據(jù)存儲(chǔ)系統(tǒng)100的用戶來(lái)控制數(shù)據(jù)存儲(chǔ)系統(tǒng)100的操作或監(jiān)控?cái)?shù)據(jù)存儲(chǔ)系統(tǒng)100的狀態(tài)或操作。這些用戶接口元件可以包括圖形或文本顯示器、指示燈、網(wǎng)絡(luò)接口、web接口、軟件接口、用戶輸入設(shè)備或其它用戶接口元件。主機(jī)系統(tǒng)140還可以包括接口電路以及用于處置總線130上的通信的元件,諸如邏輯、處理部分、緩沖器、收發(fā)器等。
[0028]總線130可以包括一個(gè)或多個(gè)串行數(shù)據(jù)鏈路或并行數(shù)據(jù)鏈路,諸如外圍組件互連高速(PCIe)接口、串行ATA接口、串行連接小型計(jì)算機(jī)系統(tǒng)(SAS)接口、集成驅(qū)動(dòng)電子(IDE)接口、ATA接口、通用串行總線(USB)接口、無(wú)線接口、直接介質(zhì)接口(DMI)、以太網(wǎng)接口、聯(lián)網(wǎng)接口或包括其組合、變化和改進(jìn)的其它通信和數(shù)據(jù)接口。雖然圖1中示出一條總線130,但應(yīng)當(dāng)理解,在數(shù)據(jù)存儲(chǔ)系統(tǒng)100的各元件之間可以采用一條或多條分立式鏈路。
[0029]作為采用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的另一示例數(shù)據(jù)存儲(chǔ)系統(tǒng),呈現(xiàn)了圖3。圖3是示出數(shù)據(jù)存儲(chǔ)系統(tǒng)300的系統(tǒng)示圖。數(shù)據(jù)存儲(chǔ)系統(tǒng)300包括硬盤驅(qū)動(dòng)器(HDD)310和主機(jī)系統(tǒng)390 ADD310和主機(jī)系統(tǒng)390通過(guò)存儲(chǔ)鏈路330進(jìn)行通信。圖1的數(shù)據(jù)存儲(chǔ)設(shè)備110中可以包括HDD 310的各種元件,但可能存在變化。
[0030]雖然圖3中示出了一個(gè)HDD 310,但應(yīng)當(dāng)理解,例如在采用陣列中的許多硬盤驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)環(huán)境中,一個(gè)以上HDD可以被包括并且鏈接到主機(jī)系統(tǒng)390或其它主機(jī)系統(tǒng)。作為陣列中的一個(gè)以上HDD的示例,圖3中包括HDD 350-351,并且HDD 350-351中的每一個(gè)可以包括諸如對(duì)于鏈路330所討論的相關(guān)聯(lián)主機(jī)接口或存儲(chǔ)鏈路。
[0031 ] 雖然圖3中示出了組合鏈路,但存儲(chǔ)鏈路330可以包括一條或多條鏈路。存儲(chǔ)鏈路330可以包括存儲(chǔ)或盤接口,諸如串行連接ATA(SATA)、串行連接SCSI(SAS)、光纖通道、通用串行總線(USB)、SCS1、無(wú)限頻帶(Inf iniBand)、夕卜圍組件互連高速(PCIe)、以太網(wǎng)、互聯(lián)網(wǎng)協(xié)議(IP)或包括其變化和組合的其它并行或串行存儲(chǔ)或外設(shè)接口。
[0032]主機(jī)系統(tǒng)390可以包括一個(gè)或多個(gè)計(jì)算和網(wǎng)絡(luò)系統(tǒng),諸如個(gè)人計(jì)算機(jī)、服務(wù)器、云存儲(chǔ)系統(tǒng)、分組網(wǎng)絡(luò)、管理系統(tǒng)或包括其組合和變化的其它計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)。在操作中,主機(jī)系統(tǒng)390通過(guò)存儲(chǔ)鏈路330向HDD 310發(fā)出讀取和寫(xiě)入命令或操作。
[0033]HDD 310包括存儲(chǔ)介質(zhì)311、R/W頭312和存儲(chǔ)控制系統(tǒng)370。存儲(chǔ)控制系統(tǒng)370包括處理電路371、存儲(chǔ)器372、主機(jī)接口(I/F)374和I/O隊(duì)列373。應(yīng)當(dāng)理解,圖3中為了清楚起見(jiàn),省略了HDD 310的其它組件,諸如前置放大器、放大器、電機(jī)、電樞、伺服器、外殼以及其它電氣和機(jī)械元件。此外,存儲(chǔ)控制系統(tǒng)370包括固件373,該固件373包括性能估計(jì)器380、緩存處置器381和主機(jī)報(bào)告器382,該固件373在至少由處理電路371執(zhí)行時(shí)如以下所描述地運(yùn)作。HDD 350-351可以包括與HDD 310相似的元件,但可能存在變化。
[0034]主機(jī)接口374包括一個(gè)或多個(gè)存儲(chǔ)接口,以用于與主機(jī)系統(tǒng)、網(wǎng)絡(luò)等進(jìn)行通信。主機(jī)接口 374可以包括收發(fā)器、接口電路、連接器、緩沖器、微控制器以及其它接口裝備。
[0035]I/O隊(duì)列373包括一個(gè)或多個(gè)非易失性計(jì)算機(jī)可讀存儲(chǔ)器設(shè)備。除了其它存儲(chǔ)器技術(shù)之外,I/O隊(duì)列373還可以包括RAM、SRAM、閃存、磁RAM、相變存儲(chǔ)器、電阻式隨機(jī)存取存儲(chǔ)器(ReRAM)。在一些示例中,I/O隊(duì)列373被包括在一個(gè)或多個(gè)非易失性存儲(chǔ)器設(shè)備中。例如,I/O隊(duì)列373可以被包括在用于緩存存儲(chǔ)事務(wù)的非易失性存儲(chǔ)器設(shè)備中。I/O隊(duì)列373可以被包括在主機(jī)接口 374、處理電路371或存儲(chǔ)器372的元件中。采用I/O隊(duì)列373作為通過(guò)主機(jī)接口 374接收到的緩存存儲(chǔ)操作,其可以包括讀取操作或?qū)懭氩僮饕约鞍殡S寫(xiě)入操作的任何相關(guān)聯(lián)寫(xiě)入數(shù)據(jù)。I/O隊(duì)列373被配置為保存通過(guò)鏈路330接收到的存儲(chǔ)操作,以用于由存儲(chǔ)控制系統(tǒng)370進(jìn)行處置。
[0036]存儲(chǔ)控制系統(tǒng)370還包括處理電路371和存儲(chǔ)器372。處理電路371可以包括從存儲(chǔ)器372檢索并且執(zhí)行固件373的一個(gè)或多個(gè)微處理器以及其它電路。處理電路371可以實(shí)現(xiàn)于單個(gè)處理設(shè)備內(nèi),但也可以跨過(guò)在執(zhí)行程序指令中協(xié)作的多個(gè)處理設(shè)備或子系統(tǒng)而分布。處理電路371的示例包括通用中央處理單元、專用處理器和邏輯器件以及任何其它類型的處理設(shè)備、其組合或變化。
[0037]存儲(chǔ)器372可以包括可由處理電路371讀取并且能夠存儲(chǔ)固件373的任何非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。存儲(chǔ)器372可以包括通過(guò)任何方法或技術(shù)所實(shí)現(xiàn)的用于存儲(chǔ)信息(諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))的易失性和非易失性、可移除和不可移除介質(zhì)。除了存儲(chǔ)介質(zhì)之外,在一些實(shí)現(xiàn)方式中,存儲(chǔ)器372還可以包括能夠?qū)碳?73進(jìn)行通信的通信介質(zhì)。雖然存儲(chǔ)器372可以實(shí)現(xiàn)為單個(gè)存儲(chǔ)設(shè)備,但也可以跨過(guò)相對(duì)于彼此共置(co-located)或分布的多個(gè)存儲(chǔ)設(shè)備或子系統(tǒng)而得以實(shí)現(xiàn)。存儲(chǔ)器372可以包括能夠與處理電路371進(jìn)行通信的附加元件(諸如控制器)。存儲(chǔ)器372的存儲(chǔ)介質(zhì)的示例包括隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器、磁盤、光盤、閃存、相變存儲(chǔ)器、磁盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備或任何能夠用于存儲(chǔ)期望的信息并且能夠由指令執(zhí)行系統(tǒng)存取的其它介質(zhì)及其任何組合或變形或任何其它類型的存儲(chǔ)介質(zhì)。
[0038]固件373、性能估計(jì)器380、緩存處置器381和主機(jī)報(bào)告器382可以實(shí)現(xiàn)于程序指令中,并且除了其它功能之外,固件373、性能估計(jì)器380、緩存處置器381和主機(jī)報(bào)告器382在一般地由HDD 310執(zhí)行或具體地由處理電路371執(zhí)行時(shí),可以命令(direct)HDD 310或處理電路371如在此所描述地運(yùn)作。固件373可以包括附加處理、程序或組件,諸如操作系統(tǒng)軟件、數(shù)據(jù)庫(kù)軟件或應(yīng)用軟件。固件373、性能監(jiān)視器380和緩存處置器381還可以包括可由處理電路371執(zhí)行的軟件或某些其它形式的機(jī)器可讀處理指令。在至少一個(gè)實(shí)現(xiàn)方式中,除了其它操作之外,程序指令可以包括第一程序指令,其命令存儲(chǔ)控制系統(tǒng)370接收寫(xiě)入操作并且響應(yīng)地在第一存儲(chǔ)區(qū)域中存儲(chǔ)寫(xiě)入數(shù)據(jù),然后傳送到SMR存儲(chǔ)區(qū)域中(緩存處置器381);確定用于將寫(xiě)入操作從第一存儲(chǔ)區(qū)域傳送到SMR存儲(chǔ)區(qū)域中的報(bào)告步速(性能估計(jì)器380);并且以報(bào)告步速將寫(xiě)入操作的完成報(bào)告給主機(jī)系統(tǒng)(主機(jī)報(bào)告器382)。
[0039]通常,固件373在被加載到處理電路371中并且執(zhí)行時(shí),可以使處理電路371整體從通用計(jì)算系統(tǒng)變換為定制為如在此所描述地運(yùn)作的專用計(jì)算系統(tǒng)。存儲(chǔ)器372上的編碼固件373可以將存儲(chǔ)器372的物理結(jié)構(gòu)進(jìn)行變換。在該說(shuō)明書(shū)的不同實(shí)現(xiàn)方式中,物理結(jié)構(gòu)的特定變換可以取決于各種因素。這些因素的示例可以包括但不限于用于實(shí)現(xiàn)存儲(chǔ)器372的存儲(chǔ)介質(zhì)的技術(shù)以及計(jì)算機(jī)存儲(chǔ)介質(zhì)被表征為主存儲(chǔ)裝置還是次存儲(chǔ)裝置。例如,如果計(jì)算機(jī)存儲(chǔ)介質(zhì)被實(shí)現(xiàn)為基于半導(dǎo)體的存儲(chǔ)器,則當(dāng)在此對(duì)程序進(jìn)行編碼時(shí),固件373可以對(duì)半導(dǎo)體存儲(chǔ)器的物理狀態(tài)進(jìn)行變換。例如,固件373可以變換構(gòu)成半導(dǎo)體存儲(chǔ)器的晶體管、電容器或其它分立式電路元件的狀態(tài)。相似的變換可以相對(duì)于磁介質(zhì)或光學(xué)介質(zhì)而產(chǎn)生。在不脫離本描述的范圍的情況下,物理介質(zhì)的其它變換是可能的,其中,提供前述示例僅為促進(jìn)該討論。
[0040]為了進(jìn)一步說(shuō)明系統(tǒng)300和HDD 310的操作,呈現(xiàn)了圖4。圖4是示出HDD 310的操作的方法的流程圖。下面以括號(hào)方式引用圖4的操作。在圖4中,HDD 310接收(401)由主機(jī)系統(tǒng)390所傳送的存儲(chǔ)操作320,所述存儲(chǔ)操作320包括用于在存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作以及用于檢索數(shù)據(jù)的讀取操作。寫(xiě)入操作可以伴隨有寫(xiě)入數(shù)據(jù),或HDD 310可以隨后響應(yīng)于接收到對(duì)應(yīng)的寫(xiě)入操作而從主機(jī)系統(tǒng)390請(qǐng)求寫(xiě)入數(shù)據(jù)。讀取操作可以針對(duì)HDD 310先前所存儲(chǔ)的數(shù)據(jù),諸如先前寫(xiě)入到存儲(chǔ)介質(zhì)311的數(shù)據(jù),或者讀取操作可以針對(duì)與數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù),所述元數(shù)據(jù)除了其它元數(shù)據(jù)之外還可以包括文件名、目錄/文件夾列表或文件屬性。
[0041]—旦通過(guò)主機(jī)接口 374接收到存儲(chǔ)操作320,存儲(chǔ)操作320就被放置到I/O隊(duì)列373中,以用于由存儲(chǔ)控制系統(tǒng)370在處置前進(jìn)行分級(jí)(stage)。為了更高效地使用HDD 310和R/W頭312,可以建立I/O隊(duì)列中所包括的存儲(chǔ)操作的亂序執(zhí)行。
[0042]存儲(chǔ)控制系統(tǒng)370將寫(xiě)入數(shù)據(jù)存儲(chǔ)(402)在緩存區(qū)(zone)315中,然后傳送到SMR區(qū)316中。在一些示例中,第一存儲(chǔ)區(qū)域315包括用于在寫(xiě)入到SMR區(qū)316中之前存儲(chǔ)寫(xiě)入數(shù)據(jù)的“寫(xiě)入兩次緩存”。當(dāng)存儲(chǔ)操作是寫(xiě)入操作時(shí),相關(guān)聯(lián)寫(xiě)入數(shù)據(jù)在交付(commit)到SMR區(qū)316中之前被分級(jí)到存儲(chǔ)介質(zhì)311的緩存區(qū)315中。這種進(jìn)入緩存區(qū)315中的分級(jí)處理可以在通過(guò)主機(jī)鏈路330接收到寫(xiě)入數(shù)據(jù)之后快速地產(chǎn)生。針對(duì)主機(jī)系統(tǒng)390可能不期望的隨機(jī)寫(xiě)入操作,快速分級(jí)到緩存區(qū)315中可以將突發(fā)式操作正常地呈現(xiàn)給主機(jī)系統(tǒng)390,如上面在其它示例中所討論的。因此,通過(guò)使用與HDD310的數(shù)據(jù)操作分離的仿真性能來(lái)平緩對(duì)主機(jī)系統(tǒng)390的寫(xiě)入完成報(bào)告,以此來(lái)代替在寫(xiě)入數(shù)據(jù)被分級(jí)到緩存區(qū)315中時(shí)報(bào)告隨機(jī)寫(xiě)入操作的完成。在其它示例中,例如在采用可以包括易失性存儲(chǔ)器設(shè)備或非易失性存儲(chǔ)器設(shè)備的固態(tài)寫(xiě)入緩存的混合硬驅(qū)動(dòng)器中,采用并非處于存儲(chǔ)介質(zhì)311上的寫(xiě)入緩存。在具有分離的寫(xiě)入緩存的示例中,寫(xiě)入數(shù)據(jù)可以被分級(jí)到分離的寫(xiě)入緩存而非緩存區(qū)315中,并且稍后從分離的寫(xiě)入緩存將寫(xiě)入數(shù)據(jù)解分級(jí)
[0043](de-stage)或交付到SMR區(qū)316。在此所討論的技術(shù)應(yīng)用于采用緩存區(qū)315的設(shè)備或具有分離寫(xiě)入緩存的設(shè)備。
[0044]存儲(chǔ)控制系統(tǒng)370通過(guò)基于存儲(chǔ)介質(zhì)上的分區(qū)范圍以及跨過(guò)分區(qū)范圍的與存儲(chǔ)操作相關(guān)聯(lián)的估計(jì)隊(duì)列深度,來(lái)確定寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間,由此來(lái)生成(403)寫(xiě)入操作的仿真性能。對(duì)于仿真性能,從先入先出(FIFO)數(shù)據(jù)結(jié)構(gòu)(諸如圖5的FIFO 510)的頂部標(biāo)識(shí)寫(xiě)入操作中的當(dāng)前操作,其指示對(duì)于目標(biāo)操作511而確定估計(jì)完成時(shí)間。新接收到的寫(xiě)入操作被引入到圖5中的“左”側(cè)上的FIFO 510中。仿真性能的示例可見(jiàn)于以下所討論的圖5-圖7。
[0045]在仿真性能方面,對(duì)于當(dāng)前正處置的每個(gè)寫(xiě)入操作來(lái)標(biāo)識(shí)分區(qū)范圍。分區(qū)范圍用于將寫(xiě)入操作分類為在存儲(chǔ)介質(zhì)311上的用于R/W頭312的若干角度掃描范圍之一,并且將在以下更詳細(xì)地討論。應(yīng)當(dāng)注意,分區(qū)范圍與用于將驅(qū)動(dòng)器盤符(letter)分配給存儲(chǔ)部分或用于在邏輯上將較大存儲(chǔ)區(qū)塊再劃分為較小區(qū)塊以便在主機(jī)系統(tǒng)390或其它相關(guān)聯(lián)端用戶數(shù)據(jù)系統(tǒng)的文件系統(tǒng)操作中使用的面向用戶的邏輯分區(qū)是無(wú)關(guān)的。
[0046]估計(jì)隊(duì)列深度用于估計(jì)對(duì)于主機(jī)接口374所使用的隊(duì)列深度,諸如,在未獲知所采用的實(shí)際隊(duì)列深度的情況下估計(jì)I/o隊(duì)列373的深度。主機(jī)系統(tǒng)390可能在運(yùn)行中(on-the-fly)多次調(diào)整用于HDD 310的隊(duì)列深度,并且存儲(chǔ)控制系統(tǒng)370對(duì)該隊(duì)列深度可能不具有可視性。因此,存儲(chǔ)控制系統(tǒng)370可以估計(jì)隊(duì)列深度,并且這將在以下更詳細(xì)地討論。
[0047]至少使用分區(qū)范圍和估計(jì)隊(duì)列深度,存儲(chǔ)控制系統(tǒng)370可以確定用于任何特定隨機(jī)寫(xiě)入操作的估計(jì)完成時(shí)間。隨機(jī)寫(xiě)入包括對(duì)存儲(chǔ)介質(zhì)311的非確定性或隨機(jī)位置的寫(xiě)入,并且不同于與對(duì)存儲(chǔ)介質(zhì)311上的相似位置的若干其它寫(xiě)入操作相結(jié)合而產(chǎn)生的順序?qū)慉oHDD 310的隨機(jī)寫(xiě)入性能大部分取決于R/W頭312必須移動(dòng)多遠(yuǎn)以找尋用于寫(xiě)入操作的正確軌道/塊以及對(duì)于主機(jī)系統(tǒng)390的存儲(chǔ)操作當(dāng)前所采用的隊(duì)列深度。因此,為了對(duì)寫(xiě)入性能進(jìn)行估計(jì),存儲(chǔ)控制系統(tǒng)370可以維持分區(qū)大小和隊(duì)列深度的運(yùn)行歷史。
[0048]許多時(shí)候,主機(jī)系統(tǒng)將具有在存儲(chǔ)介質(zhì)311上的時(shí)間和物理鄰域中存儲(chǔ)并且檢索數(shù)據(jù)的一個(gè)或多個(gè)處理(諸如應(yīng)用)。例如,由于具有用于應(yīng)用的彼此鄰近的存儲(chǔ)塊,主機(jī)系統(tǒng)390上所執(zhí)行的第一應(yīng)用(或使用主機(jī)系統(tǒng)390以存儲(chǔ)/檢索數(shù)據(jù)的另一數(shù)據(jù)系統(tǒng)上的第一處理)可以在R/W頭312的小角度掃描范圍內(nèi)存儲(chǔ)并且檢索數(shù)據(jù)。該角度掃描范圍在此稱為分區(qū)范圍。在非旋轉(zhuǎn)存儲(chǔ)介質(zhì)中,分區(qū)范圍可以另外包括存儲(chǔ)介質(zhì)上彼此鄰近的存儲(chǔ)器塊或地址的范圍。
[0049]為了確定每個(gè)寫(xiě)入操作的分區(qū)范圍,存儲(chǔ)控制系統(tǒng)370維持與對(duì)存儲(chǔ)介質(zhì)的多個(gè)子部分進(jìn)行的預(yù)定數(shù)量的過(guò)去存儲(chǔ)操作的計(jì)數(shù)有關(guān)的數(shù)據(jù)結(jié)構(gòu)。存儲(chǔ)控制系統(tǒng)370可以基于跨越與寫(xiě)入操作中的當(dāng)前操作的存儲(chǔ)位置鄰近的存儲(chǔ)介質(zhì)的子部分中的一個(gè)或多個(gè)的閾值窗,來(lái)對(duì)于當(dāng)前寫(xiě)入操作使用該數(shù)據(jù)結(jié)構(gòu),由此標(biāo)識(shí)分區(qū)范圍。
[0050]例如,在圖5中,可以建立表520,以標(biāo)識(shí)分區(qū)范圍。表520將存儲(chǔ)介質(zhì)311再劃分為100個(gè)子部分,其中每個(gè)子部分表示用于R/W頭312的小角度掃描范圍。如果R/W頭312的角度掃描范圍等于“X”,則表520中的每一列表示X/100的角度范圍。表520的這種行程(stroke) %可以表示塊地址的對(duì)應(yīng)數(shù)量,以將存儲(chǔ)介質(zhì)311再劃分為很多連續(xù)的塊地址范圍。在表520的“掃描范圍計(jì)數(shù)”中登記(tally)對(duì)每個(gè)掃描范圍進(jìn)行的存儲(chǔ)操作的運(yùn)行計(jì)數(shù)。例如,除了其它值之外,表520還可以登記最新“Y”數(shù)量的存儲(chǔ)操作(諸如最新1024或512個(gè)存儲(chǔ)操作)。存儲(chǔ)操作的最新數(shù)量可以受表520監(jiān)控,以基于存儲(chǔ)介質(zhì)311上的R/W頭312的相關(guān)聯(lián)角度位置而記錄每個(gè)存儲(chǔ)操作可以指向(direct)存儲(chǔ)介質(zhì)311上的哪個(gè)位置。作為特定示例,通過(guò)將與目標(biāo)操作511相關(guān)聯(lián)的塊地址與存儲(chǔ)介質(zhì)311的行程%進(jìn)行比較,目標(biāo)操作511被示出為指向行程%列6。如表520中所指示的,行程%列6在過(guò)去“Y”數(shù)量的存儲(chǔ)操作中已經(jīng)具有兩個(gè)先前存儲(chǔ)操作(寫(xiě)入或讀取)。
[0051]然后可以使用閾值窗來(lái)標(biāo)識(shí)與目標(biāo)操作511相關(guān)聯(lián)的分區(qū)范圍??梢允褂迷撻撝荡霸诒?20中標(biāo)識(shí)過(guò)去某一點(diǎn)過(guò)去存儲(chǔ)操作的數(shù)量在何處在數(shù)量方面減少。例如,閾值可以設(shè)置為“I”,在列6的任一側(cè)上搜索表520,以標(biāo)識(shí)過(guò)去存儲(chǔ)事務(wù)的數(shù)量何時(shí)落入閾值數(shù)量之下。在圖5中,由于列3指示“O”個(gè)過(guò)去存儲(chǔ)操作并且列10指示“I”個(gè)過(guò)去存儲(chǔ)操作,因此該窗示出為跨越列4到列10。因此,目標(biāo)操作511與對(duì)應(yīng)于7%的掃描范圍的七個(gè)列4-10所指示的特定分區(qū)范圍相關(guān)聯(lián)。然后使用目標(biāo)操作511的該掃描范圍作為列標(biāo)識(shí)符,以在表530中查找估計(jì)性能。
[0052]然而,還必須對(duì)于目標(biāo)操作511確定與表530的特定行對(duì)應(yīng)的估計(jì)隊(duì)列深度。應(yīng)當(dāng)注意,表530僅具有有限數(shù)量的項(xiàng),并且因此當(dāng)用于目標(biāo)命令的值落入各行或列其間時(shí),就可以執(zhí)行內(nèi)插處理以確定估計(jì)完成時(shí)間??商娲?,可以通過(guò)將用于特定目標(biāo)操作的分區(qū)范圍或隊(duì)列深度取整為附近列或行來(lái)選擇行或列。
[0053]為了確定用于目標(biāo)操作511的估計(jì)隊(duì)列深度,存儲(chǔ)控制系統(tǒng)370被配置為:通過(guò)建立針對(duì)分區(qū)范圍上的行程%列中的每一個(gè)所接收到的新近存儲(chǔ)操作的計(jì)數(shù)并且對(duì)分區(qū)范圍上的新近存儲(chǔ)操作的計(jì)數(shù)進(jìn)行求和,來(lái)對(duì)于目標(biāo)操作511標(biāo)識(shí)跨過(guò)分區(qū)范圍的用于目標(biāo)操作511的估計(jì)隊(duì)列深度。如圖5的表520中可見(jiàn),分區(qū)范圍是從列4到列10??邕^(guò)該分區(qū)范圍的“主機(jī)隊(duì)列深度計(jì)數(shù)”行中的求和項(xiàng)導(dǎo)致了估計(jì)隊(duì)列深度8。對(duì)于主機(jī)隊(duì)列深度計(jì)數(shù)所使用的計(jì)數(shù)典型地包括比掃描范圍計(jì)數(shù)更小量的過(guò)去存儲(chǔ)操作。例如,如果掃描范圍計(jì)數(shù)與最新1024或512個(gè)存儲(chǔ)操作對(duì)應(yīng),則主機(jī)隊(duì)列深度計(jì)數(shù)可以與最新10個(gè)存儲(chǔ)操作對(duì)應(yīng)。主機(jī)隊(duì)列深度計(jì)數(shù)行中所計(jì)數(shù)的過(guò)去存儲(chǔ)事務(wù)的數(shù)量可以對(duì)應(yīng)于FIFO 510中所使用的FIFO深度,但可以使用其它數(shù)量,包括在操作期間所調(diào)整的數(shù)量。
[0054]—旦確定了估計(jì)隊(duì)列深度,那么行(估計(jì)隊(duì)列深度)和列(分區(qū)范圍)二者就與用于目標(biāo)操作511的表530中的估計(jì)完成時(shí)間項(xiàng)對(duì)應(yīng)。使用分區(qū)范圍和估計(jì)隊(duì)列深度作為對(duì)將估計(jì)完成時(shí)間與HDD 310的分區(qū)范圍和估計(jì)隊(duì)列深度進(jìn)行聯(lián)系的表530的索引??梢栽诜謪^(qū)范圍和估計(jì)隊(duì)列深度的值中的每一個(gè)值的上下文中,基于用于示例性隨機(jī)寫(xiě)入操作的平均完成時(shí)間,對(duì)HDD 310預(yù)先計(jì)算估計(jì)完成時(shí)間。在其它示例中,可以在運(yùn)行中計(jì)算估計(jì)完成時(shí)間,而非采用預(yù)先計(jì)算出的值的查找表。
[0055]如果寫(xiě)入操作與大于預(yù)先計(jì)算出的大小的寫(xiě)入數(shù)據(jù)大小對(duì)應(yīng),則可以包括用于較大數(shù)據(jù)大小的附加時(shí)間。例如,圖5中所示的公式540可以用于基于4千字節(jié)(KB)寫(xiě)入大小來(lái)預(yù)先計(jì)算對(duì)于表530中的每個(gè)行-列組合的項(xiàng)。如果當(dāng)前寫(xiě)入(例如目標(biāo)寫(xiě)入命令511)與大于4KB的寫(xiě)入數(shù)據(jù)對(duì)應(yīng),則使用公式540來(lái)考慮該附加大小。
[0056]—旦對(duì)于特定寫(xiě)入操作(諸如對(duì)于目標(biāo)寫(xiě)入命令511)確定估計(jì)完成時(shí)間,那么存儲(chǔ)控制系統(tǒng)370就可以在用于在存儲(chǔ)鏈路330上建立報(bào)告步速的仿真寫(xiě)入處理中使用該估計(jì)完成時(shí)間。
[0057]作為一個(gè)示例仿真處理,呈現(xiàn)了圖6。圖6包括指示覆蓋寫(xiě)入和讀取(具體地,wr iten—1、writen、readn+i以及writen+2)的示例時(shí)間軸(time line)的用于仿真寫(xiě)入處理的時(shí)間軸的圖600。應(yīng)當(dāng)注意,在該示例中,writen-1、writen和writen+2是隨機(jī)寫(xiě)入。寫(xiě)入和讀取持續(xù)時(shí)間在時(shí)間軸之下被指示為界定(bracketed)時(shí)間跨段??梢愿鶕?jù)用于每個(gè)寫(xiě)入的仿真界定時(shí)間跨段(例如在每個(gè)寫(xiě)入時(shí)間跨段的開(kāi)始或在每個(gè)寫(xiě)入時(shí)間跨段的結(jié)束)將寫(xiě)入報(bào)告給主機(jī)系統(tǒng)。
[0058]可以在寫(xiě)入已經(jīng)產(chǎn)生并且計(jì)算周期性估計(jì)寫(xiě)入時(shí)間之后,跟蹤周期性寫(xiě)入時(shí)間信用度(credit)。在時(shí)間610,發(fā)出或檢查寫(xiě)入信用度。在一些情況下,例如當(dāng)隨機(jī)寫(xiě)入自從最新寫(xiě)入信用度已經(jīng)發(fā)出到總賬(ledger)384以來(lái)尚未先前產(chǎn)生時(shí),無(wú)需進(jìn)行寫(xiě)入信用度。假設(shè)在時(shí)間610無(wú)需寫(xiě)入信用度,則寫(xiě)入信用度不發(fā)出到總賬384中。在時(shí)間620,對(duì)于作為圖6中的writen的寫(xiě)入(具體地,對(duì)于待包括于時(shí)間軸中的下一寫(xiě)入)計(jì)算估計(jì)完成時(shí)間。接下來(lái),在時(shí)間611,檢查寫(xiě)入信用度,以查看是否應(yīng)當(dāng)發(fā)出信用度,并且由于writer已經(jīng)恰好產(chǎn)生在仿真時(shí)間軸中,因此與用于writer的估計(jì)完成時(shí)間對(duì)應(yīng)的信用度就發(fā)出到總賬384中。
[0059]在writen—I的所完成的仿真之后,Writen的仿真產(chǎn)生。在Writen的情況下,順序?qū)懭胪话l(fā)630在順序?qū)懭胪话l(fā)的性能期間中斷仿真。順序?qū)懭胪话l(fā)是由與順序存儲(chǔ)位置對(duì)應(yīng)的HDD 310接收到的一系列寫(xiě)入操作,并且可以是在相關(guān)聯(lián)報(bào)告中沒(méi)有緩存或進(jìn)行平緩的對(duì)SMR區(qū)316的突發(fā)。當(dāng)主機(jī)390在特定時(shí)刻及時(shí)執(zhí)行大的寫(xiě)入操作的突發(fā)而非隨機(jī)單獨(dú)寫(xiě)入操作時(shí),這可能是優(yōu)選的。一旦已經(jīng)完成順序?qū)懭胪话l(fā),則仿真就可以繼續(xù)。
[0060]在時(shí)間621,在此情況下對(duì)于下一寫(xiě)入(S卩Writen+2)計(jì)算另一估計(jì)完成時(shí)間。在時(shí)間612,檢查寫(xiě)入信用度,并且由于自從最新寫(xiě)入信用度檢查以來(lái)尚未完成寫(xiě)入,于是不發(fā)出信用度。在時(shí)間613,檢查另一寫(xiě)入信用度,并且由于自從最新寫(xiě)入信用度檢查以來(lái)完成了 writen,于是向總賬384發(fā)出寫(xiě)入信用度。
[0061]最后,已經(jīng)發(fā)出足夠的寫(xiě)入信用度,并且提示寫(xiě)入緩存交付處理631。寫(xiě)入緩存交付處理631是突發(fā)操作,其將與寫(xiě)入操作相關(guān)聯(lián)的待定寫(xiě)入數(shù)據(jù)從緩存區(qū)315傳送(406)到SMR區(qū)316中。雖然在一些示例中,如仿真中的界定時(shí)間跨段對(duì)于每個(gè)寫(xiě)入操作所指示的,寫(xiě)入數(shù)據(jù)可以從緩存區(qū)315傳送到SMR區(qū)316中,但在該示例中,突發(fā)用于將寫(xiě)入數(shù)據(jù)的群組傳送到SMR區(qū)316中。例如當(dāng)全滿(fuI Iness)緩存區(qū)315達(dá)到全滿閾值時(shí),觸發(fā)條件可以發(fā)起寫(xiě)入緩存交付處理631。其它觸發(fā)條件可以包括何時(shí)足夠的寫(xiě)入時(shí)間信用度已經(jīng)發(fā)出到總賬384中以超過(guò)時(shí)間信用度閾值。一旦寫(xiě)入緩存交付處理631產(chǎn)生,則總賬384就減去與寫(xiě)入緩存交付處理631所完成的寫(xiě)入操作對(duì)應(yīng)的信用度。
[0062]如上所述,對(duì)主機(jī)系統(tǒng)390的寫(xiě)入操作的完成的報(bào)告(450)可以與基于圖6所示的寫(xiě)入的仿真時(shí)間的界定時(shí)間跨段相稱地產(chǎn)生,或可以另外在寫(xiě)入緩存交付處理631已經(jīng)將寫(xiě)入數(shù)據(jù)傳送到SMR區(qū)314中時(shí)產(chǎn)生。
[0063]在時(shí)間622,在此情況下對(duì)于圖6中未示出的稍后寫(xiě)入,計(jì)算另一估計(jì)完成時(shí)間。在時(shí)間614,檢查寫(xiě)入信用度,并且由于自從最新寫(xiě)入信用度檢查以來(lái)尚未完成寫(xiě)入,于是不發(fā)出信用度。在時(shí)間615,檢查寫(xiě)入信用度,并且由于已經(jīng)最新產(chǎn)生讀取,于是不發(fā)出信用度。在時(shí)間623,對(duì)于作為圖6未示出的寫(xiě)入(具體地,對(duì)于待包括于時(shí)間軸中的下一寫(xiě)入)計(jì)算估計(jì)完成時(shí)間。對(duì)于其它寫(xiě)入操作,可以繼續(xù)進(jìn)行例如圖6中的仿真。
[0064]存儲(chǔ)控制系統(tǒng)370確定(404)報(bào)告步速,以基于用于非順序讀取的讀取損失(penalty)所調(diào)整的寫(xiě)入操作中的每一個(gè)的期待的完成時(shí)間而建立主機(jī)接口吞吐量速率。至于圖6中所見(jiàn)的仿真寫(xiě)入操作,當(dāng)建立報(bào)告步速時(shí),也可以考慮讀取操作的記賬(accounting)。圖7示出了用于HDD 310的讀取操作的示例記賬的示例。
[0065]當(dāng)存儲(chǔ)操作是讀取操作時(shí),典型地以從主機(jī)系統(tǒng)390進(jìn)行接收的步速執(zhí)行讀取操作。通常,期望從存儲(chǔ)介質(zhì)311檢索讀取數(shù)據(jù)并且盡快傳送到主機(jī)系統(tǒng)390,以減少對(duì)于主機(jī)系統(tǒng)390的延時(shí)和操作延遲。然而,當(dāng)目標(biāo)為待讀取的數(shù)據(jù)已經(jīng)存儲(chǔ)在SMR區(qū)316中時(shí),可以產(chǎn)生至少兩種類型的讀取操作。第一類型是順序讀取,其中,待讀取的目標(biāo)數(shù)據(jù)存儲(chǔ)在SMR區(qū)316中的物理順序塊中。在該第一類型的讀取中,一旦R/W頭312定位在與待讀取的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的第一數(shù)據(jù)塊上,就可以相對(duì)快速地執(zhí)行讀取,并且沒(méi)有中斷。第二類型的讀取是非順序讀取或碎片化讀取,其中,待讀取的目標(biāo)數(shù)據(jù)存儲(chǔ)在并非物理順序的SMR區(qū)316中的塊中,并且因而R/W頭312必須多于一次地定位,以讀取所有目標(biāo)數(shù)據(jù),這樣由于R/W頭312的尋找時(shí)間而添加了延時(shí)。R/W頭312的重新定位將延遲添加到檢索所有目標(biāo)讀取數(shù)據(jù)中,并且可能降低HDD 310對(duì)主機(jī)系統(tǒng)390所呈現(xiàn)的性能。應(yīng)當(dāng)理解,讀取可以產(chǎn)生在順序塊和非順序塊的組合中。
[0066]返回到圖7,讀取操作被示出為在其至少一部分與非順序讀取操作對(duì)應(yīng)的情況下而產(chǎn)生。該情況可以被稱為碎片化讀取,其中,將要從存儲(chǔ)介質(zhì)311讀取的數(shù)據(jù)分散在非順序存儲(chǔ)位置上,并且R/W頭312必須重新定位讀取操作的中間讀取(mid-read)或中間突發(fā)(mid-burst)。時(shí)間信用度總賬383可以被建立為數(shù)據(jù)結(jié)構(gòu),以監(jiān)控碎片化讀取的損失。這些時(shí)間損失可以用于縮短稍后的寫(xiě)入仿真時(shí)間,以抵消用于碎片化讀取操作的時(shí)間損失。具體地,在圖7中,用于Writen+1的持續(xù)時(shí)間縮短了由于先前碎片化讀取的損失的量。報(bào)告步速可以因此得以建立,以縮短寫(xiě)入報(bào)告延遲,從而抵消來(lái)自碎片化讀取的延遲,并且維持對(duì)主機(jī)系統(tǒng)390所呈現(xiàn)的一致吞吐量。雖然時(shí)間信用度總賬383被示出為與圖3中的總賬384分離,但在其它示例中,它們被包括于同一總賬或相關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)中。
[0067]存儲(chǔ)控制系統(tǒng)370以報(bào)告步速將寫(xiě)入操作的完成報(bào)告(405)給主機(jī)系統(tǒng)?;趯?xiě)入操作的仿真性能,報(bào)告步速得以建立,并且目標(biāo)性能由HDD 310呈現(xiàn)給主機(jī)系統(tǒng)390。例如,如果期望目標(biāo)性能比HDD 310的潛在吞吐量更慢,則可以建立報(bào)告步速,以降低HDD 310的性能,從而滿足目標(biāo)性能。在其它示例中,隨機(jī)寫(xiě)入操作如主機(jī)系統(tǒng)390所觀測(cè)到的那樣太“突發(fā)”,并且HDD 310進(jìn)行的平緩操作是期望的,于是平緩操作可以包括報(bào)告步速,其與將數(shù)據(jù)實(shí)際寫(xiě)入到緩存區(qū)315或SMR區(qū)316中互不相干地報(bào)告寫(xiě)入完成。這種互不相干可以針對(duì)HDD 310所接收到的寫(xiě)入操作將所抑制的狀態(tài)報(bào)告建立為寫(xiě)入完成的穩(wěn)定或平緩報(bào)告,并且將更一致的完成速率呈現(xiàn)給主機(jī)系統(tǒng)390。
[0068]在采用許多存儲(chǔ)設(shè)備(例如HDD陣列或大數(shù)據(jù)中心)的示例中,在此所討論的平緩報(bào)告可以增強(qiáng)現(xiàn)有的或新的數(shù)據(jù)存儲(chǔ)設(shè)備的操作。一致的寫(xiě)入報(bào)告可以導(dǎo)致更可預(yù)測(cè)的性能,這樣可以有助于各種存儲(chǔ)操作下的主機(jī)系統(tǒng)??梢钥邕^(guò)很多存儲(chǔ)設(shè)備建立關(guān)于寫(xiě)入操作對(duì)主機(jī)系統(tǒng)(或多個(gè)主機(jī)系統(tǒng))所呈現(xiàn)的一致吞吐量。例如,多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備可以被配置為如在此所討論地運(yùn)作,以使得跨過(guò)彼此的性能標(biāo)準(zhǔn)化(normalize)或均衡化,例如,以對(duì)于多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的每一個(gè)提供一致的或匹配的吞吐量。這些數(shù)據(jù)存儲(chǔ)設(shè)備可以被預(yù)先配置為以對(duì)主機(jī)所呈現(xiàn)的預(yù)定性能來(lái)運(yùn)作,或可以在操作期間被配置為修改或改動(dòng)性能目標(biāo)。此外,當(dāng)安裝新的或替換數(shù)據(jù)存儲(chǔ)設(shè)備時(shí),在此所討論的平緩性能技術(shù)可以用于將新的或替換設(shè)備的性能與現(xiàn)有數(shù)據(jù)存儲(chǔ)設(shè)備的性能進(jìn)行匹配。在其它示例中,即使新的或替換設(shè)備正常地經(jīng)歷更快或更突發(fā)的操作,也可以通過(guò)平緩性能來(lái)實(shí)現(xiàn)可能對(duì)于較舊型號(hào)或類型的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的性能進(jìn)行匹配而采用的數(shù)據(jù)存儲(chǔ)設(shè)備的后向兼容性。在另外其它示例中,可以使用在此所討論的平緩來(lái)實(shí)現(xiàn)包括不同品牌、速度或類型的各種數(shù)據(jù)存儲(chǔ)設(shè)備的特性的均衡化或標(biāo)準(zhǔn)化。
[0069]為了跨過(guò)多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備(例如存儲(chǔ)陣列中的很多HDD)協(xié)調(diào)匹配的、均衡的或標(biāo)準(zhǔn)化的性能,吞吐量匹配指令可以傳送到每個(gè)設(shè)備。每個(gè)HDD外部的系統(tǒng)可以通過(guò)存儲(chǔ)鏈路將目標(biāo)性能指示符傳送到數(shù)據(jù)存儲(chǔ)設(shè)備。例如,在圖3所示的示例中,主機(jī)系統(tǒng)390可以通過(guò)相關(guān)聯(lián)存儲(chǔ)鏈路將抑制指令傳送到圖3所示的每個(gè)HDD(310以及350-351)。這些抑制指令可以包括用于每個(gè)HDD的目標(biāo)性能(例如每秒輸入/輸出操作(10PS)、比特每秒或使用任何其它相關(guān)聯(lián)度量的目標(biāo)性能的指示符)。在其它示例中,每個(gè)HDD可以傳送峰值或最大性能的指示,以用于傳遞到主機(jī)系統(tǒng)390,并且主機(jī)系統(tǒng)390可以標(biāo)識(shí)用于每個(gè)HDD的目標(biāo)性能,以滿足目標(biāo)性能并且將其傳送到每個(gè)HDD,以用于在此所討論的平緩性能。
[0070]所包括的說(shuō)明書(shū)和附圖描述特定實(shí)施例,以教導(dǎo)本領(lǐng)域技術(shù)人員如何進(jìn)行并且使用最佳模式。為了教導(dǎo)本發(fā)明原理的目的,已經(jīng)簡(jiǎn)化或省略了一些傳統(tǒng)方面。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解落入本發(fā)明的范圍內(nèi)的來(lái)自這些實(shí)施例的適當(dāng)變化。本領(lǐng)域技術(shù)人員還應(yīng)當(dāng)理解,以上所描述的特征可以通過(guò)各種方式組合,以形成多個(gè)實(shí)施例。因此,本發(fā)明不限于以上所描述的具體示例,而僅由權(quán)利要求及其等同物限定。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)存儲(chǔ)設(shè)備,包括: 存儲(chǔ)介質(zhì),包括第一存儲(chǔ)區(qū)域和疊瓦式磁記錄SMR存儲(chǔ)區(qū)域; 存儲(chǔ)控制系統(tǒng),其被配置為通過(guò)主機(jī)接口接收包括用于在存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作的存儲(chǔ)操作,并且響應(yīng)地在第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),然后傳送到SMR存儲(chǔ)區(qū)域中; 所述存儲(chǔ)控制系統(tǒng)被配置為確定與將所述寫(xiě)入操作從第一存儲(chǔ)區(qū)域傳送到SMR存儲(chǔ)區(qū)域中相關(guān)聯(lián)的報(bào)告步速,所述報(bào)告步速通過(guò)主機(jī)接口建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中起平緩的目標(biāo)性能;以及 所述存儲(chǔ)控制系統(tǒng)被配置為以所述報(bào)告步速通過(guò)主機(jī)接口報(bào)告所述寫(xiě)入操作的完成。2.如權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)設(shè)備,包括: 所述存儲(chǔ)控制系統(tǒng)被配置為在第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),而不通過(guò)主機(jī)接口報(bào)告所述寫(xiě)入操作的完成,其中以比所述報(bào)告步速更快的步速在第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù)。3.如權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)設(shè)備,包括: 所述存儲(chǔ)控制系統(tǒng)被配置為生成所述寫(xiě)入操作的仿真性能,以建立報(bào)告步速。4.如權(quán)利要求3所述的數(shù)據(jù)存儲(chǔ)設(shè)備,包括: 所述存儲(chǔ)控制系統(tǒng)被配置為通過(guò)至少部分地基于存儲(chǔ)介質(zhì)上的分區(qū)范圍以及跨過(guò)所述分區(qū)范圍的存儲(chǔ)操作的估計(jì)隊(duì)列深度而確定所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間,來(lái)生成所述寫(xiě)入操作的仿真性能;以及 所述存儲(chǔ)控制系統(tǒng)被配置為至少部分地基于所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間,建立報(bào)告步速。5.如權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)設(shè)備,包括: 所述存儲(chǔ)控制系統(tǒng)被配置為維持與對(duì)存儲(chǔ)介質(zhì)的多個(gè)子部分進(jìn)行的預(yù)定數(shù)量的過(guò)去存儲(chǔ)操作的計(jì)數(shù)有關(guān)的數(shù)據(jù)結(jié)構(gòu); 所述存儲(chǔ)控制系統(tǒng)被配置為基于跨越所述寫(xiě)入操作中的當(dāng)前寫(xiě)入操作的存儲(chǔ)位置附近的所述多個(gè)子部分中的一個(gè)或多個(gè)的閾值窗,標(biāo)識(shí)所述寫(xiě)入操作中的當(dāng)前寫(xiě)入操作的分區(qū)范圍。6.如權(quán)利要求5所述的數(shù)據(jù)存儲(chǔ)設(shè)備,包括: 所述存儲(chǔ)控制系統(tǒng)被配置為通過(guò)建立針對(duì)存儲(chǔ)介質(zhì)的所述多個(gè)子部分所接收的新近存儲(chǔ)操作的計(jì)數(shù)并且對(duì)所述分區(qū)范圍上的新近存儲(chǔ)操作的計(jì)數(shù)進(jìn)行求和,來(lái)標(biāo)識(shí)跨過(guò)所述分區(qū)范圍的存儲(chǔ)操作的估計(jì)隊(duì)列深度。7.如權(quán)利要求4所述的數(shù)據(jù)存儲(chǔ)設(shè)備,包括: 所述存儲(chǔ)控制系統(tǒng)被配置為通過(guò)使用所述分區(qū)范圍以及所述寫(xiě)入操作中的每一個(gè)的估計(jì)隊(duì)列深度作為對(duì)將估計(jì)完成時(shí)間與數(shù)據(jù)存儲(chǔ)設(shè)備的多個(gè)分區(qū)范圍和多個(gè)估計(jì)隊(duì)列深度進(jìn)行聯(lián)系的數(shù)據(jù)結(jié)構(gòu)的索引,來(lái)確定所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間。8.如權(quán)利要求7所述的數(shù)據(jù)存儲(chǔ)設(shè)備,其中,在多個(gè)分區(qū)范圍和多個(gè)估計(jì)隊(duì)列深度的值中的每一個(gè)值的上下文中,基于示例性隨機(jī)寫(xiě)入操作的平均完成時(shí)間,對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備預(yù)先計(jì)算估計(jì)完成時(shí)間。9.如權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)設(shè)備,其中通過(guò)主機(jī)接口所傳送的存儲(chǔ)操作還包括用于檢索在存儲(chǔ)介質(zhì)上存儲(chǔ)的數(shù)據(jù)的讀取操作;并且包括: 所述存儲(chǔ)控制系統(tǒng)被配置為標(biāo)識(shí)所述讀取操作中的讀取操作何時(shí)指向SMR存儲(chǔ)區(qū)域中非順序存儲(chǔ)的數(shù)據(jù),響應(yīng)地確定所述讀取操作中的讀取操作的時(shí)間損失,并且使用所述時(shí)間損失來(lái)縮短所選擇的寫(xiě)入操作的完成時(shí)間,以維持報(bào)告步速。10.一種操作數(shù)據(jù)存儲(chǔ)設(shè)備的方法,所述方法包括: 接收通過(guò)主機(jī)接口傳送的包括用于在存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作的存儲(chǔ)操作,并且響應(yīng)地在存儲(chǔ)介質(zhì)的第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),然后傳送到存儲(chǔ)介質(zhì)的SMR存儲(chǔ)區(qū)域中; 確定用于報(bào)告所述寫(xiě)入操作從第一存儲(chǔ)區(qū)域到SMR存儲(chǔ)區(qū)域中的傳送的報(bào)告步速,所述報(bào)告步速通過(guò)主機(jī)接口建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中起平緩的目標(biāo)性能;以及 以所述報(bào)告步速通過(guò)主機(jī)接口報(bào)告所述寫(xiě)入操作的完成。11.如權(quán)利要求1O所述的方法,還包括: 在第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),而不通過(guò)主機(jī)接口報(bào)告所述寫(xiě)入操作的完成,其中以比所述報(bào)告步速更快的步速在第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù)。12.如權(quán)利要求1O所述的方法,還包括: 生成用于所述寫(xiě)入操作的仿真性能,以建立所述報(bào)告步速。13.如權(quán)利要求12所述的方法,其中,生成所述寫(xiě)入操作的仿真性能包括:至少部分地基于存儲(chǔ)介質(zhì)上的分區(qū)范圍以及跨過(guò)所述分區(qū)范圍的存儲(chǔ)操作的估計(jì)隊(duì)列深度來(lái)確定所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間;并且所述方法還包括: 至少部分地基于所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間,建立報(bào)告步速。14.如權(quán)利要求13所述的方法,還包括: 維持與對(duì)存儲(chǔ)介質(zhì)的多個(gè)子部分進(jìn)行的預(yù)定數(shù)量的過(guò)去存儲(chǔ)操作的計(jì)數(shù)有關(guān)的數(shù)據(jù)結(jié)構(gòu); 基于跨越所述寫(xiě)入操作中的當(dāng)前寫(xiě)入操作的存儲(chǔ)位置附近的所述多個(gè)子部分中的一個(gè)或多個(gè)的閾值窗,標(biāo)識(shí)所述寫(xiě)入操作中的當(dāng)前寫(xiě)入操作的分區(qū)范圍。15.如權(quán)利要求14所述的方法,還包括: 通過(guò)建立針對(duì)存儲(chǔ)介質(zhì)的所述多個(gè)子部分所接收的新近存儲(chǔ)操作的計(jì)數(shù)并且對(duì)所述分區(qū)范圍上的新近存儲(chǔ)操作的計(jì)數(shù)進(jìn)行求和,來(lái)標(biāo)識(shí)跨過(guò)所述分區(qū)范圍的存儲(chǔ)操作的估計(jì)隊(duì)列深度。16.如權(quán)利要求13所述的方法,還包括: 通過(guò)使用所述分區(qū)范圍以及所述寫(xiě)入操作中的每一個(gè)的估計(jì)隊(duì)列深度作為對(duì)將估計(jì)完成時(shí)間與數(shù)據(jù)存儲(chǔ)設(shè)備的多個(gè)分區(qū)范圍和多個(gè)估計(jì)隊(duì)列深度進(jìn)行聯(lián)系的數(shù)據(jù)結(jié)構(gòu)的索引,來(lái)確定所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間。17.如權(quán)利要求16所述的方法,其中,在多個(gè)分區(qū)范圍和多個(gè)估計(jì)隊(duì)列深度的值中的每一個(gè)值的上下文中,基于示例性隨機(jī)寫(xiě)入操作的平均完成時(shí)間,對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備預(yù)先計(jì)算估計(jì)完成時(shí)間。18.如權(quán)利要求10所述的方法,其中,通過(guò)主機(jī)接口所傳送的存儲(chǔ)操作還包括用于檢索在存儲(chǔ)介質(zhì)上存儲(chǔ)的數(shù)據(jù)的讀取操作;并且所述方法包括: 標(biāo)識(shí)所述讀取操作中的讀取操作何時(shí)指向SMR存儲(chǔ)區(qū)域中非順序存儲(chǔ)的數(shù)據(jù),響應(yīng)地確定所述讀取操作中的讀取操作的時(shí)間損失,并且使用所述時(shí)間損失來(lái)縮短所選擇的寫(xiě)入操作的完成時(shí)間,以維持報(bào)告步速。19.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括: 多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,其被配置為接收用于存儲(chǔ)和檢索相關(guān)聯(lián)存儲(chǔ)介質(zhì)上的數(shù)據(jù)的存儲(chǔ)操作,所述相關(guān)聯(lián)存儲(chǔ)介質(zhì)中的每一個(gè)包括磁記錄SMR存儲(chǔ)區(qū)域; 所述多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的每一個(gè)包括: 存儲(chǔ)控制系統(tǒng),其被配置為接收由主機(jī)系統(tǒng)所傳送的包括用于在存儲(chǔ)介質(zhì)上存儲(chǔ)寫(xiě)入數(shù)據(jù)的寫(xiě)入操作的相關(guān)聯(lián)存儲(chǔ)操作,并且響應(yīng)地在第一存儲(chǔ)區(qū)域中存儲(chǔ)所述寫(xiě)入數(shù)據(jù),然后傳送到SMR存儲(chǔ)區(qū)域中; 所述存儲(chǔ)控制系統(tǒng)被配置為確定用于報(bào)告所述寫(xiě)入操作從第一存儲(chǔ)區(qū)域傳送到SMR存儲(chǔ)區(qū)域中的報(bào)告步速,所述報(bào)告步速建立從將所述寫(xiě)入數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)區(qū)域中起平緩的目標(biāo)性能,以使得跨過(guò)所述多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的數(shù)據(jù)存儲(chǔ)設(shè)備的性能標(biāo)準(zhǔn)化;以及 所述存儲(chǔ)控制系統(tǒng)被配置為以所述報(bào)告步速來(lái)報(bào)告所述寫(xiě)入操作的完成。20.如權(quán)利要求19所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),包括: 所述存儲(chǔ)控制系統(tǒng)被配置為通過(guò)至少部分地基于存儲(chǔ)介質(zhì)上的分區(qū)范圍以及跨過(guò)所述分區(qū)范圍的存儲(chǔ)操作的估計(jì)隊(duì)列深度而確定所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間,來(lái)生成所述寫(xiě)入操作的仿真性能;以及 所述存儲(chǔ)控制系統(tǒng)被配置為至少部分地基于所述寫(xiě)入操作中的每一個(gè)的期待完成時(shí)間,建立報(bào)告步速。
【文檔編號(hào)】G06F3/06GK105892936SQ201610086650
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年2月15日
【發(fā)明人】D.哈爾
【申請(qǐng)人】Hgst荷蘭公司