CN116126251B - 一种实现多并发写入的方法、控制器和固态存储设备 - Google Patents

一种实现多并发写入的方法、控制器和固态存储设备 Download PDF

Info

Publication number
CN116126251B
CN116126251B CN202310349319.4A CN202310349319A CN116126251B CN 116126251 B CN116126251 B CN 116126251B CN 202310349319 A CN202310349319 A CN 202310349319A CN 116126251 B CN116126251 B CN 116126251B
Authority
CN
China
Prior art keywords
xor
user data
data
write command
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310349319.4A
Other languages
English (en)
Other versions
CN116126251A (zh
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.)
Beijing Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze Technology 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 Beijing Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Priority to CN202310349319.4A priority Critical patent/CN116126251B/zh
Publication of CN116126251A publication Critical patent/CN116126251A/zh
Application granted granted Critical
Publication of CN116126251B publication Critical patent/CN116126251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0658Controller construction 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/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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开一种实现多并发写入的方法、控制器和固态存储设备,涉及存储技术领域。其中,实现多并发写入的方法,包括:响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,写命令支持对多个页条带同时写入;将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和XOR存储地址中的XOR校验数据存储到NVM存储器中。本发明解决了当XOR计算器的内置缓存大小成为存储系统性能瓶颈时,如何保证存储系统能够支持更多条带同时写入的并发性能要求的问题。

Description

