国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      在互連中實施數(shù)據(jù)保護的制作方法

      文檔序號:10725562閱讀:156來源:國知局
      在互連中實施數(shù)據(jù)保護的制作方法
      【專利摘要】本公開涉及在互連中實施數(shù)據(jù)保護。提供了互連電路和操作互連電路的方法,其中互連電路適于將至少兩個主設備耦合至存儲器,每個主設備包括本地緩存。由互連電路仲裁的對存儲器的任意訪問都被位于互連電路與存儲器之間的存儲器保護控制器監(jiān)管?;ミB電路將與從一個主設備接收到的存儲器事務相關聯(lián)的一致性類型修改為一種類型,該類型確保當由發(fā)出主設備指定的事務目標的拷貝的修改的版本是存儲在另一主設備的本地緩存中時,對存儲器中的事務目標的訪問必然發(fā)生,由此該訪問必須被存儲器保護控制器監(jiān)管。
      【專利說明】
      在互連中實施數(shù)據(jù)保護
      技術領域
      [0001 ]本公開涉及互連電路。更具體地,本公開涉及在互連電路中實施數(shù)據(jù)保護?!颈尘凹夹g】
      [0002]已知提供了互連電路,該互連電路將若干主設備連接至存儲器,以便當這些主設備中的一個主設備尋求訪問存儲在存儲器中的數(shù)據(jù)項時,存儲器事務由互連電路來仲裁, 并且如果數(shù)據(jù)項根據(jù)響應從存儲器返回,這也由互連電路來仲裁。還已知提供了具有實現(xiàn)緩存一致性協(xié)議的能力的互連電路,其中當主設備具有它們自己的本地緩存時,互連電路可以響應于從一個主設備接收到的存儲器事務來監(jiān)聽屬于其他主設備的本地緩存的內(nèi)容, 從而確定目標數(shù)據(jù)項(其是存儲器事務的主體(sub ject))的本地拷貝當前是否被存儲在這些其他本地緩存中的一個本地緩存中。如果互連響應于存儲器事務可以提供該本地拷貝, 則互連可以向存儲器中的該本地拷貝和/或原始目標數(shù)據(jù)項發(fā)起請求的更新(如必要的話),等等,從而維持系統(tǒng)內(nèi)的正確的一致性。還已知,當主設備發(fā)出存儲器事務(該存儲器事務然后被互連電路接收)時,存儲器事務可以指定一致性類型,該一致性類型指示互連電路應當實施的一致性響應的類型,這樣一旦互連電路已經(jīng)實施適當?shù)囊恢滦皂憫?,另一主設備的本地緩存中的目標數(shù)據(jù)項的拷貝和存儲器中的原始拷貝被置于發(fā)出存儲器事務的主設備所期望的狀態(tài)。
      【發(fā)明內(nèi)容】

      [0003]從第一方面來看,本技術提供了互連電路,該互連電路包括:事務一致性電路,其響應于從第一主設備接收到的存儲器事務,其中存儲器事務指定存儲器中的事務目標和一致性類型,事務一致性電路使得監(jiān)聽訪問依賴于一致性類型被發(fā)送至第二主設備的緩存, 并且當存儲器訪問事務從第二主設備被接收從而維持緩存中的事務目標的拷貝的一致性時,事務一致性電路將存儲器訪問事務發(fā)送至存儲器保護控制器,存儲器保護控制器被安排以監(jiān)管對存儲器的訪問;以及事務監(jiān)視電路,該事務監(jiān)視電路響應于從第一主設備接收到存儲器事務來將一致性類型修改為存儲器訪問一致性類型,其中當事務目標的拷貝的修改的版本在緩存中時,事務一致性電路響應于存儲器訪問一致性類型來發(fā)起對存儲器中的事務目標的訪問。
      [0004]從第二方面來看,本技術提供了數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括第一主設備和第二主設備,其中第一主設備包括第一緩存,并且第二主設備包括第二緩存;存儲器;存儲器保護控制器,該存儲器保護控制器用來監(jiān)管對存儲器的訪問;以及根據(jù)上述第一方面的互連電路。
      [0005]從第三方面來看,本技術提供了互連電路,該互連電路包括:用于響應于由第一主設備發(fā)出的存儲器事務,其中存儲器事務指定存儲器中的事務目標和一致性類型,使得監(jiān)聽訪問依賴于一致性類型被發(fā)送至第二主設備的緩存的裝置;用于當存儲器訪問事務從第二主設備被接收從而維持緩存中的事務目標的拷貝的一致性時,將存儲器訪問事務發(fā)送至存儲器保護控制器的裝置,其中存儲器保護控制器被安排以監(jiān)管對存儲器的訪問;用于響應于從第一主設備接收到存儲器事務,將一致性類型修改為存儲器訪問一致性類型的裝置;以及用于當事務目標的拷貝的修改的版本在緩存中時,響應于存儲器訪問一致性類型, 發(fā)起對存儲器中的事務目標的訪問的裝置。
      [0006]從第四方面來看,本技術提供了操作互連的方法,該方法包括:響應于由第一主設備發(fā)出的存儲器事務,其中存儲器事務指定存儲器中的事務目標和一致性類型,使得監(jiān)聽訪問依賴于一致性類型被發(fā)送至第二主設備的緩存;當存儲器訪問事務從第二主設備被接收從而維持緩存中的事務目標的拷貝的一致性時,將存儲器訪問事務發(fā)送至存儲器保護控制器,存儲器保護控制器被安排以監(jiān)管對存儲器的訪問;響應于從第一主設備接收到存儲器事務,將一致性類型修改為存儲器訪問一致性類型;以及當事務目標的拷貝的修改的版本在緩存中時,響應于存儲器訪問一致性類型,發(fā)起對存儲器中的事務目標的訪問。【附圖說明】
      [0007]下面將通過示例的方式參考附圖中所示出的實施例來描述本技術,其中:
      [0008]圖1示意性示出了一個實施例中的數(shù)據(jù)處理系統(tǒng);
      [0009]圖2A示意性更詳細地示出了一個實施例中的圖1示出的緩存一致互連;
      [0010]圖2B示出了一個實施例中的由圖2A的緩存一致互連的事務監(jiān)視器使用的一致性類型的示例修改定義;以及
      [0011]圖3示出了一個實施例中的當操作緩存一致互連時實施的一系列步驟。【具體實施方式】
      [0012]至少一些實施例提供了互連電路,該互連電路包括:事務一致性電路,響應于從第一主設備接收到的存儲器事務,其中存儲器事務指定存儲器中的事務目標和一致性類型, 事務一致性電路使得監(jiān)聽訪問依賴于一致性類型被發(fā)送至第二主設備的緩存,并且當存儲器訪問事務從第二主設備被接收從而維持緩存中的事務目標的拷貝的一致性時,事務一致性電路將存儲器訪問事務發(fā)送至存儲器保護控制器,存儲器保護控制器被安排以監(jiān)管對存儲器的訪問;以及事務監(jiān)視電路,該事務監(jiān)視電路響應于從第一主設備接收到存儲器事務來將一致性類型修改為存儲器訪問一致性類型,其中當事務目標的拷貝的修改的版本在緩存中時,事務一致性電路響應于存儲器訪問一致性類型來發(fā)起對存儲器中的事務目標的訪問。
      [0013]本技術認識到,盡管在互連電路與存儲器之間提供了諸如存儲器保護控制器之類的數(shù)據(jù)安全實施機制,但是包括已知互連電路的數(shù)據(jù)處理系統(tǒng)可能面對安全漏洞。存儲器保護控制器過濾由互連電路仲裁的并且被轉發(fā)至存儲器的所有存儲器事務,從而拒絕尋求訪問不允許發(fā)出存儲器事務的主設備訪問的存儲器中的事務目標的存儲器事務。存儲器保護控制器可以采取多種形式,但是在一些實施例中是由英國劍橋ARM有限公司提供的 TrustZone控制器(TrustZone Controller,TZC)。類似地,互連電路可以采取多種形式,但是在一些實施例中是由根據(jù)英國劍橋ARM有限公司指定的AMBA 4ACE和/或ACE-Lite協(xié)議操作的緩存一致互連提供的。
      [0014]本技術認識到,盡管在互連電路與存儲器之間提供了存儲器保護控制器,但是由互連電路支持緩存一致性的事實可能使得數(shù)據(jù)項在不經(jīng)過存儲器保護控制器的情況下在數(shù)據(jù)處理系統(tǒng)中的主設備的本地緩存之間被傳送。因此,由存儲器保護控制器提供的安全保護不被這些緩存間數(shù)據(jù)傳送調(diào)用,因而可能產(chǎn)生可以被利用的安全漏洞。例如,在該情況下下面的攻擊途徑將是可能的。第一,未受保護的(非安全的)主設備可以從另一主設備(它可能已經(jīng)被保護)的本地緩存中讀取受保護的(安全的)數(shù)據(jù)。第二,未受保護的主設備可以使另一主設備(它可能已經(jīng)被保護)的本地緩存中受保護的數(shù)據(jù)失效。第三,受保護的主設備可以從另一主設備的本地緩存讀取數(shù)據(jù),其中,該數(shù)據(jù)可能已經(jīng)被未受保護的線程或具有不同保護水平的線性創(chuàng)建。然而,針對這個問題的一個方法將是簡單地禁用緩存一致性協(xié)議,這可能在性能和軟件復雜性方面具有顯著的負面影響。
      [0015]本技術認識到這個問題并且解決這個問題。根據(jù)本技術,在互連電路中提供了事務監(jiān)視電路,該事務監(jiān)視電路響應于接收到由數(shù)據(jù)處理系統(tǒng)中的一個主設備發(fā)出的存儲器事務,具體地識別該存儲器事務中所指定的一致性類型,并且將一致性類型修改為將確保所有實施的事務都必須經(jīng)過存儲器保護控制器以便被成功地完成的一個類型(“存儲器訪問一致性類型”)。因此,保證由配設的存儲器保護控制器所提供的保護將被應用,即使在可能以其他方式繞過存儲器保護控制器的緩存間數(shù)據(jù)傳送的情況下。
      [0016]因此,一方面,當監(jiān)聽第二主設備的本地緩存使得產(chǎn)生由該第二主設備發(fā)出的存儲器事務時,確保這個存儲器事務被存儲器保護控制器監(jiān)管。另一方面,對于由第一主設備發(fā)出的原始存儲器事務,也確保這個存儲器事務本身被存儲器保護控制器監(jiān)管。因此,當使用本技術的互連電路時,不會出現(xiàn)上述安全漏洞。
      [0017]在一些實施例中,事務一致性電路響應于對第二的監(jiān)聽訪問已經(jīng)完成的指示,從而通過將存儲器事務轉發(fā)至存儲器保護控制器來發(fā)起對存儲器中的事務目標的進一步訪問。換句話說,當存儲器事務從第一主設備被接收時,這使得產(chǎn)生對屬于另一主設備的另一本地緩存的監(jiān)聽訪問,互連電路確保由第一主設備發(fā)出的存儲器事務在互連電路中被保持直到互連電路從第二主設備接收到對緩存的監(jiān)聽訪問(包括任何產(chǎn)生的存儲器訪問)已經(jīng)完成的指示為止。因此,這個依賴關系支持將目標數(shù)據(jù)項的正確版本提供至第一主設備(在請求的情況下),并且這個依賴關系使得在監(jiān)聽訪問完成之前第一主設備不能接收對它發(fā)出的存儲器事務的響應,因此進一步支持了本安全增強技術。
      [0018]如果事務目標的拷貝的修改的版本(例如,標為“臟(dirty)”)在(第二主設備的) 緩存中,則事務一致性電路響應于存儲器訪問一致性類型來發(fā)起對存儲器中的事務目標的訪問的特定方式可以采取多種形式,但是在一些實施例中,事務一致性電路具有通過發(fā)起對第二緩存的清除訪問來發(fā)起對存儲器中的事務目標的訪問的結構。因此,這樣的清除訪問確保存儲在緩存中的事務目標的拷貝的修改的版本必須被傳播至存儲器以便更新事務目標,由此也必須被存儲器保護控制器監(jiān)管。
      [0019]在一些實施例中,在事務一致性電路接收到對緩存的監(jiān)聽訪問(包括由該監(jiān)聽訪問觸發(fā)的任何存儲器訪問事務)已完成的指示之前,事務一致性電路不將由第一主設備發(fā)出的存儲器事務轉發(fā)至存儲器保護控制器。在一些實施例中,為了支持這個功能,事務一致性電路具有緩沖器,其保持存儲器事務,直到事務一致性電路接收到由第二緩存發(fā)起的對存儲器中事務目標的訪問已經(jīng)完成的指示為止。
      [0020]在一些實施例中,存儲器訪問一致性類型指示對存儲器中的事務目標的訪問必須依賴于緩存中的事務目標的拷貝來更新存儲器中的事務目標。該存儲器訪問一致性類型可以采取多種形式,但是在一些實施例中,例如實現(xiàn)上述基于ACE的互連電路的這些實施例, 該存儲器訪問一致性類型是以標簽“clean”開頭的ACSNOOP值之一。
      [0021]—致性類型可以指示發(fā)出主設備已經(jīng)指定的與所發(fā)出的存儲器事務相關聯(lián)的若干不同的一致性維持結果。在一些實施例中,一致性類型指示對存儲器中的事務目標的訪問是讀取訪問?;蛘咚梢允菍懭朐L問??商娲鼗虼送猓梢允菍彺嬷械氖聞漳繕说目截惖臒o效訪問。
      [0022]在一些實施例中,存儲器訪問一致性類型指示對緩存的監(jiān)聽訪問必須使緩存中的事務目標的拷貝無效。例如,在實現(xiàn)上述基于ACE的互連的一些實施例中,存儲器訪問和一致性類型可以是ACSNOOP值“Cleanlnvalid”。[〇〇23]雖然本技術的實現(xiàn)方式確保遵守數(shù)據(jù)處理系統(tǒng)中所要求的安全注意事項,即使在互連電路支持多個主設備的本地緩存之間的直接數(shù)據(jù)訪問的情況下,但是本技術還認識到上述方法必然具有一定的性能影響。在該上下文下,本技術還認識到可能存在可以安全地抑制這些技術的應用的具體情況。具體地認識到,在知道第二主設備的配置(例如,它托管的軟件線程的類型)、與存儲器事務相關聯(lián)的安全水平(例如,從使得存儲器事務被第一主設備發(fā)出的線程獲得)、和/或存儲器事務中指定的主標識符(即,指示發(fā)出存儲器事務的主設備)的情況下,可安全地防止事務監(jiān)視電路修改一致性類型。[〇〇24]因此,在一些實施例中,互連電路還包括一致性修改覆蓋電路,該一致性修改覆蓋電路依賴于知道的第二主設備的配置來防止事務監(jiān)視電路修改一致性類型。一致性修改覆蓋電路可以被安排以依賴于與存儲器事務相關聯(lián)的安全水平來防止事務監(jiān)視電路修改一致性類型。一致性修改覆蓋電路可以被安排以依賴于存儲器事務中指定的主標識符來防止事務監(jiān)視電路修改一致性類型。例如,如果已知使得存儲器事務被發(fā)出的線程是未受保護的(例如,處于數(shù)據(jù)處理系統(tǒng)中支持的最低安全水平,例如,在實現(xiàn)上述基于ACE的互連的實施例中,NSAID = 0)并且已知被監(jiān)聽的主設備不托管受保護的線程,則在不進行一致性類型修改的情況下可以允許進行相應緩存之間的直接數(shù)據(jù)傳送。然而,值得注意的是,如果使得存儲器事務被發(fā)出的線程是受保護的或被監(jiān)聽的主設備托管受保護的線程,則必須允許進行一致性類型修改從而保證所要求的安全。[〇〇25]至少一些實施例提供了數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括第一主設備和第二主設備,其中第一主設備包括第一緩存,并且第二主設備包括第二緩存;存儲器;存儲器保護控制器,該存儲器保護控制器用來監(jiān)管對存儲器的訪問;以及上面所討論的任意實施例或它們的組合的互連電路。
      [0026]存儲器保護控制器可以以多種方式來監(jiān)管對存儲器的訪問,但是在一些實施例中,存儲器保護控制器被安排為:當存儲器事務的至少一個屬性指示不允許存儲器事務的來源訪問由存儲器事務指定的存儲器中的事務目標時,拒絕尋求訪問存儲器的存儲器事務。[〇〇27] 至少一些實施例提供了互連電路,該互連電路包括:用于響應于由第一主設備發(fā)出的存儲器事務,其中存儲器事務指定存儲器中的事務目標和一致性類型,使得監(jiān)聽訪問依賴于一致性類型被發(fā)送至第二主設備的緩存的裝置;用于當存儲器訪問事務從第二主設備被接收從而維持緩存中的事務目標的拷貝的一致性時,將存儲器訪問事務發(fā)送至存儲器保護控制器的裝置,該存儲器保護控制器被安排以監(jiān)管對存儲器的訪問;用于響應于從第一主設備接收到存儲器事務,將一致性類型修改為存儲器訪問一致性類型的裝置;以及用于當事務目標的拷貝的修改的版本在緩存中時,響應于存儲器訪問一致性類型,發(fā)起對存儲器中的事務目標的訪問的裝置。
      [0028] 至少一些實施例提供了操作互連的方法,該方法包括:響應于由第一主設備發(fā)出的存儲器事務,其中存儲器事務指定存儲器中的事務目標和一致性類型,使得監(jiān)聽訪問依賴于一致性類型被發(fā)送至第二主設備的緩存;當存儲器訪問事務從第二主設備被接收從而維持緩存中的事務目標的拷貝的一致性時,將存儲器訪問事務發(fā)送至存儲器保護控制器, 存儲器保護控制器被安排以監(jiān)管對存儲器的訪問;響應于從第一主設備接收到存儲器事務,將一致性類型修改為存儲器訪問一致性類型;以及當事務目標的拷貝的修改的版本在緩存中時,響應于存儲器訪問一致性類型,發(fā)起對存儲器中的事務目標的訪問。[〇〇29]圖1示意性示出一個實施例中的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)包括三個主設備12、 14、和16,該三個主設備12、14、和16針對存儲在存儲器18中的數(shù)據(jù)項執(zhí)行數(shù)據(jù)處理操作。主設備中的一個主設備與存儲器18之間的訪問由緩存一致互連20來仲裁。這個互連電路(被稱為“緩存互連”)響應于從一個主設備接收到的存儲器事務,來監(jiān)聽數(shù)據(jù)處理裝置中的其他主設備并且具體地使得產(chǎn)生對它們相應的本地緩存的內(nèi)容的檢查,從而確定存儲器事務的事務目標的拷貝當前是否被存儲在這些本地緩存中的一個本地緩存中。如圖1中所示出的,每個主設備分別包括它自己的本地緩存22、24、和26。圖1示意性示出如下情況:存儲器事務由主設備12發(fā)出,該主設備12將存儲在存儲器18中的數(shù)據(jù)項28指定為它的事務目標, 并且其中該數(shù)據(jù)項的本地拷貝30當前被存儲在主設備14的緩存24中。
      [0030]數(shù)據(jù)處理系統(tǒng)10還包括存儲器保護控制器32,該存儲器保護控制器32監(jiān)管從緩存一致互連20接收到的尋求訪問存儲器18中的事務目標的任何存儲器事務,并且阻塞任何未授權的訪問,即,存儲器事務指示它被不允許訪問指定的事務目標的來源發(fā)出。在所示出的不例中,數(shù)據(jù)處理系統(tǒng)10實現(xiàn)TrustZone介質保護(TrustZone Media Protect1n,TZMP), 并且緩存一致互連20被安排以根據(jù)ACE協(xié)議進行操作,例如由英國劍橋ARM有限公司所指定的。然而,作為對這樣的緩存一致互連的已知配置的擴展,圖1的示例中的緩存一致互連20 (根據(jù)本技術進行操作)通過執(zhí)行監(jiān)聽類型修改來確保所有存儲器事務針對讀取訪問和寫入訪問二者都經(jīng)過存儲器保護控制器32,下面將詳細地進行描述。[〇〇31]圖2A示意性更詳細地示出了圖1所示出的緩存一致互連20。緩存一致互連20包括事務監(jiān)視器40和事務一致性單元42。緩存一致互連20還包括覆蓋單元44。從數(shù)據(jù)處理系統(tǒng)中的主設備(例如,從主設備12)接收到的存儲器事務被事務監(jiān)視器40和覆蓋電路44兩者接收。事務監(jiān)視器40具有識別存儲器事務中定義的一致性類型的特定功能,并且(依賴于它保持的修改定義46)可以將一致性類型修改為存儲器訪問一致性類型。存儲器事務(包含可能修改的一致性類型)被傳遞至事務一致性單元42。圖2B中示出了被保持為事務監(jiān)視器40中的修改定義46的一組示例一致性類型轉換。注意,在圖2B中給出的修改定義中,所有修改的一致性類型指定“Clean”,意味著之后由緩存一致互連20實現(xiàn)的任何監(jiān)聽動作必然產(chǎn)生針對在數(shù)據(jù)處理系統(tǒng)中的本地緩存(其為該監(jiān)聽的主體)中找到的數(shù)據(jù)項的任何修改的(例如,被標為“臟(dirty)”)拷貝的清除事務。因此,這個清除事務將必然包括嘗試訪問存儲在存儲器18中的數(shù)據(jù)項的相應版本,并且將必然遇到存儲器保護控制器32。
      [0032]考慮由圖2B中指定的一致性類型的幾個示例,注意,由發(fā)出主設備對指定一致性類型READ_0NCE的存儲器事務所請求的響應是,如果目標數(shù)據(jù)項的拷貝由另一主設備的本地緩存保持,則它被讀取并且被返回至發(fā)出主設備,然而隨著一致性類型修改(修改為 CLEAN_SHARED),這仍然允許其他主設備在它的本地緩存中保持拷貝,但是任何修改都必須被傳播至存儲器。在指定READJJNIQUE—致性類型的存儲器事務的示例中,這指示發(fā)出主設備要求數(shù)據(jù)項被讀取并且被從該數(shù)據(jù)項被發(fā)現(xiàn)的另一主設備的本地緩存中去分配(使之失效)。由于存儲在其他緩存中的拷貝的失效根據(jù)數(shù)據(jù)處理系統(tǒng)的安全定義可能實際上不是適當?shù)?,因此根?jù)本技術(將一致性類型修改為CLEAN_INVALID),不允許根據(jù)READ_UNIQUE 的監(jiān)聽訪問的結果可能僅僅使其他緩存中的數(shù)據(jù)項失效的情況。本技術確保針對監(jiān)聽訪問的經(jīng)由存儲器保護控制器的存儲器事務的傳播是響應于CLEAN_INVALID—致性類型被實施的,由此這樣的不適合的失效不會出現(xiàn)。[〇〇33] 事務一致性單元42包括事務緩沖器44,該事務緩沖器44臨時保持由緩存一致互連 20接收到的存儲器事務,同時事務一致性單元42實施任何請求的監(jiān)聽操作。具體地,在由事務監(jiān)視器40根據(jù)圖2B中示出的定義而實施的一致性類型的修改之后,對數(shù)據(jù)處理系統(tǒng)中的其他主設備的監(jiān)聽訪問將然后根據(jù)一致性類型CLEAN_SHARED或CLEAN_INVALID來做出。事務一致性單元42然后等待,直到它從已經(jīng)成為這個監(jiān)聽訪問的主體的任意主設備接收相應的“完成(complete)”信號為止。作為接收這個監(jiān)聽訪問的結果,系統(tǒng)中保持指定的數(shù)據(jù)項的拷貝的另一主設備的緩存將發(fā)起它自己的存儲器事務,從而回寫它的該數(shù)據(jù)項的拷貝 (并且,如果監(jiān)聽訪問是CLEAN_INVALID類型,則將它的本地拷貝標記為無效)。然后由系統(tǒng)中的另一主設備發(fā)出的該存儲器事務(針對回寫)本身被緩存一致互連20仲裁(但回寫將不會觸發(fā)緩存一致互連之內(nèi)的相同監(jiān)聽機制),并且經(jīng)由存儲器保護控制器32被轉發(fā)至存儲器18,因此確保該存儲器事務是根據(jù)數(shù)據(jù)處理系統(tǒng)內(nèi)的安全定義的。一旦由發(fā)出主設備接收到該回寫存儲器事務已經(jīng)完成的指示,發(fā)出主設備向事務一致性單元42發(fā)出監(jiān)聽訪問現(xiàn)在已經(jīng)完成的信號。作為響應,事務一致性單元42然后釋放緩沖在事務緩沖器44中的存儲器事務。在存儲器事務是根據(jù)數(shù)據(jù)處理系統(tǒng)的安全定義的情形下,如果該存儲器事務本身要求訪問存儲器,則該存儲器事務被轉發(fā)至存儲器保護控制器32以被傳遞至存儲器18,從而確保該存儲器事務也遵守這些安全定義。如果存儲器事務本身不要求訪問存儲器(例如, 對于CLEAN_SHARD、MAKE_INVALID和CLEAN_INVALID標記的事務的情況),則存儲器事務從事務緩沖器44的釋放然后允許緩存一致互連20將這個存儲器事務完成的信號發(fā)送至它的發(fā)出主設備。[〇〇34]值得注意的是,從第一主設備接收到的存儲器事務可以指定圖2B中示出的示例修改定義中未列出的一致性類型,因為存儲器事務不僅可以指定讀取訪問或無效訪問,而且可以指定寫入訪問。然而,與寫入訪問相關聯(lián)的諸如WRITE_UNIQUE和WRITE_LINE_UNIQUE之類的一致性類型分別被緩存一致互連20的監(jiān)聽功能修改以分別變?yōu)橐恢滦灶愋虲LEAN_ INVALID和MAKE_INVALID。后面的這些一致性類型可以在圖2B所示出的示例中找到,其中可以看出,事務監(jiān)視器40的接收產(chǎn)生修改的一致性類型CLEAN_INVALID。因此,可以理解的是, 由緩存一致性互連20提供的監(jiān)聽功能的該方面(針對寫入訪問)在修改之前在事務監(jiān)視器 40中發(fā)生。因此,先前指定一致性類型WRITEJJNIQUE或WRITE_LINE_UNIQUE的存儲器事務在所要求的寫入被執(zhí)行之前將已分別產(chǎn)生CLEAN_INVALID監(jiān)聽或MAKE_INVALID監(jiān)聽?,F(xiàn)在本技術提供,CLEAN_INVALID類型監(jiān)聽被首先執(zhí)行,因此也確保這些寫入訪問存儲器事務遵守數(shù)據(jù)處理系統(tǒng)中的安全定義。[〇〇35]最終,回想,覆蓋單元44還接收由第一主設備發(fā)出的存儲器事務。其中因為與存儲器事務相關聯(lián)的安全水平(例如,NSAID值)、數(shù)據(jù)處理系統(tǒng)中的其他主設備的已知配置(例如,它們不托管任何受保護的線程)、和/或該存儲器事務從其接收的特定主設備(例如,如存儲器事務中的主標識符所指定的),所以覆蓋單元44識別存儲器事務不能造成潛在的安全侵犯,覆蓋單元44向事務監(jiān)視器40發(fā)出事務監(jiān)視器40不應當執(zhí)行對該事務的一致性類型修改的信號。例如,如果已知使得存儲器事務被發(fā)出的線程是未受保護的并且未知被監(jiān)聽的主設備不托管受保護的線程,則訪問可以被允許在不發(fā)生任何監(jiān)聽類型修改的情況下使用直接數(shù)據(jù)傳送。
      [0036]圖3示出了當操作例如圖1和圖2A的示例中所示出的緩存一致性互連時根據(jù)本技術的一個實施例而采取的一系列步驟。流程在步驟50處開始,其中第一主設備發(fā)出存儲器事務。然后,在步驟52處,存儲器事務在互連中被緩沖。在步驟54處,基于生成的線程、被監(jiān)聽的主設備和與存儲器事務相關聯(lián)的安全水平(例如,如NSAID值所指定的)來確定存儲器事務是否是安全的。如果基于這些標準發(fā)現(xiàn)存儲器事務不被保證是安全的,則流程進行至步驟56,其中確定與存儲器事務相關聯(lián)的指定的一致性類型是否是READ_0NCE、READ_ SHARD、READ_CLEAN、READ_NOT_SHARD_DI RTY、或 CLEAN_SHARD。如果是這些一致性類中的一個,則流程進行經(jīng)過步驟58,其中該類型被修改為CLEAN_SHARD。在步驟60處,確定與接收到的存儲器事務相關聯(lián)的一致性類型是否是READ_UNIQUE、CLEAN_INVALID、或MAKE_INVALID。 如果是,則流程經(jīng)過步驟62,其中一致性步驟被修改為CLEAN_INVALID。然后,在步驟64處, 緩存一致性互連使用(可能被修改的)一致性類型來執(zhí)行監(jiān)聽系統(tǒng)中其他主設備。在步驟66 處,確定作為監(jiān)聽的結果是否要求訪問存儲器,并且如果不是,則流程進行至步驟68,其中釋放緩沖的存儲器事務,并且如果必要則將緩沖的存儲器事務發(fā)送至存儲器保護控制器 (注意,諸如這些被標記為CLEAN_INVALID之類的從主設備接收到的一些存儲器事務不要求數(shù)據(jù)被返回至該主設備,由此這些存儲器事務本身不要求傳遞至存儲器保護控制器)。返回考慮步驟54,如果發(fā)現(xiàn)確實已知存儲器事務是安全的,則流程直接進行至步驟64。在步驟66 處,如果確定作為監(jiān)聽操作的結果要求訪問存儲器,則流程經(jīng)過步驟70,其中由緩存一致性互連將實現(xiàn)所要求的存儲器訪問的進一步存儲器事務發(fā)送至存儲器保護控制器(并且如果存儲器保護控制器允許,則然后至訪問存儲器)。流程在步驟72處等待,直到系統(tǒng)中的(一個或多個)其他主設備指示它們接收到它們相應的作為監(jiān)聽結果所發(fā)起的存儲器事務已經(jīng)完成,并且當這個是真的時,流程然后進行至步驟68(如上所述)。[〇〇37]簡而言之,提供了互連電路和操作互連電路的方法,其中互連電路適于將至少兩個主設備耦合至存儲器,每個主設備包括本地緩存。由互連電路仲裁的對存儲器的任意訪問都被位于互連電路與存儲器之間的存儲器保護控制器監(jiān)管。互連電路將與從一個主設備接收到的存儲器事務相關聯(lián)的一致性類型修改為一種類型,該類型確保當由發(fā)出主設備指定的事務目標的拷貝的修改的版本是存儲在另一主設備的本地緩存中時,對存儲器中的事務目標的訪問必然發(fā)生,由此該訪問必須被存儲器保護控制器監(jiān)管。[〇〇38]在本申請中,詞語“被配置為”或“被安排以”被用來指裝置的元件具有能夠實施所定義的操作的配置。在該上下文中,“配置”指硬件或軟件的互連的安排或方式。例如,裝置可以具有提供所定義的操作的專用硬件或可以被編程以執(zhí)行功能的處理器或其他處理設備?!氨慌渲脼椤焙汀氨话才乓浴辈话凳狙b置元件需要以任意方式改變從而提供所定義的操作。
      [0039]雖然本文已經(jīng)參考附圖詳細描述了說明性的實施例,但是應當理解的是,本發(fā)明不限于這些精確的實施例,并且本領域的技術人員在不偏離所附權利要求定義的發(fā)明的范圍和精神的情況下可以對其實現(xiàn)各種更改、附加和修改。例如,在不偏離本發(fā)明的范圍的情況下可以用獨立權利要求的特征做出從屬權利要求的特征的各種組合。
      【主權項】
      1.一種互連電路,包括:事務一致性電路,響應于從第一主設備接收到的存儲器事務,其中所述存儲器事務指 定存儲器中的事務目標和一致性類型,所述事務一致性電路使得監(jiān)聽訪問依賴于所述一致 性類型被發(fā)送至第二主設備的緩存,并且當存儲器訪問事務從所述第二主設備被接收從而 維持所述緩存中的所述事務目標的拷貝的一致性時,所述事務一致性電路將所述存儲器訪 問事務發(fā)送至存儲器保護控制器,所述存儲器保護控制器被安排以監(jiān)管對所述存儲器的訪 問;以及事務監(jiān)視電路,所述事務監(jiān)視電路響應于從所述第一主設備接收到所述存儲器事務來 將所述一致性類型修改為存儲器訪問一致性類型,其中當所述事務目標的拷貝的修改的版本在所述緩存中時,所述事務一致性電路響應 于所述存儲器訪問一致性類型來發(fā)起對所述存儲器中的所述事務目標的訪問。2.如權利要求1所述的互連電路,其中,所述事務一致性電路響應于對所述第二主設備 的監(jiān)聽訪問已經(jīng)完成的指示,從而通過將所述存儲器事務轉發(fā)至所述存儲器保護控制器來 發(fā)起對所述存儲器中的所述事務目標的進一步訪問。3.如權利要求1所述的互連電路,其中,所述事務一致性電路被安排以通過發(fā)起對所述 緩存的清除訪問來發(fā)起對所述存儲器中的所述事務目標的訪問。4.如權利要求1所述的互連電路,其中,所述事務一致性電路包括緩沖器,所述緩沖器 保持所述存儲器事務直到所述事務一致性電路接收到對所述存儲器中的所述事務目標的 訪問已經(jīng)完成的指示。5.如權利要求1所述的互連電路,其中,所述存儲器訪問一致性類型指示對所述存儲器 中的所述事務目標的訪問必須依賴于所述緩存中的所述事務目標的拷貝來更新所述存儲 器中的所述事務目標。6.如權利要求1所述的互連電路,其中,所述一致性類型指示對所述存儲器中的所述事 務目標的訪問是讀取訪問。7.如權利要求1所述的互連電路,其中,所述一致性類型指示對所述存儲器中的所述事 務目標的訪問是寫入訪問。8.如權利要求1所述的互連電路,其中,所述一致性類型指示對所述緩存的監(jiān)聽訪問必 須使所述緩存中的所述事務目標的拷貝失效。9.如權利要求1所述的互連電路,其中,所述存儲器訪問一致性類型指示對所述緩存的 監(jiān)聽訪問必須使所述緩存中的所述事務目標的拷貝失效。10.如權利要求1所述的互連電路,其中,所述互連電路還包括一致性修改覆蓋電路,所 述一致性修改覆蓋電路依賴于所述第二主設備的已知配置來防止所述事務監(jiān)視電路修改 所述一致性類型。11.如權利要求10所述的互連電路,其中,所述一致性修改覆蓋電路被安排以依賴于與 所述存儲器事務相關聯(lián)的安全水平來防止所述事務監(jiān)視電路修改所述一致性類型。12.如權利要求10所述的互連電路,其中,所述一致性修改覆蓋電路被安排以依賴于所 述存儲器事務中指定的主標識符來防止所述事務監(jiān)視電路修改所述一致性類型。13.—種數(shù)據(jù)處理系統(tǒng),包括:第一主設備和第二主設備,其中所述第一主設備包括第一緩存,并且所述第二主設備包括第二緩存;存儲器;存儲器保護控制器,所述存儲器保護控制器用來監(jiān)管對所述存儲器的訪問;以及如任意前述權利要求中所述的互連電路。14.如權利要求13所述的數(shù)據(jù)處理系統(tǒng),其中,所述存儲器保護控制器響應于尋求訪問 所述存儲器的存儲器事務,當所述存儲器事務的至少一個屬性指示不允許所述存儲器事務 的來源訪問由所述存儲器事務指定的所述存儲器中的事務目標時,拒絕所述存儲器事務。15.—種互連電路,包括:用于響應于由第一主設備發(fā)出的存儲器事務,其中所述存儲器事務指定存儲器中的事 務目標和一致性類型,使得監(jiān)聽訪問依賴于所述一致性類型被發(fā)送至第二主設備的緩存的 裝置;用于當存儲器訪問事務從所述第二主設備被接收從而維持所述緩存中的所述事務目 標的拷貝的一致性時,將所述存儲器訪問事務發(fā)送至存儲器保護控制器的裝置,所述存儲 器保護控制器被安排以監(jiān)管對所述存儲器的訪問;用于響應于從所述第一主設備接收到所述存儲器事務,將所述一致性類型修改為存儲 器訪問一致性類型的裝置;以及用于當所述事務目標的拷貝的修改的版本在所述緩存中時,響應于所述存儲器訪問一 致性類型,發(fā)起對所述存儲器中的所述事務目標的訪問的裝置。16.—種操作互連的方法,該方法包括:響應于由第一主設備發(fā)出的存儲器事務,其中所述存儲器事務指定存儲器中的事務目 標和一致性類型,使得監(jiān)聽訪問依賴于所述一致性類型被發(fā)送至第二主設備的緩存;當存儲器訪問事務從所述第二主設備被接收從而維持所述緩存中的所述事務目標的 拷貝的一致性時,將所述存儲器訪問事務發(fā)送至存儲器保護控制器,所述存儲器保護控制 器被安排以監(jiān)管對所述存儲器的訪問;響應于從所述第一主設備接收到所述存儲器事務,將所述一致性類型修改為存儲器訪 問一致性類型;以及當所述事務目標的拷貝的修改的版本在所述緩存中時,響應于所述存儲器訪問一致性 類型,發(fā)起對所述存儲器中的所述事務目標的訪問。
      【文檔編號】G06F21/79GK106096460SQ201610257120
      【公開日】2016年11月9日
      【申請日】2016年4月22日 公開號201610257120.9, CN 106096460 A, CN 106096460A, CN 201610257120, CN-A-106096460, CN106096460 A, CN106096460A, CN201610257120, CN201610257120.9
      【發(fā)明人】丹尼爾·薩拉, 安東尼·約翰·哈里斯, 哈坎·拉爾斯-戈蘭·佩爾森, 安德魯·克里斯多佛·羅斯, 伊恩·布拉特
      【申請人】Arm 有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1