[发明专利]数据存储方法和系统有效
申请号: | 201010178238.5 | 申请日: | 2010-05-11 |
公开(公告)号: | CN102243611A | 公开(公告)日: | 2011-11-16 |
发明(设计)人: | 万红波 | 申请(专利权)人: | 深圳市朗科科技股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 余朦;王艳春 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 系统 | ||
技术领域
本发明涉及数据处理领域,尤其涉及一种用于进行数据存储的方法和系统。
背景技术
目前,以闪存作为存储介质的存储装置应用日益广泛,如何进一步提高其读写速度成为人们关注的焦点。众所周知,闪存在物理上具有块、页、扇区的组织结构,其中一个物理块由多个物理页组成,一个物理页由多个扇区组成。在闪存中通常以存储页为写操作单元,即存储页为最小的数据写入单位。一个存储页与一个闪存物理页相对应。在对闪存存储装置进行写操作时,如果数据的起始写入地址刚好位于某一存储页的页开头,而且写入数据的大小也是存储页大小的整数倍,则数据将是整页整页的写入,写入速度快,系统开销小。
然而,在向闪存写入数据的过程中,还可能存在部分页写入的情况。即,数据往往不是从存储页的页开头开始写入,而是从某页的中部开始写入。以图1所示情况为例,假设每个页由4个扇区组成,黑色表示已写有数据的部分,灰色表示要新写入数据的部分。由图可见,由于页1的前两个扇区中存储了先前写入的数据,因此本次向闪存中存储数据时,数据不是从页1的开头、而是从该页的第3扇区开始写入,并在页4的第1扇区结束。在这种情况下,由于页为最小的写入单位,为了避免数据写入时页1的前两个扇区中需要保留的数据被一并覆盖,需要把该页保存的原有数据先转移到页缓存器中,然后将要写的新数据写入页缓存器的相应位置,再将包含了待保留的原有数据和新数据的整页缓存数据写入该页。该过程耗时且会增大系统开销,由此降低存储性能。同样地,对于具有与上述存储特性类似特性的任何存储装置而言,都可能存在上述问题。
发明内容
本发明的一个目的在于提供一种能够至少部分解决现有技术中上述问题的方法。
本发明的另一个目的在于提供一种能够至少部分解决现有技术中上述问题的系统。
为了实现以上目的,本发明提供了一种向存储装置中存储数据的方法,所述存储装置的写操作单元为存储页,所述方法包括:将所述数据分割为N个数据包,并将所述N个数据包顺序存储在所述存储装置内,其中将所述N个数据包中第m个数据包的大小设置为使得其后的第m+1个数据包的起始存储地址对应于某一存储页的起始存储位置,并将所述第m+1个数据包所包含的扇区数设置为等于一个所述存储页所包含扇区数的整数倍,其中1≤m<N。
本发明还提供了一种控制存储装置中数据存储的系统,所述存储装置的写操作单元为存储页,所述系统包括:处理模块,被配置为将所述数据分割为N个数据包,并将所述N个数据包顺序存储在所述存储装置内,其中所述处理模块将所述N个数据包中第m个数据包的大小设置为使得其后的第m+1个数据包的起始存储地址对应于某一存储页的起始存储位置,并将所述第m+1个数据包所包含的扇区数设置为等于一个所述存储页所包含扇区数的整数倍,其中1≤m<N。
附图说明
图1是向存储装置中写入数据时部分页写入的示意图;
图2是采用传统数据分包方式时、向存储页中写入数据的示意图;
图3是采用本发明一个示例性数据分包方法时、向存储页中写入数据的示意图;
图4是采用本发明另一个示例性数据分包方法时、向存储页中写入数据的示意图;以及
图5是根据本发明一个示例性实施方案的、对存储装置进行数据写入的方法流程图。
具体实施方式
以下将以闪存存储介质为例对本发明进行说明,但本领域技术人员可以理解的是,以下的描述仅是示例性的,本发明可适用于与闪存具有类似存储特性的存储装置,即以页作为最小的写操作单元,需要减少部分页写入的情况以提高存储性能的存储装置。
当主机端向存储装置写入数据时,如果待写入的数据总量较大,主机通常不会在一次写入命令中将全部数据发送至并写入存储装置,而是分为多次写入命令、在每次写入命令中发送部分数据写入存储装置。在本文中,将一次写入命令中所发送的数据称为一个数据包。换言之,在待写入存储装置的文件较大的情况下,主机会将文件数据分为多个数据包(例如以64K、128K或其他大小为单位对数据进行分包),在一次写入命令中将一个数据包的内容写入存储装置,通过多次写入命令来将全部文件数据写入存储装置。例如,对于一个数据量为200k的文件,主机可将200k数据分为3个64k的数据包和1个8k的数据包,然后通过4次写命令将上述4个数据包分别发送至存储装置以依次进行数据的写入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市朗科科技股份有限公司,未经深圳市朗科科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010178238.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:板砖的制造方法及板砖
- 下一篇:一种干热牵伸箱
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置