CN113961487A - 加速存储器存取的电子装置及方法 - Google Patents

加速存储器存取的电子装置及方法 Download PDF

Info

Publication number
CN113961487A
CN113961487A CN202111232517.XA CN202111232517A CN113961487A CN 113961487 A CN113961487 A CN 113961487A CN 202111232517 A CN202111232517 A CN 202111232517A CN 113961487 A CN113961487 A CN 113961487A
Authority
CN
China
Prior art keywords
address
memory
physical
addresses
integrated circuit
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
Application number
CN202111232517.XA
Other languages
English (en)
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.)
Shanghai Zhaoxin Semiconductor Co Ltd
Original Assignee
VIA Alliance Semiconductor Co Ltd
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 VIA Alliance Semiconductor Co Ltd filed Critical VIA Alliance Semiconductor Co Ltd
Priority to CN202111232517.XA priority Critical patent/CN113961487A/zh
Publication of CN113961487A publication Critical patent/CN113961487A/zh
Priority to US18/047,791 priority patent/US20230128405A1/en
Pending legal-status Critical Current

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0877Cache access modes
    • G06F12/0882Page mode
    • 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/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/654Look-ahead translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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

加速存储器存取的电子装置及方法
技术领域
本发明涉及电子装置,特别是涉及加速存储器存取的电子装置及方法。
背景技术
在计算器***中,直接存储器访问(DMA)指令的传输效率和速度直接关系到IO设备性能。在支持硬件虚拟化的***中,每一笔DMA指令的传输需要重映射(remapping)硬件的参与来完成虚拟地址至物理地址的转换。为了提高效能,重映射硬件中设置了高速缓存(cache),一旦高速缓存未命中(cache miss),重映射硬件需要访问存储器多次。以现有的架构来说,每一4K字节(对应于存储器的每一页的大小)的第一笔DMA指令都可能会导致高速缓存未命中。
发明内容
依据本发明实施例的电子装置,包括存储器及集成电路。存储器包括多个存储页。集成电路依据映射表,依序将多个虚拟地址对应地转换为多个物理地址。集成电路包括地址重映射单元。当该多个虚拟地址所对应的该多个物理地址不在存储器中的同一存储页时,依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于同一存储页的至少一个物理地址。
如上所述的电子装置,当当前所依序存取的该多个虚拟地址超出预取地址,则集成电路输出重映射预取指令到地址重映射单元,使得地址重映射单元将该多个物理地址中不属于同一存储页的至少一个物理地址存储于自身的高速缓存(cache)中,并且更新映射表。
如上所述的电子装置,当地址重映射单元存取至对应于不属于同一存储页的至少一个物理地址的该多个虚拟地址的一个时,地址重映射单元依据更新后的映射表,直接将存储于高速缓存的该多个物理地址中不属于该同一存储页的该至少一个物理地址输出。
如上所述的电子装置,还包括中央处理单元。中央处理单元依据该多个虚拟地址所对应该多个物理地址,对存储器进行存取。
如上所述的电子装置,还包括外部装置。外部装置传送存取请求指令予集成电路。当集成电路接收到存取请求指令时,集成电路传送重映射指令(remapping request)到地址重映射单元。存取请求指令及重映射指令都包括该多个虚拟地址。
如上所述的电子装置,当地址重映射单元依据更新后的映射表,将该多个虚拟地址对应地转换为该多个物理地址后,该地址重映射单元传送重映射答复指令到集成电路。当集成电路接收到该重映射答复指令时,集成电路传送直接存储器访问(DMA)指令予中央处理单元。重映射答复指令及直接存储器访问指令都包括该多个物理地址。
如上所述的电子装置,存储器的每一该多个存储页的大小为4K字节(bytes)。预取地址为4K+400、4K+600、4K+800、4K+a00、4K+c00,或4K+e00字节。
如上所述的电子装置,预取地址依据存储器的读取延迟而作对应设定。
依据本发明实施例的存储器存取的加速方法,存储器包括多页,方法包括:接收多个虚拟地址;依据映射表,依序将该多个虚拟地址对应地转换为多个物理地址;当该多个虚拟地址所对应的该多个物理地址不在存储器中的同一存储页时,依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于同一存储页的至少一个物理地址。
如上所述的加速方法,还包括:当当前所依序存取的该多个虚拟地址超出预取地址,产生重映射预取指令;依据重映射预取指令,将该多个物理地址中不属于同一存储页的该至少一个物理地址存储于高速缓存(cache)中,并且更新映射表。
如上所述的加速方法,还包括:当存取至对应于不属于同一存储页的至少一个物理地址的该多个虚拟地址的一个时,依据更新后的映射表,直接将存储于高速缓存的该多个物理地址中不属于同一存储页的至少一个物理地址输出。
附图说明
图1为本发明实施例的电子装置100的示意图。
图2为本发明实施例的图1电子装置100进行操作时的信号时序波形图。
图3为本发明实施例的存储器存取的加速方法的流程图。
图4为本发明实施例的图3步骤S304的详细流程图。
具体实施方式
本发明参照所附图式进行描述,其中遍及图式上的相同参考数字标示了相似或相同的组件。上述图式并没有依照实际比例大小描绘,其仅仅提供对本发明的说明。一些发明的型态描述于下方作为图解示范应用的参考。这意味着许多特殊的细节、关系及方法被阐述来对这个发明提供完整的了解。无论如何,拥有相关领域通常知识的人将认识到若没有一个或更多的特殊细节或用其他方法,此发明仍然可以被实现。
以其他例子来说,众所皆知的结构或操作并没有详细列出以避免对这发明的混淆。本发明并没有被阐述的行为或事件顺序所局限,如有些行为可能发生在不同的顺序亦或同时发生在其他行为或事件之下。此外,并非所有阐述的行为或事件都需要被执行在与现有发明相同的方法之中。
图1为本发明实施例的电子装置100的示意图。如图1所示,电子装置100包括集成电路102、存储器104、中央处理单元106、外部装置108。在一些实施例中,存储器104包括多个存储页(pages),并且每一存储页的大小为4K字节(bytes)。集成电路102依据映射表,依序将来自外部装置108的存取请求指令170所载有的多个虚拟地址对应地转换为多个物理地址,并且通过直接存储器访问(DMA)指令150,将所转换而成的物理地址传送到中央处理单元106。之后,中央处理单元106通过存取接口160对存储器104内的该多个物理地址进行写入或读取的动作。在本发明另一实施例中,集成电路102可以为北桥芯片,也可以为集合了北桥芯片的芯片组。
受限于存储器104的每一存储页的大小(例如为4K字节),存储器104中每一存储页所包括的物理地址(即地址数值)不超过4K字节。一般来说,存储器104存取(例如读或写)物理地址的最小单位为存储页。换句话说,尽管存储器104接收到(例如来自中央处理单元106)对其内的多个物理地址的存取指令,只要多个物理地址设置于存储器104中的同一存储页,则中央处理单元106仅需一次存取,就可将位于存储器104中同一存储页的多个物理地址的数据全部读出。相反地,若存取指令中的多个物理地址设置在存储器104中的不同存储页,则中央处理单元106需至少两次的存取,才可将存储器104中多个物理地址内的数据读出。
在一些实施例中,集成电路102内的映射表记载了以存储器104的存储页为单位的虚拟地址与物理地址的对应关系。由于虚拟地址与存储器104的物理地址为彼此相对应(通过映射表),因此对应于存储器104中每一存储页的物理地址的虚拟地址(即地址数值)同样不超过4K字节。在一些实施例中,集成电路102包括地址重映射单元110,并且地址重映射单元110包括高速缓存(cache)114。中央处理单元106包括直接存储器访问(DMA)控制器,用以协助中央处理单元106处理对DMA指令的操作,以避免对中央处理单元106的计算资源的占用。
在一些实施例中,电子装置100可例如为笔记本电脑、桌面计算机、平板计算机、智能行动装置、或工作站服务器。在一些实施例中,集成电路102、存储器104,及中央处理单元106各别以独立芯片的形式,设置在电子装置100之内。在一些实施例中,集成电路102、存储器104,及中央处理单元106设置在同一集成芯片中,例如为***单芯片(SoC),但本发明不限于此。外部装置108可为任何功能性芯片,可通过其输入输出埠而与中央处理器106相沟通(例如通过集成电路102)。在一些实施例中,存储器104为非挥发性存储器。
如图1所示,外部装置108传送载有多个虚拟地址的存取请求指令170到集成电路102。当集成电路102接收到载于存取请求指令170的虚拟地址后,对应地传送重映射指令(remapping request)130到地址重映射单元110。换句话说,重映射指令130也载有来自存取请求指令170的虚拟地址。当虚拟地址所对应的物理地址不在存储器104中的同一存储页时,则地址重映射单元110依据当前所依序存取的虚拟地址是否超出预取地址,预先存取物理地址中不属于同一存储页的至少一个物理地址。
图2为本发明实施例的图1电子装置100进行操作时的信号时序波形图。同时参考图1,图2指出了频率信号(CLK)、存取请求指令170、虚拟地址170-VA、重映射指令130、虚拟地址130-VA、重映射预取指令120、重映射答复指令140、物理地址140-PA、直接存储器访问(DMA)指令150,以及物理地址150-PA的时序波形图。如图2所示,外部装置108在时间点t1时传送载有多个虚拟地址的存取请求指令170到集成电路102。因此,存取请求指令170从时间点t1起,至时间点t1后5个频率周期的时间点,都维持电压高准位。对应地,存取请求指令170中载有虚拟地址170-VA。虚拟地址170-VA例如包括从时间点t1起依序排列的虚拟地址1、虚拟地址2、虚拟地址3、虚拟地址4,及虚拟地址5。
在一些实施例中,虚拟地址1可例如为VA[x:12]+offset1[11:0],虚拟地址2可例如为VA[x:12]+offset2[11:0],虚拟地址3可例如为VA[x:12]+offset3[11:0],虚拟地址4可例如为VA[x:12]+offset4[11:0],以及虚拟地址5可例如为VA[x:12]+4K+offset5[11:0]。依据上述虚拟地址1~5的地址值,虚拟地址1、虚拟地址2、虚拟地址3,及虚拟地址4所分别对应的物理地址都在存储器104中的同一存储页(因为地址值同为VA[x:12]),例如为第一页。虚拟地址5所对应的物理地址在虚拟地址1~4所对应物理地址的所在第一页的下一页(因为地址值为VA[x:12]+4K),例如为第二页。offset1[11:0]、offset2[11:0]、offset3[11:0]、offset4[11:0]表示虚拟地址1~4与存储器104中第一页的起始字节的不同字节差额。Offset5[11:0]表示虚拟地址5与存储器104中第二页的起始字节的字节差额。简单来说,虚拟地址1~4所对应的物理地址是位于存储器104中的同一存储页,而虚拟地址5所对应的物理地址是位于存储器104中的另一存储页。
集成电路102收到来自外部装置108的存取请求指令170后,集成电路102在时间点t2、时间点t3,及时间点t4时分别传送重映射指令130到地址重映射单元110。集成电路102首先依据虚拟地址1~5的地址值,判断虚拟地址1~5所对应的物理地址是否都位于存储器104的同一存储页。因此,集成电路102判定虚拟地址1~4所对应的物理地址在存储器104的同一存储页,而虚拟地址5所对应的物理地址在存储器104的另一存储页。由于集成电路102已知道虚拟地址1~4所对应的物理地址位于存储器104的同一存储页,因此时间点t2所传送的重映射指令130仅会载有虚拟地址1。换句话说,只要存取虚拟地址1所对应物理地址所在的该存储页,便可同时得到虚拟地址2~4所对应物理地址的内容。
在时间点t3时,由于地址重映射单元110当前正在存取的虚拟地址已经超过预取地址,因此集成电路102产生重映射预取指令120,并且将重映射预取指令120传送到地址重映射单元110。地址重映射单元110接收到来自集成电路102的重映射预取指令120。由于虚拟地址5所对应物理地址与虚拟地址1~4所对应物理地址的所在存储页不同,在时间点t3时图2虚拟地址130-VA的波形图中,重映射指令130所载的虚拟地址为虚拟地址5,地址重映射单元110因此可预先存取虚拟地址5所对应的物理地址。换句话说,在时间点t3时,集成电路102通过传送重映射预取指令120及载有虚拟地址5的重映射指令130,使得地址重映射单元110可预先存取存储器104中对应于虚拟地址5的物理地址。
在一些实施例中,同时参考图1、图2,地址重映射单元110可直接通过中央处理单元106的DMA控制器112的协助,直接存取存储器中104中对应于虚拟地址5的物理地址,并且DMA控制器112将所存取的数据通过通信界面180传送到地址重映射单元110。在一些实施例中,预取地址为4K+400、4K+600、4K+800、4K+a00、4K+c00,或4K+e00字节。举例来说,假设默认地址为4K+600,当图2的时间点t3时,地址重映射单元110正在存取的虚拟地址的地址值为4K+700。由于地址重映射单元110正在存取的虚拟地址的地址值超过预取地址4K+600,因此集成电路102就会传送重映射预取指令120到地址重映射单元110。在一些实施例中,预取地址依据存储器104的读取延迟而作对应设定。
在一些实施例中,预取地址可由电子装置100的***软件于开机时所设定,例如可在BIOS中设定预取地址,但本发明不限于此。在一些实施例中,当存储器104的读取延迟越短,则可设定较小的预取地址(例如为4K+400)。当存储器104的读取延迟越长,则可设定较大的预取地址(例如为4K+e00)。
地址重映射单元110将虚拟地址5所对应的物理地址存储于自身的高速缓存(cache)114中,并且更新映射表。换句话说,地址重映射单元110将虚拟地址5与其对应的物理地址加入原本的映射表中。在图2的时间点t4时,地址重映射单元110存取至虚拟地址5。经过一段虚拟地址与物理地址的转换时间后,地址重映射单元110在时间点t5时,通过重映射答复指令140输出对应于虚拟地址1的物理地址1到集成电路102。由于虚拟地址2~4所对应的物理地址2~4与物理地址1在存储器104的同一存储页,因此在重映射答复指令140中可不需要载有物理地址2~4的数据。在时间点t6时,地址重映射单元110依据更新后的映射表,直接通过重映射答复指令140,将已经存储于高速缓存114的对应于虚拟地址5的物理地址5输出到集成电路102。
在时间点t7时,集成电路102传送直接存储器访问(DMA)指令150到中央处理单元106。如图2所示,从时间点t7起至其后的5个频率周期之间,直接存储器访问指令150载有物理地址150-PA,依序包括对应于虚拟地址1的物理地址1、对应于虚拟地址2的物理地址2、对应于虚拟地址3的物理地址3、对应于虚拟地址4的物理地址4,以及对应于虚拟地址5的物理地址5。在一些实施例中,物理地址1的地址值可例如为PA1[y:12]+offset1[11:0]、物理地址2的地址值可例如为PA1[y:12]+offset2[11:0]、物理地址3的地址值可例如为PA1[y:12]+offset3[11:0]、物理地址4的地址值可例如为PA1[y:12]+offset4[11:0],及物理地址5的地址值可例如为PA2[y:12]+offset5[11:0]。
同理,依据上述物理地址1~5的地址值,物理地址1~4设置在存储器104的同一存储页(例如,PA1[y:12]),而物理地址5系、设置在存储器104的另一存储页(例如,PA2[y:12])。offset1[11:0]、offset2[11:0]、offset3[11:0]、offset4[11:0]表示物理地址1~4与存储器104中同一存储页的起始字节的字节差额。Offset5[11:0]表示物理地址5与存储器104的另一存储页的起始字节的字节差额。
至此,集成电路102成功将来自外部装置108的存取请求指令170的虚拟地址1~5转换为物理地址1~5,并且通过直接存储器访问指令150将物理地址1~5传送到中央处理单元106,使得中央处理单元106得以对存储器104的物理地址1~5进行存取。在图2的实施例中,地址重映射单元110接收重映射预取指令120的时间点(例如时间点t3)必须早于地址重映射单元110对虚拟地址5进行存取的时间点(例如为时间点t4),否则将导致地址重映射单元110的高速缓存未命中。
值得注意的是,在图2中,虽然地址重映射单元110在时间点t3时,接收到来自集成电路102的重映射预取指令120,但地址重映射单元110并不会传送基于重映射预取指令120的回复指令回去给集成电路102。因为重映射预取指令120并非为真正的指令。即使如此,地址重映射单元110仍会依据重映射预取指令120将对应于虚拟地址5的物理地址5提前存储于高速缓存114中,使得地址重映射单元110在存取重映射指令130中的虚拟地址5时(例如在图2的时间点t4时),可迅速地将已经存储于高速缓存114中的物理地址5通过重映射答复指令140传送回集成电路102。
此外,在一些实施例中,由于重映射预取指令120中并不包括真正的存储器的地址信息,因此电子装置100的***软件并不会依据重映射预取指令120设定映射表。换句话说,电子装置100的***软件仅会依据存取请求指令170、重映射指令130、重映射答复指令140,及直接存储器访问指令150设定或更新映射表。
图3为本发明实施例的存储器存取的加速方法的流程图。图3所述的存储器存取的加速方法用以改善图1的集成电路102对存储器104的存取效率。如图3所示,本发明实施例的存储器存取的加速方法包括接收多个虚拟地址(步骤S300);依据映射表,依序将虚拟地址对应地转换为多个物理地址(步骤S302);及当虚拟地址所对应的物理地址不在存储器中的同一存储页时,依据当前所依序存取的虚拟地址是否超出预取地址,预先存取物理地址中不属于同一存储页的至少一个物理地址(步骤S304)。
在一些实施例中,图1的集成电路102执行图2的步骤S300,图1的地址重映射单元110(或集成电路102)执行图2的步骤S302,并且图1的地址重映射单元110执行步骤S304。
图4为本发明实施例的图3步骤S304的详细流程图。如图4所示,在图3的步骤S304中,本发明实施例的存储器存取的加速方法还包括当当前所存取的虚拟地址超出预取地址,产生重映射预取指令(例如于图2的时间点t3时产生重映射预取指令120)(步骤S400);依据重映射预取指令,将物理地址中不属于同一存储页的至少一个物理地址存储于高速缓存(cache)中,并且更新映射表(步骤S402);及当存取至对应于不属于同一存储页的至少一个物理地址的虚拟地址的一个时(例如于图2的时间点t4时存取虚拟地址5),依据更新后的映射表,直接将存储于高速缓存的物理地址中不属于同一存储页的至少一个物理地址输出(例如于图2的时间点t6时输出物理地址5)(步骤S404)。
在一些实施例中,图1的集成电路102执行图4的步骤S400,图1的地址重映射单元110执行图4的步骤S402及步骤S404。
本发明的电子装置100及存储器存取的加速方法系可提高整个***的大数据传输的效能,并且具有以下特点:一、产生重映射预取指令120的时间点,亦即地址重映射单元110执行预取动作的时间点是可控制的,因此可以根据不同的***情况(例如搭配存储器104的读取延迟)自由地调整。二、当重映射预取指令120发生错误时,地址重映射单元110需要忽视该错误的发生,换句话说,地址重映射单元110必须将发生错误的重映射预取指令120丢弃,并且不能向***软件输出错误报告。
虽然本发明的实施例如上述所描述,我们应该明白上述所呈现的只是范例,而不是限制。依据本实施例上述示范实施例的许多改变是可以在没有违反发明精神及范围下被执行。因此,本发明的广度及范围不该被上述所描述的实施例所限制。更确切地说,本发明的范围应该要以以下的申请专利范围及其相等物来定义。
尽管上述发明已被一或多个相关的执行来图例说明及描绘,等效的变更及修改将被依据上述规格及附图且熟悉这领域的其他人所想到。此外,尽管本发明实施例的特别特征已被相关的多个执行之一所示范,上述特征可能由一或多个其他特征所结合,以致于可能有需求及有助于任何已知或特别的应用。
除非有不同的定义,所有本文所使用的用词(包含技术或科学用词)是可以被属于上述发明的技术中拥有一般技术的人士做一般地了解。我们应该更加了解到上述用词,如被定义在众所使用的字典内的用词,在相关技术的上下文中应该被解释为相同的意思。除非有明确地在本文中定义,上述用词并不会被解释成理想化或过度正式的意思。

