CN117193630A - 使用写节流在存储装置中写数据的方法及存储装置 - Google Patents
使用写节流在存储装置中写数据的方法及存储装置 Download PDFInfo
- Publication number
- CN117193630A CN117193630A CN202310660747.9A CN202310660747A CN117193630A CN 117193630 A CN117193630 A CN 117193630A CN 202310660747 A CN202310660747 A CN 202310660747A CN 117193630 A CN117193630 A CN 117193630A
- Authority
- CN
- China
- Prior art keywords
- write
- data blocks
- write data
- storage
- storage areas
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 304
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 6
- 230000015654 memory Effects 0.000 claims description 132
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 22
- 239000000872 buffer Substances 0.000 description 16
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 206010067959 refractory cytopenia with multilineage dysplasia Diseases 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer 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/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/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
-
- 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/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/061—Improving I/O performance
-
- 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/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/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/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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
提供了一种在存储装置中写数据的方法和存储装置。该方法包括:从主机装置接收写数据;监视存储装置的工作温度;基于写数据生成分别与存储装置的多个存储区域相对应的多个写数据块;以及基于工作温度,执行写节流操作,写节流操作包括通过将写命令传输到多个存储区域中的P个存储区域来对多个写数据块中的P个写数据块执行写操作,以及通过跳过将写命令传输到多个存储区域中的X个存储区域的操作来跳过对多个写数据块中的X个写数据块的写操作。P和X为自然数。
Description
相关申请的交叉引用
本申请要求韩国知识产权局在2022年6月8日提交的韩国专利申请No.10-2022-0069419的优先权,其公开内容通过引用整体结合于此。
技术领域
示例实施例总体上涉及半导体集成电路,并且更具体地涉及使用写节流(writethrottling)在存储装置中写数据的方法,以及执行写数据的方法的存储装置。
背景技术
一种存储系统包括主机装置和存储装置,并且存储装置可以是包括存储器控制器和存储器装置的存储器系统或者仅包括存储器装置的存储器系统。在存储系统中,主机装置和存储装置通过例如通用闪存(UFS)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、嵌入式多媒体卡(eMMC)等的各种接口标准彼此连接。近来,存储系统包括具有高性能的多个存储装置,并且接口规范正在增加。另外,当在存储系统中写数据时,工作温度增加并且功耗增加,这影响整个存储系统。因此,需要用于保护存储系统的方法。
发明内容
至少一个示例实施例提供了一种在存储装置中写数据的方法,该方法能够使用写节流来有效地执行数据写操作,而写性能几乎没有下降。
至少一个示例实施例提供了一种执行写数据的方法的存储装置。
根据示例实施例,一种在存储装置中写数据的方法,包括:从主机装置接收写数据;监视存储装置的工作温度;基于写数据生成分别与存储装置的多个存储区域相对应的多个写数据块;以及基于工作温度,执行写节流操作,写节流操作包括通过将写命令传输到多个存储区域中的P个存储区域来对多个写数据块中的P个写数据块执行写操作,以及通过跳过将写命令传输到多个存储区域中的X个存储区域的操作来跳过对多个写数据块中的X个写数据块的写操作。P和X为自然数。
根据示例实施例,一种存储装置包括非易失性存储器和存储控制器,所述存储控制器被配置为:从主机装置接收写数据;监视存储装置的工作温度;基于写数据生成分别与非易失性存储器的多个存储区域相对应的多个写数据块;以及基于工作温度,通过将写命令传输到多个存储区域中的P个存储区域来对多个写数据块中的P个写数据块执行写操作,并且通过跳过将写命令传输到多个存储区域中的X个存储区域的操作来跳过对多个写数据块中的X个写数据块的写操作。P和X为自然数。
根据示例实施例,一种在存储装置中写数据的方法,包括:从主机装置接收写数据;监视存储装置的工作温度;将写数据划分为N个子数据,其中N是大于或等于二的自然数;通过对N个子数据进行编码来获得分别与存储装置的多个存储区域相对应的多个写数据块,多个写数据块包括N个数据块和K个奇偶校验块,其中K是自然数;基于工作温度小于或等于第一参考温度,通过向多个存储区域中的每一个传输写命令来对多个写数据块中的每一个执行写操作;基于工作温度高于第一参考温度,跳过对多个写数据块当中的X个写数据块的写操作,并且仅对多个写数据块当中的P个写数据块执行写操作,其中X和P是自然数,并且X小于或等于K;以及在跳过对X个写数据块的写操作之后,基于从主机装置接收写完成请求、存储装置处于空闲状态、或者工作温度变得低于第二参考温度,额外地执行对X个写数据块的后续写操作,其中,第二参考温度低于第一参考温度。
根据示例实施例,一种在存储装置中写数据的方法,包括:从主机装置接收写数据;监视存储装置的工作温度;基于工作温度识别多个写数据块的数量;基于写数据生成分别与存储装置的多个存储区域相对应的多个写数据块;以及执行正常写操作,其中通过将写命令传输到多个存储区域中的每一个来对多个写数据块中的每一个执行写操作。
附图说明
从下面结合附图对示例实施例的描述中,上述和其它方面和特征将变得更加明显,在附图中:
图1是示出根据示例实施例的在存储装置中写数据的方法的流程图;
图2是示出执行写节流操作或正常写操作的示例的流程图;
图3是示出根据示例实施例的存储装置和包括该存储装置的存储系统的框图;
图4是示出根据示例实施例的包括在存储装置中的存储控制器的示例的框图;
图5是示出根据示例实施例的包括在存储装置中的非易失性存储器的示例的框图;
图6是示出图1中生成多个写数据块的示例的流程图;
图7A和图7B是用于描述根据示例实施例的图6的操作的图;
图8是示出执行图2的写节流操作或正常写操作的示例的流程图;
图9是示出图8中的跳过对X个写数据块的写操作的示例的流程图;
图10是示出图8中的仅对P个写数据块执行写操作的示例的流程图;
图11A和图11B是用于描述根据示例实施例的图9和图10的操作的图;
图12是示出图8中的对(X+P)个写数据块执行写操作的示例的流程图;
图13是用于描述根据示例实施例的图12的操作的图;
图14是示出图9中的选择X个写数据块的示例的流程图;
图15是用于描述根据示例实施例的图14的操作的图;
图16是示出图9中的选择X个写数据块的示例的流程图;
图17是用于描述根据示例实施例的图16的操作的图;
图18是示出图9中的选择X个写数据块的示例的流程图;
图19是用于描述根据示例实施例的图18的操作的图;
图20是示出图9中的选择X个写数据块的示例的流程图;
图21是示出图8中的对X个写数据块执行写操作的示例的流程图;
图22是示出图1中的执行写节流操作或正常写操作的示例的流程图;
图23是示出图22的执行写节流操作或正常写操作的示例的流程图;
图24是示出了图23中的对X个写数据块进行写操作的示例的流程图;
图25A和图25B是用于描述根据示例实施例的图24的操作的图;
图26和图27是示出图23中的对X个写数据块执行写操作的示例的流程图;
图28是示出图2的执行写节流操作或正常写操作的示例的流程图;
图29是示出图22的执行写节流操作或正常写操作的示例的流程图;
图30是示出根据示例实施例的在存储装置中写数据的方法的流程图;
图31是示出图30中的生成多个写数据块的示例的流程图;
图32是示出图31中的生成多个写数据块的示例的流程图;
图33是示出根据示例实施例的在存储装置中写数据的方法的流程图;以及
图34是示出根据示例实施例的包括存储装置的数据中心的框图。
具体实施方式
将参照附图更全面地描述各种示例实施例。然而,本公开可以以许多不同的形式来实施,并且不应被解释为限于本文阐述的示例实施例。相同的附图标记始终表示相同的元件。
图1是示出根据示例实施例的在存储装置中写数据的方法的流程图。
参照图1,根据示例实施例的在存储装置中写数据的方法由包括存储控制器和多个存储区域(或区)的存储装置执行。多个存储区域可以由多个非易失性存储器形成。将参照图3至图5描述存储装置和包括该存储装置的存储系统的构造。
在根据示例实施例的在存储装置中写数据的方法中,从位于存储装置外部的主机装置接收将要写入多个存储区域中的写数据(操作S100)。例如,可以与写数据一起接收写请求和写地址(例如,逻辑地址)。例如,从主机装置接收的请求可以被称为主机命令,并且写请求可以被称为主机写命令。
可以接收和监视存储装置的工作温度(操作S200)。例如,可以从设置在存储装置内部或外部的温度传感器接收工作温度。例如,在监视工作温度时,可以存储和/或记录表示关于工作温度的变化的统计信息的温度侧写(profile)数据。
可以基于写数据产生多个写数据块(操作S300)。例如,可以基于擦除编码方案、独立磁盘冗余阵列(RAID)5方案、RAID6方案等来生成多个写数据块。将参照图6描述操作S300。
可以基于工作温度来执行写节流操作或正常写操作(操作S400)。将参照图2描述操作S400。
图2是示出图1中的执行写节流操作或正常写操作的示例的流程图。
参照图1和图2,在操作S400中,当确定工作温度改变时(操作S500:是),例如,当确定工作温度处于需要对写操作进行节流的温度范围中时,可执行写节流操作(操作S600)。例如,写节流操作可以表示对多个写数据块中的一些写数据块执行写操作并且对多个写数据块中的其他写数据块跳过(或省略)写操作的操作。可以通过向所述多个存储区域中的一些存储区域传输写命令并且跳过向所述多个存储区域中的其他存储区域传输写命令的操作来执行写节流操作。例如,当工作温度升高时,可以执行写节流操作。
当确定工作温度没有改变而是被保持时(操作S500:否),例如,当确定工作温度不在需要写操作的节流的温度范围内时,以及当确定即使在对所有数据块执行写操作时也不需要温度控制时,可以执行正常写操作(操作S700)。例如,正常写操作可以表示对全部多个写数据块执行写操作的操作。可以通过向全部多个存储区域传输写命令来执行正常写操作。
例如,一个写数据块可以被传输到一个存储区域并被写入一个存储区域中,并且写命令和写地址(例如,物理地址)可以与写数据块一起被传输。例如,传输到存储区域的命令可以被称为存储器命令,并且写命令可以被称为存储器写命令。
由于存储系统的性能提高,当执行数据写操作时,工作温度和功耗可能增加。工作温度的增加可能影响存储装置的读取性能、写性能和可靠性。因此,可使用用于保护存储系统的节流操作来降低工作温度。
当存储装置正常操作时,可以对基于写数据产生的全部多个写数据块执行写操作,如操作S700中那样。
在根据示例实施例的在存储装置中写数据的方法中,基于存储装置的工作温度的变化,可以对多个写数据块中的一些写数据块执行写操作,并且可以对多个写数据块中的其它写数据块跳过写操作。另外,当随后满足预定条件(或标准)时,可以对跳过了写操作的写数据块执行额外的写操作。因此,数据写性能的退化或劣化可以相对较小,存储装置可以相对较快地恢复到正常工作温度,并且因此存储装置可以具有改善或增强的数据写性能和/或效率。
图3是示出根据示例实施例的存储装置和包括该存储装置的存储系统的框图。
参照图3,存储系统100包括主机装置200和存储装置300。
主机装置200可以控制存储系统100的整体操作。主机装置200可以包括主机处理器210和主机存储器220。
主机处理器210可以控制主机装置200的操作。例如,主机处理器210可执行操作系统(OS)。例如,操作系统可以包括用于文件管理的文件系统和用于在操作系统级控制包括存储装置300的外围装置的装置驱动器。主机存储器220可以存储由主机处理器210执行和/或处理的指令和/或数据。
存储装置300可以由主机装置200访问。存储装置300可以包括存储控制器310、多个存储区域(SR)320a、320b和320c以及缓冲存储器330。
存储控制器310可以控制存储装置300的操作。例如,存储控制器310可以控制存储装置300的操作(例如,写操作),并且可以基于从主机装置200接收的请求REQ(例如,写请求)来控制在主机装置200和存储装置300之间交换数据DAT(例如,接收和存储写数据)的操作。例如,存储控制器310可以生成用于控制多个存储区域320a至320c的操作(例如,写操作)的命令(例如,写命令),可以将该命令传输到多个存储区域320a至320c,并且可以控制与多个存储区域320a至320c交换数据DAT(例如,传输和编程写数据)的操作。
多个存储区域320a至320c可由存储控制器310控制,并且可存储多个数据。例如,多个存储区域320a至320c可以存储元数据、用户数据等。例如,多个存储区域320a至320c中的每一个可以包括一个或多个非易失性存储器。
在一些示例实施例中,非易失性存储器可以包括NAND闪存。在其它示例实施例中,非易失性存储器可以包括电可擦除可编程只读存储器(EEPROM)、相变随机存取存储器(PRAM)、电阻随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)等中的一个。
缓冲存储器330可以存储由存储控制器310执行和/或处理的指令和/或数据,并且可以临时存储在多个存储区域320a至320c中存储或要存储到多个存储区域320a至320c中的数据。例如,缓冲存储器330可以包括各种易失性存储器中的至少一种,例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。在一些示例实施例中,缓冲存储器330可以被包括在存储控制器310中。
存储控制器310可以执行根据参照图1和图2描述的示例实施例的在存储装置中写数据的方法,例如,存储控制器310可以从主机装置200接收写数据,可以接收和监视存储装置300的工作温度,可以基于写数据生成多个写数据块,并且可以基于工作温度执行写节流操作或正常写操作。
为了执行根据参照图1和图2描述的示例实施例的在存储装置中写数据,存储控制器310可以包括温度监视器312和块跳过管理器314。
温度监视器312可以接收并监视工作温度。换言之,温度监视器312可执行图1中的操作S200。例如,可从温度传感器接收工作温度。在一些示例实施例中,温度传感器可以设置在(或位于)温度监视器312内部,可以设置在温度监视器312外部和存储控制器310内部,或者可以设置在存储控制器310外部。
当执行写节流操作时,块跳过管理器314可以确定多个写数据块之中的将要跳过写操作的写数据块的数量,并且可以选择将要跳过写操作的写数据块。换句话说,块跳过管理器314可以执行图2中的操作S600。
另外,存储控制器310可以执行根据示例实施例的在存储装置中写数据的方法,将参照图30和图33对其进行描述。
在一些示例实施例中,存储装置300可以是固态驱动器(SSD)、通用闪存(UFS)、多媒体卡(MMC)或嵌入式多媒体卡(eMMC)。在其它示例实施例中,存储装置300可以是安全数字(SD)卡、微SD卡、记忆棒、芯片卡、通用串行总线(USB)卡、智能卡、紧凑型闪存(CF)卡等中的一个。
在一些示例实施例中,存储装置300可以经由块可访问接口连接到主机装置200,块可访问接口可以包括例如UFS、eMMC、非易失性存储器高速(NVMe)总线、小型计算机小型接口(SCSI)总线、串行连接SCSI(SAS)总线、通用串行总线(USB)、外围组件互连(PCI)高速(PCIe)总线、高级技术连接(ATA)总线、并行ATA(PATA)总线、串行ATA(SATA)总线、计算机高速链路(CXL)总线等。存储装置300可以使用与多个存储区域320a至320c的访问大小相对应的块可访问地址空间来向主机装置200提供块可访问接口,以允许针对存储在多个存储区域320a至320c中的数据以存储器块为单位进行访问。
在一些示例实施例中,存储系统100可以是任何计算系统,诸如个人计算机(PC)、服务器计算机、数据中心、工作站、数字电视、机顶盒、导航系统等。在其它示例实施例中,存储系统100可以是任何移动系统,诸如移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数字照相机、便携式游戏控制台、音乐播放器、摄像机、视频播放器、导航装置、可穿戴装置、物联网(IoT)装置、万物联网(IoE)装置、电子书阅读器、虚拟现实(VR)装置、增强现实(AR)装置、机器人装置、无人机等。
图4是示出根据示例实施例的包括在存储装置中的存储控制器的示例的框图。
参照图4,存储控制器400可以包括主机接口(I/F)412、非易失性存储器(NVM)接口414、处理器420、存储器430、编码器442、数据重构模块444、温度监视器450、温度分析器460、块跳过管理器470和写模块480。
主机接口412可以提供主机装置和存储装置(例如,图3中的主机装置200和存储装置300)之间的物理连接。主机接口412可以提供与主机装置的总线格式相对应的用于主机装置和存储装置之间的通信的接口。例如,从主机装置,主机接口412可以接收写请求WREQ和要被写到存储装置中的写数据WDAT。
非易失性存储器接口414可以与存储装置的多个存储区域(例如,图3中的多个存储区域320a至320c)交换数据。例如,非易失性存储器接口414可以将与写请求WREQ相对应的写命令WCMD和基于写数据WDAT生成的多个写数据块WDB传输到多个存储区域。例如,非易失性存储器接口414可以被配置为符合诸如Toggle或开放NAND闪存接口(ONFI)的标准协议。
处理器420可以响应于经由主机接口412从主机装置接收的请求(例如,写请求WREQ)来控制存储控制器400的操作。例如,处理器420可以控制存储装置的操作,并且可以通过采用用于操作存储装置的固件来控制相应的组件。
存储器430可以存储由处理器420执行和处理的指令和数据。例如,存储器430可以用诸如DRAM、SRAM、高速缓冲存储器等的易失性存储器来实现。
在数据写操作期间(例如,在根据示例实施例的在存储装置中写数据的方法中),编码器442可以基于从主机装置接收的写数据WDAT生成多个写数据块WDB。例如,可以基于擦除编码方案、RAID5方案、RAID6方案等生成多个写数据块WDB。将参照图7A描述产生多个写数据块WDB的操作。
在数据读取操作期间,数据重构模块444可以基于从多个存储区检索的数据块生成读取数据。另外,在数据写操作期间(例如,在根据示例实施例的在存储装置中写数据的方法中),数据重构模块444可以通过重构(或恢复或复原)数据块来生成重构的数据块RDB,其中,当执行写节流操作时,跳过写操作。将参照图7B描述产生读取数据的操作,并将参照图25A和图25B描述产生重构数据块RDB的操作。
温度监视器450可以与图3中的温度监视器312基本相同。在数据写操作期间(例如,在根据示例实施例的在存储装置中写数据的方法中),温度监视器450可以接收和监视表示存储装置的工作温度的温度信息TINF。在一些示例实施例中,温度信息TINF可以从包括在温度监视器450中的温度传感器内部地接收,并且/或者可以从布置在温度监视器450外部或存储控制器400外部的温度传感器接收。
在数据写操作期间(例如,在根据示例实施例的在存储装置中写数据的方法中),温度分析器460可以基于温度信息TINF存储和/或记录表示关于工作温度的变化的统计信息的温度侧写数据TPRF。
块跳过管理器470可以与图3中的块跳过管理器314基本相同。在数据写操作期间(例如,在根据示例实施例的在存储装置中写数据的方法中),当执行写节流操作时,块跳过管理器470可以确定将要跳过写操作的写数据块的数量(或数目),可以从多个写数据块WDB中选择将要跳过写操作的写数据块,并且可以生成跳过控制信号SCS,该跳过控制信号SCS表示将要跳过写操作的写数据块的数量和从多个写数据块WDB中选择的将要跳过写操作的写数据块。
写模块480可以控制存储装置的数据写操作。另外,在数据写操作期间(例如,在根据示例实施例的在存储装置中写数据的方法中),当执行写节流操作时,写模块480可以生成与多个写数据块WDB中的、将要跳过写操作的所选写数据块相关联或相关的跳过数据信息SDI。
存储控制器400还可以包括用于纠错的纠错码(ECC)引擎、用于数据加密/解密的高级加密标准(AES)引擎等。
图5是示出根据示例实施例的包括在存储装置中的非易失性存储器的示例的框图。
参照图5,非易失性存储器500包括存储器单元阵列510、地址解码器520、页缓冲器电路530、数据输入/输出(I/O)电路540、电压发生器550和控制电路560。一个存储区域可以由一个或多个非易失性存储器形成或提供。
存储器单元阵列510可以通过多条串选择线SSL、多条字线WL和多条接地选择线GSL连接到地址解码器520。存储器单元阵列510可以进一步经由多条位线BL连接到页缓冲器电路530。存储器单元阵列510可以包括连接到多条字线WL和多条位线BL的多个存储器单元(例如,多个非易失性存储器单元)。存储器单元阵列510可划分为多个存储器块BLK1、BLK2、……、BLKz,每一存储器块包括存储器单元。另外,多个存储器块BLK1至BLKz中的每一个可以被划分为多个页。
在一些示例实施例中,包括在存储器单元阵列510中的多个存储器单元可以以二维(2D)阵列结构或三维(3D)竖直阵列结构布置。3D竖直阵列结构可包括竖直定向的竖直单元串,使得至少一个存储器单元位于另一存储器单元上方。所述至少一个存储器单元可以包括电荷捕获层。
控制电路560可以从外部(例如,从图3中的存储控制器310)接收命令CMD和地址ADDR,并且基于命令CMD和地址ADDR来控制非易失性存储器500的擦除操作、编程操作和读取操作。擦除操作可以包括执行擦除循环序列,并且编程操作可以包括执行编程循环序列。每个编程循环可包括编程操作和编程验证操作。每个擦除循环可以包括擦除操作和擦除验证操作。读取操作可以包括正常读取操作和数据恢复读取操作。
例如,控制电路560基于命令CMD可以产生用于控制电压发生器550的控制信号CON并且可以产生用于控制页缓冲器电路530的控制信号PBC,并且可以基于地址ADDR产生行地址R_ADDR和列地址C_ADDR。控制电路560可将行地址R_ADDR提供到地址解码器520,且可将列地址C_ADDR提供到数据I/O电路540。
地址解码器520可以经由多条串选择线SSL、多条字线WL和多条接地选择线GSL连接到存储器单元阵列510。例如,在数据擦除/写/读取操作中,地址解码器520可以基于行地址R_ADDR,将多条字线WL中的至少一条确定为所选择的字线,可以将多条串选择线SSL中的至少一条确定为所选择的串选择线,并且可以将多条接地选择线GSL中的至少一条确定为所选择的接地选择线。
电压发生器550可基于电源PWR和控制信号CON来产生非易失性存储器500的操作所需的电压VS。电压VS可以经由地址解码器520施加到多条串选择线SSL、多条字线WL和多条接地选择线GSL。此外,电压发生器550可根据电源PWR与控制信号CON来产生数据擦除操作所需的擦除电压VERS。擦除电压VERS可以直接施加到存储器单元阵列510或经由位线BL施加到存储器单元阵列510。
页缓冲器电路530可经由多条位线BL连接到存储器单元阵列510。页缓冲器电路530可以包括多个页缓冲器。页缓冲器电路530可以存储要编程到存储器单元阵列510中的数据DAT,或者可以读取从存储器单元阵列510感测的数据DAT。换句话说,页缓冲器电路530可以根据非易失性存储器500的操作模式而作为写驱动器或感测放大器操作。
数据I/O电路540可以经由数据线DL连接到页缓冲器电路530。数据I/O电路540可以基于列地址C_ADDR,经由页缓冲器电路530将数据DAT从非易失性存储器500的外部提供到存储器单元阵列510,或者可以将数据DAT从存储器单元阵列510提供到非易失性存储器500的外部。
图6是示出图1中的生成多个写数据块的示例的流程图。图7A和图7B是用于描述图6的操作的图。
参照图1、图6和图7A,在操作S300,可将写数据划分为N个子数据,其中,N是大于或等于二的自然数(操作S310)。例如,如图7A所示,可以通过对写数据WDAT执行数据划分(或条带化)操作DIV来生成N个子数据F1、F2、……、FN。例如,写数据WDAT可以对应于一个文件或一个数据对象。
可通过对N个子数据进行编码来获得包括N个数据块和K个奇偶校验块的多个写数据块,其中K是自然数(操作S330)。例如,如图7A所示,可以通过对N个子数据F1至FN执行编码操作ENC来生成N个数据块DB1、DB2、……、DBN和K个奇偶校验块PB1、……、PBK。
操作S310和S330可以由图4中的编码器442执行。
当在执行操作S310和S330之后执行正常写操作时,通过将写命令WCMD传输到所有存储区域SR1到SR(N+K)以及通过将所有数据块DB1到DBN和奇偶校验块PB1到PBK传输到存储区域SR1到SR(N+K),所有N个数据块DB1到DBN和K个奇偶校验块PB1到PBK可以被写到(N+K)个存储区域SR1、SR2、……、SRN、SR(N+1)、……、SR(N+K)。例如,存储区域SR1至SR(N+K)可包括在一个或多个存储装置中。例如,一个存储区域可以对应于一个存储装置,或者一个存储区域可以对应于两个或更多个存储区域。
在一些示例实施例中,可以基于擦除编码方案、RAID 5方案、RAID 6方案等来执行参照图6和图7A描述的操作。
在编码理论中,纠删码是在比特擦除(而不是比特错误)的假设下的前向纠错(FEC)码,其将K个符号的消息变换为具有N个符号的较长消息(码字),使得可以从N个符号的子集恢复或重构原始消息。换句话说,即使在(N+K)个符号中的K个符号上出现错误或缺陷,也可以仅用N个符号恢复原始消息。例如,可以使用Reed-Solomon码、Tahoe-LAFS(最少权限文件存储)、Weaver码等来执行编码。
RAID是一种数据存储虚拟化技术,其将多个物理磁盘驱动器组件组合成一个或多个逻辑单元,以实现数据冗余、性能改善或两者的目的。根据所需的冗余水平和性能,数据以几种方式之一(称为RAID级)分布在驱动器上。RAID 5包括具有分布式奇偶校验的块级条带化,RAID6包括具有双重分布式奇偶校验的块级条带化。
参照图7B,示出了在如图7A所示的对数据块DB1至DBN以及PB1至PBK执行正常写操作之后的数据读取操作的示例。
例如,基于传输到所有存储区域SR1到SR(N+K)的读取命令RCMD,可以从存储区域SR1到SR(N+K)读取所有数据块DB1到DBN和奇偶校验块PB1到PBK。接下来,可以通过基于数据块DB1至DBN和奇偶校验块PB1至PBK执行数据重构操作RCON来生成N个子数据F1'、F2'、……、FN'。此后,可通过对N个子数据F1'至FN'执行组合操作COMB来产生读数据RDAT。
如上所述,当使用、应用或采用擦除编码时,即使在N个数据块DB1至DBN和K个奇偶校验块PB1至PBK中的最多K个块上发生错误,也可以正常地重构原始数据。图7B示出了在数据块DB2和奇偶校验块PB1上发生错误的示例,并且在这种情况下,如果K大于或等于二(即,发生错误的块的数量),则可以正常地重构原始数据。因此,当在图7B的示例中K大于或等于二时,子数据F1'到FN'和读数据RDAT可分别与图7A中的子数据F1到FN和写数据WDAT实质上相同。
图8是示出执行图2的写节流操作或正常写操作的示例的流程图。
参照图2和图8,在操作S500中,可将工作温度与第一参考温度TOFS1进行比较(操作S510)。换句话说,可以基于第一参考温度TOFS1确定工作温度是改变的还是保持的。第一参考温度TOFS1可被称为偏移温度、热管理温度、阈值温度等。
当工作温度变得高于第一参考温度TOFS 1时(操作S510:是),可执行操作S600的写节流操作。当工作温度低于或等于第一参考温度TOFS1时(操作S510:否),可执行操作S700的正常写操作。
在操作S600中,可以对与写数据WDAT对应的多个写数据块之中的X个写数据块跳过写操作,其中X是自然数(操作S610),并且可以仅对与写数据WDAT对应的多个写数据块之中的P个写数据块执行写操作,其中P是自然数(操作S630)。例如,如参照图6所述,当通过操作S300基于写数据WDAT获得包括N个数据块和K个奇偶校验块的多个写数据块时,可以阻止与写数据WDAT对应的多个块中的多达K个块。例如,(X+P)可以等于(N+K)。例如,X可以小于或等于K,其中X表示在多个写数据块之中在写限制操作期间将要对其跳过写操作的写数据块的数量(或数目),K表示奇偶校验块的数量。
在一些示例实施例中,表示对其执行写操作的写数据块的数量(或数目)的P可以小于或等于(N+K-X)。例如,当X小于K时,P可以小于或等于(N+K-X)。
在操作S700中,可以对(X+P)个写数据块(例如,全部多个写数据块)执行写操作(操作S710)。
图9是示出图8中的对X个写数据块跳过写操作的示例的流程图。
参照图8和图9,在操作S610中,可读取工作温度的温度侧写数据(操作S611)。例如,图4中的温度分析器460可以具有或存储温度侧写数据TPRF,该温度侧写数据TPRF通过描绘写操作时的温度信息来表示在特定温度下有多少写数据块跳过写操作。
基于温度侧写数据,可以确定表示将要跳过写操作的写数据块的数量的X(操作S613)。例如,基于温度侧写数据,将要跳过写操作的写数据块的数量可以是可变的或可调整的。因此,可以基于温度侧写数据确定X。
可以从与写数据WDAT相对应的多个写数据块之中选择X个写数据块(操作S615)。例如,可以基于各种标准来选择X个写数据块。将参照图14至图20描述操作S615。
可以跳过将写命令传输到多个存储区域中的X个存储区域的操作,从而对X个写数据块跳过写操作(操作S617)。X个存储区域可对应于X个写数据块。例如,X个写数据块可以不被物理编程。
操作S613和S615可以由图4中的块跳过管理器470执行,并且操作S617可以由图4中的写模块480执行。
图10是示出图8中的仅对P个写数据块执行写操作的示例的流程图。
参照图8和图10,在操作S630,可将写命令传输到多个存储区域中的P个存储区域,从而对P个写数据块执行写操作(操作S631)。P个存储区域可以对应于P个写数据块。
操作S631可以由图4中的写模块480执行。
图11A和图11B是用于描述图9和图10的操作的图。
参照图11A和图11B,当通过图6中的操作S310和S330生成四个数据块DB1、DB2、DB3和DB4以及两个奇偶校验块PB1和PB2时,例如,当N=4并且K=2时,示出了图9和图10的操作的示例。
例如,如图11A所示,可以基于温度侧写数据确定将要跳过写操作的写数据块的数目(X)为一,并且可以选择数据块DB3作为将要跳过写操作的写数据块。因此,可以将写命令WCMD传输到存储区域SR1、SR2、SR4、SR5和SR6,并且可以将数据块DB1、DB2、DB4以及奇偶校验块PB1和PB2写入存储区域SR1、SR2、SR4、SR5和SR6中。另外,可以不将写命令WCMD传输到存储区域SR3,并且可以对数据块DB3跳过写操作。
又例如,如图11B所示,可以基于温度侧写数据确定将要跳过写操作的写数据块的数量(X)为二,并且可以选择数据块DB3和奇偶校验块PB1作为将要跳过写操作的写数据块。因此,可以将写命令WCMD传输到存储区域SR1、SR2、SR4和SR6,并且可以将数据块DB1、DB2、DB4以及奇偶校验块和PB2写入存储区域SR1、SR2、SR4和SR6中。另外,可以不将写命令WCMD传输到存储区域SR3和SR5,并且可以对数据块DB3和奇偶校验块PB1跳过写操作。
在一些示例实施例中,在跳过对写数据块的写操作的同时,可以通过描绘工作温度的变化来精细地调整跳过写操作的写数据块的数量。例如,可以考虑跳过写操作的写数据块的数量与工作温度之间的相关性来执行精细调整。例如,可以通过精细调整来选择性地执行图11A和图11B的操作。
在一些示例实施例中,跳过写操作的写数据块的数量(例如,X)可以小于或等于奇偶校验块的数量(例如,K)。在图11A和图11B的示例中,K=2,因此X=1或X=2。
图12是示出图8中的对与写数据WDAT相对应的所有写数据块(即,(X+P)个写数据块)执行写操作的示例的流程图。
参照图8和图12,在操作S710中,可将写命令传输到(X+P)个存储区域(例如,所有的多个存储区域),从而对(X+P)个写数据块执行写操作(操作S711)。(X+P)个存储区域可以对应于(X+P)个写数据块。
操作S711可以由图4中的写模块480执行。
图13是用于描述图12的操作的图。将省略与图11A和图11B重复的描述。
参照图13,可以将写命令WCMD传输到所有存储区域SR1、SR2、SR3、SR4、SR5和SR6,并且可以将所有数据块DB1、DB2、DB3和DB4以及奇偶校验块PB1和PB2写到存储区域SR1、SR2、SR3、SR4、SR5和SR6中。
图14是示出图9中的选择X个写数据块的示例的流程图。图15是用于描述图14的操作的图。
参照图9、图11A、图11B、图14和图15,在操作S615中,可以监视与多个存储区域中的每一个相关联的存储区域温度(操作S615a1)。例如,可以监视存储区域SR1到SR6的存储区域温度TEMP_SR1、TEMP_SR2、TEMP_SR3、TEMP_SR4、TEMP_SR5和TEMP_SR6。
可基于存储区域温度从所述多个存储区域中选择X个存储区域(操作S615a2)。可以从所述多个写数据块之中选择将要被写入X个存储区域的写数据块作为X个写数据块(操作S615a3)。例如,可以选择具有相对高的存储区域温度的存储区域(例如,过热的存储区域)。
例如,存储区域SR1至SR6可根据存储区域温度以降序排序或布置。当将要跳过写操作的写数据块的数量是一(X=1)时,如图11A中那样,可以选择具有最高温度的存储区域SR3和与其对应的数据块DB3。当将要跳过写操作的写数据块的数量是二(X=2)时,如图11B中那样,可以选择具有高温的两个存储区域SR3和SR5以及与其对应的数据块DB3和奇偶校验块PB1。
图16是示出图9中的选择X个写数据块的示例的流程图。图17是用于描述图16的操作的图。
参照图9、图11A、图11B、图16和图17,在操作S615中,可监视与多个存储区域中的每一个相关联的编程/擦除(P/E)循环值(操作S615b1)。例如,可以监视存储区域SR1到SR6的P/E循环值PE_SR1、PE_SR2、PE_SR3、PE_SR4、PE_SR5和PE_SR6。P/E循环值可以表示对存储区域执行编程操作和擦除操作的次数。
可基于P/E循环值从多个存储区域中选择X个存储区域(操作S615b2)。可以从所述多个写数据块之中选择将要写入X个存储区域的写数据块作为X个写数据块(操作S615b3)。例如,可以选择具有相对较大的P/E循环值的存储区域(例如,大量使用的存储区域)。
例如,存储区域SR1至SR6可以根据P/E循环值按照降序排序。在图11A的示例中,可以选择具有最大P/E循环值的存储区域SR3和与其对应的数据块DB3。在图11B的示例中,可以选择具有大P/E循环值的两个存储区域SR3和SR5以及与其对应的数据块DB3和奇偶校验块PB1。
图18是示出图9中的选择X个写数据块的示例的流程图。图19是用于描述图18的操作的图。
参照图9、图11A、图11B、图18和图19,在操作S615中,可监视与多个存储区域中的每一个相关联的编程时间(操作S615c1)。例如,可以监视存储区域SR1到SR6的编程时间PT_SR1、PT_SR2、PT_SR3、PT_SR4、PT_SR5和PT_SR6。编程时间可以表示对存储区域执行编程操作所需的时间间隔。
可基于编程时间从所述多个存储区域中选择将要跳过写操作的X个存储区域(操作S615c2)。可以从所述多个写数据块之中选择要写入X个存储区域的写数据块作为要被屏蔽的X个写数据块(操作S615c3)。例如,可以选择具有相对长的编程时间的存储区域(例如,具有慢编程速度的存储区域)。
例如,存储区域SR1至SR6可根据编程时间以降序排序。在图11A的示例中(当要跳过写操作的写数据块的数量为一时),可以选择具有最长编程时间的存储区域SR3和与其对应的数据块DB3。在图11B的示例中(当要跳过写操作的写数据块的数量为二时),可以选择具有长编程时间的两个存储区域SR3和SR5以及与其对应的数据块DB3和奇偶校验块PB1。
图20是示出图9中的选择X个写数据块的示例的流程图。
参照图9和图20,在操作S615中,可从多个存储区域中随机选择将要跳过写操作的X个存储区域(操作S615d2)。可以从所述多个写数据块之中选择要写入X个存储区域的写数据块作为X个写数据块(操作S615d3)。
尽管参照图14至图20描述了用于选择X个写数据块的标准的示例,但是示例实施例不限于此,并且可以使用各种其它标准来选择将要跳过写操作的X个写数据块。此外,尽管描述了使用一个标准选择X个写数据块的示例,但是示例实施例不限于此,并且可以同时使用两个或更多个标准(例如,通过同时考虑存储区域温度和P/E循环值)来选择将要跳过写操作的X个写数据块。
图21是示出图8中的跳过X个写数据区块的写操作的示例的流程图。将省略与图9重复的描述。
参照图8和图21,在操作S610中,操作S611、S613、S615和S617可以与参照图9描述的操作基本相同。
此后,可产生与X个写数据块相关联的跳过数据信息(操作S621),并且可存储跳过数据信息(操作S623)。例如,跳过数据信息可以包括条带化信息、跳过块相关信息等。可以仅存储与X个写数据块相关联的跳过数据信息,而不是直接存储X个写数据块。例如,跳过数据信息可以标识X个写数据块。
操作S621和S623可以由图4中的写模块480执行。
图22是图1中的执行写节流操作或正常写操作的流程图。将省略与图2重复的描述。
参照图1和图22,在操作S400中,操作S500、S600和S700可与参照图2描述的操作基本相同。
在执行写节流操作之后,可以执行额外写操作(操作S800)。例如,额外写操作可以表示对多个写数据块中的跳过了写操作的其它写数据块执行写操作的操作。例如,当在执行写节流操作之后满足预定条件时,可以执行额外写操作。例如,预定条件可以是存储装置处于空闲状态(如以下关于图26所讨论的)或者工作温度小于或等于第二参考温度TNORM(如以下关于图27所讨论的)。
在一些示例实施例中,在执行操作S600之后,存储装置可以通知主机装置对写数据的写操作未完成。例如,上述通知操作可基于异步事件请求(AER)来执行。在该示例中,存储装置可以基于从外部接收的请求(例如,来自主机装置的请求)执行操作S800。
在其他示例实施例中,在执行操作S600之后,存储装置可以通知主机装置对写数据的写操作完成。在该示例中,存储装置可以内部地确定是否满足预定条件,并且可以基于内部确定来执行操作S800。
在一些示例实施例中,在执行操作S800之前,存储装置可以通知主机装置将执行操作S800。因此,当从主机装置接收到读取请求时,存储装置可以通知主机装置对于读取操作可能发生等待时间。另外,当主机装置接收到表示不能从存储装置读取数据的消息或信号时,主机装置可以准备从存储备份数据(例如,复制或复制的数据)的备份服务器读取相应的数据。例如,读取备份数据的操作可以使用诸如结构上非易失性存储器高速(NVMe)(NVMe-oF)之类的网络协议来执行。
图23是图22中的执行写节流操作或正常写操作的流程图。将省略与图8重复的描述。
参照图22和图23,操作S510、S610、S630和S710可以与参照图8描述的那些操作基本相同。
在操作S800,当满足预定条件时,可对在操作S610中跳过了写操作的X个写数据块执行写操作(操作S810)。
图24是示出图23中的对X个写数据块执行写操作的示例的流程图。
参照图23和图24,在操作S810中,当从主机装置接收到写完成请求时(操作S811a:是),可读取在对X个写数据块跳过写操作的同时产生和存储的跳过数据信息(操作S813)。例如,可通过图21中的操作S621和S623产生和存储跳过数据信息,并且可将其存储在图4中的写模块480中。
可基于跳过数据信息重构X个写数据块(操作S815)。可以将写命令传输到多个存储区域中的X个存储区域,使得仅对重构的X个写数据块执行写操作(操作S817)。X个存储区域可对应于X个写数据块。
操作S815可以由图4中的数据重构模块444执行,并且操作S817可以由图4中的写模块480执行。
当没有接收到写完成请求时(操作S811a:否),存储装置可以等待接收写完成请求。
图25A和图25B是用于描述图24的操作的图。
参照图25A,示出了在如图11A中的对数据块DB3跳过写操作之后的图24的操作的示例。
例如,当接收到写完成请求时,可以通过基于跳过数据信息SDI执行数据重构操作RCON来生成或重构数据块DB3'。重构的数据块DB3'可以与图11A中的数据块DB3基本相同。此后,可以将写命令WCMD传输到存储区域SR3,并且可以将重构的数据块DB3'写入存储区域SR3中。
参照图25B,示出了在如图11B中的对数据块DB3和奇偶校验块PB1跳过写操作之后的图24的操作的示例。
例如,当接收到写完成请求时,可以通过基于跳过数据信息SDI执行数据重构操作RCON来生成或重构数据块DB3'和奇偶校验块PB1'。重构的数据块DB3'和重构的奇偶校验块PB1'可以分别与图11B中的数据块DB3和奇偶校验块PB1基本相同。此后,可以将写命令WCMD传输到存储区域SR3和SR5,并且可以将重构的数据块DB3'和重构的奇偶校验块PB1'写入存储区域SR3和SR5中。
图26和图27是示出图23中的对X个写数据块执行写操作的示例的流程图。
参照图23和图26,在操作S810,当存储装置处于空闲状态(或空闲时间)(操作S811b:是)时,可执行操作S813、S815和S817。在这点上,如上所述,预定条件可以是存储装置处于空闲状态。操作S813、S815和S817可以与参照图24描述的那些操作基本相同。
当存储装置不处于空闲状态时(操作S811b:否),存储装置可以等待进入空闲状态。
参照图23和图27,在操作S810中,当工作温度变得低于比第一参考温度低的第二参考温度TNORM时(操作S811c:是),可执行操作S813、S815和S817。在这点上,如上所述,预定条件可以是工作温度变得低于第二参考温度TNORM。操作S813、S815和S817可以与参照图24描述的那些操作基本相同。第二参考温度TNORM可以被称为常温等。
当工作温度高于或等于第二参考温度TNORM时(操作S811c:否),存储装置可等待降低工作温度。
尽管参照图24到图27描述了用于执行额外写操作的条件的示例,但是示例实施例不限于此,并且可以基于各种其它条件执行额外写操作。另外,尽管描述了基于一个条件执行额外写操作的示例,但是示例实施例不限于此,并且当同时满足两个或更多个条件时可以执行额外写操作。
在一些示例实施例中,如果难以重构跳过了写操作的写数据块,则当复制写数据并且将复制的数据存储为备份数据时,可以基于备份数据执行重构操作。
图28是图2中的执行写节流操作或正常写操作的流程图。将省略与图8重复的描述。
参照图2和图28,操作S510、S610、S630和S710可与参照图8描述的操作基本相同。当工作温度变得高于第一参考温度TOFS1时(操作S510:是),并且当工作温度低于或等于比第一参考温度TOFS 1高的第三参考温度TOFS2时(操作S520:否),可执行操作S610和S630。
当工作温度变得高于第三参考温度TOFS2时(操作S520:是),可对多个写数据块之中的Y个写数据块跳过写操作,其中Y是大于X的自然数(操作S650),并且可仅对多个写数据块之中的Q个写数据块执行写操作,其中Q是小于P的自然数(操作S670)。除了X和P分别被改变为Y和Q之外,操作S650和S670可以分别与操作S610和S630基本相同。例如,操作S610和S630可以对应于图11A,并且操作S650和S670可以对应于图11B。换句话说,随着工作温度增加,跳过写操作的写数据块的数量可增加。
图29是图22中的执行写节流操作或正常写操作的示例的流程图。
参照图22和图29,操作S510、S610、S630、S810和S710可以与参照图23描述的那些操作基本相同,并且操作S520、S650和S670可以与参照图28描述的那些操作基本相同。
在操作S800中,当满足预定条件时,可对在操作S650中跳过了写操作的Y个写数据块执行写操作(操作S850)。除了X被改变为Y,操作S850可与操作S810基本相同。
尽管基于参考温度的数量是一个或两个的示例参照图8至图29描述了写节流操作,但是示例实施例不限于此,并且可以基于参考温度的数量是三个或更多的示例执行写节流操作。
图30是示出根据示例实施例的在存储装置中写数据的方法的流程图。
参照图30,在根据示例实施例的在存储装置中写数据的方法中,操作S1100和S1200可以分别与图1中的操作S100和S200基本相同。
可基于写数据和工作温度产生多个写数据块(操作S1300)。操作S1300可以类似于图1中的操作S300。另外,在操作S1300中,可以基于工作温度的改变来改变产生写数据块的操作,例如,可以基于工作温度的改变来改变产生的写数据块的数量(或数目)。将参照图31描述操作S1300。
可以执行对全部多个写数据块执行写操作的正常写操作(操作S1400)。可以通过向所有的多个存储区域传输写命令来执行正常写操作。例如,操作S1400可以如参照图12和图13所述的那样执行。
图31是示出图30中的生成多个写数据块的示例的流程图。
参照图30和图31,在操作S1300中,当确定工作温度改变时(操作S1500:是),可基于写数据产生第一数量(或数目)的写数据块(操作S1600)。当确定工作温度没有改变而是被保持时(操作S1500:否),可以基于写数据产生第二数量(或数目)的写数据块(操作S1700)。第二数量可以不同于第一数量。
图32是示出图31中的生成多个写数据块的示例的流程图。
参照图31和图32,操作S1510可以与图8中的操作S510基本相同,并且操作S1610和S1620可以分别与图6中的操作S310和S330基本相同。当工作温度低于或等于第一参考温度TOFS1(操作S 1510:否)时,可执行操作S 1620。
当工作温度变得高于第一参考温度TOFS1时(操作S1510:是),可通过对N个子数据进行编码来获得包括N个数据块和L个奇偶校验块的多个写数据块,其中L是大于K的自然数(操作S1720)。换句话说,随着工作温度的增加,产生的奇偶校验块的数量增加,因此数据恢复率可增加。
图33是示出根据示例实施例的在存储装置中写数据的方法的流程图。
参照图33,在根据示例实施例的在存储装置中写数据的方法中,操作S2100、S2200和S2400可以分别与图1中的操作S100、S200和S400基本相同,并且操作S2300可以与图30中的操作S2300基本相同。图33的示例可以通过将图1的示例与图30的示例组合而获得。
图34是示出根据示例实施例的包括存储装置的数据中心的框图。
参照图34,数据中心3000可以是收集各种类型的数据并提供各种服务的设施,并且可以被称为数据存储中心。数据中心3000可以是用于操作搜索引擎和数据库的系统,并且可以是由诸如银行或政府机构之类的公司使用的计算系统。数据中心3000可以包括应用服务器3100到3100n和存储服务器3200到3200m。根据示例实施例,可以不同地选择应用服务器3100到3100n的数量和存储服务器3200到3200m的数量,并且应用服务器3100到3100n的数量和存储服务器3200到3200m的数量可以彼此不同。
应用服务器3100可以包括至少一个处理器3110和至少一个存储器3120,并且存储服务器3200可以包括至少一个处理器3210和至少一个存储器3220。将作为示例描述存储服务器3200的操作。处理器3210可以控制存储服务器3200的整体操作,并且可以访问存储器3220以执行加载在存储器3220中的指令和/或数据。存储器3220可以包括双数据速率(DDR)同步动态随机存取存储器(SDRAM)、高带宽存储器(HBM)、混合存储器立方体(HMC)、双列直插存储器模块(DIMM)、Optane DIMM、非易失性DIMM(NVDIMM)等中的至少一个。包括在存储服务器3200中的处理器3210的数量和存储器3220的数量可根据示例实施例而不同地选择。在一些示例实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在一些示例实施例中,处理器3210的数量和存储器3220的数量可以彼此不同。处理器3210可以包括单核处理器或多核处理器。存储服务器3200的以上描述可以类似地应用于应用服务器3100。应用服务器3100可以包括至少一个存储装置3150,并且存储服务器3200可以包括至少一个存储装置3250。在一些示例实施例中,应用服务器3100可以不包括存储装置3150。根据示例实施例,可以不同地选择包括在存储服务器3200中的存储装置3250的数量。
应用服务器3100到3100n和存储服务器3200到3200m可以通过网络3300相互通信。网络3300可以使用光纤信道(FC)或以太网来实现。FC可以是用于相对高速数据传输的介质,并且可以使用提供高性能和/或高可用性的光交换器。根据网络3300的访问方案,可以将存储服务器3200至3200m设置为文件存储器、块存储器或对象存储器。
在一些示例实施例中,网络3300可以是仅存储的网络或专用于诸如存储区域网络(SAN)的存储的网络。例如,SAN可以是使用FC网络并根据FC协议(FCP)实现的FC-SAN。对于另一个示例,SAN可以是使用传输控制协议/因特网协议(TCP/IP)网络并根据iSCSI(TCP/IP上的SCSI或因特网SCSI)协议实现的IP-SAN。在其他示例实施例中,网络3300可以是诸如TCP/IP网络的通用网络。例如,网络3300可以根据诸如以太网FC(FCoE)、网络附接存储(NAS)、结构上的非易失性存储器高速(NVMe)(NVMe-oF)等协议中的至少一个来实现。
在下文中,将基于应用服务器3100和存储服务器3200来描述示例实施例。应用服务器3100的描述可以应用于其它应用服务器3100n,并且存储服务器3200的描述可以应用于其它存储服务器3200m。
应用服务器3100可以通过网络3300将用户或客户端请求存储的数据存储到存储服务器3200到3200m中的一个中。另外,应用服务器3100可以通过网络3300从存储服务器3200到3200m中的一个获得用户或客户端请求读取的数据。例如,应用服务器3100可以被实现为web服务器或数据库管理系统(DBMS)。
应用服务器3100可以通过网络3300访问包括在其它应用服务器3100n中的存储器3120n或存储装置3150n,并且/或者可以经由网络3300访问包括在存储服务器3200至3200m中的存储器3220至3220m或存储装置3250至3250m。因此,应用服务器3100可以对存储在应用服务器3100到3100n和/或存储服务器3200到3200m中的数据执行各种操作。例如,应用服务器3100可以执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的命令。可以将数据从存储服务器3200至3200m的存储装置3250至3250m直接传送到应用服务器3100至3100n的存储器3120至3120n,或者通过存储服务器3200至3200m的存储器3220至3220m传送到应用服务器3100至3100n的存储器3120至3120n。例如,为了安全或隐私,通过网络3300传送的数据可以是加密数据。
在存储服务器3200中,接口3254可以提供处理器3210和控制器3251之间的物理连接和/或网络接口卡(NIC)3240和控制器3251之间的物理连接。例如,接口3254可以基于直接附接存储(DAS)方案来实现,在该方案中,存储装置3250与专用电缆直接连接。例如,接口3254可以基于诸如高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、PCI Express(PCIe)、NVMe、计算机高速链路(CXL)、IEEE1394、通用串行总线(USB)、安全数字(SD)卡接口、多媒体卡(MMC)接口、嵌入式MMC(eMMC)接口、通用闪存(UFS)接口、嵌入式UFS(eUFS)接口、紧凑闪存(CF)卡接口等的各种接口方案中的至少一种来实现。
存储服务器3200还可以包括交换机3230和NIC 3240。在处理器3210的控制下,交换机3230可以选择性地将处理器3210与存储装置3250连接,或者可以选择性地将NIC 3240与存储装置3250连接。类似地,应用服务器3100还可以包括交换机3130和NIC 3140。
在一些示例实施例中,NIC 3240可以包括网络接口卡、网络适配器等。NIC 3240可以通过有线接口、无线接口、蓝牙接口、光接口等连接到网络3300。NIC 3240可进一步包括内部存储器、数字信号处理器(DSP)、主机总线接口等,并且可通过主机总线接口连接到处理器3210和/或交换机3230。主机总线接口可以被实现为接口3254的上述示例之一。在一些示例实施例中,NIC 3240可以与处理器3210、交换机3230和存储装置3250中的至少一个集成。
在存储服务器3200至3200m和/或应用服务器3100至3100n中,处理器可以向存储装置3150至3150n和3250至3250m或者存储器3120至3120n和3220至3220m传输命令,以编程或读取数据。例如,数据可以是由纠错码(ECC)引擎纠错的数据。例如,数据可以通过数据总线反转(DBI)或数据掩码(DM)来处理,并且可以包括循环冗余码(CRC)信息。例如,为了安全或隐私,数据可以是加密数据。
存储装置3150到3150m和3250到3250m可响应于从处理器接收的读取命令而将控制信号和命令/地址信号发射到NAND闪速存储器装置3252到3252m。当从NAND闪速存储器装置3252到3252m读取数据时,读取使能(RE)信号可作为数据输出控制信号而输入且可用以将数据输出到DQ总线。可以使用RE信号产生数据选通信号(dqs)。可基于写使能(WE)信号的上升沿或下降沿将命令和地址信号锁存在页缓冲器中。
控制器3251可以控制存储装置3250的整体操作。在一些示例实施例中,控制器3251可以包括静态随机存取存储器(SRAM)。控制器3251可以响应于写命令将数据写入NAND闪速存储器装置3252中,或者可以响应于读命令从NAND闪速存储器装置3252读取数据。例如,可以从存储服务器3200中的处理器3210、其它存储服务器3200m中的处理器3210m或者应用服务器3100到3100n中的处理器3110到3110n提供写命令和/或读取命令。DRAM 3253可以临时存储(例如,可以缓冲)要写NAND闪速存储器装置3252的数据或从NAND闪速存储器装置3252读取的数据。此外,DRAM3253可以存储元数据。元数据可以是由控制器3251产生的数据,以管理用户数据或NAND闪速存储器装置3252。
存储装置3250至3250m中的每一个可以是根据示例实施例的存储装置,并且可以执行根据示例实施例的将数据写入存储装置中的方法。
本发明构思可以应用于包括存储装置的各种电子装置和系统。例如,本发明构思可应用于诸如个人计算机(PC)、服务器计算机、数据中心、工作站、移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、便携式游戏控制台、音乐播放器、摄像机、视频播放器、导航装置、可穿戴装置、物联网(IoT)装置、万物联网(IoE)装置、电子书阅读器、虚拟现实(VR)装置、增强现实(AR)装置、机器人装置、无人机等系统。
在一些实施例中,根据示例实施例,由如图3至图5和图34中所示的框表示的组件中的每一个可以被实现为执行上述相应功能的各种数量的硬件、软件和/或固件结构。例如,这些组件中的至少一个可以包括各种硬件组件,包括数字电路、可编程或不可编程的逻辑器件或阵列、专用集成电路(ASIC)、晶体管、电容器、逻辑门、或使用可以通过一个或多个微处理器或其他控制装置的控制来执行相应功能的直接电路结构的其他电路(诸如存储器、处理器、逻辑电路、查找表等)。而且,这些组件中的至少一个可以包括模块、程序或代码的一部分,其包括用于执行指定逻辑功能并由一个或多个微处理器或其他控制装置执行的一个或多个可执行指令。而且,这些组件中的至少一个还可以包括处理器或者可以由处理器实现,所述处理器诸如执行相应功能的中央处理单元(CPU)、微处理器等。实施例的功能方面可以以在一个或多个处理器上执行的算法实现。此外,由框或处理步骤表示的组件、元件、模块或单元可以采用用于电子配置、信号处理和/或控制、数据处理等的任何数量的相关技术。
尽管已经具体示出和描述了示例实施例的各方面,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种在存储装置中写数据的方法,所述方法包括:
从主机装置接收写数据;
监视所述存储装置的工作温度;
基于所述写数据生成分别与所述存储装置的多个存储区域相对应的多个写数据块;以及
基于所述工作温度,执行写节流操作,所述写节流操作包括通过将写命令传输到所述多个存储区域中的P个存储区域来对所述多个写数据块中的P个写数据块执行写操作、以及通过跳过将所述写命令传输到所述多个存储区域中的X个存储区域的操作来跳过对所述多个写数据块中的X个写数据块的所述写操作,
其中,P和X为自然数。
2.根据权利要求1所述的方法,其中,所述写节流操作是基于所述工作温度高于第一参考温度来执行的。
3.根据权利要求2所述的方法,其中,跳过对所述X个写数据块的写操作包括:
读取所述工作温度的温度侧写数据;
基于所述温度侧写数据确定X;
从所述多个写数据块中选择所述X个写数据块;以及
跳过将所述写命令传输到所述X个存储区域的操作,所述X个存储区域对应于所述X个写数据块。
4.根据权利要求3所述的方法,其中,选择所述X个写数据块包括:
监视与所述多个存储区域中的每一个相关联的存储区域温度;
基于所述存储区域温度从所述多个存储区域中选择所述X个存储区域;以及
基于所述X个存储区域选择所述X个写数据块。
5.根据权利要求3所述的方法,其中,选择所述X个写数据块包括:
监视与所述多个存储区域中的每一个相关联的编程/擦除循环值;
基于所述编程/擦除循环值从所述多个存储区域中选择所述X个存储区域;以及
基于所述X个存储区域选择所述X个写数据块。
6.根据权利要求3所述的方法,其中,选择所述X个写数据块包括:
监视与所述多个存储区域中的每一个相关联的编程时间;
基于所述编程时间从所述多个存储区域中选择所述X个存储区域;以及
基于所述X个存储区域选择所述X个写数据块。
7.根据权利要求3所述的方法,其中,选择所述X个写数据块包括:
从所述多个存储区域中随机选择所述X个存储区域;以及
基于所述X个存储区域选择所述X个写数据块。
8.根据权利要求3所述的方法,还包括:基于所述温度侧写数据来确定X。
9.根据权利要求3所述的方法,其中,跳过对所述X个写数据块的写操作还包括:
产生与所述X个写数据块相关联的跳过数据信息;以及
存储所述跳过数据信息。
10.根据权利要求3所述的方法,其中,对所述P个写数据块的所述写操作包括:将所述写命令传输到所述P个存储区域,使得对所述P个写数据块执行所述写操作,所述P个存储区域对应于所述P个写数据块。
11.根据权利要求2所述的方法,还包括:在执行所述写节流操作之后,执行额外写操作,在所述额外写操作中,对所述X个写数据块执行所述写操作。
12.根据权利要求11所述的方法,其中,所述额外写操作包括:
基于来自所述主机装置的写完成请求,读取在跳过对所述X个写数据块的写操作的同时生成并存储的跳过数据信息;
基于所述跳过数据信息重构所述X个写数据块;以及
仅对重构的X个写数据块执行所述写操作。
13.根据权利要求11所述的方法,其中,所述额外写操作包括:
基于所述存储装置处于空闲状态,读取在跳过对所述X个写数据块的写操作的同时生成并存储的跳过数据信息;
基于所述跳过数据信息重构所述X个写数据块;以及
仅对重构的X个写数据块执行写操作。
14.根据权利要求11所述的方法,其中,所述额外写操作包括:
基于所述工作温度变得低于比所述第一参考温度更低的第二参考温度,读取跳过数据信息,所述跳过数据信息是在跳过对所述X个写数据块的写操作的同时生成和存储的;
基于所述跳过数据信息重构所述X个写数据块;以及
仅对重构的X个写数据块执行写操作。
15.根据权利要求2所述的方法,其中,所述写节流操作还包括:
基于所述工作温度高于比所述第一参考温度更高的第三参考温度,增加X并减小P。
16.根据权利要求1所述的方法,还包括:基于所述工作温度下降到第一参考温度之下,执行正常写操作,在所述正常写操作中,通过将所述写命令传输到所述多个存储区域中的每一个来对所述多个写数据块中的每一个执行所述写操作。
17.根据权利要求1所述的方法,其中,生成所述多个写数据块包括:
将所述写数据划分为N个子数据,其中N是大于或等于二的自然数;以及
通过对所述N个子数据进行编码来获得所述多个写数据块,所述多个写数据块包括N个数据块和K个奇偶校验块,其中K是自然数。
18.根据权利要求17所述的方法,其中,X小于或等于K。
19.一种存储装置,包括:
非易失性存储器;以及
存储控制器,被配置为:
从主机装置接收写数据;
监视所述存储装置的工作温度;
基于所述写数据生成分别与所述非易失性存储器的多个存储区域相对应的多个写数据块;以及
基于所述工作温度,通过将写命令传输到所述多个存储区域中的P个存储区域来对所述多个写数据块中的P个写数据块执行写操作,并且通过跳过将所述写命令传输到所述多个存储区域中的X个存储区域的操作来跳过对所述多个写数据块中的X个写数据块的写操作,
其中,P和X为自然数。
20.一种在存储装置中写数据的方法,所述方法包括:
从主机装置接收写数据;
监视所述存储装置的工作温度;
将所述写数据划分为N个子数据,其中N是大于或等于二的自然数;
通过对所述N个子数据进行编码来获得分别与所述存储装置的多个存储区域相对应的多个写数据块,所述多个写数据块包括N个数据块和K个奇偶校验块,其中K是自然数;
基于所述工作温度小于或等于第一参考温度,通过向所述多个存储区域中的每一个传输写命令来对所述多个写数据块中的每一个执行写操作;
基于所述工作温度高于所述第一参考温度,跳过对所述多个写数据块当中的X个写数据块的写操作,并且仅对所述多个写数据块当中的P个写数据块执行所述写操作,其中X和P是自然数,并且X小于或等于K;以及
在跳过对所述X个写数据块的写操作之后,基于从所述主机装置接收写完成请求、所述存储装置处于空闲状态、或者所述工作温度变得低于比所述第一参考温度低的第二参考温度,额外地执行对所述X个写数据块的后续写操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220069419A KR102537770B1 (ko) | 2022-06-08 | 2022-06-08 | 기입 스로틀링을 이용한 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치 |
KR10-2022-0069419 | 2022-06-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117193630A true CN117193630A (zh) | 2023-12-08 |
Family
ID=86386958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310660747.9A Pending CN117193630A (zh) | 2022-06-08 | 2023-06-06 | 使用写节流在存储装置中写数据的方法及存储装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230401002A1 (zh) |
EP (1) | EP4290355A1 (zh) |
KR (1) | KR102537770B1 (zh) |
CN (1) | CN117193630A (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8402201B2 (en) * | 2006-12-06 | 2013-03-19 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery in solid-state storage |
JP4489127B2 (ja) * | 2008-02-29 | 2010-06-23 | 株式会社東芝 | 半導体記憶装置 |
US9152568B1 (en) * | 2011-12-05 | 2015-10-06 | Seagate Technology Llc | Environmental-based device operation |
CN104346232A (zh) * | 2013-08-06 | 2015-02-11 | 慧荣科技股份有限公司 | 数据储存装置及其限制存取方法 |
JP5668163B2 (ja) * | 2014-04-21 | 2015-02-12 | 株式会社東芝 | 情報処理装置 |
US10156987B1 (en) * | 2015-06-26 | 2018-12-18 | Amazon Technologies, Inc. | Temperature management in a data storage system |
JP6517684B2 (ja) * | 2015-12-22 | 2019-05-22 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
KR20210013845A (ko) * | 2019-07-29 | 2021-02-08 | 삼성전자주식회사 | QoS 레이턴시 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 |
-
2022
- 2022-06-08 KR KR1020220069419A patent/KR102537770B1/ko active IP Right Grant
-
2023
- 2023-04-07 US US18/132,092 patent/US20230401002A1/en active Pending
- 2023-05-15 EP EP23173484.9A patent/EP4290355A1/en active Pending
- 2023-06-06 CN CN202310660747.9A patent/CN117193630A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4290355A1 (en) | 2023-12-13 |
US20230401002A1 (en) | 2023-12-14 |
KR102537770B1 (ko) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10496312B2 (en) | Method of operating a storage device to compress or decompress data and a data storage system including the storage device | |
US11762572B2 (en) | Method of operating storage device and method of operating storage system using the same | |
US11675504B2 (en) | Memory controller, memory system including the same, and method of operating the same | |
US11765229B2 (en) | Method of operating network-based storage device, method of operating storage system using the same and storage module performing the same | |
US20230126685A1 (en) | Storage device and electronic system | |
US11669470B2 (en) | Storage system with capacity scalability and method of operating the same | |
EP4290355A1 (en) | Method of writing data in storage device using write throttling and storage device performing the same | |
US11550906B2 (en) | Storage system with separated RPMB sub-systems and method of operating the same | |
US11733875B2 (en) | Method of writing data in nonvolatile memory device and nonvolatile memory device performing the same | |
US11854648B2 (en) | Method of resetting storage device, storage device performing the same and data center including the same | |
US20230143267A1 (en) | Method of allocating and protecting memory in computational storage device, computational storage device performing the same and method of operating storage system using the same | |
EP4180969B1 (en) | Method of operating a storage device using multi-level address translation and a storage device performing the same | |
US20230128638A1 (en) | Method of operating storage device and method of operating storage system using the same | |
US20230185470A1 (en) | Method of operating memory system and memory system performing the same | |
US20220407345A1 (en) | Method of controlling a charging voltage for extending the lifetime of a secondary power source and a storage device performing the same | |
US20230154529A1 (en) | Storage controller and storage device including the same | |
EP4187398A1 (en) | Controller controlling non-volatile memory device, storage device including the same, and operating method thereof | |
US20230143943A1 (en) | Method of operating storage device for retention enhancement and storage device performing the same | |
US20230114199A1 (en) | Storage device | |
CN116774922A (zh) | 存储设备及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |