CN207676335U - 具有非对称通道的固态存储设备 - Google Patents
具有非对称通道的固态存储设备 Download PDFInfo
- Publication number
- CN207676335U CN207676335U CN201721685459.5U CN201721685459U CN207676335U CN 207676335 U CN207676335 U CN 207676335U CN 201721685459 U CN201721685459 U CN 201721685459U CN 207676335 U CN207676335 U CN 207676335U
- Authority
- CN
- China
- Prior art keywords
- bulk
- block
- lun
- storage device
- channel
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本实用新型公开了具有非对称通道的固态存储设备。本实用新型的固态存储设备包括控制部件,控制部件通过多个通道耦合到NVM芯片;每个通道耦合一个或多个NVM芯片,NVM芯片包括一个或多个逻辑单元,多个逻辑单元的每个为大块提供物理块,一个或多个第一通道耦合的NVM芯片提供的逻辑单元的数量大于一个或多个第二通道耦合的NVM芯片提供的逻辑单元的数量。
Description
技术领域
本实用新型涉及固态存储设备,具体地,涉及在具有非对称通道的固态存储设备中的数据组织。
背景技术
图1展示了固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(Small Computer System Interface,小型计算机系统接口)、SAS(Serial AttachedSCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal Serial Bus,通用串行总线)、PCIE(Peripheral Component InterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)110。
NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(MagneticRandom Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM。
接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
控制部件104用于控制在接口103、NVM芯片105以及DRAM 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmable gate array,现场可编程门阵列)、ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM 110,并可访问DRAM 110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。
控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
存储器目标(Target)是NAND闪存封装内的共享CE(,Chip Enable,芯片使能)信号的一个或多个逻辑单元(LUN,Logic UNit)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元(LUN)对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ON FI3_0Gold.ashx获得的“Open NAND Flash Interface Specification(Revision 3.0)”中,提供了关于目标(target)、逻辑单元、LUN、平面(Plane)的含义,其为现有技术的一部分。
存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。块包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。
在固态存储设备中,利用FTL(Flash Translation Layer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在相关技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。
存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。
FTL表包括多个FTL表条目(或称表项)。在一种情况下,每个FTL表条目中记录了一个逻辑页地址与一个物理页的对应关系。在另一种情况下,每个FTL表条目中记录了连续的多个逻辑页地址与连续的多个物理页的对应关系。在又一种情况下,每个FTL表条目中记录了逻辑块地址与物理块地址的对应关系。在依然又一种情况下,FTL表中记录逻辑块地址与物理块地址的映射关系,和/或逻辑页地址与物理页地址的映射关系。
大块包括来自多个逻辑单元(LUN),也称为逻辑单元组的每个的物理块。每个逻辑单元可以为大块提供一个物理块。例如,在图2所示出的大块的示意图中,在每16个逻辑单元(LUN)上构造大块。每个大块包括16个分别来自16个逻辑单元(LUN)的物理块。在图2的例子中,大块0包括来自16个逻辑单元(LUN)中的每个逻辑单元的物理块0,而大块1包括来自每个逻辑单元(LUN)的物理块1。也可以以多种其他方式来构造大块。
例如,在大块中构造页条带,每个逻辑单元(LUN)内相同物理地址的物理页构成了“页条带”。图2中,物理页P0-0、物理页P0-1……与物理页P0-x构成了页条带0,其中,物理页P0-0、物理页P0-1……物理页P0-14用于存储用户数据,而物理页P0-x用于存储根据条带内的所有用户数据计算得到的校验数据。类似地,图2中,物理页P2-0、物理页P2-1……与物理页P2-x构成了页条带2。用于存储校验数据的物理页可以位于页条带中的任意位置。作为又一个例子,在申请号为201710752321.0的中国专利申请的图3A及其说明书中对图3A的相关描述中,提供了大块的又一种构造方式。
实用新型内容
为了提供指定的存储容量,一些情况下,固态存储设备使用非对称通道。耦合NVM芯片的多个通道的每个,被设置了不同数量的NVM芯片、管芯、LUN和/或存储容量。非对称通道导致随机读取数据时,各个通道待传输的数据量存在差异,一些通道成为性能瓶颈。根据本申请的实施例试图解决上面提到的一个或多个技术问题,以及其他技术问题。
根据本申请的第一方面,提供了根据本申请第一方面的第一固态存储设备,包括控制部件,控制部件通过多个通道耦合到NVM芯片;每个通道耦合一个或多个NVM芯片,NVM芯片包括一个或多个逻辑单元,多个逻辑单元的每个为大块提供物理块,一个或多个第一通道耦合的NVM芯片提供的逻辑单元的数量大于一个或多个第二通道耦合的NVM芯片提供的逻辑单元的数量。
根据本申请的第一方面的第一固态存储设备,提供了根据本申请第一方面的第二固态存储设备,大块的校验块由第一通道到耦合的NVM芯片提供。
根据本申请的第一方面的第一或第二固态存储设备,提供了根据本申请第一方面的第三固态存储设备,第一大块的校验块由第二通道到耦合的NVM芯片提供,以及第一通道为第一大块提供的一个或多个物理块不被使用。
根据本申请的第一方面的第三固态存储设备,提供了根据本申请第一方面的第四固态存储设备,第一通道为第一大块提供的所述一个或多个物理块被标记为坏块。
根据本申请的第一方面的第三或第四固态存储设备,提供了根据本申请第一方面的第五固态存储设备,坏块为自然产生的或者被人为将可用的物理块标记为坏块的。
根据本申请的第一方面的第三至第五固态存储设备之一,提供了根据本申请第一方面的第六固态存储设备,若第一通道为第一大块提供的物理块中,有一个或多个自然产生的坏块,则无须将可用物理块人工标记为坏块。
根据本申请的第一方面的第三至第五固态存储设备之一,提供了根据本申请第一方面的第七固态存储设备,若第一通道为大块第一提供的物理块中,不存在自然产生的坏块,则将一个或多个可用物理块中人工标记为坏块。
根据本申请的第一方面的第一至第七固态存储设备之一,提供了根据本申请第一方面的第八固态存储设备,大块的校验块的位置被记录在大块的元数据中。
根据本申请的第一方面的第一至第八固态存储设备之一,提供了根据本申请第一方面的第九固态存储设备,第一通道的NVM芯片的一个或多个物理块符合构造第一大块的条件,但不被用于构造第一大块。
根据本申请的第一方面的第一至第九固态存储设备之一,提供了根据本申请第一方面的第十固态存储设备,逻辑单元包括多个平面,为第一大块提供物理块的多个逻辑单元中,为第一大块提供好的物理块最多的第一逻辑单元被选择为第一大块提供校验块。
根据本申请的第一方面的第十固态存储设备,提供了根据本申请第一方面的第十一固态存储设备,若第一逻辑单元不属于第一通道,第一通道为第一大块提供的物理块被设置为坏块。
根据本申请的第一方面的第一固态存储设备,提供了根据本申请第一方面的第十二固态存储设备,第一大块的校验块由第一通道到耦合的NVM芯片提供;第二大块的校验块由第二通道到耦合的NVM芯片提供;以及第一通道的NVM芯片为第二大块提供的一个或多个物理块不被使用。
根据本申请的第一方面的第一至第十二固态存储设备之一,提供了根据本申请第一方面的第十三固态存储设备,一个或多个第一通道耦合的NVM芯片数量大于一个或多个第二通道耦合的NVM芯片数量。
根据本申请的第一方面的第一至第十三固态存储设备之一,提供了根据本申请第一方面的第十四固态存储设备,一个或多个通道耦合的多个NVM芯片具有不同数量的逻辑单元。
根据本申请的第二方面,提供了根据本申请第二方面的第一为大块选择校验块的方法,包括:从多个通道中提供了最多逻辑单元的第一通道选择为第一大块提供校验块的第一逻辑单元,以及选择第一逻辑单元为第一大块提供的物理块作为第一大块的校验块。
根据本申请的第二方面的第一为大块选择校验块的方法,提供了根据本申请第二方面的第二为大块选择校验块的方法,若第一逻辑单元为第一大块提供的物理块不满足作为校验块的条件,选择不同于第一通道的其他通道的逻辑单元为大块提供的物理块作为第一大块的校验块。
根据本申请的第二方面的第二为大块选择校验块的方法,提供了根据本申请第二方面的第三为大块选择校验块的方法,若选择所述其他通道的逻辑单元为大块提供的物理块作为第一大块的校验块,将第一逻辑单元为第一大块提供的一个或多个物理块标记为不被使用。
根据本申请的第二方面的第一至第三为大块选择校验块的方法之一,提供了根据本申请第二方面的第四为大块选择校验块的方法,选择第一逻辑单元为第一大块提供的一个或多个物理块作为第一大块的校验块。
根据本申请的第二方面的第一至第四为大块选择校验块的方法之一,提供了根据本申请第二方面的第五为大块选择校验块的方法,在大块的元数据中记录所确定的校验块的位置。
根据本申请的第二方面的第三为大块选择校验块的方法,提供了根据本申请第二方面的第六为大块选择校验块的方法,若第一逻辑单元为第一大块提供的一个或多个物理块是坏块,标记第一大块使用第一逻辑单元为第一大块提供的其他一个或多个物理块。
根据本申请的第二方面的第一至第三为大块选择校验块的方法之一,提供了根据本申请第二方面的第七为大块选择校验块的方法,若第一逻辑单元为第一大块提供的一个或多个物理块不存在坏块,则将第一逻辑单元为第一大块提供的一个或多个物理块的至少一个,标记为坏块。
根据本申请的第二方面的第一至第三为大块选择校验块的方法之一,提供了根据本申请第二方面的第八为大块选择校验块的方法,若第一通道物理块中可作为第一大块的数据块的物理块的数量,大于第二通道中可作为第一大块的数据块的物理块的数量,则将第一通道物理块中可作为第一大块的数据块的一个或多个物理块标记为坏块。
根据本申请的第二方面的第八为大块选择校验块的方法,提供了根据本申请第二方面的第九为大块选择校验块的方法,经过标记坏块,使得第一通道物理块中可作为第一大块的数据块的物理块的数量,不大于第二通道中可作为第一大块的数据块的物理块的数量。
根据本申请的第二方面的第一为大块选择校验块的方法,提供了根据本申请第二方面的第十为大块选择校验块的方法,向大块写入数据时,不向被标记的坏块写入数据。
根据本申请的第二方面的第一为大块选择校验块的方法,提供了根据本申请第二方面的第十一为大块选择校验块的方法,对大块实施错误校验时,避开被标记的坏块。
根据本申请的第三方面,提供了根据本申请第三方面的第一为大块选择校验块的方法,包括:获取一个或多个通道的每个上的逻辑单元为第一大块提供的好块数量;若一个或多个通道的第一通道上的第一逻辑单元为第一大块提供的好块数量等于为第一大块提供物理块的所有逻辑单元的每个为第一大块所能提供的最大好块数量,且第一通道的逻辑单元数量大于一个或多个通道的第二通道的逻辑单元数量;选择第一逻辑单元为第一大块提供校验块。
根据本申请的第三方面的第一为大块选择校验块的方法,提供了根据本申请第三方面的第二为大块选择校验块的方法,若第一逻辑单元为大块提供的好块数量小于所述最大好块数量,选择不同于第一通道的其他通道的逻辑单元为第一大块提供校验块。
根据本申请的第三方面的第二为大块选择校验块的方法,提供了根据本申请第三方面的第三为大块选择校验块的方法,还包括:若第一通道可为第一大块提供的好块数量大于第二通道可为第一大块提供的好块数量,将第一通道的可为第一大块提供的一个或多个好块标记为坏块。
根据本申请的第三方面的第三为大块选择校验块的方法,提供了根据本申请第三方面的第四为大块选择校验块的方法,还包括:将第一通道的可为第一大块提供的一个或多个好块标记为坏块,使得第一通道为第一大块提供的好块数量不大于第二通道为第一大块提供的好块数量。
根据本申请的第三方面的第一至第四为大块选择校验块的方法之一,提供了根据本申请第三方面的第五为大块选择校验块的方法,逻辑单元为大块提供的好块数量,依赖于逻辑单元的各个平面中为指定大块提供的物理块中好块的数量。
根据本申请的第三方面的第一至第五为大块选择校验块的方法之一,提供了根据本申请第三方面的第六为大块选择校验块的方法,逻辑单元为大块提供的物理块具有相同块地址。
根据本申请的第四方面,提供了根据本申请第四方面的第一为大块选择校验块的方法,包括根据本申请的第二方面的第一至第十一为大块选择校验块的方法之一、根据本申请第三方面的第一至第六为大块选择校验块的方法之一。
根据本申请的第五方面,提供一种包括程序代码的程序,当被载入存储设备并在存储设备上执行时,所述程序代码使所述存储设备执行根据本申请第二方面、第三方面或第四方面的为大块选择校验块的方法之一。
附图说明
为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是相关技术中固态存储设备的框图;
图2是相关技术中大块的示意图;
图3是根据本申请实施例的固态存储设备的框图;
图4展示了根据本申请实施例的数据组织;
图5是根据本申请实施例为大块选择校验块的流程图;
图6A是根据本申请又一实施例的固态存储设备的框图;
图6B是根据本申请另一实施例的固态存储设备的框图;
图6C是根据本申请再一实施例的固态存储设备的框图;
图6D是根据本申请依然再一实施例的固态存储设备的框图;
图6E是根据本申请依然又一实施例的固态存储设备的框图;
图6F是根据本申请依然另一实施例的固态存储设备的框图;
图7展示了根据本申请又一实施例的大块的示意图;
图8A展示了根据本申请又一实施例的大块;
图8B展示了根据本申请依然又一实施例的大块;以及
图9是根据本申请又一实施例为大块选择校验块的流程图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图3是根据本申请实施例的固态存储设备的框图。固态存储设备的控制部件(也参看图1,控制部件104)通过一个或多个通道耦合到NVM芯片(NVM)。图3中,由“CH”以及随后的附图标记指示通道。每个通道可耦合一颗或两颗NVM芯片。图3中,附图标记“QDP”及其随后的序号指示NVM芯片之一。“QDP”暗示了所指示的NVM芯片包括4个管芯。附图标记“DDP”及其随后的序号也指示NVM芯片之一。“DDP”暗示了所指示的NVM芯片包括2个管芯。以及作为举例,根据图3的实施例中,每个管芯提供一个LUN。
图3的实施例中,展示了8个通道,其中CH 0~CH 6的每个,被设置了一颗包含4个管芯的NVM芯片(分别记为QDP 0~QDP 6)。而通道CH 7被设置了2颗NVM芯片,其中一颗NVM芯片包含4个管芯(记为QPD 7),而另一颗NVM芯片包含2个管芯(记为DDP 8)。
图3的实施例中,构造大块。将NVM芯片的管芯分为两组,每组内的多个管芯提供的LUN用于构造同一大块。属于同一大块的多个物理块,来自同一组的LUN。NVM芯片(QDP 0~QDP 7)的每个的管芯0与管芯1,以及NVM芯片(DDP 8)的管芯0作为一组,用于构造大块。NVM芯片(QDP 0~QDP 7)的每个的管芯2与管芯3,以及NVM芯片(DDP 8)的管芯1作为另一组,用于构造大块。
图3的实施例中,通道CH 0~CH 6具有相同的NVM芯片配置,而通道CH7的NVM芯片配置,与通道CH 0~CH 6不同。
固态存储设备具有指定的存储容量。存储容量决定了固态存储设备要设置的NVM芯片的数量和/或类型(SDP、DDP、QDP或ODP,分别在单一芯片中包含1个管芯、2个管芯、4个管芯或8个管芯)。例如,需要在固态存储设备布置52个管芯,可采用12颗QDP芯片与4颗SDP芯片。要在固态存储设备设置20个管芯,可采用10颗DDP芯片。
固态存储设备的控制部件具有指定的通道数量。难以约束通道数量与NVM芯片数量之间的关系。从而产生了例如图3的实施例所展示的,各个通道具有不同的NVM芯片配置的情形。
由于同一通道上的各个NVM芯片共享通道提供的部分信号线(例如数据线),因而,通道的NVM芯片配置,影响通道的性能。以图3为例,若通道的最大数据传输带宽为BW,那么通道CH 0~CH 6中,每个管芯可使用的最大带宽为BW/4(因为每个通道有4个管芯),而通道CH 7中,每个管芯可使用的最大带宽为BW/6(因为通道CH 7有6个管芯)。从而导致通道CH 7的各个管芯的性能得不到充分利用。根据本申请的实施例,尝试至少解决该问题。
根据本申请的实施例,通过谨慎的选择大块中提供存储校验数据的校验块的位置,使大块存储的用户数据在固态存储设备的多个通道更有利的分布,从而提升固态存储设备的性能。
图4展示了根据本申请实施例的数据组织。
结合图3与图4,根据本申请的实施例中,固态存储设备的34个管芯提供34个LUN,将每17个LUN作为一组,用于构建大块。图4中,LUN 0-LUN 16依次由QDP 0~QDP 7的每个的管芯0与管芯1,以及DDP 8的管芯0提供,其中LUN 14由QDP 7的管芯0提供,LUN 15由QDP 7的管芯1提供,而LUN 16由DDP 8的管芯0提供。LUN 0到LUN 16用于构建大块0到大块n。而LUN 17-LUN 33依次由QDP 0~QDP 7的每个的管芯1与管芯2,以及DDP 8的管芯1提供。
根据图4的实施例,对于大块0到大块n,尽量由位于通道CH 7的管芯提供的LUN(LUN 14~LUN 16)来提供校验块。例如,大块0的存储校验数据的校验块B0位于LUN 16,大块1的校验块B1位于LUN 15。根据图4的实施例,在一些情况下,由除通道CH 7之外的其他通道的LUN来为大块提供校验块,例如,大块n的校验块Bn位于LUN 1。
NVM芯片一些物理块是坏块。例如,大块1的来自LUN 14的物理块BB1。坏块被标记,从而不被用于存储数据。对于大块n,由于校验块Bn位于LUN 1而非位于通道CH 7的LUN 14~LUN 16之一,使得通道CH 7有可能为大块n提供了用于存储用户数据的物理块,并导致连续读取这3个物理块存储的数据时,由于通道CH 7的带宽被占满,无法充分发挥LUN 14~LUN 16各自的性能。为解决此问题,虽然LUN 14~LUN 16为大块n提供的物理块都可用(非坏块),依然标记LUN 14~LUN 16为大块n提供的物理块的至少一个为坏块(图4中,将LUN16为大块n提供的物理块标记为坏块,记为MB)。
根据图4的实施例,对于任意大块C,由通道CH 7的LUN 14~LUN 16为大块C提供的多个物理块中,或者有一个物理块被用于存储校验数据,或者有至少一个物理块是坏块(自然产生的坏块,或者被人为将好块标记为坏块),从而确保了由通道CH 7的LUN 14~LUN 16为大块C提供的多个物理块中,用于存储用户数据的物理块不超过2个。进而使得在从大块C读取数据时,从通道CH 7读出的数据来自不超过2个物理块,使得通道CH 7的最大带宽不会成为LUN 14~LUN 16的性能瓶颈,或者通道7的最大带宽对LUN 14~LUN 16的总体性能影响尽量小。
可以理解的,根据本申请的实施例,构成大块的LUN数量不限于17,而可以是其他数量。大块所采用的容错配置(RAID配置)也不限于16+1(16份用户数据与1份校验数据),还可以是15+2或30+1等。通道中所使用的NVM芯片也不限于QDP、DDP,而可以在NVM芯片中封装其他数量的管芯。
图5是根据本申请实施例为大块选择校验块的流程图。
为每个大块实施根据图5的实施例的流程,以确定用于大块的校验块的位置。可选地,还将用于大块的校验块的位置记录在大块的元数据中,从而在向大块写入数据或者需要使用校验块时,从元数据中可获知校验块的位置。
对于大块C,为确定其校验块的位置,获取固态存储设备的同其他通道相比,被设置了更多管芯的通道(参看图3,通道CH 7)。进而获取通道CH 7的管芯为大块C提供的一个或多个LUN,以及该一个或多个LUN为大块C提供的物理块(510)。若该一个或多个LUN之一(记为LUN x)为大块C提供的物理块可作为校验块(520)(例如,物理块可用),则在通道CH 7的管芯中为大块C确定校验块成功,记录由LUN x为大块C提供校验块。
若该一个或多个LUN为大块C提供的物理块均不适合作为校验块(例如,这些物理块都是坏块而无法使用),则在固态存储设备的其他通道的管芯提供的LUN中选择校验块(530),并在大块C的元数据中记录所确定的校验块的位置。以及还在通道CH 7的管芯为大块C提供的物理块中,标记属于通道CH 7的LUN之一的物理块为坏块(540),从而减少通道CH7为大块C提供的存储用户数据的LUN的数量。例如,通道CH 7的三个LUN的每个为大块C提供物理块。若这三个物理块的至少一个是自然产生的坏块,则无须再为这三个物理块的可用物理块人工标记为坏块;若这三个物理块中不存在自然产生的坏块,则人工标记这三个物理块的至少一个为坏块。
向大块C写入数据时,避开被标记的坏块。对大块C实施错误校验时,也避开被标记的坏块。
图6A是根据本申请又一实施例的固态存储设备的框图。固态存储设备的控制部件(也参看图1,控制部件104)通过一个或多个通道耦合到NVM芯片(NVM)。作为举例,根据图6A的实施例中,每个管芯提供一个LUN。
图6A的实施例中,展示了8个通道,其中CH 0~CH 6的每个,被设置了一颗包含4个管芯的NVM芯片(分别记为QDP 0~QDP 6)。而通道CH 7被设置了2颗包含4个管芯的NVM芯片(分别记为QDP 7~QDP 8)。从而固态存储设备使用单一型号的NVM芯片(包含4颗管芯),以降低零部件采购与管理的复杂度,也降低固态存储设备研发、制造过程因NVM芯片型号多样性而引入错误的几率。
图6A的实施例中,构造大块。例如,将NVM芯片的管芯分为两组,每组内的多个管芯提供的LUN用于构造同一大块。属于同一大块的多个物理块,来自同一组的LUN。NVM芯片(QDP 0~QDP 7)的每个的管芯0与管芯1,以及NVM芯片(QDP 8)的管芯0作为一组,用于构造大块。NVM芯片(QDP 0~QDP 7)的每个的管芯2与管芯3,以及NVM芯片(QDP 8)的管芯1作为另一组,用于构造大块。以及将NVM芯片(QDP 8)的管芯2与管芯3的所有物理块人为标记为坏块。从而确保访问大块时,不会使用由将NVM芯片(QDP 8)的管芯2与管芯3所提供的大块。
根据图5的为大块选择校验块的实施例被应用于根据图6A的实施例的固态存储设备。从而,对于每个大块,尽量选择在通道CH 7的管芯(已排除NVM芯片QDP 8的管芯2与管芯3)所提供的LUN中的物理块作为校验块。以及在通道CH 7的管芯不适宜提供校验块时,从其他通道的管芯中选择校验块,并在通道CH 7的管芯为大块提供的物理块中(已排除NVM芯片QDP 8的管芯2与管芯3的物理块),标记属于通道CH 7的LUN之一(已排除NVM芯片QDP 8的管芯2与管芯3的LUN)的物理块为坏块(540),从而减少通道CH 7为大块C提供的存储用户数据的LUN的数量。
图6B是根据本申请另一实施例的固态存储设备的框图。
图6B的实施例中,展示了8个通道,其中通道CH 0~CH 6的每个,被设置了一颗包含2个管芯的NVM芯片(分别记为DDP 0~DDP 6)。而通道CH 7被设置了2颗包含2个管芯的NVM芯片(分别记为DDP 7~DDP 8)。从而固态存储设备使用单一型号的NVM芯片(包含2颗管芯)每个管芯提供一个LUN。
图6B的实施例中,NVM芯片(DDP 0~DDP 7)的每个的管芯0与管芯1,以及NVM芯片(DDP 8)的管芯0作为一组,用于构造大块。以及将NVM芯片(DDP 8)的管芯1的所有物理块人为标记为坏块。从而确保访问大块时,不会使用由将NVM芯片(DDP 8)的管芯1所提供的大块。
以及通过为大块选择校验块的位置,确保对于任何大块,通道CH 7的三个管芯(NVM芯片DDP 6的管芯0与管芯1,以及NVM芯片DDP 7的管芯0)中,最多有2个为大块提供数据块。通道CH 7的三个管芯为大块提供的至少一个物理块,或者被用于存储大块的校验数据,或者被标记为坏块(无论是天然的坏块,还是人工标记的坏块)。
图6C是根据本申请再一实施例的固态存储设备的框图。
图6C的实施例中,展示了8个通道,其中通道CH 0~CH 6的每个,被设置了2颗包含2个管芯的NVM芯片(分别记为DDP 0~DDP 13)。而通道CH 7被设置了1颗包含2个管芯的NVM芯片(记为DDP 14)与1颗包含4个管芯的NVM芯片(记为QDP 0)。
图6C的实施例中,NVM芯片(DDP 0~DDP 14)的每个的管芯0,以及NVM芯片(QDP 0)的管芯0与管芯1作为一组,用于构造大块。NVM芯片(DDP 0~DDP 14)的每个的管芯1,以及NVM芯片(QDP 0)的管芯2与管芯3作为另一组,用于构造大块。
以及通过为大块选择校验块的位置,确保对于任何大块,通道CH 7为该大块提供物理块的3个管芯(NVM芯片DDP 14的管芯0以及NVM芯片QDP 0的管芯0与管芯1,或者NVM芯片DDP 14的管芯1以及NVM芯片QDP 0的管芯2与管芯3)中,最多有2个为该大块提供数据块。为某一大块提供物理块的通道CH 7的三个管芯为该大块提供的至少一个物理块,或者被用于存储大块的校验数据,或者被标记为坏块(无论是天然的坏块,还是人工标记的坏块)。
图6D是根据本申请依然再一实施例的固态存储设备的框图。
图6D的实施例中,展示了8个通道,其中通道CH 0~CH 5的每个,被设置了1颗包含2个管芯的NVM芯片(分别记为DDP 0~DDP 5)。而通道CH 6与CH 7的每个被设置了2颗包含2个管芯的NVM芯片(记为DDP 6~DDP 9)。
图6D的实施例中,NVM芯片(DDP 0、DDP 2、DDP4与DDP 6)的每个的管芯0与管芯1,以及NVM芯片(DDP 9)的管芯0作为一组,用于构造大块。NVM芯片(DDP 1、DDP 3、DDP5与DDP7)的每个的管芯0与管芯1,以及NVM芯片(DDP 8)的管芯0作为另一组,用于构造大块。NVM芯片DDP 9与DDP 8的管芯1被标记为坏块,不参与大块构造。
通过为大块选择校验块的位置,确保对于任何大块,通道CH 6为该大块提供物理块的3个管芯(NVM芯片DDP 6的管芯0与管芯1以及NVM芯片DDP 9的管芯0)中,最多有2个为该大块提供数据块。为某一大块提供物理块的通道CH 6的三个管芯为该大块提供的至少一个物理块,或者被用于存储大块的校验数据,或者被标记为坏块(无论是天然的坏块,还是人工标记的坏块)。以及确保对于任何大块,通道CH 7为该大块提供物理块的3个管芯(NVM芯片DDP 7的管芯0与管芯1以及NVM芯片DDP 8的管芯0)中,最多有2个为该大块提供数据块。
图6E是根据本申请依然又一实施例的固态存储设备的框图。
图6E的实施例中,展示了8个通道,其中通道CH 0~CH 3的每个,被设置了2颗包含4个管芯的NVM芯片(分别记为QDP 0~QDP 7)。而通道CH 4~CH 7的每个被设置了1颗包含4个管芯的NVM芯片(记为QDP 8~QDP 11)与1颗包含1个管芯的NVM芯片(记为SDP 0~SDP3)。
图6E的实施例中,NVM芯片(QDP 0、QDP 2与QDP 8)的所有管芯,以及SDP 0的所有管芯为一组,用于构造大块;NVM芯片(QDP 1、QDP 3与QDP 9)的所有管芯,以及SDP 1的所有管芯为一组,用于构造大块;NVM芯片(QDP 4、QDP 6与QDP 10)的所有管芯,以及SDP 2的所有管芯为一组,用于构造大块;NVM芯片(QDP 5、QDP 7与QDP 11)的所有管芯,以及SDP 3的所有管芯为一组,用于构造大块。
作为举例,通过为大块选择校验块的位置,确保对于任何大块,由SDP芯片的管芯为大块提供校验块。或者对于任何大块,由通道CH 4~CH 7的NVM芯片为大块提供的用于存储用户数据的管芯不超过4个(例如,将校验块设置在由通道CH 4~CH 7的NVM芯片为大块提供的物理块中,或者将校验块设置在由通道CH 4~CH 7的NVM芯片为大块提供的至少一个物理块标记为坏块)。
图6F是根据本申请依然另一实施例的固态存储设备的框图。
图6F的实施例中,展示了12个通道,每个通道被设置了1颗包含8个管芯的NVM芯片(分别记为ODP 0~ODP 11);每个通道还被设置了1颗包含2个管芯的NVM芯片(记为DDP 0~DDP 11)。
图6F的实施例中,作为举例,ODP 0、ODP 1与OPD 6的管芯0-3,以及DDP 0的管芯0为一组(记为组0),用于构造大块;而ODP 2、ODP 3与OPD 7的管芯0-3,以及DDP 2的管芯0为一组(记为组1),用于构造大块;ODP 0、ODP 1与OPD 6的管芯4-7,以及DDP 0的管芯1为一组(记为组2),用于构造大块。
作为举例,通过为大块选择校验块的位置,确保对于任何大块,由DDP(DDP 0)芯片的管芯为大块提供校验块。或者对于组0中的大块,其含有DDP芯片的通道CH 0为大块提供校验块,或者将通道CH 0中为大块提供的物理块的一个或多个标记为坏块。类似地,对于组1中的大块,其含有DDP芯片(DDP 2)的通道CH 2为大块提供校验块,或者将通道CH 2中为大块提供的物理块的一个或多个标记为坏块。
图7展示了根据本申请又一实施例的大块的示意图。
根据图7的实施例,由17个LUN构造大块。每个逻辑单元(LUN)包括多个平面(Plane)。以LUN 2为例,在LUN 2中包括4个平面(平面0、平面1、平面2与平面3)。LUN内的各个平面可以同时进行读写操作,从而提升了操作的并行性。
在图7的例子中,将物理块地址的低2位用于寻址平面。作为举例,LUN内的物理块地址有12比特,其中最低2比特用于寻址LUN中的4个平面之一,而高10比特用于寻址物理块。为清楚表达的需要,将物理块的地址的高10比特称为“块地址”,而低2比特称为“平面地址”。从而每个逻辑单元内具有相同“块地址”的物理块构成了“大块”。需要指出的是,有时也将连同“平面地址”的12位地址称为“块地址”。此时,各个LUN中的块地址为0、1、2、3的物理块属于同一个块条带。
参看图7,LUN 0-LUN 16的各个平面中地址为0的物理块B0构成了大块0,其中LUN0到LUN 15的各个平面中的物理块B0用于存储用户数据,而LUN 16的4个平面的物理块B0用于存储根据块条带内的用户数据计算得到的校验数据。
类似地,图7中,LUN 0-LUN 16中块地址为2的物理块B2构成大块2。
NVM芯片中有时会存在坏块,并导致构成大块的各个LUN为大块提供的物理块的数量不同。
图8A展示了根据本申请又一实施例的大块。在LUN 0到LUN 4上构造大块。LUN 0到LUN 4的每个包括4个平面,分别标识为P0、P1、P2与P3。图8A中的每个方块代表一个物理块,并具有相同的物理块地址,图8A的所有方块构成了大块800。由阴影标识的物理块是坏块,不能被写入数据。
根据图8A所示的实施例,选择LUN 4为大块800提供校验块。LUN 4的所有平面提供给大块800的物理块,都作为大块800的校验块。选择LUN 4为大块800提供校验块,是因为在LUN 0-LUN 4中,LUN 4中为大块800提供物理块的各个平面具有数量最多的可用块。换句话说,选择构成大块400的多个LUN中好块最多(或坏块最少)的LUN来提供校验块。
图8B展示了根据本申请依然又一实施例的大块。图8B的所有方块构成了大块810。由阴影标识的物理块是坏块,不能被写入数据。LUN 0、LUN 1与LUN 4都为大块810提供了3个好块,可选择LUN 0、LUN 1与LUN 4中的任何一个用于为大块810提供校验块。作为举例,选择LUN 0为大块810提供校验块。
图9是根据本申请又一实施例为大块选择校验块的流程图。
也参看图7、图8A与图8B,根据图9的实施例,固态存储设备的NVM芯片的LUN包括多个平面。为每个大块实施根据图9的实施例的流程,以确定用于大块的校验块的位置。
根据图9的实施例,固态存储设备的控制部件通过多个通道耦合多个NVM芯片。各个通道所耦合的NVM芯片的数量不同,或者所耦合的管芯/LUN数量不同。一些通道(记为通道CH n)所耦合的NVM芯片/管芯/LUN的数量大于另外一些通道。优先从(一个或多个)通道CH n所耦合的NVM芯片/管芯/LUN中为大块提供校验块,使得在通道CH n所耦合的NVM芯片/管芯/LUN中存储大块的校验数据,而较少为大块存储用户数据,以减轻大块被访问时,要传输的数据量。
参看图9,通过识别固态存储设备的各通道所耦合的NVM芯片/管芯/LUN的数量,得到要优先提供校验块的(一个或多个)通道(记为通道CH n)。例如,选择所耦合的NVM芯片/管芯/LUN的数量最多的一个或多个通道(CH n)。对于指定大块C,获取一个或多个通道(CHn)的每个上的LUN为大块C能提供的好块数量(910)。若一个或多个通道(CH n)之一上的LUN(记为Ln)为大块C能提供的好块数量等于为大块C提供物理块的所有LUN的每个所能提供的最大好块数量(920),则选择LUN(Ln)为大块C提供校验块(950),并在大块的元数据中标记校验块的位置在通道(CH n)的LUN(Ln)所提供的物理块。
LUN为大块提供的好块数量,依赖于LUN为大块提供的多个物理块的好块数量。例如,对于包括4个平面的LUN(参看图7),各个平面中为指定大块提供的物理块是好块或坏块。或者,来自多个平面每个的具有相同块地址的物理块是好块的数量,决定了LUN为大块提供的多个物理块的好块数量。参看图8A,构成大块800的多个LUN中,LUN 4为大块800提供的好块数量最多;构成大块810的多个LUN中,LUN 0、LUN 1与LUN 4为大块810提供的好块数量最多。
返回参看图9,步骤920,若该一个或多个通道(CH n)的任何LUN为大块C能提供的好块数量都小于为大块C提供物理块的所有LUN的每个所能提供的最大好块数量,则从该一个或多个通道(CH n)之外的其他通道上的管芯的LUN中选择为大块C提供校验块的LUN(记为LUN x)(930),该LUN x能够为大块C提供的好块数量,等于为大块C提供物理块的所有LUN的每个所能提供的最大好块数量。以及还将该一个或多个通道(CH n)的LUN为大块C提供的一个或多个物理块标记为坏块(无论是天然的坏块,还是人工标记的坏块)(940)。从而确保对于任何大块,该一个或多个通道(CH n)为该大块提供物理块的LUN中,为该大块提供数据块的LUN的数量小于通道(CH n)上的LUN的数量。
根据本申请的实施例,向大块连续地写入数据,使得被连续写入固态存储设备的数据在大块上连续的分布。当响应于对数据的随机读取时,被读取的数据随机分布在固态存储设备的NVM芯片中。从而响应于对数据的随机读取时,可充分发挥NVM芯片/管芯/LUN的并行性。当响应于对数据的连续读取时,待读出的数据分布在大块的多个物理块,而即使从大块的多个或所有物理块同时读出数据,也不会由于通道(CH n)上被设置了校验数据,使得通道(CH n)不会因待读出数据过多而成为性能瓶颈。
根据本申请的实施例还提供了一种固态存储设备,该设备包括控制器与非易失存储器芯片,其中,控制器执行本申请实施例提供的任意一种处理方法。
根据本申请的实施例还提供了一种存储在可读介质上的程序,当被固态存储设备的控制器运行时,使得固态存储设备执行根据本申请实施例提供的任意一种处理方法。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种固态存储设备,其特征在于,包括控制部件,控制部件通过多个通道耦合到NVM芯片;每个通道耦合一个或多个NVM芯片,NVM芯片包括一个或多个逻辑单元,多个逻辑单元的每个为大块提供物理块,一个或多个第一通道耦合的NVM芯片提供的逻辑单元的数量大于一个或多个第二通道耦合的NVM芯片提供的逻辑单元的数量。
2.如权利要求1所述的固态存储设备,其特征在于,大块的校验块由第一通道到耦合的NVM芯片提供。
3.如权利要求1或2所述的固态存储设备,其特征在于,第一大块的校验块由第二通道到耦合的NVM芯片提供,以及第一通道为第一大块提供的一个或多个物理块不被使用。
4.如权利要求3所述的固态存储设备,其特征在于,第一通道为第一大块提供的所述一个或多个物理块被标记为坏块。
5.如权利要求3所述的固态存储设备,其特征在于,若第一通道为第一大块提供的物理块中,有一个或多个自然产生的坏块,则无须将可用物理块人工标记为坏块。
6.如权利要求3所述的固态存储设备,其特征在于,若第一通道为第一大块提供的物理块中,不存在自然产生的坏块,则将一个或多个可用物理块中人工标记为坏块。
7.如权利要求1或2所述的固态存储设备,其特征在于,逻辑单元包括多个平面,为第一大块提供物理块的多个逻辑单元中,为第一大块提供好的物理块最多的第一逻辑单元被选择为第一大块提供校验块。
8.如权利要求7所述的固态存储设备,其特征在于,若第一逻辑单元不属于第一通道,第一通道为第一大块提供的物理块被设置为坏块。
9.如权利要求1所述的固态存储设备,其特征在于,
第一大块的校验块由第一通道到耦合的NVM芯片提供;
第二大块的校验块由第二通道到耦合的NVM芯片提供;以及
第一通道的NVM芯片为第二大块提供的一个或多个物理块不被使用。
10.如权利要求1或9所述的固态存储设备,其特征在于,一个或多个第一通道耦合的NVM芯片数量大于一个或多个第二通道耦合的NVM芯片数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711114105 | 2017-11-13 | ||
CN201711114105X | 2017-11-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN207676335U true CN207676335U (zh) | 2018-07-31 |
Family
ID=62968441
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201721685459.5U Active CN207676335U (zh) | 2017-11-13 | 2017-12-06 | 具有非对称通道的固态存储设备 |
CN201711275973.6A Pending CN109783404A (zh) | 2017-11-13 | 2017-12-06 | 具有非对称通道的固态存储设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711275973.6A Pending CN109783404A (zh) | 2017-11-13 | 2017-12-06 | 具有非对称通道的固态存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN207676335U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356234A (zh) * | 2021-12-31 | 2022-04-15 | 深圳大普微电子科技有限公司 | 非对齐存储结构的闪存设备及数据存储方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181274B (zh) * | 2019-07-01 | 2023-06-20 | 北京忆恒创源科技股份有限公司 | 提升存储设备性能稳定性的大块的组织方法及其存储设备 |
-
2017
- 2017-12-06 CN CN201721685459.5U patent/CN207676335U/zh active Active
- 2017-12-06 CN CN201711275973.6A patent/CN109783404A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356234A (zh) * | 2021-12-31 | 2022-04-15 | 深圳大普微电子科技有限公司 | 非对齐存储结构的闪存设备及数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109783404A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990462B2 (en) | Storage device, computing system including the same and data transferring method thereof | |
CN109697026A (zh) | 包括主机设备和用于执行清除操作的存储设备的存储系统 | |
CN105683953B (zh) | 支持加速数据库操作的数据存储设备 | |
CN107608910A (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
CN104809075A (zh) | 一种存取实时并行处理的固态记录装置及方法 | |
CN110083545A (zh) | 数据存储装置及其操作方法 | |
CN109101185B (zh) | 固态存储设备及其写命令和读命令处理方法 | |
CN106708423A (zh) | 多模存储管理系统 | |
CN109656833B (zh) | 数据储存装置 | |
CN108628548A (zh) | 从耦合于计算装置的单个存储装置模拟多个存储装置 | |
CN108614668A (zh) | 基于kv模型的数据访问方法与固态存储设备 | |
CN108595349A (zh) | 大容量存储设备的地址转换方法与装置 | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
CN106649144A (zh) | 数据储存设备及其操作方法 | |
TWI775268B (zh) | 儲存裝置、快閃記憶體控制器及其控制方法 | |
CN108228470A (zh) | 一种处理向nvm写入数据的写命令的方法和设备 | |
CN109947669A (zh) | Kv存储设备的地址转换方法与系统 | |
CN207676335U (zh) | 具有非对称通道的固态存储设备 | |
CN110377221A (zh) | 双端口固态存储设备及其数据处理方法 | |
CN109976664A (zh) | 固态存储设备的日志数据组织 | |
CN110554833B (zh) | 存储设备中并行处理io命令 | |
CN109815157A (zh) | 编程命令处理方法与装置 | |
CN108614671A (zh) | 基于命名空间的键-数据访问方法与固态存储设备 | |
CN109840048A (zh) | 存储命令处理方法及其存储设备 | |
CN108628762A (zh) | 多命名空间 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Patentee after: Beijing yihengchuangyuan Technology Co.,Ltd. Address before: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Patentee before: MEMBLAZE TECHNOLOGY (BEIJING) Co.,Ltd. |