CN114510195A - 数据存储的方法和装置 - Google Patents

数据存储的方法和装置 Download PDF

Info

Publication number
CN114510195A
CN114510195A CN202110018308.9A CN202110018308A CN114510195A CN 114510195 A CN114510195 A CN 114510195A CN 202110018308 A CN202110018308 A CN 202110018308A CN 114510195 A CN114510195 A CN 114510195A
Authority
CN
China
Prior art keywords
hard disk
hard disks
hard
data
disks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110018308.9A
Other languages
English (en)
Inventor
蒲贵友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2021/100789 priority Critical patent/WO2022105222A1/zh
Priority to EP21893376.0A priority patent/EP4231131A4/en
Publication of CN114510195A publication Critical patent/CN114510195A/zh
Priority to US18/317,427 priority patent/US20230305707A1/en
Pending legal-status Critical Current

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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle 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)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种数据存储的方法和装置,该方法包括:获取多个硬盘的运行参数,所述多个硬盘的运行参数用于衡量所述多个硬盘在性能上具有个体差异;根据所述多个硬盘的运行参数,选择至少一个目标硬盘;将数据写入所述目标硬盘中。上述技术方案可以有效区分每个硬盘之间的个体差异,提高硬盘的利用效率,从而可以提高存储系统的整体性能。

Description

