Ssd(固态硬盘)装置制造方法

文档序号:6533767阅读:261来源:国知局
Ssd(固态硬盘)装置制造方法
【专利摘要】提供一种能够将非易失性存储器用作缓存来减少电力消耗的SSD装置。使用了快闪存储器的SSD(固态硬盘)装置包括:n个(n≥2)非易失性存储器单元(130),其分别包括与快闪存储器不同种类的非易失性存储器;以及控制器部(11),其接收要写入快闪存储器的数据,并将所接收到的该数据保存到非易失性存储器单元(130)。
【专利说明】SSD (固态硬盘)装置

【技术领域】
[0001]本发明涉及一种使用了 NAND型快闪存储器等快闪存储器的SSD装置。

【背景技术】
[0002]近年来,基于吞吐量高、电力消耗低之类的观点,利用SSD(Solid State Drive:固态硬盘)装置来替代硬盘驱动器(HDD =Hard Disk Drive)。另外,具有如下的例子:为了提高读出、写入的速度而利用DRAM (Dynamic Rand om Access Memory:动态随机存取存储器)来作为高速缓冲存储器。
[0003]此外,专利文献1、2均公开了以下内容:除了 DRAM以外,还能够利用磁阻式随机存储器(MRAM)来作为高速缓冲存储器。
[0004]专利文献1:美国专利第7,003, 623号说明书
[0005]专利文献2:日本特开2011-164994号公报


【发明内容】

_6] 发明要解决的问题
[0007]在上述以往的带有DRAM缓存的SSD中,DRAM的刷新动作是必须的,因此难以减少待机电力。另一方面,在磁阻式随机存储器等非易失性的存储器中,理论上能够作为替代DRAM的高速缓冲存储器而被采用,但实际上不能实现如DRAM那样的写入、读出速度,因此比主机侧的接口的速度慢(例如在利用基准时钟为25MHz的MRAM的情况下,即使设为4个字节访问,也为 25X4 = 100MB/s,比 PATA(Parallel Advanced Technology Attachment:并行高级技术附件)所要求的133MB/S慢)。在这种情况下不能用作高速缓冲存储器。
[0008]本发明是鉴于上述实际情况而完成的,其目的之一在于提供一种能够将非易失性存储器用作缓存来减少电力消耗的SSD装置。
[0009]用于解决问题的方案
[0010]用于解决上述现有例的问题的本发明是一种使用了快闪存储器的SSD(固态硬盘)装置,其包括:n个(η > 2)非易失性存储器单元,这些非易失性存储器单元分别包括与快闪存储器不同种类的非易失性存储器;以及控制器,其接收要写入上述快闪存储器的数据,并将所接收到的该数据保存到上述非易失性存储器单元。
[0011 ] 在此,上述控制器也可以将要写入上述快闪存储器的数据分割为m个(2 < m < η)来生成分割数据,对上述η个非易失性存储器单元分别写入通过该分割而得到的m个分割数据。另外,上述控制器也可以将要写入上述快闪存储器的数据分割为m个(2η)
来生成分割数据,一边将上述η个非易失性存储器单元中依次分别切换为写入对象,一边分别写入通过该分割而得到的m个分割数据。
[0012]另外,上述控制器也可以将对要写入上述快闪存储器的数据附加的纠错码分割为m个(2<m<n)来生成分割数据,对上述η个非易失性存储器单元分别写入通过该分割而得到的m个分割数据。
[0013]并且,也可以是,上述控制器包括由易失性存储器构成的存储部,上述控制器在判断为要使上述SSD装置为待机状态时,读出上述存储部内存储的数据并写入到上述非易失性存储器单元,之后切断对该非易失性存储器单元和上述存储部的电源供给。并且,上述控制器也可以在判断为要使上述SSD装置恢复为通常状态时,开始对上述非易失性存储器单元和上述存储部进行电源供给,之后读出被写入到该非易失性存储器单元的数据并保存到上述存储部。
[0014]发明的效果
[0015]根据本发明,通过使用多个非易失性存储器单元,能够并行或者分时地进行数据的读写,提高读出、写入速度,从而能够用作高速缓冲存储器。

