最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

NVMe設(shè)備控制器調(diào)試方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品與流程

文檔序號:41954252發(fā)布日期:2025-05-16 14:19閱讀:5來源:國知局
NVMe設(shè)備控制器調(diào)試方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品與流程

本發(fā)明涉及存儲,特別涉及一種nvme設(shè)備控制器調(diào)試方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品。


背景技術(shù):

1、隨著嵌入式系統(tǒng)和存儲技術(shù)的發(fā)展,調(diào)試需求日益增加。傳統(tǒng)的jtag(joint?testaction?group,聯(lián)合測試行動小組)調(diào)試接口在高速存儲器和復(fù)雜系統(tǒng)中面臨挑戰(zhàn)。

2、傳統(tǒng)nvme(non?volatile?memory?express,非易失性內(nèi)存主機控制器接口規(guī)范)設(shè)備的soc(system?on?chip,片上系統(tǒng))調(diào)試示意圖如圖1所示,jtag-dp(jtag?debugport,jtag調(diào)試端口)是arm?coresight調(diào)試架構(gòu)中的一個接口,提供5針標(biāo)準(zhǔn)jtag接口,用于連接外部調(diào)試器與soc。jtag-dp允許調(diào)試器通過發(fā)送特定的jtag指令序列來控制和監(jiān)視目標(biāo)設(shè)備的內(nèi)部狀態(tài)。ahb-ap(advanced?high-performance?bus?access?port,高級高性能總線訪問端口)是coresight架構(gòu)中用于訪問掛載在ahb系統(tǒng)總線上的設(shè)備的接口,它使得調(diào)試器可以通過內(nèi)存映射的方式訪問soc內(nèi)部的cpu內(nèi)存和寄存器。調(diào)試器通過jtag-dp連接到soc,然后通過dap(debug?access?port,調(diào)試訪問端口)的控制,將調(diào)試請求轉(zhuǎn)化為對ahb-ap的訪問,ahb-ap再將這些訪問轉(zhuǎn)化為ahb總線訪問,以訪問處理器(如cpu)內(nèi)部資源,達到測試和調(diào)試的目的。

3、然而傳統(tǒng)jtag調(diào)試方法中的jtag接口需要至少4個引腳,這占用了較多的i/o(input/output,輸入/輸出)資源和板級空間。另外jtag調(diào)試在穩(wěn)定性和數(shù)據(jù)傳輸速度等方面均存在一定的限制,導(dǎo)致調(diào)試效率較低。

4、綜上,如何更高效的實現(xiàn)對nvme設(shè)備控制器的jtag調(diào)試功能,以提高調(diào)試效率是目前有待解決的問題。


技術(shù)實現(xiàn)思路

1、有鑒于此,本發(fā)明的目的在于提供一種nvme設(shè)備控制器調(diào)試方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品,能夠更高效的實現(xiàn)對nvme設(shè)備控制器的jtag調(diào)試功能,以提高調(diào)試效率。其具體方案如下:

2、第一方面,本技術(shù)公開了一種nvme設(shè)備控制器調(diào)試方法,應(yīng)用于目標(biāo)nvme設(shè)備控制器,包括:

3、在初始化過程中啟用控制器內(nèi)存緩沖區(qū),并設(shè)置控制器內(nèi)存緩沖區(qū)的屬性參數(shù),以便當(dāng)目標(biāo)主機通過總線枚舉目標(biāo)nvme設(shè)備控制器時,基于屬性參數(shù)將控制器內(nèi)存緩沖區(qū)映射到目標(biāo)主機的內(nèi)存空間,以得到控制器內(nèi)存緩沖區(qū)在內(nèi)存空間中的虛擬映射地址;

4、獲取目標(biāo)主機通過訪問虛擬映射地址下發(fā)的目標(biāo)操作命令,并解析目標(biāo)操作命令以得到解析后數(shù)據(jù);其中,目標(biāo)操作命令為用于對目標(biāo)nvme設(shè)備控制器執(zhí)行jtag調(diào)試操作的命令;

5、利用tap狀態(tài)機將解析后數(shù)據(jù)轉(zhuǎn)換為jtag信號,以基于jtag信號訪問本地片上系統(tǒng)中的處理器資源以完成jtag調(diào)試操作。

6、可選的,目標(biāo)nvme設(shè)備控制器本地設(shè)置有控制器能力寄存器;

7、相應(yīng)的,在初始化過程中啟用控制器內(nèi)存緩沖區(qū),包括:

8、將控制器能力寄存器中用于指示支持控制器內(nèi)存緩沖區(qū)功能的目標(biāo)字段設(shè)置為目標(biāo)數(shù)值,以啟用控制器內(nèi)存緩沖區(qū)。

9、可選的,目標(biāo)主機通過總線枚舉任一nvme設(shè)備控制器的過程,包括:

10、目標(biāo)主機通過總線獲取任一nvme設(shè)備控制器中的控制器能力寄存器中的目標(biāo)字段,并判斷目標(biāo)字段是否為目標(biāo)數(shù)值;

11、若目標(biāo)字段為目標(biāo)數(shù)值,則獲取任一nvme設(shè)備控制器中的控制器內(nèi)存緩沖區(qū)的屬性參數(shù),以基于屬性參數(shù)將控制器內(nèi)存緩沖區(qū)映射到本地的內(nèi)存空間。

12、可選的,目標(biāo)主機的初始化過程包括:

13、通過總線枚舉各nvme設(shè)備控制器,以獲取各nvme設(shè)備控制器中控制器內(nèi)存緩沖區(qū)的屬性參數(shù);

14、初始化nvme驅(qū)動接口,并配置目標(biāo)寄存器以啟用控制器內(nèi)存緩沖區(qū)的功能;其中,目標(biāo)寄存器用于控制和報告控制器內(nèi)存緩沖區(qū)的狀態(tài)。

15、可選的,獲取目標(biāo)主機通過訪問虛擬映射地址下發(fā)的目標(biāo)操作命令,包括:

16、通過目標(biāo)主機中的調(diào)試工具向nvme驅(qū)動接口發(fā)送調(diào)試請求;

17、獲取nvme驅(qū)動接口下發(fā)的目標(biāo)操作命令;目標(biāo)操作命令為nvme驅(qū)動接口將調(diào)試請求轉(zhuǎn)化為對虛擬映射地址的讀寫操作后得到的目標(biāo)操作命令。

18、可選的,目標(biāo)nvme設(shè)備控制器本地設(shè)置有用于配置控制器內(nèi)存緩沖區(qū)的大小信息的第一寄存器和用于指定控制器內(nèi)存緩沖區(qū)在目標(biāo)主機的內(nèi)存空間中的位置信息的第二寄存器;

19、相應(yīng)的,設(shè)置控制器內(nèi)存緩沖區(qū)的屬性參數(shù),包括:

20、基于第一預(yù)設(shè)數(shù)值對第一寄存器的值進行配置,以得到控制器內(nèi)存緩沖區(qū)的大小信息;

21、基于第二預(yù)設(shè)數(shù)值對第二寄存器的值進行配置,以得到控制器內(nèi)存緩沖區(qū)在目標(biāo)主機的內(nèi)存空間中的位置信息。

22、可選的,本技術(shù)的nvme設(shè)備控制器調(diào)試方法,還包括:

23、通過目標(biāo)主機獲取第一寄存器的當(dāng)前第一數(shù)值和第二寄存器的當(dāng)前第二數(shù)值,并基于當(dāng)前第一數(shù)值在本地內(nèi)存空間中分配相應(yīng)的內(nèi)存大小,以及基于當(dāng)前第二數(shù)值確定控制器內(nèi)存緩沖區(qū)在本地內(nèi)存空間中的物理地址,以根據(jù)內(nèi)存大小和物理地址得到控制器內(nèi)存緩沖區(qū)在本地內(nèi)存空間中的虛擬映射地址。

24、可選的,第二預(yù)設(shè)數(shù)值包括基址寄存器字段和偏移地址字段;

25、相應(yīng)的,基于當(dāng)前第二數(shù)值確定控制器內(nèi)存緩沖區(qū)在本地內(nèi)存空間中的物理地址,包括:

26、基于基址寄存器字段在本地確定出對應(yīng)的基地址寄存器;

27、基于基地址寄存器和偏移地址字段表示的目標(biāo)偏移地址確定控制器內(nèi)存緩沖區(qū)在本地內(nèi)存空間中的物理地址。

28、可選的,虛擬映射地址包括命令寄存器和數(shù)據(jù)寄存器;

29、相應(yīng)的,獲取目標(biāo)主機通過訪問虛擬映射地址下發(fā)的目標(biāo)操作命令,包括:

30、獲取目標(biāo)主機向命令寄存器和數(shù)據(jù)寄存器分別寫入的數(shù)據(jù),以得到目標(biāo)操作命令。

