首页> 中国专利> 存储器子系统中的逻辑到物理页转译中的相干性问题解决方案

存储器子系统中的逻辑到物理页转译中的相干性问题解决方案

摘要

本申请案涉及存储器子系统中的逻辑到物理页转译中的相干性问题解决方案。接收将数据编程到存储器子系统的存储器装置的写入请求。产生数据结构的中间条目,所述中间条目包含识别与对应于所述写入请求的中间写入操作相关联的写入缓冲器的指针。接收从所述存储器装置读取所述数据的读取请求,且执行对所述数据结构的查找操作以识别所述中间条目。使用所述指针来定位与所述中间写入操作相关联的所述写入缓冲器。将所述写入缓冲器复制到与所述读取请求相关联的读取缓冲器,且使用所述读取缓冲器执行所述读取请求。

著录项

  • 公开/公告号CN113064548A

    专利类型发明专利

  • 公开/公告日2021-07-02

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN202011478148.8

  • 发明设计人 许鹏;吴建刚;李云;

    申请日2020-12-15

  • 分类号G06F3/06(20060101);G06F12/02(20060101);G06F12/1009(20160101);G06F12/10(20160101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 11:42:32

说明书

技术领域

本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及存储器子系统中的逻辑到物理页转译中的相干性问题解决方案。

背景技术

存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。

发明内容

根据本申请案的一方面,提供一种方法。所述方法包括:由处理装置接收将数据编程到存储器子系统的存储器装置的写入请求;产生数据结构的中间条目,所述中间条目包含识别与对应于所述写入请求的中间写入操作相关联的写入缓冲器的指针;接收从所述存储器装置读取所述数据的读取请求;执行对所述数据结构的查找操作以识别所述中间条目;使用所述指针来定位与所述中间写入操作相关联的所述写入缓冲器;将所述写入缓冲器复制到与所述读取请求相关联的读取缓冲器;以及使用所述读取缓冲器执行所述读取请求。

根据本申请案的另一方面,提供一种包括指令的非暂时性计算机可读介质。所述指令在由处理装置执行时使所述处理装置执行包括以下各项的操作:从主机系统接收将数据编程到存储器子系统的存储器装置的写入请求;产生数据结构的中间条目,所述中间条目包含识别与对应于所述写入请求的中间写入操作相关联的写入缓冲器的指针;从所述主机系统接收从所述存储器装置读取所述数据的读取请求,以及使用所述指针来定位与所述中间写入操作相关联的所述写入缓冲器。

根据本申请案的又一方面,提供一种系统。所述系统包括:存储器装置;以及处理装置,其以操作方式与所述存储器装置耦合以进行以下操作:接收将数据编程到所述存储器装置的写入请求;产生数据结构的中间条目,所述中间条目包含识别与对应于所述写入请求的中间写入操作相关联的写入缓冲器的指针;接收从所述存储器装置读取所述数据的读取请求;执行对所述数据结构的查找操作以识别所述中间条目;使用所述指针来定位与所述中间写入操作相关联的所述写入缓冲器;将所述写入缓冲器复制到与所述读取请求相关联的读取缓冲器;以及使用所述读取缓冲器执行所述读取请求。

附图说明

根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,附图不应视为将本公开限制于具体实施例,而是仅用于解释和理解。

图1图解说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。

图2是根据一些实施例的管理包含与中间写入操作相关联的条目的数据结构的实例方法的流程图。

图3是实例方法的流程图是根据一些实施例的管理包含与中间写入操作相关联的条目的数据结构的实例方法的流程图。

图4图解说明根据一些实施例的管理包含与中间写入操作相关联的中间条目的数据结构的实例映射转译组件。

图5是本公开的实施方案可在其中操作的实例计算机系统的框图。

具体实施方式

本公开的方面是针对存储器子系统中的逻辑到物理页更新中的相干性问题解决方案。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可以提供数据以存储在存储器子系统处并且可以请求从存储器子系统检索数据。

在存储器子系统中,存储器子系统控制器维持对应于存储器装置的逻辑块的逻辑地址范围与存储器装置的存储器单元的物理地址范围之间的映射信息(也被称作“逻辑到物理(L2P)映射数据结构)。对于某些存储器子系统(例如,固态装置(SSD)),使用专用模块(例如,快闪转译层(FTL)模块)来管理逻辑到物理地址转译。在一些情况下,与将数据写入到目标存储器装置(例如,大转译单元(LTU))的物理地址的写入操作相关联的逻辑地址的转译是在已用目标存储器装置的物理地址更新L2P表之后但在数据完全写入到存储器子系统的存储器装置中之前的间隔期间发生。因此,由于已用目标存储器装置的物理地址更新L2P表,因此读取存储于目标存储器装置处的数据的后续读取命令致使控制器在写入操作完成之前读取目标存储器装置。因此,由于L2P表与目标存储器装置之间缺乏相干性,读取操作失败。常规存储器子系统尝试通过在存储器子系统中实施单独模块以管理散列表来执行查找操作以确定前一写入操作是否完成,来解决相干性问题。传统的存储器子系统还可以采用相干性检查器来搜索未解决的写入操作,以阻挡或禁止遵循在写入操作之前结束的读取操作的识别。然而,使用额外模块和对应相干性相关处理引入了额外循环和硬件复杂性,这不利地影响存储器子系统的性能。

本公开的方面通过具有存储器子系统来解决上述和其它缺陷,所述存储器子系统实施和管理包含与中间或处理中写入操作相关的条目的数据结构以解决与处理对应于中间写入操作的后续读取命令相关联的相干性问题。确切地说,数据结构(也被称作“中间数据结构或“中间L2P表”)可包含条目(也被称作“中间条目”或“中间L2P条目”),所述条目记录识别与中间(例如,处理中)写入操作相关联的物理地址的信息以及识别与中间写入操作相关联的写入缓冲器(例如,存储于数据高速缓冲存储器中)的指针(例如,未完成的写入操作,使得数据尚未写入到存储器子系统的物理介质中的目标存储器装置)。在接收到读取命令之后,控制器即刻使用数据结构执行查找操作以识别对应中间条目。控制器检索中间条目且使用存储的指针来定位包含与中间写入操作相关联的数据的写入缓冲器(例如,高速缓冲存储器中的地址)。控制器将写入缓冲器复制到读取缓冲器且服务于接收的读取命令。使用存储于经更新读取缓冲器中的数据来服务于读取命令。

本公开的优点包含但不限于产生数据结构中的中间条目以解决与对应于中间写入命令的读取命令相关联的相干性问题。通过将包含指针的中间条目存储到与对应于中间写入请求的写入缓冲器相关联的高速缓冲存储器地址而优化数据结构。有利的是,可通过将写入缓冲器的内容复制到对应于读取请求的读取缓冲器来服务于在写入命令处于过程中(即,尚未完成)的同时从主机系统接收的后续读取请求。在如此操作时,避免了与涉及使用常规L2P数据结构来服务于对应于中间写入操作的读取请求的前述相干性问题相关联的读取请求执行失败。

图1图解说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含介质,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或这些的组合。

存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、安全数字(SD)卡、通用快闪存储(UFS)驱动器,和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。

计算系统100可为计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。

计算系统100可包含主机系统120,所述主机系统耦合到一或多个存储器子系统110。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1图解说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文所使用,“耦合到”或“与耦合”大体上指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,无介入组件),无论是有线还是无线的,包含例如电学、光学、磁性及类似方式的连接。

