[发明专利]闪存的数据存储方法有效
申请号: | 200610167867.1 | 申请日: | 2006-12-20 |
公开(公告)号: | CN101206617A | 公开(公告)日: | 2008-06-25 |
发明(设计)人: | 钟智渊 | 申请(专利权)人: | 深圳市朗科科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F17/30 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 | 代理人: | 余朦;方挺 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 闪存 数据 存储 方法 | ||
技术领域
本发明涉及一种数据存储方法,尤其涉及一种闪存的数据存储方法。
背景技术
目前闪存技术高速发展,但其基本读写方式却未改变,即,以页为单位写入,以块为单位擦除,而且必须经擦除之后才能写入数据。因为闪存的这个特性,一般是以块为单位进行闪存的数据存储。而操作系统的读写一般是以扇区为单位进行的,因此,操作系统可能只对块的一小部分写入数据,而剩下部分的数据写入需要由底层软件来执行。这就需要闪存内部具有至少一个交换块来进行数据交换。
基于上述提到的闪存的特性,如果操作系统写入多个较小数据且其地址不连续,会导致闪存产生频繁的数据搬迁(即,将数据复制到交换块中的动作)。
此外,对于具有链式结构的文件系统,文件的链与其具体内容并非放在同一个位置,而是按照一定的协议放在磁盘的不同位置。于是在操作系统对一个文件执行复制或写入时,需要在不同位置进行操作才能完成。
例如,假设操作系统有两个文件需要写入,则对于每个文件,操作系统都会写入以下三个区域:链表区、目录区和数据区。以常用的FAT文件系统为例,三个区域在磁盘中的位置关系如图1所示。操作系统一般按照以下顺序写入:数据区、目录区、链表区。当操作系统写完一个文件以后,再重复上述顺序写下一个文件。
当操作系统要写入数据时,底层软件取出一个交换块并将数据写入此交换块,然后,将待写入数据的块的剩余区域从该块复制到交换块中,之后,跳转到操作系统要求的地址进行下一次写入。下面我们将举例说明传统的闪存数据存储操作。
假设一片闪存具有10个块,每个块有256个扇区。则我们可以建立如图2所示的对照表。其中,逻辑第0块对应物理第0块,逻辑第1块对应物理第1块,依此类推。
传统的闪存数据存储方法只使用一个交换块,例如使用第9块作为交换块。当操作系统向逻辑第3块写数据时,底层软件将数据写到第9块,之后,将第3块中的原有数据搬到第9块并在对照表上交换两个块,然后将第3块作为交换块。此时对照表变为如图3所示,物理第9块变为逻辑第3块,而物理第3块则成为交换块。
现在,假设操作系统要写入两个文件,其中链表区在逻辑第0块,目录区在逻辑第1块,数据区在逻辑第2至6块。作为一个示例,假设操作系统将完成以下任务:
(1)写入第一个文件的数据,写入逻辑第2块,写100个扇区。
(2)写入第一个文件的目录,写入逻辑第1块,写1个扇区。
(3)写入第一个文件的链表,写入逻辑第0块,写10个扇区。
(4)写入第二个文件的数据,因为第一个文件的数据没有占满一个块,因此仍写入逻辑第2块,写100个扇区。
(5)写入第二个文件的目录,写入逻辑第1块,写1个扇区。
(6)写入第二个文件的链表,写入逻辑第0块,写10个扇区。
根据传统的闪存数据储存方法,上述写入两个文件的操作按照如下步骤进行:
(a)操作系统写第一个文件,首先写逻辑第2块。底层软件将数据写入交换块(物理第9块)。
(b)操作系统写逻辑第1块。底层软件先把原逻辑第2块的原有数据搬迁到交换块,然后在对照表上互换两个块。因此对照表变为如图4a所示。然后,底层软件将接收的数据写入新的交换块,即物理第2块。
(c)操作系统写逻辑第0块。底层软件先把原逻辑第1块的原有数据搬迁到交换块,然后在对照表上互换两个块。因此对照表变为如图4b所示。然后,底层软件将接收的数据写入新的交换块,即物理第1块。
(d)操作系统开始写第二个文件,首先写逻辑第2块,底层软件先将原逻辑第0块的原有数据搬迁到交换块,然后在对照表上互换两个块。因此对照表变为如图4c所示。然后,底层软件将接收的数据写入新的交换块,即物理第0块。
(e)操作系统写逻辑第1块。底层软件先把原逻辑第2块的原有数据搬迁到交换块,然后在对照表上互换两个块。因此对照表变为如图4d所示。然后,底层软件将接收的数据写入新的交换块,即物理第9块。
(f)操作系统写逻辑第0块。底层软件先把原逻辑第1块的原有数据搬迁到交换块,然后在对照表上互换两个块。因此对照表变为如图4e所示。然后,底层软件将接收的数据写入新的交换块,即物理第2块。
(g)操作系统完成文件写入。这时,底层软件需要对剩余的数据执行搬迁,即把逻辑第0块的剩余数据搬到交换块,并互换两个块在对照表的位置。这时,对照表变为如图4f所示。从而完成了写入两个文件的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市朗科科技有限公司,未经深圳市朗科科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610167867.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种低粘度橡胶沥青组合物
- 下一篇:天花板嵌入式空调器的前面板出风口结构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置