CN114816236A - 数据迁移技术 - Google Patents
数据迁移技术 Download PDFInfo
- Publication number
- CN114816236A CN114816236A CN202210053775.XA CN202210053775A CN114816236A CN 114816236 A CN114816236 A CN 114816236A CN 202210053775 A CN202210053775 A CN 202210053775A CN 114816236 A CN114816236 A CN 114816236A
- Authority
- CN
- China
- Prior art keywords
- data
- determining
- threshold
- writing
- amount
- 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
- 238000000034 method Methods 0.000 title claims abstract description 220
- 238000013508 migration Methods 0.000 title claims abstract description 163
- 230000005012 migration Effects 0.000 title claims abstract description 163
- 230000015654 memory Effects 0.000 claims abstract description 320
- 238000004519 manufacturing process Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 description 26
- 238000012546 transfer Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 239000000758 substrate Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- BHEPBYXIRTUNPN-UHFFFAOYSA-N hydridophosphorus(.) (triplet) Chemical compound [PH] BHEPBYXIRTUNPN-UHFFFAOYSA-N 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000004809 thin layer chromatography Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of 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/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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0643—Management of files
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0661—Format or protocol conversion 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及数据迁移技术。存储器系统可从主机装置接收与写入操作相关联的命令。所述存储器系统可基于接收到所述命令而确定是否使用数据迁移技术将数据写入所述存储器装置。在一些情况下,所述存储器系统可选择三级写入格式而不是四级写入格式来写入所述数据,以及使用所述三级写入格式写入所述数据。所述存储器系统可基于使用所述三级写入格式写入所述数据,将所述数据从所述三级写入格式转换为所述四级写入格式。
Description
交叉引用
本专利申请要求Tanpairoj等人于2021年1月20日提交的标题为“数据迁移技术(DATA MIGRATION TECHNIQUES)”的第63/139,418号美国临时专利申请的优先权,所述美国临时专利申请转让给本受让人且明确地以全文引用的方式并入本文中。
技术领域
技术领域涉及数据迁移技术。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为常常对应于逻辑1或逻辑0的两个支持状态中的一者。在一些实例中,单个存储器单元可支持超过两个可能状态,存储器单元可存储所述超过两个可能状态中的任一个。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到相应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。除非由外部电源周期性更新,否则易失性存储器单元(例如,DRAM单元)可随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述一种设备。所述设备可以包含存储器装置和与所述存储器装置耦合的控制电路。所述控制电路可配置成使所述设备进行以下操作:从主机装置接收与写入操作相关联的命令;至少部分地基于接收到所述命令而确定是否使用数据迁移技术将数据写入所述存储器装置;至少部分地基于确定使用所述数据迁移技术而选择三级写入格式而不是四级写入格式来写入所述数据;至少部分地基于选择所述三级写入格式而使用所述三级写入格式将所述数据写入所述存储器装置;以及至少部分地基于写入所述数据而将所述数据从所述三级写入格式转换为所述四级写入格式。
描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包括指令的代码,所述指令在由电子装置的处理器执行时使所述电子装置进行以下操作:从主机装置接收与写入操作相关联的命令;至少部分地基于接收到所述命令而确定是否使用数据迁移技术将数据写入存储器装置;至少部分地基于确定使用所述数据迁移技术而选择三级写入格式而不是四级写入格式来写入所述数据;至少部分地基于选择所述三级写入格式而使用所述三级写入格式将所述数据写入所述存储器装置;以及至少部分地基于写入所述数据而将所述数据从所述三级写入格式转换为所述四级写入格式。
描述一种方法。所述方法可包含从主机装置接收与写入操作相关联的命令;至少部分地基于接收到所述命令而确定是否使用数据迁移技术将数据写入存储器装置;至少部分地基于确定使用所述数据迁移技术而选择三级写入格式而不是四级写入格式来写入所述数据;至少部分地基于选择所述三级写入格式而使用所述三级写入格式将所述数据写入所述存储器装置;以及至少部分地基于写入所述数据而将所述数据从所述三级写入格式转换为所述四级写入格式。
附图说明
图1示出根据本文公开的实例支持数据迁移技术的系统的实例。
图2示出根据本文公开的实例支持数据迁移技术的过程。
图3示出根据本文公开的实例支持数据迁移技术的过程。
图4示出根据本文公开的实例支持数据迁移技术的存储器系统的框图。
图5示出说明根据本文公开的实例支持数据迁移技术的一或多种方法的流程图。
具体实施方式
一些存储器系统可用于或可需要执行从第一存储器系统(其可包含第一存储器装置)到第二存储器系统(其可包含第二存储器装置)的相对较大的数据传送。例如,第一存储器系统(其可包含第一存储器装置)可包含可能需要传送到第二存储器系统(其可包含第二存储器装置)的现有数据。相对较大的数据传送可以是初始数据传送的实例,例如将现有数据从第一装置(例如,可包含第一存储器系统的较旧电子装置,如智能手机)传送到第二装置(例如,可包含第二存储器系统的较新电子装置,如智能手机)。在一些实例中,第二存储器系统的高速缓存中可用的空间量可以小于要传送的数据量(例如,大小)。在此类情况下,由于高速缓存无法存储所有要传送的数据,因此在数据传送期间使用高速缓存可能不可用或无效。
在一些实例中,使用一些更复杂的数据迁移技术(例如四级单元(QLC)数据迁移技术)直接写入以传送数据可能比其它不太复杂的数据迁移技术(例如三级单元(TLC)数据迁移技术)慢。在此类情况下,使用更复杂的数据迁移技术(例如,QLC)可能导致存储器装置经历更长的编程时间、更长的传送时间和更长的处理时间等缺点。另外,此类技术可能导致存储器系统在执行存储器装置操作时,例如执行从第一存储器系统到第二存储器系统的相对较大的数据传送时经历性能损失,这可能增加其它操作的延迟。通过使用更复杂的数据迁移技术,例如QLC数据迁移技术,存储器系统使用的功率量还可能增加,因而降低存储器系统的整体性能。本公开描述了在不损害存储器装置性能和避免使用更复杂的数据迁移技术可能存在的一些缺点的情况下迁移数据的替代技术。
本公开的各方面通过具有执行高效且有效的数据迁移技术的存储器系统来解决上述和其它缺陷。存储器系统可以从主机系统接收命令,例如与写入操作相关联的命令。在一些实例中,存储器系统可以确定是否使用数据迁移技术将数据写入存储器系统,例如存储器装置(例如,作为存储器系统的一部分而包含的存储器装置)。例如,存储器系统可基于命令检测数据传送请求,并基于数据的大小、数据的连续性、存储器装置中可供写入的空间、或生产操作的完成、一或多个其它因素或其任何组合确定数据传送可以是从第一存储器系统到第二存储器系统的单次数据传送。在一些实例中,第二存储器系统可以选择第一写入格式,例如用于写入数据的三级写入格式(例如,TLC写入格式),并且第二存储器系统可以使用三级写入格式将数据写入第二存储器系统的第二存储器装置。例如,可以使用三级写入格式作为过渡格式将现有数据(例如,来自第一存储器装置)移动到第二存储器系统(例如,第二存储器系统的第二存储器装置)。然后,在将数据写入第二存储器系统(例如,第二存储器装置)中的三级写入格式之后,存储器系统可以将数据从一种格式迁移(例如,转换)为另一种格式,例如,从三级写入格式迁移为四级写入格式(例如,QLC写入格式)。
通过使用本文描述的数据迁移技术,可通过使用实施与以不同写入格式写入相关的解决方案的数据传送来提高数据迁移性能,从而提高存储器系统的总体性能,进而改进第二存储器系统(例如,包含第二存储器装置)的用户体验。例如,所述数据迁移技术可以在无需分配较大的专用高速缓存来支持数据迁移的情况下提高初始数据传送时的存储器系统性能以及存储器系统的总体效率。在此类情况下,存储器系统可减少一或多个命令的传输与写入一或多个存储器装置之间的延迟,可提高读取、写入和擦除速度,并且可提高处理时间,以及其它优点。
本公开的特征一开始在参考图1描述的系统的上下文中加以描述。本公开的特征在参考图2-3描述的流程图的上下文中加以描述。本公开的这些和其它特征进一步通过参考图4-5描述的与数据迁移技术相关的设备图和流程图来说明,并参考这些图加以描述。
图1示出根据本文公开的实例支持数据迁移技术的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置的集合,其中装置或装置的集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可以包含在计算装置中,所述计算装置如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(IoT)功能的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可以包含主机系统105,其可以与存储器系统110耦合。在一些实例中,这种耦合可以包含与主机系统控制器106的连接,所述主机系统控制器可以是配置成使主机系统105根据如本文描述的实例执行各种操作的控制组件的实例。主机系统105可以包含一或多个装置,且在一些情况下可以包含处理器芯片组和通过处理器芯片组执行的软件堆栈。例如,主机系统105可以包含配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可以包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在主机系统105中的存储器)、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统105可以使用存储器系统110,例如,将数据写入存储器系统110以及从存储器系统110读取数据。虽然图1示出一个存储器系统110,但是主机系统105可与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口而与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据及其它信号)。物理主机接口的实例可以包含但不限于串行高级技术附件(SATA)接口、UFS接口、eMMC接口、外围组件互联高速(PCIe)接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、双数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI),和低功率双数据速率(LPDDR)接口。在一些实例中,一或多个此类接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每个存储器装置130的相应物理主机接口,或经由用于包含在存储器系统110中的每种类型的存储器装置130的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可以包含存储器系统控制器115和一或多个存储器装置130(例如,存储器装置130-a、存储器装置130-b)。存储器装置130可以包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。尽管图1的实例中示出两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。此外,在存储器系统110包含超过一个存储器装置130的情况下,存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合及通信(例如,经由物理主机接口),并且可以是配置成使存储器系统110根据如本文描述的实例执行各种操作的控制组件的实例。存储器系统控制器115还可与存储器装置130耦合并通信以在存储器装置130处执行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据,或更新数据,以及其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此类命令(例如,在一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作,并且可将命令或操作转换成指令或适当命令,以实现对存储器装置130的期望存取。且在一些情况下,存储器系统控制器115可与主机系统105和一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。例如,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的相应信号。
存储器系统控制器115可配置成用于与存储器装置130相关联的其它操作。例如,存储器系统控制器115可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,和与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可以包含硬件,如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路系统,以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。
存储器系统控制器115还可以包含本地存储器120。在一些情况下,本地存储器120可以包含只读存储器(ROM)或可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或其它存储器,其可由存储器系统控制器115用于例如与本文中归于存储器系统控制器115的功能有关的内部存储或计算。另外或替代地,本地存储器120可用作用于存储器系统控制器115的高速缓存。例如,当从存储器装置130读取或写入存储器装置130时数据可存储在本地存储器120中,并且可在本地存储器120内可用于根据高速缓存策略由主机系统105后续检索或操纵(更新)(例如,在相对于存储器装置130的减少的延迟的情况下)。
尽管图1中的存储器系统110的实例已示出为包含存储器系统控制器115,但在一些情况下存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130内部的一或多个本地控制器135(例如,本地控制器135-a、本地控制器135-b),以执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置130可包含非易失性存储器单元的一或多个阵列。例如,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电RAM(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)和电可擦除可编程ROM(EEPROM)。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。例如,存储器装置130可包含随机存取存储器(RAM)存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可包含(例如,在同一裸片上或在同一封装内)本地控制器135,其可对存储器装置130的一或多个存储器单元分别执行操作。本地控制器135(例如,本地控制器135-a、本地控制器135-b)可结合存储器系统控制器115操作或可执行本文中归于存储器系统控制器115的一或多个功能。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。例如,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每个裸片160可包含一或多个平面165,并且每个平面165可包含相应的块170的集,其中每个块170可包含相应的页175的集,并且每个页175可包含存储器单元集。
在一些情况下,NAND存储器装置130可包含配置成各自存储一个信息位的存储器单元,其可称为单层级单元(SLC)。另外或替代地,NAND存储器装置130可包含配置成各自存储多个信息位的存储器单元,如果配置成各自存储两个信息位,则其可称为多层级单元(MLC),如果配置成各自存储三个信息位,则其可称为TLC,如果配置成各自存储四个信息位,则其可称为QLC,或更一般地称为多层级存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路系统的更窄读取或写入裕度或更大复杂度。
在一些情况下,平面165可以指块170的群组,并且在一些情况下,并行操作可在不同平面165内进行。例如,并行操作可在不同块170内的存储器单元上执行,只要不同块170是在不同平面165中即可。在一些情况下,在不同平面165中执行并行操作可具有一或多个限制,例如相同操作是在相应平面165内具有相同页地址的不同页175内的存储器单元上执行的(例如,涉及命令解码、页地址解码电路系统或跨平面165共享的其它电路系统)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可以是可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。另外,在一些情况下,NAND存储器单元可在其可用新数据重写之前擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
系统100可以包含支持数据迁移技术的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以进行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能。例如,当由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行时,此类指令可使得主机系统105、存储器系统控制器115或存储器装置130进行如本文描述的一或多个相关联功能。
NAND存储器装置130的每个存储器单元可编程为存储表示一或多个信息位的一或多个逻辑值。在一些情况下,单个存储器单元(例如SLC存储器单元)可编程到两个支持状态中的一个且因此可一次存储一个信息位(例如,逻辑0或逻辑1)。在其它情况下,单个存储器单元(例如MLC、TLC、QLC或其它类型的多级存储器单元)可编程到大于两个支持状态中的一个且因此可存储超过一个信息位。在一些实例中,单个MLC存储器单元可编程到四个支持状态中的一个且因此可一次存储与四个逻辑值(例如,逻辑00、逻辑01、逻辑10或逻辑11)中的一个对应的两个信息位。在一些实例中,单个TLC存储器单元可编程到八个支持状态中的一个且因此可一次存储与八个逻辑值(例如,000、001、010、011、100、101、110或111)中的一个对应的三个信息位。在一些实例中,单个QLC存储器单元可编程到十六个支持状态中的一个且因此可一次存储与十六个逻辑值(例如,0000、0001、……、1111)中的一个对应的四个信息位。
在一些情况下,多级存储器单元(例如,MLC存储器单元、TLC存储器单元或QLC存储器单元)可物理上不同于SLC单元。例如,多级存储器单元可使用不同单元几何形状或可能使用不同材料制造。在一些情况下,多级存储器单元可与SLC单元物理上相同或类似,且存储器块中的其它电路系统(例如,控制器、感测放大器、驱动器)可配置成将存储器单元操作(例如,读取和编程)为SLC单元,或MLC单元,或TLC单元,或QLC等。
在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
在一些实例中,存储器系统110可以从主机系统105接收命令,例如写入命令。存储器系统110可确定是否使用数据迁移技术将数据写入存储器装置130。在一些情况下,存储器系统110可以选择TLC写入格式来写入数据。例如,存储器系统110可以选择TLC写入格式而不是选择QLC写入格式。存储器系统110可以基于所述选择而使用TLC写入格式将数据写入存储器装置130。在一些实例中,存储器装置130可配置成以TLC写入格式和QLC写入格式写入数据。存储器装置130可以是例如平板计算机、蜂窝电话、笔记本计算机等无线装置的实例,或其它类似装置或空间分布的存储器装置网络,其配置成接收信号并将数据(例如,相对较大的数据组块,例如64千兆字节的数据)从第一存储器装置(例如,旧装置)传送到第二存储器装置(例如,新装置)。在以TLC写入格式写入数据之后,存储器系统110可以将以TLC写入格式写入的数据迁移(例如,转换)为QLC写入格式。
存储器系统110可通过确定生产操作是否完成和/或确定可供写入的空间量是否超过阈值而确定是否使用(例如,来自数据写入格式技术的可能不同选项的)数据迁移技术。在一些实例中,存储器系统110可以通过确定数据是否是顺序数据和/或确定数据的大小是否超过阈值而确定是否使用数据迁移技术。在一些情况下,如果存储器系统110确定生产操作完成,第二存储器系统(例如,第二存储器装置)中可用的空间量等于或高于阈值,数据是顺序数据,和/或数据的大小超过阈值,则存储器系统110可以确定使用数据迁移技术。
图2示出根据本文公开的实例支持数据迁移技术的过程200。过程200的方面可由控制器以及其它实例组件实施。另外或替代地,过程200的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统110耦合的存储器中的固件)。例如,所述指令当由控制器(例如,存储器系统控制器115)执行时可使控制器执行过程200的操作。
在一些情况下,第一存储器系统(或基于某一程序或指令自主运行的存储器装置本身)的用户可以请求将数据从第一存储器系统传送到第二存储器系统。然而,要传送到第二存储器系统(例如,传送到第二存储器装置)的数据量可能超过阈值,从而增加编程时间并增加第二存储器系统(例如,第二存储器装置)的功耗,以及其它缺点。在其它实例中,由于大小限制(例如,高速缓存中的可用空间可能小于要传送的数据量),第二存储器系统的高速缓存可能无法存储传送的数据。在其它实例中,数据可能够以TLC写入格式直接写入一个存储器装置,例如第二存储器装置的TLC主存储区或单个主存储区,并且可能需要将数据写入另一个存储器装置(例如QLC主存储区)或写入同一存储器装置但采用QLC写入格式的技术。然而,写入QLC主存储区或以QLC写入格式写入的过程可能会以更长的持续时间(相对于以其它非QLC写入格式写入)执行写入操作,因为QLC各自包含四个层级。在此类情况下,可能以更高的精度执行四个层级内的电子放置以获得四个层级,由此增加编程时间以确保精确放置和增加控制。
代替直接写入QLC主存储区,或代替直接使用QLC写入格式写入,存储器系统可使用数据迁移技术(例如,第一数据迁移技术),所述技术使用三级(例如,TLC)写入格式写入数据,并在使用三级写入格式写入数据之后将三级写入格式转换为四级(例如,QLC)写入格式。除其它外,存储器系统可确定何时使用此数据迁移技术,如参考过程200所描述。数据迁移技术可允许存储器系统检测数据迁移请求,并将大量数据从第一存储器装置传送到第二存储器装置。
在205,可接收主机命令。例如,存储器系统(例如,存储器系统110)可以从主机系统(例如,主机系统105)和/或另一存储器系统接收与写入操作相关联的命令。在此类情况下,存储器系统110可以基于接收到命令而确定是否使用数据迁移技术将数据写入存储器装置(例如,存储器装置130-a、存储器装置130-b)。基于接收到命令而确定是否使用数据迁移技术将数据写入存储器装置可基于一或多个因素、条件、确定、其它方面或其任何组合。
在210,可以确定生产状态感知(PSA)操作是否完成。例如,存储器系统可基于接收到命令、基于一或多个标志、基于执行PSA操作中使用的空间量或基于存储器装置中可供写入的空间量或其任何组合以及其它因素来确定生产操作(也可称为PSA操作)是否完成。在此类情况下,确定是否使用数据迁移技术可以基于确定生产操作是否完成。
生产操作可以是其中主机系统可以向存储器装置(例如,存储器装置130)写入一或多个操作系统(OS)参数的操作以及其它方面的实例。例如,主机系统可以设置标志以指示操作是生产操作,并且存储器系统可以检测生产操作和/或基于所设置的标志确定生产操作的完成。在生产操作之后,可能会发生相关回流操作,且可刷新存储器装置(例如,断电/通电)。在一些实例中,针对生产操作写入存储器装置的数据可能相对小于在生产操作之外(例如,在数据迁移期间)写入存储器装置的数据。在一些情况下,生产操作可包含高温分布。在此类情况下,可以在生产操作之前将数据路由到SLC高速缓存区域,和/或可以在生产操作完成之后将数据重新路由回存储器装置。
如果在210处确定生产操作未完成或正在进行,则过程200可进行到230。例如,存储器系统可确定生产操作未完成。存储器系统可以通过继续到230而不是使用数据迁移技术来防止中断用于执行数据迁移的生产操作。在230,存储器系统可以基于确定生产操作未完成而使用第二数据迁移技术将数据写入存储器装置。例如,存储器系统可以基于确定生产操作未完成而避免使用数据迁移技术(例如,使用例如TLC的第一写入格式,然后将数据迁移为例如QLC的第二写入格式)将数据写入存储器装置。第二数据迁移技术例如可以是高速缓存算法的实施方案。
在一些情况下,如果在210处确定生产操作未完成或正在进行,则存储器系统可基于确定生产操作未完成而使用第三数据迁移技术将数据写入存储器装置。第三数据迁移技术可以包含例如使用微调设置的SLC模式的实施方案。SLC模式可以是使用SLC写入格式的实例。在此类实例中,SLC模式可以是将单个存储器单元(例如SLC存储器单元)编程为多个支持状态(例如,两个支持状态)中的一个并一次存储一个信息位(例如,逻辑0或逻辑1)的实例。在此类情况下,存储器系统可基于使用第三数据迁移技术而避免使用数据迁移技术(例如,使用例如TLC的第一写入格式,然后将数据迁移为例如QLC的第二写入格式)将数据写入存储器装置。在一些实例中,微调设置可涉及与生产操作和高温分布相关联的回流操作期间的数据保留。
如果在210处确定生产操作未完成或正在进行,则存储器系统可基于确定生产操作未完成而使用第四数据迁移技术将数据写入存储器装置。例如,第四数据迁移技术可以包含例如使用与第三数据迁移技术相关联的微调设置不同的微调设置的SLC模式的实施方案。微调设置可与存储器装置的高性能(例如,性能的提高)有关。例如,第三数据迁移技术可以在无需分配较大的专用高速缓存来支持数据迁移的情况下提高初始数据传送时的存储器系统性能以及存储器系统的总体效率。如果存储器装置包含NAND,则微调设置可以是NAND微调设置的实例。在将此微调设置用作写入数据的部分时,不同层级(例如,不同SLC层级)之间的设置容限(例如,阈值)可以更放宽,以允许相对于其它写入操作(包含也可能在没有微调设置的情况下写入数据时执行的操作)提高速度和效率。
如果在210处确定生产操作完成,则过程200可进行到215。例如,存储器系统可基于接收到命令、基于一或多个标志、基于执行PSA操作中使用的空间量或基于存储器装置中可供写入的空间量或其任何组合以及其它因素来确定生产操作完成。存储器系统可至少部分地基于确定生产操作完成而确定使用数据迁移技术。
在215,可以确定是否有可供写入的空间。例如,存储器系统可基于确定生产操作完成而确定(例如,存储器装置中)可用的空间量是否等于或大于(例如,超过)阈值。在此类情况下,在确定可用的空间量是否等于或大于阈值时,存储器系统可以检查存储器系统(包含但不限于存储器装置)的逻辑可用性。在一些情况下,确定是否使用数据迁移技术是基于确定可供写入的空间量是否等于或超过阈值。在一些情况下,可供写入的空间量可包含写入64千兆字节数据可用的空间。
如果可供写入的空间量小于阈值,则过程200可进行到230。例如,存储器系统可确定可供写入的空间量(例如,用于要传送的数据)低于阈值。在一些情况下,存储器系统可确定没有可供写入的空间量或极少可供写入的空间量(例如,存储器装置已满或接近满)。在230,存储器系统可以基于确定可用的空间量低于阈值而使用第二数据迁移技术(而不是使用第一数据迁移技术)将数据写入存储器装置。例如,存储器系统可基于确定可用的空间量低于阈值而避免使用第一数据迁移技术(例如,使用例如TLC的第一写入格式,然后将数据迁移为例如QLC的第二写入格式)将数据写入存储器装置。
在某一实例中,阈值可能约为不可用空间的30-40%。例如,如果存储器系统确定由于先前写入的信息,超过30-40%的存储器装置已满或正在使用(例如,不可用空间),则存储器系统可以使用第二数据迁移技术(而不是使用第一数据迁移技术)将数据写入存储器装置。在此类情况下,存储器系统可确定存储器装置包含的可供写入的空间小于60-70%。
在一些情况下,基于QLC空间到TLC空间的转换,QLC空间的量可小于TLC空间的量(例如,因为以QLC格式写入数据与以TLC格式写入数据相比可能需要相对较少的空间,这是由于QLC格式每单元最多包含四个位,而TLC格式每单元最多包含三个位)。在此类情况下,存储器系统可以在使用数据迁移技术写入数据之前确定要写入存储器装置中的可用的空间量。例如,存储器系统可确定第二存储器装置(例如,存储器装置130-b)上可供写入的空间量可小于第一存储器装置(例如,存储器装置130-a)上可供写入的空间量。存储器系统可以避免使用数据迁移技术将数据写入第二存储器装置,而是使用第二数据迁移技术将数据写入第二存储器装置。
如果可供写入的空间量等于或高于阈值,则过程200可进行到220。例如,存储器系统可确定可供写入的空间量等于或高于阈值。在一些实例中,存储器系统可确定存储器装置为空或确定存储器装置的一部分(例如,足以写入数据)为空。在此类情况下,存储器系统可以基于确定可用的空间量等于或超过阈值而确定使用数据迁移技术。
例如,如果存储器系统确定存储器装置的小于30-40%已满或正在使用(例如,不可用空间),则存储器系统可以使用数据迁移技术将数据写入存储器装置。在此类情况下,存储器系统可确定存储器装置包含的可供写入的空间超过60-70%。在其它实例中,存储器系统可确定第二存储器装置上可供写入的空间量等于第一存储器装置上写入的空间量。在此类情况下,存储器系统可以使用数据迁移技术将数据写入第二存储器装置。在一些情况下,由于缺少可用空间,全QLC高速缓存可能会降低存储器系统的性能,这可能导致存储器装置经历更长的编程时间和更长的处理时间。在此类情况下,存储器系统可以使用数据迁移技术将数据写入第二存储器装置(而不是全QLC高速缓存),从而提高存储器系统的性能。
在220,可确定数据是否是连续的。例如,存储器系统可确定数据是否是连续的(例如,数据是否是顺序的)。连续数据可以是位于等间隔时间增量处的数据的实例,其中一个接一个地接收每个数据段,并且在一些情况下,在等间隔时间增量处接收每个数据段。每个数据段可与时间戳相关联,使得连续数据的第一段可在连续数据的第二段之前接收,并且连续数据的第二段可在连续数据的第三段之前接收。在一些情况下,连续数据可以一次读取一段(例如,子集)数据,并且可以基于从先前数据段收集的信息来处理每段数据。
如果在220处确定数据是非连续的,则过程200可进行到230。例如,存储器系统可以基于确定可供写入的空间量等于或高于阈值而确定数据是非顺序数据。在一些实例中,存储器系统可以基于确定可供写入的空间量等于或高于阈值而确定数据的大小低于阈值。在此类情况下,存储器系统可以基于确定数据是非顺序数据并且确定数据的大小低于阈值而确定是否使用数据迁移技术。例如,存储器系统可以基于确定数据是非顺序的并且确定数据的大小低于阈值而确定使用第二迁移技术。
在230,存储器系统可基于确定数据是非顺序数据并且确定数据的大小低于阈值而使用第二数据迁移技术将数据写入存储器装置。例如,存储器系统可以基于确定数据是非顺序数据并且确定数据的大小低于阈值而避免使用数据迁移技术将数据写入存储器装置。
如果在220处确定数据是连续的,则过程200可进行到225。例如,存储器系统可以基于确定可供写入的空间量等于或高于阈值而确定数据是顺序数据。在一些实例中,存储器系统可以基于确定可供写入的空间量等于或高于阈值而确定数据的大小超过阈值。例如,数据可包含数据的最大大小,例如512千字节,其中数据可以是顺序的。在此类情况下,存储器系统可以基于确定数据是顺序数据并且确定数据的大小超过阈值而确定使用数据迁移技术。
在225,作为在210、215、220处执行的一或多个各种确定的结果,或其任何组合,可确定使用第一迁移技术(例如,数据迁移技术),其可包含使用第一写入格式(例如TLC),然后将数据迁移为第二写入格式(例如QLC)。例如,存储器系统可以基于确定PSA操作完成、确定空间可用以及确定数据是连续的而确定使用数据迁移技术。参考过程200描述的各种操作、确定、比较等可由一或多个组件执行,例如,存储器系统(例如,存储器系统110)的组件。在一些实例中,各种组件、处理器、电路系统、元件或模块(或其任何组合)可配置成执行这些各种操作。在其它实例中,参考过程200描述的各种操作、确定、比较等可由存储器系统控制器(例如,存储器系统控制器115)、本地存储器(例如,本地存储器120)或存储器装置(例如,存储器装置130-a或130-b)、其它选项或其任何组合中的一或多个执行。
图3示出根据本文公开的实例支持数据迁移技术的过程300。过程300的各方面可由控制器以及其它组件实施。另外或替代地,过程300的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统110耦合的存储器中的固件)。例如,所述指令在由控制器(例如,存储器系统控制器115)执行时可使控制器执行过程300的操作。
过程300可支持实施数据迁移技术,如参考过程200和图2所描述的。在305,可以确定使用第一迁移技术(例如,数据迁移技术)。例如,存储器系统(例如,存储器系统110)可以确定使用数据迁移技术将数据写入存储器装置(例如,存储器装置130)。
在310,可以完成第一格式(例如,三级写入格式)与第二格式(例如,四级写入格式)之间的选择。例如存储器系统可以基于确定使用第一迁移技术和基于存储器系统和/或其某些组件配置成能够以多种格式写入数据(例如,能够基于一或多个条件、计算、确定和/或测量以多种格式中的一种写入数据)而在使用第一格式与第二格式将数据写入存储器装置之间进行选择。在一些情况下,存储器系统可基于一或多个操作(例如,在210、215和/或220处执行的操作)确定使用第一格式或第二格式来写入数据。例如,存储器系统可以选择第一格式而不是第二格式来写入数据。存储器装置可配置成基于从主机系统(例如,主机系统105)接收到的写入命令而以第一格式和第二格式写入数据。
在315,可以使用第一格式写入数据。例如,存储器系统可以基于选择第一格式而使用第一格式(其可以是TLC格式)将数据写入存储器装置。
在一些情况下,存储器系统可将数据写入存储器装置的主存储区。存储器装置的主存储区可以是TLC高速缓存的实例。与其它高速缓存相比,TLC高速缓存可包含增加的存储空间量。例如,TLC高速缓存的大小可以是动态的,并且可以基于传入数据的大小进行调整,从而允许以第一格式将数据写入TLC高速缓存(与数据打算写入大小可能不足以容纳此类写入的另一存储位置,例如另一高速缓存相反)。在其它系统中,其它高速缓存的大小可以是静态的,从而防止以第一格式写入其它高速缓存的传入数据量增加。
在一些实例中,存储器系统可以使用微调设置(例如,如果存储器装置包含NAND,则使用NAND微调设置)以及使用第一格式写入数据的页映射。在一些情况下,微调设置可与数据保留有关,并且如果使用微调设置实施相对较快的TLC写入过程(例如,写入过程可以是特殊的TLC写入操作,例如基于微调设置的写入操作,其可比其它TLC写入操作相对更快且更高效),且将数据相对较快地从一种格式(例如,TLC格式)迁移为第二格式(例如,QLC格式),则与其它写入过程相比(例如使用第一格式(例如,TLC格式)的其它写入过程和/或其它实例),基于使用第一格式(例如,TLC格式)的微调设置写入的此类数据的数据保留可以放宽。在一些情况下,存储器系统可相对于阈值设置存储器装置的至少两个存储器状态之间的间隔。在此类情况下,基于微调设置使用第一格式写入数据可以基于确定至少两个存储器状态之间的间隔满足阈值,所述阈值可能相对较低(例如,相比使用相同写入格式和/或不同写入格式的替代写入操作,在使用微调设置和本文描述的增强技术进行写入时不同状态之间的阈值更低)。换句话说,在使用此微调设置作为以第一格式写入数据的一部分时,不同层级(例如,不同TLC层级)之间的设置容限(例如,阈值)可以更放宽,以允许相对于其它写入操作(包含也可能在没有微调设置的情况下以第一格式写入数据时执行的操作)提高速度和效率。
可以是NAND装置的存储器装置(例如,存储器装置130)可以接收指示可以使用第一格式写入数据的命令(例如,所述命令指示TLC写入)。在此类情况下,存储器装置可配置成将单元层级设置为TLC,并且存储器装置的块(例如,块170)可以例如基于命令序列而被视为TLC。TLC写入可以在减少处理和写入时间的情况下操作(相对于其它技术,例如QLC写入),从而提高存储器系统的总体效率和操作。使用第一格式将数据写入存储器装置可以是减少处理时间并提高存储器系统操作的效率(相对于其它技术,例如使用另一格式(例如,QLC写入格式)将数据写入存储器装置)的中间步骤的实例。
在320,可以验证使用第一格式完成写入。例如,除其它因素外,存储器系统可以例如基于在将数据写入存储器装置之后确定写入格式的类型或者基于接收到指示使用第一格式写入数据的命令而验证使用第一格式完成写入。在此类情况下,存储器系统可验证以第一格式写入成功(例如,完成)。
在325,在验证使用第一格式完成写入之后,可以将数据从第一格式迁移(例如,转换、重写)为第二格式。例如,存储器系统可以将数据从第一格式(其可以是TLC格式)迁移为第二格式(其可以是QLC格式)。在此类情况下,存储器系统可以基于写入数据而将数据从第一格式转换为第二格式。存储器系统可以确定和/或选择从第一格式迁移为第二格式的时间。例如,存储器系统可基于写入数据(例如,在写入数据之后)而识别空闲时段。空闲时段可以是后台操作时间或未另行指定以执行一或多个其它命令和/或操作的时间的实例。在此类情况下,在以第一格式写入数据之后,存储器系统可以确定将数据从第一格式转换为第二格式的空闲时间(例如,通过分析执行其它命令和/或其它操作的时间并从多个空闲时间中选择一个)。在空闲时间期间,存储器系统可将第一格式的数据(例如,包含TLC数据,例如以TLC格式写入的数据)迁移为第二格式(例如,包含QLC数据,例如以QLC格式写入的数据)。
在一些实例中,可以例如基于高速缓存策略(例如一或多个TLC高速缓存策略)以更高的速度传送数据。在此类情况下,可以基于大数据传送作为单次事件来增强数据迁移技术(例如,可以是特殊的TLC写入操作,例如基于微调的写入操作,其可比其它TLC写入操作相对更快且更高效)。例如,大数据传送之后的数据传送可包含小于初始数据传送大小的数据大小。数据传送的速度可能受到例如温度和数据保留率之间的可靠性约束的限制。TLC高速缓存策略可以使用存储器装置容限来增加数据迁移技术期间的写入时间(例如,使用第一格式写入数据)。在此类情况下,可以增强数据保留,同时保持数据的完整性。装置容限(例如,存储器装置的至少两个存储器状态之间的间隔)可以减小,从而增加存储器系统的性能时间、简化数据传送并提高数据传送的效率。
图4示出根据本文公开的实例支持数据迁移技术的存储器系统405的框图400。存储器系统405可以是如参考图1到3描述的存储器系统的方面的实例。存储器系统405可包含命令接收器410、写入组件415、数据转换器420、选择组件425、数据迁移组件430和数据组件435。这些组件中的每一个可以直接或间接地彼此通信(例如,经由一或多个总线)。
命令接收器410可以从主机装置接收与写入操作相关联的命令。命令接收器410可以是存储器系统控制器、处理器或配置成接收命令(例如,与写入操作相关联的命令)的任何其它组件的实例。
写入组件415可基于选择三级写入格式而使用三级写入格式将数据写入存储器装置。在一些实例中,写入组件415可以基于确定可用的空间量低于阈值而使用第二数据迁移技术将数据写入存储器装置。在一些实例中,写入组件415可以基于确定生产操作未完成而使用第二数据迁移技术将数据写入存储器装置。
在一些实例中,写入组件415可确定存储器装置的至少两个存储器状态之间的间隔低于阈值,其中写入数据是基于确定至少两个存储器状态之间的间隔低于阈值。
写入组件415可以是中央处理单元(CPU)、处理器或配置成使用所选格式和/或数据迁移技术(例如,三级写入格式和/或第二数据迁移技术)写入数据的任何其它组件的实例。
数据转换器420可以基于写入数据而将数据从三级写入格式转换为四级写入格式。在一些实例中,数据转换器420可以基于写入数据而识别空闲时段,其中在空闲时段期间执行数据转换。
数据转换器420可以是CPU、处理器或配置成将数据从第一格式转换为第二格式(例如,将数据从三级写入格式迁移为四级写入格式)的任何其它组件的实例。
选择组件425可以至少部分地基于确定使用数据迁移技术而选择三级写入格式而不是四级写入格式来写入数据。在一些实例中,选择组件425可以确定存储器装置可以三级写入格式和四级写入格式写入数据,其中选择三级写入格式而不是四级写入格式是基于所述确定。
选择组件425可以是选择器、开关、晶体管、处理器或配置成在两种或多种写入格式之间进行选择和/或确定存储器装置可以三级写入格式和四级写入格式写入数据的任何其它组件的实例。
数据迁移组件430可以基于接收到命令而确定是否使用数据迁移技术将数据写入存储器装置。在一些实例中,数据迁移组件430可以基于确定生产操作完成而确定可供写入的空间量是否超过阈值,其中确定是否使用数据迁移技术是基于确定可供写入的空间量是否超过阈值。
在一些实例中,数据迁移组件430可以确定可供写入的空间量低于阈值。在一些实例中,数据迁移组件430可以确定可供写入的空间量等于或高于阈值,其中确定使用数据迁移技术是基于确定可供写入的空间量等于或超过阈值。
在一些实例中,数据迁移组件430可以基于接收到命令而确定生产操作是否完成,其中确定是否使用数据迁移技术是基于确定生产操作是否完成。在一些实例中,数据迁移组件430可确定生产操作未完成。在一些实例中,数据迁移组件430可确定生产操作完成,其中确定使用数据迁移技术是基于确定生产操作完成。
数据迁移组件430可以是比较器、处理器或配置成确定是否使用数据迁移技术将数据写入存储器装置(例如确定生产操作是否完成、确定空间是否可用,和/或确定数据是否是连续的)的任何其它组件的实例。
数据组件435可以基于确定可供写入的空间量高于阈值而确定数据是顺序数据。在一些实例中,数据组件435可以基于确定可供写入的空间量高于阈值而确定数据的大小超过阈值,其中确定使用数据迁移技术是基于确定数据是顺序数据以及确定数据的大小超过阈值。
在一些实例中,数据组件435可以基于确定可供写入的空间量高于阈值而确定数据是非顺序数据。在一些实例中,数据组件435可以基于确定可供写入的空间量高于阈值而确定数据的大小低于阈值,其中确定是否使用数据迁移技术是基于确定数据是非顺序数据以及确定数据的大小低于阈值。
数据组件435可以是比较器、处理器或配置成确定数据类型(例如,确定数据是顺序数据还是非顺序数据和/或确定数据的大小)的任何其它组件的实例。
图5示出根据如本文公开的实例的说明支持数据迁移技术的一或多种方法500的流程图。方法500的操作可以由如本文描述的存储器系统或其组件来实施。例如,方法500的操作可以由如参考图4描述的存储器系统来执行。在一些实例中,存储器系统可执行指令集以控制存储器系统的功能元件来执行所描述的功能。另外或替代地,存储器系统可使用专用硬件执行所描述的功能的方面。
方法500的方面可由控制器以及其它组件实施。另外或替代地,方法500的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统110耦合的存储器中的固件)。例如,所述指令在由控制器(例如,存储器系统控制器115)执行时可使控制器执行方法500的操作。
在505,可接收命令。例如,存储器系统可从主机装置接收与写入操作相关联的命令。505的操作可以根据本文描述的方法来执行。在一些实例中,505的操作的方面可以由参考图4描述的命令接收器来执行。
在510,可确定是否使用数据迁移技术。例如,存储器系统可基于接收到命令而确定是否使用数据迁移技术将数据写入存储器装置。510的操作可以根据本文描述的方法来执行。在一些实例中,510的操作的方面可以由参考图4描述的数据迁移组件来执行。
在515,可选择三级写入格式。例如,存储器系统可至少部分地基于确定使用数据迁移技术而选择三级写入格式而不是四级写入格式来写入数据。515的操作可以根据本文描述的方法来执行。在一些实例中,515的操作的方面可以由参考图4描述的选择组件来执行。
在520,可写入数据。例如,存储器系统可基于选择三级写入格式而使用三级写入格式将数据写入存储器装置。520的操作可以根据本文描述的方法来执行。在一些实例中,520的操作的方面可以由参考图4描述的写入组件来执行。
在525,可转换数据。例如,存储器系统可基于写入数据而将数据从三级写入格式转换为四级写入格式。525的操作可以根据本文描述的方法来执行。在一些实例中,525的操作的方面可以由参考图4描述的数据转换器来执行。
在一些实例中,如本文描述的设备可以执行一或多种方法,例如方法500。所述设备可以包含用于进行以下项的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):从主机装置接收与写入操作相关联的命令;基于接收到命令而确定是否使用数据迁移技术将数据写入存储器装置;至少部分地基于确定使用数据迁移技术而选择三级写入格式而不是四级写入格式来写入数据;基于选择三级写入格式而使用三级写入格式将数据写入存储器装置;以及基于写入数据而将数据从三级写入格式转换为四级写入格式。
方法500和本文描述的设备的一些实例可进一步包含用于进行以下项的操作、特征、构件或指令:确定存储器装置可以三级写入格式和四级写入格式写入数据,其中选择三级写入格式而不是四级写入格式可基于所述确定。
方法500和本文描述的设备的一些实例可进一步包含用于进行以下项的操作、特征、构件或指令:基于确定生产操作可能完成来确定可供写入的空间量是否超过阈值,其中确定是否使用数据迁移技术可基于确定可供写入的空间量是否超过阈值。
在方法500和本文描述的设备的一些实例中,确定可用的空间量是否超过阈值可进一步包含用于确定可供写入的空间量可能低于阈值的操作、特征、构件或指令,方法500和本文描述的设备可进一步包含用于进行以下项的操作、特征、构件或指令:基于确定可用的空间量低于阈值而使用第二数据迁移技术将数据写入存储器装置。
在方法500和本文描述的设备的一些实例中,确定可用的空间量是否超过阈值可进一步包含用于进行以下项的操作、特征、构件或指令:确定可供写入的空间量可能等于或高于阈值,其中确定使用数据迁移技术可基于确定可用的空间量可能等于或超过阈值。
方法500和本文描述的设备的一些实例可进一步包含用于进行以下项的操作、特征、构件或指令:基于确定可供写入的空间量可能高于阈值而确定数据可能是顺序数据;以及基于确定可供写入的空间量可能高于阈值而确定数据的大小超过阈值,其中确定使用数据迁移技术可基于确定数据可能是顺序数据以及确定数据的大小超过阈值。
方法500和本文描述的设备的一些实例可进一步包含用于进行以下项的操作、特征、构件或指令:基于确定可供写入的空间量可能高于阈值而确定数据是可能非顺序数据;以及基于确定可供写入的空间量可能高于阈值而确定数据的大小可能低于阈值,其中确定是否使用数据迁移技术可基于确定数据可能是非顺序数据以及确定数据的大小可能低于阈值。
方法500和本文描述的设备的一些实例可进一步包含用于进行以下项的操作、特征、构件或指令:基于接收到命令而确定生产操作是否可能完成,其中确定是否使用数据迁移技术可基于确定生产操作是否可能完成。
在方法500和本文描述的设备的一些实例中,确定生产操作是否可能完成可进一步包含用于确定生产操作可能未完成的操作、特征、构件或指令,方法500和本文描述的设备可进一步包含用于进行以下项的操作、特征、构件或指令:基于确定生产操作未完成而使用第二数据迁移技术将数据写入存储器装置。
在方法500和本文描述的设备的一些实例中,确定生产操作是否可能完成可进一步包含用于进行以下项的操作、特征、构件或指令:确定生产操作可能完成,其中确定使用数据迁移技术可基于确定生产操作可能完成。
方法500和本文描述的设备的一些实例可进一步包含用于进行以下项的操作、特征、构件或指令:基于写入数据而识别空闲时段,其中转换数据可在空闲时段期间执行。
方法500和本文描述的设备的一些实例可进一步包含用于进行以下项的操作、特征、构件或指令:确定存储器装置的至少两个存储器状态之间的间隔可能低于阈值,其中写入数据可基于确定至少两个存储器状态之间的间隔可能低于阈值。
应注意,本文描述的方法是可能的实施方案,且操作和步骤可以重新排列或以其它方式加以修改,且其它实施方案是可能的。此外,可以组合来自方法中的两个或更多个的部分。
描述一种设备。所述设备可以包含存储器装置和控制电路,所述控制电路与所述存储器装置耦合且配置成使所述设备进行以下操作:从主机装置接收与写入操作相关联的命令;基于接收到命令而确定是否使用数据迁移技术将数据写入存储器装置;至少部分地基于确定使用数据迁移技术而选择三级写入格式而不是四级写入格式来写入数据;基于选择三级写入格式而使用三级写入格式将数据写入存储器装置;以及基于写入数据而将数据从三级写入格式转换为四级写入格式。
一些实例可进一步包含确定存储器装置可以三级写入格式和四级写入格式写入数据,其中选择三级写入格式而不是四级写入格式可基于所述确定。
一些实例可进一步包含基于确定生产操作可能完成来确定可供写入的空间量是否超过阈值,其中确定是否使用数据迁移技术可基于确定可供写入的空间量是否超过阈值。
一些实例可进一步包含确定可供写入的空间量可能低于阈值,控制电路与存储器装置耦合且配置成使所述设备进行以下操作:基于确定可用的空间量低于阈值而使用第二数据迁移技术将数据写入存储器装置。
一些实例可进一步包含确定可供写入的空间量可能等于或高于阈值,其中确定使用数据迁移技术可基于确定可用的空间量可能等于或超过阈值。
一些实例可进一步包含基于确定可供写入的空间量可能高于阈值而确定数据可能是顺序数据;以及基于确定可供写入的空间量可能高于阈值而确定数据的大小超过阈值,其中确定使用数据迁移技术可基于确定数据可能是顺序数据以及确定数据的大小超过阈值。
一些实例可进一步包含基于确定可供写入的空间量可能高于阈值而确定数据是可能非顺序数据;以及基于确定可供写入的空间量可能高于阈值而确定数据的大小可能低于阈值,其中确定是否使用数据迁移技术可基于确定数据可能是非顺序数据以及确定数据的大小可能低于阈值。
一些实例可进一步包含基于接收到命令而确定生产操作是否可能完成,其中确定是否使用数据迁移技术可基于确定生产操作是否可能完成。
一些实例可进一步包含确定生产操作可能未完成,控制电路与存储器装置耦合且配置成使所述设备进行以下操作:至少部分地基于确定生产操作未完成而使用第二数据迁移技术将数据写入存储器装置。
一些实例可进一步包含确定生产操作可能完成,其中确定使用数据迁移技术可基于确定生产操作可能完成。
一些实例可进一步包含基于写入数据而识别空闲时段,其中转换数据可在空闲时段期间执行。
一些实例可进一步包含确定存储器装置的至少两个存储器状态之间的间隔可能低于阈值,其中写入数据可基于确定至少两个存储器状态之间的间隔可能低于阈值。
可使用多种不同技术和技艺中的任一个来表示本文描述的信息和信号。例如,可以通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个描述中可能引用的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明为单个信号;然而,所属领域的一般技术人员应理解,信号可表示信号的总线,其中总线可具有各种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它情况下,衬底可以是绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可以是导电的,且可包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型的(即,大部分载流子是电子),那么FET可被称为n型FET。如果沟道是p型的(即,大部分载流子是空穴),那么FET可被称为p型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可导致沟道变得导电。当向晶体管栅极施加大于或等于晶体管的阈值电压的电压时,晶体管可“接通”或“激活”。当向晶体管栅极施加小于晶体管的阈值电压的电压时,晶体管可“断开”或“去激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文所用的术语“示例性”意指“充当实例、例子或说明”,而不是“优选”或“优于其它实例”。详细描述包含具体细节,以提供对所描述技术的理解。然而,可以在没有这些具特定细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
在附图中,类似组件或特征可以具有相同的参考标记。另外,可通过在参考标记之后跟着短划线及在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
本文描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件来实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体予以传输。其它实例和实施方案在本公开和所附权利要求书的范围内。例如,归因于软件的性质,本文中所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
例如,可用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散栅极或晶体管逻辑、离散硬件组件或其被设计成执行本文所描述的功能的任何组合来实施或执行结合本文中的本公开而描述的各种说明性块和模块。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可以实施为计算装置的组合(例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一或多个微处理器,或任何其它此类配置)。
如本文中所使用,包含在权利要求书中,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传递到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可以是可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、压缩光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用的,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光以光学方式复制数据。这些的组合也包含在计算机可读媒体的范围内。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (25)
1.一种设备,其包括:
存储器装置;以及
控制电路,其与所述存储器装置耦合且配置成使所述设备进行以下操作:
从主机装置接收与写入操作相关联的命令;
至少部分地基于接收到所述命令而确定是否使用数据迁移技术将数据写入所述存储器装置;
至少部分地基于确定使用所述数据迁移技术而选择三级写入格式而不是四级写入格式来写入所述数据;
至少部分地基于选择所述三级写入格式而使用所述三级写入格式将所述数据写入所述存储器装置;以及
至少部分地基于写入所述数据而将所述数据从所述三级写入格式转换为所述四级写入格式。
2.根据权利要求1所述的设备,其中所述控制电路进一步配置成使所述设备进行以下操作:
确定所述存储器装置能以所述三级写入格式和所述四级写入格式写入所述数据,其中选择所述三级写入格式而不是所述四级写入格式是至少部分地基于确定所述存储器装置能以所述三级写入格式和所述四级写入格式写入所述数据。
3.根据权利要求1所述的设备,其中所述控制电路进一步配置成使所述设备进行以下操作:
至少部分地基于确定生产操作完成来确定可供写入的空间量是否超过阈值,其中确定是否使用所述数据迁移技术是至少部分地基于确定可供写入的所述空间量是否超过所述阈值。
4.根据权利要求3所述的设备,其中为了确定可用的所述空间量是否超过所述阈值,所述控制电路配置成使所述设备进行以下操作:
确定可供写入的所述空间量低于所述阈值,其中所述控制电路进一步配置成使所述设备进行以下操作:
至少部分地基于确定可用的所述空间量低于所述阈值而使用第二数据迁移技术将所述数据写入所述存储器装置。
5.根据权利要求3所述的设备,其中为了确定可用的所述空间量是否超过所述阈值,所述控制电路配置成使所述设备进行以下操作:
确定可供写入的所述空间量等于或高于所述阈值,其中确定使用所述数据迁移技术是至少部分地基于确定可用的所述空间量等于或超过所述阈值。
6.根据权利要求5所述的设备,其中所述控制电路进一步配置成使所述设备进行以下操作:
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据是顺序数据;以及
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据的大小超过阈值,其中确定使用所述数据迁移技术是至少部分地基于确定所述数据是顺序数据以及确定所述数据的所述大小超过所述阈值。
7.根据权利要求5所述的设备,其中所述控制电路进一步配置成使所述设备进行以下操作:
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据是非顺序数据;以及
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据的大小低于阈值,其中确定是否使用所述数据迁移技术是至少部分地基于确定所述数据是非顺序数据以及确定所述数据的所述大小低于所述阈值。
8.根据权利要求1所述的设备,其中所述控制电路进一步配置成使所述设备进行以下操作:
至少部分地基于接收到所述命令而确定生产操作是否完成,其中确定是否使用所述数据迁移技术是至少部分地基于确定所述生产操作是否完成。
9.根据权利要求8所述的设备,其中为了确定所述生产操作是否完成,所述控制电路配置成使所述设备进行以下操作:
确定所述生产操作未完成,其中所述控制电路进一步配置成使所述设备进行以下操作:
至少部分地基于确定所述生产操作未完成而使用第二数据迁移技术将所述数据写入所述存储器装置。
10.根据权利要求8所述的设备,其中为了确定所述生产操作是否完成,所述控制电路配置成使所述设备进行以下操作:
确定所述生产操作完成,其中确定使用所述数据迁移技术是至少部分地基于确定所述生产操作完成。
11.根据权利要求1所述的设备,其中所述控制电路进一步配置成使所述设备进行以下操作:
至少部分地基于写入所述数据而识别空闲时段,其中转换所述数据是在所述空闲时段期间执行的。
12.根据权利要求1所述的设备,其中所述控制电路进一步配置成使所述设备进行以下操作:
确定所述存储器装置的至少两个存储器状态之间的间隔低于阈值,其中写入所述数据是至少部分地基于确定所述至少两个存储器状态之间的所述间隔低于所述阈值。
13.一种非暂时性计算机可读媒体,其存储包括指令的代码,所述指令在由电子装置的处理器执行时使所述电子装置进行以下操作:
从主机装置接收与写入操作相关联的命令;
至少部分地基于接收到所述命令而确定是否使用数据迁移技术将数据写入存储器装置;
至少部分地基于确定使用所述数据迁移技术而选择三级写入格式而不是四级写入格式来写入所述数据;
至少部分地基于选择所述三级写入格式而使用所述三级写入格式将所述数据写入所述存储器装置;以及
至少部分地基于写入所述数据而将所述数据从所述三级写入格式转换为所述四级写入格式。
14.根据权利要求13所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
确定所述存储器装置能以所述三级写入格式和所述四级写入格式写入所述数据,其中选择所述三级写入格式而不是所述四级写入格式是至少部分地基于确定所述存储器装置能以所述三级写入格式和所述四级写入格式写入所述数据。
15.根据权利要求13所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于确定生产操作完成来确定可供写入的空间量是否超过阈值,其中确定是否使用所述数据迁移技术是至少部分地基于确定可供写入的所述空间量是否超过所述阈值。
16.根据权利要求15所述的非暂时性计算机可读媒体,其中在由所述电子装置的所述处理器执行时使所述电子装置确定可用的所述空间量是否超过所述阈值的所述指令包括在由所述电子装置的所述处理器执行时使所述电子装置进行以下操作的指令:
确定可供写入的所述空间量低于所述阈值,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于确定可用的所述空间量低于所述阈值而使用第二数据迁移技术将所述数据写入所述存储器装置。
17.根据权利要求15所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
确定可供写入的所述空间量等于或高于所述阈值,其中确定使用所述数据迁移技术是至少部分地基于确定可用的所述空间量等于或超过所述阈值。
18.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据是顺序数据;以及
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据的大小超过阈值,其中确定使用所述数据迁移技术是至少部分地基于确定所述数据是顺序数据以及确定所述数据的所述大小超过所述阈值。
19.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据是非顺序数据;以及
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据的大小低于阈值,其中确定是否使用所述数据迁移技术是至少部分地基于确定所述数据是非顺序数据以及确定所述数据的所述大小低于所述阈值。
20.一种方法,其包括:
从主机装置接收与写入操作相关联的命令;
至少部分地基于接收到所述命令而确定是否使用数据迁移技术将数据写入存储器装置;
至少部分地基于确定使用所述数据迁移技术而选择三级写入格式而不是四级写入格式来写入所述数据;
至少部分地基于选择所述三级写入格式而使用所述三级写入格式将所述数据写入所述存储器装置;以及
至少部分地基于写入所述数据而将所述数据从所述三级写入格式转换为所述四级写入格式。
21.根据权利要求20所述的方法,其进一步包括:
确定所述存储器装置能以所述三级写入格式和所述四级写入格式写入所述数据,其中选择所述三级写入格式而不是所述四级写入格式是至少部分地基于确定所述存储器装置能以所述三级写入格式和所述四级写入格式写入所述数据。
22.根据权利要求20所述的方法,其进一步包括:
至少部分地基于确定生产操作完成来确定可供写入的空间量是否超过阈值,其中确定是否使用所述数据迁移技术是至少部分地基于确定可供写入的所述空间量是否超过所述阈值。
23.根据权利要求22所述的方法,其中确定可用的所述空间量是否超过所述阈值进一步包括:
确定可供写入的所述空间量低于所述阈值,所述方法进一步包括:
至少部分地基于确定可用的所述空间量低于所述阈值而使用第二数据迁移技术将所述数据写入所述存储器装置。
24.根据权利要求22所述的方法,其中确定可用的所述空间量是否超过所述阈值进一步包括:
确定可供写入的所述空间量等于或高于所述阈值,其中确定使用所述数据迁移技术是至少部分地基于确定可用的所述空间量等于或超过所述阈值。
25.根据权利要求24所述的方法,其进一步包括:
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据是顺序数据;以及
至少部分地基于确定可供写入的所述空间量高于所述阈值而确定所述数据的大小超过阈值,其中确定使用所述数据迁移技术是至少部分地基于确定所述数据是顺序数据以及确定所述数据的所述大小超过所述阈值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163139418P | 2021-01-20 | 2021-01-20 | |
US63/139,418 | 2021-01-20 | ||
US17/647,943 US20220229574A1 (en) | 2021-01-20 | 2022-01-13 | Data migration techniques |
US17/647,943 | 2022-01-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816236A true CN114816236A (zh) | 2022-07-29 |
Family
ID=82406372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210053775.XA Pending CN114816236A (zh) | 2021-01-20 | 2022-01-18 | 数据迁移技术 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220229574A1 (zh) |
CN (1) | CN114816236A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12050567B2 (en) * | 2021-08-10 | 2024-07-30 | Palantir Technologies Inc. | Framework for live data migration |
KR20230106456A (ko) * | 2022-01-06 | 2023-07-13 | 삼성전자주식회사 | 저장 장치 및 이의 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138595A1 (en) * | 2008-12-03 | 2010-06-03 | Samsung Electronics Co., Ltd. | Semiconductor device comprising flash memory and address mapping method |
US20170337969A1 (en) * | 2016-05-20 | 2017-11-23 | Kabushiki Kaisha Toshiba | Semiconductor memory device and memory system |
WO2020248206A1 (zh) * | 2019-06-14 | 2020-12-17 | 华为技术有限公司 | 一种硬盘控制方法及相关设备 |
US20200409855A1 (en) * | 2019-06-28 | 2020-12-31 | Micron Technology, Inc. | Management of Programming Mode Transitions to Accommodate a Constant Size of Data Transfer between a Host System and a Memory Sub-System |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220069543A (ko) * | 2020-11-20 | 2022-05-27 | 삼성전자주식회사 | 스토리지 장치, 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템 |
-
2022
- 2022-01-13 US US17/647,943 patent/US20220229574A1/en active Pending
- 2022-01-18 CN CN202210053775.XA patent/CN114816236A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138595A1 (en) * | 2008-12-03 | 2010-06-03 | Samsung Electronics Co., Ltd. | Semiconductor device comprising flash memory and address mapping method |
US20170337969A1 (en) * | 2016-05-20 | 2017-11-23 | Kabushiki Kaisha Toshiba | Semiconductor memory device and memory system |
WO2020248206A1 (zh) * | 2019-06-14 | 2020-12-17 | 华为技术有限公司 | 一种硬盘控制方法及相关设备 |
US20200409855A1 (en) * | 2019-06-28 | 2020-12-31 | Micron Technology, Inc. | Management of Programming Mode Transitions to Accommodate a Constant Size of Data Transfer between a Host System and a Memory Sub-System |
Also Published As
Publication number | Publication date |
---|---|
US20220229574A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240272820A1 (en) | Data relocation operation techniques | |
US11709617B2 (en) | Multi-stage memory device performance notification | |
CN114400034A (zh) | 存储器装置的降压操作 | |
US20220229574A1 (en) | Data migration techniques | |
CN116364136A (zh) | 用于在保持损失后增强系统性能的技术 | |
CN115374025A (zh) | 可配置刷新操作速度 | |
CN115705887A (zh) | 存储器操作完成标记 | |
CN115729848A (zh) | 直接逻辑到物理地址映射 | |
CN115705889A (zh) | 功率管理技术 | |
CN115248662A (zh) | 动态超级块 | |
CN115457994A (zh) | 动态功率控制 | |
US20240241663A1 (en) | Suspension during a multi-plane write procedure | |
CN114627916A (zh) | 用于存储器装置的状态信息检索 | |
CN114550789A (zh) | 使用信令进行状态检查 | |
CN114639418A (zh) | 取消映射操作技术 | |
US11899938B2 (en) | Techniques to reduce write amplification | |
US11847468B2 (en) | Data defragmentation for a system boot procedure having random indexes indicating a relationship between sequential logical addresses and random logical addresses | |
CN116301581A (zh) | 写入加速器缓冲和休眠 | |
CN115705915A (zh) | 用于存储器系统的动态错误控制配置 | |
CN114546255A (zh) | 选择性垃圾收集 | |
CN114077399A (zh) | 检测页面错误通信量 | |
CN114627915A (zh) | 使用芯片启用引脚进行状态检查 | |
CN113870933A (zh) | 数据编程技术 | |
CN115605850A (zh) | 用于逻辑到物理表压缩的数据组织 | |
US20240281144A1 (en) | Techniques for improving host write performance during data folding |
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 |