CN112786095A - 存储设备、存储系统及其操作方法 - Google Patents

存储设备、存储系统及其操作方法 Download PDF

Info

Publication number
CN112786095A
CN112786095A CN202011228309.8A CN202011228309A CN112786095A CN 112786095 A CN112786095 A CN 112786095A CN 202011228309 A CN202011228309 A CN 202011228309A CN 112786095 A CN112786095 A CN 112786095A
Authority
CN
China
Prior art keywords
lba
storage device
related information
stream
value
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
Application number
CN202011228309.8A
Other languages
English (en)
Inventor
卢羌镐
李知玟
金炳喜
徐正旼
梁承俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112786095A publication Critical patent/CN112786095A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

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)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种存储设备包括:接口,从主机接收数据和对应的LBA,其中数据包括具有流ID的第一数据和缺少流ID的第二数据中的至少一个;非易失性存储器(NVM)设备,包括被配置为存储数据的至少一个非易失性存储器;以及LBA预测器,被配置为使用响应于与存储设备从主机接收的LBA值相关联的至少一个特征而操作的神经网络模型来提供用于第二数据的预测流ID,其中,使用所述流ID将第一数据存储在NVM设备中,并且使用预测流ID将第二数据存储在所述NVM设备中。

Description

存储设备、存储系统及其操作方法
对申请的交叉引用
本申请要求于2019年11月8日提交的第10-2019-0142181号韩国专利申请的优先权,其主题通过引用被合并于此。
技术领域
本公开涉及存储设备、存储系统以及用于存储设备和/或存储系统的操作方法。
背景技术
包括至少一个非易失性存储器的存储设备可能经历与写入放大相关联的问题。写入放大问题可能随着由非易失性存储器执行的写入操作的数量与由主机请求的写入操作的数量之间的比率变得偏斜(skew)而出现。当存储设备执行大量随机寻址的写入操作时,可能出现写入放大问题。写入放大问题可能降低存储设备的写入性能,并且增加组成非易失性存储器单元的总体磨损,从而降低存储设备的耐久性和可靠性。
为了减轻或防止写入放大的不利影响,涉及存储设备可以使用与一个或多个数据流标识符(ID)相关联的逻辑块地址(LBA)。因此,存储设备必须能够准确地确定与流ID相关联的LBA值。此外,存储设备必须能够将特定流ID与已经被指派相同流ID的LBA值相关联。
发明内容
本公开的实施例提供了一种存储设备,能够准确地预测对于写入操作应当被指派相同的流ID的LBA值。
本公开的实施例提供了一种存储系统,能够准确地预测对于写入操作应当被指派相同的流ID的LBA值。
本公开的实施例提供了一种用于存储系统的操作方法,能够准确地预测对于写入操作应当被指派相同的流ID的LBA值。
根据本发明构思的一方面,提供了一种存储设备,包括:缓冲存储器,被配置为存储与第一流标识符(ID)相关联且进一步与‘m’个LBA值相关联的第一ID特定逻辑块地址(LBA)相关信息,以及存储与第二流ID相关联且进一步与‘n’个LBA值相关联的第二ID特定LBA相关信息;以及LBA预测器,包括神经网络模型,并且被配置为基于第一ID特定LBA相关信息来预测第m+k个LBA值,并且基于第二ID特定LBA相关信息来预测第n+l个LBA值,其中n、m、k和l是自然数。所述神经网络模型可以被配置为:接收第一ID特定LBA相关信息,作为用于预测所述第m+k个LBA值的第一特征;接收第二ID特定LBA相关信息,作为用于预测所述第n+l个LBA值的第二特征;将第一流ID指派给大于第m个LBA值且小于或等于第m+k个LBA值的LBA值;以及将第二流ID指派给大于第n个LBA值且小于或等于所述第n+l个LBA值的LBA值。
根据本发明构思的一方面,提供了一种存储设备,包括:接口,被配置为从主机接收数据和对应的逻辑块地址(LBA),其中数据包括具有流ID的第一数据和缺少流ID的第二数据中的至少一个;非易失性存储器(NVM)设备,包括被配置为存储数据的至少一个非易失性存储器;缓冲存储器;以及LBA预测器,被配置为使用响应于与由存储设备从主机接收的LBA值相关联的至少一个特征而操作的神经网络模型来提供用于所述第二数据的预测流ID,其中,使用所述流ID将所述第一数据存储在NVM设备中,并且使用所述预测流ID将所述数据存储在NVM设备中。
根据本发明构思的一方面,提供了一种存储系统,包括:主机,被配置为输出‘m’个逻辑块地址(LBA)值;以及存储设备。存储设备包括:接口,被配置为与主机通信并接收m个LBA值;缓冲存储器,被配置为临时存储m个LBA值;非易失性存储器设备,被配置为存储与m个LBA值相对应的数据;以及LBA预测器,被配置为响应于输入到神经网络的LBA相关信息作为特征、使用神经网络模型来预测第m+k个LBA值。
根据本发明构思的一方面,提供了一种用于存储系统的操作方法。该方法包括:将逻辑块地址(LBA)相关信息存储在缓冲存储器中,其中所述LBA相关信息与‘m’个LBA值相关联;使用包括神经网络模型的LBA预测器,响应于所述LBA相关信息来预测第m+k个LBA值;以及将预测流ID指派给大于第m个LBA值且小于或等于所述第m+k个LBA值的LBA值。
然而,本公开的各方面不限于本文所阐述的那些方面。通过参考下面给出的本公开的详细描述,本公开的以上和其它方面对于本公开所属领域的普通技术人员将变得更加明显。
附图说明
通过参照附图详细描述本发明的示例性实施例,本发明的以上和其他特征及方面将变得更加清楚,在附图中:
图1是示出根据一些实施例的存储系统的框图。
图2和图3是进一步示出写入放大以及使用流ID来解决写入放大问题的概念图。
图4是示出根据一些实施例的存储设备使用神经网络模型预测逻辑块地址(LBA)值的操作的概念图。
图5、图6和图7是进一步示出根据一些实施例的存储设备预测LBA值的操作的相应曲线图。
图8是进一步列出根据一些实施例的可用于预测LBA值的示例性LBA信息的表。
图9和图10是进一步示出根据一些实施例的存储设备预测LBA值的操作的相应曲线图。
图11、图12和图13是示出根据一些实施例的存储系统的框图。
图14是概述根据一些实施例的用于存储系统的操作方法的流程图。
具体实施方式
现在将关于附图描述某些实施例。贯穿所示出的实施例和相关的书面描述,相同的附图标记和标签用于表示相同或相似的元件。
图1是示出根据一些实施例的存储系统的框图。图2是进一步描述写入放大的概念图,并且图3是进一步描述其中由存储系统指派流标识符(以下称为“ID”)的状态的概念图。图4是进一步描述根据一些实施例的存储设备使用神经网络模型预测逻辑块地址(LBA)值的操作的流程图。
参照图1,存储系统1通常可以包括主机10和存储设备20。
存储设备20可以包括:接口60,被配置为促进主机10与存储设备之间的通信;非易失性存储器设备(NVM)50,包含一个或更多个非易失性存储器;缓冲存储器40;及LBA预测器30。
主机10可以在由存储设备20(例如,固态驱动器(SSD))执行的写入(或编程)操作期间将包含相关联ID的数据传送到存储设备20。主机10可以根据(例如)数据类型(例如,日志文件、元文件、媒体文件等)将ID指派给数据。在该上下文中,术语“类型”可以指代数据的各种特征或属性。一旦主机10已将ID特定指派给数据,则可以将数据作为多流数据集的一部分传送到存储设备20。例如,主机10可以将第一ID指派给具有日志文件类型的第一数据,并且将第二ID指派给具有媒体文件类型的数据。
在该上下文中,被配置为接收与数据集相关联的多个ID的存储设备20可以被称为多流存储设备。多流存储设备可以提供具有接口的操作系统和应用,通过所述接口可以单独地存储具有不同属性的数据。通过其存储各个数据的相应过程(或多个)可以被称为“流”。也就是说,各个数据写入操作的集合(或“组”)可以被包括在聚合“流”中,其中每个流可以由操作系统或对应的应用指派(例如)的对应“流ID”来具体地标识。因此,具有相似特征或属性的完全不同的数据可以被指派唯一ID,使得对应于唯一流ID的数据可以被写入到存储设备20的NVM设备50中的相同块内。
然而,当从主机10接收到缺少流ID的数据时,存储设备20可以将缺少流ID的数据存储在任意块中。结果,具有不同流ID的数据可能被写入相同的块中。下文将参考图2以一些额外细节描述此结果。
参照图1和图2,当从主机10接收到缺少流ID的数据时,存储设备20可以任意地将缺少流ID的数据写入存储设备20中的NVM50的(例如)各个块BLK1、BLK2和BLK3内。
如前所述,NVM50可以包括多个非易失性存储器。多个非易失性存储器中的每一个可以包括非易失性存储单元,例如NAND闪存单元、NOR闪存单元、电阻式随机存取存储器(RRAM)单元、铁电随机存取存储器(FRAM)单元、相变随机存取存储器(PRAM)单元、晶闸管随机存取存储器(TRAM)单元、磁性随机存取存储器(MRAM)单元等。
在图2的所示示例中,假设存储设备20从主机10接收六(6)个单独数据(例如,第一数据DATA1至第六数据DATA6),并且分别将第一数据DATA1至第六数据DATA6中的每一个指派(例如,使用任意建立的指派序列、随机地等)给块BLK1、BLK2和BLK3中的一个。
例如,存储设备20可以将第一数据DATA1存储在第一块BLK1的第一行Row1中,并且将第二数据DATA2存储在第一块BLK1的第二行Row2中。存储设备20可以将第三数据DATA3存储在第二块BLK2的第一行Row1中,并且将第四数据DATA4存储在第二块BLK2的第二行Row2中,并且将第五数据DATA5存储在第三块BLK3的第一行Row1中,并且将第六数据DATA6存储在第三块BLK3的第二行Row2中。
在这些假设下,并且认识到第一数据DATA1至第六数据DATA6中没有一个数据具有指派的流ID,存储设备20可以将第一数据DATA1至第六数据DATA6中的每一个任意地写入块BLK1、BLK2和BLK3中的一个内。然而,存在应当取决于(或基于)数据的特定类型被指派给由存储设备20接收的第一数据DATA1至第六数据DATA6中的每一个的流ID。
也就是说,当从主机10接收到第一数据DATA1至第六数据DATA6但缺少相应的流ID时,存储设备20将第一数据DATA1至第六数据DATA6任意地(例如,随机地)存储在块BLK1、BLK2和BLK3中。然而,更适当地,存储设备20应当取决于数据类型将流ID指派给第一数据DATA1至第六数据DATA6中的每一个,然后将第一数据DATA1至第六数据DATA6当中具有相同流ID的所有数据分配给相同的块。
参考图1、图2和图3并且考虑到前述假设,存储设备20应当“重新分配”被任意写入的数据(例如,图2所示的数据),使得具有相同流ID的数据被写入相同的块中(如图3所示)。
例如,存储设备20可以将具有第一流ID(SID1)的第一数据DATA1、第三数据DATA3和第五数据DATA5重新分配(即,写入或编程)到第一块BLK1;将具有第二流ID(SID2)的第二数据DATA2和第四数据DATA4重新分配给第二块BLK2,并且将具有第三流ID(SID3)的第六数据DATA6重新分配给第三块BLK3。作为重新分配过程的结果,存储设备20可以擦除第一块BLK1,然后将第一数据DATA1、第三数据DATA3和第五数据DATA5写入第一块BLK1中;擦除第二块BLK2,然后在第二块BLK2中写入第二数据DATA2和第四数据DATA4;并且擦除第三块BLK3,然后将第六数据DATA6写入第三块BLK3中。
因此,为了将具有相同流ID的数据重新分配到相同块,存储设备20必须执行除了最初(且任意地)写入从主机10接收的数据所需的写入操作之外的许多额外擦除和/或写入操作。这些额外擦除和/或写入操作的执行导致上述写入放大问题。例如,写入放大可能降低存储设备20的写入操作性能,并且增加存储设备20的NVM 50中组成非易失性存储器单元的磨损,从而降低存储设备20的耐久性。
为了减小或防止写入放大,在接收到与缺少流ID的数据相关联的写入命令时并且在将缺少流ID的数据实际写入到NVM 50之前,存储设备20可以预测数据的流ID,并且之后基于预测流ID将具有预测流ID的数据写入到存储器块中。
可以使用应用于神经网络(NN)模型的“LBA相关信息”(例如,LBA值、LBA大小、接收相应LBA的次数、接收相应LBA所根据的时间间隔等)来执行特定数据的流ID的预测。也就是说,与任意写入缺少流ID的数据相比,存储设备20可以使用神经网络模型来预测缺少流ID的数据的流ID,以便提高用于在可用存储块中初始写入缺少流ID的数据的一个或多个写入操作的准确性。
实际上,前述方法寻求在缺少流ID的数据被存储到NVM设备50中之前准确地预测该数据的流ID(例如,LBA值)(即,相同的流ID可以被更准确地指派给应指派相同的流ID的LBA值)。因此,存储设备20可以准确地预测应对其指派相同的流ID的LBA值,并基于预测的LBA值将数据存储在相同的块中,从而减小写入放大并提高存储设备20的可靠性。在下文中,将以一些附加细节对预测应对其指派相同流ID的LBA值的示例性操作进行描述。
值得注意的是,存储设备20从主机10接收的数据的数量和类型不限于图2和图3所示的那些。另外,存储设备20中用于存储数据的块的数量和类型不限于图2和图3中所示的那些。此外,在某些实施例中,可以基于页来存储数据。
再次参考图1,主机10可以采取许多可能形式中的一种,包括处理单元、主机存储器、接口电路等的形式。这里,处理单元可以运行加载在主机存储器中的各种软件(例如,应用程序、操作系统、设备驱动器等)。处理单元可以运行操作系统(OS)或应用程序。处理单元可以包括同构多核处理器或异构多核处理器。例如,处理单元可以包括中央处理单元(CUP)、图像处理单元(ISP)、数字信号处理单元(DSP)、图形处理单元(GPU)、视觉处理单元(VPU)和神经处理单元(NPU)中的至少一个,但不限于此。
可以在主机存储器中加载用于驱动存储系统1的应用程序、文件系统、设备驱动器等。但是,并不限定于此,也可以在主机存储器中加载用于驱动存储设备20的其他各种软件。主机存储器可以加载要由处理单元处理的应用程序或数据。例如,可以将用于要递送到存储设备20的命令的管理提交队列和完成队列的输入/输出调度器(未示出)加载到主机存储器中。
接口电路可以提供主机10与存储设备20之间的物理连接。例如,接口电路可以将与主机10生成的各种请求相对应的命令、地址、数据集等转换为与存储设备20的接口形式。例如,接口电路可以被配置为通过使用诸如通用串行总线(USB)、串行AT附接(SATA)、串行附接SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、非易失性内存主机控制器接口规范(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)和嵌入式MMC(Emmc)的各种通信方法中的至少一种来与存储设备20通信,但是配置不限于此。
存储设备20中的接口60可以处理从主机10提供的各种命令。从主机10提供的各种命令可以包含具有(或缺乏)多个可能的流ID中的一个的数据。可替代地,从主机10提供的各种命令可以包括没有向其指派流ID的数据。接口60可以用于向NVM 50传送数据。可替代地,当接口60从主机10接收读取命令时,接口60可以用于从NVM 50读取数据。
接口60可以被实现为诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等的电路,或者可以被实现为处理器和由处理器运行的软件的组合,但是接口60的实现不限于此。
接口60可以用于将数据临时存储在缓冲存储器40中。可替代地,接口60可以用于从缓冲存储器40加载数据。缓冲存储器40可以临时存储LBA相关信息,其中LBA相关信息可以根据(例如)建立的更新时间表或间隔来连续更新。以这种方式,LBA相关信息(在下文中,在任何时刻,简称为“LBA相关信息”)的扩展主体可以被LBA预测器30中的神经网络模型用来预测接收到的数据的流ID。LBA相关信息可以以各种方式被存储在存储系统1中或存储系统1可访问的外部环境中,包括(例如)缓冲存储器40。这里,缓冲存储器40可以包括易失性存储器单元,诸如动态随机存取存储器(DRAM)单元、静态随机存取存储器(SRAM)单元等。
存储设备20中的LBA预测器30可以用于使用响应于LBA相关信息而操作的神经网络模型来为从主机10接收的数据指派与LBA值相关的预测流ID。
图4中示出可以用于LBA预测器30的某些实施例中的神经网络模型的一个示例。
参照图1和图4,存储设备20的LBA预测器30的神经网络模型可以接收LBA相关信息作为“特征”。因此,在图4的所示示例中,LBA相关信息可以包括,例如,LBA值F1、LBA大小F2、接收特定LBA的次数Fn-1、接收LBA的时间间隔Fn等。
这些特征可以在特征池70中被捆绑,并且临时存储在缓冲存储器40中、或存储在将在下文中描述的特征缓冲器32中。
某些LBA相关信息在其被接收到LBA相关信息的主体中时可以被配置为用于相同流ID的单独LBA信息。此后,已经根据特定流ID分组、关联或配置的某些LBA相关信息将被称为“ID特定LBA相关信息”。因此,LBA相关信息可以以各种方式包括第一ID特定LBA相关信息、第二ID特定LBA相关信息等。
ID特定LBA相关信息可以以各种方式被引导(channeled)和捆绑到神经网络模型的特征池70中。将参考图6以一些额外细节描述ID特定LBA相关信息的引导和/或捆绑的一种可能方法。
在下面的描述中,假设第一ID特定LBA相关信息已经由图4的神经网络模型接收并且相应地在特征池70中捆绑。
由LBA预测器30使用的神经网络模型使用特征池70的相应特征作为输入,并且可以分别将对应的权重(例如,权重W1、W2……、Wn-1和Wn)归于或指派给特征。例如,第一特征F1(例如,LBA值)可以用第一权重W1加权,第二特征F2(例如,LBA大小)可以用第二权重W2加权等,以便对应地生成第一加权特征值(F1×W1)、第二加权特征值(F2×W2)等。
此后,LBA预测器30可以将加权特征值相加(或求和)以生成求和结果。求和结果可以用于使用激活函数f来预测适当的LBA值。因此,可以通过激活函数f来提供预测的LBA值作为输出,例如在以下等式中所示:
输出=f(F1*W1+F2*W2+……+Fn-1*Wn-1+Fn*Wn)
图4假设LBA预测器30使用相对简单的神经网络模型。然而,本领域技术人员将认识到,由LBA预测器30使用的神经网络模型可以使用各种神经网络模型,包括单层感知器(SLP)模型或多层感知器(MLP)模型。LBA预测器30使用的神经网络模型的结构可以是非线性回归模型或分类模型。此外,由LBA预测器30使用的特征可以在性质和数量上与上述示例不同。然而,与相同流ID相关联的不同ID特定LBA相关信息可以被分组到相同的特征池70中且被用作神经网络模型的输入。
在下文中,将参考曲线图以一些额外细节描述用于LBA预测器30的某些操作原理。此外,将对基于从使用ID特定LBA相关信息作为输入的神经网络模型导出的预测LBA值来指派和/或分配相同流ID的可能方法进行描述。
图5是示出根据一些实施例的提供预测LBA值的存储设备的操作的曲线图。
参考图1、图4和图5,LBA预测器30可以从先前接收的LBA值(例如,LBA1至LBAm)的存储主体中读取特定LBA值作为神经网络模型的特征。即,落入第一区域‘I’内的LBA值可以被输入作为神经网络模型的特征。第一区域‘I’的LBA值可以全部与相同的流ID(例如,第一流ID)相关联。使用该信息,LBA预测器30可以驱动神经网络模型以预测第m+k个LBA值(例如,LBAm+k)。
此后,LBA预测器30可以接收缺少流ID的数据(例如,LBA值),并且可以确定LBA值可能位于其中的曲线图的区域。LBA预测器30可以然后(例如)将第一流ID(SID1)指派给落在曲线图的第二区域‘II’内的所接收的LBA值,该LBA值大于第m个LBA值(LBAm)且小于或等于第m+k个LBA值(LBAm+k)。
对于缺少流ID的LBA值,LBA预测器30可以提前指派流ID以提供预测流ID,所述预测流ID可以用于将具有相同流ID的数据写入NVM 50的相同块中。
图6是示出根据一些实施例的存储设备预测LBA值的操作的另一曲线图。
参照图1、图4和图6,假设LBA预测器30读取与落入曲线图的第一区域‘I’内的第一流ID(SID1)相关联的‘m’个LBA值(即,第一ID特定LBA相关信息),作为用于预测第m+k个LBA值(LBAm+k)的神经网络模型的特征。
另外,假设LBA预测器30读取与落入第三区域III内的第二流ID(SID2)相关联的‘n’个LBA值(即,第二ID特定LBA相关信息),作为用于预测第10+n+1个LBA值(LBA10+n+1)的神经网络模型的特征。
值得注意的是,尽管图6特别地仅示出了第一流ID(SID1)和第二流ID(SID2)作为示例,但是可以类似地预测任何合理数量的流ID。例如,当从缺少流ID的数据(例如,LBA值)被主机10接收并且此后被确定为落在第二区域‘II’内时,存储设备20可以将第一流ID(SID1)指派给数据,并且当缺少流ID的数据(例如,LBA值)被主机10接收并且此后被确定为落在第四区域IV内时,存储设备20可以将第二流ID(SID2)指派给数据。
图7是示出根据一些实施例的存储设备预测LBA值的操作的另一曲线图。
参照图1、图4和图7,LBA预测器30可以读取(或输入)与相同的第一流ID相关联的‘m’个先前接收的LBA值(例如,LBA1至LBAm)之间的差(例如,Diff1至Diff4),作为神经网络模型的特征。即,可以将落在第一区域‘I’内的LBA值之间的差作为特征输入到神经网络模型。第一区域‘I’的LBA值可以全部与相同的流ID(例如,第一流ID)相关联。因此,LBA预测器30可以驱动神经网络模型以预测第m个LBA差(Diff m)。利用这种配置,LBA预测器30可以预测通过将第m个LBA差(Diff m)添加到第m个LBA值(LBAm)而获得的第m+k个LBA值(LBAm+k)。
此后,LBA预测器30可以接收缺少流ID的数据(例如,LBA值),并确定缺少流ID的LBA值所位于的曲线图的区域。
LBA预测器30可以将第一流ID(SID1)指派给第二区域‘II’的接收到的LBA值,该LBA值大于第m个LBA值(LBAm)且小于或等于第m+k个LBA值(LBAm+k)。
对于缺少流ID的LBA值,存储设备20中的LBA预测器30可以以上述方式预先指派流ID,以使用预测的流ID将缺少流ID的数据写入NVM 50的相同块中。因此,可以减轻或防止NVM 50的组成非易失性存储器单元的磨损。作为结果,可以减小存储设备20的写入放大,从而提高存储设备20的可靠性。
图8是示出根据一些实施例的用于预测LBA值的某些LBA信息的迭代步骤关系的示例性表。
参考图1、图4和图8,LBA预测器30可以读取(或输入)与相同流ID(例如,第一流ID)相关联的先前接收的LBA值的某些起始(start)LBA值和某些LBA大小,作为神经网络模型的特征。通过将LBA大小分别添加到起始LBA值可以导出‘m’个LBA值的某些结束(end)LBA值。LBA预测器30然后可以使用LBA大小表来预测具有相同流ID的第m+k个LBA值,LBA大小表存储关于相应m个LBA值的起始LBA值、LBA大小和结束LBA值的信息。
将参考图9以一些附加细节描述根据一些实施例的LBA预测器30的操作,所述操作通过输入具有相同第一流ID的过去m个LBA值的起始LBA值和LBA大小作为神经网络模型的特征来预测LBA值。
图9是描述根据一些实施例的使用图8的LBA信息来预测LBA值的操作的另一曲线图。
参照图1、图4、图8和图9,LBA预测器30可以读取(或输入)与相同的第一流ID相关联的‘m’个先前接收的LBA值的起始LBA值(起始LBA 1~起始LBA m)和LBA大小(LBA大小1~LBA大小m),作为神经网络模型的特征。即,第一区域I的LBA值的起始LBA值(起始LBA 1~起始LBA m)和LBA大小(LBA大小1~LBA大小m)可以作为神经网络模型的特征被输入。第一区域I的LBA值可以全部具有相同的流ID(例如,第一流ID)。存储设备20中的LBA预测器30可以驱动神经网络模型以预测第m+k个起始LBA值(起始LBA m+k)和第m+k个LBA大小(LBA大小m+k)。通过这种配置,存储设备20中的LBA预测器30可以通过将第m+k个LBA大小(LBA大小m+k)添加到第m+k个起始LBA值(起始LBA m+k)来预测第m+k个LBA值。
此后,LBA预测器30可以接收缺少流ID的数据(例如,LBA值),并可以确定缺少流ID的LBA值可能位于其中的区域。
LBA预测器30可以将第一流ID(SID1)指派给接收到的第二区域II的LBA值,所述LBA值大于第m个LBA值且小于或等于第m+k个LBA值,其中,第m个LBA值是通过将第m个LBA大小(LBA大小m)添加到第m个起始LBA值(起始LBA m)而获得的,并且第m+k个LBA值是通过将第m+k个LBA大小(LBA大小m+k)添加到第m+k个起始LBA值(起始LBA m+k)而获得的。
对于来自主机10的没有向其指派流ID的LBA值,存储设备20中的LBA预测器30可以以上述方式预先指派流ID,以将具有相同流ID的数据写入NVM 50的相同块中。因此,可以减轻或防止NVM50的组成非易失性存储器单元的磨损。作为结果,可以减小存储设备20的写入放大,从而提高存储设备20的可靠性。
图10是示出根据一些实施例的存储设备预测LBA值的操作的另一曲线图。
参照图1、图4和图10,LBA预测器30可以读取(或输入)与相同的第一流ID相关联的‘m’个先前接收的LBA值(LBA1~LBAm)和接收相应的LBA值(LBA1~LBAm)的时间信息(t1~tm),作为神经网络模型的特征。也就是说,第一区域I的LBA值(LBA1~LBAm)和LBA值(LBA1~LBAm)的输入时间信息(t1~tm)可以作为神经网络模型的特征被输入。第一区域I的LBA值可以全部具有相同的流ID(例如,第一流ID)。存储设备20中的LBA预测器30可以驱动神经网络模型以预测第m+k个LBA值(LBAm+k)。
由于存储设备20中的LBA预测器30包括时间信息(t1~tm)作为神经网络模型的输入,因此能够进一步提高对于第m+k个LBA值(LBAm+k)的预测准确度。更具体地,即使某个LBA值落在第一区域‘I’内,但是如果LBA值已经进入的时间距先前落在第一区域I内的其他LBA值处于过长的时间间隔(其中时间间隔的准则可以利用神经网络模型的配置自由地限制),则可以从第m+k个LBA值(LBAm+k)的预测中排除该LBA值。
此后,LBA预测器30可以接收缺少流ID的数据(例如,LBA值),并且可以确定缺少流ID的LBA值可能位于其中的区域。
LBA预测器30可以将第一流ID(SID1)指派给接收到的第二区域II的LBA值,所述LBA值大于第m个LBA值(LBAm)且小于或等于第m+k个LBA值(LBAm+k)。
对于缺少流ID的LBA值,LBA预测器30可以以上述方式预先指派流ID,以将具有相同预测流ID的数据写入NVM 50的相同块中。因此,可以减轻或防止NVM 50的组成非易失性存储器单元的磨损。作为结果,可以减小存储设备20的写入放大,从而提高存储设备20的可靠性。
值得注意的是,以上使用的值‘n’、‘m’、‘k’和‘l’各自是自然数。具体地,‘k’可以是大于‘m’的自然数,并且‘l’可以是大于‘n’的自然数,但是实施例不限于此。
图11、图12和图13是示出根据一些实施例的存储系统的相应框图。
参照图11,与图1的实施例相比,存储系统2中的存储设备20的LBA预测器30还可以包括特征缓冲器32。
特征缓冲器32可以用于临时存储LBA相关信息。特征缓冲器32可以包含易失性存储器单元,例如DRAM单元、SRAM单元等。
LBA预测器30可以在某一步骤之后,将用以预测具有相同流ID的LBA值的LBA相关信息临时存储于特征缓冲器32中,且可以加载所述LBA相关信息以供在驱动神经网络模型时使用。
参照图12,与图1的实施例相比,根据一些实施例的存储系统3中的存储设备20的LBA预测器30可以被包括在接口60中,并且参照图13,与图12的实施例相比,存储系统4的LBA预测器30还可以包括特征缓冲器32。
图14是概述根据一些实施例的用于存储系统的操作方法的流程图。
参照图1和图14,存储系统1可以提取LBA相关信息,作为要输入到用于预测LBA值的神经网络模型的特征(S10)。
此后,存储系统1可以将作为要输入到神经网络模型的特征而提取的LBA相关信息分组到特征池中(S20)。这里,可以根据与相同的流ID相关联的单独的ID特定LBA相关信息来对特征池进行分组。
为了驱动神经网络模型,存储系统1可以使用相应特征(例如,与特征池的相同流ID相关联的ID特定LBA相关信息)来驱动(或运行)神经网络模型(S30)。
因此,存储系统1可以通过神经网络模型来预测LBA值(S40)。

