闪存储存系统及其方法

文档序号:6613456阅读:209来源:国知局
专利名称:闪存储存系统及其方法
闪存储存系统及其方法
技术领域
本发明是有关于一种闪存储存系统及其方法,特别是有关于一种可快速产 生纪录实体地址及逻辑地址的对照表的闪存储存系统。背景技术
闪存(flash)与普通内存的数据储存区的修改方式不同,闪存只能以一实体 记忆区块(block)为单位进行修改,而普通内存的数据储存区以一字节及一扇区 的方式进行修改。意指在闪存中,每个实体记忆区块中的扇区必须整块删除后, 才能进行写入数据的动作,并且每一扇区只能做一次写入的动作。实体记忆区 块具有一实体地址以代表闪存的空间顺序,且每一实体地址与主机端操作系统
的I逻辑地址相对应。如果想把闪存上的物理扇区与上层档案系统的逻辑扇区 一一对应,则每一个类似修改一个扇区内容的操作都必须先将整个区块复制到 外部的随机存取内存(RAM),然后把RAM中对应那个扇区的内容更新后,接着抹 除原来的区块,再把RAM里的数据全部一个一个扇区重新写入原来的区块中。 此举造成内存资源浪费以及外闪内存芯片寿命縮短。
因此,建立一个逻辑记忆区块及实体记忆区块的地址对照表,使逻辑地址 与实体地址之间的对应编号互相动态对应是必要的。目前,主要的闪存的数据 存取方法有两种,其一为将对照表储存于外部存取装置,以防止断电造成失去 对照表,且集中保存实体地址与逻辑地址的所有的对照关系,以达快速获得对 照表的功能,但此方法于对照关系发生变化时必须先行读取一特定的内存区块, 以维护此对照表,又外部存取装置的读取速度不佳,故导致闪存的实时存取的 性能不佳。另一种方法将实体地址与逻辑地址的对应编号储存于内存区块中, 于启动时再形成对照表,此方法于闪存过大时,造成需读取的区域太多,则影 响启动速度。
发明内容
有鉴于此,本发明的目的就是在提供一种闪存储存系统及其方法,以提高 闪存的启动速度及数据存取的速度。
根据本发明的目的,提出一种闪存储存系统,其包括一闪存、 一控制单元 及一暂存内存。闪存包括一数据储存区及一对照表储存区,对照表纪录数据储 存区的实体记忆区块的实体地址及与其相对应的逻辑记忆区块的逻辑地址。控 制单元于闪存被启动时选择性产生对照表,并将对照表储存于暂存内存及对照 表储存区,且控制单元根据一输入指令对闪存进行存取动作,并根据此存取动 作修改储存于暂存内存的对照表,且控制单元侦测储存于对照表储存区的对照 表及储存于暂存内存的对照表之间是否有差异,若是,便将储存于暂存内存的
4对照表复制于对照表储存区。
此外,本发明再提出一种闪存储存方法,适用于一包含一数据储存区及一 对照表储存区的闪存,对照表储存区用以储存一对照表,对照表记录数据储存 区的实体记忆区块的实体地址及与其相对应的逻辑记忆区块的逻辑地址,其包 含于闪存被启动时判断是否需要产生对照表,若是,则产生对照表并将对照表 储存于对照表储存区及一暂存内存,若否,则将储存于对照表储存区的对照表 复制至缓存器内存。根据一输入指令对闪存进行存取动作,并根据此存取动作 修改储存于暂存内存中的对照表。侦测储存于对照表储存区的对照表及储存于 暂存内存的对照表之间是否有差异,若是,便将储存于暂存内存的对照表复制 于对照表储存区。
相较于现有技术,利用本发明的闪存储存系统及其方法,提高了闪存的启 动速度及数据存取的速度。
为对本发明的目的、构造特征及其功能有进一步的了解,兹配合附图详细 说明如下

