NandFlash的数据处理方法及装置的制作方法

文档序号:6386431阅读:188来源:国知局
专利名称:NandFlash的数据处理方法及装置的制作方法
技术领域
本发明涉及通讯技术领域,特别涉及一种NandFlash的数据处理方法及装置。
背景技术
目前主控管理NandFlash包括读写操作,其中写操作是指采用软件控制外部存储设备的接口接收数据,并启动DMA传输到DMABUFF,再由软件控制主控经过ECC编码启动DMA将DMABUFF接收到的数据包和算法管理的表格数据传输至NandFlash中,并在NandFlash中进行存储。由于外部存储设备内所存储的数据中存在可以压缩的数据包,但在存储至NandFlash的过程中未经过打包处理,因此使得存储至NandFlash的数据较大,导致NandFlash写入的数据量较低,NandFlash的擦除次数较高,从而影响NandFlash的使用寿命O

发明内容
本发明的主要目的在于提供一种NandFlash的数据处理方法,旨在提高NandFlash写入的数据量,减少NandFlash擦除的次数,延长NandFlash的使用寿命。为了实现发明目的,本发明提供一种NandFlash的数据处理方法,该NandFlash的数据处理方法包括以下步骤获取外部存储设备中所存储的数据;检测所述数据中是否存在能被压缩的数据包;若是,则将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中;若否,则将所述数据存储至NandFlash当中。优选地,所述获取外部存储设备中所存储的数据具体为通过直接内存访问的方式将所述数据传输至直接存储器的缓存中。优选地,所述将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中步骤包括将能被压缩的数据包在压缩表格中添加一项对应的压缩数据项,并更新算法表格;通过直接内存访问的方式将所述压缩表格、算法表格及直接存储器的缓存中的数据均存储至NandFlash当中。优选地,所述NandFlash的数据处理方法还包括通过直接内存访问的方式读取算法表格和压缩表格,并将NandFlash中所存储的未被压缩的数据存储至直接存储器的缓存中;根据所读取的算法表格将所述压缩表格中的被压缩的数据包解压,并将解压后的数据存储至直接存储器的缓存中;通过直接内存访问的方式将所述直接存储器的缓存中的数据传输至外部存储设备当中。本发明还提供一种NandFlash的数据处理装置,该NandFlash的数据处理装置包括获取模块、检测模块和处理模块,其中,获取模块,用于获取外部存储设备中所存储的数据;检测模块,用于检测所述数据中是否存在能被压缩的数据包;若是,则由所述处理模块将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中;若否,则由所述处理模块将所述数据存储至NandFlash当中。优选地,所述获取模块用于通过直接内存访问的方式将所述数据传输至直接存储器的缓存中。优选地,所述处理模块包括更新单元,用于将能被压缩的数据包在压缩表格中添加一项对应的压缩数据项,并更新算法表格;存储单元,用于通过直接内存访问的方式将所述压缩表格、算法表格及直接存储器的缓存中的数据均存储至NandFlash当中。优选地,所述NandFlash的数据处理装置还包括读取模块,用于通过直接内存访问的方式读取算法表格和压缩表格,并将NandFlash中所存储的未被压缩的数据存储至直接存储器的缓存中;解压模块,用于根据所读取的算法表格将所述压缩表格中的被压缩的数据包解压,并将解压后的数据存储至直接存储器的缓存中;传输模块,用于通过直接内存访问的方式将所述直接存储器的缓存中的数据传输至外部存储设备当中。本发明通过检测外部存储设备中所存储的数据进行是否能被压缩,并将不能被压缩的数据包直接存储至NandFlash当中,将能被压缩的数据包进行压缩后再存储至NandFlash当中。由于压缩后的数据的减小了存储的空间量,因此提高了 NandFlash写入的数据量,从而减少了 NandFlash擦除的次数,进而延长了 NandFlash使用寿命。


