[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

TW201837725A - Memory controller and data storage device - Google Patents

Memory controller and data storage device Download PDF

Info

Publication number
TW201837725A
TW201837725A TW106141153A TW106141153A TW201837725A TW 201837725 A TW201837725 A TW 201837725A TW 106141153 A TW106141153 A TW 106141153A TW 106141153 A TW106141153 A TW 106141153A TW 201837725 A TW201837725 A TW 201837725A
Authority
TW
Taiwan
Prior art keywords
bus
memory
processing unit
central processing
data
Prior art date
Application number
TW106141153A
Other languages
Chinese (zh)
Other versions
TWI676104B (en
Inventor
許子偉
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW106141153A priority Critical patent/TWI676104B/en
Publication of TW201837725A publication Critical patent/TW201837725A/en
Application granted granted Critical
Publication of TWI676104B publication Critical patent/TWI676104B/en

Links

Landscapes

  • Bus Control (AREA)

Abstract

A memory controller coupled to an external memory device for controlling the operations thereof. The memory controller comprises a central processing unit, an interface logic circuit and an arbiter circuit. The central processing unit comprises an internal memory device. The interface logic circuit is coupled to the external memory device and a standard bus. The arbiter circuit is directly coupled to the central processing unit via a static random access memory bus. When the central processing unit has to read predetermined data stored in the external memory device, the central processing unit issues a first request to the interface logic circuit. In response to the first request, the interface logic circuit reads the predetermined data from the external memory device and transmits the predetermined data to the arbiter circuit via the standard bus. The arbiter circuit transfers the predetermined data directly to the central processing unit via the static random access memory bus to write the predetermined data in the internal memory device.

Description

記憶體控制器與資料儲存裝置  Memory controller and data storage device  

本發明係關於一種資料處理電路,特別是關於一種可有效改善系統效能之資料處理電路。 The present invention relates to a data processing circuit, and more particularly 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 SD/MMC, CF, MS and XD memory cards, solid state drives, embedded memory (embedded) Multi Media Card (abbreviated as eMMC) and Universal Flash Storage (UFS) have been widely used in a variety of applications. Therefore, effective access control has 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 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, including 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 via a static random access memory bus. When the central processing unit needs to read the predetermined data stored in one of the external memory devices, the central processing unit issues a first request to the interface logic circuit, and the interface logic circuit reads the predetermined data from the external memory device according to the first request, and The predetermined data is transmitted to the arbitration circuit through the standard bus, and the arbitration circuit directly transmits the predetermined data to the central processing unit through the static random access memory bus to write to the internal memory device.

本發明另提出一種資料儲存裝置,包括一非揮發性記憶體以及一記憶體控制器。記憶體控制器耦接至揮發性記憶體,用以控制非揮發性記憶體之運作。非揮發性記憶體包括一中央處理單元、一介面邏輯電路以及一仲裁電路。中央處理單元包含一內部記憶體裝置。介面邏輯電路耦接至揮發性記憶體與一標準匯流排。仲裁電路耦接至標準匯流排與中央處理單元。仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至中央處理單元。當中央處理單元需要讀取儲存於非揮發性記憶體之一既定資料時,中央處理單元向介面邏輯電路發出一第一請求,介面邏輯電路因應第一請求自非揮發性記憶體裝置讀取既定資料,並且透過標準匯流排將既定資料傳送至仲裁電路,仲裁電路透過靜態隨機存取記憶體匯流排直接將既定資料傳送至中央處理單元,以寫入內部記憶體裝置。 The invention further provides a data storage device comprising a non-volatile memory and a memory controller. The memory controller is coupled to the volatile memory to control 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 via a static random access memory bus. When the central processing unit needs to read the predetermined data stored in one of 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 request from the non-volatile memory device according to the first request. The data is transmitted to the arbitration circuit through the standard bus, and the arbitration circuit directly transmits the predetermined data to the central processing unit through the static random access memory bus to write to the internal memory device.

100‧‧‧資料儲存裝置 100‧‧‧ data storage device

110、210、310‧‧‧記憶體控制器 110, 210, 310‧‧‧ memory controller

120、220、320‧‧‧記憶體裝置 120, 220, 320‧‧‧ memory devices

230、330‧‧‧中央處理單元 230, 330‧‧‧ central processing unit

240‧‧‧直接記憶體存取裝置 240‧‧‧Direct memory access device

250、350‧‧‧介面邏輯電路 250, 350‧‧‧ interface logic circuit

260、360‧‧‧標準匯流排 260, 360‧‧‧ standard bus

270-1、270-2、270-3、270-N、370-0、370-1、370-2、370-3、370-N‧‧‧仲裁電路 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‧‧‧從屬記憶體 280-1, 280-2, 280-3, 280-N, 380-2, 380-3, 380-N‧‧‧ dependent memory

231、331-1、331-2、ICCM‧‧‧指令緊密耦接記憶體 231, 331-1, 331-2, ICCM‧‧‧ instructions are tightly coupled to memory

232、332-1、332-2、DCCM‧‧‧資料緊密耦接記憶體 232, 332-1, 332-2, DCCM‧‧‧ data is tightly coupled to the memory

251、351‧‧‧錯誤更正碼引擎 251, 351‧‧‧ error correction code engine

333-1、333-2、333-3、333-4、343-1、343-2、343-3、343-4‧‧‧邏輯電路 333-1, 333-2, 333-3, 333-4, 343-1, 343-2, 343-3, 343-4‧‧‧ logic circuits

335、336、337、338、345、346、347、348‧‧‧多工器 335, 336, 337, 338, 345, 346, 347, 348‧‧ ‧ multiplexers

390、391、392、393‧‧‧靜態隨機存取記憶體匯流排 390, 391, 392, 393‧‧‧ static random access memory bus

第1圖係顯示根據本發明一實施例所述之資料儲存裝置之一範例方塊圖。 1 is a block diagram showing an example of a data storage device according to an embodiment of the invention.

第2圖係顯示一種記憶體控制器之架構。 Figure 2 shows the architecture of a memory controller.

第3圖係顯示根據本發明之一實施例所述之記憶體控制器方塊圖。 Figure 3 is a block diagram showing a memory controller in accordance with an embodiment of the present invention.

第4圖係顯示根據本發明之另一實施例所述之記憶體控制器方塊圖。 Figure 4 is a block diagram showing a memory controller in accordance with another embodiment of the present invention.

為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。 In order to make the objects, features and advantages of the present invention more comprehensible, the specific embodiments of the invention are set forth in the accompanying drawings. The intention is to illustrate the spirit of the invention and not to limit the scope of the invention, it being understood that the following embodiments can be implemented by software, hardware, firmware, or any combination of the above.

第1圖係顯示根據本發明一實施例所述之資料儲存裝置之一範例方塊圖。資料儲存裝置100可包括一記憶體控制器110與一記憶體裝置120。記憶體裝置120可以為非揮發性記憶體,例如反及閘快閃記憶體(NAND Flash)。記憶體控制器110耦接記憶體裝置120,用以控制記憶體裝置120之運作,以及存取記憶體裝置120所儲存之資料。 1 is a block diagram showing an example of a data storage device according to an embodiment of the invention. The data storage device 100 can include a memory controller 110 and a memory device 120. The memory device 120 can be a non-volatile memory such as a NAND Flash. The memory controller 110 is coupled to the memory device 120 for controlling the operation of the memory device 120 and accessing data stored by the memory device 120.

資料儲存裝置100可更耦接至一主機(圖未示),用以傳送資料與指令至主機,或自主機接收資料與指令。主機可以為手機、平板電腦、筆記型電腦、導航機或車載系統等。 The data storage device 100 can be further coupled to a host (not shown) for transmitting data and instructions to the host or receiving data and instructions from the host. The host can be a mobile phone, a tablet, a laptop, a navigation machine or a car system.

值得注意的是,為簡化說明,第1圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第1圖所示之架構。 It is to be noted that, for simplicity of explanation, FIG. 1 shows only elements related to the present invention. However, the implementation of the present invention is not limited to the architecture shown in FIG.

第2圖係顯示一種記憶體控制器之架構。記憶體控制器210可為一控制器晶片,耦接至外部的記憶體裝置220。記 憶體裝置220可包括一或多個非揮發性記憶體。 Figure 2 shows the architecture of a memory controller. The memory controller 210 can be a controller chip coupled to the external memory device 220. The memory device 220 can include one or more non-volatile memory.

記憶體控制器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 memory controller 210 can include a central processing unit (CPU) 230, a direct memory access (DMA) device 240, an interface logic circuit 250, a standard bus 260, and a plurality of arbitration circuits. 270-1, 270-2, 270-3...270-N, and a plurality of dependent memories 280-1, 280-2, 280-3...280-N, where N is a positive integer, and The slave memory can be a volatile memory such as a 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接收來自一或多個主裝置的請求或指令,仲裁多個請求或指令之優先權,用以於多個主裝置同時請求存取同一個從屬記憶體時,決定優先處理哪個主裝置的請求。 The direct memory access device 240, the interface logic circuit 250, or other devices (not shown) that access the slave memory can be regarded as the master, and the slave memories 280-1, 280-2. , 280-3...280-N can be considered as a slave/slave. The standard bus 260 is used to provide a transmission interface between the primary device and the secondary device. Arbitration circuits 270-1, 270-2, 270-3, ..., 270-N are coupled to slave memories 280-1, 280-2, 280-3, ..., 280-N, respectively, for respective slave memories. Arbitration. More specifically, the arbitration circuit receives a request or instruction from one or more master devices via standard bus 260, arbitrating the priority of multiple requests or instructions for simultaneously requesting access to the same slave memory by multiple master devices. In the case of the body, it is decided to request which host device to prioritize.

中央處理單元230可包含複數個內部記憶體裝置,例如,指令緊密耦接記憶體(Instruction Closed Coupled Memory,縮寫為ICCM)231以及資料緊密耦接記憶體(Data Closed Coupled Memory,縮寫為DCCM)232。其中,ICCM與DCCM可以是靜態隨機存取記憶體,ICCM 231可用於儲存程式碼,DCCM 232可用於儲存資料。 The central processing unit 230 can include a plurality of internal memory devices, for example, an Instruction Closed Coupled Memory (ICCM) 231 and a Data Closed Coupled Memory (DCCM) 232. . Among them, ICCM and DCCM can be static random access memory, ICCM 231 can be used to store code, DCCM 232 can be used to store data.

於第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 memory access device 240 is configured to assist the central processing unit 230 to access data stored by the memory device 220. For example, when the central processing unit 230 needs to use the data or code stored in the memory device 220, a read can be sent through a command interface (not shown) coupled to the interface logic circuit 250. Request or read the request instruction. The interface logic circuit 250 reads the data required by the central processing unit 230 from the memory device 220 in response to the request or instruction, and writes the data to the slave memory through the standard bus 260 as indicated by the transmission path indicated as 1 in the figure. 280-1.

介面邏輯電路250可包括一錯誤更正碼(Error Correction Code,縮寫為ECC)引擎251。當錯誤更正碼引擎251偵測到讀取出來之資料有錯誤時,可透過如圖中標示為2的傳輸路徑所示,將錯誤的資料讀回介面邏輯電路250進行錯誤更正,並且再將更正完畢之正確資料寫回從屬記憶體280-1。 The interface logic circuit 250 can include an Error Correction Code (ECC) engine 251. When the error correction code engine 251 detects that the read data has an error, the error data can be read back to the interface logic circuit 250 for error correction as indicated by the transmission path indicated as 2 in the figure, and the correction will be corrected. The correct information is written back to the slave memory 280-1.

當中央處理單元230所需之資料傳輸完畢後,介面邏輯電路250可發出一中斷信號通知中央處理單元230(或者,中央處理單元230亦可持續主動詢問資料狀態)。中央處理單元230再透過耦接至直接記憶體存取裝置240之一指令介面(command interface)(圖未示)發出一請求或指令。直接記憶體存取裝置240因應此請求或指令,將資料如圖中標示為3的傳輸路徑所示由從屬記憶體280-1搬運至中央處理單元230之內部記憶體裝置,例如,ICCM 231或DCCM 232。 After the data required by the central processing unit 230 is transmitted, the interface logic circuit 250 can issue an interrupt signal to the central processing unit 230 (or the central processing unit 230 can also continuously actively request the data status). The central processing unit 230 then issues a request or command through a command interface (not shown) coupled to one of the direct memory access devices 240. In response to the request or instruction, the direct memory access device 240 transfers the data from the slave memory 280-1 to the internal memory device of the central processing unit 230 as indicated by the transmission path indicated as 3 in the figure, for example, the ICCM 231 or DCCM 232.

於第2圖所示之架構中,由於中央處理單元230所需之資料傳輸均須透過直接記憶體存取裝置240來進行,因而 欠缺效率。為了改善上述缺陷,以增進記憶體裝置的存取效能,以下提出一種新的記憶體控制器架構及資料存取方法。 In the architecture shown in Figure 2, the data transfer required by the central processing unit 230 is required to be performed by the direct memory access device 240, which is inefficient. In order to improve the above defects and improve the access efficiency of the memory device, a new memory controller architecture and data access method are proposed below.

第3圖係顯示根據本發明之一實施例所述之記憶體控制器方塊圖。記憶體控制器310可為如第1圖所示之資料儲存裝置之一控制器晶片,耦接至外部的記憶體裝置320。記憶體裝置320可包括一或多個非揮發性記憶體。 Figure 3 is a block diagram showing a memory controller in accordance with an embodiment of the present invention. The memory controller 310 can be a controller chip of one of the data storage devices shown in FIG. 1 and coupled to the external memory device 320. Memory device 320 can include one or more non-volatile memory.

記憶體控制器310可包括一中央處理單元330、一介面邏輯電路350、一標準匯流排360、複數個仲裁電路370-1、370-2、370-3...370-N、以及複數個從屬記憶體380-2、380-3...380-N,其中N為一正整數,並且從屬記憶體可以是揮發性記憶體,例如,靜態隨機存取記憶體(SRAM)。 The memory controller 310 can include a central processing unit 330, an interface logic circuit 350, a standard bus 360, a plurality of arbitration circuits 370-1, 370-2, 370-3...370-N, and a plurality of The slave memories 380-2, 380-3...380-N, where N is a positive integer, and the slave memory can be a volatile memory, such as a static random access memory (SRAM).

介面邏輯電路350、或其他(圖中未示)會存取從屬記憶體之裝置可被視為主裝置(master),而從屬記憶體380-2、380-3...380-N可被視為副裝置/從屬裝置(slave)。標準匯流排360用以於主裝置及副裝置間提供一傳輸介面。仲裁電路370-2、370-3...370-N分別耦接至從屬記憶體380-2、380-3...380-N,用以為各個從屬記憶體進行仲裁。更具體的說,仲裁電路透過標準匯流排360接收來自一或多個主裝置的請求或指令,仲裁多個請求或指令之優先權,用以於多個主裝置同時請求存取同一個從屬記憶體時,決定優先處理哪個主裝置的請求。 The interface logic circuit 350, or other devices (not shown) that access the slave memory can be considered a master, and the slave memories 380-2, 380-3...380-N can be Considered as a slave/slave. The standard bus 360 is used to provide a transmission interface between the primary device and the secondary device. The arbitration circuits 370-2, 370-3, ..., 370-N are coupled to the slave memories 380-2, 380-3, ..., 380-N, respectively, for arbitration of the respective slave memories. More specifically, the arbitration circuit receives a request or instruction from one or more master devices through the standard bus 360, arbitrating the priority of multiple requests or instructions for simultaneously requesting access to the same slave memory by multiple master devices. In the case of the body, it is decided to request which host device to prioritize.

中央處理單元330可包含複數個內部記憶體裝置,例如,用於儲存程式碼之ICCM 331-1與331-2、用於儲存資料之DCCM(為簡化圖示,於第3圖未示,另顯示於第4圖),以及唯讀記憶體339。其中ICCM與DCCM可以是靜態隨機存取記 憶體。 The central processing unit 330 can include a plurality of internal memory devices, such as ICCMs 331-1 and 331-2 for storing code, and DCCM for storing data (for simplicity of illustration, not shown in FIG. 3, Shown in Figure 4), and read-only memory 339. ICCM and DCCM can be static random access memory.

於第3圖所示之架構中,中央處理單元330並不包括直接記憶體存取裝置。根據本發明之一實施例,仲裁電路370-1透過靜態隨機存取記憶體匯流排390、391直接耦接至中央處理單元330。靜態隨機存取記憶體匯流排390與391用以於仲裁電路370-1及中央處理單元330提供一傳輸介面。 In the architecture shown in FIG. 3, central processing unit 330 does not include a direct memory access device. According to an embodiment of the invention, the arbitration circuit 370-1 is directly coupled to the central processing unit 330 via the static random access memory bus 390, 391. SRAM bus lines 390 and 391 are used to provide a transmission interface to arbitration circuit 370-1 and central processing unit 330.

當中央處理單元330需要使用或讀取儲存於記憶體裝置320之資料,例如,程式碼時,可透過耦接至介面邏輯電路350之一指令介面(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路350因應此請求或指令自記憶體裝置320讀取中央處理單元330所需之程式碼,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排360傳送至仲裁電路370-1。仲裁電路370-1透過靜態隨機存取記憶體匯流排390直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置ICCM331-1或331-2。 When the central processing unit 330 needs to use or read the data stored in the memory device 320, for example, the code, a read request or read may be sent through an instruction interface (not shown) coupled to the interface logic circuit 350. Take the request instruction. The interface logic circuit 350 reads the code required by the central processing unit 330 from the memory device 320 in response to the request or instruction, and transmits the data to the arbitration circuit through the standard bus 360 as indicated by the transmission path indicated as 1 in the figure. 370-1. The arbitration circuit 370-1 directly transfers the code to the central processing unit 330 via the static random access memory bus 390 to write to the internal memory device ICCM331-1 or 331-2.

當介面邏輯電路350需要讀取儲存於內部記憶體裝置ICCM 331-1或331-2之資料時,介面邏輯電路350向仲裁電路370-1發出一讀取請求或讀取請求指令,仲裁電路370-1因應此請求或指令直接透過靜態隨機存取記憶體匯流排391接收讀取之資料,再透過標準匯流排360將讀取之資料傳送至介面邏輯電路350。 When the interface logic circuit 350 needs to read the data stored in the internal memory device ICCM 331-1 or 331-2, the interface logic circuit 350 issues a read request or a read request command to the arbitration circuit 370-1, and the arbitration circuit 370 -1 receives the read data directly through the SRAM bus 391 in response to the request or the instruction, and transmits the read data to the interface logic circuit 350 through the standard bus 360.

舉例而言,介面邏輯電路350可包括一錯誤更正碼引擎351。當錯誤更正碼引擎351偵測到讀取出來之程式碼或資料有錯誤時,可由仲裁電路370-1直接透過靜態隨機存取記憶 體匯流排391接收自內部記憶體裝置ICCM 331-1或331-2讀取之錯誤的程式碼或資料,再依循如圖中標示為2的傳輸路徑所示,透過標準匯流排360將資料傳送至介面邏輯電路350進行錯誤更正。更正完畢之正確的程式碼或資料將依循如圖中標示為1的傳輸路徑,透過標準匯流排360被傳送至仲裁電路370-1。仲裁電路370-1再透過靜態隨機存取記憶體匯流排390直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置ICCM331-1或331-2。 For example, interface logic circuit 350 can include an error correction code engine 351. When the error correction code engine 351 detects that the read code or data has an error, the arbitration circuit 370-1 can directly receive the internal memory device ICCM 331-1 or 331 through the static random access memory bus 391. -2 reading the wrong code or data, and transmitting the data to the interface logic circuit 350 via the standard bus 360 for error correction as indicated by the transmission path indicated as 2 in the figure. The correct code or data corrected will be transmitted to arbitration circuit 370-1 via standard bus 360 following the transmission path labeled 1 in the figure. Arbitration circuit 370-1 then transmits the code directly to central processing unit 330 via static random access memory bus 390 for writing to internal memory device ICCM 331-1 or 331-2.

根據本發明之一實施例,中央處理單元330可包含複數多工器,例如圖中所示之多工器335、336、337、338。多工器335與336可用於選擇寫入資料的來源路徑。多工器337與338可用於選擇讀取資料的來源路徑。 In accordance with an embodiment of the present invention, central processing unit 330 may include a plurality of multiplexers, such as multiplexers 335, 336, 337, 338 shown in the figures. Multiplexers 335 and 336 can be used to select the source path for writing data. Multiplexers 337 and 338 can be used to select the source path for reading data.

多工器335與336可分別包括複數輸入端,其中一輸入端連接至中央處理單元330之一內部匯流排,另一輸入端透過靜態隨機存取記憶體匯流排390直接連接至仲裁電路370-1之一輸出接口。多工器335之輸出端耦接至ICCM 331-1,多工器336之輸出端耦接至ICCM 331-2。多工器335與336分別根據一選擇信號多工傳輸來自CPU內部匯流排或靜態隨機存取記憶體匯流排390之資料。 The multiplexers 335 and 336 may respectively include a plurality of input terminals, one of which is connected to one of the internal bus bars of the central processing unit 330, and the other of which is directly connected to the arbitration circuit 370 via the static random access memory bus 390. 1 one output interface. The output of the multiplexer 335 is coupled to the ICCM 331-1, and the output of the multiplexer 336 is coupled to the ICCM 331-2. The multiplexers 335 and 336 respectively multiplex the data from the CPU internal bus bar or the SRAM bus 390 according to a selection signal.

多工器337與338可分別包括複數輸入端,其中一輸入端連接至ICCM 331-1,另一輸入端連接至ICCM 331-2。多工器337之輸出端透過靜態隨機存取記憶體匯流排391直接連接至仲裁電路370-1之一輸入接口,多工器338之輸出端耦接至中央處理單元330之一內部匯流排。多工器337與338分別根據 一選擇信號多工傳輸來自ICCM 331-1或ICCM 331-2之資料。 Multiplexers 337 and 338 can each include a complex input, one of which is coupled to ICCM 331-1 and the other of which is coupled to ICCM 331-2. The output of the multiplexer 337 is directly connected to one of the input interfaces of the arbitration circuit 370-1 through the static random access memory bus 391. The output of the multiplexer 338 is coupled to an internal bus of the central processing unit 330. The multiplexers 337 and 338 multiplex the data from the ICCM 331-1 or the ICCM 331-2, respectively, according to a selection signal.

根據本發明之一實施例,中央處理單元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 central processing unit 330 may further include logic circuits 333-1, 333-2, 333-3, and 333-4. The logic circuits 333-1 and 333-2 respectively generate a selection signal according to an indicator for indicating whether a write operation is performed by an external device (i.e., a device other than the central processing unit 330) and a memory location to be written. For example, when the index of the write operation performed by the external device is set, and the accessed memory location falls within the memory address range of the ICCM 331-1, the value of the selection signal output by the logic circuit 333-1 may be Is 1, for selecting the source path of the written data as an external device, for example, the static random access memory bus 390 and the arbitration circuit 370-1 shown in the figure, so that the external device has the write ICCM 331-1 permission. On the other hand, the value of the selection signal outputted by the logic circuit 333-2 may be 0 to select the source path of the written data as the CPU internal bus, so that the internal device has the right to write to the ICCM 331-2. According to an embodiment of the present invention, the information of the write operation performed by the external device and the information of the accessed memory location may be stored in the central processing unit 330 or the temporary device of the external device.

邏輯電路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 indicator for indicating whether an external device performs a read operation and a memory position to be read. For example, when the device that wants to read the internal memory of the CPU is an external device, and the accessed memory location falls within the memory address range of the ICCM 331-1, the value of the selection signal output by the logic circuit 333-3 may be It is 0 to select the source path of the read 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 the internal device of the CPU, and the accessed memory location falls within the memory address range of the ICCM 331-2, the selection of the output of the logic circuit 333-4 The signal value can be 1, which is used to select the source path of the read 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 may be stored in the central processing unit 330 or the temporary device of the external device.

值得注意的是,雖於以上實施例中,多工器的選擇信號為一位元之信號,但本發明並不限於此。孰悉此技藝者均可輕易理解,多工器335、336、337、338可被擴充為包含兩個以上輸入端,因此對應之選擇信號可以為多位元之信號。 It should be noted that although in the above embodiment, the selection signal of the multiplexer is a one-bit signal, the present invention is not limited thereto. It will be readily understood by those skilled in the art that the multiplexers 335, 336, 337, 338 can be expanded to include more than two inputs, so the corresponding selection signal can be a multi-bit signal.

根據本發明之一實施例,中央處理單元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 central processing unit 330, for example, one of the ICCMs 331-1 and 331-2 shown in the figure has a data word width set to be one of the data of the standard bus 360. The character width is the same. In addition, the data word width of one of the SRAM bus bars 390 and 391 can also be set to be the same as the data word width of one of the standard bus bars 360. In this way, the data can be directly written into the internal memory device of the central processing unit 330 without being converted by the word width. For example, if one of the data bus widths of the standard bus 360 is X bits, the internal memory device of the central processing unit 330 and the data byte width of one of the static random access memory bus bars 390 and 391 are configured. The data can be set to X bits, and the data depth of the internal memory device of the central processing unit 330 can be set to (M/X) storage units, where M is the internal memory device of the central processing unit 330. The memory capacity, and the data character width X represents the data of the X bit that is accessed for each access of the internal memory device. In addition, the arbitration circuit 370-1 coupled to the standard bus 360 and the SRAM bus can convert data between the standard bus interface protocol and the static random access memory bus interface protocol.

此外,根據本發明之一實施例,除了設定中央處理單元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 central processing unit 330 and the static random access memory bus, the other control static random access memory bus 390 and 391 The data character width of the circuit and the encoding/decoding method of the memory address must also be set according to the data character width of one of the standard bus bars 360.

值得注意的是,為簡化說明,第3圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第3圖所示之架構。舉例而言,記憶體控制器可更包括未示於圖中的其他主裝置。 It is to be noted that, in order to simplify the description, FIG. 3 shows only the components related to the present invention. However, the implementation of the present invention is not limited to the architecture shown in FIG. For example, the memory controller may further include other host devices not shown in the figures.

第4圖係顯示根據本發明之另一實施例所述之記憶體控制器方塊圖。第4圖顯示之架構與第3圖類似,差別僅在於第4圖顯示出中央處理單元330所包含用於儲存資料之DCCM332-1與332-2。因此,相同的元件之說明可參考第3圖之說明,於此不再贅述。此外,值得注意的是,第3圖與第4圖所示之元件可被整合為包含於同一記憶體控制器內。 Figure 4 is a block diagram showing a memory controller in accordance with another embodiment of the present invention. The structure shown in FIG. 4 is similar to that of FIG. 3, except that FIG. 4 shows DCCMs 332-1 and 332-2 included in the central processing unit 330 for storing data. Therefore, the description of the same components can be referred to the description of FIG. 3, and details are not described herein again. Furthermore, it is worth noting that the elements shown in Figures 3 and 4 can be integrated into the same memory controller.

於第4圖所示之架構中,中央處理單元330並不包括直接記憶體存取裝置。根據本發明之一實施例,仲裁電路370-0透過靜態隨機存取記憶體匯流排392、393直接耦接至中央處理單元330。靜態隨機存取記憶體匯流排392與393用以於仲裁電路370-0及中央處理單元330提供一傳輸介面。 In the architecture shown in FIG. 4, central processing unit 330 does not include a direct memory access device. In accordance with an embodiment of the present invention, arbitration circuit 370-0 is coupled directly to central processing unit 330 via static random access memory bus 392, 393. SRAM bus lines 392 and 393 are used to provide a transmission interface to arbitration circuit 370-0 and central processing unit 330.

當中央處理單元330需要使用或讀取儲存於記憶體裝置320之資料時,可透過耦接至介面邏輯電路350之一指令介面(圖未示)發出一讀取請求或讀取請求指令。介面邏輯電路 350因應此請求或指令自記憶體裝置320讀取中央處理單元330所需之資料,並且如圖中標示為1的傳輸路徑所示,將資料透過標準匯流排360傳送至仲裁電路370-0。仲裁電路370-0透過靜態隨機存取記憶體匯流排392直接將程式碼傳送至中央處理單元330,以寫入內部記憶體裝置DCCM 332-1或332-2。 When the central processing unit 330 needs to use or read the data stored in the memory device 320, a read request or a read request command can be issued through an instruction interface (not shown) coupled to the interface logic circuit 350. The interface logic circuit 350 reads the data required by the central processing unit 330 from the memory device 320 in response to the request or instruction, and transmits the data to the arbitration circuit 370 through the standard bus 360 as indicated by the transmission path labeled 1 in the figure. -0. Arbitration circuit 370-0 transmits the code directly to central processing unit 330 via static random access memory bus 392 for writing to internal memory device DCCM 332-1 or 332-2.

當介面邏輯電路350需要讀取儲存於內部記憶體裝置DCCM 332-1或332-2之資料時,介面邏輯電路350向仲裁電路370-0發出一讀取請求或讀取請求指令,仲裁電路370-0因應此請求或指令直接透過靜態隨機存取記憶體匯流排393接收讀取之資料,再透過標準匯流排360將讀取之資料傳送至介面邏輯電路350。 When the interface logic circuit 350 needs to read the data stored in the internal memory device DCCM 332-1 or 332-2, the interface logic circuit 350 issues a read request or a read request command to the arbitration circuit 370-0, and the arbitration circuit 370 The -0 receives the read data directly through the SRAM bus 393 in response to the request or the instruction, and transmits the read data to the interface logic circuit 350 through the standard bus 360.

舉例而言,當介面邏輯電路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 correction code engine 351 of the interface logic circuit 350 detects that the read data has an error, the arbitration circuit 370-0 can directly receive the internal memory device through the static random access memory bus 393. The erroneous data read by the DCCM 332-1 or 332-2 is transmitted to the interface logic circuit 350 via the standard bus 360 for error correction as indicated by the transmission path indicated as 2 in the figure. The correct code or data corrected will be transmitted to arbitration circuit 370-0 via standard bus 360 following the transmission path labeled 1 in the figure. Arbitration circuit 370-0 then transmits the code directly to central processing unit 330 via static random access memory bus 392 for writing to internal memory device DCCM 332-1 or 332-2.

根據本發明之一實施例,中央處理單元330可包含複數多工器,例如圖中所示之多工器345、346、347與348。多工器345與346可用於選擇寫入資料的來源路徑。多工器347與 348可用於選擇讀取資料的來源路徑。 In accordance with an embodiment of the present invention, central processing unit 330 may include a plurality of multiplexers, such as multiplexers 345, 346, 347, and 348 shown in the figures. Multiplexers 345 and 346 can be used to select the source path for writing data. Multiplexers 347 and 348 can be used to select the source path for reading data.

多工器345與346可分別包括複數輸入端,其中一輸入端連接至中央處理單元330之一內部匯流排,另一輸入端透過靜態隨機存取記憶體匯流排392直接連接至仲裁電路370-0之一輸出接口。多工器345之輸出端耦接至DCCM 332-1,多工器346之輸出端耦接至DCCM 332-2。多工器345與346分別根據一選擇信號多工傳輸來自CPU內部匯流排或靜態隨機存取記憶體匯流排392之資料。 The multiplexers 345 and 346 may respectively include a plurality of input terminals, one of which is connected to one of the internal bus bars of the central processing unit 330, and the other of which is directly connected to the arbitration circuit 370 via the static random access memory bus 392. 0 one output interface. The output of the multiplexer 345 is coupled to the DCCM 332-1, and the output of the multiplexer 346 is coupled to the DCCM 332-2. The multiplexers 345 and 346 respectively multiplex the data from the CPU internal bus bar or the SRAM bus 392 according to a selection signal.

多工器347與348可分別包括複數輸入端,其中一輸入端連接至DCCM 332-1,另一輸入端連接至DCCM 332-2。多工器347之輸出端透過靜態隨機存取記憶體匯流排393直接連接至仲裁電路370-0之一輸入接口,多工器348之輸出端耦接至中央處理單元330之一內部匯流排。多工器347與348分別根據一選擇信號多工傳輸來自DCCM 332-1或DCCM 332-2之資料。 Multiplexers 347 and 348 can each include a complex input, one of which is coupled to DCCM 332-1 and the other of which is coupled to DCCM 332-2. The output of the multiplexer 347 is directly connected to one of the input terminals of the arbitration circuit 370-0 through the static random access memory bus 393. The output of the multiplexer 348 is coupled to an internal bus of the central processing unit 330. Multiplexers 347 and 348 multiplex the data from DCCM 332-1 or DCCM 332-2, respectively, based on a selection signal.

根據本發明之一實施例,中央處理單元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 central processing unit 330 may further include logic circuits 343-1, 343-2, 343-3, and 343-4. The logic circuits 343-1 and 343-2 respectively generate a selection signal in accordance with an indicator for indicating whether or not an external device (i.e., a device other than the central processing unit 330) performs a write operation and a memory location to be written. For example, when the index of the write operation performed by the external device is set, and the accessed memory location falls within the memory address range of the DCCM 332-1, the value of the selection signal output by the logic circuit 343-1 may be Is 1, for selecting the source path of the written data as an external device, for example, the static random access memory bus 392 and the arbitration circuit 370-0 shown in the figure, so that the external device has the write DCCM 332-1 permission. On the other hand, the value of the selection signal outputted by the logic circuit 343-2 may be 0 to select the source path of the written data as the CPU internal bus, so that the internal device has the right to write to the DCCM 332-2. According to an embodiment of the present invention, the information of the write operation performed by the external device and the information of the accessed memory location may be stored in the central processing unit 330 or the temporary device of the external device.

邏輯電路343-3與343-4分別根據用以指示是否由外部裝置執行讀取操作之一指標與欲讀取的記憶體位置產生一選擇信號。舉例而言,當欲讀取CPU內部記憶體之裝置為外部裝置,且存取的記憶體位置落在DCCM 332-1的記憶體位址範圍內時,邏輯電路343-3輸出的選擇信號數值可為0,用以將讀取資料的來源路徑選擇為DCCM 332-1,使得外部裝置可讀取DCCM 332-1的資料。舉另一例而言,當欲讀取CPU內部記憶體之裝置為CPU內部裝置,且存取的記憶體位置落在DCCM332-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 in accordance with an indicator for indicating whether or not an external device performs a read operation and a memory position to be read. For example, when the device that wants to read the internal memory of the CPU is an external device, and the accessed memory location falls within the memory address range of the DCCM 332-1, the value of the selection signal output by the logic circuit 343-3 may be It is 0, and the source path of the read data is selected as DCCM 332-1, so that the external device can read the data of the DCCM 332-1. For another example, when the device to read the internal memory of the CPU is the internal device of the CPU, and the accessed memory location falls within the memory address range of the DCCM 332-2, the selection signal output by the logic circuit 343-4 The value can be 1, which is used to select the source path of the read data as DCCM 332-2, so that the CPU internal device can read the data of the 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 may be stored in the central processing unit 330 or the temporary device of the external device.

值得注意的是,雖於以上實施例中,多工器的選擇信號為一位元之信號,但本發明並不限於此。孰悉此技藝者均可輕易理解,多工器345、346、347、348可被擴充為包含兩個以上輸入端,因此對應之選擇信號可以為多位元之信號。 It should be noted that although in the above embodiment, the selection signal of the multiplexer is a one-bit signal, the present invention is not limited thereto. It will be readily understood by those skilled in the art that the multiplexers 345, 346, 347, 348 can be expanded to include more than two inputs, so the corresponding selection signal can be a multi-bit signal.

根據本發明之一實施例,中央處理單元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 central processing unit 330, for example, one of the DCCMs 332-1 and 332-2 shown in the figure has a data word width set to be one of the data of the standard bus 360. The character width is the same. In addition, the data word width of one of the SRAM bus bars 392 and 393 can also be set to be the same as the data word width of one of the standard bus bars 360. In this way, the data can be directly written into the internal memory device of the central processing unit 330 without being converted by the word width. For example, if one of the data bus widths of the standard bus 360 is X bits, the internal memory device of the central processing unit 330 and one of the static random access memory bus bars 392 and 393 have a data word width configured. The data can be set to X bits, and the data depth of the internal memory device of the central processing unit 330 can be set to (M/X) storage units, where M is the internal memory device of the central processing unit 330. The memory capacity, and the data character width X represents the data of the X bit that is accessed for each access of the internal memory device. In addition, the arbitration circuit 370-0 coupled to the standard bus 360 and the SRAM bus can convert the data between the standard bus interface protocol and the static random access memory bus interface protocol.

此外,根據本發明之一實施例,除了設定中央處理單元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 central processing unit 330 and the static random access memory bus, the other control static random access memory bus 392 and 393 The data character width of the circuit and the encoding/decoding method of the memory address must also be set according to the data character width of one of the standard bus bars 360.

值得注意的是,為簡化說明,第4圖僅顯示與本發明相關之元件。然而,本發明之實施並不僅限於第4圖所示之架構。舉例而言,記憶體控制器可更包括未示於圖中的其他主 裝置。 It is to be noted that, in order to simplify the description, FIG. 4 shows only the components related to the present invention. However, the implementation of the present invention is not limited to the architecture shown in FIG. For example, the memory controller may further include other host devices not shown in the figures.

如上述,相較於第2圖所示之架構,於第3圖與第4圖的架構中,省去了直接記憶體存取裝置與至少一個從屬記憶體的使用。如此一來,不僅可節省電路面積,也可因減少一次資料搬移到從屬記憶體之動作,節省資料存取所需的時間,有效改善系統效能。除此之外,由於第3圖與第4圖的架構相較於第2圖所示之架構為較簡單的架構,因此電路之複雜度也可被降低,有效降低硬體成本。 As described above, in the architecture of FIGS. 3 and 4, the use of the direct memory access device and the at least one slave memory is omitted in comparison with the architecture shown in FIG. In this way, not only the circuit area can be saved, but also the movement of the data to the slave memory can be reduced, the time required for data access can be saved, and the system performance can be effectively improved. In addition, since the architectures of Figures 3 and 4 are simpler than the architecture shown in Figure 2, the complexity of the circuit can be reduced, effectively reducing hardware costs.

本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 The term "coupled" in this specification refers to a variety of direct or indirect electrical connections. The present invention has been described above with reference to the preferred embodiments thereof, and is not intended to limit the scope of the present invention, and the invention may be modified and modified without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.

Claims (12)

一種記憶體控制器,耦接至一外部記憶體裝置,用以控制該外部記憶體裝置之運作,包括:一中央處理單元,包含一內部記憶體裝置;一介面邏輯電路,耦接至該外部記憶體裝置與一標準匯流排;以及一仲裁電路,耦接至該標準匯流排與該中央處理單元,其中該仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至該中央處理單元。  A memory controller coupled to an external memory device for controlling operation of the external memory device includes: a central processing unit including an internal memory device; and an interface logic circuit coupled to the external The memory device and a standard bus bar; and an arbitration circuit coupled to the standard bus bar and the central processing unit, wherein the arbitration circuit is directly coupled to the central processing unit via a static random access memory bus.   如申請專利範圍第1項所述之記憶體控制器,其中該介面邏輯電路自該外部記憶體裝置讀取一既定資料,並且透過該標準匯流排將該既定資料傳送至該仲裁電路,該仲裁電路透過該靜態隨機存取記憶體匯流排直接將該既定資料傳送至該中央處理單元,以寫入該內部記憶體裝置。  The memory controller of claim 1, wherein the interface logic circuit reads a predetermined data from the external memory device, and transmits the predetermined data to the arbitration circuit through the standard bus, the arbitration The circuit directly transmits the predetermined data to the central processing unit through the static random access memory bus to write to the internal memory device.   如申請專利範圍第1項所述之記憶體控制器,其中該仲裁電路透過該靜態隨機存取記憶體匯流排直接讀取儲存於該內部記憶體裝置之一既定資料,再透過該標準匯流排將該既定資料傳送至該介面邏輯電路。  The memory controller of claim 1, wherein the arbitration circuit directly reads a predetermined data stored in the internal memory device through the static random access memory bus, and then transmits the standard bus. The predetermined data is transmitted to the interface logic circuit.   如申請專利範圍第1項所述之記憶體控制器,其中該中央處理單元更包括一多工器,耦接至該內部記憶體裝置、一內部匯流排與該靜態隨機存取記憶體匯流排,用以根據一選擇信號多工傳輸來自該內部匯流排或該靜態隨機存取記憶體匯流排之資料。  The memory controller of claim 1, wherein the central processing unit further includes a multiplexer coupled to the internal memory device, an internal bus bar, and the static random access memory bus And multiplexing data from the internal bus or the static random access memory bus according to a selection signal.   如申請專利範圍第4項所述之記憶體控制器,其中該仲裁電 路透過該靜態隨機存取記憶體匯流排直接連接至該多工器之一輸入端。  The memory controller of claim 4, wherein the arbitration circuit is directly connected to one of the inputs of the multiplexer through the static random access memory bus.   如申請專利範圍第1項所述之記憶體控制器,其中該內部記憶體裝置之一資料字元寬度被設定為與該標準匯流排之一資料字元寬度相同。  The memory controller of claim 1, wherein the data word width of one of the internal memory devices is set to be the same as the data word width of one of the standard bus bars.   一種資料儲存裝置,包括:一非揮發性記憶體;以及一記憶體控制器,耦接至該揮發性記憶體,用以控制該非揮發性記憶體之運作,其中該記憶體控制器包括:一中央處理單元,包含一內部記憶體裝置;一介面邏輯電路,耦接至該揮發性記憶體與一標準匯流排;以及一仲裁電路,耦接至該標準匯流排與該中央處理單元,其中該仲裁電路透過一靜態隨機存取記憶體匯流排直接耦接至該中央處理單元。  A data storage device comprising: a non-volatile memory; and a memory controller coupled to the volatile memory for controlling operation of the non-volatile memory, wherein the memory controller comprises: The central processing unit includes an internal memory device; an interface logic circuit coupled to the volatile memory and a standard bus; and an arbitration circuit coupled to the standard bus and the central processing unit, wherein the The arbitration circuit is directly coupled to the central processing unit via a static random access memory bus.   如申請專利範圍第7項所述之資料儲存裝置,其中該介面邏輯電路自該非揮發性記憶體裝置讀取一既定資料,並且透過該標準匯流排將該既定資料傳送至該仲裁電路,該仲裁電路透過該靜態隨機存取記憶體匯流排直接將該既定資料傳送至該中央處理單元,以寫入該內部記憶體裝置。  The data storage device of claim 7, wherein the interface logic circuit reads a predetermined data from the non-volatile memory device, and transmits the predetermined data to the arbitration circuit through the standard bus bar, the arbitration The circuit directly transmits the predetermined data to the central processing unit through the static random access memory bus to write to the internal memory device.   如申請專利範圍第7項所述之資料儲存裝置,其中該仲裁電路透過該靜態隨機存取記憶體匯流排直接讀取儲存於該內部記憶體裝置之一既定資料,再透過該標準匯流排將該既定資料傳送至該介面邏輯電路。  The data storage device of claim 7, wherein the arbitration circuit directly reads a predetermined data stored in the internal memory device through the static random access memory bus, and then transmits the standard bus through the standard bus. The predetermined data is transmitted to the interface logic circuit.   如申請專利範圍第7項所述之資料儲存裝置,其中該中央處理單元更包括一多工器,耦接至該內部記憶體裝置、一內部匯流排與該靜態隨機存取記憶體匯流排,用以根據一選擇信號多工傳輸來自該內部匯流排或該靜態隨機存取記憶體匯流排之資料。  The data storage device of claim 7, wherein the central processing unit further includes a multiplexer coupled to the internal memory device, an internal bus bar, and the static random access memory bus. The method is configured to multiplex data from the internal bus or the static random access memory bus according to a selection signal.   如申請專利範圍第10項所述之資料儲存裝置,其中該仲裁電路透過該靜態隨機存取記憶體匯流排直接連接至該多工器之一輸入端。  The data storage device of claim 10, wherein the arbitration circuit is directly connected to one of the inputs of the multiplexer through the static random access memory bus.   如申請專利範圍第7項所述之資料儲存裝置,其中該內部記憶體裝置之一資料字元寬度被設定為與該標準匯流排之一資料字元寬度相同。  The data storage device of claim 7, wherein the data word width of one of the internal memory devices is set to be the same as the data word width of one of the standard bus bars.  
TW106141153A 2017-04-13 2017-04-13 Memory controller and data storage device TWI676104B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106141153A TWI676104B (en) 2017-04-13 2017-04-13 Memory controller and data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106141153A TWI676104B (en) 2017-04-13 2017-04-13 Memory controller and data storage device

Publications (2)

Publication Number Publication Date
TW201837725A true TW201837725A (en) 2018-10-16
TWI676104B TWI676104B (en) 2019-11-01

Family

ID=64797355

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106141153A TWI676104B (en) 2017-04-13 2017-04-13 Memory controller and data storage device

Country Status (1)

Country Link
TW (1) TWI676104B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742264A (en) * 2020-05-29 2021-12-03 慧荣科技股份有限公司 Data storage device adopting multi-level architecture controller

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725337B1 (en) * 2001-05-16 2004-04-20 Advanced Micro Devices, Inc. Method and system for speculatively invalidating lines in a cache
US6954809B2 (en) * 2002-09-27 2005-10-11 Via Technologies, Inc. Apparatus and method for accessing computer system resources via serial bus
US9251870B2 (en) * 2013-04-04 2016-02-02 Nvidia Corporation Ground-referenced single-ended memory interconnect

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742264A (en) * 2020-05-29 2021-12-03 慧荣科技股份有限公司 Data storage device adopting multi-level architecture controller
CN113742264B (en) * 2020-05-29 2023-09-29 慧荣科技股份有限公司 Data storage device adopting multi-stage architecture controller

Also Published As

Publication number Publication date
TWI676104B (en) 2019-11-01

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
JP5032027B2 (en) Semiconductor disk control device
KR20180052329A (en) Semiconductor memory device performing randomize operation
JP2004280790A (en) Ecc control unit
US10126953B2 (en) Memory management method for buffer memory, and memory control circuit unit and memory storage device using the same
EP2294581B1 (en) A system for distributing available memory resource
US9436563B2 (en) Memory system for mirroring data
US20100185811A1 (en) Data processing system and method
US9141485B2 (en) Storage device, control device and data protection method
US12040035B2 (en) Buffer circuit with adaptive repair capability
US9575887B2 (en) Memory device, information-processing device and information-processing method
KR20200081045A (en) A three-dimensional stacked memory device and operating method for the same
US20070047308A1 (en) Memory controller, flash memory system and control method for flash memory
TWI676104B (en) Memory controller and data storage device
CN114153402B (en) Memory and data reading and writing method thereof
US20140331006A1 (en) Semiconductor memory devices
TWI720565B (en) Memory controller and data storage device
KR20180013212A (en) Data bit inversion controller and semiconductor device including thereof
JP2021182300A (en) Memory controller, memory system, and control method of memory system
US20180196616A1 (en) Memory device and memory module
US11977783B2 (en) Method and apparatus for performing data access control of memory device with aid of predetermined command
JP2015215774A (en) Memory controller, memory system and memory control method
JP2013174947A (en) Bus system and nonvolatile semiconductor storage device
JPH04233052A (en) Duplex memory device