Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
STORAGE DEVICE AND DATA STORAGE METHOD
Document Type and Number:
WIPO Patent Application WO/2011/091761
Kind Code:
A1
Abstract:
A storage device and a data storage method are provided. The storage device includes a data storage module; a management data storage module for storing the management data information used to manage the data storage module to process the data; an incremental information storage module for storing the incremental information of the management data information generated in a data processing; and a controller for processing the data according to the management data information and updating the incremental information of the management data information and the management data information according to the result of processing the data. The incremental information storage module which uses the non-volatile storage medium combines the management data information which is backed up in the data storage module to resume the management data information stored in the management data storage module when the power is off abnormally. The invention can ensure that the storage device works normally, and improves the reliability of the storage device.

Inventors:
YANG JITAO (CN)
KE QIAO (CN)
ZHANG QIN (CN)
LI XIN (CN)
Application Number:
PCT/CN2011/070728
Publication Date:
August 04, 2011
Filing Date:
January 27, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CHENGDU HUAWEI SYMANTEC TECH (CN)
YANG JITAO (CN)
KE QIAO (CN)
ZHANG QIN (CN)
LI XIN (CN)
International Classes:
G06F12/16; G06F12/02
Foreign References:
US20090248755A12009-10-01
US20060230108A12006-10-12
CN1389793A2003-01-08
CN101782875A2010-07-21
Download PDF:
Claims:
权 利 要 求

1、 一种存储设备, 包括数据存储模块, 其特征在于, 还包括: 管理数据存储模块, 用于存储设备接收到主机发送的数据处理请求后, 管理所述数据存储模块进行数据处理的管理数据信息;

增量信息存储模块, 用于存储数据处理过程中产生的管理数据信息的增 量信息, 以用于在异常断电时, 结合所述数据存储模块中已备份的管理数据 信息恢复出所述管理数据存储模块中存储的所述管理数据信息; 所述增量信 息存储模块采用非易失性存储介质;

控制器, 用于根据所述管理数据信息进行数据处理, 并根据数据处理结 果更新所述管理数据信息及所述管理数据信息的增量信息。

2、 根据权利要求 1所述的存储设备, 其特征在于:

所述控制器, 还用于按照预置策略, 将所述管理数据信息的增量信息转 存到所述数据存储模块上, 并根据所述管理数据信息的增量信息更新所述数 据存储模块中所述已备份的管理数据信息;

其中, 所述步骤具体包括:

将当前最新的管理数据信息备份到数据存储模块 , 或将增量信息存储模 块中的存储的管理数据信息的增量信息转存到数据存储模块上, 并在需要刷 新管理数据信息时根据所述管理数据信息的增量信息更新所述数据存储模块 中所述已备份的管理数据信息。

3、 根据权利要求 1所述的存储设备, 其特征在于,

所述控制器, 还用于在所述增量信息存储模块存储的所述管理数据信息 的增量信息的数量大于预设门限值时, 将所述管理数据信息的增量信息转存 到所述数据存储模块上, 并根据所述管理数据信息的增量信息更新所述数据 存储模块中所述已备份的管理数据信息; 其中, 所述步骤具体包括:

将当前最新的管理数据信息备份到数据存储模块或将增量信息存储模块 中的存储的管理数据信息的增量信息转存到数据存储模块上, 并在需要刷新 管理数据信息时根据所述管理数据信息的增量信息更新所述数据存储模块中 所述已备份的管理数据信息。

4、 根据权利要求 3所述的存储设备, 其特征在于,

所述控制器, 还用于当所述增量信息存储模块存储的所述管理数据信息 的增量信息的数量大于 1时, 将所述管理数据信息的增量信息转存到所述数 据存储模块上, 并按照各个所述管理数据信息的增量信息对应的数据处理的 时间先后顺序, 利用各所述管理数据信息的增量信息更新所述数据存储模块 中所述已备份的管理数据信息。

5、 根据权利要求 1-4任一所述的存储设备, 其特征在于, 所述增量信息 存储模块采用的非易失性存储介质为磁阻随机存取存储器、 铁电存储器或者 非易失静态随机存储器。

6、 根据权利要求 1-4任一所述的存储设备, 其特征在于, 所述管理数据 存储模块采用的存储介质为同步动态随机存储器、 第 2代双倍速率同步动态 随机存储器或第 3代双倍速率同步动态随机存储器。

7、 一种数据存储方法, 其特征在于, 包括:

将用以管理数据存储模块进行数据处理的管理数据信息存储至管理数据 存储模块中;

将数据处理过程中产生的管理数据信息的增量信息存储至增量信息存储 模块中, 以用于在存储设备发生异常断电后, 需要恢复最新的管理数据信息 时, 结合所述数据存储模块中已备份的管理数据信息恢复出所述管理数据存 储模块中存储的所述管理数据信息; 所述增量信息存储模块采用非易失性存 储介质;

根据所述管理数据信息进行数据处理, 并根据数据处理结果相应更新所 述管理数据信息及所述管理数据信息的增量信息。

8、 根据权利要求 7所述的数据存储方法, 其特征在于,

按照预置策略, 将所述管理数据信息的增量信息转存到所述数据存储模 块上, 并根据所述管理数据信息的增量信息更新所述数据存储模块中所述已 备份的管理数据信息。 9、 根据权利要求 7所述的数据存储方法, 其特征在于,

在所述增量信息存储模块存储的所述管理数据信息的增量信息的数量大 于预设门限值时, 将管理数据信息整体备份到所述的数据存储模块上, 并根 据所述管理数据信息的增量信息更新所述数据存储模块中所述已备份的管理 数据信息。

10、 根据权利要求 9所述的数据存储方法, 其特征在于, 当所述增量信 息存储模块存储的所述管理数据信息的增量信息数量大于 1时, 将所述管理 数据信息的增量信息转存到所述数据存储模块上, 并根据所述管理数据信息 的增量信息更新所述数据存储模块中所述已备份的管理数据信息, 包括: 按照各个所述管理数据信息的增量信息对应的数据处理的先后顺序, 利 用各所述管理数据信息的增量信息更新所述数据存储模块中所述已备份的管 理数据信息。

Description:
存储设备和数据存储方法

本申请要求于 2010年 01月 29日提交中国专利局,申请号 201010104788.2 : 发明名称为 "存储设备和数据存储方法" 的中国专利申请的优先权, 其全部 内容通过引用结合在本申请中。 技术领域 本发明实施例涉及数据存储技术领域, 尤其涉及一种存储设备和数据存 储方法。 背景技术 现有存储技术中, SSD ( solid state disk, 固态硬盘) 中的闪速存储器采 用数个 FLASH芯片, 用于存储数据。 SSD 中闪速存储器的管理数据信息为 SSD处理数据所需的关键数据, 该管理数据信息例如: 主机端的逻辑块地址 ( Logical Block Address; 以下简称 LBA )与闪速存储器的存储介质的物理块 地址( Physical Block Address; 以下简称 PBA )的映射关系、 日志信息、 闪速 存储器中 FLASH芯片的坏块信息等等。 当 SSD执行数据的读、 写或搬移等 等操作过程时, 需要相应的修改闪速存储器的管理数据信息。 如果 SSD频繁 执行的数据的读、 写或转移等等操作, 则对管理数据信息将进行频繁的修改。 为了保证管理数据信息的访问速度, 现有技术在 SSD工作过程中将闪速存储 器的管理数据信息緩存在存储器中。

在实现本发明过程中, 发明人发现现有技术中至少存在如下问题: 现有 技术的 SSD中, 闪速存储器的管理数据信息存储在易失性存储 介质中。 一旦 SSD在正常工作过程中发生异常断电故障, 易失性存储介质中存储的管理数 据信息都会丟失, 降低了 SSD的数据存储可靠性。 发明内容 本发明实施例提供一种存储设备和数据存储方 法, 有效提高 SSD的数据 存储可靠性。

本发明实施例提供一种存储设备, 包括数据存储模块; 还包括: 管理数据存储模块,用于在存储设备接收到主 机发送的数据处理请求后, 用以管理所述数据存储模块进行数据处理的管 理数据信息;

增量信息存储模块, 用于存储数据处理过程中产生的管理数据信息 的增 量信息, 以用于在异常断电时, 结合所述数据存储模块中已备份的管理数据 信息恢复出所述管理数据存储模块中存储的所 述管理数据信息; 所述增量信 息存储模块采用非易失性存储介质;

控制器, 用于根据所述管理数据信息进行数据处理, 并根据数据处理结 果更新所述管理数据信息及添加所述管理数据 信息的增量信息。

本发明实施例提供一种数据存储方法, 包括:

将用以管理数据存储模块进行数据处理的管理 数据信息存储至管理数据 存储模块中;

将数据处理过程中产生的管理数据信息的增量 信息存储至增量信息存储 模块中, 以用于在发生异常断电后, 需要恢复最新的管理数据信息时, 结合 所述数据存储模块中已备份的管理数据信息恢 复出所述管理数据存储模块中 存储的所述管理数据信息; 所述增量信息存储模块采用非易失性存储介质 ; 根据所述管理数据信息进行数据处理, 并根据数据处理结果相应更新所 述管理数据信息及添加所述管理数据信息的增 量信息。

本发明实施例的存储设备和数据存储方法, 采用非易失性存储介质存储 数据存储模块的管理数据信息的增量信息, 以用于在异常断电时, 结合数据 存储模块中已备份的管理数据信息, 恢复出用以管理数据存储模块进行数据 处理的管理数据信息; 可以有效地防止了 SSD出现异常断电时, 所述数据存 储模块的管理数据信息的丟失, 能够保证 SSD的正常工作, 可以有效减小或 消除 SSD对超级电容等等备用电源的依赖, 提高了 SSD的可靠性。 附图说明 为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一 简单地介绍, 显而易见地, 下 面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在 不付出创造性劳动性的前提下, 还可以根据这些附图获得其它的附图。

图 1为本发明实施例提供的一种存储设备的结构 意图;

图 2为本发明实施例提供的一种数据存储方法的 程图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前 提下所获 得的所有其它实施例, 都属于本发明保护的范围。

现有技术中 SSD的运转过程中, 数据的读、 写或搬移等等操作会涉及到 对 SSD中闪速存储器的管理数据信息 (也称之为表项 )的频繁修改操作, 为 了保证管理数据信息的访问速度, 在 SSD运转过程中, 将闪速存储器的管理 数据信息存放在同步动态随机存 4诸器 ( Synchronous Dynamic random access memory; 以下简称 SDRAM ), 第二代双倍速率同步动态随机存储器 ( Double Data Rate Synchronous Dynamic random access memory II; 以下简称 DDR II ) 或第三代双倍速率同步动态随机存储器 (Double Data Rate Synchronous Dynamic random access memory III; 以下简称 DDR III )等等易失性存储器中。 例如, 由于 SSD与传统机械硬盘通常采用固定映射关系的处 理方式不同, 在 SSD中存储时, 主机端的逻辑块地址 LBA与存储介质的物理块地址 PBA对 应的映射关系虽然有一定的原则, 但是并不固定, 为了保证存取速度, 通常 将用来维护 LBA与 PBA的映射关系的映射表存放在 SDRAM、 DDR II或 DDR III等等存储器中。

闪速存储器的管理数据信息也可以包括有日志 信息, 该日志信息里通常 包括有 SSD运转过程中一些状态信息,尤其是在 SSD出现故障的时候,根据 曰志信息里记录的异常信息对于解决 SSD故障具有重要的意义。

闪速存储器的管理数据信息也可以包括有闪速 存储器中 FLASH 芯片的 坏块信息等等对 SSD管理有重要作用的信息。 当 SSD要停止工作时, SSD 控制器会将管理数据信息备份至闪速存储器中 , 系统下次上电工作, 再根据 备份的管理数据信息, 向 SSD的存储器中导出管理数据信息, 以保证 SSD继 续进行正常工作。

下面结合附图和具体实施例进一步说明本发明 实施例的技术方案。

图 1为本发明实施例提供的一种存储设备的结构 意图; 如图 1所示, 本实施例的存储设备包括: 数据存储模块 10、 管理数据存储模块 11、 增量信 息存储模块 12和控制器 13。

数据存储模块 10为存储设备的主要存储结构, 用于存储业务数据。 数据 存储模块具体可以为闪速存储器, 采用数个 FLASH芯片组成。

管理数据存储模块 11用于存储用以管理数据存储模块 10进行数据处理 的管理数据信息。 也就是说, 管理数据存储模块 11存储一些管理上述数据存 储模块 10的一些关键数据信息即管理数据信息, 以便于对数据存储模块 10 进行正确的数据处理。 由于在处理过程中, 要频繁的访问管理数据信息, 优 选地, 管理数据存储模块 11采用易失性存储介质, 按照易失性存储介质的存 储机制存储管理数据信息, 以提供较高的读写性能。 本实施例的管理数据信 息包括有: 主机端 LBA与数据存储模块 10中 FLASH芯片中的 PBA之间的 映射关系、 日志信息、 以及数据存储模块 10中的 FLASH芯片的坏块信息等 等用于管理数据存储模块 10的一些关键数据信息。

增量信息存储模块 12 用于存储数据处理过程中产生的管理数据信息 的 增量信息, 以在异常断电时, 用于结合数据存储模块 10中已备份的管理数据 信息恢复出管理数据存储模块 11中存储的所述管理数据信息;增量信息存储 模块 12优选地采用磁阻随机存取存储器( Magnetic Random Access Memory; 以下简称 MRAM )、 铁电存者器( Ferroelectric Random Access Memory; 以下 简称 FRAM ) 或者非易失静态随机存取存储器 (Nonvolatile Static Random Access Memory; 以下简称 NVSRAM )等等之类的高速非易失性存储介质。

控制器 13用于根据所述管理数据信息进行数据处理, 根据数据处理结 果更新所述管理数据信息及所述管理数据信息 的增量信息。

具体地, 当控制器 13根据管理数据存储模块 11中存储的管理数据信息, 在数据存储模块 10中进行读写数据以及删除数据等等操作处理 时候,对应 的用于管理数据存储模块 10 的一些关键数据即管理数据信息等等都会发生 相应的变化。比如对应的主机端 LBA与数据存储模块 10中 FLASH芯片中的 PBA之间的映射关系就发生了变化。 进行该次数据处理将 LBA对应的旧的 PBA修改为对应一个新的 PBA, 即将 "LBA→PBA ( old )" 修改为 "LBA→ PBA ( new )"。 对于此次数据处理 , 对应的 LBA与 PBA之间的映射信息的增 量信息为 LBA对应的新的 PBA , 可以记为 "LBA→ PBA ( new )"。 此次数据 处理过程中,还可以存在日志信息的变化,以 及数据存储模块 10中的 FLASH 芯片的坏块信息等等。 因此此次数据处理, 也可能发生日志信息的增量信息 和坏块信息的增量信息。

然后根据数据处理结果可以在增量信息存储模 块 12 中更新即增加的增 量信息可以为 "LBA→PBA ( new )"、 日志信息的增量信息和坏块信息的增量 信息等等管理数据信息的增量信息。 同时也根据数据处理结果更新管理数据 存储模块 11 中的管理数据信息。 为了减少在更新数据过程中发生的异常断 电, 导致数据丟失的概率, 优选地, 根据数据处理结果首先更新增量信息存 储模块 12 中的管理数据信息的增量信息, 然后再更新管理数据存储模块 11 中的管理数据信息。 采用此优选方案, 可以保证即使在更新管理数据存储模 块 11 中的管理数据信息是出现异常断电, 仍然能够根据增量信息存储模块 12 中的管理数据信息的增量信息和数据存储模块 10 中已备份的管理数据信 息恢复出管理数据存储模块 11中的管理数据信息。

需要说明的是, 在存储设备正常掉电停止工作时, 因为存储管理数据信 息的管理数据存储模块 11优选为易失性存储介质, 因此, 掉电前将其中的存 储管理数据信息都备份在数据存储模块 10中, 当存储设备正常上电工作时, 再将数据存储模块 10 中的备份的管理数据信息复制一份导出至管理 数据存 储模块 11 , 以供存储设备进行有效地数据处理。 所以, 数据存储模块 10 中 一直备份有一份管理数据信息。

当异常断电时, 由于增量信息存储模块 12优选地采用非易失性存储介 质, 即使异常断电时, 增量信息存储模块 12存储的管理数据信息的增量信息 也不会丟失。此时结合增量信息存储模块 12存储的管理数据信息的增量信息 和数据存储模块 10 中已备份的管理数据信息便可以恢复出掉电时 管理数据 存储模块 11中存储的管理数据信息。 从而保证存储设备的正常运行。

本实施例的存储设备可以为固态硬盘 SSD。

本实施例的存储设备, 通过采用非易失性存储介质存储管理数据信息 的 增量信息, 采用易失性存储介质的管理数据存储模块 11存储管理数据信息, 保证了在存储设备出现异常断电故障, 仍然能够根据非易失性存储介质中存 储的管理数据信息的增量信息和数据存储模块 10 中备份的管理数据信息重 构出管理数据存储模块 11中存储的管理数据信息;本实施例的技术方 保证 存储设备访问速度同时, 还提高了存储设备的可靠性。

需要说明的是,本实施例中的增量信息存储模 块 12具体可以采用磁阻随 机存取存储器( Magnetic Random Access Memory; 以下简称 MRAM )、 铁电 存储器( Ferroelectric Random Access Memory; 以下简称 FRAM )或者非易失 静态随机存取存储器(Nonvolatile Static Random Access Memory; 以下简称 NVSRAM )等等之类的高速非易失性存储介质,该类存 介质可以直接读写, 不需要像闪速存储器一样要先擦除后才能进行 数据写入 ,修改前或写入数据 由于在大部分情况下, 对高速非易失性存储介质的操作仅需要少量字 节被写 入, 而如果映射表存储在闪速存储器中, 在每次写入闪速存储器时整页可能 被重写, 如果没有空页可用, 包括块擦除等等操作会使得处理速度緩慢, 所 以本实施例中的高速的非易失性存储介质可以 用于在透写模式下存储映射关 系; 且此类非易失性存储介质具有读写速度块、 功耗低、 重复读写次数高等 等特性, 最主要的是在断电时存储在其中的数据不会丟 失。

本实施例的管理数据存储模块采用的易失性存 储介质优选为 SDRAM、 DDR II或 DDRIII。

在上述实施例的基石出上, 控制器 13还用于按照预置策略, 将所述管理数 据信息的增量信息转存到数据存储模块 10上,并根据所述管理数据信息的增 量信息更新数据存储模块中 10中已备份的管理数据信息。 这里预置的策略, 具体可以是任何预设的条件, 当满足此条件时, 将管 理数据信息备份到数据存储模块 10或将增量信息存储模块 12中存储的所述 管理数据信息的增量信息转存到数据存储模块 10, 以用于更新数据存储模块 中已备份的管理数据信息。比如预置策略可以 当增量信息存储模块 12中的增 量信息所占的存储空间达到预定值时 (即增量信息存储模块 12采用的存储介 质即将存满); 由于管理数据的增量信息是按照其产生的先后 顺序逐条存储, 即,也可以在增量信息存储模块 12中存储的管理数据的增量信息的数量达到 一定值如 1、 2、 或 3等等作为预置策略。

所述预置策略还可以是发生异常断电等等情况 。 对应的控制器根据这些 预置策略,将增量信息存储模块 12中的管理数据信息的增量信息转存到数据 存储模块 10中,以用于根据这些管理数据信息的增量信 更新数据存储模块 10中已存储的管理数据信息。

在上述实施例的基石出上, 控制器 13还用于按照预置策略, 将所述的管理 数据信息整体备份到数据存储模块 10上,备份成功后可以放弃当前的增量信 息存储模块 12中已有的增量, 重新开始增量信息的记录。 因为此时数据存储 模块 10已经存储了完整的最新管理数据信息。

为了减少控制器 13对管理数据信息的备份频率, 控制器 13也可以按照 预置策略, 将所述管理数据信息的增量信息转存到数据存 储模块 10上, 当存 储模块 10上的管理数据信息的增量信息数量大于预设 限值,即增量信息存 储模块中的存储单元即将存满 , 对管理信息整体备份。

采用上述方案能够及时地将管理数据信息及时 备份, 防范了管理数据信 息的丟失, 有效地提高了存储设备的可靠性。

需要说明的是, 管理数据信息的增量信息是根据数据处理结果 按照其产 生的先后顺序逐条存储的, 即一条一条存储的。 对应的每一个增量信息的数 据处理都存在先后顺序关系, 所以优选地按照数据处理的先后顺序, 存储对 应的管理数据信息的增量信息。 当将增量信息存储模块 12中的管理数据信息 的增量信息转存到数据存储模块 10中, 更新数据存储模块 10中的管理数据 信息时;

如果因为异常断电等等原因导致模块 11 中的管理数据信息没有及时成 功备份到数据存储模块 10上, 就需要利用增量信息模块 12中的管理数据信 息的增量对前一次成功备份的管理数据信息进 行刷新操作。 如果之前有利用 数据存储模块 10转存增量信息模块 12中的增量,则数据存储模块 10中的增 量信息也要用来刷新管理数据信息。 具体地, 也必须按照各条管理数据信 息的增量信息对应的数据处理的先后顺序, 利用各管理数据信息的增量信息 分别依次更新数据存储模块 10 中的管理数据信息。 比如增量信息存储模块 12中存储的 PBA与 LBA之间的增量信息可以采用如下表 1的形式存储。

表 1

表 1 中管理数据的增量信息按照对应的数据处理的 先后顺序由下向上存 储, 也可以认为存储时间的先后顺序是由下向上。 对应将表 1 的管理数据信 息的增量信息转存至数据存储模块 10中时,利用这些管理数据信息更新数据 存储模块 10中的管理数据信息时,按照各增量信息对应 数据处理的先后顺 序, 分别依次更新数据存储模块 10中的管理数据信息。 比如上表 1中按照由 下向上的顺序, 分别利用增量信息 1、 增量信息 2、 增量信息 3和增量信息 4 依次分别更新数据存储模块 10中的管理数据信息。

对于管理数据信息中包括的日志信息和 /或数据存储模块 10 中闪速存储 器的 FLASH芯片坏块信息, 同上述存储与更新情况相同, 在此不再贅述。

进一步地, 在上述实施例的技术方案的基础上, 由于大容量的高速非易 失性存储介质价格昂贵,本实施例的增量信息 存储模块 12可以采用小容量的 非易失性存储介质, 但是采用小容量的非易失性存储介质, 这样可能会致使 增量信息存储模块 12很快就会被存满。 为了进一步保证存储设备的可靠性, 优选地。控制器 13还用于增量信息 存储模块 12存储的所述管理数据信息的增量信息的数量 于预设门限值时, 将当前最新的管理数据信息备份到数据存储模 块 10上, 增量存储模块 12中 重新开始记录增量信息;或将增量信息存储模 块 12中的增量转存到数据存储 模块 10上, 增量存储模块 12中重新开始记录增量信息。

将所述管理数据信息的增量信息转存到数据存 储模块 10上, 并利用这 些管理数据信息的增量信息更新数据存储模块 10 上已备份的管理数据信息 时,增量信息存储模块 12存储的所述管理数据信息的增量信息是按照 一条 增量信息来存储的, 存储之前, 可以具体根据增量信息存储模块 12的容量大 小, 预先设定一个所述数据管理信息的增量信息的 数量的门限值, 当所述管 理数据信息的增量信息的数量到达这个门限值 时, 说明增量信息存储模块 12 的空间即将用完, 此时控制器 13将此时模块 11 中的最新的管理数据备份到 数据存储模块 10或将所述管理数据信息的增量信息转存到数 存储模块 10 上, 因为所有数据操作处理存在一定的时序性, 所以增量信息存储模块 12存 储的管理数据信息的增量信息的存储也必须严 格按照对应的数据处理的时间 的先后顺序来存储。

将增量信息存储模块 12 中的所述管理数据信息的增量信息向数据存储 模块 10转存时, 也可以优先地按照时间的先后顺序, 具体的, 例如可以根据 先后时序关系, 时序在前的所述管理数据信息的增量信息先转 存, 时序在后 的后转存; 或者也可以整体的转存所有的管理数据信息的 增量, 但是更新时, 必需按照对应的数据处理的先后顺序依次更新 数据存储模块 10 中的管理数 据信息。 具体可以采用将增量信息存储模块 12分为多个单元, 每个单元存储 一条增量信息, 所有增量信息分别按照相应数据处理操作执行 的先后时序依 次存放在各个单元中。 根据各单元之间的时序先后顺序, 利用各对应的增量 信息依次更新数据存储模块 10中的管理数据信息。

对于管理数据信息包括 LBA与 PBA之间的映射表时, 对应的管理数据 存储模块的存储以及利用管理数据信息的增量 信息更新数据存储模块 10 中 的管理数据信息的过程, 可参考上述表 1 的相关描述, 在此不再贅述。 对于 管理数据信息中包括的日志信息和 /或数据存储模块 10 中闪速存储器的 FLASH芯片坏块信息, 情况类似。

需要说明的是, 当首次向数据存储模块 10转存管理数据信息的增量信息 时,数据存储模块 10中用于更新的管理数据信息是此次存储设备 电工作后 导出至管理数据存储模块 11中的管理数据信息的备份管理数据信息; 以后每 次更新管理数据信息的增量信息时,数据存储 模块 10中用于更新的管理数据 信息都是上一次将所述管理数据信息的增量信 息转存至数据存储模块 10后, 更新数据存储模块 10中的管理数据信息后得到的管理数据信息。

本实施例的存储设备的工作流程如下: 存储设备上电工作时, 控制器 13 将数据存储模块 10 中存储的上次停止工作时存储的管理数据信息 导出至管 理数据存储模块 11中, 以保证存储设备的正常工作, 然后按照上述本实施例 的技术方案进行数据处理。

当存储设备即将停止工作时, 控制器 13控制将管理数据存储模块 11 中 存储的管理数据信息更新至数据存储模块 10中,并同时标记增量信息存储模 块 12中记录增量信息的位置。 下次上电后, 从上次断电在增量信息存储模块 12中标记的位置之后开始记录增量信息, 由于正常断电时, 已经将管理数据 存储模块 11 中的管理数据信息更新至数据存储模块 10中, 也可以直接将增 量信息存储模块 12中此标记位置之前的增量信息删除。

当存储设备异常断电时, 管理数据存储模块 11中的管理数据信息丟失, 增量信息存储模块 12采用高速非易失性存储介质,只需要艮小的 量即可完 成对断电时对应的数据处理操作的管理信息的 增量信息的存储。 这样可以根 据增量信息存储模块 12 中所述管理数据信息的增量信息和数据存储模 块 10 中已备份的管理数据信息, 实现对管理数据存储模块 11中丟失的管理数据信 息的重构, 保证存储设备的正常工作。

以上所描述的装置实施例仅仅是示意性的, 其中所述作为分离部件说明 的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或 者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络 单元上。 可以根据实际的需要选择其中的部分或者全部 模块来实现本实施例 方案的目的。 本领域普通技术人员在不付出创造性的劳动的 情况下, 即可以 理解并实施。 图 2为本发明实施例提供的一种数据存储方法的 程图, 如图 2所示, 本实施例的数据存储方法, 包括:

步骤 100、 将用以管理数据存储模块进行数据处理的管理 数据信息存储 至管理数据存储模块中;

步骤 101、 将数据处理过程中产生的管理数据信息的增量 信息存储至增 量信息存储模块中, 以用于在异常断电时, 结合所述数据存储模块中已备份 的管理数据信息恢复出所述管理数据存储模块 中存储的所述管理数据信息; 所述增量信息存储模块采用非易失性存储介质 ;

步骤 102、 根据所述管理数据信息进行数据处理, 并根据数据处理结果 相应更新所述管理数据信息及所述管理数据信 息的增量信息。

具体地, 本实施例的管理数据存储模块采用易失性存储 介质。 易失性存 储介质具有访问速度快, 且大容量的高速易失型存储介质成本较低。 本实施 将用于管理数据存储模块的管理数据信息存储 至管理数据存储模块中。 但是 由于易失性存储介质在出现异常断电时, 其数据会丟失, 本实施例采用将数 据处理过程中产生的管理数据信息的增量信息 存储至增量信息存储模块中, 增量信息存储模块采用非易失性存储介质的存 储机制存储上述所述的管理数 据信息的增量信息。 控制器具体根据管理数据存储模块中存储的所 述管理数 据信息对数据存储模块中存储的数据对数据存 储模块中的数据进行数据处理 操作, 并根据对应数据处理结果, 相应更新增量信息存储模块中存储的所述 管理数据信息的增量信息, 以及根据对应数据处理结果更新管理数据存储 模 块中存储的所述管理数据信息。 这样既能保证有效地访问速度, 又能提高存 储设备的可靠性 。

需要说明的是, 优选地, 控制器根据数据处理操作, 先更新增量信息存 储模块中的存储的管理数据信息的增量信息; 然后再根据数据处理操作, 再 更新管理信息存储模块中的管理数据信息的增 量信息。 采用此优选方案, 可 以保证即使在控制器更新管理数据存储模块中 的管理数据信息是出现异常断 电 , 仍然能够根据增量信息存储模块中的管理数据 信息的增量信息和数据存 储模块中已备份的管理数据信息恢复出管理数 据存储模块中的管理数据信 息。 需要说明的是, 在上述实施例的基础上, 还可以进一步包括一种优选地 技术方案: 按照预置策略, 将所述管理数据信息的增量信息转存到所述数 据 存储模块上 , 并根据所述管理数据信息的增量信息更新所述 数据存储模块中 所述已备份的管理数据信息。

具体地, 按照预置策略, 控制器将增量信息存储模块中存储的管理数据 信息的增量信息转存到数据存储模块上 , 并根据这些管理数据信息的增量信 息更新数据存储模块中已备份的管理数据信息 。 这里预置的策略, 具体可以 是任何预设的条件, 当满足此条件时, 将增量信息存储模块中存储的这些管 理数据信息的增量信息转存到数据存储模块, 以用于更新数据存储模块中已 备份的管理数据信息。 比如所述预置策略可以是发生异常断电等情况 。 对应 的控制器根据这些预置策略, 将增量信息存储模块中的管理数据信息的增量 信息转存到数据存储模块中, 以用于根据这些管理数据信息的增量信息更新 数据存储模块中已存储的管理数据信息。

