TWI720565B - 記憶體控制器與資料儲存裝置 - Google Patents
記憶體控制器與資料儲存裝置 Download PDFInfo
- Publication number
- TWI720565B TWI720565B TW108126973A TW108126973A TWI720565B TW I720565 B TWI720565 B TW I720565B TW 108126973 A TW108126973 A TW 108126973A TW 108126973 A TW108126973 A TW 108126973A TW I720565 B TWI720565 B TW I720565B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- internal
- bus
- processing unit
- central processing
- Prior art date
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
一種記憶體控制器,耦接至一外部記憶體裝置,用以控制外部記憶體裝置之運作,包括一中央處理單元、一介面邏輯電路以及一仲裁電路。中央處理單元包含一內部記憶體裝置。介面邏輯電路耦接至外部記憶體裝置與一標準匯流排。仲裁電路耦接至標準匯流排與中央處理單元。仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至中央處理單元。當中央處理單元需要讀取儲存於外部記憶體裝置之一既定資料時,中央處理單元向介面邏輯電路發出一第一請求,介面邏輯電路因應第一請求自外部記憶體裝置讀取既定資料,並且透過標準匯流排將既定資料傳送至仲裁電路,仲裁電路透過靜態隨機存取記憶體匯流排直接將既定資料傳送至中央處理單元,以寫入內部記憶體裝置。
Description
本發明係關於一種資料處理電路,特別是關於一種可有效改善系統效能之資料處理電路。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合SD/MMC規格、CF規格、MS規格與XD規格的記憶卡、固態硬碟、內嵌式記憶體(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,有效的存取控制也變成一個重要的議題。
為了增進記憶體裝置的存取效能,本發明提出一種新的記憶體控制器架構,不僅可節省電路面積,也可節省資料存取所需的時間,有效改善系統效能。
本發明提出一種記憶體控制器,耦接至一外部記憶體裝置,用以控制外部記憶體裝置之運作,包括一中央處理單元、一介面邏輯電路以及一仲裁電路。中央處理單元包含一內部記憶體裝置。介面邏輯電路耦接至外部記憶體裝置與一標準匯流排。仲裁電路耦接至標準匯流排與中央處理單元。仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至中央處理單元。當中央處理單元需要讀取儲存於外部記憶體裝置之一既定資料時,中央處理單元向介面邏輯電路發出一第一請求,介面邏輯電路因應第一請求自外部記憶體裝置讀取既定資料,並且透過標準匯流排將既定資料傳送至仲裁電路,仲裁電路透過靜態隨機存取記憶體匯流排直接將既定資料傳送至中央處理單元,以寫入內部記憶體裝置。
本發明另提出一種資料儲存裝置,包括一非揮發性記憶體以及一記憶體控制器。記憶體控制器耦接至揮發性記憶體,用以控制非揮發性記憶體之運作。非揮發性記憶體包括一中央處理單元、一介面邏輯電路以及一仲裁電路。中央處理單元包含一內部記憶體裝置。介面邏輯電路耦接至揮發性記憶體與一標準匯流排。仲裁電路耦接至標準匯流排與中央處理單元。仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至中央處理單元。當中央處理單元需要讀取儲存於非揮發性記憶體之一既定資料時,中央處理單元向介面邏輯電路發出一第一請求,介面邏輯電路因應第一請求自非揮發性記憶體裝置讀取既定資料,並且透過標準匯流排將既定資料傳送至仲裁電路,仲裁電路透過靜態隨機存取記憶體匯流排直接將既定資料傳送至中央處理單元,以寫入內部記憶體裝置。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置之一範例方塊圖。資料儲存裝置100可包括一記憶體控制器110與一記憶體裝置120。記憶體裝置120可以為非揮發性記憶體,例如反及閘快閃記憶體(NAND Flash)。記憶體控制器110耦接記憶體裝置120,用以控制記憶體裝置120之運作,以及存取記憶體裝置120所儲存之資料。
資料儲存裝置100可更耦接至一主機(圖未示),用以傳送資料與指令至主機,或自主機接收資料與指令。主機可以為手機、平板電腦、筆記型電腦、導航機或車載系統等。
值得注意的是,為簡化說明,第1圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第1圖所示之架構。
第2圖係顯示一種記憶體控制器之架構。記憶體控制器210可為一控制器晶片,耦接至外部的記憶體裝置220。記憶體裝置220可包括一或多個非揮發性記憶體。
記憶體控制器210可包括一中央處理單元(Central Processing Unit,縮寫為CPU)230、一直接記憶體存取(DMA)裝置240、一介面邏輯電路250、一標準匯流排260、複數個仲裁電路270-1、270-2、270-3…270-N、以及複數個從屬記憶體280-1、280-2、280-3…280-N,其中N為一正整數,並且從屬記憶體可以是揮發性記憶體,例如,靜態隨機存取記憶體(Static Random Access Memory,縮寫為SRAM)。
直接記憶體存取裝置240、介面邏輯電路250、或其他(圖中未示)會存取從屬記憶體之裝置可被視為主裝置(master),而從屬記憶體280-1、280-2、280-3…280-N可被視為副裝置/從屬裝置(slave)。標準匯流排260用以於主裝置及副裝置間提供一傳輸介面。仲裁電路270-1、270-2、270-3…270-N分別耦接至從屬記憶體280-1、280-2、280-3…280-N,用以為各個從屬記憶體進行仲裁。更具體的說,仲裁電路透過標準匯流排260接收來自一或多個主裝置的請求或指令,仲裁多個請求或指令之優先權,用以於多個主裝置同時請求存取同一個從屬記憶體時,決定優先處理哪個主裝置的請求。
中央處理單元230可包含複數個內部記憶體裝置,例如,指令緊密耦接記憶體(Instruction Closed Coupled Memory,縮寫為ICCM)231以及資料緊密耦接記憶體(Data Closed Coupled Memory,縮寫為DCCM)232。其中,ICCM與DCCM可以是靜態隨機存取記憶體,ICCM 231可用於儲存程式碼,DCCM 232可用於儲存資料。
於第2圖所示之架構中,直接記憶體存取裝置240係用以協助中央處理單元230存取記憶體裝置220所儲存之資料。舉例而言,當中央處理單元230需要使用儲存於記憶體裝置220之資料或程式碼時,可透過耦接至介面邏輯電路250之一指令介面(command interface)(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路250因應此請求或指令自記憶體裝置220讀取中央處理單元230所需之資料,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排260寫入從屬記憶體280-1。
介面邏輯電路250可包括一錯誤更正碼(Error Correction Code,縮寫為ECC)引擎251。當錯誤更正碼引擎251偵測到讀取出來之資料有錯誤時,可透過如圖中標示為2的傳輸路徑所示,將錯誤的資料讀回介面邏輯電路250進行錯誤更正,並且再將更正完畢之正確資料寫回從屬記憶體280-1。
當中央處理單元230所需之資料傳輸完畢後,介面邏輯電路250可發出一中斷信號通知中央處理單元230(或者,中央處理單元230亦可持續主動詢問資料狀態)。中央處理單元230再透過耦接至直接記憶體存取裝置240之一指令介面(command interface)(圖未示)發出一請求或指令。直接記憶體存取裝置240因應此請求或指令,將資料如圖中標示為3的傳輸路徑所示由從屬記憶體280-1搬運至中央處理單元230之內部記憶體裝置,例如,ICCM 231或DCCM 232。
於第2圖所示之架構中,由於中央處理單元230所需之資料傳輸均須透過直接記憶體存取裝置240來進行,因而欠缺效率。為了改善上述缺陷,以增進記憶體裝置的存取效能,以下提出一種新的記憶體控制器架構及資料存取方法。
第3圖係顯示根據本發明之一實施例所述之記憶體控制器方塊圖。記憶體控制器310可為如第1圖所示之資料儲存裝置之一控制器晶片,耦接至外部的記憶體裝置320。記憶體裝置320可包括一或多個非揮發性記憶體。
記憶體控制器310可包括一中央處理單元330、一介面邏輯電路350、一標準匯流排360、複數個仲裁電路370-1、370-2、370-3…370-N、以及複數個從屬記憶體380-2、380-3…380-N,其中N為一正整數,並且從屬記憶體可以是揮發性記憶體,例如,靜態隨機存取記憶體(SRAM)。
介面邏輯電路350、或其他(圖中未示)會存取從屬記憶體之裝置可被視為主裝置(master),而從屬記憶體380-2、380-3…380-N可被視為副裝置/從屬裝置(slave)。標準匯流排360用以於主裝置及副裝置間提供一傳輸介面。仲裁電路370-2、370-3…370-N分別耦接至從屬記憶體380-2、380-3…380-N,用以為各個從屬記憶體進行仲裁。更具體的說,仲裁電路透過標準匯流排360接收來自一或多個主裝置的請求或指令,仲裁多個請求或指令之優先權,用以於多個主裝置同時請求存取同一個從屬記憶體時,決定優先處理哪個主裝置的請求。
中央處理單元330可包含複數個內部記憶體裝置,例如,用於儲存程式碼之ICCM 331-1與331-2、用於儲存資料之DCCM (為簡化圖示,於第3圖未示,另顯示於第4圖) ,以及唯讀記憶體339。其中ICCM與DCCM可以是靜態隨機存取記憶體。
於第3圖所示之架構中,中央處理單元330並不包括直接記憶體存取裝置。根據本發明之一實施例,仲裁電路370-1透過靜態隨機存取記憶體匯流排390、391直接耦接至中央處理單元330。靜態隨機存取記憶體匯流排390與391用以於仲裁電路370-1及中央處理單元330提供一傳輸介面。
當中央處理單元330需要使用或讀取儲存於記憶體裝置320之資料,例如,程式碼時,可透過耦接至介面邏輯電路350之一指令介面(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路350因應此請求或指令自記憶體裝置320讀取中央處理單元330所需之程式碼,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排360傳送至仲裁電路370-1。仲裁電路370-1透過靜態隨機存取記憶體匯流排390直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置ICCM 331-1或331-2。
當介面邏輯電路350需要讀取儲存於內部記憶體裝置ICCM 331-1或331-2之資料時,介面邏輯電路350向仲裁電路370-1發出一讀取請求或讀取請求指令,仲裁電路370-1因應此請求或指令直接透過靜態隨機存取記憶體匯流排391接收讀取之資料,再透過標準匯流排360將讀取之資料傳送至介面邏輯電路350。
舉例而言,介面邏輯電路350可包括一錯誤更正碼引擎351。當錯誤更正碼引擎351偵測到讀取出來之程式碼或資料有錯誤時,可由仲裁電路370-1直接透過靜態隨機存取記憶體匯流排391接收自內部記憶體裝置ICCM 331-1或331-2讀取之錯誤的程式碼或資料,再依循如圖中標示為2的傳輸路徑所示,透過標準匯流排360將資料傳送至介面邏輯電路350進行錯誤更正。更正完畢之正確的程式碼或資料將依循如圖中標示為1的傳輸路徑,透過標準匯流排360被傳送至仲裁電路370-1。仲裁電路370-1再透過靜態隨機存取記憶體匯流排390直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置ICCM 331-1或331-2。
根據本發明之一實施例,中央處理單元330可包含複數多工器,例如圖中所示之多工器335、336、337、338。多工器335與336可用於選擇寫入資料的來源路徑。多工器337與338可用於選擇讀取資料的來源路徑。
多工器335與336可分別包括複數輸入端,其中一輸入端連接至中央處理單元330之一內部匯流排,另一輸入端透過靜態隨機存取記憶體匯流排390直接連接至仲裁電路370-1之一輸出接口。多工器335之輸出端耦接至ICCM 331-1,多工器336之輸出端耦接至ICCM 331-2。多工器335與336分別根據一選擇信號多工傳輸來自CPU內部匯流排或靜態隨機存取記憶體匯流排390之資料。
多工器337與338可分別包括複數輸入端,其中一輸入端連接至ICCM 331-1,另一輸入端連接至ICCM 331-2。多工器337之輸出端透過靜態隨機存取記憶體匯流排391直接連接至仲裁電路370-1之一輸入接口,多工器338之輸出端耦接至中央處理單元330之一內部匯流排。多工器337與338分別根據一選擇信號多工傳輸來自ICCM 331-1或ICCM 331-2之資料。
根據本發明之一實施例,中央處理單元330可更包含邏輯電路333-1、333-2、333-3與333-4。邏輯電路333-1與333-2分別根據用以指示是否由外部裝置(即,中央處理單元330以外之裝置)執行寫入操作之一指標與欲寫入的記憶體位置產生一選擇信號。舉例而言,當由外部裝置執行寫入操作之指標被設起,而存取的記憶體位置落在ICCM 331-1的記憶體位址範圍內時,邏輯電路333-1輸出的選擇信號數值可為1,用以將寫入資料的來源路徑選擇為外部裝置,例如,圖中所示之靜態隨機存取記憶體匯流排390及仲裁電路370-1,使得外部裝置具有寫入ICCM 331-1的權限。另一方面,邏輯電路333-2輸出的選擇信號數值可為0,用以將寫入資料的來源路徑選擇為CPU內部匯流排,使得內部裝置具有寫入ICCM 331-2的權限。根據本發明之一實施例,由外部裝置執行寫入操作之指標及存取的記憶體位置之資訊可被儲存於中央處理單元330或外部裝置之暫存器內。
邏輯電路333-3與333-4分別根據用以指示是否由外部裝置執行讀取操作之一指標與欲讀取的記憶體位置產生一選擇信號。舉例而言,當欲讀取CPU內部記憶體之裝置為外部裝置,且存取的記憶體位置落在ICCM 331-1的記憶體位址範圍內時,邏輯電路333-3輸出的選擇信號數值可為0,用以將讀取資料的來源路徑選擇為ICCM 331-1,使得外部裝置可讀取ICCM 331-1的資料。舉另一例而言,當欲讀取CPU內部記憶體之裝置為CPU內部裝置,且存取的記憶體位置落在ICCM 331-2的記憶體位址範圍內時,邏輯電路333-4輸出的選擇信號數值可為1,用以將讀取資料的來源路徑選擇為ICCM 331-2,使得CPU內部裝置可讀取ICCM 331-2的資料。根據本發明之一實施例,由外部裝置執行讀取操作之指標及欲讀取的記憶體位置之資訊可被儲存於中央處理單元330或外部裝置之暫存器內。
值得注意的是,雖於以上實施例中,多工器的選擇信號為一位元之信號,但本發明並不限於此。孰悉此技藝者均可輕易理解,多工器335、336、337、338可被擴充為包含兩個以上輸入端,因此對應之選擇信號可以為多位元之信號。
根據本發明之一實施例,中央處理單元330之內部記憶體裝置,例如,圖中所示之ICCM 331-1與331-2之一資料字元寬度被設定為與標準匯流排360之一資料字元寬度相同。此外,靜態隨機存取記憶體匯流排390與391之一資料字元寬度亦可被設定為與標準匯流排360之一資料字元寬度相同。如此一來,資料無需經字元寬度轉換即可直接被寫入中央處理單元330之內部記憶體裝置。舉例而言,假設標準匯流排360之一資料字元寬度為X位元,則中央處理單元330之內部記憶體裝置以及靜態隨機存取記憶體匯流排390與391之一資料字元寬度於配置時即可被設定為X位元,而中央處理單元330之內部記憶體裝置之資料深度可被設定為(M/X)個儲存單元,其中M即為中央處理單元330之內部記憶體裝置之記憶體容量,而資料字元寬度X代表內部記憶體裝置的每一次存取將存取X位元的資料。此外,耦接至標準匯流排360與靜態隨機存取記憶體匯流排之仲裁電路370-1可為資料執行於標準匯流排介面協定以及靜態隨機存取記憶體匯流排介面協定之間的轉換。
此外,根據本發明之一實施例,除了設定中央處理單元330之內部記憶體裝置與靜態隨機存取記憶體匯流排之資料字元寬度外,其他控制靜態隨機存取記憶體匯流排390與391之電路之資料字元寬度以及記憶體位址的編碼/解碼方式也須根據標準匯流排360之一資料字元寬度做對應之設定。
值得注意的是,為簡化說明,第3圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第3圖所示之架構。舉例而言,記憶體控制器可更包括未示於圖中的其他主裝置。
第4圖係顯示根據本發明之另一實施例所述之記憶體控制器方塊圖。第4圖顯示之架構與第3圖類似,差別僅在於第4圖顯示出中央處理單元330所包含用於儲存資料之DCCM 332-1與332-2。因此,相同的元件之說明可參考第3圖之說明,於此不再贅述。此外,值得注意的是,第3圖與第4圖所示之元件可被整合為包含於同一記憶體控制器內。
於第4圖所示之架構中,中央處理單元330並不包括直接記憶體存取裝置。根據本發明之一實施例,仲裁電路370-0透過靜態隨機存取記憶體匯流排392、393直接耦接至中央處理單元330。靜態隨機存取記憶體匯流排392與393用以於仲裁電路370-0及中央處理單元330提供一傳輸介面。
當中央處理單元330需要使用或讀取儲存於記憶體裝置320之資料時,可透過耦接至介面邏輯電路350之一指令介面(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路350因應此請求或指令自記憶體裝置320讀取中央處理單元330所需之資料,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排360傳送至仲裁電路370-0。仲裁電路370-0透過靜態隨機存取記憶體匯流排392直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置DCCM 332-1或332-2。
當介面邏輯電路350需要讀取儲存於內部記憶體裝置DCCM 332-1或332-2之資料時,介面邏輯電路350向仲裁電路370-0發出一讀取請求或讀取請求指令,仲裁電路370-0因應此請求或指令直接透過靜態隨機存取記憶體匯流排393接收讀取之資料,再透過標準匯流排360將讀取之資料傳送至介面邏輯電路350。
舉例而言,當介面邏輯電路350之錯誤更正碼引擎351偵測到讀取出來之資料有錯誤時,可由仲裁電路370-0直接透過靜態隨機存取記憶體匯流排393接收自內部記憶體裝置DCCM 332-1或332-2讀取之錯誤的資料,再依循如圖中標示為2的傳輸路徑所示,透過標準匯流排360將資料傳送至介面邏輯電路350進行錯誤更正。更正完畢之正確的程式碼或資料將依循如圖中標示為1的傳輸路徑,透過標準匯流排360被傳送至仲裁電路370-0。仲裁電路370-0再透過靜態隨機存取記憶體匯流排392直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置DCCM 332-1或332-2。
根據本發明之一實施例,中央處理單元330可包含複數多工器,例如圖中所示之多工器345、346、347與348。多工器345與346可用於選擇寫入資料的來源路徑。多工器347與348可用於選擇讀取資料的來源路徑。
多工器345與346可分別包括複數輸入端,其中一輸入端連接至中央處理單元330之一內部匯流排,另一輸入端透過靜態隨機存取記憶體匯流排392直接連接至仲裁電路370-0之一輸出接口。多工器345之輸出端耦接至DCCM 332-1,多工器346之輸出端耦接至DCCM 332-2。多工器345與346分別根據一選擇信號多工傳輸來自CPU內部匯流排或靜態隨機存取記憶體匯流排392之資料。
多工器347與348可分別包括複數輸入端,其中一輸入端連接至DCCM 332-1,另一輸入端連接至DCCM 332-2。多工器347之輸出端透過靜態隨機存取記憶體匯流排393直接連接至仲裁電路370-0之一輸入接口,多工器348之輸出端耦接至中央處理單元330之一內部匯流排。多工器347與348分別根據一選擇信號多工傳輸來自DCCM 332-1或DCCM 332-2之資料。
根據本發明之一實施例,中央處理單元330可更包含邏輯電路343-1、343-2、343-3與343-4。邏輯電路343-1與343-2分別根據用以指示是否由外部裝置(即,中央處理單元330以外之裝置)執行寫入操作之一指標與欲寫入的記憶體位置產生一選擇信號。舉例而言,當由外部裝置執行寫入操作之指標被設起,而存取的記憶體位置落在DCCM 332-1的記憶體位址範圍內時,邏輯電路343-1輸出的選擇信號數值可為1,用以將寫入資料的來源路徑選擇為外部裝置,例如,圖中所示之靜態隨機存取記憶體匯流排392及仲裁電路370-0,使得外部裝置具有寫入DCCM 332-1的權限。另一方面,邏輯電路343-2輸出的選擇信號數值可為0,用以將寫入資料的來源路徑選擇為CPU內部匯流排,使得內部裝置具有寫入DCCM 332-2的權限。根據本發明之一實施例,由外部裝置執行寫入操作之指標及存取的記憶體位置之資訊可被儲存於中央處理單元330或外部裝置之暫存器內。
邏輯電路343-3與343-4分別根據用以指示是否由外部裝置執行讀取操作之一指標與欲讀取的記憶體位置產生一選擇信號。舉例而言,當欲讀取CPU內部記憶體之裝置為外部裝置,且存取的記憶體位置落在DCCM 332-1的記憶體位址範圍內時,邏輯電路343-3輸出的選擇信號數值可為0,用以將讀取資料的來源路徑選擇為DCCM 332-1,使得外部裝置可讀取DCCM 332-1的資料。舉另一例而言,當欲讀取CPU內部記憶體之裝置為CPU內部裝置,且存取的記憶體位置落在DCCM 332-2的記憶體位址範圍內時,邏輯電路343-4輸出的選擇信號數值可為1,用以將讀取資料的來源路徑選擇為DCCM 332-2,使得CPU內部裝置可讀取DCCM 332-2的資料。根據本發明之一實施例,由外部裝置執行讀取操作之指標及欲讀取的記憶體位置之資訊可被儲存於中央處理單元330或外部裝置之暫存器內。
值得注意的是,雖於以上實施例中,多工器的選擇信號為一位元之信號,但本發明並不限於此。孰悉此技藝者均可輕易理解,多工器345、346、347、348可被擴充為包含兩個以上輸入端,因此對應之選擇信號可以為多位元之信號。
根據本發明之一實施例,中央處理單元330之內部記憶體裝置,例如,圖中所示之DCCM 332-1與332-2之一資料字元寬度被設定為與標準匯流排360之一資料字元寬度相同。此外,靜態隨機存取記憶體匯流排392與393之一資料字元寬度亦可被設定為與標準匯流排360之一資料字元寬度相同。如此一來,資料無需經字元寬度轉換即可直接被寫入中央處理單元330之內部記憶體裝置。舉例而言,假設標準匯流排360之一資料字元寬度為X位元,則中央處理單元330之內部記憶體裝置以及靜態隨機存取記憶體匯流排392與393之一資料字元寬度於配置時即可被設定為X位元,而中央處理單元330之內部記憶體裝置之資料深度可被設定為(M/X)個儲存單元,其中M即為中央處理單元330之內部記憶體裝置之記憶體容量,而資料字元寬度X代表內部記憶體裝置的每一次存取將存取X位元的資料。此外,耦接至標準匯流排360與靜態隨機存取記憶體匯流排之仲裁電路370-0可為資料執行於標準匯流排介面協定以及靜態隨機存取記憶體匯流排介面協定之間的轉換。
此外,根據本發明之一實施例,除了設定中央處理單元330之內部記憶體裝置與靜態隨機存取記憶體匯流排之資料字元寬度外,其他控制靜態隨機存取記憶體匯流排392與393之電路之資料字元寬度以及記憶體位址的編碼/解碼方式也須根據標準匯流排360之一資料字元寬度做對應之設定。
值得注意的是,為簡化說明,第4圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第4圖所示之架構。舉例而言,記憶體控制器可更包括未示於圖中的其他主裝置。
如上述,相較於第2圖所示之架構,於第3圖與第4圖的架構中,省去了直接記憶體存取裝置與至少一個從屬記憶體的使用。如此一來,不僅可節省電路面積,也可因減少一次資料搬移到從屬記憶體之動作,節省資料存取所需的時間,有效改善系統效能。除此之外,由於第3圖與第4圖的架構相較於第2圖所示之架構為較簡單的架構,因此電路之複雜度也可被降低,有效降低硬體成本。
本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧資料儲存裝置;
110、210、310‧‧‧記憶體控制器;
120、220、320‧‧‧記憶體裝置;
230、330‧‧‧中央處理單元;
240‧‧‧直接記憶體存取裝置;
250、350‧‧‧介面邏輯電路;
260、360‧‧‧標準匯流排;
270-1、270-2、270-3、270-N、370-0、370-1、370-2、370-3、370-N‧‧‧仲裁電路;
280-1、280-2、280-3、280-N、380-2、380-3、380-N‧‧‧從屬記憶體;
231、331-1、331-2、ICCM‧‧‧指令緊密耦接記憶體 ;
232、332-1、332-2、DCCM‧‧‧資料緊密耦接記憶體;
251、351‧‧‧錯誤更正碼引擎;
333-1、333-2、333-3、333-4、343-1、343-2、343-3、343-4‧‧‧邏輯電路;
335、336、337、338、345、346、347、348‧‧‧多工器;
390、391、392、393‧‧‧靜態隨機存取記憶體匯流排。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置之一範例方塊圖。
第2圖係顯示一種記憶體控制器之架構。
第3圖係顯示根據本發明之一實施例所述之記憶體控制器方塊圖。
第4圖係顯示根據本發明之另一實施例所述之記憶體控制器方塊圖。
100‧‧‧資料儲存裝置
110‧‧‧記憶體控制器
120‧‧‧記憶體裝置
Claims (12)
- 一種記憶體控制器,耦接至一外部裝置,包括:一中央處理單元,耦接至一標準匯流排,其中該中央處理單元包含一第一內部記憶體裝置及一第二內部記憶體裝置;以及一仲裁電路,耦接至該標準匯流排與該中央處理單元,其中該仲裁電路係依據該外部裝置所執行之一存取操作的記憶體位址以透過一靜態隨機存取記憶體匯流排以存取該第一內部記憶體裝置或該第二內部記憶體裝置。
- 如申請專利範圍第1項所述之記憶體控制器,其中該中央處理單元更包括一第一邏輯電路及一第二邏輯電路,其中該第一邏輯電路及該第二邏輯電路係依據該外部裝置執行該存取操作之一指標及該存取操作之記憶體位址以分別產生一第一選擇信號及一第二選擇信號。
- 如申請專利範圍第2項所述之記憶體控制器,其中:當由該外部裝置執行該存取操作之該指標被設起且該存取操作存取的該記憶體位址位於該第一內部記憶體裝置之記憶體位址範圍內時,該第一邏輯電路係將該第一選擇信號設定為一高邏輯狀態以選擇該外部裝置為該第一內部記憶體裝置之來源路徑,並且該第二邏輯電路係將該第二選擇信號設定為一低邏輯狀態以設定該第二內部記憶體裝置之來源路徑為該中央處理單元之一內部匯流排。
- 如申請專利範圍第3項所述之記憶體控制器,其中: 當由該外部裝置執行該存取操作之該指標未被設起且該存取操作存取的該記憶體位址位於該第一內部記憶體裝置之記憶體位址範圍內時,該第一邏輯電路係將該第一選擇信號設定為一低邏輯狀態以使該外部裝置可讀取該第一內部記憶體裝置,並且該第二邏輯電路係將該第二選擇信號設定為一高邏輯狀態以使該中央處理單元之內部裝置可讀取該第二內部記憶體裝置。
- 如申請專利範圍第4項所述之記憶體控制器,其中該中央處理單元更包括:一第一多工器,耦接至該第一內部記憶體裝置、該內部匯流排與該靜態隨機存取記憶體匯流排,用以根據該第一選擇信號多工傳輸來自該內部匯流排或該靜態隨機存取記憶體匯流排之資料;以及一第二多工器,耦接至該第二內部記憶體裝置、該內部匯流排與該靜態隨機存取記憶體匯流排,用以根據該第二選擇信號多工傳輸來自該內部匯流排或該靜態隨機存取記憶體匯流排之資料。
- 如申請專利範圍第5項所述之記憶體控制器,其中該仲裁電路透過該靜態隨機存取記憶體匯流排直接連接至該第一多工器之一輸入端以及該第二多工器之另一輸入端。
- 一種資料儲存裝置,包括:一記憶體控制器,耦接至一外部裝置,其中該記憶體控制器包括:一中央處理單元,包含一第一記憶體裝置及一第二記憶體裝置;以及 一仲裁電路,耦接至該標準匯流排與該中央處理單元,其中該仲裁電路係依據該外部裝置所執行之一存取操作的記憶體位址以透過一靜態隨機存取記憶體匯流排以存取該第一內部記憶體裝置或該第二內部記憶體裝置。
- 如申請專利範圍第7項所述之資料儲存裝置,其中該中央處理單元更包括一第一邏輯電路及一第二邏輯電路,其中該第一邏輯電路及該第二邏輯電路係依據該外部裝置執行該存取操作之一指標及該存取操作之記憶體位址以分別產生一第一選擇信號及一第二選擇信號。
- 如申請專利範圍第8項所述之資料儲存裝置,其中:當由該外部裝置執行該存取操作之該指標被設起且該存取操作存取的該記憶體位址位於該第一內部記憶體裝置之記憶體位址範圍內時,該第一邏輯電路係將該第一選擇信號設定為一高邏輯狀態以選擇該外部裝置為該第一內部記憶體裝置之來源路徑,並且該第二邏輯電路係將該第二選擇信號設定為一低邏輯狀態以設定該第二內部記憶體裝置之來源路徑為該中央處理單元之一內部匯流排。
- 如申請專利範圍第9項所述之資料儲存裝置,其中:當由該外部裝置執行該存取操作之該指標未被設起且該存取操作存取的該記憶體位址位於該第一內部記憶體裝置之記憶體位址範圍內時,該第一邏輯電路係將該第一選擇信號設定為一低邏輯狀態 以使該外部裝置可讀取該第一內部記憶體裝置,並且該第二邏輯電路係將該第二選擇信號設定為一高邏輯狀態以使該中央處理單元之內部裝置可讀取該第二內部記憶體裝置。
- 如申請專利範圍第10項所述之資料儲存裝置,其中該中央處理單元更包括:一第一多工器,耦接至該第一內部記憶體裝置、該內部匯流排與該靜態隨機存取記憶體匯流排,用以根據該第一選擇信號多工傳輸來自該內部匯流排或該靜態隨機存取記憶體匯流排之資料;以及一第二多工器,耦接至該第二內部記憶體裝置、該內部匯流排與該靜態隨機存取記憶體匯流排,用以根據該第二選擇信號多工傳輸來自該內部匯流排或該靜態隨機存取記憶體匯流排之資料。
- 如申請專利範圍第11項所述之資料儲存裝置,其中該仲裁電路透過該靜態隨機存取記憶體匯流排直接連接至該第一多工器之一輸入端以及該第二多工器之另一輸入端。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108126973A TWI720565B (zh) | 2017-04-13 | 2017-04-13 | 記憶體控制器與資料儲存裝置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108126973A TWI720565B (zh) | 2017-04-13 | 2017-04-13 | 記憶體控制器與資料儲存裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201941071A TW201941071A (zh) | 2019-10-16 |
| TWI720565B true TWI720565B (zh) | 2021-03-01 |
Family
ID=69023171
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108126973A TWI720565B (zh) | 2017-04-13 | 2017-04-13 | 記憶體控制器與資料儲存裝置 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI720565B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5584010A (en) * | 1988-11-25 | 1996-12-10 | Mitsubishi Denki Kabushiki Kaisha | Direct memory access control device and method in a multiprocessor system accessing local and shared memory |
| TW200622613A (en) * | 2004-10-27 | 2006-07-01 | Intel Corp | Mechanism to pull data into a processor cache |
| TW200935437A (en) * | 2007-12-18 | 2009-08-16 | Micron Technology Inc | Address translation between a memory controller and an external memory device |
| US20140115271A1 (en) * | 2012-10-24 | 2014-04-24 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
-
2017
- 2017-04-13 TW TW108126973A patent/TWI720565B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5584010A (en) * | 1988-11-25 | 1996-12-10 | Mitsubishi Denki Kabushiki Kaisha | Direct memory access control device and method in a multiprocessor system accessing local and shared memory |
| TW200622613A (en) * | 2004-10-27 | 2006-07-01 | Intel Corp | Mechanism to pull data into a processor cache |
| TW200935437A (en) * | 2007-12-18 | 2009-08-16 | Micron Technology Inc | Address translation between a memory controller and an external memory device |
| US20140115271A1 (en) * | 2012-10-24 | 2014-04-24 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201941071A (zh) | 2019-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI611296B (zh) | 記憶體控制器與資料儲存裝置 | |
| US10002085B2 (en) | Peripheral component interconnect (PCI) device and system including the PCI | |
| US20170322897A1 (en) | Systems and methods for processing a submission queue | |
| JP5032027B2 (ja) | 半導体ディスク制御装置 | |
| CN102414666B (zh) | 用于受管理的非易失性存储器的低等待时间读取操作 | |
| US20180113615A1 (en) | Storage device generating adaptive interrupt and operating method thereof | |
| US8327040B2 (en) | Host controller | |
| US9411537B2 (en) | Embedded multimedia card (EMMC), EMMC system including the EMMC, and method of operating the EMMC | |
| US11169736B2 (en) | Data storage device equipped to reduce page faults in host device | |
| CN102473126A (zh) | 提供闪存系统中的读状态和空闲块管理信息的控制器和方法 | |
| US20060245274A1 (en) | Apparatus and method for controlling NAND flash memory | |
| TWI820603B (zh) | 藉助於多階段記憶體映射隊列以進行存取控制的方法、系統單晶片積體電路、記憶體裝置以及用於記憶體裝置的控制器 | |
| US20140040680A1 (en) | Memory control device and control method | |
| US20100185811A1 (en) | Data processing system and method | |
| US10409512B2 (en) | Method of operating storage controller and method of operating data storage device having the storage controller | |
| CN100492334C (zh) | 串行周边接口装置 | |
| US8266361B1 (en) | Access methods and circuits for devices having multiple buffers | |
| US8489978B2 (en) | Error detection | |
| CN107797756B (zh) | 固态硬盘系统的优先写入方法以及使用该方法的装置 | |
| US20150242141A1 (en) | Memory device and data storing method | |
| US20160041860A1 (en) | Microcomputer and microcomputer system | |
| TWI676104B (zh) | 記憶體控制器與資料儲存裝置 | |
| TWI720565B (zh) | 記憶體控制器與資料儲存裝置 | |
| US20030200401A1 (en) | Microcomputer system automatically backing-up data written in storage medium in transceiver, and transceiver connected thereto | |
| US20260037435A1 (en) | NVMe SSD AND STORAGE SYSTEM INCLUDING THE SAME |