数据存储的方法和装置
本申请要求于2020年11月17日提交中国专利局、申请号为202011290060.3、发明名称为“数据存储方法及存储设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储领域,并且更具体地,涉及一种的数据存储的方法和装置。
背景技术
数据存储是计算设备的重要组成部分之一,数据存储可以为计算设备提供写入信息(例如,程序和数据)的能力,或者,还可以为计算设备提供读取信息(例如,程序和数据)的能力,实现计算设备的信息存储功能。
存储系统中使用大量硬盘对外进行提供数据存储服务,因此,对于硬盘的高效管理和使用,是存储系统的关键技术之一。相关的硬盘管理方案相对较为简单,主要是按照不同硬盘的类型进行分类管理,例如,会将硬盘按照硬盘类型分为固态硬盘、机械硬盘等,不同类型的硬盘用于存储不同类型的数据。但是,在上述相关技术方案中,对硬盘的统一管理,简单的类型划分无法有效区分各个硬盘在使用过程中所存在的性能差异,使得硬盘的利用效率降低,从而降低了存储系统的整体性能。
发明内容
本申请提供一种数据存储的方法和装置,可以有效区分每个硬盘之间的个体差异,提高硬盘的利用效率,从而可以提高存储系统的整体性能。
第一方面,提供了一种数据存储的方法,该方法包括:获取多个硬盘的运行参数,所述多个硬盘的运行参数用于衡量所述多个硬盘在性能上具有个体差异;根据所述多个硬盘的运行参数,选择至少一个目标硬盘;将数据写入所述目标硬盘中。
上述技术方案中,可以基于多个硬盘在性能上具有的个体差异,有效区分每个硬盘之间的个体差异,避免硬盘不必要的更换,提高硬盘的利用效率,从而可以提升存储系统的整体性能。
结合第一方面,在第一方面的某些实现方式中,所述多个硬盘在性能上的个体差异来源于以下几种情况中的任意一种:
所述多个硬盘的介质类型相同,并且所述多个硬盘的厂商不同;或者
所述多个硬盘的介质类型以及厂商相同,并且所述多个硬盘的出厂批次不同;或者
所述多个硬盘的介质类型、厂商以及出厂批次相同,并且所述多个硬盘的设置不同;或者
所述多个硬盘的介质类型、厂商、出厂批次以及设置相同,所述多个硬盘的使用环境不同;或者
所述多个硬盘的介质类型、厂商、出厂批次、设置以及使用环境相同,并且所述多个硬盘在运行过程中具有性能差异。
结合第一方面,在第一方面的某些实现方式中,当所述多个硬盘均为闪存介质时,所述介质类型相同包括:最小存储单元的存储密度/粒度相同。
结合第一方面,在第一方面的某些实现方式中,所述性能包括读写性能和/或寿命。
结合第一方面,在第一方面的某些实现方式中,所述硬盘的运行参数包括以下中的任意一种或多种的组合:所述硬盘的剩余空间、所述硬盘的剩余寿命、所述硬盘的写入速度、所述硬盘的读取速度。
结合第一方面,在第一方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
上述技术方案中,可以将数据写入寿命较长的硬盘中,这样,可以提高存储系统的整体寿命。
结合第一方面,在第一方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
结合第一方面,在第一方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
上述技术方案中,可以进一步将读取速度超过读性能阈值的硬盘作为目标硬盘,这样,如果写入目标硬盘的数据后续被再次读取的可能性较大时,可以保证该数据的读取性能,从而提升存储系统的整体性能。
结合第一方面,在第一方面的某些实现方式中,根据所述多个硬盘的运行参数以及所述数据的属性,从所述多个硬盘中选择所述至少一个目标硬盘。
上述技术方案中,可以结合数据的属性以及硬盘的运行参数选择目标硬盘,从而可以基于数据的属性更好的区分每个硬盘之间的个体差异,提高硬盘的利用效率,从而可以提升存储系统的整体性能。
结合第一方面,在第一方面的某些实现方式中,如果所述数据属于写热属性时,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
应理解,所述数据属于写热属性可以是该数据在一定时间内被修改或删除的可能性大于第一阈值。
上述技术方案中,可以将在一定时间内经常被修改或删除的数据存储在剩余寿命较长的硬盘中,这样,可以提高存储系统的整体寿命。
结合第一方面,在第一方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
结合第一方面,在第一方面的某些实现方式中,如果所述数据属于读热属性时,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
应理解,所述数据属于读热属性可以是该数据在一定时间内被再次读取的可能性大于第二阈值。
上述技术方案中,将后续被再次读取的可能性较大的数据存储在读性能较好的硬盘中,这样,可以保证该数据的读取性能,从而提升存储系统的整体性能。
第二方面,提供了一种数据存储的装置,包括:获取模块,选择模块,存储模块,
获取模块,用于多个硬盘的运行参数,所述多个硬盘的运行参数用于衡量所述多个硬盘在性能上具有个体差异;
选择模块,用于根据所述多个硬盘的运行参数,选择至少一个目标硬盘;
存储模块,用于将数据写入所述目标硬盘中。
结合第二方面,在第二方面的某些实现方式中,所述多个硬盘在性能上的个体差异来源于以下几种情况中的任意一种:
所述多个硬盘的介质类型相同,并且所述多个硬盘的厂商不同;或者
所述多个硬盘的介质类型以及厂商相同,并且所述多个硬盘的出厂批次不同;或者
所述多个硬盘的介质类型、厂商以及出厂批次相同,并且所述多个硬盘的设置不同;或者
所述多个硬盘的介质类型、厂商、出厂批次以及设置相同,所述多个硬盘的使用环境不同;或者
所述多个硬盘的介质类型、厂商、出厂批次、设置以及使用环境相同,并且所述多个硬盘在运行过程中具有性能差异。
结合第二方面,在第二方面的某些实现方式中,所述当所述多个硬盘均为闪存介质时,所述介质类型相同包括:最小存储单元的存储密度/粒度相同。
结合第二方面,在第二方面的某些实现方式中,所述性能包括读写性能和/或寿命。
结合第二方面,在第二方面的某些实现方式中,所述硬盘的运行参数包括以下中的任意一种或多种的组合:所述硬盘的剩余空间、所述硬盘的剩余寿命、所述硬盘的写入速度、所述硬盘的读取速度。
结合第二方面,在第二方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
结合第二方面,在第二方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
结合第二方面,在第二方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
结合第二方面,在第二方面的某些实现方式中,所述选择模块具体用于:根据所述多个硬盘的运行参数以及所述数据的属性,从所述多个硬盘中选择所述至少一个目标硬盘。
结合第二方面,在第二方面的某些实现方式中,如果所述数据属于写热属性时,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
结合第二方面,在第二方面的某些实现方式中,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
结合第二方面,在第二方面的某些实现方式中,如果所述数据属于读热属性时,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
第二方面和第二方面的任意一个可能的实现方式的有益效果和第一方面以及第一方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。
第三方面,提供了一种数据存储的装置,包括输入输出接口、处理器和存储器,其中所述处理器用于控制所述输入输出接口收发信息,所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行该计算机程序,使得所述数据存储的装置执行第一方面或第一方面任意一种可能的实现方式中所述的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面任意一种可能的实现方式中所述的方法。
第五方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面任意一种可能的实现方式中所述的方法。
第六方面,提供了一种存储系统,包括上述数据存储的装置。
附图说明
图1是应用于本申请实施例的一种存储系统100的示意性框图。
图2是本申请实施例提供的一种数据存储的方法的示意性流程图。
图3是本申请实施例提供的一种硬盘的运行参数的示意性框图。
图4是本申请实施例提供的一种硬盘按照剩余寿命划分不同等级的示意性框图。
图5是本申请实施例提供的一种数据存储的装置500的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
存储系统是计算设备的重要组成部分之一。存储系统可以为计算设备提供写入信息(例如,程序和数据)的能力,或者,还可以为计算设备提供读取信息(例如,程序和数据)的能力,实现计算设备的信息存储功能。
图1是应用于本申请实施例的一种存储系统100的示意性框图,如图1所示,存储系统100可以包括:存储控制器110,硬盘框120。
存储控制器110中可以包括:前端接口卡111,处理器112,内部存储器113,后端接口卡114。可选地,存储控制器110中还可以包括总线115。其中,前端接口卡111,处理器112,内部存储器113以及后端接口卡114可以通过总线115连接。总线115可以是快捷外设部件互连标准(peripheral component interconnect express,PCIE)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线115可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
前端接口卡111用于对使用存储系统100的用户提供存储服务和接口连接。作为示例,前端接口卡111可以用于接收用户发送的数据,并将该数据通过总线115存储至内部存储器113。
处理器112是存储控制器110的运算核心和控制核心(control unit),用于运行软件程序。作为示例,处理器112用于运行存储系统100对应的软件程序。例如,本申请实施例中,处理器112可以访问内部存储器113,对内部存储器113中存储的数据提供分类识别服务。又如,处理器112还可以通过后端接口卡114访问硬盘框120,对硬盘框120中包括的硬盘提供管理服务等。
处理器112中可以包括多个处理器核(core)。可以理解的是,处理器112中的core例如可以是中央处理器(central processing unit,CPU)。还可以为其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可选地,存储控制器110中还可以集成人工智能(artificial intelligence,AI)芯片(图1中未示出)。该AI芯片可以是图形处理器(graphics processing unit,GPU)或网络处理单元(network processing unit,NPU)。在本实施例中,所述AI芯片可专用于识别数据的属性,从而用于减轻处理器112的负担。应理解,该数据可以是来自用户输入的数据,以图1为例,也就是存储控制器110通过前端接口卡111接收到的数据。该数据还可以是存储控制器110内部产生的数据,例如元数据,各种中间数据等,本申请对此不做具体限定。
内部存储器113作为存储控制器110的主存,用于存放处理器112中运行的软件程序、上层应用下发的输入输出(input output,IO)命令以及与外存交换的信息等。为了提高内部处理器113的访问速度,内部存储器113需要具备访问速度快的优点。在一些计算机系统架构中,采用动态随机存取存储器(dynamic random access memory,DRAM)作为内部存储器113。内部存储器113具有内存控制器(图1中未示出),处理器112能够通过内存控制器访问内部存储器113,对内部存储器113中的任意一个存储单元进行读操作和写操作。可选的,当存储控制器110中集成有AI芯片时,所述AI芯片也可以访问内部存储器113。
还应理解,本申请实施例中的内部存储器113可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccess memory,RAM)可用,例如存储级存储器(storage class memory,SCM)、静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchronous link DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
后端接口卡114用于连接硬盘框120。作为示例,后端接口卡114可以将用户发送的数据存储至硬盘框120中。
硬盘框120中可以包括:多个硬盘121。本申请提及的硬盘121例如可以是固态硬盘(solid state drives,SSD),硬盘驱动器(hard disk drives,HDD),串行高级技术附加装置(serial advanced technology attachment,SATA)盘,串行连接小型计算机系统接口(serial attached small computer system interface,SAS)盘,简单的缓存管理(simplecached manage,SCM)介质等。同一个硬盘121可以包含上述一种存储介质。同一个硬盘121还可以包含不同的存储介质,本申请对此不做具体限定。应理解,如果同一个硬盘121中包含不同的存储介质,可以将每一种存储介质看成一个小盘,其用法与一个独立硬盘的用法一致。
存储系统中使用大量硬盘对外进行提供数据存储服务,因此,对于多个硬盘的高效管理和使用,是存储系统的关键技术之一。相关的硬盘管理方案相对较为简单,主要是按照多个硬盘的介质类型进行分类管理,例如,会将多个硬盘按照硬盘类型分为固态硬盘、机械硬盘等,不同介质类型的硬盘用于存储不同类型的数据。但是,在上述相关技术方案中,对多个硬盘的统一管理,简单的介质类型划分无法有效区分上述多个硬盘在使用过程中由于个体差异性所导致的性能差异(该性能差异例如可以包括但不限于:硬盘的读写性能、寿命等),从而使得上述多个硬盘的利用效率降低,从而降低了存储系统的整体性能。
作为示例,导致多个硬盘的个体差异性的原因可以包括但不限于以下几种情况:
(1)多个硬盘的介质类型相同,并且所述多个硬盘来自不同厂商。也就是说,对于同一介质类型的硬盘,不同的厂商生产出来的各个硬盘具有一定的性能差异。例如,同一介质类型的硬盘虽然具有相同的基础物理原理,但是各个厂商在实现架构、生产工艺、参数调整等方面都存在着较大的差异,不同的厂商生产出来的同一介质类型的硬盘的各个技术指标(例如硬盘的读写性能、寿命、空间等)就会存在较大的差异。且目前使用多厂商的硬盘是较为常见的情况,因此,就会产生多个硬盘由于个体差异性所存在的性能差异。
举例说明,当所述多个硬盘均为闪存介质时,所述多个硬盘的介质类型相同包括:最小存储单元的存储密度/粒度相同。例如,当所述多个硬盘为SSD,他们的最小存储单元的存储密度/粒度可以是以下中的任意一种:单层单元(single-level cell,SLC)、多层单元(multi-level cell,MLC)、三层单元(triple-level cell,TLC)、四层单元(quad-levelcell,QLC)等。
应理解,SSD通常包括一个或多个闪存芯片,每个闪存芯片包括若干个擦除块。SSD在读取或写入时是以一个页(page)为基础的,但擦除操作只能以一个擦除块为基础,擦除操作是指将这个块的所有位都设置为“1”。每个擦除块包含多个页。存储单元(cell)是页的最小操作单元,一个存储单元对应一个浮栅晶体管,它可以存储1比特(bit)或多比特的数据,这取决于闪存的类型。一个页上的存储单元共享一根字符线。存储单元包括控制栅极和浮置栅极,浮置栅极是真正存储数据的单元。数据在存储单元中是以电荷(electricalcharge)形式存储的。存储电荷的多少取决于控制栅极所被施加的电压,其控制了向浮置栅极中冲入电荷还是使其释放电荷。而数据的表示,以所存储的电荷的电压是否超过一个特定的阈值来表示。往浮置栅极中写入数据就是对控制栅极施加电压,使得浮置栅极中存储的电荷够多,超过阈值,就表示0。对闪存进行擦除操作就是对浮置栅极放电,使得浮置栅极中存储的电荷低于阈值,就表示1。
还应理解,一个存储单元中存储一个比特数据的闪存类型称之为SLC,SLC的浮置栅极有一个电压阈值,因此具有0和1两种状态,可以存储一个比特的数据。SLC闪存具有高写入速度、低功耗、更长电池耐久的优点,因此具有更快的传输速度和更长使用寿命。MLC是使用多个电压阈值的存储单元,从而允许相同数量的晶体管存储更多比特。在SLC技术中,每个存储单元只能处于两种状态中的一种,而MLC在每个存储单元中存储四个可能的状态(MLC具有00、01、10、11这四种状态),因此可以用每个存储单元存储两个比特。相对于SLC来说,MLC的误码率更高,使用寿命更短,但成本更低。一些SSD使用MLC闪存中的部分晶粒模拟为单比特的SLC闪存,从而提供更高的写入速度。另外,一个单元存储三比特的闪存被称为TLC,TLC具有8种状态。MLC的缺点在TLC上同样存在并更为突出,但TLC也受益于更高的存储密度和更低的成本。另外,闪存类型还有QLC以及其他多层单元。
(2)多个硬盘的介质类型以及厂商相同,并且所述多个硬盘的生产批次不同。例如,由于各个硬盘的介质其实是通过品控筛选而获得的满足一定筛选逻辑的,因此,同一厂商不同批次的产品实际会存在较大的个体差异。而随时间的演进,这些个体差异会进一步放大。
(3)多个硬盘的介质类型、厂商以及出厂批次相同,并且所述多个硬盘的设置不同。例如,由于各个硬盘的介质其实是通过品控筛选而获得的满足一定筛选逻辑的,其实即便同一厂商同一批次的产品,各个硬盘的设置不同也会导致较大的个体差异。而随时间的演进,这些个体差异会进一步放大。
(4)多个硬盘的介质类型、厂商、出厂批次以及设置相同,所述多个硬盘的使用环境不同。作为示例,对于位置靠近热源(比如CPU)的硬盘和靠近风扇的硬盘,其性能也会不一样。例如,靠近风扇的硬盘的寿命应该更长,其性能应该更好。
(5)多个硬盘的介质类型、厂商、出厂批次、设置以及使用环境相同,并且所述多个硬盘在运行过程中具有性能差异。由于介质运行时间或业务使用带来的差异,都会导致多个硬盘在运行过程中会具有性能差异。例如,同一介质随着时间推移,会存在不同程度的磨损和能力漂移。尤其是时间越长,不同介质的老化程度差异会较大,这也加剧了长期使用介质的个体差异。又如,由于介质上会进行数据存放和业务访问,数据和业务逻辑会存在一定的差异性,实际也会造成介质在实际使用时的表现存在较大的差异。业务使用带来的差异也造成了即便物理能力相近的介质,在实际能够提供的业务能力也存在较大的差异,这些造成了运行形态下的业务能力差异。
有鉴于此,本申请实施例提供了一种数据存储的方法,可以有效区分多个硬盘在使用过程中由于个体差异性所导致的性能差异(该性能差异例如可以包括但不限于:硬盘的读写性能、寿命等),从而可以提高硬盘的利用效率以及存储系统的整体性能。
作为示例,本申请实施例提供的数据存储的方法可以应用于上述存储系统100,也可以应用于硬盘框120(例如,该硬盘框120中包括硬盘,还包括处理器以及内部存储器)中,或者还可以应用于服务器中,本申请对此不做具体限定。
图2是本申请实施例提供的一种数据存储的方法的示意性流程图。以该数据存储的方法应用于上述存储系统100为例,图2的方法可以由图1所示的存储控制器110执行。图2的方法可以包括步骤210-230,下面分别对步骤210-230进行详细描述。
步骤210:获取多个硬盘的运行参数,所述多个硬盘的运行参数用于衡量所述多个硬盘在性能上具有个体差异性。
上述多个硬盘的运行参数可以用于衡量所述多个硬盘在性能上具有个体差异。也就是说,上述多个硬盘的运行参数可以用于衡量上述多个硬盘在使用过程中由于个体差异性所导致的性能差异。有关于导致多个硬盘的个体差异性的原因可参见上文中的描述,此处不再赘述。
作为示例,如图3所示,硬盘的运行参数可以包括但不限于:硬盘的读写性能和/或硬盘的寿命。例如,硬盘的运行参数包括所述硬盘的剩余寿命。可选地,该硬盘的运行参数还可以包括但不限于以下中的任意一种或多种的组合:所述硬盘的剩余空间、所述硬盘的写入速度、所述硬盘的读取速度、所述硬盘每秒输入/输出操作数(input/outputoperations per second)、所述硬盘的吞吐量等。下面分别对硬盘的部分运行参数进行解释说明。
1、硬盘的剩余寿命
也可称为硬盘的剩余可写入寿命。硬盘的寿命和它已写入的数据量相关,写入的数据量越多其寿命就越短,写入的数据量越少其寿命就越长。这里,不能简单地将硬盘已写入的数据量和该硬盘已被占用的容量等同起来。例如,如果在一个位置反复写入数据(写入后擦除,再在原地写入,或者覆盖写),虽然不会使容量的消耗增加,但它会减小硬盘的寿命。因此,硬盘的剩余可写入寿命可根据该硬盘还剩余的可写入的数据量获得,而该硬盘还剩余的可写入的数据量可以由硬盘总的可写入的数据量以及该硬盘已写入的数据量确定。例如,硬盘还剩余的可写入的数据量=该硬盘总的可写入的数据量-该硬盘已写入的数据量。
以本申请实施例的方法应用于存储控制器110为例,存储控制器110获取硬盘的剩余寿命的具体实现方式有多种。一种可能的实现方式中,存储控制器110可以向硬盘框120发送指令,用于获取各个硬盘已写入的数据量。硬盘框120收集到各个硬盘的已写入的数据量后,将该参数上报给存储控制器110。存储控制器110根据各个硬盘总的可写入的数据量以及获取到的各个硬盘已写入的数据量确定各个硬盘的剩余寿命。另一种可能的实现方式中,存储控制器110还可以在步骤210之前通过硬盘框120主动上报的信息中获取各个硬盘已写入的数据量,并根据上述方法确定各个硬盘的剩余寿命。
作为示例,存储控制器110中的设备还可以维护一张表,该表用于记录上述各个硬盘的剩余寿命。可选地,存储控制器110中的设备还可以在一定时间段内对表中记录的各个硬盘的剩余寿命进行更新。应理解,存储控制器110中向硬盘框120中包括的多个硬盘发送指令查询各个硬盘已写入的数据量的设备和维护上述表的设备可以是存储控制器110中的同一个设备,或者也可以是不同的设备,本申请对此不做具体限定。
以本申请实施例的方法应用于硬盘框120为例,硬盘框120中的处理器可以主动获取各个硬盘已写入的数据量,根据上述方法确定各个硬盘的剩余寿命,并将各个硬盘的剩余寿命记录在硬盘框120维护的一张表中。
应理解,剩余寿命是针对具有写入寿命约束的硬盘,例如,SSD,SCM等。对于寿命影响较小的硬盘,例如,HDD可不考虑该值,一般将这种介质类型的硬盘的剩余寿命设置为一个较大的值。
2、硬盘的剩余空间
也可称为硬盘的剩余可写入空间。即硬盘剩余的可写入的空闲空间,可以由硬盘总的可写入空间(也就是该硬盘的规格参数)以及该硬盘已使用的空间确定的。例如,硬盘的剩余空间=该硬盘总的可写入空间(也就是该硬盘的规格参数)-该硬盘已使用的空间。
以本申请实施例的方法应用于存储控制器110为例,存储控制器110获取硬盘的剩余空间的具体实现方式有多种。一种可能的实现方式中,存储控制器110可以向硬盘框120发送指令,用于获取各个硬盘已使用的空间。硬盘框120收集到各个硬盘的已使用的空间后,将该参数上报给存储控制器110。存储控制器110根据各个硬盘总的可写入空间(也就是该硬盘的规格参数)以及获取到的各个硬盘已使用的空间确定各个硬盘的剩余空间。另一种可能的实现方式中,存储控制器110还可以在步骤210之前通过硬盘框120主动上报的信息中获取各个硬盘已使用的空间,并根据上述方法确定各个硬盘的剩余空间。
作为示例,存储控制器110中的设备还可以维护一张表,该表用于记录上述确定的各个硬盘空间的剩余空间。可选地,存储控制器110中的设备还可以在一定时间段内对表中记录的各个硬盘的剩余空间进行更新。应理解,存储控制器110中向硬盘框120中包括的多个硬盘发送指令查询各个硬盘已使用空间的设备和维护上述表的设备可以是存储控制器110中的同一个设备,或者也可以是不同的设备,本申请对此不做具体限定。
以本申请实施例的方法应用于硬盘框120为例,硬盘框120中的处理器可以主动获取各个硬盘已使用的空间,根据上述方法确定各个硬盘的剩余空间,并将各个硬盘的剩余空间记录在硬盘框120维护的一张表中。
3、硬盘的写入速度
也可称为硬盘的写入性能,即该硬盘每秒钟写入的数据量。以本申请实施例的方法应用于存储控制器110为例,硬盘每秒钟写入的数据量可以由存储控制器110根据硬盘在历史的时间段内每秒钟的写入数据量预估得到。以本申请实施例的方法应用于硬盘框120为例,硬盘每秒钟写入的数据量可以由硬盘框120中的处理器根据硬盘在历史的时间段内每秒钟的写入数据量预估得到。
可选地,本申请还可以在一定的时间段内对硬盘的写性能进行更新。作为一个示例,本申请实施例的方法应用于存储控制器110,如果在一定时间段内硬盘存在较大的写入压力(即硬盘使用率超过设定阈值),存储控制器110可以根据该硬盘的近期历史性能预测该硬盘当前的写性能。例如,可以使用加权的历史均值(即最近一段时间内硬盘的写性能的均值)和按比例叠加的历史写性能值预估该硬盘当前的写性能,以便给出实际业务压力下的硬盘写性能的预估值。作为另一个示例,本申请实施例的方法应用于硬盘框120,如果在一定时间段内硬盘存在较大的写入压力(即硬盘使用率超过设定阈值),硬盘框120中的处理器可以根据该硬盘的近期历史性能预测该硬盘当前的写性能。
4、硬盘的读取速度
也可称为硬盘的读取性能,即该硬盘每秒钟读取的数据量。以本申请实施例的方法应用于存储控制器110为例,硬盘每秒钟读取的数据量可以由存储控制器110根据硬盘在历史的时间段内每秒钟读取的数据量预估得到。以本申请实施例的方法应用于硬盘框120为例,硬盘每秒钟读取的数据量可以由硬盘框120中的处理器根据硬盘在历史的时间段内每秒钟的写入数据量预估得到。
可选地,本申请还可以在一定的时间段内对硬盘的读取性能进行更新。作为一个示例,本申请实施例的方法应用于存储控制器110,如果在一定时间段内硬盘的使用率较高(即硬盘使用率超过设定阈值),存储控制器110可以将该硬盘的近期读取性能峰值的历史加权均值作为读取能力基准值。例如,硬盘的读取性能=硬盘的读取能力基准值-近期硬盘的读取性能均值。应理解,读取能力基准值为该类别的硬盘在近期能够提供的读取能力基础值。作为另一个示例,本申请实施例的方法应用于硬盘框120,如果在一定时间段内硬盘的使用率较高(即硬盘使用率超过设定阈值),硬盘框120中的处理器可以将该硬盘的近期读取性能峰值的历史加权均值作为读取能力基准值。
步骤220:根据所述多个硬盘的运行参数,选择至少一个目标硬盘。
以本申请实施例的方法应用于存储控制器110为例,存储控制器110可以根据所述多个硬盘的运行参数,从硬盘框120中包括的多个硬盘中选择至少一个目标硬盘。具体的实现方式有多种,本申请对此不做具体限定。一种可能的实现方式中,可以仅根据所述多个硬盘的运行参数,从所述多个硬盘中选择至少一个目标硬盘。另一种可能的实现方式中,还可以根据多个硬盘的运行参数以及该数据的属性,从多个硬盘中选择至少一个目标硬盘。
1、以仅根据所述多个硬盘的运行参数选择至少一个目标硬盘为例。
在一种可能的实现方式中,可以将上述多个硬盘按照不同的运行参数进行排序。一个示例,可以按照硬盘的剩余寿命,对硬盘框120中包括的多个硬盘进行排序。例如,可以将剩余寿命排序中靠前的硬盘(也就是排序中剩余寿命较高的硬盘),或者剩余寿命达到设定的寿命阈值的硬盘作为上述目标硬盘。另一个示例中可以同时考虑硬盘的剩余寿命和写入速度,例如,可以将剩余寿命超过寿命阈值的,且写入速度也超过写性能阈值的硬盘作为上述目标硬盘。另一个示例中可以同时考虑硬盘的剩余寿命和读取速度。例如,将剩余寿命超过寿命阈值的,且读取速度也超过读性能阈值的硬盘作为上述目标硬盘。
在另一种可能的实现方式中,可以根据硬盘的运行参数以及该参数对应的阈值来选择目标硬盘。例如,当某个硬盘的剩余寿命达到设定的寿命阈值时,将该硬盘作为目标硬盘。又如,当某个硬盘的写入速度达到设定的写性能阈值时,将该硬盘作为目标硬盘。
在另一种可能的实现方式中,可以将硬盘的运行参数划分为不同的等级,每个等级可以对应一定范围区间内的参数值。一个示例,可以按照硬盘的剩余寿命,将硬盘框120中包括的多个硬盘划分为不同的等级。例如,如图4所示,可以将多个硬盘按照剩余寿命划分为三个等级(比如第一个等级中包括的一个或多个硬盘还可以承受的写入量或剩余写入量小于或等于100太字节(terabyte,TB),第二个等级中包括的一个或多个硬盘还可以承受的写入量或剩余写入量大于100TB,且小于或等于500TB,第三个等级中包括的一个或多个硬盘还可以承受的写入量或剩余写入量大于500TB),并将剩余寿命的第一个等级中包括的一个或多个硬盘作为上述目标硬盘。另一个示例,还可以按照硬盘的写入速度,将硬盘框120中包括的多个硬盘划分为不同的等级。例如,可以将多个硬盘按照写入速度划分为三个等级(比如第一个等级中包括的一个或多个硬盘的写入速度为50-100M/秒,第二个等级中包括的一个或多个硬盘的写入速度为101-151M/秒,第三个等级中包括的一个或多个硬盘的写入速度为152-202M/秒),并将同时包含在剩余寿命的第一个等级以及写入速度的第一个等级中的一个或多个硬盘作为上述目标硬盘。另一个示例,还可以按照硬盘的读取速度,将硬盘框120中包括的多个硬盘划分为不同的等级。例如,可以将多个硬盘按照读取速度划分为三个等级(比如第一个等级中包括的一个或多个硬盘的读取速度为50-100M/秒,第二个等级中包括的一个或多个硬盘的读取速度为101-151M/秒,第三个等级中包括的一个或多个硬盘的写入速度为152-202M/秒),并将同时包含在剩余寿命的第一个等级、写入速度的第一个等级以及读取速度的第一个等级中的一个或多个硬盘作为上述目标硬盘。
需要说明的是,对上述运行参数划分的不同的等级也可以理解为根据运行参数的不同的阈值,将硬盘框120中包括的多个硬盘划分为不同的等级。例如,第一剩余寿命阈值是100TB,可以将硬盘剩余写入量不大于100TB的一个或多个硬盘划分到第一个等级中。又如,第二剩余寿命阈值是500TB,可以将硬盘剩余写入量不小于100TB,且不大于500TB的一个或多个硬盘划分到第二个等级中。又如,还可以将硬盘剩余写入量不小于500TB的一个或多个硬盘划分到第三个等级中。
2、以根据多个硬盘的运行参数以及该数据的属性选择至少一个目标硬盘为例。
应理解,数据的属性可以理解为该数据在写入对应的硬盘后,被读写的可能性。作为示例,可以根据数据在一定时间段内被再次访问的预测结果,将数据按照属性分为:写热数据,写冷数据,读热数据,读冷数据等。其中,写热数据也可以称为该数据属于写热属性,表示该数据写入硬盘后,预计在设定时间范围内就被再次修改或者删除的可能性较大。写冷数据表示该数据写入硬盘后,预计在所述设定时间范围内就被再次修改或者删除的可能性较小。读热数据也可以称为该数据属于读热属性,表示该数据距最近一次被读取的时间小于设定的期限阈值,并且在所述设定时间范围会被再次读取。读冷数据表示该数据距最近一次被读取的时间超过所述设定的期限阈值,并且在所述设定的时间范围内不会被再次读取。上述设定的时间范围以及设定的期限阈值是可以通过配置来进行调整的。并且对于数据的属性分类是可以进行更多粒度的划分,本实施例为了描述简化,采用了上述四种属性类别的划分。
该数据可以是来自用户输入的数据,以图1为例,也就是存储控制器110通过前端接口卡111接收到的数据。该数据还可以是存储控制器110内部产生的数据,例如元数据,各种中间数据等,本申请对此不做具体限定。以该数据存储的方法应用于上述存储系统100为例,一种实现方式中,可以由存储控制器110中的处理器112对数据的属性进行识别。另一种实现方式中,还可以由存储控制器110中的AI芯片通过人工智能(artificialintelligence,AI)技术对数据进行分类识别。应理解,通过AI技术对数据进行分类识别实际是基于数据的历史访问的统计所做出的对未来访问行为的预测。例如,可以通过AI技术,统计数据读写访问的位置,在相似位置上历史的行为,以及多个读写访问的空间和时间的关系等。并基于这些统计信息建立模型,在遇到后续的数据访问后,可以基于模型预测出其后续可能的行为,也即预测该数据的属性。
一种可能的实现方式中,可以将上述多个硬盘按照不同的运行参数进行排序。一个示例,可以按照硬盘的剩余寿命,对硬盘框120中包括的多个硬盘进行排序。例如,如果某一个数据属于写热数据,则可以将剩余寿命排序中靠前的硬盘(也就是排序中剩余寿命较高的硬盘),或者剩余寿命达到设定的寿命阈值的硬盘作为上述目标硬盘。另一个示例中可以同时考虑硬盘的剩余寿命和写入速度,例如,将剩余寿命超过寿命阈值的,且写入速度也超过写性能阈值的硬盘作为上述目标硬盘。另一个示例中可以同时考虑硬盘的剩余寿命和读取速度。例如,将剩余寿命超过寿命阈值的,且读取速度也超过读性能阈值的硬盘作为上述目标硬盘。
另一种可能的实现方式中,可以根据硬盘的运行参数以及该参数对应的阈值来选择目标硬盘。例如,当某个硬盘的剩余寿命达到设定的寿命阈值时,将该硬盘作为目标硬盘。又如,当某个硬盘的写入速度达到设定的写性能阈值时,将该硬盘作为目标硬盘。
另一种可能的实现方式中,可以将硬盘的运行参数划分为不同的等级,每个等级可以对应一定范围区间内的参数值。一个示例,可以按照硬盘的剩余寿命,将硬盘框120中包括的多个硬盘划分为不同的等级。例如,如图4所示,如果该数据属于写热数据,可以将剩余寿命对应最高等级的一个或多个硬盘作为上述目标硬盘。或者,可以将同时包含在剩余寿命对应最高等级以及写入速度也对应最高等级中的一个或多个硬盘作为上述目标硬盘。或者,可以将同时包含在剩余寿命对应最高等级以及读取速度也对应最高等级中的一个或多个硬盘作为上述目标硬盘。
应理解,无论是按照上述哪种方式选择目标硬盘,选择出的目标硬盘的剩余空间需要不小于要写入的数据量。
步骤230:将数据写入所述目标硬盘中。
以本申请实施例的方法应用于存储控制器110为例,存储控制器110可以在确定目标硬盘后,将数据写入对应的目标硬盘中。具体的,作为示例,图1中的存储控制器110可以前端接口卡111获取用户下发的写请求,该写请求中可以包括但不限于:待写入的数据本身以及存储该数据的逻辑地址。存储控制器110可以在确定目标硬盘后,将该写请求中的数据存储至对应的目标硬盘中,并建立和保存数据的逻辑地址和目标硬盘的物理地址之间的映射关系。该目标硬盘的物理地址例如可以是目标硬盘的标识和/或数据写入该目标硬盘中的位置。
需要说明的是,存储控制器110可以之间建立数据的逻辑地址和目标硬盘的物理地址之间的直接映射关系,或者还可以建立数据的逻辑地址和其它地址之间的一级或多级映射,再建立其它地址和目标硬盘的物理地址之间的映射关系,本申请对此不作具体限定。
上述技术方案中,可以有效区分多个硬盘在使用过程中由于个体差异性所导致的性能差异,从而可以提高硬盘的利用效率以及存储系统的整体性能。
可选地,在一些实施例中,还可以通过本申请实施例提供的数据存储的方法,对已经存储至硬盘的数据进行迁移,使得数据迁移之后可以有效区分每个硬盘之间的个体差异,避免硬盘不必要的更换,提高硬盘的利用效率,从而可以提升存储系统的整体性能。
下面结合具体的例子,对步骤220中根据数据的属性以及多个硬盘的运行参数从多个硬盘中选择至少一个目标硬盘的具体实现过程进行详细描述。应注意,下面的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据所给出的下面的例子所给出的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
作为示例,对于写热的数据,可以优先从多个硬盘中选择剩余寿命超过寿命阈值的硬盘作为所述目标硬盘。对于读热的数据,可以优先选择读取速度超过读性能阈值的硬盘作为所述目标硬盘。
在本实施例的一种实现中,在选择用于存储数据的硬盘时将该数据的属性以及硬盘的运行参数结合起来综合考虑。例如,数据的属性为写热读热,对选择至少一个目标硬盘的具体实现过程进行详细描述。应理解,写热读热的数据表示该数据写入硬盘后,预计在设定时间范围内就被再次修改或者删除的可能性较大,且该数据距最近一次被读取的时间小于设定的期限阈值,并且在所述设定时间范围会被再次读取。
首先,可以根据数据的容量,从硬盘框中包括的多个硬盘中选取剩余空间不小于数据容量的多个硬盘,该多个硬盘构成第一硬盘集合。也就是说,第一硬盘集合中的每个硬盘的剩余空间不小于数据的容量。其次,当确定所述数据的属性为写热时,从第一硬盘集合中包括的多个硬盘中选取剩余寿命较高的多个硬盘,该多个硬盘构成第二硬盘集合,第二硬盘集合是所述第一硬盘集合的子集。所述第二硬盘集合中的每个硬盘的剩余寿命高于所述寿命阈值。
上述技术方案中,可以将具有写热属性的数据写入寿命较长的硬盘中,这样,可以提高存储系统的整体寿命。
可选的,存储控制器110还可以从第二硬盘集合中选取写入速度较高的多个硬盘,该多个硬盘构成第三硬盘集合,所述第三硬盘集合是所述第二硬盘集合的子集。也就是说,第三硬盘集合中的每个硬盘的写入速度高于写性能阈值。当然,本实施例也可以不考虑硬盘的剩余寿命,直接从所述第一硬盘集合中筛选出写入速度较高的第三硬盘集合。由第三硬盘集合中的一个或多个硬盘存储数据。
可选的,当所述数据属于读热数据时,存储控制器110可以根据数据的读热特性,进一步地从第三硬盘集合中选取读取速度较高的多个硬盘,该多个硬盘可以构成第四硬盘集合。也就是说,第四硬盘集合中的每个硬盘的读取速度高于读性能阈值。可以将数据存储至所述目标硬盘中。这样,在选取目标硬盘时,还进一步的考虑了该数据写入目标硬盘后数据的读取,可以进一步提高存储系统的整体性能。
另外,本实施例可以不考虑硬盘的写入速度,直接从所述第二硬盘集合中筛选出读取速度较高的第四硬盘集合。甚至,既不考虑硬盘的剩余寿命也不考虑硬盘的写入速度,直接从所述第一硬盘集合中筛选出读取速度较高的第四硬盘集合。这样,选取出的目标硬盘的读取速度较高,对于具有读热特性的数据,可以提高该数据后续从目标硬盘中被读取的性能,从而进一步提高存储系统的整体性能。
在本实施例的另一种实现中,在选择用于存储数据的硬盘时将该数据的属性以及硬盘的运行参数结合起来综合考虑。例如,数据的属性为写热读冷,对选择至少一个目标硬盘的具体实现过程进行详细描述。应理解,写热读冷的数据表示该数据写入硬盘后,预计在设定时间范围内就被再次修改或者删除的可能性较大,且该数据距最近一次被读取的时间超过所述设定的期限阈值,并且在所述设定的时间范围内不会被再次读取。
首先,可以根据数据的容量,从硬盘框中包括的多个硬盘中选取剩余空间不小于数据容量的多个硬盘,该多个硬盘构成所述第一硬盘集合。所述第一硬盘集合与前面描述的一致,这里不再赘述。其次,如果该数据的属性是写热特性,则从第一硬盘集合中包括的多个硬盘中选取剩余寿命较高的多个硬盘,该多个硬盘构成第二硬盘集合。所述第二硬盘集合与前面描述的一致。
可选的,存储控制器110还可以从第二硬盘集合中选取写入速度较高的多个硬盘,该多个硬盘构成第三硬盘集合。当然,本实施例也可以不考虑硬盘的剩余寿命,直接从所述第一硬盘集合中筛选出写入速度较高的第三硬盘集合。由第三硬盘集合中的一个或多个硬盘存储数据。所述第三硬盘集合与前面描述的一致。
可选的,存储控制器110若进一步确定该数据的属性是读冷特性,进一步地从第三硬盘集合中选取读取速度较低的多个硬盘,该多个硬盘可以构成第四硬盘集合。也就是说,第四硬盘集合中包括的硬盘的读取速度小于读性能阈值。第四硬盘集合中包括的硬盘可以作为目标硬盘,可以将上述数据存储至所述目标硬盘中。这样,在选取目标硬盘时,还进一步的考虑了该数据写入目标硬盘后数据的读取,将属性是读冷特性的数据存储在读取速度小于读性能阈值的硬盘中,将读取速度大于读性能阈值的硬盘留着用于存储属性是读热特性的数据,从而进一步提高存储系统的整体性能。
另外,本实施例可以不考虑硬盘的写入速度,直接从所述第二硬盘集合中筛选出读取速度较低的第四硬盘集合。甚至,既不考虑硬盘的剩余寿命也不考虑硬盘的写入速度,直接从所述第一硬盘集合中筛选出读取速度较低的第四硬盘集合。
本实施例的另一种实现中,在选择用于存储数据的硬盘时将该数据的属性以及硬盘的运行参数结合起来综合考虑。例如,数据的属性为写冷读热数据,对选择至少一个目标硬盘的具体实现过程进行详细描述。应理解,写冷读热的数据表示该数据写入硬盘后,预计在所述设定时间范围内就被再次修改或者删除的可能性较小,且该数据距最近一次被读取的时间小于设定的期限阈值,并且在所述设定时间范围会被再次读取。
首先,可以根据数据的容量,从硬盘框中包括的多个硬盘中选取剩余空间不小于数据容量的多个硬盘,该多个硬盘可以构成第一硬盘集合。也就是说,第一硬盘集合中包括的硬盘的剩余空间不小于数据的容量。其次,可以根据数据的写冷特性,从第一硬盘集合中包括的多个硬盘中选取剩余寿命较低的多个硬盘,该多个硬盘构成第二硬盘集合。第二硬盘集合是所述第一硬盘集合的子集。第二硬盘集合中包括的硬盘的剩余寿命小于寿命阈值。
可选的,存储控制器110还可以从第二硬盘集合中选取写入速度较高的多个硬盘,该多个硬盘构成第三硬盘集合,所述第三硬盘集合是所述第二硬盘集合的子集。也就是说,第三硬盘集合中的每个硬盘的写入速度高于写性能阈值。当然,本实施例也可以不考虑硬盘的剩余寿命,直接从所述第一硬盘集合中筛选出写入速度较高的第三硬盘集合。由第三硬盘集合中的一个或多个硬盘存储数据。所述第三硬盘集合与前面描述的一致。
可选的,存储控制器110若进一步确定该数据的属性是读热,进一步地从第三硬盘集合中选取读取速度较高的多个硬盘,该多个硬盘可以构成第四硬盘集合。也就是说,第四硬盘集合中的每个硬盘的读取速度高于读性能阈值。
另外,本实施例可以不考虑硬盘的写入速度,直接从所述第二硬盘集合中筛选出读取速度较高的第四硬盘集合。甚至,既不考虑硬盘的剩余寿命也不考虑硬盘的写入速度,直接从所述第一硬盘集合中筛选出读取速度较高的第四硬盘集合。
在本实施例的另一种实现中,在选择用于存储数据的硬盘时将该数据的属性以及硬盘的运行参数结合起来综合考虑。例如,数据的属性为写冷读冷。对选择至少一个目标硬盘的具体实现过程进行详细描述。应理解,写冷读冷的数据表示该数据写入硬盘后,预计在设定时间范围内就被再次修改或者删除的可能性较小,且该数据距最近一次被读取的时间超过所述设定的期限阈值,并且在所述设定的时间范围内不会被再次读取。
首先,可以根据数据的容量,从硬盘框中包括的多个硬盘中选取剩余空间不小于数据容量的多个硬盘,该多个硬盘可以构成第一硬盘集合。所述第一硬盘集合与前面描述的一致,这里不再赘述。其次,如果该数据的属性是写冷特性,则从第一硬盘集合中包括的多个硬盘中选取剩余寿命较低的多个硬盘,该多个硬盘可以构成第二硬盘集合。也就是说,第二硬盘集合中包括的硬盘的剩余寿命小于寿命阈值。
可选的,存储控制器110还可以从第二硬盘集合中选取写入速度较高的多个硬盘,该多个硬盘构成第三硬盘集合。当然,本实施例也可以不考虑硬盘的剩余寿命,直接从所述第一硬盘集合中筛选出写入速度较高的第三硬盘集合。由第三硬盘集合中的一个或多个硬盘存储数据。所述第三硬盘集合与前面描述的一致。
可选的,存储控制器110若进一步确定该数据的属性是读冷特性,进一步地从第三硬盘集合中选取读取速度较低的多个硬盘,该多个硬盘可以构成第四硬盘集合。也就是说,第四硬盘集合中包括的硬盘的读取速度小于读性能阈值。第四硬盘集合中包括的硬盘可以作为目标硬盘,可以将上述数据存储至所述目标硬盘中。
另外,本实施例可以不考虑硬盘的写入速度,直接从所述第二硬盘集合中筛选出读取速度较低的第四硬盘集合。甚至,既不考虑硬盘的剩余寿命也不考虑硬盘的写入速度,直接从所述第一硬盘集合中筛选出读取速度较低的第四硬盘集合。
上述技术方案中,可以基于数据的属性选择目标硬盘,可以更好的区分每个硬盘之间的个体差异,使得硬盘的利用效率提高,从而提高了存储系统的整体性能。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图4,详细描述了本申请实施例提供的数据存储的方法,下面将结合图5,详细描述本申请的数据存储的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5是本申请实施例提供的一种数据存储的装置500的示意性框图。该数据存储的装置500可以包括:获取模块510,选择模块520,存储模块530,
获取模块510,用于多个硬盘的运行参数,所述多个硬盘的运行参数用于衡量所述多个硬盘在性能上具有个体差异;
选择模块520,用于根据所述多个硬盘的运行参数,选择至少一个目标硬盘;
存储模块530,用于将数据写入所述目标硬盘中。
可选地,所述多个硬盘在性能上的个体差异来源于以下几种情况中的任意一种:
所述多个硬盘的介质类型相同,并且所述多个硬盘的厂商不同;或者
所述多个硬盘的介质类型以及厂商相同,并且所述多个硬盘的出厂批次不同;或者
所述多个硬盘的介质类型、厂商以及出厂批次相同,并且所述多个硬盘的设置不同;或者
所述多个硬盘的介质类型、厂商、出厂批次以及设置相同,所述多个硬盘的使用环境不同;或者
所述多个硬盘的介质类型、厂商、出厂批次、设置以及使用环境相同,并且所述多个硬盘在运行过程中具有性能差异。
可选地,所述当所述多个硬盘均为闪存介质时,所述介质类型相同包括:最小存储单元的存储密度/粒度相同。
可选地,所述性能包括读写性能和/或寿命。
可选地,所述硬盘的运行参数包括以下中的任意一种或多种的组合:所述硬盘的剩余空间、所述硬盘的剩余寿命、所述硬盘的写入速度、所述硬盘的读取速度。
可选地,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
可选地,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
可选地,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
可选地,所述选择模块520具体用于:根据所述多个硬盘的运行参数以及所述数据的属性,从所述多个硬盘中选择所述至少一个目标硬盘。
可选地,如果所述数据属于写热属性时,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
可选地,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
可选地,如果所述数据属于读热属性时,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。上述各个模块可以由图1所示的控制器中的处理器112执行,或者由处理器112调用内存存储器113中的软件程序执行。或者,上述各个模块可以由图1所示的硬盘框120中的处理器执行,或者由该处理器调用内存存储器中的软件程序执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (27)