31、可選的,目標(biāo)操作命令包括命令類型和數(shù)據(jù)信號;

32、相應(yīng)的,獲取目標(biāo)主機向命令寄存器和數(shù)據(jù)寄存器分別寫入的數(shù)據(jù),以得到目標(biāo)操作命令,包括:

33、獲取目標(biāo)主機向命令寄存器寫入的命令類型;其中,命令類型為讀命令類型或?qū)懨铑愋停?/p>

34、獲取目標(biāo)主機向數(shù)據(jù)寄存器寫入的數(shù)據(jù)信號;其中,數(shù)據(jù)信號為與讀命令類型對應(yīng)的信號或與寫命令類型對應(yīng)的信號。

35、可選的,利用tap狀態(tài)機將解析后數(shù)據(jù)轉(zhuǎn)換為jtag信號,包括:

36、將tap狀態(tài)機設(shè)置為預(yù)設(shè)的初始狀態(tài);

37、根據(jù)解析后數(shù)據(jù)中的命令類型生成對應(yīng)的tms信號;

38、利用tms信號驅(qū)動tap狀態(tài)機從初始狀態(tài)開始進行狀態(tài)轉(zhuǎn)換,并逐位提取解析后數(shù)據(jù)中的數(shù)據(jù)信號以轉(zhuǎn)換為jtag信號。

39、可選的,tap狀態(tài)機的狀態(tài)包括初始狀態(tài)、空閑狀態(tài)、用于選擇數(shù)據(jù)寄存器路徑的狀態(tài)和用于選擇指令寄存器路徑的狀態(tài)。

40、可選的,虛擬映射地址還包括狀態(tài)寄存器;

41、相應(yīng)的,本技術(shù)的方法還包括:

42、在檢查到目標(biāo)主機向命令寄存器寫入數(shù)據(jù)后,將狀態(tài)寄存器設(shè)置為忙碌狀態(tài);

43、在完成jtag調(diào)試操作之后,將狀態(tài)寄存器設(shè)置為空閑狀態(tài)。

44、可選的,在完成jtag調(diào)試操作之后,還包括:

45、獲取與jtag調(diào)試操作對應(yīng)的調(diào)試結(jié)果;

46、將調(diào)試結(jié)果寫入數(shù)據(jù)寄存器,以便目標(biāo)主機從數(shù)據(jù)寄存器中讀取調(diào)試結(jié)果。

47、可選的,基于jtag信號訪問本地片上系統(tǒng)中的處理器資源以完成jtag調(diào)試操作,包括:

48、將jtag信號通過jtag調(diào)試端口連接至調(diào)試訪問端口,并通過調(diào)試訪問端口和高級高性能總線訪問端口將jtag信號轉(zhuǎn)化為對本地片上系統(tǒng)的訪問請求,以訪問本地片上系統(tǒng)中的處理器資源。

49、可選的,通過調(diào)試訪問端口和高級高性能總線訪問端口將jtag信號轉(zhuǎn)化為對本地片上系統(tǒng)的訪問請求,以訪問本地片上系統(tǒng)中的處理器資源,包括:

50、通過調(diào)試訪問端口將jtag信號轉(zhuǎn)化為對高級高性能總線訪問端口的訪問請求,并通過高級高性能總線訪問端口將訪問請求轉(zhuǎn)化為對高級高性能總線的訪問,以通過高級高性能總線獲取本地片上系統(tǒng)中的處理器資源。

51、第二方面,本技術(shù)公開了一種nvme設(shè)備控制器調(diào)試裝置,應(yīng)用于目標(biāo)nvme設(shè)備控制器,包括:

52、緩沖區(qū)映射模塊,用于在初始化過程中啟用控制器內(nèi)存緩沖區(qū),并設(shè)置控制器內(nèi)存緩沖區(qū)的屬性參數(shù),以便當(dāng)目標(biāo)主機通過總線枚舉目標(biāo)nvme設(shè)備控制器時,基于屬性參數(shù)將控制器內(nèi)存緩沖區(qū)映射到目標(biāo)主機的內(nèi)存空間,以得到控制器內(nèi)存緩沖區(qū)在內(nèi)存空間中的虛擬映射地址;

53、命令獲取模塊,用于獲取目標(biāo)主機通過訪問虛擬映射地址下發(fā)的目標(biāo)操作命令,并解析目標(biāo)操作命令以得到解析后數(shù)據(jù);其中,目標(biāo)操作命令為用于對目標(biāo)nvme設(shè)備控制器執(zhí)行jtag調(diào)試操作的命令;

54、調(diào)試模塊,用于利用tap狀態(tài)機將解析后數(shù)據(jù)轉(zhuǎn)換為jtag信號,以基于jtag信號訪問本地片上系統(tǒng)中的處理器資源以完成jtag調(diào)試操作。

55、第三方面,本技術(shù)公開了一種電子設(shè)備,包括:

56、存儲器,用于保存計算機程序;

57、處理器,用于執(zhí)行計算機程序,以實現(xiàn)前述公開的nvme設(shè)備控制器調(diào)試方法的步驟。

58、第四方面,本技術(shù)公開了一種計算機可讀存儲介質(zhì),用于存儲計算機程序;其中,計算機程序被處理器執(zhí)行時實現(xiàn)前述公開的nvme設(shè)備控制器調(diào)試方法的步驟。

59、第五方面,本技術(shù)公開了一種計算機程序產(chǎn)品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現(xiàn)前述公開的nvme設(shè)備控制器調(diào)試方法的步驟。

60、可見,本技術(shù)中的目標(biāo)nvme設(shè)備控制器在初始化過程中啟用控制器內(nèi)存緩沖區(qū),并設(shè)置控制器內(nèi)存緩沖區(qū)的屬性參數(shù),以便當(dāng)目標(biāo)主機通過總線枚舉目標(biāo)nvme設(shè)備控制器時,基于屬性參數(shù)將控制器內(nèi)存緩沖區(qū)映射到目標(biāo)主機的內(nèi)存空間,以得到控制器內(nèi)存緩沖區(qū)在內(nèi)存空間中的虛擬映射地址;獲取目標(biāo)主機通過訪問虛擬映射地址下發(fā)的目標(biāo)操作命令,并解析目標(biāo)操作命令以得到解析后數(shù)據(jù);其中,目標(biāo)操作命令為用于對目標(biāo)nvme設(shè)備控制器執(zhí)行jtag調(diào)試操作的命令;利用tap狀態(tài)機將解析后數(shù)據(jù)轉(zhuǎn)換為jtag信號,以基于jtag信號訪問本地片上系統(tǒng)中的處理器資源以完成jtag調(diào)試操作。

61、有益效果:本技術(shù)中的nvme設(shè)備控制器在初始化過程中會啟用本地的控制器內(nèi)存緩沖區(qū),并設(shè)置控制器內(nèi)存緩沖區(qū)的屬性參數(shù),以便當(dāng)目標(biāo)主機通過總線枚舉目標(biāo)nvme設(shè)備控制器時,基于屬性參數(shù)將控制器內(nèi)存緩沖區(qū)映射到目標(biāo)主機的內(nèi)存空間,以得到控制器內(nèi)存緩沖區(qū)在內(nèi)存空間中的虛擬映射地址,從而使得目標(biāo)主機能像訪問自身內(nèi)存一樣直接訪問控制器內(nèi)存緩沖區(qū),繞過了傳統(tǒng)的nvme命令隊列,減少協(xié)議棧開銷,顯著降低延遲。進一步的,獲取目標(biāo)主機通過訪問虛擬映射地址下發(fā)的用于對目標(biāo)nvme設(shè)備控制器執(zhí)行jtag調(diào)試操作的目標(biāo)操作命令,也即目標(biāo)主機可以通過內(nèi)存映射直接操作虛擬映射地址,從而減少了cpu的開銷和數(shù)據(jù)訪問的延遲,提高了主機性能,同時也減輕主機cpu負(fù)擔(dān),降低系統(tǒng)資源消耗。然后再通過對目標(biāo)操作命令進行解析得到解析后數(shù)據(jù),再通過tap狀態(tài)機將其轉(zhuǎn)換為jtag信號,使得能夠基于jtag信號訪問本地片上系統(tǒng)中的處理器資源以完成jtag調(diào)試操作。也即,本技術(shù)通過利用nvme設(shè)備控制器的控制器內(nèi)存緩沖區(qū)作為調(diào)試接口,通過將控制器內(nèi)存緩沖區(qū)映射到主機內(nèi)存空間,使得主機可以直接訪問控制器內(nèi)存緩沖區(qū),從而實現(xiàn)對nvme設(shè)備控制器的jtag調(diào)試功能,通過這種方式減少了硬件的引腳數(shù)量、提高了數(shù)據(jù)傳輸效率,從而提高了整體的調(diào)試效率。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1