CN112162695A - 一种数据缓存方法、装置、电子设备及存储介质 - Google Patents

一种数据缓存方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112162695A
CN112162695A CN202010942800.0A CN202010942800A CN112162695A CN 112162695 A CN112162695 A CN 112162695A CN 202010942800 A CN202010942800 A CN 202010942800A CN 112162695 A CN112162695 A CN 112162695A
Authority
CN
China
Prior art keywords
storage
performance
level
storage performance
electronic equipment
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
CN202010942800.0A
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.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN202010942800.0A priority Critical patent/CN112162695A/zh
Publication of CN112162695A publication Critical patent/CN112162695A/zh
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/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据缓存方法、装置、电子设备及存储介质,该方法包括:基于电子设备的当前工作状态,确定电子设备的存储性能需求;基于存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;基于多种存储单元的多级缓存策略进行数据缓存操作。这样,由于电子设备在不同工作状态下的存储需求不同,根据电子设备所处工作状态为其设置匹配的多级缓存策略,以满足其存储性能需求,避免由于存储性能需求与实际提供的存储性能不匹配造成的存储性能浪费或存储性能不佳的问题,也能平衡各级缓存的擦写P/E cycle磨损均衡,且通过设置合理的多级缓存策略,也可以避免存储性能出现断崖式下降的问题。

Description

