一种减少存储技术设备中地址映射表常驻内存的方法技术

技术编号:3802184 阅读:308 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种减少存储技术设备中地址映射表常驻内存的方法,将需要使用的部分地址映射表和相应的映射关系常驻在内存中,当要访问不在内存中的逻辑地址组时,对常驻在内存中的逻辑地址组进行扫描,根据扫描结果把要访问的逻辑地址组替换内存中过期的逻辑地址组。本发明专利技术相对现有技术优点在于:为了节省内存的使用,利用局部性原理,只缓存地址映射表一部分和对应的映射关系,系统利用这两个信息就可以随时通过扫描整个nand?flash重新建立完整的映射关系。

【技术实现步骤摘要】

本专利技术涉及一种减少常驻内存的方法,尤其涉及一种减少存储技术设备中地址映 射表常驻内存的方法。
技术介绍
如今越来越多的嵌入式操作系统中,通常都使用flash作为主存介质。许多开发 者和用户为了方便以后升级用户程序,通常在flash上建立文件系统,建立文件系统后,就 可以像在windows操作系统下对硬盘操作一样,进行数据的拷贝、删除以及文件的建立等 操作。不同厂商、不同flash结构导致闪存的控制命令有所差异,不同容量导致地址字 节数不同。在存储技术设备层(MTD,Memory Technology Driver s)需要针对这些差异,实 现相应的驱动。而且存储技术设备层应该封装这些差异向FTUFlashTranslation Layer, 闪存翻译层)层提供统一的接口,使得FTL层能够访问任意物理地址的数据,而不关心控制 命令序列和地址字节数。存储技术设备层的核心任务就是在不稳定的物理介质上实现一个 健壮的逻辑存储设备。存储技术设备存在一个从逻辑地址到物理地址的地址映射表,该映射表是以nand flash的块(block)为单位的映射,映射表常驻在物理内存中。现有的实现方式是采用数组缓冲所有的地址映射表的方式,毫无疑问,这种方式 简单、快速,不需要额外的代价直接由逻辑地址获取物理地址。但是存在以下两个方面的缺点。1)存储技术设备占用的内存很大,并且随着nand flash块数的增加会不断的增 加。目前很多款nand flash的块数达到了 8192个,因为每个块的地址至少要用两个字节 的数据类型来表示,仅仅映射表就要占用16K的内存。如果将来nand flash的块数继续以 指数增长,对内存及其有限的嵌入式系统来说,是不可忍受的。2)某个时间段,系统访问的地址只会是其中的一小部分,甚至,对于很大一部分地 址,整个运行过程中都不会被访问或者只访问一次。16K的内存空间一直被占用,导致极大 的浪费。权利要求,其特征在于,将部分需要使用的地址映射表和相应的映射关系常驻在内存中,当要访问不在内存中的逻辑地址组时,对常驻在内存中的逻辑地址组进行扫描,根据扫描结果把要访问的逻辑地址组替换内存中过期的逻辑地址组。2.根据权利要求1所述的,其特 征在于,所述的逻辑地址组是多个连续逻辑地址的集合,逻辑地址组个数和逻辑地址组内 元素个数是2的整数次幂,并且常驻在内存中的总地址数小于256。3.根据权利要求1所述的,其特 征在于,所述的替换过程首先进行扫描预处理将所有的逻辑地址组组成一个先进先出队 列,最高逻辑地址组对应队列头,最低逻辑地址组对应队列尾;然后从队列头开始扫描。4.根据权利要求1或3所述的, 其特征在于,所述的扫描过程,当扫描到没有被引用而且没有被修改的逻辑地址组,则将该 逻辑地址组作为被替换对象,扫描结束。5.根据权利要求1或3所述的, 其特征在于,所述的扫描过程,当扫描到没有被引用但已经被修改的逻辑地址组,则先记录 第一个同类逻辑地址组的组号,继续查找下一个逻辑地址组。6.根据权利要求1或3所述的, 其特征在于,所述的扫描过程,当扫描到既被引用又被修改的逻辑地址组,则把被访问标识 清零后将该逻辑地址组放入队列的尾,查看是否记录了没有被引用但已经被修改的逻辑地 址组,如果有则将该逻辑地址组作为被替换对象,扫描结束;如果没有找到没有被引用但已 经被修改的逻辑地址组,则重新扫描。7.根据权利要求1或3所述的, 其特征在于,所述的扫描过程,当扫描到被引用但没有被修改的逻辑地址组,则把被访问标 识清零,查看是否记录了没有被引用但已经被修改的逻辑地址组,如果有则将该逻辑地址 组作为被替换对象,扫描结束;如果没有找到没有被引用但已经被修改的逻辑地址组,则重 新扫描。8.根据权利要求1或3所述的, 其特征在于,所述的扫描过程,当被替换的逻辑地址组的被修改标识为1,则在替换该逻辑 地址组后更新记录在nand flash中记录的映射关系;否则直接替换该逻辑地址组,并且不 更新映射关系。9.根据权利要求1所述的,其 特征在于,所述的替换过程当要被替换的逻辑地址组已经被修改,在替换前先检查nand flash块的剩余空间是否足够存储该逻辑地址组的所有地址信息,如果剩余空间不够,要分 配一个新的块存储该逻辑地址组的所有地址信息。全文摘要本专利技术公开了,将需要使用的部分地址映射表和相应的映射关系常驻在内存中,当要访问不在内存中的逻辑地址组时,对常驻在内存中的逻辑地址组进行扫描,根据扫描结果把要访问的逻辑地址组替换内存中过期的逻辑地址组。本专利技术相对现有技术优点在于为了节省内存的使用,利用局部性原理,只缓存地址映射表一部分和对应的映射关系,系统利用这两个信息就可以随时通过扫描整个nand flash重新建立完整的映射关系。文档编号G06F12/12GK101833519SQ20091003784公开日2010年9月15日 申请日期2009年3月12日 优先权日2009年3月12日专利技术者徐畅, 胡胜发, 范敬才, 赵俊化 申请人:安凯(广州)软件技术有限公司本文档来自技高网...

【技术保护点】
一种减少存储技术设备中地址映射表常驻内存的方法,其特征在于,将部分需要使用的地址映射表和相应的映射关系常驻在内存中,当要访问不在内存中的逻辑地址组时,对常驻在内存中的逻辑地址组进行扫描,根据扫描结果把要访问的逻辑地址组替换内存中过期的逻辑地址组。

【技术特征摘要】

【专利技术属性】
技术研发人员:范敬才赵俊化徐畅胡胜发
申请(专利权)人:安凯广州软件技术有限公司
类型:发明
国别省市:81[中国|广州]

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

1