CN111916131A - 具安全性扩充的数据储存装置以及非挥发式存储器控制方法 - Google Patents
具安全性扩充的数据储存装置以及非挥发式存储器控制方法 Download PDFInfo
- Publication number
- CN111916131A CN111916131A CN201910445357.3A CN201910445357A CN111916131A CN 111916131 A CN111916131 A CN 111916131A CN 201910445357 A CN201910445357 A CN 201910445357A CN 111916131 A CN111916131 A CN 111916131A
- Authority
- CN
- China
- Prior art keywords
- firmware code
- security
- function
- volatile memory
- main
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 143
- 238000013500 data storage Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 167
- 230000000717 retained effect Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- 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/061—Improving I/O performance
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及非挥发式存储器的安全性扩充设计,具体地说,涉及具安全性扩充的数据储存装置以及非挥发式存储器控制方法。本发明令该非挥发式存储器载有一个线上编程。一存储器控制器将该线上编程载入一数据暂存器,使在该数据暂存器上提供一主固件码、一函式指标结构、以及一安全固件码。该存储器控制器执行该主固件码,由该主固件码透过该函式指标结构呼叫该安全固件码所提供的安全函式,使切换以较高安全层级操作该非挥发式存储器。该安全固件码采应用程序介面(API),相容其他专案。
Description
技术领域
本发明有关于非挥发式存储器的安全性扩充(security extension)。
背景技术
非挥发式存储器有多种形式─例如,快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存,可做为储存媒体实现一数据储存装置。
响应于安全性(security)应用,数据储存装置的安全性扩充为本技术领域重要议题。
发明内容
本发明提出不同专案的数据储存装置都可通用的一种安全性扩充技术。
根据本发明一种实施方式所实现的一数据储存装置包括一非挥发式存储器以及一存储器控制器。该存储器控制器根据一主机的要求操作该非挥发式存储器。该非挥发式存储器载有一个线上编程。该存储器控制器将该线上编程载入一数据暂存器,使在该数据暂存器上提供一主固件码、一函式指标结构、以及一安全固件码。该存储器控制器执行该主固件码,由该主固件码透过该函式指标结构呼叫该安全固件码所提供的安全函式,使切换以较高安全层级操作该非挥发式存储器。该安全固件码可采应用程序介面(API),相容多个专案。
该函式指标结构可包括一第一表格以及一第二表格。该第一表格记载主函式地址。该第二表格记载安全函式地址。该主固件码是透过该第二表格呼叫该安全固件码所提供的安全函式。透过该第一表格,该安全固件码得以呼叫该主固件码提供的主函式。一种实施方式中,该存储器控制器是在执行该主固件码时填写该第一表格。该第二表格存在于取自该非挥发式存储器的该线上编程。
一种实施方式中,该主机要求安全操作时,该存储器控制器释出该数据暂存器的空间,储存该主固件码、该函式指标结构、以及该安全固件码。
一种实施方式中,该存储器控制器还以该主固件码将第一安全函式参数载入该数据暂存器,上述第一安全函式参数与专案相关。该存储器控制器执行的安全函式包括将第二安全函式参数载入该数据暂存器,上述第二安全函式参数取自该非挥发式存储器。上述第二安全函式参数载入该数据暂存器修正后,可由该存储器控制器以该安全固件码更新回该非挥发式存储器。
一种实施方式中,上述第二安全函式参数可局部保留于该数据暂存器,不随上述安全操作结束而自该数据暂存器移除。其他主固件码可能使用之。
本发明概念可用于实施非挥发式存储器控制方法。
根据本发明一种实施方式所实现的非挥发式存储器控制帮法包括:令该非挥发式存储器载有一个线上编程;将该线上编程载入一数据暂存器,使在该数据暂存器上提供一主固件码、一函式指标结构、以及一安全固件码;且执行该主固件码,由该主固件码透过该函式指标结构呼叫该安全固件码所提供的安全函式,使切换以较高安全层级操作该非挥发式存储器。该安全固件码可采应用程序介面(API),相容其他专案。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1根据本发明一种实施方式图解一数据储存装置100;
图2A为建立可支援安全功能的线上编程(In System Program,ISP)的方法流程图;
图2B图解该线上编程110的产生技术;
图2C图解数据暂存器108上经存储器控制器104填写完成的二进位档,其中函式指标结构(FPS)116内容已完整;
图3更详细图解存储器控制器104对数据暂存器108的使用;以及
图4为流程图,根据本发明一种实施方式说明存储器控制器104如何回应主机106要求的安全操作。
符号说明
100~数据储存装置;
102~快闪存储器;
104~存储器控制器;
106~主机;
108~数据暂存器;
110~线上编程;
112~主固件码;
114~安全固件码;
116~函式指标结构(FPS);
118~主函式地址表;
120~安全函式地址表;
202、204~二进位档;
302~安全函式参数;
BaseFunc#1…BaseFunc#12~主函式地址;
Null~空值;
S12…S16、S402…S412~步骤;且
SecurityFunc#1…SecurityFunc#8~安全函式地址。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。
非挥发式存储器可以是快闪存储器(Flash Memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器为例进行讨论。
现今数据储存装置常以快闪存储器为储存媒体,实现记忆卡(Memory Card)、通用序列汇流排闪存装置(USB Flash Device)、固态硬碟(SSD)…等产品。有一种应用是采多晶片封装、将快闪存储器与其存储器控制器包装在一起─称为嵌入式快闪存储器(如eMMC)。
以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的运算模块可视为一主机(Host),操作所使用的数据储存装置,以存取其中快闪存储器。
以快闪存储器为储存媒体的数据储存装置也可用于建构数据中心。例如,伺服器可操作固态硬碟(SSD)阵列形成数据中心。伺服器即可视为一主机,操作所连结的固态硬碟,以存取其中快闪存储器。
机密数据,例如:个人资讯、密码、移动支付的帐户…等,存在有安全(Security)需求。为了满足安全(Security)需求,数据储存装置在运作上可采用安全机制,以正确地存取机密及非机密数据。安全机制例如是Trustzone,使数据储存装置的运算核心在不同安全层级的领域(Domain)间切换,机密数据被保护于高安全层级的领域中,避免泄漏,一般性数据则被保护于低安全层级的领域中。为了支援或采用安全机制,数据储存装置的固件需进行适当的调整,使安全机制可以正确且顺畅地执行,以提供较佳的使用者体验。
为了加速存取快闪存储器所储存的数据,数据储存装置上通常配置有适当大小的DRAM,以暂存安全机制所对应的安全固件码(Security Firmware Code),加速安全固件码的执行。相反地,在未配置有DRAM或仅配置小容量DRAM的数据储存装置,如何让安全固件码顺畅地执行成为技术上的一门课题。另外,由于不同的数据储存装置可能配置不同规格的硬件,例如,不同规格的存储器控制器,因此,如何以最简便的方式让同一套安全固件码可以在不同的数据储存装置上运作,是技术上的另一门课题。在上述中小容量DRAM又称为部份DRAM(Partial DRAM),表示DRAM的容量无法暂存完整的L2P映射表,或无法暂存完整的安全固件码。
在本发明中安全固件码依其功能或大小而分割成多个安全函式(Function),之后,主固件码(Base Firmware Code)可透过应用程序介面(Application ProgrammingInterface,简称API)而呼叫并执行安全固件码的一个或多个安全函式,进而提供或实现上述的安全机制。不同数据储存装置上的主固件码依据存储器控制器的规格而有所不同,但是,皆能透过相同的应用程序介面而执行安全固件码,进而提供或实现上述的安全机制,使数据储存装置上实现安全机制更为简便且快速。
图1根据本发明一种实施方式图解数据储存装置100。数据储存装置100以快闪存储器102为储存媒体,且具有存储器控制器104。数据储存装置100还可配置小容量DRAM。主机106输出主机指令至存储器控制器104,存储器控制器104再依据主机指令的要求以快闪存储器的操作函式来存取快闪存储器102,例如:快闪存储器的读取函式或写入函式,并回传主机指令的执行结果至主机106。主机指令包括安全性数据存取指令和一般性数据存取指令,安全性数据存取指令乃存取机密性数据,一般性数据存取指令乃存取非机密性数据。存储器控制器104具有数据暂存器108,例如,静态随机存取存储器(SRAM),提供数据随机存取的功能。
快闪存储器102储存有线上编程(In System Program,ISP)110,里面包含主固件码112、安全固件码114、以及应用程序介面,其中,应用程序介面较佳以函式指标结构(Function Pointer Structure,FPS)116来实现,函式指标结构116作为主固件码112以及安全固件码114之间沟通的介面。当数据储存装置100进行初始化时,存储器控制器104读取二进位档中的主固件码以完成初始化。之后,当主机106要求安全操作时,存储器控制器104依据应用程序介面(函式指标结构(FPS)116)而呼叫安全固件码114的安全函式,以执行主机106所要求的安全操作。
函式指标结构116包括主函式地址表118(记录主固件码112的主函式地址)以及安全函式地址表120(记录安全固件码114的安全函式地址)。主固件码112将透过安全函式地址表120而呼叫安全固件码114中的一个或多个安全函式;安全固件码114的安全函式也可透过主函式地址表118而呼叫主固件码112的主函式。
不同规格的数据储存装置100可采用不同的主固件码112,但采用上述的应用程序介面(函式指标结构(FPS)116)以及安全固件码114,即可在数据储存装置100上实现安全机制,无需开发专属的安全固件码,达到本发明的目的。换句话说,程序开发者只需开发主固件码112,并将主固件码112与应用程序介面(函式指标结构(FPS)116)以及安全固件码114予以结合,当需要进行安全操作时,主固件码112即可依据应用程序介面(函式指标结构(FPS)116)来呼叫安全固件码114的安全函式。
图2A为建立可支援安全功能的线上编程(In System Program,ISP)的方法流程图,其中,线上编程可由数据储存装置100的存储器控制器104来执行,以回应来自主机106的主机指令,主机指令包括安全性数据存取指令和一般性数据存取指令。
在步骤S12,对主程序进行编译以产生二进位档202,其中,二进位档202还包括主函式地址表118,主函式地址表118记录主固件码112的主函式地址,主程序置于二进位档202的起始位置。主程序包括回应一般性数据存取指令所需的固件,即主固件码。
在步骤S14,对安全程序进行编译以产生二进位档204,其中,二进位档204还包括安全函式地址表120,安全函式地址表120记录安全固件码114的安全函式地址,并置于二进位档204的起始位置。安全程序包括回应安全性数据存取指令所需的固件,即安全固件码。
图2B所示主函式地址表118的内容加上安全函式地址表120的内容即为函式指标结构116。由于函式指标结构116的大小大于主函式地址表118或安全函式地址表120,因此,除了主函式地址表118或安全函式地址表120,未使用的空间则填入空值Null。例如,函式指标结构116的大小为80B,每笔地址的值为4B,则函式指标结构116可储存20笔地址。主函式地址表118记录12笔主函式的地址,分别为主函式#1~#12(BaseFunc#1~BaseFunc#12)的地址,剩下8笔地址填入空值Null。安全函式地址表120记录8笔安全函式的地址,分别为安全函式#1~#8(SecurityFunc#1~SecurityFunc#8),剩下12笔地址填入空值Null。主函式地址表118或安全函式地址表120在函式指标结构116的起始地址不同。
图2A包括步骤S16,将二进位档202与二进位档204合并成可支援安全功能的线上编程110。一种实施方式是当二进位档202与二进位档204合并时,二进位档204的安全函式地址表120将覆盖二进位档202的主函式地址表118。因此,函式指标结构116中的主函式地址表118的值将被空值Null所覆盖。
当存储器控制器104载入线上编程110并开始执行主固件码112之后,存储器控制器104再逐一填写主函式地址表118的内容,之后,再以主函式地址表118的内容更新线上编程110。
举例说明安全函式呼叫主固件码112的状况。例如,直接存储器存取(DMA)为一种高效率的数据搬移方法,可为主固件码112的主函式之一,存储器控制器104可将直接存储器存取的函式地址填写至主函式地址表118。当安全固件码114的安全函式欲执行直接存储器存取(DMA)时,可透过主函式地址表118所记录的函式地址而呼叫并执行直接存储器存取(DMA)。直接存储器存取(DMA)函式可依据安全函式所输入的起始地址与目的地地址判断出所属的存储器类型,并执行直接存储器存取(DMA),在安全操作下进行大量数据的搬移。
图2C图解数据暂存器108上经存储器控制器104填写完成的线上编程110,此时,存储器控制器104已填写完成主函式地址表118的内容,函式指标结构116内容已完整。
图3更详细图解存储器控制器104对数据暂存器108的使用。由左至右来讨论。数据暂存器108原本可能占满数据。当存储器控制器104收到来自主机106的安全性数据存取指令后,存储器控制器104先释出数据暂存器108的部份空间,例如,将数据暂存器108的部份数据写入至快闪存储器102。接着,存储器控制器104从快闪存储器102中读取主固件码112(可为主程序码的全数或部分)、函式指标结构116以及安全固件码114,并将主固件码112、函式指标结构116以及安全固件码114载入至数据暂存器108。存储器控制器104还可将安全固件码114运作所需要的安全函式参数302载入数据暂存器108。存储器控制器104执行主固件码112,主固件码112透过安全函式地址表120所记录的地址而执行安全固件码114所提供的安全函式。安全固件码114可根据主函式地址表118记录的地址而执行主固件码112所提供的主函式。
图4为本发明可支援安全功能的数据存取方法的流程图,可支援安全功能的数据存取方法较佳由存储器控制器104所执行,以回应来自主机106的主机指令。
步骤S402,存储器控制器104自快闪存储器102读取并执行线上编程110的主固件码112,其中,线上编程110主要包括主固件码112、安全固件码114以及函式指标结构116。存储器控制器104在读取并执行唯读程序码(ROM code)后,接着自快闪存储器102读取线上编程110并将线上编程110载入数据暂存器108,并执行线上编程110。如果数据暂存器108的空间有限,存储器控制器104可分段地读取线上编程110,或仅读取线上编程110的主固件码112,并执行。
步骤S404,存储器控制器104填写线上编程110的函式指标结构116。存储器控制器104于执行线上编程110的主固件码112后,得知主固件码112的主函式的地址,并将主函式的地址填入至函式指标结构116的主函式地址表118。
步骤S406,存储器控制器104设定安全函式参数302。存储器控制器104可设定安全函式参数302的部分内容,例如,目前专案所会用到的安全函式可藉此宣告,使安全程序符合使用者的需求。
步骤S408,存储器控制器104透过函式指标结构116呼叫安全固件码114的安全函式。当收到来自主机106的安全性数据存取指令,存储器控制器104所执行中的主固件码112透过函式指标结构116呼叫安全固件码114的安全函式,以由安全函式来回应安全性数据存取指令。步骤S404~S408主要是由主固件码112所执行,之后,步骤S410主要是由安全固件码114所执行。
步骤S410,存储器控制器104以安全函式参数302执行安全固件码114的安全函式。存储器控制器104可以利用DMA函式或快闪存储器102的操作函式来取得安全函式执行所需的安全函式参数302,再执行安全函式。特别是,在安全固件码114的安全函式的执行过程中,存储器控制器104可以透过函式指标结构116的主函式地址表118而呼叫主固件码112的主函式,主函式例如是DMA函式、快闪存储器102的操作函式等等。
步骤S412,存储器控制器104以安全函式的执行结果来回应来自主机106的安全性数据存取指令。存储器控制器104执行安全固件码114的安全函式,并呼叫且执行主固件码112的主函式以操作快闪存储器102,例如;自快闪存储器102读取机密数据或写入机密数据至快闪存储器102等,再依据快闪存储器102的操作结果,例如:执行成功或失败,来回应来自主机106的安全性数据存取指令。或者,存储器控制器104执行安全固件码114的安全函式,并依据安全性数据存取指令的要求而更新密码、使用者权限等,再呼叫且执行主固件码112的主函式以将更新后密码、使用者权限写入至快闪存储器102,再依据快闪存储器102的操作结果来回应来自主机106的安全性数据存取指令。
在回应来自主机106的安全性数据存取指令之后,存储器控制器104可释出安全固件码114所占用的数据暂存器108空间。其他实施方式中,安全函式参数302有部分内容可暂存在数据暂存器108中,以供主函式使用。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当以权利要求书界定为准。
Claims (20)
1.一种数据储存装置,包括:
一非挥发式存储器;以及
一存储器控制器,根据一主机的要求操作该非挥发式存储器,
其中:
该非挥发式存储器载有一个线上编程;
该存储器控制器将该线上编程载入一数据暂存器,使在该数据暂存器上提供一主固件码、一函式指标结构、以及一安全固件码;且
该存储器控制器执行该主固件码,由该主固件码透过该函式指标结构呼叫该安全固件码所提供的安全函式,使切换以较高安全层级操作该非挥发式存储器。
2.如权利要求1所述的数据储存装置,其特征在于:
该安全固件码采应用程序介面(API),相容多个专案。
3.如权利要求2所述的数据储存装置,其特征在于:
该函式指标结构包括一第一表格以及一第二表格;
该第一表格记载主函式地址;
该第二表格记载安全函式地址;
该主固件码是透过该第二表格呼叫该安全固件码所提供的安全函式;且
透过该第一表格,该安全固件码得以呼叫该主固件码提供的主函式。
4.如权利要求3所述的数据储存装置,其特征在于:
该存储器控制器是在执行该主固件码时填写该第一表格。
5.如权利要求4所述的数据储存装置,其特征在于:
该第二表格存在于取自该非挥发式存储器的该线上编程。
6.如权利要求5所述的数据储存装置,其特征在于:
该主机要求安全操作时,该存储器控制器释出该数据暂存器的空间,储存该主固件码、该函式指标结构、以及该安全固件码;且
上述安全操作结束后,该存储器控制器再次释出该数据暂存器的空间,移除该主固件码、该函式指标结构、以及该安全固件码。
7.如权利要求6所述的数据储存装置,其特征在于:
该存储器控制器还以该主固件码将第一安全函式参数载入该数据暂存器,上述第一安全函式参数与专案相关。
8.如权利要求7所述的数据储存装置,其特征在于:
该存储器控制器执行的安全函式包括将第二安全函式参数载入该数据暂存器,上述第二安全函式参数取自该非挥发式存储器。
9.如权利要求8所述的数据储存装置,其特征在于:
上述第二安全函式参数载入该数据暂存器修正后,是由该存储器控制器以该安全固件码更新回该非挥发式存储器。
10.如权利要求9所述的数据储存装置,其特征在于:
上述第二安全函式参数局部保留于该数据暂存器,不随上述安全操作结束而自该数据暂存器移除。
11.一种非挥发式存储器控制方法,包括:
令该非挥发式存储器载有一个线上编程;
将该线上编程载入一数据暂存器,使在该数据暂存器上提供一主固件码、一函式指标结构、以及一安全固件码;且
执行该主固件码,由该主固件码透过该函式指标结构呼叫该安全固件码所提供的安全函式,使切换以较高安全层级操作该非挥发式存储器。
12.如权利要求11所述的非挥发式存储器控制方法,其特征在于:
该安全固件码采应用程序介面(API),相容多个专案。
13.如权利要求12所述的非挥发式存储器控制方法,其特征在于:
该函式指标结构包括一第一表格以及一第二表格;
该第一表格记载主函式地址;
该第二表格记载安全函式地址;
该主固件码是透过该第二表格呼叫该安全固件码所提供的安全函式;且
透过该第一表格,该安全固件码得以呼叫该主固件码提供的主函式。
14.如权利要求13所述的非挥发式存储器控制方法,其特征在于,还包括:
在执行该主固件码时填写该第一表格。
15.如权利要求14所述的非挥发式存储器控制方法,其特征在于:
该第二表格存在于取自该非挥发式存储器的该线上编程
16.如权利要求15所述的非挥发式存储器控制方法,其特征在于:还包括:
于一主机要求安全操作时,释出该数据暂存器的空间,以储存该主固件码、该函式指标结构、以及该安全固件码;且
上述安全操作结束后,再次释出该数据暂存器的空间,其中移除该主固件码、该函式指标结构、以及该安全固件码。
17.如权利要求16所述的非挥发式存储器控制方法,其特征在于:还包括:
以该主固件码将第一安全函式参数载入该数据暂存器,上述第一安全函式参数与专案相关。
18.如权利要求17所述的非挥发式存储器控制方法,其特征在于:还包括:
以安全函式的执行将第二安全函式参数载入该数据暂存器,上述第二安全函式参数取自该非挥发式存储器。
19.如权利要求18所述的非挥发式存储器控制方法,其特征在于:
上述第二安全函式参数载入该数据暂存器修正后,是以该安全固件码更新回该非挥发式存储器。
20.如权利要求19所述的非挥发式存储器控制方法,其特征在于:
上述第二安全函式参数局部保留于该数据暂存器,不随上述安全操作结束而自该数据暂存器移除。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108115801 | 2019-05-08 | ||
TW108115801A TWI693600B (zh) | 2019-05-08 | 2019-05-08 | 具安全性擴充的資料儲存裝置以及非揮發式記憶體控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111916131A true CN111916131A (zh) | 2020-11-10 |
CN111916131B CN111916131B (zh) | 2022-08-26 |
Family
ID=71896154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910445357.3A Active CN111916131B (zh) | 2019-05-08 | 2019-05-27 | 具安全性扩充的数据储存装置以及非挥发式存储器控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11204700B2 (zh) |
CN (1) | CN111916131B (zh) |
TW (1) | TWI693600B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326207A1 (en) * | 2012-05-31 | 2013-12-05 | Marvell World Trade Ltd. | Implementing security functions using rom |
CN104217139A (zh) * | 2013-05-29 | 2014-12-17 | Nxp股份有限公司 | 处理系统 |
US20160125187A1 (en) * | 2014-11-03 | 2016-05-05 | Rubicon Labs, Inc. | System and Method for a Renewable Secure Boot |
CN109388953A (zh) * | 2017-08-02 | 2019-02-26 | 三星电子株式会社 | 安全设备、电子设备和操作电子设备的方法 |
EP3462353A1 (en) * | 2017-09-29 | 2019-04-03 | Solarflare Communications Inc | Network interface device and method |
US20190129638A1 (en) * | 2017-10-26 | 2019-05-02 | Redpine Signals, Inc. | Memory interface for a Secure NOR Flash Memory |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7603562B2 (en) * | 2005-02-02 | 2009-10-13 | Insyde Software Corporation | System and method for reducing memory requirements of firmware |
TWI494849B (zh) | 2013-05-06 | 2015-08-01 | Phison Electronics Corp | 韌體碼載入方法、記憶體控制器與記憶體儲存裝置 |
US10175964B2 (en) * | 2014-09-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Compiler caching for runtime routine redundancy tracking |
US10958435B2 (en) * | 2015-12-21 | 2021-03-23 | Electro Industries/ Gauge Tech | Providing security in an intelligent electronic device |
US10191852B2 (en) * | 2016-02-29 | 2019-01-29 | Apple Inc. | Methods and apparatus for locking at least a portion of a shared memory resource |
-
2019
- 2019-05-08 TW TW108115801A patent/TWI693600B/zh active
- 2019-05-27 CN CN201910445357.3A patent/CN111916131B/zh active Active
- 2019-07-11 US US16/508,501 patent/US11204700B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326207A1 (en) * | 2012-05-31 | 2013-12-05 | Marvell World Trade Ltd. | Implementing security functions using rom |
CN104217139A (zh) * | 2013-05-29 | 2014-12-17 | Nxp股份有限公司 | 处理系统 |
US20160125187A1 (en) * | 2014-11-03 | 2016-05-05 | Rubicon Labs, Inc. | System and Method for a Renewable Secure Boot |
CN109388953A (zh) * | 2017-08-02 | 2019-02-26 | 三星电子株式会社 | 安全设备、电子设备和操作电子设备的方法 |
EP3462353A1 (en) * | 2017-09-29 | 2019-04-03 | Solarflare Communications Inc | Network interface device and method |
US20190129638A1 (en) * | 2017-10-26 | 2019-05-02 | Redpine Signals, Inc. | Memory interface for a Secure NOR Flash Memory |
Also Published As
Publication number | Publication date |
---|---|
US11204700B2 (en) | 2021-12-21 |
TWI693600B (zh) | 2020-05-11 |
TW202042234A (zh) | 2020-11-16 |
CN111916131B (zh) | 2022-08-26 |
US20200356284A1 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100565454C (zh) | 用于从非易失性应用程序和文件存储设备启动的系统和方法 | |
CN101266829B (zh) | 存储卡、包含存储卡的存储系统及存储卡的操作方法 | |
KR102372888B1 (ko) | 저장 장치의 온도별 데이터 관리 방법 | |
US20160048459A1 (en) | Operation method of memory controller and nonvolatile memory system including the memory controller | |
US11467768B2 (en) | Data storage device for storing boot partition data read from memory device in buffer memory and method of operating the same | |
US11537316B2 (en) | Data storage device for storing data in sequential data area and method of operating the same | |
KR102233400B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20080112792A (ko) | 플래시 메모리 장치를 포함하는 메모리 시스템 | |
KR20190120573A (ko) | 메모리 시스템, 데이터 처리 시스템 및 메모리 시스템의 동작 방법 | |
US11461226B2 (en) | Storage device including memory controller | |
CN110647359B (zh) | 半导体装置、其操作方法和具有其的层叠存储装置 | |
KR20200123850A (ko) | 하이브리드 메모리 시스템 | |
US11714656B2 (en) | Memory system executing loading of software at startup and control method | |
KR20220045764A (ko) | 저장 장치 및 그 동작 방법 | |
CN109783008A (zh) | 数据存储装置及其操作方法 | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
KR102596964B1 (ko) | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 | |
CN108701080A (zh) | 使用参考值确保存储设备动作有效 | |
KR20200117032A (ko) | 하이브리드 메모리 시스템 | |
CN111916131B (zh) | 具安全性扩充的数据储存装置以及非挥发式存储器控制方法 | |
KR20190106005A (ko) | 메모리 시스템, 그것의 동작 방법 및 전자 장치 | |
CN113805792A (zh) | 存储器系统及其操作方法 | |
KR20210025836A (ko) | 메모리 컨트롤러, 이를 포함하는 저장 장치 및 메모리 컨트롤러의 동작 방법 | |
US20170083235A1 (en) | Device capable of using external volatile memory and device capable of releasing internal volatile memory | |
US20140098601A1 (en) | Main memory system storing operating system program and computer system including the same |
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 |