[发明专利]将2048字节页的Nand Flash模拟成硬盘的方法和装置有效
| 申请号: | 200810211357.9 | 申请日: | 2008-09-23 |
| 公开(公告)号: | CN101364166A | 公开(公告)日: | 2009-02-11 |
| 发明(设计)人: | 王永钊 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02;G06F17/30 |
| 代理公司: | 北京鑫媛睿博知识产权代理有限公司 | 代理人: | 龚家骅 |
| 地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 2048 字节 nand flash 模拟 硬盘 方法 装置 | ||
1.一种将2048字节页的Nand Flash模拟成硬盘的方法,其特征在于,包括:
接收磁盘文件系统对磁盘扇区的读操作或写操作;
根据Nand Flash中512字节页的OOB信息,获取与所述磁盘扇区对应的512字节页,并对所述获取的512字节页进行读操作、或块内页的顺序写操作;
其中,所述512字节页由每一个2048字节页预先划分得到;所述OOB信息包括所述512字节页对应的逻辑单元、状态、逻辑扇区以及所在块的替换块;
所述获取与所述磁盘扇区对应的512字节页,并对所述获取的512字节页进行读操作具体包括:接收磁盘文件系统发送的参数,所述参数包括磁盘扇区号和缓存区;根据磁盘扇区号,计算得到所述磁盘扇区对应的逻辑单元号和在逻辑单元中的偏移;根据逻辑单元号查找所述逻辑单元号对应的块链,不存在对应的块链时,向缓存区返回全0;存在对应的块链时,根据所述逻辑单元号对应的块链、以及所述磁盘扇区在逻辑单元中的偏移,查找到保存所述扇区最新数据的512字节页,将所述512字节页的数据拷贝到缓存区;
所述获取与所述磁盘扇区对应的512字节页,并对所述获取的512字节页进行块内页的顺序写操作包括:
接收磁盘文件系统发送的参数,该参数包括磁盘扇区号和缓存区;
根据所述磁盘扇区号,计算得到所述磁盘扇区对应的逻辑单元号和在逻辑单元中的偏移;
根据所述逻辑单元号查找该逻辑单元号对应的块链,不存在对应的块链时获取一空闲块加入块链,将逻辑单元信息写入所述空闲块第0页的OOB,在所述空闲块的第一个空闲页中写入上述缓冲区中的数据,在所述空闲页的OOB的逻辑扇区Sector中写入偏移的值,并将该空闲页的OOB的状态设置为已使用;否则继续;
存在对应的块链时,根据所述逻辑单元号对应的块链、以及所述磁盘扇区在逻辑单元中的偏移,判断对应的块链首块上是否有512字节页保存了所述磁盘扇区的数据,没有则在所述首块的第一个空闲页中写入上述缓冲区中的数据,在所述空闲页的OOB的Sector中写入偏移的值,并将该空闲页的OOB的状态设置为已使用;否则继续;
获取上次保存所述磁盘扇区数据的512字节页所在的块,并判断上次保存所述磁盘扇区数据的块的替换块是否存在,存在则在所述替换块的第一个空闲页中写入上述缓冲区中的数据,在所述空闲页的OOB的Sector中写入偏移的值,并将该空闲页的OOB的状态设置为已使用;否则继续;
获取一空闲块加入块链,将逻辑单元信息写入所述空闲块第0页的OOB,将所述空闲块的块号写入保存有该磁盘扇区最新数据的512字节页所在的块中最后使用页的OOB中,在所述空闲块的第一个空闲页中写入上述缓冲区中的数据,在所述空闲页的OOB的Sector中写入偏移的值,并将该空闲页的OOB的状态设置为已使用。
2.如权利要求1所述的方法,其特征在于,所述512字节页由每一个2048字节页预先划分得到包括:
将2048字节页的Nand Flash中每个块的每一页划分为4个512字节页,且在每一个512字节页后面存储所述512字节页对应的OOB信息;或
将2048字节页的Nand Flash中每个块的每一页划分为4个512字节页,且4个512字节页连续放置,所述4个512字节页之前或之后依次存储每一个512字节页对应的OOB信息。
3.如权利要求1或2所述的方法,其特征在于,所述每个512字节页的OOB信息包括:
所述512字节页中512字节数据的校验码;
所述512字节页的状态为空闲Free或已使用;
所述512字节页对应的逻辑单元Unit;
所述512字节页所在块的替换块;
所述512字节页对应的逻辑单元Unit中的Sector。
4.如权利要求1所述的方法,其特征在于,所述存在对应的块链时,根据该逻辑单元号对应的块链、以及该磁盘扇区在逻辑单元中的偏移,查找到保存所述扇区最新数据的512字节页包括:
对所述逻辑单元号对应的块链中的块依次进行查找,查找到某块上512 字节页的OOB Sector等于该磁盘扇区在逻辑单元中的偏移、且所述块的替换块不存在或所述块上的替换块上不存在OOB Sector等于所述磁盘扇区在逻辑单元中的偏移的512字节页;则所述查找到的块上的512字节页即为保存所述磁盘扇区最新数据的512字节页。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810211357.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:组合密封固定式球阀
- 下一篇:一种人造复合硬壳层处理软土路基的方法