一种数据缓存方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机存储技术,尤其涉及一种数据缓存方法、装置、电子设备及存储介质。
背景技术
随着智能手机普及和移动网络的高速化,移动设备已经成为生活中必不可少工具。移动设备中存储单元用于存储各种数据如照片、视频、文档等数据。但随着用户对存储单元容量的需求日益增大,移动设备中闪存技术从单层存储单级单元(Single-LevelCell,SLC)(1bit/cell)到多级单元(Multi-Level Cell,MLC)(2bit/cell)到三级单元(Trinary-Level Cell,TLC)(3bit/cell),甚至四级单元(Quad-Level Cell,QLC)(4bit/cell)技术。存储容量从SLC、MLC、TLC、QLC逐渐增大,但是性能是逐渐降低。
目前移动设备的主流的闪存技术为TLC,为了解决TLC NAND闪存读写较慢的问题,现有技术会将TLC的部分存储空间转换为SLC存储空间,SLC NAND闪存因为每个Cell只存储1bit数据,所以读写速率全面领先MLC和TLC,移动设备里面配备的SLC存储空间实际上是在既有的TLC NAND闪存里面划出一部分存储空间,在其中的每个Cell中只写入1bit的数据,以提升NAND闪存的读写性能。但当SLC存储空间用完的时候,TLC读写性能较慢的问题就会显示出来,读写性能呈现出断崖式掉落,导致移动设备出现卡顿现象。
发明内容
为解决上述技术问题,本申请实施例期望提供一种数据缓存方法、装置、电子设备及存储介质。
本申请的技术方案是这样实现的:
第一方面,提供了一种数据缓存方法,应用于电子设备,所述方法包括:
基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;
基于所述多种存储单元的多级缓存策略进行数据缓存操作。
第二方面,提供了一种数据缓存装置,应用于电子设备,所述装置包括:
检测单元,用于基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
确定单元,用于基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;
处理单元,用于基于所述多种存储单元的多级缓存策略进行数据缓存操作。
第三方面,本申请实施例中又提供了一种电子设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器配置为运行所述计算机程序时,执行前述方法的步骤。
第四方面,本申请实施例中还提供了一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现前述方法的步骤。
本申请实施例中提供了一种数据缓存方法、装置、电子设备及存储介质,该方法包括:基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;基于所述多种存储单元的多级缓存策略进行数据缓存操作。这样,由于电子设备在不同工作状态下的存储需求不同,根据电子设备所处工作状态为其设置匹配的多级缓存策略,以满足其存储性能需求,避免由于存储性能需求与实际提供的存储性能不匹配造成的存储性能浪费或存储性能不佳的问题,也能平衡各级缓存的擦写(program/erase cycle,P/Ecycle)磨损均衡,且通过设置合理的多级缓存策略,也可以避免存储性能出现断崖式下降的问题。
附图说明
图1为本申请实施例中数据缓存方法的第一流程示意图;
图2为本申请实施例中数据缓存方法的第二流程示意图;
图3为本申请实施例中SLC的存储原理示意图;
图4为本申请实施例中MLC的存储原理示意图;
图5为本申请实施例中UFS配置示意图一;
图6为本申请实施例中存储单元的存储性能分布示意图一;
图7为本申请实施例中P-SLC的存储原理示意图;
图8为本申请实施例中存储单元的存储性能分布示意图二;
图9为本申请实施例中数据缓存方法的第三流程示意图;
图10为本申请实施例中UFS配置示意图二;
图11为本申请实施例中存储单元的存储性能分布示意图三;
图12为本申请实施例中数据缓存装置的组成结构示意图;
图13为本申请实施例中电子设备的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
本申请实施例提供的一种数据缓存方法,应用于电子设备,本申请实施例中,存储单元是指电子设备内的闪存单元,电子设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等移动设备,也可以是个人计算机(Personal Computer,PC)等固定设备。本申请实施例对电子设备的具体类型不作任何限制。
如图1所示,在一些实施例中数据缓存方法具体可以包括:
步骤101:基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
这里,存储性能需求是指电子设备进行数据缓存时对存储单元的写入速度和读取速度的需求,存储性能需求高时,存储单元应具备较快的写入速度和读取速度,存储性能需求低时,存储单元具备较低的写入速度和读取速度。实际应用中,存储性能需求可以根据存储单元的存储速度(包括写入速度和读取速度)量化标定,不同的存储性能需求对应不同的存储速度范围。
具体的,基于电子设备当前性能模式,确定电子设备的存储性能需求;或者,基于电子设备当前运行应用程序,确定电子设备的存储性能需求。
实际应用中,电子设备的工作状态可以为电子设备当前工作的性能模式,比如,高性能模式、正常模式或低性能模式。通过获取电子设备当前工作的性能模式来确定电子设备的存储性能需求。比如,高性能模式对应第一存储性能需求,正常模式对应第二存储性能需求,低性能需求对应第三存储性能需求,不同存储性能需求可以通过不同的存储速度范围来区分。
实际应用中,电子设备的工作状态还可以为电子设备当前运行的应用程序,由于不同应用程序对电子设备有着高低不同的性能需求,现有的电子设备可以根据当前运行的应用程序为其提供最佳的存储性能,因此还可以通过识别电子设备当前正在运行的应用程序来确定电子设备的存储性能需求。比如,第一类应用程序对应第一存储性能需求,第二类应用程序对应第二存储性能需求,第三类应用程序对应第三存储性能需求。第一类应用程序可以为对性能要求较高的游戏类应用程序,第二类应用程序为社交类、购物类应用程序对性能和存储容量均要求不高,第三类应用程序为视频类应用程序对存储容量要求较高对性能要求不高。
步骤102:基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;
这里,多种存储单元是指至少两种存储单元,比如多种存储单元包括单级存储单元SLC、多级存储单元MLC、三级存储单元TLC和四级存储单元QLC中的至少两种。SLC每个存储单元可以存放1bit数据,MLC每个存储单元可以存放2bit数据,TLC每个存储单元可以存放13bit数据,QLC每个存储单元可以存放4bit数据。
在一些实施例中,电子设备的常规存储单元被封装为TLC的存储形态,比如,以256GB的通用闪存存储器(Universal Flash Storage,UFS)为例,UFS出厂时可以包括256GB的TLC存储单元,由于TLC存储单元的容量是SLC的三倍,而SLC存储单元寿命和性能都远超TLC存储单元。对于电子设备而言,考虑到容量规格和存储性能之间的平衡,以及存储性能断崖式掉落的问题,本申请实施例将TLC的部分存储空间转换为SLC和MLC,或者将TLC只转化为SLC或MLC,通过得到的两级缓存或三级缓存实现不同存储性能需求的数据缓存。
在另一些实施例中,电子设备的常规存储单元被封装为QLC的存储形态,比如,以256GB的UFS为例,UFS出厂时可以包括256GB的QLC存储单元。对于电子设备而言,考虑到容量规格和存储性能之间的平衡,以及存储性能断崖式掉落的问题,本申请实施例将QLC的部分存储空间转换为SLC、MLC和TLC,或者将QLC转化为SLC、MLC和TLC中的任意一种或两种,通过得到的两级缓存、三级缓存或四级缓存实现不同存储性能需求的数据缓存。
本申请实施例中,多级缓存策略包括多种存储单元的使用优先级,由于不同存储单元的存储性能不同,被优先使用的存储单元决定了电子设备的存储性能。比如,SLC、MLC、TLC和QLC,容量依次增大,但是性能和寿命依次减小。选择SLC进行数据缓存使电子设备处于高存储性能小容量模式,选择TLC或QLC进行数据缓存使电子设备处于低存储性能大容量模式,通过为不同存储性能需求选择不同的使用优先级,可以为电子设备当前工作状态提供最佳匹配的存储性能,避免“高需求低配置”造成电子设备卡顿现象,或者“低需求高配置”造成性能浪费,以及存储容量浪费的问题。
步骤103:基于所述多种存储单元的多级缓存策略进行数据缓存操作。
本申请实施例中,多级缓存策略包括所述多种存储单元的使用优先级。比如,使用优先级从高到低为SLC、MLC、TLC和QLC,则优先使用SLC进行数据缓存再使用MLC、TLC和QLC。使用优先级从高到低为MLC、TLC和SLC,则优先使用MLC进行数据缓存再使用TLC和SLC。这样,由于电子设备在不同工作状态下的存储需求不同,根据电子设备所处工作状态为其设置匹配的多级缓存策略,以满足其存储性能需求,避免由于存储性能需求与实际提供的存储性能不匹配造成的存储性能浪费或存储性能不佳的问题,也能平衡各级缓存的擦写(program/erase cycle,P/E)磨损均衡,且通过设置合理的多级缓存策略,也可以避免存储性能出现断崖式下降的问题。
这里,步骤101至步骤103的执行主体可以为电子设备的处理器。
为了能更加体现本申请的目的,在本申请上述实施例的基础上,进行进一步的举例说明,如图2所示,该方法具体包括:
步骤201:预先在通用闪存存储器UFS中按照预设的存储容量占比,配置至少两种存储单元;其中,至少两种存储单元包括存储性能从高到低的第1存储单元至第N存储单元,N取大于1的整数;
这里,多种存储单元包括至少两种存储单元,存储容量占比为不同存储单元的存储容量之比。具体的,按照预设的存储容量占比,将UFS的常规存储单元(即第N存储单元)的存储容量转化为第1存储单元至第N-1存储单元,不同存储单元的数据存储形态不同。比如,至少两种存储单元包括:SLC、MLC、TLC和QLC中的至少两种,SLC每个存储单元可以存放1bit数据,MLC每个存储单元可以存放2bit数据,TLC每个存储单元可以存放13bit数据,QLC每个存储单元可以存放4bit数据。
图3为本申请实施例中SLC的存储原理示意图,如图3所示,SLC一个存储单元可存放1bit数据,具体通过控制存储单元电压来存放1或0这两种数据。
图4为本申请实施例中MLC的存储原理示意图,如图4所示,MLC一个存储单元可存放2比特数据,也是通过控制存储单元电压来存放11、10、00或01这四种数据。
TLC和QLC存储原理以此类推这里不再赘述。
图5为本申请实施例中UFS配置示意图一,如图5所示,本申请基于UFS建立混合存储单元的存储系统,UFS接受处理器的指令,由UFS控制器在UFS完成的初始化配置过程。控制器按照预设的存储容量占比,将UFS的常规存储单元QLC的存储容量转化为TLC、MLC和SLC;或者将UFS的常规存储单元TLC的存储容量转化为MLC和SLC。
图6为本申请实施例中存储单元的存储性能分布示意图一,如图6所示,SLC、MLC、TLC和QLC存储性能依次降低,但存储性能越低存储容量则越大。
例如,QLC存储容量为256GB,存储容量占比为QLC:TLC:MLC:SLC=100:3:4:4,由于存储容量换算比为QLC:TLC:MLC:SLC=4:3:2:1,如下表1所示,8GB容量SLC所需QLC容量为32GB,8GB容量MLC所需QLC容量为16GB,6GB容量TLC所需QLC容量为8GB。
表1
存储技术 容量/GB 所需QL容量
SLC 8 32
MLC 8 16
TLC 6 8
QLC 200 200
如果将QLC只转化为16GB容量的SLC所需QLC容量为64GB,如下表2所示,相比于表1,需要额外消耗8GB QLC容量,虽然存储性能整体较高,但减少了存储容量,也加快了SLC的P/E cycle磨损。因此,本申请该实施例通过设置多级存储单元,在保证存储性能的基础上能够为用户提供更大的存储空间。
表2
存储技术 容量/GB 所需QL容量
SLC 16 64
MLC
TLC
QLC 192 192
需要说明的是,存储器包括但不限于UFS,还可以是其他类型的存储器,本申请实施例对此不做限定。比如,存储器还可以为PC的固态硬盘。
在一些实施例中,所述至少两种存储单元中第i存储单元的存储容量不满足预设存储容量需求时,将第i+j存储单元的存储容量转化为伪第i存储单元;其中,所述多种存储单元还包括所述伪第i存储单元,所述伪第i存储单元的存储性能低于所述第i存储单元的,且高于第i+1存储单元的,i取小于或者等于N的正整数,j取小于N的整数。
也就是说,在UFS配置好之后,若高存储性能的存储容量不够用时,还可以对低存储性能的存储单元进行存储形态转化,比如,将MLC可以转化为伪SLC(Pseudo-SLC,P-SLC),仅仅用11和00存储数据,使得MLC接近SLC存储1个bit技术;因此在性能迸发需求场景下,MLC转为伪SLC可以大幅提升性能,满足性能需求。
图7为本申请实施例中P-SLC的存储原理示意图,如图7所示,仅使用MLC 11、00来存储数据,11存储“1”,00存储“0”。
图8为本申请实施例中存储单元的存储性能分布示意图二,如图8所示,在高存储性能需求的情况下,若SLC的存储容量不够,可以将MLC转化为P-SLC使电子设备维持高存储性能。由于P-SLC的PE cycle次数是MLC的10倍,是SLC的一半,存储性能低于SLC但高于MLC,因此转化为P-SLC能够兼顾性能和PE次数。另外,SLC和P-SLC之间存储性能的降落幅度也小于SLC和MLC之间存储性能的降落幅度,本申请多级缓存方案中,采用这种转化方式可以延缓存储性能降落速度,尽量降低用户对性能降落的感知,提高产品的使用体验。
实际应用中,还可以将其他低存储性能的存储单元的部分或全部转化为高存储性能的存储单元,比如,将TLC转化为伪SLC,将QLC转化为伪SLC,将TLC转化为伪MLC,将QLC转化为伪MLC,将QLC转化为伪TLC。
步骤202:基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
具体的,基于电子设备当前性能模式,确定电子设备的存储性能需求;或者,基于电子设备当前运行应用程序,确定电子设备的存储性能需求。
实际应用中,电子设备的工作状态可以为电子设备当前工作的性能模式,比如,高性能模式、正常模式或低性能模式。通过获取电子设备当前工作的性能模式来确定电子设备的存储性能需求。比如,高性能模式对应第一存储性能需求,正常模式对应第二存储性能需求,低性能需求对应第三存储性能需求,不同存储性能需求可以通过不同的存储速度范围来区分。
实际应用中,电子设备的工作状态还可以为电子设备当前运行的应用程序,由于不同应用程序对电子设备有着高低不同的性能需求,现有的电子设备可以根据当前运行的应用程序为其提供最佳的存储性能,因此还可以通过识别电子设备当前正在运行的应用程序来确定电子设备的存储性能需求。比如,第一类应用程序对应第一存储性能需求,第二类应用程序对应第二存储性能需求,第三类应用程序对应第三存储性能需求。第一类应用程序可以为对性能要求较高的游戏类应用程序,第二类应用程序为社交类、购物类应用程序对性能和存储容量均要求不高,第三类应用程序为视频类应用程序对存储容量要求较高对性能要求不高。
步骤203:基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;
具体的,所述多种存储单元中第i存储单元的存储性能满足所述存储性能需求时,确定所述第i存储单元的使用优先级最高;其中,i取小于或者等于N的正整数。
这里,存储性能需求可以用存储性能范围来表示,当第i存储单元的存储性能位于存储性能范围之内时,确定存储性能满足存储性能需求。
进一步地,所述多种存储单元中第i存储单元的存储性能满足所述存储性能需求时,所述方法还包括:第i+j存储单元的使用优先级按照存储性能从高到低依次递减;其中,j取小于N的整数;第i-z存储单元的使用优先级按照存储性能从低到高依次递减;其中,z取小于N的整数;其中,所述第i+j存储单元的使用优先级高于或者低于所述第i-z存储单元的使用优先级。
也就是说,在确定最高使用优先级的存储单元之后,其他高性能存储单元和低性能存储单元的使用优先级都低于该存储单元,但高性能的存储单元和低性能存储单元之间的使用优先级可以根据实际需求灵活设定。
比如,针对高性能需求的场景,如游戏缓存,需要优先使用SLC,则存储单元的使用优先级可以为SLC>MLC>TLC;同时当SLC空间不够的情况下,MLC可以转化为P-SLC,仅仅用11和00存储数据,使得MLC接近SLC存储1个bit技术;在性能迸发需求场景下,MLC转为P-SLC可以大幅提升性能,满足性能需求。
针对低性能需求的场景,如视频缓存,按照基本满足用户性能需求,优先使用能够满足性能需求的低性能存储单元MLC,则存储单元的使用优先级可以为MLC>SLC>TLC,通过为不同性能需求设置匹配的存储单元使用优先级,可以均衡各个存储单元的P/E cycle磨损,避免在任何工作状态下总是最先使用SLC,SLC总是要面临最多数据量的读写,使SLC磨损严重加快耗尽速度。
步骤204:基于所述多种存储单元的多级缓存策略进行数据缓存操作。
具体的,基于所述电子设备的存储容量需求,按照所述多种存储单元的使用优先级从高到低的顺序,选择存储单元进行数据缓存操作。
实际应用中,在确定了存储单元的使用优先级之后,还需要根据电子设备实际存储容量需求选择一个或多个存储单元进行数据缓存操作。
示例性的,若使用优先级为SLC>MLC>TLC,存储容量需求<SLC、MLC、TLC,则仅选择SLC进行存储;若SLC<存储容量需求<MLC、TLC,则选择SLC+MLC进行存储;若SLC+MLC<存储容量需求<TLC,则选择SLC+MLC+TLC进行存储。
比如,进行视频缓存时,当视频大小3GB<SLC(6GB)、MLC(4GB)、TLC(54GB),SLC、MLC、TLC都可以进行视频缓存,但根据确定的使用优先级TLC>MLC>SLC,优先使用TLC缓存,基本可以满足用户看电影,不存在卡顿问题,其次使用MLC和SLC缓存。
实际应用中,在确定了存储单元的使用优先级之后,也可以无需考虑存储容量需求,按照使用优先级从高到低选择存储单元进行缓存,当前选择的存储单元存储空间不够时,直接选择次使用优先级的存储单元进行缓存。
采用上述技术方案,由于电子设备在不同工作状态下的存储需求不同,根据电子设备所处工作状态为其设置匹配的多级缓存策略,通过确定的多级缓存策略灵活配置存储单元的使用优先级,以满足其存储性能需求,避免由于存储性能需求与实际提供的存储性能不匹配造成的存储性能浪费或存储性能不佳的问题,也能平衡各级缓存的擦写(program/erase cycle,P/E)磨损均衡,且通过设置合理的多级缓存策略,也可以避免存储性能出现断崖式下降的问题。
本申请实施例中年还可以根据存储性能的需求灵活调整UFS中不同存储单元的存储容量,来实现存储性能、容量和寿命之间的平衡。如图9所示,该方法具体包括:
步骤301:获取至少一种存储性能需求对应的至少一种多级缓存策略;其中,不同多级缓存策略包括多种存储单元的不同存储容量占比;
这里,存储性能需求是指电子设备进行数据缓存时对存储单元的写入和读取速度需求,存储性能需求高时,存储单元应具备较快的写入和读取速度,存储性能需求低时,存储单元写入和读取速度无需太快。
实际应用中,存储性能需求可以根据存储单元的存储速度(包括写入速度和读取速度)量化标定,不同的存储性能需求对应不同的存储速度范围。
实际应用中,可以预先根据不同存储性能需求设置不同的多级缓存策略,不同多级缓存策略包括多种存储单元的不同存储容量占比。比如,针对高性能需求的场景,需要使用SLC,可以将TLC只转化为SLC,且保证SLC不会用尽。针对低性能需求的场景,需要使用MLC,可以将TLC只转化为MLC,且保证MLC不会用尽。
步骤302:基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
具体的,基于电子设备当前性能模式,确定电子设备的存储性能需求;或者,基于电子设备当前运行应用程序,确定电子设备的存储性能需求。
实际应用中,电子设备的工作状态可以为电子设备当前工作的性能模式,比如,高性能模式、正常模式或低性能模式。通过获取电子设备当前工作的性能模式来确定电子设备的存储性能需求。比如,高性能模式对应第一存储性能需求,正常模式对应第二存储性能需求,低性能需求对应第三存储性能需求,不同存储性能需求可以通过不同的存储速度范围来区分。
实际应用中,电子设备的工作状态还可以为电子设备当前运行的应用程序,由于不同应用程序对电子设备有着高低不同的性能需求,现有的电子设备可以根据当前运行的应用程序为其提供最佳的存储性能,因此还可以通过识别电子设备当前正在运行的应用程序来确定电子设备的存储性能需求。比如,第一类应用程序对应第一存储性能需求,第二类应用程序对应第二存储性能需求,第三类应用程序对应第三存储性能需求。第一类应用程序可以为对性能要求较高的游戏类应用程序,第二类应用程序为社交类、购物类应用程序对性能和存储容量均要求不高,第三类应用程序为视频类应用程序对存储容量要求较高对性能要求不高。
步骤303:基于所述存储性能需求,从所述至少一种多级缓存策略中确定与之匹配的多级缓存策略;
这里,根据预设的存储性能需求和多级缓存策略的对应关系,确定与电子设备当前存储性能需求匹配的多级缓存策略。
比如,第一存储性能需求对应第一多级缓存策略,第二性能需求对应第二多级缓存策略,第三性能需求对应第三多级缓存策略,不同存储性能需求可以通过不同的存储速度范围来区分。
步骤304:基于所述多级缓存策略中多种存储单元的存储容量占比,配置通用闪存存储器UFS,得到所述多种存储单元;
具体的,处理器在确定多种存储单元的存储容量占比之后,向UFS发送配置指令,UFS接受处理器的配置指令,由UFS控制器在UFS完成的存储单元的配置过程。
示例性的,按照确定的存储容量占比,将UFS的常规存储单元QLC的存储容量转化为TLC、MLC和SLC中的一种或多种;或者将UFS的常规存储单元TLC的存储容量转化为MLC和SLC中的一种或两种。
图10为本申请实施例中UFS配置示意图二,如图10所示,UFS接受处理器的指令,由UFS控制器在UFS完成的初始化配置过程。控制器按照确定的存储容量占比,将UFS的常规存储单元QLC的存储容量转化为SLC,或者将UFS的常规存储单元TLC的存储容量转化为SLC。
图11为本申请实施例中存储单元的存储性能分布示意图三,如图11所示,将TLC的存储容量转化为SLC,电子设备使用SLC进行缓存具备高存储性能。
步骤305:基于所述电子设备的存储容量需求,按照所述多种存储单元按照存储性能从高到低的顺序,选择存储单元进行数据缓存操作。
实际应用中,在根据多级缓存策略灵活配置UFS时,存储单元的使用优先级默认与存储性能的高低一致,即存储性能越高使用优先级越高,反之越低。且在配置了多个存储单元之后,还需要根据电子设备的实际存储容量需求选择一个或多个存储单元进行数据缓存操作。
实际应用中,也可以无需考虑存储容量需求,按照存储性能从高到低选择存储单元进行缓存,当前选择的存储单元存储空间不够时,再选择存储性能次之的存储单元进行缓存。
在一些实施例中,所述至少两种存储单元中第i存储单元的存储容量不满足预设存储容量需求时,将第i+j存储单元的存储容量转化为伪第i存储单元;其中,所述多种存储单元还包括所述伪第i存储单元,所述伪第i存储单元的存储性能低于所述第i存储单元的,且高于第i+1存储单元的,i取小于或者等于N的正整数,j取小于N的整数。
也就是说,在UFS配置好之后,若高存储性能的存储容量不够用时,还可以对低存储性能的存储单元进行存储形态转化,比如,将MLC可以转化为伪SLC(Pseudo-SLC,P-SLC),仅仅用11和00存储数据,使得MLC接近SLC存储1个bit技术;因此在性能迸发需求场景下,MLC转为伪SLC可以大幅提升性能,满足性能需求。
实际应用中,还可以将其他低存储性能的存储单元的部分或全部转化为高存储性能的存储单元,比如,将TLC转化为伪SLC,将QLC转化为伪SLC,将TLC转化为伪MLC,将QLC转化为伪MLC,将QLC转化为伪TLC。
采用上述技术方案,由于电子设备在不同工作状态下的存储需求不同,根据电子设备所处工作状态为其设置匹配的多级缓存策略,通过确定的多级缓存策略灵活配置存储单元,以满足其存储性能需求,避免由于存储性能需求与实际提供的存储性能不匹配造成的存储性能浪费或存储性能不佳的问题,也能平衡各级缓存的擦写(program/erasecycle,P/E)磨损均衡,且通过设置合理的多级缓存策略,也可以避免存储性能出现断崖式下降的问题。
本申请实施例中还提供了数据缓存装置,应用于电子设备,如图12所示,所述装置包括:
检测单元1201,用于基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
确定单元1202,用于基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;
处理单元1203,用于基于所述多种存储单元的多级缓存策略进行数据缓存操作。
在一些实施例中,所述多种存储单元包括至少两种存储单元;该装置还包括:控制单元(图12未示出),用于预先在通用闪存存储器UFS中按照预设的存储容量占比,配置至少两种存储单元;其中,至少两种存储单元包括存储性能从高到低的第1存储单元至第N存储单元,N取大于1的整数。
在一些实施例中,控制单元,还用于所述至少两种存储单元中第i存储单元的存储容量不满足预设存储容量需求时,将第i+j存储单元的存储容量转化为伪第i存储单元;其中,所述多种存储单元还包括所述伪第i存储单元,所述伪第i存储单元的存储性能低于所述第i存储单元的,且高于第i+1存储单元的,i取小于或者等于N的正整数,j取小于N的整数。
在一些实施例中,所述多级缓存策略包括所述多种存储单元的使用优先级。
在一些实施例中,确定单元,具体用于所述多种存储单元中第i存储单元的存储性能满足所述存储性能需求时,确定所述第i存储单元的使用优先级最高;其中,i取小于或者等于N的正整数。
在一些实施例中,确定单元,还用于所述多种存储单元中第i存储单元的存储性能满足所述存储性能需求时,第i+j存储单元的使用优先级按照存储性能从高到低依次递减;其中,j取小于N的整数;第i-z存储单元的使用优先级按照存储性能从低到高依次递减;其中,z取小于N的整数;其中,所述第i+j存储单元的使用优先级高于或者低于所述第i-z存储单元的使用优先级。
在一些实施例中,处理单元,具体用于基于所述电子设备的存储容量需求,按照所述多种存储单元的使用优先级从高到低的顺序,选择存储单元进行数据缓存操作。
在一些实施例中,装置还包括:获取单元(图12中未示出),用于获取至少一种存储性能需求对应的至少一种多级缓存策略;其中,不同多级缓存策略包括多种存储单元的不同存储容量占比;
确定单元,具体用于基于所述存储性能需求,从所述至少一种多级缓存策略中确定与之匹配的多级缓存策略;
处理单元,具体用于基于所述多级缓存策略中多种存储单元的存储容量占比,配置通用闪存存储器UFS,得到所述多种存储单元;基于所述电子设备的存储容量需求,按照所述多种存储单元按照存储性能从高到低的顺序,选择存储单元进行数据缓存操作。
在一些实施例中,所述多种存储单元包括以下至少两种:单级存储单元SLC、多级存储单元MLC、三级存储单元TLC和四级存储单元QLC。
采用上述装置,根据电子设备所处工作状态为其设置匹配的多级缓存策略,以满足其存储性能需求,避免由于存储性能需求与实际提供的存储性能不匹配造成的存储性能浪费或存储性能不佳的问题,也能平衡各级缓存的擦写(program/erase cycle,P/Ecycle)磨损均衡,且通过设置合理的多级缓存策略,也可以避免存储性能出现断崖式下降的问题。
基于上述数据缓存装置中各单元的硬件实现,本申请实施例还提供了一种电子设备,如图13所示,该电子设备包括:处理器1301和配置为存储能够在处理器上运行的计算机程序的存储器1302;
其中,处理器1301配置为运行计算机程序时,执行前述实施例中的方法步骤。
当然,实际应用时,如图13所示,该电子设备中的各个组件通过总线系统1303耦合在一起。可理解,总线系统1303用于实现这些组件之间的连接通信。总线系统1303除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图13中将各种总线都标为总线系统1303。
在实际应用中,上述处理器可以为特定用途集成电路(ASIC,ApplicationSpecific Integrated Circuit)、数字信号处理装置(DSPD,Digital Signal ProcessingDevice)、可编程逻辑装置(PLD,Programmable Logic Device)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
在示例性实施例中,本申请实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,计算机程序可由电子设备的处理器执行,以完成前述方法的步骤。
本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (12)

