一种静态损耗均衡的方法、装置和系统的制作方法

文档序号:6468027阅读:184来源:国知局
专利名称:一种静态损耗均衡的方法、装置和系统的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种静态损耗均衡的方法、装置和 系统。
背景技术
固态硬盘的存储介质分为两种SLC( Single Level Cell,单层式存储单元)、 MLC (Multi Level Cell,多层式存储单元)。MLC技术能够让单个存储单元 保存两倍的数据量。两种存储介质都存在擦写寿命问题SLC大约IO万次, MLC大约1万次。超过了最大可擦写次数,闪存的可擦写块就会成为坏块。为 了避免某个擦写块被过度擦写,以至于它先于其他的擦写块达到最大可擦写 次数,应该在尽量小的影响性能的前提下,把擦写操作均匀的分布在每个擦 写块上。因此,如何将数据均匀的写入每个闪存颗粒可擦写块,平均每个闪 存颗粒可擦写块的擦除次数成为延长固态硬盘使用寿命的关键。损耗均衡技术使用映射的方法,把要写入的固态硬盘的逻辑地址映射到 固态硬盘中写入次数最少的区块上面去,使得闪存颗粒上各处的单元擦写次 数尽量保持一致,进而延长固态硬盘的使用寿命。损耗均衡技术分为静态均 ff和动态均^f两种其中,静态均衡强制搬移固态硬盘的静态数据到擦写次数更少的区块 中去,从而大幅度增加使用寿命和可靠性。在实现本发明的过程中,发明人发现现有技术至少存在以下问题针对 固态硬盘内部存储介质的损耗均衡技术的操作单位是闪存的可擦写块,只对 固态硬盘内部的存储介质进行损耗均衡。在目前的固态硬盘存储系统中,没 有以固态硬盘为单位,根据不同硬盘类型的不同特性进行损耗均衡的技术。发明内容本发明实施例提供一种静态损耗均衡的方法、装置和系统,以在包括不 同类型固态硬盘的固态硬盘存储系统中,实现静态损耗均衡。为达到上述目的,本发明实施例一方面提供一种静态损耗均衡的方法,包括获取数据单元的写才乘作频率和所述数据单元当前所在的硬盘类型; 当固态硬盘存储系统满足静态均衡启动条件时,将所述数据单元的写操 作频率和预设的写操作频率阈值进行对比,所述固态硬盘存储系统至少包括两种硬盘类型;根据对比结果和所述数据单元当前所在的硬盘类型,确定所述数据单元存储的硬盘类型。另一方面,本发明实施例还提供一种存储系统控制器,包括 获取模块,用于获取数据单元的写操作频率和所述数据单元当前所在的硬盘类型;对比模块,用于当固态硬盘存储系统满足静态均衡启动条件时,将所述 数据单元的写操作频率和预设的写操作频率阈值进行对比,所述固态硬盘存 储系统至少包括两种硬盘类型;确定模块,用于根据所述对比模块的对比结果和所述获取模块获取的数 据单元当前所在的硬盘类型,确定所述数据单元存储的硬盘类型。再一方面,本发明实施例还提供一种固态硬盘存储系统,包括固态硬盘 和硬盘接口控制器,还包括存储系统控制器,用于获取数据单元的写操作频率和所述数据单元所在 的硬盘类型,当固态硬盘存储系统空闲时,将所述数据单元的写操作频率和 预设的写操作频率阈值进行对比,并根据对比结果和所述数据单元当前所在 的硬盘类型,确定所述数据单元存储的硬盘类型,并通过所述硬盘接口控制 器将所述数据单元存储至对应的所述固态硬盘。与现有技术相比,通过本发明实施例,存储系统控制器获取数据单元的 写操作频率和数据单元当前所在的硬盘类型,当固态硬盘存储系统空闲时, 将数据单元的写操作频率和预设的写操作频率阈值进行对比,并根据对比结
果和数据单元当前所在的硬盘类型,确定存储数据单元的硬盘类型。从而在 包括不同类型固态硬盘的固态硬盘存储系统中,实现了静态损耗均衡。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一种静态损耗均衡的方法的流程图;图2为本发明实施例固态硬盘存储系统的结构图;图3为本发明实施例另一种静态损耗均衡的方法的流程图;图4为本发明实施例静态损耗均衡的具体实现流程图;图5为本发明实施例一种存储系统控制器的结构图;图6为本发明实施例另一种存储系统控制器的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有 做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种静态损耗均衡的方法,用于在包括不同类型固态 硬盘的SSD (Solid State Disk,固态硬盘)存储系统中,实现静态损耗均衡。如图1所示,为本发明实施例一种静态损耗均衡的方法的流程图,包括步骤S 101,获取数据单元的写操作频率和数据单元当前所在的硬盘类型。 具体可以为在固态硬盘存储系统写数据时,以数据块或文件为单位,将待写入数据 写入固态硬盘,并记录被写入的数据单元的写操作频率和该数据单元当前所 在的硬盘类型。当固态硬盘存储系统启动时,存储系统控制器读取记录的每
个数据单元的写操作频率和每个数据单元当前所在的硬盘类型。该硬盘类型可以包括SLC固态硬盘和MLC固态硬盘。步骤S102,当固态硬盘存储系统满足静态均衡启动条件时,将数据单元 的写操作频率和预设的写操作频率阔值进行对比。该固态硬盘存储系统至少 包括两种硬盘类型。其中,固态硬盘存储系统满足静态均衡启动条件具体可以为该固态硬 盘存储系统空闲,或者,该固态硬盘存储系统发出强制执行命令。当固态硬盘存储系统发出强制执行命令时,即使该固态硬盘存储系统处 于非空闲状态,存储系统控制器也可以将每个数据单元的写操作频率和预设 的写操作频率阈值进行对比。上述强制执行命令可以是固态硬盘存储系统自 定义的一些命令,保存在该固态硬盘存储系统中,通过特定的软件,该固态 硬盘存储系统可以发出这些强制执行命令。步骤S103,根据对比结果和数据单元当前所在的硬盘类型,确定数据单 元存储的硬盘类型。假设数据单元当前所在的硬盘类型为MLC固态硬盘,当MLC固态硬盘 的数据单元的写操作频率大于预设的写操作频率阈值时,确定将写操作频率 大于预设的写操作频率阈值的数据单元存储到SLC固态硬盘。假设数据单元当前所在的硬盘类型为SLC固态硬盘,当SLC固态硬盘的数 据单元的写操作频率小于预设的写操作频率阈值时,确定将写操作频率小于 预设的写操作频率阈值的数据单元存储到MLC固态硬盘。如果MLC固态硬盘的一个数据单元的写操作频率大于预设的写操作频率 阈值,则说明该数据单元的写操作频率较高,而MLC固态硬盘的可擦写次数 小于SLC固态硬盘的可擦写次数,因此为了提高MLC固态硬盘的使用寿命, 减小MLC固态硬盘的损耗,要将该数据单元存储到SLC固态硬盘上。如果SLC固态硬盘的一个数据单元的写操作频率小于预设的写操作频率 阈值,则说明该数据单元的写操作频率较低,而SLC固态硬盘的可擦写次数远 大于MLC固态硬盘的可擦写次数,因此SLC固态硬盘可以承受较高的写操作 频率,为了提高使用效率,可以将SLC固态硬盘上小于预设的写操作频率阈值 的数据单元存储到MLC固态硬盘。上述静态损耗均衡的方法,存储系统控制器获取数据单元的写操作频率 和数据单元当前所在的硬盘类型,当固态硬盘存储系统满足静态均衡启动条 件时,将数据单元的写操作频率和预设的写操作频率阈值进行对比,并根据 对比结果和数据单元当前所在的硬盘类型,确定数据单元存储的硬盘类型。 从而在包括不同硬盘类型固态硬盘的固态硬盘存储系统中,实现了静态损耗 均衡。如图2所示,为本发明实施例固态硬盘存储系统的结构图,该固态硬盘 存储系统包括存储系统控制器21、主机接口控制器22、主机23、硬盘接口 控制器24和固态硬盘25,其中,固态硬盘25,用于存储数据单元;硬盘接口控制器24,用于接入固态硬盘25;存储系统控制器21,用于获取数据单元的写操作频率和数据单元所在的 硬盘类型,当固态硬盘存储系统满足静态均衡启动条件时,将数据单元的写 操作频率和预设的写操作频率阈值进行对比,并根据对比结果和数据单元当 前所在的硬盘类型,确定数据单元存储的硬盘类型,并通过硬盘接口控制器 24将数据单元存储至对应的固态硬盘25 。本发明实施例中,存储系统控制器21使用主机接口控制器22接收主机23 发送的命令,例如读写命令,在固态硬盘存储系统写数据时,存储系统控制 器21以数据块或文件为单位,将待写入数据写入固态硬盘25,并记录被写入 的数据单元的写操作频率和该数据单元当前所在的硬盘类型。当固态硬盘存 储系统启动时,存储系统控制器21读取记录的每个数据单元的写操作频率和 每个数据单元当前所在的硬盘类型,以获取每个数据单元的写操作频率和每个数据单元所在的硬盘类型。其中,固态硬盘25包括MLC固态硬盘和SLC固态硬盘。 上述固态硬盘存储系统,存储系统控制器21获取数据单元的写操作频率 和数据单元当前所在的硬盘类型,当固态硬盘存储系统空闲时,将数据单元 的写操作频率和预设的写操作频率阈值进行对比,并根据对比结果和数据单
元当前所在的硬盘类型,确定数据单元存储的硬盘类型。从而在包括不同硬盘 类型固态硬盘的固态硬盘存储系统中,实现了静态损耗均衡。如图3所示,为本发明实施例另一种静态损耗均衡的方法的流程图,具体包括步骤S301,固态硬盘存储系统写数据时,存储系统控制器21记录被写入 的数据单元的写操作频率和所在的硬盘类型。具体可以为固态硬盘存储系统写数据时,存储系统控制器21以一个数据块或一个文 件为一个数据单元,将数据写入固态硬盘25。并记录被写入的数据单元的写 操作频率和所在的硬盘类型,该硬盘类型可以为SLC固态硬盘或MLC固态硬 盘。步骤S302,当固态硬盘存储系统启动时,存储系统控制器21读取该存储 系统控制器21记录的数据单元(数据块或文件)的写操作频率和当前所在的 硬盘类型。步骤S303,当固态硬盘存储系统满足静态均衡启动条件时,存储系统控 制器21根据读取的数据单元的写操作频率和数据单元所在的硬盘类型,在SLC 固态硬盘和MLC固态硬盘之间进行静态损耗均衡,其中,固态硬盘存储系统 满足静态均衡启动条件具体可以为该固态硬盘存储系统空闲、或者该固态 硬盘存储系统发出强制执行命令。具体流程图可以如图4所示,包括步骤S401,存储系统控制器21判断下一个数据单元所在的硬盘类型。如 果下一个数据单元所在的硬盘类型为MLC固态硬盘,则执行步骤S402和步骤 S403;如果下一个数据单元所在的硬盘类型为SLC固态硬盘,则执行步骤S404 和步骤S405。步骤S402,判断MLC固态硬盘的上述数据单元的写操作频率是否大于预 设的写操作频率阈值。如果大于,则执行步骤S403;如果MLC固态硬盘的上 述数据单元的写操作频率不大于预设的写操作频率阈值,则存储系统控制器 21执行步骤S406。步骤S403 ,存储系统控制器21将该数据单元从MLC固态硬盘存储到SLC 固态硬盘,执行步骤S406。
步骤S404,判断SLC固态硬盘的上述数据单元的写操作频率是否小于预设 的写操作频率阈值。如果小于,则执行步骤S405;如果SLC固态硬盘的上述数 据单元的写操作频率不小于预设的写操作频率阈值,则存储系统控制器21执 行步骤S406。步骤S405 ,存储系统控制器21将该数据单元从SLC固态硬盘存储到MLC 固态硬盘。步骤S406,存储系统控制器21判断是否遍历完所有数据单元的写操作频 率和硬盘类型。如果存储系统控制器21遍历完所有数据单元的写操作频率和 硬盘类型,则退出本次流程;如果存储系统控制器21尚未遍历完所有数据单 元的写操作频率和硬盘类型,则返回执行步骤S401,存储系统控制器21判断 下一个数据单元当前所在的硬盘类型。上述静态损耗均衡的方法,在SLC固态硬盘和MLC固态硬盘之间进行损 耗均衡的SSD存储系统中,实现了经常读写的数据被存储控制器21存放在使用 寿命长、读写速度快的SLC固态硬盘上;不经常读写的数据被存储控制器21 存放在成本低、存储单元容量大的MLC固态硬盘上。如图5所示,为本发明实施例一种存储系统控制器的结构图,包括获取模块211,用于获取数据单元的写操作频率和数据单元当前所在的硬 盘类型;对比模块212,用于当固态硬盘存储系统满足静态均衡启动条件时,将数 据单元的写操作频率和预设的写操作频率阈值进行对比,该固态硬盘存储系 统至少包括两种硬盘类型;确定模块213,用于根据对比模块212的对比结果和获取模块211获取的 数据单元当前所在的硬盘类型,确定数据单元存储的硬盘类型。在本发明另 一实施例中,当硬盘类型包括SLC固态硬盘和MLC固态硬 盘时,如图6所示,确定模块213可以包括第一确定子模块2131,用于当数据单元当前所在的硬盘类型为MLC固 态硬盘,且MLC固态硬盘的数据单元的写操作频率大于预设的写操作频率阈 值时,确定将写操作频率大于预设的写操作频率阈值的数据单元存储到SLC 固态硬盘。第二确定子模块2132,用于当数据单元当前所在的硬盘类型为SLC固态硬 盘,且SLC固态硬盘的数据单元的写操作频率小于预设的写操作频率阈值时, 确定将写操作频率小于预设的写操作频率阈值的数据单元存储到MLC固态硬 盘。其中,获取模块211可以包括写入子模块2111,用亍以数据块或文件为单位,将待写入数据写入固态 硬盘;记录子模块2112,用于在写入子模块2111将待写入数据写入固态硬盘之 后,记录被写入的数据单元的写操作频率和该数据单元所在的硬盘类型;读取子模块2113,用于读取记录子模块2112记录的数据单元的写操作频 率和数据单元当前所在的硬盘类型。上述存储系统控制器,获取模块211获取数据单元的写操作频率和数据 单元当前所在的硬盘类型,当固态硬盘存储系统满足静态均衡启动条件时, 对比模块212将数据单元的写操作频率和预设的写操作频率阈值进行对比, 确定模块213根据对比结果和数据单元当前所在的硬盘类型,确定存储数据 单元的硬盘类型。从而在包括不同类型固态硬盘的固态硬盘存储系统中,实 现了静态损耗均衡。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬 盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的 模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种静态损耗均衡的方法,其特征在于,包括获取数据单元的写操作频率和所述数据单元当前所在的硬盘类型;当固态硬盘存储系统满足静态均衡启动条件时,将所述数据单元的写操作频率和预设的写操作频率阈值进行对比,所述固态硬盘存储系统至少包括两种硬盘类型;根据对比结果和所述数据单元当前所在的硬盘类型,确定所述数据单元存储的硬盘类型。
2、 如权利要求l所述的方法,其特征在于,所述硬盘类型包括单层式 存储单元SLC固态硬盘和多层式存储单元MLC固态硬盘。
3、 如权利要求2所述的方法,其特征在于,数据单元当前所在的硬盘类 型为MLC固态硬盘,所述根据所述对比结果和所述数据单元当前所在的硬盘类型,确定存储 所述数据单元的硬盘类型具体包括当所述MLC固态硬盘的数据单元的写操作频率大于预设的写操作频率阈 值时,确定将所述写操作频率大于预设的写操作频率阈值的数据单元存储到 SLC固态硬盘。
4、 如权利要求2所述的方法,其特征在于,数据单元当前所在的硬盘类 型为SLC固态硬盘,所述根据所述对比结果和所述数据单元当前所在的硬盘类型,确定存储 所述数据单元的硬盘类型具体包括当所述SLC固态硬盘的数据单元的写操作频率小于预设的写操作频率阈 值时,确定将所述写操作频率小于所述预设的写操作频率阈值的数据单元存 储到MLC固态》更盘。
5、 如权利要求1至4任意一项所述的方法,其特征在于,所述获取数据单 元的写操作频率和所述数据单元当前所在的硬盘类型具体包括以数据块或文件为单位,将待写入数据写入固态硬盘,并记录被写入的 数据单元的写操作频率和所述数据单元当前所在的硬盘类型;读取记录的数据单元的写操作频率和所述数据单元当前所在的硬盘类型。
6、 如权利要求l所述的方法,其特征在于,所述固态硬盘存储系统满足静态均衡启动条件包括所述固态硬盘存储系统空闲,或者,所述固态硬盘 存储系统发出强制执行命令。
7、 一种存储系统控制器,其特征在于,包括获取模块,用于获取数据单元的写操作频率和所述数据单元当前所在的 硬盘类型;对比模块,用于当固态硬盘存储系统满足静态均衡启动条件时,将所述 数据单元的写操作频率和预设的写操作频率阈值进行对比,所述固态硬盘存 储系统至少包括两种硬盘类型;确定模块,用于根据所述对比模块的对比结果和所述获取模块获取的数 据单元当前所在的硬盘类型,确定所述数据单元存储的硬盘类型。
8、 如权利要求7所述存储系统控制器,其特征在于,所述硬盘类型包括 SLC固态硬盘和MLC固态硬盘。
9、 如权利要求8所述存储系统控制器,其特征在于,所述确定模块包括 第一确定子模块,用于当数据单元当前所在的硬盘类型为MLC固态硬盘,且所述MLC固态硬盘的数据单元的写操作频率大于预设的写操作频率阈 值时,确定将所述写操作频率大于预设的写操作频率阈值的数据单元存储到 SLC固态硬盘。
10、 如权利要求8所述存储系统控制器,其特征在于,所述确定模块包括第二确定子模块,用于当数据单元当前所在的硬盘类型为SLC固态硬盘, 且所述SLC固态硬盘的数据单元的写操作频率小于预设的写操作频率阈值时, 确定将所述写操作频率小于所述预设的写操作频率阈值的数据单元存储到 MLC固态硬盘。
11、 如权利要求7-10任意一项所述存储系统控制器,其特征在于,所述获 取模块包括写入子模块,用于以数据块或文件为单位,将待写入数据写入固态硬盘; 记录子模块,用于在所述写入子模块将所述待写入数据写入固态硬盘之后,记录被写入的数据单元的写操作频率和所述数据单元所在的硬盘类型;读取子模块,用于读取所述记录子模块记录的数据单元的写操作频率和 所述数据单元当前所在的硬盘类型。
12、 一种固态硬盘存储系统,其特征在于,包括 固态硬盘,用于存储数据单元; 硬盘接口控制器,用于接入所述固态硬盘;存储系统控制器,用于获取数据单元的写操作频率和所述数据单元所在 的硬盘类型,当固态硬盘存储系统空闲时,将所述数据单元的写操作频率和 预设的写操作频率阈值进行对比,并根据对比结果和所述数据单元当前所在 的硬盘类型,确定所述数据单元存储的硬盘类型,并通过所述硬盘接口控制 器将所述数据单元存储至对应的所述固态硬盘。
13、 如权利要求12所述的系统,其特征在于,所述存储系统控制器包括 获取模块,用于获取数据单元的写操作频率和所述数据单元当前所在的硬盘类型;对比模块,用于当固态硬盘存储系统满足静态均衡启动条件时,将所述 数据单元的写操作频率和预设的写操作频率阈值进行对比,所述固态硬盘存 储系统至少包括两种硬盘类型;确定模块,用于根据所述对比模块的对比结果和所述获取模块获取的数 据单元当前所在的硬盘类型,确定所述数据单元存储的硬盘类型。
全文摘要
本发明实施例公开了一种静态损耗均衡的方法、装置和系统,该方法包括获取数据单元的写操作频率和所述数据单元当前所在的硬盘类型;当固态硬盘存储系统满足静态均衡启动条件时,将所述数据单元的写操作频率和预设的写操作频率阈值进行对比,所述固态硬盘存储系统至少包括两种硬盘类型;根据对比结果和所述数据单元当前所在的硬盘类型,确定存储所述数据单元的硬盘类型。本发明实施例在包括SLC固态硬盘和MLC固态硬盘的固态硬盘存储系统中,实现了静态损耗均衡。
文档编号G06F12/02GK101398749SQ200810177508
公开日2009年4月1日 申请日期2008年11月13日 优先权日2008年11月13日
发明者君 徐, 陈云昊 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1