损耗均衡处理方法和系统以及固态硬盘.pdf

上传人:Y94****206 文档编号:975981 上传时间:2018-03-22 格式:PDF 页数:11 大小:431.15KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010257491.X

申请日:

2010.08.16

公开号:

CN102375693A

公开日:

2012.03.14

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 3/06申请公布日:20120314|||著录事项变更IPC(主分类):G06F 3/06变更事项:申请人变更前:成都市华为赛门铁克科技有限公司变更后:华为数字技术(成都)有限公司变更事项:地址变更前:611731 四川省成都市高新区西部园区清水河片区变更后:611731 四川省成都市高新区西部园区清水河片区|||实质审查的生效IPC(主分类):G06F 3/06申请日:20100816|||公开

IPC分类号:

G06F3/06; G11C7/10

主分类号:

G06F3/06

申请人:

成都市华为赛门铁克科技有限公司

发明人:

杨继涛; 张琴; 柯乔; 李欣

地址:

611731 四川省成都市高新区西部园区清水河片区

优先权:

专利代理机构:

北京同立钧成知识产权代理有限公司 11205

代理人:

刘芳

PDF下载: PDF下载
内容摘要

本发明实施例提供一种损耗均衡处理方法和系统以及固态硬盘,方法包括:将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。本发明实施例可以实现全盘均衡。

权利要求书

1: 一种损耗均衡处理方法, 其特征在于, 包括 : 当满足损耗均衡触发条件时, 将第一并发通路对应的逻辑块号 LBN 上的数据搬移到与 第二并发通路对应的 LBN 上, 并将所述第二并发通路对应的 LBN 上的数据搬移到第三并发 通路对应的 LBN 上, 以此类推, 直到将最后一个并发通路对应的 LBN 上的数据搬移到所述第 一并发通路对应的 LBN 上。
2: 根据权利要求 1 所述的损耗均衡处理方法, 其特征在于, 所述将第一并发通路对应 的逻辑块号 LBN 上的数据搬移到与第二并发通路对应的 LBN 上, 并将所述第二并发通路对 应的 LBN 上的数据搬移到第三并发通路对应的 LBN 上, 以此类推, 直到将最后一个并发通路 对应的 LBN 上的数据搬移到所述第一并发通路对应的 LBN 上, 包括 : 将第 a1 个并发通路对应的第 n 个 LBN 上的数据搬移到第 a2 个并发通路对应的第 n+1 个 LBN 上, 并将第 a2 个并发通路对应的第 n+1 个 LBN 上的数据搬移到第 a3 个并发通路对应 的第 n+2 个 LBN 上, 直到将第 aK-1 个并发通路对应的第 N-1 个 LBN 上的数据搬移到第 a1 个 并发通路对应的第 n 个 LBN 上为止, 其中, n = 0 ~ N-1, a1 = nmodK, K 为并发通路总数, N 为 LBN 的总数, a2 = (n+1)modK, a3 = (n+2)modK。
3: 根据权利要求 1 或 2 所述的损耗均衡处理方法, 其特征在于, 所述满足损耗均衡触发 的条件包括 : 当确定在主机 I/O 接口上没有读写操作, 或者, 当确定到达触发均衡处理的时间。
4: 根据权利要求 1 或 2 所述的损耗均衡处理方法, 其特征在于, 每个 LBN 包括至少一个 逻辑块地址 LBA。
5: 根据权利要求 1 或 2 所述的损耗均衡处理方法, 其特征在于, 所述并发通路包括通道 和片选。
6: 一种固态硬盘, 其特征在于, 包括 : 存储控制器和存储单元, 所述存储控制器包括 : 判断单元, 用于判断是否满足损耗均衡触发条件 ; 执行单元, 用于当满足损耗均衡触发条件时, 将第一并发通路对应的逻辑块号 LBN 上 的数据搬移到与第二并发通路对应的 LBN 上, 并将所述第二并发通路对应的 LBN 上的数据 搬移到第三并发通路对应的 LBN 上, 以此类推, 直到将最后一个并发通路对应的 LBN 上的数 据搬移到所述第一并发通路对应的 LBN 上, 其中, 所述 LBN 上的数据存储于存储单元中 ; 所述存储单元, 用于存储数据。
7: 根据权利要求 6 所述的固态硬盘, 其特征在于, 所述执行单元, 具体用于当满足损耗 均衡触发条件时, 将第 a1 个并发通路对应的第 n 个 LBN 上的数据搬移到第 a2 个并发通路对 应的第 n+1 个 LBN 上, 并将第 a2 个并发通路对应的第 n+1 个 LBN 上的数据搬移到第 a3 个并 发通路对应的第 n+2 个 LBN 上, 直到将第 aK-1 个并发通路对应的第 N-1 个 LBN 上的数据搬 移到第 a1 个并发通路对应的第 n 个 LBN 上为止, 其中, n = 0 ~ N-1, a1 = nmodK, K 为并发 通路总数, N 为 LBN 的总数, a2 = (n+1)modK, a3 = (n+2)modK。
8: 根据权利要求 6 或 7 所述的固态硬盘, 其特征在于, 所述判断单元具体用于在主机输 入输出接口上没有读写操作, 或者, 到达触发均衡处理的时间时, 判断得到满足损耗均衡触 发条件。
9: 根据权利要求 6 或 7 所述的固态硬盘, 其特征在于, 所述存储控制器处理的每个 LBN 2 包括至少一个逻辑块地址 LBA。
10: 一种损耗均衡处理系统, 其特征在于, 包括权利要求 6 ~ 9 中任一权利要求所述的 固态硬盘。

