一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使存储器单元与主机系统解除关联的制作方法

2022-02-24 13:00:46 来源:中国专利 TAG:


1.本公开的实施例大体上涉及存储器子系统,且更确切地说涉及使存储器子系统中的存储器单元与主机系统解除关联。


背景技术:

2.存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可以利用存储器子系统在存储器装置处存储数据以及从存储器装置检索数据。


技术实现要素:

3.在一个方面中,本技术提供一种方法,其包括:从主机系统接收关于存储器子系统上的非易失性存储器装置的命令,其中所述非易失性存储器装置的一部分具有与所述主机系统的关联;确定所述命令是否为用以使所述存储器子系统上的所述非易失性存储器装置的所述部分与所述主机系统解除关联的解除关联指令;以及响应于确定所述命令为所述解除关联指令,移除所述存储器子系统上的所述非易失性存储器装置的所述部分与所述主机系统的所述关联。
4.在另一方面中,本技术进一步提供一种系统,其包括:存储器装置;以及处理装置,其以操作方式与所述存储器装置耦合以执行包括以下的操作:从主机系统接收指示逻辑地址和长度的命令;识别存储器子系统中的对应于所述逻辑地址和所述长度的一或多个存储器单元;设定与所述一或多个存储器单元相关联的指示符以指示所述一或多个存储器单元无效;以及从所述存储器子系统中执行的介质管理操作排除所述一或多个存储器单元。
5.在又一方面中,本技术进一步提供一种包括指令的非暂时性计算机可读存储介质,所述指令当由处理装置执行时致使所述处理装置执行操作,所述操作包括:从主机系统接收关于存储器子系统上的非易失性存储器装置的命令,其中所述非易失性存储器装置的一部分具有与所述主机系统的关联;确定所述命令是否为用以使所述存储器子系统上的所述非易失性存储器装置的所述部分与所述主机系统解除关联的解除关联指令;响应于确定所述命令为所述解除关联指令,移除所述存储器子系统上的所述非易失性存储器装置的所述部分与所述主机系统的所述关联。
附图说明
6.根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于特定实施例,而是仅用于阐释和理解。
7.图1示出根据本公开的一些实施例包含存储器子系统的实例计算系统。
8.图2是根据本公开的一些实施例用于移除存储器子系统上的非易失性存储器装置或易失性存储器装置的一部分与主机系统的关联的实例方法的流程图。
9.图3是根据本公开的一些实施例用于将存储器子系统上的非易失性存储器装置或
易失性存储器装置的一部分解除关联的实例方法的流程图。
10.图4是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
11.本公开的方面是针对使存储器子系统中的存储器单元与主机系统解除关联。
12.主机系统包含主存储器和辅助存储器。主存储器通常用于暂时存储数据或信息,而辅助存储器通常指代用于永久地存储数据或信息的外部存储装置。通常,当主机系统正运行应用时,将必需的应用和数据从辅助存储器复制到主存储器中。也就是说,主机系统的主存储器存储主机系统处理器正活跃地使用的数据。主机系统的主存储器是本地易失性存储器装置,例如主机系统上的dram,且可存储用于主机系统正活跃地处理的应用的数据和指令。主机系统上运行的应用可使用众所周知的编程命令在主存储器易失性装置中分配和解除分配存储器。当应用在主存储器易失性装置中解除分配存储器时,存储在所述存储器中的数据丢失。
13.一些主机系统可使用持久的非易失性存储器装置作为主存储器。非易失性存储器装置的实例为与非(nand)存储器装置和三维(3d)交叉点装置,其在下文结合图1更详细地描述。非易失性存储器装置可以是主机系统的部分和/或可以是耦合到主机系统的存储器子系统的部分。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。
14.非易失性存储器装置中的每一个可包含一或多个存储器单元阵列。存储器单元(“单元”)是存储信息的电子电路。取决于单元类型,单元可以存储二进制信息的一或多个位,且具有与正存储的位数目相关的各种逻辑状态。逻辑状态可由二进制值(例如“0”和“1”)或这些值的组合表示。可在存储器单元上执行各种存储器存取操作。数据可写入到存储器单元、从存储器单元读取以及从存储器单元擦除。存储器单元可分组到写入单元(例如页)中。对于一些类型的存储器装置,页为最小写入单元。页可含有有效数据、无效数据或无数据。无效数据是标记为过时的数据,因为所述数据的新版本存储在存储器装置上。无效数据包含先前写入但不再与有效逻辑地址(例如主机系统在物理到逻辑(p2l)映射表中所参考的逻辑地址)相关联的数据。有效数据是正存储在存储器装置上的此类数据的最新版本。不含数据的页包含先前已擦除且尚未写入到的页。
15.通常,非易失性存储器装置可在物理损耗致使非易失性存储器装置变得不可靠和发生故障之前被写入、读取和/或擦除有限次数。存储器子系统可使用介质管理操作来组织和维持非易失性存储器装置上的数据以减小损耗并改进存储器装置可靠性。介质管理操作包含读取和写入操作,其由存储器子系统控制器起始以将有效数据移动到存储器装置上的不同位置。由针对介质管理将有效数据从一个位置移动到另一位置导致的额外写入产生被称作写入放大的现象,其中物理地写入到存储器装置的实际数据量是既定写入的逻辑量的倍数。存储器子系统包含存储器子系统控制器,其可与存储器装置通信以执行例如在存储器装置处读取数据、写入数据或擦除数据等操作和其它此类操作。下文结合图1更详细地描述存储器子系统控制器。例如dram等易失性存储器装置通常不需要介质管理操作,因为数据随着存储器装置断电而丢失。
16.为了成功地执行这些介质管理操作,存储器子系统控制器跟踪记录什么数据有效
或无效。然而,传统地用于在dram主存储器装置中解除分配(且因此标记为无效)存储器的众所周知的编程命令不允许主机系统向存储器子系统控制器传达主机系统已完成使用存储在由存储器子系统控制器管理的非易失性存储器装置上的数据。因为传统dram主存储器不使用介质管理操作,所以不需要主机向存储器子系统控制器传达数据是无效的。用于dram的当前解除分配命令并不实际上将解除分配指令发射到存储器子系统控制器。因此,主机系统不需要的数据可持久地存储在正用作主存储器的非易失性存储器装置上。持久存储的数据可例如在介质管理操作期间被视为有效的,从而导致不必要的写入放大和非易失性存储器装置上的不当损耗。
17.本公开的方面通过具有可识别存储器子系统的非易失性存储器单元的存储器子系统来解决以上和其它缺陷,所述非易失性存储器单元由主机系统用作主存储器,且使存储器子系统的所识别存储器单元与主机系统解除关联。在一个实施例中,存储器单元可以是存储器页。在其它实施例中,存储器单元可以是存储器装置的某一其它片段。下文结合图1更详细地描述其它类型的片段。存储器子系统可从主机系统接收命令,且分析所述命令以识别哪些存储器单元可与主机系统解除关联。在一个实施例中,存储器子系统将所识别存储器单元标记为不再存储有效数据以使存储器单元与主机系统解除关联。下文结合图1更详细地描述用于使存储器单元解除关联的其它实施例。
18.所述命令可指定待与主机系统解除关联的存储器的地址和长度。在一实施例中,所述命令可以是被特定地设计成使存储主机系统不需要的数据的存储器单元解除关联的新命令。存储器的地址和长度可在新命令的参数中指定。
19.在替代实施例中,从主机接收的命令可以是存储器子系统可辨识为用以使存储未使用的数据的存储器单元解除关联的指令的传统写入命令。写入命令可包含逻辑地址和有效负载。存储器子系统可基于逻辑地址确定写入命令既定为用以使存储器单元解除关联的指令。存储器子系统可从有效负载识别待与主机解除关联的存储器的特定地址和长度。
20.本公开的优点包含(但不限于)改进存储器装置的性能和耐久性。使未使用的存储器单元无效可减小当执行介质管理操作时由存储器子系统控制器使用的带宽。减小包含在介质管理操作中的存储器单元的数目减少了由存储器子系统控制器执行的不必要的写入的数目,从而改进存储器装置的使用寿命。因此,本公开的方面可产生使用较少功率、性能较好且更耐久的存储器装置。最后,本公开中描述的方面可改进安全措施,因为主机系统不再需要的数据可盖写。
21.图1示出根据本公开的一些实施例包含存储器子系统110的实例计算系统100。存储器子系统110可包含例如一或多个易失性存储器装置(例如,存储装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类装置的组合等介质。
22.存储器子系统110可以是存储装置、存储器模块,或存储装置和存储器模块的组合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡,以及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so-dimm),和各种类型的非易失性双列直插式存储器模块(nvdimm)。
23.计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(iot)功能的装
置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
24.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的多个存储器子系统110。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到......”或“与......耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有中间组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
25.主机系统120可包含处理器芯片组以及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110例如将数据写入到存储器子系统110和从存储器子系统110读取数据。
26.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)、双数据速率(ddr)存储器总线、小型计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可以进一步利用nvm高速(nvm express,nvme)接口来访问存储器组件(例如,存储器装置130)。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传递控制、地址、数据以及其它信号。图1示出存储器子系统110作为实例。一般来说,主机系统120可经由相同通信连接、多个单独的通信连接和/或通信连接的组合来访问多个存储器子系统。
27.存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是(但不限于)随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
28.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器和就地写入存储器,例如三维交叉点(“3d交叉点”)存储器。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含(例如)二维nand(2d nand)和三维nand(3d nand)。
29.存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc),可每单元存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)和四层级单元(qlc),可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分,以及mlc部分、tlc部分或qlc部分。存储器装置130的存储器单元可分组为可指代用以存储数据的存储器装置的逻辑单元的页。对于一些类型的存储器(例如,nand),页可被分组以形成块。
30.尽管描述了例如非易失性存储器单元的3d交叉点阵列及nand型快闪存储器(例如,2d nand、3d nand)等非易失性存储器组件,但存储器装置130可基于任何其它类型的非
易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器,或电可擦除可编程只读存储器(eeprom)。
31.存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,和其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路和/或离散组件、缓冲存储器或其组合等硬件。硬件可包含具有用以执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或其它合适的处理器。
32.存储器子系统控制器115可包含处理器117(例如,处理装置),其被配置成执行存储在本地存储器119中的指令。在所示出的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其被配置成存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程的指令,包含处理存储器子系统110与主机系统120之间的通信。
33.在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
34.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所要访问。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名字空间)和物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收的命令转换成命令指令以访问存储器装置130,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
35.存储器子系统110还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从存储器子系统控制器115接收地址并解码所述地址以访问存储器装置130。
36.在一些实施例中,存储器装置130包含本地介质控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,执行存储器装置130上的介质管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与同一存储器装置封装内进行介质管理的本地控制器(例如,本地控制器135)组合的原始存储器装置。受管理存储器装置的实例是受管理nand(mnand)装置。
37.主机系统120可使用存储器子系统110上的一或多个非易失性存储器装置130或易
失性存储器装置140中的一或多个存储器单元作为主机系统120的主存储器。在一个实施例中,存储器单元是存储器页。在其它实施例中,存储器单元是存储器装置130或存储器装置140的某一其它片段。
38.在一些实施例中,主机系统120包含解除关联介质命令组件123。主机系统120经由解除关联介质命令组件123可将命令发送到存储器子系统110以告知存储器子系统110可作为主机系统120的主存储器解除关联的非易失性存储器装置130或易失性存储器装置140上的存储器单元。解除关联的存储器单元上的数据可从非易失性存储器装置130上执行的介质管理操作(例如,垃圾收集)排除。
39.存储器子系统110包含解除关联介质组件113,其可从主机系统接收命令且分析所述命令以识别存储器子系统110的非易失性存储器装置130和/或易失性存储器装置140的存储器单元,所述存储器单元由主机系统120用作主存储器且不再被主机系统120需要。在一些实施例中,存储器子系统控制器115包含解除关联介质组件113的至少一部分。在一些实施例中,解除关联介质组件113是主机系统110、应用或操作系统的一部分。
40.来自主机系统120的命令可以是写入命令或解除关联介质命令。解除关联介质命令是被特定地设计成使非易失性存储器装置130中的主机系统已完成使用的存储器单元解除关联的新命令。解除关联介质命令可包含在主机系统的和存储器子系统控制器的指令集架构中。
41.当命令是写入命令时,解除关联介质组件113可确定所述写入命令是用以执行写入操作的指令还是用以使存储器子系统110上的存储器单元与主机系统120解除关联的指令。写入命令可包含指令参数作为到存储器子系统110的指示符,即,指令中的写入命令用以使非易失性存储器装置130和/或易失性存储器装置140中的主机系统120不再需要的存储器单元解除关联。在一个实施例中,主机系统120在确定主机系统120不需要访问正存储于存储器子系统110中的某些数据后将写入命令与指令参数一起发送到存储器子系统110。所述指令参数可以是逻辑地址,下文中也称为“指令逻辑地址”。
42.解除关联介质组件113可从主机系统120接收逻辑地址范围。逻辑地址范围指示主机系统120可作为主存储器访问的逻辑地址。逻辑地址对应于存储器子系统110上的存储器装置130和/或存储器装置140的物理地址。
43.主机系统120可例如在系统初始化期间(例如,启动过程期间)将逻辑地址范围发射到存储器子系统110。主机系统120可按需要更新逻辑地址范围,和/或可按预定义时间表更新逻辑地址范围。替代地或另外,主机系统120可按预定义时间表,例如每隔十分钟或每隔两天,更新逻辑地址范围。
44.在一个实施例中,存储器子系统控制器115可向主机系统120请求逻辑地址范围或可请求更新的逻辑地址范围。在一个实施例中,逻辑地址范围存储在存储器(例如,图1的本地存储器119、存储器装置140或存储器装置130)中。所述范围可存储为阵列、链表、表或某一其它类型的数据结构。
45.解除关联介质组件113可使用写入命令中的指令逻辑地址和逻辑地址范围来确定写入命令是用以执行写入操作的指令还是用以使存储器单元与主机系统120解除关联的指令。下文结合图2和图3更详细地描述使用指令参数和逻辑地址范围确定写入命令是写入指令还是解除关联指令。
46.返回到图1,在确定从主机系统120接收的命令是解除关联介质命令还是既定作为用以使存储器单元与主机系统120解除关联的指令的写入命令后,解除关联介质组件113可识别存储器子系统110上的待解除关联的存储器单元。
47.命令(例如,解除关联介质命令、写入命令)可包含有效负载参数以向存储器子系统110指示哪些存储器单元正存储主机系统120已完成使用的数据。有效负载参数可包含开始逻辑地址和长度。开始逻辑地址指示存储主机系统120不再需要的数据的存储器单元的开始位置,和指示多少存储器单元待解除关联的长度。
48.解除关联介质组件113可确定与所述开始逻辑地址和所述长度相关联的存储器单元(例如,存储器页)的物理地址。解除关联介质组件113可使用逻辑到物理(l2p)映射数据结构(例如,l2p表)来例如识别与所述开始逻辑地址和长度相关联的存储器单元的物理地址。
49.解除关联介质组件113可使所识别存储器单元与主机系统120解除关联。在一个实施例中,解除关联介质组件113通过将存储器单元标记为不再存储有效数据而使存储器单元与主机系统解除关联。解除关联介质组件113可通过将与每一存储器单元相关联的指示位设定为无效来使存储器单元解除关联或失效。在另一实施例中,解除关联介质组件113通过盖写存储在所识别存储器单元中的数据来使存储器单元与主机系统120解除关联。在一些实施例中,举例来说,当使用允许就地写入的非易失性存储器装置130(例如,3d交叉点存储器装置)时,解除关联介质组件113可用默认数据集盖写存储器单元(例如,存储器页)以确保数据不再可访问。默认数据集表示用于盖写数据的随机数据。举例来说,默认数据集可以是随机生成的数据,或可以全部为零。在另一实施例中,解除关联介质组件113通过使所识别存储器单元中的数据无效并盖写所述数据来使存储器单元与主机系统解除关联。下文结合图2和图3更详细地描述使存储器单元与主机系统解除关联。
50.存储器子系统控制器115可从非易失性存储器装置130上执行的介质管理操作(例如,垃圾收集、耗损均衡)排除解除关联的存储器单元上的数据。举例来说,存储器子系统控制器115可在执行垃圾收集操作时回收解除关联的存储器页。在另一实例中,当执行耗损均衡操作时,存储器子系统控制器115可忽视解除关联的存储器页,因此避免不必要地盖写未使用的数据。下文描述关于解除关联介质组件113的操作的另外细节。
51.图2是根据本公开的一些实施例用于移除存储器子系统上的非易失性存储器装置或易失性存储器装置的一部分与主机系统的关联的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,处理装置上运行或执行的指令),或其组合。在一些实施例中,方法200由图1的解除关联介质组件113执行。虽然以特定序列或次序展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所示出的实施例仅为实例,且所示出的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非在每个实施例中需要所有的过程。其它过程流程是可能的。
52.在操作210处,处理逻辑从主机系统接收关于存储器子系统上的非易失性存储器装置的命令。非易失性存储器装置的一部分具有与主机系统的关联。所述部分可以是一或多个存储器单元。处理逻辑可接收多个此类命令,且可将其存储在队列中等待后续执行。
53.在操作220处,处理逻辑识别命令的命令类型。命令类型可以是写入命令或解除关
联介质命令。命令可包含逻辑地址和有效负载。
54.在操作230处,处理逻辑基于命令类型确定命令是否为用以使存储器子系统上的非易失性存储器装置的所述部分与主机系统解除关联的解除关联指令。
55.如果处理逻辑识别(在操作220处)命令类型为解除关联介质命令,则处理逻辑在操作230处确定命令为解除关联指令,且在操作250处移除存储器子系统上的非易失性存储器装置的所述部分与主机系统的关联。下文结合图3更详细地描述移除所述关联。
56.如果处理逻辑识别(在操作220处)命令类型为写入命令,则处理逻辑将写入命令中指定的逻辑地址与逻辑地址范围进行比较。如果写入命令中指定的逻辑地址在逻辑地址范围内,则处理逻辑确定写入命令不是解除关联指令且是用以将数据写入到非易失性存储器装置的指令。在操作240处,处理逻辑执行写入操作。所述命令可包含有效负载。有效负载可包含用户数据,例如一或多个参数,且通常与写入请求中的控制信息(例如,第一逻辑地址)分离。处理逻辑通过将有效负载中的用户数据写入到存储器子系统中的存储器装置来执行写入命令。处理逻辑可通过将写入命令中指定的逻辑地址映射到有效负载保存到的存储器单元的物理地址来更新l2p映射数据结构(例如,l2p表)。
57.如果写入命令中指定的逻辑地址在逻辑地址范围外部,则处理逻辑确定(在操作230处)写入命令是解除关联指令,且在操作250处,移除存储器子系统上的非易失性存储器装置的所述部分与主机系统的关联。下文结合图3更详细地描述移除所述关联。
58.处理逻辑可从存储器子系统中执行的例如垃圾收集和/或耗损均衡等介质管理操作排除所述一或多个存储器单元。举例来说,处理逻辑可起始介质管理操作,且检查与存储器单元相关联的指示符以确定存储器单元正存储有效数据还是无效数据。如果存储器单元不在存储有效数据,则处理逻辑可从例如垃圾收集和/或耗损均衡等介质管理操作排除所述存储器单元。
59.图3是根据本公开的一些实施例用于将存储器子系统上的非易失性存储器装置或易失性存储器装置的一部分与主机系统解除关联的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300由图1的解除关联介质组件113执行。虽然以特定序列或次序展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所示出的实施例仅为实例,且所示出的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非在每个实施例中需要所有的过程。其它过程流程是可能的。
60.在操作310处,处理逻辑识别开始逻辑地址和长度参数。处理逻辑可从命令中的有效负载识别开始逻辑地址和长度参数。开始逻辑地址和长度可表示待与主机系统解除关联的数据的位置。开始逻辑地址可指示存储器子系统中的存储不再被主机需要的数据的存储器单元的开始地址,且长度可指示不再需要的数据的量。
61.在操作320处,处理逻辑识别对应于开始逻辑地址和长度参数的一或多个存储器单元。处理逻辑可确定对应于开始逻辑地址的物理地址,且可识别对应于物理地址和长度的所述一或多个存储器单元。处理逻辑可使用开始逻辑地址和长度参数以及逻辑到物理映射结构(例如,l2p表)来确定物理地址。处理逻辑确定对应于开始逻辑地址的物理地址,实质上将开始逻辑地址转译为物理地址。处理逻辑使用长度参数来识别对应于物理地址的所
述一或多个存储器单元。
62.在操作330处,处理逻辑使存储器单元与主机系统解除关联。在一个实施例中,处理逻辑通过使对应于开始逻辑地址和长度参数的所述一或多个存储器单元上存储的数据无效来使存储器单元解除关联。在另一实施例中,处理逻辑通过盖写对应于开始逻辑地址和长度参数的所述一或多个存储器单元上存储的数据来使存储器单元解除关联。在另一实施例中,处理逻辑使对应于开始逻辑地址和长度参数的所述一或多个存储器单元上存储的数据无效且盖写数据。
63.处理逻辑可设定与所述一或多个存储器单元相关联的指示符以指示存储在所述一或多个存储器单元中的数据无效。指示符可存储位值,其可为例如0或1,从而指示相应存储器单元(例如,存储器页)是否含有有效数据。位指示符可以是作为存储器单元(例如,存储器页)的一部分的元数据。替代地或另外,每一存储器单元(例如,页)的位指示符可存储在单独的数据结构(例如,表、列表等)中且由存储器单元参考。
64.处理逻辑可基于从主机系统接收的信息调整位指示符的值。如果位指示符被设定为有效,则相应的存储器单元(例如,存储器页)可被认为在存储器子系统的例如垃圾收集或耗损均衡等介质管理操作期间存储有效数据。如果位指示符被设定为无效,则相应存储器单元(例如,存储器页)可被认为在存储器子系统的介质管理操作期间存储无效数据。
65.举例来说,在垃圾收集期间,存储器子系统控制器可保存具有设定为有效的相应位指示符的存储器页,且可回收具有设定为无效的相应位指示符的存储器页。使含有不再被主机系统需要的数据的存储器单元无效可减少总体写入放大,因为存储器子系统控制器将不再在垃圾收集期间复制和保存未使用的数据。此外,在耗损均衡期间,存储器子系统控制器可再分布具有设定为有效的相应位指示符的存储器单元。将位指示符设定为无效向存储器子系统控制器指示相应存储器单元可任意地被擦除和/或盖写。
66.图4示出计算机系统400的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统400可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,以执行操作系统来执行对应于图1的解除关联介质组件113的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础架构或环境中的服务器或客户端机器在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
67.所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(循序或以其它方式)指定待由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述机器个别地或联合地执行指令的集合(或多个集合)以执行本文中所论述的方法中的任何一或多种。
68.实例计算机系统400包含处理装置402、主存储器404(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rdram等)、静态存储器406(例如,快闪存储器、静态随机存取存储器(sram)等)以及数据存储系统418,它们经由总线430彼此通信。
69.处理装置402表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置402也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置402被配置成执行用于执行本文中所论述的操作和步骤的指令426。计算机系统400可进一步包含网络接口装置408以在网络420上通信。
70.数据存储系统418可以包含机器可读存储介质424(也称为计算机可读介质),其上存储有一或多个指令集426或体现本文中所描述的任何一或多种方法或功能的软件。指令426还可在其由计算机系统400执行期间完全或至少部分地驻留在主存储器404内和/或处理装置402内,主存储器404和处理装置402也构成机器可读存储介质。机器可读存储介质424、数据存储系统418和/或主存储器404可对应于图1的存储器子系统110。
71.在一个实施例中,指令426包含用以实施对应于解除关联介质组件(例如,图1的解除关联介质组件113)的功能性的指令。虽然机器可读存储介质424在实例实施例中展示为单个介质,但术语“机器可读存储介质”应被认为包含存储所述一或多个指令集的单个介质或多个介质。术语“机器可读存储介质”还应被认为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一种或多种的任何介质。术语“机器可读存储介质”应相应地被理解为包含(但不限于)固态存储器、光学介质和磁性介质。
72.已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在这里并且通常被认为是引起所要结果的操作的自洽序列。操作为要求对物理量进行物理操纵的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操纵的电或磁信号的形式。主要出于常见使用的原因,有时将此些信号称为位、值、要素、符号、字符、项、数字等已证实是方便的。
73.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便的标签。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
74.本发明还涉及用于执行本文中的操作的设备。此设备可以出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储介质中,例如(但不限于)任何类型的盘(包含软盘、光盘、cd-rom和磁光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的介质,它们各自耦合到计算机系统总线。
75.本文中呈现的算法和显示并不与任何特定计算机或其它设备在本质上相关。各种通用系统可根据本文中的教示与程序一起使用,或可证明构造更专用的设备来执行所述方法是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用多种编程语言来实施本文中所描述的本公开的教示。
76.本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有指令的机器
可读介质,所述指令可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读介质包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光学存储介质、快闪存储器组件等。
77.在前述说明书中,已参考本公开的特定实例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开作出各种修改。因此,说明书和图式应在说明性意义上而非限制性意义上看待。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献