一种固态硬盘垃圾回收带宽的流控方法及装置制造方法及图纸

技术编号:19744572 阅读:25 留言:0更新日期:2018-12-12 04:37
本发明专利技术提供了一种固态硬盘垃圾回收带宽的流控方法及装置,该方法包括:在进行垃圾回收时,如果调整流控时刻到达,根据当前已被占用的数据块中存储有效数据的数据块的第一数量、固态硬盘中全部数据块的第二数量、未被占用的数据块的第三数量以及第二预设算法,确定固态硬盘中当前可释放的数据块的第四数量;根据第三预设算法、第四数量以及预先保存的固态硬盘进行读写操作的第一限制带宽和预设参数,确定固态硬盘用于垃圾回收的第二限制带宽;根据第二限制带宽,对固态硬盘用于垃圾回收的带宽进行调整。本发明专利技术旨在保证固态硬盘的读写速率保持稳定情况下,获取固态硬盘进行垃圾回收时的限制带宽,并据此对用于垃圾回收的带宽进行动态调整。

【技术实现步骤摘要】
一种固态硬盘垃圾回收带宽的流控方法及装置
本专利技术涉及固态硬盘
,尤其涉及一种固态硬盘垃圾回收带宽的流控方法及装置。
技术介绍
以三层存储单元TLC颗粒为主存颗粒的动态随机存取存储DRAM-Less固态硬盘,在使用时,主要存在以下几种业务数据速率的竞争。1、在固态硬盘的起始状态时,直接将存储数据写入单层存储单元SLC的高速缓冲存储器Cache中,此时固态硬盘中只存在读写,故固态硬盘中无速率竞争。2、当SLCCache快写满时,需启动数据迁移,此时固态硬盘中即存在读写,又存在数据的迁移,故固态硬盘中主要是读写速率和数据迁移速率之间的竞争。当数据迁移完成后,又恢复到起始状态。3、当固态硬盘容量快写满时,需要对固态硬盘进行垃圾回收处理,将有效数据都整理到一起,清理出其中无效数据的容量空间。此时固态硬盘中即存在读写,又存在数据迁移,同时还存在垃圾回收,故固态硬盘中主要是读写速率、数据迁移速率以及垃圾回收速率之间的竞争。其中,目前的固态硬盘的流控方案主要针对的是消费类硬盘的使用需求,在硬盘剩余容量触发垃圾回收的条件时,为实现快速垃圾回收,达到释放出有效空间的目的,不对垃圾回收的速率进行限定,也就是不对垃圾回收的带宽进行限定。然而,在视频监控的存储中,一旦因为固态硬盘进行垃圾回收而导致其读写速率不稳定,就会引发录像丢失或者录像回放时出现卡顿的问题。所以视频监控在进行存储时,为满足其持续写入的需求,需要其读写速率不能有较大的波动。由于消费类硬盘不是实时处于读写状态,且并未对垃圾回收的带宽进行限定,因此现有的固态硬盘的流控方案中存在因未对垃圾回收的带宽进行限制,及不能根据读写速率的需求对垃圾回收的带宽进行调整,而导致的读写速率不稳定的问题。
技术实现思路
本专利技术公开了一种固态硬盘垃圾回收限制带宽的流控方法及装置,用于解决现有技术中存在的因未对固态硬盘垃圾回收的带宽进行限制,及不能根据读写速率的需求对垃圾回收的带宽进行调整,而导致的读写速率不稳定的问题。依据本专利技术的一个方面,提供了一种固态硬盘垃圾回收带宽的流控方法,所述方法包括:在进行垃圾回收时,如果调整流控时刻到达,根据当前已被占用的数据块中存储有效数据的数据页的第一页数、任一数据块所包含的数据页的第二页数以及第一预设算法,确定当前已被占用的数据块中存储有效数据的数据块的第一数量;根据固态硬盘中全部数据块的第二数量、未被占用的数据块的第三数量、所述第一数量以及第二预设算法,确定所述固态硬盘中当前可释放的数据块的第四数量;根据第三预设算法、所述第四数量以及预先保存的所述固态硬盘进行读写操作的第一限制带宽和预设参数,确定所述固态硬盘用于垃圾回收的第二限制带宽;根据所述第二限制带宽,对所述固态硬盘用于垃圾回收的带宽进行调整。由上述可知,在本专利技术方案中,当固态硬盘的垃圾回收触发后,可结合固态硬盘进行读写操作的第一限制带宽以及当前已被占用的数据块中存储有效数据的数据块的第一数量,并根据预算公式,计算获取垃圾回收时的第二限制带宽。由于上述过程中是根据固态硬盘进行读写操作的第一限制带宽,来确定所述固态硬盘用于垃圾回收的第二限制带宽,因此可优先保证固态硬盘进行读写操作时的速率不受影响,所以通过计算获取的垃圾回收时的第二限制带宽,可根据固态硬盘进行读写操作时的速率需求,对其用于垃圾回收的带宽进行限制。所以本专利技术方案能够保证在固态硬盘进行读写操作时,读写速率保持稳定的情况下,对其用于垃圾回收的带宽进行限制,并根据获取的第二限制带对其用于垃圾回收的带宽进行动态调整,避免了固态硬盘因触发垃圾回收而对读写的速率造成影响。具体地,所述根据当前已被占用的数据块中存储有效数据的数据页的第一页数、任一数据块所包含的数据页的第二页数以及第一预设算法,确定当前已被占用的数据块中存储有效数据的数据块的第一数量包括:根据公式Bvalid=Vtotal/Vblock,确定当前已被占用的数据块中存储有效数据的数据块的第一数量,其中,Bvalid表示所述第一数量,Vtotal表示所述第一页数,Vblock表示所述第二页数。数据在进行存储时,会优先存储于数据块所包含的数据页中,因此即便固态硬盘中的数据块被多次轮回覆盖,也可通过统计当前已被占用的数据块中存储有效数据的数据页的第一页数,以及任一数据块所包含的数据页的第二页数,快速准确的确定出当前已被占用的数据块中存储有效数据的数据块的第一数量。具体地,所述根据固态硬盘中全部数据块的第二数量、未被占用的数据块的第三数量、所述第一数量以及第二预设算法,确定所述固态硬盘中当前可释放的数据块的第四数量包括:根据公式BG=Btotal-Bfree-Bvalid,确定所述固态硬盘中当前可释放的数据块的第四数量,其中,BG表示所述第四数量,Bvalid表示所述第一数量,Btotal表示所述第二数量,Bfree表示所述第三数量。由于固态硬盘中全部数据块的第二数量是固定的,固态硬盘中存储有效数据的数据块的第一数量可通过计算获得,且未被占用的数据块的第三数量可直接从保存有当前Free块的计数中获取,因此即使固态硬盘被不断的实时写入,根据上述公式,也可准确的确定出固态硬盘进行垃圾回收时可释放的空间。具体地,所述根据第三预设算法、所述第四数量以及预先保存的所述固态硬盘进行读写操作的第一限制带宽和预设参数,确定所述固态硬盘进行垃圾回收时的第二限制带宽包括:根据公式确定所述固态硬盘用于垃圾回收的第二限制带宽,其中,VGlimit表示所述第二限制带宽,VIOlimit标表示所述第一限制带宽,BG表示所述第四数量,BI表示所述预设参数,且所述预设参数为触发所述固态硬盘启动垃圾回收的第一预设阈值与触发所述固态硬盘停止读写的第二预设阈值的差值。在上述公式中,表示固态硬盘触发垃圾回收后,回收当前可释放的数据块的第四数量所用的第一时间,表示固态硬盘触发垃圾回收后,到停止读写前,持续写入到该剩余容量所用的第二时间。因此若防止固态硬盘读写停止,且避免垃圾回收对读写速率有影响,则必须至少保证上述第一时间与第二时间达到平衡,并以此计算得到固态硬盘进行垃圾回收时的第二限制带宽,既能够使读写速率保持稳定,又能够以最快的速率进行垃圾回收,实现了在触发垃圾回收的情况下,提高其读写速率的稳定性。依据本专利技术的另一个方面,还提供了一种固态硬盘垃圾回收带宽的流控装置,所述装置包括:第一确定模块,用于在进行垃圾回收时,如果调整流控时刻到达,根据当前已被占用的数据块中存储有效数据的数据页的第一页数、任一数据块所包含的数据页的第二页数以及第一预设算法,确定当前已被占用的数据块中存储有效数据的数据块的第一数量;第二确定模块,用于根据固态硬盘中全部数据块的第二数量、未被占用的数据块的第三数量、所述第一数量以及第二预设算法,确定所述固态硬盘中当前可释放的数据块的第四数量;第三确定模块,用于根据第三预设算法、所述第四数量以及预先保存的所述固态硬盘进行读写操作的第一限制带宽和预设参数,确定所述固态硬盘用于垃圾回收的第二限制带宽;调整模块,用于根据所述第二限制带宽,对所述固态硬盘用于垃圾回收的带宽进行调整。具体地,所述第一确定模块,具体用于根据公式Bvalid=Vtotal/Vblock,确定当前已被占用的数据块中存储有效数据的数据块本文档来自技高网
...

