1.一種交互方法,其特征在于,包括:
主機(jī)HOST將任務(wù)指令寫入所述HOST內(nèi)存中的第一隊列中,所述任務(wù)指令指示非易失存儲快速通道NVMe設(shè)備將執(zhí)行的操作;所述NVMe設(shè)備為與所述HOST通過快速外部組件互聯(lián)PCIe總線進(jìn)行交互的外圍設(shè)備;
所述HOST將觸發(fā)標(biāo)識寫入所述HOST內(nèi)存中的第二隊列;所述觸發(fā)標(biāo)識代表所述HOST已確認(rèn)將與所述NVMe設(shè)備進(jìn)行交互,所述交互為所述NVMe設(shè)備執(zhí)行所述操作需要與所述HOST進(jìn)行的交互;
所述HOST確認(rèn)所述操作已完成,則將完成標(biāo)識寫入所述第一隊列,所述完成標(biāo)識代表所述HOST已確認(rèn)所述交互已完成。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述HOST確認(rèn)所述操作已完成包括:
所述HOST接收所述NVMe設(shè)備發(fā)送的預(yù)設(shè)中斷,訪問所述HOST內(nèi)存中的第三隊列,檢測到操作完成標(biāo)識,則確認(rèn)所述操作已完成;
其中,所述預(yù)設(shè)中斷用于指示所述HOST訪問所述第三隊列,所述操作完成標(biāo)識指示所述操作已完成。
3.一種交互方法,其特征在于,包括:
非易失存儲快速通道NVMe設(shè)備輪詢第一隊列;所述第一隊列存儲在主機(jī)HOST的內(nèi)存中;
所述NVMe設(shè)備在所述第一隊列中檢測到觸發(fā)標(biāo)識,所述觸發(fā)標(biāo)識代表所述HOST已確認(rèn)將與所述NVMe設(shè)備進(jìn)行交互;所述交互為所述NVMe設(shè)備執(zhí)行操作需要與所述HOST進(jìn)行的交互;
所述NVMe設(shè)備獲取任務(wù)指令;所述任務(wù)指令指示所述NVMe設(shè)備將執(zhí)行的所述操作;
所述NVMe設(shè)備執(zhí)行所述操作;
所述NVMe設(shè)備在所述第一隊列中檢測到完成標(biāo)識;所述完成標(biāo)識指示所述HOST已確認(rèn)所述交互已完成,所述完成標(biāo)識是所述HOST確認(rèn)所 述操作完成之后寫入所述第一隊列的。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述NVMe設(shè)備獲取任務(wù)指令包括:
所述NVMe設(shè)備訪問所述HOST內(nèi)存中的第二隊列,在所述第二隊列中獲取所述任務(wù)指令。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,若所述操作為寫數(shù)據(jù),則所述NVMe設(shè)備執(zhí)行所述操作具體包括:
所述NVMe設(shè)備在所述HOST的寄存器中獲取待寫數(shù)據(jù),并將所述待寫數(shù)據(jù)存儲在所述NVMe設(shè)備的本地內(nèi)存中;
所述NVMe設(shè)備將操作完成標(biāo)識寫入所述HOST內(nèi)的第三隊列;所述操作完成標(biāo)識指示所述操作已完成;
所述NVMe設(shè)備向所述HOST發(fā)送第預(yù)設(shè)中斷,指示所述HOST訪問所述第三隊列,確認(rèn)所述操作已完成。
6.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,若所述操作為讀數(shù)據(jù),則所述NVMe設(shè)備執(zhí)行所述操作具體包括:
所述NVMe設(shè)備接收所述HOST的讀數(shù)據(jù)請求,并將所述待讀數(shù)據(jù)發(fā)送給所述HOST;
所述NVMe設(shè)備接收所述HOST發(fā)送的第一中斷,將操作完成標(biāo)識寫入所述HOST內(nèi)的第三隊列;所述操作完成標(biāo)識指示所述操作已完成,所述第一中斷用于指示所述NVMe設(shè)備將所述操作完成標(biāo)識寫入所述HOST內(nèi)存中的第三隊列;
所述NVMe設(shè)備向所述HOST發(fā)送預(yù)設(shè)中斷,指示所述HOST訪問所述第三隊列,確認(rèn)所述操作已完成。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述NVMe設(shè)備輪詢第一隊列包括:
所述NVMe設(shè)備主動輪詢所述第一隊列;
或,所述NVMe設(shè)備接收所述HOST發(fā)送的指示信息后輪詢所述第一 隊列。
8.一種主機(jī)HOST,其特征在于,包括:
寫入單元,用于將任務(wù)指令寫入所述HOST內(nèi)存中的第一隊列中,所述任務(wù)指令指示非易失存儲快速通道NVMe設(shè)備將執(zhí)行的操作;所述NVMe設(shè)備為與所述HOST通過快速外部組件互聯(lián)PCIe總線進(jìn)行交互的外圍設(shè)備;
所述寫入單元還用于,將觸發(fā)標(biāo)識寫入所述HOST內(nèi)存中的第二隊列;所述觸發(fā)標(biāo)識代表所述HOST已確認(rèn)將與非易失存儲快速通道NVMe設(shè)備進(jìn)行交互,所述交互為所述NVMe設(shè)備執(zhí)行所述操作需要與所述HOST進(jìn)行的交互;
確認(rèn)單元,用于確認(rèn)所述操作已完成;
所述寫入單元還用于,在所述確認(rèn)單元確認(rèn)所述操作已完成時,將完成標(biāo)識寫入所述第一隊列,所述完成標(biāo)識代表所述HOST已確認(rèn)所述交互已完成。
9.根據(jù)權(quán)利要求8所述的HOST,其特征在于,所述確認(rèn)單元具體用于,
所述HOST接收所述NVMe設(shè)備發(fā)送的預(yù)設(shè)中斷,訪問所述HOST內(nèi)存中的第三隊列,檢測到操作完成標(biāo)識,則確認(rèn)所述操作已完成;
其中,所述預(yù)設(shè)中斷用于指示所述HOST訪問所述第三隊列,所述操作完成標(biāo)識指示所述操作已完成。
10.一種非易失存儲快速通道NVMe設(shè)備,其特征在于,包括:
檢測單元,用于輪詢第一隊列;所述第一隊列存儲在主機(jī)HOST的內(nèi)存中;
所述檢測單元還用于,在所述第一隊列中檢測到觸發(fā)標(biāo)識,所述觸發(fā)標(biāo)識代表所述HOST已確認(rèn)將與所述NVMe設(shè)備進(jìn)行交互;所述交互為所述NVMe設(shè)備執(zhí)行操作需要與所述HOST進(jìn)行的交互;
獲取單元,用于獲取任務(wù)指令;所述任務(wù)指令指示所述HOST將執(zhí)行的所述操作;
執(zhí)行單元,用于執(zhí)行所述操作;
所述檢測單元還用于,在所述第一隊列中檢測到完成標(biāo)識;所述完成標(biāo)識指示所述HOST已確認(rèn)與所述交互已完成,所述完成標(biāo)識是所述HOST確認(rèn)所述操作完成之后寫入所述第一隊列的。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于,所述獲取單元具體用于:訪問所述HOST內(nèi)存中的第二隊列,在所述第二隊列中獲取所述任務(wù)指令。
12.根據(jù)權(quán)利要求10或11所述的設(shè)備,其特征在于,若所述操作為寫數(shù)據(jù),則所述執(zhí)行單元具體用于:
在所述HOST的寄存器中獲取待寫數(shù)據(jù),并將所述待寫數(shù)據(jù)存儲在所述NVMe設(shè)備的本地內(nèi)存中;
將操作完成標(biāo)識寫入所述HOST內(nèi)的第三隊列;所述操作完成標(biāo)識指示所述操作已完成;
向所述HOST發(fā)送第預(yù)設(shè)中斷,指示所述HOST訪問所述第三隊列,確認(rèn)所述操作已完成。
13.根據(jù)權(quán)利要求10或11所述的設(shè)備,其特征在于,若所述操作為讀數(shù)據(jù),則所述執(zhí)行單元具體用于:
接收所述HOST的讀數(shù)據(jù)請求,并將所述待讀數(shù)據(jù)發(fā)送給所述HOST;
接收所述HOST發(fā)送的第一中斷,將操作完成標(biāo)識寫入所述HOST內(nèi)的第三隊列;所述操作完成標(biāo)識指示所述操作已完成,所述第一中斷用于指示所述NVMe設(shè)備將所述操作完成標(biāo)識寫入所述HOST內(nèi)存中的第三隊列;
向所述HOST發(fā)送預(yù)設(shè)中斷,指示所述HOST訪問所述第三隊列,確認(rèn)所述操作已完成。
14.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于,所述檢測單元具體用于,設(shè)備主動輪詢所述第一隊列;
或,接收所述HOST發(fā)送的指示信息后輪詢所述第一隊列。
15.一種物理機(jī)系統(tǒng),包括主機(jī)HOST和非易失存儲快速通道NVMe 設(shè)備,其特征在于,
所述HOST將任務(wù)指令寫入所述HOST內(nèi)存中的第一隊列中,所述任務(wù)指令指示非易失存儲快速通道NVMe設(shè)備將執(zhí)行的操作;所述NVMe設(shè)備為與所述HOST通過快速外部組件互聯(lián)PCIe總線進(jìn)行交互的外圍設(shè)備;
所述HOST將觸發(fā)標(biāo)識寫入所述HOST內(nèi)存中的第二隊列;所述觸發(fā)標(biāo)識代表所述HOST已確認(rèn)將與所述NVMe設(shè)備進(jìn)行交互,所述交互為所述NVMe設(shè)備執(zhí)行所述操作需要與所述HOST進(jìn)行的交互;
所述NVMe設(shè)備輪詢所述第二隊列;
所述NVMe設(shè)備在所述第二隊列中檢測到觸發(fā)標(biāo)識;
所述NVMe設(shè)備在所述第一隊列中獲取任務(wù)指令;
所述NVMe設(shè)備執(zhí)行所述操作;
所述HOST獲取所述操作完成標(biāo)識,確認(rèn)所述操作已完成,則將完成標(biāo)識寫入所述第二隊列;所述操作完成標(biāo)識指示所述操作已完成;所述完成標(biāo)識代表所述HOST已確認(rèn)所述交互已完成;
所述NVMe設(shè)備在所述第二隊列中檢測到完成標(biāo)識。