一种固态硬盘及其读写方法

文档序号:6639888阅读:1840来源:国知局
一种固态硬盘及其读写方法
【专利摘要】本发明涉及存储设备【技术领域】,尤其涉及一种固态硬盘及其读写方法,通过在固态硬盘中加入了嵌入式非易失性存储器,并将用户在目前这段时间在固态硬盘内闪存芯片上最频繁随机性读写的数据存储至嵌入式非易失性存储器中,由于嵌入式非易失性存储器的随机读写速度很快,在一定程度上可以提高固态硬盘的随机读写速度,从而减小固态硬盘和内存间随机读写数据速度之间的差距。
【专利说明】—种固态硬盘及其读写方法

【技术领域】
[0001]本发明涉及存储设备【技术领域】,尤其涉及一种固态硬盘及其读写方法。

【背景技术】
[0002]现代计算机的存储系统由片上缓存、内存和硬盘等部分组成,处理器随机性读写数据的速度由快到慢顺序依次为片上缓存、内存和硬盘。一般情况下用户的数据都存储在硬盘上,传统的硬盘是机械硬盘(HDD),这种硬盘生产成本低、容量大但稳定性和读写的速度不高。目前比较先进的是固态硬盘(SSD),它由闪存颗粒组成,它具有抗震抗摔、读取速度快、功耗低、重量低和噪音小等优点,但是它生产成本高、容量小、寿命比较短。
[0003]目前,传统固态硬盘的结构如图1所示,用户随机性读写数据时,无论采用机械硬盘或固态硬盘,硬盘的随机读写速度和内存的随机读写速度之间都存在一定的差距。
[0004]因此,如何找到一种方法,以提高固态硬盘的读写速度成为本领域技术人员致力于研究的方向。


【发明内容】

[0005]针对上述存在的问题,本发明公开一种固态硬盘,包括:
[0006]存储设备;
[0007]缓冲区;
[0008]固态硬盘控制器,分别与所述存储设备和所述缓冲区连接,以在所述固态硬盘控制器从所述存储设备中执行数据的读写操作后将执行结果存储至所述缓冲区中;
[0009]其中,所述存储设备包括嵌入式非易失性存储器和闪存芯片,且所述嵌入式非易失性存储器用于存储所述数据中的主数据,所述闪存芯片用于存储所述数据中的辅助数据。
[0010]上述的固态硬盘,其中,所述嵌入式非易失性存储器为相变存储器、磁阻随机存储器、可变电阻式存储器、铁电随机存储器、嵌入式的NAND闪存芯片或嵌入式的NOR闪存芯片。
[0011]上述的固态硬盘,其中,所述主数据包括操作系统程序和/或应用程序和/或FTL数据。
[0012]上述的固态硬盘,其中,所述主数据位于同一页或者连续页的连续字节中。
[0013]上述的固态硬盘,其中,所述嵌入式非易失性存储器与所述固态硬盘控制器之间的接口为并行接口。
[0014]一种固态硬盘的读写方法,其中,所述固态硬盘包括存储设备和固态硬盘控制器,所述固态硬盘控制器与所述存储设备连接,以从所述存储设备中执行数据的读写操作,且所述存储设备包括闪存芯片和嵌入式非易失性存储器;所述方法包括如下步骤:
[0015]步骤S1:采用自学习模块预先将所述数据分为主数据和辅助数据,并将所述主数据存储至所述嵌入式非易失性存储器中,将所述辅助数据存储至所述闪存芯片中;
[0016]步骤S2:判断待读写的数据是否位于所述嵌入式非易失性存储器中,若是,则所述固态硬盘控制器从所述嵌入式非易失性存储器中执行所述待读写的数据的读写操作,若否,则所述固态硬盘控制器从所述闪存芯片中执行所述待读写的数据的读写操作。
[0017]上述的固态硬盘的读写方法,其中,所述主数据包括操作系统程序和/或应用程序和/或FTL数据。
[0018]上述的固态硬盘的读写方法,其中,在所述步骤SI中,所述固态硬盘将所述主数据存储至所述嵌入式非易失性存储器中,同时重建映射表,并在所述映射表中标记所述主数据存在于所述嵌入式非易失性存储器中且可有效读写。
[0019]上述的固态硬盘的读写方法,其中,当用户登录所述固态硬盘时,所述方法还包括:
[0020]判断所述存储设备中是否存储有当前登录用户采用自学习模块得到的主数据,若是,则直接进行下一步;
[0021]判断当前登录用户采用自学习模块得到的主数据是否位于所述嵌入式非易失性存储器中,若是,当前登录用户对该主数据进行读写操作时直接从所述嵌入式非易失性存储器中执行所述待读写的数据的读写操作,若否,则将该主数据从所述闪存芯片中复制到所述嵌入式非易失性存储器。
[0022]上述的固态硬盘的读写方法,其中,所述嵌入式非易失性存储器为相变存储器、磁阻随机存储器、可变电阻式存储器、铁电随机存储器、嵌入式的NAND闪存芯片或嵌入式的NOR闪存芯片。
[0023]本发明公开了一种固态硬盘及其读写方法,通过在固态硬盘中加入了嵌入式非易失性存储器,并将用户在目前这段时间在固态硬盘内闪存芯片上最频繁随机性读写的数据存储至嵌入式非易失性存储器中,由于嵌入式非易失性存储器的随机读写速度很快,在一定程度上可以提高固态硬盘的随机读写速度,从而减小固态硬盘和内存间随机读写数据速度之间的差距。
[0024]具体

