CN113196252B - 基于温度以不同的传输速率重新定位存储器中的数据 - Google Patents
基于温度以不同的传输速率重新定位存储器中的数据 Download PDFInfo
- Publication number
- CN113196252B CN113196252B CN202080006803.1A CN202080006803A CN113196252B CN 113196252 B CN113196252 B CN 113196252B CN 202080006803 A CN202080006803 A CN 202080006803A CN 113196252 B CN113196252 B CN 113196252B
- Authority
- CN
- China
- Prior art keywords
- temperature
- data
- controller
- unit
- cells
- 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
Links
- 238000012546 transfer Methods 0.000 title abstract description 28
- 238000003860 storage Methods 0.000 claims abstract description 96
- 230000005540 biological transmission Effects 0.000 claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000007423 decrease Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 9
- 238000004242 micellar liquid chromatography Methods 0.000 claims description 6
- 230000001629 suppression Effects 0.000 description 29
- 238000013507 mapping Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000000034 method Methods 0.000 description 14
- 230000005764 inhibitory process Effects 0.000 description 8
- 230000005055 memory storage Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100036725 Epithelial discoidin domain-containing receptor 1 Human genes 0.000 description 1
- 101710131668 Epithelial discoidin domain-containing receptor 1 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- 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/0608—Saving storage space on 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0653—Monitoring storage devices or 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction 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
- 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/068—Hybrid storage device
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)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开提供了一种存储设备的各方面,该存储设备允许基于单元的温度以更高的传输速率在该单元之间传输数据。该存储设备包括具有多个第一单元和多个第二单元的存储器。该第二单元中的每个第二单元被配置为存储比第一单元中的每个第一单元更多的位。控制器被配置为响应于来自主机设备的写入命令而将数据存储在该第一单元中。该控制器被进一步配置为当该第二单元的温度高于温度阈值时,以比低于该温度阈值时更高的传输速率将该数据从该第一单元传输到该第二单元。
Description
本专利申请要求2019年10月31日提交的名称为“RELOCATION OF DATA IN MEMORYAT DIFFERENT TRANSFER RATES BASED ON TEMPERATURE”的美国非临时申请第16/670105号的优先权,该申请被转让给本发明的受让人,并且据此明确地全文以引用方式并入本文。
背景技术
技术领域
本公开整体涉及电子设备,并且更具体地涉及存储设备。
背景技术
存储设备使得用户能够存储和检索数据。存储设备的示例包括非易失性存储器设备。非易失性存储器通常在功率循环之后保留数据。非易失性存储器的示例是闪存存储器,其可以包括一个或多个管芯上的NAND单元阵列。闪存存储器可存在于固态设备(SSD)、安全数字(SD)卡等中。
闪存存储设备可以将数据存储到闪存存储器的NAND单元中。NAND单元可包括单级单元(SLC)或多级单元(MLC)。MLC的示例是四级单元(QLC)。一般来讲,闪存存储设备可以将数据直接写入SLC块的页面中。然而,数据只能在闪存存储器的块中被擦除。因此,当SLC块变满时,闪存存储设备可通过垃圾收集过程将数据重新定位成空块,以释放闪存存储器中的空间。例如,数据可被重新定位到QLC(或其他MLC)的块中。
当存储和访问数据时,NAND单元的温度可能增加。虽然闪存存储设备通常具有较大的交叉温度操作范围(例如,-2℃至85℃),但由于数据对温度的敏感性,用于可靠地保持数据的温度范围可能较低(例如,0℃至70℃)。例如,QLC可具有仅70℃的最大可靠温度。为了保持数据的***完整性,可施加温度抑制以将闪存存储设备保持在可靠的温度范围内。例如,当多个管芯上的QLC块的温度超过某个温度阈值(例如,70℃)时,闪存存储设备可以禁用对一个或多个管芯的并行访问,以将温度降回到可靠的温度范围。然而,由于SLC可能具有比QLC更高的可靠工作温度(例如,95℃),因此对QLC块进行温度抑制可能无法有效地减少对同一管芯上的SLC块的访问。因此,可能降低闪存存储设备的***性能和用户体验。此外,闪存存储设备可被有效地限制在比其产品工作温度范围(例如,-2℃至85℃)低的工作温度范围(例如,0℃至70℃)。
发明内容
本文公开了存储设备的一个方面。所述存储设备包括具有多个第一单元和多个第二单元的存储器。所述第二单元中的每个第二单元被配置为存储比第一单元中的每个第一单元更多的位。所述存储设备还包括控制器,所述控制器被配置为响应于来自主机设备的写入命令而将数据存储在所述第一单元中。所述控制器被进一步配置为当所述第二单元的温度高于温度阈值时,以比低于所述温度阈值时更高的传输速率将所述数据从所述第一单元传输到所述第二单元。
本文公开了存储设备的另一个方面。所述存储设备包括具有多个第一单元和多个第二单元的存储器。所述第二单元中的每个第二单元被配置为存储比第一单元中的每个第一单元更多的位。所述存储设备还包括控制器,所述控制器被配置为响应于来自主机设备的写入命令而将数据存储在所述第一单元中。所述控制器被进一步配置为当所述第二单元的温度低于温度阈值时,以第一传输速率将所述数据从所述第一单元传输到所述第二单元,并且当所述温度高于所述温度阈值时,以比所述第一传输速率高的第二传输速率将所述数据从所述第一单元传输到所述第二单元。
本文公开了存储设备的另一方面。所述存储设备包括具有多个第一单元和多个第二单元的存储器。所述第二单元中的每个第二单元被配置为存储比第一单元中的每个第一单元更多的位。所述存储设备还包括控制器,所述控制器被配置为响应于来自主机设备的写入命令而将数据存储在所述第一单元中。所述控制器被进一步配置为以传输率将所述数据从所述第一单元传输到所述第二单元。所述传送速率是所述第二单元的温度的函数。
应当理解,根据以下具体实施方式,存储设备的其他方面对于本领域技术人员而言将变得显而易见,其中,通过图示的方式示出和描述装置和方法的各个方面。如将认识到的,这些方面可以其他和不同的形式实现,并且其若干细节能够在各种其他方面进行修改。因此,附图和具体实施方式本质上被认为是例示性的而不是限制性的。
附图说明
现在将参考附图以举例的方式而非限制的方式在具体实施方式中呈现本发明的各个方面,其中:
图1是例示与主机设备通信的存储设备的示例性实施方案的框图。
图2是示出示例性垃圾收集过程的概念图,其中数据在图1的存储设备中从SLC块重新定位到QLC块。
图3是示出图1的存储设备的非易失性存储器中的逻辑到物理映射表的示例的概念图。
图4是示出图1的存储设备中的热抑制的各种示例的概念图。
图5是示出以不同传输率在不同管芯中的存储设备的块之间重新定位数据的概念图。
图6是示出在图1的存储设备中不同传输速率和热抑制的各种示例的概念图。
图7是示出用于在存储设备中设置不同传输速率和热抑制的示例性方法的流程图。
具体实施方式
下面结合附图阐述的具体实施方式旨在作为对本发明的各种示例性实施方案的描述,而并非旨在代表可以实践本发明的唯一实施方案。具体实施方式包括具体细节,其目的是提供对本发明的透彻理解。然而,对本领域的技术人员将显而易见的是,可在没有这些具体细节的情况下实践本发明。在一些情况下,熟知的结构和部件以框图的形式示出,以便避免使发明的概念晦涩难懂。首字母缩略词和其他描述性术语可仅为了方便和清楚起见而使用,并非旨在限制本发明的范围。
词语“示例性”或“示例”在本文中用于表示用作示例、实例或说明。本文中描述为“示例性”的任何示例性实施方案并非一定被解释为比其他示例性实施方案更优选或更具优势。同样,术语装置、方法或制品的“示例性实施方案”不要求本发明的所有示例性实施方案包括所述的部件、结构、特征、功能、工艺、优点、有益效果或操作模式。
在以下具体实施方式中,将呈现与主机设备通信的存储设备的各个方面。这些方面非常适用于闪存存储设备,诸如SSD和SD卡。然而,本领域的技术人员将认识到,这些方面可扩展到能够存储数据的所有类型的存储设备。因此,对具体装置或方法的任何引用仅旨在例示本发明的各个方面,应当理解,在不脱离本公开的实质和范围的情况下,这些方面可具有广泛的应用范围。
一般来讲,包括具有NAND单元的多个管芯的存储设备可具有足以支持这些单元的工作温度的产品工作温度范围。例如,包括SLC和QLC块的存储设备可支持介于-2℃至85℃之间的交叉温度。然而,在不损害存储数据的完整性的情况下,可以达到的NAND单元的最大温度可小于某些类型的块中支持的最大交叉温度。例如,虽然SLC块可支持95℃的最高温度,但QLC块可仅支持70℃的最高温度。当NAND单元的温度增加超过块的最大可靠工作温度(例如,对于QLC块,为70℃)时,存储设备可以通过禁用对管芯的并行访问来降低温度。尽管QLC块可因此由于该温度抑制而保持其数据完整性,但设备性能仍可能降低,因为SLC块将在远低于其最大可靠温度下受到影响。该结果导致有效地将存储设备的(SLC和QLC的)操作范围减小到仅QLC的最大可靠温度,并且通过影响存储设备性能影响到用户体验。
为了有效地增加存储设备的工作温度范围并改善总体用户体验,本公开允许存储设备将温度抑制纳入到负载平衡过程中,诸如垃圾收集。当存储设备从主机设备接收写入命令时,存储设备将数据直接存储在SLC块中。随着空闲SLC块的数量减少,存储设备将SLC块中的数据重新定位到QLC块(或其他MLC块)。这种重新定位可使QLC块的温度升高。随着QLC块的温度升高超过各种温度阈值,存储设备越来越多地抑制对包括QLC块的管芯的并行访问,以保持数据完整性。因此,为了改善设备性能,随着QLC块的温度升高超过温度阈值,存储设备还以与每个阈值相关联的更高传输速率将数据从SLC块重定位到QLC块,从而更快地释放SLC块中的更多空间。一旦QLC块温度升高到最大写入阈值,存储设备就禁用来自SLC块的数据重定位以保持数据可靠性。然而,尽管由于温度抑制使对QLC块的访问受到限制,但存储设备可将数据写入已释放的SLC块,直到QLC块的温度降低回到低于温度阈值,此时存储设备可以降低传输速率和温度抑制。因此,即使当QLC块已经超过其可靠的工作温度时,存储设备也允许更多的SLC块可用于写入,从而改善存储设备性能方面的用户体验,并同时保持温度抑制带来的数据可靠性。
图1示出根据示例性实施方案的与主机设备104(也称为“主机”)通信的存储设备102的示例性框图100。主机104和存储设备102可形成***,诸如计算机***(例如,服务器、台式计算机、移动/膝上型计算机、平板电脑、智能电话等)。图1的部件可以在物理上协同定位或可以不在物理上协同定位。就这一点而言,主机104可位于远离存储设备102的位置。尽管图1例示所示主机104与存储设备102分开,但在其他实施方案中,主机104可全部或部分地集成到存储设备102中。另选地,主机104可整体上分布在多个远程实体上,或者另选地具有存储设备102中的某些功能。
本领域的普通技术人员将会知道,其他示例性实施方案可以包括比图1中所示的那些元件更多或更少的元件,并且可以在其他环境中实现所公开的过程。例如,其他示例性实施方案可包括与存储设备102通信的不同数量的主机,或与主机通信的多个存储设备102。
主机设备104可将数据存储到存储设备102和/或从该存储设备检索数据。主机设备104可包括任何计算设备,包括例如计算机服务器、附网存储(NAS)单元、台式计算机、笔记本(例如膝上型)计算机、平板电脑、移动计算设备诸如智能电话、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式设备等。主机设备104可包括主存储器103和至少一个处理器101。该至少一个处理器101可包括能够处理数据的任何形式的硬件,并且可包括通用处理单元(诸如中央处理单元(CPU))、专用硬件(诸如专用集成电路(ASIC))、数字信号处理器(DSP)、可配置硬件(诸如现场可编程门阵列(FPGA))或通过软件指令、固件等配置的任何其他形式的处理单元。主机设备104可使用主存储器103来存储由主机处理的数据或指令或从存储设备102接收的数据。在一些示例中,主存储器103可包括非易失性存储器,诸如磁存储器设备、光学存储器设备、全息存储器设备、闪存存储器设备(例如,NAND或NOR)、相变存储器(PCM)设备、电阻式随机存取存储器(ReRAM)设备、磁阻式随机存取存储器(MRAM)设备、铁电随机存取存储器(F-RAM)和任何其他类型的非易失性存储器设备。在其他示例中,主存储器103可包括易失性存储器,诸如随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)和同步动态RAM(SDRAM(例如,DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4等)。主存储器103还可包括非易失性存储器和易失性存储器两者,无论是集成在一起还是作为离散单元。
主机接口106被配置为经由总线/网络108将存储设备102与主机104交接,并且可以使用例如以太网或WiFi或总线标准诸如串行高级技术附件(SATA)、PCI express(PCIe)、小型计算机***接口(SCSI)或串行附接SCSI(SAS),以及其他可能的候选对象。另选地,主机接口106可以是无线的,并且可使用以下各项将存储设备102与主机104交接,例如,蜂窝通信(例如,5G NR、4G LTE、3G、2G、GSM/UMTS、CDMA One/CDMA2000等)、通过接入点的无线分发方法(IEEE 802.11、WiFi、HiperLAN等)、红外(IR)、蓝牙、Zigbee或其他无线广域网(WWAN)、无线局域网(WLAN)、无线个人局域网(WPAN)技术或相当的广域网、局域网和个人局域网技术。
如图1的示例性实施方案所示,存储设备102包括用于非易失性地存储从主机104接收的数据的非易失性存储器(NVM)110。NVM 110可包括例如闪存集成电路、NAND存储器(例如,单级单元(SLC)存储器、多级单元(MLC)存储器、三级单元(TLC)存储器、四级单元(QLC)存储器、五级单元(PLC)存储器或其任意组合)或NOR存储器。NVM 110可包括多个存储器位置112,这些存储器位置可存储用于操作存储设备102的***数据或从主机接收的用于存储在存储设备102中的用户数据。例如,NVM可具有交叉点架构,该交叉点架构包括具有n行和m列的存储器位置112的2D NAND阵列,其中,根据NVM的大小来预定义m和n。在图1的所示示例性实施方案中,每个存储器位置112可以是包括多个单元116、117的块114。单元116、117可以是SLC、MLC、TLC、QLC和/或PLC。不同的块114可包含不同类型的单元。例如,一个块114的单元116可以是SLC,而另一个块114的单元117可以是QLC。另选地,一个块114的单元可以是不同类型,诸如SLC和QLC。存储器位置112的其他示例是可能的;例如,每个存储器位置可以是包含多个块的管芯。此外,每个存储器位置可以包括3D NAND阵列中的一个或多个块。此外,所示的存储器位置112可以是映射到一个或多个物理块的逻辑块。
存储设备102还包括易失性存储器118,该易失性存储器可例如包括动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。存储在易失性存储器118中的数据可包括从NVM 110读取的数据或要写入NVM 110的数据。就这一点而言,易失性存储器118可包括用于暂时存储数据的写入缓冲区和读取缓冲区。虽然图1将易失性存储器118例示为远离存储设备102的控制器123,但易失性存储器118可集成到控制器123中。
存储器(例如,NVM 110)被配置为存储从主机设备104接收的数据119。数据119可存储在存储器位置112的任一个存储器位置中的单元116、117中。例如,响应于来自主机设备104的用于存储数据的写入命令,可将数据119写入块114的一个或多个单元116。单元116可以是各自存储一位数据的SLC,或者各自存储多位数据的MLC。块114还可以是混合块,其中一个或多个单元可以存储比其最大容量更少的位;例如,MLC的块的一个或多个单元116可各自被配置为存储仅一位数据(例如,类似SLC)。当单元116的一个或多个块114变满时,可在垃圾收集期间将存储在那些单元116中的数据119重新定位到另一个块114中的单元117。这些单元117可各自存储比单元116更多的位。例如,如果单元116是SLC,则单元117可以是QLC或任何类型的MLC。另选地,单元117可存储与单元116相同数量的位。
图2是垃圾收集过程的示例的概念图200,其中存储在SLC单元的块202的页面204中的数据被重新定位到QLC单元的块206的页面208。数据可对应于图1的数据119,块202、206可对应于图1的块114,SLC单元可对应于图1的单元116,并且QLC单元可对应于图1的单元117。每个页面204、208包括沿NVM的同一行或字线存储在多个单元中的数据。因此,每个页面204可包括存储在一个块的一行单元116中的数据,而每个页面208可包括存储在另一个块的一行单元117中的数据。为了简化说明,图2的示例示出了块202、206,每个块仅包括四个页面204、208。然而,应当认识到,每个块可包括任何数量的页面。
在图2的示例中,由标识符A、B和C表示的数据存储在块202的不同页面204中。在该示例中,最初,响应于来自主机设备的写入命令,将数据A、B和C存储在块202的三个页面中,使一个页面空闲。当存储设备接收到新的或更新的数据时,该数据被存储在空闲页面210中。例如,更新的数据A'可从主机设备接收并写入空闲页面210。由于数据无法在闪存存储器中被覆写,因此无效数据A保持存储在块202中。由于新数据和无效数据的存在,块202可快速变满。
为了释放SLC块中的空间,可将块202中的原始数据和更新数据传输到块206。无效数据保留在旧的块中。例如,在图2的示例中,从块202的页面204读取原始数据B和C以及更新的数据A',并将其写入块206的一个或多个页面208。无效数据A保留在块202中。当块202随后被擦除时,无效数据被丢弃,并且块202可被重新用于存储新数据。
每个数据可与逻辑地址相关联。例如,重新参考图1,NVM 110可存储用于存储设备102的逻辑到物理(L2P)映射表120,该映射表将每个数据119与逻辑地址相关联。L2P映射表120存储为从主机104写入的数据指定的逻辑地址到NVM 110中指示存储数据中的每个数据的位置的物理地址的映射。该映射可由存储设备的控制器123执行。L2P映射表可以是包括标识符的表或其他数据结构,该标识符诸如与NVM中的存储数据的每个存储器位置112相关联的逻辑块地址(LBA)。虽然图1例示存储在NVM的存储器位置112中的一个中的单个L2P映射表120以避免不当地模糊图1的概念,但是L2P映射表120实际上可包括存储在NVM的一个或多个存储器位置中的多个表。
图3是L2P映射表305的示例的概念图300,其例示从主机设备接收的数据302到图1的NVM 110中的逻辑地址和物理地址的映射。数据302可对应于图1中的数据119和图2中的数据(例如,A、B、C、A’等),而L2P映射表305可对应于图1中的L2P映射表120。在一个示例性实施方案中,数据302可存储在一个或多个页面304中,例如,第1页面至第x页面,其中x是被写入NVM 110的数据的页面总数。每个页面304可以与L2P映射表305的一个或多个条目306相关联,该L2P映射表标识逻辑块地址(LBA)308、与写入到NVM的数据相关联的物理地址310以及数据的长度312。LBA 308可以是在用于从主机设备接收的数据的写入命令中指定的逻辑地址。物理地址310可指示与LBA 308相关联的数据被物理写入的块和偏移。长度312可指示写入数据的大小(例如,4KB或其他大小)。
重新参考图1,NVM 110包括连接到每个存储器位置112的感测放大器124和数据锁存器126。例如,存储器位置112可以是在多个位线上包括单元116、117的块,并且NVM 110可以在每个位线上包括感测放大器124。此外,一个或多个数据锁存器126可以连接到位线和/或感测放大器。数据锁存器可以是例如移位寄存器。当从存储器位置112的单元116、117读取数据时,感测放大器124通过将位线上的电压放大到逻辑电平(例如可读为“0”或“1”)来感测数据,并且感测到的数据存储在数据锁存器126中。然后将数据从数据锁存器126传输到控制器123,之后将数据存储在易失性存储器118中,直到将其传输到主机设备104。当将数据写入存储器位置112的单元116时,控制器123将编程数据存储在数据锁存器126中,并且随后将数据从数据锁存器126传输至单元116、117。
存储设备102包括控制器123,该控制器包括诸如用于执行指令的一个或多个处理器的电路,并且可以包括微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、硬连线逻辑、模拟电路和/或其组合。
控制器123被配置为响应于读取命令而接收从各种存储器位置112的一个或多个单元116、117传输的数据。控制器123还被配置为分配存储器位置112并且响应于写入命令将数据编程到单元116、117中的一个或多个单元中。控制器123被进一步配置为在向单元116、117读取或写入数据时访问NVM 110中的L2P映射表120。例如,控制器123可以响应于来自主机设备104的读取或写入命令而从NVM 110接收逻辑到物理地址的映射,识别映射到在命令中标识的逻辑地址的物理地址,并在位于映射的物理地址处的单元116、117中访问或存储数据。
控制器123可被进一步配置为并行访问存储器位置112。例如,存储器位置112可以是存储在NVM 110的不同管芯上的块114,并且每个管芯可以通过其自身的数据总线连接到控制器123(如下所述并且如图5所示)。控制器可通过多条数据总线同时读取数据或将数据写入不同管芯上的单元116、117。另外,控制器123可被配置为避免并行访问存储器位置112,并且相反可串行地访问存储器位置112。例如,控制器可确定依次读取数据或将数据写入存储器位置112的单元116、117,而不是通过多条数据总线同时读取或写入。
控制器123还可被配置为执行负载平衡,诸如垃圾收集。例如,如上文相对于图2所述,控制器123可将存储在一个或多个存储器位置112(例如,单元116的块)中的数据传输到一个或多个其他存储器位置112(例如,单元117的块)。然后,控制器123可擦除单元116的块114,从而释放存储器位置中的空间以响应于来自主机设备104的写入命令来存储新的和更新的数据。
控制器123及其部件可用嵌入式软件来实现,该嵌入式软件执行在整个本公开描述的控制器的各种功能。另选地,用于实现前述功能和部件中的每个的软件可存储在NVM110中或存储设备102或主机设备104外部的存储器中,并且可由控制器123访问以供控制器123的一个或多个处理器执行。另选地,控制器的功能和部件可用控制器123中的硬件来实现,或者可使用前述硬件和软件的组合来实现。
在操作中,主机设备104通过向存储设备102发送指定一个或多个逻辑地址(例如,LBA)以及要写入的数据的长度的写入命令来将数据存储在存储设备102中。接口元件106接收写入命令,并且控制器在存储设备102的NVM 110中分配存储器位置112以用于存储数据。控制器123将L2P映射存储在NVM中,以将与数据相关联的逻辑地址映射到为数据分配的存储器位置112的物理地址。控制器还存储L2P映射数据的长度。然后,控制器123通过将数据发送到连接到分配的存储器位置的一个或多个数据锁存器126来将数据存储在存储器位置112中,数据从该一个或多个数据锁存器编程到单元116。
主机104可以通过发送读取命令来从存储设备102检索数据,该读取命令指定与要从存储设备102检索的数据相关联的一个或多个逻辑地址以及要读取的数据的长度。接口106接收读取命令,并且控制器123访问NVM中的L2P映射,以将读取命令中指定的逻辑地址转换为指示数据位置的物理地址。然后,控制器123通过使用感测放大器124感测数据并将数据存储在数据锁存器126中,直到经由主机接口106将读取的数据返回给主机104为止,从而从由物理地址指定的存储器位置112中读取所请求的数据。
当存储器位置112中没有可用于存储数据的空单元116时,控制器123通过将数据从单元116传输到其他存储器位置112中的可用单元117来执行垃圾收集或负载平衡。然后,控制器123可擦除包括单元116的存储器位置112。一旦单元116空闲,控制器就可以继续将数据写入空的单元116中。
随着单元117被读取或写入或者随着存储设备102的环境温度升高,单元117可能超过其可靠的工作温度,从而损害数据完整性。例如,单元117可以是具有70°最大写入温度阈值的QLC。为了防止这些单元的温度超过阈值并保持数据的完整性,存储设备102可施加温度抑制。例如,单元117的块114可位于不同管芯上,并且控制器123可禁用对一个或多个管芯上的单元117的并行访问,从而需要串行访问单元117。由于单元117不那么频繁地被访问,因此可降低该单元的温度。
图4示出了存储设备中的温度抑制的示例图400。在温度抑制中,随着温度的升高,控制器越来越多地限制对单元的访问,以便冷却存储设备。例如,单元可包含在一个或多个管芯中,并且控制器可在温度超过各种阈值时禁用对越来越多的管芯的并行访问。在示例图400中,若干阈值被配置用于不同抑制水平,包括低(LO)阈值402、中(MED)阈值404、高(HI)阈值406和热关断(TSD)阈值408。例如,就QLC温度而言,LO阈值402可以是55°或其他度数,MED阈值404可以是60°或其他度数,HI阈值406可以是65°或其他度数,并且TSD阈值408可以是最大写入温度,例如70°。这些阈值仅仅是示例;可使用任何数量的不同度数的温度阈值。此外,阈值可根据单元类型而改变。例如,就TLC温度而言,阈值可能都较高,而就PLC温度而言,阈值可能都较低。
可配置附加阈值以考虑温度滞后。例如,在示例图400中,配置了低滞后(LO-HYST)阈值410、中滞后(MED-HYST)阈值412和高滞后(HI-HYST)阈值414。滞后阈值防止存储设备在温度越过单一度数时在不同抑制水平之间来回切换。例如,图4示出了对应于每个滞后阈值的滞后范围416、418、420。当温度在每个滞后范围内时,保持先前的抑制水平,从而避免磨损并延长存储设备的寿命。
当单元的温度超过各种阈值时,控制器可执行不同水平的抑制,以便更快地降低温度。例如,当减小管芯并行性时,控制器可以在温度超过LO阈值402时施加轻抑制(例如,抑制一个管芯),在温度超过MED阈值404时施加重抑制(例如,抑制两个管芯),在温度超过HI阈值406时施加极限抑制(例如,抑制三个管芯),并且在温度超过TSD阈值408时施加热关断(例如,关断对管芯的访问)。可使用抑制的其他示例;例如,代替禁用分别对一个、两个或三个管芯的并行访问,存储设备可禁用对不同数量的管芯的并行访问,防止对不同数量的管芯的读取或写入,限制或限定对相同管芯上的不同数量或类型的存储器位置的访问,或者执行其他降温方案。
因此,图4示出了在单元的温度428、430、432例如由于读取或写入操作或环境温度升高而升高时,不同抑制水平操作的各种示例422、424、426。参考第一示例422,存储设备最初以全功率操作,例如,不进行抑制。当温度428超过LO阈值402时,控制器执行轻抑制。在该示例中,轻抑制足以使得温度逐渐降低,并且继续执行抑制直到温度降低到LO-HYST阈值410以下。然后,存储设备禁用抑制,从而恢复全功率操作。
参考第二示例424,存储设备最初以全功率操作,而不进行抑制。然而,与第一示例不同,当温度430超过LO阈值402时,轻抑制不足以降低温度,因此温度430继续升高。当温度超过MED阈值404时,控制器执行重抑制。在该示例中,重抑制足以使温度逐渐降低,并且继续进行抑制直到温度降低到MED-HYST阈值412以下。此时,控制器切换到轻抑制,继续执行轻抑制直到温度降低到LO-HYST阈值410以下。然后,存储设备禁用抑制,从而恢复全功率操作。
参考第三示例426,存储设备最初以全功率操作,而不进行抑制。然而,与第一示例和第二示例不同,当温度432超过LO阈值402和MED阈值404时,轻抑制和重抑制不足以降低温度,因此温度432继续升高。当温度超过HI阈值406时,控制器执行极限抑制。在该示例中,极限抑制不足以使温度逐渐降低,因此温度继续升高直到其达到TSD阈值408。此时,控制器执行热关断,例如,关断对单元和/或存储设备的访问,直到温度降回到正常水平。
尽管温度抑制(诸如相对于图4所述的温度抑制)可降低存储设备的温度,但当存储设备包括多种类型的单元(例如,SLC、QLC等)的块时,其也可能降低***性能。例如,重新参考图1,用作SLC的单元116的块114通常可具有至多95°的可靠工作温度,而用作QLC的单元117的块114通常可具有至多70°的较低可靠温度。为了使数据完整性最大化,温度抑制通常考虑不同单元类型的最低最大温度作为TSD阈值408(在这种情况下,为70°)。因此,对具有较高可靠温度的单元类型的访问可受到温度抑制的低效影响。例如,如果管芯上的作为QLC的单元117的块114的温度升高到超过各种阈值,如上文在图4中所述,则禁用对管芯的并行访问可限制对同一管芯上的作为远未超过其可靠的工作温度的SLC的单元116的块114的访问。因此,可降低设备性能和用户满意度。
为了改善设备性能,控制器123可被配置为根据单元117的温度以不同传输速率将数据从存储较少位的单元116(例如,SLC)传输到存储较多位的单元117(例如,QLC),如下文相对于图5至图7所述。例如,控制器123可被配置为当单元117的温度升高到温度阈值以上时以较高的传输速率传输数据,并且当单元117的温度降低到温度阈值以下时以较低的传输速率传输数据。单元116、117可位于不同的管芯上。因此,如果施加温度抑制来限制对单元117的并行访问,则可使单元116能够用于以增加的速率存储新的或更新的数据。
控制器123还可被配置为当温度达到单元117的最大写入温度阈值时禁止传输数据。控制器123还可被配置为当单元116的温度达到最大温度阈值时,或者当单元116中的空闲空间的量减小到空闲空间阈值以下时,禁用在单元116中存储数据。控制器123还可被配置为将数据存储在不同管芯上的NVM 110中,并且从不同管芯中具有最高温度的管芯中识别单元117的温度。当单元117的温度高于温度阈值时,控制器123可抑制对不同管芯的并行访问。
图5示出了根据温度在不同类型的块504、508之间传输数据的控制器502的示例图500。块508可包括比块504的单元存储更多位的单元。例如,块504可包括SLC的页面506,而块508可包括QLC的页面510或其他类型的MLC(例如,2位单元、TLC、PLC等)。块504还可包括MLC的页面511,其中每个MLC可由控制器配置为响应于写入命令而仅存储一位,例如作为SLC。参考图1,控制器502可对应于控制器123,SLC的块504可对应于包括单元116的块114,并且MLC(例如,QLC)的块508可对应于包括单元117的块114。
块504、508可存储在一个或多个管芯512、514上。例如,在图5的示例中,块504、508的混合包含在一个管芯512内,而块504、508的不同混合包含在另一个管芯514内。控制器502可使用多条数据总线516、518并行访问每个管芯512、514。例如,当控制器502从主机设备接收对管芯512、514上的数据的读取或写入命令时,控制器可同时从块504、508接收每个总线516、518上的页面中的数据。另选地,控制器可从块504、508串行地接收数据。块504、508可由控制器502在不同管芯512、514上并行访问,或者可在单个管芯上并行访问。
控制器502可与耦接到一个或多个管芯512、514的一个或多个温度传感器520、522通信。控制器502可基于来自温度传感器的读数来确定块504、508中的单元的温度。在确定温度后,控制器502可对管芯512、514施加温度抑制,如上文相对于图4所述。例如,如果块508中的MLC(例如,QLC)单元超过图4的前述温度阈值402、404、406、408之一,则控制器502可以限制对管芯512、514的并行访问以降低块508的温度。例如,当控制器502从主机设备接收到读取命令或写入命令时,控制器可以避免与总线516上的数据同时在总线518上接收或发送数据。另选地,控制器502可以其他方式施加温度抑制。例如,如果包含在单个管芯上的块504、508可并行访问,则控制器可避免同时接收数据或将数据发送到块504、508。
控制器502可包括平衡模块或部件524,该平衡模块或部件被配置为在块504和块508之间传输或重新定位数据。平衡部件524可被称为维护驱逐规划器(MVP)或另一名称。平衡部件524可例如在垃圾收集期间平衡块504和508之间的数据存储(例如,传输/重新定位数据),如上文相对于图2所述。
平衡部件524可在包括后台状态、前台状态、极限状态和紧急状态等多种状态下操作。平衡部件524可根据块(例如,SLC的块504)的可用性在不同状态之间切换。控制器502可例如通过对图1和图3的L2P映射表120、305中的页面506进行计数来确定SLC块的可用性。如果控制器502确定存在大量的空闲SLC块504池(例如,块504的75%或更多是空闲的),则控制器可将平衡部件524切换到后台状态,在这种情况下,平衡部件524可在控制器自由地执行读写命令时在块504、508之间传输数据。如果控制器502确定存在足够的空闲SLC块504池用于读取和写入操作(例如,块504的50%-75%是空闲的),则控制器可将平衡部件524切换到前台状态,其中平衡部件524在块504、508之间传输数据,然后控制器执行后续的读取或写入命令。如果控制器502确定存在少量的空闲SLC块504(例如,块504的25%-50%是空闲的),则控制器可将平衡部件切换到极限状态,其中平衡部件524在块504、508之间传输数据直到空闲SLC块504的数量增加到指定量,然后控制器再次执行读取或写入命令。如果控制器502确定存在临界数量的空闲SLC块504(例如,块504的0%-25%是空闲的),则控制器可将平衡部件切换到紧急状态,其中控制器可关断对块504的写入并在块504、508之间传输数据,直到空闲SLC块504的数量增加到指定量。
尽管平衡部件524可在控制器502执行来自主机设备的读取或写入命令时基于空闲块504(或508)的可用数量在上述状态之间切换,但平衡部件524还可基于由温度传感器520、522感测到的块504、508的温度在这些状态之间切换。例如,平衡部件524可根据由温度传感器感测到的温度,在不同状态下并且以不同传输速率在块504、508之间传输数据。例如,如果控制器502确定MLC(例如,QLC)单元的块508的温度正朝向最大写入温度阈值(例如,70°)增加,则平衡部件524可切换到紧急状态。又如,如果控制器502确定块508的温度升高到超过图4的温度阈值402、404、406,则平衡部件524可成比例地增加块504、508之间的传输速率。参见图5,例如,平衡部件524可在温度传感器522感测到的温度超过LO阈值402时,以第一传输速率526将数据从块504传输到块508;在所感测到的温度超过MED阈值404时,以高于第一传输速率的第二传输速率528将数据从块504传输到块508;并且在所感测到的温度超过HI阈值406时,以高于第二传输速率的第三传输速率530将数据从块504传输到块508。当所感测到的温度超过TSD阈值408时,控制器502还可禁用从块504到块508的数据传输。这样,即使在块508已超过其可靠的工作温度时,空闲块504的量也可越来越多地用于数据存储。
由平衡部件执行的前述功能不限于所描述的特定部件,而是可由控制器123、502的不同部件或其他部件来实现。
图6示出了示例图600,其示出了增加的单元传输速率与温度抑制相结合。该单元可对应于图5的块504、508中的单元,并且温度抑制可类似于图4中所述的温度抑制。在示例图600中,若干阈值被配置用于不同抑制水平,包括低(LO)阈值602、中(MED)阈值604、高(HI)阈值606、QLC热关断(TSD QLC)阈值608和SLC热关断(TSD SLC)阈值609。阈值602、604、606、608/609可对应于图4中的阈值402、404、406和408。例如,就QLC温度而言,LO阈值602可以是55°或其他度数,MED阈值604可以是60°或其他度数,HI阈值606可以是65°或其他度数,TSD QLC阈值608可以是QLC单元的最大写入温度,例如70°,并且TSD SLC阈值609可以是SLC单元的最大写入温度,例如95°。可配置附加阈值以考虑温度滞后。例如,在示例性示意图600中,配置了低滞后(LO-HYST)阈值610、中滞后(MED-HYST)阈值612和高滞后(HI-HYST)阈值614,包括对应于每个滞后阈值的滞后范围616、618、620。阈值610、612、614和范围616、618、620可对应于图4中的阈值410、412、414和范围416、418、420。这些阈值仅仅是示例;可使用任何数量的不同度数的温度阈值。此外,阈值可根据单元类型而改变。例如,就TLC温度而言,阈值可能都较高,而就PLC温度而言,阈值可能都较低。
当控制器执行温度抑制时,控制器可在单元的温度超过各种阈值时以不同的传输速率在单元之间(例如,在图5中从块504的SLC单元到块508的QLC单元)传输数据,以便更快速地增加可用SLC块池。例如,控制器可在温度超过LO阈值602时,应用第一传输速率(例如,传输速率526);在温度超过MED阈值604时,应用第二传输速率(例如,传输速率528);在温度超过HI阈值606时,应用第三传输速率(例如,传输速率530);在温度超过TSD QLC阈值608时,应用QLC操作关断(例如,关断对QLC单元的访问);并且在温度超过TSD SLC阈值609时,应用SLC操作关断(例如,关断对SLC单元的访问)。可使用单元操作关断的其他示例;例如,如果块508的单元是TLC,则TSD QLC阈值608可以被替换为TLC的对应温度阈值,并且如果块504的单元是MLC,则TSD SLC阈值609可以被替换为MLC的对应温度阈值。
因此,图6示出了在单元的温度628、630、632例如由于读取或写入操作或环境温度升高而升高时,不同传输速率操作的各种示例622、624、626。参考第一示例622,控制器最初以正常传输速率并且在不进行抑制的情况下对单元进行重定位(例如,从SLC到QLC)。正常传输速率可以是常规存储设备中通常使用的传输速率。当温度628超过LO阈值602时,控制器将传输速率增加到高于正常传输速率的第一传输速率,同时执行轻抑制。在该示例中,轻抑制足以使得温度逐渐降低,并且继续执行第一传输速率下的重定位,直到温度降低到LO-HYST阈值610以下。然后,存储设备禁用抑制,恢复以正常传输速率的操作。
参考第二示例624,存储设备最初以正常传输速率并且在不进行抑制的情况下对单元进行重定位。然而,与第一示例不同,当温度630超过LO阈值602时,轻抑制不足以降低温度,因此温度630继续升高。当温度超过MED阈值604时,控制器将传输速率增加到高于第一传输速率的第二传输速率,同时执行重抑制。在该示例中,重抑制足以使温度逐渐降低,并且继续执行第二传输速率下的重定位,直到温度降低到MED-HYST阈值612以下。此时,控制器切换回第一传输速率以及轻抑制,继续执行轻抑制直到温度降低到LO-HYST阈值610以下。然后,存储设备禁用抑制,恢复以正常传输速率的操作。
参考第三示例626,存储设备最初以正常传输速率并且在不进行抑制的情况下对单元进行重定位。然而,与第一示例和第二示例不同,当温度632超过LO阈值602和MED阈值604时,轻抑制和重抑制不足以降低温度,因此温度632继续升高。当温度超过HI阈值606时,控制器将传输速率增加到高于第二传输速率的第三传输速率,同时执行极限抑制。在该示例中,极限抑制不足以使温度逐渐降低,因此温度继续升高直到其达到TSD QLC阈值608。此时,控制器执行QLC单元的热关断,例如,防止进一步的数据传输到图5的块508的单元,直到温度降回到正常水平。然而,由于传输速率增加,SLC单元中的附加空闲空间可用,并且数据仍可存储在块504的单元中,直到温度达到TSD SLC阈值609,此时可发生存储设备的优雅关断(GSD)。
图7是示出如图6的示例中所述的用于增加单元之间的传输速率的方法的示例性实施方案的流程图700。例如,该方法可在存储设备102(诸如图1所示的存储设备)中执行。可以使用如下所述的控制器(例如,控制器123、502)或通过一些其他合适的方式来控制流程图中的每个步骤。
如框702所示,控制器可以在存储器中的所有管芯上以规律的间隔获取NAND单元的温度。例如,参见图1、图5和图6所示,控制器123、502可从NVM 110中的管芯512、514获取由温度传感器520、522感测到的温度628、630、632。控制器123、502可以规律的间隔例如每分钟或其他时间量周期性地获取温度。
如框704所示,控制器可选择所有管芯中具有最高温度的管芯。例如,参见图1、图5和图6所示,在获取由温度传感器520、522感测到的温度628、630、632之后,控制器123、502可识别出管芯514具有比管芯512更高的温度。该控制器随后可对该管芯514上的块508执行温度抑制,并且增加从块504到该管芯514的数据传输速率。
如决策框706所示,控制器可确定温度628、630、632是否大于LO阈值602。如果不是,并且温度正升高,则如框708所示,控制器禁用温度抑制并设置正常传输速率,如上文相对于图6所述。然而,如果温度正降低,则如决策框710所示,控制器可确定温度628、630、632是否大于LO-HYST阈值610。如果不是,则如框712所示,控制器禁用温度抑制并设置正常传输速率,如上文相对于图6所述。否则,如框714中所示,控制器启用或继续启用温度抑制(例如,轻抑制),并且设置如上文相对于图5和图6所述的第一传输速率(例如,第一传输速率526)。
如决策框716所示,控制器可确定温度628、630、632是否大于MED阈值604。如果不是,并且温度正升高,则如框714所示,控制器继续启用温度抑制并保持第一传输速率,如上文相对于图6所述。然而,如果温度正降低,则如决策框718所示,控制器可确定温度628、630、632是否大于MED-HYST阈值612。如果不是,则如框714所示,控制器继续启用温度抑制并设置第一传输速率,如上文相对于图6所述。否则,如框720中所示,控制器施加温度抑制(例如,重抑制),并且设置如上文相对于图5和图6所述的第二传输速率(例如,第二传输速率528)。
如决策框722所示,控制器可确定温度628、630、632是否大于HI阈值606。如果不是,并且温度正升高,则如框720所示,控制器保持第二传输速率,如上文相对于图6所述。然而,如果温度正降低,则如决策框724所示,控制器可确定温度628、630、632是否大于HI-HYST阈值614。如果不是,则如框720所示,控制器保持第二传输速率,如上文相对于图6所述。否则,如框726中所示,控制器施加温度抑制(例如,极限抑制),并且设置如上文相对于图5和图6所述的第三传输速率(例如,第三传输速率530)。
如决策框728所示,控制器可确定温度628、630、632是否大于TSD_QLC阈值608。如果不是,则如框726所示,控制器保持第三传输速率,如上文相对于图6所述。否则,如框730所示,控制器禁用对QLC单元(例如,块508中的单元)的访问,直到QLC单元的温度降回到可靠的工作温度范围。如决策框732和734所示,控制器还可确定温度628、630、632是否大于TSD_SLC阈值609或者可用SLC的数量是否处于临界水平。例如,控制器可确定块504中单元的温度可以达到那些单元的最大温度阈值(例如,95°),或者那些单元中可用的空闲空间量减小到空闲空间阈值(例如,所有SLC的25%)以下。如果任一条件为真,则如框736所示,控制器可执行对存储设备的优雅关断或以其他方式限制对SLC的访问。
因此,本公开改善了存储设备的性能,从而改善了存储设备的用户体验,而不损害数据完整性。当存储设备的环境温度达到NAND单元的一个或多个阈值时,通过以增加的速率将数据传输到NAND单元(例如,QLC)的块,即使在施加温度抑制时,控制器也可以通过允许对具有更高可靠工作温度的其他NAND单元进行读取和写入来继续使设备操作最大化。控制器可以在各种温度下在不同类型的NAND单元(例如,SLC和QLC)之间以不同速率选择性地重新定位、路由或折叠数据。因此,设备性能得以改善并且数据可靠性得以保持。
提供本公开的各个方面以使本领域的普通技术人员能够实践本发明。对贯穿本公开呈现的示例性实施方案的各种修改对于本领域的技术人员而言将是显而易见的,并且本文所公开的概念可扩展到其他磁存储设备。因此,权利要求书并非旨在限于本公开的各个方面,而是旨在被赋予与权利要求书的语言一致的全部范围。本领域的普通技术人员已经知道或之后知道的贯穿本公开描述的示例性实施方案的各种部件的所有结构等同物和功能等同物以引用的方式明确地并入本文并旨在被权利要求所涵盖。此外,无论在权利要求中是否明确地叙述此公开内容,本文公开的内容都并非旨在贡献给社会大众。依据美国的35 U.S.C.§112第六段条款,或另一司法管辖区的类似法规或法治,将不解释任何权利要求要素,除非使用短语“用于……的装置”来明确地叙述该要素,或在方法权利要求的情况下使用短语“用于……的步骤”来叙述该要素。
Claims (17)
1.一种存储设备,所述存储设备包括:
存储器,所述存储器具有多个第一单元和多个第二单元,所述第二单元中的每个第二单元被配置为存储比所述第一单元中的每个第一单元更多的位;和
控制器,所述控制器被配置为:
响应于来自主机设备的写入命令而将数据存储在所述第一单元中;
当所述第二单元的温度高于温度阈值时,以比低于所述温度阈值时更高的传输速率将所述数据从所述第一单元传输到所述第二单元;以及
当所述温度达到所述第二单元的最大写入温度阈值时,禁用将所述数据从所述第一单元传输到所述第二单元。
2.根据权利要求1所述的存储设备,其中所述控制器被进一步配置为当所述第一单元的温度达到所述第一单元的最大温度阈值时或者当所述第一单元中的空闲空间量减小到空闲空间阈值以下时,禁用将所述数据存储在所述第一单元中。
3.根据权利要求1所述的存储设备,其中所述第一单元包括单级单元(SLC),并且其中所述第二单元包括多级单元(MLC)、三级单元(TLC)、四级单元(QLC)或五级单元(PLC)中的一者。
4.根据权利要求1所述的存储设备,其中所述第一单元包括多级单元(MLC),并且所述控制器被配置为在所述MLC中的每个MLC中存储一位。
5.根据权利要求1所述的存储设备,其中所述控制器被配置为将数据存储在不同管芯上的所述存储器中,并且所述控制器被进一步配置为从所述不同管芯中具有最高温度的管芯中识别所述第二单元的所述温度。
6.根据权利要求5所述的存储设备,其中所述控制器被进一步配置为当所述第二单元的所述温度高于所述温度阈值时,抑制对所述不同管芯的并行访问。
7.一种存储设备,所述存储设备包括:
存储器,所述存储器具有多个第一单元和多个第二单元,所述第二单元中的每个第二单元被配置为存储比所述第一单元中的每个第一单元更多的位;和
控制器,所述控制器被配置为:
响应于来自主机设备的写入命令而将数据存储在所述第一单元中;
当所述第二单元的温度低于温度阈值时,以第一传输速率将所述数据从所述第一单元传输到所述第二单元,并且当所述温度高于所述温度阈值时,以比所述第一传输速率高的第二传输速率将所述数据从所述第一单元传输到所述第二单元;以及
当所述温度达到所述第二单元的最大写入温度阈值时,禁用将所述数据从所述第一单元传输到所述第二单元。
8.根据权利要求7所述的存储设备,其中所述温度阈值包括第一温度阈值,并且其中所述控制器被配置为当所述温度高于比所述第一温度阈值高的第二温度阈值时,以比所述第二传输速率高的第三传输速率将所述数据从所述第一单元传输到所述第二单元。
9.根据权利要求7所述的存储设备,其中所述控制器被进一步配置为当所述第一单元的温度达到所述第一单元的最大温度阈值时或者当所述第一单元中的空闲空间量减小到空闲空间阈值以下时,禁用将所述数据存储在所述第一单元中。
10.根据权利要求7所述的存储设备,其中所述控制器被配置为将数据存储在不同管芯上的所述存储器中,并且所述控制器被进一步配置为从所述不同管芯中具有最高温度的管芯中识别所述第二单元的所述温度。
11.根据权利要求10所述的存储设备,其中所述控制器被进一步配置为当所述第二单元的所述温度高于所述温度阈值时,抑制对所述不同管芯的并行访问。
12.一种存储设备,所述存储设备包括:
存储器,所述存储器具有多个第一单元和多个第二单元,所述第二单元中的每个第二单元被配置为存储比所述第一单元中的每个第一单元更多的位;和
控制器,所述控制器被配置为:
响应于来自主机设备的写入命令而将数据存储在所述第一单元中;
以传输速率将所述数据从所述第一单元传输到所述第二单元,其中所述传输速率是所述第二单元的温度的函数;以及
当所述温度达到所述第二单元的最大写入温度阈值时,禁用将所述数据从所述第一单元传输到所述第二单元。
13.根据权利要求12所述的存储设备,其中所述控制器被进一步配置为当所述第一单元的温度达到所述第一单元的最大温度阈值时或者当所述第一单元中的空闲空间量减小到空闲空间阈值以下时,禁用将所述数据存储在所述第一单元中。
14.根据权利要求12所述的存储设备,其中所述第一单元包括单级单元(SLC),并且其中所述第二单元包括多级单元(MLC)、三级单元(TLC)、四级单元(QLC)或五级单元(PLC)中的一者。
15.根据权利要求12所述的存储设备,其中所述第一单元包括多级单元(MLC),并且所述控制器被配置为在所述MLC中的每个MLC中存储一位。
16.根据权利要求12所述的存储设备,其中所述控制器被配置为将数据存储在不同管芯上的所述存储器中,并且所述控制器被进一步配置为从所述不同管芯中具有最高温度的管芯中识别所述第二单元的所述温度。
17.根据权利要求16所述的存储设备,其中所述控制器被进一步配置为当所述第二单元的所述温度高于温度阈值时,抑制对所述不同管芯的并行访问。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/670,105 US20210132817A1 (en) | 2019-10-31 | 2019-10-31 | Relocation of Data in Memory At Different Transfer Rates Based on Temperature |
US16/670,105 | 2019-10-31 | ||
PCT/US2020/025331 WO2021086438A1 (en) | 2019-10-31 | 2020-03-27 | Relocation of data in memory at different transfer rates based on temperature |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113196252A CN113196252A (zh) | 2021-07-30 |
CN113196252B true CN113196252B (zh) | 2023-11-28 |
Family
ID=75687328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080006803.1A Active CN113196252B (zh) | 2019-10-31 | 2020-03-27 | 基于温度以不同的传输速率重新定位存储器中的数据 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210132817A1 (zh) |
KR (1) | KR20210088706A (zh) |
CN (1) | CN113196252B (zh) |
DE (1) | DE112020000140T5 (zh) |
WO (1) | WO2021086438A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11923010B2 (en) * | 2020-03-24 | 2024-03-05 | Intel NDTM US LLC | Flash memory chip that modulates its program step voltage as a function of chip temperature |
KR20210121686A (ko) * | 2020-03-31 | 2021-10-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US20230131347A1 (en) * | 2021-10-21 | 2023-04-27 | Micron Technology, Inc. | Managing thermal throttling in a memory sub-system |
US11886260B2 (en) * | 2022-05-19 | 2024-01-30 | Western Digital Technologies, Inc. | Thermal management of storage devices increasing host write performance |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244519B1 (en) * | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9542125B1 (en) * | 2012-09-25 | 2017-01-10 | EMC IP Holding Company LLC | Managing data relocation in storage systems |
CN109799950A (zh) * | 2017-11-17 | 2019-05-24 | 西部数据技术公司 | 中间存储的适应性管理 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3761544B2 (ja) * | 2003-06-25 | 2006-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体 |
US7590473B2 (en) * | 2006-02-16 | 2009-09-15 | Intel Corporation | Thermal management using an on-die thermal sensor |
US8898382B2 (en) * | 2011-03-04 | 2014-11-25 | Xyratex Technology Limited | Storage system and a method of control of a storage system |
US8918576B2 (en) * | 2012-04-24 | 2014-12-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Selectively placing data in thermally constrained memory systems to dynamically adapt to changing environmental conditions |
US9355929B2 (en) * | 2012-04-25 | 2016-05-31 | Sandisk Technologies Inc. | Data storage based upon temperature considerations |
US9355024B2 (en) * | 2012-10-10 | 2016-05-31 | Apple Inc. | Systems and methods for nonvolatile memory performance throttling |
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 |
JP6381480B2 (ja) * | 2015-05-12 | 2018-08-29 | 東芝メモリ株式会社 | 半導体装置 |
US20170024297A1 (en) * | 2015-07-22 | 2017-01-26 | Kabushiki Kaisha Toshiba | Storage Device and Data Save Method |
US9804796B1 (en) * | 2016-09-28 | 2017-10-31 | Intel Corporation | Emergency mode operation of a solid state drive |
US9811267B1 (en) * | 2016-10-14 | 2017-11-07 | Sandisk Technologies Llc | Non-volatile memory with intelligent temperature sensing and local throttling |
TWI621063B (zh) * | 2017-01-13 | 2018-04-11 | 慧榮科技股份有限公司 | 主機裝置與資料傳輸速率控制方法 |
KR20180130872A (ko) * | 2017-05-30 | 2018-12-10 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US20190050153A1 (en) * | 2017-08-08 | 2019-02-14 | Western Digital Technologies, Inc. | Routing data blocks during thermal throttling |
-
2019
- 2019-10-31 US US16/670,105 patent/US20210132817A1/en not_active Abandoned
-
2020
- 2020-03-27 KR KR1020217018035A patent/KR20210088706A/ko active IP Right Grant
- 2020-03-27 CN CN202080006803.1A patent/CN113196252B/zh active Active
- 2020-03-27 WO PCT/US2020/025331 patent/WO2021086438A1/en active Application Filing
- 2020-03-27 DE DE112020000140.7T patent/DE112020000140T5/de active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542125B1 (en) * | 2012-09-25 | 2017-01-10 | EMC IP Holding Company LLC | Managing data relocation in storage systems |
US9244519B1 (en) * | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
CN109799950A (zh) * | 2017-11-17 | 2019-05-24 | 西部数据技术公司 | 中间存储的适应性管理 |
Also Published As
Publication number | Publication date |
---|---|
DE112020000140T5 (de) | 2021-10-07 |
KR20210088706A (ko) | 2021-07-14 |
WO2021086438A1 (en) | 2021-05-06 |
CN113196252A (zh) | 2021-07-30 |
US20210132817A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113196252B (zh) | 基于温度以不同的传输速率重新定位存储器中的数据 | |
US9195579B2 (en) | Page replacement method and memory system using the same | |
US11892928B2 (en) | Delayed thermal throttling and associated data routing techniques | |
US20220083256A1 (en) | Read Handling in Zoned Namespace Devices | |
US10283196B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN114138682A (zh) | 使用子块模式的分区命名空间限制缓解 | |
US11204698B2 (en) | Memory controller to set operating environment of memory device, method of operating the same and storage device including the same | |
CN113467704B (zh) | 通过智能阈值检测的命令优化 | |
US11640259B2 (en) | Use of surplus erase block pairs in super block formation | |
US11347420B2 (en) | Attribute mapping in multiprotocol devices | |
US11314445B2 (en) | Pattern tracking for efficiently predicting control pages | |
CN115203086A (zh) | 主机存储器缓冲器分配管理 | |
US11294813B2 (en) | SSD address table cache management based on probability distribution | |
US20210208808A1 (en) | Host Supported Partitions in Storage Device | |
US20220291836A1 (en) | Simplified high capacity die and block management | |
US11023370B2 (en) | Memory system having a plurality of memory chips and method for controlling power supplied to the memory chips | |
US11886260B2 (en) | Thermal management of storage devices increasing host write performance | |
US20230367379A1 (en) | Solid-state device with multiple thermal power states | |
US11853572B2 (en) | Encoding-aware data routing | |
US12026384B2 (en) | Open block relocation | |
US20230367377A1 (en) | Solid-state device with multi-tier extreme thermal throttling | |
US20240094903A1 (en) | Hybrid logical to physical mapping for zns based ssds |
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 |