1.一种数据存储的方法,其特征在于,包括:
获取多个硬盘的运行参数,所述多个硬盘的运行参数用于衡量所述多个硬盘在性能上具有个体差异;
根据所述多个硬盘的运行参数,选择至少一个目标硬盘;
将数据写入所述目标硬盘中。
2.根据权利要求1所述的方法,其特征在于,所述多个硬盘在性能上的个体差异来源于以下几种情况中的任意一种:
所述多个硬盘的介质类型相同,并且所述多个硬盘的厂商不同;或者
所述多个硬盘的介质类型以及厂商相同,并且所述多个硬盘的出厂批次不同;或者
所述多个硬盘的介质类型、厂商以及出厂批次相同,并且所述多个硬盘的设置不同;或者
所述多个硬盘的介质类型、厂商、出厂批次以及设置相同,所述多个硬盘的使用环境不同;或者
所述多个硬盘的介质类型、厂商、出厂批次、设置以及使用环境相同,并且所述多个硬盘在运行过程中具有性能差异。
3.根据权利要求2所述的方法,其特征在于,当所述多个硬盘均为闪存介质时,所述介质类型相同包括:最小存储单元的存储密度/粒度相同。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述性能包括读写性能和/或寿命。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述硬盘的运行参数包括以下中的任意一种或多种的组合:所述硬盘的剩余空间、所述硬盘的剩余寿命、所述硬盘的写入速度、所述硬盘的读取速度。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
7.根据权利要求6所述的方法,其特征在于,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
8.根据权利要求6或7所述的方法,其特征在于,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述根据所述多个硬盘的运行参数,选择至少一个目标硬盘,包括:
根据所述多个硬盘的运行参数以及所述数据的属性,从所述多个硬盘中选择所述至少一个目标硬盘。
10.根据权利要求9所述的方法,其特征在于,如果所述数据属于写热属性时,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
11.根据权利要求9或10所述的方法,其特征在于,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
12.根据权利要求9至11中任一项所述的方法,其特征在于,如果所述数据属于读热属性,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
13.一种数据存储的装置,其特征在于,包括:
获取模块,用于获取多个硬盘的运行参数,所述多个硬盘的运行参数用于衡量所述多个硬盘在性能上具有个体差异;
选择模块,用于根据所述多个硬盘的运行参数,选择至少一个目标硬盘;
存储模块,用于将数据写入所述目标硬盘中。
14.根据权利要求13所述的装置,其特征在于,所述多个硬盘在性能上的个体差异来源于以下几种情况中的任意一种:
所述多个硬盘的介质类型相同,并且所述多个硬盘的厂商不同;或者
所述多个硬盘的介质类型以及厂商相同,并且所述多个硬盘的出厂批次不同;或者
所述多个硬盘的介质类型、厂商以及出厂批次相同,并且所述多个硬盘的设置不同;或者
所述多个硬盘的介质类型、厂商、出厂批次以及设置相同,所述多个硬盘的使用环境不同;或者
所述多个硬盘的介质类型、厂商、出厂批次、设置以及使用环境相同,并且所述多个硬盘在运行过程中具有性能差异。
15.根据权利要求14所述的装置,其特征在于,所述当所述多个硬盘均为闪存介质时,所述介质类型相同包括:最小存储单元的存储密度/粒度相同。
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述性能包括读写性能和/或寿命。
17.根据权利要求13至16中任一项所述的装置,其特征在于,所述硬盘的运行参数包括以下中的任意一种或多种的组合:所述硬盘的剩余空间、所述硬盘的剩余寿命、所述硬盘的写入速度、所述硬盘的读取速度。
18.根据权利要求13至17中任一项所述的装置,其特征在于,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
19.根据权利要求18所述的装置,其特征在于,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
20.根据权利要求18或19所述的装置,其特征在于,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
21.根据权利要求13至20中任一项所述的装置,其特征在于,所述选择模块具体用于:
根据所述多个硬盘的运行参数以及所述数据的属性,从所述多个硬盘中选择所述至少一个目标硬盘。
22.根据权利要求21所述的装置,其特征在于,如果所述数据属于写热属性时,所述目标硬盘是所述多个硬盘中,剩余寿命超过寿命阈值的硬盘。
23.根据权利要求21或22所述的装置,其特征在于,所述目标硬盘是所述多个硬盘中,写入速度超过写性能阈值的硬盘。
24.根据权利要求21至23中任一项所述的装置,其特征在于,如果所述数据属于读热属性时,所述目标硬盘是所述多个硬盘中,读取速度超过读性能阈值的硬盘。
25.一种数据存储的装置,其特征在于,包括输入输出接口、处理器和存储器,其中,所述处理器用于控制所述输入输出接口收发信息,所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行该计算机程序,使得所述数据存储的装置执行权利要求1至12中任一项所述方法的操作步骤。
26.一种存储系统,其特征在于,包括如权利要求13至24中任一项所述的数据存储的装置。
27.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1至12中任一项所述的方法。
CN202110018308.9A 2020-11-17 2021-01-07 数据存储的方法和装置 Pending CN114510195A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2021/100789 WO2022105222A1 (zh) 2020-11-17 2021-06-18 数据存储的方法和装置
EP21893376.0A EP4231131A4 (en) 2020-11-17 2021-06-18 DATA STORAGE METHOD AND DEVICE
US18/317,427 US20230305707A1 (en) 2020-11-17 2023-05-15 Data storage method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011290060 2020-11-17
CN2020112900603 2020-11-17

