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

閃存介質(zhì)掃描方法

文檔序號:6782167閱讀:119來源:國知局
專利名稱:閃存介質(zhì)掃描方法
技術(shù)領(lǐng)域
本發(fā)明涉及半導(dǎo)體存儲介質(zhì)領(lǐng)域,特別涉及一種閃存介質(zhì)掃描方法。
背景技術(shù)
閃存介質(zhì)(Flash)包括多個存儲塊簡稱塊(Block,擦除閃存介質(zhì)的基 本單位),每個塊包括多個頁(Page,讀寫閃存介質(zhì)的基本單位),每個頁包 括多個位(bit,取值為0或1)??梢詫崿F(xiàn)取值從"0"到"1"和從"1"到 "0"的逆轉(zhuǎn)換的位稱為好位,否則認為是壞位,不能用于存儲數(shù)據(jù)。為識別 閃存介質(zhì)是否可以使用,需掃描其內(nèi)部的塊。現(xiàn)有一種閃存介質(zhì)掃描的流程 如圖1所示,判斷某塊是否好塊的做法是將某塊擦除,然后寫數(shù)據(jù)到該塊,再 從每一頁中讀出數(shù)據(jù),與寫入的數(shù)據(jù)相比較。當某頁中超過預(yù)定數(shù)量的位出 現(xiàn)寫入和讀出的數(shù)據(jù)不相同,則認為該頁是不可使用的頁,簡稱壞頁;否則 認為該頁是好頁。同理,當某塊中超過預(yù)定數(shù)量的頁為壞頁,則認為該塊是 不可使用的塊,簡稱壞塊;否則認為該塊是好塊。對于包含較少壞塊的閃存 介質(zhì),采用上述掃描方法就可以順利完成識別。
隨著閃存介質(zhì)技術(shù)和應(yīng)用的快速發(fā)展,閃存介質(zhì)市場越來越大,容量越 來越高,開發(fā)商對閃存介質(zhì)掃描效率和閃存介質(zhì)良率提出新的要求,有的要 求能夠快速找出壞塊完成識別,有的要求能夠全面準確地找出壞塊,還有的 則要求又快速又準確地完成識別。對于多種掃描要求,現(xiàn)有的閃存介質(zhì)掃描 算法已經(jīng)無法同時滿足。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種閃存介質(zhì)掃描方法,以實現(xiàn)對閃存介質(zhì)不同
等級的掃描,^v而滿足各種掃描要求。
本發(fā)明提供一種閃存掃描方法,通過對閃存掃描確定閃存好塊和壞塊,
包括步驟選擇掃描等級;根據(jù)選擇的掃描等級,使用與掃描等級對應(yīng)的掃 描方式對閃存介質(zhì)進行掃描,形成至少一掃描結(jié)果;整合掃描結(jié)果,得到最 終掃描結(jié)果。
優(yōu)選地,上述掃描方式包括將閃存介質(zhì)所有塊擦除;檢查閃存介質(zhì), 判斷是否正確擦除,產(chǎn)生掃描結(jié)果;將掃描結(jié)果發(fā)給執(zhí)行掃描的主機。優(yōu)選地,上述掃描方式還包括將掃描數(shù)據(jù)寫入指定地址;;險查指定地 址的數(shù)據(jù),產(chǎn)生掃描結(jié)果;將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;將閃存介質(zhì)中 指定塊擦除;檢查閃存介質(zhì)指定塊,判斷是否正確纟察除,產(chǎn)生掃描結(jié)果;將 掃描結(jié)果發(fā)給執(zhí)行掃描的主機。
上述掃描數(shù)據(jù)為全"0"。
優(yōu)選地,上述掃描方式還包括將正掃描數(shù)據(jù)寫入指定地址;4全查指定 地址的數(shù)據(jù),產(chǎn)生掃描結(jié)果;將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;將閃存介質(zhì) 中指定塊擦除;將反掃描數(shù)據(jù)寫入指定地址;檢查指定地址的數(shù)據(jù),產(chǎn)生掃 描結(jié)果;將掃描結(jié)果發(fā)給執(zhí)行掃描的主機。
優(yōu)選地,上述閃存掃描方法還包括快速檢查閃存介質(zhì)的步驟。
優(yōu)選地,上述快速檢查介質(zhì)是讀取閃存介質(zhì)中的塊中至少一頁、頁中至 少一位和/或至少一字節(jié)中的數(shù)據(jù),檢查數(shù)據(jù)是否被正確擦除,找出未能正確 擦除的塊,將其認為是壞塊。
優(yōu)選地,上述掃描方式還包括將正掃描數(shù)據(jù)寫入指定地址;4企查指定 地址的數(shù)據(jù),產(chǎn)生掃描結(jié)果;將掃描結(jié)果發(fā)給執(zhí)行掃描的主機。
優(yōu)選地,上述正掃描數(shù)據(jù)取反得到反掃描數(shù)據(jù);正掃描數(shù)據(jù)和反掃描數(shù) 據(jù)均為非全"0"的掃描數(shù)據(jù)。
優(yōu)選地,上述閃存掃描方法根據(jù)產(chǎn)生的掃描結(jié)果剔除壞塊,對好塊進行 數(shù)據(jù)寫入、讀取、擦除和/或掃描。
本發(fā)明提供的閃存介質(zhì)掃描方法,根據(jù)對掃描的不同需求和嚴格程度將 掃描分成多個等級,不同掃描等級對應(yīng)的掃描方式不同。高掃描等級對應(yīng)的 掃描方式嚴格全面,可以對閃存中所有的頁中所有的位進行掃描,非常全面 但掃描速度較低。低掃描等級對應(yīng)的掃描方式不需對閃存介質(zhì)進行寫:f喿作, 可在很短時間內(nèi)完成掃描,但掃描準確度不高。另外還設(shè)有多個中間等級, 一定程度上兼顧掃描速度和掃描的全面性,以便根據(jù)待掃描閃存介質(zhì)的特性 和掃描要求,選擇合適的掃描等級,在保證準確性的前提下提高掃描速度。