Claims (11)

1.一种电子装置,包括:
存储器,包括多个存储页;
集成电路,依据映射表,依序将多个虚拟地址对应地转换为多个物理地址;该集成电路包括:
地址重映射单元,当该多个虚拟地址所对应的该多个物理地址不在该存储器中的同一存储页时,依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于该同一存储页的至少一个物理地址。
2.如权利要求1所述的电子装置,其中,当当前所依序存取的该多个虚拟地址超出该预取地址,则该集成电路输出重映射预取指令到该地址重映射单元,使得该地址重映射单元将该多个物理地址中不属于该同一存储页的该至少一个物理地址存储于自身的高速缓存中,并且更新该映射表。
3.如权利要求2所述的电子装置,其中,当该地址重映射单元存取至对应于不属于该同一存储页的该至少一个物理地址的该多个虚拟地址的一个时,该地址重映射单元依据该更新后的映射表,直接将存储于该高速缓存的该多个物理地址中不属于该同一存储页的该至少一个物理地址输出。
4.如权利要求2所述的电子装置,还包括中央处理单元,依据该多个虚拟地址所对应该多个物理地址,对该存储器进行存取。
5.如权利要求4所述的电子装置,还包括外部装置,传送存取请求指令到该集成电路;当该集成电路接收到该存取请求指令时,该集成电路传送重映射指令到该地址重映射单元;其中,该存取请求指令及该重映射指令都包括该多个虚拟地址。
6.如权利要求5所述的电子装置,其中,当该地址重映射单元依据该更新后的映射表,将该多个虚拟地址对应地转换为该多个物理地址后,该地址重映射单元传送重映射答复指令到该集成电路;当该集成电路接收到该重映射答复指令时,该集成电路传送直接存储器访问指令予该中央处理单元;其中,该重映射答复指令及该直接存储器访问指令都包括该多个物理地址。
7.如权利要求1所述的电子装置,其中,该存储器的每一该多个存储页的大小为4K字节;该预取地址为4K+400、4K+600、4K+800、4K+a00、4K+c00,或4K+e00字节。
8.如权利要求7所述的电子装置,其中,该预取地址依据该存储器的读取延迟而作对应设定。
9.一种存储器存取的加速方法,该存储器包括多页,该方法包括:
接收多个虚拟地址;
依据映射表,依序将该多个虚拟地址对应地转换为多个物理地址;
当该多个虚拟地址所对应的该多个物理地址不在该存储器中的同一存储页时,依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于该同一存储页的至少一个物理地址。
10.如权利要求9所述的加速方法,还包括:
当当前所依序存取的该多个虚拟地址超出该预取地址,产生重映射预取指令;
依据该重映射预取指令,将该多个物理地址中不属于该同一存储页的该至少一个物理地址存储于高速缓存中,并且更新该映射表。
11.如权利要求10所述的加速方法,还包括:
当存取至对应于不属于该同一存储页的该至少一个物理地址的该多个虚拟地址的一个时,依据该更新后的映射表,直接将存储于该高速缓存的该多个物理地址中不属于该同一存储页的该至少一个物理地址输出。
CN202111232517.XA 2021-10-22 2021-10-22 加速存储器存取的电子装置及方法 Pending CN113961487A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111232517.XA CN113961487A (zh) 2021-10-22 2021-10-22 加速存储器存取的电子装置及方法
US18/047,791 US20230128405A1 (en) 2021-10-22 2022-10-19 Electronic device and method for accelerating memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111232517.XA CN113961487A (zh) 2021-10-22 2021-10-22 加速存储器存取的电子装置及方法

