CN115857790A - 一种存储设备、数据存储方法及存储系统 - Google Patents
一种存储设备、数据存储方法及存储系统 Download PDFInfo
- Publication number
- CN115857790A CN115857790A CN202111115207.XA CN202111115207A CN115857790A CN 115857790 A CN115857790 A CN 115857790A CN 202111115207 A CN202111115207 A CN 202111115207A CN 115857790 A CN115857790 A CN 115857790A
- Authority
- CN
- China
- Prior art keywords
- storage
- layer
- data
- storage device
- storage unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013500 data storage Methods 0.000 title claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 103
- 230000006870 function Effects 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000001133 acceleration Effects 0.000 abstract description 11
- 230000002085 persistent effect Effects 0.000 abstract description 7
- 239000010410 layer Substances 0.000 description 127
- 238000004809 thin layer chromatography Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000002035 prolonged effect Effects 0.000 description 4
- 230000008034 disappearance Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013403 standard screening design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储设备、数据存储方法及存储系统,涉及数据存储领域。存储设备包括控制单元、热备区域和数据区域。由于热备区域对应的第二层存储单元所能存储的比特数小于数据区域对应的第一层存储单元所能存储的比特数,因此,热备区域的数据读写性能高于数据区域的数据读写性能。在数据访问过程中,存储设备将目标数据临时存储在热备区域中,存储设备的数据读写速度与热备区域的数据读写速度一致,提高了存储设备的数据访问效率。控制单元还将热备区域中存储的目标数据写入到数据区域中,由数据区域对该目标数据进行持久化存储,即存储设备内部划分为缓存和持久化存储,进而在存储设备内部实现了硬件加速,提高了存储设备的数据访问性能。
Description
技术领域
本申请涉及数据存储领域,尤其涉及一种存储设备、数据存储方法及存储系统。
背景技术
随着存储介质的技术发展,硬盘的存储容量越来越大,其中一个原因是单个存储颗粒所能存储的信息位数越来越多,如四层式存储单元(quad level cell,QLC),每个QLC可以存储4比特(bit)信息;相较于单个存储颗粒只能存储1bit信息的单层式存储单元(single level cell,SLC),QLC的存储密度提升了4倍,但SLC的读写速度比QLC更快。
通常,存储系统将硬盘中存储数据的QLC转成SLC,或将硬盘中存储数据的SLC转成QLC。当硬盘中存储的数据量越多时,SLC所占据的存储容量越少,直到硬盘中已用存储容量达到一定比例的情况下,硬盘中用于实现读写加速的SLC完全消失,导致存储系统的读写性能受到影响。
发明内容
本申请提供一种存储设备、数据存储方法及存储系统,解决了存储设备中无法进行硬件加速的问题。
本申请采用如下技术方案。
第一方面,本申请提供了一种存储设备,包括控制单元、热备区域和数据区域。其中,数据区域的存储功能是由存储设备包括的第一存储单元集合提供的,该第一存储单元集合包括多个第一层存储单元;热备区域的存储功能是由存储设备包括的多个第二层存储单元提供的,且第一层存储单元所能存储的比特数大于第二层存储单元所能存储的比特数。如此,热备区域用于作为存储设备的缓存,临时存储目标数据;并在一定条件下,控制单元用于将热备区域中存储的目标数据写入数据区域。
如此,热备区域作为数据区域的缓存,由于热备区域对应的第二层存储单元所能存储的比特数小于数据区域对应的第一层存储单元所能存储的比特数,因此,热备区域的数据读写性能高于数据区域的数据读写性能。在数据访问过程中,存储设备将目标数据临时存储在热备区域中,当收到用于读取所述目标数据的读请求时,存储系统会优先访问热备区域,由此提高了存储设备的数据访问效率。由于热备区域在存储设备中是一直存在的,热备区域所提供的数据缓存功能一直不会消失,避免了通常技术中SLC消失所导致的数据读写速度下降的问题。
另外,在一定条件下,存储设备将热备区域中存储的目标数据写入(或称迁移)到数据区域中,由存储设备的数据区域对该目标数据进行持久化存储,使得存储设备内部可以划分为缓存(热备区域)和持久化存储(数据区域),进而在存储设备内部实现了硬件加速,提高了存储设备的数据访问性能。还需要说明的是,由于热备区域是存储设备提供的,且热备区域可以作为存储设备的缓存,因此,在硬件加速场景下,无需为该存储设备添加额外的用于缓存的高性能存储介质,降低了存储设备实现硬件加速的成本。
在一种可选的实现方式中,第一层存储单元是双层式存储单元(multi-levelcell,MLC)、三层式存储单元(triple-level cell,TLC)和QLC中的其中一种,第二层存储单元是SLC。或者,第一层存储单元是TLC和QLC中的其中一种,第二层存储单元是SLC和MLC中的其中一种。或者,第一层存储单元是QLC,第二层存储单元是SLC、MLC、TLC中的其中一种。
由于第一层存储单元所能存储的比特数大于第二层存储单元所能存储的比特数,因此,第一层存储单元的数据读写速度小于第二层存储单元的数据读写速度。在同样的使用情况下,第二层存储单元的使用寿命高于第一层存储单元的使用寿命。
在另一种可选的实现方式中,存储设备还包括第二存储单元集合,第二存储单元集合包括多个第一层存储单元,第二层存单元是由第二存储单元集合包括的第一层存储单元转换获得的。
在另一种可选的实现方式中,在存储设备的运行过程中,控制单元用于将第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。在一种可能的情形中,若存储设备所包括的存储单元在出厂状态下均为第一层存储单元,本实施例可以将该第一层存储单元转换为多个第二层存储单元,进而由该多个第二层存储单元为热备区域提供缓存空间,使得热备区域实现存储设备的缓存功能,从而实现存储设备内部的硬件加速,提高了存储设备的数据访问性能。
在另一种可选的实现方式中,控制单元具体用于:在热备区域的存储空间不足以存储目标数据的情况下,将第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
如此,在热备区域中用于临时缓存数据的空间不足的情况下,存储设备中为热备区域提供存储空间的存储单元可以转换,如上述的第一层存储单元转换为第二层存储单元,示例的,QLC转换为SLC,使得存储设备可以利用转换获得的第二层存储单元来临时存储数据,从而使得存储设备对外提供数据访问服务的数据读写速度和第二层存储单元的数据读写速度一致。
在另一种可选的实现方式中,在所述存储设备中硬盘出现故障的情况下,所述控制单元还用于将所述第二层存储单元转换为第一层存储单元,转换得到的第一层存储单元用于恢复所述硬盘存储的数据。
若硬盘出现故障,由于热备区域(如由SLC提供的存储空间)中缓存数据清除掉之后,这部分数据不影响数据区域(如由QLC提供的存储空间)实际存储的业务数据,所以硬盘所存储的业务数据不会受到热备空间中缓存数据的影响,控制单元将为热备区域提供存储空间的第二层存储单元(如SLC)换换为第一层存储单元(如QLC),并利用该第一层存储单元来恢复故障硬盘的数据,保证了存储设备的数据可靠性。
第二方面,本申请提供一种数据存储方法,该方法由存储设备执行,或者该方法由支持该存储设备实现的存储系统执行,该数据存储方法包括:首先,存储设备包括的第一存储单元集合提供数据区域,该第一存储单元集合包括多个第一层存储单元,且存储设备包括的多个第二层存储单元提供热备区域,该第一层存储单元所能存储的比特数大于第二层存储单元所能存储的比特数;其次,热备区域作为存储设备的缓存,临时存储目标数据;最后,存储设备包括的控制单元在一定条件下,将热备区域中存储的目标数据写入数据区域。
在数据访问过程中,存储设备将目标数据临时存储在热备区域中,当收到用于读取所述目标数据的读请求时,存储系统会优先访问热备区域,因此在存储设备对外提供数据访问服务时,存储设备的数据读写速度与热备区域的数据读写速度一致,由于热备区域对应的第二层存储单元所能存储的比特数小于数据区域对应的第一层存储单元所能存储的比特数,因此,热备区域的数据读写性能高于数据区域的数据读写性能,提高了存储设备的数据访问效率。由于热备区域在存储设备中是一直存在的,热备区域所提供的数据缓存功能一直不会消失,避免了通常技术中SLC消失所导致的数据读写速度下降的问题。
在一种可选的实现方式中,第一层存储单元是MLC、TLC和QLC中的其中一种,第二层存储单元是SLC。或者,第一层存储单元是TLC和QLC中的其中一种,第二层存储单元是SLC和MLC中的其中一种。或者,第一层存储单元是QLC,第二层存储单元是SLC、MLC、TLC中的其中一种。
在另一种可选的实现方式中,存储设备还包括第二存储单元集合,第二存储单元集合包括多个第一层存储单元,第二层存单元是由第二存储单元集合包括的第一层存储单元转换获得的。
在另一种可选的实现方式中,该数据存储方法还包括:在存储设备的运行过程中,控制单元将第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
在另一种可选的实现方式中,控制单元将第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元,包括:控制单元在热备区域的存储空间不足以存储目标数据的情况下,将第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
在另一种可选的实现方式中,该数据存储方法还包括:在存储设备中硬盘出现故障的情况下,控制单元将第二层存储单元转换为第一层存储单元,转换得到的第一层存储单元用于恢复硬盘存储的数据。
在另一种可选的实现方式中,该数据存储方法还包括:控制单元获取用于请求目标数据的第一读请求,并第一读请求携带的第一标识指示的第一层存储单元中,读取目标数据。该第一标识指示目标数据存储在数据区域的第一层存储单元中。例如,若目标数据为第一数据,在控制单元获取到用于请求第一数据的第一读请求的情况下,存储设备可以从第一读请求携带的QLC标识(identifier,ID)所指示的QLC中,读取第一数据。其中,该QLCID指示第一数据存储在数据区域的QLC中;控制单元解析该QLC ID可以确定第一数据存储的物理块(chunk)。
在另一种可选的实现方式中,该数据存储方法还包括:控制单元获取用于请求目标数据的第二读请求,并从第二读请求携带的第二标识指示的第二层存储单元中,读取目标数据。该第二标识指示目标数据存储在热备区域的第二层存储单元中。例如,若目标数据为第二数据,在控制单元获取到用于请求第二数据的第二读请求的情况下,存储设备可以从第二读请求携带的SLC ID所指示的SLC中,读取第二数据。其中,该SLC ID指示第一数据存储在数据区域的SLC中;控制单元解析该SLC ID可以确定第二数据存储的物理块(chunk)。
如此,存储设备可以依据读请求或写请求所携带的存储单元ID(或称数据流ID),确定目标数据的读取位置或写入位置,提高了存储设备的数据读写速度,从而提升了存储设备的数据访问性能。
在另一种可选的实现方式中,该数据存储方法还包括:针对于第一存储单元集合包括的每个第一层存储单元,控制单元统计第一层存储单元的擦写次数,并对擦除次数达到第一阈值的第一层存储单元进行磨损防护。
例如,控制单元将擦除次数达到第一阈值的第一层存储单元转换为第二层存储单元。通过将第一层存储单元转换为第二层存储单元,可以提高存储设备中转换得到的第二存储单元的剩余可用次数,从而提升了存储设备的使用寿命,实现存储设备的磨损均衡。
又如,控制单元将擦除次数达到第一阈值的第一层存储单元中存储的数据,迁移到擦除次数未达到第一阈值的第一层存储单元。在存储设备内部进行同类存储单元之间的数据迁移,从而实现多个同类存储单元之间的使用寿命均衡,继而达到存储设备内的存储单元的负载均衡,提高了存储设备的整体寿命。
第三方面,本申请提供一种存储系统,包括:控制器,以及第一方面和第二方面中任一项的存储设备。所述控制器用于获取目标数据,并向存储设备发送目标数据;该存储设备,用于依据目标数据临时存储在存储设备包括的热备区域中,并在一定条件下,将目标数据从热备区域写入存储设备包括的数据区域。
该存储系统还可以实现第一方面和第二方面的任一项实现方式中的功能,有益效果可以参见第一方面和第二方面中任一方面的描述,此处不再赘述。
第四方面,本申请提供一种数据存储装置,该数据存储装置应用于存储设备,该数据存储装置包括用于执行第一方面和第二方面中任一种可能实现方式的各个模块。
有益效果可以参见第一方面和第二方面中任一方面的描述,此处不再赘述。所述数据存储装置具有实现上述第一方面和第二方面中任一方面的实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本申请提供一种芯片,包括存储器和处理器,存储器用于存储计算机指令,当处理器从存储器中调用并运行计算机指令时,实现第二方面中任一种可能实现方式的方法的操作步骤。
第六方面,本申请提供一种计算机可读存储介质,存储介质中存储有计算机程序或指令,当计算机程序或指令被处理器或存储设备执行时,实现第二方面中任一种可能实现方式的方法的操作步骤。
第七方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机或服务器等通信设备上运行时,使得处理器或存储设备执行第二方面中任一种可能实现方式的方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种数据存储系统示意图;
图2为本申请提供的存储单元的数据存储示意图;
图3为本申请提供的一种存储设备的示意图;
图4为本申请提供的一种数据存储方法的流程图;
图5为本申请提供的一种存储管理的示意图。
具体实施方式
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍。
图1为本申请提供的一种数据存储系统示意图,该数据存储系统包括计算设备100和存储系统120。在图1所示的应用场景中,用户通过应用程序来存取数据。运行这些应用程序的计算机可以被称为“计算设备”。计算设备100可以是物理机,也可以是虚拟机。物理计算设备包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。
在一种可能的示例中,计算设备100通过网络访问存储系统120以存取数据,例如,该网络可以包括交换机110。
在另一种可能的示例中,计算设备100也可以通过有线连接与存储系统120通信,例如,通用串行总线(universal serial bus,USB)或快捷外围部件互连标准(PeripheralComponent Interconnect Express,PCIe)总线等。
图1所示的存储系统120可以是一个集中式存储系统。集中式存储系统的特点是有一个统一的入口,所有从外部设备来的数据都要经过这个入口,这个入口就是集中式存储系统的引擎121。引擎121是集中式存储系统中最为核心的部件,许多存储系统的高级功能都在其中实现。
如图1所示,引擎121中可以有一个或多个控制器,图1以引擎121包含一个控制器为例予以说明。在一种可能的示例中,若引擎121具有多个控制器,任意两个控制器之间可以具有镜像通道,实现任意两个控制器互为备份的功能,从而避免硬件故障导致整个存储系统120的不可用。
引擎121还包含前端接口1211和后端接口1214,其中前端接口1211用于与计算设备100通信,从而为计算设备100提供数据访问服务。而后端接口1214用于与硬盘通信,以扩充存储系统120的容量。通过后端接口1214,引擎121可以连接更多的硬盘,从而形成一个非常大的存储资源池。
在硬件上,如图1所示,控制器至少包括处理器1212、内存1213。处理器1212是一个中央处理单元(Central Processing Unit,CPU),用于处理来自存储系统120外部(服务器或者其他存储系统)的数据访问请求,也用于处理存储系统120内部生成的请求。示例性的,处理器1212通过前端端口1211接收计算设备100发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存1213中。当内存1213中的数据总量达到一定阈值时,处理器1212通过后端端口将内存1213中存储的数据发送给机械硬盘1211、机械硬盘1222、固态硬盘(solid state drive,SSD)1223或其他硬盘1224中至少一个硬盘进行持久化存储。
内存1213是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(read only memory,ROM)。举例来说,随机存取存储器是DRAM,或者SCM。DRAM是一种半导体存储器,与大部分随机存取存储器(random access memory,RAM)一样,属于一种易失性存储器(volatilememory)设备。然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(static random access memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(programmable read only memory,PROM)、可抹除可编程只读存储器(erasable programmable read only memory,EPROM)等。
另外,内存1213还可以是双列直插式存储器模块或双线存储器模块(dual in-line memory module,DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是SSD。实际应用中,控制器中可配置多个内存1213,以及不同类型的内存1213。本实施例不对内存1213的数量和类型进行限定。此外,可对内存1213进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存1213中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
内存1213中存储有软件程序,处理器1212运行内存1213中的软件程序可实现对硬盘的管理。例如将硬盘抽象化为存储资源池,并将存储资源池以逻辑单元号(logical unitnumber,LUN)的形式提供给服务器使用等。这里的LUN其实就是在服务器上看到的硬盘。当然,一些集中式存储系统本身也是文件服务器,可以为服务器提供共享文件服务。
如图1所示,在该系统中,引擎121可以不具有硬盘槽位,硬盘需要放置在硬盘框122中,后端接口1214与硬盘框122通信。后端接口1214以适配卡的形态存在于引擎121中,一个引擎121上可以同时使用两个或两个以上后端接口1214来连接多个硬盘框。或者,适配卡也可以集成在主板上,此时适配卡可通过PCIe总线与处理器1212通信。
需要说明的是,图1中只示出了一个引擎121,然而在实际应用中,存储系统中可包含两个或两个以上引擎121,多个引擎121之间做冗余或者负载均衡。
硬盘框122包括控制单元1225和若干个硬盘。控制单元1225可具有多种形态。一种情况下,硬盘框122属于智能盘框,如图1所示,控制单元1225包括CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘的数据,或者从硬盘读取出来将要发送给控制器的数据。另一种情况下,控制单元1225是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processingunits,NPU)等处理芯片。通常情况下,控制单元1225的数量可以是一个,也可以是两个或两个以上。控制单元1225的功能可以卸载到网卡1226上。换言之,在该种实施方式中,硬盘框122内部不具有控制单元1225,而是由网卡1226来完成数据读写、地址转换以及其他计算功能。此时,网卡1226是一个智能网卡。它可以包含CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘的数据,或者从硬盘读取出来将要发送给控制器的数据。也可以是一个可编程的电子部件,例如DPU。硬盘框122中的网卡1226和硬盘之间没有归属关系,网卡1226可访问该硬盘框122中任意一个硬盘(如图1所示出的机械硬盘1221、机械硬盘1222、固态硬盘1223和其他硬盘1224),因此在存储空间不足时扩展硬盘会较为便捷。
按照引擎121与硬盘框122之间通信协议的类型,硬盘框122可能是串行连接的小型计算机系统接口(serial attached small computer system interface,SAS)的硬盘框,也可能是NVMe(Non-Volatile Memory express)硬盘框以及其他类型的硬盘框。SAS硬盘框,采用SAS3.0协议,每个框支持25块SAS硬盘。引擎121通过板载SAS接口或者SAS接口模块与硬盘框122连接。NVMe硬盘框,更像一个完整的计算机系统,NVMe硬盘插在NVMe硬盘框内。NVMe硬盘框再通过RDMA端口与引擎121连接。
在一种可选的实现方式中,存储系统120为盘控一体的集中式存储系统,存储系统120中不具有上述的硬盘框122,引擎121用于管理通过硬盘槽连接的多个硬盘。硬盘槽的功能可以由后端接口1214实现。
在另一种可选的实现方式中,图1所示的存储系统120是分布式存储系统,该分布式存储系统包括计算设备集群和存储设备集群,计算设备集群包括一个或多个计算设备,各个计算设备之间可以相互通信。计算设备可以是一种计算设备,如服务器、台式计算机或者存储阵列的控制器等。在硬件上,计算设备可以包括处理器、内存和网卡等。其中,处理器是一个CPU,用于处理来自计算设备外部的数据访问请求,或者计算设备内部生成的请求。示例性的,处理器接收用户发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存中。当内存中的数据总量达到一定阈值时,处理器将内存中存储的数据发送给存储设备进行持久化存储。除此之外,处理器还用于数据进行计算或处理,例如元数据管理、重复数据删除、数据压缩、虚拟化存储空间以及地址转换等。在一种示例中,任意一个计算设备可通过网络访问存储设备集群中的任意一个存储设备。存储设备集群包括多个存储设备。一个存储设备包括一个或多个控制器、网卡与多个硬盘,该网卡用于与计算设备通信。
这里以图1所示出的存储系统120为例,对本申请实施例的实施方式进行详细描述。
固态硬盘1223包括控制芯片和用于存储数据的闪存(Flash)芯片,Flash芯片使用一种叫做“浮动门场效应晶体管”的晶体管来保存数据。每个这样的晶体管叫做一个“Cell”,即单元。按照存储密度进行划分,Cell至少可分为SLC和MLC。
如图2所示,图2为本申请提供的存储单元的数据存储示意图,对于SLC,每个Cell单元存储1bit信息,也就是只有0、1两种电压变化,结构简单,电压控制也快速,反映出来的特点就是寿命长,性能强,可编程/擦除(programmable/erase,P/E)次数在1万到10万次之间,但缺点就是容量低而成本高,毕竟一个Cell单元只能存储1bit信息。P/E次数也可以称为P/E寿命。
对于MLC,每个cell单元存储2bit信息,需要更复杂的电压控制,有00,01,10,11四种变化,这也意味着写入性能、可靠性能降低了。MLC的P/E寿命根据不同制程在3000~5000次不等。可见,MLC容量是SLC的两倍,但是成本却与SLC大致相当,所以相同容量的SSD,MLC芯片成本要比SLC芯片低很多。此外,MLC由于每个Cell可以存储4个状态,其复杂度比较高,所以出错率也很高。不管SLC还是MLC都需要额外保存ECC校验信息来做数据的错误恢复。
除此之外,Cell还可以包括TLC和QLC。如图2所示,对于TLC,每个cell单元存储3bit信息,电压从000到001有8种变化,容量比MLC再次增加1/3,成本更低,但是架构更复杂,P/E编程时间长,写入速度慢,P/E寿命也降至1000-3000次,部分情况会更低。寿命短只是相对而言的,经测试,TLC颗粒可以正常使用5年以上。QLC或者可以叫4bit MLC,电压有16种变化,但是单个单元的存储容量能增加33%,写入性能、P/E寿命与TLC相比会进一步降低。
为实现存储设备的硬件加速,提高数据存储系统的读写性能,本申请提供了一种存储设备,如图3所示,图3为本申请提供的一种存储设备的示意图,该存储设备300可以是图1所示出的硬盘框122。
在一种可能的实现方式中,当存储系统120为盘控一体的集中式存储系统时,该存储设备300是指该盘控一体的集中式存储系统。
在另一种可能的实现方式中,该存储设备300还可以是指包括控制芯片和闪存芯片的硬盘,例如控制芯片用于实现控制单元的功能,闪存芯片用于实现存储单元的功能。
这里以存储设备300是图1所示出的硬盘框122为例进行说明,在产品的实际实现中,存储设备300提供给主机或计算设备的存储空间仅为一段的逻辑地址空间,该逻辑地址空间和存储设备300的硬件关系如图3所示,存储设备300提供给主机或计算设备的该逻辑地址空间为一个存储资源池(storage resource pool),如该存储设备300包括的热备区域和数据区域。
在一些可能的情形中,该存储资源池也可以是指用于存储数据的逻辑盘。
如图3所示,在存储资源池中,数据区域和热备区域采用不同的逻辑地址空间。
数据区域是指存储资源池中用于持久化存储数据的存储空间。在硬件实现上,数据区域的存储功能是由存储设备300包括的物理盘提供的,示例的,该数据区域的存储空间是由第一存储单元集合提供的,该第一存储单元集合包括多个第一层存储单元(如图3所示出的白色小方块)。该第一存储单元集合是指存储设备300划分多个物理盘(如硬盘321~硬盘324)所包括的第一层存储单元得到的。
另外,该存储单元还可以将多个硬盘中除第一存储单元集合外的其他第一层存储单元作为第二存储单元集合。该第二存储单元集合也包括多个第一层存储单元,该多个第一层存储单元可以为热备区域提供用于数据备份、快照或克隆的存储空间。示例的,该热备区域用于实现存储设备的故障切换机制,为存储提供的数据访问功能提供可靠性。例如,当数据区域中部分区域发生故障导致不可用时,热备区域将切换到运行状态,以接替数据区域中发生故障的区域所提供的存储功能。
值得注意的是,存储设备300可以将多个硬盘进行划分,一部分硬盘用于提供上述第一存储单元集合所包括的多个第一层存储单元,另一部分硬盘用于提供上述第二存储单元集合所包括的多个第一层存储单元。
可选的,存储设备300中的硬盘同时为第一存储单元集合和第二存储单元集合提供第一层存储单元。如图3所示,硬盘321被划分为四个部分,其中,一个部分的第一层存储单元用于为热备区域提供存储空间,另外三个部分的第一层存储单元用于为数据区域提供存储空间。
在本实施例中,该热备区域可以作为存储设备300的缓存,以临时存储目标数据。当热备区域作为缓存使用时,该热备区域的存储功能是由存储设备300包括的多个第二层存储单元(如图3中斑点填充的小方块)提供的。其中,该第二层存储单元是由第二存储单元集合包括的第一层存储单元转换得到的,且第一层存储单元所能存储的比特数大于第二层存储单元所能存储的比特数。
在第一种可能的示例中,第一层存储单元是MLC、TLC和QLC中的其中一种,第二层存储单元是SLC。
在第二种可能的示例中,第一层存储单元是TLC和QLC中的其中一种,第二层存储单元是SLC和MLC中的其中一种。
在第三种可能的示例中,第一层存储单元是QLC,第二层存储单元是SLC、MLC、TLC中的其中一种。
可选的,上述第二层存储单元是由存储设备300中第二存储单元集合包括的多个第一层存储单元转换获得的。例如,若第一层存储单元是QLC,第二层存储单元是SLC,则一个QLC可以转换为4个SLC;又如,若第一层存储单元是QLC,第二层存储单元是TLC,则一个QLC可以转换为2个TLC。
值得注意的是,上述的SLC、MLC、TLC和QLC仅为本实施例提供的存储单元的示例,随着存储技术的发展,本申请所提供的存储单元还可以是指一个cell单元内可以存储更多比特数的存储单元,如一个cell单元内可以存储5bit信息、6bit信息或更多bit等,本申请对此不予限定。
如图3所示,在硬件实现上,该存储设备300包括控制单元310和多个硬盘,如图3所示出的硬盘321、硬盘322、硬盘323和硬盘324。该控制单元310可以实现图1所示出的控制单元1225的功能。硬盘321~硬盘324可以是相同类型的硬盘(如QLC SSD),也可以是不同类型的硬盘,本申请对此不予限定。
在一种可选的示例中,该存储设备300对应的多个物理盘(如图3所示出的硬盘321~硬盘324)在初始状态下,如未使用过的状态下,物理盘的存储介质全部是QLC(第一层存储单元),即硬盘321~硬盘324均为QLC SSD,则硬盘321~硬盘324所包括的QLC可以划分为第一存储单元集合和第二存储单元集合。
该第一存储单元集合包括多个第一存储单元(如图3中物理盘所示出的白色小方块),该多个第一存储单元可以为存储资源池中的数据区域提供用于存储的逻辑地址空间。
该第二存储单元集合包括多个第一存储单元(如图3中物理盘所示出的黑色小方块),该多个第一存储单元可以为存储资源池中的热备区域提供用于存储的逻辑地址空间。
可选的,存储设备300为存储资源池提供逻辑地址空间的具体实现过程可以包括以下内容。
首先,存储设备300可以将存储空间信息上报给控制器(如图1中引擎121所包括的控制器),该存储空间信息可以包括存储设备300中各硬盘的类型,以及硬盘所能提供的存储容量等信息。
其次,控制器依据存储设备300上报的存储空间信息为热备区域和数据区域提供存储空间。
例如,假设存储设备300包括的硬盘均为QLC SSD,则存储设备300中的控制单元310向控制器上报存储空间信息,控制器根据该存储空间信息和用户设置信息等构建存储资源池,并配置元数据空间、数据区域、热备空间(或称热备区域)、预留空间等区域;随后存储系统包括的控制器取热备区域的部分区域作为读缓存区域。如控制器将热备区域中的四分之一作为读缓存区域,该读缓存区域由QLC转换得到的SLC提供存储空间。
示例的,在存储设备300的运行过程中,该第二存储单元集合包括的多个第一存储单元集合可以转换为第二层存储单元(如图3中物理盘所示出的斑点填充的小方块),该第二层存储单元可以为热备区域提供用于缓存的逻辑地址空间。
在一种可能的具体示例中,如热备区域的存储空间不足以临时存储目标数据的情况下,控制单元310可以将第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
如此,在热备区域中用于临时缓存数据的空间不足的情况下,存储设备300中为热备区域提供存储空间的存储单元可以转换,如上述的第一层存储单元转换为第二层存储单元,示例的,QLC转换为SLC,使得存储设备可以利用转换获得的第二层存储单元来临时存储数据,从而使得存储设备对外提供数据访问服务的数据读写速度和第二层存储单元的数据读写速度一致。
由于一个第一层存储单元所能存储的比特数大于一个第二层存储单元所能存储的比特数,因此第二层存储单元的数据读写速度大于第一层存储单元的数据读写速度,也就是说,存储设备在初始化状态下的数据读写速度与第一层存储单元一致,在本实施例中,存储设备对外提供的数据访问服务的数据读写速度和第二层存储单元一致,由此提高了存储设备的数据读写速度,进而提升了存储设备的数据访问性能。
另外,由于第一层存储单元所能存储的比特数大于第二层存储单元所能存储的比特数,因此,第一层存储单元的数据读写速度小于第二层存储单元的数据读写速度。在同样的使用情况下,请参照图2和图3的相关描述,第二层存储单元的P/E次数(寿命)高于第一层存储单元的P/E次数(寿命)。
在图3所示出的存储设备300的基础上,为实现数据访问,本申请提供一种数据存储方法,如图4所示,图4为本申请提供的一种数据存储方法的流程图,存储设备300为主机或计算设备提供了存储资源池,该存储资源池包括数据区域和热备区域,关于存储设备300的具体实现可以参照上述图3的相关内容,此处不予赘述。该数据存储方法包括以下步骤。
S410,控制单元310将获取到的目标数据存储在热备区域。
首先,由于第一层存储单元所能存储的比特数大于第二层存储单元所能存储的比特数,因此,第一层存储单元的数据读写速度小于第二层存储单元的数据读写速度;其次,热备区域的存储功能是由第二层存储单元提供的,而数据区域的存储功能是由第一层存储单元提供的,进而,热备区域的数据读写速度高于数据区域的数据读写速度,将存储设备300中的热备区域作为数据区域的缓存,提高了存储设备300读写外部数据(如上述的目标数据)的性能。
S420,在一定条件下,控制单元310将热备区域存储的目标数据写入数据区域。
在第一种可能的情形中,上述的一定条件可以是热备区域中存储的数据量达到阈值,例如,100百万字节(mega byte,MB)或20MB等。
在第二种可能的情形中,上述的一定条件可以是热备区域中存储该目标数据达到指定时长。例如,当目标数据存储在热备区域的时长达到1分钟或1天时,存储设备300将该热备区域存储的目标数据迁移到数据区域。
在第三种可能的情形中,上述的一定条件可以是热备区域的可用容量低于容量阈值,如10MB、5MB或2MB等。
以上三种可能的情形仅为本实施例提供的示例,不应理解为对本申请的限定。
如此,热备区域作为数据区域的缓存,由于热备区域对应的第二层存储单元所能存储的比特数小于数据区域对应的第一层存储单元所能存储的比特数,因此,热备区域的数据读写性能高于数据区域的数据读写性能。在数据访问过程中,存储设备将目标数据临时存储在热备区域中,当收到用于读取所述目标数据的读请求时,存储系统会优先访问热备区域,使得存储设备对外提供数据访问服务时,存储设备的数据读写速度与热备区域的数据读写速度一致,由此提高了存储设备的数据访问效率。由于热备区域在存储设备中是一直存在的,热备区域所提供的数据缓存功能一直不会消失,避免了通常技术中SLC消失所导致的数据读写速度下降的问题。
另外,在一定条件下,存储设备将热备区域中存储的目标数据写入(或称迁移)到数据区域中,由存储设备的数据区域对该目标数据进行持久化存储,使得存储设备内部可以划分为缓存(热备区域)和持久化存储(数据区域),进而在存储设备内部实现了硬件加速,提高了存储设备的数据访问性能。
还需要说明的是,由于热备区域是存储设备提供的,且热备区域可以作为存储设备的缓存,因此,在硬件加速场景下,无需为该存储设备添加额外的用于缓存的高性能存储介质,降低了存储设备实现硬件加速的成本。
作为一种可选的实现方式,存储设备300可以依据目标数据所具有的冷热信息,将目标数据写入不同的存储单元中。该冷热信息是指目标数据在单位时间内的访问次数,或称该目标数据的访问频率,如目标数据的访问频率高于频率阈值,则该目标数据为热数据。
在一种可能的示例中,写请求中可以携带有指示目标数据的冷热信息的标识,如该标识为数据流ID。在一种可能的情形中,该数据流ID不仅指示了目标数据的冷热,还指示目标数据将要存储在存储设备300中的存储单元类型。存储设备300可以依据该数据流ID快速对目标数据进行访问,由此提高存储设备的数据访问效率。
例如,若写请求中携带的目标数据为冷数据,则数据流ID可以为QLC ID,存储设备300可以依据该写请求携带的QLC ID,将该目标数据写入存储设备300中的QLC,该QLC可以是为数据区域提供存储空间的第一层存储单元。
又如,若写请求中携带的目标数据为热数据,则数据流ID可以为SLC ID,存储设备300可以依据该写请求携带的SLC ID,将该目标数据写入存储设备300中的SLC,该SLC可以是为热备区域提供存储空间的第二层存储单元。
值得注意的是,上述的QLC ID和SLC ID仅为说明数据流ID而提供的示例,当该数据流ID用于确定待写数据将要存储的存储单元类型时,该数据流ID可以是存储设备所在的存储系统中控制器(如图1所示出的控制)依据待写数据的冷热信息生成的,还可以是客户端(如主机,或与存储系统、存储设备通信的其他计算设备等)指定的。
相应的,存储设备300为了将数据从热备区域和数据区域中读取出来,读请求中可以携带有上述的数据流ID。
例如,若目标数据为冷数据,在控制单元310获取到用于请求目标数据的第一读请求的情况下,存储设备300可以从第一读请求携带的QLC ID所指示的QLC中,读取目标数据。其中,该QLC ID指示目标数据存储在数据区域的QLC中;控制单元310解析该QLC ID可以确定目标数据存储的物理块(chunk),例如,该chunk是图4中为数据区域提供存储空间的第一层存储单元(物理盘300B中白色小方块)。
又如,若目标数据为热数据,在控制单元310获取到用于请求目标数据的第二读请求的情况下,存储设备300可以从第二读请求携带的SLC ID所指示的SLC中,读取目标数据。其中,该SLC ID指示目标数据存储在数据区域的SLC中;控制单元310解析该SLC ID可以确定目标数据存储的chunk,例如,该chunk是图4中为热备区域提供存储空间的第二层存储单元(物理盘300B中斑点填充的小方块)。
存储设备可以依据读请求或写请求所携带的数据流ID,确定目标数据的读取位置或写入位置,提高了存储设备的数据读写速度,从而提升了存储设备的数据访问性能。
在一种可选的实现方式中,针对于第一存储单元集合包括的每个第一层存储单元,存储设备300还可以统计第一层存储单元的擦写次数,并对擦除次数达到第一阈值的第一层存储单元进行磨损防护。
在一种可能的示例中,磨损防护是指存储单元转换。例如,控制单元将擦除次数达到第一阈值的第一层存储单元转换为第二层存储单元。
存储设备将第一层存储单元转换为第二层存储单元,可以提高存储设备中转换得到的第二存储单元的剩余P/E次数,从而提升了存储设备的使用寿命,实现存储设备的磨损均衡。
在第二种可能的示例中,磨损防护是指数据迁移。例如,控制单元将擦除次数达到第一阈值的第一层存储单元中存储的数据,迁移到擦除次数未达到第一阈值的第一层存储单元。
在存储设备内部进行同类存储单元之间的数据迁移,实现多个同类存储单元之间的P/E次数均衡,继而达到存储设备内的存储单元的负载均衡,提高了存储设备的整体寿命。
值得注意的是,在一种可能的情况下,控制单元还可以将依据存储设备中各存储单元的使用情况,将多个第二层存储单元转换为第一层存储单元。
示例的,在存储设备中硬盘出现故障的情况下,控制单元还用于将第二层存储单元转换为第一层存储单元,转换得到的第一层存储单元用于恢复硬盘存储的数据。若硬盘出现故障,由于热备区域(如由SLC提供的存储空间)中缓存数据清除掉之后,这部分数据不影响数据区域(如由QLC提供的存储空间)实际存储的业务数据,所以硬盘所存储的业务数据不会受到热备空间中缓存数据的影响,控制单元将为热备区域提供存储空间的第二层存储单元(如SLC)换换为第一层存储单元(如QLC),并利用该第一层存储单元来恢复故障硬盘的数据,保证了存储设备的数据可靠性。
如此,存储设备中热备区域对应的存储单元可以自由转换,丰富了热备区域的功能,在热备区域实现热备的功能的情况下,还可以实现存储设备的缓存功能。如图5所示,图5为本申请提供的一种存储管理的示意图,该存储管理的过程由存储系统120实现,例如,该存储管理的过程由硬盘框122和引擎121包括的控制器协同实现,硬盘框122可以实现上述存储设备300的功能。
如图5所示,该存储管理的过程包括数据访问过程和故障处理过程。
数据访问过程包括以下步骤S510~S530。
S510,控制器根据读请求的访问条件下发数据流ID。
该访问条件是指读请求所请求的数据的冷热情况,或是该数据所存储的逻辑地址,如该逻辑地址位于热备区域对应的地址段,则数据流ID为SLC ID;又如该逻辑地址位于数据区域对应的地址段,则数据流ID为QLC ID。
S520,硬盘框122依据数据流ID进行存储单元转换。
例如,在控制器读取热备区域中读缓存区域所存储的数据之后,由于热备区域所能存储的数据量减少,而在后续硬盘框122的使用过程中,需要用到更多的热备区域以对数据区域中的数据进行备份,则硬盘框122可以将为热备区域提供存储空间的SLC转换为QLC。
又如,在控制器读取热备区域中读缓存区域所存储的数据之后,由于在一定时长内数据区域所要进行读写的数据增加,则硬盘框122可以将为热备区域提供存储空间的QLC转换为SLC,以提高硬盘框122的整体读写速度,从而提高存储系统120的数据访问性能。
S530,控制器对硬盘框122进行数据访问。
该数据访问包括写数据和读数据中至少一种,具体可以参见上述图4的相关描述,此处不予赘述。
在硬盘框122中部分硬盘出现故障的情况下,本实施例提供的故障处理过程包括以下步骤S541~S545。
S541,硬盘框122向存储系统120的控制器上报故障信息。
示例的,该故障信息是指硬盘框122中出现故障盘。
S542,控制器向硬盘框122发送数据修改(trim)指令。
例如,该trim指令用于指示硬盘框122将为热备区域提供存储空间的SLC中存储的数据清除,并将该SLC转换为QLC。由于SLC用作读缓存,该数据在为数据区域提供数据空间的QLC中已存储了一份,因此trim操作不会让原数据丢失。
S543,硬盘框122清除热备区域中读缓存数据。
该读缓存数据是指上述为热备区域提供存储空间的SLC中存储的数据。在S543之后,硬盘框122可以向控制器返回已清除读缓存数据的响应。
S544,控制器启用热备区域进行数据重构。
例如,在硬盘框122中出现一块故障盘的情况下,存储系统包括的控制器继续下发QLC的数据流ID(QLC ID),利用热备区域对故障盘进行数据重构。
S545,硬盘框122依据数据流ID进行存储单元转换和数据重构。
例如,硬盘框122根据数据流ID,在物理块上进行QLC和SLC的动态转换,并完成数据重构。该数据重构包括:硬盘框122将热备区域中对故障盘的备份数据写入新加入硬盘框122的硬盘。在一种可能的情形中,盘因为故障问题导致整盘不可用的情况出现的概率较低;而且故障盘数据恢复之后,存储维护者会立即补盘,对故障盘进行替换,因此热备区域又可以继续转为SLC读缓存使用。
如此,在实施例中,若硬盘出现故障,由于热备空间(SLC提供的存储空间)中数据trim掉之后,这部分数据不影响数据区域(QLC提供的存储空间)实际存储的业务数据,所以硬盘所存储的业务数据不会受到热备空间中数据trim的影响,因此,热备区域用于读数据场景的加速,不破坏存储系统原有的数据可靠性。
可以理解的是,为了实现上述实施例中功能,存储系统和存储设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
例如,当本申请提供的数据存储方法由软件模块的形式来实现时,上述数据存储方法的实现可以由数据存储装置来实现,例如该数据存储装置包括通信模块和处理模块。该通信模块用于接收或发送目标数据,处理模块用于确定目标数据的存储位置,以及实现存储模块的转换等。有关上述通信模块和处理模块更详细的描述可以直接参考图1~图5所示的实施例中相关描述直接得到,这里不加赘述。
又如,当本申请提供的数据存储方法由硬件实现时,可以是由图1所示出的硬盘框122或是存储系统120执行,还可以是由图1的描述内容中的其他存储系统执行。
可以理解的是,本申请的实施例中的处理器可以是CPU、NPU或GPU,还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、PROM、EPROM、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,SSD。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (13)
1.一种存储设备,其特征在于,包括控制单元、热备区域和数据区域;
所述数据区域的存储功能是由所述存储设备包括的第一存储单元集合提供的,所述第一存储单元集合包括多个第一层存储单元;
所述热备区域的存储功能是由所述存储设备包括的多个第二层存储单元提供的,所述第一层存储单元所能存储的比特数大于所述第二层存储单元所能存储的比特数;
所述热备区域用于作为所述存储设备的缓存,临时存储目标数据;
所述控制单元用于在一定条件下,将所述热备区域中存储的所述目标数据写入所述数据区域。
2.根据权利要求1所述的存储设备,其特征在于,
所述第一层存储单元是双层式存储单元MLC、三层式存储单元TLC和四层式存储单元QLC中的其中一种,所述第二层存储单元是单层式存储单元SLC;或者,
所述第一层存储单元是TLC和QLC中的其中一种,所述第二层存储单元是SLC和MLC中的其中一种;或者,
所述第一层存储单元是QLC,所述第二层存储单元是SLC、MLC、TLC中的其中一种。
3.根据权利要求1或2所述的存储设备,其特征在于,
所述存储设备还包括第二存储单元集合,所述第二存储单元集合包括多个第一层存储单元,所述第二层存单元是由所述第二存储单元集合包括的第一层存储单元转换获得的。
4.根据权利要求3所述的存储设备,其特征在于,
在所述存储设备的运行过程中,所述控制单元用于将所述第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
5.根据权利要求4所述的存储设备,其特征在于,所述控制单元具体用于:在所述热备区域的存储空间不足以存储所述目标数据的情况下,将所述第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
6.根据权利要求1-5中任一项所述的存储设备,其特征在于,
在所述存储设备中硬盘出现故障的情况下,所述控制单元用于将所述第二层存储单元转换为第一层存储单元,转换得到的第一层存储单元用于恢复所述硬盘存储的数据。
7.一种数据存储方法,其特征在于,所述方法由存储设备执行,所述方法包括:
所述存储设备包括的第一存储单元集合提供数据区域,所述第一存储单元集合包括多个第一层存储单元;
所述存储设备包括的多个第二层存储单元提供热备区域,所述第一层存储单元所能存储的比特数大于所述第二层存储单元所能存储的比特数;
所述热备区域作为所述存储设备的缓存,临时存储目标数据;
所述存储设备包括的控制单元在一定条件下,将所述热备区域中存储的所述目标数据写入所述数据区域。
8.根据权利要求7所述的方法,其特征在于,
所述第一层存储单元是双层式存储单元MLC、三层式存储单元TLC和四层式存储单元QLC中的其中一种,所述第二层存储单元是单层式存储单元SLC;或者,
所述第一层存储单元是TLC和QLC中的其中一种,所述第二层存储单元是SLC和MLC中的其中一种;或者,
所述第一层存储单元是QLC,所述第二层存储单元是SLC、MLC、TLC中的其中一种。
9.根据权利要求7或8所述的方法,其特征在于,
所述存储设备还包括第二存储单元集合,所述第二存储单元集合包括多个第一层存储单元,所述第二层存单元是由所述第二存储单元集合包括的第一层存储单元转换获得的。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在所述存储设备的运行过程中,所述控制单元将所述第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
11.根据权利要求10所述的方法,其特征在于,
所述控制单元将所述第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元,包括:
所述控制单元在所述热备区域的存储空间不足以存储所述目标数据的情况下,将所述第二存储单元集合包括的第一层存储单元转换为多个第二层存储单元。
12.根据权利要求7-11中任一项所述的方法,其特征在于,所述方法还包括:
在所述存储设备中硬盘出现故障的情况下,所述控制单元将所述第二层存储单元转换为第一层存储单元,转换得到的第一层存储单元用于恢复所述硬盘存储的数据。
13.一种存储系统,其特征在于,包括:控制器,以及权利要求1至权利要求6中任一项所述的存储设备;
所述控制器,用于获取目标数据,并向所述存储设备发送所述目标数据;
所述存储设备,用于依据所述目标数据临时存储在所述存储设备包括的热备区域中,并在一定条件下,将所述目标数据从所述热备区域写入所述存储设备包括的数据区域。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115207.XA CN115857790A (zh) | 2021-09-23 | 2021-09-23 | 一种存储设备、数据存储方法及存储系统 |
PCT/CN2022/103741 WO2023045483A1 (zh) | 2021-09-23 | 2022-07-04 | 一种存储设备、数据存储方法及存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115207.XA CN115857790A (zh) | 2021-09-23 | 2021-09-23 | 一种存储设备、数据存储方法及存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115857790A true CN115857790A (zh) | 2023-03-28 |
Family
ID=85652284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111115207.XA Pending CN115857790A (zh) | 2021-09-23 | 2021-09-23 | 一种存储设备、数据存储方法及存储系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115857790A (zh) |
WO (1) | WO2023045483A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069266A (zh) * | 2023-04-06 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 磁盘漫游控制方法、装置、设备及计算机可读存储介质 |
CN116149574A (zh) * | 2023-04-20 | 2023-05-23 | 苏州浪潮智能科技有限公司 | Raid阵列的管理方法、装置、raid卡及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146851B2 (en) * | 2012-03-26 | 2015-09-29 | Compellent Technologies | Single-level cell and multi-level cell hybrid solid state drive |
CN106843762B (zh) * | 2017-01-17 | 2019-11-12 | 深圳忆联信息系统有限公司 | 管理存储区域的方法及固态硬盘 |
CN107450858A (zh) * | 2017-08-11 | 2017-12-08 | 湖南国科微电子股份有限公司 | 一种固态硬盘分级存储方法及系统 |
CN113574497A (zh) * | 2019-03-19 | 2021-10-29 | 华为技术有限公司 | 数据存储方法及存储芯片 |
CN111506262B (zh) * | 2020-03-25 | 2021-12-28 | 华为技术有限公司 | 一种存储系统、文件存储和读取方法及终端设备 |
-
2021
- 2021-09-23 CN CN202111115207.XA patent/CN115857790A/zh active Pending
-
2022
- 2022-07-04 WO PCT/CN2022/103741 patent/WO2023045483A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069266A (zh) * | 2023-04-06 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 磁盘漫游控制方法、装置、设备及计算机可读存储介质 |
CN116149574A (zh) * | 2023-04-20 | 2023-05-23 | 苏州浪潮智能科技有限公司 | Raid阵列的管理方法、装置、raid卡及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023045483A1 (zh) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11726688B2 (en) | Storage system managing metadata, host system controlling storage system, and storage system operating method | |
US20170336990A1 (en) | Multi-tier scheme for logical storage management | |
US20100017556A1 (en) | Non-volatile memory storage system with two-stage controller architecture | |
WO2022017002A1 (zh) | 一种垃圾回收方法及装置 | |
GB2507410A (en) | Storage class memory having low power, low latency, and high capacity | |
US11086772B2 (en) | Memory system performing garbage collection operation and operating method of memory system | |
CN109358809B (zh) | 一种raid数据存储系统及方法 | |
US11397461B2 (en) | Providing energy information to memory | |
WO2023045483A1 (zh) | 一种存储设备、数据存储方法及存储系统 | |
CN112513804A (zh) | 一种数据处理方法及装置 | |
KR20200139433A (ko) | 컨트롤러의 동작 방법 및 메모리 시스템 | |
CN113704138A (zh) | 存储装置及其操作方法 | |
US20220229775A1 (en) | Data storage device and operating method thereof | |
CN115458013A (zh) | 存储装置及其操作方法 | |
TWI782847B (zh) | 用來在儲存伺服器中進行基於管線的存取管理的方法及設備 | |
US20230138586A1 (en) | Storage device and method of operating the same | |
WO2022262345A1 (zh) | 一种数据管理方法、存储空间管理方法及装置 | |
US11275680B2 (en) | Profile and queue-based wear leveling of memory devices | |
US20210349780A1 (en) | Systems, methods, and devices for data recovery with spare storage device and fault resilient storage device | |
CN117348789A (zh) | 数据访问方法、存储设备、硬盘、存储系统及存储介质 | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US10817435B1 (en) | Queue-based wear leveling of memory components | |
US10515693B1 (en) | Data storage apparatus and operating method thereof | |
KR20220111444A (ko) | 리프레쉬 동작을 수행하는 메모리 장치, 그 동작방법 및 메모리 시스템 | |
CN113805793A (zh) | 存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |