高完整性dma操作的系統和方法
【專利摘要】本發明涉及高完整性DMA操作的系統和方法。用于直接存儲器訪問(DMA)操作的系統和方法提供用于:接收DMA請求程序;分派被接收的DMA請求程序到多個DMA引擎中的一個或多個用于處理被接收的DMA請求程序;并且如果被接收的DMA請求程序中的一個是安全請求程序,分派安全請求程序到多個DMA引擎中的至少兩個DMA引擎用于處理安全請求程序,禁用用于耦合至少兩個DMA引擎中的至少一個DMA引擎到存儲器的總線接口,比較至少兩個DMA引擎的輸出,并且如果至少兩個DMA引擎的輸出的比較彼此不同,產生錯誤消息。
【專利說明】高完整性DMA操作的系統和方法
【技術領域】
[0001]本公開的某些實施例涉及在計算系統和方法中提供診斷覆蓋。更具體地,本公開的某些實施例涉及高完整性直接存儲器訪問操作用于對通過計算系統和方法執行的安全苛求操作的高診斷故障覆蓋。
【背景技術】
[0002]現代汽車電子控制單元(ECU)正在集成越來越多的功能性。該趨勢被實現高集成水平的技術縮放驅動,并且被迫使減少每輛汽車的ECU總數量的高度競爭的汽車工業的成本考慮驅動。電子器件在提供先進的駕駛輔助功能中起到越來越重要的作用,并且特別地,阻止可能減少致命受傷數量的危險。
[0003]在安全應用的情境下,為極其重要的功能服務的ECU的微控制器已被開發具有冗余硬件結構。盡管現在的亞微米技術(65nm和低于65nm)可以實現為實施冗余硬件結構所要求的區域開銷,但是功耗是在實際中實現這樣的冗余結構的主要限制因素。硬件結構冗余不僅是CPU的當前發展水平,而且有時被延伸到被中斷控制器和直接存儲器訪問(DMA)引擎執行的功能。DMA引擎在許多安全應用中起到關鍵的作用,尤其是在安全相關的信息的獲取中。
[0004]通過以下方式提供DMA硬件資源的最佳使用將是期望的:利用現有的硬件冗余以提供按需高完整性操作模式,其中若干DMA資源可能不僅被同時使用,而且其數據資源可以在DMA水平被校驗。
【發明內容】
[0005]依據本公開的實施例,用于直接存儲器訪問(DMA)操作的方法包括:接收DMA請求程序;分派被接收的DMA請求程序到多個DMA引擎中的一個或多個用于處理被接收的DMA請求程序;并且如果被接收的DMA請求程序中的一個是安全請求程序,分派所述安全請求程序到多個DMA引擎中的至少兩個DMA引擎用于處理所述安全請求程序,禁用耦合到所述至少兩個DMA引擎的至少一個DMA引擎的總線接口,并且比較所述至少兩個DMA引擎的輸出。所述多個DMA引擎可以被耦合到所述總線接口,并且所述總線接口可以被耦合到存儲器中的一個。
[0006]在一種實施例中,所述方法包括:如果所述至少兩個DMA引擎的所述輸出的所述比較彼此不同,產生錯誤消息;并且隨后基于所述錯誤消息向與所述DMA操作關聯(例如,采用所述DMA操作)的應用的用戶報警應用失效。
[0007]依據本公開的另一種實施例,系統包括:至少一個處理器內核,耦合到所述至少一個處理器內核的至少一個存儲器,和直接存儲器訪問(DMA)單元。
[0008]在一種實施例中,所述DMA單元包括耦合到至少一個存儲器的總線接口,耦合到所述總線接口的多個DMA引擎,耦合到所述多個DMA引擎的請求程序仲裁單元,耦合到所述請求程序仲裁單元、所述多個DMA引擎和所述總線接口的同步單元,和耦合到所述同步單元和所述多個DMA引擎的DMA比較器。
[0009]在進一步的實施例中,所述請求程序仲裁單元被配置成接收DMA請求程序并且分派被接收的DMA請求程序到所述多個DMA引擎中的一個或多個用于處理被接收的DMA請求程序,并且所述同步單元被配置成檢測被接收的DMA請求程序中的一個是否是安全請求程序。如果被接收的DMA請求程序中的一個是安全請求程序,所述同步單元被進一步配置成選擇所述多個DMA引擎中的至少兩個DMA引擎用于處理所述安全請求程序,禁用耦合到所述至少兩個DMA引擎的至少一個DMA引擎的所述總線接口,并且使所述DMA比較器能夠比較所述至少兩個DMA引擎的所述輸出。
[0010]依據另一種實施例,所述系統進一步包括一個或多個外圍器件,并且所述DMA請求程序包括使所述多個DMA引擎中的所述一個或多個能夠在所述一個或多個外圍器件和所述至少一個存儲器之間或在所述至少一個存儲器之間執行數據傳送的參數。
[0011]在另一種實施例中,所述DMA比較器被配置成如果所述至少兩個DMA引擎的所述輸出彼此不同則產生錯誤消息,并且所述至少一個處理器內核被配置成基于所述錯誤消息向正在被所述至少一個處理器內核執行的應用的用戶報警應用失效。
[0012]本公開的這些和其它優勢、方面和新穎的特征以及其圖解的實施例的細節,從下面的描述和繪圖將會被更完全地理解。
【專利附圖】
【附圖說明】
[0013]圖1是典型的DMA體系結構的示意圖;
圖2是依據本公開的實施例的用于雙模式DMA操作的系統的示意圖;并且圖3是依據本公開的實施例的圖解在圖中2中的DMA單元的示意圖。
【具體實施方式】
[0014]計算機、微控制器和微處理器通常包含允許在這些器件之內的某些硬件組件訪問器件的存儲器用于數據讀取和寫入任務的直接存儲器訪問(DMA)。DMA使這些任務能夠在沒有不得不直接訪問中央處理單元(CPU)的硬件情況下發生。比如當CPU不能跟上數據傳送的速率時,或在CPU在等待相對緩慢的I/O數據傳送的同時可以另外執行有用的工作的情況下,DMA是有用的。
[0015]圖1是典型的DMA體系結構100的示意圖。DMA體系結構100的組件包含請求程序仲裁單元102、一個或多個DMA引擎104、DMA配置單元106和總線接口 108。
[0016]DMA體系結構100被配置成執行DMA存儲器操作,諸如提供DMA體系結構100被嵌入其中的系統的硬件組件對存儲器的直接讀取-寫入訪問(未被示出)。在操作中,DMA請求程序可以經由請求程序仲裁單元102要么靜態地要么動態地被分派到DMA引擎104中的每一個。DMA引擎104中的每一個被連接到片上總線110以能夠加載(即讀取)和存儲(即寫入)請求操作。總線接口 108仲裁到片上總線110的加載/存儲請求。DMA配置單元106通常在碼初始化期間配置DMA引擎104。比如,DMA引擎104可以被配置成與執行其它基本處理任務的處理內核(未被示出)并行移動數據。
[0017]圖2是依據本公開的實施例的用于雙模式DMA操作的系統200的示意圖。系統200包含也可能被稱為處理器內核的中央處理器單元(CPU)202,內部存儲器204,直接存儲器訪問(DMA)單元206,任選內部外圍設備208,任選外部外圍設備210,外部存儲器212,第一總線214,和第二總線216。本公開的范圍覆蓋了任何數量的內部/外部存儲器,任何數量的內部/外部外圍設備,任何數量的處理器內核,和任何數量的數據/地址/控制總線。在本公開的一種實施例中,系統200是可以包含對本領域技術人員所知的其它傳統的微控制器硬件組件(未被示出)的微控制器。在其它實施例中,系統200可以是計算機或微處理器。
[0018]在一種實施例中,內部存儲器204可以包括在CPU 202內部的存儲器(例如,CPU寄存器),和/或可能包括不同尺寸、訪問速度和操作速度的存儲器,這取決于存儲器的類型和存儲器被離處理器內核202物理地定位的距離。任選外圍設備208和210可以代表額外的計算和控制系統典型的硬件組件。如圖解的,任選外圍設備和存儲器可以是在這些系統外部或內部。如對本領域技術人員所知的,系統200的總線可以運送控制、數據和地址信號。
[0019]在操作中,并且依據本公開的一種實施例,處理器內核202可以指導DMA單元206以執行在內部存儲器,外部存儲器和任選外圍設備之間的數據傳送。以這種方式,DMA單元206可以緩解執行這些數據傳送的處理器內核202。在本公開的另一種實施例中,DMA單元206可以被配置成在標準操作模式和高完整性(即冗余)操作模式之間切換。
[0020]在標準操作模式中,DMA單元206比如響應于來自CPU 202的命令和/或來自任選外圍設備208和/或210中的一個或多個的命令而從存儲器204和/或212接收一個或多個DMA請求程序。在另一種實施例中,DMA單元206直接從CPU 202和/或從任選外圍設備208和/或210中的一個或多個接收一個或多個DMA請求程序。
[0021]在一種實施例中,DMA請求程序可以包含以下中的一個或多個:源存儲器位置和/或目標存儲器位置的地址,隨后的請求程序的地址,控制信息(例如,使能請求,CPU中斷、和內核處理器任務的維數(1D、2D、3D)),每數據傳送的字節數,和數據傳送(例如,讀取(加載)或寫入(存儲)請求)的方向性。DMA單元206然后在內部存儲器204,外部存儲器212,內部外圍設備208,外部外圍設備210,和/或任何系統組件的寄存器(例如,CPU 202的寄存器)的任何組合之間基于被接收的DMA請求程序來執行數據傳送。
[0022]DMA單元206也可以接收一個或多個稱為安全請求程序的DMA請求程序。在本公開的一種實施例中,安全請求程序被DMA單元206的接收觸發DMA單元206以操作在高完整性(即冗余)操作模式中。比如,如果DMA單元206正在初始地操作在標準操作模式中,DMA請求程序(其為安全請求程序)的接收觸發DMA請求程序206以切換到冗余操作模式。
[0023]在本公開的一種實施例中,DMA單元206操作在冗余操作模式中以便提供在安全苛求任務由CPU 202和/或外圍設備208和210中的一個或多個執行期間產生或使用的安全苛求信息(例如,數據)的高診斷故障覆蓋。冗余操作模式結合圖3在下面進一步被更加詳細地描述。
[0024]圖3是依據本公開的實施例的圖解在圖中2中的DMA單元206的示意圖。DMA單元206包含請求程序仲裁單元302、一個或多個DMA引擎304、DMA配置單元306、總線接口308、同步單元310、和DMA比較器312。請求程序仲裁單元302、一個或多個DMA引擎304和DMA配置單元306可以與圖1中圖解的相應的組件類似。
[0025]在一種實施例中,總線接口 308包括獨立地可控制的DMA引擎接口。比如,總線接口 308包含三個獨立地可控制的DMA引擎接口用于與三個DMA引擎304耦合。為了圖解的簡化,圖3圖解了這些接口中的僅一個(即用于獨立地與第二 DMA引擎304耦合的總線接口308的第二 DMA引擎接口 314)。
[0026]在標準操作模式中,請求程序仲裁單元302接收一個或多個DMA請求程序。請求程序仲裁單元302比如響應于來自CPU 202 (圖2)的命令和/或來自任選外圍設備208和/或210中的一個或多個的命令而從存儲器204和/或212 (圖2)接收一個或多個DMA請求程序。在另一種實施例中,請求程序仲裁單元302直接從CPU 202 (圖2)和/或從任選外圍設備208和/或210 (圖2)中的一個或多個接收一個或多個DMA請求程序。
[0027]請求程序仲裁單元302被配置成仲裁被接收的DMA請求程序到DMA引擎304中的一個或多個。在一種實施例中,DMA引擎中的一個或多個可以包含地址總線(未被示出)、數據總線(未被示出)以及控制寄存器(未被示出),如對本領域技術人員所知的。DMA引擎304可以請求訪問任何存儲器資源,不管存儲器資源是在DMA單元206被集成在其中的任何系統(例如,系統200,圖2)內部還是外部或者不管存儲器資源是否與系統的其它硬件組件(諸如外圍設備208和210 (圖2))關聯或只被其它硬件組件可訪問。DMA引擎304也可以產生中斷(以向內核處理器(例如,CPU 202,圖2)發出信號:比如,數據傳送完成),而沒有要求處理器另外輔助數據傳送。
[0028]在一種實施例中,DMA引擎304中的一個或多個基于被接收的DMA請求程序產生讀取和/或寫入請求(即加載/存儲請求),并且總線接口 308然后仲裁DMA引擎加載/存儲請求到片上總線214和/或216。片上總線是耦合DMA單元206到其它組件(例如,存儲器,CPU,和/或外圍設備)或到用于經由外部總線線路耦合到外部組件的I/O端口(未被示出)的控制/地址/數據總線。
[0029]在一種實施例中,DMA引擎304中的一個或多個被同時操作。在另一種實施例中,一次只有一個DMA引擎304被操作。在另一種實施例中,每個DMA引擎304可以與單個外圍器件或單個處理器內核關聯。在又一種實施例中,多個DMA引擎304可以與單個處理器內核關聯。
[0030]在本公開的另一種實施例中,DMA單元206被配置成當安全苛求任務被執行以及安全苛求數據被產生或使用時在冗余(即高完整性)模式中執行DMA操作。在冗余操作模式的一種實施例中,安全苛求數據的診斷覆蓋被定義為遵循用于安全微控制器的ISO標準和/或用于工業微控制器的IEC標準。然而,本公開的范圍覆蓋了用于數據的診斷覆蓋的其它類型的地區性和/或全球性標準,不管這樣的數據是否與安全苛求任務關聯。
[0031]在本公開的一種實施例中,DMA單元206可以適用于在安全請求程序被請求程序仲裁單元302接收時從在標準(即非冗余)模式中執行DMA操作切換到在冗余模式中執行DMA操作。安全請求程序可以是包括DMA請求程序的參數中的一個或多個的特殊類型的DMA請求程序,并且額外地包括通知DMA單元206通過外圍設備208和/或210和/或處理器內核202中的一個或多個將執行安全苛求任務的信息。安全苛求任務包含基于接收的一個或多個安全請求程序的在內部存儲器204、外部存儲器212、內部外圍設備208、外部外圍設備210和/或系統組件中的任何的寄存器(例如,CPU 202的寄存器)的任何組合之間的安全苛求數據的傳送。
[0032]作為操作的示例實施例,DMA單元206可以初始地正在操作在標準操作模式中,接收DMA請求程序,如上所述。然而,稱為安全請求程序的DMA請求程序被請求程序仲裁單元302的接收觸發DMA單元206從標準操作模式切換到高完整性(冗余)操作模式。在安全請求程序接收時,請求程序仲裁單元302分派安全請求程序到第一 DMA引擎304用于處理。第一 DMA引擎304可以是DMA引擎中的任何一個,或它可以是被預定義要被分派安全請求程序的DMA引擎。在一種實施例中,請求程序仲裁單元302分派安全請求程序到當前閑置的DMA引擎,并且在另一種實施例中,請求程序仲裁單元302分派安全請求程序到與可以指示比如故障寄存器或其它硬件組件的錯誤信號的最少數量關聯的DMA引擎。為處理接收的安全請求程序而分派的第一 DMA引擎304也被稱為主DMA引擎。在一種實施例中,在安全請求程序接收時,主DMA引擎識別安全苛求任務正懸而未決并且因而等待來自同步單元310的啟動信號。在等待啟動信號中,主DMA引擎可能要么終止任何當前運轉的數據傳送要么完成任何當前運轉的數據傳送。
[0033]在另一種實施例中,請求程序仲裁單元302發送與接收的安全請求程序關聯的同步單元310安全請求程序信息,其對同步單元310指示請求程序仲裁單元302已接收安全請求程序并且已分派安全請求程序到特定的DMA引擎。
[0034]在本公開的一種實施例中,在安全請求程序信息接收時或在安全請求程序經由請求程序仲裁單元302接收時,同步單元310發送確認請求到其它DMA引擎304。其它DMA引擎304被配置成響應于接收的具有確認消息的確認請求。在一種實施例中,同步單元310選擇(用于確認該確認請求的其它DMA引擎304中的)第一 DMA引擎將是DMA校驗器引擎。比如,作為示例性實施例,如果同步單元310從第二 DMA引擎304接收第一確認消息,同步單元310指派第二 DMA引擎304作為DMA校驗器引擎。
[0035]在從其它DMA引擎304中的一個接收到第一確認消息之后,同步單元310使用控制接口鎖住DMA比較器312以比較主DMA引擎的輸出和校驗器DMA引擎的輸出。在本公開的一種實施例中,DMA比較器312,一旦被鎖住,就被配置成在周期的基礎上將主DMA引擎的輸出與校驗器DMA引擎的輸出相比較(例如,在每個時鐘周期比較主DMA引擎和校驗器引擎產生的輸出,或換句話說,在鎖步中操作DMA引擎)。如果DMA比較器312確定主DMA的輸出和校驗器DMA的輸出在時鐘周期中的任何一個彼此都不相同,那么DMA比較器312產生錯誤消息。
[0036]在另一種實施例中,DMA比較器312只在輸出的比較是不相同的時鐘周期的數量比預定義或可編程的閾值大時產生錯誤消息。在一種實施例中,錯誤消息可以是錯誤消息中斷,所述錯誤消息中斷在被相應的內核處理器(或任何其它系統硬件/軟件組件(未被示出)或外圍器件硬件/軟件組件(未被示出))接收時使內核處理器(和/或一個或多個其它硬件/軟件組件)能夠比如要么向外圍器件的用戶或嵌入式應用的用戶指示警告報警,要么關斷外圍器件或嵌入式應用的操作,特別是當所述器件和/或嵌入式應用與其失效可能導致受傷或死亡的安全苛求任務關聯時。其它系統硬件/軟件組件(未被示出)或外圍器件硬件/軟件組件(未被示出)可以比如包括能夠被配置成對錯誤做出反應并且因此將系統帶到故障安全狀態的組件。
[0037]在本公開的一種實施例中,同步單元310使主DMA引擎和校驗器DMA引擎能夠在相同的一個或多個安全請求程序上同步地操作(例如,在鎖步中在相同的DMA通道配置上操作)。
[0038]在一種實施例中,當DMA單元206正在操作在冗余模式中(即在鎖步DMA引擎操作中),同步單元310禁用DMA校驗器引擎總線接口 314 (耦合到DMA校驗器引擎的輸出),以使得DMA校驗器引擎總線接口 314不接收任何來自DMA校驗器引擎的輸出。在鎖步DMA引擎操作的一種實施例中,同步單元310通過禁用到校驗器DMA引擎和其它剩余DMA引擎的個別DMA引擎總線接口而配置將總線接口 308配置成只接收來自DMA主引擎的輸出。
[0039]在冗余操作模式期間,盡管DMA比較器312工作在鎖步中(即在相同的一個或多個安全請求程序上同步地和周期地操作),但是總線接口 308不在鎖步中工作。因而,在本公開的一種實施例中,任何從DMA主引擎經由片上總線214和316發送的數據/地址/控制信號被錯誤檢測碼監視以確保從DMA主引擎到內部存儲器或外部存儲器或與外圍設備關聯的存儲器的路徑被保護。本公開的范圍覆蓋了對本領域技術人員所知的任何傳統的錯誤檢測碼,諸如循環冗余校驗(CRC)。
[0040]本公開的一種實施例中,當在接收一個或多個安全請求程序之后,DMA單元206接收不是安全請求程序的DMA請求程序時,同步單元310在檢測到被接收的DMA請求程序時釋放鎖步DMA引擎操作并且啟用禁用的DMA校驗器引擎總線接口 314,由此有效地將DMA單元206配置成操作在標準操作模式中。
[0041]在本公開的另一種實施例中,并且如在圖3中圖解的,同步單元310可能任選地包括測試接口 318。在一種實施例中,測試接口 318經由第一總線214被耦合到CPU 202。測試接口被配置成接收測試控制消息。在一種實施例中,在測試控制消息接收時,同步單元310將DMA單元206從標準操作模式切換到高完整性(冗余)操作模式。同步單元310然后分派第一 DMA引擎304作為主引擎,并且分派第二 DMA引擎作為校驗器引擎,或在另一種實施例中,同步單元310依據測試控制消息的內容分派主引擎和校驗器引擎。如上所述,DMA單元206然后操作在冗余操作模式中。
[0042]任選測試接口 318和測試控制消息使系統200的用戶能夠驗證是否任何兩個DMA弓I擎之間的預期的同步在任何給定時間能夠有效地檢測錯誤并且傳播錯誤消息。
[0043]雖然本公開關于某些實施例已被描述,但是本領域技術人員將理解的是,可以做出各種變化并且可以用等價物替代,而沒有脫離本公開的范圍。此外,可以做出許多修改以使特定的情形或材料適應于本公開的教導,而沒有脫離本公開的范圍。因此,意欲是本公開不局限于公開的特定實施例,而是本公開將包含落在所附權利要求的范圍之內的所有實施例。
【權利要求】
1.用于直接存儲器訪問(DMA)操作的方法,包括: 接收DMA請求程序; 分派被接收的DMA請求程序到多個DMA引擎中的一個或多個用于處理被接收的DMA請求程序,其中所述多個DMA引擎被耦合到總線接口,并且其中所述總線接口被耦合到一個或多個存儲器單元;并且 如果被接收的DMA請求程序中的一個是安全請求程序: 分派所述安全請求程序到所述多個DMA引擎中的至少兩個DMA引擎用于處理所述安全請求程序, 禁用耦合到所述至少兩個DMA引擎中的至少一個DMA引擎的所述總線接口,并且 比較所述至少兩個DMA引擎的輸出。
2.依據權利要求1的所述方法,其中分派所述安全請求程序到至少兩個DMA引擎包括選擇多個DMA引擎中的第一 DMA引擎作為主DMA引擎用于處理所述安全請求程序并且選擇所述多個DMA引擎中的第二 DMA引擎作為校驗器DMA引擎用于處理所述安全請求程序,其中禁用所述總線接口包括禁用所述校驗器DMA引擎的所述總線接口,并且其中比較所述輸出包括比較所述主DMA引擎和所述校驗器DMA引擎的所述輸出。
3.依據權利要求2的所述方法,進一步包括,如果所述主DMA引擎和所述校驗器DMA引擎的所述輸出的所述比較彼此不同,產生錯誤消息。
4.依據權利要求3的所述方法,進一步包括基于所述錯誤消息向與所述DMA操作關聯的應用的用戶報警應用失效。
5.依據權利要求2的所述方法,進一步包括同步所述主DMA引擎和所述校驗器DMA引擎用于同步地處理所述安全請求程序,并且其中比較所述輸出包括在每個時鐘周期比較所述主DMA引擎和所述校驗器DMA引擎的所述輸出。
6.依據權利要求1的所述方法,其中所述DMA請求程序包括使所述多個DMA引擎中的一個或多個能夠在存儲器之間執行數據傳送的一個或多個參數。
7.系統,包括: 至少一個處理器內核; 至少一個存儲器,耦合到所述至少一個處理器內核;和 直接存儲器訪問(DMA)單元,包括: 總線接口,耦合到所述至少一個存儲器; 多個DMA引擎,耦合到所述總線接口 ; 請求程序仲裁單元,耦合到所述多個DMA引擎,所述請求程序仲裁單元配置成接收DMA請求程序并且分派被接收的DMA請求程序到所述DMA引擎中的一個或多個用于處理被接收的DMA請求程序;同步單元,耦合到所述請求程序仲裁單元、所述多個DMA引擎和所述總線接口 ;以及DMA比較器,耦合到所述同步單元和所述多個DMA引擎,其中所述同步單元被配置成:檢測是否被接收的DMA請求程序中的一個是安全請求程序;并且如果被接收的DMA請求程序中的一個是安全請求程序,選擇所述多個DMA引擎中的至少兩個DMA引擎用于處理所述安全請求程序,禁用耦合到所述至少兩個DMA引擎中的至少一個DMA引擎的所述總線接口,并且使所述DMA比較器能夠比較所述至少兩個DMA引擎的輸出。
8.依據權利要求7的所述系統,其中所述同步單元被配置成選擇多個DMA引擎中的第一 DMA引擎作為主DMA引擎用于處理所述安全請求程序,選擇所述多個DMA引擎中的第二DMA引擎作為校驗器DMA引擎用于處理所述安全請求程序,禁用所述校驗器DMA引擎的所述總線接口,并且使所述DMA比較器能夠比較所述主DMA引擎和所述校驗器DMA引擎的所述輸出。
9.依據權利要求8的所述系統,其中所述DMA比較器被配置成如果所述主DMA引擎和所述校驗器DMA引擎的所述輸出彼此不同則產生錯誤消息。
10.依據權利要求9的所述系統,其中所述至少一個處理器內核被配置成基于所述錯誤消息向正在被所述至少一個處理器內核執行的應用的用戶報警應用失效。
11.依據權利要求8的所述系統,其中所述同步單元被配置成同步所述主DMA引擎和所述校驗器DMA引擎用于同步地處理所述安全請求程序,并且其中所述DMA比較器被配置成在每個時鐘周期比較所述主DMA引擎和所述校驗器DMA引擎的所述輸出。
12.依據權利要求7的所述系統,其中所述DMA請求程序包括使所述多個DMA引擎中的一個或多個能夠執行與所述至少一個存儲器之間的數據傳送的一個或多個參數。
13.依據權利要求7的所述系統,其中所述系統進一步包括一個或多個外圍器件,并且所述DMA請求程序包括使所述多個DMA引擎中的一個或多個能夠在所述一個或多個外圍器件和所述至少一個存儲器之間執行數據傳送的參數。
14.依據權利要求7的所述系統,其中所述至少一個處理器內核、所述至少一個存儲器和所述DMA單元包括微控制器的組件。
15.系統,包括: 用于接收DMA請求程序的裝置; 用于分派被接收的DMA請求程序到多個DMA引擎中的一個或多個用于處理被接收的DMA請求程序的裝置,其中所述多個DMA引擎被耦合到總線接口,并且其中所述總線接口被耦合到一個或多個存儲器單元;以及 如果被接收的DMA請求程序中的一個是安全請求程序: 用于分派所述安全請求程序到所述多個DMA引擎中的至少兩個DMA引擎用于處理所述安全請求程序的裝置, 用于禁用耦合到所述至少兩個DMA引擎中的至少一個DMA引擎的所述總線接口的裝置,和 用于比較所述至少兩個DMA引擎的所述輸出的裝置。
16.依據權利要求15的所述系統,其中用于分派所述安全請求程序到至少兩個DMA引擎的裝置包括用于選擇多個DMA引擎中的第一 DMA引擎作為主DMA引擎用于處理所述安全請求程序的裝置以及用于選擇所述多個DMA引擎中的第二 DMA引擎作為校驗器DMA引擎用于處理所述安全請求程序的裝置,其中用于禁用所述總線接口的裝置包括用于禁用所述校驗器DMA引擎的所述總線接口的裝置,并且其中用于比較所述輸出的裝置包括用于比較所述主DMA引擎和所述校驗器DMA引擎的所述輸出的裝置。
17.依據權利要求16的所述系統,進一步包括用于如果所述主DMA引擎和所述校驗器DMA引擎的所述輸出的比較彼此不同則產生錯誤消息的裝置。
18.依據權利要求17的所述系統,進一步包括用于基于所述錯誤消息向與所述DMA操作關聯的應用的用戶報警應用失效的裝置。
19.依據權利要求16的所述系統,進一步包括用于同步所述主DMA引擎和所述校驗器DMA引擎以同步地處理所述安全請求程序的裝置,并且其中用于比較所述輸出的裝置包括用于在每個時鐘周期比較所述主DMA引擎和所述校驗器DMA引擎的所述輸出的裝置。
20.依據權利要求15的所述系統,其中所述DMA請求程序包括使所述多個DMA引擎中的所述一個或多個能夠在存儲器之間執行數據傳送的一個或多個參數。
【文檔編號】G06F11/36GK104346306SQ201410376666
【公開日】2015年2月11日 申請日期:2014年8月1日 優先權日:2013年8月2日
【發明者】S.科塔姆, A.維萊拉 申請人:英飛凌科技股份有限公司