CN113590022B - 用于存储器装置的系统和方法 - Google Patents

用于存储器装置的系统和方法 Download PDF

Info

Publication number
CN113590022B
CN113590022B CN202110472284.4A CN202110472284A CN113590022B CN 113590022 B CN113590022 B CN 113590022B CN 202110472284 A CN202110472284 A CN 202110472284A CN 113590022 B CN113590022 B CN 113590022B
Authority
CN
China
Prior art keywords
plane
write
memory
planes
memory device
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
CN202110472284.4A
Other languages
English (en)
Other versions
CN113590022A (zh
Inventor
L·伯特
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113590022A publication Critical patent/CN113590022A/zh
Application granted granted Critical
Publication of CN113590022B publication Critical patent/CN113590022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及用于存储器装置的系统和方法。存储器系统中的处理装置接收将多平面数据段写入到存储器装置的请求,所述存储器装置包括多个平面。所述处理装置将所述多平面数据段划分为多个单平面数据段,且同时执行多个写入操作以将所述多个单平面数据段中的每一个写入到所述存储器装置的所述多个平面的对应平面。

Description

用于存储器装置的系统和方法
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及将多平面写入操作转换为在存储器子系统中的多平面存储器装置上并行执行的多个单平面写入操作。
背景技术
一种存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可以利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
发明内容
一方面,本申请提供一种系统,其包括:存储器装置,其包括多个平面;以及处理装置,其以操作方式与所述存储器装置耦合,以执行包括以下各项的操作:接收将多平面数据段写入到所述存储器装置的请求;将所述多平面数据段划分为至少第一单平面数据段和第二单平面数据段;执行第一写入操作以将所述第一单平面数据段写入到所述多个平面的第一平面;以及执行第二写入操作以将所述第二单平面数据段写入到所述多个平面的第二平面,其中所述第一写入操作和所述第二写入操作在时间上至少部分地重叠。
另一方面,本申请提供一种方法,其包括:接收将多平面数据段写入到存储器装置的请求,所述存储器装置包括多个平面;将所述多平面数据段划分为多个单平面数据段;以及同时执行多个写入操作以将所述多个单平面数据段中的每一个写入到所述存储器装置的所述多个平面的对应平面。
另一方面,本申请提供一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时使得所述处理装置执行包括以下各项的操作:接收将多平面数据段写入到存储器装置的请求,所述存储器装置包括多个平面;将所述多平面数据段划分为多个单平面数据段;以及同时执行多个写入操作以将所述多个单平面数据段中的每一个写入到所述存储器装置的所述多个平面的对应平面。
附图说明
根据下文给出的具体实施方式且根据本公开的各种实施例的附图将更加充分地理解本公开。
图1示出根据本公开的一些实施例包含存储器子系统的实例计算系统。
图2为根据本公开的一些实施例示出被配置成并行地执行单平面写入操作的多平面存储器装置的框图。
图3A为根据本公开的一些实施例示出被配置成接收与经转换多平面写入操作对应的多个单平面写入操作的多平面存储器装置的框图。
图3B为根据本公开的一些实施例示出被划分成单平面数据段的多平面数据段的框图。
图4为将多平面写入操作转换为在存储器子系统中的多平面存储器装置上并行执行的多个单平面写入操作的实例方法的流程图。
图5为其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的各方面涉及将多平面写入操作转换为在存储器子系统中的多平面存储器装置上并行执行的多个单平面写入操作。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供待存储在存储器子系统处的数据且可请求待从存储器子系统检索的数据。
存储器子系统可包含高密度非易失性存储器装置,其中当没有电力被供应到存储器装置时需要数据的保持。非易失性存储器装置的一个实例是与非(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由物理块集组成。每一块由页集合组成。每一页由存储器单元集(“单元”)组成。单元是存储信息的电子电路。取决于单元类型,单元可以存储二进制信息的一或多个位,且具有与正存储的位数相关的各种逻辑状态。逻辑状态可由二进制值(例如“0”和“1”)或此类值的组合表示。
存储器装置可由布置于二维网格中的位组成。将存储器单元蚀刻到列(下文也称为位线)和行(下文也称为字线)的阵列中的硅晶片上。字线可指代存储器装置的存储器单元的一或多个行,所述一或多个行与一或多个位线一起使用以产生存储器单元中的每一个的地址。位线和字线的交叉点构成存储器单元的地址。下文中,块是指用于存储数据的存储器装置的单元,且可包含存储器单元的群组、字线群组、字线或个别存储器单元。可将一或多个块分组在一起以形成存储器装置的平面,以便允许在每一平面上进行并发操作。存储器装置可包含执行两个或更多个存储器平面的并发存储器页存取的电路系统。例如,存储器装置可包含用于存储器装置的每一平面的相应存取线驱动器电路和电力电路以促进对包含不同页类型的两个或更多个存储器平面的页进行并发存取。
在某些存储器装置中,当写入大于典型块大小的数据单元(即,包含多个数据块)时,可跨存储器装置的多个平面在条带中写入那些多个块。此写入操作(即,超过单个块的大小的写入操作)可被称为多平面写入操作。因此,任何时候将较大数据段写入到存储器装置作为多平面写入操作的部分,存储器装置的所有平面或至少多个平面在写入操作的持续时间内都将为不可存取的。因此,如果在写入操作进行时接收对存储在相同裸片上的数据的读取请求,即使涉及到存储器装置的不同平面的块中的数据,则存储器子系统也将必须暂停写入操作以便执行所述读取。由于写入往往在大小上较大(例如,64千字节至0.5兆字节或更多),因此在写入操作进行时可能会收到许多读取操作,这需要多次暂停写入操作。这可对存储器子系统中的性能产生不利影响,从而导致等待时间增加并且服务质量降低。
本公开的各方面通过将多平面写入操作转换为在存储器子系统中的多平面存储器装置上并行执行的多个单平面写入操作来解决以上和其它缺陷。在一个实施例中,存储器子系统接收将多平面数据段写入到存储器装置的请求。存储器子系统可将多平面数据段划分为多个单平面数据段,且同时执行多个写入操作以将单平面数据段中的每一个写入到多平面存储器装置的对应平面。因此,当正执行编程操作时,可单独存取每一平面。例如,如果在编程操作进行时接收对存储在一个平面上的数据执行读取操作的请求,则存储器子系统可仅暂停涉及到对应平面的写入操作且执行所述读取操作,而涉及到存储器装置的其它平面的其它写入操作继续进行。
将多平面写入操作转换为在多平面存储器装置上并行执行的多个单平面写入操作会引起存储器子系统中的显著性能改进。随着针对存储器装置的同一平面的存储器存取操作之间发生冲突的可能性基本减小,可提供到主机系统的客户端的服务质量水平会增加。此外,本文中所描述的技术考虑到存储器子系统中存储器裸片的大小及数量的增大的可缩放性,同时维持且可能改进相关联的性能特性,例如请求等待时间及输送量。
图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(2D NAND)和三维NAND(3D NAND)。
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多层单元(MLC)、三层单元(TLC)、四层单元(QLC)和五层单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,以及MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可分组为可指代用以存储数据的存储器装置的逻辑单元的页。在一些类型的存储器(例如,NAND)的情况下,可将页分组以形成块。
尽管描述了例如3D交叉点非易失性存储器单元阵列和NAND类型快闪存储器(例如,2D NAND、3D NAND)之类的非易失性存储器组件,但存储器装置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,所述平面存取控制组件协调将多平面写入操作转换为在存储器装置130上并行执行的多个单平面写入操作。在一个实施例中,平面存取控制组件113接收将多平面数据段写入到存储器装置130的请求。平面存取控制组件113可将多平面数据段划分为多个单平面数据段,且同时执行多个写入操作以将单平面数据段中的每一个写入到存储器装置130的对应平面。因此,当在编程操作进行时接收对存储在一个平面上的数据执行读取操作的请求时,则平面存取控制组件113可仅暂停涉及到对应平面的写入操作且执行所述读取操作,而涉及到存储器装置130的其它平面的其它写入操作继续进行。下文描述关于平面存取控制组件113的操作的另外细节。
在一些实施例中,存储器子系统控制器115包含平面存取控制组件113的至少部分。例如,存储器子系统控制器115可包含被配置成执行存储于本地存储器119中的用于执行本文中所描述的操作的指令的处理器117(例如,处理装置)。在一些实施例中,平面存取控制组件113是主机系统120、应用程序或操作系统的部分。在其它实施例中,本地媒体控制器135包含平面存取控制组件113的至少部分且被配置成执行本文中所描述的功能性。
图2为根据本公开的一些实施例示出被配置成并行地执行单平面写入操作的多平面存储器装置130的框图。存储器装置130包含划分成存储器平面272(0)至272(3)的存储器阵列270,所述存储器平面各自包含相应数量的存储器单元。多平面存储器装置130可进一步包含本地媒体控制器135,包含用于针对不同存储器平面272(0)至272(3)同时执行存储器存取操作的电力控制电路和存取控制电路。存储器单元可为非易失性存储器单元,例如NAND快闪单元,或可通常为任何类型的存储器单元。
存储器平面272(0)至272(3)可各自被划分成数据块,其中在存储器存取操作期间可同时存取来自存储器平面272(0)至272(3)中的每一个的不同相对数据块。例如,在存储器存取操作期间,可各自同时存取存储器平面272(0)的数据块282、存储器平面272(1)的数据块283、存储器平面272(2)的数据块284和存储器平面272(3)的数据块285。
存储器平面272(0)至272(3)中的每一个可耦合到相应页缓冲器276(0)至276(3)。每一页缓冲器276(0)至276(3)可被配置成将数据提供到相应存储器平面272(0)至272(3)或从所述相应存储器平面接收数据。页缓冲器276(0)至276(3)可被本地媒体控制器135控制。从相应存储器平面272(0)至272(3)接收的数据可分别锁存在页缓冲器276(0)至276(3)处,且由本地媒体控制器135检索,且经由NVMe接口提供到存储器子系统控制器115。
存储器平面272(0)至272(3)中的每一个可进一步耦合到相应存取驱动器电路274(0)至274(3),例如存取线驱动器电路。驱动器电路274(0)至274(3)可被配置成调节相关联存储器平面272(0)至272(3)的相应块的页以供存储器存取操作,例如编程数据(即,写入数据)、读取数据或擦除数据。驱动器电路274(0)至274(3)中的每一个可耦合到与相应存储器平面272(0)至272(3)相关联的相应全局存取线。全局存取线中的每一个可在与块内的页相关联的存储器存取操作期间选择性地耦合到平面的块内的相应本地存取线。可基于来自本地媒体控制器135的信号来控制驱动器电路274(0)至274(3)。驱动器电路274(0)至274(3)中的每一个可包含或耦合到相应电力电路,且可基于由相应电力电路提供的电压而将电压提供到相应存取线。由电力电路提供的电压可基于从本地媒体控制器135接收到的信号。
本地媒体控制器135可控制驱动器电路274(0)至274(3)和页缓冲器276(0)至276(3)以同时执行与一组存储器命令和地址对(例如,从存储器子系统控制器115接收的)中的每一个相关联的存储器存取操作。例如,本地媒体控制器135可控制驱动器电路274(0)至274(3)和页缓冲器376(0)至376(3)以执行并发存储器存取操作。本地媒体控制器135可包含:电力控制电路,其针对并发存储器存取操作而串行配置驱动器电路274(0)至274(3)中的两个或更多个;以及存取控制电路,其被配置成控制页缓冲器276(0)至276(3)中的两个或更多个以感测并锁存来自相应存储器平面272(0)至272(3)的数据,或将数据编程到相应存储器平面272(0)至272(3)以执行并发存储器存取操作。
在操作中,本地媒体控制器135可经由NVMe总线接收一组存储器命令和地址对,其中每一对并行或串行到达。在一些实例中,存储器命令和地址对的群组可各自与存储器阵列270的不同相应存储器平面272(0)至272(3)相关联。本地媒体控制器135可被配置成响应于存储器命令和地址对的群组而执行用于存储器阵列370的不同存储器平面272(0)至272(3)的并发存储器存取操作(例如,读取操作或编程操作)。例如,对于基于相应页类型(例如,UP、MP、LP、XP、SLC/MLC/TLC/QLC页)的并发存储器存取操作,本地媒体控制器135的电力控制电路可针对与存储器命令和地址对的群组相关联的两个或更多个存储器平面272(0)至272(3)而串行配置驱动器电路274(0)至274(3)。在已配置存取线驱动器电路274(0)至274(3)之后,本地媒体控制器135的存取控制电路可同时控制页缓冲器276(0)至276(3),以在并发存储器存取操作期间存取与存储器命令和地址对的群组相关联的两个或更多个存储器平面272(0)至272(3)中的每一个的相应页,例如检索数据或写入数据。例如,存取控制电路可同时(例如,并行和/或同时)控制页缓冲器276(0)至276(3)以对位线进行充电/放电、感测来自两个或更多个存储器平面272(0)至272(3)的数据和/或锁存所述数据。
基于从本地媒体控制器135接收到的信号,耦合到与存储器命令和地址命令对的群组相关联的存储器平面272(0)至272(3)的驱动器电路274(0)至274(3)可从相关联的存储器平面272(0)至272(3)选择存储器块或存储器单元,以供存储器操作,例如读取、编程和/或擦除操作。驱动器电路274(0)至274(3)可驱动与相应存储器平面272(0)至272(3)相关联的不同相应全局存取线。作为实例,驱动器电路274(0)可驱动与存储器平面272(0)相关联的第一全局存取线上的第一电压,驱动器电路274(1)可驱动与存储器平面272(1)相关联的第三全局存取线上的第二电压,驱动器电路274(2)可驱动与存储器平面272(2)相关联的第七全局存取线上的第三电压,等等,且可驱动在其余全局存取线中的每一个上的其它电压。在一些实例中,除了与待存取的存储器平面272(0)至272(3)的页相关联的存取线之外,可在所有存取线上提供通过电压。本地媒体控制器135、驱动器电路274(0)至274(3)可允许同时存取存储器单元的不同相应块内的不同相应页和页缓冲器276(0)至276(3)。例如,可同时存取第一存储器平面的第一块的第一页以及第二存储器平面的第二块的第二页,而不管页类型如何。
页缓冲器276(0)至276(3)可响应于来自本地媒体控制器135及相应存储器平面272(0)至272(3)的信号而在存储器存取操作期间将数据提供到本地媒体控制器135或从所述本地媒体控制器接收数据。本地媒体控制器135可将所接收到的数据提供到存储器子系统控制器115。
将了解,存储器装置130可包含多于或少于四个存储器平面、驱动器电路和页缓冲器。还将了解,相应全局存取线可包含8、16、32、64、128个等全局存取线。当不同相应页具有不同页类型时,本地媒体控制器135和驱动器电路274(0)至274(3)可同时存取不同存储器平面的不同相应块内的不同相应页。例如,在一个实施例中,在将多平面数据段划分为单平面段后,本地媒体控制器135可同时执行多个写入操作以将单平面数据段中的每一个写入到存储器平面272(0)至272(3)中的对应一者。随后,如果在编程操作进行时接收对存储在一个平面(例如平面272(0))上的数据执行读取操作的请求,则平面存取控制组件113可仅暂停涉及到平面272(0)的写入操作且执行所述读取操作,而涉及到存储器装置130的其它平面272(1)至272(3)的其它写入操作继续进行。
图3A为根据本公开的一些实施例示出被配置成接收与经转换多平面写入操作对应的多个单平面写入操作的多平面存储器装置130的框图。在一个实施例中,存储器装置130包含被组织成多个平面300、310、320和330的单元阵列。取决于实施例,可存在任何数量的平面,包含比图3A中所示出的更多或更少的平面。如上文所描述,平面中的每一个可包含相关联的电路系统以使得能够同时在多个平面上执行存储器存取操作。每一存储器平面还可被划分成存储器单元页块。例如,平面300包含块301至305,平面310包含块311至315,平面320包含块321至325,且平面330包含块331至335。取决于实施例,平面中的每一个可包含任何数量的块,包含比图3A中所示出的更多或更少的块,且平面中的每一个可包含相同数量或不同数量的块。
在一个实施例中,当存储器子系统接收到在存储器装置130处执行存储器存取操作的请求时,平面存取控制组件113可对存储于单独平面上的数据同时执行多个存储器存取操作。例如,平面存取控制组件113可对平面300执行第一存储器存取操作(例如,写入操作),且同时对平面310执行第二存储器存取操作(例如,写入操作)。如果在编程操作进行时接收到对存储在一个平面(例如,平面300)上的数据执行第三存储器存取操作(例如,读取操作)的请求,则平面存取控制组件113可仅暂停涉及到对应平面300的写入操作且执行所述读取操作,而涉及到存储器装置的平面310的其它写入操作继续进行。
图3B为根据本公开的一些实施例示出被划分成单平面数据段352、354、356、358的多平面数据段350的框图。多平面段350可表示存储器子系统110中的典型写入单元。在一个实施例中,多平面段350大小为64kB。然而,在其它实施例中,多平面段350可为某一其它大小。多平面段350可表示作为写入请求的部分(例如,从主机系统120)所接收的整个写入单元,或可为多个写入请求的累积。例如,存储器子系统可接收多个较小写入请求(例如,每一个为4kB),且可聚结这些较小写入请求直到获得完整多平面段350为止。存储器子系统110会通常将多平面段350写入到存储器装置130作为单个写入操作的部分。因为多平面段350大于存储器装置130中的每一平面的块大小,所以多平面段350会被写入在跨多个平面300、310、320和330的条带中。
然而,在某些实施例中,平面存取控制组件113可将多平面数据段350划分为多个单平面数据段352、354、356和358,而非将多平面段350写入到存储器装置130。在一个实施例中,每一单平面段352、354、356和358的大小对应于由存储器装置130的每一个别平面300、310、320和330使用的块大小(例如,16kB)。在将多平面段350划分为单平面段352、354、356和358后,平面存取控制组件113可同时执行多个写入操作以将单平面段352、354、356和358中的每一个写入到存储器装置130的对应平面。例如,平面存取控制组件113可将单平面段352写入到平面300的块301,将单平面段354写入到平面310的块311,将单平面段356写入到平面320的块321,且将单平面段358写入到平面330的块331。
如果例如在接收了到平面300和/或存储器装置130的其它平面的写入操作中的一或多个时接收到对存储于平面300的另一块(例如,块302)中的数据进行读取的请求,则平面存取控制组件113可暂停正对平面300的块301执行的写入操作,且执行读取操作以从块302读取数据,同时继续对平面310、320或330中的一个执行至少一个其它写入操作。平面存取控制组件113可对平面300执行读取操作,而不暂停正对平面310、320或330执行的写入操作。在完成读取操作后,平面存取控制组件113可恢复对平面300的块301进行的写入操作。
在一些情况下,某些应用程序被设计成请求较大写入(例如,128kB至2MB或更大)且对写入性能并不敏感。此类大写入可包含大于多平面段350的数据,且甚至当分解时,可包含比存储器装置130中存在的平面更多的单平面段。因此,在一个实施例中,多个单平面段在写入操作期间可被写入到单个平面的数据块。例如,如果在分解时,多平面段350产生八个单平面段,则平面存取控制组件113可将两个单平面数据段写入到存储器装置130的每一平面。在另一实施例中,多平面段350可将单平面段的全部或部分写入到存储器装置130的单个平面。例如,平面存取控制组件113可将单平面段352写入到平面300的块301,将单平面段354写入到平面300的块302,将单平面段356写入到平面300的块303,且将单平面段358写入到平面300的块304。
图4为将多平面写入操作转换为在存储器子系统中的多平面存储器装置上并行执行的多个单平面写入操作的实例方法的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的平面存取控制组件113执行。虽然以特定顺序或次序来展示,但除非另外指定,否则可修改过程的次序。因此,示出的实施例应仅作为实例理解,且示出的过程可以不同次序执行,并且一些过程可并行执行。此外,在各种实施例中可省略一或多个过程。因此,每个实施例中并非需要所有过程。其它过程流程是可能的。
在操作405处,处理逻辑接收将多平面数据段350写入到存储器装置130的请求。在一个实施例中,存储器装置130包含多个平面300、310、320和330。在一个实施例中,所述请求可从主机系统120被接收到且可涉及待由主机系统120存储在存储器子系统110中的数据。在一个实施例中,所述请求可例如由存储器子系统控制器115在内部产生到存储器子系统110,且可涉及数据管理操作。存储器存取操作可另外包含例如编程操作、读取操作或擦除操作。主机系统120或存储器子系统控制器115可将请求和/或命令发送到存储器装置130,以便将数据存储在存储器装置130上或从存储器装置130读取数据。
在操作410处,处理逻辑将多平面数据段350划分为多个单平面数据段352、354、356和358。在一个实施例中,每一单平面段352、354、356和358的大小对应于由存储器装置130的每一个别平面300、310、320和330使用的块大小(例如,16kB)。例如,平面存取控制组件113可识别对应于块大小的多平面段350的第一部分,且将所述第一部分存储为单平面段352。类似地,平面存取控制组件113可识别对应于块大小的多平面段350的其余部分的第二部分,且将所述第二部分存储为单平面段352。此过程可继续直至多平面段350中的所有数据都已被分配到单平面段中为止。
在操作415处,处理逻辑同时执行多个写入操作以将单平面数据段352、354、356和358中的每一个写入到存储器装置130的对应平面。在一个实施例中,平面存取控制组件113执行将单平面段352写入到平面300的第一写入操作、将单平面段354写入到平面310的第二写入操作、将单平面段356写入到平面320的第三写入操作,以及将单平面段358写入到平面330的第四写入操作。在一个实施例中,同时执行写入操作包含将一或多个数据块写入到存储器装置的两个或更多个平面。在一个实施例中,平面存取控制组件113可同时执行这些写入操作(即,在时间上至少部分地重叠),使得在启动对另一平面的另一写入操作的同时仍在执行对一个平面的一个写入操作的至少部分。为了同时执行写入操作,平面存取控制组件113可针对多个写入操作同时配置多个驱动器电路274(0)至274(3),每一驱动器电路对应于存储器装置130的平面300、310、320、330中的一者。每一驱动器电路可同时提供在存储器存取操作期间存取对应平面的块的信号。
在操作420处,处理逻辑在进行来自操作415的写入操作时接收对存储在存储器装置130的平面300上的数据(例如,来自块302)进行读取的请求。在一个实施例中,所述请求可从主机系统120被接收到且可涉及由主机系统120存储在存储器子系统110中的数据。在一个实施例中,所述请求可例如由存储器子系统控制器115在内部产生到存储器子系统110,且可涉及数据管理操作。主机系统120或存储器子系统控制器115可将请求和/或命令发送到存储器装置130,以便从存储器装置130读取数据。
在操作425处,处理逻辑暂停对应于平面300的第一写入操作。在一个实施例中,平面存取控制组件113将暂停命令发送到存储器装置130以致使存储器装置130临时暂停、中断或以其它方式停止执行正在进行中的写入操作。可保留关于写入操作的状态信息,使得稍后可在其停止的点恢复写入操作。
在操作430处,处理逻辑执行读取操作以读取存储在第一平面上的数据,同时继续执行第二写入操作。例如,平面存取控制组件113可对平面300执行读取操作,而不暂停正对平面310、320或330执行的写入操作。
在操作435处,处理逻辑在读取操作完成后恢复第一写入操作。在一个实施例中,平面存取控制组件113将恢复命令发送到存储器装置130以致使存储器装置130恢复、重新启动或以其它方式继续执行被暂停的写入操作。
图5示出计算机系统500的实例机器,在所述计算机系统内可执行用于使得机器执行本文中所论述的方法中的任何一或多个的一组指令。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或者所述计算机系统可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的平面存取控制组件113的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、企业内部网、外联网和/或因特网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中进行操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由机器采取的动作的一组指令的任何所述机器。此外,尽管示出单个机器,但术语“机器”还应被理解为包含机器的任何集合,所述机器单独地或联合地执行一组(或多组)指令以执行本文中所论述的方法中的任何一或多个。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)的动态随机存取存储器(DRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及经由总线530彼此通信的数据存储系统518。
处理装置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”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已参考本公开的具体实例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待本说明书和图式。

Claims (20)

1.一种系统,其包括:
存储器装置,其包括多个平面;以及
处理装置,其以操作方式与所述存储器装置耦合,以执行包括以下各项的操作:
接收将多平面数据段写入到所述存储器装置的请求;
将所述多平面数据段划分为至少第一单平面数据段和第二单平面数据段;
执行第一写入操作以将所述第一单平面数据段写入到所述多个平面的第一平面;以及
执行第二写入操作以将所述第二单平面数据段写入到所述多个平面的第二平面,其中所述第一写入操作和所述第二写入操作在时间上至少部分地重叠。
2.根据权利要求1所述的系统,其中所述处理装置用以执行包括以下各项的进一步操作:
在进行所述第一写入操作和所述第二写入操作时接收对存储在所述第一平面上的数据进行读取的请求;
暂停所述第一写入操作;以及
执行读取操作以读取存储在所述第一平面上的所述数据,同时继续执行所述第二写入操作。
3.根据权利要求2所述的系统,其进一步包括:
在完成所述读取操作后即刻恢复所述第一写入操作。
4.根据权利要求1所述的系统,其中所述第一单平面数据段和所述第二单平面数据段中的每一个对应于所述存储器装置的块大小。
5.根据权利要求1所述的系统,其中执行所述第一写入操作和所述第二写入操作包括将一或多个数据块写入到所述第一平面和所述第二平面中的每一个。
6.根据权利要求1所述的系统,其中执行所述第一写入操作和所述第二写入操作包括针对所述第一写入操作和所述第二写入操作同时配置对应于所述第一平面的第一驱动器电路以及对应于所述第二平面的第二驱动器电路。
7.一种方法,其包括:
接收将多平面数据段写入到存储器装置的请求,所述存储器装置包括多个平面;
将所述多平面数据段划分为多个单平面数据段;以及
同时执行多个写入操作以将所述多个单平面数据段中的每一个写入到所述存储器装置的所述多个平面的对应平面。
8.根据权利要求7所述的方法,其进一步包括:
在进行所述多个写入操作时接收对存储在所述多个平面的第一平面上的数据进行读取的请求;
暂停所述多个写入操作中的第一写入操作,所述第一写入操作对应于所述第一平面;以及
执行读取操作以读取存储在所述第一平面上的所述数据,同时继续执行与所述多个平面的另一平面对应的所述多个写入操作中的至少一个其它写入操作。
9.根据权利要求8所述的方法,其中执行所述读取操作包括读取存储在所述第一平面上的所述数据而不暂停所述多个写入操作中的所述至少一个其它写入操作。
10.根据权利要求8所述的方法,其进一步包括:
在完成所述读取操作后即刻恢复所述第一写入操作。
11.根据权利要求7所述的方法,其中所述多个单平面数据段中的每一个对应于所述存储器装置的块大小。
12.根据权利要求7所述的方法,其中同时执行所述多个写入操作包括将一或多个数据块写入到所述多个平面中的两个或更多个平面。
13.根据权利要求7所述的方法,其中同时执行所述多个写入操作包括针对所述多个写入操作同时配置多个驱动器电路,其中所述多个驱动器电路中的每一个对应于所述存储器装置的所述多个平面中的一者。
14.一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时使得所述处理装置执行包括以下各项的操作:
接收将多平面数据段写入到存储器装置的请求,所述存储器装置包括多个平面;
将所述多平面数据段划分为多个单平面数据段;以及
同时执行多个写入操作以将所述多个单平面数据段中的每一个写入到所述存储器装置的所述多个平面的对应平面。
15.根据权利要求14所述的非暂时性计算机可读存储媒体,其中所述处理装置用以执行包括以下各项的进一步操作:
在进行所述多个写入操作时接收对存储在所述多个平面的第一平面上的数据进行读取的请求;
暂停所述多个写入操作中的第一写入操作,所述第一写入操作对应于所述第一平面;以及
执行读取操作以读取存储在所述第一平面上的所述数据,同时继续执行与所述多个平面的另一平面对应的所述多个写入操作中的至少一个其它写入操作。
16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中执行所述读取操作包括读取存储在所述第一平面上的所述数据而不暂停所述多个写入操作中的所述至少一个其它写入操作。
17.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述处理装置用以执行包括以下各项的进一步操作:
在完成所述读取操作后即刻恢复所述第一写入操作。
18.根据权利要求14所述的非暂时性计算机可读存储媒体,其中所述多个单平面数据段中的每一个对应于所述存储器装置的块大小。
19.根据权利要求14所述的非暂时性计算机可读存储媒体,其中同时执行所述多个写入操作包括将一或多个数据块写入到所述多个平面中的两个或更多个平面。
20.根据权利要求14所述的非暂时性计算机可读存储媒体,其中同时执行所述多个写入操作包括针对所述多个写入操作同时配置多个驱动器电路,其中所述多个驱动器电路中的每一个对应于所述存储器装置的所述多个平面中的一者。
CN202110472284.4A 2020-04-30 2021-04-29 用于存储器装置的系统和方法 Active CN113590022B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/929,399 US11137938B1 (en) 2020-04-30 2020-04-30 Converting a multi-plane write operation into multiple single plane write operations performed in parallel on a multi-plane memory device
US15/929,399 2020-04-30

Publications (2)

Publication Number Publication Date
CN113590022A CN113590022A (zh) 2021-11-02
CN113590022B true CN113590022B (zh) 2024-05-14

Family

ID=77923727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110472284.4A Active CN113590022B (zh) 2020-04-30 2021-04-29 用于存储器装置的系统和方法

Country Status (2)

Country Link
US (2) US11137938B1 (zh)
CN (1) CN113590022B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114546294B (zh) * 2022-04-22 2022-07-22 苏州浪潮智能科技有限公司 一种固态硬盘读方法、系统及相关组件

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107589906A (zh) * 2016-07-08 2018-01-16 爱思开海力士有限公司 存储器系统及其操作方法
CN107615249A (zh) * 2015-05-14 2018-01-19 爱德斯托科技有限公司 存储器装置中的并发的读取操作和重新配置的写入操作
CN109471819A (zh) * 2017-09-08 2019-03-15 三星电子株式会社 为来自主机的读取请求提供短的读取响应时间的存储设备
CN110471612A (zh) * 2018-05-09 2019-11-19 深圳大心电子科技有限公司 存储器管理方法以及存储控制器
CN111078131A (zh) * 2018-10-18 2020-04-28 西部数据技术公司 使用交叉写入分开晶片平面

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI373769B (en) * 2008-08-15 2012-10-01 Phison Electronics Corp Block management method for flash memory and storage system and controller using the same
US9229854B1 (en) * 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
EP2965318B1 (en) * 2013-03-07 2018-05-02 Charles I. Peddle High speed flash controllers
US9595352B2 (en) * 2014-03-17 2017-03-14 Seagate Technology Llc Manufacturer self-test for solid-state drives
US20180336139A1 (en) * 2017-05-16 2018-11-22 Sandisk Technologies Llc Systems and methods for a highly-available memory
US20190073302A1 (en) * 2018-11-06 2019-03-07 Intel Corporation Ssd boot based on prioritized endurance groups
US11113006B2 (en) * 2019-05-06 2021-09-07 Micron Technology, Inc. Dynamic data placement for collision avoidance among concurrent write streams
US20200089407A1 (en) * 2019-11-22 2020-03-19 Intel Corporation Inter zone write for zoned namespaces
US11797433B2 (en) * 2019-12-20 2023-10-24 Sk Hynix Nand Product Solutions Corp. Zoned namespace with zone grouping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107615249A (zh) * 2015-05-14 2018-01-19 爱德斯托科技有限公司 存储器装置中的并发的读取操作和重新配置的写入操作
CN107589906A (zh) * 2016-07-08 2018-01-16 爱思开海力士有限公司 存储器系统及其操作方法
CN109471819A (zh) * 2017-09-08 2019-03-15 三星电子株式会社 为来自主机的读取请求提供短的读取响应时间的存储设备
CN110471612A (zh) * 2018-05-09 2019-11-19 深圳大心电子科技有限公司 存储器管理方法以及存储控制器
CN111078131A (zh) * 2018-10-18 2020-04-28 西部数据技术公司 使用交叉写入分开晶片平面

Also Published As

Publication number Publication date
US11137938B1 (en) 2021-10-05
US20210405928A1 (en) 2021-12-30
CN113590022A (zh) 2021-11-02
US11687285B2 (en) 2023-06-27

Similar Documents

Publication Publication Date Title
US11662939B2 (en) Checking status of multiple memory dies in a memory sub-system
CN113795820A (zh) 主机系统与存储器子系统之间的输入/输出大小控制
US11709605B2 (en) Storing zones in a zone namespace on separate planes of a multi-plane memory device
US11726690B2 (en) Independent parallel plane access in a multi-plane memory device
CN113590022B (zh) 用于存储器装置的系统和方法
US20220391321A1 (en) Concurrent page cache resource access in a multi-plane memory device
US11720490B2 (en) Managing host input/output in a memory system executing a table flush
US11681467B2 (en) Checking status of multiple memory dies in a memory sub-system
CN115148260A (zh) 使用更少锁存器的存储器装置编程技术
CN116261753A (zh) 多平面存储器装置中的不对称平面驱动器电路
CN114429777A (zh) 在编程操作暂停期间的编程操作执行
US11669456B2 (en) Cache release command for cache reads in a memory sub-system
CN115273925B (zh) 存储器子系统刷新
US11941290B2 (en) Managing distribution of page addresses and partition numbers in a memory sub-system
US11693597B2 (en) Managing package switching based on switching parameters
US11886346B2 (en) Cache read context switching in a memory sub-system
US20230058232A1 (en) Partition command queues for a memory device
US20230359398A1 (en) Enabling multiple data capacity modes at a memory sub-system
CN113495695B (zh) 用于存取命令的高速缓存标识符
US20230060744A1 (en) Memory sub-system signature generation
CN116149729A (zh) 输入/输出排序器指令集处理
CN115705853A (zh) 存储器装置中的独立平面架构
CN114550780A (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