数据存取整合方法及其系统技术方案

技术编号:2829470 阅读:222 留言:0更新日期:2012-04-11 18:40
本发明专利技术为一种数据存取整合方法及其系统,应用于数据存储器,该方法包含下列步骤:依序接收由总线所传输的M个数据存取命令,该M个数据存取命令可具有不同命令类型;以及,当M个数据存取命令中包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据上述这些存取地址的顺序,将N个数据存取命令调整顺序,对该数据存储器连续存取N个数据存取命令所对应的第一数据。本发明专利技术能够显著提升存储器的读写效率。

【技术实现步骤摘要】

本专利技术涉及一种数据存取整合方法,尤其涉及应用于快闪存储器(Flash Memory)的数据存取整合方法。
技术介绍
众所周知,在存储器的应用中,连续存取永远比随机存取的效率高出许 多,此特性在快闪存储器的应用上尤其显著。举例来说,在读取时,若随机 读取需要25ps的读取时延(latency),则连续读取可縮减至25ns的读取时 延。另外,又由于快闪存储器的写入与读取都需要以一个页为单位(通常为 2K 4K至8K字节(Byte)),故连续读取或写入以页为单位的数据将有助于 提升快闪存储器的应用效率。再则快闪存储器在第一次写入时必须要经过区 块擦除(Block Erase)的动作,亦即,擦除(Erase)动作是以一个区块(Block)(约为64个页)为单位。通常一页的写入时延(page program)为200jis, 而擦除的时延为1.5ms。由此可见在快闪存储器的应用中连续存取的重要性。举例来说,已知主机端与快闪存储器之间利用高级技术配件(Advanced Technology Attachment,简称ATA)总线来进行快闪存储器内的数据读写动 作。根据ATA总线的规格,主机进行存取动作时,每次只能够发出一个读 取或者写入的命令,而且每次数据读取命令或者数据写入命令的数据传递是 以一个扇区(Sector, 256字(Word^512字节-0.5KB)为单位。也就是说, 当主机发出一个数据读取命令至快闪存储器之后,除非快闪存储器响应主机 读取数据或者响应读取失败时,主机才可以再次发出下一个数据读取命令或 者数据写入命令至快闪存储器。同理,当主机发出一个数据写入命令至快闪 存储器之后,除非快闪存储器响应写入成功或者响应读取失败时,主机才可 以再次发出下一个数据读取命令或者数据写入命令至快闪存储器。因此,已知快闪存储器中的控制器一次只能接受一个命令(数据读取或 数据写入的命令),在完成这个命令前无法预知到下一个命令到底是什么。请参见图1,其为主机(Host)端对快闪存储器依序所发出的数据读取命令 或数据写入命令(或称之为数据存取命令)列表。所以在图1中,假设主机 端总共对快闪存储器控制器依序发出了 11个数据读取或数据写入命令,传统 的快闪存储器只能按部就班地依序执行11次读取或写入的动作,因此,快闪 存储器控制器一次能够处理多少的数据量,都只能被动地由主机端来决定。由图1可知,主机每次发出的命令包括命令类型(Command Type)、 逻辑块地址(Logic Block Addressing, LBA)、扇区数目(Sector Count)。 另外,假设快闪存储器一页的数据量为2K字节。以下将计算主机连续执行 11次数据读取命令或者数据写入命令时所花费的时间。(一) 当主机发出第一个命令,读取由LB AO开始的2个扇区的数据(共 1KB〈1页),此时快闪存储器需要一个随机读取时延(25jis )。(二) 当主机发出第二个命令,写入由LBA20开始的1个扇区(0.5KB) 的数据,此时,快闪存储器需要一个区块擦除时间(1.5ms)加上一个写入时 延(200ps)。(三) 当主机发出第三个命令,读取由LBA2开始的2个扇区的数据(共 1KB〈1页),此时,快闪存储器需要一个随机读取时延(25ps)。(四) 当主机发出第四个命令,写入由LBA22开始的l个扇区(0.5KB) 的数据,此时,快闪存储器需要一个写入时延(200pS)。(五) 当主机发出第五个命令,读取由LBA10开始的3个扇区的数据(共 1.5KB〈1页),此时,快闪存储器需要一个随机读取时延(25|as)。(六) 当主机发出第六个命令,读取由LBA13开始的5个扇区的数据(共 2.5KB>1页),此时,快闪存储器需要一个随机读取时延(25|as)以及连续 读取时延(25ns)。(七) 当主机发出第七个命令,写入由LBA23开始的5个扇区(2.5KBM 页)的数据,此时,快闪存储器需要二个写入时延(400fis)。(八) 当主机发出第八个命令,写入由LBA28开始的2个扇区的数据, 此时,快闪存储器需要一个写入时延(200pS)。(九) 当主机发出第九个命令,读取由LBA18开始的2个扇区的数据(共 1KB〈1页),此时,快闪存储器需要一个随机读取时延(25ps)。(十)当主机发出第十个命令,写入由LBA30开始的2个扇区的数据,此时,快闪存储器需要一个写入时延(200ps)。(十一)当主机发出第十一个命令,写入由LBA32开始的2个扇区的数 据,此时,快闪存储器需要一个写入时延(200^)。因此,写入6.5K字节的数据需要执行一次的区块擦除时间以及七次的写 入时延,花费时间为1.5ms + 0.2msx7 = 2.9ms,而读取7KB的数据需要执行 五次随机读取时延以及 一 次的连续读取时延,花费时间为 25^isx5+25ns=125.025ps ,因此所有命令完成所花费的时间为2.9ms+ 125.025(xs = 3.025025mS。而目前也有在快闪存储器中加入一个缓冲器(Buffer)的做法,当主机 端对快闪存储器进行读取时,缓冲器可进行将主机端所发出的命令进行预存 (pre-fetch)的动作以降低读取时延,但在写入数据的时候,依旧没有使写 入效率提高的方法,如此对于整体效率提升的范围实在有限。
技术实现思路
因此,如何使快闪存储器能有更好的存取效率,为本专利技术的最主要的目的。本专利技术为一种数据存取整合方法,应用于数据存储器,包含下列步骤 依序接收由总线所传输的M个数据存取命令;当M个数据存取命令中包含 具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据上述这些存取地址的顺序,将N个数据存取命令调整顺序 (Re-order),对该数据存储器连续存取N个数据存取命令所对应的第一数 据。上述数据存取整合方法中,所述M个数据存取命令可具有不同命令类 型,包括数据读取命令与数据写入命令。上述数据存取整合方法中,当第一数据读取命令与第一数据写入命令具 有相同地址时,所述第一数据读取命令可与所述第一数据写入命令依序存取, 不与其它数据存取命令调整顺序。上述数据存取整合方法还可包括以下步骤当所述N个数据存取命令的 数目达到存储数目时,则所述第一数据先进行存取后,再进行其它数据存取 命令调整顺序。上述数据存取整合方法中还可包括以下步骤M个数据存取命令中,包 含具有相同命令类型并具有符合连续地址关系的存取地址的K个数据存取命 令,但不同于N个数据存取命令的命令类型时,则根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存储器连续存取K个数据存取命令所对应的第二数据。上述数据存取整合方法中还可包括以下步骤当所述N个数据存取命令 与K个数据存取命令的总和数目达到存储数目时,则所述第一数据与第二数据至少任一组先进行存取后,再进行其它数据存取命令调整顺序。 上述数据存取整合方法中,所述总线可为序列式高级技术配件总线。 上述数据存取整合方法中,所述数据存储器可为快闪存储器。 另外,本专利技术为一种控制数据存取装置,对数据存储器进行数据存取,包含命令序列,依序接收由总线所传输的M个数据存取命令;控制程序, 连本文档来自技高网
...

【技术保护点】
一种数据存取整合方法,应用于数据存储器,其特征是,包含以下步骤:依序接收由总线所传输的M个数据存取命令;以及当M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据所述多个存 取地址的顺序,将N个数据存取命令调整顺序,对所述数据存储器连续存取N个数据存取命令所对应的第一数据。

【技术特征摘要】
1.一种数据存取整合方法,应用于数据存储器,其特征是,包含以下步骤依序接收由总线所传输的M个数据存取命令;以及当M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据所述多个存取地址的顺序,将N个数据存取命令调整顺序,对所述数据存储器连续存取N个数据存取命令所对应的第一数据。2. 根据权利要求1所述的数据存取整合方法,其特征是,其中所述M 个数据存取命令具有不同命令类型,包括数据读取命令与数据写入命令。3. 根据权利要求2所述的数据存取整合方法,其特征是,当第一数据读 取命令与第一数据写入命令具有相同地址时,所述第一数据读取命令与所述第一数据写入命令依序存取,不与其它数据存取命令调整顺序。4. 根据权利要求1所述的数据存取整合方法,其特征是,还包括以下步 骤当所述N个数据存取命令的数目达到存储数目时,则所述第一数据先进 行存取后,再进行其它数据存取命令调整顺序。5. 根据权利要求1所述的数据存取整合方法,其特征是,还包括以下步 骤M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系 的存取地址的K个数据存取命令,但不同于N个数据存取命令的命令类型时, 则根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存 储器连续存取K个数据存取命令所对应的第二数据。6. 根据权利要求5所述的数据存取整合方法,其特征是,还包括以下步 骤当所述N个数据存取命令与K个数据存取命令的总和数目达到存储数目 时,则所述第一数据与第二数据至少任一组先进行存取后,再进行其它数据 存取命令调整顺序。7. 根据权利要求1所述的数据存取整合方法,其特征是,其中所述总线 为序列式高级技术配件总线。8. 根据权利要求1所述的数据存取整合方法,其特征是,其中所述数据 存储器为快闪存储器。9. 一种数据存取装置,对数据存储器进行数据存取,其特征是包含 命令序列,依序接收由总线所传输的M个数据存取命令; 控制程序,连接所述命令序列,并对所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命 令,以所述多个存取地址的顺序,将N个数据存取命令调整顺序,控制对所述数据存储器连续存取N个数据存取命令所对应的第一数据。10. 根据权利要求9所述的控制数据存取装置,其特征是,还包含数 据暂存区,连接所述总线与所述数据存储器,并受所述控制程序的控制,以 对所述数据存储器存取所述第一数据。11. 根据权利要求...

【专利技术属性】
技术研发人员:钟健平陈佳欣刘名哲
申请(专利权)人:祥硕科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1