说明书


损耗均衡处理方法和系统以及固态硬盘

    【技术领域】
     本发明实施例涉及存储技术领域, 尤其涉及一种损耗均衡处理方法和系统以及固态硬盘。 背景技术 固态硬盘 (Solid State Disk, 以下简称 : SSD) 由于具有突出的 IO 能力而被广泛 采用。SSD 为达到高性能要求, 一般采用多并发架构, 即将数据通路根据采用的 Flash 颗粒 同时下发数据。由于 Flash 颗粒的可擦写次数有限, 而且有些 Flash 颗粒上的热点数据擦 写较为频繁, 有些 Flash 颗粒上的非热点数据长期不进行擦写, 因此导致 Flash 颗粒的损耗 不均衡, 影响了 SSD 的使用寿命。
     为了均衡 Flash 颗粒的损耗, 现有技术中所采用的静态均衡, 是将长期不修改的 数据, 如操作系统, 做强制搬移, 从而均衡 Flash 颗粒的损耗。在将该静态均衡应用在并发 架构下时, Flash 颗粒上的数据能够进行强制搬移, 从而在各通路内部实现损耗均衡。
     在实现本发明过程中, 发明人发现现有技术中至少存在如下问题 : 现有的静态均 衡无法实现全盘均衡, 从而无法彻底解决 Flash 颗粒上的损耗均衡问题。
     发明内容
     本发明实施例提供一种损耗均衡处理方法和系统以及固态硬盘, 以实现全盘均衡。 本发明实施例提供一种损耗均衡处理方法, 包括 :
     当满足损耗均衡触发条件时, 将第一并发通路对应的逻辑块号 LBN 上的数据搬移 到与第二并发通路对应的 LBN 上, 并将所述第二并发通路对应的 LBN 上的数据搬移到第三 并发通路对应的 LBN 上, 以此类推, 直到将最后一个并发通路对应的 LBN 上的数据搬移到所 述第一并发通路对应的 LBN 上。
     本发明实施例提供一种固态硬盘, 包括 : 存储控制器和存储单元,
     所述存储控制器包括 :
     判断单元, 用于判断是否满足损耗均衡触发条件 ;
     执行单元, 用于当满足损耗均衡触发条件时, 将第一并发通路对应的逻辑块号 LBN 上的数据搬移到与第二并发通路对应的 LBN 上, 并将所述第二并发通路对应的 LBN 上的数 据搬移到第三并发通路对应的 LBN 上, 以此类推, 直到将最后一个并发通路对应的 LBN 上的 数据搬移到所述第一并发通路对应的 LBN 上, 其中, 所述 LBN 上的数据存储于存储单元中 ;
     所述存储单元, 用于存储数据。
     本发明实施例提供一种损耗均衡处理系统, 包括上述固态硬盘。
     本发明实施例可以按照并发通路的并发特性移动, 实现全盘均衡, 并且在进行全 盘均衡时, 各个通道之间不会造成数据的聚合, 从而不会影响并发性, 而且, 通过调整 1 个 LBN 包括的 LBA 的数量, 使得每次移动的数据量是可控的。
     附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图是本发 明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以 根据这些附图获得其他的附图。
     图 1 为本发明损耗均衡处理方法一个实施例的流程图 ;
     图 2 为本发明损耗均衡处理方法另一个实施例的流程图 ;
     图 3 为 16 路并发通道的结构示意图 ;
     图 4 为本发明固态硬盘一个实施例的结构示意图。
     具体实施方式
     为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发明实施例 中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是 本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
     图 1 为本发明损耗均衡处理方法一个实施例的流程图, 如图 1 所示, 本实施例的方 法可以包括 :
     步骤 101、 当满足损耗均衡触发条件时, 将第一并发通路对应的逻辑块号 LBN 上的 数据搬移到与第二并发通路对应的 LBN 上。
     其中, 并发通路对应的逻辑块号 LBN 上的数据包括 : 逻辑块号 LBN 所指向的、 存储 于存储单元位置上的数据。
     步骤 102、 将所述第二并发通路对应的 LBN 上的数据搬移到第三并发通路对应的 LBN 上, 以此类推, 直到将最后一个并发通路对应的 LBN 上的数据搬移到所述第一并发通路 对应的 LBN 上。
     具 体 来 说, 在 进 行 全 盘 均 衡 时, 存 储 单 元 上 可 用 的 逻 辑 块 地 址 (LogicBlock Address, 以下简称 : LBA) 可以根据需要划分为逻辑块号 (Logic BlockNumber, 以下简称 : LBN), 且 1 个 LBN 可以至少包括 1 个 LBA。当满足触发条件开始均衡时, 存储控制器可以从 映射表中选取一组连续的 LBN。 然后, 将选取的一组 LBN 对应的数据依次挪向下一个并发通 路。
     举例来说, 假设共有 16 个并发通路, LBN1, LBN2, ......, LBN16 上的数据依次来自 并发通路 0, 1, ......, 15, 则存储控制器可以控制存储单元将并发通路 0 对应的 LBN1 上的 数据挪向并发通路 1 对应的 LBN2 上, 将并发通路 1 对应的 LBN2 上的数据挪向并发通路 2 对应的 LBN3 上, ......, 将并发通路 15 对应的 LBN16 上的数据挪向并发通路 0 对应的 LBN1 上。以此类推, 直至选取的所有 LBN 上的数据都按照并发通路的并发特性挪动过一次以后 完成一轮全盘均衡。或者 LBN1 ~ LBN8 上的数据依次来自并发通路 0 ~ 7, LBN9 ~ LBN16 上的数据依次来自并发通路 8 ~ 15, 则采用本发明实施例的方法后, LBN9 ~ LBN15 上的数 据可以搬移到并发通路 9 ~ 15 对应的 LBN10 ~ LBN16 上, 并发通路 15 对应的 LBN16 上的 数据可以搬移到并发通路 0 对应的 LBN1 上, 而并发通路 0 ~ 7 对应的 LBN1 ~ LBN8 上的数据则搬移到并发通路 1 ~ 8 对应的 LBN2 ~ LBN9 上。
     需要说明的是, 在本实施例及其他实施例中, 作为数据搬移的起始通路并不局限 于在排列顺序为第一的并发通路, 可以从任何一个通路开始, 只要是按照本方法进行依次 搬移皆可。例如, 在上述 16 个并发通路, LBN1, LBN2, ......, LBN16 中, 可以把 LBN1 作为最 先执行数据搬移的通路, 此时 LBN1 即是第一通路, 也可以把 LBN3 作为最先执行数据搬移的 通路, 此时 LBN3 就是第一通路。
     本实施例可以按照并发通路的并发特性, 在各个并发通路之间进行数据均衡而非 仅在并发通路内部进行数据均衡, 从而可以实现全盘均衡而非现有技术的局部均衡。在进 行全盘均衡时, 各个并发通路之间不会造成数据的聚合, 从而不会影响并发性, 而且, 通过 调整 1 个 LBN 包括的 LBA 的数量, 使得每次移动的数据量是可控的。进一步地, 本实施例还 可以根据当前主机 I/O 是否有操作或者均衡周期是否到达等情况来灵活确定是否满足进 行损耗均衡的触发条件, 从而减少对存储单元的存储性能的影响。
     图 2 为本发明损耗均衡处理方法另一个实施例的流程图, 如图 2 所示, 本实施例的 方法可以包括 :
     步骤 201、 将第 a1 个并发通路对应的第 n 个 LBN 上的数据搬移到第 a2 个并发通路 对应的第 n+1 个 LBN 上。 步骤 202、 将第 a2 个并发通路对应的第 n+1 个 LBN 上的数据搬移到第 a3 个并发通 路对应的第 n+2 个 LBN 上, 直到将第 aK-1 个并发通路对应的第 N-1 个 LBN 上的数据搬移到 第 a1 个并发通路对应的第 n 个 LBN 上为止, 其中, n = 0 ~ N-1, a1 = nmodK, K 为并发通路 总数, N 为 LBN 的总数, a2 = (n+1)modK, a3 = (n+2)modK。
     具体来说, SSD 可以由依次连接的接口、 存储控制器以及存储单元构成。其中, 接 口用于收发数据与命令, 存储控制器用于完成整个 SSD 的控制与相关策略的实施, 如垃圾 回收, 损耗均衡, 数据调度, cache 管理等, 存储单元用于存储数据。
     在进行损耗均衡处理时, 存储控制器可以触发存储单元进行全盘均衡。在本实施 例中, SSD 可以采用并发架构, 根据不同的并发需求, 本实施例的 SSD 中, 并发通路既可以为 片选 ( 以下简称 : CE), 也可以为通道。存储控制器每次触发全盘均衡的条件可以是当确定 在主机 I/O 接口上没有读写操作, 或者以预先设定周期时间 T 为进行损耗均衡处理的触发 条件, 即确定达到触发均衡处理的时间, 本发明实施例不限于具体的触发条件, 本领域技术 人员可以根据需要确定存储控制器触发存储单元进行全盘均衡的时间和条件。
     本实施例可以按照并发通路的并发特性, 在各个并发通路之间进行数据均衡而非 仅在并发通路内部进行数据均衡, 从而可以实现全盘均衡而非现有技术的局部均衡。在进 行全盘均衡时, 各个并发通路, 例如通道或者 CE 之间不会造成数据的聚合, 从而不会影响 并发性, 而且, 通过调整 1 个 LBN 包括的 LBA 的数量, 使得每次移动的数据量是可控的, 另 外, 本实施例中仅给出了每个 LBN 上的数据被依次向下搬移一个 LBN 上的具体实现方式, 本 领域技术人员可以理解的是, 在尽量避免并发冲突的前提下, LBN 也可以采用两个为一组或 者三个为一组的方式, 将一组 LBN 上的数据同时依次搬移, 其实现原理与本实施例所述的 实现原理类此, 此处不再赘述。进一步地, 本实施例还可以根据当前主机 I/O 是否有操作或 者均衡周期是否到达等作为进行损耗均衡处理的触发条件来灵活确定是否进行全盘均衡, 从而减少对存储单元的存储性能的影响。
     下面采用一个具体的实例对图 2 所示的方法实施例的基础方案进行详细说明。
     本实施例可以假设并发通路为通道, 且并发通路的数目为 16。假设存储单元的 LBA 按照 512B 为一个 LBA 被划分为 1024 个, 且每 8 个 LBA 被划分为 1 个 LBN, 因此共有 128 个 LBN, 分别记为 LBN0 ~ LBN127。需要说明的是, 本实施例中 1 个 LBN 包括 8 个 LBA, 本领 域技术人员可以理解的是, 根据需要, 1 个 LBN 也可以采用其它划分方法, 只需要使得 1 个 LBN 包括至少一个 LBA 即可。图 3 为 16 路并发通路的结构示意图, 如图 3 所示, 每一行为一 条通道, 这 16 条通道记为通道 0 ~通道 15, LBN0 ~ LBN127 分布在 16 条并发通道上。
     在满足触发条件, 例如到达均衡周期或者在一段时间内没有 I/O 操作, 存储控制 器即可对存储单元进行全盘均衡。全盘均衡的处理过程可以如图 3 中的虚线所示, 将第 a1 个通道对应的第 n 个逻辑块号 LBN 上的数据搬移到第 a2 个通道对应的第 n+1 个 LBN 上。 举 例来说, 当 n = 0 时, 即将第 a1 = 0mod16 = 0 个通道, 即通道 0 对应的 LBN0 上的数据搬移 到第 a2 = (0+1)mod16 = 1 个通道, 即通道 1 对应的 LBN1 上, 并将通道 1 对应的 LBN1 上的 数据搬移到 a3 = (0+2)mod16 = 2 个通道, 即通道 2 对应的 LBN2 上 ; 当 n = 15 时, 即将第 a1 = 15mod16 = 15 个通道, 即通道 15 对应的 LBN15 上的数据搬移到第 a2 = (15+1)mod16 = 0 个通道, 即通道 0 对应的 LBN16 上, 并将通道 0 对应的 LBN16 上的数据搬移到 a3 = (15+2) mod16 = 1 个通道对应的 LBN17 上, 以此类推, 可以将各个 LBN 上的数据从当前的通道搬移 到下一个通道上。当 n = 127 时, 即将第 a1 = 127mod16 = 15 个通道对应的 LBN127 上的 数据搬移到第 a2 = (127+1)mod16 = 0 个通道, 即通道 0 对应的 LBN0 上, 从而完成一轮全 盘均衡。由此可知, 在完成一轮全盘均衡后, 所有的 LBN 上的数据均被搬移一次, 从而使得 与这些 LBN, 也即 LBA 对应的 Flash 颗粒实现全盘均衡。通过不同的并发数以及不同 LBN 划 分, 存储控制器可以控制整个存储单元实现全盘均衡。
     另外, 本实施例中仅给出了每个 LBN 上的数据被依次向下搬移一个 LBN 上的具体 实现方式, 本领域技术人员可以理解的是, 本实施例也可以在尽量避免并发冲突的前提下, 采用两个 LBN 为一组或者三个 LBN 为一组等方式同时依次搬移, 例如 LBN0 和 LBN1 作为一 组, 将其上的数据对应地同时搬移到 LBN2 和 LBN3 上, 依次类推, 或者将 LBN0、 LBN1 以及 LBN2 作为一组, 将其上的数据对应地搬移到 LBN3、 LBN4 和 LBN5 上, 以此类推, 其实现原理 与本实施例所述的实现原理类此, 此处不再赘述。
     本实施例可以按照并发通路的并发特性, 在各个并发通路之间进行数据均衡而非 仅在并发通路内部进行数据均衡, 从而可以实现全盘均衡而非现有技术的局部均衡。且均 衡点不局限于某个区域或者某个 Flash 颗粒上。在进行全盘均衡时, 各个通道之间不会造 成数据的聚合, 从而不会影响并发性, 而且, 通过调整 1 个 LBN 包括的 LBA 的数量, 使得每次 移动的数据量是可控的。进一步地, 本实施例还可以根据当前主机 I/O 是否有操作或者均 衡周期是否到达来灵活确定是否进行全盘均衡, 从而减少对存储单元的存储性能的影响。
     本领域普通技术人员可以理解 : 实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读取存储介质中, 该程序 在执行时, 执行包括上述方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟或者 光盘等各种可以存储程序代码的介质。
     图 4 为本发明固态硬盘一个实施例的结构示意图, 如图 4 所示, 本实施例的固态硬 盘可以包括 : 存储控制器 11 和存储单元 12, 该存储控制器 11 包括 : 判断单元 111 和执行单元 112, 其中判断单元 111 用于判断是否满足损耗均衡触发条件 ; 执行单元 112 用于当满 足损耗均衡触发条件时, 将第一并发通路对应的逻辑块号 LBN 上的数据搬移到与第二并发 通路对应的 LBN 上 ; 将所述第二并发通路对应的 LBN 上的数据搬移到第三并发通路对应的 LBN 上, 以此类推, 直到将最后一个并发通路对应的 LBN 上的数据搬移到所述第一并发通路 对应的 LBN 上 ; 存储单元 12 用于存储数据。其中, 并发通路对应的逻辑块号 LBN 上的数据 包括 : 逻辑块号 LBN 所指向的、 存储于存储单元位置上的数据 ;
     在另一个实施例中, 执行单元 112 可以用于将当满足损耗均衡触发条件时, 第 a1 个并发通路对应的第 n 个 LBN 上的数据搬移到第 a2 个并发通路对应的第 n+1 个 LBN 上, 将 第 a2 个并发通路对应的第 n+1 个 LBN 上的数据搬移到第 a3 个并发通路对应的第 n+2 个 LBN 上, 直到将第 aK-1 个并发通路对应的第 N-1 个 LBN 上的数据搬移到第 0 个并发通路对应的 第 0 个 LBN 上为止, 其中, n = 0 ~ N-1, a1 = nmodK, K 为并发通路总数, N 为 LBN 的总数, a2 = (n+1)modK, a3 = (n+2)modK。
     本实施例的 SSD, 其实现原理与图 1 ~图 3 所示的方法实施例的实现原理类似, 此 处不再赘述。
     本实施例可以按照并发通路的并发特性移动, 实现全盘均衡, 并且在进行全盘均 衡时, 各个通道之间不会造成数据的聚合, 从而不会影响并发性, 而且, 通过调整 1 个 LBN 包 括的 LBA 的数量, 使得每次移动的数据量是可控的。另外, 本实施例中仅给出了每个 LBN 上 的数据被依次向下搬移一个 LBN 上的具体实现方式, 本领域技术人员可以理解的是, 在尽 量避免并发冲突的前提下, LBN 也可以采用两个为一组或者三个为一组等方式依次搬移, 其 实现原理与本实施例所述的实现原理类此, 此处不再赘述。 进一步地, 在图 4 所示的 SSD 的基础上, 还可以进一步地, 判断单元 111 用于在主 机输入输出接口上没有读写操作, 或者, 到达触发均衡处理的时间时, 判断得到满足损耗均 衡触发条件。存储控制器 11 处理的每个 LBN 包括至少一个逻辑块地址 LBA, 且存储控制器 11 处理的并发通路包括通道和 CE。
     本实施例的 SSD, 其实现原理与图 1 ~图 3 所示的方法实施例的实现原理类似, 此 处不再赘述。
     本实施例可以按照并发通路的并发特性移动, 可以实现全盘均衡, 且均衡点不局 限于某个区域或者某个 Flash 颗粒上。在进行全盘均衡时, 各个通道之间不会造成数据的 聚合, 从而不会影响并发性, 而且, 通过调整 1 个 LBN 包括的 LBA 的数量, 使得每次移动的数 据量是可控的。进一步地, 本实施例还可以根据当前主机 I/O 是否有操作来灵活确定是否 进行全盘均衡, 从而减少对性能的影响。
     本发明损耗均衡处理系统一个实施例可以包括上述图 4 所示的 SSD, 本系统实施 例中的 SSD, 其实现原理与图 1 ~图 3 所示的方法实施例的实现原理类似, 此处不再赘述。
     本系统实施例可以按照并发通路的并发特性移动, 可以实现全盘均衡, 且均衡点 不局限于某个区域或者某个 Flash 颗粒上。在进行全盘均衡时, 各个通道之间不会造成数 据的聚合, 从而不会影响并发性, 而且, 通过调整 1 个 LBN 包括的 LBA 的数量, 使得每次移动 的数据量是可控的。进一步地, 本实施例还可以根据当前主机 I/O 是否有操作来灵活确定 是否进行全盘均衡, 从而减少对性能的影响。
     最后应说明的是 : 以上实施例仅用以说明本发明的技术方案, 而非对其限制 ; 尽
     管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解 : 其依然 可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替 换; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。

