存储系统的制作方法

存储系统1.本技术享受以日本特许申请2020-155774号(申请日:2020年9月16日)为基础申请的优先权。本技术通过参照该基础申请而包含基础申请的全部内容。

技术领域


:2.本发明的实施方式涉及存储系统。

背景技术


::3.已知一种存储系统,其具有以三维的方式层叠了存储单元的非易失性存储器。在这样的存储系统中,进行性能的调整以使得温度不过于上升。技术实现要素:4.实施方式要解决的课题在于提供一种存储系统,其能够通过非易失性半导体存储器的裸片级(dielevel)的温度控制,抑制温度上升,提高性能和可靠性。5.实施方式涉及的存储系统具备:非易失性半导体存储器,其具备多个裸片;温度传感器,其分别按各裸片而设置;以及存储控制器。温度传感器测定裸片的温度。存储控制器基于温度、按各裸片而预先确定的界限温度以及用于对非易失性半导体存储器进行访问的访问命令,按各裸片而执行访问命令的安排调度(scheduling)。附图说明6.图1a是包括实施方式涉及的存储系统的信息处理系统的框图。7.图1b是实施方式涉及的非易失性存储器的框图。8.图1c是实施方式涉及的存储控制器的框图。9.图2是实施方式涉及的裸片的框图。10.图3是实施方式涉及的存储单元阵列的平面(plane)结构的框图。11.图4是表示实施方式涉及的块的结构的框图。12.图5是实施方式涉及的块的电路图。13.图6是表示在实施方式涉及的存储系统的温度控制中使用的表的框图。14.图7a是表示实施方式涉及的ipc队列的数据结构的一个例子的图。15.图7b是表示实施方式涉及的nand模型化表的数据结构的一个例子的图。16.图8是表示实施方式涉及的固件的功能构成例的框图。17.图9是实施方式涉及的存储系统的温度控制的流程图。18.图10是在实施方式涉及的存储系统的温度控制中使用的安排调度表的示意图。19.图11是在实施方式涉及的存储系统的温度控制中使用的加权表的示意图。20.图12是实施方式涉及的存储系统的各裸片的温度控制的动作定时的示意图。21.标号说明22.1存储系统23.2主机设备24.3非易失性存储器25.10、10_1~10_16裸片26.11,11_1~10_16存储单元阵列27.12感测放大器模块28.13行译码器模块29.14输入输出电路30.15寄存器31.16逻辑控制器32.17定序器33.18就绪/忙控制电路34.19电压生成电路35.20存储控制器36.21cpu37.22内置存储器38.23主机i/f电路39.24时钟控制部40.25、25_1~25_16温度传感器41.26nandi/f电路42.27易失性存储器i/f电路43.30p型阱区域44.31~36:导电体45.37块绝缘膜46.38绝缘膜(电荷蓄积层)47.39隧道氧化膜48.40半导体材料49.41n+杂质扩散区域50.42p+杂质扩散区域51.60固件52.70主机i/f处理模块53.80表54.81处理间通信(ipc)队列55.82nand模型化表56.83安排调度表57.100信息处理系统58.110易失性存储器具体实施方式59.接着,参照附图对实施方式进行说明。在以下说明的附图的记载中,对相同或者相似的部分赋予相同或者相似的标号。附图是示意性的附图。60.另外,以下所示的实施方式是对用于使技术思想具体化的装置、方法进行例示的实施方式,并不限定部件的材质、形状、构造、配置等。实施方式可以加以各种变更。61.[实施方式][0062](存储系统的结构)[0063]图1a是包括实施方式涉及的存储系统1的信息处理系统100的框图。信息处理系统100包括存储系统1和主机设备2。实施方式涉及的存储系统1例如作为固态硬盘驱动器(ssd:solidstatedrives)来构成。作为主机设备2,例如可举出包括sata(serialadvancedtechnologyattachment)、sas(serialattachedscsi)、pcie(pciexpress)(注册商标)的接口(interface:以下记载为i/f)的计算机。[0064]如图1a所示,存储系统1具备多个非易失性存储器3、易失性存储器110以及存储控制器20。[0065]非易失性存储器3是能够以非易失的方式存储数据的非易失性存储器。作为非易失性存储器3,不限于nand型闪速存储器,可以应用nor型闪速存储器、阻变存储器(reram:resistiverandomaccessmemory)、相变存储器(pcm:phase-changememory)、铁电存储器(feram:ferroelectricrandomaccessmemory)等。另外,作为非易失性存储器3,也可以应用磁隧道结(mtj:magnetotunneljunction)阻变元件。多个非易失性存储器3能够分别独立地进行动作。非易失性存储器3的数量是任意的。多个非易失性存储器3和存储控制器20经由多个通道相连接。[0066]易失性存储器110是能够暂时性地存储数据的易失性存储器。易失性存储器110例如是dram(dynamicrandomaccessmemory,动态随机访问存储器)、sram(staticrandomaccessmemory,静态随机访问存储器)。易失性存储器110的数量是任意的。[0067]存储控制器20例如为如soc、fpga、asic那样的ic。存储控制器20能够对非易失性存储器3和易失性存储器110命令进行各种动作。另外,存储控制器20能够执行基于来自外部的主机设备2的要求的动作和不依赖于来自主机设备2的要求的动作。[0068]接着,对非易失性存储器3的详细构成进行说明。[0069]图1b是图1a所示的存储系统1所包括的非易失性存储器3的框图。非易失性存储器3具备多个裸片10_1、10_2、……、10_16。在图1b中示出了具备16个裸片(即裸片10_1、裸片10_2、……、裸片10_16)的例子。例如,一个裸片10_1具备一个存储单元阵列11_1和一个温度传感器25_1。同样地,裸片10_2具备一个存储单元阵列11_2和一个温度传感器25_2。另外,裸片10_16具备一个存储单元阵列11_16和一个温度传感器25_16。有时也将多个裸片10_1~10_16总称地记载为裸片10。有时也将多个存储单元阵列11_1、11_2、……、11_16总称地记载为存储单元阵列11。有时也将多个温度传感器25_1、25_2、……、25_16总称地记载为温度传感器25。[0070]温度传感器25对配置有温度传感器25的裸片10内的温度进行测定。例如,温度传感器25_1进行设置有温度传感器25_1的部位的测定。温度传感器25_1对裸片10_1整体的温度、裸片10_1的存储单元阵列11_1的温度进行测定。所测定的温度例如在温度控制的处理动作时由cpu21进行参照。[0071]接着,对存储控制器20的详细结构进行说明。[0072]图1c是图1a所示的存储系统1所包括的存储控制器20的框图。如图1c所示,存储控制器20包括cpu(centralprocessingunit,中央处理单元)21、内置存储器(ram:randomaccessmemory)22、主机i/f电路23、时钟控制部24、nandi/f电路26以及易失性存储器i/f电路27。[0073]cpu21能够通过执行固件来对存储控制器20整体的动作进行控制。例如,cpu21对从主机设备2接收到的读出要求进行响应,发布读出命令。cpu21向nandi/f电路26发送所发布的命令。另外,cpu21能够执行非易失性存储器的温度控制的处理。[0074]内置存储器22被作为cpu21的工作区域来使用。作为内置存储器22,例如可使用如sram(staticrandomaccessmemory,静态随机访问存储器)那样的易失性存储器。在内置存储器22中例如展开有用于对非易失性存储器3进行管理的参数、各种管理表。例如,内置存储器22存储向非易失性存储器3发布的命令的等待队列。另外,内置存储器22存储用于将与存储于非易失性存储器3的块blk中的数据关联的逻辑地址变换为块blk的物理块地址(pba:physicalblockaddress)的地址变换表(lut:lookuptable)。地址变换表例如存储于非易失性存储器3。地址变换表在存储系统1启动时被读出并被加载到内置存储器22。[0075]主机i/f电路23是负责存储系统1与主机设备2之间的通信的硬件接口。主机i/f电路23例如支持如sata、sas、pcie(注册商标)那样的通信接口标准。例如,主机i/f电路23在存储系统1与主机设备2之间对数据、命令以及地址的传送进行控制。主机i/f电路23与主机设备2连接。[0076]时钟控制部24生成使存储控制器20的cpu21、主机i/f电路23、nandi/f电路26、易失性存储器i/f电路27以及非易失性存储器3动作的时钟。并且,时钟控制部24向cpu21、主机i/f电路23、nandi/f电路26、易失性存储器i/f电路27以及非易失性存储器3提供所生成的时钟。[0077]nandi/f电路26与多个非易失性存储器3连接。nandi/f电路26是负责存储控制器20与非易失性存储器3之间的通信的硬件接口。[0078]易失性存储器i/f电路27与易失性存储器110连接。易失性存储器i/f电路27是负责存储控制器20与易失性存储器110之间的通信的硬件接口。易失性存储器i/f电路27基于易失性存储器接口标准来构成。此外,易失性存储器i/f电路27的结构可以基于存储系统1的易失性存储器的种类来进行变更。[0079]以上说明的存储控制器20的结构是一个例子。时钟控制部24也可以与存储控制器20进行外部连接。[0080](裸片的结构)[0081]接着,对非易失性存储器3包括的多个裸片10中的裸片10_1的详细结构进行说明。[0082]图2是实施方式中的裸片10_1的框图。如图2所示,裸片10_1具备存储单元阵列11_1、感测放大器模块12、行译码器模块13、输入输出电路14、寄存器15、逻辑控制器16、定序器17、就绪/忙控制电路18、电压生成电路19以及温度传感器25_1。[0083]存储单元阵列11_1包括多个块blk。块blk是与位线以及字线关联的多个非易失性存储单元的集合。块blk例如成为数据的擦除单位。块blk例如可以应用mlc(multi-levelcell,多层单元)方式。根据mlc方式,可以使各存储单元存储2位以上的数据。另外,块blk可以应用tlc(triple-levelcell,三层单元)方式、qlc(quad-levelcell,四层单元)方式。通过tlc方式、qlc方式,能够使各存储单元存储3位以上的数据。[0084]感测放大器模块12能够将从存储单元阵列11_1读出的数据dat经由输入输出电路14输出至存储控制器20。另外,感测放大器模块12能够将从存储控制器20经由输入输出电路14接受到的写入数据dat传送给存储单元阵列11_1。[0085]行译码器模块13能够基于保持于地址寄存器15b的块地址,对执行各种动作的对象的块blk进行选择。并且,行译码器模块13能够将从电压生成电路19供给的电压传送至所选择的块blk。[0086]输入输出电路14例如能够与存储控制器20之间收发8位宽度的输入输出信号i/o(i/o1~i/o8)。例如,输入输出电路14将从存储控制器20接收到的输入输出信号i/o所包含的写入数据dat传送至感测放大器模块12。输入输出电路14将从感测放大器模块12传送来的读出数据dat作为输入输出信号i/o发送给存储控制器20。[0087]寄存器15包括状态寄存器15a、地址寄存器15b、命令寄存器15c。状态寄存器15a例如保持定序器17的状态信息sts。状态寄存器15a基于定序器17的指示来向输入输出电路14传送状态信息sts。地址寄存器15b保持从输入输出电路14传送来的地址信息add。例如,地址信息add所包含的列地址以及块地址被分别使用在感测放大器模块12以及行译码器模块13中。命令寄存器15c保持从输入输出电路14传送来的命令cmd。[0088]逻辑控制器16能够基于从存储控制器20接收到的各种控制信号,对输入输出电路14和定序器17进行控制。作为各种控制信号,例如可使用芯片使能信号cen、命令锁存使能信号cle、地址锁存使能信号ale、写使能信号wen、读使能信号ren以及写保护信号wpn。信号cen是为了将裸片10_1设为使能所使用的信号。信号cle是为了对输入输出电路14通知被输入到裸片10_1的信号为命令cmd这一状况所使用的信号。信号ale是向输入输出电路14通知被输入到裸片10_1的信号为地址信息add这一状况的信号。信号wen和ren分别例如是为了对输入输出电路14命令进行输入输出信号i/o的输入和输出所使用的信号。信号wpn例如是为了在电源接通断开时将裸片10_1设为保护状态所使用的信号。[0089]定序器17能够基于保持于命令寄存器15c的命令cmd,对裸片10_1整体的动作进行控制。例如,定序器17对感测放大器模块12、行译码器模块13、电压生成电路19等进行控制,执行写入动作、读出动作等的各种动作。[0090]就绪/忙控制电路18能够基于定序器17的动作状态来生成就绪/忙信号rbn。信号rbn是基于裸片10_1是处于受理来自存储控制器20的命令的就绪状态、还是处于不受理命令的忙状态来确定值的信号。[0091]电压生成电路19基于定序器17的控制来生成所希望的电压。电压生成电路19能够向存储单元阵列11_1、感测放大器模块12、行译码器模块13等供给所生成的电压。例如,电压生成电路19基于保持于地址寄存器15b的页地址,对选择字线和非选择字线分别施加所希望的电压。[0092]温度传感器25_1对配置有温度传感器25_1的裸片10_1的温度进行测定。所测定的温度被作为信号tmp来在温度控制的处理动作时由存储控制器20进行参照。[0093](存储单元阵列的平面结构)[0094]接着,对非易失性存储器3所包括的存储单元阵列11的平面结构例进行说明。[0095]图3是实施方式涉及的存储单元阵列11_1的平面结构的框图。图3例示了将裸片10_1所包括的存储单元阵列11_1分割为了多个平面(子阵列)的例子。[0096]存储单元阵列11_1具备多个平面。各平面分别具备子阵列。子阵列分别具备多个块blk。[0097]图4是表示图3所示的存储单元阵列11_1所包括的存储器块的结构的框图。图4例示了图3所示的块blk的构成例。块blk具备多个页。[0098](块的结构)[0099]接着,对非易失性存储器3所包括的块blk的电路结构例进行说明。图5是实施方式涉及的块的电路图。图5例示了关于存储单元阵列11内的一个块blk的详细的电路结构。如图5所示,一个块blk例如包括4个串单元su(su0~su3)。[0100]各串单元su包括分别与位线bl0~blm(m为自然数)关联的多个nand串ns。位线bl0~blm在多个块blk之间共用。[0101]各nand串ns例如包括多个存储单元晶体管mt(mt0~mt7)和选择晶体管st1以及st2。多个存储单元晶体管mt分别能够以非易失的方式存储数据。选择晶体管st1和st2被使用于串单元su的选择。在各nand串ns中,多个存储单元晶体管mt(mt0~mt7)串联连接在选择晶体管st1的源极与选择晶体管st2的漏极之间。[0102]如上述的那样,选择晶体管st1和st2分别包含于串单元su包括的多个nand串ns。多个选择晶体管st1的漏极分别与位线bl0~blm中的某一条连接。多个选择晶体管st1的栅极分别与选择栅极线sgd0~sgd3中的某一条连接。多个选择晶体管st2的源极在一个块blk中共同地连接于一条源极线sl。并且,源极线sl在多个块blk之间共用。另外,多个选择晶体管st2的栅极共同地连接于一条选择栅极线sgs。[0103]此外,各块blk包括的串单元su的个数和各nand串ns包括的存储单元晶体管mt以及选择晶体管st1及st2的个数是一个例子,可以设计为任意的个数。字线wl以及选择栅极线sgd和sgs的条数基于存储单元晶体管mt以及选择晶体管st1和st2的个数来进行变更。[0104](实施方式涉及的存储系统的温度控制)[0105]接着,对在实施方式涉及的存储系统1的温度控制中使用的表80进行说明。[0106]图6是表示在实施方式涉及的存储系统的温度控制中使用的表80的框图。在实施方式涉及的存储系统1的温度控制中使用的表为ipc队列81、nand模型化表82、安排调度表(schedulingtable)83。ipc队列81、nand模型化表82、安排调度表83存储于易失性存储器110或者存储控制器20内的ram22。[0107]在ipc队列81中,存储系统1从主机设备2接收的访问命令被分别针对多个裸片10进行区别来进行存储。访问命令是用于对非易失性存储器3进行访问的命令。作为访问命令,例如具有读命令(rd)、编程命令(pg)、清除(erase)命令(er)等。[0108]在nand模型化表82中,界限温度(criticaltemperature)、当前温度(currenttemperature)以及模型化信息被分别针对多个裸片10进行区别来进行存储。关于多个裸片10分别预先设定界限温度和模型化信息。界限温度和模型化信息可以变更。界限温度是指在预先确定的温度的范围内对各裸片10分别设定的动作温度的上限。模型化信息具有按各访问命令需要的命令动作时间和命令动作时间对于温度的影响度。命令动作时间对于温度的影响度例如是为了使温度上升1℃所需要的命令动作时间。[0109]安排调度表83是基于存储在ipc队列81内的访问命令、存储于nand模型化表82的界限温度、当前温度以及模型化信息而在存储系统1内制作的表。存储系统1通过按照安排调度表83对非易失性半导体存储器3执行访问命令的动作,从而对裸片10的温度进行控制。[0110]图7a是ipc队列81的数据结构的一个例子。在图7a的例子中,例示了存储有7个访问命令来作为对于裸片10_1的访问命令的ipc队列81。另外,图7a例示了存储有10个以上的访问命令来作为对于裸片10_16的访问命令的ipc队列81。经由nandi/f电路26,对非易失性存储器3依次执行存储于ipc队列81的访问命令。并且,执行已完成的访问命令被按已完成的顺序来从ipc队列81中删除。[0111]图7b是nand模型化表82的数据结构的一个例子。图7b例示了裸片10_1的界限温度为73℃、当前温度为69℃的情况下的nand模型化表82。另外,图7b例示了裸片10_2的界限温度为72℃、当前温度为70℃的情况下的nand模型化表82。另外,图7b例示了裸片10_16的界限温度为73℃、当前温度为71℃的情况下的nand模型化表82。另外,图7b例示了对于裸片10_1的每一个读命令所需要的动作时间(忙时间)为0.1ms、每一个编程命令所需要的命令动作时间(忙时间)为1.0ms、且每一个清除命令所需要的动作时间(忙时间)为5.0ms的情况下的nand模型化表82。另外,图7b例示了对于裸片10_2的每一个读命令所需要的动作时间(忙时间)为0.1ms、每一个编程命令所需要的命令动作时间(忙时间)为1.2ms、且每一个清除命令所需要的动作时间(忙时间)为5.2ms的情况下的nand模型化表82。另外,图7b例示了对于裸片10_16的每一个读命令所需要的动作时间(忙时间)为0.1ms、每一个编程命令所需要的动作时间(忙时间)为1.1ms、且每一个清除命令所需要的动作时间(忙时间)为5.1ms的情况下的nand模型化表82。另外,图7b例示了在裸片10_1中为了使温度上升1℃所需要的动作时间为1.5ms、在裸片10_2中为了使温度上升1℃所需要的动作时间为1.3ms、在裸片10_16中为了使温度上升1℃所需要的动作时间为1.0ms的情况下的nand模型化表82。[0112]接着,对在实施方式涉及的存储系统1的温度控制中使用的固件(控制程序)60进行说明。[0113]图8是表示实施方式涉及的固件的功能构成例的框图。固件60具备安排调度器91(scheduler)和命令分配器(commanddispatcher)92。[0114]当存储系统1启动时,cpu21从非易失性存储器3或者未图示的rom读出固件(控制程序)60,并使之存储于ram22。并且,cpu21通过执行存储于ram22的固件60来进行温度控制的处理。cpu21能够在温度控制的处理的基础上,执行用于对来自主机设备2的各种各样的命令进行处理的命令处理等。此外,也可以通过存储控制器20内的专用硬件执行温度控制的处理的一部分或者全部。[0115]安排调度器91取得nand模型化表82的模型化信息和ipc队列81的访问命令。并且,安排调度器91基于所取得的模型化信息和访问命令,制作安排调度表83(安排调度)。安排调度器91向命令分配器92发送所制作的安排调度表83。此外,安排调度器91在安排调度时,基于存储于nand模型化表82的当前温度,进行pid(proportionalintegraldifferential,比例积分微分)控制,以使得多个温度传感器25各自的检测值不超过界限温度。由此,能够实现缓和的速率控制。[0116]命令分配器92分别从多个温度传感器25取得温度信息。命令分配器92将所取得的温度信息作为当前温度来输入到nand模型化表82。另外,命令分配器92根据从安排调度器91接收到的安排调度表83,执行访问命令。[0117](实施方式涉及的存储系统的温度控制的处理流程)[0118]接着,对实施方式涉及的存储系统1的温度控制的处理流程进行说明。[0119]图9表示实施方式涉及的存储系统1的温度控制的流程图。[0120]当被从主机设备2要求开始温度控制时(开始),命令分配器92从分别设置于多个裸片10的温度传感器25取得温度信息(s101)。[0121]命令分配器92将所取得的温度信息作为当前温度输入到nand模型化表82(s102)。并且,命令分配器92对安排调度器91通知s102的处理已完成。[0122]当被通知s102的处理已完成时,安排调度器91基于存储于nand模型化表82的界限温度、当前温度以及模型化信息来算出忙时间tbusydie(s103)。关于多个裸片10分别算出忙时间tbusydie。对于忙时间tbusydie,通过对为了使温度上升1℃所需要的动作时间(上升时间)乘以界限温度与当前温度的差量来求出。在图7b的例子中,对于裸片10_1的忙时间tbusydie成为上升时间(1.5ms)×界限温度与当前温度的差量(4℃)=6.0ms。同样地,对于裸片10_2的忙时间tbusydie成为上升时间(1.3ms)×界限温度与当前温度的差量(2℃)=2.6ms。同样地,对于裸片10_16的忙时间tbusydie成为上升时间(1.0ms)×界限温度与当前温度的差量(2℃)=2.0ms。[0123]安排调度器91基于存储于ipc队列81的关于多个裸片10的各个裸片的访问命令,针对多个裸片10分别算出要求时间tipcreq(s104)。在图7a中例示了读命令(rd)为5个、编程命令(pg)为1个、清除命令(er)为1个的情况下的ipc队列81。另外,在图7b中例示了对于裸片10_1要执行一个读命令(rd)所需要的时间为0.1ms、要执行一个编程命令(pg)所需要的时间为1.0ms、要执行一个清除命令(er)所需要的时间为5.0ms的情况下的nand模型化表82。因此,要求时间tipcreq成为要执行一个读命令(rd)所需要的时间×读命令(rd)的个数+要执行一个编程命令(pg)所需要的时间×编程命令(pg)的个数+要执行一个清除命令(er)所需要的时间×清除命令(er)的个数=0.1ms×5+1.0ms×1+5.0ms+1=6.5ms。[0124]安排调度器91判断在s104算出的要求时间tipcreq是否为在s103中算出的忙时间tbusydie以上(s105)。[0125]在s104中算出的要求时间tipcreq为在s103中算出的忙时间tbusydie以上的情况下(s105:是),安排调度器91对ipc队列81的访问命令进行加权来制作安排调度表83(s106)。也就是说,安排调度器91制作安排调度表83,以使得各裸片10的温度不超过界限温度。并且,安排调度器91对命令分配器92通知s106的处理已完成。[0126]当被通知s106的处理已完成时,命令分配器92根据在步骤s106中安排调度器91制作的安排调度表83,执行访问命令(s110)。并且,命令分配器92对安排调度器91通知s110的处理已完成。[0127]在s104中算出的要求时间tipcreq不为在s103中算出的忙时间tbusydie以上的情况下(s105:否),安排调度器91制作安排调度表83以使得执行全部的访问命令(s107)。[0128]进一步,安排调度器91判定是否要求时间tipcreq小于忙时间tbusydie、且在ipc队列81追加了新的访问命令(s108)。[0129]在要求时间tipcreq小于忙时间tbusydie、且在ipc队列81追加了新的访问命令的情况下(s108:是),安排调度器91在步骤s109中将新的访问命令追加到安排调度表83(s109)。并且,安排调度器91对命令分配器92通知s109的处理已完成。[0130]当被通知s109的处理已完成时,命令分配器92根据在步骤s107和步骤s109中安排调度器91所制作的安排调度表83,执行访问命令(s110)。并且,命令分配器92对安排调度器91通知s110的处理已完成。[0131]在要求时间tipcreq不小于忙时间tbusydie的情况下以及/或者未在ipc队列81追加新的请求的情况下(s108:否),安排调度器91对命令分配器92通知s108的处理已完成。[0132]当被通知s108的处理已完成时,命令分配器92根据在步骤s107中安排调度器91所制作的安排调度表83,执行访问命令(s110)。并且,命令分配器92对安排调度器91通知s110的处理已完成。[0133]当被通知s110的处理已完成时,安排调度器91判定是否设定有调整参数procmin(s111)。调整参数procmin是被插入到对于裸片10执行的访问命令之间的待机时间的设定值。[0134]在设定有调整参数procmin的情况下(s111:是),安排调度器91在对于裸片10执行的访问命令之间插入待机时间。安排调度器91在所插入的待机时间的期间(tbreakpoint)不执行访问命令(s112)。也就是说,存储控制器20在从执行完成与一个访问命令相应的处理起经过了作为待机时间所设定的时间之后,向主机设备2发送与该访问命令相应的响应。待机时间越长,存储系统1的性能的抑制程度越大。[0135]在未设定调整参数procmin的情况下(s111:否),安排调度器91对命令分配器92通知未设定调整参数procmin(s113:否)。[0136]当被从安排调度器91通知未设定调整参数procmin时,命令分配器92判断是否被从主机设备2要求了存储系统1的温度控制的结束(s114)。[0137]或者,当被从安排调度器91通知s112的处理已完成时,判断是否被从主机设备2要求了存储系统1的温度控制的结束(s114)。[0138]在被从主机设备2通知主机设备2的电源成为了断开的情况下(s114:是),命令分配器92结束一系列处理(结束)。[0139]在未被从主机设备2通知主机设备2的电源成为了断开的情况下(s114:否),命令分配器92执行s101的处理。[0140]图10表示在实施方式涉及的存储系统1的温度控制中使用的安排调度表83的示意图。另外,图11表示在实施方式涉及的存储系统1的温度控制中使用的加权表的示意图。图11例示了如下情况下的加权表,该情况为:使读命令的权重为1,与此相对,使编程命令的权重为100,使清除命令的权重为500。当设想为在该情况下安排调度器91对读命令动作时间tbusyread、编程命令动作时间tbusyprog、清除命令动作时间tbusyerase均等地进行分配(tbusyread:tbusyprog:tbusyerase=1:1:1)时,安排调度器91如图10所例示的那样设定安排调度表83,以使得相对于1000个读命令,编程命令的数量成为10个,清除命令的数量成为2个。[0141]此外,读命令动作时间tbusyread、编程命令动作时间tbusyprog以及清除命令动作时间tbusyerase的比率(tbusyread:tbusyprog:tbusyerase)可以根据非易失性存储器3的驱动器的状态和驱动器的要件来进行调整。另外,比率tbusyread:tbusyprog:tbusyerase也可以动态地进行调整。动态地对比率tbusyread:tbusyprog:tbusyerase进行调整意味着在存储系统1动作期间中以预定的定时对比率tbusyread:tbusyprog:tbusyerase的值进行调整。预定的定时例如是指温度控制处理的循环的定时。[0142]图12表示实施方式涉及的存储系统的各裸片10的温度控制的动作定时的示意图。[0143]本实施方式涉及的存储系统按裸片10使界限温度动态地进行变化。动态地对界限温度进行调整意味着在存储系统1动作期间中在预先确定的温度的范围内以预定的定时对界限温度的值进行调整。预定的定时例如是指温度控制处理的循环的定时。例如如图12所示,关于在时刻t1执行温度控制的裸片10_1,将界限温度设为接近能够动作的温度的下限的值l1。另外,例如如图12所示,关于在时刻t2执行温度控制的裸片10_2,将界限温度设为接近能够动作的温度的上限的值l2。另外,关于在时刻t3执行温度控制的裸片10_3,将界限温度设为接近能够动作的温度的上限的值l3。另外,关于在时刻tn-1执行温度控制的裸片10_(n-1),将界限温度设为接近能够动作的温度的上限的值l(n-1)。另外,关于在时刻tn执行温度控制的裸片10_n,将界限温度设为接近能够动作的温度的下限的值ln。[0144]另外,本实施方式涉及的存储系统按温度控制处理的循环使裸片10各自的动作的定时进行变化。例如如图12所示,关于在第1循环中使之在时刻t1进行了动作的裸片10_1,在第2循环中使之在时刻tn进行动作。关于在时刻tn执行温度控制的裸片10_1,将界限温度设为接近能够动作的温度的下限的值ln。另外,例如如图12所示,关于在第1循环中使之在时刻t2进行了动作的裸片10_2,在第2循环中使之在时刻t1进行动作。关于在时刻t1执行温度控制的裸片10_2,将界限温度设为接近能够动作的温度的下限的值l1。另外,例如如图12所示,关于在第1循环中使之在时刻t3进行了动作的裸片10_3,在第2循环中使之在时刻t2进行动作。关于在时刻t2执行温度控制的裸片10_3,将界限温度设为接近能够动作的温度的上限的值l2。[0145]本实施方式涉及的存储系统关于多个裸片10分别设置温度传感器,因此,能够实现各裸片的热扼制(thermalthrottling)。另外,本实施方式涉及的存储系统也能够对非易失性半导体存储器的使用率进行优化。[0146]本实施方式涉及的存储系统关于多个裸片10分别进行考虑了要求时间tipcreq和忙时间tbusydie的温度控制。因此,能够对多个裸片10的负荷进行分配,以使得温度控制由全部的命令操作公平地进行分担。另外,减少为了温度控制而驱动器成为不响应状态的可能性,从主机设备2侧来看也改善了响应性。[0147]另外,本实施方式涉及的存储系统使用界限温度、当前温度、模型化信息、忙时间tbusydie、要求时间tipcreq、读命令动作时间tbusyread、编程命令动作时间tbusyprog、清除命令动作时间tbusyerase等的许多调整参数。调整参数越多,能够实现越多的设计选项。这些调整参数能够基于驱动器状态机来动态地进行分配。[0148]另外,通过以裸片10为单位实施温度控制,对于iod(i/odie,i/o裸片)等的主机设备2的裸片级的架构也是有效的。[0149]这样,根据本实施方式涉及的存储系统,通过非易失性半导体存储器的裸片级的温度控制,能够抑制温度上升,提高性能和可靠性。[0150]以上对本发明的几个实施方式进行了说明,但这些实施方式是作为例子提示的,并不是意在限定发明的范围。这些新的实施方式能够以其他各种各样的方式来实施,能够在不脱离发明的宗旨的范围内进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围、宗旨内,并且,包含在权利要求书记载的发明及其等同的范围内。当前第1页12当前第1页12

