CN113946283A - 存储器装置的分区命名空间中的部分区存储器单元处置 - Google Patents
存储器装置的分区命名空间中的部分区存储器单元处置 Download PDFInfo
- Publication number
- CN113946283A CN113946283A CN202110806082.9A CN202110806082A CN113946283A CN 113946283 A CN113946283 A CN 113946283A CN 202110806082 A CN202110806082 A CN 202110806082A CN 113946283 A CN113946283 A CN 113946283A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- zone
- partitioned
- memory cells
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 486
- 238000005192 partition Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 54
- 238000000034 method Methods 0.000 claims description 44
- 230000001808 coupling effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本申请案涉及存储器装置的分区命名空间中的部分区存储器单元处置。接收执行写入操作以在经配置有具有多个区的分区命名空间的存储器装置处写入数据的请求。所述数据与所述存储器装置的所述多个区中的区相关联。将所述数据存储在所述存储器装置的未分区存储器区域的未分区存储器单元处。确定存储在所述未分区存储器单元处且与所述区相关联的数据量是否满足阈值条件。响应于确定存储在所述未分区存储器单元处且与所述区相关联的所述数据满足所述阈值条件,将所述数据从所述未分区存储器单元写入到所述区的区存储器单元。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更明确来说,涉及处置存储器子系统中的存储器装置的分区命名空间中的部分区存储器单元。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据写入在存储器装置处及从所述存储器装置检索数据。
发明内容
根据本申请案的方面,提供一种方法。所述方法包括:接收执行写入操作以在经配置有具有多个区的分区命名空间的存储器装置处写入数据的请求,其中所述数据与所述存储器装置的所述多个区中的区相关联;将所述数据存储在所述存储器装置的未分区存储器区域的未分区存储器单元处;确定存储在所述未分区存储器单元处且与所述区相关联的数据量是否满足阈值条件;及响应于确定存储在所述未分区存储器单元处且与所述区相关联的所述数据满足所述阈值条件,将所述数据从所述未分区存储器单元写入到所述区的区存储器单元。
根据本申请案的另一方面,提供一种方法。所述方法包括:接收执行写入操作以在经配置有具有多个区的分区命名空间的存储器装置处写入数据的请求,其中所述数据与所述存储器装置的所述多个区中的区相关联;将所述数据存储在所述多个区中的所述区的区存储器单元处;响应于确定所述区存储器单元包括被部分写入的区存储器单元,确定所述数据存储在所述区的所述区存储器单元处的时间量是否满足阈值条件;及响应于确定存储在所述区的所述区存储器单元处的所述数据满足所述阈值条件,将所述数据从所述被部分写入的区存储器单元写入到与所述区相关联的所述存储器装置的所述未分区存储器区域的未分区存储器单元。
根据本申请案的又另一方面,提供一种系统。所述系统包括:存储器装置;及处理装置,其可操作地与所述存储器装置耦合,以执行包括以下各者的操作:接收执行写入操作以在经配置有具有多个区的分区命名空间的所述存储器装置处写入数据的请求,其中所述数据与所述存储器装置的所述多个区中的区相关联;将所述数据存储在所述存储器装置的未分区存储器区域的未分区存储器单元处;确定存储在所述未分区存储器单元处且与所述区相关联的数据量是否满足阈值条件;及响应于确定存储在所述未分区存储器单元处且与所述区相关联的所述数据满足所述阈值条件,将所述数据从所述未分区存储器单元写入到所述区的区存储器单元。
附图说明
从下文给出的详细描述及从本公开的各个实施例的附图将更加完全地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2说明根据本公开的实施例的分区命名空间及未分区存储器区域的存储器单元。
图3是根据本公开的一些实施例的处置存储器子系统中的存储器装置的分区命名空间中的部分区存储器单元的实例方法的流程图。
图4是根据本公开的一些实施例的处置存储器子系统中的存储器装置的分区命名空间中的部分区存储器单元的实例方法的流程图。
图5是本公开的实施例可操作于其中的实例计算机系统的框图。
具体实施方式
本公开的方面涉及处置存储器子系统中的存储器装置的分区命名空间中的部分存储器单元。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含例如存储数据的存储器装置的一或多个组件的存储器子系统。主机系统可提供将存储在存储器子系统处的数据且可请求将从存储器子系统检索的数据。
存储器子系统可包含高密度非易失性存储器装置,其中希望在没有电力供应到存储器装置时保留数据。非易失性存储器装置的一个实例是“与非”(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。针对一些类型的非易失性存储器装置(例如NAND装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器单元(“单元”)组成。单元是存储信息的电子电路。取决于单元类型,单元可存储一或多个二进制信息位,且具有与被存储的位的数目相关的各种逻辑状态。所述逻辑状态可由例如“0”及“1”或此类值的组合的二进制值表示。
存储器装置可由布置成二维网格的位组成。存储器单元以列(下文也称为位线)及行(下文也称为字线)的阵列被蚀刻到硅晶片上。字线可涉及存储器装置的存储器单元的一或多个行,其与一或多个位线一起用于产生存储器单元中的每一者的地址。位线与字线的相交点构成存储器单元的地址。块在下文指代用于存储数据的存储器装置的单位且可包含一群组存储器单元、字线群组、字线或个别存储器单元。一或多个块可分组在一起以形成存储器装置的平面以便允许并发操作发生在每一平面上。存储器装置可包含执行两个或更多个存储器平面的并发存储器页面存取的电路系统。举例来说,存储器装置可包含用于存储器装置的每一平面的相应存取线驱动器电路及电力电路以促进两个或更多个存储器平面的页面(包含不同页面类型)的并发存取。
特定存储器装置还经配置有分区命名空间。在分区命名空间中,存储器装置(或存储器子系统)的地址空间(例如逻辑块地址空间)被划分成几个区,这允许随着存储器装置的容量增加更高效地管理数据。举例来说,每一个别区可经指定以被由能存取存储器装置的主机系统或某种其它系统执行的特定客户端应用程序使用。在存储器装置或存储器子系统中,可实施一或多个分区命名空间,且每一分区命名空间可实施一或多个区。区可包含多个区存储器单元。每一区可使用存储器装置或存储器子系统的地址空间的一部分来寻址。数据可循序地且独立于其它区被写入到特定区。
如本文中使用,存储器单元(unit)可指代平面、块、页面、单元(cell)、区或任何其它存储器区段或单元。被部分写入的存储器单元(本文中也称为“部分存储器单元”)(例如被部分写入的区存储器单元)是尚未被完全写入的存储器单元。举例来说,如果在写入到块之后所述块的一或多个页面保持未写入,那么存储器单元(例如块)可被部分写入。当存储器单元被完全写入时,可关闭存储器单元。举例来说,在关闭的块中,包含最后的页面的所有页面都已被写入。当存储器单元被部分写入时,存储器单元是开放的。
被部分写入的存储器单元可由于耦合效应而随着时间的推移展现出比被完全写入的存储器单元更多的错误。即,已被写入的存储器单元的字线与尚未被写入的同一存储器单元的字线之间的电压差可引起被写入的存储器单元的阈值电压发生变化,这可能产生位错误。此外,存储器单元保持被部分写入的时间越长,耦合效应可产生的错误的数目越大。此外,经配置以每存储器单元存储多个位的被部分写入的存储器单元由于存储多个位的存储器单元中的阈值电压之间的裕度减小而比经配置以每存储器单元存储单个位的存储器单元更易受耦合效应影响(例如,错误更多)。
另外,当存储器子系统经历不太平稳的电力循环(例如硬掉电)时,部分写入块促成延长的就绪时间(TTR)。描述存储在部分写入块处的那些数据的元数据在不太平稳的电力循环的情况中被重构,这促成延长的就绪时间。
一些常规系统约束了用于存储器系统中的开放块的数目。举例来说,多个写入光标可用于定位将写入的块或页面。每一写入光标可经编程以允许仅一个开放块使得部分写入块的数目不会超过光标的数目。然而,此可减少可并发地具有被部分写入的区存储器单元的区的数目,这会降低分区命名空间方案的功效。
本公开的方面通过识别希望用于分区命名空间(例如,与所述区相关联的分区命名空间)中的区的数据并将那些数据临时存储于未分区存储器单元中来解决上述及其它缺点。在一些实施例中,未分区存储器单元可为单电平单元(SLC)存储器,且区的区存储器单元可经配置为某种类型的多电平单元存储器。未分区存储器单元可为并非是区的部分的存储器单元(例如,系统存储器单元,例如超容量(overprovisioning)块)。存储器子系统可确定存储在未分区存储器处且与区相关联的数据量是否满足阈值条件。举例来说,处理装置可确定存储在未分区存储器单元(例如,SLC存储器的一或多个块)处的数据量是否足以接近区的区存储器单元(例如TLC存储器的块)。响应于确定存储在未分区存储器单元处的数据满足阈值条件,将数据从未分区存储器单元写入到区的区存储器单元。
通过将数据临时存储到未分区存储器单元,且特定来说,配置为SLC存储器的未分区存储器单元,并响应于确定未分区存储器单元处的数据量满足阈值条件将数据迁移到配置为某种类型的多电平单元存储器的区存储器单元,存储器子系统减少被部分写入的区存储器单元的数目。此进一步减少存储器系统中的错误的数目且减少分配到TTR的时间量。配置为SLC存储器的未分区存储器单元可更能抵抗由耦合效应所引起的错误且可具有可在不太平稳的电力循环的情况中比配置为多电平单元存储器类型的区存储器单元更快地重构的元数据。
本公开的额外方面通过将数据存储在区的区存储器单元处解决上述及其它缺点。响应于确定区存储器单元是被部分写入的区存储器单元,存储器子系统确定数据存储在区存储器单元处的时间量是否满足阈值条件。响应于确定存储在区存储器单元处的数据满足阈值条件,将数据从被部分写入的区存储器单元写入到未分区存储器单元。举例来说,基于时钟的计数器可用于记录数据被存储在被部分写入的区存储器单元处的时间。如果存储在被部分写入的区存储器单元处的数据满足或超过阈值时段,那么可将数据从被部分写入的区存储器单元(配置为多电平单元存储器类型)迁移到未分区存储器单元(配置为SLC存储器)。当新数据将被写入到区时,新数据可与存储在未分区存储器单元处的数据组合,且经组合数据可被写入到分区存储器单元且基于时钟的计数器可被复位。
通过将数据存储到区存储器单元,且特定来说,配置为某种类型的多电平单元存储器的区存储器单元,并响应于将数据存储在区存储器单元处达阈值时间量将所述数据迁移到未分区存储器单元(配置为SLC存储器),存储器子系统减少区存储器单元保持部分写入的时间量。此进一步减少存储器装置或存储器子系统中的错误的数目且减少分配到TTR的时间量。由于数据存储在被部分写入的区存储器单元处的时间与由耦合效应引起的错误的数目成比例,所以减少数据被存储在被部分写入的区存储器单元处的时间会减少错误的数目。此外,在经过了一定时间之后将数据迁移到配置为SLC存储器的未分区存储器单元而非将数据无限期地存储在配置为多电平单元存储器类型的被部分写入的分区存储器单元处进一步减少错误的数目,这是由于未分区存储器单元更能抵抗由耦合效应引起的错误。而且,经分配用于TTR的时间量由于未分区存储器单元的元数据在不太平稳的电力循环的情况中可比配置为多电平单元存储器类型的区存储器单元更快地重构而减少。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如存储器装置140)、一或多个非易失性存储器装置(例如存储器装置130)或此类事物的组合。
存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动(SSD)、快闪驱动、通用串行总线(USB)快闪驱动、嵌入式多媒体控制器(eMMC)驱动、通用快闪存储(UFS)驱动、安全数字(SD)及硬盘驱动(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小形DIMM(SO-DIMM)及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为例如桌面计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如飞机、无人机、汽车或其它运输工具)、物联网(IoT)启用装置、嵌入式计算机(例如,包含于运载工具、工业设备或联网商用装置中的嵌入式计算机)或包含存储器及处理装置的此计算装置的计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中使用,“耦合到”或“与…耦合”一般指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论是有线还是无线,包含例如电连接、光学连接、磁性连接等的连接。
主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆叠。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如NVDIMM控制器)及存储协议控制器(例如PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110(例如)将数据写入到存储器子系统110及从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、双倍数据速率(DDR)存储器总线、小计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双倍数据率(DDR)的DIMM套接字接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过物理主机接口(例如PCIe总线)与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口存取组件(例如存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1将存储器子系统110说明为实例。一般来说,主机系统120可经由相同通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如存储器装置140)可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。
非易失性存储器装置的一些实例(例如存储器装置130)包含“与非”(NAND)型快闪存储器及原位写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。交叉点非易失性存储器阵列可基于体电阻变化结合堆叠式交叉栅格式数据存取阵列执行位存储。另外,与许多基于快闪的存储器形成对比,交叉点非易失性存储器可执行原位写入操作,其中可在先前未擦除非易失性存储器单元的情况下对所述非易失性存储器单元进行编程。NAND型快闪存储器包含例如二维NAND(2DNAND)及三维NAND(3DNAND)。
存储器装置130中的每一者可包含一或多个存储器单元阵列。例如单电平单元(SLC)的一种类型的存储器单元每单元可存储一个位。例如多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC)及五电平单元(PLC)的其它类型的存储器单元每单元可存储多个位。在一些实施例中,存储器装置130的每一者可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类事物的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分及MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可经分组为页面,其可指代用于存储数据的存储器装置的逻辑单位。使用一些类型的存储器(例如NAND),页面可经分组以形成块。
尽管描述了例如非易失性存储器单元及NAND类型快闪存储器(例如2D NAND、3DNAND)的3D交叉点阵列的非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它硫属化物基存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻随机存取存储器(RRAM)、氧化物基RRAM(OxRAM)、“或非”(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可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),其可从存储器子系统控制器115接收地址且解码所述地址以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如存储器子系统控制器115)可外部地管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理的存储器装置,其是与用于同一存储器装置封装内的媒体管理的本地控制器(例如本地控制器135)组合的原始存储器装置。受管理的存储器装置的实例是受管理的NAND(MNAND)装置。
在一些实施例中,存储器子系统110包含执行本公开的方面的部分区存储器单元处置器113。
在一些实施例中,部分区存储器单元处置器113接收执行写入操作以在经配置有具有多个区的分区命名空间的存储器装置处写入数据的请求。所述数据与所述存储器装置的所述多个区中的区相关联。部分区存储器单元处置器113将数据存储在存储器装置的未分区存储器区域的未分区存储器单元处。部分区存储器单元处置器113确定存储在未分区存储器单元处且与区相关联的数据量是否满足阈值条件。响应于确定存储在未分区存储器单元处且与区相关联的数据满足阈值条件,部分区存储器单元处置器113将数据从未分区存储器单元写入到区的区存储器单元。
在一些实施例中,部分区存储器单元处置器113接收执行写入操作以在经配置有具有多个区的分区命名空间的存储器装置处写入数据的请求。所述数据与所述存储器装置的所述多个区中的区相关联。部分区存储器单元处置器113将数据存储在多个区中的区的区存储器单元处。响应于确定区存储器单元包括被部分写入的区存储器单元,部分区存储器单元处置器113确定数据存储在区的区存储器单元处的的时间量是否满足阈值条件。响应于确定存储在区的区存储器单元处的数据满足阈值条件,部分区存储器单元处置器113将数据从被部分写入的区存储器单元写入到与区相关联的存储器装置的未分区存储器区域的未分区存储器单元。
在一些实施例中,存储器子系统控制器115包含部分区存储器单元处置器113的至少一部分。举例来说,存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令以执行本文中描述的操作的处理器117(例如处理装置)。在一些实施例中,部分区存储器单元处置器113是主机系统110、应用程序或操作系统的部分。在其它实施例中,本地媒体控制器135包含部分区存储器单元处置器113的至少一部分且经配置以执行本文中描述的功能性。
图2说明根据本公开的实施例的分区命名空间及未分区存储器区域的存储器单元。应注意,将块用作存储器单元的实例,且是出于说明目的而非限制目的进行使用。在其它实施例中,可实施另一存储器单元。在一些实施例中,块(或存储器单元)是可在存储器装置处擦除的最小单元。分区命名空间206的块可为区存储器单元的实例。分区存储器区域208的块可为未分区存储器单元的实例。图200可代表存储器装置(例如存储器装置130)的存储器单元(例如存储区块210)或存储器子系统(例如存储器子系统110)的存储器单元。
在一些实施例中,存储区块210是存储器子系统110的一或多个存储器装置的部分。存储区块210可包含用户块202的集区及系统块的集区,例如超容量(OP)块204的集区。超容量块204的集区可包含存储区块210的一部分且用于存储器装置130或存储器子系统110的管理操作。系统块的集区可能不能被主机系统120看见或直接存取(例如,不能被主机系统120寻址)。用户块202的集区可为存储用户数据且可被主机系统120看见及存取的存储区块的一部分。
在一些实施例中,存储区块210的一部分可与一或多个分区命名空间(例如分区命名空间206)相关联。存储区块210的一部分可与未分区存储器区域208相关联。出于说明而非限制目的,分区命名空间206包含用户块202的集区,且未分区存储器区域208包含包括超容量块204的集区的系统块的集区。
在一些实施例中,分区命名空间206可包含一或多个区。举例来说,分区命名空间206包含区A到D。每一区可包含一或多个块。如上文指出,分区命名空间206将分区命名空间的地址空间分成几个区。每一区包含通过可被循序地写入的逻辑块地址(LBA)范围识别的块(例如区存储器单元)。在一些实施例中,无法任意地盖写区内的数据。为了盖写已经写入的区,复位区写入指针,这有效地擦除区中的所有数据使得写入到区在区的开始处重新起始。在一些实施例中,每一区独立于分区命名空间206中的其它区进行操作。
在一些实施例中,来自存储器组件的超容量块204的集区的一或多个块被分配为专用块212。专用块用于临时存储寻址到分区命名空间206的一或多个区的数据,如本文中描述。举例来说,将被存储在区A处但仅填充区A的部分块的数据可被写入到与区A相关联的一或多个专用块212。在另一实例中,被存储在区A处达阈值时间量且仅填充区A的部分块的数据可被写入到与区A相关联的专用块212中的一或多者。
在一些实施例中,专用块212中的一或多个块可从超容量块204的集区分配以临时存储寻址到特定区的数据使得仅所述特定区的数据被临时存储在专用块212中的对应一或多者处。在一些实施例中,专用块212可从超容量块204的集区分配以临时存储寻址到分区命名空间206的多个区(例如任何区)的数据使得多个区的数据被临时存储在一或多个专用块212处(例如,多个区的数据可被存储在专用块212中的相同块处)。与专用块212相关联的记录(例如,具有特定数据结构的存储条目)或元数据可用于记录存储在专用块212处的数据的哪些部分与分区命名空间206的哪些区相关联。在一些实施例中,专用块212并非指派到特定区的块。在一些实施例中,专用块是不能被主机系统120寻址的系统块。
在一些实施例中,与分区命名空间206的一或多个区相关联的块包含经配置以存储多个位的存储器单元(例如MLC、TLC、QLC等)。在一些实施例中,专用块212经配置为单电平单元存储器,其中存储器单元存储单个位。
下文可描述图1到2的元件以分别帮助说明图3及图4的方法300及方法400。方法300及400可被执行为一或多个操作。应注意,方法300或400可以任何顺序执行且可包含相同、不同、更多或更少操作。
方法300或400可由可包含硬件(电路系统、专用逻辑等)、软件(例如在处理装置上运行的指令)或其组合的处理逻辑执行。在一些实施例中,方法300或方法400的一些或全部操作可由图1的系统100的一或多个组件执行。在其它实施例中,方法300或400的一或多个操作可由关于图1所描述的部分区存储器单元处置器113执行。
图3是根据本公开的一些实施例的处置存储器子系统中的存储器装置的分区命名空间中的部分区存储器单元的实例方法的流程图。
在操作305,处理逻辑接收执行写入操作以在存储器装置处写入数据的请求。在一些实施例中,存储器装置经配置有具有多个区的分区命名空间。举例来说,存储器子系统可从主机系统接收写入请求。写入请求可包含将写入到存储器子系统的用户数据。在一些实施例中,所述数据与存储器装置(或存储器子系统)的多个区中的区相关联。举例来说,写入请求可识别与数据相关联的LBA或LBA范围。LBA或LBA范围可与特定区相关联。
在操作310,处理逻辑识别多个区中与数据相关联的区。在一些实施例中,识别区是基于与执行写入操作的请求相关联的区标识符。举例来说,与写入请求相关联的LBA或LBA范围可用于识别与数据相关联的特定区。例如,含有具有特定数据结构的条目的记录可用于将经识别LBA映射到含有LBA的特定区。在其它实例中,可实施其它区标识符。
在操作315,处理逻辑识别与区相关联的未分区存储器区域的未分区存储器单元。举例来说,通过LBA识别的特定区还可与未分区存储器区域的一或多个未分区存储器单元相关联。例如,记录可进一步将区映射到一或多个未分区存储器单元。
在一些实施例中,未分区存储器单元从系统存储器单元(例如超容量存储器单元的集区)分配。未分区存储器单元用于临时存储寻址到区的数据。其它未分区存储器单元从系统存储器单元(例如超容量存储器单元的集区)分配以临时存储寻址到多个区中的另一区的其它数据。举例来说,特定未分区存储器单元可仅临时存储寻址到特定区的数据。
在一些实施例中,未分区存储器单元从系统存储器单元(例如超容量存储器单元的集区)分配。未分区存储器单元临时存储寻址到多个区的数据。举例来说,特定未分区存储器单元可临时存储寻址到第一区的数据及寻址到另一区的数据。
在操作320,处理逻辑将数据存储在未分区存储器区域的未分区存储器单元处。在一些实施例中,未分区存储器单元经配置为单电平单元(SLC)存储器。
在其中未分区存储器单元用于临时存储寻址到任何区的数据的一些实施例中,记录可保持识别特定数据(存储在未分区存储器单元处)将被写入在其处的区。在其它实施例中,与存储在未分区存储器单元处的数据相关联的元数据可识别数据将被写入在其处的区。
在一些实施例中,可将指示执行写入操作的请求已经完成的完成状态消息发送到主机系统。应注意,从主机系统的视角来看,写入操作已经完成。
在操作325,处理逻辑确定存储在未分区存储器单元处且与区相关联的数据量是否满足阈值条件。如果处理逻辑确定阈值条件被满足,那么处理逻辑继续到操作330。如果处理逻辑确定阈值条件不被满足,那么处理逻辑返回到操作305。在一些实施例中,区存储器单元包含经配置以存储多个位的存储器单元(例如MLC、TLC、QLC或PLC存储器)。
在一些实施例中,为了确定存储在未分区存储器单元处且与区相关联的数据是否满足阈值条件,处理逻辑确定存储在未分区存储器单元处且与区相关联的数据量是否包含关闭区存储器单元的阈值数据量。关闭区存储器的阈值数据量可包含可写入整个存储器单元(例如完成存储器单元)的足够数据。举例来说,阈值数据量可包含关闭块的足够数据(例如,填充块的所有字线的足够数据)。在另一实例中,如果分区存储器单元是块且经配置为MLC存储器且未分区存储器单元是块且经配置为SLC存储器,那么未分区存储器的两个完整的块可关闭区存储器的块。
在一些实施例中,为了确定存储在未分区存储器单元处且与区相关联的数据是否满足阈值条件,处理逻辑确定存储在未分区存储器单元处且与区相关联的数据量是否包含填充区存储器单元的一或多个字线的阈值数据量。
在一些实施例中,记录可跟踪已被写入到一或多个区的未分区存储器单元的数据量。记录可响应于将新数据存储到未分区存储器单元或将数据从未分区存储器单元迁移到特定区存储器单元而进行更新。
在操作330,处理逻辑响应于确定存储在未分区存储器单元处且与区相关联的数据满足阈值条件而将数据从未分区存储器区域的未分区存储器单元写入到区的区存储器单元。在一些实施例中,数据从未分区存储器区域的未分区存储器单元到区的区存储器单元的迁移可被执行为后台操作。为向主机确认数据的迁移(例如,由于主机已经接收到数据已被写入到存储器子系统的确认)。作为后台操作,可在任何时间执行迁移数据,例如在存储器子系统可更高效地处理数据的迁移的时间(例如在空闲时间期间)。
图4是根据本公开的一些实施例的处置存储器子系统中的存储器装置的分区命名空间中的部分存储器单元的实例方法的流程图。
在方法400的操作405,处理逻辑接收执行写入操作以在存储器装置处写入数据的请求。存储器装置经配置有一或多个分区命名空间。分区命名空间包含多个区。所述数据与所述存储器装置的所述多个区中的区相关联。在操作410,处理逻辑识别多个区中与数据相关联的区。操作405对应于方法300的操作305。操作410对应于方法300的操作310。为了简洁起见,此处不再重复与操作305及310相关联的描述。应理解,操作305及310的描述分别适用于操作405及410。
在操作415,处理逻辑将数据存储在区的区存储器单元处。在一些实施例中,区存储器单元包含经配置以存储多个位的存储器单元。
在操作420,处理逻辑确定区存储器单元是否包括被部分写入的区存储器单元。如果处理逻辑确定区存储器单元被完全写入,那么处理逻辑返回到操作405。如果处理逻辑确定区存储器单元是被部分写入的区存储器单元,那么处理逻辑继续到操作425。
在一些实施例中,处理逻辑可通过确定区存储器单元的最后的存储器子单元是否已被写入来确定区存储器单元是被部分写入还是被完全写入。在一些实施例中,存储器子单元可包含可写入的存储器装置130的最小单元。举例来说,在其中区存储器单元是块的例子中,存储器子单元可包含页面。在一些实施例中,区存储器的最后的存储器子单元可包含区存储器单元的最后的字线。如果最后的存储器子单元已被写入,那么处理逻辑确定区存储器单元已被完全写入。如果最后的存储器子单元尚未被写入,那么处理逻辑确定区存储器单元已被部分写入。
在操作425,处理逻辑确定数据存储在区的区存储器单元处的时间量是否满足阈值条件。在一些实施例中,为了确定存储在区的区存储器单元处的数据是否满足阈值条件,处理逻辑确定数据存储在未分区存储器单元处的时间量是否满足或超过阈值时间量。举例来说,计时器电路可用于确定自数据被存储在区存储器单元处以来经过的时间量。如果数据被存储在区存储器单元处的时间未超过阈值时间量,那么处理逻辑周期性地返回到425以在经过了一些额外时间之后进行重新检查。如果数据被存储在区存储器单元处的时间满足或超过阈值时间量,那么处理逻辑继续到操作430。
在操作430,处理逻辑将数据从分区存储器单元写入到与区相关联的未分区存储器区域的未分区存储器单元(例如,响应于确定存储在区的区存储器单元处的数据满足阈值条件)。在一些实施例中,未分区存储器单元经配置为SLC存储器。
应注意,类似于方法300,未分区存储器单元可用于特定区或在多个区之间共享。应进一步注意,还可以与关于方法300描述的类似的方式维持或更新关于方法400的元数据或表。
在一些实施例中,数据经存储于未分区存储器单元中直到处理逻辑接收执行新的写入操作以在存储器装置处写入新数据的新的请求为止。新数据与存储器装置的多个区中的区(例如,与上述方法400的实施例相同的区)相关联。在一些实施例中,处理逻辑组合新数据与存储在与区相关联的未分区存储器单元处的数据。在一些实施例中,处理逻辑将经组合数据存储在区的区存储器单元处。在一些实施例中,响应于确定存储经组合数据的区存储器单元包含被部分写入的区存储器单元,处理逻辑确定存储在区的区存储器单元处的经组合数据是否满足阈值条件。在一些实施例中,响应于确定存储在区的区存储器单元处的经组合数据满足阈值条件,处理逻辑将经组合数据从被部分写入的区存储器单元写入到与区相关联的未分区存储器单元。
图5说明用于致使机器执行本文论述的方法论中的任一或多者的一组指令可在其内执行的计算机系统500的实例机器。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),所述主机系统包含存储器子系统(例如,图1的存储器子系统110)、耦合到所述存储器子系统或利用所述存储器子系统或可用于执行控制器的操作(例如,执行操作系统以执行对应于图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可包含其上存储一或多组指令526或体现本文中描述的方法论或功能中的任一或多者的软件的机器可读存储媒体524(也称为计算机可读媒体)。指令526在由计算机系统500执行其期间也可完全或至少部分驻存于主存储器504内及/或处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含实施对应于图1的部分区存储器单元处置器113的功能性的指令。虽然在实例实施例中将机器可读存储媒体524展示为单个媒体,但术语“机器可读存储媒体”应理解为包含单个媒体或存储一或多个指令集的多个媒体。术语“机器可读存储媒体”也应理解为包含能够存储或编码由机器执行的一组指令且致使机器执行本公开的方法论中的任一或多者的任何媒体。术语“机器可读存储媒体”应相应地理解为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用以向所属领域的其它技术人员最有效地传达其工作实质的方式。算法在本文且通常被设想为导致所期望结果的自相一致的操作序列。操作是需要物理操纵物理量的操作。通常,尽管不是必须的,这些量采取能够被存储、组合、比较及以其它方式操纵的电或磁性信号的形式。已证明,有时由于习惯用法将这些信号称为位、值、元件、符号、字符、项、数字或类似物是方便的。
然而,应记住,所有这些及类似术语都应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可指代计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操纵表示为计算机系统的寄存器及存储器内的物理(电子)量的数据并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的特殊地被构造,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可经存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡或适于存储电子指令的各自耦合到计算机系统总线的任何类型的媒体。
本文中呈现的算法及显示器并不固有地涉及任何特定计算机或其它设备。各种通用系统可结合根据本文的教示的程序使用,或可证明构造更专门设备来执行方法是方便的。多种这些系统的结构将如下文描述中陈述那样出现。另外,本公开不参考任何特定编程语言进行描述。应了解,多种编程语言可用于实施本文中所描述的本公开的教示。
本公开可经提供作为计算机程序产品或软件,其可包含具有其上存储有指令的机器可读媒体,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
本文使用词语“实例”或“示范性”来表示“用作实例、例子或说明”。本文描述为“实例”或“示范性”的任何方面或设计不一定被解释为比其它方面或设计更优选或有利。确切来说,使用词语“实例”或“示范性”希望以具体方式来呈现。如在本申请案中使用,术语“或”希望表示包含性“或”而非排他性“或”。即,除非另外或从上下文明确指定,否则“X包含A或B”希望表示自然包含性排列中的任一者。即,如果X包含A;X包含B;或X包含A及B两者,那么在前述例子中的任一者下满足“X包含A或B”。另外,如在本申请案及所附权利要求书中使用,冠词“一(a/an)”通常可理解为表示“一或多者”将涉及单数形式,除非另外或从上下文明确指定。此外,贯穿全文的术语“实施例”或“一个实施例”或“实施方案”或“一个实施方案”或类似物的使用可表示或可不表示同一实施例或实施方案。本文中描述的一或多个实施例或实施方案可组合于特定实施例或实施方案中。如本文中使用,术语“第一”、“第二”、“第三”、“第四”等意在作为区分不同元件的标记,且可能不一定具有根据其数值标示的顺序意义。
在前述说明书中,已参考本公开的特定实例实施例描述了其实施例。将明显的是,在不背离所附权利要求书中所陈述的本公开的实施例的更宽精神及范围的情况下,可对其做出各种修改。因此,说明书及图式应以说明性意义而非限制性意义来看待。
Claims (20)
1.一种方法,其包括:
接收执行写入操作以在经配置有具有多个区的分区命名空间的存储器装置处写入数据的请求,其中所述数据与所述存储器装置的所述多个区中的区相关联;
将所述数据存储在所述存储器装置的未分区存储器区域的未分区存储器单元处;
确定存储在所述未分区存储器单元处且与所述区相关联的数据量是否满足阈值条件;及
响应于确定存储在所述未分区存储器单元处且与所述区相关联的所述数据满足所述阈值条件,将所述数据从所述未分区存储器单元写入到所述区的区存储器单元。
2.根据权利要求1所述的方法,其中所述未分区存储器单元经配置为单电平单元SLC存储器,且其中所述区存储器单元包括经配置以存储多个位的存储器单元。
3.根据权利要求2所述的方法,其中确定存储在所述未分区存储器单元处且与所述区相关联的所述数据是否满足所述阈值条件包括:
确定存储在所述未分区存储器单元处且与所述区相关联的所述数据量是否包括关闭所述区存储器单元的阈值数据量。
4.根据权利要求2所述的方法,其中确定存储在所述未分区存储器单元处且与所述区相关联的所述数据是否满足所述阈值条件包括:
确定存储在所述未分区存储器单元处且与所述区相关联的所述数据量是否包括填充所述区存储器单元的一或多个字线的阈值数据量。
5.根据权利要求1所述的方法,其进一步包括:
基于与执行所述写入操作的所述请求相关联的区标识符识别所述多个区中与所述数据相关联的所述区。
6.根据权利要求5所述的方法,其进一步包括:
识别从超容量存储器单元的集区分配的所述未分区存储器区域的所述未分区存储器单元,其中所述未分区存储器单元用于临时存储寻址到所述区的所述数据,其中其它未分区存储器单元从所述超容量存储器单元的集区分配以临时存储寻址到所述多个区中的另一区的其它数据。
7.根据权利要求5所述的方法,其进一步包括:
识别从超容量存储器单元的集区分配的所述未分区存储器区域的所述未分区存储器单元,其中所述未分区存储器单元用于临时存储寻址到所述多个区中的任一者的数据。
8.一种方法,其包括:
接收执行写入操作以在经配置有具有多个区的分区命名空间的存储器装置处写入数据的请求,其中所述数据与所述存储器装置的所述多个区中的区相关联;
将所述数据存储在所述多个区中的所述区的区存储器单元处;
响应于确定所述区存储器单元包括被部分写入的区存储器单元,确定所述数据存储在所述区的所述区存储器单元处的时间量是否满足阈值条件;及
响应于确定存储在所述区的所述区存储器单元处的所述数据满足所述阈值条件,将所述数据从所述被部分写入的区存储器单元写入到与所述区相关联的所述存储器装置的所述未分区存储器区域的未分区存储器单元。
9.根据权利要求8所述的方法,其中所述未分区存储器单元经配置为单电平单元SLC存储器,且其中所述区存储器单元包括经配置以存储多个位的存储器单元。
10.根据权利要求9所述的方法,其中确定存储在所述区的所述区存储器单元处的所述数据是否满足所述阈值条件包括:
确定所述数据存储在所述区存储器单元处的所述时间量是否满足或超过阈值时间量。
11.根据权利要求8所述的方法,其进一步包括:
基于与执行所述写入操作的所述请求相关联的区标识符识别所述多个区中与所述数据相关联的所述区。
12.根据权利要求8所述的方法,其进一步包括:
接收执行新的写入操作以在所述存储器装置处写入新数据的新请求,其中所述新数据与所述存储器装置的所述多个区中的所述区相关联;
组合所述新数据与存储在与所述区相关联的所述未分区存储器单元处的所述数据;及
将所述经组合数据存储在所述多个区中的所述区的所述区存储器单元处。
13.根据权利要求12所述的方法,其进一步包括:
响应于确定存储所述经组合数据的所述区存储器单元包括被部分写入的区存储器单元,确定存储在所述区的所述区存储器单元处的所述经组合数据是否满足所述阈值条件;及
响应于确定存储在所述区的所述区存储器单元处的所述经组合数据满足所述阈值条件,将所述经组合数据从所述被部分写入的区存储器单元写入到与所述区相关联的所述未分区存储器单元。
14.根据权利要求8所述的方法,其进一步包括:
确定所述区存储器单元是否包括所述被部分写入的区存储器单元。
15.一种系统,其包括:
存储器装置;及
处理装置,其可操作地与所述存储器装置耦合,以执行包括以下各者的操作:
接收执行写入操作以在经配置有具有多个区的分区命名空间的所述存储器装置处写入数据的请求,其中所述数据与所述存储器装置的所述多个区中的区相关联;
将所述数据存储在所述存储器装置的未分区存储器区域的未分区存储器单元处;
确定存储在所述未分区存储器单元处且与所述区相关联的数据量是否满足阈值条件;及
响应于确定存储在所述未分区存储器单元处且与所述区相关联的所述数据满足所述阈值条件,将所述数据从所述未分区存储器单元写入到所述区的区存储器单元。
16.根据权利要求15所述的系统,其中所述未分区存储器单元经配置为单电平单元SLC存储器,其中所述区存储器单元包括经配置以存储多个位的存储器单元。
17.根据权利要求16所述的系统,其中确定存储在所述未分区存储器单元处且与所述区相关联的所述数据是否满足所述阈值条件包括:
确定存储在所述未分区存储器单元处且与所述区相关联的所述数据量是否包括关闭所述区存储器单元的阈值数据量。
18.根据权利要求16所述的系统,其中确定存储在所述未分区存储器单元处且与所述区相关联的所述数据是否满足所述阈值条件包括:
确定存储在所述未分区存储器单元处且与所述区相关联的所述数据量是否包括填充所述区存储器单元的一或多个字线的阈值数据量。
19.根据权利要求15所述的系统,所述处理装置用于执行包括以下各者的另外操作:
基于与执行所述写入操作的所述请求相关联的区标识符识别所述多个区中与所述数据相关联的所述区。
20.根据权利要求19所述的系统,所述处理装置用于执行包括以下各者的另外操作:
识别从超容量存储器单元的集区分配的所述未分区存储器区域的所述未分区存储器单元,其中所述未分区存储器单元用于临时存储寻址到所述区的所述数据,其中其它未分区存储器单元从所述超容量存储器单元的集区分配以临时存储寻址到所述多个区中的另一区的其它数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/930,922 | 2020-07-16 | ||
US16/930,922 US20220019370A1 (en) | 2020-07-16 | 2020-07-16 | Partial zone memory unit handling in a zoned namespace of a memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113946283A true CN113946283A (zh) | 2022-01-18 |
CN113946283B CN113946283B (zh) | 2024-04-12 |
Family
ID=79293527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110806082.9A Active CN113946283B (zh) | 2020-07-16 | 2021-07-16 | 存储器装置的分区命名空间中的部分区存储器单元处置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220019370A1 (zh) |
CN (1) | CN113946283B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220048569A (ko) * | 2020-10-13 | 2022-04-20 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 저장 공간을 제어하는 장치 및 방법 |
US11954367B2 (en) | 2022-06-15 | 2024-04-09 | Western Digital Technologies, Inc. | Active time-based command prioritization in data storage devices |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213510A (zh) * | 2005-06-29 | 2008-07-02 | 桑迪士克股份有限公司 | 用于管理存储装置中的分区的方法和系统 |
US20090307441A1 (en) * | 2008-06-06 | 2009-12-10 | International Business Machines Corporation | Controlled Shut-Down of Partitions Within a Shared Memory Partition Data Processing System |
US20110153911A1 (en) * | 2009-12-18 | 2011-06-23 | Steven Sprouse | Method and system for achieving die parallelism through block interleaving |
US20130097387A1 (en) * | 2011-10-14 | 2013-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Memory-based apparatus and method |
WO2015055502A2 (en) * | 2013-10-18 | 2015-04-23 | Thomson Licensing | Method of partitioning storage in a distributed data storage system and corresponding device |
US20170115884A1 (en) * | 2015-10-26 | 2017-04-27 | SanDisk Technologies, Inc. | Data Folding in 3D Nonvolatile Memory |
US20170160957A1 (en) * | 2015-12-03 | 2017-06-08 | Sandisk Technologies Inc. | Efficiently Managing Unmapped Blocks to Extend Life of Solid State Drive |
US20180181500A1 (en) * | 2016-12-22 | 2018-06-28 | Apple Inc. | Tamper-proof storage using signatures based on threshold voltage distributions |
US20180276118A1 (en) * | 2017-03-23 | 2018-09-27 | Toshiba Memory Corporation | Memory system and control method of nonvolatile memory |
CN109388336A (zh) * | 2017-08-03 | 2019-02-26 | 东芝存储器株式会社 | 从主机客户端向网络存储装置传送数据的网络存储装置和方法 |
CN110232035A (zh) * | 2018-03-05 | 2019-09-13 | 爱思开海力士有限公司 | 存储器系统以及存储器系统的操作方法 |
US20200089629A1 (en) * | 2018-09-17 | 2020-03-19 | Micron Technology, Inc. | Scheduling of read operations and write operations based on a data bus mode |
US20200151067A1 (en) * | 2018-11-13 | 2020-05-14 | Micron Technology, Inc. | High-reliability non-volatile memory using a voting mechanism |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195592B1 (en) * | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US10956317B2 (en) * | 2019-02-11 | 2021-03-23 | International Business Machines Corporation | Garbage collection in non-volatile memory that fully programs dependent layers in a target block |
JP7346311B2 (ja) * | 2020-01-16 | 2023-09-19 | キオクシア株式会社 | メモリシステム |
-
2020
- 2020-07-16 US US16/930,922 patent/US20220019370A1/en not_active Abandoned
-
2021
- 2021-07-16 CN CN202110806082.9A patent/CN113946283B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213510A (zh) * | 2005-06-29 | 2008-07-02 | 桑迪士克股份有限公司 | 用于管理存储装置中的分区的方法和系统 |
US20090307441A1 (en) * | 2008-06-06 | 2009-12-10 | International Business Machines Corporation | Controlled Shut-Down of Partitions Within a Shared Memory Partition Data Processing System |
US20110153911A1 (en) * | 2009-12-18 | 2011-06-23 | Steven Sprouse | Method and system for achieving die parallelism through block interleaving |
US20130097387A1 (en) * | 2011-10-14 | 2013-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Memory-based apparatus and method |
WO2015055502A2 (en) * | 2013-10-18 | 2015-04-23 | Thomson Licensing | Method of partitioning storage in a distributed data storage system and corresponding device |
US20170115884A1 (en) * | 2015-10-26 | 2017-04-27 | SanDisk Technologies, Inc. | Data Folding in 3D Nonvolatile Memory |
US20170160957A1 (en) * | 2015-12-03 | 2017-06-08 | Sandisk Technologies Inc. | Efficiently Managing Unmapped Blocks to Extend Life of Solid State Drive |
US20180181500A1 (en) * | 2016-12-22 | 2018-06-28 | Apple Inc. | Tamper-proof storage using signatures based on threshold voltage distributions |
US20180276118A1 (en) * | 2017-03-23 | 2018-09-27 | Toshiba Memory Corporation | Memory system and control method of nonvolatile memory |
CN109388336A (zh) * | 2017-08-03 | 2019-02-26 | 东芝存储器株式会社 | 从主机客户端向网络存储装置传送数据的网络存储装置和方法 |
CN110232035A (zh) * | 2018-03-05 | 2019-09-13 | 爱思开海力士有限公司 | 存储器系统以及存储器系统的操作方法 |
US20200089629A1 (en) * | 2018-09-17 | 2020-03-19 | Micron Technology, Inc. | Scheduling of read operations and write operations based on a data bus mode |
US20200151067A1 (en) * | 2018-11-13 | 2020-05-14 | Micron Technology, Inc. | High-reliability non-volatile memory using a voting mechanism |
Also Published As
Publication number | Publication date |
---|---|
CN113946283B (zh) | 2024-04-12 |
US20220019370A1 (en) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640354B2 (en) | Logical-to-physical mapping of data groups with data locality | |
US11609848B2 (en) | Media management based on data access metrics | |
CN115699185A (zh) | 在存储装置上每单元实施可变数目的位 | |
US11868643B2 (en) | Background memory scan block selection | |
US11709605B2 (en) | Storing zones in a zone namespace on separate planes of a multi-plane memory device | |
CN113946283B (zh) | 存储器装置的分区命名空间中的部分区存储器单元处置 | |
US20200201548A1 (en) | Storage device, controller and method for operating storage device | |
US11720490B2 (en) | Managing host input/output in a memory system executing a table flush | |
US11934685B2 (en) | Performing memory access operations based on quad-level cell to single-level cell mapping table | |
US11922011B2 (en) | Virtual management unit scheme for two-pass programming in a memory sub-system | |
US11934686B2 (en) | Data reordering at a memory subsystem | |
US20240160349A1 (en) | Virtual management unit scheme for two-pass programming in a memory sub-system | |
US11860732B2 (en) | Redundancy metadata media management at a memory sub-system | |
US11899955B2 (en) | Managing a memory sub-system using a cross-hatch cursor | |
US11379359B2 (en) | Selecting data transfer units associated with a data stream for garbage collection | |
US11275687B2 (en) | Memory cache management based on storage capacity for parallel independent threads | |
US20240061767A1 (en) | Logical address granularity configurations for logical address space partitions | |
US20240094942A1 (en) | Performing data operations on grouped memory cells | |
CN115454326A (zh) | 对已分组存储器信元执行数据操作 | |
CN113590022A (zh) | 用于存储器装置的系统和方法 | |
CN115273925A (zh) | 存储器子系统刷新 | |
CN114303137A (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 |