CN117519453A - 受管理的nvm自适应高速缓冲存储器管理 - Google Patents
受管理的nvm自适应高速缓冲存储器管理 Download PDFInfo
- Publication number
- CN117519453A CN117519453A CN202311611821.4A CN202311611821A CN117519453A CN 117519453 A CN117519453 A CN 117519453A CN 202311611821 A CN202311611821 A CN 202311611821A CN 117519453 A CN117519453 A CN 117519453A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory cells
- array
- configuration
- 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.)
- Pending
Links
- 230000003044 adaptive effect Effects 0.000 title abstract description 4
- 230000015654 memory Effects 0.000 claims description 374
- 238000012546 transfer Methods 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 34
- 230000007958 sleep Effects 0.000 claims description 9
- 230000003370 grooming effect Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 53
- 238000004891 communication Methods 0.000 description 32
- 230000004044 response Effects 0.000 description 27
- 230000004048 modification Effects 0.000 description 25
- 238000012986 modification Methods 0.000 description 25
- 239000004065 semiconductor Substances 0.000 description 19
- 239000000758 substrate Substances 0.000 description 15
- 238000003491 array Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000007667 floating Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 5
- 229920005591 polysilicon Polymers 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005530 etching Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006266 hibernation Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- WGTYBPLFGIVFAS-UHFFFAOYSA-M tetramethylammonium hydroxide Chemical compound [OH-].C[N+](C)(C)C WGTYBPLFGIVFAS-UHFFFAOYSA-M 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- POSWICCRDBKBMH-UHFFFAOYSA-N dihydroisophorone Natural products CC1CC(=O)CC(C)(C)C1 POSWICCRDBKBMH-UHFFFAOYSA-N 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Read Only Memory (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Semiconductor Memories (AREA)
Abstract
本申请涉及受管理的NVM自适应高速缓冲存储器管理。在一些实例中公开提供可定制的单层级单元SLC和多层级单元MLC配置的存储器装置。SLC高速缓冲存储器的配置(例如,大小和位置)可影响所述存储器装置的电力消耗、速度和其它性能。所述存储器装置安装到的电子装置的操作系统可希望基于所述操作系统可检测到的某些条件达成装置的不同性能。以此方式,操作系统可通过调整所述SLC高速缓冲存储器的性能特性来定制所述存储器装置的性能。
Description
分案申请的相关信息
本申请是申请日为2018年8月21日、申请号为201880062659.6、发明名称为“受管理的NVM自适应高速缓冲存储器管理”的发明专利申请的分案申请。
优先权申请
本申请案主张2017年8月30日申请的美国申请案序列号15/691,147的优先权益,所述美国申请案以全文引用的方式并入本文中。
背景技术
通常将存储器装置提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(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可结合存储器操作从主机接收命令,所述存储器操作例如在存储器装置和主机之间传送数据(例如,用户数据和相关联的完整性数据,例如误差数据和地址数据等)的读取或写入操作,或从存储器装置擦除数据的擦除操作。
发明内容
本发明一实施例提供了一种存储器装置。该存储器装置包括:存储器单元阵列,其中所述阵列中的所述存储器单元能够配置为多层级单元MLC配置或单层级单元SLC配置;控制器,其经配置以:接收指示以使用所述SLC配置中的所述存储器单元阵列的至少一部分;至少部分地基于所述指示而将所述存储器单元阵列的所述至少一部分从所述MLC配置重新配置为所述SLC配置;接收传入数据并将所述传入数据写入到所述SLC配置中的所述存储器单元阵列的所述至少一部分;以及将所述存储器单元阵列的所述至少一部分从所述SLC配置重新配置回到所述MLC配置。
本发明另一实施例提供了一种用于操作存储器装置的方法。该方法包括:接收指示以使用单层级单元SLC配置中的所述存储器装置的存储器单元阵列的至少一部分,其中所述存储器装置的所述阵列中的所述存储器单元能够配置为多层级单元MLC配置或所述单层级单元SLC配置;至少部分地基于所述指示而将所述存储器单元阵列的所述至少一部分从所述MLC配置重新配置为所述SLC配置;接收传入数据并将所述传入数据写入到所述SLC配置中的所述存储器单元阵列的所述至少一部分;以及将所述存储器单元阵列的所述至少一部分从所述SLC配置重新配置回到所述MLC配置。
附图说明
在不一定按比例绘制的附图中,相似标号可以在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同例子。图式借助于实例而非限制性地总体上说明本文件中所论述的各种实施例。
图1说明根据本发明的一些实例的包含存储器装置的环境的实例。
图2-3说明根据本发明的一些实例的3D NAND架构半导体存储器阵列的实例的示意图。
图4说明根据本发明的一些实例的存储器模块的实例框图。
图5说明根据本发明的一些实例的操作系统控制装置性能的方法的流程图。
图6说明根据本发明的一些实例的处置存储器装置处的写入请求的方法的流程图。
图7说明根据本发明的一些实例的操作系统监测电子装置并且发送电子装置状态指示的方法的流程图。
图8说明根据本发明的一些实例的存储器控制器815。
图9是说明根据本发明的一些实例的可在上面实施一或多个实施例的机器的实例的框图。
具体实施方式
存储器装置可包括可重新配置于单层级单元(SLC)和多层级单元(MLC)配置之间的多个存储器单元。在一些实例中,存储器装置配置一些SLC单元充当用于写入请求的高速的高速缓冲存储器。数据首先写入到较高执行性SLC单元并且接着稍后可重写到被配置成MLC单元的单元。配置为SLC高速缓冲存储器的部分的单元的数目可在存储器装置的操作期间改变。举例来说,在存储器装置装满时,存储器装置可将SLC单元重新配置为MLC单元以增加存储容量。这些技术为SLC层级性能提供具有MLC存储器单元的存储器装置的存储容量。
SLC高速缓冲存储器的配置(例如,大小和位置)可影响存储器装置的电力消耗、速度和其它性能。其中安装有存储器装置的电子装置的操作系统可希望基于操作系统可检测到的某些条件而达成装置的不同性能特性。举例来说,为响应于低电池电量条件而达成较低电力消耗,所述操作系统可通知存储器装置,所述存储器装置可将SLC高速缓冲存储器行为调整为较低电力消耗。在其它实例中,操作系统可推导存储器装置的降级或其它条件并且可将指令发到装置以将装置重新配置为具有更多SLC存储(更可靠)或可压缩或删除外来文件(其可具有降低LBA利用率的效应并且因此将MLC迁移到SLC高速缓冲存储器)。以此方式,操作系统可通过调整SLC高速缓冲存储器的性能特性,显式地通过发送消息或隐式地通过改变存储器装置上的存储以致使SLC高速缓冲存储器性能中的移位,以此来定制存储器装置的性能。
例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)和因特网连接的电器或装置(例如,物联网(IoT)装置等)等电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需要。
电子装置可分解为若干主要组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);以及存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC,或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、电力管理电路系统、基带处理器或一或多个收发器电路等。
图1说明包含被配置成经由通信接口通信的主机105和存储器装置110的环境100的实例。主机105或存储器装置110可包含在多种产品150中,例如物联网(IoT)装置(例如,电冰箱或其它电器、传感器、电机或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115和包含例如数个个别存储器装置(例如,三维(3D)NAND裸片的堆叠)的存储器阵列120。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次数、物理页且因此增加存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可以是主机105的离散存储器或存储装置组件。在其它实例中,存储器装置110可以是集成电路(例如,芯片上系统(SoC)等)的部分,其与主机105的一或多个其它组件堆叠或以其它方式包含在一起。
可使用一或多个通信接口在存储器装置110与主机105的一或多个其它组件之间传送数据,如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或一或多个其它连接器或接口。主机105可包含主机系统、电子装置、处理器、存储卡读卡器,或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参考图9的机器900论述的组件中的某一部分或全部的机器。
存储器控制器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读取并以块擦除。然而,一或多个存储器操作(例如,读取、写入、擦除等)可视需要在更大或更小的存储器单元群组上执行。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 SGS231A0-233A0、第一到第三An SGS 231An-233An、第一到第三B0 SGS231B0-233B0、第一到第三Bn SGS231Bn-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等),以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的半导体材料的一或多个额外层。作为实例,48GBTLC NAND存储器装置可包含每页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存取第一到第三A0 SGD 226A0-228A0,可使用An SGD线SGDAn 225An存取第一到第三An SGD226An-228An,可使用B0 SGD线SGDB0 225B0存取第一到第三B0 SGD 226B0-228B0,且可使用BnSGD线SGDBn 225Bn存取第一到第三Bn SGD 226Bn-228Bn。可使用栅极选择线SGS0 230A来存取第一到第三A0 SGS231A0-233A0和第一到第三An SGS231An-233An,且可使用栅极选择线SGS1 230B来存取第一到第三B0 SGS231B0-233B0和第一到第三Bn SGS231Bn-233Bn。
在实例中,存储器阵列200可包含数个层级的半导体材料(例如,多晶硅等),其被配置成耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。可以使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多个层次处的特定存储器单元。
图3说明NAND架构半导体存储器阵列300的一部分的实例示意图,所述阵列包含布置于串(例如第一到第三串305-307)和层次(例如示出为相应字线(WL)WL0-WL7310-317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列中的多个存储器单元302,以及感测放大器或装置360。举例来说,存储器阵列300可说明例如图2中说明的3DNAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一到第三SGS 331-333)耦合到源极线(SRC),且使用相应漏极侧选择栅极(SGD)(例如,第一到第三SGD 326-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)施加到具有不以编程为目标的存储器单元的数据线(例如,位线),使得例如禁止电荷从沟道转移到此类非目标存储器单元的浮动栅极。传递电压可例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可包含电源电压(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的通信或对存储器阵列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之间传送所选数据。
存储器控制单元430可以从外部源或电源(例如,内部或外部电池、AC-DC转换器等)接收正和负电源信号,例如电源电压(Vcc)434和负电源(Vss)436(例如,接地电势)。在某些实例中,存储器控制单元430可以包含调节器428以在内部提供正或负电源信号。
在典型存储器装置中,电子装置的操作系统和安装于电子装置中的存储器装置的固件将受益于相对于电子装置的性能需要和需求更完全地同步化存储器装置的性能。举例来说,当电子装置的电池电力为低时,降低存储器装置的功耗是有利的。作为另一实例,在大文件传送之前,有利的是增加存储器装置的速度。现有操作系统和存储器装置不以此方式同步化。
公开允许电子装置的操作系统通过修改SLC高速缓冲存储器行为特性来控制存储器装置性能特性的方法、系统和机器可读媒体。这些机制为操作系统提供响应于改变的操作条件而改变运行中的存储器装置的性能特性的方式。实例存储器装置性能特性包含速度、电力使用、温度输出、数据完整性和自由空间。可修改的实例SLC高速缓冲存储器行为特性包含SLC高速缓冲存储器的配置、SLC高速缓冲存储器的行为,且在一些实例中,可触发高速缓冲存储器操作(例如,垃圾收集)。
在一些实例中,操作系统可通过在通信接口(例如,UFS)上将消息发送到存储器装置的固件来修改存储器装置性能特性。操作系统可将一或多个电子装置状态指示发送到存储器装置,所述存储器装置可致使SLC高速缓冲存储器的配置和/或行为改变。电子装置状态指示可为操作系统向存储器装置指示其中安装有存储器装置的电子装置的状态。在其它实例中,并非显式地改变存储器装置性能特性,而是,操作系统可写入或擦除数据以改变SLC高速缓冲存储器配置(例如,大小)且因此改变存储器装置性能特性。
实例电子装置状态指示是低电力指示,其指示操作系统监测到的电池电量可能为低。作为响应,存储器装置可重新配置所述存储器单元以具有较少SLC高速缓冲存储器(和较多MLC高速缓冲存储器),且/或绕过新写入上的SLC高速缓冲存储器,以节约电力。另一实例电子装置状态指示可为即将发生大传送。在此指示中,操作系统可确定或预测可在预定量的时间内写入大量数据。举例来说,操作系统可准备接收、发送或记录流式传输音频或视频。作为响应,存储器装置可在预计到大数据传送时增加SLC高速缓冲存储器的大小,以提供最佳性能。
另一实例电子装置状态指示包含高环境温度指示。可响应于检测环境温度(如通过是电子装置的部分但不是存储器装置的部分的温度传感器监测到)的操作系统检测到电子装置的环境的空气温度超过阈值而触发此指示。存储器装置可采取动作,例如限制SLC高速缓冲存储器的使用以在努力维持存储器装置的凉爽温度的过程中降低存储器装置热量产生并且避免热疏导。
再一实例电子装置状态指示是即将进入睡眠或休眠指示。此指示允许存储器装置执行各种垃圾收集操作和/或将数据从SLC高速缓冲存储器移动到MLC存储中。
如所提及,在一些实例中,并非发送电子装置状态指示,而是,操作系统可擦除、移动或写入数据到存储器装置,以在无明确指引的情况下影响SLC高速缓冲存储器的重新配置。这利用以下事实:在一些存储器装置中,通过逻辑块寻址(LBA)分配来确定SLC高速缓冲存储器的量。在分配更多LBA时,驱动器上的自由存储器块减少。提供广告的容量的存储器装置缩小SLC高速缓冲存储器的大小并且将SLC转换成MLC。一旦产生自由空间,接着便可将MLC转换回到SLC。
因此,举例来说,如果操作系统检测到其中存储器装置的存储器单元失败(例如,通过监测驱动、位差错或其它准则的自监测、分析和报告技术(SMART)报告中的度量)的条件,那么操作系统可从存储器装置删除数据。这致使存储器装置将MLC重新分配给SLC存储器单元,将数据从较不可靠的存储移动到更可靠的存储。为删除数据,操作系统可压缩操作系统或用户数据,删除临时文件(例如,高速缓冲存储器、因特网浏览历史、信息记录程序(cookies)、回收或垃圾站等),减小页或交换文件大小,询问用户删除用户数据等。
现在转而参考图5,其为根据本发明的一些实例的操作系统控制装置性能的方法500的流程图。在操作510处,存储器装置可从操作系统接收电子装置状态条件指示。举例来说,可经由例如通用快闪存储(UFS)接口的接口接收低电池电量指示、即将发生大传送指示、高环境温度指示等等。
在操作514处,在一些实例中,存储器装置可确定用于处置所接收的电子装置状态指示的一或多个规则。存储器装置可配置有规则集,其指定在给出装置条件指示的情况下如何更改SLC高速缓冲存储器。存储器装置可接收电子装置状态指示,确认适当的规则,并且按所述规则执行动作。规则可在操作515处执行并且可在操作516处指定存储器装置修改高速缓冲存储器配置,在操作518处修改高速缓冲存储器行为指示符,和/或在操作520处执行一或多个SLC高速缓冲存储器例程。规则集可通过固件对象、外部编程器、经由来自操作系统的通信接口等编程到存储器装置中。
在操作516处,可基于在操作510处接收到的指示和在操作514处识别的规则,更改SLC高速缓冲存储器配置。实例配置更改包含修改SLC高速缓冲存储器的大小(增加或减小),修改哪些存储器单元包括SLC高速缓冲存储器(例如,SLC高速缓冲存储器的物理布置)等等。
作为一个实例,电子装置状态指示可为操作系统准备好传送大量文件的指示。举例来说,用户可请求视频或音乐流,或可开始保存高清视频。存储器装置存储的规则可指示在接收到此指示后即刻将一或多个可用的MLC存储器单元重新配置成SLC高速缓冲存储器。SLC高速缓冲存储器的大小增加可通过规则指定,且在一些实例中,可为固定大小增加。在其它实例中,所述规则可指定一公式,所述公式可取决于数个因素,例如可用的MLC(例如,LBA利用率)、预期传送大小(可由操作系统在指示中提供)等等。
在操作518处,可设置SLC高速缓冲存储器的行为修改指示符,以用信号通知存储器装置修改高速缓冲存储器的行为。在一些实例中,此指示可涉及设置旗标或利用一些其它数据结构(如由规则指示)以向存储器装置指示某些行为经更改。举例来说,在接收到低电力指示后,存储器装置即可设置旗标以在接收到写入请求时绕过SLC高速缓冲存储器以节约电力。后续写入请求可在集合所述旗标的情况下绕过SLC高速缓冲存储器并且直接写入到MLC。
在其它实例中,可响应于接收到某些电子装置状态指示,在操作520处调用(如由规则指定)各种高速缓冲存储器例程。举例来说,如果操作系统指示其中安装有存储器装置的电子装置即将进入睡眠或休眠,那么规则可指定存储器装置可开始垃圾收集,且/或将数据从SLC高速缓冲存储器移动到MLC存储且/或可减小SLC高速缓冲存储器的大小。
在一些实例中,所述指示可为装置的电力不再低并且恢复满功率操作。举例来说,将新写入投入到SLC高速缓冲存储器。在这些实例中,如果旗标在SLC高速缓冲存储器预置文件中设置为暂停写入到SLC高速缓冲存储器,那么可清除所述旗标。
由于SLC高速缓冲存储器行为可能经修改,因此存储器装置可以不同方式执行一些操作,例如处置请求。现在转而参考图6,示出根据本发明的一些实例的处置存储器装置处的写入请求的方法600的流程图。在操作610处,存储器装置可例如经由UFS或其它通信接口从主机接收写入操作。在操作616处,存储器装置可识别是否存在任何行为修改指示符(例如,任何旗标集)。在操作618处,存储器装置可基于行为修改指示符确定是否将来自所述请求的数据写入到SLC高速缓冲存储器。举例来说,如果存储器装置接收到目前为低电池电量条件的电子装置状态指示,那么可设置行为修改指示符以指示存储器装置不应将写入请求存储到SLC高速缓冲存储器。
如果在操作618处,存储器装置确定不写入到SLC高速缓冲存储器,那么在操作620处,系统可将数据直接写入到MLC存储。如果在操作618处,存储器装置确定将数据写入到SLC高速缓冲存储器,那么在操作622处,系统可将所述数据写入到SLC高速缓冲存储器,并且,随后(例如,在空闲时间期间),可将块从SLC移动到MLC。
现在转而参考图7,示出了根据本发明的一些实例的操作系统监测电子装置并且发送电子装置状态指示的方法700的流程图。在操作710处,操作系统可监测一或多个装置条件。实例包含即将需要将大量数据写入到存储器装置、高环境温度、低电力条件、在低电力条件之后返回到正常电力条件、即将进入睡眠或休眠等等。在操作714处,装置可检测到这些条件中的一个。在操作716处,操作系统可确定装置条件指示存储器装置行为的改变。举例来说,操作系统可利用一系列规则指定发送哪些电子装置状态指示和响应于哪些装置条件。在操作720处,鉴于装置已确定将发送装置状态条件,操作系统将电子装置状态指示经由通信接口(例如,UFS)发送到存储器装置。
虽然如已述及,图7的方法700利用电子装置状态指示消息,但操作系统可经由发到存储器装置的正常读取/写入命令写入、删除、移动或以其它方式操控数据,以此改变SLC高速缓冲存储器配置以及因此存储器装置行为特性。
图8说明根据本发明的一些实例的存储器控制器815。存储器控制器815可为图1的存储器控制器115的一个实例实施方案。存储器管理器825可为存储器管理器125的实例,表530为表130的实例,控制器835可为控制器135的实例,且ECC 840可为ECC 140的实例。在一些实例中,存储器管理器825可包含SLC高速缓冲存储器管理器832。SLC高速缓冲存储器管理器832可加载SLC高速缓冲存储器行为预置文件,例如SLC高速缓冲存储器行为预置文件834,并且利用所述预置文件来配置SLC高速缓冲存储器。SLC高速缓冲存储器行为预置文件834可包括SLC高速缓冲存储器配置信息、行为修改指示符,以及用于处理电子装置状态指示的规则集。SLC高速缓冲存储器管理器可读取SLC高速缓冲存储器行为预置文件以便将所述存储器单元初始化为SLC或MLC。SLC高速缓冲存储器管理器832还可接收电子装置状态指示,并且作为响应,更新SLC高速缓冲存储器配置和行为指示符。SLC高速缓冲存储器行为预置文件834可硬译码到存储器装置中,可在存储器管理器825(或控制器835)的工作存储器中,可位于存储器装置的存储中,可经由接口(例如,UFS接口)从主机装置发送等等。
写入控制器837还可利用SLC高速缓冲存储器行为预置文件834。举例来说,SLC高速缓冲存储器行为预置文件834可包含行为修改指示符添加到配置信息以指定对SLC高速缓冲存储器行为的修改。举例来说,当写入到存储器装置的存储器单元时,行为修改指示符可指定存储器装置应写入到MLC存储而非利用SLC高速缓冲存储器。在接收到写入请求后,写入控制器837即可检查SLC高速缓冲存储器行为预置文件834并且可确定是否有任何行为修改指示符实现写入请求且如果是,则采取适当动作。
图9说明其上可执行本文中论述的技术(例如,方法)中的任何一或多种的实例机器900的框图。在替代实施例中,机器900可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器900可在服务器-客户端网络环境中作为服务器机器、客户端机器或两者操作。在实例中,机器900可以充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器900可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单一机器,但术语“机器”也将被视为包含个别地或共同地执行指令集(或多个集合)以执行本文中所论述的方法中的任何一或多种(例如,云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文中所描述,实例可以包含逻辑、组件、装置、封装或机制,或者可以通过逻辑、组件、装置、封装或机制操作。电路是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路成员可随时间推移和基础硬件变化而为灵活的。电路包含当操作时可单独或组合地进行特定任务的部件。在实例中,可以不可改变的方式设计电路系统的硬件以进行特定操作(例如,硬连线)。在实例中,电路系统的硬件可以包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理上经修改(例如,以磁性方式、以电学方式、恒定集结粒子的可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件以当在操作中时进行特定任务的部分。因此,当装置操作时,计算机可读媒体以通信方式耦合到电路系统的其它组件。在一实例中,物理组件中的任一个可用于超过一个电路系统的超过一个部件中。举例来说,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路,并且由第一电路系统中的第二电路再使用,或在不同时间下由第二电路系统中的第三电路再使用。
机器(例如,计算机系统)900(例如,主机105、受管理存储器装置110等)可包含硬件处理器902(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器904和静态存储器906,其中的一些或全部可经由互联件(例如,总线)908彼此通信。机器900可另外包含显示单元910、字母数字输入装置912(例如,键盘)和用户接口(UI)导航装置914(例如,鼠标)。在一实例中,显示单元910、输入装置912和UI导航装置914可为触摸屏显示器。机器900可另外包含存储装置(例如,驱动单元)、信号产生装置918(例如,扬声器)、网络接口装置920,以及一或多个传感器916,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器900可以包含输出控制器928,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
存储装置可包含机器可读媒体922,在所述机器可读媒体922上存储体现本文中所描述的技术或功能中的任何一或多个或者供本文中所描述的技术或功能中的任何一或多个利用的一或多个数据结构或指令集924(例如,软件)。指令924还可以在其由机器900执行期间完全或至少部分地驻留于主存储器904内、静态存储器906内或硬件处理器902内。在实例中,硬件处理器902、主存储器904、静态存储器906或存储装置中的一个或任何组合可构成机器可读媒体922。
虽然机器可读媒体922说明为单个媒体,但术语“机器可读媒体”可包含被配置成存储一或多个指令924的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联的高速缓冲存储器和服务器)。
术语“机器可读媒体”可以包含能够存储、编码或载送用于由机器900执行且使机器900执行本公开的技术中的任何一或多种的指令,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在实例中,大容量机器可读媒体包括具有质量不变(例如静止)的多个粒子的机器可读媒体。因此,大容量机器可读媒体是非暂时性传播信号。大容量机器可读媒体的特定实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可拆卸磁盘;磁光盘;和CD-ROM和DVD-ROM盘。
指令924(例如,软件、程序、操作系统(OS)等)或其它数据存储于存储装置921上,可由存储器904存取以供处理器902使用。存储器904(例如,DRAM)通常是快速但易失性的,且因此是不同于适用于长期存储(包含在处于“关断”状态时的存储)的存储装置921(例如,SSD)的类型的存储装置。供用户或机器900使用的指令924或数据通常加载来主存储器904中以供处理器902使用。当存储器904已满时,可分配来自存储装置921的虚拟空间以增补存储器904;然而,因为存储装置921通常比存储器904慢且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储装置等待时间(相比于存储器904,例如DRAM)可能极大地降低用户体验。此外,用于虚拟存储器的存储装置921的使用可极大地减少存储装置921的可用的使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置921的分页。分页在经压缩块中发生直到必须将这类数据写入到存储装置921为止。虚拟存储器压缩增加存储器904的可用大小,同时减少存储装置921上的磨损。
针对移动电子装置优化的存储装置或移动存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含数个与主机装置并行的接口(例如,8位并行接口),且通常是可从主机装置拆卸和分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度堪比基于串行ATATM(串行高级技术(AT)附件,或SATA)的SSD装置。然而,对移动装置性能的需求继续增大,以便完全启用虚拟或扩增现实装置,利用提高的网络速度等。响应于此需求,存储装置已从并行通信接口转换到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。
指令924可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置920使用发射媒体在通信网络926上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为的电气电子工程师学会(IEEE)802.11系列标准、称为/>的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等(P2P)网络,以及其它网络。在实例中,网络接口装置920可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络926。在实例中,网络接口装置920可以包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。术语“发射媒体”应被视为包含能够存储、编码或载送指令以由机器900执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
以上详细描述包含对附图的参考,所述附图形成详细描述的部分。所述图式借助于说明来展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所展示或描述的那些要素之外的要素。然而,本发明人还预期其中仅提供所展示或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文件中,如专利文件中所常见地使用术语“一”包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在此文献中,术语“或”用于指代非排它性“或”,使得除非另有指示,否则“A或B”可包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含”和“在其中”用作相应术语“包括”和“其中”的简明等效用语。而且,在所附权利要求书中,术语“包含”和“包括”为开放式的,也就是说,包含除权利要求书中在此术语之后列出的那些元件之外的元件的系统、装置、物品或过程仍被视为在权利要求书的范围内。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且并不意图对其对象施加数字要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如在本文件中所使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如下伏于晶片或裸片的常规平面或表面,而不管在任一时间点所述衬底的实际定向如何。术语“竖直”指代竖直于如上定义的水平的方向。例如“上”、“上方”和“下方”等介词是相对于常规平面或表面在衬底的顶部或暴露表面上定义,而不考虑衬底的定向如何;且同时“上”既定表明一个结构相对于其位于其“上”的另一结构的直接接触(在不做出相反指示的表达的情况下);术语“上方”和“下方”明确地既定识别结构(或层、特征等)的相对放置,除非具体如此指示,否则其明确地包含但不限于所识别结构之间的直接接触。类似地,术语“在……上”和“在……下”不限于水平定向,因为如果一结构在某个时间点是所讨论的构造的最外部分,那么即使所述结构相对于参考结构竖直延伸而不是在水平定向上延伸,此结构也可在参考结构“上”。
术语“晶片”和“衬底”在本文中用于大体上指代集成电路形成于其上的任何结构,并且还指代在集成电路制造的各个阶段期间的此类结构。因此,以下详细描述不应以限制性意义来理解,并且各种实施例的范围仅由所附权利要求书连同所述权利要求书授权的等效物的完整范围定义。
根据本发明且在本文中所描述的各种实施例包含使用存储器单元的竖直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,将采用相对有存储器单元形成在上面的衬底的表面的方向性形容词(即,竖直结构将被视为远离衬底表面而延伸,竖直结构的底端将被视为最接近衬底表面的端部,并且竖直结构的顶端将被视为最远离衬底表面的端部)。
如本文中所使用,方向性形容词(例如水平、竖直、正交、平行、垂直等)可指相对定向,并且除非另外指出,否则并不意图需要严格遵守具体几何性质。举例来说,如本文中所使用,竖直结构无需精确地垂直于衬底的表面,而是可替代地大体上垂直于衬底的表面,并且可形成与衬底的表面的锐角(例如,在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高速缓冲存储器;控制器,所述控制器执行固件指令以致使所述控制器执行包括以下各项的操作:从主机接收对所述主机所测量的电池电量低于预定阈值的指示;和作为响应,将写入请求的数据放置到所述阵列的配置为MLC的存储器单元且不将所述单元写入到所述SLC高速缓冲存储器。
在实例2中,根据实例1所述的标的物任选地包含其中所述操作另外包括:在从所述主机接收到所述指示之后,从所述主机接收第二指示,所述第二指示用以指示所述电池电量高于所述预定阈值,并且作为响应,将第二请求的第二数据放置于所述SLC高速缓冲存储器中;和在将所述第二请求的所述数据放置于所述SLC高速缓冲存储器中之后,将所述第二请求的所述第二数据移动到所述阵列的配置为MLC的存储器单元。
在实例3中,根据实例1-2中的任一或多个所述的标的物任选地包含其中从所述主机接收所述指示的所述操作包括经由通信接口接收消息。
在实例4中,根据实例3所述的标的物任选地包含其中所述通信接口是根据通用快闪存储(UFS)装置的接口。
在实例5中,根据实例1-4中的任一或多个所述的标的物任选地包含其中所述操作另外包括响应于所述指示而延迟MLC存储器单元重新配置为SLC存储器单元。
在实例6中,根据实例1-5中的任一或多个所述的标的物任选地包含其中所述主机与操作系统相关联,且其中所述电池是移动计算装置的电池。
在实例7中,根据实例1-6中的任一或多个所述的标的物任选地包含其中所述操作另外包括:在接收传入的大数据之前,接收传入的大数据传送指示;将所述阵列的被配置成MLC的一组一或多个存储器单元重新配置为SLC;接收所述传入的大数据传送并且将所述传入的大数据传送写入到所述SLC;和将所述阵列的被配置成SLC的所述组一或多个存储器单元重新配置回到MLC。
实例8是一种包括指令的机器可读媒体,所述指令在由处理器执行时致使所述处理器执行包括以下各项的操作:在包含存储器单元阵列的存储器装置处,所述阵列中的所述存储器单元可配置为多层级单元(MLC)配置或单层级单元(SLC)配置,所述阵列中的被配置成SLC的存储器单元包括SLC高速缓冲存储器;从主机接收对所述主机所测量的电池电量低于预定阈值的指示;和作为响应,将写入请求的数据放置到所述阵列的配置为MLC的存储器单元且不将所述单元写入到所述SLC高速缓冲存储器。
在实例9中,根据实例8所述的标的物任选地包含其中所述操作另外包括:在从所述主机接收到所述指示之后,从所述主机接收第二指示,所述第二指示用以指示所述电池电量高于所述预定阈值,并且作为响应,将第二请求的第二数据放置于所述SLC高速缓冲存储器中;和在将所述第二请求的所述数据放置于所述SLC高速缓冲存储器中之后,将所述第二请求的所述第二数据移动到所述阵列的配置为MLC的存储器单元。
在实例10中,根据实例8-9中的任一或多个所述的标的物任选地包含其中从所述主机接收所述指示的所述操作包括经由通信接口接收消息。
在实例11中,根据实例10所述的标的物任选地包含其中所述通信接口是根据通用快闪存储(UFS)装置的接口。
在实例12中,根据实例8-11中的任一或多个所述的标的物任选地包含其中所述操作另外包括响应于所述指示而延迟MLC存储器单元重新配置为SLC存储器单元。
在实例13中,根据实例8-12中的任一或多个所述的标的物任选地包含其中所述主机与操作系统相关联,且其中所述电池是移动计算装置的电池。
在实例14中,根据实例8-13中的任一或多个所述的标的物任选地包含其中所述操作另外包括:在接收传入的大数据之前,接收传入的大数据传送指示;将所述阵列的被配置成MLC的一组一或多个存储器单元重新配置为SLC;接收所述传入的大数据传送并且将所述传入的大数据传送写入到所述SLC;和将所述阵列的被配置成SLC的所述组一或多个存储器单元重新配置回到MLC。
实例15是一种方法,其包括:在包含存储器单元阵列的存储器装置处,所述阵列中的所述存储器单元可配置为多层级单元(MLC)配置或单层级单元(SLC)配置,所述阵列中的被配置成SLC的存储器单元包括SLC高速缓冲存储器;从主机接收对所述主机所测量的电池电量低于预定阈值的指示;和作为响应,将写入请求的数据放置到所述阵列的配置为MLC的存储器单元且不将所述单元写入到所述SLC高速缓冲存储器。
在实例16中,根据实例15所述的标的物任选地包含在从所述主机接收到所述指示之后,从所述主机接收第二指示,所述第二指示用以指示所述电池电量高于所述预定阈值,并且作为响应,将第二请求的第二数据放置于所述SLC高速缓冲存储器中;和在将所述第二请求的所述数据放置于所述SLC高速缓冲存储器中之后,将所述第二请求的所述第二数据移动到所述阵列的配置为MLC的存储器单元。
在实例17中,根据实例15-16中的任一或多个所述的标的物任选地包含其中从所述主机接收所述指示包括经由通信接口接收消息。
在实例18中,根据实例17所述的标的物任选地包含其中所述通信接口是根据通用快闪存储(UFS)装置的接口。
在实例19中,根据实例15-18中的任一或多个所述的标的物任选地包含响应于所述指示而延迟MLC存储器单元重新配置为SLC存储器单元。
在实例20中,根据实例15-19中的任一或多个所述的标的物任选地包含其中所述主机与操作系统相关联,且其中所述电池是移动计算装置的电池。
在实例21中,根据实例15-20中的任一或多个所述的标的物任选地包含在接收传入的大数据之前,接收传入的大数据传送指示;将所述阵列的被配置成MLC的一组一或多个存储器单元重新配置为SLC;接收所述传入的大数据传送并且将所述传入的大数据传送写入到所述SLC;和将所述阵列的被配置成SLC的所述组一或多个存储器单元重新配置回到MLC。
实例22是一种装置,其包括:存储器单元阵列,所述阵列中的所述存储器单元可配置为多层级单元(MLC)配置或单层级单元(SLC)配置,所述阵列中的被配置成SLC的存储器单元包括SLC高速缓冲存储器;和用于从主机接收对所述主机所测量的电池电量低于预定阈值的指示的装置;和作为响应,用于将写入请求的数据放置到所述阵列的配置为MLC的存储器单元且不将所述单元写入到所述SLC高速缓冲存储器的装置。
在实例23中,根据实例22所述的标的物任选地包含在从所述主机接收到所述指示之后,用于从所述主机接收第二指示的装置,所述第二指示用以指示所述电池电量高于所述预定阈值,并且作为响应,用于将第二请求的第二数据放置于所述SLC高速缓冲存储器中的装置;和在将所述第二请求的所述数据放置于所述SLC高速缓冲存储器中之后,用于将所述第二请求的所述第二数据移动到所述阵列的配置为MLC的存储器单元的装置。
在实例24中,根据实例22-23中的任一或多个所述的标的物任选地包含其中所述用于从所述主机接收所述指示的的装置包括用于经由通信接口接收消息的装置。
在实例25中,根据实例24所述的标的物任选地包含其中所述通信接口是根据通用快闪存储(UFS)装置的接口。
在实例26中,根据实例22-25中的任一或多个所述的标的物任选地包含用于响应于所述指示而延迟MLC存储器单元重新配置为SLC存储器单元的装置。
在实例27中,根据实例22-26中的任一或多个所述的标的物任选地包含其中所述主机与操作系统相关联,且其中所述电池是移动计算装置的电池。
在实例28中,根据实例22-27中的任一或多个所述的标的物任选地包含:用于在接收传入的大数据之前,接收传入的大数据传送指示的装置;用于将所述阵列的被配置成MLC的一组一或多个存储器单元重新配置为SLC的装置;用于接收所述传入的大数据传送并且将所述传入的大数据传送写入到所述SLC的装置;和用于将所述阵列的被配置成SLC的所述组一或多个存储器单元重新配置回到MLC的装置。
实例29是一种存储器装置,其包括:存储器单元阵列,所述阵列中的所述存储器单元可配置为多层级单元(MLC)配置或单层级单元(SLC)配置,所述阵列中的被配置成SLC的存储器单元包括SLC高速缓冲存储器;控制器,所述控制器执行固件指令以致使所述控制器执行包括以下各项的操作:经由通信接口接收电子装置状态指示,所述电子装置状态指示提供其中安装有所述存储器装置的装置的状态;识别用于处置所述电子装置状态指示的规则;和通过以下操作中的一个来执行所述规则:修改SLC高速缓冲存储器配置;设置行为修改指示符;或执行SLC高速缓冲存储器例程。
在实例30中,根据实例29所述的标的物任选地包含其中执行所述规则的所述操作包括设置所述行为修改指示符,且其中所述操作另外包括:经由所述通信接口接收写入请求;识别所述行为修改指示符;和响应于所述行为修改指示符,通过将数据写入到配置为MLC的存储器单元来满足所述写入请求。
在实例31中,根据实例29-30中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是低电力指示,且其中执行所述规则的所述操作包括设置行为指示符以绕过所述SLC高速缓冲存储器。
在实例32中,根据实例29-31中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是即将发生大传送,且其中执行所述规则的所述操作包括通过增加配置为SLC的存储器单元的量来修改所述SLC高速缓冲存储器配置。
在实例33中,根据实例29-32中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是环境温度指示,且其中执行所述规则的所述操作包括设置行为指示符以绕过所述SLC高速缓冲存储器。
在实例34中,根据实例29-33中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是由操作系统提供。
在实例35中,根据实例29-34中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是睡眠或休眠指示,且其中执行所述规则的所述操作包括执行SLC高速缓冲存储器例程以开始垃圾收集。
实例36是一种包括指令的机器可读媒体,所述指令当由机器执行时致使所述机器执行包括以下各项的操作:在包含存储器单元阵列的存储器装置处,所述阵列中的所述存储器单元可配置为多层级单元(MLC)配置或单层级单元(SLC)配置,所述阵列中的被配置成SLC的存储器单元包括SLC高速缓冲存储器;经由通信接口接收电子装置状态指示,所述电子装置状态指示提供其中安装有所述机器可读媒体的装置的状态;识别用于处置所述电子装置状态指示的规则;和通过以下操作中的一个来执行所述规则:修改SLC高速缓冲存储器配置;设置行为修改指示符;或执行SLC高速缓冲存储器例程。
在实例37中,根据实例36所述的标的物任选地包含其中执行所述规则的所述操作包括设置所述行为修改指示符,且其中所述操作另外包括:经由所述通信接口接收写入请求;识别所述行为修改指示符;和响应于所述行为修改指示符,通过将数据写入到配置为MLC的存储器单元来满足所述写入请求。
在实例38中,根据实例36-37中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是低电力指示,且其中执行所述规则的所述操作包括设置行为指示符以绕过所述SLC高速缓冲存储器。
在实例39中,根据实例36-38中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是即将发生大传送,且其中执行所述规则的所述操作包括通过增加配置为SLC的存储器单元的量来修改所述SLC高速缓冲存储器配置。
在实例40中,根据实例36-39中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是环境温度指示,且其中执行所述规则的所述操作包括设置行为指示符以绕过所述SLC高速缓冲存储器。
在实例41中,根据实例36-40中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是由操作系统提供。
在实例42中,根据实例36-41中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是睡眠或休眠指示,且其中执行所述规则的所述操作包括执行SLC高速缓冲存储器例程以开始垃圾收集。
实例43一种方法,其包括:在包含存储器单元阵列的存储器装置处,所述阵列中的所述存储器单元可配置为多层级单元(MLC)配置或单层级单元(SLC)配置,所述阵列中的被配置成SLC的存储器单元包括SLC高速缓冲存储器;经由通信接口接收电子装置状态指示,所述电子装置状态指示提供其中安装有所述方法的装置的状态;识别用于处置所述电子装置状态指示的规则;和通过以下操作中的一个来执行所述规则:修改SLC高速缓冲存储器配置;设置行为修改指示符;或执行SLC高速缓冲存储器例程。
在实例44中,根据实例43所述的标的物任选地包含其中执行所述规则包括设置所述行为修改指示符,且其中所述方法另外包括:经由所述通信接口接收写入请求;识别所述行为修改指示符;和响应于所述行为修改指示符,通过将数据写入到配置为MLC的存储器单元来满足所述写入请求。
在实例45中,根据实例43-44中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是低电力指示,且其中执行所述规则包括设置行为指示符以绕过所述SLC高速缓冲存储器。
在实例46中,根据实例43-45中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是即将发生大传送,且其中执行所述规则包括通过增加配置为SLC的存储器单元的量来修改所述SLC高速缓冲存储器配置。
在实例47中,根据实例43-46中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是环境温度指示,且其中执行所述规则包括设置行为指示符以绕过所述SLC高速缓冲存储器。
在实例48中,根据实例43-47中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是由操作系统提供。
在实例49中,根据实例43-48中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是睡眠或休眠指示,且其中执行所述规则包括执行SLC高速缓冲存储器例程以开始垃圾收集。
实例50是一种装置,其包括:在包含存储器单元阵列的存储器装置处,所述阵列中的所述存储器单元可配置为多层级单元(MLC)配置或单层级单元(SLC)配置,所述阵列中的被配置成SLC的存储器单元包括SLC高速缓冲存储器;用于经由通信接口接收电子装置状态指示的装置,所述电子装置状态指示提供其中安装有所述装置的装置的状态;用于识别用于处置所述电子装置状态指示的规则的装置;和用于通过以下各项中的一个来执行所述规则的装置:用于修改SLC高速缓冲存储器配置的装置;用于设置行为修改指示符的装置;或用于执行SLC高速缓冲存储器例程的装置。
在实例51中,根据实例50所述的标的物任选地包含其中执行所述规则包括设置所述行为修改指示符,且其中所述装置另外包括:用于经由所述通信接口接收写入请求的装置;用于识别所述行为修改指示符的装置;和用于响应于所述行为修改指示符,通过将数据写入到配置为MLC的存储器单元来满足所述写入请求的装置。
在实例52中,根据实例50-51中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是低电力指示,且其中所述用于执行所述规则的的装置包括用于设置行为指示符以绕过所述SLC高速缓冲存储器的装置。
在实例53中,根据实例50-52中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是即将发生大传送,且其中所述用于执行所述规则的的装置包括用于通过增加配置为SLC的存储器单元的量来修改所述SLC高速缓冲存储器配置的装置。
在实例54中,根据实例50-53中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是环境温度指示,且其中所述用于执行所述规则的的装置包括用于设置行为指示符以绕过所述SLC高速缓冲存储器的装置。
在实例55中,根据实例50-54中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是由操作系统提供。
在实例56中,根据实例50-55中的任一或多个所述的标的物任选地包含其中所述电子装置状态指示是睡眠或休眠指示,且其中所述用于执行所述规则的的装置包括用于执行SLC高速缓冲存储器例程以开始垃圾收集的装置。
Claims (22)
1.一种存储器装置,其包括:
存储器单元阵列,其中所述阵列中的所述存储器单元能够配置为多层级单元MLC配置或单层级单元SLC配置;
控制器,其经配置以:
接收指示以使用所述SLC配置中的所述存储器单元阵列的至少一部分;
至少部分地基于所述指示而将所述存储器单元阵列的所述至少一部分从所述MLC配置重新配置为所述SLC配置;
接收传入数据并将所述传入数据写入到所述SLC配置中的所述存储器单元阵列的所述至少一部分;以及
将所述存储器单元阵列的所述至少一部分从所述SLC配置重新配置回到所述MLC配置。
2.根据权利要求1所述的存储器装置,其中所述指示包括状态指示信号,所述状态指示信号经配置以致使所述存储器装置将所述存储器单元中的至少一些从所述MLC配置配置为所述SLC配置。
3.根据权利要求1所述的存储器装置,其中所述指示包括状态指示信号,所述状态指示信号经配置以致使所述存储器装置将所述存储器单元中的至少一些从所述SLC配置配置为所述MLC配置。
4.根据权利要求1所述的存储器装置,其中将所述存储器单元阵列的所述至少一部分从所述MLC配置重新配置为所述SLC配置减少所述存储器单元阵列中用于存储器操作的一定量可用空间。
5.根据权利要求1所述的存储器装置,其中接收所述指示包括接收指定所述SLC配置中配置的所述存储器单元阵列的所述至少一部分的大小的大小指示。
6.根据权利要求1所述的存储器装置,其中接收所述指示包括接收最大大小指示,所述最大大小指示指定能够分配给在所述SLC配置中配置的所述存储器单元阵列的所述至少一部分的最大存储器大小。
7.根据权利要求1所述的存储器装置,其中所述控制器经配置以将来自所述SLC配置中的所述存储器单元阵列的所述至少一部分的所述传入数据刷新到所述MLC配置中的所述存储器单元阵列的其他存储器单元。
8.根据权利要求1所述的存储器装置,其中所述控制器经配置以至少部分地基于所接收到的所述存储器装置将进入休眠模式的指示,而将来自所述SLC配置中的所述存储器单元阵列的所述至少一部分的所述传入数据刷新到所述MLC配置中的所述存储器单元阵列的其他存储器单元。
9.根据权利要求1所述的存储器装置,其中所述控制器经配置以在所述存储器装置的温度高于阈值时,疏导存储器转移。
10.根据权利要求9所述的存储器装置,其中疏导所述存储器转移包括限制使用所述SLC配置中的所述存储器单元阵列的所述至少一部分。
11.根据权利要求1所述的存储器装置,其中如果包含所述存储器装置的装置的可用电力电平低于阈值,那么所述控制器经配置以疏导存储器转移。
12.根据权利要求11所述的存储器装置,其中疏导所述存储器转移包括限制使用所述SLC配置中的所述存储器单元阵列的所述至少一部分。
13.根据权利要求1所述的存储器装置,其包括符合通用快闪存储UFS标准的接口。
14.根据权利要求1所述的存储器装置,其中所述控制器经配置以使用所述SLC配置中的所述存储器单元阵列的所述至少一部分作为用于在移动到所述MLC配置中的存储器单元之前临时存储所述传入数据的存储器缓冲器。
15.一种用于操作存储器装置的方法,所述方法包括:
接收指示以使用单层级单元SLC配置中的所述存储器装置的存储器单元阵列的至少一部分,其中所述存储器装置的所述阵列中的所述存储器单元能够配置为多层级单元MLC配置或所述单层级单元SLC配置;
至少部分地基于所述指示而将所述存储器单元阵列的所述至少一部分从所述MLC配置重新配置为所述SLC配置;
接收传入数据并将所述传入数据写入到所述SLC配置中的所述存储器单元阵列的所述至少一部分;以及
将所述存储器单元阵列的所述至少一部分从所述SLC配置重新配置回到所述MLC配置。
16.根据权利要求15所述的方法,其中所述指示包括状态指示信号,所述状态指示信号经配置以致使所述存储器装置将所述存储器单元中的至少一些从所述MLC配置配置为所述SLC配置。
17.根据权利要求15所述的方法,其中所述指示包括状态指示信号,所述状态指示信号经配置以致使所述存储器装置将所述存储器单元中的至少一些从所述SLC配置配置为所述MLC配置。
18.根据权利要求15所述的方法,其中将所述存储器单元阵列的所述至少一部分从所述MLC配置重新配置为所述SLC配置减少所述存储器单元阵列中用于存储器操作的一定量可用空间。
19.根据权利要求15所述的方法,其中接收所述指示包括接收指定所述SLC配置中配置的所述存储器单元阵列的所述至少一部分的大小的大小指示。
20.根据权利要求15所述的方法,其包括将来自所述SLC配置中的所述存储器单元阵列的所述至少一部分的所述传入数据刷新到所述MLC配置中的所述存储器单元阵列的其他存储器单元。
21.根据权利要求15所述的方法,其包括至少部分基于所接收到的所述存储器装置将进入休眠模式的指示,而将来自所述SLC配置中的所述存储器单元阵列的所述至少一部分的所述传入数据刷新到所述MLC配置中的所述存储器单元阵列中的其他存储器单元。
22.根据权利要求15所述的方法,其包括经由符合通用快闪存储UFS标准的所述存储器装置的接口而接收所述传入数据。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/691,147 | 2017-08-30 | ||
US15/691,147 US10572388B2 (en) | 2017-08-30 | 2017-08-30 | Managed NVM adaptive cache management |
CN201880062659.6A CN111164565B (zh) | 2017-08-30 | 2018-08-21 | 受管理的nvm自适应高速缓冲存储器管理 |
PCT/US2018/047195 WO2019046037A1 (en) | 2017-08-30 | 2018-08-21 | PERMANENT MEMORY ADAPTIVE CACHE MANAGEMENT MANAGED |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880062659.6A Division CN111164565B (zh) | 2017-08-30 | 2018-08-21 | 受管理的nvm自适应高速缓冲存储器管理 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117519453A true CN117519453A (zh) | 2024-02-06 |
Family
ID=65437241
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880062659.6A Active CN111164565B (zh) | 2017-08-30 | 2018-08-21 | 受管理的nvm自适应高速缓冲存储器管理 |
CN202311611821.4A Pending CN117519453A (zh) | 2017-08-30 | 2018-08-21 | 受管理的nvm自适应高速缓冲存储器管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880062659.6A Active CN111164565B (zh) | 2017-08-30 | 2018-08-21 | 受管理的nvm自适应高速缓冲存储器管理 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10572388B2 (zh) |
EP (1) | EP3676696A4 (zh) |
JP (2) | JP7022199B2 (zh) |
KR (2) | KR102345927B1 (zh) |
CN (2) | CN111164565B (zh) |
WO (1) | WO2019046037A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10572388B2 (en) | 2017-08-30 | 2020-02-25 | Micron Technology, Inc. | Managed NVM adaptive cache management |
KR20190064033A (ko) * | 2017-11-30 | 2019-06-10 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
US11209998B2 (en) * | 2018-06-11 | 2021-12-28 | Western Digital Technologies, Inc. | Adjustment of storage device parameters based on workload characteristics |
JP2020035128A (ja) * | 2018-08-29 | 2020-03-05 | キオクシア株式会社 | メモリシステム |
JP2020071632A (ja) * | 2018-10-31 | 2020-05-07 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、制御方法、及びプログラム |
KR20220015457A (ko) * | 2019-06-14 | 2022-02-08 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 하드 디스크 제어 방법 및 관련 디바이스 |
US11150718B2 (en) * | 2019-10-17 | 2021-10-19 | Dell Products L.P. | System and method for stepwise enablement of a cache memory in an information handling system |
US11157400B2 (en) | 2020-01-08 | 2021-10-26 | Micron Technology, Inc. | Performing a media management operation based on changing a write mode of a data block in a cache |
CN111273865B (zh) * | 2020-01-16 | 2023-07-25 | 重庆邮电大学 | 一种基于可变便笺式存储器的任务分配及调度方法 |
US11144452B2 (en) * | 2020-02-05 | 2021-10-12 | Micron Technology, Inc. | Temperature-based data storage processing |
CN115244521A (zh) * | 2020-05-06 | 2022-10-25 | 阿里巴巴集团控股有限公司 | 用于存储数据的分级方法和系统 |
US11662943B2 (en) * | 2020-06-16 | 2023-05-30 | Micron Technology, Inc. | Adjustable media management |
US11467750B2 (en) * | 2020-08-21 | 2022-10-11 | Micron Technology, Inc. | Adjustable physical or logical capacity criteria for write cache replenishment based on temperature or program erase cycles of the memory device |
US11899577B2 (en) * | 2020-11-24 | 2024-02-13 | Micron Technology, Inc. | Selective garbage collection |
KR20220075684A (ko) | 2020-11-30 | 2022-06-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
WO2022180904A1 (ja) * | 2021-02-24 | 2022-09-01 | パナソニックIpマネジメント株式会社 | データ記録装置及びデータ記録装置の制御方法 |
US11934238B2 (en) * | 2021-05-21 | 2024-03-19 | Western Digital Technologies, Inc. | Customized thermal throttling using environmental conditions |
JP7178465B1 (ja) * | 2021-08-31 | 2022-11-25 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
JP2023044471A (ja) | 2021-09-17 | 2023-03-30 | キオクシア株式会社 | メモリシステム及びメモリ制御方法 |
US11899974B2 (en) * | 2021-10-05 | 2024-02-13 | Silicon Motion, Inc. | Method and apparatus for performing automatic setting control of memory device in predetermined communications architecture with aid of auxiliary setting management |
TWI788161B (zh) * | 2021-12-27 | 2022-12-21 | 技嘉科技股份有限公司 | 動態調整單級區塊及三級區塊比例的控制方法 |
CN116909493B (zh) * | 2023-09-12 | 2023-11-17 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052789A (en) * | 1994-03-02 | 2000-04-18 | Packard Bell Nec, Inc. | Power management architecture for a reconfigurable write-back cache |
JP3798476B2 (ja) * | 1996-08-30 | 2006-07-19 | 株式会社東芝 | コンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーダウン制御方法 |
US5930738A (en) * | 1997-10-15 | 1999-07-27 | Mobile Integrated Tecnologies, Inc. | Vehicle computer system environment monitor |
US8078794B2 (en) | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
US6792550B2 (en) * | 2001-01-31 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing continued operation of a multiprocessor computer system after detecting impairment of a processor cooling device |
US6931556B2 (en) * | 2002-01-16 | 2005-08-16 | International Business Machines Corporation | Background transfer of optical disk to hard disk |
US20040117669A1 (en) * | 2002-12-12 | 2004-06-17 | Wilson Peter A. | Method for controlling heat dissipation of a microprocessor |
US7233880B2 (en) * | 2003-09-11 | 2007-06-19 | Intel Corporation | Adaptive cache algorithm for temperature sensitive memory |
JP2005092923A (ja) * | 2003-09-12 | 2005-04-07 | Renesas Technology Corp | 半導体記憶装置 |
US7523331B2 (en) * | 2003-09-16 | 2009-04-21 | Nxp B.V. | Power saving operation of an apparatus with a cache memory |
US6917555B2 (en) * | 2003-09-30 | 2005-07-12 | Freescale Semiconductor, Inc. | Integrated circuit power management for reducing leakage current in circuit arrays and method therefor |
US7711890B2 (en) | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
US20080235441A1 (en) * | 2007-03-20 | 2008-09-25 | Itay Sherman | Reducing power dissipation for solid state disks |
US8407400B2 (en) | 2008-11-12 | 2013-03-26 | Micron Technology, Inc. | Dynamic SLC/MLC blocks allocations for non-volatile memory |
US8589629B2 (en) * | 2009-03-27 | 2013-11-19 | Advanced Micro Devices, Inc. | Method for way allocation and way locking in a cache |
US8479080B1 (en) * | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US9245653B2 (en) | 2010-03-15 | 2016-01-26 | Intelligent Intellectual Property Holdings 2 Llc | Reduced level cell mode for non-volatile memory |
KR20120049604A (ko) * | 2010-11-09 | 2012-05-17 | 삼성전자주식회사 | 모바일 디바이스의 메모리 관리 방법 및 장치 |
US8472274B2 (en) | 2011-03-02 | 2013-06-25 | Apple Inc. | Using temperature sensors with a memory device |
US8886911B2 (en) | 2011-05-31 | 2014-11-11 | Micron Technology, Inc. | Dynamic memory cache size adjustment in a memory device |
KR101861170B1 (ko) | 2011-08-17 | 2018-05-25 | 삼성전자주식회사 | 마이그레이션 관리자를 포함하는 메모리 시스템 |
JP2013050880A (ja) * | 2011-08-31 | 2013-03-14 | Sony Corp | メモリ制御装置およびその方法、データ管理装置およびその方法、並びに、プログラム |
US8762627B2 (en) * | 2011-12-21 | 2014-06-24 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
US9176862B2 (en) * | 2011-12-29 | 2015-11-03 | Sandisk Technologies Inc. | SLC-MLC wear balancing |
US20130219146A1 (en) * | 2012-02-16 | 2013-08-22 | Micron Technology, Inc. | Method, device and system for a configurable address space for non-volatile memory |
US8885410B2 (en) | 2012-08-29 | 2014-11-11 | Sandisk Technologies Inc. | Direct multi-level cell programming |
KR20140033964A (ko) * | 2012-09-11 | 2014-03-19 | 삼성전자주식회사 | 단말기의 데이터 저장장치 및 방법 |
US9135155B2 (en) * | 2012-11-30 | 2015-09-15 | Sandisk Technologies Inc. | Storage and retrieval of shaped data |
US8995184B2 (en) * | 2012-12-06 | 2015-03-31 | Sandisk Technologies Inc. | Adaptive operation of multi level cell memory |
US9164929B2 (en) * | 2013-01-03 | 2015-10-20 | International Business Machines Corporation | False power failure alert impact mitigation |
CN104346232A (zh) * | 2013-08-06 | 2015-02-11 | 慧荣科技股份有限公司 | 数据储存装置及其限制存取方法 |
WO2015100434A2 (en) * | 2013-12-25 | 2015-07-02 | Aplus Flash Technology, Inc | A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME |
US9495101B2 (en) * | 2014-01-29 | 2016-11-15 | Sandisk Technologies Llc | Methods for balancing write operations of SLC blocks in different memory areas and apparatus implementing the same |
US9977628B2 (en) * | 2014-04-16 | 2018-05-22 | Sandisk Technologies Llc | Storage module and method for configuring the storage module with memory operation parameters |
US8886877B1 (en) * | 2014-05-15 | 2014-11-11 | Sandisk Technologies Inc. | In-situ block folding for nonvolatile memory |
US9836108B2 (en) * | 2014-09-10 | 2017-12-05 | Toshiba Memory Corporation | Memory system and controller |
US9666286B2 (en) * | 2014-09-28 | 2017-05-30 | Aplus Flash Technology, Inc. | Self-timed SLC NAND pipeline and concurrent program without verification |
US20160162215A1 (en) * | 2014-12-08 | 2016-06-09 | Sandisk Technologies Inc. | Meta plane operations for a storage device |
CN105843748B (zh) * | 2015-01-15 | 2019-06-11 | 华为技术有限公司 | 一种对内存中内存页的处理方法及装置 |
US20160225459A1 (en) * | 2015-01-30 | 2016-08-04 | Micron Technology, Inc. | Apparatuses operable in multiple power modes and methods of operating the same |
US10008250B2 (en) * | 2015-03-27 | 2018-06-26 | Intel Corporation | Single level cell write buffering for multiple level cell non-volatile memory |
JP6441171B2 (ja) | 2015-06-12 | 2018-12-19 | 東芝メモリ株式会社 | メモリシステム |
JP2017027540A (ja) | 2015-07-28 | 2017-02-02 | 株式会社東芝 | 半導体装置及び電子機器 |
KR102356523B1 (ko) * | 2015-08-04 | 2022-02-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20170075812A1 (en) * | 2015-09-16 | 2017-03-16 | Intel Corporation | Technologies for managing a dynamic read cache of a solid state drive |
TWI581092B (zh) * | 2016-03-30 | 2017-05-01 | 威盛電子股份有限公司 | 記憶體裝置及其節能控制方法 |
KR102550343B1 (ko) * | 2016-07-27 | 2023-07-03 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 그것의 동작 방법 |
KR20180031289A (ko) * | 2016-09-19 | 2018-03-28 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
DE102017119065B4 (de) * | 2017-08-21 | 2020-12-10 | Infineon Technologies Ag | Aktualisieren eines Speichers |
US10572388B2 (en) | 2017-08-30 | 2020-02-25 | Micron Technology, Inc. | Managed NVM adaptive cache management |
-
2017
- 2017-08-30 US US15/691,147 patent/US10572388B2/en active Active
-
2018
- 2018-08-21 KR KR1020207009133A patent/KR102345927B1/ko active IP Right Grant
- 2018-08-21 JP JP2020512017A patent/JP7022199B2/ja active Active
- 2018-08-21 KR KR1020217042850A patent/KR102467199B1/ko active IP Right Grant
- 2018-08-21 WO PCT/US2018/047195 patent/WO2019046037A1/en unknown
- 2018-08-21 EP EP18851481.4A patent/EP3676696A4/en active Pending
- 2018-08-21 CN CN201880062659.6A patent/CN111164565B/zh active Active
- 2018-08-21 CN CN202311611821.4A patent/CN117519453A/zh active Pending
-
2019
- 2019-12-31 US US16/731,978 patent/US11403013B2/en active Active
-
2022
- 2022-02-04 JP JP2022016149A patent/JP7270082B2/ja active Active
- 2022-07-21 US US17/870,320 patent/US11625176B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2022058898A (ja) | 2022-04-12 |
CN111164565A (zh) | 2020-05-15 |
EP3676696A4 (en) | 2021-06-16 |
KR102467199B1 (ko) | 2022-11-16 |
US20190065388A1 (en) | 2019-02-28 |
KR102345927B1 (ko) | 2022-01-03 |
JP7270082B2 (ja) | 2023-05-09 |
US20200133874A1 (en) | 2020-04-30 |
US11403013B2 (en) | 2022-08-02 |
US20220357863A1 (en) | 2022-11-10 |
CN111164565B (zh) | 2023-12-01 |
KR20200045544A (ko) | 2020-05-04 |
WO2019046037A1 (en) | 2019-03-07 |
KR20220003135A (ko) | 2022-01-07 |
EP3676696A1 (en) | 2020-07-08 |
US11625176B2 (en) | 2023-04-11 |
JP7022199B2 (ja) | 2022-02-17 |
JP2020532792A (ja) | 2020-11-12 |
US10572388B2 (en) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111164565B (zh) | 受管理的nvm自适应高速缓冲存储器管理 | |
US11237737B2 (en) | SLC cache management | |
CN111433752B (zh) | Nand装置及其操作方法 | |
CN111226192B (zh) | 受管理的多个裸片存储器qos | |
CN112817519B (zh) | 存储器装置的温度管理 | |
CN111183483B (zh) | Nand温度数据管理 | |
US11756638B2 (en) | End of life performance throttling to prevent data loss | |
CN111433753A (zh) | 动态l2p高速缓存 | |
CN113168377B (zh) | Slc高速缓存分配 | |
US10331377B2 (en) | NAND flash thermal alerting | |
US11693700B2 (en) | Dynamic size of static SLC cache | |
US10424382B2 (en) | Increased NAND performance under high thermal conditions | |
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 |