基于固态硬盘的计算机系统的制作方法

文档序号:6362503阅读:135来源:国知局
专利名称:基于固态硬盘的计算机系统的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于固态硬盘的计算机系统。
背景技术
固态态硬盘是使用闪存作为存储介质的一类硬盘,相比较传统硬盘,其有更高速度,更低功耗,更低噪音等优点。由于固态硬盘使用的闪存有擦写次数限制,一旦某一闪存块擦除/写入到达一定次数,就可能造成无法写入新数据,或者数据损坏。为了避免这种情况发生,固态硬盘引入了闪存转换层(Flash Translation Layer)算法技术,该技术通过将主机的逻辑块地址(LBA)映射为闪存的物理块地址(PBA),对闪存的每个物理块进行管理, 做到每个物理块的擦写次数做到静态和动态均衡,延长了闪存的寿命,使得固态硬盘也有传统硬盘的使用寿命。参见图1,现有的固态硬盘主要由三个模块组成接口控制器模块,负责收发与主机交互的数据;FTL算法模块,负责管理闪存物理块和逻辑到物理地址映射;闪存控制器模块,负责根据FTL提供的物理地址从闪存读出数据或者写入数据到闪存。且所有控制器驱动程序和FTL算法模块,共用一个高性能嵌入式处理器或者两个嵌入式处理器来处理指令。这样就会存在以下缺陷所有模块共用一个处理器,增加处理器的负担,降低系统响应速度;使用高性能处理器虽然会提高系统功耗,同时投入成本也相对较高;系统缓存有限, 无法缓存更多数据,导致性能会有所损失。综上可知,现有的固态硬盘系统,在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容
针对上述的缺陷,本发明的目的在于提供一种基于固态硬盘的计算机系统,其具有较高的系统性能,还可以减少固态硬盘的损耗。为了实现上述目的,本发明提供一种基于固态硬盘的计算机系统,包括相互连接的主机和固态硬盘,所述主机包括文件模块以及用于提供第一驱动程序的第一硬盘驱动模块,其特征在于,所述主机还包括用于提供第二驱动程序的第二硬盘驱动模块,所述第二硬盘驱动模块包括FTL管理子模块,用于提供逻辑块地址到物理块地址的映射,并管理闪存读写/擦除的损耗均衡以及坏块表;文件分析子模块,用于分析所述文件模块,并将文件模块内删除的文件对应的逻辑块地址通知所述FTL管理子模块,所述FTL管理子模块回收所述逻辑块地址对应的物理块;缓存子模块,用于建立缓冲区,暂存所述主机与固态硬盘之间交互的数据。根据本发明的基于固态硬盘的计算机系统,所述固态硬盘包括接口模块,用于与所述主机交互数据;CN 102541760 A
FTL算法模块,用于当主机采用第一驱动程序时提供逻辑块地址到物理块地址的映射,并管理闪存读写/擦除的损耗均衡以及坏块表;或者,用于当主机采用第二驱动程序时辅助所述FTL管理子模块运算管理;闪存控制模块,用于将数据写入闪存或者从闪存中读出数据。根据本发明的基于固态硬盘的计算机系统,当所述主机与所述固态硬盘交互数据时,所述缓存子模块将所述主机的内存作为缓冲区。根据本发明的基于固态硬盘的计算机系统,所述接口模块与闪存控制模块可直接进行数据交互传输。根据本发明的基于固态硬盘的计算机系统,所述主机加载第一驱动程序时,所述固态硬盘工作在第一工作模式;所述主机加载第二驱动程序时,所述固态硬盘工作在第二工作模式。根据本发明的基于固态硬盘的计算机系统,所述固态硬盘的接口包括USB接口、 SATA 接口、SAS 接口、PATA 接口禾口 PCIE 接口。根据本发明的基于固态硬盘的计算机系统,所述第二硬盘驱动模块还包括自定义命令子模块,用于处理所述固态硬盘的FTL算法模块的通信及同步;和/或保存映射表。本发明通过在基于固态硬盘的系统的主机端内设置FTL管理子模块,其可以提供逻辑块地址到物理块地址的映射,并管理闪存读写/擦除的损耗均衡以及坏块表其,该模块可提供FTL算法,并通过主机处理器控制运算,借此有效利用主机的处理器,且当运行该 FTL管理子模块时,固态硬盘内的FTL算法模块无需再做大量的算法运算,借此提高系统的整体性能,并减少固态硬盘的损耗。


图1是现有技术的基于固态硬盘的系统结构示意图;图2是本发明的基于固态硬盘的系统结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参见图2,本发明提供了一种基于固态硬盘的计算机系统,其包括相互连接的主机 10和固态硬盘20。主机10内具有文件模块11以及用于提供第一驱动程序的第一硬盘驱动模块12,以及用于提供第二驱动程序的第二硬盘驱动模块13。本发明的一实施例中,第二硬盘驱动模块13包括FTL管理子模块131,用于提供逻辑块地址到物理块地址的映射,并管理闪存读写 /擦除的损耗均衡以及坏块表。文件分析子模块132,用于分析文件模块11,并将文件模块11内删除的文件对应的逻辑块地址通知FTL管理子模块131,FTL管理子模块131回收所述逻辑块地址对应的物理块。缓存子模块133,用于建立缓冲区,暂存所述主机与固态硬盘之间交互的数据。
自定义命令子模块134,用于处理所述固态硬盘的FTL算法模块的通信及同步;和 /或保存映射表。需要说明的是,本发明所述的第一驱动程序是普通的硬盘驱动程序,第二驱动程序是通过上述第二硬盘驱动模块13实现的驱动程序,该第二驱动程序是加载了 FTL算法的驱动。在本发明的系统启动时,可以加载普通的硬盘驱动程序进入第一工作模式,也可以加载第二驱动程序,进入第二工作模式,所述的第一工作模式为普通硬盘的正常工作模式,第二工作模式为本发明提供的高性工作模式。具体应用中,固态硬盘20包括 接口模块21,用于与主机10交互数据。本发明的固态硬盘20的接口可以为USB 接口、SATA接口、SAS接口、PATA接口和PCIE接口等,接口模块21也与各类接口对应。FTL算法模块22,用于当主机10加载第一驱动程序时提供逻辑块地址到物理块地址的映射,并管理闪存读写/擦除的损耗均衡以及坏块表,当主机采用第二驱动程序时该 FTL算法模块22辅助主10机的FTL管理子模块131运算管理。闪存控制模块23,用于将数据写入闪存或者从闪存中读出数据。下面结合图2具体描述本发明的一个工作过程。系统上电初始化,主机10通过第二硬盘驱动模块13加载第二驱动程序,并发送自定义ATA命令通知固态硬盘20切换到第二工作模式。固态硬盘20将FTL相关数据传输给第二硬盘驱动模块13,FTL管理子模块131根据这些数据重建FTL管理所需的各映射表,且在之后的系统运行中FTL的运算管理主要由FTL管理子模块131完成,固态硬盘20的FTL 算法模块22可协助其完成相应的计算管理任务,借此可减少固态硬盘20的损耗,提高其寿命。在主机10与固态硬盘20交互的过程中,缓存子模块133将主机10的内存建为缓冲区, 可暂存交互的数据,同时,文件分析子模块132在系统空闲时分析文件模块11,将文件模块 11内删除的文件对应的逻辑块地址通知FTL管理子模块131,FTL管理子模块131回收这些逻辑块对应的物理块,借此节省空间。需要说明的是,固态硬盘20的接口模块21和闪存控制模块23可以直接进行数据交互,且交互过程中,FTL算法模块22可以管理坏块表以及错误处理等辅助工作。本发明通过在主机10和固态硬盘20内均设有用于提供FTL管理的模块,二者可以独立工作,也可以协同工作,方便灵活。同时,通过主机10的处理器进行计算处理减少了固态硬20的运算量。主机10的第二硬盘驱动模块13可分析主机文件模块11,便于Wear leveling和Gartage Collection,有利于改善性能,提高固态硬盘寿命。更好的,本发明可以将主机10的内存作为数据缓存,也可以对内存采取数据预读取技术,借此提升随机/顺序读写速度,同时可减小写入放大(Write Amplify)。综上所述,本发明通过在基于固态硬盘的系统的主机端内设置FTL管理子模块, 其可以提供逻辑块地址到物理块地址的映射,并管理闪存读写/擦除的损耗均衡以及坏块表其,该模块可提供FTL算法,并通过主机处理器控制运算,借此有效利用主机的处理器, 且当运行该FTL管理子模块时,固态硬盘内的FTL算法模块无需再做大量的算法运算,借此提高系统的整体性能,并减少固态硬盘的损耗。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种基于固态硬盘的计算机系统,包括相互连接的主机和固态硬盘,所述主机包括文件模块以及用于提供第一驱动程序的第一硬盘驱动模块,其特征在于,所述主机还包括用于提供第二驱动程序的第二硬盘驱动模块,所述第二硬盘驱动模块包括FTL管理子模块,用于提供逻辑块地址到物理块地址的映射,并管理闪存读写/擦除的损耗均衡以及坏块表;文件分析子模块,用于分析所述文件模块,并将文件模块内删除的文件对应的逻辑块地址通知所述FTL管理子模块,所述FTL管理子模块回收所述逻辑块地址对应的物理块;缓存子模块,用于建立缓冲区,暂存所述主机与固态硬盘之间交互的数据。
2.根据权利要求1所述的基于固态硬盘的计算机系统,其特征在于,所述固态硬盘包括接口模块,用于与所述主机交互数据;FTL算法模块,用于当主机采用第一驱动程序时提供逻辑块地址到物理块地址的映射, 并管理闪存读写/擦除的损耗均衡以及坏块表;或者,用于当主机采用第二驱动程序时辅助所述FTL管理子模块运算管理;闪存控制模块,用于将数据写入闪存或者从闪存中读出数据。
3.根据权利要求1所述的基于固态硬盘的计算机系统,其特征在于,当所述主机与所述固态硬盘交互数据时,所述缓存子模块将所述主机的内存作为缓冲区。
4.根据权利要求2所述的基于固态硬盘的计算机系统,其特征在于,所述接口模块与闪存控制模块可直接进行数据交互传输。
5.根据权利要求1所述的基于固态硬盘的计算机系统,其特征在于,所述主机加载第一驱动程序时,所述固态硬盘工作在第一工作模式;所述主机加载第二驱动程序时,所述固态硬盘工作在第二工作模式。
6.根据权利要求2所述的基于固态硬盘的计算机系统,其特征在于,所述固态硬盘的接 口包括 USB 接口、SATA 接口、SAS 接口、PATA 接口和 PCIE 接口。
7.根据权利要求2所述的基于固态硬盘的计算机系统,其特征在于,所述第二硬盘驱动模块还包括自定义命令子模块,用于处理所述固态硬盘的FTL算法模块的通信及同步; 和/或保存映射表。
全文摘要
本发明提供了一种基于固态硬盘的计算机系统,包括相互连接的主机和固态硬盘,主机包括文件模块以及用于提供第一驱动程序的第一硬盘驱动模块,所述主机还包括用于提供第二驱动程序的第二硬盘驱动模块,第二硬盘驱动模块包括FTL管理子模块,用于提供逻辑块地址到物理块地址的映射,并管理闪存读写/擦除的损耗均衡以及坏块表;文件分析子模块,用于分析文件模块,并将文件模块内删除的文件对应的逻辑块地址通知FTL管理子模块,FTL管理子模块回收所述逻辑块地址对应的物理块;缓存子模块,用于建立缓冲区,暂存所述主机与固态硬盘之间交互的数据。借此,本发明的主机端也具有FTL管理功能,可大大提高系统的性能,减少固态硬盘的损耗。
文档编号G06F12/08GK102541760SQ201210000778
公开日2012年7月4日 申请日期2012年1月4日 优先权日2012年1月4日
发明者杨树浩 申请人:记忆科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1