在本发明实施例中, 可以将当前最新的管理数据信息备份到数据存 储模 块或将增量信息存储模块中的存储的管理数据 信息的增量信息转存到数据存 储模块上 ,并在最新的管理数据信息丟失时根据这些管 理数据信息的增量信 息更新数据存储模块中已备份的管理数据信息 。 这里预置的策略, 具体可以 是任何预设的条件, 当满足此条件时, 将当前最新的管理数据信息备份到数 据存储模块或将增量信息存储模块中的存储的 管理数据信息的增量信息转存 到数据存储模块上 , 将增量信息存储模块中存储的这些管理数据信 息的增量 信息转存到数据存储模块, 以用于更新数据存储模块中已备份的管理数据 信 息。 比如所述预置策略可以是发生异常断电等等情 况。 对应的控制器根据这 些预置策略, 将增量信息存储模块中的管理数据信息的增量 信息转存到数据 存储模块中, 以用于根据这些管理数据信息的增量信息更新 数据存储模块中 已存储的管理数据信息。

例如, 因为现有的采用非易失性存储介质的增量信息 存储模块容量都比 较小, 为了保证数据存储的可靠性, 一种优选地方案具体还可以包括:

在所述增量信息存储模块存储的所述管理数据 信息的增量信息数量大于 预设门限值时,将所述管理数据信息的增量信 息转存到所述数据存储模块上, 并根据所述管理数据信息的增量信息更新所述 数据存储模块上已备份的管理 数据信息。

具体地, 可以在增量信息存储模块中预设一个所述管理 数据信息的增量 信息数量门限值, 根据增量信息存储模块的具体容量大小设置一 个可容纳的 增量信息的数量门限值。 优选地, 该门限值设在增量信息存储模块即将存满 时, 此时控制器将这些此时增量信息存储模块中的 所有管理数据信息的增量 信息转存到数据存储模块中, 并根据转存的所述管理数据信息的所有增量信 息对数据存储模块中已备份的管理数据信息进 行更新修改。 所述管理数据信 息的增量信息按照相对应的数据处理的先后顺 序存储的。 利用转存后的管理 数据信息的增量信息更新数据存储模块中已备 份的管理数据信息时, 也按照 对应的先后时序, 分别依次更新数据存储模块中已备份的管理数 据信息的增 量信息。

由于管理数据的增量信息是按照条数存储 , 也可以在增量信息存储模块 中存储的管理数据的增量信息的数量达到一定 值作为预置策略。 然后在增量 信息存储模块中存储的管理数据的增量信息的 数量达到一定值时 , 将管理数 据信息的增量信息转存到数据存储模块上 , 并根据管理数据信息的增量信息 更新数据存储模块中所述已备份的管理数据信 息的过程同上述实施例的描述 相同, 详细可参照上述实施例的描述, 在此不再贅述。

需要说明的是本实施例的增量信息存储模块可 以采用磁阻随机存取存储 器、 铁电存储器或者非易失静态随机存储器等等高 速非易失性存储介质。

需要说明的是本实施例的管理数据存储模块可 以采用 SDRAM、 DDR II 或 DDRIII等等易失性存储器。

本实施例中的数据存储方法与上述图 1所示实施例的存储设备的完成数 据存储的实现机制相同, 详细参考上述相关实施例记载的内容, 在此不再贅 述。

本实施例的数据存储方法, 通过采用非易失性介质存储管理数据信息的 增量信息, 采用管理数据存储模块存储管理数据信息; 既能够保证存储设备 的访问速度, 又能防范了管理数据信息的丟失, 有效地提高了存储设备的可 靠性。 鉴于 LBA与 PBA之间映射关系的映射表的重要性, 现有技术采用定时 将存储在易失性存储介质中的映射表备份至由 多个 FLASH 芯片构成的闪速 存储器中来保护映射表。 定时备份的方式虽然能在一定程度上保护映射 表, 但是毕竟 FLASH芯片上存储的映射关系是备份时刻的映射 系,由于 FLASH 芯片使用过程中映射关系不断发生变化, 异常断电时, 备份与当前最新的映 射关系很可能不完全一致, 因此利用备份的映射表极有可能恢复出来不是 最 新的映射关系。

下面以管理数据信息为主机端的 LB A与 FLASH芯片的 PB A映射关系的 映射表为例, 详细说明本发明实施例的技术方案。

具体地, 本发明实施例的技术方案中 LBA与 PBA之间的映射表是存储 在管理数据存储模块中, 而 LBA与 PBA之间的映射表的表项增量 (即一次 数据处理操作对应的修改增量)存储在增量信 息存储模块中, 控制器根据存 储在管理数据存储模块中的 LBA 与 PBA之间的映射表对数据存储模块中 FLASH芯片中的数据进行读、 写、 或搬移等等操作, 每执行完一次数据的操 作处理后,需要将当前操作的 LBA与对应此次操作修改后所对应的新的 PBA 作为一个表项增量信息存储在增量信息存储模 块中, 即根据此次数据操作处 理的结果更新增量信息存储模块。