圖l是本發(fā)明第一實施例閃存掃描方法流程示意圖; 圖2是本發(fā)明第二實施例擦除掃描方式流程示意圖; 圖3是本發(fā)明第三實施例的掃描方式流程示意圖; 圖4是本發(fā)明第四實施例的掃描方式流程示意圖; 圖5是本發(fā)明第五實施例的掃描方式流程示意圖; 圖6是本發(fā)明第六實施例快速檢查方式流程示意圖;圖7是本發(fā)明第七實施例對塊掃描的流程示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步 說明。
具體實施例方式
本發(fā)明提出第 一 實施例通過設(shè)置多個不同的掃描等級對閃存介質(zhì)進行掃 描,根據(jù)掃描等級確定掃描方式,從而可以實現(xiàn)對閃存介質(zhì)分別進行不同精 度、不同速度的掃描,滿足多種掃描要求。
圖1示出本實施例閃存掃描方法流程示意圖,包括步驟
步驟Sl,選擇掃描等級;預(yù)設(shè)的多個掃描等級,每個掃描等級對應(yīng)不同
的掃描方式,以分別滿足多種掃描要求,根據(jù)掃描要求和閃存介質(zhì)的特性選
擇掃描等級;
步驟S2,根據(jù)選擇的掃描等級,使用與掃描等級對應(yīng)的掃描方式對閃存 介質(zhì)進行掃描,形成至少一掃描結(jié)果;
步驟S3,整合上述步驟S2形成的掃描結(jié)果,得到最終掃描結(jié)果。
基于上述實施例本發(fā)明還提出第二實施例。本實施例中的掃描等級包括 第一等級,第一等級對應(yīng)的掃描方式為擦除掃描方式,即對閃存介質(zhì)4察除后, 檢查部分或全部數(shù)據(jù)是否正確擦除,據(jù)此找出壞塊的過程。
如圖2所述,擦除掃描方式包括步驟
步驟Sll,將閃存介質(zhì)所有塊擦除;
步驟S12,檢查閃存介質(zhì),判斷塊中的數(shù)據(jù)是否正確擦除,產(chǎn)生掃描結(jié)果; 步驟S13,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機,流程結(jié)束。
具體來說,在上述掃描周期過程的步驟S 12是讀取閃存介質(zhì)中的塊中至少 一頁、頁中至少一位和/或至少一字節(jié)中的數(shù)據(jù),檢查數(shù)據(jù)是否被正確擦除, 找出未能正確擦除的塊,將其認為是壞塊。由于好塊被擦除后,其中的所有 位都應(yīng)為"1",因此將讀出數(shù)據(jù)不為"1"的位所在的塊認為是無法正確4察除 的壞塊,讀出數(shù)據(jù)全為'T,的塊認為是可以正確擦除的好塊。執(zhí)行該步驟時, 可以讀取并判斷所有塊中的所有數(shù)據(jù),也可僅抽取至少一塊,對塊中至少一 頁讀取數(shù)據(jù);進一步地,對抽取的至少一頁也不讀取所有位,而是僅抽耳又頁 中至少一位或至少一字節(jié),才企查這些位或字節(jié)的數(shù)據(jù)。抽取頁、位和/或字節(jié) 可使用隨機算法實現(xiàn)。步驟S12產(chǎn)生的掃描結(jié)果包括閃存介質(zhì)各塊中包含好、 壞頁的信息。步驟S13,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機,供主機根據(jù)所有各塊的好、 壞頁信息生成閃存介質(zhì)的好壞塊信息表。
基于上述實施例本發(fā)明還提出第三實施例。本實施例中的掃描等級包括
第二等級,參照圖3,第二等級對應(yīng)的掃描方式包括 步驟S21,將閃存介質(zhì)所有塊擦除;
步驟S22,檢查閃存介質(zhì),判斷數(shù)據(jù)是否正確擦除,產(chǎn)生掃描結(jié)果; 步驟S23,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S24,接收主機發(fā)來的寫數(shù)據(jù)指令,根據(jù)指令中的指定地址,將掃描 數(shù)據(jù)寫入指定地址;該掃描數(shù)據(jù)為全"0";
步驟S25,分別讀取指定地址的數(shù)據(jù),檢查數(shù)據(jù)是否為全"0",產(chǎn)生掃描 結(jié)果;
步驟S26,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S27,接收主機發(fā)來的指令,根據(jù)指令中的指定起始地址和長度,將 閃存介質(zhì)中指定塊擦除;
步驟S28,檢查閃存介質(zhì)指定塊,判斷數(shù)據(jù)是否正確擦除,產(chǎn)生掃描結(jié)果; 步驟S29,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機,流程結(jié)束。
上述流程中,步驟S21、 S22和S23與前一實施例的纟察除掃描過程和產(chǎn)生的 掃描結(jié)果相似,故不贅述。
步驟S24中,主機發(fā)來的寫數(shù)據(jù)指令中的指定地址是根據(jù)步驟S23的掃描 結(jié)果得到的閃存介質(zhì)中所有好塊的地址,即根據(jù)步驟S23得到的掃描結(jié)果,剔 除壞塊,僅對好塊進行寫數(shù)據(jù)和掃描。
步驟S25,由于步驟S24寫入的掃描數(shù)據(jù)為全"0",因此該步驟檢查出讀 取的數(shù)據(jù)不為全"0"的塊為壞塊,據(jù)此產(chǎn)生掃描結(jié)果。本步驟可以抽取至少 一塊讀取其中的數(shù)據(jù);進一步地,對抽取的至少一塊也可以不讀取所有位, 而是僅抽取至少一位或至少一字節(jié)讀取數(shù)據(jù),檢查這些位或字節(jié)的數(shù)據(jù)。抽 取塊、頁、位和/或字節(jié)可使用隨機算法實現(xiàn)。
步驟S27,主機發(fā)來的寫數(shù)據(jù)指令中的指定地址是結(jié)合步驟S23和步驟S26 的掃描結(jié)果得到的閃存介質(zhì)中所有好塊的地址,即根據(jù)步驟S23和S26得到的 掃描結(jié)果,剔除壞塊,僅對好塊進行寫數(shù)據(jù)和掃描。
步驟S28和S29與前一實施例的擦除掃描過程相似,故不贅述;步驟S29產(chǎn) 生的掃描結(jié)果發(fā)給主機,供主機將步驟S29、步驟S23和步驟S26的掃描結(jié)果結(jié) 合起來,得到最終掃描結(jié)果。
本實施例提供的掃描流程可對閃存介質(zhì)實現(xiàn)較快且較全面的掃描。本實
7施例只進行一次寫數(shù)據(jù),即可檢測出閃存介質(zhì)是否能夠?qū)崿F(xiàn)"0"和"1"的 相互轉(zhuǎn)換, 〃(人而完成對閃存介質(zhì)的掃描。
本發(fā)明提出第四實施例,本實施例中的掃描等級包括第三等級,參照圖4 ,
第三等級對應(yīng)的掃描方式包括
步驟S301,將閃存介質(zhì)所有塊擦除;
步驟S302,檢查閃存介質(zhì),判斷數(shù)據(jù)是否正確擦除,產(chǎn)生掃描結(jié)果; 步驟S303,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S304,接收主機發(fā)來的寫數(shù)據(jù)指令,根據(jù)指令中的指定地址,將正 掃描數(shù)據(jù)寫入指定地址;
步驟S305,分別讀取指定地址中的數(shù)據(jù),將讀取的數(shù)據(jù)與寫入的正掃描 數(shù)據(jù)相比較,將寫入和讀出的數(shù)據(jù)存在不一致的塊認為是壞塊,否則認為是 好塊,產(chǎn)生掃描結(jié)果;
步驟S306,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S307,接收主機發(fā)來的指令,根據(jù)指令中的指定起始地址和長度, 將閃存介質(zhì)中指定塊擦除;
步驟S308,接收主機發(fā)來的寫數(shù)據(jù)指令,根據(jù)指令中的指定地址,將反 掃描數(shù)據(jù)寫入指定地址;
步驟S309,分別讀取指定地址中的數(shù)據(jù),將讀取的數(shù)據(jù)與寫入的反掃描 數(shù)據(jù)相比較,將寫入和讀出的數(shù)據(jù)存在不一致的塊認為是壞塊,否則認為是 好塊,產(chǎn)生掃描結(jié)果;
步驟S310,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S311,接收主機發(fā)來的指令,根據(jù)指令中的指定起始地址和長度, 將閃存介質(zhì)中指定塊擦除;
步驟S312,快速檢查閃存介質(zhì),流程結(jié)束。
上述流程中,步驟S301、 S302和S303與第一實施例的i察除掃描過程和產(chǎn) 生的掃描結(jié)果相似,故不贅述。
步驟S304中,主機發(fā)來的寫數(shù)據(jù)指令中的指定地址是根據(jù)步驟S303的掃 描結(jié)果得到的閃存介質(zhì)中所有好塊的地址,即根據(jù)步驟S303得到的掃描結(jié)果, 剔除壞塊,僅對好塊進行寫數(shù)據(jù)和掃描。主機發(fā)來的掃描數(shù)據(jù)為非全"0"的 掃描數(shù)據(jù),該掃描數(shù)據(jù)取反則得到步驟S308的掃描數(shù)據(jù),因此步驟S6304中的 掃描數(shù)據(jù)稱為正掃描數(shù)據(jù),步驟S308中的掃描數(shù)據(jù)稱為反掃描數(shù)據(jù)。例如正 掃描數(shù)據(jù)某字節(jié)為0x56(0101, 0110),則反掃描數(shù)據(jù)中相應(yīng)字節(jié)為 0xA9 (1010, 1001)。
步驟S305,分別讀取指定地址中的數(shù)據(jù)并與寫入該塊的相應(yīng)正掃描數(shù)據(jù)比較。本步驟可以抽取至少一塊檢查其中的數(shù)據(jù);進一步地,對抽取的至少 一塊也可以不檢查所有位,而是僅抽取至少一位或至少一字節(jié)讀取數(shù)據(jù),檢 查這些位或字節(jié)的數(shù)據(jù)。抽取塊、頁、位和/或字節(jié)可使用隨機算法實現(xiàn)。
步驟S308、 S309、 S310、 S311的做法和步驟S304、 S305、 S306、 S307相
2得到。
二 ' ' 一 ?'
上述流程中,步驟S312根據(jù)釆用快速檢查方式對閃存介質(zhì)進行掃描,產(chǎn) 生掃描結(jié)果。
上述流程中,根據(jù)每次得到的掃描結(jié)果剔除壞塊,僅對好塊發(fā)出指令進 行數(shù)據(jù)讀、寫和掃描。例如主機接收到步驟S310發(fā)送的掃描結(jié)果,將該掃描 結(jié)果與步驟S303和步驟S306分別發(fā)送的掃描結(jié)果整合起來,將各掃描結(jié)果中 的壞塊剔除,再余下的好塊發(fā)出擦除指令。本實施例第三等級掃描結(jié)束后, 主機整合所有掃描結(jié)果,產(chǎn)生最終掃描結(jié)果。
本實施例中,掃描結(jié)果分批上報給主機并存在主機中。要讀取掃描結(jié)果 時,主機發(fā)送命令,指定起始塊和塊的個數(shù),閃存主控芯片根據(jù)命令讀取從 起始塊開始,指定個數(shù)個塊中的數(shù)據(jù),根據(jù)數(shù)據(jù)判斷所在塊為好塊或壞塊, 產(chǎn)生掃描結(jié)果,將掃描結(jié)果返回給主^L,閃存主控芯片不負責保存掃描結(jié)果。 主機根據(jù)取得的掃描結(jié)果就可以知道閃存介質(zhì)中哪些是好塊,哪些是壞塊,
可以用數(shù)組記錄好壞塊信息,形成好壞塊信息表。寫數(shù)據(jù)時,主機也會發(fā)送 命令指定從起始塊開始,向指定個數(shù)的塊中寫數(shù)據(jù)。由于命令是由主機發(fā)出, 好壞塊信息也是由主機保存,這樣主機就可以保證發(fā)送命令時避開壞塊,保 障數(shù)據(jù)讀寫操作準確無誤。
本實施例中的正掃描數(shù)據(jù)和反掃描凝:據(jù)是由主機產(chǎn)生并發(fā)送給閃存介質(zhì) 的,采用相反的掃描數(shù)據(jù)可以檢查位是否能夠?qū)崿F(xiàn)取值從"0"到"1"和從 'T,到"0"的逆轉(zhuǎn)換,從而確定位是否為好位。
本發(fā)明提出第五實施例,采用正、反、正三組非全"0"隨機數(shù)據(jù)作為掃 描數(shù)據(jù),全面檢查每個位是否可以實現(xiàn)乂人"0"到"1",再從"1"到"0", 或是從T到"0"再從"0"到T的轉(zhuǎn)換。本實施例中的掃描等級包括 第四等級,參照圖5,第四等級對應(yīng)的掃描方式包括
步驟S401,將閃存介質(zhì)所有塊擦除;
步驟S402,檢查閃存介質(zhì),判斷數(shù)據(jù)是否正確擦除,產(chǎn)生掃描結(jié)果; 步驟S403,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S404,接收主機發(fā)來的寫數(shù)據(jù)指令,根據(jù)指令中的指定地址,將正 掃描數(shù)據(jù)寫入指定地址;步驟S405,分別讀取指定地址中的數(shù)據(jù),將讀取的數(shù)據(jù)與寫入的正掃描
數(shù)據(jù)相比較,將寫入和讀出的數(shù)據(jù)存在不一致的塊認為是壞塊,否則認為是
好塊,產(chǎn)生掃描結(jié)果;
步驟S406,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S407,接收主機發(fā)來的指令,根據(jù)指令中的指定起始地址和長度, 將閃存介質(zhì)中指定塊擦除;
步驟S408,接收主機發(fā)來的寫數(shù)據(jù)指令,根據(jù)指令中的指定地址,將反 掃描數(shù)據(jù)寫入指定地址;
步驟S409,分別讀取指定地址中的數(shù)據(jù),將讀取的數(shù)據(jù)與寫入的反掃描 數(shù)據(jù)相比較,將寫入和讀出的數(shù)據(jù)存在不一致的塊認為是壞塊,否則認為是 好塊,產(chǎn)生掃描結(jié)果;
步驟S410,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;
步驟S411,接收主機發(fā)來的指令,根據(jù)指令中的指定起始地址和長度, 將閃存介質(zhì)中指定塊擦除;
步驟S412,接收主機發(fā)來的寫數(shù)據(jù)指令,根據(jù)指令中的指定地址,將正 掃描數(shù)據(jù)寫入指定地址;
步驟S413,分別讀取指定地址中的數(shù)據(jù),將讀取的數(shù)據(jù)與寫入的正掃描 數(shù)據(jù)相比較,將寫入和讀出的數(shù)據(jù)存在不一致的塊認為是壞塊,否則認為是 好塊,產(chǎn)生掃描結(jié)果;
步驟S414,將掃描結(jié)果發(fā)給執(zhí)行掃描的主機;流程結(jié)束。
相比上一實施例的第三等級掃描,本實施例在完成反掃描數(shù)據(jù)掃描后, 執(zhí)行步驟S412至S414,再次使用正掃描數(shù)據(jù)對閃存介質(zhì)進行掃描,以實現(xiàn)比 第三等級掃描更加全面徹底的掃描,但掃描速度比第三等級寸氐。
上述各實施例中的第一至第四掃描等級在掃描速度方面,第一等級可以 在數(shù)秒內(nèi)完成,第二、三、四等級分別需要對閃存介質(zhì)進行一次、兩次和三 次掃描,在時間上相差較大,第四等級耗時最長,速度最低。掃描精度方面, 有些閃存介質(zhì)用第二等級甚至第一等級就可以有效的掃描出壞塊,絕大部分 的閃存介質(zhì)用第三等級就可以準確識別壞塊,只有極個別的閃存介質(zhì)才需要 用第四等級掃描。
基于上述實施例,本發(fā)明提出第六實施例,提供用快速檢查方式對閃存 介質(zhì)進行掃描??焖贆z查方式是讀取閃存介質(zhì)中的塊中至少一頁、頁中至少 一位和/或至少一字節(jié)中的數(shù)據(jù),檢查數(shù)據(jù)是否被正確擦除,找出未能正確4寮 除的塊,將其認為是壞塊??焖贆z查方式可讀取并判斷所有塊中的所有數(shù)據(jù),也可^f又抽耳又至少一塊,對塊中至少一頁讀:f又數(shù)據(jù);進一步地,對抽取的至少
一頁也不讀取所有位,而是僅抽取頁中至少一位或至少一字節(jié)讀取數(shù)據(jù),檢 查這些位或字節(jié)的數(shù)據(jù)。抽取頁、位和/或字節(jié)可使用隨機算法實現(xiàn)。
參照圖6,快速檢查方式包括
步驟S51,接收主機發(fā)來的讀掃描結(jié)果指令,根據(jù)指令中的指定起始地址 和長度,設(shè)定指針i指向要掃描的塊,用于記錄當前檢查的塊的塊號,指針i 初始化為0;
步驟S52,抽取塊中至少一頁、頁中至少一位和/或至少一字節(jié),讀取其 中的數(shù)據(jù);
步驟S53,檢查讀取的數(shù)據(jù)是否為'T',若讀出的數(shù)據(jù)不為'T'則進行 步驟S54,否則進行步驟S55;
步驟S54,將指針i指向的當前塊認為是壞塊,記錄其塊號,然后進行步 驟S55;
步驟S55,判斷指針i是否指向步驟S51中主機指定的最后一塊,若指向 最后一塊則快速檢查方式結(jié)束;否則進行步驟S56;
步驟S56,指針i加l,即使指針i指向當前塊的下一塊,然后進行步驟S52。
本實施例提供的快速^r查方式可大大加快掃描速度。由于壞塊被擦除后, 其中的數(shù)值會有多種可能,絕大部分的壞塊通過抽查就可以找出來。對于一 片容量為lGByte的閃存介質(zhì),執(zhí)行本實施例提出的擦除掃描不超過2秒鐘。設(shè) 經(jīng)擦除掃描找出的壞塊不再參與后續(xù)的掃描操作,對于一片壞塊很多的閃存 介質(zhì)將大大提高掃描的速度,例如一片包含1000個塊的閃存介質(zhì),若采用本 實施例的擦除掃描可快速檢查出500個壞塊,則掃描速度將比現(xiàn)有技術(shù)提高近 l倍。.
基于上述各實施例本發(fā)明提出第七實施例,結(jié)合閃存介質(zhì)主控芯片實現(xiàn) 對塊的掃描。本實施例預(yù)設(shè)一壞位上限,對包含壞位數(shù)超過壞位上限的塊認 為是壞塊塊。
參照圖7示出對塊掃描的流程圖,包括
步驟S61,設(shè)定指針j指向要掃描的頁,用于記錄當前檢查的頁的頁號,
指針j初始化為0;
步驟S62,將指針j所指頁的數(shù)據(jù)讀到閃存介質(zhì)主控芯片的內(nèi)存中; 步驟S63,閃存介質(zhì)主控芯片自帶的糾錯碼(ECC)模塊判斷步驟S62讀過
程中是否有數(shù)據(jù)發(fā)生錯誤的位,如果發(fā)現(xiàn)發(fā)生了不可糾正的錯誤,則進行步
驟S69,否則進行步驟S64;
ii步驟S64,判斷錯誤個數(shù)是否達到壞位上限,根據(jù)判斷結(jié)果進行步驟S65 或步驟S69;
步驟S65,判斷當前頁數(shù)據(jù)是否全為"0",根據(jù)判斷結(jié)果進行步驟S66或 步驟S69;
步驟S66,判斷指針j是否指向該塊最后一頁,根據(jù)判斷結(jié)果進行步驟 S67或步驟S68;
步驟S67,指針j指向的頁所在塊認為是好塊,結(jié)束流程; 步驟S68,指針j加l,指向下一頁,然后進行步驟S6^ 步驟S69,指針j指向的頁所在塊認為是壞塊,結(jié)束流程。
進一步地,由于壞塊可能存在很多位不能實現(xiàn)從"0"到'T,的轉(zhuǎn)換, 而如果從這樣的位開始讀數(shù)據(jù),當數(shù)據(jù)全都是"0"的情況下,糾錯碼(ECC) 模塊無法檢測出錯誤。所以本實施例提出,在閃存介質(zhì)主控芯片中增加一寄 存器,用于記錄數(shù)據(jù)全部為"0"的位。若主機發(fā)送下來的數(shù)據(jù)不是全"0", 而此寄存器又記錄這個頁的數(shù)據(jù)是全"0"時,那這個頁所在的塊就是壞塊, 如圖中步驟S66所示。當步驟S63、 S64、 S65和S66的條件都不能成立時, 執(zhí)行比較操作步驟S69,看當前頁是否已經(jīng)是這個塊的最后一個頁,如果是, 則當前塊就認為是好塊,結(jié)束對這個塊的掃描;否則頁指針j增加1指向下 一頁,對下一頁進行類似的操作。
本實施例可應(yīng)用于上述第一掃描周期、第二掃描周期、第三掃描周期和/ 或更多掃描周期,提高閃存介質(zhì)利用率。
以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍, 凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接 或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
1權(quán)利要求
1.一種閃存掃描方法,通過對閃存掃描確定閃存好塊和壞塊,其特征在于,該方法包括步驟選擇掃描等級;根據(jù)選擇的掃描等級,使用與掃描等級對應(yīng)的掃描方式對閃存介質(zhì)進行掃描,形成至少一掃描結(jié)果;整合掃描結(jié)果,得到最終掃描結(jié)果。
2. 根據(jù)權(quán)利要求1所述的閃存掃描方法,其特征在于,所述掃描方式包括將閃存介質(zhì)所有塊擦除;檢查閃存介質(zhì),判斷是否正確擦除,產(chǎn)生掃描結(jié)果; 將掃描結(jié)果發(fā)給執(zhí)行掃描的主機。
3. 根據(jù)權(quán)利要求2所述的閃存掃描方法,其特征在于,所述掃描方式還 包括將掃描數(shù)據(jù)寫入指定地址; 檢查指定地址的數(shù)據(jù),產(chǎn)生掃描結(jié)果; 將掃描結(jié)果發(fā)給執(zhí)行掃描的主機; 將閃存介質(zhì)中指定塊^察除;檢查閃存介質(zhì)指定塊,判斷是否正確擦除,產(chǎn)生掃描結(jié)果; 將掃描結(jié)果發(fā)給執(zhí)行掃描的主機。
4. 根據(jù)權(quán)利要求3所述的閃存掃描方法,其特征在于,所述掃描數(shù)據(jù)為 全"0"。
5. 根據(jù)權(quán)利要求2所述的閃存掃描方法,其特征在于,所述掃描方式還 包括將正掃描數(shù)據(jù)寫入指定地址; 檢查指定地址的數(shù)據(jù),產(chǎn)生掃描結(jié)果; 將掃描結(jié)果發(fā)給執(zhí)行掃描的主機; 將閃存介質(zhì)中指定塊擦除; 將反掃描數(shù)據(jù)寫入指定地址; 檢查指定地址的數(shù)據(jù),產(chǎn)生掃描結(jié)果;將掃描結(jié)果發(fā)給執(zhí)行掃描的主機。
6. 根據(jù)權(quán)利要求5所述的閃存掃描方法,其特征在于,還包括 快速檢查閃存介質(zhì)的步驟。
7. 根據(jù)權(quán)利要求6所述的閃存掃描方法,其特征在于 所述快速檢查介質(zhì)是讀取閃存介質(zhì)中的塊中至少一頁、頁中至少一位和/或至少一字節(jié)中的數(shù)據(jù),檢查數(shù)據(jù)是否被正確擦除,找出未能正確擦除的塊, 將其認為是壞塊。
8. 根據(jù)權(quán)利要求5所述的閃存掃描方法,其特征在于,所述掃描方式還 包括將正掃描數(shù)據(jù)寫入指定地址;檢查指定地址的數(shù)據(jù),產(chǎn)生掃描結(jié)果; 將掃描結(jié)果發(fā)給執(zhí)行掃描的主機。
9. 根據(jù)權(quán)利要求5至8任意一項所述的閃存掃描方法,其特征在于 所述正掃描數(shù)據(jù)取反得到反掃描數(shù)據(jù);所述正掃描數(shù)據(jù)和反掃描數(shù)據(jù)均為非全"0"的掃描數(shù)據(jù)。
10. 根據(jù)權(quán)利要求1至8任意一項所述的閃存掃描方法,其特征在于 根據(jù)產(chǎn)生的掃描結(jié)果剔除壞塊,對好塊進行數(shù)據(jù)寫入、讀取、擦除和/或掃描。
全文摘要
本發(fā)明提供種一種閃存掃描方法,包括選擇掃描等級;根據(jù)選擇的掃描等級,使用與掃描等級對應(yīng)的掃描方式對閃存介質(zhì)進行掃描,形成至少一掃描結(jié)果;整合掃描結(jié)果,得到最終掃描結(jié)果。本發(fā)明設(shè)多個掃描等級,一定程度上兼顧掃描速度和掃描的全面性,以便根據(jù)待掃描閃存介質(zhì)的特性和掃描要求,選擇合適的掃描等級,在保證準確性的前提下提高掃描速度。
文檔編號G11C29/32GK101562051SQ20081008758
公開日2009年10月21日 申請日期2008年4月18日 優(yōu)先權(quán)日2008年4月18日
發(fā)明者盧賽文 申請人:深圳市朗科科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1