專利名稱:多通道與非型閃存控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多通道Nandflash (與非型閃存)控制器。
背景技術(shù):
與非型閃存在最近幾年里得到了突飛猛進(jìn)的發(fā)展,由SLC(1位/單元)技術(shù)發(fā)展到MLC(多位/單元)技術(shù),同時(shí)與非型閃存的生產(chǎn)工藝也不斷進(jìn)步。隨著技術(shù)的發(fā)展,與非型閃存容量不斷增大,單位容量的成本也大幅降低,應(yīng)用與非型閃存的領(lǐng)域也越來(lái)越多。與非型閃存相對(duì)于磁存儲(chǔ)介質(zhì)有省電、尋道時(shí)間短等優(yōu)點(diǎn)。隨著與非型閃存成本的不斷下降,基于與非型閃存的固態(tài)硬盤(SSD, Solid-State-Drive)被當(dāng)作替代現(xiàn)有磁存儲(chǔ)介質(zhì)硬盤的最佳選擇。但是與非型閃存在使用過(guò)程中必須先擦除才能重新寫入。與非型閃存的這一特性導(dǎo)致與非型閃存必須對(duì)使用過(guò)程中產(chǎn)生的垃圾塊進(jìn)行回收。當(dāng)與非型閃存進(jìn)行垃圾塊回收時(shí),用戶數(shù)據(jù)寫與非型閃存的操作就會(huì)被延時(shí)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種多通道與非型閃存控制器,使用戶寫與非型閃存和與非型閃存的垃圾塊回收可以同時(shí)進(jìn)行,提高系統(tǒng)的整體性能。為解決上述技術(shù)問(wèn)題,本發(fā)明的多通道與非型閃存控制器。包括:—微控制器,是系統(tǒng)主控制單元,用于控制系統(tǒng)中各組成單元;
一設(shè)備端控制器,用于以特定協(xié)議和主控端進(jìn)行數(shù)據(jù)傳輸;一設(shè)備端DMA (直接存儲(chǔ)器訪問(wèn))控制器,用于控制所述設(shè)備端控制器和系統(tǒng)存儲(chǔ)器之間的數(shù)據(jù)傳輸;一數(shù)據(jù)訪問(wèn)仲裁邏輯模塊,用于仲裁所述微控制器、設(shè)備端DMA控制器和與非型閃存存儲(chǔ)陣列模塊對(duì)系統(tǒng)存儲(chǔ)器的訪問(wèn)請(qǐng)求;一系統(tǒng)存儲(chǔ)器,用于暫存與非型閃存存儲(chǔ)陣列模塊和與非型閃存控制器之間傳輸?shù)臄?shù)據(jù),也用于存放當(dāng)前數(shù)據(jù)讀寫所使用的地址映射表;一第一 ECC(糾錯(cuò)碼)編碼器,用于對(duì)通過(guò)第一寫數(shù)據(jù)通路寫入所述與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù)進(jìn)行ECC編碼;一第二 ECC編碼器,用于對(duì)通過(guò)第二寫數(shù)據(jù)通路寫入所述與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù)進(jìn)行ECC編碼;一 ECC解碼器,用于對(duì)從所述與非型閃存存儲(chǔ)陣列模塊讀出的數(shù)據(jù)進(jìn)行查錯(cuò)和糾錯(cuò);一第一與非型閃存DMA寫控制邏輯模塊,將數(shù)據(jù)從系統(tǒng)存儲(chǔ)器搬移到第一Nandflash寫數(shù)據(jù)緩存區(qū);一第二與非型閃存DMA寫控制邏輯模塊,將數(shù)據(jù)從系統(tǒng)存儲(chǔ)器搬移到第二與非型閃存寫數(shù)據(jù)緩存區(qū);
一與非型閃存DMA讀控制邏輯模塊,將數(shù)據(jù)從與非型閃存讀數(shù)據(jù)緩存區(qū)搬移到系統(tǒng)存儲(chǔ)器;一第一與非型閃存寫數(shù)據(jù)緩存區(qū),用于存放從系統(tǒng)存儲(chǔ)器中讀出還未來(lái)得及寫入與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù);一第二與非型閃存寫數(shù)據(jù)緩存區(qū),用于存放從系統(tǒng)存儲(chǔ)器中讀出還未來(lái)得及寫入與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù);一與非型閃存讀數(shù)據(jù)緩存區(qū),用于存放從與非型閃存存儲(chǔ)陣列模塊讀出,還未來(lái)得及寫入系統(tǒng)存儲(chǔ)器的數(shù)據(jù);一與非型閃存接口 控制器,控制所述與非型閃存控制器與與非型閃存存儲(chǔ)陣列模塊之間的數(shù)據(jù)傳輸。當(dāng)一個(gè)與非型閃存DMA寫控制邏輯模塊和與非型閃存DMA讀控制邏輯模塊被用來(lái)做垃圾塊回收時(shí),另一個(gè)與非型閃存DMA寫控制邏輯模塊可用來(lái)往與非型閃存存儲(chǔ)陣列模塊寫入數(shù)據(jù)。所述第一與非型閃存DMA寫控制邏輯模塊、第二與非型閃存DMA寫控制邏輯模塊和與非型閃存DMA讀控制邏輯模塊可以同時(shí)傳輸數(shù)據(jù)。所述與非型閃存陣列模塊被分為容量相同的兩組,寫操作在兩組與非型閃存存儲(chǔ)陣列模塊間交替進(jìn)行。所述與非型閃存存儲(chǔ)陣列模塊被分為容量相同的兩組,垃圾塊回收操作在兩組與非型閃存陣列模塊間交替進(jìn)行。所述與非型閃存接口控制器和與非型閃存存儲(chǔ)陣列模塊的接口由多個(gè)片選信號(hào)(CE#)、多個(gè)就緒/忙信號(hào)(R/B#)、一組控制信號(hào)和一組數(shù)據(jù)信號(hào)組成。本發(fā)明通過(guò)設(shè)立兩條獨(dú)立的寫數(shù)據(jù)通路,使用戶寫與非型閃存存儲(chǔ)陣列模塊和與非型閃存存儲(chǔ)陣列模塊的垃圾塊回收可以同時(shí)進(jìn)行,從而隱藏了垃圾塊回收所花的時(shí)間,提高了系統(tǒng)的整體性能。
下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明:附圖是所述多通道與非型閃存控制器一實(shí)施例結(jié)構(gòu)框圖。
具體實(shí)施例方式結(jié)合附圖所示,在一實(shí)施例中,所述多通道與非型閃存控制器,包括:一微控制器,一設(shè)備端控制器,用于以特定協(xié)議和主控端進(jìn)行數(shù)據(jù)傳輸;一設(shè)備端DMA控制器,一數(shù)據(jù)訪問(wèn)仲裁邏輯模塊,系統(tǒng)存儲(chǔ)器,第一 ECC編碼器(即附圖中的“第一編碼器”),第二 ECC編碼器(即附圖中的“第二編碼器”),一 ECC解碼器(即附圖中的“解碼器”),第一與非型閃存DMA寫控制邏輯模塊(即附圖中的“第一寫控制邏輯模塊”),第二與非型閃存DMA寫控制邏輯模塊(即附圖中的“第二寫控制邏輯模塊”),與非型閃存DMA讀控制邏輯模塊(即附圖中的“讀控制邏輯模塊”),第一與非型閃存寫數(shù)據(jù)緩存區(qū)(即附圖中的“第一寫數(shù)據(jù)緩存區(qū)”),第二與非型閃存寫數(shù)據(jù)緩存區(qū)(即附圖中的“第二寫數(shù)據(jù)緩存區(qū)”),與非型閃存讀數(shù)據(jù)緩存區(qū)(即附圖中的“讀數(shù)據(jù)緩存區(qū)”),與非型閃存接口控制器(即附圖中的“接口控制器0-3”)。與非型閃存接口控制器用于控制與非型閃存控制器與與非型閃存存儲(chǔ)陣列模塊(即附圖中的“存儲(chǔ)系統(tǒng)端”)之間的數(shù)據(jù)傳輸。所述多通道與非型閃存控制器可隱藏垃圾塊回收所產(chǎn)生的延時(shí)。所述特定協(xié)議包含IDE (Integrated Drive Electronics,電子集成驅(qū)動(dòng)器)、USB(Universal Serial Bus,通用串行總線)、SATA(Serial Advanced TechnologyAttachment,串行高級(jí)技術(shù)附件)和PC1-E (Peripheral Component Interconnect Express外設(shè)組件互連高速總線)等。本發(fā)明適用于頁(yè)地址映射的FTL(Flash transfer layer ;與非型閃存?zhèn)鬏攲?。寫入操作時(shí),數(shù)據(jù)按順序?qū)懭肟枕?yè)中,原來(lái)的頁(yè)標(biāo)記為垃圾頁(yè)。當(dāng)與非型閃存存儲(chǔ)陣列模塊中的空頁(yè)耗盡時(shí),開始垃圾塊回收,選擇垃圾頁(yè)最多的塊,在搬走其中的有效數(shù)據(jù)后進(jìn)行擦除。本發(fā)明中的與非型閃存存儲(chǔ)陣列模塊被分為容量相同的兩組。附圖中,“A”和“B”分別代表多片與非型閃存存儲(chǔ)單元,組成第一組與非型閃存存儲(chǔ)陣列模塊,經(jīng)由第一通道和第二通道分別與與非型閃存接口控制器O和與非型閃存接口控制器I相連接?!癈”和“D”分別代表多片與非型閃存存儲(chǔ)單元,組成第二組與非型閃存存儲(chǔ)陣列模塊,經(jīng)由第三通道和第四通道分別與與非型閃存接口控制器2和與非型閃存接口控制器3相連接。寫入操作時(shí),數(shù)據(jù)先寫入 第一組與非型閃存存儲(chǔ)陣列模塊中,當(dāng)?shù)谝唤M與非型閃存存儲(chǔ)陣列模塊的空頁(yè)耗盡時(shí),第一組與非型閃存存儲(chǔ)陣列模塊開始垃圾塊回收,系統(tǒng)不能再繼續(xù)向其寫入數(shù)據(jù),后續(xù)的寫數(shù)據(jù)寫入第二組與非型閃存存儲(chǔ)陣列模塊中。當(dāng)?shù)诙M與非型閃存存儲(chǔ)陣列模塊的空頁(yè)耗盡時(shí),第二組與非型閃存存儲(chǔ)陣列模塊開始垃圾塊回收,系統(tǒng)不能再繼續(xù)向其寫入數(shù)據(jù),若第一組與非型閃存存儲(chǔ)陣列模塊的垃圾塊回收已經(jīng)完成,后續(xù)數(shù)據(jù)可以寫入第一組的與非型閃存存儲(chǔ)陣列模塊中,若第一組與非型閃存存儲(chǔ)陣列模塊的垃圾塊回收沒有完成,后續(xù)寫操作必須等待其完成。系統(tǒng)在運(yùn)行過(guò)程中需要記錄當(dāng)前寫操作對(duì)應(yīng)的是第一組與非型閃存存儲(chǔ)陣列模塊還是第二組與非型閃存存儲(chǔ)陣列模塊。垃圾塊回收所產(chǎn)生延時(shí)能否被完全隱藏,在于垃圾塊回收所釋放出的空頁(yè)能否超過(guò)垃圾塊中所含頁(yè)數(shù)量的一半。在垃圾塊回收所釋放出的空頁(yè)超過(guò)垃圾塊中所含頁(yè)數(shù)量的一半時(shí),用戶數(shù)據(jù)可以連續(xù)的寫入與非型閃存存儲(chǔ)陣列模塊中。以上通過(guò)具體實(shí)施方式
和實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,但這些并非構(gòu)成對(duì)本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種多通道與非型閃存控制器,其特征在于,包括: 一微控制器,用于控制系統(tǒng)中各組成單元; 一設(shè)備端控制器,用于以特定協(xié)議和主控端進(jìn)行數(shù)據(jù)傳輸; 一設(shè)備端直接存儲(chǔ)器訪問(wèn)DMA控制器,用于控制所述設(shè)備端控制器和系統(tǒng)存儲(chǔ)器之間的數(shù)據(jù)傳輸; 一數(shù)據(jù)訪問(wèn)仲裁邏輯模塊,用于仲裁所述微控制器、設(shè)備端控制器和與非型閃存存儲(chǔ)陣列模塊對(duì)系統(tǒng)存儲(chǔ)器的訪問(wèn)請(qǐng)求; 一系統(tǒng)存儲(chǔ)器,用于暫存與非型閃存存儲(chǔ)陣列模塊和所述與非型閃存控制器之間傳輸?shù)臄?shù)據(jù),及存放當(dāng)前數(shù)據(jù)讀寫所使用的地址映射表; 一第一糾錯(cuò)碼ECC編碼器,用于對(duì)通過(guò)第一寫數(shù)據(jù)通路寫入與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù)進(jìn)行糾錯(cuò)碼ECC編碼; 一第二糾錯(cuò)碼ECC編碼器,用于對(duì)通過(guò)第二寫數(shù)據(jù)通路寫入與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù)進(jìn)行ECC編碼; 一糾錯(cuò)碼ECC解碼器,用于對(duì)從與非型閃存存儲(chǔ)陣列模塊讀出的數(shù)據(jù)進(jìn)行查錯(cuò)和糾錯(cuò); 一第一與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA寫控制邏輯模塊,將數(shù)據(jù)從系統(tǒng)存儲(chǔ)器搬移到第一與非型閃存寫數(shù)據(jù)緩存區(qū); 一第二與非型閃存直 接存儲(chǔ)器訪問(wèn)與非型閃存DMA寫控制邏輯模塊,將數(shù)據(jù)從系統(tǒng)存儲(chǔ)器搬移到第二與非型閃存寫數(shù)據(jù)緩存區(qū); 一與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA讀控制邏輯模塊,將數(shù)據(jù)從與非型閃存讀數(shù)據(jù)緩存區(qū)搬移到系統(tǒng)存儲(chǔ)器; 一第一與非型閃存寫數(shù)據(jù)緩存區(qū),用于存放從系統(tǒng)存儲(chǔ)器中讀出且未寫入與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù); 一第二與非型閃存寫數(shù)據(jù)緩存區(qū),用于存放從系統(tǒng)存儲(chǔ)器中讀出且未寫入與非型閃存存儲(chǔ)陣列模塊的數(shù)據(jù); 一與非型閃存讀數(shù)據(jù)緩存區(qū),用于存放從與非型閃存存儲(chǔ)陣列模塊讀出,且未寫入系統(tǒng)存儲(chǔ)器的數(shù)據(jù); 一與非型閃存接口控制器,控制所述與非型閃存控制器與所述與非型閃存存儲(chǔ)陣列模塊之間的數(shù)據(jù)傳輸。
2.如權(quán)利要求1所述的多通道與非型閃存控制器,其特征在于:當(dāng)一個(gè)與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA寫控制邏輯模塊和與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA讀控制邏輯模塊被用來(lái)做垃圾塊回收時(shí),另一個(gè)與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA寫控制邏輯模塊可用來(lái)往與非型閃存存儲(chǔ)陣列模塊寫入數(shù)據(jù)。
3.如權(quán)利要求1所述的多通道與非型閃存控制器,其特征在于:所述第一與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA寫控制邏輯模塊、第二與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA寫控制邏輯模塊和與非型閃存直接存儲(chǔ)器訪問(wèn)與非型閃存DMA讀控制邏輯模塊能夠同時(shí)傳輸數(shù)據(jù)。
4.如權(quán)利要求1所述的多通道與非型閃存控制器,其特征在于:對(duì)所述與非型閃存存儲(chǔ)陣列模塊進(jìn)行寫入操作時(shí),數(shù)據(jù)按順序?qū)懭肱c非型閃存存儲(chǔ)陣列模塊的空頁(yè),原來(lái)的頁(yè)標(biāo)記為垃圾頁(yè);當(dāng)空頁(yè)耗盡時(shí),開始垃圾塊回收,且選擇垃圾頁(yè)最多的塊先進(jìn)行回收,在搬走其中的有效數(shù)據(jù)后,進(jìn)行擦除。
5.如權(quán)利要求1所述的多通道與非型閃存控制器,其特征在于:所述與非型閃存存儲(chǔ)陣列模塊被分為容量相同的兩組,寫操作在兩組與非型閃存存儲(chǔ)陣列模塊間交替進(jìn)行。
6.如權(quán)利要求5所述的多通道與非型閃存控制器,其特征在于:對(duì)所述與非型閃存存儲(chǔ)陣列模塊進(jìn)行寫入操作時(shí),數(shù)據(jù)先寫入第一組與非型閃存存儲(chǔ)陣列模塊中,當(dāng)?shù)谝唤M與非型閃存存儲(chǔ)陣列模塊的空頁(yè)耗盡時(shí),第一組與非型閃存存儲(chǔ)陣列模塊開始垃圾塊回收,系統(tǒng)不能再繼續(xù)向其寫入數(shù)據(jù),后續(xù)的寫數(shù)據(jù)寫入第二組與非型閃存存儲(chǔ)陣列模塊中; 當(dāng)?shù)诙M與非型閃存存儲(chǔ)陣列模塊的空頁(yè)耗盡時(shí),第二組與非型閃存存儲(chǔ)陣列模塊開始垃圾塊回收,系統(tǒng)不能再繼續(xù)向其寫入數(shù)據(jù),若第一組與非型閃存存儲(chǔ)陣列模塊的垃圾塊回收已經(jīng)完成,后續(xù)數(shù)據(jù)寫入第一組的與非型閃存存儲(chǔ)陣列模塊中,若第一組與非型閃存存儲(chǔ)陣列模塊的垃圾塊回收沒有完成,后續(xù)寫操作必須等待其完成。
7.如權(quán)利要求5或6所述的多通道與非型閃存控制器,其特征在于:系統(tǒng)在運(yùn)行過(guò)程中需要記錄當(dāng)前寫操作對(duì)應(yīng)的是第一組與非型閃存存儲(chǔ)陣列模塊還是第二組與非型閃存存儲(chǔ)陣列模塊。
8.如權(quán)利要求1所述的多通道與非型閃存控制器,其特征在于:所述與非型閃存存儲(chǔ)陣列模塊被分為容量相同的兩組,垃圾塊回收操作在兩組與非型閃存存儲(chǔ)陣列模塊間交替進(jìn)行。
9.如權(quán)利要求1所述的多通道與非型閃存控制器,其特征在于:所述與非型閃存接口控制器和與非型閃存存儲(chǔ)陣列模塊的接口由多個(gè)片選信號(hào)、多個(gè)就緒/忙信號(hào)、一組控制信號(hào)和一組數(shù)據(jù)信號(hào)組成。
全文摘要
本發(fā)明公開了一種多通道與非型閃存控制器,包括一微控制器,一設(shè)備端控制器,一設(shè)備端DMA控制器,一數(shù)據(jù)訪問(wèn)仲裁邏輯模塊,系統(tǒng)存儲(chǔ)器,第一ECC編碼器,第二ECC編碼器,一ECC解碼器,第一與非型閃存DMA寫控制邏輯模塊,第二與非型閃存DMA寫控制邏輯模塊,與非型閃存DMA讀控制邏輯模塊,第一與非型閃存寫數(shù)據(jù)緩存區(qū),第二與非型閃存寫數(shù)據(jù)緩存區(qū),與非型閃存讀數(shù)據(jù)緩存區(qū),與非型閃存接口控制器。當(dāng)一個(gè)與非型閃存DMA寫控制邏輯模塊和與非型閃存DMA讀控制邏輯模塊被用來(lái)做垃圾塊回收時(shí),另一個(gè)與非型閃存DMA寫控制邏輯模塊可用來(lái)往與非型閃存存儲(chǔ)陣列模塊寫入數(shù)據(jù)。本發(fā)明能隱藏垃圾塊回收所產(chǎn)生的延時(shí),提高系統(tǒng)的整體性能。
文檔編號(hào)G06F13/28GK103226528SQ201210021219
公開日2013年7月31日 申請(qǐng)日期2012年1月31日 優(yōu)先權(quán)日2012年1月31日
發(fā)明者遲志剛 申請(qǐng)人:上海華虹集成電路有限責(zé)任公司