CN117693732A - 耐久性组ecc分配 - Google Patents
耐久性组ecc分配 Download PDFInfo
- Publication number
- CN117693732A CN117693732A CN202280048908.2A CN202280048908A CN117693732A CN 117693732 A CN117693732 A CN 117693732A CN 202280048908 A CN202280048908 A CN 202280048908A CN 117693732 A CN117693732 A CN 117693732A
- Authority
- CN
- China
- Prior art keywords
- endurance
- decoder
- access
- group
- data storage
- 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
- 238000013500 data storage Methods 0.000 claims abstract description 85
- 208000011580 syndromic disease Diseases 0.000 claims description 40
- 238000012937 correction Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100036725 Epithelial discoidin domain-containing receptor 1 Human genes 0.000 description 1
- 101710131668 Epithelial discoidin domain-containing receptor 1 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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
- 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/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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种数据存储设备包括具有多个耐久性组的存储器设备,以及耦接到该存储器设备的控制器。控制器包括至少一个解码器或至少一个解码器组。控制器被配置成将多个令牌分配给多个耐久性组中的每个耐久性组,从耐久性组接收令牌的支付以访问至少一个解码器或至少一个解码器组,并且基于令牌的支付向耐久性组授权对至少一个解码器或至少一个解码器组的访问。每个解码器或每个解码器组与相同或不同的令牌支付相关联,并且每个耐久性组具有令牌的最大容量。
Description
相关申请的交叉引用
本申请出于所有目的要求2021年9月1日提交的名称为“耐久性组ECC分配(ENDURANCE GROUPS ECC ALLOCATION)”的美国非临时申请第17/464,384号的全部内容的权益并且特此以引用方式并入。
背景技术
技术领域
本公开的实施方案整体涉及数据存储设备,诸如固态驱动器(SSD),以及每个耐久性组的解码资源的分配。
相关领域的描述
在许多消费产品中,主机设备不直接管理数据存储设备的非易失性存储器的裸片。相反,主机设备可以将责任委托给数据存储设备的控制器,并且作为回报,接收数据存储设备的完整包(例如,闪存转换层(FTL)信息、纠错码(ECC)、损耗均衡等)。此外,数据存储设备对于主机设备已经变得更加透明,其中主机设备能够根据主机设备的需要来控制和调整存储行为。通过实现与非易失性存储器express(NVMe)有关的更新的规范和协议,主机设备被给予对数据存储设备的更多控制。控制每个用户或应用(例如,NVM集和耐久性组)接收的服务以便确保公平性并满足每个组的数据存储设备要求的能力是至关重要的。
数据存储设备可以被设计成将特定裸片或通道映射到不同的非易失性存储器(NVM)组或耐久性组。该映射可以有效地将数据存储设备分成多个相对独立的驱动器。因此,拆分允许在多个相对独立的驱动器之间分散损耗均衡以及严格的划分性能。然而,因为数据存储设备的部件可以在多个相对独立的驱动器之间共享,所以对诸如解码器的资源的请求可能导致数据存储设备经历较高的延迟并产生较低的服务质量(QoS)。
因此,在本领域中需要一种用于多个NVM集或耐久性组之间的数据存储设备的资源的改进的共享机制。
发明内容
本公开整体涉及数据存储设备,诸如固态驱动器(SSD),以及每个耐久性组的解码资源的分配。一种数据存储设备包括具有多个耐久性组的存储器设备,以及耦接到该存储器设备的控制器。控制器包括至少一个解码器或至少一个解码器组。控制器被配置成将多个令牌分配给多个耐久性组中的每个耐久性组,从耐久性组接收令牌的支付以访问至少一个解码器或至少一个解码器组,并且基于令牌的支付向耐久性组授权对至少一个解码器或至少一个解码器组的访问。每个解码器或每个解码器组与相同或不同的令牌支付相关联,并且每个耐久性组具有令牌的最大容量。
在一个实施方案中,数据存储设备包括具有多个耐久性组的存储器设备和耦接到该存储器设备的控制器。控制器包括至少一个解码器。控制器被配置为将多个令牌分配给多个耐久性组中的每个耐久性组,从多个耐久性组中的一个或多个耐久性组接收令牌的支付以访问至少一个解码器,并且基于令牌的支付向多个耐久性组中的一个或多个耐久性组授权对至少一个解码器的访问。
在另一个实施方案中,数据存储设备包括具有多个耐久性组的存储器设备和耦接到该存储器设备的控制器。控制器包括多个解码器。多个解码器包括基于功率消耗和/或校正能力的多个层。控制器被配置为将多个令牌分配给多个耐久性组中的每个耐久性组,从多个耐久性组中的耐久性组接收多个令牌以访问多个解码器中的一个解码器,其中多个解码器中的每个解码器与多个层中的层相关联,其中令牌的数量对应于多个层中的每个层的访问支付,并且向耐久性组授权对与访问支付相关联的解码器的访问。
在另一个实施方案中,数据存储设备包括具有多个耐久性组的存储器装置和耦接到该存储器设备的控制器。控制器包括第一组解码器和第二组解码器。每个耐久性组具有与对第一组解码器的访问相关联的第一校正子权重阈值。每个耐久性组具有与对第二组解码器的访问相关联的第二校正子权重阈值。控制器被配置为基于令牌的支付向多个耐久性组中的耐久性组授权对第一组解码器和第二组解码器的访问,并且调整第一校正子权重阈值、第二校正子权重阈值或者第一校正子权重阈值和第二校正子权重阈值两者。
附图说明
因此,通过参考实施方案,可以获得详细理解本公开的上述特征的方式、本公开的更具体描述、上述简要概述,所述实施方案中的一些在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施方案并且因此不应视为限制其范围,因为本公开可以允许其他同等有效的实施方案。
图1是示出根据某些实施方案的存储系统的示意性框图,其中数据存储设备可用作主机设备的存储设备。
图2是根据某些实施方案的NVM集和相关联的示例命名空间的图示。
图3是根据某些实施方案的解码器池架构的图示。
图4是根据某些实施方案的令牌桶的图示。
图5是示出根据某些实施方案的解码器共享的方法的流程图。
图6是示出根据某些实施方案的解码器池访问的方法的流程图。
图7是示出根据某些实施方案的校正子权重(SW)阈值过滤的方法的流程图。
图8是示出根据某些实施方案的具有各种阈值的吞吐量(Y)与误码率(BER)的曲线图的图示。
为了有助于理解,在可能的情况下,使用相同的参考标号来表示附图中共有的相同元件。可以设想,在一个实施方案中公开的元件可有利地用于其他实施方案而无需具体叙述。
具体实施方式
在下文中,参考本公开的实施方案。然而,应当理解,本公开不限于具体描述的实施方案。相反,思考以下特征和元件的任何组合(无论是否与不同实施方案相关)以实现和实践本公开。此外,尽管本公开的实施方案可以实现优于其他可能解决方案和/或优于现有技术的优点,但是否通过给定实施方案来实现特定优点不是对本公开的限制。因此,以下方面、特征、实施方案和优点仅是说明性的,并且不被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。同样地,对“本公开”的引用不应当被解释为本文公开的任何发明主题的概括,并且不应当被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。
本公开整体涉及数据存储设备,诸如固态驱动器(SSD),以及每个耐久性组的解码资源的分配。一种数据存储设备包括具有多个耐久性组的存储器设备,以及耦接到该存储器设备的控制器。控制器包括至少一个解码器或至少一个解码器组。控制器被配置成将多个令牌分配给多个耐久性组中的每个耐久性组,从耐久性组接收令牌的支付以访问至少一个解码器或至少一个解码器组,并且基于令牌的支付向耐久性组授权对至少一个解码器或至少一个解码器组的访问。每个解码器或每个解码器组与相同或不同的令牌支付相关联,并且每个耐久性组具有令牌的最大容量。
图1是根据某些实施方案的存储系统100的示意性框图,其中主机设备104与数据存储设备106通信。例如,主机设备104可以利用包括在数据存储设备106中的非易失性存储器(NVM)110来存储和检索数据。主机设备104包括主机DRAM 138。在一些示例中,存储系统100可以包括可作为存储阵列工作的多个存储设备,诸如数据存储设备106。例如,存储系统100可以包括多个数据存储设备106,其被配置成共同用作主机设备104的大容量存储设备的廉价/独立磁盘(RAID)冗余阵列。
主机设备104可以向一个或多个存储设备(诸如数据存储设备106)存储数据和/或从其检索数据。如图1所示,主机设备104可以经由接口114与数据存储设备106通信。主机设备104可以包括多种设备中的任何一种,包括计算机服务器、网络附接存储(NAS)单元、台式计算机、笔记本(即膝上型)计算机、平板计算机、机顶盒、电话手机诸如所谓的“智能”电话、所谓的“智能”平板电脑、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备,或能够从数据存储设备发送或接收数据的其他设备。
数据存储设备106包括控制器108、NVM 110、功率源111、易失性存储器112、接口114和写缓冲器116。在一些示例中,为了清楚起见,数据存储设备106可以包括图1中未示出的附加部件。例如,数据存储设备106可以包括印刷电路板(PCB),数据存储设备106的部件机械地附接到该印刷板,并且该印刷板包括电互连数据存储设备106的部件等的导电迹线。在一些示例中,数据存储设备106的物理尺寸和连接器配置可以符合一个或多个标准形状因数。一些示例性标准形状因子包括但不限于3.5"数据存储设备(例如,HDD或SSD)、2.5"数据存储设备、1.8"数据存储设备、外围部件互连(PCI)、PCI扩展(PCI-X)、PCI Express(PCIe)(例如,PCIe x1、x4、x8、x16、PCIe Mini卡、MiniPCI等)。在一些示例中,数据存储设备106可以直接耦接(例如,直接焊接或插入到连接器中)到主机设备104的母板。
接口114可以包括用于与主机设备104交换数据的数据总线和用于与主机设备104交换命令的控制总线中的一者或两者。接口114可以根据任何合适的协议工作。例如,接口114可以根据以下协议中的一个或多个协议来操作:高级技术附件(ATA)(例如,串行ATA(SATA)和并行ATA(PATA))、光纤信道协议(FCP)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、PCI和PCIe、非易失性存储器express(NVMe)、OpenCAPI、GenZ、高速缓存相干接口加速器(CCIX)、开放信道SSD(OCSSD)等。接口114(例如,数据总线、控制总线或两者)电连接到控制器108,从而提供主机设备104与控制器108之间的电连接,允许在主机设备104与控制器108之间交换数据。在一些示例中,接口114的电连接还可以允许数据存储设备106从主机设备104接收电力。例如,如图1所示,电源111可以经由接口114从主机设备104接收电力。
NVM 110可包括多个存储器设备或存储器单元。NVM 110可以被配置成存储和/或检索数据。例如,NVM 110的存储器单元可接收数据和来自控制器108的指示存储器单元存储该数据的消息。类似地,存储器单元可从控制器108接收指示存储器单元检索数据的消息。在一些示例中,存储器单元中的每个存储器单元可以被称为裸片。在一些示例中,NVM110可包括多个裸片(例如,多个存储器单元)。在一些示例中,每个存储器单元可以被配置成存储相对大量的数据(例如,128MB、256MB、512MB、1GB、2GB、4GB、8GB、16GB、32GB、64GB、128GB、256GB、512GB、1TB等)。
在一些示例中,每个存储器单元可以包括任何类型的非易失性存储器设备,诸如闪存存储器设备、相变存储器(PCM)设备、电阻随机存取存储器(ReRAM)设备、磁阻随机存取存储器(MRAM)设备、铁电随机存取存储器(F-RAM)、全息存储器设备、以及任何其他类型的非易失性存储器设备。
NVM 110可包括多个闪存存储器设备或存储器单元。NVM闪存存储器设备可包括基于NAND或NOR的闪存存储器设备,并且可基于包含在用于每个闪存存储器单元的晶体管的浮栅中的电荷来存储数据。在NVM闪存存储器设备中,闪存存储器设备可被划分成多个裸片,其中多个裸片中的每个裸片包括多个物理或逻辑块,这些物理或逻辑块可被进一步划分成多个页面。特定存储器设备内的多个块中的每个块可以包括多个NVM单元。NVM单元的行可以使用字线来电连接以限定多个页面中的页面。多个页面中的每个页面中的相应单元可以电连接到相应位线。此外,NVM闪存存储器设备可以是2D或3D设备,并且可以是单级单元(SLC)、多级单元(MLC)、三级单元(TLC)或四级单元(QLC)。控制器108可在页面层级向NVM闪存存储器设备写入数据以及从其读取数据,以及在块层级从NVM闪存存储器设备擦除数据。
电源111可以向数据存储设备106的一个或多个部件提供电力。当以标准模式操作时,电源111可以使用由外部设备诸如主机设备104提供的电力向一个或多个部件供电。例如,电源111可以使用经由接口114从主机设备104接收的电力向一个或多个部件供电。在一些示例中,电源111可以包括一个或多个电力存储部件,其被配置成当以关闭模式操作时向一个或多个部件供电,诸如在停止从外部设备接收电力的情况下。以这种方式,电源111可以用作机载备用电源。一个或多个电力存储部件的一些示例包括但不限于电容器、超级电容器、电池等。在一些示例中,可由一个或多个电力存储部件存储的电量可以是该等一个或多个电力存储部件的成本和/或尺寸(例如,面积/体积)的函数。换言之,随着由一个或多个电力存储部件存储的电量增加,一个或多个电力存储部件的成本和/或尺寸也增加。
易失性存储器112可由控制器108用来存储信息。易失性存储器112可包括一个或多个易失性存储器设备。在一些示例中,控制器108可使用易失性存储器112作为高速缓存。例如,控制器108可将高速缓存的信息存储在易失性存储器112中,直到高速缓存的信息被写入到NVM 110。如图1所示,易失性存储器112可以消耗从电源111接收的电力。易失性存储器112的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)和同步动态RAM(SDRAM(例如,DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4、LPDDR4等))。
控制器108可以管理数据存储设备106的一个或多个操作。例如,控制器108可以管理从NVM 110读取数据和/或将数据写入该NVM。在一些实施方案中,当数据存储设备106从主机设备104接收写入命令时,控制器108可以发起数据存储命令以将数据存储到该NVM110并且监测数据存储命令的进度。控制器108可以确定存储系统100的至少一个操作特性,并且将该至少一个操作特性存储到该NVM 110。在一些实施方案中,当数据存储设备106从主机设备104接收到写入命令时,控制器108在将数据发送至NVM 110之前将与写入命令相关联的数据暂时存储在内部存储器或写入缓冲器116中。
控制器108包括解码器池150。解码器池150可以是控制器108的低密度奇偶校验(LDPC)引擎的一部分。解码器池150可以包括一个或多个解码器,其中一个或多个解码器中的每一个具有一个或多个档位。一个或多个档位中的每一个可以是层1解码器、层2解码器或层3解码器。解码器层可以被分组为解码器组,使得层1解码器组仅包括层1解码器,层2解码器组仅包括层2解码器,并且层3解码器仅包括层3解码器。解码器的不同层的示例并非旨在限制,而是提供可能实施方案的示例。例如,术语“层”的使用可以用作针对不同情况专门化的不同解码器的占位符。此外,设想了多于或少于所举例说明的解码器层。
层1解码器可用于较不密集的解码任务,诸如用于低误码率(BER)码字,并且层2解码器和层3解码器可用于较密集的解码任务,诸如用于较高的BER码字。在其他实施方案中,所选择的解码器可以基于接收到的码字是否超过层1解码器、层2解码器或层3解码器的某个特定校正子权重阈值。所利用的解码器可以取决于解码操作以及所利用的当前资源,诸如数据存储设备的其他部件的当前功耗。各种解码器可以使用延迟和电力与校正能力之间的权衡,使得折衷是换挡方案。例如,层1解码器可以是位翻转解码器,而层2解码器和层3解码器可以是消息传递解码器。在这种情况下,当与层3解码器相比时,层2解码器可以是更快的消息传递解码器,并且当与层2解码器相比时,层3解码器可以是更强的消息传递解码器。
图2是根据某些实施方案的NVM集和相关联的示例命名空间的图示。包括一个或多个NVM集202、212、220的NVM可以是图1的NVM 110。每个NVM集包括一个或多个命名空间(NS)和未分配区域,该未分配区域包括尚未分配给NVM集中的命名空间的可用NVM存储空间。在一个实施方案中,每个NVM集包括相同数量的命名空间。例如,第一NVM集A 202、第二NVM集B212和第三NVM集C 220各自包括一个命名空间。应当理解,在该上下文中的指示符“第一”、“第二”和“第三”是相对的而不是绝对的;即,“第一”NVM集不需要是裸片上的第一个,或者不需要是在过程中选择的第一个。在另一个实施方案中,每个NVM集包括不同数量的命名空间,其中一个或多个NVM集可以具有与一个或多个NVM集相同数量的命名空间。
在另一个示例中,第一NVM集A 202包括三个命名空间:第一NS A1 204、第二NS A2206和第三NS A3 208。第二NVM集B 212包括两个命名空间,第一NS B1 214和第二NS B2216。第三NVM集C 220包括一个命名空间,第一NS C1 222。在一些实施方案中,所公开的NVM的命名空间可以是相同的大小,而在其他实施方案中,这样的命名空间可以是不同的大小。此外,命名空间可以跨多个NVM或在单个NVM上进行逻辑分配。
每个命名空间包括NVM中的一个或多个存储器位置,其中NVM中的每个存储器位置对于命名空间是唯一的。此外,存储在NVM集的每个命名空间和每个未分配区域中的数据可以在逻辑到物理(L2P)表中被逻辑组织。L2P表包括指向存储在一个或多个NVM集的每个存储器位置中的相关数据的逻辑块地址(LBA)的指针。
在一个实施方案中,一个或多个NVM集的每个命名空间可以具有相同量的NVM存储空间。例如,第一NVM集A 202的第一NS A1 204和第二NS A2 206可以各自在NVM中具有相同的存储空间,诸如大约128MB。在另一个实施例中,一个或多个NVM集的每个命名空间可以具有不同量的NVM存储空间,其中一个或多个命名空间可以具有与一个或多个命名空间相同量的NVM存储。在另一个示例中,第一NVM集A 202的第一NS A1 204可以包括大约128MB的存储,并且第一NVM集A 202的第二NS A2 206可以包括大约256MB的存储。所列出的存储容量值并不旨在进行限制,而是提供可能实施方案的示例。
在一个实施方案中,一个或多个NVM集的每个未分配区域可以具有相同量的NVM存储空间。例如,第一NVM集A 202的未分配区域210和第二NVM集B 212的未分配区域218以及第三NVM集C 220的未分配区域224可以各自在NVM中具有相同的存储空间,诸如大约512MB。在另一个实施例中,一个或多个NVM集的每个未分配区域可以具有不同量的NVM存储空间,其中一个或多个未分配区域可以具有与一个或多个未分配区域相同量的NVM存储。在另一个示例中,第一NVM集A 202的未分配区域210可以包括大约1024MB的存储,并且第二NVM集B212的未分配区域218可以包括大约512MB的存储,并且第三NVM集C 220的未分配区域224可以包括大约750MB的存储。所列出的存储容量值并不旨在进行限制,而是提供可能实施方案的示例。
图3是示出根据所公开的实施方案的解码器池架构300的示意性框图。解码器池架构300可以是图1的解码器池150的一部分。在某些方法中,提供给解码器池的码字可以首先被提供给低阶解码器(例如,层1解码器)。然而,如果低阶解码器失败,诸如当码字具有大于低阶解码器的阈值FBC的失败位计数(FBC)时,则码字被发送到较高阶的解码器(例如,层2解码器和/或层3解码器)。此外,解码器池架构300的多个解码器可以被划分成独立解码器的组。例如,第一解码器组可以仅包括层1解码器,第二解码器组可以仅包括层2解码器,并且第三解码器组可以仅包括层3解码器。在一个示例中,如果使用层3解码器的码字具有长的解码延迟,则控制器(诸如图1的控制器108)可以仍使用层1解码器和层2解码器进行其他码字解码操作。解码器池架构300包括多个层1解码器304a-n、多个层2解码器306a-n以及多个层3解码器308a-n。在一些实施方案中,层1解码器的数量大于层2解码器的数量,并且层2解码器的数量大于层3解码器的数量。
此外,控制器108可以被配置为确定多个解码器304a-n、306a-n、308a-n中的哪个解码器将对接收到的码字进行解码。接收到的码字可以来自易失性存储器,诸如图1的易失性存储器112,或者来自NVM,诸如图1的NVM 110。例如,如果控制器108确定接收到的码字包括高BER,则接收到的码字可以由多个层3解码器308a-n中的一个来解码,而不是由多个层1解码器304a-n中的一个或多个层2解码器306a-n中的一个来解码。
图4是根据某些实施方案的令牌桶402的图示。令牌桶402可以是与图2的一个或多个NVM集202、212、220中的任何一个或一个或多个NVM集202、212、220中的每一个相关联的令牌桶。令牌桶402包括一个或多个令牌404。在数据存储设备(诸如图1的数据存储设备106)的启动期间,或者在数据存储设备106的整个操作期间,控制器(诸如图1的控制器108)可以将多个一个或多个令牌404分配给一个或多个NVM集202、212、220中的每一个。可以设想,分配的令牌数量在每个NVM集之间可以不同。此外,可以设想,可以为少于所有的NVM集分配多个一个或多个令牌404。
在一个实施方案中,一个或多个令牌404的总数是有限数,使得控制器108可以仅分配至多一个或多个令牌404的总数。例如,一个或多个令牌404的总数可以基于数据存储设备106的统计,并且可以在数据存储设备106的寿命期间进行调整。在另一个实施方案中,一个或多个令牌404的总数可以取决于性能或服务质量(QoS)要求。此外,每个令牌桶402可以具有令牌的最大容量。
在数据存储设备106操作期间,随着NVM 110的裸片的编程/擦除循环(PEC)增加,单元状态可以移位和变宽,这可以导致更频繁的读取阈值校准并且需要更长且更强大的解码操作。为了减轻操作数据存储设备106随时间的影响,控制器108可以采用损耗均衡机制来确保NVM 110的每个块具有相似的PEC数。损耗均衡机制可以与耐久性组结合使用,其中一个或多个NVM集202、212、220中的每个NVM集可以与耐久性组相关联。出于示例性目的,NVM集202、212、220中的每一个可以被称为耐久性组。例如,第一NVM集A 202可以被称为第一耐久性组,第二NVM集B212可以被称为第二耐久性组,并且第三NVM集C 220可以被称为第三耐久性组。
将一个或多个令牌404分配给一个或多个耐久性组可以基于一个或多个因素,以便不超过带宽分配。例如,一个或多个因素可以包括基于与耐久性组相关联的功率的因素、基于与耐久性组相关联的解码时钟的数量的因素,或者先前列出的因素的组合。应当理解,未列出的其它因素是可以设想的,并且可适用于所描述的实施方案。带宽分配可以基于耐久性组的大小、耐久性组的数据类型、耐久性组的总体使用情况或者先前列出的元素的组合。
在数据存储设备106操作期间,每个耐久性组可以利用在令牌桶402中累积的任何令牌404来“付费”访问解码器池(诸如图3的解码器池302)的解码器组。例如,向层1解码器支付1个令牌可能足以访问层1解码器,向层2解码器支付2个令牌可能足以访问层2解码器,并且向层3解码器支付3个令牌可能足以访问层3解码器。可以设想,耐久性组可以支付多于最小数量的令牌以访问解码器组,使得支付可以反映访问请求的紧迫性或优先级。此外,一个或多个令牌404可以由控制器108供应,使得每个耐久性组可以以预定速率累积一个或多个令牌404,其中预定速率对于每个耐久性组可以是相同的或不同的。因为每个耐久性组的一个或多个令牌404的数量可以是有限的或者受限的,所以解码器池302的解码器组(包括解码器)可以基于由于一个或多个令牌404的支付而产生的需要在耐久性组之间公平地分布。
返回参考图3,多个解码器304a-n、306a-n、308a-n中的每一个可以包括至少第一队列和第二队列。例如,第一层1解码器304a包括第一队列、第二队列和第三队列。用于解码器的队列中的每一个可以与不同优先级相关联。例如,第一队列可以具有第一优先级,第二队列可以具有第二优先级,并且第三队列可以具有第三优先级,其中第一优先级具有最高的解码访问优先级,并且第三优先级具有最低的解码访问优先级。耐久性组可以为解码器访问支付比最小令牌量更多的令牌,以便访问更高的优先级。例如,如果第三队列具有1个令牌的支付,第二队列具有2个令牌的支付,并且第三队列具有3个令牌的支付,则耐久性组可以支付3个令牌以被放置在第一队列中。
此外,耐久性组可以基于数据类型支付不同量的令牌以访问多个解码器304a-n、306a-n、308a-n中的每个解码器组。例如,在非限制性列表中,各种数据类型可以包括备份数据、快速失败数据和待检索的数据。因此,耐久性组可以为快速失败数据的解码支付比备份数据更多的令牌,使得支付更多的令牌授权访问更快的解码器,诸如层2解码器或层3解码器。
图5是示出根据某些实施方案的解码器共享的方法500的流程图。方法500可以由控制器(诸如图1的控制器108)执行,其中被共享的解码器可以是图3的多个解码器304a-n、306a-n、308a-n。此外,解码器可以由多个耐久性组共享,诸如图2的一个或多个NVM集202、212、220。
在框502处,控制器108将一个或多个令牌(诸如图4的一个或多个令牌404)分配给多个耐久性组中的每个耐久性组。一个或多个令牌404的分配可以是不均匀的,使得耐久性组可以接收与另一个耐久性组不同的一个或多个令牌404的分配。在框504处,控制器108从耐久性组接收多个令牌用于解码器访问。令牌的数量可以取决于解码器层、所请求的优先级、数据类型或先前列出的选项的组合。每个耐久性组可以采用几种“花费”策略,以便根据其优先级来最大化或优化令牌使用。在框506处,控制器108确定耐久性组是否已经为所请求的解码器组支付了足够数量的令牌以使用该解码器组的解码器。
如果在框506处已经支付了不正确数量的令牌,则在框508处,控制器108通知并向耐久性组请求正确的量。如果在框506处由耐久性组支付了正确或足够数量的令牌,则在框510处,控制器108将耐久性组添加到相应解码器的队列。通过将耐久性组添加到到相应解码器的队列,控制器108有效地向相应解码器授权对耐久性组的访问。在框512处,控制器108按优先级对解码器队列重新排序,使得在执行较低优先级访问请求之前执行高优先级访问请求。在框514处,解码器按照优先级顺序对与请求访问的耐久性组相关联的数据进行解码。
优先级顺序可以在队列之间循环分配解码器访问,使得首先执行来自第一队列的解码器访问请求,其次执行来自第二队列的解码器访问请求,并且第三执行来自第三队列的解码器访问请求,依此类推。同样地,在队列内,对于相等的访问支付,解码器访问可以是循环分配的。此外,访问请求可以与队列时间相关联,使得队列时间大于阈值时间的访问请求可以增加优先级。
图6是示出根据某些实施方案的解码器池访问的方法600的流程图。方法600可以由控制器(诸如图1的控制器108)执行,其中被访问的解码器池可以是图3的多个解码器304a-n、306a-n、308a-n。此外,解码器可以由多个耐久性组共享,诸如图2的一个或多个NVM集202、212、220。
在框602处,控制器108将一个或多个令牌(诸如图4的一个或多个令牌404)分配给多个耐久性组中的每个耐久性组。一个或多个令牌404的分配可以是不均匀的,使得耐久性组可以接收与另一个耐久性组不同的一个或多个令牌404的分配。在框604处,控制器108从耐久性组接收多个令牌用于解码器访问(例如,访问解码器池的解码器组)。令牌的数量可以取决于解码器层、所请求的优先级、数据类型或先前列出的选项的组合。每个耐久性组可以采用几种“花费”策略,以便根据其优先级来最大化或优化令牌使用。
在框606处,控制器108确定所请求的解码器组是否是层1组。如果在框606处,所请求的解码器组是层1组,则在框608处,将来自耐久性组的解码器访问请求添加到层1解码器组队列。然而,如果在框606处,所请求的解码器组不是层1解码器组,则在框610处,控制器108确定所请求的解码器组是否是层2组。如果在框610处,所请求的解码器组是层2组,则在框612处,将来自耐久性组的解码器访问请求添加到层2解码器组队列。然而,如果在框610处,所请求的解码器组不是层2解码器组,则在框614处,控制器108将来自耐久性组的解码器访问请求添加到层3解码器组队列。应当理解,可以有更多或更少的解码器组层,并且用方法600描述的实施方案可以用更多或更少的解码器组层来实现。
在框616处,按照队列顺序使用每个相应解码器组执行解码。在一些示例中,在执行解码访问请求之前,队列顺序按优先级重新排序。此外,访问请求可以与队列时间相关联,使得队列时间大于阈值时间的访问请求可以增加优先级。因此,可以限制任何耐久性组阻止其他耐久性组的访问的能力,以便公平地扩展解码器访问和利用。
图7是示出根据某些实施方案的校正子权重(SW)阈值过滤的方法700的流程图。方法700可以由控制器(诸如图1的控制器108)执行,其中此处描述的解码器可以是图3的多个解码器304a-n、306a-n、308a-n。此外,解码器可以由多个耐久性组共享,诸如图2的一个或多个NVM集202、212、220。
在框702处,控制器108将一个或多个令牌(诸如图4的一个或多个令牌404)分配给多个耐久性组中的每个耐久性组。一个或多个令牌404的分配可以是不均匀的,使得耐久性组可以接收与另一个耐久性组不同的一个或多个令牌404的分配。在框704处,控制器108确定用于每个耐久性组的校正子权重(SW)阈值。SW可以被定义为在可以由解码器利用的低密度奇偶校验(LDPC)码及其他ECC码中不满足的等式数量。随着误码率(BER)增加,更大数量的等式可能会不满足。应当理解,SW阈值可以在数据存储设备(诸如图1的数据存储设备106)的整个操作过程中基于使用、数据类型、温度等进行调整。
在框706处,控制器108从对应于解码器组的耐久性组接收访问请求。在框708处,控制器108确定访问请求是否在对应于用于耐久性组的相应解码器组的SW阈值内。如果在框708处,访问请求不在对应于用于耐久性组的解码器组的SW阈值内,则在框710处,控制器108增加与访问请求相关联的解码器组层。在框712处,控制器108接收对应于对解码器组层的支付的一个或多个令牌404。在框714处,解码器执行对访问请求的解码。
图8是示出根据某些实施方案的吞吐量(Y)与误码率(BER)的曲线图800的图示。曲线图800示出了可以在方法700的框704处的确定步骤期间利用的示例SW阈值。此外,在数据存储设备(诸如图1的数据存储设备106)的操作期间,控制器(诸如图1的控制器108)可以根据需要调整SW阈值。例如,可以基于资源可用性、系统状态、带宽可用性、解码器可用性、最近解码器访问请求的历史(例如,将大量失败闪存储器单元(FMU)或块发送到低层解码器的耐久性组可以使其SW阈值被调整,使得那些相同请求将用于中到高层解码器)、服务质量(QOS)要求等来调整SW阈值。
举例来说,层1解码器可用于解码具有低于阈值A*的BER的请求,层2解码器可用于解码具有在阈值A*与阈值B*之间的BER的请求,并且层3解码器可用于解码具有高于阈值B*的BER的请求。然而,在数据存储设备操作期间,控制器108确定第一耐久性组已经发送针对层1解码器的大量解码器访问请求。通常,那些解码器访问请求可以由层1解码器充分执行。然而,由于大量的解码器访问请求,层1解码器组可能被瓶颈化,因此不允许其他耐久性组使用层1解码器。因此,用于第一耐久性组的SW阈值可以从A*减小到A,以便迫使耐久性组使用层2解码器。因为耐久性组不具有分配的无限数量的令牌,所以耐久性组可以在它可以发起的解码器访问请求的数量方面受到限制。
通过限制对较低层解码器组的访问以节省用于其他用户的吞吐量,或者用较低层解码器组实施解码以确保较高层解码器组对于其他用户是空闲的,以便提高QoS,操纵对某些解码器组的访问可以在两个方向上完成(即,增大或减小SW阈值)。此外,可以设想,SW阈值可以实现为一个范围。例如,耐久性组可以具有在A与A*之间的SW阈值范围,其中控制器108可以确定对于两个SW阈值之间的BER使用层1解码器还是层2解码器。控制器108可以基于QoS约束、资源约束等决定使用层1解码器或层2解码器。此外,控制器108可以在数据存储设备106的操作期间调整每个SW阈值。例如,控制器108可以在每次耐久性组被授权对解码器的访问时确定对每个耐久性组和/或剩余耐久性组的QoS的影响,并且基于所确定的影响来调整相关SW阈值。
通过使用支付系统来访问解码器,可以更好地共享用于每个耐久性组的系统资源,这可以提高总体性能。
在一个实施方案中,数据存储设备包括具有多个耐久性组的存储器设备和耦接到该存储器设备的控制器。控制器包括至少一个解码器。控制器被配置为将多个令牌分配给多个耐久性组中的每个耐久性组,从多个耐久性组中的一个或多个耐久性组接收令牌的支付以访问至少一个解码器,并且基于令牌的支付向多个耐久性组中的一个或多个耐久性组授权对至少一个解码器的访问。
将多个令牌分配给多个耐久性组中的耐久性组基于与耐久性组相关联的解码时钟的数量。将多个令牌分配给多个耐久性组中的耐久性组基于与耐久性组相关联的分配的功率。将多个令牌分配给多个耐久性组中的耐久性组基于与耐久性组相关联的解码时钟的数量和分配的功率的组合。每个耐久性组具有最大容许量的令牌。至少一个解码器包括至少两个队列。至少两个队列中的每个队列与用于解码的优先级相关联。第一队列具有第一优先级,并且第二队列具有第二优先级。至少一个解码器使第一优先级优先于第二优先级。每个耐久性组基于耐久性组的数据类型花费多个令牌中的不同数量的令牌。数据类型包括备份数据、快速失败数据和待检索的数据。对多个耐久性组中的耐久性组的带宽允许基于耐久性组的大小、耐久性组的数据类型和耐久性组的总体使用情况中的一个或多个。
在另一个实施方案中,数据存储设备包括具有多个耐久性组的存储器设备和耦接到该存储器设备的控制器。控制器包括多个解码器。基于功率消耗和校正能力,多个解码器包括多个层。控制器被配置为将多个令牌分配给多个耐久性组中的每个耐久性组,从多个耐久性组中的耐久性组接收多个令牌以访问多个解码器中的一个解码器,其中多个解码器中的每个解码器与多个层中的层相关联,其中令牌的数量对应于多个层中的每个层的访问支付,并且向耐久性组授权对与访问支付相关联的解码器的访问。
多个层至少包括第一层和第二层,其中用于第一层的访问支付小于用于第二层的访问支付。第二层的每个解码器具有比第一层的每个解码器更大的解码能力。多个层中的每一层包括多个解码器中的至少一个解码器。多个层中的每一层还包括用于对被授权访问至少一个解码器的耐久性组进行排队的队列。如果队列的每个耐久性组的访问支付相同,则至少一个解码器被循环分配给队列的耐久性组。基于接收到的令牌的数量,将至少一个解码器分配给队列的耐久性组。为第一耐久性组接收第一数量的令牌以访问至少一个解码器,并且为第二耐久性组接收第二数量的令牌以访问至少一个解码器。令牌的第一数量大于令牌的第二数量。在第二耐久性组被授权访问至少一个解码器之前,第一耐久性组被授权访问至少一个解码器。至少一个解码器被循环分配给队列的耐久性组。循环分配按照最高访问支付到最低访问支付的顺序进行。
在另一个实施方案中,数据存储设备包括具有多个耐久性组的存储器装置和耦接到该存储器设备的控制器。控制器包括第一组解码器和第二组解码器。每个耐久性组具有与对第一组解码器的访问相关联的第一校正子权重阈值。每个耐久性组具有与对第二组解码器的访问相关联的第二校正子权重阈值。控制器被配置为基于令牌的支付向多个耐久性组中的耐久性组授权对第一组解码器和第二组解码器的访问,并且调整第一校正子权重阈值、第二校正子权重阈值或者第一校正子权重阈值和第二校正子权重阈值两者。
控制器被进一步配置为向多个耐久性组中的每个耐久性组分配多个令牌。控制器被进一步配置为测量被授权访问第一组解码器和第二组解码器的每个耐久性组对数据存储设备的服务质量(QoS)的影响。调整包括增加第一校正子权重阈值、第二校正子权重阈值或第一校正子权重阈值和第二校正子权重阈值两者。调整包括减小第一校正子权重阈值、第二校正子权重阈值或第一校正子权重阈值和第二校正子权重阈值两者。第一组解码器与令牌的第一支付相关联,并且第二组解码器与令牌的第二支付相关联。令牌的第二支付大于令牌的第一支付。减小校正子权重导致每个耐久性组使用第二组解码器。
虽然前述内容针对本公开的实施方案,但是可以在不脱离本公开的基本范围的情况下设想本公开的其他和另外的实施方案,并且本公开的范围由所附权利要求书确定。
Claims (20)
1.一种数据存储设备,包括:
存储器设备,所述存储器设备具有多个耐久性组;和
控制器,所述控制器耦接到所述存储器设备,其中所述控制器包括至少一个解码器,并且其中所述控制器被配置为:
将多个令牌分配给所述多个耐久性组中的每个耐久性组;
从所述多个耐久性组中的一个或多个耐久性组接收令牌的支付以访问所述至少一个解码器;以及
基于所述令牌的支付,向所述多个耐久性组中的所述一个或多个耐久性组授权对所述至少一个解码器的访问。
2.根据权利要求1所述的数据存储设备,其中将所述多个令牌分配给所述多个耐久性组中的耐久性组基于与所述耐久性组相关联的解码时钟的数量。
3.根据权利要求1所述的数据存储设备,其中将所述多个令牌分配给所述多个耐久性组中的耐久性组基于与所述耐久性组相关联的分配的功率。
4.根据权利要求1所述的数据存储设备,其中将所述多个令牌分配给所述多个耐久性组中的耐久性组基于与所述耐久性组相关联的解码时钟的数量和分配的功率的组合。
5.根据权利要求1所述的数据存储设备,其中每个耐久性组具有最大容许量的令牌。
6.根据权利要求1所述的数据存储设备,其中所述至少一个解码器包括至少两个队列,其中所述至少两个队列中的每个队列与用于解码的优先级相关联,其中第一队列具有第一优先级,并且第二队列具有第二优先级,并且其中所述至少一个解码器使所述第一优先级优先于所述第二优先级。
7.根据权利要求1所述的数据存储设备,其中每个耐久性组基于所述耐久性组的数据类型而花费所述多个令牌中的不同数量的令牌,并且其中所述数据类型包括备份数据、快速失败数据和待检索的数据。
8.根据权利要求1所述的数据存储设备,其中对所述多个耐久性组中的耐久性组的带宽允许基于所述耐久性组的大小、所述耐久性组的数据类型和所述耐久性组的总体使用情况中的一个或多个。
9.一种数据存储设备,包括:
存储器设备,所述存储器设备具有多个耐久性组;和
控制器,所述控制器耦接到所述存储器设备,其中所述控制器包括多个解码器,所述多个解码器包括基于功率消耗和校正能力的多个层,并且其中所述控制器被配置为:
将多个令牌分配给所述多个耐久性组中的每个耐久性组;
从所述多个耐久性组中的耐久性组接收多个令牌以访问所述多个解码器中的一个解码器,其中所述多个解码器中的每个解码器与多个层中的层相关联,其中所述令牌的数量对应于所述多个层中的每个层的访问支付;以及
向所述耐久性组授权对与所述访问支付相关联的解码器的访问。
10.根据权利要求9所述的数据存储设备,其中所述多个层至少包括第一层和第二层,其中用于所述第一层的访问支付小于用于所述第二层的访问支付,并且其中所述第二层的每个解码器具有比所述第一层的每个解码器更大的解码能力。
11.根据权利要求9所述的数据存储设备,其中所述多个层中的每个层包括所述多个解码器中的至少一个解码器,并且其中所述多个层中的每个层还包括用于对被授权访问所述至少一个解码器的耐久性组进行排队的队列。
12.根据权利要求11所述的数据存储设备,其中,如果所述队列的每个耐久性组的访问支付相同,则所述至少一个解码器被循环分配给所述队列的耐久性组。
13.根据权利要求11所述的数据存储设备,其中:
基于所接收到的令牌的数量将所述至少一个解码器分配给所述队列的耐久性组;
为第一耐久性组接收第一数量的令牌以访问所述至少一个解码器,并且为第二耐久性组接收第二数量的令牌以访问所述至少一个解码器;
所述令牌的第一数量大于所述令牌的第二数量;并且
在所述第二耐久性组被授权访问所述至少一个解码器之前,所述第一耐久性组被授权访问所述至少一个解码器。
14.根据权利要求11所述的数据存储设备,所述至少一个解码器被循环分配给所述队列的所述耐久性组,其中所述循环分配按照最高访问支付到最低访问支付的顺序进行。
15.一种数据存储设备,包括:
存储器装置,其中所述存储器装置具有多个耐久性组;
控制器,所述控制器耦接到所述存储器装置,其中所述控制器包括第一组解码器和第二组解码器,其中每个耐久性组具有与对所述第一组解码器的访问相关联的第一校正子权重阈值,其中每个耐久性组具有与对所述第二组解码器的访问相关联的第二校正子权重阈值,其中所述控制器被配置为:
基于令牌的支付向所述多个耐久性组中的耐久性组授权对所述第一组解码器和所述第二组解码器的访问;以及
调整所述第一校正子权重阈值、所述第二校正子权重阈值或所述第一校正子权重阈值和所述第二校正子权重阈值两者。
16.根据权利要求15所述的数据存储设备,所述控制器被进一步配置为向所述多个耐久性组中的每个耐久性组分配多个令牌。
17.根据权利要求15所述的数据存储设备,所述控制器被进一步配置为测量被授权访问所述第一组解码器和所述第二组解码器的每个耐久性组对所述数据存储设备的服务质量(QoS)的影响。
18.根据权利要求15所述的数据存储设备,其中所述调整包括增加所述第一校正子权重阈值、所述第二校正子权重阈值或所述第一校正子权重阈值和所述第二校正子权重阈值两者。
19.根据权利要求15所述的数据存储设备,其中所述调整包括减小所述第一校正子权重阈值、所述第二校正子权重阈值或所述第一校正子权重阈值和所述第二校正子权重阈值两者。
20.根据权利要求19所述的数据存储设备,其中所述第一组解码器与令牌的第一支付相关联,并且所述第二组解码器与令牌的第二支付相关联,其中所述令牌的第二支付大于所述令牌的第一支付,并且其中所述减小校正子权重导致每个耐久性组使用所述第二组解码器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/464,384 US11556274B1 (en) | 2021-09-01 | 2021-09-01 | Endurance groups ECC allocation |
US17/464,384 | 2021-09-01 | ||
PCT/US2022/028217 WO2023033878A1 (en) | 2021-09-01 | 2022-05-07 | Endurance groups ecc allocation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117693732A true CN117693732A (zh) | 2024-03-12 |
Family
ID=84922813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280048908.2A Pending CN117693732A (zh) | 2021-09-01 | 2022-05-07 | 耐久性组ecc分配 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11556274B1 (zh) |
KR (1) | KR20240019363A (zh) |
CN (1) | CN117693732A (zh) |
DE (1) | DE112022003076T5 (zh) |
WO (1) | WO2023033878A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230396271A1 (en) * | 2022-06-01 | 2023-12-07 | Micron Technology, Inc. | Early stopping of bit-flip low density parity check decoding based on syndrome weight |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2705804B1 (fr) | 1993-05-27 | 1995-08-11 | Sgs Thomson Microelectronics | Architecture de processeur multi-tâches. |
US8949555B1 (en) | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US8527831B2 (en) | 2010-04-26 | 2013-09-03 | Lsi Corporation | Systems and methods for low density parity check data decoding |
US8918595B2 (en) | 2011-04-28 | 2014-12-23 | Seagate Technology Llc | Enforcing system intentions during memory scheduling |
TWI479359B (zh) | 2013-08-01 | 2015-04-01 | Phison Electronics Corp | 指令執行方法、記憶體控制器與記憶體儲存裝置 |
US9037870B1 (en) | 2013-08-16 | 2015-05-19 | Intuit Inc. | Method and system for providing a rotating key encrypted file system |
KR102230862B1 (ko) | 2014-07-01 | 2021-03-24 | 삼성전자 주식회사 | 영상처리장치 및 그 제어방법 |
US10691531B2 (en) | 2014-12-04 | 2020-06-23 | Western Digital Technologies, Inc. | Systems and methods for multi-zone data tiering for endurance extension in solid state drives |
US10180874B2 (en) | 2015-10-28 | 2019-01-15 | Western Digital Technologies, Inc. | Storage device operations based on bit error rate (BER) estimate |
US10089175B2 (en) | 2015-12-11 | 2018-10-02 | Marvell World Trade Ltd. | Queuing of decoding tasks according to priority in NAND flash controller |
WO2018175559A1 (en) | 2017-03-22 | 2018-09-27 | Burlywood, LLC | Drive-level internal quality of service |
US10747613B2 (en) | 2018-09-07 | 2020-08-18 | Toshiba Memory Corporation | Pooled frontline ECC decoders in memory systems |
US10866740B2 (en) | 2018-10-01 | 2020-12-15 | Western Digital Technologies, Inc. | System and method for performance-based multiple namespace resource allocation in a memory |
US20190073302A1 (en) | 2018-11-06 | 2019-03-07 | Intel Corporation | Ssd boot based on prioritized endurance groups |
US11068165B2 (en) | 2019-06-27 | 2021-07-20 | Western Digital Technologies, Inc. | Non-volatile memory data write management |
JP2021047781A (ja) | 2019-09-20 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
US20200089537A1 (en) | 2019-11-20 | 2020-03-19 | Intel Corporation | Apparatus and method for bandwidth allocation and quality of service management in a storage device shared by multiple tenants |
-
2021
- 2021-09-01 US US17/464,384 patent/US11556274B1/en active Active
-
2022
- 2022-05-07 DE DE112022003076.3T patent/DE112022003076T5/de active Pending
- 2022-05-07 WO PCT/US2022/028217 patent/WO2023033878A1/en active Application Filing
- 2022-05-07 KR KR1020247001323A patent/KR20240019363A/ko unknown
- 2022-05-07 CN CN202280048908.2A patent/CN117693732A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE112022003076T5 (de) | 2024-04-11 |
US11556274B1 (en) | 2023-01-17 |
KR20240019363A (ko) | 2024-02-14 |
WO2023033878A1 (en) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101861924B1 (ko) | 보호된 데이터로부터 분리된 패리티 데이터 저장 | |
KR101908581B1 (ko) | 저장 디바이스들에서의 웨어 레벨링 | |
US20160210060A1 (en) | Dynamic resource allocation within storage devices | |
US10235069B2 (en) | Load balancing by dynamically transferring memory range assignments | |
US11435914B2 (en) | Dynamic ZNS open zone active limit | |
US11520523B2 (en) | Data integrity protection of ZNS needs | |
CN110781093B (zh) | 能够改变映射高速缓存缓冲器大小的数据存储设备 | |
US11537293B2 (en) | Wear leveling methods for zoned namespace solid state drive | |
CN117693732A (zh) | 耐久性组ecc分配 | |
CN113744783A (zh) | 分区名称空间(zns)驱动器中的写入数据传送调度 | |
WO2024063821A1 (en) | Dynamic and shared cmb and hmb allocation | |
KR102589609B1 (ko) | 분할된 저장장치에서의 스냅샷 관리 | |
CN112201296A (zh) | 控制器、存储器系统及其操作方法 | |
US20220075718A1 (en) | Keeping Zones Open With Intermediate Padding | |
WO2023101719A1 (en) | Full die recovery in zns ssd | |
CN115904217A (zh) | Ufs乱序提示生成 | |
CN114730247A (zh) | 具有数据的最小写入大小的存储设备 | |
US11640267B2 (en) | Method and system for maintenance allocation between NVM groups | |
CN112151100A (zh) | 控制器、存储器系统及其操作方法 | |
US11194489B2 (en) | Zone-based device with control level selected by the host | |
US11853160B2 (en) | Variable length ECC code according to data entropy in NVMe key value pair devices | |
CN116301570A (zh) | 用于无dram ssd的企业主存储器缓冲区 | |
CN117642734A (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 |