读取数据的方法以及装置制造方法

文档序号:6639980阅读:235来源:国知局
读取数据的方法以及装置制造方法
【专利摘要】本申请公开了一种读取数据的方法以及装置,其中,所述方法包括:在接收到包括读取目标地址的读指令时,判断预设缓存区中是否缓存有所述读取目标地址指向的数据;如果有,则根据第一映射关系查找到所述读取目标地址对应的缓存地址,并在所述预设缓存区中读取所述缓存地址指向的数据,其中,所述第一映射关系用于记录所述目标地址与所述缓存地址之间的对应关系;如果没有,则从非易失性存储空间中读取所述读取目标地址指向的数据。通过上述方式,能够降低由于写干扰而导致的读数据出错。
【专利说明】读取数据的方法w及装置

【技术领域】
[0001] 本申请涉及存储领域,特别是涉及一种读取数据的方法W及装置。

【背景技术】
[0002] 目前,固态硬盘(英文;Solid state化ive,简称;SSD)上用于存储的每个浮栅晶 体管均可W存储2个或3个比特(英文;bit),而每个浮栅晶体管上存储的bit是分别分布 在不同的页(英文;page)中的,使得每个block中的page按照在浮栅晶体管的存储位置 分为不同的2或3类。
[000引 W多阶单元储存(英文;Multi Level Cell,简称;MLC)为例,其浮栅晶体管的2个 bit分别称为最低有效位(英文;Least Si即ificant Bit,简称;LSB)和最高有效位(英 文;Most Significant Bit,简称;MSB),故将每个block中分别分布在浮栅晶体管不同bit 的page分为两类;LSB page (存在浮栅晶体管的LSB上,LSB page也可称为lower page, 本申请均统一为LSB page)和MSB page (存在浮栅晶体管的MSB上,MSB page也可称为 upper page,本申请均统一为MSB page)。基于LSB page和MSB page对应bit的数据存储 在同一个浮栅晶体管,故LSB page和MSB page属于一组共享页(英文;shared pages),具 体某厂家MLC的一个block的共享页如下表1 ;
[0004]

【权利要求】
1. 一种读取数据的方法,其特征在于,包括: 在接收到包括读取目标地址的读指令时,判断预设缓存区中是否缓存有所述读取目标 地址指向的数据; 如果有,则根据第一映射关系查找到所述读取目标地址对应的缓存地址,并在所述预 设缓存区中读取所述缓存地址指向的数据,其中,所述第一映射关系用于记录所述目标地 址与所述缓存地址之间的对应关系; 如果没有,则从非易失性存储空间中读取所述读取目标地址指向的数据。
2. 根据权利要求1所述的方法,其特征在于,还包括: 在接收到写指令时,判断所述写指令中的写入目标地址是否属于非易失性存储空间中 的最高有效位页MSB page,其中,所述写指令包括需写入数据和所述写入目标地址; 如果不属于,则将所述需写入数据存储到所述预设缓存区和所述写入目标地址对应的 非易失性存储空间中,并建立所述缓存地址与所述目标地址之间的所述第一映射关系; 如果属于,则将所述需写入数据存储到所述写入目标地址对应的非易失性存储空间 中。
3. 根据权利要求2所述的方法,其特征在于,还包括: 获取所述非易失性存储空间的所有共享页组中MSB page与LSB page之间的最大相差 页数为m,所述m为自然数; 为所述预设缓存区分配至少n*P+m个page大小的缓存空间,其中,所述p表示所述非 易失性存储空间的MSB page的共享页数,所述n为自然数,至少为1。
4. 根据权利要求3所述的方法,其特征在于,还包括: 如果所述写入目标地址属于所述非易失性存储空间中的MSB page,则判断所述写入目 标地址所在的MSB page是否为块block中的最后一个MSB page ; 如果不是,则获取以所述写入目标地址所在的MSB page为始点向前第n个MSB page 的共享页的地址,并作为释放数据地址; 如果是,则获取所述block中最后n+1个MSB page的共享页的地址,作为所述释放数 据地址; 将所述预设缓存区中与所述释放数据地址具有第一映射关系的缓存地址指向的数据 释放,并删除所述第一映射关系中的所述释放数据地址。
5. 根据权利要求1至4任一项所述的方法,其特征在于,还包括: 在掉电时,将所述预设缓存区中的数据另保存在所述非易失性存储空间中,并建立所 述缓存地址与所述非易失性存储空间的另保存地址之间的第二映射关系; 在上电时,根据所述第二映射关系,将所述非易失性存储空间的另保存地址指向的数 据缓存至所述预设缓存区的所述缓存地址上。
6. 根据权利要求1至4任一项所述的方法,其特征在于,所述预设缓存区位于双倍速率 同步动态随机存储器DDR或者静态随机存取存储器SRAM中。
7. 根据权利要求1至4任一项所述的方法,其特征在于,所述非易失性存储空间为固态 硬盘SSD的存储空间。
8. -种读取数据的装置,其特征在于,包括第一判断模块、第一读取模块和第二读取模 块; 所述第一判断模块用于在接收到包括读取目标地址的读指令时,判断预设缓存区中是 否缓存有所述读取目标地址指向的数据,并将第一判断结果发送到第一、第二读取模块; 所述第一读取模块用于在预设缓存区中缓存有所述读取目标地址指向的数据时,根据 第一映射关系查找到与所述读取目标地址对应的缓存地址,并在所述预设缓存区中读取所 述缓存地址指向的数据,其中,所述第一映射关系用于记录所述目标地址与所述缓存地址 之间的对应关系; 所述第二读取模块用于在预设缓存区中没有缓存所述读取目标地址指向的数据时,从 所述非易失性存储空间中读取所述读取目标地址指向的数据。
9. 根据权利要求8所述的装置,其特征在于,还包括第二判断模块、第一写入模块、第 二写入模块, 所述第二判断模块用于在接收到写指令时,判断所述写指令中的写入目标地址是否属 于非易失性存储空间中的最高有效位页MSB page,并将第二判断结果发送给第一、第二写 入模块,其中,所述写指令包括需写入数据和所述写入目标地址; 所述第一写入模块用于在判断所述写入目标地址不属于非易失性存储空间的MSB page时,将所述需写入数据存储到所述预设缓存区和所述写入目标地址对应的非易失性存 储空间中,并建立所述缓存地址与所述目标地址之间的所述第一映射关系; 所述第二写入模块用于在判断所述写入目标地址属于非易失性存储空间的MSB page 时,将所述需写入数据存储到所述写入目标地址对应的非易失性存储空间中。
10. 根据权利要求9所述的装置,其特征在于,还包括第三获取模块和分配模块; 所述第三获取模块用于获取所述非易失性存储空间的所有共享页组中MSB page与LSB page之间的最大相差页数为m,并将所述m发送给所述分配模块,所述m为自然数; 所述分配模块用于为所述预设缓存区分配至少n*P+m个page大小的缓存空间,其中, 所述P表示所述非易失性存储空间的MSB page的共享页数,所述n为自然数,至少为1。
11. 根据权利要求10所述的装置,其特征在于,还包括第三判断模块、第一获取模块、 第二获取模块和释放模块; 所述第三判断模块用于在所述写入目标地址属于所述非易失性存储空间中的MSB page时,判断所述写入目标地址所在的MSB page是否为块block中的最后一个MSB page, 并将第三判断结果发送给第一、第二获取模块; 所述第一获取模块用于在所述写入目标地址所在的MSB page不为block中的最后一 个MSB page时,获取以所述写入目标地址所在的MSB page为始点向前第n个MSB page的 共享页的地址,并作为释放数据地址,将所述释放数据地址发送给所述释放模块; 所述第二获取模块用于在所述写入目标地址所在的MSB page为block中的最后一个 MSB page时,获取所述block中最后n+1个MSB page的共享页的地址,作为所述释放数据 地址,将所述释放数据地址发送给所述释放模块; 所述释放模块用于将所述预设缓存区中与所述释放数据地址具有第一映射关系的缓 存地址指向的数据释放,并删除所述第一映射关系中的所述释放数据地址。
12. 根据权利要求8至11任一项所述的装置,其特征在于,还包括保存模块和缓存模 块; 所述保存模块用于在掉电时,将所述预设缓存区中的数据另保存在所述非易失性存 储空间中,并建立所述缓存地址与所述非易失性存储空间的另保存地址之间的第二映射关 系,将所述第二映射关系发送给所述缓存模块; 所述缓存模块用于在上电时,根据所述第二映射关系,将所述非易失性存储空间的另 保存地址指向的数据缓存至所述预设缓存区的所述缓存地址上。
13. 根据权利要求8所述的装置,其特征在于,所述预设缓存区位于双倍速率同步动态 随机存储器DDR或者静态随机存取存储器SRAM中。
14. 根据权利要求8所述的装置,其特征在于,所述非易失性存储空间为固态硬盘SSD 的存储空间。
【文档编号】G06F12/08GK104503707SQ201410817949
【公开日】2015年4月8日 申请日期:2014年12月24日 优先权日:2014年12月24日
【发明者】周建华, 黎燕, 张颇, 王斐 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1