1.一种数据缓存方法,应用于电子设备,其特征在于,所述方法包括:
基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;
基于所述多种存储单元的多级缓存策略进行数据缓存操作。
2.根据权利要求1所述的方法,其特征在于,所述多种存储单元包括至少两种存储单元;
所述方法还包括:预先在通用闪存存储器UFS中按照预设的存储容量占比,配置至少两种存储单元;其中,至少两种存储单元包括存储性能从高到低的第1存储单元至第N存储单元,N取大于1的整数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述至少两种存储单元中第i存储单元的存储容量不满足预设存储容量需求时,将第i+j存储单元的存储容量转化为伪第i存储单元;
其中,所述多种存储单元还包括所述伪第i存储单元,所述伪第i存储单元的存储性能低于所述第i存储单元的,且高于第i+1存储单元的,i取小于或者等于N的正整数,j取小于N的整数。
4.根据权利要求2-3任一项所述的方法,其特征在于,所述多级缓存策略包括所述多种存储单元的使用优先级。
5.根据权利要求4所述的方法,其特征在于,
所述基于所述存储性能需求,确定针对多种存储单元的多级缓存策略,包括:
所述多种存储单元中第i存储单元的存储性能满足所述存储性能需求时,确定所述第i存储单元的使用优先级最高;其中,i取小于或者等于N的正整数。
6.根据权利要求5所述的方法,其特征在于,所述多种存储单元中第i存储单元的存储性能满足所述存储性能需求时,所述方法还包括:
第i+j存储单元的使用优先级按照存储性能从高到低依次递减;其中,j取小于N的整数;
第i-z存储单元的使用优先级按照存储性能从低到高依次递减;其中,z取小于N的整数;
其中,所述第i+j存储单元的使用优先级高于或者低于所述第i-z存储单元的使用优先级。
7.根据权利要求4所述的方法,其特征在于,所述基于所述多种存储单元的多级缓存策略进行数据缓存操作,包括:
基于所述电子设备的存储容量需求,按照所述多种存储单元的使用优先级从高到低的顺序,选择存储单元进行数据缓存操作。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取至少一种存储性能需求对应的至少一种多级缓存策略;其中,不同多级缓存策略包括多种存储单元的不同存储容量占比;
所述基于所述存储性能需求,确定针对多种存储单元的多级缓存策略,包括:
基于所述存储性能需求,从所述至少一种多级缓存策略中确定与所述存储性能需求匹配的多级缓存策略;
所述基于所述多种存储单元的多级缓存策略进行数据缓存操作,包括:
基于与所述存储性能需求匹配的多级缓存策略中多种存储单元的存储容量占比,配置通用闪存存储器UFS,得到所述多种存储单元;
基于所述电子设备的存储容量需求,按照所述多种存储单元按照存储性能从高到低的顺序,选择存储单元进行数据缓存操作。
9.根据权利要求1所述的方法,其特征在于,所述多种存储单元包括以下至少两种:单级存储单元SLC、多级存储单元MLC、三级存储单元TLC和四级存储单元QLC。
10.一种数据缓存装置,应用于电子设备,其特征在于,所述装置包括:
检测单元,用于基于电子设备的当前工作状态,确定所述电子设备的存储性能需求;
确定单元,用于基于所述存储性能需求,确定针对多种存储单元的多级缓存策略;其中,不同存储单元具备不同的存储性能;
处理单元,用于基于所述多种存储单元的多级缓存策略进行数据缓存操作。
11.一种电子设备,其特征在于,所述电子设备包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器配置为运行所述计算机程序时,执行权利要求1至9任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述的方法的步骤。
CN202010942800.0A 2020-09-09 2020-09-09 一种数据缓存方法、装置、电子设备及存储介质 Pending CN112162695A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010942800.0A CN112162695A (zh) 2020-09-09 2020-09-09 一种数据缓存方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010942800.0A CN112162695A (zh) 2020-09-09 2020-09-09 一种数据缓存方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112162695A true CN112162695A (zh) 2021-01-01

