数据快取架构与其使用的快取算法制造技术

技术编号:2912784 阅读:184 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据快取架构与其使用的快取算法,该数据快取架构包括:一缓冲存储器,其从该主机接收数据;一存储器控制器,其调配该缓冲存储器内的数据;以及一数据高速缓存,是由该存储器控制器根据一快取算法所控制。本发明专利技术的数据快取架构与其使用的快取算法可以被用来减少与非门型快闪装置的烧写/擦除次数。

【技术实现步骤摘要】

本专利技术涉及一种数据快取(data cache)架构与一种快取算法,尤其涉及一种适用于与非门(NAND)型快闪装置的数据快取架构与其使用的快取算法,以减少与非门型快闪装置的烧写/擦除(program/erase)次数。
技术介绍
在一与非门型快闪储存应用产品中,烧写/擦除次数是决定该快闪储存应用产品的寿命(即,平均失效时间,mean time between failures,MTBF)的重要因素。不幸地,快闪储存应用产品的烧写/擦除次数的规格会随着半导体工艺技术的演变(例如,从65纳米工艺演变到45纳米工艺)而逐渐变少。公知技术的快取算法中,快取可分为指令快取(instruction cache)以及数据快取(data cache),其用来改善指令编码或数据的撷取时间。即,中央处理器可以从指令快取以及数据快取中直接存取指令编码或数据,而不需要花较长的存取时间从主存储器(外接存储器)中撷取。就快取算法而言,快取容量(cache size)、快取标签存储器容量(cachetag memory size)与快取击中率(cache hit rate)为评估快取算法的重要因素。快取容量越大,快取击中率也就越高;但同时,较大的快取容量也造成较高的高速缓存成本,并且需要更复杂的快取标签存储器控制硬件。公知技术的快取算法中,高速缓存是平均分割的。举例来说,对于32位中央处理器,指令快取的单位为32位。如果总快取容量为8KB(千字节),则会有2K(8KB/32位)个快取项目(cache entry);如果总快取容量为16KB(千字节),则会有4K(16KB/32位)个快取项目,而允许更高的快取击中率。从闪存的观点,闪存具有一个很重要的特性,即同一快闪区块不能被“重复写入”(overwritten)。如果使用者欲重复写入数据,此快闪区块必须先-->被擦除然后才可以被烧写(写入),这样就算一次烧写/擦除。对于多层式记忆元(multiple level cell,MLC)闪存来说,其具有另一特性,即使用者必须在一区块内依序写入页面数据(page data)。换言之,使用者必须在一区块内依序写入第一页面数据、第二页面数据...,而不可以先写入第四页面数据再写入第二页面数据,因为这样的“逆向写入”(reversewrite)会造成闪存内的数据发生错误。
技术实现思路
然而,主机有时候会逆向写入数据于一区块中。为了解决此问题,当一区块中的数据已经塞满时,使用者必须先将数据“快取”至高速缓存内,再写回闪存。通过这种方式,可轻易地解决闪存的“逆向写入”与“重复写入”的问题,并且减少闪存的烧写/擦除次数,以进一步改善闪存的寿命。本专利技术的一目的在于提供一种数据快取架构,其使用于一与非门型快闪装置中,以减少与非门型快闪装置的烧写/擦除次数。本专利技术的另一目的在于提供一种快取算法,使用两种不同功函数的电极,其使用于一与非门型快闪装置的数据快取架构中,以减少与非门型快闪装置的烧写/擦除次数。为达上述目的,本专利技术提供一种设置于一主机与一闪存之间的数据快取架构,该数据快取架构包括:一缓冲存储器,其从该主机接收数据;一存储器控制器,其调配该缓冲存储器内的数据;以及一数据高速缓存,是由该存储器控制器根据一快取算法所控制。本专利技术的数据快取架构与其使用的快取算法可以被用来减少与非门型快闪装置的烧写/擦除次数。优选地,该缓冲存储器为一静态随机存取存储器(static random accessmemory,SRAM)。优选地,该存储器控制器包括一微处理器。优选地,该数据高速缓存为一同步动态随机存取存储器(synchronousdynamic random access memory,SDRAM)。优选地,该数据高速缓存被分割成至少多个大快取容量区块以及多个小快取容量区块。优选地,该数据高速缓存被分割成至少多个大快取容量区块、多个中快-->取容量区块以及多个小快取容量区块。优选地,该快取算法是以一应用软件或一硬件完成。优选地,该快取算法包括以下步骤:(a)判断该主机写入的数据是否大于或等于一储存区(sector)临界数;(b)判断快取击中(cache hit)是否发生于该大快取容量区块内;以及(c)如果该主机写入的数据小于该储存区临界数而且快取击中并未发生于该大快取容量区块内,写入数据至该小快取容量区块,否则写入数据至该大快取容量区块。优选地,该步骤(c)包括以下步骤:(c11)判断快取击中是否发生于该小快取容量区块内;以及(c12)如果该主机写入的数据小于该储存区临界数而且快取击中发生于该大快取容量区块内但是并未发生于该小快取容量区块内,写入数据至该大快取容量区块,否则,如果该主机写入的数据小于该储存区临界数而且快取击中发生于该大快取容量区块以及该小快取容量区块内,将该小快取容量区块内的数据汇集至该大快取容量区块内并且接着写入数据至该大快取容量区块。优选地,该步骤(c)包括以下步骤:(c21)判断快取击中是否发生于该小快取容量区块内;以及(c22)如果该主机写入的数据大于或等于该储存区临界数而且快取击中并未发生于该大快取容量区块内以及该小快取容量区块内,写入数据至该大快取容量区块,否则,如果该主机写入的数据大于或等于该储存区临界数而且快取击中发生于该小快取容量区块但是并未发生于该大快取容量区块内,将该小快取容量区块内的数据汇集至该大快取容量区块内并且接着写入数据至该大快取容量区块。优选地,该步骤(c)包括以下步骤:(c31)判断快取击中是否发生于该小快取容量区块内;以及(c32)如果该主机写入的数据大于或等于该储存区临界数而且快取击中发生于该大快取容量区块内但是并未发生于该小快取容量区块内,写入数据至该大快取容量区块,否则,如果该主机写入的数据大于或等于该储存区临界数而且快取击中发生于该大快取容量区块以及该小快取容量区块内,将-->该小快取容量区块内的数据汇集至该大快取容量区块内并且接着写入数据至该大快取容量区块。本专利技术还提供一种快取算法,其使用于一数据快取架构,该数据快取架构包括一分割成至少多个大快取容量区块以及多个小快取容量区块的数据高速缓存,其中该快取算法包括以下步骤:(a)判断该主机写入的数据是否大于或等于一储存区(sector)临界数;(b)判断快取击中(cache hit)是否发生于该大快取容量区块内;以及(c)如果该主机写入的数据小于该储存区临界数而且快取击中并未发生于该大快取容量区块内,写入数据至该小快取容量区块,否则写入数据至该大快取容量区块。优选地,该步骤(c)包括以下步骤:(c11)判断快取击中是否发生于该小快取容量区块内;以及(c12)如果该主机写入的数据小于该储存区临界数而且快取击中发生于该大快取容量区块内但是并未发生于该小快取容量区块内,写入数据至该大快取容量区块,否则,如果该主机写入的数据小于该储存区临界数而且快取击中发生于该大快取容量区块以及该小快取容量区块内,将该小快取容量区块内的数据汇集至该大快取容量区块内并且接着写入数据至该大快取容量区块。优选地,该步骤(c)包括以下步骤:(c21)判断快取击中是否发生于该小快取容量区块内;以及(c22)如果该主机写入的数据大于或等于该储存区临界数而且快取本文档来自技高网
...