图1为本发明的闪存储存系统的方块示意图。
图2为本发明的闪存储存方法的步骤流程图。
图3为本发明的闪存储存方法的计算对照表的容量的步骤流程图。 图4为本发明的闪存储存方法的对照表处理流程图。 图5为本发明的闪存储存方法的回复对照表的流程图。
具体实施方式
以下将参照相关图示,说明依本发明较佳实施例的闪存储存系统及其方法, 为使便于理解,下述实施例中的相同组件以相同的符号标示来说明。
请参阅图l,其为本发明的闪存储存系统的方块示意图。图中,闪存储存系
统1包含一闪存11、 一暂存内存12及一控制单元13。闪存11包含一数据储存 区111及一对照表储存区112,控制单元13在闪存11被启动时选择性产生一对 照表115。例如在闪存11内增设一同歩参数,控制单元13依据此同歩参数判断 是否产生对照表,如同步参数设定为一不同步的数值,则控制单元13产生对照 表115储存至对照表储存区112及暂存内存12中。对照表115纪录数据储存区 111的实体记忆区块的实体地址113及与其相对应的逻辑记忆区块的逻辑地址 114,暂存内存12为一随机存取内存(R扁),控制单元13为一可执行若干个线 程(thread)的微处理器。
控制单元13根据一输入指令对闪存11进行一存取动作,且根据存取动作 修改暂存内存12中的对照表115以产生一已修改的对照表,控制单元13侦测 对照表115及已修改的对照表是否有差异,若有,则将暂存内存12的已修改的 对照表取代对照表储存区112的对照表115。其中,对照表115可转换为一容量区块为单位的一维数组,亦即分成许多 子对照表,例如一个128K字节,总扇区数为409600的实体记忆区块,可保存 记录42K个对照表数据。因扇区之间为连续读写,故只需判读将由哪一扇区开 始读写数据,储存会使用到的子对照表至暂存内存12中,以减少暂存内存12 的容量消耗,且控制单元13读取子对照表的整体范围较读取对照表的整体范围 为小,故可增加对照表的读取速度。
请参阅图2,其为本发明的闪存储存方法的步骤流程图。此方法适用第一图 所示的闪存储存系统,其步骤包含
步骤S21:控制单元13依据同步参数的设定以判断是否需要产生对照表 115,若是,则进行步骤S22,若否,则进行步骤S211;
步骤S211:复制对照表储存区112中的对照表115到暂存内存12 (RAM)中, 复制完进行步骤S23;
歩骤S22:控制单元13侦测同步参数为不同步的数值,则产生对照表115 并将对照表115储存于对照表储存区112及暂存内存12中;
步骤S23:控制单元13对闪存11进行存取动作(access);
步骤S24:根据存取动作以修改暂存内存12中的对照表115以产生已修改 的对照表;
步骤S25:对照储存于暂存内存12及对照表储存区112中的对照表是否相 同,若是,则进行步骤S26,若否,则进行步骤S251;
步骤S251:复制暂存内存12中的已修改的对照表到对照表储存区112以取 代对照表储存区112中的对照表115,复制完进行歩骤S26;以及
步骤S26:将闪存中的同步参数设定为一已同步的数值。
请参阅图3,其为本发明的闪存储存方法的计算对照表容量的步骤流程图。
图中,此计算流程包含下列步骤
步骤S31:加载闪存的驱动程序以驱动闪存;
步骤S32:计算闪存的总实体记忆区块数S及每一实体记忆区块的大小C;
步骤S33:依据步骤S32所计算的总区块数S以及标示每一区块所需的耗费
的字节L,计算对照表可能消耗的最大容量"S二V;
歩骤S34:根据步骤S33所计算出对照表的最大容量V以及每一实体记忆区 块C的大小,可计算出此对照表需要多少实体记忆区块数V/ON;
步骤S35:将步骤S34计算所得的对照表所需的区块数N乘以一百分比,以 得到需预留用以替换坏块的实体记忆区块数N*%=B;
步骤S36:通知闪存储存系统预留替换坏块的区块数B及对照表需耗费的区 块数N,重新计算闪存的可用的实体记忆区块数量S-(B+N)二M;以及
步骤S37:对可用的实体记忆区块M进行一编号动作。
请参阅图4,其为本发明的闪存储存方法的实施例的流程图,此实施例以可
6执行多线程的系统来实现,其中,线程(thread)为一操作系统分配一中央处理 器(CPU)处理时间的基本技术,而在一管线(Pipeline)中具有多个线程,管线可 依据各线程之间工作的优先级处理数据。多线程百」增加系统的响应速度,且由 于各线程执行时,不受其它同时执行的线程影响,例如程序出错、当机等… 故各线程可同时处理完成工作所需的数据。图中,此闪存储存方法包含下列步 骤
步骤S41:加载闪存的驱动程序以驱动闪存;
步骤S42:设定对照表的工作线程并决定至少一线程的优先处理顺序,这些 线程包含一存取处理线程、 一监视线程及一对照表复制线程;
步骤S43:执行存取及删除扇区数据的线程,此线程依据输入指令进行存取 及删除闪存中数据储存区的扇区数据;
步骤S44:定期监视并回收已使用过扇区的线程,以收集在存取(Access) 的动作中产生的己读写过的扇区并系统一清除数据,于此一线程中,在收集已 读写过的扇区的过程,改变暂存内存内的对照表的内容;
步骤S45:将闪存中的同步参数设为一不同步的数值;
步骤S46:将对照表复制线程设定为最低优先级,于其它线程均运行完毕且
闲置闪存储存系统后,始执行此对照表复制线程以进行步骤S48;
步骤S47:工作流程结束,是否闲置闪存储存系统,若是,则进行步骤S48,
若否,则回到步骤S46;
步骤S48:控制单元侦测到步骤S45所设定的不同步的数值,将暂存内存中 的对照表复制到对照表储存区;以及
步骤S49:将闪存中的同歩参数设为一同步的数值后,回到步骤S43。
请参阅图5,其为本发明的闪存储存方法的回复对照表的流程图。此方法适 用于闪存储存系统重新供应电源后,用以回复对照表,其步骤包含
步骤S51:加载闪存的驱动程序以驱动闪存;
步骤S52:闪存储存系统读取闪存中的同步参数,判断此同步参数是否己设
定为一己同步的数值,若是,则进行步骤S53,若否,则进行步骤S521;
步骤S521:依据实体记忆区块及逻辑记忆区块的对应关系重新产生对照表
储存至暂存内存及对照表储存区,储存完进行步骤S53;
步骤S53:直接使用储存于对照表储存区的对照表;以及 歩骤S54:正常执行闪存储存系统。
权利要求
1、一种闪存储存系统,其特征在于,该系统包含一闪存,包含一数据储存区及一对照表储存区,该对照表记录该数据储存区的实体记忆区块的实体地址及与其相对应的逻辑记忆区块的逻辑地址;一暂存内存;一控制单元,于该闪存被启动时选择性产生该对照表,并将该对照表储存于该暂存内存及该对照表储存区,且该控制单元根据一输入指令对该闪存进行一存取动作,并根据该存取动作修改储存于该暂存内存的对照表,且该控制单元该侦测储存于该对照表储存区的对照表及储存于该暂存内存的对照表之间是否有差异,若是,便将储存于该暂存内存的对照表复制于该对照表储存区。
2、 如权利要求l所述的闪存储存系统,其特征在于,该暂存内存为一随机 存取内存。
3、 如权利要求l所述的闪存储存系统,其特征在于,该控制单元为一可执 行若干个线程的微处理器。
4、 如权利要求3所述的闪存储存系统,其中该些线程包含一存取处理线程、 一监视线程及一对照表复制线程。
5、 如权利要求l所述的闪存储存系统,其特征在于,该闪存更包含一同步 参数,该控制单元根据该同步参数以判断是否须产生该对照表。
6、 如权利要求5所述的闪存储存系统,其特征在于,该控制单元将储存于 该暂存内存的对照表复制于该对照表储存区后,便将该同步参数设定为一表示 己同步的数值。
7、 一种闪存储存方法,适用于一包含一数据储存区及一对照表储存区的闪 存,该对照表储存区用以储存一对照表,该对照表记录该数据储存区的实体记 忆区块的实体地址及与其相对应的逻辑记忆区块的逻辑地址,其特征在于,该 方法包含下列步骤于该闪存被启动时判断是否需产生该对照表,若是,则产生该对照表并将 该对照表储存于该对照表储存区及一暂存内存,若否,则将储存于该对照表储 存区的对照表复制至该暂存内存;根据一输入指令对该闪存进行存取动作,并根据该存取动作修改储存于该 暂存内存的对照表;侦测储存于该对照表储存区的对照表及储存于该暂存内存的对照表之间是 否有差异,若是,便将储存于该暂存内存的对照表复制于该对照表储存区。
8、 如权利要求7所述的闪存储存方法,其特征在于,该暂存内存为一RAM。
9、 如权利要求7所述的闪存储存系统,其特征在于,该判断步骤由一可执 行若干个线程的微处理器来实现。
10、 如权利要求9所述的闪存储存方法,其特征在于,该些线程包含一存取处理线程、 一监视线程及一对照表复制线程。
11、 如权利要求7所述的闪存储存方法,其特征在于,该闪存更包含一同 步参数,该同步参数用以判断是否须产生该对照表。
12、 如权利要求ll所述的闪存储存方法,其特征在于,当储存于该暂存内 存的对照表复制于该对照表储存区后,该同步参数设定为一表示己同步的数值。
全文摘要
本发明揭示一种闪存储存系统及其方法,该系统包括一闪存、一控制单元及一暂存内存,该方法适用于一包含一数据储存区及一对照表储存区的闪存,对照表储存区用以储存一对照表,对照表记录数据储存区的实体记忆区块的实体地址及与其相对应的逻辑记忆区块的逻辑地址,其包含于闪存被启动时判断是否需要产生对照表,若是,则产生对照表并将对照表储存于对照表储存区及一暂存内存,若否,则将储存于对照表储存区的对照表复制至缓存器内存。根据一输入指令对闪存进行存取动作,并根据此存取动作修改储存于暂存内存中的对照表。利用本发明的闪存储存系统及其方法,提高了闪存的启动速度及数据存取的速度。
文档编号G06F12/06GK101458659SQ20071017237
公开日2009年6月17日 申请日期2007年12月14日 优先权日2007年12月14日
发明者曾慧鹏 申请人:环达电脑(上海)有限公司;神达电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1