Family

ID=73858603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010942800.0A Pending CN112162695A (zh) 2020-09-09 2020-09-09 一种数据缓存方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112162695A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732189A (zh) * 2021-01-07 2021-04-30 Oppo广东移动通信有限公司 数据存储方法、装置、存储介质及电子设备
CN113419679A (zh) * 2021-06-18 2021-09-21 Oppo广东移动通信有限公司 存储装置、系统级芯片、电子设备及存储方法
CN113867624A (zh) * 2021-08-26 2021-12-31 深圳佰维存储科技股份有限公司 数据写入方法、装置、可读存储介质及电子设备
CN114327288A (zh) * 2021-12-31 2022-04-12 深圳忆联信息系统有限公司 Ssd剩余用户使用时间的预测方法、装置、计算机设备及存储介质
WO2024098936A1 (zh) * 2022-11-09 2024-05-16 深圳市广和通无线股份有限公司 存储方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302497A (zh) * 2015-11-24 2016-02-03 浪潮(北京)电子信息产业有限公司 一种缓存管理方法与系统
US20180081594A1 (en) * 2016-09-19 2018-03-22 Samsung Electronics Co., Ltd. Storage device and method of operating the same
CN107967121A (zh) * 2017-10-25 2018-04-27 华为技术有限公司 数据写入方法和存储设备
US20190102083A1 (en) * 2017-10-02 2019-04-04 Western Digital Technologies, Inc. Multi-level cell solid state device and method for storing data to provide cascaded data path performance
US20190377508A1 (en) * 2018-06-11 2019-12-12 Western Digital Technologies, Inc. Adjustment of storage device parameters based on workload characteristics

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302497A (zh) * 2015-11-24 2016-02-03 浪潮(北京)电子信息产业有限公司 一种缓存管理方法与系统
US20180081594A1 (en) * 2016-09-19 2018-03-22 Samsung Electronics Co., Ltd. Storage device and method of operating the same
US20190102083A1 (en) * 2017-10-02 2019-04-04 Western Digital Technologies, Inc. Multi-level cell solid state device and method for storing data to provide cascaded data path performance
CN107967121A (zh) * 2017-10-25 2018-04-27 华为技术有限公司 数据写入方法和存储设备
US20190377508A1 (en) * 2018-06-11 2019-12-12 Western Digital Technologies, Inc. Adjustment of storage device parameters based on workload characteristics

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732189A (zh) * 2021-01-07 2021-04-30 Oppo广东移动通信有限公司 数据存储方法、装置、存储介质及电子设备
CN112732189B (zh) * 2021-01-07 2024-05-10 Oppo广东移动通信有限公司 数据存储方法、装置、存储介质及电子设备
CN113419679A (zh) * 2021-06-18 2021-09-21 Oppo广东移动通信有限公司 存储装置、系统级芯片、电子设备及存储方法
CN113867624A (zh) * 2021-08-26 2021-12-31 深圳佰维存储科技股份有限公司 数据写入方法、装置、可读存储介质及电子设备
CN114327288A (zh) * 2021-12-31 2022-04-12 深圳忆联信息系统有限公司 Ssd剩余用户使用时间的预测方法、装置、计算机设备及存储介质
CN114327288B (zh) * 2021-12-31 2024-02-20 深圳忆联信息系统有限公司 Ssd剩余用户使用时间的预测方法、装置、计算机设备及存储介质
WO2024098936A1 (zh) * 2022-11-09 2024-05-16 深圳市广和通无线股份有限公司 存储方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
US10614888B2 (en) Memory system that selectively writes in single-level cell mode or multi-level cell mode to reduce program/erase cycles
CN112162695A (zh) 一种数据缓存方法、装置、电子设备及存储介质
US8332578B2 (en) Method and system to improve the performance of a multi-level cell (MLC) NAND flash memory
CN107179996B (zh) 数据存储装置和其操作方法
US8706952B2 (en) Flash memory storage device, controller thereof, and data programming method thereof
KR101989018B1 (ko) 데이터 저장 장치의 동작 방법
US9256529B2 (en) Flash memory controller
TWI438778B (zh) 用來抑制資料錯誤之方法以及相關之記憶裝置及其控制器
US9324435B2 (en) Data transmitting method, memory control circuit unit and memory storage apparatus
CN108108128A (zh) 一种混合ssd的磨损均衡方法及ssd
US10620874B2 (en) Memory management method, memory control circuit unit and memory storage apparatus
US11036429B2 (en) Memory control method, memory storage device and memory control circuit unit to determine a source block using interleaving information
US11693567B2 (en) Memory performance optimization method, memory control circuit unit and memory storage device
US11188245B2 (en) Data storage device, system, and data writing method
US10929289B2 (en) Controller, memory system and operating method thereof
US9001585B1 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN111309654B (zh) 存储装置及操作存储装置的方法
US11693767B2 (en) Performing a media management operation based on changing a write mode of a data block in a cache
US20180364934A1 (en) Adaptive throttling
US10545700B2 (en) Memory management method, memory storage device and memory control circuit unit
US9613705B1 (en) Method for managing programming mode of rewritable non-volatile memory module, and memory storage device and memory control circuit unit using the same
CN113590505A (zh) 地址映射方法、固态硬盘控制器及固态硬盘
US11144245B2 (en) Memory control method, memory storage device and memory control circuit unit
US20170277436A1 (en) Memory management method, memory storage device and memory control circuit unit
WO2013128814A1 (en) Multi-level memory, multi-level memory writing method, and multi-level memory reading method

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