【技术保护点】
一种数据快取架构,设置于一主机与一闪存之间,该数据快取架构包括: 一缓冲存储器,其从该主机接收数据; 一存储器控制器,其调配该缓冲存储器内的数据;以及 一数据高速缓存,其由该存储器控制器根据一快取算法所控制。

【技术特征摘要】
1.一种数据快取架构,设置于一主机与一闪存之间,该数据快取架构包括:一缓冲存储器,其从该主机接收数据;一存储器控制器,其调配该缓冲存储器内的数据;以及一数据高速缓存,其由该存储器控制器根据一快取算法所控制。2.如权利要求1所述的数据快取架构,其中该缓冲存储器为一静态随机存取存储器。3.如权利要求1所述的数据快取架构,其中该存储器控制器包括一微处理器。4.如权利要求1所述的数据快取架构,其中该数据高速缓存为一同步动态随机存取存储器。5.如权利要求1所述的数据快取架构,其中该数据高速缓存被分割成至少多个大快取容量区块以及多个小快取容量区块。6.如权利要求1所述的数据快取架构,其中该数据高速缓存被分割成至少多个大快取容量区块、多个中快取容量区块以及多个小快取容量区块。7.如权利要求1所述的数据快取架构,其中该快取算法是以一应用软件或一硬件完成。8.如权利要求5所述的数据快取架构,其中该快取算法包括以下步骤:(a)判断该主机写入的数据是否大于或等于一储存区临界数;(b)判断快取击中是否发生于该大快取容量区块内;以及(c)如果该主机写入的数据小于该储存区临界数而且快取击中并未发生于该大快取容量区块内,写入数据至该小快取容量区块,否则写入数据至该大快取容量区块。9.如权利要求8所述的数据快取架构,其中该快取算法的步骤(c)包括以下步骤:(c11)判断快取击中是否发生于该小快取容量区块内;以及(c12)如果该主机写入的数据小于该储存区临界数而且快取击中发生于该大快取容量区块内但是并未发生于该小快取容量区块内,写入数据至该大快取容量区块,否则,如果该主机写入的数据小于该储存区临界数而且快取击中发生于该大快取容量区块以及该小快取容量区块内,将该小快取容量区块内的数据汇集至该大快取容量区块内并且接着写入数据至该大快取容量区块。10.如权利要求8所述的数据快取架构,其中该快取算法的步骤(c)包括以下步骤:(c21)判断快取击中是否发生于该小快取容量区块内;以及(c22)如果该主机写入的数据大于或等于该储存区临界数而且快取击中并未发生于该大快取容量区块内以及该小快取容量区块内,写入数据至该大快取容量区块,否则,如果该主机写入的数据大于或等于该储存区临界数而且快取击中发生于该小快取容量区块但是并未发生于该大快取容量区块内,将该小快取容量区块内的数据汇集至该大快取容量区块内并且接着写入数据至该大快取容量区块。11.如权利要求8所述的数据快取架构,其中该快取算法的步骤(c)包括以下步骤:(c31)判断快取击中是否发生于该小快取容量区块内;以及(...

【专利技术属性】
技术研发人员:林燕钦王信忠林俊宏
申请(专利权)人:鑫创科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1