【技术保护点】
1.一种固态硬盘垃圾回收带宽的流控方法,其特征在于,所述方法包括:在进行垃圾回收时,如果调整流控时刻到达,根据当前已被占用的数据块中存储有效数据的数据页的第一页数、任一数据块所包含的数据页的第二页数以及第一预设算法,确定当前已被占用的数据块中存储有效数据的数据块的第一数量;根据固态硬盘中全部数据块的第二数量、未被占用的数据块的第三数量、所述第一数量以及第二预设算法,确定所述固态硬盘中当前可释放的数据块的第四数量;根据第三预设算法、所述第四数量以及预先保存的所述固态硬盘进行读写操作的第一限制带宽和预设参数,确定所述固态硬盘用于垃圾回收的第二限制带宽;根据所述第二限制带宽,对所述固态硬盘用于垃圾回收的带宽进行调整。

【技术特征摘要】
1.一种固态硬盘垃圾回收带宽的流控方法,其特征在于,所述方法包括:在进行垃圾回收时,如果调整流控时刻到达,根据当前已被占用的数据块中存储有效数据的数据页的第一页数、任一数据块所包含的数据页的第二页数以及第一预设算法,确定当前已被占用的数据块中存储有效数据的数据块的第一数量;根据固态硬盘中全部数据块的第二数量、未被占用的数据块的第三数量、所述第一数量以及第二预设算法,确定所述固态硬盘中当前可释放的数据块的第四数量;根据第三预设算法、所述第四数量以及预先保存的所述固态硬盘进行读写操作的第一限制带宽和预设参数,确定所述固态硬盘用于垃圾回收的第二限制带宽;根据所述第二限制带宽,对所述固态硬盘用于垃圾回收的带宽进行调整。2.如权利要求1所述的方法,其特征在于,所述根据当前已被占用的数据块中存储有效数据的数据页的第一页数、任一数据块所包含的数据页的第二页数以及第一预设算法,确定当前已被占用的数据块中存储有效数据的数据块的第一数量包括:根据公式Bvalid=Vtotal/Vblock,确定当前已被占用的数据块中存储有效数据的数据块的第一数量,其中,Bvalid表示所述第一数量,Vtotal表示所述第一页数,Vblock表示所述第二页数。3.如权利要求1所述的方法,其特征在于,所述根据固态硬盘中全部数据块的第二数量、未被占用的数据块的第三数量、所述第一数量以及第二预设算法,确定所述固态硬盘中当前可释放的数据块的第四数量包括:根据公式BG=Btotal-Bfree-Bvalid,确定所述固态硬盘中当前可释放的数据块的第四数量,其中,BG表示所述第四数量,Bvalid表示所述第一数量,Btotal表示所述第二数量,Bfree表示所述第三数量。4.如权要求1所述的方法,其特征在于,所述根据第三预设算法、所述第四数量以及预先保存的所述固态硬盘进行读写操作的第一限制带宽和预设参数,确定所述固态硬盘用于垃圾回收的第二限制带宽包括:根据公式确定所述固态硬盘用于垃圾回收的第二限制带宽,其中,VGlimit表示所述第二限制带宽,VIOlimit标表示所述第...

【专利技术属性】
技术研发人员:包嵘杨超
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1