專利名稱::兼容多層單元與單層單元閃存的裝置的制作方法
技術(shù)領(lǐng)域:
:本實(shí)用新型涉及一種閃存的裝置,尤其是一種兼容多層單元與單層單元閃存的裝置。
背景技術(shù):
:科技日新月異,許多電子產(chǎn)品為了可擴(kuò)充其功能或儲(chǔ)存額外的檔案,因此皆配備有內(nèi)存。內(nèi)存種類眾多,其中閃存(flashmemory)為電子產(chǎn)品中常用的內(nèi)存。因?yàn)椋W存屬于非揮發(fā)性內(nèi)存,在沒(méi)有施加電力的情況下,仍可維持內(nèi)存所儲(chǔ)存的內(nèi)容,且閃存可改變其所儲(chǔ)存的內(nèi)容,因而較只讀存儲(chǔ)器(ROM)更適用在各種可攜式電子產(chǎn)品。隨著使用者對(duì)電子產(chǎn)品的儲(chǔ)存容量需求不斷增加的情況,閃存的制造廠商也積極增加芯片中內(nèi)存的密度,于是閃存逐漸從單層單元(SingleLevelCell,SLC)轉(zhuǎn)向多層單元(MultiLevelCell,MLC)發(fā)展。通過(guò)MLC的技術(shù),可達(dá)到多層高密度的閃存組件,而提供更大的儲(chǔ)存容量。雖然內(nèi)存廠商已逐漸將發(fā)展方向朝MLC前進(jìn),然而如果將SLC與MLC相比較,可發(fā)現(xiàn)SLC仍具有諸多優(yōu)點(diǎn),如下所示SLC可重復(fù)寫入的次數(shù)約為10萬(wàn)次,而MLC重復(fù)寫入的次數(shù)約為1萬(wàn)次,因此使用壽命上相差I(lǐng)O倍。SLC讀寫速度約為8MB/s,而MLC讀寫速度僅約為2MB/s,因此SLC傳輸數(shù)據(jù)速度較快。SLC的耗能比MLC低,在相同的使用條件下,SLC比MLC約減少15%的電流消耗。相對(duì)SLC,MLC既然可逐漸成為市場(chǎng)的主流,必然也具有諸多優(yōu)點(diǎn),如下所示MLC的造價(jià)成本低于SLC。MLC采用多層單元儲(chǔ)存,而SLC采用單層單元儲(chǔ)存,因此以相同的芯片尺3寸來(lái)說(shuō),MLC的容量比SLC大,因此市面上2G以上的閃存,大多為MLC。從上述說(shuō)明,SLC與MLC兩者各在市場(chǎng)上占有一席之地。而傳統(tǒng)技術(shù)對(duì)于內(nèi)存的管理,針對(duì)SLC與MLC采用各自獨(dú)立的管理方式。即,可管理SLC的方法不一定能管理MLC,反之亦然。因此,如何解決傳統(tǒng)上無(wú)法同時(shí)管理SLC與MLC,而造成SLC與MLC無(wú)法同時(shí)使用的問(wèn)題,為一亟待解決的議題。
實(shí)用新型內(nèi)容本實(shí)用新型為解決
背景技術(shù):
中存在的上述技術(shù)問(wèn)題,而提出兼容多層單元與單層單元閃存的裝置。本實(shí)用新型的技術(shù)解決方案是本實(shí)用新型為一種兼容多層單元與單層單元閃存的裝置,具有多層單元狀態(tài)與單層單元狀態(tài),其特殊之處在于該裝置包含單層單元閃存,包含多個(gè)數(shù)據(jù)扇區(qū);多層單元閃存,包含多個(gè)數(shù)據(jù)分頁(yè);轉(zhuǎn)換緩沖層,連接單層單元閃存與多層單元閃存,在多層單元狀態(tài),轉(zhuǎn)換數(shù)據(jù)扇區(qū)以符合數(shù)據(jù)分頁(yè)的格式,在單層單元狀態(tài),轉(zhuǎn)換數(shù)據(jù)分頁(yè)以符合數(shù)據(jù)扇區(qū)的格式;連接接口,提供從轉(zhuǎn)換緩沖層讀取與寫入數(shù)據(jù),單層單元閃存、多層單元閃存、連接接口分別和轉(zhuǎn)換緩沖層相接。上述單層單元閃存與多層單元閃存分別包含邏輯區(qū)塊、已用區(qū)塊及回收區(qū)塊。上述轉(zhuǎn)換緩沖層分別轉(zhuǎn)換單層單元閃存或多單層單元閃存的邏輯區(qū)塊、已用區(qū)塊及回收區(qū)塊。上述轉(zhuǎn)換緩沖層包含干凈區(qū)塊,用來(lái)存放已用區(qū)塊,并在干凈區(qū)塊的容量用盡后,再儲(chǔ)存于另一個(gè)干凈區(qū)塊中。該裝置還包含檢査模塊,檢查轉(zhuǎn)換分頁(yè)中的第一頁(yè)與最后一頁(yè),用來(lái)偵測(cè)轉(zhuǎn)換區(qū)塊是否具有壞塊,檢查模塊和轉(zhuǎn)換緩沖層相接。本實(shí)用新型提供的兼容多層單元與單層單元閃存的裝置,通過(guò)轉(zhuǎn)換緩沖層轉(zhuǎn)換多層單元閃存和單層單元閃存之間的數(shù)據(jù)格式,解決了
背景技術(shù):
中多層單元與單層單元閃存無(wú)法同時(shí)使用的問(wèn)題,同時(shí)本實(shí)用新型的轉(zhuǎn)換緩沖層包含干凈區(qū)塊,用來(lái)存放已用區(qū)塊,并在干凈區(qū)塊的容量用盡后,再儲(chǔ)存在另一個(gè)干凈區(qū)塊中。如此,可不頻繁使用某一個(gè)區(qū)塊,而將所有的已用區(qū)塊的數(shù)據(jù)統(tǒng)一放在單獨(dú)的干凈區(qū)塊里,單獨(dú)管理并在某一個(gè)干凈區(qū)塊放滿時(shí),才輪換新的干凈區(qū)塊,以保證閃存的使用壽命。而且本實(shí)用新型有檢查模塊,可以辨識(shí)出多層單元與單層單元閃存中是否具有壞塊。圖1為兼容多層單元與單層單元閃存的裝置第一實(shí)施例示意圖;圖2.1為轉(zhuǎn)換緩沖層轉(zhuǎn)換示意圖(一);圖2.2為轉(zhuǎn)換緩沖層轉(zhuǎn)換示意圖(二);圖3為兼容多層單元與單層單元閃存的裝置第二實(shí)施例示意圖。其中,10-單層單元閃存,12-數(shù)據(jù)扇區(qū),20-多層單元閃存,22-數(shù)據(jù)分頁(yè),30-轉(zhuǎn)換緩沖層,40-連接接口,50-檢查模塊;具體實(shí)施方式要達(dá)到兼容管理單層單元(SLC)閃存與多層單元(MLC)閃存之前,必須先了解這兩種閃存的不同點(diǎn),這樣才可知道如何設(shè)計(jì),而達(dá)到兼容SLC與MLC兩種閃存。其中,閃存可為反及型(NAND型)或反或型(NOR型),但并不限于此。首先,發(fā)現(xiàn)兩種閃存在數(shù)據(jù)交換接口上所傳送的數(shù)據(jù)量有所不同。單層單元閃存定義512字節(jié)(byte)為一個(gè)數(shù)據(jù)扇區(qū)(sector)。因此,在支持單層單元閃存的狀況下,硬件與單層單元閃存的接口在讀取或?qū)懭霐?shù)據(jù)時(shí),便是以一個(gè)數(shù)據(jù)扇區(qū)為一個(gè)單位,做讀取或?qū)懭氲膭?dòng)作。也就是說(shuō),電子產(chǎn)品在通過(guò)單層單元閃存的接口,讀取或?qū)懭霐?shù)據(jù)時(shí),是一次讀取或?qū)懭?12字節(jié)的數(shù)據(jù)量。然而,多層單元閃存定義2048字節(jié)(byte)為一個(gè)數(shù)據(jù)分頁(yè)(page)。因此,在支持多層單元閃存的狀況下,硬件與多層單元閃存的接口在讀取或?qū)懭霐?shù)據(jù)時(shí),便是以一個(gè)數(shù)據(jù)分頁(yè)為一個(gè)單位,做讀取或?qū)懭氲膭?dòng)作。也就是說(shuō),電子產(chǎn)品在通過(guò)多層單元閃存的接口,讀取或?qū)懭霐?shù)據(jù)時(shí),是一次讀取或?qū)懭?048字節(jié)的數(shù)據(jù)量。如此,便產(chǎn)生第一個(gè)問(wèn)題單層單元閃存與多層單元閃存兩者在數(shù)據(jù)交換接口上所傳送的數(shù)據(jù)量有所不同。因此,本實(shí)用新型首先解決此問(wèn)題。參見圖l,本實(shí)用新型兼容多層單元與單層單元閃存的裝置,應(yīng)用于多層單元狀態(tài)與單層單元狀態(tài),該裝置包含單層單元閃存IO、多層單元閃存20、轉(zhuǎn)換緩沖層30及連接接口40。單層單元閃存IO包含多個(gè)數(shù)據(jù)扇區(qū)(sector),而每一個(gè)數(shù)據(jù)扇區(qū)的容量為512字節(jié)(byte)。多層單元閃存20包含多個(gè)數(shù)據(jù)分頁(yè)(page),每一個(gè)數(shù)據(jù)分頁(yè)的容量為2048字節(jié)(byte)。由于單層單元閃存10與多層單元閃存20兩者在數(shù)據(jù)處理時(shí)的基本單位不同,因此必須先做轉(zhuǎn)換動(dòng)作。本實(shí)用新型提出利用轉(zhuǎn)換緩沖層30來(lái)完成兩種閃存在數(shù)據(jù)處理時(shí)基本單位的轉(zhuǎn)換,進(jìn)而達(dá)到彼此兼容應(yīng)用。轉(zhuǎn)換緩沖層30連接單層單元閃存10與多層單元閃存20。在內(nèi)存的應(yīng)用管理上會(huì)有兩種情形發(fā)生,一種是處于多層單元狀態(tài),也就是外部連接的硬件支持多層單元閃存格式。另一種是處于單層單元狀態(tài),也就是外部連接的硬件支持單層單元閃存格式。當(dāng)屬于多層單元狀態(tài)時(shí),由于須依照多層單元閃存的格式,而以數(shù)據(jù)分頁(yè)為單位做數(shù)據(jù)的讀取/寫入。因此,通過(guò)轉(zhuǎn)換緩沖層30轉(zhuǎn)換單層單元閃存10中的數(shù)據(jù)扇區(qū)12以符合數(shù)據(jù)分頁(yè)22的格式。參見圖2.1,將數(shù)據(jù)扇區(qū)12轉(zhuǎn)換為符合數(shù)據(jù)分頁(yè)22的格式。由于數(shù)據(jù)扇區(qū)12的容量為512字節(jié),而數(shù)據(jù)分頁(yè)22的容量為2048字節(jié),因此相差四倍,在此須先說(shuō)明容量的差異并不限于此。所以,利用轉(zhuǎn)換緩沖層30(功能類似緩沖區(qū)),先將每一個(gè)數(shù)據(jù)扇區(qū)12儲(chǔ)存在轉(zhuǎn)換緩沖層30中,等到累積至四個(gè)數(shù)據(jù)扇區(qū)12便可組成一個(gè)數(shù)據(jù)分頁(yè)22。如此,便可滿足在多層單元狀態(tài)下,數(shù)據(jù)讀取/寫入以數(shù)據(jù)分頁(yè)22為單位的需求。另一種情形,當(dāng)屬于單層單元狀態(tài)時(shí),須依照單層單元閃存的格式,而以數(shù)據(jù)扇區(qū)為單位做數(shù)據(jù)的讀取/寫入。因此,通過(guò)轉(zhuǎn)換緩沖層30轉(zhuǎn)換多層單元閃存20中的數(shù)據(jù)分頁(yè)22以符合數(shù)據(jù)扇區(qū)12的格式。參見圖2.2,將數(shù)據(jù)分頁(yè)22轉(zhuǎn)換為符合數(shù)據(jù)扇區(qū)12的格式。由于數(shù)據(jù)分頁(yè)22的容量為2048字節(jié),而數(shù)據(jù)扇區(qū)12容量為512字節(jié),兩者相差四倍(其中,容量之差異并不限于此)。所以,利用轉(zhuǎn)換緩沖層30,將每一個(gè)數(shù)據(jù)分頁(yè)22劃分為四等分,以符合數(shù)據(jù)扇區(qū)12的格式大小。如此,便可滿足在單層單元狀態(tài)下,數(shù)據(jù)讀取/寫入以數(shù)據(jù)扇區(qū)12為單位的需求。最后,經(jīng)過(guò)連接接口40由轉(zhuǎn)換緩沖層30讀取與寫入數(shù)據(jù)。在此,連接接口40可視為與外部硬件連接的接口,通過(guò)連接接口40即可使用閃存來(lái)讀取或?qū)懭霐?shù)據(jù)。由于,轉(zhuǎn)換緩沖層30已將單層單元閃存10與多層單元閃存20轉(zhuǎn)換為可彼此兼容的格式,因此不論多層單元狀態(tài)或是單層單元狀態(tài),只要是由轉(zhuǎn)換緩沖層30來(lái)讀取或?qū)懭霐?shù)據(jù)即可達(dá)到兼容的效果。因此,連接接口40的功能,便是提供從轉(zhuǎn)換緩沖層30讀取與寫入數(shù)據(jù)的一個(gè)接口。上述單層單元閃存10或多層單元閃存20分別包含邏輯區(qū)塊(logicalblock)、已用區(qū)塊(dirtyblock)及回收區(qū)塊(recycleblock),下面分別介紹三種區(qū)塊邏輯區(qū)塊(logicalblock):由于閃存的特性是不允許對(duì)同一塊相同的內(nèi)存位置做寫入的動(dòng)作,除非事先有對(duì)那塊內(nèi)存位置做清除(erase)的動(dòng)作,而這種存取特性將造成管理閃存上的困難。因此,通常為了讓閃存可以在原有的系統(tǒng)底下運(yùn)作,例如,在原來(lái)的檔案系統(tǒng)(FAT16/32、NTFS、EXT2)下運(yùn)作,其中最常被采用的方法就是稱為地址轉(zhuǎn)變表(addresstranslationtable)的方法。此方法通過(guò)邏輯區(qū)塊位置(logicalblockaddress)對(duì)應(yīng)到真實(shí)的閃存位置,可以把閃存仿真為一個(gè)連續(xù)的內(nèi)存空間,因此就可以在不變動(dòng)原有的設(shè)定下,把閃存當(dāng)做是一個(gè)硬盤(harddisk)或是一個(gè)隨機(jī)存取內(nèi)存(RAM)使用。已用區(qū)塊(dirtyblock):閃存中的某個(gè)區(qū)塊,如果已被寫入數(shù)據(jù),那么該區(qū)塊便稱為已用區(qū)塊(dirtyblock)。回收區(qū)塊(recycleblock):閃存中原本已被寫入數(shù)據(jù)而成為已用區(qū)塊后,通過(guò)清除動(dòng)作將原來(lái)的已用區(qū)塊從閃存中釋放,在此被清除的區(qū)塊稱為回收區(qū)塊(recycleblock)。而回收區(qū)塊可繼續(xù)重復(fù)寫入數(shù)據(jù)。由于單層單元閃存10或多層單元閃存20分別包含邏輯區(qū)塊、已用區(qū)塊及回收區(qū)塊。因此,轉(zhuǎn)換緩沖層30會(huì)分別轉(zhuǎn)換單層單元閃存10或多單層單元閃存20的邏輯區(qū)塊、已用區(qū)塊及回收區(qū)塊。SLC與MLC兩種閃存第二個(gè)差異處在于已用區(qū)塊(dirtyblock)的存放方式。如先前技術(shù),SLC閃存可重復(fù)寫入的次數(shù)約為10萬(wàn)次,而MLC閃存重復(fù)寫入的次數(shù)約為l萬(wàn)次。因此,在支持SLC閃存時(shí),因?yàn)榭啥啻螌懭?,所以可以利用每個(gè)數(shù)據(jù)分頁(yè)(page)的OOB區(qū)來(lái)存放已用區(qū)塊的數(shù)據(jù)。其中,所謂OOB區(qū)為每一數(shù)據(jù)分頁(yè)中最后16個(gè)位。但這種記錄方法在MLC閃存上不適用,因?yàn)镸LC閃存的資料對(duì)寫入次數(shù)有嚴(yán)格限制。所以,為了兼容SLC閃存與MLC閃存,本實(shí)用新型提出在轉(zhuǎn)換緩沖層30包含干凈區(qū)塊,用來(lái)存放已用區(qū)塊,并在干凈區(qū)塊的容量用盡后,再儲(chǔ)存在另一個(gè)干凈區(qū)塊中。如此,可不頻繁使用某一個(gè)區(qū)塊,而將所有的已用區(qū)塊的數(shù)據(jù)統(tǒng)一放在單獨(dú)的干凈區(qū)塊里,單獨(dú)管理。并在某一個(gè)干凈區(qū)塊放滿時(shí),才輪換新的干凈區(qū)塊,如此可保證閃存的使用壽命。SLC與MLC兩種閃存第三個(gè)差異處在于壞塊的辨識(shí)方式。由于閃存中對(duì)同一塊位置可清除的次數(shù)有所限制,若清除的次數(shù)超過(guò)它所規(guī)定的次數(shù),有可能造成類似硬盤壞軌的情形,稱為壞塊。在SLC閃存的規(guī)范(Spec)中規(guī)定第一頁(yè)的數(shù)據(jù)分頁(yè)或第二頁(yè)的數(shù)據(jù)分頁(yè)中的OOB區(qū)第6個(gè)位為壞塊標(biāo)志。要確定是否具有壞塊(invalidblock)只要檢查壞塊標(biāo)志即可得知,如果沒(méi)有壞塊該值為FF,如果具有壞塊該值為非FF。因此,只要檢查第一頁(yè)的數(shù)據(jù)分頁(yè)或第二頁(yè)的數(shù)據(jù)即可辨識(shí)有無(wú)壞塊。然而,MLC閃存的規(guī)范(Spec)中規(guī)定最后一頁(yè)的數(shù)據(jù)分頁(yè)中的OOB區(qū)第6個(gè)位為壞塊標(biāo)志。因此,MLC閃存要確定是否具有壞塊必須檢查最后一頁(yè)的數(shù)據(jù)分頁(yè),同樣在OOB區(qū)第6個(gè)位為壞塊標(biāo)志,如果沒(méi)有壞塊該值為FF,如果具有壞塊該值為非FF。上述說(shuō)明可知,SLC與MLC兩種閃存針對(duì)壞塊的辨識(shí),所辨識(shí)的數(shù)據(jù)分頁(yè)不同。因此,本實(shí)用新型第二實(shí)施例,參見圖3,第二實(shí)施例包含檢査模塊50。由于在支持SLC閃存時(shí),只須判斷數(shù)據(jù)分頁(yè)中的第一頁(yè)即可辨識(shí)是否具有壞塊,進(jìn)而可管理壞塊。但如果應(yīng)用在MLC閃存時(shí)只判斷數(shù)據(jù)分頁(yè)中的第一頁(yè),便無(wú)法正確判斷是否具有壞塊。因此,本實(shí)用新型在第二實(shí)施例中提出檢查模塊50。在第二實(shí)施例中,轉(zhuǎn)換緩沖層30轉(zhuǎn)換后包含多個(gè)轉(zhuǎn)換區(qū)塊,而每一個(gè)轉(zhuǎn)換區(qū)塊包含多個(gè)轉(zhuǎn)換分頁(yè)。利用檢查模塊50檢查轉(zhuǎn)換分頁(yè)中的第一頁(yè)與最后一頁(yè),用來(lái)偵測(cè)轉(zhuǎn)換區(qū)塊是否具有壞塊。如此,將轉(zhuǎn)換分頁(yè)中的第一頁(yè)與最后一頁(yè)都檢查一遍,這樣不論是SLC閃存或MLC閃存,皆可正確的辨識(shí)出是否具有壞塊。權(quán)利要求1、一種兼容多層單元與單層單元閃存的裝置,具有多層單元狀態(tài)與單層單元狀態(tài),其特征在于該裝置包含單層單元閃存,包含多個(gè)數(shù)據(jù)扇區(qū);多層單元閃存,包含多個(gè)數(shù)據(jù)分頁(yè);轉(zhuǎn)換緩沖層,連接單層單元閃存與多層單元閃存,在多層單元狀態(tài),轉(zhuǎn)換數(shù)據(jù)扇區(qū)以符合數(shù)據(jù)分頁(yè)的格式,在單層單元狀態(tài),轉(zhuǎn)換數(shù)據(jù)分頁(yè)以符合數(shù)據(jù)扇區(qū)的格式;連接接口,提供從轉(zhuǎn)換緩沖層讀取與寫入數(shù)據(jù),所述單層單元閃存、多層單元閃存、連接接口分別和轉(zhuǎn)換緩沖層相接。2、根據(jù)權(quán)利要求1所述的兼容多層單元與單層單元閃存的裝置,其特征在于.-所述單層單元閃存與多層單元閃存分別包含邏輯區(qū)塊、已用區(qū)塊及回收區(qū)塊。3、根據(jù)權(quán)利要求2所述的兼容多層單元與單層單元閃存的裝置,其特征在于所述轉(zhuǎn)換緩沖層分別轉(zhuǎn)換單層單元閃存或多單層單元閃存的邏輯區(qū)塊、已用區(qū)塊及回收區(qū)塊。4、根據(jù)權(quán)利要求1所述的兼容多層單元與單層單元閃存的裝置,其特征在于所述轉(zhuǎn)換緩沖層包含干凈區(qū)塊,用來(lái)存放已用區(qū)塊,并在干凈區(qū)塊的容量用盡后,再儲(chǔ)存于另一個(gè)干凈區(qū)塊中。5、根據(jù)權(quán)利要求1所述的兼容多層單元與單層單元閃存的裝置,其特征在于該裝置還包含檢査模塊,檢査轉(zhuǎn)換分頁(yè)中的第一頁(yè)與最后一頁(yè),用來(lái)偵測(cè)轉(zhuǎn)換區(qū)塊是否具有壞塊,所述檢查模塊和轉(zhuǎn)換緩沖層相接。專利摘要本實(shí)用新型涉及一種兼容多層單元與單層單元閃存的裝置,具有多層單元狀態(tài)與單層單元狀態(tài),該裝置包含單層單元閃存,包含多個(gè)數(shù)據(jù)扇區(qū)(sector);多層單元閃存,包含多個(gè)數(shù)據(jù)分頁(yè)(page);轉(zhuǎn)換緩沖層,連接單層單元閃存與多層單元閃存,在多層單元狀態(tài),轉(zhuǎn)換數(shù)據(jù)扇區(qū)符合數(shù)據(jù)分頁(yè)的格式,在單層單元狀態(tài),轉(zhuǎn)換數(shù)據(jù)分頁(yè)符合數(shù)據(jù)扇區(qū)的格式;連接接口,提供從轉(zhuǎn)換緩沖層讀取與寫入數(shù)據(jù)。文檔編號(hào)G11C29/12GK201289750SQ200820222358公開日2009年8月12日申請(qǐng)日期2008年11月7日優(yōu)先權(quán)日2008年11月7日發(fā)明者鋆李,陳淮琰申請(qǐng)人:無(wú)敵科技(西安)有限公司