專利名稱:一種閃存控制器以及閃存控制方法
技術領域:
本發明涉及一種閃存管理裝置,具體涉及一種閃存控制器的設計技術。
背景技術:
隨著閃存大量在終端設備中使用,閃存的存儲容量也越來越大,而用戶對于閃存讀寫速度的要求也越來越高。現有技術中的管理閃存的裝置為閃存控制器,在閃存控制器中一般設置有指令解析單元,用于解析主機發送的閃存控制命令;對于主機的每一個命令都需要有一個解析過程和存儲解析后的閃存控制命令的存儲過程;再根據一定的規則將解析后的閃存控制命令予以執行。上述的處理機制對閃存控制器的性能要求比較高,導致閃存控制器芯片的面積較大,而且對于主機發送的閃存控制命令的處理速度不高。此外對于下掛多通道閃存芯片或者閃存芯片陣列時,設計思路復雜。而且對于下掛不同的閃存芯片 可能需要重新設計閃存控制器,通用性比較差。
發明內容
本發明解決的技術問題是提供一種閃存控制器以及閃存控制方法,使得閃存控制器能夠高速執行主機發送的閃存控制命令。本發明公開的閃存控制器,包括指令分解模塊、指令編碼模塊和閃存控制單元;所述指令分解模塊,用于接收主機的閃存控制命令,并將其分解成原子操作指令;所述指令編碼模塊,用于將所述原子操作指令編譯成微碼;所述閃存控制單元,用于將所述微碼解析成閃存可以識別的操作信號,并執行所述操作信號。進一步的,所述指令編碼模塊還包括存儲器單元,所述存儲器單元用于存儲所述指令分解模塊分解后的原子操作指令和所述原子操作指令編譯后的微碼。所述存儲器單元還包括原子操作指令存儲器和微碼存儲器;所述原子操作指令存儲器,用于存儲所述指令分解模塊分解后的原子操作指令;所述微碼存儲器,用于存儲所述原子操作指令編譯后的微碼。優選的,所述原子操作指令存儲器為第一級RAM,所述微碼存儲器為第二級RAM。所述的第一級RAM和第二級RAM還用于通過非易失性存儲器或者裝載器軟件裝入所述原子操作指令和所述微碼。優選的,所述指令分解模塊分解后的原子操作指令為RISC指令集。本發明還公開的閃存控制方法,包括以下處理步驟將主機的閃存控制命令分解成原子操作指令;將所述原子操作指令編譯成微碼,并將所述原子操作指令和所述微碼裝入存儲器單元;接收主機發送的閃存控制命令,獲取對應的原子操作指令在存儲器單元中的地址
信息;根據對應的原子操作指令在存儲器單元中獲取對應的微碼信息;
將微碼信息解析成閃存可以識別的操作信號,并執行所述操作信號。進一步的,所述將所述原子操作指令和所述微碼裝入存儲器單元具體為在所述的存儲器單元中設置原子操作指令存儲器和微碼存儲器;將所述分解后的原子操作指令裝入原子操作指令存儲器;將所述原子操作指令編譯后的微碼裝入微碼存儲器。優選的,所述裝入原子操作指令和微碼的方式包括通過非易失性存儲器裝入和通過或者裝載器軟件裝入。優選的,所述分解后的原子操作指令為RISC指令集。
由于本發明采用事先將閃存控制命令進行分解,將其分解為閃存可以識別的原子操作;并將該原子操作編成微碼裝載在閃存控制器中。在執行閃存控制命令時,采用查找的方式找到對應的微碼,完成命令的執行過程。閃存控制器不需要對每條閃存控制命令進行解析,因此提高了閃存控制命令的執行速度。此外由于采用了 RAM來存儲閃存操作所需要的控制信號,可以有效減少芯片的使用面積。對于增加新的閃存控制命令時,只需要進行一次命令的分解、編碼和裝載過程,后續就可以快速執行該新的閃存控制命令,大大簡化了閃存控制器設計的復雜度。
圖I是閃存控制器的工作原理圖;圖2是本發明閃存控制器的工作原理圖;圖3是本發明下掛閃存陣列的閃存控制器的工作原理圖;圖4是本發明閃存控制方法流程圖。
具體實施例方式下面結合附圖,并通過實施例詳細介紹本發明的實現過程。如圖I所示,閃存控制器是位于主機和閃存之間,用于接收主機的閃存控制命令,完成對閃存的讀寫控制。閃存控制器將主機的閃存控制命令轉換成閃存可以識別并執行的操作信號。實施例一如圖2所示為本發明閃存控制器的工作原理,本實施例中閃存控制器包括指令分解模塊、指令編碼模塊和閃存控制單元。指令分解模塊用于接收主機的閃存控制命令,例如讀、寫、擦除等,并將其分解成原子操作指令,該原子命令為閃存可以識別的,例如發送命令、發送地址、延遲等待等等。指令編碼模塊用于將原子操作指令編譯成微碼。閃存控制單元用于將微碼解析成閃存可以識別的操作信號,并執行操作信號。在一種實施方式中,在指令編碼模塊還包括存儲器單元,該存儲器單元用于存儲指令分解模塊分解后的原子操作指令和原子操作指令編譯后的微碼。可以采用分別存儲的方式,即存儲器單元還可以包括原子操作指令存儲器和微碼存儲器;原子操作指令存儲器用于存儲所述指令分解模塊分解后的原子操作指令;微碼存儲器用于存儲原子操作指令編譯后的微碼。在本實施例中存儲器可以采用RAM來實現,一種實現方式為將原子操作指令存儲器設置為第一級RAM,將微碼存儲器設置為第二級RAM。
原子操作指令和微碼的裝載方式有兩種一種是通過非易失性存儲器將其分別裝載到第一級RAM和第二級RAM ;另一種是通過裝載器軟件將原子操作指令和所述微碼分別裝入第一級RAM和第二級RAM中。在一種實施方式中,指令分解模塊將閃存控制命令分解后的原子操作指令為RISC指令集。實施例二如圖3所示,為本發明下掛閃存陣列閃存控制器的工作原理,與實施例一的區別在于閃存控制器中設置有多個微碼存儲器和多個閃存控制單元,每個閃存通道的閃存芯片組分別對應一個微碼存儲器和一個閃存控制單元。這樣可以實現對不同閃存通道的閃存芯片的并行處理。每個通道內的多個閃存芯片也可以實現并行處理。即每個閃存控制單元對于每個通道內的不同的閃存芯片發送流水線操作信號,即每個通道的不同閃存芯片在接收到流水線操作信號后也可以實現并行操作。這種設置方式進一步提高了閃存讀寫速度。 實施例三如圖4所示,為本發明閃存控制方法流程,包括以下處理過程主機命令分解將主機的閃存控制命令分解成原子操作指令。即指令分解模塊將主機發來的閃存控制命令分解成閃存可識別原子操作指令,一種優選的方式是將其分解為RISC指令集。編碼和裝載將原子操作指令編譯成微碼,并將原子操作指令和所述微碼裝入存儲器單元;具體可以分別將其裝入原子操作指令存儲器和微碼存儲器,存儲器可以采用RAM來實現,原子操作指令存儲器設為第一級RAM,微碼存儲器為第二級RAM。裝載的方式包括通過非易失性存儲器裝入和通過或者裝載器軟件裝入。取址當主機發送某條閃存控制命令時,閃存控制器接收主機發送的閃存控制命令,獲取該命令對應的原子操作指令在存儲器單元中的地址信息;從而得到原子操作指令,例如可以是RISC指令集中的某條指令。譯碼根據對應的原子操作指令在存儲器單元中獲取對應的微碼信息,并讀取該微碼;執行將微碼信息經過閃存控制單元解析成閃存可以識別的操作信號,并執行所述操作信號。同時根據微碼獲得下一條原子操作指令的地址,依次執行直到該閃存控制命令對應的指令序列執行完畢。對于需要新增加閃存控制命令時,只需要將新增加的閃存控制命令通過指令分解單元分解成原子操作指令,即修改原子操作指令存儲器和微碼存儲器(或第一級RAM和第二級RAM)即可,而不需要去修改閃存控制單元。以上所述實施例,僅為本發明的較佳實例而已,并非用于限定本發明的保護范圍,凡在本發明的精神和原則之內所作的任何修改、等同替換或改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種閃存控制器,其特征在于,所述閃存控制器包括指令分解模塊、指令編碼模塊和閃存控制單元; 所述指令分解模塊,用于接收主機的閃存控制命令,并將其分解成原子操作指令; 所述指令編碼模塊,用于將所述原子操作指令編譯成微碼; 所述閃存控制單元,用于將所述微碼解析成閃存可以識別的操作信號, 并執行所述操作信號。
2.根據權利要求I所述的閃存控制器,其特征在于,所述指令編碼模塊還包括存儲器單元,所述存儲器單元用于存儲所述指令分解模塊分解后的原子操作指令和所述原子操作指令編譯后的微碼。
3.根據權利要求2所述的閃存控制器,其特征在于,所述存儲器單元還包括原子操作指令存儲器和微碼存儲器; 所述原子操作指令存儲器,用于存儲所述指令分解模塊分解后的原子操作指令; 所述微碼存儲器,用于存儲所述原子操作指令編譯后的微碼。
4.根據權利要求3所述的閃存控制器,其特征在于,所述原子操作指令存儲器為第一級RAM,所述微碼存儲器為第二級RAM。
5.根據權利要求4所述的閃存控制器,其特征在于,所述的第一級RAM和第二級RAM還用于通過非易失性存儲器或者裝載器軟件裝入所述原子操作指令和所述微碼。
6.根據權利要求1-5任一項所述的閃存控制器,其特征在于,所述指令分解模塊分解后的原子操作指令為RISC指令集。
7.—種閃存控制方法,其特征在于,所述方法包括以下處理步驟 將主機的閃存控制命令分解成原子操作指令; 將所述原子操作指令編譯成微碼,并將所述原子操作指令和所述微碼裝入存儲器單元; 接收主機發送的閃存控制命令,獲取對應的原子操作指令在存儲器單元中的地址信息; 根據對應的原子操作指令在存儲器單元中獲取對應的微碼信息; 將微碼信息解析成閃存可以識別的操作信號,并執行所述操作信號。
8.根據權利要求7所述的閃存控制方法,其特征在于,所述將所述原子操作指令和所述微碼裝入存儲器單元具體為 在所述的存儲器單元中設置原子操作指令存儲器和微碼存儲器; 將所述分解后的原子操作指令裝入原子操作指令存儲器; 將所述原子操作指令編譯后的微碼裝入微碼存儲器。
9.根據權利要求8所述的閃存控制方法,其特征在于,所述裝入原子操作指令和微碼的方式包括通過非易失性存儲器裝入和通過或者裝載器軟件裝入。
10.根據權利要求7-9所述的閃存控制方法,其特征在于,所述分解后的原子操作指令為RISC指令集。
全文摘要
本發明公開了一種閃存控制器以及閃存控制方法,采用事先將閃存控制命令進行分解,將其分解為閃存可以識別的原子操作;并將該原子操作編成微碼裝載在閃存控制器中。在執行閃存控制命令時,采用查找的方式找到對應的微碼,完成命令的執行過程。閃存控制器不需要對每條閃存控制命令進行解析,因此提高了閃存控制命令的執行速度。此外由于采用了RAM來存儲閃存操作所需要的控制信號,可以有效減少芯片的使用面積。對于增加新的閃存控制命令時,只需要進行一次命令的分解、編碼和裝載過程,大大簡化了閃存控制器設計的復雜度。
文檔編號G06F13/16GK102902644SQ20121036760
公開日2013年1月30日 申請日期2012年9月28日 優先權日2012年9月28日
發明者邢冀鵬, 陳磊, 楊濤 申請人:憶正科技(武漢)有限公司