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