欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

中間存儲(chǔ)中的停留所排序數(shù)據(jù)的制作方法

文檔序號(hào):6540335閱讀:244來源:國知局
中間存儲(chǔ)中的停留所排序數(shù)據(jù)的制作方法
【專利摘要】本申請(qǐng)公開了中間存儲(chǔ)中的停留所排序數(shù)據(jù)。一種數(shù)據(jù)存儲(chǔ)系統(tǒng)包括數(shù)據(jù)存儲(chǔ)和隨機(jī)存取存儲(chǔ)器。排序模塊通信地耦合到隨機(jī)存取存儲(chǔ)器并且被配置成對(duì)在所述隨機(jī)存取存儲(chǔ)器接收的輸入寫入數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行排序。存儲(chǔ)控制器通信地耦合到所述隨機(jī)存取存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,并且被配置來寫入排序的數(shù)據(jù)塊作為單獨(dú)排序的數(shù)據(jù)塊集到數(shù)據(jù)存儲(chǔ)的臨時(shí)區(qū)域。一種方法和處理器實(shí)現(xiàn)過程提供:用于排序在數(shù)據(jù)存儲(chǔ)的隨機(jī)訪問存儲(chǔ)器中接收的輸入寫入數(shù)據(jù)的數(shù)據(jù)塊;以及寫入所排序的數(shù)據(jù)塊作為單獨(dú)排序的數(shù)據(jù)塊集合到數(shù)據(jù)存儲(chǔ)的臨時(shí)區(qū)域。
【專利說明】中間存儲(chǔ)中的停留所排序數(shù)據(jù)
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)涉及標(biāo)題為“Dynamic Granule-based Intermediate Storage” 并與本申請(qǐng)同時(shí)提交的美國申請(qǐng)N0._[案卷號(hào).STL17772],通過引用而具體并入公開內(nèi)容。

【背景技術(shù)】
[0003]一些數(shù)據(jù)存儲(chǔ)系統(tǒng)(諸如,含有旋轉(zhuǎn)磁存儲(chǔ)、磁帶和/或旋轉(zhuǎn)光學(xué)存儲(chǔ)的那些)遭受相對(duì)高的等待時(shí)間(例如,在毫秒范圍或更大)以達(dá)到物理存儲(chǔ)器內(nèi)的隨機(jī)定位位置。一旦達(dá)到目標(biāo)位置(例如,通過查找操作),數(shù)據(jù)以適度高的速率從物理存儲(chǔ)器相對(duì)順序傳送(讀或?qū)?。有關(guān)提高數(shù)據(jù)傳輸速率的許多挑戰(zhàn)之一是:在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所請(qǐng)求數(shù)據(jù)的物理位置和邏輯順序的約束內(nèi),管理主機(jī)的傳輸請(qǐng)求。
[0004]發(fā)明概述
[0005]本文描述和請(qǐng)求的實(shí)施例通過在數(shù)據(jù)存儲(chǔ)系統(tǒng)內(nèi)的整個(gè)多層物理存儲(chǔ)有效隔離動(dòng)態(tài)映射數(shù)據(jù)而解決上述問題。該高效率的數(shù)據(jù)隔離可以減少邏輯上連續(xù)數(shù)據(jù)訪問物理存儲(chǔ)介質(zhì)的行為偏差,尤其是在搭接磁記錄區(qū)域中。
[0006]方法和處理器實(shí)現(xiàn)的過程提供:用于排序在數(shù)據(jù)存儲(chǔ)的隨機(jī)訪問存儲(chǔ)器中接收的輸入寫入數(shù)據(jù)的數(shù)據(jù)塊;以及寫入所排序的數(shù)據(jù)塊作為單獨(dú)排序的數(shù)據(jù)塊集合到數(shù)據(jù)存儲(chǔ)的臨時(shí)區(qū)域。一種數(shù)據(jù)存儲(chǔ)系統(tǒng)包括數(shù)據(jù)存儲(chǔ)和隨機(jī)存取存儲(chǔ)器。所述排序模塊通信地耦合到隨機(jī)存取存儲(chǔ)器并且被配置成對(duì)在所述隨機(jī)存取存儲(chǔ)器接收的輸入寫入數(shù)據(jù)的數(shù)據(jù)塊進(jìn)行排序。存儲(chǔ)控制器通信地耦合到所述隨機(jī)存取存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,并且被配置來寫入排序的數(shù)據(jù)塊作為單獨(dú)排序的數(shù)據(jù)塊集到數(shù)據(jù)存儲(chǔ)的臨時(shí)區(qū)域。
[0007]本文中也描述和引用其它實(shí)施例。
[0008]附圖簡述
[0009]圖1示出中間等待存儲(chǔ)的臨時(shí)區(qū)域中停留所排序數(shù)據(jù)的示例數(shù)據(jù)存儲(chǔ)系統(tǒng)。
[0010]圖2示出對(duì)于多排序數(shù)據(jù)的組塊(chunk)具有一個(gè)或多個(gè)停留區(qū)域的示例存儲(chǔ)介質(zhì)。
[0011]圖3示出基于一般增加數(shù)據(jù)組織的改變等級(jí)具有分層存儲(chǔ)的示例數(shù)據(jù)存儲(chǔ)系統(tǒng)。
[0012]圖4示出其中過時(shí)數(shù)據(jù)被識(shí)別并標(biāo)記為失效的示例停留區(qū)域。
[0013]圖5示出在停留區(qū)域中所排序數(shù)據(jù)的組塊的示例產(chǎn)生。
[0014]圖6示出示例排序來自組塊集合的數(shù)據(jù)子集,用于記錄在停留區(qū)域。
[0015]圖7示出示例排序來自組塊集合的數(shù)據(jù)子集,用于停留區(qū)域的外部。
[0016]圖8示出示例實(shí)例操作來自停留區(qū)域的組塊數(shù)據(jù)塊。
[0017]圖9示出示例操作來自停留區(qū)域的重新組塊數(shù)據(jù)塊。
[0018]圖10示出示例操作來自停留區(qū)域的重新排序數(shù)據(jù)塊,到其他中間存儲(chǔ)。
[0019]發(fā)明詳述
[0020]圖1示出示例數(shù)據(jù)存儲(chǔ)系統(tǒng)100,用于在中間等待存儲(chǔ)的停留區(qū)域102中停留所排序的數(shù)據(jù)。在圖示的例子中,數(shù)據(jù)存儲(chǔ)系統(tǒng)100表示具有一個(gè)或多個(gè)磁存儲(chǔ)盤104的硬盤驅(qū)動(dòng)器,但該存儲(chǔ)介質(zhì)的其他實(shí)施例可以是光盤讀取器(例如,CD讀/寫器或DVD讀取器/寫入器)、磁帶驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器(SSD)等的形式。數(shù)據(jù)存儲(chǔ)系統(tǒng)100與主機(jī)設(shè)備106進(jìn)行通信,它發(fā)送寫數(shù)據(jù)并從數(shù)據(jù)存儲(chǔ)系統(tǒng)100接收讀出數(shù)據(jù)。
[0021]例如,主機(jī)設(shè)備106可以寫數(shù)據(jù)文件到數(shù)據(jù)存儲(chǔ)系統(tǒng)100,其在磁存儲(chǔ)盤104上記錄數(shù)據(jù)文件,并可以在以后從數(shù)據(jù)存儲(chǔ)系統(tǒng)100中讀出數(shù)據(jù)文件。在主機(jī)層,用戶數(shù)據(jù)通常是結(jié)構(gòu)化的可變長度的文件,它可以由一個(gè)或多個(gè)固定長度的數(shù)據(jù)塊構(gòu)成。數(shù)據(jù)塊是主機(jī)設(shè)備106使用邏輯塊地址(LBA)可尋址的。數(shù)據(jù)存儲(chǔ)系統(tǒng)100包括具有數(shù)據(jù)寫電路108的寫入通道,所述數(shù)據(jù)寫入電路108根據(jù)數(shù)據(jù)存儲(chǔ)系統(tǒng)100所使用的編碼方案編碼數(shù)據(jù)塊。一個(gè)或多個(gè)數(shù)據(jù)塊可以與冗余信息相結(jié)合,以形成自包含碼字用于錯(cuò)誤檢測(cè)和/或校正。
[0022]數(shù)據(jù)寫入電路108通過寫入控制器110寫入數(shù)據(jù)塊,它確定由寫入控制器110向在數(shù)據(jù)存儲(chǔ)系統(tǒng)100內(nèi)的一層或多層數(shù)據(jù)存儲(chǔ)寫入的數(shù)據(jù)塊的物理位置和順序。當(dāng)數(shù)據(jù)塊寫入到存儲(chǔ)盤104時(shí),該數(shù)據(jù)塊被寫入到存儲(chǔ)盤104上的物理塊地址(PBA)。LBA和PBA的映射關(guān)系可以隨時(shí)間改變并被稱為“動(dòng)態(tài)映射”。即使映射隨著時(shí)間改變,寫入控制器110管理LBA和PBA之間的動(dòng)態(tài)映射。存儲(chǔ)器116可以存儲(chǔ)由寫入控制器110處理的固件指令,以實(shí)現(xiàn)動(dòng)態(tài)映射、排序、重新分配、輕載以及由寫入控制器110執(zhí)行的其它功能。
[0023]在數(shù)據(jù)存儲(chǔ)系統(tǒng)100中,具有連續(xù)邏輯地址的數(shù)據(jù)塊組可以被記錄在存儲(chǔ)盤104上大致連續(xù)的物理位置,以實(shí)現(xiàn)特定數(shù)據(jù)集的查找操作之后連續(xù)數(shù)據(jù)訪問的較低延遲。此夕卜,動(dòng)態(tài)映射可以被智能擴(kuò)展以支持?jǐn)?shù)據(jù)存儲(chǔ)系統(tǒng)100中的多層物理存儲(chǔ),其中不同層的物理存儲(chǔ)可以提供不同的平均存取延遲。
[0024]正如以上所提到的,寫入控制器110可將數(shù)據(jù)塊寫入數(shù)據(jù)存儲(chǔ)系統(tǒng)100內(nèi)的一層或多層數(shù)據(jù)存儲(chǔ)。例如,存儲(chǔ)盤104的數(shù)據(jù)存儲(chǔ)區(qū)112被稱為“目標(biāo)存儲(chǔ)”,表示通常用于長期存儲(chǔ)的物理存儲(chǔ)區(qū)域。雖然目標(biāo)存儲(chǔ)中的數(shù)據(jù)是用于長期儲(chǔ)存,這些數(shù)據(jù)仍然可以隨著時(shí)間從目標(biāo)存儲(chǔ)位置移動(dòng)到其他目標(biāo)存儲(chǔ)位置。此外,存儲(chǔ)盤104的數(shù)據(jù)存儲(chǔ)區(qū)114,被稱為“顆粒存儲(chǔ)”,表示其中存儲(chǔ)在每個(gè)動(dòng)態(tài)可調(diào)尺寸顆粒中的數(shù)據(jù)被限制到邏輯塊地址(LBA)的特定子集的中間物理存儲(chǔ)。盡管其它尺寸也可以使用,示例顆粒大小可以是大約1MB。事實(shí)上,顆??梢栽谙嗤谋P片表面或甚至在相同SMR條帶上具有不同尺寸。
[0025]此外,存儲(chǔ)盤104的數(shù)據(jù)存儲(chǔ)區(qū)102,被稱為“分段區(qū)域”,表示其中邏輯塊組可以遞增地寫入和重寫在增加的連續(xù)LBA順序的物理存儲(chǔ)區(qū)域。例如,數(shù)據(jù)塊可以由數(shù)據(jù)存儲(chǔ)系統(tǒng)100以任意或稀疏LBA順序(例如,從邏輯空間的不同區(qū)域接收數(shù)據(jù)塊)從主機(jī)設(shè)備106接收。這些數(shù)據(jù)塊可以物理上連續(xù)方式寫入到停留區(qū)。
[0026]隨機(jī)訪問存儲(chǔ)器118還表示了數(shù)據(jù)存儲(chǔ)系統(tǒng)100的存儲(chǔ)區(qū)。它的隨機(jī)訪問特性和低訪問延遲提供了適于按照一定約束排序數(shù)據(jù)塊的存儲(chǔ)區(qū)域(例如,LBA順序、PBA排序、最經(jīng)常訪問的順序、優(yōu)先級(jí)數(shù)據(jù)的順序等)。在一個(gè)實(shí)施例中,數(shù)據(jù)被接收到所述隨機(jī)存取存儲(chǔ)器118,根據(jù)LBA順序進(jìn)行排序,并寫入到稱為“組塊(chunk)”的數(shù)據(jù)組中的停留區(qū),其關(guān)隨機(jī)存取存儲(chǔ)器的可用量118調(diào)整尺寸。盡管其它尺寸也可以使用,示例組塊尺寸可以是6価。
[0027]數(shù)據(jù)讀出和恢復(fù)電路120可以從磁存儲(chǔ)盤104 (或從隨機(jī)存取存儲(chǔ)器118)讀出數(shù)據(jù)(和適當(dāng)?shù)募m錯(cuò)編碼),并使用錯(cuò)誤校正編碼以檢測(cè)和/或糾正錯(cuò)誤(例如,由磁存儲(chǔ)盤104上劃痕損傷引起的數(shù)據(jù)錯(cuò)誤)。數(shù)據(jù)讀取和恢復(fù)電路120然后把讀出的數(shù)據(jù)(其可是校正的讀取數(shù)據(jù))發(fā)送到主機(jī)設(shè)備106。
[0028]可以各種不同的方式在隨機(jī)存取存儲(chǔ)器118接收的數(shù)據(jù)塊的排序。在一個(gè)實(shí)施例中,排序可以由處理器或其它控制電路來實(shí)現(xiàn),而數(shù)據(jù)塊駐留在隨機(jī)存取存儲(chǔ)器118中。在替代實(shí)施例中,排序可在數(shù)據(jù)塊傳輸?shù)胶?或從隨機(jī)存取存儲(chǔ)器118的過程中實(shí)現(xiàn)或,諸如通過使用分散聚集DMA (直接存儲(chǔ)器存取)傳輸方案??梢允褂闷渌判蚣夹g(shù)和配置。
[0029]在一個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng),諸如圖1的數(shù)據(jù)存儲(chǔ)系統(tǒng)100,停留區(qū)域可以是非搭迭磁記錄區(qū)。磁介質(zhì)存儲(chǔ)驅(qū)動(dòng)器在每個(gè)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)磁介質(zhì)的極化單元格中存儲(chǔ)數(shù)據(jù)。磁介質(zhì)存儲(chǔ)驅(qū)動(dòng)器的示例是磁光盤驅(qū)動(dòng)器,其中包括以同心配置的極化單元格,大致為圓形數(shù)據(jù)軌道。在操作中,一個(gè)或多個(gè)磁盤在存儲(chǔ)驅(qū)動(dòng)器內(nèi)以恒定高速旋轉(zhuǎn),而信息使用致動(dòng)器組件被寫入和從磁盤的軌道讀出。致動(dòng)器組件在查詢操作期間置于鄰近磁盤的軸承軸旋轉(zhuǎn)。
[0030]致動(dòng)器組件包括延伸朝向磁盤的一個(gè)或多個(gè)致動(dòng)器臂。具有讀出極和寫入極的頭部安裝在每個(gè)致動(dòng)器臂的前端。寫入磁極產(chǎn)生磁場(chǎng),所述磁場(chǎng)通過改變旋轉(zhuǎn)磁頭下方旋轉(zhuǎn)的磁盤上的單元中的磁性極化而將數(shù)據(jù)寫入到磁盤。讀出極通過檢測(cè)磁盤上單元格的磁性極化而讀取來自磁盤的數(shù)據(jù)。
[0031]在非搭迭磁性介質(zhì)中,相對(duì)于寫入磁極的尺寸,每個(gè)磁介質(zhì)的單元格具有足夠大的尺寸,以允許寫入磁極將數(shù)據(jù)寫入到該單元格而不重寫任何周圍單元格的數(shù)據(jù)。結(jié)果,數(shù)據(jù)可以隨機(jī)地寫入到磁介質(zhì)上任何地方的可用單元格。然而,隨著對(duì)磁性介質(zhì)的數(shù)據(jù)存儲(chǔ)密度的增加需求,單元格大小減小。匹配地減少寫入磁極的大小是困難的,因?yàn)橛奢^大寫入磁極提供的有力寫入場(chǎng)梯度常常需要偏移磁化介質(zhì)上的單元格的極性。結(jié)果,使用相對(duì)較大的寫入磁極將數(shù)據(jù)寫入磁化介質(zhì)上的小單元格可影響相鄰單元格的偏振(即,重寫相鄰單元格)。用于適配所述磁介質(zhì)以利用更小單元格并同時(shí)防止在寫操作期間重寫相鄰數(shù)據(jù)的一種技術(shù)是搭迭磁記錄(SMR)。
[0032]SMR采用寫入磁極產(chǎn)生的大量強(qiáng)烈寫入場(chǎng)。搭迭磁記錄的一項(xiàng)限制在于:當(dāng)數(shù)據(jù)被寫入到磁性介質(zhì)時(shí),它被寫入到連續(xù)增加或減小半徑的軌道。強(qiáng)寫入場(chǎng)影響兩個(gè)或多個(gè)相鄰的軌道,這些軌道包括被寫入到一個(gè)或多個(gè)先前寫入軌道的軌道。結(jié)果,為了改變搭迭數(shù)據(jù)中的任何數(shù)據(jù)單元格,所有搭迭數(shù)據(jù)以選定順序?qū)懨畋恢匦聦懭搿?br> [0033]為了實(shí)現(xiàn)SMR增加的單元格密度,并同時(shí)補(bǔ)償在該系統(tǒng)中缺乏隨機(jī)寫入的功能,可以在搭迭數(shù)據(jù)內(nèi)創(chuàng)建一個(gè)或多個(gè)隔離區(qū)域。隔離區(qū)域(也被稱為保護(hù)軌道)是不可用于記錄的搭迭數(shù)據(jù)內(nèi)的一個(gè)或多個(gè)相鄰數(shù)據(jù)磁道的分組。在操作中,隔離區(qū)域限定搭迭數(shù)據(jù)的單獨(dú)數(shù)據(jù)條帶(即,由保護(hù)軌道限制的邏輯扇區(qū)的組合)。常規(guī)地,每個(gè)保護(hù)軌道足夠?qū)?,以防止在整個(gè)保護(hù)軌道的任何覆蓋。因此,保護(hù)軌道創(chuàng)造搭迭的條帶,該條帶包括與其他條帶隔離的一個(gè)或多個(gè)相鄰軌道。因此,當(dāng)條帶內(nèi)的一個(gè)或多個(gè)單元被改變時(shí),重寫搭迭數(shù)據(jù)的單個(gè)條帶(而非所有磁盤上的搭迭數(shù)據(jù))。
[0034]然而,數(shù)據(jù)條帶中重新寫入數(shù)據(jù)的一個(gè)或多個(gè)單元格仍通常包含多個(gè)步驟,包括:讀出全部數(shù)據(jù)條帶,記錄數(shù)據(jù)條帶的數(shù)據(jù)到磁盤上的介質(zhì)暫存存儲(chǔ)器(例如,臨時(shí)緩存),從介質(zhì)暫存區(qū)中讀取數(shù)據(jù),并使用一個(gè)或多個(gè)改變的單元格重新寫入數(shù)據(jù)到原始數(shù)據(jù)條帶。因此,比未搭迭的數(shù)據(jù)寫入操作,搭迭數(shù)據(jù)寫入操作通常更耗時(shí)且較少的功率效率。
[0035]冗余信息可以與寫入數(shù)據(jù)交織以創(chuàng)建多邏輯塊大小的碼字。如果在接收到足夠的附加數(shù)據(jù)已到達(dá)預(yù)測(cè)位置之前已多次追加停留區(qū)域,每次數(shù)據(jù)被寫入到停留區(qū)域,該冗余信息可被包括,或冗余信息可以可預(yù)見的時(shí)間間隔被記錄,以使得可以保持增量冗余。此夕卜,寫入數(shù)據(jù)到圖1的停留區(qū)域(或其他停留區(qū)域)可以分步進(jìn)行以在消耗暫存區(qū)空間進(jìn)程之前釋放停留區(qū)域大小。以這種方式,停留區(qū)域空間更可能用于新的寫入數(shù)據(jù)塊。
[0036]圖2示出對(duì)于多排序數(shù)據(jù)的組塊(chunk)具有一個(gè)或多個(gè)停留區(qū)域(諸如,停留區(qū)域202)的示例存儲(chǔ)介質(zhì)。在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)盤204的表面包括許多同心軌道206。軌道206分布在存儲(chǔ)器204的表面,并且可以采取任何數(shù)目的不同形式,包括(但不限于)常規(guī)的預(yù)搭迭連續(xù)記錄、離散軌道記錄、以及搭迭磁記錄。在一些實(shí)施例中,單一的存儲(chǔ)盤表面可以例如支持常規(guī)預(yù)搭迭的連續(xù)記錄和搭迭磁記錄。進(jìn)一步,單一的磁盤表面的相同區(qū)域可在不同時(shí)間用于常規(guī)預(yù)搭迭的連續(xù)記錄和搭迭磁性記錄。在其它實(shí)施例中,不同的存儲(chǔ)盤表面可以專用于不同的記錄類型(例如,一個(gè)存儲(chǔ)盤的表面可用于一種類型的記錄,以及同一存儲(chǔ)盤的表面或另一個(gè)存儲(chǔ)盤可以用于不同類型的記錄)。
[0037]不同類型的記錄可以促進(jìn)不同層次的訪問延遲。通過沿著由存儲(chǔ)在徑向伺服突發(fā)扇區(qū)(諸如,伺突發(fā)扇區(qū)208)的伺服信息指定的磁道寫入磁頭寫入數(shù)據(jù)形成傳統(tǒng)的連續(xù)記錄模式。當(dāng)把數(shù)據(jù)寫入到存儲(chǔ)介質(zhì)中時(shí),寫入磁頭重新寫入軌道部分,潛在地導(dǎo)致各個(gè)軌道的邊界隨時(shí)間的細(xì)微變化。與此相反,離散軌道記錄模式包括使用非磁性軌道間隔離的同心離散軌道,其中,數(shù)據(jù)連續(xù)地沿著每個(gè)隔離的軌道記錄。因此,寫入磁頭在寫入操作過程中在離散目標(biāo)軌道一致集合中寫入數(shù)據(jù)。讀取和寫入訪問到這些類型的記錄區(qū)之間可能有所不同,另外,沿著軌道隔離和排序數(shù)據(jù)塊也可影響存取等待時(shí)間。
[0038]搭迭磁記錄采用寫入磁極,該寫入磁極記錄比讀取傳感器所需要的更寬軌道。然而,在搭迭磁記錄中,寫入操作通常導(dǎo)致在給定方向上相鄰磁道的改寫。因此,寫入磁道被寫入以在給定方向互相重疊,而使窄軌道的數(shù)據(jù)可以由磁頭正確讀出。因此,重疊軌道被寫在軌道的組合或條帶中,其與其他軌道分離或以其他方式分開。
[0039]當(dāng)使用徑向伺服突發(fā)扇區(qū)208配置,每個(gè)軌道206被分成伺服突發(fā)扇區(qū)208之間的切片(稱為數(shù)據(jù)楔塊或扇區(qū)210)。伺服突發(fā)扇區(qū)包括數(shù)據(jù)用于保持讀/寫頭在目標(biāo)軌道上的準(zhǔn)確定位并置于圍繞所述存儲(chǔ)磁盤204的預(yù)定間隔位置。
[0040]當(dāng)存儲(chǔ)盤204轉(zhuǎn)動(dòng)時(shí),讀/寫磁頭在伺服突發(fā)扇區(qū)208中讀出包含地址的伺服信息,并發(fā)送伺服信息反饋給伺服控制系統(tǒng)。伺服控制系統(tǒng)檢查從伺服突發(fā)扇區(qū)208讀出的伺服信息地址是否對(duì)應(yīng)于目標(biāo)軌道位置。如果該地址不對(duì)應(yīng)于目標(biāo)軌道位置,伺服控制系統(tǒng)調(diào)節(jié)讀/寫頭到正確的軌道位置,作為搜索操作的一部分。
[0041]如上所示,各軌道磁道206包括具有存儲(chǔ)用戶信息的離散數(shù)據(jù)扇區(qū)210。在特定磁道上包含的數(shù)據(jù)扇區(qū)數(shù)量部分依賴于軌道的長度(例如,圓周)。除了包含用戶信息,每個(gè)數(shù)據(jù)扇區(qū)可還包括其他數(shù)據(jù),以幫助識(shí)別和處理用戶信息(例如,錯(cuò)誤檢測(cè)和校正編碼)。
[0042]根據(jù)一個(gè)實(shí)施例,存儲(chǔ)盤204的一個(gè)或多個(gè)部分被保留用作停留區(qū)域202,中間存儲(chǔ)器的類型。停留區(qū)域202被顯示在圖2,作為位于接近存儲(chǔ)盤204的外徑212的軌道206的圓周分組。停留區(qū)域202被顯示在圖2作為示例,并且應(yīng)當(dāng)理解的是:停留區(qū)域202可以被寫在存儲(chǔ)盤204的任何其它區(qū)域(徑向或周向)??拷鈴?12的軌道的特征是:和鄰近存儲(chǔ)盤204的內(nèi)徑214的軌道相比,可以更高的順序數(shù)據(jù)率讀取它們。
[0043]除了所述一個(gè)或多個(gè)停留區(qū)域202,存儲(chǔ)盤204還包括一個(gè)或多個(gè)顆粒存儲(chǔ)區(qū)216,中間存儲(chǔ)器的類型,其中,每個(gè)動(dòng)態(tài)可調(diào)尺寸的顆粒被限制在邏輯塊地址的特定子集(LBA)0存儲(chǔ)盤204還包括目標(biāo)存儲(chǔ)區(qū)域218,其中比存儲(chǔ)盤204的其它區(qū)域,數(shù)據(jù)塊通常記錄用于長期儲(chǔ)存。在一個(gè)實(shí)施例中,目標(biāo)存儲(chǔ)區(qū)域218的特征在于至少某些局限的地址范圍的非動(dòng)態(tài)的LBA到PBA的映射,盡管其他實(shí)施例可以包括使用動(dòng)態(tài)映射的目的地存儲(chǔ)區(qū)域。應(yīng)當(dāng)理解的是,各種中間和目標(biāo)存儲(chǔ)區(qū)的圖示放置僅僅是示例,并且這些區(qū)域可以位于存儲(chǔ)盤204上的任何位置。此外,停留區(qū)域202、顆粒存儲(chǔ)區(qū)216和目的地存儲(chǔ)區(qū)域218中的一個(gè)或多個(gè)可以搭迭磁記錄區(qū)域,非搭迭磁記錄區(qū)域或其它記錄格式的區(qū)域。
[0044]首先,作為一般性意見,應(yīng)理解的是:數(shù)據(jù)寫入可以采取多種途徑到各種存儲(chǔ)區(qū)域(例如,到隨機(jī)存取存儲(chǔ)器,到停留區(qū)域,到顆粒存儲(chǔ)區(qū)域,到目的地存儲(chǔ)區(qū)域,等等)。在一個(gè)實(shí)施例中,主機(jī)設(shè)備將數(shù)據(jù)塊寫入到隨機(jī)存取存儲(chǔ)器,其中所述數(shù)據(jù)塊可以或可以不進(jìn)行初始排序。如果隨機(jī)存取存儲(chǔ)器是非易失性的,該數(shù)據(jù)塊可累積在隨機(jī)存取存儲(chǔ)器以服務(wù)主機(jī)裝置的讀取請(qǐng)求,而不會(huì)被寫入到其他非易失性存儲(chǔ)介質(zhì)??商鎿Q地,數(shù)據(jù)塊可以從隨機(jī)存取存儲(chǔ)器寫入到停留區(qū)域(在個(gè)別排序集合或作為未排序的數(shù)據(jù)塊),或其他存儲(chǔ)器。即使當(dāng)數(shù)據(jù)塊被寫入到停留區(qū)域或其它存儲(chǔ)中,相同的數(shù)據(jù)塊也可以被保留在隨機(jī)存取存儲(chǔ)器,這樣可避免未來可能的介質(zhì)讀取操作。此外,因?yàn)楣β蕮p失的可能性,通常希望保持寫入數(shù)據(jù)的至少副本在非易失性存儲(chǔ)器(例如,NVRAM或另一非易失性存儲(chǔ)介質(zhì))中。
[0045]圖3示出基于一般增加數(shù)據(jù)組織的改變等級(jí)具有分層存儲(chǔ)的示例數(shù)據(jù)存儲(chǔ)系統(tǒng)300。存儲(chǔ)控制器302管理讀和寫入數(shù)據(jù)塊到各存儲(chǔ)區(qū),到隨機(jī)存取存儲(chǔ)器304,到中間存儲(chǔ)310 (例如,停留區(qū)域306或顆粒存儲(chǔ)區(qū)域308),或者目標(biāo)存儲(chǔ)(例如,數(shù)據(jù)存儲(chǔ)310的目標(biāo)存儲(chǔ)區(qū)312)。應(yīng)當(dāng)理解的是:單個(gè)存儲(chǔ)盤上可存在多個(gè)停留區(qū)域、多個(gè)顆粒存儲(chǔ)區(qū)域和多個(gè)目的地的存儲(chǔ)區(qū)域。此外,存儲(chǔ)控制器302可隨時(shí)間動(dòng)態(tài)地調(diào)整給定存儲(chǔ)區(qū)域的作用。例如,停留區(qū)域可以隨操作的不同時(shí)間用作目標(biāo)存儲(chǔ)區(qū)。
[0046]在一個(gè)實(shí)施例中,存儲(chǔ)控制器302接收新的寫入數(shù)據(jù)的數(shù)據(jù)塊,響應(yīng)于從主機(jī)設(shè)備的一個(gè)或多個(gè)寫入命令。所接收的數(shù)據(jù)塊可以任意LBA順序被接收-一些其他寫命令可以更加LBA有序,而其他的寫入命令可以更少的LBA排序,以及寫入命令的一些組合可針對(duì)邏輯地址空間的基本上不同的區(qū)域。然而,在本實(shí)施例中,存儲(chǔ)控制器302接收數(shù)據(jù)塊到隨機(jī)存取存儲(chǔ)器304中,對(duì)數(shù)據(jù)塊進(jìn)行排序,以及將排序的數(shù)據(jù)塊寫入到停留區(qū)域306中的停留區(qū)域306的相對(duì)連續(xù)物理空間。術(shù)語“相對(duì)連續(xù)”指的是可關(guān)聯(lián)于多個(gè)讀/寫命令的讀/寫操作,從/到物理存儲(chǔ)區(qū)域,其中單一的查找操作(或幾個(gè)查找操作)用來完成讀/寫操作,以及數(shù)據(jù)塊被讀出/寫入到一個(gè)或多個(gè)軌道的順序PBA。應(yīng)當(dāng)理解的是:跳過數(shù)據(jù)存儲(chǔ)310中損壞、失效或者“壞”PBA或讀取/寫入數(shù)據(jù)存儲(chǔ)310的附近多個(gè)軌道的數(shù)據(jù)并不排除讀/寫操作被認(rèn)為是“相對(duì)連續(xù)”。
[0047]在任何時(shí)間,但一般在低存儲(chǔ)活動(dòng)期間,存儲(chǔ)控制器302可以使用相對(duì)連續(xù)的讀操作讀出存儲(chǔ)在停留區(qū)域306的數(shù)據(jù)。讀出的數(shù)據(jù)被傳輸?shù)诫S機(jī)存取存儲(chǔ)器304,以預(yù)定順序排序在隨機(jī)存取存儲(chǔ)器304中(例如,以LBA順序,以最頻繁訪問的順序,等等),然后與入到停留區(qū)域306或到另一個(gè)存儲(chǔ)區(qū)或主機(jī)設(shè)備。在一個(gè)實(shí)施例中,讀出、排序并寫入到停留區(qū)306的數(shù)據(jù)量被稱為“組塊”,并且與隨機(jī)存取存儲(chǔ)器304的大小相同,但也可以使用其它尺寸(例如,隨機(jī)存取存儲(chǔ)器304的不同部分可用于不同的目的或?yàn)椴煌摹敖M塊”)。在另一實(shí)施例中,響應(yīng)于讀出命令,讀出與排序的數(shù)據(jù)可替換地被轉(zhuǎn)移到主機(jī)設(shè)備或轉(zhuǎn)移到另一個(gè)存儲(chǔ)區(qū)(例如,閃存、顆粒存儲(chǔ)區(qū)域308或目標(biāo)存儲(chǔ)區(qū)312)。
[0048]當(dāng)存儲(chǔ)控制器302寫入所排序的數(shù)據(jù)到停留區(qū)306中時(shí),存儲(chǔ)控制器302常規(guī)地將排序數(shù)據(jù)寫入到停留區(qū)域306的新的位置,而不是使用該數(shù)據(jù)的新排序的副本覆蓋先前讀取數(shù)據(jù)的物理存儲(chǔ)。一旦新排序的數(shù)據(jù)被寫入到停留區(qū)域306 (或其他存儲(chǔ)區(qū)域),包含先前讀出數(shù)據(jù)的物理存儲(chǔ)可被標(biāo)記為陳舊的,并收回用于新的寫入數(shù)據(jù)?;厥詹僮骺梢员环Q為“碎片收集”,并且可以允許同一數(shù)據(jù)的多個(gè)有序和無序的版本駐留在停留區(qū)域306或數(shù)據(jù)存儲(chǔ)310的其他存儲(chǔ)區(qū)域。在替代實(shí)施例中,可使用數(shù)據(jù)的新排序副本重寫之前讀出的PBA。還應(yīng)當(dāng)理解的是:可重復(fù)多次讀取、排序和寫入記錄在停留區(qū)域306 (或其它存儲(chǔ)區(qū)域)的數(shù)據(jù)(例如,以增加數(shù)據(jù)的特定組塊的邏輯和物理順序之間的相關(guān)性)。
[0049]還應(yīng)當(dāng)理解:存儲(chǔ)控制器302的寫入操作處理可以有利于創(chuàng)建停留區(qū)域內(nèi)更大空間以接收新的寫入數(shù)據(jù)的順序來執(zhí)行。例如,在停留區(qū)域中消耗PBA的主機(jī)命令或數(shù)據(jù)存儲(chǔ)系統(tǒng)操作之前,可執(zhí)行在停留區(qū)域中產(chǎn)生更陳舊的PBA或在停留區(qū)域中產(chǎn)生相對(duì)連續(xù)陳舊的PBA的更多區(qū)域的主機(jī)命令或數(shù)據(jù)存儲(chǔ)系統(tǒng)操作。例如,刪除數(shù)據(jù)塊的主機(jī)命令可以被優(yōu)先提前于新數(shù)據(jù)寫入命令。同樣,從停留區(qū)域向顆粒存儲(chǔ)區(qū)域或目標(biāo)存儲(chǔ)區(qū)傳輸數(shù)據(jù)塊的數(shù)據(jù)存儲(chǔ)系統(tǒng)操作可優(yōu)先提前于新數(shù)據(jù)寫入命令。在這種方式中,數(shù)據(jù)存儲(chǔ)系統(tǒng)可以防止或減少停留區(qū)域太滿而不能接收新的寫入數(shù)據(jù)的可能性。
[0050]圖4示出其中陳舊數(shù)據(jù)被識(shí)別并標(biāo)記為失效的示例停留區(qū)400。在一個(gè)實(shí)施例中,過時(shí)的數(shù)據(jù)被“標(biāo)記”為失效,因?yàn)檗D(zhuǎn)化為相應(yīng)PBA的LBA不再存儲(chǔ)陳舊數(shù)據(jù)。圖4描繪了陳舊數(shù)據(jù)標(biāo)記模塊406,用于說明性目的。然而,陳舊數(shù)據(jù)標(biāo)記模塊406是典型的動(dòng)態(tài)映射子系統(tǒng)的功能組件,其將LBA重新映射到包含新數(shù)據(jù)的PBA并刪除相同的LBA到陳舊PBA的映射。陳舊數(shù)據(jù)標(biāo)記模塊406的另一方面可包括計(jì)數(shù)器,它記錄在物理細(xì)分上的陳舊位置數(shù)目。
[0051]該停留區(qū)400從存儲(chǔ)控制器接收數(shù)據(jù)塊,所述存儲(chǔ)控制器以相對(duì)連續(xù)的方式記錄數(shù)據(jù)塊。在圖4中,數(shù)據(jù)顯示為在十個(gè)連續(xù)的寫操作402 (從寫操作I到寫操作10)期間寫入到停留區(qū)400。寫入操作402指定單獨(dú)的介質(zhì)訪問,產(chǎn)生各個(gè)數(shù)據(jù)塊的記錄404 (在圖4中使用對(duì)應(yīng)LBA標(biāo)記)。例如,寫操作I在相對(duì)連續(xù)的(例如,物理上連續(xù)的)的方式寫入與LBA73、21和94相關(guān)的數(shù)據(jù)塊到停留區(qū)400,以及寫操作2以相對(duì)連續(xù)的(例如,物理順序)方式寫入與LBA24和92相關(guān)聯(lián)的數(shù)據(jù)塊到停留區(qū)400。響應(yīng)每個(gè)寫操作,存儲(chǔ)控制器記錄每個(gè)數(shù)據(jù)塊的LBA到PBA映射。在這種方式中,存儲(chǔ)控制器可以根據(jù)其對(duì)應(yīng)的LBA檢索主機(jī)設(shè)備從其PBA請(qǐng)求的數(shù)據(jù)塊。關(guān)聯(lián)的動(dòng)態(tài)映射信息可以存儲(chǔ)在存儲(chǔ)控制器可訪問的動(dòng)態(tài)映射表(未不出)中。
[0052]如關(guān)于寫操作4和5所示,兩次寫入和LBA46相關(guān)聯(lián)的數(shù)據(jù)塊,一次是在寫操作4,以及在寫操作5。因此,因?yàn)檩^新的最新數(shù)據(jù)塊已由寫操作5寫入,在寫入操作4中該數(shù)據(jù)塊存儲(chǔ)寫入的數(shù)據(jù)現(xiàn)在是陳舊的。此外,存儲(chǔ)控制器更新LBA46和寫操作5相關(guān)聯(lián)的新PBA之間的動(dòng)態(tài)映射。
[0053]陳舊數(shù)據(jù)標(biāo)記模塊406檢測(cè)LBA46的新的寫入,因此標(biāo)志來自寫操作的數(shù)據(jù)塊4為失效(例如,LBA46不再映射到存儲(chǔ)陳舊數(shù)據(jù)塊的PBA)。寫操作7和8還示出作為寫入相同的LBA17。因此,陳舊數(shù)據(jù)標(biāo)記模塊406標(biāo)志著由寫操作7寫入的LBA17的數(shù)據(jù)塊為陳舊并更新LBA17和寫操作8相關(guān)的新PBA之間的動(dòng)態(tài)映射。
[0054]因?yàn)樗龃鎯?chǔ)控制器從停留區(qū)域400讀取相對(duì)連續(xù)的數(shù)據(jù),陳舊數(shù)據(jù)塊將被忽略或以其他方式管理,以排除其轉(zhuǎn)移到隨機(jī)存取存儲(chǔ)器,用于排序和隨后重新寫入到主機(jī)設(shè)備或存儲(chǔ)介質(zhì)。當(dāng)物理數(shù)據(jù)塊被標(biāo)記為失效時(shí),物理數(shù)據(jù)塊可以被回收和再利用用于新的數(shù)據(jù)塊,其中包括新排序塊。
[0055]應(yīng)當(dāng)理解的是,停留區(qū)域400中所示的所有寫入數(shù)據(jù)或?qū)懭霐?shù)據(jù)的一個(gè)或多個(gè)部分也可以保留在隨機(jī)存取存儲(chǔ)器(圖4中未示出)中。因此,從主機(jī)設(shè)備最近寫入的數(shù)據(jù)副本可以被保持在隨機(jī)存取存儲(chǔ)器以及停留區(qū)域中。在這種方式中,存儲(chǔ)控制器不必要從停留區(qū)讀取以獲得在隨機(jī)存取存儲(chǔ)器中的最近寫入數(shù)據(jù)。
[0056]圖5示出在停留區(qū)域502中示例產(chǎn)生排序的數(shù)據(jù)塊500。在一個(gè)實(shí)施例中,當(dāng)主機(jī)設(shè)備寫入數(shù)據(jù)塊到存儲(chǔ)控制器時(shí),存儲(chǔ)控制器直接將數(shù)據(jù)塊寫入到隨機(jī)存取存儲(chǔ)器504,如503所示,在那里它可以被排序并復(fù)制到停留區(qū)域502,同時(shí)仍然保持排序的副本在隨機(jī)存取存儲(chǔ)器中。在可替代實(shí)施例中,如505所示,存儲(chǔ)控制器可以將數(shù)據(jù)塊的未排序的序列501從停留區(qū)502讀取到隨機(jī)存取存儲(chǔ)器504,如在506示出的數(shù)據(jù)塊。
[0057]排序模塊508根據(jù)LBA順序排序各種數(shù)據(jù),如在510示出的數(shù)據(jù)塊,盡管應(yīng)當(dāng)理解的是:排序模塊508可以根據(jù)其它排序偏好對(duì)數(shù)據(jù)塊進(jìn)行排序,其包括最頻繁訪問、最近存取等。各種排序方法可用于排序隨機(jī)存取存儲(chǔ)器504內(nèi)的數(shù)據(jù)塊序。已排序的數(shù)據(jù)(以下簡稱“組塊”)然后以相對(duì)連續(xù)的方式被寫入停留區(qū)域502內(nèi)的另一個(gè)位置,到主機(jī)設(shè)備,或者到存儲(chǔ)介質(zhì)的其他中間或目的地存儲(chǔ)區(qū)域。如前面所討論,雖然圖5示出組塊500寫在同一停留區(qū)域502中的分離位置,但在替代實(shí)施例中,排序塊可以被重新寫到先前讀出數(shù)據(jù)上。
[0058]響應(yīng)新的組塊500寫入到停留區(qū)域502,存儲(chǔ)控制器在更新動(dòng)態(tài)映射信息來反映停留區(qū)域502中LBA (21、24、73和94)和他們的新的PBA之間的新關(guān)系。此外,陳舊數(shù)據(jù)標(biāo)記模塊標(biāo)志對(duì)相同LBA (即,PBA501)存儲(chǔ)先前數(shù)據(jù)塊的之前PBA為陳舊。以這種方式,那些PBA可被回收重新用于新的寫入數(shù)據(jù)。通常,每當(dāng)數(shù)據(jù)塊被排序和“分塊”時(shí),這些數(shù)據(jù)塊的平均存取延遲減少,因?yàn)樵贚BA排序的情況下,后續(xù)的讀操作正在存取具有更好的LBA到PBA的映射的數(shù)據(jù)。從一個(gè)角度看,每次介質(zhì)訪問傳輸多次排序數(shù)據(jù)塊到/從臨時(shí)區(qū)域攤銷了較大數(shù)量數(shù)據(jù)塊之間相對(duì)連續(xù)的物理介質(zhì)訪問之間的等待時(shí)間。
[0059]圖6示出從組塊集合602示例排序數(shù)據(jù)子集600,用于記錄在停留區(qū)域604中。存儲(chǔ)控制器從停留區(qū)604讀取數(shù)據(jù)塊的多個(gè)有序集(例如,通過多次讀取訪問的多個(gè)組塊)到隨機(jī)存取存儲(chǔ)器606 (例如,整個(gè)存儲(chǔ)器606或其部分)。注:根據(jù)介質(zhì)訪問,可讀取數(shù)據(jù)的多個(gè)區(qū)段,以分?jǐn)傇诙鄠€(gè)范圍的介質(zhì)訪問之間的延遲。
[0060]排序模塊608根據(jù)預(yù)定順序(例如,圖6中的LBA順序)排序在隨機(jī)存取存儲(chǔ)器606接收的數(shù)據(jù)塊。不同的排序方法(諸如,從每個(gè)排序組塊的頭部讀取的N進(jìn)制合并排序)可以用于排序在隨機(jī)存取存儲(chǔ)器606內(nèi)接收的數(shù)據(jù)塊。在612,610的新排序塊寫入到停留區(qū)604。響應(yīng)新的組塊612寫入到停留區(qū)604,存儲(chǔ)控制器更新動(dòng)態(tài)映射信息來反映LBA (1、
2、11和16)和他們的停留區(qū)域604內(nèi)新的PBA之間的新的關(guān)系。此外,陳舊數(shù)據(jù)標(biāo)記模塊標(biāo)志為相同LBA存儲(chǔ)先前數(shù)據(jù)塊的PBA為失效。以這種方式,那些PBA可被回收以重新用于新的寫入數(shù)據(jù)。614的數(shù)據(jù)塊代表仍記錄在停留區(qū)域604中的未排序、未分塊的數(shù)據(jù)塊。
[0061]在一個(gè)實(shí)施例中,通過應(yīng)用磁盤調(diào)度邏輯,從停留區(qū)域604讀取數(shù)據(jù)。例如,讀請(qǐng)求被進(jìn)行排隊(duì)和調(diào)度用于基于查找時(shí)間、延遲時(shí)間等執(zhí)行。在一些實(shí)施例中,磁盤調(diào)度邏輯也可用于寫入操作,諸如寫到顆粒存儲(chǔ)區(qū)或目標(biāo)存儲(chǔ)區(qū)。
[0062]圖7示出從組塊集合702示例排序數(shù)據(jù)子集700,用于停留區(qū)704的外部。存儲(chǔ)控制器從停留區(qū)704讀取數(shù)據(jù)塊的多個(gè)有序集(例如,通過多次讀取訪問的多個(gè)塊)到隨機(jī)存取存儲(chǔ)器706(例如,整個(gè)存儲(chǔ)器706或其部分)。注:數(shù)據(jù)的多個(gè)區(qū)段可根據(jù)介質(zhì)訪問讀取,以分?jǐn)傇诙鄠€(gè)范圍的介質(zhì)訪問之間的延遲。
[0063]排序模塊708根據(jù)預(yù)定順序(例如,在圖7中的LBA順序)排序在隨機(jī)存取存儲(chǔ)器706中的讀出數(shù)據(jù)塊。不同的排序方法(諸如,從每個(gè)排序組塊的頭部讀取的N進(jìn)制合并排序)可以用于排序在隨機(jī)存取存儲(chǔ)器706內(nèi)接收的數(shù)據(jù)塊。在710,新的排序塊被寫入其他存儲(chǔ)(例如,其他中間存儲(chǔ),諸如另一停留區(qū)域或顆粒存儲(chǔ)區(qū)域,或到目的地存儲(chǔ)區(qū))或到主機(jī)設(shè)備。響應(yīng)于新的組塊712寫入到其他存儲(chǔ),存儲(chǔ)控制器更新動(dòng)態(tài)映射信息,以反映其他存儲(chǔ)中LBA(1、2、11和16)和它們的新的PBA之間的新的關(guān)系。在714,數(shù)據(jù)塊代表仍記錄在停留區(qū)域704中的未排序、未分塊的數(shù)據(jù)塊。
[0064]此外,在一個(gè)實(shí)施例中,陳舊數(shù)據(jù)標(biāo)記模塊標(biāo)志對(duì)相同LBA存儲(chǔ)先前數(shù)據(jù)塊的之前PBA為陳舊。以這種方式,那些PBA可被回收重新用于新的寫入數(shù)據(jù)。但是,在替代實(shí)施例中,對(duì)應(yīng)于寫入其他存儲(chǔ)的數(shù)據(jù)塊在停留區(qū)中的數(shù)據(jù)塊704不需要被標(biāo)記為陳舊。在該實(shí)施例中,數(shù)據(jù)塊的多個(gè)副本可以被記錄在數(shù)據(jù)存儲(chǔ)系統(tǒng)中的多個(gè)物理位置(例如,停留區(qū)中,閃存緩存中,內(nèi)部隨機(jī)存取存儲(chǔ)器中,顆粒存儲(chǔ)區(qū)域中,目標(biāo)存儲(chǔ)區(qū)中),以及存儲(chǔ)控制器可為讀或?qū)懖僮鞔_定物理位置,用于呈現(xiàn)訪問主機(jī)請(qǐng)求數(shù)據(jù)塊集合的最短延遲。該數(shù)據(jù)塊的動(dòng)態(tài)映射可以管理同一數(shù)據(jù)塊中與訪問在每個(gè)物理位置相關(guān)聯(lián),以減少對(duì)平均存取延遲的預(yù)期等待時(shí)間相結(jié)合的多個(gè)物理位置的一個(gè)給定的讀或?qū)懨畹臄?shù)據(jù)塊。
[0065]圖8示出從停留區(qū)域分塊數(shù)據(jù)塊的示例操作800。接收操作802從主機(jī)設(shè)備或其他存儲(chǔ)接收邏輯塊地址的數(shù)據(jù)塊到隨機(jī)存取存儲(chǔ)器。排序操作804以預(yù)定義的順序接收數(shù)據(jù)塊。示例排序可以包括(但不限于)LBA順序、最頻繁訪問的順序、最近存取順序,等等。
[0066]寫入操作806寫入排序的數(shù)據(jù)塊到停留區(qū),作為排序數(shù)據(jù)塊的集合(例如,簡稱排序組塊)。動(dòng)態(tài)映射操作808將數(shù)據(jù)塊的LBA動(dòng)態(tài)映射到數(shù)據(jù)存儲(chǔ)的臨時(shí)區(qū)域中的對(duì)應(yīng)PBA。
[0067]圖9示出從停留區(qū)域再分塊數(shù)據(jù)塊的示例操作900。讀取操作902從數(shù)據(jù)存儲(chǔ)的停留區(qū)域中的不同集合的排序數(shù)據(jù)塊(例如,組塊)讀取相對(duì)連續(xù)的數(shù)據(jù)組塊的不同集合。傳送操作904傳送所讀取的數(shù)據(jù)塊到隨機(jī)存取存儲(chǔ)器。排序操作906以預(yù)定順序排序傳輸?shù)臄?shù)據(jù)塊。示例排序可以包括(但不限于)LBA順序、最頻繁訪問的順序、最近存取順序,等坐寸ο
[0068]寫入操作908寫入排序的數(shù)據(jù)塊回到停留區(qū)域,作為新的排序數(shù)據(jù)塊的集合(例如,新的組塊)。動(dòng)態(tài)重映射操作910動(dòng)態(tài)重新映射數(shù)據(jù)塊的的LBA到數(shù)據(jù)存儲(chǔ)的停留區(qū)域中新的相應(yīng)物理塊地址。標(biāo)記操作912標(biāo)志在讀取操作902中讀取數(shù)據(jù)塊的PBA為陳舊?;厥詹僮?14回收停留區(qū)域中的陳舊PBA,例如,通過重新使用停留區(qū)域中的陳舊PBA來記錄其他數(shù)據(jù)塊。
[0069]圖10示出示例操作1000,用于從停留區(qū)域重新排序數(shù)據(jù)塊到其他中間存儲(chǔ)。讀取操作1002從停留區(qū)域中的不同集合的排序數(shù)據(jù)塊(例如,組塊)讀取相對(duì)連續(xù)的數(shù)據(jù)塊集合。傳送操作1004傳送所讀取的數(shù)據(jù)塊到隨機(jī)存取存儲(chǔ)器。排序操作1006排序傳輸?shù)臄?shù)據(jù)塊到預(yù)定順序。示例排序可以包括(但不限于)LBA順序、最頻繁訪問的順序、最近存取的順序,等等。
[0070]寫入操作1008寫入已排序的數(shù)據(jù)塊到另一中間存儲(chǔ)區(qū)、到目的地存儲(chǔ)區(qū)域,或到主機(jī)設(shè)備。例如,已排序的數(shù)據(jù)塊可以被寫入到組塊中的不同停留區(qū)域或顆粒存儲(chǔ)區(qū)域。在另一個(gè)示例中,排序的數(shù)據(jù)塊可以被寫入到數(shù)據(jù)存儲(chǔ)的目標(biāo)存儲(chǔ)區(qū)域以進(jìn)行長期存儲(chǔ)。在又一示例中,響應(yīng)于讀取命令,排序的數(shù)據(jù)塊可以被傳輸?shù)街鳈C(jī)設(shè)備。如果該數(shù)據(jù)塊被重新寫入到數(shù)據(jù)存儲(chǔ),動(dòng)態(tài)重映射操作1010動(dòng)態(tài)地重新映射數(shù)據(jù)塊的LBA到數(shù)據(jù)存儲(chǔ)的停留區(qū)中的新對(duì)應(yīng)的物理塊地址。操作1000也可以通過在適當(dāng)?shù)那闆r下標(biāo)記和直接利用操作進(jìn)行補(bǔ)充。例如,如果該數(shù)據(jù)塊被移動(dòng)到目標(biāo)存儲(chǔ)區(qū)域,存儲(chǔ)這些數(shù)據(jù)塊的停留區(qū)域中的PBA可被標(biāo)記為陳舊并回收用于新的數(shù)據(jù)塊使用。然而,在輕載情況下,存儲(chǔ)控制器可以保持相同的數(shù)據(jù)塊的副本在存儲(chǔ)區(qū)域中,在其他中間存儲(chǔ)區(qū)中和/或在目標(biāo)存儲(chǔ)區(qū)域中。在這種方式中,存儲(chǔ)控制器可以從提供最低平均存取延遲的存儲(chǔ)器讀取所請(qǐng)求的數(shù)據(jù)塊。動(dòng)態(tài)映射保持每個(gè)LBA到PBA關(guān)系的映射,并且可以提供信息以幫助確定對(duì)于特定讀取命令的每個(gè)關(guān)系的最低平均訪問延時(shí)。
[0071]本文所述技術(shù)的實(shí)施例實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中的邏輯步驟。本技術(shù)的邏輯操作被實(shí)現(xiàn)為(I)在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中執(zhí)行的處理器實(shí)現(xiàn)的步驟序列和(2) —個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中的互連機(jī)器或電路模塊。依賴于實(shí)現(xiàn)該技術(shù)的計(jì)算機(jī)系統(tǒng)的性能要求,本實(shí)施例是選擇的主題。因此,構(gòu)成本文所述技術(shù)的實(shí)施例的邏輯操作被不同地稱為操作、步驟、對(duì)象或模塊。此外,應(yīng)當(dāng)理解的是:除非明確要求或以由權(quán)利要求語言固有地需要的特定順序,邏輯操作可以按任何順序執(zhí)行。
[0072]數(shù)據(jù)存儲(chǔ)和/或存儲(chǔ)器可以由各種類型的存儲(chǔ)器實(shí)現(xiàn),諸如硬盤介質(zhì)、包含多個(gè)存儲(chǔ)設(shè)備的存儲(chǔ)陣列、光介質(zhì)、固態(tài)硬盤技術(shù)、R0M、RAM,以及其他技術(shù)。該操作可以以固件、軟件、硬連線電路、門陣列技術(shù)和其它技術(shù)來實(shí)現(xiàn),由微處理器、微處理器核心、微控制器、專用電路或其它處理技術(shù)執(zhí)行或輔助。應(yīng)當(dāng)理解的是:寫入控制器、存儲(chǔ)控制器、數(shù)據(jù)寫電路、數(shù)據(jù)讀取和恢復(fù)電路、陳舊數(shù)據(jù)標(biāo)記模塊、排序模塊以及數(shù)據(jù)存儲(chǔ)系統(tǒng)的其他功能模塊可以包括或與處理器合作,用于處理處理器可讀指令,用于執(zhí)行系統(tǒng)實(shí)現(xiàn)過程。
[0073]上面的說明書,示例和數(shù)據(jù)提供了本技術(shù)的示例性實(shí)施例的結(jié)構(gòu)和使用的完整描述。因?yàn)椴幻撾x本技術(shù)的精神和范圍的情況下可以進(jìn)行該技術(shù)的許多實(shí)施例,本發(fā)明存在于所附的權(quán)利要求。此外,不同實(shí)施例的結(jié)構(gòu)特征可以與另一個(gè)實(shí)施例中的結(jié)合,而不脫離所引起權(quán)利要求書。
【權(quán)利要求】
1.一種方法,包括: 用于排序在數(shù)據(jù)存儲(chǔ)的隨機(jī)訪問存儲(chǔ)器中接收的輸入寫入數(shù)據(jù)的數(shù)據(jù)塊;以及 寫入所排序的數(shù)據(jù)塊作為單獨(dú)排序的數(shù)據(jù)塊集合到數(shù)據(jù)存儲(chǔ)的臨時(shí)區(qū)域。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 動(dòng)態(tài)映射寫入數(shù)據(jù)塊的邏輯塊地址到數(shù)據(jù)存儲(chǔ)器的停留區(qū)域中的新的物理塊地址。
3.根據(jù)權(quán)利要求1所述的方法,其中所述排序操作包括: 根據(jù)邏輯塊地址順序,排序所述數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求1所述的方法,其中所述排序操作包括: 按照最頻繁訪問的順序,排序所述數(shù)據(jù)塊。
5.根據(jù)權(quán)利要求1所述的方法,其中所述排序操作包括: 按照最近存取的順序,排序所述數(shù)據(jù)塊。
6.根據(jù)權(quán)利要求1所述的方法,其中對(duì)由隨機(jī)存取存儲(chǔ)器的排序部分的大小限制的多個(gè)數(shù)據(jù)塊,進(jìn) 行寫入操作。
7.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 讀取在數(shù)據(jù)存儲(chǔ)的停留區(qū)中記錄的多個(gè)單獨(dú)排序數(shù)據(jù)塊集合到隨機(jī)存取存儲(chǔ)器中; 重新排序在隨機(jī)存取存儲(chǔ)器中的多個(gè)排序數(shù)據(jù)塊中的各個(gè)數(shù)據(jù)塊,所述重新排序的各個(gè)數(shù)據(jù)塊被分組在單獨(dú)重新排序的數(shù)據(jù)塊集合;以及寫入單獨(dú)重新排序的數(shù)據(jù)塊集合到停留區(qū)域。
8.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 讀取在數(shù)據(jù)存儲(chǔ)的停留區(qū)中記錄的多個(gè)單獨(dú)排序數(shù)據(jù)塊集合到隨機(jī)存取存儲(chǔ)器中; 重新排序在隨機(jī)存取存儲(chǔ)器中的多個(gè)排序數(shù)據(jù)塊中的各個(gè)數(shù)據(jù)塊,所述重新排序的各個(gè)數(shù)據(jù)塊被分組在單獨(dú)重新排序的數(shù)據(jù)塊集合;以及 寫入單獨(dú)重新排序的數(shù)據(jù)塊集合到另一中間存儲(chǔ)區(qū)域。
9.根據(jù)權(quán)利要求1所述的方法,還包括: 讀取在數(shù)據(jù)存儲(chǔ)的停留區(qū)中記錄的多個(gè)單獨(dú)排序數(shù)據(jù)塊集合到隨機(jī)存取存儲(chǔ)器中; 重新排序在隨機(jī)存取存儲(chǔ)器中的多個(gè)排序數(shù)據(jù)塊中的各個(gè)數(shù)據(jù)塊,所述重新排序的各個(gè)數(shù)據(jù)塊被分組在單獨(dú)重新排序的數(shù)據(jù)塊集合;以及寫入單獨(dú)重新排序的數(shù)據(jù)塊集合到主機(jī)設(shè)備。
10.根據(jù)權(quán)利要求1所述的方法,還包括: 讀取在數(shù)據(jù)存儲(chǔ)的停留區(qū)中記錄的多個(gè)單獨(dú)排序數(shù)據(jù)塊集合到隨機(jī)存取存儲(chǔ)器中; 重新排序在隨機(jī)存取存儲(chǔ)器中的多個(gè)排序數(shù)據(jù)塊中的各個(gè)數(shù)據(jù)塊,所述重新排序的各個(gè)數(shù)據(jù)塊被分組在單獨(dú)重新排序的數(shù)據(jù)塊集合;以及寫入單獨(dú)重新排序的數(shù)據(jù)塊集合到目標(biāo)存儲(chǔ)區(qū)。
11.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括: 數(shù)據(jù)存儲(chǔ); 隨機(jī)存取存儲(chǔ)器; 排序模塊,通信地耦合到隨機(jī)存取存儲(chǔ)器并且被配置為排序在所述隨機(jī)存取存儲(chǔ)器接收的輸入寫入數(shù)據(jù)的數(shù)據(jù)塊; 存儲(chǔ)控制器,通信地耦合到所述隨機(jī)存取存儲(chǔ)器和所述數(shù)據(jù)存儲(chǔ)并且被配置為寫入已排序的數(shù)據(jù)塊作為單獨(dú)排序的數(shù)據(jù)塊組到數(shù)據(jù)存儲(chǔ)的停留區(qū)域。
12.如權(quán)利要求11所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中所述排序模塊還被配置成根據(jù)邏輯塊地址的順序排序所述數(shù)據(jù)塊。
13.如權(quán)利要求11所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,所述存儲(chǔ)控制器還被配置為:讀取在數(shù)據(jù)存儲(chǔ)的停留區(qū)中記錄的多個(gè)單獨(dú)排序數(shù)據(jù)塊集合到隨機(jī)存取存儲(chǔ)器中;重新排序在隨機(jī)存取存儲(chǔ)器中的多個(gè)排序數(shù)據(jù)塊中的各個(gè)數(shù)據(jù)塊,所述重新排序的各個(gè)數(shù)據(jù)塊被分組在單獨(dú)重新排序的數(shù)據(jù)塊集合。
14.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,所述存儲(chǔ)控制器進(jìn)一步被配置以:寫入單獨(dú)重新排序的數(shù)據(jù)塊集到另一個(gè)中間存儲(chǔ)區(qū)。
15.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,所述存儲(chǔ)控制器進(jìn)一步被配置以:寫入單獨(dú)重新排序的數(shù)據(jù)塊集到目標(biāo)存儲(chǔ)區(qū)域。
16.存儲(chǔ)處理器可讀指令的一個(gè)或多個(gè)處理器可讀存儲(chǔ)介質(zhì),用于在數(shù)據(jù)存儲(chǔ)系統(tǒng)中執(zhí)行系統(tǒng)可實(shí)現(xiàn)過程,所述過程包括: 用于排序在數(shù)據(jù)存儲(chǔ)的隨機(jī)訪問存儲(chǔ)器中接收的輸入寫入數(shù)據(jù)的數(shù)據(jù)塊;以及 寫入所排序的數(shù)據(jù)塊作為單獨(dú)排序的數(shù)據(jù)塊集合到數(shù)據(jù)存儲(chǔ)的臨時(shí)區(qū)域。
17.如權(quán)利要求16所述的一個(gè)或多個(gè)處理器可讀存儲(chǔ)介質(zhì),其中所述處理進(jìn)一步包括: 動(dòng)態(tài)映射寫入數(shù)據(jù)塊的邏輯塊地址到數(shù)據(jù)存儲(chǔ)的停留區(qū)域中的新的物理塊地址。
18.如權(quán)利要求16所述的一個(gè)或多個(gè)處理器可讀存儲(chǔ)介質(zhì),所述排序操作包括: 根據(jù)邏輯塊地址順序,排序所述數(shù)據(jù)塊。
19.如權(quán)利要求16所述的一個(gè)或多個(gè)處理器可讀存儲(chǔ)介質(zhì),進(jìn)一步包括: 讀取在數(shù)據(jù)存儲(chǔ)的停留區(qū)中記錄的多個(gè)單獨(dú)排序數(shù)據(jù)塊集合到隨機(jī)存取存儲(chǔ)器中; 重新排序在隨機(jī)存取存儲(chǔ)器中的多個(gè)排序數(shù)據(jù)塊中的各個(gè)數(shù)據(jù)塊,所述重新排序的各個(gè)數(shù)據(jù)塊被分組在單獨(dú)重新排序的數(shù)據(jù)塊集合;以及 寫入單獨(dú)重新排序的數(shù)據(jù)塊集合到另一中間存儲(chǔ)區(qū)域。
20.如權(quán)利要求16所述的一個(gè)或多個(gè)處理器可讀存儲(chǔ)介質(zhì),還包括: 讀取在數(shù)據(jù)存儲(chǔ)的停留區(qū)中記錄的多個(gè)單獨(dú)排序數(shù)據(jù)塊集合到隨機(jī)存取存儲(chǔ)器中; 重新排序在隨機(jī)存取存儲(chǔ)器中的多個(gè)排序數(shù)據(jù)塊中的各個(gè)數(shù)據(jù)塊,所述重新排序的各個(gè)數(shù)據(jù)塊被分組在單獨(dú)重新排序的數(shù)據(jù)塊集合;以及寫入單獨(dú)重新排序的數(shù)據(jù)塊集合到目標(biāo)存儲(chǔ)區(qū)。
【文檔編號(hào)】G06F12/06GK104050090SQ201410092516
【公開日】2014年9月17日 申請(qǐng)日期:2014年3月13日 優(yōu)先權(quán)日:2013年3月15日
【發(fā)明者】B·T·埃德加, M·A·蓋爾特納 申請(qǐng)人:希捷科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
金华市| 沾化县| 梓潼县| 黑龙江省| 秭归县| 浪卡子县| 桂东县| 澄江县| 额敏县| 五原县| 房产| 德清县| 沛县| 宜宾县| 天峨县| 剑阁县| 玉林市| 奈曼旗| 枞阳县| 东乡族自治县| 兴宁市| 福安市| 池州市| 天柱县| 拉萨市| 南和县| 东兰县| 蓝田县| 高青县| 苏尼特右旗| 沽源县| 遂溪县| 潞西市| 长泰县| 太原市| 越西县| 莲花县| 江山市| 阜新| 广西| 兴山县|