TWI818194B - 處理裝置及其資料存取方法 - Google Patents
處理裝置及其資料存取方法 Download PDFInfo
- Publication number
- TWI818194B TWI818194B TW109132048A TW109132048A TWI818194B TW I818194 B TWI818194 B TW I818194B TW 109132048 A TW109132048 A TW 109132048A TW 109132048 A TW109132048 A TW 109132048A TW I818194 B TWI818194 B TW I818194B
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- data
- processing device
- program
- core
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000000872 buffer Substances 0.000 claims abstract description 341
- 238000010586 diagram Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一種處理裝置及其資料存取方法。處理裝置包括第一緩衝器、第二緩衝器以及鏡像緩衝控制器。第一緩衝器用以儲存第一資料,第二緩衝器用以儲存第二資料。鏡像緩衝控制器耦接第一緩衝器以及第二緩衝器。鏡像緩衝控制器在第一資料被修改時自動地複製第一緩衝器中的第一資料至第二緩衝器作為第二資料,以供讀出程序進行讀取。
Description
本發明是有關於一種資料處理技術,且特別是有關於一種可以安全地共享資料的處理裝置及其資料的存取方法。
處理裝置的多個程式或多個核心在協同運行的過程中常有資料共享的需求。因此在資料處理裝置的技術領域中,通常會劃分一塊記憶體空間以提供處理裝置的多個程式或多個核心交換資料使用。然而,在程式錯誤或記憶體被惡意存取的情況下,共享資料可能遭到更動。現有的記憶體保護單元(Memory Protection Unit;MPU)技術以及進階精簡指令集機器信任區域(ARM TrustZone)技術雖然可以控管處理裝置的核心對於記憶體區塊的權限,但是MPU技術以及ARM TrustZone技術都不具有跨核心控管的功能。也就是說,現有的機制無法確保共享資料的同步性以及安全性。針對多核心處理裝置,也缺乏一個統一的標準來限制每個核心的記憶體存取範圍。
本發明實施例提供一種處理器及其資料的存取方法,可以達到保護共享資料的效果。
本發明實施例的處理裝置包括第一緩衝器、第二緩衝器以及鏡像緩衝控制器。第一緩衝器用以儲存第一資料,第二緩衝器用以儲存第二資料。鏡像緩衝控制器耦接第一緩衝器以及第二緩衝器。其中,鏡像緩衝控制器在第一資料被修改時自動地複製第一緩衝器中的第一資料至第二緩衝器作為第二資料。
本發明實施例的處理裝置的資料存取方法包括:提供第一緩衝器以及第二緩衝器以分別儲存第一資料以及第二資料;以及提供鏡像緩衝控制器,並且由鏡像緩衝控制器在第一資料被修改時,自動地複製第一緩衝器中的第一資料至第二緩衝器作為第二資料。
基於上述,本發明實施例的處理裝置及其資料存取方法透過鏡像緩衝控制器的複製動作,使欲分享的原始資料與複製資料彼此隔離並且在使欲分享的原始資料受到保護的前提下,將原始資料分享出去以提供其他核心或其他程式讀取進而使用。如此一來,可以避免程式設計錯誤或外來的惡意操作使緩衝器中的原始資料遭到更動。並且,經由本發明實施例的設置,多核心處理裝置可以以同一個標準來限制每個核心的記憶體存取範圍。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明實施例的處理裝置包含至少一個鏡像緩衝控制器以及至少兩個緩衝器,並且鏡像緩衝控制器以資料匯流排耦接兩個緩衝器。兩個緩衝器中的一個可以被處理裝置的核心執行寫入程序而被寫入資料。鏡像緩衝控制器可以複製前述資料以產生複製資料,並將複製資料儲存至兩個緩衝器中的另一個,以提供處理裝置可以執行讀出程序來讀出前述另一個緩衝器中的複製資料。
鏡像緩衝控制器可以是微控制器(Microprocessor)或是其他可程式化電路。鏡像緩衝控制器可以由算術邏輯單元和控制邏輯單元組成。緩衝器的作用是暫存資料並提供資料讀取。緩衝器可以被設置於核心內或核心外的記憶模組中。又或者,兩個緩衝器中的一個可以設置在核心中,兩個緩衝器中的另一個可以設置在核心的外部。本發明實施例並不限制緩衝器的位置。
圖1A繪示本發明一實施例的處理裝置的示意圖。在圖1A的實施例中,處理裝置100包含緩衝器110、緩衝器120以及鏡像緩衝控制器130。鏡像緩衝控制器130耦接緩衝器110與120。鏡像緩衝控制器130可以依據第一設定命令S1,使處理裝置100可以對緩衝器110執行寫入程序。相反地,鏡像緩衝控制器130可以依據第一設定命令S1,使處理裝置100可以對緩衝器120執行讀出程序。鏡像緩衝控制器130在偵測到處理裝置100執行寫入程序140以將資料儲存至緩衝器110時,鏡像緩衝控制器130依據第一設定命令S1複製上述資料以產生複製資料,並將複製資料儲存至緩衝器120以供讀出程序150進行讀取。然而,本發明並不限制處理裝置100僅能對緩衝器110執行寫入程序。在其他實施例中,使用者可以對鏡像緩衝控制器130進行設定,以使處理裝置100可以對緩衝器110執行讀出程序及寫入程序。處理裝置100與緩衝器120之間的作動可依此類推。重點在於,無論處理裝置100如何使用緩衝器120中的資料,都不會影響到儲存於緩衝器110中的原始資料。
本發明實施例藉由上述機制來分享緩衝器110中的資料。如此一來,緩衝器110以及120中的資料可以彼此隔離。當處理裝置100對緩衝器120進行讀出程序150時,緩衝器110的資料並不會受到影響,以避免程式設計錯誤或外來的惡意操作使緩衝器110的資料遭到更改,並達到保護資料以及確認資料同步性的效果。
然而,第一設定命令S1所定義的行為(對緩衝器110執行寫入程序以及緩衝器120進行讀出程序)是可以被更動的。在另一實施例中,可以透過另一個設定命令來定義為新的行為。圖1B繪示本發明另一實施例的處理裝置的示意圖。請見圖1B,在另一實施例中,鏡像緩衝控制器130可以依據不同於第一設定命令S1(請見圖1A)的第二設定命令S2,使處理裝置100可以對緩衝器120執行寫入程序140。相對地,鏡像緩衝控制器130可以依據第二設定命令S2,使處理裝置100可以對緩衝器110執行讀出程序150。鏡像緩衝控制器130在偵測到處理裝置100執行寫入程序140以將資料儲存至緩衝器120時,鏡像緩衝控制器130依據第二設定命令S2複製上述資料以產生複製資料,並將複製資料儲存至緩衝器110以供讀出程序150進行讀取。
需說明的是,第一設定命令S1與第二設定命令S2可以依據使用者發送的調換命令進行切換。也就是說,處理裝置100可以依據實際需求來決定設定命令,使鏡像緩衝控制器130監視(Monitor)一個緩衝器。鏡像緩衝控制器130並在前述緩衝器中的資料被修改時,將前述緩衝器的資料複製到另一個緩衝器中。此外,鏡像緩衝控制器130可以依據設定命令來決定緩衝器僅能被寫入資料(或僅能被讀出資料,又或者兩者皆可)。
本發明實施例可以應用至單一核心處理裝置以及多個核心處理裝置。在圖1A與圖1B所示實施例中,處理裝置可包含單一核心。也就是說,處理裝置的核心可以分別對兩個緩衝器進行寫入以及讀出。在另一實施例中,處理裝置亦可包含多個核心。圖2繪示本發明另一實施例的處理裝置的示意圖。請參考圖2,處理裝置200包含核心A與B、緩衝器210~240以及鏡像緩衝控制器250。鏡像緩衝控制器250耦接緩衝器210以及緩衝器220。在此實施例中,鏡像緩衝控制器250可以依據一個設定命令,使核心A可以對緩衝器210執行寫入程序。相反地,鏡像緩衝控制器250可以依據前述設定命令,使核心B可以對緩衝器220執行讀出程序。並且,當緩衝器210被核心A執行寫入程序時,也就是緩衝器210被寫入資料時,鏡像緩衝控制器250複製前述資料以產生複製資料,並將複製資料儲存至緩衝器220。另外,處理裝置200還可以包括緩衝器230與240。核心A可以對緩衝器230執行寫入程序,也可以對緩衝器230執行讀出程序。核心B可以對緩衝器240執行寫入程序,也可以對緩衝器240執行讀出程序。然而,本發明並不限制核心A僅能對緩衝器210執行寫入程序。在其他實施例中,使用者可以對鏡像緩衝控制器250進行設定,以使核心A可以對緩衝器210執行讀出程序及寫入程序。核心B與緩衝器220之間的作動可依此類推。重點在於,無論核心B如何使用緩衝器220中的資料,都不會影響到儲存於緩衝器210中的原始資料。
上述實施例可以使緩衝器210以及220中的資料相同並彼此隔離。核心B的程式僅能讀取緩衝器220中的資料,而無法觸及緩衝器210中的資料。如此一來,核心A寫入緩衝器210的資料可以受到保護。緩衝器230則可以被核心A寫入資料以及讀出資料,緩衝器240可以被核心B寫入資料以及讀出資料。核心A可以將欲分享的資料寫入緩衝器210而不是緩衝器230。也就是說,在處理裝置200中,核心A與B除了各自專用的緩衝器(分別為緩衝器230以及緩衝器240)之外,核心A還具有用以分享資料的緩衝器210。鏡像緩衝控制器250可以偵測緩衝器210中的資料,並在偵測到緩衝器210的資料有變動時執行複製動作。經由鏡像緩衝控制器250的複製動作,緩衝器220中的複製資料可以供核心B進行讀出,而達成安全地共享資料的目的。
在另一個應用中,鏡像緩衝控制器可以將一個緩衝器的資料複製至其他的多個緩衝器中。圖3繪示本發明另一實施例的處理裝置的示意圖。請參考圖3,處理裝置300包括核心A、記憶體模組B、記憶體模組B中的緩衝器310~370以及鏡像緩衝控制器380。鏡像緩衝控制器380耦接緩衝器310~330。在此實施例中,處理裝置300具有單一核心A。鏡像緩衝控制器380可以依據一個設定命令,使核心A可以對緩衝器310執行寫入程序。本實施例可對多個核心或是多個程式分別設定不同的權限,並且讓具備較高權限的核心或程式使用經保留的特定記憶體的區域,較低權限的程式或核心若需要被限制存取權限的資料,則透過鏡像緩衝控制器380來獲得資料的副本,以防止這份資料的來源被錯誤地更改。具備較高權限的程式也可保留對此特定記憶體進行讀取的權限,致使後續運行時可能會需要使用位於特定記憶體中的資料進行相關運算。
在本應用的範例中,在此設計核心A中的程式P1的權限高於程式P2~P4。例如,程式P1可以是作業系統的核心(kernel)程式,程式P2~P4則是受到核心程式(程式P1)管理的程式。核心A可以執行程式P1對緩衝器310執行寫入程序,也可以對緩衝器310執行讀出程序。在程式P2、P4需要使用到程式P1的執行結果的情況下,可以透過本發明的機制來隔離並保護程式P1的執行結果(儲存於緩衝器310),使程式P2、P4的讀取動作不會更動到緩衝器310中的資料。鏡像緩衝控制器380依據前述設定命令,使核心A可以對緩衝器320與330執行讀出程序,但不能對緩衝器320與330執行寫入程序。鏡像緩衝控制器380可以監視(Monitor)緩衝器310。當緩衝器310被核心A寫入資料時,鏡像緩衝控制器380複製前述資料以產生複製資料,並將複製資料儲存至緩衝器320與330中,以供讀出程序進行讀取。另外,核心A可以對緩衝器340~370執行寫入程序以及讀出程序。
更具體來說,核心A可以執行程式P1~P4。程式P1可以使用記憶區塊B1的空間,但不能使用記憶區塊B2~B4的空間。類似地,程式P2~P4也只能分別使用記憶區塊B2~B4的空間。記憶體區塊B1包括緩衝器310與340。記憶體區塊B2包括緩衝器320與350。記憶體區塊B3包括緩衝器360。記憶體區塊B4包括緩衝器330與370。程式P1~P4可以分別對緩衝器340~370進行寫入程序與讀出程序。程式P1並可以將欲分享的資料寫入緩衝器310。鏡像緩衝控制器380可以將緩衝器310中的資料複製至緩衝器320與330中,以分別提供程式P2與P4進行讀出。
圖4繪示本發明另一實施例的處理裝置的示意圖。請參考圖4,圖4與圖3的差異在於圖4的處理裝置400具有核心A與B。核心A的程式P1與P2分別使用記憶區塊B1與B2的空間。核心B的程式P3與P4分別使用記憶區塊B3與B4的空間。其中,記憶體區塊B1包括緩衝器410與440。記憶體區塊B2包括緩衝器420與450。記憶體區塊B3包括緩衝器460。記憶體區塊B4包括緩衝器430與470。程式P1~P4可以分別對緩衝器440~470進行寫入程序與讀出程序。鏡像緩衝控制器480耦接緩衝器410~430。程式P1並可以將欲分享的資料寫入緩衝器410。鏡像緩衝控制器480並將緩衝器410中的資料複製至緩衝器420與430中,以分別提供核心A的程式P2與核心B的P4進行讀出。
圖5繪示本發明另一實施例的處理裝置的示意圖。請參考圖5,處理裝置500包含核心A與B、緩衝器510~580以及鏡像緩衝控制器590。緩衝器510與550設置於記憶體區塊B1。緩衝器520與560設置於記憶體區塊B2。緩衝器530與570設置於記憶體區塊B3。緩衝器540與580設置於記憶體區塊B4。
在此實施例中,處理裝置500具有核心A與B。鏡像緩衝控制器590耦接緩衝器510~540。鏡像緩衝控制器590可以依據一個設定命令,使核心A的程式P1可以對緩衝器510執行寫入程序。在本應用中,核心A中的程式P1的權限高於程式P2~P4。核心A可以執行程式P1對緩衝器510執行寫入程序,也可以對緩衝器510執行讀出程序。在程式P4需要使用到程式P1的執行結果的情況下,可以透過本發明的機制來隔離並保護程式P1的執行結果(儲存於緩衝器510),使程式P4的讀取動作不會更動到緩衝器510中的資料。鏡像緩衝控制器590可以依據前述設定命令,使核心A的程式P2可以對緩衝器520執行讀出程序。鏡像緩衝控制器590可以依據前述設定命令,使核心B的程式P3可以對緩衝器530執行寫入程序,也可以對緩衝器530執行讀出程序。在程式P2需要使用到程式P3的執行結果的情況下,可以透過本發明的機制來隔離並保護程式P3的執行結果(儲存於緩衝器530),使程式P2的讀取動作不會更動到緩衝器530中的資料。鏡像緩衝控制器590可以依據前述設定命令,使核心B的程式P4可以對緩衝器540執行讀出程序。另外,程式P1~P4可以分別對緩衝器550~580進行資料的存取。然而,本發明並不限制核心A的程式P2僅能對緩衝器520執行讀出程序。在其他實施例中,使用者可以對鏡像緩衝控制器進行設定,以使核心A的程式P2可以對緩衝器520執行讀出程序及寫入程序。核心B的程式P4與緩衝器540之間的作動可依此類推。重點在於,無論程式P2與P4如何使用緩衝器520與540中的資料,都不會影響到儲存於緩衝器530與510中的原始資料。
鏡像緩衝控制器590可以監視緩衝器510。當緩衝器510被核心A的程式P1寫入資料時,鏡像緩衝控制器590複製前述資料以產生複製資料,並將複製資料儲存至緩衝器540中,以供核心B的程式P4進行讀取。類似地,鏡像緩衝控制器590可以監視緩衝器530。當緩衝器530被核心B的程式P3寫入資料時,鏡像緩衝控制器590複製前述資料以產生複製資料,並將複製資料儲存至緩衝器520中,以供核心A的程式P2進行讀取。另外,核心A的程式P1與P2可以分別對緩衝器550與560進行讀寫。核心B的程式P3與P4可以分別對緩衝器570與580進行讀寫。
程式P1~P4只能分別使用記憶區塊B1~B4的空間。核心A的程式P1可以將欲分享的資料寫入緩衝器510,核心B的程式P3可以將欲分享的資料寫入緩衝器530。鏡像緩衝控制器590可以將緩衝器510與530的資料分別複製至緩衝器520與540中,以分別提供核心A的程式P2與核心B的程式P4進行讀取。如此一來,資料可以跨核心地被分享,並且資料可以受到保護。圖5的實施例也可以應用至單一核心的處理裝置上。例如,於部分實施例中,處理裝置500可僅具有核心A便可運作,且圖5的處理裝置500亦可具有核心A以及核心B以相互偕同運作。
圖6繪示本發明另一實施例的處理裝置的示意圖。請參考圖6,處理裝置600包含核心A與B、緩衝器610~670以及鏡像緩衝控制器680。在此實施例中,鏡像緩衝控制器680耦接緩衝器610~640。鏡像緩衝控制器680可以依據一個設定命令,使核心B的程式P2可以對緩衝器610與620執行寫入程序。在本應用中,核心B中的程式P2的權限高於程式P1、P3。核心B可以執行程式P2對緩衝器610、620執行寫入程序,也可以對緩衝器610、620執行讀出程序。在程式P1、P3需要使用到程式P2的執行結果的情況下,可以透過本發明的機制來隔離並保護程式P2的執行結果(儲存於緩衝器610、620),使程式P1、P3的讀取動作不會更動到緩衝器610、620中的資料。鏡像緩衝控制器680可以依據前述設定命令,使核心A的程式P1可以對緩衝器630執行讀出程序。鏡像緩衝控制器680可以依據前述設定命令,使核心B的程式P3可以對緩衝器640執行讀出程序。另外,程式P1~P3可以分別對緩衝器650~670進行資料的存取。然而,本發明並不限制核心A的程式P1僅能對緩衝器630執行讀出程序。在其他實施例中,使用者可以對鏡像緩衝控制器進行設定,以使核心A的程式P1可以對緩衝器630執行讀出程序及寫入程序。核心B的程式P3與緩衝器640之間的作動可依此類推。重點在於,無論程式P1與P3如何使用緩衝器630與640中的資料,都不會影響到儲存於緩衝器610與620中的原始資料。
鏡像緩衝控制器680可以監視緩衝器610與620。當緩衝器610被核心B的程式P2寫入資料時,鏡像緩衝控制器680複製前述資料以產生複製資料,並將複製資料儲存至緩衝器630中,以供核心A的程式P1進行讀取。類似地,鏡像緩衝控制器680可以監視緩衝器620。當緩衝器620被核心B的程式P2寫入資料時,鏡像緩衝控制器680複製前述資料以產生複製資料,並將複製資料儲存至緩衝器640中,以供核心B的程式P3進行讀取。另外,核心A的程式P1可以對緩衝器650進行讀寫。核心B的程式P2與P3可以分別對緩衝器660與670進行讀寫。
核心B的程式P2可以將欲分享的資料寫入緩衝器610與620。鏡像緩衝控制器680可以將緩衝器610與620的資料分別複製至緩衝器630與640中,以分別提供核心A的程式P1與核心B的程式P3進行讀取。如此一來,原始資料可以在受到保護的前提下被分享以供其他程式讀取及使用。
圖7繪示本發明一實施例的處理裝置的資料存取流程圖。請見圖7,在步驟710中,提供第一緩衝器以及第二緩衝器以分別儲存第一資料以及第二資料。在步驟720中,提供鏡像緩衝控制器,並且由鏡像緩衝控制器在第一資料被修改時自動地複製第一緩衝器中的第一資料至第二緩衝器作為第二資料。其中,鏡像緩衝控制器可以依據一個設定命令,使處理模組可以對第一緩衝器與第二緩衝器兩者中的一個(例如第一緩衝器),執行寫入程序。鏡像緩衝控制器在監視到第一緩衝器被寫入資料時,複製前述資料並將複製資料儲存到第二緩衝器中,以提供處理模組的讀出程序進行讀取。需說明的是,鏡像緩衝控制器可以依據前述設定命令,使處理裝置可以對將資料寫入第一緩衝器。相反地,鏡像緩衝控制器可以依據前述設定命令,使處理裝置可以從第二緩衝器讀出資料。然而,本發明並不限制處理裝置僅能對第一緩衝器執行寫入程序。在其他實施例中,使用者可以對鏡像緩衝控制器進行設定,以使處理裝置可以對第一緩衝器執行讀出程序及寫入程序。處理裝置與第二緩衝器之間的作動可依此類推。
綜上所述,本發明的多個實施例可以透過鏡像緩衝控制器的複製動作,使欲分享的原始資料與複製資料彼此隔離。並且在使欲分享的原始資料受到保護的前提下,將原始資料分享出去以提供其他核心或其他程式讀取進而使用。如此一來,可以避免程式設計錯誤或外來的惡意操作使緩衝器中的原始資料遭到更動。並且,經由本發明實施例的設置,多核心處理裝置可以以同一個標準來限制每個核心的的記憶體存取範圍。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100、200、…、600:處理裝置
110、120、210、220、230、240、310、320、…、370、410、420、…、470、510、520、…、580、610、620、…、670:緩衝器
130、250、380、480、590、680:鏡像緩衝控制器
140:寫入程序
150:讀出程序
710、720:步驟
A、B:核心
B1~B4:記憶體區塊
P1~P4:程式
S1:第一設定命令
S2:第二設定命令
圖1A繪示本發明一實施例的處理裝置的示意圖。
圖1B繪示本發明另一實施例的處理裝置的示意圖。
圖2繪示本發明另一實施例的處理裝置的示意圖。
圖3繪示本發明另一實施例的處理裝置的示意圖。
圖4繪示本發明另一實施例的處理裝置的示意圖。
圖5繪示本發明另一實施例的處理裝置的示意圖。
圖6繪示本發明另一實施例的處理裝置的示意圖。
圖7繪示本發明一實施例的處理裝置的資料存取流程圖。
100:處理裝置
110、120:緩衝器
130:鏡像緩衝控制器
140:寫入程序
150:讀出程序
S1:第一設定命令
Claims (10)
- 一種處理裝置,包括:一第一緩衝器,用以儲存一第一資料;一第二緩衝器,用以儲存一第二資料;以及一鏡像緩衝控制器,耦接所述第一緩衝器以及所述第二緩衝器,其中,所述鏡像緩衝控制器在所述第一資料被修改時自動地複製所述第一緩衝器中的所述第一資料至所述第二緩衝器作為所述第二資料,所述第二資料用以提供所述處理裝置的至少一核心或至少一讀取程序進行讀取。
- 如請求項1所述的處理裝置,其中所述處理裝置對所述第一緩衝器執行寫入程序以將所述第一資料寫入所述第一緩衝器,所述鏡像緩衝控制器將所述第二資料儲存至所述第二緩衝器以提供所述處理裝置的讀取程序進行讀取。
- 如請求項1所述的處理裝置,其中所述處理裝置包括一第一核心以及一第二核心,所述第一核心對所述第一緩衝器執行寫入程序以將所述第一資料寫入所述第一緩衝器,所述鏡像緩衝控制器將所述第二資料儲存至所述第二緩衝器以提供所述第二核心的讀取程序進行讀取。
- 如請求項3所述的處理裝置,其中所述處理裝置更包括一第三緩衝器與一第四緩衝器,所述第一核心對所述第三緩衝 器執行寫入程序以及讀出程序,所述第二核心對所述第四緩衝器執行寫入程序以及讀出程序。
- 如請求項1所述的處理裝置,其中所述處理裝置更包含:一第三緩衝器,用以儲存一第三資料;其中,所述鏡像緩衝控制器耦接該第三緩衝器,所述鏡像緩衝控制器更用以在所述第一資料被修改時自動地複製所述第一緩衝器中的所述第一資料至所述第三緩衝器作為所述第三資料。
- 如請求項1所述的處理裝置,所述處理裝置更包括:一第三緩衝器,用以儲存一第三資料;以及一第四緩衝器,用以儲存一第四資料,其中所述緩衝控制器耦接所述第三緩衝器以及所述第四緩衝器,所述鏡像緩衝控制器在所述第三資料被修改時自動地複製所述第三緩衝器中的所述第三資料至所述第四緩衝器作為所述第四資料。
- 如請求項6所述的處理裝置,其中所述處理裝置對所述第一緩衝器以及所述第三緩衝器執行寫入程序,以將所述第一資料以及所述第三資料分別寫入所述第一緩衝器以及所述第三緩衝器,所述鏡像緩衝控制器將所述第二資料以及所述第四資料分別儲存至所述第二緩衝器以及所述第四緩衝器以提供所述處理裝置的讀取程序進行讀取。
- 如請求項2所述的處理裝置,其中所述鏡像緩衝控制器依據一調換命令使所述處理裝置對所述第二緩衝器執行寫入程序以將一第三資料寫入所述第二緩衝器,所述鏡像緩衝控制器並依據所述調換命令自動地複製所述第三資料至所述第一緩衝器作為一第四資料,以提供所述處理裝置的讀取程序進行讀取。
- 一種處理裝置的資料存取方法,包括:提供一第一緩衝器以及一第二緩衝器以分別儲存一第一資料以及一第二資料;提供一鏡像緩衝控制器,並且由所述鏡像緩衝控制器在所述第一資料被修改時自動地複製所述第一緩衝器中的所述第一資料至所述第二緩衝器作為所述第二資料,所述第二資料用以提供所述處理裝置的至少一核心或至少一讀取程序進行讀取。
- 如請求項9所述的處理裝置的資料存取方法,包括:由所述處理裝置對所述第一緩衝器執行寫入程序,以將所述第一資料寫入所述第一緩衝器;以及由所述鏡像緩衝控制器將所述第二資料儲存至所述第二緩衝器以提供所述處理裝置的讀取程序進行讀取。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109132048A TWI818194B (zh) | 2020-09-17 | 2020-09-17 | 處理裝置及其資料存取方法 |
CN202011609542.0A CN114201307A (zh) | 2020-09-17 | 2020-12-30 | 处理装置及其数据访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109132048A TWI818194B (zh) | 2020-09-17 | 2020-09-17 | 處理裝置及其資料存取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202213149A TW202213149A (zh) | 2022-04-01 |
TWI818194B true TWI818194B (zh) | 2023-10-11 |
Family
ID=80645418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109132048A TWI818194B (zh) | 2020-09-17 | 2020-09-17 | 處理裝置及其資料存取方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114201307A (zh) |
TW (1) | TWI818194B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049070A (zh) * | 2012-12-27 | 2013-04-17 | 加弘科技咨询(上海)有限公司 | 缓存数据的掉电保护方法及计算机设备 |
US8489810B2 (en) * | 2006-06-20 | 2013-07-16 | Microsoft Corporation | Cache data transfer to a staging area of a storage device and atomic commit operation |
US9037800B2 (en) * | 2008-03-18 | 2015-05-19 | Netapp, Inc. | Speculative copying of data from main buffer cache to solid-state secondary cache of a storage server |
CN109254929B (zh) * | 2018-09-05 | 2020-09-08 | 北京智芯微电子科技有限公司 | 实现数据被可靠写入芯片的方法 |
-
2020
- 2020-09-17 TW TW109132048A patent/TWI818194B/zh active
- 2020-12-30 CN CN202011609542.0A patent/CN114201307A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489810B2 (en) * | 2006-06-20 | 2013-07-16 | Microsoft Corporation | Cache data transfer to a staging area of a storage device and atomic commit operation |
US9037800B2 (en) * | 2008-03-18 | 2015-05-19 | Netapp, Inc. | Speculative copying of data from main buffer cache to solid-state secondary cache of a storage server |
CN103049070A (zh) * | 2012-12-27 | 2013-04-17 | 加弘科技咨询(上海)有限公司 | 缓存数据的掉电保护方法及计算机设备 |
CN109254929B (zh) * | 2018-09-05 | 2020-09-08 | 北京智芯微电子科技有限公司 | 实现数据被可靠写入芯片的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114201307A (zh) | 2022-03-18 |
TW202213149A (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI697805B (zh) | 載入和虛擬化密碼金鑰 | |
US10719632B2 (en) | Data processing systems | |
JP6289029B2 (ja) | 保安コンテンツを処理するシステムオンチップ及びそれを含むモバイル装置 | |
JP4519738B2 (ja) | メモリアクセス制御装置 | |
TWI509453B (zh) | 非法模式改變處置 | |
JP5179257B2 (ja) | キャッシュメモリの中の制御データの修正 | |
JP4939387B2 (ja) | データ処理装置及びアドレス空間保護方法 | |
JP4347582B2 (ja) | 情報処理装置 | |
WO2010097925A1 (ja) | 情報処理装置 | |
JP2020520037A (ja) | 孤立したユーザーコンピューティング部を有するコンピュータ | |
JP2009009232A (ja) | コンピュータとカーネル保護方法並びにコンピュータソフトウエア | |
JP2010205261A (ja) | パラメータコピー方法およびパラメータコピー装置 | |
TWI818194B (zh) | 處理裝置及其資料存取方法 | |
JP2020205050A (ja) | リソース保護 | |
JP2006338426A (ja) | 計算機システム | |
JP2010009454A (ja) | 情報処理装置 | |
JP2007109053A (ja) | バスアクセス制御装置 | |
TW201804331A (zh) | 半導體裝置及其記憶體存取控制方法 | |
JP7431791B2 (ja) | ストレージシステム及びデータ処理方法 | |
JP2010134572A (ja) | セキュリティを実現する装置、および方法 | |
US20240054071A1 (en) | Hardware mechanism to extend mktme protections to sgx data outside epc | |
JP2017208058A (ja) | 情報処理装置 | |
JP2006260393A (ja) | Cpuシステム | |
JP2007213131A (ja) | マイクロプロセッサおよびメモリアクセスシステム | |
JPH0635747A (ja) | デバッグ支援装置 |