李曉強



摘要:為了讓固態硬盤(SSD)產品擁有更快的讀寫速度,閃存控制器都有多個通道及很多個片選來控制非易失性閃存(Flash),達到并行操作非易失性閃存的效果。通過閃存控制器中自帶的固件來控制通道和片選之間的并行,需要大量的軟件代碼來保證通道和片選之間的并行性,但是軟件代碼容易出現缺陷,且需要調試時間,并且執行過程非常占用中央處理器的資源,本研究提供一種固態硬盤數據的并行處理方法。
關鍵詞:固態硬盤;可讀存儲介質;裝置;并行處理;方法
現有技術中,為了讓固態硬盤(SSD)產品擁有更快的讀寫速度,閃存控制器都有多個通道及很多個片選來控制非易失性閃存(Flash),達到并行操作非易失性閃存的效果。通過閃存控制器中自帶的固件來控制通道和片選之間的并行,需要大量的軟件代碼來保證通道和片選之間的并行性,但是軟件代碼容易出現缺陷,且需要調試時間,并且執行過程非常占用中央處理器的資源。
為解決現有技術中通過固件實現控制通道和片選之間的并行容易出現缺陷的問題,本研究提供一種固態硬盤數據的并行處理方法。
一、本研究固態硬盤組成
包括閃存控制器及閃存陣列,閃存控制器具有與閃存陣列連接的多個通道,每個通道包括多個片選,且閃存控制器包括控制緩存區及鏈表,鏈表包括鏈表緩存區及多個鏈表頭。(見圖1.圖2)
二、固態硬盤數據的并行處理方法步驟(見圖3-圖9)
1.當目標通道的當前片選執行完對應的操作后,以當前片選為起點,按照預設順序循環檢測目標通道中是否有片選處于空閑狀態;
2.當檢測到有片選處于空閑狀態時,則從處于空閑狀態的片選對應的鏈表頭中獲取下一操作對應的映射地址;
3.根據映射地址獲取所述下一操作對應的在鏈表緩存區中的相對偏移值,并根據相對偏移值獲取下一操作在控制緩存區的操作信息,并控制處于空閑狀態的片選執行下一操作。
4.從處于空閑狀態的片選對應的鏈表頭中獲取下一操作對應的映射地址的步驟之前,還包括:判斷處于空閑狀態的片選對應的鏈表頭是否為空、向控制緩存區中的相對偏移位置寫入對閃存陣列的操作信息。
5.操作信息包括通道信息、片選信息、行地址、列地址、要操作的數據量及操作命令。
6.向控制緩存區中的相對偏移位置寫入對閃存陣列的操作信息的步驟之后,將控制緩存區中的相對偏移值寫入鏈表緩存區的空閑節點中。
7.掃描控制緩存區中的通道及片選,從片選對應的鏈表頭中獲取鏈表緩存區的當前的最后節點位置,將空閑節點作為當前的最后節點。
8.釋放下一操作在控制緩存區、鏈表緩存區所占用的空間并更改鏈表關系。
9.向當前片選連接的閃存陣列中的存儲單元發送問詢指令;
10.根據所述存儲單元的反饋指令判斷當前片選是處于繁忙狀態還是空閑狀態。
三、固態硬盤數據的并行處理裝置特征
固態硬盤數據的并行處理裝置包括:存儲器、處理器及存儲在所述存儲器上并可在處理器上運行的固態硬盤數據的并行處理程序,固態硬盤數據的并行處理程序被處理器執行時實現如上的固態硬盤數據的并行處理方法的步驟。
四、本計算機可讀存儲介質特征
計算機可讀存儲介質上存儲有固態硬盤數據的并行處理程序,固態硬盤數據的并行處理程序被處理器執行時實現如上固態硬盤數據的并行處理方法的步驟。
五、本研究優點
通過在片選執行完一次操作后,按照預設順序檢測當前片選及其余片選的狀態,在有片選為空閑狀態時,通過片選的鏈表頭、鏈表緩沖區及控制緩沖區找到下一操作的操作信息,通過鏈表數據結構,得到操作的最佳的執行順序,避免通過固件的大量代碼對操作信息進行排序,避免出現缺陷,減少程序員的調試時間,同時減少固件的負擔。
六、結論
本研究的技術方案本質上對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在如上所述的一個存儲介質(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網絡設備等)執行本研究各個實施例的方法,解決現有技術中通過固件實現控制通道和片選之間的并行容易出現缺陷的問題。