CN113377684A - 数据写入系统与方法 - Google Patents

数据写入系统与方法 Download PDF

Info

Publication number
CN113377684A
CN113377684A CN202010156660.4A CN202010156660A CN113377684A CN 113377684 A CN113377684 A CN 113377684A CN 202010156660 A CN202010156660 A CN 202010156660A CN 113377684 A CN113377684 A CN 113377684A
Authority
CN
China
Prior art keywords
memory
data
way
cache
address information
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.)
Granted
Application number
CN202010156660.4A
Other languages
English (en)
Other versions
CN113377684B (zh
Inventor
卢彦儒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202010156660.4A priority Critical patent/CN113377684B/zh
Publication of CN113377684A publication Critical patent/CN113377684A/zh
Application granted granted Critical
Publication of CN113377684B publication Critical patent/CN113377684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种数据写入系统,其包含一处理电路、一第一内存、一第一寄存器、一第二寄存器以及一第二内存。第一内存耦接处理电路。第一寄存器用以储存一基址信息。第二寄存器用以储存一顶址信息。第二内存耦接第一内存。若一高速缓存未命中且一读取命令的一存取地址位于第二内存的至少一范围中,相应于存取地址的一预设数据量的数据自第二内存写入第一内存的至少一第一路。基址信息以及顶址信息定义出至少一范围。

Description

数据写入系统与方法
技术领域
本发明涉及一种高速缓存技术,特别是关于一种适用于高速缓存的数据写入系统以及数据写入方法。
背景技术
在内存技术中,高速缓存可协同主存储器运作。相较于主存储器,高速缓存的运作速度较快。据此,由于配置高速缓存,可提高整个系统的运作效率。
然而,如何在配置有高速缓存的情况下降低成本或缩小电路面积,为本领域的重要问题。
发明内容
本发明的一些实施方式是关于一种数据写入系统。数据写入系统包含一处理电路、一第一内存、一第一寄存器、一第二寄存器以及一第二内存。第一内存耦接处理电路。第一寄存器用以储存一基址信息。第二寄存器用以储存一顶址信息。第二内存耦接第一内存。若一高速缓存未命中且一读取命令的一存取地址位于第二内存的至少一范围中,相应于存取地址的一预设数据量的数据自第二内存写入第一内存的至少一第一路。基址信息以及顶址信息定义出至少一范围。
本发明的一些实施方式是关于一种数据写入方法包含:判断是否发生一高速缓存未命中且一读取命令的一存取地址是否位于一第一闪存的至少一范围中;以及若是,将相应于存取地址的一预设数据量的数据自第一内存写入一第二内存的至少一第一路。一基址信息以及顶址信息定义出该至少一范围,基址信息储存于一第一寄存器,且顶址信息储存于一第二寄存器。
综上所述,本发明的数据写入系统以及数据写入方法,无需设置其他内存(例如:动态随机存取内存),可达到降低成本以及缩小电路面积的功效。
附图说明
为使本发明的上述和其他目的、特征、优点与实施例能够更明显易懂,所附附图的说明如下:
图1是依照本发明一些实施例的一数据写入系统的示意图;
图2是依照本发明一些实施例的一高速缓存的示意图;
图3是依照本发明一些实施例的一数据写入方法的流程图。
具体实施方式
以下将根据附图公开本发明的多个实施方式。应了解,实践上的细节不应用以限制本发明。也就是说,在本发明部分实施方式中,这些实践上的细节是非必要的。此外,为简化图式起见,一些习惯的结构与组件在附图中将以简单示意的方式示出。
在本文中所使用的用词“耦接”可指“电性耦接”,用词“连接”可指“电性连接”。“耦接”及“连接”可指两个或多个组件相互配合或相互互动。
参考图1。图1是依照本发明一些实施例所示出的数据写入系统100的示意图。以图1为例,数据写入系统100包含核心处理电路120、高速缓存(cache)内存140、内存160以及寄存器R1-R3。
在一些实施例中,内存160是以与非门闪存(NAND flash memory)实现。由于与非门闪存具有便宜的优点,因此采用与非门闪存,可降低数据写入系统100的成本。
寄存器R1-R3分别耦接核心处理电路120。核心处理电路120分别耦接高速缓存140以及内存160。高速缓存140耦接内存160。
由于高速缓存140的运作速度较快,一般而言,为了提高运作效率,当核心处理电路120接收到读取命令时,核心处理电路120会配置为先对高速缓存140进行读取。然而,若高速缓存140中不存在欲读取的数据而内存160中存在欲读取的数据,核心处理电路120将直接从内存160接收欲读取的数据。同时,欲读取的数据也会从内存160写入高速缓存140,使得核心处理电路120未来可直接对高速缓存140进行读取而获取此数据。
寄存器R1用以储存基址(base address)数据BA。寄存器R2用以储存顶址(topaddress)数据TA。基址信息BA与顶址信息TA可定义出内存160的一范围。在一些其他的实施例中,数据写入系统100可包含复数寄存器R1以及复数寄存器R2,以定义出两个或两个以上的范围。
参考图1以及图2。图2是依照本发明一些实施例所示出的高速缓存140的示意图。
以图2为例,高速缓存140包含复数路(way)W0-W2。上述路的数量仅用以示例为目的,各种适用的数量皆在本发明的范围内。举例而言,高速缓存140的路的数量可小于或大于3。在高速缓存140的路的数量大于1的实施例中,可避免数据快速变动(例如,一数据快速地被另一笔数据取代),进而提高高速缓存命中率(cache hit rate)。
寄存器R3用以储存分配信息AI。分配信息AI用以记录高速缓存140中第一部分P1的路的数量以及第二部分P2的路的数量。第一部分P1的路是用以储存来自内存160的数据,而第二部分P2的路是用以储存来自一静态随机存取内存(SRAM)的数据。也就是说,来自内存160的数据与来自静态随机存取内存的数据会写入不同的路。
以图2为示例而言,第一部分P1包含路W0以及路W1。第二部分P2包含路W2。也就是说,用以储存来自内存160的数据的路的数量为2(即,路W0以及路W1),而用以储存来自静态随机存取内存的数据的路的数量为1(即,路W2)。上述第一部分P1的路的数量以及第二部分P2的路的数量仅用以示例为目的,各种适用的数量皆在本发明的范围内。举例而言,第一部分P1的路的数量可小于或大于2。第二部分P2的路的数量可大于1。
在一些实施例中,路W0(或路W1)的一个高速缓存行的容量(cache line size)不同于路W2的一个高速缓存行的容量。以图2示例而言,路W0的高速缓存行CL0的容量小于路W2的高速缓存行CL2的容量。在一些其他的实施例中,路W0(或路W1)的一个高速缓存行的容量可相同于路W2的一个高速缓存行的容量。高速缓存行的容量又可称作区块尺寸(blocksize)。
在运作上,当核心处理电路120收到读取命令而欲读取存取地址AA1的数据时,可根据存取地址AA1对高速缓存140进行读取。
以图2为例,存取地址AA1包含卷标字段TAG1、索引字段INDEX以及偏移字段OFFSET。根据索引字段INDEX,可找到对应的列(row)。将对应列的复数卷标信息TAG2与卷标字段TAG1进行比对,可找到对应的数据DATA。根据偏移字段OFFSET,可从对应的数据DATA中找出对应的位。
举例而言,若索引字段INDEX指示第6列,比较电路141会将第6列的该些卷标信息TAG2分别与卷标字段TAG1进行比对。若路W1的卷标信息TAG2与卷标字段TAG1相符,代表“高速缓存命中”。也就是说,高速缓存140的路W1中存在欲读取的数据。据此,比较电路141中相应于路W1的比较器1411输出具有逻辑值1的命中讯号HIT,且选择电路142中相应于路W1的缓冲器1421会根据偏移字段OFFSET选择且输出路W1中的对应数据DATA的对应位至输出电路143。接着,输出电路143根据具有逻辑值1的命中讯号HIT将路W1中的对应数据DATA的对应位输出,以作为输出数据DATA_OUT。接着,核心处理电路120接收此输出数据DATA_OUT,以完成读取程序。
若第6列的该些卷标信息TAG2与卷标字段TAG1皆不相符,代表“高速缓存未命中”(cache miss)。也就是说,高速缓存140中不存在欲读取的数据而内存160中可能存在欲读取的数据。据此,比较电路141会输出具有逻辑值0的命中讯号HIT。输出电路143根据具有逻辑值0的命中讯号HIT,将存在于内存160中的欲读取数据MEM_DATA输出,以作为输出数据DATA_OUT。接着,核心处理电路120接收此输出数据DATA_OUT。另一方面,如前所述,欲读取数据MEM_DATA亦会写入高速缓存140,使得核心处理电路120未来可直接对高速缓存140进行读取而获取此数据。
在一些实施例中,输出电路143是以多任务器实现。需特别说明的是,上述关于比较电路141、选择电路142以及输出电路143的实现方式仅用以示例的目的,本发明不以上述为限。
关于内存160的数据如何直接(不通过其他内存)写入高速缓存140将于下方段落进行描述。
如前所述,基址信息BA与顶址信息TA可定义出内存160的一范围。当一高速缓存未命中且存取地址AA1位于此范围中时,内存160中相应于存取地址AA1的预设数据量的数据会被写入高速缓存140的路W0(或路W1)。
在一些实施例中,预设数据量大于路W0的高速缓存行CL0的容量。例如,预设数据量相应于一个分页(page)。也就是说,相应于存取地址AA1或包含存取地址AA1的一个分页的数据量会被写入高速缓存140。而一个分页的资料量可大于路W0的高速缓存行CL0的容量。举例而言,内存160的一个分页的数据量为1024个字节(byte),而路W0的高速缓存行CL0的容量仅有4个字节。在这个情况下,需要256个高速缓存行才足够储存该预设数据量的数据。据此,来自内存160的一个分页的数据将写入路W0的其中256个高速缓存行。而来自静态随机存取内存的数据则写入路W2。换句话说,来自内存160的数据与来自静态随机存取内存的数据写入不同路。
在一些其他的实施例中,若高速缓存140仅包含一个路(例如:路W0),来自内存160的一个分页的数据写入路W0的其中256个高速缓存行,且来自静态随机存取内存的数据写入路W0的其他高速缓存行。也就是说,来自内存160的数据与来自静态随机存取内存的数据写入同一路(例如:路W0)的不同高速缓存行。
在一些相关技术中,欲读取的数据会先从内存160(例如:与非门闪存)写入其他内存(例如:动态随机存取内存)。接着,此欲读取的数据再从此其他内存写入高速缓存140,使得核心处理电路120未来可从高速缓存140读取到欲读取的数据。然而,配置上述其他内存会增加成本且增加电路面积。相较于上述相关技术,在本发明中,欲读取的数据可从内存160(例如:与非门闪存)直接写入高速缓存140。如此,无需设置上述其他内存,可降低成本以及缩小电路面积。另外,如前所述,在一些实施例中,内存160是采用与非门闪存,可降低数据写入系统100的成本。
参考图3。图3是依照本发明一些实施例所示出的数据写入方法300的流程图。数据写入方法300包含操作S310以及操作S320。数据写入方法300可应用于图1的数据写入系统100中,但本发明不以此为限。为易于理解,数据写入方法300将搭配图1以及图2进行讨论。
在操作S310中,判断是否发生高速缓存未命中且读取命令的存取地址AA1是否位于内存160的一范围中。在一些实施例中,此范围可由基址信息BA与顶址信息TA所定义。
在操作S320中,若是,将相应于存取地址AA1的预设数据量的数据自内存160写入高速缓存140的路W0,使得处理电路120未来可直接自高速缓存140读取该些数据。在一些实施例中,预设数据量相应于一个分页,且一个分页的数据量大于路W0的高速缓存行CL0的容量。据此,该些资料会写入路W0的复数个高速缓存行。
综上所述,本发明的数据写入系统以及数据写入方法,无需设置其他内存(例如:动态随机存取内存),可达到降低成本以及缩小电路面积的功效。
各种功能性组件和方块已于此公开。对于本本领域技术人员而言,功能方块可由电路(不论是专用电路,或是在一个或多个处理器及编码指令控制下操作的通用电路)实现,其一般而言包含用以相应于此处描述的功能及操作对电气回路的操作进行控制的晶体管或其他电路组件。进一步理解,一般而言电路组件的具体结构与互连,可由编译程序(compiler),例如寄存器传递语言(Register Transfer Language,RTL)编译程序决定。寄存器传递语言编译程序对与汇编语言代码(assembly language code)相当相似的脚本(script)进行操作,将脚本编译为用于布局或制作最终电路的形式。确实地,寄存器传递语言以其促进电子和数字系统设计过程中所扮演的角色和用途而闻名。
虽然本发明以通过上述实施方式公开,然而其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可作各种改动与润饰,因此本发明的保护范围当以权利要求为准。
【符号说明】
100:数据写入系统
120:核心处理电路
140:高速缓存
141:比较电路
1411:比较器
142:选择电路
1421:缓冲器
143:输出电路
160:内存
300:运作方法
R1-R3:寄存器
BA:基址信息
TA:顶址信息
AI:分配信息
W0-W2:路
P1:第一部分
P2:第二部分
CL0,CL2:高速缓存行
AA1:存取地址
TAG1:标签字段
INDEX:索引字段
OFFSET:偏移字段
TAG2:卷标信息
DATA:资料
HIT:命中讯号
DATA_OUT:输出数据
MEM_DATA:资料
S310,S320:操作

Claims (10)

1.一种数据写入系统,包含:
一处理电路;
一第一内存,其耦接所述处理电路;
一第一寄存器,用以储存一基址信息;
一第二寄存器,用以储存一顶址信息,以及
一第二内存,其耦接所述第一内存,其中若一高速缓存未命中且一读取命令的一存取地址位于所述第二内存的至少一范围中,相应于所述存取地址的一预设数据量的数据自所述第二内存写入所述第一内存的至少一第一路,其中所述基址信息以及所述顶址信息定义出所述至少一范围。
2.根据权利要求1所述的数据写入系统,其特征在于,所述第一内存的至少一第二路用以储存一静态随机存取内存的数据。
3.根据权利要求2所述的数据写入系统,其特征在于,所述至少一第二路的一高速缓存行容量相异于所述至少一第一路的一高速缓存行容量。
4.根据权利要求1所述的数据写入系统,其特征在于,所述第二内存为一闪存。
5.根据权利要求1所述的数据写入系统,还包含:
一第三寄存器,用以储存一分配信息,其中所述分配信息用以记录所述至少一第一路的数量。
6.根据权利要求1所述的数据写入系统,其特征在于,所述预设数据量相应于一分页。
7.根据权利要求1所述的数据写入系统,其特征在于,所述预设数据量大于所述至少一第一路的一高速缓存行容量。
8.根据权利要求7所述的数据写入系统,其特征在于,所述预设数据量的数据储存于所述至少一第一路的复数第一高速缓存行。
9.根据权利要求8所述的数据写入系统,其特征在于,所述至少一第一路的至少一第二高速缓存行用以储存一静态随机存取内存的数据。
10.一种数据写入方法,包含:
判断是否发生一高速缓存未命中且一读取命令的一存取地址是否位于一第一内存的至少一范围中;以及
若是,将相应于所述存取地址的一预设数据量的数据自所述第一内存写入一第二内存的至少一第一路,
其中一基址信息以及顶址信息定义出所述至少一范围,所述基址信息储存于一第一寄存器,且所述顶址信息储存于一第二寄存器。
CN202010156660.4A 2020-03-09 2020-03-09 数据写入系统与方法 Active CN113377684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010156660.4A CN113377684B (zh) 2020-03-09 2020-03-09 数据写入系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010156660.4A CN113377684B (zh) 2020-03-09 2020-03-09 数据写入系统与方法

Publications (2)

Publication Number Publication Date
CN113377684A true CN113377684A (zh) 2021-09-10
CN113377684B CN113377684B (zh) 2024-03-08

Family

ID=77568398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010156660.4A Active CN113377684B (zh) 2020-03-09 2020-03-09 数据写入系统与方法

Country Status (1)

Country Link
CN (1) CN113377684B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114896179A (zh) * 2022-07-12 2022-08-12 统信软件技术有限公司 内存页的拷贝方法、装置、计算设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4337437A1 (de) * 1993-11-03 1995-05-04 Bohr Ingo Dipl Ing Fh Leistungsgesteigerte Speicherarchitektur insbesondere für 32-Bit Mikroprozessoren
CN102016810A (zh) * 2008-04-22 2011-04-13 Nxp股份有限公司 具有允许写入未预先加载的高速缓存行的高速缓存电路的多处理电路
CN103885893A (zh) * 2012-12-19 2014-06-25 辉达公司 用于访问内容寻址存储器的技术
US20140201446A1 (en) * 2011-12-28 2014-07-17 Simon C. Steeley, JR. High bandwidth full-block write commands
CN104346294A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 基于多级缓存的数据读/写方法、装置和计算机系统
TW201801088A (zh) * 2016-06-08 2018-01-01 三星電子股份有限公司 記憶體裝置、記憶體模組、及記憶體裝置之操作方法
CN108399047A (zh) * 2017-02-06 2018-08-14 中兴通讯股份有限公司 一种闪存文件系统及其数据管理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4337437A1 (de) * 1993-11-03 1995-05-04 Bohr Ingo Dipl Ing Fh Leistungsgesteigerte Speicherarchitektur insbesondere für 32-Bit Mikroprozessoren
CN102016810A (zh) * 2008-04-22 2011-04-13 Nxp股份有限公司 具有允许写入未预先加载的高速缓存行的高速缓存电路的多处理电路
US20140201446A1 (en) * 2011-12-28 2014-07-17 Simon C. Steeley, JR. High bandwidth full-block write commands
CN103885893A (zh) * 2012-12-19 2014-06-25 辉达公司 用于访问内容寻址存储器的技术
CN104346294A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 基于多级缓存的数据读/写方法、装置和计算机系统
TW201801088A (zh) * 2016-06-08 2018-01-01 三星電子股份有限公司 記憶體裝置、記憶體模組、及記憶體裝置之操作方法
CN108399047A (zh) * 2017-02-06 2018-08-14 中兴通讯股份有限公司 一种闪存文件系统及其数据管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许建卫;陈明宇;包云岗;: "高带宽远程内存结构中的预取研究", 计算机科学, no. 08, 31 August 2005 (2005-08-31) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114896179A (zh) * 2022-07-12 2022-08-12 统信软件技术有限公司 内存页的拷贝方法、装置、计算设备及可读存储介质

Also Published As

Publication number Publication date
CN113377684B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
CN109416666B (zh) 用于存储和读取多个缓存行的装置和方法
US11175853B2 (en) Systems and methods for write and flush support in hybrid memory
US7076598B2 (en) Pipeline accessing method to a large block memory
US6731537B2 (en) Non-volatile memory device and data storing method
US8171254B2 (en) Memory controller and memory control method
US6745291B1 (en) High speed LRU line replacement system for cache memories
EP0808486A2 (en) Parallel processing redundancy scheme for faster access times and lower die area
US11347650B2 (en) Word type/boundary propagation with memory performance applications
US8385140B2 (en) Memory elements having shared selection signals
US10496546B2 (en) Cache memory and processor system
CN113377684B (zh) 数据写入系统与方法
US6542969B1 (en) Memory controller and a cache for accessing a main memory, and a system and a method for controlling the main memory
JP6228523B2 (ja) メモリ制御回路および半導体記憶装置
US20040078544A1 (en) Memory address remapping method
JP4004847B2 (ja) 連想メモリ装置
US11500776B2 (en) Data write system and method with registers defining address range
US7747896B1 (en) Dual ported replicated data cache
US5535358A (en) Cache memory control circuit and method for controlling reading and writing requests
CN110162490B (zh) 高速缓冲管理设备、系统和方法
KR100517765B1 (ko) 캐시 메모리 및 그 제어 방법
US10606745B2 (en) Memory system
US20020147955A1 (en) Internal storage memory with EDAC protection
US20210149813A1 (en) Data write system and method
CN114072776B (zh) 小面积高速缓冲存储器
US7996598B2 (en) Memory management module

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