一种固态硬盘及计算机设备

文档序号:1755021 发布日期:2019-11-29 浏览:1次 >En<

阅读说明:本技术 一种固态硬盘及计算机设备 () 是由 冯振 颜秉珩 王理想 于 2019-08-09 设计创作,主要内容包括:本申请公开了一种固态硬盘,包括SSD接口,NAND接口以及内置FTL执行模块的主控芯片;所述主控芯片,用于通过所述NAND接口检测闪存块的操作状态并通过所述SSD接口将所述闪存块的信息上传至内置FTL计算模块的中央处理器,以及通过所述SSD接口接收所述中央处理器下发的执行指令并根据所述执行指令执行相应的操作。通过将FTL模块进行分层解耦,固态硬盘仅保留其中的FTL执行模块而将FTL计算模块上移至中央处理器,能够极大的降低固态硬盘成本,促进硬件的标准化与软件的开源化。本申请还公开了一种计算机设备,同样具有上述技术效果。()

一种固态硬盘及计算机设备

技术领域

本申请涉及计算机技术领域,特别涉及一种固态硬盘;还涉及一种计算机设备。

背景技术

SDD即固态硬盘是用固态电子存储芯片阵列而制成的硬盘,在计算机设备中发挥着重要作为。其中,固态硬盘的主控芯片中的FTL(Flash Translation Layer)模块负责进行坏块管理、地址转换、垃圾回收、磨损均衡等功能,由于实现上述功能的FTL算法较复杂,且其核心技术仅掌握在少数厂商手中,通过将FTL算法与固态硬盘中的主控芯片绑定,以固件程序的形式固化在主控芯片中,这样导致固态硬盘的成本较高,不利于固态硬盘的发展。

有鉴于此,如何提供一种解决上述技术缺陷的技术方案已成为本领域技术人员亟待解决的技术问题。

发明内容

本申请的目的是提供一种固态硬盘,能够有效降低成本,促进硬件的标准化与软件的开源化。本申请的另一目的是提供一种计算机设备,同样具有上述技术效果。

为解决上述技术问题,本申请提供了一种固态硬盘,包括:

SSD接口,NAND接口以及内置FTL执行模块的主控芯片;

所述主控芯片,用于通过所述NAND接口检测闪存块的操作状态并通过所述SSD接口将所述闪存块的信息上传至内置FTL计算模块的中央处理器,以及通过所述SSD接口接收所述中央处理器下发的执行指令并根据所述执行指令执行相应的操作。

可选的,所述FTL执行模块包括:

坏块管理执行模块,用于当检测到所述闪存块存在ECC纠错失败或擦除失败或写失败时,将所述闪存块的信息上传至所述中央处理器,以使所述中央处理器更新坏块表;

地址转换执行模块,用于接收所述中央处理器下发的物理页地址并根据所述物理页地址进行读写操作;

垃圾回收执行模块,用于接收所述中央处理器下发的垃圾回收指令并根据所述垃圾回收指令进行垃圾回收操作;

磨损均衡执行模块,用于接收所述中央处理器下发的数据迁移指令并根据所述数据迁移指令进行数据迁移操作。

为解决上述技术问题,本申请还提供了一种计算机设备,所述计算机设备包括如上述所述的固态硬盘以及后端驱动设置有FTL计算模块的中央处理器。

可选的,所述FTL计算模块包括:

坏块管理计算模块,用于接收所述固态硬盘上传的闪存块的信息并根据所述闪存块的信息更新坏块表;

地址转换计算模块,用于根据逻辑块与物理页的映射表得到当前逻辑块对应的物理页并下发物理页地址至所述固态硬盘;

垃圾回收计算模块,用于记录闪存块中的数据信息并根据所述数据信息确定垃圾回收对象并下发垃圾回收指令至所述固态硬盘;

第一磨损均衡计算模块,用于根据各所述闪存块的擦写次数确定数据迁移对象并下发数据迁移指令至所述固态硬盘。

可选的,所述后端驱动与所述固态硬盘一一对应。

可选的,所述中央处理器的前端驱动还设置有容量均衡计算模块,用于采集各所述固态硬盘的容量信息并根据所述容量信息确定当前写入数据的目标固态硬盘。

可选的,所述中央处理器的前端驱动还设置有读写均衡计算模块,用于采集各所述固态硬盘的读写信息并根据所述读写信息确定当前读写数据的目标固态硬盘。

可选的,所述中央处理器的前端驱动还设置有第二磨损均衡计算模块,用于采集各所述固态硬盘的擦写次数并根据所述擦写次数得到各所述固态硬盘的磨损情况以及根据所述磨损情况确定当前读写数据的目标固态硬盘。

本申请所提供的固态硬盘,包括SSD接口,NAND接口以及内置FTL执行模块的主控芯片;所述主控芯片,用于通过所述NAND接口检测闪存块的操作状态并通过所述SSD接口将所述闪存块的信息上传至内置FTL计算模块的中央处理器,以及通过所述SSD接口接收所述中央处理器下发的执行指令并根据所述执行指令执行相应的操作。

可见,较之将FTL模块全部固化于固态硬盘的主控芯片的传统技术方案,本申请所提供的固态硬盘,对FTL模块进行分层解耦,将FTL模块中容易实现FTL执行模块保留在固态硬盘的主控芯片中,而将复杂的FTL计算模块从主控芯片分离出去,以开源软件的形式由中央处理器执行,脱离厂商绑定,更多的厂商能够生产制造固态硬盘,从而极大的降低了固态硬盘成本,促进硬件的标准化与软件的开源化。

本申请所提供的计算机设备同样具有上述技术效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种固态硬盘的示意图;

图2为现有技术中固态硬盘的示意图。

具体实施方式

本申请的核心是提供一种固态硬盘,能够有效降低成本,促进硬件的标准化与软件的开源化;本申请的另一核心是提供一种计算机设备,同样具有上述技术效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种固态硬盘的示意图;参考图1所示,该固态硬盘包括:

SSD接口,NAND接口以及内置FTL执行模块的主控芯片;主控芯片,用于通过NAND接口检测闪存块的操作状态并通过SSD接口将闪存块的信息上传至内置FTL计算模块的中央处理器,以及通过SSD接口接收中央处理器下发的执行指令并根据执行指令执行相应的操作。

具体的,参考图2所示的现有固态硬盘的示意图,现有固态硬盘的主控芯片固化的FTL模块既包含FTL计算模块又包含FTL执行模块,即现有固态硬盘的主控芯片既承担了实现坏块管理、地址转移、垃圾回收、磨损均衡等功能的计算工作,又承担了实现坏块管理、地址转移、垃圾回收、磨损均衡等功能的执行工作。对比图2所示的现有固态硬盘,本申请所提供的固态硬盘的主控芯片中仅保留了实现坏块管理、地址转移、垃圾回收、磨损均衡等功能的FTL执行模块,即仅将FTL执行模块固化于固态硬盘的主控芯片,而将实现坏块管理、地址转移、垃圾回收、磨损均衡等功能的FTL计算模块从FTL模块中分离出去,以开源软件的形式由计算机设备的中央处理器执行,以利用中央处理器实现坏块管理计算、地址转移计算、垃圾回收计算以及磨损均衡计算。固态硬盘本身则通过NAND接口与闪存块通信,检测闪存块的操作状态,并利用SSD接口与中央处理器进行通信,上传闪存块的信息至内置FTL计算模块的中央处理器,以及接收并根据中央处理器下发的执行指令执行相应的操作。由于FTL执行模块的简单易于实现,从而更多的厂家可以生产制造本申请所提供的固态硬盘,脱离少数厂家的绑定,降低固态硬盘的成本。

其中,在一种具体的实施方式中,上述FTL执行模块包括坏块管理执行模块,用于当检测到闪存块存在ECC纠错失败或擦除失败或写失败时,将闪存块的信息上传至中央处理器,以使中央处理器更新坏块表;地址转换执行模块,用于接收中央处理器下发的物理页地址并根据物理页地址进行读写操作;垃圾回收执行模块,用于接收中央处理器下发的垃圾回收指令并根据垃圾回收指令进行垃圾回收操作;磨损均衡执行模块,用于接收中央处理器下发的数据迁移指令并根据数据迁移指令进行数据迁移操作。

具体的,对应于固态硬盘中FTL执行模块包括坏块管理执行模块、地址转换执行模块、垃圾回收执行模块以及磨损均衡执行模块,中央处理器的FTL计算模块包括坏块管理计算模块、地址转换计算模块、垃圾回收计算模块以及第一磨损均衡计算模块。

中央处理器中的坏块管理计算模块负责维护固态硬盘的坏块表,该坏块表记录了固态硬盘中损坏的闪存块。在固态硬盘的执行过程中,固态硬盘中的坏块管理执行模块当检测到某个闪存块存在ECC纠错失败或擦除失败或写失败的情况时,其会将存在上述操作失败的闪存块的信息上传至中央处理器的坏块管理计算模块,以使坏块管理计算模块更新坏块表。

中央处理器中的垃圾回收计算模块记录了闪存块中的数据哪些为有效数据,哪些为无效数据,并对数据的分布情况进行统计,确定需将哪些有效数据从对应的闪存块读取出来以及重新写入哪些闪存块,即确定垃圾回收对象,并进一步下发相应的垃圾回收指令至固态硬盘,从而固态硬盘中的垃圾回收执行模块根据垃圾回收执行指令执行相应操作,即读取有效数据并将其写入另外的闪存块,并将原闪存块中的该有效数据删除。

用户通过逻辑块地址访问固态硬盘,每个逻辑块地址代表一个逻辑块。然而,固态硬盘以闪存页为基本单位读写闪存,所谓闪存页即物理页。由此,为实现固态硬盘中闪存的读写,中央处理器中的地址转换计算模块维护一个从逻辑块到物理页的映射表。当用户需要读写某个逻辑块即当前逻辑块时,地址转换计算模块首先根据该映射表得到该逻辑块对应的物理页的物理页地址,并将该物理页地址下发至固态硬盘,进而固态硬盘中的地址转换执行模块依据此物理页地址进行相应的读写操作。

闪存的物理特性导致其擦写次数有限,当超过额定擦写次数时会导致其可靠性降低,甚至成为坏块,为保障固态硬盘整体的可靠性,需对闪存块进行磨损均衡处理,以尽量时固态硬盘中的各闪存块的擦写次数在同一水平,从而延长固态硬盘的使用寿命。为此,中央处理器中的第一磨损均衡计算模块会记录各闪存块的擦写次数,并根据数据的读写频繁程度将数据分为冷数据与热数据,并在此基础上,第一磨损均衡计算模块根据各闪存块的擦写次数确定数据迁移对象,包括迁移的数据以及数据迁移前后所在固态硬盘,以及向固态硬盘下发相应的数据迁移指令,以将热数据迁移到擦写次数较低的闪存块,将冷数据迁移到擦写次数较多的闪存块。固态硬盘中的磨损均衡执行模块在接收数据迁移指令后即可对热数据以及冷数据执行相应的迁移操作,并向中央处理器反馈执行结果。

综上所述,较之将FTL模块全部固化于固态硬盘的主控芯片的传统技术方案,本申请所提供的固态硬盘,对FTL模块进行分层解耦,将FTL模块中容易实现FTL执行模块保留在固态硬盘的主控芯片中,而将复杂的FTL计算模块从主控芯片分离出去,以开源软件的形式由中央处理器执行,脱离厂商绑定,更多的厂商能够生产制造固态硬盘,从而极大的降低了固态硬盘成本,促进硬件的标准化与软件的开源化。

本申请还提供了一种计算机设备,下文描述的该计算机设备可以与上文描述的固态硬盘相互对应参照。该计算机设备包括如上所述的固态硬盘以及后端驱动设置有FTL计算模块的中央处理器。且在一种具体的实施方式中,上述后端驱动与固态硬盘一一对应。

具体的,中央处理器可设置多个后端驱动,各后端驱动与固态硬盘一一对应,且均设置FTL计算模块。其中,在一种具体的实施方式中,上述FTL计算模块包括坏块管理计算模块,用于接收固态硬盘上传的闪存块的信息并根据闪存块的信息更新坏块表;地址转换计算模块,用于根据逻辑块与物理页的映射表得到当前逻辑块对应的物理页并下发物理页地址至固态硬盘;垃圾回收计算模块,用于记录闪存块中的数据信息并根据数据信息确定垃圾回收对象并下发垃圾回收指令至固态硬盘;第一磨损均衡计算模块,用于根据各闪存块的擦写次数确定数据迁移对象并下发数据迁移指令至固态硬盘。

对于FTL计算模块的具体介绍请参照上述固态硬盘的实施例,本申请在此不做赘述。

另外,在一种具体的实施方式中,上述中央处理器的前端驱动还设置有容量均衡计算模块,用于采集各固态硬盘的容量信息并根据容量信息确定当前写入数据的目标固态硬盘。

具体的,中央处理器的前端驱动可设置一个容量均衡计算模块,以实现不同固态硬盘间的容量均衡。具体而言,容量均衡计算模块可采集中央处理器下各固态硬盘的容量信息,包括容量大小、已用容量和未用容量。当用户启动数据写操作时,容量均衡模块根据各固态硬盘的容量信息确定当前写入数据的目标固态硬盘,即确定用户所需写入的数据具体写入哪个固态硬盘,以实现各固态硬盘容量均衡。

进一步,在一种具体的实施方式中,上述中央处理器的前端驱动还设置有读写均衡计算模块,用于采集各固态硬盘的读写信息并根据读写信息确定当前读写数据的目标固态硬盘。

具体的,中央处理器的前端驱动还可设置一个读写均衡计算模块,该读写均衡计算模块可采集中央处理器下各固态硬盘的读写信息,包括读写速率、IPOS即每秒的读写次数等,进而当用户读写数据时,读写均衡模块依据各固态硬盘的读写信息确定当前读写数据的目标固态硬盘,以实现在多个固态硬盘间分流读写操作,提升并行读写性能。

进一步,在一种具体的实施方式中,上述中央处理器的前端驱动还设置有第二磨损均衡计算模块,用于采集各固态硬盘的擦写次数并根据擦写次数得到各固态硬盘的磨损情况以及根据磨损情况确定当前读写数据的目标固态硬盘。

具体的,中央处理器的前端驱动还可设置一个第二磨损均衡计算模块,区别于负责固态硬盘的各闪存块磨损均衡计算的第一磨损均衡计算模块,该第二磨损均衡计算模块负责各固态硬盘的磨损均衡计算。具体而言,第二磨损均衡计算模块可采集各固态硬盘的擦写次数并计算各固态硬盘的磨损情况,以及根据磨损情况确定读写数据的目标固态硬盘,以延长固态硬盘整体的使用寿命。

本申请所提供的计算机设备,将固态硬盘中的FTL模块进行分层解耦,即将FTL模块中容易实现FTL执行模块保留在固态硬盘的主控芯片中,而将复杂的FTL计算模块从主控芯片分离出去,以开源软件的形式由中央处理器实现,从而脱离厂商绑定,更多的厂商能够生产制造固态硬盘,从而极大的降低了固态硬盘成本,促进硬件的标准化与软件的开源化。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似模块互相参见即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机设备软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦写可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的固态硬盘以及计算机设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种避免浪费第三方云存储空间的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类