【专利附图】

【附图说明】
[0025]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、夕卜形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
[0026]图1【背景技术】中固态硬盘的结构示意图;
[0027]图2是闪存芯片的数据存储的基本结构示意图;
[0028]图3是本发明实施例中的固态硬盘结构示意图;
[0029]图4是传统固态硬盘随机读取数据的步骤图;
[0030]图5是传统固态硬盘随机读取数据的速度对比图;
[0031]图6是是本发明实施例中的固态硬盘随机读取数据的步骤图;
[0032]图7是是本发明实施例中的固态硬盘的速度对比图;
[0033]图8是传统固态硬盘随机写入数据的步骤图;
[0034]图9是是本发明实施例中的固态硬盘随机写入数据的步骤图;
[0035]图10是传统固态硬盘从闪存中读写数据步骤;
[0036]图11是是本发明实施例中固态硬盘从嵌入式非易失性存储器中读写数据步骤;
[0037]图12是用户登录的流程图;
[0038]图13a和13b是嵌入式非易失性存储器存储不同用户的最频繁读写数据的示意图;
[0039]图14是不同用户在嵌入式非易失性存储器中读取数据步骤图;
[0040]图15是操作系统与应用程序存在于闪存芯片中的示意图;
[0041]图16是操作系统与应用程序存在于嵌入式非易失性存储器中的示意图;
[0042]图17a和17b是闪存转换层(FTL)的示意图;
[0043]图18是固件程序或算法放在闪存芯片中的示意图;
[0044]图19是固件程序或算法放在嵌入式非易失性存储器中的示意图;
[0045]图20是FTL中所有数据均放在嵌入式非易失性存储器中的示意图。

【具体实施方式】
[0046]下面结合附图和具体的实施例对本发明作进一步的说明,但是不作为本发明的限定。
[0047]本发明通过在固态硬盘中加入了嵌入式非易失性存储器,例如相变存储器(PCRAM)、磁阻随机存储器(MRAM)、可变电阻式存储器(ReRAM)、铁电随机存储器(FeRAM)、嵌入式的NAND闪存芯片或嵌入式的NOR闪存芯片等。这些嵌入式非易失性存储器的随机读写速度很快,在一定程度上可以提高固态硬盘的随机读写速度,从而减小固态硬盘和内存间随机读写数据速度之间的差距。
[0048]对于一般的固态硬盘,闪存芯片的数据存储的基本结构如图2所示,在闪存芯片中,读取数据只能按页读取,所以用户在随机读取数据的时候,一般先读取数据所在的页,把读取出来页中的数据放在缓冲区中,然后把数据读出通过接口送给主机。闪存芯片在写入数据前必须进行擦除操作,然后才能往闪存芯片中随机写入数据,而擦除操作是以块为单位的,因此擦除操作很慢,所以就会造成写入操作也很慢。
[0049]本发明提供的嵌入式新型非易失性存储器的读写操作不需要以页和块为单位,可以直接对数据进行读写,因此嵌入式的随机读写速度要比闪存芯片的随机读写速度快。本发明在固态硬盘中加入嵌入式非易失性存储器,把用户目前这段时间在固态硬盘内闪存芯片上最频繁随机读写的数据(即主数据)放在嵌入式非易失性存储器中,这样用户对固态硬盘随机读取和随机写入的速度会得到一定的提高。原因有以下两点:
[0050]1、用户一段时间内随机性读写的数据可能是存储在固态硬盘上不同闪存芯片的不同块的不同页上不一定连续的字节中,当把用户最频繁随机性读写的数据放入嵌入式非易失性存储器中时,可以把数据放到其上同一块的同一页或者连续的页中的连续字节中;
[0051]2、在访问固态硬盘上闪存芯片时,数据的读取接口一般是串行读写方式的,而嵌入式的非易失性存储器与所述固态硬盘控制器之间的接口可以做成并行接口,因此读写数据的时候可以并行读写。
[0052]具体的,本发明中加入嵌入式非易失性存储器的固态硬盘的结构如图3所示。该固态硬盘具体包括:存储设备、缓冲区和固态硬盘控制器,该固态硬盘控制器分别与所述存储设备和所述缓冲区连接,以在从所述存储设备中执行数据后将执行后的数据存储至所述缓冲区中;其中,存储设备包括嵌入式非易失性存储器和闪存芯片,且嵌入式非易失性存储器用于存储上述数据中的主数据(即用户目前这段时间在固态硬盘内闪存芯片上最频繁随机读写的数据),闪存芯片用于存储上述数据中的辅助数据(即除用户目前这段时间在固态硬盘内闪存芯片上最频繁随机读写的数据之外的其他数据)。在本发明中,图3中的主机接口⑵为固态硬盘⑴和主机之间的接口,可以为PC1、IDE或SATA等接口,闪存接口⑶为固态硬盘⑴和闪存芯片⑵的接口,可以为Toggle DDR或ONFI等接口,缓冲区
(4)用来存储固态硬盘控制器(5)执行的数据,固态硬盘控制器(5)用来执行固态硬盘(I)的操作程序、算法、固件等数据,错误检查与纠正模块(6)用来检查和纠正闪存芯片(7)上的错误,闪存芯片(7)为闪存芯片阵列。
[0053]下面我们分别从随机读取和随机写入两个方面来对比用户从一般固态硬盘和加入嵌入式非易失性存储器的固态硬盘随机性读取和随机写入数据的速度。
[0054]假设把数据从闪存芯片中所在的页读取到缓冲区进而读出的时间为Tacc,在缓冲区中读出相应数据的时间为Tapa(TaCC>Tapa),闪存芯片(7)有256块,分别为块0,块1,……,块255 ;每块有256页,分别为页0,页1,……,页255 ;每页有256个字节,分别为字节0,字节1,……,字节255。在特定的时间内,用户最频繁随机读写的数据(即主数据)为块I页O字节12,块I页15字节25,块I页159字节244,块I页255字节123。在闪存芯片(7)中,当文件系统发出读取数据的指令后,固态硬盘控制器(5)通过映射表将文件系统发来的逻辑地址转换为物理地址,接着开始读取数据,先读取块I页O到缓冲区,读取字节12,接着读取块I页15到缓冲区,读取字节25,然后读取块I页159,读取字节244,最后读取块I页255,读取字节123,读取的过程如图4所示,总的随机性读写的时间为4Tacc+4Tapa。假设内存的随机读写速度为Level_l,固态硬盘的随机读写速度为Level_2,因为固态硬盘的随机读取速度比内存的随机读取速度慢,因此内存和固态硬盘的随机读取速度的关系为LeVel_l>LeVel_2,如图5所示。
[0055]当在固态硬盘中加入嵌入式非易失性存储器(8)后,我们将用户一段时间内对固态硬盘最频繁随机性读取的数据(主数据)放入嵌入式非易失性存储器(8)中,当文件系统发出读取数据的指令后,固态硬盘控制器(5)通过映射表将文件系统发来的逻辑地址转换为物理地址,接着开始读取从嵌入式非易失性存储器(8)中的数据,这里假设从嵌入式非易失性存储器中随机读取数据的速度和从闪存芯片中读取数据的速度相同也为Tacc,放入嵌入式非易失性存储器中的用户一段时间内对固态硬盘最频繁随机性读取的数据放在同一页的连续字节中,假设读取时为串行读取数据(与访问固态硬盘中闪存芯片一样),所以总的随机性读取的时间为Tacc+4Tapa(实际上嵌入式非易失性存储器中读取数据的速度要比从闪存芯片中读取数据的速度快,所以总的读取时间要小于Tacc+4Tapa),如图6所示,因此加入嵌入式非易失性存储器(8)后,随机性读取速度得到了一定的提高。假设内存的随机读取速度为Level_l,加入嵌入式非易失性存储器(8)的固态硬盘的随机读取速度为Level_3,因此内存的随机读取速度和加入嵌入式非易失性存储器(8)的固态硬盘的随机读取速度的关系为LeVel_l>LeVel_3,而嵌入式非易失性存储器(8)的随机读取速度比闪存芯片(7)的读取速度快,即LeVe13>LeVel2,所以内存、加入嵌入式非易失性存储器
(8)的固态硬盘和传统固态硬盘的随机读取速度的关系为Levell>Leve13>Leve12,如图7所示。
[0056]当用户要随机写数据时,对于闪存芯片来说首先要擦除数据所在的块,然后才能随机写数据,而对于嵌入式的新型非易失性存储器来说,可以直接随机写,而不用进行擦除操作。假设闪存芯片擦除操作所用的时间为Terase,擦除后往闪存中写入数据的时间为Twrite (Tearse)Twrite)。假设用户这段时间最频繁随机写的数据为块I页O字节12’,块I页15字节25’,块I页159字节244’,块I页255字节123’。对于闪存芯片来说,首先擦除块I中的全部数据,然后开始随机写入块I页O字节12’,块I页15字节25’,块I页159字节244’,块I页255字节123’,随机写入时间为Terase+Twrite,其中WRITE时间包括四个页编程操作,如图8所示。对于嵌入式非易失性存储器(8)来说,可以直接往里面写入,时间为Twrite,其中WRITE时间只包括一个页编程操作(且嵌入式新型存储器的页编程操作比闪存页编程操作在编程速度上快很多),因为用户一段时间内随机性读写的数据可能是存储在固态硬盘上不同闪存芯片的不同块的不同页上不一定连续的字节中,当把用户最频繁随机性读写的数据放入嵌入式非易失性存储器中时,可以把数据放到其上同一块的同一页或者连续的页中的连续字节中,如图9所示。因此嵌入式非易失存储器(8)随机写入数据的速度要比闪存芯片(7)的随机写入速度快。我们从随机读取数据和随机写入数据两个方面对嵌入式非易失存储器和闪存芯片的速度做了对比,从对比的结果可以发现在固态硬盘中加入嵌入式非易失性存储器可以调高随机读取和随机写入的速度。
[0057]一般固态硬盘在读写数据时的基本步骤如图10所示:
[0058]首先用户登录,主机发出读写指令和读写数据的逻辑地址;之后固态硬盘控制器
(5)根据读写指令和数据的逻辑地址,根据映射表将逻辑地址转化为物理地址;然后根据物理地址,直接从闪存芯片中读写数据。
[0059]在固态硬盘(I)中加入嵌入式非易失性存储器(8)可以使固态硬盘具有自主学习的功能,例如通过设置在固态硬盘中自学习模块将数据分为主数据和辅助数据。具体的,经过一段时间的自学习,固态硬盘把当前这段时间用户最频繁随机性读写的这些数据(即主数据)放入嵌入式非易失性存储器(8)中,同时重建映射表,在映射表中加入一组信息,标记这些数据存在于嵌入式非易失性存储器(8)中且可以有效读写,这样当用户随机性读写这些数据时可以直接从嵌入式非易失性存储器(8)中读写数据。具体的步骤如图11所示:
[0060]1、用户登录,主机发出读写指令和读写数据的逻辑地址;
[0061]2、固态硬盘控制器(5)根据读写指令和数据的逻辑地址,根据映射表将逻辑地址转化为物理地址;
[0062]3、根据数据的物理地址,判断数据(即待读写的数据)位于闪存芯片还是嵌入式非易失性存储器中;
[0063]若系统已经将本发明中用户最频繁随机性读写的数据存在于嵌入式非易失性存储器(8)中,且访问的数据是这些数据,则固态硬盘控制器(5)直接从嵌入式非易失性存储器(8)中读取数据;
[0064]若访问的数据没有存在于嵌入式非易失性存储器(8)中,则固态硬盘控制器(5)访问固态硬盘上的闪存物理空间(即闪存芯片)。
[0065]现代计算机的用户可以为任意用户,假设当前登陆的用户为用户N,当用户N登录后,固态硬盘会查询是否存在当前登陆用户N的自主学习结果,当固态硬盘中存在用户N的自主学习结果时,则判断用户N自主学习结果的位置,如果位于嵌入式非易失性存储器中,则用户N读写这些数据时直接从嵌入式非易失性存储器中直接读写;如果位于闪存芯片中,则把用户N的自主学习结果放入嵌入式非易失性存储器中。当固态硬盘中没有用户N的自主学习结果时,则按照传统固态硬盘的操作方式访问闪存中的数据。具体过程如图12所示。
[0066]如,在系统中有两个用户,一个为X—个为Y,固态硬盘经过一段时间的自主学习,将当前用户X最频繁随机性读写的数据放在嵌入式非易失性存储器(8)中,当用户Y登录时,嵌入式非易失性存储器的容量不足以放下用户X和用户Y最频繁随机性读写的数据,因此把用户Y当前这段时间最频繁随机性读写的数据从闪存芯片放入嵌入式非易失性存储器(8)中,并更新映射表,这样当用户Y随机性读写这些数据时就会提高用户Y的随机读写这些数据速度.
[0067]当嵌入式非易失性存储器⑶容量够大时,我们可以将不同用户的一段时间内最频繁的随机性读写数据都放入嵌入式非易失性存储器(8)中,这样当不同用户在随机性读写各自当前这段时间最频繁随机性读写数据的时候,速度都会得到一定的提高,下面我们举一个例子来说明。
[0068]假设有两个用户,分别为用户X和用户Y,用户X这段时间最频繁随机读写数据块为数据块x_l,数据块X_18,数据块X_128,数据块X_213,用户Y这段时间最频繁随机读写的数据块为数据块Y_35,数据块Υ_100,数据块Υ_136,数据块Υ_232。固态硬盘根据一段时间的自主学习,固态硬盘将用户X这段时间最频繁随机读写的数据块X_l,数据块Χ_18,数据块Χ_128,数据块Χ_213,用户Y这段时间最频繁随机读写的数据块Υ_35,数据块Υ_100,数据块Υ_136,数据块Υ_232放入嵌入式非易失性存储器(8)中,并更新映射表,在映射表中加入一组信息,表示数据在嵌入式存储器内的物理位置且数据是否可以有效读写,比如有效位可取“O”或“1”,当有效位为“I”时表示数据可以读写,当有效位为“O”时,表示数据不可以读写,比如用户最频繁读写的数据放在嵌入式非易失性存储器中时,嵌入式非易失性存储器中这些数据的读写有效位为”1”。如图13a和13b所示。当用户登录时,如果当前登陆用户为X,当用户X读写数据块X_l,数据块X_18,数据块X_128,数据块X_213时,首先根据主机发出读写数据的指令和数据的逻辑地址,接着通过映射表找到数据块位于嵌入式非易失性存储器(8)中,接着直接从嵌入式非易失性存储器(8)中读写数据,如果当前登陆用户为Y,当用户Y读写数据块Y_35,数据块Υ_100,数据块Υ_136,数据块Υ_232时,首先根据主机发出读写数据的指令和数据的逻辑地址,接着通过映射表找到数据块位于嵌入式非易失性存储器(8)中,接着直接从嵌入式非易失性存储器(8)中读写数据,步骤图如图14所
/Jn ο
[0069]计算机在执行操作系统或者应用程序的时候,一般的步骤是将操作系统或者应用程序从闪存芯片加载到内存中,再由处理器执行,如图15所示。而从闪存芯片中加载到内存中的速度比较慢,操作系统或者应用程序的某些部分可能经常被执行,而每次执行操作系统或者应用程序都要把这些部分加载到内存中,因此造成操作系统或者应用程序的启动速度不快,使用户的体验降低。在本发明中,我们可以将经常被执行的操作系统或者应用程序的部分或全部放入嵌入式非易失性存储器中,如图16所示。由于嵌入式非易失性存储器的读取速度比闪存芯片块,因此可以提高操作系统或者应用程序的启动速度,提高用户体验。
[0070]为了向上层屏蔽闪存芯片的物理特性,将闪存抽象成类似磁盘的块设备,需要特定的闪存存储管理模块。一种重要且应用广泛的方法就是闪存转换层(FTL)来存储管理闪存设备,如图17a所示。闪存转换层(FTL)的主要功能是逻辑块映射、垃圾回收和损耗均衡等。闪存转换层(FTL)在硬件上是由固态硬盘控制器实现的,如图17b所示。逻辑块映射是将主机中给出的逻辑块地址(LBA)转换为闪存芯片空间的物理地址(PBA),即由主机中的文件系统给出逻辑地址,接着根据映射表转换为闪存芯片(7)中的物理地址,从而实现对闪存芯片(7)进行读写操作。为了保证访问的速度,映射表一般保存在缓冲区(4),并保存在闪存芯片(X)中防止掉电丢失。
[0071]本发明的嵌入式非易失性存储器可以只用来存储固态硬盘的固件程序和算法等数据,例如地址映射算法、垃圾回收算法、均衡损耗算法等;也可以只用来存储闪存芯片中逻辑地址到物理地址的映射表信息;也可以同时存储固件程序和算法以及地址映射表信息等所有FTL数据。
[0072]本发明的嵌入式非易失性存储器若用来存储固态硬盘的固件程序和算法,这些数据的特征是无需经常更新,那么可提高固态硬盘的性能,主要表现在以下方面:
[0073]固态硬盘的上电启动速度大大增加。传统的固态硬盘在上电启动后需要从闪存芯片中将固件程序和算法导入至片上缓冲器中再执行,而本发明固态硬盘上电后可直接从嵌入式非易失性存储器中读取并执行相应的固件程序和算法,流程如图18所示,启动速度大大增加。
[0074]避免由均衡损耗算法造成的不必要的擦写次数,提高闪存芯片的寿命。传统固态硬盘的固件程序和算法存储在闪存芯片中,这些数据无需经常更新,这样会导致这些数据所在的存储块的擦写次数远远低于其他存储块,在均衡损耗算法下,固件程序和算法所在存储块需要转移到其他擦写次数较高的存储块中,造成了不必要的擦写。而本发明将这些固件程序和算法存储在嵌入式非易失性存储器中,避免了上述数据转移过程,提高了固态硬盘的性能。
[0075]本发明的嵌入式非易失性存储器若用来存储固态硬盘的地址映射表信息,这些数据的特征是更新比较频繁,那么可提高固态硬盘的性能,其主要表现在以下方面:
[0076]固态硬盘控制器对地址映射表的读取和更新速度大大提高。传统的固态硬盘中的地址映射表存储在闪存芯片之中,而本发明将其存储在嵌入式非易失性存储器中,读写速度大大提高,加快了地址映射速度,从而也提高了系统从固态硬盘中读取数据的速度,固态硬盘的性能得到提升。
[0077]避免由于地址映射表频繁更新而造成闪存芯片中的存储块被过度擦写,提高闪存芯片的寿命。传统固态硬盘的地址映射表存储在闪存芯片中,由于地址映射表的频繁更新和闪存存储块无法就地更新(refresh in place)的特性,因此地址映射表所在的闪存存储块会频繁更新到其他存储块,造成不必要的擦写,降低了闪存存储块的寿命,特别是针对MLC固态硬盘和3D堆叠的固态硬盘,其本身可擦写次数远远低于嵌入式新型存储器(8),由地址映射表更新而造成寿命减少将更加明显。本发明将地址映射表存储在嵌入式非易失性存储器中,因而可以提闻闪存芯片的使用寿命。
[0078]地址映射表重建速度大大加快。传统的固态硬盘上电启动或者在掉电后重启时,需要从各个物理块中提取映射表信息至缓冲器中以重建映射表,而本发明中的地址映射表保存在嵌入式非易失性存储器之中,如图19所示,重建地址映射表信息相比从各个闪存芯片中读取数据要快得多,并且无需将数据拷贝到缓冲器中,节省了功耗。
[0079]本发明的嵌入式非易失性存储器若同时用来存储固态硬盘的地址映射表信息以及固态硬盘固件程序和算法等数据,工作流程如图20所示,可见本发明中加入嵌入式非易失性存储器的固态硬盘启动速度更快,地址映射表重建也更快。
[0080]本发明中的嵌入式存储器(8)优选嵌入式新型存储器,因为相比现在广为使用的嵌入式N0R/NAND存储器,它具有以下优点(以相变存储器为例):
[0081]嵌入式非易失性相变存储器的随机读写速度是嵌入式NOR存储器的随机读写速度的10到100倍;
[0082]相同工艺下嵌入式NOR存储器的单元面积为0.05 μ m2,而嵌入式的非易失性相变存储器的单元面积为0.017μπι2,在相同面积的芯片,嵌入式相变存储器(PCRAM)的容量约为嵌入式NOR存储器容量的3倍。
[0083]对于嵌入式NOR存储器来说,在写数据的之前都需要进行擦除操作,而嵌入式的非易失性存储器在写数据时可以直接写而不用进行擦除操作。
[0084]本发明中的嵌入式非易失性存储器可以用来存储用户一定时间内最频繁随机性读写的数据,可以存储操作系统或者应用程序的一部分或全部,也可以存储固态硬盘的固件程序和算法以及地址映射表(包括所有FTL数据)。通过在固态硬盘中加入嵌入式非易失存储器,提高了固态硬盘的随机读写速度、固态硬盘的寿命和稳定性,同时使固态硬盘具有自主学习的能力。
[0085]本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
[0086]以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
【权利要求】
1.一种固态硬盘,其特征在于,包括: 存储设备; 缓冲区; 固态硬盘控制器,分别与所述存储设备和所述缓冲区连接,以在所述固态硬盘控制器从所述存储设备中执行数据的读写操作后将执行结果存储至所述缓冲区中; 其中,所述存储设备包括嵌入式非易失性存储器和闪存芯片,且所述嵌入式非易失性存储器用于存储所述数据中的主数据,所述闪存芯片用于存储所述数据中的辅助数据。
2.如权利要求1所述的固态硬盘,其特征在于,所述嵌入式非易失性存储器为相变存储器、磁阻随机存储器、可变电阻式存储器、铁电随机存储器、嵌入式的^^0闪存芯片或嵌入式的勵I?闪存芯片。
3.如权利要求1所述的固态硬盘,其特征在于,所述主数据包括操作系统程序和/或应用程序和/或?I数据。
4.如权利要求1所述的固态硬盘,其特征在于,所述主数据位于同一页或者连续页的连续字节中。
5.如权利要求1所述的固态硬盘,其特征在于,所述嵌入式非易失性存储器与所述固态硬盘控制器之间的接口为并行接口。
6.一种固态硬盘的读写方法,其特征在于,所述固态硬盘包括存储设备和固态硬盘控制器,所述固态硬盘控制器与所述存储设备连接,以从所述存储设备中执行数据的读写操作,且所述存储设备包括闪存芯片和嵌入式非易失性存储器;所述方法包括如下步骤: 步骤51:采用自学习模块预先将所述数据分为主数据和辅助数据,并将所述主数据存储至所述嵌入式非易失性存储器中,将所述辅助数据存储至所述闪存芯片中; 步骤32:判断待读写的数据是否位于所述嵌入式非易失性存储器中,若是,则所述固态硬盘控制器从所述嵌入式非易失性存储器中执行所述待读写的数据的读写操作,若否,则所述固态硬盘控制器从所述闪存芯片中执行所述待读写的数据的读写操作。
7.如权利要求6所述的固态硬盘的读写方法,其特征在于,所述主数据包括操作系统程序和/或应用程序和/或数据。
8.如权利要求6所述的固态硬盘的读写方法,其特征在于,在所述步骤31中,所述固态硬盘将所述主数据存储至所述嵌入式非易失性存储器中,同时重建映射表,并在所述映射表中标记所述主数据存在于所述嵌入式非易失性存储器中且可有效读写。
9.如权利要求6所述的固态硬盘的读写方法,其特征在于,当用户登录所述固态硬盘时,所述方法还包括: 判断所述存储设备中是否存储有当前登录用户采用自学习模块得到的主数据,若是,则直接进行下一步; 判断当前登录用户采用自学习模块得到的主数据是否位于所述嵌入式非易失性存储器中,若是,当前登录用户对该主数据进行读写操作时直接从所述嵌入式非易失性存储器中执行所述待读写的数据的读写操作,若否,则将该主数据从所述闪存芯片中复制到所述嵌入式非易失性存储器。
10.如权利要求6所述的固态硬盘的读写方法,其特征在于,所述嵌入式非易失性存储器为相变存储器、磁阻随机存储器、可变电阻式存储器、铁电随机存储器、嵌入式的^^0闪 存芯片或嵌入式的勵I?闪存芯片。
【文档编号】G06F12/02GK104461397SQ201410815320
【公开日】2015年3月25日 申请日期:2014年12月19日 优先权日:2014年12月19日
【发明者】景蔚亮, 陈邦明 申请人:上海新储集成电路有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1