CN112347518A - 储存装置 - Google Patents
储存装置 Download PDFInfo
- Publication number
- CN112347518A CN112347518A CN202010062994.5A CN202010062994A CN112347518A CN 112347518 A CN112347518 A CN 112347518A CN 202010062994 A CN202010062994 A CN 202010062994A CN 112347518 A CN112347518 A CN 112347518A
- Authority
- CN
- China
- Prior art keywords
- firmware
- normal operation
- recovery
- storage device
- nonvolatile memory
- 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.)
- Granted
Links
- 238000011084 recovery Methods 0.000 claims abstract description 126
- 230000006870 function Effects 0.000 claims description 30
- 238000012795 verification Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 230000008439 repair process Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 238000005192 partition Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
实施方式提供能够对固件进行高等级地保证了可靠性的恢复的储存装置。实施方式的储存装置具备非易失性存储器和控制器。所述控制器基于来自主机的命令,对向所述非易失性存储器写入数据和从所述非易失性存储器读出数据进行控制。所述控制器包括至少一个处理器。所述非易失性存储器保存通常动作用固件和恢复用固件,所述通常动作用固件用于供所述至少一个处理器进行基于所述命令的数据的写入和读出的控制,所述恢复用固件用于对所述通常动作用固件进行修复。所述恢复用固件在保证了比所述通常动作用固件高的可靠性的状态下保存于所述非易失性存储器。
Description
本申请享受以日本专利申请2019-147505号(申请日:2019年8月9日)为基础申请的优选权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及储存(storage)装置。
背景技术
近年来,HDD(Hard Disk Drive,硬盘装置)、SSD(Solid State Drive,固态硬盘装置)等这样的各种各样的储存装置取得了广泛的普及。这种储存装置按由被称为固件等的程序表示的步骤执行数据的写入、数据的读出等处理。因此,当固件被篡改时,储存装置会进行不正当(非法)的动作。另外,在对储存装置的动作产生影响的数据被篡改了的情况下也是同样的。因此,出现了搭载对包括固件的程序、数据的可靠性进行验证的安全功能的储存装置。在启动时等验证固件的可靠性的安全功能被称为安全启动(Secure Boot)功能等。
在搭载安全启动功能的储存装置中,在固件被篡改了的情况下,通过该安全启动功能抑制储存装置的启动。因此,为了修复储存装置,需要将储存装置交给制造者等来委托进行修复。
若在储存装置自身搭载有通过将被篡改了的固件改写为用于修复固件的恢复用固件来对储存装置进行修复的功能,则能够不需要将储存装置交给制造者等来委托进行修复。然而,在恢复用固件也同样地被篡改了的情况下,已经变为无法在用户的手里对储存装置进行修复。
发明内容
本发明的实施方式提供能够对固件高等级地进行保证了可靠性的恢复的储存装置。
实施方式的储存装置具备非易失性存储器和控制器。所述控制器基于来自主机的命令,对向所述非易失性存储器写入数据和从所述非易失性存储器读出数据进行控制。所述控制器包括至少一个处理器。所述非易失性存储器保存通常动作用固件和恢复用固件,所述通常动作用固件用于供所述至少一个处理器进行基于所述命令的数据的写入和读出的控制,所述恢复用固件用于对所述通常动作用固件进行修复。所述恢复用固件在保证了比所述通常动作用固件高的可靠性的状态下保存于所述非易失性存储器。
附图说明
图1是表示第1实施方式的储存装置的一构成例的图。
图2是表示第1实施方式的储存装置的与固件恢复有关的功能块的图。
图3是表示第1实施方式的储存装置的与固件恢复有关的动作步骤的流程图。
图4是表示第2实施方式的储存装置的与固件恢复有关的功能块的图。
图5是表示第3实施方式的储存装置的一构成例的图。
图6是表示第3实施方式的储存装置的与固件恢复有关的功能块的图。
图7是表示第4实施方式的储存装置的与固件恢复有关的功能块的图。
标号说明
1储存装置;2主机;10控制器;11安全CPU(Security CPU);12-1、12-2一般的CPU;20易失性存储器;30非易失性存储器;30A高安全区域;30B通常区域;31、32-1、32-2通常动作用固件;33、34-1、34-2恢复用固件;35重要数据;36恢复用重要数据;40读出专用存储器;111检测部;112恢复判定部;113恢复执行部;114安全保证数据。
具体实施方式
以下,参照附图对实施方式进行说明。
(第1实施方式)
首先,对第1实施方式进行说明。
图1是表示本实施方式的储存装置1的一构成例的图。
储存装置1从经由PCIe(注册商标)等接口连接的主机2接收命令,执行与该命令对应的处理,向主机2发送其处理结果。储存装置1接收的命令具有要求写入数据的写命令、要求读出数据的读命令等。另外,储存装置1能够接收用于在存储区域上设置分区的命令等这样的各种各样的控制命令。
储存装置1具有例如作为SoC(System On a Chip,片上系统)来构成的控制器10、例如作为DRAM的易失性存储器20以及例如作为闪速存储器的非易失性存储器30。
控制器10一边利用易失性存储器20来作为数据的暂时性保存区域,一边执行向非易失性存储器30写入数据的写入处理以及从非易失性存储器30读出数据的读出处理。也即是,控制器10基于来自主机2的命令,对非易失性存储器30进行控制。控制器10具有包括安全CPU11的多个CPU(11、12-1、12-2)。
对内置于安全CPU11的存储器所保存的信息进行访问的访问单元受到限制,能保证其信息的可靠性。因此,安全CPU11是安全强度比一般的CPU高的CPU。在此,设想为控制器10除了该安全CPU11之外还具有两个一般的CPU(CPU-A12-1、CPU-B12-2)。对于保证可靠性,包含通过数字签名的验证来保证程序的发布者。此外,保证可靠性包含保证完整性。也即是,验证可靠性包含对完整性进行验证。控制器10中,CPU-A12-1和CPU-B12-2进行协作,执行向非易失性存储器30写入数据的写入处理和/或从非易失性存储器30读出数据的读出处理。或者,CPU-A12-1和CPU-B12-2分别执行向非易失性存储器30写入数据的写入处理和/或从非易失性存储器30读出数据的读出处理。以下,有时将作为一般的CPU的CPU-A12-1和CPU-B12-2总称为CPU12。
安全CPU11、CPU-A12-1以及CPU-B12-2按由保存于非易失性存储器30的各个固件(后述的通常动作用安全CPU FW31、通常动作用CPU-AFW32-1、通常动作用CPU-BFW32-2)表示的步骤执行处理。具体而言,安全CPU11、CPU-A12-1以及CPU-B12-2例如以模块为单位将各个固件适当地从非易失性存储器30加载到易失性存储器20来进行执行。在安全CPU11内保存有用于对各个固件的可靠性进行验证的安全保证数据。安全CPU11例如在储存装置1启动时使用该安全保证数据来对各个固件的可靠性进行验证。也即是,本储存装置1具有安全启动功能。保存于安全CPU11内的安全保证数据只能由安全CPU11进行访问,为了篡改安全保证数据,必须使安全CPU11不正当地进行动作,因此,首先需要篡改安全CPU11的固件。但是,对于安全CPU11的固件的篡改,例如通过储存装置1启动时的可靠性的验证来进行检测。因此,安全CPU11内的安全保证数据能保证其可靠性,因此,能够作为可靠性的起点(Root of Trust)来对待。作为安全保证数据,不限定于特定信息,可以应用验证密钥、MAC值等这样的各种各样的信息。
具有如以上那样的构成的本储存装置1具有对被篡改了的固件进行恢复的功能。图2是表示本储存装置1的与固件恢复有关的功能块的图。
安全CPU11具有检测部111、恢复判定部112、恢复执行部113。这些各部通过安全CPU11执行如下的程序来实现,该程序为通过保存于仅该安全CPU11能够进行访问、且仅能够进行读出的存储器等而高等级地保证了可靠性的程序。或者,该程序自身也可以作为安全保证数据114之一而被保存在安全CPU11内。
另外,非易失性存储器30首先保存有作为用于安全CPU11的固件的通常动作用安全CPU FW31、作为用于CPU-A12-1的固件的通常动作用CPU-A FW32-1、作为用于CPU-B12-2的固件的通常动作用CPU-B FW32-2。另外,非易失性存储器30其次保存有作为用于对通常动作用安全CPU FW31进行修复的固件的恢复用安全CPU FW33、作为用于对通常动作用CPU-A FW32-1进行修复的固件的恢复用CPU-A FW34-1、作为用于对通常动作用CPU-B FW32-2进行修复的固件的恢复用CPU-B FW34-2。
前者的通常动作用安全CPU FW31、通常动作用CPU-AFW32-1以及通常动作用CPU-B FW32-2和后者的恢复用安全CPU FW33、恢复用CPU-A FW34-1以及恢复用CPU-BFW34-2中的至少后者的恢复用安全CPU FW33、恢复用CPU-A FW34-1以及恢复用CPU-BFW34-2以被加密化的状态保存于非易失性存储器30。也即是,本储存装置1具有对程序和/或数据进行加密化、另外对被加密化的程序和/或数据进行解码的加密化功能中的至少与解码有关的功能。另外,关于详细内容,将在后面进行描述,但后者的恢复用安全CPU FW33、恢复用CPU-AFW34-1以及恢复用CPU-B FW34-2使用与前者的通常动作用安全CPUFW31、通常动作用CPU-A FW32-1以及通常动作用CPU-B FW32-2相比而加密强度高的算法或者密钥长度大的加密密钥来进行加密化。也即是,在保证了高可靠性的状态下被保存于非易失性存储器30。若本储存装置1还具有对被压缩了的程序和/或数据进行解压缩的功能,则通常动作用固件(31,32-1,32-2)以及恢复用固件(33、34-1、34-2)也可以在被压缩了的状态下保存于非易失性存储器30。
检测部111是用于对储存装置1动作期间的通常动作用固件的篡改进行检测的模块,对储存装置1的异常动作、更详细而言为安全CPU11、CPU-A12-1或者CPU-B12-2的异常动作进行检测。此外,对于储存装置1停止期间的通常动作用固件的篡改,在储存装置1启动时通过前述的安全启动功能来进行检测。关于检测异常动作的方法,不限定于特定方法,可以应用已知的各种各样的方法。
恢复判定部112在检测到储存装置1的异常动作的情况下,判定能否通过通常动作用固件的恢复使该储存装置1恢复。该判定例如也可以是:调查所检测到的异常动作是否是以硬件故障为原因的异常动作,在不是以硬件故障为原因的异常动作的情况下,判定为能够通过通常动作用固件的恢复来使之恢复。另外,也可以是如下这样的判定:使用保存于安全CPU11内的安全保证数据,对通常动作用安全CPU FW31、通常动作用CPU-A FW32-1以及通常动作用CPU-B FW32-2的可靠性进行验证,在检测到篡改的情况下,判定为能够通过通常动作用固件的恢复来使之恢复。
恢复执行部113在判定为能够通过通常动作用固件的恢复使被检测到异常动作的储存装置1恢复的情况下,执行通常动作用固件的恢复。例如,在通过检测部111检测到CPU-A12-1的异常动作、且通过恢复判定部112判定为能够通过通常动作用CPU-AFW32-1的恢复使该CPU-A12-1恢复的情况下,恢复执行部113将通常动作用CPU-AFW32-1改写为恢复用CPU-A FW34-1,执行再启动储存装置1的处理。此外,在判定为无法通过通常动作用固件的恢复来使之恢复的情况下,通过恢复判定部112进行向主机2通知错误。在向主机2通知了错误的情况下,恢复判定部112也可以使储存装置1停止。
另外,恢复执行部113在储存装置1启动时通过前述的安全启动功能检测到例如通常动作用CPU-A FW32-1的篡改的情况下,也将通常动作用CPU-AFW32-1改写为恢复用CPU-A FW34-1,执行再启动储存装置1的处理。
此外,对于恢复用固件(33、34-1、34-2),既可以准备与通常动作用固件(31,32-1,32-2)相同的固件来作为所谓的备份,也可以是具备从主机2取得正规的通常动作用固件等的用于对通常动作用固件进行修复的必要最小限度的功能的固件。对固件进行修复是指例如将被篡改了的固件改写为正规的固件来恢复为篡改前的状态。
例如在想要通过恢复用CPU-A FW34-1修复被篡改了的通常动作用CPU-AFW32-1,但恢复用CPU-A FW34-1也同样被篡改了的情况下,通过在储存装置1再启动时工作的安全启动功能,可抑制储存装置1的启动。也即是,本储存装置1的恢复已经不可能,必须将储存装置交给制造者等来委托进行修复。
于是,本储存装置1中,恢复用固件(33、34-1、34-2)在保证了比通常动作用固件(31、32-1、32-2)高的可靠性的状态下保存于非易失性存储器30。另外,本储存装置1在将通常动作用固件改写为恢复用固件时,使用保存在安全CPU11内的安全保证数据114,对恢复用固件的可靠性进行验证。
关于将恢复用固件在保证了比通常动作用固件高的可靠性的状态下保存于非易失性存储器30,如前所述,通过使用加密强度高的算法或者密钥长度大的加密密钥进行加密化来实现。例如在通过公用密钥加密方式进行加密化的情况下,用于解码的公用密钥(加密密钥)被作为安全保证数据114保存在安全CPU11内。负责本储存装置1的加密化功能的模块接受作为安全保证数据114保存在安全CPU11内的表示加密密钥的信息来作为参数,使用由该信息表示的加密密钥,执行被指示了的程序或者数据的解码。另外,在负责加密化功能的模块支持多个算法的情况下,算法的指定也通过参数来进行受理。
恢复执行部113例如在将通常动作用固件32-1改写为恢复用固件34-1的情况下,首先,执行从非易失性存储器30读出恢复用固件34-1(图2:a1)。如前所述,恢复用固件34-1被加密化地保存于非易失性存储器30。恢复执行部113对负责加密化功能的模块指示从非易失性存储器30读出的恢复用固件34-1的解码。恢复执行部113将解码后的恢复用固件34-1保存于易失性存储器20(图2:a2)。此外,恢复执行部113也可以设为:在将加密化的恢复用固件34-1保存于易失性存储器20之后,对负责加密化功能的模块指示其解码。在图2中所示的易失性存储器20上的恢复用固件是解码后的恢复用固件。
接着,恢复执行部113使用保存在安全CPU11内的安全保证数据114,对保存于易失性存储器20的恢复用固件34-1的可靠性进行验证(图2:a3)。在验证成功了的情况下,恢复执行部113将非易失性存储器30上的通常动作用固件32-1更新为恢复用固件34-1(图2:a4),再启动储存装置1。在验证失败了的情况下,恢复执行部113向主机2通知错误。在向主机2通知了错误的情况下,恢复执行部113也可以使储存装置1停止。
此外,恢复执行部113也可以设为:关于加密化的状态的恢复用固件,执行使用了保存在安全CPU11内的安全保证数据114的可靠性的验证,在验证成功了的情况下,对负责加密化功能的模块指示其解码。
通过将恢复用固件在保证了比通常动作用固件高的可靠性的状态下保存于非易失性存储器30,本储存装置1能够削减用于将储存装置交给制造者等来委托进行固件的修复这样的修复作业的成本,由此,能够提高可用性。
在恢复用固件是具备从主机2取得正规的通常动作用固件等的、用于修复通常动作用固件的必要最小限定的功能的固件的情况下,通过恢复执行部113被再启动了的储存装置1例如按如以下那样的步骤进行动作。
首先,储存装置1通过安全启动功能对恢复用固件的可靠性进行验证。恢复用固件在保证了高可靠性的状态下保存于非易失性存储器30,因此,该验证成功,储存装置1开始沿着由恢复用固件表示的步骤的动作。
储存装置1从主机2取得通常动作用固件。例如,若连接储存装置1和主机2的接口支持从储存装置1侧对主机2侧的存储器进行访问,则也可以通过从主机2侧的存储器读出通常动作用固件来进行取得。或者,也可以通过对主机2发送要求通常动作用固件的传输的命令来进行取得。或者,储存装置1既可以只是向主机2发送表示需要固件的更新的消息等,也可以以后在主机2的主导下进行通常动作用固件的更新。
储存装置1将被改写为恢复用固件的状态下的非易失性存储器30上的固件再次改写为从主机2取得的通常动作用固件。在该改写后,储存装置1再启动。
此外,也可以设为:在从主机2取得通常动作用固件时,一并取得用于对该通常动作用固件的可靠性进行验证的信息、用于对加密化进行解密的加密密钥,作为安全保证数据再次保存在安全CPU11内。
图3是表示本实施方式的储存装置1的与固件恢复有关的动作步骤的流程图。
检测部111对储存装置1(安全CPU11、CPU-A12-1或者CPU-B12-2)的异常动作进行检测(S11)。在检测到异常动作的情况下(S11:是),恢复判定部112判定异常动作的原因(S12)。例如,判定该异常动作是否为以硬件故障作为原因的动作。恢复判定部112基于异常动作的原因的判定结果,判定能否通过固件(通常动作用安全CPU FW31、CPU-A12-1或者CPU-B12-2)的更新进行修复(S13)。
在判定为能够通过固件的更新进行修复的情况下(S13:是),恢复执行部113从非易失性存储器30读出恢复用固件(恢复用安全CPU FW33、恢复用CPU-AFW34-1或者恢复用CPU-B FW34-2),并保存于易失性存储器20(S14)。恢复执行部113使用保存在安全CPU11内的安全保证数据,对恢复用固件的可靠性进行验证(S15)。
在验证成功了的情况下(S16:是),恢复执行部113将非易失性存储器30上的通常动作用固件更新为恢复用固件(S17),再启动储存装置1(S18)。
另一方面,在通过恢复判定部112判定为无法通过固件的恢复使被检测到异常动作的储存装置1恢复的情况下(S13:否),或者在恢复执行部113的恢复用固件的可靠性的验证失败了的情况下(S16:否),从恢复判定部112或者恢复执行部113对主机2通知错误(S19)。
如上所述,将恢复用固件在保证了比通常动作用固件高的可靠性的状态下保存于非易失性存储器30的本储存装置1能够对固件进行高等级地保证了可靠性的恢复。
(第2实施方式)
接着,对第2实施方式进行说明。
图4是表示本实施方式的储存装置1的与固件恢复有关的功能块的图。本实施方式的储存装置1也与第1实施方式同样地具有控制器10、易失性存储器20以及非易失性存储器30。在此,对与第1实施方式相同的构成要素使用同一标号,省略对它们的重复的说明。
在本实施方式的储存装置1中,在非易失性存储器30上设定有访问权限被限定为安全CPU11的分区,在该分区保存恢复用固件(33、34-1、34-2)。在此,访问权限被限定于安全CPU11意味着仅安全CPU11能够访问或者仅能够在来自安全CPU11的指示下进行访问。仅能够在来自安全CPU11的指示下进行访问例如意味着CPU-A12-1、CPU-B12-2仅能够在安全CPU11的控制下进行访问。
对于访问权限被限定于安全CPU11的分区的设定,例如在储存装置1的制造过程进行,并且,该分区被设置作为不能成为包含控制命令的来自外部的命令的对象的分区。
在此,将访问权限被限定于安全CPU11的分区内的区域称为高安全区域30A,将非易失性存储器30上的该分区以外的区域称为通常区域30B。例如,用于CPU-A12-1的通常动作用CPU-A FW32-1被保存于CPU-A12-1能够访问的通常区域30B。也即是,通常动作用固件(31、32-1、32-2)被保存于通常区域30B。
这样,本实施方式的储存装置1通过在作为访问权限被限定于安全CPU11的分区内的区域的高安全区域30A保存恢复用固件,实现在保证了比通常动作用固件高的可靠性的状态保存于非易失性存储器30。
此外,在本实施方式的储存装置1中,也可以设为:在将恢复用固件保存于高安全区域30A时,进一步使用与将通常动作用固件保存于通常区域30B的情况相比而加密强度高的算法或者密钥长度大的加密密钥来进行加密化。
本实施方式的储存装置1中的恢复执行部113例如在将通常动作用固件32-1改写为恢复用固件34-1的情况下,从非易失性存储器30的高安全区域30A读出该恢复用固件34-1(图4:b1)。以后,恢复执行部113按与第1实施方式同样的步骤执行处理。也即是,恢复执行部113将所读出的恢复用固件34-1保存于易失性存储器20(图4:b2),使用保存在安全CPU11内的安全保证数据114,对保存于易失性存储器20的恢复用固件34-1的可靠性进行验证(图4:b3)。
在验证成功了的情况下,恢复执行部113将非易失性存储器30上的通常动作用固件32-1更新为恢复用固件34-1(图4:b4),再启动本储存装置1。在验证失败了的情况下,恢复执行部113向主机2通知错误。在向主机2通知了错误的情况下,恢复执行部113也可以使储存装置1停止。
如上所述,在通过在作为访问权限被限定于安全CPU11的分区内的区域的高安全区域30A保存恢复用固件、在保证了比通常动作用固件高的可靠性的状态下将其保存于非易失性存储器30的本实施方式的储存装置1中,也能够与第1实施方式同样地削减例如用于将储存装置交给制造者等来委托进行固件的修复这样的修复作业的成本,由此,能够提高可用性。
也即是,本储存装置1也能够对固件进行高等级地保证了可靠性的恢复。
(第3实施方式)
接着,对第3实施方式进行说明。
图5是表示本实施方式的储存装置1的一构成例的图。
本实施方式的储存装置1与第1实施方式、第2实施方式相比还具有作为掩模ROM等的读出专用存储器40。另外,该读出专用存储器40的访问权限被限定于安全CPU11。在此,访问权限被限定于安全CPU11意味着仅安全CPU11能够访问或者仅能够在来自安全CPU11的指示下进行访问。仅能够在来自安全CPU11的指示下进行访问例如意味着CPU-A12-1、CPU-B12-2仅能在安全CPU11的控制下进行访问。此外,在此对与第1实施方式、第2实施方式相同的构成要素也使用同一标号,省略关于它们的重复的说明。
图6是表示本实施方式的储存装置1的与固件恢复有关的功能块的图。
在本实施方式的储存装置1中,在访问权限被限定于安全CPU11的读出专用存储器40保存恢复用固件(33、34-1、34-2)。也即是,本实施方式的储存装置1通过将访问权限被限定于安全CPU11的读出专用存储器40作为恢复用固件的保存场所,实现在保证了比通常动作用固件高的可靠性的状态下保存恢复用固件。
此外,在如第1实施方式、第2实施方式那样将恢复用固件保存于大容量的非易失性存储器30的情况下,如在第1实施方式的说明中描述过的那样,对于该恢复用固件,既可以准备与通常动作用固件相同的固件来作为所谓的备份,也可以是具备从主机2取得正规的通常动作用固件等的、用于修复通常动作用固件的必要最小限度的功能的固件。另一方面,在以在保证了高可靠性的状态下保存恢复用固件为目的,新设读出专用存储器40的情况下,为了抑制成本,要求尽量减小该读出专用存储器40的容量。例如优选处于500K字节左右内。考虑这一点,在本实施方式的储存装置1中,使恢复用固件为具备从主机2取得正规的通常动作用固件等的、用于修复通常动作用固件的必要最小限度的功能的固件。也即是,读出专用存储器40的容量也可以是比为了保存通常动作用固件所需要的容量显著小的容量。
本实施方式的储存装置1中的恢复执行部113例如在将通常动作用固件32-1改写为恢复用固件34-1的情况下,从访问权限被限定于安全CPU11的读出专用存储器40读出该恢复用固件34-1(图6:c1)。以后,恢复执行部113按与第1实施方式、第2实施方式同样的步骤执行处理。也即是,恢复执行部113将所读出的恢复用固件34-1保存至易失性存储器20(图6:c2),使用保存在安全CPU11内的安全保证数据114,对保存于易失性存储器20的恢复用固件34-1的可靠性进行验证(图6:c3)。
在验证成功了的情况下,恢复执行部113将非易失性存储器30上的通常动作用固件32-1更新为恢复用固件34-1(图6:c4),再启动本储存装置1。在验证失败了的情况下,恢复执行部113向主机2通知错误。在向主机2通知了错误的情况下,恢复执行部113也可以使储存装置1停止。
在本实施方式的储存装置1中,如前所述,设想为恢复用固件是具备从主机2取得正规的通常动作用固件等的、用于修复通常动作用固件的必要最小限度的功能的固件。因此,恢复用固件34-1的可靠性的验证成功、通常动作用固件32-1被改写为恢复用固件34-1而被再启动了的储存装置1如在第1实施方式的说明中也描述过的那样例如按如以下的步骤进行动作。
首先,储存装置1通过安全启动功能对恢复用固件的可靠性进行验证。从访问权限被限定于安全CPU11的读出专用存储器40读出的恢复用固件的验证成功,储存装置1开始沿着由恢复用固件表示的步骤的动作。
储存装置1从主机2取得通常动作用固件,将被改写为恢复用固件的状态的非易失性存储器30上的固件再次改写为从主机2取得的通常动作用固件。该改写之后,储存装置1再启动。
如上所述,在通过将访问权限被限定于安全CPU11的读出专用存储器40作为恢复用固件的保存场所、将恢复用固件在保证了比通常动作用固件高的可靠性的状态下进行保存的本实施方式的储存装置1中,也能够与第1实施方式、第2实施方式同样地削减用于将储存装置交给制造者等来委托进行固件的修复这样的修复作业的成本,由此,能够提高可用性。
也即是,本储存装置1也能够对固件进行高等级地保证了可靠性的恢复。
在以上中,对还具有访问权限被限定于安全CPU11的作为掩模ROM等的读出专用存储器40来作为保存恢复用固件的存储元件的例子进行了说明。也即是,对通过将不可改写的存储元件作为保存场所、实现将恢复用固件在保证了比保存于非易失性存储器30的通常动作用固件高的可靠性的状态下进行保存的例子进行了说明。作为其一个变形例,对代替读出专用存储器40而应用NOR型闪速存储器等的也能够写入的存储元件的例子进行说明。
在该一个变形例中,作为保存恢复用固件的存储元件,设想为NOR型闪速存储器外置于控制器10。另外,该NOR型闪速存储器的访问权限被限定于安全CPU11。并且,在将能够写入的NOR型闪速存储器作为恢复用固件的保存场所的该一个变形例中,将用于对保存于NOR型闪速存储器的恢复用固件的可靠性进行验证的验证数据例如保存于熔断元件(eFuse),该熔断元件通过以电的方式使元件特性不可逆地改变来存储数据。eFuse既可以设置在控制器10内,也可以设置在控制器10的外部。验证数据例如是哈希值。
恢复执行部113在从NOR型闪速存储器读出恢复用固件、将非易失性存储器30上的通常动作用固件改写为该读出的恢复用固件时,使用记录于eFuse的验证数据对该读出的恢复用固件的可靠性进行验证。恢复执行部113在该验证成功了的情况下,将非易失性存储器30上的通常动作用固件改写为恢复用固件。这样,在该一个变形例中,也能实现将恢复用固件在保证了比通常动作用固件高的可靠性的状态下进行保存。
在该一个变形例中,实现如下效果:与作为掩模ROM等的读出专用存储器40的情况相比,能够在储存装置1的制造时改变向NOR型闪速存储器保存的恢复用固件。另外,用于对恢复用固件的可靠性进行验证的验证数据由eFuse记录,因此,能够应对NOR型闪速存储器自身的替换。或者,也可以设为:在作为掩模ROM等的读出专用存储器40保存恢复用固件的情况下,还将用于对该恢复用固件的可靠性进行验证的验证数据记录于eFuse。
另外,在本实施方式中为:设想为恢复用固件具有从主机2取得正规的通常动作用固件等的、用于对通常动作用固件进行修复的必要最小限度的功能,将非易失性存储器30上的通常动作用固件改写为恢复用固件,再启动储存装置1。也可以设为:在恢复用固件为具有从主机2取得正规的通常动作用固件等的、用于对通常动作用固件进行修复的必要最小限度的功能的固件的情况下,代替将非易失性存储器30上的通常动作用固件改写为恢复用固件,而是在保存于易失性存储器20之后,使用了安全保证数据114的可靠性的验证成功了的恢复用固件从主机2取得正规的通常动作用固件,将被篡改的非易失性存储器30上的通常动作用固件改写为从主机2取得的正规的通常动作用固件。在该情况下,储存装置1的再启动为一次即可。
(第4实施方式)
接着,对第4实施方式进行说明。
图7是表示本实施方式的储存装置1的与固件恢复有关的功能块的图。本实施方式的储存装置1也与第1实施方式~第3实施方式同样地具有控制器10、易失性存储器20以及非易失性存储器30。在此,对与第1实施方式~第3实施方式相同的构成要素使用同一标号,省略关于它们的重复的说明。
本实施方式的储存装置1与第1实施方式同样地在非易失性存储器30上设定访问权限被限定于安全CPU11的分区,在该分区保存恢复用固件。也即是,在本实施方式的储存装置1中,高安全区域30A存在于非易失性存储器30上。
另外,在本实施方式的储存装置1中,设想为通常动作用固件例如处理加密密钥等的重要数据。重要数据与通常动作用固件同样地保存于非易失性存储器30的通常区域30B。另外,用于对其可靠性进行验证的信息作为安全保证数据114被保存在安全CPU11内。进一步,在本实施方式的储存装置1中,能够通过基于来自主机2的命令的指示和/或储存装置1的内部处理等,在特定的定时更新重要数据。
在该情况下,若在通常动作用固件恢复时最新的重要数据丢失,则再启动的储存装置1会变为无法进行正常的动作。于是,本实施方式的储存装置1进一步将用于对重要数据35进行修复的恢复用重要数据36保存于非易失性存储器30上的高安全区域30A。
本实施方式的储存装置1中的恢复执行部113例如在特定的定时的重要数据35的更新时,从非易失性存储器30的通常区域30B读出被更新了的重要数据35(图7:d11)。此外,对于通过恢复执行部113进行的恢复用重要数据36向高安全区域30A的保存,也可以在与重要数据35的更新时不同的定时被执行。也即是,由标号d11表示的、重要数据35从通常区域30B的读出不限定于特定的定时的重要数据35的更新时。
恢复执行部113使用保存在安全CPU11内的安全保证数据114,对从通常区域30B读出的重要数据35的可靠性进行验证(图7:d12)。在该验证成功了的情况下,恢复执行部113执行所读出的重要数据35向高安全区域30A的写入(图7:d13)。在验证失败了的情况下,恢复执行部113向主机2通知错误。在向主机2通知了错误的情况下,恢复执行部113也可以使储存装置1停止。
另外,在执行通常动作用固件的恢复时,恢复执行部113从非易失性存储器30的高安全区域30A读出恢复用重要数据36(图7:d21)。此外,通常动作用固件自身的恢复的步骤是如在第1实施方式中说明过的那样,因此,在此省略其说明。
恢复执行部113针对所读出的恢复用重要数据36,使用保存在安全CPU11内的安全保证数据114,对其可靠性进行验证(图7:d22)。并且,在验证成功了的情况下,恢复执行部113将在非易失性存储器30的通常区域30B中保存的重要数据35改写为恢复用重要数据36。
在本实施方式的储存装置1中,由通常动作用固件处理的重要数据在特定的定时被进行更新,并且,在通常动作用固件的恢复时,最新的重要数据被进行修复,因此,能够从检测到异常动作之前的状态开始继续使用,能够提高可用性。
另外,在本实施方式中,对在非易失性存储器30上设定访问权限被限定于安全CPU11的分区、在该分区保存恢复用固件和通常动作用固件所处理的重要数据的例子进行了说明。也可以设为:在第3实施方式中作为一个变形例进行了说明的、在NOR型闪速存储器等的能够进行写入的存储元件保存恢复用固件、且用于对恢复用固件的可靠性进行验证的验证数据由eFuse记录的形态中,将通常动作用固件处理的重要数据的备份保存于NOR型闪速存储器。验证数据由仅与不发生更新的恢复用固件相当的Fuse来进行记录。即使仅通过在访问权限被限定于安全CPU11的NOR型闪速存储器保存重要数据,重要数据的可靠性也能被保证在高等级。
在该情况下,能够以低成本实现在NOR型闪速存储器的一部分区域保存其验证数据由Fuse进行记录的不发生更新的恢复用固件、在NOR型闪速存储器的其他区域保存发生更新的重要数据这一组合。
以上对本发明的几个实施方式进行了说明,但这些实施方式是作为例子提示的,并不是意在限定发明的范围。这些新的实施方式能够以其他各种各样的方式来实施,能够在不脱离发明的宗旨的范围内进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围、宗旨内,并且,包含在权利要求书记载的发明及其等同的范围内。
Claims (20)
1.一种储存装置,具备:
非易失性存储器;和
控制器,其基于来自主机的命令,对向所述非易失性存储器写入数据和从所述非易失性存储器读出数据进行控制,
所述控制器包括至少一个处理器,
所述非易失性存储器保存通常动作用固件和恢复用固件,所述通常动作用固件用于供所述至少一个处理器进行基于所述命令的数据的写入和读出的控制,所述恢复用固件用于修复所述通常动作用固件,
所述恢复用固件在保证了比所述通常动作用固件高的可靠性的状态下保存于所述非易失性存储器。
2.根据权利要求1所述的储存装置,
所述通常动作用固件和所述恢复用固件被加密化,所述恢复用固件使用与所述通常动作用固件相比加密强度高的算法或者密钥长度大的加密密钥被加密化而保存于所述非易失性存储器。
3.根据权利要求1所述的储存装置,
所述通常动作用固件和所述恢复用固件中的所述恢复用固件被加密化。
4.根据权利要求1所述的储存装置,
所述至少一个处理器包括具有对所述通常动作用固件和所述恢复用固件的可靠性进行验证的功能的第1处理器,
在所述非易失性存储器设定有仅所述第1处理器能够访问的第1区域,
所述恢复用固件保存于所述第1区域,
所述通常动作用固件保存于所述非易失性存储器的除所述第1区域之外的第2区域。
5.根据权利要求4所述的储存装置,
在通过所述恢复用固件修复了所述通常动作用固件的情况下应该由所述通常动作用固件使用的数据保存于所述第1区域。
6.根据权利要求4所述的储存装置,
所述通常动作用固件和所述恢复用固件被加密化,
所述恢复用固件使用与所述通常动作用固件相比加密强度高的算法或者密钥长度大的加密密钥被加密化而保存于所述第1区域。
7.根据权利要求4所述的储存装置,
所述通常动作用固件和所述恢复用固件中的所述恢复用固件被加密化。
8.根据权利要求4所述的储存装置,
所述恢复用固件是用于使所述第1处理器执行从所述主机取得正规的所述通常动作用固件的处理、和将保存于所述非易失性存储器的所述第2区域的所述通常动作用固件更新为从所述主机取得的正规的所述通常动作用固件的处理的程序。
9.一种储存装置,具备:
第1非易失性存储器;
第2非易失性存储器,其用于将包含程序的数据在保证了比所述第1非易失性存储器高的可靠性的状态下进行保存;以及
控制器,其基于来自主机的命令,对向所述第1非易失性存储器写入数据和从所述第1非易失性存储器读出数据进行控制,
所述控制器包括至少一个处理器,
用于供所述至少一个处理器进行基于所述命令的数据的写入和读出的控制的通常动作用固件保存于所述第1非易失性存储器,
用于对所述通常动作用固件进行修复的恢复用固件保存于所述第2非易失性存储器。
10.根据权利要求9所述的储存装置,
所述至少一个处理器包括具有对所述通常动作用固件和所述恢复用固件的可靠性进行验证的功能的第1处理器,
仅所述第1处理器能够访问所述第2非易失性存储器。
11.根据权利要求9或者10所述的储存装置,
所述第2非易失性存储器的容量比为了保存所述通常动作用固件所需要的容量小。
12.根据权利要求11所述的储存装置,
所述第2非易失性存储器的容量为500K字节以下。
13.根据权利要求9或者10所述的储存装置,
所述第2非易失性存储器是读出专用存储器。
14.根据权利要求13所述的储存装置,
还具备熔断元件,所述熔断元件通过以电的方式使元件特性不可逆地改变来存储数据,
用于对保存于所述第2非易失性存储器的所述恢复用固件进行验证的验证数据保存于所述熔断元件。
15.根据权利要求10所述的储存装置,
所述恢复用固件是用于使所述第1处理器执行从所述主机取得正规的所述通常动作用固件的处理、和将保存于所述第1非易失性存储器的所述通常动作用固件更新为从所述主机取得的正规的所述通常动作用固件的处理的程序。
16.根据权利要求4或者10所述的储存装置,
所述第1处理器,
具有内置存储器,所述内置存储器保存用于对所述通常动作用固件进行验证的验证数据,
通过使用了保存于所述内置存储器的所述验证数据的验证,判定所述通常动作用固件有无篡改。
17.根据权利要求9所述的储存装置,
在通过所述恢复用固件修复了所述通常动作用固件的情况下应该由所述通常动作用固件使用的数据保存于所述第2非易失性存储器。
18.根据权利要求4或者10所述的储存装置,
所述第1处理器,
检测所述储存装置的异常动作,
判定能否通过所述通常动作用固件的修复使被检测到异常动作的所述储存装置恢复,
在判定为所述储存装置能够恢复的情况下,执行通过所述恢复用固件进行的所述通常动作用固件的修复。
19.根据权利要求18所述的储存装置,
所述第1处理器将修复对象的所述通常动作用固件改写为所述恢复用固件,再启动所述储存装置。
20.根据权利要求18所述的储存装置,
还具备易失性存储器,
所述第1处理器执行被读出到所述易失性存储器的所述恢复用固件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019147505A JP7341784B2 (ja) | 2019-08-09 | 2019-08-09 | ストレージ装置 |
JP2019-147505 | 2019-08-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112347518A true CN112347518A (zh) | 2021-02-09 |
CN112347518B CN112347518B (zh) | 2024-09-20 |
Family
ID=74357159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010062994.5A Active CN112347518B (zh) | 2019-08-09 | 2020-01-20 | 储存装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11455115B2 (zh) |
JP (1) | JP7341784B2 (zh) |
CN (1) | CN112347518B (zh) |
TW (1) | TWI736075B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966970B (zh) * | 2020-07-31 | 2021-05-07 | 深圳比特微电子科技有限公司 | 防止数字货币矿机固件回退的方法、装置和数字货币矿机 |
US11797679B2 (en) * | 2021-07-28 | 2023-10-24 | Dell Products, L.P. | Trust verification system and method for a baseboard management controller (BMC) |
KR20230068824A (ko) | 2021-11-11 | 2023-05-18 | 삼성전자주식회사 | 스토리지 장치, 이에 대한 동작 방법 및 메모리 시스템 |
JP2023088703A (ja) * | 2021-12-15 | 2023-06-27 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
TWI817502B (zh) * | 2022-05-13 | 2023-10-01 | 宇瞻科技股份有限公司 | 固態硬碟系統 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09330272A (ja) * | 1996-06-12 | 1997-12-22 | Hitachi Ltd | Bios制御方式 |
JP2007207114A (ja) * | 2006-02-03 | 2007-08-16 | Ricoh Co Ltd | 情報記録装置、画像形成装置、情報記録方法及び情報記録プログラム |
CN103810430A (zh) * | 2012-11-13 | 2014-05-21 | 联想(北京)有限公司 | 一种控制电子设备的方法及电子设备 |
JP2015036847A (ja) * | 2013-08-12 | 2015-02-23 | 株式会社東芝 | 半導体装置 |
CN104424441A (zh) * | 2013-08-21 | 2015-03-18 | 恩智浦有限公司 | 处理系统 |
CN104573529A (zh) * | 2015-01-28 | 2015-04-29 | 加弘科技咨询(上海)有限公司 | 一种bios固件的划分、更新方法和系统 |
JP2016118879A (ja) * | 2014-12-19 | 2016-06-30 | 株式会社デンソー | マイクロコンピュータ |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934873B2 (en) * | 2002-02-28 | 2005-08-23 | Dell Products L.P. | Automatic BIOS recovery in a multi-node computer system |
US20080186753A1 (en) * | 2007-02-05 | 2008-08-07 | Broadcom Corporation | High density one time programmable memory |
US8490189B2 (en) | 2009-09-25 | 2013-07-16 | Intel Corporation | Using chipset-based protected firmware for host software tamper detection and protection |
JP5624510B2 (ja) * | 2011-04-08 | 2014-11-12 | 株式会社東芝 | 記憶装置、記憶システム及び認証方法 |
US10803970B2 (en) * | 2011-11-14 | 2020-10-13 | Seagate Technology Llc | Solid-state disk manufacturing self test |
EP2704053B1 (en) * | 2012-08-27 | 2016-09-21 | Giesecke & Devrient GmbH | Method and system for updating a firmware of a security module |
US9317548B2 (en) * | 2013-01-30 | 2016-04-19 | International Business Machines Corporation | Reducing collisions within a hash table |
US9092398B2 (en) * | 2013-02-14 | 2015-07-28 | Avago Technologies General Ip (Singapore) Pte Ltd | Restoring expander operations in a data storage switch |
US9858208B2 (en) * | 2013-03-21 | 2018-01-02 | International Business Machines Corporation | System for securing contents of removable memory |
JP6244759B2 (ja) | 2013-09-10 | 2017-12-13 | 株式会社ソシオネクスト | セキュアブート方法、半導体装置、及び、セキュアブートプログラム |
US9990502B2 (en) * | 2014-04-28 | 2018-06-05 | Topia Technology, Inc. | Systems and methods for security hardening of data in transit and at rest via segmentation, shuffling and multi-key encryption |
KR102385552B1 (ko) * | 2015-12-29 | 2022-04-12 | 삼성전자주식회사 | 시스템-온-칩 및 이를 포함하는 전자 장치 |
US10740468B2 (en) * | 2016-09-30 | 2020-08-11 | Hewlett Packard Enterprise Development Lp | Multiple roots of trust to verify integrity |
US10621351B2 (en) | 2016-11-01 | 2020-04-14 | Raptor Engineering, LLC. | Systems and methods for tamper-resistant verification of firmware with a trusted platform module |
US10839080B2 (en) * | 2017-09-01 | 2020-11-17 | Microsoft Technology Licensing, Llc | Hardware-enforced firmware security |
-
2019
- 2019-08-09 JP JP2019147505A patent/JP7341784B2/ja active Active
- 2019-12-23 TW TW108147170A patent/TWI736075B/zh active
-
2020
- 2020-01-20 CN CN202010062994.5A patent/CN112347518B/zh active Active
- 2020-02-28 US US16/804,053 patent/US11455115B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09330272A (ja) * | 1996-06-12 | 1997-12-22 | Hitachi Ltd | Bios制御方式 |
JP2007207114A (ja) * | 2006-02-03 | 2007-08-16 | Ricoh Co Ltd | 情報記録装置、画像形成装置、情報記録方法及び情報記録プログラム |
CN103810430A (zh) * | 2012-11-13 | 2014-05-21 | 联想(北京)有限公司 | 一种控制电子设备的方法及电子设备 |
JP2015036847A (ja) * | 2013-08-12 | 2015-02-23 | 株式会社東芝 | 半導体装置 |
CN104424441A (zh) * | 2013-08-21 | 2015-03-18 | 恩智浦有限公司 | 处理系统 |
JP2016118879A (ja) * | 2014-12-19 | 2016-06-30 | 株式会社デンソー | マイクロコンピュータ |
CN104573529A (zh) * | 2015-01-28 | 2015-04-29 | 加弘科技咨询(上海)有限公司 | 一种bios固件的划分、更新方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210042035A1 (en) | 2021-02-11 |
JP7341784B2 (ja) | 2023-09-11 |
CN112347518B (zh) | 2024-09-20 |
TWI736075B (zh) | 2021-08-11 |
TW202107277A (zh) | 2021-02-16 |
JP2021028763A (ja) | 2021-02-25 |
US11455115B2 (en) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112347518B (zh) | 储存装置 | |
US8438377B2 (en) | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data | |
US10509568B2 (en) | Efficient secure boot carried out in information processing apparatus | |
EP2745228B1 (en) | Secure recovery apparatus and method | |
JP7022809B2 (ja) | コンピュータシステム、および、その安全管理方法、および、コンピュータソフトウェア製品 | |
US7461268B2 (en) | E-fuses for storing security version data | |
JP6054908B2 (ja) | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ | |
US11803366B2 (en) | Firmware updating system and method | |
WO2014131652A1 (en) | A method for software anti-rollback recovery | |
TWI775346B (zh) | 防止回滾攻擊之系統及方法 | |
CN113486360A (zh) | 基于risc-v的安全启动方法及系统 | |
JP2005332221A (ja) | 記憶装置 | |
CN115221527A (zh) | 电子装置及其控制方法 | |
JP2018195329A (ja) | 情報処理装置 | |
CN111695164B (zh) | 电子设备及其控制方法 | |
US20230129942A1 (en) | Method for locking a rewritable non-volatile memory and electronic device implementing said method | |
CN112817619B (zh) | 电脑系统及其安全管理方法以及电脑软件产品 | |
TWI824602B (zh) | 電子裝置及其控制方法 | |
CN107368743B (zh) | 信息处理设备和信息处理方法 | |
CN113742784A (zh) | 应用加速验证映像文件方法的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |