一种基于新型存储器的固态硬盘内部缓存管理方法及系统技术方案

技术编号:8593901 阅读:231 留言:0更新日期:2013-04-18 07:03
本发明专利技术提供一种基于新型存储器的固态硬盘内部缓存管理方法及系统,所述管理系统包括SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存,所述固态硬盘内部管理系统中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,本发明专利技术通过基于PCRAM的SSD内部缓存管理方法,实现对固态硬盘的写的缓存以克服固态硬盘的读写不均衡特性、有效提高写性能、减少固态硬盘的随机写操作及擦出操作,以此来延长固态硬盘的寿命及提高固态硬盘的整体I/O性能。

【技术实现步骤摘要】

本专利技术涉及固态硬盘缓存
,特别是涉及一种基于新型存储器的固态硬盘内部缓存管理方法及系统
技术介绍
随着计算机信息技术的广泛应用,在人类社会中存在海量的数据需要处理和存储。因此信息技术的高速发展对存储系统的性能也提出了更高的要求,目前计算机存储系统的容量已经有了极大的提高,但是传统磁盘存储器在数据传输率方面还存在瓶颈。为此,固态硬盘技术应运而生,固态硬盘迎合了信息存储发展的趋势,相比传统的磁盘系统其具有更快的单元读写速度、更低的能耗、更强的移动可靠性等优势。然而,固态硬盘因其广泛采用了 NAND Flash闪存芯片作为存储单元,因而其也具有Flash的一些特征,由于其制造工艺的问题,存在以下缺点( I)读取和写入速度不对称,写入速度比读取速度慢两个数量级,读取和写入以页为单位,擦除以块为单位;(2)先擦除后写入,闪存的一个突出特点就是一个数据页在更新时,必须将此页所在的块擦除后再写入,而且闪存的擦除速度远远落后于读写速度;(3)易出现坏块,闪存的块擦除次数有一定限制,超过此限制将导致坏块出现,同时使用过程中,块与块之间擦除次数不均衡会导致固态硬盘的寿命问题。这些缺点造成固态硬盘写性能,尤其是随机写性能低下,严重阻碍了固态硬盘在桌面领域的应用,因为在桌面领域,尤其是服务器存在大量的随机写请求。同时,缓冲区管理是提高闪存访存性能的一种重要且非常有效的手段,对降低闪存的访问开销具有重要意义。目前已有的缓冲区置换策略没有考虑闪存不同于磁盘的特性,只着眼于提高缓冲区的命中率,如果直接它们应用在闪存上,闪存的总访问开销可能会非常大,但如果只着眼于减少写操作,又有可能会大幅度降低缓冲区的命中率,产生过多的读操作,降低闪存的访问性能。因此,如何克服固态硬盘的读写不均衡特性、有效提高写性能、减少固态硬盘中块的擦除次数、减少固态硬盘的随机写操作,以及如何实现固态硬盘的缓存区有效管理,以此来延长固态硬盘的寿命及提高固态硬盘的整体I/o性能成为从业者亟待解决的问题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于新型存储器的固态硬盘内部缓存管理方法,用于解决现有技术中固态硬盘的读写不均衡、FLASH闪存芯片的擦写次数有限、随机写操作对FLASH闪存芯片的寿命影响等问题。为实现上述目的及其他相关目的,本专利技术提供一种基于新型存储器的固态硬盘内部缓存数据块置换方法,应用于包括有至少由SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述数据块置换方法包括以下步骤1)判断所述PCRAM缓存内是否有相应数据块聚簇,若有,则执行步骤2),若无,则转至步骤3) ;2)将所述DRAM内存中更新的相关数据页置换到所述PCRAM缓存中存放该数据块聚簇相对应的数据页逻辑地址,完成数据块置换;3)将该数据块聚簇缺少的数据页从所述NAND闪存中读出,并按逻辑顺序填入所述DRAM内存中该数据块聚簇相对应的数据页逻辑地址,然后把所述DRAM内存中相应的数据块聚簇写入所述PCRAM的空闲数据块,完成数据块置换。本专利技术还提供一种基于新型存储器的固态硬盘内部闪存数据块回写方法,应用于包括有至少由SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述闪存数据块回写方法包括以下步骤1)判断所述PCRAM缓存内是否有相应数据块聚簇,若有,则执行步骤2),若无,则转至步骤3) ;2)将所述DRAM内存中相应聚簇的数据页置换到PCRAM缓存中存放该聚簇相对应的数据页逻辑地址,然后将所述PCRAM缓存内相应聚簇以块形式写入所述NAND闪存,完成闪存数据块回写;3)将该数据块聚簇缺少的数据页从所述NAND闪存中读出,并按逻辑顺序填入所述DRAM内存中该聚簇相对应的数据页逻辑地址,然后把所述DRAM内存中相应聚簇以块形式写入所述NAND闪存,完成闪存数据块回写。本专利技术另提供一种基于新型存储器的固态硬盘内部数据页读取方法,应用于包括有至少由SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述数据页读取方法包括以下步骤1)依据主机端文件系统发过来的数据页读取指令将相应的访问地址转换为逻辑页地址;2)将所述逻辑页地址分成逻辑块号和块内逻辑偏移页号;3)判断所述DRAM内存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤4),若不存在则转至步骤6) ;4)判断该逻辑块号对应的数据块聚簇中是否存在与该块内逻辑偏移页号相应的数据页,若存在则执行步骤5),若不存在则转至步骤6) ;5)将所述DRAM内存中与该块内逻辑偏移页号相对应的数据页中的内容返回给所述主机端文件系统,完成数据页读取;6)判断所述PCRAM缓存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤7),若不存在则转至步骤8) ;7)将所述PCRAM缓存中与该块内逻辑偏移页号相对应的数据页中的内容返回给所述主机端文件系统,完成数据页读取;8)将所述NAND闪存中与块内逻辑偏移页号相对应的数据页中的内容返回给主机端文件系统,完成数据页读取。本专利技术再提供一种基于新型存储器的固态硬盘内部数据页写入方法,应用于包括有至少由SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述数据页写入方法包括以下步骤I)依据主机端文件系统发过来的数据更新指令将相应的访问地址转换为逻辑页地址;2)将所述逻辑页地址分成逻辑块号和块内逻辑偏移页号;3)判断所述DRAM内存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤4),若不存在则转至步骤11) ;4)判断与该逻辑块号对应的数据块聚簇中是否存在与该块内逻辑偏移页号相应的数据页,若存在则执行步骤5),若不存在则转至步骤8) ;5)将该逻辑块号对应的数据块聚簇移动到所述DRAM内存中缓冲区链表的队首;6)将更新数据写入该逻辑块号相对应的数据块聚簇中与该块内逻辑偏移页号相对应的数据页中;7)设置所述NAND闪存内对应位置的脏数据位,完成数据页写入;8)判本文档来自技高网
...

