用于內(nèi)部磁盤驅(qū)動數(shù)據(jù)壓縮的系統(tǒng)和方法
【專利說明】用于內(nèi)部磁盤驅(qū)動數(shù)據(jù)壓縮的系統(tǒng)和方法
[0001]相關(guān)申請的交叉引用
[0002]本申請要求Yang等人的、提交于2013年10月31日、題為〃Systems and Methodsfor Internal Disk Drive Data Compress1n〃的美國專利申請 N0.61/898,420 的(非臨時申請的)優(yōu)先權(quán)。上述臨時專利申請的全文出于各種目的通過引用合并到本文中。
【背景技術(shù)】
[0003]本發(fā)明與用于存儲數(shù)據(jù)壓縮的系統(tǒng)和方法有關(guān)。
[0004]已經(jīng)開發(fā)了包括存儲器系統(tǒng)的各種數(shù)據(jù)傳送系統(tǒng),在其中數(shù)據(jù)被傳輸往來于磁存儲介質(zhì)。這些數(shù)據(jù)可以在主機處被壓縮以減少必須被轉(zhuǎn)輸和保存在存儲介質(zhì)上的數(shù)據(jù)容量。這樣的主機方壓縮可以成為降低數(shù)據(jù)吞吐率的瓶頸。
[0005]因此,由于至少上述的理由,在現(xiàn)有技術(shù)中存在用于數(shù)據(jù)壓縮的改進的系統(tǒng)和方法的需要。
【發(fā)明內(nèi)容】
[0006]本發(fā)明與用于數(shù)據(jù)存儲壓縮的系統(tǒng)和方法有關(guān)。
[0007]本發(fā)明的各個實施例提供的數(shù)據(jù)存儲系統(tǒng)包括:
[0008]半導體裝置和磁存儲介質(zhì)。半導體裝置包括:主機接口電路,可操作用于從主機設備接收寫指令,寫指令包括寫數(shù)據(jù)組;壓縮電路,可操作用于壓縮寫數(shù)據(jù)組以產(chǎn)生壓縮的數(shù)據(jù)組;以及寫通道電路,可操作用于施加編碼算法到壓縮的數(shù)據(jù)組以產(chǎn)生編碼的數(shù)據(jù)組。磁存儲介質(zhì)可操作用于存儲與編碼的數(shù)據(jù)組對應的磁信號。
[0009]此
【發(fā)明內(nèi)容】
僅僅提供了本發(fā)明的一些實施例的概要。短語“在一個實施例中”,“根據(jù)一個實施例”,“在各個實施例中”,“在一個或多個實施例中”,“在特定實施例中”等通常指跟隨短語的特定特征,結(jié)構(gòu),或者特性被包括在本發(fā)明的至少一個實施例中,并且可以被包括在本發(fā)明的多于一個實施例中。重要地,這種短語不一定指的是相同的實施例。根據(jù)下面的詳細說明,所附的權(quán)利要求和附圖,本發(fā)明的許多其它實施例將變得更加清楚。
【附圖說明】
[0010]本發(fā)明的各個實施例的進一步理解可以通過參考在說明書的其余部分中描述的附圖實現(xiàn)。在圖中,在貫穿若干附圖中使用相似的附圖標記來指的是類似的組件。在一些情況下,由小寫字母組成的下標與附圖標記相關(guān)聯(lián)來表示多個類似的組件中的一個。當在沒有說明存在的子標記的情況下提及附圖標記時,意圖指的是所有這樣的多個類似的組件。
[0011]圖1描繪了根據(jù)本發(fā)明的一些實施例的包括依靠暫時存儲器的內(nèi)部數(shù)據(jù)壓縮/解壓縮的數(shù)據(jù)存儲系統(tǒng);
[0012]圖2a-2b示出了根據(jù)本發(fā)明的一個或更多個實施例的方法的流程圖,所述方法用于內(nèi)部壓縮/解壓縮磁盤驅(qū)動數(shù)據(jù),方法當暫時存儲器可用時依靠暫時存儲器,當暫時存儲器不可用時依靠磁存儲介質(zhì);
[0013]圖3示出了根據(jù)本發(fā)明的一些實施例的方法的流程圖,所述方法用于依靠暫時存儲器的內(nèi)部壓縮/解壓縮磁盤驅(qū)動數(shù)據(jù);以及
[0014]圖4示出了根據(jù)本發(fā)明的一些實施例的方法的流程圖,所述方法用于依靠暫時存儲器以及磁存儲介質(zhì)的內(nèi)部壓縮/解壓縮磁盤驅(qū)動數(shù)據(jù)。
【具體實施方式】
[0015]本發(fā)明與用于數(shù)據(jù)存儲壓縮的系統(tǒng)和方法有關(guān)。
[0016]本發(fā)明的各個實施例提供了數(shù)據(jù)存儲系統(tǒng),包括:半導體裝置,以及磁存儲介質(zhì)。半導體裝置包括:主機接口電路,可操作用于從主機設備接收寫指令,所述寫指令包括寫數(shù)據(jù)組;壓縮電路,可操作用于壓縮寫數(shù)據(jù)組以產(chǎn)生壓縮的數(shù)據(jù)組;以及寫通道電路,可操作用于施加編碼算法到壓縮的數(shù)據(jù)組以產(chǎn)生編碼的數(shù)據(jù)組。磁存儲介質(zhì),可操作用于存儲與編碼的數(shù)據(jù)組對應的磁信號。
[0017]在上述實施例的某些實例中,系統(tǒng)進一步包括固態(tài)存儲器設備,可操作用于存儲寫數(shù)據(jù)組以及向壓縮電路傳送寫數(shù)據(jù)組。在一些情況下,固態(tài)存儲器設備是隨機存取存儲器設備。在各種實例中,系統(tǒng)進一步包括數(shù)據(jù)流控制電路,可操作用于使得寫數(shù)據(jù)組被存儲到固態(tài)存儲器設備,以及從固態(tài)存儲器設備訪問寫數(shù)據(jù)組,以及提供寫數(shù)據(jù)組到壓縮電路。在一些這種實例中,數(shù)據(jù)流控制電路進一步可操作于:使得寫數(shù)據(jù)組被存儲到磁存儲介質(zhì);以及當磁存儲介質(zhì)表現(xiàn)出無實質(zhì)使用時從磁存儲介質(zhì)訪問寫數(shù)據(jù)組。在一個或更多個情況中,編碼的數(shù)據(jù)組是壓縮的編碼數(shù)據(jù)組;以及使得寫數(shù)據(jù)組被存儲到磁存儲介質(zhì)包括:施加數(shù)據(jù)編碼算法到寫數(shù)據(jù)組以產(chǎn)生非壓縮的編碼數(shù)據(jù)組;以及存儲非壓縮的編碼數(shù)據(jù)組到磁存儲介質(zhì)。在特定情況下,當磁存儲介質(zhì)表現(xiàn)出無實質(zhì)使用時從磁存儲介質(zhì)訪問寫數(shù)據(jù)組包括施加數(shù)據(jù)解碼算法到非壓縮的編碼數(shù)據(jù)組以產(chǎn)生寫數(shù)據(jù)組。
[0018]本發(fā)明的其它實施例提供用于在硬盤驅(qū)動器中存儲數(shù)據(jù)的方法。該方法包括:提供磁存儲介質(zhì);提供固態(tài)存儲器;接收所接收的寫數(shù)據(jù)組;存儲所接收的寫數(shù)據(jù)組到所述固態(tài)存儲器作為存儲的寫數(shù)據(jù)組;從所述固態(tài)存儲器訪問所存儲的寫數(shù)據(jù)組作為訪問的寫數(shù)據(jù)組;施加壓縮算法到所訪問的寫數(shù)據(jù)組以得到壓縮的數(shù)據(jù)組;編碼所壓縮的數(shù)據(jù)組以得到編碼的數(shù)據(jù)組;以及存儲所編碼的數(shù)據(jù)組到所述磁存儲介質(zhì)。在一些情況下,固態(tài)存儲器設備是隨機存取存儲器以及磁存儲介質(zhì)是硬盤驅(qū)動器的盤片。
[0019]在上述實施例的各種實例中,該方法進一步包括:存儲所接收的寫數(shù)據(jù)組到所述磁存儲介質(zhì);以及在存儲所接收的寫數(shù)據(jù)組到所述固態(tài)存儲器作為所存儲的寫數(shù)據(jù)組之前從所述磁存儲介質(zhì)取回所述寫數(shù)據(jù)組。在編碼的數(shù)據(jù)組是壓縮的編碼數(shù)據(jù)組的具體情況時,存儲接收的寫數(shù)據(jù)組到磁存儲介質(zhì)包括:編碼接收的寫數(shù)據(jù)組以產(chǎn)生非壓縮的編碼數(shù)據(jù)組;以及存儲非壓縮的編碼數(shù)據(jù)組到磁存儲介質(zhì)。在一些情況下,當磁存儲介質(zhì)表現(xiàn)出無實質(zhì)使用時從磁存儲介質(zhì)訪問寫數(shù)據(jù)組包括:施加數(shù)據(jù)解碼算法到非壓縮的編碼數(shù)據(jù)組以恢復所接收的寫數(shù)據(jù)組。
[0020]本發(fā)明的其它實施例提供了存儲設備。這種存儲設備包括:固態(tài)存儲器設備,半導體裝置,磁存儲介質(zhì)和讀取/寫入頭。所述半導體裝置包括:主機接口電路,可操作用于從主機設備接收寫指令,其中所述寫指令包括寫數(shù)據(jù)組;壓縮電路,可操作用于壓縮所述寫數(shù)據(jù)組以得到壓縮的數(shù)據(jù)組;數(shù)據(jù)流控制電路,可操作用于使得所述寫數(shù)據(jù)組被存儲到所述固態(tài)存儲器設備,以及從所述固態(tài)存儲器設備訪問所述寫數(shù)據(jù)組以及提供所述寫數(shù)據(jù)組到所述壓縮電路;寫通道電路,可操作用于施加編碼算法到所壓縮的數(shù)據(jù)組以得到編碼的數(shù)據(jù)組。讀取/寫入頭被相對于所述磁存儲介質(zhì)配置,以及可操作用于利用與所編碼的數(shù)據(jù)組對應的信號磁化所述存儲介質(zhì)。在上述實施例的某些實例中,所編碼的數(shù)據(jù)組是壓縮的編碼數(shù)據(jù)組;以及其中所述數(shù)據(jù)流控制電路進一步可操作用于:施加所述數(shù)據(jù)編碼算法到所述寫數(shù)據(jù)組以得到非壓縮的編碼數(shù)據(jù)組;存儲所述非壓縮的編碼數(shù)據(jù)組到所述磁存儲介質(zhì);從所述磁存儲介質(zhì)訪問所述非壓縮的編碼數(shù)據(jù)組;以及施加數(shù)據(jù)解碼算法到所述非壓縮的編碼數(shù)據(jù)組以得到所述寫數(shù)據(jù)組。
[0021]轉(zhuǎn)向圖1,示出了根據(jù)本發(fā)明的一些實施例的包括依靠暫時存儲器的內(nèi)部數(shù)據(jù)壓縮/解壓縮的數(shù)據(jù)存儲系統(tǒng)100。數(shù)據(jù)存儲系統(tǒng)100包括數(shù)據(jù)控制電路190,暫時存儲器180,以及磁存儲介質(zhì)178以及關(guān)聯(lián)的控制電路(顯示為盤片)??墒褂美缬嬎銠C101通過主機接口 120訪問數(shù)據(jù)存儲系統(tǒng)100。應當注意,計算機101可以是本領(lǐng)域中已知的能夠提供用于存儲的數(shù)據(jù)以及用于請求以前被存儲的數(shù)據(jù)的任何設備。
[0022]與磁存儲介質(zhì)178相關(guān)聯(lián)的控制電路包括電機控制器168以及主軸電機172。在操作中,數(shù)據(jù)請求(讀取或者寫入)被主機接口 120接收。主機接口電路120控制去往/來自磁存儲介質(zhì)178的數(shù)據(jù)的尋址和時序。磁存儲介質(zhì)178上的數(shù)據(jù)由多組磁信號組成,當讀取/寫入頭組件176正確地定位在盤片178之上時可以由讀取/寫入頭組件176檢測到多組磁信號。在一個實施例中,盤片178包括根據(jù)縱向的或者垂直的記錄方案記錄的磁信號。
[0023]響應于從計算機101接收的讀請求,主機接口 120提供控制信號到硬盤控制器166并且提供控制信號到電機控制器168。硬盤控制器166相對于磁存儲介質(zhì)178定位讀取/寫入頭組件176。電機控制器168以確定的旋轉(zhuǎn)速率(RPM)驅(qū)動主軸電機172以旋轉(zhuǎn)磁存儲介質(zhì)。隨著存儲介質(zhì)178被主軸電機172旋轉(zhuǎn),一旦讀取/寫入頭組件176被定位鄰近正確的數(shù)據(jù)磁道,代表磁存儲介質(zhì)178上的數(shù)據(jù)的磁信號就在與讀取/寫入頭組件176對應的位置處被感測到。被感測的磁信號被提供為表示磁存儲介質(zhì)178上的磁數(shù)據(jù)的持續(xù)的,微小的模擬信號。這些微小的模擬信號通過前置放大器170從讀取/寫入頭組件176傳輸?shù)綌?shù)據(jù)控制電路190。前置放大器170可操作用于放大從磁存儲介質(zhì)178訪問的微小的模擬信號。
[0024]另外,到主機接口電路120,數(shù)據(jù)控制電路190包括數(shù)據(jù)流控制電路182,壓縮/解壓縮電路122,寫通道電路130,寫驅(qū)動器140,和讀通道電路110。在通過從計算機101到主機接口電路120的讀請求觸發(fā)的讀取操作期間,從磁存儲介質(zhì)178感測的數(shù)據(jù)通過前置放大器170被傳輸?shù)阶x通道電路110。讀通道電路110施加數(shù)據(jù)解碼算法到接收數(shù)據(jù)以產(chǎn)生壓縮數(shù)據(jù)。讀通道電路110可以是本領(lǐng)域中已知的任何讀通道電路。在本發(fā)明