專利名稱:一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及固態(tài)存儲設(shè)備技術(shù)領(lǐng)域,尤其涉及一種基于與非門結(jié)構(gòu)內(nèi)存的 控制電路系統(tǒng)。
背景技術(shù):
目前Flash存儲器件叫基于或非門結(jié)構(gòu)的內(nèi)存(NOR Flash)。 NOR Flash 的特點(diǎn)是傳輸效率很高,在1 4MB的小容量時(shí)具有很高的成本效益。這樣應(yīng) 用程序可以直接在flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中,但是 NOR Flash很低的寫入和擦除速度大大影響了它的性能。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種基于與非門結(jié)構(gòu)內(nèi)存(NAND FLASH)的控制電 路系統(tǒng),不僅提高了主機(jī)讀寫數(shù)據(jù)的速度,而且提高了系統(tǒng)的靈活性。 為達(dá)此目的,本發(fā)明采用以下技術(shù)方案
一種NAND FLASH控制電路系統(tǒng),適用于固態(tài)存儲設(shè)備中,所述控制電路 系統(tǒng)是大規(guī)??删幊虜?shù)字集成電路器件(FPGA),包括NIOS II接口電路、指 令預(yù)處理電路、通道控制電路、錯(cuò)誤檢査與糾正(Error Checking and Correcting, ECC)編解碼電路和數(shù)據(jù)輸入輸出電路,所述NIOS II接口電路 與所述指令預(yù)處理電路和所述數(shù)據(jù)輸入輸出電路分別連接,所述指令預(yù)處理電 路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路依次連接,其中,
所述NIOS II接口電路,用于同所述固態(tài)存儲設(shè)備的外部接口以及內(nèi)部的 所述指令預(yù)處理電路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路進(jìn)行通訊,完成對所述控制電路系統(tǒng)的設(shè)置和初始化的控制;
所述指令預(yù)處理電路,用于接收NI0S II發(fā)來的指令包,并根據(jù)讀取的
FLASH ID信息,生成和NAND FLASH的地址組織形式聯(lián)系的指令集合; 所述通道控制電路,用于和NAND FLASH組進(jìn)行數(shù)據(jù)讀寫操作; 所述ECC編解碼電路,用于對讀寫NAND FLASH的數(shù)據(jù)進(jìn)行解碼和編碼運(yùn)
算;
所述數(shù)據(jù)輸入輸出電路,用于對不同片的FLASH同時(shí)操作實(shí)現(xiàn)通道FLASH 的流水操作。
還包括NAND FLASH信息存儲器,所述NAND FLASH信息存儲器是一個(gè)32k X8bit的DPRAM,用于存儲FLASH ID信息、壞塊信息和CACHE中的數(shù)據(jù)信息。
還包括緩存存儲器,所述緩存存儲器是一個(gè)32k X 8bit的DPRAM,用來 緩存讀寫數(shù)據(jù)信息。
所述NI0S II接口電路進(jìn)一步包括NIOS II地址寄存器、NIOS II控制信
號寄存器、第一內(nèi)部狀態(tài)控制機(jī)、指令執(zhí)行狀態(tài)寄存器、發(fā)送指令寄存器和
NIOS工I數(shù)據(jù)總線三態(tài)調(diào)度邏輯,其中,
所述NIOS II地址寄存器的輸入端來自NIOS II的地址信號總線; 所述NIOS II控制信號寄存器的輸入端來自NIOS II輸出的控制信號; 所述第一內(nèi)部狀態(tài)控制機(jī)的輸入端與所述NIOS II地址寄存器、NIOS II
控制信號寄存器的輸出端相連,輸出控制信號分別與所述指令執(zhí)行狀態(tài)寄存
器、發(fā)送指令寄存器和NIOS II數(shù)據(jù)總線三態(tài)調(diào)度邏輯的控制輸入信號相連; 所述指令執(zhí)行狀態(tài)寄存器的數(shù)據(jù)輸入端分別與所述通道控制電路的指令
執(zhí)行狀態(tài)寄存器的輸出端和所述第一內(nèi)部狀態(tài)控制機(jī)的輸出端相連,輸出端與
所述NIOS II數(shù)據(jù)總線三態(tài)調(diào)度邏輯的輸入端相連;
所述發(fā)送指令寄存器的輸入端分別與所述NIOS II數(shù)據(jù)總線三態(tài)調(diào)度邏輯
和所述第一內(nèi)部狀態(tài)機(jī)的輸出端相連,輸出端與所述指令預(yù)處理電路的指令緩存寄存器的輸入端相連;
所述NI0S II數(shù)據(jù)總線三態(tài)調(diào)度邏輯的一組端口與接口的NIOS II數(shù)據(jù)總 線相連,由所述第一內(nèi)部控制狀態(tài)機(jī)的輸出控制信號和所述指令執(zhí)行狀態(tài)寄存 器的輸出狀態(tài)信號控制所述端口的方向,完成三態(tài)調(diào)度,輸出端與所述發(fā)送指 令寄存器相連。
所述指令預(yù)處理電路進(jìn)一步包括指令緩存寄存器、FLASH ID寄存器、物 理壞塊對應(yīng)表、FLASH ID解析運(yùn)算器、NAND FLASH ID信息寄存器組、指令地 址邏輯運(yùn)算器和NAND FLASH指令包寄存器,其中,
所述指令緩存寄存器,用于接收來自NIOS II接口的指令包;
所述FLASH ID寄存器的輸入端與所述NAND FLASH信息存儲器的輸出端相
連;
所述物理壞塊對應(yīng)表的輸入端與所述NAND FLASH信息存儲器的輸出端相
連;
所述FLASH ID解析運(yùn)算器的輸入端與所述NAND FLASH信息存儲器的輸出 端相連;
NAND FLASH ID信息寄存器組進(jìn)一步包括FLASH廠家寄存器、FLASH通道 使能寄存器、FLASH通道CE數(shù)目寄存器、FLASH塊數(shù)量寄存器、FLASH頁數(shù)量 寄存器和FLASH頁大小寄存器,這些寄存器都為32位,輸入端都與所述FLASH ID解析運(yùn)算器的輸出端相連;
指令地址邏輯運(yùn)算器的輸入端分別與所述指令緩存寄存器和所述NAND FLASH ID信息寄存器組中的所有寄存器的輸出端相連;
NAND FLASH指令包寄存器的輸入端與所述指令地址邏輯運(yùn)算器的輸出端 相連。
所述通道控制電路進(jìn)一步包括輸入指令包寄存器、生成NAND FLASH地址 寄存器組、生成控制數(shù)據(jù)寄存器組、第三內(nèi)部控制狀態(tài)機(jī)、第一邏輯運(yùn)算器、第二邏輯運(yùn)算器、FLASH指令地址寄存器、FLASH操作使能寄存器、FLASH 時(shí)序邏輯生成器、指令執(zhí)行狀態(tài)寄存器、緩存存儲器讀寫數(shù)據(jù)寄存器、緩存存 儲器讀寫地址寄存器、緩存存儲器起始終止地址寄存器、FLASH復(fù)位操作邏輯、 讀取FLASH ID操作邏輯、FLASH ID寄存器、FLASH擦除操作邏輯、FLASH編 程操作邏輯、FLASH讀取操作邏輯、狀態(tài)值判斷操作是否成功電路、狀態(tài)錯(cuò)誤 寄存器、錯(cuò)誤地址寄存器、信息存儲器、FLASH信息寄存器、讀寫數(shù)據(jù)計(jì)數(shù)器 是否為0判斷電路、數(shù)據(jù)傳輸狀態(tài)寄存器、FLASH讀數(shù)據(jù)FIFO、 FLASH寫數(shù)據(jù) FIF0、 ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器、ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄 存器、ECC校驗(yàn)錯(cuò)誤寄存器、ECC錯(cuò)誤地址寄存器和緩存存儲器寫信息寄存器, 所述輸入指令包寄存器,用于接收來自所述指令預(yù)處理電路的數(shù)據(jù)包; 所述生成NAND FLASH地址寄存器組進(jìn)一步包括第一列地址寄存器、第二 列地址寄存器、第一行地址寄存器、第二行地址寄存器和第三行地址寄存器, 這些地址寄存器都是8位,數(shù)據(jù)輸入端與所述輸入指令包寄存器的輸出端相 連;
所述生成控制數(shù)據(jù)寄存器組進(jìn)一歩包括數(shù)據(jù)長度寄存器、寫保護(hù)寄存器和 控制器通道使能寄存器,這些寄存器都是32位,數(shù)據(jù)輸入端與所述輸入指令 包寄存器的輸出端相連;
所述第三內(nèi)部控制狀態(tài)機(jī)的輸入端與指令執(zhí)行狀態(tài)寄存器以及所述輸入 指令包寄存器的輸出端相連,狀態(tài)控制信號輸出端分別與所述生成的NAND FLASH地址寄存器組和所述生成控制數(shù)據(jù)寄存器組的各寄存器的輸入端相連;
所述第一邏輯運(yùn)算器的輸入端分別與所述生成NAND FLASH地址寄存器組 中各寄存器的輸出端相連,所述第一邏輯運(yùn)算器是一個(gè)33位寄存器,輸出信 號是把所述生成NAND FLASH地址寄存器組中各寄存器輸入數(shù)據(jù)進(jìn)行比較處理 后形成NAND FLASH的地址寄存器;
所述第二邏輯運(yùn)算器的輸入端分別與所述生成控制數(shù)據(jù)寄存器組中各寄存器的輸出端相連,所述第二邏輯運(yùn)算器是一個(gè)32位寄存器,輸出信號是把 所述生成控制數(shù)據(jù)寄存器組的各寄存器數(shù)據(jù)進(jìn)行比較以及相與的運(yùn)算形成 NAND FLASH內(nèi)部需要的寄存器值;
所述FLASH指令地址寄存器的輸入端與所述第一邏輯運(yùn)算器的輸出端相
連;
所述FLASH操作使能寄存器的輸入端與所述第二邏輯運(yùn)算器的輸出端相
連;
所述FLASH時(shí)序邏輯生成器的輸入端與所述述FLASH指令地址寄存器的輸 出端、FLASH操作使能寄存器的輸出端以及第三內(nèi)部控制邏輯的輸出控制信號 相連;
所述指令執(zhí)行狀態(tài)寄存器的輸入端與所述FLASH時(shí)序邏輯生成器的輸出 端相連;
所述緩存存儲器讀寫數(shù)據(jù)寄存器的輸入端與所述輸入指令包寄存器的輸 出端相連;
所述緩存存儲器讀寫地址寄存器的輸入端與所述緩存存儲器讀寫數(shù)據(jù)寄 存器的輸出端相連;
所述緩存存儲器起始終止地址寄存器的地址信號輸入端分別與所述緩存 存儲器讀寫地址寄存器的輸出端以及ECC編解碼電路中的數(shù)據(jù)輸出隊(duì)列寄存
儲器的輸出端相連,控制信號輸入端與所述內(nèi)部控制狀態(tài)機(jī)的狀態(tài)控制信號輸 出端相連;
所述FLASH復(fù)位操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;
所述讀取FLASH ID操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸 出端相連;
所述FLASH ID寄存器的輸入端與所述讀取FLASH ID操作邏輯輸出端相連;所述FLASH擦除操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;
所述FLASH編程操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;
所述FLASH讀取操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;
所述狀態(tài)值判斷操作是否成功電路的輸入端分別與所述FLASH擦除操作 邏輯輸出端和所述FLASH編程操作邏輯輸出端相連;
所述狀態(tài)錯(cuò)誤寄存器的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端相
連;
所述錯(cuò)誤地址寄存器的輸入端與所述狀態(tài)錯(cuò)誤寄存器的輸出端相連;
所述信息存儲器的輸入端分別與所述錯(cuò)誤地址寄存器的輸出端以及所述 FLASH ID寄存器的輸出端相連;
所述FLASH信息寄存器的輸入端分別與所述緩存存儲器寫信息寄存器的 輸出端以及所述信息寄存器的輸出端相連;
所述讀寫數(shù)據(jù)計(jì)數(shù)器是否為O判斷電路的輸入端分別與所述FLASH編程邏 輯輸出端和所述FLASH讀取邏輯輸出端相連;
所述數(shù)據(jù)傳輸狀態(tài)寄存器的輸入端分別與所述FLASH編程邏輯輸出端和 所述FLASH讀取邏輯輸出端相連;
所述FLASH讀數(shù)據(jù)FIFO的一個(gè)輸入端與FLASH讀取邏輯輸出端相連,另 一個(gè)輸入端與ECC編解碼電路的ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸出控 制信號相連;
所述FLASH寫數(shù)據(jù)FIFO的一個(gè)輸入端與ECC編解碼電路的數(shù)據(jù)輸入隊(duì)列 存儲器輸出端相連,另一個(gè)輸入端與ECC編解碼電路的ECC校驗(yàn)運(yùn)算器編碼忙 閑狀態(tài)寄存器的輸出控制信號相連所述ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸入端與所述ECC編解碼電路
的ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸出端相連;
所述ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸入端與所述ECC編解碼電路
的ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸出端相連;
所述ECC校驗(yàn)錯(cuò)誤寄存器的輸入端與所述ECC編解碼電路的ECC校驗(yàn)錯(cuò)誤
寄存器的輸出端相連;
所述ECC錯(cuò)誤地址寄存器的輸入端與所述ECC編解碼電路的ECC校驗(yàn)錯(cuò)誤
寄存器的輸出端相連;
所述緩存存儲器寫信息寄存器的輸入端與緩存存儲器的輸出端相連。 所述ECC編解碼電路進(jìn)一步包括控制信息寄存器、校驗(yàn)使能寄存器、編碼
使能寄存器、第四內(nèi)部控制狀態(tài)機(jī)、編碼數(shù)據(jù)存儲器、解碼數(shù)據(jù)存儲器、ECC
校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器、ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器、ECC
校驗(yàn)錯(cuò)誤寄存器、ECC解碼運(yùn)算器、ECC編碼運(yùn)算器、數(shù)據(jù)輸入隊(duì)列寄存器和
數(shù)據(jù)輸出隊(duì)列寄存器,
所述控制信息寄存器,用于接收來自NIOS II接口的數(shù)據(jù)包; 所述校驗(yàn)使能寄存器的輸入端與所述控制信息寄存器的輸出端相連; 所述編碼使能寄存器的輸入端與所述控制信息寄存器的輸出端相連; 所述第四內(nèi)部控制狀態(tài)機(jī)的輸入端與所述控制信息寄存器的輸出端相連;
狀態(tài)控制信號輸出端與校驗(yàn)使能寄存器、編碼使能寄存器、ECC編碼運(yùn)算器、
ECC解碼運(yùn)算器、編碼數(shù)據(jù)存儲器以及解碼數(shù)據(jù)存儲器的相應(yīng)輸入端分別相
連;
所述編碼數(shù)據(jù)存儲器的輸入端與所述數(shù)據(jù)輸入輸出電路的讀寫數(shù)據(jù)隊(duì)列 存儲器的數(shù)據(jù)寄存器得輸出端相連;
所述解碼數(shù)據(jù)存儲器的輸入端與所述ECC解碼運(yùn)算器的輸出端相連; 所述ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸入端與所述ECC編碼運(yùn)算器的輸出端相連;
所述ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸入端與所述ECC解碼運(yùn)算器 的輸出端相連;
所述ECC校驗(yàn)錯(cuò)誤寄存器的輸入端與所述ECC解碼運(yùn)算器的輸出端相連; 所述ECC解碼運(yùn)算器的輸入端分別與所述校驗(yàn)使能寄存器的輸出端、數(shù)據(jù) 輸入隊(duì)列存儲器的輸出端相連,所述解碼運(yùn)算器是一個(gè)32位寄存器,輸出信 號是把數(shù)據(jù)輸出隊(duì)列存儲器中的校驗(yàn)碼解析出來并送到解碼數(shù)據(jù)寄存器中;
所述ECC編碼運(yùn)算器的輸入端分別與所述編碼使能寄存器的輸入端、編碼 數(shù)據(jù)寄存器的輸出端相連,所述編碼運(yùn)算器是一個(gè)32位寄存器,輸出信號是 把編碼數(shù)據(jù)存儲器中的數(shù)據(jù)經(jīng)過運(yùn)算附加上校驗(yàn)碼并送到數(shù)據(jù)輸入隊(duì)列寄存 器中;
所述數(shù)據(jù)輸入隊(duì)列寄存器的輸入端與所述ECC編碼運(yùn)算器的輸出端相連; 所述數(shù)據(jù)輸出隊(duì)列寄存器的輸入端與所述通道控制電路的FLASH讀數(shù)據(jù) FIFO的輸出端相連。
所述數(shù)據(jù)輸入輸出電路進(jìn)一步包括數(shù)據(jù)信息存儲器、發(fā)送讀寫信息寄存 器、緩存存儲器起始地址寄存器、緩存存儲器終止地址寄存器、緩存存儲器下 一地址寄存器、第一數(shù)據(jù)選擇器、緩存存儲器讀寫地址寄存器、第一比較器、 發(fā)送端口寄存器、附加數(shù)據(jù)寄存器、緩存存儲器讀寫數(shù)據(jù)寄存器、第二數(shù)據(jù)選 擇器、第二內(nèi)部控制狀態(tài)機(jī)和讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器, 所述數(shù)據(jù)信息存儲器,用于接收來自接口的數(shù)據(jù)信息; 所述發(fā)送讀寫信息寄存器的輸入端與所述數(shù)據(jù)信息存儲器的輸出端相連; 所述緩存存儲器起始地址寄存器的輸入端與所述發(fā)送讀寫信息寄存器的 相應(yīng)輸出端相連;
所述緩存存儲器終止地址寄存器的輸入端與所述發(fā)送讀寫信息寄存器的 另一個(gè)輸出端相連;所述緩存存儲器下一地址寄存器的輸入端與所述緩存存儲器讀地址寄存 器的輸出端經(jīng)過加1邏輯的輸出端相連;
所述第一數(shù)據(jù)選擇器的兩個(gè)輸入端分別與所述存儲器起始地址寄存器、緩 存存儲器下一地址寄存器的輸出端相連;
所述緩存存儲器讀寫地址寄存器的輸入端與所述第一數(shù)據(jù)選擇器的輸出 端相連,輸出地址信號加1后送往所述緩存存儲器下一地址寄存器,另一個(gè)輸 出端與所述緩存存儲器的第二組地址輸入端相連;
所述第一比較器的兩個(gè)輸入端分別與所述緩存存儲器下一地址寄存器、緩 存存儲器終止地址寄存器的輸出端相連,比較信號輸出端與所述第一數(shù)據(jù)選擇 器的控制信號輸入端相連;
所述發(fā)送端口寄存器的輸入端與所述發(fā)送信息寄存器的輸出端相連;
所述附加數(shù)據(jù)寄存器的一組輸入端與所述發(fā)送端口寄存器相連,另一組輸 入端與NI0S II接口電路相連,比較信號輸出端與所述第一選擇器的相應(yīng)輸入 端相連;
所述緩存存儲器讀寫數(shù)據(jù)寄存器,它的一個(gè)輸入端與所述緩存存儲器的第 二組數(shù)據(jù)總線相連,它的另一個(gè)輸入端與所述第二數(shù)據(jù)選擇器的輸出端相連;
所述第二數(shù)據(jù)選擇器的三個(gè)輸入端分別與所述緩存存儲器的讀寫數(shù)據(jù)寄 存器的輸出端、附加數(shù)據(jù)寄存器的輸出端和讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器 的輸出端相連;
所述第二內(nèi)部控制狀態(tài)機(jī)的輸入端與所述第一比較器的輸出端相連,三個(gè) 輸出端分別與所述發(fā)送讀寫信息寄存器、第一數(shù)據(jù)選擇器和第二數(shù)據(jù)選擇器的 控制信號輸入端相連;
所述讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器的一組輸入端和所述第二數(shù)據(jù)選 擇器的輸出端相連,另一組輸入端與所述ECC編解碼電路的解碼數(shù)據(jù)存儲器的 輸出端相連。所述NAND FLASH信息存儲器還包括兩組數(shù)據(jù)和地址總線,第一組地址輸 入端與所述緩存存儲器寫信息寄存器的第一組地址輸出端相連,第一組數(shù)據(jù)輸 入端與所述緩存存儲器寫信息寄存器的第一組數(shù)據(jù)輸出端相連,第二組地址輸 入端與所述信息寄寄存器的地址輸出端相連,第二組數(shù)據(jù)輸入端與所述信息寄 存器的數(shù)據(jù)輸出端相連。
所述緩存存儲器還包括兩組組數(shù)據(jù)和地址總線,第一組地址總線與所述數(shù) 據(jù)輸入輸出電路的緩存存儲器讀寫地址寄存器的輸出端相連,第一組數(shù)據(jù)總線 與所述數(shù)據(jù)輸入輸出電路的緩存存儲器讀寫數(shù)據(jù)寄存器的輸出端相連,第二組 地址總線與所述NAND FLASH信息存儲器的第一組輸入端地址總線相連,第二 組數(shù)據(jù)總線與所述NAND FLASH信息存儲器的第一組輸入端數(shù)據(jù)總線相連。
采用了本發(fā)明的技術(shù)方案,NAND FLASH控制設(shè)備實(shí)現(xiàn)了從NIOS接口接受 數(shù)據(jù)包,通過對NAND FLASH的時(shí)序控制來實(shí)現(xiàn)數(shù)據(jù)寫入和讀取功能,設(shè)備保 證在確定的NAND FLASH構(gòu)架方案下,通過每個(gè)通道的帶寬達(dá)到接近理論上的 極限值,并在此基礎(chǔ)上最大的實(shí)現(xiàn)整個(gè)NAND FLASH組的最大帶寬(根據(jù)NAND
FLASH類型的不同,讀寫的周期^&不同,單通道最大帶寬稍低于理論極限帶 寬值"一 ),單通道連續(xù)寫帶寬為4.0MB/s到36.6MB/s,連續(xù)讀帶寬為 15. 0MB/s到37. 6MB/s,通過對NAND FLASH組的預(yù)處理,可以實(shí)現(xiàn)多通道多片 NAND FLASH的SSD高速讀寫。
圖1是本發(fā)明具體實(shí)施方式
中固態(tài)存儲設(shè)備中NAND FLASH組與NAND FLASH 控制電路、NIOS II和DPRAM之間的連接圖。
圖2是本發(fā)明具體實(shí)施方式
中NAND FLASH控制設(shè)備的整體結(jié)構(gòu)框圖。 圖3是本發(fā)明具體實(shí)施方式
中NAND FLASH預(yù)處理電路內(nèi)部結(jié)構(gòu)及與相關(guān)電路連接關(guān)系圖。
圖4是本發(fā)明具體實(shí)施方式
中NAND FLASH數(shù)據(jù)輸入輸出電路結(jié)構(gòu)及與相關(guān) 電路連接關(guān)系圖。
圖5是本發(fā)明具體實(shí)施方式
中NAND FLASH通道控制器內(nèi)部結(jié)構(gòu)及與相關(guān)電 路連接關(guān)系圖。
圖6是本發(fā)明具體實(shí)施方式
中NAND FLASH ECC數(shù)據(jù)校驗(yàn)電路及與相關(guān)電路 連接關(guān)系圖。
圖7是本發(fā)明具體實(shí)施方式
中NI0S II接口電路內(nèi)部結(jié)構(gòu)及與相關(guān)電路連 接關(guān)系圖。
具體實(shí)施例方式
下面結(jié)合附圖并通過具體實(shí)施方式
來進(jìn)一步說明本發(fā)明的技術(shù)方案。 固態(tài)存儲設(shè)備能夠?qū)崿F(xiàn)主機(jī)對數(shù)據(jù)的存儲和讀取,并在此基礎(chǔ)上盡量的提 高傳輸帶寬。
主機(jī)寫數(shù)據(jù)到NAND FLASH中的過程是這樣的當(dāng)主機(jī)發(fā)送寫指令給 ATA/SATA接口后,ATA/SATA接口解析主機(jī)指令,然后通知NIOS II主機(jī)寫數(shù)據(jù) 請求,ATA/SATA接口在NIOS II的控制下把主機(jī)傳輸?shù)臄?shù)據(jù)傳輸?shù)紺ACHE中緩 存,然后NIOS査找對應(yīng)的物理地址對應(yīng)表和壞塊表及其CAC服中的物理地址表, 經(jīng)過分析后,把相應(yīng)的數(shù)據(jù)準(zhǔn)備給NANDFLASH控制設(shè)備,然后發(fā)送相應(yīng)的寫操 作指令給NAND FLASH控制器,當(dāng)操作完成后返回操作狀態(tài)給NIOS II以便進(jìn)行 下一次操作。
主機(jī)讀取數(shù)據(jù)的過程是這樣的當(dāng)主機(jī)發(fā)送讀指令給ATA/SATA接口后, ATA/SATA接口解析主機(jī)指令,然后通知NIOS II主機(jī)讀數(shù)據(jù)請求,然后NI0S査 找對應(yīng)的物理地址對應(yīng)表和壞塊表及其CACHE中的物理地址表,經(jīng)過分析后, 然后發(fā)送相應(yīng)的讀操作指令給NAND FLASH控制器,NAND FLASH控制器把NANDFLASH中的數(shù)據(jù)讀取到CACHE中,當(dāng)操作完成后返回操作狀態(tài)給NIOS II以便進(jìn)
行下一次操作。ATA/SATA接口在NIOS II的控制下把CACHE中的數(shù)據(jù)傳輸給主
機(jī),并返還狀態(tài)值指示讀取情況。
對于NANDFLASH本身特性決定,它內(nèi)部包括壞塊,在操作過程中要避免對
這些塊進(jìn)行操作,以免造成數(shù)據(jù)讀寫錯(cuò)誤。在擦除和編程操作后,讀取操作狀
態(tài)值,査看操作是否成功完成,若操作失敗則把相應(yīng)的塊標(biāo)示為壞塊,寫入壞
塊表,不再使用。此外,為了最大的提高傳輸速度,需要在一個(gè)數(shù)據(jù)通道內(nèi)采
取流水操作的方式,以便提高傳輸帶寬。
固態(tài)存儲設(shè)備體系結(jié)構(gòu)的設(shè)計(jì)思路,主要包括以下四個(gè)方面 用硬件實(shí)現(xiàn)ATA/SATA接口對主機(jī)和NIOS II的傳輸信息的分析和轉(zhuǎn)發(fā); 用硬件實(shí)現(xiàn)NIOS II對DPRAM的數(shù)據(jù)讀寫和指令轉(zhuǎn)發(fā); 用硬件實(shí)現(xiàn)對CACHE地址表、NAND FLASH壞塊表和物理地址對應(yīng)表的管理; 用硬件實(shí)現(xiàn)對NAND FLASH組的數(shù)據(jù)存儲和讀取操作。 用監(jiān)控系統(tǒng)對固態(tài)存儲設(shè)備進(jìn)行上電配置和狀態(tài)監(jiān)控。 固態(tài)存儲設(shè)備主要由以下四個(gè)部分組成,ATA/SATA控制設(shè)備接口; DPRAM
控制設(shè)備接口; NAND FLASH控制設(shè)備接口和用于配置和操作的監(jiān)控系統(tǒng)。
圖1是本發(fā)明具體實(shí)施方式
中固態(tài)存儲設(shè)備中NAND FLASH組與NAND FLASH
控制電路、NI0S II和DPRAM之間的連接圖。如圖l所示,具體包括下述幾部分
硬件設(shè)備
EP3C25F324C8Cyclone III NAND FLASH控制電路l片;
K9HCG08U1M NAND FLASH 16片;
K4S281632K Synchronous DRAM 2片。 ATA/SATA控制設(shè)備接口是固態(tài)存儲設(shè)備中比較重要的部分,它負(fù)責(zé)整個(gè)固 態(tài)存儲設(shè)備和主機(jī)之間的通信。當(dāng)主機(jī)寫了ATA/SATA控制設(shè)備接口相應(yīng)的寄存 器以后,ATA/SATA控制設(shè)備接口解析指令,然后通知NIOSII來讀取分析指令,說明書第13/24頁
在NI0S II分析完后返回狀態(tài)寄存器值,若是主機(jī)請求寫數(shù)據(jù),NI0S II準(zhǔn)備數(shù) 據(jù)空間,然后通知ATA/SATA控制設(shè)備接口進(jìn)行數(shù)據(jù)的寫入操作,同時(shí)NIOS II 對ATA/SATA控制設(shè)備接口返還的狀態(tài)值進(jìn)行檢測和處理,從而隨時(shí)了解 ATA/SATA控制設(shè)備接口的寫入狀態(tài);若是主機(jī)請求讀數(shù)據(jù),NI0S II準(zhǔn)備數(shù)據(jù) 到CACHE中,然后通知ATA/SATA控制設(shè)備接口進(jìn)行數(shù)據(jù)的讀取操作,同時(shí)NI0S 1I對ATA/SATA控制設(shè)備接口返還的狀態(tài)值進(jìn)行檢測和處理,從而隨時(shí)了解 ATA/SATA控制設(shè)備接口的讀取狀態(tài)。
DPRAM控制設(shè)備接口是固態(tài)存儲設(shè)備中數(shù)據(jù)緩存的存儲空間,起到CACHE 的作用,能很好的提高數(shù)據(jù)通道的讀寫速度。控制設(shè)備的工作是這樣進(jìn)行的-在接到寫數(shù)據(jù)操作指令后,NI0S II査找CACHE塊信息表,看要寫入的塊是否在 CACHE中,若在CACHE中則把數(shù)據(jù)寫到CACHE相應(yīng)地址,當(dāng)不再操作此塊CACHE 時(shí),對相應(yīng)的塊的物理地址執(zhí)行擦除操作,然后把CACHE中的數(shù)據(jù)寫回FLASH 塊。若不在CACHE中則需要把相應(yīng)塊讀取到CACHE中,在相應(yīng)地址改寫CACHE中 的數(shù)據(jù),對相應(yīng)的塊執(zhí)行擦除操作,然后寫回FLASH塊。在接到讀取數(shù)據(jù)指令 后,判斷所涉及的塊數(shù)據(jù)是否在CACHE中,如果在則直接從CACHE中讀取,如果 不在CACHE中,則需要從FLASH中讀取寫入至ijCACHE中,同時(shí)被主機(jī)讀取。
對于FLASH信息的維護(hù),設(shè)備是這樣進(jìn)行的當(dāng)FLASH第一次被使用時(shí),讀 取FLASH內(nèi)部的壞塊信息位來初步建立壞塊表,在以后的使用當(dāng)中,由于使用 過程中也會出現(xiàn)壞塊,可以通過對FLASH擦寫后的讀狀態(tài)來判斷操作是否成功, 如果操作失敗則把相應(yīng)的塊地址添加到壞塊表中,來避免操作這些壞的地址 塊。同時(shí)也需要把FLASH的ID信息讀取存儲起來在指令預(yù)處理的時(shí)候能正確得 產(chǎn)生時(shí)序。
NAND FLASH控制設(shè)備接口是和存儲介質(zhì)直接進(jìn)行讀寫的模塊,是固態(tài)存儲 介質(zhì)中最關(guān)鍵的部分,這部分的性能的好壞直接影響到數(shù)據(jù)的正確性。NAND FLASH控制設(shè)備接口可以實(shí)現(xiàn)多數(shù)據(jù)通道多片NAND FLASH的讀寫數(shù)據(jù)操作,并在多通道多片F(xiàn)LASH的情況下以可能的最大的帶寬來進(jìn)行數(shù)據(jù)傳輸。對于NAND FLASH來說,單個(gè)數(shù)據(jù)通路的單片F(xiàn)LASH的帶寬是有限的,為了能更好的提高通 路的帶寬,數(shù)據(jù)通路采用流水處理的方式,在一片F(xiàn)LASH內(nèi)部擦寫操作的時(shí)候, 可以對同一通道的其他空閑得NAND FLASH進(jìn)行操作,這樣能更好的使FLASH流 水工作起來,流水級數(shù)越多越能提高帶寬到極限最大值。這對SSD產(chǎn)品的應(yīng)用 是最理想的狀態(tài)。在NANDFLASH控制設(shè)備中,設(shè)備為每一條數(shù)據(jù)通路提供獨(dú)立 的控制機(jī)制,當(dāng)相應(yīng)的數(shù)據(jù)通道被激活時(shí),相應(yīng)的FLASH組進(jìn)行工作。
監(jiān)控系統(tǒng)用于對ATA/SATA控制設(shè)備接口 、 DPRAM控制設(shè)備接口和NAND FLASH控制設(shè)備接口進(jìn)行初始化和參數(shù)配置,同時(shí)也可以通過讀取硬件寄存器 來觀察設(shè)備內(nèi)部的運(yùn)行狀態(tài)。
在固態(tài)存儲設(shè)備中,實(shí)現(xiàn)數(shù)據(jù)存儲功能的是NANDFLASH控制設(shè)備接口。該 電路組件的主要功能是處理NIOS II傳輸來的讀寫指令及其地址信息,給NAND FLASH發(fā)送相應(yīng)指令和地址,同時(shí)調(diào)度數(shù)據(jù)的傳輸實(shí)現(xiàn)讀寫存儲器的功能,在 固態(tài)存儲設(shè)備中,NANDFLASH控制設(shè)備接口是整個(gè)系統(tǒng)數(shù)據(jù)存取的核心,是最 首要實(shí)現(xiàn)的功能。由于NAND FLASH控制設(shè)備在整個(gè)固態(tài)存儲設(shè)備中的重要作 用,提高這個(gè)模塊的性能對于整個(gè)固態(tài)存儲設(shè)備的性能提高起到?jīng)Q定性的作 用,這里對NAND FLASH控制設(shè)備接口的結(jié)構(gòu)和功能進(jìn)行詳細(xì)的介紹。圖2是本 發(fā)明具體實(shí)施方式
中NAND FLASH控制設(shè)備的整體結(jié)構(gòu)框圖。如圖2所示,NAND FLASH控制設(shè)備接口可以從結(jié)構(gòu)上劃分為NIOS II接口電路、指令預(yù)處理電路、 通道控制電路(包括NANDFLASH控制電路)、ECC編解碼電路和數(shù)據(jù)輸入輸出電 路。NI0S II接口電路與指令預(yù)處理電路和數(shù)據(jù)輸入輸出電路分別連接,指令 預(yù)處理電路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路依次連接。
NAND FLASH控制設(shè)備的接口信號主要包括與NAND FLASH組的接口部分連接 的信號、與數(shù)據(jù)CACHE連接的信號和與NIOS II連接的信號。NANDFLASH控制設(shè) 備內(nèi)部除了兩個(gè)工具生成得存儲器、兩個(gè)隊(duì)列儲存器和兩個(gè)數(shù)據(jù)FIFO外還有指令預(yù)處理電路、輸入輸出電路、ECC編解碼電路和通道控制電路。下面具體描 述各電路的功能。
指令預(yù)處理電路接受來自NIOS II的指令包,其中包括指令信息和地址信 息,對于不同廠家不同型號的NAND FLASH,在具體FLASH的操作中是有不同的, NI0S II給出的地址指令信息需要經(jīng)過預(yù)先處理變成針對每種型號NAND FLASH 的具體地址指令信息,對于一個(gè)指定的物理地址,在操作的時(shí)候具體是操作哪 個(gè)塊的哪個(gè)頁對于不同的情況是不同的,指令預(yù)處理電路根據(jù)讀取的N認(rèn)D FLASH ID信息,分析出NAND FLASH的具體組織模式,生成一個(gè)新的指令集合, 使之能夠直接和NAND FLASH的地址組織形式聯(lián)系在一起,同時(shí)還要避免使用壞 塊表中的塊,從而保證讀寫操作的可靠性。
數(shù)據(jù)輸入輸出電路,對于固態(tài)存儲設(shè)備和NAND FLASH控制設(shè)備提供數(shù)據(jù)交 換起著非常重要的作用,NI0S II要寫入的數(shù)據(jù)經(jīng)過處理傳輸至UCACHE中準(zhǔn)備寫 入操作,或者當(dāng)NAND FLASH控制設(shè)備準(zhǔn)備好數(shù)據(jù)后把數(shù)據(jù)放到CACHE中通知 NI0S II來讀,這種電路可以同時(shí)對不同片的FLASH同時(shí)操作實(shí)現(xiàn)通道FLASH的 流水操作,使得FLASH的帶寬得到很大的解放。
通過讀取數(shù)據(jù)信息寄存器中的數(shù)據(jù)來得到讀寫存儲器將要操作的數(shù)據(jù)所 存儲的位置以及將要發(fā)送的數(shù)據(jù)信息,數(shù)據(jù)輸入輸出電路的內(nèi)部狀態(tài)機(jī)實(shí)現(xiàn)了 讀取發(fā)送數(shù)據(jù)、寫入接收數(shù)據(jù)這樣的調(diào)度過程,發(fā)送信息中包括了數(shù)據(jù)在緩存 存儲器中的存儲的起始地址和終止地址以及操作信息,數(shù)據(jù)輸入輸出電路根據(jù) 狀態(tài)機(jī)的控制信號和地址信息,把數(shù)據(jù)讀出和附加數(shù)據(jù)內(nèi)容一起寫入到讀寫數(shù) 據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器中,數(shù)據(jù)輸入輸出電路內(nèi)部狀態(tài)及控制兩部分?jǐn)?shù)據(jù) 的調(diào)度完成數(shù)據(jù)結(jié)構(gòu)的合成。
ECC編解碼電路是讀寫NAND FLASH不可或缺的一個(gè)環(huán)節(jié),在NAND FLASH的
讀取過程中可能會發(fā)生讀寫數(shù)據(jù)錯(cuò)誤,在這種情況下就需要對數(shù)據(jù)進(jìn)行編碼處 理寫入NAND FLASH中,在讀取的時(shí)候進(jìn)行ECC校驗(yàn),發(fā)現(xiàn)并糾正錯(cuò)誤位,在ECC編解碼電路內(nèi)部狀態(tài)機(jī)的控制下實(shí)現(xiàn)對讀寫NAND FLASH的數(shù)據(jù)進(jìn)行解碼和編 碼運(yùn)算,使之?dāng)?shù)據(jù)在ECC編解碼電路中實(shí)現(xiàn)數(shù)據(jù)和校驗(yàn)數(shù)據(jù)的合成和分解,并
在分解的時(shí)候能夠校驗(yàn)出錯(cuò)誤的位,從而為數(shù)據(jù)的可靠性提供保障。
通道控制電路是整個(gè)NAND FLASH控制設(shè)備的最底層,它直接負(fù)責(zé)和NAND FLASH組進(jìn)行數(shù)據(jù)讀寫操作,在接到指令與處理電路發(fā)來的指令后,通過解析 NANDFLASH指令地址,經(jīng)由內(nèi)部狀態(tài)機(jī)調(diào)度分析控制產(chǎn)生相應(yīng)的邏輯時(shí)序,把 讀取FLASH ID邏輯讀出來的信息存放到NAND FLASH信息寄存器中,同時(shí)把擦除 邏輯和編程邏輯產(chǎn)生的狀態(tài)值進(jìn)行分析,并把錯(cuò)誤的狀態(tài)值塊地址寫入到NAND FLASH信息存儲器中,同時(shí)在讀寫FLASH數(shù)據(jù)的時(shí)候控制數(shù)據(jù)的輸入和讀出操 作,在內(nèi)部狀態(tài)機(jī)的調(diào)度下完成相應(yīng)的操作指令。.
另外還包括N認(rèn)D FLASH信息存儲器,NAND FLASH信息存儲器是一個(gè) 32kX8bit的DPRAM,用來存儲FLASH ID信息,壞塊信息以及CACHE中的數(shù)據(jù)信息。 它有兩組數(shù)據(jù)和地址總線。它的第一組地址輸入端與緩存存儲器寫信息寄存器 的第一組地址輸出端相連,它的第一組數(shù)據(jù)輸入端與緩存存儲器寫信息寄存器 的第一組數(shù)據(jù)輸出端相連,它的第二組地址輸入端與信息寄寄存器的地址輸出 端相連,它的第二組數(shù)據(jù)輸入端與信息寄存器的數(shù)據(jù)輸出端相連。
緩存存儲器是一個(gè)32kX8bit的DPRAM,用來緩存讀寫數(shù)據(jù)信息,它具有兩 組組數(shù)據(jù)和地址總線,它的第一組地址總線與數(shù)據(jù)輸入輸出電路的緩存存儲器 讀寫地址寄存器的輸出端相連,它的第一組數(shù)據(jù)總線與數(shù)據(jù)輸入輸出電路的緩 存存儲器讀寫數(shù)據(jù)寄存器的輸出端相連,它的第二組地址總線與NAND FLASH 信息存儲器的第一組輸入端地址總線相連,它的第二組數(shù)據(jù)總線與NAND FLASH 信息存儲器的第一組輸入端數(shù)據(jù)總線相連。
NI0S II接口電路負(fù)責(zé)同固態(tài)存儲設(shè)備中的外部接口以及內(nèi)部的其他電路 進(jìn)行通訊,它完成整個(gè)NAND FLASH控制設(shè)備的設(shè)置和初始化的控制。下面分別描述各個(gè)電路的結(jié)構(gòu)。
圖3是本發(fā)明具體實(shí)施方式
中NAND FLASH預(yù)處理電路內(nèi)部結(jié)構(gòu)及與相關(guān) 電路連接關(guān)系圖。如圖3所示,指令預(yù)處理電路進(jìn)一步包括指令緩存寄存器、 FLASH ID寄存器、物理壞塊對應(yīng)表、FLASH ID解析運(yùn)算器、NAND FLASH ID 信息寄存器組、指令地址邏輯運(yùn)算器和NAND FLASH指令包寄存器,其中, 指令緩存寄存器,用于接收來自NIOS II接口的指令包; FLASH ID寄存器的輸入端與NAND FLASH信息存儲器的輸出端相連; 物理壞塊對應(yīng)表的輸入端與NAND FLASH信息存儲器的輸出端相連; FLASH ID解析運(yùn)算器的輸入端與NAND FLASH信息存儲器的輸出端相連; NAND FLASH ID信息寄存器組進(jìn)一步包括FLASH廠家寄存器、FLASH通道 使能寄存器、FLASH通道CE數(shù)目寄存器、FLASH塊數(shù)量寄存器、FLASH頁數(shù)量 寄存器和FLASH頁大小寄存器,這些寄存器都為32位,輸入端都與FLASH ID 解析運(yùn)算器的輸出端相連;
指令地址邏輯運(yùn)算器的輸入端分別與指令緩存寄存器和NAND FLASH ID 信息寄存器組中的所有寄存器的輸出端相連;
NAND FLASH指令包寄存器的輸入端與指令地址邏輯運(yùn)算器的輸出端相連。 圖4是本發(fā)明具體實(shí)施方式
中NAND FLASH數(shù)據(jù)輸入輸出電路結(jié)構(gòu)及與相 關(guān)電路連接關(guān)系圖。如圖4所示,數(shù)據(jù)輸入輸出電路進(jìn)一步包括數(shù)據(jù)信息存儲 器、發(fā)送讀寫信息寄存器、緩存存儲器起始地址寄存器、緩存存儲器終止地址 寄存器、緩存存儲器下一地址寄存器、第一數(shù)據(jù)選擇器、緩存存儲器讀寫地址 寄存器、第一比較器、發(fā)送端口寄存器、附加數(shù)據(jù)寄存器、緩存存儲器讀寫數(shù) 據(jù)寄存器、第二數(shù)據(jù)選擇器、第二內(nèi)部控制狀態(tài)機(jī)和讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù) 據(jù)寄存器,
數(shù)據(jù)信息存儲器,用于接收來自接口的數(shù)據(jù)信息; 發(fā)送讀寫信息寄存器的輸入端與數(shù)據(jù)信息存儲器的輸出端相連;緩存存儲器起始地址寄存器的輸入端與發(fā)送讀寫信息寄存器的相應(yīng)輸出
端相連;
緩存存儲器終止地址寄存器的輸入端與發(fā)送讀寫信息寄存器的另一個(gè)輸 出端相連;
緩存存儲器下一地址寄存器的輸入端與緩存存儲器讀地址寄存器的輸出 端經(jīng)過加1邏輯的輸出端相連;
第一數(shù)據(jù)選擇器的兩個(gè)輸入端分別與存儲器起始地址寄存器、緩存存儲器 下一地址寄存器的輸出端相連;
緩存存儲器讀寫地址寄存器的輸入端與第一數(shù)據(jù)選擇器的輸出端相連,輸 出地址信號加1后送往緩存存儲器下一地址寄存器,另一個(gè)輸出端與緩存存儲 器的第二組地址輸入端相連;
第一 比較器的兩個(gè)輸入端分別與緩存存儲器下一地址寄存器、緩存存儲器 終止地址寄存器的輸出端相連,比較信號輸出端與第一數(shù)據(jù)選擇器的控制信號 輸入端相連;
發(fā)送端口寄存器的輸入端與發(fā)送信息寄存器的輸出端相連;
附加數(shù)據(jù)寄存器的一組輸入端與發(fā)送端口寄存器相連,另一組輸入端與 NI0S II接口電路相連,比較信號輸出端與第一選擇器的相應(yīng)輸入端相連;
緩存存儲器讀寫數(shù)據(jù)寄存器,它的一個(gè)輸入端與緩存存儲器的第二組數(shù)據(jù) 總線相連,它的另一個(gè)輸入端與第二數(shù)據(jù)選擇器的輸出端相連;
第二數(shù)據(jù)選擇器的三個(gè)輸入端分別與緩存存儲器的讀寫數(shù)據(jù)寄存器的輸 出端、附加數(shù)據(jù)寄存器的輸出端和讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器的輸出端 相連;
第二內(nèi)部控制狀態(tài)機(jī)的輸入端與第一比較器的輸出端相連,三個(gè)輸出端分 別與發(fā)送讀寫信息寄存器、第一數(shù)據(jù)選擇器和第二數(shù)據(jù)選擇器的控制信號輸入 端相連;讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器的一組輸入端和第二數(shù)據(jù)選擇器的輸
出端相連,另一組輸入端與ECC編解碼電路的解碼數(shù)據(jù)存儲器的輸出端相連。
圖5是本發(fā)明具體實(shí)施方式
中NAND FLASH通道控制器內(nèi)部結(jié)構(gòu)及與相關(guān) 電路連接關(guān)系圖。如圖5所示,通道控制電路進(jìn)一步包括輸入指令包寄存器、 生成NAND FLASH地址寄存器組、生成控制數(shù)據(jù)寄存器組、第三內(nèi)部控制狀態(tài) 機(jī)、第一邏輯運(yùn)算器、第二邏輯運(yùn)算器、FLASH指令地址寄存器、FLASH操作 使能寄存器、FLASH時(shí)序邏輯生成器、指令執(zhí)行狀態(tài)寄存器、緩存存儲器讀寫 數(shù)據(jù)寄存器、緩存存儲器讀寫地址寄存器、緩存存儲器起始終止地址寄存器、 FLASH復(fù)位操作邏輯、讀取FLASH ID操作邏輯、FLASH ID寄存器、FLASH擦 除操作邏輯、FLASH編程操作邏輯、FLASH讀取操作邏輯、狀態(tài)值判斷操作是 否成功電路、狀態(tài)錯(cuò)誤寄存器、錯(cuò)誤地址寄存器、信息存儲器、FLASH信息寄 存器、讀寫數(shù)據(jù)計(jì)數(shù)器是否為O判斷電路、數(shù)據(jù)傳輸狀態(tài)寄存器、FLASH讀數(shù) 據(jù)FIFO、 FLASH寫數(shù)據(jù)FIFO、 ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器、ECC校驗(yàn) 運(yùn)算器解碼忙閑狀態(tài)寄存器、ECC校驗(yàn)錯(cuò)誤寄存器、ECC錯(cuò)誤地址寄存器和緩 存存儲器寫信息寄存器,
輸入指令包寄存器,用于接收來自指令預(yù)處理電路的數(shù)據(jù)包; 生成NAND FLASH地址寄存器組進(jìn)一步包括第一列地址寄存器、第二列地 址寄存器、第一行地址寄存器、第二行地址寄存器和第三行地址寄存器,這些 地址寄存器都是8位,數(shù)據(jù)輸入端與輸入指令包寄存器的輸出端相連;
生成控制數(shù)據(jù)寄存器組進(jìn)一步包括數(shù)據(jù)長度寄存器、寫保護(hù)寄存器和控制 器通道使能寄存器,這些寄存器都是32位,數(shù)據(jù)輸入端與輸入指令包寄存器 的輸出端相連;
第三內(nèi)部控制狀態(tài)機(jī)的輸入端與指令執(zhí)行狀態(tài)寄存器以及輸入指令包寄 存器的輸出端相連,狀態(tài)控制信號輸出端分別與生成的N^TO FLASH地址寄存 器組和生成控制數(shù)據(jù)寄存器組的各寄存器的輸入端相連;第一邏輯運(yùn)算器的輸入端分別與生成NAND FLASH地址寄存器組中各寄存 器的輸出端相連,第一邏輯運(yùn)算器是一個(gè)33位寄存器,輸出信號是把生成NAND FLASH地址寄存器組中各寄存器輸入數(shù)據(jù)進(jìn)行比較處理后形成NAND FLASH的 地址寄存器;
第二邏輯運(yùn)算器的輸入端分別與生成控制數(shù)據(jù)寄存器組中各寄存器的輸 出端相連,第二邏輯運(yùn)算器是一個(gè)32位寄存器,輸出信號是把生成控制數(shù)據(jù) 寄存器組的各寄存器數(shù)據(jù)進(jìn)行比較以及相與的運(yùn)算形成NAND FLASH內(nèi)部需要 的寄存器值;
FLASH指令地址寄存器的輸入端與第一邏輯運(yùn)算器的輸出端相連; FLASH操作使能寄存器的輸入端與第二邏輯運(yùn)算器的輸出端相連; FLASH時(shí)序邏輯生成器的輸入端與述FLASH指令地址寄存器的輸出端、
FLASH操作使能寄存器的輸出端以及第三內(nèi)部控制邏輯的輸出控制信號相連; 指令執(zhí)行狀態(tài)寄存器的輸入端與FLASH時(shí)序邏輯生成器的輸出端相連; 緩存存儲器讀寫數(shù)據(jù)寄存器的輸入端與輸入指令包寄存器的輸出端相連; 緩存存儲器讀寫地址寄存器的輸入端與緩存存儲器讀寫數(shù)據(jù)寄存器的輸
出端相連;
緩存存儲器起始終止地址寄存器的地址信號輸入端分別與緩存存儲器讀 寫地址寄存器的輸出端以及ECC編解碼電路中的數(shù)據(jù)輸出隊(duì)列寄存儲器的輸 出端相連,控制信號輸入端與內(nèi)部控制狀態(tài)機(jī)的狀態(tài)控制信號輸出端相連; FLASH復(fù)位操作邏輯的輸入端與FLASH時(shí)序邏輯生成器的輸出端相連; 讀取FLASH ID操作邏輯的輸入端與FLASH時(shí)序邏輯生成器的輸出端相連; FLASH ID寄存器的輸入端與讀取FLASH ID操作邏輯輸出端相連; FLASH擦除操作邏輯的輸入端與FLASH時(shí)序邏輯生成器的輸出端相連; FLASH編程操作邏輯的輸入端與FLASH時(shí)序邏輯生成器的輸出端相連; FLASH讀取操作邏輯的輸入端與FLASH時(shí)序邏輯生成器的輸出端相連;狀態(tài)值判斷操作是否成功電路的輸入端分別與FLASH擦除操作邏輯輸出
端和FLASH編程操作邏輯輸出端相連;
狀態(tài)錯(cuò)誤寄存器的輸入端與FLASH時(shí)序邏輯生成器的輸出端相連; 錯(cuò)誤地址寄存器的輸入端與狀態(tài)錯(cuò)誤寄存器的輸出端相連; 信息存儲器的輸入端分別與錯(cuò)誤地址寄存器的輸出端以及FLASH ID寄存
器的輸出端相連;
FLASH信息寄存器的輸入端分別與緩存存儲器寫信息寄存器的輸出端以
及信息寄存器的輸出端相連;
讀寫數(shù)據(jù)計(jì)數(shù)器是否為O判斷電路的輸入端分別與FLASH編程邏輯輸出端 和FLASH讀取邏輯輸出端相連;
數(shù)據(jù)傳輸狀態(tài)寄存器的輸入端分別與FLASH編程邏輯輸出端和FLASH讀取 邏輯輸出端相連;
FLASH讀數(shù)據(jù)FIFO的一個(gè)輸入端與FLASH讀取邏輯輸出端相連,另一個(gè) 輸入端與ECC編解碼電路的ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸出控制信 號相連;
FLASH寫數(shù)據(jù)FIFO的一個(gè)輸入端與ECC編解碼電路的數(shù)據(jù)輸入隊(duì)列存儲 器輸出端相連,另一個(gè)輸入端與ECC編解碼電路的ECC校驗(yàn)運(yùn)算器編碼忙閑狀 態(tài)寄存器的輸出控制信號相連;
ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸入端與ECC編解碼電路的ECC校 驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸出端相連;
ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸入端與ECC編解碼電路的ECC校 驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸出端相連j
ECC校驗(yàn)錯(cuò)誤寄存器的輸入端與ECC編解碼電路的ECC校驗(yàn)錯(cuò)誤寄存器的 輸出端相連;
ECC錯(cuò)誤地址寄存器的輸入端與ECC編解碼電路的ECC校驗(yàn)錯(cuò)誤寄存器的輸出端相連;
緩存存儲器寫信息寄存器的輸入端與緩存存儲器的輸出端相連。 圖6是本發(fā)明具體實(shí)施方式
中NAND FLASH ECC數(shù)據(jù)校驗(yàn)電路及與相關(guān)電 路連接關(guān)系圖。如圖6所示,ECC編解碼電路進(jìn)一步包括控制信息寄存器、校 驗(yàn)使能寄存器、編碼使能寄存器、第四內(nèi)部控制狀態(tài)機(jī)、編碼數(shù)據(jù)存儲器、解 碼數(shù)據(jù)存儲器、ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器、ECC校驗(yàn)運(yùn)算器解碼忙 閑狀態(tài)寄存器、ECC校驗(yàn)錯(cuò)誤寄存器、ECC解碼運(yùn)算器、ECC編碼運(yùn)算器、數(shù) 據(jù)輸入隊(duì)列寄存器和數(shù)據(jù)輸出隊(duì)列寄存器,
控制信息寄存器,用于接收來自NIOS II接口的數(shù)據(jù)包; 校驗(yàn)使能寄存器的輸入端與控制信息寄存器的輸出端相連; 編碼使能寄存器的輸入端與控制信息寄存器的輸出端相連; 第四內(nèi)部控制狀態(tài)機(jī)的輸入端與控制信息寄存器的輸出端相連;狀態(tài)控制 信號輸出端與校驗(yàn)使能寄存器、編碼使能寄存器、ECC編碼運(yùn)算器、ECC解碼 運(yùn)算器、編碼數(shù)據(jù)存儲器以及解碼數(shù)據(jù)存儲器的相應(yīng)輸入端分別相連;
編碼數(shù)據(jù)存儲器的輸入端與數(shù)據(jù)輸入輸出電路的讀寫數(shù)據(jù)隊(duì)列存儲器的 數(shù)據(jù)寄存器得輸出端相連;
解碼數(shù)據(jù)存儲器的輸入端與ECC解碼運(yùn)算器的輸出端相連; ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸入端與ECC編碼運(yùn)算器的輸出端 相連;
ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸入端與ECC解碼運(yùn)算器的輸出端 相連;
ECC校驗(yàn)錯(cuò)誤寄存器的輸入端與ECC解碼運(yùn)算器的輸出端相連; ECC解碼運(yùn)算器的輸入端分別與校驗(yàn)使能寄存器的輸出端、數(shù)據(jù)輸入隊(duì)列 存儲器的輸出端相連,解碼運(yùn)算器是一個(gè)32位寄存器,輸出信號是把數(shù)據(jù)輸 出隊(duì)列存儲器中的校驗(yàn)碼解析出來并送到解碼數(shù)據(jù)寄存器中;ECC編碼運(yùn)算器的輸入端分別與編碼使能寄存器的輸入端、編碼數(shù)據(jù)寄存 器的輸出端相連,編碼運(yùn)算器是一個(gè)32位寄存器,輸出信號是把編碼數(shù)據(jù)存 儲器中的數(shù)據(jù)經(jīng)過運(yùn)算附加上校驗(yàn)碼并送到數(shù)據(jù)輸入隊(duì)列寄存器中; 數(shù)據(jù)輸入隊(duì)列寄存器的輸入端與ECC編碼運(yùn)算器的輸出端相連; 數(shù)據(jù)輸出隊(duì)列寄存器的輸入端與通道控制電路的FLASH讀數(shù)據(jù)FIFO的輸 出端相連。
圖7是本發(fā)明具體實(shí)施方式
中NI0S II接口電路內(nèi)部結(jié)構(gòu)及與相關(guān)電路連 接關(guān)系圖。如圖7所示,NI0S II接口電路進(jìn)一步包括NIOS II地址寄存器、 ni0s ii控制信號寄存器、第一內(nèi)部狀態(tài)控制機(jī)、指令執(zhí)行狀態(tài)寄存器、發(fā) 送指令寄存器和nios ii數(shù)據(jù)總線三態(tài)調(diào)度邏輯,其中,
ni0s ii地址寄存器的輸入端來自ni0s ii的地址信號總線;
nios n控制信號寄存器的輸入端來自Nios n輸出的控制信號; 第一內(nèi)部狀態(tài)控制機(jī)的輸入端與Nios n地址寄存器、nios n控制信號
寄存器的輸出端相連,輸出控制信號分別與指令執(zhí)行狀態(tài)寄存器、發(fā)送指令寄
存器和nios II數(shù)據(jù)總線三態(tài)調(diào)度邏輯的控制輸入信號相連;
指令執(zhí)行狀態(tài)寄存器的數(shù)據(jù)輸入端分別與通道控制電路的指令執(zhí)行狀態(tài)
寄存器的輸出端和第一內(nèi)部狀態(tài)控制機(jī)的輸出端相連,輸出端與nios ii數(shù)據(jù) 總線三態(tài)調(diào)度邏輯的輸入端相連;
發(fā)送指令寄存器的輸入端分別與NIOS II數(shù)據(jù)總線三態(tài)調(diào)度邏輯和第一內(nèi)
部狀態(tài)機(jī)的輸出端相連,輸出端與指令預(yù)處理電路的指令緩存寄存器的輸入端
相連;
ni0s II數(shù)據(jù)總線三態(tài)調(diào)度邏輯的一組端口與接口的NIOS n數(shù)據(jù)總線相
連,由第一內(nèi)部控制狀態(tài)機(jī)的輸出控制信號和指令執(zhí)行狀態(tài)寄存器的輸出狀態(tài) 信號控制端口的方向,完成三態(tài)調(diào)度,輸出端與發(fā)送指令寄存器相連。
該設(shè)備支持Samsung、 Micron、 Hynix、 Toshiba、 Intel等廠家的主流大容
34量NANDFLASH產(chǎn)品,通過對NAND FLASH組的預(yù)處理,可以實(shí)現(xiàn)多通道多片NAND FLASH的SSD高速讀寫。
為了能夠最大能力的保證系統(tǒng)的靈活性,基于SSD的應(yīng)用情況,通過對NAND FLASH組的預(yù)處理,設(shè)備最多可以支持32個(gè)通道,可以通過軟件來設(shè)置l個(gè)32bit 的來設(shè)置每個(gè)通道是否有效。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局 限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變 化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該 以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),適用于固態(tài)存儲設(shè)備中,其特征在于,所述控制電路系統(tǒng)是大規(guī)??删幊虜?shù)字集成電路器件,包括NIOSII接口電路、指令預(yù)處理電路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路,所述NIOSII接口電路與所述指令預(yù)處理電路和所述數(shù)據(jù)輸入輸出電路分別連接,所述指令預(yù)處理電路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路依次連接,其中,所述NIOS II接口電路,用于同所述固態(tài)存儲設(shè)備的外部接口以及內(nèi)部的所述指令預(yù)處理電路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路進(jìn)行通訊,完成對所述控制電路系統(tǒng)的設(shè)置和初始化的控制;所述指令預(yù)處理電路,用于接收NIOSII發(fā)來的指令包,并根據(jù)讀取的FLASHID信息,生成和NAND FLASH的地址組織形式聯(lián)系的指令集合;所述通道控制電路,用于和NAND FLASH組進(jìn)行數(shù)據(jù)讀寫操作;所述ECC編解碼電路,用于對讀寫NAND FLASH的數(shù)據(jù)進(jìn)行解碼和編碼運(yùn)算;所述數(shù)據(jù)輸入輸出電路,用于對不同片的FLASH同時(shí)操作實(shí)現(xiàn)通道FLASH的流水操作。
2、 根據(jù)權(quán)利要求l所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,還包括NAND FLASH信息存儲器,所述NAND FLASH信息存儲器是一 個(gè)32k X 8bit的DPRAM,用于存儲FLASH ID信息、壞塊信息和CACHE中的數(shù) 據(jù)信息。
3、 根據(jù)權(quán)利要求l所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,還包括緩存存儲器,所述緩存存儲器是一個(gè)32k X 8bit的DPRAM,用來緩存讀寫數(shù)據(jù)信息。
4、 根據(jù)權(quán)利要求l所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,所述nios ii接口電路進(jìn)一步包括nios ii地址寄存器、nios ii 控制信號寄存器、第一內(nèi)部狀態(tài)控制機(jī)、指令執(zhí)行狀態(tài)寄存器、發(fā)送指令寄存器和nios n數(shù)據(jù)總線三態(tài)調(diào)度邏輯,其中,所述nios ii地址寄存器的輸入端來自nios ii的地址信號總線; 所述nios ii控制信號寄存器的輸入端來自nios ii輸出的控制信號; 所述第一內(nèi)部狀態(tài)控制機(jī)的輸入端與所述nios ii地址寄存器、nios ii控制信號寄存器的輸出端相連,輸出控制信號分別與所述指令執(zhí)行狀態(tài)寄存 器、發(fā)送指令寄存器和nios ii數(shù)據(jù)總線三態(tài)調(diào)度邏輯的控制輸入信號相連;所述指令執(zhí)行狀態(tài)寄存器的數(shù)據(jù)輸入端分別與所述通道控制電路的指令 執(zhí)行狀態(tài)寄存器的輸出端和所述第一內(nèi)部狀態(tài)控制機(jī)的輸出端相連,輸出端與 所述nios ii數(shù)據(jù)總線三態(tài)調(diào)度邏輯的輸入端相連;所述發(fā)送指令寄存器的輸入端分別與所述nios ii數(shù)據(jù)總線三態(tài)調(diào)度邏輯 和所述第一內(nèi)部狀態(tài)機(jī)的輸出端相連,輸出端與所述指令預(yù)處理電路的指令緩 存寄存器的輸入端相連;所述nios ii數(shù)據(jù)總線三態(tài)調(diào)度邏輯的一組端口與接口的nios ii數(shù)據(jù)總 線相連,由所述第一內(nèi)部控制狀態(tài)機(jī)的輸出控制信號和所述指令執(zhí)行狀態(tài)寄存 器的輸出狀態(tài)信號控制所述端口的方向,完成三態(tài)調(diào)度,輸出端與所述發(fā)送指 令寄存器相連。
5、 根據(jù)權(quán)利要求l所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,所述指令預(yù)處理電路進(jìn)一步包括指令緩存寄存器、flash id寄存 器、物理壞塊對應(yīng)表、flash id解析運(yùn)算器、nand flash id信息寄存器組、 指令地址邏輯運(yùn)算器和nand flash指令包寄存器,其中,所述指令緩存寄存器,用于接收來自nios ii接口的指令包;所述flash id寄存器的輸入端與所述nand flash信息存儲器的輸出端相連;所述物理壞塊對應(yīng)表的輸入端與所述NAND FLASH信息存儲器的輸出端相連;所述FLASH ID解析運(yùn)算器的輸入端與所述NAND FLASH信息存儲器的輸出 端相連;NAND FLASH ID信息寄存器組進(jìn)一步包括FLASH廠家寄存器、FLASH通道 使能寄存器、FLASH通道CE數(shù)目寄存器、FLASH塊數(shù)量寄存器、FLASH頁數(shù)量 寄存器和FLASH頁大小寄存器,這些寄存器都為32位,輸入端都與所述FLASH ID解析運(yùn)算器的輸出端相連;指令地址邏輯運(yùn)算器的輸入端分別與所述指令緩存寄存器和所述NAND FLASH ID信息寄存器組中的所有寄存器的輸出端相連;NAND FLASH指令包寄存器的輸入端與所述指令地址邏輯運(yùn)算器的輸出端 相連。
6、根據(jù)權(quán)利要求l所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,所述通道控制電路進(jìn)一步包括輸入指令包寄存器、生成NAND FLASH 地址寄存器組、生成控制數(shù)據(jù)寄存器組、第三內(nèi)部控制狀態(tài)機(jī)、第一邏輯運(yùn)算 器、第二邏輯運(yùn)算器、FLASH指令地址寄存器、FLASH操作使能寄存器、FLASH時(shí)序邏輯生成器、指令執(zhí)行狀態(tài)寄存器、緩存存儲器讀寫數(shù)據(jù)寄存器、緩存存 儲器讀寫地址寄存器、緩存存儲器起始終止地址寄存器、FLASH復(fù)位操作邏輯、 讀取FLASH ID操作邏輯、FLASH ID寄存器、FLASH擦除操作邏輯、FLASH編 程操作邏輯、FLASH讀取操作邏輯、狀態(tài)值判斷操作是否成功電路、狀態(tài)錯(cuò)誤 寄存器、錯(cuò)誤地址寄存器、信息存儲器、FLASH信息寄存器、讀寫數(shù)據(jù)計(jì)數(shù)器 是否為O判斷電路、數(shù)據(jù)傳輸狀態(tài)寄存器、FLASH讀數(shù)據(jù)FIFO、 FLASH寫數(shù)據(jù) FIFO、 ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器、ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄 存器、ECC校驗(yàn)錯(cuò)誤寄存器、ECC錯(cuò)誤地址寄存器和緩存存儲器寫信息寄存器,所述輸入指令包寄存器,用于接收來自所述指令預(yù)處理電路的數(shù)據(jù)包; 所述生成NAND FLASH地址寄存器組進(jìn)一步包括第一列地址寄存器、第二 列地址寄存器、第一行地址寄存器、第二行地址寄存器和第三行地址寄存器, 這些地址寄存器都是8位,數(shù)據(jù)輸入端與所述輸入指令包寄存器的輸出端相 連;所述生成控制數(shù)據(jù)寄存器組進(jìn)一步包括數(shù)據(jù)長度寄存器、寫保護(hù)寄存器和 控制器通道使能寄存器,這些寄存器都是32位,數(shù)據(jù)輸入端與所述輸入指令 包寄存器的輸出端相連;所述第三內(nèi)部控制狀態(tài)機(jī)的輸入端與指令執(zhí)行狀態(tài)寄存器以及所述輸入 指令包寄存器的輸出端相連,狀態(tài)控制信號輸出端分別與所述生成的NAND FLASH地址寄存器組和所述生成控制數(shù)據(jù)寄存器組的各寄存器的輸入端相連;所述第一邏輯運(yùn)算器的輸入端分別與所述生成NAND FLASH地址寄存器組 中各寄存器的輸出端相連,所述第一邏輯運(yùn)算器是一個(gè)33位寄存器,輸出信 號是把所述生成NAND FLASH地址寄存器組中各寄存器輸入數(shù)據(jù)進(jìn)行比較處理 后形成NAND FLASH的地址寄存器;所述第二邏輯運(yùn)算器的輸入端分別與所述生成控制數(shù)據(jù)寄存器組中各寄 存器的輸出端相連,所述第二邏輯運(yùn)算器是一個(gè)32位寄存器,輸出信號是把 所述生成控制數(shù)據(jù)寄存器組的各寄存器數(shù)據(jù)進(jìn)行比較以及相與的運(yùn)算形成 NAND FLASH內(nèi)部需要的寄存器值;所述FLASH指令地址寄存器的輸入端與所述第一邏輯運(yùn)算器的輸出端相連;所述FLASH操作使能寄存器的輸入端與所述第二邏輯運(yùn)算器的輸出端相連;所述FLASH時(shí)序邏輯生成器的輸入端與所述述FLASH指令地址寄存器的輸 出端、FLASH操作使能寄存器的輸出端以及第三內(nèi)部控制邏輯的輸出控制信號相連;所述指令執(zhí)行狀態(tài)寄存器的輸入端與所述FLASH時(shí)序邏輯生成器的輸出 端相連;所述緩存存儲器讀寫數(shù)據(jù)寄存器的輸入端與所述輸入指令包寄存器的輸 出端相連;所述緩存存儲器讀寫地址寄存器的輸入端與所述緩存存儲器讀寫數(shù)據(jù)寄 存器的輸出端相連;所述緩存存儲器起始終止地址寄存器的地址信號輸入端分別與所述緩存 存儲器讀寫地址寄存器的輸出端以及ECC編解碼電路中的數(shù)據(jù)輸出隊(duì)列寄存 儲器的輸出端相連,控制信號輸入端與所述內(nèi)部控制狀態(tài)機(jī)的狀態(tài)控制信號輸 出端相連;所述FLASH復(fù)位操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;所述讀取FLASH ID操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸 出端相連;所述FLASH ID寄存器的輸入端與所述讀取FLASH ID操作邏輯輸出端相連; 所述FLASH擦除操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;所述FLASH編程操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;所述FLASH讀取操作邏輯的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端 相連;所述狀態(tài)值判斷操作是否成功電路的輸入端分別與所述FLASH擦除操作 邏輯輸出端和所述FLASH編程操作邏輯輸出端相連;所述狀態(tài)錯(cuò)誤寄存器的輸入端與所述FLASH時(shí)序邏輯生成器的輸出端相連;所述錯(cuò)誤地址寄存器的輸入端與所述狀態(tài)錯(cuò)誤寄存器的輸出端相連;所述信息存儲器的輸入端分別與所述錯(cuò)誤地址寄存器的輸出端以及所述 FLASH ID寄存器的輸出端相連;所述FLASH信息寄存器的輸入端分別與所述緩存存儲器寫信息寄存器的 輸出端以及所述信息寄存器的輸出端相連;所述讀寫數(shù)據(jù)計(jì)數(shù)器是否為0判斷電路的輸入端分別與所述FLASH編程邏 輯輸出端和所述FLASH讀取邏輯輸出端相連;所述數(shù)據(jù)傳輸狀態(tài)寄存器的輸入端分別與所述FLASH編程邏輯輸出端和 所述FLASH讀取邏輯輸出端相連;所述FLASH讀數(shù)據(jù)FIFO的一個(gè)輸入端與FLASH讀取邏輯輸出端相連,另 一個(gè)輸入端與ECC編解碼電路的ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸出控 制信號相連;所述FLASH寫數(shù)據(jù)FIFO的一個(gè)輸入端與ECC編解碼電路的數(shù)據(jù)輸入隊(duì)列 存儲器輸出端相連,另一個(gè)輸入端與ECC編解碼電路的ECC校驗(yàn)運(yùn)算器編碼忙 閑狀態(tài)寄存器的輸出控制信號相連;所述ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸入端與所述ECC編解碼電路的ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸出端相連;所述ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸入端與所述ECC編解碼電路 的ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸出端相連;所述ECC校驗(yàn)錯(cuò)誤寄存器的輸入端與所述ECC編解碼電路的ECC校驗(yàn)錯(cuò)誤 寄存器的輸出端相連;所述ECC錯(cuò)誤地址寄存器的輸入端與所述ECC編解碼電路的ECC校驗(yàn)錯(cuò)誤 寄存器的輸出端相連;所述緩存存儲器寫信息寄存器的輸入端與緩存存儲器的輸出端相連。
7、根據(jù)權(quán)利要求l所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,所述ECC編解碼電路進(jìn)一步包括控制信息寄存器、校驗(yàn)使能寄存器、 編碼使能寄存器、第四內(nèi)部控制狀態(tài)機(jī)、編碼數(shù)據(jù)存儲器、解碼數(shù)據(jù)存儲器、 ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器、ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器、 ECC校驗(yàn)錯(cuò)誤寄存器、ECC解碼運(yùn)算器、ECC編碼運(yùn)算器、數(shù)據(jù)輸入隊(duì)列寄存 器和數(shù)據(jù)輸出隊(duì)列寄存器,所述控制信息寄存器,用于接收來自NIOS II接口的數(shù)據(jù)包; 所述校驗(yàn)使能寄存器的輸入端與所述控制信息寄存器的輸出端相連; 所述編碼使能寄存器的輸入端與所述控制信息寄存器的輸出端相連; 所述第四內(nèi)部控制狀態(tài)機(jī)的輸入端與所述控制信息寄存器的輸出端相連; 狀態(tài)控制信號輸出端與校驗(yàn)使能寄存器、編碼使能寄存器、ECC編碼運(yùn)算器、 ECC解碼運(yùn)算器、編碼數(shù)據(jù)存儲器以及解碼數(shù)據(jù)存儲器的相應(yīng)輸入端分別相 連;所述編碼數(shù)據(jù)存儲器的輸入端與所述數(shù)據(jù)輸入輸出電路的讀寫數(shù)據(jù)隊(duì)列 存儲器的數(shù)據(jù)寄存器得輸出端相連;所述解碼數(shù)據(jù)存儲器的輸入端與所述ECC解碼運(yùn)算器的輸出端相連; 所述ECC校驗(yàn)運(yùn)算器編碼忙閑狀態(tài)寄存器的輸入端與所述ECC編碼運(yùn)算器的輸出端相連;所述ECC校驗(yàn)運(yùn)算器解碼忙閑狀態(tài)寄存器的輸入端與所述ECC解碼運(yùn)算器 的輸出端相連;所述ECC校驗(yàn)錯(cuò)誤寄存器的輸入端與所述ECC解碼運(yùn)算器的輸出端相連; 所述ECC解碼運(yùn)算器的輸入端分別與所述校驗(yàn)使能寄存器的輸出端、數(shù)據(jù) 輸入隊(duì)列存儲器的輸出端相連,所述解碼運(yùn)算器是一個(gè)32位寄存器,輸出信 號是把數(shù)據(jù)輸出隊(duì)列存儲器中的校驗(yàn)碼解析出來并送到解碼數(shù)據(jù)寄存器中; 所述ECC編碼運(yùn)算器的輸入端分別與所述編碼使能寄存器的輸入端、編碼數(shù)據(jù)寄存器的輸出端相連,所述編碼運(yùn)算器是一個(gè)32位寄存器,輸出信號是把編碼數(shù)據(jù)存儲器中的數(shù)據(jù)經(jīng)過運(yùn)算附加上校驗(yàn)碼并送到數(shù)據(jù)輸入隊(duì)列寄存器中;所述數(shù)據(jù)輸入隊(duì)列寄存器的輸入端與所述ECC編碼運(yùn)算器的輸出端相連; 所述數(shù)據(jù)輸出隊(duì)列寄存器的輸入端與所述通道控制電路的FLASH讀數(shù)據(jù) FIFO的輸出端相連。
8、根據(jù)權(quán)利要求l所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,所述數(shù)據(jù)輸入輸出電路進(jìn)一步包括數(shù)據(jù)信息存儲器、發(fā)送讀寫信息 寄存器、緩存存儲器起始地址寄存器、緩存存儲器終止地址寄存器、緩存存儲 器下一地址寄存器、第一數(shù)據(jù)選擇器、緩存存儲器讀寫地址寄存器、第一比較 器、發(fā)送端口寄存器、附加數(shù)據(jù)寄存器、緩存存儲器讀寫數(shù)據(jù)寄存器、第二數(shù) 據(jù)選擇器、第二內(nèi)部控制狀態(tài)機(jī)和讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器, 所述數(shù)據(jù)信息存儲器,用于接收來自接口的數(shù)據(jù)信息; 所述發(fā)送讀寫信息寄存器的輸入端與所述數(shù)據(jù)信息存儲器的輸出端相連; 所述緩存存儲器起始地址寄存器的輸入端與所述發(fā)送讀寫信息寄存器的 相應(yīng)輸出端相連;所述緩存存儲器終止地址寄存器的輸入端與所述發(fā)送讀寫信息寄存器的 另一個(gè)輸出端相連;所述緩存存儲器下一地址寄存器的輸入端與所述緩存存儲器讀地址寄存 器的輸出端經(jīng)過加1邏輯的輸出端相連;所述第一數(shù)據(jù)選擇器的兩個(gè)輸入端分別與所述存儲器起始地址寄存器、緩 存存儲器下一地址寄存器的輸出端相連;所述緩存存儲器讀寫地址寄存器的輸入端與所述第一數(shù)據(jù)選擇器的輸出 端相連,輸出地址信號加l后送往所述緩存存儲器下一地址寄存器,另一個(gè)輸 出端與所述緩存存儲器的第二組地址輸入端相連;所述第一比較器的兩個(gè)輸入端分別與所述緩存存儲器下一地址寄存器、緩存存儲器終止地址寄存器的輸出端相連,比較信號輸出端與所述第一數(shù)據(jù)選擇器的控制信號輸入端相連;所述發(fā)送端口寄存器的輸入端與所述發(fā)送信息寄存器的輸出端相連; 所述附加數(shù)據(jù)寄存器的一組輸入端與所述發(fā)送端口寄存器相連,另一組輸入端與NI0S II接口電路相連,比較信號輸出端與所述第一選擇器的相應(yīng)輸入端相連;所述緩存存儲器讀寫數(shù)據(jù)寄存器,它的一個(gè)輸入端與所述緩存存儲器的第 二組數(shù)據(jù)總線相連,它的另一個(gè)輸入端與所述第二數(shù)據(jù)選擇器的輸出端相連;所述第二數(shù)據(jù)選擇器的三個(gè)輸入端分別與所述緩存存儲器的讀寫數(shù)據(jù)寄 存器的輸出端、附加數(shù)據(jù)寄存器的輸出端和讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器 的輸出端相連;所述第二內(nèi)部控制狀態(tài)機(jī)的輸入端與所述第一比較器的輸出端相連,三個(gè) 輸出端分別與所述發(fā)送讀寫信息寄存器、第一數(shù)據(jù)選擇器和第二數(shù)據(jù)選擇器的 控制信號輸入端相連;所述讀寫數(shù)據(jù)隊(duì)列存儲器的數(shù)據(jù)寄存器的一組輸入端和所述第二數(shù)據(jù)選 擇器的輸出端相連,另一組輸入端與所述ECC編解碼電路的解碼數(shù)據(jù)存儲器的 輸出端相連。
9、 根據(jù)權(quán)利要求2所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其 特征在于,所述NAND FLASH信息存儲器包括兩組數(shù)據(jù)和地址總線,第一組地 址輸入端與所述緩存存儲器寫信息寄存器的第一組地址輸出端相連,第一組數(shù) 據(jù)輸入端與所述緩存存儲器寫信息寄存器的第一組數(shù)據(jù)輸出端相連,第二組地 址輸入端與所述信息寄寄存器的地址輸出端相連,第二組數(shù)據(jù)輸入端與所述信 息寄存器的數(shù)據(jù)輸出端相連。
10、 根據(jù)權(quán)利要求3所述的一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),其特征在于,所述緩存存儲器包括兩組組數(shù)據(jù)和地址總線,第一組地址總線與所 述數(shù)據(jù)輸入輸出電路的緩存存儲器讀寫地址寄存器的輸出端相連,第一組數(shù)據(jù) 總線與所述數(shù)據(jù)輸入輸出電路的緩存存儲器讀寫數(shù)據(jù)寄存器的輸出端相連,第二組地址總線與所述NAND FLASH信息存儲器的第一組輸入端地址總線相連, 第二組數(shù)據(jù)總線與所述NAND FLASH信息存儲器的第一組輸入端數(shù)據(jù)總線相連。
全文摘要
本發(fā)明公開了一種基于與非門結(jié)構(gòu)內(nèi)存的控制電路系統(tǒng),適用于固態(tài)存儲設(shè)備中,其特征在于,所述控制電路系統(tǒng)是大規(guī)??删幊虜?shù)字集成電路器件,包括NIOS II接口電路、指令預(yù)處理電路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路,NIOS II接口電路與指令預(yù)處理電路和數(shù)據(jù)輸入輸出電路分別連接,指令預(yù)處理電路、通道控制電路、ECC編解碼電路和數(shù)據(jù)輸入輸出電路依次連接。采用了本發(fā)明的技術(shù)方案,不僅提高了主機(jī)讀寫數(shù)據(jù)的速度,而且提高了系統(tǒng)的靈活性。
文檔編號G11C7/10GK101521041SQ200910131488
公開日2009年9月2日 申請日期2009年4月1日 優(yōu)先權(quán)日2009年4月1日
發(fā)明者黨相甫, 偉 馮 申請人:北京泰科源科技有限責(zé)任公司