针对逻辑地址不同数据自动配置虚拟块的方法

文档序号:6587733阅读:203来源:国知局
专利名称:针对逻辑地址不同数据自动配置虚拟块的方法
技术领域
本发明涉及一种针对数据配置虚拟块的方法,具体涉及一种针对逻辑地址不同数 据自动配置虚拟块的方法。
背景技术
SSD是英文solid state disk的缩写,即固态盘。是一种把Nand flash芯片作为 存储介质的存储器。它具有数据存取速度快、经久耐用防震抗摔、工作时非常安静没有任 何噪音产生等优点。固态盘的核心部件是闪存控制器,它的功能就是控制和管理闪存芯片 以及对外提供一个标准的接口。闪存控制器为了提高读写速度和flash芯片的寿命需要动 态的进行地址映射,而地址映射就是要保存逻辑地址与物理地址的对应关系,这样在闪存 控制器进行读写操作时就能找到对应的物理地址。现在公知的映射方式是以基于一种固定大小块的方式,它不能够灵活适应用户数 据的多样性,从而不能在各种应用环境下发挥最大的效能。以及本申请人之前的一个专利申请讲述的是构建虚拟块地址映射提高读写速度, 但是由于虚拟块的大小相同,通常一个虚拟块由多个物理块够成,就存在针对不同特征的 用户数据,特别是逻辑上分散的小数据块只占用虚拟块很小一部分物理块,在进行数据擦 写时,要回收整个虚拟块内的物理块,造成物理块回收的浪费,也影响了整个映射的速度, 也使物理块的寿命大大降低。

发明内容
本发明提供了一种针对逻辑地址不同数据自动配置虚拟块的方法,其可通过针对 不同特征的用户数据来改变虚拟块的大小,将逻辑地址连续的大数据块放在一个大的虚拟 块中,将逻辑上分散的小数据块放在一个较小的虚拟块中,实现虚拟块地址映射,优化了虚 拟块地址映射速度、增大了虚拟块内物理块的使用寿命。本发明的技术解决方案是—种针对逻辑地址不同数据自动配置虚拟块的方法,其特殊之处在于,该方法包 括以下步骤1)将一次要写的数据放在数据缓存中,分析这些数据的特征,将其分为两类,一类 是逻辑地址连续的一块数据,另一类是多个逻辑地址不连续的一块数据;2)在虚拟块的构建中设置一个变量,该变量保存该虚拟块最近改写完所有数据所 进行操作的次数,用该变量值的大小识别该虚拟块经常操作的是上述哪类数据;3)将逻辑地址连续的一块数据放在上述小的变量值对应的虚拟块中,该虚拟块由 多个物理块构成,并且这些物理块分布在每个通道的每个芯片里;这样在进行这样大批量 连续的数据写操作时就能够充分发挥通道间并行和通道内流水的作用,最大的提高写的速 度;将多个逻辑地址不连续的一块数据放在上述大的变量值对应的虚拟块中,该虚拟块由 每个通道的一个或几个物理块构成;这个虚拟块甚至可以由每个通道的一个物理块构成;该数据的虚拟块小,每次使用每个通道中的一个物理块就能够满足速度的要求,而且还能 减少回收物理块的个数,提高回收效率,从而提高块的寿命。上述针对逻辑地址不同数据自动配置虚拟块实现地址映射的方法,其特殊之处在 于还包括当同一段逻辑地址的数据的逻辑地址特征发生变化时,重复上述步骤2)和步骤 3)操作,以改变这些逻辑地址改变的数据对应的虚拟块。上述虚拟块是由每个通道内的每个芯片内的物理块的一部分构成,即将每个物理 块等分成N块,然后将每个通道内每个芯片内取一个1/n个物理块来够成一个虚拟块;上述每个虚拟块由一个数据结构组成;数据结构里记录了该虚拟块由那些物理块 的那部分构成;以此来进行从虚拟块上的地址映射到物理块上的地址;相应地上述变量值的大的虚拟块包含物理块少,上述变量值的小的虚拟块包含物 理块多。上述变量值的小的虚拟块包含物理块最少为一个。本发明的优点在于1、本发明是一种基于虚拟块地址映射的改进优化后的一种地址映射方法。它继承 了虚拟块映射的优点,弥补了固定块映射方式不能灵活适应不同规律数据的特点。2、本发明是以虚拟块的设计为基础来进行的。虚拟块的构成是由每个通道内每个 芯片内的物理块的一部分构成,即将每个物理块等分成N块,然后将每个通道内每个芯片 内取一个1/n个物理块来够成一个虚拟块。每个虚拟块由一个数据结构组成。结构里记录 了该虚拟块由那些物理块的那部分构成。以此来进行从虚拟块上的地址映射到物理块上的 地址。3、本发明将逻辑地址连续的一块数据放在上述小的变量值对应的虚拟块中,该虚 拟块由多个物理块构成,并且这些物理块分布在每个通道的每个芯片里;这样在进行这样 大批量连续的数据写操作时就能够充分发挥通道间并行和通道内流水的作用,最大的提高 写的速度;将多个逻辑地址不连续的一块数据放在上述大的变量值对应的虚拟块中,该虚 拟块由每个通道的一个或几个物理块构成;这个虚拟块甚至可以由每个通道的一个物理块 构成;该数据的虚拟块小,每次使用每个通道中的一个物理块就能够满足速度的要求,而且 还能减少回收物理块的个数,提高回收效率,从而提高块的寿命。


