存储装置及其读写方法转让专利

申请号 : CN200610109740.4

文献号 : CN100583293C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张琦栋后嘉伟徐国祥郑文豪

申请人 : 安国国际科技股份有限公司

摘要 :

一种存储装置及其读写方法,先将闪存所对应的逻辑区块定义为至少一特殊数据管理区域和至少一一般数据管理区域,并针对与外部系统间所传输的数据分别来处理特殊数据内容和一般数据内容,特殊数据管理区域采用动态偏差值的写入方式,而一般数据管理区域则采用相同偏移值的写入方式。由此,特殊数据管理区域可以避免因外部系统时常进行更新而导致必须频繁地搬移数据,进而达到提高闪存读写效能的目的。

权利要求 :

1.一种存储装置,适用于与一外部系统间进行数据的读取与写入,其特 征在于,包括:一闪存,用以存储读写数据,所述闪存包含多个存储区块,每一所述存 储区块具有多个存储页,并且所述存储区块在逻辑地址上可区分为至少一特 殊数据管理区域和至少一一般数据管理区域;及一控制单元,进一步包括:

一区域映射表,用以映射所述存储区块的逻辑地址与物理地址;及

多个页映射表,分别依据每一所述存储区块而产生,用以作为所述存 储页的逻辑地址与物理地址的关联;

其中,所述特殊数据管理区域和所述一般数据管理区域可依据数据被 读取或搬移的频繁度来作为所述两种数据管理区域的处理分配;

其中,所述控制单元为依据所述区域映射表与相对应的页映射表以动态 偏差值方式写入数据至属于所述特殊数据管理区域的存储区块中的存储页, 以及更新相对应的所述区域映射表与页映射表以提供之后读写时的映射使 用;并且所述控制单元为依据所述区域映射表以相同偏移值方式写入数据至 属于所述一般数据管理区域的存储区块中,以及更新相对应的所述区域映射 表以提供之后读写时的映射使用。

2.根据权利要求1所述的存储装置,其特征在于,所述的控制单元进一 步包含:一系统接口,为所述控制单元与所述外部系统间数据的传输通道;

一微处理器,为依据所述区域映射表和所述页映射表以执行读取、写入 和擦除的相关操作;及一存储器接口,为所述控制单元与所述闪存之间的数据传输通道。

3.根据权利要求1所述的存储装置,其特征在于所述的页映射表中每一 所述存储页的逻辑地址可映射至少一物理地址。

4.一种存储装置的写入方法,其中所述存储装置包含一闪存,所述闪存 包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所述 写入方法包括:逻辑定义所述闪存为至少一特殊数据管理区域和至少一一般数据管理 区域;

接收一待写入新数据的逻辑地址;

通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还 是所述一般数据管理区域;

当所述逻辑地址位于所述特殊数据管理区域时,判断所述逻辑地址是否 为接续先前写入数据所处最后累积地址;

当所述逻辑地址是接续所述先前写入数据所处最后累积地址时,则再进 一步判断所属的堆叠区块是否已填满;

如果所述堆叠区块已填满,便进行整理和提取所述堆叠区块中的数据至 另一新的堆叠区块中,并且依据区域映射表与相对应的页映射表取得所述新 的堆叠区块的最新累积地址,进而将所述待写入新数据以动态偏差值方式接 着写入所述最新累积地址之后所映射的物理地址中,并更新所述区域映射表 和所述页映射表;及如果所述堆叠区块未填满,则直接依据所述区域映射表与相对应的所述 页映射表取得最后累积地址,并将所述待写入新数据以所述动态偏差值方式 直接接着写入到所述最后累积地址之后所映射的物理地址中,并更新所述区 域映射表和所述页映射表;

如果所述逻辑地址并非接续所述先前写入数据所处最后累积地址时,则 将所述先前写入数据所处最后累积地址的存储页中之后的数据以区段为单 位复制至所述逻辑地址所指示的相对存储页中,并且取得所属堆叠区块的最 新累积地址;