Publications (1)

Publication Number Publication Date
CN114510195A true CN114510195A (zh) 2022-05-17

Family

ID=81547459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110018308.9A Pending CN114510195A (zh) 2020-11-17 2021-01-07 数据存储的方法和装置

Country Status (4)

Country Link
US (1) US20230305707A1 (zh)
EP (1) EP4231131A4 (zh)
CN (1) CN114510195A (zh)
WO (1) WO2022105222A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499428A (zh) * 2022-09-09 2022-12-20 深圳市金胜电子科技有限公司 文件传输控制方法及相关装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748511B2 (en) * 2001-03-06 2004-06-08 Phoenix Technologies Ltd. Resizing a protected area on a hard disk
US7631023B1 (en) * 2004-11-24 2009-12-08 Symantec Operating Corporation Performance-adjusted data allocation in a multi-device file system
WO2015029102A1 (ja) * 2013-08-26 2015-03-05 株式会社日立製作所 ストレージ装置及び階層制御方法
JP2016126656A (ja) * 2015-01-07 2016-07-11 富士通株式会社 ストレージ制御装置,制御プログラム及び制御方法
US10235057B2 (en) * 2015-09-04 2019-03-19 Western Digital Technologies, Inc. Operating parameters for flash memory devices
JP6870246B2 (ja) * 2016-09-07 2021-05-12 富士通株式会社 ストレージ装置、及びストレージ制御装置
CN106502591B (zh) * 2016-10-26 2019-10-25 深信服科技股份有限公司 一种基于混合存储产品的存储控制方法和存储控制装置
CN110858122B (zh) * 2018-08-23 2023-10-20 杭州海康威视系统技术有限公司 存储数据的方法和装置
CN109799955A (zh) * 2018-12-24 2019-05-24 郑州云海信息技术有限公司 一种服务器固态硬盘存储方法及装置
US10732873B1 (en) * 2019-04-18 2020-08-04 Microsoft Technology Licensing, Llc Timeout mode for storage devices
CN110083310A (zh) * 2019-04-24 2019-08-02 苏州浪潮智能科技有限公司 一种存储集群中集群数据保存方法、装置及存储集群系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499428A (zh) * 2022-09-09 2022-12-20 深圳市金胜电子科技有限公司 文件传输控制方法及相关装置

