本文作者:kaifamei

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

更新时间:2025-04-04 23:47:30 0条评论

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


存储系统以及控制方法
1.本技术享受以日本特许申请2020-210149号(申请日:2020年12月18日)为基础申请的优先权。本技术通过参照该基础申请而包含基础申请的全部内容。
技术领域
2.本发明的实施方式涉及对非易失性存储器进行控制的存储系统以及控制方法。


背景技术:



3.作为具备非易失性存储器的存储系统的一个例子,已知固态硬盘驱动器(solid state drive:ssd)。
4.某种ssd具备用于在从外部供给的电源停电等的非意图的切断时写入途中的数据不会消失的失电保护(power loss protection:plp)功能。plp功能需要后备电源。后备电源的一个例子包括电容器。当检测到电源电压的降低时,plp功能进行工作,利用在电容器中所充有的电能量(以下简称为能量),写入途中的数据和应该以非易失的方式存储的数据被写入到非易失性存储器。
5.在plp功能工作时以外时,电容器的能量也会因自然放电而减少,因此,需要定期地对电容器进行充电。当电容器的充电定时与ssd的消耗电流大的定时重叠时,ssd的消耗电流会暂时性地变大,峰值电流会超过ssd的容许电流值。为了防止该状况,需要减小ssd的消耗电流,但会牺牲ssd的性能。
6.这样,在以往的具备plp功能的存储系统中,难以兼顾峰值电流要求和性能要求。


技术实现要素:



7.本发明的一个实施方式的目的在于提供适当地对plp电容器的充电进行控制的存储系统以及控制方法。
8.根据一个实施方式,存储系统具备:非易失性存储器;控制器,其向非易失性存储器写入数据,从非易失性存储器读出数据;以及电源电路。电源电路具备电容器。电源电路利用外部电源来至少向非易失性存储器和控制器供给电源,在外部电源被切断之后,利用电容器的能量来至少向非易失性存储器和控制器供给电源。控制器在非易失性存储器的消耗电流比第1电流小的情况下,对电源电路进行控制以使得对电容器进行充电。
附图说明
9.图1是表示包括实施方式涉及的存储系统的信息处理系统的构成的一个例子的框图。
10.图2是表示电源电路的结构的一个例子的框图。
11.图3是表示电源电路内的升压用的dc/dc转换器和降压用的dc/dc转换器的结构的一个例子的电路图。
12.图4的(a)和图4是(b)是表示通过外部电源电压供给至ssd的消耗电流波形的一个
例子的图。
13.图5是表示节流(throttling)控制的电源电路内的升压用的dc/dc转换器和降压用的dc/dc转换器的概要的图。
14.图6是表示权重表所保存的权重的一个例子的图。
15.图7的(a)~(d)是表示因执行命令而nand芯片所消耗的电流波形与权重的关系的一个例子的图。
16.图8是表示进行节流控制的nand控制器的各个处理的一个例子的流程图。
17.图9是表示进行节流控制的nand需求管理器的处理的一个例子的流程图。
18.图10是表示进行plp电容器的充电控制的控制器的处理流程的一个例子的流程图。
19.标号说明
20.12主机、14ssd、16nand存储器、18控制器、22电源电路、24plp电容器、36nand需求管理器、38nand i/f电路、58dc/dc转换器、60控制逻辑
具体实施方式
21.以下,参照附图对实施方式进行说明。以下的说明是例示用于使实施方式的技术思想具体化的装置、方法的说明,实施方式的技术思想并不限定于以下说明的构成要素的构造、形状、配置、材质等。本领域技术人员能够容易地想到的变形当然包含在公开的范围内。为了使说明更加明确,有时也在附图中使各要素的尺寸、厚度、平面尺寸或者形状等相对于实际的实施形态进行变更来以示意的方式进行表示。有时也在多个附图中包括相互的尺寸的关系、比率不同的要素。有时也在多个附图中对所对应的要素赋予相同的参照数字而省略重复的说明。有时对几个要素赋予多个名称,但这些名称的例子到底是例示,并不否定对这些要素赋予其他名称。另外,关于未赋予多个名称的要素,也并不否定赋予其他名称。此外,在以下的说明中,“连接”不仅意味着直接连接,也意味着经由其他要素相连接。
22.以下,参照附图对本实施方式进行详细的说明。
23.(系统构成)
24.图1是表示包括实施方式涉及的存储系统的信息处理系统的构成的一个例子的框图。存储系统是构成为向非易失性存储器写入数据以及从非易失性存储器读出数据的储存设备。在本技术中,存储系统设为是ssd。非易失性存储器的例子是nand型闪速存储器、nor型闪速存储器、mram(magneto-resistive random access memory,磁阻随机访问存储器)、pram(phase change random access memory,相变随机访问存储器)、reram(resistive random access memory,阻变随机访问存储器)、feram(ferroelectric random access memory,铁电随机访问存储器)等。在本技术中,非易失性存储器设为是nand型闪速存储器(以下简称为nand存储器)。
25.信息处理系统10包括主机设备(以下简称为主机)12和ssd14。
26.主机12是作为对ssd14进行访问的外部设备的信息处理装置。主机12也可以是将大量且多样的数据保存于ssd14的服务器(储存服务器)。主机12也可以是个人计算机。ssd14也可以是组装于数据中心等服务器的面向商业用途的ssd。ssd14也可以是组装于个人计算机的面向个人用途的ssd。
27.ssd14具备nand存储器16、控制器18、dram(dynamic random access memory,动态随机访问存储器)20、电源电路22、plp电容器24等。ssd14可以作为主机12的主储存器(storage)来使用。ssd14既可以内置于主机12,也可以设置于主机12的外部,经由电缆或者网络与主机12相连接。
28.控制器18按照从主机12发送的要求,向nand存储器16写入数据,或者从nand存储器16读出数据。进一步,控制器18按照从主机12发送的要求、从电源电路22发送的各种信息,生成对电源电路22所生成的电压的值进行控制的控制信号。控制器18向电源电路22发送所生成的控制信号。由此,控制器18对向ssd14的各设备(例如nand存储器16、控制器18、dram20)施加的多个电压的生成进行控制。控制器18可以由如soc(system on a chip,片上系统)那样的电路来构成。
29.dram20是易失性存储器的一个例子。dram20例如是ddr3l(double data rate 3low voltage)标准的dram。也可以在dram20中设置有写缓存、读缓存、查表(lut)的高速缓存(cache)区域以及系统管理信息的保存区域。写缓存是用于暂时性地保持要被写入到nand存储器16的数据的缓存区域。读缓存是用于暂时性地保存从nand存储器16读出的数据的缓存区域。lut的高速缓存区域是对地址变换表(也称为逻辑地址/物理地址变换表)进行高速缓存的区域。lut是管理主机12指定的各个逻辑地址与nand存储器16的各个物理地址之间的对应的信息。系统管理信息的保存区域是保存在ssd14的动作中所使用的各种值、各种表等的区域。
30.作为易失性存储器的dram20不仅可以设置在控制器18的外部,也可以设置在控制器18的内部。此外,作为易失性存储器,也可以代替dram20而使用能够更高速访问的sram(static random access memory,静态随机访问存储器)。
31.nand存储器16也可以包括多个(例如144个)nand芯片16-i(i=1~144)。各nand芯片16-i也可以包括存储单元阵列,该存储单元阵列包括呈矩阵状配置的多个存储单元。nand芯片16-i既可以是二维构造的存储芯片,也可以是三维构造的存储芯片。
32.存储单元阵列包括多个块。各个块包括多个页。块作为最小的数据删除动作的单位发挥功能。页分别包括与同一字线连接的多个存储单元。页是数据写入动作和数据读出动作的最小单位。1页的数据是写入单位的数据或者读出单位的数据,被保存于dram20。在写入的情况下,从dram20读出的1页的写入单位的数据被写入于nand存储器16。因此,在写入途中外部电源非意图地切断了的情况下,当不存在后备电源时,dram20内的写入途中的数据会丢失。在实施方式中,准备后备电源,能够在外部电源的非意图的切断时,使用后备电源将dram20内的写入途中的数据写入到nand存储器16。此外,也可以代替页而将字线作为数据写入动作或者数据读出动作的单位。在该情况下,1条字线的数据为写入单位的数据或者读出单位的数据。
33.电源电路22根据从外部电源供给的单一或者多个外部电压,生成ssd14的各设备所需要的多个电源电压。外部电源也可以是主机12所具备的电源。此外,在图1中未图示电源线。电源电路22也可以由单一或者多个集成电路(integrated circuit:ic)构成。表示电源电路22的各种状态的信息被按照预定的通信标准发送至控制器18。电源电路22与控制器18之间的通信标准例如也可以按照串行通信标准。串行通信标准的一个例子是i2c方式。在本技术中,电源电路22与控制器18之间的通信标准设为按照i2c方式。
34.控制器18按照从主机12发送的要求以及从电源电路22发送的各种信息,生成对电源电路22所生成的电源电压的值进行控制的控制信号。控制器18向电源电路22发送所生成的控制信号。由此,向ssd14的各设备施加的多个电源电压的生成由控制器18进行控制。对于电源电路22的详细,将参照图2和图3在后面进行描述。
35.在电源电路22连接有后备电源用的plp电容器24。plp电容器24向电源电路22供给用于失电保护(power loss protection:plp)功能的能量,该失电保护对停电时等非意图的外部电源的切断时的写入途中的数据进行保护。作为plp电容器24的例子,例如包括双电层电容器、导电性高分子铝电解电容器、导电性高分子钽固体电解电容器。电源电路22在电源切断后,使用plp电容器24的能量,对nand存储器16、控制器18以及dram20供给一定时间的电源电压。
36.plp电容器24的容量被设定为比目标容量稍多,该目标容量是能够充入为了能够在该一定时间内完成向nand存储器16写入途中的数据向nand存储器16的写入(实现plp功能)所需要的能量的容量。这是由于:若使plp电容器的容量具有余裕,则即使为由于温度变化、经年劣化而电容器的容量稍微减少了,也能够继续实现plp功能。例如,要使得即使容量减少、只要其减少量为初始容量的30%以内、就也能够实现plp功能,plp电容器的初始容量设为目标容量的大约1.43倍即可。
37.控制器18具备cpu32、主机接口(主机i/f)电路34、nand需求管理器36、nand接口(nand i/f)电路(也被称为nand控制器)38、dram接口(dram i/f)电路40等。cpu32、主机i/f电路34、nand需求管理器36、nand i/f)电路38、dram i/f电路40与总线线路44连接。电源电路22也与总线线路44连接。
38.cpu32执行存储于nand存储器16的固件来实现各种功能。各种功能的例子包括plp电容器24的充电控制、通过电源电路22进行的电源电压生成动作的控制。
39.主机12与主机i/f电路34电连接,nand存储器16与nand i/f电路38电连接,dram20与dram i/f电路40电连接。
40.将主机12与ssd14电连接的主机i/f电路34遵循scsi(small computer system interface)、sas(serial attached scsi)、ata(at attachment)、sata(serial ata)、pcie(pci express)(
tm
)、ethernet(
tm
)、fibre channel、nvme(nvm express)(
tm
)、usb(universal serial bus)(
tm
)、uart(universal asynchronous receiver/transmitter)(
tm
)等的标准。
41.将控制器18与nand存储器16相互电连接的nand i/f电路38遵循toggle ddr、onfi(open nand flash interface)等的标准。nand i/f电路38也可以包括多个(例如9个)nand控制器38-j(j=1~9)。各nand控制器38-j经由多个(例如2个)通道与nand存储器16连接。nand存储器16包括144个nand芯片16-i,因此,一个nand控制器38-j的1个通道对8个nand芯片进行交织(interleave)控制。即,nand i/f电路38经由多个(例如18个)通道与nand存储器16连接。
42.nand需求管理器36是用于向nand i/f电路38发送从主机12发布的对nand存储器16的要求的硬件。例如,nand需求管理器36在接受到从主机12发送来的读要求、写要求、擦除要求等的情况下,向nand控制器38-j发送与读命令、写命令、擦除命令等有关的命令发布要求。或者,nand需求管理器36在接受到从控制器38的固件、设备等发布的垃圾收集要
求、刷新要求、调试要求等的对于nand存储器16的后台处理的要求的情况下,向nand控制器38-j发送与垃圾收集命令、刷新命令、调试命令等有关的命令发布要求。
43.nand控制器38-j在从nand需求管理器36接受到命令发布要求的情况下,取得为了向nand芯片16-i发布命令所需要的信息,发布命令。nand控制器38-j例如从cpu32、nand需求管理器36例如取得物理地址、写入数据来作为为了发布命令所需要的信息。nand控制器38-j向nand需求管理器36发送所发布的命令的执行结果来作为响应信息。nand需求管理器36接受从nand控制器38-j发布的响应信息,向要求源通知响应信息。
44.(电源电路22的结构)
45.图2是表示电源电路22的结构的一个例子的框图。电源电路22包括保险丝52、负载开关54、ldo(low dropout,低压差)稳压器56(regulator)、dc/dc转换器58、控制逻辑60以及i2c i/f电路64。外部电源(未图示)例如生成dc12v的外部电源电压。与外部电源电压相应的大小的电流以串联的方式经由保险丝52和负载开关54而被供给至ldo(low dropout)稳压器56和dc/dc转换器58。此外,也可以为主机12具备外部电源,从主机12向电源电路22供给与外部电源电压相应的电流。构成电源电路22的单一或者多个电路有时也被称为电源管理ic(power management ic:pmic)。
46.保险丝52包括当流动一定电流以上的过电流时会熔断的金属保险丝来构成。当保险丝52熔断时,只要不更换保险丝,外部电源电压就不被向负载开关54施加。此外,保险丝52不限于金属保险丝,也可以包括当检测到过电流时成为非导通的电子保险丝来构成。
47.负载开关54是导通(on)/断开(off)开关,通常是导通状态。在导通状态下,负载开关54输出从所被施加的电压减去压差(dropout)电压而得到的电压。与保险丝52同样地,负载开关54当流动一定电流以上的过电流时会成为断开状态。在断开状态下,负载开关54输出0v。保险丝52被熔断的过电流的值既可以比负载开关54从导通状态变化为断开状态的过电流的值高,也可以比负载开关54从导通状态变化为断开状态的过电流的值低,还也可以与负载开关54从导通状态变化为断开状态的过电流的值相同。通过保险丝52和负载开关54,能双重地防止向ldo稳压器56、dc/dc转换器58供给过电流。
48.ldo稳压器56是输出需要小电流的ssd14的设备的电源电压的电路。dc/dc转换器58是输出需要大电流的ssd14的设备的电源电压的电路。ldo稳压器56、dc/dc转换器58既可以作为分开的半导体部件来构成,也可以作为单一的半导体部件来构成。
49.ldo稳压器56对负载开关54的输出电压进行降压来生成电源电压。例如从ldo稳压器56输出的电源电压被供给至控制器18。
50.dc/dc转换器58对负载开关54的输出电压进行升压或者降压来生成ssd14的各设备需要的多个电源电压。dc/dc转换器58由对多个电压分别进行升压或者降压的多个dc/dc转换单元构成。
51.升压用的dc/dc转换单元对负载开关54的输出电压进行升压,将进行了升压后的电压作为充电电压施加至plp电容器24。
52.降压用的dc/dc转换单元对负载开关54的输出电压进行降压来生成多个电源电压。多个电源电压被施加于nand存储器16、dram20以及控制器18。
53.虽未图示,但对ssd14内部的温度进行测定的温度传感器的输出以及ssd14的各设备的过电流的检测结果被输入至控制逻辑60。与总线线路44连接的控制逻辑60经由i2c i/
f电路64按照i2c方式将所输入的数据发送给控制器18,并且,经由i2c i/f电路64按照i2c方式接收从控制器18发送来的控制信号。
54.在检测到电源电路22所生成的电源电压根据ssd14的温度而发生了变动的情况下,控制器18向电源电路22提供根据温度对电源电路22所生成的电压进行调整的控制信号。另外,控制器18在检测到过电流的情况下,向电源电路22提供使施加于流动所检测到的过电流的设备的电压的生成停止的控制信号。控制逻辑60根据从控制器18发送的控制信号,向负载开关54、ldo稳压器56、dc/dc转换器58提供控制信号。
55.i2c i/f电路64与控制逻辑60以及控制器18的总线线路44连接,根据从控制逻辑60发送的控制信号,按照i2c方式与控制器18进行通信。
56.作为电压转换器的ldo稳压器56、dc/dc转换器58可以是公知的结构,但作为一个例子,将dc/dc转换器58内的升压用的dc/dc转换单元58a和降压用的dc/dc转换单元58b的电路图表示于图3。
57.升压用的dc/dc转换单元58a对负载开关54的输出电压进行升压,对plp电容器24进行充电。降压用的dc/dc转换单元58b输入plp电容器24的放电电流,对plp电容器24的输出电压进行降压,向ldo稳压器56供给降压电压。
58.升压用的dc/dc转换单元58a包括串联连接的电感器72和二极管74以及并联连接的电容器76和电阻78。从输入电压产生的输入电流被输入到电感器72的一端。电感器72的另一端与二极管74的阳极端连接,并且,经由开关元件(sw元件)80而接地。二极管74的阴极端经由并联连接的电容器76和电阻78而接地。电阻78的端子电压被设为dc/dc转换单元58a的输出电压,被施加于plp电容器24,plp电容器24被进行充电。
59.开关元件80包括mosfet(metal-oxide-semiconductor field-effect transistor,金属氧化物半导体场效应晶体管)等来构成。在开关元件80的控制端连接有脉冲宽度调制电路(pwm电路)82。在plp电容器24被进行充电的期间,pwm电路82基于从控制逻辑60发送的控制信号,对开关元件80的导通或者断开进行控制。在开关元件80导通的期间,输入电压被施加于电感器72,在电感器72中流动的电流增加。在开关元件80断开的期间,二极管74成为正偏置,电感器72的电流减少,能量被充到电容器76,在电阻78的两端间产生比输入电压高的电压。
60.从pwm电路82输出的脉冲信号的周期是一定的,开关元件80周期性地导通或者断开。从dc/dc转换单元58a输出的电压、即plp电容器24的充电电压根据开关元件80的一个周期中的导通期间的比(也被称为导通脉冲的占空比)而变化。
61.在规定了能够施加于plp电容器24的上限的容许电压的情况下,控制逻辑60对pwm电路82通知使得dc/dc转换单元58a的输出电压成为容许电压以下的占空比。在不对plp电容器24进行充电的期间中,pwm电路82总是输出低电平的信号,因此,开关元件80总是断开。
62.降压用的dc/dc转换单元58b包括在漏极端连接有plp电容器24的mosfet86。mosfet86是开关元件的一个例子。在mosfet86的栅极端连接有pwm电路84。pwm电路84基于从控制逻辑60发送的控制信号,对mosfet86的导通或者截止进行控制。mosfet86的源极端与二极管88的阴极端连接,并且,经由电感器90和电容器92的串联电路而接地。二极管88的阳极端接地。电感器90与电容器92的连接点成为输出端。
63.当mosfet86导通时,从plp电容器24的放电电流经由电感器90流至输出端,电容器
92被进行充电。在效率为100%的理想的dc/dc转换器的情况下,vin
×
iin=vout
×
iout(vin为输入电压,vout为输出电压,iin为输入电流,iout为输出电流),因此,在进行降压的情况下,输出电流需要比输入电流大。因此,当mosfet86截止时,通过被充到了电容器92的能量,经由二极管88、电感器90从接地抽出电流,从输出端输出电流。
64.从pwm电路84输出的脉冲信号的周期是一定的,mosfet86周期性地导通或者截止。从dc/dc转换单元58b输出的电压根据mosfet86的占空比而变化。控制逻辑60对pwm电路84通知使得dc/dc转换单元58b的输出电压成为与负载开关54的输出电压相同的占空比。
65.dc/dc转换单元58b的输出电压代替负载开关54的输出电压而被施加于dc/dc转换器58。通过dc/dc转换器58的dc/dc转换单元58b以外的降压用的dc/dc转换单元进行降压,生成多个电源电压。由此,在外部电源被切断之后,在流动plp电容器24的放电电流的期间中,电源电路22能够向nand存储器16、控制器18以及dram20继续供给电源电压。
66.(ssd14的消耗电流)
67.图4表示通过从外部电源向电源电路22供给的外部电源电压而被供给至ssd14的消耗电流波形的一个例子。图4的(a)表示由写入动作产生的消耗电流的变化的一个例子。
68.如前述的那样,每个通道连接有8个nand芯片(第1nand芯片~第8nand芯片),因此,ssd14在装置整体上进行18通道
×
8交织=144交织动作。写入动作通过nand i/f电路38对nand存储器16发布数据输入命令和编程命令来进行。来自主机12的写入数据被保存于dram20。首先,nand i/f电路38向nand存储器16发送数据输入命令和dram20内的写入数据。根据数据输入命令,nand存储器16向nand存储器16内的数据缓存(寄存器)写入写入数据。接着,nand i/f电路38向nand存储器16发送编程命令。根据编程命令,nand存储器16将数据缓存内的写入数据写入到nand芯片16-i内的存储单元。
69.在一次写入动作中,首先进行对于各通道的第1nand芯片的数据输入动作,写入数据被写入到nand存储器16内的数据缓存。具体而言,首先进行对于第1通道的第1nand芯片的数据输入动作,进行对于第2通道的第1nand芯片的数据输入动作,以下同样地进行对于第18通道的第1nand芯片的数据输入动作。当通过数据输入动作而写入数据被写入到nand存储器16内的数据缓存后,编程动作的准备完成,进行对于各通道的第1nand芯片的编程动作。具体而言,首先进行对于第1通道的第1nand芯片的编程动作,进行对于第2通道的第1nand芯片的编程动作,以下同样地进行对于第18通道的第1nand芯片的编程动作。
70.这样,对于某通道的nand芯片的编程动作在时间上从对于该某通道的nand芯片的数据输入动作发生延迟而被执行。因此,对于某通道的nand芯片的编程动作有时与对于与该某通道不同的通道的nand芯片的数据输入动作同时地被执行。编程动作所需要的期间与数据输入动作所需要的时间相比是相当长的。另外,编程动作被连续地执行,但存在不执行数据输入动作的期间。因此,在写入动作中被供给至ssd14的消耗电流在同时执行数据输入动作和编程动作的t1期间和不执行数据输入动作而仅执行编程动作的t2期间是不同的。t2期间的消耗电流比t1期间的消耗电流小。
71.图4的(b)表示写入期间和擦除期间的消耗电流的差异的一个例子。图4的(a)和图4的(b)的时间轴是不同的尺度。图4的(a)的t1期间、t2期间的多个对包含于图4的(b)的一个写入期间。在nand存储器16中,在对于存储单元写入数据的动作之前,存储单元的数据被删除(擦除)。擦除期间的消耗电流比写入期间的消耗电流小。
72.这样,ssd14的消耗电流根据所执行的命令的种类而变化。另外,即使是相同的命令,ssd14的消耗电流也会根据时间的经过而变化。因此,若能够在ssd14的消耗电流小的期间中对plp电容器24进行充电,则能够不降低ssd14的功能地降低峰值电流。
73.(节流控制)
74.作为对ssd14的消耗电力进行调整的方法,具有节流控制。节流控制是指通过对全部nand控制器38-j同时发布的命令的数量进行限制或者对定时进行控制来对ssd14的消耗电流进行调整。
75.图5表示节流控制的概要。节流控制由nand需求管理器36和nand控制器38-j如以下那样进行。nand需求管理器36向nand控制器38-j发送命令发布要求。nand控制器38-j当接收到命令发布要求时,向nand需求管理器36发送发布申请和权重信息wij(t)。在节流控制中,因nand芯片16-i执行命令而消耗的电流量被作为命令的权重来进行管理。如图4所示,在命令执行期间中,消耗电流不是一定的,而是随着时间的经过而变化。因此,权重信息wij(t)被表示为时间的函数。nand需求管理器36当接收到发布申请和权重信息wij(t)时,基于权重信息wij(t)的总计σwij(t)来判断可否发布命令,向nand控制器38-j发送命令发布的允许/不允许信号。nand控制器38-j当接收到从nand需求管理器36发送来的允许信号时,发布命令。
76.nand控制器38-j包括执行中命令寄存器102、权重寄存器104、发布要求命令寄存器106、权重寄存器108以及权重表112。
77.权重表112存储nand i/f电路38(nand控制器38-j)有可能对nand存储器16发布的全部命令的权重w(t)。
78.图6表示权重表112的一个例子。例如,对擦除命令设定有权重w1(t),对数据输入命令设定有权重w2(t),对编程命令设定有权重w3(t),对读命令设定有权重w4(t)。
79.图7的(a)表示在1个nand芯片16-i中根据擦除命令执行的删除动作中的消耗电流。图7的(b)表示对擦除命令设定的权重w1(t)。删除动作中的nand芯片单体的消耗电流在擦除期间中小,在核查(verify)期间中大,因此,擦除命令的权重w1(t)如以下那样设定。
80.0<t≤t1(例如50)时,w1(t)=w13(例如300)
81.t1<t≤t2(例如200)时,w1(t)=w12(例如100)
82.t2<t≤t3(例如2000)时,w1(t)=w11(例如50)
83.t3<t≤t4(例如2200)时,w1(t)=w12
84.t4<t≤t5(例如4000)时,w1(t)=w11
85.t5<t≤t6(例如4200)时,w1(t)=w13
86.在此,t2<t≤t3的期间和t4<t≤t5的期间相当于擦除期间。
87.图7的(c)表示1个nand芯片16-i中的通过编程命令而执行的写入动作中的编程期间的消耗电流。图7的(d)表示编程命令的权重w3(t)。编程期间的消耗电流大致一定,因此,编程命令的权重在0<t≤t7(例如3000)时被设定为w3(t)=w31(例如100)。
88.权重w(t)的时间t是将命令的执行开始时设为t=0的时间。命令的执行期间不同,因此,对命令设定的权重w(t)的时间t的上限、即时间长度根据命令而不同。
89.返回图5的说明,nand需求管理器36在接受到从主机12发送来的对于nand芯片16-i的读要求、写要求、擦除要求等的情况下、或者在接受到从控制器38的固件、设备等发
布的对于nand芯片16-i的垃圾收集要求、刷新要求、调试要求等的对于nand存储器16的后台处理的要求的情况下,向连接有所对应的nand芯片16-i的nand控制器38-j发送命令发布要求。
90.nand控制器38-j当接收到从nand需求管理器36发送的命令发布要求时,生成所被要求的命令(以下称为发布要求命令),将所生成的命令写入到发布要求命令寄存器106。
91.nand控制器38-j在将发布要求命令写入到发布要求命令寄存器106时,从权重表112读出该发布要求命令的权重,将发布要求命令的权重wb(t)写入到权重寄存器108。发布要求命令的权重wb(t)表示执行发布要求命令的1个nand芯片16-i在从发布要求命令的发布时到发布要求命令的执行结束的预定时刻为止的期间所消耗的电流的预测值的变化。
92.nand控制器38-j当接收到从nand需求管理器36发送来的命令发布的允许信号时,对nand芯片16发布保存于发布要求命令寄存器106的发布要求命令,将所发布的命令从发布要求命令寄存器106删除,并且,写入到执行中命令寄存器102。执行中命令寄存器102保存与nand控制器38-j连接的16个nand芯片16执行中的至少1个命令(以下称为执行中命令)。
93.nand控制器38-j当将所发布的命令写入到执行中命令寄存器102时,将所发布的命令的权重wb(t)从权重寄存器108删除,并且,将权重wb(t)作为执行中命令的权重wa(t)写入到权重寄存器104。权重寄存器104存储保存于执行中命令寄存器102的至少1个执行中命令的权重wa1(t)、wa2(t)、
……
的权重合计σwa(t)(=wa1(t)+wa2(t)+
……
)。执行中命令的权重的权重合计σwa(t)表示从nand控制器38-j发布了的命令中的最新命令的发布时到执行结束的预定时刻为止的期间的消耗电流的预测值的变化。
94.发布要求命令的权重wb(t)的时间是将发布要求命令的发布时设为t=0的时间,执行中命令的权重合计σwa(t)的时间t是将最新命令的发布时设为t=0的时间。因此,nand控制器38-j将发布要求命令的权重wb(t)的时间t=0作为最新命令的发布时,将发布要求命令的权重wb(t)作为执行中命令的权重合计σwa(t),写入到权重寄存器104。
95.nand控制器38-j与发布申请一起向nand需求管理器36发送的权重信息wij(t)是保存于权重寄存器104的权重合计σwa(t)与保存于权重寄存器108的wb(t)之和(wij(t)=σwa(t)+wb(t))。nand控制器38-j在向nand需求管理器36发送命令的发布申请时,求出权重信息wij(t)。nand控制器38-j将发布要求命令的权重wb(t)的时间t=0作为最新命令的发布时间,计算保存于权重寄存器104的权重合计σwa(t)与保存于权重寄存器108的wb(t)之和(wij(t)=σwa(t)+wb(t))。
96.nand需求管理器36包括存储从全部nand控制器38-j发送来的权重信息wij(t)的合计(以下被称为权重信息合计)σwij(t)的权重信息合计寄存器114、和存储权重信息合计σwij(t)的容许值的容许值寄存器116。权重对应于消耗电流,因此,权重信息合计σwij(t)的容许值对应于ssd14的消耗电流的容许值。
97.nand需求管理器36每当接收到从某一nand控制器38-j发送来的权重信息wij(t)时,计算权重信息合计σwij(t),对保存于权重信息合计寄存器114的权重信息合计σwij(t)进行更新。
98.图8是表示进行节流控制的nand控制器38-j的各个处理的一个例子的流程图。图9是表示进行节流控制的nand需求管理器36的处理的一个例子的流程图。
99.nand控制器38-j在图8的(s132)中判定是否接收到从nand需求管理器36发送来的命令发布要求。
100.nand控制器38-j反复执行s132的判定处理,直到接收到从nand需求管理器36发送来的命令发布要求。
101.在接收到从nand需求管理器36发送来的命令发布要求的情况下(s132:是),nand控制器38-j在s134中生成被要求了发布的命令,将所生成的命令写入到发布要求命令寄存器106。
102.nand控制器38-j在s136中从权重表112读出所生成的命令的权重w(t),将所读出的权重w(t)作为发布要求命令的权重wb(t)写入到权重寄存器108。当权重wb(t)被写入到权重寄存器108时,权重信息wij(t)(=σwa(t)+wb(t))被进行更新。权重信息wij(t)表示与nand控制器38-j连接的16个nand芯片16各自在从发布要求命令的发布时到执行结束的预定时刻为止的期间所消耗的电流的合计的预测值。
103.nand控制器38-j在s138中向nand需求管理器36发送发布申请和权重信息wij(t)。发布申请是对nand需求管理器36询问是否可以发布被要求了发布的命令的申请。
104.另一方面,nand需求管理器36在图9的s162中判定是否接收到从任一nand控制器38-j发送来的发布申请和权重信息wij(t)。
105.nand需求管理器36反复执行s162的判定处理,直到接收到从任一nand控制器38-j发送来的发布申请和权重信息wij(t)。
106.nand需求管理器36当接收到从任一nand控制器38-j发送来的发布申请和权重信息wi(t)时(s162:是),在s164中,对保存于权重信息合计寄存器114的权重信息合计σwij(t)加上所接收到的权重信息wij(t)来对权重信息合计σwij(t)进行更新。权重信息合计σwij(t)表示与全部nand控制器38-j连接的144个nand芯片16-i各自在从发布要求命令的发布时到执行结束的预定时刻为止的期间所消耗的电流的合计的预测值。
107.nand需求管理器36在s166中判定在从发布要求命令的发布时到执行结束的预定时刻为止的期间、权重信息合计σwij(t)是否为保存于容许值寄存器116的容许值以下。
108.在判断为了在从发布要求命令的发布时到执行结束的预定时刻为止的期间、权重信息合计σwij(t)为容许值以下的情况下(s166:是),能够预测为即使进行发布申请涉及的命令的发布、ssd14的消耗电流也不会超过容许值,因此,nand需求管理器36在s168中向发送了发布申请的nand控制器38-j发送允许信号。
109.在判断为了在从发布要求命令的发布时到执行结束的预定时刻为止的期间、权重信息合计σwij(tc)不为容许值以下的情况下(s166:否),能够预测为当进行发布申请涉及的命令的发布时、ssd14的消耗电流无法保持为容许值以下,因此,nand需求管理器36在s170中向发送了发布申请的nand控制器38-j发送不允许信号。
110.nand需求管理器36通过执行s168或者s170,完成对于一个发布申请的处理,但nand需求管理器36在执行s168或者s170之后,再次执行s162的接收判定处理。
111.由此,nand需求管理器36在预测到ssd14的消耗电流会超过容许值的情况下,不允许命令的发布,因此,能防止ssd14的消耗电流超过容许值。
112.返回图8的说明,nand控制器38-j在s138中向nand需求管理器36发送发布申请和权重信息wij(t)之后,在s140中判定是否接收到从nand需求管理器36发送来的允许信号。
113.在接收到不允许信号的情况下(s140:否),nand控制器38-j再次执行s132的命令发布要求的接收判定处理。
114.在接收到允许信号的情况下(s140:是),nand控制器38-j向nand芯片16-i发布对nand需求管理器36进行了发布申请的命令。具体而言,在s142中,nand控制器38-j从发布要求命令寄存器106读出发布要求命令,向nand芯片16-i发送所读出的命令,并且,将其写入到执行中命令寄存器102。
115.nand控制器38-j在s144中从权重寄存器108读出发布要求命令的权重wb(t),将所读出的权重wb(t)作为执行中命令的权重wa(t)写入到权重寄存器104。nand控制器38-j在s145中对保存于权重寄存器104的权重合计σwa(t)进行更新,清除保存于权重寄存器108的权重wb(t)。在该情况下,权重wb(t)成为0,但权重合计σwa(t)会相应地增加,因此,权重信息wij(t)不变化。
116.nand控制器38-j在s146中判定是否接收到从nand芯片16-i发送来的命令完成通知。
117.nand控制器38-j反复进行s146的判定处理,直到接收到来自nand芯片16-i的命令完成通知。
118.在接收到来自nand芯片16-i的命令完成通知的情况下(s146:是),nand控制器38-j在s148中向nand需求管理器36发送响应信息。响应信息是将nand需求管理器36要求了发布的命令的执行结果从nand控制器38-j回复给nand需求管理器36的信息。
119.nand控制器38-j在s150中从保存于权重寄存器104的权重合计σwa(t)减去执行完成了的命令的权重wa(t)。nand控制器38-j在s151中对权重合计σwa(t)进行更新,从执行中命令寄存器102删除执行完成了的命令。
120.(plp电容器24的充电控制)
121.图10是表示进行plp电容器24的充电控制的控制器18的处理流程的一个例子的流程图。
122.cpu32与节流控制并行地,每隔一定时间时检查是否执行plp电容器24的充电。cpu32具备对一定时间进行计数的计时器。cpu32在s212中判定在ssd14开始动作后从成为执行plp电容器24的充电的契机起是否经过了一定时间、或者从是否执行充电的上次检查起是否经过了一定时间。一定期间被设定为短时间、例如数微秒。
123.在经过了一定时间的情况下(s212:是),cpu32在s214中对nand需求管理器36要求向cpu32发送权重信息合计的当前值σwij(tc)。cpu32在s216中接收从nand需求管理器36发送来的权重信息合计的当前值σwij(tc)。
124.cpu32在s218中判定权重信息合计的当前值σwij(tc)是否为阈值以下。阈值是用于为了使得在ssd14的总消耗电流小时对plp电容器24进行充电而判定总消耗电流是大、还是小的阈值。
125.在权重信息合计的当前值σwij(tc)为阈值以下的情况下(s218:是),ssd14的总消耗电流小,因此,也可以对plp电容器24进行充电。cpu32在s220中判定从上次充电开始起的经过时间是否为ta以下。
126.在从上次充电开始起的经过时间为ta以下的情况下(s220:是),从上次充电开始起未经过时间ta,plp电容器24蓄积有足以使plp功能工作的能量,能够判断为plp电容器24
不需要充电,因此,cpu32再次执行s212的一定时间经过的判定处理。
127.在从上次充电开始起的经过时间不为ta以下的情况下(s220:否),从上次充电开始起经过了时间ta,因此,能够判断为plp电容器24蓄积的能量因自然放电而减少了,因此,cpu32在s224中向电源电路22发送plp电容器24的充电要求。充电要求经由总线线路44、i2c i/f电路64而被发送至控制逻辑60。控制逻辑60当接收到充电要求时,对dc/dc转换器58a的pwm电路82进行控制,使dc/dc转换器58a的开关元件80导通或者断开,开始plp电容器24的充电。
128.在向电源电路22发送了充电要求之后,cpu32再次执行s212的一定时间经过的判定处理。
129.在s218的判定中,在权重信息合计的当前值σwij(tc)不为阈值以下的情况下(s218:否),ssd14的总消耗电流大,因此,不对plp电容器24充电为好。但是,在plp电容器24的能量减少到了用于实现plp功能的能量以下的情况下,需要例外地对plp电容器24进行充电。
130.因此,在s218的判定中,在权重信息合计的当前值σwij(tc)不为阈值以下的情况下(s218:否),cpu32在s222中判定从上次充电完成起的经过时间是否为tb以下。tb是比ta长的时间。
131.在从上次充电完成起的经过时间为tb以下的情况下(s222:是),从上次充电完成起未经过时间tb,因此,能够判断为plp电容器24蓄积有能够使plp功能工作的能量,因此,cpu32再次执行s212的一定时间经过的判定处理。
132.在从上次充电完成起的经过时间不为tb以下的情况下(s222:否),从上次充电完成起经过了时间tb,因此,plp电容器24的能量因自然放电而减少,能够判断为plp电容器24未蓄积有能够使plp功能工作的能量,因此,cpu32在s224中向电源电路22发送plp电容器24的充电要求。即,plp电容器24的消耗电流大,但在plp电容器24的能量变为了用于实现plp功能的能量以下的情况下,例外地允许充电。
133.越是缩短在s212中使用于判定的计时器的一定期间,在s222的判定中成为“否”的可能性越低,即在ssd14的总消耗电流大时对plp电容器24进行充电的可能性变低。
134.根据实施方式涉及的存储系统,命令执行期间的消耗电流的变化被作为时间函数来预先进行设定。控制器在发布命令之前,基于时间函数来预测发布了命令的情况下的消耗电流的变化。控制器在预测结果表示消耗电流小的情况下发布命令。控制器在预测结果表示消耗电流大的情况下不发布命令。控制器每隔一定时间而检查消耗电流。控制器在消耗电流小的情况下定期地对plp电容器24进行充电。控制器在消耗电流大的情况下,以比消耗电流小的情况长的周期定期地对plp电容器24进行充电。
135.因此,能够防止由于在消耗电流大的情下况对plp电容器24进行充电而ssd的消耗电流暂时性地变大、峰值电流超过ssd的容许电流值。由此,能够兼顾峰值电流要求和性能要求。
136.根据实施方式,也可以提供存储系统的控制方法。
137.此外,本发明并不保持不变地限定于上述实施方式,可以在实施阶段中在不脱离其宗旨的范围内对构成要素进行变形来具体化。另外,通过上述实施方式所公开的多个构成要素的适当的组合,能够产生各种发明。例如,也可以从实施方式所示的全部构成要素删
除几个构成要素。进一步,也可以适当地组合不同的实施方式涉及的构成要素。

技术特征:


1.一种存储系统,具备:非易失性存储器;控制器,其向所述非易失性存储器写入数据,从所述非易失性存储器读出数据;以及电源电路,其具备电容器,利用外部电源来至少向所述非易失性存储器和所述控制器供给电源,在所述外部电源被切断之后,利用所述电容器的能量来至少向所述非易失性存储器和所述控制器供给电源,所述控制器在所述非易失性存储器的消耗电流比第1电流小的情况下,对所述电源电路进行控制以使得对所述电容器进行充电。2.根据权利要求1所述的存储系统,所述控制器在所述非易失性存储器的消耗电流比所述第1电流小的情况下,对所述电源电路进行控制以使得在从上次充电起经过了第1时间时对所述电容器进行充电。3.根据权利要求2所述的存储系统,所述控制器在所述非易失性存储器的消耗电流不比所述第1电流小的情况下,对所述电源电路进行控制以使得在从上次充电起经过了比所述第1时间长的第2时间时对所述电容器进行充电。4.根据权利要求1所述的存储系统,所述控制器每隔一定时间而判定所述非易失性存储器的消耗电流是否比第1电流小,在所述非易失性存储器的消耗电流比第1电流小的情况下,对所述电源电路进行控制以使得对所述电容器进行充电。5.根据权利要求1所述的存储系统,所述控制器在要向所述非易失性存储器发布第1命令的情况下,当所述非易失性存储器因所述非易失性存储器执行至少一个第2命令而消耗的电流和所述非易失性存储器因所述非易失性存储器执行了所述第1命令而消耗的电流的合计比第2电流小时,发布所述第1命令。6.根据权利要求5所述的存储系统,所述控制器,存储包括所述第1命令和所述第2命令的多个命令与权重函数的对应关系,所述权重函数表示所述非易失性存储器因所述多个命令的各个命令的执行而消耗的电流的时间变化,基于与所述非易失性存储器正在执行的所述第2命令对应的权重函数和与所述第1命令对应的权重函数的合计,判定所述合计是否比第2电流小。7.一种控制方法,是存储系统的控制方法,所述存储系统具备:非易失性存储器;和电源电路,其具备电容器,利用外部电源来至少向所述非易失性存储器供给电源,在所述外部电源被切断之后,利用所述电容器的能量来至少向所述非易失性存储器供给电源,所述控制方法包括:在所述非易失性存储器的消耗电流比第1电流小的情况下,对所述电源电路进行控制以使得对所述电容器进行充电。

技术总结


本发明的一个实施方式的目的在于提供适当地对PLP电容器的充电进行控制的存储系统以及控制方法。根据一个实施方式,存储系统具备:非易失性存储器;控制器,其向非易失性存储器写入数据,从非易失性存储器读出数据;以及电源电路。电源电路具备电容器。电源电路利用外部电源来至少向非易失性存储器和控制器供给电源,在外部电源被切断之后,利用电容器的能量来至少向非易失性存储器和控制器供给电源。控制器在非易失性存储器的消耗电流比第1电流小的情况下,对电源电路进行控制以使得对电容器进行充电。器进行充电。器进行充电。


技术研发人员:

小林弘树

受保护的技术使用者:

铠侠股份有限公司

技术研发日:

2021.08.17

技术公布日:

2022/6/21


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-52923-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-21 00:52:12

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论