CN111758091B - 单电平单元高速缓存管理 - Google Patents

单电平单元高速缓存管理 Download PDF

Info

Publication number
CN111758091B
CN111758091B CN201880061492.1A CN201880061492A CN111758091B CN 111758091 B CN111758091 B CN 111758091B CN 201880061492 A CN201880061492 A CN 201880061492A CN 111758091 B CN111758091 B CN 111758091B
Authority
CN
China
Prior art keywords
memory
slc cache
memory device
data
slc
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
CN201880061492.1A
Other languages
English (en)
Other versions
CN111758091A (zh
Inventor
K·坦派罗
J·黄
S·A·琼
K·K·姆奇尔拉
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 CN111758091A publication Critical patent/CN111758091A/zh
Application granted granted Critical
Publication of CN111758091B publication Critical patent/CN111758091B/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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • 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/7202Allocation control and policies
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

在一些实例中揭示特征为可定制单电平单元SLC及多电平单元MLC配置的存储器装置。SLC存储器单元充当提供SLC层级性能以及拥有MLC存储器单元的存储器装置的存储容量的高速缓存。配置为MLC的单元的比例相对配置为SLC存储装置的单元的比例可为可配置的,且在一些实例中,所述比例在使用期间可基于可配置规则而改变,所述可配置规则基于若干存储器装置度量。在一些实例中,当装置活动低于活动阈值时,所述存储器装置可跳过SLC高速缓存并将数据直接放置到MLC存储装置中以减少电力消耗。

Description

单电平单元高速缓存管理
优先权申请案
此申请案主张2017年8月30日提出申请的美国申请案第15/690,869号的优先权的权益,所述美国申请案以其全文引用的方式并入本文中。
背景技术
存储器装置通常经提供作为计算机或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(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),从而表示一个数据位。
然而,快闪存储器单元还可表示多于两种经编程状态中的一者,从而允许在不增加存储器单元的数目的情况下制造更高密度存储器,这是因为每一单元可表示多于一个二进制数字(例如,多于一个位)。此类单元可称为多状态存储器单元、多数字单元或多电平单元(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可与存储器操作相关联地从主机接收命令,所述存储器操作例如用以在存储器装置与主机之间传送数据(例如,用户数据及相关联完整性数据,例如错误数据及地址数据等)的读取或写入操作或者用以从存储器装置擦除数据的擦除操作。
附图说明
在图式(其未必按比例绘制)中,相似编号可在不同视图中描述类似组件。具有不同字母后缀的相似编号可表示类似组件的不同实例。图式通常以实例方式而非限制方式图解说明本文件中所论述的各种实施例。
图1图解说明包含存储器装置的环境的实例。
图2到3图解说明3D NAND架构半导体存储器阵列的实例的示意图。
图4图解说明存储器模块的实例性框图。
图5图解说明根据本发明的一些实例的存储器控制器。
图6A图解说明根据本发明的一些实例的基于行为简档而控制SLC高速缓存的方法的流程图。
图6B图解说明根据本发明的一些实例的处置写入请求的方法的流程图。
图7是图解说明可实施一或多个实施例的机器的实例的框图。
具体实施方式
在一些实例中揭示特征为可定制单电平单元(SLC)及多电平单元(MLC)配置的存储器装置。SLC存储器单元充当提供SLC层级性能以及拥有MLC存储器单元的存储器装置的存储容量的高速高速缓存。配置为MLC的单元的比例相对配置为SLC存储装置的单元的比例可为可配置的,且在一些实例中,所述比例在使用期间可基于可配置规则(其基于若干存储器装置度量)而改变。在一些实例中,当装置活动低于活动阈值时,存储器装置可跳过SLC高速缓存并将数据直接放置到MLC存储装置中以减少电力消耗。
取决于(除其它之外)电子装置的类型、使用环境、性能期望等,电子装置(例如,移动电子装置(例如,智能电话、平板计算机等)、供在汽车应用中使用的电子装置(例如,汽车传感器、控制单元、驱动器辅助***、乘客安全或舒适***等)以及连接因特网的器具或装置(例如,物联网(IoT)装置等))具有变化的存储需求。
电子装置可分解为数个主组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);及存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC或其它存储器卡结构或组合件等)。在特定实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、电力管理电路、基带处理器或一或多个收发器电路等。
图1图解说明环境100的实例,所述环境包含经配置以经由通信接口而进行通信的主机装置105及存储器装置110。主机装置105或存储器装置110可包含于多种产品150中,例如物联网(IoT)装置(例如,冰箱或其它器具、传感器、电机或致动器、移动通信装置、汽车、无人飞机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115及存储器阵列120,所述存储器阵列包含(举例来说)若干个个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)。在3D架构半导体存储器技术中,堆叠为垂直结构,从而增加叠层数目、物理页及相应地存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可为与主机装置105的一或多个其它组件堆叠或以其它方式包含在一起的集成电路(例如,单芯片***(SOC)等)的部分。
在存储器装置110与主机装置105的一或多个其它组件之间可使用一或多个通信接口来传送数据,例如串行高级技术附接(SATA)接口、高速***组件互连(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或者一或多个其它连接器或接口。主机装置105可包含主机***、电子装置、处理器、存储器读卡器或存储器装置110外部的一或多个其它电子装置。在一些实例中,主机装置105可为具有关于图7的机器700所论述的组件的某一部分或全部的机器。
存储器控制器115可从主机装置105接收指令,且可与存储器阵列进行通信,(例如)以将数据传送到存储器阵列的存储器单元、平面、子块、块或页中的一或多者(例如,写入或擦除)或从存储器阵列的存储器单元、平面、子块、块或页中的一或多者传送数据(例如,读取)。除其它之外,存储器控制器115可包含电路***或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可包含经配置以控制跨越存储器阵列120的存取且提供主机装置105与存储器装置110之间的转换层的一或多个存储器控制单元、电路或组件。存储器控制器115可包含一或多个输入/输出(I/O)电路、线或接口以将数据传送到存储器阵列120或从所述存储器阵列传送数据。存储器控制器115可包含存储器管理器125及阵列控制器135。
除其它之外,存储器管理器125可包含电路***或固件,例如与各种存储器管理功能相关联的若干个组件或集成电路。出于本说明的目的,在NAND存储器的上下文中将描述实例性存储器操作及管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似存储器操作或管理功能。此类NAND管理功能包含损耗均衡(例如,废弃项目收集或回收)、错误检测或校正、块引退或者一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收的命令)剖析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以完成各种存储器管理功能)。
存储器管理器125可包含经配置以维持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或者一或多个存储器单元相关联的各种信息)的一组管理表130。举例来说,管理表130可包含关于耦合到存储器控制器115的一或多个存储器单元块的块年限、块擦除计数、错误历史或者一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在特定实例中,如果针对错误计数中的一或多者的所检测错误的数目高于阈值,那么位错误可称为不可校正位错误。除其它之外,管理表130可维持可校正或不可校正位错误的计数。
除其它之外,阵列控制器135可包含经配置以控制与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元、从所述一或多个存储器单元读取数据或擦除所述一或多个存储器单元相关联的存储器操作的电路***或组件。举例来说,所述存储器操作可基于从主机装置105接收或由存储器管理器125(例如,与损耗均衡、错误检测或校正等相关联地)在内部产生的主机命令。
阵列控制器135可包含错误校正码(ECC)组件140,除其它之外,所述ECC组件可包含经配置以检测或校正与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元或者从所述一或多个存储器单元读取数据相关联的错误的ECC引擎或其它电路***。存储器控制器115可经配置以在维持主机装置105与存储器装置110之间所传送的数据的完整性或维持所存储数据的完整性(例如,使用冗余RAID存储装置等)的同时主动地检测与各种操作或数据存储相关联的错误发生(例如,位错误、操作错误等)及从所述错误发生恢复,且可移除(例如,引退)故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止未来错误。
存储器阵列120可包含布置成(举例来说)若干个装置、平面、子块、块或页的数个存储器单元。作为实例,48GB TLC NAND存储器装置可包含每页18,592个数据字节(B)(16,384+2208个字节)、每块1536页、每平面548个块及每装置4个或多于4个平面。作为另一实例,32GB MLC存储器装置(每单元存储两个数据位(即,4种可编程状态))可包含每页18,592个数据字节(B)(16,384+2208个字节)、每块1024页、每平面548个块及每装置4个平面,但具有对应TLC存储器装置一半的所需写入时间及两倍的编程/擦除(P/E)循环。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其部分可选择性地以SLC模式或以所要MLC模式(例如TLC、QLC等)操作。
在操作中,数据通常以页形式写入到NAND存储器装置110或从所述NAND存储器装置读取,并以块形式擦除。然而,可视需要对更大或更小存储器单元群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常称为页,而主机的数据传送大小通常称为扇区。
虽然数据页可包含若干个用户数据字节(例如,包含若干个数据扇区的数据有效负载)及其对应元数据,但页的大小通常仅指用于存储用户数据的字节的数目。作为实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,采用512B的扇区大小的8个扇区)以及对应于用户数据的若干个元数据字节(例如,32B、54B、224B等),例如完整性数据(例如,错误检测或校正码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同页大小,或可需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,此可导致需要不同量的元数据来确保数据页的完整性(例如,与具有较低位错误率的存储器装置相比,具有较高位错误率的存储器装置可需要更多的错误校正码数据字节)。作为实例,多电平单元(MLC)NAND快闪装置可具有比对应单电平单元(SLC)NAND快闪装置高的位错误率。因此,MLC装置可需要比对应SLC装置更多的用于错误数据之元数据字节。
图2图解说明3D NAND架构半导体存储器阵列200的实例性示意图,所述3DNAND架构半导体存储器阵列包含组织成块(例如,块A 201A、块B 201B等)及子块(例如,子块A0201A0、子块An 201An、子块B0 201B0、子块Bn 201Bn等)的若干个存储器单元串(例如,第一到第三A0存储器串205A0到207A0、第一到第三An存储器串205An到207An、第一到第三B0存储器串205B0到207B0、第一到第三Bn存储器串205Bn到207Bn等)。存储器阵列200表示块、装置或存储器装置的其它单元中通常可见的较大数目个类似结构的部分。
每一存储器单元串包含沿Z方向(源极-漏极)堆叠于源极线(SRC)235或源极侧选择栅极(SGS)(例如,第一到第三A0SGS 231A0到233A0、第一到第三An SGS 231An到233An、第一到第三B0SGS 231B0到233B0、第一到第三Bn SGS 231Bn到233Bn等)与漏极侧选择栅极(SGD)(例如,第一到第三A0SGD 226A0到228A0、第一到第三An SGD226An到228An、第一到第三B0SGD 226B0到228B0、第一到第三Bn SGD 226Bn到228Bn等)之间的若干个电荷存储晶体管(例如,浮动栅极晶体管、电荷陷获结构等)叠层。3D存储器阵列中的每一存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0到BL2 220到222)且沿着Y方向布置为物理页。
在物理页内,每一叠层表示存储器单元的行,且每一存储器单元串表示列。子块可包含一或多个物理页。块可包含若干个子块(或物理页)(例如,128个、256个、384个等)。虽然本文中图解说明为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,且每一串具有存储器单元的8个叠层,但在其它实例中,存储器阵列200可包含更多或更少块、子块、物理页、存储器单元串、存储器单元或叠层。举例来说,每一存储器单元串可视需要包含更多或更少叠层(例如,16个、32个、64个、128个等)以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的一或多个额外半导体材料叠层。作为实例,48GB TLC NAND存储器装置可包含每页18,592个数据字节(B)(16,384+2208个字节)、每块1536页、每平面548个块及每装置4个或多于4个平面。
存储器阵列200中的每一存储器单元包含耦合到(例如,电连接到或以其它方式操作地连接到)存取线(例如,字线(WL)WL00到WL70 210A到217A、WL01到WL71 210B到217B等)的控制栅极(CG),所述存取线视需要跨越特定叠层或叠层的部分共同地耦合控制栅极(CG)。3D存储器阵列中的特定叠层及相应地串中的特定存储器单元可使用相应存取线来存取或控制。选择栅极的群组可使用各种选择线来存取。举例来说,第一到第三A0SGD 226A0到228A0可使用A0SGD线SGDA0 225A0来存取,第一到第三An SGD 226An到228An可使用An SGD线SGDAn 225An来存取,第一到第三B0SGD 226B0到228B0可使用B0SGD线SGDB0 225B0来存取,且第一到第三Bn SGD 226Bn到228Bn可使用Bn SGD线SGDBn 225Bn来存取。第一到第三A0SGS231A0到233A0及第一到第三An SGS 231An到233An可使用栅极选择线SGS0 230A来存取,且第一到第三B0 SGS 231B0到233B0及第一到第三Bn SGS 231Bn到233Bn可使用栅极选择线SGS1230B来存取。
在实例中,存储器阵列200可包含经配置以耦合每一存储器单元的控制栅极(CG)或阵列的相应叠层的选择栅极(或者CG或选择栅极的部分)的若干个半导体材料(例如,多晶硅等)层级。阵列中的特定存储器单元串可使用位线(BL)与选择栅极的组合等来存取、选择或控制,且特定串中的一或多个叠层处的特定存储器单元可使用一或多个存取线(例如,字线)来存取、选择或控制。
图3图解说明NAND架构半导体存储器阵列300的部分的实例性示意图,所述NAND架构半导体存储器阵列包含布置成串(例如,第一到第三串305到307)与叠层(例如,图解说明为相应字线(WL)WL0到WL7 310到317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列的多个存储器单元302,以及感测放大器或装置360。举例来说,存储器阵列300可图解说明例如图2中所图解说明的3D NAND架构半导体存储器装置的存储器单元的一个物理页的部分的实例性示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一到第三SGS 331到333)耦合到源极线(SRC)且使用相应漏极侧选择栅极(SGD)(例如,第一到第三SGD 326到328)耦合到相应数据线(例如,第一到第三位线(BL)BL0到BL2 320到322)。虽然在图3的实例中图解说明为具有8个叠层(例如,使用字线(WL)WL0到WL7 310到317)及三个数据线(BL0到BL2 326到328),但其它实例可视需要包含具有更多或更少叠层或数据线的存储器单元串。
在NAND架构半导体存储器阵列(例如实例性存储器阵列300)中,选定存储器单元302的状态可通过感测与含有选定存储器单元的特定数据线相关联的电流或电压变化而存取。存储器阵列300可使用一或多个驱动器来存取(例如,通过控制电路、一或多个处理器、数字逻辑等)。在实例中,取决于期望对特定存储器单元或存储器单元组执行的操作的类型,一或多个驱动器可通过将特定电位驱动到一或多个数据线(例如,位线BL0到BL2)、存取线(例如,字线WL0到WL7)或选择栅极而激活所述特定存储器单元或存储器单元组。
为将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,WL4)及因此施加到耦合到选定字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一到第三控制栅极(CG)341到343)。编程脉冲可(举例来说)以15V或接近15V而开始,且在特定实例中,可在每一编程脉冲施加期间增加量值。在将编程电压施加到选定字线时,可将例如接地电位(例如,Vss)的电位施加到目标为编程的存储器单元的数据线(例如,位线)及衬底(及因此源极与漏极之间的沟道),从而产生从沟道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或福勒-诺德海姆(Fowler-Nordheim)(FN)隧穿等)。
相比来说,可将通过电压(Vpass)施加到具有目标并非编程的存储器单元的一或多个字线,或可将抑制电压(例如,Vcc)施加到具有目标并非编程的存储器单元的数据线(例如,位线),(举例来说)以抑制将电荷从沟道转移到此类非目标存储器单元的浮动栅极。通过电压可为取决于(举例来说)所施加通过电压与目标为编程的字线的接近度而可变的。抑制电压可包含相对于接地电位(例如,Vss)的供应电压(Vcc),例如来自外部源或供应器(例如,电池、AC转DC转换器等)的电压。
作为实例,如果将编程电压(例如,15V或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上所接收的一或多个信号或指令(举例来说,包含指示所要操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号)或者一或多个地址线416上所接收的地址信号(A0到AX)而控制存储器装置400的存储器操作。存储器装置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串中,感测放大器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读取或将被编程到所述存储器单元中的数据值的数据。选定数据可使用第二数据线418在页缓冲器422与I/O电路426之间传送。
存储器控制单元430可接收来自外部源或供应器(例如,内部或外部电池、AC转DC转换器等)的正供应信号及负供应信号,例如供应电压(Vcc)434及负供应(Vss)436(例如,接地电位)。在特定实例中,存储器控制单元430可包含调节器428以在内部提供正供应信号或负供应信号。
如先前所描述,存储器装置的每一存储器单元可布置为存储单个数据位(SLC)或多个数据位(MLC,其包含三个数据单元或TLC)。如本文中所使用,MLC用于指代MLC或TLC单元。SLC单元比MLC单元更快且更稳健,但MLC单元存储更多数据(例如,对比1个位,2个或3个位)。存储器装置的单元作为SLC或MLC单元的配置在制造时可为固定的,或在一些实例中,存储器装置的固件可具有在使用期间在SLC单元与MLC单元之间重新配置单元的能力。
虽然SLC提供最佳性能,但仅使用SLC存储器单元制造在容量上适合用作存储装置的存储器装置并非为具成本效益的。已开发的折衷解决方案为将一些单元配置为SLC且将其余单元配置为MLC。数据首先被写入到SLC,接着稍后在存储器装置不忙时传送到MLC。以此方式使用SLC单元可称为SLC高速缓存。此SLC高速缓存机制提供SLC存储器单元的速度与MLC存储器单元的存储容量之间的平衡。
在一些实例性存储器装置中,SLC高速缓存的大小在装置制造时为固定的(固定大小SLC高速缓存)。在其它实例中,由于存储器单元可为可由固件在SLC与MLC之间重新配置,因此高速缓存大小在使用期间可变化(动态大小SLC高速缓存)。在特征为动态大小SLC高速缓存的存储器装置中,高速缓存大小通常基于存储器装置充满的程度而变化。当装置装满时,配置为SLC高速缓存的存储器单元移转到MLC以增加数据存储容量。配置为SLC的存储器单元移转到MLC所依据的参数在设计时为固定的。
一些实例中揭示具有可定制SLC高速缓存配置及行为的存储器装置。SLC高速缓存行为简档可加载到存储器装置,所述SLC高速缓存行为简档可指定以下各项中的一者、多者或全部:高速缓存的大小规则(包含用于增加或减小高速缓存的规则)、高速缓存的使用规则、指定高速缓存的位置的规则等等。SLC高速缓存行为简档可在制造时经由主机接口等等即时加载到装置上。SLC高速缓存行为简档可包含单个配置规则或多个规则。
在其中SLC高速缓存的大小为固定(固定SLC高速缓存装置)的存储器装置中,固件可基于SLC高速缓存行为简档中的信息而设定高速缓存的大小、位置及/或使用规则。举例来说,在存储器装置上的固件对象的第一次执行时,固件对象可读取SLC高速缓存行为简档且根据所述行为简档而配置存储器单元。后续固件操作还可利用SLC高速缓存行为简档中所指定的任何使用规则(如果存在)。
在其中SLC高速缓存可改变(动态SLC高速缓存)的存储器装置中,固件可利用SLC高速缓存行为简档中所指定的SLC高速缓存的初始大小及位置。在存储器装置的操作期间,固件可利用大小规则来确定何时重新配置高速缓存的大小。SLC高速缓存行为简档还可指定在重新配置期间关于高速缓存的位置的规则。
SLC高速缓存行为简档可为静态的—即,其可加载到存储器装置一次并存留于整个存储器装置的寿命期间,或者其可被替换或更新。举例来说,装置使用特性可改变,且因此主机可经由通信接口(例如,UFS接口)而替换SLC高速缓存行为简档。举例来说,智能电话可接收指定新SLC高速缓存行为简档的空中下载(OTA)更新,所述新SLC高速缓存行为简档修改存储器装置的性能特性。此更新可为响应于其中安装存储器装置的装置(例如,智能电话)的使用行为的改变。
在一些实例中,SLC高速缓存行为简档可包含大小规则(其可包含SLC高速缓存的大小)及用于重新配置高速缓存(针对动态SLC高速缓存)的一或多个规则。举例来说,基于逻辑饱和度—即,一或多个逻辑块寻址(LBA)使用阈值及对应SLC高速缓存大小的列表。存储器装置的固件可监视存储器装置的LBA使用,且在存储器装置超过阈值时,固件可将存储器单元从SLC重新配置为MLC或从MLC重新配置为SLC,从而改变SLC高速缓存的大小。一般来说,大小规则可包含算法、规则、表或用于根据存储器装置的性能度量而确定SLC高速缓存的大小的其它方法。在其它实例中,替代基于逻辑饱和度的规则或除基于逻辑饱和度的规则以外,规则可基于需求。举例来说,SLC高速缓存大小可基于主机请求队列深度、命令类型、命令的数目等等。举例来说,一些命令可有利地写入到SLC高速缓存。如果在给定时间帧内接收到超过阈值数目个所述命令,那么可增加SLC高速缓存。
在一些实例中,行为简档可包含使用规则。举例来说,活动阈值。由于SLC高速缓存需要更多电力来写入,因此当存储器装置的活动小于阈值时,存储器装置可跳过SLC高速缓存并直接将数据放置到MLC存储装置中,从而既节省电力又不牺牲性能。对于智能电话、平板计算机及其它移动装置,此可产生电力节省。举例来说,写入到MLC存储装置不仅耗费较少电力,而且通过仅写入一次数据而节省电力。也就是说,当将数据写入到SLC高速缓存时,数据接着稍后被移动到MLC存储装置,从而产生两次写入。
在存储器装置的制造期间,将固件对象加载到存储器装置上。固件对象是在存储器装置中的微处理器上执行的软件代码。固件对象可控制存储器装置的哪些单元为SLC及哪些单元为MLC、SLC高速缓存的使用、高速缓存的位置及存储器装置的其它操作。如所述,固件可利用SLC高速缓存行为简档来控制SLC高速缓存。SLC高速缓存行为简档可存储于存储器装置的存储器位置中、与固件一起存储、以硬写码方式存储为固件的部分(例如,作为一系列指令、数据结构、常数等等存储于固件对象内)等等。
在一些实例中,SLC高速缓存大小可被划分成两个部分:第一部分及第二部分。通常更新的数据(例如,在预定时间周期中更新达预定次数的数据)可存储于第一部分中,而第二部分可充当写入到装置的其它数据的目的地。在其中SLC高速缓存中的项目移动到MLC的废弃项目收集期间,第一部分中的数据可保留在SLC中,而第二部分中的数据可移动到MLC。第一部分越大,主机将写入SLC中的数据的机会越大且SLC高速缓存的性能提升越大。
图5图解说明根据本发明的一些实例的存储器控制器515。存储器控制器515可为图1的存储器控制器115的一个实例性实施方案。存储器管理器525可为存储器管理器125的实例,表530表130的实例、控制器535可为控制器135的实例,且ECC 540可为ECC 140的实例。在一些实例中,存储器管理器525可包含SLC高速缓存管理器532。SLC高速缓存管理器532可加载SLC高速缓存行为简档(例如SLC高速缓存行为简档534)并利用所述SLC高速缓存行为简档来配置SLC高速缓存。SLC高速缓存管理器可读取SLC高速缓存行为简档以便将存储器单元初始化为SLC或MLC。SLC高速缓存管理器532还可监视存储器装置的性能特性以确定SLC高速缓存行为简档534中的参数是否指示重新配置SLC高速缓存。举例来说,SLC高速缓存行为简档534可具有允许基于存储器装置的性能或其它度量而计算所要SLC高速缓存大小的公式、阈值或表。作为实例,SLC高速缓存行为简档可包括多个LBA饱和度电平(例如,所使用LBA块的数目或比例)及针对每一电平的对应SLC高速缓存大小。SLC高速缓存管理器532可监视当前LBA利用率,并视需要基于当前LBA利用率而重新配置SLC高速缓存。虽然本发明在本文中使用LBA利用率作为确定SLC高速缓存大小的度量,但可利用其它度量。举例来说,更一般来说,***可监视存储器装置的性能度量,且响应于性能度量满足、超过或小于目标,可增加或减小SLC高速缓存。
SLC高速缓存行为简档534可被硬写码到存储器装置中、可处于存储器管理器525(或控制器535)的工作存储器中、可位于存储器装置的存储装置中、可经由接口(例如,UFS接口)从主机装置发送,等等。举例来说,SLC高速缓存行为简档可在电子装置的存储器装置制造时加载到存储器装置上,所述存储器装置为所述电子装置的部分。
写入控制器537还可利用SLC高速缓存行为简档534。举例来说,除配置规则之外,SLC高速缓存行为简档534还可包含指定何时利用高速缓存的使用规则。举例来说,当写入到存储器装置的存储器单元时,使用规则可指定一或多个存储器装置度量(例如写入活动率)及阈值。举例来说,SLC高速缓存行为简档534可指定在特定写入活动阈值下,存储器装置应写入到MLC存储装置而非利用SLC高速缓存。在接收到写入请求后,写入控制器537可即刻查看SLC高速缓存行为简档534,且可确定一或多个度量(例如,写入活动),且接着将一或多个度量与SLC高速缓存行为简档534中所指定的一或多个规则及阈值进行比较。
图6A图解说明根据本发明的一些实例的基于行为简档而控制SLC高速缓存的方法600的流程图。在操作610处,存储器装置可确定SLC高速缓存行为简档。举例来说,SLC高速缓存行为简档可存储于存储器装置中、存储于控制器的存储器中,等等。行为简档可先前已经由通信接口从主机装置而接收,所述通信接口例如在工厂编程的UFS接口、固件对象的部分等等。
在操作615处,存储器装置可利用行为简档来配置SLC高速缓存。举例来说,SLC高速缓存行为简档可指定高速缓存大小。对于静态大小SLC高速缓存,固件可分配存储器装置的足够多存储器单元作为SLC单元,使得经分配作为SLC高速缓存的存储器单元的存储大小等于SLC高速缓存行为简档中所指定的大小。对于动态大小SLC高速缓存,SLC高速缓存行为简档可指定初始大小。固件可分配存储器装置的足够多存储器单元作为SLC单元,使得经分配作为SLC高速缓存的存储器单元的存储大小等于SLC高速缓存行为简档中所指定的初始SLC高速缓存大小。
如所述,SLC高速缓存行为特性可包含包括导致高速缓存的重新配置的条件的高速缓存大小条件。这些条件可经指定为具有存储器装置的一或多个度量作为输入及所要SLC高速缓存大小作为输出的算法。接着,固件可尝试将存储器装置重新配置为所要SLC高速缓存大小。在其它实例中,条件可为度量阈值、比较器及目标大小。当度量高于、低于或等于阈值(取决于比较器)时,固件将存储器装置重新配置为目标大小。
还如所述,SLC高速缓存行为简档可包含高速缓存使用条件。这些条件指定固件利用SLC高速缓存来存储新写入的数据的情况。举例来说,装置利用率、写入活动阈值等等。举例来说,如果写入活动低于阈值,那么数据可即刻写入到MLC存储器单元而非首先高速缓存于SLC单元中。如先前所描述,此可节省电力。
图6B图解说明根据本发明的一些实例的处置写入请求的方法650的流程图。在操作660处,存储器装置(例如,控制器)可接收用以写入数据的写入命令(例如,经由通信接口从主机)。在操作665处,做出是将数据写入到SLC高速缓存还是MLC存储器单元的确定。举例来说,SLC高速缓存行为简档可指定用于确定是将数据写入到SLC还是MLC存储器的存储器装置度量。作为实例,写入活动度量可量测存储器装置在预定时间周期内接收到多少次写入请求(写入活动)。如果装置度量指示不使用SLC高速缓存,例如,写入活动小于预定阈值(由行为简档指定),那么在操作680处,存储器装置可直接将数据写入到MLC。如果装置度量指示将使用SLC高速缓存,那么在操作670处,可首先将数据写入到SLC。稍后,例如,在装置不忙时,在操作675处,可将数据从SLC移转到MLC。
图7图解说明其上可执行本文中所论述的技术(例如,方法)中的任何一或多者的实例性机器700的框图。在替代实施例中,机器700可操作为独立装置或可连接(例如,网络连接)到其它机器。在经网络连接部署中,机器700可在服务器-客户端网络环境中以服务器机器、客户端机器或此两者的能力进行操作。在实例中,机器700可在对等(P2P)(或其它分布式)网络环境中充当对等机器。机器700可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车***,或能够执行指定将由所述机器采取的动作的指令(顺序或以其它方式)的任何机器。此外,尽管图解说明仅单个机器,但还应将术语“机器”视为包含个别地或联合地执行一组(或多组)指令以执行本文中所论述的方法中的任何一或多者的任何机器集合,例如云端计算、软件即服务(SaaS)、其它计算机群集配置。
如本文中所描述的实例可包含逻辑、组件、装置、封装或机构或者可通过逻辑、组件、装置、封装或机构而操作。电路***为包含硬件(例如,简单电路、栅极、逻辑等)的有形实体中所实施的电路集合(例如,集)。电路***成员资格可随时间及基础硬件可变性而灵活变化。电路***包含在操作时可单独地或以组合方式执行特定任务的成员。在实例中,电路***的硬件可经不变地设计以实施特定操作(例如,经硬连线)。在实例中,电路***的硬件可包含变化地连接的物理组件(例如,执行单元、晶体管、简单电路等),包含经物理修改(例如,以磁性方式、以电方式、不变有质量的粒子的可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件中,硬件组成的基础电性质(举例来说)从绝缘体改变为导体,或反之亦然。指令使得参与硬件(例如,执行单元或加载机构)能够经由可变连接以硬件方式形成电路***的成员以在操作时实施特定任务的部分。因此,计算机可读媒体在装置正操作时通信地耦合到电路***的其它组件。在实例中,多于一个电路***的多于一个成员中可使用物理组件中的任一者。举例来说,在操作下,执行单元可在一个时间点处用于第一电路***的第一电路中,且在不同时间由第一电路***中的第二电路或由第二电路***中的第三电路再使用。
机器(例如,计算机***)700(例如,主机装置105、存储器装置110等)可包含硬件处理器702(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器704及静态存储器706,其中的一些或全部可经由交互链路(例如,总线)708彼此进行通信。机器700可进一步包含显示单元710、字母数字输入装置712(例如,键盘)及用户接口(UI)导航装置714(例如,鼠标)。在实例中,显示单元710、输入装置712及UI导航装置714可为触摸屏显示器。机器700可另外包含存储装置(例如,驱动单元)716、信号产生装置718(例如,扬声器)、网络接口装置720及一或多个传感器716,例如全球定位***(GPS)传感器、指南针、加速度计或其它传感器。机器700可包含输出控制器728,例如串行(例如,通用串行总线(USB))、并行或者其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以与一或多个***装置(例如,打印机、读卡器等)通信或控制所述一或多个***装置。
存储装置716可包含机器可读媒体722,所述机器可读媒体上存储有体现本文中所描述的技术或功能中的任何一或多者或由本文中所描述的技术或功能中的任何一或多者利用的一或多组数据结构或指令724(例如,软件)。指令724在其由机器700执行期间还可完全地或至少部分地驻存于主存储器704内、静态存储器706内或硬件处理器702内。在实例中,硬件处理器702、主存储器704、静态存储器706或存储装置716中的一者或任何组合可构成机器可读媒体722。
尽管机器可读媒体722图解说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令724的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联高速缓存及服务器)。
术语“机器可读媒体”可包含能够存储、编码或载运供由机器700执行且致使机器700执行本发明的技术中的任何一或多者的指令或者能够存储、编码或载运由此类指令所使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器以及光学及磁性媒体。在实例中,有质量的机器可读媒体包括拥有具有不变(例如,静止)质量的多个粒子的机器可读媒体。因此,有质量的机器可读媒体并非暂时传播信号。有质量的机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内部硬磁盘及可装卸式磁盘;磁光盘;以及CD-ROM及DVD-ROM磁盘。
指令724(例如,软件、程序、操作***(OS)等)或其它数据存储于存储装置721上、可由存储器704存取以供由处理器702使用。存储器704(例如,DRAM)通常为快速的,但为易失性的,且因此为与适合长期存储(包含在处于“关断”条件时)的存储装置721(例如,SSD)不同类型的存储装置。用户或机器700使用的指令724或数据通常加载于存储器704中以供由处理器702使用。当存储器704充满时,可分配存储装置721的虚拟空间来补充存储器704;然而,由于存储装置721通常比存储器704慢,且写入速度通常比读取速度慢至少一半,因此虚拟存储器的使用可极大地减少由存储装置等待时间所致的用户体验(与存储器704(例如,DRAM)相比)。此外,针对虚拟存储器的存储装置721的使用可极大地减少存储装置721的可用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为压缩块存储装置以避免对存储装置721进行分页。分页发生于压缩块中,直到需要将此数据写入到存储装置721为止。虚拟存储器压缩增加存储器704的可用大小,同时减少对存储装置721的损耗。
对于移动电子装置或移动存储装置优化的存储装置通常包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置并行的若干个接口(例如,并行的8位接口),且相对主机装置通常为可移除且单独的组件。相比来说,eMMCTM装置附接到电路板且被视为主机装置的组件,其中具有堪比基于串行ATATM(串行AT(高级技术)附接或SATA)的SSD装置的读取速度。然而,对移动装置性能的需求持续增加,例如全面启用虚拟实境或扩增实境装置、利用渐增的网络速度等。响应于此需求,存储装置已从并行通信接口转变为串行通信接口。通用快闪存储(UFS)装置(包含控制器及固件)使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置进行通信,从而进一步推进更大读取/写入速度。
指令724可进一步利用若干个传送协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任一者经由网络接口装置720使用传输媒体在通信网络726上传输或接收。实例性通信网络可包含局域网络(LAN)、广域网络(WAN)、包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络及无线数据网络(例如,称为的电气电子工程师协会(IEEE)802.11标准系列、称为/>的IEEE 802.16标准系列)、IEEE802.15.4标准系列、对等(P2P)网络以及其它网络。在实例中,网络接口装置720可包含一或多个物理插口(例如,以太网络插口、同轴插口或电话插口)或者一或多个天线以连接到通信网络726。在实例中,网络接口装置720可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者无线地通信。术语“传输媒体”应视为包含能够存储、编码或载运供由机器700执行的指令的任何无形媒体,且包含数字或模拟通信信号或者其它无形媒体以促进此软件的通信。
以上详细描述包含对形成详细描述的部分的附图的参考。所述图式以图解说明方式展示其中可实践本发明的特定实施例。这些实施例在本文中还称为“实例”。除了所展示或所描述的那些元素之外,此类实例还可包含若干元素。然而,本发明人还预期其中仅提供所展示或所描述的那些元素的实例。此外,本发明人还预期使用关于特定实例(或者其一或多个方面)或关于本文中所展示或所描述的其它实例(或者其一或多个方面)所展示或所描述的那些元素的任何组合或排列的实例(或者其一或多个方面)。
在此文件中,如在专利文件中常见,使用术语“一(a或an)”来包含一个或多于一个,此独立于“至少一个”或“一或多个”的任何其它实例或使用。在此文件中,除非另有指示,否则使用术语“或”来指示非排他性,或使得“A或B”可包含“A但非B”、“B但非A”及“A及B”。在所附权利要求书中,将术语“包含(including)”及“其中(in which)”用作相应术语“包括(comprising)”及“其中(wherein)”的普通英语等效形式。并且,在所附权利要求书中,术语“包含(including)”及“包括(comprising)”为开放式的,也就是说,包含除列于权利要求中的此术语之后的那些元件以外的元件的***、装置、物品或过程仍被视为归属于所述权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标记,且并不打算对其对象施加数字要求。
在各种实例中,除其它之外,本文中所描述的组件、控制器、处理器、单元、引擎或表可包含物理装置上所存储的物理电路***或固件。如本文中所使用,“处理器”意指任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器群组或多核装置。
如本文件中所使用的术语“水平”定义为平行于衬底(例如下伏于晶片或裸片的衬底)的常规平面或表面的平面,而不管所述衬底在任何时间点的实际定向如何。术语“垂直”是指垂直于如上文所定义的水平的方向。例如“在...上”、“在...上方”及“在...下方”等介词是相对于衬底的顶部或所暴露表面上的常规平面或表面而定义,而不管衬底的定向如何;且同时“在...上”打算表明一个结构相对于另一结构(所述一个结构位于所述另一结构上)的直接接触(在缺少相反的明确指示的情况下);术语“在...上方”及“在...下方”明确打算识别结构(或层、特征等)的相对放置,其明确包含但不限于所识别结构之间的直接接触,除非具体识别为此。类似地,术语“在...上方”及“在...下方”不限于水平定向,这是因为如果结构在某时间点为所论述的构造的最外部分,那么所述结构可“在参考结构上方”,即使此结构相对于参考结构垂直地延伸而非沿水平定向延伸也如此。
术语“晶片”及“衬底”在本文中用于一般指在其上形成集成电路的任何结构,且还指在集成电路制作的各个阶段期间的此类结构。因此,以下详细描述不应视为具有限制意义,且各种实施例的范围仅由所附权利要求书连同此类权利要求书在其内受保护的等效内容的全部范围来定义。
根据本发明及本文中所描述的各种实施例包含利用存储器单元(例如,存储器单元的NAND串)的垂直结构的存储器。如本文中所使用,方向性形容词将视为是相对于其上形成存储器单元的衬底的表面(即,垂直结构将视为远离衬底表面而延伸,垂直结构的底部端将视为最接近衬底表面的端,且垂直结构的顶部端将视为最远离衬底表面的端)。
如本文中所使用,例如水平、垂直(vertical)、法向、平行、垂直(perpendicular)等方向性形容词可指相对定向,且并非打算需要严格遵循特定几何性质,除非另有所述。举例来说,如本文中所使用,垂直结构不需要严格垂直于衬底的表面,而是替代地可大体垂直于衬底的表面,且可与衬底的表面形成锐角(例如,介于60°与120°之间等)。
在本文中所描述的一些实施例中,可将不同掺杂配置应用于源极侧选择栅极(SGS)、控制栅极(CG)及漏极侧选择栅极(SGD),在此实例中,其中的每一者可由多晶硅形成或至少包含多晶硅,结果是使得这些叠层(例如,多晶硅等)在暴露于蚀刻溶液时可具有不同蚀刻速率。举例来说,在形成3D半导体装置中的单块柱的过程中,SGS及CG可形成凹部,而SGD可保持较少凹陷或甚至没有凹陷。因此,这些掺杂配置可通过使用蚀刻溶液(例如,氢氧化四甲铵(TMCH))而实现到3D半导体装置中的不同叠层(例如,SGS、CG及SGD)中的选择性蚀刻。
如本文中所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。使存储器单元处于既定状态中的操作在本文中称为“编程”,且可包含写入到存储器单元或从存储器单元擦除(例如,存储器单元可编程为经擦除状态)两者。
根据本发明的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传递、调适、导出、定义、利用、修改、应用等)损耗循环的数量或损耗状态(例如,记录损耗循环、在损耗循环发生时对存储器装置的操作进行计数、跟踪损耗循环起始的存储器装置的操作、评估对应于损耗状态的存储器装置特性等)。
根据本发明的一或多个实施例,存储器存取装置可经配置以随每一存储器操作将损耗循环信息提供到存储器装置。存储器装置控制电路***(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息,且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当将元件称为“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件连接或与另一元件耦合,或可存在介入元件。相比来说,当将元件称为直接“在另一元件上”、“直接连接到另一元件”或“直接与另一元件耦合”时,不存在介入元件或层。如果两个元件在图式中展示为利用线连接其两者,那么两个元件可为耦合的或直接耦合的,除非另有指示。
本文中所描述的方法实例可为至少部分地机器或计算机实施的。一些实例可包含利用指令编码的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如以上实例中所描述的方法。此类方法的实施方案可包含代码,例如微代码、汇编语言代码、较高级语言代码等等。此代码可包含用于执行各种方法的计算机可读指令。所述代码可形成计算机程序产品的部分。此外,所述代码可(例如)在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。此等有形计算机可读媒体的实例可包含但不限于硬磁盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘及数字视频盘)、盒式磁带、存储卡或存储条、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置等等。
以上描述打算为说明性而非限制性。举例来说,上文所描述的实例(或者其一或多个方面)可以彼此组合方式使用。例如,所属领域的技术人员可在审阅以上描述后即刻使用其它实施例。基于以下理解提交:其并非将用于解释或限制权利要求书的范围或含义。并且,在以上实施方式中,各种特征可分群在一起以简化本发明。此不应解释为意指未主张的所揭示特征对任何权利要求为必要的。而是,发明性标的物可在于少于特定所揭示实施例的所有特征。因此,特此将所附权利要求书并入到实施方式中,其中每一权利要求独立地作为单独实施例,且预期,此类实施例可以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书连同此类权利要求书被授权的等效内容的全部范围来确定。
其它说明及实例
实例1是一种存储器装置,所述存储器装置包括:存储器单元阵列,所述阵列中的所述存储器单元可配置为多电平单元(MLC)配置或单电平单元(SLC)配置;控制器,所述控制器执行固件指令,所述固件指令致使所述控制器执行包括以下各项的操作:经由通信接口接收用于所述存储器装置的SLC高速缓存的行为简档,所述行为简档描述SLC高速缓存分配;基于所述行为简档将所述阵列的存储器单元配置为属于SLC高速缓存池或MLC存储池;接收用以将数据写入到所述存储器装置的写入命令;将所述数据写入到所述SLC高速缓存池;及在将所述数据写入到所述SLC高速缓存池之后,将所述数据传送到所述MLC存储池。
在实例2中,实例1的标的物任选地包含:其中所述通信接口为通用快闪存储接口。
在实例3中,实例1到2中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标逻辑块寻址(LBA)饱和度阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:确定当前LBA饱和度超过所述目标LBA饱和度阈值,且作为响应,调整所述阵列中的所述存储器单元的配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
在实例4中,实例1到3中的任何一或多者的标的物任选地包含:其中所述行为简档包含写入活动阈值,且其中所述操作进一步包括:接收用以将第二数据写入到所述存储器装置的第二写入命令;确定所述存储器装置的写入活动低于所述写入活动阈值,且作为响应,绕过所述SLC高速缓存而将所述第二数据写入到所述MLC存储池。
在实例5中,实例4的标的物任选地包含:其中所述写入活动阈值为待决写入请求的数目。
在实例6中,实例1到5中的任何一或多者的标的物任选地包含:其中所述写入命令是经由根据通用快闪存储(UFS)标准而实施的接口从主机接收。
在实例7中,实例1到6中的任何一或多者的标的物任选地包含:其中确定所述存储器装置的所述SLC高速缓存的所述行为简档及基于所述行为简档将所述阵列的存储器单元配置为属于所述SLC高速缓存池或所述MLC存储池的所述操作仅在所述固件对象的第一次执行时执行。
在实例8中,实例1到7中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标活动阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:确定当前活动阈值超过所述目标活动阈值,且作为响应,调整所述阵列中的所述存储器单元的配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
实例9是一种方法,所述方法包括:在包括存储器单元阵列的存储器装置处,所述阵列中的所述存储器单元可配置为多电平单元(MLC)配置或单电平单元(SLC)配置,使用控制器执行包括以下各项的操作:经由通信接口接收用于所述存储器装置的SLC高速缓存的行为简档,所述行为简档描述SLC高速缓存分配;基于所述行为简档将所述阵列的存储器单元配置为属于SLC高速缓存池或MLC存储池;接收用以将数据写入到所述存储器装置的写入命令;将所述数据写入到所述SLC高速缓存池;及在将所述数据写入到所述SLC高速缓存池之后,将所述数据传送到所述MLC存储池。
在实例10中,实例9的标的物任选地包含:其中所述通信接口为通用快闪存储接口。
在实例11中,实例9到10中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标逻辑块寻址(LBA)饱和度阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:确定当前LBA饱和度超过所述目标LBA饱和度阈值,且作为响应,调整所述阵列中的所述存储器单元的配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
在实例12中,实例9到11中的任何一或多者的标的物任选地包含:其中所述行为简档包含写入活动阈值,且其中所述操作进一步包括:接收用以将第二数据写入到所述存储器装置的第二写入命令;确定所述存储器装置的写入活动低于所述写入活动阈值,且作为响应,绕过所述SLC高速缓存而将所述第二数据写入到所述MLC存储池。
在实例13中,实例12的标的物任选地包含:其中所述写入活动阈值为待决写入请求的数目。
在实例14中,实例9到13中的任何一或多者的标的物任选地包含:其中所述写入命令是经由根据通用快闪存储(UFS)标准而实施的接口从主机接收。
在实例15中,实例9到14中的任何一或多者的标的物任选地包含:其中确定所述存储器装置的所述SLC高速缓存的所述行为简档及基于所述行为简档将所述阵列的存储器单元配置为属于所述SLC高速缓存池或所述MLC存储池的所述操作仅在所述固件对象的第一次执行时执行。
在实例16中,实例9到15中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标活动阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:确定当前活动阈值超过所述目标活动阈值,且作为响应,调整所述阵列中的所述存储器单元的配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
实例17是一种机器可读媒体,其包括在由机器执行时致使所述机器执行包括以下各项的操作的指令:经由通信接口接收用于存储器装置的SLC高速缓存的行为简档,所述行为简档描述SLC高速缓存分配;基于所述行为简档将存储器单元阵列的存储器单元配置为属于SLC高速缓存池或MLC存储池;接收用以将数据写入到所述存储器装置的写入命令;将所述数据写入到所述SLC高速缓存池;及在将所述数据写入到所述SLC高速缓存池之后,将所述数据传送到所述MLC存储池。
在实例18中,实例17的标的物任选地包含:其中所述通信接口为通用快闪存储接口。
在实例19中,实例17到18中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标逻辑块寻址(LBA)饱和度阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:确定当前LBA饱和度超过所述目标LBA饱和度阈值,且作为响应,调整所述阵列中的所述存储器单元的配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
在实例20中,实例17到19中的任何一或多者的标的物任选地包含:其中所述行为简档包含写入活动阈值,且其中所述操作进一步包括:接收用以将第二数据写入到所述存储器装置的第二写入命令;确定所述存储器装置的写入活动低于所述写入活动阈值,且作为响应,绕过所述SLC高速缓存而将所述第二数据写入到所述MLC存储池。
在实例21中,实例20的标的物任选地包含:其中所述写入活动阈值为待决写入请求的数目。
在实例22中,实例17到21中的任何一或多者的标的物任选地包含:其中所述写入命令是经由根据通用快闪存储(UFS)标准而实施的接口从主机接收。
在实例23中,实例17到22中的任何一或多者的标的物任选地包含:其中确定所述存储器装置的所述SLC高速缓存的所述行为简档及基于所述行为简档将所述阵列的存储器单元配置为属于所述SLC高速缓存池或所述MLC存储池的所述操作仅在所述固件对象的第一次执行时执行。
在实例24中,实例17到23中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标活动阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:确定当前活动阈值超过所述目标活动阈值,且作为响应,调整所述阵列中的所述存储器单元的配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
实例25是一种存储器装置,其包括:存储器单元阵列,所述阵列中的所述存储器单元可配置为多电平单元(MLC)配置或单电平单元(SLC)配置,使用控制器来执行包括以下各项的操作:用于经由通信接口接收用于所述存储器装置的SLC高速缓存的行为简档的构件,所述行为简档描述SLC高速缓存分配;用于基于所述行为简档将所述阵列的存储器单元配置为属于SLC高速缓存池或MLC存储池的构件;用于接收用以将数据写入到所述存储器装置的写入命令的构件;用于将所述数据写入到所述SLC高速缓存池的构件;及在将所述数据写入到所述SLC高速缓存池之后,用于将所述数据传送到所述MLC存储池的构件。
在实例26中,实例25的标的物任选地包含:其中所述通信接口为通用快闪存储接口。
在实例27中,实例25到26中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标逻辑块寻址(LBA)饱和度阈值及所述SLC高速缓存的对应目标大小,且其中所述装置进一步包括:用于确定当前LBA饱和度超过所述目标LBA饱和度阈值且作为响应而调整所述阵列中的所述存储器单元的配置使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小的构件。
在实例28中,实例25到27中的任何一或多者的标的物任选地包含:其中所述行为简档包含写入活动阈值,且其中所述装置进一步包括:用于接收用以将第二数据写入到所述存储器装置的第二写入命令的构件;用于确定所述存储器装置的写入活动低于所述写入活动阈值且作为响应绕过所述SLC高速缓存而将所述第二数据写入到所述MLC存储池的构件。
在实例29中,实例28的标的物任选地包含:其中所述写入活动阈值为待决写入请求的数目。
在实例30中,实例25到29中的任何一或多者的标的物任选地包含:其中所述写入命令是经由根据通用快闪存储(UFS)标准而实施的接口从主机接收。
在实例31中,实例25到30中的任何一或多者的标的物任选地包含:其中确定所述存储器装置的SLC高速缓存的行为简档及基于所述行为简档将所述阵列的存储器单元配置为属于SLC高速缓存池或MLC存储池仅在所述固件对象的第一次执行时执行。
在实例32中,实例25到31中的任何一或多者的标的物任选地包含:其中所述行为简档包括目标活动阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:用于确定当前活动阈值超过所述目标活动阈值的构件,及作为响应,用于调整所述阵列中的所述存储器单元的配置使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小的构件。

Claims (19)

1.一种存储器装置,所述存储器装置包括:
存储器单元阵列,所述阵列中的所述存储器单元可配置为多电平单元MLC配置或单电平单元SLC配置;
控制器,所述控制器执行固件指令,所述固件指令致使所述控制器执行包括以下各项的操作:
经由通信接口接收用于SLC高速缓存池的行为简档,所述SLC高速缓存池由所述存储器装置的所述存储器单元阵列的存储器单元组成,所述行为简档描述SLC高速缓存分配规则,所述SLC高速缓存分配规则基于性能度量的值指定所述SLC高速缓存池的大小;
确定所述存储器装置的所述性能度量的所述值;
基于所述行为简档和所述性能度量将所述阵列的存储器单元配置为属于所述SLC高速缓存池或MLC存储池;
接收用以将数据写入到所述存储器装置的写入命令;
将所述数据写入到所述SLC高速缓存池;
在将所述数据写入到所述SLC高速缓存池之后,将所述数据传送到所述MLC存储池;
从主机装置经由所述通信接口接收经更新简档,所述经更新简档指定不同的SLC高速缓存分配规则;及
响应于接收所述经更新简档,根据所述经更新简档中的不同规则和所述存储器装置的所述性能度量的所述值将所述阵列的所述存储器单元重新配置为属于所述SLC高速缓存池或所述MLC存储池。
2.根据权利要求1所述的存储器装置,其中所述通信接口为通用快闪存储接口。
3.根据权利要求1所述的存储器装置,其中所述行为简档包括目标逻辑块寻址LBA饱和度阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:
确定当前LBA饱和度超过所述目标LBA饱和度阈值,且作为响应,调整所述阵列中的所述存储器单元的所述配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
4.根据权利要求1所述的存储器装置,其中所述行为简档包含写入活动阈值,且其中所述操作进一步包括:
接收用以将第二数据写入到所述存储器装置的第二写入命令;
确定所述存储器装置的写入活动低于所述写入活动阈值,且作为响应,绕过所述SLC高速缓存而将所述第二数据写入到所述MLC存储池。
5.根据权利要求4所述的存储器装置,其中所述写入活动阈值为待决写入请求的数目。
6.根据权利要求1所述的存储器装置,其中所述写入命令是经由根据通用快闪存储UFS标准实施的接口从主机接收。
7.根据权利要求1所述的存储器装置,其中所述行为简档包括目标活动阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:
确定当前活动阈值超过所述目标活动阈值,且作为响应,调整所述阵列中的所述存储器单元的所述配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
8.一种用于操作存储器装置的方法,所述方法包括:
在包括存储器单元阵列的所述存储器装置处,所述阵列中的所述存储器单元可配置为多电平单元MLC配置或单电平单元SLC配置,使用控制器执行包括以下各项的操作:
经由通信接口接收用于SLC高速缓存池的行为简档,所述SLC高速缓存池由所述存储器装置的所述存储器单元阵列的存储器单元组成,所述行为简档描述SLC高速缓存分配规则,所述SLC高速缓存分配规则基于性能度量的值指定所述SLC高速缓存池的大小;
确定所述存储器装置的所述性能度量的所述值;
基于所述行为简档和所述性能度量将所述阵列的存储器单元配置为属于所述SLC高速缓存池或MLC存储池;
接收用以将数据写入到所述存储器装置的写入命令;
将所述数据写入到所述SLC高速缓存池;
在将所述数据写入到所述SLC高速缓存池之后,将所述数据传送到所述MLC存储池;
从主机装置经由所述通信接口接收经更新简档,所述经更新简档指定不同的SLC高速缓存分配规则;及
响应于接收所述经更新简档,根据所述经更新简档中的不同规则和所述存储器装置的所述性能度量的所述值将所述阵列的所述存储器单元重新配置为属于所述SLC高速缓存池或所述MLC存储池。
9.根据权利要求8所述的方法,其中所述通信接口为通用快闪存储接口。
10.根据权利要求8所述的方法,其中所述行为简档包括目标逻辑块寻址LBA饱和度阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:
确定当前LBA饱和度超过所述目标LBA饱和度阈值,且作为响应,调整所述阵列中的所述存储器单元的所述配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
11.根据权利要求8所述的方法,其中所述行为简档包含写入活动阈值,且其中所述操作进一步包括:
接收用以将第二数据写入到所述存储器装置的第二写入命令;
确定所述存储器装置的写入活动低于所述写入活动阈值,且作为响应,绕过所述SLC高速缓存而将所述第二数据写入到所述MLC存储池。
12.根据权利要求11所述的方法,其中所述写入活动阈值为待决写入请求的数目。
13.根据权利要求8所述的方法,其中所述写入命令是经由根据通用快闪存储UFS标准实施的接口从主机接收。
14.根据权利要求8所述的方法,其中所述行为简档包括目标活动阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:
确定当前活动阈值超过所述目标活动阈值,且作为响应,调整所述阵列中的所述存储器单元的所述配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
15.一种机器可读媒体,其包括在由机器执行时致使所述机器执行包括以下各项的操作的指令:
经由通信接口接收用于SLC高速缓存池的行为简档,所述SLC高速缓存池由存储器装置的存储器单元阵列的存储器单元组成,所述行为简档描述SLC高速缓存分配规则,所述SLC高速缓存分配规则基于性能度量的值指定所述SLC高速缓存池的大小;
确定所述存储器装置的所述性能度量的所述值;
基于所述行为简档和所述性能度量将所述阵列的存储器单元配置为属于所述SLC高速缓存池或MLC存储池;
接收用以将数据写入到所述存储器装置的写入命令;
将所述数据写入到所述SLC高速缓存池;
在将所述数据写入到所述SLC高速缓存池之后,将所述数据传送到所述MLC存储池;
从主机装置经由所述通信接口接收经更新简档,所述经更新简档指定不同的SLC高速缓存分配规则;及
响应于接收所述经更新简档,根据所述经更新简档中的不同规则和所述存储器装置的所述性能度量的所述值将所述阵列的所述存储器单元重新配置为属于所述SLC高速缓存池或所述MLC存储池。
16.根据权利要求15所述的机器可读媒体,其中所述通信接口为通用快闪存储接口。
17.根据权利要求15所述的机器可读媒体,其中所述行为简档包括目标逻辑块寻址LBA饱和度阈值及所述SLC高速缓存的对应目标大小,且其中所述操作进一步包括:
确定当前LBA饱和度超过所述目标LBA饱和度阈值,且作为响应,调整所述阵列中的所述存储器单元的所述配置,使得所述SLC高速缓存中的所述存储器单元的数目产生为所述目标大小的SLC高速缓存大小。
18.根据权利要求15所述的机器可读媒体,其中所述行为简档包含写入活动阈值,且其中所述操作进一步包括:
接收用以将第二数据写入到所述存储器装置的第二写入命令;
确定所述存储器装置的写入活动低于所述写入活动阈值,且作为响应,绕过所述SLC高速缓存而将所述第二数据写入到所述MLC存储池。
19.根据权利要求18所述的机器可读媒体,其中所述写入活动阈值为待决写入请求的数目。
CN201880061492.1A 2017-08-30 2018-08-29 单电平单元高速缓存管理 Active CN111758091B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/690,869 2017-08-30
US15/690,869 US10545685B2 (en) 2017-08-30 2017-08-30 SLC cache management
PCT/US2018/048477 WO2019046386A1 (en) 2017-08-30 2018-08-29 SLC CACHE MANAGEMENT

Publications (2)

Publication Number Publication Date
CN111758091A CN111758091A (zh) 2020-10-09
CN111758091B true CN111758091B (zh) 2024-05-24

Family

ID=65436929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880061492.1A Active CN111758091B (zh) 2017-08-30 2018-08-29 单电平单元高速缓存管理

Country Status (4)

Country Link
US (3) US10545685B2 (zh)
CN (1) CN111758091B (zh)
TW (1) TWI685746B (zh)
WO (1) WO2019046386A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194517B2 (en) * 2016-05-24 2021-12-07 Samsung Electronics Co., Ltd. Method and apparatus for storage device latency/bandwidth self monitoring
US10545685B2 (en) 2017-08-30 2020-01-28 Micron Technology, Inc. SLC cache management
JP7030463B2 (ja) 2017-09-22 2022-03-07 キオクシア株式会社 メモリシステム
US10521146B1 (en) 2017-11-09 2019-12-31 Micron Technology, Inc. UFS based idle time garbage collection management
JP2020035128A (ja) * 2018-08-29 2020-03-05 キオクシア株式会社 メモリシステム
WO2020180045A1 (en) * 2019-03-07 2020-09-10 Samsung Electronics Co., Ltd. Electronic device and method for utilizing memory space thereof
US11023150B2 (en) 2019-07-01 2021-06-01 International Business Machines Corporation Block mode toggling using hybrid controllers
US11182089B2 (en) 2019-07-01 2021-11-23 International Business Machines.Corporation Adapting memory block pool sizes using hybrid controllers
US10983829B2 (en) * 2019-07-12 2021-04-20 Micron Technology, Inc. Dynamic size of static SLC cache
US11029874B2 (en) * 2019-07-30 2021-06-08 Western Digital Technologies, Inc. Rolling XOR protection in efficient pipeline
US11550737B2 (en) * 2019-07-31 2023-01-10 Micron Technology, Inc. Adjusting characteristic of system based on profile
EP3771984A1 (en) * 2019-08-02 2021-02-03 Samsung Electronics Co., Ltd. Storage device and operating method thereof
KR102650809B1 (ko) * 2019-08-02 2024-03-26 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
US11119672B2 (en) * 2019-08-06 2021-09-14 Intel Corporation Dynamic single level cell memory controller
US11126360B2 (en) 2019-10-22 2021-09-21 International Business Machines Corporation Dynamically adjusting block mode pool sizes
KR102685013B1 (ko) 2019-11-11 2024-07-15 삼성전자주식회사 스토리지 장치 및 그 동작방법
US11188261B2 (en) 2019-11-18 2021-11-30 International Business Machines Corporation Memory controllers for solid-state storage devices
US11392526B2 (en) * 2020-06-04 2022-07-19 Micron Technology, Inc. Memory system with selectively interfaceable memory subsystem
KR20220069543A (ko) 2020-11-20 2022-05-27 삼성전자주식회사 스토리지 장치, 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템
CN112732189B (zh) * 2021-01-07 2024-05-10 Oppo广东移动通信有限公司 数据存储方法、装置、存储介质及电子设备
DE102022100592A1 (de) 2021-02-05 2022-08-11 Samsung Electronics Co., Ltd. Betriebsverfahren eines Universal-Flash-Storage-Hosts und Betriebsverfahren eines Universal-Flash-Storage-Systems
US11625333B2 (en) * 2021-04-26 2023-04-11 Micron Technology, Inc. Configurable flush operation speed
US11658685B2 (en) 2021-10-05 2023-05-23 Macronix International Co., Ltd. Memory with multi-mode ECC engine
TWI788161B (zh) * 2021-12-27 2022-12-21 技嘉科技股份有限公司 動態調整單級區塊及三級區塊比例的控制方法
US11861234B2 (en) * 2022-03-18 2024-01-02 Micron Technology, Inc. Dynamic adjustment of data storage for enhanced data retention
US20240012763A1 (en) * 2022-07-07 2024-01-11 Dell Products L.P. Systems And Methods Of Intelligent Logical Block Address (LBA) Access Trace Log Collection For Performance Optimization
US20240053925A1 (en) * 2022-08-15 2024-02-15 Micron Technology, Inc. Caching for multiple-level memory device
US20240061589A1 (en) * 2022-08-17 2024-02-22 Micron Technology, Inc. Code rate as function of logical saturation
CN117271391B (zh) * 2023-06-20 2024-04-16 海光信息技术股份有限公司 缓存结构和电子设备
CN117555492B (zh) * 2024-01-12 2024-03-29 合肥开梦科技有限责任公司 存储器控制器、存储器管理方法及存储装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473140A (zh) * 2009-07-17 2012-05-23 株式会社东芝 存储器管理装置
CN102880559A (zh) * 2012-07-31 2013-01-16 中国人民解放军国防科学技术大学 基于应用敏感的微处理器末端高速缓存控制方法及装置
CN102890621A (zh) * 2011-07-22 2013-01-23 弗森-艾奥公司 确定固态存储介质配置参数的装置、***和方法
KR20130017749A (ko) * 2011-08-12 2013-02-20 아주대학교산학협력단 솔리드 스테이트 드라이브의 쓰기 데이터 분별 방법 및 그 컨트롤러
CN103077132A (zh) * 2013-01-07 2013-05-01 浪潮(北京)电子信息产业有限公司 一种高速缓存处理方法及协议处理器高速缓存控制单元
CN103136118A (zh) * 2011-11-21 2013-06-05 西部数据技术公司 使用多层存储器的磁盘驱动数据缓存
CN103562883A (zh) * 2011-05-31 2014-02-05 美光科技公司 存储器装置中的动态存储器高速缓存大小调整
US9251891B1 (en) * 2014-11-11 2016-02-02 Sandisk Technologies Inc. Devices and methods to conditionally send parameter values to non-volatile memory
CN107094370A (zh) * 2012-05-04 2017-08-25 希捷科技有限公司 固态硬盘控制器的0‑1平衡管理

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078794B2 (en) 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US8843691B2 (en) 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US8407400B2 (en) 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US8467237B2 (en) * 2010-10-15 2013-06-18 Micron Technology, Inc. Read distribution management for phase change memory
US8886990B2 (en) 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
US8472274B2 (en) 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
US9176862B2 (en) 2011-12-29 2015-11-03 Sandisk Technologies Inc. SLC-MLC wear balancing
KR102094902B1 (ko) * 2013-07-08 2020-03-30 삼성전자주식회사 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템
US8886877B1 (en) * 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
US10146475B2 (en) * 2014-09-09 2018-12-04 Toshiba Memory Corporation Memory device performing control of discarding packet
US10452280B2 (en) * 2014-10-03 2019-10-22 International Business Machines Corporation Hybrid storage system employing reconfigurable memory
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9697134B2 (en) * 2015-06-10 2017-07-04 Micron Technology, Inc. Memory having a static cache and a dynamic cache
US10545685B2 (en) 2017-08-30 2020-01-28 Micron Technology, Inc. SLC cache management

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473140A (zh) * 2009-07-17 2012-05-23 株式会社东芝 存储器管理装置
CN103562883A (zh) * 2011-05-31 2014-02-05 美光科技公司 存储器装置中的动态存储器高速缓存大小调整
CN102890621A (zh) * 2011-07-22 2013-01-23 弗森-艾奥公司 确定固态存储介质配置参数的装置、***和方法
KR20130017749A (ko) * 2011-08-12 2013-02-20 아주대학교산학협력단 솔리드 스테이트 드라이브의 쓰기 데이터 분별 방법 및 그 컨트롤러
CN103136118A (zh) * 2011-11-21 2013-06-05 西部数据技术公司 使用多层存储器的磁盘驱动数据缓存
CN107094370A (zh) * 2012-05-04 2017-08-25 希捷科技有限公司 固态硬盘控制器的0‑1平衡管理
CN102880559A (zh) * 2012-07-31 2013-01-16 中国人民解放军国防科学技术大学 基于应用敏感的微处理器末端高速缓存控制方法及装置
CN103077132A (zh) * 2013-01-07 2013-05-01 浪潮(北京)电子信息产业有限公司 一种高速缓存处理方法及协议处理器高速缓存控制单元
US9251891B1 (en) * 2014-11-11 2016-02-02 Sandisk Technologies Inc. Devices and methods to conditionally send parameter values to non-volatile memory

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Hybrid Approach to NAND-Flash-Based Solid-State Disks;Li-Pin Chang .etc;《IEEE Transaction on Computers》;第59卷(第10期);1337-1349 *
一种闪存敏感的多级缓存管理方法;王江涛等;《软件学报》;20140127;第25卷(第11期);1-12 *

Also Published As

Publication number Publication date
US10545685B2 (en) 2020-01-28
US20220129168A1 (en) 2022-04-28
CN111758091A (zh) 2020-10-09
US11635899B2 (en) 2023-04-25
WO2019046386A1 (en) 2019-03-07
US20200159426A1 (en) 2020-05-21
TWI685746B (zh) 2020-02-21
US11237737B2 (en) 2022-02-01
US20190065080A1 (en) 2019-02-28
TW201921253A (zh) 2019-06-01

Similar Documents

Publication Publication Date Title
CN111758091B (zh) 单电平单元高速缓存管理
US11625176B2 (en) Managed NVM adaptive cache management
US10884647B2 (en) UFS based idle time garbage collection management
US10121551B1 (en) Detecting power loss in NAND memory devices
US10409726B2 (en) Dynamic L2P cache
CN111226192B (zh) 受管理的多个裸片存储器qos
CN111105828B (zh) Nand读取命令的动态延迟
CN113168377B (zh) Slc高速缓存分配
US11693700B2 (en) Dynamic size of static SLC cache
CN109726035B (zh) 存储器装置、操作该装置的方法和非易失性机器可读媒体
US10891072B2 (en) NAND flash thermal alerting
US11031089B2 (en) Block read count voltage adjustment
CN111201571B (zh) 在高热条件下提高nand性能
CN111684529B (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