專利名稱:并行閃存控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種并行閃存控制器,具體的來講,本發(fā)明涉及一種下掛按閃存通道和閃存行進行陣列組織的二維并行閃存控制器。
背景技術(shù):
隨著PC技術(shù)的逐漸發(fā)展,用戶對存儲設(shè)備的要求也越來越高,其中不僅僅包括對容量、性能、速度,還包括功耗,外形體積,對外界綜合環(huán)境的要求,以及很多特殊環(huán)境的要求等等。現(xiàn)在使用范圍最廣泛的存儲設(shè)備,按照存儲介質(zhì)的類型大致可以分為閃存設(shè)備和硬盤設(shè)備兩種。對于這兩種存儲設(shè)備來講,硬盤設(shè)備由于其目前低廉的價格,因此是使用范圍最廣泛,市場占有率遠遠大于閃存設(shè)備,但是,其自身存在的很多缺點限制了廣泛的應(yīng)用,而閃存則根據(jù)其自身存在的一些優(yōu)勢,逐漸占領(lǐng)原屬于硬盤的一部分應(yīng)用領(lǐng)域。對于閃存設(shè)備來講,其優(yōu)點首先在于隨機讀寫速度快;同時由于閃存是芯片操作不存在機械控制,因此數(shù)據(jù)穩(wěn)定,同時功耗很低;還有,由于其數(shù)據(jù)存儲單元為閃存芯片,因此對環(huán)境的適應(yīng)性很強,無論溫度、壓強,還是濕度、空氣純凈度,對其的影響都不大,因此適用領(lǐng)域比較廣泛。對于硬盤來講,由于其內(nèi)部的機械結(jié)構(gòu)決定了它比較大的功耗,龐大的外形體積,工作過程中會產(chǎn)生噪聲,以及對外界環(huán)境的要求比較高;同時,由于其機械結(jié)構(gòu),決定其隨機讀寫的速率很低。因此,在相當(dāng)一部分使用領(lǐng)域,越來越不能滿足市場要求,例如在便攜的筆記本電腦中,由于其比較大的功耗,抗震性能不好,相對比較龐大的外形,使得其越來越不能匹配要求日益提高的此類計算機。此外,在一些性能要求比較高的特殊環(huán)境下,硬盤由于其機械構(gòu)造,也大大限制了它的使用;而在此類環(huán)境下,閃存則表現(xiàn)了其優(yōu)勢所在。另一方面,由于閃存芯片自身的一些特性,限制了閃存的使用范圍的逐漸擴大,這類限制主要集中在閃存存儲設(shè)備的接口帶寬一直不能得到顯著的提高,所以,在大容量的存儲設(shè)備領(lǐng)域特別是對設(shè)備讀寫速率要求比較高的環(huán)境一直受到限制,因此,如何提高其閃存存儲設(shè)備的帶寬是擴大閃存設(shè)備使用范圍的關(guān)鍵所在。
目前常用的閃存芯片接口帶寬在一般情況下平均可以達到10MBps或者幾十MBps左右,而作為存儲器常用接口的PATA和SATA遠遠大于這個值,一般平均可以達到100MBps以上,因此閃存芯片的接口帶寬遠小于設(shè)備接口的帶寬,存儲設(shè)備的瓶頸主要集中在閃存芯片的接口帶寬上,所以,如何有效地提高閃存芯片與內(nèi)部控制器之間的接口帶寬成為閃存存儲設(shè)備研發(fā)至關(guān)重要的因素。
此外,市場上出現(xiàn)了多通道閃存處理器,中國專利“多通道閃存?zhèn)鬏斂刂破?、芯片及存儲設(shè)備”(公開號CN 1790308A)中提出了多通道的控制思想,但其沒有實現(xiàn)真正的多通道并行工作,即各通道的控制信號線是復(fù)用的,這樣一旦有一個閃存芯片沒有完成操作任務(wù),所有其他組就不可以開始新的操作。因此,這種做法雖然可以一定程度的提高閃存芯片的接口時序,但是,其做法工作效率比較低,同時還是遠遠小于PATA和SATA的接口時序。
發(fā)明內(nèi)容
為了解決現(xiàn)有閃存芯片在讀寫等操作過程中出現(xiàn)的瓶頸問題,本發(fā)明提出了一種并行閃存控制器,通過閃存通道并行和閃存行并行的二維并行控制方式,有效地提高了存儲器的讀寫速度。
本發(fā)明提出的并行閃存控制器,用于控制多個閃存通道的閃存芯片組,閃存控制器包括傳輸控制器、多個閃存控制單元、多個指令仲裁單元、多個指令隊列單元;每個閃存通道的閃存芯片組分別對應(yīng)一個閃存控制單元、一個指令仲裁單元以及一個指令隊列單元;傳輸控制器通過片內(nèi)數(shù)據(jù)總線與各閃存芯片進行數(shù)據(jù)交互;閃存通道內(nèi)的閃存芯片劃分成多個閃存行;閃存控制指令按通道并行下發(fā)到指令隊列單元,指令隊列單元解析并存儲對應(yīng)閃存通道的閃存控制指令,指令仲裁單元根據(jù)設(shè)定的仲裁規(guī)則確定閃存控制指令的發(fā)送順序;閃存控制單元接收指令仲裁單元下發(fā)的閃存控制指令,對通道內(nèi)的閃存行按行進行分時復(fù)用方式的讀寫控制。
優(yōu)選的,閃存控制單元對通道內(nèi)的閃存行按行進行分時復(fù)用方式具體為閃存控制單元選定通道內(nèi)的一閃存行并下發(fā)讀寫控制指令后,立即再選定狀態(tài)空閑的另一閃存行并下發(fā)讀寫控制指令;通道內(nèi)接收到讀寫控制指令的閃存行并行執(zhí)行讀寫操作。
優(yōu)選的,所述指令隊列單元中包括多個指令隊列,每個指令隊列存儲的閃存控制指令對應(yīng)為該閃存通道中的一個閃存行。
優(yōu)選的,所述指令仲裁單元按照指令隊列分時復(fù)用的方式確定閃存控制指令的發(fā)送順序。
優(yōu)選的,所述指令仲裁單元根據(jù)閃存通道中指令隊列分時復(fù)用以及對應(yīng)閃存控制單元的閃存芯片狀態(tài)反饋信息確定下一個要發(fā)送的閃存控制指令。
優(yōu)選的,所述閃存行中的閃存芯片劃分成多個閃存層;閃存控制單元對于同一閃存行中不同層的閃存芯片串行發(fā)送閃存控制指令,同一閃存行中不同層的閃存芯片進行串行讀寫操作。
本發(fā)明并行閃存控制器的主要優(yōu)勢在于實現(xiàn)了兩個層次的并行處理,即實現(xiàn)了在多通道并行操作基礎(chǔ)上,每個通道內(nèi)的多行也可以并行處理。每個閃存控制單元對于每個通道內(nèi)的不同行的閃存芯片發(fā)送流水線控制指令,即每個通道的不同行的閃存芯片在接收到流水線指令后也可以實現(xiàn)并行操作。這樣做的好處在于,閃存芯片指令的解析以及發(fā)送在整個操作過程中占用時間非常小,操作時間最主要集中在閃存內(nèi)部數(shù)據(jù)的拷貝以及擦除等操作上,這種流水線操作使得通道內(nèi)各個收到指令的不同的閃存芯片同時執(zhí)行這些操作,每個通道的閃存芯片數(shù)據(jù)總線的帶寬就可以有效地得到提高。此外由于本發(fā)明還可以在各閃存行的上進行閃存層的劃分,同一閃存行下不同層的閃存芯片進行串行處理,可以進一步增加閃存的存儲空間。以4個通道4行即16個閃存芯片為例,采用本發(fā)明理論上此存儲設(shè)備數(shù)據(jù)傳輸可以達到160MBps左右,經(jīng)過測試設(shè)備接口數(shù)據(jù)傳輸速率讀操作也可以達到80MBps以上,寫操作60MBps以上,與現(xiàn)有閃存存儲器相比成倍的提高了讀寫速率。
圖1為采用本發(fā)明并行閃存控制器的存儲器裝置基本結(jié)構(gòu)示意圖;圖2本發(fā)明優(yōu)選實施例的并行閃存控制器結(jié)構(gòu)框圖;圖3為本發(fā)明閃存通道Cn中各閃存行的擦除操作時序圖;圖4為本發(fā)明閃存芯片的陣列分布優(yōu)選實施例示意圖。
具體實施例方式
下面通過具體實施例并結(jié)合附圖對本發(fā)明進行詳細說明。
如圖1所示的具有本發(fā)明并行閃存控制器的閃存存儲設(shè)備的基本結(jié)構(gòu)示意圖,圖中1為設(shè)備接口,本發(fā)明以PATA接口為例;圖中2為接口控制器,本發(fā)明中可以為PATA接口控制器,接口控制器通過一組數(shù)據(jù)總線與SDRAM相連,通過一組控制信號總線與MCU相連;圖中3為存儲設(shè)備的主控MCU,圖中4為只讀存儲器,是Firmware的載體,主要用來存儲Firmware的程序代碼;圖中5所示為本發(fā)明并行閃存控制器;圖中6所示為本發(fā)明涉及存儲設(shè)備的閃存芯片陣列;圖中7所示為一個SDRAM芯片,其主要作用是作為數(shù)據(jù)傳輸?shù)木彌_以及存放映射表;圖中8所示為ECC即錯誤糾正模塊,其主要作用是對寫入閃存芯片的數(shù)據(jù)產(chǎn)生錯誤糾正碼,同時,在讀取數(shù)據(jù)過程中,根據(jù)錯誤糾正碼對數(shù)據(jù)進行錯誤糾正。
如圖2所示為本發(fā)明的并行閃存控制器芯片內(nèi)部結(jié)構(gòu)示意圖,圖中11所示為MCU向控制器芯片發(fā)送的指令;圖中12所示為片內(nèi)控制總線,MCU通過其向傳輸控制器及多組指令隊列發(fā)送控制指令;圖中13為MCU與傳輸控制器的信號交互,包括MCU對傳輸控制器的控制信號以及傳輸控制的狀態(tài)與錯誤中斷反饋;圖中14所示為閃存控制器與SDRAM之間的信號交互,包括傳輸控制器對SDRAM的控制以及SDRAM的狀態(tài)信號;圖中15所示為傳輸控制器與SDRAM的數(shù)據(jù)傳輸,在存儲設(shè)備讀操作過程中,傳輸控制器將數(shù)據(jù)傳給外部的SDRAM,在存儲設(shè)備寫操作過程中,傳輸控制器將數(shù)據(jù)從外部SDRAM讀入;圖中16所示為傳輸控制器,其主要作用是控制數(shù)據(jù)在SDRAM和操作目的閃存芯片之間的傳輸;圖中18為片內(nèi)數(shù)據(jù)總線;圖中17所示為傳輸控制器到片內(nèi)數(shù)據(jù)總線的傳輸數(shù)據(jù)流;圖中19所示為閃存陣列單元,其是存儲設(shè)備數(shù)據(jù)存儲的中心,是控制芯片的控制終端;圖中20所示為MCU向各指令隊列單元的發(fā)送的控制信號以及各指令隊列單元對MCU的應(yīng)答與反饋信號;圖中21所示為所示為4個指令隊列單元,其中每個包含4個指令隊列,其主要作用是將MCU發(fā)來的指令解析成閃存行的基本操作;圖中22為指令隊列發(fā)給指令仲裁單元的解析控制指令以及指令仲裁反饋給指令隊列組的狀態(tài)信號以及應(yīng)答信號,共有四個通道,每個通道包含四個行的閃存芯片的操作信號;圖中23所示為指令仲裁單元,每個通道對應(yīng)一個指令仲裁單元,其主要作用是對每個通道多個行的指令進行仲裁判斷,決定指令隊列發(fā)來的指令的操作順序,同時根據(jù)指令操作情況產(chǎn)生反饋信號給指令隊列;圖中24所示為經(jīng)過仲裁單元產(chǎn)生的對閃存控制單元的指令以及閃存控制單元的狀態(tài)中斷等反饋信號;圖中25所示為閃存控制單元,其主要作用是將經(jīng)過仲裁的閃存基本指令解析成閃存芯片操作信號發(fā)給對應(yīng)位置的閃存芯片,同時,將控制單元自身及閃存陣列的狀態(tài)以及中斷等信號反饋給指令仲裁器;圖中26為閃存控制單元對閃存芯片的控制信號以及閃存芯片的狀態(tài)以及中斷等反饋信號,圖中27所示為每個通道的數(shù)據(jù)傳輸總線。指令隊列單元21中的每個指令隊列22存儲的閃存控制指令對應(yīng)為該閃存通道中的一行閃存芯片。指令仲裁單元按照閃存通道中指令隊列分時復(fù)用的方式確定閃存控制指令的發(fā)送順序?;蛘咧噶钪俨脝卧鶕?jù)閃存通道中指令隊列分時復(fù)用以及對應(yīng)閃存控制單元的閃存芯片狀態(tài)反饋信息確定下一個要發(fā)送的閃存控制指令。
如圖3所示為閃存通道Cn(n=0、1、2、3)在執(zhí)行擦除操作的時序圖,如圖所示,tc為閃存控制器向閃存芯片發(fā)送指令所需時間,td為閃存芯片執(zhí)行擦除指令所需時間,th為總線執(zhí)行該擦除操作所需時間,從圖中可以看到,指令隊列組分時復(fù)用指令仲裁單元及閃存控制單元向通道內(nèi)閃存芯片發(fā)送流水線指令,而對于閃存芯片操作來講,無論擦除還是寫入讀出等指令,指令交互占用時間非常小,大部分的時間集中在閃存芯片內(nèi)部操作上,因此,在MCU看來,在同一的時間里Cn通道內(nèi)四個閃存芯片同時進行擦除操作,這種流水線操作的效果是并行的。
圖4所示為閃存芯片可以分為通道(Channel),行(Row),層(Layer)三個層次,本示例為一個4通道4行4層的閃存芯片陣列。每一個閃存控制器對應(yīng)一個存通道下的多個閃存芯片的讀寫控制。閃存控制單元對對應(yīng)通道中的各閃存行進行并行讀寫控制,對同一個閃存行中的不同層的閃存芯片進行串行讀寫控制。即每次操作的閃存芯片,某通道下不同行能夠同時操作,單某通道某行只能起動唯一的對應(yīng)層,即每個操作時間段都不可能有同通道同行不同層的閃存芯片同時操作。對于本實施例中綜合考慮存儲設(shè)備的接口協(xié)議帶寬以及閃存芯片陣列的接口帶寬,接口選擇存儲設(shè)備中廣泛應(yīng)用的PATA,閃存陣列選擇4個通道4行即16個閃存芯片,理論上此存儲設(shè)備數(shù)據(jù)傳輸一般可以達到160MBps左右,經(jīng)過測試設(shè)備接口數(shù)據(jù)傳輸速率讀操作也可以達到80MBps以上,寫操作60MBps以上,成倍的提高了現(xiàn)有閃存存儲器的讀寫速率,有效的解決了利用閃存芯片實現(xiàn)高速大容量存儲設(shè)備存在的瓶頸問題。
上例中以4通道4行的閃存陣列為例,對本發(fā)明作了說明性的描述。此外,本發(fā)明的閃存陣列可以被擴展為n通道m(xù)行,其中n可以為2,4,8…,m可以為1,2,4…,之類的多種閃存陣列組合,同時,每行又可以增加若干層,以擴大閃存設(shè)備的容量,這些類似的變化都是在本發(fā)明主導(dǎo)思想之下,這些對于技術(shù)人員來說都是顯然的。此外,本發(fā)明提出的二維并行閃存控制器可以通過ASIC、CPLD或者FPGA等來實現(xiàn)。因此,文中描述的本發(fā)明可以有多種變化,這些變化都不能認(rèn)為是脫離本發(fā)明的主題思想和使用范圍,對于以上這些對技術(shù)人員來說是顯然的改變,都包含在本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種并行閃存控制器,用于控制多個閃存通道的閃存芯片組,其特征在于,閃存控制器包括傳輸控制器、多個閃存控制單元、多個指令仲裁單元、多個指令隊列單元;每個閃存通道的閃存芯片組分別對應(yīng)一個閃存控制單元、一個指令仲裁單元以及一個指令隊列單元;傳輸控制器通過片內(nèi)數(shù)據(jù)總線與各閃存芯片進行數(shù)據(jù)交互;閃存通道內(nèi)的閃存芯片劃分成多個閃存行;閃存控制指令按通道并行下發(fā)到指令隊列單元,指令隊列單元解析并存儲對應(yīng)閃存通道的閃存控制指令,指令仲裁單元根據(jù)設(shè)定的仲裁規(guī)則確定閃存控制指令的發(fā)送順序;閃存控制單元接收指令仲裁單元下發(fā)的閃存控制指令,對通道內(nèi)的閃存行按行進行分時復(fù)用方式的讀寫控制。
2.根據(jù)權(quán)利要求1所述的并行閃存控制器,其特征在于,閃存控制單元對通道內(nèi)的閃存行按行進行分時復(fù)用方式具體為閃存控制單元選定通道內(nèi)的一閃存行并下發(fā)讀寫控制指令后,立即再選定狀態(tài)空閑的另一閃存行并下發(fā)讀寫控制指令;通道內(nèi)接收到讀寫控制指令的閃存行并行執(zhí)行讀寫操作。
3.根據(jù)權(quán)利要求1所述的并行閃存控制器,其特征在于,所述指令隊列單元中包括多個指令隊列,每個指令隊列存儲的閃存控制指令對應(yīng)為該閃存通道中的一個閃存行。
4.根據(jù)權(quán)利要求2或3所述的并行閃存控制器,其特征在于,所述指令仲裁單元按照指令隊列分時復(fù)用的方式確定閃存控制指令的發(fā)送順序。
5.根據(jù)權(quán)利要求2或3所述的并行閃存控制器,其特征在于,所述指令仲裁單元根據(jù)閃存通道中指令隊列分時復(fù)用以及對應(yīng)閃存控制單元的閃存芯片狀態(tài)反饋信息確定下一個要發(fā)送的閃存控制指令。
6.根據(jù)權(quán)利要求1所述的并行閃存控制器,其特征在于,所述閃存行中的閃存芯片劃分成多個閃存層;閃存控制單元對于同一閃存行中不同層的閃存芯片串行發(fā)送閃存控制指令,同一閃存行中不同層的閃存芯片進行串行讀寫操作。
全文摘要
本發(fā)明公開了一種并行閃存控制器,用于控制多個閃存通道的閃存芯片組,包括傳輸控制器、多個閃存控制單元、多個指令仲裁單元、多個指令隊列單元;傳輸控制器通過片內(nèi)數(shù)據(jù)總線與各閃存芯片進行數(shù)據(jù)交互;閃存通道內(nèi)的閃存芯片劃分成多個閃存行;閃存控制指令按通道并行下發(fā)到指令隊列單元,指令隊列單元解析并存儲對應(yīng)閃存通道的閃存控制指令,指令仲裁單元根據(jù)設(shè)定的仲裁規(guī)則確定閃存控制指令的發(fā)送順序;閃存控制單元對通道內(nèi)的閃存行按行進行分時復(fù)用方式的讀寫控制。采用本發(fā)明的閃存控制器的閃存存儲器可以成倍提高讀寫速率,有效的解決了利用閃存芯片實現(xiàn)高速大容量存儲設(shè)備存在的瓶頸問題。
文檔編號G06F13/16GK101082891SQ20071007435
公開日2007年12月5日 申請日期2007年5月10日 優(yōu)先權(quán)日2007年5月10日
發(fā)明者黃河 申請人:憶正存儲技術(shù)(深圳)有限公司