技术特征:


1.一种存储系统,具备:具有多个裸片的非易失性半导体存储器;分别按各所述裸片而设置的温度传感器;以及存储控制器,其对所述非易失性半导体存储器和所述温度传感器进行控制,所述温度传感器测定所述裸片的温度,所述存储控制器基于所述温度、按各所述裸片而预先确定的界限温度以及用于对所述非易失性半导体存储器进行访问的访问命令,按各所述裸片来执行所述访问命令的安排调度。2.根据权利要求1所述的存储系统,所述存储控制器具备命令分配器和安排调度器,所述命令分配器,取得所述温度,将所取得的所述温度和所述界限温度与各所述裸片进行关联而存储于模型化表,按照通过所述命令分配器制作的安排调度表,对所述非易失性半导体存储器执行所述访问命令的动作,所述安排调度器基于所述模型化表和所述访问命令来制作所述安排调度表。3.根据权利要求2所述的存储系统,所述模型化表包括命令动作时间和影响度,所述安排调度器在所述温度和所述界限温度的基础上,还基于所述命令动作时间和所述影响度来制作所述安排调度表。4.根据权利要求3所述的存储系统,所述安排调度器,基于所述温度、所述界限温度、所述命令动作时间、所述影响度以及所述访问命令,分别按各裸片而算出忙时间和要求时间,在所算出的所述要求时间小于所述忙时间的情况下,制作所述安排调度表以使得执行全部的所述访问命令。5.根据权利要求3所述的存储系统,所述安排调度器,基于所述温度、所述界限温度、所述命令动作时间、所述影响度以及所述访问命令,分别按各裸片而算出忙时间和要求时间,在所算出的所述要求时间为所述忙时间以上的情况下,进行所述访问命令的加权来制作所述安排调度表,以使得所述裸片的温度不超过所述界限温度。6.根据权利要求5所述的存储系统,所述安排调度器在进行所述访问命令的加权时,根据按各所述裸片而预先确定的所述命令动作时间的长度,按各所述访问命令来调整权重。7.根据权利要求6所述的存储系统,所述安排调度器根据按各所述裸片而预先确定的所述命令动作时间的比率,制作所述安排调度表。
8.根据权利要求7所述的存储系统,所述安排调度器在所述存储系统动作期间中以预定的定时对所述命令动作时间的比率的值进行调整。9.根据权利要求8所述的存储系统,所述预定的定时是对于所述多个裸片的温度控制处理的循环的定时。10.根据权利要求2所述的存储系统,所述安排调度器在所述存储系统动作期间中,按各所述裸片而在能够动作的温度范围内以预定的定时对所述界限温度的值进行调整。11.根据权利要求10所述的存储系统,所述预定的定时是对于所述多个裸片的温度控制处理的循环的定时。

技术总结


实施方式提供能够通过非易失性半导体存储器的裸片级的温度控制来抑制温度上升、提高性能和可靠性的存储系统。实施方式涉及的存储系统具备:具有多个裸片的非易失性半导体存储器、分别按各裸片而设置的温度传感器以及存储控制器。温度传感器测定裸片的温度。存储控制器基于温度、按各裸片而预先确定的界限温度以及用于对非易失性半导体存储器进行访问的访问命令,按各裸片来执行访问命令的安排调度。按各裸片来执行访问命令的安排调度。按各裸片来执行访问命令的安排调度。


技术研发人员:

P

受保护的技术使用者:

铠侠股份有限公司

技术研发日:

2021.08.30

技术公布日:

2022/4/1

本文发布于:2024-09-24 01:21:41,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/13188.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   存储器   所述   温度
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议