主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓冲存储器、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。

主机系统120可以是计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可以进一步利用NVM快速(NVMe)接口存取存储器组件(例如存储器装置130)。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传送控制、地址、数据以及其它信号。

存储器装置可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。

非易失性存储器装置(例如,存储器装置130)的一些实例包含“与非”(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪存储器的存储器对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。

存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单电平单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多电平单元(MLC)、三电平单元(TLC)和四电平单元(QLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,以及MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可分组为页,页可指用以存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可分组以形成块。

尽管描述了例如3D交叉点型和NAND型快闪存储器的非易失性存储器组件,但是存储器装置130可以基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电随机存取存储器(FeRAM)、磁性随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)。

存储器子系统控制器115(或简称为控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,及其它这类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑以执行本文所描述的操作的数字电路。存储器子系统控制器115可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。

存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令的处理器117(例如,处理装置)。在所说明实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程,包含处置存储器子系统110与主机系统120之间的通信。

在一些实施例中,本地存储器119可以包含存储器寄存器,其存储存储器指针、获取的数据等。本地存储器119还可以包含用于存储微码的只读存储器(ROM)。虽然在图1中的实例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一个实施例中,存储器子系统110不包含存储器子系统控制器115,且可改为依赖于外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。

通常,存储器子系统控制器115可从主机系统120接收命令或操作且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作、以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名称空间)与物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可以包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130的高速缓冲存储器或缓冲器(例如,DRAM)和地址电路(例如,行解码器和列解码器)。

在一些实施例中,存储器装置130包含与存储器子系统控制器115结合操作以对存储器装置130的一或多个存储器单元执行操作的本地介质控制器135。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行介质管理操作)。在一些实施例中,存储器装置130可以是受管理存储器装置,其为与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行介质管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。