图1为本发明NandFlash的数据处理方法一实施例的流程示意图;图2为本发明NandFlash的数据处理方法一实施例中对存在能被压缩的数据包的数据处理的流程示意图;图3为本发明NandFlash的数据处理方法另一实施例的流程示意图;图4为本发明NandFlash的数据处理装置一实施例的结构示意图;图5为图4中处理模块的结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参照图1,图1为本发明NandFlash的数据处理方法一实施例的流程示意图。本实施例提供的NandFlash的数据处理方法包括以下步骤步骤S10,获取外部存储设备中所存储的数据;本实施例中,外部存储设备为具有储存空间电子设备,如U盘等。具体地,可通过直接内存访问的方式(DMA)将外部存储设备中所存储的数据传输至直接存储器的缓存(DMABUFF)中。步骤S20,检测数据中是否存在能被压缩的数据包;若是,则执行步骤S30,否则执行步骤S40 ;步骤S30,将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中;步骤S40,将数据存储至NandFlash当中。本实施例中,外部存储设备中所存储的数据包括能被压缩的数据包和不能被压缩的数据包,在通过直接内存访问的方式将外部存储设备中所存储的数据传输至直接存储器的缓存中的传输过程中,可设置一检测模块,检测正在传输的数据包是否能够被压缩。在传输完成后,若存在能够被压缩的数据包,则将数据包压缩,然后将压缩后的数据和不能被压缩的数据一并传输至NandFlash中进行储存。若不存在能够被压缩的数据包,则将获取的数据传输至NandFlash中进行存储。本发明通过检测外部存储设备中所存储的数据进行是否能被压缩,并将不能被压缩的数据包直接存储至NandFlash当中,将能被压缩的数据包进行压缩后再存储至NandFlash当中。由于压缩后的数据的减小了存储的空间量,因此提高了 NandFlash写入的数据量,从而减少了 NandFlash擦除的次数,进而延长了 NandFlash使用寿命。参照图2,图2为本发明NandFlash的数据处理方法一实施例中对存在能被压缩的数据包的数据处理的流程示意图。基于上述实施例,本实施例中上述步骤S30包括步骤S31,将能被压缩的数据包在压缩表格中添加一项对应的压缩数据项,并更新算法表格;步骤S32,通过直接内存访问的方式将所述压缩表格、算法表格及直接存储器的缓存中的数据均存储至NandFlash当中。参照图3,图3为本发明NandFlash的数据处理方法另一实施例的流程示意图。基于上述实施例,本实施例提供的NandFlash的数据处理方法还包括步骤S50,通过直接内存访问的方式读取算法表格和压缩表格,并将NandFlash中所存储的未被压缩的数据存储至直接存储器的缓存中;步骤S60,根据所读取的算法表格将所述压缩表格中的被压缩的数据包解压,并将解压后的数据存储至直接存储器的缓存中;步骤S70,通过直接内存访问的方式将所述直接存储器的缓存中的数据传输至外部存储设备当中。当执行完上述步骤S30或步骤S40后,即完成了 NandFlash对数据的写操作。本实施例中,将完成对NandFlash内数据的读取操作。具体地,首先通过启动DMA从NandFlash中读取算法表格和压缩表格,然后查找压缩数据项中的压缩地址,并根据算法表格中定义的算法将被压缩的数据包解压,将解压后的数据存储至直接存储器的缓存中。同时将NandFlash内未被压缩的数据通过直接内存访问的方式传输至直接存储器,并在直接存储器的缓存中进行暂存。最后通过启动DMA,将直接存储器的缓存中的数据传输至外部存储设备当中,从而完成对NandFlash内数据的读取操作。本发明还提供一种NandFlash的数据处理装置,用于实现上述方法。参照图4,图4为本发明NandFlash的数据处理装置一实施例的结构示意图。本实施例提供的NandFlash的数据处理装置包括获取模块100、检测模块200和处理模块300,其中,获取模块100,用于获取外部存储设备中所存储的数据;本实施例中,外部存储设备为具有储存空间电子设备,如U盘等。具体地,获取模块100可通过直接内存访问的方式(DMA)将外部存储设备中所存储的数据传输至直接存储器的缓存(DMABUFF)中。检测模块200,用于检测数据中是否存在能被压缩的数据包;若是,则由处理模块300将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中;若否,贝U由处理模块300将所述数据存储至NandFlash当中。本实施例中,外部存储设备中所存储的数据包括能被压缩的数据包和不能被压缩的数据包,在通过直接内存访问的方式将外部存储设备中所存储的数据传输至直接存储器的缓存中的传输过程中,可设置一检测模块200,由该检测模块200检测正在传输的数据包是否能够被压缩。在传输完成后,若存在能够被压缩的数据包,则由处理模块300将数据包压缩,然后将压缩后的数据和不能被压缩的数据一并传输至NandFlash中进行储存。若不存在能够被压缩的数据包,则由处理模块300将获取的数据传输至NandFlash中进行存储。本发明通过检测模块200检测外部存储设备中所存储的数据进行是否能被压缩,并由处理模块300将不能被压缩的数据包直接存储至NandFlash当中,将能被压缩的数据包进行压缩后再存储至NandFlash当中。由于压缩后的数据的减小了存储的空间量,因此提高了 NandFlash写入的数据量,从而减少了 NandFlash擦除的次数,进而延长了NandFlash使用寿命。结合参照图5,图5为图4中处理模块的结构示意图。本实施例中,上述处理模块300包括更新单元301,用于将能被压缩的数据包在压缩表格中添加一项对应的压缩数据项,并更新算法表格;存储单元302,用于通过直接内存访问的方式将所述压缩表格、算法表格及直接存储器的缓存中的数据均存储至NandFlash当中。基于上述实施例,本实施例中,上述NandFlash的数据处理装置还包括读取模块400,用于通过直接内存访问的方式读取算法表格和压缩表格,并将NandFlash中所存储的未被压缩的数据存储至直接存储器的缓存中;解压模块500,用于根据所读取的算法表格将所述压缩表格中的被压缩的数据包解压,并将解压后的数据存储至直接存储器的缓存中;传输模块600,用于通过直接内存访问的方式将所述直接存储器的缓存中的数据传输至外部存储设备当中。当上述处理模块300执行完将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中或将所述数据存储至NandFlash当中后,即完成了 NandFlash对数据的写操作。本实施例中,将完成对NandFlash内数据的读取操作。具体地,首先由读取模块400通过启动DMA从NandFlash中读取算法表格和压缩表格,然后由解压模块500查找压缩数据项中的压缩地址,并根据算法表格中定义的算法将被压缩的数据包解压,将解压后的数据存储至直接存储器的缓存中。同时读取模块40还将NandFlash内未被压缩的数据通过直接内存访问的方式传输至直接存储器,并在直接存储器的缓存中进行暂存。最后由传输模块600通过启动DMA,将直接存储器的缓存中的数据传输至外部存储设备当中,从而完成对NandFlash内数据的读取操作。 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种NandFlash的数据处理方法,其特征在于,包括以下步骤: 获取外部存储设备中所存储的数据; 检测所述数据中是否存在能被压缩的数据包; 若是,则将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至 NandFlash 当中; 若否,则将所述数据存储至NandFlash当中。
2.如权利要求1所述的NandFlash的数据处理方法,其特征在于,所述获取外部存储设备中所存储的数据具体为:通过直接内存访问的方式将所述数据传输至直接存储器的缓存中。
3.如权利要求2所述的NandFlash的数据处理方法,其特征在于,所述将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中步骤包括: 将能被压缩的数据包在压缩表格中添加一项对应的压缩数据项,并更新算法表格;通过直接内存访问的方式将所述压缩表格、算法表格及直接存储器的缓存中的数据均存储至NandFlash当中。
4.如权利要求3所述NandFlash的数据处理方法,其特征在于,所述NandFlash的数据处理方法还包括: 通过直接内存访问的方式读取算法表格和压缩表格,并将NandFlash中所存储的未被压缩的数据存储至直接存储器的缓存中; 根据所读取的算法表格将所述压缩表格中的被压缩的数据包解压,并将解压后的数据存储至直接存储器的缓存中; 通过直接内存访问的方式将所述直接存储器的缓存中的数据传输至外部存储设备当中。
5.一种NandFlash的数据处理装置,其特征在于,包括获取模块、检测模块和处理模块,其中, 获取模块,用于获取外部存储设备中所存储的数据; 检测模块,用于检测所述数据中是否存在能被压缩的数据包; 若是,则由所述处理模块将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中; 若否,则由所述处理模块将所述数据存储至NandFlash当中。
6.如权利要求5所述的NandFlash的数据处理装置,其特征在于,所述获取模块用于通过直接内存访问的方式将所述数据传输至直接存储器的缓存中。
7.如权利要求6所述的NandFlash的数据处理装置,其特征在于,所述处理模块包括: 更新单元,用于将能被压缩的数据包在压缩表格中添加一项对应的压缩数据项,并更新算法表格; 存储单元,用于通过直接内存访问的方式将所述压缩表格、算法表格及直接存储器的缓存中的数据均存储至NandFlash当中。
8.如权利要求7所述NandFlash的数据处理装置,其特征在于,所述NandFlash的数据处理装置还包括: 读取模块,用于通过直接内存访问的方式读取算法表格和压缩表格,并将NandFlash中所存储的未被压缩的数据存储至直接存储器的缓存中; 解压模块,用于根据所读取的算法表格将所述压缩表格中的被压缩的数据包解压,并将解压后的数据存储至直接存储器的缓存中; 传输模块,用于通过直接内存访问的方式将所述直接存储器的缓存中的数据传输至外部存储设备当中。
全文摘要
本发明公开了一种NandFlash的数据处理方法及装置,所述NandFlash的数据处理方法包括以下步骤获取外部存储设备中所存储的数据;检测所述数据中是否存在能被压缩的数据包;若是,则将能被压缩的数据包进行压缩,并将压缩后的数据和不能压缩的数据均存储至NandFlash当中;若否,则将所述数据存储至NandFlash当中。本发明提高了NandFlash写入的数据量,从而减少了NandFlash擦除的次数,进而延长了NandFlash使用寿命。
文档编号G06F3/06GK103076995SQ201210592160
公开日2013年5月1日 申请日期2012年12月31日 优先权日2012年12月31日
发明者李发生 申请人:深圳市硅格半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1