判断所述逻辑地址所指示的存储页是否从第一区段写入,如果判断结果 为是,则将所述待写入新数据依据所述区域映射表与相对应的所述页映射表 以所述动态偏差值方式写入所述映射的物理地址中,并更新所述区域映射表 及所述页映射表;如果判断结果为否,则以区段为单位复制所述先前写入数 据所处最后累积地址的存储页中之前的数据至所述逻辑地址所指示存储页 的相对地址中,进而再将所述待写入新数据依据所述区域映射表与相对应的 所述页映射表以所述动态偏差值方式写入所述对应的物理地址中,并更新所 述区域映射表和所述页映射表;及如果所述逻辑地址位于所述一般数据管理区域时,则将所述待写入新数 据依据所述区域映射表以相同偏移值方式写入所述闪存的物理地址中。

5.根据权利要求4所述的存储装置的写入方法,其特征在于所述的区域 判断机制为比对事先已定义所述特殊数据管理区域和所述一般数据管理区 域的逻辑分割地址。

6.一种存储装置的写入方法,其中所述存储装置包含一闪存,所述闪存 包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所述 写入方法包括:逻辑定义所述闪存为至少一特殊数据管理区域和至少一一般数据管理 区域;

接收一待写入新数据的逻辑地址;

通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还 是所述一般数据管理区域;

当所述逻辑地址位于所述一般数据管理区域时,则判断所述逻辑地址是 否接续先前写入数据所处最后地址;及当所述逻辑地址为接续所述先前写入数据所处最后地址时,则依据区域 映射表取得所述最后地址映射的物理区块地址,并以相同偏移值方式将所述 待写入新数据写入所述最后地址映射的物理区块地址并更新所述区域映射 表;

如果所述逻辑地址并非接续所述先前写入数据所处的最后地址时,则以 区段为复制单位复制所述先前写入数据所处最后区块的存储页中之后的数 据至所述逻辑地址所指示的新的区块中相对的存储页地址,并且对应所述区 域映射表以取得所述新的物理区块地址;

判断所述逻辑地址所指示的新的区块地址是否从第一存储页开始写入, 如果判断结果为是,则直接将所述待写入新数据以所述相同偏移值方式写入 所述新的物理区块地址并更新所述区域映射表;如果判断结果为否,则进行 复制所述先前写入数据所处最后区块的存储页中之前的数据至所述新的物 理区块地址中相对的存储页地址,并进而再将所述待写入新数据以所述相同 偏移值方式写入所述新的物理区块地址以及更新所述区域映射表;及如果所述逻辑地址位于所述特殊数据管理区域时,则将所述待写入新数 据依据所述区域映射表和相对应的页映射表以动态偏差值方式写入堆叠区 块的最后累积地址映射的物理地址。

7.根据权利要求6所述的存储装置的写入方法,其特征在于所述的区域 判断机制是比对事先已定义的所述特殊数据管理区域和所述一般数据管理 区域的逻辑分割地址。

8.一种存储装置的读取方法,其中所述存储装置包含一闪存,所述闪存 包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所述 闪存被逻辑定义为至少一特殊数据管理区域和至少一一般数据管理区域,所 述读取方法包括:接收一读取数据的逻辑地址;

通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还 是所述一般数据管理区域;

当所述逻辑地址位于所述特殊数据管理区域时,则判断所述逻辑地址是 否符合先前写入数据的最后存储页的地址;

如果所述逻辑地址符合所述先前写入数据的最后存储页地址,则再判断 所述逻辑地址在所述最后存储页地址中是否超过最后区段地址;

如果所述逻辑地址超过所述最后区段地址,则表示所述读取数据位于所 述逻辑地址所属的堆叠区块中的一旧的存储页,而依据区域映射表与相对应 的页映射表以取得所述旧的存储页的物理页地址,并将所述旧的存储页所属 的物理区块中的读取数据读出;

如果所述逻辑地址并未超过所述最后区段地址,则表示所述读取数据已 被整理到一新的存储页,而依据所述区域映射表与相对应的所述页映射表以 取得在所述新的存储页的物理页地址,并将所述新的存储页的物理页地址所 属的物理区块中的读取数据读出;

