CN116848515A - 存储器控制器及存储器访问方法 - Google Patents
存储器控制器及存储器访问方法 Download PDFInfo
- Publication number
- CN116848515A CN116848515A CN202280015704.9A CN202280015704A CN116848515A CN 116848515 A CN116848515 A CN 116848515A CN 202280015704 A CN202280015704 A CN 202280015704A CN 116848515 A CN116848515 A CN 116848515A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- memory controller
- request
- bus
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 29
- 239000000872 buffer Substances 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/0625—Power saving in 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/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本公开涉及能够防止发生浪费访问的存储器控制器和存储器访问方法。本公开提供:读出控制单元,响应于对存储器的突发访问请求(无论突发访问请求是否完成)开始从存储器读出数据;缓冲器,存储由此读出的多条数据;和输出控制单元,根据输出目的地的协议输出存储在缓冲器中的多条数据。例如,根据本公开的技术可应用于内置于使用蓝牙的TWS设备中的LSI。
Description
技术领域
本公开涉及存储器控制器和存储器访问方法,并且具体涉及抑制无用访问的发生的存储器控制器和存储器访问方法。
背景技术
在计算机中,为了减少由于访问诸如CPU(中央处理单元)的处理器上的诸如闪存的存储设备而导致的负载,在处理器和存储设备之间设置高速缓存存储器。高速缓存存储器管理多个连续字作为一行,并且在高速缓存未命中时,一起读出多个字。此时,突发传送用于从存储设备传送数据。
此外,存储器的分层已经进展,并且有时在高速缓存存储器和存储设备之间设置预取缓冲器。
专利文献1公开了一种预取(pre-fetch)电路,当产生大小彼此不同的环绕式存储器访问请求时,该预取电路以减小处理器的停顿周期(stall cycle)的方式转换开始地址。
[引用列表]
[专利文献]
[专利文献1]
日本专利公开号2012-146139
发明内容
[技术问题]
顺便说一下,对存储设备的无用访问增加了功耗。
鉴于如上所述的这种情形做出本公开并且抑制无用访问的发生。
[问题的解决方案]
本公开的存储器控制器是一种存储器控制器,包括:读出控制部,响应于对存储器的突发访问请求,在不取决于突发访问请求的完成的情况下开始从存储器读出数据;缓冲器,存储读出的多条数据;以及输出控制部,根据输出目的地的协议输出存储在缓冲器中的多条数据。
本公开的存储器访问方法是由存储器控制器执行的存储器访问方法,包括:响应于对存储器的突发访问请求,在不取决于突发访问请求的完成的情况下开始从存储器读出数据;将所读出的多条数据存储到缓冲器中;并且根据输出目的地的协议,输出存储在缓冲器中的多条数据。
在本公开中,响应于对存储器的突发访问请求,在不取决于突发访问请求的完成的情况下开始从存储器读出数据。然后,将读出的多条数据存储在缓冲器中,并且根据输出目的地的协议输出存储在缓冲器中的多条数据。
附图说明
图1是示出了使用蓝牙的TWS的视图。
图2是示出LSI的配置的示例的框图。
图3是描述存储器控制器的功能配置的示例的框图。
图4是示出存储器访问过程的流程的流程图。
图5是描述响应于正常总线请求读出数据的示例的示图。
图6为示出响应于在高速缓存未命中时进行的总线请求读出数据的示例的示图。
图7是示出响应于突发访问请求的存储器访问过程的流程的流程图。
具体实施方式
在下文中,描述用于执行本公开的模式(在下文中称为实施例)。应注意,按照以下顺序给出描述。
1.使用蓝牙的TWS及其挑战
2.LSI和存储器控制器的配置
3.存储器访问过程流程
4.变形
<1.使用蓝牙的TWS及其挑战>
近年来,用于智能电话的耳机已经用作使用蓝牙(Bluetooth)(注册商标)的TWS(True Wireless Stereo)迅速普及。
图1是示出了使用蓝牙的TWS的视图。在图1中,描述了安装在左耳和右耳上的耳机1L和1R以及智能电话2。
耳机1L和1R在它们彼此配对的状态下使用BLE(蓝牙低功耗)与智能电话2进行无线通信以再现音乐。
具体地,例如,耳机1R从智能电话2接收音乐数据并且将音乐数据分成左右声音。分别由耳机1R和耳机1L彼此同步地再现作为每个分离的声音的右声音和左声音。应注意,来自智能电话2的音乐数据可以其他方式由耳机1L接收。
对于如上所述的耳机1L和1R,要求功耗低,因为它们具有小的壳体并且还具有小的电池体积。
这里,作为示例,其中源自安装在右耳上的耳机1R上的操作的UI命令被反映在耳机1L和1R两者上,检查了响应于耳机1R上的操作而开始从耳机1L和1R中的每一个再现音乐的情况。
在这种情况下,不满足特定响应速度会给用户带来这样的焦虑:UI不适当地反应,从而导致使用困难。因此,即使在耳机1L和1R以低频时钟操作的这种低功率状态下(如在待机状态下),在生成如上所述的这种UI命令的情况下,需要在短时间段内执行该过程。
另一方面,虽然可以通过增加时钟频率来改善处理性能,但是这也增加了功耗。
此外,例如,在处理器取决于代码大小将存储在闪存(flash memory)中的执行代码(execution code)展开成SRAM(静态随机存取存储器)等的情况下,需要增加SRAM的容量或面积,从而可能影响外壳尺寸的减小。
因此,为了在实现功耗和尺寸的降低的同时保留处理性能,构造了包括闪存的系统,执行代码将被存储在闪存中,在外部并通过使用高速缓存存储器来操作。在这种情况下,对外部闪存的无用访问增加了功耗。
在下文中,描述了抑制无用访问的发生的存储器控制器和存储器访问方法。
<2.LSI和存储器控制器的配置>
(LSI的配置的示例)
图2是描绘LSI(大规模集成)的配置的示例的框图,LSI包括应用根据本发明的技术的存储器控制器。
例如,图2中描述的LSI10构建在图1中示出的耳机1L和1R中并且执行与音乐的再现等有关的处理。LSI10与作为设置在外部的外部代码存储器的存储器20电连接。存储器20是非易失性存储器,并且例如,包括闪存。应注意,LSI10可被配置为不仅构建在图1所示的耳机1L和1R中,而且构建在需要降低功耗和尺寸的任何电子设备中并执行预定处理。
LSI10包括CPU30、高速缓存存储器40、总线50、处理器61、DMAC(直接存储器访问控制器)62、存储器控制器100和SRAM111。
CPU30根据程序的命令执行处理。程序的这种命令被保存在存储器20的命令保留区域中。同时,在存储器20的数据保留区域中保留处理所需的多条数据。
高速缓存存储器40保留存储器20的命令保留区域和数据保留区域的一些内容的副本。
总线50被配置作为使高速缓存存储器40、处理器61、DMAC62、存储器控制器100和SRAM111彼此连接的存储器总线。
处理器61执行与由CPU30执行的处理不同的处理。DMAC62根据CPU30的命令控制在CPU30与存储器20之间的数据的传输。
存储器控制器100控制对存储器20的访问。存储器20经由存储器控制器100由CPU30和处理器61共用。
SRAM111是非易失性RAM,并且与存储器20相比等待时间小且容量小。具体地,虽然存储器20允许以较大大小为单位对其的数据访问,但是SRAM111允许以较小的单位对其的高速随机访问。
(存储器控制器的配置的示例)
图3是描述存储器控制器100的功能配置的示例的框图。
存储器控制器100包括总线I/F(接口)210、存储器I/F220、缓冲器230和控制部240。
总线I/F210通过总线50与CPU30相互交换数据和命令。
存储器I/F220与存储器20相互交换数据和命令。
缓冲器230临时存储由存储器I/F220从存储器20读出的数据。
控制部240包括微处理器等,并且控制整个存储器控制器100。控制部240执行预定程序,以实现读出控制部241和输出控制部242。
读出控制部241响应于对存储器20的数据访问请求,控制存储器I/F220以控制从存储器20读出数据。读出的数据经由总线I/F210输出到总线50,并且临时存储在缓冲器230中。
输出控制部242控制总线I/F210将通过存储器I/F220从存储器20读出的数据或临时存储在缓冲器230中的数据输出到总线50。输出控制部242根据作为输出目的地的总线50的总线协议输出数据。
<3.存储器访问过程流程>
现在,参照图4的流程图描述由存储器控制器100进行的存储器访问过程的流程。
在步骤S1中,总线I/F210通过总线50从CPU30接收总线请求。
在步骤S2中,控制部240根据高速缓存存储器40中的高速缓存未命中确定来自CPU30的总线请求是否是访问请求(突发访问请求)。根据是否从总线50的边带信号(sideband signal)给出添加指示高速缓存未命中的发生的标志的通知来确定总线请求是否是根据高速缓存未命中的访问请求。
在根据高速缓存未命中确定总线请求不是访问请求的情况下,处理进行至步骤S3。
在步骤S3中,读出控制部241响应于访问请求,控制存储器I/F220访问存储器20,从而读出作为存储器20的访问单元的一个字的数据。
在步骤S4中,输出控制部242控制总线I/F210将从存储器I/F220读出的一个字的数据输出到总线50。在步骤S4之后,处理返回至接收下一总线请求的步骤S1。
图5是描述响应于普通总线(ordinary bus)请求读出数据的示例的示图。
在图5的示例中,接收八个字的数据的访问请求作为总线请求。总线请求是在与时钟一致的定时生成的。在图5中,参考标号“A1”至“A8”表示存储器20的地址。
如图5所示,响应于总线请求,从存储器20中逐字地读出与地址“A1”至“A8”对应的多条数据。例如,可根据Arm Limited的AHB协议来执行这种存储器访问,或者可根据一些其他总线协议(例如,AXI协议或OCP协议)来执行这种存储器访问。
再次参照图4的流程图进行描述,在步骤S2中根据高速缓存未命中确定来自CPU30的总线请求是访问请求的情况下,处理进行至步骤S11。
由于高速缓存未命中时的总线请求是对高速缓存行大小的数据的读出请求,所以读出控制部241在步骤S11中控制存储器I/F220以开始高速缓存行大小的数据的读出。高速缓存行大小例如是32字节(8个字)。
这里,在不取决于总线请求的完成的情况下,预先顺序地读出高速缓存行大小的多条数据。
在步骤S12中,读出控制部241将存储器I/F220读出的数据存储到缓冲器230中。
在步骤S13中,控制部240确定根据总线时钟从CPU30接收的总线请求是否是可应用于存储在缓冲器230中的数据的请求。
在确定来自CPU30的总线请求是可应用于存储在缓冲器230中的数据的请求的情况下,处理进行到步骤S14。
在步骤S14中,输出控制部242控制总线I/F210向总线50输出可应用于来自CPU30的总线请求的缓冲器230中的一个字的数据。
此后,在步骤S15中,总线I/F210通过总线50从CPU30接收下一总线请求。在接收到下一总线请求之后,处理返回到步骤S13,在步骤S13中,确定接收到的总线请求是否是可应用于存储在缓冲器230中的数据的请求。
重复步骤S13至S15中的处理,直到存储在缓冲器230中的高速缓存行大小的多条数据全部输出到总线50。
当在此之后在步骤S15中接收到普通总线请求时,在步骤S13中确定总线请求不是可应用于存储在缓冲器230中的数据的请求,并且处理返回到步骤S3。
图6为示出根据在高速缓存未命中时进行的总线请求读出数据的示例的示图。
在图6的示例中,高速缓存行大小(八个字)的数据的突发访问请求被接收作为总线请求。在图6中,参考标号“B1”至“B8”表示存储器20的地址。
如图6所示,参照总线请求中的第一字的地址“B1”,预先从存储器20中读出与用于高速缓存行大小的地址“B1”至“B8”对应的多条数据,并且将其存储到缓冲器230中。与缓冲器230中存储的地址“B1”至“B8”对应的多条数据在符合根据总线协议的总线请求的定时逐字输出。
根据上述处理,在高速缓存未命中时,预先开始高速缓存行大小的数据的读出,并且将读出的数据顺序地存储到缓冲器230中。因此,可以使高速缓存未命中时的未命中惩罚(时间损失)最小化,由此抑制无用访问的发生。因此,可以在不增加时钟频率的情况下抑制功耗的增加,并且例如,可以实现功耗和尺寸的降低并保留LSI中的处理性能,LSI被结合在诸如使用蓝牙的TWS的电子设备中。
<4.变形>
在下文中,描述了根据上述本公开内容的实施例的变形。
(响应于突发访问请求的存储器访问过程)
上述存储器控制器100的存储器访问过程不仅可应用于在高速缓存未命中时进行的总线请求,还可应用于参考单个地址连续访问多条数据的突发访问请求。
图7是示出响应于突发访问请求的存储器访问过程的流程的流程图。
在步骤S21中,总线I/F210通过总线50从CPU30接收突发访问请求。例如,这里的突发访问请求是在系统启动时根据SRAM等的固件的展开的请求或对音频数据的访问请求。
在步骤S22中,读出控制部241控制存储器I/F220开始读出根据突发访问请求的大小的数据。根据突发访问请求的大小的数据是预先确定访问顺序的数据,诸如展开成SRAM等的固件或音频数据。
在步骤S23中,读出控制部241将存储器I/F220读出的数据存储到缓冲器230中。
在步骤S24中,输出控制部242根据总线协议控制总线I/F210将缓冲器230中的多条数据顺次输出至总线50。
根据上述处理,能够抑制针对事先确定访问顺序的数据的突发访问请求发生无用访问,由此抑制功耗的增加。
(环绕式存储器访问的应用)
在上述实施例中,参考总线请求中的第一字的地址开始读出数据。这不是限制性的,并且执行环绕式存储器访问的存储器控制器可以参考总线请求中的第一字的地址和环绕式访问信息开始从所需地址读出数据。
(存储器的不同示例)
尽管上述实施例中的存储器20包括闪存,但是它可以另外地包括不同类型的非易失性存储器,诸如MRAM(磁阻随机存取存储器)、ReRAM(电阻式RAM)、FeRAM(铁电RAM)或相变存储器。
另外,虽然说明了存储器20是外部代码存储器,但也可以是LSI10上设置的片上存储器。
应用根据本公开的技术的存储器控制器不仅设置在内置于使用蓝牙的TWS中的LSI中,而且设置在任何LSI中。
换言之,根据本公开的技术的实施例不限于上述实施例,并且在不背离根据本公开的技术的主题的情况下可以各种方式改变。
此外,本说明书中描述的有益效果在最后是示例性的,而不是限制性的,并且其他有益效果可以是可用的。
此外,根据本公开内容的技术可以采取以下配置。
(1)
一种存储器控制器,包括:
读出控制部,响应于对存储器的突发访问请求,在不取决于突发访问请求的完成的情况下开始从存储器读出数据;
缓冲器,存储读出的多条数据;以及
输出控制部,根据输出目的地的协议输出存储在缓冲器中的多条数据。
(2)
根据(1)所述的存储器控制器,其中,
突发访问请求是根据高速缓存存储器中的高速缓存未命中的总线请求。
(3)
根据(2)所述的存储器控制器,其中,
读出控制部响应于总线请求开始读出高速缓存行大小的数据。
(4)
根据(3)所述的存储器控制器,其中,
读出控制部参考总线请求中的第一字的地址开始读出高速缓存行大小的数据。
(5)
根据(3)所述的存储器控制器,其中,
读出控制部参考总线请求中的第一字的地址和环绕式访问信息开始读出高速缓存行大小的数据。
(6)
根据(2)至(5)中任一项所述的存储器控制器,其中,
输出控制部根据总线协议输出存储在缓冲器中的多条数据。
(7)
根据(6)所述的存储器控制器,其中,
输出控制部逐字地输出存储在缓冲器中的多条数据。
(8)
根据(1)所述的存储器控制器,其中,
突发访问请求是在系统启动时根据固件的展开的请求。
(9)
根据(1)所述的存储器控制器,其中,
突发访问请求是对音频数据的访问请求。
(10)
根据(1)至(9)中任一项所述的存储器控制器,其中,
存储器包括非易失性存储器。
(11)
根据(10)所述的存储器控制器,其中,
非易失性存储器包括闪存、MRAM、ReRAM、FeRAM或者相变存储器。
(12)
一种通过存储器控制器的存储器访问方法,包括:
响应于对存储器的突发访问请求,在不取决于突发访问请求的完成的情况下开始从存储器读出数据;
将所读出的多条数据存储到缓冲器中;并且
根据输出目的地的协议,输出存储在缓冲器中的多条数据。
[参考标号列表]
1L、1R 耳机
10 LSI
20 存储器
30 CPU
40 高速缓存存储器
50 总线
61 处理器
62 DMAC
100 存储器控制器
111 SRAM
210 总线I/F
220 存储器I/F
230 缓冲器
240 控制部
241 读出控制部242输出控制部。
Claims (12)
1.一种存储器控制器,包括:
读出控制部,响应于对存储器的突发访问请求,在不取决于所述突发访问请求的完成的情况下开始从所述存储器读出数据;
缓冲器,存储读出的多条数据;以及
输出控制部,根据输出目的地的协议输出存储在所述缓冲器中的多条数据。
2.根据权利要求1所述的存储器控制器,其中,
所述突发访问请求是根据高速缓存存储器中的高速缓存未命中的总线请求。
3.根据权利要求2所述的存储器控制器,其中,
所述读出控制部响应于所述总线请求开始读出高速缓存行大小的数据。
4.根据权利要求3所述的存储器控制器,其中,
所述读出控制部参考所述总线请求中的第一字的地址开始读出所述高速缓存行大小的数据。
5.根据权利要求3所述的存储器控制器,其中,
所述读出控制部参考所述总线请求中的第一字的地址和环绕式访问信息开始读出所述高速缓存行大小的数据。
6.根据权利要求2所述的存储器控制器,其中,
所述输出控制部根据总线协议输出存储在所述缓冲器中的所述多条数据。
7.根据权利要求6所述的存储器控制器,其中,
所述输出控制部逐字地输出存储在所述缓冲器中的所述多条数据。
8.根据权利要求1所述的存储器控制器,其中,
所述突发访问请求是在系统启动时根据固件的展开的请求。
9.根据权利要求1所述的存储器控制器,其中,
所述突发访问请求是对音频数据的访问请求。
10.根据权利要求1所述的存储器控制器,其中,
所述存储器包括非易失性存储器。
11.根据权利要求10所述的存储器控制器,其中,
所述非易失性存储器包括闪存、MRAM、ReRAM、FeRAM或者相变存储器。
12.一种存储器访问方法,其中:
存储器控制器,
响应于对存储器的突发访问请求,在不取决于所述突发访问请求的完成的情况下开始从所述存储器读出数据;
将所读出的多条数据存储到缓冲器中;并且
根据输出目的地的协议,输出存储在所述缓冲器中的所述多条数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-028220 | 2021-02-25 | ||
JP2021028220A JP2022129524A (ja) | 2021-02-25 | 2021-02-25 | メモリコントローラおよびメモリアクセス方法 |
PCT/JP2022/000171 WO2022181066A1 (ja) | 2021-02-25 | 2022-01-06 | メモリコントローラおよびメモリアクセス方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116848515A true CN116848515A (zh) | 2023-10-03 |
Family
ID=83048859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280015704.9A Pending CN116848515A (zh) | 2021-02-25 | 2022-01-06 | 存储器控制器及存储器访问方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240069763A1 (zh) |
JP (1) | JP2022129524A (zh) |
CN (1) | CN116848515A (zh) |
WO (1) | WO2022181066A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210286727A1 (en) * | 2021-03-26 | 2021-09-16 | Intel Corporation | Dynamic random access memory (dram) with scalable meta data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010061588A1 (ja) * | 2008-11-28 | 2010-06-03 | パナソニック株式会社 | メモリ制御装置、データプロセッサ及びデータ読み出し方法 |
JP5446464B2 (ja) * | 2009-05-26 | 2014-03-19 | 富士通セミコンダクター株式会社 | 情報処理システム及びデータ転送方法 |
-
2021
- 2021-02-25 JP JP2021028220A patent/JP2022129524A/ja active Pending
-
2022
- 2022-01-06 CN CN202280015704.9A patent/CN116848515A/zh active Pending
- 2022-01-06 US US18/261,365 patent/US20240069763A1/en active Pending
- 2022-01-06 WO PCT/JP2022/000171 patent/WO2022181066A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2022129524A (ja) | 2022-09-06 |
WO2022181066A1 (ja) | 2022-09-01 |
US20240069763A1 (en) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7730236B2 (en) | Cellular phone and portable storage device using the same | |
EP2732374B1 (en) | Mobile memory cache read optimization | |
JP5090819B2 (ja) | メモリーカード及び該データ格納方法 | |
JP2003132305A (ja) | メモリカードを制御するための装置および方法 | |
US20040064606A1 (en) | Memory system allowing fast operation of processor while using flash memory incapable of random access | |
JPH1153169A (ja) | 低電力で相互接続の簡単なマイクロプロセッサ及びメモリー・インターフェース | |
KR101757355B1 (ko) | 캐시 액세스 모드 선택을 위한 방법 및 장치 | |
CN103226525A (zh) | 高时钟速率下的连续读取突发支持 | |
CN116848515A (zh) | 存储器控制器及存储器访问方法 | |
US7076627B2 (en) | Memory control for multiple read requests | |
US8495268B2 (en) | Card host LSI and set device including the same | |
JP3641239B2 (ja) | メモリカードを制御するための装置および方法 | |
JP4693843B2 (ja) | メモリ制御装置及びメモリ制御方法 | |
KR100736902B1 (ko) | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 | |
KR100731969B1 (ko) | 복수 경로를 통한 메모리 공유 방법 및 장치 | |
JP2003308288A (ja) | マイクロコンピュータシステム | |
KR20040067063A (ko) | 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법 | |
WO2008013430A1 (en) | Method and apparatus for sharing memory | |
US6771979B2 (en) | Mobile telephone | |
JP2009020776A (ja) | スワップアウト制御装置 | |
JP2007164433A (ja) | 情報処理装置 | |
KR100909025B1 (ko) | 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기 | |
JP5018047B2 (ja) | 集積回路装置 | |
US8108663B2 (en) | Micro controller and method of updating the same | |
US20230236742A1 (en) | NONVOLATILE MEMORY EXPRESS (NVMe) OVER COMPUTE EXPRESS LINK (CXL) |
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 |