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

文档序号:6384858阅读:142来源:国知局
专利名称:一种基于新型存储器的固态硬盘内部缓存管理方法及系统的制作方法
技术领域
本发明涉及固态硬盘缓存技术领域,特别是涉及一种基于新型存储器的固态硬盘内部缓存管理方法及系统。
背景技术
随着计算机信息技术的广泛应用,在人类社会中存在海量的数据需要处理和存储。因此信息技术的高速发展对存储系统的性能也提出了更高的要求,目前计算机存储系统的容量已经有了极大的提高,但是传统磁盘存储器在数据传输率方面还存在瓶颈。为此,固态硬盘技术应运而生,固态硬盘迎合了信息存储发展的趋势,相比传统的磁盘系统其具有更快的单元读写速度、更低的能耗、更强的移动可靠性等优势。然而,固态硬盘因其广泛采用了 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)判断所述PCRAM缓存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤9),若不存在则转至步骤10) ;9)标识所述PCRAM缓存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤5);10)标识所述NAND闪存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤5);11)在所述DRAM内存中的聚簇链表的队首插入该逻辑块号相对应的聚簇节点;12)判断所述PCRAM缓存中是否存在该逻辑块号对应的数据块聚簇,若存在则执行步骤13),若不存在则转至步骤14);13)标识所述PCRAM缓存中该逻辑块号聚簇中逻辑偏移页号相对应的数据页无效,然后转至步骤6) ;14)标识所述NAND闪存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤6)。本发明还提供一种基于新型存储器的固态硬盘内部管理系统,包括SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存,所述固态硬盘内部管理系统中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表。具体地,所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;当更新聚簇内的数据页或者向聚簇中插入新写操作数据页时,则将该数据页聚簇移动到缓冲区链表的头部,而读操作数据页时不改变数据页聚簇在缓冲区链表中的顺序。如上所述,本发明的基于新型存储器(PCRAM,即相变存储器)的固态硬盘(SolidState Disk,简称SSD)内部缓存管理方法提出了一种新的固态硬盘存储架构,该硬件架构体系是在传统的体系架构下新添加PCRAM存储器来扩展移动硬盘写缓冲功能,PCRAM的主要作用包括两方面一方面基于PCRAM缓存扩展DRAM (Dynamic Random Access Memory,即动态随机存取存储器,简称DRAM)内存空间,实现DRAM的写缓存,另一方面基于PCRAM的非易失特性保存数据页逻辑地址到物理地址之间的映射表。本发明通过基于PCRAM的SSD内部缓存管理方法,实现对固态硬盘的写的缓存以克服固态硬盘的读写不均衡特性、有效提高写性能、减少固态硬盘的随机写操作及擦出操作,以此来延长固态硬盘的寿命及提高固态硬盘的整体I/O性能。


图1显示为本发明基于新型存储器的固态硬盘内部管理系统架构示意图。图2显示为缓冲区链表示意图。图3显示为基于新型存储器的固态硬盘内部缓存数据块置换示意图。
图4显示为基于新型存储器的固态硬盘内部缓存数据块置换方法流程图。图5显示为本发明基于新型存储器的固态硬盘内部闪存数据块回写方法流程图。图6显示为本发明的基于新型存储器的固态硬盘内部数据页读取方法流程示意图。图7显示为本发明的基于新型存储器的固态硬盘内部数据页写入方法流程示意图。
具体实施例方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式
加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。请参阅图1,显示为本发明基于新型存储器的固态硬盘内部管理系统架构示意图,如图所示,本发明提供一种基于新型存储器的固态硬盘内部管理系统,包括SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、NAND闪存(S卩NAND FLASH)、及PCRAM(Phase Change Random Access Memory,即相变存储器,简称 PCRAM)缓存。图1所示的架构体系是在传统的体系架构下新添加PCRAM存储器来扩展系统架构实现移动硬盘写缓存功能。 在硬件架构体系中所述PCRAM缓存包括数据块置换区及映射表存储区两部分,其中所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,实现基于PCRAM缓存扩展DRAM内存空间,实现DRAM内存的写缓存,并以统一块回写闪存实现SSD内部写缓存减少对SSD随机写及擦写次数,延长SSD的使用寿命;基于PCRAM的非易失特性,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表。所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;如图2所示,图2显示为缓冲区链表示意图,只有当更新聚簇内的数据页或者向聚簇中插入新写操作数据页时,则将该数据页聚簇移动到缓冲区链表的头部,而读操作数据页时不改变数据页聚簇在缓冲区链表中的顺序,缓冲区链表中各个节点的顺序反应了对数据块的写操作频率,并优先置换出缓冲区链表尾部数据页超过一定阈值的聚簇,提高命中率的同时降低闪存的随机写及擦除次数。需要说明的是,本发明的基于新型存储器的固态硬盘内部管理系统的缓存管理方法包括固态硬盘内部缓存数据块置换、存数据块回写、数据页读取以及数据页写入等操作,以下将结合各操作的流程图分别予以详述。当某一数据块节点的聚簇从DRAM内存向PCRAM缓存置换时,若PCRAM缓存内没有该节点的聚簇信息,则说明该数据块聚簇第一次由DRAM内存向PCRAM缓存置换,则首先将该数据块聚簇缺少的数据页从所述NAND闪存中读出,按逻辑顺序填入该聚簇,最后把整个数据块聚簇写入PCRAM缓存相应的空闲的数据块,如图3所示,图3显示为基于新型存储器的固态硬盘内部缓存数据块置换示意图,即首先将该数据聚簇相对应的FLASH内的有效数据页13,14读入DRAM内存并按数据页的逻辑顺序插入到该数据聚簇所对应的聚簇块中,最后将整个数据块的聚簇置换到PCRAM缓存。若PCRAM缓存内含有该节点的聚簇信息时则说明该数据块之前置换到PCRAM缓存,由于再次更新访问该数据块的相关数据页,相关数据页再次在DRAM内存中被更新,此时向PCRAM缓存的置换时需将DRAM内存中更新的相关数据页置换到PCRAM缓存内存放该聚簇相对应的数据页逻辑编号相应的位置即可。具体地,基于PCRAM作为DRAM写的缓存,当某一数据块节点的聚簇位于缓冲区链表尾部且超过阈值时置换到PCRAM缓存,请参阅图4,显示为基于新型存储器的固态硬盘内部缓存数据块置换方法流程图,如图所示,所述数据块置换方法包括以下步骤步骤101,判断所述PCRAM缓存内是否有相应数据块聚簇,若有,则执行步骤102,若无,则转至步骤103。步骤102,将所述DRAM内存中更新的相关数据页置换到所述PCRAM缓存中存放该数据块聚簇相对应的数据页逻辑地址,完成数据块置换。步骤103,将该数据块聚簇缺少的数据页从所述NAND闪存中读出,并按逻辑顺序填入所述DRAM内存中该数据块聚簇相对应的数据页逻辑地址,然后把所述DRAM内存中相应的数据块聚簇写入所述PCRAM的空闲数据块,完成数据块置换。基于PCRAM的SSD内部缓存管理方法,以统一块回写闪存方式更新NAND闪存中的数据,当DRAM内存中的数据块聚簇不再被访问或超过一定时间没被访问,则以数据块方式回写闪存,具体地,请参阅图5,显示为本发明基于新型存储器的固态硬盘内部闪存数据块回写方法流程图,如图所示,所述闪存数据块回写方法包括以下步骤步骤201,判断所述PCRAM缓存内是否有相应数据块聚簇,若有,则执行步骤202,若无,则转至步骤203。步骤202,将所述DRAM内存中相应聚簇的数据页置换到PCRAM缓存中存放该聚簇相对应的数据页逻辑地址,然后将所述PCRAM缓存内相应聚簇以块形式写入所述NAND闪存,完成闪存数据块回写。步骤203,将该数据块聚簇缺少的数据页从所述NAND闪存中读出,并按逻辑顺序填入所述DRAM内存中该聚簇相对应的数据页逻辑地址,然后把所述DRAM内存中相应聚簇以块形式写入所述NAND闪存,完成闪存数据块回写。为进一步阐明本发明中所述基于PCRAM的SSD内部缓存管理方法原理及功效,请参阅图6,图6显示为本发明的基于新型存储器的固态硬盘内部数据页读取方法流程示意图。当系统进行读操作时,所述数据页读取方法包括以下步骤步骤301,依据主机端文件系统发过来的数据页读取指令将相应的访问地址转换为逻辑页地址;具体地,所述SATA接口控制器依据主机端文件系统发过来的数据页读取指令将相应的访问地址转换为逻辑页地址。步骤302,将所述逻辑页地址分成逻辑块号和块内逻辑偏移页号。步骤303,判断所述DRAM内存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤304,若不存在则转至步骤306。步骤304,判断该逻辑块号对应的数据块聚簇中是否存在与该块内逻辑偏移页号相应的数据页,若存在则执行步骤305,若不存在则转至步骤306。步骤305,将所述DRAM内存中与该块内逻辑偏移页号相对应的数据页中的内容返回给所述主机端文件系统,完成数据页读取。步骤306,判断所述PCRAM缓存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤7,若不存在则转至步骤308。步骤307,将所述PCRAM缓存中与该块内逻辑偏移页号相对应的数据页中的内容返回给所述主机端文件系统,完成数据页读取。步骤308,将所述NAND闪存中与块内逻辑偏移页号相对应的数据页中的内容返回给主机端文件系统,完成数据页读取。所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;读操作数据页时不改变数据页聚簇在缓冲区链表中的顺序。为进一步阐明本发明中所述基于PCRAM的SSD内部缓存管理方法原理及功效,请参阅图7,图7显示为本发明的基于新型存储器的固态硬盘内部数据页写入方法流程示意图,如图所示,当系统进行写操作时,所述数据页写入方法包括以下步骤步骤401,依据主机端文件系统发过来的数据更新指令将相应的访问地址转换为逻辑页地址;具体地,所述SATA接口控制器依据主机端文件系统发过来的数据页读取指令将相应的访问地址转换为逻辑页地址。步骤402,将所述逻辑页地址分成逻辑块号和块内逻辑偏移页号。步骤403,判断所述DRAM内存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤404,若不存在则转至步骤411。步骤404,判断与该逻辑块号对应的数据块聚簇中是否存在与该块内逻辑偏移页号相应的数据页,若存在则执行步骤405,若不存在则转至步骤408。步骤405,将该逻辑块号对应的数据块聚簇移动到所述DRAM内存中缓冲区链表的队首。步骤406,将更新数据写入该逻辑块号相对应的数据块聚簇中与该块内逻辑偏移页号相对应的数据页中。步骤407,设置所述NAND闪存内对应位置的脏数据位,完成数据页写入。步骤408,判断所述PCRAM缓存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤409,若不存在则转至步骤410。步骤409,标识所述PCRAM缓存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤405。步骤410,标识所述NAND闪存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤405。步骤411,在所述DRAM内存中的聚簇链表的队首插入该逻辑块号相对应的聚簇节点。步骤412,判断所述PCRAM缓存中是否存在该逻辑块号对应的数据块聚簇,若存在则执行步骤413,若不存在则转至步骤414。步骤413,标识所述PCRAM缓存中该逻辑块号聚簇中逻辑偏移页号相对应的数据页无效,然后转至步骤406。步骤414,标识所述NAND闪存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤406。所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;当更新聚簇内的数据页或者向聚簇中插入新写操作数据页时,则将该数据页聚簇移动到缓冲区链表的头部。综上所述,本发明的基于新型存储器(PCRAM,即相变存储器)的固态硬盘(SolidState Disk,简称SSD)内部缓存管理方法提出了一种新的固态硬盘存储架构,该硬件架构体系是在传统的体系架构下新添加PCRAM存储器来扩展移动硬盘写缓冲功能,PCRAM的主要作用包括两方面一方面基于PCRAM缓存扩展DRAM (Dynamic Random Access Memory,即动态随机存取存储器,简称DRAM)内存空间,实现DRAM的写缓存,另一方面基于PCRAM的非易失特性保存数据页逻辑地址到物理地址之间的映射表。本发明通过基于PCRAM的SSD内部缓存管理方法,实现对固态硬盘的写的缓存以克服固态硬盘的读写不均衡特性、有效提高写性能、减少固态硬盘的随机写操作及擦出操作,以此来延长固态硬盘的寿命及提高固态硬盘的整体I/O性能。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
权利要求
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内存中与该块内逻辑偏移页号相对应的数据页中的内容返回给所述主机端文件系统,完成数据页读取; 6)判断所述PCRAM缓存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤7),若不存在则转至步骤8); 7)将所述PCRAM缓存中与该块内逻辑偏移页号相对应的数据页中的内容返回给所述主机端文件系统,完成数据页读取; 8)将所述NAND闪存中与块内逻辑偏移页号相对应的数据页中的内容返回给主机端文件系统,完成数据页读取。
8.根据权利要求7所述的基于新型存储器的固态硬盘内部数据页读取方法,其特征在于所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;读操作数据页时不改变数据页聚簇在缓冲区链表中的顺序。
9.根据权利要求7所述的基于新型存储器的固态硬盘内部数据页读取方法,其特征在于所述步骤I)具体为所述SATA接ロ控制器依据主机端文件系统发过来的数据页读取指令将相应的访问地址转换为逻辑页地址。
10.一种基于新型存储器的固态硬盘内部数据页写入方法,应用于包括有至少由SATA接ロ控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存组成的硬件架构中,其特征在于,所述硬件架构中还包括PCRAM缓存,所述PCRAM缓存包括数据块置換区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,所述数据页写入方法包括以下步骤 I)依据主机端文件系统发过来的数据更新指令将相应的访问地址转换为逻辑页地址; 2)将所述逻辑页地址分成逻辑块号和块内逻辑偏移页号; 3)判断所述DRAM内存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤4),若不存在则转至步骤11); 4)判断与该逻辑块号对应的数据块聚簇中是否存在与该块内逻辑偏移页号相应的数据页,若存在则执行步骤5),若不存在则转至步骤8); 5)将该逻辑块号对应的数据块聚簇移动到所述DRAM内存中缓冲区链表的队首; 6)将更新数据写入该逻辑块号相对应的数据块聚簇中与该块内逻辑偏移页号相对应的数据页中; 7)设置所述NAND闪存内对应位置的脏数据位,完成数据页写入; 8)判断所述PCRAM缓存中是否存在与该逻辑块号对应的数据块聚簇,若存在则执行步骤9),若不存在则转至步骤10); 9)标识所述PCRAM缓存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤5); 10)标识所述NAND闪存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤5); 11)在所述DRAM内存中的聚簇链表的队首插入该逻辑块号相对应的聚簇节点; 12)判断所述PCRAM缓存中是否存在该逻辑块号对应的数据块聚簇,若存在则执行步骤13),若不存在则转至步骤14); 13)标识所述PCRAM缓存中该逻辑块号聚簇中逻辑偏移页号相对应的数据页无效,然后转至步骤6); 14)标识所述NAND闪存中的数据块聚簇中与所述块内逻辑偏移页号相对应的数据页无效,然后转至步骤6)。
11.根据权利要求10所述的基于新型存储器的固态硬盘内部数据页写入方法,其特征在于所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;当更新聚簇内的数据页或者向聚簇中插入新写操作数据页时,则将该数据页聚簇移动到缓冲区链表的头部。
12.根据权利要求10所述的基于新型存储器的固态硬盘内部数据页写入方法,其特征在于所述步骤I)具体为所述SATA接口控制器依据主机端文件系统发过来的数据页读取指令将相应的访问地址转换为逻辑页地址。
13.一种基于新型存储器的固态硬盘内部管理系统,包括SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存,其特征在于,所述固态硬盘内部管理系统中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表。
14.根据权利要求13所述的于新型存储器的固态硬盘内部管理系统,其特征在于所述DRAM内存中属于同一物理块的数据页按逻辑顺序进行聚簇,以数据页聚簇对应的数据块的块号为节点,形成缓冲区链表;当更新聚簇内的数据页或者向聚簇中插入新写操作数据页时,则将该数据页聚簇移动到缓冲区链表的头部,而读操作数据页时不改变数据页聚簇在 缓冲区链表中的顺序。
全文摘要
本发明提供一种基于新型存储器的固态硬盘内部缓存管理方法及系统,所述管理系统包括SATA接口控制器、微处理器、DRAM内存、本地总线、闪存控制器、及NAND闪存,所述固态硬盘内部管理系统中还包括PCRAM缓存,所述PCRAM缓存包括数据块置换区及映射表存储区,其中,所述数据块置换区用于存放从所述DRAM内存置换到所述PCRAM缓存的数据块,所述映射表存储区用于保存数据页逻辑地址到物理地址之间的映射表,本发明通过基于PCRAM的SSD内部缓存管理方法,实现对固态硬盘的写的缓存以克服固态硬盘的读写不均衡特性、有效提高写性能、减少固态硬盘的随机写操作及擦出操作,以此来延长固态硬盘的寿命及提高固态硬盘的整体I/O性能。
文档编号G06F12/08GK103049397SQ20121055966
公开日2013年4月17日 申请日期2012年12月20日 优先权日2012年12月20日
发明者李顺芬, 陈小刚, 王玉婵, 周密, 李鸽子, 王月青, 陈一峰, 许林海, 陈后鹏, 宋志棠 申请人:中国科学院上海微系统与信息技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1