TWI736075B - 儲存裝置 - Google Patents

儲存裝置 Download PDF

Info

Publication number
TWI736075B
TWI736075B TW108147170A TW108147170A TWI736075B TW I736075 B TWI736075 B TW I736075B TW 108147170 A TW108147170 A TW 108147170A TW 108147170 A TW108147170 A TW 108147170A TW I736075 B TWI736075 B TW I736075B
Authority
TW
Taiwan
Prior art keywords
firmware
aforementioned
storage device
recovery
volatile memory
Prior art date
Application number
TW108147170A
Other languages
English (en)
Other versions
TW202107277A (zh
Inventor
二木隼平
梅澤健太郎
Original Assignee
日商鎧俠股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 日商鎧俠股份有限公司 filed Critical 日商鎧俠股份有限公司
Publication of TW202107277A publication Critical patent/TW202107277A/zh
Application granted granted Critical
Publication of TWI736075B publication Critical patent/TWI736075B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

實施形態提供針對韌體可以高的位準擔保有可靠性的復原之儲存裝置。 實施形態的儲存裝置係具備:非揮發性記憶體;及控制器。前述控制器,係依據來自主機之指令,控制資料之寫入前述非揮發性記憶體及從前述非揮發性記憶體之資料之讀出。前述控制器包含至少1個處理器。前述非揮發性記憶體儲存有:由前述至少1個處理器進行基於前述指令的資料之寫入及讀出之控制的通常動作用韌體;及對前述通常動作用韌體進行修復的復原用韌體。前述復原用韌體係在比起前述通常動作用韌體擔保有更高可靠性的狀態下儲存於前述非揮發性記憶體。

Description

儲存裝置
[關連申請] 本申請以日本專利申請2019-147505號(申請日:2019年8月9日)為基礎申請而主張優先權。本申請藉由參照該基礎申請而包含基礎申請之全部內容。 本發明之實施形態關於儲存裝置。
近年來,HDD(Hard Disk Drive)或SSD(Solid State Drive)等之各種儲存裝置廣泛普及。該種之儲存裝置,係依據稱為韌體等之程式所示之順序執行資料之寫入或資料之讀出等之處理。因此,若韌體被竄改,則儲存裝置進行不正當的動作。又,對儲存裝置之動作帶來影響的資料被竄改之情況下亦同樣。因此,出現搭載有對包含韌體的程式或資料之可靠性進行檢驗的安全功能之儲存裝置。在起動時等對韌體之可靠性進行檢驗的安全功能亦稱為安全啟動(Secure Boot)功能等。 搭載有安全啟動功能之儲存裝置中,韌體被竄改之情況下,藉由該安全啟動功能可以抑制儲存裝置之起動。因此,欲修復儲存裝置時需將儲存裝置寄放到製造廠等請求修復。 若儲存裝置本身搭載有針對被竄改之韌體藉由改寫韌體修復用之復原用韌體來修復儲存裝置的功能,則不需要將儲存裝置寄放到製造廠等請求修復。但是,若復原用韌體亦同樣被竄改之情況下,在使用者之身邊修復儲存裝置已經不可能。
本發明之實施形態提供針對韌體可以高的位準擔保有可靠性的復原之儲存裝置。 實施形態的儲存裝置係具備:非揮發性記憶體;及控制器。前述控制器,係依據來自主機之指令,控制資料之寫入前述非揮發性記憶體及從前述非揮發性記憶體之資料之讀出。前述控制器包含至少1個處理器。前述非揮發性記憶體儲存有:由前述至少1個處理器進行基於前述指令的資料之寫入及讀出之控制的通常動作用韌體;及對前述通常動作用韌體進行修復的復原用韌體。前述復原用韌體係在比起前述通常動作用韌體擔保有更高可靠性的狀態下儲存於前述非揮發性記憶體。
以下,參照圖面說明實施之形態。 (第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的記憶體內儲存的資訊之存取手段有受到限制,該資訊之可靠性受到保證。因此,和一般的CPU比較,安全CPU11為安全強度高的CPU。此處,假設控制器10除了該安全CPU11之外還具有2個一般的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-A FW32-1、通常動作用CPU-B FW32-2)所示之順序執行處理。具體而言為,安全CPU11、CPU-A12-1及CPU-B12-2將各個韌體例如按照模組單位適當地從非揮發性記憶體30下載至揮發性記憶體20而執行。 於安全CPU11內儲存有對各個韌體之可靠性進行檢驗的安全保證資料。例如在儲存裝置1之起動時,安全CPU11使用該安全保證資料對各個韌體之可靠性進行檢驗。亦即,本儲存裝置1具有安全啟動功能。儲存於安全CPU11內的安全保證資料僅能夠從安全CPU11進行存取,若欲竄改安全保證資料時,必需不當地動作安全CPU11,因此,首先,必需竄改安全CPU11之韌體。但是,安全CPU11之韌體之竄改,例如藉由在儲存裝置1之起動時的可靠性之檢驗被檢測出。因此,安全CPU11內之安全保證資料,其可靠性受到保證,因此可以作為可靠性之起點(Root of Trust)予以使用。作為安全保證資料並不限定於特定之資訊,可以適用檢驗金鑰或MAC值等之各種資訊。 具有以上構成的本儲存裝置1,係具有使被竄改之韌體復原的功能。圖2係表示與本儲存裝置1之韌體之復原相關的功能方塊的圖。 安全CPU11具有:檢測部111;復原判定部112;及復原執行部113。藉由將彼等各部儲存於僅能夠存取安全CPU11、而且僅可以讀出的記憶體等,藉由該安全CPU11執行以高位準擔保有其可靠性的程式來實現。或者,將該程式本身作為安全保證資料114之1個而儲存於安全CPU11內亦可。 又,第1是,於非揮發性記憶體30儲存有:安全CPU11之用的韌體亦即通常動作用安全CPU FW31;CPU-A12-1之用的韌體亦即通常動作用CPU-A FW32-1;及CPU-B12-2之用的韌體亦即通常動作用CPU-B FW32-2。又,第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-A FW32-1及通常動作用CPU-B FW32-2,以及後者之復原用安全CPU FW33、復原用CPU-A FW34-1及復原用CPU-B FW34-2之中,至少後者之復原用安全CPU FW33、復原用CPU-A FW34-1及復原用CPU-B FW34-2係在已加密的狀態下儲存於非揮發性記憶體30。亦即,本儲存裝置1具有對程式或資料實施加密,且對加密的程式或資料實施解密的加密功能之中之至少與解密相關的功能。又,詳細如後述,和前者之通常動作用安全CPU FW31、通常動作用CPU-A FW32-1及通常動作用CPU-B FW32-2比較,後者之復原用安全CPU FW33、復原用CPU-A FW34-1及復原用CPU-B FW34-2,係使用加密強度較高的運算法則或金鑰長度較大的加密金鑰實施加密。亦即,在擔保有高可靠性的狀態下儲存於非揮發性記憶體30。若通常動作用韌體(31、32-1、32-2)及復原用韌體(33、34-1、34-2)進一步具有對經由本儲存裝置1壓縮的程式或資料實施解壓縮的功能,則以壓縮的狀態儲存於非揮發性記憶體30亦可。 檢測部111係對儲存裝置1之動作中的通常動作用韌體之竄改進行檢測的模組,係對儲存裝置1之異常動作,更詳言之為對安全CPU11、CPU-A12-1或CPU-B12-2之異常動作進行檢測。又,儲存裝置1之停止中的通常動作用韌體之竄改,係於儲存裝置1之起動時藉由前述之安全啟動功能進行檢測。關於對異常動作進行檢測的方法,不限定於特定之方法,可以適用已知之各種方法。 在檢測出儲存裝置1之異常動作之情況下,復原判定部112判定該儲存裝置1藉由通常動作用韌體之復原是否可以回復。該判定例如係調查檢測出的異常動作之原因是否為硬體障害,若原因不是硬體障害之情況下,判定為藉由通常動作用韌體之復原可以使回復者亦可。又,使用儲存於安全CPU11內的安全保證資料對通常動作用安全CPU FW31、通常動作用CPU-A FW32-1及通常動作用CPU-B FW32-2之可靠性進行檢驗,在檢測出竄改的情況下,判定為藉由通常動作用韌體之復原可以使回復亦可。 當判定藉由通常動作用韌體之復原可以使檢測出異常動作的儲存裝置1回復之情況下,復原執行部113執行通常動作用韌體之復原。例如,藉由檢測部111檢測出CPU-A12-1之異常動作之情況下,復原判定部112判定為藉由通常動作用CPU-A FW32-1之復原可以使該CPU-A12-1回復之情況下,復原執行部113將通常動作用CPU-A FW32-1改寫為復原用CPU-A FW34-1,並執行再起動儲存裝置1之處理。又,判定藉由通常動作用韌體之復原無法回復之情況下,藉由復原判定部112進行對主機2之錯誤之通知。對主機2通知錯誤之情況下,復原判定部112停止儲存裝置1亦可。 又,在儲存裝置1之起動時,復原執行部113藉由前述之安全啟動功能,例如檢測出通常動作用CPU-A FW32-1之竄改的情況下,將通常動作用CPU-A FW32-1改寫為復原用CPU-A FW34-1,執行再起動儲存裝置1之處理。 又,復原用韌體(33、34-1、34-2)可以是作為所謂備份而準備為和通常動作用韌體(31、32-1、32-2)相同者,或是具備從主機2取得正規之通常動作用韌體等之修復通常動作用韌體的必要最小限之功能者亦可。修復韌體係指例如將被竄改之韌體改寫為正規之韌體而使恢復竄改前之狀態。 但是,例如藉由復原用CPU-A FW34-1欲修復已被竄改之通常動作用CPU-A FW32-1,而復原用CPU-A FW34-1亦同樣被竄改之情況下,藉由儲存裝置1之再起動時動作的安全啟動功能,使儲存裝置1之起動被抑制。亦即,本儲存裝置1中之復原已經不可能,而必需將儲存裝置寄放到製造廠等請求修復。 此處,本儲存裝置1中,和通常動作用韌體(31、32-1、32-2)比較,復原用韌體(33、34-1、34-2)係以擔保有高可靠性的狀態下儲存於非揮發性記憶體30。又,本儲存裝置1中,將通常動作用韌體改寫為復原用韌體時,係使用儲存於安全CPU11內的安全保證資料114,對復原用韌體之可靠性進行檢驗。 關於復原用韌體和通常動作用韌體比較係以擔保有高可靠性的狀態下儲存於非揮發性記憶體30,係如前述般,使用加密強度較高的運算法則或金鑰長度較大的加密金鑰實施加密來實現。例如藉由共通金鑰加密方式進行加密之情況下,解密用的共通金鑰(加密金鑰)作為安全保證資料114而儲存於安全CPU11內。負責本儲存裝置1之加密功能之模組,係受取表示作為安全保證資料114而儲存於安全CPU11內的加密金鑰的資訊以其作為參數,使用該資訊中所示之加密金鑰,執行指示的程式或資料之解密。又,負責加密功能之模組對應於複數個運算法則的情況下,運算法則之指定亦藉由參數受取。 復原執行部113例如將通常動作用韌體32-1改寫為復原用韌體34-1之情況下,首先,執行復原用韌體34-1之從非揮發性記憶體30之讀出(圖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-A FW34-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實施形態比較,還具有光罩式唯讀記憶體(Mask 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的光罩式唯讀記憶體等的讀出專用記憶體40之例。亦即,說明藉由將不可改寫之記憶元件設為儲存場所,來實現使復原用韌體和儲存於非揮發性記憶體30的通常動作用韌體比較以擔保有更高可靠性的狀態下儲存的例。作為該一變形例說明,取代讀出專用記憶體40而適用NOR型快閃記憶體等之可以寫入的記憶元件之例。 該一變形例中,作為儲存復原用韌體的記憶元件,假設為將NOR型快閃記憶體外加於控制器10者。又,該NOR型快閃記憶體之存取權限限定為安全CPU11。將可以寫入的NOR型快閃記憶體設為復原用韌體之儲存場所的該一變形例中,對儲存於NOR型快閃記憶體的復原用韌體之可靠性進行檢驗的檢驗資料,例如係儲存於藉由電性不可逆地變化元件特性來記憶資料的保險絲元件(eFuse)。eFuse可以設於控制器10內,或設於控制器10之外部亦可。檢驗資料例如為雜湊值。 復原執行部113從NOR型快閃記憶體讀出復原用韌體,將非揮發性記憶體30上之通常動作用韌體改寫為該讀出的復原用韌體時,係使用記錄於eFuse的檢驗資料對該讀出的復原用韌體之可靠性進行檢驗。該檢驗成功之情況下,復原執行部113將非揮發性記憶體30上之通常動作用韌體改寫為復原用韌體。如此般,該一變形例中亦可以實現,將復原用韌體比起通常動作用韌體以擔保有更高可靠性的狀態下進行儲存。 該一變形例中,和光罩式唯讀記憶體等的讀出專用記憶體40之情況比較,儲存裝置1之製造時,可以達成變更儲存於NOR型快閃記憶體的復原用韌體之效果。又,對復原用韌體之可靠性進行檢驗的檢驗資料係記錄於eFuse,因此可以對應於NOR型快閃記憶體本身之替換。或者,在將復原用韌體儲存於光罩式唯讀記憶體等的讀出專用記憶體40的情況下,進一步將對該復原用韌體之可靠性進行檢驗的檢驗資料記錄於eFuse亦可。 又,本實施形態中,假設復原用韌體為具備從主機2取得正規之通常動作用韌體等之對通常動作用韌體進行修復的必要最小限之功能者,將非揮發性記憶體30上之通常動作用韌體改寫為復原用韌體,再起動儲存裝置1。復原用韌體為具備從主機2取得正規之通常動作用韌體等之對通常動作用韌體進行修復的必要最小限之功能者的情況下,作為將非揮發性記憶體30上之通常動作用韌體改寫為復原用韌體之取代,在儲存於揮發性記憶體20之後,使用安全保證資料114的可靠性之檢驗成功之復原用韌體,從主機2取得正規之通常動作用韌體,將竄改的非揮發性記憶體30上之通常動作用韌體,改寫為從主機2取得之正規之通常動作用韌體亦可。該情況下,儲存裝置1之再起動1次即可。 (第4實施形態) 接著,說明第4實施形態。 圖7係表示與本實施形態的儲存裝置1之韌體之復原相關的功能方塊的圖。本實施形態的儲存裝置1,亦和第1實施形態至第3實施形態同樣,控制器10具有揮發性記憶體20及非揮發性記憶體30。此處,針對和第1實施形態至第3實施形態相同之構成要素附加相同之符號,並省略彼等之重複說明。 本實施形態的儲存裝置1,和第1實施形態同樣,於非揮發性記憶體30上設定有存取權限限定為安全CPU11的劃分區,於該劃分區儲存有復原用韌體。亦即,本實施形態的儲存裝置1中,在非揮發性記憶體30上存在有高安全區域30A。 又,本實施形態的儲存裝置1中,假設通常動作用韌體例如處理加密金鑰等之重要資料。重要資料,係和通常動作用韌體同樣,儲存於非揮發性記憶體30之通常區域30B。又,以對其可靠性進行檢驗的資訊作為安全保證資料114而儲存於安全CPU11內。再者,本實施形態的儲存裝置1中,藉由來自主機2之指令之指示或儲存裝置1之內部處理等,重要資料可以特定之時序進行更新。 該情況下,通常動作用韌體之復原時,若最新之重要資料失去,則再起動的儲存裝置1無法進行正常的動作。此處,本實施形態的儲存裝置1,進一步將對重要資料35進行修復的復原用重要資料36儲存於非揮發性記憶體30上之高安全區域30A。 本實施形態的儲存裝置1中的復原執行部113,例如在按特定之時序進行重要資料35之更新時,將已更新的重要資料35從非揮發性記憶體30之通常區域30B讀出(圖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實施形態中之說明,因此此處省略該說明。 針對讀出的復原用重要資料36,復原執行部113使用儲存於安全CPU11內的安全保證資料114對其可靠性進行檢驗(圖7:d22)。檢驗成功之情況下,復原執行部113將儲存於非揮發性記憶體30之通常區域30B的重要資料35改寫為復原用重要資料36。 本實施形態的儲存裝置1中,被通常動作用韌體處理的重要資料係按照特定之時序更新,而且,在通常動作用韌體之復原時,對最新之重要資料進行修復,因此可以從檢測出異常動作前之狀態繼續使用,可以提升可用性。 又,本實施形態中說明,在非揮發性記憶體30上設定有存取權限限定為安全CPU11的劃分區,於該劃分區儲存有復原用韌體與通常動作用韌體處理的重要資料之例。於第3實施形態中作為一變形例所說明的,將復原用韌體儲存於NOR型快閃記憶體等之可以寫入的記憶元件,而且,藉由eFuse記錄對復原用韌體之可靠性進行檢驗的檢驗資料的形態中,將通常動作用韌體所處理的重要資料之備份儲存於NOR型快閃記憶體亦可。檢驗資料,係藉由eFuse僅記錄未產生更新的復原用韌體部分。僅將重要資料儲存於存取權限限定為安全CPU11的NOR型快閃記憶體,亦可以高位準擔保重要資料之可靠性。 該情況下,可以低成本實現在NOR型快閃記憶體之一部區域,將藉由eFuse記錄有檢驗資料的未產生更新的復原用韌體予以儲存,在NOR型快閃記憶體之其他區域將產生更新的重要資料予以儲存的組合。 對本發明之幾個實施形態進行說明,但彼等實施形態僅為例示者,並非用來限定發明之範圍。彼等新規之實施形態可以用其他之各種形態實施,在不脫離發明之要旨之範圍內,可以進行各種省略、置換、變更。彼等實施形態或其變形亦包含於發明之範圍或要旨,同時包含於申請專利範圍記載的發明與其均等之範圍。
1:儲存裝置 2:主機 10:控制器 11:安全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實施形態的儲存裝置之一構成例的圖。 [圖2]表示與第1實施形態的儲存裝置之韌體之復原相關的功能方塊的圖。 [圖3]表示與第1實施形態的儲存裝置之韌體之復原相關的動作順序的流程圖。 [圖4]表示與第2實施形態的儲存裝置之韌體之復原相關的功能方塊的圖。 [圖5]表示第3實施形態的儲存裝置之一構成例的圖。 [圖6]表示與第3實施形態的儲存裝置之韌體之復原相關的功能方塊的圖。 [圖7]表示與第4實施形態的儲存裝置之韌體之復原相關的功能方塊的圖。
11:安全CPU
20:揮發性記憶體
30:非揮發性記憶體
31:通常動作用安全CPU FW
32-1:通常動作用CPU-A FW
32-2:通常動作用CPU-B FW
33:復原用安全CPU FW
34-1:復原用CPU-A FW
34-2:復原用CPU-B FW
111:檢測部
112:復原判定部
113:復原執行部
114:安全保證資料

Claims (22)

  1. 一種儲存裝置,係具備:非揮發性記憶體;及控制器,係依據來自主機之指令,控制資料之寫入前述非揮發性記憶體及從前述非揮發性記憶體之資料之讀出;前述控制器包含至少1個處理器;前述非揮發性記憶體儲存有:由前述至少1個處理器進行基於前述指令的資料之寫入及讀出之控制的通常動作用韌體;及在前述通常動作用韌體被竄改的情況下由前述至少1個處理器執行以使前述通常動作用韌體修復的復原用韌體;前述復原用韌體係在比起前述通常動作用韌體擔保有更高可靠性的狀態下儲存於前述非揮發性記憶體。
  2. 如請求項1之儲存裝置,其中前述通常動作用韌體及前述復原用韌體被加密,前述復原用韌體,係使用和前述通常動作用韌體比較加密強度更高的運算法則或金鑰長度較大的加密金鑰實施加密而儲存於前述非揮發性記憶體。
  3. 如請求項1之儲存裝置,其中前述通常動作用韌體及前述復原用韌體之中之前述復原用韌體被加密。
  4. 如請求項1之儲存裝置,其中前述至少1個處理器包含有第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非揮發性記憶體;在前述通常動作用韌體被竄改的情況下由前述至少1個處理器執行以使前述通常動作用韌體修復的復原用韌體,係儲存於前述第2非揮發性記憶體。
  10. 如請求項9之儲存裝置,其中前述至少1個處理器包含有第1處理器,該第1處理器具有對前述通常動作用韌體及前述復原用韌體之可靠性進行檢驗的功能,前述第2非揮發性記憶體僅由前述第1處理器可以存取。
  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處理器執行讀出至前述揮發性記憶體的前述復原用韌體。
  21. 如請求項1之儲存裝置,其中執行前述通常動作用韌體的前述至少1個處理器,與執行前述復原用韌體的前述至少1個處理器彼此為不同的處理器。
  22. 如請求項9之儲存裝置,其中執行前述通常動作用韌體的前述至少1個處理器,與執行前述復原用韌體的前述至少1個處理器彼此為不同的處理器。
TW108147170A 2019-08-09 2019-12-23 儲存裝置 TWI736075B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-147505 2019-08-09
JP2019147505A JP7341784B2 (ja) 2019-08-09 2019-08-09 ストレージ装置

Publications (2)

Publication Number Publication Date
TW202107277A TW202107277A (zh) 2021-02-16
TWI736075B true TWI736075B (zh) 2021-08-11

Family

ID=74357159

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108147170A TWI736075B (zh) 2019-08-09 2019-12-23 儲存裝置

Country Status (4)

Country Link
US (1) US11455115B2 (zh)
JP (1) JP7341784B2 (zh)
CN (1) CN112347518A (zh)
TW (1) TWI736075B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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)
TWI817502B (zh) * 2022-05-13 2023-10-01 宇瞻科技股份有限公司 固態硬碟系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124932A1 (en) * 2011-11-14 2013-05-16 Lsi Corporation Solid-State Disk Manufacturing Self Test
US20150235020A1 (en) * 2011-04-08 2015-08-20 Kabushiki Kaisha Toshiba Storage device, storage system, and authentication method
US9317548B2 (en) * 2013-01-30 2016-04-19 International Business Machines Corporation Reducing collisions within a hash table
US9858208B2 (en) * 2013-03-21 2018-01-02 International Business Machines Corporation System for securing contents of removable memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330272A (ja) * 1996-06-12 1997-12-22 Hitachi Ltd Bios制御方式
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
EP2704053B1 (en) * 2012-08-27 2016-09-21 Giesecke & Devrient GmbH Method and system for updating a firmware of a security module
CN103810430B (zh) * 2012-11-13 2018-02-27 联想(北京)有限公司 一种控制电子设备的方法及电子设备
US9092398B2 (en) * 2013-02-14 2015-07-28 Avago Technologies General Ip (Singapore) Pte Ltd Restoring expander operations in a data storage switch
JP2015036847A (ja) * 2013-08-12 2015-02-23 株式会社東芝 半導体装置
EP2854066B1 (en) * 2013-08-21 2018-02-28 Nxp B.V. System and method for firmware integrity verification using multiple keys and OTP memory
JP6244759B2 (ja) 2013-09-10 2017-12-13 株式会社ソシオネクスト セキュアブート方法、半導体装置、及び、セキュアブートプログラム
WO2016010604A2 (en) * 2014-04-28 2016-01-21 Topia Technology, Inc. Systems and methods for security hardening of data in transit and at rest via segmentation, shuffling and multi-key encryption
JP6354566B2 (ja) * 2014-12-19 2018-07-11 株式会社デンソー マイクロコンピュータ
CN104573529B (zh) * 2015-01-28 2018-04-17 加弘科技咨询(上海)有限公司 一种bios固件的划分、更新方法和系统
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150235020A1 (en) * 2011-04-08 2015-08-20 Kabushiki Kaisha Toshiba Storage device, storage system, and authentication method
US20130124932A1 (en) * 2011-11-14 2013-05-16 Lsi Corporation Solid-State Disk Manufacturing Self Test
US9317548B2 (en) * 2013-01-30 2016-04-19 International Business Machines Corporation Reducing collisions within a hash table
US9858208B2 (en) * 2013-03-21 2018-01-02 International Business Machines Corporation System for securing contents of removable memory

Also Published As

Publication number Publication date
CN112347518A (zh) 2021-02-09
JP2021028763A (ja) 2021-02-25
US20210042035A1 (en) 2021-02-11
US11455115B2 (en) 2022-09-27
JP7341784B2 (ja) 2023-09-11
TW202107277A (zh) 2021-02-16

Similar Documents

Publication Publication Date Title
TWI736075B (zh) 儲存裝置
JP4769608B2 (ja) 起動検証機能を有する情報処理装置
JP6373888B2 (ja) 情報処理装置及び制御方法
US7461268B2 (en) E-fuses for storing security version data
JP7022809B2 (ja) コンピュータシステム、および、その安全管理方法、および、コンピュータソフトウェア製品
US8127144B2 (en) Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit
US8751817B2 (en) Data processing apparatus and validity verification method
CN110363010B (zh) 一种基于MPSoC芯片的系统安全启动方法
TWI775346B (zh) 防止回滾攻擊之系統及方法
US20130061287A1 (en) Method for authenticating a storage device, machine-readable storage medium, and host device
KR101988404B1 (ko) 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법
KR101954439B1 (ko) 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법
JP6622360B2 (ja) 情報処理装置
TWI738020B (zh) 電子機器及其控制方法
US20200380135A1 (en) Integrated circuit and control method of integrated circuit
TW201319862A (zh) 嵌入式元件與控制方法
TWI824602B (zh) 電子裝置及其控制方法
JP7097407B2 (ja) ビットエラー修正の試行錯誤を優先順位付けるためのシステムおよび方法
US11475170B2 (en) System and method for correction of memory errors
CN107368743B (zh) 信息处理设备和信息处理方法
CN112817619A (zh) 电脑系统及其安全管理方法以及电脑软件产品
JP2004355561A (ja) 起動装置
TW202343291A (zh) 防止抗重放攻擊之方法
CN113742784A (zh) 应用加速验证映像文件方法的系统