CN111522512A - 优化的冷热数据分离方法、装置、计算机设备及存储介质 - Google Patents
优化的冷热数据分离方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111522512A CN111522512A CN202010322608.1A CN202010322608A CN111522512A CN 111522512 A CN111522512 A CN 111522512A CN 202010322608 A CN202010322608 A CN 202010322608A CN 111522512 A CN111522512 A CN 111522512A
- Authority
- CN
- China
- Prior art keywords
- cold
- received command
- currently received
- gear
- hot
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种优化的冷热数据分离方法、装置、计算机设备及存储介质,其中方法包括以下步骤:接收下发的主机应用程序生成的多个命令;根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;更新当前接收到的命令所应访问的簇的管理信息;判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同;若是,则将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位;将当前接收到的命令的最后一个LBA地代替所述遗留LBA地址的原有地址。本发明通过引入的遗留LBA地址和遗留档位,从而解决了现有技术中一个应用程序的多个命令被识别成多个冷热档位的问题。
Description
技术领域
本发明涉及固态硬盘领域,更具体地说是一种优化的冷热数据分离方法、装置、计算机设备及存储介质。
背景技术
运用NAND闪存介质存储数据的SSD(固态硬盘)在服务器和数据中心业务中占据的地位越来越高。
在上述应用环境中主机端可能会有多个应用程序将数据写入SSD,不同应用程序的数据流具有不同的冷热属性(刷新频率),每个应用程序的数据可能会被主机拆分成多个命令发给SSD,而且不同应用程序的命令会互相交叉在一起发往SSD。
现有技术中将SSD中整个连续的LBA(Logical Block Address)区段分成N个簇,根据主机访问该簇的频率定义每个簇数据的冷热档位,并将数据写入到SSD缓存中对应的数据池中,不同的数据池中数据将会大概率写入到不同的闪存物理块,以此来大大降低垃圾回收的触发概率,提升SSD的性能和寿命,但是现有技术的这个方式的分离冷热数据的方法是有瑕疵的,特别是在主机顺序写的场景下可能会出现同一个主机应用程序的数据流却被SSD识别成多个冷热档位,然而既然是同一个主机应用程序那么它的整个数据流应该是相同的冷热档位,因此现有技术的分离冷热数据的方法是存在缺陷的。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种优化的冷热数据分离方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:
第一方面,优化的冷热数据分离方法,所述方法包括:
接收下发的主机应用程序生成的多个命令;
根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;
更新当前接收到的命令所应访问的簇的管理信息;
判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同;
若是,则将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位;
将当前接收到的命令的最后一个LBA地代替所述遗留LBA地址的原有地址。
其进一步技术方案为:所述判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同的步骤之后,还包括以下步骤:
若否,则计算出当前接收到的命令所应对应的冷热档位;
将计算出的当前接收到的命令的冷热档位代替所述遗留档位的原有档位。
其进一步技术方案为:所述更新当前接收到的命令所应访问的簇的管理信息的步骤中,所述管理信息包括访问次数、访问间隔以及时间戳。
第二方面,优化的冷热数据分离装置,所述装置包括接收单元、第一计算单元、更新单元、判断单元、设置单元以及遗留LBA地址更替单元;
所述接收单元,用于接收下发的主机应用程序生成的多个命令;
所述第一计算单元,用于根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;
所述更新单元,用于更新当前接收到的命令所应访问的簇的管理信息;
所述判断单元,用于判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同;
所述设置单元,用于将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位;
所述遗留LBA地址更替单元,用于将当前接收到的命令的最后一个LBA地代替所述遗留LBA地址的原有地址。
其进一步技术方案为:所述装置还包括第二计算单元以及遗留档位更替单元;
所述第二计算单元,用于计算出当前接收到的命令所应对应的冷热档位;
所述遗留档位更替单元,用于将计算出的当前接收到的命令的冷热档位代替所述遗留档位的原有档位。
其进一步技术方案为:所述管理信息包括访问次数、访问间隔以及时间戳。
第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的优化的冷热数据分离方法步骤。
第四方面,一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如上述的优化的冷热数据分离方法步骤。
本发明与现有技术相比的有益效果是:本发明提供的优化的冷热数据分离方法、装置、计算机设备及存储介质,通过引入的遗留LBA地址和遗留档位,当是顺序写命令访问到同一个簇时,则这些写命令会自动归为同一个冷热档位,从而解决了现有技术中一个应用程序的多个命令被识别成多个冷热档位的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。
附图说明
图1为现有技术中主机端的不同冷热程度的应用程序发往SSD的过程示意图;
图2为现有技术中不同冷热程度的数据通过冷热数据分离模块处理之后发往SSD的流程图;
图3为现有技术中不同冷热程度的数据从SSD缓存写入SSD闪存的过程示意图;
图4为现有技术中冷热数据分离模块工作过程的示意图一;
图5为现有技术中冷热数据分离模块工作过程的示意图二;
图6为现有技术中冷热数据分离模块工作过程的示意图三;
图7为多个命令经过SSD后簇3管理单元信息的变化和对应的冷热档位的表格;
图8为本发明优化的冷热数据分离方法具体实施例的流程图;
图9为本发明优化的冷热数据分离方法具体实施例的结构示意性框图;
图10为本发明一种计算机设备的示意性框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明提供了一种优化的冷热数据分离方法,该方法是在现有的冷热数据分离方法的基础上进行优化的方案,下面将会介绍现有技术的冷热数据分离方法的构思过程,以及本发明技术方案的构思过程,其中,介绍现有技术的冷热数据分离方法的构思过程的目的是为了能够更好的理解本发明的技术方案。下面首先介绍现有技术的冷热数据分离方法的构思过程。
在主机向SSD发送文件的过程中,主机端不同应用程序的数据(冷热程度不同)会交叉发往SSD,如果没有冷热数据分离技术,则SSD会按照主机下发命令(命令描述了一段连续的LBA,每个LBA携带512B的数据)顺序将数据依次缓存在SSD缓存中,参见图1中第1步。假设一个物理块由4个物理页组成,每个物理页为512B,待SSD缓存满了后将缓存中数据下刷到闪存的物理块中,参见图1中第2步,可以看出物理块1中存储了应用程序1和2的部分数据,物理块2也是如此。由于应用程序1是热数据,刷新频率比较高,所以后续主机复写应用程序1后,它的新数据(LBA0~LBA3)被写到物理块3中,之前写在物理块1和2中的旧数据被无效掉,参见图1中第3步。又由于闪存的特性:1、物理页为最小的读写单元;2、物理块为最小的擦除单元:3、物理块整体擦除后才能进行写入操作;4、物理块具有有限的擦除次数,即有限的数据写入总量;因此,如果此时闪存上可用的物理块不够用了,则SSD内部会启动垃圾回收任务,先将物理块1和2中有效的物理页数据(LBA8~LBA11)搬移到新的物理块4中,参见图1中第4步,注意,这一步其实是SSD在做额外的读写操作,不仅会大大降低此时主机的读写性能,还会产生写放大,降低闪存的总体寿命。
为了降低垃圾回收触发的几率,在现有技术中又采用了以下介绍的方法来实现,具体方法是:1、在SSD的缓存模块之前设计一个冷热数据分离模块,该模块的功能是识别出主机下发数据的冷热程度(固件可以预设将主机的数据冷热分为N档,本示例中N等于2),档位越高表示数据越热,如图2中所示,应用程序1的数据为热数据,档位为1档,应用程序2的数据为冷数据,档位为0档。2、SSD缓存建立N(本示例中N等于2)个数据池,每个数据池存储对应冷热档位的数据,如图2中,1档的数据缓存到数据池1,0档的数据缓存到数据池0。通过上述两点,便可将主机的冷热数据在SSD缓存模块进行有效分离,待SSD缓存满了之后首先将数据池0中冷数据刷到闪存的物理块,如此冷数据就能聚集在一起写到物理块1,然后将数据池1中热数据聚集在一起写到物理块2,如图3所示,后续主机应用层复写应用程序1(热数据),最终新数据在物理块3中,见图3,而旧数据所在的物理块2中数据全都无效掉,可以直接擦除,无需启动垃圾回收机制,从而可以大大提升SSD性能。
由于上述两点的第二点也很容易在SSD中实现,所以这里不多赘述,那么接下来详细讲解核心思想的第一点:冷热数据分离模块如何进行冷热数据的分离。
如图4,主机访问SSD的最小单元是LBA,整个SSD对主机而言可以抽象成图4中一群连续的LBA,主机发送的命令包含了起始LBA和LBA数目来告知SSD主机想访问LBA区段。SSD再将所有LBA从逻辑上切割成一个个簇,每个簇包含M个LBA,本示例中假设M等于4(实际使用中M远远大于4),为每个簇设置一个管理单元,管理单元包含的管理信息有:1、访问次数(C),表示主机总共访问该簇的次数,命令的起始LBA落在该簇的LBA区段即视为访问一次。2、访问间隔(R),表示本次访问距上次访问在时间上间隔了多久,单位为毫秒。3、时间戳(T),表示上次访问的时间点,用来计算本次访问间隔(R)。
上述三个管理信息暗示了该簇的冷热程度,因为直观上感觉在单位时间内访问的次数越多,表示该簇存储的数据越热,在实现上需要将这两个信息通过函数F(C,R)映射到冷热档位,如图4所示,决策一个写命令(数据)的冷热档位的流程如下:
第一步:主机发起写命令,LBA区段为[LBA_S,LBA_E),
第二步:SSD接收到该命令,计算出LBA_S对应簇的编号#Num,
第三步:将编号为#Num的簇管理中C=C+1;R=当前时间-T;T=当前时间,
第四步:定义编号为#Num的簇的数据更新频率为f(Num)=C/R,则冷热档位=F(C,R)=[f(Num)–f(min)]/{[f(max)–f(min)]/N+1},其中f(max)表示所有簇中数据更新频率最高值,f(min)表示所有簇中数据更新频率最低值。
由上述的步骤便可计算出该写命令的冷热档位。
假设应用程序0(LBA0~3)是热数据且对应到SSD的簇1,应用程序1(LBA8~11)是冷数据且对应到SSD的簇3,为了方便描述,再假设应用程序0数据写入SSD频率是每秒8次,而应用程序1写入SSD的频率是每秒2次,那么根据上述算法流程,1秒后,SSD中簇0和簇1的管理信息如图5所示,当应用程序0下一次发送命令到SSD时,簇0管理信息中C=6,R=125ms,则F(C,R)=1档,则将数据写入到SSD缓存的数据池1。同样原理,当应用程序1下一次发送命令到SSD时,计算出的冷热档位=0档,则将数据写入到数据池0。
根据现有技术的思路,假设SSD的簇管理信息如图6所示,簇1的C=5,R=125ms,T=875ms;簇3的C=2,R=500ms,T=500ms,之后主机的应用程序1(LBA8~11)进行复写,而且是分成4个命令:(LBA8,LBA9),(LBA9,LBA10),(LBA10,LBA11),(LBA11,LBA12)以每秒8次的频率下发至SSD,那么四个命令经过SSD后簇3管理单元信息的变化和对应的冷热档位结果(根据现有技术中F(C,R)计算)如图7的表格所示,可以看出同属于一个主机应用程序的数据在SSD中却被计算成两种冷热档位,之后这些数据将会被存储到SSD缓存的不同数据池中,最后存储到不同的闪存物理块,这会增加垃圾回收的触发几率。
综上,从现有的冷热数据分离模块进行冷热数据分离的方法可知,现有技术只考虑到了将命令的LBA_S所在的簇作为该命令数据的冷热档位,这在主机命令顺序写场景下,一个应用程序的数据可能被识别成多个冷热档位,然而既然是同一个主机应用程序,那么它的整个数据流应该是属于相同的冷热档位才是,所以现有技术在冷热数据分离处理上是存在缺陷的。
为了解决现有技术中通过冷热数据分离模块进行冷热数据分离的方法仍然存在缺陷的问题,本发明便提出了一种优化的冷热数据分离方法,本发明引入了遗留LBA地址和遗留档位,其中遗留LBA地址是表示上一写命令的最后LBA地址,遗留档位表示上一个写命令的冷热档位。当是顺序写命令访问到同一个簇时,则这些写命令会自动归为同一个冷热档位,从而解决了现有技术中一个应用程序的多个命令被识别成多个冷热档位的问题。请参见图8,本发明提出的方法具体包括以下步骤:
S10、接收下发的主机应用程序生成的多个命令;
S20、根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;
S30、更新当前接收到的命令所应访问的簇的管理信息;
S40、判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同,若是,S70、则将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位,并进入步骤S80,若否,S50、则计算出当前接收到的命令所应对应的冷热档位,并进入步骤S60;
S60、将计算出的当前接收到的命令的冷热档位代替遗留档位的原有档位;
S80、将当前接收到的命令的最后一个LBA地代替遗留LBA地址的原有地址。
步骤S30中,更新当前接收到的命令所应访问的簇的管理信息的步骤中,管理信息包括访问次数、访问间隔以及时间戳。
从本发明的技术方案可知,当是顺序写命令访问到同一个簇时,则这些写命令会自动归为同一个冷热档位,从而解决了现有技术中一个应用程序的多个命令被识别成多个冷热档位的问题。例如,主机向SSD下发了一个应用程序(LBA8~LBA11),而且是分成4个命令:(LBA8,LBA9),(LBA9,LBA10),(LBA10,LBA11),(LBA11,LBA12)进行下发,那么,当第一个命令(LBA8,LBA9)下发完成之后,下发第二个命令(LBA9,LBA10),由于第二个命令的第一个LBA地址(即LBA9)与设定的遗留LBA地址(遗留LBA地址表示上一写命令的最后LBA地址,上一个写命令的最后LBA地址为LBA9)相同,所以,第二命令的冷热档位将保持与第一命令相同的冷热档位,从而解决了现有技术中一个应用程序的多个命令被识别成多个冷热档位的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上述的优化的冷热数据分离方法,本发明还提供了一种优化的冷热数据分离装置,请参考图9,该装置包括接收单元1、第一计算单元2、更新单元3、判断单元4、设置单元5、遗留LBA地址更替单元6、第二计算单元7以及遗留档位更替单元8;
接收单元1,用于接收下发的主机应用程序生成的多个命令;
第一计算单元2,用于根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;
更新单元3,用于更新当前接收到的命令所应访问的簇的管理信息;
判断单元4,用于判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同;
设置单元5,用于将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位;
遗留LBA地址更替单元6,用于将当前接收到的命令的最后一个LBA地代替遗留LBA地址的原有地址;
第二计算单元7,用于计算出当前接收到的命令所应对应的冷热档位;
遗留档位更替单元8,用于将计算出的当前接收到的命令的冷热档位代替遗留档位的原有档位。
管理信息包括访问次数、访问间隔以及时间戳。
如图10所示,本发明还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的优化的冷热数据分离方法步骤。
该计算机设备700可以是终端或服务器。该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种优化的冷热数据分离方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种优化的冷热数据分离方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
接收下发的主机应用程序生成的多个命令;
根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;
更新当前接收到的命令所应访问的簇的管理信息;
判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同;
若是,则将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位;
将当前接收到的命令的最后一个LBA地代替所述遗留LBA地址的原有地址。
其进一步技术方案为:所述判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同的步骤之后,还包括以下步骤:
若否,则计算出当前接收到的命令所应对应的冷热档位;
将计算出的当前接收到的命令的冷热档位代替所述遗留档位的原有档位。
其进一步技术方案为:所述更新当前接收到的命令所应访问的簇的管理信息的步骤中,所述管理信息包括访问次数、访问间隔以及时间戳。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图10中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明中各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (8)
1.优化的冷热数据分离方法,其特征在于,所述方法包括:
接收下发的主机应用程序生成的多个命令;
根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;
更新当前接收到的命令所应访问的簇的管理信息;
判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同;
若是,则将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位;
将当前接收到的命令的最后一个LBA地代替所述遗留LBA地址的原有地址。
2.根据权利要求1所述的优化的冷热数据分离方法,其特征在于,所述判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同的步骤之后,还包括以下步骤:
若否,则计算出当前接收到的命令所应对应的冷热档位;
将计算出的当前接收到的命令的冷热档位代替所述遗留档位的原有档位。
3.根据权利要求2所述的优化的冷热数据分离方法,其特征在于,所述更新当前接收到的命令所应访问的簇的管理信息的步骤中,所述管理信息包括访问次数、访问间隔以及时间戳。
4.优化的冷热数据分离装置,其特征在于,所述装置包括接收单元、第一计算单元、更新单元、判断单元、设置单元以及遗留LBA地址更替单元;
所述接收单元,用于接收下发的主机应用程序生成的多个命令;
所述第一计算单元,用于根据当前接收到的命令的第一个LBA地址计算当前接收到的命令所应访问的簇;
所述更新单元,用于更新当前接收到的命令所应访问的簇的管理信息;
所述判断单元,用于判断当前接收到的命令的第一个LBA地址是否与设定的遗留LBA地址相同;
所述设置单元,用于将当前接收到的命令的冷热档位设为与遗留档位相同的冷热档位;
所述遗留LBA地址更替单元,用于将当前接收到的命令的最后一个LBA地代替所述遗留LBA地址的原有地址。
5.根据权利要求4所述的优化的冷热数据分离装置,其特征在于,所述装置还包括第二计算单元以及遗留档位更替单元;
所述第二计算单元,用于计算出当前接收到的命令所应对应的冷热档位;
所述遗留档位更替单元,用于将计算出的当前接收到的命令的冷热档位代替所述遗留档位的原有档位。
6.根据权利要求5所述的优化的冷热数据分离装置,其特征在于,所述管理信息包括访问次数、访问间隔以及时间戳。
7.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~3中任意一项所述的优化的冷热数据分离方法步骤。
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如权利要求1~3任意一项所述的优化的冷热数据分离方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010322608.1A CN111522512B (zh) | 2020-04-22 | 2020-04-22 | 优化的冷热数据分离方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010322608.1A CN111522512B (zh) | 2020-04-22 | 2020-04-22 | 优化的冷热数据分离方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522512A true CN111522512A (zh) | 2020-08-11 |
CN111522512B CN111522512B (zh) | 2023-08-08 |
Family
ID=71903454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010322608.1A Active CN111522512B (zh) | 2020-04-22 | 2020-04-22 | 优化的冷热数据分离方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522512B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022262623A1 (zh) * | 2021-06-16 | 2022-12-22 | 华为技术有限公司 | 一种数据交换方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592678A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于动态窗口管理的磨损均衡方法及装置 |
CN105677242A (zh) * | 2015-12-31 | 2016-06-15 | 杭州华为数字技术有限公司 | 冷热数据的分离方法和装置 |
CN110515550A (zh) * | 2019-08-21 | 2019-11-29 | 深圳忆联信息系统有限公司 | 一种sata固态硬盘冷热数据分离的方法及其装置 |
US20210096777A1 (en) * | 2018-07-18 | 2021-04-01 | Shenzhen Dapu Microelectronics Co., Ltd. | Method for predicting lba information, and ssd |
-
2020
- 2020-04-22 CN CN202010322608.1A patent/CN111522512B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592678A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于动态窗口管理的磨损均衡方法及装置 |
CN105677242A (zh) * | 2015-12-31 | 2016-06-15 | 杭州华为数字技术有限公司 | 冷热数据的分离方法和装置 |
US20210096777A1 (en) * | 2018-07-18 | 2021-04-01 | Shenzhen Dapu Microelectronics Co., Ltd. | Method for predicting lba information, and ssd |
CN110515550A (zh) * | 2019-08-21 | 2019-11-29 | 深圳忆联信息系统有限公司 | 一种sata固态硬盘冷热数据分离的方法及其装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022262623A1 (zh) * | 2021-06-16 | 2022-12-22 | 华为技术有限公司 | 一种数据交换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111522512B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049397B (zh) | 一种基于相变存储器的固态硬盘内部缓存管理方法及系统 | |
US9292434B2 (en) | Method and apparatus for restoring flash translation layer (FTL) in non-volatile storage device | |
US9146877B2 (en) | Storage system capable of managing a plurality of snapshot families and method of snapshot family based read | |
EP2605142B1 (en) | Lba bitmap usage | |
US7089391B2 (en) | Managing a codec engine for memory compression/decompression operations using a data movement engine | |
KR101813786B1 (ko) | Ssd 상의 기록-시-복사를 위한 시스템 및 방법 | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
TWI501081B (zh) | 一種基於行進策略的平均磨損方法 | |
CN111666044B (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
US8825946B2 (en) | Memory system and data writing method | |
CN103797470A (zh) | 存储系统 | |
WO2001088720A2 (en) | System and method for high-speed substitute cache | |
CN111324303A (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN109086141B (zh) | 内存管理方法和装置以及计算机可读存储介质 | |
Lee et al. | ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework | |
CN111158602A (zh) | 数据分层存储方法、读取方法、存储主机及存储系统 | |
CN113568582A (zh) | 数据管理方法、装置和存储设备 | |
CN109491605A (zh) | 一种基于cow的数据存储方法、装置和介质 | |
CN107846327A (zh) | 一种网管性能数据的处理方法及装置 | |
CN118312102A (zh) | Io请求处理方法、装置、存储设备及存储介质 | |
CN111522512B (zh) | 优化的冷热数据分离方法、装置、计算机设备及存储介质 | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
CN116974491A (zh) | 固态硬盘的存储优化方法、装置、计算机设备及存储介质 | |
CN109634874A (zh) | 一种数据处理方法、装置、电子设备及存储系统 | |
CN115543859A (zh) | 多分区ssd的磨损均衡优化方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |