TWI720565B - Memory controller and data storage device - Google Patents
Memory controller and data storage device 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
本發明係關於一種資料處理電路,特別是關於一種可有效改善系統效能之資料處理電路。The present invention relates to a data processing circuit, in particular to a data processing circuit that can effectively improve system performance.
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合SD/MMC規格、CF規格、MS規格與XD規格的記憶卡、固態硬碟、內嵌式記憶體(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,有效的存取控制也變成一個重要的議題。As the technology of data storage devices has grown rapidly in recent years, many data storage devices, such as memory cards that comply with SD/MMC specifications, CF specifications, MS specifications, and XD specifications, solid state drives, and embedded memory (embedded Multi Media Card, abbreviated as eMMC) and Universal Flash Storage (abbreviated as UFS) have been widely used in a variety of applications. Therefore, effective access control has also become an important issue on these data storage devices.
為了增進記憶體裝置的存取效能,本發明提出一種新的記憶體控制器架構,不僅可節省電路面積,也可節省資料存取所需的時間,有效改善系統效能。In order to improve the access performance of the memory device, the present invention proposes a new memory controller architecture, which not only saves circuit area, but also saves the time required for data access and effectively improves system performance.
本發明提出一種記憶體控制器,耦接至一外部記憶體裝置,用以控制外部記憶體裝置之運作,包括一中央處理單元、一介面邏輯電路以及一仲裁電路。中央處理單元包含一內部記憶體裝置。介面邏輯電路耦接至外部記憶體裝置與一標準匯流排。仲裁電路耦接至標準匯流排與中央處理單元。仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至中央處理單元。當中央處理單元需要讀取儲存於外部記憶體裝置之一既定資料時,中央處理單元向介面邏輯電路發出一第一請求,介面邏輯電路因應第一請求自外部記憶體裝置讀取既定資料,並且透過標準匯流排將既定資料傳送至仲裁電路,仲裁電路透過靜態隨機存取記憶體匯流排直接將既定資料傳送至中央處理單元,以寫入內部記憶體裝置。The present invention provides a memory controller coupled to an external memory device for controlling the operation of the external memory device, and includes a central processing unit, an interface logic circuit, and an arbitration circuit. The central processing unit includes an internal memory device. The interface logic circuit is coupled to the external memory device and a standard bus. The arbitration circuit is coupled to the standard bus and the central processing unit. The arbitration circuit is directly coupled to the central processing unit through a static random access memory bus. When the central processing unit needs to read a predetermined data stored in an external memory device, the central processing unit sends a first request to the interface logic circuit, and the interface logic circuit reads the predetermined data from the external memory device in response to the first request, and The predetermined data is sent to the arbitration circuit through the standard bus, and the arbitration circuit directly sends the predetermined data to the central processing unit through the static random access memory bus for writing into the internal memory device.
本發明另提出一種資料儲存裝置,包括一非揮發性記憶體以及一記憶體控制器。記憶體控制器耦接至揮發性記憶體,用以控制非揮發性記憶體之運作。非揮發性記憶體包括一中央處理單元、一介面邏輯電路以及一仲裁電路。中央處理單元包含一內部記憶體裝置。介面邏輯電路耦接至揮發性記憶體與一標準匯流排。仲裁電路耦接至標準匯流排與中央處理單元。仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至中央處理單元。當中央處理單元需要讀取儲存於非揮發性記憶體之一既定資料時,中央處理單元向介面邏輯電路發出一第一請求,介面邏輯電路因應第一請求自非揮發性記憶體裝置讀取既定資料,並且透過標準匯流排將既定資料傳送至仲裁電路,仲裁電路透過靜態隨機存取記憶體匯流排直接將既定資料傳送至中央處理單元,以寫入內部記憶體裝置。The present invention also provides a data storage device including a non-volatile memory and a memory controller. The memory controller is coupled to the volatile memory for controlling the operation of the non-volatile memory. The non-volatile memory includes a central processing unit, an interface logic circuit and an arbitration circuit. The central processing unit includes an internal memory device. The interface logic circuit is coupled to the volatile memory and a standard bus. The arbitration circuit is coupled to the standard bus and the central processing unit. The arbitration circuit is directly coupled to the central processing unit through a static random access memory bus. When the central processing unit needs to read a predetermined data stored in the non-volatile memory, the central processing unit sends a first request to the interface logic circuit, and the interface logic circuit reads the predetermined data from the non-volatile memory device in response to the first request Data is sent to the arbitration circuit through the standard bus, and the arbitration circuit directly sends the predetermined data to the central processing unit through the static random access memory bus for writing into the internal memory device.
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。In order to make the purpose, features and advantages of the present invention more comprehensible, specific embodiments of the present invention are listed below, with the accompanying drawings, and detailed descriptions are as follows. The purpose is to illustrate the spirit of the present invention and not to limit the protection scope of the present invention. It should be understood that the following embodiments can be implemented by software, hardware, firmware, or any combination of the foregoing.
第1圖係顯示根據本發明一實施例所述之資料儲存裝置之一範例方塊圖。資料儲存裝置100可包括一記憶體控制器110與一記憶體裝置120。記憶體裝置120可以為非揮發性記憶體,例如反及閘快閃記憶體(NAND Flash)。記憶體控制器110耦接記憶體裝置120,用以控制記憶體裝置120之運作,以及存取記憶體裝置120所儲存之資料。FIG. 1 is a block diagram showing an example of a data storage device according to an embodiment of the invention. The
資料儲存裝置100可更耦接至一主機(圖未示),用以傳送資料與指令至主機,或自主機接收資料與指令。主機可以為手機、平板電腦、筆記型電腦、導航機或車載系統等。The
值得注意的是,為簡化說明,第1圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第1圖所示之架構。It is worth noting that, to simplify the description, Figure 1 only shows components related to the present invention. However, the implementation of the present invention is not limited to the architecture shown in Figure 1.
第2圖係顯示一種記憶體控制器之架構。記憶體控制器210可為一控制器晶片,耦接至外部的記憶體裝置220。記憶體裝置220可包括一或多個非揮發性記憶體。Figure 2 shows the architecture of a memory controller. The
記憶體控制器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)。The
直接記憶體存取裝置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接收來自一或多個主裝置的請求或指令,仲裁多個請求或指令之優先權,用以於多個主裝置同時請求存取同一個從屬記憶體時,決定優先處理哪個主裝置的請求。The direct
中央處理單元230可包含複數個內部記憶體裝置,例如,指令緊密耦接記憶體(Instruction Closed Coupled Memory,縮寫為ICCM)231以及資料緊密耦接記憶體(Data Closed Coupled Memory,縮寫為DCCM)232。其中,ICCM與DCCM可以是靜態隨機存取記憶體,ICCM 231可用於儲存程式碼,DCCM 232可用於儲存資料。The
於第2圖所示之架構中,直接記憶體存取裝置240係用以協助中央處理單元230存取記憶體裝置220所儲存之資料。舉例而言,當中央處理單元230需要使用儲存於記憶體裝置220之資料或程式碼時,可透過耦接至介面邏輯電路250之一指令介面(command interface)(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路250因應此請求或指令自記憶體裝置220讀取中央處理單元230所需之資料,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排260寫入從屬記憶體280-1。In the architecture shown in FIG. 2, the direct
介面邏輯電路250可包括一錯誤更正碼(Error Correction Code,縮寫為ECC)引擎251。當錯誤更正碼引擎251偵測到讀取出來之資料有錯誤時,可透過如圖中標示為2的傳輸路徑所示,將錯誤的資料讀回介面邏輯電路250進行錯誤更正,並且再將更正完畢之正確資料寫回從屬記憶體280-1。The
當中央處理單元230所需之資料傳輸完畢後,介面邏輯電路250可發出一中斷信號通知中央處理單元230(或者,中央處理單元230亦可持續主動詢問資料狀態)。中央處理單元230再透過耦接至直接記憶體存取裝置240之一指令介面(command interface)(圖未示)發出一請求或指令。直接記憶體存取裝置240因應此請求或指令,將資料如圖中標示為3的傳輸路徑所示由從屬記憶體280-1搬運至中央處理單元230之內部記憶體裝置,例如,ICCM 231或DCCM 232。When the data required by the
於第2圖所示之架構中,由於中央處理單元230所需之資料傳輸均須透過直接記憶體存取裝置240來進行,因而欠缺效率。為了改善上述缺陷,以增進記憶體裝置的存取效能,以下提出一種新的記憶體控制器架構及資料存取方法。In the architecture shown in FIG. 2, since the data transmission required by the
第3圖係顯示根據本發明之一實施例所述之記憶體控制器方塊圖。記憶體控制器310可為如第1圖所示之資料儲存裝置之一控制器晶片,耦接至外部的記憶體裝置320。記憶體裝置320可包括一或多個非揮發性記憶體。FIG. 3 is a block diagram of the memory controller according to an embodiment of the invention. The
記憶體控制器310可包括一中央處理單元330、一介面邏輯電路350、一標準匯流排360、複數個仲裁電路370-1、370-2、370-3…370-N、以及複數個從屬記憶體380-2、380-3…380-N,其中N為一正整數,並且從屬記憶體可以是揮發性記憶體,例如,靜態隨機存取記憶體(SRAM)。The
介面邏輯電路350、或其他(圖中未示)會存取從屬記憶體之裝置可被視為主裝置(master),而從屬記憶體380-2、380-3…380-N可被視為副裝置/從屬裝置(slave)。標準匯流排360用以於主裝置及副裝置間提供一傳輸介面。仲裁電路370-2、370-3…370-N分別耦接至從屬記憶體380-2、380-3…380-N,用以為各個從屬記憶體進行仲裁。更具體的說,仲裁電路透過標準匯流排360接收來自一或多個主裝置的請求或指令,仲裁多個請求或指令之優先權,用以於多個主裝置同時請求存取同一個從屬記憶體時,決定優先處理哪個主裝置的請求。The
中央處理單元330可包含複數個內部記憶體裝置,例如,用於儲存程式碼之ICCM 331-1與331-2、用於儲存資料之DCCM (為簡化圖示,於第3圖未示,另顯示於第4圖) ,以及唯讀記憶體339。其中ICCM與DCCM可以是靜態隨機存取記憶體。The
於第3圖所示之架構中,中央處理單元330並不包括直接記憶體存取裝置。根據本發明之一實施例,仲裁電路370-1透過靜態隨機存取記憶體匯流排390、391直接耦接至中央處理單元330。靜態隨機存取記憶體匯流排390與391用以於仲裁電路370-1及中央處理單元330提供一傳輸介面。In the architecture shown in Figure 3, the
當中央處理單元330需要使用或讀取儲存於記憶體裝置320之資料,例如,程式碼時,可透過耦接至介面邏輯電路350之一指令介面(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路350因應此請求或指令自記憶體裝置320讀取中央處理單元330所需之程式碼,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排360傳送至仲裁電路370-1。仲裁電路370-1透過靜態隨機存取記憶體匯流排390直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置ICCM 331-1或331-2。When the
當介面邏輯電路350需要讀取儲存於內部記憶體裝置ICCM 331-1或331-2之資料時,介面邏輯電路350向仲裁電路370-1發出一讀取請求或讀取請求指令,仲裁電路370-1因應此請求或指令直接透過靜態隨機存取記憶體匯流排391接收讀取之資料,再透過標準匯流排360將讀取之資料傳送至介面邏輯電路350。When the
舉例而言,介面邏輯電路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。For example, the
根據本發明之一實施例,中央處理單元330可包含複數多工器,例如圖中所示之多工器335、336、337、338。多工器335與336可用於選擇寫入資料的來源路徑。多工器337與338可用於選擇讀取資料的來源路徑。According to an embodiment of the present invention, the
多工器335與336可分別包括複數輸入端,其中一輸入端連接至中央處理單元330之一內部匯流排,另一輸入端透過靜態隨機存取記憶體匯流排390直接連接至仲裁電路370-1之一輸出接口。多工器335之輸出端耦接至ICCM 331-1,多工器336之輸出端耦接至ICCM 331-2。多工器335與336分別根據一選擇信號多工傳輸來自CPU內部匯流排或靜態隨機存取記憶體匯流排390之資料。The
多工器337與338可分別包括複數輸入端,其中一輸入端連接至ICCM 331-1,另一輸入端連接至ICCM 331-2。多工器337之輸出端透過靜態隨機存取記憶體匯流排391直接連接至仲裁電路370-1之一輸入接口,多工器338之輸出端耦接至中央處理單元330之一內部匯流排。多工器337與338分別根據一選擇信號多工傳輸來自ICCM 331-1或ICCM 331-2之資料。The
根據本發明之一實施例,中央處理單元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或外部裝置之暫存器內。According to an embodiment of the present invention, the
邏輯電路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或外部裝置之暫存器內。The logic circuits 333-3 and 333-4 respectively generate a selection signal according to an index for indicating whether the external device performs a read operation and the memory location to be read. For example, when the device to read the internal memory of the CPU is an external device, and the memory location to be accessed falls within the memory address range of ICCM 331-1, the value of the selection signal output by the logic circuit 333-3 can be If it is 0, it is used to select the source path of reading data as ICCM 331-1, so that the external device can read the data of ICCM 331-1. For another example, when the device to read the internal memory of the CPU is an internal device of the CPU, and the memory location to be accessed falls within the memory address range of ICCM 331-2, the output selection of the logic circuit 333-4 The signal value can be 1, which is used to select the source path for reading data as ICCM 331-2, so that the internal device of the CPU can read the data of ICCM 331-2. According to an embodiment of the present invention, the index of the read operation performed by the external device and the information of the memory location to be read can be stored in the
值得注意的是,雖於以上實施例中,多工器的選擇信號為一位元之信號,但本發明並不限於此。孰悉此技藝者均可輕易理解,多工器335、336、337、338可被擴充為包含兩個以上輸入端,因此對應之選擇信號可以為多位元之信號。It is worth noting that although in the above embodiments, the multiplexer selection signal is a one-bit signal, the present invention is not limited to this. Those who know this skill can easily understand that the
根據本發明之一實施例,中央處理單元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可為資料執行於標準匯流排介面協定以及靜態隨機存取記憶體匯流排介面協定之間的轉換。According to an embodiment of the present invention, the internal memory device of the
此外,根據本發明之一實施例,除了設定中央處理單元330之內部記憶體裝置與靜態隨機存取記憶體匯流排之資料字元寬度外,其他控制靜態隨機存取記憶體匯流排390與391之電路之資料字元寬度以及記憶體位址的編碼/解碼方式也須根據標準匯流排360之一資料字元寬度做對應之設定。In addition, according to an embodiment of the present invention, in addition to setting the data character width of the internal memory device of the
值得注意的是,為簡化說明,第3圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第3圖所示之架構。舉例而言,記憶體控制器可更包括未示於圖中的其他主裝置。It is worth noting that, to simplify the description, Figure 3 only shows components related to the present invention. However, the implementation of the present invention is not limited to the architecture shown in Figure 3. For example, the memory controller may further include other host devices not shown in the figure.
第4圖係顯示根據本發明之另一實施例所述之記憶體控制器方塊圖。第4圖顯示之架構與第3圖類似,差別僅在於第4圖顯示出中央處理單元330所包含用於儲存資料之DCCM 332-1與332-2。因此,相同的元件之說明可參考第3圖之說明,於此不再贅述。此外,值得注意的是,第3圖與第4圖所示之元件可被整合為包含於同一記憶體控制器內。FIG. 4 shows a block diagram of a memory controller according to another embodiment of the invention. The structure shown in Fig. 4 is similar to that shown in Fig. 3, except that Fig. 4 shows the DCCMs 332-1 and 332-2 included in the
於第4圖所示之架構中,中央處理單元330並不包括直接記憶體存取裝置。根據本發明之一實施例,仲裁電路370-0透過靜態隨機存取記憶體匯流排392、393直接耦接至中央處理單元330。靜態隨機存取記憶體匯流排392與393用以於仲裁電路370-0及中央處理單元330提供一傳輸介面。In the architecture shown in Figure 4, the
當中央處理單元330需要使用或讀取儲存於記憶體裝置320之資料時,可透過耦接至介面邏輯電路350之一指令介面(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路350因應此請求或指令自記憶體裝置320讀取中央處理單元330所需之資料,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排360傳送至仲裁電路370-0。仲裁電路370-0透過靜態隨機存取記憶體匯流排392直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置DCCM 332-1或332-2。When the
當介面邏輯電路350需要讀取儲存於內部記憶體裝置DCCM 332-1或332-2之資料時,介面邏輯電路350向仲裁電路370-0發出一讀取請求或讀取請求指令,仲裁電路370-0因應此請求或指令直接透過靜態隨機存取記憶體匯流排393接收讀取之資料,再透過標準匯流排360將讀取之資料傳送至介面邏輯電路350。When the
舉例而言,當介面邏輯電路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。For example, when the error
根據本發明之一實施例,中央處理單元330可包含複數多工器,例如圖中所示之多工器345、346、347與348。多工器345與346可用於選擇寫入資料的來源路徑。多工器347與348可用於選擇讀取資料的來源路徑。According to an embodiment of the present invention, the
多工器345與346可分別包括複數輸入端,其中一輸入端連接至中央處理單元330之一內部匯流排,另一輸入端透過靜態隨機存取記憶體匯流排392直接連接至仲裁電路370-0之一輸出接口。多工器345之輸出端耦接至DCCM 332-1,多工器346之輸出端耦接至DCCM 332-2。多工器345與346分別根據一選擇信號多工傳輸來自CPU內部匯流排或靜態隨機存取記憶體匯流排392之資料。The
多工器347與348可分別包括複數輸入端,其中一輸入端連接至DCCM 332-1,另一輸入端連接至DCCM 332-2。多工器347之輸出端透過靜態隨機存取記憶體匯流排393直接連接至仲裁電路370-0之一輸入接口,多工器348之輸出端耦接至中央處理單元330之一內部匯流排。多工器347與348分別根據一選擇信號多工傳輸來自DCCM 332-1或DCCM 332-2之資料。The
根據本發明之一實施例,中央處理單元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或外部裝置之暫存器內。According to an embodiment of the present invention, the
邏輯電路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或外部裝置之暫存器內。The logic circuits 343-3 and 343-4 respectively generate a selection signal according to an index for indicating whether the external device performs a read operation and the memory location to be read. For example, when the device to read the internal memory of the CPU is an external device, and the memory location to be accessed falls within the memory address range of DCCM 332-1, the value of the selection signal output by the logic circuit 343-3 can be If it is 0, it is used to select the source path of reading data as DCCM 332-1, so that the external device can read the data of DCCM 332-1. For another example, when the device to read the internal memory of the CPU is an internal device of the CPU, and the memory location to be accessed falls within the memory address range of DCCM 332-2, the output selection of the logic circuit 343-4 The signal value can be 1, which is used to select the source path of reading data as DCCM 332-2, so that the internal device of the CPU can read the data of DCCM 332-2. According to an embodiment of the present invention, the index of the read operation performed by the external device and the information of the memory location to be read can be stored in the
值得注意的是,雖於以上實施例中,多工器的選擇信號為一位元之信號,但本發明並不限於此。孰悉此技藝者均可輕易理解,多工器345、346、347、348可被擴充為包含兩個以上輸入端,因此對應之選擇信號可以為多位元之信號。It is worth noting that although in the above embodiments, the multiplexer selection signal is a one-bit signal, the present invention is not limited to this. Those who know this skill can easily understand that the
根據本發明之一實施例,中央處理單元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可為資料執行於標準匯流排介面協定以及靜態隨機存取記憶體匯流排介面協定之間的轉換。According to an embodiment of the present invention, the internal memory device of the
此外,根據本發明之一實施例,除了設定中央處理單元330之內部記憶體裝置與靜態隨機存取記憶體匯流排之資料字元寬度外,其他控制靜態隨機存取記憶體匯流排392與393之電路之資料字元寬度以及記憶體位址的編碼/解碼方式也須根據標準匯流排360之一資料字元寬度做對應之設定。In addition, according to an embodiment of the present invention, in addition to setting the data character width of the internal memory device of the
值得注意的是,為簡化說明,第4圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第4圖所示之架構。舉例而言,記憶體控制器可更包括未示於圖中的其他主裝置。It is worth noting that, to simplify the description, Figure 4 only shows components related to the present invention. However, the implementation of the present invention is not limited to the architecture shown in Figure 4. For example, the memory controller may further include other host devices not shown in the figure.
如上述,相較於第2圖所示之架構,於第3圖與第4圖的架構中,省去了直接記憶體存取裝置與至少一個從屬記憶體的使用。如此一來,不僅可節省電路面積,也可因減少一次資料搬移到從屬記憶體之動作,節省資料存取所需的時間,有效改善系統效能。除此之外,由於第3圖與第4圖的架構相較於第2圖所示之架構為較簡單的架構,因此電路之複雜度也可被降低,有效降低硬體成本。As mentioned above, compared to the architecture shown in Figure 2, in the architectures of Figures 3 and 4, the use of a direct memory access device and at least one slave memory is omitted. In this way, not only the circuit area can be saved, but also the time required for data access can be saved by reducing the movement of data to the slave memory, and the system performance can be effectively improved. In addition, since the architectures in Figures 3 and 4 are simpler than the architecture shown in Figure 2, the complexity of the circuit can also be reduced, effectively reducing hardware costs.
本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。The term "coupling" in the specification of the present invention generally refers to various direct or indirect electrical connection methods. Although the present invention is disclosed as above in the preferred embodiment, it is not intended to limit the scope of the present invention. Anyone who is familiar with the art can make some changes and modifications without departing from the spirit and scope of the present invention. Therefore, The scope of protection of the present invention shall be subject to those defined by the attached patent scope.
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‧‧‧靜態隨機存取記憶體匯流排。100‧‧‧Data storage device; 110, 210, 310‧‧‧Memory Controller; 120, 220, 320‧‧‧Memory device; 230, 330‧‧‧ central processing unit; 240‧‧‧Direct memory access device; 250, 350‧‧‧ interface logic circuit; 260, 360‧‧‧ standard bus; 270-1, 270-2, 270-3, 270-N, 370-0, 370-1, 370-2, 370-3, 370-N‧‧‧Arbitration circuit; 280-1, 280-2, 280-3, 280-N, 380-2, 380-3, 380-N‧‧‧Subordinate memory; 231, 331-1, 331-2, ICCM‧‧‧ instructions are tightly coupled to memory; 232, 332-1, 332-2, DCCM‧‧‧Data is tightly coupled to memory; 251, 351‧‧‧ Error correction code engine; 333-1, 333-2, 333-3, 333-4, 343-1, 343-2, 343-3, 343-4‧‧‧Logic circuit; 335, 336, 337, 338, 345, 346, 347, 348‧‧‧ multiplexer; 390, 391, 392, 393‧‧‧Static random access memory bus.
第1圖係顯示根據本發明一實施例所述之資料儲存裝置之一範例方塊圖。 第2圖係顯示一種記憶體控制器之架構。 第3圖係顯示根據本發明之一實施例所述之記憶體控制器方塊圖。 第4圖係顯示根據本發明之另一實施例所述之記憶體控制器方塊圖。FIG. 1 is a block diagram showing an example of a data storage device according to an embodiment of the invention. Figure 2 shows the architecture of a memory controller. FIG. 3 is a block diagram of the memory controller according to an embodiment of the invention. FIG. 4 shows a block diagram of a memory controller according to another embodiment of the invention.
100‧‧‧資料儲存裝置 100‧‧‧Data storage device
110‧‧‧記憶體控制器 110‧‧‧Memory Controller
120‧‧‧記憶體裝置 120‧‧‧Memory Device
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108126973A TWI720565B (en) | 2017-04-13 | 2017-04-13 | Memory controller and data storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108126973A TWI720565B (en) | 2017-04-13 | 2017-04-13 | Memory controller and data storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201941071A TW201941071A (en) | 2019-10-16 |
TWI720565B true TWI720565B (en) | 2021-03-01 |
Family
ID=69023171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108126973A TWI720565B (en) | 2017-04-13 | 2017-04-13 | Memory controller and data storage device |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI720565B (en) |
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/en 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 (en) | 2019-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI611296B (en) | Memory controller and data storage device | |
US10002085B2 (en) | Peripheral component interconnect (PCI) device and system including the PCI | |
US20170322897A1 (en) | Systems and methods for processing a submission queue | |
JP5032027B2 (en) | Semiconductor disk control device | |
US20180113615A1 (en) | Storage device generating adaptive interrupt and operating method thereof | |
US8327040B2 (en) | Host controller | |
US11169736B2 (en) | Data storage device equipped to reduce page faults in host device | |
US9411537B2 (en) | Embedded multimedia card (EMMC), EMMC system including the EMMC, and method of operating the EMMC | |
US9052835B1 (en) | Abort function for storage devices by using a poison bit flag wherein a command for indicating which command should be aborted | |
US20060245274A1 (en) | Apparatus and method for controlling NAND flash memory | |
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 | |
US20140040680A1 (en) | Memory control device and control method | |
TWI820603B (en) | Method for performing access control with aid of multi-phase memory-mapped queue, system-on-chip integrated circuit, memory device, and controller of memory device | |
CN108304334B (en) | Application processor and integrated circuit including interrupt controller | |
US8266361B1 (en) | Access methods and circuits for devices having multiple buffers | |
US20150242141A1 (en) | Memory device and data storing method | |
US10108469B2 (en) | Microcomputer and microcomputer system | |
CN113778328A (en) | Directing control data between semiconductor packages | |
US20150046759A1 (en) | Semiconductor integrated circuit device | |
US8489978B2 (en) | Error detection | |
TWI676104B (en) | Memory controller and data storage device | |
TWI720565B (en) | Memory controller and data storage device | |
US20230133559A1 (en) | Method and apparatus for performing data access control of memory device with aid of predetermined command | |
CN116361233A (en) | Micro controller |