Also Published As

Publication number Publication date
EP4231131A1 (en) 2023-08-23
EP4231131A4 (en) 2024-04-17
WO2022105222A1 (zh) 2022-05-27
US20230305707A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
US10387243B2 (en) Managing data arrangement in a super block
US9747202B1 (en) Storage module and method for identifying hot and cold data
US8438361B2 (en) Logical block storage in a storage device
CN112148525B (zh) 实现更快且经过调节的装置初始化时间
US10628257B2 (en) Memory management method and storage controller
US9535611B2 (en) Cache memory for hybrid disk drives
US11809723B2 (en) Unbalanced plane management method, associated data storage device and controller thereof
US20220147279A1 (en) Heat management solid-state data storage system
US11016889B1 (en) Storage device with enhanced time to ready performance
CN112083873A (zh) 智能识别非易失存储介质不可靠块的方法与装置
TW202238369A (zh) 在快閃記憶體中進行耗損平衡操作的方法和相關控制器以及儲存系統
US20230266884A1 (en) Operating method for storage controller and storage system including same
CN113076218B (zh) Nvm芯片读数据错误快速处理方法及其控制器
US11698742B2 (en) Garbage collection in a memory component using an adjusted parameter
US11698754B2 (en) Coalescing read commands by location from a host queue
US20230305707A1 (en) Data storage method and apparatus
CN107203341A (zh) 基于闪存的数据存储方法、装置以及闪存芯片
Li et al. A survey of SSD lifecycle prediction
US11822817B2 (en) Ordering reads to limit collisions in a non-volatile memory (NVM)
CN111767165B (zh) 数据处理方法、装置及控制设备
CN113010458B (zh) 存储器管理方法、存储控制器与存储装置
US12002516B2 (en) Memory block characteristic determination
CN116469440A (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