CN108733594B - 存储器控制器与数据储存装置 - Google Patents
存储器控制器与数据储存装置 Download PDFInfo
- Publication number
- CN108733594B CN108733594B CN201810000776.1A CN201810000776A CN108733594B CN 108733594 B CN108733594 B CN 108733594B CN 201810000776 A CN201810000776 A CN 201810000776A CN 108733594 B CN108733594 B CN 108733594B
- Authority
- CN
- China
- Prior art keywords
- bus
- cpu
- memory device
- data
- coupled
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 109
- 238000013500 data storage Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1048—Data bus control circuits, e.g. precharging, presetting, equalising
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种存储器控制器与数据储存装置,耦接至一外部存储器装置,用以控制外部存储器装置的运作,包括一中央处理单元、一介面逻辑电路以及一仲裁电路。中央处理单元包含一内部存储器装置。介面逻辑电路耦接至外部存储器装置与一标准总线。仲裁电路耦接至标准总线与中央处理单元。仲裁电路透过一静态随机存取存储器总线直接耦接至中央处理单元。当中央处理单元需要读取储存于外部存储器装置的一既定数据时,中央处理单元向介面逻辑电路发出一第一请求,介面逻辑电路响应第一请求自外部存储器装置读取既定数据,并且透过标准总线将既定数据传送至仲裁电路,仲裁电路透过静态随机存取存储器总线直接将既定数据传送至中央处理单元,以写入内部存储器装置。
Description
技术领域
本发明关于一种数据处理电路,特别是关于一种可有效改善***效能的数据处理电路。
背景技术
随着数据储存装置的科技在近几年快速地成长,许多数据储存装置,如符合SD/MMC规格、CF规格、MS规格与XD规格的记忆卡、固态硬碟、内嵌式存储器(embedded MultiMedia Card,缩写为eMMC)以及通用快闪存储器(Universal Flash Storage,缩写为UFS)已经广泛地被应用在多种用途上。因此,在这些数据储存装置上,有效的存取控制也变成一个重要的议题。
为了增进存储器装置的存取效能,本发明提出一种新的存储器控制器架构,不仅可节省电路面积,也可节省数据存取所需的时间,有效改善***效能。
发明内容
本发明提出一种存储器控制器,耦接至一外部存储器装置,用以控制外部存储器装置的运作,包括一中央处理单元、一介面逻辑电路以及一仲裁电路。中央处理单元包含一内部存储器装置。介面逻辑电路耦接至外部存储器装置与一标准总线。仲裁电路耦接至标准总线与中央处理单元。仲裁电路透过一静态随机存取存储器总线直接耦接至中央处理单元。当中央处理单元需要读取储存于外部存储器装置的一既定数据时,中央处理单元向介面逻辑电路发出一第一请求,介面逻辑电路响应第一请求自外部存储器装置读取既定数据,并且透过标准总线将既定数据传送至仲裁电路,仲裁电路透过静态随机存取存储器总线直接将既定数据传送至中央处理单元,以写入内部存储器装置。
本发明另提出一种数据储存装置,包括一非挥发性存储器以及一存储器控制器。存储器控制器耦接至挥发性存储器,用以控制非挥发性存储器的运作。非挥发性存储器包括一中央处理单元、一介面逻辑电路以及一仲裁电路。中央处理单元包含一内部存储器装置。介面逻辑电路耦接至挥发性存储器与一标准总线。仲裁电路耦接至标准总线与中央处理单元。仲裁电路透过一静态随机存取存储器总线直接耦接至中央处理单元。当中央处理单元需要读取储存于非挥发性存储器的一既定数据时,中央处理单元向介面逻辑电路发出一第一请求,介面逻辑电路响应第一请求自非挥发性存储器装置读取既定数据,并且透过标准总线将既定数据传送至仲裁电路,仲裁电路透过静态随机存取存储器总线直接将既定数据传送至中央处理单元,以写入内部存储器装置。
附图说明
图1是显示根据本发明一实施例所述的数据储存装置的一范例方块图。
图2是显示一种存储器控制器的架构。
图3是显示根据本发明的一实施例所述的存储器控制器方块图。
图4是显示根据本发明的另一实施例所述的存储器控制器方块图。
符号说明
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是显示根据本发明一实施例所述的数据储存装置的一范例方块图。数据储存装置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为一正整数,并且从属存储器可以是挥发性存储器,例如,静态随机存取存储器(StaticRandom 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以及数据紧密耦接存储器(DataClosed Coupled Memory,缩写为DCCM)232。其中,ICCM与DCCM可以是静态随机存取存储器,ICCM 231可用于储存程序码,DCCM 232可用于储存数据。
于图2所示的架构中,直接存储器存取装置240是用以协助中央处理单元230存取存储器装置220所储存的数据。举例而言,当中央处理单元230需要使用储存于存储器装置220的数据或程序码时,可透过耦接至介面逻辑电路250的一指令介面(commandinterface)(图未示)发出一读取请求或读取请求指令。介面逻辑电路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的内部存储器装置,例如,ICCM231或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可包含多个内部存储器装置,例如,用于储存程序码的ICCM331-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内部装置可读取ICCM331-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内部装置可读取DCCM332-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所示的架构为较简单的架构,因此电路的复杂度也可被降低,有效降低硬件成本。
本发明说明书中"耦接"一词泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (10)
1.一种存储器控制器,耦接至一外部存储器装置,用以控制该外部存储器装置的运作,包括:
一中央处理单元,包含一内部存储器装置;
一介面逻辑电路,耦接至该外部存储器装置与一标准总线;以及
一仲裁电路,耦接至该标准总线与该中央处理单元,其中该仲裁电路透过一静态随机存取存储器总线直接耦接至该中央处理单元;并且
其中当该中央处理单元需要读取储存于该外部存储器装置的一既定数据时,该中央处理单元向该介面逻辑电路发出一第一请求,该介面逻辑电路响应该第一请求自该外部存储器装置读取该既定数据,并且透过该标准总线将该既定数据传送至该仲裁电路,该仲裁电路透过该静态随机存取存储器总线直接将该既定数据传送至该中央处理单元,以写入该内部存储器装置。
2.如权利要求1所述的存储器控制器,其特征在于,当该介面逻辑电路需要读取储存于该内部存储器装置的该既定数据时,该介面逻辑电路向该仲裁电路发出一第二请求,该仲裁电路响应该第二请求直接透过该静态随机存取存储器总线读取该既定数据,再透过该标准总线将该既定数据传送至该介面逻辑电路。
3.如权利要求1所述的存储器控制器,其特征在于,该中央处理单元还包括一多工器,耦接至该内部存储器装置、一内部总线与该静态随机存取存储器总线,用以根据一选择信号多工传输来自该内部总线或该静态随机存取存储器总线的数据。
4.如权利要求3所述的存储器控制器,其特征在于,该仲裁电路透过该静态随机存取存储器总线直接连接至该多工器的一输入端。
5.如权利要求1所述的存储器控制器,其特征在于,该内部存储器装置的一数据字元宽度被设定为与该标准总线的一数据字元宽度相同。
6.一种数据储存装置,包括:
一非挥发性存储器;以及
一存储器控制器,耦接至该挥发性存储器,用以控制该非挥发性存储器的运作,其中该存储器控制器包括:
一中央处理单元,包含一内部存储器装置;
一介面逻辑电路,耦接至该挥发性存储器与一标准总线;以及
一仲裁电路,耦接至该标准总线与该中央处理单元,其中该仲裁电路透过一静态随机存取存储器总线直接耦接至该中央处理单元;并且
其中当该中央处理单元需要读取储存于该非挥发性存储器的一既定数据时,该中央处理单元向该介面逻辑电路发出一第一请求,该介面逻辑电路响应该第一请求自该非挥发性存储器装置读取该既定数据,并且透过该标准总线将该既定数据传送至该仲裁电路,该仲裁电路透过该静态随机存取存储器总线直接将该既定数据传送至该中央处理单元,以写入该内部存储器装置。
7.如权利要求6所述的数据储存装置,其特征在于,当该介面逻辑电路需要读取储存于该内部存储器装置的该既定数据时,该介面逻辑电路向该仲裁电路发出一第二请求,该仲裁电路响应该第二请求直接透过该静态随机存取存储器总线读取该既定数据,再透过该标准总线将该既定数据传送至该介面逻辑电路。
8.如权利要求6所述的数据储存装置,其特征在于,该中央处理单元还包括一多工器,耦接至该内部存储器装置、一内部总线与该静态随机存取存储器总线,用以根据一选择信号多工传输来自该内部总线或该静态随机存取存储器总线的数据。
9.如权利要求8所述的数据储存装置,其特征在于,该仲裁电路透过该静态随机存取存储器总线直接连接至该多工器的一输入端。
10.如权利要求6所述的数据储存装置,其特征在于,该内部存储器装置的一数据字元宽度被设定为与该标准总线的一数据字元宽度相同。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106112347 | 2017-04-13 | ||
TW106112347A TWI611296B (zh) | 2017-04-13 | 2017-04-13 | 記憶體控制器與資料儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108733594A CN108733594A (zh) | 2018-11-02 |
CN108733594B true CN108733594B (zh) | 2020-06-02 |
Family
ID=61728505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810000776.1A Active CN108733594B (zh) | 2017-04-13 | 2018-01-02 | 存储器控制器与数据储存装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10372338B2 (zh) |
CN (1) | CN108733594B (zh) |
TW (1) | TWI611296B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111656333B (zh) * | 2018-03-26 | 2024-01-30 | 株式会社富士 | 从属设备、作业机及存储日志信息的方法 |
TWI694378B (zh) * | 2019-02-13 | 2020-05-21 | 慧榮科技股份有限公司 | 記憶體介面的阻抗組態方法及電腦程式產品 |
CN110109858A (zh) * | 2019-05-07 | 2019-08-09 | 苏州浪潮智能科技有限公司 | 总线架构、服务器、内存数据读写方法及可读存储介质 |
CN112631505B (zh) * | 2019-10-08 | 2024-06-04 | 华邦电子股份有限公司 | 存储装置及存取方法 |
CN113269211A (zh) * | 2020-02-14 | 2021-08-17 | 郑桂忠 | 感测器内处理单元及存储器内运算单元的整合方法及*** |
US11263153B1 (en) * | 2020-11-02 | 2022-03-01 | Silicon Motion, Inc. | Data accessing method using data protection with aid of advanced encryption standard processing circuit, and associated apparatus |
US20240152477A1 (en) * | 2022-11-03 | 2024-05-09 | Marvell Asia Pte Ltd | Distributed arbitration for shared data path |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1193393A (zh) * | 1995-06-15 | 1998-09-16 | 英特尔公司 | 集成pci至pci桥的i/o处理器的体系结构 |
JP2000047930A (ja) * | 1998-07-28 | 2000-02-18 | Mitsubishi Electric Corp | データ処理装置 |
CN104919439A (zh) * | 2013-01-17 | 2015-09-16 | 高通股份有限公司 | 用于支持基于处理器的***中的异构存储器存取请求的异构存储器***以及相关方法和计算机可读媒体 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) * | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
JP2628079B2 (ja) * | 1988-11-25 | 1997-07-09 | 三菱電機株式会社 | マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置 |
US6912637B1 (en) * | 1998-07-08 | 2005-06-28 | Broadcom Corporation | Apparatus and method for managing memory in a network switch |
US7681018B2 (en) * | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US6976108B2 (en) * | 2001-01-31 | 2005-12-13 | Samsung Electronics Co., Ltd. | System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US6725337B1 (en) | 2001-05-16 | 2004-04-20 | Advanced Micro Devices, Inc. | Method and system for speculatively invalidating lines in a cache |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657706B2 (en) * | 2003-12-18 | 2010-02-02 | Cisco Technology, Inc. | High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory |
JP4656862B2 (ja) * | 2004-05-28 | 2011-03-23 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
KR101543581B1 (ko) * | 2009-02-25 | 2015-08-11 | 삼성전자주식회사 | 시스템 온 칩 및 이를 포함하는 전자 시스템 |
JP5330432B2 (ja) * | 2011-03-11 | 2013-10-30 | 株式会社東芝 | データ記憶装置及びテーブル管理方法 |
JP5775398B2 (ja) * | 2011-08-25 | 2015-09-09 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
US9251055B2 (en) * | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
US20140032820A1 (en) * | 2012-07-25 | 2014-01-30 | Akinori Harasawa | Data storage apparatus, memory control method and electronic device with data storage apparatus |
US9129071B2 (en) * | 2012-10-24 | 2015-09-08 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
US9251870B2 (en) | 2013-04-04 | 2016-02-02 | Nvidia Corporation | Ground-referenced single-ended memory interconnect |
-
2017
- 2017-04-13 TW TW106112347A patent/TWI611296B/zh active
-
2018
- 2018-01-02 CN CN201810000776.1A patent/CN108733594B/zh active Active
- 2018-01-11 US US15/868,535 patent/US10372338B2/en active Active
-
2019
- 2019-06-19 US US16/445,419 patent/US10866736B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1193393A (zh) * | 1995-06-15 | 1998-09-16 | 英特尔公司 | 集成pci至pci桥的i/o处理器的体系结构 |
JP2000047930A (ja) * | 1998-07-28 | 2000-02-18 | Mitsubishi Electric Corp | データ処理装置 |
CN104919439A (zh) * | 2013-01-17 | 2015-09-16 | 高通股份有限公司 | 用于支持基于处理器的***中的异构存储器存取请求的异构存储器***以及相关方法和计算机可读媒体 |
Also Published As
Publication number | Publication date |
---|---|
TW201837723A (zh) | 2018-10-16 |
TWI611296B (zh) | 2018-01-11 |
US20180300061A1 (en) | 2018-10-18 |
CN108733594A (zh) | 2018-11-02 |
US10866736B2 (en) | 2020-12-15 |
US20190303016A1 (en) | 2019-10-03 |
US10372338B2 (en) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733594B (zh) | 存储器控制器与数据储存装置 | |
US9652324B2 (en) | Solid state disk controller apparatus | |
CN106055267B (zh) | 包括主机命令队列的存储器控制器及操作其的方法 | |
US10002085B2 (en) | Peripheral component interconnect (PCI) device and system including the PCI | |
US20060245274A1 (en) | Apparatus and method for controlling NAND flash memory | |
EP2294581B1 (en) | A system for distributing available memory resource | |
US20140082224A1 (en) | Embedded multimedia card (emmc), emmc system including the emmc, and method of operating the emmc | |
US7725621B2 (en) | Semiconductor device and data transfer method | |
US9141485B2 (en) | Storage device, control device and data protection method | |
US11868285B2 (en) | Memory controller configured to transmit interrupt signal if volatile memory has no data corresponding to address requested from source | |
US9575887B2 (en) | Memory device, information-processing device and information-processing method | |
US20140040680A1 (en) | Memory control device and control method | |
KR20230017865A (ko) | Dram을 위한 리프레시 관리 | |
US9354818B2 (en) | Memory device and data storing method | |
US8266361B1 (en) | Access methods and circuits for devices having multiple buffers | |
CN113778328A (zh) | 在半导体封装之间引导控制数据 | |
TWI676104B (zh) | 記憶體控制器與資料儲存裝置 | |
KR20150085301A (ko) | 메모리 시스템의 동작 방법 및 이를 포함하는 메모리 시스템의 초기화 방법 | |
TWI720565B (zh) | 記憶體控制器與資料儲存裝置 | |
US20030200401A1 (en) | Microcomputer system automatically backing-up data written in storage medium in transceiver, and transceiver connected thereto | |
KR20180013212A (ko) | 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치 | |
JP2015215774A (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
KR20150054373A (ko) | 메모리 시스템의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |