CN111061655B - 存储设备的地址转换方法与设备 - Google Patents

存储设备的地址转换方法与设备 Download PDF

Info

Publication number
CN111061655B
CN111061655B CN201911291823.3A CN201911291823A CN111061655B CN 111061655 B CN111061655 B CN 111061655B CN 201911291823 A CN201911291823 A CN 201911291823A CN 111061655 B CN111061655 B CN 111061655B
Authority
CN
China
Prior art keywords
address
memory
physical
logical
page
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
Application number
CN201911291823.3A
Other languages
English (en)
Other versions
CN111061655A (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.)
Guiyang Starblaze Technology Co ltd
Original Assignee
Guiyang Starblaze Technology 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 Guiyang Starblaze Technology Co ltd filed Critical Guiyang Starblaze Technology Co ltd
Publication of CN111061655A publication Critical patent/CN111061655A/zh
Application granted granted Critical
Publication of CN111061655B publication Critical patent/CN111061655B/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/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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

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)
  • Memory System (AREA)

Abstract

本申请提供存储设备的地址转换方法与设备,其中,存储设备包括地址转换装置,地址转换装置包括基础存储块,基础存储块存储地址转换表的条目的至少部分,地址转换表的条目记录了逻辑地址与物理地址的映射关系。

Description

存储设备的地址转换方法与设备
技术领域
本申请涉及大容量存储设备,尤其涉及存储设备的地址转换方法与设备。
背景技术
图1展示了固态存储设备的框图。固态存储设备(Solid State Drive,SSD)102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(Small Computer System Interface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal Serial Bus,通用串行总线)、PCIE(Peripheral ComponentInterconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)110。
NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(MagneticRandom Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM。
接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
控制部件104用于控制在接口103、NVM芯片105以及DRAM 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmable gate array,现场可编程门阵列)、ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM 110,并可访问DRAM 110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。
控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。
在固态存储设备中,利用FTL(Flash Translation Layer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。对于大多数NVM存储介质,访问其的物理地址是例如页地址。
提供从逻辑地址到物理地址的转换的装置被称为FTL表(也称为地址转换表)。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。大容量固态存储设备的FTL表具有较大的尺寸,例如若干GB。
FTL表包括多个FTL表条目(或称表项)。在申请号为201510430174.6的中国专利申请中提供了FTL表结构的示例。在一个例子中,每个FTL表条目中记录了一个逻辑页地址与一个物理页的对应关系。在又一个例子中,每个FTL表条目中记录了逻辑块地址与物理块地址的对应关系。在依然又一个例子中,FTL表中记录逻辑块地址与物理块地址的映射关系,和/或逻辑页地址与物理页地址的映射关系。FTL表条目也可以记录逻辑地址与一个或多个物理地址的映射关系。
在依然又一个例子中,在连续的内存地址空间中存储FTL表,每个FTL表条目中记录物理地址,而以每个FTL表条目自身的内存地址代表对应于物理地址的逻辑地址。FTL表条目的数量依赖于固态存储设备逻辑地址空间的大小以及每个FTL表条目所代表的存储单元的大小。
固态存储设备的控制器工作时需要频繁访问FTL表。在读取NVM存储介质时,通过逻辑地址查询FTL表以获得存储数据的NVM存储介质的物理地址。在写入NVM存储介质时,为写入的数据分配物理地址,并在FTL中记录写入的逻辑地址与物理地址的对应关系。在发生GC(垃圾回收)、擦除均衡等操作时,逻辑地址与物理地址的映射关系发生改变,需要更新FTL。
已经存在多种访问FTL的技术方案。在中国发明专利申请CN201610346104.7中提供了FTL表快速访问方法与装置,将其通过引用并入本发明。
发明内容
FTL表的特点包括表项数量多(常见的固态存储设备中要管理数亿条FTL表条目)、每个条目的尺寸小(约几个到十几个字节)、访问随机性强(对FTL表条目的访问分布在整个表空间而缺乏局部性)。并且由于要支持大容量的固态存储设备,所以经常需要进行超过4GB的内存空间的访问。
为存储GB级的数据,一般采用DRAM(Dynamic Random Access Memory,动态随机访问存储器)。而DRAM的访问延迟无法匹配CPU(Central Processing Unit,中央处理单元)等高速处理部件,并严重影响存储控制器的处理性能。传统地,采用Cache(高速缓冲存储器)作为存储中间层,通过缓存DRAM中的部分数据来为CPU提供高速数据访问能力。
本申请的目的在于提供存储设备的地址转换方法及其设备。
根据本申请的第一方面,提供了根据本申请第一方面的第一存储设备,其中,包括地址转换装置,地址转换装置包括基础存储块,基础存储块存储地址转换表的条目的至少部分,地址转换表的条目记录了逻辑地址与物理地址的映射关系。
根据本申请的第一方面的第一存储设备,提供了根据本申请第一方面的第二存储设备,其中,逻辑地址包括互不重叠的进程标识符和虚拟页地址,进程标识符用于确定基础存储块的基地址,虚拟页地址用于确定地址转换表的条目的至少部分在基础存储块内的存储位置。
根据本申请的第一方面的第一或第二存储设备,提供了根据本申请第一方面的第三存储设备,其中,闪存转换装置还包括扩展存储块;扩展存储块存储地址转换表的条目的第二部分;地址转换表的条目的第一部分与第二部分的组合为同逻辑地址对应的物理地址。
根据本申请的第一方面的第三存储设备,提供了根据本申请第一方面的第四存储设备,其中,逻辑地址包括互不重叠的扩展存储块地址和偏移,扩展存储块地址用于在扩展存储块中寻址数据单元,偏移用于在数据单元内确定第二部分。
根据本申请的第一方面的第二至第四存储设备,提供了根据本申请第一方面的第五存储设备,其中,虚拟页地址的长度由CPU为每个进程提供的虚拟存储器空间的大小决定。
根据本申请的第一方面的第二至第五存储设备,提供了根据本申请第一方面的第六存储设备,其中,进程标识符的长度由基础存储块的数量决定。
根据本申请的第一方面的第一至第六存储设备,提供了根据本申请第一方面的第七存储设备,其中,至少一个基础存储块在内存中连续放置。
根据本申请的第一方面的第一至第六存储设备,提供了根据本申请第一方面的第八存储设备,其中,至少一个基础存储块在内存中不连续放置;地址转换装置还包括进程标识符表,进程标识符表包括数量与基础存储块的数量相同的进程标识符条目,每个进程标识符条目记录一个基础存储块的地址。
根据本申请的第一方面的第二或第八存储设备,提供了根据本申请第一方面的第九存储设备,其中,进程标识符为逻辑地址中指示命名空间标识符的部分。
根据本申请的第一方面的第八至第九存储设备,提供了根据本申请第一方面的第十存储设备,其中,进程标识符条目中记录对应的基础存储块的大小。
根据本申请的第一方面的第三至第十存储设备,提供了根据本申请第一方面的第十一存储设备,其中,扩展存储块为其中一个基础存储块的一部分。
根据本申请的第一方面的第三至第十存储设备,提供了根据本申请第一方面的第十二存储设备,其中,扩展存储块与基础存储块互不重叠。
根据本申请的第一方面的第三存储设备,提供了根据本申请第一方面的第十三存储设备,其中扩展存储块地址与虚拟页地址在逻辑地址中的部分彼此交叠。
根据本申请的第二方面,提供了根据本申请第二方面的第一内存管理单元,用于将逻辑地址转换为物理地址,其中,内存管理单元包括第一页表和第一旁路转换缓存,第一页表的条目存储物理地址的至少部分,第一旁路转换缓存存储第一页表中被频繁使用的条目。
根据本申请的第二方面的第一内存管理单元,提供了根据本申请第二方面的第二内存管理单元,其中,内存管理单元还包括第二页表;第一页表的条目存储物理地址的基础地址;第二页表的条目存储物理地址的扩展地址;基础地址和扩展地址的组合为同逻辑地址对应的物理地址。
根据本申请的第二方面的第二内存管理单元,提供了根据本申请第二方面的第三内存管理单元,其中,内存管理单元还包括第二旁路转换缓存,第二旁路转换缓存存储第二页表中被频繁使用的条目。
根据本申请的第三方面,提供了根据本申请第三方面的第一地址转换方法,其中,包括如下步骤:响应于接收到IO请求,从IO请求中获取逻辑地址;根据逻辑地址获取物理地址的第一部分;根据逻辑地址获取物理地址的第二部分;组合物理地址的第一部分和物理地址的第二部分,得到物理地址。
根据本申请的第三方面的第一地址转换方法,提供了根据本申请第三方面的第二地址转换方法,其中,将逻辑地址的第一部分作为进程标识符,以及将逻辑地址的第二部分作为虚拟页地址;根据进程标识符确定用于存储闪存转换表的表条目的基础存储块的基地址,根据虚拟页地址确定物理地址的第一部分在基础存储块中的存储位置,从基础存储块读取物理地址的第一部分。
根据本申请的第三方面的第一地址转换方法,提供了根据本申请第三方面的第三地址转换方法,其中,从逻辑地址提取第一部分作为进程标识符,以及从逻辑地址提取第二部分作为虚拟页地址;根据逻辑地址的第一部分确定用于存储闪存转换表的表条目的基础存储块的基地址,根据逻辑地址的第二部分确定物理地址的第一部分在基础存储块中的存储位置,从基础存储块读出物理地址的第一部分。
根据本申请的第三方面的第一至第三地址转换方法,提供了根据本申请第三方面的第四地址转换方法,其中,用逻辑地址的第三部分寻址扩展存储块内的存储位置,以及将逻辑地址的第四部分作为偏移值;根据逻辑地址的第三部分与第四部分从扩展存储块中读出物理地址的第二部分。
根据本申请的第三方面的第四地址转换方法,提供了根据本申请第三方面的第五地址转换方法,其中,用逻辑地址的第三部分在扩展存储块中寻址一个数据单元,用偏移值在数据单元内确定物理地址的第二部分。
根据本申请的第三方面的第一至第五地址转换方法,提供了根据本申请第三方面的第六地址转换方法,其中,逻辑地址还包括与进程标识符和虚拟页地址互不重叠的第五部分;闪存转换方法还包括:将物理地址与第五部分组合,以寻址IO请求所访问的数据。
根据本申请的第三方面的第一至第六地址转换方法,提供了根据本申请第三方面的第七地址转换方法,其中,还包括:识别逻辑地址的空间大小;若逻辑地址的空间大小大于阈值,则获取物理地址的第二部分;否则,将物理地址的第一部分作为物理地址。
根据本申请的第三方面的第一至第七地址转换方法,提供了根据本申请第三方面的第八地址转换方法,其中,获取物理地址的第一部分的同时,获取物理地址的第二部分。
根据本申请的第三方面的第一地址转换方法,提供了根据本申请第三方面的第九地址转换方法,其中,将逻辑地址的第一部分作为进程标识符,以及将逻辑地址的第二部分作为虚拟页地址;将进程标识符和虚拟页地址提供给内存管理单元;内存管理单元根据进程标识符和虚拟页地址查询第一页表得到物理地址的第一部分。
根据本申请的第三方面的第九地址转换方法,提供了根据本申请第三方面的第十地址转换方法,其中,还包括:内存管理单元根据进程标识符与虚拟页地址查询第一旁路转换缓存;若进程标识符与虚拟页地址命中了第一旁路转换缓存,则第一旁路转换缓存输出被命中的条目的第一物理页地址,第一物理页地址的部分作为物理地址的第一部分。
根据本申请的第三方面的第一地址转换方法,提供了根据本申请第三方面的第十一地址转换方法,其中,将逻辑地址的第一部分作为进程标识符,以及将逻辑地址的第二部分作为虚拟页地址;将进程标识符和虚拟页地址提供给内存管理单元;内存管理单元根据进程标识符和虚拟页地址查询第一页表得到第一存储器页地址,根据第一存储器页地址与逻辑地址的第六部分得到第一存储器地址,访问第一存储器地址得到物理地址的第一部分。
根据本申请的第三方面的第十一地址转换方法,提供了根据本申请第三方面的第十二地址转换方法,其中,还包括:内存管理单元根据进程标识符与虚拟页地址查询第一旁路转换缓存;若进程标识符与虚拟页地址命中了第一旁路转换缓存,则第一旁路转换缓存输出第一存储器页地址,根据第一存储器页地址与逻辑地址的第六部分得到第一存储器地址,访问第一存储器地址得到物理地址的第一部分。
根据本申请的第三方面的第十至第十二地址转换方法,提供了根据本申请第三方面的第十三地址转换方法,其中,还包括:若第一旁路转换缓存被命中,则忽略从第一页表中查询得到的结果,或者终止对第一页表的查询。
根据本申请的第三方面的第十至第十三地址转换方法,提供了根据本申请第三方面的第十四地址转换方法,其中,还包括:若进程标识符和虚拟页地址未命中第一旁路转换缓存,则:将第一旁路转换缓存的至少一个条目写回第一页表;从第一页表中加载同逻辑地址的进程标识符和虚拟页地址对应的条目并填充第一旁路转换缓存中的空闲条目;第一旁路转换缓存输出同逻辑地址的进程标识符和虚拟页地址对应的第二物理页地址,作为物理地址的第一部分。
根据本申请的第三方面的第十至第十三地址转换方法,提供了根据本申请第三方面的第十五地址转换方法,其中,还包括:若进程标识符和虚拟页地址未命中第一旁路转换缓存,则:将第一旁路转换缓存的至少一个条目写回第一页表;从第一页表中加载同逻辑地址的进程标识符和虚拟页地址对应的条目并填充第一旁路转换缓存中的空闲条目;第一旁路转换缓存输出同逻辑地址的进程标识符和虚拟页地址对应的第一存储器页地址,根据第一存储器页地址与逻辑地址的第六部分得到第一存储器地址,访问第一存储器地址得到物理地址的第一部分。
根据本申请的第三方面的第九至第十五地址转换方法,提供了根据本申请第三方面的第十六地址转换方法,其中,将逻辑地址的第七部分作为扩展存储块地址,将指定的进程标识符和扩展存储块地址提供给内存管理单元;根据指定的进程标识符和扩展存储块地址从扩展存储块输出数据单元;根据逻辑地址的第八部分从数据单元中获取物理地址的第二部分。
根据本申请的第三方面的第九至第十五地址转换方法,提供了根据本申请第三方面的第十七地址转换方法,其中,从逻辑地址提取第九部分作为扩展存储块地址,并将指定的进程标识符和扩展存储块地址提供给内存管理单元;根据指定的进程标识符和扩展存储块地址查询内存管理单元的第二页表得到数据单元,根据逻辑地址的第十部分从数据单元中获取物理地址的第二部分。
根据本申请的第三方面的第十七地址转换方法,提供了根据本申请第三方面的第十八地址转换方法,其中,还包括:查询第二页表的同时,根据指定的进程标识符和扩展存储块地址查询第二旁路转换缓存;若第一旁路转换缓存和第二旁路转换缓存均被命中,则第一旁路转换缓存输出被命中的条目的第三物理页地址,作为物理地址的第一部分;第二旁路转换缓存输出被命中的条目的第四物理页地址,将第四物理页地址的部分作为物理地址的第二部分。
根据本申请的第三方面的第二至第十八地址转换方法,提供了根据本申请第三方面的第十九地址转换方法,其中,进程标识符为逻辑地址中指示命名空间标识符的部分。
根据本申请的第四方面,提供了根据本申请第四方面的存储了程序的第一存储介质,其中,响应于程序被载入处理器运行,程序使处理器执行上述的闪存转换方法。
本申请实施例利用地址转换装置提供了存储设备的地址转换,减少了数据访问延迟,提高了地址转换过程的处理速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。
图1为现有技术中固态存储设备的框图;
图2是根据本申请实施例一的地址转换装置的示意图;
图3展示了根据本申请实施例二的将逻辑地址转换为物理地址的流程图;
图4展示了根据本申请实施例三的将逻辑地址转换为物理地址的流程图;
图5展示了根据本申请实施例四的地址转换装置的示意图;以及
图6展示了根据本申请实施例五的将逻辑地址转换为物理地址的流程图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图2是根据本申请实施例一的地址转换装置的示意图。根据图2的实施例,地址转换装置用于将输入的逻辑地址210转换为物理地址220。逻辑地址是固态存储设备展现给用户的存储空间的索引,而物理地址用于索引固态存储设备的NVM芯片及其上的物理存储块与页,或者存储块上的数据单元。为了清楚以及举例的目的,地址转换装置输出的物理地址指示物理页,每个物理地址包括34比特,每个逻辑地址包括46比特,逻辑地址的低12比特用于数据单元(例如,物理页)内的数据寻址,逻辑地址的高34比特用于确定要访问的数据单元。地址转换装置根据逻辑地址的高34比特得到34比特的物理地址。可以理解地,地址转换装置的输入逻辑地址、输出物理地址和/或数据单元的大小可具有其他尺寸。
主存中存储地址转换表(维护从逻辑地址到物理地址的映射信息)。参看图2,基础存储块(240、242、244、246)存储地址转换表的条目,并位于主存中。基础存储块(240、242、244、246)的大小是若干GB(吉字节,Giga Byte),例如2GB。地址转换表的数据结构是已知的,从而依据逻辑地址,能够得到主存中存储了对应于该逻辑地址的条目的(至少部分)物理地址。在一个例子中,地址转换表以平面(Flat)结构存储,记录了逻辑地址L的地址转换表的条目存储在物理地址(B+L*4)处,其中B指示地址转换表所在基础存储块的基地址,而用于每个逻辑地址的地址转换表条目占据4字节存储空间。在另一个例子中,地址转换表以树形结构存储。树的叶节点记录了地址转换表的条目,而非叶节点记录了地址转换表条目的索引。通过逻辑地址L遍历树形结构,以获得记录逻辑地址L对应的地址转换表条目的物理地址。
根据图2的实施例,基础存储块(240、242、244、246)有8个(图2中示出4个,其余未示出),每个基础存储块的大小为2GB。基础存储块中以平面结构按逻辑地址顺序记录地址转换表的条目。基础存储块240的部分存储空间被提供给扩展基础存储块(260、262、264、266)。扩展基础存储块的每个条目记录对应于地址转换表条目之一的物理地址的部分比特。作为举例,扩展基础存储块的每个条目的大小为2比特。扩展基础存储块的条目按逻辑地址顺序排列,从而依据逻辑地址,能够得到扩展基础存储块中存储的对应于该逻辑地址的条目的2比特物理地址。
逻辑地址210包括互不重叠的多个部分,分别记为进程标识符PID、虚拟页地址与页内偏移。作为举例,PID部分为3比特(例如,逻辑地址210的最高3比特),虚拟页地址部分为29比特(例如,逻辑地址210的次高29比特),页内偏移部分为12比特(例如,逻辑地址210的最低12比特)。根据图2的实施例,地址转换装置根据逻辑地址的PID确定存储地址转换表的条目的基础存储块(240、242、244、246)之一,而根据虚拟页地址确定地址转换表的条目在基础存储块内的存储位置(相对于基础存储块的基地址的偏移)。访问地址转换表的条目输出32比特数据,作为物理地址220的基础地址。
逻辑地址210也用于寻址扩展存储块的条目。逻辑地址210被分为扩展存储块地址(例如,逻辑地址210的最高30比特)与字节内偏移(例如,逻辑地址210的最低2比特)。扩展存储块地址与虚拟页地址在逻辑地址中的部分彼此交叠。从而扩展存储块地址用于在总计存储空间1GB的扩展存储块中寻址数据单元(如一字节),而字节内偏移用于确定该数据单元内的2比特作为物理地址220的扩展地址。
本领域技术人员将理解地,固态存储设备可提供其他尺寸的存储空间,具有不同数量的数据单元。并相应调整逻辑地址210的各个部分的大小、内存中的基础存储块的大小、内存中的扩展存储块的大小,以完成从逻辑地址到用于NVM芯片的物理地址的转换。
根据图2的实施例,基础存储块的大小(2GB)为CPU为每个进程提供的虚拟存储器空间的大小,并据此确定逻辑地址210的虚拟页地址部分的长度(用于在基础存储块内寻址基础存储块条目)。逻辑地址210的PID部分的长度依赖于容纳地址转换表的基础存储块的数量,使得PID用于寻址基础存储块之一。所有基础存储块的条目数量为地址转换表条目的数量,也等于扩展存储块的条目的数量。逻辑地址210的部分(扩展存储地址与字节内偏移)还用于寻址扩展存储块的条目。组合基础存储块条目与扩展存储块的条目得到物理地址,从而可调整基础存储块的条目与扩展存储块的条目的尺寸。例如,物理地址为34比特,而基础存储块条目为32比特,扩展存储块条目为2比特。显然,将基础存储块条目设置为32比特,同一般CPU的数据总线宽度一致,有利于被CPU访问以及数据传输。可以理解,基础存储块的条目、扩展存储块的条目的长度可以是其他尺寸。
在一个实施方式中,多个基础存储块在内存中被连续放置,从而依据PID的值可计算出对应基础存储块的基地址。而在另一个实施方式中,多个基础存储块在内存中被不连续放置,从而无须为容纳基础存储块而使用连续的大块内存空间,以及使用进程标识符表(PID表)(包括条目280、282、284与286)记录每个PID对应的基础存储块的基地址。例如,条目280记录基础存储块240的基地址,条目282记录基础存储块242的基地址,条目284记录基础存储块244的基地址,条目286记录基础存储块246的基地址。用PID索引PID表,得到对应基础存储块的基地址。
依然可选地,PID、虚拟页地址、基础存储块地址和/或字节内偏移可位于逻辑地址210的多种位置。
在可选的实施方式中,将逻辑地址210或IO请求中指示命名空间标识符(NameSpace ID,NSID)的部分作为PID,用PID索引PID表,得到基础存储块的基地址。由于使用了PID表,使得基础存储块各自可具有不同的大小。根据从PID表获得的索引作为基础存储块的基地址,根据虚拟页地址作为偏移值,从基础存储块中获取对应的条目,作为物理地址的部分或全部。进一步地,还在PID表的条目中记录对应基础存储块的大小(可接受的偏移值),若使用的虚拟页地址超出了基础存储块的大小,阻止这种对NSID的逻辑地址空间的越界访问。
图2的实施例中,扩展存储块位于基础存储块240中,占据基础存储块240的存储空间。基础存储块240被占据的存储空间所对应的逻辑地址范围不提供给用户访问。可选地,扩展存储块与基础存储块在内存空间中不重叠。
实施例二
图3展示了根据本申请实施例二的将逻辑地址转换为物理地址的流程图。可由CPU执行软件或内存管理单元(MMU,Memory Management Unit)实施图3所示的流程图,并应用于根据图2的实施例的地址转换装置。
如图3所示,将逻辑地址转换为物理地址包括:响应于收到访问存储设备的IO请求,从IO请求中获取逻辑地址(310)。将逻辑地址的指定部分作为PID,以及将逻辑地址的另一指定部分作为虚拟页地址。具体地,从逻辑地址提取指定部分(例如,最高3比特)作为PID(也参看图2),以及从逻辑地址提取另一指定部分(例如,次高29比特)作为虚拟页地址(也参看图2)。根据PID确定用于存储地址转换表的条目的基础存储块的基地址,用虚拟页地址在基础存储块中确定地址转换表的条目的存储位置,从基础存储块读取的数据作为地址转换表的条目的至少部分,作为物理地址的第一部分(320)。还用逻辑地址的部分(例如,最高32比特)索引扩展存储块,从扩展存储块的条目中读出的数据作为地址转换表的条目的又一部分,作为物理地址的第二部分(350)。
例如,用逻辑地址的31比特寻址扩展存储块内的存储位置(如一个数据单元),以及将逻辑地址的另外3比特作为偏移值,用偏移值在该数据单元内确定所访问的数据,从扩展存储块中读出的数据作为物理地址的第二部分。
拼接组合读出的地址转换表条目的两部分,作为物理地址(360)。该物理地址指示IO请求所访问的数据单元所使用的NVM芯片的物理地址。可选地,还将该物理地址与逻辑地址的其他比特(例如物理页内偏移)拼接,以寻址IO请求所访问的数据单元内的数据。
依然可选地,步骤320和步骤350可以同时执行。
实施例三
图4展示了根据本申请实施例三的将逻辑地址转换为物理地址的流程图。如图4所示,将逻辑地址转换为物理地址包括:从IO请求中获取逻辑地址(410)。将逻辑地址的指定部分作为PID,以及将逻辑地址的另一指定部分作为虚拟页地址。具体地,从逻辑地址提取指定部分(例如,最高3比特)作为PID(也参看图2),以及从逻辑地址提取另一指定部分(例如,次高29比特)作为虚拟页地址(也参看图2)。根据PID确定存储地址转换表的条目的基础存储块的基地址,用虚拟页地址在基础存储块中确定地址转换表的条目的存储位置,从基础存储块读取的数据作为地址转换表的条目的部分,作为物理地址的第一部分(420)。从基础存储块读出的数据的尺寸(例如,32比特)决定了可寻址的存储空间。
识别当前固态存储设备的逻辑地址空间的大小(430)。若逻辑地址空间大小不大于阈值(阈值是例如从基础存储块读出的数据的尺寸可寻址的最大存储空间,例如2TB),则从基础存储块读出的数据已代表完整的物理地址,将从基础存储块读出的数据作为地址转换装置输出的物理地址(440)。可选地,还为从基础存储块读出的数据填充指定数据,以满足物理地址的格式要求,例如,在读出数据前填加一个或多个0。
若当前固态存储的逻辑地址空间的大小大于阈值(430),则还用逻辑地址的部分(例如,最高32比特)索引扩展存储块,从扩展存储块的条目中读出的数据作为地址转换表的条目的又一部分,作为物理地址的第二部分(450)。拼接组合读出的地址转换表的条目的两部分,作为物理地址(460)。该物理地址指示IO请求所访问的数据单元所使用的NVM芯片的物理地址。
实施例四
地址转换装置被用于将IO请求的逻辑地址转换为NVM介质的物理(页)地址。而现代CPU的MMU(内存管理单元)的作用是将进程的虚拟地址转换为内存物理页地址(页框地址)。根据本申请的实施例,使用MMU来促进从IO请求的逻辑地址到NVM介质的物理地址的转换过程。
图5展示了根据本申请实施例四的地址转换装置的示意图。
如图5所示,用MMU来将IO请求的逻辑地址510转换为NVM介质的物理地址520,以实现地址转换装置的功能。MMU包括其管理的页表与TLB(Translation Lookaside Buffer,旁路转换缓存)。页表中记录了虚拟页地址(虚拟页号)与NVM介质的物理页地址的映射关系。响应于IO请求,将IO请求的逻辑地址510的虚拟页地址部分作为索引,提供给MMU来查询页表,将从页表中查到的物理页地址作为MMU的输出。响应于地址转换表的条目被更新,在MMU的页表中记录更新后的虚拟页地址与物理地址的映射关系,以供后续的查询。
MMU的TLB记录了页表的部分条目。例如,TLB中记录页表的被频繁使用的条目。TLB以硬件实现,从而具有相对于存储器访问更快的响应速度。一般地,TLB的条目数量较少,以仅容纳页表的部分条目而非全部。影响于IO请求,除了用IO请求的逻辑地址510的虚拟页地址部分查询页表,MMU还并行地用虚拟页地址部分查询TLB。若TLB的条目中记录了该虚拟页地址,TLB将迅速给出响应,TLB输出被命中的条目的物理页地址,该物理页地址作为MMU的输出,作为物理地址的第部分。从而无须再等待页表查询结果。若TLB未命中,则用页表的查询结果作为输出。以及可选地,还用页表的查询结果替换TLB的条目,以期下一次查询TLB时,TLB能命中。
可选地,页表和/或TLB还为每个进程记录了其虚拟页与物理页地址的映射关系,从而多个进程各自可独占完整的虚拟地址空间(例如,最大2GB)。进程标识符是CPU、MMU、操作系统等用于区分进程所使用的标识符。根据本申请的实施例,将逻辑地址510的指定部分用作进程标识符(PID),将逻辑地址510的另一指定部分用作虚拟页地址(也参看图2),以使用MMU。
响应于IO请求,将逻辑地址的进程标识符与虚拟页地址都提供给MMU。MMU依据PID选取同该PID对应的页表,并用虚拟页地址查询同该PID对应的页表,以得到物理页地址或物理页地址的至少部分。而TLB的每个条目还记录该条目所属的PID,仅当TLB条目所记录的PID与虚拟页地址均命中时,该TLB条目才被命中。在页表条目与TLB条目被更新时,也识别条目所对应的PID。
可选地,MMU根据PID和虚拟页地址查询页表得到存储器页地址,根据存储器页地址与逻辑地址的指定部分得到存储器地址,访问存储器地址得到物理地址的第一部分。
若PID与虚拟页地址命中了TLB,则TLB输出存储器页地址,根据存储器页地址与逻辑地址的指定部分得到存储器地址,访问存储器地址得到所述物理地址的第一部分。
可选地,MMU的页表所呈现的虚拟地址空间被分为多个部分。根据从逻辑地址产生的PID与虚拟页地址,访问虚拟地址空间的第一部分;而根据运行的程序要访问的存储器数据地址产生PID与虚拟页地址,访问虚拟空间的第二部分。从而程序以统一的方式访问存储器数据与固态存储设备中的数据。简化了信息处理设备的数据存储模型,降低了程序开发的复杂度。
依然可选地,一些IO请求指示了NSID(NameSpace ID,命名空间标识符,例如,在NVMe协议中被定义)。将NSID用作PID。从而MMU为每个NSID维护对应的页表和/或TLB条目。进一步地,依据NSID的优先级或用户指定,为各个NSID分配TLB条目等资源的数量,以为NSID提供差异化的服务质量。
在另一个实施例中,TLB条目记录的NVM页地址的大小不受数据总线宽度限制,从而容纳完整的物理地址520。响应于TLB命中,TLB输出完整的物理地址520作为地址转换装置的地址转换结果。
在依然又一个实施例中,第一页表的条目大小无法容纳完整物理地址520。例如,物理地址520有34比特,而第一页表的条目大小是32比特以适应数据总线的宽度。将第一页表的条目所记录的物理地址的部分称为基础地址(也参看图2)。MMU还维护第二页表。第二页表的每个条目记录逻辑地址与物理地址中未被第一页表的条目所容纳的部分(例如2比特)(称为扩展地址,也参看图2)的映射关系。响应于IO请求,MMU还用IO请求的逻辑地址查询第二页表,以获得同逻辑地址对应的扩展地址。将基础地址与扩展地址组合为物理地址520。
依然可选地,MMU包括第二TLB。第二TLB缓存第二页表的部分条目,例如存储第二页表中被频繁使用的条目。第二TLB的条目记录扩展地址。以及使逻辑地址要么同时命中第一TLB与第二TLB,要么第一TLB与第二TLB都不命中是有利的。在第一TLB发生替换时,也相关联地替换第二TLB。
实施例五
图6展示了根据本申请实施例五的将逻辑地址转换为物理地址的流程图。
如图6所示,将逻辑地址转换为物理地址包括:从IO请求中获取逻辑地址(610)。分别根据逻辑地址获取物理地址的第一部分(基础地址)(620)(也参看图2),以及根据逻辑地址获取物理地址的第二部分(扩展地址)(650)(也参看图2)。例如,用逻辑地址或其部分查询基础存储块以获取基础地址,而用逻辑地址或其部分查询扩展存储块以获取扩展地址。以及将物理地址的第一部分(基础地址)与第二部分(扩展地址)组合,得到同逻辑地址对应的物理地址(660)。以及用物理地址访问固态存储设备的NVM存储介质。其中,步骤620与步骤650可被并行执行。
根据图6的实施例,为获取物理地址的第一部分(620),将逻辑地址的部分提供给MMU。例如,将逻辑地址的第一部分(也参看图2,PID)作为进程标识符提供给MMU,而将逻辑地址的第二部分(也参看图2,虚拟页地址)作为虚拟页地址提供给MMU(630)。MMU根据进程标识符与虚拟页地址查询页表,并将页表的输出作为NVM介质的物理地址的第一部分(基础地址)(634)。
MMU还响应于收到PID与虚拟页地址,还查询TLB是否命中(640)。若逻辑地址的PID与虚拟页地址命中了TLB,则TLB输出被命中的条目记录的物理页地址(642)。MMU将TLB输出的物理页地址作为NVM介质的物理地址的第一部分(基础地址)(634),并忽略从页表中查询得到的结果,或者终止页表的查询过程。
若逻辑地址的PID与虚拟页地址未命中TLB,可选地,替换TLB条目(644)。
可选地,替换TLB条目包括将TLB的一个或多个条目写回页表,以在TLB中产生空闲条目,从页表中加载同逻辑地址的PID与虚拟页对应的条目并填充TLB中的空闲条目。TLB还输出从页表中加载同逻辑地址的PID与虚拟页对应的条目所记录的物理页地址(646)。MMU将TLB输出的物理页地址作为NVM介质的物理地址的第一部分(基础地址)(634)。
依然可选地,替换TLB条目(644)包括将TLB的一个或多个条目写回页表,以在TLB中产生空闲条目,从页表中加载同逻辑地址的进程标识符与虚拟页对应的条目并填充TLB中的空闲条目。TLB还输出从页表中加载同逻辑地址的PID与虚拟页对应的第一存储器页地址,根据第一存储器页地址与逻辑地址的指定部分得到第一存储器地址,访问第一存储器地址得到物理地址的第一部分(基础地址)(634)。
可选地或进一步地,为获取物理地址的第二部分(650),也将逻辑地址的部分提供给MMU。
可选地,将从逻辑地址提取的指定部分作为扩展存储块地址,并将PID和扩展存储块地址提供给MMU。MMU根据PID和扩展存储块地址从扩展存储块输出数据单元。根据逻辑地址的另一指定部分从数据单元中获取物理地址的第二部分。
依然可选地,从逻辑地址提取指定部分作为扩展存储块地址,并将PID和扩展存储块地址提供给MMU。根据PID和扩展存储块地址查询MMU的第二页表,得到数据单元,根据逻辑地址的另一指定部分从数据单元中获取MMU输出的NVM介质的物理地址的第二部分。
依然可选地,查询第二页表的同时,根据PID和扩展存储块地址查询第二TLB。若第一TLB和第二TLB均被命中,则第一TLB输出被命中的条目的物理页地址,作为物理地址的第一部分,第二TLB输出被命中的条目的物理页地址,作为物理地址的第二部分。MMU组合NVM介质的物理地址的第一部分与NVM介质的物理地址的第二部分,以得到物理地址。
应该理解,框图和流程图的每个框以及框图和流程图的框的组合可以分别由包括计算机程序指令的各种装置来实施。这些计算机程序指令可以加载到通用计算机、专用计算机或其他可编程数据控制设备上以产生机器,从而在计算机或其他可编程数据控制设备上执行的指令创建了用于实现一个或多个流程图框中指定的功能的装置。
这些计算机程序指令还可以存储在可以引导计算机或其他可编程数据控制设备的计算机可读存储器中从而以特定方式起作用,从而能够利用存储在计算机可读存储器中的指令来制造包括用于实现一个或多个流程图框中所指定功能的计算机可读指令的制品。计算机程序指令还可以加载到计算机或其他可编程数据控制设备上以使得在计算机或其他可编程数据控制设备上执行一系列的操作操作,从而产生计算机实现的过程,进而在计算机或其他可编程数据控制设备上执行的指令提供了用于实现一个或多个流程图框中所指定功能的操作。
因而,框图和流程图的框支持用于执行指定功能的装置的组合、用于执行指定功能的操作的组合和用于执行指定功能的程序指令装置的组合。还应该理解,框图和流程图的每个框以及框图和流程图的框的组合可以由执行指定功能或操作的、基于硬件的专用计算机系统实现,或由专用硬件和计算机指令的组合实现。
虽然当前发明参考的示例被描述,其只是为了解释的目的而不是对本发明的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本发明的范围。
这些实施方式所涉及的、从上面描述和相关联的附图中呈现的教导获益的领域中的技术人员将认识到这里记载的本发明的很多修改和其他实施方式。因此,应该理解,本发明不限于公开的具体实施方式,旨在将修改和其他实施方式包括在所附权利要求书的范围内。尽管在这里采用了特定的术语,但是仅在一般意义和描述意义上使用它们并且不是为了限制的目的而使用。

Claims (10)

1.一种地址转换方法,应用于内存管理单元或地址转换装置,其特征在于,包括如下步骤:
响应于接收到IO请求,从所述IO请求中获取逻辑地址;
根据所述逻辑地址获取物理地址的第一部分;
根据所述逻辑地址获取物理地址的第二部分;
组合所述物理地址的第一部分和所述物理地址的第二部分,得到所述物理地址,其中,所述物理地址指示IO请求所访问的数据单元所使用的NVM芯片的物理地址。
2.如权利要求1所述的方法,其特征在于,将所述逻辑地址的第一部分作为进程标识符,以及将所述逻辑地址的第二部分作为虚拟页地址;
所述根据所述逻辑地址获取物理地址的第一部分,包括:
将进程标识符和虚拟页地址提供给内存管理单元;
所述内存管理单元根据进程标识符和虚拟页地址查询第一页表得到第一存储器页地址,根据第一存储器页地址与逻辑地址的第六部分得到第一存储器地址,访问第一存储器地址得到物理地址的第一部分,其中,所述逻辑地址的第六部分是指逻辑地址中指定比特,用于指示通过其与存储器页地址来获取存储器地址。
3.如权利要求2所述的方法,其特征在于,所述根据所述逻辑地址获取物理地址的第一部分,还包括:
所述内存管理单元根据进程标识符与虚拟页地址查询第一旁路转换缓存;
若进程标识符与虚拟页地址命中了所述第一旁路转换缓存,则所述第一旁路转换缓存输出第一存储器页地址,根据第一存储器页地址与逻辑地址的第六部分得到第一存储器地址,访问第一存储器地址得到物理地址的第一部分。
4.如权利要求3所述的方法,其特征在于,若所述第一旁路转换缓存被命中,则忽略从第一页表中查询得到的结果,或者终止对第一页表的查询。
5.如权利要求3或4所述的方法,其特征在于,若进程标识符和虚拟页地址未命中所述第一旁路转换缓存,所述方法包括:
将所述第一旁路转换缓存的至少一个条目写回第一页表;
从第一页表中加载同逻辑地址的进程标识符和虚拟页地址对应的条目并填充第一旁路转换缓存中的空闲条目;
所述第一旁路转换缓存输出同逻辑地址的进程标识符和虚拟页地址对应的第二物理页地址,作为所述物理地址的第一部分。
6.如权利要求2-4中任一项所述的方法,其特征在于,若进程标识符和虚拟页地址未命中第一旁路转换缓存,所述方法还包括:
将所述第一旁路转换缓存的至少一个条目写回第一页表;
从第一页表中加载同逻辑地址的进程标识符和虚拟页地址对应的条目并填充第一旁路转换缓存中的空闲条目;
所述第一旁路转换缓存输出同逻辑地址的进程标识符和虚拟页地址对应的第一存储器页地址,根据第一存储器页地址与逻辑地址的第六部分得到第一存储器地址,访问第一存储器地址得到所述物理地址的第一部分。
7.如权利要求2-4中任一项所述的方法,其特征在于,所述根据所述逻辑地址获取物理地址的第二部分,包括:
将所述逻辑地址的第七部分作为扩展存储块地址,将指定的进程标识符和扩展存储块地址提供给内存管理单元,其中,所述逻辑地址的第七部分是指逻辑地址中指定的部分,用于寻址扩展存储块的条目;
根据指定的进程标识符和扩展存储块地址从扩展存储块输出数据单元;
根据逻辑地址的第八部分从数据单元中获取所述物理地址的第二部分,其中,所述逻辑地址的第八部分是指逻辑地址中指定的部分,用于指示获取物理地址的第二部分。
8.如权利要求2-4中任一项所述的方法,其特征在于,所述根据所述逻辑地址获取物理地址的第二部分,还包括:
从所述逻辑地址提取第九部分作为扩展存储块地址,并将指定的进程标识符和扩展存储块地址提供给内存管理单元,所述逻辑地址的第九部分是指逻辑地址中指定的部分,用于寻址扩展存储块的条目;
根据指定的进程标识符和扩展存储块地址查询内存管理单元的第二页表得到数据单元;
根据逻辑地址的第十部分从数据单元中获取所述物理地址的第二部分,其中,所述逻辑地址的第十部分是指逻辑地址中指定部分,用于指示获取物理地址的第二部分。
9.一种内存管理单元,其特征在于,包括第一页表和第一旁路转换缓存,
所述第一页表的条目存储物理地址的至少部分,所述第一旁路转换缓存存储第一页表中被频繁使用的条目;其中,
响应于接收到IO请求,从所述IO请求中获取逻辑地址;
根据所述逻辑地址查询所述第一旁路转换缓存或第一页表获取物理地址的第一部分;
根据所述逻辑地址获取物理地址的第二部分;
组合所述物理地址的第一部分和所述物理地址的第二部分,得到所述物理地址,所述物理地址指示IO请求所访问的数据单元所使用的NVM芯片的物理地址。
10.一种存储设备,其特征在于,包括地址转换装置,所述地址转换装置包括基础存储块,基础存储块存储地址转换表的条目的至少部分,地址转换表的条目记录了逻辑地址与物理地址的映射关系,其中,所示地址转换装置用于将输入的逻辑地址转换为NVM芯片的物理地址;
其中,所述逻辑地址包括互不重叠的进程标识符和虚拟页地址,进程标识符用于确定基础存储块的基地址,虚拟页地址用于确定地址转换表的条目的至少部分在基础存储块内的存储位置。
CN201911291823.3A 2017-12-28 2018-04-25 存储设备的地址转换方法与设备 Active CN111061655B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2017114536395 2017-12-28
CN201711453639 2017-12-28
CN201810381624.0A CN108595349B (zh) 2017-12-28 2018-04-25 大容量存储设备的地址转换方法与装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201810381624.0A Division CN108595349B (zh) 2017-12-28 2018-04-25 大容量存储设备的地址转换方法与装置

Publications (2)

Publication Number Publication Date
CN111061655A CN111061655A (zh) 2020-04-24
CN111061655B true CN111061655B (zh) 2022-06-17

Family

ID=63609861

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810381624.0A Active CN108595349B (zh) 2017-12-28 2018-04-25 大容量存储设备的地址转换方法与装置
CN201911291823.3A Active CN111061655B (zh) 2017-12-28 2018-04-25 存储设备的地址转换方法与设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201810381624.0A Active CN108595349B (zh) 2017-12-28 2018-04-25 大容量存储设备的地址转换方法与装置

Country Status (2)

Country Link
CN (2) CN108595349B (zh)
WO (1) WO2019128200A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968525A (zh) * 2018-09-30 2020-04-07 北京忆恒创源科技有限公司 Ftl提供的缓存、其优化方法与存储设备
CN111143231B (zh) * 2018-11-02 2023-06-13 伊姆西Ip控股有限责任公司 用于数据处理的方法、设备和计算机程序产品
CN112970037B (zh) * 2018-11-06 2024-02-02 创惟科技股份有限公司 用于实施神经网络应用的多芯片系统、适用于多芯片系统的数据处理方法、和非暂时性计算机可读介质
CN113836049B (zh) * 2021-09-17 2023-08-08 海飞科(南京)信息技术有限公司 存储器访问方法和电子装置
CN116991306A (zh) * 2022-04-25 2023-11-03 深圳市江波龙电子股份有限公司 存储装置的处理方法、存储装置及计算机可读存储装置
CN115190102B (zh) * 2022-07-22 2024-04-16 北京象帝先计算技术有限公司 信息广播方法、装置、电子单元、soc及电子设备
US11989127B2 (en) 2022-09-15 2024-05-21 Western Digital Technologies, Inc. Efficient L2P DRAM for high-capacity drives

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101315602A (zh) * 2008-05-09 2008-12-03 浙江大学 硬件化的进程内存管理核的方法
CN104077176A (zh) * 2014-06-25 2014-10-01 龙芯中科技术有限公司 增加虚拟机标识符域的方法及装置
CN105283855A (zh) * 2014-04-25 2016-01-27 华为技术有限公司 一种寻址方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073044B2 (en) * 2001-03-30 2006-07-04 Intel Corporation Method and apparatus for sharing TLB entries
CN101833510B (zh) * 2010-03-29 2012-10-10 清华大学 闪存ftl的地址转换方法
CN102662860B (zh) * 2012-03-15 2015-07-01 天津国芯科技有限公司 用于进程切换的旁路转换缓冲器(tlb)及在其中地址匹配的方法
CN102662726B (zh) * 2012-04-01 2015-07-29 龙芯中科技术有限公司 虚拟机的模拟方法和计算机设备
CN103019953B (zh) * 2012-12-28 2015-06-03 华为技术有限公司 一种元数据的构建系统及其方法
CN103793651B (zh) * 2014-02-22 2016-05-25 西安电子科技大学 基于Xen虚拟化的内核完整性检测方法
CN105005510B (zh) * 2015-07-02 2018-07-17 西安交通大学 应用于固态硬盘阻变存储器缓存的纠错保护架构及方法
CN106445832A (zh) * 2016-09-06 2017-02-22 深圳市先天海量信息技术有限公司 闪存存储系统的地址映射方法及装置
CN107066393B (zh) * 2017-01-12 2020-06-09 安徽大学 提高地址映射表中映射信息密度的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101315602A (zh) * 2008-05-09 2008-12-03 浙江大学 硬件化的进程内存管理核的方法
CN105283855A (zh) * 2014-04-25 2016-01-27 华为技术有限公司 一种寻址方法及装置
CN104077176A (zh) * 2014-06-25 2014-10-01 龙芯中科技术有限公司 增加虚拟机标识符域的方法及装置

Also Published As

Publication number Publication date
CN108595349B (zh) 2020-01-31
CN108595349A (zh) 2018-09-28
CN111061655A (zh) 2020-04-24
WO2019128200A1 (zh) 2019-07-04

Similar Documents

Publication Publication Date Title
CN111061655B (zh) 存储设备的地址转换方法与设备
US10067684B2 (en) File access method and apparatus, and storage device
WO2018196839A1 (zh) 一种内存访问方法及计算机系统
CN107797759B (zh) 访问缓存信息的方法、装置与驱动器
US11237980B2 (en) File page table management technology
CN107797760B (zh) 一种访问缓存信息的方法、装置与固态驱动器
CN107870867B (zh) 32位cpu访问大于4gb内存空间的方法与装置
WO2020174428A2 (en) Cache management of logical-physical translation metadata
EP3553665A1 (en) Non-volatile memory access method, device, and system
CN108614671B (zh) 基于命名空间的键-数据访问方法与固态存储设备
CN111352865B (zh) 存储控制器的写缓存
CN110968527B (zh) Ftl提供的缓存
CN110096452B (zh) 非易失随机访问存储器及其提供方法
CN110515861B (zh) 处理刷写命令的存储设备及其方法
CN111290975A (zh) 使用统一缓存处理读命令与预读命令的方法及其存储设备
CN111290974A (zh) 用于存储设备的缓存淘汰方法与存储设备
CN109960667B (zh) 大容量固态存储设备的地址转换方法与装置
CN109840219B (zh) 大容量固态存储设备的地址转换系统与方法
CN107155306B (zh) 文件页面管理单元、处理设备和文件页面管理方法
CN110362509B (zh) 统一地址转换方法与统一地址空间
CN107870870B (zh) 访问超过地址总线宽度的内存空间
CN110968520B (zh) 基于统一缓存架构的多流存储设备
CN110532199B (zh) 预读方法及其存储控制器
US11409665B1 (en) Partial logical-to-physical (L2P) address translation table for multiple namespaces
CN117806570B (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
GR01 Patent grant
GR01 Patent grant