CN111105828A - Nand读取命令的动态延迟 - Google Patents

Nand读取命令的动态延迟 Download PDF

Info

Publication number
CN111105828A
CN111105828A CN201911039038.9A CN201911039038A CN111105828A CN 111105828 A CN111105828 A CN 111105828A CN 201911039038 A CN201911039038 A CN 201911039038A CN 111105828 A CN111105828 A CN 111105828A
Authority
CN
China
Prior art keywords
read command
host read
memory
memory device
delay period
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
Application number
CN201911039038.9A
Other languages
English (en)
Other versions
CN111105828B (zh
Inventor
D·A·帕尔默
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
Priority to CN202110441080.4A priority Critical patent/CN113035257B/zh
Publication of CN111105828A publication Critical patent/CN111105828A/zh
Application granted granted Critical
Publication of CN111105828B publication Critical patent/CN111105828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • 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
    • G06F2212/1024Latency reduction

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

本申请涉及NAND读取命令的动态延迟。在一些实例中公开通过在发布命令之前引入延迟来提高读取命令可以并行执行的几率从而增加读取处理量的方法、系统、存储器装置和机器可读媒体。在接收到读取命令后,如果在裸片的给定部分(例如,平面或平面群组)的命令队列中不存在其它读取命令,那么控制器可以使用定时器延迟发布所述读取命令达一延迟时段。如果在所述延迟时段期间接收到合格读取命令,那么使用多平面读取并行发布延迟命令和最新接收到的命令。如果在所述延迟时段期间没有接收到合格读取命令,那么在所述延迟时段到期之后发布所述读取命令。

Description

NAND读取命令的动态延迟
技术领域
本公开大体上涉及存储器装置,且具体地说,涉及存储器装置的读取命令。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。
非易失性存储器可在不被供电时保持所存储的数据,且包含快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、磁阻式随机存取存储器(MRAM)或3D XPointTM存储器等等。
快闪存储器用作用于广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的单晶体管浮动栅极或电荷阱存储器单元的一或多个群组。
两个常见类型的快闪存储器阵列架构包含NAND和NOR架构,以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置成矩阵。在实例中,阵列的一行中的每个浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在NOR架构中,阵列的一列中的每个存储器单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列的一串中的每个存储器单元的漏极以源极到漏极方式一起串联耦合在源极线与位线之间。
NOR和NAND架构半导体存储器阵列均通过解码器来存取,所述解码器通过选择耦合到特定存储器单元的栅极的字线来激活特定存储器单元。在NOR架构半导体存储器阵列中,一旦被激活,选定存储器单元便使其数据值置于位线上,从而依据特定单元经编程的状态而使不同电流流动。在NAND架构半导体存储器阵列中,将高偏置电压施加到漏极侧选择栅极(SGD)线。以指定传递电压(例如,Vpass)驱动耦合到每一群组的未选定存储器单元的栅极的字线,以使每一群组的未选定存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。电流随后从源极线通过每个串联耦合的群组流动到位线,仅受每个群组中的选定存储器单元限制,从而使选定存储器单元的当前经编码数据值置于位线上。
NOR或NAND架构半导体存储器阵列中的每个快闪存储器单元可个别地或共同地编程到一个或数个经编程状态。例如,单层级单元(SLC)可表示两个经编程状态(例如,1或0)中的一个,表示一个数据位。
然而,快闪存储器单元也可表示超过两个经编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每个单元可表示超过一个二进制数字(例如,超过一个位)。此类单元可称为多状态存储器单元、多数位单元或多层级单元(multi-level cell,MLC)。在某些实例中,MLC可以指每单元可存储两个数据位(例如,四个经编程状态中的一个)的存储器单元,三层级单元(triple-level cell,TLC)可以指每单元可存储三个数据位(例如,八个经编程状态中的一个)的存储器单元,且四层级单元(quad-level cell,QLC)可每单元存储四个数据位。MLC在本文中以其较广泛情形使用,可以指每单元可存储多于一个数据位(即,可表示超过两个经编程状态)的任何存储器单元。
传统的存储器阵列是布置于半导体衬底的表面上的二维(2D)结构。为了针对给定面积增加存储器容量且减小成本,已减小单独存储器单元的大小。然而,存在单独存储器单元的大小减少的技术限制,且因此存在2D存储器阵列的存储器密度的技术限制。作为响应,正开发三维(3D)存储器结构,例如3D NAND架构半导体存储器装置,以进一步增加存储器密度且降低存储器成本。
这些3D NAND装置经常包含存储单元串,其串联(例如,漏极到源极)耦合于接近源极的一或多个源极侧选择栅极(SGS)与接近位线的一或多个漏极侧选择栅极(SGD)之间。在实例中,SGS或SGD可包含一或多个场效应晶体管(FET)或金属-氧化物半导体(MOS)结构装置等。在一些实例中,所述串将竖直延伸通过含有相应字线的多个竖直隔开的层次。半导体结构(例如,多晶硅结构)可邻近于存储单元串而延伸以形成用于所述串的存储单元的通道。在竖直串的实例中,多晶硅结构可呈竖直延伸支柱的形式。在一些实例中,串可以“折叠”,且因此相对于U形支柱而布置。在其它实例中,多个竖直结构可堆叠于彼此之上以形成存储单元串的堆叠阵列。
存储器阵列或装置可组合在一起以形成存储器系统的存储容量,例如固态驱动器(SSD)、通用快闪存储(UFSTM)装置、多媒体卡(MMC)固态存储装置、嵌入式MMC装置(eMMCTM)等。SSD尤其可用作计算机的主要存储装置,关于例如性能、大小、重量、坚固性、工作温度范围和功率消耗具有优于带有移动部件的传统硬盘驱动器的优点。例如,SSD可具有减少的寻道时间、等待时间或与磁盘驱动器相关联的其它延迟(例如,机电等)。SSD使用例如快闪存储器单元等非易失性存储器单元来避免内部电池电源要求,由此允许驱动器更为多功能的且紧凑的。
SSD可包含数个存储器装置,包含数个裸片或逻辑单元(例如,逻辑单元数字或LUN),且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。这些SSD可包含一或多个快闪存储器裸片,这些裸片上包含数个存储器阵列和外围电路系统。快闪存储器阵列可包含组织成数个物理页的数个存储器单元块。在许多实例中,SSD还将包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。SSD可与存储器操作结合从主机接收命令,所述存储器操作例如在存储器装置与主机之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据和地址数据等)的读取或写入操作,或者从存储器装置擦除数据的擦除操作。
发明内容
本公开的一方面提供一种用于提高存储器装置的存储器裸片内的并行读取概率的方法,所述方法包括:在所述存储器装置的控制器处执行包括以下各项的操作:接收请求存储在所述存储器装置的裸片的第一部分上的数据的第一主机读取命令;确定主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及并行执行所述第一主机读取命令和所述第二主机读取命令。
本公开的另一方面提供一种存储器装置,包括:NAND裸片,所述裸片包括多个不同部分;控制器,其经配置以执行包括以下各项的操作:接收请求存储在所述存储器装置的所述裸片的所述多个不同部分中的第一部分上的数据的第一主机读取命令;确定主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及并行执行所述第一主机读取命令和所述第二主机读取命令。
本公开的另一方面提供一种存储指令的机器可读媒体,所述指令在由控制器执行时使所述控制器执行包括以下各项的操作:接收请求存储在存储器装置的裸片的第一部分上的数据的第一主机读取命令;确定主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及并行执行所述第一主机读取命令和所述第二主机读取命令。
附图说明
在不一定按比例绘制的图式中,相似标号可以在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同例子。图式借助于实例且非限制性地总体上说明本文件中所论述的各种实施例。
图1示出包含存储器装置的环境的实例。
图2-3示出3D NAND架构半导体存储器阵列的实例的示意图。
图4示出存储器模块的实例框图。
图5示出根据本发明的一些实例的实施本发明的延迟读取命令的读取命令的两个时间线。
图6示出根据本发明的一些实例的提高读取命令的并行执行概率的方法的流程图。
图7示出根据本发明的一些实例的存储器控制器的功能性的实例逻辑图。
图8是示出可在上面实施一或多个实施例的机器的实例的框图。
具体实施方式
NAND存储器装置可以设计成使得对单个裸片的不同部分的多个读取可以并行完成。这可以称为多平面读取。如本文中所使用,裸片的部分一般是指可同时执行读取命令的相同裸片的不同平面或不同平面群组(例如,一组两个或更多个平面可构成平面群组)。对于特定工作负载来说,具有相同裸片但不同部分的两个待决读取命令可能相对罕见(例如移动电话)。例如,设想受管理NAND应用具有以下性能目标:在读取队列中一次总共有不到八个命令(QD8)。典型的受管理NAND存储器装置可具有四个裸片,其中每一裸片具有两个平面(总共八个平面)。假设读取命令跨NAND装置均匀分布,这平均分解为针对八个平面的八个命令,从而实现每平面仅一个命令。即使两个命令针对同一裸片也不会触发多平面读取,因为接收到的第一命令将立即发布,使得队列中没有留下任何内容。为了触发多平面读取,两个命令需要同时发布到存储器阵列。因此,根据当前实施方案,为了触发多平面读取,存储器装置需要同时针对相同裸片的至少两个部分的三个或更多个命令。依据工作负载,这可能也确实会发生,但是可能比较罕见。在某些情况下,这限制了多平面读取的有效性。
公开于一些实例中的是通过在发布读取命令之前引入延迟来提高可以使用多平面读取并行执行命令的概率从而增加读取处理量的方法、系统、存储器装置和机器可读媒体。在接收到读取命令后,如果在裸片的给定部分(例如,平面或平面群组)的读取队列中不存在其它读取命令,那么控制器可延迟发布读取命令达一延迟时段。如果在延迟时段期间接收到多平面读取合格读取命令,那么使用多平面读取并行发布延迟命令和最新接收到的命令。如果在延迟时段期间没有接收到多平面读取合格读取命令,那么在延迟时段到期之后发布排队读取命令。延迟时段可由软件或硬件定时器实施。在一些实例中,延迟时段的长度可以是动态的,并且可以基于主机工作负载来调整,以便最大化多平面读取的益处并最小化总命令等待时间和处理量的代价。尽管所公开的方法使单个命令的读取命令等待时间少量增加,但是总体系统等待时间可以通过并行执行更多读取命令来减少。
系统综述
例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适度系统等)和因特网连接的电器或装置(例如,物联网(IoT)装置等)等电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需要。
电子装置可分解为若干主要组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);以及存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、电力管理电路、基带处理器或者一或多个收发器电路等。
图1示出包含经配置以通过通信接口通信的主机装置105和存储器装置110的环境100的实例。主机装置105或存储器装置110可包含在多种产品150中,例如物联网(IoT)装置(例如,冰箱或其它电器、传感器、电动机或致动器、移动通信装置、汽车、无人驾驶飞机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115和存储器阵列120,包含例如数个单独存储器裸片(例如,三维(3D)NAND裸片的堆叠、一或多个NAND裸片等等)。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次、物理页的数目,并因此增大存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可以是主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可以是与主机装置105的一或多个其它组件堆叠或以其它方式包含的集成电路(例如,芯片上系统(SOC)等等)的部分。
可使用一或多个通信接口在存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口,或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储卡读卡器、或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可以是具有参考图8的机器800所论述的组件的某一部分或全部的机器。
存储器控制器115可以在存储器阵列120中的一或多个单独集成电路上,或者可以在相同集成电路上。在一些实例中,存储器控制器115的功能可以跨多个集成电路划分。例如,一些功能性可以在单独的集成电路上,且一些功能性可以是存储器阵列120的每一存储器裸片上的控制器的部分。存储器控制器115可从主机105接收指令,并且可与存储器阵列通信,以便将数据传送到存储器阵列的存储器单元、平面、子块、块或页中的一或多个(例如,写入或擦除)或传送来自前述各项的数据(例如,读取)。存储器控制器115尤其可包含电路系统或固件,包含一或多个组件或集成电路。例如,存储器控制器115可包含一或多个存储器控制单元、电路或组件,它们经配置以控制跨越存储器阵列120的存取并提供主机105与存储器装置110之间的转换层。存储器控制器115可包含一或多个输入/输出(I/O)电路、线或接口以向存储器阵列120传送数据或传送来自所述存储器阵列的数据。存储器控制器115可包含存储器管理器125和阵列控制器135。
存储器管理器125尤其可包含电路系统或固件,例如与各种存储器管理功能相关联的数个组件或集成电路。出于本描述的目的,实例存储器操作和管理功能将在NAND存储器的上下文中加以描述。所属领域的普通技术人员将认识到,其它形式的非易失性存储器可具有类似存储器操作或管理功能。此类NAND管理功能包含耗损均衡(例如,垃圾收集或回收)、错误检测或校正、块注销(block retirement)或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等等),或产生阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,用于实现各种存储器管理功能)。
存储器管理器125可包含经配置以保持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储器单元相关联的各种信息)的一组管理表格130。例如,管理表格130可包含关于耦合到存储器控制器115的一或多个存储器单元块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果检测到的一或多个错误计数中的错误的数目高于阈值,那么位错误可称为不可校正位错误。管理表格130尤其可保持可校正或不可校正位错误的计数。
阵列控制器135尤其可包含经配置以控制存储器操作的电路系统或组件,所述存储器操作与对耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据、从所述一或多个存储器单元读取数据或者擦除所述一或多个存储器单元相关联。所述存储器操作可基于例如从主机105接收的主机命令,或在内部由存储器管理器125产生(例如,与耗损均衡、错误检测或校正等结合)。
阵列控制器135可包含错误校正码(ECC)组件140,其尤其可包含ECC引擎或其它电路系统,所述ECC引擎或其它电路系统经配置以检测或校正与对耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据或从所述一或多个存储器单元读取数据相关联的错误。存储器控制器115可经配置以主动地检测与各种操作或数据存储相关联的错误发生(例如,位错误、操作错误等)且从其恢复,同时维持主机105与存储器装置110之间传送的数据的完整性,或维持所存储数据的完整性(例如,使用冗余RAID存储等),且可移除(例如,注销)故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止未来错误。
在一些实例中,存储器阵列可包括数个NAND裸片,且特定NAND裸片的存储器控制器115的一或多个功能可实施在所述特定裸片的裸片上控制器上。还可利用控制功能性的其它组织和描述,例如用于每一裸片、平面、超级块、块、页等等的控制器。
存储器阵列120可包含布置在例如数个装置、半导体裸片、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块和每装置4个或更多个平面。作为另一实例,32GB MLC存储器装置(存储每单元两个数据位(即,4个可编程状态))可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1024页、每平面548块和每装置4个平面,但是写入时间只需对应TLC存储器装置的一半,而编程/擦除(P/E)循环需要两倍。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其部分可以选择性地在SLC模式中或在所要MLC模式(例如TLC、QLC等)中操作。
在操作中,数据通常以页写入到NAND存储器装置110或从NAND存储器装置110读取并以块擦除。然而,一或多个存储器操作(例如,读取、写入、擦除等)可视需要在更大或更小的存储器单元群组上执行。NAND存储器装置110的数据传送大小通常被称为页,而主机的数据传送大小通常被称为扇区。
虽然数据页可包含数个字节的用户数据(例如,包含数个数据扇区的数据有效负载)及其对应的元数据,但页的大小经常仅指代用以存储用户数据的字节的数目。作为实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定512B的扇区大小的8个扇区)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同页大小,或可需要与其相关联的不同量的元数据。例如,不同存储器装置类型可具有不同位错误速率,其可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可需要比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为实例,多层级单元(MLC)NAND快闪装置可具有比对应单层级单元(SLC)NAND快闪装置高的位错误率。因此,MLC装置可需要比对应SLC装置更多的元数据字节用于错误数据。
图2示出包含数个存储器单元串(例如,第一到第三A0存储器串205A0-207A0,第一到第三An存储器串205An-207An,第一到第三B0存储器串205B0-207B0,第一到第三Bn存储器串205Bn-207Bn等)的3D NAND架构半导体存储器阵列200的实例示意图,所述存储器单元串组织成块(例如,块A 201A、块B 201B等)和子块(例如,子块A0 201A0、子块An 201An、子块B0201B0、子块Bn 201Bn等)。存储器阵列200表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的相似结构的一部分。
每一存储器单元串包含数个层次的电荷存储晶体管(例如,浮动栅极晶体管、电荷截留结构等),所述电荷存储晶体管在Z方向上以源极到漏极方式堆叠于源极线(SRC)235或源极侧选择栅极(SGS)(例如,第一到第三A0 SGS 231A0-233A0、第一到第三An SGS 231An-233An、第一到第三B0 SGS 231B0-233B0、第一到第三Bn SGS 231Bn-233Bn等)与漏极侧选择栅极(SGD)(例如,第一到第三A0 SGD 226A0-228A0、第一到第三An SGD 226An-228An、第一到第三B0 SGD 226B0-228B0、第一到第三Bn SGD 226Bn-228Bn等)之间。3D存储器阵列中的每一存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0-BL2 220-222),且沿着Y方向布置为物理页。
在物理页内,每一层次表示一行存储器单元,且每一存储器单元串表示列。子块可包含一或多个物理页。块可包含数个子块(或物理页)(例如,128、256、384等)。虽然本文中示出为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,且每一串具有8个层次的存储器单元,但在其它实例中,存储器阵列200可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。例如,每一存储器单元串按需要可包含更多或更少层次(例如,16、32、64、128等),以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的一或多个额外层次的半导体材料。作为实例,48GB TLCNAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块,和每装置4个或更多个平面。
存储器阵列200中的每一存储器单元包含耦合到(例如,以电或另外以操作方式连接到)存取线(例如,字线(WL)WL00-WL70 210A-217A、WL01-WL71 210B-217B等)的控制栅极(CG),所述存取线按需要跨越特定层次或层次的一部分共同地耦合控制栅极(CG)。3D存储器阵列中的特定层次且因此串中的特定存储器单元可使用相应存取线来存取或控制。可使用各种选择线存取选择栅极的群组。例如,可使用A0 SGD线SGDA0 225A0存取第一到第三A0SGD 226A0-228A0,可使用An SGD线SGDAn 225An存取第一到第三An SGD 226An-228An,可使用B0 SGD线SGDB0 225B0存取第一到第三B0 SGD 226B0-228B0,且可使用Bn SGD线SGDBn 225Bn存取第一到第三Bn SGD 226Bn-228Bn。可使用栅极选择线SGS0 230A存取第一到第三A0 SGS231A0-233A0和第一到第三An SGS 231An-233An,且可使用栅极选择线SGS1 230B存取第一到第三B0 SGS 231B0-233B0和第一到第三Bn SGS 231Bn-233Bn
在实例中,存储器阵列200可包含数个层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。阵列中的特定存储器单元串可使用位线(BL)和选择栅极等的组合来存取、选择或控制,且在特定串中的一或多个层次处的特定存储器单元可使用一或多个存取线(例如,字线)来存取、选择或控制。
图3示出NAND架构半导体存储器阵列300的一部分的实例示意图,所述阵列包含布置于串(例如,第一到第三串305-307)和层次(例如,示出为相应字线(WL)WL0-WL7 310-317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列中的多个存储器单元302以及感测放大器或装置360。例如,存储器阵列300可示出例如图2中示出的3DNAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一到第三SGS 331-333)耦合到源极线(SRC)335,且使用相应漏极侧选择栅极(SGD)(例如,第一到第三SGD326-328)耦合到相应数据线(例如,第一到第三位线(BL)BL0-BL2 320-322)。虽然在图3的实例中示出为具有8个层次(例如,使用字线(WL)WL0-WL7 310-317)和三个数据线(BL0-BL2326-328),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。
在例如实例存储器阵列300等NAND架构半导体存储器阵列中,可通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化而存取所选存储器单元302的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列300。在实例中,取决于对特定存储器单元或存储器单元集合将执行的所需操作的类型,一或多个驱动器可通过驱动特定电位到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极而激活特定存储器单元或存储器单元集合。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,WL4),且因此施加到耦合到选定字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一到第三控制栅极(CG)341-343)。编程脉冲可例如在15V处或附近开始,并且在某些实例中,可在每一编程脉冲施加期间量值增加。在将编程电压施加到选定字线的同时,可将例如接地电位(例如,Vss)等电位施加到以编程为目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的通道),从而导致从通道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(Fowler-Nordheim,FN)隧穿等)。
相比之下,可将传递电压(Vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如,Vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道传送到这些非目标存储器单元的浮动栅极。传递电压可例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可包含相对于接地电位(例如,Vss)的供应电压(Vcc),例如来自外部源或供应(例如,电池、AC/DC转换器等)的电压。
作为实例,如果将编程电压(例如,15V或更高)施加到特定字线,例如WL4,那么可将10V的传递电压施加到一或多个其它字线,例如WL3、WL5等,以禁止非目标存储器单元的编程,或保持并不以编程为目标的这些存储器单元上存储的值。随着施加的编程电压与非目标存储器单元之间的距离增大,制止对非目标存储器单元进行编程所需的传递电压可减小。例如,在将15V的编程电压施加到WL4的情况下,可将10V的传递电压施加到WL3和WL5,可将8V的传递电压施加到WL2和WL6,可将7V的传递电压施加到WL1和WL7等。在其它实例中,传递电压或字线的数目等可更高或更低,或更多或更少。
耦合到数据线(例如,第一、第二或第三位线(BL0-BL2)320-322)中的一或多个的感测放大器360可通过感测特定数据线上的电压或电流而检测相应数据线中的每一存储器单元的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行检验操作以确定所选存储器单元是否已到达其既定经编程状态。如果所选存储器单元已到达其既定经编程状态,那么可禁止其进一步编程。如果所选存储器单元尚未到达其既定经编程状态,那么可施加额外编程脉冲。如果在特定数目的编程脉冲(例如,最大数目)之后所选存储器单元尚未到达其既定经编程状态,那么所选存储器单元或与这些所选存储器单元相关联的串、块或页可标记为有缺陷的。
为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到以擦除为目标的存储器单元的衬底(且因此源极与漏极之间的通道),同时目标存储器单元的字线保持在例如接地电位(例如,Vss)的电位,从而导致从目标存储器单元的浮动栅极到通道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
图4示出存储器装置400的实例框图,所述存储器装置包含具有多个存储器单元404的存储器阵列402,以及用以提供与存储器阵列402的通信或对所述存储器阵列执行一或多个存储器操作的一或多个电路或组件。存储器装置400可包含行解码器412、列解码器414、感测放大器420、页缓冲器422、选择器424、输入/输出(I/O)电路426以及存储器控制单元430。
存储器阵列402的存储器单元404可布置于块中,例如第一块402A和第二块402B。每一块可包含子块。例如,第一块402A可包含第一子块402A0和第二子块402An,且第二块402B可包含第一子块402B0和第二子块402Bn。每一子块可包含数个物理页,每一页包含数个存储器单元404。虽然本文中示出为具有两个块,每一块具有两个子块,且每一子块具有数个存储器单元404,但在其它实例中,存储器阵列402可包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元404可布置于数个行、列、页、子块、块等中,且使用例如存取线406、第一数据线410或一或多个选择栅极、源极线等来存取。
存储器控制单元430可根据在控制线432上接收的一或多个信号或指令控制存储器装置400的存储器操作,所述一或多个信号或指令包含例如指示所需操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线416上接收的地址信号(A0-AX)。在存储器装置400外部的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。在存储器装置400外部的装置的实例可包含(但不限于)主机、存储器控制器、处理器或图4中未示出的一或多个电路或组件。
存储器装置400可使用存取线406和第一数据线410来对(例如,写入或擦除)或从(例如,读取)存储器单元404中的一或多个传送数据。行解码器412和列解码器414可从地址线416接收且解码地址信号(A0-AX),可确定将存取存储器单元404中的哪些,且可提供信号到例如上文描述的存取线406(例如,多个字线(WL0-WLm)中的一或多个)或第一数据线410(例如,多个位线(BL0-BLn)中的一或多个)中的一或多个。
存储器装置400可包含感测电路系统,例如感测放大器420,其经配置以使用第一数据线410确定存储器单元404上的数据的值(例如,读取),或确定将写入到存储器单元404的数据的值。例如,在存储器单元404的选定串中,感测放大器420中的一或多个可响应于读取电流在存储器阵列402中流动通过选定串到数据线410而读取所选存储器单元404中的逻辑电平。
在存储器装置400外部的一或多个装置可使用I/O线(DQ0-DQN)408、地址线416(A0-AX)或控制线432与存储器装置400通信。输入/输出(I/O)电路426可根据例如控制线432和地址线416,使用I/O线408将数据的值传送进出存储器装置400,例如进出页缓冲器422或存储器阵列402。页缓冲器422可存储从在存储器装置400外部的一或多个装置接收的数据,然后将所述数据编程到存储器阵列402的相关部分中,或者可存储从存储器阵列402读取的数据,然后将所述数据发射到在存储器装置400外部的一或多个装置。
列解码器414可将地址信号(A0-AX)接收且解码为一或多个列选择信号(CSEL1-CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1-CSELn)且选择页缓冲器422中表示将从存储器单元404读取或将编程到存储器单元404中的数据值的数据。选定数据可使用第二数据线418在页缓冲器422与I/O电路426之间传送。在一些实例中,快闪转换层(未示出)可将由主机提供的地址映射到供行解码器412和列解码器414用于读取存储器阵列402中的数据的物理存储器地址。
存储器控制单元430可从外部源或供应(例如,内部或外部电池、AC/DC转换器等)接收正和负供应信号,例如供应电压(Vcc)434和负供应(Vss)436(例如,接地电位)。在某些实例中,存储器控制单元430可包含调节器428以内部地提供正或负供应信号。
存储器命令的动态延迟
通常,当存储器装置接收主机读取命令时,如果所述特定裸片的读取队列为空,那么存储器装置立即发布读取命令以供执行。如果读取队列中具有另一命令或存储器装置目前正在执行另一命令,那么存储器装置将命令添加到读取队列的末尾。一旦存储器装置准备好进行下一读取命令,就从队列读取队列中的第一命令(例如,按照先进先出(FIFO)顺序),并将其发布到存储器装置。队列是裸片级队列,也就是说,裸片的读取命令排队成相同队列,而不管它们是用于裸片的哪一部分。
如先前描述,NAND可以设计成允许NAND裸片的特定部分的读取命令并行执行。为了最大化并行执行多个读取命令的概率,可以将有意延迟引入到读取命令处理中。
图5示出根据本发明的一些实例的实施本发明的延迟读取命令的读取命令的两个时间线。时间线502示出其中在时间A接收到第一裸片的第一部分(例如,第一平面或平面群组)的第一读取请求504的时间线。在时间A,第一裸片的队列中没有其它多平面读取兼容读取命令正在等待。多平面读取兼容读取命令是针对相同存储器(例如,NAND)裸片的两个不同部分的两个读取命令。存储器控制器延迟向存储器阵列发布读取命令,直到发生延迟时间段到期或接收到多平面读取兼容读取命令(例如,对第一裸片的第二部分的第二读取请求)中的最早者为止,而不是立即发布第一读取请求。如时间线502中所示,在延迟时段506期间没有接收到第一裸片的第二部分的其它读取请求。在延迟时段506的末尾,可以在时间A+X——其中X是延迟时段的长度——发布第一读取请求508。
相比之下,对于时间线510,可以在时间A接收到第一裸片的第一部分的第一读取请求512。在时间A,第一裸片的队列中没有其它多平面读取兼容读取命令正在等待。存储器控制器延迟向存储器阵列发布读取命令,直到发生延迟时间段514到期或接收到对第一裸片的第二部分的第二读取请求中的最早者为止,而不是立即发布第一读取请求。如时间线510上所示,在时间A+y接收到第二读取请求,时间A+y在延迟时间段到期之前。第二读取请求是多平面读取兼容的,因为它针对第一裸片的第二区域。在516处,执行作为多平面的读取请求第一和第二读取请求,并且是并行地执行。接着可以取消延迟时间段518的剩余部分。
延迟时间段可以由定时器实施,所述定时器可以是基于软件或硬件的定时器。例如,在504或512接收到第一读取请求后,控制器可以设置定时器,其具有超时值X。如果定时器到期(如时间线502中所示),那么可以发布待决读取命令(第一读取请求504)。如果在定时器到期之前接收到第二读取请求(如时间线510中所示),那么可以并行地执行第一和第二读取请求,并且可以取消定时器。
图6示出根据本发明的一些实例的提高读取命令的并行执行概率的方法600的流程图。在操作602处,接收到第一裸片的第一部分(例如,第一平面或第一平面群组)的读取请求。在操作603处,控制器检查所述裸片的队列是否为空或多平面读取兼容读取请求在队列中是否待决(例如,延迟时段待决)。为了确定多平面读取兼容请求是否待决,可以扫描队列中的读取请求。如果队列为空,那么可以在操作604处启动延迟时段定时器,并且在操作606处对请求进行排队。如果队列不为空且兼容多平面读取请求待决,那么在操作608处,在操作602处接收到的请求和排队请求可以作为多平面读取命令发布以供并行执行。如果队列不为空但是队列中的命令不是兼容多平面读取请求,那么在一些实例中,不启动定时器。在其它实例中,如果队列不为空但是队列中的命令不是兼容多平面读取请求,那么在一些实例中,仍然启动定时器,如同队列为空。在操作610处,如果已经设置先前延迟时段定时器,那么可以取消所述定时器。如果在操作604处设置的延迟定时器在接收到第二多平面读取合格命令之前到期,那么在操作612处可以接收到超时。例如,接收到或辨识出超时消息或通知,使得控制器中的代码得以执行以处理超时。在操作614处,所排队的待决读取指令例如在操作606处可以发布,且队列可以清空。
图7示出根据本发明的一些实例的存储器控制器715的功能性的实例逻辑图。例如,存储器控制器715可以是存储器控制器115的实例实施方案。存储器控制器715可包含存储器管理器725和阵列控制器735。存储器管理器725可以是存储器管理器125的实例,且阵列控制器735可以是阵列控制器135的实例。
存储器管理器725可包含经配置以保持与存储器装置的一或多个组件相关联的各种信息的一组管理表格730。管理表格730可以是管理表格130的实例。如关于管理表格130所提到,管理表格730可包含关于耦合到存储器控制器715的一或多个存储器单元块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。管理表格730可存储写入放大度量的一或多个分量。
阵列控制器735尤其可包含经配置以控制与将数据写入到耦合到存储器控制器715的存储器装置的一或多个存储器单元、从所述存储器单元读取数据或擦除所述存储器单元相关联的存储器操作的电路系统或组件。阵列控制器735可以是阵列控制器135的实例。存储器操作可例如基于从主机105接收或在内部由存储器管理器725产生(例如,与耗损均衡、错误检测或校正等结合)的主机命令。阵列控制器735可包含错误校正码(ECC)组件740,它可以是错误校正码(ECC)组件140的实例。
读取组件746可通过主机处理读取请求。例如,读取组件746可实施图6的方法。读取组件746可检查特定裸片的队列中的多平面读取兼容读取命令。如果多平面读取兼容读取命令存在于队列中,那么读取组件746可共同发布读取命令作为使读取并行地执行的多平面读取命令的部分。如前所述,不同部分可以是不同平面,但是在其它实例中,不同部分可以是不同平面群组(例如,多个平面可以逻辑上一起分组到一平面群组中)、不同页、块等等。如果队列不含任何兼容多平面读取命令,那么读取组件746可使读取请求置于队列中并启动定时器以便开始延迟时间段。如先前论述,在发生接收到兼容多平面读取请求和定时器到期中的较早者后将读取请求发布到存储器阵列。
定时器组件742可基于关于存储器装置工作负载计算出的统计数据而确定延迟时间段的值。存储器的每一裸片、平面或其它部分可具有相同或不同的超时值,并且因此具有相同或不同的延迟时间段。实例统计数据包含队列深度(例如,队列深度越高,延迟时间段越短,反之亦然)、读取容量、多平面读取利用百分比、所跟踪的指示将在给定持续时间内接收到多平面读取兼容读取的概率的统计数据等等。延迟时间段长度可在每次设置定时器时确定(例如,计算或查找可以在每次设置定时器时完成),或者可由存储器装置周期性地确定(例如,独立进程监测超时值所基于的统计数据并存储接着在设置定时器时所检索的超时值)。
在一些实例中,延迟时间段长度可基于瞬时队列深度而确定。例如,当设置定时器时,可确定队列深度,并且查找表可返回所述队列深度的预定定时器值。在其它实例中,使用在一段时间内的流动平均队列深度来确定延迟时间段。例如,可使用过去5分钟内的平均队列深度连同可返回所述队列深度的预定定时器值的查找表。在一些实例中,并不是使用查找表,而是可以使用函数或公式来确定延迟时间段长度,其中队列深度或平均队列深度作为函数的输入。例如,阶跃函数、线性函数等等。
在其它实例中,可以使用其它统计数据来设置延迟时间段长度,例如跟踪作为多平面读取请求提交的读取请求百分比的多平面读取利用百分比。此统计数据可由读取组件746跟踪并供定时器组件742使用以设置超时长度。利用百分比被定义为多平面读取请求的数目除以读取请求的总数乘以100。存储器装置可比较多平面读取利用百分比与目标多平面读取利用百分比。多平面读取利用百分比低于目标可导致延迟时间段延长(直到最大值)。多平面读取利用百分比可导致延迟时间段连续延长,直到多平面读取利用百分比处于或大于目标多平面读取利用为止或直到达到最大延迟时间段长度为止。在一些实例中,为了确保极小延迟,一旦多平面读取利用百分比处于或大于目标多平面读取利用,时间值就可衰减回到最小值,只要多平面读取利用保持在利用百分比即可。如先前描述,延迟时段长度可以所选择的所确定最大时间段值为界,以便确保系统不会过长延迟读取请求。
读取队列组件744可实施读取命令队列。从主机接收的读取命令可以一开始由读取组件746接收。读取组件746可向读取队列组件提交接收到的读取请求以供排队,并且可以接收离队的读取请求。读取队列744可包含用于确定队列深度的逻辑,使得读取组件746能够判定是让读取请求入队还是立即发布它。
图8示出实例机器800的框图,本文所论述的任何一或多种技术(例如,方法)可以在所述实例机器上执行。在替代实施例中,机器800可以充当独立装置或可以连接(例如,联网)到其它机器。在联网部署中,机器800可在服务器-客户端网络环境中以服务器机器、客户端机器或这两者的容量操作。在实例中,机器800可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器800可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、IoT装置、汽车系统、主机装置或能够(连续或以其它方式)执行指定将由所述机器采取的动作的指令的任何机器。机器1000的组件可存在于存储器装置(例如,处理器、主存储器、大容量存储装置等等)中。此外,虽然仅示出单个机器,但术语“机器”也将被视为包含个别地或共同地执行一组(或多组)指令以执行本文中所论述的方法中的任何一或多个(例如,云计算、软体即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构而操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路系统成员可以随时间和基础硬件可变性为灵活的。电路系统包含当操作时可单独或组合地执行特定任务的部件。在实例中,电路系统的硬件可以被永恒地设计成实行特定操作(例如,硬接线)。在实例中,电路系统的硬件可以包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电性质例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件以当在操作中时实行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路系统中的多于一个部件中。例如,在操作中,执行单元在一个时间点处可以用于第一电路系统的第一电路中,且由第一电路系统中的第二电路或由第二电路系统中的第三电路在不同时间重新使用。
机器(例如,计算机系统)800(例如,主机装置105、存储器装置110等)可包含硬件处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器804和静态存储器806,其中的一些或全部可经由互连链路(例如,总线)808彼此通信。机器800可进一步包含显示单元810、字母数字输入装置812(例如,键盘)和用户接口(UI)导航装置814(例如,鼠标)。在实例中,显示单元810、输入装置812和UI导航装置814可为触摸屏显示器。机器800可另外包含存储装置(例如,驱动单元)816、信号产生装置818(例如,扬声器)、网络接口装置820和一或多个传感器816,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器800可包含输出控制器828,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以通信或控制一或多个外围装置(例如,打印机、读卡器等)。
存储装置816可包含机器可读媒体822,体现本文所描述的技术或功能中的任何一或多者或由其利用的数据结构或指令824(例如,软件)的一或多个集合存储于所述机器可读媒体上。指令824还可在其由机器800执行期间完全或至少部分地驻留在主存储器804内、静态存储器806内或硬件处理器802内。在实例中,硬件处理器802、主存储器804、静态存储器806或存储装置816中的一个或任何组合可构成机器可读媒体822。
虽然机器可读媒体822示出为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令824的单个媒体或多个媒体(例如,集中或分布式数据库,或相关联高速缓冲存储器和服务器)。
术语“机器可读媒体”可以包含能够存储、编码或载送用于由机器800执行的指令且使机器800执行本发明的技术中的任何一或多个,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的具体实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移除式盘;磁光碟;以及CD-ROM和DVD-ROM盘。
指令824(例如,软件、程序、操作系统(OS)等)或其它数据存储于存储装置821上,可由存储器804存取以供处理器802使用。存储器804(例如,DRAM)通常是快速但易失性的,且因此是与存储装置821(例如,SSD)不同类型的存储,所述存储装置821适合于长期存储,包含在“断开”条件中时的长期存储。在由用户或机器800的使用中的指令824或数据通常加载于存储器804中供处理器802使用。当存储器804装满时,可分配来自存储装置821的虚拟空间以补充存储器804;然而,因为存储821装置通常比存储器804慢,且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储装置等待时间(与存储器804相比,例如DRAM)可极大地降低用户体验。此外,用于虚拟存储器的存储装置821的使用可极大地减少存储装置821的可用使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,
Figure BDA0002252345230000181
内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置821的分页。分页在经压缩块中发生直到必须将这些数据写入到存储装置821为止。虚拟存储器压缩增加存储器804的可用大小,同时减少存储装置821上的磨损。
针对移动电子装置或移动存储而优化的存储装置传统地包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的数个并行接口(例如,8位并行接口),且经常是从主机装置可移除和分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度比得上基于串行ATATM(串行高级技术(AT)附接,或SATA)的SSD装置。然而,对移动装置性能的需求持续增大,以便完全实现虚拟或增强现实装置,利用增加的网络速度等。响应于此需求,存储装置已经从并行转移到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。
指令824可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置820使用传输媒体在通信网络826上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为
Figure BDA0002252345230000182
的电气电子工程师学会(IEEE)802.11系列标准、称为
Figure BDA0002252345230000183
的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等式(P2P)网络,以及其它网络。在实例中,网络接口装置820可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络826。在实例中,网络接口装置820可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个无线地通信。术语“传输媒体”应被视为包含能够存储、编码或载送指令以由机器800执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
以上详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。所述图式借助于说明展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所示出或所描述的那些元件之外的元件。然而,本发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文件中,术语如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在此文献中,术语“或”用于指代非排它性或,使得除非另有指示,否则“A或B”可包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含”和“在其中(in which)”用作相应术语“包括”和“其中(wherein)”的通俗等效术语。此外,在所附权利要求书中,术语“包含”和“包括”为开放式的,也就是说,包含除权利要求书中在此术语之后列出的那些元件之外的元件的系统、装置、物品或过程仍被视为在权利要求书的范围内。此外,在随附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标签,且并不在于对其对象施加数字要求。
在各种实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可包含存储于物理装置上的物理电路系统或固件等。如本文中所使用,“处理器”意指任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(DSP),或任何其它类型的处理器或处理电路,包含处理器或多核心装置群组。
如在本文档中所使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如下伏于晶片或裸片的常规平面或表面,而无论在任一时间点所述衬底的实际定向如何。术语“竖直”指代垂直于如上定义的水平的方向。例如“上”、“上方”和“下方”等介词是相对于常规平面或表面在衬底的顶部或暴露表面上而定义,无论衬底的定向如何;且同时“上”既定表明一个结构相对于其位于其“上”的另一结构的直接接触(无做出相反指示的表达的存在下);术语“上方”和“下方”明确地既定识别结构(或层、特征等)的相对放置,其明确地包含但不限于所识别结构之间的直接接触,除非具体来说如此指示。类似地,术语“上方”和“下方”不限于水平定向,因为如果一结构在某个时间点是所讨论的构造的最外部分,那么即使所述结构相对于参考结构竖直延伸而不是在水平定向上延伸,此结构也可在参考结构“上方”。
本文使用术语“晶片”和“衬底”来大体上指代集成电路形成于其上的任何结构,并且还指代在集成电路制造的各个阶段期间的这些结构。因此,以下详细描述不应以限制性意义来理解,并且各种实施例的范围仅由所附权利要求书连同此权利要求书授权的等效物的完整范围定义。
根据本发明且在本文中所描述的各种实施例包含使用存储器单元的竖直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,将采用相对有存储器单元形成在上面的衬底的表面的方向性形容词(即,竖直结构将被视为远离衬底表面而延伸,竖直结构的底端将被视为最接近衬底表面的端部,并且竖直结构的顶端将被视为最远离衬底表面的端部)。
如本文中所使用,方向性形容词(例如水平、竖直、正交、平行、垂直等)可指相对定向,并且除非另外指出,否则并不意图需要严格遵守具体几何性质。例如,如本文中所使用,竖直结构无需精确地垂直于衬底的表面,而是可替代地大体上垂直于衬底的表面,并且可形成与衬底的表面的锐角(例如,在60度与120度之间等)。
在本文所描述的一些实施例中,可将不同掺杂配置应用于源极侧选择栅极(SGS)、控制栅极(CG)和漏极侧选择栅极(SGD),其中的每一个在此实例中可以由多晶硅形成或至少包含多晶硅,结果使得这些层次(例如,多晶硅等)当暴露于蚀刻溶液时可具有不同蚀刻速率。例如,在3D半导体装置中形成单片支柱的过程中,SGS和CG可形成凹部,而SGD可保持较少凹入或甚至不凹入。这些掺杂配置因此可通过使用蚀刻溶液(例如,四甲基铵氢氧化物(TMCH))实现进入3D半导体装置中的相异层次(例如,SGS、CG和SGD)中的选择性蚀刻。
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中被称作“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据本发明的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、适配、导出、界定、利用、修改、应用等)磨损循环的数量,或磨损状态(例如,记录磨损循环、在存储器装置的操作发生时对其进行计数、跟踪其起始的存储器装置的操作、评估对应于磨损状态的存储器装置特性等)。
根据本发明的一或多个实施例,存储器存取装置可经配置以关于每一存储器操作将磨损循环信息提供到存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能改变。存储器装置可接收磨损循环信息且响应于磨损循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合或可存在介入元件。相比之下,当一元件被称作“直接”在另一元件“上”、“直接连接到”或“直接耦合到”另一元件时,不存在介入的元件或层。如果两个元件在图式中展示为被线连接,那么除非另外指明,否则所述两个元件可耦合、或直接耦合。
本文中所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有指令的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在以上实例中描述的方法。这类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等等。这类代码可包含用于执行各种方法的计算机可读指令。所述代码可以形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。
以上描述预期为说明性的而非限制性的。例如,上述实例(或其一或多个方面)可以彼此组合使用。例如所属领域的技术人员在查阅以上描述后可使用其它实施例。所述摘要在遵守以下理解的情况下提交:其将不会用于解释或限制权利要求的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本发明。不应将此情况解释为期望未主张的公开特征对任何权利要求来说是必需的。实情为,本发明标的物可在于比特定所揭示实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期此些实施例可以各种组合或排列彼此组合。本发明的范围应该通过参考所附的权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
其它注意和实例
实例1是一种用于提高存储器装置的存储器裸片内的并行读取概率的方法,所述方法包括:在所述存储器装置的控制器处执行包括以下各项的操作:接收请求存储在所述存储器装置的裸片的第一部分上的数据的第一主机读取命令;确定主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟所述第一主机读取命令的执行达一延迟时间段;在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及并行执行所述第一主机读取命令和所述第二主机读取命令。
在实例2中,实例1的主题包含,其中所述延迟时间段是可变的,并且基于所述主机读取命令队列的深度而确定。
在实例3中,实例2的主题包含响应于所述主机读取命令队列的减少而延长所述延迟时间段。
在实例4中,实例1-3的主题包含,其中所述方法进一步包括:接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;确定所述主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟所述第三主机读取命令的执行达所述延迟时间段;确定所述延迟时间段已流逝同时没有接收到请求存储在所述存储器装置的所述裸片的第二部分上的数据的第四主机读取命令,并作为响应,执行所述第三主机读取命令。
在实例5中,实例1-4的主题包含,其中执行所述主机读取命令和所述第二主机读取命令包括组合所述命令。
在实例6中,实例1-5的主题包含,其中执行所述主机读取命令和所述第二主机读取命令包括取消所述延迟时间段。
在实例7中,实例1-6的主题包含,其中所述存储器装置是NAND存储器装置。
在实例8中,实例1-7的主题包含,其中所述方法进一步包括:接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;确定所述主机读取命令队列不为空;以及响应于确定所述主机读取命令队列不为空,在不具有延迟时段的情况下执行所述第三主机读取命令。
实例9是一种存储器装置,其包括:NAND裸片,所述裸片包括多个不同部分;控制器,其经配置以执行包括以下各项的操作:接收请求存储在所述存储器装置的所述裸片的多个不同部分中的第一部分上的数据的第一主机读取命令;确定主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及并行执行所述第一主机读取命令和所述第二主机读取命令。
在实例10中,实例9的主题包含,其中所述延迟时间段是可变的,并且其中所述操作包括基于所述主机读取命令队列的深度而确定延迟时间段值。
在实例11中,实例10的主题包含,其中所述操作进一步包括:响应于所述主机读取命令队列的减少而延长所述延迟时间段。
在实例12中,实例9-11的主题包含,其中所述操作进一步包括:接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;确定所述主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟执行所述第三主机读取命令达所述延迟时间段;确定所述延迟时间段已流逝同时没有接收到请求存储在所述存储器装置的所述裸片的第二部分上的数据的第四主机读取命令,并作为响应,执行所述第三主机读取命令。
在实例13中,实例9-12的主题包含,其中执行所述主机读取命令和所述第二主机读取命令的操作包括组合所述命令。
在实例14中,实例9-13的主题包含,其中执行所述主机读取命令和所述第二主机读取命令的操作包括取消所述延迟时间段。
在实例15中,实例9-14的主题包含,其中所述操作进一步包括:接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;确定所述主机读取命令队列不为空;以及响应于确定所述主机读取命令队列不为空,在不具有延迟时段的情况下执行所述第三主机读取命令。
实例16是一种存储指令的机器可读媒体,所述指令在由控制器执行时使所述控制器执行包括以下各项的操作:接收请求存储在存储器装置的裸片的第一部分上的数据的第一主机读取命令;确定主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及并行执行所述第一主机读取命令和所述第二主机读取命令。
在实例17中,实例16的主题包含,其中所述延迟时间段是可变的,并且其中所述操作包括基于所述主机读取命令队列的深度而确定延迟时间段值。
在实例18中,实例17的主题包含,其中所述操作进一步包括:响应于所述主机读取命令队列的减少而延长所述延迟时间段。
在实例19中,实例16-18的主题包含,其中所述操作进一步包括:接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;确定所述主机读取命令队列为空;响应于确定所述主机读取命令队列为空,延迟执行所述第三主机读取命令达所述延迟时间段;确定所述延迟时间段已流逝同时没有接收到请求存储在所述存储器装置的所述裸片的第二部分上的数据的第四主机读取命令,并作为响应,执行所述第三主机读取命令。
在实例20中,实例16-19的主题包含,其中执行所述主机读取命令和所述第二主机读取命令的操作包括组合所述命令。
在实例21中,实例16-20的主题包含,其中执行所述主机读取命令和所述第二主机读取命令的操作包括取消所述延迟时间段。
在实例22中,实例16-21的主题包含,其中所述操作进一步包括:接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;确定所述主机读取命令队列不为空;以及响应于确定所述主机读取命令队列不为空,在不具有延迟时段的情况下执行所述第三主机读取命令。
实例23是一种存储器装置,其包括:用于接收请求存储在所述存储器装置的裸片的第一部分上的数据的第一主机读取命令的构件;用于确定主机读取命令队列为空的构件;用于响应于确定所述主机读取命令队列为空而延迟执行所述第一主机读取命令达一延迟时间段的构件;用于在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令的构件;以及用于并行执行所述第一主机读取命令和所述第二主机读取命令的构件。
在实例24中,实例23的主题包含,其中所述延迟时间段是可变的,并且基于所述主机读取命令队列的深度而确定。
在实例25中,实例24的主题包含用于响应于所述主机读取命令队列的减少而延长所述延迟时间段的构件。
在实例26中,实例23-25的主题包含,其中所述存储器装置进一步包括:用于接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令的构件;用于确定所述主机读取命令队列为空的构件;用于响应于确定所述主机读取命令队列为空而延迟执行所述第三主机读取命令达所述延迟时间段的构件;用于确定所述延迟时间段已流逝同时没有接收到请求存储在所述存储器装置的所述裸片的第二部分上的数据的第四主机读取命令并作为响应而执行所述第三主机读取命令的构件。
在实例27中,实例23-26的主题包含,其中执行所述主机读取命令和所述第二主机读取命令包括组合所述命令。
在实例28中,实例23-27的主题包含,其中执行所述主机读取命令和所述第二主机读取命令包括取消所述延迟时间段。
在实例29中,实例23-28的主题包含,其中所述存储器装置是NAND存储器装置。
在实例30中,实例23-29的主题包含,其中所述存储器装置进一步包括:用于接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令的构件;用于确定所述主机读取命令队列不为空的构件;以及用于响应于确定所述主机读取命令队列不为空而在不具有延迟时段的情况下执行所述第三主机读取命令的构件。
实例31是至少一个机器可读媒体,其包含指令,所述指令在由处理电路系统执行时使所述处理电路系统执行操作以实施实例1-30中的任一项。
实例32是一种包括实施实例1-30中的任一项的构件的设备。
实例33是一种实施实例1-30中的任一项的系统。实例34是一种实施实例1-30中的任一项的方法。

Claims (20)

1.一种用于提高存储器装置的存储器裸片内的并行读取概率的方法,所述方法包括:
在所述存储器装置的控制器处执行包括以下各项的操作:
接收请求存储在所述存储器装置的裸片的第一部分上的数据的第一主机读取命令;
确定主机读取命令队列为空;
响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;
在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及
并行执行所述第一主机读取命令和所述第二主机读取命令。
2.根据权利要求1所述的方法,其中所述延迟时间段是可变的,并且基于所述主机读取命令队列的深度而确定。
3.根据权利要求2所述的方法,包括:
响应于所述主机读取命令队列的减少而延长所述延迟时间段。
4.根据权利要求1所述的方法,其中所述方法进一步包括:
接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;
确定所述主机读取命令队列为空;
响应于确定所述主机读取命令队列为空,延迟执行所述第三主机读取命令达所述延迟时间段;
确定所述延迟时间段已流逝同时没有接收到请求存储在所述存储器装置的所述裸片的所述第二部分上的数据的第四主机读取命令,并作为响应,执行所述第三主机读取命令。
5.根据权利要求1所述的方法,其中执行所述主机读取命令和所述第二主机读取命令包括组合所述命令。
6.根据权利要求1所述的方法,其中执行所述主机读取命令和所述第二主机读取命令包括取消所述延迟时间段。
7.根据权利要求1所述的方法,其中所述存储器装置是NAND存储器装置。
8.根据权利要求1所述的方法,其中所述方法进一步包括:
接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;
确定所述主机读取命令队列不为空;以及
响应于确定所述主机读取命令队列不为空,在不具有延迟时段的情况下执行所述第三主机读取命令。
9.一种存储器装置,包括:
NAND裸片,所述裸片包括多个不同部分;
控制器,其经配置以执行包括以下各项的操作:
接收请求存储在所述存储器装置的所述裸片的所述多个不同部分中的第一部分上的数据的第一主机读取命令;
确定主机读取命令队列为空;
响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;
在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及
并行执行所述第一主机读取命令和所述第二主机读取命令。
10.根据权利要求9所述的存储器装置,其中所述延迟时间段是可变的,并且其中所述操作包括基于所述主机读取命令队列的深度而确定延迟时间段值。
11.根据权利要求10所述的存储器装置,其中所述操作进一步包括:
响应于所述主机读取命令队列的减少而延长所述延迟时间段。
12.根据权利要求9所述的存储器装置,其中所述操作进一步包括:
接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;
确定所述主机读取命令队列为空;
响应于确定所述主机读取命令队列为空,延迟执行所述第三主机读取命令达所述延迟时间段;
确定所述延迟时间段已流逝同时没有接收到请求存储在所述存储器装置的所述裸片的第二部分上的数据的第四主机读取命令,并作为响应,执行所述第三主机读取命令。
13.根据权利要求9所述的存储器装置,其中执行所述主机读取命令和所述第二主机读取命令的操作包括组合所述命令。
14.根据权利要求9所述的存储器装置,其中执行所述主机读取命令和所述第二主机读取命令的操作包括取消所述延迟时间段。
15.根据权利要求9所述的存储器装置,其中所述操作进一步包括:
接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;
确定所述主机读取命令队列不为空;以及
响应于确定所述主机读取命令队列不为空,在不具有延迟时段的情况下执行所述第三主机读取命令。
16.一种存储指令的机器可读媒体,所述指令在由控制器执行时使所述控制器执行包括以下各项的操作:
接收请求存储在存储器装置的裸片的第一部分上的数据的第一主机读取命令;
确定主机读取命令队列为空;
响应于确定所述主机读取命令队列为空,延迟执行所述第一主机读取命令达一延迟时间段;
在所述延迟时间段期间接收请求存储在所述存储器装置的所述裸片的第二部分上的数据的第二主机读取命令;以及
并行执行所述第一主机读取命令和所述第二主机读取命令。
17.根据权利要求16所述的机器可读媒体,其中所述延迟时间段是可变的,并且其中所述操作包括基于所述主机读取命令队列的深度而确定延迟时间段值。
18.根据权利要求17所述的机器可读媒体,其中所述操作进一步包括:
响应于所述主机读取命令队列的减少而延长所述延迟时间段。
19.根据权利要求16所述的机器可读媒体,其中所述操作进一步包括:
接收请求存储在所述存储器装置的所述裸片的所述第一部分上的数据的第三主机读取命令;
确定所述主机读取命令队列为空;
响应于确定所述主机读取命令队列为空,延迟执行所述第三主机读取命令达所述延迟时间段;
确定所述延迟时间段已流逝同时没有接收到请求存储在所述存储器装置的所述裸片的所述第二部分上的数据的第四主机读取命令,并作为响应,执行所述第三主机读取命令。
20.根据权利要求16所述的机器可读媒体,其中执行所述主机读取命令和所述第二主机读取命令的操作包括组合所述命令。
CN201911039038.9A 2018-10-29 2019-10-29 Nand读取命令的动态延迟 Active CN111105828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110441080.4A CN113035257B (zh) 2018-10-29 2019-10-29 Nand读取命令的动态延迟

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/173,557 US10685718B2 (en) 2018-10-29 2018-10-29 Dynamic delay of NAND read commands
US16/173,557 2018-10-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110441080.4A Division CN113035257B (zh) 2018-10-29 2019-10-29 Nand读取命令的动态延迟

Publications (2)

Publication Number Publication Date
CN111105828A true CN111105828A (zh) 2020-05-05
CN111105828B CN111105828B (zh) 2021-05-11

Family

ID=70328406

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911039038.9A Active CN111105828B (zh) 2018-10-29 2019-10-29 Nand读取命令的动态延迟
CN202110441080.4A Active CN113035257B (zh) 2018-10-29 2019-10-29 Nand读取命令的动态延迟

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110441080.4A Active CN113035257B (zh) 2018-10-29 2019-10-29 Nand读取命令的动态延迟

Country Status (2)

Country Link
US (3) US10685718B2 (zh)
CN (2) CN111105828B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10991436B2 (en) 2018-10-29 2021-04-27 Micron Technology, Inc. Dynamic delay of NAND read commands
CN113625939A (zh) * 2020-05-06 2021-11-09 爱思开海力士有限公司 保持非易失性存储器装置中的一致写入延迟
CN114968857A (zh) * 2021-02-18 2022-08-30 爱思开海力士有限公司 数据存储装置及其操作方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220027464A1 (en) * 2020-07-23 2022-01-27 Nxp Usa, Inc. Systems and methods for constraining access to one time programmable storage elements
CN112513988A (zh) * 2020-11-06 2021-03-16 长江存储科技有限责任公司 伪异步多平面独立读取
KR20220105285A (ko) * 2021-01-20 2022-07-27 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작 방법
KR20220165563A (ko) * 2021-06-08 2022-12-15 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11914532B2 (en) 2021-08-31 2024-02-27 Apple Inc. Memory device bandwidth optimization

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101548494A (zh) * 2006-08-22 2009-09-30 卓越电信股份有限公司 受控的延迟分组转发的设备和方法
US20140068159A1 (en) * 2012-09-03 2014-03-06 Samsung Electronics Co., Ltd. Memory controller, electronic device having the same and method for operating the same
US9135192B2 (en) * 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US20160011779A1 (en) * 2014-07-10 2016-01-14 Ji-Sang LEE Nonvolatile memory device, memory controller, and operating method of the same
WO2016153725A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Read operations in memory devices
CN106155916A (zh) * 2015-02-12 2016-11-23 慧荣科技股份有限公司 数据储存装置以及数据读取方法
CN107291566A (zh) * 2017-06-15 2017-10-24 北京京东尚科信息技术有限公司 延迟任务执行的方法和装置
CN109947362A (zh) * 2017-12-21 2019-06-28 西部数据技术公司 管理闪存存储器读取操作

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471591A (en) * 1990-06-29 1995-11-28 Digital Equipment Corporation Combined write-operand queue and read-after-write dependency scoreboard
US6044206A (en) * 1997-10-14 2000-03-28 C-Cube Microsystems Out of order instruction processing using dual memory banks
US9116625B2 (en) * 2012-05-11 2015-08-25 Micron Technology, Inc. Write command overlap detection
US10685718B2 (en) 2018-10-29 2020-06-16 Micron Technnology, Inc. Dynamic delay of NAND read commands
US11454941B2 (en) * 2019-07-12 2022-09-27 Micron Technology, Inc. Peak power management of dice in a power network
US11119940B2 (en) * 2019-08-26 2021-09-14 Micron Technology, Inc. Sequential-write-based partitions in a logical-to-physical table cache
US20210233585A1 (en) * 2020-01-29 2021-07-29 Micron Technology, Inc. Multichip memory package with internal channel

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101548494A (zh) * 2006-08-22 2009-09-30 卓越电信股份有限公司 受控的延迟分组转发的设备和方法
US9135192B2 (en) * 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US20140068159A1 (en) * 2012-09-03 2014-03-06 Samsung Electronics Co., Ltd. Memory controller, electronic device having the same and method for operating the same
US20160011779A1 (en) * 2014-07-10 2016-01-14 Ji-Sang LEE Nonvolatile memory device, memory controller, and operating method of the same
CN106155916A (zh) * 2015-02-12 2016-11-23 慧荣科技股份有限公司 数据储存装置以及数据读取方法
WO2016153725A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Read operations in memory devices
CN107291566A (zh) * 2017-06-15 2017-10-24 北京京东尚科信息技术有限公司 延迟任务执行的方法和装置
CN109947362A (zh) * 2017-12-21 2019-06-28 西部数据技术公司 管理闪存存储器读取操作

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10991436B2 (en) 2018-10-29 2021-04-27 Micron Technology, Inc. Dynamic delay of NAND read commands
US11621042B2 (en) 2018-10-29 2023-04-04 Micron Technology, Inc. Dynamic delay of NAND read commands
CN113625939A (zh) * 2020-05-06 2021-11-09 爱思开海力士有限公司 保持非易失性存储器装置中的一致写入延迟
CN113625939B (zh) * 2020-05-06 2023-10-20 爱思开海力士有限公司 保持非易失性存储器装置中的一致写入延迟
CN114968857A (zh) * 2021-02-18 2022-08-30 爱思开海力士有限公司 数据存储装置及其操作方法

Also Published As

Publication number Publication date
US20210233593A1 (en) 2021-07-29
US20200135278A1 (en) 2020-04-30
CN113035257A (zh) 2021-06-25
US11621042B2 (en) 2023-04-04
US10991436B2 (en) 2021-04-27
CN113035257B (zh) 2022-05-24
US10685718B2 (en) 2020-06-16
CN111105828B (zh) 2021-05-11
US20200303019A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
CN111758091B (zh) 单电平单元高速缓存管理
CN111433752B (zh) Nand装置及其操作方法
CN111105828B (zh) Nand读取命令的动态延迟
CN111164565B (zh) 受管理的nvm自适应高速缓冲存储器管理
US11119933B2 (en) Dynamic L2P cache
CN111226192B (zh) 受管理的多个裸片存储器qos
WO2019061480A1 (en) PRE-EVEN READING SCANS IN PERIOD OF INACTIVITY
WO2019113729A1 (en) Scheme to improve efficiency of garbage collection in cached flash translation layer
CN109726035B (zh) 存储器装置、操作该装置的方法和非易失性机器可读媒体
CN113168377B (zh) Slc高速缓存分配
US11031089B2 (en) Block read count voltage adjustment
WO2019046128A1 (en) STORING LOG DATA FOR FLASH MEMORY
CN112214422A (zh) 静态slc高速缓存的动态大小
CN109427407B (zh) 用于存储连接资源的分配的装置、方法和系统以及机器可读媒体
CN111201571B (zh) 在高热条件下提高nand性能
WO2019140074A1 (en) Read retry scratch space

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