如果所述逻辑地址不符合所述先前写入数据的最后存储页地址,则直接 依据所述区域映射表和所述页映射表以取得所述逻辑地址所映射的堆叠区 块的物理地址,并将所述堆叠区块对应的物理区块中的读取数据读出;及如果所述逻辑地址为位于所述一般数据管理区域时,则依据所述区域映 射表读取所述读取数据。

9.根据权利要求8所述的存储装置的读取方法,其特征在于所述的区域 判断机制为比对事先已定义所述特殊数据管理区域和所述一般数据管理区 域的逻辑分割地址。

10.一种存储装置的读取方法,其中所述存储装置包含一闪存,所述闪 存包含多个存储区块,每一所述存储区块具有多个存储页,其特征在于,所 述闪存被逻辑定义为至少一特殊数据管理区域和至少一一般数据管理区域, 所述读取方法包括:接收一读取数据的逻辑地址;

通过区域判断机制来判断所述逻辑地址位于所述特殊数据管理区域还 是所述一般数据管理区域;

当所述逻辑地址位于所述一般数据管理区域时,则判断所述逻辑地址是 否符合先前写入数据的最后存储区块地址;

如果所述逻辑地址符合所述先前写入数据的最后存储区块地址,则再判 断所述逻辑地址在所述最后存储区块地址中是否超过最后存储页地址;

如果所述逻辑地址超过所述最后存储页地址,则表示所述读取数据位于 一旧的存储区块中,而依据区域映射表以取得映射于所述旧的存储区块的物 理区块地址,以将所述物理区块地址中的读取数据读出;及如果所述逻辑地址并未超过所述最后存储页地址,则表示所述读取数据 已在一新的存储区块中,而依据所述区域映射表以取得映射于所述新的存储 区块的物理区块地址,以将所述物理区块地址中的读取数据读出;

如果所述逻辑地址不符合所述先前写入数据的最后逻辑区块地址,则直 接依据所述区域映射表以取得所述逻辑地址所映射的物理区块地址,并将所 述物理区块地址中的读取数据读出;及如果所述逻辑地址位于所述特殊数据管理区域时,则依据所述区域映射 表和相对应的页映射表读取所述读取数据。

11.根据权利要求10所述的存储装置的读取方法,其特征在于所述的区 域判断机制为比对事先已定义所述特殊数据管理区域和所述一般数据管理 区域的逻辑分割地址。

说明书 :

技术领域

本发明涉及一种存储装置及其读写方法,特别涉及一种用以提高读写效 能的利用存储器作为存储介质的存储装置及其方法。

背景技术