存储器子系统110包含映射转译组件113,其可用以管理包含使存储器子系统的逻辑地址和物理地址关联的映射信息的数据结构。在一些实施例中,存储器子系统控制器115包含映射转译组件113的至少一部分。举例来说,存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令以执行本文所描述的操作的处理器117(处理装置)。在一些实施例中,映射转译组件113是主机系统120、应用程序或操作系统的部分。在相同或替代实施例中,映射转译组件113的部分是主机系统120的部分,而映射转译组件113的其它部分是在存储器子系统控制器115处执行。

映射转译组件113可用以管理包含与存储器子系统相关联的逻辑地址到物理地址映射信息的数据结构(例如,表)。在一实施例中,映射转译组件113产生条目(也被称作“中间条目”)以用于包含在包含与L2P映射相关联的额外信息(也被称作“中间信息”)的数据结构(也被称作“L2P表”或“L2P映射数据结构”)中。在一实施例中,响应于从主机系统120接收到将数据写入到存储器子系统110的存储器装置140的存储器装置的写入请求,映射转译组件113产生中间条目且将中间条目存储于L2P表中。中间条目包含识别与处理中写入请求相关联的写入缓冲器地址(例如,高速缓冲存储器中的位置)的识别符(本文称为“指针”)。在一实施例中,处理中写入操作包含在其待决时(即,在介质写入完成之前)的所请求写入操作。

响应于接收到读取处理中写入操作的数据的后续请求,映射转译组件113使用L2P数据结构执行查找操作以识别对应中间条目。使用在中间条目中识别的指针,映射转译组件113定位存储与处理中写入操作相关联的数据的写入缓冲器。映射转译组件113将写入缓冲器复制到与读取请求相关联的读取缓冲器,且从读取缓冲器服务于读取请求。L2P数据结构中的中间条目的使用解决了常规L2P映射技术中产生的相干性问题。下文描述关于映射转译组件113的操作的其它细节。

图2是根据一些实施例的产生用于服务于对应于中间或处理中写入操作的读取请求的数据结构的条目的实例方法200的流程图。方法200可由可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法200由图1的映射转译组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理程序的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。

如图2所示,在操作210,处理逻辑接收将数据编程到存储器子系统的存储器装置的写入请求。在一实施例中,写入请求是从主机系统接收的且识别与编程操作相关联的逻辑块地址。处理逻辑维持经配置以将逻辑地址范围映射到存储器子系统的对应物理地址范围的数据结构(也被称作“L2P映射数据结构”或“L2P表”)。

