一種閃存芯片數據保留性檢查方法及系統的制作方法
【技術領域】
[0001]本發明涉及半導體制造技術領域,尤其涉及一種閃存芯片數據保留性檢查方法及系統。
【背景技術】
[0002]目前,隨著電子技術的不斷發展,嵌入式系統越來越多地在控制類、消費類、通訊類等電子產品廣泛應用,嵌入式技術也越來越和人們的生活緊密結合。閃存器件(FlashMemory)是一種非易失性固態存儲器,它是完全非易失性存儲器,能提供可靠的數據掉電保護;而且它可以在線寫入,存取速度快,是一種高可靠性、高密度的固態存儲設備,當前,各種Flash已逐漸成為嵌入式系統中最主要的存儲設備。同時,閃存器件也有其固有限制。首先,已編程的閃存單元必須經過擦除才能進行再次編程,且閃存單元只有有限的使用壽命;即,閃存單元在失效前只能進行有限次數的擦除操作。例如,NAND閃存單元典型的最大擦除次數為一百萬次。相應地,由于“寫入前擦除”的特點,閃存存取速度較慢,而且反復的擦除操作將會損壞閃存單元。因此,確保資料在存取過程能夠保持其可靠性(即數據保留性,Data Retent1n),是目前存儲裝置業者相當重要的一環。其最主要的考慮是數據在存取的過程中,有可能因為閃存器件的本身或是外在的因素造成數據的完整性受影響。
[0003]為了能夠盡量減少有可能出現數據保留故障的概率,目前的閃存器件的存儲單元陣列一般由典型的基本結構構成,即分為“扇區(Sector)”或“頁面(page)”,并由“扇區”或“頁面”構成“塊(block)”。一個扇區包括有X個字節的數據段加上Y個字節的備用段(Spare),通常,一個扇區由512個字節(小塊格式)或2048個字節(大塊格式)構成一個數據段,由16個字節或64個字節構成一個備用段,用于存放錯誤修正碼(Error Correct1nCode ;ECC)的編碼,ECC編碼使得閃存器件不僅具有偵錯的功能,并且能修復錯誤的數據資料。部份多層單元(Mult1-Level-CelI,MLC)閃存包括有2048字節和多于64字節的備用段,一扇區也可能有4096字節(或更多)數據字節。一個塊由一組扇區構成,例如:4、16、32、64或更多扇區,扇區數量根據具體情況確定。如果其中某個扇區包含一個或多個無效存儲單元(即,編程或擦除操作過程中,一個或多個存儲單元無法實現既定的最小操作狀態),則認為這是一個“壞”扇區。
[0004]嵌入式閃存器件是嵌入式芯片自帶(內嵌)的存儲器。諸如身份識別卡芯片(SM卡芯片)、單片機芯片(MCU芯片)或單芯片系統(SOC)等嵌入式芯片中往往會帶有嵌入式快閃存儲器。嵌入式芯片經制造完成后,在出廠前需要對其數據保留性能進行檢查,如果一個塊的全部存儲單元都功能完好和有足夠的可靠度,則認為這是一個“好”塊,無需進行塊內扇區修復,反之,這個塊為壞塊,需要利用各個壞扇區的ECC編碼對該壞扇區進行數據修復,以提升產品的可靠性與穩定性。
[0005]常規的嵌入式閃存芯片的數據保留性檢查(data retent1n check,DR檢查)方法一般過程如下:
[0006]寫入數據:以塊為單位,對嵌入式閃存芯片的每一個存儲塊進行掃描,往每一個存儲塊里寫入數據,并對閃存模塊進行高溫加壓烘烤,以模擬出閃存器件經過一段時間使用后的狀況;
[0007]第一次檢查(CPl):以塊為單位,對嵌入式閃存芯片的每一個存儲塊進行掃描,初次讀取每一個存儲塊中的數據,并將各塊中讀取的數據與之前寫入的數據進行比對,找出各塊中的壞扇區;
[0008]第二次檢查(CP2):以塊為單位,對嵌入式閃存芯片的每一個塊進行掃描,再次讀取每一個塊中的數據,將再次讀取的數據與所述寫入的數據進行比對,找出各塊中的壞扇區,并將各塊在CP2中找出的各個壞扇區與在CPl中找出的各個壞扇區進行地址--比對(如圖1所示,例如將CP2的壞扇區Sector I’的地址與CPl各個壞扇區Sector I?
SectorN的地址--比對,以確認Sector I’是否真為壞扇區),做數量和具體扇區地址比對,若最終發現CPl和CP2找出的壞扇區地址不完全相同(請參考圖2A,該情況為CP2的壞扇區地址與CPl的壞扇區地址為交集的情況,此時CP2找出的壞扇區數量有可能小于、等于或大于CPl),則判定嵌入式閃存芯片未通過DR檢查;gCPl和CP2找出的壞扇區的數量和地址完全相同(請參考圖2B),則判定嵌入式閃存芯片通過DR檢查,找出的所有壞扇區均是真的壞扇區,后續可以對這些壞扇區進行處理(例如修復);若發現CP2找出的壞扇區包含在CPl找出的壞扇區范圍內(請參考圖2C),則判定嵌入式閃存芯片通過DR檢查,CP2找出的所有壞扇區均是真的壞扇區,后續可以對這些壞扇區進行處理(例如修復)則判定嵌入式閃存芯片未通過數據保留性檢查。
[0009]上述方法中,由于要依次將CP2找出的各個壞扇區與CPl找出的所有壞扇區進行地址比對,所以當壞扇區數量超過4個時,這種輪詢比對過程變得相當繁瑣,影響DR檢查效率。
【發明內容】
[0010]本發明的目的在于提供一種閃存芯片數據保留性檢查方法及系統,能夠簡單、快速、有效地對閃存芯片實施數據保留性檢查。
[0011]為解決上述問題,本發明提出一種閃存芯片數據保留性檢查方法,包括:
[0012]寫入數據:向閃存芯片的各個存儲塊中寫入數據,數據存儲至構成各個存儲塊的扇區中;
[0013]第一次檢查:初次讀取所有存儲塊中的數據,并將其與所述寫入的數據進行比對,找出各個存儲塊中的壞扇區,并為各個壞扇區設置標記;
[0014]模擬老化:模擬出閃存芯片經過一段時間使用后的狀況;
[0015]第二次檢查:再次讀取各個存儲塊中的數據,并將其與所述寫入的數據再次比對,再次找出各個存儲塊中的壞扇區,并比較第二次檢查與第一次檢查所找出的壞扇區總個數和標記總個數,當兩次檢查找出的壞扇區總個數和標記總個數均一致時,判定所述閃存芯片通過數據保留性檢查。
[0016]進一步的,通過向壞扇區中寫入能將壞扇區和正常扇區區分開的數據來為各個壞扇區設置標記。
[0017]進一步的,各個壞扇區的標記相同,均為I個比特位O ;各個正常扇區的數據相同,均為I個比特位I。
[0018]進一步的,比較第二次檢查與第一次檢查所找出的壞扇區總個數和標記總個數時,包括:
[0019]若兩次檢查找出的壞扇區總個數相等,但兩次檢查的所述標記的總個數不一致,則存儲塊未通過數據保留性檢查;
[0020]若兩次檢查找出的壞扇區總個數相等,且兩次檢查的所述標記的總個數一致,則存儲塊通過數據保留性檢查;
[0021]若兩次檢查找出的壞扇區總個數不一致,則存儲塊未通過數據保留性檢查。
[0022]進一步的,通過對閃存芯片進行高溫加壓烘烤來實現所述模擬老化步驟。
[0023]進一步的,采用存儲器內建自測試方式實現。
[0024]進一步的,當閃存芯片通過數據保留性檢查后,輸出第一次檢查找出的所有壞扇區的地址或者產生壞塊表,以對閃存芯片進行扇區修復和讀寫管理。
[0025]本發明還提供一種閃存芯片數據保留性檢查系統,包括數據寫入模塊、第一檢查模塊、模擬老化模塊、第二檢查模塊,其中,
[0026]所述數據寫入模塊,連接進行數據保留性檢查的閃存芯片,并向連接閃存芯片的各個存儲塊中寫入數據,寫入的所述數據存儲至構成各個存儲塊的扇區中;
[0027]所述第一檢查模塊連接數據寫入模塊和所述閃存芯片,并對閃存芯片進行第一次檢查,包括依次連接的第一讀取單元、第一比較單元、壞扇區標記單元以及第一統計單元,第一讀取單元在數據寫入模塊寫入完成后讀取閃存芯片的各個存儲塊中的數據,第一比較單元將第一讀取單元讀取的數據與數據寫入模塊寫入的數據進行比較,找出數據不一致的壞扇區,壞扇區標記單元為第一比較單元找出的各個壞扇區設置標記,第一統計單元統計第一比較單元找出的壞扇區總個數以及壞扇區標記單元設置的標記總個