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