亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲設(shè)備的數(shù)據(jù)掃描方法和裝置的制作方法

文檔序號:6768669閱讀:187來源:國知局

專利名稱::存儲設(shè)備的數(shù)據(jù)掃描方法和裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及半導(dǎo)體存儲
技術(shù)領(lǐng)域
,尤其涉及一種存儲設(shè)備的數(shù)據(jù)掃描方法及裝置。
背景技術(shù)
:NANDFlash(與非閃存)被廣泛應(yīng)用于大容量存儲設(shè)備中,例如,目前市場上常見的固態(tài)硬盤(SolidStateDisk,固態(tài)硬盤),在NANDFlash中,數(shù)據(jù)位反現(xiàn)象是一個廣泛存在的問題。在數(shù)據(jù)存儲應(yīng)用中,對NANDFlash進(jìn)行操作時可能由于電壓不穩(wěn)定等因素造成對NANDFlash器件的操作錯誤,這些操作失誤會導(dǎo)致錯誤位數(shù)的產(chǎn)生,由于一些存儲設(shè)備存儲設(shè)備提供了回寫(Copy-Back)的功能,從而在NANDFlash中產(chǎn)生錯誤擴(kuò)散。錯誤檢查和修正(Errorchechingandcorrecting,ECC)邏輯可以糾正錯誤位數(shù)在一定范圍內(nèi)的錯誤數(shù)據(jù),當(dāng)往NANDFlash的頁(page)中寫數(shù)據(jù)時,計算生成一個ECC校驗和,保存到頁或扇區(qū)的備用區(qū)中,當(dāng)從NANDFlash中讀數(shù)據(jù)時,根據(jù)備用區(qū)中的ECC校驗和,讀出數(shù)據(jù)計算出的新ECC校驗和,可以糾正一定數(shù)量的錯誤。由于ECC邏輯不能主動針對錯誤數(shù)據(jù)進(jìn)行糾錯,尤其是對于由NANDFlash位翻轉(zhuǎn)導(dǎo)致的數(shù)據(jù)錯誤積累的這種情況,直到數(shù)據(jù)被讀出時才能被察覺,如果錯誤數(shù)據(jù)超出了ECC糾錯能力,則即使發(fā)現(xiàn)了錯誤也無法糾正數(shù)據(jù)錯誤,對存儲設(shè)備中存儲數(shù)據(jù)的可靠性帶來影響。
發(fā)明內(nèi)容考慮到上述的問題,本發(fā)明要解決的技術(shù)問題是提出了一種數(shù)據(jù)掃描的方法,可以提前對存儲單元陣列中出現(xiàn)的錯誤位數(shù)進(jìn)行處理,以減少錯誤位數(shù)在存儲單元陣列中擴(kuò)散,避免錯誤位數(shù)累積超過了ECC的糾錯能力,提高存儲設(shè)備中存儲數(shù)據(jù)的可靠性。在本發(fā)明的一個實施方式中包括以下步驟當(dāng)掃描周期到達(dá)時,按照預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);對所述數(shù)據(jù)進(jìn)行糾錯處理;當(dāng)所述數(shù)據(jù)中的錯誤位數(shù)超過門限值時,將所述糾錯處理的數(shù)據(jù)回寫到所述存儲單元陣列中。本發(fā)明的一個實施方式中,公開了一種掃描裝置,所述掃描裝置連接于用于校驗數(shù)據(jù)的ECC模塊,所述掃描裝置包括掃描單元,用于當(dāng)掃描周期到達(dá)時,按照預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);掃描裝置通知所述ECC模塊對所述存儲單元陣列中讀取的數(shù)據(jù)進(jìn)行糾錯;如果ECC模塊判斷所述錯誤位數(shù)超過門限值,則所述掃描裝置通過控制單元將糾錯處理的數(shù)據(jù)回寫到存儲單元陣列中。本發(fā)明的其他實施方式中,公開一種存儲設(shè)備,所述存儲設(shè)備包括存儲單元陣列及連接存儲設(shè)備與數(shù)據(jù)處理系統(tǒng)的接口,ECC模塊,其中,所述存儲設(shè)備包括至少一個掃描裝置,所述掃描裝置包括掃描單元,所述掃描單元用于當(dāng)掃描周期到達(dá)時,按照掃描裝置預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);掃描裝置通知所述ECC模塊對所述讀取數(shù)據(jù)進(jìn)行糾錯;當(dāng)所述數(shù)據(jù)中的錯誤位數(shù)超過門限值時,則掃描裝置通知所述控制單元將所述已糾錯的數(shù)據(jù)回寫到所述存儲單元中。本發(fā)明實施方式中公開的數(shù)據(jù)掃描方法按照掃描周期的設(shè)置的基準(zhǔn)值對存儲單元陣列中的數(shù)據(jù)進(jìn)行掃描,主動針對錯誤數(shù)據(jù)進(jìn)行糾錯,可及時發(fā)現(xiàn)并糾正Flash中的數(shù)據(jù)錯誤,從而避免存儲單元陣列中錯誤數(shù)據(jù)累積超出存儲設(shè)備的糾錯能力;同時,由于可以對掃描裝置掃描周期讀取到的數(shù)據(jù)量進(jìn)行適應(yīng)性調(diào)整,可有效利用存儲設(shè)備的空閑時間,靈活性地對掃描裝置的掃描周期進(jìn)行管理,不影響對存儲設(shè)備正常的讀寫操作。為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1示出了一個實施方式的存儲設(shè)備的模塊圖圖2示出了一個實施方式的掃描裝置圖3示出了另一個實施方式的掃描裝置圖4示出了一個實施方式的ECC模塊圖5示出了一個實施方式的數(shù)據(jù)掃描流程圖圖6出了一個實施方式的數(shù)據(jù)掃描流程圖圖7示出了一個實施方式用于慢啟動的數(shù)據(jù)掃描流程圖圖8示出了一個實施方式用于擁塞控制的數(shù)據(jù)掃描流程圖圖9示出了一個實施方式用于擁塞控制的數(shù)據(jù)掃描流程圖圖10示出了掃描周期的掃描數(shù)據(jù)量的變化場景圖具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。圖1示出了本發(fā)明實施方式的存儲設(shè)備的模塊圖,參見附圖,包括所述存儲設(shè)備01包括存儲單元陣列10及連接存儲設(shè)備01與數(shù)據(jù)處理系統(tǒng)的接口02,ECC模塊31,其中,所述存儲設(shè)備01包括至少一個掃描裝置ll,所述掃描裝置11包括掃描單元14,所述掃描單元14用于當(dāng)掃描周期到達(dá)時,按照掃描裝置11預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列10中讀取數(shù)據(jù);掃描裝置11通知所述ECC模塊31對所述讀取數(shù)據(jù)進(jìn)行糾錯;當(dāng)所述數(shù)據(jù)中的錯誤位數(shù)超過門限值時,則掃描裝置11通知所述控制單元20將所述已糾錯的數(shù)據(jù)回寫到所述存儲單元陣列10中。對于配置多個數(shù)據(jù)通道的存儲設(shè)備01,例如,固態(tài)硬盤,一般的,存儲單元陣列10中,包括多個存儲芯片,存儲設(shè)備被配置成將M位數(shù)據(jù)存儲在存儲單元陣列10中。在實際應(yīng)用中,根據(jù)存儲單元陣列10的存儲方式不同,存儲設(shè)備01可以使用緩沖存儲器40:用于臨時存儲從接口02接收的數(shù)據(jù),或臨時存儲從存儲設(shè)備01發(fā)送到數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)。在本實施例中,緩沖存儲器40可以是非易失性存儲器(如同步DRAM),緩沖存儲器40可以被配置為以一個扇區(qū)為單位讀取和寫入數(shù)據(jù)。其中,接口02用于在數(shù)據(jù)處理系統(tǒng)和存儲設(shè)備01之間進(jìn)行數(shù)據(jù)傳輸;在實際應(yīng)用中,在數(shù)據(jù)處理系統(tǒng)和存儲設(shè)備01之間可以通過USB(通用串型總線)、IEEE1394、CF接口、SM接口、匪C接口、SD接口、MS接口、MD接口、X-D接口、PCMCIA接口、串行ATA接口、IDE接口、SCSI接口、HiperLAN接口、藍(lán)牙接口、IrDA紅外接口等多種通信接口進(jìn)行數(shù)據(jù)交換操作。在實際應(yīng)用中,控制單元20可以實施成控制存儲設(shè)備01全部操作的處理器,控制單元20和存儲單元陣列IO可以通過NAND,或NOR接口進(jìn)行通信??刂茊卧?0發(fā)送讀命令至存儲單元陣列10;(例如,向存儲單元陣列寫入命令OOH)至存儲單元陣列10中的某個頁地址。接著,從存儲單元陣列IO中讀取對應(yīng)的數(shù)據(jù),啟動掃描周期的讀數(shù)據(jù)操作。本實施例中,所述預(yù)設(shè)掃描周期可以通過數(shù)據(jù)處理系統(tǒng)的應(yīng)用軟件配置。圖2示出了本發(fā)明實施方式所公開的掃描裝置11,掃描裝置11包括掃描單元14,掃描單元14,用于當(dāng)掃描周期到達(dá)時,按照預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);掃描裝置11通知所述ECC模塊31對所述存儲單元陣列10中讀取的數(shù)據(jù)進(jìn)行糾錯;當(dāng)所述ECC模塊3判斷出數(shù)據(jù)中的錯誤位數(shù)超過門限值時,掃描裝置11通知控制單元20將所述已糾錯的數(shù)據(jù)回寫到所述存儲單元陣列中。本實施例中,掃描裝置11通過調(diào)用掃描單元14通知控制單元20將所述已糾錯的數(shù)據(jù)回寫到所述存儲單元陣列中。在數(shù)據(jù)處理系統(tǒng)中,所述掃描裝置11及掃描單元14可以實施為固化軟件或應(yīng)用軟件。圖3對掃描裝置11進(jìn)行了詳細(xì)的說明在本實施方式中,所述掃描裝置11包括計時單元12,用于記錄控制單元20讀取或?qū)懭霐?shù)據(jù)的時間。計時單元12包括空閑時間記錄單元120,用于記錄存儲設(shè)備01的空閑時間;空閑時間記錄單元120所記錄的空閑時間是控制單元20根據(jù)主機未發(fā)送讀寫處理命令到存儲設(shè)備Ol的時間來設(shè)定的。所述計時單元12包括掃描時間記錄單元121,用于記錄掃描裝置11對存儲設(shè)備01的掃描時間。具體的,掃描單元14,用于判斷對存儲設(shè)備01的掃描時間到達(dá)掃描周期時,則通知所述ECC模塊31對從所述存儲單元陣列中讀取的數(shù)據(jù)進(jìn)行檢錯或糾錯;如掃描單元14判斷對存儲設(shè)備Ol的掃描時間未達(dá)到一個掃描周期,則掃描單元14繼續(xù)從存儲單元陣列10中讀取數(shù)據(jù),直到讀數(shù)據(jù)操作時間到達(dá)一個掃描周期。掃描裝置11連接所述ECC模塊31,所述ECC模塊31通過預(yù)設(shè)的糾錯算法對從所述存儲單元陣列10中讀取的數(shù)據(jù)進(jìn)行檢錯/糾錯;并判斷已糾錯的數(shù)據(jù)是否超過回寫的門限值。掃描裝置11包括配置單元21,所述配置單元21用于預(yù)設(shè)掃描的基準(zhǔn)值,配置單元21預(yù)設(shè)的基準(zhǔn)值包括<table>tableseeoriginaldocumentpage7</column></row><table>所述掃描周期表示對存儲設(shè)備01的掃描周期;空閑時間容忍值表示配置單元21預(yù)設(shè)存儲設(shè)備01空閑時間的空閑時間容忍值;所述讀取數(shù)據(jù)量的閾值表示至少一個掃描周期內(nèi)讀取數(shù)據(jù)量的閾值;所述讀取數(shù)據(jù)量的初始值表示至少一個掃描周期內(nèi)讀取數(shù)據(jù)量的初始值。在實際應(yīng)用中,優(yōu)選的,配置單元21預(yù)設(shè)所讀取數(shù)據(jù)量的初始值可以是一個扇區(qū)長度;配置單元21預(yù)設(shè)掃描周期到達(dá)時讀取數(shù)據(jù)量的閾值(threshold)可以是一個物理塊長度。在實際應(yīng)用中,配置單元21可以是應(yīng)用軟件或固件等,方便用戶根據(jù)不同的使用場景進(jìn)行配置。需要說明的是,本領(lǐng)域技術(shù)人員可以知悉,以上列舉的初始值和閾值不局限一個扇區(qū)或一個物理塊,也可以是多個;具體的初始值和閾值(threshold)的設(shè)定要根據(jù)實際的不同應(yīng)用環(huán)境而設(shè)置,以上列舉的數(shù)值不作為對本發(fā)明的限制。在本實施方式中,在掃描裝置11中,可以包括數(shù)據(jù)長度控制單元25,所述數(shù)據(jù)長度控制單元25用于當(dāng)掃描裝置的掃描周期到達(dá)時,重新通過配置單元21配置預(yù)設(shè)的數(shù)據(jù)量的初始值和閾值(threshold),其中所述初始值可以是一個扇區(qū)的數(shù)據(jù)長度,所述閾值可以是一個物理塊的數(shù)據(jù)長度。掃描裝置11包括數(shù)據(jù)長度判斷單元26:用于判斷掃描周期到達(dá)時讀取到的數(shù)據(jù)量是否大于預(yù)定的閾值。圖4示出了本發(fā)明一個實方式的ECC模塊31,在本實施方式中,ECC模塊31用于錯誤掃描和/或糾錯,ECC模塊31包括ECC檢錯單元32、ECC糾錯單元33;ECC檢錯單元32用于掃描從存儲單元陣列10中讀取的數(shù)據(jù)中出現(xiàn)的錯誤位數(shù),將讀取的數(shù)據(jù)提供給緩沖存儲器40,如果讀取的數(shù)據(jù)中包括錯誤,則ECC檢錯單元32將錯誤數(shù)據(jù)位數(shù)傳輸至ECC糾錯單元33進(jìn)行糾錯處理。ECC糾錯單元33在ECC模塊31及控制單元20的控制下,根據(jù)一定的糾錯邏輯,在緩沖存儲器40中搜索錯誤位置,對所述錯誤數(shù)據(jù)進(jìn)行數(shù)據(jù)糾正復(fù)制處理,以糾正錯誤數(shù)據(jù)。ECC糾錯單元33對于發(fā)生錯誤的數(shù)據(jù),以扇區(qū)為單位,根據(jù)ECC檢錯單元32輸出的中間值,對發(fā)生的錯誤數(shù)據(jù)進(jìn)行糾錯。在掃描裝置11啟動掃描操作中,掃描裝置11通過掃描單元14從存儲設(shè)備01讀取數(shù)據(jù),具體的,當(dāng)控制單元20在接收到主處理器(CPU)的請求后,控制ECC檢錯單元32、ECC糾錯單元33完成數(shù)據(jù)檢錯和糾錯,最終控制將正確的數(shù)據(jù),包括掃描到無錯的數(shù)據(jù)和經(jīng)過糾錯后正確的數(shù)據(jù)傳輸至讀數(shù)據(jù)端。在本實施方式中,在ECC模塊31中,提供了ECC錯誤記錄單元34,用于記錄一個掃描周期內(nèi)讀取到的數(shù)據(jù)的錯誤位數(shù)以及所述ECC模塊最大允許的錯誤數(shù)。在一個實施方式中,在所述讀數(shù)據(jù)的過程中,ECC錯誤記錄單元34可以通過錯誤計數(shù)器或寄存器的功能統(tǒng)計所述ECC檢錯單元32掃描出的數(shù)據(jù)錯誤位數(shù)。在本實施方式中,ECC錯誤記錄單元34的錯誤計數(shù)器初始值為O,每讀取一字節(jié)錯誤數(shù)據(jù)就將所述錯誤計數(shù)值加一,所述ECC錯誤記錄單元34還可以用于記錄已糾正數(shù)據(jù)的位數(shù),以便于ECC模塊31根據(jù)所述已糾正錯誤數(shù)據(jù)同配置單元21中預(yù)設(shè)的回寫的門限值進(jìn)行比較,如達(dá)到所述回寫門限值,則控制單元IO將已糾正數(shù)據(jù)(已糾正數(shù)據(jù)位數(shù))回寫到所述存儲單元陣列10。在本實施方式中,ECC模塊31需要查詢配置單元21對于數(shù)據(jù)進(jìn)行糾錯后回寫的門限值,在實施應(yīng)用中,所述門限值的設(shè)定和存儲設(shè)備Ol的ECC模塊31的糾錯能力有關(guān)。例如,ECC模塊31中糾錯算法的糾錯能力為每讀取512字節(jié)數(shù)據(jù),可糾錯16位錯誤,而所讀出的數(shù)據(jù)中,ECC錯誤記錄單元34記錄每512字節(jié)數(shù)據(jù)中只有15位錯誤,則錯誤數(shù)據(jù)可被ECC糾錯單元33糾錯,反之,則超出ECC模塊31的糾錯能力。需要說明的是,如果ECC糾錯單元33判斷所述錯誤數(shù)據(jù)不可糾錯,則輸出ECC失敗信號,說明讀出的數(shù)據(jù)已經(jīng)不是之前寫入所述存儲單元陣列10的某個存儲區(qū)域的數(shù)據(jù)了,這樣導(dǎo)致數(shù)據(jù)存儲的不可靠性。在實際應(yīng)用中,當(dāng)所述存儲設(shè)備01為固態(tài)硬盤(或者閃存盤、MP3控制器)時,ECC模塊31可以通過邏輯實現(xiàn),也可以以固件的形式實現(xiàn)。如果數(shù)據(jù)處理系統(tǒng)的CPU具有強大的運算能力,可以將ECC模塊31設(shè)置于操作系統(tǒng)中,以便于用戶通過升級操作系統(tǒng)對ECC模塊31的算法進(jìn)行適應(yīng)性升級。圖5示出了一個實施方式的數(shù)據(jù)掃描流程圖需要說明的是,本實施方式提出的掃描方法適用于所有利用ECC算法進(jìn)行數(shù)據(jù)校驗的存儲設(shè)備;例如,在數(shù)據(jù)處理系統(tǒng)中,所述數(shù)據(jù)管理方法適用于NANDFlash存儲設(shè)備,NORFlash存儲設(shè)備,相變隨機存取存儲設(shè)備(PRAM),磁隨機存取存儲設(shè)備(MRAM)等存儲設(shè)備,或其他的非易失性存儲設(shè)備。在實際應(yīng)用中,所述數(shù)據(jù)掃描方法可構(gòu)建于ASIC,DSP,可編程邏輯裝置(PLD),現(xiàn)場可編程門陣列(FPGA),微處理器中。本發(fā)明實施方式的數(shù)據(jù)掃描流程包括步驟Sl,當(dāng)掃描周期到達(dá)時,按照掃描周期內(nèi)預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);步驟S2,對所述讀取數(shù)據(jù)進(jìn)行糾錯處理;步驟S3,當(dāng)所述數(shù)據(jù)中的錯誤位數(shù)超過門限值時,將所述經(jīng)糾錯的數(shù)據(jù)回寫到所述存儲單元陣列中。如圖6所示,其中,所述步驟S1可以進(jìn)一步包括步驟S10,啟動掃描裝置;首先,在本實施方式中,在存儲設(shè)備上電復(fù)位時,首先將掃描裝置的計數(shù)器清零,如掃描裝置讀取一個字節(jié)數(shù)據(jù),就將計數(shù)器記錄的的數(shù)據(jù)計數(shù)加一。需要說明的是,當(dāng)掃描裝置獲知存儲設(shè)備掉電時,將當(dāng)前掃描到的數(shù)據(jù)在存儲單元陣列中的地址記錄到存儲單元陣列的日志塊中,當(dāng)存儲設(shè)備重新上電后,掃描裝置掃描出掉電時所述存儲單元陣列中的存儲芯片上的日志塊中保存的掉電前的地址,將所述保存的掉電前的地址作為掃描的起始地址對存儲設(shè)備進(jìn)行掃描;當(dāng)掃描裝置已經(jīng)掃描到存儲單元陣列中某個存儲芯片或存儲單元的的結(jié)束位置時,則通過日志塊記錄讀取到的結(jié)束位置,同時所述掃描裝置掃描存儲單元陣列的下一個存儲芯片或存儲單元。接著,進(jìn)入步驟S11,按照掃描周期內(nèi)預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù),所述讀取數(shù)據(jù)的步驟具體是S110,查詢所述控制單元寫入數(shù)據(jù)至存儲單元的時間,當(dāng)查詢到記錄時間到達(dá)一個掃描周期,則通知所述掃描裝置將一個掃描周期所讀取到的數(shù)據(jù)發(fā)送到緩沖存儲器。在本實施方式中,可以對掃描裝置一個掃描周期讀取到的數(shù)據(jù)量進(jìn)行處理,以便靈活性的對掃描周期進(jìn)行調(diào)整。在本實施方式中,當(dāng)查詢到所述掃描裝置將一個掃描周期所讀取到的數(shù)據(jù)發(fā)送到緩沖存儲器,進(jìn)入步驟S2,對所述讀取數(shù)據(jù)進(jìn)行糾錯處理;步驟S20,從存儲單元陣列中讀一段數(shù)據(jù)后,將所讀取的數(shù)據(jù)發(fā)送至ECC模塊,將存儲在存儲單元陣列內(nèi)某個頁內(nèi)的備用區(qū)的校驗值讀出并進(jìn)行計算;將所述計算的結(jié)果與寫入該頁中的校驗值進(jìn)行比較。本實施方式中,ECC模塊掃描到錯誤位數(shù),則記錄所述錯誤位數(shù),并報告掃描裝置掃描周期內(nèi)對讀出數(shù)據(jù)進(jìn)行糾正的錯誤位數(shù)。根據(jù)ECC模塊的校驗規(guī)則對所述掃描周期內(nèi)讀到的錯誤數(shù)據(jù)進(jìn)行糾正;控制所述ECC模塊將所述計算的結(jié)果和數(shù)據(jù)一起寫入緩沖存儲器。步驟S21,判斷ECC模塊記錄的錯誤位數(shù)是否大于糾錯模塊的回寫門限值,如果判斷為是,則進(jìn)入步驟S3,將所述ECC模塊糾正過的數(shù)據(jù)回寫到所述存儲單元陣列。步驟S30,通知控制單元發(fā)送數(shù)據(jù)寫入命令(例如,發(fā)送頁編程命令80H),將數(shù)據(jù)從控制單元的緩存寫入存儲單元陣列的一個存儲芯片上的一頁,最后,寫入數(shù)據(jù)寫入操作確認(rèn)命令(例如,發(fā)送10H至存儲單元陣列),確認(rèn)寫入完畢。通知控制單元發(fā)送讀狀態(tài)命令到存儲單元陣列,以判斷寫操作是否成功。步驟S40,繼續(xù)等待下一個掃描周期到達(dá)。所述等待下一個掃描周期之后的操作同于前文說明,不再贅述。需要說明的是,本實施方式中的數(shù)據(jù)掃描方法能夠及時發(fā)現(xiàn)并糾正存儲單元陣列中的數(shù)據(jù)錯誤,從而避免錯誤數(shù)據(jù)累積超出存儲設(shè)備的糾錯能力。圖7示出了本發(fā)明另一個實施方式的用于慢啟動的數(shù)據(jù)掃描流程圖為了避免掃描存儲設(shè)備時對數(shù)據(jù)處理系統(tǒng)訪問存儲設(shè)備的正常操作帶來影響,在步驟SIO中,執(zhí)行本實施方式的慢啟動掃描方式,通過掃描裝置對至少一個掃描周期讀取到的數(shù)據(jù)量進(jìn)行處理,所述至少一個掃描周期內(nèi)讀取到的數(shù)據(jù)量也可以表示為數(shù)據(jù)掃描長度。在一實施例中,如圖7所示,步驟S10進(jìn)一步包括步驟S101:當(dāng)計時單元記錄的掃描時間到預(yù)設(shè)的掃描周期時,啟動所述數(shù)據(jù)長度控制單元對所述當(dāng)前掃描周期結(jié)束后下一個掃描周期內(nèi)讀取到的數(shù)據(jù)量進(jìn)行處理;在本實施方式中,所述數(shù)據(jù)長度控制單元參考的參數(shù)包括所述掃描周期內(nèi)讀取數(shù)據(jù)的初始值為一個扇區(qū)長度;所述掃描周期內(nèi)讀取數(shù)據(jù)量的閾值(threshold)為一個物理塊長度。步驟S102,獲取計時單元記錄的存儲設(shè)備的空閑時間,判斷所述空閑時間是否大于配置單元預(yù)設(shè)的空閑時間的空閑時間容忍值;如果所述空閑時間小于所述空閑時間容忍值,則不對下一個掃描周期讀取的數(shù)據(jù)量進(jìn)行處理;如果查詢所述空閑時間大于或等于所述空閑時間容忍值事件發(fā)生,則進(jìn)入步驟S103,當(dāng)所述前一個掃描周期中所述事件發(fā)生時,從下一個掃描周期開始,對讀取到的數(shù)據(jù)量整數(shù)倍遞增;需要說明的是,控制掃描到的數(shù)據(jù)量整數(shù)倍遞增是根據(jù)掃描到存儲設(shè)備的空閑時間大于或等于空閑時間容忍值時,則說明掃描裝置每個掃描周期的讀操作所讀取的數(shù)據(jù)量可以增加,因為一個掃描操作可以包括數(shù)個掃描周期,通過對所述掃描的數(shù)據(jù)量進(jìn)行增加,使掃描周期循環(huán)中,每個掃描周期讀取到的數(shù)據(jù)量達(dá)到一個合適的數(shù)據(jù)長度。所述控制掃描周期循環(huán)的過程中讀取的數(shù)據(jù)量整數(shù)倍遞增,是根據(jù)上述事件發(fā)生時,當(dāng)前一個掃描周期結(jié)束,控制下一個掃描周期讀取的數(shù)據(jù)量則按照一定的倍數(shù)遞增。例如,在實際應(yīng)用中,掃描周期為2的,掃描過程中,讀取到的數(shù)據(jù)總長度為4;掃描周期為3,則掃描過程中,讀取到的數(shù)據(jù)長度為8,掃描周期為4的時候,則掃描過程中讀取到的數(shù)據(jù)總長度為16。如圖8所示,在一個實施方式中,在進(jìn)入步驟S20前,首先,步驟S111,判斷掃描過程中,讀取的數(shù)據(jù)量是否大于配置單元中預(yù)設(shè)的閾值,如是,則不對讀取的數(shù)據(jù)量進(jìn)行處理,跳出步驟Sll;反之,則進(jìn)入步驟S1111,控制所述掃描周期在循環(huán)操作的過程中讀取的數(shù)據(jù)量按照一定的倍數(shù)遞增,S1112,直到所讀取的數(shù)據(jù)量大于配置單元中預(yù)設(shè)的閾值,或所述空閑時間小于所述空閑時間容忍值,停止對所述掃描周期內(nèi)讀取的數(shù)據(jù)量進(jìn)行遞增處理,進(jìn)入步驟S20。本實施方式中,根據(jù)對掃描數(shù)據(jù)量的控制,可以有效利用存儲設(shè)備的空閑狀態(tài),對所述數(shù)據(jù)進(jìn)行錯誤檢錯/糾錯,由于空閑狀態(tài)存儲設(shè)備不進(jìn)行數(shù)據(jù)讀寫操作,所以本實施方式可以實現(xiàn)在不影響對存儲單元陣列的數(shù)據(jù)進(jìn)行正常讀寫的同時對數(shù)據(jù)進(jìn)行糾錯處理。圖9示出了一個實施方式用于擁塞控制的數(shù)據(jù)管理流程圖步驟S110,讀取所述數(shù)據(jù);在本實施方式中,所述讀取到的數(shù)據(jù)量可以是讀取到的數(shù)據(jù)長度或單次掃描到的數(shù)據(jù)長度。S1101,若所述數(shù)據(jù)長度判斷單元查詢到所述讀取的數(shù)據(jù)量大于配置單元21預(yù)設(shè)的閾值;步驟S1102,對一個掃描周期讀取到的數(shù)據(jù)量進(jìn)行處理;如當(dāng)前掃描周期結(jié)束后,則控制下一個掃描周期讀取的數(shù)據(jù)量增加一個扇區(qū)長度,從而按照掃描順序的數(shù)個連續(xù)的掃描周期讀取到的數(shù)據(jù)總數(shù)據(jù)量(或數(shù)據(jù)長度)呈線形增長。步驟S120,一個掃描周期到達(dá)時,查詢所述計時單元記錄的空閑時間,掃描所述計時單元記錄的裝置設(shè)備的空閑時間是否小于配置單元中預(yù)設(shè)的空閑時間容忍值;步驟S1201,如果查詢到的空閑時間小于所述空閑時間容忍值;則進(jìn)入步驟S1202,控制掃描周期讀取的數(shù)據(jù)量的閾值變化,例如,將數(shù)據(jù)掃描長度的閾值為當(dāng)前掃描到的數(shù)據(jù)長度的一半;步驟S1203,完成對掃描周期數(shù)據(jù)掃描長度的閾值處理后,將所述數(shù)據(jù)掃描長度重新進(jìn)行設(shè)置,如,將所述掃描周期的數(shù)據(jù)長度重新設(shè)置為一個扇區(qū)長度。圖IO示出了一個實施方式中對掃描周期內(nèi)讀取的數(shù)據(jù)量處理后的場景圖,通過本發(fā)明一個實施方式的慢啟動和擁塞控制功能使所述數(shù)據(jù)量根據(jù)存儲設(shè)備的空閑時間逐漸增加,能夠降低掃描事件發(fā)生時存儲設(shè)備正常操作中讀寫命令響應(yīng)時間的影響。本實施方式中,通過按照掃描周期讀出存儲單元陣列中一定量的數(shù)據(jù)進(jìn)行掃描,使數(shù)據(jù)經(jīng)過ECC模塊的錯誤檢錯/糾錯,對糾正的錯誤位數(shù)超過一定門限的數(shù)據(jù)進(jìn)行回寫來糾正存儲單元陣列中數(shù)據(jù)的錯誤,使數(shù)據(jù)錯誤及時被發(fā)現(xiàn),減少存儲單元陣列中的數(shù)據(jù)由于位翻轉(zhuǎn)錯誤累積到不可糾正的程度。另外,通過慢啟動和擁塞控制,減少掃描對正常讀寫性能的影響,在同樣的掃描周期內(nèi)可響應(yīng)更多的讀寫命令。需要說明的是,在實際應(yīng)用中,本實施方式所示出的所述的存儲設(shè)備的數(shù)據(jù)管理方法可以用于無線數(shù)據(jù)通信裝置,計算機系統(tǒng),其他便攜電子設(shè)備,如小型閃速存儲器/卡,安全數(shù)據(jù)存儲卡等,以及應(yīng)用固態(tài)硬盤存儲數(shù)據(jù)的工業(yè)設(shè)備等。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺的方式來實現(xiàn),當(dāng)然也可以全部通過硬件來實施,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案對
背景技術(shù)
做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲單元陣列中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。以上對本發(fā)明進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。權(quán)利要求數(shù)據(jù)掃描的方法,其特征在于,包括當(dāng)掃描周期到達(dá)時,按照預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);對所述數(shù)據(jù)進(jìn)行糾錯處理;當(dāng)所述數(shù)據(jù)中的錯誤位數(shù)超過門限值時,將所述已糾錯的數(shù)據(jù)回寫到所述存儲單元陣列中。2.如權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)的基準(zhǔn)值包括存儲設(shè)備的掃描周期;存儲設(shè)備的空閑時間容忍值;掃描周期內(nèi)讀取數(shù)據(jù)量的初始值和掃描周期內(nèi)讀取數(shù)據(jù)量的閾值。3.如權(quán)利要求l-2所述的方法,其特征在于,所述從存儲單元陣列中讀取數(shù)據(jù)包括當(dāng)查詢到存儲設(shè)備的空閑時間后,若所述空閑時間大于一個空閑時間容忍值的事件發(fā)生,則控制所述下一個掃描周期讀取的數(shù)據(jù)量整數(shù)倍增加;若所述空閑時間小于或等于所述空閑時間容忍值的事件發(fā)生,則控制所述讀取到的數(shù)據(jù)量的閾值設(shè)置為小于所述事件發(fā)生時所讀取的數(shù)據(jù)量;將所述下一個掃描周期內(nèi)讀取的數(shù)據(jù)量重新設(shè)置為讀取到的數(shù)據(jù)的初始值。4.如權(quán)利要求1-3所述的方法,其特征在于,所述從存儲單元陣列中讀取數(shù)據(jù)包括若讀取到的數(shù)據(jù)量大于所述閾值的事件發(fā)生,對事件發(fā)生時所述讀取的數(shù)據(jù)量增加至少一個初始值的長度。5.—種掃描裝置,其特征在于,所述掃描裝置連接于用于校驗數(shù)據(jù)的ECC模塊,所述裝置包括掃描單元,用于當(dāng)掃描周期到達(dá)時,按照預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);掃描裝置通知所述ECC模塊對所述存儲單元陣列中讀取的數(shù)據(jù)進(jìn)行糾錯;如果ECC模塊判斷所述錯誤位數(shù)超過門限值,則所述掃描裝置通過控制單元將糾錯處理的數(shù)據(jù)回寫到存儲單元陣列中。6.如權(quán)利要求5所述的裝置,其特征在于所述裝置包括,配置單元,用于預(yù)設(shè)掃描的基準(zhǔn)值,所述配置單元預(yù)設(shè)的基準(zhǔn)值包括存儲設(shè)備的掃描周期;存儲設(shè)備的空閑時間容忍值;掃描周期內(nèi)讀取數(shù)據(jù)量的初始值和掃描周期內(nèi)讀取數(shù)據(jù)量的閾值。7.如權(quán)利要求5所述的裝置,其特征在于,所述裝置還包括計時單元,判斷所述掃描時間是否到達(dá)掃描周期,所述掃描時間是所述存儲設(shè)備讀取/寫入數(shù)據(jù)的時間。8.如權(quán)利要求7所述的裝置,其特征在于,所述計時單元包括空閑時間記錄單元,用于記錄掃描裝置未讀取/寫入數(shù)據(jù)的時間;掃描時間記錄單元,用于記錄掃描裝置的掃描時間。9.如權(quán)利要求5-8所述的裝置,其特征在于,所述掃描裝置還包括數(shù)據(jù)長度控制單元,用于若空閑時間大于所述空閑時間容忍值的事件發(fā)生,則所述數(shù)據(jù)長度控制單元控制所述下一個掃描周期讀取的數(shù)據(jù)量整數(shù)倍增加;若空閑時間小于或等于所述空閑時間容忍值的事件發(fā)生,則數(shù)據(jù)長度控制單元將掃描周期內(nèi)讀取數(shù)據(jù)量的閾值設(shè)置為小于所述事件發(fā)生時所讀取的數(shù)據(jù)量;數(shù)據(jù)長度控制單元設(shè)置所述閾值后,將所述下一個掃描周期內(nèi)讀取的數(shù)據(jù)量重新設(shè)置為初始值。10.如權(quán)利要求5-9所述的裝置,其特征在于,所述掃描裝置包括數(shù)據(jù)長度判斷單元,查詢所述掃描的數(shù)據(jù)長度是否大于所述閾值,若所述數(shù)據(jù)長度大于所述閾值的事件發(fā)生,則數(shù)據(jù)長度判斷單元通知所述數(shù)據(jù)長度控制單元控制所述下一個掃描周期內(nèi)讀取到的數(shù)據(jù)量增加初始值的長度。11.一種存儲設(shè)備,所述存儲設(shè)備包括存儲單元陣列及連接存儲設(shè)備與數(shù)據(jù)處理系統(tǒng)的接口,ECC模塊,其特征在于,所述存儲設(shè)備包括至少一個掃描裝置,所述掃描裝置包括掃描單元,所述掃描單元用于當(dāng)掃描周期到達(dá)時,按照掃描裝置預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);掃描裝置通知所述ECC模塊對所述讀取數(shù)據(jù)進(jìn)行糾錯;當(dāng)所述數(shù)據(jù)中的錯誤位數(shù)超過門限值時,則掃描裝置通知所述控制單元將所述已糾錯的數(shù)據(jù)回寫到所述存儲單元陣列中。全文摘要本發(fā)明實施方式公開了一種存儲設(shè)備的數(shù)據(jù)掃描方法和裝置,所述裝置連接于用于校驗數(shù)據(jù)的ECC模塊。所述方法包括當(dāng)掃描周期到達(dá)時,按照預(yù)設(shè)的基準(zhǔn)值,從存儲單元陣列中讀取數(shù)據(jù);對所述數(shù)據(jù)進(jìn)行糾錯處理;當(dāng)所述經(jīng)糾錯處理的數(shù)據(jù)累計到門限值時,將所述糾錯處理的數(shù)據(jù)回寫到所述存儲單元陣列中,通過本發(fā)明實施例的方法,可以提前對存儲單元陣列中出現(xiàn)的錯誤位數(shù)進(jìn)行處理,以減少錯誤位數(shù)在存儲單元陣列中擴(kuò)散,提高存儲設(shè)備中存儲數(shù)據(jù)的可靠性。文檔編號G11C29/32GK101794622SQ20101011655公開日2010年8月4日申請日期2010年2月10日優(yōu)先權(quán)日2010年2月10日發(fā)明者周丹,段雨梅申請人:成都市華為賽門鐵克科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1