Claims (20)

1.一种存储设备,包括:
缓冲存储器,被配置为存储与第一流标识符(ID)相关联且进一步与‘m’个LBA值相关联的第一ID特定逻辑块地址(LBA)相关信息,以及存储与第二流ID相关联且进一步与‘n’个LBA值相关联的第二ID特定LBA相关信息;以及
LBA预测器,包括神经网络模型并且被配置为基于所述第一ID特定LBA相关信息来预测第m+k个LBA值且基于所述第二ID特定LBA相关信息来预测第n+l个LBA值,其中n、m、k和l是自然数,
其中,所述神经网络模型被配置为
接收第一ID特定LBA相关信息,作为用于预测第m+k个LBA值的第一特征,
接收第二ID特定LBA相关信息,作为用于预测第n+l个LBA值的第二特征,
将第一流ID指派给大于第m个LBA值且小于或等于第m+k个LBA值的LBA值,以及
将第二流ID指派给大于第n个LBA值且小于或等于第n+l个LBA值的LBA值。
2.根据权利要求1所述的存储设备,其中,与所述第二ID特定LBA相关信息相关联的第一个LBA值大于与所述第一ID特定LBA相关信息相关联的最后一个LBA值。
3.根据权利要求1所述的存储设备,其中,所述m个LBA值中的每一个包含起始LBA值及LBA大小值,且所述神经网络模型进一步被配置为预测第m+k个起始LBA值。
4.根据权利要求1所述的存储设备,其中,k大于m,并且l大于n。
5.根据权利要求1所述的存储设备,其中,所述LBA预测器包括特征缓冲器,所述特征缓冲器被配置为存储所述第一ID特定LBA相关信息和所述第二ID特定LBA相关信息中的至少一个。
6.根据权利要求5所述的存储设备,其中,所述第一ID特定LBA相关信息以队列、阵列和列表中的至少一个被存储于所述特征缓冲器中。
7.根据权利要求1所述的存储设备,其中,所述第一ID特定LBA相关信息包括由所述存储设备接收相关联的LBA值的时间。
8.根据权利要求1所述的存储设备,其中,所述第一ID特定LBA相关信息包括由所述存储设备接收相关联的LBA值的时间间隔。
9.根据权利要求1所述的存储设备,其中,所述神经网络模型为回归模型或分类模型。
10.根据权利要求1所述的存储设备,其中,所述神经网络模型是单层感知器(SLP)模型或多层感知器(MLP)模型。
11.根据权利要求1所述的存储设备,其中,所述缓冲存储器是动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
12.一种存储设备,包括:
接口,被配置为从主机接收数据及对应的逻辑块地址(LBA),其中数据包含具有流ID的第一数据及缺乏流ID的第二数据中的至少一个;
非易失性存储器(NVM)设备,包含被配置为存储数据的至少一个非易失性存储器;
缓冲存储器;以及
LBA预测器,被配置为使用神经网络模型来提供对于第二数据的预测流ID,所述神经网络模型响应于与所述存储设备从主机接收的LBA值相关联的至少一个特征而操作,
其中,使用所述流ID将所述第一数据存储在NVM设备中,并且使用所述预测流ID将所述第二数据存储在NVM设备中。
13.根据权利要求12所述的存储设备,其中,所述至少一个特征包括第一特征和第二特征,并且
所述LBA预测器还被配置为在存储于缓冲存储器中的特征池里捆绑第一特征和第二特征。
14.根据权利要求13所述的存储设备,其中,所述LBA预测器进一步被配置为使用第一权重对第一特征进行加权以产生第一加权特征,使用第二权重对所述第二特征进行加权以产生第二加权特征,且将第一加权特征与第二加权特征求和以产生求和结果。
15.根据权利要求12所述的存储设备,其中,所述第一特征包括LBA值、LBA大小、在存储设备中接收LBA的次数以及在存储设备中接收LBA所根据的时间间隔中的至少一个。
16.根据权利要求12所述的存储设备,其中,所述LBA预测器被配置在所述接口内。
17.一种存储系统,包括:
主机,被配置为输出‘m’个逻辑块地址(LBA)值;以及
存储设备,
其中,存储设备包括:
接口,被配置为与所述主机通信并且接收所述m个LBA值,
缓冲存储器,被配置为临时存储所述m个LBA值,
非易失性存储器设备,被配置为存储与所述m个LBA值相对应的数据,和
LBA预测器,被配置为使用神经网络模型、响应于作为特征输入到神经网络模型的LBA相关信息来预测第m+k个LBA值。
18.根据权利要求17所述的存储系统,其中,所述存储设备进一步包含被配置为存储所述LBA相关信息的特征缓冲器。
19.一种用于存储系统的操作方法,所述方法包括:
将逻辑块地址(LBA)相关信息存储在缓冲存储器中,其中所述LBA相关信息与‘m’个LBA值相关联;
响应于所述LBA相关信息,使用包含神经网络模型的LBA预测器来预测第m+k个LBA值;以及
将预测流ID指派给大于第m个LBA值且小于或等于所述第m+k个LBA值的LBA值。
20.根据权利要求19所述的操作方法,其中,所述LBA相关信息包括LBA值、LBA大小、在存储设备中接收LBA的次数以及在存储设备中接收LBA所根据的时间间隔中的至少一个。
CN202011228309.8A 2019-11-08 2020-11-06 存储设备、存储系统及其操作方法 Pending CN112786095A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190142181A KR20210055875A (ko) 2019-11-08 2019-11-08 저장 장치와 저장 장치 시스템 그리고 그 동작 방법
KR10-2019-0142181 2019-11-08