图1为本发明流程框图;图2为不同大小虚拟块的构成图;图3为虚拟块的构成图。
具体实施例方式参见图1、图2及图3,一种针对逻辑地址不同数据自动配置虚拟块的方法,该方法 包括以下步骤1)将一次要写的数据放在数据缓存中,分析这些数据的特征,将其分为两类,一类 是逻辑地址连续的一块数据,另一类是多个逻辑地址不连续的一块数据;2)在虚拟块的构建中设置一个变量,该变量保存该虚拟块最近改写完所有数据所进行操作的次数,用该变量值的大小识别该虚拟块经常操作的是上述哪类数据;3)将逻辑地址连续的一块数据放在上述小的变量值对应的虚拟块中,该虚拟块由 多个物理块构成,并且这些物理块分布在每个通道的每个芯片里;这样在进行这样大批量 连续的数据写操作时就能够充分发挥通道间并行和通道内流水的作用,最大的提高写的速 度;将多个逻辑地址不连续的一块数据放在上述大的变量值对应的虚拟块中,该虚拟块由 每个通道的一个物理块构成;该数据的虚拟块小,每次使用每个通道中的一个物理块就能 够满足速度的要求,而且还能减少回收物理块的个数,提高回收效率,从而提高块的寿命。4)随着应用环境和使用方式的改变,当同一段逻辑地址的数据的逻辑地址特征发 生变化时,重复上述步骤2)和步骤3)操作,以改变这些逻辑地址改变的数据对应的虚拟 块。其中虚拟块是由每个通道内的每个芯片内的物理块的一部分构成,即将每个物理 块等分成N块,然后将每个通道内每个芯片内取一个1/n个物理块来够成一个虚拟块;上述每个虚拟块由一个数据结构组成;数据结构里记录了该虚拟块由那些物理块 的那部分构成;以此来进行从虚拟块上的地址映射到物理块上的地址;相应地上述变量值的大的虚拟块包含物理块少,上述变量值的小的虚拟块包含物 理块多,其中变量值的小的虚拟块包含物理块最少为一个。
权利要求
一种针对逻辑地址不同数据自动配置虚拟块的方法,其特征在于,该方法包括以下步骤1)将一次要写的数据放在数据缓存中,分析这些数据的特征,将其分为两类,一类是逻辑地址连续的一块数据,另一类是多个逻辑地址不连续的一块数据;2)在虚拟块的构建中设置一个变量,该变量保存该虚拟块最近改写完所有数据所进行操作的次数,用该变量值的大小识别该虚拟块经常操作的是上述哪类数据;3)将逻辑地址连续的一块数据放在上述小的变量值对应的虚拟块中,该虚拟块由多个物理块构成,并且这些物理块分布在每个通道的每个芯片里;将多个逻辑地址不连续的一块数据放在上述大的变量值对应的虚拟块中,该虚拟块由每个通道的一个或几个物理块构成。
2.根据权利要求1所述针对逻辑地址不同数据自动配置虚拟块实现地址映射的方法, 其特征在于还包括当同一段逻辑地址的数据的逻辑地址特征发生变化时,重复上述步骤 2)和步骤3)操作,以改变这些逻辑地址改变的数据对应的虚拟块。
3.根据权利要求1或2所述针对逻辑地址不同数据自动配置虚拟块实现地址映射的方 法,其特征在于所述虚拟块是由每个通道内的每个芯片内的物理块的一部分构成,即将每 个物理块等分成N块,然后将每个通道内每个芯片内取一个1/n个物理块来够成一个虚拟 块;所述每个虚拟块由一个数据结构组成;数据结构里记录了该虚拟块由那些物理块的那 部分构成;以此来进行从虚拟块上的地址映射到物理块上的地址;相应地上述变量值的大 的虚拟块包含物理块少,上述变量值的小的虚拟块包含物理块多。
4.根据权利要求3所述针对逻辑地址不同数据自动配置虚拟块实现地址映射的方法, 其特征在于所述变量值的小的虚拟块包含物理块最少为一个。
全文摘要
一种针对逻辑地址不同数据自动配置虚拟块的方法,包括将一次要写的数据分为两类,一类是逻辑地址连续的一块数据,另一类是多个逻辑地址不连续的一块数据;在虚拟块的构建中设置一个变量,用该变量值的大小识别该虚拟块经常操作的是上述哪类数据;将分类别的数据放在对应的虚拟块中。本发明在进行这样大批量连续的数据写操作时能够充分发挥通道间并行和通道内流水的作用,最大的提高写的速度;并且减少回收物理块的个数,提高回收效率,从而提高块的寿命。
文档编号G06F12/08GK101876945SQ20091031027
公开日2010年11月3日 申请日期2009年11月24日 优先权日2009年11月24日
发明者刘升, 邱波 申请人:西安奇维测控科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1