近年来由于电脑(Computer)、通信(Communication)及消费性电子 (Consumer Electronics)等3C产业的快速发展,在各项产品中,通过内置 的闪存或是读取外部存储卡来作为存储数据的介质,似乎已是必备的功能之 一。然而随着使用者存取数据次数的频繁及存取数据量的日益增加,使得装 置在读写存储介质的速度也就成为使用者选购产品时参考的重点。
虽然闪存具有体积小、容量大、省电、非易失性且耐震等多项优点,但 却有两个硬件电气上的限制,那就是不能直接覆写和擦除(Erase)次数的限 制。而不能直接覆写指在新数据存储之前,原位置的数据区段必须先被擦除 后,才能让新数据重新写入,而擦除运算和重新设定所有存储单元所需要的 时间比读取或写入运算的时间长,以Toshiba TH58NVG1S3AFT05 2Gbit为例, 其读取的速度为50ns、写入的速度为200us而擦除时间为2ms。并且新的可 用空闲空间(Available free space,可立即使用的空间)必须建立在已预先 擦除后的区块。
请参考图1,为公知技术闪存存取结构示意图,如图所示当代表主机端 (Host)的外部系统10送出逻辑区块地址(Logical Block Address,LBA)给 控制单元20后,而控制单元20在与闪存30进行通信时,会通过一个逻辑/ 物理地址映射表21来记录该逻辑区块地址及其映射于闪存30中的物理地址 (Physical Block Address,PBA)以避免每次在数据存取时都必须为了取得 相对应的逻辑地址而从头到尾查找一次。请同时参考图2,为公知技术闪存 中物理地址与逻辑地址的关系示意图及利用该关系所建立的逻辑/物理地址 映射表,逻辑/物理地址映射表21的产生在系统开机时就建立完成,并可例 如设计一SRAM来存储记录该逻辑/物理地址映射表21,而之后在存取数据时, 利用软件查找在SRAM中的逻辑/物理地址映射表21,进而快速得到相对于该 逻辑地址的物理地址。就闪存30的读写而言,写入数据所需的时间比读取 数据的时间来得长,且当数据要写入闪存30的同时又必须考虑其所写的地 址内是否已经有数据存在,如果该地址已有数据存在时必须将此由外部系统 10写入的数据先行写到一个新的可用空闲空间内,并将原本要写入的区块地 址中的数据搬移到新的区块中并变更逻辑/物理地址映射表21以让下个来自 外部系统10的逻辑地址能够映射到物理地址。
然而,在闪存机制中,由于外部系统10存取数据所需的物理地址和逻 辑地址为非线性的对应关系,无法直接由物理地址推知逻辑地址的所在。因 此,当要搬移闪存30中的数据前,必须先进行搜集的操作以搜集原本要写 入的区块地址中的数据,而在搬移之后才在逻辑/物理地址映射表21进行更 新以指定到新的物理地址。但在闪存存取装置中,上述搜集、搬移及指定地 址的过程如果运行过于频繁,便会增加擦除和移动写入的次数,也就相对地 影响到整体写入数据的效能,而其中又例如在微软Windows操作系统下 所进行上述的过程会最为频繁,因此写入效能的差异也最大。
因此,如何在原有闪存的硬件存取结构下,通过软件程序的改进来减少 在各种操作系统下读写闪存效能的差异,甚至提高整体效能,这都是目前值 得进一步改善的地方。

发明内容

有鉴于此,本发明所要解决的技术问题,针对与外部系统间所传输的数 据分为特殊数据内容和一般数据内容来处理,并且采用不同的存取方式来进 行,由此特殊数据管理区域可以避免因外部系统时常更新而导致必须频繁地 搬移数据,进而达到提高闪存读写效能的目的。
为解决上述问题,根据本发明所提出的一种方案是提供一种存储装置, 适用于与外部系统间进行数据的读取与写入,包括:一闪存及一控制单元。 闪存用来存储读写数据,并且进一步包含有多个存储区块,每一存储区块包 括多个存储页,而存储区块在逻辑地址上可区分为至少一特殊数据管理区域 和至少一一般数据管理区域。而控制单元更进一步包括一区域映射表以映射 所述存储区块的逻辑地址与物理地址,以及多个页映射表,为分别依据每一 存储区块而产生,用以作为所述存储页的逻辑地址与物理地址的关联。其中, 控制单元是依据区域映射表与相对应的页映射表并以动态偏差值方式写入 数据至属于该特殊数据管理区域的存储区块中的存储页,以及更新相对应的 该区域映射表与页映射表以提供之后读写时的映射使用。
为了解决上述问题,根据本发明所提出的另一种方案,提供一种存储装 置的写入方法,其中该存储装置包含一闪存,该闪存包含多个存储区块,每 一所述存储区块具有多个存储页,该写入方法包括:首先逻辑定义该闪存为 至少一特殊数据管理区域和至少一一般数据管理区域,并进行接收一待写入 新数据的逻辑地址(Logical Address),进而通过区域判断机制来判断该逻 辑地址位于特殊数据管理区域还是一般数据管理区域,当逻辑地址位于特殊 数据管理区域时,判断该逻辑地址是否接续先前写入数据所处的最后累积地 址,并且当该逻辑地址为接续该先前写入数据所处的最后累积地址时,则再 进一步判断所属的堆叠区块是否已填满,如果该堆叠区块已填满,便进行整 理和提取该堆叠区块中的数据至另一新的堆叠区块中,并且取得该新的堆叠 区块的最新累积地址,以将该待写入新数据依据区域映射表与相对应的页映 射表以动态偏差值方式接着写入在该最新累积地址之后所映射的物理地址; 反之如果该堆叠区块未填满,则直接将该待写入新数据依据该区域映射表与 相对应的该页映射表以该动态偏差值方式直接接着写入在该最后累积地址 之后所映射的物理地址。
为了解决上述问题,根据本发明所提出的再一种方案,提供一种存储装 置的读取方法,其中该存储装置包含一闪存,该闪存包含多个存储区块,每 一所述存储区块具有多个存储页,该闪存定义为至少一特殊数据管理区域和 至少一一般数据管理区域,而所述读取方法包括:首先接收一读取数据的逻 辑地址(Logical Address),并再通过区域判断机制来判断该逻辑地址位于 特殊数据管理区域还是一般数据管理区域,当逻辑地址位于特殊数据管理区 域时,则判断该逻辑地址是否符合先前写入数据的最后存储页的地址,如果 符合该先前写入数据的最后存储页地址,则再判断该逻辑地址在该最后存储 页地址中是否超过最后区段地址,然而如果该逻辑地址超过该最后区段地 址,则表示该读取数据位于该逻辑地址所属的堆叠区块中的一旧的存储页, 而依据区域映射表与相映射的页映射表以取得该旧的存储页的物理页地址, 并将所述旧的存储页的物理页地址所属的物理区块中的读取数据读出;反之 如果该逻辑地址并未超过该最后区段地址,则表示该读取数据已被整理至一 新的存储页,而依据该区域映射表与相对应的该页映射表以取得在该新的存 储页的物理页地址,并将该新的存储页的物理页地址所属的物理区块中的读 取数据读出。
以上的概述与接下来的详细说明及附图,都是为了能进一步说明本发明 为达到预定目的所采取的方式、手段和功效。而有关本发明的其他目的和优 点,将在后续的说明和图示中加以阐述。