在操作220,处理逻辑产生数据结构的中间条目,所述中间条目包含识别与对应于写入请求的中间写入操作相关联的写入缓冲器的指针。在一实施例中,中间条目是L2P映射数据结构中的条目。在一实施例中,中间条目识别在其写入操作的待决期间存储与中间或处理中写入操作相关联的数据的写入缓冲器的地址(例如,在写入操作已完成且对应数据已写入到存储器子系统的目标物理位置之前。在一实施例中,中间条目包含指针(例如,包含对应于存储与中间写入操作相关联的数据的写入缓冲器的地址的标签或其它识别符)。在一实施例中,指针可以包含系统管理的标签(也被称作“systag”),其具有可用以存储识别中间写入操作的信息的一或多个额外位。在一实施例中,指针识别存储与中间写入操作相关联的数据的高速缓冲存储器中的写入缓冲器地址。

在一实施例中,数据结构可包含正常或标准条目。标准条目可与处理中写入请求中未涉及的存储器位置相关。标准条目(也被称作“标准L2P条目”)可包含与逻辑地址到物理地址相关的映射转译信息,包含逻辑块地址标头、逻辑块地址标头的计划编号、逻辑单元编号(LUN)以及物理块地址信息(例如,页和块识别符)。在一实施例中,在接收到写入请求之后,处理逻辑即刻可检查数据结构中的对应条目是标准条目还是中间条目(即,与中间写入操作相关联)。在一实施例中,处理逻辑可识别对应于写入请求的条目是标准条目,产生中间条目,且将中间条目存储于数据结构中。在一实施例中,处理逻辑可识别对应于写入请求的条目是中间条目(例如,条目与另一中间写入操作相关),处理逻辑可用与在操作210中接收的写入请求相关联的经更新指针替换当前中间条目的指针。

在操作230中,处理逻辑接收从存储器装置读取数据的读取请求。在一实施例中,读取请求是从主机系统接收的且包含从目标存储器装置读取数据的请求。在一实施例中,读取请求包含识别待读取的存储器子系统的物理地址的信息。

在操作240中,处理逻辑执行对数据结构的查找操作以识别中间条目。在一实施例中,处理逻辑使用物理地址信息来识别对应中间条目。

在操作250中,处理逻辑使用指针来定位与中间写入操作相关联的写入缓冲器。如上文所描述,中间条目包含指针信息,所述指针信息可用以识别包含与中间写入操作相关联的数据的写入缓冲器的位置。在一实施例中,使用指针,处理逻辑可确定写入缓冲器是否是有效的。如果写入缓冲器不是有效的,那么处理逻辑确定从写入缓冲器到目标存储器装置的传送完成(即,写入缓冲器已被释放)。在此情况下,处理逻辑可使用存储于数据结构中的物理地址信息且执行读取操作。

在操作260中,处理逻辑将写入缓冲器复制到与读取请求相关联的读取缓冲器。在操作270中,处理逻辑使用读取缓冲器执行读取请求。在一实施例中,使用读取缓冲器服务于读取请求,所述读取缓冲器含有在操作260中从写入缓冲器复制的内容。有利的是,处理逻辑可服务于对应于经受中间写入操作的数据的读取请求。

图3是根据一些实施例的管理包含对应于中间或处理中写入操作的中间条目的数据结构的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法300由图1的映射转译组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理程序的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。

如图3所示,在操作310,处理逻辑接收将数据编程到存储器子系统的存储器装置的写入请求。在一实施例中,写入请求包含将写入到存储器子系统的物理位置(例如,一或多个存储器装置)的数据。

在操作320中,处理逻辑识别与写入请求相关联的数据结构的条目。在一实施例中,处理逻辑使用从接收自主机系统的写入请求识别的逻辑块地址识别条目。在一实施例中,处理逻辑可将条目识别为标准条目(例如,条目不包含具有到中间写入操作的指针的中间条目)。在一实施例中,处理逻辑可确定数据结构中的对应条目是中间条目(例如,第一中间条目),且用与新写入请求相关联的经更新指针替换第一中间条目的指针信息(即,产生第二中间条目来替换第一中间条目)。

在操作330中,处理逻辑将数据结构更新为包含中间条目,所述中间条目包含识别与中间写入操作相关联的写入缓冲器的指针。在一实施例中,在操作320中,处理逻辑响应于将对应条目识别为标准条目而在数据结构中存储中间条目。

在操作340中,处理逻辑将写入请求提交到存储器装置(例如,将写入请求提交到后端以用于完成编程操作)。在一实施例中,写入请求到后端的提交包含写入缓冲器到物理存储器装置的传送。

在操作350中,在写入缓冲器到存储器装置的传送完成之后,处理装置即刻释放写入缓冲器且在存储写入缓冲器的高速缓冲存储器中将指针标示为无效的。

在操作360中,在中间写入操作完成之后,处理装置即刻用存储器装置的物理地址更新条目且从中间条目释放指针。在一实施例中,当编程操作完成时,如果中间条目中存储的指针匹配,那么用物理地址更新中间条目,进而将中间条目转换为标准条目(例如,不具有到中间写入操作的指针的条目)。在一实施例中,处理逻辑可减小存储于中间条目中的存储器块编号的有效页计数(VPC),且增加新块(例如,与完成的写入操作相关联的块)的VPC。在一实施例中,如果中间条目中存储的指针不匹配,那么处理逻辑可确定逻辑块由另一操作覆写,且确定映射信息无效。在一实施例中,如果条目不是中间条目,那么处理逻辑可鉴于存储于数据结构的标准条目中的有效映射信息而确定映射信息无效。

图4图解说明根据实施例的由映射转译组件113管理的实例数据结构400。如图4中所示出,映射转译组件113经配置以从主机系统120接收第一写入请求。第一写入请求包含执行写入操作以将数据编程到存储器子系统的物理页的指令。写入请求识别与存储器子系统的一或多个逻辑块相关联的逻辑块地址。映射转译组件113采用数据结构400将逻辑块地址转译为对应物理块地址。为了使映射转译组件113能够在写入操作的待决期间监视对应于第一写入请求的中间写入操作,映射转译组件113产生中间条目415且将其存储于数据结构400中。中间条目415包含识别与中间写入操作相关联的写入缓冲器454的高速缓冲存储器450中的地址的指针或其它识别符。在一实施例中,指针是系统管理标签(或“systag”)编号,其包含一或多个位以识别包含与中间写入操作相关联的数据的写入缓冲器的位置。

在一实施例中,在从主机系统120接收到第二读取请求之后,映射转译组件113即刻执行查找操作以识别数据结构400中的对应条目。写入请求称为“第一”是因为其在“第二”读取请求前面。在一实施例中,第二读取请求识别与第一写入请求相关联的逻辑块地址。在一实施例中,由于存在与所识别逻辑块地址相关联的中间写入操作,因此映射转译组件113识别与中间写入操作相关联的所存储指针。在一实施例中,存储于数据结构400中的物理块地址条目可识别物理块地址是“待决”的,以向映射转译组件413用信号表示数据尚未写入到存储器子系统的物理存储器装置。如图4中所示出,指针表452(或其它数据结构)可存储于高速缓冲存储器450中且包含与每一中间写入操作相关联的指针信息。

在一实施例中,使用指针,映射转译组件113使用指针识别高速缓冲存储器450中的写入缓冲器454。映射转译组件113将写入缓冲器454复制到对应于第二读取请求的读取缓冲器456。映射转译组件113使用存储于读取缓冲器464中的数据服务于第二读取请求。在一实施例中,响应于第一写入请求传送到存储器子系统的物理存储器,映射转译组件113可释放写入缓冲器454,且在指针表452中将写入缓冲器454标注、加标签或标记为“无效”。在一实施例中,在写入操作完成之后,映射转译组件113可即刻确定存储于中间条目415中的指针匹配存储于指针表452中的指针信息,且用对应于经编程数据的物理地址更新数据结构400中的物理块地址条目。

在一实施例中,如果在写入操作完成之后,映射转译组件113即刻确定存储于中间条目415中的指针不匹配存储于指针表452中的指针信息,那么映射转译组件113确定逻辑块已由另一操作覆写,并且因此映射信息是无效的。

图5图解说明计算机系统500的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120),或可用以执行控制器的操作(例如,执行操作系统以执行对应于图1的映射转译组件113的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。

机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥、数字或非数字电路系统,或能够执行指定要由此机器进行的动作的指令集(顺序的或以其它方式)的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种。

实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),及数据存储系统518,它们经由总线530彼此通信。

处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502经配置以执行指令526以用于执行本文所论述的操作和步骤。计算机系统500可进一步包含网络接口装置508以在网络520上通信。

数据存储系统518可包含机器可读存储介质524(也称为计算机可读介质),其上存储有一或多个指令集526或体现本文中所描述的任何一或多种方法或功能的软件。指令526还可在其由计算机系统500执行期间完全或至少部分地驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储介质。机器可读存储介质524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。

在一个实施例中,指令526包含实施对应于映射转译组件(例如,图1的映射转译组件113)的功能性的指令。尽管在实例实施例中将机器可读存储介质524展示为单个介质,但术语“机器可读存储介质”应被认为包含存储一组或多组指令的单个介质或多个介质。术语“机器可读存储介质”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何介质。因此,应认为术语“机器可读存储介质”包含但不限于固态存储器、光学介质以及磁性介质。

已关于计算机存储器内的数据位的操作的算法和符号表示而呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是产生期望的结果的操作的自洽序列。操作是要求对物理量进行物理控制的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数目或类似物是方便的。

然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储介质中,如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的介质,它们各自耦合到计算机系统总线。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。此外,并不参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施本文中所描述的本公开的教示。

本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读介质。机器可读介质包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光学存储介质、快闪存储器组件等。

在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号