一种实现多并发写入的方法、控制器和固态存储设备
技术领域
本发明涉及存储技术领域,尤其涉及一种实现多并发写入的方法、控制器和固态存储设备。
背景技术
以固态存储设备(Solid Storage Device,SSD)为例,SSD用NVM(Non-VolatileMemory)存储器,即非易失性存储做为数据存储介质。NAND 闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random AccessMemory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM。
存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE, Chip Enable)信号的一个或多个逻辑单元(Logic Unit)。每个逻辑单元具有逻辑单元号(LUN, Logic UnitNumber)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。
现有技术中对多平面(Plane)NVM存储器的数据组织方式,NVM中存储的数据会在一定程度上出现损坏,为克服此类问题,通常在访问NVM时,通过错误校正码技术对NVM上存储的数据进行保护。常用的错误校正码包括BCH码(由Hocquenghem、Bose和Chandhari提出的能纠正多个随机错误的循环码)、LDPC码(LowDensity Parity Check Code,低密度奇偶校验码)、RS码(Reed-Solomon,里德-索罗门码)等。
为提升存储容量,固态存储设备中包括多个NVM存储器,如NAND型闪存,而NAND有一定的失效率,为提升固态存储设备的可靠性,按跨多个逻辑单元(LUN)的“块”条带来组织数据,也就是会将位于不同LUN的相同物理索引块绑定, 组成一个大块(对应superblock,xblock作为写入和擦除单元)。
存储设备提供了RAID数据保护技术,在将该条带的用户数据写入NAND阵列时,同步将条带中的用户数据进行异或运算并在条带中的用户数据写完时将之前生成的XOR异或结果同步写入NVM存储器中,当一个条带中的数据出现错误时,可以通过条带中其他位置的用户数据配合生成的XOR校验数据恢复得到出错位置的数据。
但是XOR计算器的内置缓存大小往往会成为存储系统的性能瓶颈,影响并发性能。
发明内容
本申请的目的在于提供一种实现多并发写入的方法、控制器和固态存储设备,解决当XOR计算器的内置缓存大小成为存储系统性能瓶颈时,如何保证存储系统能够支持更多条带同时写入的并发性能要求的问题。
根据本发明的第一方面,提供一种实现多并发写入的方法,包括:
响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,写命令支持对多个页条带同时写入;
将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;
XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和XOR存储地址中的XOR校验数据存储到NVM存储器中。
如上所述的实现多并发写入的方法,其中,XOR引擎对写命令对应的用户数据进行XOR计算之前,还包括:
判断页条带中的用户数据是否满足预设条件,如果满足则对页条带中的用户数据进行XOR计算;
其中预设条件为:页条带中的用户数据装满,或
页条带中的用户数据与XOR引擎一次处理的最大数据量的占比超过预设比值。
如上所述的实现多并发写入的方法,其中,还包括:
当单个页条带中的用户数据大于XOR引擎一次处理的最大数据量时,将页条带中的用户数据拆分成多个处理队列发送给XOR引擎进行XOR计算,生成多个XOR校验数据;
根据多个XOR校验数据生成写命令的用户数据对应的XOR校验数据。
如上所述的实现多并发写入的方法,其中,还包括:
片外缓存单元根据生成的XOR校验数据的大小划分多个存储资源,一个存储资源对应一个XOR存储地址。
如上所述的实现多并发写入的方法,其中,还包括:
多个页条带同时写入时,如果发生掉电,备用电源提供的能量支持将多个页条带中的用户数据存储到NVM存储器中。
如上所述的实现多并发写入的方法,其中,将多个页条带中的用户数据和相应XOR存储地址中的XOR校验数据同时存储到NVM存储器中。
如上所述的实现多并发写入的方法,其中,还包括:
对写命令对应的用户数据进行判断,如果用户数据为性能敏感的热数据流,则响应于写命令,XOR计算器对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到XOR计算器内置的XOR缓存中;
如果用户数据为性能不敏感的冷数据流,则响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到片外缓存单元中。
如上所述的实现多并发写入的方法,其中,还包括:
根据写命令将不同冷热数据分别同时写入不同的页条带中;或
根据写命令将来自主机端的不同数据流分别同时写入不同的页条带中;或
根据需求将来自不同区域的用户数据分别同时写入不同的页条带中。
根据本发明的第二方面,提供一种用于固态存储设备的控制器,包括:XOR引擎,用于与片外缓存单元耦合;
响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,所述写命令支持对多个页条带同时写入;
响应于XOR引擎进行XOR计算,将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;
响应于XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和 XOR存储地址中的XOR校验数据发送并存储到NVM存储器中。
根据本发明的第三方面,提供一种固态存储设备,包括:设置有XOR引擎的控制器、片外缓存单元和NVM存储器阵列;
控制器响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,所述写命令支持对多个页条带同时写入;
片外缓存单元用于XOR引擎进行XOR计算,将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;
NVM存储器阵列用于XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和XOR存储地址中的XOR校验数据存储到NVM存储器中。
相对上述背景技术,本申请实现的有益效果如下:
(1)本申请的实现多并发写入的方法具有当XOR计算器的内置缓存大小成为存储系统性能瓶颈时,能保证存储系统能够支持更多页条带同时写入的并发性能要求的技术效果。
(2)本申请的实现多并发写入的方法能够支持任意多的页条带同时写入,以支持更多种类的数据分离,有益于固态存储设备内部冷热数据(如垃圾回收/主机写入数据)分离或者多流(Multi-Streams),需要顺序流写入的ZNS(Zoned Namespace,分区命名空间)等需要多种类数据隔离存储,实现降低写放大。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明相关实施例中的大块和页条带示意图;
图2为本发明相关实施例中的块条带示意图;
图3为本发明相关实施例提供的利用XOR计算器和内置XOR缓存的数据写入流程图;
图4为本发明采用XOR引擎和DDR缓存进行数据写入的示意图;
图5为本发明利用XOR引擎结合DDR缓存生成XOR校验数据并写入NVM存储器的示意图。
图6为本发明实现多并发写入的方法一种实施例的流程图;
图7为冷热数据同时写入同一个页条带示意图;
图8为本发明利用XOR引擎结合DDR缓存分离冷热数据流的示意图;
图9为本发明利用XOR引擎结合DDR缓存分离多流数据场景的示意图;
图10为本申请利用XOR引擎结合DDR缓存分离ZNS数据流的示意图;
图11为本发明同时采用XOR引擎和DDR缓存,以及XOR计算器和内置XOR缓存方案进行冷热数据分离的示意图;
图12为本发明实现多并发写入的方法另一种实施例的流程图;
图13为本申请实施例的固态存储设备的组成示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不受限于在此阐述的那些顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本申请的公开之后将是清楚地那样被改变。此外,为了增加的清楚和简明,可省略在理解本申请的公开之后已知的特征的描述。
在此描述的特征可以以不同的形式来实现,而不应被解释为受限于在此描述的示例。相反,已提供在此描述的示例,以仅示出在理解本申请的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式。
贯穿说明书,当组件被描述为“连接到”或“结合到”另一组件时,所述组件可直接“连接到”或“结合到”所述另一组件,或者可存在一个或多个介于它们之间的其它组件。相反,当元件被描述为“直接连接到”或“直接结合到”另一元件时,可不存在介于它们之间的其它元件。同样地,相似的表述(例如,“在……之间”与“紧接在……之间”以及“与……邻近”与“与……紧邻”)也应以相同的方式来解释。如在此使用的,术语“和/或”包括相关所列项中的任意一个或相关所列项中的任意两个或更多个的任意组合。
尽管诸如“第一”、“第二”和“第三”的术语在此可用于描述各种构件、组件、区域、层或者部分,但是这些构件、组件、区域、层或者部分不受这些术语所限制。相反,这些术语仅用于将一个构件、组件、区域、层或者部分与另一构件、组件、区域、层或者部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或者第一部分也可被称为第二构件、第二组件、第二区域、第二层或者第二部分。
在此使用的术语仅用于描述各种示例,并将不用于限制公开。除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。术语“包含”、“包括”和“具有”说明存在陈述的特征、数量、操作、构件、元件和/或它们的组合,但不排除存在或添加一个或多个其它特征、数量、操作、构件、元件和/或它们的组合。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本申请所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与基于本申请的公开的理解和本公开所属领域的普通技术人员通常理解的含义相同的含义。除非在此明确地如此定义,否则术语(诸如在通用词典中定义的术语)应被解释为具有与它们在相关领域的上下文和本申请的公开中的含义一致的含义,并且不应被理想化或过于形式化地解释。在此关于示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,而所有示例不限于此。
图1为本发明相关实施例中的大块和页条带示意图,在大块基础上构造页条带,大块内的每个物理块的相同物理地址的物理页构成了“页条带”。
图2为本发明相关实施例中的块条带示意图,参看图2,示出了块条带的示意图。如在每16个逻辑单元(LUN0、LUN1、…… LUN15)上构造块条带,每个逻辑单元内相同物理地址的物理块构成了“块条带”。LUN0到LUN14的物理块B0可用于存储用户数据,而LUN15的物理块B0用于存储根据块条带内的用户数据计算得到的XOR校验数据。
类似地,图2中,LUN0-LUN15中地址为2的物理块B2构造块条带2,用于存储校验数据的物理块可以位于块条带中的任意LUN中,图2中XOR校验数据位置仅为示意。
NAND型闪存的基本数据写入存储单元是页(Page),NAND物理块包括多个页,块条带中具有相同地址的物理页构成页条带,为每个页条带计算XOR校验数据。
图1展示了大块和页条带。在大块上构造页条带,大块内的每个物理块的相同物理地址的物理页构成了“页条带”。图1中,物理页P0-0、物理页P0-1……与物理页P0-X构成了页条带0,其中物理页P0-0、物理页P0-1……物理页P0-14用于存储用户数据,而物理页P0-X用于存储根据页条带内的所有用户数据计算得到的XOR校验数据。类似地,物理页P2-0、物理页P2-1……与物理页P2-X构成了页条带2。可选地,用于存储XOR校验数据的物理页可以位于页条带中的任意位置。
固态存储设备在多平面闪存上组织数据。固态存储设备包括N个逻辑单元,每个逻辑单元内包括M个平面,来自N个逻辑单元中每个逻辑单元内具有相同物理地址N*M个物理块构成大块。数据组织方法包括:从N个逻辑单元的每个逻辑单元中选择提供给第一大块的M个物理块中的一个有效物理块组成第一块条带。
图3为本发明相关实施例中提供的利用XOR计算器和内置XOR缓存的数据写入流程图。XOR校验数据的生成依赖存储系统中的XOR计算器,如图3所示,在用户数据向NAND存储器的传送过程中,利用XOR计算器对该页条带的用户数据进行XOR计算,并将XOR校验数据存储于XOR计算器内置的XOR缓存中(如SRAM,静态随机存取存储器,Static Random-AccessMemory)。
当整个页条带中的XOR校验数据生成完毕后,由固件发起将页条带中的用户数据写入到NAND中,并将XOR校验数据从XOR缓存直接写入NAND。参看图3,XOR缓存一般采用高速缓存(如SRAM),由于成本限制,XOR计算器内置的XOR缓存一般大小固定,而且容量很小(如仅1MB,1024KB)。随着TLC、QLC NAND的普及,以及NAND平面(Plane)数越来越大,容量固定且容量小的XOR缓存成为固态硬盘存储系统中的性能瓶颈,限制了固态硬盘中同时并发写入条带的并发量。
以6平面(Plane)TLC NAND,每个平面(Plane)16KB用户数据为例,能够支持同时写入的条带数量仅为 3,具体计算公式如下:
1024 * 1024 (XOR缓存大小1024KB,换算为字节) / (16 * 1024 (每个Plane16KB用户数据,换算为字节)* 6(6个Plane)* 3 (TLC对应3个page) = 3。
如图3所示,当存储系统中XOR计算器内置的XOR缓存容量成为性能瓶颈时,本申请提出一种实现多并发写入的方法和装置,解决XOR计算器的缓存大小成为存储系统性能瓶颈时提高并发处理能力的问题,保证存储系统能够支持更多条带同时写入的并发性能的要求。
实施例一
图4为本发明采用XOR引擎和DDR缓存进行数据写入的示意图。图5为本发明利用XOR引擎结合片外缓存单元生成XOR校验数据并写入NVM存储器的示意图。图6为本发明实现多并发写入的方法一种实施例的流程图。如图4和图5所示,其中片外缓存单元可以是DDR(Double Data Rat,双倍速率同步动态随机存储器),假设带有片外缓存单元的SSD按照1GB:1MB的比例配备DRAM缓存,一个容量1000GB的SSD其DRAM缓存容量就有1000MB,使得片外缓存单元DDR的容量远远大于XOR计算器内置的XOR缓存的容量(如,1MB),在未额外增加硬件成本的情况下增加XOR缓存空间的容量。这样,可以为存储XOR校验数据提供更大的存储空间,因此可以支持更多数量的条带同时写入并发。
如图5和图6所示,利用固态存储设备中的控制器的片内XOR引擎结合片外缓存单元,本申请提供一种实现多并发写入的方法,包括:
步骤S1:固态存储设备响应于写命令,将页条带中的每个逻辑单元(LUN)对应的用户数据分别输入XOR引擎中,由XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据。
具体的,固态存储设备响应于主机端发送的写命令,其中,写命令至少包括:待写入数据;写命令支持对多个页条带同时写入。例如,将页条带0的用户数据、页条带1的用户数据……页条带N的用户数据输入至固态存储设备中的控制器的XOR引擎中,XOR引擎对写命令对应的用户数据进行计算,生成XOR校验数据。
进一步的,XOR引擎对写命令对应的用户数据进行XOR计算之前,还包括:判断页条带中的用户数据是否满足预设条件,如果满足则对页条带中的用户数据进行XOR计算。
进一步的,若判断页条带中的用户数据满足预设条件,则以处理队列的形式对页条带中的用户数据进行XOR计算。
作为一个实施例,预设条件为:页条带中的数据装满,或页条带中的用户数据与XOR引擎一次处理的最大数据量的占比超过预设比值。例如,每次主机端发送的数据都应尽量达到XOR引擎一次能计算的最大数据量,以减少固件与XOR引擎的交互次数。当页条带中的数据满足预设条件时,将页条带0的用户数据、页条带1的用户数据……页条带N的用户数据输入至固态存储设备中的控制器的XOR引擎中,XOR引擎对写命令对应的用户数据进行计算,生成XOR校验数据。该步骤中,使得XOR引擎尽可能一次可以计算更多的用户数据,减少交互次数的同时,还能在后续步骤中在计算完成后及时将计算的XOR校验数据存储倒片外缓存单元,提高写入效率和性能。
步骤S2:将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址。
具体的,XOR引擎对写命令对应的用户数据进行计算,生成XOR校验数据后,将生成的XOR-0校验数据、生成的XOR-1校验数据……生成的XOR-N校验数据分别写入至片外缓存单元中,并获取XOR校验数据在片外缓存单元中的XOR存储地址。作为一个实施例,片外缓存单元为DDR,但不仅限于DDR。
作为一个实施例,片外缓存单元根据生成的XOR校验数据的大小划分多个存储资源以供缓存数据使用。其中,一个存储资源对应一个片外缓存单元中的XOR存储地址。该方式避免了传统方案中XOR计算器内置XOR缓存容量过小的限制,使存储系统能够灵活分配并发页条带数,支持更多的页条带能够同时写入,增加后端NVM存储器阵列的写入并行度,提高了设备写入性能。
步骤S3:在XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和XOR存储地址中的XOR校验数据存储到NVM存储器中。
具体的,如图5所示,在XOR引擎计算完写命令所有的用户数据后,将页条带0的用户数据、页条带1的用户数据……页条带N的用户数据分别写入NVM存储器阵列的不同逻辑单元中,将生成的XOR-0校验数据、XOR-1校验数据……XOR-N校验数据分别写入至NVM存储器阵列的P0-x(XOR-0)、P1-x(XOR-1)……PN-x(XOR-N)中。
进一步的,当多个页条带同时写入数据时,如果发生掉电,备用电源提供的能量支持将多个页条带中的用户数据存储到NVM存储器中。
具体的,由于在SSD设备中,片外缓存单元是相对充足的资源,电容容量越大能支持的页条带数越多,因此结合上述方案,在电容足够的情况下,SSD设备可以灵活分配任意多的页条带同时写入,以支持更多种类的数据分离,如区分多流,区分性能敏感的热数据流(例如主机端热数据)和性能不敏感的冷数据流(例如垃圾回收数据、固件内部使用的元数据,也称作 "metadata")。或者在固件支持页条带长度有限的情况下,可以通过支持更多页条带写入来达到增加后端NVM存储器阵列写入并行度的情况。其中,足够的电容是用于保证多页条带同时写入,比如:同时有10个页条带在同时写入,每个页条带都只写了一部分数据,并未写满,如果此时发生掉电,那么每个页条带上还在缓存中没有写入NVM存储器的数据需要在掉电时写入NVM存储器,那么同时写入的页条带越多,掉电时需要写入NVM存储器的数据越多,也就需要有足够的电容支撑,保证掉电时数据写入。
进一步的,将多个页条带中的用户数据和相应XOR存储地址中的XOR校验数据同时存储到NVM存储器中。由于有足够的电容,即便发生掉电,也能利用备用电源将未写入NVM存储器的数据写入到NVM存储器,保证数据可靠性。
进一步的,如图8-图10所示,本申请提供的一种实现多并发写入的方法的步骤S3将页条带中的用户数据存储到NVM存储器中还包括:
根据写命令将不同冷热数据分别同时写入不同的页条带中;或
根据写命令将来自主机端的不同数据流分别同时写入不同的页条带中;或
根据需求将来自不同区域的用户数据分别同时写入不同的页条带中。
作为一个实施例,以隔离冷热数据为例,根据写命令将不同冷热数据分别同时写入不同的页条带中。
具体的,图7为冷热数据同时写入同一个页条带示意图。页条带A包括:LUN0、LUN1、LUN2、LUN3、LUN4……XOR LUN,页条带A中同时写入数据流0(热)和数据流0(冷)。以隔离冷热数据为例,能够同时写入条带很少的情况下,例如:只支持1个页条带同时写入时,会导致冷热数据同时写入同一个页条带,如图7所示,垃圾回收时会有更多无效的冷数据搬运,不利于写放大降低。
图8为本发明利用XOR引擎结合DDR缓存分离冷热数据流的示意图。如图8所示,后端NVM存储器阵列共有64个LUN,但是固件由于某些限制,页条带长度只能支持32个LUN的情况下,可以通过如图5所述方法(即:片外缓存单元根据生成的XOR校验数据的大小划分多个存储资源以供缓存数据使用),将后端NVM存储器阵列划分为2个32个LUN的页条带以用满后端带宽。在用户数据输入XOR引擎之前,先将用户数据写入的地址分配好,比如:页条带长度为64个LUN,则整个页条带的数据均匀分布在64个LUN中。如果XOR引擎一次只能处理32个LUN的数据,则可以分2次,先将LUN0-LUN31的热数据送入XOR引擎,生成热数据XOR校验,将LUN32- LUN 63的冷数据送入XOR引擎,生成冷数据XOR校验,冷数据XOR校验和热数据XOR校验生成所有64个LUN的XOR校验数据,即最终的XOR校验数据。
如图8所示,固件内部会将冷热数据分散到不同两个流中来实现冷热数据分流。
作为一个实施例,以多流数据场景为例,根据写命令将来自主机端的不同数据流分别同时写入不同的页条带中。例如,将数据流0中的热数据写入到条带0中,将数据流0中的冷数据写入到条带1中,实现冷热隔离,在垃圾回收时能够减少无效数据搬移降低写放大的目的。
进一步的,作为一个实施例,多流数据场景下,多个数据流的分配由主机端根据分配条件决定,完成分配后,主机端通过协议规定的方式通知固件每个数据属于哪个数据流。
其中,主机端进行数据流分配的分配条件为:不同应用之间数据需要隔离,或者同一个设备不同用户之间的数据需要隔离,或者不同命名空间之间数据隔离等。
具体的,图9为本发明利用XOR引擎结合DDR缓存分离多流数据场景的示意图,页条带A(简称页A)、页条带B(简称页B)、页条带C(简称页C)和页条带D(简称页D)每个页条带均包括:LUN0、LUN1、LUN2、LUN3、LUN4……XOR LUN。数据流0(热)和数据流0(冷)为同一个分配条件下的冷热数据流,数据流1(热)和数据流1(冷)为另一个同一分配条件下的冷热数据流,将数据流0(热)写入页条带A中,数据流0(冷)写入页条带B中,将数据流1(热)写入页条带C中,数据流1(冷)写入页条带D中。
如图9所示,固件内部会将冷热数据分散到不同两个流中来实现冷热数据分流,并将不同分配条件下的数据流分别同时写入不同的页条带中,以达到数据隔离,在垃圾回收时能够减少无效数据搬移降低写放大的目的。
作为一个实施例,根据需求将来自不同区域的用户数据分别同时写入不同的页条带中。
具体的,图10为本申请利用XOR引擎结合DDR缓存分离ZNS数据流的示意图,页条带A(简称页A)、页条带B(简称页B)、页条带C(简称页C)和页条带D(简称页D)均包括:LUN0、LUN1、LUN2、LUN3、LUN4……XOR LUN。Zone 0(压缩ZNS,顺序流)写入页条带A中,Zone 1(压缩ZNS,顺序流)写入页条带B中,Zone 2(随机流)写入页条带C中,Zone N写入页条带D中。
ZNS(Zoned Namespace,分区命名空间)是NVMe(non-volatile memory express,非易失性高速传输总线协议)中新扩展的命令集,ZNS SSD(Zoned Namespace SSD,即分区命名空间固态硬盘)把存储空间划分成不同的区域(Zone),如图10所示,Zone是作为单一单元被管理的逻辑块地址(LBA,Logical Block Address)的连续范围,ZNS包括多个Zone的命名空间。主机端确保向Zone提供的IO命令满足要求,采用区域(Zone)作为设备访问接口,完成读、写以及创建(open)、关闭(close)、重置(reset)等系列指令。
Zone的创建、使用和回收需要主机端管理,主机端还需要确保向Zone写入数据是按地址顺序写入,因为Zone不支持随机写。而一些场景中需要随机写入或数据本身需要随机写入,例如,Zone容量。Zone容量是描述Zone的元数据,在根据本申请实施例的Zone被写入数据的过程中,Zone容量可能随数据写入而变化,用随机写的方式能较好的更新诸如Zone容量的等元数据。数据能够被压缩,通过压缩数据,存储设备的数据存储密度得以增加。如图10所示,Zone0和Zone1是压缩的ZNS,为顺序流,Zone2为随机流,包含Zone容量等元数据。用户可以根据需求将来自不同Zone的数据记录在不同的命名空间,实现数据分流,对应固件内部数据写入不同的页条带,保证写入性能QoS(服务质量,Quality of Service)。
实施例二
本发明实施例二还提供一种实现多并发写入的方法,采用XOR引擎和DDR缓存,以及XOR计算器和内置XOR缓存组合的方式。
进一步的,图11为本发明同时采用XOR引擎和DDR缓存,以及XOR计算器和内置XOR缓存方案进行冷热数据分离的示意图。图12为本发明实现多并发写入的方法另一种实施例的流程图。本申请实施例二提供的一种实现多并发写入的方法包括:
步骤S0:对写命令对应的用户数据进行判断。
步骤S1’:如果用户数据为性能敏感的热数据流,则响应于写命令,XOR计算器对写命令对应的用户数据进行XOR计算,生成XOR校验数据。
步骤S2’:XOR校验数据存储到XOR计算器内置的XOR缓存中。
步骤S3’:在XOR计算器完成所有计算后,将内置的缓存中的XOR校验数据写入NVM存储器阵列中用于存储XOR校验数据的逻辑单元中,将页条带中的用户数据分别写入NVM存储器阵列中用于存储用户数据的不同逻辑单元中。
步骤S1:如果用户数据为性能不敏感的冷数据流,则响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据。
步骤S2:XOR校验数据存储到片外缓存单元中。
步骤S3:将页条带中的用户数据写入NVM存储器阵列中用于存储用户数据的不同逻辑单元中,将片外缓存单元中的XOR校验数据分别写入NVM存储器阵列中用于存储XOR校验数据的逻辑单元中。
具体的,该方法用于事先对写命令对应的用户数据进行判断,然后采用XOR引擎和DDR缓存,与及XOR计算器和内置XOR缓存方案进行组合,能够根据数据特点选择合适的缓存方案。若用户数据为性能敏感的热数据流(如来自主机端的热数据),固态存储设备响应于写命令,将页条带中的用户数据输入至XOR计算器,由XOR计算器对写命令对应的用户数据进行计算,生成XOR校验数据,并将XOR校验数据写入至XOR计算器内置的缓存中,在XOR计算器完成所有计算后,将内置的缓存中的XOR校验数据写入NVM存储器阵列中用于存储XOR校验数据的逻辑单元中,将页条带中的用户数据分别写入NVM存储器阵列中用于存储用户数据的不同逻辑单元中;若用户数据为性能不敏感的冷数据流(如来自垃圾回收的冷数据),固态存储设备响应于写命令,将页条带中的用户数据输入至XOR引擎中,由XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,并将生成的XOR校验数据写入至指定的片外缓存单元中的XOR存储地址,在XOR引擎完成写命令所有计算后,将页条带中的用户数据写入NVM存储器阵列中用于存储用户数据的不同逻辑单元中,将片外缓存单元中的XOR校验数据分别写入NVM存储器阵列中用于存储XOR校验数据的逻辑单元中。
为了解决多页条带对XOR引擎的争抢、固件与XOR引擎的额外交互、DDR带宽限制导致的性能下降问题,本发明对性能敏感的数据流(例如主机端热数据)采用XOR计算器和XOR计算器内置缓存的方法产生XOR 校验数据,对性能不敏感数据流(例如垃圾回收冷数据)使用XOR引擎和DDR缓存的方式产生XOR校验数据,以达到既能增加并行条带数,同时尽量不影响性能的目的。
需要说明的是,对于本发明实施例一中备用电源以及图8-图10中根据写命令将不同冷热数据分别同时写入不同的页条带中的方式也同样适用于实施例二,在此不再赘述。
实施例三
本发明实施例三提供一种用于固态存储设备的控制器,包括:XOR引擎,用于与片外缓存单元耦合。
响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,所述写命令支持对多个页条带同时写入;
响应于XOR引擎进行XOR计算,将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;
响应于XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和 XOR存储地址中的XOR校验数据发送并存储到NVM存储器中。
该控制器可以为介质接口控制器,多条带数据并行写入过程中借助控制器中的XOR引擎配合片外缓存单元既能实现XOR计算器结合内置XOR缓存的计算与缓存需求,还能解决XOR计算器的内置缓存大小成为存储系统性能瓶颈的问题,可以保证存储系统能够支持更多条带同时写入的并发性能要求。
基于实施例一和实施例二,本实施例提供的控制器可以仅利用XOR引擎结合片外缓存单元对全部用户数据都采用片外缓存的方式,或者还可以选择XOR引擎结合片外缓存与XOR计算器内置XOR缓存的方式来缓存XOR校验数据,达到既能增加并行条带数,同时尽量不影响性能的目的。
实施例四
本发明实施例四提供一种固态存储设备, 图13为本申请实施例的固态存储设备的组成示意图,如图13所示,固态存储设备1300包括:设置有XOR引擎13101的控制器1310、片外缓存单元1320和NVM存储器阵列1330;
控制器1310响应于写命令,XOR引擎13101对写命令对应的用户数据进行XOR计算,生成XOR校验数据,所述写命令支持对多个页条带同时写入;
片外缓存单元1320用于XOR引擎进行XOR计算,将生成的XOR校验数据存储到片外缓存单元1320,并获取XOR校验数据在片外缓存单元1320中的XOR存储地址;
NVM存储器阵列1330用于XOR引擎13101计算完写命令所有的用户数据后,将页条带中的用户数据和 XOR存储地址中的XOR校验数据存储到NVM存储器阵列1330中。
进一步的,多流数据场景下,多个数据流的分配由主机端根据分配条件决定,完成分配后,主机端通过协议规定的方式通知固件每个数据属于哪个数据流。固态存储设备1300根据主机端的写命令以及分配条件,对用户数据进行XOR计算并缓存XOR校验数据,再将用户数据和XOR校验数据都存储到NVM存储器阵列1330中。
以上所描述的装置或设备实施例仅仅是示意性的,其中作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (8)

1.一种实现多并发写入的方法,其特征在于,包括:
响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,所述写命令支持对多个页条带同时写入;
将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;
XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和XOR存储地址中的XOR校验数据存储到NVM存储器中;
其中,XOR引擎对写命令对应的用户数据进行XOR计算之前,还包括:
判断页条带中的用户数据是否满足预设条件,如果满足则对页条带中的用户数据进行XOR计算;
其中预设条件为:页条带中的用户数据装满,或
页条带中的用户数据与XOR引擎一次处理的最大数据量的占比超过预设比值;
其中,还包括:
对写命令对应的用户数据进行判断,如果用户数据为性能敏感的热数据流,则响应于写命令,XOR计算器对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到XOR计算器内置的XOR缓存中;
如果用户数据为性能不敏感的冷数据流,则响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到片外缓存单元中。
2.如权利要求1所述的实现多并发写入的方法,其特征在于,还包括:
当单个页条带中的用户数据大于XOR引擎一次处理的最大数据量时,将页条带中的用户数据拆分成多个处理队列发送给XOR引擎进行XOR计算,生成多个XOR校验数据;
根据多个XOR校验数据生成写命令的用户数据对应的XOR校验数据。
3.如权利要求1所述的实现多并发写入的方法,其特征在于,还包括:
片外缓存单元根据生成的XOR校验数据的大小划分多个存储资源,一个存储资源对应一个XOR存储地址。
4.如权利要求1所述的实现多并发写入的方法,其特征在于,还包括:
多个页条带同时写入时,如果发生掉电,备用电源提供的能量支持将多个页条带中的用户数据存储到NVM存储器中。
5.如权利要求1所述的实现多并发写入的方法,其特征在于,将多个页条带中的用户数据和相应XOR存储地址中的XOR校验数据同时存储到NVM存储器中。
6.如权利要求1-5任一项所述的实现多并发写入的方法,其特征在于,还包括:
根据写命令将不同冷热数据分别同时写入不同的页条带中;或
根据写命令将来自主机端的不同数据流分别同时写入不同的页条带中;或
根据需求将来自不同区域的用户数据分别同时写入不同的页条带中。
7.一种用于固态存储设备的控制器,其特征在于,包括:XOR引擎,用于与片外缓存单元耦合;
响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,所述写命令支持对多个页条带同时写入;
响应于XOR引擎进行XOR计算,将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;
响应于XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和 XOR存储地址中的XOR校验数据发送并存储到NVM存储器中;
其中,XOR引擎对写命令对应的用户数据进行XOR计算之前,还包括:
判断页条带中的用户数据是否满足预设条件,如果满足则对页条带中的用户数据进行XOR计算;
其中预设条件为:页条带中的用户数据装满,或
页条带中的用户数据与XOR引擎一次处理的最大数据量的占比超过预设比值;
其中,还包括:
对写命令对应的用户数据进行判断,如果用户数据为性能敏感的热数据流,则响应于写命令,XOR计算器对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到XOR计算器内置的XOR缓存中;
如果用户数据为性能不敏感的冷数据流,则响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到片外缓存单元中。
8.一种固态存储设备,其特征在于,包括:设置有XOR引擎的控制器、片外缓存单元和NVM存储器阵列;
控制器响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,所述写命令支持对多个页条带同时写入;
片外缓存单元用于XOR引擎进行XOR计算,将生成的XOR校验数据存储到片外缓存单元,并获取XOR校验数据在片外缓存单元中的XOR存储地址;
NVM存储器阵列用于XOR引擎计算完写命令所有的用户数据后,将页条带中的用户数据和XOR存储地址中的XOR校验数据存储到NVM存储器阵列中;
其中,XOR引擎对写命令对应的用户数据进行XOR计算之前,还包括:
判断页条带中的用户数据是否满足预设条件,如果满足则对页条带中的用户数据进行XOR计算;
其中预设条件为:页条带中的用户数据装满,或
页条带中的用户数据与XOR引擎一次处理的最大数据量的占比超过预设比值;
其中,还包括:
对写命令对应的用户数据进行判断,如果用户数据为性能敏感的热数据流,则响应于写命令,XOR计算器对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到XOR计算器内置的XOR缓存中;
如果用户数据为性能不敏感的冷数据流,则响应于写命令,XOR引擎对写命令对应的用户数据进行XOR计算,生成XOR校验数据,XOR校验数据存储到片外缓存单元中。
CN202310349319.4A 2023-04-04 2023-04-04 一种实现多并发写入的方法、控制器和固态存储设备 Active CN116126251B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310349319.4A CN116126251B (zh) 2023-04-04 2023-04-04 一种实现多并发写入的方法、控制器和固态存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310349319.4A CN116126251B (zh) 2023-04-04 2023-04-04 一种实现多并发写入的方法、控制器和固态存储设备

Publications (2)

Publication Number Publication Date
CN116126251A CN116126251A (zh) 2023-05-16
CN116126251B true CN116126251B (zh) 2023-07-04

Family

ID=86294218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310349319.4A Active CN116126251B (zh) 2023-04-04 2023-04-04 一种实现多并发写入的方法、控制器和固态存储设备

Country Status (1)

Country Link
CN (1) CN116126251B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700840B (zh) * 2023-08-03 2023-09-26 北京中电华大电子设计有限责任公司 文件执行方法、装置、电子设备及可读存储介质
CN117453152B (zh) * 2023-12-25 2024-04-02 武汉麓谷科技有限公司 一种ZNS固态硬盘Zone LBA管理方法以及区块管理命令的算法
CN117806568B (zh) * 2024-02-29 2024-06-07 山东云海国创云计算装备产业创新中心有限公司 一种数据更新方法、装置、设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153482B (zh) * 2016-12-05 2021-09-07 厦门旌存半导体技术有限公司 Io命令处理方法与介质接口控制器
US10565051B2 (en) * 2018-02-06 2020-02-18 Alibaba Group Holding Limited Accommodating variable page sizes in solid-state drives using customized error correction
CN110928482A (zh) * 2018-09-19 2020-03-27 北京忆恒创源科技有限公司 部分页条带与使用部分页条带的存储设备及其方法
CN113051189A (zh) * 2019-12-26 2021-06-29 成都忆芯科技有限公司 为多命名空间提供不同数据保护级别的方法与存储设备
US11138066B1 (en) * 2020-05-27 2021-10-05 Western Digital Technologies, Inc. Parity swapping to DRAM
US11500727B2 (en) * 2020-05-27 2022-11-15 Western Digital Technologies, Inc. ZNS parity swapping to DRAM
CN115657946A (zh) * 2022-10-26 2023-01-31 山东云海国创云计算装备产业创新中心有限公司 Raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质

Also Published As

Publication number Publication date
CN116126251A (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
CN116126251B (zh) 一种实现多并发写入的方法、控制器和固态存储设备
KR101564569B1 (ko) 상위-레벨 리던던시 정보 계산
KR101660150B1 (ko) 물리 페이지, 논리 페이지, 및 코드워드 대응
KR101912596B1 (ko) 리던던트 어레이들을 통한 비휘발성 메모리 프로그램 실패 복구
US20190102250A1 (en) Redundancy Coding Stripe Based On Internal Addresses Of Storage Devices
US9710199B2 (en) Non-volatile memory data storage with low read amplification
US10474528B2 (en) Redundancy coding stripe based on coordinated internal address scheme across multiple devices
KR20130114681A (ko) 독립 실리콘 소자들을 갖는 동적 상위 레벨 리던던시 모드 관리
CN109992202B (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
CN109753463B (zh) 控制器及其操作方法和存储系统及其操作方法
KR20220022092A (ko) 존 구획 네임스페이스를 갖는 호스트 관리 하드웨어 압축
US11550658B1 (en) Storage system and method for storing logical-to-physical address table entries in a codeword in volatile memory
CN108877862B (zh) 页条带的数据组织以及向页条带写入数据的方法与装置
CN110554833A (zh) 存储设备中并行处理io命令
US20230315646A1 (en) Method of managing data in storage device based on variable size mapping, method of operating storage device using the same and storage device performing the same
KR102589609B1 (ko) 분할된 저장장치에서의 스냅샷 관리
CN112148626A (zh) 压缩数据的存储方法及其存储设备
US11487465B2 (en) Method and system for a local storage engine collaborating with a solid state drive controller
US11314428B1 (en) Storage system and method for detecting and utilizing wasted space using a file system
CN117348789A (zh) 数据访问方法、存储设备、硬盘、存储系统及存储介质
CN110928482A (zh) 部分页条带与使用部分页条带的存储设备及其方法
US11868662B2 (en) Storage system and method for hybrid mapping
US11194489B2 (en) Zone-based device with control level selected by the host
US20230418514A1 (en) Key-To-Physical Table Optimization For Key Value Data Storage Devices
US20240193041A1 (en) Operation method of memory controller configured to control memory device

Legal Events

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