附图说明

图1为公知技术闪存存取结构示意图;
图2为公知技术闪存中物理地址与逻辑地址的关系示意图及利用所述关 系所建立的逻辑/物理地址映射表;
图3A为本发明的存储装置的一较佳实施例方框图;
图3B为本发明应用的闪存的结构示意图;
图4A为本发明所使用的页映射表;
图4B为本发明利用页映射表所对应的逻辑页地址与物理页地址的关系 示意图;
图5为本发明存储装置的写入方法的一实施例流程图;
图6为本发明存储装置的写入方法的另一实施例流程图;
图7为本发明存储装置的读取方法的一实施例流程图;及
图8为本发明存储装置的读取方法的另一实施例流程图。
其中,附图标记说明如下:
现有技术:
10:外部系统
20:控制单元
21:逻辑/物理地址映射表
30:闪存
本发明:
1:存储装置
31:存储区块
301:存储页
40:控制单元
41:区域映射表
42:页映射表
43:微处理器
44:系统接口
45:存储器接口

具体实施方式

请同时参考图3A和图3B,为本发明的存储装置的一较佳实施例方框图 和本发明应用的闪存的结构示意图,如图3A所示,本发明提供一种存储装 置1,适用于与外部系统10间进行数据的读取与写入,其包括:一闪存30 和一控制单元40。闪存30是作为读写数据的存储,并且闪存30中包含多个 存储区块31,而每一个存储区块31具有多个存储页301,此外,所述存储 区块31在逻辑地址上可区分为至少一特殊数据管理区域和至少一一般数据 管理区域(如图3B所示),但实际在闪存30的物理地址上,特殊数据管理区 域与一般数据管理区域中的存储区块31为混合共用,并且两种数据管理区 域并非按照一定的排列使用顺序。而特殊数据管理区域可例如用来处理较常 被读取或搬移的数据;一般数据管理区域则用来处理较不需常被读取或搬移 的数据。
而控制单元40可进一步包括:一区域映射表41、多个页映射表42及一 微处理器43,其中区域映射表41用以对应存储区块31的逻辑地址与物理地 址,而每一个存储区块31都会对应有各自的页映射表42,作为存储页301 的逻辑地址与物理地址的关联。并且控制单元40通过其中的系统接口44来 与外部系统10进行数据的传输,而通过其中的存储器接口45来作为与闪存 30之间的数据传输通道,进而微处理器43根据区域映射表41和页映射表 42来执行读取、写入和擦除等相关操作,尤其是在处理特殊数据管理区域时 除了使用区域映射表41之外,还会利用页映射表42来作为存储区块31在 进行存储页301动态偏差值写入时的地址对应,而在特殊数据管理区域中的 存储区块31通过页映射表42所进行的动态偏差值写入,会减少特殊数据管 理区域中的存储区块31受外部系统10的更新频繁而需时常整理的次数。
由此可知,控制单元40会依据区域映射表41与相对应的页映射表42 且以动态偏差值方式写入数据到属于该特殊数据管理区域的存储区块31中 的存储页301,随后便更新相对应的区域映射表41与页映射表42的地址连 结关系以提供之后读写时的对应使用;而在一般数据管理区域部分,则仅依 据区域映射表41且以相同偏移值方式来进行数据写入,并且随后进行更新 区域映射表41的地址连结关系。
请再参考图4A和图4B,为本发明所使用的页映射表和利用页映射表所 映射的逻辑页地址与物理页地址的关系示意图,如图所示,特殊数据管理区 域中,可以至少一存储区块31为单位来对应一个逻辑区块,而本发明以两 个存储区块31为例来说明。在页映射表42中主要分为逻辑页地址的栏位和 物理页地址的栏位,并且所述二栏位中的连结关系会随着外部系统10所输 出的逻辑地址的不同而进行更新。而在图4B中的物理地址以例如两个存储 区块31为说明,分别为第一存储区块和第二存储区块,并再依据动态偏差 值方式进行数据写入,先从第一存储区块写入,待写满之后再写入第二存储 区块中,而在两个存储区块31都写满之后便进行整理到另一新的第一存储 区块,并且再定义一个新的第二存储区块来搭配使用。由于外部系统10所 输出逻辑地址中的逻辑页地址可能会有重复的情形,因此在存储区块31中 会有相同的数据页数据,此时的逻辑页地址会指定在较新的数据页数据上, 并且页映射表42会进行更新关联以映射,而在存储区块31整理时便会依据 页映射表42的关联而仅留下较新的数据页数据。
另外,页映射表42中单一逻辑页地址并非仅限制于映射存储区块31的 单一物理页地址,亦可映射多个物理页地址以避免因使用较多页映射表42 时,占用控制单元40中用以存储页映射表42的空间。
请参考图5,为本发明存储装置的写入方法的一实施例流程图,如图所 示,本发明提供一种存储装置1的写入方法,其中存储装置1包含一闪存30, 而闪存30包含多个存储区块31,并且每一存储区块31具有多个存储页301, 该写入方法包括:首先,逻辑定义闪存30为至少一特殊数据管理区域和至 少一一般数据管理区域(S501),进而接收一待写入新数据的逻辑地址 (S503),其中该逻辑地址包含有存储区块地址、存储页地址及存储区段地址 等。接着通过区域判断机制来判断该逻辑地址位于特殊数据管理区域还是一 般数据管理区域(S505),其中该区域判断机制为比对事先已定义特殊数据管 理区域和一般数据管理区域的逻辑分割地址,以在接收该待写入新数据的逻 辑地址便进行判断所属管理区域。进而当判断结果是该逻辑地址位于特殊数 据管理区域时,便判断该逻辑地址是否接续先前写入数据所处的最后累积地 址(S507),而如果该逻辑地址为接续该先前写入数据所处的最后累积地址 时,则再进一步判断该逻辑地址所属的堆叠区块是否已填满(S509),其中堆 叠区块可以包含至少一存储区块31,而当该堆叠区块已填满时,则进行整理 及提取该堆叠区块中的数据至另一新的堆叠区块中(S511),并且再依据区域 映射表41与相对应的页映射表42来取得该新的堆叠区块的最新累积地址 (S512),进而将所述待写入新数据以动态偏差值方式接着写入在该最新累积 地址之后所对应的物理地址,并更新该区域映射表41和该页映射表 42(S515)。反之,如果该堆叠区块未填满,则直接依据区域映射表41与相 对应的页映射表42取得最后累积地址(S513),并将该待写入新数据以动态 偏差值方式直接接着写入在该最后累积地址之后所对应的物理地址,并更新 该区域映射表41和该页映射表42(S515)。
另外,如果在步骤(S507)判断该逻辑地址是否系接续先前写入数据所处 最后累积地址的判断结果为否时,则表示该逻辑地址指向一新的堆叠区块, 而该先前写入数据则相对位于一旧的堆叠区块中,进而在旧的堆叠区块最后 使用存储页301所对应的物理页中,以该逻辑地址的存储区段地址为相对地 址,将所述相对地址之后的数据以区段(Sector)为单位复制至该逻辑地址所 指向的新的堆叠区块的存储页301所对应物理页的相对地址中(S517),并且 取得新的堆叠区块的最新累积地址(S519)。此时再进一步判断该逻辑地址所 指示的存储页301是否从该存储页301的第一区段写入(S521),如果判断结 果为是,则将该待写入新数据再依据该区域映射表41与相对应的该页映射 表42以该动态偏差值方式写入该对应的物理地址中,并更新该区域映射表 41和该页映射表42(S515);相反的如果判断结果为否,则在旧的堆叠区块 最后使用存储页301所对应的物理页中,以该逻辑地址的存储区段地址为相 对地址,将该相对地址之前的数据以区段为单位复制至该逻辑地址所指向的 新的堆叠区块的存储页301所对应物理页的相对地址中(S523),并再将该待 写入新数据依据该区域映射表41与相对应的该页映射表42以该动态偏差值 方式接续写入该映射的物理地址中,并更新该区域映射表41和该页映射表 42(S515)。
而如果在步骤(S505)判断管理区域的结果为位于一般数据管理区域时, 则以相同偏移值方式写入数据至闪存30(S525)中。而一般数据管理区域的部 分请再参考图6,为本发明存储装置的写入方法的另一实施例流程图,如图 所示主要是本发明针对一般数据管理区域的数据写入方法作进一步的说明, 其中在步骤(S601)至(S605)的部分与图5中的步骤(S501)至(S505)相同,而 在步骤(S605)判断管理区域的结果为一般数据管理区域时,则进行判断该逻 辑地址是否接续先前写入数据所处的最后地址(S607),如果该逻辑地址是接 续先前写入数据所处的最后地址时,则依据区域映射表41取得该最后地址 映射的物理区块地址(S609),并以相同偏移值方式将待写入新数据写入该映 射的物理区块地址,并更新该区域映射表41(S611)。
此时如果步骤(S607)的判断结果为否,即表示所接收的逻辑地址并非接 续所述先前写入数据所处的最后地址,则表示该逻辑地址指向一新的存储区 块,而该先前写入数据则相对位于一旧的存储区块中,进而在旧的存储区块 最后使用存储页301所对应的物理页中,以该逻辑地址的存储区段地址为相 对地址,将该相对地址之后的数据以区段为单位复制至该逻辑地址所指向的 新的存储区块的存储页301所映射物理页的相对地址中(S613),并且对应区 域映射表41以取得该新的存储区块地址映射的新的物理区块地址(S615), 随后再进一步判断逻辑地址所要写入新的区块地址是否从该新的存储区块 地址的第一存储页301开始写入(S617),如果判断结果为是,则直接将该待 写入新数据以相同偏移值方式写入该新的物理区块地址,并更新该区域映射 表41(S611);相反的如果判断结果为否,则在旧的存储区块最后使用存储页 301所映射的物理页中,以该逻辑地址的存储区段地址为相对地址,将该相 对地址之前的数据以区段为单位复制至该逻辑地址所指向的新的存储区块 的存储页301所映射物理页的相对地址中(S619),之后再将该待写入新数据 以该相同偏移值方式写入该新的物理区块地址,并更新该区域映射表 41(S611)。
相同的,如果步骤(S605)判断管理区域的结果为特殊数据管理区域,则 参考图5所示以动态偏差值方式进行数据写入至闪存30中(S621)。
请参考图7,为本发明存储装置的读取方法的一实施例流程图,如图所 示,本发明提供一种存储装置1的读取方法,其中存储装置1包含一闪存30, 该闪存30包含多个存储区块31,每一存储区块31具有多个存储页301,并 且该闪存30被逻辑定义为至少一特殊数据管理区域和至少一一般数据管理 区域,而该读取方法包括:首先接收一读取数据的逻辑地址(S701),其中该 逻辑地址包含有存储区块地址、存储页地址和存储区段地址。进而通过区域 判断机制来判断该逻辑地址位于特殊数据管理区域还是一般数据管理区域 (S703),而该区域判断机制用以定义特殊数据管理区域和一般数据管理区域 的逻辑分割地址,以在接收所述待读取数据的逻辑地址时便进行判断所属管 理区域。当该逻辑地址位于特殊数据管理区域时,则判断该逻辑地址是否符 合先前写入数据的最后存储页的地址(S705),如果该逻辑地址符合先前写入 数据的最后存储页地址时,则再进一步判断该逻辑地址在该最后存储页地址 中是否超过一最后区段地址(S707),当该逻辑地址超过该最后区段地址,则 表示该读取数据位于该逻辑地址所属的堆叠区块的一旧的存储页中,而依据 区域映射表41与相对应的页映射表42以取得该旧的存储页的物理页地址 (S709),并将该旧的存储页的物理页地址所属的物理区块中的读取数据读出 (S711);反之如果该逻辑地址并未超过该最后区段地址,则表示该读取数据 已被整理至一新存储页中,而依据该区域映射表41与相对应的该页映射表 42以取得在该新的存储页的物理页地址(S713),并将该新的存储页的物理页 地址所属的物理区块中的读取数据读出(S711),其中,该堆叠区块可例如包 含至少一存储区块31。
而在步骤(S705)的判断结果,该逻辑地址不符合先前写入数据的最后存 储页地址时,则直接依据该区域映射表41和该页映射表42以取得该逻辑地 址所映射的堆叠区块的物理地址(S715),并将该堆叠区块映射的物理区块中 的读取数据读出(S711)。
另外,如果根据步骤(S703)的判断结果,该逻辑地址位于一般数据管理 区域时,则可依据区域映射表41读取该读取数据(S717),而关于一般数据 管理区域的部分请再参考图8,为本发明存储装置的读取方法的另一实施例 流程图,其中在步骤(S801)至(S803)的部分与图7中的步骤(S701)至(S703) 相同,而如果在步骤(S803)判断管理区域的结果为一般数据管理区域时,则 判断该读取数据的逻辑地址是否符合先前写入数据的最后存储区块地址 (S805),如果该逻辑地址符合该先前写入数据的最后存储区块地址时,则再 进一步判断该逻辑地址在该最后存储区块地址中是否超过最后存储页地址 (S807),如果该逻辑地址超过该最后存储页地址,则表示该读取数据系位于 一旧的存储区块中,而依据区域映射表41以取得映射该旧的存储区块的物 理区块地址(S809),以将该物理区块地址中的读取数据读出(S811);反之如 果该逻辑地址并未超过该最后存储页地址,则表示该读取数据系已在新的存 储区块中,因此依据该区域映射表41以取得映射该新的存储区块的物理区 块地址(S813),以将该物理区块地址中的读取数据读出(S811)。
此外,如果步骤(S805)的判断结果为否,即表示该逻辑地址不符合该先 前写入数据的最后逻辑区块地址,便直接依据该区域映射表41以取得该逻 辑地址所映射的物理区块地址(S815),并将该物理区块地址中的读取数据读 出(S811)。相同的,如果步骤(S803)判断管理区域的结果为特殊数据管理区 域,则参考图5所示依据该区域41和相映射的页映射表42读取该读取数据 (S817)。
附带一提的是,上述的区域映射表41和页映射表42主要用于映射逻辑 地址与物理地址的关联,如果在任何情形下需取得物理地址时,便会使用到 这两个映射表。
以上所述,仅为本发明的具体实施例的详细说明和图示,并非用以 限制本发明,本发明的所有范围应以权利要求书为准,任何本领域普通 技术人员在本发明领域内,作出各种等效、修饰和变化,其均属于本发 明的权利要求书的保护范围之内。