存储系统及存储系统的控制方法与流程

文档序号:33505804发布日期:2023-03-18 00:26阅读:60来源:国知局
存储系统及存储系统的控制方法与流程
存储系统及存储系统的控制方法
1.相关申请的交叉引用
2.本技术基于并要求2021年9月14日提交的日本专利申请no.2021-149340的优先权,故以引用方式将其全部内容并入本文。
技术领域
3.概括地说,本文所描述的实施方式涉及存储系统及存储系统的控制方法。


背景技术:

4.已知固态驱动器(ssd)是包括非易失性存储器的存储系统的示例。在ssd中,从称为主机的外部设备传输的数据暂且写入作为缓冲存储器的易失性存储器。存储在该缓冲存储器中的数据被写入非易失性存储器。当ssd接收到主机发出的指示关机的命令(以下简称关机命令)时,将缓冲存储器中存储的数据全部写入非易失性存储器,然后关闭电源。例如,dram等用作易失性存储器,例如,nand闪存等用作非易失性存储器。
5.一些ssd包含断电保护(plp)功能,在并非是基于关机命令的电源切断,而是在例如停电等意外的电源切断(即,不正确的电源切断)的情况下,该plp功能可防止缓冲存储器中的数据丢失。plp功能需要备用电源。作为备用电源的示例使用电容器(简称plp电容器)。通过在电容器中存储电荷,可以将plp电容器充电至规定电压。如果电源由于某种原因意外被切断,则存储在plp电容器中的电荷会释放出来,并且充电电压会进行放电。ssd可以使用来自plp电容器的放电电压运行规定的时间。例如,如果在来自主机的数据正在向缓冲存储器存储的中途时电源意外被切断,则可以通过plp电容器的放电电压将正在向缓冲存储器中存储中途的数据写入非易失性存储器中。这种功能称为plp功能。
6.在plp电容器中,能够储存电荷的电容器的电容(静电电容)有时由于老化劣化等等而减小。例如,如果电容器的静电容量因老化等等而降低,则无法将电容器充电到将写入缓冲存储器的数据写入到非易失性存储器所需的电压电平,并且可能无法实现plp电容器的功能。


技术实现要素:

7.一个实施方式提供了一种存储系统和存储系统的控制方法,例如,即使在plp电容器的性能劣化时,也可以实现包括plp功能的存储系统。
8.通常,根据一个实施方式,一种存储系统包括:非易失性存储器;易失性存储器;控制器,对数据向所述非易失性存储器的写入和数据向所述易失性存储器的写入进行控制;电源电路,连接到所述非易失性存储器、所述易失性存储器和所述控制器,并且利用由外部提供的第一电压而产生多个电压,并将所述多个电压提供给所述非易失性存储器、所述易失性存储器和所述控制器;以及备用电源电路。在所述第一电压并非因关机命令而降低时,所述电源电路利用来自所述备用电源电路的输出电压而产生所述多个电压。所述控制器按照从所述备用电源电路馈送的供电能力,来改变可存储在所述易失性存储器中的数据的大
小。
附图说明
9.图1是示出第一实施方式的信息处理系统的例子的框图。
10.图2是示出根据第一实施方式的ssd的外观示例的平面图。
11.图3a和图3b是示出根据第一实施方式的ssd的构成部件的布置示例的平面图。
12.图4是示出根据第一实施方式的电源系统的配置示例的框图。
13.图5是示出plp电容器的健康值等于或大于故障阈值的情况下的比较例的plp功能的视图。
14.图6是示出健康值小于故障阈值的情况下的比较例的plp功能的视图。
15.图7是示出健康值大于或等于第一阈值的情况下的第一实施方式的plp功能的视图。
16.图8是示出健康值小于第一阈值并且大于或等于第二阈值的情况下的第一实施方式的plp功能的图。
17.图9是示出健康值小于第一阈值并且大于等于第二阈值的情况下的第一实施方式的plp功能的图。
18.图10是示出健康值小于第二阈值并且大于或等于故障阈值的情况下的根据第一实施方式的plp功能的视图。
19.图11是示出健康值小于第二阈值并且大于或等于故障阈值的情况下的根据第一实施方式的plp功能的视图。
20.图12是示出健康值小于故障阈值的情况下的根据第一实施方式的plp功能的图。
21.图13是示出根据第一实施方式,执行plp功能的控制器的处理示例的流程图。
22.图14是示出根据第一实施方式,执行plp功能的控制器的处理的另一示例的流程图。
23.图15是示出根据第二实施方式,执行plp功能的控制器的处理示例的流程图。
24.图16是示出根据第三实施方式,执行plp功能的控制器的处理示例的流程图。
25.图17是示出根据第四实施方式,执行plp功能的控制器14的处理示例的流程图。
具体实施方式
26.下文将参照附图来描述各种实施方式。
27.本公开内容仅仅是举例,其不受下面描述的实施方式中所描述的内容的限制。本领域普通技术人员容易想到的修改理所当然地落入本发明的保护范围。为了使描述更清楚起见,与精确表示中的大小、形状等相比,各部分的大小、形状等等可以在附图中进行改变并示意性地示出。多个附图中彼此对应的构成元件通过相同的附图标记来表示,并且除非必要,否则可以省略它们的详细描述。
28.图1是示出根据第一实施方式的信息处理系统1的例子的框图。信息处理系统1包括存储系统4和可连接到存储系统4的主机设备(下文简称为主机)2。存储系统4是被配置为将数据写入非易失性存储器16和从非易失性存储器16读取数据的存储设备。在本说明书中,存储系统4例如是ssd。非易失性存储器的示例是nand闪存、nor闪存、磁阻随机存取存储
器(mram)、相变随机存取存储器(pram)、电阻随机存取存储器(reram)、铁电随机存取存储器(feram)等。在本说明书中,非易失性存储器16例如是nand闪存(以下简称为nand存储器)。如上所述,信息处理系统1包括主机2和连接到主机2的ssd 4。
29.主机2是用作访问ssd 4的外部设备的信息处理装置。主机2可以是在ssd 4中存储大量数据和多种数据的服务器(存储服务器)。主机2可以是个人计算机。ssd 4可以是组装到诸如数据中心的服务器中的用于商业用途的ssd。ssd 4可以是组装到个人计算机中的个人使用的ssd。
30.ssd 4包括连接器12、控制器14、nand存储器16、动态随机存取存储器(dram)20、电源电路24和包括多个电容器的备用电源电路30。ssd4可以作为主机2的主存储设备使用。ssd 4可以内置在主机2中,也可以设置在主机2的外部,或者通过电缆或网络与主机2连接。
31.控制器14根据从主机2发送的命令(请求),将数据写入nand存储器16,并从nand存储器16读取数据。此外,控制器14根据从主机2发送的命令和从电源电路24发送的各种信息,生成控制信号以控制由电源电路24产生的电压值。控制器14将产生的控制信号发送给电源电路24。当接收到该控制信号时,控制器14控制提供给ssd 4的每个设备(例如,nand存储器16、控制器14和dram 20)的电压。此外,控制器14还控制plp功能的执行。控制器14可以由诸如片上系统(soc)之类的电路来构成。
32.电源电路24从外部提供的单个电压或多个电压,产生ssd 4的各设备所需要的电压。从外部提供的电压的电源可以是内部电源,也可以是外部电源。外部电源可以是主机2的电源。在图1中,电源是主机2的电源,但在图中没有显示电源线。电源电路24还可以从备用电源电路30提供的电压,产生ssd 4的各设备所需的电压。电源电路24可以是单个集成电路(ic)或多个ic。根据规定的通信标准,将表示电源电路24的各种状态的信息发送到控制器14。规定的通信标准可以是串行通信标准。串行通信标准的示例之一是i2c格式。在本说明书中,假设电源电路24和控制器14之间的通信标准基于i2c格式。
33.dram 20是易失性存储器的例子。例如,dram 20是双倍数据速率3低压(ddr3l)标准的dram。dram 20包括缓冲存储器22。缓冲存储器22包括写缓冲器22a、读缓冲器22b和管理信息缓冲器22c。从主机2提供给ssd 4的、正在向nand存储器16写入途中的或尚未写入nand存储器16的数据存储在写缓冲器22a中。从nand存储器16读取的、正在向主机2传输的或尚未传输到主机2的数据存储在读缓冲器22b中。查找表、在ssd 4的操作期间使用的各种表、以及各种值,存储在管理信息缓冲器22c中。各种值的示例之一是其数据已经通过plp功能写入nand存储器16的块的地址,即,非易失性块的地址。查找表表示主机2指定的逻辑地址和nand存储器16的物理地址之间的对应关系。
34.作为易失性存储器的dram 20不仅可以设置在控制器14的外部,也可以设置在控制器14的内部。作为易失性存储器,可以使用能够进行更快访问的静态随机存取存储器(sram)来代替dram 20。
35.nand存储器16可以包括多个(例如,十六个)nand芯片18。nand芯片18中的每一个可以包括存储单元阵列,该存储单元阵列包括以矩阵排列的多个存储单元。nand芯片18可以由具有二维结构的存储单元阵列来形成,或者由具有三维结构的存储单元阵列来形成。
36.存储单元阵列包括多个块(block)。这些块中的每一个块包括多个页(page)。这些块用作数据擦除操作的单位。所述多个页中的每一个页包括连接到同一字线的多个存储单
tm、fibre channel tm、nvm express(nvme)tm、通用串行总线(usb)tm和通用异步接收器/发送器(uart)tm之类的标准。
47.将控制器14和nand存储器16电互连的nand i/f电路36,符合诸如toggle ddr和开放式nand闪存接口(onfi)之类的标准。nand i/f电路36经由多个(例如,18个)通道连接到nand存储器16。
48.图2是示出根据第一实施方式的ssd 4的外观示例的平面图。将ssd 4设置在外壳44中。在外壳44的一端设置有凹口(notch)46。在凹口46中设置有连接器12。连接器12包括多个引脚12a,其包括信号引脚和电源引脚。外壳44包括上外壳44a和下外壳(没有示出)。上外壳44a和下外壳通过螺钉来实现一体化。
49.图3a和3b是示出根据第一实施方式的ssd 4的构成部件布置示例的平面图。图3a示出了ssd 4的衬底52的表面(即,与上外壳44a相对的表面)。衬底52的形状是具有四个边52a、52b、52c和52d的矩形。在短边的一侧52a上设置连接器12。将连接器12的引脚12a设置在衬底52的表面上。将控制器14、dram 20、电源电路24和备用电源电路30设置在衬底52的表面上。图3b示出了衬底52的背面(即,与下外壳相对的表面)。将nand芯片18设置在衬底52的背面。
50.由于控制器14处理经由连接器12输入或输出的高速信号,因此控制器14布置在连接器12附近。具体地说,控制器14布置在连接各个长边52c和52d的中点的线以及连接器12侧的短边52a之间。将dram 20设置在控制器14附近。
51.构成备用电源电路30的plp电容器28集中布置在连接衬底52的各长边52c、52d的中点的线和与连接器12相对的短边52b之间。控制器14是衬底52上的元件的最大热源。plp电容器28因热而劣化,但是,由于将plp电容器28布置成与控制器14尽可能地分离,因此由热引起的劣化减到最小。
52.与plp电容器28类似,nand芯片18具有低耐热性。将nand芯片18设置在与设置有控制器14和plp电容器28的面相反的面上。例如,nand芯片18集中布置在连接衬底52的各长边52c、52d的中点的线和与连接器12相反的短边52b之间。因此,由于将nand芯片18布置为尽可能远离控制器14,因此防止了nand芯片18受到热影响。
53.与控制器14相比,nand芯片18对plp电容器28的影响较小,但会产生一些热量。如附图中所示,plp电容器28优选地设置在与nand芯片18分离的位置。即使如此考虑ssd 4中的构成部件之间的热效应来执行布局设计,plp电容器28也可能由于其它外部因素等等而劣化,并且plp功能可能无法正常操作。因此,本实施方式包括如下面详细描述的电源系统。
54.图4是示出包括根据第一实施方式的电源电路24、包括plp电容器28的备用电源电路30、以及健康值测量电路74的电源系统的配置示例的框图。
55.电源电路24包括熔断器62、负载开关64、低压差(ldo)稳压器66、dc/dc转换器68、控制逻辑70、i2c i/f电路72和a/d转换器(a/d)76。电源(没有示出)产生电压,例如,dc12v的电压。通过熔断器62和负载开关64,串联地向ldo稳压器66和dc/dc转换器68提供与电压相对应的大小的电流。主机2可以包括电源,可以从主机2向电源电路24提供与电压相对应的电流。构成电源电路24的单个ic或多个ic可以称为电源管理集成电路(pmic)。
56.熔断器62由金属熔断器构成,当熔断器62流过一定电流以上的过电流时发生熔断。当熔断器62熔断时,除非更换熔断器,否则不向负载开关64提供电压。熔断器62并不限
于金属熔断器,也可以由在检测到过电流时变为非导通的电子熔断器形成。
57.负载开关64是通断开关,其通常处于接通状态。在接通状态下,负载开关64输出通过从供给电压中减去压差(dropout)电压而获得的电压。与熔断器62相同,负载开关64在流过一定电流以上的过电流时变成断开状态。在断开状态下,负载开关64输出0v。熔断器62熔断时的过电流值可以高于、低于或等于负载开关64从接通状态变为断开状态时的过电流值。通过熔断器62和负载开关64以双重方式防止向ldo稳压器66和dc/dc转换器68提供过电流。
58.ldo稳压器66是用于产生需要小电流的ssd 4的一个(或多个)器件的一个电压(或多个电压)的电路。dc/dc转换器68是用于产生需要大电流的ssd 4的一个(或多个)器件的一个电压(或多个电压)的电路。ldo稳压器66可以由独立的ic或单个ic形成。dc/dc转换器68也可以由独立的ic或单个ic形成。
59.ldo稳压器66降低负载开关64的电压输出。将ldo稳压器66的电压输出提供给控制器14。
60.dc/dc转换器68对负载开关64的输出电压进行升压或降压,以产生ssd 4中的各设备(控制器14、nand存储器16、dram 20等)所需的一个电压(或多个电压)。dc/dc转换器68由分别对多个电压进行升压或降压的多个dc/dc转换器单元构成。
61.升压dc/dc转换器单元对负载开关64的输出电压进行升压,并将升压后的电压作为充电电压提供给并联连接的多个plp电容器28。所述多个plp电容器28构成备用电源电路30。
62.降压dc/dc转换器单元通过对负载开关64的输出电压进行降压来分别产生多个电压。降压dc/dc转换器单元产生的电压提供给nand存储器16、dram 20和控制器14。
63.控制逻辑70监测负载开关64的输出电压。当检测到输出电压已经下降到规定电压(例如,0v时),控制逻辑70向控制器14发送检测结果。即使控制器14没有接收到关机命令,当通知控制器14负载开关64的输出电压已变为0v时,控制器14确定发生了不是由关机引起的意外的电源切断,并向控制逻辑70发送plp命令。
64.当接收到plp命令时,控制逻辑70使plp电容器28充电的电压(输出电压)输入到dc/dc转换器68中的降压dc/dc转换器单元。结果,在电源意外切断后的一段时间内,降压dc/dc转换器单元将plp电容器28的输出电压降压,并将降压电压提供给nand存储器16、dram 20和控制器14,还向ldo稳压器66提供降压电压。结果,在电源意外切断后的一段时间,dc/dc转换器68和ldo稳压器66可以将通过对plp电容器28的输出电压进行降压而产生的电压(或多个电压)提供给nand存储器16、dram 20和控制器14。通过使用plp电容器28的输出电压而实现了plp功能,即,缓冲存储器22中的数据被写入nand存储器16,也就是,非易失化。
65.i2c i/f电路72连接到控制逻辑70和控制器14的总线40,以便响应于从控制逻辑70发送的控制信号与控制器14进行通信。通过i2c i/f电路72,将来自控制器14的控制信号提供给控制逻辑70。
66.健康值测量电路74与多个plp电容器28并联连接。健康值测量电路74对并联连接的plp电容器28蓄积的合成静电电容(总电容)进行测量,并将测量结果作为plp电容器28的健康值进行输出。健康值表示从备用电源电路30馈送的供电能力。健康值对应于plp电容器
28可以输出电压以实现plp功能的时间。换言之,健康值对应于plp电容器28的输出电压可以写入nand存储器16的数据的大小。如果健康值高于或等于阈值,则确定可以实现plp功能。如果健康值低于阈值,则确定无法实现plp功能并且ssd 4发生故障。健康值测量电路74以固定周期测量并输出健康值。从健康值测量电路74输出的健康值经由a/d 76提供给控制逻辑70。
67.以下将描述plp功能。
68.首先,将描述比较例的plp功能。比较例的硬件配置与图1至图4所示的第一实施方式的硬件配置相同。与plp功能相关的控制器14的控制操作与第一实施方式的不同。
69.在比较例中,将单个故障阈值设置为用于确定plp电容器28的劣化的健康值或供电能力的阈值。根据可以存储在缓冲存储器22中并且可以通过plp功能写入nand存储器16的plp对象数据的大小,来设置故障阈值。该大小可以称为缓冲存储器16的数据可存储大小。当plp电容器28劣化时,在一些情况下,通常不能将plp电容器28充电到将缓冲存储器22中存储的所有plp对象数据写入到nand存储器16所需的规定电压。为了预测plp电容器28不能用作plp电容器,控制器14将健康值测量电路74测量的plp电容器28的健康值与故障阈值进行比较。
70.图5是示出plp电容器28的健康值等于或大于故障阈值的情况下的比较例的plp功能的视图。在这种情况下,plp电容器28的输出电压可以写入nand存储器16的数据的大小,大于缓冲存储器22中存储的plp对象数据102的大小。可以通过plp功能,将所有plp对象数据102写入nand存储器16。
71.图6是示出健康值小于故障阈值的情况下的比较例的plp功能的视图。在这种情况下,可以通过plp电容器28的输出电压写入nand存储器16的数据的大小,小于缓冲存储器22中存储的plp对象数据106的大小。可以通过plp功能,将plp对象数据106中的部分106a(与健康值对应的部分106a)写入nand存储器16,但plp对象数据106的剩余部分106b不能通过plp功能写入nand存储器16(非易失化失败),故认为ssd 4发生故障。
72.因此,在比较例中,当健康值小于故障阈值时,认为ssd 4发生故障。
73.接下来,将描述由第一实施方式的ssd 4提供的plp功能。在第一实施方式中,将故障阈值和大于故障阈值的至少一个值设置为健康值或供电能力的阈值,以用于确定plp电容器28的劣化。设置两个值,即大于故障阈值的第二阈值和大于第二阈值的第一阈值。然而,可以仅将第一阈值设置为故障阈值以外的值,或者可以将三个或更多阈值设置为不是故障阈值。在比较例中,健康值的阈值仅为一个故障阈值,可以存储在缓冲存储器22中的plp对象数据的大小是固定的。然而,在第一实施方式中,设置了多个阈值,并且plp对象数据的大小(或者称为缓冲存储器22的有效大小)是可变的。缓冲存储器22的有效大小是可以存储数据的缓冲存储器22的最大可存储大小的大小。存储在缓冲存储器16中的数据包括从主机2发送到ssd 4的数据、用于用户数据的日志数据、用于ecc的数据、与查找表相关的数据等等。缓冲存储器22并不限于物理存储器,也可以通过逻辑(虚拟)缓冲器来实现。
74.控制器14控制缓冲存储器22的写入,使得存储在缓冲存储器22中的数据的大小不会大于或等于有效大小。例如,当存储在缓冲存储器22中的数据的大小可能变得大于有效大小时,控制器14将存储在缓冲存储器22中的数据的一部分写入nand存储器16,然后通过删除该部分数据来减少存储在缓冲存储器22中的数据的大小。
75.最初,控制器14将缓冲存储器22的有效大小设置为与大于或等于第一阈值的健康值相对应的大小。控制器14将健康值测量电路74测量的plp电容器28的健康值与第一阈值进行比较。
76.图7是示出在健康值大于或等于第一阈值的情况下,根据第一实施方式的ssd 4的plp功能的视图。在这种情况下,plp电容器28的输出电压可以写入nand存储器16的数据的大小,大于缓冲存储器22中存储的plp对象数据112的大小。可以通过plp功能将所有plp对象数据112写入nand存储器16,并且plp功能正常运行。
77.图8是示出健康值小于第一阈值并且大于或等于第二阈值的情况下,根据第一实施方式的ssd 4的plp功能的视图。在这种情况下,可以通过plp电容器28的输出电压写入nand存储器16的数据的大小,小于存储在缓冲存储器22中的plp对象数据114的大小。不能通过plp功能,将所有plp对象数据114写入nand存储器16。控制器14将缓冲存储器22的有效大小,从与第一阈值相对应的大小改变为与第二阈值相对应的大小。也就是说,控制器14减小缓冲存储器22的有效大小。通过这种减小,也将plp对象数据114减少为作为其一部分的plp对象数据114a。结果,可以通过plp电容器28的输出电压写入nand存储器16的数据的大小,变得大于减小后的plp对象数据114a的大小。可以将所有plp对象数据114a都写入nand存储器16中。
78.在缓冲存储器22的有效大小被减小之前,控制器14将数据114b也就是plp对象数据114和减小后的plp对象数据114a之间的差写入nand存储器16中。要写入nand存储器16的差数据的示例是存储在写缓冲器22a中的数据,该数据正在写入nand存储器16或者未写入nand存储器16。替代地,该差数据的例子是写入缓冲存储器22的数据中的特定大小的数据,其包括写入缓冲存储器22的最新数据。
79.图9是示出在健康值小于第一阈值并且大于或等于第二阈值的情况下,根据第一实施方式的ssd 4的plp功能的视图。在这种情况下,plp电容器28的输出电压可以写入nand存储器16的数据的大小,大于缓冲存储器22中存储的plp对象数据118的大小。可以通过plp功能将所有plp对象数据118写入nand存储器16,并且plp功能正常运行。
80.图10是示出在健康值小于第二阈值并且大于或等于故障阈值的情况下,根据第一实施方式的ssd 4的plp功能的视图。在这种情况下,可以通过plp电容器28的输出电压写入nand存储器16的数据的大小,小于存储在缓冲存储器22中的plp对象数据122的大小。不能通过plp功能将所有plp对象数据122写入nand存储器16。控制器14将缓冲存储器22的有效大小从与第二阈值相对应的大小改变为与故障阈值相对应的大小。也就是说,控制器14减小缓冲存储器22的有效大小。通过该减小,还将plp对象数据122减少为作为其一部分的plp对象数据122a。结果,可以通过plp电容器28的输出电压写入nand存储器16的数据的大小变得大于减小后的plp对象数据122a的大小。可以将所有plp对象数据122a都写入nand存储器16中。
81.在缓冲存储器22的有效大小被减小之前,控制器14将数据122b也就是plp对象数据122和减小后的plp对象数据122a之间的差写入nand存储器16。要写入nand存储器16的差数据的示例是存储在写缓冲器22a中的数据,该数据正在写入nand存储器16或者未写入nand存储器16。替代地,该差数据的例子是写入缓冲存储器22的数据中的特定大小的数据,其包括写入缓冲存储器22的最新数据。
82.图11是示出在健康值小于第二阈值并且大于或等于故障阈值的情况下,根据第一实施方式的ssd 4的plp功能的视图。在这种情况下,可以通过plp电容器28的输出电压写入nand存储器16的数据的大小,大于缓冲存储器22中存储的plp对象数据126的大小。可以通过plp功能将所有plp对象数据126写入nand存储器16,并且plp功能正常运行。
83.图12是示出在健康值小于故障阈值的情况下,根据第一实施方式的ssd 4的plp功能的视图。在这种情况下,可以通过plp电容器28的输出电压写入nand存储器16的数据的大小,小于存储在缓冲存储器22中的plp对象数据128的大小。可以通过plp功能,将plp对象数据128的一部分128a(与健康值相对应的部分128a)写入nand存储器16,但不能通过plp功能将剩余部分128b写入nand存储器16(非易失化失败),plp功能无法正常运行,故认为ssd 4发生故障。
84.图13是示出根据图7至图12中所示的第一实施方式,控制器14执行ssd 4的plp功能的处理示例的流程图。
85.在步骤s102中,控制器14判断该控制器14是否接收到来自主机20的启动命令。控制器14重复步骤s102的判断,直到控制器14接收到启动命令为止。dds 4可以设置第一阈值、第二阈值和故障阈值。替代地,主机2可以设置这些阈值。当主机2在ssd 4中设置这些阈值时,主机2可以将启动命令与表示阈值的信息一起发送到ssd 4。
86.当接收到启动命令时(s102中的是),控制器14在步骤s104中执行plp电容器28的诊断。具体地说,控制器14接收健康值测量电路74所测量的健康值。
87.在步骤s106中,控制器14判断健康值是否大于或等于第一阈值。当健康值大于或等于第一阈值时(s106中的是),控制器14在步骤s108中判断plp激活时刻是否已经到来。当控制逻辑70通知控制器14负载开关64的输出电压已经变为0v时,即使控制器14没有接收到关机命令,控制器14也确定plp激活时刻已经到来。
88.控制器14重复步骤s108的确定,直到plp激活时刻到来为止。当plp激活时刻到来时(s108中的是),控制器14在步骤s112中执行plp功能。在这种情况下,所有的plp对象数据112被非易失化,如图7中所示。
89.当在步骤s106中确定健康值小于第一阈值时(s106中的否),控制器14在步骤s114中判断健康值是否大于或等于第二阈值。当健康值大于或等于第二阈值时(s114中的是),控制器14在步骤s116中将缓冲存储器22的有效大小减小到与第二阈值相对应的大小,如图8中所示,这是由于健康值小于第一阈值并且大于或等于第二阈值。
90.在步骤s118中,控制器14判断plp激活时刻是否到来。控制器14重复步骤s118的确定,直到plp激活时刻到来为止。当plp激活时刻到来时(s118中的是),控制器14在步骤s122中执行plp功能。在这种情况下,所有plp对象数据118都被非易失化,如图9中所示。
91.当在步骤s114中确定健康值小于第二阈值时(s114中的否),控制器14在步骤s124中判断健康值是否大于或等于故障阈值。当健康值大于或等于故障阈值时(s124中的是),健康值小于第二阈值并且大于或等于故障阈值,因此控制器14在步骤s126中,将缓冲存储器22的有效大小缩小为与故障阈值相对应的大小,如图10中所示。
92.在步骤s128中,控制器14判断plp激活时刻是否到来。控制器14重复步骤s128的确定,直到plp激活时刻到来为止。当plp激活时刻到来时(s128中的是),控制器14在步骤s132中执行plp功能。在这种情况下,所有的plp对象数据126都被非易失化,如图11中所示。
93.当在步骤s124中确定健康值小于故障阈值时(s124中的否),控制器14在步骤s134中执行故障处理。作为故障处理的示例,控制器14可以通知主机2由于plp电容器28的性能劣化(即,ssd 4发生故障),plp功能不能正常工作。
94.图14是示出根据图7至图12中所示的第一实施方式,控制器14执行ssd 4的plp功能的另一个处理示例的流程图。
95.在步骤s152中,控制器14判断该控制器14是否接收到来自主机20的关机命令。控制器14重复步骤s152的判断,直到控制器14接收到关机命令为止。主机2可以向ssd 4发送关机命令,其中包含表示第一阈值、第二阈值和故障阈值的信息。
96.当接收到关机命令时(s152中的是),控制器14在步骤s154中执行plp电容器28的诊断。此后,控制器14在步骤s106中判断健康值是否大于或等于第一阈值,类似于图13中所示的处理。在此之后,缓冲存储器22的有效大小根据情况而发生变更。变更后的有效大小永久地存储在nand存储器16中。
97.图13示出了启动(boot)时执行plp电容器28的诊断的例子,图14示出了在关机时执行plp电容器28的诊断的例子。可以在这些时间以外的时间执行plp电容器28的诊断和缓冲存储器22的有效大小的变更。例如,可以在主机2的命令处理不频繁时,或定期地执行该诊断。
98.根据第一实施方式,即使当plp电容器28的性能劣化并且plp电容器28的合成静电电容减小时,控制器14也不会立即确定plp功能将不正常工作,而是设置为减小缓冲存储器22的有效大小(即,plp对象数据大小),以继续plp功能的操作。通过减小缓冲存储器22的有效大小,等待缓冲存储器22具有与要写入的数据的大小相对应的足够可用空间的频度变高,将缓冲存储器22中的数据写入nand存储器16的ssd 4的内部处理的执行频度也变高。因此ssd 4对来自主机2的命令的处理能力有所降低,但是plp功能停止和ssd 4最终失败的时间可以延迟。也就是说,ssd 4的运行周期可以延长。
99.图15是示出根据第二实施方式,控制器14执行plp功能的处理示例的流程图。第二实施方式的硬件配置与图1至图4中所示的第一实施方式的硬件配置相同。与plp功能相关的控制器14的控制操作与第一实施方式的不同。
100.在步骤s202中,控制器14判断该控制器14是否接收到来自主机20的启动命令。控制器14重复步骤s102的判断,直到控制器14接收到启动命令为止。主机2可以向ssd 4发送启动命令,其中包含表示第一阈值、第二阈值和故障阈值的信息。
101.当接收到启动命令时(s202中的是),控制器14在步骤s204中执行plp电容器28的诊断。
102.在步骤s206中,控制器14判断该控制器14是否已经从主机20接收到plp模式指定命令。在第二实施方式中,其中健康值的阈值仅为在比较例中设置的故障阈值的单阈值模式、以及其中健康值的阈值包括除在第一实施方式中设置的故障阈值之外的至少一个阈值的多阈值模式,被设置为plp模式。在向ssd 4发送启动命令之后,主机2发送plp模式指定命令以指定单阈值模式或多阈值模式。控制器14重复步骤s206的判断,直到控制器14接收到plp模式指定命令为止。
103.当接收到plp模式指定命令时(s206中的是),控制器14在步骤s208中判断plp模式指定命令是指定单阈值模式还是多阈值模式。当指定多阈值模式时,控制器14在步骤s106
中判断健康值是否大于或等于第一阈值,类似于第一实施方式。之后,在某些情况下变更缓冲存储器22的有效大小。
104.当指定单一阈值模式时,控制器14在步骤s212中,判断健康值是否大于或等于故障阈值。当健康值大于或等于故障阈值时(s212中的是),控制器14判断plp激活时刻是否已经到来。控制器14重复步骤s214的判断,直到plp激活时刻到来为止。当plp激活时刻到来时(s214中的是),控制器14在步骤s216中执行plp功能。在这种情况下,所有的plp对象数据102都被非易失化,如图5中所示。将单阈值模式的故障阈值设置为与多阈值模式的故障阈值不同的值。例如,可以将单阈值模式的故障阈值设置为多阈值模式的第一阈值。
105.当在步骤s212中确定健康值小于故障阈值时(s212中的否),控制器14在步骤s218中执行故障处理。
106.主机2可以在关机命令之后发送plp模式指定命令,在主机2处理较少命令时发送该命令,或者以固定间隔发送该命令。
107.根据第二实施方式,作为plp模式,ssd 4具备具有用于确定plp功能故障的plp电容器28的健康值的单一阈值的单一阈值模式和具有多个阈值的多阈值模式,主机2可以选择plp模式。
108.图16是示出根据第三实施方式,控制器14执行plp功能的处理示例的流程图。第三实施方式的硬件配置与图1至图4所示的第一实施方式的硬件配置相同。与plp功能相关的控制器14的控制操作与第一实施方式的不同。在图16的流程图中,通过相同的附图标记来表示与图13的处理相同的处理。
109.控制器14接收启动指令(步骤s102),执行plp电容器28的诊断(步骤104),并判断健康值是否大于或等于第一阈值(步骤s106)。
110.当健康值小于第一阈值时(s106中的否),控制器14判断健康值是否大于或等于第二阈值(步骤s114)。
111.当健康值大于或等于第二阈值时(s114中的是),控制器14在步骤s116中,将缓冲存储器22的有效大小减小到与第二阈值相对应的大小。在步骤s302中,控制器14向主机2发送表示plp电容器28的健康值和缓冲存储器22的减小后的有效大小中的至少一个的信息。在步骤s118中,控制器14判断plp激活时刻是否到来。
112.当健康值小于第二阈值时(s114中的否),控制器判断健康值是否大于或等于故障阈值(步骤s124)。当健康值大于或等于故障阈值时(s124中的是),控制器14在步骤s126中,将缓冲存储器22的有效大小减小到与故障阈值相对应的大小。在步骤s304中,控制器14向主机2发送表示plp电容器28的健康值和缓冲存储器22的减小后的有效大小中的至少一个的信息。在步骤s128中,控制器14判断plp激活时刻是否到来。
113.当健康值小于故障阈值时(s124中的否),控制器14在步骤s134中执行故障处理。
114.根据第三实施方式,主机2可以接收表示plp电容器28的健康值和缓冲存储器22的减小后的有效大小中的至少一个的信息。主机2可以根据plp电容器28的健康值的变化,来预测ssd 4由于plp功能的故障而发生故障之前的时间。替代地,主机2可以根据缓冲存储器22的有效大小的减小率(=(c-b)/c),来预测ssd 4由于plp功能的故障而发生故障之前的时间,其中c是缓冲存储器22的有效大小的初始值,b是缓冲存储器22的减小后的有效大小。
115.在第一实施方式中已经描述了在接收到关机命令之后执行plp电容器28的诊断的
修改示例(图14)。在第三实施方式中,也可以在接收到关机命令之后执行plp电容器28的诊断。在这种情况下,控制器14在接收到关机命令并在诊断plp电容器28之后,向主机2发送表示plp电容器28的健康值和缓冲存储器22的减小后有效大小中的至少一个的信息。
116.图17是根据第四实施方式,示出控制器14执行plp功能的处理示例的流程图。第四实施方式的硬件配置与图1至图4中所示的第一实施方式的硬件配置相同。与plp功能相关的控制器14的控制操作与第一实施方式的不同。
117.在步骤s312中,控制器14判断控制器14是否已经从主机20接收到通知请求命令。控制器14执行其它处理的同时在后台执行步骤s312的判断。当主机20从控制器14要求表示plp电容器28的健康值和缓冲存储器22的减小的有效大小中的至少一个的信息时,主机20向控制器14发送通知请求命令。控制器14重复步骤s132的判断,直到控制器14接收到通知请求命令为止。
118.当接收到通知请求命令时(s312中的是),控制器14在步骤s314中执行plp电容器28的诊断。
119.在步骤s316中,控制器14向主机2发送表示plp电容器28的健康值和缓冲存储器22的有效大小中的至少一个的信息。
120.根据第四实施方式,主机2可以在所需的时间,接收表示plp电容器28的健康值和缓冲存储器22的有效大小中的至少一个的信息。
121.尽管已经描述了某些实施方式,但仅以示例的方式呈现这些实施方式,它们并不旨在限制本发明的范围。实际上,本文所描述的新颖实施方式可以以多种其它形式来体现;此外,在不脱离本发明的精神的情况下,可以对本文描述的实施方式的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在覆盖落入本发明的保护范围和精神内的这些形式或修改。
122.附图标记:
123.2:主机
124.4:ssd
125.14:控制器
126.16:nand存储器
127.22:缓冲存储器
128.24:电源电路
129.30:备用电源电路
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1