损耗均衡处理方法和系统以及固态硬盘.pdf_第1页
第1页 / 共11页
损耗均衡处理方法和系统以及固态硬盘.pdf_第2页
第2页 / 共11页
损耗均衡处理方法和系统以及固态硬盘.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《损耗均衡处理方法和系统以及固态硬盘.pdf》由会员分享,可在线阅读,更多相关《损耗均衡处理方法和系统以及固态硬盘.pdf(11页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102375693A43申请公布日20120314CN102375693ACN102375693A21申请号201010257491X22申请日20100816G06F3/06200601G11C7/1020060171申请人成都市华为赛门铁克科技有限公司地址611731四川省成都市高新区西部园区清水河片区72发明人杨继涛张琴柯乔李欣74专利代理机构北京同立钧成知识产权代理有限公司11205代理人刘芳54发明名称损耗均衡处理方法和系统以及固态硬盘57摘要本发明实施例提供一种损耗均衡处理方法和系统以及固态硬盘,方法包括将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通。

2、路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。本发明实施例可以实现全盘均衡。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图2页CN102375700A1/2页21一种损耗均衡处理方法,其特征在于,包括当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LB。

3、N上的数据搬移到所述第一并发通路对应的LBN上。2根据权利要求1所述的损耗均衡处理方法,其特征在于,所述将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上,包括将第A1个并发通路对应的第N个LBN上的数据搬移到第A2个并发通路对应的第N1个LBN上,并将第A2个并发通路对应的第N1个LBN上的数据搬移到第A3个并发通路对应的第N2个LBN上,直到将第AK1个并发通路对应的第N1个LBN上的数据搬移到第A1个。

4、并发通路对应的第N个LBN上为止,其中,N0N1,A1NMODK,K为并发通路总数,N为LBN的总数,A2N1MODK,A3N2MODK。3根据权利要求1或2所述的损耗均衡处理方法,其特征在于,所述满足损耗均衡触发的条件包括当确定在主机I/O接口上没有读写操作,或者,当确定到达触发均衡处理的时间。4根据权利要求1或2所述的损耗均衡处理方法,其特征在于,每个LBN包括至少一个逻辑块地址LBA。5根据权利要求1或2所述的损耗均衡处理方法,其特征在于,所述并发通路包括通道和片选。6一种固态硬盘,其特征在于,包括存储控制器和存储单元,所述存储控制器包括判断单元,用于判断是否满足损耗均衡触发条件;执行单。

5、元,用于当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上,其中,所述LBN上的数据存储于存储单元中;所述存储单元,用于存储数据。7根据权利要求6所述的固态硬盘,其特征在于,所述执行单元,具体用于当满足损耗均衡触发条件时,将第A1个并发通路对应的第N个LBN上的数据搬移到第A2个并发通路对应的第N1个LBN上,并将第A2个并发通路对应的第N1个LBN上的数据搬移到第A3个并发通路对。

6、应的第N2个LBN上,直到将第AK1个并发通路对应的第N1个LBN上的数据搬移到第A1个并发通路对应的第N个LBN上为止,其中,N0N1,A1NMODK,K为并发通路总数,N为LBN的总数,A2N1MODK,A3N2MODK。8根据权利要求6或7所述的固态硬盘,其特征在于,所述判断单元具体用于在主机输入输出接口上没有读写操作,或者,到达触发均衡处理的时间时,判断得到满足损耗均衡触发条件。9根据权利要求6或7所述的固态硬盘,其特征在于,所述存储控制器处理的每个LBN权利要求书CN102375693ACN102375700A2/2页3包括至少一个逻辑块地址LBA。10一种损耗均衡处理系统,其特征在。

7、于,包括权利要求69中任一权利要求所述的固态硬盘。权利要求书CN102375693ACN102375700A1/6页4损耗均衡处理方法和系统以及固态硬盘技术领域0001本发明实施例涉及存储技术领域,尤其涉及一种损耗均衡处理方法和系统以及固态硬盘。背景技术0002固态硬盘SOLIDSTATEDISK,以下简称SSD由于具有突出的IO能力而被广泛采用。SSD为达到高性能要求,一般采用多并发架构,即将数据通路根据采用的FLASH颗粒同时下发数据。由于FLASH颗粒的可擦写次数有限,而且有些FLASH颗粒上的热点数据擦写较为频繁,有些FLASH颗粒上的非热点数据长期不进行擦写,因此导致FLASH颗粒的。

8、损耗不均衡,影响了SSD的使用寿命。0003为了均衡FLASH颗粒的损耗,现有技术中所采用的静态均衡,是将长期不修改的数据,如操作系统,做强制搬移,从而均衡FLASH颗粒的损耗。在将该静态均衡应用在并发架构下时,FLASH颗粒上的数据能够进行强制搬移,从而在各通路内部实现损耗均衡。0004在实现本发明过程中,发明人发现现有技术中至少存在如下问题现有的静态均衡无法实现全盘均衡,从而无法彻底解决FLASH颗粒上的损耗均衡问题。发明内容0005本发明实施例提供一种损耗均衡处理方法和系统以及固态硬盘,以实现全盘均衡。0006本发明实施例提供一种损耗均衡处理方法,包括0007当满足损耗均衡触发条件时,将。

9、第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。0008本发明实施例提供一种固态硬盘,包括存储控制器和存储单元,0009所述存储控制器包括0010判断单元,用于判断是否满足损耗均衡触发条件;0011执行单元,用于当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最。

10、后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上,其中,所述LBN上的数据存储于存储单元中;0012所述存储单元,用于存储数据。0013本发明实施例提供一种损耗均衡处理系统,包括上述固态硬盘。0014本发明实施例可以按照并发通路的并发特性移动,实现全盘均衡,并且在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。说明书CN102375693ACN102375700A2/6页5附图说明0015为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用。

11、的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0016图1为本发明损耗均衡处理方法一个实施例的流程图;0017图2为本发明损耗均衡处理方法另一个实施例的流程图;0018图3为16路并发通道的结构示意图;0019图4为本发明固态硬盘一个实施例的结构示意图。具体实施方式0020为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施。

12、例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0021图1为本发明损耗均衡处理方法一个实施例的流程图,如图1所示,本实施例的方法可以包括0022步骤101、当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上。0023其中,并发通路对应的逻辑块号LBN上的数据包括逻辑块号LBN所指向的、存储于存储单元位置上的数据。0024步骤102、将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。0。

13、025具体来说,在进行全盘均衡时,存储单元上可用的逻辑块地址LOGICBLOCKADDRESS,以下简称LBA可以根据需要划分为逻辑块号LOGICBLOCKNUMBER,以下简称LBN,且1个LBN可以至少包括1个LBA。当满足触发条件开始均衡时,存储控制器可以从映射表中选取一组连续的LBN。然后,将选取的一组LBN对应的数据依次挪向下一个并发通路。0026举例来说,假设共有16个并发通路,LBN1,LBN2,LBN16上的数据依次来自并发通路0,1,15,则存储控制器可以控制存储单元将并发通路0对应的LBN1上的数据挪向并发通路1对应的LBN2上,将并发通路1对应的LBN2上的数据挪向并发通。

14、路2对应的LBN3上,将并发通路15对应的LBN16上的数据挪向并发通路0对应的LBN1上。以此类推,直至选取的所有LBN上的数据都按照并发通路的并发特性挪动过一次以后完成一轮全盘均衡。或者LBN1LBN8上的数据依次来自并发通路07,LBN9LBN16上的数据依次来自并发通路815,则采用本发明实施例的方法后,LBN9LBN15上的数据可以搬移到并发通路915对应的LBN10LBN16上,并发通路15对应的LBN16上的数据可以搬移到并发通路0对应的LBN1上,而并发通路07对应的LBN1LBN8上的数说明书CN102375693ACN102375700A3/6页6据则搬移到并发通路18对应。

15、的LBN2LBN9上。0027需要说明的是,在本实施例及其他实施例中,作为数据搬移的起始通路并不局限于在排列顺序为第一的并发通路,可以从任何一个通路开始,只要是按照本方法进行依次搬移皆可。例如,在上述16个并发通路,LBN1,LBN2,LBN16中,可以把LBN1作为最先执行数据搬移的通路,此时LBN1即是第一通路,也可以把LBN3作为最先执行数据搬移的通路,此时LBN3就是第一通路。0028本实施例可以按照并发通路的并发特性,在各个并发通路之间进行数据均衡而非仅在并发通路内部进行数据均衡,从而可以实现全盘均衡而非现有技术的局部均衡。在进行全盘均衡时,各个并发通路之间不会造成数据的聚合,从而不。

16、会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作或者均衡周期是否到达等情况来灵活确定是否满足进行损耗均衡的触发条件,从而减少对存储单元的存储性能的影响。0029图2为本发明损耗均衡处理方法另一个实施例的流程图,如图2所示,本实施例的方法可以包括0030步骤201、将第A1个并发通路对应的第N个LBN上的数据搬移到第A2个并发通路对应的第N1个LBN上。0031步骤202、将第A2个并发通路对应的第N1个LBN上的数据搬移到第A3个并发通路对应的第N2个LBN上,直到将第AK1个并发通路对应的第N1个LB。

17、N上的数据搬移到第A1个并发通路对应的第N个LBN上为止,其中,N0N1,A1NMODK,K为并发通路总数,N为LBN的总数,A2N1MODK,A3N2MODK。0032具体来说,SSD可以由依次连接的接口、存储控制器以及存储单元构成。其中,接口用于收发数据与命令,存储控制器用于完成整个SSD的控制与相关策略的实施,如垃圾回收,损耗均衡,数据调度,CACHE管理等,存储单元用于存储数据。0033在进行损耗均衡处理时,存储控制器可以触发存储单元进行全盘均衡。在本实施例中,SSD可以采用并发架构,根据不同的并发需求,本实施例的SSD中,并发通路既可以为片选以下简称CE,也可以为通道。存储控制器每次。

18、触发全盘均衡的条件可以是当确定在主机I/O接口上没有读写操作,或者以预先设定周期时间T为进行损耗均衡处理的触发条件,即确定达到触发均衡处理的时间,本发明实施例不限于具体的触发条件,本领域技术人员可以根据需要确定存储控制器触发存储单元进行全盘均衡的时间和条件。0034本实施例可以按照并发通路的并发特性,在各个并发通路之间进行数据均衡而非仅在并发通路内部进行数据均衡,从而可以实现全盘均衡而非现有技术的局部均衡。在进行全盘均衡时,各个并发通路,例如通道或者CE之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的,另外,本实施例中仅给出了。

19、每个LBN上的数据被依次向下搬移一个LBN上的具体实现方式,本领域技术人员可以理解的是,在尽量避免并发冲突的前提下,LBN也可以采用两个为一组或者三个为一组的方式,将一组LBN上的数据同时依次搬移,其实现原理与本实施例所述的实现原理类此,此处不再赘述。进一步地,本实施例还可以根据当前主机I/O是否有操作或者均衡周期是否到达等作为进行损耗均衡处理的触发条件来灵活确定是否进行全盘均衡,从而减少对存储单元的存储性能的影响。说明书CN102375693ACN102375700A4/6页70035下面采用一个具体的实例对图2所示的方法实施例的基础方案进行详细说明。0036本实施例可以假设并发通路为通道,。

20、且并发通路的数目为16。假设存储单元的LBA按照512B为一个LBA被划分为1024个,且每8个LBA被划分为1个LBN,因此共有128个LBN,分别记为LBN0LBN127。需要说明的是,本实施例中1个LBN包括8个LBA,本领域技术人员可以理解的是,根据需要,1个LBN也可以采用其它划分方法,只需要使得1个LBN包括至少一个LBA即可。图3为16路并发通路的结构示意图,如图3所示,每一行为一条通道,这16条通道记为通道0通道15,LBN0LBN127分布在16条并发通道上。0037在满足触发条件,例如到达均衡周期或者在一段时间内没有I/O操作,存储控制器即可对存储单元进行全盘均衡。全盘均衡。

21、的处理过程可以如图3中的虚线所示,将第A1个通道对应的第N个逻辑块号LBN上的数据搬移到第A2个通道对应的第N1个LBN上。举例来说,当N0时,即将第A10MOD160个通道,即通道0对应的LBN0上的数据搬移到第A201MOD161个通道,即通道1对应的LBN1上,并将通道1对应的LBN1上的数据搬移到A302MOD162个通道,即通道2对应的LBN2上;当N15时,即将第A115MOD1615个通道,即通道15对应的LBN15上的数据搬移到第A2151MOD160个通道,即通道0对应的LBN16上,并将通道0对应的LBN16上的数据搬移到A3152MOD161个通道对应的LBN17上,以此。

22、类推,可以将各个LBN上的数据从当前的通道搬移到下一个通道上。当N127时,即将第A1127MOD1615个通道对应的LBN127上的数据搬移到第A21271MOD160个通道,即通道0对应的LBN0上,从而完成一轮全盘均衡。由此可知,在完成一轮全盘均衡后,所有的LBN上的数据均被搬移一次,从而使得与这些LBN,也即LBA对应的FLASH颗粒实现全盘均衡。通过不同的并发数以及不同LBN划分,存储控制器可以控制整个存储单元实现全盘均衡。0038另外,本实施例中仅给出了每个LBN上的数据被依次向下搬移一个LBN上的具体实现方式,本领域技术人员可以理解的是,本实施例也可以在尽量避免并发冲突的前提下,。

23、采用两个LBN为一组或者三个LBN为一组等方式同时依次搬移,例如LBN0和LBN1作为一组,将其上的数据对应地同时搬移到LBN2和LBN3上,依次类推,或者将LBN0、LBN1以及LBN2作为一组,将其上的数据对应地搬移到LBN3、LBN4和LBN5上,以此类推,其实现原理与本实施例所述的实现原理类此,此处不再赘述。0039本实施例可以按照并发通路的并发特性,在各个并发通路之间进行数据均衡而非仅在并发通路内部进行数据均衡,从而可以实现全盘均衡而非现有技术的局部均衡。且均衡点不局限于某个区域或者某个FLASH颗粒上。在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过。

24、调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作或者均衡周期是否到达来灵活确定是否进行全盘均衡,从而减少对存储单元的存储性能的影响。0040本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。0041图4为本发明固态硬盘一个实施例的结构示意图,如图4所示,本实施例的固态硬盘可以包括存储控制器11和存储单元12,该存储控。

25、制器11包括判断单元111和执行说明书CN102375693ACN102375700A5/6页8单元112,其中判断单元111用于判断是否满足损耗均衡触发条件;执行单元112用于当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上;将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上;存储单元12用于存储数据。其中,并发通路对应的逻辑块号LBN上的数据包括逻辑块号LBN所指向的、存储于存储单元位置上的数据;0042在另一个实施例中,执行单。

26、元112可以用于将当满足损耗均衡触发条件时,第A1个并发通路对应的第N个LBN上的数据搬移到第A2个并发通路对应的第N1个LBN上,将第A2个并发通路对应的第N1个LBN上的数据搬移到第A3个并发通路对应的第N2个LBN上,直到将第AK1个并发通路对应的第N1个LBN上的数据搬移到第0个并发通路对应的第0个LBN上为止,其中,N0N1,A1NMODK,K为并发通路总数,N为LBN的总数,A2N1MODK,A3N2MODK。0043本实施例的SSD,其实现原理与图1图3所示的方法实施例的实现原理类似,此处不再赘述。0044本实施例可以按照并发通路的并发特性移动,实现全盘均衡,并且在进行全盘均衡时。

27、,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。另外,本实施例中仅给出了每个LBN上的数据被依次向下搬移一个LBN上的具体实现方式,本领域技术人员可以理解的是,在尽量避免并发冲突的前提下,LBN也可以采用两个为一组或者三个为一组等方式依次搬移,其实现原理与本实施例所述的实现原理类此,此处不再赘述。0045进一步地,在图4所示的SSD的基础上,还可以进一步地,判断单元111用于在主机输入输出接口上没有读写操作,或者,到达触发均衡处理的时间时,判断得到满足损耗均衡触发条件。存储控制器11处理的每个LBN包括至少一个逻辑。

28、块地址LBA,且存储控制器11处理的并发通路包括通道和CE。0046本实施例的SSD,其实现原理与图1图3所示的方法实施例的实现原理类似,此处不再赘述。0047本实施例可以按照并发通路的并发特性移动,可以实现全盘均衡,且均衡点不局限于某个区域或者某个FLASH颗粒上。在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作来灵活确定是否进行全盘均衡,从而减少对性能的影响。0048本发明损耗均衡处理系统一个实施例可以包括上述图4所示的SSD,本系统实施例中的。

29、SSD,其实现原理与图1图3所示的方法实施例的实现原理类似,此处不再赘述。0049本系统实施例可以按照并发通路的并发特性移动,可以实现全盘均衡,且均衡点不局限于某个区域或者某个FLASH颗粒上。在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作来灵活确定是否进行全盘均衡,从而减少对性能的影响。0050最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽说明书CN102375693ACN102375700A6/6页9管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。说明书CN102375693ACN102375700A1/2页10图1图2说明书附图CN102375693ACN102375700A2/2页11图3图4说明书附图CN102375693A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1