利用数据可压缩性提高固态硬盘响应速度的方法、装置及系统的制作方法

文档序号:6739633阅读:235来源:国知局
专利名称:利用数据可压缩性提高固态硬盘响应速度的方法、装置及系统的制作方法
技术领域
本发明涉及一种固态存储领域,尤其涉及一种利用数据可压缩性提高固态硬盘响应速度的方法、装置及系统。
背景技术
作为唯一主流的固态非挥发数据储存技术,闪存已经成为了全球半导体产业体系中发展最为迅速的一环。2010年市场研究报告显示,闪存产品的市场已突破200亿美元。虽然目前闪存主要用于消费性电子产品例如数字照相机和手机,以闪存作为存储介质的固态存储系统正在得到业界的广泛关注。使用闪存作为存储介质的固态存储系统比传统存储系统的速度可提高10至100倍。除了速度上的优势,由于完全没有机械结构,固态存储系统在抗震性能、发热功耗、使用噪音和体积重量方面都有着显著的优势。固态存储系统主要包含一个固态存储系统控制器和一个以上闪存芯片。
浮栅金属氧化物半导体晶体管是闪存芯片的基本信息存储单元。浮栅金属氧化物半导体晶体管的阈值电压可以通过注射一定数量的电子进入浮栅而改变。因此,通过对浮栅内电子数目的精确控制,每个存储单元,即浮栅金属氧化物半导体晶体管,可储存多个比特信息。精确控制浮栅内电子数目的过程通常被称为编程。在每一个存储单元可以被编程之前,其浮栅内的所有电子必须被移走,从而使得其阈值电压被置为最低,这个过程被称为擦除。闪存芯片内的信息存储单元阵列被划分成为多个存储块,而每一个存储块包含多个存储页面。每一个存储块内的所有存储单元必须被同时擦除,但存储单元的编程和读取则以页面为单位。·
重复的编程/擦除的操作会逐渐降低浮栅金属氧化物半导体晶体管的噪音容限,从而使得闪存芯片只有一定的编程/擦除次数限度,加上随着闪存制造工艺精度的不断提高,闪存器件的存储密度不断升高、价格不断下降,这样更加重了重复编程/擦除操作对于信息存储单元的副作用,使得闪存芯片的使用寿命和可靠性不断下降,由此固态存储系统控制器必须采用越来越强大而复杂的纠错码来应付不断下降的闪存信息存储单元可靠性,以保证整个固态存储系统的可靠性和使用寿命。市场上现有固态硬盘均使用传统的BCH(Bose-Chaudur-Hocquenghem)纠错码。BCH纠错码的优点包括简单的编码运算、解码器可实现较高的解码速度、以及只需要闪存页面存储数据的读硬判决信息。然而,随着闪存信息存储单元可靠性不断的下降,BCH纠错码的纠错功能越来越不足以维持固态硬盘数据存储的可靠性。所以,将来的固态硬盘必须使用纠错能力更为强大的纠错码来取代BCH纠错码。作为最有希望的下一代纠错码,LDPC(低密度奇偶校验)纠错码正在得到广泛的关注。如在申请号为200910059381的中国专利申请中提出了一种存储数据纠错的编码方法,该申请公开了一种存数据纠错的方法、装置和设备,具体包括接收纠错控制信号,所述纠错控制信号用于指示待写入存储数据区的数据进行编码采用的纠错码模式;根据所述纠错控制信号从至少两种纠错码模式中确定所述数据进行编码采用的纠错码模式;对所述数据采用所述确定的纠错码模式的编码电路进行编码并生成编码校验位;将所述数据和所述编码校验位写入存储数据区,以实现在同一存储数据的编译码系统下对不同纠错码模式的兼容提供通用的技术手段。但是该方法未解决如何降低LDPC纠错码对闪存芯片读数据软判决操作的依赖性,进而达到固态存储系统最充分地利用LDPC纠错码的纠错功能并同时保持运行速度不受影响。在现有固态存储系统设计中,固态存储系统控制器仅仅使用一固定的LDPC编码方式并在每一闪存物理页面内写入同样大小的用户数据,所以对于所有闪存页面只能达到单一的LDPC硬判决解码成功率。这样,随着闪存编程/擦除次数的不断提高、闪存存储单元可靠性的不断下降,LDPC硬判决解码成功率会不断下降,以致闪存芯片软判决数据读取操作越来越频繁,导致整体数据存储系统速度的降低。
虽然LDPC纠错码可实现比BCH纠错码更为强大的纠错能力,LDPC纠错码的解码性能很大程度上依赖于闪存页面存储数据读出信息的精度。为了实现其最强大的纠错功能,闪存芯片必须进行软判决数据读操作以向LDPC解码器提供足够精确的输入信息。然而,软判决数据读操作会极大的降低闪存芯片的数据读取速度,这样会带来整体固态硬盘运行速度的下降。发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种降低当使用LDPC纠错码时对固态硬盘运行速度影响的方法,可有效地利用数据本身的可压缩性来降低LDPC纠错码对闪存芯片读数据软判决操作的依赖性,进而达到固态存储系统最充分地利用LDPC纠错码的纠错功能并同时保持运行速度不受影响的目的。本发明的一个目的是提供一种利用数据可压缩性提高固态硬盘响应速度的方法,包括当固态数据存储系统控制器接收一帧用户数据时,对所接收的用户数据进行无损压缩操作;对无损压缩数据进行分析,从而选择最低可能的LDPC码率,根据所选择的最低可能的LDPC码率对后续的LDPC码编码器进行码率控制;根据LDPC码率控制器所提供的码率信息,对无损压缩后的数据进行LDPC码编码保护;根据LDPC码率控制器所提供的码率信息对该数据进行解码;以及将解码结果进行数据解压以恢复原始用户数据。上述方法进一步包括对所接收的用户数据进行无损压缩操作的同时可获取一无损数据压缩率。上述方法进一步包括根据所获取的无损数据压缩率选择最低可能的LDPC码率。上述方法进一步包括根据码率信息对数据进行硬判决解码,如果硬判决LDPC解码正确,将解码结果进行数据解压以恢复原始用户数据;如果失败,向闪存芯片发送软判决数据读取命令,闪存芯片执行相应的软判决数据读取并将结果传至固态数据存储系统控制器,然后对数据进行软判决解码。上述方法进一步包括,闪存芯片软判决数据读取精度可相应地依次增高,直至软判决成功。本发明的另一个目的是提供一种用于提高固态硬盘响应速度的固态存储系统控制器,包括数据无损压缩模块,用于当所述固态数据存储系统控制器接收一帧用户数据时,对所接收的用户数据进行无损压缩操作;LDPC码率控制器,用于对无损压缩数据进行分析,从而选择最低可能的LDPC码率,根据所选择的最低可能的LDPC码率对后续的LDPC码编码器进行码率控制;可编程LDPC码编码器,用于根据LDPC码率控制器所提供的码率信息,对无损压缩后的数据进行LDPC码编码保护;可编程LDPC码解码器,根据LDPC码率控制器所提供的码率信息对该数据进行解码;以及数据无损解压模块,将解码结果进行数据解压以恢复原始用户数据。上述固态存储系统控制器,其中数据无损压缩模块对所接收的用户数据进行无损压缩操作,并获取一无损数据压缩率。上述固态存储系统控制器,所述的LDPC码率控制器进一步地根据从所述无损压缩模块获取的无损数据压缩率选择最低可能的LDPC码率。上述固态存储系统控制器,所述LDPC解码器可支持不同码率的LDPC码,并可支持硬判决LDPC解码和软判决LDPC解码。上述固态存储系统控制器,进一步包括,LDPC解码器根据LDPC码率控制器所带的码率信息对数据进行硬判决解码,如果硬判决LDPC解码正确,将解码结果传至数据无损解 压模块进行数据解压以恢复原始用户数据;如果失败,所述固态数据存储系统控制器向闪存芯片发送软判决数据读取命令,闪存芯片执行相应的软判决数据读取并将结果传至固态数据存储系统控制器,LDPC解码器对数据进行软判决解码。上述固态存储系统控制器,进一步包括,闪存芯片软判决数据读取精度可相应地依次增高,直至软判决成功。本发明的另一个目的是提供一种固态存储系统,包括一固态存储系统控制器及多个闪存芯片,所述固态存储系统控制器包括数据无损压缩模块,用于当所述固态数据存储系统控制器接收一帧用户数据时,对所接收的用户数据进行无损压缩操作;LDPC码率控制器,用于对无损压缩数据进行分析,从而选择最低可能的LDPC码率,根据所选择的最低可能的LDPC码率对后续的LDPC码编码器进行码率控制;可编程LDPC码编码器,用于根据LDPC码率控制器所提供的码率信息,对无损压缩后的数据进行LDPC码编码保护;可编程LDPC码解码器,根据LDPC码率控制器所提供的码率信息对该数据进行解码;以及数据无损解压模块,将解码结果进行数据解压以恢复原始用户数据。上述固态存储系统,其中数据无损压缩模块对所接收的用户数据进行无损压缩操作,并获取一无损数据压缩率。上述固态存储系统,所述的LDPC码率控制器进一步地根据从所述无损压缩模块获取的无损数据压缩率选择最低可能的LDPC码率。上述固态存储系统,所述LDPC解码器可支持不同码率的LDPC码,并可支持硬判决LDPC解码和软判决LDPC解码。上述固态存储系统,进一步包括,LDPC解码器根据LDPC码率控制器所带的码率信息对数据进行硬判决解码,如果硬判决LDPC解码正确,将解码结果传至数据无损解压模块进行数据解压以恢复原始用户数据;如果失败,所述固态数据存储系统控制器向闪存芯片发送软判决数据读取命令,闪存芯片执行相应的软判决数据读取并将结果传至固态数据存储系统控制器,LDPC解码器对数据进行软判决解码。上述固态存储系统,进一步包括,闪存芯片软判决数据读取精度可相应地依次增高,直至软判决成功。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。 图I示出了一种固态存储系统的结构示意 图2示出了一种固态存储系统控制器进行数据写入的工作流程 图3示出了一种固态存储系统控制器进行数据读取的工作流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图I所示,本发明的一个实施例提供一种固态存储系统,包括固态存储系统控制器以及多个闪存芯片,在固态存储系统控制器中设置数据无损压缩模块,数据无损解压模块,LDPC码率控制器,可编程LDPC编码器,以及可编程LDPC解码器。其中,当固态数据存储系统控制器接受到一帧用户数据时,数据无损压缩模块用于对所收到的用户数据进行无损压缩操作获得一无损数据压缩率,这种操作可以减小数据量;LDPC码率控制器用于根据当前所得到的无损数据压缩率选择最低可能的LDPC码率,根据所选择的最低可能的LDPC码率对后续的LDPC码编器进行码率控制。根据LDPC码率控制器所提供的码率信息,可编程LDPC码编码器对无损压缩后的数据进行LDPC码编码保护。当读出数据时,可编程LDPC码解码器根据该帧数据所使用的码率对其进行相应的LDPC解码操作,数据无损解压模块对LDPC解码器的输出进行无损解压以恢复原始用户数据。如图2所示,示出了当进行数据写入时,固态数据存储系统的工作流程图。首先,当固态数据存储系统控制器接受到一帧用户数据时,启动其数据无损压缩模块对该用户数据进行无损压缩操作。若此帧用户数据具有无损可压缩性,无损压缩模块会获得一无损数据压缩率,固态数据存储系统控制器将无损压缩过的用户数据送至LDPC码率控制器进行分析,根据从数据无损压缩模块获取的无损数据压缩率以确定最低可能的LDPC码率,并将所得到的最低码率信息送至可编程LDPC码编码器。LDPC编码操作完成后,将所得到的编码结果与码率信息写入一闪存芯片页面内。由于控制器仅能支持几个(如3个,4个)不同的LDPC码率以降低实现硬件复杂度。然而,由于实时用户数据内容的不同,无损数据压缩率会有许多不同的值。根据当前的无损数据压缩率,控制器必须从几个不同的LDPC码率中挑选出一码率,该码率可最大程度的利用无损数据压缩带来的冗余量。如果数据不具有无损可压缩性,控制器直接对原始用户数据进行纠错码编码,此时只能使用码率最高的LDPC码。如图3所示,示出了当进行数据读取时,固态数据存储系统的工作流程图。当用户需要读出数据时,首先闪存芯片执行快速硬判决数据读取并将结果传至固态数据存储系统控制器,LDPC解码器根据其所带的码率信息对该数据进行硬判决解码。如果硬判决LDPC解码正确,将解码结果传至数据无损解压模块进行数据解压以恢复原始用户数据。如果硬判决LDPC解码失败,固态数据存储系统控制器向闪存芯片发送软判决数据读取命令,闪存芯片执行相应的慢速软判决数据读取并将结果传至固态数据存储系统控制器,LDPC解码器对该数据进行软判决解码。进ー步地,闪存芯片软判决数据读取精度可相应地依次增高,直至软判决成功,从而可以进行正确地解码。在设计过程中,固态存储系统控制器的LDPC解码器可支持不同码率的LDPC码,并可支持硬判决LDPC解码和软判决LDPC解码。在实时运行过程中,固态存储系统在接受到每ー帧需要存储的数据后,首先对其进行无损数据压缩处理的同时可以获取ー无损数据压缩率。根据所得压缩率結果,固态存储系统控制器用相应的最低可能码率的LDPC码对该页面数据进行编码保护,这样就可相应提高硬判决LDPC解码的成功概率,减少软判决闪存数据读操作的次数,直接降低LDPC解码对存储系统运行速度的影响。在实际系统运行中,不同的用户数据会具有非常不同的无损数据压缩性,当使用本发明时,数据存储系统可实时利用此无损数据压缩性,尽可能的降低LDPC码率以提高LDPC码的纠错能力。这样可大幅度提高LDPC硬判决解码成功率,进而达到提高固态数据存储系统速度的目的。本发明的实施例在实际的实现过程相对简单易行,更重要的,其与现有固态存储系统设计方法直接兼容。本发明的有益效果是能够非常有效地降低LDPC纠错码对固态数据存储系统运行速度的影响。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种利用数据可压缩性提高固态硬盘响应速度的方法,其特征在于包括 当固态数据存储系统控制器接收一帧用户数据时,对所接收的用户数据进行无损压缩操作; 对无损压缩数据进行分析,从而选择最低可能的LDPC码率,根据所选择的最低可能的LDPC码率进行码率控制; 根据所提供的码率信息,对无损压缩后的数据进行LDPC码编码保护; 进行数据读取时根据所提供的码率信息对数据进行解码;以及 将解码结果进行数据解压以恢复原始用户数据。
2.根据权利要求I所述的方法,其中对所接收的用户数据进行无损压缩操作的同时可获取一无损数据压缩率。
3.根据权利要求2所述的方法,进一步地,根据所获取的无损数据压缩率选择最低可能的LDPC码率。
4.根据权利要求3所述的方法,进一步包括,根据码率信息对数据进行硬判决解码,如果硬判决LDPC解码正确,将解码结果进行数据解压以恢复原始用户数据;如果失败,向闪存芯片发送软判决数据读取命令,闪存芯片执行相应的软判决数据读取并将结果传至固态数据存储系统控制器,然后对数据进行软判决解码。
5.根据权利要求4所述的方法,进一步包括,闪存芯片软判决数据读取精度可相应地依次增高,直至软判决成功。
6.一种用于提高固态硬盘响应速度的固态存储系统控制器,其特征在于包括 数据无损压缩模块,用于当所述固态数据存储系统控制器接收一帧用户数据时,对所接收的用户数据进行无损压缩操作; LDPC码率控制器,用于对无损压缩数据进行分析,从而选择最低可能的LDPC码率,根据所选择的最低可能的LDPC码率对后续的LDPC码编码器进行码率控制; 可编程LDPC码编码器,用于根据LDPC码率控制器所提供的码率信息,对无损压缩后的数据进行LDPC码编码保护; 可编程LDPC码解码器,用于进行数据读取时根据LDPC码率控制器所提供的码率信息对数据进行解码;以及 数据无损解压模块,用于将解码结果进行数据解压以恢复原始用户数据。
7.根据权利要求6所述的固态存储系统控制器,其中数据无损压缩模块对所接收的用户数据进行无损压缩操作,并获取一无损数据压缩率。
8.根据权利要求7所述的固态存储系统控制器,所述的LDPC码率控制器进一步地根据从所述无损压缩模块获取的无损数据压缩率选择最低可能的LDPC码率。
9.根据权利要求8所述的固态存储系统控制器,所述LDPC解码器可支持不同码率的LDPC码,并可支持硬判决LDPC解码和软判决LDPC解码。
10.根据权利要求9所述的固态存储系统控制器,进一步包括,LDPC解码器根据LDPC码率控制器所带的码率信息对数据进行硬判决解码,如果硬判决LDPC解码正确,将解码结果传至数据无损解压模块进行数据解压以恢复原始用户数据;如果失败,所述固态数据存储系统控制器向闪存芯片发送软判决数据读取命令,闪存芯片执行相应的软判决数据读取并将结果传至固态数据存储系统控制器,LDPC解码器对数据进行软判决解码。
11.根据权利要求10所述的固态存储系统控制器,进一步包括,闪存芯片软判决数据读取精度可相应地依次增高,直至软判决成功。
12.一种固态存储系统,包括一固态存储系统控制器及多个闪存芯片,其特征在于所述固态存储系统控制器包括 数据无损压缩模块,用于当所述固态数据存储系统控制器接收一帧用户数据时,对所接收的用户数据进行无损压缩操作; LDPC码率控制器,用于对无损压缩数据进行分析,从而选择最低可能的LDPC码率,根据所选择的最低可能的LDPC码率对后续的LDPC码编码器进行码率控制; 可编程LDPC码编码器,用于根据LDPC码率控制器所提供的码率信息,对无损压缩后的数据进行LDPC码编码保护; 可编程LDPC码解码器,根据LDPC码率控制器所提供的码率信息对该数据进行解码;以及 数据无损解压模块,将解码结果进行数据解压以恢复原始用户数据。
13.根据权利要求12所述的固态存储系统,其中数据无损压缩模块对所接收的用户数据进行无损压缩操作,并获取一无损数据压缩率。
14.根据权利要求13所述的固态存储系统,所述的LDPC码率控制器进一步地根据从所述无损压缩模块获取的无损数据压缩率选择最低可能的LDPC码率。
15.根据权利要求14所述的固态存储系统,所述LDPC解码器可支持不同码率的LDPC码,并可支持硬判决LDPC解码和软判决LDPC解码。
16.根据权利要求15所述的固态存储系统,进一步包括,LDPC解码器根据LDPC码率控制器所带的码率信息对数据进行硬判决解码,如果硬判决LDPC解码正确,将解码结果传至数据无损解压模块进行数据解压以恢复原始用户数据;如果失败,所述固态数据存储系统控制器向闪存芯片发送软判决数据读取命令,闪存芯片执行相应的软判决数据读取并将结果传至固态数据存储系统控制器,LDPC解码器对数据进行软判决解码。
17.根据权利要求16所述的固态存储系统,进一步包括,闪存芯片软判决数据读取精度可相应地依次增高,直至软判决成功。
全文摘要
本发明公开了一种利用数据可压缩性提高固态硬盘响应速度的方法、装置及系统。本发明提供的用于提高固态硬盘响应速度的固态存储系统控制器,包括数据无损压缩模块,用于所接收的用户数据进行无损压缩操作;LDPC码率控制器,用于对无损压缩数据进行分析,获取最低可能的LDPC码率;可编程LDPC码编码器,对无损压缩后的数据进行LDPC码编码保护;可编程LDPC码解码器,对该数据进行解码;以及数据无损解压模块,将解码结果进行数据解压以恢复原始用户数据。本发明可有效地利用数据本身的可压缩性来降低LDPC纠错码对闪存芯片读数据软判决操作的依赖性,进而达到固态存储系统最充分地利用LDPC纠错码的纠错功能并同时保持运行速度不受影响的目的。
文档编号G11C29/42GK102915767SQ20121032286
公开日2013年2月6日 申请日期2012年9月4日 优先权日2012年9月4日
发明者张彤, 邹粤林 申请人:邹粤林
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1