【技术保护点】
一种基于新型存储器的固态硬盘内部缓存数据块置换方法,应用于包括有至少由SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,其特征在于,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述数据块置换方法包括以下步骤:1)判断所述PCRAM缓存内是否有相应数据块聚簇,若有,则执行步骤2),若无,则转至步骤3);2)将所述DRAM内存中更新的相关数据页置换到所述PCRAM缓存中存放该数据块聚簇相对应的数据页逻辑地址,完成数据块置换;3)将该数据块聚簇缺少的数据页从所述NAND闪存中读出,并按逻辑顺序填入所述DRAM内存中该数据块聚簇相对应的数据页逻辑地址,然后把所述DRAM内存中相应的数据块聚簇写入所述PCRAM的空闲数据块,完成数据块置换。

【技术特征摘要】
1.一种基于新型存储器的固态硬盘内部缓存数据块置换方法,应用于包括有至少由SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,其特征在于,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述数据块置换方法包括以下步骤1)判断所述PCRAM缓存内是否有相应数据块聚簇,若有,则执行步骤2),若无,则转至步骤3);2)将所述DRAM内存中更新的相关数据页置换到所述PCRAM缓存中存放该数据块聚簇相对应的数据页逻辑地址,完成数据块置换;3)将该数据块聚簇缺少的数据页从所述NAND闪存中读出,并按逻辑顺序填入所述DRAM内存中该数据块聚簇相对应的数据页逻辑地址,然后把所述DRAM内存中相应的数据块聚簇写入所述PCRAM的空闲数据块,完成数据块置换。2.根据权利要求1所述的基于新型存储器的固态硬盘内部缓存数据块置换方法,其特征在于所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;当更新聚簇内的数据页或者向聚簇中插入新写操作数据页时,则将该数据页聚簇移动到缓冲区链表的头部,而读操作数据页时不改变数据页聚簇在缓冲区链表中的顺序。3.根据权利要求1所述的基于新型存储器的固态硬盘内部缓存数据块置换方法,其特征在于还包括判断一数据块节点的聚簇位于缓冲区链表尾部且超过预设阈值时的步骤,若超过预设阈值则执行所述步骤I)。4.一种基于新型存储器的固态硬盘内部闪存数据块回写方法,应用于包括有至少由SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,其特征在于,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述闪存数据块回写方法包括以下步骤1)判断所述PCRAM缓存内是否有相应数据块聚簇,若有,则执行步骤2),若无,则转至步骤3);2)将所述DRAM内存中相应聚簇的数据页置换到PCRAM缓存中存放该聚簇相对应的数据页逻辑地址,然后将所述PCRAM缓存内相应聚簇以块形式写入所述NAND闪存,完成闪存数据块回写;3)将该数据块聚簇缺少的数据页从所述NAND闪存中读出,并按逻辑顺序填入所述DRAM内存中该聚簇相对应的数据页逻辑地址,然后把所述DRAM内存中相应聚簇以块形式写入所述NAND闪存,完成闪存数据块回写。5.根据权利要求4所述的基于新型存储器的固态硬盘内部闪存数据块回写方法,其特征在于所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;当更新聚簇内的数据页或者向聚簇中插入新写操作数据页时,则将该数据页聚簇移动到缓冲区链表的头部,而读操作数据页时不改变数据页聚簇在缓冲区链表中的顺序。6.根据权利要求4所述的基于新型存储器的固态硬盘内部闪存数据块回写方法,其特征在于还包括判断所述DRAM内存中的数据块聚簇是否超过预设时间没被访问的步骤,若是则执行所述步骤I)。7.一种基于新型存储器的固态硬盘内部数据页读取方法,应用于包括有至少由SATA接ロ控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,其特征在于,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置換区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述数据页读取方法包括以下步骤 1)依据主机端文件系统发过来的数据页读取指令将相应的访问地址转换为逻辑页地址; 2)将所述逻辑页地址分成逻辑块号和块内逻辑偏移页号; 3)判断所述DRAM内存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤4),若不存在则转至步骤6); 4)判断该逻辑块号对应的数据块聚簇中是否存在与该块内逻辑偏移页号相应的数据页,若存在则执行步骤5),若不存在则转至步骤6); 5)将所述DRAM内存中与该块内逻辑偏移页号相对应的数据页中的内容返回给所述主机端文件系统,完成数据页读...

【专利技术属性】
技术研发人员:李顺芬陈小刚王玉婵周密李鸽子王月青陈一峰许林海陈后鹏宋志棠
申请(专利权)人:中国科学院上海微系统与信息技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1