【专利附图】

【附图说明】
[0016]图1是表示本发明的实施方式所涉及的SSD装置的结构例的概要框图。
[0017]图2是表示本发明的实施方式所涉及的SSD装置的控制器部的内容例的框图。
[0018]图3是表示本发明的实施方式所涉及的SSD装置的缓存控制部与非易失性存储器单元的连接方式的例子的说明图。
[0019]图4是表示本发明的实施方式所涉及的SSD装置的缓存控制部与非易失性存储器单元的连接方式的另一例子的说明图。
[0020]图5是表示本发明的实施方式所涉及的SSD装置的写入动作时的CPU的动作例的流程图。
[0021]图6是本发明的实施方式所涉及的SSD装置的写入动作时的概要时序图。
[0022]图7是表示本发明的实施方式所涉及的SSD装置中的控制器部的控制例的流程图。

【具体实施方式】
[0023]参照附图来说明本发明的实施方式。本发明的实施方式所涉及的SSD装置I,如在图1中表示其概要那样,构成为包括控制器部11、接口部12、高速缓冲存储器部13、快闪存储器部14以及电源部15。该SSD装置I经由接口部12与主机(计算机等利用SSD装置的装置)相连接。
[0024]控制器部11是按照所存储的程序来进行动作的程序控制设备,具体地说,如图2所例示那样,控制器部11构成为包括CPU 21、存储部22、输入输出部23、缓存控制部24以及快闪存储器接口 25。
[0025]在此,CPU 21按照存储在存储部22中的程序进行动作。在本实施方式中,该CPU21按照经由输入输出部23从主机侧输入的指示与高速缓冲存储器部13、快闪存储器部14之间进行数据的读出、写入。后面叙述该CPU 21的具体的处理内容。
[0026]控制器部11的存储部22例如是SRAM (Static Random Access Memory:静态随机存取存储器)等易失性存储器,保持固件等由CPU 21执行的程序。此外,该固件可以事先存储在未图示的NOR型闪存等非易失性存储器中,将该NOR型闪存连接于控制器部11,从该NOR型闪存读出该固件并存储到该存储部22中。另外,该固件也可以是被存储在DVD-ROM (Digital Versatile Di sc Read Only Memory:数字视盘)等计算机可读记录介质、或者从主机侧提供并被复制到该存储部22中的固件。
[0027]输入输出部23连接于接口部12,经由接口部12来控制CPU 21与主机之间的通信。该输入输出部 23 例如是 SATA (Serial Advanced Technology Attach ment:串行高级技术附件)-PHY。
[0028]缓存控制部24按照从CPU 21输入的指示与高速缓冲存储器部13之间进行数据的写入、读出的处理。该缓存控制部24在从CPU 21接收到数据的写入指示时,对成为写入对象的数据附加纠错码,将包含该纠错码的数据写入高速缓冲存储器部13。另外,该缓存控制部24使用按照从CPU 21输入的读出指示而从高速缓冲存储器部13读出的数据中包含的纠错码,来进行数据的纠错,按照来自CPU 21的指示将纠错后的数据输出到传输目的地的地址。快闪存储器接口 25按照从CPU 21输入的指示与快闪存储器部14之间进行数据的写入、读出。
[0029]接口部12 是 SATA 或者 PATA(Parallel Advanced Technology Attachment:并行高级技术附件)接口、连接器等,与主机侧相连接。该接口部12从主机侧接收命令、成为写入的对象的数据并输出到控制器部11。另外,该接口部12将从控制器部11输入的数据等输出到主机侧。并且,例如在控制器部11所包含的输入输出部23是SATA-PHY、接口部12是PATA接口连接器的情况下,可以在控制器部11与接口部12之间设置用于进行PATA与SATA之间的协议转换的组件。
[0030]高速缓冲存储器部13包括与快闪存储器不同种类的非易失性存储器。作为这种非易失性存储器,具有FeRAM(Ferroelectric RAM:铁电随机存储器)、MRAM(Magnetoresistive RAM:磁阻式随机存储器)等。在本实施方式中,在该高速缓冲存储器部13中具备各自包括与快闪存储器不同种类的非易失性存储器的n(n ^ 2)个非易失性存储器单元130a、130b、…。高速缓冲存储器部13按照从控制器部11输入的指示来保持数据。另外,该高速缓冲存储器部13按照从控制器部11输入的指示来读出所保持的数据并输出到控制器部11。
[0031]快闪存储器部14例如包括NAND型闪存。该快闪存储器部14按照从控制器部11输入的指示来保持数据。另外,该快闪存储器部14按照从控制器部11输入的指示读出所保持的数据并输出到控制器部11。
[0032]电源部15按照从控制器部11输入的指示来独立地接通/切断对各部的电源供
5口 O
[0033]在本实施方式中,如图3所例示那样,与多个非易失性存储器单元130a、130b…分别对应的设备选择信号线CS0#、CS1#...,高位字节的选择信号线UB0#、UB1#…,低位字节的选择信号线LB0#、LB1#…,允许向设备写入的信号线WEa#、WEb#…,允许从设备读出的信号线RE0#、RE1#…从控制器部11的缓存控制部24引出,并连接于所对应的非易失性存储器单元130a、130b...。此外,允许写入信号线和允许读出信号线也可以是一条信号线,高位字节的选择信号线和低位字节的选择信号线也可以是一条信号线。在该情况下,根据信号的高/低中的某一个来确定使写入和读出中的哪一个使能(Enable)。另外,根据信号的高/低中的某一个来确定选择高位和低位中的哪一个的字节。
[0034]另外,从缓存控制部24引出地址信号线(A0,…Am)、数据信号线(DQ0, -DQs),其中的地址信号线连接于各非易失性存储器单元130a、130b...。另外,关于数据信号线,使8位的信号线中的互不相同的每(s+l)/n(设为整数)位连接于各非易失性存储器单元130a、130b…。作为一例,在使用两个非易失性存储器单元130a、130b的情况下(η = 2的情况),如果数据信号线的宽度(s+1)是32位,则DQ0、…DQ31的各信号线中的(s+l)/n=32/2 = 16位的DQ0、…DQ15连接于非易失性存储器单元130a、130c...,剩余的16位的DQ16、…DQ31连接于非易失性存储器单元130b、130cl...。
[0035]在该例中,缓存控制部24在从CPU 21接收到数据的写入指示时,对地址信号线输出表示写入目的地的地址的信息。然后,将与各非易失性存储器单元130a、130b…对应的设备选择信号线CSn#同时激活,将允许向设备写入的信号线WEn#同时设定为使能的状态。此外,在对每个高位、低位的字节进行控制的情况下,使与各非易失性存储器单元130a、130b…对应的高位字节的选择信号线UBn#和低位字节的选择信号线LBn#同时成为使能的状态。
[0036]然后,缓存控制部24对数据信号线输入要写入的数据(32位宽)。非易失性存储器单元130a、130b...所包括的MRAM等在设备选择信号线CSn#被激活之后,在允许写入信号线WEn#等成为使能的状态时,经过规定时间之后获取处于数据信号线DQ中的数据,并写入到经由地址信号线输入的地址。此时,以使数据信号线DQO、-DQj(j = (s+l)/n)连接于非易失性存储器单元130a、使数据信号线DQj+Ι、…DQ(2j+l) (j = (s+l)/n)连接于非易失性存储器单元130b…这样的方式分别进行连接,因此成为将数据分割地记录到各非易失性存储器单元130a、130b…的状态。
[0037]也就是说,在本实施方式的该例中,通过如上述那样进行连接,该缓存控制部24将数据分割为m = η个来生成分割数据,对η个非易失性存储器单元130a、130b…分别写入通过该分割而得到的m个分割数据。另外,该例的缓存控制部24在从CPU 21接收到数据的读出指示时,对地址信号线输出表示存储有要读出的数据的地址的信息。然后,将与各非易失性存储器单元130a、130b…对应的设备选择信号线CSn#同时激活,将允许从设备读出的信号线R En#同时设定为使能的状态。
[0038]非易失性存储器单元130a、130b…所包括的MRAM等在从对地址信号线输出地址起经过规定时间之后,对数据信号线DQ#输出所读出的数据。在此,缓存控制部24获取从对地址信号线输出地址起经过规定时间后的数据信号线DQ#的数据。此时,以使数据信号线DQO、...DQj(j= (s+l)/n)连接于非易失性存储器单元130a、使数据信号线DQj+1、...DQ(2j) (j = (s+l)/n)连接于非易失性存储器单元130b…这样的方式分别进行连接,因此在DQO、-DQs的各数据信号线中出现将从各非易失性存储器单元130a、130b…得到的各比特的数据按顺序进行连接而得到的数据。缓存控制部24获取该数据并按照CPU 21的指示将数据输出到传输目的地地址。
[0039]另外,在本实施方式的另一例子中,也可以如图4所例示那样,控制器部11的缓存控制部24具有控制多个信道的信道控制部31a、31b...、以及在各信道中共用的地址设定部35、数据设定部36和仲裁部37,各信道分别连接有高速缓冲存储器部13。各信道控制部31a、31b…分别具有独立的数据传输部32a、32b。该数据传输部32例如包括DMAC (DirectMemory Access Controller:直接存储器存储控制器),将数据从存储部22内的被指定的地址传输到所对应的信道的非易失性存储器单元130的被指定的地址。
[0040]地址设定部35将表示由任一个数据传输部32指示的地址的信号输出到地址信号线AO…。该地址设定部35在从接收地址的指示的数据传输部32接收到传输结束的指示之前,不能接收来自其它数据传输部32的地址的指示。
[0041]数据设定部36接收由任一个数据传输部32指定的存储部22内的地址,在存储部22内读出存储在用该地址表示的位置的数据,并将表示该数据的信号输出到数据信号线DQO …。
[0042]仲裁部37决定对地址设定部35进行地址指定的数据传输部32。该仲裁部37具有记录等待矩阵(队列)的存储器,当从某一个数据传输部32接收到地址指定的请求时,在该队列的最末尾保持用于确定进行了该请求的数据传输部32的信息。仲裁部37还允许利用队列的开头的信息确定的数据传输部32进行地址指定。当利用该队列的开头的信息确定的数据传输部32输出表不传输结束的信息时,仲裁部37从队列的开头起删除用于确定该数据传输部32的信息并继续进行处理。
[0043]另外,关于多个非易失性存储器单元130a、130b...,分别对任一个信道分配相同数量p(p > I)个(也就是说当将信道数设为CN时,η = P X CN)。在本实施方式的某个例子中,对第一信道分配非易失性存储器单元130a、130b,对第二信道分配非易失性存储器单元130c、130d。
[0044]另外,与多个非易失性存储器单元130a、130b…分别对应的设备选择信号线CS0#、CS1#...,高位字节的选择信号线UB0#、UB1#…,低位字节的选择信号线LB0#、LB1#…,允许向设备写入的信号线WEO#、WE1#…,允许从设备读出的信号线REO#、RE1#…从所对应的信道控制部31a、31b…引出,并连接于所对应的非易失性存储器单元130a、130b...。例如,如果是之前的例子,则从与第一信道对应的信道控制部31a获取与非易失性存储器单元130a对应的各信号线CS0#、UB0#、LB0#、WE0#、RE0#,从与第二信道对应的信道控制部31b获取与非易失性存储器单元130c对应的各信号线CS2#、UB2#、LB2#、WE2#、RE2#。
[0045]另外,从缓存控制部24引出地址信号线(A0、…Am)、数据信号线(DQ0、《"DQs),其中,地址信号线连接于各非易失性存储器单元130a、130b...。另外,关于数据信号线,s位的信号线中的互不相同的每s/p (设为整数)位连接于各非易失性存储器单元130a、130b...。作为一例,在如上述那样使两个非易失性存储器单元130对应于一个信道的情况下,如果s是32位,则DQ0、…DQ31各信号线中的、32/2 = 16位的DQ0、…DQ15连接于非易失性存储器单元130a、130c...,剩余的16位的DQ16、…DQ31连接于非易失性存储器单元130b、130d …。
[0046]在该例中,如图4所例示那样,CPU 21在从主机侧接收到数据的写入指示(伴随数据写入的命令)和成为写入的对象的数据时,将该数据分割为规定的大小的数据块。
[0047]具体地说,CPU 21将接收到的数据存储到存储部22的空闲区域(SI),将写入目的地的信道数设为CN,运算将接收到的数据长度L除以该信道数CN而得到的值BL = L/CN,来作为分割数据的数据长度(S2)。
[0048]然后,CPU 21将计数器i重置为“1”(S3),对与第i信道对应的信道控制部31i的数据传输部32i的DMAC设定作为传输源的存储部22内的存储器上的地址(传输源地址)、作为传输目的地的非易失性存储器单元130侧的非易失性存储器上的地址(传输目的地地址)以及作为所要传输的数据的长度的分割数据的数据长度BL(DMA设定处理:S4)。
[0049]在此,使用在处理SI中存储了数据的空闲区域的开头地址As,以Asource =As+(1-l)XBL来运算传输源地址Asource。另外,与伴随数据的写入的命令中包含的LBA (Logical Block Address:逻辑块地址)相关联地决定传输目的地地址即可,能够米用并决定众所周知的方法来作为高速缓冲存储器的管理方法,因此在此省略详细的说明。CPU21事先将LBA、写入目的地的信道以及传输目的地的地址相关联地进行存储。
[0050]当针对第i信道的DMA设定处理结束时,不论该DMAC的数据传输状况如何,CPU21都将i增加“I”(S5),核对i是否超过CN(是否为i>CN) (S6)。在此,如果不是i>CN,则返回到处理S4并继续进行针对下一个信道的DMA设定处理。
[0051]另外,在处理S6中如果i>CN,则跳出循环从而结束处理,开始其它处理。
[0052]数据传输部32i开始从指定的地址向所对应的非易失性存储器单元130传输指定的数据长度的数据,而该具体的处理如下。数据传输部32i对仲裁部37请求地址的指定。当仲裁部37允许地址的指定时,数据传输部32i对地址设定部35输出在DMA设定处理中设定的传输目的地地址。
[0053]另外,该数据传输部32i将与所对应的第i个信道的信道控制部31i相连接的设备选择信号线CSn#同时激活,将允许向设备写入的信号线WEn#同时设定为使能的状态。此外,在对每个高位、低位的字节进行控制的情况下,使与各非易失性存储器单元130a、130b…对应的高位字节的选择信号线UBn#和低位字节的选择信号线LBn#同时变为使能的状态。
[0054]然后,数据传输部32i对数据设定部36输出传输源地址。通过在规定的定时进行这些动作,能够对第i信道的非易失性存储器单元130写入数据。
[0055]下面,数据传输部32i —边将传输目的地地址、传输源地址增加一边反复进行以上动作,直到相当于数据长度BL的数据的写入结束为止。然后,当相当于数据长度BL的数据的写入结束时,数据传输部32i将表示数据传输结束的意思的信号输出到仲裁部37。数据传输部32i进行规定的结束时处理(结束状态信息的设定等),对CPU 21输出表示数据传输结束的中断信号。
[0056]通过进行以上动作,在本实施方式的该例所涉及的SSD装置I中,当写入数据时,如图6所示,无论各数据传输部32的数据传输的处理的进度如何,CPU 21都对成为写入的对象的各信道的数据传输部32依次地进行DMA设定处理(TDMA 1、TDMA 2…)。
[0057]而且,在CPU 21对各信道进行了该DMA设定处理之后,即使数据传输部32正在进行数据传输,也能够进行其它处理(PD。
[0058]第一信道的数据传输部32a对第一信道的非易失性存储器单元130a、130b进行数据传输,当数据传输结束时,控制各部使得能够利用下一个数据传输部32b进行传输(在上述例子中,对仲裁部37通知传输结束)。然后,第一信道的数据传输部32a进行规定的结束时处理,并对CPU 21输出表示传输结束的中断信号(TE_DMA1)。CPU 21接收该中断信号,并记录结束对第一信道的写入。
[0059]在此期间,第二信道的数据传输部32b对第二信道的非易失性存储器单元130c、130d进行数据传输。也就是说,缓存控制部24 —边将各信道的非易失性存储器单元130依次分别切换为写入对象,一边分别写入通过分割而得到的分割数据。
[0060]在所有信道的数据传输结束时,CPU 21结束处理。根据该处理,CPU21能够在DMA设定处理之后执行其它处理,因此从主机侧观察到的SSD装置I的响应速度上升。
[0061]另外,在读出时,CPU 21判断应在被指定为读出的对象的LBA中存储的数据是否被存储在作为高速缓冲存储器的非易失性存储器单元130,在判断为被存储在非易失性存储器单元130时,进行如下指示:将与LBA对应地存储的信道和非易失性存储器单元130的地址输出到缓存控制部24,从该信道的非易失性存储器单元130的被指定的该地址读出数据。
[0062]然后,将缓存控制部24根据该指示输出的数据输出到主机侧。此外,当判断为应在被指定为读出的对象的LBA中存储的数据没有被存储在作为高速缓冲存储器的非易失性存储器单元130时,指示快闪存储器接口 25读出来自该LBA的数据。然后,将快闪存储器接口 25根据该指示从快闪存储器部14读出并输出的数据输出到主机侧。
[0063]缓存控制部24生成位串,该位串是将从第一信道、第二信道…的各非易失性存储器单元130a、130b...读出的数据相连接而得到的,将生成的该位串输出到CPU 21。
[0064]接着,对CPU 21的整体的动作进行说明。CPU 21在启动时将各部初始化,之后对缓存控制部24的接口进行初始设定。之后,如果在上次结束时存在保存到MRAM的数据,则CPU 21将保存的该数据传输到存储部22,建立与主机之间的接口,并开始执行等待命令的循环。关于该处理,与利用进行破坏性读出的DRAM的现有例相比,不需要在将保存的数据传输到存储部22之后进行再次读入到DRAM的处理,从而使启动高速化。另外,在现有例中,需要将保存数据写入快闪存储器部14,在经过长时间的情况下担心会产生无法读出数据的所谓数据保持(Data retent1n),但在本实施例中,通过使用例如FeRAM、MRAM作为并非快闪存储器的非易失性存储器,消除了上述问题。
[0065]另外,CPU21在启动后等待来自主机的命令,当接收到来自主机的命令时,进行与该命令相应的处理。具体地说,CPU 21在从主机侧接收到要将数据写入快闪存储器部14的指示时,根据该指示从主机侧接收要写入的数据。然后,将该数据输出到缓存控制部24,并存储到高速缓冲存储器部13。
[0066]另外,CPU 21也进行以下处理:针对存储在高速缓冲存储器部13中的数据,利用规定的方法选择并读出该数据的一部分,并存储到快闪存储器部14。另外,CPU 21也可以利用规定的方法选择并读出快闪存储器部14中存储的数据的一部分,并指示缓存控制部24使该数据的一部分写入高速缓冲存储器部13。关于这种缓存的控制和管理方式,能够采用众所周知的方法,因此在此省略详细的说明。
[0067]CPU 21当再一次接收到来自主机侧的数据的读出指示时,判断该数据是否被存储在高速缓冲存储器部13,在判断为该数据被存储在高速缓冲存储器部13时,指示缓存控制部24读出该数据。另外,该CPU 21在判断为该数据没有被存储在高速缓冲存储器部13的情况下,读出快闪存储器部14中存储的该数据,并输出到主机侧。
[0068]此外,在没有来自主机侧的命令、另外也没有后台的处理、除此之外没有来自输入输出部23的中断且经过了固定的时间时,与以往的将DRAM用作缓存的SSD装置不同,CPU21不需要在电源瞬间切断等时将高速缓冲存储器部13中存储的数据保存到快闪存储器部14中。
[0069]另外,CPU 21在从主机侧接收到将缓存的信息进行闪存(flush)的指示(要写回到快闪存储器部14的指示)时,忽略该命令(不作任何操作)。原因是,与将DRAM用作缓存的情况不同,存储在FeRAM、MRAM等中的数据被损坏的可能性小。
[0070]并且,当以没有来自主机侧的命令、另外也没有后台的处理、除此之外没有来自输入输出部23的中断的状态经过了预定的时间时,CPU 21可以进行如下所述的省电控制。另夕卜,可以在从主机侧输入了要使SSD装置I为待机状态的意思的命令时,CPU 21也同样执行省电控制。作为这种命令的例子,存在以PATA标准/SATA标准定义的待机(STANDBY或者STANDBY Imm ediate)、休眠(SLEEP)等。另外,也可以设为在SSD的控制器检测到PHYPA RTIAL(局部)、SLUMBER(睡眠)的情况下也执行省电控制,该PHY PARTIAL(局部)、SLUMBER(睡眠)是定义了如下状态的命令:以将被定义为SATA标准的外围设备(SSD)与主机相连接的串行ATA总线本身为对象来进行节电。
[0071]进行该省电控制的CPU 21如图7所例示那样读出存储部22中存储的数据,并输出到缓存控制部24,存储到高速缓冲存储器部13 (数据保存:S11)。当存储在存储部22中的数据的保存完成时,CPU 21使缓存控制部24停止输出信号,另外,使电源部15停止对高速缓冲存储器部13的电源供给(S12)。
[0072]CPU 21还使输入输出部23保持原样,或者将输入输出部23设定为省电状态(S13),切断在控制器部11内预定的范围的电源(S14)。作为一例,将存储部22、CPU 21自身的电源也切断。另外,还能够停止对连接于缓存控制部24的高速缓冲存储器部13的电源供给。这是由于在高速缓冲存储器部13中也不需要用于进行DRAM等所需的存储保持的动作(刷新动作等)。
[0073]此后,在对输入输出部23输入要恢复为通常状态的意思的命令(IDLE或者IDLEImmediate)之前待机。当输入输出部23从主机侧接收到要恢复为通常状态的意思的命令(IDLE或者IDLE Immediate或者PHY READY)时,输入输出部23 (在为省电状态时从省电状态起恢复)开始对CPU 21、存储部22进行电源供给。
[0074]此时,CPU 21使电源部15开始对高速缓冲存储器部13进行电源供给,指示缓存控制部24从存储部22读出保存的数据。当缓存控制部24根据该指示读出的数据被输出到CPU 21时,CPU 21将该数据存储到存储部22来恢复存储部22内的数据。然后,CPU 21重新开始基于存储部22内的数据的处理。
[0075]进而,当切断SSD装置I的电源时,与以往的将DRAM用作缓存的情况不同,CPU 21不需要进行将保存信息从DRAM存储到快闪存储器部14这样的处理。这是由于即使在电源断开之后在高速缓冲存储器部13中也保持有数据。
[0076]在本实施方式的SSD装置I中,也可以还对写入高速缓冲存储器部13的数据附加纠错码,而缓存控制部24将该纠错码(q个字节)分割为非易失性存储器单元130的几η个以下的多个,将分割后的纠错码存储到互不相同的非易失性存储器单元130中。在一例中,缓存控制部24进行如下控制即可:将I个字节的纠错码平均分割为1/4个字节并写入到四个非易失性存储器单元130。例如在非易失性存储器单元130各自与两个字节的读写对应的情况下,当写入含有纠错码的字节串时,缓存控制部24将q个字节的纠错码平均分割为q/r(2 ^N)个字节,在原本包含纠错码的字节串中包含按q/r个字节进行分割而得到的纠错码(如果不存在原本包含纠错码的字节串,则新生成字节串),并存储到各非易失性存储器单元130。
[0077]在该情况下,缓存控制部24从各非易失性存储器单元130读出数据,直到成为纠错的单位为止,当成为纠错的单位时,将从各非易失性存储器单元130读出的数据中分割地包含的纠错码按原来的顺序进行连接来再现纠错码,利用所再现的该纠错码对所读出的数据进行纠错。
[0078]在本实施方式的某个例子中,在作为高速缓冲存储器部13的MRAM的数据读出和写入的大致的时钟数(基准时钟)为25MHz左右的情况下,使用η = 4的非易失性存储器单元130a、130b、130c、130d (设为能够分别以2个字节宽读写数据),分割为两个信道来进行动作。由此,不需要在各信道之间进行地址信号线的重新设置等,能够缩短存储器管理的处理所花费的开销时间(根据实测值,能够实现1.4至2倍(平均值为1.5倍)左右的速度)。
[0079]因而,根据实测值,能够实现平均25X4X1.5 = 150MB/s程度的读出和写入速度。该值是比PATA的传输速度133MB/S大、并且与SATA的传输速度150MB/s相匹敌的速度,因此从主机侧接口的数据传输速度来看,能够充分发挥作为缓存的功能。
[0080]附图标记说明
[0081]1:SSD装置;11:控制器部;12:接口部;13:高速缓冲存储器部;14:快闪存储器部;15:电源部;21:CPU ;22:存储部;23:输入输出部;24:缓存控制部;25:快闪存储器接口 ;31:信道控制部;32:数据传输部;35:地址设定部;36:数据设定部;37:仲裁部;130:非易失性存储器单元。
【权利要求】
1.一种固态硬盘装置,使用了快闪存储器,该固态硬盘装置包括: η个非易失性存储器单元,其分别包括与快闪存储器不同种类的非易失性存储器,其中,η > 2 ;以及 控制器,其接收要写入上述快闪存储器的数据,并将所接收到的该数据保存到上述非易失性存储器单元。
2.根据权利要求1所述的固态硬盘装置,其特征在于, 上述控制器将要写入上述快闪存储器的数据分割为m个来生成分割数据,对上述η个非易失性存储器单元分别写入通过该分割而得到的m个分割数据,其中,2 < m^n0
3.根据权利要求1所述的固态硬盘装置,其特征在于, 上述控制器将要写入上述快闪存储器的数据分割为m个来生成分割数据,一边将上述η个非易失性存储器单元依次分别切换为写入对象,一边分别写入通过该分割而得到的m个分割数据,其中,2 ^ m ^ r1
4.根据权利要求3所述的固态硬盘装置,其特征在于, 上述控制器将对要写入上述快闪存储器的数据附加的纠错码分割为m个来生成分割数据,对上述η个非易失性存储器单元分别写入通过该分割而得到的m个分割数据,其中,2 < m < η。
5.根据权利要求1所述的固态硬盘装置,其特征在于, 上述控制器包括由易失性存储器构成的存储部, 上述控制器在判断为要使上述固态硬盘装置为待机状态时,读出上述存储部内存储的数据并写入到上述非易失性存储器单元,之后切断对该非易失性存储器单元和上述存储部的电源供给。
6.根据权利要求5所述的固态硬盘装置,其特征在于, 上述控制器在判断为要使上述固态硬盘装置恢复为通常状态时,开始对上述非易失性存储器单元和上述存储部进行电源供给,之后读出被写入到该非易失性存储器单元的数据并保存到上述存储部。
【文档编号】G06F12/00GK104303161SQ201380024027
【公开日】2015年1月21日 申请日期:2013年3月27日 优先权日:2012年5月7日
【发明者】高田阳介, 冲永隆幸, 菅原识介, 真国一起 申请人:巴法络记忆体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1