计算;推算;计数设备的制造及其应用技术存储器系统、存储器系统的控制方法及主机装置1.[相关申请案][0002]本技术案享有以日本专利申请案2021-45469号(申请日:2021年3月19日)为基础申请案的优先权。本技术案通过参照该基础申请案而包含基础申请案的全部内容。技术领域[0003]本发明的实施方式涉及一种存储器系统、存储器系统的控制方法及主机装置。背景技术:[0004]包含nand(not and,与非)闪存的存储器系统被用于各种电子机器。这种存储器系统能够与主机装置连接。存储器系统执行与来自主机装置的指令对应的处理。存储器系统有时从主机装置接收指示通用处理的通用指令。即,主机装置能够向存储器系统发送通用指令。技术实现要素:[0005]实施方式是对于存储器系统、存储器系统的控制方法及主机装置,提高对从主机装置发送到存储器系统的指令的处理相关的功能。[0006]实施方式的存储器系统具备存储器装置及控制器,该控制器能够与主机连接,根据固件来控制存储器装置。控制器从主机接收与存储器装置的动作控制相关的第1指令、及包含第1旗标的第1文件,执行与第1文件的内容对应的序列,在执行序列后,将包含序列的完成通知的应答发送到主机。序列包含:第1动作,在第1旗标具有第1值的情况下,执行固件的更新;或第2动作,在第1旗标具有与第1值不同的第2值的情况下,依序执行第1文件中包含的多个第2指令。附图说明[0007]图1是用来说明第1实施方式的存储器系统的图。[0008]图2是表示第1实施方式的存储器系统的构成例的图。[0009]图3是表示图中所示的存储单元阵列的电路构成的一例的图。[0010]图4是用来说明第1实施方式的存储器系统的概念的图。[0011]图5是用来说明第1实施方式的存储器系统的动作例的图。[0012]图6是表示第1实施方式的存储器系统的动作例的顺序图。[0013]图7是表示第1实施方式的存储器系统的动作例的顺序图。[0014]图8是表示第1实施方式的存储器系统的动作例的顺序图。[0015]图9是第1实施方式的存储器系统的动作例的流程图。[0016]图10是表示第2实施方式的存储器系统的动作例的顺序图。[0017]图11是表示第3实施方式的存储器系统的动作例的顺序图。具体实施方式[0018]参照图1至图11,对实施方式的存储器系统、存储器系统的控制方法及主机装置进行说明。[0019]以下,参照附图,对本实施方式进行详细说明。以下说明中,对具有相同功能及构成的要素标注相同符号。[0020]另外,以下各实施方式中,在无须将末尾标注着用来区分的数字/字母的参照符号的构成要素(例如电路、配线、各种电压及信号等)相互加以区分的情况下,使用省略了末尾的数字/字母的记载(参照符号)。[0021][实施方式][0022](1)第1实施方式[0023]参照图1至图9,对第1实施方式的存储器系统、存储器系统的控制方法及主机装置进行说明。[0024](a)构成例[0025]图1是用来说明本实施方式的存储器系统的图。[0026]如图1所示,服务器900经由网络ntw连接在信息通信装置800。[0027]服务器900包含处理器91、ram(random access memory,随机存取存储器)92、存储装置93及接口电路(也称为i/f)94。[0028]处理器91控制服务器900内的各种处理(例如计算处理及数据处理)及动作。处理器91能够创建包含各种数据及(或)信息的文件。[0029]ram92作为服务器900内的各种数据处理的作业区域发挥功能。ram92暂时存储程序(即软件)、及处理器91的各种处理中使用的数据(例如计算处理的结果、计算处理途中的数据及(或)参数等)。[0030]存储装置93存储各种程序及各种信息。[0031]接口电路94基于某接口规格及(或)网络ntw所使用的通信协议,与其它装置(此处为信息通信装置800)进行通信。例如,接口电路94对信息通信装置800传送已创建的文件。接口电路94接收来自信息通信装置800的数据。[0032]信息通信装置800包含本实施方式的存储器系统1及主机装置5。[0033]本实施方式的存储器系统1在信息通信装置800内,基于来自主机装置5的请求,进行存储器系统1内的数据写入、数据读出及数据抹除。[0034]本实施方式的存储器系统1的内部构成如下所述。[0035]主机装置5包含处理器50、ram51、接口电路(也称为i/f)53、54。[0036]处理器(以下,也称为主机处理器)50控制主机装置5的各种处理及动作。[0037]主机处理器50能够发布(或产生)用来请求(例如命令、指示)对存储器系统1的各种处理及动作的指令(以下,称为主机指令)。主机处理器50能够产生与主机指令对应的文件。以下,该文件也被称为输入文件或主机文件[0038]文件是包含存储器系统1的处理及动作中使用的1个以上的数据(信息、参数)的数据集。文件可包含1个以上的指令(或表示指令的数据)或者执行码。文件可能包含像旗标及(或)扩展名这样的表示文件种类及(或)文件特性的信息。文件也可以是例如写入到存储器系统1中的数据。[0039]例如,主机处理器50包含用来产生主机指令的指令产生组件(指令产生电路的一例)501。主机处理器50包含用来产生文件的文件产生组件502(文件产生电路的一例)。指令产生组件501及文件产生组件502可以是硬件(电路),也可以是软件(程序)。[0040]ram51作为用于主机处理器50的各种数据处理的作业区域发挥功能。ram51暂时存储程序(即软件)、及主机处理器50的各种处理中使用的数据(计算处理的结果、计算处理途中的数据及参数)。[0041]接口电路53基于某接口规格及(或)通信协议,经由网络ntw与服务器900进行通信。接口电路53将来自服务器900的信号及数据等输出到主机装置5内的内部总线。[0042]接口电路54基于某接口规格及(或)通信协议,与存储器系统1进行通信。[0043]此外,针对存储器系统1的主机指令hcmd(指令码)是基于接口电路54的接口规格。例如,接口电路54中使用的接口规格(或通信协议)采用sas(serial attached scsi,串行连接的scsi)规格、sata(serial advanced technology attachment,串行高级技术附件)规格、pciexpress(peripheral component interconnect express,高速外围组件互连标准)(注册商标)规格(以下,记载为pcie规格)、nvmexpress(non-volatile memory express,非易失性存储器标准)(注册商标)规格(以下,记载为nvme规格)、通用闪存存储(universal flash storage)规格(以下,记载为ufs规格)等。此外,可将以此处例示的接口规格中的任一规格为基准的接口规格或其它接口规格用于接口电路54中。[0044]主机装置5能够使用基于所述接口规格的公开的指令或非公开的指令,命令存储器系统1执行各种动作。[0045]公开的指令(以下,称为公开指令)是存储器系统1的规格书、技术数据表或说明书等中揭示的指令。例如,公开指令包含对存储器系统命令比如针对存储器系统的数据写入、数据读出及数据无效化或抹除这样的与用户数据相关的存储器系统的各种动作的指令。[0046]非公开的指令(以下,称为非公开指令)是存储器系统1的规格书、技术数据表或说明书等中未揭示的指令。例如,非公开指令是基于某协议的厂商专用(或开发者专用)的指令。非公开指令的例子包含存储器系统1的调试(debug)的指令、用于存储器系统1的测试的指令、用于存储器系统1的解析的指令、用于存储器系统1的各种设定的初始化的指令及用于获取存储器系统1的内部处理的日志的指令等。[0047]但,非公开指令与公开指令同样,是根据存储器系统1与主机装置5(或服务器900)之间的接口规格定义的指令。[0048]主机装置5除包含所述构成以外,还可包含像hdd(hard disc drive,硬盘)这样的存储装置(未图示)。[0049]例如,主机装置5(或信息通信装置800)为个人计算机、智能手机、功能手机(feature phone)、移动终端(例如平板终端)、游戏设备、车载设备、路由器及基站等。[0050]本实施方式的存储器系统1包含存储器控制器10及nand闪存(以下,也简称为闪存)20。[0051]<存储器系统>[0052]图2是用来说明本实施方式的存储器系统的构成例的图。[0053](存储器控制器)[0054]存储器控制器10基于来自主机装置5的请求,向nand闪存20指示(命令)针对nand闪存20的数据写入、数据读出及数据抹除等各种处理及动作。[0055]存储器控制器10包含处理器100、ram110、缓冲电路120、接口电路130、140。[0056]处理器100能够指示(或命令)针对nand闪存20的各种处理及动作。例如,处理器100能够产生表示针对nand闪存20的指示的指令(以下,也称为控制器指令)。例如,处理器100基于存储器系统1内(例如nand闪存20的某存储区域内)存储的固件,控制针对nand闪存20的各种处理及动作。[0057]处理器100包含cpu101、解析组件(解析电路的一例)102及执行组件(执行电路的一例)103等。处理器100因这些构成要素而具有用来执行公开指令及非公开指令的功能、用来更新固件的功能等。[0058]cpu101控制在处理器100内执行的各种处理及处理器100内的各种动作。[0059]解析组件102对来自主机装置5的主机指令hcmd进行解析。[0060]执行组件103执行基于指令hcmd的解析处理的结果的动作。[0061]解析组件102及执行组件103只要能够实现各组件102、103的功能,则可以包含硬件(电路),也可以包含软件(程序)。[0062]ram110作为存储器控制器10内的用于处理器100的各种处理及动作的作业区域发挥功能。ram110暂时存储程序及处理器100的各种处理中使用的数据(计算处理的结果、计算处理途中的数据及参数)等。例如,通过cpu101及执行组件103来访问ram110。[0063]此外,ram110也可为设置在处理器100内的存储区域(ram)。[0064]缓冲电路120将存储器控制器10与主机装置5之间传输的数据、及存储器控制器10与闪存20之间传输的数据进行暂时存储。[0065]例如,缓冲电路120包含指令缓冲区121及数据缓冲区122。[0066]指令缓冲区(指令缓冲区电路的一例)121暂时存储主机指令hcmd。[0067]数据缓冲区(数据缓冲区电路的一例)122暂时存储来自主机装置5的文件(输入文件)ipf或数据。输入文件ipf是包含1个以上的数据及(或)1个以上的指令(表示指令的数据)等的数据集。输入文件ipf包含像旗标这样的识别信息。[0068]接口电路(以下,也称为主机接口电路)130基于某接口规格,进行主机装置5与存储器控制器10之间的数据传输。接口电路130的接口规格(及通信协议)是与主机装置5的接口电路54的接口规格相同的规格(或标准规格)。[0069]接口电路(以下,也称为nand接口电路)140基于nand接口规格,进行存储器控制器10与nand闪存20之间的通信(例如数据传输)。[0070]在存储器控制器10对nand闪存20命令某动作的情况下,存储器控制器10将包含指令及地址信息的数据群(以下,也称为nand指令集)传送到nand闪存20。此外,在存储器控制器10对nand闪存20命令数据写入的情况下,nand指令集还包含写入数据。[0071]此外,存储器控制器10除了包含所述构成以外,还可包含像ecc(error check and correction,错误检查与校正)电路(未图示)这样的其它构成。[0072](nand闪存)[0073]nand闪存20是非易失性半导体存储器装置。nand闪存20能够实质上非易失地存储数据。[0074]以下,nand闪存20也简称为闪存20。[0075]闪存20例如包含存储单元阵列200、指令寄存器201、地址寄存器202、定序器203、驱动电路204、行控制电路205、感测放大器电路206及接口电路(输入输出电路的一例)207等。[0076]存储单元阵列200存储数据。存储单元阵列200内设有多个位线(未图示)及多个字线(未图示)。存储单元阵列200包含1个以上的区块blk0~blki-1(i为1以上的整数)。区块blk(blk0~blki-1)是多个存储单元的集合。区块blk例如被用作数据抹除单位。[0077]图3是表示nand闪存20的存储单元阵列200的电路构成的一例的等效电路图。图3中,抽选存储单元阵列200所包含的多个区块blk中的1个区块blk来表示。[0078]如图3的例子,区块blk例如包含4个串组件su0、su1、su2、su3。各串组件su包含多个存储单元串(以下,称为nand串)ns。多个nand串ns分别与多个位线bl0~blm-1(m为1以上的整数)中的对应的1个建立关联。[0079]nand串ns包含多个存储单元mc0~mcn-1、及选择晶体管st1、st2。[0080]存储单元(以下,也称为存储单元晶体管)mc(mc0~mcn-1)是包含电荷储存层的场效晶体管。存储单元mc能够实质上非易失地存储1位以上的数据。[0081]选择晶体管st1、st2分别被用于各种动作时的串组件su的选择。[0082]各nand串ns中,存储单元mc0~mcn-1串联连接于选择晶体管st1的源极与选择晶体管st2的漏极之间。同一区块blk内的存储单元mc0~mcn-1的控制栅极共通连接于多个字线wl0~wln-1中对应的1个。[0083]各nand串ns中,选择晶体管st1的一端(源极)连接在串联连接的存储单元mc的一端,选择晶体管st1的漏极连接在对应的位线bl。选择晶体管st1的栅极连接在多个选择栅极线sgd中对应的1个。[0084]各nand串ns中,选择晶体管st2的一端(源极)连接在源极线,选择晶体管st2的另一端(漏极)连接在串联连接的存储单元mc的另一端。选择晶体管st2的栅极连接在选择栅极线sgs。例如,同一区块blk内的多个选择晶体管st2的源极共通连接在1个源极线sl。同一区块blk内的多个选择晶体管st2的栅极共通连接在1个选择栅极线sgs。[0085]1个串组件su内连接在共通的字线wl的多个存储单元mc的单位例如被称为单元组件cu。例如,在存储单元mc各自存储1位数据的情况下,1个单元组件cu能够存储1页数据。在存储单元mc各自存储2位数据的情况下,1个单元组件cu能够存储2页数据。“1页数据”例如以包含存储1位数据的存储单元mc的单元组件cu所存储的数据总量定义。[0086]此外,实施方式的nand闪存20的存储单元阵列200的电路构成不限于所述构成。例如,各nand串ns内的存储单元mc及选择晶体管st1、st2的个数能够分别设计成任意个数。各区块blk内的串组件su的个数能够设计成任意个数。[0087]返回到图2,对闪存20内的存储单元阵列200以外的构成进行说明。[0088]指令寄存器201存储来自存储器控制器10的指令(控制器指令)cmd。控制器指令cmd是例如用来使定序器203执行读出动作、写入动作及抹除动作等的信号集。[0089]地址寄存器202存储来自存储器控制器10的地址信息(以下,也称为选择地址)add。地址信息add例如包含区块地址、页地址(字线地址)及列地址。例如,区块地址、页地址及列地址分别用于区块blk、字线wl及位线bl的选择。以下,基于区块地址选择的区块被称为选择区块。基于页地址选择的字线被称为选择字线。[0090]定序器203控制闪存20的内部电路的动作。例如,定序器203基于指令寄存器201内的控制器指令cmd控制驱动电路204。[0091]驱动电路204输出数据读出(即,读出动作)、数据写入(即,写入动作)、及数据抹除(即,抹除动作)等中使用的多个电压。例如驱动电路204基于地址寄存器202内的页地址,对与选择字线对应的配线施加电压。[0092]行控制电路205控制与存储单元阵列200的行相关的动作。行控制电路205基于地址寄存器202内的区块地址,选择存储单元阵列200内的1个区块blk。行控制电路205将例如施加到与选择字线对应的配线的电压传输到选择区块blk内的选择字线。[0093]感测放大器电路206控制与存储单元阵列200的列相关的动作。感测放大器电路206在写入动作中,根据来自存储器控制器10的写入数据dt,对存储单元阵列200内设置的各位线施加电压。感测放大器电路206在读出动作中,基于位线的电位(或有无电流产生)来判定存储单元中存储的数据。感测放大器电路206将基于该判定结果的数据作为读出数据dt传输到存储器控制器10。[0094]接口电路207在存储器控制器10与闪存20之间,进行各种控制信号及数据的输入及输出。[0095]nand闪存20与存储器控制器10之间的通信由nand接口规格支持。例如,在闪存20与存储器控制器10之间的通信中,使用指令锁存使能信号cle、地址锁存使能信号ale、写入使能信号wen、读取使能信号ren、就绪/忙碌信号rbn及输入输出信号io。[0096]指令锁存使能信号cle是表示闪存20所接收到的输入输出信号io为控制器指令cmd的信号。地址锁存使能信号ale是表示闪存20所接收到的信号io为地址信息add的信号。写入使能信号wen是命令闪存20使其执行向闪存20内的输入输出信号io的输入的信号。读取使能信号ren是命令闪存20使其执行向存储器控制器10的输入输出信号i/o的输出的信号。[0097]就绪/忙碌信号rbn是向存储器控制器10通知闪存20是处于就绪状态还是处于忙碌状态的信号。就绪状态是受理来自存储器控制器10的指令的状态。忙碌状态是闪存20未受理指令的状态。[0098]输入输出信号io可能包含控制器指令cmd、地址信息add、数据dt等。输入输出信号io例如为8位宽的信号(信号集)。[0099]此外,nand闪存20有时由包含存储单元阵列200、行控制电路205及感测放大器电路206的构成(控制单位)形成被称为存储器面的控制单位。图2中,示出nand闪存20具有1个存储器面的例子。但是,nand闪存20也可以包含2个以上的存储器面。存储器面的构成不限于所述构成,存储器面只要至少包含存储单元阵列200即可。[0100]例如,存储器系统1为ssd(solid state drive,固态驱动器)、存储卡、或usb(universal serial bus,通用串行总线)存储器、ufs(universal flash storage,通用闪存存储)装置等。[0101]此外,亦可代替nand闪存20,将其它非易失性或易失性存储器装置用于存储器系统1。[0102]<概念>[0103]图4是用来说明本实施方式的存储器系统的基本概念的示意图。[0104]如图4所示,本实施方式的存储器系统1能够根据由主机装置5命令(请求及指示)的多个动作序列(动作模式)sq0、sq1、sq2,执行各种处理及动作。[0105]如上所述,本实施方式的存储器系统1从主机装置5接收主机指令hcmd(hcmdfwup、hcmdnom)及输入文件ipf(ipfflg<0>、ipfflg<1>、ipfnom)。本实施方式的存储器系统1基于主机指令hcmd及输入文件ipf,执行各种处理及动作。[0106]例如,作为主机指令hcmd,本实施方式的存储器系统1接收常规指令hcmdnom及固件更新指令hcmdfwup等。[0107]在主机装置5向存储器系统1请求使用常规指令的动作序列(以下,也称为常规指令模式)sq0的情况下,主机装置5对存储器系统1发布(产生及发送)常规指令hcmdnom。存储器系统1执行与来自主机装置5的常规指令hcmdnom对应的处理及动作。[0108]常规指令hcmdnom是所述公开指令。常规指令hcmdnom例如是基于主机装置5与存储器系统1之间使用的接口规格(例如所述pcie规格或nvme规格)的指令、基于存储器系统的规格的指令。常规指令hcmdnom是用于数据写入、数据读出及数据抹除等对闪存20内的数据进行存取的指令、及与闪存20的各种设定及管理相关的指令(例如状态读取指令或zq指令等)。[0109]此外,主机装置5有时会根据向存储器系统1请求的动作,将输入文件ipfnom(例如写入数据、参数或设定信息等)连同常规指令hcmdnom一起传送。[0110]以下,主机指令hcmd和与该指令hcmd建立关联的输入文件ipf的集合被称为主机指令集。[0111]在主机装置5向存储器系统1请求用于存储器系统1的固件(以下,也记载为fw)更新的动作序列(以下,也称为fw更新模式)sq1的情况下,主机装置5对存储器系统1发布固件更新指令(以下,也记载为fw更新指令)hcmdfwup。固件更新指令hcmdfwup是用于存储器系统1的固件更新的指令。fw更新指令hcmdfwup也可根据来自服务器900的请求而发布。[0112]在fw更新模式sq1时,主机装置5根据fw更新指令hcmdfwup,将包含用于固件更新的数据及信息的输入文件(以下,也称为fw更新文件)ipfflg<0>传送到存储器系统1。fw更新文件ipfflg<0>包含固件更新所使用的各种数据dt及信息等。例如,fw更新文件ipfflg包含识别旗标flg。fw更新模式sq1时,识别旗标flg例如具有第1值(<0>)。[0113]存储器系统1基于来自主机装置5的fw更新指令hcmdfwup,使用fw更新文件ipfflg<0>,执行用于固件更新的各种处理及动作。[0114]在主机装置5向存储器系统1请求连续地执行多个指令scmd(scmd<0>、scmd<1>、scmd<k>)的动作序列(以下,称为指令序列模式)的情况下,主机装置5对存储器系统1发布fw更新指令hcmdfwup。[0115]指令序列模式时,主机装置5根据fw更新指令hcmdfwup,将用于指令序列模式sq2的输入文件(以下,也称为指令序列文件)ipfflg<1>传送到存储器系统1。此时,主机装置5对指令序列文件ipfflg<1>附上具有不同于第1值的第2值(<1>)的识别旗标flg。[0116]在执行指令序列模式的情况下,存储器系统1从主机装置5接收附加有识别旗标的指令序列文件ipfflg<1>、以及fw更新指令hcmdfwup。[0117]本实施方式中,在存储器系统1接收到fw更新指令hcmdfwup的情况下,存储器系统1基于识别旗标flg,判别应执行的动作序列(动作模式)是fw更新模式sq1还是指令序列模式sq2。[0118]本实施方式中,附加在输入文件ipf上的识别旗标flg是表示输入文件ipf的种类(存储器系统1应执行的动作序列)的信息。[0119]在存储器系统1应执行的动作序列为fw更新模式sq1时(输入文件ipf为fw更新文件的情况下),识别旗标flg具有第1值(<0>)。[0120]在存储器系统1应执行的动作序列为指令序列模式sq2时(输入文件ipf为指令序列文件的情况下),识别旗标flg具有不同于第1值的第2值(<1>)。[0121]在请求执行fw更新模式sq1时,主机装置5(或服务器900)对输入文件ipf附加第1值的识别旗标flg<0>。在请求执行指令序列模式sq2时,主机装置5(或服务器900)对输入文件ipf附加第2值的识别旗标flg<1>。[0122]例如,识别旗标flg为1位或2位信号。[0123]此外,识别旗标flg可以只在执行指令序列模式sq2时附加在输入文件ipf上。也可以在执行常规指令模式sq0时,将表示常规指令模式sq0的识别旗标flg和主机指令hcmd一起从主机装置5传送到存储器系统1。[0124]以下,在识别旗标flg为第1值(也称为第1旗标值)的情况下,也表述为识别旗标flg处于关闭状态。在识别旗标flg为第2值(也称为第2旗标值)的情况下,也表述为识别旗标flg处于开启状态。[0125]指令序列模式sq2下的附有识别旗标的输入文件ipfflg<1>包含指令序列模式所使用的1个以上的指令scmd(scmd<0>、scmd<1>、scmd<k-1>(k为1个以上的整数))、各种数据dt及信息等,以及识别旗标flg<1>。例如,指令scmd也可以是表示应执行的1个以上的指令的数据(程序码)。[0126]本实施方式的存储器系统1基于fw更新指令hcmdfwup及指令序列文件ipfflg<1>,执行指令序列文件ipfflg<1>内的多个指令scmd<0>、scmd<1>、scmd<k-1>。[0127]例如,主机装置5(或服务器900)在产生指令序列文件ipfflg<1>时,设定指令序列文件ipfflg<1>内的多个指令scmd<0>、scmd<1>、scmd<k-1>的执行顺序。[0128]存储器系统1按照所设定的执行顺序,依序执行多个指令scmd<0>、scmd<1>、scmd<k-1>。[0129]存储器系统1在执行各指令scmd<0>、scmd<1>、scmd<k-1>时,适当使用指令序列文件ipfflg<1>内的数据dt。[0130]例如,存储器系统1根据识别旗标flg的判别结果,将表示指令序列模式sq2处于执行中的旗标(以下为执行中旗标)flgexe设定为关闭状态或开启状态。在识别旗标flg为第1值时(fw更新模式sq1时),存储器系统1将执行中旗标flgexe设定为关闭状态。在识别旗标flg为第2值时(指令序列模式时),存储器系统1将执行中旗标flgexe设定为开启状态。存储器系统1在指令序列模式sq2执行结束时,将执行中旗标flgexe从开启状态改变为关闭状态。[0131]此外,服务器900也可产生包含识别旗标flg的输入文件(例如指令序列文件)ipfflg。服务器900向主机装置5提供指令序列文件ipfflg<1>。[0132]主机装置5根据来自服务器900的指令序列文件ipfflg<1>,产生fw更新指令hcmdfwup。主机装置将fw更新指令hcmdfwup、及来自服务器900的指令序列文件ipfflg<1>传送到本实施方式的存储器系统。[0133]如上所述,本实施方式的存储器系统1能够执行多个动作序列sq1、sq2、sq3。[0134](b)动作例[0135]参照图5至图9,对本实施方式的存储器系统的动作例进行说明。[0136](b-1)动作序列[0137]参照图5至图8,对本实施方式的存储器系统的动作序列进行说明。[0138]如所述图4所示,本实施方式的存储器系统能够基于3个动作序列进行动作。[0139]图5是示意地表示各动作序列时的本实施方式的存储器系统内的各构成的处理流程的图。[0140]如图5所示,主机装置5将主机指令hcmd传送到存储器系统1。主机装置5根据向存储器系统1请求的动作,将输入文件ipf传送到存储器系统1。如上所述,主机装置5根据向存储器系统1请求的动作序列,对输入文件ipf附加识别旗标flg。[0141]存储器系统1接收主机指令hcmd及输入文件ipf。主机指令hcmd存储在缓冲电路120的指令缓冲区121内。输入文件ipf存储在缓冲电路120内的数据缓冲区122内。[0142]在存储器系统1内,处理器100根据指令缓冲区121内的主机指令hcmd,执行对应的动作序列(动作模式)。[0143]如上所述,处理器100包含cpu101、解析组件102及执行组件103。进而,处理器100包含命令码存储器104及工作存储器105。工作存储器105也可设置在ram110内。[0144]cpu101基于固件fw的命令码,执行存储器控制器10内的各种处理及动作、针对闪存20的各种处理及动作、及各种控制。[0145]解析组件102能够访问指令缓冲区121内的主机指令hcmd。主机指令hcmd从指令缓冲区121被供给到解析组件102。[0146]解析组件102对主机指令hcmd进行解析(例如解码)。[0147]本实施方式中,解析组件102能够访问数据缓冲区122内的输入文件ipf所包含的指令scmd。指令scmd通过cpu101(或执行组件103)的控制,从数据缓冲区122被供给到解析组件102。[0148]解析组件102对指令scmd进行解析。例如,解析组件102能够通过与输入文件ipf中包含的识别旗标flg对应的执行组件103的控制,来访问输入文件ipf,获取输入文件ipf内的指令scmd。[0149]像这样,本实施方式中,解析组件102能够执行与指令缓冲区121内的指令hcmd及数据缓冲区122内的指令scmd相关的解析处理。[0150]解析组件102指示执行组件103执行基于主机指令hcmd及指令scmd的解析结果的处理及动作。[0151]执行组件103根据来自解析组件102的指示,执行与主机指令hcmd及指令scmd相关的各种处理及动作。执行组件103根据应执行的处理及动作,对数据缓冲区122、工作存储器105及ram110进行访问。随着指令hcmd、scmd的处理及动作完成,执行组件103产生针对指令hcmd、scmd的应答res。执行组件103将所产生的应答res输出到主机装置5或工作存储器105。[0152]此外,执行组件103能够访问闪存20。[0153]命令码存储器104将存储器系统1的固件的命令码予以存储。从cpu101访问命令码存储器104。固件是在存储器系统1的电源接通时,从固件插槽(例如闪存20)读出。此时,固件的命令码存储在命令码存储器104内。[0154]命令码是例如操作码那样的,表示在存储器系统1内执行的基本处理(例如逻辑运算、算术运算或数据处理等)的编码。[0155]工作存储器105作为cpu101的各种数据处理的作业区域发挥功能。工作存储器105暂时存储程序(或程序的一部分)、及数据(例如计算中的参数、计算结果)。从cpu101及执行组件103访问工作存储器105。此外,工作存储器105可以是处理器100内的存储区域,也可以是ram110内的存储区域。[0156]例如,命令码存储器104及工作存储器105是易失性存储器(例如dram(dynamic random access memory,动态随机存取存储器)或sram(static random access memory,静态随机存取存储器))。[0157]闪存20在其一部分存储区域中作为固件插槽(以下,也记载为fw插槽)发挥功能。闪存20存储固件。在固件更新时,闪存20内的现有固件被新的固件重写。[0158]也可以将除闪存20以外的非易失性存储器装置用于固件插槽中。[0159]如下所述,本实施方式的存储器系统1根据来自主机装置5的请求,执行常规指令模式sq0、fw更新模式sq1及指令序列模式sq2的各动作序列。[0160]<常规指令模式>[0161]使用图6,对本实施方式的存储器系统中的常规指令模式的各种处理及动作进行说明。[0162]图6是表示本实施方式的存储器系统的常规指令模式时的构成要素间的处理流程的顺序图。[0163]<q00、q01>[0164]如图6所示,主机装置5产生与向存储器系统1请求的处理及动作对应的主机指令hcmd。[0165]常规指令模式sq0时,例如在主机装置5请求针对存储器系统1的各种动作的情况下,主机装置5利用主机处理器50产生常规指令hcmdnom。常规指令hcmdnom为公开指令。常规指令hcmdnom是基于主机装置5与存储器系统1之间的接口规格定义的数据群。[0166]主机装置5将常规指令hcmdnom作为主机指令hcm,经由所述接口电路54传送到本实施方式的存储器系统1(q00)。[0167]主机装置5通过主机处理器50,根据请求执行的动作,产生输入文件ipfnom。例如常规指令模式sq0时,主机装置5不对输入文件ipfnom附加表示动作序列的识别旗标flg。[0168]主机装置5将输入文件ipfnom经由所述接口电路54传送到存储器系统1(q01)。[0169]此外,根据请求执行的动作,有时不会产生输入文件ipfnom。[0170]像这样,主机装置5向存储器系统1请求(命令、指示)某处理及动作的情况下,主机装置5对存储器系统1传送主机指令集。主机指令集除包含主机指令hcmd及输入文件ipfnom外,还可包含表示存储器系统1内的访问目标的地址信息及用来执行主机指令的各种信息。[0171]存储器系统1经由所述主机接口电路130接收主机指令集。[0172]在存储器系统1内,主机指令hcmd被供给到指令缓冲区121,输入文件ipfnom被供给到数据缓冲区122。[0173]<q02、q03、q04>[0174]在存储器系统1内,通过cpu101将主机指令hcmd从指令缓冲区121输入到解析组件102(q02)。[0175]解析组件102对作为主机指令hcmd的常规指令hcmdnom进行解析(q03)。[0176]解析组件102基于常规指令hcmdnom的解析结果,指示执行组件103执行各种处理及动作(q04)。[0177]<q05、q06>[0178]执行组件103基于来自解析组件102的指示,执行多个处理及动作(q05)。[0179]执行组件103根据应执行的处理及动作,访问数据缓冲区122的输入文件ipfnom内的数据(q06)。[0180]例如,执行组件103根据应执行的处理及动作,执行对工作存储器105的访问(qa)及(或)对闪存20的访问(qb)。[0181]通过常规指令模式sq0执行的动作及处理是对闪存的数据写入、来自闪存的数据读出、闪存内的数据抹除、巡检动作(更新动作)或垃圾回收、用于闪存20的电路设定的动作(例如校准动作)等。[0182]<q07>[0183]当在存储器系统1内完成与常规指令hcmdnom对应的动作及处理时,执行组件103输出应答res。主机装置5从存储器系统1接收应答res。[0184]应答res包含动作序列的完成通知、读出数据、及(或)表示根据主机指令执行的处理及动作的结果的信息(例如状态或参数)等。[0185]主机装置5基于应答res,执行针对服务器900或存储器系统1的各种处理及动作、或主机装置5内的内部处理。[0186]此外,在将多个指令从主机装置5传输到存储器系统1的情况下,也可以是每当完成各指令的执行时,存储器系统1就将应答res传输到主机装置5。[0187]如上所述,本实施方式的存储器系统中的常规指令模式sq0的动作序列结束。[0188]<固件更新模式>[0189]使用图7,对本实施方式的存储器系统中的fw更新模式的各种处理及动作进行说明。[0190]图7是表示本实施方式的存储器系统的fw更新模式时的构成要素间的处理流程的顺序图。[0191]<q10、q11>[0192]如图7所示,主机装置5对存储器系统1传送主机指令集。主机指令集至少包含主机指令hcmd及输入文件ipf。[0193]在fw更新模式sq1时,主机装置5通过主机处理器50产生fw更新指令hcmdfwup作为主机指令hcmd。[0194]在请求执行fw更新模式sq1时,输入文件ipf(fw更新文件ipfflg<0>)包含与固件更新相关的各种信息(以下,也称为更新信息)。[0195]本实施方式中,如所述图4所示,在请求执行fw更新模式sq1时,主机装置5通过主机处理器50对输入文件ipf附加识别旗标flg。主机装置5将识别旗标flg的状态设定为表示执行fw更新模式sq1的状态。识别旗标flg具有第1值<0>。对识别旗标flg设定的值例如是由1位或2位表示的值。[0196]此外,fw更新文件ipfflg<0>也可以由服务器900产生。[0197]如上所述,主机装置5将fw更新指令hcmdfwup传送到存储器系统(q10)。主机装置5将附有识别旗标的fw更新文件ipfflg<0>传送到存储器系统1(q11)。[0198]存储器系统1接收主机指令集。在存储器系统1中,作为主机指令的fw更新指令hcmdfwup被供给到指令缓冲区121,包含识别旗标flg的输入文件ipfflg<0>被供给到数据缓冲区122内。[0199]此外,存储器系统1基于电源接通时读出的固件(现有固件)fwa,使用命令码存储器104内的命令码来动作。[0200]<q12、q13>[0201]主机指令hcmd是从指令缓冲区121输入到解析组件102(q12)。[0202]在存储器系统1内,解析组件102对来自指令缓冲区121的主机指令hcmd进行解析(q13)。通过主机指令hcmd的解析,解析组件102侦测到应执行的主机指令hcmd为fw更新指令hcmdfwup。[0203]解析组件102指示执行组件103执行fw更新(q14)。[0204]<q15、q16、q17>[0205]执行组件103执行与来自解析组件102的fw更新指令的执行指示对应的动作(q15)。[0206]本实施方式中,执行组件103根据来自解析组件102的fw更新指示,访问数据缓冲区122内的输入文件ipfflg<0>。执行组件103确认输入文件ipfflg<0>内的识别旗标flg的状态(q16)。[0207]在识别旗标flg表示fw更新文件(执行fw更新模式sq1)的情况下,执行组件103侦测第1值的识别旗标flg<0>。由此,执行组件103执行固件更新。该情况下,执行组件103将执行中旗标flgexe设定为关闭状态(f0)。[0208]在固件更新的执行中,执行组件103根据固件更新的进行,访问fw更新文件ipfflg<0>(q17)。由此,执行组件103执行使用了fw更新文件ipfflg<0>的各种处理及动作。[0209]此外,在固件更新时,执行组件103有时也会使用工作存储器105内或闪存(fw插槽)20内的数据(qa、qb)。[0210]<q18、q19、q20>[0211]根据fw更新的进行,执行组件103使用fw更新文件ipfflg<0>,进行现有固件(更新前的固件)及新的固件(更新后的固件)的验证(q18)。[0212]执行组件103使用fw更新文件ipfflg<0>,使fw固件变得非易失(q19)。例如,执行组件103将新的固件及该固件相关的信息写入作为fw插槽的闪存20的特定存储区域内。[0213]执行组件103使用fw更新文件ipfflg<0>,进行命令码(执行码)的重写(q20)。执行组件103将基于命令码存储器104内的现有固件fwa的命令码重写为基于新的固件fwb的命令码。[0214]由此,命令码存储器104内的命令码从更新前的固件fwa的命令码更新为更新后的固件fwb的命令码。[0215]通过命令码的更新,本实施方式的存储器系统1基于新的固件(更新后的固件)fwb动作。[0216]此外,刚从固件fwa更新为新的固件fwb后,也可以不执行基于新的固件fwb的动作,而继续进行基于前一固件fwa的动作。该情况下,基于新的固件fwb的动作是在存储器系统1的下一次重置时或存储器系统1的下一次启动时执行。[0217]<q21>[0218]执行组件103输出与fw更新指令hcmdfwup相关的应答res。存储器系统1将应答res传送到主机装置5。[0219]主机装置5接收来自存储器系统1的应答res。由此,主机装置5侦测到固件更新完成。[0220]此外,主机装置5也可以根据应答res,向服务器900通知存储器系统1的固件更新完成。[0221]例如,在固件更新失败的情况下,执行组件103也可以将包含错误信息的应答res传送到主机装置5。[0222]如上所述,本实施方式的存储器系统中的固件更新序列结束。[0223]<指令序列模式>[0224]使用图8,对本实施方式的存储器系统的指令序列模式的各种处理及动作进行说明。[0225]图8是表示本实施方式的存储器系统的指令序列模式时的构成要素间的处理流程的顺序图。[0226]<q30、q31>[0227]如图8所示,主机装置5与所述例同样,将主机指令集传送到存储器系统1。[0228]在主机装置5请求存储器系统1执行指令序列模式sq2的情况下,主机装置5通过主机处理器50产生fw更新指令hcmdfwup。主机装置5将所产生的fw更新指令hcmdfwup作为主机指令hcmd传送到存储器系统1(q30)。[0229]本实施方式中,在请求执行指令序列模式sq2时,如所述图4所示,主机装置5通过主机处理器50对输入文件ipf附加识别旗标flg。主机装置5将识别旗标flg的状态设定为表示指令序列文件(执行指令序列模式sq2)的状态。例如,识别旗标flg具有与第1值(<0>)不同的第2值(<1>)。[0230]在请求执行指令序列模式sq2时,如所述图4所示,主机装置5通过主机处理器50,将多个指令scmd、或表示多个指令的数据存储在输入文件ipf(指令序列文件ipfflg<1>)内。指令序列文件ipfflg<1>内的多个指令中的1个以上也可以是非公开指令。指令序列文件ipfflg<1>内的多个指令可以全部是非公开指令,也可以全部是公开指令。[0231]主机装置5通过主机处理器50,设定指令序列文件ipfflg<1>内存储的多个指令scmd的执行顺序。例如,主机装置5基于多个指令scmd的执行顺序,将多个指令scmd排列在指令序列文件ipfflg内。[0232]在将表示多个指令scmd的数据存储在指令序列文件ipfflg<1>内的情况下,可以将多个指令scmd按照这些指令的执行顺序依次记载在所述数据内。[0233]由此,多个指令scmd通过下述解析组件102对输入文件ipf的访问,按照指令序列文件ipfflg<1>内的多个指令scmd的规定的执行顺序执行。[0234]此外,指令序列文件ipfflg<1>内的各指令scmd可以具有表示执行顺序的编码(或旗标)。也可以将表示多个指令scmd的执行顺序的数据作为与指令序列模式相关的信息,存储在输入文件ipf内。[0235]主机装置5通过主机处理器50,将执行指令序列模式sq2时使用的1个以上的数据(例如设定信息及参数等)存储在指令序列文件ipfflg<1>内。例如,指令序列文件ipfflg<1>中,多个数据dt分别与多个指令scmd中对应的指令建立关联。[0236]像这样,主机装置5产生具有识别旗标flg<1>的指令序列文件ipfflg<1>,作为对存储器系统1的输入文件ipf。[0237]主机装置5将所产生的附有识别旗标的指令序列文件ipfflg<1>传送到存储器系统1(q31)。[0238]存储器系统1接收主机指令集。作为主机指令hcmd的fw更新指令hcmdfwup存储在指令缓冲区121内。包含识别旗标flg的指令序列文件ipfflg<1>作为输入文件ipf存储在数据缓冲区122内。[0239]此外,在指令序列模式时,包含识别旗标flg及多个指令scmd的文件(指令序列文件ipfflg<1>)也可以由服务器900产生。服务器900将所创建的指令序列文件ipfflg<1>提供给主机装置5。[0240]服务器900有时也将用来执行指令序列模式sq2的输入文件ipf不附加识别旗标flg地提供给主机装置5。该情况下,主机装置5将具有表示指令序列模式的值的识别旗标flg<1>附加到来自服务器900的文件。[0241]<q32、q33、q34>[0242]作为主机指令hcmd的fw更新指令hcmdfwup从指令缓冲区121传输到解析组件102(q32)。[0243]解析组件102解析主机指令hcmd(q33)。通过解析主机指令hcmd,解析组件102侦测到主机指令hcmd为fw更新指令hcmdfwup。[0244]解析组件102对执行组件103指示与fw更新指令hcmdfwup对应的处理及动作(q34)。[0245]<q35、q36、q37>[0246]执行组件103执行与来自解析组件102的fw更新指令hcmdfwup的执行指示对应的动作(q35)。[0247]本实施方式中,执行组件103根据来自解析组件102的指示,访问数据缓冲区122内的输入文件ipfflg<1>,确认识别旗标flg(q36)。[0248]在识别旗标flg表示指令序列文件时(识别旗标flg具有第2值<1>的情况下),执行组件103侦测第2值的识别旗标flg<1>。由此,执行组件103开始执行指令序列模式sq2。[0249]执行组件103在执行指令序列模式sq2的情况下,将执行中旗标flgexe设定为开启状态(f1)。[0250]例如,执行组件103将识别旗标flg表示指令序列模式sq2的情况通知给解析组件102(或cpu101)(q37)。通过开启状态的执行中旗标flgexe,解析组件102(及cpu101)能够辨识应执行的动作模式为指令序列模式。[0251]执行中旗标flgexe可以从执行组件103传送到解析组件102(及cpu101),也可以存储在解析组件102(及cpu101)能够访问的寄存器中。例如,执行中旗标flgexe为1位或2位信号。在执行中旗标flgexe为开启状态的情况下,执行中旗标flgexe具有第3值。在执行中旗标flgexe为关闭状态的情况下,执行中旗标flgexe具有与第3值不同的第4值。此外,在fw更新模式sq1时及常规指令模式sq0时,执行组件103将执行中旗标设定为关闭状态(第4值)。[0252]像这样,本实施方式中,利用识别旗标flg,即使主机指令hcmd为fw更新指令,存储器系统1(例如处理器100)也会辨识应执行的动作序列为指令序列模式sq2。例如,与主机指令hcmd对应的存储器系统1内的动作模式是通过识别旗标flg的确认,从fw更新模式sq1变更为指令序列模式sq2。[0253]<q38、q39、q29>[0254]指令序列模式sq2下,执行组件103访问数据缓冲区122的指令序列文件ipfflg<1>,将该文件ipfflg<1>内的多个指令scmd中的1个传送到解析组件102(q38)。[0255]解析组件102获取指令序列文件ipfflg<1>的第1指令scmd<0>。指令序列模式sq2下,第1指令scmd<0>由执行组件103输入到解析组件102。[0256]如上所述,指令序列文件ipfflg<1>的多个指令scmd的执行顺序是在指令序列文件ipfflg<1>产生时设定。因此,执行组件103能够以预先设定的执行顺序,将多个指令中的1个传送到解析组件102。[0257]例如,指令序列文件ipfflg<1>的多个指令scmd按照该文件ipfflg<1>内的指令scmd的排列顺序,存储在数据缓冲区122的队列(或堆叠器)内。或者,在数据内,按照指令的执行顺序记载多个指令的编码。[0258]像这样,多个指令scmd按照由主机装置5(主机处理器50)决定的执行顺序,供给到解析组件102。[0259]此外,指令序列文件ipfflg<1>内的多个指令scmd也可以不经由执行组件103,而是由解析组件102根据指令序列模式sq2的执行侦测(例如开启状态的执行中旗标flgexe),获取文件ipfflg<1>内的指令scmd。[0260]解析组件102对所获取的指令scmd进行解析(q39)。[0261]解析组件102基于指令scmd的解析结果,对执行组件103指示与指令对应的处理及(或)动作(q40)。[0262]执行组件103执行与第1指令scmd<0>对应的处理及动作(q41)。例如,执行组件103根据第1指令scmd来访问工作存储器105、闪存20或数据缓冲区122(qa、qb、qc)。[0263]执行组件103完成与第1指令scmd<0>对应的处理及动作。执行组件103将与第1指令scmd<0>的完成对应的应答res1存储在工作存储器105(q42)。[0264]此外,在将应答res1保存到工作存储器105时,可以用示出指令scmd<0>与应答res1的对应关系的方式,给应答res1附加识别编号,或将应答res1存储到与工作存储器105内的指令scmd<0>建立关联的地址内。[0265]执行组件103也可以对解析组件102通知与第1指令对应的处理及动作完成。也可以基于cpu101的时间计数器(未图示)的管理,管理各指令scmd的执行时间。[0266]由此,解析组件102能够在与某指令对应的处理完成后,获取数据缓冲区122内的其它指令scmd。[0267]<q43、q44、q45、q46>[0268]与第1指令对应的处理及动作完成后,执行组件103将继第1指令scmd<0>之后执行的第2指令scmd<1>从数据缓冲区122传送到解析组件102(q43)。由此,将第2指令scmd输入到解析组件102。[0269]解析组件102执行第2指令的解析处理(q44)。解析组件102将基于指令scmd<1>的解析结果的指示传送到执行组件103(q45)。[0270]执行组件103基于来自解析组件102的指示,执行与第2指令scmd<1>对应的处理及动作(q46)。如上所述,执行组件103适当访问数据缓冲区122、工作存储器105或闪存20。[0271]执行组件103在与第2指令scmd<1>对应的处理及动作完成时,将与第2指令的完成对应的应答res2存储到工作存储器105(q47)。[0272]之后,对指令序列文件ipfflg<1>内的多个指令scmd的全部执行与q38~q47的处理及动作实质上相同的处理及动作。[0273]像这样,以特定的顺序执行输入文件ipf内的多个指令scmd。[0274]此外,当在指令序列模式sq2下,指令scmd的处理及动作未在对时间计数器设定的时间内完成时,可以对应答res1、res2附加表示执行错误的信息,也可以将表示执行错误的应答在指令序列模式sq2的执行中通知给主机装置5。当在指令序列模式下,因执行逾时等而导致发生执行错误时,可以使指令序列模式sq2的执行中断或结束。[0275]<q48>[0276]当指令序列文件ipfflg<1>内的多个指令scmd全部执行完成时,执行组件103将与指令序列模式sq2对应的应答ressq传输到主机装置5。[0277]主机装置5接收应答ressq。[0278]由此,主机装置5侦测到指令序列文件ipfflg<1>内的多个指令scmd的处理及动作完成。主机装置5能够获取应答ressq中包含的指令序列模式sq2的处理结果(例如日志数据)。[0279]当在指令序列模式sq2下,指令scmd发生执行错误时,存储器系统1可以将指令序列模式sq2的执行错误以应答ressq的形式传输到主机装置5。[0280]此外,各指令scmd的应答res1、res2可以不存储到工作存储器105,而是在各指令scmd的执行完成时点传输到主机装置5。[0281]另外,主机装置5能够从存储器系统1内读出工作存储器105内的应答res1、res2。[0282]像这样,即使来自主机装置5的主机指令hcmd为fw更新指令,本实施方式的存储器系统1也能够基于输入文件ipf内的识别旗标flg,实现与固件更新不同的动作序列(本实施方式中为指令序列模式sq2)的执行。[0283]如上所述,本实施方式的存储器系统的指令序列模式sq2结束。[0284](b-2)处理流程[0285]参照图9,对本实施方式的存储器系统的处理流程进行说明。[0286]图9是用来说明本实施方式的存储器系统的处理流程的流程图。此处,为了说明本实施方式的存储器系统的处理流程,适当使用图1至图8、及图9。[0287]如下所述,本实施方式的存储器系统1执行所述多个动作序列。[0288]<s0>[0289]在本实施方式的存储器系统1开启的情况下,存储器系统1使固件启动。与固件相关的各种信息被从nand闪存(fw插槽)20读出到存储器控制器10的处理器100。固件的命令码存储在处理器100内的命令码存储器104内。[0290]存储器系统1内,处理器100利用cpu101、解析组件102及执行组件103,控制存储器控制器10的各种内部处理、及闪存20的各种处理及动作。[0291]处理器100中,cpu101确认有无基于解析组件102的解析结果的动作指示。[0292]在无来自解析组件102的指示时(s0为否(no))、存储器系统1(存储器控制器10)成为待机状态(或内部处理状态)。[0293]在某时点,主机装置5将主机指令集传送到本实施方式的存储器系统1。[0294]本实施方式的存储器系统1接收主机指令集。在存储器控制器10内,cpu101将主机指令集内的主机指令hcmd存储在指令缓冲区121。cpu101将输入文件ipf存储在数据缓冲区122。[0295]解析组件102对从指令缓冲区121输入的主机指令hcmd进行解析(解码)。在处理器100内,解析组件102通过cpu101的控制,将与主机指令的解析结果相应的指示传送到执行组件103。[0296]<s1、s2>[0297]在针对执行组件103存在来自解析组件102的指示时(s0为是(yes)),cpu101(或执行组件103)确认来自解析组件102的指示的内容(s1)。[0298]cpu101(或执行组件103)判定来自解析组件102的指示是否为固件更新(s2)。[0299]<s3a、s3b、…、s3x>[0300]在来自解析组件102的指示并非固件更新时(s2为否),执行组件103执行与来自解析组件102的指示“x1”、“x2”、…、“xx”对应的各种处理(及动作)。[0301]在应执行的动作序列为常规指令模式sq0的情况下,如所述图6所示,执行组件103基于指示“x1”、“x2”、…、“xx”,执行各种处理。[0302]<s4>[0303]在执行组件103完成与来自解析组件102的指示对应的各种处理及动作后,cpu101(或执行组件103)确认及判定执行中旗标(flgexe)是否为开启状态。[0304]如上所述,执行中旗标flgexe是表示存储器系统1内应执行的动作序列是否为指令序列模式sq2的内部信息。[0305]在应执行的动作序列并非指令序列模式sq2的情况下,执行中旗标为关闭状态。[0306]在执行中旗标为关闭状态时(执行中旗标为第4值的情况下),存储器系统1内的处理进入s9。此外,执行中旗标为开启状态时的存储器系统1内的处理如下所述。[0307]<s9>[0308]在执行中旗标为关闭状态时(s4为否),cpu101利用执行组件103,将针对主机指令的应答传输到主机装置5。[0309]主机装置5基于应答,侦测到存储器系统1的与主机指令hcmd对应的序列已完成。例如,主机装置5可以将表示序列完成的通知(信息)传输到服务器900。[0310]之后,存储器系统1内的处理进入处理z(即,处理s0)。[0311]<s10、s11>[0312]在来自解析组件102的指示为固件更新时(s2为是),cpu101(或执行组件103)确认输入文件ipf的识别旗标flg(s10)。例如,执行组件103通过cpu101的控制,访问数据缓冲区122,确认与指示(主机指令hcmd)对应的输入文件ipf内的识别旗标flg的状态(即旗标值)。[0313]执行组件103判定识别旗标flg是否示出指令序列文件(s11)。[0314]<s12>[0315]在识别旗标flg未示出输入文件ipf为指令序列文件时(s11为否),如所述图7所示,执行组件103根据fw更新模式sq1的动作序列,使用输入文件(此处为fw更新文件ipfflg<0>),执行用于固件更新的各种处理及动作。[0316]执行组件103使用数据缓冲区122内的fw更新文件ipfflg<0>,进行固件验证及固件存储(非易失化)。[0317]由此,命令码存储器104内的命令码被重写为基于fw更新文件的新的命令码。[0318]像这样,存储器系统1内的固件更新完成。[0319]之后,存储器系统1基于已更新的固件,执行各种动作。[0320]<s9>[0321]固件更新后,cpu101利用执行组件103,将针对fw更新指令的应答传送到主机装置5。之后,存储器系统1内的内部处理进入处理z(即,处理s0)。[0322]主机装置5接收来自存储器系统1(执行组件103)的应答。例如,主机装置5能够根据应答,将固件更新完成通知给服务器。[0323]<s20>[0324]在识别旗标flg表示输入文件ipf为指令序列文件时(s11为是),执行组件103通过所述cpu101的控制,执行指令序列模式sq2的各种处理。[0325]执行组件103将执行中旗标设定为开启状态。例如,执行中旗标的值从第4值改变为第3值。[0326]<s21>[0327]处理器100中,执行组件103(或cpu101)确认作为输入文件ipf的指令序列文件ipfflg<1>的指令(表示应执行的指令的数据)是否存在于数据缓冲区122。[0328]<s22>[0329]在数据缓冲区122内存在1个以上的指令时(s21为是),执行组件103(或cpu101)将多个指令scmd中的1个指令传输到解析组件102。[0330]如上所述,指令序列文件ipfflg<0>的多个指令scmd的执行顺序是预先设定的。例如,多个指令在数据缓冲区122的队列内按规定的顺序存储,或,利用数据示出执行顺序。因此,从数据缓冲区122对解析组件102传输指令scmd时,基于指令scmd的执行顺序,将1个指令scmd传输到解析组件102。[0331]由此,在指令序列模式sq2开始时,将指令序列文件ipfflg<1>内的多个指令scmd中的、指令序列中最初应执行的指令scmd1供给到解析组件102。[0332]存储器系统1内的处理进入处理z(即,处理s0)。[0333]<s0、s1、s2>[0334]指令序列模式sq2下,解析组件102对通过s22供给的指令scmd进行解析。解析组件102基于解析结果,输出指令scmd的执行指示。[0335]当存在与指令scmd对应的来自解析组件102的指示时(s0为是),执行组件103判定来自解析组件102的指示是否为固件更新指示(s1、s2)。[0336]此处,在指令序列模式sq2的执行中(执行中旗标为开启状态的情况下),来自解析组件102的指示是基于指令序列文件ipfflg<1>内的指令scmd的指示,与基于fw更新指令的指示不同。[0337]因此,s22之后的存储器系统1内的处理从s2的处理进入s3(s3a、s3b、…s2x)的处理。[0338]<s3、s4>[0339]在指令序列模式sq2的执行中,如所述图9所示,执行组件103执行与来自解析组件102的指示(解析结果)对应的处理及动作(s3)。[0340]cpu101(或执行组件103)在处理及动作完成后,判定执行中旗标flgexe是否为开启状态(s4)。[0341]如上(处理s20)所述,在执行指令序列模式sq2时,执行中旗标被设定为开启状态。[0342]因此,在指令序列模式sq2时,存储器系统1内的处理从处理s4进入处理s23。[0343]<s23>[0344]当执行中旗标flgexe为开启状态时(s4为是),执行组件103如所述图9所示,将与所执行的处理及动作(指令)相关的应答保存在工作存储器105中。[0345]将应答保存到工作存储器105内之后,执行组件103判定数据缓冲区122内是否存在指令(s21)。当数据缓冲区122内存在(残存)指令序列模式sq2中应执行的指令时(s21为是),与所述处理同样,存储器系统1内的处理进入处理z,执行处理s0、s1、s2、s3、s4、s23。[0346]关于指令序列文件ipfflg<1>内的多个指令,在保存与第1个指令对应的应答后,cpu101、解析组件102及执行组件103基于指令的执行顺序,执行与多个指令中应第2个执行的指令scmd2相关的处理及动作。[0347]通过处理器100内的cpu101、解析组件102及执行组件103反复执行这种处理,直到指令序列文件ipfflg<1>内的指令全部执行完成为止。[0348]<s24>[0349]当数据缓冲区122内不存在(残存)指令序列模式sq2中应执行的指令时(s11为否),表示指令序列模式sq2中应执行的全部指令执行完成。[0350]该情况下,执行组件103将与指令序列模式sq2相关之执行中旗标设定为关闭状态。例如,执行中旗标flgexe的值从第3值改变为第4值。[0351]之后,执行组件103将与指令序列模式sq2的执行相关的1个以上的应答ressq传送到主机装置(s9)。[0352]由此,存储器系统1能够将指令序列模式sq2下执行的多个指令的处理结果(例如日志)提供给主机装置5。[0353]应答传输后,如上所述,存储器系统1内的处理进入处理z。[0354]如上所述,本实施方式的存储器系统1能够根据来自主机装置5的指令及输入文件,基于存储器系统1中应用的各种旗标flg、flgexe,执行多个动作序列。[0355](c)汇总[0356]存储器系统有时会按照规定的顺序执行多个指令,以便解析存储器系统的异常(不良、缺陷)、变更存储器系统的设定,等等。[0357]当为了执行某动作序列而按照规定顺序执行多个指令时,可能会因存储器系统的用户方的处理,导致产生指令的执行顺序错误、指令执行遗漏、及(或)应使用的数据错误等动作序列的执行错误。[0358]当使用特殊的软件或特殊的指令执行包含应按照规定的顺序执行的多个指令的动作序列时,特殊的软件(例如桥接固件)及特殊的指令在用户的使用环境上可能不会进行所期望的处理及动作。[0359]例如,当通过桥接固件执行包含多个指令的动作序列的情况下,桥接固件可能无法以与存储器系统中使用的固件相同的方式,执行多个指令。因此,为了验证桥接固件的处理及动作,将会产生成本及时间。[0360]例如,当通过特殊的指令执行包含多个指令的动作序列时,该特殊的指令可能会不受存储器系统(主机装置或闪存)支持。[0361]本实施方式的存储器系统1基于作为通用指令的固件更新指令,执行包含多个指令的动作序列。[0362]用于固件更新的指令大致被所有存储器系统(或主机装置)支持。因此,大致所有存储器系统都具有用于固件更新的功能。[0363]基于依据存储器系统中使用的接口规格(及通信协议)的标准的统一顺序,执行固件更新。[0364]由此,本实施方式的存储器系统1能够不使用特殊的指令及特殊的软件,而基于已设定的执行顺序,执行与多个指令对应的处理及动作。[0365]本实施方式的存储器系统1使用包含识别旗标的文件(数据)执行包含与固件更新指令对应的多个指令的动作序列。[0366]包含识别旗标的文件包含应执行的多个指令(及表示多个指令的执行顺序的信息)。[0367]识别旗标表示应根据固件更新指令执行的动作是固件更新,还是文件内的多个指令的执行。[0368]由此,本实施方式的存储器系统1在接收固件更新指令时,能够不进行复杂的解析,而判别多个动作序列中应执行的1个动作序列。[0369]包含识别旗标的文件例如由主机装置或服务器创建,提供给存储器系统。例如,识别旗标由主机装置或服务器附加。[0370]像这样,本实施方式的存储器系统1能够不产生过多成本及时间,且不发生存储器系统的过多的规格变更,而基于规定的执行顺序连续地执行与多个指令对应的处理及动作。[0371]因此,本实施方式的存储器系统1能够抑制发生动作序列的执行错误。[0372]本实施方式的主机装置5及服务器900如上所述,能够创建及提供包含更新指令及识别旗标的文件。由此,本实施方式的主机装置及服务器900能够减少存储器系统中的动作序列的执行错误。[0373]如上所述,本实施方式的存储器系统1能够提高存储器系统的功能(及品质、特性、可靠性等)。[0374](2)第2实施方式[0375]参照图10,对第2实施方式的存储器系统进行说明。[0376]如上所述,第1实施方式的存储器系统1能够使用指令序列模式sq2,按照规定的顺序执行存储器系统1的内部处理。存储器系统1的各种设定能够通过指令序列模式sq2来变更。[0377]例如,在将存储器系统1的内部状态设定为各种程序及应用的安装前状态(例如从工厂出厂时的状态)的情况下,有时会使用用户难以获得及(或)利用的特殊指令(例如非公开指令)。[0378]使用非公开指令的处理及动作的执行顺序可能会变得复杂。[0379]如下所述,通过执行使用了包含多个非公开指令的输入文件ipf的指令序列模式sq2,能够抑制存储器系统1的设定变更失败。[0380]图10是用来说明本实施方式的存储器系统的指令序列模式的序列。此处,也适当参照所述图1至图9。[0381]此外,基于所述图9所示的处理流程,控制本实施方式的存储器系统所能执行的多个动作序列。[0382]<q30a、q31a>[0383]如图10所示,主机装置5将固件更新指令hcmdfwup及指令序列文件ipfflg<1>传送到本实施方式的存储器系统。通过电源接通时的固件读出,将存储器系统1设定为能够执行图9的处理流程的状态。[0384]指令序列文件ipfflg<1>包含识别旗标flg及1个以上的指令scmdx、参数及设定信息等各种数据dt。[0385]识别旗标flg具有表示指令序列文件(执行指令序列模式sq2)的值(例如第2值)。[0386]各指令scmdx包含非公开指令(例如厂商专用的指令)。指令scmdx是用来进行下述等操作中的1个的指令,所述操作是指:测试模式或调试模式的执行、内部指标的删除、存储器系统内的数据(例如ram110、工作存储器105及(或)闪存20的数据)相关的文件的形成(存储器转储)、存储器系统的再启动、存储器系统内的日志获取、存储器系统内的信息抹除及存储器系统的设定初始化。[0387]例如,可以按照规定的顺序执行多个指令scmdx的方式,在指令序列文件ipfflg<1>内形成包含多个指令scmdx的1个以上的群组cg。[0388]例如,包含非公开指令的指令序列文件ipfflg<1>是通过主机装置5的处理qx或服务器900的处理qz创建。在创建服务器900指令序列文件ipfflg<1>时,服务器900将所创建的指令序列文件ipfflg<1>提供给主机装置5(信息通信装置800)。[0389]本实施方式的存储器系统1接收fw更新指令hcmdfwup及作为输入文件ip的指令序列文件ipfflg<1>。fw更新指令hcmdfwup被供给到指令缓冲区121内。指令序列文件ipfflg<1>被供给到数据缓冲区122。[0390]<q32~q47>[0391]之后,在与所述图8及图9的处理同样,存储器系统1接收到fw更新指令的情况下,根据解析组件102的fw更新指令的指示,执行组件103开始各种处理及动作(q33~q35)。[0392]根据固件更新的指示(图9的s0~s2),如图9的s10,执行组件103对数据缓冲区122内的输入文件ipf的识别旗标flg进行确认(q36)。[0393]当识别旗标flg具有表示指令序列文件ipfflg<1>的值时(图9的s11为是),执行组件103(或cpu101)通过指令序列模式sq2,执行使用指令序列文件内的指令及数据的各种处理及动作。[0394]像图9的s20那样,基于识别旗标flg的确认结果,执行组件103将执行中旗标设定为开启状态(f1)。[0395]像图9的s0~s4、s21~s24那样,解析组件102及执行组件103按照所设定的顺序依次执行指令序列文件ipfflg<1>内的多个指令scmdx(或包含多个指令scmdx的群组cg)。(q38~q47)[0396]处理器100中,cpu101、解析组件102及执行组件103反复执行所述动作,直到指令序列文件ipfflg<1>内的多个指令scmdx全部执行完成为止。[0397]<q48、q80、q81>[0398]在指令序列文件的全部指令执行完成后,执行组件103输出应答ressq(或工作存储器105内的多个应答)。应答ressq从存储器系统1传输到主机装置5。[0399]在执行指令序列模式sq2时的应答的传输中,执行组件103(或cpu101)可以将工作存储器105内保存的多个应答(与在指令序列模式sq2下执行的多个指令scmd分别对应的应答)全部传送到主机装置5(q80)。执行组件103(或cpu101)可以基于工作存储器105内保存的多个应答而产生1个应答。[0400]主机装置5对来自存储器系统1的应答ressq(及数据)进行解析。[0401]根据应答ressq,主机装置5能够侦测使用指令序列文件的动作序列的执行结果。例如,主机装置5能够侦测到存储器系统1内的状态被设定为所期望的状态(例如从工厂出厂时的状态)。[0402]此外,当在指令序列模式sq2下产生指令的执行错误时,主机装置5能够根据应答res来侦测指令序列文件ipfflg<1>的指令scmdx的执行错误。[0403]主机装置5也可以将来自存储器系统1的应答ressq或来自工作存储器105的多个应答进一步传输到服务器900(q81)。[0404]如上所述,本实施方式的存储器系统1能够通过指令序列模式sq2,使用包含识别旗标flg的指令序列文件ipfflg<1>,执行存储器系统1的设定变更。[0405]如上所述,第2实施方式的存储器系统能够提高存储器系统的功能(及品质、特性、可靠性等)。[0406](3)第3实施方式[0407]参照图11,对第3实施方式的存储器系统进行说明。[0408]当用户(用户端)使用存储器系统1时存储器系统1发生异常时,为了消除异常,有时会执行存储器系统1的动作状况(日志)分析。[0409]存储器系统1的日志获取包含如上所述的用户难以获取及利用的指令的执行、及按照特定顺序的各种处理。[0410]如下所述,本实施方式的存储器系统1能够通过指令序列模式sq2,获取作为导致存储器系统1异常的原因的信息。[0411]本实施方式的存储器系统1能够基于所获取的信息,消除存储器系统1的异常。[0412]图11是用来说明本实施方式的存储器系统1的指令序列模式的序列。此处,也适当参照所述图1至图10。[0413]<q30a、q31a>[0414]如图11所示,与图10的例子同样,主机装置5将固件更新指令hcmdfwup及指令序列文件ipf传送到本实施方式的存储器系统1。[0415]指令序列文件ipfflg<1>包含识别旗标flg<1>及1个以上的指令(例如厂商所使用的非公开指令)scmdx。[0416]也能以按规定顺序执行多个指令scmdx的方式,使多个指令scmdx在指令序列文件ipfflg<1>内群组化。指令序列文件ipfflg<1>是由主机装置5或服务器900创建的。[0417]与所述实施方式同样,本实施方式的存储器系统1接收fw更新指令hcmdfwup及指令序列文件ipf。[0418]<q32~q47>[0419]与所述实施方式同样,当存储器系统1接收到fw更新指令hcmdfwup时,根据解析组件102的fw更新指令的指示(图9的s0~s2),执行组件103开始各种处理及动作(q33~q35)。[0420]像图9的s10那样,执行组件103对数据缓冲区122内的输入文件ipf的识别旗标flg进行确认(q36)。[0421]当识别旗标flg具有表示指令序列文件ipfflg<1>的值时(图9的s11为是),执行组件103(或cpu101)通过指令序列模式sq2,执行使用指令序列文件ipfflg<1>内的指令scmdx及数据dt的各种处理及动作。[0422]像图9的s20那样,基于识别旗标flg的确认结果,执行组件103将执行中旗标设定为开启状态(f1)。[0423]本实施方式中,解析组件102及执行组件103按照所设定的顺序执行多个指令scmdx(q38~q47)。[0424]处理器100中,cpu101、解析组件102及执行组件103反复执行所述动作,直到指令序列文件ipf内的多个指令scmdx全部执行完成为止。[0425]<q48>[0426]在指令序列文件ipfflg<1>的全部指令scmdx执行完成后,执行组件103输出应答ressq。由此,将与固件更新指令hcmdfwup(指令序列模式sq2)对应的应答ressq从存储器系统1传输到主机装置5。[0427]根据应答res,主机装置5能够侦测指令序列文件ipfflg<1>的执行结果。[0428]例如,应答ressq包含表示指令序列文件ipfflg<1>执行前或指令序列文件执行中的存储器系统1内的各种处理及动作的结果的信息(日志数据)、及(或)表示指令序列文件ipfflg<1>的指令执行结果的信息。[0429]由此,主机装置5能够通过指令序列模式sq2获取存储器系统1的日志数据。[0430]<q90、q91、92>[0431]主机装置5基于应答ressq及所获取的日志数据,对存储器系统1的状态进行解析。[0432]主机装置5能够通过日志数据的分析处理q90,验证存储器系统1的异常(例如系统错误)的原因。[0433]由此,主机装置5能够形成用来消除异常的数据(例如更新程序或补丁文件)dtz。[0434]此外,服务器900也可以执行用来分析日志数据及验证存储器系统1的异常的各种处理q91。该情况下,主机装置5将包含日志数据的文件经由网络传输到服务器900。[0435]由此,服务器900能够通过处理q91,形成用来消除异常的数据dtz。[0436]服务器900能够通过处理q92,将所形成的数据dtz提供给主机装置5及存储器系统1。[0437]服务器900能够基于通过执行指令序列文件而获得的数据,将与异常相关的信息提供给主机装置5(主机装置5或存储器系统1的用户)。[0438]<q95>[0439]主机装置5使用数据dtz,消除存储器系统1的异常。[0440]例如,主机装置5将包含指令scmd、识别旗标flg<1>及更新数据dtz的指令序列文件ipf传送到存储器系统1。存储器系统1基于指令序列模式sq2,执行使用更新数据dtz的处理。存储器系统1将更新数据dtz的处理结果作为应答(未图示)传送到主机装置5。主机装置5接收该应答。[0441]结果,存储器系统1内的异常被消除。[0442]如上所述,本实施方式的存储器系统1能够通过指令序列模式sq2,基于指令序列文件,获取存储器系统1内的各种处理及动作的日志。[0443]基于所获取的日志的分析结果,能消除存储器系统1内的异常。[0444]因此,第3实施方式的存储器系统1能够提高存储器系统1的功能(及品质、特性、可靠性等)。[0445](4)其它[0446]也可以通过程序来执行所述实施方式中已说明的包含图6至图8的多个处理的图9的处理流程。[0447]例如,将记载着与图6至图9的各处理对应的程序码的程序(软件)存储到记录媒体中。将包含该程序的记录媒体安装到硬件中。在硬件上执行记录媒体内的程序。[0448]此外,本实施方式的存储器系统1中使用的程序可以经由比如网际网络或企业内部网络这样的网络,提供给其它硬件。[0449]像这样,本实施方式的存储器系统1的控制方法能够以记录媒体中存储的程序的形式执行。[0450]此外,所述实施方式中,示出执行所述各种处理及动作的装置(系统)为存储器系统的例子。但,所述实施方式也可以应用于除存储器系统以外的系统及(或装置)。例如,本实施方式的系统1能够以信息通信系统、网络系统的形式实现。[0451]对本发明的若干个实施方式进行了说明,但这些实施方式是作为例子提出的,并非意图限定发明的范围。这些新颖的实施方式能以其它各种方式实施,且能够在不脱离发明主旨的范围内进行各种省略、替换、变更。这些实施方式或其变化包含在发明的范围或主旨中,并且包含在权利要求书所记载的发明及其均等的范围内。[0452][符号的说明][0453]1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ存储器系统[0454]5ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ主机装置[0455]900ꢀꢀꢀꢀꢀꢀꢀꢀꢀ服务器[0456]10ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ存储器控制器[0457]20ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ闪存[0458]100ꢀꢀꢀꢀꢀꢀꢀꢀꢀ处理器[0459]101ꢀꢀꢀꢀꢀꢀꢀꢀꢀcpu[0460]102ꢀꢀꢀꢀꢀꢀꢀꢀꢀ解析组件[0461]103ꢀꢀꢀꢀꢀꢀꢀꢀꢀ执行组件[0462]104ꢀꢀꢀꢀꢀꢀꢀꢀꢀ命令码存储器[0463]105ꢀꢀꢀꢀꢀꢀꢀꢀꢀ工作存储器[0464]120ꢀꢀꢀꢀꢀꢀꢀꢀꢀ缓冲电路[0465]121ꢀꢀꢀꢀꢀꢀꢀꢀꢀ指令缓冲区[0466]122ꢀꢀꢀꢀꢀꢀꢀꢀꢀ数据缓冲区。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
存储器系统、存储器系统的控制方法及主机装置与流程
作者:admin
2022-09-27 21:05:49
704
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 一种材料抓取识别套板组装机构的制作方法
- 上一篇: 面向野外山林环境搜救的多机协同三维建模系统及方法