一种在NAND中处理数据的方法及装置.pdf

上传人:e1 文档编号:626645 上传时间:2018-02-26 格式:PDF 页数:9 大小:1.04MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410406166.3

申请日:

2014.08.18

公开号:

CN104199619A

公开日:

2014.12.10

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 3/06申请公布日:20141210|||实质审查的生效IPC(主分类):G06F 3/06申请日:20140818|||公开

IPC分类号:

G06F3/06; G06F12/06

主分类号:

G06F3/06

申请人:

北京君正集成电路股份有限公司

发明人:

邱东升

地址:

100193 北京市海淀区东北旺西路8号中关村软件园信息中心A座108室

优先权:

专利代理机构:

北京众合诚成知识产权代理有限公司 11246

代理人:

龚燮英

PDF下载: PDF下载
内容摘要

本发明涉及通信电子技术领域,尤其涉及一种在NAND中处理数据的方法及装置。用于解决现有技术中由于在对NAND进行读写的操作过程中需要产生大量中断或者唤醒等操作,使得CPU处理数据的效率低下的问题。该方法包括:在接收到文件系统的读写请求后;将扇区链中的数据按照预先设置的方式对应到虚拟的页链表中;虚拟页链表按照一定的动态对应,确定出每一个虚拟页所对应的NAND中真正的物理页;将所述页链表中的数据依次写入NAND的块中,待一个页链表完成之后唤醒阻塞的请求线程。可见该方法可以提高CPU处理数据的效率。

权利要求书

1.  一种在NAND中处理数据的方法,其特征在于,所述方法包括:
在接收到文件系统的读写请求后唤醒请求处理线程;
将扇区链中的数据按照预先设置的方式映射到页链表的页中;
按照一定的动态对应方式,确定出每一页所对应的NAND的块;
将所述页链表中的数据依次写入NAND的块中后,唤醒处于中断状态的线程。

2.
  如权利要求1所述的方法,其特征在于,所述将扇区链中的数据按照预先设置的方式映射到页链表的页中包括:
将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的虚拟页中。

3.
  如权利要求1所述的方法,其特征在于,所述按照一定的动态对应方式,确定出每一页所对应的NAND的块包括:
根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;
判断该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。

4.
  一种在NAND中处理数据的装置,其特征在于,所述装置包括:
唤醒模块,用于在接收到文件系统的读写请求后唤醒等待的请求线程;
映射模块,用于将扇区链中的数据按照预先设置的方式映射到页链表的页中;
确定模块,用于按照一定的动态对应方式,确定出每一页所对应的NAND的块;
写入模块,用于将所述页链表中的数据依次写入NAND的块中后,中断唤醒处于阻塞状态的请求线程。

5.
  如权利要求4所述的装置,其特征在于,所述映射模块具体用于:
将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。

6.
  如权利要求4所述的装置,其特征在于,所述确定模块具体用于:
根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;
判断该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。

说明书

一种在NAND中处理数据的方法及装置
技术领域
本发明涉及通信电子技术领域,尤其涉及一种在NAND中处理数据的方法及装置。
背景技术
随着科技的发展,以及日常生活的需要,智能手机、笔记本电脑、相机等电子设备已经深入人们的家庭中。而随着这些电子设备的频繁使用,人们对于其的存储能力也有着越来越高的需求,目前为了满足用户对存储能力的需求,大多数电子设备中都在使用非易失存储介质(NAND)进行数据的存储。因此,对NAND进行读写操作则成为存储数据时需要频繁进行的操作。在现有技术中对NAND的读写操作如下:
首先,用户在软件应用层发出对NAND的读写操作命令,接收到该命令后系统中断当前正在进行的线程,并向MTD发出以一页为数据处理单位对NAND进行读写处理的请求,当完成一页的读写处理后中断唤醒处于等待状态的线程,此时完成一页数据的读写操作;当需要进行下一页数据的读写操作时,还需要中断当前正在进行的线程,然后完成一页的读写操作,最后中断唤醒处于等待状态的线程。
由此可见,目前这种以页为单位的数据处理方式,在完成对NAND的读写操作时要进行很多次的中断、唤醒等操作,如果遇到大数据量需要处理时将会造成大量的中断,因此而增加了CPU的压力,降低数据处理的速度以及效率。
发明内容
本发明涉及通信电子技术领域,尤其涉及一种在NAND中处理数据的方法及装置。用于解决现有技术中由于在对NAND进行读写的操作过程中需要 产生大量中断或者唤醒等操作,使得CPU处理数据的效率低下的问题。
一种在NAND中处理数据的方法,所述方法包括:
在接收到文件系统的读写请求后唤醒请求处理线程;
将扇区链中的数据按照预先设置的方式映射到页链表的页中;
按照一定的动态对应方式,确定出每一页所对应的NAND的块;
将所述页链表中的数据依次写入NAND的块中后,唤醒处于中断状态的线程。
一种在NAND中处理数据的装置,所述装置包括:
唤醒模块,用于在接收到文件系统的读写请求后唤醒等待的请求线程;
映射模块,用于将扇区链中的数据按照预先设置的方式映射到页链表的页中;
确定模块,用于按照一定的动态对应方式,确定出每一页所对应的NAND的块;
写入模块,用于将所述页链表中的数据依次写入NAND的块中后,中断唤醒处于阻塞状态的请求线程。
可见,使用本发明实施例提供的方法需要首先将扇区链的读写请求对应转化成页链表的请求,当需要对NAND进行读写操作时将页链表中的数据依次全部写入到NAND的对应块中,该方法只需在将页链表中的数据写入NAND的对应块中之后产生一次读写完成中断,然后在所有数据都写完之后再唤醒处于阻塞状态的请求处理线程,可见该方法不需要产生多次中断因此可大大降低CPU的功耗,提高数据存储的效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种在NAND中处理数据的方法流程图;
图2为本发明实施例提供的具体的一种在NAND中处理数据的方法流程图;
图3为本发明实施例提供的扇区链表、页链表以及块之间的关联图;
图4为本发明实施例提供的一种在NAND中处理数据的装置结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
使用本发明实施例提供的方法需要首先将扇区链中的所有对扇区的操作都对应转化为页链表中页的操作,当需要对NAND进行读写操作时将页链表中的数据依次全部写入到NAND的对应块中,该方法只需在将页链表中的数据写入NAND的对应块中之后产生一次读写完成中断,然后靠完成中断唤醒处于阻塞状态的请求处理线程,可见该方法不需要产生多次中断因此可大大降低CPU的功耗,提高数据存储的效率。如图1所示,具体过程如下:
步骤11,在接收到文件系统的读写请求后唤醒请求处理线程;
步骤12,将扇区链中的数据按照预先设置的方式映射到页链表的页中;
步骤13,按照一定的动态对应方式,确定出每一页所对应的NAND的块;
步骤14,将所述页链表中的数据依次写入NAND的块中后,唤醒处于中断状态的线程。
其中,所述将扇区链中的数据按照预先设置的方式对应到虚拟页链表的相应的页中包括:
将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。
具体的,所述预先设置的地址查找方式包括:
根据分区的物理偏移,大小,以及物理页所对应的块是否为坏块等一些参考来确定每个虚拟页所对应的物理页。
具体的,所述按照一定的动态对应方式,确定出每一页所对应的NAND的块包括:
根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;判 断该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。
以下以具体实施例介绍:
本发明实施例提供一种在NAND中处理数据的方法,如图2所示,具体过程如下:
步骤21,接收到文件系统发来的读写请求后,唤醒处于等待状态的请求处理线程;
步骤22,将扇区链中的数据按照预先设置的方式映射到页链表的相应的页中;
具体的,本步骤中将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。
扇区链中包含一个或多个地址连续大小相等的扇区,每个扇区都有唯一对应的扇区标识;页表链中包括一个或多个地址连续或者不连续、且大小相等的页,每个页都有唯一对应的页标识;
将扇区链中的连续地址的一个或多个扇区中的内容放到与该扇区对应的页中,例如图3所示,每个扇区的扇区标识分别为Sector0、Sector1、Sector2……Sectorn;每个页的页标识分别为Page0、Page1、Page2……;
根据扇区与页的大小关系,确定将哪几个扇区放入到一个页中,例如,一个Sector0、Sector1、Sector2、Sector3的大小都为512byte,一页Page0的大小为4Kb,则将Sector0、Sector1、Sector2、Sector3中的数据放入到Page0所指示的页中,按照这种方式依次将扇区链表中所有的内容放入到页链表中。
步骤23,按照一定的动态对应方式,确定出每一页所对应的NAND中的物理页;
其中每一页所对应的NAND中的物理页是指,页链表中的页为虚拟页,例如虚拟页Page0对应的NAND中的物理页Page0,对应的块为Block0;
步骤24,判断待写入数据的块是否为坏块,如果是执行步骤25,否则执 行步骤26;例如当需要将Page256中的数据写入其对应的Block中之前(假如一个块中有256个页,以下解释均按此假设),先判断该对应的Block是否为坏块,如果是执行步骤25,否则执行步骤26;
步骤25,则在计算出的页地址的基础之上加一个块中页的数量,将待写入的数据写入下一块中;
具体的根据分区物理地址偏移及大小,还有待读写数据的块是否为坏块,如果待读写数据的块是坏块则在计算出的页地址的基础之上加一个块的页数量,从而计算出每个虚拟页所对应的物理页地址,例如正常情况下Page256所对应的块应为Blockn,如果Blockn是坏块则应将Page256的数据存入Blockn+1中,如图3所示;具体的过程为:
本步骤中在需要在page256的地址基础之上再加一个块长的大小,此时获得虚拟页Page256所对应的真实物理页的地址为Page512(加了一个块的大小),如果page512所在的块不是坏块,则将Page中的数据存入该Blockn+1中;
步骤26,将待写入的数据写入块中。即将Pagen中的数据写入其所对应的块中。
如果在完成步骤26后PageList中还存在待写入NAND块中的数据时,重复步骤23至步骤26,直到将所有数据都写入块中以后,中断唤醒处于阻塞状态的请求处理线程。此时对于NAND的一次读写操作完成。
如图4所示,本发明实施例提供一种在NAND中处理数据的装置,所述装置包括:
唤醒模块41,用于在接收到文件系统的读写请求后,唤醒等待的请求处理线程
映射模块42,用于将扇区链中的数据按照预先设置的方式映射到页链表的页中;
确定模块43,用于按照一定的动态对应方式,确定出每一页所对应的NAND的块;
写入模块44,用于将所述页链表中的数据依次写入NAND的块中后,中断唤醒处于阻塞状态的请求线程。
所述映射模块42具体用于:
将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。
所述确定模块43具体用于:
根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;
判断该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。
综上所述,有益效果:
本发明的设计思想就是设计一种一次处理连续多个页,即PageList中的数据量的设计方法,使数据处理不受页结构的限制,即不是每存储一页数据时就必须进行一次中断处理,使用本发明实施例提供的方法能成倍的增加数据的吞吐量,减少数据处理的阻塞时间,减少完成中断的产生,提高CPU的性能,同时也提高了NAND驱动的效率。
本发明提供的方法从文件系统接口为基点,将其拿到的以NAND逻辑扇区为数据请求单位的文件读写请求,,通过具体算法处理转化成以PageList为数据单位的数据请求,驱动层对PageList进行分析、处理。增加数据的吞吐量,减少数据处理的阻塞时间,减少NAND读写完成的中断产生,提高CPU的性能,同时也提高了NAND驱动的效率。
使用本发明实施例提供的方法需要首先将扇区链中的所有数据都存入页链表中,当需要对NAND进行读写操作时将页链表中的数据依次全部写入到NAND的对应块中,该方法只需在将页链表中的数据写入NAND的对应块中之后产生一次读写完成中断,然后再唤醒处于阻塞状态的请求处理线程,进行下一次的读写请求,可见该方法不需要产生多次中断因此可大大降低CPU的功耗,提高数据存储的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

一种在NAND中处理数据的方法及装置.pdf_第1页
第1页 / 共9页
一种在NAND中处理数据的方法及装置.pdf_第2页
第2页 / 共9页
一种在NAND中处理数据的方法及装置.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种在NAND中处理数据的方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种在NAND中处理数据的方法及装置.pdf(9页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104199619A43申请公布日20141210CN104199619A21申请号201410406166322申请日20140818G06F3/06200601G06F12/0620060171申请人北京君正集成电路股份有限公司地址100193北京市海淀区东北旺西路8号中关村软件园信息中心A座108室72发明人邱东升74专利代理机构北京众合诚成知识产权代理有限公司11246代理人龚燮英54发明名称一种在NAND中处理数据的方法及装置57摘要本发明涉及通信电子技术领域,尤其涉及一种在NAND中处理数据的方法及装置。用于解决现有技术中由于在对NAND进行读写的操作过程中需要产。

2、生大量中断或者唤醒等操作,使得CPU处理数据的效率低下的问题。该方法包括在接收到文件系统的读写请求后;将扇区链中的数据按照预先设置的方式对应到虚拟的页链表中;虚拟页链表按照一定的动态对应,确定出每一个虚拟页所对应的NAND中真正的物理页;将所述页链表中的数据依次写入NAND的块中,待一个页链表完成之后唤醒阻塞的请求线程。可见该方法可以提高CPU处理数据的效率。51INTCL权利要求书1页说明书4页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图3页10申请公布号CN104199619ACN104199619A1/1页21一种在NAND中处理数据的方法,其特征。

3、在于,所述方法包括在接收到文件系统的读写请求后唤醒请求处理线程;将扇区链中的数据按照预先设置的方式映射到页链表的页中;按照一定的动态对应方式,确定出每一页所对应的NAND的块;将所述页链表中的数据依次写入NAND的块中后,唤醒处于中断状态的线程。2如权利要求1所述的方法,其特征在于,所述将扇区链中的数据按照预先设置的方式映射到页链表的页中包括将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的虚拟页中。3如权利要求1所述的方法,其特征在于,所述按照一定的动态对应方式,确定出每一页所对应的NAND的块包括根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;判断。

4、该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。4一种在NAND中处理数据的装置,其特征在于,所述装置包括唤醒模块,用于在接收到文件系统的读写请求后唤醒等待的请求线程;映射模块,用于将扇区链中的数据按照预先设置的方式映射到页链表的页中;确定模块,用于按照一定的动态对应方式,确定出每一页所对应的NAND的块;写入模块,用于将所述页链表中的数据依次写入NAND的块中后,中断唤醒处于阻塞状态的请求线程。5如权利要求4所述的装置,其特征在于,所述映射模块具体用于将所述扇区。

5、链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。6如权利要求4所述的装置,其特征在于,所述确定模块具体用于根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;判断该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。权利要求书CN104199619A1/4页3一种在NAND中处理数据的方法及装置技术领域0001本发明涉及通信电子技术领域,尤其涉及一种在NAND中处理数据的方法及装置。背景技术0002随着科技的发展,以及日常生活的需要,。

6、智能手机、笔记本电脑、相机等电子设备已经深入人们的家庭中。而随着这些电子设备的频繁使用,人们对于其的存储能力也有着越来越高的需求,目前为了满足用户对存储能力的需求,大多数电子设备中都在使用非易失存储介质NAND进行数据的存储。因此,对NAND进行读写操作则成为存储数据时需要频繁进行的操作。在现有技术中对NAND的读写操作如下0003首先,用户在软件应用层发出对NAND的读写操作命令,接收到该命令后系统中断当前正在进行的线程,并向MTD发出以一页为数据处理单位对NAND进行读写处理的请求,当完成一页的读写处理后中断唤醒处于等待状态的线程,此时完成一页数据的读写操作;当需要进行下一页数据的读写操作。

7、时,还需要中断当前正在进行的线程,然后完成一页的读写操作,最后中断唤醒处于等待状态的线程。0004由此可见,目前这种以页为单位的数据处理方式,在完成对NAND的读写操作时要进行很多次的中断、唤醒等操作,如果遇到大数据量需要处理时将会造成大量的中断,因此而增加了CPU的压力,降低数据处理的速度以及效率。发明内容0005本发明涉及通信电子技术领域,尤其涉及一种在NAND中处理数据的方法及装置。用于解决现有技术中由于在对NAND进行读写的操作过程中需要产生大量中断或者唤醒等操作,使得CPU处理数据的效率低下的问题。0006一种在NAND中处理数据的方法,所述方法包括0007在接收到文件系统的读写请求。

8、后唤醒请求处理线程;0008将扇区链中的数据按照预先设置的方式映射到页链表的页中;0009按照一定的动态对应方式,确定出每一页所对应的NAND的块;0010将所述页链表中的数据依次写入NAND的块中后,唤醒处于中断状态的线程。0011一种在NAND中处理数据的装置,所述装置包括0012唤醒模块,用于在接收到文件系统的读写请求后唤醒等待的请求线程;0013映射模块,用于将扇区链中的数据按照预先设置的方式映射到页链表的页中;0014确定模块,用于按照一定的动态对应方式,确定出每一页所对应的NAND的块;0015写入模块,用于将所述页链表中的数据依次写入NAND的块中后,中断唤醒处于阻塞状态的请求线。

9、程。0016可见,使用本发明实施例提供的方法需要首先将扇区链的读写请求对应转化成页链表的请求,当需要对NAND进行读写操作时将页链表中的数据依次全部写入到NAND的对应块中,该方法只需在将页链表中的数据写入NAND的对应块中之后产生一次读写完成中说明书CN104199619A2/4页4断,然后在所有数据都写完之后再唤醒处于阻塞状态的请求处理线程,可见该方法不需要产生多次中断因此可大大降低CPU的功耗,提高数据存储的效率。附图说明0017为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。0018图1为本发明实施例提供的一种在NAND中处理数。

10、据的方法流程图;0019图2为本发明实施例提供的具体的一种在NAND中处理数据的方法流程图;0020图3为本发明实施例提供的扇区链表、页链表以及块之间的关联图;0021图4为本发明实施例提供的一种在NAND中处理数据的装置结构图。具体实施方式0022为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。0023使用本发明实施例提供的方法需要首先将扇区链中的所有对扇区的操作都对应转化为页链表中页的操作,当需要对NAND进行读写操作时将页链表中的数据依次全部写入到NAND的对应块中,该方法只需在。

11、将页链表中的数据写入NAND的对应块中之后产生一次读写完成中断,然后靠完成中断唤醒处于阻塞状态的请求处理线程,可见该方法不需要产生多次中断因此可大大降低CPU的功耗,提高数据存储的效率。如图1所示,具体过程如下0024步骤11,在接收到文件系统的读写请求后唤醒请求处理线程;0025步骤12,将扇区链中的数据按照预先设置的方式映射到页链表的页中;0026步骤13,按照一定的动态对应方式,确定出每一页所对应的NAND的块;0027步骤14,将所述页链表中的数据依次写入NAND的块中后,唤醒处于中断状态的线程。0028其中,所述将扇区链中的数据按照预先设置的方式对应到虚拟页链表的相应的页中包括002。

12、9将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。0030具体的,所述预先设置的地址查找方式包括0031根据分区的物理偏移,大小,以及物理页所对应的块是否为坏块等一些参考来确定每个虚拟页所对应的物理页。0032具体的,所述按照一定的动态对应方式,确定出每一页所对应的NAND的块包括0033根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;判断该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。0034以下以具体实施例介绍。

13、说明书CN104199619A3/4页50035本发明实施例提供一种在NAND中处理数据的方法,如图2所示,具体过程如下0036步骤21,接收到文件系统发来的读写请求后,唤醒处于等待状态的请求处理线程;0037步骤22,将扇区链中的数据按照预先设置的方式映射到页链表的相应的页中;0038具体的,本步骤中将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。0039扇区链中包含一个或多个地址连续大小相等的扇区,每个扇区都有唯一对应的扇区标识;页表链中包括一个或多个地址连续或者不连续、且大小相等的页,每个页都有唯一对应的页标识;0040将扇区链中的连续地址的一个或多个。

14、扇区中的内容放到与该扇区对应的页中,例如图3所示,每个扇区的扇区标识分别为SECTOR0、SECTOR1、SECTOR2SECTORN;每个页的页标识分别为PAGE0、PAGE1、PAGE2;0041根据扇区与页的大小关系,确定将哪几个扇区放入到一个页中,例如,一个SECTOR0、SECTOR1、SECTOR2、SECTOR3的大小都为512BYTE,一页PAGE0的大小为4KB,则将SECTOR0、SECTOR1、SECTOR2、SECTOR3中的数据放入到PAGE0所指示的页中,按照这种方式依次将扇区链表中所有的内容放入到页链表中。0042步骤23,按照一定的动态对应方式,确定出每一页所对。

15、应的NAND中的物理页;0043其中每一页所对应的NAND中的物理页是指,页链表中的页为虚拟页,例如虚拟页PAGE0对应的NAND中的物理页PAGE0,对应的块为BLOCK0;0044步骤24,判断待写入数据的块是否为坏块,如果是执行步骤25,否则执行步骤26;例如当需要将PAGE256中的数据写入其对应的BLOCK中之前假如一个块中有256个页,以下解释均按此假设,先判断该对应的BLOCK是否为坏块,如果是执行步骤25,否则执行步骤26;0045步骤25,则在计算出的页地址的基础之上加一个块中页的数量,将待写入的数据写入下一块中;0046具体的根据分区物理地址偏移及大小,还有待读写数据的块是。

16、否为坏块,如果待读写数据的块是坏块则在计算出的页地址的基础之上加一个块的页数量,从而计算出每个虚拟页所对应的物理页地址,例如正常情况下PAGE256所对应的块应为BLOCKN,如果BLOCKN是坏块则应将PAGE256的数据存入BLOCKN1中,如图3所示;具体的过程为0047本步骤中在需要在PAGE256的地址基础之上再加一个块长的大小,此时获得虚拟页PAGE256所对应的真实物理页的地址为PAGE512加了一个块的大小,如果PAGE512所在的块不是坏块,则将PAGE中的数据存入该BLOCKN1中;0048步骤26,将待写入的数据写入块中。即将PAGEN中的数据写入其所对应的块中。0049。

17、如果在完成步骤26后PAGELIST中还存在待写入NAND块中的数据时,重复步骤23至步骤26,直到将所有数据都写入块中以后,中断唤醒处于阻塞状态的请求处理线程。此时对于NAND的一次读写操作完成。0050如图4所示,本发明实施例提供一种在NAND中处理数据的装置,所述装置包括0051唤醒模块41,用于在接收到文件系统的读写请求后,唤醒等待的请求处理线程0052映射模块42,用于将扇区链中的数据按照预先设置的方式映射到页链表的页中;说明书CN104199619A4/4页60053确定模块43,用于按照一定的动态对应方式,确定出每一页所对应的NAND的块;0054写入模块44,用于将所述页链表中。

18、的数据依次写入NAND的块中后,中断唤醒处于阻塞状态的请求线程。0055所述映射模块42具体用于0056将所述扇区链中的各个扇区所保存的数据按照预先设置的对应关系,存放到与扇区对应的页中。0057所述确定模块43具体用于0058根据分区物理地址偏移及大小确定出页所对应的待写入数据的块地址;0059判断该待读写入数据的块是否为坏块,如果是则在计算出的页地址的基础之上加一个块的页数量,从而重新计算出每个虚拟页所对应的物理页地址,并根据该物理页地址确定出新的待写入数据的NAND的块。0060综上所述,有益效果0061本发明的设计思想就是设计一种一次处理连续多个页,即PAGELIST中的数据量的设计方。

19、法,使数据处理不受页结构的限制,即不是每存储一页数据时就必须进行一次中断处理,使用本发明实施例提供的方法能成倍的增加数据的吞吐量,减少数据处理的阻塞时间,减少完成中断的产生,提高CPU的性能,同时也提高了NAND驱动的效率。0062本发明提供的方法从文件系统接口为基点,将其拿到的以NAND逻辑扇区为数据请求单位的文件读写请求,,通过具体算法处理转化成以PAGELIST为数据单位的数据请求,驱动层对PAGELIST进行分析、处理。增加数据的吞吐量,减少数据处理的阻塞时间,减少NAND读写完成的中断产生,提高CPU的性能,同时也提高了NAND驱动的效率。0063使用本发明实施例提供的方法需要首先将。

20、扇区链中的所有数据都存入页链表中,当需要对NAND进行读写操作时将页链表中的数据依次全部写入到NAND的对应块中,该方法只需在将页链表中的数据写入NAND的对应块中之后产生一次读写完成中断,然后再唤醒处于阻塞状态的请求处理线程,进行下一次的读写请求,可见该方法不需要产生多次中断因此可大大降低CPU的功耗,提高数据存储的效率。0064以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。说明书CN104199619A1/3页7图1说明书附图CN104199619A2/3页8图2说明书附图CN104199619A3/3页9图3图4说明书附图CN104199619A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1