CN104303161A - Ssd(固态硬盘)装置 - Google Patents
Ssd(固态硬盘)装置 Download PDFInfo
- Publication number
- CN104303161A CN104303161A CN201380024027.8A CN201380024027A CN104303161A CN 104303161 A CN104303161 A CN 104303161A CN 201380024027 A CN201380024027 A CN 201380024027A CN 104303161 A CN104303161 A CN 104303161A
- Authority
- CN
- China
- Prior art keywords
- data
- mentioned
- nonvolatile memery
- memery unit
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
提供一种能够将非易失性存储器用作缓存来减少电力消耗的SSD装置。使用了快闪存储器的SSD(固态硬盘)装置包括:n个(n≥2)非易失性存储器单元(130),其分别包括与快闪存储器不同种类的非易失性存储器;以及控制器部(11),其接收要写入快闪存储器的数据,并将所接收到的该数据保存到非易失性存储器单元(130)。
Description
技术领域
本发明涉及一种使用了NAND型快闪存储器等快闪存储器的SSD装置。
背景技术
近年来,基于吞吐量高、电力消耗低之类的观点,利用SSD(Solid StateDrive:固态硬盘)装置来替代硬盘驱动器(HDD:Hard Disk Drive)。另外,具有如下的例子:为了提高读出、写入的速度而利用DRAM(Dynamic Random Access Memory:动态随机存取存储器)来作为高速缓冲存储器。
此外,专利文献1、2均公开了以下内容:除了DRAM以外,还能够利用磁阻式随机存储器(MRAM)来作为高速缓冲存储器。
专利文献1:美国专利第7,003,623号说明书
专利文献2:日本特开2011-164994号公报
发明内容
发明要解决的问题
在上述以往的带有DRAM缓存的SSD中,DRAM的刷新动作是必须的,因此难以减少待机电力。另一方面,在磁阻式随机存储器等非易失性的存储器中,理论上能够作为替代DRAM的高速缓冲存储器而被采用,但实际上不能实现如DRAM那样的写入、读出速度,因此比主机侧的接口的速度慢(例如在利用基准时钟为25MHz的MRAM的情况下,即使设为4个字节访问,也为25×4=100MB/s,比PATA(Parallel Advanced Technology Attachment:并行高级技术附件)所要求的133MB/s慢)。在这种情况下不能用作高速缓冲存储器。
本发明是鉴于上述实际情况而完成的,其目的之一在于提供一种能够将非易失性存储器用作缓存来减少电力消耗的SSD装置。
用于解决问题的方案
用于解决上述现有例的问题的本发明是一种使用了快闪存储器的SSD(固态硬盘)装置,其包括:n个(n≥2)非易失性存储器单元,这些非易失性存储器单元分别包括与快闪存储器不同种类的非易失性存储器;以及控制器,其接收要写入上述快闪存储器的数据,并将所接收到的该数据保存到上述非易失性存储器单元。
在此,上述控制器也可以将要写入上述快闪存储器的数据分割为m个(2≤m≤n)来生成分割数据,对上述n个非易失性存储器单元分别写入通过该分割而得到的m个分割数据。另外,上述控制器也可以将要写入上述快闪存储器的数据分割为m个(2≤m≤n)来生成分割数据,一边将上述n个非易失性存储器单元中依次分别切换为写入对象,一边分别写入通过该分割而得到的m个分割数据。
另外,上述控制器也可以将对要写入上述快闪存储器的数据附加的纠错码分割为m个(2≤m≤n)来生成分割数据,对上述n个非易失性存储器单元分别写入通过该分割而得到的m个分割数据。
并且,也可以是,上述控制器包括由易失性存储器构成的存储部,上述控制器在判断为要使上述SSD装置为待机状态时,读出上述存储部内存储的数据并写入到上述非易失性存储器单元,之后切断对该非易失性存储器单元和上述存储部的电源供给。并且,上述控制器也可以在判断为要使上述SSD装置恢复为通常状态时,开始对上述非易失性存储器单元和上述存储部进行电源供给,之后读出被写入到该非易失性存储器单元的数据并保存到上述存储部。
发明的效果
根据本发明,通过使用多个非易失性存储器单元,能够并行或者分时地进行数据的读写,提高读出、写入速度,从而能够用作高速缓冲存储器。
附图说明
图1是表示本发明的实施方式所涉及的SSD装置的结构例的概要框图。
图2是表示本发明的实施方式所涉及的SSD装置的控制器部的内容例的框图。
图3是表示本发明的实施方式所涉及的SSD装置的缓存控制部与非易失性存储器单元的连接方式的例子的说明图。
图4是表示本发明的实施方式所涉及的SSD装置的缓存控制部与非易失性存储器单元的连接方式的另一例子的说明图。
图5是表示本发明的实施方式所涉及的SSD装置的写入动作时的CPU的动作例的流程图。
图6是本发明的实施方式所涉及的SSD装置的写入动作时的概要时序图。
图7是表示本发明的实施方式所涉及的SSD装置中的控制器部的控制例的流程图。
具体实施方式
参照附图来说明本发明的实施方式。本发明的实施方式所涉及的SSD装置1,如在图1中表示其概要那样,构成为包括控制器部11、接口部12、高速缓冲存储器部13、快闪存储器部14以及电源部15。该SSD装置1经由接口部12与主机(计算机等利用SSD装置的装置)相连接。
控制器部11是按照所存储的程序来进行动作的程序控制设备,具体地说,如图2所例示那样,控制器部11构成为包括CPU 21、存储部22、输入输出部23、缓存控制部24以及快闪存储器接口25。
在此,CPU 21按照存储在存储部22中的程序进行动作。在本实施方式中,该CPU 21按照经由输入输出部23从主机侧输入的指示与高速缓冲存储器部13、快闪存储器部14之间进行数据的读出、写入。后面叙述该CPU 21的具体的处理内容。
控制器部11的存储部22例如是SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储器,保持固件等由CPU 21执行的程序。此外,该固件可以事先存储在未图示的NOR型闪存等非易失性存储器中,将该NOR型闪存连接于控制器部11,从该NOR型闪存读出该固件并存储到该存储部22中。另外,该固件也可以是被存储在DVD-ROM(Digital Versatile Disc Read Only Memory:数字视盘)等计算机可读记录介质、或者从主机侧提供并被复制到该存储部22中的固件。
输入输出部23连接于接口部12,经由接口部12来控制CPU 21与主机之间的通信。该输入输出部23例如是SATA(Serial Advanced Technology Attachment:串行高级技术附件)-PHY。
缓存控制部24按照从CPU 21输入的指示与高速缓冲存储器部13之间进行数据的写入、读出的处理。该缓存控制部24在从CPU 21接收到数据的写入指示时,对成为写入对象的数据附加纠错码,将包含该纠错码的数据写入高速缓冲存储器部13。另外,该缓存控制部24使用按照从CPU 21输入的读出指示而从高速缓冲存储器部13读出的数据中包含的纠错码,来进行数据的纠错,按照来自CPU 21的指示将纠错后的数据输出到传输目的地的地址。快闪存储器接口25按照从CPU 21输入的指示与快闪存储器部14之间进行数据的写入、读出。
接口部12是SATA或者PATA(Parallel Advanced Technology Attachment:并行高级技术附件)接口、连接器等,与主机侧相连接。该接口部12从主机侧接收命令、成为写入的对象的数据并输出到控制器部11。另外,该接口部12将从控制器部11输入的数据等输出到主机侧。并且,例如在控制器部11所包含的输入输出部23是SATA-PHY、接口部12是PATA接口连接器的情况下,可以在控制器部11与接口部12之间设置用于进行PATA与SATA之间的协议转换的组件。
高速缓冲存储器部13包括与快闪存储器不同种类的非易失性存储器。作为这种非易失性存储器,具有FeRAM(Ferroelectric RAM:铁电随机存储器)、MRAM(Magnetoresistive RAM:磁阻式随机存储器)等。在本实施方式中,在该高速缓冲存储器部13中具备各自包括与快闪存储器不同种类的非易失性存储器的n(n≥2)个非易失性存储器单元130a、130b、…。高速缓冲存储器部13按照从控制器部11输入的指示来保持数据。另外,该高速缓冲存储器部13按照从控制器部11输入的指示来读出所保持的数据并输出到控制器部11。
快闪存储器部14例如包括NAND型闪存。该快闪存储器部14按照从控制器部11输入的指示来保持数据。另外,该快闪存储器部14按照从控制器部11输入的指示读出所保持的数据并输出到控制器部11。
电源部15按照从控制器部11输入的指示来独立地接通/切断对各部的电源供给。
在本实施方式中,如图3所例示那样,与多个非易失性存储器单元130a、130b…分别对应的设备选择信号线CS0#、CS1#…,高位字节的选择信号线UB0#、UB1#…,低位字节的选择信号线LB0#、LB1#…,允许向设备写入的信号线WEa#、WEb#…,允许从设备读出的信号线RE0#、RE1#…从控制器部11的缓存控制部24引出,并连接于所对应的非易失性存储器单元130a、130b…。此外,允许写入信号线和允许读出信号线也可以是一条信号线,高位字节的选择信号线和低位字节的选择信号线也可以是一条信号线。在该情况下,根据信号的高/低中的某一个来确定使写入和读出中的哪一个使能(Enable)。另外,根据信号的高/低中的某一个来确定选择高位和低位中的哪一个的字节。
另外,从缓存控制部24引出地址信号线(A0、…Am)、数据信号线(DQ0、…DQs),其中的地址信号线连接于各非易失性存储器单元130a、130b…。另外,关于数据信号线,使s位的信号线中的互不相同的每(s+1)/n(设为整数)位连接于各非易失性存储器单元130a、130b…。作为一例,在使用两个非易失性存储器单元130a、130b的情况下(n=2的情况),如果数据信号线的宽度(s+1)是32位,则DQ0、…DQ31的各信号线中的(s+1)/n=32/2=16位的DQ0、…DQ15连接于非易失性存储器单元130a、130c…,剩余的16位的DQ16、…DQ31连接于非易失性存储器单元130b、130d…。
在该例中,缓存控制部24在从CPU 21接收到数据的写入指示时,对地址信号线输出表示写入目的地的地址的信息。然后,将与各非易失性存储器单元130a、130b…对应的设备选择信号线CSn#同时激活,将允许向设备写入的信号线WEn#同时设定为使能的状态。此外,在对每个高位、低位的字节进行控制的情况下,使与各非易失性存储器单元130a、130b…对应的高位字节的选择信号线UBn#和低位字节的选择信号线LBn#同时成为使能的状态。
然后,缓存控制部24对数据信号线输入要写入的数据(32位宽)。非易失性存储器单元130a、130b…所包括的MRAM等在设备选择信号线CSn#被激活之后,在允许写入信号线WEn#等成为使能的状态时,经过规定时间之后获取处于数据信号线DQ中的数据,并写入到经由地址信号线输入的地址。此时,以使数据信号线DQ0、…DQj(j=(s+1)/n)连接于非易失性存储器单元130a、使数据信号线DQj+1、…DQ(2j+1)(j=(s+1)/n)连接于非易失性存储器单元130b…这样的方式分别进行连接,因此成为将数据分割地记录到各非易失性存储器单元130a、130b…的状态。
也就是说,在本实施方式的该例中,通过如上述那样进行连接,该缓存控制部24将数据分割为m=n个来生成分割数据,对n个非易失性存储器单元130a、130b…分别写入通过该分割而得到的m个分割数据。另外,该例的缓存控制部24在从CPU 21接收到数据的读出指示时,对地址信号线输出表示存储有要读出的数据的地址的信息。然后,将与各非易失性存储器单元130a、130b…对应的设备选择信号线CSn#同时激活,将允许从设备读出的信号线REn#同时设定为使能的状态。
非易失性存储器单元130a、130b…所包括的MRAM等在从对地址信号线输出地址起经过规定时间之后,对数据信号线DQ#输出所读出的数据。在此,缓存控制部24获取从对地址信号线输出地址起经过规定时间后的数据信号线DQ#的数据。此时,以使数据信号线DQ0、…DQj(j=(s+1)/n)连接于非易失性存储器单元130a、使数据信号线DQj+1、…DQ(2j)(j=(s+1)/n)连接于非易失性存储器单元130b…这样的方式分别进行连接,因此在DQ0、…DQs的各数据信号线中出现将从各非易失性存储器单元130a、130b…得到的各比特的数据按顺序进行连接而得到的数据。缓存控制部24获取该数据并按照CPU 21的指示将数据输出到传输目的地地址。
另外,在本实施方式的另一例子中,也可以如图4所例示那样,控制器部11的缓存控制部24具有控制多个信道的信道控制部31a、31b…、以及在各信道中共用的地址设定部35、数据设定部36和仲裁部37,各信道分别连接有高速缓冲存储器部13。各信道控制部31a、31b…分别具有独立的数据传输部32a、32b。该数据传输部32例如包括DMAC(Direct Memory Access Controller:直接存储器存储控制器),将数据从存储部22内的被指定的地址传输到所对应的信道的非易失性存储器单元130的被指定的地址。
地址设定部35将表示由任一个数据传输部32指示的地址的信号输出到地址信号线A0…。该地址设定部35在从接收地址的指示的数据传输部32接收到传输结束的指示之前,不能接收来自其它数据传输部32的地址的指示。
数据设定部36接收由任一个数据传输部32指定的存储部22内的地址,在存储部22内读出存储在用该地址表示的位置的数据,并将表示该数据的信号输出到数据信号线DQ0…。
仲裁部37决定对地址设定部35进行地址指定的数据传输部32。该仲裁部37具有记录等待矩阵(队列)的存储器,当从某一个数据传输部32接收到地址指定的请求时,在该队列的最末尾保持用于确定进行了该请求的数据传输部32的信息。仲裁部37还允许利用队列的开头的信息确定的数据传输部32进行地址指定。当利用该队列的开头的信息确定的数据传输部32输出表示传输结束的信息时,仲裁部37从队列的开头起删除用于确定该数据传输部32的信息并继续进行处理。
另外,关于多个非易失性存储器单元130a、130b…,分别对任一个信道分配相同数量p(p≥1)个(也就是说当将信道数设为CN时,n=p×CN)。在本实施方式的某个例子中,对第一信道分配非易失性存储器单元130a、130b,对第二信道分配非易失性存储器单元130c、130d。
另外,与多个非易失性存储器单元130a、130b…分别对应的设备选择信号线CS0#、CS1#…,高位字节的选择信号线UB0#、UB1#…,低位字节的选择信号线LB0#、LB1#…,允许向设备写入的信号线WE0#、WE1#…,允许从设备读出的信号线RE0#、RE1#…从所对应的信道控制部31a、31b…引出,并连接于所对应的非易失性存储器单元130a、130b…。例如,如果是之前的例子,则从与第一信道对应的信道控制部31a获取与非易失性存储器单元130a对应的各信号线CS0#、UB0#、LB0#、WE0#、RE0#,从与第二信道对应的信道控制部31b获取与非易失性存储器单元130c对应的各信号线CS2#、UB2#、LB2#、WE2#、RE2#。
另外,从缓存控制部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…。
在该例中,如图4所例示那样,CPU 21在从主机侧接收到数据的写入指示(伴随数据写入的命令)和成为写入的对象的数据时,将该数据分割为规定的大小的数据块。
具体地说,CPU 21将接收到的数据存储到存储部22的空闲区域(S1),将写入目的地的信道数设为CN,运算将接收到的数据长度L除以该信道数CN而得到的值BL=L/CN,来作为分割数据的数据长度(S2)。
然后,CPU 21将计数器i重置为“1”(S3),对与第i信道对应的信道控制部31i的数据传输部32i的DMAC设定作为传输源的存储部22内的存储器上的地址(传输源地址)、作为传输目的地的非易失性存储器单元130侧的非易失性存储器上的地址(传输目的地地址)以及作为所要传输的数据的长度的分割数据的数据长度BL(DMA设定处理:S4)。
在此,使用在处理S1中存储了数据的空闲区域的开头地址As,以Asource=As+(i-1)×BL来运算传输源地址Asource。另外,与伴随数据的写入的命令中包含的LBA(Logical Block Address:逻辑块地址)相关联地决定传输目的地地址即可,能够采用并决定众所周知的方法来作为高速缓冲存储器的管理方法,因此在此省略详细的说明。CPU 21事先将LBA、写入目的地的信道以及传输目的地的地址相关联地进行存储。
当针对第i信道的DMA设定处理结束时,不论该DMAC的数据传输状况如何,CPU 21都将i增加“1”(S5),核对i是否超过CN(是否为i>CN)(S6)。在此,如果不是i>CN,则返回到处理S4并继续进行针对下一个信道的DMA设定处理。
另外,在处理S6中如果i>CN,则跳出循环从而结束处理,开始其它处理。
数据传输部32i开始从指定的地址向所对应的非易失性存储器单元130传输指定的数据长度的数据,而该具体的处理如下。数据传输部32i对仲裁部37请求地址的指定。当仲裁部37允许地址的指定时,数据传输部32i对地址设定部35输出在DMA设定处理中设定的传输目的地地址。
另外,该数据传输部32i将与所对应的第i个信道的信道控制部31i相连接的设备选择信号线CSn#同时激活,将允许向设备写入的信号线WEn#同时设定为使能的状态。此外,在对每个高位、低位的字节进行控制的情况下,使与各非易失性存储器单元130a、130b…对应的高位字节的选择信号线UBn#和低位字节的选择信号线LBn#同时变为使能的状态。
然后,数据传输部32i对数据设定部36输出传输源地址。通过在规定的定时进行这些动作,能够对第i信道的非易失性存储器单元130写入数据。
下面,数据传输部32i一边将传输目的地地址、传输源地址增加一边反复进行以上动作,直到相当于数据长度BL的数据的写入结束为止。然后,当相当于数据长度BL的数据的写入结束时,数据传输部32i将表示数据传输结束的意思的信号输出到仲裁部37。数据传输部32i进行规定的结束时处理(结束状态信息的设定等),对CPU 21输出表示数据传输结束的中断信号。
通过进行以上动作,在本实施方式的该例所涉及的SSD装置1中,当写入数据时,如图6所示,无论各数据传输部32的数据传输的处理的进度如何,CPU 21都对成为写入的对象的各信道的数据传输部32依次地进行DMA设定处理(TDMA 1、TDMA 2…)。
而且,在CPU 21对各信道进行了该DMA设定处理之后,即使数据传输部32正在进行数据传输,也能够进行其它处理(P1)。
第一信道的数据传输部32a对第一信道的非易失性存储器单元130a、130b进行数据传输,当数据传输结束时,控制各部使得能够利用下一个数据传输部32b进行传输(在上述例子中,对仲裁部37通知传输结束)。然后,第一信道的数据传输部32a进行规定的结束时处理,并对CPU 21输出表示传输结束的中断信号(TE_DMA1)。CPU 21接收该中断信号,并记录结束对第一信道的写入。
在此期间,第二信道的数据传输部32b对第二信道的非易失性存储器单元130c、130d进行数据传输。也就是说,缓存控制部24一边将各信道的非易失性存储器单元130依次分别切换为写入对象,一边分别写入通过分割而得到的分割数据。
在所有信道的数据传输结束时,CPU 21结束处理。根据该处理,CPU21能够在DMA设定处理之后执行其它处理,因此从主机侧观察到的SSD装置1的响应速度上升。
另外,在读出时,CPU 21判断应在被指定为读出的对象的LBA中存储的数据是否被存储在作为高速缓冲存储器的非易失性存储器单元130,在判断为被存储在非易失性存储器单元130时,进行如下指示:将与LBA对应地存储的信道和非易失性存储器单元130的地址输出到缓存控制部24,从该信道的非易失性存储器单元130的被指定的该地址读出数据。
然后,将缓存控制部24根据该指示输出的数据输出到主机侧。此外,当判断为应在被指定为读出的对象的LBA中存储的数据没有被存储在作为高速缓冲存储器的非易失性存储器单元130时,指示快闪存储器接口25读出来自该LBA的数据。然后,将快闪存储器接口25根据该指示从快闪存储器部14读出并输出的数据输出到主机侧。
缓存控制部24生成位串,该位串是将从第一信道、第二信道…的各非易失性存储器单元130a、130b…读出的数据相连接而得到的,将生成的该位串输出到CPU 21。
接着,对CPU 21的整体的动作进行说明。CPU 21在启动时将各部初始化,之后对缓存控制部24的接口进行初始设定。之后,如果在上次结束时存在保存到MRAM的数据,则CPU 21将保存的该数据传输到存储部22,建立与主机之间的接口,并开始执行等待命令的循环。关于该处理,与利用进行破坏性读出的DRAM的现有例相比,不需要在将保存的数据传输到存储部22之后进行再次读入到DRAM的处理,从而使启动高速化。另外,在现有例中,需要将保存数据写入快闪存储器部14,在经过长时间的情况下担心会产生无法读出数据的所谓数据保持(Data retention),但在本实施例中,通过使用例如FeRAM、MRAM作为并非快闪存储器的非易失性存储器,消除了上述问题。
另外,CPU 21在启动后等待来自主机的命令,当接收到来自主机的命令时,进行与该命令相应的处理。具体地说,CPU 21在从主机侧接收到要将数据写入快闪存储器部14的指示时,根据该指示从主机侧接收要写入的数据。然后,将该数据输出到缓存控制部24,并存储到高速缓冲存储器部13。
另外,CPU 21也进行以下处理:针对存储在高速缓冲存储器部13中的数据,利用规定的方法选择并读出该数据的一部分,并存储到快闪存储器部14。另外,CPU 21也可以利用规定的方法选择并读出快闪存储器部14中存储的数据的一部分,并指示缓存控制部24使该数据的一部分写入高速缓冲存储器部13。关于这种缓存的控制和管理方式,能够采用众所周知的方法,因此在此省略详细的说明。
CPU 21当再一次接收到来自主机侧的数据的读出指示时,判断该数据是否被存储在高速缓冲存储器部13,在判断为该数据被存储在高速缓冲存储器部13时,指示缓存控制部24读出该数据。另外,该CPU 21在判断为该数据没有被存储在高速缓冲存储器部13的情况下,读出快闪存储器部14中存储的该数据,并输出到主机侧。
此外,在没有来自主机侧的命令、另外也没有后台的处理、除此之外没有来自输入输出部23的中断且经过了固定的时间时,与以往的将DRAM用作缓存的SSD装置不同,CPU 21不需要在电源瞬间切断等时将高速缓冲存储器部13中存储的数据保存到快闪存储器部14中。
另外,CPU 21在从主机侧接收到将缓存的信息进行闪存(flush)的指示(要写回到快闪存储器部14的指示)时,忽略该命令(不作任何操作)。原因是,与将DRAM用作缓存的情况不同,存储在FeRAM、MRAM等中的数据被损坏的可能性小。
并且,当以没有来自主机侧的命令、另外也没有后台的处理、除此之外没有来自输入输出部23的中断的状态经过了预定的时间时,CPU 21可以进行如下所述的省电控制。另外,可以在从主机侧输入了要使SSD装置1为待机状态的意思的命令时,CPU 21也同样执行省电控制。作为这种命令的例子,存在以PATA标准/SATA标准定义的待机(STANDBY或者STANDBY Immediate)、休眠(SLEEP)等。另外,也可以设为在SSD的控制器检测到PHY PARTIAL(局部)、SLUMBER(睡眠)的情况下也执行省电控制,该PHY PARTIAL(局部)、SLUMBER(睡眠)是定义了如下状态的命令:以将被定义为SATA标准的外围设备(SSD)与主机相连接的串行ATA总线本身为对象来进行节电。
进行该省电控制的CPU 21如图7所例示那样读出存储部22中存储的数据,并输出到缓存控制部24,存储到高速缓冲存储器部13(数据保存:S11)。当存储在存储部22中的数据的保存完成时,CPU 21使缓存控制部24停止输出信号,另外,使电源部15停止对高速缓冲存储器部13的电源供给(S12)。
CPU 21还使输入输出部23保持原样,或者将输入输出部23设定为省电状态(S13),切断在控制器部11内预定的范围的电源(S14)。作为一例,将存储部22、CPU 21自身的电源也切断。另外,还能够停止对连接于缓存控制部24的高速缓冲存储器部13的电源供给。这是由于在高速缓冲存储器部13中也不需要用于进行DRAM等所需的存储保持的动作(刷新动作等)。
此后,在对输入输出部23输入要恢复为通常状态的意思的命令(IDLE或者IDLE Immediate)之前待机。当输入输出部23从主机侧接收到要恢复为通常状态的意思的命令(IDLE或者IDLE Immediate或者PHY READY)时,输入输出部23(在为省电状态时从省电状态起恢复)开始对CPU 21、存储部22进行电源供给。
此时,CPU 21使电源部15开始对高速缓冲存储器部13进行电源供给,指示缓存控制部24从存储部22读出保存的数据。当缓存控制部24根据该指示读出的数据被输出到CPU 21时,CPU 21将该数据存储到存储部22来恢复存储部22内的数据。然后,CPU 21重新开始基于存储部22内的数据的处理。
进而,当切断SSD装置1的电源时,与以往的将DRAM用作缓存的情况不同,CPU 21不需要进行将保存信息从DRAM存储到快闪存储器部14这样的处理。这是由于即使在电源断开之后在高速缓冲存储器部13中也保持有数据。
在本实施方式的SSD装置1中,也可以还对写入高速缓冲存储器部13的数据附加纠错码,而缓存控制部24将该纠错码(q个字节)分割为非易失性存储器单元130的几n个以下的多个,将分割后的纠错码存储到互不相同的非易失性存储器单元130中。在一例中,缓存控制部24进行如下控制即可:将1个字节的纠错码平均分割为1/4个字节并写入到四个非易失性存储器单元130。例如在非易失性存储器单元130各自与两个字节的读写对应的情况下,当写入含有纠错码的字节串时,缓存控制部24将q个字节的纠错码平均分割为q/r(2≤r≤N)个字节,在原本包含纠错码的字节串中包含按q/r个字节进行分割而得到的纠错码(如果不存在原本包含纠错码的字节串,则新生成字节串),并存储到各非易失性存储器单元130。
在该情况下,缓存控制部24从各非易失性存储器单元130读出数据,直到成为纠错的单位为止,当成为纠错的单位时,将从各非易失性存储器单元130读出的数据中分割地包含的纠错码按原来的顺序进行连接来再现纠错码,利用所再现的该纠错码对所读出的数据进行纠错。
在本实施方式的某个例子中,在作为高速缓冲存储器部13的MRAM的数据读出和写入的大致的时钟数(基准时钟)为25MHz左右的情况下,使用n=4的非易失性存储器单元130a、130b、130c、130d(设为能够分别以2个字节宽读写数据),分割为两个信道来进行动作。由此,不需要在各信道之间进行地址信号线的重新设置等,能够缩短存储器管理的处理所花费的开销时间(根据实测值,能够实现1.4至2倍(平均值为1.5倍)左右的速度)。
因而,根据实测值,能够实现平均25×4×1.5=150MB/s程度的读出和写入速度。该值是比PATA的传输速度133MB/s大、并且与SATA的传输速度150MB/s相匹敌的速度,因此从主机侧接口的数据传输速度来看,能够充分发挥作为缓存的功能。
附图标记说明
1:SSD装置;11:控制器部;12:接口部;13:高速缓冲存储器部;14:快闪存储器部;15:电源部;21:CPU;22:存储部;23:输入输出部;24:缓存控制部;25:快闪存储器接口;31:信道控制部;32:数据传输部;35:地址设定部;36:数据设定部;37:仲裁部;130:非易失性存储器单元。
Claims (6)
1.一种固态硬盘装置,使用了快闪存储器,该固态硬盘装置包括:
n个非易失性存储器单元,其分别包括与快闪存储器不同种类的非易失性存储器,其中,n≥2;以及
控制器,其接收要写入上述快闪存储器的数据,并将所接收到的该数据保存到上述非易失性存储器单元。
2.根据权利要求1所述的固态硬盘装置,其特征在于,
上述控制器将要写入上述快闪存储器的数据分割为m个来生成分割数据,对上述n个非易失性存储器单元分别写入通过该分割而得到的m个分割数据,其中,2≤m≤n。
3.根据权利要求1所述的固态硬盘装置,其特征在于,
上述控制器将要写入上述快闪存储器的数据分割为m个来生成分割数据,一边将上述n个非易失性存储器单元依次分别切换为写入对象,一边分别写入通过该分割而得到的m个分割数据,其中,2≤m≤n。
4.根据权利要求3所述的固态硬盘装置,其特征在于,
上述控制器将对要写入上述快闪存储器的数据附加的纠错码分割为m个来生成分割数据,对上述n个非易失性存储器单元分别写入通过该分割而得到的m个分割数据,其中,2≤m≤n。
5.根据权利要求1所述的固态硬盘装置,其特征在于,
上述控制器包括由易失性存储器构成的存储部,
上述控制器在判断为要使上述固态硬盘装置为待机状态时,读出上述存储部内存储的数据并写入到上述非易失性存储器单元,之后切断对该非易失性存储器单元和上述存储部的电源供给。
6.根据权利要求5所述的固态硬盘装置,其特征在于,
上述控制器在判断为要使上述固态硬盘装置恢复为通常状态时,开始对上述非易失性存储器单元和上述存储部进行电源供给,之后读出被写入到该非易失性存储器单元的数据并保存到上述存储部。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-106260 | 2012-05-07 | ||
JP2012106260A JP5914148B2 (ja) | 2012-05-07 | 2012-05-07 | Ssd(ソリッドステートドライブ)装置 |
PCT/JP2013/059058 WO2013168479A1 (ja) | 2012-05-07 | 2013-03-27 | Ssd(ソリッドステートドライブ)装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104303161A true CN104303161A (zh) | 2015-01-21 |
Family
ID=49550536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380024027.8A Pending CN104303161A (zh) | 2012-05-07 | 2013-03-27 | Ssd(固态硬盘)装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150081953A1 (zh) |
JP (1) | JP5914148B2 (zh) |
CN (1) | CN104303161A (zh) |
WO (1) | WO2013168479A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616688A (zh) * | 2015-03-05 | 2015-05-13 | 上海磁宇信息科技有限公司 | 一种集成mram的固态硬盘控制芯片及固态硬盘 |
CN105205015A (zh) * | 2015-09-29 | 2015-12-30 | 联想(北京)有限公司 | 一种数据存储方法及存储设备 |
CN107807797A (zh) * | 2017-11-17 | 2018-03-16 | 北京联想超融合科技有限公司 | 数据写入的方法、装置及服务器 |
CN108962322A (zh) * | 2017-05-18 | 2018-12-07 | 恩智浦有限公司 | 使用非易失性存储器来实施非易失性计数器的方法和系统 |
CN109947678A (zh) * | 2019-03-26 | 2019-06-28 | 联想(北京)有限公司 | 一种存储装置、电子设备及数据交互方法 |
CN110727470A (zh) * | 2018-06-29 | 2020-01-24 | 上海磁宇信息科技有限公司 | 一种混合式非失性存储装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5990430B2 (ja) | 2012-08-29 | 2016-09-14 | 株式会社バッファローメモリ | Ssd(ソリッドステートドライブ)装置 |
US9563557B2 (en) | 2014-12-23 | 2017-02-07 | Intel Corporation | Instruction and logic for flush-on-fail operation |
US20170109101A1 (en) * | 2015-10-16 | 2017-04-20 | Samsung Electronics Co., Ltd. | System and method for initiating storage device tasks based upon information from the memory channel interconnect |
US9747158B1 (en) * | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028034A1 (en) * | 2005-07-29 | 2007-02-01 | Sony Corporation | Computer system |
CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
US20110082967A1 (en) * | 2009-10-05 | 2011-04-07 | Deshkar Shekhar S | Data Caching In Non-Volatile Memory |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266596A (ja) * | 1993-03-11 | 1994-09-22 | Hitachi Ltd | フラッシュメモリファイル記憶装置および情報処理装置 |
JPH07160575A (ja) * | 1993-12-10 | 1995-06-23 | Toshiba Corp | メモリシステム |
JP2003281084A (ja) * | 2002-03-19 | 2003-10-03 | Fujitsu Ltd | 外部バスへのアクセスを効率的に行うマイクロプロセッサ |
JP4805696B2 (ja) * | 2006-03-09 | 2011-11-02 | 株式会社東芝 | 半導体集積回路装置およびそのデータ記録方式 |
JP2010108385A (ja) * | 2008-10-31 | 2010-05-13 | Hitachi Ulsi Systems Co Ltd | 記憶装置 |
JP5221332B2 (ja) * | 2008-12-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
US20100191896A1 (en) * | 2009-01-23 | 2010-07-29 | Magic Technologies, Inc. | Solid state drive controller with fast NVRAM buffer and non-volatile tables |
JP2010211734A (ja) * | 2009-03-12 | 2010-09-24 | Toshiba Storage Device Corp | 不揮発性メモリを用いた記憶装置 |
JP2011022657A (ja) * | 2009-07-13 | 2011-02-03 | Fujitsu Ltd | メモリシステムおよび情報処理装置 |
US9235530B2 (en) * | 2010-05-31 | 2016-01-12 | Sandisk Technologies Inc. | Method and system for binary cache cleanup |
JP2012022422A (ja) * | 2010-07-13 | 2012-02-02 | Panasonic Corp | 半導体記録再生装置 |
JP5553309B2 (ja) * | 2010-08-11 | 2014-07-16 | 国立大学法人 東京大学 | データ処理装置 |
JP2012063871A (ja) * | 2010-09-14 | 2012-03-29 | Univ Of Tokyo | 制御装置およびデータ記憶装置 |
-
2012
- 2012-05-07 JP JP2012106260A patent/JP5914148B2/ja active Active
-
2013
- 2013-03-27 CN CN201380024027.8A patent/CN104303161A/zh active Pending
- 2013-03-27 WO PCT/JP2013/059058 patent/WO2013168479A1/ja active Application Filing
- 2013-03-27 US US14/399,004 patent/US20150081953A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028034A1 (en) * | 2005-07-29 | 2007-02-01 | Sony Corporation | Computer system |
CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
US20110082967A1 (en) * | 2009-10-05 | 2011-04-07 | Deshkar Shekhar S | Data Caching In Non-Volatile Memory |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616688A (zh) * | 2015-03-05 | 2015-05-13 | 上海磁宇信息科技有限公司 | 一种集成mram的固态硬盘控制芯片及固态硬盘 |
CN105205015A (zh) * | 2015-09-29 | 2015-12-30 | 联想(北京)有限公司 | 一种数据存储方法及存储设备 |
CN108962322A (zh) * | 2017-05-18 | 2018-12-07 | 恩智浦有限公司 | 使用非易失性存储器来实施非易失性计数器的方法和系统 |
CN108962322B (zh) * | 2017-05-18 | 2023-06-02 | 恩智浦有限公司 | 使用非易失性存储器来实施非易失性计数器的方法和系统 |
CN107807797A (zh) * | 2017-11-17 | 2018-03-16 | 北京联想超融合科技有限公司 | 数据写入的方法、装置及服务器 |
CN107807797B (zh) * | 2017-11-17 | 2021-03-23 | 北京联想超融合科技有限公司 | 数据写入的方法、装置及服务器 |
CN110727470A (zh) * | 2018-06-29 | 2020-01-24 | 上海磁宇信息科技有限公司 | 一种混合式非失性存储装置 |
CN110727470B (zh) * | 2018-06-29 | 2023-06-02 | 上海磁宇信息科技有限公司 | 一种混合式非失性存储装置 |
CN109947678A (zh) * | 2019-03-26 | 2019-06-28 | 联想(北京)有限公司 | 一种存储装置、电子设备及数据交互方法 |
CN109947678B (zh) * | 2019-03-26 | 2021-07-16 | 联想(北京)有限公司 | 一种存储装置、电子设备及数据交互方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150081953A1 (en) | 2015-03-19 |
JP2013235347A (ja) | 2013-11-21 |
WO2013168479A1 (ja) | 2013-11-14 |
JP5914148B2 (ja) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104303161A (zh) | Ssd(固态硬盘)装置 | |
US9043541B2 (en) | Storage control device, storage device, and control method for controlling storage control device | |
US11416161B2 (en) | Zone formation for zoned namespaces | |
TWI385516B (zh) | 快閃記憶體儲存系統及其資料寫入方法 | |
KR101014040B1 (ko) | 디램 버퍼 관리 장치 및 방법 | |
US9110669B2 (en) | Power management of a storage device including multiple processing cores | |
US8074148B2 (en) | Memory management method and controller for non-volatile memory storage device | |
TWI454906B (zh) | 資料讀取方法、快閃記憶體控制器與儲存系統 | |
US20190243679A1 (en) | Information processing device system capable of preventing loss of user data | |
US8819350B2 (en) | Memory system | |
KR20210096133A (ko) | 구역화된 네임스페이스들에서의 기록 커맨드들의 유지 | |
JP2014048679A (ja) | Ssd(ソリッドステートドライブ)装置 | |
US9785438B1 (en) | Media cache cleaning based on workload | |
TWI454922B (zh) | 記憶體儲存裝置及其記憶體控制器與資料寫入方法 | |
JP4267682B1 (ja) | Nandフラッシュメモリのリフレッシュ方法 | |
JP6975202B2 (ja) | 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体 | |
US8370564B2 (en) | Access control device, information processing device, access control program and access control method | |
KR20110054788A (ko) | 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법 | |
US9047959B1 (en) | Data storage device, memory control method, and electronic device with data storage device | |
JP2016154031A (ja) | Ssd(ソリッドステートドライブ)装置 | |
WO2019153682A1 (zh) | 一种闪存资讯纠错方法 | |
US11750893B2 (en) | Pre-fetch of data using seek intervals | |
US20220206711A1 (en) | Devices and methods for optimized fetching of multilingual content in media streaming | |
US20240079045A1 (en) | Optimization of non-aligned host writes | |
CN113094294B (zh) | Ssd异常掉电处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150121 |