同时, 在管理数据存储模块中存储的 LBA与 PBA之间的映射表中找到 当前数据操作处理的 LBA对应的旧的 PBA, 然后将该旧的 PBA修改为与该 当前数据操作处理后的 LBA相对应的新的 PBA;即对存储在管理数据存储模 块中的映射表进行更新。

需要说明的是, 为了避免更新过程中异常断电, 优选地, 每次数据操作 处理后, 先更新增量信息存储模块中的表项增量信息, 再更新管理数据存储 模块中的映射表。 这样即使在更新过程中异常断电, 由于增量信息存储模块 采用存储容量较小的非易失性存储介质, 在异常断电时只需要其电容提供的 很小的电量即可将表项增量信息存储。 然后根据增量信息存储模块中存储的 表项增量信息结合数据存储模块中已备份的管 理数据信息即可实现对管理数 据存储模块中在异常断电时丟失的管理信息数 据进行重构, LBA和 PBA的 映射关系, 就按照增量的先后顺序把管理信息数据中的旧 的映射关系更新为 增量中记录的新的映射关系以保证存储设备的 正常工作, 提高了存储设备的 可靠性。

由于主机对存储设备进行的每一次写操作都对 应一个表项增量信息, 将 所有表项增量信息按照时序先后顺序存放在增 量信息存储模块中 , 具体可以 将增量信息存储模块分成多个存储单元, 每一表项增量信息占用一个存储单 元; 所述的存储单元可以采用几个或者十几个字节 , 即预先将目标存储存储 空间划分成连续的固定大小的空间, 之后每一次写操作产生的表项增量信息 对应一个存储单元, 以便写操作所产生的所有表项增量信息可以按 照时间的 先后顺序逐条填充, 也便于需要刷新管理信息时逐条读出后进行解 析。 将所 有表项增量信息按照时序先后顺序依次存放在 各存储单元中。

当增量信息存储模块中的对应表项增量信息的 数量大于预设门限值时, 即增量信息存储模块中的存储单元即将存满, 此时将增量信息存储模块中所 有表项增量信息转移至 FLASH 芯片中, 利用所有表项增量信息更新所述 FLASH芯片备份更新已备份的 LBA与 PBA之间的映射表。 这里需要说明的 是, 当增量信息存储模块中的表项增量信息转移至 数据存储模块后, 根据各 个表项增量信息对应的数据处理操作的先后顺 序, 分别依次利用各表项增量 信息对数据存储模块中的映射表进行更新。 更新过程中, 对应每一次写操作 对应的表项增量信息, 将 LBA对应的旧的 PBA ^ίι爹改为此次操作处理后该 LB Α对应的新的 PBA。

需要说明的是, 存储设备上电后的首次转存的表项增量信息, 数据存储 模块中的映射表是与存储设备此次上电工作后 由管理数据存储模块导出至管 理数据存储模块中的管理数据信息一致, 也即是上次正常停止工作时, 即存 储设备正常断电时, 由管理数据存储模块中转存到数据存储模块中 的映射表。 以后每次更新管理数据存储模块中的映射表, 都是根据前一次利用转存至管 理数据存储模块地各表项增量信息, 分别依次更新管理数据存储模块中的映 射表后所得到的新的映射表为基石出。

对于如日志信息、数据存储模块中 FLASH芯片的坏块信息等等管理数据 信息, 存储的实现机制相同, 不再贅述。

本实施例通过采用将映射表的表项增量信息按 照先后时序存储到一非易 失性存储介质中, 并在表项增量信息的数量达到预设门限值时, 将所有表项 增量信息转存到数据存储模块中以对数据存储 模块中 , 然后按照各表项增量 信息存储的先后时序 (也就是各表项增量信息对应的数据处理操作 先后时 序)对数据存储模块中已备份的映射表进行更 新。 即使在存储设备异常断电 时, 仍能够根据非易失性存储介质中的表项增量单 元和数据存储模块中的备 份的映射表重构出断电时易失性存储介质中的 映射表信息, 能够保证存储设 备的正常工作, 提高了存储设备的可靠性。

通过以上的实施方式的描述, 本领域的技术人员可以清楚中地了解到各 实施方式可借助软件加必需的通用硬件平台的 方式来实现, 当然也可以通过 硬件。 基于这样的理解, 上述技术方案本质上或者说对现有技术做出贡 献的 部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在计算机 可读存储介质中, 如 ROM/RAM、 磁碟、 光盘等等, 包括若干指令用以使得 一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等等)执行各 个实施例或者实施例的某些部分所述的方法。

最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其 限制; 尽管参照前述实施例对本发明进行了详细的说 明, 本领域的普通技术 人员应当理解: 其依然可以对前述各实施例所记载的技术方案 进行修改, 或 者对其中部分技术特征进行等等同替换; 而这些修改或者替换, 并不使相应 技术方案的本质脱离本发明各实施例技术方案 的精神和范围。