Publications (1)

Publication Number Publication Date
CN113961487A true CN113961487A (zh) 2022-01-21

Family

ID=79466156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111232517.XA Pending CN113961487A (zh) 2021-10-22 2021-10-22 加速存储器存取的电子装置及方法

Country Status (2)

Country Link
US (1) US20230128405A1 (zh)
CN (1) CN113961487A (zh)

Also Published As

Publication number Publication date
US20230128405A1 (en) 2023-04-27

Similar Documents

Publication Publication Date Title
US10453501B2 (en) Hybrid LPDDR4-DRAM with cached NVM and flash-NAND in multi-chip packages for mobile devices
US7287101B2 (en) Direct memory access using memory descriptor list
US10896136B2 (en) Storage system including secondary memory that predicts and prefetches data
US6813653B2 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
CN108062280B (zh) 存储器控制器以及包括该存储器控制器的存储器***
US9697111B2 (en) Method of managing dynamic memory reallocation and device performing the method
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
US9606928B2 (en) Memory system
CN108139989B (zh) 配备有存储器中的处理和窄访问端口的计算机设备
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
US20060026328A1 (en) Apparatus And Related Method For Calculating Parity of Redundant Array Of Disks
KR20220161852A (ko) 복수의 버스들로 정보를 송수신하는 컴퓨팅 장치 및 이의 동작 방법
CN110765060B (zh) Mdio总线到并行总线转换方法及装置、设备、介质
US20090138673A1 (en) Internal memory mapped external memory interface
US20230022998A1 (en) Overhead Reduction in Data Transfer Protocol for NAND Memory
CN113961487A (zh) 加速存储器存取的电子装置及方法
CN110928682B (zh) 外部设备访问计算机内存的方法
US8737156B2 (en) Mapping between two buses using serial addressing bits
JP2006011926A (ja) シリアルデータ転送システム、シリアルデータ転送装置、シリアルデータ転送方法及び画像形成装置
CN113297111B (zh) 人工智能芯片及其操作方法
CN117851290B (zh) 页表管理方法、***、电子组件及电子设备
CN114051611B (zh) 用于非连续存储器的dma分散和聚集操作
US20240184712A1 (en) Memory system with improved map table update efficiency, memory controller therefor, and operating method thereof
US20090248919A1 (en) Method for external fifo acceleration
CN115220649A (zh) 信息处理***和存储***

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
CB02 Change of applicant information

Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203

Applicant after: Shanghai Zhaoxin Semiconductor Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203

Applicant before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.

CB02 Change of applicant information