Publications (1)

Publication Number Publication Date
CN112786095A true CN112786095A (zh) 2021-05-11

Family

ID=75584100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011228309.8A Pending CN112786095A (zh) 2019-11-08 2020-11-06 存储设备、存储系统及其操作方法

Country Status (4)

Country Link
US (1) US11429314B2 (zh)
KR (1) KR20210055875A (zh)
CN (1) CN112786095A (zh)
DE (1) DE102020119205A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681965B2 (en) * 2019-10-25 2023-06-20 Georgetown University Specialized computing environment for co-analysis of proprietary data
KR20210085674A (ko) 2019-12-31 2021-07-08 삼성전자주식회사 다중-스트림을 지원하도록 구성된 스토리지 장치 및 그것의 동작 방법
KR20230135748A (ko) * 2022-03-17 2023-09-26 에스케이하이닉스 주식회사 신경망을 이용하여 쓰기 주소를 결정하는 데이터 저장 장치
US11983442B2 (en) * 2022-06-22 2024-05-14 Western Digital Technologies, Inc. Data storage device and method for multi-level conditional prediction of future random read commands

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6468100A (en) 1987-09-08 1989-03-14 Audio Technica Kk Electro-acoustic transducer
KR100541642B1 (ko) 2004-03-11 2006-01-10 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
KR101606453B1 (ko) 2009-05-13 2016-04-01 삼성전자주식회사 비휘발성 데이터 저장 장치의 읽기 및 쓰기 성능 향상 방법
KR101856506B1 (ko) 2011-09-22 2018-05-11 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 쓰기 방법
US9817761B2 (en) * 2012-01-06 2017-11-14 Sandisk Technologies Llc Methods, systems, and computer readable media for optimization of host sequential reads or writes based on volume of data transfer
US9747214B2 (en) 2013-05-22 2017-08-29 Schwegman Lundberg & Woessner, P.A. Forecast modeling cache prefetch system and method
US9471229B2 (en) * 2014-12-15 2016-10-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Scaling performance for raid storage controllers by predictively caching data for host write requests
US10282324B2 (en) * 2015-07-13 2019-05-07 Samsung Electronics Co., Ltd. Smart I/O stream detection based on multiple attributes
CN106250064B (zh) 2016-08-19 2020-05-12 深圳大普微电子科技有限公司 固态硬盘控制装置和基于学习的固态硬盘数据存取方法
US10289309B2 (en) * 2016-09-12 2019-05-14 Toshiba Memory Corporation Automatic detection of multiple streams
US11049009B2 (en) 2017-06-12 2021-06-29 Western Digital Technologies, Inc. Identifying memory block write endurance using machine learning
US10394706B2 (en) * 2017-11-02 2019-08-27 Western Digital Technologies, Inc. Non-volatile storage with adaptive command prediction
US11037056B2 (en) 2017-11-21 2021-06-15 Distech Controls Inc. Computing device and method for inferring a predicted number of data chunks writable on a flash memory before wear out
CN110532195B (zh) * 2018-05-23 2023-04-07 爱思开海力士有限公司 存储器系统的工作负荷分簇及执行其的方法
US11294595B2 (en) * 2018-12-18 2022-04-05 Western Digital Technologies, Inc. Adaptive-feedback-based read-look-ahead management system and method

