TWI856442B - 直接記憶體存取異常偵測模組、方法與使用其的電子系統 - Google Patents
直接記憶體存取異常偵測模組、方法與使用其的電子系統 Download PDFInfo
- Publication number
- TWI856442B TWI856442B TW111146381A TW111146381A TWI856442B TW I856442 B TWI856442 B TW I856442B TW 111146381 A TW111146381 A TW 111146381A TW 111146381 A TW111146381 A TW 111146381A TW I856442 B TWI856442 B TW I856442B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory access
- direct memory
- abnormality detection
- signal
- logic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Abstract
一種直接記憶體存取異常偵測模組,此直接記憶體存取異常偵測模組具有一個或多個直接記憶體存取異常偵測裝置。直接記憶體存取異常偵測裝置用於偵測其電性連接的直接記憶體存取裝置是否異常。直接記憶體存取異常偵測裝置根據接收到的直接記憶體存取異常偵測致能信號與接收到的直接記憶體存取裝置的簇發信號產生直接記憶體存取裝置存取記憶體的上限位址,並且根據上限位址與接收的上限位址門限值產生直接記憶體存取停止信號給直接記憶體存取裝置與中斷旗標信號。
Description
本發明是有關於一種偵測直接記憶體存取(Direct Memory Access,DMA)裝置異常的技術,且特別是一種可以防止直接記憶存取裝置異常導致系統中斷或崩潰並可以讓軟體程式介入對異常的直接記憶存取裝置進行處置的直接記憶體存取異常偵測模組、方法與使用其的電子系統。
當遇到直接記憶體存取裝置異常時,輕者呈現直接記憶體存取陷阱(DMA trap),嚴重者甚至導致直接記憶體存取溢位(DMA overflow)而出現電子系統崩潰的現象。先前技術的解決方案是透過軟體強制限制直接記憶體存取裝置使用的緩存僅能配置在靜態隨機存取記憶體的最後頁面,且儲存有標記於靜態隨機存取記憶體的最後頁面。
透過先前技術的做法,於每次中斷程序時,電子系統會須使用處理器之算力要去檢查此標記是否被擦除,於判斷標記被擦除後,電子系統跳至直接記憶體存取溢位處理。然而,上述做法並無法同時防止多個直接記憶體存取裝置發生直接記憶體存取溢位,且上述做法是透過軟體額外使用處理器之算
力,故可能會導致判斷直接記憶體存取裝置占用過久,使得電子系統直接跳至直接記憶體存取裝置逾時(DMA time out)處理。
由上述描述可以理解,本發明需要解決的技術問題是如何以監控直接記憶體存取裝置的線路之方式來解決直接記憶體存取裝置逾時與直接記憶體存取溢位的技術問題。進一步地,本發明的技術方案能夠同時防止多個直接記憶體存取裝置發生逾時與溢位。
為了解決上述的習知問題,本發明的實施例提供一種直接記憶體存取異常偵測模組,此直接記憶體存取異常偵測模組包括一個或多個直接記憶體存取異常偵測裝置。直接記憶體存取異常偵測裝置用於偵測其電性連接的直接記憶體存取裝置是否異常。直接記憶體存取異常偵測裝置根據接收到的直接記憶體存取異常偵測致能信號與接收到的直接記憶體存取裝置的簇發信號(burst signal)產生直接記憶體存取裝置存取記憶體的上限位址(upper bound address),並且根據上限位址與接收的上限位址門限值產生直接記憶體存取停止信號給直接記憶體存取裝置與中斷旗標信號。
為了解決上述的習知問題,本發明的實施例提供另一種直接記憶體存取異常偵測模組,此直接記憶體存取異常偵測模組包括一個或多個直接記憶體存取異常偵測裝置。直接記憶體存取異常偵測裝置用於偵測其電性連接的直接記憶體存取裝置是否異常。直接記憶體存取異常偵測裝置根據接收到的直接記憶體存取異常偵測致能信號被致能。在直接記憶體存取異常偵測裝置被致能時,基於其接收的時脈計數以產生計數值,若計數值到達計數值門限值,則
直接記憶體存取異常偵測裝置將產生直接記憶體存取停止信號給直接記憶體存取裝置與中斷旗標信號。在直接記憶體存取異常偵測裝置被致能時,若直接記憶體存取異常偵測裝置接收到直接記憶體存取裝置的工作完成信號,則將計數值重置歸零。
為了解決上述的習知問題,本發明的實施例還提供一種電子系統,此電子系統包括前述的直接記憶體存取異常偵測模組、一個或多個直接記憶體存取異常偵測裝置以及一個或多個資料處理電路。一個或多個資料處理電路電性連接一個或多個等直接記憶體存取裝置,並用於透過一個或多個等直接記憶體存取裝置存取記憶體的一筆或多筆資料。
為了解決上述的習知問題,本發明的實施例更提供一種直接記憶體存取異常偵測方法,此直接記憶體存取異常偵測方法係由直接記憶體存取異常偵測裝置執行,且包括以下步驟。接收直接記憶體存取異常偵測致能信號以致能直接記憶體存取異常偵測裝置,以及接收與直接記憶體存取異常偵測裝置電性連接的直接記憶體存取裝置的上限位址門限值。於觸發直接記憶體存取裝置以使直接記憶體存取裝置工作後,根據直接記憶體存取異常偵測致能信號與直接記憶體存取裝置的簇發信號產生直接記憶體存取裝置存取記憶體的上限位址。根據上限位址與上限位址門限值產生直接記憶體存取停止信號給直接記憶體存取裝置與中斷旗標信號。
為了解決上述的習知問題,本發明的實施例甚至提供一種直接記憶體存取異常偵測方法,此直接記憶體存取異常偵測方法係由直接記憶體存取異常偵測裝置執行,且包括以下步驟。接收直接記憶體存取異常偵測致能信號以致能直接記憶體存取異常偵測裝置,以及接收與直接記憶體存取異常偵測裝
置電性連接的直接記憶體存取裝置的計數值門限值。於觸發直接記憶體存取裝置以使直接記憶體存取裝置工作後,根據直接記憶體存取異常偵測致能信號基於接收的時脈進行計數,以產生計數值。根據計數值與計數值門限值產生直接記憶體存取停止信號給直接記憶體存取裝置與中斷旗標信號。於觸發直接記憶體存取裝置以使直接記憶體存取裝置工作後,根據直接記憶體存取異常偵測致能信號與直接記憶體存取裝置的工作完成信號,將計數值重置歸零。
承上所述,本發明提供之直接記憶體存取異常偵測技術可以再偵測到直接記憶體存取裝置異常時,產生停止信號自動地停止異常的直接記憶體存取裝置,以避免接記憶體存取溢位的技術問題,故不會發生記憶體被過度覆寫(overwrite)與系統崩潰,也不會使得直接記憶體存取裝置停駐(halt)。
1、2:電子系統
11、21:直接記憶體存取異常偵測模組
111、211:直接記憶體存取異常偵測裝置
1111、2111、2112:邏輯和閘
1112、2114:比較器
1113、2115:中斷旗標產生器
12、22:直接記憶體存取裝置
2113:計數器
STP:直接記憶體存取停止信號
BST:簇發信號
INTFL:中斷旗標信號
ENCH:直接記憶體存取異常偵測致能信號
DADD:上限位址
ADDTH:上限位址門限值
CLK:時脈
CP:工作完成信號
CNTTH:計數值上限值
CNT:計數值
INC:計數觸發信號
RST:計數器重置信號
S301~S307、S401~S408:步驟
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:圖1是本發明第一實施例之使用直接記憶體存取異常偵測模組的電子系統的方塊圖;圖2是本發明第一實施例之直接記憶體存取異常偵測裝置的方塊圖;圖3是本發明第一實施例之直接記憶體存取異常偵測方法的流程圖;圖4是本發明第二實施例之使用直接記憶體存取異常偵測模組的電子系統的方塊圖;圖5是本發明第二實施例之直接記憶體存取異常偵測裝置的方塊圖;圖6是本發明第二實施例之直接記憶體存取異常偵測方法的流程圖。
有鑑於上述待克服的技術問題,本發明實施例提供一種可以在電子系統運行時可以自動處理直接記憶體存取裝置異常的直接記憶體存取異常偵測模組、方法與電子系統。透過本發明提供的直接記憶體存取異常偵測模組、方法與電子系統,可以自動地停止異常的直接記憶體存取裝置,並且避免系統中斷與系統崩潰,且進一步地可以透過軟體程式針對異常進行處置,處置例如包括重置與直接記憶體存取裝置電性連接的資料處理電路、重置直接記憶體存取裝置、禁能直接記憶體存取裝置或通報處置人員進行處理。
接著,請參照圖1,圖1是本發明第一實施例之使用直接記憶體存取異常偵測模組的電子系統的方塊圖。電子系統1包括直接記憶體存取異常偵測模組11、一個或多個直接記憶體存取裝置12以及一個或多個資料處理電路(未繪示於圖式中)。直接記憶體存取異常偵測模組11包括一個或多個直接記憶體存取異常偵測裝置111,每一個直接記憶體存取異常偵測裝置111電性連接一個直接記憶體存取裝置12,以達到同時偵測多個直接記憶體存取裝置12是否異常的目的。每一個直接記憶體存取裝置12電性連接一個資料處理電路,資料處理電路用於透過其電性連接的直接記憶體存取裝置存取記憶體的一筆或多筆資料。
在本發明實施例中,資料處理電路包括圖像資料處理電路、感測器資料處理電路、音訊資料處理電路、控制資料處理電路、封包資料處理電路或週邊裝置資料處理電路,且本發明不以資料處理電路的類型為限制。資料處理電路的類型是跟電子系統1的類型有關,例如電子系統1是伺服器,則多個資料處理電路包括圖像資料處理電路、音訊資料處理電路及封包資料處理電路。
記憶體可以是隨機存取記憶體,例如靜態隨機存取記憶體,但本發明不以記憶體的類型為限制,舉例來說,記憶體也可以是快閃記憶體。
每一個直接記憶體存取異常偵測裝置111用於偵測電性連接的直接記憶體存取裝置12是否異常。直接記憶體存取異常偵測裝置111根據接收到的直接記憶體存取異常偵測致能信號ENCH與接收到的直接記憶體存取裝置12的簇發信號BST產生直接記憶體存取裝置12存取記憶體的上限位址DADD,並且根據上限位址DADD與接收的上限位址門限值ADDTH產生直接記憶體存取停止信號STP給直接記憶體存取裝置12與中斷旗標信號INTFL。
進一步,簇發信號BST具有直接記憶體存取裝置12存取記憶體的上限位址DADD,其中上限位址DADD是指直接記憶體存取裝置12在記憶體中存取資料之存取資料之多個位址中的最大一者。舉例來說,直接記憶體存取裝置12要在記憶體中連續存取了位址為0x5510、0x5520、0x5530的資料,則直接記憶體存取裝置12發出的簇發信號BST會包括上限位址DADD為0x5530。若上限位址門限值ADDTH為0x5550且上限位址DADD為0x5530,則直接記憶體存取異常偵測裝置111不產生直接記憶體存取停止信號STP與中斷旗標信號INTFL。若上限位址門限值ADDTH為0x5550且上限位址DADD為0x5560,則直接記憶體存取異常偵測裝置111產生直接記憶體存取停止信號STP與中斷旗標信號INTFL,以使直接記憶體存取異常偵測裝置111停止工作。
請接著參照圖1、圖2,圖2是本發明第一實施例之直接記憶體存取異常偵測裝置的方塊圖。圖1的直接記憶體存取異常偵測裝置111能夠以圖2的實現方式來實作,但本發明並不限制直接記憶體存取異常偵測裝置111僅能以圖2的方式來實現。直接記憶體存取異常偵測裝置111包括多個硬體電路,且此多
個硬體電路包括邏輯和閘1111、比較器1112與中斷旗標產生器1113。邏輯和閘111電性連接直接記憶體存取裝置12,比較器1112電性連接邏輯和閘1111與直接記憶體存取裝置12,以及中斷旗標產生器1113電性連接比較器1112。
邏輯和閘1111用於接收簇發信號BST與直接記憶體存取異常偵測致能信號ENCH,並對簇發信號BST與直接記憶體存取異常偵測致能信號ENCH進行邏輯和運算,以產生直接記憶體存取裝置12存取記憶體的上限位址DADD。比較器1112用於接收及比較上限位址DADD與上限位址門限值ADDTH,並產生比較結果作為直接記憶體存取停止信號STP給直接記憶體存取裝置12。中斷旗標產生器1113用於根據直接記憶體存取停止信號STP產生中斷旗標信號INTFL。
進一步地,直接記憶體存取異常偵測裝置111除了包括多個硬體電路之外,更可以具有以軟體程式實現的處置模組。處置模組可用於根據中斷旗標信號對停止的直接記憶體存取裝置12進行處置,其中處置包括重置與直接記憶體存取裝置12電性連接的資料處理電路、重置直接記憶體存取裝置12、禁能直接記憶體存取裝置12或通報處置人員進行處理。
請接著參照圖1~圖3,圖3是本發明第一實施例之直接記憶體存取異常偵測方法的流程圖。直接記憶體存取異常偵測方法是由電子系統1所執行。於步驟S301中,直接記憶體存取異常偵測裝置111接收直接記憶體存取異常偵測致能信號ENCH以使直接記憶體存取異常偵測裝置111致能。在步驟S302中,直接記憶體存取異常偵測裝置111接收直接記憶體存取裝置12的上限位址門限值ADDTH。接著,在步驟S303中,電子系統1的直接記憶體存取裝置12被觸發。直接記憶體存取裝置12被觸發後,在步驟S304中,直接記憶體存取裝置12進行工作,以向記憶體存取資料。
然後,在步驟S305中,直接記憶體存取異常偵測裝置111從接收到的簇發信號BST取得上限位址DADD,並且判斷上限位址DADD是否到達上限位址門限值ADDTH。若上限位址DADD未到達上限位址門限值ADDTH,則繼續執行步驟S306,否則,則執行步驟S307。在步驟S307中,直接記憶體存取異常偵測裝置111產生直接記憶體存取停止信號STP給直接記憶體存取裝置12與中斷旗標信號INTFL,以停止直接記憶體存取裝置12,並讓處置模組對異常的直接記憶體存取裝置12進行處置。在步驟S306中,電子系統1判斷直接記憶體存取裝置12是否結束工作,若是,則直接記憶體存取裝置12結束工作,否則,則執行步驟S304,即直接記憶體存取裝置12繼續進行工作。
接者,請參照圖4,圖4是本發明第二實施例之使用直接記憶體存取異常偵測模組的電子系統的方塊圖。電子系統2包包括直接記憶體存取異常偵測模組21、一個或多個直接記憶體存取裝置22以及一個或多個資料處理電路(未繪示於圖式中)。直接記憶體存取異常偵測模組21包括一個或多個直接記憶體存取異常偵測裝置211,每一個直接記憶體存取異常偵測裝置211電性連接一個直接記憶體存取裝置22,以達到同時偵測多個直接記憶體存取裝置22是否異常的目的。每一個直接記憶體存取裝置22電性連接一個資料處理電路,資料處理電路用於透過其電性連接的直接記憶體存取裝置存取記憶體的一筆或多筆資料。資料處理電路如前面所述,可以包括圖像資料處理電路、感測器資料處理電路、音訊資料處理電路、控制資料處理電路、封包資料處理電路或週邊裝置資料處理電路,但本發明不以此為限制。
每一個直接記憶體存取異常偵測裝置211用於偵測其電性連接的直接記憶體存取裝置22是否異常。直接記憶體存取異常偵測裝置211根據接收到
的直接記憶體存取異常偵測致能信號ENCH被致能。在直接記憶體存取異常偵測裝置211被致能時,基於其接收的時脈CLK計數以產生計數值CNT。若計數值CNT到達直接記憶體存取異常偵測裝置211接收的計數值門限值CNTTH,則直接記憶體存取異常偵測裝置211將產生直接記憶體存取停止信號STP給直接記憶體存取裝置22與中斷旗標信號INTFL;若在計數值CNT未到達直接記憶體存取異常偵測裝置211接收的計數值門限值CNTTH前,直接記憶體存取異常偵測裝置211接收到直接記憶體存取裝置22的工作完成信號CP,則直接記憶體存取異常偵測裝置211將計數值CNT重置歸零。簡單地說,圖1的做法是檢測直接記憶體存取裝置12存取記憶體的上限位址,而相較於圖1的做法,圖4的做法是檢測直接記憶體存取裝置22占用的時間是否逾時,以藉此判斷檢測直接記憶體存取裝置22是否有異常。
之後,請參照圖4、圖5,圖5是本發明第二實施例之直接記憶體存取異常偵測裝置的方塊圖。圖4的直接記憶體存取異常偵測裝置211能夠以圖5的實現方式來實作,但本發明並不限制直接記憶體存取異常偵測裝置211僅能以圖5的方式來實現。直接記憶體存取異常偵測裝置211包括多個硬體電路,且多個硬體電路包括邏輯和閘2111、2112、計數器2113、比較器2114與中斷旗標產生器2115,其中邏輯和閘2111、2112電性連接計數器2113,邏輯和閘2112電性連接直接記憶體存取裝置22,比較器2114電性連接計數器2113、中斷旗標產生器2115與直接記憶體存取裝置22。
邏輯和閘2111用於接收直接記憶體存取異常偵測致能信號ENCH與時脈CLK),並對直接記憶體存取異常偵測致能信號ENCH與時脈CLK進行邏輯和運算,以產生計數觸發信號INC。邏輯和閘2112用於接收直接記憶體存取異
常偵測致能信號ENCH與工作完成信號CP,並對直接記憶體存取異常偵測致能信號ENCH與工作完成信號CP進行邏輯和運算,以產生計數器重置信號RST。計數器2113用於接收計數觸發信號INC與計數器重置信號RST,根據計數觸發信號INC計數產生出計數值CNT,以及根據計數器重置信號RST將計數值CNT重置歸零。比較器2114用於接收及比較計數值CNT與計數值門限值CNTTH,並產生比較結果作為直接記憶體存取停止信號STP給直接記憶體存取裝置12。中斷旗標產生器2115用於根據直接記憶體存取停止信號STP產生中斷旗標信號INTFL。
進一步地,直接記憶體存取異常偵測裝置211除了包括多個硬體電路之外,更可以具有以軟體程式實現的處置模組。處置模組可用於根據中斷旗標信號對停止的直接記憶體存取裝置22進行處置,其中處置包括重置與直接記憶體存取裝置22電性連接的資料處理電路、重置直接記憶體存取裝置22、禁能直接記憶體存取裝置22或通報處置人員進行處理。
請參照圖4~圖6,圖6是本發明第二實施例之直接記憶體存取異常偵測方法的流程圖。直接記憶體存取異常偵測方法是由電子系統2所執行。於步驟S401中,直接記憶體存取異常偵測裝置211接收直接記憶體存取異常偵測致能信號ENCH以使直接記憶體存取異常偵測裝置211致能。在步驟S402中,直接記憶體存取異常偵測裝置211接收直接記憶體存取裝置22的計數值門限值CNTTH。接著,在步驟S403中,電子系統2的直接記憶體存取裝置22被觸發。直接記憶體存取裝置22被觸發後,在步驟S304中,直接記憶體存取裝置22進行工作,以向記憶體存取資料。
然後,在步驟S405中,直接記憶體存取異常偵測裝置211基於時脈CLK進行計數,並判斷產生的計數值CNT是否到達計數值門限值CNTTH。若
計數值CNT到達計數值門限值CNTTH,則繼續執行步驟S408,否則,則執行步驟S406。在步驟S408中,直接記憶體存取異常偵測裝置211產生直接記憶體存取停止信號STP給直接記憶體存取裝置22與中斷旗標信號INTFL,以停止直接記憶體存取裝置22,並讓處置模組對異常的直接記憶體存取裝置22進行處置。在步驟S406中,電子系統2判斷直接記憶體存取裝置22是否結束工作,若是,則直接記憶體存取裝置12結束工作,並執行步驟S407,否則,則執行步驟S404,即直接記憶體存取裝置22繼續進行工作。在步驟S407,直接記憶體存取異常偵測裝置211接收到直接記憶體存取裝置22的工作完成信號CP,並將計數值CNT重置歸零。
綜合以上所述,本發明實施例提供的直接記憶體存取異常偵測模組、方法與使用其的電子系統,可以在直接記憶體存取異常發生時,可讓硬體電路偵測並自動停止直接記憶體存取裝置,從而避免系統崩潰或系統停駐,並達到同時防止多個直接記憶體存取裝置的異常(例如,多個直接記憶體存取裝溢位)。另外,上述避免系統崩潰或系統停駐,並達到同時防止多個直接記憶體存取裝置的異常的做法可以不使用軟體與額外處理器之算力介入。另外,在本發明實施例中,也可以選擇性地讓軟體程式介入,以進行錯誤報告,並且進行處置,例如重置與直接記憶體存取裝置22電性連接的資料處理電路或直接記憶體存取裝置22本身,以解除直接記憶體存取裝置22的異常狀態。
本發明在本文中僅以較佳實施例揭露,然任何熟習本技術領域者應能理解的是,上述實施例僅用於描述本發明,並非用以限定本發明所主張之專利權利範圍。舉凡與上述實施例均等或等效之變化或置換,皆應解讀為涵蓋
於本發明之精神或範疇內。因此,本發明之保護範圍應以下述之申請專利範圍所界定者為基準。
1:電子系統
11:直接記憶體存取異常偵測模組
111:直接記憶體存取異常偵測裝置
12:直接記憶體存取裝置
STP:直接記憶體存取停止信號
BST:簇發信號
INTFL:中斷旗標信號
ENCH:直接記憶體存取異常偵測致能信號
ADDTH:上限位址門限值
Claims (8)
- 一種直接記憶體存取異常偵測模組(11),包括:一個或多個直接記憶體存取異常偵測裝置(111),其中該直接記憶體存取異常偵測裝置(111)用於偵測其電性連接的一直接記憶體存取裝置(12)是否異常;該直接記憶體存取異常偵測裝置(111)根據接收到的一直接記憶體存取異常偵測致能信號(ENCH)與接收到的該直接記憶體存取裝置(12)的一簇發信號(BST)產生該直接記憶體存取裝置(12)存取一記憶體的一上限位址(DADD),並且根據該上限位址(DADD)與接收的一上限位址門限值(ADDTH)產生一直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(12)與一中斷旗標信號(INTFL);其中該直接記憶體存取異常偵測裝置(111)包括多個硬體電路,且該等硬體電路包括:一邏輯和閘(1111),用於接收該簇發信號(BST)與該直接記憶體存取異常偵測致能信號(ENCH),並對該簇發信號(BST)與該直接記憶體存取異常偵測致能信號(ENCH)進行一邏輯和運算,以產生該直接記憶體存取裝置(12)存取該記憶體的該上限位址(DADD);一比較器(1112),電性連接該邏輯和閘(1111),用於接收及比較該上限位址(DADD)與該上限位址門限值(ADDTH),並產生一比較結果作為該直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(12);以及一中斷旗標產生器(1113),電性連接該比較器(1112),用於根據該直接記憶體存取停止信號(STP)產生該中斷旗標信號(INTFL)。
- 如請求項1所述之直接記憶體存取異常偵測模組(11),其中該直接記憶體存取異常偵測裝置(111)更包括:一處置模組,係以一軟體程式實現,用於根據該中斷旗標信號(INTFL)對停止的該直接記憶體存取裝置(12)進行一處置。
- 一種直接記憶體存取異常偵測模組(21),包括:一個或多個直接記憶體存取異常偵測裝置(211),其中該直接記憶體存取異常偵測裝置(211)用於偵測其電性連接的一直接記憶體存取裝置(22)是否異常;該直接記憶體存取異常偵測裝置(211)根據接收到的一直接記憶體存取異常偵測致能信號(ENCH)被致能;在該直接記憶體存取異常偵測裝置(211)被致能時,基於其接收的一時脈(CLK)計數以產生一計數值(CNT),若該計數值(CNT)到達一計數值門限值(CNTTH),則該直接記憶體存取異常偵測裝置(211)將產生一直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(22)與一中斷旗標信號(INTFL);在該直接記憶體存取異常偵測裝置(211)被致能時,若該直接記憶體存取異常偵測裝置(211)接收到該直接記憶體存取裝置(22)的一工作完成信號(CP),則將該計數值(CNT)重置歸零;其中該直接記憶體存取異常偵測裝置(111)包括多個硬體電路,且該等硬體電路包括:一第一邏輯和閘(2111),用於接收該直接記憶體存取異常偵測致能信號(ENCH)與該時脈(CLK),並對該直接記憶體存取異常偵測致能信號(ENCH)與該時脈(CLK)進行一邏輯和運算,以產生一計數觸發信號(INC);一第二邏輯和閘(2112),用於接收該直接記憶體存取異常偵測致能信號(ENCH)與該工作完成信號(CP),並對該直接記憶體存取異常偵測致能信號(ENCH)與該工作完成信號(CP)進行該邏輯和運算,以產生一計數器重置信號(RST);一計數器(2113),電性連接該第一邏輯和閘(2111)與該第二邏輯和閘(2112),用於接收該計數觸發信號(INC)與該計數器重置信號(RST),根據該計數觸發信號(INC)計數產生出該計數值(CNT),以及根據該計數器重置信號(RST)將該計數值(CNT)重置歸零; 一比較器(2114),電性連接該計數器(2113),用於接收及比較該計數值(CNT)與計數值門限值(CNTTH),並產生一比較結果作為該直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(12);以及一中斷旗標產生器(2115),電性連接該比較器(1112),用於根據該直接記憶體存取停止信號(STP)產生該中斷旗標信號(INTFL)。
- 如請求項3所述之直接記憶體存取異常偵測模組(21),其中該直接記憶體存取異常偵測裝置(211)更包括:一處置模組,係以一軟體程式實現,用於根據該中斷旗標信號(INTFL)對停止的該直接記憶體存取裝置(22)進行一處置。
- 一種電子系統(1、2),包括:如請求項1至4其中一項所述的直接記憶體存取異常偵測模組(11、12);該或該等直接記憶體存取裝置(12、22);一個或多個資料處理電路,電性連接該或該等直接記憶體存取裝置(12、22),用於透過該或該等直接記憶體存取裝置(12、22)存取該記憶體的一筆或多筆資料。
- 如請求項5所述之電子系統(1、2),其中該資料處理電路包括一圖像資料處理電路、一感測器資料處理電路、一音訊資料處理電路、一控制資料處理電路、一封包資料處理電路或一週邊裝置資料處理電路。
- 一種直接記憶體存取異常偵測方法,係由一直接記憶體存取異常偵測裝置(111)執行,包括: 接收一直接記憶體存取異常偵測致能信號(ENCH)以致能該直接記憶體存取異常偵測裝置(111),以及接收與該直接記憶體存取異常偵測裝置(111)電性連接的一直接記憶體存取裝置(12)的一上限位址門限值(ADDTH);於觸發該直接記憶體存取裝置(12)以使該直接記憶體存取裝置(12)工作後,根據該直接記憶體存取異常偵測致能信號(ENCH)與該直接記憶體存取裝置(12)的一簇發信號(BST)產生該直接記憶體存取裝置(12)存取一記憶體的一上限位址(DADD);以及根據該上限位址(DADD)與該上限位址門限值(ADDTH)產生一直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(12)與一中斷旗標信號(INTFL);其中該直接記憶體存取異常偵測裝置(111)包括多個硬體電路,且該等硬體電路包括:一邏輯和閘(1111),用於接收該簇發信號(BST)與該直接記憶體存取異常偵測致能信號(ENCH),並對該簇發信號(BST)與該直接記憶體存取異常偵測致能信號(ENCH)進行一邏輯和運算,以產生該直接記憶體存取裝置(12)存取該記憶體的該上限位址(DADD);一比較器(1112),電性連接該邏輯和閘(1111),用於接收及比較該上限位址(DADD)與該上限位址門限值(ADDTH),並產生一比較結果作為該直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(12);以及一中斷旗標產生器(1113),電性連接該比較器(1112),用於根據該直接記憶體存取停止信號(STP)產生該中斷旗標信號(INTFL)。
- 一種直接記憶體存取異常偵測方法,係由一直接記憶體存取異常偵測裝置(211)執行,包括: 接收一直接記憶體存取異常偵測致能信號(ENCH)以致能該直接記憶體存取異常偵測裝置(211),以及接收與該直接記憶體存取異常偵測裝置(211)電性連接的一直接記憶體存取裝置(22)的一計數值門限值(CNTTH);於觸發該直接記憶體存取裝置(22)以使該直接記憶體存取裝置(22)工作後,根據該直接記憶體存取異常偵測致能信號(ENCH)基於接收的一時脈(CLK)進行計數,以產生一計數值(CNT);根據該計數值(CNT)與該計數值門限值(CNTTH)產生一直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(12)與一中斷旗標信號(INTFL);以及於觸發該直接記憶體存取裝置(22)以使該直接記憶體存取裝置(22)工作後,根據該直接記憶體存取異常偵測致能信號(ENCH)與該直接記憶體存取裝置(22)的一工作完成信號(CP),將該計數值(CNT)重置歸零;其中該直接記憶體存取異常偵測裝置(111)包括多個硬體電路,且該等硬體電路包括:一第一邏輯和閘(2111),用於接收該直接記憶體存取異常偵測致能信號(ENCH)與該時脈(CLK),並對該直接記憶體存取異常偵測致能信號(ENCH)與該時脈(CLK)進行一邏輯和運算,以產生一計數觸發信號(INC);一第二邏輯和閘(2112),用於接收該直接記憶體存取異常偵測致能信號(ENCH)與該工作完成信號(CP),並對該直接記憶體存取異常偵測致能信號(ENCH)與該工作完成信號(CP)進行該邏輯和運算,以產生一計數器重置信號(RST);一計數器(2113),電性連接該第一邏輯和閘(2111)與該第二邏輯和閘(2112),用於接收該計數觸發信號(INC)與該計數器重置信號(RST),根據該計數觸發信號(INC)計數產生出該計數值(CNT),以及根據該計數器重置信號(RST)將該計數值(CNT)重置歸零; 一比較器(2114),電性連接該計數器(2113),用於接收及比較該計數值(CNT)與計數值門限值(CNTTH),並產生一比較結果作為該直接記憶體存取停止信號(STP)給該直接記憶體存取裝置(12);以及一中斷旗標產生器(2115),電性連接該比較器(1112),用於根據該直接記憶體存取停止信號(STP)產生該中斷旗標信號(INTFL)。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111146381A TWI856442B (zh) | 2022-12-02 | 2022-12-02 | 直接記憶體存取異常偵測模組、方法與使用其的電子系統 |
| CN202310216570.3A CN118132352A (zh) | 2022-12-02 | 2023-03-08 | 直接内存访问异常检测模块、方法与使用其的电子系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111146381A TWI856442B (zh) | 2022-12-02 | 2022-12-02 | 直接記憶體存取異常偵測模組、方法與使用其的電子系統 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202424763A TW202424763A (zh) | 2024-06-16 |
| TWI856442B true TWI856442B (zh) | 2024-09-21 |
Family
ID=91234832
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111146381A TWI856442B (zh) | 2022-12-02 | 2022-12-02 | 直接記憶體存取異常偵測模組、方法與使用其的電子系統 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN118132352A (zh) |
| TW (1) | TWI856442B (zh) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4471427A (en) * | 1981-12-01 | 1984-09-11 | Burroughs Corporation | Direct memory access logic system for a data transfer network |
| US20030033455A1 (en) * | 2001-08-08 | 2003-02-13 | Matsushita Electric Industrial Co., Ltd. | Data processor and data transfer method |
| US20160147673A1 (en) * | 2006-04-20 | 2016-05-26 | Renesas Electronics Corporation | Microcomputer and method for controlling memory access |
| US20170364461A1 (en) * | 2016-06-20 | 2017-12-21 | Arm Limited | Transferring data between memory system and buffer of a master device |
| US20180129620A1 (en) * | 2015-04-07 | 2018-05-10 | Benjamin Aaron Gittins | Programmable memory transfer request processing units |
| US20200089500A1 (en) * | 2015-12-17 | 2020-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
-
2022
- 2022-12-02 TW TW111146381A patent/TWI856442B/zh active
-
2023
- 2023-03-08 CN CN202310216570.3A patent/CN118132352A/zh active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4471427A (en) * | 1981-12-01 | 1984-09-11 | Burroughs Corporation | Direct memory access logic system for a data transfer network |
| US20030033455A1 (en) * | 2001-08-08 | 2003-02-13 | Matsushita Electric Industrial Co., Ltd. | Data processor and data transfer method |
| US20160147673A1 (en) * | 2006-04-20 | 2016-05-26 | Renesas Electronics Corporation | Microcomputer and method for controlling memory access |
| US20180129620A1 (en) * | 2015-04-07 | 2018-05-10 | Benjamin Aaron Gittins | Programmable memory transfer request processing units |
| US20200089500A1 (en) * | 2015-12-17 | 2020-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
| US20170364461A1 (en) * | 2016-06-20 | 2017-12-21 | Arm Limited | Transferring data between memory system and buffer of a master device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118132352A (zh) | 2024-06-04 |
| TW202424763A (zh) | 2024-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5580857B2 (ja) | 計算機システム内のセキュリティ侵害を識別して防ぐためのシステムと方法 | |
| EP2472408B1 (en) | Bus monitor for improving system safety of system on chip (soc) and realizing method thereof | |
| US8099636B2 (en) | System and method for protecting memory stacks using a debug unit | |
| US7669243B2 (en) | Method and system for detection and neutralization of buffer overflow attacks | |
| JP6116670B2 (ja) | インタラプトステータスに基づく構成可能なブレークポイントを有するデバイス | |
| KR101701014B1 (ko) | 운영 체제에의 악성 활동 보고 | |
| CN100395722C (zh) | 一种对控制系统异常状态信息进行保存的方法 | |
| CN118689690A (zh) | 一种操作系统内存故障的处理方法及系统 | |
| CN107958164A (zh) | 控制装置 | |
| TWI856442B (zh) | 直接記憶體存取異常偵測模組、方法與使用其的電子系統 | |
| US20110179316A1 (en) | Data processing system comprising a monitor | |
| CN110716818B (zh) | 一种异常处理方法、装置、硬件保护设备及存储介质 | |
| US9015374B2 (en) | Virtual interrupt filter | |
| CN109992959A (zh) | 故障注入抵御方法及装置、芯片及计算机可读存储介质 | |
| US20070266435A1 (en) | System and method for intrusion detection in a computer system | |
| CN117472623A (zh) | 处理内存故障的方法、装置、设备及存储介质 | |
| US8230286B1 (en) | Processor reliability improvement using automatic hardware disablement | |
| CN117472622A (zh) | 隔离故障内存的方法、装置、设备及存储介质 | |
| CN114448666A (zh) | 缓存攻击的监测防御方法、电子设备及系统 | |
| US20100127767A1 (en) | Integrated Circuit Device Including Noise Filter | |
| US11966471B2 (en) | Interrupt latency and interval tracking | |
| CN101149702A (zh) | 操作系统故障检测的方法和装置 | |
| JP5768434B2 (ja) | 相互監視システム | |
| JP4317672B2 (ja) | Cpu異常監視装置 | |
| JP2002073375A (ja) | マイクロコンピュータを有するシステムにおけるソフトウェアの動作監視方法 |