CN111226192B - 受管理的多个裸片存储器qos - Google Patents

受管理的多个裸片存储器qos Download PDF

Info

Publication number
CN111226192B
CN111226192B CN201880066962.3A CN201880066962A CN111226192B CN 111226192 B CN111226192 B CN 111226192B CN 201880066962 A CN201880066962 A CN 201880066962A CN 111226192 B CN111226192 B CN 111226192B
Authority
CN
China
Prior art keywords
memory
instruction
priority
initial priority
instructions
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
CN201880066962.3A
Other languages
English (en)
Other versions
CN111226192A (zh
Inventor
S·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
Publication of CN111226192A publication Critical patent/CN111226192A/zh
Application granted granted Critical
Publication of CN111226192B publication Critical patent/CN111226192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • 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
    • 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/1668Details of memory controller
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

本文公开用于在具有多个存储器裸片的受管理存储器装置中实施服务质量QoS参数的装置及技术。存储器控制器可从主机装置接收指令,使用QoS参数确定每个指令的初始优先级,及使用所述初始优先级将所述接收到的指令分配到所述多个存储器裸片。所述存储器控制器可保持所述多个存储器裸片中的每一者的单独时间表,用所述单独时间表更新每个指令的所述初始优先级,及使用所述相应单独时间表中的每个指令的更新的优先级保持所述单独时间表中的每一者。

Description

受管理的多个裸片存储器QOS
优先权申请
本申请案要求2017年8月31日提交的美国申请序列号15/692,225的优先权益,所述美国申请以全文引用的方式并入本文中。
背景技术
通常将存储器装置提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(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)驱动耦合到每一群组的未选定存储器单元的栅极的字线,以使每一群组的未选定存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。电流随后从源极线通过每个串联耦合的群组流动到位线,仅受每个群组中的选定存储器单元限制,从而使选定存储器单元的当前经编码数据值置于位线上。
存储器阵列中的每一存储器单元可以个别地或共同地编程为一个或多个编程状态。举例来说,单层级单元(SLC)可表示两个编程状态(例如,1或0)中的一者,从而表示一个数据位。在其它实例中,存储器单元可表示多于两个编程状态中的一者,从而允许在不增加存储器单元数目的情况下制造更高密度的存储器,因为每个单元可表示多于一个二进制数字(例如,多于一个位)。此类单元可被称为多状态存储器单元、多数字单元或多层级单元(MLC)。在某些实例中,MLC可指每单元可存储两个数据位(例如,四个编程状态中的一者)的存储器单元,三层级单元(TLC)可指每单元可存储三个数据位(例如,八个编程状态中的一者)的存储器单元,且四层级单元(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可结合存储器操作从主机接收指令(例如,命令),例如,用于在存储器装置与主机之间传送数据(例如,用户数据及相关联的完整性数据,例如错误数据及地址数据等)的读取或写入操作,或用于从存储器装置擦除数据的擦除操作。
例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)及因特网连接的电器设备或装置(例如,物联网(IoT)装置等)的电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需求。
电子装置可分解为若干主要组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);及存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC,或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、电源管理电路、基带处理器或者一或多个收发器电路等。
附图说明
在不一定按比例绘制的附图中,相似标号可在不同视图中描述相似组件。具有不同字母后缀的相似标号可表示类似组件的不同情况。图式借助于实例而非限制性地总体上说明本文档中所论述的各种实施例。
图1说明包含存储器装置的环境的实例。
图2至3说明3D NAND架构半导体存储器阵列的实例的示意图。
图4说明存储器模块的实例框图。
图5说明使用存储器控制器保持存储器装置的存储器阵列中的多个存储器裸片中的每一者的单独时间表的实例方法。
图6是说明其上可实施一或多个实施例的机器的实例的框图。
具体实施方式
例如CPU或电子装置的其它主要处理器的处理器通常实施参数以影响用户服务质量(QoS),及根据此种实施的QoS参数将指令提供到存储器装置。在某些实例中,QoS参数可优先化某些动作、指令、操作或应用。随着处理器及存储器装置速度及复杂性不断提高,处理器与存储器装置之间的通信可为影响装置操作的限制因素。
本发明人已尤其认识到,包含存储器控制器及多个存储器裸片(多于一个,例如8个、16个等)的受管理存储器装置可直接实施除了主机装置的处理器的QoS参数之外的或与主机装置的处理器的QoS参数分离的QoS参数。因此,QoS参数可实施于受管理存储器装置中以优化装置操作,以增加处理器与受管理存储器装置之间的通信带宽(或处理器本身中的带宽)以实现更高优先级业务、指令或操作,例如,影响用户体验或QoS的那些(例如,在例如流式传输高清(HD)视频、增强虚拟现实等资源密集型操作期间的平稳响应性装置操作)。
移动电子装置使用的特征可在于,短且通常密集时间段的用户活动,接着是长时间段的用户非活动(例如,5%活动,95%非活动)。由主机处理器实施的QoS参数限制通信信道的带宽以及主机处理器的处理功率,从而减少用于高优先级、高带宽操作,例如HD(例如,4K)串流视频或视频捕获、增强或虚拟现实应用、高速图像捕获、图库创建等的带宽。随着受管理存储器装置中的存储器裸片或逻辑单元的数目不断增加(例如,从8个至16个等),在每个存储器裸片包含配置成传统操作(例如,读取、编程、擦除)或高级逻辑函数(例如,运算、加密/解密等)的裸片电路系统的情况下,使用主机处理器轮询每个裸片或逻辑单元的可用性及状态可能变得更繁重且性能受限。因此,为了提高系统性能,QoS参数可在受管理存储器装置本身上实施,包含在存储器控制器处实施,及在某些实例中,在个别裸片或逻辑单元处实施。
在用户活动的时间段期间,高优先级业务、指令或操作,例如影响用户体验或QoS的那些可能会优先于低优先级业务、指令或操作。举例来说,读取、写入或影响装置响应性的操作,例如,对手势(例如,滚动等)或指令(例如,命令)的响应、从存储器加载应用程序、产生所存储图像的图库等可优先于用户数据的写入。在其它实例中,可牺牲一系列类似动作(例如,高速图像捕获)中的一或多者(例如,可从存储器省略所捕获图像),以保持对用户动作的装置响应性。重要的是根据系统级资源查看优先级。然而,在裸片级下,取决于将如何使用信息或哪些指令影响其它指令,指令可在系统级下视为独立的,但是某些指令应一起执行,例如以按照其消耗的次序消耗系统资源,例如以避免资源死锁。因此,不仅可基于个别指令的优先级,而且可基于个别指令相对于其它待决、中断或完成的指令的优先级来确定优先级。举例来说,如果第一指令与第二指令相关,并且第二指令完成(例如,缓存),但系统在继续进行之前正等待完成第一指令,则可增加第一指令相对于其它指令的优先级。
低优先级业务、指令或操作(在某些实例中,包含垃圾收集、错误校正、应用管理、存储器管理、特定写入、网络更新、通知等)可在用户活动的时间段期间(例如,5%活动)排队或延迟,以支持高优先级业务、指令或操作。在实例中,可在用户非活动的时间段期间(例如,95%非活动),在用户活动减少的时间段期间,或在用户活动或非活动的时间段期间使用可用存储器裸片缓存或执行低优先级业务、指令或操作。在某些实例中,高优先级业务可包含不容易延迟的操作(例如,不能够缓存,或因此延迟将不利地影响用户QoS等),例如,HD串流视频或视频捕获视频、增强或虚拟现实应用、高速图像捕获等。
为了立即对突然的用户活动作出响应,可例如在操作期间或在需要多个循环的操作循环之后使用软件或硬件中断来中断低优先级业务或操作。在其它实例中,可随时间(例如,线性地、按指数律地、非线性等)改变业务、指令或操作的优先级,以便避免超时或故障等。在某些实例中,可中断所有业务、指令或操作。在实例中,受管理存储器装置的相应裸片的存储器控制器或裸片逻辑可中断或排队低优先级指令或操作的操作,以支持高优先级指令或操作。例如使用存储于寄存器、缓存或以其它方式存储于存储器装置中的时间表或列表,可在存储器控制器或裸片逻辑上存储、管理或实施此QoS参数。在某些实例中,QoS参数可从主机处理器接收,或以其它方式编程到受管理存储器装置上。
在实例中,存储器控制器可将指令提供到相应裸片(例如,包含向多个裸片提供冗余操作,或将大操作分解为要在一或多个裸片上执行的多个较小操作等)。在其它实例中,来自每个相应裸片的裸片逻辑可中断低优先级操作,以支持高优先级操作。在某些实例中,可中断高优先级操作,以避免待决的低优先级操作的超时,例如,如果此低优先级操作的超时会影响用户体验(例如,以避免应用程序故障或数据丢失,或如果此超时将要求用户再次执行操作等)。如果裸片执行冗余操作,则存储器控制器可在下一垃圾收集或用户非活动时间段重新分配存储冗余数据的冗余存储器单元、页、块等。
图1说明包含经配置以通过通信接口通信的主机装置105及存储器装置110的环境100的实例。主机装置105或存储器装置110可包含在多种产品150中,例如,物联网(IoT)装置(例如,电冰箱或其它电器、传感器、电机或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115及存储器阵列120,包含例如多个个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)。每个存储器裸片可包含相应裸片逻辑,其经配置以从存储器控制器115接收指令或将信息提供到存储器控制器115。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层数、物理页且因此增加存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可为与主机装置105的一或多个其它组件堆叠或以其它方式包含的集成电路(例如,芯片上系统(SOC)等等)的一部分。
可使用一或多个通信接口在存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口,或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储卡读卡器,或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机装置105可为具有参考图5的机器500所论述的组件中的某一部分或全部的机器。
存储器控制器115可从主机装置105接收指令,并且可与存储器阵列通信,以便将数据传送到存储器阵列的存储器单元、平面、子块、块或页中的一或多者(例如,写入或擦除)或从存储器阵列的存储器单元、平面、子块、块或页中的一或多者传送数据(例如,读取)。存储器控制器115尤其可包含电路系统或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可包含一或多个存储器控制单元、电路或组件,其经配置以控制跨越存储器阵列120的存取及提供主机装置105与存储器装置110之间的转换层。存储器控制器115可包含一或多个输入/输出(I/O)电路、线或接口以向存储器阵列120传送数据或从存储器阵列120传送数据。存储器控制器115可包含存储器管理器125及阵列控制器135。
存储器管理器125尤其可包含电路系统或固件,例如与各种存储器管理功能相关联的多个组件或集成电路。出于当前描述的目的,将在NAND存储器的情形下描述实例存储器操作及管理功能。本领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。这种NAND管理功能包含损耗均衡(例如,垃圾收集或回收)、错误检测或校正、块引退或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收到的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或生成用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
存储器管理器125可包含一组管理表130,其经配置以保持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储器单元相关联的各种信息)。举例来说,管理表130可包含关于耦合到存储器控制器115的一或多个存储器单元块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多者检测到的错误数目高于阈值,则位错误可称为不可校正位错误。管理表130尤其可以保持可校正或不可校正位错误的计数。
阵列控制器135尤其可包含经配置以控制与以下操作相关联的存储器操作的电路系统或组件:向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据、从所述存储器单元读取数据或擦除所述存储器单元。存储器操作可基于例如从主机装置105接收到或由存储器管理器125在内部生成的主机命令(例如,与耗损均衡、错误检测或校正等相关联)。
阵列控制器135可包含错误校正码(ECC)组件140,所述ECC组件尤其可包含ECC引擎,或经配置以检测或校正错误的其它电路系统,所述错误与向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据或从中读取数据相关联。存储器控制器115可经配置以有效地检测与各种操作或数据存储相关联的错误出现(例如,位错误、操作错误等等)并从所述错误出现中恢复,同时保持在主机装置105与存储器装置110之间传送的数据的完整性,或保持所存储数据的完整性(例如,使用冗余RAID存储等等),并可移除(例如,引退)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等等)以防止未来错误。
存储器阵列120可包含布置在例如多个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548个块,及每装置4个或更多个平面。作为另一实例,32GBMLC存储器装置(每单元存储两个数据位(即,4个可编程状态))可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1024页、每平面548个块,及每装置4个平面,但与对应TLC存储器装置相比,所需写入时间减半,且编程/擦除(P/E)循环增倍。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其一部分可在SLC模式中或在所需MLC模式(例如TLC、QLC等)中选择性地操作。
在操作中,数据通常以页写入到NAND存储器装置110或从其读取,且以块擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常被称为页,而主机的数据传送大小通常被称为扇区。
虽然数据页可包含多个字节的用户数据(例如,包含多个数据扇区的数据有效负载)及其对应的元数据,但页的大小经常仅指代用于存储用户数据的字节的数目。作为实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定512B的扇区大小的8个扇区)以及对应于用户数据的多个字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同的页大小,或可需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,其可导致需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可要求比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为实例,多层级单元(MLC)NAND快闪装置可具有与对应的单层级单元(SLC)NAND快闪装置相比更高的位错误率。因此,MLC装置可需要比对应SLC装置更多的用于错误数据的元数据字节。
在实例中,存储器控制器115可通过主机装置105的处理器或一或多个其它组件(例如,GPU、遥测电路、传感器等)从主机装置105,例如从用户、应用程序、过程等接收指令。主机装置105可经配置以取决于所需QoS参数组织指令或操作。在某些实例中,主机装置105可轮询存储器装置110,或以其它方式管理存储器装置110的状态或操作,以管理存储器装置110的操作(例如,控制实施指令或操作的次序)来影响用户体验或QoS。在其它实例中,主机装置105可将指令提供到存储器装置110,及存储器控制器115可管理指令或操作以影响用户体验或QoS,或实施QoS参数。
存储器阵列120可包含多个个别存储器裸片,每个存储器裸片包含相应裸片逻辑。存储器控制器115可从主机装置105接收指令,例如通过接收或分配每个指令的优先级根据QoS参数组织接收到的指令,及根据其优先级将指令提供到待完成的个别存储器裸片。然而,随着存储器裸片的数目增加,或随着接收到的指令的数目或类型增加,列表的管理可变得复杂。本发明人已尤其认识到,存储器控制器115可经配置以保持个别存储器裸片中的每一者(例如,在寄存器、列表、表格、存储器的指定部分等中)的单独时间表。
在实例中,存储器控制器115可基于QoS参数接收或分配每个指令的初始优先级,及将接收到的指令中的每一者分配到个别存储器裸片(例如,根据所接收或所分配的初始优先级,多个个别存储器裸片中的一或多者)的一或多个单独时间表。举例来说,某些存储器裸片可保留用于某些优先级指令(例如,高优先级指令、低优先级指令等)或某些已知任务(例如,HD流式传输或捕获、块层级写入等)。通过多个存储器裸片,分配存储器裸片不同优先级任务或指令以确保平稳操作并避免低优先级指令超时,同时仍保持一些响应性可能是有利的。此外,在某些实例中,将冗余指令提供到多于一个存储器裸片,或将任务或指令分解成要由多于一个存储器裸片执行的零件可能是有利的。
在实例中,在基于初始优先级将接收到的指令分配到一或多个相应个别存储器裸片的一或多个单独时间表之后,存储器控制器115可更新一或多个单独时间表中的一或多个所分配指令的初始优先级。在某些实例中,可更新每个指令的初始优先级。在其它实例中,可仅更新具有特定初始优先级的指令,或可在指定时间之后更新初始优先级。在实例中,指令的时间,例如已调度但尚未完成(例如,中断、待决等)指令的时间可影响更新的优先级。根据指令的类型或一或多个其它因素,例如,特定指令的超时,是否已中断指令,是否已将冗余指令分配到一或多个其它存储器裸片等,可基于总时间以逐步方式线性地、按指数律地或可变地增加低初始优先级指令的优先级。存储器控制器115可更新单独时间表中的次序,及使用所保持次序将指令提供到相应存储器裸片。在其它实例中,存储器控制器可在存储器裸片可用于执行另一指令时更新无序列表中的指令的优先级(例如,优先级的值),及提供来自列表的最高优先级指令。
在其它实例中,存储器控制器115可经配置以从主机装置105接收指令,基于QoS参数接收或分配每个指令的初始优先级,及使用初始优先级将接收到的指令中的每一者分配到个别存储器裸片。在实例中,例如通过在相应裸片逻辑处实施一或多个QoS参数(例如,以更新初始优先级),所分配指令可保持在相应裸片逻辑处。举例来说,裸片逻辑可接收所分配指令,及基于每个指令的初始优先级保持指令的时间表。
在实例中,指令可包含低优先级指令及高优先级指令。在其它实例中,指令可包含一或多个其它中间优先级。在实例中,低优先级指令可为可中断的。在其它实例中,所有指令可由具有高优先级的指令中断(例如,除了最高优先级指令之外)。在某些实例中,指令可能会中断一段时间,例如,直到所述指令具有超时风险。在实例中,可将处于超时风险中的指令的优先级增加到高优先级,或高优先级指令可由低优先级指令中断以避免低优先级指令的超时。在某些实例中,特定指令的优先级可取决于其对用户体验或用户感知QoS的影响。
在实例中,指令可为一组相互关联或相依指令中的一者,因此一个指令的优先级可影响其它指令的优先级,例如以避免资源死锁。举例来说,如果系统需要从单独裸片进行单独读取,但必须接收所有读取以便使用所请求信息,则一个指令的优先级可与所有指令的优先级相关,例如以避免因为其它高优先级操作占用一或多个存储器裸片,存储器控制器115必须在很长一段时间内缓存接收到的信息的情形。在此实例中,即使存储器裸片的相应时间表仅包含指令,个别存储器裸片也可避免执行所述指令,直到其它相关指令,或来自包含所述指令的指令集的指令准备好由一或多个其它存储器裸片执行为止。在其它实例中,存储器控制器115可在单独时间表内调整相关指令的优先级,以不具有相同优先级,而是同时在多个存储器裸片之间执行。
图2说明包含多个存储器单元串(例如,第一A0存储器串205A0到第三A0存储器串207A0,第一An存储器串205An到第三An存储器串207An,第一B0存储器串205B0到第三B0存储器串207B0,第一Bn存储器串205Bn到第三Bn存储器串207Bn等)的3D NAND架构半导体存储器阵列200的实例示意图,所述存储器单元串组织成块(例如,块A 201A、块B 201B等)及子块(例如,子块A0 201A0、子块An 201An、子块B0 201B0、子块Bn 201Bn等)。存储器阵列200表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的类似结构的一部分。
每个存储器单元串包含多层电荷存储晶体管(例如,浮动栅极晶体管、电荷捕集结构等),所述电荷存储晶体管在Z方向上以源极到漏极方式堆叠于源极线(SRC)235或源极侧选择栅极(SGS)(例如,第一A0 SGS231A0到第三A0 SGS233A0、第一An SGS 231An到第三AnSGS233An、第一B0 SGS231B0到第三B0 SGS233B0、第一Bn SGS 231Bn到第三Bn SGS233Bn等)与漏极侧选择栅极(SGD)(例如,第一A0 SGD 226A0到第三A0 SGD 228A0、第一An SGD 226An到第三An SGD 228An、第一B0 SGD 226B0到第三B0 SGD 228B0、第一Bn SGD 226Bn到第三Bn SGD228Bn等)之间。3D存储器阵列中的每个存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0 220到BL2 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 210A到WL70 217A、WL01 210B到WL71217B等)的控制栅极(CG),所述存取线按需要跨越特定层次或层次的一部分共同地耦合控制栅极(CG)。可使用相应存取线来存取或控制3D存储器阵列中的特定层次且因此存取或控制串中的特定存储器单元。可使用各种选择线来存取选择栅极的群组。举例来说,可使用A0 SGD线SGDA0225A0存取第一A0 SGD 226A0到第三A0 SGD 228A0,可使用An SGD线SGDAn 225An存取第一AnSGD 226An到第三An SGD 228An,可使用B0 SGD线SGDB0 225B0存取第一B0 SGD 226B0到第三B0 SGD 228B0,且可使用Bn SGD线SGDBn 225Bn存取第一Bn SGD 226Bn到第三Bn SGD 228Bn。可使用栅极选择线SGS0 230A来存取第一A0 SGS231A0到第三A0 SGS233A0及第一An SGS231An到第三An SGS233An,且可使用栅极选择线SGS1 230B来存取第一B0 SGS 231B0到第三B0 SGS233B0及第一Bn SGS231Bn到第三Bn SGS233Bn
在实例中,存储器阵列200可包含多个层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。可使用位线(BL)及选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多个层次的特定存储器单元。
图3说明NAND架构半导体存储器阵列300的一部分的实例示意图,所述阵列包含布置于串(例如第一305到第三串307)及层次(例如,说明为相应字线(WL)WL0310到WL7 317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列中的多个存储器单元302,及感测放大器或感测装置360。举例来说,存储器阵列300可说明例如图2中说明的3D NAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每个存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一SGS 331到第三SGS333)耦合到源极线(SRC),且使用相应漏极侧选择栅极(SGD)(例如,第一SGD 326到第三SGD328)耦合到相应数据线(例如,第一位线(BL)BL0 320到第三位线(BL)BL2322)。虽然在图3的实例中说明为具有8个层次(例如,使用字线(WL)WL0 310到WL7317)及三个数据线(BL0326至BL2 328),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。
在例如实例存储器阵列300的NAND架构半导体存储器阵列中,可通过感测与含有选定存储器单元的特定数据线相关联的电流或电压变化来存取选定存储器单元302的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列300。在实例中,取决于将对特定存储器单元或存储器单元组执行的所需操作的类型,一或多个驱动器可通过将特定电势驱动到一或多个数据线(例如,位线BL0到BL2)、存取线(例如,字线WL0到WL7)或选择栅极来激活特定存储器单元或存储器单元组。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,WL4),且因此施加到耦合到选定字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一控制栅极(CG)341到第三控制栅极(CG)343)。编程脉冲可例如在15V处或附近开始,并且在某些实例中,可在每一编程脉冲施加期间增加幅度。在将编程电压施加于选定字线时,可将例如接地电势(例如,Vss)等电势施加到以编程为目标的存储器单元的数据线(例如,位线)及衬底(且因此源极与漏极之间的通道),从而导致从通道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
相比之下,可将传递电压(Vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将抑制电压(例如,Vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道转移到此类非目标存储器单元的浮动栅极。传递电压可以例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。抑制电压可包含供电电压(Vcc),例如相对于接地电势(例如,Vss)来自外部源或电源(例如,电池、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可在数据被编程到存储器阵列402的相关部分中之前存储从存储器装置400外部的一或多个装置接收到的数据,或可在数据被传输到存储器装置400外部的一或多个装置之前存储从存储器阵列402读取的数据。
列解码器414可接收地址信号(A0到AX)并且将其解码为一或多个列选择信号(CSEL1到CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1-CSELn)且选择页缓冲器422中表示将从存储器单元404读取或将编程到存储器单元404中的数据值的数据。选定数据可使用第二数据线418在页缓冲器422与I/O电路426之间传送。
存储器控制单元430可从外部源或电源(例如,内部或外部电池、AC-DC转换器等)接收正及负电源信号,例如电源电压(Vcc)434及负电源(Vss)436(例如,接地电势)。在某些实例中,存储器控制单元430可包含调节器428以内部地提供正或负电源信号。
图5说明使用存储器控制器保持存储器装置的存储器阵列中的多个存储器裸片中的每一个的单独时间表的实例方法500。在501处,可例如通过存储器装置的存储器控制器接收一或多个指令。在实例中,可从主机装置接收一或多个指令。在实例中,主机装置可包含电子装置的处理器,所述电子装置包含存储器装置。在其它实例中,主机装置可包含一或多个其它装置。
在502处,可使用一或多个服务质量(QoS)参数例如通过存储器装置的存储器控制器确定接收到的指令中的一或多者的初始优先级。在实例中,在某些实例中,存储器控制器可使用从主机装置接收到的优先级信息确定接收到的指令中的每一者的初始优先级。
在503处,可例如使用一或多个指令的所确定初始优先级将接收到的指令分配到多个存储器裸片。在实例中,多个存储器裸片可包含第一存储器裸片、第二存储器裸片,及第n存储器裸片。在某些实例中,多个存储器裸片可包含8个存储器裸片、16个存储器裸片,或一或多个其它数目个存储器裸片。
在实例中,可将指令分配到由存储器控制器保存的多个存储器裸片中的每一者的单独时间表。在其它实例中,单独时间表可由多个存储器裸片的裸片逻辑保持,并且多个存储器裸片中的每一者的裸片逻辑可实施参数以影响用户QoS。在实例中,时间表可包含第一时间表510、第二时间表520及第n时间表530,例如对于相应的第一、第二及第三存储器裸片,时间表保持在存储器控制器或相应存储器裸片的裸片逻辑上。
在511处,可例如使用存储器控制器或相应存储器裸片的裸片逻辑更新第一时间表510的一或多个指令的初始优先级。在某些实例中,例如使用初始优先级及指令的时间,或使用一或多个相关指令的状态,存储器控制器或裸片逻辑可针对多个存储器裸片中的每一者更新相应时间表中的接收到的指令中的一或多者的初始优先级。在512处,可使用更新的优先级保持第一时间表。在实例中,时间表可包含将由相应存储器裸片服务的指令的有序列表。当更新初始优先级时,可使用更新的优先级对列表进行重新排序。在其它实例中,可在不对相应时间表进行重新排序的情况下更新初始优先级。
在521处,可更新第二时间表520的一或多个指令的初始优先级。在522处,可使用更新的优先级保持第二时间表。在531处,可更新第n时间表530的一或多个指令的初始优先级。在532处,可使用更新的优先级保持第n时间表。
图6说明其上可执行本文所论述的技术(例如,方法)中的任何一或多者的实例机器600的框图。在替代实施例中,机器600可作为独立装置操作或可连接(例如,联网)到其它机器。在联网部署中,机器600可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在实例中,机器600可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器600可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单一机器,但术语“机器”也将被视为包含个别地或共同地执行指令集(或多个指令集)以执行本文中所论述的方法中的任何一或多者(例如,云计算、软体即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路集合。电路系统成员可随时间及基础硬件可变性而变得灵活。电路包含当操作时可单独或组合地执行特定任务的部件。在实例中,电路系统的硬件可被永恒地设计成执行特定操作(例如,硬接线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统部件以在操作时实行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一者可用于多于一个电路系统中的多于一个部件中。举例来说,在操作中,执行单元可在一个时间点处用于第一电路系统的第一电路中,且在不同时间处由第一电路系统中的第二电路或由第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)600(例如,主机装置105、存储器装置110等)可包含硬件处理器602(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器604及静态存储器606,其中的一些或全部可通过互连件(例如,总线)608彼此通信。机器600可进一步包含显示单元610、字母数字输入装置612(例如,键盘),及用户接口(UI)导航装置614(例如,鼠标)。在实例中,显示单元610、输入装置612及UI导航装置614可为触摸屏显示器。机器600可另外包含存储装置(例如,驱动单元)621、信号产生装置618(例如,扬声器)、网络接口装置620,及一或多个传感器616,例如,全球定位系统(GPS)传感器、罗盘、加速计或其它传感器。机器600可包含输出控制器628,例如,串行(例如,通用串行总线(USB))、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
存储装置可包含其上存储体现本文中所描述的技术或功能中的任何一或多者或由本文中所描述的技术或功能中的任何一或多者利用的一或多组数据结构或指令624(例如,软件)的机器可读媒体622。指令624还可在其由机器600执行期间完全或至少部分地驻留于主存储器604内、静态存储器606内或硬件处理器602内。在实例中,硬件处理器602、主存储器604、静态存储器606或存储装置621中的一者或任何组合可构成机器可读媒体622。
虽然机器可读媒体622被说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令624的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联缓存及服务器)。
术语“机器可读媒体”可包含能够存储、编码或载送用于由机器600执行且使机器600执行本公开的技术中的任何一或多者的指令,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器,及光学及磁性媒体。在实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的具体实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内部硬盘及可移动盘;磁光盘;及CD-ROM及DVD-ROM盘。
指令624(例如,软件、程序、操作系统(OS)等)或其它数据存储于存储装置621上,可由存储器604存取以供处理器602使用。存储器604(例如,DRAM)通常是快速但易失性的,且因此是与适于长期存储(包含在处于“关闭”条件下时)的存储装置621(例如,SSD)不同类型的存储装置。供用户或机器600使用的指令624或数据通常加载在存储器604中,以供处理器602使用。当存储器604已满时,存储装置621的虚拟空间可经分配以补充存储器604;然而,由于存储装置621通常比存储器604慢且写入速度通常比读取速度慢至少两倍,因此(相比于存储器604,例如DRAM),归因于存储装置时延,虚拟存储器的使用可能极大地减弱用户体验。此外,使用存储装置621的虚拟存储器可能极大地减少存储装置621的可用使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置621的分页。分页在经压缩块中发生直到必须将这些数据写入到存储装置621为止。虚拟存储器压缩增加存储器604的可用大小,同时减少存储装置621上的磨损。
针对移动电子装置优化的存储装置或移动存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的多个并行接口(例如,8位并行接口),且经常是从主机装置可移除及分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度堪比基于串行ATATM(串行高级技术(AT)附件,或SATA)的SSD装置。然而,对移动装置性能的需求持续增加,以便完全实现虚拟或增强现实装置、利用增加的网络速度等。响应于这种需求,存储装置已从并行转换到串行通信接口。包含控制器及固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,从而进一步推进了更高的读取/写入速度。
指令624可进一步利用多个传输协议中的任一者(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)经由网络接口装置620使用传输媒体在通信网络626上传输或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络,及无线数据网络(例如,称为Wi-的电气电子工程师学会(IEEE)802.11系列标准、称为/>的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等(P2P)网络等等。在实例中,网络接口装置620可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络626。在实例中,网络接口装置620可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者无线地通信。术语“传输媒体”应被视为包含能够存储、编码或载送指令以由机器600执行的任何无形媒体,且包含数字或模拟通信信号或用于促进此软件的通信的其它无形媒体。
以上详细描述包含对附图的参考,所述附图形成详细描述的一部分。附图借助于图示展示可实践本发明的具体实施例。这些实施例在本文中也被称为“实例”。此类实例可包含除了所展示或所描述的那些元件之外的元件。然而,本发明人还预期其中仅提供所展示或所描述的那些元件的实例。此外,本发明人还预期使用相对于具体实例(或其一或多个方面)或相对于本文所展示或所描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在此文档中,如专利文档中所常见而使用术语“一(a)”或“一个(an)”以包含一个或多于一个,这与“至少一个”或“一或多个”的任何其它例子或使用无关。在此文档中,除非另外指示,否则术语“或”用于指非排他性的,或因此“A或B”可包含“A但不包含B”,“B但不包含A”以及“A及B”。在所附权利要求书中,术语“包含(including)”及“其中(in which)”用作相应术语“包括(comprising)”及“其中(wherein)”的简洁英文等效术语。而且,在所附权利要求书中,术语“包含”及“包括”是开放的,即,包含除了权利要求书中列在此种术语后的那些要素之外的要素的系统、装置、物品或过程仍被认为处于所述权利要求书的范围内。此外,在以下权利要求书中,术语“第一”、“第二”及“第三”等仅用作标签,且并不意图对其对象施加数字要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表格尤其可包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”表示任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如在本文档中所使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如在晶片或裸片下方的常规平面或表面,而不管在任何时间点所述衬底的实际定向如何。术语“竖直”指代垂直于如上文所定义的水平的方向。例如“在……上”、“在……上方”及“在……下方”等介词是关于常规平面或表面在衬底的顶部或暴露表面上而定义,而无论衬底的定向如何;且同时“在……上”预期表明一个结构相对于所述结构位于其“上”的另一结构的直接接触(在未明确指示相反情况时);术语“在……上方”及“在……下方”明确地预期指明结构(或层、特征等)的相对放置,其明确地包含--但不限于--所识别结构之间的直接接触,除非特定地如此指示。类似地,术语“在……上方”及“在……下方”并不限于水平定向,因为如果一结构在某个时间点是所论述构造的最外部分,则即使此类结构相对于参考结构竖直地延伸而不是在水平定向上延伸,此结构也可在参考结构“上方”。
术语“晶片”及“衬底”在本文中用于大体上指代集成电路形成于其上的任何结构,并且还指代在集成电路制造的各个阶段期间的此类结构。因此,以下详细描述不应以限制性意义来理解,并且各种实施例的范围仅由所附权利要求书连同所述权利要求书授权的等效物的完整范围定义。
根据本公开且在本文中描述的各种实施例包含利用存储器单元的竖直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,将采用相对于其上形成有存储器单元的衬底的表面的方向性形容词(即,垂直结构将视为远离衬底表面延伸,垂直结构的底端将视为最接近衬底表面的端部,且垂直结构的顶端将视为最远离衬底表面的端部)。
如本文中所使用,例如水平、竖直、正交、平行、垂直等方向性形容词可指相对定向,并且除非另外指出,否则并不意欲需要严格遵守特定几何性质。举例来说,如本文中所使用,竖直结构无需精确地垂直于衬底的表面,而是可替代地大体上垂直于衬底的表面,并且可与衬底的表面形成锐角(例如,在60度与120度之间等)。
在本文中所描述的一些实施例中,可将不同掺杂配置应用于源极侧选择栅极(SGS)、控制栅极(CG)及漏极侧选择栅极(SGD),其中的每一者在此实例中可由多晶硅形成或至少包含多晶硅,结果使得这些层次(例如,多晶硅等)可在暴露于蚀刻溶液时具有不同蚀刻速率。举例来说,在3D半导体装置中形成单体柱的过程中,SGS及CG可形成凹陷,而SGD可保持较少凹陷或甚至不凹陷。这些掺杂配置可因此通过使用蚀刻溶液(例如,四甲基铵氢氧化物(TMCH))来实现选择性蚀刻到3D半导体装置中的不同层次(例如,SGS、CG及SGD)中。
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。将存储器单元置于预期状态中的操作在本文中被称为“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、限定、利用、修改、施加等)一定数量的磨损循环或磨损状态(例如,记录磨损循环、当其发生时对存储器装置的操作计数、跟踪其起始的存储器装置的操作、评估对应于磨损状态的存储器装置特性等)。
根据本公开的一或多个实施例,存储器存取装置可经配置以通过每一存储器操作向存储器装置提供磨损循环信息。存储器装置控制电路(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能变化。存储器装置可接收磨损循环信息并且响应于磨损循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被称为“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合或可存在介入元件。相比之下,当一元件被称为“直接在另一元件上”、“直接连接到另一元件”或“与另一元件直接耦合”时,不存在介入元件或层。如果两个元件在附图中展示为被线连接,则除非另外指明,否则所述两个元件可耦合或直接耦合。
本文中所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有可用于配置电子装置以执行如在以上实例中描述的方法的指令的计算机可读媒体或机器可读媒体。此类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等等。此代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储在一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘及数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。
实例1是受管理存储器装置,包括:存储器控制器;及存储器阵列,包含多个存储器裸片,其中所述存储器控制器经配置以从主机装置接收指令;使用服务质量(QoS)参数确定每个指令的初始优先级;及使用所述初始优先级将所述接收到的指令分配到所述多个存储器裸片,其中所述存储器控制器经配置以保持所述多个存储器裸片中的每一者的单独时间表;使用所述初始优先级及所述指令的时间更新相应存储器裸片的单独时间表中的第一指令的所述初始优先级;及使用所述单独时间表中的所述第一指令的所述更新的优先级保持所述单独时间表。
在实例2中,实例1的主题任选地包含:其中所述存储器控制器经配置以使用所述初始优先级及每个指令的时间更新所述单独时间表中的每个指令的所述初始优先级,及使用所述更新的优先级保持所述单独时间表。
在实例3中,实例1至2中的任何一或多者的主题任选地包含:其中所述存储器控制器经配置以从所述主机装置接收所述QoS参数。
在实例4中,实例1至3中的任何一或多者的主题任选地包含:其中所述存储器控制器经配置以从所述主机装置接收相应指令的优先级信息,及使用所述接收到的优先级信息及所述QoS参数确定所述初始优先级。
在实例5中,实例1至4中的任何一或多者的主题任选地包含:其中所述存储器控制器经配置以更新每个指令的所述初始优先级作为所述初始优先级及在所述相应指令超时之前的其余时间的函数。
在实例6中,实例5的主题任选地包含:其中在所述相应指令超时之前的所述其余时间的所述函数包含在所述相应指令超时之前的所述其余时间的非线性函数。
在实例7中,实例1至6中的任何一或多者的主题任选地包含:其中所述存储器控制器经配置以更新所述第一指令的所述初始优先级作为所述第一指令的所述初始优先级及与所述第一指令相关的第二指令的状态的函数。
在实例8中,实例1至7中的任何一或多者的主题任选地包含:其中所述存储器控制器经配置以:生成每个指令的存储器地址及命令;取决于所述存储器地址及命令,或分配给所述多个存储器裸片的现有指令,将所述指令分配到所述多个存储器裸片中的至少一者;更新每个指令的所述初始优先级作为所述初始优先级及所述指令的所述时间的函数;及使用每个指令的所述更新的优先级对所述单独时间表中的每一者中的所述所分配指令进行排序,其中每个存储器裸片经配置以按照在每个存储器裸片的所述单独时间表中保持的次序服务指令。
在实例9中,实例1至8中的任何一或多者的主题任选地包含:其中所述存储器控制器经配置以确定来自特定存储器裸片的读取指令比用于所述多个存储器裸片中的任一者的写入指令具有更高初始优先级。
在实例10中,实例1至9中的一或多者的主题任选地包含:其中如果所述存储器控制器相对于所述多个存储器裸片中的任一者将指令确定为低初始优先级,则所述存储器控制器经配置以将所述低初始优先级指令分配到冗余存储器裸片。
在实例11中,实例1至10中的任何一或多者的主题任选地包含:其中每个指令可由具有更高确定优先级的另一指令中断。
实例12是用于管理存储器装置的方法,所述方法包括由所述存储器装置的存储器控制器执行的多个操作,所述存储器装置包含具有多个存储器裸片的存储器阵列,每个存储器裸片具有多个存储器单元块的群组,所述操作包括:从主机装置接收指令;使用服务质量(QoS)参数确定每个指令的初始优先级;使用所述初始优先级将所述接收到的指令分配到所述多个存储器裸片;保持所述多个存储器裸片中的每一者的单独时间表,包含:使用所述初始优先级及所述指令的时间针对所述多个存储器裸片中的第一存储器裸片更新第一时间表中的第一指令的所述初始优先级;及使用所述第一时间表中的所述指令的所述更新的优先级保持所述第一时间表。
在实例13中,实例12的主题任选地包含:其中保持所述存储器裸片中的每一者的所述单独时间表包含使用所述初始优先级及每个指令的时间更新所述单独时间表中的每个指令的所述初始优先级,及使用所述更新的优先级保持所述单独时间表。
在实例14中,实例12至13中的任何一或多者的主题任选地包含:其中保持所述多个存储器裸片中的每一者的单独时间表包含:更新每个指令的所述初始优先级作为所述初始优先级及在所述相应指令超时之前的其余时间的函数。
在实例15中,实例12至14中的任何一或多者的主题任选地包含:其中保持所述多个存储器裸片中的每一者的单独时间表包含:更新所述第一指令的所述初始优先级作为所述第一指令的所述初始优先级及与所述第一指令相关的第二指令的状态的函数。
在实例16中,实例12至15中的任何一或多者的主题任选地包含:所述操作包括:生成每个指令的存储器地址及命令;取决于所述存储器地址及命令,或分配给所述多个存储器裸片的现有指令,将所述指令分配到所述多个存储器裸片中的至少一者;更新每个指令的所述初始优先级作为所述初始优先级及所述指令的所述时间的函数;及使用每个指令的所述更新的优先级对所述单独时间表中的每一者中的所述所分配指令进行排序;及按照在每个存储器裸片的所述单独时间表中保持的次序服务指令。
在实例17中,实例12至16中的任何一或多者的主题任选地包含:其中每个指令可由具有更高确定优先级的另一指令中断。
实例18是一种装置可读存储媒体,所述装置可读存储媒体提供当由存储器装置的存储器控制器执行时使所述存储器控制器执行操作的指令,所述存储器装置包含具有多个存储器裸片的存储器阵列,所述操作包括:从主机装置接收指令;使用服务质量(QoS)参数确定每个指令的初始优先级;使用所述初始优先级将所述接收到的指令分配到所述多个存储器裸片;保持所述多个存储器裸片中的每一者的单独时间表,包含:使用所述初始优先级及所述指令的时间针对所述多个存储器裸片中的第一存储器裸片更新第一时间表中的第一指令的所述初始优先级;及使用所述第一时间表中的所述指令的所述更新的优先级保持所述第一时间表。
在实例19中,实例18的主题任选地包含:其中保持所述存储器裸片中的每一者的所述单独时间表的操作包含使用所述初始优先级及每个指令的时间更新所述单独时间表中的每个指令的所述初始优先级,及使用所述更新的优先级保持所述单独时间表。
在实例20中,实例18至19中任何一或多者的主题任选地包含:其中保持所述多个存储器裸片中的每一者的所述单独时间表的操作包含:更新每个指令的所述初始优先级作为所述初始优先级及在所述相应指令超时之前的其余时间的函数。
在实例21中,实例18至20中的任何一或多者的主题任选地包含:其中保持所述多个存储器裸片中的每一者的所述单独时间表的操作包含:更新所述第一指令的所述初始优先级作为所述第一指令的所述初始优先级及与所述第一指令相关的第二指令的状态的函数。
在实例22中,实例18至21中的任何一或多者的主题任选地包含:所述操作包括:生成每个指令的存储器地址及命令;取决于所述存储器地址及命令,或分配给所述多个存储器裸片的现有指令,将所述指令分配到所述多个存储器裸片中的至少一者;更新每个指令的所述初始优先级作为所述初始优先级及所述指令的所述时间的函数;及使用每个指令的所述更新的优先级对所述单独时间表中的每一者中的所述所分配指令进行排序;及按照在每个存储器裸片的所述单独时间表中保持的次序服务指令。
在实例23中,实例18至22中的任何一或多者的主题任选地包含:其中每个指令可由具有更高确定优先级的另一指令中断。
实例24是一种装置可读存储媒体,所述装置可读存储媒体提供指令,所述指令在由存储器装置的控制器执行时优化所述存储器装置中的电压读取电平校准,其中所述指令使所述控制器执行根据实例1至23的技术中的任一者的操作。
实例25是一种设备,所述设备包括用于执行实例1至23的方法或技术中的任一者的相应装置。
实例26是一种用于执行实例1至23中的任一者的操作的系统、设备或装置。
实例27是一种体现用于执行或实施实例1至23中的任一者的操作的指令的有形机器可读媒体。
实例28是一种用于执行实例1至23中的任一者的操作的方法。
以上描述预期为说明性的而非限制性的。举例来说,上述实例(或其一或多个方面)可彼此组合使用。例如一般技术人员在查阅以上描述后可使用其它实施例。所述摘要在遵守以下理解的情况下提交:其将不会用于解释或限制权利要求的范围或含义。此外,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将此情况解释为期望未主张的公开特征对任何权利要求来说是必需的。相反地,本发明主题可在于比特定所公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为单独实施例而独立存在,且预期此类实施例可以各种组合或排列彼此组合。本发明的范围应该通过参考所附权利要求书以及此类权利要求书所授予的等效物的完整范围来确定。

Claims (18)

1.一种受管理存储器装置,包括:
存储器阵列,其包含多个存储器裸片;
存储器控制器,其经配置以从主机装置接收指令,使用服务质量QoS参数确定每个指令的初始优先级,及使用所述初始优先级将所述接收到的指令分配到所述多个存储器裸片,并且保持所述多个存储器裸片中的每一者的单独时间表;
用于使用所述初始优先级及所述指令的时间更新相应存储器裸片的单独时间表中的第一指令的所述初始优先级,及使用所述单独时间表中的所述第一指令的所述更新的优先级保持所述单独时间表的装置。
2.根据权利要求1所述的受管理存储器装置,其中用于更新所述初始优先级的所述装置包括所述存储器控制器,其经配置以使用所述初始优先级及所述指令的时间更新相应存储器裸片的单独时间表中的第一指令的所述初始优先级,并且
其中用于保持所述单独时间表的所述装置包括所述存储器控制器,其经配置以使用所述单独时间表中的所述第一指令的所述更新的优先级保持所述单独时间表。
3.根据权利要求2所述的受管理存储器装置,其中所述存储器控制器经配置以使用所述初始优先级及每个指令的时间更新所述单独时间表中的每个指令的所述初始优先级,及使用所述更新的优先级保持所述单独时间表。
4.根据权利要求2所述的受管理存储器装置,其中所述存储器控制器经配置以从所述主机装置接收所述QoS参数。
5.根据权利要求2所述的受管理存储器装置,其中所述存储器控制器经配置以从所述主机装置接收相应指令的优先级信息,及使用所述接收到的优先级信息及所述QoS参数确定所述初始优先级。
6.根据权利要求5所述的受管理存储器装置,其中所述存储器控制器经配置以更新每个指令的所述初始优先级作为所述初始优先级及在所述相应指令超时之前的其余时间的函数。
7.根据权利要求6所述的受管理存储器装置,其中在所述相应指令超时之前的所述其余时间的所述函数包含在所述相应指令超时之前的所述其余时间的非线性函数。
8.根据权利要求2至7中任一项所述的受管理存储器装置,其中所述存储器控制器经配置以更新所述第一指令的所述初始优先级作为所述第一指令的所述初始优先级及与所述第一指令相关的第二指令的状态的函数。
9.根据权利要求2至7中任一项所述的受管理存储器装置,其中所述存储器控制器经配置以:
生成每个指令的存储器地址及命令;
取决于所述存储器地址及命令,或分配给所述多个存储器裸片的现有指令,将所述指令分配到所述多个存储器裸片中的至少一者;
更新每个指令的所述初始优先级作为所述初始优先级及所述指令的所述时间的函数;及
使用每个指令的所述更新的优先级对所述单独时间表中的每一者中的所分配的所述指令进行排序,
其中每个存储器裸片经配置以按照在每个存储器裸片的所述单独时间表中保持的次序服务指令。
10.根据权利要求2至7中任一项所述的受管理存储器装置,其中所述存储器控制器经配置以确定来自相应存储器裸片的读取指令比用于所述多个存储器裸片中的任一者的写入指令具有更高初始优先级。
11.根据权利要求2至7中任一项所述的受管理存储器装置,其中如果所述存储器控制器相对于所述多个存储器裸片中的任一者将指令确定为低初始优先级,则所述存储器控制器经配置以将所述低初始优先级指令分配到冗余存储器裸片。
12.根据权利要求2至7中任一项所述的受管理存储器装置,其中每个指令可由具有更高确定优先级的另一指令中断。
13.一种用于管理存储器装置的方法,所述方法包括由所述存储器装置的存储器控制器执行的多个操作,所述存储器装置包含具有多个存储器裸片的存储器阵列,每个存储器裸片具有多个存储器单元块的群组,所述操作包括:
从主机装置接收指令;
使用服务质量QoS参数确定每个指令的初始优先级;
使用所述初始优先级将所述接收到的指令分配到所述多个存储器裸片;
保持所述多个存储器裸片中的每一者的单独时间表,包含:
使用所述初始优先级及所述指令的时间针对所述多个存储器裸片中的第一存储器裸片更新第一时间表中的第一指令的所述初始优先级;及
使用所述第一时间表中的所述指令的所述更新的优先级保持所述第一时间表。
14.根据权利要求13所述的用于管理存储器装置的方法,其中更新所述存储器裸片中的每一者的所述单独时间表包含使用所述初始优先级及每个指令的时间更新所述单独时间表中的每个指令的所述初始优先级,及使用所述更新的优先级保持所述单独时间表。
15.根据权利要求13所述的用于管理存储器装置的方法,其中保持所述多个存储器裸片中的每一者的单独时间表包含:
更新每个指令的所述初始优先级作为所述初始优先级及相应指令超时之前的其余时间的函数。
16.根据权利要求13所述的用于管理存储器装置的方法,其中保持所述多个存储器裸片中的每一者的单独时间表包含:
更新所述第一指令的所述初始优先级作为所述第一指令的所述初始优先级及与所述第一指令相关的第二指令的状态的函数。
17.根据权利要求13所述的用于管理存储器装置的方法,所述操作包括:
生成每个指令的存储器地址及命令;
取决于所述存储器地址及命令,或分配给所述多个存储器裸片的现有指令,将所述指令分配到所述多个存储器裸片中的至少一者;
更新每个指令的所述初始优先级作为所述初始优先级及所述指令的所述时间的函数;
使用每个指令的所述更新的优先级对所述单独时间表中的每一者中的所分配的所述指令进行排序;及
按照在每个存储器裸片的所述单独时间表中保持的次序服务指令。
18.根据权利要求13所述的用于管理存储器装置的方法,其中每个指令可由具有更高确定优先级的另一指令中断。
CN201880066962.3A 2017-08-31 2018-08-21 受管理的多个裸片存储器qos Active CN111226192B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/692,225 US10318301B2 (en) 2017-08-31 2017-08-31 Managed multiple die memory QoS
US15/692,225 2017-08-31
PCT/US2018/047347 WO2019046048A1 (en) 2017-08-31 2018-08-21 MULTIPLE CHIP MEMORY QOS MANAGED

Publications (2)

Publication Number Publication Date
CN111226192A CN111226192A (zh) 2020-06-02
CN111226192B true CN111226192B (zh) 2023-11-21

Family

ID=65435225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880066962.3A Active CN111226192B (zh) 2017-08-31 2018-08-21 受管理的多个裸片存储器qos

Country Status (3)

Country Link
US (3) US10318301B2 (zh)
CN (1) CN111226192B (zh)
WO (1) WO2019046048A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318301B2 (en) 2017-08-31 2019-06-11 Micron Technology, Inc. Managed multiple die memory QoS
US10714166B2 (en) 2018-08-13 2020-07-14 Micron Technology, Inc. Apparatus and methods for decoding memory access addresses for access operations
US11171115B2 (en) 2019-03-18 2021-11-09 Kepler Computing Inc. Artificial intelligence processor with three-dimensional stacked memory
US11836102B1 (en) 2019-03-20 2023-12-05 Kepler Computing Inc. Low latency and high bandwidth artificial intelligence processor
US11061612B2 (en) 2019-05-20 2021-07-13 Micron Technology, Inc. Internal communication interface management
US11152343B1 (en) 2019-05-31 2021-10-19 Kepler Computing, Inc. 3D integrated ultra high-bandwidth multi-stacked memory
US11844223B1 (en) 2019-05-31 2023-12-12 Kepler Computing Inc. Ferroelectric memory chiplet as unified memory in a multi-dimensional packaging
US11289497B2 (en) 2019-12-27 2022-03-29 Kepler Computing Inc. Integration method of ferroelectric memory array
US11500637B2 (en) * 2020-06-15 2022-11-15 Micron Technology, Inc. Software instruction set update of memory die using page buffers
US11791233B1 (en) 2021-08-06 2023-10-17 Kepler Computing Inc. Ferroelectric or paraelectric memory and logic chiplet with thermal management in a multi-dimensional packaging
US11704071B1 (en) * 2022-03-28 2023-07-18 Lenovo Global Technology (United States) Inc. Delegating low priority tasks to a passive storage controller

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103814562A (zh) * 2011-09-21 2014-05-21 高通股份有限公司 用信号表示片段的特性以用于媒体数据的网络流式传输
CN104919431A (zh) * 2013-01-14 2015-09-16 西部数据技术公司 配置固态存储器中操作模式的系统和方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6982986B2 (en) 2001-11-01 2006-01-03 International Business Machines Corporation QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows
EP2296091A1 (en) * 2009-09-14 2011-03-16 Nxp B.V. Servicing low-latency requests ahead of best-effort requests
KR101658035B1 (ko) * 2010-03-12 2016-10-04 삼성전자주식회사 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
US8522244B2 (en) 2010-05-07 2013-08-27 Advanced Micro Devices, Inc. Method and apparatus for scheduling for multiple memory controllers
US8631213B2 (en) 2010-09-16 2014-01-14 Apple Inc. Dynamic QoS upgrading
US8510521B2 (en) 2010-09-16 2013-08-13 Apple Inc. Reordering in the memory controller
US9146690B2 (en) * 2012-01-27 2015-09-29 Marvell World Trade Ltd. Systems and methods for dynamic priority control
US9996394B2 (en) * 2012-03-01 2018-06-12 Microsoft Technology Licensing, Llc Scheduling accelerator tasks on accelerators using graphs
US9229896B2 (en) 2012-12-21 2016-01-05 Apple Inc. Systems and methods for maintaining an order of read and write transactions in a computing system
US9201777B2 (en) 2012-12-23 2015-12-01 Advanced Micro Devices, Inc. Quality of service support using stacked memory device with logic die
US9563574B2 (en) 2013-02-12 2017-02-07 Hitachi, Ltd. Storage control device and method of controlling storage control device
US10341208B2 (en) * 2013-09-26 2019-07-02 Taiwan Semiconductor Manufacturing Co., Ltd. File block placement in a distributed network
US9563369B2 (en) 2014-04-14 2017-02-07 Microsoft Technology Licensing, Llc Fine-grained bandwidth provisioning in a memory controller
US10318301B2 (en) 2017-08-31 2019-06-11 Micron Technology, Inc. Managed multiple die memory QoS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103814562A (zh) * 2011-09-21 2014-05-21 高通股份有限公司 用信号表示片段的特性以用于媒体数据的网络流式传输
CN104919431A (zh) * 2013-01-14 2015-09-16 西部数据技术公司 配置固态存储器中操作模式的系统和方法

Also Published As

Publication number Publication date
US20190265975A1 (en) 2019-08-29
CN111226192A (zh) 2020-06-02
US11687340B2 (en) 2023-06-27
US20190065204A1 (en) 2019-02-28
US10318301B2 (en) 2019-06-11
WO2019046048A1 (en) 2019-03-07
US10871968B2 (en) 2020-12-22
US20210109756A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
CN111226192B (zh) 受管理的多个裸片存储器qos
US11237737B2 (en) SLC cache management
CN111164565B (zh) 受管理的nvm自适应高速缓冲存储器管理
US10884647B2 (en) UFS based idle time garbage collection management
CN111433754B (zh) 先占式闲置时间读取扫描
CN113035257B (zh) Nand读取命令的动态延迟
CN111183483B (zh) Nand温度数据管理
CN113168377B (zh) Slc高速缓存分配
WO2019113729A1 (en) Scheme to improve efficiency of garbage collection in cached flash translation layer
CN111433753A (zh) 动态l2p高速缓存
CN109726035B (zh) 存储器装置、操作该装置的方法和非易失性机器可读媒体
CN111433751B (zh) 存储器装置及相关方法和机器可读媒体
CN109427407B (zh) 用于存储连接资源的分配的装置、方法和系统以及机器可读媒体
CN111684529B (zh) 读取重试暂存空间
CN111758091B (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