TW201013408A - External direct memory access of embedded controller memory - Google Patents

External direct memory access of embedded controller memory Download PDF

Info

Publication number
TW201013408A
TW201013408A TW098126394A TW98126394A TW201013408A TW 201013408 A TW201013408 A TW 201013408A TW 098126394 A TW098126394 A TW 098126394A TW 98126394 A TW98126394 A TW 98126394A TW 201013408 A TW201013408 A TW 201013408A
Authority
TW
Taiwan
Prior art keywords
memory
address
memory medium
embedded controller
request
Prior art date
Application number
TW098126394A
Other languages
English (en)
Other versions
TWI412934B (zh
Inventor
Alan D Berenbaum
Eileen M Marando
Original Assignee
Standard Microsyst Smc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Standard Microsyst Smc filed Critical Standard Microsyst Smc
Publication of TW201013408A publication Critical patent/TW201013408A/zh
Application granted granted Critical
Publication of TWI412934B publication Critical patent/TWI412934B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

201013408 六、發明說明: 【發明所屬之技術領域】 本發明涉及嵌入式控制器領域,並且更具體地說,本發 明涉及用於執行從外部設備對嵌入式控制器記憶體的直接 s己憶體存取(DMA)的系統和方法。 【先前技術】 近年來’電子设備的使用已經激增。例如,肖戶擁有各 種電子•又備疋司空見慣的,例如這些電子設備包括:手 機、個人數位助理、可攜式媒體播放器以及如鍵盤、滑 鼠、外部硬碟驅動器 '監視器等電腦週邊設備。這些電子 設備通常包括喪入式系統和喪入式控制器。當被耗合於如 電腦等主機設備時,主機和電子設備進行通信,例如:發 送狀態和配置資訊、交換訊息和/或初始化嵌入式控制器 中的程式記憶體或資料記憶體。 通常’這個問題已經通過使用一個或多個「郵箱」暫存 益被解決’在其中’後入式控制器或主機可給另一個缺入 式控制器或主機留短訊息。在主機希望讀取記憶體的區塊 的情況下,主機可將一争短訊息發送到嵌入式控制器以請 求每個記憶體位置的内容’並且然後主機必須等待,直到 嵌入式控制器反過來將帶有結果的訊息發送回來為止。然 2 ’該方法通常很緩慢’並且需要主機上的大量的處理負 f或等待時間(例如,以重複地輪詢嵌入式控制器以檢查 疋否有回應,或者接收來自於嵌入式控制器的中斷)以及 嵌入式控制器上的負荷。因此,期望對嵌入式控制器與主 142378.doc 201013408 機之間的通信進行改進。 【發明内容】 用於執行嵌入式控制器記憶體的直接記憶體存取(DMA) 的系統和方法的各種實施方式。 攸入式控制器可包括處理II和輕合於該處理器的記憶媒 體。嵌入式控制器可進一步包括耦合於該記憶媒體的介 面。 該介面可被配置為耦合於主機並且接收來自於該主機的 直接記憶體存取’A)請求。DMA請求可包括從記憶媒體 的記憶體位置中讀取資料的請求或將資料寫入記憶媒體的 記憶體位置的請求。DMA請求可包括相對記憶體位址。 介面可被配置為將相對記憶體位址轉換為記憶媒體的第 一位址《介面可被配置為將相對記憶體位址轉換為記憶媒 體的多個不連續區域的位址。在一些實施方式中,這些區 域中的每一個可具有對主機的不同等級或類型的存取,例 ⑩如:唯讀、只寫、讀與寫,等。例如,介面可被配置為提 供對記憶媒體的第一區域的唯讀存取和對記憶媒體的第二 區域的讀與寫存取。此外’每個區域可進一步被細分為如 具有唯讀存取、只寫存取和/或讀與寫存取的區塊或部 分。 因此’該介面可被配置為將DMA請求的相對記憶體位址 轉換為記憶媒體中的多個不連續區域的具體區域(或區域 的部分)。此外,具體區域(或部分)可為唯讀區域、只寫區 域或讀與寫區域。 142378.doc 201013408 注意’該介面可被配置為當將相對記憶媒體轉換為第一 位址時提供對記憶媒體的記憶體保護。記憶體保護可為基 底界限記憶體保護、分頁記憶體保護和/或其他類型的記 憶體保護。 因此,介面可根據DMA請求使用記憶媒體的第一位址執 行操作。 處理器可被配置為根據儲存在記憶媒體中的資料操作。 介面可被配置為接收來自於主機的第二DMa請求。然 而,第二DMA請求可不包括相對記憶體位址。介面可被配 置為根據第二DMA請求使用記憶媒體的自動確定的位址執 行操作。在一個實施方式中,介面可自動地遞增記憶媒體 的第一位址以確定記憶媒體的位址。可選擇地或此外,介 面可被配置為自動地遞增相對記憶體位址以確定記憶媒體 的位址。因此,介面可根據第二DMA請求使用記憶媒體的 自動確定的位址執行操作。 【實施方式】 結合附圖考慮下面的對較佳的實施方式的詳細描述時, 可獲得對本發明更好的理解。 雖然本發明谷易受到各種修改和替代形式的影響,但是 本發明的具體實施彳式是通過圖中的實施例被示出並且在 本文中被詳細地描述的。然而,應該瞭解到,這些圖和其 詳細描述不打算將本發明局限於公開的特定形式,而是相 地期望覆蓋屬於所申請專利範圍I定的本發明的精神 和範圍内的所有的修改、等價物和替代。 142378.doc 201013408 術語 以下是本申請中使用的術語的辭彙表: 記憶媒體-各種類型的記憶體設備(mem〇ry device)或儲 存設備(storage device)中的任意一種。術語「記憶媒體」
打算包括如CD-ROM、軟碟1〇4或磁帶設備等安裝媒體、 如 DRAM、DDR RAM、SRAM、ED〇 RAM、Rambus RAM 等電腦系統記憶體或隨機存取記憶體,或如磁性媒體或光 學儲存器等非揮發性記憶體,例如磁性媒體為硬碟驅動 器。記憶媒體也可包括其他類型的記憶體,或者這些類型 的記憶體和其他類型的記憶體的組合。此外,記憶媒體可 位於執行程式的第一電腦中,和/或可位於通過如網際網 路等、用路連接至第一電腦的不同的第二電腦中。在後一種 隋兄下第一電腦可給第一電腦提供用於執行的程式指 令。術語「記憶媒體」可包括兩個或更多個位於不同位置 心的-己隱媒體’例如:位於在通過網路被連接的不同電腦 ▲ 中的記憶媒體。 ❹ 載體媒體-如上所述的記憶媒體以及實體傳輸媒體如 匯流排、網路和/或傳送如電信號、電磁信號或數位信號 等信號的其他實體傳輸媒體。 電腦系統-各種類型的計冑或處理系统中的任何一種, 其匕括個人電腦系統(pc)、大型電腦系、统、工作站、網 路裝備網際網路裝備、個人數位助理(PDA)、電視系 統’格冲算系統或其他設備,或者這些設備與其他設備 的組〇。通*,術語「電腦系統」可大致被定義為包括具 142378.doc 201013408 有至少—個處理器的任何設備(或設備的組合),該處理器 執行來自於記憶媒體的指令。 圖1-示例性的主機和設備 如圖1所示’主機100可被耦合於設備150。設備150可包 括嵌入式控制器2〇〇,嵌入式控制器2〇〇可在主機1〇〇與設 備150之間提供介面並且可給主機提供對設備15〇的記憶體 的直接記憶體存取(DMA)。 主機可為電腦系統,它可包括顯示設備、各種輸入設備 和其他週邊設備。電腦系統可包括至少一個記憶媒體以及 處理器’在該記憶媒體上儲存了一個或多個電腦程式或軟 體兀件,而該處理器可執行儲存在記憶媒體中的程式指 令。δ己憶媒體也可儲存作業系統軟體以及其他用於對電腦 系統進行操作的軟體。各種實施方式進一步包括根據前面 的關於載體媒體的描述執行對指令和/或資料的接收或儲 存。 設備150可為可耦合於主機1〇〇的各種設備中的任何一 種。例如,設備150可為如鍵盤、滑鼠、觸摸螢幕、話筒 等輸入設備。可選擇地或此外,設備15〇可為被配置為通 過使用本文所述的方法與主機1〇〇進行通信的可攜式設 H個實施方式中’可攜式設備可為手機、智慧型電 話、個人數位助理、可攜式媒體播放器、筆記本電腦、平 板電腦、數碼相機和/或其他設備。因此圖i示出了輕合 於具有嵌入式控制器的設備的示例性的主機。 σ ®2-示例性的丧入式控制器 142378.doc 201013408 圖2示出了圖1所示的嵌入式控制器2〇〇的示例性的系統 圖。如圖所示’嵌入式控制器200可包括介面21〇,介面 210用於給主機100提供對嵌入式控制器2〇〇的記憶媒體 的直接記憶體存取。在一個實施方式中,介面21〇可佔據 主機(1 00)的位址空間中的小範圍位址,並且可將資料從主 機(100)的空間中的小範圍直接地映射到嵌入式控制器的記 憶體的一份或一部分中。 嵌入式控制器還可包括處理器(例如:嵌入式處理 ® 器)230,處理器230可根據儲存在記憶媒體220尹的指令操 作《例如,處理器230可執行儲存在記憶媒體22〇上的程式 才曰v (例如電腦軟體)。可選擇地或此外,記憶媒體220可 儲存與各種軟體的執行有關的配置資訊或設置,根據該配 置資訊或設定,處理器23〇可操作和/或執行該軟體。 注意,上面的嵌入式控制器2〇〇包含的元件僅僅是示例 性的,並且其他配置、元件和/或連接也可被設想。 φ 闽3和圖4-示例性的嵌入式控制器介面 圖3不出了被耦合於記憶媒體22〇的嵌入式控制器介面 210的tf例性系統圖。「偏」是指記憶體的直接記憶體介 面EC位址暫存器3〇6是主機1〇〇可見的位址暫存器。主機 100可在-DMA請求令給此位址暫存器3〇6提供一相對記 隐體位址在個實施方式中,相對記憶體位址可簡單地 為偏移值,例如:歲入式控制器200提供的分酉己的記憶體 空間的偏移值。 °己隐體基底暫存器304可提供記憶體映射,I己憶體映射 142378.doc 201013408 通過使用312中的邏輯將由主機⑽寫人到Ec位旧〇6中的 相對位址轉換為記憶媒體22G中的位址(更確切地說,轉換 為嵌入式控制器位址空間)。寫界限暫存器和讀界限暫存 器(分別為308和31〇)提供存取控制,存取控制可限制主機 可存取的位址的範圍。記憶體基底3G4、寫界限則和讀界 限3H)可僅僅由搬入式控制器2⑽存取,以使主機⑽不能 改變位址映射。 如果EC位址306將被映射到不止一個區域(例如:多個不 連續的區域)中,那麼EC位址暫存器3G6中的—個或多個位 可被用於多組記憶體基底暫存器/寫界限暫存器/讀界限暫 存器,並通過使用邏輯318將所選的結果混合到dmi 中。例如,EC位址306可被解釋為記憶體的單個區域中的 偏移,或者EC位址306的内容可被解釋為分段的,原因 是,該位址的一部分可被用於在多個區域中進行選擇,並 且該位址的剩餘部分可被用作為所選區域中的偏移。記憶 體上的各種埠名稱包括: 的位址處的 addr :資料的記憶體中所涉及到的位址 rdata :讀取資料埠。記憶體中的由addr引用 資料出現在該埠上。 將被寫入記憶體中的addr處的資料 wdata :寫資料埠。 設置在該埠上。 req:資料請求。當該信號有效時,位於晰處的資料被 複製到rdata,或者wdata處的資料被寫入記憶體。 we :允許寫。在進行請求時,若we信號為有效,則請 142378.doc -10- 201013408 求的動作將為對記憶體進行寫入。當該信號未被設為有效 時’動作為讀取。 圖4提供了根據一個實施方式的可被使用的自動遞增機 制的簡單說明。當記憶媒體220被存取時(例如: 信號有效時’開始讀或寫),根據遞增器(increment〇r) 402,EC位址暫存器306可被更新為下一個順序位址。注 思’用於確定下一個順序位址的其他方法可被設想,其包 括:記憶體映射、遞減器等。 因此’圖3和圖4提供了嵌入式控制器介面21 〇的示例性 的系統圖。上面描述的圖僅僅是示例性的,並且其他變 化、配置、元件等可被設想。 圖5-示例性的嵌入式控制器記憶體 如圖5所示’存在兩個被分配用於主機存取的、記憶媒 體220的不連續的區域。在該實施例中,這些區域中的每 一個都是根據基底界限記憶體保護被界定的,並且這些區 域中的每一個都包括兩個部分。更具體地說,兩個部分 504和 506(由 region—l_base_address、region—l—write_Umit 和region—l_read一limit界定的)構成了區域i。如圖所忝, 部分504通過介面被提供給主機用於唯讀存取,而主機可 在部分506中讀與寫(這是由介面210允許和決定的)。同樣 地’區域0包括部分510(主機唯讀)和部分512(主機讀/寫), 並且是由 region—0—base—address、region_0_write_limit 和 region_0一read—limit界定的。記憶媒體的範圍是從記慷體 起始位址(例如:80_0000h)到記憶體終止位址(例如: 142378.doc -11 - 201013408 80—xxxxh)»記憶體部分502、5〇8和5M通過介面2i〇保護 不受主機存取。因此,通過移動讀與寫界限指標,嵌入式 控制器200(例如··在介面21〇中)可限制主機存取。例如, 如果Region丄Write_Umit暫存器被設定為與 Region—i_BaSe_Address暫存器的位址相同的位址,那麼映 射的區域是唯讀的。如果Regi〇n—i_Read—以^^暫存器和 Region」-Write一Limit暫存器被設定為相同的值,那麼映 射的區域是完全讀/寫的。 然而’應該注意到,進一步的配置和變化被設想。例 如,每個區域可被劃分為不止一個部分,或者每個區域可 包括單個部分。這些區域和/或部分可為讀與寫主機存 取、唯讀主機存取和只寫主機存取中的任意一種。可選擇 地,通過使用其他記憶方案,記憶媒體22〇可被劃分和保 護。例如,記憶媒體220可被分頁,並且記憶體映射可被 用於給分頁的記憶體的特定區塊或部分分配主機存取。例 如,記憶體的任何特定的區塊可為唯讀、讀與寫或只寫 的(例如:對於主機存取)。在這些實施方式中,上述介面 210可被調節以適應分頁記憶體保護方案。然而,應該注 意到’其他記憶體保護或劃分方案可被設想。 圈6-用於執行嵌入式控制器的〇河人的示例性方法 圖6不出了用於執行嵌入式控制器記憶體的直接記憶體 存取(DMA)的方法。圖6所示的方法是與尤其是上面的圖 所示的電腦系統或設備中的任意一種結合使用的。在各種 實施方式中,示出的方法組成中的一些可同時被執行、按 142378.doc -12- 201013408 ’或者可被省略。額外的 如圖所示,該方法可操作 照與所不順序不同的順序被執行 方法組成也可根據需要被執行。 如下。 ❿ 在602中,DMA請求可從主機處被接收,例如:通過嵌 入式控制器,或更具體地說’通過嵌入式控制器的介面被 接收。DMA請求可包括從記憶媒體的記憶體位置中讀取資 料的請求,或將資料寫入記憶媒體的記憶體位置的請求: DMA請求可包括相對記憶體位址。在一些實施方式二相 對記憶體位址可為所分配的記憶體空間的偏移。例如,钱 入式控制器可給主機分配一記憶體空間(其可由單個區 域 '多個不連續區域、多個區塊等組成)。嵌入式控制; 可給主機提供一空間總量(例如:1024位元組)和可能其他 資訊(例如:哪個部分是唯讀、只寫、讀與寫,等”、因 此,接著以上實施例,主機可提供作為相對位址的⑻*位 ’且的偏移。例如’為了在1024位元組的位元組8處寫, 主機可提供相對記憶體位址8。 、果MA,月求疋將資料寫入記憶媒體的記德體位置的請 f,那麼DMA請求可進—步包括資料的第—部分。在—些 一Γ施方式中’資料的第一部分可被储存在嵌入式控制器的 f料暫存器中’而相對記憶體位址可被儲存在嵌入式控制 =的^址暫存器中。因此’嵌入式控制器的介面可給主機 二;入口 ’以執行對嵌入式控制器的記憶媒體的直接記 憶體存取。 由於各種原因’主機可發送讓請求。如上所禾, 142378.doc _ 13· 201013408 DMA請求可能是將資料寫 # *''' 入式控制器的記憶媒體中的 明來。例如,在一個實祐太 ^ ,資料可為配置資料(以 修改或初始化嵌入式控制器的操作的各種設置,例如:通 二作設定等)。作為另—個實施例,資料 :程式(例如:供嵌入式處理器執行卜或為當前在嵌入式 控制器上執行的軟體程式的更新的資訊或替代資 擇地或此外,資料可為從主機 ώ 機發送至嵌入式控制器的通信 讯息。在一些實施方式 枓為可能用於可攜式媒 體播放盗或電話的媒體檔等資料檔案。 的:St,黯凊求可能是從嵌入式控制器的記憶媒體 的位置中讀取資料的請求。因此,相對位址可為主機希望 讀取的分配的記憶體空間的位置。該特定的位址可儲存與 配置相關的資料、儲存在包含嵌入式控制器的設備上的資 料檔案、軟體程式等。 在604中,例如通過使用記憶體映射,相對記憶體位址 可被轉換為記憶媒體的第一位址。相對記憶位址可通過嵌 入式控制器被轉換,例如通過嵌入式控制器的介面來轉 換在。實施方式中,轉換相對記憶體位址可包括從記 憶媒體的多個不連續區域中選擇第一區域。例如,仏主機 分配的記憶體空間可能實際上包括記憶媒體的多個不連續 ㈣域H轉換相對位址可包括’例如通過使用記憶 體映射,確定不連續區域中的合適的區域。 在一些實施方式中’多個區域可為各種類型。例如,多 個區域的第一區域可為唯讀區域(例#,對於主機存取, 142378.doc 201013408 疋唯4的)。因此,在記憶媒體的該特定區域内,主機只 讀資料同樣地,區域可為唯讀的、讀與寫的等。 。實施方式中’記憶體的每個區域可被劃分為區塊 或部分。對於主機存取,每個區塊或部分可為唯讀的、只 f的和凟與寫的。根據需要,每個區域可能僅僅具有單個 p刀兩個部分,或不止兩個部分。作為一個實施例,這 些區域可根據基底界限方案、分頁方案、記憶體映射等被
劃分。因& ’轉換相對記憶體位址可包括確定或選擇記憶 媒體的第—區域或部分’而對於主機存取,第—區域或部 分可為唯讀的、只寫的或讀與寫的。最後,轉換可包括, 例如,通過使用記憶體映射’確定特定區域或部分的星體 記憶體位址。 山注意,如果轉換的記憶體位址和DMA請求不匹配,那麼 欺入式控制器(例如:介面)可拒絕存取或者讀或寫。例 ^ ’如果DMA請求試圖將資料寫入唯讀區域(或該區域的 參―冑分),那麼該資料可能不被寫,並且DMA請求可被拒 絕。在其他不相容的請求和區域的情況(例如:從只寫記 隱體中讀取)下,可發生同樣的結果。 f 606中,可根據DMA請求使用記憶媒體的第—位址執 行操作。操作可通過嵌入式控制器(例如:截入式控制器 的介面和7或處理器)被執行。更具體地說,這些操作可 包,將資料寫人記憶媒體的料區域(例如:如果職請 求是寫請求)。資料可從上述資料暫存器來寫入。可選擇 地,這些操作可包括從記憶媒體的特定區域(例如:电第 142378.doc 15 201013408 —位址引用的區域)讀取資料。資料可從記憶媒體中被讀 取並且被儲存在上述資料暫存器中,並且主機可從該資料 暫存器中獲取該資料。 在608中,可根據儲存在記憶媒體中的指令執行指令(例 如,通過嵌入式控制器的處理器執行更具體地說,處 理器可通過使用儲存在記憶媒體中的指令合理地執行。因 此,如果DMA請求導致更新或改變了記憶媒體中的資料 (例如:配置資料、程式指令、軟體等),那麼處理器可根 據這些指令執行。例如,如果由於DMA請求導致的寫入的 資料包括軟體,那麼軟體可由處理器執行。作為另一個實 施例,如果由於DMA請求導致的寫入的資料包括配置更新 (例如··通信配置更新),那麼處理器可根據新的配置執行 或通信(或使其他硬體/軟體根據新的配置進行通信 該方法可進一步包括從主機處接收第二DMA請求。在— 些實施方式中,第二DMA請求可能不包括相對記憶體位 址。相反地,該方法可自動確定記憶媒體的新位址。例 如,新位址可通過自動地遞增6〇4中的記憶媒體的第一位 址來確定。可選擇地或此外’新位址可通過自動遞增在 602的DMA請求中接收到的相對位址、遞增該位址、和根 據遞增的位址確定新位址而被確定。作為另一個實施例, 新位址可通過使用映射和/或其他技術來確定。 自動地確定新位址可允許主機通過對資料暫存器的一串 讀或寫,來讀或寫嵌入式控制器位址空間中的記憶體的區 塊,從而將主機存取所需的帶寬減少一半(因為主機不必 142378.doc -16- 201013408 更新位址暫存器)。然而,應該注意,第二DMA請求可簡 單地包括新的相對位址,並且上述方法(6G4-6G8)可被重 複。 因此,可根據第二DMA請求來執行操作,並且與上面的 • 608相似,可根據儲存在記憶媒體中的指令來執行指令。 .儘管上面的實施方式已經以相當詳細的方式進行了描 述,但是對於本領域相關具有通常知識者,一旦上面的公 開被完全理解’好變化和修改將變得清楚。期望下面的 •申請專利範圍被解釋為包含所有這些變化和修改。 【圖式簡單說明】 圖1示出了根據本發明的實施方式的輕合於設備的主機 系統; 圖2示出了根據一個實施方式的設備的嵌入式控制器的 系統圖; 圖3和圖4是根據一個實施方式的嵌入式控制器的記憶體 介面的方塊圖; 圖5疋根據一個實施方式的嵌入式控制器的記憶媒體的 方塊圖;及 圖6是根據一個實施方式的、示出了用於在嵌入式控制 器上執行直接記憶體存取的方法的一個實施方式的流程 圖。 【主要元件符號說明】 100 主機 150 設備 142378.doc 201013408 200 210 220 230 302 304 306 308 310 318 402 502 504 506 508 510 512 514 602 604 606 608 嵌入式控制器 介面 記憶媒體 處理器 EC資料 記憶體基底/記憶體基底暫存器 EC位址/EC位址暫存器 寫界限/寫界限暫存器 讀界限/讀界限暫存器 邏輯 遞增器 記憶體部分 記憶體部分 記憶體部分 記憶體部分 記憶體部分 記憶體部分 記憶體部分 從主機接收DMA請求以存取記憶媒體 將DMA請求之相對記憶體位址轉換為記憶 媒體的第一位址 根據DMA請求使用第一位址來執行操作 根據儲存在記憶媒體中的指令來執行指令
142378.doc -18·

Claims (1)

  1. 201013408 七、申請專利範圍: 1 · 一種嵌入式控制器,其包括: 一處理器; 一記憶媒體’其被耦合於該處理器;以及 一介面’其被耦合於該記憶媒體,其中該介面被配置 為: 麵合於一主機; 從該主機處接收一直接記憶體存取(DMA)請求,其 ® 中5亥DMA請求包括從該記憶媒體的一記憶體位置中讀取 貝料的一請求或將資料寫入該記憶媒體的一記憶體位置 的叫求’並且其中該DMA請求包括一相對記憶體位 址; 將該相對記憶體位址轉換為該記憶媒體的一第一位 址; 根據該DMA請求使用該記憶媒體的該第一位址執行 操作; 八中該處理器被配置為根據儲存在該記憶媒體中的資 料操作。 2·如凊求項1的嵌入式控制器,其中該介面被配置為: 、攸S亥主機處接收一第二DMA請求,其中該第二DMA請 求不包括一相對記憶體位址; 根據该第二DMA請求使用該記憶媒體的自動硪定的位 址執行操作。 3·如吻求項2的嵌入式控制器,其中該介面被配置為: 142378.doc 201013408 自動地遞增該記憶媒體的該第一位址以確定該記憶媒 體的該自動確定的位址,其中該自動遞增被執行以回應 於接收到該第二DMA請求。 4. 如請求項2的嵌入式控制器,其中該介面被配置為: 自動地遞增該相對記憶體位址以確定該記憶媒體的該 自動確定的位址,其中該自動遞增被執行以回應於接收 到該第二DMA請求。 5. 如請求項1的嵌入式控制器’其中該介面被配置為: 將相對記憶體位址轉換為該記憶媒體的多個不連續區 域中的位址。 6. 如請求項5的嵌入式控制器,其中該介面被配置為: 提供對該記憶媒體的一第一區域的唯讀存取和對該記 憶媒體的一第二區域的讀與寫存取。 7. 如請求項5的嵌入式控制器’其中該介面被配置為: 提供對該記憶媒體的一第一區域的一第一部分的唯讀 存取和對該第一區域的一第二部分的讀與寫存取。 8·如請求項1的嵌入式控制器,其中該介面被配置為:當 將該相對記憶體位址轉換為該記憶媒體的該第一位址 時’提供對該記憶媒體的記憶體保護。 9.如請求項7的嵌入式控制器,其中該提供記憶體保護包 括:使用基底界限記憶體保護。 1〇· 一種用於處理直接記憶體存取(DMA)請求的方法,該方 法包括: 從一主機處接收一直接記憶體存取(DMA)請求,其中 142378.doc 201013408 該DMA請求包括從一記憶媒體的一記憶體位置_讀取資 料的—凊求或將資料寫入該記憶媒體的記憶體位置的— 請求’並且其中該DMA請求包括一相對記憶體位址; 將该柄對記憶體位址轉換為該記憶媒體的一第一位 址; 根據該DMA請求使用該記憶媒體的該第一位址執行操 作。 11. ❹ 12. 13. ❿ 14. 15. 如請求項10的方法,其中該接收、該轉換和該執行是通 過嵌入式控制器被執行的。 如請求項1 〇的方法,其進一步包括: 從該主機處接收一第二DMA請求,其中該第二DMA請 求不包括一相對記憶體位址; 根據該第二DMA請求使用該記憶媒體的一自動確定的 位址執行操作。 如請求項12的方法,其進一步包括: 自動地遞增该記憶媒體的該第一位址以確定該記憶媒 體的該自動確;^的位址,其中該自動遞增被執行以回應 於接收到該第二DMA請求。 如請求項12的方法,其進一步包括: 自㈣增該彳目對記憶體位址以確定該記㈣體的該自 ▲定的位址’其中該自動遞増被執行以回應於接從到 該第二DMA請求。 如請求項10的方法’其中該轉換包括: 從該記憶媒體的多個不連續區域中選擇-第-區域。 142378.doc 201013408 16_如請求項15的方法,其中,對於該DMA請求,該第一區 域是該記憶媒體的一唯讀區域。 17. 如請求項15的方法,其中,對於該DMA請求,該第一區 域是該記憶媒體的一讀與寫區域。 18. 如請求項15的方法,其中該第一區域包括一唯讀部分和 一讀與寫部分。 19. 如請求項10的方法,其中該轉換包括提供對該記憶媒體 的記憶體保護。 20. 如請求項19的方法,其中該提供記憶體保護包括使用基 底界限記憶體保護。 142378.doc
TW098126394A 2008-08-05 2009-08-05 嵌入式控制器記憶體之外部直接記憶體存取 TWI412934B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/186,373 US7979601B2 (en) 2008-08-05 2008-08-05 External direct memory access of embedded controller memory

Publications (2)

Publication Number Publication Date
TW201013408A true TW201013408A (en) 2010-04-01
TWI412934B TWI412934B (zh) 2013-10-21

Family

ID=41653942

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098126394A TWI412934B (zh) 2008-08-05 2009-08-05 嵌入式控制器記憶體之外部直接記憶體存取

Country Status (2)

Country Link
US (1) US7979601B2 (zh)
TW (1) TWI412934B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10126981B1 (en) 2015-12-14 2018-11-13 Western Digital Technologies, Inc. Tiered storage using storage class memory
US10956071B2 (en) 2018-10-01 2021-03-23 Western Digital Technologies, Inc. Container key value store for data storage devices
US10769062B2 (en) 2018-10-01 2020-09-08 Western Digital Technologies, Inc. Fine granularity translation layer for data storage devices
US10740231B2 (en) 2018-11-20 2020-08-11 Western Digital Technologies, Inc. Data access in data storage device including storage class memory
US11016905B1 (en) 2019-11-13 2021-05-25 Western Digital Technologies, Inc. Storage class memory access
US11249921B2 (en) 2020-05-06 2022-02-15 Western Digital Technologies, Inc. Page modification encoding and caching

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1332797A (en) * 1970-09-02 1973-10-03 Plessey Co Ltd Programme interrupt facilities in data processing systems
US5426769A (en) * 1993-08-26 1995-06-20 Metalink Corp. System and method for producing input/output expansion for single chip microcomputers
US5748945A (en) * 1996-05-31 1998-05-05 International Business Machiens Corporation Method for slave DMA emulation on a computer system bus
US5826105A (en) * 1996-06-10 1998-10-20 Standard Microsystems Corporation System for using an external CPU to access multifunction controller's control registers via configuration registers thereof after disabling the embedded microprocessor
US5907862A (en) * 1996-07-16 1999-05-25 Standard Microsystems Corp. Method and apparatus for the sharing of a memory device by multiple processors
US5987557A (en) * 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6247084B1 (en) * 1997-10-08 2001-06-12 Lsi Logic Corporation Integrated circuit with unified memory system and dual bus architecture
EP0992887B1 (en) * 1998-10-06 2010-03-03 Texas Instruments Inc. Memory access using byte qualifiers
US6260081B1 (en) * 1998-11-24 2001-07-10 Advanced Micro Devices, Inc. Direct memory access engine for supporting multiple virtual direct memory access channels
US6330626B1 (en) * 1999-05-05 2001-12-11 Qlogic Corporation Systems and methods for a disk controller memory architecture
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US6922765B2 (en) * 2001-06-21 2005-07-26 International Business Machines Corporation Method of allocating physical memory space having pinned and non-pinned regions
US7003638B2 (en) * 2002-12-11 2006-02-21 Standard Microsystems Corporation Memory bus interface for use in a peripheral device
WO2004079583A1 (ja) * 2003-03-05 2004-09-16 Fujitsu Limited データ転送制御装置およびdmaデータ転送制御方法
US6959428B2 (en) * 2003-06-19 2005-10-25 Lsi Logic Corporation Designing and testing the interconnection of addressable devices of integrated circuits
US7076708B2 (en) * 2003-09-25 2006-07-11 International Business Machines Corporation Method and apparatus for diagnosis and behavior modification of an embedded microcontroller
US7849253B2 (en) * 2005-04-04 2010-12-07 Standard Microsystems Corporation Method for fast access to flash-memory media

Also Published As

Publication number Publication date
TWI412934B (zh) 2013-10-21
US20100036979A1 (en) 2010-02-11
US7979601B2 (en) 2011-07-12

Similar Documents

Publication Publication Date Title
US11755527B2 (en) Techniques for command validation for access to a storage device by a remote client
US10282192B1 (en) Updating device code through a bus
RU2442211C2 (ru) Гибридное запоминающее устройство с единым интерфейсом
US7200695B2 (en) Method, system, and program for processing packets utilizing descriptors
US9785545B2 (en) Method and apparatus for providing dual memory access to non-volatile memory
US20110302349A1 (en) Method and system to improve the operations of an integrated non-transparent bridge device
EP3382557B1 (en) Method and apparatus for persistently caching storage data in a page cache
TWI325714B (en) Cellular phone and portable storage device using the same
WO2021013243A1 (zh) 一种启动小程序的方法、设备和计算机存储介质
TWI412934B (zh) 嵌入式控制器記憶體之外部直接記憶體存取
TWI718969B (zh) 記憶體裝置、記憶體定址方法與包括非暫時性儲存媒體的物品
US6665747B1 (en) Method and apparatus for interfacing with a secondary storage system
KR20080108442A (ko) 선택적 주소 변환을 위한 컴퓨팅 시스템 및 방법
US9164804B2 (en) Virtual memory module
JP2008539484A (ja) ユニバーサル・シリアル・バス機能のデリゲーション
JP2018518777A (ja) 周辺構成要素相互接続(PCI)エクスプレス(PCIe)トランザクションレイヤへのコヒーレンシ駆動型拡張
US20210326299A1 (en) Edge component computing system having integrated faas call handling capability
US20190042153A1 (en) Mass storage device capable of fine grained read and/or write operations
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
WO2020134833A1 (zh) 一种数据共享方法、装置、设备及系统
CN116055429A (zh) 基于pcie的通信数据处理方法、装置、设备及存储介质
CN107577612B (zh) 移动装置和将数据存储在移动装置中的方法
JP7056870B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20060242258A1 (en) File sharing system, file sharing program, management server and client terminal
US20200242040A1 (en) Apparatus and Method of Optimizing Memory Transactions to Persistent Memory Using an Architectural Data Mover