專利名稱:用于對(duì)非易失性半導(dǎo)體存儲(chǔ)器中的數(shù)據(jù)進(jìn)行壓縮的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本公開涉及非易失性半導(dǎo)體存儲(chǔ)器存儲(chǔ)系統(tǒng)。
背景技術(shù):
在此所提供的背景描述是為了大體上呈現(xiàn)本公開內(nèi)容的上下文的目的。對(duì)于目前所稱的發(fā)明人的工作,就在此背景技術(shù)部分中描述的工作的程度,以及在提交時(shí)沒有另外適合作為現(xiàn)有技術(shù)的本說明書的方面而言,既不被明示也不被默示其作為針對(duì)本公開內(nèi)容的現(xiàn)有技術(shù)。非易失性半導(dǎo)體存儲(chǔ)器(NVSM)具有有限的容量并且具有有限數(shù)量的訪問事件 (即,NVSM的壽命期限)。訪問事件是指當(dāng)對(duì)NVSM進(jìn)行寫入、讀取或者訪問(例如,擦除某些存儲(chǔ)的數(shù)據(jù))時(shí)的事件。由于在訪問事件期間經(jīng)歷的“損耗”,NVSM易于隨時(shí)間退化。訪問頻率的增加降低了 NVSM的可靠工作壽命。存儲(chǔ)在NVSM中的主機(jī)數(shù)據(jù)(用戶數(shù)據(jù))通常是可壓縮的。出于這一原因,主機(jī)數(shù)據(jù)被壓縮以最小化存儲(chǔ)空間。主機(jī)數(shù)據(jù)還被壓縮以最小化在訪問事件期間訪問的NVSM的存儲(chǔ)器單元的數(shù)量。這減少了每個(gè)存儲(chǔ)器單元的訪問事件的數(shù)量。主機(jī)數(shù)據(jù)由主機(jī)(例如,臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)或手持計(jì)算機(jī))在文件系統(tǒng)級(jí)進(jìn)行壓縮。壓縮的主機(jī)數(shù)據(jù)被提供至NVSM驅(qū)動(dòng)作為主機(jī)數(shù)據(jù)扇區(qū)。NVSM驅(qū)動(dòng)將主機(jī)數(shù)據(jù)扇區(qū)存儲(chǔ)至NVSM中。當(dāng)從NVSM驅(qū)動(dòng)讀取時(shí),所存儲(chǔ)的主機(jī)數(shù)據(jù)扇區(qū)由主機(jī)解壓縮成原始格式。
發(fā)明內(nèi)容
提供了一種非易失性半導(dǎo)體存儲(chǔ)器(NVSM)存儲(chǔ)系統(tǒng),該系統(tǒng)包括NVSM驅(qū)動(dòng)接口, 其配置用于從主機(jī)接口接收主機(jī)數(shù)據(jù)扇區(qū)(HDQ。緩沖器管理模塊配置用于將HDS存儲(chǔ)在緩沖器中。壓縮模塊配置用于對(duì)HDS進(jìn)行壓縮以生成不同長(zhǎng)度的壓縮的HDS。驅(qū)動(dòng)數(shù)據(jù)扇區(qū)(DDQ生成模塊配置用于向壓縮的HDS添加多余數(shù)據(jù)(nuisance data)以生成DDS。該 DDS存儲(chǔ)在NVSM中。在其他特征中,NVSM驅(qū)動(dòng)接口和主機(jī)接口選自包括以下的分組串行高級(jí)技術(shù)附接接口、小型計(jì)算機(jī)系統(tǒng)接口、光纖通道接口和通用串行總線接口。在其他特征中,HDS包括第一 HDS和第二 HDS。緩沖器管理模塊和DDS生成模塊之一配置用于確定是否組合第一 HDS和第二 HDS。DDS生成模塊配置用于組合第一 HDS和第二 HDS以生成DDS中的一個(gè)。在其他特征中,DDS生成模塊包括組合確定模塊、組合器模塊和DDS構(gòu)建模塊。組合確定模塊配置用于確定是否組合當(dāng)前HDS和所存儲(chǔ)的HDS并且生成組合信號(hào)。組合器模塊配置用于基于組合信號(hào)來組合當(dāng)前HDS和所存儲(chǔ)的HDS。DDS構(gòu)建模塊配置用于從當(dāng)前 HDS和所存儲(chǔ)的HDS的組合中構(gòu)建DDS中的一個(gè)。在其他特征中,提供了一種用于操作NVSM存儲(chǔ)系統(tǒng)的方法。該方法包括經(jīng)由NVSM 驅(qū)動(dòng)接口從主機(jī)接口接收HDS。HDS被存儲(chǔ)在緩沖器中。HDS被壓縮以生成不同長(zhǎng)度的壓縮的HDS。向壓縮的HDS添加多余數(shù)據(jù)以生成DDS。DDS被存儲(chǔ)在NVSM中。在其他特征中,HDS包括第一 HDS和第二 HDS。該方法還包括確定是否組合第一 HDS和第二 HDS。第一 HDS和第二 HDS被組合以生成DDS中的一個(gè)。在另外其他特征中,可以通過由一個(gè)或多個(gè)處理器執(zhí)行的計(jì)算機(jī)程序來實(shí)現(xiàn)上述系統(tǒng)和方法。該計(jì)算機(jī)程序可以駐留在有形計(jì)算機(jī)可讀介質(zhì)上,諸如但不限于存儲(chǔ)器、非易失性數(shù)據(jù)存儲(chǔ)設(shè)備和/或其他合適的有形存儲(chǔ)介質(zhì)。從詳細(xì)描述、權(quán)利要求書和附圖中,本公開的其他應(yīng)用領(lǐng)域?qū)⒆兊妹黠@。詳細(xì)的描述和特定示例僅出于例示的目的而不旨在限制本公開的范圍。
根據(jù)詳細(xì)描述和附圖,將更全面地理解本公開,在附圖中圖1是根據(jù)本公開的、非易失性半導(dǎo)體存儲(chǔ)器(NVSM)存儲(chǔ)系統(tǒng)的第一實(shí)現(xiàn)方式的功能框圖;圖2是圖示了根據(jù)本公開的、主機(jī)數(shù)據(jù)扇區(qū)(HDS)級(jí)壓縮的、圖1的NVSM存儲(chǔ)系統(tǒng)的一部分的功能框圖;圖3是根據(jù)本公開的、具有緩沖器前壓縮的圖1的NVSM存儲(chǔ)系統(tǒng)的另一實(shí)現(xiàn)方式的功能框圖;圖4是圖3的NVSM存儲(chǔ)系統(tǒng)的緩沖器管理模塊和驅(qū)動(dòng)數(shù)據(jù)扇區(qū)(DDS)生成模塊的功能框圖;圖5是圖3的NVSM存儲(chǔ)系統(tǒng)的HDS生成模塊的功能框圖;圖6是根據(jù)本公開的、具有緩沖器后壓縮的圖1的NVSM存儲(chǔ)系統(tǒng)的又一實(shí)現(xiàn)方式的功能框圖;圖7是圖6的NVSM存儲(chǔ)系統(tǒng)的緩沖器管理模塊和DDS生成模塊的功能框圖;圖8是圖6的NVSM存儲(chǔ)系統(tǒng)的HDS生成模塊的功能框圖;圖9是根據(jù)本公開的、針對(duì)未壓縮的HDS的DDS格式的第一示例;圖10是根據(jù)本公開的、針對(duì)壓縮的HDS的DDS格式的第二示例;圖11是根據(jù)本公開的、針對(duì)兩個(gè)壓縮的HDS的DDS格式的第三示例;圖12是根據(jù)本公開的、針對(duì)三個(gè)壓縮的HDS的DDS格式的第四示例;圖13是根據(jù)本公開的、具有緩沖器前壓縮的NVSM訪問方法;以及圖14是根據(jù)本公開的、具有緩沖器后壓縮的NVSM訪問方法。
具體實(shí)施方式
以下描述本質(zhì)上僅是示例性的,并且不旨在以任何方式限制本公開、其應(yīng)用或使用。出于清楚的目的,相同的參考標(biāo)號(hào)在圖中用于標(biāo)識(shí)類似的元件。如在此所用,短語A、B 和C中至少一個(gè)應(yīng)被解釋為意味著使用非排他性邏輯OR的邏輯(A或B或C)。應(yīng)該理解, 在不改變本公開的原理的情況下,方法內(nèi)的步驟可以按照不同的順序執(zhí)行。如在此使用的,術(shù)語模塊可以是指執(zhí)行一個(gè)或多個(gè)軟件或固件程序的專用集成電路(ASIC)、電子電路、處理器(共享、專用或分組)和/或存儲(chǔ)器(共享、專用或分組)、組合邏輯電路和/或提供所述功能的其他合適組件,作為以上各項(xiàng)的一部分,或者包括以上各項(xiàng)。在以下描述中,術(shù)語“非易失性半導(dǎo)體存儲(chǔ)器(NVSM) ”可以是指相變存儲(chǔ)器 (PCM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、只讀存儲(chǔ)器(ROM)和/或隨機(jī)訪問存儲(chǔ)器 (RAM)。EEI3ROM的一對(duì)示例是NAND閃存和NOR閃存。此外,在以下描述中,術(shù)語“主機(jī)”可以是指向NVSM驅(qū)動(dòng)傳送數(shù)據(jù)和/或從NVSM驅(qū)動(dòng)訪問數(shù)據(jù)的設(shè)備。NVSM驅(qū)動(dòng)可以是閃存驅(qū)動(dòng)、通用串行總線(USB)驅(qū)動(dòng)、固態(tài)驅(qū)動(dòng)等。作為若干示例,主機(jī)可以是指計(jì)算機(jī)、相機(jī)、手持設(shè)備、便攜式設(shè)備、蜂窩電話、打印機(jī)、個(gè)人數(shù)字助理、電子記事本、電視機(jī)、顯示器、電器、監(jiān)控系統(tǒng)等。計(jì)算機(jī)的示例是臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、電子記事本等。電器的示例是洗衣機(jī)、烘干機(jī)、冰箱等。NVSM驅(qū)動(dòng)包括NVSM并且可以不包括轉(zhuǎn)動(dòng)式磁存儲(chǔ)介質(zhì),諸如硬盤驅(qū)動(dòng)盤。監(jiān)控系統(tǒng)的示例包括防盜監(jiān)控器、煙霧檢測(cè)系統(tǒng)、嬰兒監(jiān)控器等。另外,在此公開了各種系統(tǒng)元件,諸如模塊、網(wǎng)絡(luò)設(shè)備和電路組件。公開了系統(tǒng)元件布置的多個(gè)示例,并且這些元件包括鄰近元件和非鄰近元件。鄰近元件被示為彼此直接連接。非鄰近元件被示為彼此間接連接。由于存在本公開的眾多實(shí)現(xiàn)方式,所以所述布置沒有明確示出所有實(shí)現(xiàn)方式。例如,圖1至圖8中示出的鄰近元件和非鄰近元件可以彼此直接連接或間接連接。鄰近元件和非鄰近元件可以彼此無線通信和/或可以經(jīng)由有線鏈路彼此進(jìn)行通信。無線通信可以包括藍(lán)牙設(shè)備和/或滿足例如 IEEE標(biāo)準(zhǔn)802. 11,802. Ila,802. lib,802. Ilg,802. llh、802. lln、 802. 16 和 802. 20。此外,在以下描述中,公開了具有雙態(tài)輸出的各種模塊。第一狀態(tài)可以是“高”,而第二狀態(tài)可以是“低”。提供高狀態(tài)和低狀態(tài)以作為示例。輸出可以針對(duì)具體條件進(jìn)行修改以具有相反的狀態(tài)(例如,低而不是高)。在圖1中,示出了 NVSM存儲(chǔ)系統(tǒng)10。NVSM存儲(chǔ)系統(tǒng)10包括主機(jī)12和NVSM設(shè)備 14。主機(jī)12包括主機(jī)控制模塊16和主機(jī)接口 18。主機(jī)接口 18包括例如主機(jī)輸入端口 20 和主機(jī)輸出端口 22。主機(jī)接口 18可以是例如串行高級(jí)技術(shù)附接(SATA)接口、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、串行附接SCSI (SAS)、光纖通道接口、通用串行總線(US^接口等。主機(jī)控制模塊16經(jīng)由主機(jī)接口 18向NVSM驅(qū)動(dòng)14發(fā)送主機(jī)數(shù)據(jù)以及從NVSM驅(qū)動(dòng)14接收主機(jī)數(shù)據(jù)。這可以包括讀取、寫入和擦除訪問事件。NVSM驅(qū)動(dòng)14包括NVSM驅(qū)動(dòng)接口 30、NVSM控制模塊32和NVSM 34。NVSM驅(qū)動(dòng)接口 30包括NVSM輸入端口 36和NVSM輸出端口 38。NVSM輸入端口 36與主機(jī)輸出端口 22 進(jìn)行通信。NVSM輸出端口 38與主機(jī)輸入端口 20進(jìn)行通信。NVSM驅(qū)動(dòng)接口 30可以包括與主機(jī)接口 18通信的附加輸入端口和輸出端口。NVSM驅(qū)動(dòng)接口 30可以是例如SATA接口、SCSI、SAS、光纖通道接口、USB接口等。NVSM控制模塊32包括接收路徑40和發(fā)送路徑42。接收路徑40包括壓縮模塊 44、驅(qū)動(dòng)數(shù)據(jù)扇區(qū)(DDQ生成模塊46、加密模塊48和誤差校正編碼(ECC)模塊50。壓縮模塊44可以使用有損壓縮方法和/或無損壓縮方法。有損壓縮和解壓縮在壓縮和解壓縮之后提供與原始數(shù)據(jù)相近但不相同的數(shù)據(jù)。無損壓縮和解壓縮在壓縮和解壓縮之后提供與原始數(shù)據(jù)相同的重建。無損數(shù)據(jù)壓縮包括檢測(cè)重復(fù)位模式并移除冗余。當(dāng)可能時(shí),壓縮模塊44對(duì)從主機(jī)12接收的主機(jī)數(shù)據(jù)扇區(qū)(HDQ進(jìn)行壓縮。當(dāng)被接收時(shí),HDS可以是未壓縮的、部分壓縮的和/或完全壓縮的。HDS可以是從主機(jī)12向NVSM 設(shè)備14發(fā)送的最小長(zhǎng)度數(shù)據(jù)元素。某些HDS可能不是可壓縮的,例如,當(dāng)使用無損壓縮并且對(duì)應(yīng)的數(shù)據(jù)模式不包括冗余時(shí)。在將壓縮的HDS存儲(chǔ)在NVSM 34中之前,DDS生成模塊46組合壓縮的HDS。在壓縮之前,HDS可以具有統(tǒng)一長(zhǎng)度。DDS可以大于HDS。例如,HDS可以是512字節(jié)(B),而DDS 可以是4千字節(jié)(KB)。HDS和DDS可以具有其他長(zhǎng)度。由于DDS比HDS長(zhǎng),因此若干HDS 可以被組合以形成單個(gè)DDS。壓縮的HDS可以例如被連結(jié)的并且與HDS標(biāo)識(shí)信息組合以形成單個(gè)DDS。HDS標(biāo)識(shí)信息可以包括例如HDS位長(zhǎng)度(S卩,HDS中位的數(shù)目)、HDS的數(shù)目、 邏輯塊地址(LBA)、多余數(shù)據(jù)等。每個(gè)HDS可以具有唯一的LBA。以下描述了格式的多個(gè)示例并在圖9至圖12中示出。多余數(shù)據(jù)是指被添加到一個(gè)或多個(gè)HDS從而使得生成的DDS具有預(yù)定位長(zhǎng)度的數(shù)據(jù)。DDS生成模塊46可以將每個(gè)DDS生成為具有相同的位長(zhǎng)度。壓縮的HDS可以具有不同的位長(zhǎng)度。添加不同量的多余數(shù)據(jù)以組合壓縮的HDS以生成等長(zhǎng)的DDS。NVSM控制模塊32 通過添加多余數(shù)據(jù)來防止HDS分裂在兩個(gè)DDS之間。不是將HDS的多個(gè)部分與兩個(gè)或更多其他HDS —起存儲(chǔ),而是附接了多余數(shù)據(jù)。多余數(shù)據(jù)可以包括例如全0、全1、空狀態(tài)和/或冗余數(shù)據(jù)以最小化NVSM控制模塊32的編程和/或處理。加密模塊48對(duì)從DDS生成模塊46接收的DDS進(jìn)行加密。加密可以包括一個(gè)或多個(gè)公鑰和私鑰。加密還可以包括一個(gè)或多個(gè)專用于NVSM驅(qū)動(dòng)34或NVSM驅(qū)動(dòng)34的組件的密鑰,諸如專用于NVSM控制模塊32和/或NVSM 34的密鑰。ECC模塊50可以使用一個(gè)或多個(gè)ECC方法以防止在向NVSMM寫入數(shù)據(jù)以及從 NVSM 34讀取數(shù)據(jù)時(shí)產(chǎn)生誤差??梢陨善媾夹r?yàn)位并且在將DDS存儲(chǔ)在NVSM 34之前被添加到DDS和/或可以與NVSM 34中的DDS分開存儲(chǔ)。ECC模塊50可以將DDS存儲(chǔ)在NVSM 34中的物理塊地址(PBA)。PBA可以存儲(chǔ)在 NVSM控制模塊32的存儲(chǔ)器52中或者NVSM 34中。存儲(chǔ)器52可以存儲(chǔ)將LBA與PBA關(guān)聯(lián)的LBA到PBA表M。LBA到PBA表M可以由接收路徑40和發(fā)送路徑42中的任意模塊訪問。發(fā)送路徑42包括誤差校正解碼模塊60、解密模塊62、HDS生成模塊64和解壓縮模塊66。誤差校正解碼模塊60基于數(shù)據(jù)請(qǐng)求信號(hào)和/或與DDS相關(guān)聯(lián)的奇偶校驗(yàn)信息來對(duì)從NVSM 34訪問的DDS進(jìn)行解碼。數(shù)據(jù)請(qǐng)求信號(hào)可以包括一個(gè)或多個(gè)PBA。數(shù)據(jù)請(qǐng)求信號(hào)可以由NVSM控制模塊32生成并且基于LBA和/或從主機(jī)12接收的數(shù)據(jù)請(qǐng)求信號(hào)。解密模塊62對(duì)來自誤差校正解碼模塊60的解碼DDS進(jìn)行解密。由加密模塊48 使用的密鑰可以由解密模塊62共享、訪問和/或生成。
HDS生成模塊64基于從解密模塊62接收的解密的DDS來生成一個(gè)或多個(gè)HDS。 HDS生成模塊64基于HDS標(biāo)識(shí)信息和/或數(shù)據(jù)請(qǐng)求信號(hào)生成HDS。數(shù)據(jù)請(qǐng)求信號(hào)可以包括一個(gè)或多個(gè)LBA。雖然接收路徑40和發(fā)射路徑42的模塊按照特定順序示出,但是它們可以按照不同順序重新布置。例如,加密模塊48可以位于壓縮模塊44的上游。換言之,加密模塊48 可以連接在NVSM驅(qū)動(dòng)接口 30與壓縮模塊44之間。作為另一示例,解密模塊62可以連接在NVSM驅(qū)動(dòng)接口 30與解壓縮模塊66之間。圖3和圖6中示出了其他示例?,F(xiàn)在也參考圖2,其示出了圖示HDS級(jí)壓縮的NVSM存儲(chǔ)系統(tǒng)10的一部分。NVSM 存儲(chǔ)系統(tǒng)10包括主機(jī)端和NVSM端。主機(jī)12可以包括數(shù)據(jù)輸出格式化模塊70和數(shù)據(jù)輸入格式化模塊72。數(shù)據(jù)輸出格式化模塊70可以基于所接收的數(shù)據(jù)對(duì)象生成HDS。HDS經(jīng)由主機(jī)輸出端口 22從主機(jī)12發(fā)送到NVSM驅(qū)動(dòng)14。HDS可以經(jīng)由主機(jī)輸入端口 20從NVSM驅(qū)動(dòng)14接收并且由數(shù)據(jù)輸入格式化模塊72轉(zhuǎn)換成數(shù)據(jù)對(duì)象。NVSM驅(qū)動(dòng)14經(jīng)由NVSM輸入端口 36接收HDS。當(dāng)可能時(shí),HDS由壓縮模塊44進(jìn)行壓縮并且傳遞到緩沖器管理模塊74。圖3至圖8中示出了緩沖器管理模塊74布置的示例。緩沖器管理模塊74可以在HDS存儲(chǔ)在NVSM 34中之前收集并存儲(chǔ)一個(gè)或多個(gè)HDS。緩沖器管理模塊74可以在HDS存儲(chǔ)在NVSM 34中之前將HDS轉(zhuǎn)換成DDS。緩沖器管理模塊74可以基于數(shù)據(jù)請(qǐng)求信號(hào)76訪問NVSM 34和/或向NVSM 34請(qǐng)求DDS。緩沖器管理模塊74可以當(dāng)可能時(shí),將所接收的DDS轉(zhuǎn)換成HDS;從緩沖器管理模塊74下游(在緩沖器管理模塊74與NVSM 34之間)的組件接收HDS ;和/或向解壓縮模塊66傳送HDS。解壓縮的HDS經(jīng)由NVSM輸出端口 38向主機(jī)傳輸。以下圖3至圖8圖示了關(guān)于圖1至圖2描述的NVSM存儲(chǔ)系統(tǒng)10的實(shí)現(xiàn)方式的其他示例。實(shí)現(xiàn)方式的示例被分別標(biāo)識(shí)為NVSM存儲(chǔ)系統(tǒng)10’和10”。在圖3中,示出了具有緩沖器前壓縮的NVSM存儲(chǔ)系統(tǒng)10,。NVSM存儲(chǔ)系統(tǒng)10,包括主機(jī)接口 18和NVSM驅(qū)動(dòng)14,。NVSM驅(qū)動(dòng)14,的模塊可以被稱為NVSM存儲(chǔ)系統(tǒng)。NVSM驅(qū)動(dòng)14’包括接收路徑40’和發(fā)送路徑42’。接收路徑40’包括壓縮模塊44、加密模塊48’、 緩沖器管理模塊74’和DDS生成模塊46’。發(fā)送路徑42’包括HDS生成模塊64’、緩沖器管理模塊74’、解密模塊62’和解壓縮模塊66’。緩沖器管理模塊74’和DDS生成模塊46’以及HDS生成模塊64’可以進(jìn)行組合以形成單個(gè)模塊。壓縮模塊44在HDS由緩沖器管理模塊74’接收之前對(duì)從主機(jī)接口 18接收的HDS 進(jìn)行壓縮。對(duì)長(zhǎng)度與從主機(jī)接口 18接收的HDS的長(zhǎng)度相同的HDS執(zhí)行壓縮。加密模塊48’ 對(duì)壓縮的HDS進(jìn)行加密。緩沖器管理模塊74’將HDS存儲(chǔ)在緩沖器80中并且將HDS轉(zhuǎn)發(fā)至DDS生成模塊46’。緩沖器80可以包括易失性存儲(chǔ)器,諸如RAM、動(dòng)態(tài)RAM(DRAM)和靜態(tài) RAM(SRAM)。緩沖器管理模塊74’可以按照預(yù)定順序組合和存儲(chǔ)壓縮和/或加密的HDS,而不考慮HDS的接收順序。例如,HDS可以按照數(shù)字順序(numerical order)接收或者可以按照不同順序接收。順次接收的HDS可以被存儲(chǔ)在不同的HDS寄存器中以允許按照數(shù)字順序或者預(yù)定順序?qū)DS重新排序。因此,多個(gè)HDS寄存器可以用于向相應(yīng)的DDS提供HDS集(示出了 HDS寄存器I-N和HDS集1-N)。隨著寄存器被填充和/或達(dá)到預(yù)定DDS長(zhǎng)度限制,HDS 集可以從緩沖器管理模塊74’釋放并且被傳遞到DDS生成模塊46’。例如,當(dāng)再?zèng)]有HDS可以和/或?qū)⑴c當(dāng)前DDS的其他HDS組合時(shí),達(dá)到預(yù)定DDS長(zhǎng)度限制。DDS生成模塊46’基于HDS寄存器中的組合的和/或存儲(chǔ)的HDS以及基于HDS和 DDS信息來生成DDS。HDS和DDS信息可以從緩沖器管理模塊74’接收。HDS和DDS信息可以包括HDS信息位和DDS信息,諸如DDS長(zhǎng)度、DDS位間隙可用性等。DDS可以被生成為具
有統(tǒng)一長(zhǎng)度。DDS可以由ECC模塊50’誤差校正編碼,如上文參考ECC模塊50所述的。如圖所示,ECC模塊50’和/或其他ECC模塊可以連接在壓縮模塊44與加密模塊48’之間以對(duì)壓縮的HDS進(jìn)行編碼;加密模塊48’與緩沖器管理模塊74’之間以對(duì)加密的HDS進(jìn)行編碼; 緩沖器管理模塊74,與DDS生成模塊46,之間;和/或DDS生成模塊46,與NVSM 34之間。 DDS繼而存儲(chǔ)在NVSM 34中。DDS可以經(jīng)由ECC模塊50,由HDS生成模塊64,從NVSM 34獲取。ECC模塊50, 對(duì)DDS進(jìn)行誤差校正解碼。HDS生成模塊64’基于例如從緩沖器管理模塊74’接收的數(shù)據(jù)請(qǐng)求信號(hào)訪問DDS。HDS生成模塊64’和/或緩沖器管理模塊74’基于從主機(jī)接口 18接收的數(shù)據(jù)請(qǐng)求信號(hào)將接收的DDS分成HDS。數(shù)據(jù)請(qǐng)求信號(hào)可以經(jīng)由壓縮模塊44和加密模塊48’接收。作為備選,數(shù)據(jù)請(qǐng)求信號(hào)可以經(jīng)由NVSM驅(qū)動(dòng)接口 30從主機(jī)接口 18直接提供到HDS生成模塊 64’。作為另一備選,數(shù)據(jù)請(qǐng)求信號(hào)可以由緩沖器管理模塊74’從NVSM驅(qū)動(dòng)接口 30接收。NVSM驅(qū)動(dòng)接口 30與緩沖器管理模塊74’之間的模塊和設(shè)備位于緩沖器管理模塊 74’的主機(jī)端。緩沖器管理模塊74’下游的模塊和設(shè)備位于緩沖器管理模塊74’的NVSM 端。NVSM驅(qū)動(dòng)接口 30可以從主機(jī)接口 18接收單個(gè)數(shù)據(jù)流或多個(gè)并發(fā)并行數(shù)據(jù)流。數(shù)據(jù)流可以被傳送到壓縮模塊44。當(dāng)主機(jī)接口 18和NVSM接口 30是例如SAS接口時(shí),可以接收多個(gè)并發(fā)并行數(shù)據(jù)流。現(xiàn)在也參考圖4,其示出了緩沖器管理模塊74’和DDS生成模塊46’。緩沖器管理模塊74’和DDS生成模塊46’被示為一個(gè)實(shí)現(xiàn)方式并且包括多個(gè)模塊??梢圆话ň彌_器管理模塊74’和DDS生成模塊46’中模塊的一個(gè)或多個(gè)模塊。緩沖器管理模塊74’和DDS生成模塊46’可以將當(dāng)前HDS、組合的HDS和/或當(dāng)前 DDS存儲(chǔ)在緩沖器80的相應(yīng)的當(dāng)前HDS寄存器100、組合的HDS寄存器102和當(dāng)前DDS寄存器104中。當(dāng)前HDS是指緩沖器管理模塊74’當(dāng)前接收的HDS。當(dāng)前DDS是指由緩沖器管理模塊74,和/或DDS生成模塊46’當(dāng)前生成的DDS。緩沖器管理模塊74’包括HDS監(jiān)控模塊106、當(dāng)前HDS長(zhǎng)度確定模塊108、DDS間隙可用性模塊110和可用性比較模塊112。HDS監(jiān)控模塊106監(jiān)控接收的壓縮的和/或加密的HDS。如圖所示,HDS監(jiān)控模塊106可以將當(dāng)前接收的HDS存儲(chǔ)在緩沖器80中,或者HDS 可以被直接存儲(chǔ)在緩沖器80中。HDS監(jiān)控模塊106可以確定接收的HDS是否是完整HDS和 /或其是否是一系列HDS中的最后一個(gè)HDS (HDS的末尾)。完整HDS和最后一個(gè)HDS可以基于附接到HDS的信息和/或基于HDS的確定的長(zhǎng)度進(jìn)行標(biāo)識(shí)。例如,當(dāng)HDS具有小于預(yù)定最小長(zhǎng)度的長(zhǎng)度時(shí),不完整的HDS可以被檢測(cè)到。 當(dāng)HDS包括“不完整”位時(shí),不完整HDS也可以被檢測(cè)到。作為另一示例,最后一個(gè)HDS可以基于例如附接到該最后一個(gè)HDS的“末尾”位進(jìn)行檢測(cè)。作為又一示例,當(dāng)HDS的長(zhǎng)度大于預(yù)定最大長(zhǎng)度時(shí),最后一個(gè)HDS可以被檢測(cè)到。HDS監(jiān)控模塊106可以基于所述檢測(cè)生成完整HDS信號(hào)和HDS的末端信號(hào)。當(dāng)檢測(cè)到針對(duì)當(dāng)前DDS的完整HDS時(shí),完整HDS信號(hào)可以是高。當(dāng)檢測(cè)到針對(duì)當(dāng)前DDS的HDS的末端時(shí),HDS的末端信號(hào)可以是高。當(dāng)前HDS長(zhǎng)度模塊108從HDS監(jiān)控模塊106接收壓縮的和/或加密的HDS。當(dāng)前 HDS長(zhǎng)度模塊108確定HDS的長(zhǎng)度并且生成HDS長(zhǎng)度信號(hào)114。DDS間隙可用性模塊110基于當(dāng)前HDS長(zhǎng)度、組合的HDS長(zhǎng)度、預(yù)定DDS長(zhǎng)度和/ 或被允許的HDS長(zhǎng)度來確定可用的位間隙。位間隙可以是指待生成的還未被HDS位指派和 /或考慮的DDS的一部分。僅作為示例,待生成的DDS可以具有4KBG,096字節(jié))的預(yù)定 DDS長(zhǎng)度,其中一字節(jié)包括8位。換言之,DDS具有4,096字節(jié)位置(字節(jié)間隙)可用。如果第一壓縮的和/或加密的HDS具有512B,則存在最大3,584字節(jié)位置可用。例如,由于添加了 HDS標(biāo)識(shí)位和LBA,而使得較小量的字節(jié)位置可以是可用的。組合的HDS長(zhǎng)度、預(yù)定DDS長(zhǎng)度和允許的HDS長(zhǎng)度可以分別由組合的HDS長(zhǎng)度模塊116、DDS長(zhǎng)度模塊118和允許的長(zhǎng)度模塊120確定。組合的HDS長(zhǎng)度、預(yù)定DDS長(zhǎng)度和允許的HDS長(zhǎng)度可以被存儲(chǔ)在緩沖器管理模塊74’的存儲(chǔ)器122中??捎眯员容^模塊112確定針對(duì)當(dāng)前DDS內(nèi)的附加HDS是否存在足夠的可用的字節(jié)間隙。可用性比較模塊112將可用的間隙與預(yù)定可用性閾值進(jìn)行比較。預(yù)定的可用性閾值可以是例如256B、512B等。當(dāng)可用的字節(jié)間隙小于或等于預(yù)定可用性閾值時(shí),可用性比較模塊112的輸出可以是高。預(yù)定可用性閾值可以存儲(chǔ)在存儲(chǔ)器122中。緩沖器管理模塊74’還可以包括計(jì)時(shí)器130、HDS計(jì)數(shù)器132、計(jì)時(shí)器比較模塊134 和HDS比較模塊136。當(dāng)經(jīng)過預(yù)定時(shí)段時(shí),計(jì)時(shí)器130和計(jì)時(shí)器比較模塊134可以用于向 DDS生成模塊46’發(fā)送信號(hào)。測(cè)量從HDS監(jiān)控模塊106接收DDS中的第一 HDS開始的時(shí)間并且將其與預(yù)定時(shí)段進(jìn)行比較。當(dāng)HDS監(jiān)控模塊106接收到第一 HDS時(shí),可以開始計(jì)時(shí)器 130。計(jì)時(shí)器比較模塊134將計(jì)時(shí)器經(jīng)過的時(shí)間與預(yù)定時(shí)間閾值進(jìn)行比較。當(dāng)經(jīng)過的時(shí)間小于或等于預(yù)定時(shí)間閾值時(shí),計(jì)時(shí)器比較模塊134的輸出可以是高。當(dāng)接收的針對(duì)DDS的HDS數(shù)目大于預(yù)定HDS閾值時(shí),HDS計(jì)數(shù)器132和HDS比較模塊136可以用于向DDS生成模塊46’發(fā)送信號(hào)。當(dāng)接收到DDS的第一 HDS時(shí),HDS計(jì)數(shù)器132的值(HDS計(jì)數(shù)器值)可以被設(shè)置為1。HDS計(jì)數(shù)器值可以等于存儲(chǔ)在緩沖器80中的、針對(duì)當(dāng)前DDS的HDS的數(shù)目加1 (針對(duì)接收的當(dāng)前HDS)。當(dāng)HDS計(jì)數(shù)器值小于或等于預(yù)定HDS閾值時(shí),HDS比較模塊136的輸出可以為高。這可以限制被存儲(chǔ)為單個(gè)DDS的部分的HDS的數(shù)目。DDS生成模塊46,包括組合確定模塊140、組合器模塊142和DDS構(gòu)建模塊144。 組合確定模塊140確定存儲(chǔ)在緩沖器80中的當(dāng)前HDS是否將與存儲(chǔ)在組合HDS寄存器102 中的一個(gè)或多個(gè)HDS進(jìn)行組合。當(dāng)可用性比較模塊112、計(jì)時(shí)器比較模塊134和HDS比較模塊136的輸出為高時(shí),組合確定模塊140可以將當(dāng)前HDS與其他HDS進(jìn)行組合。當(dāng)可用性比較模塊112、計(jì)時(shí)器比較模塊134和HDS比較模塊136的輸出中的一個(gè)或多個(gè)為低時(shí),組合確定模塊140可以不將當(dāng)前HDS與其他HDS進(jìn)行組合。組合確定模塊140還可以基于完整HDS信號(hào)和HDS的末端信號(hào)將當(dāng)前HDS與其他 HDS進(jìn)行組合。例如,當(dāng)完整HDS信號(hào)和HDS的末端信號(hào)中的任意一個(gè)為高時(shí),組合確定模塊140可以組合HDS。
組合器模塊142可以將存儲(chǔ)在當(dāng)前HDS寄存器100中的當(dāng)前HDS與存儲(chǔ)在組合 HDS寄存器102之一中的HDS進(jìn)行組合。該組合可以基于由組合確定模塊140輸出的組合信號(hào)來執(zhí)行。如在例如圖11和圖12中所示,組合器模塊142可以連結(jié)HDS。DDS構(gòu)建模塊144可以基于來自組合確定模塊140的構(gòu)建信號(hào)來構(gòu)建當(dāng)前DDS。構(gòu)建信號(hào)可以基于來自可用性比較模塊112、計(jì)時(shí)器比較模塊134和HDS比較模塊136的輸出以及完整HDS信號(hào)和HDS的末端信號(hào)來生成。在一個(gè)實(shí)現(xiàn)方式中,DDS構(gòu)建模塊144接收輸出以及完整HDS信號(hào)和HDS的末端信號(hào)。DDS構(gòu)建模塊144確定是否構(gòu)建當(dāng)前DDS以及將當(dāng)前DDS存儲(chǔ)在當(dāng)前DDS寄存器104中。該確定基于輸出以及完整HDS信號(hào)和HDS的末端信號(hào)。當(dāng)前DDS繼而可以由例如ECC模塊(諸如ECC模塊50’ )進(jìn)行訪問。當(dāng)生成了當(dāng)前DDS時(shí),DDS構(gòu)建模塊144可以生成復(fù)位信號(hào)“RESET”。復(fù)位信號(hào) “RESET”可以用于例如對(duì)計(jì)時(shí)器130和HDS計(jì)數(shù)器132進(jìn)行復(fù)位?,F(xiàn)在也參考圖5,其示出了 HDS生成模塊64’。HDS生成模塊64’包括DDS選擇模塊150、解組合器模塊152和HDS選擇模塊154。DDS選擇模塊150基于數(shù)據(jù)請(qǐng)求信號(hào)選擇存儲(chǔ)在NVSM 34中的DDS。該選定的DDS被提供到緩沖器管理模塊74’并且存儲(chǔ)在緩沖器 80的選定的DDS寄存器156中。選定的DDS可以由ECC模塊50’提供并且可以被提供到 DDS選擇模塊150和/或解組合器模塊152。解組合器模塊152將DDS分成HDS。HDS選擇模塊巧4選擇HDS中的一個(gè)或多個(gè)以用于向主機(jī)接口 18發(fā)送。HDS可以基于將數(shù)據(jù)請(qǐng)求信號(hào)中的LBA與和HDS—起存儲(chǔ)作為選定的DDS的一部分的LBA相匹配來進(jìn)行選擇。HDS選擇模塊IM將選定的HDS存儲(chǔ)在緩沖器80的選定的HDS寄存器158中。選定的HDS可以由例如解密模塊62’從緩沖器80進(jìn)行訪問。在圖6中,示出了具有緩沖器后壓縮的NVSM存儲(chǔ)系統(tǒng)10”。NVSM存儲(chǔ)系統(tǒng)10” 包括NVSM驅(qū)動(dòng)14”和主機(jī)接口 18。NVSM驅(qū)動(dòng)14”的模塊可以被稱為NVSM存儲(chǔ)系統(tǒng)10”。 NVSM驅(qū)動(dòng)14”包括接收路徑40”和發(fā)送路徑42”。接收路徑40”包括第一加密模塊170、 緩沖器管理模塊74”、第一解密模塊172、壓縮模塊44”、第二加密模塊174和DDS生成模塊 46”。發(fā)送路徑42”包括HDS生成模塊64”、第二解密模塊176、解壓縮模塊66”、第三加密模塊180、緩沖器管理模塊74”和第三解密模塊182。緩沖器管理模塊74”與DDS生成模塊 46”和HDS生成模塊64”可以被組合以形成單個(gè)模塊。第一加密模塊170對(duì)從NVSM驅(qū)動(dòng)接口 30,接收的HDS進(jìn)行加密。緩沖器管理模塊74”在將加密的HDS傳遞到第一解密模塊172之間將加密的HDS存儲(chǔ)在緩沖器80中。緩沖器管理模塊74”可以按照預(yù)定順序組合并且存儲(chǔ)加密的HDS,而不考慮HDS的接收順序。 順次接收的HDS可以存儲(chǔ)在不同的HDS寄存器中以允許按照數(shù)字順序或預(yù)定順序?qū)DS進(jìn)行重新排序。因此,多個(gè)HDS寄存器可以用于向相應(yīng)的DDS提供HDS集。當(dāng)HDS寄存器被填充和/或達(dá)到預(yù)定DDS長(zhǎng)度限制時(shí),HDS集可以被從緩沖器管理模塊74”釋放。HDS集被傳遞到第一解密模塊172。如果可能,則第一解密模塊172在HDS被壓縮模塊44’壓縮之前將其解密。在壓縮之前,解密的HDS可以具有統(tǒng)一長(zhǎng)度。第二加密模塊174對(duì)壓縮的HDS進(jìn)行加密。DDS生成模塊46”基于從第二加密模塊174接收的加密的HDS并且基于與緩沖器管理模塊74”的通信生成DDS。該通信可以包括例如數(shù)據(jù)請(qǐng)求信號(hào)。DDS生成模塊46”可以在DDS存儲(chǔ)在NVSM 34中之前將DDS轉(zhuǎn)發(fā)到 ECC模塊50’。如圖所示,ECC模塊50’和/或其他ECC模塊可以連接DDS生成模塊46”的上游(例如,任意兩個(gè)模塊之間)或者可以連接DDS生成模塊46”的下游。DDS生成模塊46”可以按照預(yù)定順序組合加密的HDS,而不考慮DDS生成模塊46” 接收HDS的順序。順次接收的HDS可以被組合在不同的HDS寄存器中以允許按照數(shù)字順序或預(yù)定順序?qū)DS進(jìn)行重新排序。因此,多個(gè)HDS寄存器可以用于向相應(yīng)的DDS提供HDS 集。當(dāng)HDS寄存器被填充和/或達(dá)到預(yù)定DDS長(zhǎng)度限制時(shí),HDS集可以被組合以生成DDS。DDS可以經(jīng)由ECC模塊50,由HDS生成模塊64 ”從NVSM 34進(jìn)行訪問。ECC模塊 50’可以在由HDS生成模塊64”接收DDS之前對(duì)DDS進(jìn)行誤差校正解碼。HDS生成模塊64” 可以基于例如從緩沖器管理模塊74”接收的數(shù)據(jù)請(qǐng)求信號(hào)來訪問DDS。HDS生成模塊64”和/或緩沖器管理模塊74”可以基于從主機(jī)接口 18接收的數(shù)據(jù)請(qǐng)求信號(hào)將接收的DDS分成HDS。來自主機(jī)接口 18的數(shù)據(jù)請(qǐng)求信號(hào)可以被直接提供到緩沖器管理模塊74”和/或HDS生成模塊64”。數(shù)據(jù)請(qǐng)求信號(hào)可以直接從NVSM驅(qū)動(dòng)接口 30’ 提供而不經(jīng)由第一加密模塊170。第二解密模塊176對(duì)選定的HDS進(jìn)行解密并且向解壓縮模塊66”提供解密的HDS。 解壓縮模塊66”對(duì)解密的HDS進(jìn)行解壓縮。第三加密模塊180在解壓縮的HDS被存儲(chǔ)在緩沖器80之前對(duì)解壓縮的HDS進(jìn)行加密。當(dāng)由HDS生成模塊64”選定時(shí),緩沖器管理模塊74”轉(zhuǎn)發(fā)由第三加密模塊180接收的加密的HDS。當(dāng)選擇并非由HDS生成模塊64”執(zhí)行時(shí),緩沖器管理模塊74”可以選擇由第三加密模塊180接收的加密的HDS中的一個(gè)或多個(gè)。選擇可以再次基于加密的HDS的 LBA進(jìn)行。第三解密模塊182對(duì)從緩沖器管理模塊74”接收的加密的HDS進(jìn)行解密。NVSM驅(qū)動(dòng)接口 30’與緩沖器管理模塊74”之間的模塊位于緩沖器管理模塊74”的主機(jī)端。緩沖器管理模塊74”下游的模塊和設(shè)備位于緩沖器管理模塊74”的NVSM端。NVSM驅(qū)動(dòng)接口 30’可以從主機(jī)接口 18接收單個(gè)數(shù)據(jù)流或多個(gè)并發(fā)并行數(shù)據(jù)流。 數(shù)據(jù)流可以被傳輸?shù)降谝患用苣K170?,F(xiàn)在也參考圖7,其示出了 NVSM存儲(chǔ)系統(tǒng)10”的緩沖器管理模塊74”和DDS生成模塊46”。DDS生成模塊46”包括與圖4的緩沖器管理模塊74”和DDS生成模塊46”的模塊類似和/或執(zhí)行相同功能的模塊。緩沖器管理模塊74”和DDS生成模塊46”被示為一個(gè)實(shí)現(xiàn)方式??梢圆话―DS 生成模塊46”的一個(gè)或多個(gè)模塊。緩沖器管理模塊74”和DDS生成模塊46”將當(dāng)前HDS、組合的HDS和/或當(dāng)前DDS存儲(chǔ)在相應(yīng)的當(dāng)前HDS寄存器、組合的HDS寄存器和當(dāng)前DDS寄存器100-104中。DDS生成模塊46”包括HDS監(jiān)控模塊64”、當(dāng)前HDS長(zhǎng)度模塊108、DDS間隙可用性模塊110和可用性比較模塊112。HDS監(jiān)控模塊64”監(jiān)控從第二加密模塊176接收的壓縮的且加密的HDS。如上文參考圖4的實(shí)現(xiàn)方式所述,HDS監(jiān)控模塊64”可以確定接收的HDS 是否是完整HDS和/或一系列HDS中的最后一個(gè)HDS (HDS的末端)。HDS監(jiān)控模塊64”可以基于所述確定生成完整HDS信號(hào)和HDS的末端信號(hào)。當(dāng)前HDS長(zhǎng)度模塊108從HDS監(jiān)控模塊64”接收壓縮的和/或加密的HDS。當(dāng)前 HDS長(zhǎng)度模塊108確定HDS的長(zhǎng)度并且生成HDS長(zhǎng)度信號(hào)。
13
DDS間隙可用性模塊110基于當(dāng)前HDS長(zhǎng)度、組合的HDS長(zhǎng)度、預(yù)定DDS長(zhǎng)度和/ 或允許的HDS長(zhǎng)度來確定可用的位間隙。組合的HDS長(zhǎng)度、DDS長(zhǎng)度和允許的HDS長(zhǎng)度可以分別由長(zhǎng)度模塊116、118、120確定。組合的HDS長(zhǎng)度、預(yù)定DDS長(zhǎng)度和允許的HDS長(zhǎng)度可以存儲(chǔ)在存儲(chǔ)器122中。DDS生成模塊46”還可以包括計(jì)時(shí)器130、HDS計(jì)數(shù)器132、計(jì)時(shí)器比較模塊134、 HDS比較模塊136、組合確定模塊140、組合器模塊142和DDS構(gòu)建模塊144。當(dāng)可用性比較模塊112、計(jì)時(shí)器比較模塊134和HDS比較模塊64”的輸出為高時(shí), 組合確定模塊140可以將當(dāng)前HDS與其他HDS進(jìn)行組合。當(dāng)可用性比較模塊112、計(jì)時(shí)器比較模塊134和HDS比較模塊136的輸出中的一個(gè)或多個(gè)為低時(shí),組合確定模塊140可以不將當(dāng)前HDS與其他HDS進(jìn)行組合。組合確定模塊140還可以基于完整HDS信號(hào)和HDS的末端信號(hào)將當(dāng)前HDS與其他 HDS進(jìn)行組合。例如,當(dāng)完整HDS信號(hào)與HDS的末端信號(hào)之一為高時(shí),組合確定模塊140可以組合HDS。DDS構(gòu)建模塊144可以基于以下來構(gòu)建當(dāng)前DDS 來自組合確定模塊140的構(gòu)建信號(hào);來自可用性比較模塊112、計(jì)時(shí)器比較模塊134和HDS比較模塊64”的輸出;和/或完整HDS和HDS的末端信號(hào)。當(dāng)前DDS可以由例如ECC模塊50,進(jìn)行訪問?,F(xiàn)在也參考圖8,其示出了 HDS生成模塊64”。HDS生成模塊64”包括DDS選擇模塊150、解組合器模塊152和HDS選擇模塊154’。DDS選擇模塊150基于數(shù)據(jù)請(qǐng)求信號(hào)選擇存儲(chǔ)在NVSM 34中的DDS。HDS選擇模塊154’可以基于從緩沖器管理模塊74’接收的數(shù)據(jù)請(qǐng)求信號(hào)來訪問DDS。選定的DDS被提供給緩沖器管理模塊74’并且被存儲(chǔ)在選定的DDS 寄存器156中。選定的DDS可以由ECC模塊50’提供,并且被提供給DDS選擇模塊150和 /或解組合器模塊152。解組合器模塊152將DDS分成HDS。HDS選擇模塊154’選擇HDS中的一個(gè)或多個(gè)以向主機(jī)接口 18發(fā)送。HDS可以基于將數(shù)據(jù)請(qǐng)求信號(hào)中的LBA與和HDS—起存儲(chǔ)作為選定的DDS的一部分的LBA相匹配來進(jìn)行選擇。HDS選擇模塊154’向第二解密模塊176發(fā)送選定的HDS。選定的HDS可以被存儲(chǔ)在選定的HDS寄存器158中。該存儲(chǔ)可以在由解壓縮模塊66”和第三加密模塊180執(zhí)行的解壓縮和加密之后發(fā)生。選定的HDS可以由例如第三解密模塊180從緩沖器80進(jìn)行訪問。圖3和圖6的實(shí)現(xiàn)方式確保在數(shù)據(jù)(HDQ被存儲(chǔ)在緩沖器管理模塊74’、74”的緩沖器80之前對(duì)其進(jìn)行加密。這保護(hù)了接收并存儲(chǔ)在緩沖器管理模塊74’、74”中和/或由緩沖器管理模塊74’、74”接收并存儲(chǔ)的數(shù)據(jù)。在圖9至圖12中,示出了 DDS格式的示例。圖9的DDS格式圖示了包括單個(gè)未壓縮HDS 202的DDS 200。圖10的DDS格式圖示了包括壓縮的HDS 206的DDS 204。圖11 的DDS格式圖示了包括兩個(gè)壓縮的HDS 210的DDS 208。圖12的DDS格式圖示了包括三個(gè)壓縮的 HDS 214 的 DDS 212。DDS可以包括指示符字段,諸如HDS標(biāo)識(shí)位。HDS標(biāo)識(shí)位用于從所存儲(chǔ)的DDS恢復(fù) HDS0 HDS標(biāo)識(shí)位可以包括用于指示以下的位DDS是否包括壓縮的和/或未壓縮的HDS ;以及單個(gè)DDS具有的HDS的數(shù)目。例如,圖9至圖12的DDS 200、204、208和212包括3個(gè) HDS標(biāo)識(shí)位216、218、220、222。DDS 200的HDS標(biāo)識(shí)位串“000”指示DDS 200具有單個(gè)未壓縮的HDS。DDS 204的HDS標(biāo)識(shí)位串“001”指示DDS 204具有單個(gè)壓縮的HDS。DDS 208的 HDS標(biāo)識(shí)位串“011”指示DDS 208具有兩個(gè)壓縮的HDS。DDS 212的HDS標(biāo)識(shí)位串“ 100”指示DDS 212具有3個(gè)HDS。如圖所示,HDS 202、206、210、214可以具有不同位長(zhǎng)度。由于壓縮和/或由于從主機(jī)接收不同的長(zhǎng)度HDS和/或部分HDS,HDS202、206、210、214可以具有不同的長(zhǎng)度。NVSM 驅(qū)動(dòng)可以生成并存儲(chǔ)DDS 200、204、208、212中的一個(gè)或多個(gè)。雖然DDS 200、204、208、212 被示出具有特定數(shù)目的HDS,但是DDS 200、204、208、212可以具有任意數(shù)目的HDS。如圖10至圖12中所示,DDS可以包括多余數(shù)據(jù)(位)?;趯?duì)應(yīng)HDS的長(zhǎng)度以及 DDS的預(yù)定長(zhǎng)度,可以包括不同量的多余數(shù)據(jù)。如圖9至圖12中所示,多余數(shù)據(jù)可以被添加以使得DDS為相同長(zhǎng)度??梢蕴砑佣嘤鄶?shù)據(jù)以防止HDS在兩個(gè)DDS之間分裂。HDS標(biāo)識(shí)位還可以包括標(biāo)識(shí)HDS長(zhǎng)度的長(zhǎng)度位。圖11和圖12的格式包括標(biāo)識(shí)HDS 210、HDS 214的長(zhǎng)度的長(zhǎng)度位。HDS標(biāo)識(shí)位還可以包括LBA。LBA可以被包括并且與HDS中的每一個(gè)相關(guān)聯(lián)。附加的LBA可以被包括并且與DDS的組合的HDS相關(guān)聯(lián)。DDS可以具有與HDS相同的長(zhǎng)度。作為一個(gè)示例,只包括單個(gè)HDS的DDS (諸如DDS 200)可能不包括HDS標(biāo)識(shí)位。缺少HDS標(biāo)識(shí)位可以由例如圖3和圖6的HDS生成模塊64’、 64”和/或緩沖器管理模塊74’、74”進(jìn)行檢測(cè)。當(dāng)DDS不包括HDS標(biāo)識(shí)位時(shí),HDS生成模塊 64’、64”和/或緩沖器管理模塊74’、74”可以確定接收的DDS包括單個(gè)未壓縮的HDS或壓縮的HDS。作為一個(gè)示例,HDS標(biāo)識(shí)位可以包括在只具有單個(gè)壓縮的HDS的DDS中,而HDS標(biāo)識(shí)位可能沒有包括在只具有單個(gè)未壓縮的HDS的DDS中。作為另一示例,HDS標(biāo)識(shí)位可以包括在只具有單個(gè)未壓縮的HDS的DDS中,而HDS標(biāo)識(shí)位可能沒有包括在只具有單個(gè)壓縮的HDS的DDS中。在圖3中,示出了利用緩沖器前壓縮的NVSM訪問方法。雖然以下任務(wù)主要是參考圖3至圖5的實(shí)現(xiàn)方式進(jìn)行描述,但是所述任務(wù)可以被簡(jiǎn)單地進(jìn)行修改以應(yīng)用于本公開的其他實(shí)現(xiàn)方式。該方法可以開始于250處。在252處,壓縮模塊44經(jīng)由NVSM驅(qū)動(dòng)接口 30從主機(jī)接口 18接收一個(gè)或多個(gè)當(dāng)前HDS。為了描述的方便,以下主要描述對(duì)單個(gè)當(dāng)前HDS的處理。在邪4處,壓縮模塊44對(duì) HDS進(jìn)行壓縮并將壓縮的HDS向加密模塊48’轉(zhuǎn)發(fā)。加密模塊48’對(duì)該壓縮的HDS進(jìn)行加密,并且將加密且壓縮的HDS向緩沖器管理模塊74’轉(zhuǎn)發(fā)。在256處,緩沖器管理模塊74’和/或HDS監(jiān)控模塊106將壓縮且加密的HDS存儲(chǔ)在當(dāng)前HDS寄存器100中。在257處,HDS監(jiān)控模塊106可以生成完整HDS信號(hào)和HDS的
末端信號(hào)。在258處,在當(dāng)前HDS是與待生成的DDS相關(guān)聯(lián)的第一個(gè)接收到的HDS時(shí),計(jì)時(shí)器 130和HDS計(jì)數(shù)器132由HDS監(jiān)控模塊106啟動(dòng)。在當(dāng)前HDS是將與先前接收的HDS組合的后續(xù)HDS時(shí),HDS計(jì)數(shù)器132遞增。在260處,當(dāng)前HDS長(zhǎng)度模塊108確定當(dāng)前壓縮且加密的HDS的當(dāng)前HDS長(zhǎng)度。在 262處,DDS間隙可用性模塊110基于當(dāng)前HDS長(zhǎng)度、組合的HDS長(zhǎng)度、預(yù)定DDS長(zhǎng)度和/或允許的HDS長(zhǎng)度確定當(dāng)前DDS的可用的位間隙。在當(dāng)前HDS是當(dāng)前DDS的第一 HDS時(shí),當(dāng)前HDS長(zhǎng)度等于組合的HDS長(zhǎng)度。在264處,可用性比較模塊112將DDS位間隙可用性與預(yù)定剩余DDS閾值進(jìn)行比較,并且生成可用性比較信號(hào)。在266處,計(jì)時(shí)器比較模塊184將計(jì)時(shí)器130的輸出與計(jì)時(shí)器閾值進(jìn)行比較,并且生成計(jì)時(shí)器比較信號(hào)。在268處,HDS比較模塊136將HDS計(jì)數(shù)器值與HDS閾值進(jìn)行比較,并且生成HDS比較信號(hào)。在270處,組合確定模塊140確定是否將當(dāng)前壓縮且加密的HDS與存儲(chǔ)在組合的 HDS寄存器102中的其他HDS進(jìn)行組合。該確定可以基于可用性比較信號(hào)、計(jì)時(shí)器比較信號(hào)、HDS比較信號(hào)、完整HDS信號(hào)和HDS的末端信號(hào)。組合確定模塊140基于該確定生成組合信號(hào)。當(dāng)HDS被組合時(shí),DDS生成模塊46’進(jìn)行到任務(wù)272,否則DDS生成模塊46’進(jìn)行到任務(wù)252。在272處,組合器模塊142基于組合信號(hào)將當(dāng)前HDS與組合的HDS寄存器102的選定的組合的HDS寄存器102中的HDS進(jìn)行組合。組合信號(hào)可以指示選擇組合HDS寄存器102中的哪一個(gè)。在任務(wù)272之后,DDS生成模塊46’可以返回到任務(wù)252。在組合HDS 之后,DDS生成模塊46’可以備選地進(jìn)行到273。這可以例如在最后一個(gè)HDS (先前或當(dāng)前 HDS)與所存儲(chǔ)的HDS的組合使得達(dá)到預(yù)定DDS長(zhǎng)度限制時(shí)發(fā)生。在273處,組合確定模塊140可以基于可用性比較信號(hào)、計(jì)時(shí)器比較信號(hào)、HDS比較信號(hào)、完整HDS信號(hào)和HDS的末端信號(hào)生成DDS構(gòu)建信號(hào)。當(dāng)構(gòu)建信號(hào)為低時(shí),緩沖器管理模塊74’和DDS生成模塊46’可以等待下一 HDS。當(dāng)構(gòu)建信號(hào)為低時(shí),緩沖器管理模塊74’ 可以返回到252。在274處,DDS構(gòu)建模塊144可以基于構(gòu)建信號(hào)和/或基于可用性比較信號(hào)、計(jì)時(shí)器比較信號(hào)、HDS比較信號(hào)、完整HDS信號(hào)和HDS的末端信號(hào)中的一個(gè)或多個(gè)來構(gòu)建當(dāng)前 DDS0當(dāng)構(gòu)建信號(hào)為高時(shí),DDS構(gòu)建模塊144可以構(gòu)建當(dāng)前DDS。在276處,在生成了當(dāng)前DDS時(shí),DDS構(gòu)建模塊144生成復(fù)位信號(hào),以對(duì)計(jì)時(shí)器130 和HDS比較模塊136進(jìn)行復(fù)位。當(dāng)計(jì)時(shí)器130和HDS比較模塊136被復(fù)位時(shí),緩沖器管理模塊74’可以返回到252。在278處,ECC模塊50’對(duì)當(dāng)前DDS進(jìn)行誤差校正編碼并將當(dāng)前 DDS存儲(chǔ)在NVSM 34中。在280處,HDS生成模塊64,和/或DDS選擇模塊150基于數(shù)據(jù)請(qǐng)求信號(hào)訪問NVSM 34中的DDS(例如,當(dāng)前DDQ。該數(shù)據(jù)請(qǐng)求信號(hào)可以由緩沖器管理模塊74’生成。在觀2 處,解組合器模塊512將DDS轉(zhuǎn)換成一個(gè)或多個(gè)HDS。HDS可以包括LBA。HDS選擇模塊154 選擇HDS中的一個(gè)或多個(gè),以用于存儲(chǔ)在緩沖器80的選定的HDS寄存器158中。該選擇可以基于LBA。在284處,解密模塊62’對(duì)選定的HDS進(jìn)行解密。在286處,解壓縮模塊66’對(duì)解密的HDS進(jìn)行解壓縮。在288處,NVSM驅(qū)動(dòng)接口 30向主機(jī)接口 18發(fā)送解密的HDS。任務(wù) 280至任務(wù)288可以獨(dú)立于任務(wù)252至任務(wù)278執(zhí)行和/或在不執(zhí)行任務(wù)252至任務(wù)278 的情況下執(zhí)行。在執(zhí)行任務(wù)288之后,NVSM驅(qū)動(dòng)接口 30可以返回到任務(wù)觀0。上述任務(wù)252至任務(wù)288意味著說明性的示例;在252至288處的這些任務(wù)可以順次地、同步地、同時(shí)地、連續(xù)地、在重疊時(shí)段期間或取決于應(yīng)用而按照不同的順序執(zhí)行。在圖14中,示出了利用緩沖器后壓縮的NVSM訪問方法。雖然以下任務(wù)主要參考圖6至圖8的實(shí)現(xiàn)方式進(jìn)行描述,但是任務(wù)可以被簡(jiǎn)單地修改以應(yīng)用于本公開的其他實(shí)現(xiàn)方式。該方法可以開始于300處。在302處,第一加密模塊170經(jīng)由NVSM驅(qū)動(dòng)接口 30從主機(jī)接口 18接收一個(gè)或多個(gè)當(dāng)前HDS。為了描述的方便,下文主要描述對(duì)單個(gè)當(dāng)前HDS的處理。第一加密模塊170對(duì)當(dāng)前HDS進(jìn)行加密。在304處,緩沖器管理模塊74”接收加密的HDS并將其存儲(chǔ)在緩沖器80的當(dāng)前 HDS寄存器中的一個(gè)中。在306處,第一解密模塊172對(duì)當(dāng)前HDS進(jìn)行解密。在308處,壓縮模塊44’對(duì)當(dāng)前HDS進(jìn)行壓縮并將壓縮的HDS向第二加密模塊174轉(zhuǎn)發(fā)。在310處,第二加密模塊174對(duì)壓縮的HDS進(jìn)行加密,并且將加密且壓縮的HDS向 DDS生成模塊46”轉(zhuǎn)發(fā)。第二加密模塊174可以使用與第一加密模塊170相同或者不同的加密方法。使用不同的加密方法可以提供增強(qiáng)的安全等級(jí)。在312處,HDS監(jiān)控模塊106’接收加密且壓縮的HDS。在313處,HDS監(jiān)控模塊 106可以基于加密且壓縮的HDS來生成完整HDS信號(hào)和HDS的末端信號(hào)。在314處,在當(dāng)前HDS是與待生成的DDS相關(guān)聯(lián)的第一個(gè)接收到的HDS時(shí),計(jì)時(shí)器 130和HDS計(jì)數(shù)器132由HDS監(jiān)控模塊106’啟動(dòng)。在當(dāng)前HDS是待與先前接收的HDS組合的后續(xù)HDS時(shí),HDS計(jì)數(shù)器132遞增。在316處,當(dāng)前HDS長(zhǎng)度模塊108確定當(dāng)前壓縮且加密的HDS的當(dāng)前HDS長(zhǎng)度。在 318處,DDS間隙可用性模塊110基于當(dāng)前HDS長(zhǎng)度、組合的HDS長(zhǎng)度、預(yù)定DDS長(zhǎng)度和/或允許的HDS長(zhǎng)度來確定當(dāng)前DDS的可用的位間隙。在當(dāng)前HDS是當(dāng)前DDS的第一 HDS時(shí), 當(dāng)前HDS長(zhǎng)度等于組合的HDS長(zhǎng)度。在320處,可用性比較模塊112將DDS位間隙可用性與預(yù)定剩余DDS閾值進(jìn)行比較,并且生成可用性比較信號(hào)。在322處,計(jì)時(shí)器比較模塊134將計(jì)時(shí)器130的輸出與計(jì)時(shí)器閾值進(jìn)行比較,并且生成計(jì)時(shí)器比較信號(hào)。在3M處,HDS比較模塊136將HDS計(jì)數(shù)器值與HDS閾值進(jìn)行比較,并且生成HDS比較信號(hào)。在3 處,組合確定模塊140確定是否將當(dāng)前壓縮且加密的HDS與存儲(chǔ)在組合的 HDS寄存器中的其他HDS進(jìn)行組合。該確定可以基于可用性比較信號(hào)、計(jì)時(shí)器比較信號(hào)、HDS 比較信號(hào)、完整HDS信號(hào)和HDS的末端信號(hào)。組合確定模塊140基于該確定生成組合信號(hào)。 當(dāng)HDS被組合時(shí),DDS生成模塊46”進(jìn)行到任務(wù)328,否則DDS生成模塊46”進(jìn)行到任務(wù)330。 在組合HDS之后,DDS生成模塊46”可以備選地進(jìn)行到任務(wù)沈3。例如,這可以在最后一個(gè) HDS與所存儲(chǔ)的HDS的組合使得達(dá)到預(yù)定DDS長(zhǎng)度限制時(shí)發(fā)生。在3 處,組合器模塊142基于組合信號(hào)將當(dāng)前HDS與在組合的HDS寄存器102 的選定的組合HDS寄存器102中的HDS進(jìn)行組合。組合信號(hào)可以指示選擇組合的HDS寄存器102中的哪一個(gè)。在330處,組合確定模塊140可以基于可用性比較信號(hào)、計(jì)時(shí)器比較信號(hào)、HDS比較信號(hào)、完整HDS信號(hào)和HDS的末端信號(hào)生成DDS構(gòu)建信號(hào)。當(dāng)構(gòu)建信號(hào)為低時(shí),緩沖器管理模塊74”和DDS生成模塊46”可以等待下一 HDS。當(dāng)構(gòu)建信號(hào)為低時(shí),緩沖器管理模塊46” 可以返回到302。在332處,DDS構(gòu)建模塊144基于構(gòu)建信號(hào)和/或基于可用性比較信號(hào)、計(jì)時(shí)器比較信號(hào)、HDS比較信號(hào)、完整HDS信號(hào)和HDS的末端信號(hào)中的一個(gè)或多個(gè)來構(gòu)建當(dāng)前DDS。 當(dāng)構(gòu)建信號(hào)為高時(shí),DDS構(gòu)建模塊144可以構(gòu)建當(dāng)前DDS。
1
在334處,在生成了當(dāng)前DDS時(shí),DDS構(gòu)建模塊144生成復(fù)位信號(hào)以對(duì)計(jì)時(shí)器130 和HDS比較模塊136進(jìn)行復(fù)位。當(dāng)計(jì)時(shí)器130和HDS比較模塊136被復(fù)位時(shí),緩沖器管理模塊74”可以返回到302。在336處,ECC模塊50’對(duì)當(dāng)前DDS進(jìn)行誤差校正編碼并且將當(dāng)前DDS存儲(chǔ)在NVSM 34中。在338處,HDS生成模塊64”和/或DDS選擇模塊150基于數(shù)據(jù)請(qǐng)求信號(hào)訪問NVSM 34中的DDS (例如,當(dāng)前DDS)。該數(shù)據(jù)請(qǐng)求信號(hào)可以由緩沖器管理模塊74”生成。在340處,解組合器模塊152將DDS轉(zhuǎn)換成一個(gè)或多個(gè)HDS。HDS可以包括LBA。 HDS選擇模塊154’選擇HDS中的一個(gè)或多個(gè)并且將選定的HDS向第二解密模塊176傳送。 該選擇可以基于LBA并且可以由緩沖器管理模塊74”而不是由HDS生成模塊64”執(zhí)行。該選擇可以在342至346處的解密、解壓縮和加密之后發(fā)生。在342處,第二解密模塊176對(duì)選定的HDS進(jìn)行解密。在344處,解壓縮模塊66’ 對(duì)解密的HDS進(jìn)行解壓縮。在346處,第三加密模塊180在解壓縮的HDS被存儲(chǔ)在緩沖器 80的選定的HDS寄存器158之前對(duì)該解壓縮的HDS進(jìn)行加密。第三加密模塊180可以使用與由第一加密模塊170和第二加密模塊174所使用的加密方法相同或不同的加密方法。在348處,當(dāng)由HDS生成模塊64”選定時(shí),緩沖器管理模塊74”轉(zhuǎn)發(fā)由第三加密模塊180接收的加密的HDS。當(dāng)該選擇不是由HDS生成模塊64”執(zhí)行時(shí),緩沖器管理模塊74” 可以選擇由第三加密模塊180接收的加密的HDS中的一個(gè)或多個(gè)。該選擇可以再次基于加密的HDS的LBA。在350處,第三解密模塊對(duì)從緩沖器管理模塊74”接收的加密的HDS進(jìn)行解密。 在352處,NVSM驅(qū)動(dòng)接口 30,向主機(jī)接口 18發(fā)送由第三解密模塊182接收的解密的HDS。 任務(wù)338至任務(wù)352可以獨(dú)立于任務(wù)302至任務(wù)336執(zhí)行和/或在不執(zhí)行任務(wù)302至任務(wù) 336的情況下執(zhí)行。在執(zhí)行任務(wù)352之后,NVSM驅(qū)動(dòng)接口 30可以返回到任務(wù)338。上述任務(wù)302至任務(wù)352意味著是說明性示例;在302至352處的這些任務(wù)可以順次地、同步地、同時(shí)地、連續(xù)地、在重疊時(shí)段期間或取決于應(yīng)用而按照不同的順序執(zhí)行。上述系統(tǒng)和方法減少了 NVSM的“損耗”。所述壓縮技術(shù)和DDS生成技術(shù)可以增加 NVSM的存儲(chǔ)容量,同時(shí)提供可靠的讀寫事件。本公開的廣泛教導(dǎo)可以按照各種形式來實(shí)現(xiàn)。因此,雖然本公開包括特定示例,但本公開的真實(shí)范圍不應(yīng)當(dāng)受到限制,這是因?yàn)榛趯?duì)附圖、說明書和以下權(quán)利要求書的研究,其他修改會(huì)變得明顯。
權(quán)利要求
1.一種非易失性半導(dǎo)體存儲(chǔ)器(NVSM)存儲(chǔ)系統(tǒng),包括NVSM驅(qū)動(dòng)接口,配置用于從主機(jī)接口接收主機(jī)數(shù)據(jù)扇區(qū)(HDS);緩沖器管理模塊,配置用于將所述HDS存儲(chǔ)到緩沖器中;壓縮模塊,配置用于對(duì)所述HDS進(jìn)行壓縮以生成不同長(zhǎng)度的壓縮的HDS ;以及驅(qū)動(dòng)數(shù)據(jù)扇區(qū)(DDQ生成模塊,配置用于向所述壓縮的HDS添加多余數(shù)據(jù)以生成DDS,其中所述DDS存儲(chǔ)在NVSM中。
2.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),其中所述NVSM驅(qū)動(dòng)接口和所述主機(jī)接口選自包括以下的分組串行高級(jí)技術(shù)附接接口、小型計(jì)算機(jī)系統(tǒng)接口、光纖通道接口和通用串行總線接口。
3.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),進(jìn)一步包括加密模塊,配置用于對(duì)所接收的 HDS和所述壓縮的HDS中的至少一個(gè)進(jìn)行加密以生成加密的HDS,其中所述DDS生成模塊配置用于將所述加密的HDS轉(zhuǎn)換成所述DDS。
4.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),進(jìn)一步包括加密模塊,配置用于對(duì)所接收的HDS與所述壓縮的HDS中的一個(gè)進(jìn)行加密以生成加密的 HDS,其中所述DDS生成模塊配置用于轉(zhuǎn)換所述壓縮的HDS或所述加密的HDS以生成所述 DDS ;以及誤差校正編碼模塊,配置用于對(duì)所述DDS進(jìn)行編碼以生成編碼的DDS, 其中所述編碼的DDS存儲(chǔ)在所述NVSM中。
5.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),進(jìn)一步包括第一加密模塊,配置用于在所述緩沖器管理模塊接收所述HDS之前對(duì)所述接收的HDS 進(jìn)行加密;解密模塊,配置用于對(duì)從所述緩沖器管理模塊接收的加密的HDS進(jìn)行解密;以及第二加密模塊,配置用于對(duì)所述壓縮的HDS進(jìn)行加密,其中所述壓縮模塊配置用于基于從所述解密模塊接收的解密的HDS來生成所述壓縮的 HDS。
6.根據(jù)權(quán)利要求5所述的NVSM存儲(chǔ)系統(tǒng),進(jìn)一步包括誤差校正編碼模塊,其中 所述DDS生成模塊配置用于基于來自所述第二加密模塊的加密的且壓縮的HDS來生成所述DDS ;所述誤差校正編碼模塊配置用于對(duì)所述DDS進(jìn)行編碼以生成編碼的DDS ;以及所述誤差校正編碼模塊配置用于將所述編碼的DDS存儲(chǔ)在所述NVSM中。
7.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),其中所接收的HDS是未壓縮的。
8.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),其中 所述HDS包括第一 HDS和第二 HDS ;所述緩沖器管理模塊和所述DDS生成模塊中的一個(gè)配置用于確定是否組合所述第一 HDS和所述第二 HDS ;以及所述DDS生成模塊配置用于組合所述第一 HDS和所述第二 HDS以生成所述DDS中的一個(gè)。
9.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),其中所述緩沖器管理模塊和所述DDS生成模塊中的一個(gè)包括計(jì)時(shí)器,配置用于基于自從所述DDS之一的第一 HDS被所述緩沖器管理模塊接收起的時(shí)間段來生成計(jì)時(shí)器信號(hào);以及計(jì)時(shí)器比較模塊,配置用于將所述計(jì)時(shí)器信號(hào)與計(jì)時(shí)器閾值進(jìn)行比較,并且生成計(jì)時(shí)器比較信號(hào);以及所述DDS生成模塊配置用于基于所述計(jì)時(shí)器比較信號(hào)生成所述DDS中的一個(gè)。
10.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),其中 所述緩沖器管理模塊和所述DDS生成模塊中的一個(gè)包括HDS計(jì)數(shù)器,配置用于基于所述緩沖器管理模塊接收的HDS并且組合以生成所述DDS中的一個(gè)的HDS的數(shù)目生成HDS計(jì)數(shù)器信號(hào);以及HDS比較模塊,配置用于將所述HDS計(jì)數(shù)器信號(hào)與HDS閾值進(jìn)行比較,并且生成HDS比較信號(hào);以及所述DDS生成模塊配置用于基于所述HDS比較信號(hào)生成所述DDS中的一個(gè)。
11.根據(jù)權(quán)利要求1所述的NVSM存儲(chǔ)系統(tǒng),其中所述DDS生成模塊包括組合確定模塊,配置用于確定是否組合當(dāng)前HDS與所存儲(chǔ)的HDS并且生成組合信號(hào); 組合器模塊,配置用于基于所述組合信號(hào)組合所述當(dāng)前HDS與所述所存儲(chǔ)的HDS ;以及 DDS構(gòu)建模塊,配置用于從所述當(dāng)前HDS與所述所存儲(chǔ)的HDS的組合來構(gòu)建所述DDS中的一個(gè)。
12.根據(jù)權(quán)利要求11所述的NVSM存儲(chǔ)系統(tǒng),其中所述組合確定模塊配置用于基于所述 DDS之一的位間隙可用性、計(jì)時(shí)器比較信號(hào)、HDS比較信號(hào)以及完整HDS信號(hào)與HDS的末端信號(hào)中的至少一個(gè)來確定是否組合所述當(dāng)前HDS與所述所存儲(chǔ)的HDS。
13.根據(jù)權(quán)利要求12所述的NVSM存儲(chǔ)系統(tǒng),進(jìn)一步包括DDS位間隙可用性模塊,配置用于基于所述當(dāng)前HDS的長(zhǎng)度和所述DDS之一的長(zhǎng)度來確定所述位間隙可用性;計(jì)時(shí)器模塊,配置用于生成所述計(jì)時(shí)器比較信號(hào); HDS比較模塊,配置用于生成所述HDS比較信號(hào);以及HDS監(jiān)控模塊,配置用于生成所述完整HDS信號(hào)與所述HDS的末端信號(hào)中的至少一個(gè)。
14.一種操作非易失性半導(dǎo)體存儲(chǔ)器(NVSM)存儲(chǔ)系統(tǒng)的方法,包括 經(jīng)由NVSM驅(qū)動(dòng)接口從主機(jī)接口接收主機(jī)數(shù)據(jù)扇區(qū)(HDS);將所述HDS存儲(chǔ)在緩沖器中;對(duì)所述HDS進(jìn)行壓縮以生成不同長(zhǎng)度的壓縮的HDS ;以及向所述壓縮的HDS添加多余數(shù)據(jù)以生成DDS, 其中所述DDS存儲(chǔ)在NVSM中。
15.根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括在緩沖器管理模塊接收所述HDS之前對(duì)所接收的HDS進(jìn)行壓縮。
16.根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括在緩沖器管理模塊接收所述HDS之后對(duì)所接收的HDS進(jìn)行壓縮。
17.根據(jù)權(quán)利要求14所述的方法,其中所述HDS包括第一HDS和第二 HDS,以及其中所述方法進(jìn)一步包括確定是否組合所述第一 HDS和所述第二 HDS ;以及組合所述第一 HDS和所述第二 HDS以生成所述DDS中的一個(gè)。
18.根據(jù)權(quán)利要求17所述的方法,進(jìn)一步包括基于所述第一 HDS和所述第二 HDS中的至少一個(gè)的長(zhǎng)度來確定所述DDS之一的位間隙可用性;以及基于所述位間隙可用性來組合所述第一 HDS和所述第二 HDS。
19.根據(jù)權(quán)利要求17所述的方法,進(jìn)一步包括基于預(yù)定DDS長(zhǎng)度與允許的HDS長(zhǎng)度中的至少一個(gè)來確定所述DDS之一的位間隙可用性;以及基于所述位間隙可用性來組合所述第一 HDS和所述第二 HDS。
20.根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括確定是否組合當(dāng)前HDS與所存儲(chǔ)的HDS并且生成組合信號(hào); 基于所述組合信號(hào)來組合所述當(dāng)前HDS與所述所存儲(chǔ)的HDS ; 從所述當(dāng)前HDS與所述所存儲(chǔ)的HDS的組合來構(gòu)建所述DDS中的一個(gè); 基于所述DDS之一的位間隙可用性、計(jì)時(shí)器比較信號(hào)、HDS比較信號(hào)以及完整HDS信號(hào)與HDS的末端信號(hào)中的至少一個(gè)來確定是否組合所述當(dāng)前HDS與所述所存儲(chǔ)的HDS ; 基于所述當(dāng)前HDS的長(zhǎng)度和所述DDS之一的長(zhǎng)度來確定所述位間隙可用性; 生成所述計(jì)時(shí)器比較信號(hào); 生成所述HDS比較信號(hào);以及生成所述完整HDS信號(hào)與所述HDS末端信號(hào)中的至少一個(gè)。
全文摘要
一種非易失性半導(dǎo)體存儲(chǔ)器(NVSM)存儲(chǔ)系統(tǒng),包括NVSM驅(qū)動(dòng)接口,配置用于從主機(jī)接口接收主機(jī)數(shù)據(jù)扇區(qū)(HDS)。緩沖器管理模塊,配置用于將所述HDS存儲(chǔ)在緩沖器中。壓縮模塊,配置用于對(duì)所述HDS進(jìn)行壓縮以生成不同長(zhǎng)度的壓縮的HDS。驅(qū)動(dòng)數(shù)據(jù)扇區(qū)(DDS)生成模塊,配置用于向所述壓縮的HDS添加多余數(shù)據(jù)以生成DDS。所述DDS被存儲(chǔ)在NVSM中。
文檔編號(hào)G06F3/06GK102483687SQ201080037302
公開日2012年5月30日 申請(qǐng)日期2010年9月1日 優(yōu)先權(quán)日2009年9月1日
發(fā)明者G·伯德, 陽學(xué)仕 申請(qǐng)人:馬維爾國際貿(mào)易有限公司