Also Published As

Publication number Publication date
US20210181986A1 (en) 2021-06-17
US11429314B2 (en) 2022-08-30
DE102020119205A1 (de) 2021-05-12
KR20210055875A (ko) 2021-05-18

Similar Documents

Publication Publication Date Title
US11669277B2 (en) Latency-based scheduling of command processing in data storage devices
CN113377283B (zh) 具有分区命名空间的存储器系统及其操作方法
US11150837B2 (en) Method, device and system for processing sequential groups of buffered write data
US11429314B2 (en) Storage device, storage system and operating method thereof
US11487666B2 (en) Timed data transfer between a host system and a memory sub-system
US11573742B2 (en) Dynamic data placement for collision avoidance among concurrent write streams
US11630766B2 (en) Memory system and operating method thereof
US11669272B2 (en) Predictive data transfer based on availability of media units in memory sub-systems
KR102434170B1 (ko) 하이브리드 메모리 시스템
US20220171574A1 (en) Multi-Pass Data Programming in a Memory Sub-System having Multiple Dies and Planes
TW201935223A (zh) 記憶體系統及其控制方法
CN108108261A (zh) 数据存储装置及其操作方法
CN112783424B (zh) 存储装置及其控制方法
KR20210032222A (ko) 메모리 컨트롤러 및 그것의 동작 방법
US20210382658A1 (en) Partial Execution of a Write Command from a Host System
CN114691017A (zh) 用以分配存储设备的多个存储通道以进行串流数据写入的方法、存储设备及其存储介质
US20240160575A1 (en) Storage device for load balancing and method therefor
CN110032333B (zh) 存储器系统及其操作方法
US20230236964A1 (en) Storage controller deallocating memory block, method of operating the same, and method of operating storage device including the same
US20220197543A1 (en) Method for assigning plurality of channels of storage device for stream data writing, storage device and storage medium
US20240061585A1 (en) Memory command assignment based on command processor workload
KR20240004013A (ko) 메모리 컨트롤러, 스토리지 장치 및 그 동작 방법
CN116501655A (zh) 将存储器块解除分配的存储控制器及其操作方法
CN116149540A (zh) 更新主机与闪存地址对照表的方法和计算机可读取存储介质和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination